一种Paxos消息发送方法、装置、设备、介质及产品与流程

文档序号:41497760发布日期:2025-04-01 19:22阅读:15来源:国知局
一种Paxos消息发送方法、装置、设备、介质及产品与流程

本发明涉及数据库,尤其涉及一种paxos消息发送方法、装置、设备、介质及产品。


背景技术:

1、在基于mgr(mysql group replication)的分布式系统中,常采用paxos共识算法实现多数派副本之间的数据一致性。由于paxos协议实现过程中内部状态复杂,因此现有技术采用单实例单线程多协程方式实现,即启动一个线程,在该线程内将各个组件逻辑抽象为协程,各协程以轮转的方式占用线程的时间片。但是单线程多协程方式在某些极端场景例如大事务下,可能会由于某些协程执行时间过长导致影响整个系统的稳定性,或者高并发场景下由于单线程达到瓶颈从而影响系统的整体吞吐。


技术实现思路

1、本发明提供了一种paxos消息发送方法、装置、设备、介质及产品,以将paxos协议由单线程多协程方式改造为多线程多协程方式实现,从而实现对paxos共识算法的执行性能进行优化。

2、根据本发明的一方面,提供了一种paxos消息发送方法,应用于分布式系统中的第一节点,第一节点运行有第一线程和第二线程;该方法包括:

3、通过第一线程从本地管道中获取应用层的业务请求,并将业务请求保存至第一消息队列;

4、通过第二线程根据第一消息队列中的业务请求构造paxos消息,并将paxos消息保存至第二消息队列;

5、通过第一线程根据第二消息队列中的paxos消息向各第二节点发起提案请求,以执行paxos共识算法流程;其中,第二节点包括分布式系统中与第一节点连接的节点。

6、根据本发明的另一方面,提供了一种paxos消息发送装置,应用于分布式系统中的第一节点,第一节点运行有第一线程和第二线程;该装置包括:

7、业务请求保存模块,用于通过第一线程从本地管道中获取应用层的业务请求,并将业务请求保存至第一消息队列;

8、消息构造模块,用于通过第二线程根据第一消息队列中的业务请求构造paxos消息,并将paxos消息保存至第二消息队列;

9、消息发送模块,用于通过第一线程根据第二消息队列中的paxos消息向各第二节点发起提案请求,以执行paxos共识算法流程;其中,第二节点包括分布式系统中与第一节点连接的节点。

10、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

11、至少一个处理器;以及

12、与所述至少一个处理器通信连接的存储器;其中,

13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的paxos消息发送方法。

14、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的paxos消息发送方法。

15、根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的paxos消息发送方法。

16、本发明实施例的技术方案,应用于分布式系统中的第一节点,第一节点运行有第一线程和第二线程,通过第一线程从本地管道中获取应用层的业务请求,并将业务请求保存至第一消息队列;通过第二线程根据第一消息队列中的业务请求构造paxos消息,并将paxos消息保存至第二消息队列;通过第一线程根据第二消息队列中的paxos消息向各第二节点发起提案请求,以执行paxos共识算法流程。本方案通过将paxos协议由单线程多协程方式改造为多线程多协程方式实现,解决了单线程方式下协程串行化执行导致的高并发压力下吞吐瓶颈问题,优化了paxos共识算法的执行性能;同时由于非paxos逻辑类协程的抽离,使得原本执行paxos逻辑类协程的线程可以负载更多的提案发起协程数量,增加了同时发起paxos提案的并发数,从而大大增加了系统吞吐。

17、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。



技术特征:

1.一种paxos消息发送方法,其特征在于,应用于分布式系统中的第一节点,所述第一节点运行有第一线程和第二线程;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过所述第一线程从本地管道中获取应用层的业务请求,并将所述业务请求保存至第一消息队列,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过所述第二线程根据所述第一消息队列中的所述业务请求构造paxos消息,并将所述paxos消息保存至第二消息队列,包括:

4.根据权利要求1所述的方法,其特征在于,所述通过所述第一线程根据所述第二消息队列中的所述paxos消息向各第二节点发起提案请求,以执行paxos共识算法流程,包括:

5.根据权利要求1所述的方法,其特征在于,还包括:

6.根据权利要求1所述的方法,其特征在于,还包括:

7.一种paxos消息发送装置,其特征在于,应用于分布式系统中的第一节点,所述第一节点运行有第一线程和第二线程;所述装置包括:

8.一种电子设备,其特征在于,所述电子设备包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的paxos消息发送方法。

10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-6中任一项所述的paxos消息发送方法。


技术总结
本发明公开了一种Paxos消息发送方法、装置、设备、介质及产品。方法应用于分布式系统中的第一节点,第一节点运行有第一线程和第二线程,包括:通过第一线程从本地管道中获取应用层的业务请求,并将业务请求保存至第一消息队列;通过第二线程根据第一消息队列中的业务请求构造Paxos消息,并将Paxos消息保存至第二消息队列;通过第一线程根据第二消息队列中的Paxos消息向各第二节点发起提案请求,以执行Paxos共识算法流程。本技术方案通过将Paxos协议由单线程多协程方式改造为多线程多协程方式实现,解决了单线程方式下协程串行化执行导致的高并发压力下吞吐瓶颈问题,优化了Paxos共识算法的执行性能;可以通过增加同时发起Paxos提案的并发数,从而提升系统吞吐。

技术研发人员:李亚伟
受保护的技术使用者:星环信息科技(上海)股份有限公司
技术研发日:
技术公布日:2025/3/31
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1