一种数据处理方法和相关装置制造方法及图纸

技术编号:28941967 阅读:16 留言:0更新日期:2021-06-18 21:48
本申请实施例公开了一种数据处理方法和相关装置,第一节点和第二节点等计算节点可以对分布式数据库系统中存储的数据对象进行读取、修改,获取第一节点用于变更数据对象的目标标识对,目标标识对包括数据对象的对象标识和目标版本标识,目标版本标识用于标识数据对象中第一数据被变更为第二数据的数据版本;根据对象标识,将目标标识对关联于数据对象进行存储;获取第二节点的第一读取请求,第一读取请求包括第一标识对,第一标识对包括对象标识和数据对象的第一待核实版本标识;若确定目标版本标识与第一待核实版本标识不同,且未从第一节点获取包括第二数据的数据对象,拒绝第一读取请求,从而避免出现针对数据对象的数据同步异常问题。

【技术实现步骤摘要】
一种数据处理方法和相关装置
本申请涉及数据处理领域,特别是涉及一种数据处理方法和相关装置。
技术介绍
分布式数据库系统是一种常用的数据存储系统,该系统由多个用于数据存储的计算节点组成。分布式数据库系统中存储有数据对象(Schema),计算节点可以在系统中创建数据对象,也可以变更系统中的数据对象。为了保证数据对象在被变更过程中的数据正确性,相关技术主要采用锁机制的强同步方式,使得在对数据对象进行变更过程中对于不兼容操作的阻塞,避免数据对象在系统中出现不一致性,也避免了在变更数据对象过程中其让计算节点的操作导致数据异常的情况。然而,强同步需要分布式数据库系统中所有的计算节点都同意才能够授予锁,大量的交互会增加获取锁的系统开销,降低系统处理能力,而且这些系统额外负担会随着计算节点增加而迅速提升,不利于分布式数据库系统扩展和使用。
技术实现思路
为了解决上述技术问题,本申请提供了一种数据处理方法和相关装置,用于保证数据对象在被变更过程中的数据正确性。本申请实施例公开了如下技术方案:一方面,本申请提供一种数据处理方法,所述方法包括:获取第一节点用于变更分布式数据库系统中数据对象的目标标识对,所述第一节点为所述分布式数据库系统中的一个计算节点,所述目标标识对包括所述数据对象的对象标识和目标版本标识,所述目标版本标识用于标识所述数据对象中第一数据被变更为第二数据的数据版本;根据所述对象标识,将所述目标标识对关联于所述数据对象进行存储;获取第二节点针对所述数据对象的第一读取请求,所述第二节点为所述分布式数据库系统中与所述第一节点不同的一个计算节点,所述第一读取请求包括第一标识对,所述第一标识对包括所述对象标识和所述数据对象的第一待核实版本标识;若确定所述目标版本标识与所述第一待核实版本标识不同,且未从所述第一节点获取包括所述第二数据的所述数据对象,拒绝所述第一读取请求。另一方面,本申请提供一种数据处理装置,所述装置包括获取单元、存储单元和执行单元;所述获取单元,用于获取第一节点用于变更所述分布式数据库系统中数据对象的目标标识对,所述第一节点为所述分布式数据库系统中的一个计算节点,所述目标标识对包括所述数据对象的对象标识和目标版本标识,所述目标版本标识用于标识所述数据对象中第一数据被变更为第二数据的数据版本;所述存储单元,用于根据所述对象标识,将所述目标标识对关联于所述数据对象进行存储;所述获取单元,还用于获取第二节点针对所述数据对象的第一读取请求,所述第二节点为所述分布式数据库系统中与所述第一节点不同的一个计算节点,所述第一读取请求包括第一标识对,所述第一标识对包括所述对象标识和所述数据对象的第一待核实版本标识;所述执行单元,用于若确定所述目标版本标识与所述第一待核实版本标识不同,且未从所述第一节点获取包括所述第二数据的所述数据对象,拒绝所述第一读取请求。另一方面,本申请提供一种计算机设备,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。由上述技术方案可以看出,在分布式数据库系统中包括第一节点和第二节点在内的多个计算节点,若第一节点需要将数据对象所包括的第一数据变更为第二数据,第一节点会发送包括该数据对象的对象标识和目标版本标识的目标标识对,通过对象标识可查找到分布式数据库系统中待变更的数据对象,通过目标版本标识明确数据对象被第一节点变更后的数据版本。由于计算节点读写该数据对象时均需要携带包括版本标识的标识对,故在从第一节点获取包括第二数据的数据对象之前,系统会先行将目标标识对对应于数据对象进行关联存储,从而系统中该数据对象的版本标识从用于标识第一数据的数据版本被更新为标识第二数据的目标版本标识。由此,若在第一节点变更该数据对象的期间获取其他节点例如第二节点对该数据对象的第一读取请求,由于第二节点所提供的第一标识对中包括的第一待核实版本标识不会与目标版本标识相同,且此时尚未从第一节点获取包括第二数据的数据对象,系统将判定此时数据对象尚未变更完毕,目前系统内该数据对象中的第一数据并非最终版本,不能提供给第二节点,由此系统将拒绝该第一读取请求,即不会向第二节点提供非最终版本的数据对象,避免出现针对数据对象的数据同步异常问题。从而保证第二节点不会利用非最终版本的数据对象进行数据变更,确保了数据对象在分布式数据库系统中正确性和一致性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种数据处理方法的应用场景示意图;图2为本申请实施例提供的一种数据处理方法的流程图;图3为本申请实施例提供的一种修改数据对象的流程图;图4为本申请实施例提供的一种创建数据对象的流程图;图5为本申请实施例提供的一种删除数据对象的流程图;图6为本申请实施例提供的一种数据处理装置的示意图;图7为本申请实施例提供的服务器的结构示意图;图8为本申请实施例提供的终端设备的结构示意图。具体实施方式下面结合附图,对本申请的实施例进行描述。基于相关技术中,锁机制的强同步方式会增加分布式数据库系统的额外负担,故此本申请实施例提供一种数据处理方法和相关装置,用于在保证数据对象在被变更过程中的数据正确性的同时,降低分布式数据库系统的额外负担。本申请实施例提供的数据处理方法是基于云计算实现的,其中,云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n获取第一节点用于变更分布式数据库系统中数据对象的目标标识对,所述第一节点为所述分布式数据库系统中的一个计算节点,所述目标标识对包括所述数据对象的对象标识和目标版本标识,所述目标版本标识用于标识所述数据对象中第一数据被变更为第二数据的数据版本;/n根据所述对象标识,将所述目标标识对关联于所述数据对象进行存储;/n获取第二节点针对所述数据对象的第一读取请求,所述第二节点为所述分布式数据库系统中与所述第一节点不同的一个计算节点,所述第一读取请求包括第一标识对,所述第一标识对包括所述对象标识和所述数据对象的第一待核实版本标识;/n若确定所述目标版本标识与所述第一待核实版本标识不同,且未从所述第一节点获取包括所述第二数据的所述数据对象,拒绝所述第一读取请求。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一节点用于变更分布式数据库系统中数据对象的目标标识对,所述第一节点为所述分布式数据库系统中的一个计算节点,所述目标标识对包括所述数据对象的对象标识和目标版本标识,所述目标版本标识用于标识所述数据对象中第一数据被变更为第二数据的数据版本;
根据所述对象标识,将所述目标标识对关联于所述数据对象进行存储;
获取第二节点针对所述数据对象的第一读取请求,所述第二节点为所述分布式数据库系统中与所述第一节点不同的一个计算节点,所述第一读取请求包括第一标识对,所述第一标识对包括所述对象标识和所述数据对象的第一待核实版本标识;
若确定所述目标版本标识与所述第一待核实版本标识不同,且未从所述第一节点获取包括所述第二数据的所述数据对象,拒绝所述第一读取请求。


2.根据权利要求1所述的方法,其特征在于,在所述获取第一节点用于变更分布式数据库系统中数据对象的目标标识对之前,所述方法还包括:
获取所述第一节点针对所述数据对象的第二读取请求,所述第二读取请求包括所述数据对象的第二标识对,所述第二标识对包括所述对象标识和所述数据对象的第二待核实版本标识;
根据所述对象标识确定对应所述数据对象关联存储的第三标识对,所述第三标识对包括所述对象标识和第一版本标识,所述第一版本标识用于标识所述数据对象中所述第一数据的数据版本;
若确定所述第二待核实版本标识与所述第一版本标识相同,向所述第一节点返回与所述第一版本标识对应的所述数据对象。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若确定所述第二待核实版本标识与所述第一版本标识不相同,指示所述第一节点将所述第二待核实版本标识更新为所述第一版本标识,并重新发送针对所述数据对象的读取请求。


4.根据权利要求2所述的方法,其特征在于,所述目标版本标识是基于预置步长,对所述第一版本标识增加或减少得到的。


5.根据权利要求1所述的方法,其特征在于,所述根据所述对象标识,将所述目标标识对关联于所述数据对象进行存储,包括:
根据所述对象标识,将所述目标标识对存储到所述数据对象对应的元数据中,以及将所述目标标识对存储到所述数据对象对应的用户数据中,所述元数据用于描述所述用户数据的属性定义。


6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
获取所述第一节点针对所述数据对象的创建请求;
根据所述创建请求向所述第一节点返回为所述数据对象生成的对象标识;
获取对应所述数据对象的初始标识对,所述初始标识对包括所述对象标识和初始版本标识;
将所述初始标识对关联于所述数据对象进行存储。


7.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
获取所述第一节点针对所述数据对象的删除请求,所述删除请求包括待删除标识对,所述待删除标识对包括所述对象标识和第二版本标识,所述第二版本标识是根据所述目标版本标识更新得到的;
将所述待删除标识对关联于所述数据对象进行存储;
对所述数据对象进行删除,并在删除完成后删除所述待删除标识对。


8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述第二节点针对所述数据对象的第三读取请求,所述第三读取请求包括第四标识对,所述第四标识对包括所述对象标识和第三待核...

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

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

1