CN111930486A - 任务选取数据处理方法、装置、设备及存储介质 - Google Patents
任务选取数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111930486A CN111930486A CN202010749192.1A CN202010749192A CN111930486A CN 111930486 A CN111930486 A CN 111930486A CN 202010749192 A CN202010749192 A CN 202010749192A CN 111930486 A CN111930486 A CN 111930486A
- Authority
- CN
- China
- Prior art keywords
- task
- queue
- priority
- processed
- task 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 86
- 230000015654 memory Effects 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229910021389 graphene Inorganic materials 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种任务选取数据处理方法、装置、设备及存储介质,通过设置双队列将优先级高、低的任务分开保存,再基于队列权重值和随机数,确定从高优先级的任务队列中选取处理的任务还是从低优先级的任务队列中选择处理的任务。可以通过灵活调整队列权重值和随机数的方式,保证优先级较高的第一任务队列中的任务较多的优于优先级比较低的第二任务队列中的任务进行处理,但随机数一般不会一直不大于第一任务队列的队列权重值,可以避免优先级较低的第二任务队列的任务一直得不到处理的问题。保证任务的处理顺序可控,并且保证不同类型的任务可以灵活调整处理顺序,避免了重要任务被延后处理的问题。
Description
技术领域
本说明书属于计算机技术领域,尤其涉及一种任务选取数据处理方法、装置、设备及存储介质。
背景技术
越来越多的业务利用计算机进行数据处理,一般的数据处理时是按照时间的先后顺序进行处理的,但是当数据量不断增加时,会导致数据处理的时效性不够,尤其对于比较重要的任务,可能会导致处理滞后。例如:在一些金融场景,一般需要对用户提交的资料进行审批,来确定用户是否能够办理对应的业务。一般的审批任务可能会根据提交时限,依次进行审批,处理顺序无法调整。但是,随着数据量的不断增加,任务审批的数据量越来越多,任务审批的时效性不高,尤其对于一些关键性任务审批可能会出现滞后问题。如何提出一种方案,能够保证正常的数据处理顺序,又可以提高关键性任务处理的时效性成为本领域亟需解决的技术问题。
发明内容
本说明书实施例的目的在于提供一种任务选取数据处理方法、装置、设备及存储介质,实现了数据处理任务的灵活选取,保证了重要任务数据处理的时效性。
一方面,本说明书实施例提供了一种任务选取数据处理方法,所述方法包括:
获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级;
随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务作为目标任务,否则,选择所述第二任务队列的队头任务作为目标任务。
进一步地,在获取第一任务队列的队列权重值之前所述方法还包括:预先采用下述公式计算所述第一任务队列的队列权重值:
X=k×LA/(k×LA+LB)
上式中,X表示所述队列权重值,k表示加权系数,k>0,LA表示所述第一任务队列的队列长度,LB表示所述第二任务队列的队列长度,若LA、LB均为0,则设置X的值为0.5。
进一步地,所述方法还包括:
根据所述第一任务队列中的队列长度确定所述加权系数,其中,所述第一任务队列的队列长度越长,所述加权系数越大。
进一步地,所述方法还包括采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
接收任务处理请求,所述任务处理请求中包括待处理任务对应的业务属性;
根据所述待处理业务的业务属性确定所述待处理任务的优先级;
根据所述待处理任务的优先级将所述待处理任务添加到所述第一任务队列或所述第二任务队列。
进一步地,所述方法还包括采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
从待处理任务数据源中获取优先级为第一优先级的第一优先级待处理任务;
查询所述第一任务队列中是否存在所述第一优先级待处理任务,若不存在,则判断所述第一任务队列的队列长度是否到达第一队列长度阈值,若未达到,则将所述第一优先级待处理任务添加到所述第一任务队列的队尾。
进一步地,所述方法还包括:
若所述第一任务队列的队列长度已经到达所述第一队列长度阈值,则判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未到达,则将所述第一优先级待处理任务添加到所述第二任务队列的队头,若所述第二任务队列的队列长度到达所述第二队列长度阈值,则等待预设时间再将所述第一优先级待处理任务添加到所述第一任务队列或所述第二任务队列。
进一步地,所述方法还包括:
从待处理任务数据源中获取优先级为第二优先级的第二优先级待处理任务,其中所述第一优先级高于所述第二优先级;
查询所述第二任务队列中是否存在所述第二优先级待处理任务,若不存在,则判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未达到,则将所述第二优先级待处理任务添加到所述第二任务队列的队尾,若所述第二任务队列的队列长度到达所述第二队列长度阈值,则等待预设时间再将所述第二优先级待处理任务添加到所述第二任务队列。
进一步地,选择出所述目标任务后,所述方法还包括:
在所述目标任务处理完成后,重新生成新的随机数,并判断所述新的随机数是否不大于所述队列权重值,若是,则选择所述第一任务队列的队头任务作为新的目标任务,否则,选择所述第二任务队列的队头任务作为新的目标任务。
进一步地,所述方法还包括:
每隔指定时间,更新所述第一任务队列的队列权重值;
或,当所述第一任务队列的队列长度或所述第二任务队列的队列长度变化程度大于预设阈值时,更新所述第一任务队列的队列权重值。
另一方面,本说明书提供了一种任务选取数据处理装置,包括:
队列权重获取模块,用于获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级;
随机数生成模块,用于随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
任务选取模块,用于将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务进行任务审批,否则,选择所述第二任务队列的队头任务进行任务审批。
再一方面,本说明书实施例提供了一种任务选取数据处理设备,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任务选取数据处理方法。
还一方面,本说明书实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述任务选取数据处理方法。
本说明书提供的任务选取数据处理方法、装置、设备及存储介质,通过设置双队列将优先级高、低的任务分开保存,再基于队列权重值和随机数,确定从高优先级的任务队列中选取处理的任务还是从低优先级的任务队列中选择处理的任务。可以通过灵活调整队列权重值和随机数的方式,使得从第一任务队列中获取目标任务进行数据处理的次数比较多,从而保证优先级较高的第一任务队列中的任务较多的优于优先级比较低的第二任务队列中的任务进行处理,但随机数一般不会一直不大于第一任务队列的队列权重值,可以避免优先级较低的第二任务队列的任务一直得不到处理的问题。在保证任务的正常的处理顺序时,保证不同类型的任务可以灵活调整处理顺序,确保重要任务可以尽可能优先处理,避免了重要任务被延后处理的问题,同时保证优先级低的任务也能够得到处理。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的任务选取数据处理方法实施例的流程示意图;
图2是本说明书一些实施例中任务存入队列的流程示意图;
图3是本说明书一个实施例中双队列数据处理的流程示意图;
图4是本说明书一些实施例中任务选取数据处理装置的结构示意图;
图5是本说明书一个实施例中任务选取数据处理服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着计算机互联网技术的发展,越来越多的业务使用计算机进行数据处理,当数据量比较大时,各个待处理的数据按照队列中的排序依次进行处理。本说明书实施例提出一种双队列的任务选取数据处理方法,可以预先构建出两个任务队列,一个任务队列用于存储优先级比较高的待处理任务,另一个任务队列可以用于存储优先级比较低的待处理任务。通过随机生成一个随机数,将随机数与高优先级的任务队列的队列权重值进行比较,确定是从高优先级的任务队列中选择一个任务进行数据处理,还是从低优先级的任务队列中选择一个任务进行数据处理。通过合理设置队列权重值,可以控制高优先级的队列中的任务可以优先得到处理,避免重要任务滞后处理的问题,同时,结合随机数,可以避免低优先级的任务一直无法得到处理的问题。实现了任务处理的灵活可控,并在保证了任务处理的顺序可控。
图1是本说明书实施例提供的任务选取数据处理方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
具体的一个实施例如图1所示,本说明书提供的任务选取数据处理方法的一个实施例中,所述方法可以应用在客户端、服务器等终端设备中,具体可以为计算机、平板电脑、服务器、车载设备、智能穿戴设备等终端,所述方法可以包括如下步骤:
步骤102、获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级。
在具体的实施过程中,可以预先创建两个任务队列即第一任务队列和第二任务队列,其中,第一任务队列用于存储优先级较高的任务,第二任务队列用于存储优先级较低的任务或者需要重新处理的任务。例如:第一任务队列可以存储优先级大于预设优先级的任务,第二任务队列可以用于存储优先级小于预设优先级的任务。在需要进行数据处理如任务审批时,可以获取第一任务队列的队列权重值,第一任务队列的队列权重值可以预先计算并保存,其取值范围可以根据实际需要进行设置,如:可以设置在0-1之间。第一任务队列的队列权重值可以预先根据两个任务队列的队列长度确定,或者基于专家或技术人员的经验进行设置,或者预先设定一定的计算方式,如:可以为第一任务队列的队列长度与第二任务队列的队列长度的比值与预设系数的乘积,或者两个队列长度的差值与预设系数的乘积等,本说明书实施例不作具体限定。
步骤104、随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同。
在具体的实施过程中,还可以随机生成随机数,如可以利用随机数发生器或随机数生成器等,生成随机数,一般的,随机生成的随机数符合正态分布。每获取一次目标任务,可以生成一次随机数。其中,随机数的取值范围与队列权重值的取值范围相同,如:都设置在0-1之间,以便后续将随机数与队列权重值进行比较。
步骤106、将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务作为目标任务,否则,选择所述第二任务队列的队头任务作为目标任务。
在具体的实施过程中,生成随机数后,可以将随机数与获取到的队列权重值进行比较。若随机数不大于第一任务队列的队列权重值,则可以从第一任务队列中选择队头任务即在第一任务队列中排在第一位的任务作为目标任务,若随机数大于第一任务队列的队列权重值,则可以从第二任务队列中选择队头任务即在第二任务队列中排在第一位的任务作为目标任务。选取出目标任务后,可以对目标任务进行数据处理,如:对目标任务进行审批或其他数据处理流程,具体数据处理的过程根据实际应用场景而定,本说明书实施例不作具体限定。队列权重值在一定程度上可以表征第一任务队列需要优先处理的需求程度,随机数是随机生成的,一般的随机生成的随机数可能符合正态分布,随机数大多数可能集中在取值范围中间位置附近。第一任务队列的队列权重值一般是确定好的,每获取一次目标任务,可以生成一次随机数。可以通过合理设置队列权重值的计算方式或取值,使得随机数比较多的可能是不大于第一任务队列的队列权重值,进一步可以使得从第一任务队列中获取目标任务的次数比较多,从而实现优先级较高的第一任务队列中的任务较多的优于优先级比较低的第二任务队列中的任务进行处理,但随机数一般不会每一次都不大于第一任务队列的队列权重值,同时可以避免优先级较低的第二任务队列的任务一直得不到处理的问题。
其中,两个任务队列中的任务可以表征需要处理的业务数据,任务的具体内容可以基于实际场景而定,本说明书实施例不作具体限定。
本说明书实施例提供的任务选取数据处理方法,通过设置双队列将优先级高、低的任务分开保存,再基于队列权重值和随机数,确定从高优先级的任务队列中选取处理的任务还是从低优先级的任务队列中选择处理的任务。可以通过灵活调整队列权重值和随机数的方式,使得从第一任务队列中获取目标任务进行数据处理的次数比较多,从而保证优先级较高的第一任务队列中的任务较多的优于优先级比较低的第二任务队列中的任务进行处理,但随机数一般不会一直不大于第一任务队列的队列权重值,可以避免优先级较低的第二任务队列的任务一直得不到处理的问题。在保证任务的正常的处理顺序时,保证不同类型的任务可以灵活调整处理顺序,确保重要任务可以尽可能优先处理,避免了重要任务被延后处理的问题,同时保证优先级低的任务也能够得到处理。
在上述实施例的基础上,本说明书一些实施例中,在获取第一任务队列的队列权重值之前所述方法还包括:预先采用下述公式计算所述第一任务队列的队列权重值:
X=k×LA/(k×LA+LB) (1)
上式中,X表示所述队列权重值,k表示加权系数,k大于0小于1,LA表示所述第一任务队列的队列长度,LB表示所述第二任务队列的队列长度,若LA、LB均为0,则设置X的值为0.5。
在具体的实施过程中,可以预先根据第一任务队列和第二任务队列的队列长度来计算第一任务队列的队列权重值,具体计算可以参考上述公式(1),其中,加权系数k通常情况下大于0,加权系数k的具体取值可以根据实际需要进行设置,可以预先设定加权系数k的取值范围,如:设置在0-1之间,则可以通过在取值范围内调整k的取值,调整第一任务队列的队列权重值的大小,以实现调整第一任务队列和第二任务队列中的任务的处理顺序。通过给出明确的公式,实现第一任务队列的队列权重值的计算,并且该计算公式可以确保优先级较高的第一任务队列中的任务能够优先得到处理,还可以通过调整加权系数实现对队列权重值的灵活调整。
需要说明的是,上述公式(1)中,若LA、LB均为0,即两个任务队列中均没有任务,可以定义在两个任务队列中均没有任务时第一任务队列的队列权重值为固定值如:为最大队列权重值的一半或根据实际需要自由定义一个取值,如:本说明书一个实施例中可以限定此时第一任务队列的队列权重值为0.5。
本说明书一些实施例中,可以根据所述第一任务队列中的队列长度确定所述加权系数,其中,所述第一任务队列的队列长度越长,所述加权系数越大。第一任务队列的队列长度越长,则可以任务优先级比较高的任务越多,需要尽可能多的优先对第一任务队列中的任务进行处理,以确保重要的任务及时得到处理。此时,可以将计算第一任务队列的队列权重值时使用的加权系数k的取值设置的较大,以确保计算出的队列权重值较大,使得生成的随机数大多数会不大于计算出的队列权重值,确保在任务选取时,优先从第一任务队列这种选择目标任务进行数据处理的次数比较多。加权系数k的取值大小可以与第一任务队列的队列长度成一定的正比,但是,加权系数的具体计算方式可以依据实际需要设置,本说明书实施例不作具体限定。
当然,还可以根据第一任务队列的队列长度和第二任务队列的队列长度的差值来确定加权系数,当差值越大,则加权系数k越大。即第一任务队列的队列长度越大于第二任务队列的队列长度,k越大,若第一任务队列的队列长度小于第二任务队列的队列长度,则加权系数k可以适当调小,具体可以根据实际需要而定。
此外,本说明书一些实施例中,还可以对第一任务队列的队列权重值进行更新,可以每隔指定时间,重新计算一次第一任务队列的队列权重值并进行保存,或,当所述第一任务队列的队列长度或所述第二任务队列的队列长度变化程度大于预设阈值时,重新计算所述第一任务队列的队列权重值。其中,指定时间的具体取值可以基于实际需要进行设置,如:可以每隔半小时或一天或一周重新计算一次第一任务队列的队列权重值,以更新队列权重值。或者,还可以根据任务队列中任务的数量变化程度,当任务队列中的任务数量即队列长度比较稳定时,则可以不必更新第一任务队列的任务权重值,当第一任务队列或第二任务队列中的任务数量即队列长度变化比较大如:第一任务队列的队列长度相较于上一次计算队列权重值时减少较多,则可以重新计算一次第一任务队列的队列权重值,以更新队列权重值。其中,每一次计算第一任务队列的队列权重值时,可以根据计算时刻第一任务队列和第二任务队列的队列长度来确定,如:可以参考上述公式(1)获取当时两个任务队列的队列长度,计算第一任务队列的队列权重值。重新计算第一任务队列的队列权重值后,在进行数据处理任务的选取时,可以基于新的队列权重值和随机数,选择目标任务。
本说明书实施例,通过定期或在第一任务队列、第二任务队列的队列长度有大幅度变化时,对第一任务队列的队列权重值进行更新,以实现通过对队列权重值的调整,调整第一任务队列和第二任务队列中任务的处理顺序,确保在一般情况下,尽量保证第一任务队列中的任务可以优先得到处理,同时,可以兼顾第二任务队列中的任务的处理。
在上述实施例的基础上,本说明书一些实施例中,图2是本说明书一些实施例中任务存入队列的流程示意图,如图2所示,可以采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
从待处理任务数据源中获取优先级为第一优先级的第一优先级待处理任务;
查询所述第一任务队列中是否存在所述第一优先级待处理任务,若不存在,则判断所述第一任务队列的队列长度是否到达第一队列长度阈值,若未达到,则将所述第一优先级待处理任务添加到所述第一任务队列的队尾。
在具体的实施过程中,当第一任务队列和第二任务队列构建完成后,即可以将待处理的任务加入到两个任务队列中,任务加入任务队列的过程可以参考图2所示。可以将待处理任务存放在待处理任务数据源中如:指定的数据库,待处理任务数据源中的各个待处理任务的优先级是已知的。在需要进行任务入队时,可以先从待处理任务数据源中获取高优先级即优先级为第一优先级的第一优先级待处理任务。获取到第一优先级待处理任务后,可以查询第一任务队列中是否已经存在该第一优先级待处理任务,若存在,则结束任务入队的过程,若不存在,则可以判断第一任务队列是否已满,如:判断第一任务队列的队列长度是否达到第一队列长度阈值,若到达,则可以认为第一任务队列已满,不能再加入新的任务,该第一优先级待处理任务不能加入第一任务队列。若第一任务队列的队列长度未到达第一队列长度阈值,则可以认为第一任务队列还可以加入新的任务,直接将该第一优先级待处理任务加入到第一任务队列的队尾,即将该第一优先级待处理任务加入到第一任务队列的最后。
如图2所示,本说明书一些实施例中,在判断所述第一任务队列的队列长度已经到达所述第一队列长度阈值,即第一任务队列已满时,可以选择将该第一优先级待处理任务加入到第二任务队列中。可以先判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未到达,可以认为第二任务队列没有满,还可以加入新的任务,则将所述第一优先级待处理任务添加到所述第二任务队列的队头。若所述第二任务队列的队列长度到达所述第二队列长度阈值,即第二任务队列已满,则可以等待预设时间再获取一次该第一优先级待处理任务,重复图2的步骤,将该第一优先级待处理任务添加到所述第一任务队列或所述第二任务队列中。其中,第一队列长度阈值和第二队列长度阈值的大小可以相同,可以不同,具体可以根据实际需要进行设置,本说明书实施例不作具体限定。
如图2所示,本说明书一些实施例中,所述方法还可以包括:
从待处理任务数据源中获取优先级为第二优先级的第二优先级待处理任务,其中所述第一优先级高于所述第二优先级;
查询所述第二任务队列中是否存在所述第二优先级待处理任务,若不存在,则判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未达到,则将所述第二优先级待处理任务添加到所述第二任务队列的队尾,若所述第二任务队列的队列长度到达所述第二队列长度阈值,则等待预设时间再将所述第二优先级待处理任务添加到所述第二任务队列。
在具体的实施过程中,在将第一优先级待处理任务添加到对应的第一任务队列或第二任务队列中后,可以从待处理任务数据源中获取优先级比较低即优先级为第二优先级的第二优先级待处理任务。与将第一优先级待处理任务加入队列的方式相似,可以先判断第二任务队列中是否存在该第二优先级待处理任务,若存在,则结束,若不存在,则可以判断第二任务队列是否已满,即判断第二任务队列的队列长度是否到达第二队列长度阈值,若是,则可以等待预设时间再获取一次该第二优先级待处理任务,重复图2的步骤,将该第二优先级待处理任务添加到第二任务队列中。若第二任务队列的队列长度未到达第二队列长度阈值,则可以将该第二优先级待处理任务加入到第二任务队列的队尾。通过对高优先级、低优先级的任务轮流依次加入到对应的任务队列中,以确保任务的处理顺序。
其中,预设时间可以根据实际需要进行设置如:30秒、1分钟等,本说明书实施例不作具体限定。
本说明书实施例,可以依次从待处理任务数据源中分别获取高优先级的待处理任务、低优先级的待处理任务,并按照待处理任务的优先级优先将高优先级的待处理任务添加到第一任务队列中,当第一任务队列已满时,可以选择将高优先级的待处理任务加入到第二任务队列的队头,以确保高优先级的任务能够优先得到处理。对于低优先级的待处理任务,可以在第二任务队列未满时,加入到第二任务队列的队尾,等待处理。本说明书实施例提供了灵活的任务入队方式,确保第一任务队列和第二任务队列没有重复的任务,同时,保证第一任务队列和第二任务队列的队列长度不能过长,并且,对于高优先级的任务可以优先选择加入到第一任务队列的队尾或第二任务队列的队头,以确保优先级高的任务可以优先得到处理。
本说明书一些实施例中,所述方法还包括采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
接收任务处理请求,所述任务处理请求中包括待处理任务对应的业务属性;
根据所述待处理业务的业务属性确定所述待处理任务的优先级;
根据所述待处理任务的优先级将所述待处理任务添加到所述第一任务队列或所述第二任务队列。
在具体的实施过程中,在进行任务选取之前或任务选取的过程中,随时可以接收任务处理请求,在接收到任务处理请求时,可以及时将该任务处理请求中的待处理任务加入到对应的任务队列中。该任务处理请求中可以包括待处理任务对应的业务属性,业务属性可以理解为能够表征任务重要性的特征,具体可以根据不同业务的类型设置,本说明书实施例不作具体限定。基于任务处理请求中的业务属性,可以确定请求中的待处理任务的优先级,可以预先配置优先级确定规则,设置不同的业务属性与优先级之间的映射关系,如:可以预先将不同的任务分为高优先级和低优先级两个等级,并设置业务属性与两个等级的优先级之间的映射关系。例如:在一个示例中,某公司计划开展先进分期业务,对于申请额度高的业务应当优先处理,可以设置申请额度大于预设额度的业务为高优先级任务,申请额度小于预设额度的业务为低优先级任务。确定出待处理请求中的待处理任务的优先级后,可以根据待处理任务的优先级将待处理任务加入到第一任务队列或第二任务队列。如:若待处理任务的优先级为高优先级或优先级大于预设优先级,则将该待处理任务加入到第一任务队列的队尾,否则加入到第二任务队列的队尾。
当然,还可以参考图2的内容,在将待处理任务加入到对应的任务队列时,先判断加入的任务队列是否已满,如:若待处理任务的优先级为高优先级或优先级大于预设优先级,则判断第一任务队列是否已满,若未满,则将该待处理任务加入到第一任务队列的队尾,若已满,则可以判断第二任务队列是否已满,若未满则待处理任务加入到第二任务队列的队头。同样的,对于低优先级的待处理任务,也可以参考上述实施例的记载进行入队处理。
基于不同任务对应的业务属性,可以确定出任务的重要程度,进而确定出待处理任务的优先级,再基于待处理任务的优先级,将待处理任务加入到对应的任务队列中,实现对任务的合理分配。
图3是本说明书一个实施例中双队列数据处理的流程示意图,如图3所示,本说明书实施例中数据处理的过程参考如下:
步骤301、创建第一任务队列、第二任务队列。其中,第一任务队列用于存放优先级较高的任务,第二任务队列用户存放优先级较低的任务。
步骤302、确定第一任务队列的队列权重值的加权系数。第一任务队列的队列长度越长,加权系数则越大,加权系数的取值范围可以为0~1。
步骤303、计算第一任务队列的队列权重值。具体计算方法可以参考上述实施例的记载,此处不再赘述。
步骤304、生成随机数。
步骤305、比较随机数与第一任务队列的队列权重值的大小,即判断随机数是否大于队列权重值,若随机数不大于第一任务队列的队列权重值,则执行步骤306,若随机数大于第一任务队列的队列权重值,则执行步骤307。
步骤306、从第一任务队列的队头选择一个任务作为目标任务。
步骤307、从第二任务队列的队头选择一个任务作为目标任务。
步骤308、对选取的目标任务进行数据处理。
步骤309、重复上述步骤304-步骤308,重新生成新的随机数,并选取下一个目标任务,即判断所述新的随机数是否不大于队列权重值,若是,则选择第一任务队列的队头任务作为新的目标任务,否则,选择第二任务队列的队头任务作为新的目标任务。对选择的新的目标任务进行数据处理,直至任务处理完毕。
本说明书实施例中的任务选取主要可以包括4个部分:第一部分为队列的创建,即创建两个分别用于存储不同优先级的任务的队列。第二部分为队列权重值的计算,主要可以基于两个队列的队列长度计算该队列权重值。第三部分为任务存入队列,即可以基于任务的优先级,将各个任务存入到对应的队列中。第四部分为任务选取,可以通过生成随机数,并将生成的随机数与计算出的队列权重值进行比较,确定本次要获取目标任务的队列,再对选取出的任务进行数据处理。各个部分的具体内容可以参考上述实施例的记载,此处不再赘述。
本说明书实施例,每处理一个任务,则生成一次随机数,并基于新生成的随机数,来判断新的随机数与队列权重值的大小关系,确定选择数据处理任务的任务队列。实现了只需要合理设置队列权重值,就可以确保优先级高的第一任务队列中的任务可以优先得到处理,同时,还可以通过随机数的方式确保优先级较低的第二任务队列的任务也可以得到处理。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方法实施例的部分说明即可。
基于上述所述的任务选取数据处理方法,本说明书一个或多个实施例还提供一种用于任务选取数据处理的装置。所述系统可以包括使用了本说明书实施例所述方法的装置(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统、装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本说明书一些实施例中任务选取数据处理装置的结构示意图,如图4所示,本说明书中提供的任务选取数据处理装置可以包括:
队列权重获取模块41,用于获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级;
随机数生成模块42,用于随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
任务选取模块43,用于将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务进行任务审批,否则,选择所述第二任务队列的队头任务进行任务审批。
本说明书实施例提供的任务选取数据处理装置,通过设置双队列将优先级高、低的任务分开保存,再基于队列权重值和随机数,确定从高优先级的任务队列中选取处理的任务还是从低优先级的任务队列中选择处理的任务。可以通过灵活调整队列权重值和随机数的方式,保证优先级较高的第一任务队列中的任务较多的优于优先级比较低的第二任务队列中的任务进行处理,但随机数一般不会一直不大于第一任务队列的队列权重值,可以避免优先级较低的第二任务队列的任务一直得不到处理的问题。保证任务的处理顺序可控,并且保证不同类型的任务可以灵活调整处理顺序,避免了重要任务被延后处理的问题。
需要说明的,上述所述的装置根据对应方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种任务选取数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的信息推荐数据处理方法,如:
获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于所述第二任务队列中的任务的优先级;
随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务作为目标任务,否则,选择所述第二任务队列的队头任务作为目标任务。
需要说明的,上述所述的设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的任务选取数据处理装置,也可以应用在多种数据分析处理系统中。所述系统或服务器或终端或设备可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例系统或服务器或终端或设备的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是本说明书一个实施例中任务选取数据处理服务器的硬件结构框图,该计算机终端可以是上述实施例中的任务选取数据处理服务器或任务选取数据处理装置。如图5所示服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的非易失性存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图5所示不同的配置。
非易失性存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的任务选取数据处理方法对应的程序指令/模块,处理器100通过运行存储在非易失性存储器200内的软件程序以及模块,从而执行各种功能应用以及资源数据更新。非易失性存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,非易失性存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局与网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果,如:
获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于所述第二任务队列中的任务的优先级;
随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务作为目标任务,否则,选择所述第二任务队列的队头任务作为目标任务。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述任务选取数据处理方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式资源数据更新环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程资源数据更新设备的处理器以产生一个机器,使得通过计算机或其他可编程资源数据更新设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程资源数据更新设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (12)
1.一种任务选取数据处理方法,其特征在于,所述方法包括:
获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级;随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务作为目标任务,否则,选择所述第二任务队列的队头任务作为目标任务。
2.如权利要求1所述的方法,其特征在于,在获取第一任务队列的队列权重值之前所述方法还包括:预先采用下述公式计算所述第一任务队列的队列权重值:
X=k×LA/(k×LA+LB)
上式中,X表示所述队列权重值,k表示加权系数,k>0,LA表示所述第一任务队列的队列长度,LB表示所述第二任务队列的队列长度,若LA、LB均为0,则设置X的值为0.5。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第一任务队列中的队列长度确定所述加权系数,其中,所述第一任务队列的队列长度越长,所述加权系数越大。
4.如权利要求1所述的方法,其特征在于,所述方法还包括采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
接收任务处理请求,所述任务处理请求中包括待处理任务对应的业务属性;
根据所述待处理业务的业务属性确定所述待处理任务的优先级;
根据所述待处理任务的优先级将所述待处理任务添加到所述第一任务队列或所述第二任务队列。
5.如权利要求1所述的方法,其特征在于,所述方法还包括采用下述方法将待处理任务添加到所述第一任务队列或所述第二任务队列:
从待处理任务数据源中获取优先级为第一优先级的第一优先级待处理任务;
查询所述第一任务队列中是否存在所述第一优先级待处理任务,若不存在,则判断所述第一任务队列的队列长度是否到达第一队列长度阈值,若未达到,则将所述第一优先级待处理任务添加到所述第一任务队列的队尾。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第一任务队列的队列长度已经到达所述第一队列长度阈值,则判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未到达,则将所述第一优先级待处理任务添加到所述第二任务队列的队头,若所述第二任务队列的队列长度到达所述第二队列长度阈值,则等待预设时间再将所述第一优先级待处理任务添加到所述第一任务队列或所述第二任务队列。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
从待处理任务数据源中获取优先级为第二优先级的第二优先级待处理任务,其中所述第一优先级高于所述第二优先级;
查询所述第二任务队列中是否存在所述第二优先级待处理任务,若不存在,则判断所述第二任务队列的队列长度是否到达第二队列长度阈值,若未达到,则将所述第二优先级待处理任务添加到所述第二任务队列的队尾,若所述第二任务队列的队列长度到达所述第二队列长度阈值,则等待预设时间再将所述第二优先级待处理任务添加到所述第二任务队列。
8.如权利要求1-7任一项所述的方法,选择出所述目标任务后,所述方法还包括:
在所述目标任务处理完成后,重新生成新的随机数,并判断所述新的随机数是否不大于所述队列权重值,若是,则选择所述第一任务队列的队头任务作为新的目标任务,否则,选择所述第二任务队列的队头任务作为新的目标任务。
9.如权利要求1-7任一项所述的方法,所述方法还包括:
每隔指定时间,更新所述第一任务队列的队列权重值;
或,当所述第一任务队列的队列长度或所述第二任务队列的队列长度变化程度大于预设阈值时,更新所述第一任务队列的队列权重值。
10.一种任务选取数据处理装置,其特征在于,包括:
队列权重获取模块,用于获取第一任务队列的队列权重值,所述第一任务队列中的任务的优先级高于第二任务队列中的任务的优先级;
随机数生成模块,用于随机生成随机数,其中,所述随机数的取值范围相同与所述队列权重值的取值范围相同;
任务选取模块,用于将所述随机数和所述队列权重值进行比较,若所述随机数不大于所述队列权重值,则选择所述第一任务队列的队头任务进行任务审批,否则,选择所述第二任务队列的队头任务进行任务审批。
11.一种任务选取数据处理设备,其特征在于,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749192.1A CN111930486B (zh) | 2020-07-30 | 2020-07-30 | 任务选取数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749192.1A CN111930486B (zh) | 2020-07-30 | 2020-07-30 | 任务选取数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930486A true CN111930486A (zh) | 2020-11-13 |
CN111930486B CN111930486B (zh) | 2023-11-17 |
Family
ID=73316023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010749192.1A Active CN111930486B (zh) | 2020-07-30 | 2020-07-30 | 任务选取数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930486B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395107A (zh) * | 2020-11-17 | 2021-02-23 | 航天信息股份有限公司 | 税控设备控制的方法、装置、存储介质及电子设备 |
CN112866136A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 业务数据处理方法和装置 |
CN112860401A (zh) * | 2021-02-10 | 2021-05-28 | 北京百度网讯科技有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN113067694A (zh) * | 2021-03-31 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 一种通信优化的双方安全比较方法、装置以及设备 |
CN113129146A (zh) * | 2021-03-31 | 2021-07-16 | 南京质子链科技有限公司 | 智能合约事务处理方法、设备及存储介质 |
CN113449994A (zh) * | 2021-06-29 | 2021-09-28 | 中国工商银行股份有限公司 | 任务单的分配方法、装置、电子设备、介质和程序产品 |
CN113687930A (zh) * | 2021-08-30 | 2021-11-23 | 厦门市易联众易惠科技有限公司 | 支持自动晋升的任务管理方法、装置、设备及存储介质 |
CN114172909A (zh) * | 2021-11-29 | 2022-03-11 | 上海金仕达软件科技有限公司 | 一种智能分布式接入方法及系统 |
CN115033393A (zh) * | 2022-08-11 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
CN116661977A (zh) * | 2023-07-26 | 2023-08-29 | 上海任意门科技有限公司 | 任务管理方法、装置、计算设备和存储介质 |
CN118277067A (zh) * | 2024-06-03 | 2024-07-02 | 济南浪潮数据技术有限公司 | 轮询器管理方法、设备、介质及计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778011A (zh) * | 2014-01-21 | 2014-05-07 | 国家电网公司 | 一种电力系统中服务平台任务公平随机调度方法 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN110505523A (zh) * | 2019-09-24 | 2019-11-26 | 广州优视云集科技有限公司 | 一种视频转码优先级顺序控制方法及处理终端 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
-
2020
- 2020-07-30 CN CN202010749192.1A patent/CN111930486B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778011A (zh) * | 2014-01-21 | 2014-05-07 | 国家电网公司 | 一种电力系统中服务平台任务公平随机调度方法 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
CN110505523A (zh) * | 2019-09-24 | 2019-11-26 | 广州优视云集科技有限公司 | 一种视频转码优先级顺序控制方法及处理终端 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395107A (zh) * | 2020-11-17 | 2021-02-23 | 航天信息股份有限公司 | 税控设备控制的方法、装置、存储介质及电子设备 |
CN112860401B (zh) * | 2021-02-10 | 2023-07-25 | 北京百度网讯科技有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN112860401A (zh) * | 2021-02-10 | 2021-05-28 | 北京百度网讯科技有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN113129146A (zh) * | 2021-03-31 | 2021-07-16 | 南京质子链科技有限公司 | 智能合约事务处理方法、设备及存储介质 |
CN113129146B (zh) * | 2021-03-31 | 2023-11-24 | 南京质子链科技有限公司 | 智能合约事务处理方法、设备及存储介质 |
CN113067694B (zh) * | 2021-03-31 | 2022-08-26 | 支付宝(杭州)信息技术有限公司 | 一种通信优化的双方安全比较方法、装置以及设备 |
CN113067694A (zh) * | 2021-03-31 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 一种通信优化的双方安全比较方法、装置以及设备 |
CN112866136A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 业务数据处理方法和装置 |
CN113449994A (zh) * | 2021-06-29 | 2021-09-28 | 中国工商银行股份有限公司 | 任务单的分配方法、装置、电子设备、介质和程序产品 |
CN113687930A (zh) * | 2021-08-30 | 2021-11-23 | 厦门市易联众易惠科技有限公司 | 支持自动晋升的任务管理方法、装置、设备及存储介质 |
CN113687930B (zh) * | 2021-08-30 | 2023-06-23 | 厦门市易联众易惠科技有限公司 | 支持自动晋升的任务管理方法、装置、设备及存储介质 |
CN114172909A (zh) * | 2021-11-29 | 2022-03-11 | 上海金仕达软件科技有限公司 | 一种智能分布式接入方法及系统 |
CN114172909B (zh) * | 2021-11-29 | 2024-01-30 | 上海金仕达软件科技股份有限公司 | 一种智能分布式接入方法及系统 |
CN115033393B (zh) * | 2022-08-11 | 2023-01-17 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
CN115033393A (zh) * | 2022-08-11 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
CN116661977B (zh) * | 2023-07-26 | 2023-10-24 | 上海任意门科技有限公司 | 任务管理方法、装置、计算设备和存储介质 |
CN116661977A (zh) * | 2023-07-26 | 2023-08-29 | 上海任意门科技有限公司 | 任务管理方法、装置、计算设备和存储介质 |
CN118277067A (zh) * | 2024-06-03 | 2024-07-02 | 济南浪潮数据技术有限公司 | 轮询器管理方法、设备、介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111930486B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930486A (zh) | 任务选取数据处理方法、装置、设备及存储介质 | |
CN107391526B (zh) | 一种基于区块链的数据处理方法及设备 | |
CN111756550B (zh) | 一种区块链共识方法及装置 | |
US9497288B2 (en) | Subscriber based priority of messages in a publisher-subscriber domain | |
CN109391680B (zh) | 一种定时任务数据处理方法、装置及系统 | |
JP2020514866A (ja) | ブロックチェーンベースのデータ処理方法および装置 | |
CN110443457B (zh) | 数据处理方法及装置 | |
CN109829164B (zh) | 用于生成文本的方法和装置 | |
CN108243032B (zh) | 一种服务等级信息的获取方法、装置及设备 | |
CN111324533B (zh) | A/b测试方法、装置及电子设备 | |
US11010377B2 (en) | Continuous caster scheduling with template driven search | |
US20170052979A1 (en) | Input/Output (IO) Request Processing Method and File Server | |
CN114416360A (zh) | 资源分配方法、装置及物联网系统 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
CN110955720A (zh) | 一种数据加载方法、装置及系统 | |
CN109634812B (zh) | Linux系统的进程CPU占用率控制方法、终端设备及存储介质 | |
CN115841335A (zh) | 数据处理方法、装置及设备 | |
CN116185596B (zh) | 提升广域多集群分布式系统执行任务效率的方法及装置 | |
CN110263241B (zh) | 一种数据批次处理方法及装置 | |
CN114595047A (zh) | 一种批量任务处理方法和装置 | |
CN108900631B (zh) | 一种消息分配方法、装置及分布式系统 | |
CN111192063A (zh) | 一种在线客服排队处理方法、装置及电子设备 | |
CN107645541B (zh) | 数据存储方法、装置及服务器 | |
CN111026458A (zh) | 一种应用程序退出时间设置方法及装置 | |
CN110716699A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |