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

文档序号:7928118阅读:120来源:国知局

专利名称::一种基于消息订阅方式的状态同步方法及系统的制作方法
技术领域
:本发明属于信息处理
技术领域
,具体涉及一种基于消息订阅方式的状态同步方法及系统。
背景技术
:在采用热备份方式进行配置的系统中,为了使主备系统保持状态的同步,往往要把主系统的状态实时的和备系统保持一致。目前,主备系统的状态保持同步的方法很多,大部分是基于点对点方式的方式进行的,即当主系统的状态改变时通知备系统,备系统据此做出相应改变,以保持与主系统的状态同步。但是,该方法有明显的不足,因为有时主系统的状态改变对于备系统来说可能没有必要知道和同步的,但此时备系统根据主系统的状态仍然进行相应的改变,这显然会造成的系统工作效率的浪费;另外,如果需要保持状态同步的备系统即终端很多,而每一个备系统其实只负责一部分工作内容,但是,当主系统的任何状态改变时仍然会通知每一个备系统时,这种不足显得尤为明显,并且如果主系统的状态改变比较多,那么,各个系统通讯频繁,会导致系统的性能下降,影响状态同步的实时性。另外,目前越来越多的时候是需要各个工作中的系统同时保持同步,主、备系统的角色转换时常发生,这种情况下采用上述的同步方法,系统的性能下降更明显,也更进一步影响了状态同步的实时性。
发明内容针对现有技术中存在的缺陷,本发明的目的是提供一种基于消息订阅方式的状态同步方法及系统,通过该方法及系统使各个系统在状态同步过程中,当某一系统的状态发生变化时,通过消息服务器,只同步更新订阅相应消息的系统,不需更新所有的系统,从而提高系统的性能和工作效率,同时也保证了各个系统的状态同步。为达到以上目的,本发明采用的技术方案是一种基于消息订阅方式的状态同步方法,包括以下步骤(1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注册,注册后,即能够向消息服务器发送消息和/或订阅消息;(2)各系统根据需要向消息服务器订阅消息;(3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到该消息后,据此实时改变相应的状态,使各个系统的状态实时同步。进一步,步骤(2)中,各系统根据需要向消息服务器订阅消息时,各系统根据各自负责的工作内容确定需要订阅的消息类型;进一步,消息订阅者订阅的消息与消息发送者发送的消息,其消息的类型应保持一致;进一步,步骤(3)中,消息服务器查阅某消息的订阅者时,如果消息服务器发现该3消息的消息订阅者与消息发送者是同一系统时,则消息服务器不再向该系统发送该消息。—种基于消息订阅方式的状态同步系统,该系统包括需要同步的各系统及与各系统相连接的消息服务器,其特征在于所述的需要同步的各系统中均设有消息订阅模块、状态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消息接收模块、消息解析模块、消息发送模块、消息管理模块;所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用于在状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息;消息解析模块用于解析来自消息服务器的消息;所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息;消息解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模块用于管理消息订阅者和订阅的消息;本发明的效果在于采用本发明所述的方法和系统,通过消息订阅的方式,利用消息服务器对各个系统的状态信息进行集中管理,根据每个系统订阅的消息,发送相应的消息,使订阅者只关心自己订阅的消息,从而使各个系统只更新与自己负责的内容相关的状态,从而有效的降低了通讯的冗余和复杂程度,节约了网络资源并提高了消息分发及订阅的灵活性、可靠性,提高了状态同步的实时性。图1是本发明所述方法的流程图;图2是本发明所述系统的结构图。具体实施例方式下面结合实施例和附图,对本发明作进一步的阐述如图2所示,一种基于消息订阅方式的状态同步系统,该系统包括需要同步的各系统及与各系统相连接的消息服务器,其特征在于所述的需要同步的各系统中均设有消息订阅模块、状态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消息接收模块、消息解析模块、消息发送模块、消息管理模块;所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用于在状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息;消息解析模块用于解析来自消息服务器的消息;所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息;消息解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模块用于管理消息订阅者和订阅的消息;当上述系统工作时,需要同步的各个系统分别连接消息服务器,并根据需要通过各自的消息订阅模块向消息服务器订阅消息,如果在工作过程中,任一系统的工作状态发生改变时,该工作状态发生变化的系统通过状态信息发送模块将状态改变的消息发送给消息服务器,消息服务器的消息接收模块接收到该消息后,由消息解析模块解析该消息,解析后确认是系统状态改变的消息汇报时,消息服务器则从消息管理模块中查询此消息的订阅者,查阅到消息的订阅者后,由消息发送模块向所有订阅者发送该消息;订阅该消息的系统通过消息接收模块接收来自消息服务器的消息后,由消息解析模块解析消息,然后系统根据消息改变相应的状态参数,从而达到各个系统的状态实时同步;有一种特殊情况,当消息服务器在消息管理模块中查询某消息的订阅者时,如果消息服务器发现该消息订阅者与消息发送者是同一系统时,则消息服务器不需要再向该系统发送该消息。为适应上述系统,本发明采用了一种基于消息订阅方式的状态同步方法,如图1所示,具体包括以下步骤(1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注册,注册后,即能够向消息服务器发送消息和/或订阅消息;本实施例中,以电视领域的节目播出为例,有时节目的播出是实时的,为了保证节目的准确性,常需要多个系统同时工作,这样需要同步的系统比较多,本实施例中,假定有3个系统需要同步工作,即系统A,系统B,系统C;系统A负责电视图像的传输,系统B负责节目播出单的维护与更新,系统C负责播出时间的安排,在电视节目播出时,该3个系统需要时刻保持同步,则采用本发明所述的方法时,首先系统A,系统B、系统C分别连接消息服务器,并向消息服务器进行注册,注册后,系统A,系统B、系统C即获得了向消息服务器发送消息和/或订阅消息的资格;(2)各系统根据需要向消息服务器订阅消息;各系统根据负责的具体工作内容确定需要订阅的消息;本实施例中,系统A,系统B和备系统C根据各自负责的工作内容向消息服务器订阅消息,具体内容如下系统A订阅的消息为图像的改变;系统B订阅的消息为节目播出单改变;系统C订阅的消息为播出时间的改变;节目播出单改变;(3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到该消息后,据此实时改变相应的状态,使各个系统的状态实时同步;所述的状态是任意的,任何需要同步的信息都可以认为是状态;具体到本实施例中,当系统B的播出单状态发生改变时(如修改了播出单),系统B向消息服务器发送该消息,消息服务器接到系统B播出单改变的消息后,查询该消息的订阅者,本实施例中,该消息的订阅者为系统B和系统C,此时,消息服务器向订阅"播出单改变"消息的系统C发送"播出单改变"的消息(注因为消息是从系统B发出的,消息服务器发现消息发送者与消息订阅者是同一系统,所以消息服务器不需要再向系统B发送此条消息),但消息服务器并不会向系统A发送该消息,因为系统A没有订阅该消息;当系统C接到来自消息服务器的"播出单改变"消息后,系统C会据此刷新节目播出单,实时的与系统B保持同步,系统A则没有变化,仍然实时继续保持与系统B的同步。实际上,在实际操作过程中,消息订阅者订阅的消息与消息发送者发送的消息,其消息的类型应保持完全一致,如果不一致,就有可能导致消息服务器在分发消息时发生错误,为了使二者一致,常采用消息通讯协议的方法,消息协议可以根据自己的需要设计,把需要订阅以及需要发送的相关内容按照消息协议组成通讯内容,例如消息的各个信息用";"分开,以"START"开头,以"FINISH"结尾。具体为<table>tableseeoriginaldocumentpage6</column></row><table>通过上述的例子可以看出,采用消息订阅的方式,由消息服务器对消息集中管理,根据每个系统订阅的消息内容,有针对性的发送给系统相应的消息,可以让订阅者只关心自己订阅的消息,从而有效的降低了通讯的冗余和复杂程度,节约了网络资源并提高了消息分发及订阅的灵活性、可靠性,提高了状态同步的实时性。本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。权利要求一种基于消息订阅方式的状态同步方法,包括以下步骤(1)将需要保持状态同步的各系统分别连接消息服务器,并向消息服务器进行注册,注册后,即能够向消息服务器发送消息和/或订阅消息;(2)各系统根据需要向消息服务器订阅消息;(3)当任一系统的状态发生改变时,向消息服务器发送相应的消息,消息服务器收到该消息后,查询该消息的订阅者,并将该消息发送给所有订阅者,订阅该消息的系统收到该消息后,据此实时改变相应的状态,使各个系统的状态实时同步。2.如权利要求l所述的基于消息订阅方式的状态同步方法,其特征在于步骤(2)中,各系统根据需要向消息服务器订阅消息时,各系统根据各自负责的工作内容确定需要订阅的消息类型。3.如权利要求1所述的基于消息订阅方式的状态同步方法,其特征在于消息订阅者订阅的消息与消息发送者发送的消息,其消息的类型应保持一致。4.如权利要求1至3之一所述的基于消息订阅方式的状态同步方法,其特征在于步骤(3)中,消息服务器查阅某消息的订阅者时,如果消息服务器发现该消息的消息订阅者与消息发送者是同一系统时,则消息服务器不再向该系统发送该消息。5.—种基于消息订阅方式的状态同步系统,该系统包括需要同步的各系统及与各系统相连接的消息服务器,其特征在于所述的需要同步的各系统中均设有消息订阅模块、状态信息发送模块、消息接收模块、消息解析模块;所述的消息服务器设有消息接收模块、消息解析模块、消息发送模块、消息管理模块;所述的各系统的消息订阅模块用于向消息服务器订阅消息;状态信息发送模块用于在状态改变时发送消息给消息服务器;消息接收模块用于接收来自消息服务器的消息;消息解析模块用于解析来自消息服务器的消息;所述的消息服务器的消息接收模块用于接收来自各系统的状态消息或订阅消息;消息解析模块用于解析消息;消息发送模块用于向各系统发送其订阅的消息;消息管理模块用于管理消息订阅者和订阅的消息。全文摘要本发明涉及一种基于消息订阅方式的状态同步方法及系统,属于信息处理
技术领域
。现有技术中,使多个系统同步的方法多为点对点的方式,导致系统通讯频繁,性能下降,影响系统同步的实时性。本发明所述的方法及系统,采用消息订阅的方式,当需要同步的各个系统的任一系统发生改变时,将改变的信息通知消息服务器,消息服务器将该消息发送给所有订阅该消息的系统,订阅该消息的系统据此相应改变,以保持各系统的同步。采用本发明所述的方法和系统,利用消息服务器对各个系统的状态信息进行集中管理,根据每个系统订阅的消息,发送相应的消息,使订阅者只关心自己订阅的消息,从而有效的降低了通讯的冗余和复杂程度,提高了系统同步的实时性。文档编号H04L29/08GK101764830SQ20081022756公开日2010年6月30日申请日期2008年11月28日优先权日2008年11月28日发明者卢有飞,赵祎申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1