CN111262916B - 数据分布式存储方法、装置、存储节点及存储介质 - Google Patents
数据分布式存储方法、装置、存储节点及存储介质 Download PDFInfo
- Publication number
- CN111262916B CN111262916B CN202010028284.0A CN202010028284A CN111262916B CN 111262916 B CN111262916 B CN 111262916B CN 202010028284 A CN202010028284 A CN 202010028284A CN 111262916 B CN111262916 B CN 111262916B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- distance
- key
- distributed
- 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.)
- Active
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/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)
Abstract
本发明提供了一种数据分布式存储方法,应用于第一存储节点中,所述方法包括:接收到数据广播信令时,存储数据,其中,数据广播信令中携带有Key;在当前维护周期内迭代查询分布式网络中与Key距离最近的多个第二存储节点;对第一存储节点与所述Key的第一距离及多个第二存储节点与所述Key的多个第二距离进行从小到大的排序;当所述第一距离大于所述第K个第二距离时,通过向多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将数据存储到目标第二存储节点中。本发明还提供了一种数据分布式存储装置、存储节点及存储介质。本发明能够自主对key‑value对类型的数据进行维护,对单个存储节点的可靠性与网络稳定性依赖较小。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种数据分布式存储方法、装置、存储节点及存储介质。
背景技术
去中心化的应用有时需要在网络中存储一些数据,工作方式类似于一个分布式数据库。然而,相比于传统分布式存储,去中心化的应用中每个节点的可靠性低得多,因此必须依赖冗余和节点互检来保证数据的高可用性。由于没有中心的管理者,去中心化的应用中的各个节点必须互相交流来协议数据的存储节点,以进行维护/存取工作。如果节点不存储数据,也不会主动进行数据维护。
因此,有必要提供一种数据分布式存储方案。
发明内容
本发明的主要目的在于提供一种数据分布式存储方法、装置、存储节点及存储介质,旨在解决去中心化的应用中节点无法主动维护数据的技术问题。
为实现上述目的,本发明的第一方面提供一种数据分布式存储方法,应用于第一存储节点中,所述方法包括:
接收到数据广播信令时,存储所述数据,其中,所述数据广播信令中携带有Key;
在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序;
判断所述第一距离是否大于所述多个第二距离中的第K个第二距离;
当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
根据本发明的一个可选实施例,在所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点之前,所述方法还包括:
侦测所述第一数据节点是否启用了数据维护功能;
当侦测到所述第一数据节点启用了所述数据维护功能时,触发第一异步注册事件设置第一定时器,并当所述第一定时器到期时,执行所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
当侦测到所述第一数据节点没有启动所述数据维护功能时,存储所述数据直到所述数据到期,并在所述数据到期后删除所述数据。
根据本发明的一个可选实施例,所述方法还包括:
当所述第一距离小于所述第K个第二距离时,在下一个维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点直至所述第一距离大于所述第K个第二距离;及
当所述第一距离大于所述第K个第二距离时,删除所述数据。
根据本发明的一个可选实施例,在所述删除所述数据之前,所述方法还包括:
获取所述数据广播信令中携带的时间戳;
根据所述时间戳判断所述数据为即将到期或永不到期;
当所述数据为即将到期时,触发第二异步注册事件根据所述时间戳来设置第二定时器;
当所述第二定时器到期时,删除所述数据。
根据本发明的一个可选实施例,所述方法还包括:
侦测所述分布式网络中存储节点的数量是否增加;
当所述分布式网络中存储节点的数量增加时,获取所述分布式网络中所述数据的副本的数量;
判断所述副本的数量是否大于预设副本数量阈值;
当所述副本的数量大于所述预设副本数量阈值时,对存储所述数据的数据节点与所述Key的目标距离进行排序;
判断所述第一距离是否为所述目标距离中的最大值;
当确定所述第一距离为所述目标距离中的最大值时,删除所述数据。
根据本发明的一个可选实施例,所述方法还包括:
接收用户的数据存储指令;
迭代查询所述分布式网络中与所述数据存储指令中携带的Key距离最近的多个第三存储节点;
通过向所述多个第三存储节点发送数据广播信令,将所述数据存储到所述多个第三存储节点。
根据本发明的一个可选实施例,所述方法还包括:
接收用户的数据获取请求;
查询所述分布式网络中与所述数据获取请求中携带的Key距离最近的多个第四存储节点;
从所述多个第四存储节点中获取目标数据;
对所述目标数据进行去重后返回给所述用户。
为实现上述目的,本发明的第二方面提供一种数据分布式存储装置,运行于第一存储节点中,所述装置包括:
信令接收模块,用于接收到数据广播信令时,存储所述数据,其中,所述数据广播信令中携带有Key;
迭代查询模块,用于在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
距离排序模块,用于对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序;
距离判断模块,用于判断所述第一距离是否大于所述多个第二距离中的第K个第二距离;
信令广播模块,用于当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
为实现上述目的,本发明的第三方面提供一种存储节点,所述存储节点包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据分布式存储方法的下载程序,所述数据分布式存储方法的下载程序被所述处理器执行时实现所述的数据分布式存储方法。
为实现上述目的,本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据分布式存储方法的下载程序,所述数据分布式存储方法的下载程序可被一个或者多个处理器执行以实现所述的数据分布式存储方法。
本发明实施例所述的数据分布式存储方法、装置、存储节点及存储介质,通过第一存储接收到数据广播信令时,存储所述数据,并周期性的迭代查询分布式网络中与所述数据中的Key距离最近的多个第二存储节点,使得多个第二存储节点中有K个第二节点与所述Key的距离比所述第一存储节点与所述Key的距离更近,最后向所述K个第二节点发送数据广播信令,从而完成数据的复制与备份。实现了去中心化的应用中,存储节点不必依赖中心节点或外部触发条件,能够自主对key-value对类型的数据进行维护,对单个存储节点的可靠性与网络稳定性依赖较小。
附图说明
图1为本发明第一实施例的数据分布式存储方法的流程示意图;
图2为本发明第二实施例的数据分布式存储装置的功能模块示意图;
图3为本发明第三实施例的存储节点的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1所示,为本发明第一实施例揭露的数据分布式存储方法的流程图。
所述数据分布式存储方法可以应用于第一存储节点中。所述第一存储节点包括四层架构层,分别是:应用层、迭代查询层、副本维护层及存储层。其中,所述应用层用于向用户提供put接口,用户通过调用put接口,指明要存储的key和value(二进制字符串)。所述迭代查询层主要负责和其他节点交互以执行迭代查询的过程并发送数据广播信令。所述副本维护层定期调用副本维护相关逻辑,所述副本维护层为可选层,当不启用该层时,则不定期调用副本维护相关逻辑,适用于不寻求长期存储可靠性的数据,例如缓存。所述存储层用户将数据存储在内存或者硬盘。
所述数据分布式存储方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11,接收到数据广播信令时,存储所述数据。
其中,所述数据广播信令来自于分布式网络中的其他存储节点,所述数据广播信令中携带有Key,所述Key为长度固定(例如,160位)的二进制字符串。
第一存储节点接收到其他存储节点发送的数据广播信令后,可以将数据存储在本地,例如,内存或者硬盘。
在一个可选的实施例中,在S11之前,所述方法还可以包括:
所述第一存储节点加入分布式网络中,并通过一致性哈希算法自动生成一个节点ID。
在该可选的实施例中,所述第一存储节点可以作为用户客户端首次加入分布式网络中,分布式网络中的存储节点具有唯一的节点ID。所述分布式网络可以为kademlia,所述节点ID为一个长度固定(例如,160位)的二进制字符串。
S12,在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点。
第一存储节点可以采用kademlia的迭代查询策略向分布式网络中的其他存储节点发送查询请求,查询距离Key最近的若干个存储节点。kademlia的迭代查询为现有技术,本发明在此不再详细阐述。迭代查询要求其他存储节点返回它所知道的且距离最近的一批存储节点(每个节点都维护着一批远端节点的列表,且距自己的节点标识越近,密度越高),重复此过程直到收敛。kademlia的迭代查询策略决定了迭代查询的过程可以在对数时间内完成,因此迭代查询的效率较高。
本实施例中,计算两个存储节点之间的距离为采用异或运算来计算两个存储节点的标识符的异或距离。异或是一个数学运算符,数学符号为“⊕”,计算机符号为“xor”,运算法则为:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。由于分布式网络中的存储节点和Key为长度相同的二进制字符串,因而将二进制字符串的二进制位逐一计算异或值,所得的二进制数称为存储节点与Key的异或距离。异或距离越小,表明存储节点距离Key越近,异或距离越大,表明存储节点距离Key越远。例如,如果dist(Key,A)<dist(Key,B),则存储节点A距Key比存储节点B距Key要更近。
在一个可选的实施例中,在S12之前,所述方法还可以包括:
侦测所述第一数据节点是否启用了数据维护功能;
当侦测到所述第一数据节点启用了所述数据维护功能时,触发第一异步注册事件设置第一定时器,并当所述第一定时器到期时,执行所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
当侦测到所述第一数据节点没有启动所述数据维护功能时,存储所述数据直到所述数据到期,并在所述数据到期后删除所述数据。
在该可选的实施例中,第一存储节点中预先配置有数据维护功能,用户可以选择启用或者不启用所述数据维护功能。当第一存储节点侦测到用户启用了数据维护功能时,则在存储所述数据之后,触发第一异步注册事件,从而设置一个第一定时器,用以执行数据维护任务以对数据进行维护。所述第一定时器可以是循环使用的定时器,即每隔预设时间段就执行一次数据维护任务。所述预设时间段可以是10分钟。当第一存储节点侦测到用户启用了数据维护功能时,则在存储所述数据之后,不触发第一异步注册事件,不对数据进行维护。
S13,对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序。
第一存储节点迭代查询多个第一存储节点之后,将第一距离及多个第二距离进行排序,便于确定第一距离在排序后的多个第二距离中的位置。
S14,判断所述第一距离是否大于所述多个第二距离中的第K个第二距离。
其中,所述K可以依据分布式网络中副本的数量来确定,所述K可以与所述副本的数量相同,也可以与所述副本的数量存在线性关系。优选的,所述K为16。
S15,当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
在本实施例中,当所述第一距离大于多个第二距离中的第K个第二距离时,表明第一存储节点距离所述Key比第K个距离对应的第二存储节点距离所述Key更远,向第二距离中的前K个第二距离对应的第二存储节点发送数据广播信令。
前K个第二距离对应的第二存储节点接收到数据广播信令后,存储所述数据。至此,完成了分布式网络中数据的分布式存储与维护,确保了数据以多个副本的形式存在于多个存储节点中。
在一个可选的实施例中,所述方法还包括:
当所述第一距离小于所述第K个第二距离时,在下一个维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点直至所述第一距离大于所述第K个第二距离;及
当所述第一距离大于所述第K个第二距离时,删除所述数据。
在该可选的实施例中,若第一距离小于排序后的第二距离中的第K个第二距离时,表明所述第一存储节点比第K个距离对应的第二存储节点更靠近所述Key。则在下一个维护周期内,当所述第一定时器到期时,再次执行数据维护任务。在执行数据维护任务的过程中,首先迭代查询分布式网络中与所述Key距离最近的若干个第二存储节点,并对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序,再判断第一距离是否小于排序后的第二距离中的第K个距离。如此循环往复,直至在某一次数据维护过程中,所述第一距离大于排序后的第二距离中的第K个距离即可停止迭代查询。
本实施例中,迭代查询结束后,表明第一存储节点距离所述Key比第K个距离对应的第二存储节点距离所述Key更远,且所述数据由第一存储节点通过发送数据广播信令复制到目标第二存储节点中,因而可以从本地中删除所述数据,并停止数据的维护。在分布式网络数据的副本已经得到维护的情况下,将本地中的数据进行删除,可以节约本地的存储资源,避免本地资源的浪费。
在一个可选的实施例中,在所述删除所述数据之前,所述方法还包括:
获取所述数据广播信令中携带的时间戳;
根据所述时间戳判断所述数据为即将到期或永不到期;
当所述数据为即将到期时,触发第二异步注册事件根据所述时间戳来设置第二定时器;
当所述第二定时器到期时,删除所述数据。
其中,所述数据广播信令中还可以携带有时间戳,用以表明所述数据的生命周期。当根据时间戳识别并判断出所述数据为即将到期时,触发第二异步注册事件,从而设置一个第二定时器,用以执行数据删除任务以对数据进行删除。所述第二定时器可以是一次性使用的定时器,即满足了预设时间点时执行数据删除任务。当根据时间戳识别并判断出所述数据为永久到期时,表明所述数据需要永久存储,因而第一存储节点在存储所述数据之后,不触发第二异步注册事件,不对数据进行删除。
在一个可选的实施例中,所述方法还包括:
侦测所述分布式网络中存储节点的数量是否增加;
当所述分布式网络中存储节点的数量增加时,获取所述分布式网络中所述数据的副本的数量;
判断所述副本的数量是否大于预设副本数量阈值;
当所述副本的数量大于所述预设副本数量阈值时,对存储所述数据的数据节点与所述Key的目标距离进行排序;
判断所述第一距离是否为所述目标距离中的最大值;
当确定所述第一距离为所述目标距离中的最大值时,删除所述数据。
在该可选的实施例中,即使某个或者某些存储数据副本的存储节点断网或者失联,通过其他存储节点复制数据以达到安全副本数目,从而实现数据的维护。即使由于某个或者某些存储节点重新入网导致副本数量超过了安全副本数目,也能将距离Key较远的存储节点中的副本进行删除。
在一个可选的实施例中,所述方法还包括:
接收用户的数据存储指令;
迭代查询所述分布式网络中与所述数据存储指令中携带的Key距离最近的多个第三存储节点;
通过向所述多个第三存储节点发送数据广播信令,将所述数据存储到所述多个第三存储节点。
在该可选的实施例中,当所述第一存储节点作为用户客户端首次加入分布式网络中时,用户可以调用第一存储节点中的应用层的Put指令,请求存储数据。所述数据为Key-value类型的数据对。
第一存储节点接收到用户的数据存储请求时,迭代查询距离所述数据中的Key最近的若干个第三存储节点并向第三存储节点广播信令,通知所述第三存储节点接收到数据广播信令时,存储数据。当第三存储节点接收到数据广播信令并存储数据后,向第一存储节点返回数据存储成功的结果。
第一存储节点接收到数据存储成功的结果后,可以向用户反馈数据存储成功的结果。在一些实施例中,当由于网络质量不稳定或者信号较差,导致数据广播信令发送不出去,则第一存储节点向用户返回数据存储失败的结果。
在一个可选的实施例中,所述方法还包括:
接收用户的数据获取请求;
查询所述分布式网络中与所述数据获取请求中携带的Key距离最近的多个第四存储节点;
从所述多个第四存储节点中获取目标数据;
对所述目标数据进行去重后返回给所述用户。
在该可选的实施例中,用户获取数据的过程同请求存储数据的过程较类似,通过迭代查询与需获取的数据中的Key距离最近的若干个存储节点,然后从所述若干个存储节点中拉取数据。由于从这若干个存储节点中拉取的数据会存在重复,因而在发给用户之前,需要进行去重操作。
综上所述,相比于传统的raft选举方案:需要选举出一个leader节点来负责维护工作,如果leader节点失联,需要重新选举。这种方案需要leader节点与其他所有节点稳定连接。但由于去中心化网络和设备本身可靠性不佳,可能导致选出多个leader的情况,影响维护效果,且性能消耗较严重。相较于令牌环方案:节点成环维护,只需与环中两个相邻节点建立联系。但这种情况任何网络问题(例如,由于路由配置问题,某两个相邻节点间一直无法连接)都会导致环结构被破坏,大量数据需要转移,不适用于去中心化的应用环境。本实施例所述的数据分布式存储方法,通过第一存储接收到数据广播信令时,存储所述数据,并周期性的迭代查询分布式网络中与所述数据中的Key距离最近的多个第二存储节点,使得多个第二存储节点中有K个第二节点与所述Key的距离比所述第一存储节点与所述Key的距离更近,最后向所述K个第二节点发送数据广播信令,从而完成数据的复制与备份。实现了去中心化的应用中,存储节点不必依赖中心节点或外部触发条件,能够自主对数据进行维护,将数据存储多个副本。数据以多个副本的形式存在,即使分布式网络中,某个或者某些存储节点失联,也能进行数据的维护确保数据不会丢失,数据可靠性高。
实施例二
参阅图2所示,为本发明实施例二揭露的数据分布式存储装置的功能模块示意图。
在一些实施例中,所述数据分布式存储装置20运行于存储节点中。所述数据分布式存储装置20可以包括多个由程序代码段所组成的功能模块。所述数据分布式存储装置20中的各个程序段的程序代码可以存储于存储节点的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)文件的传输。
本实施例中,所述数据分布式存储装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:信令接收模块201、标识生成模块202、迭代查询模块203、功能侦测模块204、定时触摸模块205、距离排序模块206、距离判断模块207、信令广播模块208、数据删除模块209、数量侦测模块210、存储请求模块211及请求接收模块212。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
信令接收模块201,用于接收到数据广播信令时,存储所述数据。
其中,所述数据广播信令来自于分布式网络中的其他存储节点,所述数据广播信令中携带有Key,所述Key为长度固定(例如,160位)的二进制字符串。
第一存储节点接收到其他存储节点发送的数据广播信令后,可以将数据存储在本地,例如,内存或者硬盘。
标识生成模块202,用于所述第一存储节点加入分布式网络中,并通过一致性哈希算法自动生成一个节点ID。
在该可选的实施例中,所述第一存储节点可以作为用户客户端首次加入分布式网络中,分布式网络中的存储节点具有唯一的节点ID。所述分布式网络可以为kademlia,所述节点ID为一个长度固定(例如,160位)的二进制字符串。
迭代查询模块203,用于在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点。
第一存储节点可以采用kademlia的迭代查询策略向分布式网络中的其他存储节点发送查询请求,查询距离Key最近的若干个存储节点。kademlia的迭代查询为现有技术,本发明在此不再详细阐述。迭代查询要求其他存储节点返回它所知道的且距离最近的一批存储节点(每个节点都维护着一批远端节点的列表,且距自己的节点标识越近,密度越高),重复此过程直到收敛。kademlia的迭代查询策略决定了迭代查询的过程可以在对数时间内完成,因此迭代查询的效率较高。
本实施例中,计算两个存储节点之间的距离为采用异或运算来计算两个存储节点的标识符的异或距离。异或是一个数学运算符,数学符号为“⊕”,计算机符号为“xor”,运算法则为:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。由于分布式网络中的存储节点和Key为长度相同的二进制字符串,因而将二进制字符串的二进制位逐一计算异或值,所得的二进制数称为存储节点与Key的异或距离。异或距离越小,表明存储节点距离Key越近,异或距离越大,表明存储节点距离Key越远。例如,如果dist(Key,A)<dist(Key,B),则存储节点A距Key比存储节点B距Key要更近。
功能侦测模块204,用于侦测所述第一数据节点是否启用了数据维护功能。
定时触摸模块205,用于当侦测到所述第一数据节点启用了所述数据维护功能时,触发第一异步注册事件设置第一定时器,并当所述第一定时器到期时,执行所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点。
所述定时触摸模块205,还用于当侦测到所述第一数据节点没有启动所述数据维护功能时,存储所述数据直到所述数据到期,并在所述数据到期后删除所述数据。
在该可选的实施例中,第一存储节点中预先配置有数据维护功能,用户可以选择启用或者不启用所述数据维护功能。当第一存储节点侦测到用户启用了数据维护功能时,则在存储所述数据之后,触发第一异步注册事件,从而设置一个第一定时器,用以执行数据维护任务以对数据进行维护。所述第一定时器可以是循环使用的定时器,即每隔预设时间段就执行一次数据维护任务。所述预设时间段可以是10分钟。当第一存储节点侦测到用户启用了数据维护功能时,则在存储所述数据之后,不触发第一异步注册事件,不对数据进行维护。
距离排序模块206,用于对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序。
第一存储节点迭代查询多个第一存储节点之后,将第一距离及多个第二距离进行排序,便于确定第一距离在排序后的多个第二距离中的位置。
距离判断模块207,用于判断所述第一距离是否小于所述多个第二距离中的第K个第二距离。
其中,所述K可以依据分布式网络中副本的数量来确定,所述K可以与所述副本的数量相同,也可以与所述副本的数量存在线性关系。优选的,所述K为16。
信令广播模块208,用于当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
在本实施例中,当所述第一距离大于多个第二距离中的第K个第二距离时,表明第一存储节点距离所述Key比第K个距离对应的第二存储节点距离所述Key更远,向第二距离中的前K个第二距离对应的第二存储节点发送数据广播信令。
前K个第二距离对应的第二存储节点接收到数据广播信令后,存储所述数据。至此,完成了分布式网络中数据的分布式存储与维护,确保了数据以多个副本的形式存在于多个存储节点中。
所述迭代查询模块203,还用于当所述第一距离小于所述第K个第二距离时,在下一个维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点直至所述第一距离大于所述第K个第二距离。
数据删除模块209,用于当所述第一距离大于所述第K个第二距离时,删除所述数据。
若第一距离小于排序后的第二距离中的第K个第二距离时,表明所述第一存储节点比第K个距离对应的第二存储节点更靠近所述Key。则在下一个维护周期内,当所述第一定时器到期时,再次执行数据维护任务。在执行数据维护任务的过程中,首先迭代查询分布式网络中与所述Key距离最近的若干个第二存储节点,并对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序,再判断第一距离是否小于排序后的第二距离中的第K个距离。如此循环往复,直至在某一次数据维护过程中,所述第一距离大于排序后的第二距离中的第K个距离即可停止迭代查询。
本实施例中,迭代查询结束后,表明第一存储节点距离所述Key比第K个距离对应的第二存储节点距离所述Key更远,且所述数据由第一存储节点通过发送数据广播信令复制到目标第二存储节点中,因而可以从本地中删除所述数据,并停止数据的维护。在分布式网络数据的副本已经得到维护的情况下,将本地中的数据进行删除,可以节约本地的存储资源,避免本地资源的浪费。
在一个可选的实施例中,所述数据删除模块209,还用于在删除所述数据之前,获取所述数据广播信令中携带的时间戳;根据所述时间戳判断所述数据为即将到期或永不到期。
所述定时触摸模块205,还用于当所述数据为即将到期时,触发第二异步注册事件根据所述时间戳来设置第二定时器。
所述数据删除模块209,还用于当所述第二定时器到期时,删除所述数据。
其中,所述数据广播信令中还可以携带有时间戳,用以表明所述数据的生命周期。当根据时间戳识别并判断出所述数据为即将到期时,触发第二异步注册事件,从而设置一个第二定时器,用以执行数据删除任务以对数据进行删除。所述第二定时器可以是一次性使用的定时器,即满足了预设时间点时执行数据删除任务。当根据时间戳识别并判断出所述数据为永久到期时,表明所述数据需要永久存储,因而第一存储节点在存储所述数据之后,不触发第二异步注册事件,不对数据进行删除。
数量侦测模块210,用于侦测所述分布式网络中存储节点的数量是否增加;当所述分布式网络中存储节点的数量增加时,获取所述分布式网络中所述数据的副本的数量;判断所述副本的数量是否大于预设副本数量阈值;当所述副本的数量大于所述预设副本数量阈值时,对存储所述数据的数据节点与所述Key的目标距离进行排序;判断所述第一距离是否为所述目标距离中的最大值;当确定所述第一距离为所述目标距离中的最大值时,删除所述数据。
在该可选的实施例中,即使某个或者某些存储数据副本的存储节点断网或者失联,通过其他存储节点复制数据以达到安全副本数目,从而实现数据的维护。即使由于某个或者某些存储节点重新入网导致副本数量超过了安全副本数目,也能将距离Key较远的存储节点中的副本进行删除。
存储请求模块211,用于接收用户的数据存储指令;迭代查询所述分布式网络中与所述数据存储指令中携带的Key距离最近的多个第三存储节点;通过向所述多个第三存储节点发送数据广播信令,将所述数据存储到所述多个第三存储节点。
在该可选的实施例中,当所述第一存储节点作为用户客户端首次加入分布式网络中时,用户可以调用第一存储节点中的应用层的Put指令,请求存储数据。所述数据为Key-value类型的数据对。
第一存储节点接收到用户的数据存储请求时,迭代查询距离所述数据中的Key最近的若干个第三存储节点并向第三存储节点广播信令,通知所述第三存储节点接收到数据广播信令时,存储数据。当第三存储节点接收到数据广播信令并存储数据后,向第一存储节点返回数据存储成功的结果。
第一存储节点接收到数据存储成功的结果后,可以向用户反馈数据存储成功的结果。在一些实施例中,当由于网络质量不稳定或者信号较差,导致数据广播信令发送不出去,则第一存储节点向用户返回数据存储失败的结果。
请求接收模块212,用于接收用户的数据获取请求;查询所述分布式网络中与所述数据获取请求中携带的Key距离最近的多个第四存储节点;从所述多个第四存储节点中获取目标数据;对所述目标数据进行去重后返回给所述用户。
在该可选的实施例中,用户获取数据的过程同请求存储数据的过程较类似,通过迭代查询与需获取的数据中的Key距离最近的若干个存储节点,然后从所述若干个存储节点中拉取数据。由于从这若干个存储节点中拉取的数据会存在重复,因而在发给用户之前,需要进行去重操作。
综上所述,相比于传统的raft选举方案:需要选举出一个leader节点来负责维护工作,如果leader节点失联,需要重新选举。这种方案需要leader节点与其他所有节点稳定连接。但由于去中心化网络和设备本身可靠性不佳,可能导致选出多个leader的情况,影响维护效果,且性能消耗较严重。相较于令牌环方案:节点成环维护,只需与环中两个相邻节点建立联系。但这种情况任何网络问题(例如,由于路由配置问题,某两个相邻节点间一直无法连接)都会导致环结构被破坏,大量数据需要转移,不适用于去中心化的应用环境。本实施例所述的数据分布式存储装置,通过第一存储接收到数据广播信令时,存储所述数据,并周期性的迭代查询分布式网络中与所述数据中的Key距离最近的多个第二存储节点,使得多个第二存储节点中有K个第二节点与所述Key的距离比所述第一存储节点与所述Key的距离更近,最后向所述K个第二节点发送数据广播信令,从而完成数据的复制与备份。实现了去中心化的应用中,存储节点不必依赖中心节点或外部触发条件,能够自主对数据进行维护,将数据存储多个副本。数据以多个副本的形式存在,即使分布式网络中,某个或者某些存储节点失联,也能进行数据的维护确保数据不会丢失,数据可靠性高。
实施例三
图3为本发明实施例揭露的存储节点的内部结构示意图。
在本实施例中,所述存储节点3可以包括存储器31、处理器32和总线33及收发器34。所述存储节点3用于执行实施例一所述的数据分布式存储方法的全部或者部分步骤,或者用于实现实施例二所述的数据分布式存储装置的全部或者部分功能。
其中,存储器31至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器31在一些实施例中可以是所述存储节点3的内部存储单元,例如所述存储节点3的硬盘。存储器31在另一些实施例中也可以是所述存储节点3的外部存储设备,例如所述存储节点3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器31还可以既包括所述存储节点3的内部存储单元,也包括外部存储设备。存储器31不仅可以用于存储安装于所述存储节点3的应用程序及各类数据,例如数据分布式存储装置20及各个模块的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。所述下载程序为计算机可读程序指令。
处理器32在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据分布式存储芯片,用于运行存储器31中存储的程序代码或处理数据。
该总线33可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,所述存储节点3还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该存储节点3与其他存储节点之间建立通信连接。
可选地,该存储节点3还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元,比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在所述存储节点中处理的消息以及用于显示可视化的用户界面。
图3仅示出了具有组件31-34的所述存储节点3,本领域技术人员可以理解的是,图3示出的结构并不构成对所述存储节点3的限定,既可以是总线型结构,也可以是星形结构,所述存储节点3还可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在上述实施例中,可以全部或部分地通过应用程序、硬件、固件或者其任意组合来实现。当使用应用程序实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用应用程序功能单元的形式实现。
所述集成的单元如果以应用程序功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以应用程序产品的形式体现出来,该计算机应用程序产品存储在一个存储介质中,包括若干指令用以使得一台存储节点(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据分布式存储方法,应用于第一存储节点中,其特征在于,所述方法包括:
接收到数据广播信令时,存储所述数据,其中,所述数据广播信令中携带有Key,所述Key为二进制字符串;
在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点,包括:逐一计算所述分布式网络中的每个存储节点的二进制位与Key的二进制位之间的异或值,并将得到的异或值确定为所述每个存储节点与Key的异或距离,并根据所述异或距离的大小,在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序;
判断所述第一距离是否大于所述多个第二距离中的第K个第二距离;
当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
2.如权利要求1所述的数据分布式存储方法,其特征在于,在所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点之前,所述方法还包括:
侦测所述第一存储节点是否启用了数据维护功能;
当侦测到所述第一存储节点启用了所述数据维护功能时,触发第一异步注册事件设置第一定时器,并当所述第一定时器到期时,执行所述在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
当侦测到所述第一存储节点没有启动所述数据维护功能时,存储所述数据直到所述数据到期,并在所述数据到期后删除所述数据。
3.如权利要求1所述的数据分布式存储方法,其特征在于,所述方法还包括:
当所述第一距离小于所述第K个第二距离时,在下一个维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点直至所述第一距离大于所述第K个第二距离;及
当所述第一距离大于所述第K个第二距离时,删除所述数据。
4.如权利要求3所述的数据分布式存储方法,其特征在于,在所述删除所述数据之前,所述方法还包括:
获取所述数据广播信令中携带的时间戳;
根据所述时间戳判断所述数据为即将到期或永不到期;
当所述数据为即将到期时,触发第二异步注册事件根据所述时间戳来设置第二定时器;
当所述第二定时器到期时,删除所述数据。
5.如权利要求1所述的数据分布式存储方法,其特征在于,所述方法还包括:
侦测所述分布式网络中存储节点的数量是否增加;
当所述分布式网络中存储节点的数量增加时,获取所述分布式网络中所述数据的副本的数量;
判断所述副本的数量是否大于预设副本数量阈值;
当所述副本的数量大于所述预设副本数量阈值时,对存储所述数据的数据节点与所述Key的目标距离进行排序;
判断所述第一距离是否为所述目标距离中的最大值;
当确定所述第一距离为所述目标距离中的最大值时,删除所述数据。
6.如权利要求1至5中任意一项所述的数据分布式存储方法,其特征在于,所述方法还包括:
接收用户的数据存储指令;
迭代查询所述分布式网络中与所述数据存储指令中携带的Key距离最近的多个第三存储节点;
通过向所述多个第三存储节点发送数据广播信令,将所述数据存储到所述多个第三存储节点。
7.如权利要求1至5中任意一项所述的数据分布式存储方法,其特征在于,所述方法还包括:
接收用户的数据获取请求;
查询所述分布式网络中与所述数据获取请求中携带的Key距离最近的多个第四存储节点;
从所述多个第四存储节点中获取目标数据;
对所述目标数据进行去重后返回给所述用户。
8.一种数据分布式存储装置,运行于第一存储节点中,其特征在于,所述装置包括:
信令接收模块,用于接收到数据广播信令时,存储所述数据,其中,所述数据广播信令中携带有Key,所述Key为二进制字符串;
迭代查询模块,用于在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点,包括:逐一计算所述分布式网络中的每个存储节点的二进制位与Key的二进制位之间的异或值,并将得到的异或值确定为所述每个存储节点与Key的异或距离,并根据所述异或距离的大小,在当前维护周期内迭代查询分布式网络中与所述Key距离最近的多个第二存储节点;
距离排序模块,用于对所述第一存储节点与所述Key的第一距离及所述多个第二存储节点与所述Key的多个第二距离进行从小到大的排序;
距离判断模块,用于判断所述第一距离是否大于所述多个第二距离中的第K个第二距离;
信令广播模块,用于当所述第一距离大于所述第K个第二距离时,通过向所述多个第二距离中的前K个第二距离对应的目标第二存储节点发送数据广播信令,将所述数据存储到所述目标第二存储节点中。
9.一种存储节点,其特征在于,所述存储节点包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据分布式存储方法的下载程序,所述数据分布式存储方法的下载程序被所述处理器执行时实现如权利要求1至7中任意一项所述的数据分布式存储方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据分布式存储方法的下载程序,所述数据分布式存储方法的下载程序可被一个或者多个处理器执行以实现如权利要求1至7中任意一项所述的数据分布式存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010028284.0A CN111262916B (zh) | 2020-01-10 | 2020-01-10 | 数据分布式存储方法、装置、存储节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010028284.0A CN111262916B (zh) | 2020-01-10 | 2020-01-10 | 数据分布式存储方法、装置、存储节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111262916A CN111262916A (zh) | 2020-06-09 |
CN111262916B true CN111262916B (zh) | 2022-11-08 |
Family
ID=70945159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010028284.0A Active CN111262916B (zh) | 2020-01-10 | 2020-01-10 | 数据分布式存储方法、装置、存储节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111262916B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338716B (zh) * | 2021-12-14 | 2024-02-13 | 浙江清华长三角研究院 | 一种灵活务工场景下的用户原始数据的分布式存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064649A (zh) * | 2007-02-02 | 2007-10-31 | 华为技术有限公司 | 选举超级节点、搜索网络节点或资源的方法、装置及系统 |
CN101753610A (zh) * | 2008-12-19 | 2010-06-23 | 华为技术有限公司 | 分布式网络构造方法、装置和系统以及任务处理方法 |
CN102271144A (zh) * | 2010-06-01 | 2011-12-07 | 中兴通讯股份有限公司 | P2p叠加网络及其数据资源操作方法和新节点加入方法 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190715A1 (en) * | 2005-02-22 | 2006-08-24 | Microsoft Corporation | Peer-to-peer network information retrieval |
WO2008102195A1 (en) * | 2007-02-22 | 2008-08-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Consistent and fault tolerant distributed hash table (dht) overlay network |
US10945166B2 (en) * | 2017-04-07 | 2021-03-09 | Vapor IO Inc. | Distributed processing for determining network paths |
-
2020
- 2020-01-10 CN CN202010028284.0A patent/CN111262916B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064649A (zh) * | 2007-02-02 | 2007-10-31 | 华为技术有限公司 | 选举超级节点、搜索网络节点或资源的方法、装置及系统 |
CN101753610A (zh) * | 2008-12-19 | 2010-06-23 | 华为技术有限公司 | 分布式网络构造方法、装置和系统以及任务处理方法 |
CN102271144A (zh) * | 2010-06-01 | 2011-12-07 | 中兴通讯股份有限公司 | P2p叠加网络及其数据资源操作方法和新节点加入方法 |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
Non-Patent Citations (1)
Title |
---|
基于KAD网络的P2P流媒体点播系统节点路由算法的研究和改进;钟林林等;《计算机应用与软件》;20090415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111262916A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
US10846185B2 (en) | Method for processing acquire lock request and server | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
US9413588B2 (en) | Resource tracking | |
US20200409584A1 (en) | Load balancing for scalable storage system | |
CN111737230A (zh) | 数据校验方法、装置、电子设备以及可读存储介质 | |
CN110633168A (zh) | 一种分布式存储系统的数据备份方法和系统 | |
CN104636437A (zh) | 一种事件通知方法、监听器的处理方法及装置 | |
CN116578746A (zh) | 对象去重方法及装置 | |
CN108133034B (zh) | 共享存储访问方法及相关装置 | |
CN111262916B (zh) | 数据分布式存储方法、装置、存储节点及存储介质 | |
CN112511634A (zh) | 一种数据获取方法、装置、电子设备及存储介质 | |
US8554889B2 (en) | Method, system and apparatus for managing computer identity | |
CN113986835A (zh) | FastDFS分布式文件的管理方法、装置、设备及存储介质 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN113726546B (zh) | 配置方法、装置、系统、计算设备及存储介质 | |
CN109189403B (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN108846085B (zh) | 一种id生成方法、装置、电子设备及系统 | |
CN109460182B (zh) | 一种数据存储、读取方法及装置 | |
CN108241685B (zh) | 数据查询的方法和查询客户端 | |
CN112969198A (zh) | 数据传输方法、终端及存储介质 | |
CN111858588A (zh) | 一种分布式应用索引服务平台及数据处理方法 | |
CN116756108A (zh) | 一种文件同步方法、系统、装置及可读存储介质 | |
US9418097B1 (en) | Listener event consistency points |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |