CN109389286B - 一种业务处理、调度、分批方法、装置、设备及介质 - Google Patents
一种业务处理、调度、分批方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109389286B CN109389286B CN201811016834.6A CN201811016834A CN109389286B CN 109389286 B CN109389286 B CN 109389286B CN 201811016834 A CN201811016834 A CN 201811016834A CN 109389286 B CN109389286 B CN 109389286B
- Authority
- CN
- China
- Prior art keywords
- batch
- service
- scheduling
- dispatching
- flow
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种业务处理、调度、分批方法、装置、设备及介质,业务调度方法包括:任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务处理、调度、分批方法、装置、设备及介质。
背景技术
在现有技术中,很多种类的业务的处理会采用的批量处理的方式。对于批量处理业务来说,通常情况下,需要将上游业务系统所产生的各种类业务的流水在调度平台注册调度任务,由调度平台按轮将流水调度到下游业务系统,下游业务系统在接收到一轮调度的流水后进行一次批量处理。当属于同一序列号同种类业务的流水全部被处理完后,才能对这些流水所隶属的业务进行汇总或者其他处理。理想状况下,每轮调度平台调度的各种类业务的流水都能够被下游业务系统处理。但是实际情况下,一方面调度平台的调度能力一般是不变的,而下游业务系统对各种类业务的系统处理能力的总和则通常远大于调度平台的调度能力,从而可能出现有的业务单次被调度的流水数少于下游业务系统对该业务一次所能够处理的流水条数,使得下游业务系统达不到饱和处理,导致系统处理资源被浪费;另一方面,所述业务流水调度过程中实行的是无差别调度,若当前有多种种类的业务等待调度,每轮调度哪些种类的业务,各种类业务被调度多少条流水是随机的,而下游业务系统对各种类业务的系统处理能力又不尽相同,故易出现在一轮调度后,有的业务被调度的流水数超过其系统处理能力,这样超出的流水会被下游业务系统拒绝处理。另外,在单次调度中若有业务被调度的流水数超过其系统处理能力时,就会增大其他种类业务出现不饱和处理的几率。上述的种种情况都会造成调度资源和系统处理资源的浪费,降低业务处理效率,增加业务处理耗时,并且,上述种种情况在每轮调度中都有可能出现,从而极大延长业务处理耗时。
基于上述内容,需要一种更高效的业务调度方案。
发明内容
本说明书实施例提供了一种业务处理、调度、分批方法、装置、设备及介质,用以解决如何更高效地进行业务调度的技术问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供了一种业务处理方法,包括:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
本说明书实施例还提供了一种业务调度方法,包括:
接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务;
以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
本说明书实施例还提供了一种业务分批方法,包括:
任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务;
接收按轮调度的流水批次。
本说明书实施例还提供了一种业务调度方法,包括:
任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务;
按轮调度所述业务的流水批次。
本说明书实施例还提供了一种业务处理装置,包括:
条件确定模块,用于任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
任务模块,用于将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
调度模块,用于按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
分发模块,用于在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
本说明书实施例还提供了一种业务调度装置,包括:
任务模块,用于接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务;
调度模块,用于以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
本说明书实施例还提供了一种业务分批装置,包括:
分批模块,用于任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务;
接收模块,用于接收按轮调度的流水批次。
本说明书实施例还提供了一种业务调度装置,包括:
任务模块,用于任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务;
调度模块,用于按轮调度所述业务的流水批次。
本说明书实施例还提供了一种业务处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对业务流水分批,按批次调度业务流水,既能够大大增加业务调度能力,又有利于满足业务的饱和处理需求,从而提高业务处理效率,减少业务处理耗时。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例提供的一种实际应用场景下的业务处理系统的示意图。
图2是本说明书第二个实施例提供的一种业务处理方法的流程示意图。
图3是本说明书第二个实施例中的业务分批以及调度示意图。
图4是本说明书第四个实施例提供的一种业务调度方法的流程示意图
图5是本说明书第五个实施例提供的一种实际应用场景下的业务分批系统的示意图。
图6是本说明书第六个实施例提供的另一种业务分批方法的流程示意图。
图7是本说明书第六个实施例中的业务分批以及调度示意图。
图8是本说明书第八个实施例提供的一种业务调度方法的流程示意图。
图9是本说明书第十个实施例提供的一种业务处理装置的结构示意图。
图10是本说明书第十一个实施例提供的一种业务调度装置的结构示意图。
图11是本说明书第十二个实施例提供的一种业务分批装置的结构示意图。
图12是本说明书第十二个实施例提供的另一种业务分批装置的结构示意图。
图13是本说明书第十三个实施例提供的另一种业务调度装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在现有技术中,下游业务系统对每种业务具有一定的系统处理能力,而调度平台的调度能力一般小于各类业务的系统处理能力总和,且实行的是无差别调度,易造成调度资源和系统处理资源的浪费,降低业务处理效率,增加业务处理耗时。如图1所示,本说明书第一个实施例提供了在一种实际应用场景下的业务处理系统。在本实施例中,上游业务系统11产生各种类业务的待处理流水。对任意或指定的业务,由分批系统12对满足分批条件的业务的待处理流水进行分批,并以批次为单位在调度平台13上形成调度任务,不满足所述分批条件的所述业务以单条流水为单位在调度平台13上形成调度任务,然后调度平台13对被分批业务以批次为单位进行流水调度、对未分批业务以单条流水为单位进行流水调度,被调度的流水批次和流水经过流水分发到达下游业务系统14进行流水处理。本实施例既能够大大增加业务调度能力,又有利于满足业务的饱和处理需求,从而提高业务处理效率,减少业务处理耗时。
从程序角度而言,上述流程的执行主体可以为计算机或者服务器或者相应的业务调度系统等。另外,也可以由第三方应用客户端协助所述执行主体执行上述流程。
图2为本说明书第二个实施例提供的一种业务处理方法的流程示意图,图3是本实施例中的业务分批以及调度示意图。结合图2和图3,本说明书本实施例提供的一种业务处理方法具体可以包括以下步骤:
S101:任意或指定业务的流水被调度前,确定所述业务是否满足分批条件。
在本说明书本实施例中,本业务调度方法可以针对当前需要处理的业务中的任意业务(包括所有需要处理的业务),也可以针对当前需要处理的业务中的某些指定的业务。下面以本业务调度方法针对所有需要处理的业务为例进行说明。
假设当前上游业务系统所产生的需要处理的业务有n种,分别为A1、……、An,当前调度平台的调度能力为p条,即每次调度平台最多可以调度p条流水,下游业务系统对每种业务都有相应的系统处理能力。若这n种业务的系统处理能力的总和大于p,则显然的,调度能力无法使n种业务的系统处理能力全部得到满足;若这n种业务的系统处理能力的总和等于p,由于是无差别调度,在一轮调度中,只要有某种或某些种业务被调度的流水数超过其系统处理能力,那么必然有其他业务被调度的流水数不满足其系统处理能力;若这n种业务的系统处理能力的总和小于p,由于是无差别调度,在一轮调度中,还是有可能出现有业务被调度的流水数不满足其系统处理能力的情况。特别的,若当前只有一种业务需要处理,比如A1,所述调度能力会全部分配给业务A1。若下游业务系统对业务A1的系统处理能力大于p,即每次可以处理的流水数大于p,则显然的,调度能力无法满足业务A1的系统处理能力。一般情况下的批量处理业务的调度设计中,各种类业务的系统处理能力的总和是大于调度能力的,并且有相当多甚至大部分的业务各自的系统处理能力也是大于调度能力的,因此下面主要针对这种情况进行说明。当然,下述的说明并不必然排斥在各种类业务的系统处理能力的总和小于调度能力等其他情况下的适用。
在需要处理的业务被调度前,首先判断各种业务是否满足分批条件。本说明书本实施例中,分批条件包括:调度能力小于业务的系统处理能力。进一步,分批条件还可以包括:调度能力小于等于业务的系统处理能力的二分之一。在本实施例中,是将各种类业务的系统处理能力分别与调度平台的调度能力进行比较。
S102:将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务。
对于满足上述分批条件的业务,将其流水(即待处理的流水)进行分批,具体为:对于任一种满足所述分批条件的业务,将该业务系统处理能力与调度能力的商作为批次内流水数对该业务的流水进行分批。举例来说,若某业务Ai的系统处理能力为ci条/次,ci>p(调度能力),则将ci/p的商作为Ai的批次内流水数。有些情况下,某些业务的流水不能正好分成若干批次。比如有的业务的流水按照上述要求分批后可能会有剩余流水,剩余的流水不足一批;或者有的业务的所有流水都不足一批。针对第一种情况,将不足一批的剩余流水作为一批;针对第二种情况,将这种业务的所有流水作为一批。
在进行了分批之后,对于被分批的业务,可以以批次为单位在调度平台上为这些业务形成调度任务;对于不满足分批条件的业务的流水不做分批,可以以单条流水为单位在调度平台上为这些业务形成调度任务。在本实施例中,是以在调度平台上注册调度任务的方式来形成调度任务。
S103:按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水。
在进行业务调度时,调度平台按轮调度待处理业务的流水,相邻两轮调度之间间隔一定时间,每轮进行一次调度。每轮调度可以通过上游业务系统向调度平台发送调度指令或者调度脉冲信号的方式触发,或者调度平台自身具有定时触发调度功能。对于任一种被分批的业务,每次调度时所调度的是该业务的流水批次,即是以批次为单位对该业务的流水进行调度。对于任一种未分批的业务,每次调度时所调度的是该业务的流水,即是以单条流水为单位对该业务的流水进行调度。对于当前所有的待处理业务,可能存在三种情况:(1)所有的待处理业务都满足分批条件并进行了分批;(2)所有的待处理业务中的部分业务满足分批条件;(3)所有的待处理业务都不满足分批条件。前面已经说明,一般情况下的批量处理业务的调度设计中,有相当多甚至大部分的业务各自的系统处理能力也是大于调度能力的,因而第二种情况是比较符合实际的,当然第一种情况也是有可能的。
若是情况(2),沿用前例,若当前需要处理的业务有n种,分别为A1、……、An,各自包含的待处理流水数分别为a1、……、an。在未分批的情况下,每种业务都以单条流水为单位注册调度任务,则总调度任务数为a1+……+an。假设这n种业务中有i种业务是满足分批条件的,不妨设前i种业务满足分批条件,并且各自分批后的批次数是b1(<a1)、……、bi(<ai),即业务A1的流水被分成了b1批,……,业务Ai的流水被分成了ai批,那么分批之后业务A1、……、Ai以批次为单位注册调度任务(即调度平台对前i种业务的调度由单次调度多少条变成了单次调度多少批),A(i+1)、……、An以单条流水为单位注册调度任务(即调度平台对后n-i种业务的调度仍然是单次调度多少条),从而总调度任务数变成b1+……+bi+a(i+1)+……+an,因此分批后的总调度任务数是降低的,并且被分批的业务种类越多,总调度任务数降低得越多;被分批的业务分的批次越少,总调度任务数降低得越多。由于总调度任务数降低,故要将这n中业务处理完所需的调度轮数变少,业务处理耗时也就会变少,平均每轮的调度能力相对于分批之前会增加(以调度的流水数为衡量单位的情况下,其中调度的批次转换为流水数)。
若是情况(1),仍然使用该例,由于每种需要处理的业务都满足分批条件,故总调度任务数会降低,要将这n中业务处理完所需的调度轮数变少,业务处理耗时也就会变少,平均每轮的调度能力相对于分批之前会增加(以调度的流水数为衡量单位的情况下,其中调度的批次转换为流水数)。
特别的,若需要处理的业务只有一种,不妨为Aj,并且满足分批条件,该业务包含的流水数为aj条,分批后每个批次内的流水数为x条,那么分批前每轮调度p条,调度轮数为aj/x的商(整除的情况下)或aj/x的商加1(不整除的情况下),分批后每轮调度p批,即px条,调度能力就会变成原来的x倍(以调度的流水数为衡量单位的情况下,调度的批次转换为流水数),调度轮数变为aj/px的商(整除的情况下)或aj/px的商加1(不整除的情况下)。
由于情况(2)在现实中出现的概率低,故不再做详细说明。
再次强调的是,进行了分批之后,调度能力的单位不再只是条,而变成了批次或批次和条。如前述,对于任一种被分批业务,由于是以批次为单位对该业务流水进行调度,从而每次调度时由不分批情况下的调度多少条变成了分批情况下的调度多少批,有利于提高该业务每轮被调度的流水数,对于系统处理能力比较大的业务来说,这样也有利于满足其饱和处理的要求。
S104:在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理
在每轮调度后,需要将被调度的流水批次和流水分发到下游业务系统进行处理。由上可知,对于任一种被分批的业务,其每轮被调度的是流水批次。故对于任一种被分批的业务,其每轮被调度的流水批次会先进入分批系统,由分批系统从每轮被调度的流水批次中选择流水批次(具体如何选择将在下文中说明)进行批次内流水分发,即将所选择的流水批次内的流水分发到下游业务系统进行处理。对于任一种未分批的业务,其每轮被调度的是一条条的流水,且流水被调度后直接分发到下游业务系统进行处理。
通过本实施例的业务调度方法,既能够大大增加业务调度能力,又有利于满足业务的饱和处理需求,从而提高业务处理效率,减少业务处理耗时。
本说明书本实施例指出,对于任一种被分批的业务,其单轮被调度的流水数也不会超出其系统处理能力。下面验证该结论:沿用前例,对于任一种被分批的业务,不妨为业务Ai,若其系统处理能力为ci条/次,ci>调度能力p,则将ci/p的商作为Ai的批次内流水数。即使一轮调度中只对Ai进行了调度,即全部调度能力都分配给了该业务,则调度了p个批次的Ai流水,若这p个批次中每个批次中的流水数都是ci/p的商,则被调度的总流水数为p×(ci/p的商)≤ci;若这p个批次中有p-1个批次中的流水数都是ci/p的商,另一个批次内的流水数是分批后的剩余流水,由于该剩余流水小于ci/p的商,所以被调度的总流水数小于p×(ci/p的商)≤ci。而一轮调度中一般不会只调度一种业务,从而便验证了上述结论。虽然对于任一种被分批的业务,其单轮被调度的流水数也不会超出其系统处理能力,但是若存在未分批的业务,这些业务单轮被调度的流水数还是有可能超出其系统处理能力的。
进一步,在将符合分批条件的业务的流水进行分批后,可以将所得的流水批次(记为主批次)内的流水进行再分批,这样就形成了复合批次,即主批次内还有流水批次(记为子批次)。且再分批过程可以重复进行,即子批次内还有子批次,最后一级子批次内包含具体的流水。再分批较为适合下游业务系统具有多级子处理系统的情况,即下游业务系统包含一级子处理系统,一级自处理系统包含二级子处理系统……。再分批后,可以先将被调度的主批次内的子批次分发给一级子处理系统,然后再由一级子处理系统将子批次内的子批次分发给二级子处理系统,……,最后一级子批次内的流水被分发给最后一级子处理系统进行处理。
在上面的实施例中,所述的一轮调度是一轮只调度一次,然后即进行流水批次和/或流水的分发。本说明提供的第三个实施例中,一轮调度不一定只调度一次。下面具体介绍本实施例中的一轮调度的内容:将一轮调度中的第一次调度称为初始调度,本实施例中在初始调度前的业务分批过程也同上面的实施例中调度前的业务分批过程,该初始调度也同第二个实施例一轮调度中的一次调度过程。不妨把被调度的流水数超出其系统处理能力的业务统称为超量业务,即若某种被分批业务被调度的流水批次内所含的流水总数或者某种未分批业务被调度的流水数超出该业务的系统处理能力,则该业务为超量业务。按照上一实施例的分批方式,在初始调度后,超量业务只能是未分批业务。但是如果采用了其他的分批方式,在初始调度后,超量业务也有可能是被分批业务。若超量业务中包含未分批业务,则对于这其中的任一种未分批业务,确定其被调度的流水中超出其系统处理能力的流水数(以下简称“超出流水数”);若超量业务中包括被分批业务,则对于这其中的任一种被分批业务,可以先将其被调度的流水批次转换成流水数,然后计算该被分批业务的超出流水数,再将超出流水数转换成超出流水批次数(即该业务超出其系统处理能力的流水批次数)。若得到的超出流水批次数是小数则取大于该小数的最小整数,这样便于确定补调度的调度的流水批次和/或流水数。
在初始调度后,下游业务系统检测是否出现未分批的超量业务,分批系统检测是否出现分批的超量业务。若初始调度后出现超量业务,可以由下游业务系统向调度平台发送补调度指令,或者可以由分批系统向调度平台发送补调度指令,调度平台接收到补调度指令后进行补调度。在本实施例中,补调度可以进行指定次,例如一次;也可以在每次进行补调度后,重新确定相对于初始调度后是否出现了新的超量业务,若否,则继续进行补调度,若是,则停止补调度。例如若初始调度后出现了k种超量业务,在某次补调度后出现了除这k种超量业务之外的其他超量业务,则补调度到该次为止,不再进行补调度。
上面对补调度的次数进行了限定,在初始调度和每次补调度之后,都要重新确定超量业务的种类以及超出的流水批次数和超出流水数(对于超量业务中的任一种未分批业务来说,初始调度后确定的超出流水数是该业务初始调度的被调度流水数减去该业务系统处理能力;对于第二次及其以后的某次补调度来说,该次补调度后重新确定的超出流水数为该次补调度的调度流水数减去其系统处理能力,即使补调度多次,其超出流水数不累加)。对于首次补调度来说,其面向的是除了初始调度后确定的超量业务以外的其他种类业务,且首次补调度的调度数(同初始调度的调度能力)就是初始调度后确定的超出流水批次数的总和加上超出流水数的总和。在上次补调度完成且可以进行下次补调度的情况下(本实施例中“上次”和“下次”为任意相邻的两次),下次补调度面向的是除了上次补调度后所确定的超量业务以外的其他种类业务,且下次补调度的调度数就是上次补调度后重新确定的超出流水批次数的总和加上超出流水数的总和。例如,初始调度后确定的超量业务为某一种被分批业务和某一种未分批业务,该种被分批业务的超出批次数为l批,该种未分批业务的超出流水数为o条,则第一次补调度的调度数为l+o;若某次补调度后确定的超量业务仍为上述的某种被分批业务和某种未分批业务,该次补调度之后确定的超出批次数为l批,超出流水数为r条,则下一次补调度的调度数为l+r。再次强调的是,若按照第二个实施例的分批条件进行分批,则上述的超出批次数不会出现。
在本实施例中,对于被分批业务来说,在补调度结束前,初始调度和各次补调度的流水批次会暂存在分批系统,对于未分批的业务,其初始调度和每次补调度的流水都会直接分发到下游业务系统进行处理。在达到补调度停止的条件后,由分批系统从被初始调度和各次补调度的流水批次中选择流水批次(具体如何选择将在下文中说明)进行批次内流水分发,即将所选择的流水批次内的流水分发到下游业务系统进行处理。
下面介绍如何从一轮调度中被调度的流水批次中选择流水批次进行批次内流水分发,该处的“一轮调度中被调度的流水批次”可以是上一实施例中的一次调度的流水批次,也可以是本实施例中的初始调度加各次补调度的流水批次。
对于任一种被分批业务来说,不妨为业务Ai,假设其在一轮调度中被调度的总流水批次数为t,该被分批业务的系统处理能力为ci条/次,则在这t个流水批次中选择内含的流水总数不超出其系统处理能力的流水批次进行批次内流水分发,即被选择的流水批次所含的流水总数不超出ci。在这样的限定下,若有多种选择方式,则从中随机选择一种。进一步,还可以限定,在这t个流水批次中选择内含的流水总数不超出且最接近其系统处理能力的流水批次进行批次内流水分发。这样从上述的多种选择方式中会筛选出一种或两种以上的选择方式,可以这些被筛选出的选择方式随机选择一种。若Ai在一轮调度中被调度的所有流水批次所含的流水总数不超过系统处理能力,则将其所有流水批次都进行流水分发。
通过本实施例的补调度,可以对非超量业务进行进一步的调度补充,进一步有利于满足非超量业务的饱和处理需求,从而提高业务处理效率,减少业务处理耗时。在本实施例中,初始调度与首次补调度之间,相邻两次补调度之间的时间间隔极小,故本实施例中前后两轮调度的时间间隔是可以与上一实施例中前后两轮调度的时间间隔相同。
基于同样的思路,如图4所示,本说明书第四个实施例从调度平台的角度提供了一种业务调度方法,包括:
S201:接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务。
本实施例中,分批条件同第二个实施例,满足分批条件的任意或指定业务的流水的分批过程同第二个实施例的相关内容。
S202:以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
调度过程以及分发过程同第二个实施例中的相关内容,不满足分批条件的任意或指定业务的调度过程和分发过程同第二个实施例的相关内容。。
如图5所示,本说明书第五个实施例提供了在另一种实际应用场景下的业务分批系统。在本实施例中,上游业务系统21产生各种类业务的待处理流水,由分批系统22对任意或指定业务的待处理流水都进行分批,并以批次为单位为上述任意或指定业务在调度平台23上形成调度任务,然后调度平台23以批次为单位进行流水调度,被调度的流水批次中的流水经过流水分发到达下游业务系统24进行流水处理。本实施例既能够大大增加业务调度能力,又有利于满足业务的饱和处理需求,从而提高业务处理效率,减少业务处理耗时。
如图6所示,本说明书第六个实施例提供了一种业务分批方法,图7是本实施例中的业务分批以及调度示意图。结合图6和图7,本说明书本实施例提供的一种业务分批方法具体可以包括以下步骤
S301:任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务。
在本说明书本实施例中,本业务调度方法可以针对当前需要处理的业务中的任意业务(包括所有需要处理的业务),也可以针对当前需要处理的业务中的某些指定的业务。本实施例中仍然以本业务调度方法针对所有需要处理的业务为例进行说明。
本实施例中仍然采用了与第二个实施例中相同的分批条件,并且对于满足所述分批条件的流水分批过程与第二个实施例相同。特别的,可以将满足分批条件的业务可以看作上述的指定业务。本步骤特别之处在于,对于任一种不满足所述分批条件的业务,也可以对该业务的流水进行分批,并且该业务的批次内流水水可以指定,例如可以指定一条流水分为一批或者多条流水分为一批,从而所有需要处理的业务都是被分批业务。下面以对不满足分批条件的业务的流水也进行分批为例进行说明。本实施例中形成调度任务的过程同第二个实施例。
S302:接收按轮调度的流水批次。
由于对所有业务均进行了分批,因而本实施例中统一由分批系统接收按轮调度的流水批次。本实施例中各种被分批业务每轮被调度的流水批次会先进入分批系统,由分批系统从每轮被调度的流水批次中选择流水批次进行批次内流水分发,即将所选择的流水批次内的流水分发到下游业务系统进行处理。对满足分批条件的业务所要分发的流水批次的选择同第三个实施例,对于不满足分批条件的业务由于也进行了分批,因而也可以应用第三个实施例中的选择条件对其进行所要分发的流水批次的选择。
进一步,本实施例中也可以具有再分批过程,再分批过程同第二个实施例。
本说明书的第七个实施例中是在第六个实施例的基础上,在单轮调度也具有补调度这一过程,补调度的开始条件同第三个实施例。在本实施例中,在需要补调度时,需要先发送补调度指令,然后接收补调度的流水批次。补调度的停止条件也与第三个实施例相同,即在单轮调度中,发送补调度请求与接收补调度的流水批次交替进行指定次,或,所述发送补调度请求与接收补调度的流水批次交替进行,且每次接收补调度的流水批次后,确定相对于初始调度是否出现了新的超出其系统处理能力的被分批业务,若是,则停止发送补调度请求。
同第三个实施例,在初始调度和每次接收补调度的流水批次后,重新确定超量业务的种类和超出流水批次数。特别的,对于本实施例中任一种不满足分批条件的业务来说,若该业务采用的是一条流水分为一批,则该业务的超出流水批次数相当于第三个实施例中未分批业务的超出流水数。任一次发送的所述补调度请求包括该次补调度请求发送前重新确定的超量业务的种类和超出流水批次数。
第六和第七个实施例是从分批系统的角度来进行描述的,基于同样的思路,如图8所示,本说明书第八个实施例是从调度平台的角度,提供了一种业务调度方法,包括以下步骤:
S401:任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务。
其中可以按照第六个实施例的相关内容确定所述批次。
S402:按轮调度所述业务的流水批次。
本实施例中,一轮调度只调度一次。由于上述任意或指定的业务都是被分批业务,因而每次调度时对这些业务都是以批次为单位进行流水调度的,被调度的流水批次进入分批系统。
对应于第七个实施例,本说明书第九个实施例在第八个实施例的基础上还具有补调度的过程。在一轮调度中,任一次所述补调度请求包含该次补调度请求发送前重新确定的超量业务的种类和超出流水批次数。若调度平台收到首次补调度请求,则对初始调度后剩余的流水批次中,除首次补调度请求所包含的超量业务之外的被分批业务的流水批次进行补调度,且补调度的流水批次数等于首次补调度请求中所包含的超量业务的超出流水批次总数;若收到非首次补调度请求,则对上次补调度后剩余的各业务注册的流水批次中、除本次收到的补调度请求所包含的超量业务之外的被分批业务的流水批次进行补调度,且补调度的流水批次数等于本次收到的补调度请求中所包含的超量业务的超出流水批次总数。
基于同样的思路,如图9所示,本说明书第十个实施例还提供了对应于第二和第三个实施例的一种业务处理装置,包括:
条件确定模块501,用于任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
任务模块502,用于将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
调度模块503,用于按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
分发模块504,用于在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
可选的,所述分批条件包括:调度能力小于业务的系统处理能力。
可选的,将满足所述分批条件的所述业务的流水分批包括:对于任一种满足所述分批条件的所述业务,将该业务系统处理能力与调度能力的商作为批次内流水数对该业务流水进行分批。
可选的,对于任一种满足所述分批条件的所述业务,将该业务的单个流水批次内的流水进行再分批。
可选的,对于任一种满足所述分批条件的所述业务,若该业务分批后有剩余流水,则将剩余流水分成一批;或,对于任一种满足所述分批条件的所述业务,若该业务流水数小于所述批次内流水数,则将该业务所有流水分为一批。
可选的,对被分批和未分批业务的单轮调度包括:对被分批和未分批业务进行初始调度;
确定任一种被分批业务被初始调度的各流水批次所含的总流水数是否超出该业务的系统处理能力或任一种未分批业务被初始调度的流水数是否超出该业务的系统处理能力;
若上述两者满足其一,则对除上述超出业务之外的其他被分批业务的流水批次和/或未分批业务的流水进行补调度;若上述两者均不满足,则不进行补调度。
可选的,在单轮调度中,所述补调度进行指定次;或,
在每次进行补调度后,确定相对于初始调度是否出现了新的超出其系统处理能力的被分批或未分批业务,若是,则停止补调度。
可选的,在初始调度和每次补调度之后,重新确定超出其系统处理能力的各个被分批业务的种类和超出流水批次数、超出其系统处理能力的各个未分批业务的种类和超出流水数;
任一次补调度的被分批业务的流水批次总数和未分批业务的流水总数之和等于该次补调度之前确定的超出其系统处理能力的各个被分批业务的超出流水批次总数加上超出其系统处理能力的各个未分批业务的超出流水总数。
可选的,在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发包括:在每轮调度后,针对任一种被分批业务,在该业务被调度的所有流水批次中选择内含的流水总数不超出该业务系统处理能力的流水批次进行批次内流水分发;或,
在每轮调度后,针对任一种被分批业务,在该业务被调度的所有流水批次中选择内含的流水总数不超出且最接近该业务系统处理能力的流水批次进行批次内流水分发。
如图10所示,本说明书第十一个实施例还提供了对应于第四个实施例的一种业务调度装置,包括:
任务模块601,用于接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务;
调度模块602,用于以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
如图11所示,本说明书第十二个实施例还提供了对应于第六和第七个实施例的一种业务分批装置,包括:
分批模块701,用于任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务;
接收模块702,用于接收按轮调度的流水批次。
可选的,任意或指定业务的流水被调度前,将所述流水分批包括:
任意或指定业务的流水被调度前,确定所述业务各自的分批后的批次内流水数,根据所述批次内流水数对所述业务进行分批。
可选的,任意或指定业务的流水被调度前,将所述流水分批包括:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
对于任一种满足所述分批条件的所述业务,确定该业务分批后的批次内流水数,根据所述批次内流水数对该业务流水进行分批。
可选的,所述分批条件包括:
调度能力小于业务的系统处理能力。
可选的,对于任一种满足所述分批条件的所述业务,将该业务系统处理能力与调度能力的商作为该业务的所述批次内流水数。
可选的,对于任一种满足所述分批条件的所述业务,将该业务的单个流水批次内的流水进行再分批。
可选的,对于任一种满足所述分批条件的所述业务,若该业务分批后有剩余流水,则将剩余流水分成一批;或,
对于任一种满足所述分批条件的所述业务,若该业务流水数小于所述批次内流水数,则将该业务所有流水分为一批。
可选的,接收每轮调度的流水批次包括:接收初始调度的流水批次;
确定任一种被分批业务被初始调度的各流水批次所含的总流水数是否超出该业务的系统处理能力;
若是,则发送补调度请求,并接收补调度的流水批次;若否,则不发送补调度请求。
可选的,在单轮调度中,所述发送补调度请求与接收补调度的流水批次交替进行指定次;或,
所述发送补调度请求与接收补调度的流水批次交替进行,且每次接收补调度的流水批次后,确定相对于初始调度是否出现了新的超出其系统处理能力的被分批业务,若是,则停止发送补调度请求。
可选的,在初始调度和每次接收补调度的流水批次后,确定超出其系统处理能力的各个被分批业务的种类和超出流水批次数;
任一次发送的所述补调度请求包括该次补调度请求发送前确定的超出其系统处理能力的各个被分批业务的种类和超出流水批次数。
可选的,如图12所示,该装置还包括:
分发模块703,用于每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发。
可选的,每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发包括:
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出该业务系统处理能力的流水批次进行批次内流水分发;或,
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出且最接近该业务系统处理能力的流水批次进行批次内流水分发。
如图13所示,本说明书第十三个实施例还提供了对应于第八和第九个实施例的一种业务调度装置,包括:
任务模块801,用于任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务;
调度模块802,用于按轮调度所述业务的流水批次。
可选的,对所述业务的流水批次的单轮调度包括:
对所述业务的流水批次进行初始调度;
若收到首次补调度请求,则对初始调度后剩余的流水批次进行补调度;
若收到非首次补调度请求,则对上次补调度后剩余的流水批次进行补调度。
可选的,任一次所述补调度请求包含该次补调度请求发送前确定的超出其系统处理能力的各个被分批业务的种类和超出流水批次数;
若收到首次补调度请求,则对初始调度后剩余的的流水批次中、除首次补调度请求所包含的超出其系统处理能力的各个被分批业务之外的被分批业务的流水批次进行补调度,且补调度的流水批次数等于首次补调度请求中所包含的超出其系统处理能力的各个被分批业务的超出流水批次总数;
若收到非首次补调度请求,则对上次补调度后剩余的流水批次中、除本次收到的补调度请求所包含的超出其系统处理能力的各个被分批业务之外的被分批业务的流水批次进行补调度,且补调度的流水批次数等于本次收到的补调度请求中所包含的超出其系统处理能力的各个被分批业务的超出流水批次总数。
基于同样的思路,本说明书第十四个实施例还提供了一种业务处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
基于同样的思路,本说明书第十五个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在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,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (26)
1.一种业务处理方法,其特征在于,
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;其中,所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
2.一种业务调度方法,应用于调度平台,其特征在于,
接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务;所述流水分批后的业务表示为满足分批条件的业务;所述流水未分批的业务表示为不满足分批条件的业务;所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
3.一种业务分批方法,应用于分批系统,其特征在于,
任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
接收按轮调度的流水批次;
其中,任意或指定业务的流水被调度前,将所述流水分批包括:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;所述分批条件包括:调度能力小于业务的系统处理能力;
对于任一种满足所述分批条件的所述业务,确定该业务分批后的批次内流水数,根据所述批次内流水数对该业务流水进行分批。
4.如权利要求3所述的方法,其特征在于,对于任一种满足所述分批条件的所述业务,将该业务系统处理能力与调度能力的商作为所述批次内流水数。
5.如权利要求4所述的方法,其特征在于,该方法还包括:
对于任一种满足所述分批条件的所述业务,将该业务的单个流水批次内的流水进行再分批。
6.如权利要求3至5中任一项所述的方法,其特征在于,接收每轮调度的流水批次包括:
接收初始调度的流水批次;
确定任一种被分批业务被初始调度的各流水批次所含的总流水数是否超出该业务的系统处理能力;
若是,则发送补调度请求,并接收补调度的流水批次;
若否,则不发送补调度请求。
7.如权利要求6所述的方法,其特征在于,
在单轮调度中,所述发送补调度请求与接收补调度的流水批次交替进行指定次;或,
所述发送补调度请求与接收补调度的流水批次交替进行,且每次接收补调度的流水批次后,确定相对于初始调度是否出现了新的超出其系统处理能力的被分批业务,若是,则停止发送补调度请求。
8.如权利要求7所述的方法,其特征在于,在初始调度和每次接收补调度的流水批次后,确定超出其系统处理能力的各个被分批业务的种类和超出流水批次数;
任一次发送的所述补调度请求包括该次补调度请求发送前确定的超出其系统处理能力的各个被分批业务的种类和超出流水批次数。
9.如权利要求3至5中任一项所述的方法,其特征在于,该方法还包括:
每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发。
10.如权利要求9所述的方法,其特征在于,每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发包括:
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出该业务系统处理能力的流水批次进行批次内流水分发;或,
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出且最接近该业务系统处理能力的流水批次进行批次内流水分发。
11.一种业务调度方法,应用于调度平台,其特征在于,
任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务;所述业务为满足分批条件的业务;所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
按轮调度所述业务的流水批次。
12.如权利要求11所述的方法,其特征在于,对所述业务的流水批次的单轮调度包括:
对所述业务的流水批次进行初始调度;
若收到首次补调度请求,则对初始调度后剩余的流水批次进行补调度;
若收到非首次补调度请求,则对上次补调度后剩余的流水批次进行补调度。
13.一种业务处理装置,其特征在于,包括:
条件确定模块,用于任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;其中,所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
任务模块,用于将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
调度模块,用于按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
分发模块,用于在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
14.一种业务调度装置,其特征在于,包括:
任务模块,用于接受流水分批后的任意或指定业务以批次为单位形成调度任务以及接受流水未分批的任意或指定业务以单条流水为单位形成调度任务;所述流水分批后的业务表示为满足分批条件的业务;所述流水未分批的业务表示为不满足分批条件的业务;所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
调度模块,用于以批次为单位调度满足分批条件的任意或指定业务的流水以及以单条流水为单位调度不满足分批条件的任意或指定业务的流水。
15.一种业务分批装置,其特征在于,包括:
分批模块,用于任意或指定业务的流水被调度前,将所述流水分批,以批次为单位为所述业务形成调度任务;其中,所述分批模块用于任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;所述分批条件包括:调度能力小于业务的系统处理能力;对于任一种满足所述分批条件的所述业务,确定该业务分批后的批次内流水数,根据所述批次内流水数对该业务流水进行分批;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
接收模块,用于接收按轮调度的流水批次。
16.如权利要求15所述的装置,其特征在于,对于任一种满足所述分批条件的所述业务,将该业务系统处理能力与调度能力的商作为所述批次内流水数。
17.如权利要求16所述的装置,其特征在于,
对于任一种满足所述分批条件的所述业务,将该业务的单个流水批次内的流水进行再分批。
18.如权利要求15至17中任一项所述的装置,其特征在于,接收每轮调度的流水批次包括:
接收初始调度的流水批次;
确定任一种被分批业务被初始调度的各流水批次所含的总流水数是否超出该业务的系统处理能力;
若是,则发送补调度请求,并接收补调度的流水批次;
若否,则不发送补调度请求。
19.如权利要求18所述的装置,其特征在于,
在单轮调度中,所述发送补调度请求与接收补调度的流水批次交替进行指定次;或,
所述发送补调度请求与接收补调度的流水批次交替进行,且每次接收补调度的流水批次后,确定相对于初始调度是否出现了新的超出其系统处理能力的被分批业务,若是,则停止发送补调度请求。
20.如权利要求19所述的装置,其特征在于,在初始调度和每次接收补调度的流水批次后,确定超出其系统处理能力的各个被分批业务的种类和超出流水批次数;
任一次发送的所述补调度请求包括该次补调度请求发送前确定的超出其系统处理能力的各个被分批业务的种类和超出流水批次数。
21.如权利要求15至17中任一项所述的装置,其特征在于,该装置还包括:
分发模块,用于每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发。
22.如权利要求21所述的装置,其特征在于,每次接收按轮调度的流水批次后从接收的流水批次中选择流水批次进行批次内流水分发包括:
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出该业务系统处理能力的流水批次进行批次内流水分发;或,
每次接收按轮调度的流水批次后,针对任一种被分批业务,在该业务被接收的所有流水批次中选择内含的流水总数不超出且最接近该业务系统处理能力的流水批次进行批次内流水分发。
23.一种业务调度装置,其特征在于,包括:
任务模块,用于任意或指定业务的流水被调度前,接受所述业务以批次为单位形成调度任务;所述业务为满足分批条件的业务;所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
调度模块,用于按轮调度所述业务的流水批次;
其中,由业务处理装置的条件确定模块,在任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;所述分批条件包括:调度能力小于业务的系统处理能力;
由业务处理装置的任务模块,将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务。
24.如权利要求23所述的装置,其特征在于,对所述业务的流水批次的单轮调度包括:
对所述业务的流水批次进行初始调度;
若收到首次补调度请求,则对初始调度后剩余的流水批次进行补调度;
若收到非首次补调度请求,则对上次补调度后剩余的流水批次进行补调度。
25.一种业务处理设备,其特征在于,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;其中,所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
26.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现如下的步骤:
任意或指定业务的流水被调度前,确定所述业务是否满足分批条件;其中,所述分批条件包括:调度能力小于业务的系统处理能力;所述业务在调度过程中被无差别调度;对于任一种满足所述分批条件的所述业务,将所述业务系统处理能力与调度能力的商作为所述批次内流水数;
将满足所述分批条件的所述业务的流水分批并以批次为单位形成调度任务以及将不满足所述分批条件的所述业务以单条流水为单位形成调度任务;
按轮调度被分批业务的流水批次以及不满足所述分批条件的所述业务的流水;
在每轮调度后从被调度的流水批次中选择流水批次进行批次内流水分发以及在每轮调度后分发被调度的未分批业务流水,以使被分发的流水被处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811016834.6A CN109389286B (zh) | 2018-09-03 | 2018-09-03 | 一种业务处理、调度、分批方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811016834.6A CN109389286B (zh) | 2018-09-03 | 2018-09-03 | 一种业务处理、调度、分批方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109389286A CN109389286A (zh) | 2019-02-26 |
CN109389286B true CN109389286B (zh) | 2022-11-18 |
Family
ID=65418715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811016834.6A Active CN109389286B (zh) | 2018-09-03 | 2018-09-03 | 一种业务处理、调度、分批方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109389286B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038559A (zh) * | 2006-09-11 | 2007-09-19 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
CN101959304A (zh) * | 2009-07-15 | 2011-01-26 | 中国移动通信集团设计院有限公司 | 一种wap网关资源的调度方法及相关设备 |
CN103561041A (zh) * | 2013-11-15 | 2014-02-05 | 深信服网络科技(深圳)有限公司 | Ssl新建连接的处理方法和装置 |
CN103927314A (zh) * | 2013-01-16 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种数据批量处理的方法和装置 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN108171372A (zh) * | 2017-12-25 | 2018-06-15 | 上海大学 | 一种存在准备时间的多品种生产分批调度方法 |
-
2018
- 2018-09-03 CN CN201811016834.6A patent/CN109389286B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038559A (zh) * | 2006-09-11 | 2007-09-19 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
CN101959304A (zh) * | 2009-07-15 | 2011-01-26 | 中国移动通信集团设计院有限公司 | 一种wap网关资源的调度方法及相关设备 |
CN103927314A (zh) * | 2013-01-16 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种数据批量处理的方法和装置 |
CN103561041A (zh) * | 2013-11-15 | 2014-02-05 | 深信服网络科技(深圳)有限公司 | Ssl新建连接的处理方法和装置 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN108171372A (zh) * | 2017-12-25 | 2018-06-15 | 上海大学 | 一种存在准备时间的多品种生产分批调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109389286A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107360206B (zh) | 一种区块链共识方法、设备及系统 | |
CN111756550B (zh) | 一种区块链共识方法及装置 | |
CN107577694B (zh) | 一种基于区块链的数据处理方法及设备 | |
JP6716149B2 (ja) | ブロックチェーンベースのデータ処理方法および装置 | |
CN107577523B (zh) | 一种任务执行的方法及装置 | |
US9503548B2 (en) | Subscriber based priority of messages in a publisher-subscriber domain | |
CN103778016B (zh) | 多线程处理器 | |
CN107025137B (zh) | 一种资源查询方法及装置 | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
KR20200138340A (ko) | 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭 | |
CN107291720B (zh) | 一种实现批量数据处理的方法、系统和计算机集群 | |
JP2014211743A (ja) | マルチコアプロセッサ | |
CN116225669B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN109389286B (zh) | 一种业务处理、调度、分批方法、装置、设备及介质 | |
CN112596898A (zh) | 一种任务执行器调度的方法及装置 | |
CN110276637B (zh) | 资源分配方法和装置、优惠券分配方法和装置 | |
CN115695330B (zh) | 嵌入式系统中微程的调度系统、方法、终端及存储介质 | |
CN111539601A (zh) | 话务资源的调度方法及装置 | |
CN110032433B (zh) | 一种任务执行方法、装置、设备及介质 | |
CN115408153B (zh) | 多线程处理器的指令分发方法、装置和存储介质 | |
CN113177632B (zh) | 一种基于流水线并行的模型训练方法、装置以及设备 | |
CN114816703A (zh) | 一种任务处理方法、装置、设备及介质 | |
CN113344248A (zh) | 一种订单分配的方法、装置、存储介质以及电子设备 | |
CN109412973B (zh) | 一种音频处理方法、装置及存储介质 | |
CN102609306A (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 |