The invention discloses an information synchronization method and a device, which is used for solving the problem that the information synchronization mode in the prior art brings great load to the zookeeper, and seriously influences the processing performance of the zookeeper. The method includes: the process on the server to provide services in a predetermined number of processes and zookeeper to build a long connection, the total number of predetermined number less than the server service process; the predetermined number of processes connected by the long, whether to exist the synchronization information monitoring zookeeper every time; the monitoring to the zookeeper in the presence of information to be synchronized, the synchronization of long connection to get information through the acquisition, will be synchronized information through inter process communication synchronization to the server provides services to the process of him.
【技术实现步骤摘要】
一种信息同步方法及装置
本专利技术涉及信息
,尤其涉及一种信息同步方法及装置。
技术介绍
随着互联网上的应用使用普及,应用的用户数量也大大增加,单台服务器远不足为大规模的用户提供服务,因此,对于互联网上的任一应用,通常可以采用分布式系统,利用多个服务器一起提供服务。每个服务器上都可以有多个提供服务的进程,各个服务器的进程在运行过程中都需要获取一些特定信息,特定信息可以是包括可执行指令信息、配置信息、任务调度信息、服务资源信息等,特定信息可以是固定不变的,也可以是动态变化的。在现有技术中,通常利用zookeeper对特定信息进行统一管理,zookeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。每个服务器中每个进程分别与zookeeper建立一个长连接,则可以通过各长连接,将zookeeper上的动态变化的特定信息(称为待同步信息)同步给各个服务器的各个进程。但是,由于在实际应用中通常是上百个服务器共同服务,每个服务器通常运行上百个提供服务的进程,比如:若有100个服务器一起提供服务,每个服务器上运行128个进程时,每个服务器中的每个进程都与zookeeper建立一个长连接,共需要建立12800个长连接,以用于同步待同步信息。由此可见,这种信息同步的方式给zookeeper带来较大的负载,严重影响zookeeper的处理性能。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的信息同步方法及装置。根据本专利技术的一个方面,提出一种信息同步方法,服务器与z ...
【技术保护点】
一种信息同步方法,其特征在于,服务器与zookeeper相互连接,所述服务器上有多个提供服务的进程,所述方法包括:各所述进程中,预定数量的进程分别与zookeeper建立长连接,所述预定数量少于所述服务器上提供服务的进程总数量;所述预定数量的进程通过所述长连接,监控所述zookeeper中是否存在待同步信息;每当监控到所述zookeeper中存在待同步信息时,通过所述长连接获取所述待同步信息,将获取的待同步信息通过进程间通信的方式同步给所述服务器上提供服务的其他进程。
【技术特征摘要】
1.一种信息同步方法,其特征在于,服务器与zookeeper相互连接,所述服务器上有多个提供服务的进程,所述方法包括:各所述进程中,预定数量的进程分别与zookeeper建立长连接,所述预定数量少于所述服务器上提供服务的进程总数量;所述预定数量的进程通过所述长连接,监控所述zookeeper中是否存在待同步信息;每当监控到所述zookeeper中存在待同步信息时,通过所述长连接获取所述待同步信息,将获取的待同步信息通过进程间通信的方式同步给所述服务器上提供服务的其他进程。2.根据权利要求1所述的方法,其特征在于,所述进程间通信的方式包括管道、消息队列中的至少一种。3.根据权利要求2所述的方法,其特征在于,当所述进程间通信的方式包括管道时,将获取的待同步信息通过进程间通信的方式同步给所述服务器上提供服务的其他进程,具体包括:所述预定数量的进程中的至少一个进程创建与所述服务器上提供服务的其他进程之间的管道;所述至少一个进程通过创建的管道,将获取的待同步信息同步给所述其他进程。4.根据权利要求2所述的方法,其特征在于,当所述进程间通信的方式包括消息队列时,将获取的待同步信息通过进程间通信的方式同步给所述服务器上提供服务的其他进程,具体包括:所述预定数量的进程中的至少一个进程将获取的待同步信息写入预定的消息队列中,以使所述服务器上提供服务的其他进程从所述消息队列中读取所述待同步信息并同步。5.根据权利要求1~4任一项所述的方法,其特征在于,通过所述长连接获取所述待同步信息后,所述方法还包括:所述预定数量的进程将获取的待同步信息保存至所述服务器的本地磁盘中,以使当所述预定数量的进程通过进程间通信的方式向所述其他进程同步失败时,所述其他进程从所述本地磁盘中同...
【专利技术属性】
技术研发人员:冯所范,王超,朱超,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。