CN101764830A - 一种基于消息订阅方式的状态同步方法及系统 - Google Patents

一种基于消息订阅方式的状态同步方法及系统 Download PDF

Info

Publication number
CN101764830A
CN101764830A CN200810227561A CN200810227561A CN101764830A CN 101764830 A CN101764830 A CN 101764830A CN 200810227561 A CN200810227561 A CN 200810227561A CN 200810227561 A CN200810227561 A CN 200810227561A CN 101764830 A CN101764830 A CN 101764830A
Authority
CN
China
Prior art keywords
message
server
module
state
subscribing
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
Application number
CN200810227561A
Other languages
English (en)
Inventor
赵祎
卢有飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN200810227561A priority Critical patent/CN101764830A/zh
Publication of CN101764830A publication Critical patent/CN101764830A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及一种基于消息订阅方式的状态同步方法及系统,属于信息处理技术领域。现有技术中,使多个系统同步的方法多为点对点的方式,导致系统通讯频繁,性能下降,影响系统同步的实时性。本发明所述的方法及系统,采用消息订阅的方式,当需要同步的各个系统的任一系统发生改变时,将改变的信息通知消息服务器,消息服务器将该消息发送给所有订阅该消息的系统,订阅该消息的系统据此相应改变,以保持各系统的同步。采用本发明所述的方法和系统,利用消息服务器对各个系统的状态信息进行集中管理,根据每个系统订阅的消息,发送相应的消息,使订阅者只关心自己订阅的消息,从而有效的降低了通讯的冗余和复杂程度,提高了系统同步的实时性。

Description

一种基于消息订阅方式的状态同步方法及系统
技术领域
[0001] 本发明属于信息处理技术领域,具体涉及一种基于消息订阅方式的状态同步方法
及系统。 背景技术
[0002] 在采用热备份方式进行配置的系统中,为了使主备系统保持状态的同步,往往要 把主系统的状态实时的和备系统保持一致。目前,主备系统的状态保持同步的方法很多,大 部分是基于点对点方式的方式进行的,即当主系统的状态改变时通知备系统,备系统据此 做出相应改变,以保持与主系统的状态同步。但是,该方法有明显的不足,因为有时主系统 的状态改变对于备系统来说可能没有必要知道和同步的,但此时备系统根据主系统的状态 仍然进行相应的改变,这显然会造成的系统工作效率的浪费;另外,如果需要保持状态同步 的备系统即终端很多,而每一个备系统其实只负责一部分工作内容,但是,当主系统的任何 状态改变时仍然会通知每一个备系统时,这种不足显得尤为明显,并且如果主系统的状态 改变比较多,那么,各个系统通讯频繁,会导致系统的性能下降,影响状态同步的实时性。 [0003] 另外,目前越来越多的时候是需要各个工作中的系统同时保持同步,主、备系统的 角色转换时常发生,这种情况下采用上述的同步方法,系统的性能下降更明显,也更进一步 影响了状态同步的实时性。
发明内容
[0004] 针对现有技术中存在的缺陷,本发明的目的是提供一种基于消息订阅方式的状态 同步方法及系统,通过该方法及系统使各个系统在状态同步过程中,当某一系统的状态发 生变化时,通过消息服务器,只同步更新订阅相应消息的系统,不需更新所有的系统,从而 提高系统的性能和工作效率,同时也保证了各个系统的状态同步。
[0005] 为达到以上目的,本发明采用的技术方案是:一种基于消息订阅方式的状态同步 方法,包括以下步骤:
[0006] (1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注 册,注册后,即能够向消息服务器发送消息和/或订阅消息; [0007] (2)各系统根据需要向消息服务器订阅消息;
[0008] (3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收 到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到 该消息后,据此实时改变相应的状态,使各个系统的状态实时同步。
[0009] 进一步,步骤(2)中,各系统根据需要向消息服务器订阅消息时,各系统根据各自 负责的工作内容确定需要订阅的消息类型;
[0010] 进一步,消息订阅者订阅的消息与消息发送者发送的消息,其消息的类型应保持 一致;
[0011] 进一步,步骤(3)中,消息服务器查阅某消息的订阅者时,如果消息服务器发现该
3消息的消息订阅者与消息发送者是同一系统时,则消息服务器不再向该系统发送该消息。 [0012] —种基于消息订阅方式的状态同步系统,该系统包括:需要同步的各系统及与各 系统相连接的消息服务器,其特征在于:所述的需要同步的各系统中均设有消息订阅模块、 状态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消息接收模块、 消息解析模块、消息发送模块、消息管理模块;
[0013] 所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用 于在状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息; 消息解析模块用于解析来自消息服务器的消息;
[0014] 所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息; 消息解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模 块用于管理消息订阅者和订阅的消息;
[0015] 本发明的效果在于:采用本发明所述的方法和系统,通过消息订阅的方式,利用消 息服务器对各个系统的状态信息进行集中管理,根据每个系统订阅的消息,发送相应的消 息,使订阅者只关心自己订阅的消息,从而使各个系统只更新与自己负责的内容相关的状 态,从而有效的降低了通讯的冗余和复杂程度,节约了网络资源并提高了消息分发及订阅 的灵活性、可靠性,提高了状态同步的实时性。
附图说明
[0016] 图1是本发明所述方法的流程图; [0017] 图2是本发明所述系统的结构图。
具体实施方式
[0018] 下面结合实施例和附图,对本发明作进一步的阐述:
[0019] 如图2所示,一种基于消息订阅方式的状态同步系统,该系统包括:需要同步的各 系统及与各系统相连接的消息服务器,其特征在于:所述的需要同步的各系统中均设有消 息订阅模块、状态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消 息接收模块、消息解析模块、消息发送模块、消息管理模块;
[0020] 所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用 于在状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息; 消息解析模块用于解析来自消息服务器的消息;
[0021] 所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息; 消息解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模 块用于管理消息订阅者和订阅的消息;
[0022] 当上述系统工作时,需要同步的各个系统分别连接消息服务器,并根据需要通过 各自的消息订阅模块向消息服务器订阅消息,如果在工作过程中,任一系统的工作状态发 生改变时,该工作状态发生变化的系统通过状态信息发送模块将状态改变的消息发送给消 息服务器,消息服务器的消息接收模块接收到该消息后,由消息解析模块解析该消息,解析 后确认是系统状态改变的消息汇报时,消息服务器则从消息管理模块中查询此消息的订阅 者,查阅到消息的订阅者后,由消息发送模块向所有订阅者发送该消息;订阅该消息的系统通过消息接收模块接收来自消息服务器的消息后,由消息解析模块解析消息,然后系统根 据消息改变相应的状态参数,从而达到各个系统的状态实时同步;
[0023] 有一种特殊情况,当消息服务器在消息管理模块中查询某消息的订阅者时,如果 消息服务器发现该消息订阅者与消息发送者是同一系统时,则消息服务器不需要再向该系 统发送该消息。
[0024] 为适应上述系统,本发明采用了一种基于消息订阅方式的状态同步方法,如图1 所示,具体包括以下步骤:
[0025] (1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注 册,注册后,即能够向消息服务器发送消息和/或订阅消息;
[0026] 本实施例中,以电视领域的节目播出为例,有时节目的播出是实时的,为了保证节 目的准确性,常需要多个系统同时工作,这样需要同步的系统比较多,本实施例中,假定有3 个系统需要同步工作,即系统A,系统B,系统C ;系统A负责电视图像的传输,系统B负责节 目播出单的维护与更新,系统C负责播出时间的安排,在电视节目播出时,该3个系统需要 时刻保持同步,则采用本发明所述的方法时,首先系统A,系统B、系统C分别连接消息服务 器,并向消息服务器进行注册,注册后,系统A,系统B、系统C即获得了向消息服务器发送消 息和/或订阅消息的资格;
[0027] (2)各系统根据需要向消息服务器订阅消息;各系统根据负责的具体工作内容确 定需要订阅的消息;
[0028] 本实施例中,系统A,系统B和备系统C根据各自负责的工作内容向消息服务器订 阅消息,具体内容如下:
[0029] 系统A订阅的消息为:图像的改变; [0030] 系统B订阅的消息为:节目播出单改变;
[0031] 系统C订阅的消息为:播出时间的改变;节目播出单改变;
[0032] (3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收 到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到 该消息后,据此实时改变相应的状态,使各个系统的状态实时同步;所述的状态是任意的, 任何需要同步的信息都可以认为是状态;
[0033] 具体到本实施例中,当系统B的播出单状态发生改变时(如修改了播出单),系统 B向消息服务器发送该消息,消息服务器接到系统B播出单改变的消息后,查询该消息的订 阅者,本实施例中,该消息的订阅者为系统B和系统C,此时,消息服务器向订阅"播出单改 变"消息的系统C发送"播出单改变"的消息(注:因为消息是从系统B发出的,消息服务器 发现消息发送者与消息订阅者是同一系统,所以消息服务器不需要再向系统B发送此条消 息),但消息服务器并不会向系统A发送该消息,因为系统A没有订阅该消息;当系统C接 到来自消息服务器的"播出单改变"消息后,系统C会据此刷新节目播出单,实时的与系统 B保持同步,系统A则没有变化,仍然实时继续保持与系统B的同步。
[0034] 实际上,在实际操作过程中,消息订阅者订阅的消息与消息发送者发送的消息,其 消息的类型应保持完全一致,如果不一致,就有可能导致消息服务器在分发消息时发生错 误,为了使二者一致,常采用消息通讯协议的方法,消息协议可以根据自己的需要设计,把 需要订阅以及需要发送的相关内容按照消息协议组成通讯内容,例如:消息的各个信息用";"分开,以"START"开头,以"FINISH"结尾。具体为: [0035]
<table>table see original document page 6</column></row> <table>[0040] 通过上述的例子可以看出,采用消息订阅的方式,由消息服务器对消息集中管理, 根据每个系统订阅的消息内容,有针对性的发送给系统相应的消息,可以让订阅者只关心 自己订阅的消息,从而有效的降低了通讯的冗余和复杂程度,节约了网络资源并提高了消 息分发及订阅的灵活性、可靠性,提高了状态同步的实时性。
[0041] 本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据 本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

Claims (5)

  1. 一种基于消息订阅方式的状态同步方法,包括以下步骤:(1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注册,注册后,即能够向消息服务器发送消息和/或订阅消息;(2)各系统根据需要向消息服务器订阅消息;(3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到该消息后,据此实时改变相应的状态,使各个系统的状态实时同步。
  2. 2. 如权利要求l所述的基于消息订阅方式的状态同步方法,其特征在于:步骤(2)中, 各系统根据需要向消息服务器订阅消息时,各系统根据各自负责的工作内容确定需要订阅 的消息类型。
  3. 3. 如权利要求1所述的基于消息订阅方式的状态同步方法,其特征在于:消息订阅者 订阅的消息与消息发送者发送的消息,其消息的类型应保持一致。
  4. 4. 如权利要求1至3之一所述的基于消息订阅方式的状态同步方法,其特征在于:步 骤(3)中,消息服务器查阅某消息的订阅者时,如果消息服务器发现该消息的消息订阅者 与消息发送者是同一系统时,则消息服务器不再向该系统发送该消息。
  5. 5. —种基于消息订阅方式的状态同步系统,该系统包括:需要同步的各系统及与各系 统相连接的消息服务器,其特征在于:所述的需要同步的各系统中均设有消息订阅模块、状 态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消息接收模块、消 息解析模块、消息发送模块、消息管理模块;所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用于在 状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息;消息 解析模块用于解析来自消息服务器的消息;所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息;消息 解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模块用 于管理消息订阅者和订阅的消息。
CN200810227561A 2008-11-28 2008-11-28 一种基于消息订阅方式的状态同步方法及系统 Pending CN101764830A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810227561A CN101764830A (zh) 2008-11-28 2008-11-28 一种基于消息订阅方式的状态同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810227561A CN101764830A (zh) 2008-11-28 2008-11-28 一种基于消息订阅方式的状态同步方法及系统

Publications (1)

Publication Number Publication Date
CN101764830A true CN101764830A (zh) 2010-06-30

Family

ID=42495812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810227561A Pending CN101764830A (zh) 2008-11-28 2008-11-28 一种基于消息订阅方式的状态同步方法及系统

Country Status (1)

Country Link
CN (1) CN101764830A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752485A (zh) * 2011-08-01 2012-10-24 新奥特(北京)视频技术有限公司 一种实现演播室同步的方法和系统、消息服务器
CN102833272A (zh) * 2011-06-13 2012-12-19 腾讯科技(深圳)有限公司 一种基于用户订阅的下载方法及装置
CN105978701A (zh) * 2016-05-11 2016-09-28 惠州市凯越电子有限公司 车载系统与智能移动终端自建频道的信息交互系统及方法
CN106230922A (zh) * 2016-07-28 2016-12-14 上海斐讯数据通信技术有限公司 一种消息订阅方法、消息生产单元及消息接收单元
CN106445956A (zh) * 2015-08-10 2017-02-22 苏宁云商集团股份有限公司 一种购物数据的管理方法及装置
CN110912805A (zh) * 2019-11-20 2020-03-24 中移(杭州)信息技术有限公司 消息读取状态的同步方法、终端、服务端及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010487A1 (en) * 2006-06-27 2008-01-10 Eliezer Dekel Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
CN101106489A (zh) * 2006-07-12 2008-01-16 明基电通股份有限公司 状态同步系统及方法
CN101159910A (zh) * 2007-10-30 2008-04-09 中兴通讯股份有限公司 同步呈现状态的方法及实现该方法的群组服务器和终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010487A1 (en) * 2006-06-27 2008-01-10 Eliezer Dekel Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
CN101106489A (zh) * 2006-07-12 2008-01-16 明基电通股份有限公司 状态同步系统及方法
CN101159910A (zh) * 2007-10-30 2008-04-09 中兴通讯股份有限公司 同步呈现状态的方法及实现该方法的群组服务器和终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833272A (zh) * 2011-06-13 2012-12-19 腾讯科技(深圳)有限公司 一种基于用户订阅的下载方法及装置
CN102752485A (zh) * 2011-08-01 2012-10-24 新奥特(北京)视频技术有限公司 一种实现演播室同步的方法和系统、消息服务器
CN106445956A (zh) * 2015-08-10 2017-02-22 苏宁云商集团股份有限公司 一种购物数据的管理方法及装置
CN106445956B (zh) * 2015-08-10 2020-11-03 苏宁易购集团股份有限公司 一种购物数据的管理方法及装置
CN105978701A (zh) * 2016-05-11 2016-09-28 惠州市凯越电子有限公司 车载系统与智能移动终端自建频道的信息交互系统及方法
CN106230922A (zh) * 2016-07-28 2016-12-14 上海斐讯数据通信技术有限公司 一种消息订阅方法、消息生产单元及消息接收单元
CN110912805A (zh) * 2019-11-20 2020-03-24 中移(杭州)信息技术有限公司 消息读取状态的同步方法、终端、服务端及系统
CN110912805B (zh) * 2019-11-20 2021-08-17 中移(杭州)信息技术有限公司 消息读取状态的同步方法、终端、服务端及系统

Similar Documents

Publication Publication Date Title
CN101764830A (zh) 一种基于消息订阅方式的状态同步方法及系统
EP3010114A1 (en) Method for controlling automatic identification of application network topology by power distribution network
CN102664947B (zh) 分布式系统中的通知分发方法
CN101925045B (zh) 一种提供用户业务数据的方法及系统
CN103312528A (zh) 一种心跳消息发送方法及用户终端
CN103036716A (zh) 链路切换方法及系统
US20170116094A1 (en) Fault handling methods in a home service system, and associated household appliances and servers
CN103037483A (zh) 网络服务器以及维持其与应用服务器的连接的方法
CN101296130B (zh) 一种实现多进程共享端口接收网络通知的系统及其方法
CN102571376B (zh) 一种多窗口聊天的实现方法及系统
CN102231699B (zh) 分布式系统中路由处理方法和分布式系统
CN105281919A (zh) 远程唤醒的方法、服务器及客户终端
US10182342B2 (en) Device network status information
EP2416526A4 (en) METHOD, SERVER NODE AND CLUSTER SYSTEM FOR SWITCHING TASKS
CN103024356B (zh) 一种轮切管理、处理方法及装置
CN103747078A (zh) 手机与终端协同化控制系统及其控制方法
CN101765152B (zh) 一种同一路由区下基站共享隧道资源的方法
CN108989467B (zh) 集中式寻址方法
CN105353701A (zh) 一种可靠的分布式报警系统和方法
CN102594731B (zh) 一种实现多窗口聊天的方法及系统
CN102149040A (zh) 机器类通信设备的寻呼方法、系统及装置
CN105007293A (zh) 双主控网络系统及该系统中业务请求的双写方法
EP1919129A1 (en) Method and system for synchronizing network management topology data
MX2009002799A (es) Metodo y dispositivo para la transmision de informacion a traves de una red compleja.
CN102244761A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100630