数据处理方法、装置、调度服务器及介质与流程

文档序号:21626471发布日期:2020-07-29 02:33阅读:172来源:国知局
数据处理方法、装置、调度服务器及介质与流程

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、调度服务器及介质。



背景技术:

随着计算机技术的发展,计算机可以用于处理多种类的任务,但随着计算机性能提升的同时,任务的复杂度也与日俱增,因此可以采用计算机集群对任务进行处理,对于一个庞大的聚合任务来说,直接将整个聚合任务一次性发布到计算机集群中,瞬间会占用大量资源,导致资源峰值,影响同时使用同个计算资源的其他任务,出现资源争抢,严重情况会导致计算机集群宕机,在任务管理上由于任务粒度更大,不能更灵活更细粒度地管理任务,以便回收任务占用的资源。

这种聚合任务会导致一个超级庞大的聚合脚本,从而导致后续的脚本维护成本剧增,后续有新的业务统计逻辑,或者要变更原有计算逻辑,修改如此庞大的脚本会更容易出现问题,不满足软件设计的开闭原则,因此,如何提升针对占用资源较大的聚合任务的处理效率,成为亟待解决的问题。



技术实现要素:

本发明实施例提供了一种数据处理方法、装置、调度服务器及介质,可以对数据进行拆分处理,提升对于数据处理的效率。

第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:

接收终端发送的待处理任务;

若所述待处理任务满足预设拆分条件,则根据目标拆分策略对所述待处理任务进行拆分处理,得到至少一个子任务,所述目标拆分策略用于确定针对所述待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系;

为所述每个子任务添加标识,并将添加标识后的所述每个子任务发送至对应的执行服务器,以使得所述每个子任务对应的执行服务器对所述各个子任务进行处理;

接收所述每个子任务对应的执行服务器返回的处理结果,所述每个子任务对应的执行服务器返回的处理结果中含有所述标识;

根据所述标识对所述每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对所述待处理任务的目标处理结果。

第二方面,本发明实施例提供了一种数据处理装置,所述装置包括:

接收模块,用于接收终端发送的待处理任务;

拆分模块,用于若所述待处理任务满足预设拆分条件,则根据目标拆分策略对所述待处理任务进行拆分处理,得到至少一个子任务,所述目标拆分策略用于确定针对所述待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系;

发送模块,用于为所述每个子任务添加标识,并将添加标识后的所述每个子任务发送至对应的执行服务器,以使得所述每个子任务对应的执行服务器对所述各个子任务进行处理;

所述接收模块,还用于接收所述每个子任务对应的执行服务器返回的处理结果,所述每个子任务对应的执行服务器返回的处理结果中含有所述标识;

合并模块,用于根据所述标识对所述每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对所述待处理任务的目标处理结果。

第三方面,本发明实施例提供了一种调度服务器,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。

本发明实施例中,调度服务器接收终端发送的待处理任务,若待处理任务满足预设拆分条件,则调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务,调度服务器为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,调度服务器接收每个子任务对应的执行服务器返回的处理结果,并根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。通过实施上述方法,可以对数据进行拆分处理,提升对于数据处理的效率。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据处理系统的结构示意图;

图2是本发明实施例提供的另一种数据处理方法的流程示意图;

图3是本发明实施例提供的另一种数据处理方法的流程示意图;

图4是本发明实施例提供的一种数据处理装置的结构示意图;

图5是本发明实施例提供的一种调度服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,为本发明实施例提供一种数据处理系统,该数据处理系统包括:调度服务器,与调度服务器相连接的至少一个终端,以及与调度服务器相连接的设备集群,该设备集群中包括至少一个执行服务器。其中,终端可包括但不限于:手机、平板电脑、电脑等,用于与用户进行交互,例如接收用户上传的待处理任务;以及用于与调度服务器进行交互,例如将待处理任务发送至调度服务器以请求获得数据处理服务等等。调度服务器用于接收终端发送的待处理任务,并将待处理任务分配各个执行服务器,具体可以基于一定的拆分策略将待处理任务拆分为各个子任务之后,将各个子任务发送至各个执行服务器,以使得各个执行服务器对子任务进行处理,得到处理结果。执行服务器用于对接收到的任务进行处理,并向调度服务器返回处理结果。调度服务器还可以对执行服务器返回的针对各个子任务的处理结果进行合并,得到针对待处理任务的目标处理结果。

基于上述数据处理系统的实施例的描述,本发明实施例提供一种数据处理方法,该方法可以应用于图1所示的数据处理系统中,具体可以由图1所示的调度服务器执行。请参见图2,该数据处理过程可包括以下步骤s201-s205:

s201、调度服务器接收终端发送的待处理任务。

本发明实施例中,待处理任务可以由用户通过终端进行输入,终端检测到用户输入的待处理任务之后,将待处理任务发送至调度服务器,调度服务器对终端发送的待处理任务进行接收。其中,待处理任务具体可以为一个有几十个叶子计算的数据聚合任务,其可以依据类型分为检索型任务、计算型任务、复合型任务等,其中,复合型任务包含多种任务模块,如包括计算模块和检索模块。

s202、若待处理任务满足预设拆分条件,则调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务。

本发明实施例中,调度服务器接收到待处理任务之后,将检测待处理任务是否满足预设拆分条件,其中,预设拆分条件可以为待处理任务中包含多个可拆分节点,可拆分节点包括待处理任务中不同处理模块之间的连接点,每个可拆分节点用于将待处理任务拆分得到一个子任务,即x个可拆分节点可将待处理任务拆分为x个子任务,x为正整数。

在一种实现方式中,待处理任务的可拆分节点由用户在终端中预先输入,调度服务器在接收终端发送的待处理任务的同时接收该待处理任务中的可拆分节点的信息,例如,待处理任务为计算型任务,用户预先设定该计算型任务包括3个可拆分节点,用于将该计算型任务拆分为3个计算型子任务,其中,每个计算型子任务可以对应不同的计算内容,且互不干扰。又如,待处理任务为检索型任务,用户预先设定该检索型任务包括2个可拆分节点,用于将该检索型任务拆分为2个检索型子任务,分别为第一检索子任务和第二子检索任务,其中,第一检索子任务可以对应在第一数据库中进行检索,第二检索子任务可以对应在第二数据库中进行检索。或者,检索型任务用于检索“苹果”和“葡萄”,则第一检索子任务可以对应检索“苹果”,第二子任务可以对应检索“葡萄”,再如,待处理任务为复合型任务,用户预先设定该复合型任务包括2个可拆分节点,用于将该待处理任务拆分为计算型子任务和检索型子任务。

在一种实现方式中,待处理任务的可拆分节点可以由调度服务器进行检测确定,例如,待处理任务为计算型任务,调度服务器可以检测该计算型任务中包括的计算模块,并将计算模块之间的连接点确定为可拆分节点。又如,针对检索型任务,调度服务器可以检测该检索型任务对应的不同检索内容,并将不同内容之间的连接节点确定为可拆分节点,再如,针对复合型任务,调度服务器可以检测复合型任务中的计算模块和检索模块,并将不同模块之间的连接点确定为可拆分节点。

进一步的,若调度服务器检测到待处理任务满足拆分条件,则根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务。其中,目标拆分策略用于确定针对待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系。

具体实现中,目标拆分策略的具体确定方式可以包括,调度服务器获取待处理任务中的可拆分节点以及用于任务处理的执行服务器的信息,信息包括数量和剩余负载量,调度服务器根据可拆分节点和执行服务器的信息确定目标拆分策略。具体的,调度服务器获取到待处理任务中可拆分节点的数量为k,用于任务处理的执行服务器的数量为m,k和m为正整数,

在一种实现方式中,若执行服务器的数量m大于或等于可拆分节点的数量k,则调度服务器将k个可拆分节点确定为针对待处理任务的目标拆分节点,以及从m个执行服务器中选取出剩余负载量最大的k个执行服务器作为目标执行服务器,并根据任务量与剩余负载量匹配的原则建立k个子任务与k个目标执行服务器之间的对应关系。其中,k个可拆分节点用于将待处理任务拆分为k个子任务,任务量具体可以为处理任务占用的内存量,剩余负载量具体可以为剩余内存量。调度服务器根据任务量与剩余负载量匹配的原则建立k个子任务与k个目标执行服务器之间的对应关系的具体方式为,调度服务器获取k个子任务中每个子任务的任务量以及k个目标执行服务器中每个执行服务器的剩余负载量,调度服务器按照任务量由大到小顺序对k个子任务进行排序,得到第一序列集,以及按照剩余负载量由大到小顺序对k个目标执行服务器进行排序,得到第二序列集,调度服务器确定第一序列集中排序为第i位的子任务与第二序列集中排序为第i位的子任务相对应,i为正整数。例如,待处理任务中包括2个可拆分节点,分别为节点1和节点2,执行服务器的数量为3,分别为执行服务器1、执行服务器2和执行服务器3,则调度服务器确定执行服务器的数量大于可拆分节点的数量,并将节点1和节点2确定为目标拆分节点,其中,节点1用于将待处理任务拆分得到第一子任务,节点2用于将待处理任务拆分得到第二子任务,第一子任务对应的任务量为30,第二子任务对应的任务量为20,执行服务器1的剩余负载量为200,执行服务器2的剩余负载量为150,执行服务器3的剩余负载量为100,则调度服务器确定执行服务器1和执行服务器2为目标执行服务器,并确定第一子任务与执行服务器1对应,第二子任务与执行服务器2对应。

在一种实现方式中,若执行服务器的数量m小于可拆分节点的数量k,则调度服务器从k个可拆分节点中选取m个可拆分节点作为目标拆分节点,并确定m个可拆分节点中每个可拆分节点对应的子任务的任务量以及m个执行服务器中每个执行服务器的剩余负载量;调度服务器根据任务量与剩余负载量匹配的原则建立m个子任务与m个目标执行服务器之间的对应关系,其中,m个可拆分节点用于将待处理任务拆分为m个子任务,调度服务器从可拆分节点中选取出目标拆分节点的具体方式可以为随机选取,或者,等间隔选取。调度服务器根据任务量与剩余负载量匹配的原则建立m个子任务与m个目标执行服务器之间的对应关系的具体方式包括,调度服务器获取m个子任务中每个子任务的任务量以及m个目标执行服务器中每个执行服务器的剩余负载量;调度服务器按照任务量由大到小顺序对m个子任务进行排序,得到第三序列集;按照剩余负载量由大到小顺序对m个目标执行服务器进行排序,得到第四序列集;调度服务器确定第三序列集中排序为第i位的子任务与第四序列集中排序为第i位的子任务相对应,i为正整数。例如,待检索任务中包括3个可拆分节点,分别为节点1、节点2和节点3,执行服务器的数量为2,分别为执行服务器1和执行服务器2,则调度服务器确定执行服务器的数量小于可拆分节点的数量,并随机将节点1和节点2确定为目标拆分节点,其中,节点1用于将待处理任务拆分得到第一子任务,节点2用于将待处理任务拆分得到第二子任务,第一子任务对应的任务量为50,第二子任务对应的任务量为30,执行服务器1的剩余负载量为200,执行服务器2的剩余负载量为150,则调度服务器确定执行服务器1和执行服务器2为目标执行服务器,并确定第一子任务与执行服务器1对应,第二子任务与执行服务器2对应。

进一步的,调度服务器确定针对待处理任务的目标拆分策略之后,将根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务。

s203、调度服务器为每个子任务添加标识,并将标识后的每个子任务发送至对应的执行服务器。

本发明实施例中,调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务之后,将为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,以使得每个子任务对应的执行服务器对各个子任务进行处理。

具体实现中,标识用于表示子任务的来源,即子任务具体由哪个待处理任务拆分得来,例如,针对待处理任务1,其对应的标识为“2019”,其拆分得到子任务1和子任务2,则子任务1和子任务2中都包含表示“2019”。可选的,为了体现各个子任务之间的先后顺序,还可以将子任务之间的先后顺序加入至标识中,如针对子任务1,其对应的标识为“2019-1”,针对子任务2,其对应的标识为“2019-2”。

s204、调度服务器接收每个子任务对应的执行服务器返回的处理结果。

本发明实施例中,调度服务器将子任务发送至对应的执行服务器之后,执行服务器可以对每个子任务进行处理,得到处理结果,其中,处理结果中含有子任务的标识,各个执行服务器将相应子任务的处理结果发送至调度服务器,调度服务器对各个处理结果进行接收。

s205、调度服务器根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。

本发明实施例中,调度服务器接收每个子任务对应的执行服务器返回的处理结果之后,将根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。即调度服务器将含有相同标识的处理结果进行合并,得到针对待处理任务的处理结果。

本发明实施例中,调度服务器接收终端发送的待处理任务,若待处理任务满足预设拆分条件,则调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务,调度服务器为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,调度服务器接收每个子任务对应的执行服务器返回的处理结果,并根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。通过实施上述方法,可以对数据进行拆分处理,提升对于数据处理的效率。

基于上述数据处理方法的实施例的描述,本发明实施例提供另一种数据处理方法,该方法可以应用于图1所示的数据处理系统中,具体可以由图1所示的调度服务器执行。请参见图3,该数据处理过程可包括以下步骤s301-s308:

s301、调度服务器接收终端发送的待处理任务。

本发明实施例中,待处理任务可以由用户通过终端进行输入,终端检测到用户输入的待处理任务之后,将待处理任务发送至调度服务器,调度服务器对终端发送的待处理任务进行接收。

s302、若待处理任务满足预设拆分条件,则调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务。

本发明实施例中,目标拆分策略用于确定针对待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系。调度服务器可以在目标拆分策略指示的目标拆分节点处对待处理任务进行拆分,得到至少一个子任务,并根据目标拆分策略确定每个子任务对应的执行服务器。

s303、调度服务器为每个子任务添加标识,并将标识后的每个子任务发送至对应的执行服务器。

本发明实施例中,调度服务器根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务之后,将为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,以使得每个子任务对应的执行服务器对各个子任务进行处理。

s304、调度服务器监控目标执行服务器对目标子任务的处理状态。

本发明实施例中,调度服务器将标识后的每个子任务发送至对应的执行服务器之后,将监控目标执行服务器对目标子任务的处理状态,其中,目标子任务为至少一个子任务中的任意一个,目标执行服务器为目标子任务对应的执行服务器,用于对目标子任务进行处理,目标子任务中存在可拆分节点,可拆分节点用于将目标子任务拆分为第一子目标任务和第二目标子任务。

s305、若检测到目标子任务的处理状态满足二次拆分条件,则调度服务器对目标子任务进行二次拆分处理,得到第一目标子任务和第二目标子任务。

本发明实施例中,二次拆分条件包括目标服务器对于目标子任务中的第二目标子任务的处理状态为未处理,且当前存在空闲执行服务器。若调度服务器检测到目标子任务的处理状态满足二次拆分条件,则调度服务器对目标子任务进行二次拆分处理,得到第一目标子任务和第二目标子任务。

s306、调度服务器向目标执行服务器发送暂停处理目标子任务中的第二目标子任务的指令,并向空闲执行服务器发送第二目标子任务,以使得空闲执行服务器对第二目标子任务进行处理。

本发明实施例中,调度服务器对目标子任务进行拆分处理之后,将向目标执行服务器发送暂停处理目标子任务中的第二目标子任务的指令,以使得目标执行服务器暂停执行目标子任务,并向空闲执行服务器发送第二目标子任务,以使得空闲执行服务器对第二目标子任务进行处理。即调度服务器实时监测各个执行服务器对于子任务的处理情况,当出现某个目标执行服务器对目标子任务的处理进度较慢且当前存在空闲服务器时,调度服务器对该处理较慢的目标子任务进行再次拆分,并使得目标执行服务器继续执行目标子任务中的部分内容,并采用空闲执行服务器执行目标子任务中的另一部分内容,需要说明的是,空闲服务器可以是一个,也可以是多个,当空闲服务器是多个时,可以将目标子任务拆分为多个部分,并使得该多个空闲服务器分别执行每个部分的内容。通过实施上述方法,可以实现对任务的多次拆分,进一步提高对任务的处理效率。

s307、调度服务器接收每个子任务对应的执行服务器返回的处理结果。

本发明实施例中,调度服务器将子任务发送至对应的执行服务器之后,执行服务器可以对每个子任务进行处理,得到处理结果,其中,处理结果中含有子任务的标识,各个执行服务器将相应子任务的处理结果发送至调度服务器,调度服务器对各个处理结果进行接收。

s308、调度服务器根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。

本发明实施例中,调度服务器接收每个子任务对应的执行服务器返回的处理结果之后,将根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。即调度服务器将含有相同标识的处理结果进行合并,得到针对待处理任务的处理结果。

进一步的,调度服务器还可以获取得到目标处理结果所使用的处理时长;并检测处理时长是否小于预设时长;若是,则调度服务器将目标拆分策略确定为优选拆分策略,并将优选拆分策略存储于预置数据库中;当调度服务器接收新处理任务时,检测新处理任务与待处理任务之间是否匹配,新处理任务的处理顺序在待处理任务之后;若匹配,则调度服务器将优选拆分策略确定为针对新处理任务的拆分策略,并基于优选拆分策略对新处理任务进行拆分处理。其中,调度服务器检测新处理任务与待处理任务之间是否匹配的具体方式可以为,调度服务器获取新处理任务对应的第一任务量以及可拆分节点的第一数量,并获取待处理任务对应的第二任务量以及可拆分节点的第二数量;若第一数量与第二数量相同,且第一任务量与第二任务量之间的差值小于预设差值,则确定新处理任务与待处理任务相匹配。即当调度服务器再次接收到相似的任务时,直接将以前的优选策略确定为针对新处理任务的拆分策略,节省了确定拆分策略所使用的时长,提升了数据处理的效率。

本发明实施例中,调度服务器接收终端发送的待处理任务;若待处理任务满足预设拆分条件,则根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务,调度服务器为每个子任务添加标识,并将添加标识后的所述每个子任务发送至对应的执行服务器,进一步的,在执行服务器对子任务处理的过程中,调度服务器对执行服务器的处理进度进行实时监控,并对处理较慢的子任务进行二次拆分,调度服务器接收每个子任务对应的执行服务器返回的处理结果,所述每个子任务对应的执行服务器返回的处理结果中含有子任务的标识;并根据所述标识对所述每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对所述待处理任务的目标处理结果。通过实施上述方式,可以对任务进行拆分处理,提升针对数据处理的效率。

基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置。该数据处理装置可以是运行于调度服务器中的一个计算机程序(包括程序代码),也可以是包含在调度服务器中的一个实体装置。该数据处理装置可以执行图2和图3所示的方法。请参见图4,该数据处理装置40包括:接收模块401、拆分模块402、发送模块403、合并模块404、获取模块405、确定模块406。

接收模块401,用于接收终端发送的待处理任务;

拆分模块402,用于若所述待处理任务满足预设拆分条件,则根据目标拆分策略对所述待处理任务进行拆分处理,得到至少一个子任务,所述目标拆分策略用于确定针对所述待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系;

发送模块403,用于为所述每个子任务添加标识,并将添加标识后的所述每个子任务发送至对应的执行服务器,以使得所述每个子任务对应的执行服务器对所述各个子任务进行处理;

接收模块401,还用于接收所述每个子任务对应的执行服务器返回的处理结果,所述每个子任务对应的执行服务器返回的处理结果中含有所述标识;

合并模块404,用于根据所述标识对所述每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对所述待处理任务的目标处理结果。

在一种实现方式中,获取模块405,用于获取所述待处理任务中的可拆分节点以及用于任务处理的执行服务器的信息,所述信息包括数量和剩余负载量,所述可拆分节点包括所述待处理任务中不同处理模块之间的连接点;

确定模块406,用于根据所述可拆分节点和所述执行服务器的信息确定所述目标拆分策略。

在一种实现方式中,所述可拆分节点的数量为k,所述用于任务处理的执行服务器的数量为m,所述k和m为正整数,确定模块406,具体用于:

若所述执行服务器的数量m大于或等于所述可拆分节点的数量k,则将所述k个可拆分节点确定为针对所述待处理任务的目标拆分节点,所述k个可拆分节点用于将所述待处理任务拆分为k个子任务;

从所述m个执行服务器中选取出剩余负载量最大的k个执行服务器作为目标执行服务器;

根据任务量与剩余负载量匹配的原则建立所述k个子任务与所述k个目标执行服务器之间的对应关系。

在一种实现方式中,确定模块406,具体用于:

获取所述k个子任务中每个子任务的任务量以及所述k个目标执行服务器中每个执行服务器的剩余负载量;

按照任务量由大到小顺序对所述k个子任务进行排序,得到第一序列集;

按照剩余负载量由大到小顺序对所述k个目标执行服务器进行排序,得到第二序列集;

将所述第一序列集中排序为第i位的子任务与所述第二序列集中排序为第i位的执行服务器相对应,所述i为正整数。

在一种实现方式中,确定模块406,具体用于:

若所述执行服务器的数量m小于所述可拆分节点的数量k,则从所述k个可拆分节点中选取m个可拆分节点作为目标拆分节点,所述m个可拆分节点用于将所述待处理任务拆分为m个子任务;

确定所述m个可拆分节点中每个可拆分节点对应的子任务的任务量以及所述m个执行服务器中每个执行服务器的剩余负载量;

根据任务量与剩余负载量匹配的原则建立所述m个子任务与所述m个执行服务器之间的对应关系。

在一种实现方式中,拆分模块402,具体用于:

监控目标执行服务器对目标子任务的处理状态,所述目标子任务为所述至少一个子任务中的任意一个,所述目标执行服务器为所述目标子任务对应的执行服务器,所述目标子任务中存在可拆分节点,所述可拆分节点用于将所述目标子任务拆分为第一目标子任务和第二目标子任务;

若检测到所述目标子任务的处理状态满足二次拆分条件,则对所述目标子任务进行二次拆分处理,得到第一子目标任务和第二目标子任务,所述二次拆分条件包括所述目标服务器对于所述目标子任务中的第二目标子任务的处理状态为未处理,且当前存在空闲执行服务器;

发送模块403,用于向所述目标执行服务器发送暂停处理所述目标子任务中的第二目标子任务的指令,并向所述空闲执行服务器发送所述第二目标子任务,以使得所述空闲执行服务器对所述第二目标子任务进行处理。

在一种实现方式中,确定模块406,具体用于:

获取针对所述待处理任务的进行处理所使用的处理时长;

检测所述处理时长是否小于预设时长;

若是,则将所述目标拆分策略确定为优选拆分策略,并将所述优选拆分策略进行存储;

当接收到新处理任务时,检测所述新处理任务与所述待处理任务之间是否匹配;

若匹配,则将所述优选拆分策略确定为针对所述新处理任务的拆分策略,并基于所述优选拆分策略对所述新处理任务进行拆分处理。

本发明实施例中,接收模块401接收终端发送的待处理任务,若待处理任务满足预设拆分条件,则拆分模块402根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务,发送模块403为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,接收模块401接收每个子任务对应的执行服务器返回的处理结果,合并模块404根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。通过实施上述方法,可以对数据进行拆分处理,提升对于数据处理的效率。

请参见图5,为本发明实施例提供的一种调度服务器的结构示意图。如图5所示,该调度服务器包括:至少一个处理器501,输入设备503,输出设备504,存储器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,存储器505可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。其中处理器501可以结合图4所描述的装置,存储器505中存储一组程序代码,且处理器501,输入设备503,输出设备504调用存储器505中存储的程序代码,用于执行以下操作:

处理器501,用于接收终端发送的待处理任务;

处理器501,用于若所述待处理任务满足预设拆分条件,则根据目标拆分策略对所述待处理任务进行拆分处理,得到至少一个子任务,所述目标拆分策略用于确定针对所述待处理任务的目标拆分节点以及拆分处理得到的每个子任务与用于任务处理的执行服务器之间的对应关系;

处理器501,用于为所述每个子任务添加标识,并将添加标识后的所述每个子任务发送至对应的执行服务器,以使得所述每个子任务对应的执行服务器对所述各个子任务进行处理;

处理器501,用于接收所述每个子任务对应的执行服务器返回的处理结果,所述每个子任务对应的执行服务器返回的处理结果中含有所述标识;

处理器501,用于根据所述标识对所述每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对所述待处理任务的目标处理结果。

在一种实现方式中,处理器501,具体用于:

获取所述待处理任务中的可拆分节点以及用于任务处理的执行服务器的信息,所述信息包括数量和剩余负载量,所述可拆分节点包括所述待处理任务中不同处理模块之间的连接点;

根据所述可拆分节点和所述执行服务器的信息确定所述目标拆分策略。

在一种实现方式中,所述可拆分节点的数量为k,所述用于任务处理的执行服务器的数量为m,所述k和m为正整数,处理器501,具体用于:

若所述执行服务器的数量m大于或等于所述可拆分节点的数量k,则将所述k个可拆分节点确定为针对所述待处理任务的目标拆分节点,所述k个可拆分节点用于将所述待处理任务拆分为k个子任务;

从所述m个执行服务器中选取出剩余负载量最大的k个执行服务器作为目标执行服务器;

根据任务量与剩余负载量匹配的原则建立所述k个子任务与所述k个目标执行服务器之间的对应关系。

在一种实现方式中,处理器501,具体用于:

获取所述k个子任务中每个子任务的任务量以及所述k个目标执行服务器中每个执行服务器的剩余负载量;

按照任务量由大到小顺序对所述k个子任务进行排序,得到第一序列集;

按照剩余负载量由大到小顺序对所述k个目标执行服务器进行排序,得到第二序列集;

将所述第一序列集中排序为第i位的子任务与所述第二序列集中排序为第i位的执行服务器相对应,所述i为正整数。

在一种实现方式中,处理器501,具体用于:

若所述执行服务器的数量m小于所述可拆分节点的数量k,则从所述k个可拆分节点中选取m个可拆分节点作为目标拆分节点,所述m个可拆分节点用于将所述待处理任务拆分为m个子任务;

确定所述m个可拆分节点中每个可拆分节点对应的子任务的任务量以及所述m个执行服务器中每个执行服务器的剩余负载量;

根据任务量与剩余负载量匹配的原则建立所述m个子任务与所述m个执行服务器之间的对应关系。

在一种实现方式中,处理器501,具体用于:

监控目标执行服务器对目标子任务的处理状态,所述目标子任务为所述至少一个子任务中的任意一个,所述目标执行服务器为所述目标子任务对应的执行服务器,所述目标子任务中存在可拆分节点,所述可拆分节点用于将所述目标子任务拆分为第一目标子任务和第二目标子任务;

若检测到所述目标子任务的处理状态满足二次拆分条件,则对所述目标子任务进行二次拆分处理,得到第一子目标任务和第二目标子任务,所述二次拆分条件包括所述目标服务器对于所述目标子任务中的第二目标子任务的处理状态为未处理,且当前存在空闲执行服务器;

向所述目标执行服务器发送暂停处理所述目标子任务中的第二目标子任务的指令,并向所述空闲执行服务器发送所述第二目标子任务,以使得所述空闲执行服务器对所述第二目标子任务进行处理。

在一种实现方式中,处理器501,具体用于:

获取针对所述待处理任务的进行处理所使用的处理时长;

检测所述处理时长是否小于预设时长;

若是,则将所述目标拆分策略确定为优选拆分策略,并将所述优选拆分策略进行存储;

当接收到新处理任务时,检测所述新处理任务与所述待处理任务之间是否匹配;

若匹配,则将所述优选拆分策略确定为针对所述新处理任务的拆分策略,并基于所述优选拆分策略对所述新处理任务进行拆分处理。

本发明实施例中,处理器501接收终端发送的待处理任务,若待处理任务满足预设拆分条件,则处理器501根据目标拆分策略对待处理任务进行拆分处理,得到至少一个子任务,处理器501为每个子任务添加标识,并将添加标识后的每个子任务发送至对应的执行服务器,处理器501接收每个子任务对应的执行服务器返回的处理结果,处理器501根据标识对每个子任务对应的执行服务器返回的处理结果进行合并处理,得到针对待处理任务的目标处理结果。通过实施上述方法,可以对数据进行拆分处理,提升对于数据处理的效率。

本发明实施例中所述模块,可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

应当理解,在本发明实施例中,所称处理器501可以是中央处理模块(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

总线502可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互联(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等,该总线502可以分为地点总线、数据总线、控制总线等,为便于表示,图5仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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