分布式存储系统及其时间戳的实现方法技术方案

技术编号:14741992 阅读:55 留言:0更新日期:2017-03-01 17:04
本发明专利技术涉及一种分布式存储系统及其时间戳的实现方法,上述方法包括:每个服务器节点周期性向系统中的其它服务器节点发送携带有本地维护的当前时间戳的数据包,每个服务器节点接收数据包,根据数据包的传输过程是否异常确定是否更新本地时间戳。上述系统包括若干个服务器节点,上述服务器节点包括时间戳维护模块、时间戳更新模块以及时间戳存储模块。本发明专利技术保障了系统中每个服务器节点上的时间戳在任一时刻都相同,各服务器节点的时间戳具有非常高的可靠性,是一个非中心化的解决方法,不会因为系统中某个服务器节点的异常导致全系统时间戳的异常,具有非常高的可靠性。

【技术实现步骤摘要】
本案是专利申请201110151514.3的分案申请,原申请的申请日为2011年6月7日,申请号为201110151514.3,专利技术创造名称为分布式存储系统及其时间戳的实现方法
本专利技术涉及云计算
,尤其涉及一种分布式存储系统及其时间戳的实现方法。
技术介绍
云计算(CloudComputing)是网格计算(GridComputing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing)网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(LoadBalance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系统。分布式存储系统是云计算范畴中的一个领域,其作用是提供海量数据的分布式存储服务以及高速读写访问的能力。在分布式存储系统中,时间戳的实现是比较难以解决的关键问题。分布式存储系统是由若干服务器节点和客户端互相连接构成的;服务器节点负责数据的存储,客户端可以对服务器做数据的写入、读取、更新、删除等操作。一般来说写入的数据不可能只保存在单个服务器节点上,而是在多台服务器节点上保存同一个数据的副本,互为备份。当网络偶然瞬间故障或者硬件、软件故障,或者用户对同一个数据频繁、交叉地进行不同的操作,例如,更新、删除等,则系统内不同服务器节点上的数据副本会有不同的值。当用户再次获取该数据时,会发生取得的数据不是其最后更新后的值,背离了用户的需求。为了保障在分布式存储系统中,用户取得的数据是其最后更新的数据,即保障分布式存储系统中数据的一致性,每个数据在实际存储时,还要加上一些属性信息。例如,时间戳。这样用户在获取数据的时候,可以根据时间戳的大小,返回一个最大时间戳的数据给用户。所谓分布式存储系统中的时间戳是指系统中每个服务器节点都维持的一个反应该分布式存储系统存活时间的数据。在任一时刻,系统中每个服务器节点的时间戳必须相同,而且随着实际时间的增加,逐步递增。在现有的分布式存储系统中,时间戳的实现有以下几种方法:方法一:在系统中选定一个服务器节点作为时间服务器,由该时间服务器周期性地向系统中的其它服务器节点广播其维护的时间戳,其它服务器节点收到携带有时间戳的数据包后,更新其本地时间戳。这种方法是一个中心化的解决方法,其可靠性依赖于系统中的时间服务器的可靠性,如果时间服务器宕机,则影响到整个系统的时间戳;而且,普通服务器节点中更新的时间戳,是没有计算数据包在网络中传输的时间的,也就是说,普通服务器节点的时间戳与时间服务器的时间戳之间存在微小的时差。另外,这种方法一旦时间服务器发送故障,则整个系统将无法正确更新时间戳。方法二:由系统中的每个服务器节点从Internet中的网络时间协议(NetworkTimeProtocol,NTP)时间服务器获取权威的时间作为本节点的本地时间戳。这种方法依赖于外界的服务,一般很少采用。
技术实现思路
本专利技术的目的是,提供一种分布式存储系统及其时间戳的实现方法,以解决现有基于中心化的实现方法可靠性不高的问题。本专利技术提供了一种分布式存储系统时间戳的实现方法,包括:每个服务器节点周期性向系统中的其它服务器节点发送携带有本地维护的当前时间戳的数据包;所述每个服务器节点接收所述数据包,根据所述数据包的传输过程是否异常确定是否更新本地时间戳。进一步地,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的校验位是否正确,判断所述数据包的传输过程是否异常;若所述校验位不正确,则数据包的传输过程异常,丢弃所述时间戳,不更新本地时间戳。进一步地,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常;若数据包的传输过程异常时,则不更新本地时间戳;若数据包的传输过程正常,则用所述时间戳更新本地时间戳;其中,每个服务器节点均维护一个本地时间戳。进一步地,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值与上一次保存的时间戳的值之差是否在预设的校验阈值范围内;若差值不在所述校验阈值范围内,则数据包的传输过程异常;若差值在所述校验阈值范围内,则数据包的传输过程正常。进一步地,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值是否大于本地当前时间戳的值;若时间戳的值小于或者等于本地当前时间戳的值,则数据包的传输过程异常;若时间戳的值大于本地当前时间戳的值,则数据包的传输过程正常。进一步地,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值与上一次保存的时间戳的值之差是否在预设的校验阈值范围内;若差值在所述校验阈值范围内;则判断所述时间戳的值是否大于本地当前时间戳的值;若时间戳的值大于本地当前时间戳的值;则数据包的传输过程正常;否则,数据包的传输过程异常。进一步地,若所述系统异常终止后又恢复正常运行,则所述每个服务器节点的本地时间戳从其终止前持久化的时间戳处继续计时。进一步地,所述服务器节点同一时间仅保存两个时间戳,当有新的时间戳保存进来时,先保存的时间戳自动溢出。进一步地,所述校验阈值为所述服务器节点发送携带有时间戳的数据包的周期的1倍到1.5倍。本专利技术进一步提供了一种分布式存储系统,包括相互连接的若干个服务器节点,每个服务器节点包括时间戳维护模块、时间戳更新模块,所述时间戳维护模块,用于周期性向系统中的其他服务器节点发送携带本地当前时间戳的数据包;所述时间戳更新模块,用于接收所述数据包,根据所述数据包的传输过程是否异常确定是否更新本地时间戳。进一步地,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的校验位是否正确,判断所述数据包的传输过程是否异常;若所述校验位不正确,则数据包的传输过程异常,丢弃所述时间戳,不更新本地时间戳。进一步地,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常;若数据包的传输过程异常时,则不更新本地时间戳;若数据包的传输过程正常,则用所述时间戳更新本地时间戳;其中,每个服务器节点均维护一个本地时间戳。进一步地,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值与上一次保存的时间戳的值之差是否在预设的校验阈值范围内;若差值不在所述校验阈值范围内,则数据包的传输过程异常;若差值在所述校验阈值范围内,则数据包的传输过程正常。进一步地,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值是否大于本地当前时间戳的值;若时间戳的值小于或者等于本地当前时间戳的值,则数据包的传输过程异常;若时间戳的值大于本地当前时间戳的值,则数据包的传输过程正常。进一步地,所述根据解析所述数据包得到的时间戳的本文档来自技高网
...
分布式存储系统及其时间戳的实现方法

【技术保护点】
一种分布式存储系统时间戳的实现方法,其特征在于,包括以下步骤:每个服务器节点周期性向系统中的其它服务器节点发送携带有本地维护的当前时间戳的数据包;所述每个服务器节点接收所述数据包,根据所述数据包的传输过程是否异常确定是否更新本地时间戳。

【技术特征摘要】
1.一种分布式存储系统时间戳的实现方法,其特征在于,包括以下步骤:每个服务器节点周期性向系统中的其它服务器节点发送携带有本地维护的当前时间戳的数据包;所述每个服务器节点接收所述数据包,根据所述数据包的传输过程是否异常确定是否更新本地时间戳。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的校验位是否正确,判断所述数据包的传输过程是否异常;若所述校验位不正确,则数据包的传输过程异常,丢弃所述时间戳,不更新本地时间戳。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述数据包的传输过程是否异常确定是否更新本地时间戳,包括:根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常;若数据包的传输过程异常时,则不更新本地时间戳;若数据包的传输过程正常,则用所述时间戳更新本地时间戳;其中,每个服务器节点均维护一个本地时间戳。4.根据权利要求3所述的方法,其特征在于,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值与上一次保存的时间戳的值之差是否在预设的校验阈值范围内;若差值不在所述校验阈值范围内,则数据包的传输过程异常;若差值在所述校验阈值范围内,则数据包的传输过程正常。5.根据权利要求3所述的方法,其特征在于,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值是否大于本地当前时间戳的值;若时间戳的值小于或者等于本地当前时间戳的值,则数据包的传输过程异常;若时间戳的值大于本地当前时间戳的值,则数据包的传输过程正常。6.根据权利要求3所述的方法,其特征在于,所述根据解析所述数据包得到的时间戳的值,判断所述数据包的传输过程是否异常,包括:判断所述时间戳的值与上一次保存的时间戳的值之差是否在预设的校验阈值范围内;若差值在所述校验阈值范围内;则判断所述时间戳的值是否大于本地当前时间戳的值;若时间戳的值大于本地当前时间戳的值;则数据包的传输过程正常;否则,数据包的传输过程异常。7.根据权利要求1所述的方法,其特征在于,若所述系统异常终止后又恢复正常运行,则所述每个服务器节点的本地时间戳从其终止前持久化的时间戳处继续计时。8.根据权利要求4-6任一所述的方法,其特征在于,所述服务器节点同一时间仅保存两个时间戳,当有新的时间戳保存进来时,先保存的时间戳自动溢出。9.根据权利要求4或6所述的方法,其特征在于,所述校验阈值为所述服务器节点发送携带有时间戳的数据包的周期的1倍到1.5倍。10.一种分布式存储系统,包括相互连接的若干个服务器...

【专利技术属性】
技术研发人员:郭斌胡欢欢陈典强韩银俊
申请(专利权)人:南京中兴新软件有限责任公司
类型:发明
国别省市:江苏;32

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

1