System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 跨网络的分布式任务调度方法、系统技术方案_技高网

跨网络的分布式任务调度方法、系统技术方案

技术编号:44894674 阅读:5 留言:0更新日期:2025-04-08 00:33
本发明专利技术提供一种跨网络的分布式任务调度方法、系统,首先将创建应用时生成的密钥和内网集群中任务调度系统的通讯地址下发至所述应用对应的各个任务节点中,再基于密钥和通讯地址建立任务节点与任务调度系统的长连接,而后使任务调度系统通过长连接向任务节点下发任务指令密文,并使任务节点通过密钥为所述指令密文进行解密匹配以形成执行命令,并按照执行命令执行任务,从而解决在特定的网络环境中,由于网络隔离策略,导致任务调度系统与任务节点之间不能双向通信,任务调度系统不能通过远程调用将任务执行指令下发到任务节点的技术问题,实现跨网络分区的任务调度,减少资源浪费,确保任务在最合适的节点上执行,同时避免不必要的重复执行。

【技术实现步骤摘要】

本专利技术涉及分布式集群,涉及一种分布式任务调度方法,更为具体地,涉及一种跨网络的分布式任务调度方法、系统


技术介绍

1、在分布式系统中,任务调度系统可以自动触发定时任务执行,无需人工干预,可以确保任务按照预定时间精确执行,在特定时间执行如数据备份、报告生成等任务。为高效利用任务节点,通过合理调度,任务调度系统能够更有效地利用集群内的资源。目前通用的方案是,任务节点需要主动向任务调度系统注册,任务调度系统收到注册请求后,将任务节点的通信地址维护到注册表中。当需要下发定时任务时,任务调度系统根据负载均衡策略,从注册表中选取一个合适的任务节点,并通过通信地址发起远程调用,以通知任务节点执行定时任务。如果任务执行失败,任务调度系统将自动进行故障转移,从注册表中选取另一个节点,重新下发任务。实现这一过程,至少需要完成两次通信:任务节点向任务调度系统发起注册请求,以及任务调度系统向任务节点发送任务执行指令。因此,要求任务调度系统与任务节点之间的网络是能够双向通信的。

2、然而,在一个大规模分布式集群中,通常会实施网络隔离,划分出不同分区,比如内网区和外网区。内网区通常具有更高的安全等级,不允许外部直接访问,并且不允许访问外网区的服务。而外网区,通过授权可以访问内网区。这种网络隔离策略安全性高,但增加了任务调度的复杂性。还有一种情况,在分区内部分配ip地址,即便任务调度系统拿到了其他分区任务节点的通信地址,但由于网络隔离的策略限制了不同分区之间的不能直接通信,这些地址不能直接用于跨分区的远程调用,无法进行有效的数据交换和任务协同。目前,为了分配任务到各个分区的任务节点,常见的解决方案是在每个分区独立部署任务调度系统,任务调度系统在分区内进行任务分发。这导致了冗余部署和资源浪费,并且,对于只需要执行一次的任务,这种方案会导致任务在每个分区都被重复执行。

3、因此,亟需一种能够克服网络隔离,突破不同分区进行任务调度,实现任务调度系统与任务节点之间双向通信,通过远程调用将任务执行指令下发到任务节点中,实现跨网络分区的任务调度,减少资源浪费,确保任务在最合适的节点上执行,同时避免不必要的重复执行的跨网络的分布式任务调度方法、系统。


技术实现思路

1、鉴于上述问题,本专利技术的目的是提供一种跨网络的分布式任务调度方法、系统,以解决现有技术中的分布式任务调度方法存在冗余部署、资源浪费、任务重复执行的技术问题。

2、本专利技术提供的一种跨网络的分布式任务调度方法,其中,包括:

3、将创建应用时生成的密钥和预设的任务调度系统的通讯地址下发至所述应用对应的各个任务节点中;

4、基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接;

5、使所述任务调度系统通过所述长连接向所述任务节点下发任务指令密文,并使所述任务节点通过所述密钥为所述指令密文进行解密匹配以形成执行命令,并按照所述执行命令执行任务。

6、可选地,将创建应用时生成的密钥和预设的任务调度系统的通讯地址下发至所述应用对应的各个任务节点中的过程,包括:

7、创建应用,建立所述应用的应用信息,且生成与所述应用对应的密钥;

8、确定与所述应用对应的各个任务节点,将所述密钥、所述应用信息,以及预设的任务调度系统的通讯地址配置到所述任务节点的配置文件中。

9、可选地,基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接的过程,包括:

10、使所述任务节点形成关于自身节点的节点信息字符串,基于所述配置文件中的密钥对所述节点信息字符串进行签名形成签名节点信息;

11、使所述任务节点通过所述通讯地址向所述任务调度系统发起长连接注册请求,并通过所述长连接注册请求的协议头将所述签名节点信息传递至所述任务调度系统;

12、令所述任务调度系统基于所述信息字符串和所述签名进行鉴权处理,若鉴权通过,则建立所述任务节点与所述任务调度系统的长连接。

13、可选地,所述任务调度系统基于所述信息字符串和所述签名进行鉴权处理的过程,包括:

14、所述任务调度系统接收所述任务节点发出的长连接注册请求;

15、读取所述长连接注册请求的协议头中的当前时间,根据所述当前时间判断所述长连接注册请求是否在有效期内;其中,

16、若不在有效期内,则鉴权失败并断开连接;

17、若在有效期内,则读取所述协议头中的应用名,并在预设的应用信息表中查询是否存在所述应用名,若不存在,则鉴权失败,并断开连接;若存在,则解析所述签名节点信息,根据所述签名节点信息中的节点信息字符串进行签名计算生成判断签名,并将所述判断签名与所述签名节点信息中的签名进行匹配,若匹配通过,则鉴权通过。

18、可选地,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

19、使所述任务调度系统将与所述长连接对应的长连接会话存入本地的会话池,并将所述任务节点的节点信息存入注册表中。

20、可选地,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

21、使所述任务节点实时监听长连接的连接状态,其中,

22、若所述长连接的连接状态为断开,则所述任务节点再次向所述任务调度系统发送长连接请求。

23、可选地,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

24、使所述任务节点开启第一后台守护线程,通过所述第一后台守护线程定时通过长连接向所述任务调度系统发送心跳包;

25、其中,所述任务调度系统接收到心跳包后,主动更新所述注册表中的任务节点活跃时间,并且所述任务调度系统开启第二后台守护线程,通过所述第二后台守护线程定时检查所述注册表,并将任务节点活跃时间超期的任务节点从所述注册表中移除。

26、可选地,使所述任务调度系统通过所述长连接向所述任务节点下发任务指令密文,并使所述任务节点通过所述密钥为所述指令密文进行解密匹配以形成执行命令的过程,包括:

27、所述任务调度系统定时查询预设的定时任务表以获取定时任务;

28、获取与所述定时任务对应的应用id,查询与所述应用id对应的应用信息以获取与所述应用id对应的密钥;

29、生成唯一标识,并基于所述唯一标识进行字段组装以形成指令字符串,并采用所述密钥对所述指令字符串进行aes加密以形成指令密文;

30、在所述注册表中查询所述相关应用下的任务节点列表,并根据负载均衡策略在所述任务节点列表中选择任务节点作为目标任务节点,且取出所述目标任务节点的节点标识,并基于所述节点标识在所述本地会话池中调取对应的长连接会话;

31、所述任务调度系统通过所述长连接会话向所述目标任务节点发送所述指令密文;

32、所述目标任务节点采用本地的配置文本文档来自技高网...

【技术保护点】

1.一种跨网络的分布式任务调度方法,其特征在于,包括:

2.如权利要求1所述的跨网络的分布式任务调度方法,其特征在于,将创建应用时生成的密钥和预设的任务调度系统的通讯地址下发至所述应用对应的各个任务节点中的过程,包括:

3.如权利要求1所述的跨网络的分布式任务调度方法,其特征在于,基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接的过程,包括:

4.如权利要求3所述的跨网络的分布式任务调度方法,其特征在于,所述任务调度系统基于所述信息字符串和所述签名进行鉴权处理的过程,包括:

5.如权利要求4所述的跨网络的分布式任务调度方法,其特征在于,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

6.如权利要求4所述的跨网络的分布式任务调度方法,其特征在于,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

7.如权利要求6所述的跨网络的分布式任务调度方法,其特征在于,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

8.如权利要求7所述的跨网络的分布式任务调度方法,其特征在于,使所述任务调度系统通过所述长连接向所述任务节点下发任务指令密文,并使所述任务节点通过所述密钥为所述指令密文进行解密匹配以形成执行命令的过程,包括:

9.如权利要求8所述的跨网络的分布式任务调度方法,其特征在于,

10.一种跨网络的分布式任务调度系统,其特征在于,实现如权利要求1-9中任一项所述的跨网络的分布式任务调度方法,系统包括:

...

【技术特征摘要】

1.一种跨网络的分布式任务调度方法,其特征在于,包括:

2.如权利要求1所述的跨网络的分布式任务调度方法,其特征在于,将创建应用时生成的密钥和预设的任务调度系统的通讯地址下发至所述应用对应的各个任务节点中的过程,包括:

3.如权利要求1所述的跨网络的分布式任务调度方法,其特征在于,基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接的过程,包括:

4.如权利要求3所述的跨网络的分布式任务调度方法,其特征在于,所述任务调度系统基于所述信息字符串和所述签名进行鉴权处理的过程,包括:

5.如权利要求4所述的跨网络的分布式任务调度方法,其特征在于,在基于所述密钥和所述通讯地址建立所述任务节点与所述任务调度系统的长连接之后,还包括:

6.如权利要求4...

【专利技术属性】
技术研发人员:林楠庞家琛陈浩坤
申请(专利权)人:华信永道北京科技股份有限公司
类型:发明
国别省市:

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

1