CN116302429A - 任务队列处理方法、装置、可读存储介质及电子设备 - Google Patents
任务队列处理方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN116302429A CN116302429A CN202310272984.8A CN202310272984A CN116302429A CN 116302429 A CN116302429 A CN 116302429A CN 202310272984 A CN202310272984 A CN 202310272984A CN 116302429 A CN116302429 A CN 116302429A
- Authority
- CN
- China
- Prior art keywords
- task information
- task
- priority
- subset
- queue
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种任务队列处理方法、装置、计算机可读存储介质、电子设备及计算机程序产品,其中,该方法包括:接收待入队任务信息;确定预设的任务队列是否符合存储条件;若不符合存储条件,从任务队列中确定最小优先级任务信息集合;若待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃;若待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息从任务队列中移除;将待入队任务信息加入任务队列中的对应优先级的任务信息集合。本公开实施例提高了内存资源的利用率,有助于提高多任务处理的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其是一种任务队列处理方法、装置、计算机可读存储介质、计算机程序产品及电子设备。
背景技术
随着计算机技术互联网技术的发展,越来越多的业务通过线上应用系统处理,极大方便了用户的业务需求。在实际应用中,由于用户的数量比较多、业务类型也比较多,应用系统通常采用多线程的方式获取任务,再通过与数据库的交互来实现任务。
由于存储任务信息的内存空间的容量是有限的,在该内存空间已满的情况下,通常需要将待存入内存的任务信息丢弃,造成一些重要性更高的任务无法执行。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种任务队列处理方法、装置、计算机可读存储介质、电子设备及计算机程序产品。
本公开的实施例提供了一种任务队列处理方法,该方法包括:接收待入队任务信息,待入队任务信息对应一个优先级;确定预设的任务队列是否符合存储条件,其中,任务队列包括至少一个任务信息集合,至少一个任务信息集合中的任务信息集合分别对应一个优先级;响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合;响应于确定待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃;响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息从任务队列中移除;将待入队任务信息加入任务队列中的对应优先级的任务信息集合。
在一些实施例中,至少一个任务信息集合中的任务信息集合分别包括至少一个任务信息子集,至少一个任务信息子集中的任务信息子集分别包括对应类型的至少一个任务信息;从最小优先级任务信息集合中确定可移除任务信息,包括:从最小优先级任务信息集合中的至少一个任务信息子集中,确定预先设置的子集标识指示的任务信息子集作为可移除任务信息子集;将最后加入可移除任务信息子集的任务信息确定为可移除任务信息;从最小优先级任务信息集合中的至少一个任务信息子集中,重新确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
在一些实施例中,在将可移除任务信息从任务队列中移除之后,该方法还包括:响应于确定最小优先级任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集;将子集标识设置为指示重新确定的可移除任务信息子集。
在一些实施例中,在确定预设的任务队列是否符合存储条件之后,该方法还包括:响应于确定任务队列符合存储条件,从任务队列中的与待入队任务信息的优先级对应的任务信息集合中,确定与待入队任务信息的类型对应的任务信息子集;将待入队任务信息加入与待入队任务信息的类型对应的任务信息子集;响应于确定待入队任务信息的优先级小于最小优先级任务信息集合的优先级,将子集标识设置为指示待入队任务信息所在的任务信息子集。
在一些实施例中,该方法还包括:响应于接收到用于指示从任务队列中提取目标任务信息的指令,从目标任务信息所属的目标任务信息子集中提取目标任务信息;响应于确定目标任务信息子集为子集标识当前指示的可移除任务信息子集,且提取出目标任务信息后的可移除任务信息子集为空集,且可移除任务信息子集所属的目标任务信息集合当前不为空集,重新从目标任务信息集合确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
在一些实施例中,在从目标任务信息所属的目标任务信息子集中提取目标任务信息之后,该方法还包括:响应于确定目标任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集;将子集标识设置为指示重新确定的可移除任务信息子集。
在一些实施例中,确定预设的任务队列是否符合存储条件,包括:基于用于实时记录任务队列中当前存在的任务信息的数量的参数,确定任务队列中当前存在的任务信息的数量是否达到预设最大数量,若达到预设最大数量,确定任务队列符合不符合存储条件。
根据本公开实施例的另一个方面,提供了一种任务队列处理装置,该装置包括:接收模块,用于接收待入队任务信息,待入队任务信息对应一个优先级;第一确定模块,用于确定预设的任务队列是否符合存储条件,其中,任务队列包括至少一个任务信息集合,至少一个任务信息集合中的任务信息集合分别对应一个优先级;第二确定模块,用于响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合;丢弃模块,用于响应于确定待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息移除;移除模块,用于响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息从任务队列中移除;第一加入模块,用于将待入队任务信息加入任务队列中的对应优先级的任务信息集合。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述任务队列处理方法的步骤。
根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述任务队列处理方法。
根据本公开实施例的另一个方面,提供了一种计算机程序产品,包括计算机程序指令,计算机程序指令被处理器执行时实现上述任务队列处理方法的步骤。
基于本公开上述实施例提供的任务队列处理方法、装置、计算机可读存储介质、电子设备及计算机程序产品,在任务队列中设置至少一个任务信息集合,每个任务信息集合对应一个优先级,在任务队列不符合存储条件的情况下,从任务队列中确定最小优先级任务信息集合,若接收的待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息移除,若待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息移除,最后将待入队任务信息加入任务队列中的对应优先级的任务信息集合。本公开实施例实现了在任务队列当前不满足存储条件的情况下,若接收到更高优先级(等价于大优先级)的待入队任务信息,可以移除一个低优先级(等价于小优先级)的任务信息,以便接收该高优先级的待入队任务信息,若待入队任务信息的优先级相比任务队列中的其他任务信息的优先级最低,则移除该待入队任务信息,从而避免了为多个不同优先级的任务队列分别设置相应的容量上限而造成的内存资源浪费,提高了内存资源的利用率。并且,任务队列优先存储高优先级的任务信息,进而使高优先级的任务优先被处理,低优先级的任务在内存资源足够时再执行,从而有助于提高多任务处理的效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤;
图1是本公开所适用的系统图;
图2是本公开一示例性实施例提供的任务队列处理方法的流程示意图;
图3是本公开另一示例性实施例提供的任务队列处理方法的流程示意图;
图4A是本公开的实施例的任务队列包括的多个任务信息集合的示例性示意图;
图4B是本公开的实施例的包含多个任务信息子集的任务信息集合的示例性示意图;
图5是本公开另一示例性实施例提供的任务队列处理方法的流程示意图;
图6是本公开另一示例性实施例提供的任务队列处理方法的流程示意图;
图7是本公开另一示例性实施例提供的任务队列处理方法的流程示意图;
图8是本公开一示例性实施例提供的任务队列处理装置的结构示意图;
图9是本公开另一示例性实施例提供的任务队列处理装置的结构示意图;
图10是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
为了提高应用系统处理多任务的效率,发明人发现可以对不同优先级的任务设置不同的任务队列。线程池在获取任务的时候,可以按照一定的策略,从不同的优先级以及任务队列中轮询获取。但是该方案有一定的不足,由于内存容量是有限的,所以一般会给各个优先级的任务队列设置一个最大的容量上限,当任务队列中的任务量超过这个上限后,队列不再接纳任务,例如,可用内存容量最大只能容纳100个任务。如果采取两个独立的优先级队列,优先级1的容量上限为70,优先级2的容量上限为30,如果优先级1的队列已经满了,优先级2的队列可能为空,但是优先级1的队列已经不能接纳任务,在JAVA等开发环境中,会触发线程池的丢弃策略。当不同优先级的任务队列接收的任务量不平衡时,会造成内存资源浪费。
例如,可用内存容量最大只能容纳100个任务。如果采取两个独立的优先级队列,每个队列的最大容量都必须要小于100(两队列的容量上限相加等于100),比如优先级1的容量上限为70,优先级2的容量上限为30,如果优先级1的队列已满,优先级2的队列可能为空,但是优先级1的队列已经不能接纳新的任务,因此,造成了内存资源的浪费,同时造成较多的任务被丢弃。
为解决上述问题,本公开实施例提供了一种任务队列处理方法,在任务队列中有更低优先级的任务时,将更低优先级的任务丢弃掉(即延时处理丢弃的任务),优先处理更高优先级的当前任务。
示例性系统
图1示出了可以应用本公开的实施例的任务队列处理方法或任务队列处理装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如购物类应用、搜索类应用、网页浏览器应用、即时通信工具等。
终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
服务器103可以是提供各种服务的服务器,例如对终端设备101上传的任务信息进行处理的后台服务器。后台服务器可以根据接收的任务信息的优先级,将任务信息加入任务队列中的相应任务信息集合。
需要说明的是,本公开的实施例所提供的任务队列处理方法通常由服务器103执行,在一些情况下,也可以由终端设备101执行,相应地,任务队列处理装置可以设置于服务器103中,也可以设置于终端设备101中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
示例性方法
图2是本公开一示例性实施例提供的任务队列处理方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:
步骤201,接收待入队任务信息。
在本实施例中,电子设备可以接收待入队任务信息,待入队任务信息对应一个优先级。待入队任务信息用于执行相应类型的任务(例如支付任务、批处理任务等)。待入队任务信息可以包括优先级信息、任务类型、任务名称、任务所需的数据等信息。优先级信息表示待入队任务信息的优先级。例如,优先级由高到低的顺序为优先级1、2、3,支付任务的优先级可以为优先级1,批处理任务的优先级可以为优先级2。
步骤202,确定预设的任务队列是否符合存储条件。
在本实施例中,电子设备可以确定预设的任务队列是否符合存储条件。
其中,任务队列包括至少一个任务信息集合,至少一个任务信息集合中的任务信息集合分别对应一个优先级。作为示例,按照优先级由高到低的顺序,任务队列中存在优先级1、2、3的三个任务信息集合,同一优先级的任务信息集合可以包括至少一种类型的任务信息。通常,每个任务信息集合按照先进先出的规则排序,每个任务信息集合可以看做一个子队列。
上述存储条件可以是基于任务队列占用的内存容量设置的条件。若任务队列符合存储条件,则可以将待入队任务信息加入任务队列中。作为示例,存储条件可以包括但不限于以下至少一项:任务队列中当前存在的任务信息的数量达到预设数量(通过预设的计数器实时记录任务队列当前包括的任务信息总数),任务队列当前占用的内存空间达到预设内存容量。
步骤203,响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合。
在本实施例中,电子设备可以响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合。例如,若任务队列中存在优先级由大到小排列的优先级1、2、3的三个任务信息集合,则优先级3对应的任务信息集合为最小优先级任务信息集合。任务信息的优先级越大,则处理该任务信息的优先权越高,反之,优先级越小,处理该任务信息的优先权越低。
如图4A所示,其示出了任务队列中包括的多个任务信息集合的示例性示意图,图4A所示的任务队列包括优先级1、2、3共三个任务信息集合,优先级1是最大(高)优先级,优先级3是最小(低)优先级。图中的每个矩形框表示一个任务信息,矩形框中的数字为任务信息的序号。图4A中的优先级3对应的任务信息集合即为最小优先级任务信息集合。
可选的,最小优先级任务信息集合可以通过诸如指针等类型的标识记录,该标识可以实时记录当前任务队列中的最小优先级任务集合。
步骤204,响应于确定待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃。
在本实施例中,电子设备可以确定待入队任务信息的优先级是否小于等于最小优先级任务信息集合的优先级,若是,则可以将待入队任务信息丢弃。
即,当待入队任务的优先级相比当前任务队列中的各个任务信息的优先级最低时,由于当前任务队列已满,无法加入新的任务信息,因此,将待入队任务信息丢弃,优先处理任务队列中的高优先级的任务信息和已入队的与该待入队任务信息同优先级的任务信息。应当理解,这里的丢弃是指暂时不处理待入队任务信息,再经过一段时间的延时后,再次接收该待入队任务。
需要说明的是,本公开实施例在比较优先级时,所描述的优先级大小与优先级高低等价,即大优先级等价于高优先级,小优先级等价于低优先级。还需要说明的是,用数字描述优先级时,数字大小不等价于优先级的大小(或高低),例如,优先级1表示相对的高优先级,优先级2表示相对的低优先级。
步骤205,响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息从任务队列中移除。
在本实施例中,电子设备可以响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息。可选的,电子设备可以从最小优先级任务信息集合中确定加入时间最晚的任务信息为可移除任务信息。
然后,电子设备可以将可移除任务信息从任务队列中移除(即延时处理该任务信息)。
步骤206,将待入队任务信息加入任务队列中的对应优先级的任务信息集合。
电子设备可以将待入队任务信息加入任务队列中的对应优先级的任务信息集合。例如,若待入队任务信息的优先级为1,则加入优先级1的任务信息队列中。
本公开的上述实施例提供的方法,在任务队列中设置至少一个任务信息集合,每个任务信息集合对应一个优先级,在任务队列不符合存储条件的情况下,从任务队列中确定最小优先级任务信息集合,若接收的待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃,若待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息移除,最后将待入队任务信息加入任务队列中的对应优先级的任务信息集合。本公开实施例实现了在任务队列当前不满足存储条件的情况下,若接收到更高优先级(等价于大优先级)的待入队任务信息,可以移除一个低优先级(等价于小优先级)的任务信息,以便接收该高优先级的待入队任务信息,若待入队任务信息的优先级相比任务队列中的其他任务信息的优先级最低,则移除该待入队任务信息,从而避免了为多个不同优先级的任务队列分别设置相应的容量上限而造成的内存资源浪费,提高了内存资源的利用率。并且,任务队列优先存储高优先级的任务信息,进而使高优先级的任务优先被处理,低优先级的任务在内存资源足够时再执行,从而有助于提高多任务处理的效率。
在一些可选的实现方式中,至少一个任务信息集合中的任务信息集合分别包括至少一个任务信息子集,至少一个任务信息子集中的任务信息子集分别包括对应类型的至少一个任务信息。即同一优先级的任务信息集合包括至少一个类型的任务信息子集,每个任务信息子集可以按照先进先出的规则排列,属于同一个任务信息子集中的任务信息对应相同类型。
可选的,任务信息子集可以通过链表的形式存在。如图4B所示,其中,优先级3的任务信息集合包括三个任务信息子集,分别通过链表a、b、c的形式存在,a、b、c之间的箭头表示链表的排列次序。各链表中的A1、A2、A3、B1、B2、C1、C2、C3表示任务信息。
如图3所示,上述步骤205包括:
步骤2051,从最小优先级任务信息集合中的至少一个任务信息子集中,确定预先设置的子集标识指示的任务信息子集作为可移除任务信息子集。
其中,子集标识用于指示当前的可移除任务信息子集,可移除任务信息子集即可以从其中移除任务信息的子集。可选的,子集标识可以通过指针的形式存在,该指针指向的任务信息子集即可移除任务信息子集。该指针的初值为空值(null),随着任务信息加入任务队列,指针的值实时更新,始终指向最小优先级任务集合中的一个任务信息子集。
步骤2052,将最后加入可移除任务信息子集的任务信息确定为可移除任务信息。
由于各个任务信息子集通常按照先进先出的规则处理任务信息,因此,优先处理先加入的任务信息,最后加入的任务信息可以被移除。如图4B所示的各个链表中,可以将位于可移除任务信息子集对应的链表的末尾的任务信息子集移除。
步骤2053,从最小优先级任务信息集合中的至少一个任务信息子集中,重新确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
具体地,若最小优先级任务信息集合中只包括一个任务信息子集,则该任务信息子集仍为可移除任务信息子集;若最小优先级任务信息集合中包括多个可移除任务信息子集,可以按照轮询的方式,轮流将各个任务信息子集设置为可移除任务信息子集。例如,如图4B所示的链表a对应的任务信息子集为可移除任务信息子集,在移除链表a末尾的任务信息后,将子集标识(例如指针)设置为指示链表b,即链表b对应的任务信息子集设置为新的可移除任务信息子集。
本实施例通过设置子集标识指示可移除任务信息子集,在将可移除任务信息从对应的任务信息子集中移除后,更新子集标识,使其指向同优先级的其他任务信息子集,并且子集标识总是指向优先级最低的某个任务信息子集,从而在后续接收新的任务信息时,可以快速确定可移除任务信息子集,同时实现了从同一低优先级的多个任务信息子集中轮流移除任务信息,有助于实现同一低优先级的多个任务信息子集包括的任务信息量的均衡。
在一些可选的实现方式中,如图5所示,在步骤205之后,该方法还包括:
步骤207,响应于确定最小优先级任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集。
作为示例,如图4A所示,若可移除任务信息属于优先级3的任务信息集合,则在将可移除任务信息移除后,若当前的优先级3的任务信息集合为空集,则可以将优先级2的任务信息集合确定为新的最小优先级任务信息集合,若优先级2的任务信息集合也为空集,则将优先级1的任务信息集合确定为新的最小优先级任务信息集合。从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集的方法,具体可以为:若重新确定的最小优先级任务信息集合包括一个任务信息子集,则该任务信息子集即为可移除任务信息子集;若重新确定的最小优先级任务信息集合包括多个任务信息子集,则可以基于预设的顺序,从重新确定的最小优先级任务信息集合中确定位于首位的任务信息子集为可移除任务信息子集,或者,从重新确定的最小优先级任务信息集合中随机确定可移除任务信息子集。
步骤208,将子集标识设置为指示重新确定的可移除任务信息子集。
作为示例,若子集标识为指针的形式,可以将该指针指向重新确定的可移除任务信息子集。
本实施例通过在移除一个任务信息后,若最小优先级任务信息集合当前为空集,重新确定新的最小优先级任务信息集合并更新子集标识,可以使子集标识总是指向最小优先级的某个任务信息子集,从而实现在任务队列已满的情况下,更精确地确定最小优先级的可移除任务信息子集,进一步提高任务处理的效率。
在一些可选的实现方式中,如图6所示,在步骤202之后,该方法还包括:
步骤209,响应于确定任务队列符合存储条件,从任务队列中的与待入队任务信息的优先级对应的任务信息集合中,确定与待入队任务信息的类型对应的任务信息子集。
当任务队列符合存储条件时,标识任务队列未满,可以加入待入队任务信息。
步骤210,将待入队任务信息加入与待入队任务信息的类型对应的任务信息子集。
步骤211,响应于确定待入队任务信息的优先级小于最小优先级任务信息集合的优先级,将子集标识设置为指示待入队任务信息所在的任务信息子集。
作为示例,若子集标识为指针的形式,可以将该指针指向待入队任务信息所在的任务信息子集,即待入队任务信息所在的任务信息子集为当前的可移除任务信息子集。
通常,若待入队任务信息的优先级大于等于最小优先级任务信息集合的优先级,保持子集标识不变,使子集标识总是指向最小优先级的某个任务信息子集。
本实施例通过在任务队列符合存储条件时,将待入队任务信息加入对应的任务信息子集后,更新子集标识,使子集标识实时地指示当前最小优先级的某个任务信息子集,从而有助于在任务队列不满足存储条件时,精确地确定最小优先级的可移除任务信息,进一步提高了任务处理的效率。
在一些可选的实现方式中,如图7所示,该方法还包括:
步骤701,响应于接收到用于指示从任务队列中提取目标任务信息的指令,从目标任务信息所属的目标任务信息子集中提取目标任务信息。
步骤702,响应于确定目标任务信息子集为子集标识当前指示的可移除任务信息子集,且提取出目标任务信息后的可移除任务信息子集为空集,且可移除任务信息子集所属的目标任务信息集合当前不为空集,重新从目标任务信息集合确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
具体地,在从上述目标任务信息子集中提取出上述目标任务信息后,确定目标任务信息子集是否为子集标识当前指示的可移除任务信息子集,若不是,则子集标识无需更新;若是,表示目标任务信息是最小优先级任务信息集合中的任务信息,则子集标识可能需要更新。
当子集标识可能需要更新时,首先确定提取出目标任务信息后的可移除任务信息子集是否为空集,若不为空集,则无需更新子集标识;若为空集,则需要更新子集标识,即需要重新确定可移除任务信息子集。此时,若原可移除任务信息子集所属的目标任务信息集合不是空集,则可以更新子集标识,使其指向目标任务信息集合中的其他任务信息子集。
例如,若当前提取的如图4B所示的链表b中的目标任务信息,且当前的子集标识指向链表b,若取出目标任务信息后,链表b不为空,则子集标识不变;若链表b为空,则将子集标识更新为指向链表c。
本实施例实现了在从任务队列提取任务信息时,实时更新子集标识,使子集标识指向提取的目标任务信息所属的最小优先级任务信息集合中的某个任务信息子集,保证了子集标识指示的任务信息子集的优先级最小,从而有助于在任务队列已满的情况下精确移除最小优先级的任务信息。
在一些可选的实现方式中,如图7所示,在步骤701之后,该方法还包括:
步骤703,响应于确定目标任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集。
具体地,重新确定最小优先级任务信息集合和可移除任务信息子集的方法,与上述步骤207中描述的方法基本相同,这里不再赘述。
步骤704,将子集标识设置为指示重新确定的可移除任务信息子集。
本实施例通过在提取出一个任务信息后,若最小优先级任务信息集合当前为空集,重新确定新的最小优先级任务信息集合并更新子集标识,可以使子集标识始终指向最小优先级的某个任务信息子集,从而实现在任务队列已满的情况下,更精确地确定最小优先级的可移除任务信息子集,进一步提高任务处理的效率。
在一些可选的实现方式中,上述步骤202可以包括:
基于用于实时记录所述任务队列中当前存在的任务信息的数量的参数,确定所述任务队列中当前存在的任务信息的数量是否达到预设最大数量,若达到所述预设最大数量,确定所述任务队列不符合所述存储条件。
具体地,可以设置用于实时记录任务队列中当前存在的任务信息的数量的参数(例如current_count)和记录任务队列中的任务信息的最大值的参数(例如max_count),当接收到一条待入队任务信息时,判断current_count是否等于max_count,若是,则表示任务队列已满,不满足存储条件,继续执行上述步骤203-步骤206;若否,则表示任务队列未满,可以将待入队任务信息加入任务队列,在待入队任务信息加入任务队列后(或加入队列前),current_count加1。相应的,当需要从任务队列中提取一条任务信息时,可以在从任务队列中提取一条任务信息后(或提取一条任务信息前)使current_count减1,从而实现了利用current_count实时记录任务队列中当前存在的任务信息的数量。
本实施例通过设置参数实时记录任务队列中当前存在的任务信息的数量,实现了根据该参数快速判断任务队列当前是否已满,从而有助于提高多任务处理的效率。
示例性装置
图8是本公开一示例性实施例提供的任务队列处理装置的结构示意图。本实施例可应用在电子设备上,如图8所示,任务队列处理装置包括:接收模块801,用于接收待入队任务信息,待入队任务信息对应一个优先级;第一确定模块802,用于确定预设的任务队列是否符合存储条件,其中,任务队列包括至少一个任务信息集合,至少一个任务信息集合中的任务信息集合分别对应一个优先级;第二确定模块803,用于响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合;丢弃模块804,用于响应于确定待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃;移除模块805,用于响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息从任务队列中移除;第一加入模块806,用于将待入队任务信息加入任务队列中的对应优先级的任务信息集合。
在本实施例中,接收模块801可以接收待入队任务信息,待入队任务信息对应一个优先级。待入队任务信息用于执行相应类型的任务(例如支付任务、批处理任务等)。待入队任务信息可以包括优先级信息、任务类型、任务名称、任务所需的数据等信息。优先级信息表示待入队任务信息的优先级。例如,优先级由高到低的顺序为优先级1、2、3,支付任务的优先级可以为优先级1,批处理任务的优先级可以为优先级2。
在本实施例中,第一确定模块802可以确定预设的任务队列是否符合存储条件。
其中,任务队列包括至少一个任务信息集合,至少一个任务信息集合中的任务信息集合分别对应一个优先级。作为示例,按照优先级由高到低的顺序,任务队列中存在优先级1、2、3的三个任务信息集合,同一优先级的任务信息集合可以包括至少一种类型的任务信息。通常,每个任务信息集合按照先进先出的规则排序,每个任务信息集合可以看做一个子队列。
上述存储条件可以是基于任务队列占用的内存容量设置的条件。若任务队列符合存储条件,则可以将待入队任务信息加入任务队列中。作为示例,存储条件可以包括但不限于以下至少一项:任务队列中当前存在的任务信息的数量达到预设数量(通过预设的计数器实时记录任务队列当前包括的任务信息总数),任务队列当前占用的内存空间达到预设内存容量。
在本实施例中,第二确定模块803可以响应于确定任务队列不符合存储条件,从任务队列中确定优先级最小的任务信息集合作为最小优先级任务信息集合。例如,若任务队列中存在优先级由大到小排列的优先级1、2、3的三个任务信息集合,则优先级3对应的任务信息集合为最小优先级任务信息集合。任务信息的优先级越大,则处理该任务信息的优先权越高,反之,优先级越小,处理该任务信息的优先权越低。
可选的,最小优先级任务信息集合可以通过诸如指针等类型的标识记录,该标识可以实时记录当前任务队列中的最小优先级任务集合。
在本实施例中,丢弃模块804可以确定待入队任务信息的优先级是否小于等于最小优先级任务信息集合的优先级,若是,则可以将待入队任务信息丢弃。
即,当待入队任务的优先级相比当前任务队列中的各个任务信息的优先级最低时,由于当前任务队列已满,无法加入新的任务信息,因此,将待入队任务信息丢弃,优先处理任务队列中的高优先级的任务信息和已入队的与该待入队任务信息同优先级的任务信息。应当理解,这里的丢弃是指暂时不处理待入队任务信息,再经过一段时间的延时后,再次接收该待入队任务。
在本实施例中,移除模块805可以响应于确定待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息。可选的,移除模块805可以从最小优先级任务信息集合中确定加入时间最晚的任务信息为可移除任务信息。
然后,移除模块805可以将可移除任务信息从任务队列中移除(即延时处理该任务信息)。
在本实施例中,第一加入模块806可以将待入队任务信息加入任务队列中的对应优先级的任务信息集合。例如,若待入队任务信息的优先级为1,则加入优先级1的任务信息队列中。
参照图9,图9是本公开另一示例性实施例提供的任务队列处理装置的结构示意图。
在一些可选的实现方式中,至少一个任务信息集合中的任务信息集合分别包括至少一个任务信息子集,至少一个任务信息子集中的任务信息子集分别包括对应类型的至少一个任务信息;移除模块805包括:第一确定单元8051,用于从最小优先级任务信息集合中的至少一个任务信息子集中,确定预先设置的子集标识指示的任务信息子集作为可移除任务信息子集;第二确定单元8052,用于将最后加入可移除任务信息子集的任务信息确定为可移除任务信息;第三确定单元8053,用于从最小优先级任务信息集合中的至少一个任务信息子集中,重新确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
在一些可选的实现方式中,该装置还包括:第三确定模块807,用于响应于确定最小优先级任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集;第一设置模块808,用于将子集标识设置为指示重新确定的可移除任务信息子集。
在一些可选的实现方式中,该装置还包括:第四确定模块809,用于响应于确定任务队列符合存储条件,从任务队列中的与待入队任务信息的优先级对应的任务信息集合中,确定与待入队任务信息的类型对应的任务信息子集;第二加入模块810,用于将待入队任务信息加入与待入队任务信息的类型对应的任务信息子集;第二设置模块811,用于响应于确定待入队任务信息的优先级小于最小优先级任务信息集合的优先级,将子集标识设置为指示待入队任务信息所在的任务信息子集。
在一些可选的实现方式中,该装置还包括:提取模块812,用于响应于接收到用于指示从任务队列中提取目标任务信息的指令,从目标任务信息所属的目标任务信息子集中提取目标任务信息;第五确定模块813,用于响应于确定目标任务信息子集为子集标识当前指示的可移除任务信息子集,且提取出目标任务信息后的可移除任务信息子集为空集,且可移除任务信息子集所属的目标任务信息集合当前不为空集,重新从目标任务信息集合确定可移除任务信息子集,并将子集标识设置为指示重新确定的可移除任务信息子集。
在一些可选的实现方式中,该装置还包括:第六确定模块814,用于响应于确定目标任务信息集合当前为空集,重新从任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集;第三设置模块815,用于将子集标识设置为指示重新确定的可移除任务信息子集。
在一些可选的实现方式中,第一确定模块802进一步用于:基于用于实时记录任务队列中当前存在的任务信息的数量的参数,确定任务队列中当前存在的任务信息的数量是否达到预设最大数量,若达到预设最大数量,确定任务队列符合不符合存储条件。
本公开上述实施例提供的任务队列处理装置,在任务队列中设置至少一个任务信息集合,每个任务信息集合对应一个优先级,在任务队列不符合存储条件的情况下,从任务队列中确定最小优先级任务信息集合,若接收的待入队任务信息的优先级小于等于最小优先级任务信息集合的优先级,将待入队任务信息丢弃,若待入队任务信息的优先级大于最小优先级任务信息集合的优先级,从最小优先级任务信息集合中确定可移除任务信息,并将可移除任务信息移除,最后将待入队任务信息加入任务队列中的对应优先级的任务信息集合。本公开实施例实现了在任务队列当前不满足存储条件的情况下,若接收到更高优先级(等价于大优先级)的待入队任务信息,可以移除一个低优先级(等价于小优先级)的任务信息,以便接收该高优先级的待入队任务信息,若待入队任务信息的优先级相比任务队列中的其他任务信息的优先级最低,则移除该待入队任务信息,从而避免了为多个不同优先级的任务队列分别设置相应的容量上限而造成的内存资源浪费,提高了内存资源的利用率。并且,任务队列优先存储高优先级的任务信息,进而使高优先级的任务优先被处理,低优先级的任务在内存资源足够时再执行,从而有助于提高多任务处理的效率。
示例性电子设备
下面,参考图10来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。
图10图示了根据本公开实施例的电子设备的框图。
如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。
处理器1001可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。
存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本公开的各个实施例的任务队列处理方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如待入队任务信息等各种内容。
在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是终端设备101或服务器103时,该输入装置1003可以是鼠标、键盘等设备,用于输入待入队任务信息等内容。在该电子设备是单机设备时,该输入装置1003可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的待入队任务信息等内容。
该输出装置1004可以向外部输出各种信息,包括任务队列中的任务信息。该输出装置1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图10中仅示出了该电子设备1000中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的任务队列处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的任务队列处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种任务队列处理方法,包括:
接收待入队任务信息,所述待入队任务信息对应一个优先级;
确定预设的任务队列是否符合存储条件,其中,所述任务队列包括至少一个任务信息集合,所述至少一个任务信息集合中的任务信息集合分别对应一个优先级;
响应于确定所述任务队列不符合所述存储条件,从所述任务队列中确定优先级最小的所述任务信息集合作为最小优先级任务信息集合;
响应于确定所述待入队任务信息的优先级小于等于所述最小优先级任务信息集合的优先级,将所述待入队任务信息丢弃;
响应于确定所述待入队任务信息的优先级大于所述最小优先级任务信息集合的优先级,从所述最小优先级任务信息集合中确定可移除任务信息,并将所述可移除任务信息从所述任务队列中移除;将所述待入队任务信息加入所述任务队列中的对应优先级的任务信息集合。
2.根据权利要求1所述的方法,其中,所述至少一个任务信息集合中的任务信息集合分别包括至少一个任务信息子集,所述至少一个任务信息子集中的任务信息子集分别包括对应类型的至少一个任务信息;
所述从所述最小优先级任务信息集合中确定可移除任务信息,包括:
从所述最小优先级任务信息集合中的至少一个任务信息子集中,确定预先设置的子集标识指示的任务信息子集作为可移除任务信息子集;
将最后加入所述可移除任务信息子集的任务信息确定为所述可移除任务信息;
从所述最小优先级任务信息集合中的至少一个任务信息子集中,重新确定可移除任务信息子集,并将所述子集标识设置为指示重新确定的可移除任务信息子集。
3.根据权利要求2所述的方法,其中,在所述将所述可移除任务信息从所述任务队列中移除之后,所述方法还包括:
响应于确定所述最小优先级任务信息集合当前为空集,重新从所述任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定所述可移除任务信息子集;
将所述子集标识设置为指示重新确定的所述可移除任务信息子集。
4.根据权利要求2所述的方法,其中,在所述确定预设的任务队列是否符合存储条件之后,所述方法还包括:
响应于确定所述任务队列符合所述存储条件,从所述任务队列中的与所述待入队任务信息的优先级对应的任务信息集合中,确定与所述待入队任务信息的类型对应的任务信息子集;
将所述待入队任务信息加入所述与所述待入队任务信息的类型对应的任务信息子集;
响应于确定所述待入队任务信息的优先级小于所述最小优先级任务信息集合的优先级,将所述子集标识设置为指示所述待入队任务信息所在的任务信息子集。
5.根据权利要求2所述的方法,其中,所述方法还包括:
响应于接收到用于指示从所述任务队列中提取目标任务信息的指令,从所述目标任务信息所属的目标任务信息子集中提取所述目标任务信息;
响应于确定所述目标任务信息子集为所述子集标识当前指示的可移除任务信息子集,且提取出所述目标任务信息后的所述可移除任务信息子集为空集,且所述可移除任务信息子集所属的目标任务信息集合当前不为空集,则重新从所述目标任务信息集合确定可移除任务信息子集,并将所述子集标识设置为指示重新确定的所述可移除任务信息子集。
6.根据权利要求5所述的方法,其中,在所述从所述目标任务信息所属的目标任务信息子集中提取所述目标任务信息之后,所述方法还包括:
响应于确定所述目标任务信息集合当前为空集,重新从所述任务队列中确定最小优先级任务信息集合,并从重新确定的最小优先级任务信息集合中重新确定可移除任务信息子集;
将所述子集标识设置为指示重新确定的可移除任务信息子集。
7.根据权利要求1-6任一项所述的方法,其中,所述确定预设的任务队列是否符合存储条件,包括:
基于用于实时记录所述任务队列中当前存在的任务信息的数量的参数,确定所述任务队列中当前存在的任务信息的数量是否达到预设最大数量,若达到所述预设最大数量,确定所述任务队列不符合所述存储条件。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-7任一所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-7任一所述的方法。
10.一种计算机程序产品,包括计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现上述权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272984.8A CN116302429A (zh) | 2023-03-17 | 2023-03-17 | 任务队列处理方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272984.8A CN116302429A (zh) | 2023-03-17 | 2023-03-17 | 任务队列处理方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302429A true CN116302429A (zh) | 2023-06-23 |
Family
ID=86781219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310272984.8A Pending CN116302429A (zh) | 2023-03-17 | 2023-03-17 | 任务队列处理方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302429A (zh) |
-
2023
- 2023-03-17 CN CN202310272984.8A patent/CN116302429A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947565B (zh) | 用于分配计算任务的方法和装置 | |
CN109152061B (zh) | 通道调配方法、装置、服务器及存储介质 | |
CN112527649A (zh) | 一种测试用例的生成方法和装置 | |
CN111447257A (zh) | 报文转换方法和装置 | |
CN113076153B (zh) | 一种接口调用方法和装置 | |
CN110928905B (zh) | 一种数据处理方法和装置 | |
CN113760488A (zh) | 调度任务的方法、装置、设备和计算机可读介质 | |
CN111427899A (zh) | 存储文件的方法、装置、设备和计算机可读介质 | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN111026552A (zh) | 资源的调度方法、装置、电子设备和计算机可读存储介质 | |
CN110413210B (zh) | 用于处理数据的方法、设备和计算机程序产品 | |
CN110515749B (zh) | 信息发送的队列调度的方法、装置、服务器和存储介质 | |
CN112559179A (zh) | 一种作业处理方法和装置 | |
CN116302429A (zh) | 任务队列处理方法、装置、可读存储介质及电子设备 | |
CN112685481A (zh) | 一种数据处理方法和装置 | |
CN114924937A (zh) | 批量任务处理方法、装置、电子设备及计算机可读介质 | |
CN114125066A (zh) | 一种处理业务请求的方法和装置 | |
CN105245380B (zh) | 一种消息的传播方式识别方法及装置 | |
CN113127561B (zh) | 业务单号的生成方法、装置、电子设备和存储介质 | |
CN113449994A (zh) | 任务单的分配方法、装置、电子设备、介质和程序产品 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN113204426A (zh) | 资源池的任务处理方法及相关设备 | |
CN113760494A (zh) | 任务调度方法和装置 | |
CN113779018A (zh) | 一种数据处理方法和装置 | |
CN113467909B (zh) | 用于压缩并发请求的耗时的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |