CN103546433A - 信息同步系统和方法 - Google Patents
信息同步系统和方法 Download PDFInfo
- Publication number
- CN103546433A CN103546433A CN201210242441.3A CN201210242441A CN103546433A CN 103546433 A CN103546433 A CN 103546433A CN 201210242441 A CN201210242441 A CN 201210242441A CN 103546433 A CN103546433 A CN 103546433A
- Authority
- CN
- China
- Prior art keywords
- information
- acquisition
- driver
- state variation
- module
- 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
Abstract
本申请提供了一种信息同步系统和方法,其中,信息同步系统包括:监听模块,用于监听分布式系统的共享资源的状态变化,并将所述状态变化的信息发送给信息获取模块,其中,所述状态变化的信息包括所述状态变化的驱动者信息;所述信息获取模块,用于接收所述状态变化的信息,并将其中的所述驱动者信息转换为驱动者的属性信息标识;通知模块,用于获取并发送所述信息获取模块进行了转换后的所述状态变化的信息,所述转换后的所述状态变化信息包括所述驱动者的属性信息标识。通过本申请,提高了共享资源占用信息通知效率,加快了工作进度。
Description
技术领域
本申请涉及分布式网络技术领域,特别是涉及一种分布式系统中的信息同步系统和方法。
背景技术
在分布式系统中,同一时间只能被唯一占用的资源被称为共享资源。共享资源具有全局唯一性的特点,如集中式服务器的指定端口(Port)、数据库表中某一条特定数据等,这类资源在被某用户占用期间会被锁定,以防止其他用户并发访问产生冲突。
一种解决共享资源冲突的方式是共享资源占用信息同步,以将共享资源正被占用的当前状态信息通知给相关者,告知相关者共享资源的当前状态。目前,互联网的共享资源在占用信息同步方面主要依赖于分布式系统使用者之间的效率较低的线下沟通,例如通过即时通讯工具如QQ群、旺旺群等方式进行沟通,而状态变化一般是持久性或连续性的,如果一个动作触发了连续几个状态的变化,每个变化又要持续一段时间,那么还需要人工监视共享资源状态变化进程,在每个状态变化的过程中,用类似的方式通知结果。
以下,以一种分布式系统开发环境为例,对现有方案进行说明。该分布式系统以部署在Linux上的svn代码版本库进行管理,用maven管理项目的构建,JBoss服务器作为应用容器的应用系统,更新代码(CodeUpdate)、编译代码、依赖类库下载(Build)、重启应用服务器(Deploy)(下面将更新代码、编译代码、依赖类库下载、重启应用服务器的过程简称为“CBD”)及其在这一系列动作之前、之后进行共享资源占用信息通知。具体地,在团队项目开发中,开发人员的调试工作、测试人员的测试工作都要依赖于运行在JBoss上的服务端程序。但是,在开发的过程中,项目组成员随时都有可能提交新版本的代码,并且更新服务器端代码、重新编译程序、重启应用,这将造成服务端程序进入中断服务状态,而在这一系列活动完成之后,服务端程序重新进入服务状态,在此过程中其他成员的工作也将受到不可控的影响。对于这种问题,通常采取的办法是在上述一系列动作之前重启操作者先利用即时通讯工具聊天群里发出使用共享资源的通知,并人工监控执行进程,待结束后系统恢复服务时再次在聊天群里发出释放共享资源的通知。
可见,在分布式系统开发环境中,服务器对外提供服务这种共享资源具有单点性的特点,项目组的成员和程序对其有较强依赖性,如果共享资源状态发生改变(如从提供服务变为服务不可用),将对所有使用者产生影响。此时,如果共享资源的占用信息没有同步到所有使用者,可能会对开发进程产生不良影响。而现有占用信息同步方案虽然能够使占用信息同步到使用者,但存在着以下一个或多个问题:(1)问题一,采用即时通讯工具进行共享资源占用信息通知效率低,影响工作进度,并且,如果共享资源较多,则对效率的影响将更加明显。(2)问题二,人工监控共享资源占用情况很浪费时间,如果共享资源较多,对时间的浪费将更加明显。(3)问题三,对共享资源占用情况监控的智能化程度低。
发明内容
本申请所要解决的技术问题是提供一种分布式系统中的信息同步系统和方法,以解决上述问题至少之一。
为了解决上述问题,本申请公开了一种信息同步系统,包括:监听模块,用于监听分布式系统的共享资源的状态变化,并将所述状态变化的信息发送给信息获取模块,其中,所述状态变化的信息包括所述状态变化的驱动者信息;所述信息获取模块,用于接收所述状态变化的信息,并将其中的所述驱动者信息转换为驱动者的属性信息标识;通知模块,用于获取并发送所述信息获取模块进行了转换后的所述状态变化的信息,所述转换后的所述状态变化信息包括所述驱动者的属性信息标识。
优选地,所述信息获取模块包括至少一个信息获取载体链条,每个所述信息获取载体链条包括至少一个信息获取载体,其中,每个所述信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;每个所述信息获取载体链条用于接收一种类型的所述驱动者信息,并依次通过该信息获取载体链条中的每一个信息获取载体,将该种类型的驱动者信息转换为驱动者的属性信息标识。
优选地,所述信息获取模块还包括入口载体查找模块,用于接收所述状态变化的信息,确定其中的所述驱动者信息的类型;根据确定的所述驱动者信息的类型,将所述状态变化的信息分配到不同的所述信息获取载体链条。
优选地,所述信息获取模块还包括通知信息整合模块,用于整合所述驱动者的属性信息标识和所述状态变化的信息中除所述驱动者信息外的其它信息,并将整合后的信息发送给所述通知模块。
优选地,当一个所述信息获取载体链条中包括多个所述信息获取载体时,所述多个信息获取载体设置于一个或多个计算机中。
优选地,所述信息同步系统还包括:配置管理模块,用于配置以下配置信息至少之一:监听对象、通知方式、通知对象;当所述配置管理模块中配置有所述监听对象时,所述监听模块用于根据所述配置管理模块中配置的所述监听对象,监听所述分布式系统中的所述监听对象所指示的共享资源的状态变化;当所述配置管理模块中配置有所述通知方式和/或所述通知对象时,所述通知模块用于根据所述通知方式和/或所述通知对象,发送从所述信息获取模块获取的转换后的所述状态变化的信息。
优选地,所述信息同步系统还包括:状态变迁模块,用于在所述通知模块获取并发送所述信息获取模块进行了转换后的所述状态变化的信息之后,执行所述监听模块监听到的所述共享资源的状态变化。
为了解决上述问题,本申请还公开了一种信息同步方法,包括:监听分布式系统的共享资源的状态变化,获取所述状态变化的信息,其中,所述状态变化的信息包括所述状态变化的驱动者信息;将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识;发送进行了转换后的所述状态变化的信息,所述转换后的所述状态变化信息包括所述驱动者的属性信息标识。
优选地,将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识的步骤包括:根据所述驱动者信息的类型,将所述状态变化的信息发送到相应的信息获取载体链条,其中,所述信息获取载体链条包括至少一个信息获取载体,所述信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;依次通过所述信息获取载体链条中的每一个信息获取载体,将所述类型的驱动者信息转换为驱动者的属性信息标识。
优选地,在将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识的步骤之后,还包括:将所述信息获取载体链条转换的所述驱动者的属性信息标识保存到缓存中。
与现有技术相比,本申请具有以下优点:
本申请在分布式系统中设置监听模块、信息获取模块和通知模块,当监听模块监听到系统的共享资源的状态发生变化时,即获取该状态变化的信息,进而通过信息获取模块将该状态变化的驱动者的相关信息转换为易于接受和识别的驱动者的属性信息标识(如驱动者的姓名等),然后,将对驱动者信息进行了转换后的状态变化信息通过通知模块发送出去,通知相关者共享资源的状态发生了变化。可见,通过本申请,首先,在监听到共享资源的状态发生变化时,即自动进行处理,无须人工使用即时通讯工具进行状态变化通知,解决了现有共享资源占用信息通知效率低,影响工作进度的问题,提高了共享资源占用信息通知效率,加快了工作进度;其次,系统自动监控并通知共享资源的状态变化,解决了人工监控共享资源占用情况很浪费时间的问题,节约了时间,提升了工作效率;再者,系统自动监控并通知共享资源的状态变化,也提升了对共享资源占用情况监控的智能化程度。
附图说明
图1是根据本申请实施例一的一种信息同步系统的结构框图;
图2是根据本申请实施例二的一种信息同步系统的结构示意图;
图3是根据本申请实施例三的一种信息同步系统的结构示意图;
图4是图3所示实施例中的信息获取模块进行驱动者信息转换的处理流程图;
图5是图3所示实施例中的单条信息获取载体链条的处理流程图;
图6是图3所示实施例中的一种状态变化通知的示意图;
图7是图3所示实施例中的另一种状态变化通知的示意图;
图8是根据本申请实施例四的一种信息同步方法的步骤流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了根据本申请实施例一的一种信息同步系统的结构框图。
本实施例的信息同步系统包括:监听模块102,用于监听分布式系统的共享资源的状态变化,并将所述状态变化的信息发送给信息获取模块,其中,所述状态变化的信息包括所述状态变化的驱动者信息;信息获取模块104,用于接收所述状态变化的信息,并将其中的驱动者信息转换为驱动者的属性信息标识;通知模块106,用于获取并发送信息获取模块104进行了转换后的状态变化的信息,转换后的状态变化信息包括所述驱动者的属性信息标识。
本实施例中,在分布式系统中设置监听模块102、信息获取模块104和通知模块106,当监听模块102监听到系统的共享资源的状态发生变化时,即获取该状态变化的信息,进而通过信息获取模块104将该状态变化的驱动者的相关信息转换为易于接受和识别的驱动者的属性信息标识(如驱动者的姓名等),然后,将对驱动者信息进行了转换后的状态变化信息通过通知模块106发送出去,通知相关者共享资源的状态发生了变化。可见,通过本实施例,首先,在监听到共享资源的状态发生变化时,即自动进行处理,无须人工使用即时通讯工具进行状态变化通知,解决了现有共享资源占用信息通知效率低,影响工作进度的问题,提高了共享资源占用信息通知效率,加快了工作进度;其次,系统自动监控并通知共享资源的状态变化,解决了人工监控共享资源占用情况很浪费时间的问题,节约了时间,提升了工作效率;再者,系统自动监控并通知共享资源的状态变化,也提升了对共享资源占用情况监控的智能化程度。
实施例二
参照图2,示出了根据本申请实施例二的一种信息同步系统的结构示意图。
本实施例在实施例一所示的信息同步系统的基础上,对其中的信息获取模块104进行了进一步地优化。
优化后的信息获取模块104包括至少一个信息获取载体链条(本实施例中设定为包括多个信息获取载体链条),每个信息获取载体链条包括至少一个信息获取载体(本实施例中设定为包括多个信息获取载体),其中,每个信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;每个信息获取载体链条用于接收一种类型的驱动者信息,并依次通过该信息获取载体链条中的每一个信息获取载体,将该种类型的驱动者信息转换为驱动者的属性信息标识。其中,信息获取载体是信息获取模块104的功能单元,信息获取载体由获取信息的程序和待获取信息所处环境组成,由于信息获取的点较为分散,因此待获取信息所处环境往往具有较强的异构性,如:数据获取程序和数据库构成信息获取载体;某网站信息获取程序和某网站构成信息获取载体;主机名获取程序和本机环境构成信息获取载体等。驱动者的属性信息标识是指如用户的真实姓名等易于被识别和接受的信息,而不是IP地址、计算机名等不易于接受的信息。
在一个信息获取载体链条中,每个信息获取载体都会根据一个信息获取另一个信息,即,前一个信息获取载体的输出为后一个信息获取载体的输入。例如:前一个信息获取载体输出的某用户的“工号”作为后一个信息获取载体的输入,后一个信息获取载体根据该用户的“工号”获取该用户的“姓名”。此外,这些信息及其对应关系一般是不会变的,可以将其缓存起来以提高以后的查找效率。
优选地,信息获取模块104还包括入口载体查找模块,用于接收分布式系统的共享资源的状态变化的信息,确定该信息中的驱动者信息的类型;然后,根据确定的驱动者信息的类型,将状态变化的信息分配到不同的信息获取载体链条。根据不同场景、不同用途,可以传递到信息获取模块104的参数不同,其类型也不同,例如,可以是IP地址,也可能是其他可以对应到某一指定用户的信息,比如某网站的用户名,该用户的计算机名等等。入口载体查找模块可以根据信息的类型确定使用哪条信息获取载体链条。
不同的信息获取载体链条处理的信息类型主要取决于第一个载体如A1、B1、C1等所能接收的参数(即能接受何种类型的驱动者信息),“入口载体查找模块”可以根据监听模块102传递来的信息类型,查找使用哪个链条。例如:如果传递进来的是IP地址,可以使用链条1(A1、A2…,An),这里设定A1的入参是IP地址;如果传递进来的是网站用户名,则可以使用链条2(B1、B2…,Bn),这里设定B1的入参是用户名。
入口载体查找模块的实现根据具体情况而定:如解析参数,判断得到的结果是IP地址还是用户名等,也有可能在监听模块102将信息传递过来时已经表明信息类型。
优选地,信息获取模块104还包括通知信息整合模块,用于整合驱动者的属性信息标识和状态变化的信息中除驱动者信息外的其它信息,并将整合后的信息发送给通知模块106。
此外,在实际应用中,入口载体查找模块和/或通知信息整合模块的功能也可以由其它相关模块或功能实体实现,如,每个信息获取载体链条中的首个信息获取载体对驱动者信息的类型进行分析,在确定驱动者信息的类型属于本链条处理时,对包括该驱动者信息的状态变化信息进行处理,或者,监听模块102直接对状态变化信息中的驱动者信息的类型进行分析,在确定其类型后,直接发送到相应的信息获取载体链条中进行处理等;另外,通知信息整合模块的功能也可以分配到信息获取载体链条中的最后一个信息获取载体或者分配到通知模块106实现。但不限于此,在实际应用中,本领域技术人员还可以根据具体情况进行其它适当设置。
当分布式系统的共享资源的状态即将发生变化时,触发系统运行:首先,由监听模块102监听到这一情况(一种实现方式是将监听模块102置于执行状态变化之前),获取状态变化的信息;然后,调用信息获取模块104,通过其入口载体查找模块将监听模块102发送过来的状态变化的信息投递到相应的信息获取载体链条中,如链条A1,A2,…,An,或者,链条B1,B2,…,Bn等依次类推,信息获取模块104的功能是通过状态变化驱动者的唯一性标识获取用户易于接受的属性信息标识,如姓名等(即,将状态变化的信息中的驱动者信息转换为驱动者的属性信息标识);之后,通知信息整合模块将驱动者的属性信息标识和状态变化的信息中除驱动者信息外的其它信息进行整合,并将整合后的信息发送给通知模块106。另外,由于信息获取模块104转换的信息内容往往比较固定,为了减小载体获取资源的负担,可以将每次获取到的信息进行缓存,下次再有查找时,可以先到缓存中取,缓存可以每隔一段时间(如1小时刷新一次)。
优选地,当一个信息获取载体链条中包括多个信息获取载体时,多个信息获取载体可以设置于一个计算机中,也可以设置在多个计算机中联合实现相应功能。或者,多个信息获取载体可以设置于一个或多个环境中,该环境有可能是服务器,也有可能是各种形式的环境,比如,客户端机器通过程序从某网站获取等。
优选地,信息获取模块可以根据输入的信息,动态拼出信息获取载体链条。比如,可以事先根据各个信息获取载体可以处理的输入参数事先确定好载体链;或者,因为各个信息获取载体的输入输出参数含义固定(如载体A2输入工号输出姓名等)可以动态完成载体链的组成。
通过本实施例,在解决了现有共享资源占用信息通知效率低,影响工作进度的问题,提高了共享资源占用信息通知效率,加快了工作进度;解决了人工监控共享资源占用情况很浪费时间的问题,节约了时间,提升了工作效率;以及,提升了对共享资源占用情况监控的智能化程度的基础上,使用不同的信息获取载体链条对不同类型的驱动者信息进行处理,因为每种类型的驱动者信息可以采用固定的处理方式,因此,对不同类型的信息使用不同的链条进行处理,使得处理更有针对性,提高了处理速度和效率。
实施例三
参照图3,示出了根据本申请实施例三的一种信息同步系统的结构示意图。
本实施例的信息同步系统包括:配置管理模块202、监听模块204、信息获取模块206、通知模块208、状态变迁模块210、和缓存模块212。
其中:
配置管理模块202,用于配置以下配置信息至少之一:监听对象、通知方式、通知对象。本实施例中,设定配置上述全部配置信息。但本领域技术人员应当明了,在实际使用中,上述配置信息可以仅配置其中的一部分,另一部分可采用原有设置或系统默认设置。当然,也可以不设置配置管理模块,而由系统根据实际情况选择监听对象、通知方式和通知对象等,如,监听所有可监听的共享资源、以系统可使用的通知形式通知所有客户端等等。
监听模块204,用于根据配置管理模块202中配置的监听对象,监听分布式系统中的监听对象所指示的共享资源的状态变化,并将状态变化的信息发送给信息获取模块206,其中,状态变化的信息包括状态变化的驱动者信息。
信息获取模块206,用于接收监听模块204发送的状态变化的信息,并将其中的驱动者信息转换为驱动者的属性信息标识。本实施例中,信息获取模块206包括多个信息获取载体链条,每个信息获取载体链条包括多个信息获取载体,其中,每个信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;每个信息获取载体链条用于接收一种类型的驱动者信息,并依次通过该信息获取载体链条中的每一个信息获取载体,将该种类型的驱动者信息转换为驱动者的属性信息标识。此外,本实施例的信息获取模块206还包括入口载体查找模块和通知信息整合模块。其中,入口载体查找模块,用于接收状态变化的信息,确定其中的驱动者信息的类型;根据确定的驱动者信息的类型,将状态变化的信息分配到不同的信息获取载体链条;通知信息整合模块,用于整合驱动者的属性信息标识和状态变化的信息中除驱动者信息外的其它信息,并将整合后的信息发送给通知模块208。优选地,属性信息标识包括:状态变化驱动者的名称、代号、或者工号。
通知模块208,用于获取信息获取模块206进行了转换后的状态变化的信息;并根据配置管理模块202中配置的通知方式和/或通知对象,发送获取的状态变化的信息。优选地,通知模块208可以通过使用HTMLEmail调用SMTP(简单邮件传输协议)方式、和/或,JAR包方式,发送状态变化的信息。
状态变迁模块210,用于在通知模块208获取并发送信息获取模块206进行了转换后的状态变化的信息之后,执行监听模块204监听到的共享资源的状态变化。
缓存模块212,用于将信息获取模块206中的信息获取载体链条转换的驱动者的属性信息标识保存到缓存中。
以下,以一种分布式系统开发环境,具体为部署在Linux上的svn代码版本库进行管理,用maven管理项目的构建,JBoss服务器作为应用容器的应用系统,CBD及其在这一系列动作之前、之后的通知为例,说明本实施例的信息同步系统的具体实现和处理流程。
其中:
配置管理模块202提供界面供用户配置两类信息:一类是监听模块204需要监听哪些事件,即监听对象。本申请的信息同步方案采用了PUSH方式,即推的方式,当共享资源占用信息发生变化时,将消息推送给需要的用户。PUSH方式的定位,是将状态变化影响较大的共享资源的状态变化信息通知给大量用户。共享资源状态发生变化时马上“PUSH”到用户,适用于该变化影响范围比较广的资源占用场景,如服务器应用重启,所有人都不能访问等。因此,可以将监听对象设置为影响范围较大的共享资源。当然,此仅为示例性说明,本领域技术人员应当明了,任意类型的共享资源均可被监听,本申请不对监听的具体对象进行限制。另一类是通知模块208中,以何种通知方式(如:即时邮件、短信、通信工具提醒等的开启关闭)通知哪些用户,即,通知方式和通知对象。
在配置管理模块202进行了配置后,监听模块204调用配置管理模块202,获取监听的共享资源对象,当该共享资源的状态发生改变时,捕捉到此信息(发生了什么变化、状态变化的驱动者是谁等)并传递给信息获取模块206,具体实现时,可以将监听模块204植入状态变迁模块210前,这样几乎在状态变化的同时,监听模块204也捕捉到了这个信息,最后监听模块204将这些信息发送给信息获取模块206。
本实例中,监听模块204可以以脚本的形式部署在服务器应用CBD之前和之后,并将这些整体打包成一个新的脚本,这样,监听模块204几乎在服务器两次状态变化发生的同时(从旧应用可用到服务不可用,再到新应用可用)都监听到了变化的事件。以LINUX环境为例,在LINUX环境中,用w命令即可查看此状态变化驱动者的IP地址。
信息获取模块206由一系列信息获取载体组成,每一次获取由载体独立完成,前一个载体的输出为后一个载体的输入,这样构成载体链条,递进完成功能。信息获取模块206通过监控模块204传送过来的状态变化驱动者的唯一性标识获取用户易于接受的属性信息标识,如姓名等后,入口载体查找模块负责将此信息投递到对应的信息获取载体链条,由于用户信息往往比较分散,所需信息的获取往往是一个递进的过程。
例如:信息获取模块206获取到的输入参数是“IP地址”,但给用户的提示中不能用,因为很难定位和理解,需要把它转换为这个IP地址的客户端用户的“姓名”比较容易理解,这往往是个递进的过程,如:将IP地址传递给载体A1(A1是服务器)解析出该IP地址对应的客户端“机器名”→将机器名传递给载体A2(A1是一个解析器)获取用户的工号→将工号传递给载体A3(A3是令一个解析器)拼装成Get请求以http的方式在内网查询,从获取的html代码中解析“姓名”,这样一个递进的过程就完成了。
以包括信息获取载体A1、A2和A3的链条A对驱动者信息进行转换为例,一种信息获取模块进行驱动者信息转换的处理流程如图4所示,该驱动者信息先后经过信息获取载体A1处理,A1处理的结果传递给A2、A2的处理结果传递给A3,最后获取状态变化驱动者的姓名。
具体到单条信息获取载体链条对状态变化信息中的驱动者信息的具体处理如图5所示,包括:步骤S302:判断是否获取到用户易于接受的属性信息标识,若是,则执行步骤S306;若否,则执行步骤S304;步骤S304:依次调用信息获取载体Ai(或Bi等)获取信息,并将结果存入缓存,返回步骤S302;步骤S306:将获取到的信息发送给通知模块。
在本实例中,以监听模块204获取到的是状态变化的驱动者的IP地址为例,在信息获取模块206需要通过一系列信息获取载体将这些IP地址转换成姓名,说明单条信息获取载体链条对状态变化信息中的驱动者信息的处理,如下:
信息获取载体A1:nbtstat–a+IP获取到机器名;
信息获取载体A2:根据机器名,解析出工号;
信息获取载体A3:根据工号拼接Get请求在内网查讯,并解析出姓名。
并且,上述每次获取可以通过缓存模块212将结果存入缓存。
在获取了状态变化驱动者的姓名之后,最后连同共享资源的信息一起传给通知模块208。
通知模块208,首先调用配置管理模块202,获取通知配置(包括通知方式和通知对象),即,“为哪些用户发送哪种形式的提醒”;接收信息获取模块206传送过来的共享资源的信息、及状态变化驱动者的易于接受的属性信息标识(如姓名),并进行一定组装,通过邮件、短信、即时通信等工具通知到需通知的用户。
在本实例中,通知模块208通过2种方式发送通知:方式一,利用“阿里旺旺”提供的JAR包发送弹出式提醒(其它即时通讯工具也可采用类似方式),“阿里旺旺”是一种即时通讯工具,这里的JAR包,是阿里旺旺对外提供的应用接口,开发人员可以通过对它的调用通过程序完成指定格式的消息发送;方式二,利用HTMLEMail(一种第三方的JAR包)调用SMTP服务器发送邮件提醒,从而将通知发送给项目组中在配置管理模块202配置为需接收该提醒的成员。本实例的状态变化的通知分别如图6和图7所示,其中,图6是使用方式一的状态变化通知的示意图,图7是使用方式二的状态变化通知的示意图。可见,通过上述通知,项目组成员能够方便快速地获知哪个成员进行了哪个共享资源的状态变化。
状态变迁模块210的功能是执行实际的状态变迁动作,随具体场景不同、问题不同而不同。在本实例中,状态变迁模块210的功能是完成CBD。当然,不限于此,本领域技术人员可以根据实际应用情况对状态变迁模块210进行设置,如:设置状态变迁模块210执行服务器开始对外提供应用服务、终止对外提供应用服务,服务器某端口被占用等功能。
通过本实施例,用户可以通过配置管理模块202进行信息同步相关属性的配置。概括的说,配置的内容可以是“将哪些事件通过何种方式(如:邮件、短信、即时通信工具、提醒等的开启关闭)通知给哪些用户”。当共享资源的状态即将发生变化时,触发系统运行:首先,由监听模块204监听到这一情况,具体实现时,可以将监听模块204植入状态变迁模块210前;然后,调用信息获取模块206,其中的入口载体查找模块负责将监听模块204发送过来信息投递到信息获取载体链条A1,A2,…,An等依次类推,信息获取模块206的功能是通过状态变化驱动者(如上文实例中的状态变化的驱动者就是指CBD服务器的用户)的唯一性标识获取用户易于接受的属性信息标识,如姓名等。另外,由于信息获取载体转换的信息内容往往比较固定,为了减小载体获取资源的负担,可以由缓存模块212将每次获取到的信息进行缓存,下次再有查找时,可以先到缓存中取,缓存每隔一段时间(如1小时刷新一次)。通知模块208通过配置管理模块202获取配置信息,根据配置信息要求,将共享资源占用信息根据指定方式通知到指定用户。以上是一次状态变化前系统的动作,结束后,状态变迁模块210开始执行共享资源的状态变迁操作,状态变迁完成后,一次信息同步过程结束,如果状态变化是连续的,上述动作可以在每次变化时发生。
需要说明的是,本实施例中的各模块可以在一台服务器或多台服务器上实现,具体实现方式可以根据具体应用情况而定并且,信息获取模块206中的各个载体链条和/或载体也可以设置在同一个服务器在多个不同的服务器上。优选地,信息获取模块206中的各个载体不在同一个服务器,其余部分都在当前CBD的服务器即可。
本实施例以一种分布式系统开发环境为例,对本实施例的信息同步系统进行了说明。通过本实施例,实现了分布式开发过程中CBD及其在这一系列动作之前、之后的通知的自动化完成,并且,提供了包括邮件提醒和即时通讯工具提醒在内的更强的通知功能,同时可以通过配置管理模块进行相应地配置,具有较强的可配置型。使得项目开发过程中,在关键共享资源状态发生改变的时候,系统可以自动地通知到项目组的每一个成员,或者,在共享资源状态变化时立即以指定方式通知到指定用户,从而对项目进展起到了积极的作用,有效实现了互联网共享资源状态变化信息的同步。
实施例四
参照图8,示出了根据本申请实施例四的一种信息同步方法的步骤流程图。
本实施例的信息同步方法包括以下步骤:步骤S402:监听分布式系统的共享资源的状态变化,获取所述状态变化的信息,其中,所述状态变化的信息包括所述状态变化的驱动者信息;步骤S404:将所述状态变化的信息中的驱动者信息转换为驱动者的属性信息标识;步骤S406:发送进行了转换后的状态变化的信息,其中,转换后的状态变化信息包括驱动者的属性信息标识。
优选地,将所述状态变化的信息中的驱动者信息转换为驱动者的属性信息标识的步骤包括:根据驱动者信息的类型,将所述状态变化的信息发送到相应的信息获取载体链条,其中,所述信息获取载体链条包括至少一个信息获取载体,所述信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;依次通过所述信息获取载体链条中的每一个信息获取载体,将所述类型的驱动者信息转换为驱动者的属性信息标识。
优选地,当一个信息获取载体链条中包括多个信息获取载体时,多个信息获取载体设置于一个或多个计算机中。
优选地,根据驱动者信息的类型,将所述状态变化的信息发送到相应的信息获取载体链条的步骤包括:接收所述状态变化的信息,确定其中的驱动者信息的类型;根据确定的驱动者信息的类型,将所述状态变化的信息分配到不同的信息获取载体链条。
优选地,在将所述类型的驱动者信息转换为驱动者的属性信息标识的步骤之后,还包括:整合驱动者的属性信息标识和所述状态变化的信息中除驱动者信息外的其它信息,并发送整合后的信息。
优选地,在将所述状态变化的信息中的驱动者信息转换为驱动者的属性信息标识的步骤之后,还包括:将所述信息获取载体链条转换的驱动者的属性信息标识保存到缓存中。
优选地,在监听分布式系统的共享资源的状态变化的步骤之前,还包括:配置以下配置信息至少之一:监听对象、通知方式、通知对象;当配置了监听对象时,监听分布式系统的共享资源的状态变化的步骤包括:监听分布式系统中的监听对象所指示的共享资源的状态变化;当配置了通知方式和/或通知对象时,发送进行了转换后的状态变化的信息的步骤包括:根据通知方式和/或通知对象,发送进行了转换后的状态变化的信息。
优选地,在发送进行了转换后的状态变化的信息的步骤之后,还包括:执行监听到的分布式系统的共享资源的状态变化。
优选地,发送进行了转换后的状态变化的信息的步骤包括:通过使用HTMLEmail调用SMTP方式和/或JAR包方式,发送转换后的状态变化的信息。
通过本实施例,首先,在监听到共享资源的状态发生变化时,即自动进行处理,无须人工使用即时通讯工具进行状态变化通知,解决了现有共享资源占用信息通知效率低,影响工作进度的问题,提高了共享资源占用信息通知效率,加快了工作进度;其次,系统自动监控并通知共享资源的状态变化,解决了人工监控共享资源占用情况很浪费时间的问题,节约了时间,提升了工作效率;再者,系统自动监控并通知共享资源的状态变化,也提升了对共享资源占用情况监控的智能化程度。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于方法实施例而言,由于其与系统实施例基本相似,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上对本申请所提供的一种信息同步系统和方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种信息同步系统,其特征在于,包括:
监听模块,用于监听分布式系统的共享资源的状态变化,并将所述状态变化的信息发送给信息获取模块,其中,所述状态变化的信息包括所述状态变化的驱动者信息;
所述信息获取模块,用于接收所述状态变化的信息,并将其中的所述驱动者信息转换为驱动者的属性信息标识;
通知模块,用于获取并发送所述信息获取模块进行了转换后的所述状态变化的信息,所述转换后的所述状态变化信息包括所述驱动者的属性信息标识。
2.根据权利要求1所述的系统,其特征在于,所述信息获取模块包括至少一个信息获取载体链条,每个所述信息获取载体链条包括至少一个信息获取载体,其中,每个所述信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;
每个所述信息获取载体链条用于接收一种类型的所述驱动者信息,并依次通过该信息获取载体链条中的每一个信息获取载体,将该种类型的驱动者信息转换为驱动者的属性信息标识。
3.根据权利要求2所述的系统,其特征在于,所述信息获取模块还包括入口载体查找模块,用于接收所述状态变化的信息,确定其中的所述驱动者信息的类型;根据确定的所述驱动者信息的类型,将所述状态变化的信息分配到不同的所述信息获取载体链条。
4.根据权利要求3所述的系统,其特征在于,所述信息获取模块还包括通知信息整合模块,用于整合所述驱动者的属性信息标识和所述状态变化的信息中除所述驱动者信息外的其它信息,并将整合后的信息发送给所述通知模块。
5.根据权利要求2所述的系统,其特征在于,当一个所述信息获取载体链条中包括多个所述信息获取载体时,所述多个信息获取载体设置于一个或多个计算机中。
6.根据权利要求1所述的系统,其特征在于,还包括:配置管理模块,用于配置以下配置信息至少之一:监听对象、通知方式、通知对象;
当所述配置管理模块中配置有所述监听对象时,所述监听模块用于根据所述配置管理模块中配置的所述监听对象,监听所述分布式系统中的所述监听对象所指示的共享资源的状态变化;
当所述配置管理模块中配置有所述通知方式和/或所述通知对象时,所述通知模块用于根据所述通知方式和/或所述通知对象,发送从所述信息获取模块获取的转换后的所述状态变化的信息。
7.根据权利要求1所述的系统,其特征在于,还包括:
状态变迁模块,用于在所述通知模块获取并发送所述信息获取模块进行了转换后的所述状态变化的信息之后,执行所述监听模块监听到的所述共享资源的状态变化。
8.一种信息同步方法,其特征在于,包括:
监听分布式系统的共享资源的状态变化,获取所述状态变化的信息,其中,所述状态变化的信息包括所述状态变化的驱动者信息;
将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识;
发送进行了转换后的所述状态变化的信息,所述转换后的所述状态变化信息包括所述驱动者的属性信息标识。
9.根据权利要求8所述的方法,其特征在于,将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识的步骤包括:
根据所述驱动者信息的类型,将所述状态变化的信息发送到相应的信息获取载体链条,其中,所述信息获取载体链条包括至少一个信息获取载体,所述信息获取载体链条中的前一个信息获取载体的输出为后一个信息获取载体的输入;
依次通过所述信息获取载体链条中的每一个信息获取载体,将所述类型的驱动者信息转换为驱动者的属性信息标识。
10.根据权利要求9所述的方法,其特征在于,在将所述状态变化的信息中的所述驱动者信息转换为驱动者的属性信息标识的步骤之后,还包括:
将所述信息获取载体链条转换的所述驱动者的属性信息标识保存到缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242441.3A CN103546433B (zh) | 2012-07-12 | 2012-07-12 | 信息同步系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242441.3A CN103546433B (zh) | 2012-07-12 | 2012-07-12 | 信息同步系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546433A true CN103546433A (zh) | 2014-01-29 |
CN103546433B CN103546433B (zh) | 2017-06-30 |
Family
ID=49969489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210242441.3A Active CN103546433B (zh) | 2012-07-12 | 2012-07-12 | 信息同步系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546433B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055348A (zh) * | 2016-05-19 | 2016-10-26 | 青岛海信电器股份有限公司 | 一种通知系统属性更新的方法和装置 |
CN109542721A (zh) * | 2018-11-05 | 2019-03-29 | 北京炎黄盈动科技发展有限责任公司 | 一种应用容器中应用状态控制方法、装置及存储介质 |
CN113162987A (zh) * | 2018-04-20 | 2021-07-23 | 华为技术有限公司 | 一种设备状态同步的方法及公共能力组件 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101333A1 (en) * | 2005-10-27 | 2007-05-03 | Mewhinney Greg R | System and method of arbitrating access of threads to shared resources within a data processing system |
CN101051281A (zh) * | 2007-05-16 | 2007-10-10 | 杭州华三通信技术有限公司 | 多cpu对临界资源进行互斥访问的方法和装置 |
US20090185528A1 (en) * | 2008-01-10 | 2009-07-23 | Qualcomm Incorporated | Shared resource allocation |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102065544A (zh) * | 2009-11-17 | 2011-05-18 | 索尼株式会社 | 资源管理方法和系统 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN102316117A (zh) * | 2011-09-29 | 2012-01-11 | 中兴通讯股份有限公司南京分公司 | 资源处理方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030884B (zh) * | 2006-03-03 | 2010-05-12 | 中国电信股份有限公司 | 电信网络资源oss系统中独占性资源的调度方法 |
CN101217369B (zh) * | 2008-01-17 | 2010-08-11 | 杭州华三通信技术有限公司 | 一种网络拓扑中更新用户访问权限的方法及设备 |
CN102063338B (zh) * | 2010-12-28 | 2013-03-20 | 华为技术有限公司 | 一种请求独占资源的方法及装置 |
CN102523109A (zh) * | 2011-12-08 | 2012-06-27 | 杭州华三通信技术有限公司 | 资源状态更新方法、管理客户端及服务器 |
-
2012
- 2012-07-12 CN CN201210242441.3A patent/CN103546433B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101333A1 (en) * | 2005-10-27 | 2007-05-03 | Mewhinney Greg R | System and method of arbitrating access of threads to shared resources within a data processing system |
CN101051281A (zh) * | 2007-05-16 | 2007-10-10 | 杭州华三通信技术有限公司 | 多cpu对临界资源进行互斥访问的方法和装置 |
US20090185528A1 (en) * | 2008-01-10 | 2009-07-23 | Qualcomm Incorporated | Shared resource allocation |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102065544A (zh) * | 2009-11-17 | 2011-05-18 | 索尼株式会社 | 资源管理方法和系统 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN102316117A (zh) * | 2011-09-29 | 2012-01-11 | 中兴通讯股份有限公司南京分公司 | 资源处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
孙健: "分布式信息共享平台技术及其实现", 《中国优秀硕士学位论文全文数据库 信息科技辑 》, no. 6, 15 June 2004 (2004-06-15) * |
朱江: "基于Web服务的网格研究及改进的资源信息更新策略", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 6, 15 June 2006 (2006-06-15) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055348A (zh) * | 2016-05-19 | 2016-10-26 | 青岛海信电器股份有限公司 | 一种通知系统属性更新的方法和装置 |
CN106055348B (zh) * | 2016-05-19 | 2019-07-12 | 青岛海信电器股份有限公司 | 一种通知系统属性更新的方法和装置 |
CN113162987A (zh) * | 2018-04-20 | 2021-07-23 | 华为技术有限公司 | 一种设备状态同步的方法及公共能力组件 |
CN113162987B (zh) * | 2018-04-20 | 2022-09-16 | 华为云计算技术有限公司 | 一种设备状态同步的方法及公共能力组件 |
US11496564B2 (en) | 2018-04-20 | 2022-11-08 | Huawei Cloud Computing Technologies Co., Ltd. | Device state synchronization method and common capability component |
CN109542721A (zh) * | 2018-11-05 | 2019-03-29 | 北京炎黄盈动科技发展有限责任公司 | 一种应用容器中应用状态控制方法、装置及存储介质 |
CN109542721B (zh) * | 2018-11-05 | 2022-08-12 | 北京炎黄盈动科技发展有限责任公司 | 一种应用容器中应用状态控制方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103546433B (zh) | 2017-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111800443B (zh) | 数据处理系统和方法、装置以及电子设备 | |
CN110557416B (zh) | 一种多节点协同打块的方法及系统 | |
CN104184756A (zh) | 一种数据同步方法、装置及系统 | |
CN110012083B (zh) | 一种数据传输方法、服务器及数据传输装置 | |
CN104081355B (zh) | 软件总线 | |
CN102333132A (zh) | 一种自动搜索摄像机和解决ip冲突的方法 | |
CN103546433A (zh) | 信息同步系统和方法 | |
CN109450711A (zh) | 分布式系统中主节点的选取方法、装置、系统及存储介质 | |
CN102137223B (zh) | 一种具有异构整合功能的新媒体制播系统 | |
CN112131014B (zh) | 决策引擎系统及其业务处理方法 | |
CN102750181A (zh) | 一种Web Service处理引擎系统及处理方法 | |
CN112035494A (zh) | 基于数据链路动态构造的数据交换方法和系统 | |
CN106161409A (zh) | 一种包括本地组件的代理框架服务系统及方法 | |
CN105225453B (zh) | 一种基于多控制中心的家电联动方法、装置及控制中心 | |
CN108880779B (zh) | 一种基于redis消息通知的电文同步方法 | |
WO2013068925A2 (en) | Method and apparatus for controlling wireless devices | |
CN102819455A (zh) | 一种在应用层对进程进行管理的方法和管理系统 | |
EP2458897A1 (en) | Traffic creation system and method for realizing the traffic creation system | |
CN111200578A (zh) | 一种通信方法、客户端设备及服务端设备 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN114501347A (zh) | 异构系统间信息交互方法、装置及系统 | |
CN104462235A (zh) | 一种基于Restful Web Service的物联网通用事件服务机制 | |
CN106921987A (zh) | 一种无线通信方法及装置 | |
CN107124293B (zh) | 一种分布式网络系统的协议管理方法及系统 | |
CN103546508A (zh) | 信息同步系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191210 Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands Patentee after: Innovative advanced technology Co., Ltd Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Co., Ltd. |