一种分布式任务处理方法及装置制造方法及图纸

技术编号:24755681 阅读:48 留言:0更新日期:2020-07-04 09:03
本发明专利技术提供一种分布式任务处理方法及装置,所述方法包括:定期从数据库服务器获取调度服务器的状态信息;根据各个调度服务器的状态信息,获得处于在线状态的调度服务器;根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器;若判断获知获得任务执行权限的调度服务器为本地调度服务器,则从所述数据库服务器获取预设数量个批量任务。所述装置用于执行上述方法。本发明专利技术实施例提供的分布式任务处理方法及装置,提高了批量任务执行的可靠性。

A distributed task processing method and device

【技术实现步骤摘要】
一种分布式任务处理方法及装置
本专利技术涉及计算机
,具体涉及一种分布式任务处理方法及装置。
技术介绍
随着国内金融智能设备品种的不断丰富以及业务范围的快速扩展,业务体量逐步增加,需要建设具有强大响应能力的金融系统进行业务处理。现有技术中,任务调度系统种类繁多,有的任务调度系统将任务提前加载到系统内存中,降低任务数据的读写消耗,但无法灵活的进行内容调整以及实现高可用性;有的任务调度系统基于云架构,能够实现任务数据的云共享,但不能控制任务统一分配;有的任务调度系统可多任务协调调度,解决访问资源的共享问题,但无法应对业务请求量的急剧增加。因此,在业务访问量以及数据量增加到一定程度或者在某个时间段出现流量和请求量急剧增加时,会产生访问资源的访问冲突以及服务器宕机等问题。
技术实现思路
针对现有技术中的问题,本专利技术实施例提供一种分布式任务处理方法及装置,能够至少部分地解决现有技术中存在的问题。一方面,本专利技术提出一种分布式任务处理方法,包括:定期从数据库服务器获取调度服务器的状态信息;根据各个调度服务器的状态信息,获得处于在线状态的调度服务器;根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器;若判断获知获得任务执行权限的调度服务器为本地调度服务器,则从所述数据库服务器获取预设数量个批量任务。另一方面,本专利技术提供一种分布式任务处理装置,包括:获取单元,用于定期从数据库服务器获取调度服务器的状态信息;获得单元,用于根据各个调度服务器的状态信息,获得处于在线状态的调度服务器;确定单元,用于根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器;判断单元,用于在判断获知获得任务执行权限的调度服务器为本地调度服务器之后,从所述数据库服务器获取预设数量个批量任务。再一方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述分布式任务处理方法的步骤。又一方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述分布式任务处理方法的步骤。本专利技术实施例提供的分布式任务处理方法及装置,能够定期从数据库服务器获取调度服务器的状态信息,根据各个调度服务器的状态信息,获得处于在线状态的调度服务器,根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器,在判断获知获得任务执行权限的调度服务器为本地调度服务器之后,从所述数据库服务器获取预设数量个批量任务,能够对批量任务执行的数量进行控制,提高了批量任务执行的可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1是本专利技术一实施例提供的分布式任务处理系统的结构示意图。图2是本专利技术一实施例提供的分布式任务处理方法的流程示意图。图3是本专利技术另一实施例提供的分布式任务处理方法的流程示意图。图4是本专利技术又一实施例提供的分布式任务处理方法的流程示意图。图5是本专利技术一实施例提供的分布式任务处理装置的结构示意图。图6是本专利技术另一实施例提供的分布式任务处理装置的结构示意图。图7是本专利技术又一实施例提供的分布式任务处理装置的结构示意图。图8是本专利技术一实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。图1是本专利技术一实施例提供的分布式任务处理系统的结构示意图,如图1所示,本专利技术实施例提供的分布式任务处理系统包括多个调度服务器1、数据库服务器2和多个终端3,其中:数据库服务器2与每个调度服务器1通信连接,每个调度服务器1与每个终端3通信连接。在数据库服务器2配置批量任务的任务类型、执行时间、设备信息等。所述任务类型包括但不限于未执行、执行中、已执行等。设备信息包括但不限于终端的网络地址、报文格式、端口号等。执行时间根据实际需要进行配置,本专利技术实施例不做限定。批量任务配置完成之后可以以任务下发表的形式存储到数据库服务器2的数据库中。每个调度服务器1启动之后,会获取自身的状态信息并发送给数据库服务器2。在每个调度服务器1上可配置应用监听器(ApplicationListener),在应用监听器中创建任务调度器,并设置调用的触发器,例如触发器的执行内容以及执行周期。任务调度器会定期从数据库服务器2获取调度服务器的状态信息,然后根据各个调度服务器的状态信息,获得处于在线状态的调度服务器,然后根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器。触发器判断获得任务执行权限的调度服务器是否为本地调度服务器,如果获得任务执行权限的调度服务器为本地调度服务器,触发器会从数据库服务器2获取预设数量个批量任务。触发器从批量任务的设备信息中获取终端的网络地址和报文格式,可以使用TCP短连接的通信协议将批量任务按照报文格式下发至对应的终端3。终端3包括但不限于ATM机等终端设备。在每个调度服务器1可以启动时间同步器,将每个调度服务器1的时间与数据库服务器2的时间进行同步。每个调度服务器1启动之后,可以创建任务详细信息表,存储任务对应的程序相关信息,包括程序class路径和持久化实体。可以创建触发器基本信息表,存储触发器的基本信息,包括任务信息、定时策略/周期策略/触发策略、下次触发时间、触发器状态、当前执行节点实例等信息。可以创建调度节点实例信息表,存储各个调度服务器的状态信息,包括调度服务器名称、检入时间、检入间隔等信息。本专利技术实施例提供的分布式任务处理系统,在分布式任务调度中,通过负载均衡策略协调各调度服务器,对批量任务进行分批执行,以达到有效限流和并发控制的目的。可以避免大规模业务请求一拥而上,保证分布式任务处理系统的稳定运行,并且即使有调度服务器崩溃了,剩余的调度服务器也能确保批量任务的继续执行,提高了分布式任务处理系统的可靠性。每个调度服务器都可以作为执行主体执行本专利技术实施例提供的分布式任务处理方法。为清楚地介绍本专利技术的技术方案,将多个调度服务器在逻辑上分为本地调度服务器和其他调度服务器,以下各实施例以本地调度服务器为执行主体来说明。可理解的是,每个调度服务器都可以是本地调度服务器。图2是本专利技术一实施例提供的分布式任务处理方法的流程示意图,如图2所示,本专利技术实施例提供的本文档来自技高网...

【技术保护点】
1.一种分布式任务处理方法,其特征在于,包括:/n定期从数据库服务器获取调度服务器的状态信息;/n根据各个调度服务器的状态信息,获得处于在线状态的调度服务器;/n根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器;/n若判断获知获得任务执行权限的调度服务器为本地调度服务器,则从所述数据库服务器获取预设数量个批量任务。/n

【技术特征摘要】
1.一种分布式任务处理方法,其特征在于,包括:
定期从数据库服务器获取调度服务器的状态信息;
根据各个调度服务器的状态信息,获得处于在线状态的调度服务器;
根据负载均衡策略从处于在线状态的调度服务器中确定获得任务执行权限的调度服务器;
若判断获知获得任务执行权限的调度服务器为本地调度服务器,则从所述数据库服务器获取预设数量个批量任务。


2.根据权利要求1所述的方法,其特征在于,还包括:
将所述预设数量个批量任务发送至各自对应的终端执行。


3.根据权利要求1所述的方法,其特征在于,所述根据各个调度服务器的状态信息,获得处于在线状态的调度服务器包括:
若判断获知当前时间减去所述调度服务器的检入间隔之后获得的时间小于所述调度服务器的检入时间,则确定所述调度服务器处于在线状态;其中,所述调度服务器的状态信息包括检入时间和检入间隔。


4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
定期向所述数据库服务器发送本地调度服务器的状态信息。


5.一种分布式任务处理装置,其特征在于,包括:
获取单元,用于定期从数据库服务器获取调度服务器的状态信息;
获得单元,用于根据各个调度服务器的状态信息,获得处于在线状态的调...

【专利技术属性】
技术研发人员:汪宏舟何思略古秀萍温佳宇
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1