CN102843259A - 集群内中间件自管理热备方法及系统 - Google Patents
集群内中间件自管理热备方法及系统 Download PDFInfo
- Publication number
- CN102843259A CN102843259A CN2012102971542A CN201210297154A CN102843259A CN 102843259 A CN102843259 A CN 102843259A CN 2012102971542 A CN2012102971542 A CN 2012102971542A CN 201210297154 A CN201210297154 A CN 201210297154A CN 102843259 A CN102843259 A CN 102843259A
- Authority
- CN
- China
- Prior art keywords
- machine
- election
- attitude
- broadcasting
- middleware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种集群内中间件自管理热备方法,当集群系统中主服务节点故障发生时,备份节点自动感知,备份态的节点自动转入选举态,基于内部多播,所有备份节点能根据事先制定的规则,自动选举出一台或多台新的主服务节点,并通知客户端服务节点的切换。本发明还提供实现上述方法的系统,该系统与服务中间件系统同机部署,系统根据设置的服务中间件信息,调用操作系统接口,来获取相应的服务中间件进程的运行信息,并根据返回的信息确定自身工作状态:主态、备态、选举态。在不同工作状态下,执行不同逻辑。本发明通过多播选举规则自行决定工作状态,在多播互通的基础上,调度管理整个系统的备份和切换,实现监控备份的自管理。
Description
技术领域
本发明属于计算机中冗余热备技术领域,具体涉及一种特别针对云服务和集群内的关键服务中间件的自管理热备方法及系统。
背景技术
随着云计算和集群的迅速发展,可靠性作为衡量服务质量的重要指标而受到广泛的重视,如何能方便快速构建高可靠性的分布式服务成为重要的课题。
目前公知的动态热备技术采用两种方式实现:
(1)在服务软件内部,编写热备冗余模块,形成专用的热备份体系。
(2)利用专门的软硬件设备进行镜像备份和热切换。
作为软件实现由于没有通用性,增加了构建备份体系的难度,同时增加热备机制后造成服务软件复杂度上升,这降低了服务中间件自身的稳定性。而利用软硬件镜像备份方式,由于镜像设备需要额外投入,这无疑会增加系统建设的成本,由于绝大多数服务是中间件系统方式,不会产生新数据,因此镜像方式起不到应有的作用,这样也造成了投资的浪费。同时对于大量现有的无热备功能的中间件系统,则无法采用软件手段构建具有高可靠的热备功能的中间件系统群。
发明内容
为了解决以上问题,本方案提出了一种独立于服务中间件系统的基于多播选举技术的集群内中间件自管理热备方法,通过多播选举规则自行决定工作状态,在多播互通的基础上,调度管理整个系统的备份和切换,实现监控备份的自管理。
本发明还提供了实现上述方法的系统。
集群内中间件自管理热备方法,包括以下步骤:
(1)启动本机接收广播;
(2)依据步骤(1)接收的广播检查集群系统内是否存在主态机广播,如果不存在,则进入步骤(3),否则进入步骤(12);
(3)启动本机作为主态机广播;
(4)启动本机监听接收广播;
(5)根据步骤(4)接收的广播,检测是否存在超过预定数量的主态机,如果不存在,则进入步骤(6),否则进入步骤(15);
(6)开启本机进程监控;
(7)启动本机的服务中间件;
(8)循环监控本机服务中间件进程;
(9)如果服务中间件进程正常,则进入步骤(8)继续监控,否则进入步骤(10);
(10)启动本机休眠以保证本机不进入下次的主态机选举,休眠结束进入步骤(11);
(11)启动本机作为备态机循环监听接收广播;
(12)如果在预定故障定时时长内接收到主态机广播,则进入步骤(11)继续监听,否则进入步骤(13);
(13)启动本机作为选举态机定时发送携带选举类型信息的广播,在预定选举时段内接收集群系统内其它处于选举态方式的服务器的携带选举类型的广播消息,对选举类型汇总,根据汇总结果,按照预定的选举规则进行选举,以确定本机是否为主态机;
(14)如果本机选举成为主态机,则进入步骤(3),否则停止广播,进入步骤(11);
(15)根据预定的选举规则重新确定本机是否为主态机;
(16)如果本机是主态机,则进入步骤(6),否则停止广播,进入步骤(11)。
进一步地,所述选举规则具体为:将接收到的所有处于选举态工作模式的服务器IP地址与本机IP进行比较,若本机IP最大则自主升为主态机。
实现所述方法的集群内中间件自管理热备系统,包括用于执行权利要求1或2所述方法的系统,该系统被安装于集群系统中的各服务器上。
集群内中间件自管理热备系统,包括:
第一装置,用于启动本机接收广播;
第二装置,用于依据第一装置接收的广播检查集群系统内是否存在主态机广播,如果不存在,则进入第三装置,否则进入第十二装置;
第三装置,用于启动本机作为主态机广播;
第四装置,用于启动本机监听接收广播;
第五装置,用于根据第四装置接收的广播,检测是否存在超过预定数量的主态机,如果不存在,则进入第六装置,否则进入第十三装置;
第六装置,用于开启本机进程监控;
第七装置,用于启动本机的服务中间件;
第八装置,用于循环监控本机服务中间件进程;
第九装置,用于如果服务中间件进程正常,则进入第八装置继续监控,否则进入第十装置;
第十装置,用于启动本机休眠以保证保证本机不进入下次的主态机选举,休眠结束进入第十一装置;
第十一装置,用于启动本机作为备态机循环监听接收广播;
第十二装置,用于如果在预定故障定时时长内接收到主态机广播,则进入第十一装置继续监听,否则进入第十三装置;
第十三装置,用于启动本机作为选举态机定时发送携带选举类型信息的广播,在预定选举时段内接收集群系统内其它处于选举态方式的服务器的携带选举类型的广播消息,对选举类型汇总,根据汇总结果,按照预定的选举规则进行选举,以确定本机是否为主态机;
第十四装置,用于如果本机选举成为主态机,则进入第三装置,否则停止广播,进入第十一装置;
第十五装置,用于根据预定的选举规则重新确定本机是否为主态机;
第十六装置,用于如果本机是主态机,则进入第六装置,否则停止广播,进入第十一装置。
本发明的技术效果体现在:
本发明系统独立于服务中间件系统,与服务中间件同机部署,系统根据设置的服务中间件系统信息,调用操作系统接口,来获取相应的服务中间件进程的运行信息,并根据返回的信息确定自身工作状态:主态、备态、选举态。在不同工作状态下,执行不同逻辑。通过分布在系统中的所有的系统协同工作来保证大系统正常服务的持续提供:当大系统中主服务节点故障发生时,备份节点自动感知,备份态的系统自动转入选举态,基于内部多播,所有备份节点能根据事先制定的规则,自动选举出一台或多台新的主服务节点,并通知客户端服务节点的切换。
本发明是一种独立于服务中间件的系统设置方式,只需一个完全同质的小系统,完全相同的配置方式,就可完成服务监控,主备状态切换,系统备份的自管理等工作,且无须改动服务中间件代码,就能支持现有的服务中间件系统,构建高可靠性集群服务系统。方案属于对等同构冗余架构,以广播通讯为基础,实现动态可伸缩的冗余备份机制,整个过程自管理,同时支持客户端的自动切换功能的实现。
附图说明
图1为本发明系统工作状态变迁示意图。
图2为本发明系统的工作流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。
图1为本发明系统工作状态变迁示意图。本发明系统定义三个工作状态:主态,备态,选举态,三个工作状态的切换方式描述如下:
主态:本机为工作服务器。出现故障转为备态运行。
备态:本机为备份服务器。当确定主态机故障后,自动转成选举态。
选举态:本机处于选举状态。利用广播信息,按照预定规则进行选举,自动完成选举程序,最终确定一台或多台主态机,启动主态机上的服务中间件。
在系统中定义如下时间常量:
VOTE_DEADLINE:选举的最晚时限,设为4秒。
BORAD_INTERVAL:插件定时广播的周期,设为2秒。
CHECK_ERROR_INTERVAL:定义为BROAD_INTERVAL*3,插件监听主服务器状态,未收到消息包的超时时限,超过此时限插件由备份模式转入选举模式。
系统间通讯协议定义如下:
servertype$host$port$state1$state2
$:为消息分割符
:为消息结束符
servertype:服务器类型(可支持系统内多种类型服务器的热备)
host:服务器主机地址
port:服务器端口
state1:服务器工作状态(0:主态;1:选举态)
state2:其它信息
定义一个简单易行的选举规则,这里以采取基于IP的选举规则为例:根据接收到的所有处于选举态工作模式的广播的计算机的IP地址,对所有获取的IP地址与自己的IP进行比较,若自己的IP最大则自主升为主态机。
三个状态的工作流程如图2所示,其流程为:
(1)本机热备系统启动;
(2)开启本机监听接收广播;
(3)根据步骤(2)接收的广播检查集群系统内是否存在主态机广播,如果不存在,进入步骤(4),否则进入步骤(13);
(4)本机热备系统进入主态方式工作;
(5)开启本机作为主态机,定时BORAD_INTERVAL广播;
(6)开启本机监听接收广播;
(7)根据步骤(6)接收的广播,检测是否存在超过预定数量的主态机的冲突,如果系统不存冲突,则进入步骤(8),否则进入步骤(20);
(8)开启本机进程监控;
(9)启动本机的服务中间件系统;
(10)循环监控服务中间件进程;
(11)如果服务中间件进程正常,则返回步骤(10),继续监控,否则,表明本机为故障机,进入步骤(12);
(12)进入CHECK_ERROR_INTERVAL*2时长的休眠,保证故障机不进入下次的主态机选举,休眠结束则进入步骤(13);
(13)本机热备系统进入备态方式工作;
(14)设置故障定时器设定为CHECK_ERROR_INTERVAL时长;
(15)开启本机循环监听接收广播;
(16)如果在定时器CHECK_ERROR_INTERVAL时长内接收到主态机广播,则进入步骤(15)继续监听,否则进入步骤(17);
(17)本机热备系统进入选举态方式工作;
(18)开启本机选举广播,定时BORAD_INTERVAL发送选举类型的广播,VOTE_DEADLINE时间内接受来自集群系统内的所有选举类型的广播消息,对选举消息汇总,根据汇总信息,按照预定的选举规则进行选举,各自决定本机是否是主态机,选出预定数量的主态机;
(19)如果本机选举成为主态机,则进入步骤(4),否则停止广播,进入步骤(13);
(20)根据选举规则重新确定本机是否是主态机,以消除多余的主态机;
(21)如果本机是主态机,则进入步骤(8),否则停止广播,进入步骤(13)。
本发明选举规则不局限于实施例采用基于IP的选举规则,还可采用基于MAC地址,配置文件的选举等等,只要满足各服务器能相互识别各自唯一标识,并制定一个方法选出主态机即可。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.集群内中间件自管理热备方法,其特征在于,包括以下步骤:
(1)启动本机接收广播;
(2)依据步骤(1)接收的广播检查集群系统内是否存在主态机广播,如果不存在,则进入步骤(3),否则进入步骤(12);
(3)启动本机作为主态机广播;
(4)启动本机监听接收广播;
(5)根据步骤(4)接收的广播,检测是否存在超过预定数量的主态机,如果不存在,则进入步骤(6),否则进入步骤(15);
(6)开启本机进程监控;
(7)启动本机的服务中间件;
(8)循环监控本机服务中间件进程;
(9)如果服务中间件进程正常,则进入步骤(8)继续监控,否则进入步骤(10);
(10)启动本机休眠以保证本机不进入下次的主态机选举,休眠结束进入步骤(11);
(11)启动本机作为备态机循环监听接收广播;
(12)如果在预定故障定时时长内接收到主态机广播,则进入步骤(11)继续监听,否则进入步骤(13);
(13)启动本机作为选举态机定时发送携带选举类型信息的广播,在预定选举时段内接收集群系统内其它处于选举态方式的服务器的携带选举类型的广播消息,对选举类型汇总,根据汇总结果,按照预定的选举规则进行选举,以确定本机是否为主态机;
(14)如果本机选举成为主态机,则进入步骤(3),否则停止广播,进入步骤(11);
(15)根据预定的选举规则重新确定本机是否为主态机;
(16)如果本机是主态机,则进入步骤(6),否则停止广播,进入步骤(11)。
2.根据权利要求1所述的集群内中间件自管理热备方法,其特征在于,所述选举规则具体为:将接收到的所有处于选举态工作模式的服务器IP地址与本机IP进行比较,若本机IP最大则自主升为主态机。
3.实现权利要求1或2所述方法的集群内中间件自管理热备系统,其特征在于,包括用于执行权利要求1或2所述方法的系统,该系统被安装于集群系统中的各服务器上。
4.集群内中间件自管理热备系统,包括:
第一装置,用于启动本机接收广播;
第二装置,用于依据第一装置接收的广播检查集群系统内是否存在主态机广播,如果不存在,则进入第三装置,否则进入第十二装置;
第三装置,用于启动本机作为主态机广播;
第四装置,用于启动本机监听接收广播;
第五装置,用于根据第四装置接收的广播,检测是否存在超过预定数量的主态机,如果不存在,则进入第六装置,否则进入第十三装置;
第六装置,用于开启本机进程监控;
第七装置,用于启动本机的服务中间件;
第八装置,用于循环监控本机服务中间件进程;
第九装置,用于如果服务中间件进程正常,则进入第八装置继续监控,否则进入第十装置;
第十装置,用于启动本机休眠以保证保证本机不进入下次的主态机选举,休眠结束进入第十一装置;
第十一装置,用于启动本机作为备态机循环监听接收广播;
第十二装置,用于如果在预定故障定时时长内接收到主态机广播,则进入第十一装置继续监听,否则进入第十三装置;
第十三装置,用于启动本机作为选举态机定时发送携带选举类型信息的广播,在预定选举时段内接收集群系统内其它处于选举态方式的服务器的携带选举类型的广播消息,对选举类型汇总,根据汇总结果,按照预定的选举规则进行选举,以确定本机是否为主态机;
第十四装置,用于如果本机选举成为主态机,则进入第三装置,否则停止广播,进入第十一装置;
第十五装置,用于根据预定的选举规则重新确定本机是否为主态机;
第十六装置,用于如果本机是主态机,则进入第六装置,否则停止广播,进入第十一装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102971542A CN102843259A (zh) | 2012-08-21 | 2012-08-21 | 集群内中间件自管理热备方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102971542A CN102843259A (zh) | 2012-08-21 | 2012-08-21 | 集群内中间件自管理热备方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102843259A true CN102843259A (zh) | 2012-12-26 |
Family
ID=47370336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102971542A Pending CN102843259A (zh) | 2012-08-21 | 2012-08-21 | 集群内中间件自管理热备方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843259A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679796A (zh) * | 2013-12-03 | 2015-06-03 | 方正信息产业控股有限公司 | 一种选举方法、装置及数据库镜像集群节点 |
CN104917792A (zh) * | 2014-03-12 | 2015-09-16 | 上海宝信软件股份有限公司 | 民主自治的集群管理方法和系统 |
CN106161495A (zh) * | 2015-03-25 | 2016-11-23 | 中兴通讯股份有限公司 | 一种主节点选举方法、装置及存储系统 |
CN106817250A (zh) * | 2016-12-23 | 2017-06-09 | 东软集团股份有限公司 | 一种动态选举方法及系统 |
CN107231674A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种集群自组网的方法与装置 |
CN109634787A (zh) * | 2018-12-17 | 2019-04-16 | 浪潮电子信息产业股份有限公司 | 分布式文件系统监控器切换方法、装置、设备及存储介质 |
CN110177125A (zh) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | 一种中间件平台迁移方法及系统 |
CN110838935A (zh) * | 2018-08-15 | 2020-02-25 | 上海宽带技术及应用工程研究中心 | 高可用sdn控制器集群方法、系统、存储介质及设备 |
CN111447097A (zh) * | 2020-04-20 | 2020-07-24 | 国网甘肃省电力公司信息通信公司 | 一种云平台资源调度管理方法及系统 |
CN115296983A (zh) * | 2022-08-03 | 2022-11-04 | 青岛海信微联信号有限公司 | 一种设备管理方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645862A (zh) * | 2005-02-01 | 2005-07-27 | 北京北方烽火科技有限公司 | 一种集群中主控节点自适应选举算法 |
CN102281330A (zh) * | 2011-08-03 | 2011-12-14 | 深圳市科迪特信息技术有限公司 | 用于saas平台的数据存储、通讯访问及控制的方法 |
CN102412988A (zh) * | 2011-11-14 | 2012-04-11 | 浪潮(北京)电子信息产业有限公司 | 一种业务信息系统及其实现持续运营的方法 |
-
2012
- 2012-08-21 CN CN2012102971542A patent/CN102843259A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645862A (zh) * | 2005-02-01 | 2005-07-27 | 北京北方烽火科技有限公司 | 一种集群中主控节点自适应选举算法 |
CN102281330A (zh) * | 2011-08-03 | 2011-12-14 | 深圳市科迪特信息技术有限公司 | 用于saas平台的数据存储、通讯访问及控制的方法 |
CN102412988A (zh) * | 2011-11-14 | 2012-04-11 | 浪潮(北京)电子信息产业有限公司 | 一种业务信息系统及其实现持续运营的方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679796A (zh) * | 2013-12-03 | 2015-06-03 | 方正信息产业控股有限公司 | 一种选举方法、装置及数据库镜像集群节点 |
CN104917792A (zh) * | 2014-03-12 | 2015-09-16 | 上海宝信软件股份有限公司 | 民主自治的集群管理方法和系统 |
CN104917792B (zh) * | 2014-03-12 | 2018-10-30 | 上海宝信软件股份有限公司 | 民主自治的集群管理方法和系统 |
CN106161495A (zh) * | 2015-03-25 | 2016-11-23 | 中兴通讯股份有限公司 | 一种主节点选举方法、装置及存储系统 |
CN106817250A (zh) * | 2016-12-23 | 2017-06-09 | 东软集团股份有限公司 | 一种动态选举方法及系统 |
CN107231674A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种集群自组网的方法与装置 |
CN110177125B (zh) * | 2018-05-15 | 2021-08-31 | 广东电网有限责任公司 | 一种中间件平台迁移方法 |
CN110177125A (zh) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | 一种中间件平台迁移方法及系统 |
CN110838935A (zh) * | 2018-08-15 | 2020-02-25 | 上海宽带技术及应用工程研究中心 | 高可用sdn控制器集群方法、系统、存储介质及设备 |
CN110838935B (zh) * | 2018-08-15 | 2023-01-03 | 上海宽带技术及应用工程研究中心 | 高可用sdn控制器集群方法、系统、存储介质及设备 |
CN109634787A (zh) * | 2018-12-17 | 2019-04-16 | 浪潮电子信息产业股份有限公司 | 分布式文件系统监控器切换方法、装置、设备及存储介质 |
CN111447097A (zh) * | 2020-04-20 | 2020-07-24 | 国网甘肃省电力公司信息通信公司 | 一种云平台资源调度管理方法及系统 |
CN115296983A (zh) * | 2022-08-03 | 2022-11-04 | 青岛海信微联信号有限公司 | 一种设备管理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843259A (zh) | 集群内中间件自管理热备方法及系统 | |
US5875290A (en) | Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system | |
CN102571452B (zh) | 多节点管理的方法和系统 | |
CN101907879B (zh) | 工业控制网络冗余容错系统 | |
US6012150A (en) | Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system | |
CN101582797B (zh) | 管理板、双机备份系统及方法 | |
TWI701916B (zh) | 用於在分布式系統中使管理能力自恢復的方法和裝置 | |
CN101483540A (zh) | 一种高端数据通信设备中的主备倒换方法 | |
CN112416969B (zh) | 分布式数据库中的并行任务调度系统 | |
CN103036719A (zh) | 一种基于主备集群服务器的跨地区服务容灾方法及装置 | |
CN103068034B (zh) | 一种数据同步的方法及装置 | |
CN110704250A (zh) | 一种分布式系统的热备份装置 | |
CN111585835B (zh) | 一种带外管理系统的控制方法、装置和存储介质 | |
EP2069934B1 (en) | Fault-tolerant medium access control (mac) address assignment in network elements | |
CN100508468C (zh) | 分布式节点动态管理数据自适应交换方法 | |
CN112565039B (zh) | 一种通信网络架构 | |
CN110053650B (zh) | 一种列车自动运行系统、列车自动运行系统架构及列车自动运行系统的模块管理方法 | |
CN111064643B (zh) | 一种节点服务器及其数据交互方法和相关装置 | |
CN109391982A (zh) | 信息包生成方法及编排管理方法、网元及存储介质 | |
CN104052799A (zh) | 一种利用资源环实现高可用存储的方法 | |
CN103684855A (zh) | 一种集群路由器智能管控的方法 | |
CN110399254A (zh) | 一种服务器cmc双机热活方法、系统、终端及存储介质 | |
CN102983997A (zh) | 主控服务迁移方法及装置 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN103629132B (zh) | 风扇共享控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121226 |