CN112671919A - 一种集群状态同步方法、装置、存储介质及系统 - Google Patents
一种集群状态同步方法、装置、存储介质及系统 Download PDFInfo
- Publication number
- CN112671919A CN112671919A CN202011596132.7A CN202011596132A CN112671919A CN 112671919 A CN112671919 A CN 112671919A CN 202011596132 A CN202011596132 A CN 202011596132A CN 112671919 A CN112671919 A CN 112671919A
- Authority
- CN
- China
- Prior art keywords
- cluster
- execution
- interface
- application module
- members
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种集群状态同步方法,其包括步骤,集群的一个成员通过post接口发送执行命令至调度应用模块内;其他成员轮流从调度应用模块内获取该执行命令;发送执行命令的成员开始执行该执行命令,并在执行完成后通过post接口将执行状态发送至调度应用模块内;其他成员轮流从调度模块中获取执行状态完成的信息;其他成员在获取到执行状态完成的信息后,依次轮询发送执行命令并执行。本发明还提供一种集群状态同步装置、存储介质及集群状态同步系统,本发明提供的集群状态同步方法、装置、存储介质及系统可避免了过于依赖共享文件,且各个节点同时读写同一个文件,容易出现节点之间相互覆盖的问题。
Description
技术领域
本发明涉及集群状态同步领域,尤其涉及一种集群状态同步方法、装置、存储介质及系统。
背景技术
集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信系统。软件集群通常有多个服务组件共同提供服务,组件之间存在依赖关系。一个主备集群至少包括:监视器、主节点、备节点三台服务器或者容器。除监视器外,主备节点上又分别运行了数据守护服务和数据库服务。这样,一个主备集群至少包括了一个监视器服务,两个数据守护服务和两个数据库服务。在启动和停止主备集群时,为保证数据的安全以及一致性,需要按照约定的顺序进行起停操作。以停止为例:先停止监视器,然后停止备节点上的数据守护服务,再停止主节点上的数据守护。确保所有数据守护服务停止之后,再停止主节点上的数据服务,最后停止备节点上的数据服务。自此数据守护集群停止完毕。在上述主备集群的停止过程中,由于监视器、主节点、备节点均分布于不同的服务器上,手工处理时,需要人为判断各个组件的状态,继而决定下一步操作。在自动化处理过程中,需要特定的机制来实现集群内广播组件自身的状态。
目前的解决方案是在所有节点上挂载一个共享文件,通过读写共享文件的方式来广播状态,继而决定后续操作。
但是,这种方式依赖特定的共享文件系统,比如NFS,而且各个节点同时读写同一个文件,容易出现节点之间相互覆盖的问题。
发明内容
有鉴于此,本发明提供一种集群状态同步方法、装置、存储介质及系统解决传统集群同步依赖共享文件系统容易出现节点之间互相覆盖的问题。
为了达到上述目的,本发明解决技术问题的技术方案是提供一种集群状态同步方法,其包括步骤:集群的一个成员通过post接口发送执行命令至调度应用模块内;其他成员轮流从调度应用模块内获取该执行命令;发送执行命令的成员开始执行该执行命令,并在执行完成后通过post接口将执行状态发送至调度应用模块内;其他成员轮流从调度模块中获取执行状态完成的信息;其他成员在获取到执行状态完成的信息后,依次轮询发送执行命令并执行。
进一步,所述调度应用模块上提供两个HTTP协议的接口,其中一个为接收接口,另一个为查询接口。
进一步,所述通过post接口发送执行命令为以JSON的形式获取。
进一步,其他成员轮流获取调度应用模块中的信息为通过get接口以JSON的形式获取。
进一步,调度应用模块使用group、name作为成员的唯一标识,接收推送的成员报文时,group和name为必选字段,非法报文将返回对应的HTTP Code。
进一步,所有成员内设置统一的超时时间,自动清理过期的成员。
本发明还提供一种集群状态同步装置,包括:监视器,用于检测对等站点集群中的工作站点的可用内存信息以及每个工作站点对应的索引块信息;主节点及备节点;调度应用模块,提供两个HTTP协议的接口,其中一个为接收接口,另一个为查询接口,用于接收成员信息及供成员查询信息。
进一步,所述主节点及备节点上皆分别运行了数据守护及数据服务。
本发明还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行集群状态同步方法。
本发明还提供一种集群状态同步系统,其包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现集群状态同步方法。
与现有技术相比,本发明所提供的集群状态同步方法、装置、存储介质及系统具有以下有益效果:
通过调度应用模块上提供的两个接口,所有成员通过两个接口依次轮询的利用调度应用模块发送、接收信息,并按照一定的顺序依次执行命令,以实现集群状态同步,避免了过于依赖共享文件,且各个节点同时读写同一个文件,容易出现节点之间相互覆盖的问题。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明的保护范围内。
附图说明
图1为本发明一个实施例提供的一种集群状态同步装置的模块示意图;
图2为本发明一个实施例提供的一种集群状态同步方法的步骤流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1-2,本发明提供的一种集群状态同步装置包括监视器10、主节点20、备节点30及调度应用模块40。监视器10用于检测对等站点集群中的工作站点的可用内存信息以及每个工作站点对应的索引块信息,以根据检测结果对每个工作站点所加载的索引块进行协调,以及向每个工作站点发送对等站点列表更新指令。主节点20及备节点30上分别运行了数据守护及数据服务,调度应用模块上提供两个HTTP协议的接口,其中一个为接收接口,另一个为查询接口。通过调度应用模块40调度监视器10、主节点20及备节点30的开启、停止等工作,以实现集群状态同步。
具体的,产生一侧的客户端程序从接收接口推送成员信息至系统中,消费一侧的客户端通过查询接口查询成员列表,以通过调度应用模块40为中转,实现信息的推送、查询,从而判断各组件之间的状态,以进行下一步的操作,避免共享模式下的查询、推送发生覆盖。
在本实施例中,调度应用模块40仅对外提供两个HTTP协议的接口,一个member接收,另一个为member查询。生产一侧客户端程序通过Post接口推送JSON格式的member到系统中,消费一侧客户端程序通过Get接口查询JSON格式的member列表。调度应用模块40本身不对member进行任何形式的持久化,如数据库或者文件等,所有member信息保留在内存中。
在一中实施例中,集群状态同步系统至少使用group、name作为member的唯一标识,接收推送的member报文时,group和name为必选字段,非法报文将返回对应的HTTPCode。接收的member之后,根据group、name来决定新增member或者替换已有的member,系统本身不保留历史状态。
在一种实施例中,系统内部设置统一的超时时间,自动清理过期member。
本发明提供的一种集群状态同步方法,其包括步骤:
S101,集群的一个成员通过post接口发送执行命令至调度应用模块内;
在本实施例中,当集群需要执行命令时,第一个执行的成员为监视器,其将执行命令通过post结构发送至调度应用模块内。
在一个实施例中,执行命令可以是开启、停止等任意命令。
在一个实施例中,通过post接口推送至命令调度应用模块内的为json格式。
S102,其他成员轮流从调度应用模块内获取该执行命令;
在本实施例中,其他成员在第一个执行的成员向调度应用模块发送执行命令后,依次从调度应用模块内获取该执行命令的具体信息。
在一个实施例中,其他成员包括主节点及备节点,其中,主节点及备节点皆包括数据守护及数据服务,在第一个执行的成员发送执行命令时,主节点及备节点的数据守护及数据服务皆通过调度应用模块轮流获取该信息。
在一个实施例中其他成员轮流获取调度应用模块中的信息为通过get接口以JSON的形式获取。
S103,发送执行命令的成员开始执行该执行命令,并在执行完成后通过post接口将执行状态发送至调度应用模块内;
在本实施例中,在其他成员轮流获取到执行命令的信息后,发送执行命令的成员开始执行发送的执行命令,如,当执行命令为停止时,在其他成员获取到该信息后,发送执行命令的成员开始执行停止。在执行完成后,发送执行命令的成员将执行完成的信息发送至调度应用模块内。
S104,其他成员轮流从调度模块中获取执行状态完成的信息;
在本实施例中,当发送执行命令的成员执行完成后,其他成员轮流从调度应用模块内获取到执行已完成的信息。
S105,其他成员在获取到执行状态完成的信息后,依次轮询发送执行命令并执行;
在本实施例中,当其他成员在获取到执行状态完成的信息后,依次轮询重复上述步骤S101至S104。其中,以执行命令为停止为例子,各成员之间的顺序为先停止监视器,然后停止备节点上的数据守护服务,再停止主节点上的数据守护。确保所有数据守护服务停止之后,再停止主节点上的数据服务,最后停止备节点上的数据服务。
在一种实施例中调度应用模块使用group、name作为成员的唯一标识,接收推送的成员报文时,group和name为必选字段,非法报文将返回对应的HTTP Code。
在一种实施例中,所有成员内设置统一的超时时间,自动清理过期的成员。
在本实施例中,以主备集群的停机为例,涉及到的member如下:server-p、server-s、watcher-p、watcher-s、monitor。初始状态下,假设五个member的status都是running,主备集群中的各个节点轮询从应用程序获取最新状态。开始停机:
1、monitor通过Post接口发送stopping状态,其他节点获取最新状态为stopping;
2、monitor执行关停过程关闭主程序,检测主程序停止之后,通过Post接口发送stopped状态,monitor节点退出,其他节点获取最新状态为stopped;
3、watcher-s得到monitor的状态为stopped,通过Post接口更新自身状态为stopping,启动关停过程关闭主程序。此时,其他成员通过Get接口获得的状态为stopping。检查主程序停止之后,通过Post接口发送stopped状态,watcher-s节点退出,其他节点获取最新状态为stopped;
4、watcher-p得到watcher-s的状态为stopped,通过Post接口更新自身状态为stopping,启动关停过程关闭主程序。此时,其他成员通过Get接口获得的状态为stopping。检查主程序停止之后,通过Post接口发送stopped状态,watcher-p节点退出,其他节点获取最新状态为stopped;
5、server-p和server-s的停止过程与上述dmwatcher一致:检查依赖状态,执行关停过程,这里不再赘述。
本发明还提供一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法步骤。存储介质可以包括如软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、XD卡等。
计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可以是个人计算机设备、服务器或其他网络设备等)用以执行本发明方法的全部或部分步骤。
本发明还提供一种集群状态同步系统,该集群状态同步系统包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现集群状态同步方法。
与现有技术相比,本发明所提供的集群状态同步方法、装置、存储介质及系统具有以下有益效果:
通过调度应用模块上提供的两个接口,所有成员通过两个接口依次轮询的利用调度应用模块发送、接收信息,并按照一定的顺序依次执行命令,以实现集群状态同步,避免了过于依赖共享文件,且各个节点同时读写同一个文件,容易出现节点之间相互覆盖的问题。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明的保护范围内。
Claims (10)
1.一种集群状态同步方法,其特征在于,包括步骤:
集群的一个成员通过post接口发送执行命令至调度应用模块内;
其他成员轮流从调度应用模块内获取该执行命令;
发送执行命令的成员开始执行该执行命令,并在执行完成后通过post接口将执行状态发送至调度应用模块内;
其他成员轮流从调度模块中获取执行状态完成的信息;
其他成员在获取到执行状态完成的信息后,依次轮询发送执行命令并执行。
2.如权利要求1所述的一种集群状态同步方法,其特征在于:
所述调度应用模块上提供两个HTTP协议的接口,其中一个为接收接口,另一个为查询接口。
3.如权利要求1所述的一种集群状态同步方法,其特征在于:
所述通过post接口发送执行命令为以JSON的形式获取。
4.如权利要求1所述的一种集群状态同步方法,其特征在于:
其他成员轮流获取调度应用模块中的信息为通过get接口以JSON的形式获取。
5.如权利要求1所述的一种集群状态同步方法,其特征在于:
调度应用模块使用group、name作为成员的唯一标识,接收推送的成员报文时,group和name为必选字段,非法报文将返回对应的HTTP Code。
6.如权利要求1所述的一种集群状态同步方法,其特征在于:
所有成员内设置统一的超时时间,自动清理过期的成员。
7.一种集群状态同步装置,其特征在于,包括:
监视器,用于检测对等站点集群中的工作站点的可用内存信息以及每个工作站点对应的索引块信息;
主节点及备节点;
调度应用模块,提供两个HTTP协议的接口,其中一个为接收接口,另一个为查询接口,用于接收成员信息及供成员查询信息。
8.如权利要求7所述的一种集群状态同步装置,其特征在于:
所述主节点及备节点上皆分别运行了数据守护及数据服务。
9.一种存储介质,其特征在于:
所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1-6中任一项中所述的集群状态同步方法。
10.一种集群状态同步系统,其特征在于:
所述集群状态同步系统包括处理器及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行,实现如权利要求1-6任一项所述的集群状态同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596132.7A CN112671919B (zh) | 2020-12-29 | 2020-12-29 | 一种集群状态同步方法、装置、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596132.7A CN112671919B (zh) | 2020-12-29 | 2020-12-29 | 一种集群状态同步方法、装置、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671919A true CN112671919A (zh) | 2021-04-16 |
CN112671919B CN112671919B (zh) | 2023-04-07 |
Family
ID=75411957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596132.7A Active CN112671919B (zh) | 2020-12-29 | 2020-12-29 | 一种集群状态同步方法、装置、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671919B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501094A (zh) * | 2022-02-09 | 2022-05-13 | 浙江博采传媒有限公司 | 基于虚拟制片的序列播放方法、装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083030A1 (en) * | 1998-11-23 | 2002-06-27 | Mike Yang | Performing event notification in a database having a distributed web cluster |
US20030187991A1 (en) * | 2002-03-08 | 2003-10-02 | Agile Software Corporation | System and method for facilitating communication between network browsers and process instances |
JP2004334723A (ja) * | 2003-05-12 | 2004-11-25 | Nec Corp | プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム |
JP2006323764A (ja) * | 2005-05-20 | 2006-11-30 | Mitsubishi Electric Information Systems Corp | データ伝送制御システム及びデータ伝送制御プログラム |
CN101359321A (zh) * | 2008-09-02 | 2009-02-04 | 北京中星微电子有限公司 | 一种实现处理器相互通讯的方法及装置 |
CN103297456A (zh) * | 2012-02-24 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 一种分布式系统下共享资源的访问方法及分布式系统 |
US20160321293A1 (en) * | 2014-03-31 | 2016-11-03 | Yandex Europe Ag | Method and system for synchronizing files between a first electronic device and a second electronic device |
US20200042622A1 (en) * | 2018-07-31 | 2020-02-06 | EMC IP Holding Company LLC | Polling process for monitoring interdependent hardware components |
-
2020
- 2020-12-29 CN CN202011596132.7A patent/CN112671919B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083030A1 (en) * | 1998-11-23 | 2002-06-27 | Mike Yang | Performing event notification in a database having a distributed web cluster |
US20030187991A1 (en) * | 2002-03-08 | 2003-10-02 | Agile Software Corporation | System and method for facilitating communication between network browsers and process instances |
JP2004334723A (ja) * | 2003-05-12 | 2004-11-25 | Nec Corp | プロセス実行装置,プロセス実行管理方法,プロセス実行システムおよびプロセス実行プログラム |
JP2006323764A (ja) * | 2005-05-20 | 2006-11-30 | Mitsubishi Electric Information Systems Corp | データ伝送制御システム及びデータ伝送制御プログラム |
CN101359321A (zh) * | 2008-09-02 | 2009-02-04 | 北京中星微电子有限公司 | 一种实现处理器相互通讯的方法及装置 |
CN103297456A (zh) * | 2012-02-24 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 一种分布式系统下共享资源的访问方法及分布式系统 |
US20160321293A1 (en) * | 2014-03-31 | 2016-11-03 | Yandex Europe Ag | Method and system for synchronizing files between a first electronic device and a second electronic device |
US20200042622A1 (en) * | 2018-07-31 | 2020-02-06 | EMC IP Holding Company LLC | Polling process for monitoring interdependent hardware components |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501094A (zh) * | 2022-02-09 | 2022-05-13 | 浙江博采传媒有限公司 | 基于虚拟制片的序列播放方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112671919B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2100223B1 (en) | Apparatus and methods of a zero single point of failure load balancer | |
CN110018996B (zh) | 一种分布式存储系统的快照回滚方法及相关装置 | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
CN110213359B (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN112671919B (zh) | 一种集群状态同步方法、装置、存储介质及系统 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
CN103516735A (zh) | 一种网络节点升级的方法及装置 | |
EP3660679B1 (en) | Data backup method, device and system | |
CN111158711A (zh) | 面向多个安卓系统终端的应用程序部署方法和设备 | |
CN114565502A (zh) | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 | |
CN110287159B (zh) | 一种文件处理方法及装置 | |
CN102291303B (zh) | 一种单板及其确定主备状态的方法 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN114726711A (zh) | 设备间协同处理业务的方法及系统 | |
CN113630368B (zh) | 自动云联仪表的通信方法、系统、终端以及介质 | |
CN112820092B (zh) | 采集用电数据的方法、终端设备、存储介质 | |
CN112711466B (zh) | 悬挂事务巡检方法和装置、电子设备和存储介质 | |
CN114528095A (zh) | 集群数据的处理方法、装置、电子设备和存储介质 | |
CN113691599A (zh) | 一种服务实例间数据同步的方法及装置 | |
CN112486656A (zh) | 实现无线电离线任务调度和数据下载的方法 | |
CN113037797A (zh) | 数据处理方法及其装置 | |
CN111464395A (zh) | 一种创建区块链的方法、装置及可读存储介质 | |
CN112188413A (zh) | 一种集群系统动态切换组的方法、装置、终端及系统 | |
CN111324374A (zh) | 基于应用性能管理系统的应用程序的注册方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |