业务处理方法及装置与流程

文档序号:18544132发布日期:2019-08-27 21:30阅读:174来源:国知局
业务处理方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种业务处理方法及装置。



背景技术:

随着科学及社会的飞速发展,各类业务系统的出现极大方便了人们的工作与生活。当业务系统所需处理的业务量较大时,通常需由多个业务节点共同进行业务处理,从而提升业务系统的处理效率。目前的业务系统在进行业务处理过程中,通常是根据任务的类型进行任务分发(如公布号为cn109471710a),即由某服务器来处理某类任务。

发明人在实施过程中,发现现有的实施方式存在如下缺陷:业务系统对应的业务量会随时间而动态变化,当某类任务的业务量较少时,与该类任务对应的服务器会出现服务器长时间空闲的现象,从而造成系统资源的浪费。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的业务处理方法及装置。

根据本发明的一个方面,提供了一种业务处理方法,包括:

获取至少一个业务任务,并针对于每个业务任务,生成与该业务任务相对应的多个任务资源片;

分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片获取并处理对应的子任务;

当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

可选的,所述生成与该业务任务相对应的多个任务资源片进一步包括:

根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量;

根据该业务任务相对应的任务资源片的数量,生成与该业务任务相对应的多个任务资源片。

可选的,所述任务指标包括以下指标中的至少一种:当前业务任务对应的待执行子任务数量、当前业务任务对应的处理量上限、以及当前业务任务对应的子任务平均处理速度。

可选的,所述根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量进一步包括:

若所述当前业务任务对应的待执行子任务数量小于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的待执行子任务数量以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量;

若所述当前业务任务对应的待执行子任务数量大于或等于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的处理量上限以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量。

可选的,所述分别将所述多个任务资源片分配给对应的任务处理节点进一步包括:

采用轮询的方式,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,所述分别将所述多个任务资源片分配给对应的任务处理节点进一步包括:

根据任务处理节点的优先级,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,所述任务资源片无效占用时长具体为:任务处理节点占用任务资源片且未处理子任务的时长。

可选的,所述当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片进一步包括:

当任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,回收该任务处理节点释放的任务资源片。

可选的,所述分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片获取并处理对应的子任务进一步包括:

分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片从对应的子任务队列中获取子任务,并执行获取到的子任务。

可选的,若所述任务处理节点利用分配的任务资源片从对应的子任务队列中未获取到子任务,则根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务。

根据本发明的另一个方面,提供了一种业务处理装置,包括:

获取模块,适于获取至少一个业务任务;

资源片生成模块,适于针对于每个业务任务,生成与该业务任务相对应的多个任务资源片;

分配模块,适于分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片获取并处理对应的子任务;

回收模块,适于当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

可选的,所述资源片生成模块进一步适于:根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量;

根据该业务任务相对应的任务资源片的数量,生成与该业务任务相对应的多个任务资源片。

可选的,所述任务指标包括以下指标中的至少一种:当前业务任务对应的待执行子任务数量、当前业务任务对应的处理量上限、以及当前业务任务对应的子任务平均处理速度。

可选的,所述资源片生成模块进一步适于:

若所述当前业务任务对应的待执行子任务数量小于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的待执行子任务数量以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量;

若所述当前业务任务对应的待执行子任务数量大于或等于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的处理量上限以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量。

可选的,所述分配模块进一步适于:采用轮询的方式,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,所述分配模块进一步适于:根据任务处理节点的优先级,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,所述任务资源片无效占用时长具体为:任务处理节点占用任务资源片且未处理子任务的时长。

可选的,所述回收模块进一步适于:当任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,回收该任务处理节点释放的任务资源片。

可选的,所述分配模块进一步适于:分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片从对应的子任务队列中获取子任务,并执行获取到的子任务。

可选的,若所述任务处理节点利用分配的任务资源片从对应的子任务队列中未获取到子任务,则根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务。

根据本发明的又一个方面,提供了一种业务处理系统,包括:上述业务处理装置,以及多个任务处理节点。

根据本发明的再一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述业务处理对应的操作。

根据本发明的又一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述业务处理方法对应的操作。

根据本发明提供的业务处理方法及装置,首先获取至少一个业务任务,并针对于每个业务任务,生成与该业务任务相对应的多个任务资源片;进一步分别将多个任务资源片分配给对应的任务处理节点,以供任务处理节点利用分配的任务资源片获取并处理对应的子任务;当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。本方案通过生成与该业务任务相对应的多个任务资源片,利用该任务资源片来进行子任务的处理,从而实现对业务任务执行过程的细粒度拆分,有利于对系统资源的有效利用;并在满足预设条件时回收任务处理节点释放的任务资源片,有效避免了系统资源的浪费,尤其针对于业务量变化较大的业务系统具有优异的优化效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例提供的一种业务处理方法的流程示意图;

图2示出了根据本发明另一个实施例提供的一种业务处理方法的流程示意图;

图3示出了根据本发明一个实施例提供的一种业务处理装置的功能结构示意图;

图4示出了根据本发明一个实施例提供的一种业务处理系统的功能结构示意图;

图5示出了根据本发明一个实施例提供的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例提供的一种业务处理方法的流程示意图。其中,本实施例所提供的业务处理方法可应用于包含有多个任务处理节点的业务系统中,并且本实施例所提供的业务处理方法可以由业务系统中的相关节点执行,如业务系统中的中心节点、中间件或非任务处理节点等。

如图1所示,该方法包括:

步骤s110,获取至少一个业务任务,并针对于每个业务任务,生成与该业务任务相对应的多个任务资源片。

不同于现有技术中将某一业务任务指派至与其对应的任务处理节点执行,本实施例中首先对业务任务的执行过程进行细粒度拆分,从而生成与该业务任务对应的多个任务资源片。

在具体的实施过程中,首先获取至少一个业务任务,该获取的业务任务为待进行任务执行过程优化的业务任务。例如,获取的业务任务可以为业务系统中的所有业务任务,从而针对业务系统中所有业务任务进行优化;或者,获取的业务任务也可以仅仅为业务系统中业务量变化较大的业务任务,从而仅通过对业务量变化较大的业务任务执行过程的优化,即可实现整个业务系统资源的有效利用。在获取业务系统中业务量变化较大的业务任务时,可预先获取业务任务对应的历史业务量数据,从而确定业务任务对应的预设时间窗口的业务量变化率(其中,该时间窗口可以为每小时,每天,每月等等),进而将预设时间窗口的业务量变化率大于预设变化率的业务任务确定为待获取的业务任务。本实施例对获取的业务任务不做限定,本领域技术人员可根据实际的需求自行选择获取的业务任务。

进一步地,对于获取到的业务任务中的每个业务任务,生成与该业务任务相对应的多个任务资源片。本实施例对多个任务资源片的具体生成方式不做限定,例如可针对于每个业务任务,生成固定数目的任务资源片(其中,该固定数目大于或等于2);也可根据每个业务任务的相关特征,生成与该业务任务的相关特性相匹配的数目的任务资源片。

步骤s120,分别将多个任务资源片分配给对应的任务处理节点,以供任务处理节点利用分配的任务资源片获取并处理对应的子任务。

本实施例中一个业务任务对应有多个任务处理节点,同时,一个任务处理节点可对应于多个业务任务。在步骤s110生成与业务任务相对应的多个任务资源片之后,可将生成的多个任务资源片分配给与该业务任务对应的多个任务处理节点。分配有任务资源片的任务处理节点,可利用分配到的任务资源片获取相应的子任务,并利用自身的处理资源处理该子任务。

可选的,由于一个任务处理节点可对应于多个业务任务,为避免业务处理冲突,在将多个任务资源片分配给对应的任务处理节点时,可将多个任务资源片分配给当前未占用任何任务资源片的任务处理节点。

步骤s130,当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

任务处理节点在获得任务资源片后,存在占用该任务资源片,但未获取到相应的子任务进行执行的过程。所以为避免系统资源的浪费,在任务处理节点的任务资源片无效占用时长达到预设阈值时,该任务处理节点会自动释放分配的任务资源片,则本步骤可在一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片,并可将该任务资源片分配给其他任务处理节点,而释放该任务资源片的任务处理节点仍可获得其他业务任务对应的任务资源片。从而实现系统资源的有效利用,避免系统资源的浪费。

以下以一具体示例来详细阐述步骤s110-步骤s130的实施过程:

首先获取业务系统中业务量变化较大的新增店铺任务a及新增产品任务b;分别针对于新增店铺任务a及新增产品任务b,生成与新增店铺任务a对应的a1、a2、a3及a4共4个任务资源片,生成与新增产品任务b对应的b1、b2、b3共3个任务资源片(对应步骤s110)。

进一步地,将任务资源片a1、a2、a3及a4分别分配给与新增店铺任务a对应的任务处理节点p1、p2、p3及p4;将任务资源片b1、b2、b3分别分配给与新增产品任务b对应的任务处理节点p5、p6及p7;则分配有任务资源片的任务处理节点利用分配到的任务资源片来获取相应的子任务进行执行,如任务处理节点p1利用分配到的任务资源片a1来获取新增店铺任务a中的子任务,其中,该子任务可以为一条或多条新增店铺请求。(对应步骤s120。)

当任务处理节点p2占用任务资源片a2过程中,长时间未获取到新增店铺任务a中的子任务进行执行,则任务处理节点p2释放该任务资源片a2。则任务处理节点p2可接收其他业务任务对应的任务资源片,同时,任务资源片a2也可分发给与新增店铺任务a对应的其他任务处理节点。(对应步骤s130)。

由此可见,本实施例中针对于每个业务任务,生成与该业务任务相对应的多个任务资源片,并分别将多个任务资源片分配给对应的任务处理节点,使任务处理节点利用分配的任务资源片获取并处理对应的子任务,从而对每个业务任务的处理过程进行了细粒度的划分,有利于系统资源的有效利用;当某一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片,并可将该回收的任务资源片分发至其他当前未分配有任务资源片的任务处理节点,并且该释放的任务资源片仍可接收其他业务处理任务对应任务资源片,进一步地避免了系统资源的浪费,有利于系统资源的有效利用。

图2示出了根据本发明另一个实施例提供的一种业务处理方法的流程示意图。其中,本实施例所提供的业务处理方法是对图1所示实施例的进一步优化。如图2所示,该方法包括:

步骤s210,获取至少一个业务任务。

其中,获取的业务任务可以为业务系统中的所有业务任务,也可以仅仅为业务系统中业务量变化较大的业务任务,从而仅通过对业务量变化较大的业务任务执行过程的优化,即可实现整个业务系统资源的有效利用。

步骤s220,针对于每个业务任务,根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量,并根据该业务任务相对应的任务资源片的数量,生成与该业务任务相对应的多个任务资源片。

针对于获取到的每个业务任务,生成与该业务任务相对应的多个任务资源片。在生成与该业务任务相对应的多个任务资源片的过程中,为了保障生成的任务资源片与业务任务的实际情况相匹配,本实施例具体根据该业务任务的至少一个任务指标,生成与该业务任务相对应的多个任务资源片。

具体地,首先根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量。其中,任务指标包括以下指标中的至少一种:当前业务任务对应的待执行子任务数量、当前业务任务对应的处理量上限、以及当前业务任务对应的子任务平均处理速度。可选的,当前业务任务对应的待执行子任务数量可以为当前业务任务对应的待执行子任务的数量级,当前业务任务对应的处理量上限可以为当前业务任务对应的秒级处理量上限。其中,该任务指标能够有效反映出该业务任务的资源需求,从而根据该任务指标获得的任务资源片的数量能够与该业务任务的实际处理需求相匹配,有利于业务任务的高效处理,并能够有效利用系统资源,避免资源浪费。

可选的,可通过以下方式根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量时:首先判断当前业务任务对应的待执行子任务数量是否小于当前业务任务对应的处理量上限;进一步地,若当前业务任务对应的待执行子任务数量小于当前业务任务对应的处理量上限,则根据当前业务任务对应的待执行子任务数量以及当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量,例如,根据当前业务任务对应的待执行子任务数量与当前业务任务对应的子任务平均处理速度的比值,确定与该业务任务相对应的任务资源片的数量;若当前业务任务对应的待执行子任务数量大于或等于当前业务任务对应的处理量上限,则根据当前业务任务对应的处理量上限以及当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量,例如,根据可当前业务任务对应的处理量上限与当前业务任务对应的子任务平均处理速度的比值,确定与该业务任务相对应的任务资源片的数量。

举例来说,若当前业务任务对应的处理量上限为每秒100,当前业务任务对应的子任务平均处理速度为1/0.25(个/s)(即相当于平均每个子任务耗时250ms)。若当前业务任务对应的待执行子任务数量为1000(大于100),则通过100/(1/0.25)=25,确定与该业务任务相对应的任务资源片的数量为25;若当前业务任务对应的待执行子任务数量为10(小于100),则通过10/(1/0.25)=2.5,确定与该业务任务相对应的任务资源片的数量为3(对2.5四舍五入后取整)。

在一种可选的实施方式中,可根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量,以及每个任务资源片的单次子任务数量。则根据该业务任务相对应的任务资源片的数量及每个任务资源片的单次子任务数量生成与该业务任务相对应的多个任务资源片。其中,该单词子任务数量可约束任务处理节点单次获取的子任务的数量。

步骤s230,分别将多个任务资源片分配给对应的任务处理节点,以供任务处理节点利用分配的任务资源片从对应的子任务队列中获取子任务,并执行获取到的子任务。

将生成的多个任务资源片分配给与该业务任务对应的任务处理节点。本实施例中将该多个任务资源片分配给与该业务任务对应的任务处理节点可采用以下分配方式中的一种或多种的结合:

分配方式一,采用轮询的方式,分别将多个任务资源片分配给对应的任务处理节点。具体地,可采用主动轮询分发的方式,依次将当前未分配的任务资源片分发给与该业务任务对应的,且当前未占用任何任务资源片的任务处理节点中;或者,采用任务处理节点主动轮询的方式,由当前未占用任何任务资源片的任务处理节点主动轮询尚未分配的任务资源片,从而实现将任务资源片分配给对应的任务处理节点。该分配方式简单易行,适于大规模应用与实施。

分配方式二,根据任务处理节点的优先级,分别将多个任务资源片分配给对应的任务处理节点。具体地,为各个任务处理节点配置有对应的优先级(其中该优先级可根据节点的处理能力确定),并将任务资源片优先分配给优先级高的任务处理节点,从而根据各节点的实际情况进行资源片的分配,有利于业务处理效率的提升。

进一步地,在将多个任务资源片分配给对应的任务处理节点之后,分配有任务资源片的任务处理节点可以利用该任务资源片,从与该业务任务对应的子任务队列中获取并执行子任务。其中,该子任务队列中存储有针对于该业务任务的子任务信息,例如,业务任务为新增店铺任务,则子任务队列中存储有与各个新增店铺请求对应的新增店铺子任务(其中,一个新增店铺请求可对应于一个新增店铺子任务)。

步骤s240,当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

分配有任务资源片的任务处理节点在利用任务资源片,从与该业务任务对应的子任务队列中获取并执行子任务之后,可再次利用该任务资源片从对应的子任务队列中获取子任务进行执行。倘若分配有任务资源片的任务处理节点在利用任务资源片,从与该业务任务对应的子任务队列中获取并执行子任务之后,由于子任务队列已不包含子任务等情况,任务处理节点利用分配的任务资源片从对应的子任务队列中未获取到子任务,则该任务处理节点可根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务。其中,等待周期可与未获取到子任务的次数相匹配。例如,可t=n*2(n-1),确定每次的等待周期,其中t为每次的等待时间,n为未获取到子任务的次数。举例来说,任务处理节点在第一次未获取到子任务时,等待1*2(1-1)个单位时间(该单位时间可以为1秒)后,再次获取子任务,若再次获取子任务失败时,则等待2*2(2-1)个单位时间进行下一次的子任务获取,从而避免在任务处理节点获取子任务失败后直接释放任务资源分片而引起的系统资源开销。

为了避免系统资源的浪费,任务处理节点在任务资源片无效占用时长达到预设阈值时,释放分配的任务资源片。其中,任务资源片无效占用时长具体为任务处理节点占用任务资源片且未处理子任务的时长。在具体实施过程中,当任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,该任务处理节点释放分配的任务资源片,从而本步骤可在任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,回收该任务处理节点释放的任务资源片。回收获得的任务资源片可进一步地分配给其他业务处理节点,而释放该任务资源片的任务处理节点也可获取其他业务任务对应的任务资源片,从而实现系统资源的有效利用。

在一种可选的实施方式中,为避免某一服务器出现故障影响其他业务任务的处理,本实施例进一步设置有相应的业务域,其中,每个业务域包含有多个业务任务,如新增域中包含新增店铺任务及新增产品业务等等。同一业务域中的各个业务任务对应的任务处理节点相同,即同一业务域中的多个任务处理节点可获取与该业务域对应的各个业务任务的任务资源片,从而在实现资源隔离的同时,有效利用系统资源,提升业务的处理效率。

由此可见,本实施例中针对于每个业务任务,生成与该业务任务相对应的多个任务资源片,并分别将多个任务资源片分配给对应的任务处理节点,使任务处理节点利用分配的任务资源片获取并处理对应的子任务,从而对每个业务任务的处理过程进行了细粒度的划分,有利于系统资源的有效利用;当某一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片,并可将该回收的任务资源片分发至其他当前未分配有任务资源片的任务处理节点,并且该释放的任务资源片仍可接收其他业务处理任务对应任务资源片,进一步地避免了系统资源的浪费,有利于系统资源的有效利用;并且,根据业务任务的至少一个任务指标确定分配的任务资源片的数量,有利于保障生成的任务资源片与业务任务的实际情况相匹配,提升业务处理效率,并有利于系统资源的有效利用;另外,任务处理节点可根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务,能够避免在任务处理节点获取子任务失败后直接释放任务资源分片而引起的系统资源开销。

图3示出了根据本发明一个实施例提供的一种业务处理装置的功能结构示意图。如图3所示,该装置包括:获取模块31、资源片生成模块32、分配模块33及回收模块34。

获取模块31,适于获取至少一个业务任务;

资源片生成模块32,适于针对于每个业务任务,生成与该业务任务相对应的多个任务资源片;

分配模块33,适于分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片获取并处理对应的子任务;

回收模块34,适于当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

可选的,资源片生成模块32进一步适于:根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量;

根据该业务任务相对应的任务资源片的数量,生成与该业务任务相对应的多个任务资源片。

可选的,所述任务指标包括以下指标中的至少一种:当前业务任务对应的待执行子任务数量、当前业务任务对应的处理量上限、以及当前业务任务对应的子任务平均处理速度。

可选的,资源片生成模块32进一步适于:

若所述当前业务任务对应的待执行子任务数量小于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的待执行子任务数量以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量;

若所述当前业务任务对应的待执行子任务数量大于或等于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的处理量上限以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量。

可选的,分配模块33进一步适于:采用轮询的方式,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,分配模块33进一步适于:根据任务处理节点的优先级,分别将所述多个任务资源片分配给对应的任务处理节点。

可选的,任务资源片无效占用时长具体为:任务处理节点占用任务资源片且未处理子任务的时长。

可选的,回收模块34进一步适于:当任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,回收该任务处理节点释放的任务资源片。

可选的,分配模块33进一步适于:分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片从对应的子任务队列中获取子任务,并执行获取到的子任务。

可选的,若所述任务处理节点利用分配的任务资源片从对应的子任务队列中未获取到子任务,则根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务。

其中,本实施例装置中各模块的具体实施过程可参照图1和/或图2所示方法实施例中相应部分的描述,本实施例在此不做赘述。

由此可见,本实施例中针对于每个业务任务,生成与该业务任务相对应的多个任务资源片,并分别将多个任务资源片分配给对应的任务处理节点,使任务处理节点利用分配的任务资源片获取并处理对应的子任务,从而对每个业务任务的处理过程进行了细粒度的划分,有利于系统资源的有效利用;当某一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片,并可将该回收的任务资源片分发至其他当前未分配有任务资源片的任务处理节点,并且该释放的任务资源片仍可接收其他业务处理任务对应任务资源片,进一步地避免了系统资源的浪费,有利于系统资源的有效利用。

图4示出了根据本发明一个实施例提供的一种业务处理系统的功能结构示意图。如图4所示,该系统包括图3所示业务处理装置41以及多个任务处理节点。

根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的业务处理方法。

根据本发明一个实施例提供了一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(communicationsinterface)504、存储器(memory)506、以及通信总线508。

其中:

处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。

通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器502,用于执行程序510,具体可以执行上述业务处理方法实施例中的相关步骤。

具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。

处理器502可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行以下操作:

获取至少一个业务任务,并针对于每个业务任务,生成与该业务任务相对应的多个任务资源片;

分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片获取并处理对应的子任务;

当任一任务处理节点的任务资源片无效占用时长达到预设阈值时,回收该任务处理节点释放的任务资源片。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

根据该业务任务的至少一个任务指标,确定与该业务任务相对应的任务资源片的数量;

根据该业务任务相对应的任务资源片的数量,生成与该业务任务相对应的多个任务资源片。

在一种可选的实施方式中,所述任务指标包括以下指标中的至少一种:当前业务任务对应的待执行子任务数量、当前业务任务对应的处理量上限、以及当前业务任务对应的子任务平均处理速度。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

若所述当前业务任务对应的待执行子任务数量小于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的待执行子任务数量以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量;

若所述当前业务任务对应的待执行子任务数量大于或等于所述当前业务任务对应的处理量上限,则根据所述当前业务任务对应的处理量上限以及所述当前业务任务对应的子任务平均处理速度,确定与该业务任务相对应的任务资源片的数量。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

采用轮询的方式,分别将所述多个任务资源片分配给对应的任务处理节点。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

根据任务处理节点的优先级,分别将所述多个任务资源片分配给对应的任务处理节点。

在一种可选的实施方式中,所述任务资源片无效占用时长具体为:任务处理节点占用任务资源片且未处理子任务的时长。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

当任一任务处理节点的任务资源片无效占用起始点,距当前时间的时间间隔达到预设时间阈值时,回收该任务处理节点释放的任务资源片。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

分别将所述多个任务资源片分配给对应的任务处理节点,以供所述任务处理节点利用分配的任务资源片从对应的子任务队列中获取子任务,并执行获取到的子任务。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

若所述任务处理节点利用分配的任务资源片从对应的子任务队列中未获取到子任务,则根据预设的等待周期,再次利用分配的任务资源片从对应的子任务队列中获取子任务。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的业务处理装置及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1