[发明专利]基于Raft协议的任务调度方法、系统、电子设备和介质在审
申请号: | 202211467908.4 | 申请日: | 2022-11-22 |
公开(公告)号: | CN116055563A | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 路晓梦;王世彪;王志海;喻波;董晓斌 | 申请(专利权)人: | 北京明朝万达科技股份有限公司 |
主分类号: | H04L67/60 | 分类号: | H04L67/60;G06F9/48;G06F16/28;H04L67/1042 |
代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 寿宁;张珉 |
地址: | 100142 北京市海淀区阜外亮*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 raft 协议 任务 调度 方法 系统 电子设备 介质 | ||
1.一种基于Raft协议的任务调度方法,应用于数据库的双主架构,其特征在于,所述双主架构的通信连接集群包括多个节点,且每个节点能够通过调度服务对所述数据库进行读写操作;
所述方法包括如下步骤:
S100,所述调度服务根据Raft协议从所述多个节点中选举出leader节点,所述leader节点用于将任务分发给相应的执行器,所述leader节点与所述数据库双主架构的其中一台服务器保持长连接;
S200,每个执行器通过所述调度服务获取所述leader节点的信息,并向所述leader节点发送该执行器的注册信息,所述leader节点根据所述注册信息在所述数据库中插入一条执行器信息,然后该执行器与所述多个节点中的follower节点保持心跳,所述follower节点根据所述心跳在所述数据库中更新该执行器对应的心跳时间;
S300,所述leader节点从所述数据库中获取待执行任务,并根据所述数据库中的执行器信息将所述待执行任务分发给相应的执行器;
S400,所述执行器接收到所述待执行任务后,执行所述待执行任务并向所述leader节点发送任务接收响应;
S500,所述leader节点接收所述任务接收响应后,重复步骤S300,直至完成所有任务的分发。
2.如权利要求1所述的任务调度方法,其特征在于,所述步骤S100包括如下步骤:
S110,每个节点初始作为follower节点并随机分配有选举超时时间;
S120,从所述多个节点中选取所述选举超时时间最短的follower节点作为candidate节点;
S130,所述candidate节点向所有的其他节点发起投票请求,
若获得半数以上的投票,则所述candidate节点被选举为leader节点,所述leader节点与至少半数以上的follower节点保持心跳;
若未获得半数以上的投票,则进入步骤S140;
S140,每个所述follower节点进入下一个任期,并作为candidate节点进入步骤S130,直至选举出所述leader节点。
3.如权利要求2所述的任务调度方法,其特征在于,所述步骤S130中,所述投票请求包含所述candidate节点的当前任期和任务日志ID;
所述每个节点在接收到所述投票请求后,
若所述candidate节点的任务日志ID大于该节点的任务日志ID,则投票给所述candidate节点;
若所述candidate节点的任务日志ID小于该节点的任务日志ID,则不投票给所述candidate节点;
若所述candidate节点的任务日志ID等于该节点的任务日志ID,则比较所述candidate节点的当前任期和该节点的当前任期,
若所述candidate节点的当前任期大于该节点的当前任期,则投票给所述candidate节点;
若所述candidate节点的当前任期小于该节点的当前任期,则不投票给所述candidate节点。
4.如权利要求2所述的任务调度方法,其特征在于,所述步骤S100包括如下步骤:
S150,若所述follower节点在预设时间内未收到来自所述leader节点的心跳,则执行所述步骤S140。
5.如权利要求1所述的任务调度方法,其特征在于,所述步骤S200包括如下步骤:
S210,所述每个执行器通过所述调度服务获取所述leader节点的信息的同时,还获取所有的所述follower节点的响应时间,并优先与响应时间最短的follower节点保持心跳。
6.如权利要求1所述的任务调度方法,其特征在于,所述步骤S200包括如下步骤:
S220,若所述执行器的心跳更新失败,则重新向所述leader节点发送该执行器的注册信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明朝万达科技股份有限公司,未经北京明朝万达科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211467908.4/1.html,转载请声明来源钻瓜专利网。