分布式系统中的数据同步方法及相关设备技术方案

技术编号:26880328 阅读:20 留言:0更新日期:2020-12-29 14:41
本申请涉及云计算技术领域,具体提供了一种分布式系统中的数据同步方法,包括:若主机接收到数据读取请求,获取主机存储的第一序号标识和所存储的第二序号标识,第一序号标识是主机在完成数据写入后所生成用于标识所写入数据对应版本的序号标识;第二序号标识是指用于标识主机向从机所同步数据对应版本的序号标识;若第一序号标识与第二序号标识不一致,将第一序号标识所对应版本的数据同步至从机;在完成数据同步后,向数据读取请求的发起方返回所请求读取的数据,可以保证不同时间点下,一数据读取请求的发起方所读取到数据的版本一定不会比之前所读取到数据的版本低;而在相同时间点下,不同数据读取请求的发起方所读取到的数据是相同的。

【技术实现步骤摘要】
分布式系统中的数据同步方法及相关设备
本申请涉及计算机及通信
,具体而言,涉及一种分布式系统中的数据同步方法及相关设备。
技术介绍
分布式云存储系统是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。在玩家数量庞大的大型多人在线角色扮演游戏应用中,为了提高游戏服务端的承载能力,数据读写一般采用分布式集群部署。游戏数据(例如战斗场景数据、排名场景数据)通常被保存在多个机器上,其中一台为主机,其余为从机。但是,现有的分布式集群部署下难以保证各游戏客户端在同一时间点下所读取到数据的一致性。
技术实现思路
本申请的实施例提供了一种分布式系统中的数据同步方法及相关设备,以解决相关技术所存在分布式集群部署下难以保证各游戏客户端在同一时间点下所读取到数据的一致性的问题。本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。根据本申请实施例的一个方面,提供了一种分布式系统中的数据同步方法,所述分布式系统包括主机和若干从机,包括:若所述主机接收到数据读取请求,获取所述主机存储的第一序号标识和所存储的第二序号标识,所述第一序号标识是所述主机在完成数据写入后所生成用于标识所写入数据对应版本的序号标识;所述第二序号标识是指用于标识所述主机向所述从机所同步数据对应版本的序号标识;若所述第一序号标识与所述第二序号标识不一致,将所述第一序号标识所对应版本的数据同步至从机;在完成数据同步后,向所述数据读取请求的发起方返回所请求读取的数据。根据本申请实施例的一个方面,提供了一种分布式系统中的数据同步装置,分布式系统包括主机和若干从机,所述装置包括:第一获取模块,用于若所述主机接收到数据读取请求,获取所述主机存储的第一序号标识和所存储的第二序号标识,所述第一序号标识是所述主机在完成数据写入后所生成用于标识所写入数据对应版本的序号标识;所述第二序号标识是指用于标识所述主机向所述从机所同步数据对应版本的序号标识;数据同步模块,用于若所述第一序号标识与所述第三序号标识不一致,将所述第一序号标识所对应版本的数据同步至从机;数据返回模块,用于在完成数据同步后,向所述数据读取请求的发起方返回所请求读取的数据。根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述的方法。根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述的方法。在本申请的方案中,在分布式系统中的主机接收到数据读取请求后并确定主机中所存储的第一序号标识与所存储的第二序号标识不一致时启动向从机进行数据同步,保证了分布式系统中数据的一致性,进而可以保证在不同时间点下,一数据读取请求的发起方所读取到数据的版本一定不会比之前所读取到数据的版本低;而在相同时间点下,不同数据读取请求的发起方所读取到的数据是相同的。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;图2是根据一实施例示出的分布式系统中的数据同步方法的流程图;图3是根据另一实施例示出的分布式系统中的数据同步方法的流程图;图4是根据另一实施例示出的分布式系统中的数据同步方法的流程图;图5是根据另一实施例示出的分布式系统中的数据同步方法的流程图;图6是根据一具体实施例示出的在分布式系统中的主机接收到数据读取请求后的数据同步示意图;图7是根据一具体实施例示出的在分布式系统中的从机接收到数据读取请求后的数据同步示意图;图8示出了现有技术中按照同步的方式进行数据同步方法的示意图;图9示出了现有技术中按照异步的方式进行数据同步方法的示意图;图10是根据一具体实施例示出的从机之间进行代理主机选举的示意图;图11是根据一实施例示出的分布式系统中的数据同步装置;图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。分布式云存储系统采用一主多从的模式,其对于主机与从机之间的数据一致性要求较高。而现有的分布式云存储系统中主机与从机之间的数据一致性要求还不能满足使用要求,不能保证在相同时间点不同数据读取请求的发起方从分布式系统中所读取到的数据相同。基于此,提出了本申请的方案,以解决相关技术中现有分布式集群部署下难以保证各客户端同一时间点所读取到的数据的一致性的问题。图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。如图1所示,系统架构可以包括外部设备110和分布式系统120,终端110与分布式系统120之间通本文档来自技高网...

【技术保护点】
1.一种分布式系统中的数据同步方法,所述分布式系统包括主机和若干从机,其特征在于,包括:/n若所述主机接收到数据读取请求,获取所述主机存储的第一序号标识和所存储的第二序号标识,所述第一序号标识是所述主机在完成数据写入后所生成用于标识所写入数据对应版本的序号标识;所述第二序号标识是指用于标识所述主机向所述从机所同步数据对应版本的序号标识;/n若所述第一序号标识与所述第二序号标识不一致,将所述第一序号标识所对应版本的数据同步至从机;/n在完成数据同步后,向所述数据读取请求的发起方返回所请求读取的数据。/n

【技术特征摘要】
1.一种分布式系统中的数据同步方法,所述分布式系统包括主机和若干从机,其特征在于,包括:
若所述主机接收到数据读取请求,获取所述主机存储的第一序号标识和所存储的第二序号标识,所述第一序号标识是所述主机在完成数据写入后所生成用于标识所写入数据对应版本的序号标识;所述第二序号标识是指用于标识所述主机向所述从机所同步数据对应版本的序号标识;
若所述第一序号标识与所述第二序号标识不一致,将所述第一序号标识所对应版本的数据同步至从机;
在完成数据同步后,向所述数据读取请求的发起方返回所请求读取的数据。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述从机接收到数据读取请求,获取所述从机所存储的第一序号标识,以及获取所述从机所存储的第二序号标识,所述从机所存储的第一序号标识是所述从机与所述主机进行心跳检测得到的;
若所述从机所存储的第一序号标识与所存储的所述第二序号标识不一致,则将所述从机所接收到的数据读取请求重定向至所述主机,由所述主机根据所接收到的数据读取请求进行数据同步。


3.根据权利要求1或2所述的方法,其特征在于,所述获取所述从机所存储的第一序号标识之前,所述方法还包括:
所述从机接收所述主机发送的心跳请求包;
从所述心跳请求包中提取所述主机所存储第一序号标识所指示的序号标识;
将所述从机所存储的第一序号标识更新为从所述心跳请求包中所提取到的序号标识。


4.根据权利要求3所述的方法,其特征在于,所述从机接收所述主机发送的心跳请求包之后,所述方法还包括:
根据所述从机所存储第二序号标识所指示的序号标识生成心跳响应包;
向所述主机返回所述心跳响应包,以使所述主机从所述心跳响应包中提取序号标识,并将所述主机所存储的第二序号标识更新为从所述心跳响应包中提取的序号标识。


5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若检测到所述主机与所述从机之间的通信被中断,所述从机...

【专利技术属性】
技术研发人员:谢亚晋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1