CN101295267A - 队列管理方法和装置、计算机系统及计算机可读介质 - Google Patents

队列管理方法和装置、计算机系统及计算机可读介质 Download PDF

Info

Publication number
CN101295267A
CN101295267A CN 200810110324 CN200810110324A CN101295267A CN 101295267 A CN101295267 A CN 101295267A CN 200810110324 CN200810110324 CN 200810110324 CN 200810110324 A CN200810110324 A CN 200810110324A CN 101295267 A CN101295267 A CN 101295267A
Authority
CN
China
Prior art keywords
subqueue
team
queue
joining
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200810110324
Other languages
English (en)
Other versions
CN101295267B (zh
Inventor
蒋宇智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing ZTE New Software Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200810110324 priority Critical patent/CN101295267B/zh
Publication of CN101295267A publication Critical patent/CN101295267A/zh
Application granted granted Critical
Publication of CN101295267B publication Critical patent/CN101295267B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种队列管理方法,应用于包括队列管理器的计算机系统,包括:在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,其中,预先设置子队列存储的数据量的阈值;对当前入队子队列执行数据入队操作,在当前入队子队列满时,新建子队列,将新建的子队列作为当前入队子队列,对当前入队子队列执行数据入队操作;对当前出队子队列执行数据出队操作,在当前出队子队列空,并且存在后续子队列的情况下,对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队。本发明还提供队列管理装置、计算机系统及计算机可读介质。本发明降低了时间复杂度,提高了系统性能。

Description

队列管理方法和装置、计算机系统及计算机可读介质
技术领域
本发明涉及计算机领域,尤其涉及一种队列管理方法和装置、以及一种计算机系统及计算机可读介质。
背景技术
在业务应用中使用队列技术传递数据的时候,在数据的传输的速度大于数据接收速度的情况下,中间的队列将产生积压,当积压到几百或者几千数量级的时候,使用普通的队列是可以进行处理的。
但是,在数据增加到10万级别甚至更高级别的情况下,时间复杂度会以非线形高速增加,严重影响了业务系统的性能。以一台普通计算机PC上的测试数据为例,表1示出了使用现有技术操作队列的数据量与时间复杂度之间的关系示意图。
表1现有技术操作队列的数据量与时间复杂度之间的关系
数据量  出入队列时间(豪秒)  数据复杂度  时间复杂度
1000    16                  1           1
5000    62                  5           3.875
10000   188                 10          11.75
50000   2390                50          149.375
100000   7844                100         490.25
200000   99733               200         6233.3125
300000   296170              300         18510.625
从表1可以看出,当数据超过5万以后,时间消耗呈高速增长趋势,对系统的性能造成了极大的影响。
而且,通过分析JAVA中使用VECTOR的原代码可以发现,目前的实现机制是基于数据来实现的,如果删除先进队列操作,会进行array copy(队列复制)的操作,而且队列(element Count)越大,该操作对象(num Moved)越大。其中,代码的片段如下所示:
int numMoved=elementCount-index-1;
if(numMoved>0)
System.arraycopy(elementData,index+1,elementData,index)
综上所述,可以看出,数据越大,时间复杂度越大,例如,如果有100万个数据的时候,每出队一次,array copy需要对(100万-1)个数据进行操作,导致了出队性能急剧下降。
发明内容
考虑到相关技术中存在的上述问题而提出本发明,为此,本发明的主要目的在于提供一种队列管理方法及装置,以解决上述问题。
根据本发明的一个方面,提供了一种队列管理方法,应用于包括队列管理器的计算机系统。
根据本发明实施例的队列管理方法包括:在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,其中,预先设置子队列存储的数据量的阈值;对当前入队子队列执行数据入队操作,在当前入队子队列满时,新建子队列,将新建的子队列作为当前入队子队列,对当前入队子队列执行数据入队操作;对当前出队子队列执行数据出队操作,在当前出队子队列空,并且存在后续子队列的情况下,对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队。
优选地,该方法还包括:设置入队列句柄,并使用入队列句柄来标识当前入队子队列。
优选地,该方法还包括:设置出队列句柄,并使用出队列句柄来标识当前出队子队列。
优选地,该方法还包括:对于存储的数据量达到阈值,且未执行出队操作的子队列,设置为在父队列中排队。
其中,在当前出队子队列空,并且不存在后续子队列的情况下,父队列为空。
根据本发明的另一方面,提供了一种队列管理装置。
根据本发明的实施例的队列管理装置包括:创建模块,用于在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,并且在当前入队子队列满时,新建子队列,并将新建的子队列作为当前入队子队列;设置模块,用于设置父队列中创建的子队列存储的数据量的阈值;入队管理模块,用于对当前入队子队列执行数据入队操作;出队管理模块,用于对当前出队子队列执行数据出队操作。
其中,入队管理模块包括入队列句柄,其中,使用入队列句柄来标识当前入队子队列;出队管理模块包括出队列句柄,其中,使用出队列句柄来标识当前出队子队列。
其中,在当前出队子队列空,并且存在后续子队列的情况下,出队管理模块对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队。
优选地,排队管理模块用于对存储的数据量达到阈值,且未执行出队操作的子队列在父队列中进行排队管理。
根据本发明的另一方面,提供了一种计算机系统,该计算机系统中包括本发明实施例提供的队列管理装置。
根据本发明的另一方面,提供了一种计算机可读介质。
根据本发明实施例的计算机可读介质上存储有一组指令,当一组指令被一个或多个处理器执行时,使一个或多个处理器执行以下操作:在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,其中,预先设置子队列存储的数据量的阈值;对当前入队子队列执行数据入队操作,在当前入队子队列满时,新建子队列,将新建的子队列作为当前入队子队列,对当前入队子队列执行数据入队操作;对当前出队子队列执行数据出队操作,在当前出队子队列空,并且存在后续子队列的情况下,对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队。
其中,通过设置入队列句柄来标识当前入队子队列,通过设置出队列句柄来标识当前出队子队列。
通过本发明的上述至少一个技术方案,通过对队列进行管理,降低了时间复杂度,提高了系统性能。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明方法实施例的队列管理方法的流程图;
图2是根据本发明方法实施例的队列管理方法的详细处理流程图;
图3是根据本发明方法实施例的数据结构的示意图;
图4是根据本发明方法实施例的构造初始队列的流程图;
图5是根据本发明实施例的调用入队子队列的流程图;
图6是根据本发明实施例的调用出队子队列的流程图;
图7是根据本发明实施例的队列管理装置的示意图;
图8是示出可以实施本发明的实施例的计算机系统的框图。
具体实施方式
功能概述
本发明涉及使用子队列进行队列管理的方法、装置、系统及计算机程序产品,通过在队列中增加子队列,使得数据进入子队列排队,从而可以控制每个队列的大小,队列越小,每次arraycopy操作数量越小,从而提高了出队的性能。
方法实施例
根据本发明实施例,提供了一种队列管理方法。图1是根据本发明实施例的队列管理方法的流程图,如图1所示,该方法包括以下步骤:
步骤S102,在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,其中,预先设置子队列存储的数据量的阈值;
步骤S104,对当前入队子队列执行数据入队操作,在当前入队子队列满时,新建子队列,将新建的子队列作为当前入队子队列,对当前入队子队列执行数据入队操作;
步骤S106,对当前出队子队列执行数据出队操作,在当前出队子队列空,并且存在后续子队列的情况下,对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队,而在当前出队子队列空,并且不存在后续子队列的情况下,判断父队列为空。
通过本发明实施例提供的技术方案,通过减少每次出队列操作时需要进行队列复制数据的个数,降低了时间复杂度,提高了系统性能。
优选地,该方法还包括:设置入队列句柄和出队列句柄,并使得入队列句柄始终指向当前入队子队列,使得出队列句柄始终指向当前出队子队列。即,通过设置入队列句柄来标识当前入队子队列,通过设置出队列句柄来标识当前出队子队列。
优选地,该方法还包括:对于存储的数据量达到阈值,且未执行出队操作的子队列,设置为在父队列中排队。也就是说,在父队列中排队的子队列,都是满的子队列。
基于上述内容,图2给出了根据本发明方法实施例的队列管理实现方法的详细处理流程,如图2所示,包括:
步骤S201,创建父队列,在队列初始化的同时创建第一个子队列;
步骤S202,设置子队列中可以存储数据量的最大值N(即,上文的阈值),其中,N可以为系统默认值;
设置入队列句柄和出队列句柄,其中,入队列句柄始终指向当前入队子队列,出队列句柄始终指向当前出队子队列;
步骤S203,业务系统中的数据开始进入子队列时,首先进入创建的第一个子队列中,该第一子队列为当前入队子对列,入队列句柄指向第一子队列;
步骤S204,业务系统中数据入队列时,如果正在进行入队列操作的子队列中存储的数据量达到最大值N,则新建子队列,数据进入新建子队列中,该新建子队列为当前入队子队列,入队列句柄指向该新建子队列,如此往复;
步骤S205,业务系统中数据出队列时,上述第一个子队列中存储的数据首先出队列,该第一子队列为当前出队子对列,出队列句柄指向第一子队列;
步骤S206,业务系统中数据出队列时,如果第一个子队列中的数据为空时,释放第一子队列的内存,并将与第一子队列相邻的下一个子队列作为当前出队子队列,该当前出队子队列执行出队操作,出队列句柄指向该当前出队子队列,如此往复;
步骤S207,如果当前出队子队列为空,且该当前出队子队列为父队列中唯一的子队列时,则代表父队列目前为空,没有数据的传输与发送。
图3是根据本发明方法实施例的数据结构的示意图,结合图3所示的数据结构,描述如下:
301所示为父队列,其中,父队列在该数据结构中是唯一的,如上文所述,父队列中包括一个或多个子队列;
302为入队列句柄,通过此句柄指示正在进行入队操作的子队列;
303为正在进行入队操作的子队列,该子队列中存储的数据量未达到最大值;
304,如果入队列句柄所指向的子队列中存储的数据量达到最大值,则构造新的子队列;
305为正在等待进行出队操作子队列,这些子队列中存储的数据量都已经达到最大值;
306为出队列句柄,通过此句柄指示正在进行出队操作的子队列;
307为正在进行出队操作的子队列;
308为处理完出队操作的子队列,如果该子队列后面还有子队列排队,则将处理完出队操作的子队列进行销毁,并释放其内存。
基于上述内容,以下分别结合附图描述本发明实施例中构造初始队列、调用入队列、调用出队列的过程。
(一)构造新的队列对象
图4是根据本发明方法实施例的构造初始队列的流程图,如图4所示,该方法包括以下步骤:
步骤S401,构造新的队列对象;
步骤S402,构造父队列;
步骤S403,构造第一个子队列,并将该子队列加入到父队列;
步骤S404,构造入队列句柄,让其指向第一个子队列;
步骤S405,构造出队列句柄,让其指向第一个子队列;
步骤S406,构造结束。
(二)调用入队列
图5是根据本发明方法实施例的调用入队子队列的流程图,如图5所示,该方法包括以下步骤:
步骤S501,数据调用入队列函数;
步骤S502,通过入队列句柄找到正在进行入队操作的子队列,并将数据加入到该子队列中;
步骤S503,正在进行入队操作的子队列中的数据量增加;
步骤S504,判断正在进行入队操作的子队列中的数据量是否达到最大值;
步骤S505,如果正在进行入队操作的子队列中的数据量达到最大值,构造一个新的子队列,并将该新的子队列加入到父队列中;
步骤S506,入队句柄指向新的子队列;
步骤S507,返回成功。
(三)调用出队列
图6是根据本发明方法实施例的调用入队子队列的流程图,如图6所示,该方法包括以下步骤:
步骤S601,数据调用出队列函数;
步骤S602,查看出队列句柄所指向的子队列是否为空;
步骤S603,如果出队列句柄所指向的子队列为空,判断父队列中的子队列数是否大于1个;
步骤S604,如果父队列中的子队列数大于1,则销毁上述为空的子队列,并取出接下来的子队列;
步骤S605,出队列句柄指向与上述空子队列相邻的子队列,该子队列进行出队操作;
步骤S606,从正在进行出队操作的子队列中取出数据;
步骤S607,正在进行出队操作的子队列中的数据量减少;
之后,返回数据。
需要说明的是,为了便于描述,使用了步骤号,但是不应认为是对本发明的任何限制或限定。
装置实施例
根据本发明实施例,提供了一种队列管理装置,图7是根据本发明实施例的队列管理装置的示意图,如图7所示,该装置包括:
创建模块10,用于在父队列中创建一个子队列,将创建的子队列作为当前入队子队列和当前出队子队列,并且在当前入队子队列满时,新建子队列,并将新建的子队列作为当前入队子队列;
设置模块20,用于设置父队列中创建的子队列存储的数据量的阈值;
入队管理模块30,用于对当前入队子队列执行数据入队操作;
出队管理模块40,用于对当前出队子队列执行数据出队操作。其中,在当前出队子队列空,并且存在后续子队列的情况下,出队管理模块40对当前出队子队列的下一子队列执行数据出队操作,释放当前出队子队列,并将下一子队列作为当前出队子列队。而在当前出队子队列空,并且不存在后续子队列的情况下,判断父队列为空,不再进行出队操作。
其中,入队管理模块30包括入队列句柄,其中,使用入队列句柄来标识当前入队子队列;类似地,出队管理模块40包括出队列句柄,其中,使用出队列句柄来标识当前出队子队列。
优选地,该装置还包括排队管理模块(图中未示出),用于对存储的数据量达到阈值,且未执行出队操作的子队列在父队列中进行排队管理。
通过本发明实施例提供的队列管理装置,通过减少每次出队列操作时需要进行队列复制数据的个数,降低了时间复杂度,提高了系统性能。
另外,本发明实施例还提供了一种计算机系统,该系统包括本发明装置实施例中提供的队列管理装置,这里提到的计算机系统包括但不限于用于对电子数据进行操作的一个或多个软件模块、一个或多个硬件模块、或者其组合。例如,计算机即同包括个人计算机的硬件组件、以及诸如个人计算机操作系统的软件模块,也包括通过网络耦合的一个或多个计算机。
此外,根据本发明实施例,还提供了一种在其上存储有一组指令的计算机可读介质,当所述一组指令被一个或多个处理器执行时,使所述一个或多个处理器执行图1所示的以下操作以及图3到图5的其他操作:
在父队列中创建一个子队列,将创建的所述子队列作为当前入队子队列和当前出队子队列,其中,预先设置所述子队列存储的数据量的阈值;
对所述当前入队子队列执行数据入队操作,在所述当前入队子队列满时,新建子队列,将新建的所述子队列作为当前入队子队列,对所述当前入队子队列执行数据入队操作;
对所述当前出队子队列执行数据出队操作,在所述当前出队子队列空,并且存在后续子队列的情况下,对所述当前出队子队列的下一子队列执行数据出队操作,释放所述当前出队子队列,并将所述下一子队列作为当前出队子列队。
基于以上描述,图8给出了可以执行本发明的实施例的计算机系统800的框图。计算机系统800包括用于传递信息的总线802或其它通信装置以及用于处理信息的与总线802连接的处理器804。计算机系统300还包括诸如随机访问存储器(RAM)或者其它动态存储装置的主存储器806,其连接至总线802用于储存信息和将由处理器804执行的指令。在执行将由处理器304执行的指令期间,主存储器806还可用于储存临时变量或其他中间信息。计算机系统800进一步包括只读存储器(ROM)808或连接至总线802的其他静态存储装置,用于存储静态信息和处理器804的指令。提供诸如磁盘或光盘的存储设备810,并连接至总线802用于存储信息和指令。
计算机系统800可以经由总线802连接至诸如阴极射线管(CRT)的显示器812,用于向计算机用户显示信息。包括字母数字键和其他键的输入装置814连接至总线802,用于将信息和指令选择传递到处理器804。另一种类型的用户输入装置是光标控制816,诸如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传递到处理器804并用于控制显示器812上的光标移动。输入装置通常在两个轴上(第一个轴(例如X轴)和第二个轴(例如Y轴))具有两个自由度,使装置能指定平面上的位置。
如上所述,本发明涉及计算机系统800的使用,用于执行在此描述的技术。根据本发明的一个实施例,通过计算机系统800响应于执行包括在主存储器806中的一个或多个指令的一个或多个序列的处理器804,来实现上述技术。这样的指令可以从诸如存储装置810的其它计算机可读介质读入主存储器806。执行包括在主存储器806中的指令序列,可以使得处理器304执行本发明实施例中描述的处理步骤。在可选实施例中,可以使用硬连线电路(hard-wiredcircuitry)来取代软件指令或者与软件指令结合来实施该发明。因此,本发明的实施例将不限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读介质”是指参与向处理器804提供指令用于执行的任何介质。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质、和传递介质。非易失性介质举例来说包括光盘或磁盘,诸如存储装置810。易失性介质包括动态存储器,诸如主存储器806。传输介质包括同轴电缆、铜线、和光纤,包括组成总线802的导线。传输介质还可采取声波或光波形式,例如那些在无线电波和红外线数据通信过程中产生的声波和光波。
通常形式的计算机可读介质包括如软盘、软性盘、硬盘、磁带,或者任何其它磁性介质、CD-ROM、任何其它光介质、打孔纸、纸带、或者任何带孔图样的物理介质、RAM、PROM、EPROM、FLASH-EPROM、或者其他任何存储芯片或者盒式磁带,或者以下提到的载波、或者计算机可读的任何其他介质。
各种形式的计算机可读介质可参与将一个或者多个指令的一个或多个序列承载到处理器804用于执行。例如,指令开始可承载在远程计算机的磁盘中。远程计算机可以将指令加载到其动态存储器中,然后使用调制解调器通过电话线发送指令。计算机系统800本地的调制解调器可接收电话线上的数据,并使用红外发射器将数据转换成红外信号。红外探测器可以接收红外信号携带的数据,并且合适的电路可以将数据放到总线802上。总线802将数据承载到主存储器806,处理器804从主存储器取回并执行这些指令。在由处理器804执行这些指令之前或之后,由主存储器806接收的指令可随意地储存在存储装置810上。
计算机系统800还包括连接至总线802的通信接口818。提供双向数据通信的通信接口818,连接到与局域网822连接的网络链路820。例如,通信接口818可以是综合业务数字网(ISDN)卡或者调制解调器,用于提供到相应类型的电话线的数据通信连接。又如,通信接口818可以是局域网(LAN)卡,用于提供至兼容局域网(LAN)的数据通信连接。也可以使用无线链路。在任何这样的实施中,通信接口818发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号、和光学信号。
网络链路820通常可通过一个或者多个网络向其它数据装置提供数据通信。例如,网络链路820可通过局域网822与主机824连接,或者与互联网服务提供商(ISP)826操作的数据设备连接。ISP826又通过目前通称为“互联网”828的全球分组数据通信网络提供数据通信服务。局域网822和互联网828都使用承载数字数据流的电信号、电磁信号、或光学信号。通过各种网络的信号和网络链路820上的信号以及通过通信接口818的信号,都传送数字数据给计算机系统800或者传送来自计算机系统的数字数据,是传输信息的载波的示例性形式。
计算机系统800能通过网络、网络链路820、和通信接口818发送消息和接收数据(包括程序代码)。在互联网的实例中,服务器730可通过互联网828、ISP 826、局域网822、和通信接口818,传送用于应用程序的所请求的程序代码。
所接收的代码可以在其被接收时由处理器804执行,和/或储存在存储装置810或者其它非易失性介质中用于随后执行。按照这种方式,计算机系统800可以以载波的形式获得应用代码。
最后,表2给出了通过本发明实施例实现的操作队列的数据量与时间复杂度之间的关系示意图,可以看出,与表1相比,采用本发明实施例提供的队列管理方法,减少了数据出入队列的时间,极大地降低了数据的复杂度及时间复杂度。例如,在有100万数据的时候,出队一次,arraycopy需要对100万-1的数据进行操作。如果使用现有方法,当子队列最大数设置为10000的时候,在100万数据出队只进行对1万-1的数据进行操作,大大降低了系统消耗。
表2本发明的操作队列的数据量与时间复杂度之间的关系
数据量  出入队列时间(豪秒)  数据复杂度  时间复杂度
1000    16                  1                 1
5000    62                  5                 3.875
10000   63                  10                3.9375
50000   350                 50                21.875
100000  406                 100               25.375
200000  1562                200               97.625
300000  1234                300               77.125
1000000 4656                1000              291
如上所述,借助于本发明提供的队列管理方法和装置、以及一种计算机系统及计算机可读介质,通过减少每次出队列操作时进行队列复制数据的个数,降低了时间复杂度,提高了系统性能。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种队列管理方法,应用于包括队列管理器的计算机系统,其特征在于,所述方法包括:
在父队列中创建一个子队列,将创建的所述子队列作为当前入队子队列和当前出队子队列,其中,预先设置所述子队列存储的数据量的阈值;
对所述当前入队子队列执行数据入队操作,在所述当前入队子队列满时,新建子队列,将新建的所述子队列作为当前入队子队列,对所述当前入队子队列执行数据入队操作;
对所述当前出队子队列执行数据出队操作,在所述当前出队子队列空,并且存在后续子队列的情况下,对所述当前出队子队列的下一子队列执行数据出队操作,释放所述当前出队子队列,并将所述下一子队列作为当前出队子列队。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
设置入队列句柄,并使用所述入队列句柄来标识所述当前入队子队列。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
设置出队列句柄,并使用所述出队列句柄来标识所述当前出队子队列。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
对于存储的数据量达到所述阈值,且未执行出队操作的子队列,设置为在所述父队列中排队。
5.根据权利要求1所述的方法,其特征在于,在所述当前出队子队列空,并且不存在后续子队列的情况下,所述父队列为空。
6.一种队列管理装置,其特征在于,包括:
创建模块,用于在父队列中创建一个子队列,将创建的所述子队列作为当前入队子队列和当前出队子队列,并且在所述当前入队子队列满时,新建子队列,并将新建的所述子队列作为当前入队子队列;
设置模块,用于设置父队列中创建的子队列存储的数据量的阈值;
入队管理模块,用于对所述当前入队子队列执行数据入队操作;
出队管理模块,用于对所述当前出队子队列执行数据出队操作。
7.根据权利要求6所述的装置,其特征在于,
所述入队管理模块包括入队列句柄,其中,使用所述入队列句柄来标识所述当前入队子队列;
所述出队管理模块包括出队列句柄,其中,使用所述出队列句柄来标识所述当前出队子队列。
8.根据权利要求7所述的装置,其特征在于,在所述当前出队子队列空,并且存在后续子队列的情况下,所述出队管理模块对所述当前出队子队列的下一子队列执行数据出队操作,释放所述当前出队子队列,并将所述下一子队列作为当前出队子列队。
9.根据权利要求7所述的装置,其特征在于,排队管理模块,用于对存储的数据量达到所述阈值,且未执行出队操作的子队列在所述父队列中进行排队管理。
10.一种计算机系统,包括根据权利要求6至9中任一项所述的队列管理装置。
11.一种在其上存储有一组指令的计算机可读介质,当所述一组指令被一个或多个处理器执行时,使所述一个或多个处理器执行以下操作:
在父队列中创建一个子队列,将创建的所述子队列作为当前入队子队列和当前出队子队列,其中,预先设置所述子队列存储的数据量的阈值;
对所述当前入队子队列执行数据入队操作,在所述当前入队子队列满时,新建子队列,将新建的所述子队列作为当前入队子队列,对所述当前入队子队列执行数据入队操作;
对所述当前出队子队列执行数据出队操作,在所述当前出队子队列空,并且存在后续子队列的情况下,对所述当前出队子队列的下一子队列执行数据出队操作,释放所述当前出队子队列,并将所述下一子队列作为当前出队子列队。
12.根据权利要求11所述的计算机可读介质,其特征在于,
通过设置入队列句柄来标识所述当前入队子队列,通过设置出队列句柄来标识所述当前出队子队列。
CN 200810110324 2008-05-30 2008-05-30 队列管理方法和装置、计算机系统及计算机可读介质 Expired - Fee Related CN101295267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810110324 CN101295267B (zh) 2008-05-30 2008-05-30 队列管理方法和装置、计算机系统及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810110324 CN101295267B (zh) 2008-05-30 2008-05-30 队列管理方法和装置、计算机系统及计算机可读介质

Publications (2)

Publication Number Publication Date
CN101295267A true CN101295267A (zh) 2008-10-29
CN101295267B CN101295267B (zh) 2013-01-16

Family

ID=40065564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810110324 Expired - Fee Related CN101295267B (zh) 2008-05-30 2008-05-30 队列管理方法和装置、计算机系统及计算机可读介质

Country Status (1)

Country Link
CN (1) CN101295267B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012009934A1 (zh) * 2010-07-20 2012-01-26 中兴通讯股份有限公司 一种自扩展的联机交易系统及其实现方法
CN107004251A (zh) * 2014-12-18 2017-08-01 英特尔公司 在中央处理单元(cpu)与辅助处理器之间的改进的函数回调机制
CN111338810A (zh) * 2018-12-19 2020-06-26 北京京东尚科信息技术有限公司 用于存储信息的方法和装置
EP4094145A4 (en) * 2020-01-31 2023-08-02 Zeku, Inc. SUB-QUEUE INSERT PROGRAM EXECUTABLE BY QUEUE HANDLERS AND ASSOCIATED SYSTEMS AND OPERATIONS

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003101A (en) * 1998-07-15 1999-12-14 International Business Machines Corp. Efficient priority queue
US6907479B2 (en) * 2001-07-18 2005-06-14 Integrated Device Technology, Inc. Integrated circuit FIFO memory devices that are divisible into independent FIFO queues, and systems and methods for controlling same
US7631315B2 (en) * 2005-03-28 2009-12-08 Microsoft Corporation Using subqueues to enhance local message processing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012009934A1 (zh) * 2010-07-20 2012-01-26 中兴通讯股份有限公司 一种自扩展的联机交易系统及其实现方法
CN107004251A (zh) * 2014-12-18 2017-08-01 英特尔公司 在中央处理单元(cpu)与辅助处理器之间的改进的函数回调机制
US10706496B2 (en) 2014-12-18 2020-07-07 Intel Corporation Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor
CN111338810A (zh) * 2018-12-19 2020-06-26 北京京东尚科信息技术有限公司 用于存储信息的方法和装置
EP4094145A4 (en) * 2020-01-31 2023-08-02 Zeku, Inc. SUB-QUEUE INSERT PROGRAM EXECUTABLE BY QUEUE HANDLERS AND ASSOCIATED SYSTEMS AND OPERATIONS

Also Published As

Publication number Publication date
CN101295267B (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
CN111080275B (zh) 跨区域资源转移方法、装置、设备及存储介质
US8116444B2 (en) System and method of publishing contact information
WO2016169450A1 (zh) 资源发放系统、资源发放方法及资源领取方法
US20090275307A1 (en) Mobile Communications Facilitated by Interactive Menus
CN101784983A (zh) 单轴窗口管理器
CN101146056A (zh) 一种表情图标的显示方法及系统
CN105306349A (zh) 一种路由处理方法和系统
US20090003579A1 (en) Apparatus and method for providing call deflection
CN105049336A (zh) 即时通信消息的处理方法、服务器、客户端及系统
CN101295267B (zh) 队列管理方法和装置、计算机系统及计算机可读介质
CN102045265A (zh) 一种用于信息交互的装置和方法
CN105989463A (zh) 基于即时通讯工具的支付方法及装置
CN102333164A (zh) 一种基于b/s构架的呼叫系统的来电弹屏方法
CN100479552C (zh) 文本消息通话的用户界面的功能性
CN107506200A (zh) 一种屏幕内容切换方法、终端及计算机可读存储介质
CN106888264A (zh) 一种数据交换方法和装置
US20100138913A1 (en) Message administration system
CN104333515B (zh) 一种swift报文处理方法及装置
CN106411718A (zh) 一种基于即时通信应用的数据同步方法及装置
CN101018409A (zh) 消息处理设备、系统及方法
CN102024235A (zh) 业务流程生成系统及应用服务提供系统
CN108521364A (zh) 公司内部即时通讯应用的红包发放方法及装置
CN107391702A (zh) 语音消息转存方法、移动终端及计算机可读存储介质
CN101656686A (zh) 一种在在线客服里面提供保存用户信息的方法
CN107995009A (zh) 一种消息群发系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NANJING ZHONGXING NEW SOFTWARE CO., LTD

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20150521

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 210012 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150521

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

Termination date: 20160530