一种支持云间灾难转移的多云持续集成系统、方法及介质与流程

文档序号:39919618发布日期:2024-11-08 20:11阅读:24来源:国知局
一种支持云间灾难转移的多云持续集成系统、方法及介质与流程

本发明涉及云计算,具体提供一种支持云间灾难转移的多云持续集成系统、方法及介质。


背景技术:

1、在云计算领域中,持续集成系统是一种用于自动化构建、测试和部署软件的关键工具。持续集成(ci)是一种软件开发实践,旨在改善团队协作和软件交付的效率。它通过频繁地将代码集成到主线开发分支,并使用自动化构建工具来验证代码的正确性,以确保团队成员的代码能够快速有效地集成在一起,减少集成问题和软件交付的风险。

2、在传统的持续集成中,通常只依赖单一云平台/单一idc(机房)的机器进行任务的执行和运行。现有技术存在如下技术缺陷:

3、单云平台依赖性:现有的持续集成系统通常依赖单一云平台/单一idc(机房)进行任务的执行和运行。这种依赖性会导致系统对于单一云厂商的故障或不可用性非常敏感,一旦发生故障,整个持续集成流程就会中断。

4、无灾难恢复机制:现有系统中缺乏灾难恢复机制,即当某个云平台发生故障时,没有自动将任务转移到其它可用底层资源上运行的能力。这导致了持续集成的中断和业务停顿,给企业带来了严重的损失。

5、有鉴于此,特提出本发明专利。


技术实现思路

1、针对以上技术问题,本发明提出一种支持云间灾难转移的多云持续集成系统、方法及介质,实现云间灾难转移、支持多云环境下的持续集成,具体地,采用了如下技术方案:

2、在第一方面,本发明提供一种支持云间灾难转移的多云持续集成方法,包括:

3、通过持续集成客户端提交持续集成任务请求;

4、所述持续集成任务请求被同时下发给多个云服务平台,持续集成任务请求同时被存储至数据库;

5、多个云服务平台中的主节点根据接收到的持续集成任务请求,获取各个云服务平台注册在主节点名下工作节点的负载情况,选取目标工作节点下发持续集成任务请求进行执行;

6、当所述主节点部署的云服务平台发生故障时,则选举出其它云服务平台中的主节点作为新的主节点,新的主节点定时从数据库查询持续集成任务请求并下发。

7、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法中,多个云服务平台中的主节点通过选主流程选出,所述的选主流程包括:

8、初始状态或者主节点发生故障状态下,所有云服务平台中的控制节点处于候选者状态,成为主节点候选者;

9、各个主节点候选者分别向其它主节点候选者发送请求投票消息,请求投票消息包括候选者的任期号和候选者的id,各个候选者的任期号初始值相同;

10、接收到请求投票消息的主节点候选者,根据自己的投票状态和请求投票消息中候选者的任期号,判断是否投票;

11、选举超时时间届满后,统计各个主节点候选者获得的选票,选出获得选票最多的主节点候选者成为主节点,其它主节点候选者由候选者状态转变为初始状态。

12、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法中,所述接收到请求投票消息的主节点候选者,根据自己的投票状态和投票消息中候选者的任期号,判断是否投票包括:

13、当前主节点候选者接收到请求投票消息的时间节点,未投票给其它主节点候选者,则进一步判断发出请求投票消息的主节点候选者的任期号是否大于或者等于当前主节点候选者的任期号;

14、若判断结果为是,则当前主节点候选者投票给发出请求投票消息的主节点候选者,若判断结果为否,则不投票。

15、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法中,所述选举时间届满后,统计各个主节点候选者获得的选票,若未选出获得选票最多的主节点候选者,则重新发起新一轮的选主流程,各个主节点候选者增加各自的任期号。

16、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法,包括:

17、所述主节点发送心跳信号给其它控制节点,其它控制节点接收到主节点的心跳信号并重置选举超时时间;

18、如果其它控制节点在选举超时时间内未收到主节点的心跳信号,则会自动转变为候选者状态,并开始新一轮的选主流程。

19、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法中,所述多个云服务平台中的主节点根据接收到的持续集成任务请求,获取各个云服务平台注册在主节点名下工作节点的负载情况,选取目标工作节点下发持续集成任务请求进行执行包括:

20、各个云服务平台的工作节点向主节点注册自己的ip信息,并暴露自己的机器负载情况;

21、所述多个云服务平台中的主节点根据接收到的持续集成任务请求,获取各个工作节点的负载情况,选取当前负载最低的工作节点作为目标工作节点,下发持续集成任务请求进行执行。

22、作为本发明的可选实施方式,本发明的一种支持云间灾难转移的多云持续集成方法,包括:

23、目标工作节点收到主节点下发的任务后,创建一个临时目录用以执行持续集成任务,在此目录中拉取对应地址上的代码,并根据持续集成任务配置的脚本具体执行集成任务;

24、目标工作节点运行完毕后通知主节点此持续集成任务已完成,所述主节点更新数据库中此持续集成任务请求的完成情况。

25、在第二方面,本发明提供一种支持云间灾难转移的多云持续集成系统,包括:

26、持续集成客户端,用于提交持续集成任务请求;

27、多个云服务平台,分别与持续集成客户端通讯,所述持续集成客户端同时向多个云服务平台下发持续集成任务请求;

28、数据库,用于存储持续集成任务请求;

29、多个云服务平台中的主节点根据接收到的持续集成任务请求,获取各个云服务平台注册在主节点名下工作节点的负载情况,选取目标工作节点下发持续集成任务请求进行执行;

30、当所述主节点部署的云服务平台发生故障时,则选举出其它云服务平台中的主节点作为新的主节点,新的主节点定时从数据库查询持续集成任务请求并下发。

31、在第三方面,本发明提供电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述一种支持云间灾难转移的多云持续集成方法。

32、在第四方面,本发明提供计算机可读记录介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述一种支持云间灾难转移的多云持续集成方法。

33、与现有技术相比,本发明的有益效果:

34、本发明的一种支持云间灾难转移的多云持续集成方法,把多云架构运用在持续集成系统上,通过自动选主的方式支持灾难转移,提高持续集成系统的稳定性及可用性。具体具有如下技术效果:

35、高可用性和稳定性:本发明的一种支持云间灾难转移的多云持续集成方法实现了多云架构和灾难转移机制。当某个云服务平台故障时,系统能自动将任务转移到其他可用的云服务平台上,确保连续的持续集成流程。这提高了系统的可用性和稳定性,减少了业务中断的风险。

36、资源充分利用:本发明的一种支持云间灾难转移的多云持续集成方法引入负载均衡策略,根据实际负载情况,在不同云服务平台上均匀分配任务。这种策略能够使各个云服务平台的任务负载相对均衡,充分利用资源,提高系统整体性能。

37、故障恢复快速:由于本发明的一种支持云间灾难转移的多云持续集成方法支持灾难转移,系统在发生故障时能够迅速将任务切换到其他可用的云服务平台上,而无需人工干预。这使得故障恢复时间缩短,业务停顿时间大大降低。

38、弹性和灵活性:本发明的一种支持云间灾难转移的多云持续集成方法通过采用多云架构,允许根据实际需求选择不同的云服务平台进行持续集成,具备更高的弹性和灵活性。不再依赖于单一云服务平台,企业可以根据需求选择最适合的云服务平台进行持续集成。

39、降本增效:本发明的一种支持云间灾难转移的多云持续集成方法,通过多云架构和负载均衡策略的引入使得资源得到更充分利用,同时由于有多家云厂商可选,可以提高议价能力同时有更多选择,降低成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1