G06Q40/02 G06F16/27
1.一种作业处理方法,包括:
总控节点根据待处理作业启动至少一个计算节点;其中,所述总控节点部署在一个或多个物理节点上;
所述计算节点获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业;
所述总控节点根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业;
所述计算节点对所述节点作业进行相应的业务处理。
2.如权利要求1所述的方法,所述总控节点根据待处理作业启动至少一个计算节点包括:
所述总控节点启动申请启动服务,通过所述申请启动服务获取作业属性并根据所述作业属性生成所述待处理作业;
通过所述申请启动服务根据所述待处理作业确定需要参与作业处理的多个所述计算节点并发送所述作业处理启动消息;
其中,业务系统包括多个子系统,在每个子系统中部署一个或多个所述计算节点。
3.如权利要求2所述的方法,所述计算节点获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业包括:
所述计算节点在接收所述作业处理启动消息后,启动作业申请服务;
通过所述作业申请服务获取所述计算能力信息和所述部署信息;其中,所述部署信息包括:子系统信息、数据库信息和节点配置信息;
通过所述作业申请服务生成携带有所述计算能力信息和所述部署信息的作业申请请求并发送给所述总控节点。
4.如权利要求3所述的方法,所述总控节点根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业包括:
所述总控节点在接收到所述作业申请请求后,激活作业分配服务;
通过所述作业分配服务根据所述部署信息在所述待处理作业中确定各个所述计算节点需要处理的节点作业集合;其中,所述待处理作业的信息包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息;
通过所述作业分配服务根据所述计算能力信息以及每个作业需要的计算能力,为各个所述计算节点在对应的所述节点作业集合中确定需要批量处理的所述节点作业并分别发送给各个所述计算节点。
5.如权利要求4所述的方法,所述计算节点对所述节点作业进行相应的业务处理包括:
所述计算节点通过所述作业申请服务调度多个作业处理服务,以使所述多个作业处理服务对所述节点作业进行并发业务处理。
6.如权利要求5所述的方法,还包括:
所述计算节点通过所述作业申请服务获取所述作业处理服务对于所述节点作业进行业务处理的处理结果,基于所述处理结果向所述总控节点发送作业状态更新请求;
所述总控节点通过作业状态更新服务处理所述作业状态更新请求,用以对所述待处理作业的状态进行更新处理。
7.如权利要求6所述的方法,还包括:
如果确定所述节点作业被处理完成后,所述计算节点通过所述作业申请服务重新生成携带有所述计算能力信息和所述部署信息的作业申请请求并向所述总控节点发送。
8.如权利要求2所述的方法,其中,
在每个子系统中部署多个所述计算节点,所述子系统包括:分布式数据库;多个所述总控节点根据加锁机制实现协同处理。
9.一种作业处理系统,包括:总控节点和计算节点;
总控节点,用于根据待处理作业启动至少一个计算节点;其中,所述总控节点部署在一个或多个物理节点上;
所述计算节点,用于获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业;
所述总控节点,还用于根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业,以使所述计算节点对所述节点作业进行相应的业务处理。
10.如权利要求9所述的系统,其中,
所述总控节点,具体用于启动申请启动服务,通过所述申请启动服务获取作业属性并根据所述作业属性生成所述待处理作业;通过所述申请启动服务根据所述待处理作业确定需要参与作业处理的多个所述计算节点并发送所述作业处理启动消息;
其中,业务系统包括多个子系统,在每个子系统中部署一个或多个所述计算节点。
11.如权利要求10所述的系统,其中,
所述计算节点,具体用于在接收所述作业处理启动消息后,启动作业申请服务;通过所述作业申请服务获取所述计算能力信息和所述部署信息;其中,所述部署信息包括:子系统信息、数据库信息和节点配置信息;通过所述作业申请服务生成携带有所述计算能力信息和所述部署信息的作业申请请求并发送给所述总控节点。
12.如权利要求11所述的系统,其中,
所述总控节点,还用于在接收到所述作业申请请求后,激活作业分配服务;通过所述作业分配服务根据所述部署信息在所述待处理作业中确定各个所述计算节点需要处理的节点作业集合;通过所述作业分配服务根据所述计算能力信息以及每个作业需要的计算能力,为各个所述计算节点在对应的所述节点作业集合中确定需要批量处理的所述节点作业并分别发送给各个所述计算节点;
其中,所述待处理作业的信息包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息。
13.如权利要求12所述的系统,其中,
所述计算节点,还用于通过所述作业申请服务调度多个作业处理服务,以使所述多个作业处理服务对所述节点作业进行并发业务处理。
14.如权利要求13所述的系统,其中,
所述计算节点,还用于通过所述作业申请服务获取所述作业处理服务对于所述节点作业进行业务处理的处理结果,基于所述处理结果向所述总控节点发送作业状态更新请求;
所述总控节点,还用于通过作业状态更新服务处理所述作业状态更新请求,用以对所述待处理作业的状态进行更新处理。
15.如权利要求14所述的系统,其中,
所述计算节点,还用于如果确定所述节点作业被处理完成后,通过所述作业申请服务重新生成携带有所述计算能力信息和所述部署信息的作业申请请求并向所述总控节点发送。
16.如权利要求10至15任一所述的系统,其中,
在每个子系统中部署多个所述计算节点,所述子系统包括:分布式数据库;多个所述总控节点根据加锁机制实现协同处理。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如权利要求1至8中任一项所述的方法。
本发明涉及计算机技术领域,尤其涉及一种作业处理方法、系统以及存储介质。
电子银行等业务需要业务系统进行支撑,业务系统需要处理批量作业,批量作业的条数一般有几百个或上千个。目前,业务系统采用集中式批量作业处理调度方法,在同节点部署作业总控服务和作业处理服务,由批量作业总控服务根据作业属性配置信息生成需处理的作业明细,分批次并发调度作业处理服务,由多个作业处理服务并发完成业务逻辑进行业务处理。现有的集中式批量作业处理调度方法存在缺陷,包括:作业总控服务、作业处理服务只能同节点集中部署,不能发挥集所有节点计算能力;作业分配采用被动分配模式,不能充分发挥处理服务的计算能力;作业总控服务单进程、单节点部署,存在单节点故障等。因此,需要一种新的用于作业处理的技术方案。
有鉴于此,本发明要解决的一个技术问题是提供一种作业处理方法、系统以及存储介质。
根据本公开的一个方面,提供一种作业处理方法,包括:总控节点根据待处理作业启动至少一个计算节点;其中,所述总控节点部署在一个或多个物理节点上;所述计算节点获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业;所述总控节点根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业;所述计算节点对所述节点作业进行相应的业务处理。
可选地,所述总控节点根据待处理作业启动至少一个计算节点包括:所述总控节点启动申请启动服务,通过所述申请启动服务获取作业属性并根据所述作业属性生成所述待处理作业;通过所述申请启动服务根据所述待处理作业确定需要参与作业处理的多个所述计算节点并发送所述作业处理启动消息;其中,业务系统包括多个子系统,在每个子系统中部署一个或多个所述计算节点。
可选地,所述计算节点获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业包括:所述计算节点在接收所述作业处理启动消息后,启动作业申请服务;通过所述作业申请服务获取所述计算能力信息和所述部署信息;其中,所述部署信息包括:子系统信息、数据库信息和节点配置信息;通过所述作业申请服务生成携带有所述计算能力信息和所述部署信息的作业申请请求并发送给所述总控节点。
可选地,所述总控节点根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业包括:所述总控节点在接收到所述作业申请请求后,激活作业分配服务;通过所述作业分配服务根据所述部署信息在所述待处理作业中确定各个所述计算节点需要处理的节点作业集合;其中,所述待处理作业的信息包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息;通过所述作业分配服务根据所述计算能力信息以及每个作业需要的计算能力,为各个所述计算节点在对应的所述节点作业集合中确定需要批量处理的所述节点作业并分别发送给各个所述计算节点。
可选地,所述计算节点对所述节点作业进行相应的业务处理包括:所述计算节点通过所述作业申请服务调度多个作业处理服务,以使所述多个作业处理服务对所述节点作业进行并发业务处理。
可选地,所述计算节点通过所述作业申请服务获取所述作业处理服务对于所述节点作业进行业务处理的处理结果,基于所述处理结果向所述总控节点发送作业状态更新请求;所述总控节点通过作业状态更新服务处理所述作业状态更新请求,用以对所述待处理作业的状态进行更新处理。
可选地,如果确定所述节点作业被处理完成后,所述计算节点通过所述作业申请服务重新生成携带有所述计算能力信息和所述部署信息的作业申请请求并向所述总控节点发送。
可选地,在每个子系统中部署多个所述计算节点,所述子系统包括:分布式数据库;多个所述总控节点根据加锁机制实现协同处理。
根据本公开的另一方面,提供一种作业处理系统,包括:总控节点和计算节点;总控节点,用于根据待处理作业启动至少一个计算节点;其中,所述总控节点部署在一个或多个物理节点上;所述计算节点,用于获取自身的计算能力信息和部署信息,根据所述计算能力信息和所述部署信息向所述总控节点申请作业;所述总控节点,还用于根据所述计算能力信息和所述部署信息,向各个所述计算节点分配需要处理的节点作业,以使所述计算节点对所述节点作业进行相应的业务处理。
可选地,所述总控节点,具体用于启动申请启动服务,通过所述申请启动服务获取作业属性并根据所述作业属性生成所述待处理作业;通过所述申请启动服务根据所述待处理作业确定需要参与作业处理的多个所述计算节点并发送所述作业处理启动消息;其中,业务系统包括多个子系统,在每个子系统中部署一个或多个所述计算节点。
可选地,所述计算节点,具体用于在接收所述作业处理启动消息后,启动作业申请服务;通过所述作业申请服务获取所述计算能力信息和所述部署信息;其中,所述部署信息包括:子系统信息、数据库信息和节点配置信息;通过所述作业申请服务生成携带有所述计算能力信息和所述部署信息的作业申请请求并发送给所述总控节点。
可选地,所述总控节点,还用于在接收到所述作业申请请求后,激活作业分配服务;通过所述作业分配服务根据所述部署信息在所述待处理作业中确定各个所述计算节点需要处理的节点作业集合;通过所述作业分配服务根据所述计算能力信息以及每个作业需要的计算能力,为各个所述计算节点在对应的所述节点作业集合中确定需要批量处理的所述节点作业并分别发送给各个所述计算节点;其中,所述待处理作业的信息包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息。
可选地,所述计算节点,还用于通过所述作业申请服务调度多个作业处理服务,以使所述多个作业处理服务对所述节点作业进行并发业务处理。
可选地,所述计算节点,还用于通过所述作业申请服务获取所述作业处理服务对于所述节点作业进行业务处理的处理结果,基于所述处理结果向所述总控节点发送作业状态更新请求;所述总控节点,还用于通过作业状态更新服务处理所述作业状态更新请求,用以对所述待处理作业的状态进行更新处理。
可选地,所述计算节点,还用于如果确定所述节点作业被处理完成后,通过所述作业申请服务重新生成携带有所述计算能力信息和所述部署信息的作业申请请求并向所述总控节点发送。
可选地,在每个子系统中部署多个所述计算节点,所述子系统包括:分布式数据库;多个所述总控节点根据加锁机制实现协同处理。
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。
本公开的作业处理方法、系统以及存储介质,作业分配采用主动申请模式,计算节点主动进行作业申请,避免总控节点无效地轮询计算节点,可以解耦总控节点和计算节点,总控节点和计算节点都可多节点部署;对应作业的处理支持多种作业并发处理模式,可以支持应用分片、数据分库的分布式架构系统,解决了单点故障问题,保证了批量作业处理的高可用性,提高了批量作业处理性能。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开的作业处理方法的一个实施例的流程示意图;
图2为根据本公开的作业处理方法的一个实施例中的启动计算节点的流程示意图;
图3为根据本公开的作业处理方法的一个实施例中的申请作业的流程示意图;
图4为根据本公开的作业处理方法的一个实施例中的分配作业的流程示意图;
图5为根据本公开的作业处理方法的一个实施例中的处理作业的流程示意图;
图6为根据本公开的作业处理系统的一个实施例的模块示意图;
图7为根据本公开的作业处理系统的另一个实施例的模块以及通信交互的示意图。
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1为根据本公开的作业处理方法的一个实施例的流程示意图,如图1所示:
步骤101,总控节点根据待处理作业启动至少一个计算节点;其中,总控节点部署在一个或多个物理节点上。
业务系统可以为电子银行业务系统等,作业可以为业务系统按批量处理模式进行处理的批量作业,用于完成多种业务。批量作业可以按固定周期执行,完成用户的业务请求等。业务系统为应用分片、数据分库分布式架构系统,包括多个子系统,每个子系统包括分布式数据库。
例如,业务系统为分布式架构的中间业务系统,包括多个业务子系统,业务系统需要处理的批量作业可以为批量扣款、批量开户、批量对账、批量日志文件清理等。总控节点的数量可以为一个或多个,部署在一个或多个子系统中的物理节点上,物理节点可以为子系统中的计算机节点等。计算节点部署在子系统中的物理节点上,用于进行具体的业务逻辑处理。总控节点和计算节点可以集中部署或多节点部署。
步骤102,计算节点获取自身的计算能力信息和部署信息,根据计算能力信息和部署信息向总控节点申请作业。
计算能力信息为计算节点所在的物理节点的、能够用于处理作业的计算处理能力信息,包括CPU、内存等信息;部署信息包括与计算节点相对应的子系统信息(ID)、数据库信息(ID)和节点配置信息(ID和权重)等。
步骤103,总控节点根据计算能力信息和部署信息,向各个计算节点分配需要处理的节点作业。节点作业为计算节点需要处理的批量作业。
步骤104,计算节点对节点作业进行相应的业务处理。计算节点基于预先设置的业务逻辑等对节点作业进行业务处理,例如扣款、开户、对账等业务处理。
在一个实施例中,总控节点和计算节点进行多机部署,将总控应用程序和计算应用程序分别部署在多个计算机节点上,生成多个总控节点和计算节点。业务系统包括多个子系统,在每个子系统中部署一个或多个计算节点。
总控节点用于分配批量作业,多个总控节点同时进行分配处理时,通过加锁机制管控作业分配。计算节点用于处理作业,不同计算节点处理不同作业。多机部署总控节点和计算节点,解决了单节点容易出现故障的问题,可以充分发挥分布式系统的各节点的计算能力。
总控节点根据待处理作业启动计算节点可以使用多种方法。图2为根据本公开的作业处理方法的一个实施例中的启动计算节点的流程示意图,如图2所示:
步骤201,总控节点启动申请启动服务,通过申请启动服务获取作业属性并根据作业属性生成待处理作业。在总控节点上可以部署服务,服务可以为独立的线程、进程等。
步骤202,通过申请启动服务根据待处理作业确定需要参与作业处理的多个计算节点并发送作业处理启动消息。
申请启动服务可以根据作业属性配置信息,生成需要处理的待处理作业的明细信息;作业属性配置包括作业编号、作业名称、子系统间组号、子系统内组号、作业服务名称、库文件、函数名、日志级别等;待处理作业的明细信息包括作业编号、作业序号、处理日期、系统编号、数据库ID、节点号、子系统间并发组号、子系统内并发组号、作业服务名、库文件、函数名、作业名称、并发类型等。
申请启动服务根据待处理作业的明细信息确定需要参与作业处理的多个计算节点,根据参与批量作业处理的计算节点信息逐一启动作业申请服务。对于不需要参与作业处理的计算节点,则不需要启动作业申请服务。
图3为根据本公开的作业处理方法的一个实施例中的申请作业的流程示意图,如图3所示:
步骤301,计算节点在接收作业处理启动消息后,启动作业申请服务。在计算节点上可以部署服务,服务可以为独立的线程、进程等。
步骤302,通过作业申请服务获取计算能力信息和部署信息;其中,部署信息包括子系统信息、数据库信息和节点配置信息等;子系统信息为子系统ID,数据库信息为数据库ID,节点配置信息包括节点ID、节点权重信息等。
步骤303,通过作业申请服务生成携带有计算能力信息和部署信息的作业申请请求并发送给总控节点。
在一个实施例中,总控节点向各个计算节点分配需要处理的节点作业可以采用多种方法。图4为根据本公开的作业处理方法的一个实施例中的分配作业的流程示意图,如图4所示:
步骤401,总控节点在接收到作业申请请求后,激活作业分配服务。作业分配服务可以为独立的线程、进程等。
步骤402,通过作业分配服务根据部署信息在待处理作业中确定各个计算节点需要处理的节点作业集合;其中,待处理作业的信息包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息(组号)和子系统内并发信息(组号)等。
步骤403,通过作业分配服务根据计算能力信息以及每个作业需要的计算能力,为各个计算节点在对应的节点作业集合中确定需要批量处理的节点作业并分别发送给各个计算节点。
在一个实施例中,计算节点上的作业申请服务启动后,通过RabbitMQ发送作业申请请求。作业分配服务收到作业申请请求后被激活,作业分配服务从作业申请请求提取部署信息,包括子系统ID、数据库ID、计算节点ID、节点权重信息等信息;作业分配服务根据部署信息以及待处理作业的信息计算可分配作业。
作业分配服务依据待处理作业的信息,包括:子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息等,以及部署信息,在待处理作业中确定各个计算节点需要处理的节点作业集合,即为分配给各个计算节点进行处理的批量作业。
基于一条作业属性信息可以生成需要在子系统间、子系统内以及计算节点上并发处理的多个待处理作业,也可以根据配置信息等生成需要并发处理的多个待处理作业,对于多个并发处理的待处理作业可以设置对应的子系统间并发组号或子系统内并发组号等。
在分配待处理作业时,可以根据作业申请请求中的部署信息以及述待处理作业的信息为不同的计算节点分配需要并行处理的待处理作业,可以实现子系统间、子系统内、计算节点、按配置并发等并发模式,可使不同子系统间的作业、同一子系统内的作业可以同时处理,同一计算节点或不同计算节点可以同时处理不同作业,按配置并发处理不同作业,实现应用分片、数据分库的批量作业处理。
作业分配服务从作业申请请求中提取计算能力信息,并基于每个作业需要的计算能力,为各个计算节点在对应的节点作业集合中确定需要批量处理的节点作业并分别发送给各个计算节点,合理分配作业给计算节点。作业分配服务具体可以使用现有的多种算法分配作业给计算节点,在为各个计算节点在对应的节点作业集合中确定需要批量处理的节点作业并分别发送给各个计算节点后,作业分配服务退出,等待接收下个作业申请请求后激活。
在一个实施例中,计算节点对节点作业进行相应的业务处理可以有多种方法。图5为根据本公开的作业处理方法的一个实施例中的处理作业的流程示意图,如图5所示:
步骤501,计算节点通过作业申请服务调度多个作业处理服务,以使多个作业处理服务对节点作业进行并发业务处理。
作业申请服务收到分配的节点作业后,按照自身并发处理能力统一调度作业处理服务对节点作业进行并发业务处理,可以使用现有的方法根据配置分批进行并发处理,以使作业处理服务完成业务逻辑处理。作业申请服务和作业处理服务可以采用TUXEDO技术进行通信。
步骤502,计算节点通过作业申请服务获取作业处理服务对于节点作业进行业务处理的处理结果,基于处理结果向总控节点发送作业状态更新请求。
作业申请服务接收作业分配服务返回的节点作业后,登记计算节点待处理的节点作业明细;根据本计算节点的资源计算能力,并发调度作业处理服务对节点作业进行并发业务处理;作业申请服务根据作业处理服务返回的处理结果,向总控节点的作业状态更新服务请求更新总控节点维护的待处理作业的状态。
步骤503,总控节点通过作业状态更新服务处理作业状态更新请求,用以对待处理作业的状态进行更新处理。
作业申请服务根据作业处理服务结果并通过作业状态更新服务更新待处理作业处理的状态,完成一个申请批次的整个节点作业的处理。
步骤504,如果确定节点作业被处理完成后,计算节点通过作业申请服务重新生成携带有计算能力信息和部署信息的作业申请请求并向总控节点发送。
作业申请服务确定本次申请的节点作业被处理完成后,再次重新向作业分配服务申请作业;如果有作业待处理则根据上述的方法进行处理,如果没有作业,则作业申请服务定时再进行申请;作业申请服务只要空闲就可以申请作业,能够充分发挥计算节点的计算能力。
上述实施例中的作业处理方法,作业分配采用主动申请模式,计算节点能够根据自身处理能力、空闲情况主动进行作业申请,避免总控节点无效地轮询计算节点,可以解耦总控节点和计算节点之间的紧耦合关系;对于作业的处理支持多种作业并发处理模式,包括子系统间并发、子系统内并发、计算节点并发以及按配置信息并发等模式;可以支持应用分片、数据分库的分布式架构系统,支持集中式部署,也支持分布式部署,总控节点和计算节点都可多节点部署。
在一个实施例中,本公开提供一种作业处理系统,包括:总控节点61和计算节点62,63,64。总控节点61根据待处理作业启动两个计算节点62,63。总控节点61根据待处理作业判断计算节点64不需要参与作业处理,则不启动计算节点64。总控节点61的数量可以为一个或多个,部署在一个或多个物理节点上。多个总控节点根据加锁机制实现协同处理。
计算节点62,63获取自身的计算能力信息和部署信息,根据计算能力信息和部署信息向总控节点61申请作业;总控节点61根据计算能力信息和部署信息,向各个计算节点62,63分配需要处理的节点作业,以使计算节点62,63对节点作业进行相应的业务处理。
如图7所示,总控节点61部署申请启动服务611、作业分配服务612、作业状态更新服务613,614;计算节点62部署作业申请服务621、多个作业处理服务622,623,624;计算节点63部署作业申请服务631、多个作业处理服务632,633,634;总控节点和各个计算节点部署的服务可以为独立的线程或进程。
在一个实施例中,总控节点61启动申请启动服务611,通过申请启动服务611获取作业配置,基于作业配置获取作业属性。申请启动服务611根据作业属性生成待处理作业,生成需处理作业明细对应于待处理作业。总控节点61通过申请启动服务611根据待处理作业确定需要参与作业处理的两个计算节点62,63并发送作业处理启动消息。
业务系统包括多个子系统,在每个子系统中部署一个或多个计算节点。在每个子系统中部署一个或多个计算节点,子系统包括:分布式数据库。计算节点62,63分别部署在两个子系统中,下面以计算节点62为例进行说明,计算节点63执行的处理与计算节点62相同。
计算节点62用于在接收作业处理启动消息后,启动作业申请服务621,通过作业申请服务621获取计算能力信息和部署信息,部署信息包括子系统信息、数据库信息和节点配置信息等;计算节点62通过作业申请服务621生成携带有计算能力信息和部署信息的作业申请请求并发送给总控节点61。
总控节点61在接收到作业申请请求后,激活作业分配服务612,通过作业分配服务612根据部署信息在待处理作业中确定各个计算节点62,63需要处理的节点作业集合;总控节点61通过作业分配服务612根据计算能力信息以及每个作业需要的计算能力,为各个计算节点62,63在对应的节点作业集合中确定需要批量处理的节点作业并分别发送给各个计算节点62,63。待处理作业的信息包括子系统信息、数据库信息、计算节点信息、子系统间并发信息和子系统内并发信息等。
在一个实施例中,计算节点62通过作业申请服务621接收作业分配服务612返回的节点作业后,登记计算节点的节点作业明细。计算节点62通过作业申请服务621调度多个作业处理服务622,623,624,以使多个作业处理服务622,623,624对节点作业进行分批次的并发业务处理。
计算节点62通过作业申请服务621获取多个作业处理服务622,623,624对于节点作业进行业务处理的处理结果,基于处理结果向总控节点61发送作业状态更新请求;总控节点61通过作业状态更新服务613处理作业状态更新请求,用以对待处理作业的状态进行更新处理。
计算节点62如果确定节点作业被处理完成后,通过作业申请服务621重新生成携带有计算能力信息和部署信息的作业申请请求并向总控节点61发送。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的方法。
上述实施例中提供的作业处理方法、系统以及存储介质,作业分配采用主动申请模式,计算节点能够根据自身处理能力、空闲情况主动进行作业申请,避免总控节点无效地轮询计算节点,可以解耦总控节点和计算节点;对应作业的处理支持多种作业并发处理模式,包括子系统间并发、子系统内并发、计算节点并发以及按配置信息并发等模式;可以支持应用分片、数据分库的分布式架构系统,支持集中式部署,也支持分布式部署;总控节点和计算节点都可多节点部署;解决了单点故障问题,保证了批量作业处理的高可用性,提高了批量作业处理性能。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
本文发布于:2023-04-15 07:36:42,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/87147.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |