CN110830580A - 一种存储数据同步方法及装置 - Google Patents
一种存储数据同步方法及装置 Download PDFInfo
- Publication number
- CN110830580A CN110830580A CN201911101179.9A CN201911101179A CN110830580A CN 110830580 A CN110830580 A CN 110830580A CN 201911101179 A CN201911101179 A CN 201911101179A CN 110830580 A CN110830580 A CN 110830580A
- Authority
- CN
- China
- Prior art keywords
- data
- slice
- summary information
- information
- slices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种存储数据同步方法及装置,该方法包括:接收业务服务器的数据更新指令,数据更新指令携带需更新的同步数据;获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;根据索引信息确定同步数据所在的数据片,并在本地存储的数据中对同步数据进行更新;更新数据片摘要信息中,同步数据所在数据片的版本号及索引信息。利用本方法可以保证在多服务实例情境下的数据读写一致性、多副本一致性,可以令数据进行横向扩展,并且可以避免在读取数据时直接访问持久层的全量数据。
Description
技术领域
本申请涉及分布式系统数据同步领域,特别涉及一种存储数据同步方法及装置。
背景技术
在大型的分布式系统中,为了将系统容量进行横向的扩展,通常会对分布式系统进行多实例的同构部署,目的是为了均摊分布式的系统的访问流量,但此种多实例的同构部署方式也会带来很多问题,例如,多实例的数据需要和持久层数据保持一致,同时在持久层内的数据在进行更新及删除时,同时也需要同步给多个实例的同构部署进行同步变化,如何在兼顾效率的情况下保持多实例和持久层数据的一致性,目前还没有很好的解决办法。
发明内容
本发明提供了一种存储数据同步方法及装置,用于提高多实例同构部署的数据同步的效率,并保证同步数据时数据的一致,为大型分布式系统的容量横向扩展提供技术支持。
本发明提供的第一方面提供了一种存储数据同步方法,该方法包括:接收业务服务器的数据更新指令,所述数据更新指令携带需更新的同步数据;
获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
根据所述索引信息确定所述同步数据所在的数据片,并在本地存储的数据中对所述同步数据进行更新;
更新所述数据片摘要信息中,所述同步数据所在数据片的版本号及所述索引信息。
本发明的第二方面提供了一种分布式存储服务器的数据同步方法,该方法包括:
接收访问端发送的读取本地数据指令,获取被读取的本地的数据片摘要信息,数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
获取中心服务器中存储的数据片摘要信息与被读取的本地的数据片摘要信息进行比对,确定存在数据片摘要信息不一致时向所述中心服务器发送数据下载请求;
获取比对不一致的被读取的数据片,根据中心服务器发送被读取的数据片中存储的数据进行数据同步,将被读取的数据片返回访问端。
本发明的第三方面提供了一种存储数据同步装置,所述装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,所述计算机程序用于执行本发明的第一方面提供的存储数据同步方法。
此外,还提供了一种分布式存储服务器的数据同步装置,所述装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,所述计算机程序用于执行本发明的第二方面提供的分布式存储服务器的数据同步方法。
本发明的第四方面提供了一种存储数据同步装置,所述装置包括以下模块:
服务器指令接收模块,用于接收业务服务器的数据更新指令,所述数据更新指令携带需更新的同步数据;
摘要信息获取模块,用于获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
本地数据更新模块,用于根据所述索引信息确定所述同步数据所在的数据片,并在本地存储的数据中对所述同步数据进行更新;
摘要信息更新模块,用于更新所述数据片摘要信息中,所述同步数据所在数据片的版本号及所述索引信息。
本发明的第四方面还提供了一种分布式存储服务器的数据同步装置,所述装置包括以下模块:
本地摘要信息获取模块,用于接收访问端发送的读取本地数据指令,获取被读取的本地的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
摘要信息比对模块,用于获取中心服务器中存储的数据片摘要信息与被读取的本地的数据片摘要信息进行比对,确定存在数据片摘要信息不一致时向所述中心服务器发送数据下载请求;
更新数据同步模块,用于数据获取比对不一致的被读取的数据片,根据中心服务器发送被读取的数据片中存储的数据进行数据同步,将被读取访问的数据片返回访问端。
本发明的第五方面提供了一种计算机介质所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现本发明的第一方面提供的存储数据同步方法。
利用本发明提供的存储数据同步方法及装置,可以保证在多服务实例情境下的数据读写一致性、多副本一致性,可以令数据进行横向扩展,并且可以避免在读取数据时直接访问持久层的全量数据,提高了的多数据同步的效率及数据的准确性。
附图说明
图1为一种存储数据同步的系统的一种结构示意图;
图2为一种存储数据同步方法的流程图;
图3a~图3b为数据片的不同划分方式的示意图;
图4a~图4b为数据片摘要信息的存储示意图;
图5为接收图片T特征字段的数据的示意图;
图6为本地接收更改的数据的存储流程图
图7为一种分布式存储服务器的数据同步方法流程图;
图8为数据片摘要信息比对示意图;
图9为一种存储数据同步装置图;
图10为一种存储数据同步模块装置图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
1)持久层(Data Access Layer),其功能主要是负责数据库的访问。简单地说就是实现对数据表的Select(查询)、Insert(插入)、Update(更新)、Delete(删除)等操作。
2)分布式系统(distributed system),一组独立的计算机展现给用户的是一个统一的整体,系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。
3)服务实例(service instance),是与服务相对应的概念,是服务和具体某个或几个资源的绑定,服务是完全抽象的,只有在其实例化的时候才涉及到具体的提供服务的
参见图1,图1为一种存储数据同步的系统的一种结构示意图;
该系统包括业务数据服务器101、业务数据库102、中心服务器103、持久层数据库104、数据片摘要信息数据库105、分布式存储服务器106以及实例同构部署数据库107,其中业务数据库102位于业务数据服务器101中,持久层数据库104位于中心服务器103中,业务数据服务器101与中心服务器103中相连接,当业务数据服务器101向中心服务器103发出数据同步指令时,业务数据服务器101调用业务数据库102中的业务数据,将业务数据发送到中心服务器103中,其中业务数据的同步指令类型有多种,可以为新增数据、删除数据、更改数据等,中心服务器103获取在持久层数据库104存储的数据片摘要信息,其中数据片摘要信息包括:索引信息和代表数据片版本的版本号,索引信息中又包含有对应的数据标识信息,用于确定该数据片中存储何种数据,还包括指示数据存储在数据片中的相对位置的数据片内位置信息,根据同步指令类型与数据片摘要信息,确定将同步数据同步到持久层数据库104中划分的数据片的位置;当持久层数据库104的数据同步完毕后,将持久层数据库104存储的数据片摘要信息进行更新,将数据片摘要信息发送至数据片摘要信息数据库105,作为一种可选的实施方式,中心服务器103将同步数据以及数据片摘要信息发送到分布式存储服务器106,其中分布式存储服务器106中包含着多个实例同构部署数据库107,将从中心服务器103获取的同步数据更新到每个实例同构部署数据库107中。
当访问终端108对分布式存储服务器106进行访问时,分布式存储服务器106指定一实例同构部署数据库107读取访问数据,在访问数据前,先从数据片摘要信息数据库105,获取的数据片摘要信息,当检测到被访问的本地存储的数据片摘要信息和数据片摘要信息数据库105中获得的摘要信息比对不一致时,将不一致的数据片进行同步,将同步后的数据片返回给访问终端108。
其中,其中上述访问终端可以是蜂窝电话、无绳电话、会话启动协议(SessionInitiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及5G网络中的移动台或者未来演进的公共陆地移动网(Public LandMobile Network,PLMN)网络中的订阅设备等。
上述数据库中存储的数据不限于文档数据格式,也可以为命令字段,图像特征,状态码表等其他文件格式,这里不做过多限定。
图1仅仅是一种系统结构示例,还可以根据实际需要调整系统结构,例如将持久层数据库104和数据片摘要信息数据库105合并设置等,这里一再一一举例说明。
所述业务数据库102、持久层数据库104、数据片摘要信息数据库105、实例同构部署数据库107的位置不限于在上述描述的对应服务器内部,也可以位于上述服务器的外部,通过服务器从外部将数据库中数据进行调用和写入。
本实施例提供的存储数据同步方法,针对不同的数据处理流程,业务服务器的指令可能包括:新增数据指令、删除数据指令、更改数据指令等,那么在中心服务器侧,根据业务服务器的指令的,执行不同的数据处理流程,其中新数据存储指令为将新增数据内容的数据存储到持久层数据库中,指令中携带需要新存储的数据信息,根据指令中携带的新数据存储的数据信息,对持久层数据库中对应的数据信息进行新增数据处理。删除数据指令为在指令中携带需要删除的数据信息,将持久层数据库中对应的数据信息进行删除。更改数据指令为在指令中携带需要更改的数据信息,先将持久层数据库中对应的数据信息对更改部分数据进行删除,删除后根据指令中携带的更改的数据信息,对持久层数据库中删除后部分进行更改数据。下面结合附图进行详细说明。
参见图2所示的步骤S201~S204,为数据更新的处理流程,中心服务器执行具体执行如下步骤:
步骤S201,接收业务服务器的数据更新指令,数据更新指令携带需更新的同步数据;
其中业务服务器中存储有业务数据,可以为图像特征字段、文档数据以及代码数据等;
具体的,由业务服务器接收数据更新指令,其更新指令中携带有更新数据标识,发送更新数据指令以及更新指令的存在方式,这里不做过多限制。
将需要更新的同步数据存储到持久层数据库中,根据数据的类型的不同,来确定不同的同步方式。步骤S202,获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
其中在中心服务器中的持久层数据库存储有持久层中的各个数据片摘要信息,其中数据片为将持久层数据库的数据划分为更细粒度的数据片,其中每个数据片的大小一致。
作为一种可选的实施方式,通过外部数据定义的方式将数据划分为多个数据片,这里以图像特征字段为例,将图像特征字段划分为多个数据片,例如:如图3a所示,1~100行的图像特征字段划为数据片A,101~200行的图像特征字段划为数据片B等。
作为另一种可选的实施方式,通过固定大小的数据片文件将数据划分为多个数据片,例如,如图3b所示,每个数据片的大小固定为5M,将持久层数据库的数据根据固定大小进行划分,每个划分后的数据片被定义为数据片A、B等。
其中持久层数据库中存储有数据片摘要信息,具体的数据片摘要信息包括:索引信息和表示该数据片的版本更新的版本号;
如图4a所示,为数据片摘要信息的存储示意图,其中索引信息还包含:应存储在该数据片的数据标识信息,具体为表示该数据片中存储的数据的信息,以及用于索引接收到业务数据进行存储以及数据存储位置信息,用于指引数据存储在数据片中的位置。
例如,图中所示,该数据片A的版本号记做为1,数据片A存有图像M特征字段,应存储的位置为1~40行,数据片A中还存储有图像N特征字段,应存储的位置为41~100行;
数据片B的版本号记做为2,数据片B存有图像O特征字段,应存储的位置为1~15行,数据片A中还存储有图像P特征字段,应存储的位置为16~60行;
其中索引信息中的数据标识信息与数据存储位置信息会随着同步数据更新后,进行同步更新,例如上述数据片B中新增了图像P的特征字段,如图4b所示,图像P存储位置信息变化为16~70行,增加了图像X存储位置信息变化为71~100行,以及在数据中存储了图像X的特征字段,将数据标识信息增加对于图像X的特征字段。在数据同步后,版本号信息也会进行更新,其中更新的方式可以为递增或递减,数据片B的版本号进行递增变化,由版本号由版本2更新为版本3。
作为另一种可选的实施方式,当数据片以文件的固定大小进行分配数据片时,方式与上述对图像特征字段的划分方式相同,数据片摘要信息同样包含索引信息和表示数据片版本的版本号,其中索引信息中的数据标识信息与数据存储位置信息会随着同步数据更新后,进行同步更新;
步骤S203,根据索引信息确定同步数据所在的数据片,并在本地存储的数据中对同步数据进行更新;
中心服务器读取各个数据片摘要信息中的索引信息,根据业务服务器发送的需要更新的同步数据中数据携带的数据标识信息,确定将该数据发送到持久层数据库的位置;
中心服务器将数据发送到持久层数据库中的对应数据片中,对应数据片根据业务服务器的数据更新指令类型,对数据片内的数据进行同步更新。
步骤S204,更新数据片摘要信息中,同步数据所在数据片的版本号及索引信息;
在对持久层数据库中的数据片进行数据同步后,该数据片的版本号进行更新,更新的方式可以为从大到小的递减或从小到大的递增,根据数据片中的数据内容,对索引信息进行更新。
在对持久层数据库的数据片摘要信息更新完毕后,将该数据片摘要信息发送至数据片摘要信息数据库,其中数据片摘要信息数据库用于,当有访问终端访问分布式存储服务器时,读取该数据库中的数据片摘要信息进行比对,以确保返回给访问终端的数据为最新的业务数据。
更新数据片摘要信息中,同步数据所在数据片的版本号及索引信息后,作为一种可选的实施方式,在持久层数据库的数据及数据片摘要信息更新完毕后,将持久层数据库中进行更新的同步数据发送到分布式存储服务器中。
由分布式存储服务器将同步数据及数据片摘要信息发送到多个实例同构部署数据库中,进行数据同步,在数据同步后,对实例同构部署数据库中的数据片摘要信息进行更新。
作为另一种可选的实施方式,存在访问终端对分布式存储服务器进行访问时,分布式存储服务器调用一实例同构部署数据库,用于返回读取数据,首先分布式存储服务器需要向数据片摘要信息数据库请求获取持久层数据库中的数据片摘要信息;比对该实例同构部署数据库中被读取的数据片摘要信息与持久层数据库中的数据片摘要信息是否一致;
当检测到数据片摘要信息一致时,将该实例同构部署数据库被读取的数据片返回给访问终端;
当检测到数据片摘要信息不一致时,向中心服务器发送数据同步请求,将比对不一致的数据片进行数据同步更新,接收由中心服务器发送的同步数据,当数据更新完毕后,将该实例同构部署数据库的数据片摘要信息进行更新,并由该实例同构部署数据库的将被读取数据返回给访问终端。
采取此种方法对分布式存储服务器中的实例同构部署数据库的数据进行更新的好处是:只需要通过比对对应的被读取数据片的版本号是否一致,就可以保证整个分布式存储服务器中的数据和持久层数据库中的数据保持一致,并且提高了读写效率,在有访问终端读取实例同构部署数据库时,能保证在数据库中读取的数据都是最新的,不存在t1时刻向持久层写入业务数据,而t2时刻(t2>t1)访问分布式存储服务器时,没有获取到最新的数据的情况;
此外,作为分布式存储服务器,内部分配数据读取请求时,有可能存在随机到任意一个数据库中,需要保证无论分配到哪一个数据库时,读取的数据均为一致的结果,即保证了多副本的一致性。
其中,根据数据索引信息确定同步数据所在的数据片,并在本地存储的数据中对同步数据进行更新;
对本地存储数据对数据进行更新时,需要根据接收业务服务器的数据更新指令和数据片摘要信息确定数据进行更新的方式。
当接收业务服务器发送的新增数据指令时,新增存储指令中携带有需要新增的业务数据;
由中心服务器获取本地的数据片摘要信息,将新增的业务数据划分到其他存在剩余存储数据容量的数据片中;
当所有数据片存在的剩余存储数据容量不满足新增的业务数据需求时,将新增的业务数据划分到对应的剩余存储数据容量的数据片后,重新分配新的数据片,并按照划分到一个新的数据片的数据容量不超过固定容量的方式,将剩余新增的业务数据划分到新的数据片,并将数据片摘要信息及新增的数据片同步到分布式存储服务器中。
例如:如图5所示,获取到业务服务器发送的关于图片T特征字段的数据,由中心服务器读取业务发送的新增的数据标识,并获取本地的数据片摘要信息,由中心服务器在持久层数据库中找到一存在剩余容量的数据片C用于存储该图片T特征字段的数据,将该图片T特征字段的数据的存储到新数据片C中,若图片T特征字段的数据大于一个数据片的容量时,划分多个存在剩余空间的数据片用于存储图片T特征字段的数据片,根据数据片中存储的数据内容,同步更新数据片摘要信息,并将存入新增数据片的版本号进行递增处理。若所有数据片存在的剩余存储数据容量不满足图片T特征字段的数据需求时,建立新数据片用于存储剩余的新增数据;
在对持久层数据库进行同步完毕后,将本地的数据片摘要信息同步到数据片摘要信息数据库中,并将新增的数据片同步到分布式存储服务器中。
接收业务服务器发送的数据删除指令,中心服务器根据删除指令中携带需要删除的数据信息,将持久层数据库中的数据,由数据标识和索引信息确定具体的删除位置,在对数据进行删除后,同步更新数据片的摘要信息。
当再次接收到业务服务器的数据同步指令时,该数据片的删除信息部分可以作为其他同步数据的剩余容量空间,接收其他同步数据,被删除数据的数据片在进行数据同步后,并对同步的本地数据片的摘要信息进行更新。
参见图6所示的步骤S601~S607,为接收到更新数据指令的数据更新的处理流程,中心服务器执行具体执行如下步骤:
步骤S601,读取删除的数据信息中的数据标识信息,中心服务器根据删除指令中携带需要删除的数据信息,将持久层数据库中的数据,由数据标识和索引信息确定具体的删除位置,删除对应位置的存储数据;
步骤S602,读取更改数据信息中的数据标识信息,中心服务器根据本地持久层数据库的数据片摘要信息确定更改数据的存储位置;
步骤S603,判断该数据片内的存储数据的容量是否满足更改数据需求,若满足执行步骤S604,不满足执行步骤S605;
步骤S604,将更改数据划分到索引信息指定的数据片中,并对同步的本地数据片的摘要信息进行更新;
步骤S605,判断其他存在剩余存储数据的容量的数据片是否满足剩余更改数据需求,若满足执行步骤S606,不满足执行步骤S607;
步骤S606,将更改数据划分到索引信息指定的数据片后,将剩余更改数据划分到其他存在剩余存储数据的容量的数据片中,并对同步的本地数据片的摘要信息进行更新;
步骤S607,将更改数据划分到索引信息指定数据片后,将剩余更改数据划分到其他存在剩余存储数据的容量的数据片中,重新分配新的数据片,并按照划分到一个新的数据片的同步数据容量不超过固定容量的方式,将剩余更改数据划分到新的数据片,并对同步的本地数据片的摘要信息进行更新。
本实施例提供一种分布式存储服务器的数据同步方法,参见图7中步骤S701~S703,在分布式存储服务器侧,执行的步骤具体包括:
步骤S701,接收访问端发送的读取本地数据指令,获取被读取的本地的数据片摘要信息,数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
当有访问终端读取分布式存储服务器时,访问终端向分布式存储服务器发送数据读取指令,分布式存储服务器划分一实例同构部署数据库用于读取数据,由分布式存储服务器读取该数据库的被读取的数据片摘要信息,数据片摘要信息包括:被划分到该数据片的数据索引信息以及用于表示该数据片的更新版本的版本号。
步骤S702,获取中心服务器中存储的数据片摘要信息与被读取的本地的数据片摘要信息进行比对,确定存在数据片摘要信息不一致时向中心服务器发送数据下载请求;
分布式存储服务器获取数据片摘要信息数据库存储的持久层数据库中的数据片摘要信息,将被读取的数据片摘要信息与本地数据片摘要信息进行对比,具体的,比对各个数据片之间的版本号的差距以及是否存在新增的数据片,确定存在不一致的数据片时,向中心服务器发送数据下载请求,从持久层数据库中获取最新的对应数据片。
步骤S703,获取比对不一致的被读取的数据片,根据中心服务器发送被读取的数据片中存储的数据进行数据同步,将被读取的数据片返回访问端。
具体的,如图8所示,当存在着不一致的数据片摘要信息时,将不一致的数据片同步到本地的该实例同构部署数据库中,在数据更新完毕之后,将该实例同构部署数据库的数据片摘要信息进行更新。
例如,检测到数据片B的版本号与本地的数据片B的版本号不一致,向中心服务器请求获取持久层数据库中数据片B的数据,从中心服务器接收数据片B的数据后,将本地的该实例同构部署数据库中的数据片B的数据进行更新,并将本地数据片摘要信息进行更新。
基于同一发明构思,本发明实施例提供了一种存储数据同步的装置,该装置包括以下几个模块:
服务器指令接收模块901,用于接收业务服务器的数据更新指令,数据更新指令携带需更新的同步数据;
摘要信息获取模块902,用于获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
本地数据更新模块903,用于根据索引信息确定同步数据所在的数据片,并在本地存储的数据中对同步数据进行更新;
摘要信息更新模块904,用于更新数据片摘要信息中,同步数据所在数据片的版本号及索引信息;
上述本地数据更新模块903,还用于:
接收新增数据指令,新增数据指令携带需新增的业务数据;
将新增的业务数据划分到其他存在剩余存储数据容量的数据片中;
当所有数据片存在的剩余存储数据容量不满足新增的业务数据需求时,将新增的业务数据划分到对应的剩余存储数据容量的数据片后,重新分配新的数据片,并按照划分到一个新的数据片的数据容量不超过固定容量的方式,将剩余新增的业务数据划分到新的数据片,并将数据片摘要信息及新增的数据片同步到分布式存储服务器中。
本地数据更新模块903,还用于:
接收删除数据指令,需更新的同步数据为需删除的数据,根据索引信息确定同步数据所在的数据片,在本地存储的数据中对同步数据进行更新,包括:
根据数据片摘要信息中的索引信息,确定需删除数据所在的位置并删除对应的存储数据,其中,被删除数据所在的位置作为该位置对应的数据片的剩余容量空间以接收同步数据。
本地数据更新模块903,还用于:
接收更改数据指令,需更新的同步数据为需更改的数据,根据索引信息确定同步数据所在的数据片,在本地存储的数据中对同步数据进行更新,包括:
根据索引信息确定需更改的数据的位置,删除对应位置的存储数据;
确定需更改的数据所在数据片的剩余存储数据容量满足更改数据需求时,将更改数据划分到该数据片中;或者
确定需更改的数据所在数据片的剩余存储数据容量不满足更改数据需求时,将更改数据划分到该数据片后,将剩余更改数据划分到其他存在剩余存储数据容量的数据片中;或者
当所有数据片存在的剩余存储数据容量不满足更改数据需求时,将更改数据划分到对应的剩余存储数据容量的数据片后,重新分配新的数据片,并按照划分到一个新的数据片的数据容量不超过固定容量的方式,将剩余更改数据划分到新的数据片,并将数据片摘要信息及新增的数据片同步到分布式存储服务器中。
分布式系统数据同步模块905,更新数据片摘要信息中,同步数据所在数据片的版本号及索引信息后,还用于:
确定数据片摘要信息发生更新时,将同步数据及对应的数据片摘要信息同步到分布式存储服务器;和/或
收到分布式存储服务器被访问时发送的数据同步请求,将同步数据及对应的数据片摘要信息同步到分布式存储服务器。
分布式系统数据同步模块905将同步数据及对应的数据片摘要信息同步到分布式存储服务器,包括:
响应于数据片摘要信息发生更新所生成的数据同步指令,将划分到各数据片中的数据及对应的数据片摘要信息同步到分布式存储服务器中;和/或
响应于分布式存储服务器的数据同步请求所生成的数据同步指令,将划分到各数据片的数据片摘要信息发送到分布式存储服务器中,在收到分布式存储服务器发送的数据下载请求时,将同步数据对应的数据片发送到分布式存储服务器中。
本发明实施例还提供了一种分布式存储服务器的数据同步装置,该装置包括以下几个模块:
本地摘要信息获取模块906,用于接收访问端发送的读取本地数据指令,获取被读取的本地的数据片摘要信息,数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
摘要信息比对模块907,用于获取中心服务器中存储的数据片摘要信息与被读取的本地的数据片摘要信息进行比对,确定存在数据片摘要信息不一致时向中心服务器发送数据下载请求;
更新数据同步模块908,用于获取比对不一致的被读取的数据片,根据中心服务器发送被读取的数据片中存储的数据进行数据同步,将被读取的数据片返回访问端。
基于同一发明构思,本实施提供一种计算机介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现如上述实施例提供的一种存储数据同步方法。
基于同一发明构思,本实施例提供一种存储数据同步装置,装置包括处理器和存储器,存储器中存储有计算机程序,处理器用于执行存储器中的计算机程序,计算机程序用于执行如下与上述存储数据同步方法的步骤相同,这里不再赘述
该存储数据同步装置可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:central processing units,英文简称:CPU)1001(例如,一个或一个以上处理器)和存储器1002,一个或一个以上存储应用程序1004或数据1005的存储介质1003(例如一个或一个以上海量存储设备)。其中,存储器1002和存储介质1003可以是短暂存储或持久存储。存储在存储介质1003的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,中央处理器1001可以设置为与存储介质1003通信,在装置1000上执行存储介质1003中的一系列指令操作。
装置1000还可以包括一个或一个以上电源1006,一个或一个以上有线或无线网络接口1007,一个或一个以上输入输出接口1008,和/或,一个或一个以上操作系统1009,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
本实施例还提供一种分布式存储服务器的数据同步装置,装置包括处理器和存储器,存储器中存储有计算机程序,处理器用于执行存储器中的计算机程序,计算机程序与上述一种分布式存储服务器的数据同步方法的步骤相同,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种存储数据同步方法,其特征在于,该方法包括:
接收业务服务器的数据更新指令,所述数据更新指令携带需更新的同步数据;
获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
根据所述索引信息确定所述同步数据所在的数据片,并在本地存储的数据中对所述同步数据进行更新;
更新所述数据片摘要信息中,同步数据所在数据片的版本号及所述索引信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收新增数据指令,所述新增数据指令携带需新增的业务数据;
将新增的业务数据划分到其他存在剩余存储数据容量的数据片中;
当所有数据片存在的剩余存储数据容量不满足新增的业务数据需求时,将所述新增的业务数据划分到对应的剩余存储数据容量的数据片后,重新分配新的数据片,并按照划分到一个新的数据片的数据容量不超过固定容量的方式,将剩余新增的业务数据划分到新的数据片,并将数据片摘要信息及新增的数据片同步到分布式存储服务器中。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收删除数据指令,所述删除数据指令携带需删除的业务数据;
根据数据片摘要信息中的索引信息,确定需删除的业务数据所在的位置并删除对应的存储数据,其中,被删除的业务数据所在的位置作为该位置对应的数据片的剩余容量空间以接收同步数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收更改数据指令,所述更改数据指令携带需更改的业务数据;
根据所述索引信息确定需更改的业务数据的位置,删除对应位置的存储数据;
确定所述需更改的数据所在数据片的剩余存储数据容量满足更改的业务数据需求时,将所述更改的业务数据划分到该数据片中;或者
确定所述需更改的业务数据所在数据片的剩余存储数据容量不满足更改的业务数据需求时,将所述更改的业务数据划分到该数据片后,将所述剩余更改的业务数据划分到其他存在剩余存储数据容量的数据片中;或者
当所有数据片存在的剩余存储数据容量不满足更改的业务数据需求时,将所述更改的业务数据划分到对应的剩余存储数据容量的数据片后,重新分配新的数据片,并按照划分到一个新的数据片的数据容量不超过固定容量的方式,将剩余更改的业务数据划分到新的数据片,并将数据片摘要信息及新增的数据片同步到分布式存储服务器中。
5.根据权利要求1所述的方法,其特征在于,更新所述数据片摘要信息中,同步数据所在数据片的版本号及所述索引信息后,还包括:
确定所述数据片摘要信息发生更新时,将所述同步数据及对应的数据片摘要信息同步到分布式存储服务器;和/或
收到分布式存储服务器被访问时发送的数据同步请求,将所述同步数据及对应的数据片摘要信息同步到分布式存储服务器。
6.根据权利要求5所述的方法,其特征在于,将所述同步数据及对应的数据片摘要信息同步到分布式存储服务器,包括:
响应于所述数据片摘要信息发生更新所生成的数据同步指令,将划分到各数据片中的数据同步到分布式存储服务器中;和/或
响应于分布式存储服务器的数据同步请求所生成的数据同步指令,将划分到各数据片的数据片摘要信息发送到分布式存储服务器中,在收到分布式存储服务器发送的数据下载请求时,将同步数据对应的数据片发送到分布式存储服务器中。
7.一种分布式存储服务器的数据同步方法,其特征在于,该方法包括:
接收访问端发送的读取本地数据指令,获取被读取的本地的数据片摘要信息,数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
获取中心服务器中存储的数据片摘要信息与被读取的本地的数据片摘要信息进行比对,确定存在数据片摘要信息不一致时向所述中心服务器发送数据下载请求;
获取比对不一致的被读取的数据片,根据中心服务器发送被读取的数据片中存储的数据进行数据同步,将被读取的数据片返回访问端。
8.一种存储数据同步装置,其特征在于,该装置包括以下几个模块:
服务器指令接收模块,用于接收业务服务器的数据更新指令,所述数据更新指令携带需更新的同步数据;
摘要信息获取模块,用于获取本地存储的各数据片的数据片摘要信息,各数据片摘要信息包括被划分到该数据片的数据的索引信息及用于表示该数据片的版本更新的版本号;
本地数据更新模块,用于根据所述索引信息确定所述同步数据所在的数据片,并在本地存储的数据中对所述同步数据进行更新;
摘要信息更新模块,用于更新所述数据片摘要信息中,同步数据所在数据片的版本号及所述索引信息。
9.一种存储数据同步装置,其特征在于,所述装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,所述计算机程序用于执行如权利要求1~6任一项所述一种存储数据同步方法。
10.一种计算机介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1~6任一项所述一种存储数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101179.9A CN110830580B (zh) | 2019-11-12 | 2019-11-12 | 一种存储数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101179.9A CN110830580B (zh) | 2019-11-12 | 2019-11-12 | 一种存储数据同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830580A true CN110830580A (zh) | 2020-02-21 |
CN110830580B CN110830580B (zh) | 2023-04-18 |
Family
ID=69554341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101179.9A Active CN110830580B (zh) | 2019-11-12 | 2019-11-12 | 一种存储数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830580B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112273366A (zh) * | 2020-10-28 | 2021-01-29 | 玉林市农业科学院(广西农业科学院玉林分院) | 水稻直播栽培中农用无人机生态驱赶鸟类的方法及系统 |
CN112925759A (zh) * | 2021-03-31 | 2021-06-08 | 北京金山云网络技术有限公司 | 数据文件的处理方法和装置、存储介质、电子装置 |
CN113656618A (zh) * | 2021-08-12 | 2021-11-16 | 工银科技有限公司 | 图片同步方法、装置、电子设备及可读存储介质 |
CN113687846A (zh) * | 2021-06-30 | 2021-11-23 | 北京百度网讯科技有限公司 | 用于处理数据的方法、装置、设备和可读存储介质 |
CN115510166A (zh) * | 2022-11-23 | 2022-12-23 | 云账户技术(天津)有限公司 | 数据同步服务的方法、装置、远程平台和电子设备 |
CN117708234A (zh) * | 2023-12-05 | 2024-03-15 | 北京名道恒通信息技术有限公司 | 数据同步方法、装置、电子设备和计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673271A (zh) * | 2008-09-09 | 2010-03-17 | 青岛海信传媒网络技术有限公司 | 分布式文件系统及其文件分片方法 |
CN102065110A (zh) * | 2009-11-12 | 2011-05-18 | 钟惠波 | 一种基于p2sp的客户端软件在线升级的方法和系统 |
CN102780773A (zh) * | 2012-07-16 | 2012-11-14 | 西安电子科技大学 | 以内容为中心的网络中保持缓存一致性的方法 |
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN105208059A (zh) * | 2014-06-19 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 一种内容分发方法、终端、服务器,及系统 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
CN106059825A (zh) * | 2016-07-08 | 2016-10-26 | 福建天晴数码有限公司 | 一种分布式系统及配置方法 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN110058873A (zh) * | 2019-03-12 | 2019-07-26 | 天津五八到家科技有限公司 | 应用页面更新方法、装置、设备和存储介质 |
CN110286922A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 应用下载更新方法、装置、计算机设备以及存储介质 |
-
2019
- 2019-11-12 CN CN201911101179.9A patent/CN110830580B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673271A (zh) * | 2008-09-09 | 2010-03-17 | 青岛海信传媒网络技术有限公司 | 分布式文件系统及其文件分片方法 |
CN102065110A (zh) * | 2009-11-12 | 2011-05-18 | 钟惠波 | 一种基于p2sp的客户端软件在线升级的方法和系统 |
CN102780773A (zh) * | 2012-07-16 | 2012-11-14 | 西安电子科技大学 | 以内容为中心的网络中保持缓存一致性的方法 |
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN105208059A (zh) * | 2014-06-19 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 一种内容分发方法、终端、服务器,及系统 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
CN106059825A (zh) * | 2016-07-08 | 2016-10-26 | 福建天晴数码有限公司 | 一种分布式系统及配置方法 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN110058873A (zh) * | 2019-03-12 | 2019-07-26 | 天津五八到家科技有限公司 | 应用页面更新方法、装置、设备和存储介质 |
CN110286922A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 应用下载更新方法、装置、计算机设备以及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112273366A (zh) * | 2020-10-28 | 2021-01-29 | 玉林市农业科学院(广西农业科学院玉林分院) | 水稻直播栽培中农用无人机生态驱赶鸟类的方法及系统 |
CN112925759A (zh) * | 2021-03-31 | 2021-06-08 | 北京金山云网络技术有限公司 | 数据文件的处理方法和装置、存储介质、电子装置 |
CN112925759B (zh) * | 2021-03-31 | 2024-05-31 | 北京金山云网络技术有限公司 | 数据文件的处理方法和装置、存储介质、电子装置 |
CN113687846A (zh) * | 2021-06-30 | 2021-11-23 | 北京百度网讯科技有限公司 | 用于处理数据的方法、装置、设备和可读存储介质 |
CN113687846B (zh) * | 2021-06-30 | 2023-07-18 | 北京百度网讯科技有限公司 | 用于处理数据的方法、装置、设备和可读存储介质 |
CN113656618A (zh) * | 2021-08-12 | 2021-11-16 | 工银科技有限公司 | 图片同步方法、装置、电子设备及可读存储介质 |
CN113656618B (zh) * | 2021-08-12 | 2024-06-21 | 工银科技有限公司 | 图片同步方法、装置、电子设备及可读存储介质 |
CN115510166A (zh) * | 2022-11-23 | 2022-12-23 | 云账户技术(天津)有限公司 | 数据同步服务的方法、装置、远程平台和电子设备 |
CN117708234A (zh) * | 2023-12-05 | 2024-03-15 | 北京名道恒通信息技术有限公司 | 数据同步方法、装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110830580B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830580B (zh) | 一种存储数据同步方法及装置 | |
CN111143382B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
JP2001522074A (ja) | 通信システム及び方法 | |
CN111209090B (zh) | 一种云平台中虚拟机的创建方法、组件及服务器 | |
CN113297320A (zh) | 分布式数据库系统及数据处理方法 | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN110727738B (zh) | 基于数据分片的全局路由系统、电子设备及存储介质 | |
CN113239004B (zh) | 一种笔记同步方法及装置 | |
CN111158851B (zh) | 一种虚拟机快速部署方法 | |
CN111694865A (zh) | 基于分布式系统的四层结构数据获取方法和装置 | |
CN102325367B (zh) | 为客户端应用进行数据分组同步的装置和方法 | |
CN107025257B (zh) | 一种事务处理方法及装置 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
CN111382132A (zh) | 医学影像数据云存储系统 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN114443598A (zh) | 写数据方法、装置、计算机设备及存储介质 | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN116048728A (zh) | 基于按需延迟加载的容器镜像加速的方法及应用 | |
CN106649669B (zh) | 一种基于远程字典服务器的数据存储方法及系统 | |
CN115390754A (zh) | 一种硬盘管理方法及装置 | |
CN106407320B (zh) | 文件处理方法、装置及系统 | |
CN113297263A (zh) | 数据处理方法、装置、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022972 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |