分布式服务器的缓存同步方法及系统技术方案

技术编号:14520276 阅读:54 留言:0更新日期:2017-02-01 23:28
本申请公开了分布式服务器的缓存同步方法及系统,该方法:当对第一服务器节点的缓存内存中的缓存数据执行改写操作;则同时收取被改写的缓存数据,并利用预设的封装格式,将被改写的缓存数据封装为标准数据包;改写操作包括,增加、删除和修改;查询第一服务器节点以外的服务器节点是否对第一服务器节点进行了订阅;得到所有订阅第一服务器节点的服务器节点以作为第二服务器节点;将标准数据包发送至第二服务器节点并保存;解析第二服务器节点上保存的标准数据包,得到被改写的缓存数据;将被改写的缓存数据按时间顺序同步到第二服务器节点的缓存内存中。本发明专利技术方便快捷、低消耗和通用的实现了各个服务器节点缓存数据的同步。

【技术实现步骤摘要】

本申请涉及服务器
,具体地说,涉及一种分布式服务器的缓存同步方法及系统。
技术介绍
对于分布式服务器来说,服务器不再是单独的一台主机;而是由多个分布式的服务器节点组成的一套“服务器系统”。各个节点可能集中布置在同一处,也可能分布在不同的地理位置。分布式服务器的各方面性能,相比于传统的单体服务器都有着非常显著的提升。对于分布式服务器来说,各个服务器节点的协调和同步,一直是技术上的重点问题。而缓存数据的同步,在现阶段是分布式服务器数据同步的难点所在。所谓缓存数据,指的是为了提高访问速度而直接缓存在缓存内存中供后续使用的数据。服务器在运行过程中,各个节点缓存内存中的缓存数据出现差异。而且所述缓存数据往往访问频率很高,经常发生变化的,更增加了同步的难度和复杂程度。对于各个服务器节点的缓存内存中的缓存数据的同步,相对其他的数据同步过程难度更大。现有技术中对于缓存数据的同步,步骤比较繁琐,效率低下,占用资源很多,所以实用性不高。现阶段缺少一种方便快捷、低消耗的方式,来实现各个服务器节点缓存数据的同步。
技术实现思路
有鉴于此,本申请所要解决的技术问题是提供了一种分布式服务器的缓存同步方法及系统,方便快捷、低消耗和通用的实现了各个服务器节点缓存数据的同步。为了解决上述技术问题,本申请有如下技术方案:一种分布式服务器的缓存同步方法,其特征在于,包括:当对第一服务器节点的缓存内存中的缓存数据执行改写操作;则同时收取被改写的缓存数据,并利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包;所述改写操作包括,增加、删除和修改;查询第一服务器节点以外的服务器节点是否对所述第一服务器节点进行了订阅;得到所有订阅所述第一服务器节点的服务器节点以作为第二服务器节点;将所述标准数据包发送至所述第二服务器节点并保存;解析所述第二服务器节点上保存的标准数据包,得到被改写的缓存数据;将所述被改写的缓存数据按时间顺序同步到第二服务器节点的缓存内存中。优选地,其中,还包括:将所述被改写的缓存数据封装为标准数据包之后,按照时间顺序保存所述标准数据包。优选地,其中,所述解析所述第二服务器节点上保存的标准数据包具体为:解析第二服务器节点上保存的,最新接收的标准数据包。优选地,其中,还包括:预设保存时间阈值,当保存所述标准数据包的时间,超过所述保存时间阈值,则删除所述标准数据包。优选地,其中,预设的封装格式具体为:利用key-value数据格式作为所述封装格式,value数据为二进制字符串、集合、哈希表和计数。本专利技术还提供了一种分布式服务器的缓存同步系统,其特征在于,包括:封装模块,用于在对所述第一服务器节点的缓存数据执行改写操作时,收取被改写的缓存数据,并利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包;所述改写操作包括,增加、删除和/或修改;查询模块,用于查询第一服务器节点以外的服务器节点是否对所述第一服务器节点进行了订阅;得到所有订阅所述第一服务器节点的服务器节点以作为第二服务器节点;同步模块,用于将所述标准数据包发送至所述第二服务器节点并保存;解析所述第二服务器节点上保存的标准数据包,得到被改写的缓存数据;将所述被改写的缓存数据按时间顺序同步到第二服务器节点的缓存内存中。优选地,其中,所述封装模块包括:收取单元,用于在对所述第一服务器节点的缓存数据执行改写操作时,收取被改写的缓存数据;打包单元,用于利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包。优选地,其中,所述同步模块包括:传输单元,用于将所述标准数据包发送至所述第二服务器节点并保存;解析单元,用于解析第二服务器节点上保存的,最新接收的标准数据包,得到被改写的缓存数据;缓存单元,用于将所述被改写的缓存数据同步到第二服务器节点的缓存内存中。优选地,其中,还包括:垃圾回收模块,用于预设保存时间阈值,当保存所述标准数据包的时间,超过所述保存时间阈值,则删除所述标准数据包。优选地,其中,预设的封装格式具体为:利用key-value数据格式作为所述封装格式,value数据为二进制字符串、集合、哈希表和/或计数。与现有技术相比,本申请所述的方法和系统,达到了如下效果:(1)标准数据包可以在各个服务器节点上通用;由此通用地高效地实现了被改写的缓存数据在各种业务类型和各个服务器节点之间的同步;(2)在改写操作的同时收取被改写的缓存数据,并实时向第二服务器节点同步标准数据包,使缓存数据的同步具有了良好的实时性;(3)删除保存时间阈值以外的标准数据包,节省了存储资源。当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例所述方法流程图;图2为本申请另一实施例所述方法流程图;图3为本申请实施例所述系统结构示意图。具体实施方式如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。本申请中,将被改写的缓存数据利用预设的封装格式封装为标准数据包,使得所述标准数据包在各个服务器节点之间具有良好的通用性。进而实现缓存数据在各服务器节点之间的同步。参见图1所示,为本申请所述分布式服务器的缓存同步方法的具体实施例。本实施例中所述方法具体包括以下步骤:步骤101、当对第一服务器节点的缓存内存中的缓存数据执行改写操作,则同时收取被改写的缓存数据,并利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包。前述已知,分布式服务器的各个服务器节点可以分布在不同的地理位置。而客户端在连接服务器系统的时候,可以选择连接到距离较近的服务器节点上。例如一个较大型的服务器系统,有三个服务器节点分别设置在北京、上海和广州。处于广州的特定的某个客户端,可以自动的连接到广州的服务器节点上。需要说明的是,所述第一服务器节点,指的是特定客户端所连接的服务器节点。也就是说,所谓第一服务器节点是相对具体场景而产生的概念,任何一个服务器节点,在特定场景下均可以作为第一服务器节点。本实施例中既假定特定客户端连接到了广州的服务器节点,那么便以广州的服务器节点作为第一服务器节点。实际上所述缓存数据的实际内容,往往与客户端信息相关。客户端修改自身信息的操作,都会通过特定的程序。特定的程序对缓存数据执行改写,便反映成为导致本文档来自技高网...

【技术保护点】
一种分布式服务器的缓存同步方法,其特征在于,包括:当对第一服务器节点的缓存内存中的缓存数据执行改写操作;则同时收取被改写的缓存数据,并利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包;所述改写操作包括,增加、删除和修改;查询第一服务器节点以外的服务器节点是否对所述第一服务器节点进行了订阅;得到所有订阅所述第一服务器节点的服务器节点以作为第二服务器节点;将所述标准数据包发送至所述第二服务器节点并保存;解析所述第二服务器节点上保存的标准数据包,得到被改写的缓存数据;将所述被改写的缓存数据按时间顺序同步到第二服务器节点的缓存内存中。

【技术特征摘要】
1.一种分布式服务器的缓存同步方法,其特征在于,包括:当对第一服务器节点的缓存内存中的缓存数据执行改写操作;则同时收取被改写的缓存数据,并利用预设的封装格式,将所述被改写的缓存数据封装为标准数据包;所述改写操作包括,增加、删除和修改;查询第一服务器节点以外的服务器节点是否对所述第一服务器节点进行了订阅;得到所有订阅所述第一服务器节点的服务器节点以作为第二服务器节点;将所述标准数据包发送至所述第二服务器节点并保存;解析所述第二服务器节点上保存的标准数据包,得到被改写的缓存数据;将所述被改写的缓存数据按时间顺序同步到第二服务器节点的缓存内存中。2.根据权利要求1所述分布式服务器的缓存同步方法,其特征在于,还包括:将所述被改写的缓存数据封装为标准数据包之后,按照时间顺序保存所述标准数据包。3.根据权利要求2所述分布式服务器的缓存同步方法,其特征在于,所述解析所述第二服务器节点上保存的标准数据包具体为:解析第二服务器节点上保存的,最新接收的标准数据包。4.根据权利要求2所述分布式服务器的缓存同步方法,其特征在于,还包括:预设保存时间阈值,当保存所述标准数据包的时间,超过所述保存时间阈值,则删除所述标准数据包。5.根据权利要求1~4任意一项所述分布式服务器的缓存同步方法,其特征在于,预设的封装格式具体为:利用key-value数据格式作为所述封装格式,value数据为二进制字符串、集合、哈希表和计数。6.一种分布式服务器的缓存同步系统,其特征在于,包括:封装模块,用于在对所述第一服务器节点的缓存数据执行改写操作时,收取被改写的缓存数据,并利用...

【专利技术属性】
技术研发人员:李丹廖玉荣
申请(专利权)人:广州市百果园信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1