CN111352938A - 数据处理方法、计算机设备及存储介质 - Google Patents

数据处理方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN111352938A
CN111352938A CN202010120322.5A CN202010120322A CN111352938A CN 111352938 A CN111352938 A CN 111352938A CN 202010120322 A CN202010120322 A CN 202010120322A CN 111352938 A CN111352938 A CN 111352938A
Authority
CN
China
Prior art keywords
node
data
query
subdata
identifier
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
Application number
CN202010120322.5A
Other languages
English (en)
Other versions
CN111352938B (zh
Inventor
王志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN202010120322.5A priority Critical patent/CN111352938B/zh
Publication of CN111352938A publication Critical patent/CN111352938A/zh
Application granted granted Critical
Publication of CN111352938B publication Critical patent/CN111352938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据处理方法,包括:接收数据查询请求;根据预设的路由算法,查找存储有子数据的第一节点;向第一节点发送第一数据获取请求,并接收第一节点返回的第一数据标识和第一子数据;向第二节点发送携带有第一数据标识的第二数据获取请求,并接收第二节点返回的第二数据标识和第二子数据;向第三节点发送携带有第一数据标识和第二数据标识的第三数据获取请求,并接收第三节点返回的第三数据标识和第三子数据;判断数据查询是否结束;若数据查询结束,输出第一子数据、第二子数据以及第三子数据。本发明还提供一种计算机设备及存储介质。本发明能减少数据冗余,同时,提高数据的查询效率。

Description

数据处理方法、计算机设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、计算机设备及存储介质。
背景技术
DHT(Distributed Hash Table,分布式哈希表)是一种分布式存储方法,网络中的每个节点都具有存储功能,同时每个节点通过本身的路由表可以进行数据查找。
实践中发现,在进行数据查找时,向多个节点请求数据通常都是全量请求,而每个节点存储的数据可能会存在部分或全部相同,这将会产生大量的数据冗余,同时,也会降低数据的查询效率。
发明内容
鉴于以上内容,有必要提供一种数据处理方法、计算机设备及存储介质,能够减少数据冗余,同时,提高数据的查询效率。
本发明的第一方面提供一种数据处理方法,应用于查询节点,所述方法包括:
接收数据查询请求,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成;
根据预设的路由算法,查找存储有所述子数据的第一节点;
向所述第一节点发送第一数据获取请求,并接收所述第一节点返回的第一数据标识和第一子数据;
向第二节点发送携带有所述第一数据标识的第二数据获取请求,并接收所述第二节点返回的第二数据标识和第二子数据,其中,所述第二数据标识与所述第一数据标识不同;
向第三节点发送携带有所述第一数据标识和所述第二数据标识的第三数据获取请求,并接收所述第三节点返回的第三数据标识和第三子数据,其中,所述第三数据标识与所述第一数据标识、第二数据标识均不同;
判断数据查询是否结束;
若数据查询结束,输出所述第一子数据、所述第二子数据以及所述第三子数据。
在一种可能的实现方式中,所述方法还包括:
接收所述第一节点返回的节点列表,所述节点列表包括存储有所述多个子数据的多个存储节点,其中,所述第二节点以及所述第三节点均属于所述节点列表。
在一种可能的实现方式中,所述第二节点为根据所述路由算法查找到的节点,所述第三节点为根据所述路由算法查找到的节点。
在一种可能的实现方式中,所述判断数据查询是否结束包括:
获取数据查询的查询时间;
若所述查询时间超过预设时间阈值,对所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验;
若校验结果表明数据完整,确定数据查询结束。
本发明的第二方面提供一种数据处理方法,应用于存储节点,所述方法包括:
接收查询节点发送的携带有第一数据标识的数据获取请求;
将所述第一数据标识与本地存储的预设数据标识进行比较,确定所述查询节点缺失的第二数据标识;
将所述第二数据标识以及所述第二数据标识对应的数据发送给所述查询节点。
在一种可能的实现方式中,所述方法还包括:
将本地存储的节点列表发送给所述查询节点,所述节点列表包括存储有数据的多个存储节点。
在一种可能的实现方式中,所述接收查询节点发送的携带有第一数据标识的数据获取请求之前,所述方法还包括:
查询存储有数据的多个存储节点;
建立由所述多个存储节点组成的节点列表;
将所述节点列表存储在本地,并将所述节点列表同步至所述节点列表中的其他存储节点。
在一种可能的实现方式中,所述方法还包括:
检测所述节点列表中的多个存储节点的状态是否发生改变;
若所述节点列表中的多个存储节点的状态发生改变,更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点。
本发明的第三方面提供一种计算机设备,所述计算机设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据处理方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据处理方法。
由以上技术方案,本发明中,在接收到数据查询请求时,查询节点不会对所有的节点进行数据的全量请求,而是先接收到第一节点返回的第一数据标识和第一子数据之后,将第一数据标识发送给第二节点,以便第二节点根据第一数据标识确定查询节点缺失的第二数据标识,并将第二数据标识对应的第二子数据返回给查询节点,同样,在向第三节点请求数据时,也是数据的部分请求,第三节点返回查询节点缺失的数据,如此,每个节点返回的数据均是不同的,从而可以减少数据的冗余,同时,由于减少了数据的查询时间和传输时间,从而可以提高数据的查询效率。
附图说明
图1是本发明公开的一种数据处理方法的较佳实施例的流程图。
图2是本发明公开的另一种数据处理方法的较佳实施例的流程图。
图3是本发明公开的一种计算机装置的较佳实施例的功能模块图。
图4是本发明公开的另一种计算机装置的较佳实施例的功能模块图。
图5是本发明公开的一种实现数据处理方法的较佳实施例的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
其中,查询节点可以是服务器或者电子设备,存储节点可以是服务器或电子设备。
其中,服务器可以是指能对网络中其它设备提供服务的计算机系统。如果一个个人电脑能够对外提供文件传输协议(File Transfer Protocol,简称FTP)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。
电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA等。
请参见图1,图1是本发明公开的一种数据处理方法的较佳实施例的流程图。其中,所述数据处理方法应用于查询节点。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、查询节点接收数据查询请求。
其中,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成。
其中,所述查询节点属于DHT(Distributed Hash Table,分布式哈希表)网络中的任一个网络节点,所述DHT网络可以看成是一个Key-Value数据库,所述DHT网络中的所有网络节点可以分布式地存储数据,即每个网络节点只存储一部分数据。数据以Key-Value的形式存储,其中,Key为网络节点的节点标识(比如节点IP地址),Value为该网络节点存储的数据。
本发明中,目标数据在进行存储时,是分布式地将各个子数据存储在多个存储节点上的,每个存储节点上可以存储相同或者不同的子数据。
S12、查询节点根据预设的路由算法,查找存储有所述子数据的第一节点。
本发明中,查询节点在接收到数据查询请求后,可以先根据预设的路由算法来查找存储有所述子数据的第一节点,其中,所述第一节点上的子数据可以为所述目标节点包括的多个子数据中的任一个子数据。
其中,所述路由算法比如Chord算法、KAD算法(Kademlia)。
查询节点可以根据路由算法,在DHT网络的网络节点之间进行迭代,查找哈希距离较近的节点。具体的,可以对数据进行哈希运算,获得第一哈希值,以及对节点的IP地址进行哈希运算,获得第二哈希值,并将第一哈希值与第二哈希值进行比较,若二者距离较近,可以确定该节点为查找到的节点。
其中,查询节点查找到的第一节点可以是一个节点,也可以是多个节点。
S13、查询节点向所述第一节点发送第一数据获取请求,并接收所述第一节点返回的第一数据标识和第一子数据。
本发明中,查询节点在查找到第一节点之后,即可向所述第一节点发送第一数据获取请求,第一节点接收到该第一数据获取请求之后,即可向所述第一节点返回第一数据标识和第一子数据,其中,所述第一数据标识与所述第一子数据相对应。所述第一数据标识可以是一个包括多个数据标识的标识列表。其中,第二节点在进行数据存储时,可以预先为每个数据设置数据标识。
具体的,所述第一节点在返回数据时,可以先在头包中返回第一数据标识,该第一数据标识用于标识节点存储的数据,然后,在分包返回第一数据标识对应的第一子数据。
其中,查询节点可以将接收到的第一数据标识缓存在本地,同时,将第一数据标识缓存在预先创建的全局标识列表中,后续可以以全局标识列表作为查询条件,向其他节点发送数据获取请求。其中,所述全局标识列表的初始值为空。
S14、查询节点向第二节点发送携带有所述第一数据标识的第二数据获取请求,并接收所述第二节点返回的第二数据标识和第二子数据。
本发明中,所述第二节点可以是查询节点根据所述路由算法查找到的节点,所述第二节点可以是一个也可以是多个。
作为一种可选的实施方式,所述方法还包括:
接收所述第一节点返回的节点列表,所述节点列表包括存储有所述多个子数据的多个存储节点;其中,所述第二节点属于所述节点列表。
在该实施方式中,第二节点可以不需要通过路由查找,而是直接根据接收到的节点列表,从该节点列表中选择第二节点,从而可以节省路由查找的时间。
其中,每个存储节点可以预先存储有节点列表,该节点列表中的每个存储节点都存储有用户需要查询的部分子数据,其中,该节点列表还可以包括每个存储节点的节点IP地址,端口。当查询节点接收到第一节点返回的节点列表时,查询节点就可以根据节点列表确定哪些节点上存储有数据,就可以直接向节点列表中的节点发送数据获取请求,而不需要经过路由查找节点。
为了避免向所有的节点进行数据的全量请求,查询节点可以接收到的第一数据标识作为查询条件,向第二节点发送第二数据获取请求,第二节点接收到该第二数据获取请求之后,可以将所述第一数据标识与本地存储的预设数据标识进行比较,以确定所述查询节点缺失的第二数据标识,即所述第二数据标识与所述第一数据标识不同,并向查询节点返回第二数据标识以及所述第二数据标识对应的第二子数据。
同时,第二节点还可以向查询节点返回节点列表,第二节点存储的节点列表与第一节点存储的节点列表相同。
其中,查询节点还可以将第二数据标识缓存在本地,同时,将第二数据标识缓存在全局标识列表中。
S15、查询节点向第三节点发送携带有所述第一数据标识和所述第二数据标识的第三数据获取请求,并接收所述第三节点返回的第三数据标识和第三子数据。
本发明中,所述第三节点可以是查询节点根据所述路由算法查找到的节点,所述第三节点可以是一个也可以是多个。需要说明的是,如果是通过路由算法查找节点,在查找到节点时,可以立即向该节点发送数据获取请求,而不需要等待所有的节点全部查找后再发送数据获取请求。
可选的,所述第三节点可以属于所述节点列表,即查询节点在接收到节点列表之后,可以依次从节点列表中选择第二节点、第三节点,并向选择的节点发送数据获取请求,而不需要经过路由查找,从而可以节省路由查找的时间。
其中,查询节点可以以全局标识列表作为查询条件,向第三节点发送第三数据获取请求,其中,该全局标识列表包括所述第一数据标识和所述第二数据标识,第三节点接收到该第三数据获取请求之后,可以将所述第一数据标识、第二数据标识与本地存储的预设数据标识进行比较,以确定所述查询节点缺失的第三数据标识,即所述第三数据标识与所述第一数据标识、第二数据标识均不同,并向查询节点返回第三数据标识以及所述第三数据标识对应的第三子数据。
同时,第三节点还可以向查询节点返回节点列表,第三节点存储的节点列表与第一节点、第二节点存储的节点列表相同。
其中,查询节点还可以将第三数据标识缓存在本地,同时,将第三数据标识缓存在全局标识列表中。
需要说明的是,上述的第一节点、第二节点以及第三节点只是一个示例,本发明在查询数据时,可以参考上述的数据查询方式,向其他的节点发送数据获取请求,直至查询结束。
S16、查询节点判断数据查询是否结束。
本发明中,查询节点在进行数据查询时,可以通过多种方式来确定数据查询是否结束。如果节点列表中的所有节点或者路由查找到的所有节点均请求完毕,可以确定数据查询结束。
可选的,所述判断数据查询是否结束包括:
获取数据查询的查询时间;
若所述查询时间超过预设时间阈值,对所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验;
若校验结果表明数据完整,确定数据查询结束。
在该实施方式中,可以预先设置预设时间阈值,在进行数据查询时,可以统计查询时间,并不断的将查询时间与预设时间阈值进行比较,如果所述查询时间超过预设时间阈值,表明查询超时,此时,可以先对接收到的所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验,具体的,可以根据哈希算法进行数据完整性校验。如果校验结果表明接收到的所述第一子数据、第二子数据以及所述第三子数据为完整的数据,即所述第一子数据、第二子数据以及所述第三子数据可以组成完整的目标数据,则可以确定数据查询结束,此时,如果还有其他的节点还未返回数据,则不需要继续等待,即可结束数据查询,从而可以提高数据查询的效率。
S17、若数据查询结束,查询节点输出所述第一子数据、所述第二子数据以及所述第三子数据。
本发明中,如果数据查询结束,即可将接收到的数据(即所述第一子数据、第二子数据以及所述第三子数据)全部输出,以响应数据查询请求。
需要说明的是,所述第一子数据、所述第二子数据以及所述第三子数据只是一个示例,查询节点还可以接收其他节点返回的子数据并输出。在数据查询结束后,查询节点可以将所有接收到的子数据进行输出。
在图1所描述的方法流程中,在接收到数据查询请求时,查询节点不会对所有的节点进行数据的全量请求,而是先接收到第一节点返回的第一数据标识和第一子数据之后,将第一数据标识发送给第二节点,以便第二节点根据第一数据标识确定查询节点缺失的第二数据标识,并将第二数据标识对应的第二子数据返回给查询节点,同样,在向第三节点请求数据时,也是数据的部分请求,第三节点返回查询节点缺失的数据,如此,每个节点返回的数据均是不同的,从而可以减少数据的冗余,同时,由于减少了数据的查询时间和传输时间,从而可以提高数据的查询效率。
请参见图2,图2是本发明公开的另一种数据处理方法的较佳实施例的流程图。其中,所述数据处理方法应用于存储节点。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S21,存储节点接收查询节点发送的携带有第一数据标识的数据获取请求。
其中,所述第一数据标识为查询节点从其他存储节点接收到的。为了避免向所有的节点进行数据的全量请求,查询节点可以将接收到的第一数据标识作为查询条件,向存储节点发送数据获取请求。
S22,存储节点将所述第一数据标识与本地存储的预设数据标识进行比较,确定所述查询节点缺失的第二数据标识。
其中,每个存储节点预先可以为自己存储的数据设置数据标识,并将设置的数据标识存储在本地。
存储节点在接收到所述第一数据标识后,即可将所述第一数据标识与本地存储的预设数据标识进行比较,判断预设数据标识中的哪些标识是与所述第一数据标识不同的,即可确定所述查询节点缺失的第二数据标识。
S23,存储节点将所述第二数据标识以及所述第二数据标识对应的数据发送给所述查询节点。
具体的,存储节点在返回数据时,可以先在头包中返回第二数据标识,该第二数据标识用于标识节点存储的数据,然后,在分包返回第二数据标识对应的数据。
作为一种可选的实施方式,所述方法还包括:
将本地存储的节点列表发送给所述查询节点,所述节点列表包括存储有数据的多个存储节点。
其中,每个存储节点在返回数据时,同时也会将本地存储的节点列表发送给所述查询节点,以便查询节点能够根据节点列表直接向节点列表中的其他存储节点发送数据获取请求,而不需要通过路由查找的方式查找节点,从而可以节省节点查找的时间。其中,所述节点列表包括存储有数据的多个存储节点。
作为一种可选的实施方式,所述接收查询节点发送的携带有第一数据标识的数据获取请求之前,所述方法还包括:
查询存储有数据的多个存储节点;
建立由所述多个存储节点组成的节点列表;
将所述节点列表存储在本地,并将所述节点列表同步至所述节点列表中的其他存储节点。
在该实施方式中,可以预先通过路由查找的方式查询存储有数据的多个存储节点,并根据多个存储节点建立节点列表,在该节点列表中,可以存储节点信息,比如节点的IP地址,端口等。
存储节点在进行数据存储时,可以将key、value以及节点列表一并保存。为了区分value和节点列表的信息,可以在头包中添加协议字段,封装节点列表在进行传递。存储时,可以开辟新的存储空间,用于存储该节点列表。
本发明中,可以先经过路由查找方式查找到哈希距离较近的多个存储节点,进而根据该多个存储节点创建节点列表,在将节点列表同步至所有查找到的存储节点,后续在进行数据存储或者数据查询时,可以根据节点列表来查找其他的节点,从而可以避免在进行数据存储或数据查询时查找到的节点不一致的问题。
作为一种可选的实施方式,所述方法还包括:
检测所述节点列表中的多个存储节点的状态是否发生改变;
若所述节点列表中的多个存储节点的状态发生改变,更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点。
在该实施方式中,存储节点需要对每隔预设时间检测所述节点列表中的多个存储节点的状态是否发生改变,以对节点列表中的多个存储节点进行维护,具体的,可以向节点列表中的其他存储节点发送通信请求,若接收到某个存储节点的响应,可以确定该某个存储节点未发生改变,若未接收到某个存储节点的响应,可以确定节点该某个存储节点发生了变动,比如节点下线。
可以根据检测的结果,来更新节点列表。具体的,若所述节点列表中的多个存储节点的状态发生改变,将发生变动的存储节点删除,以更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点,这样可以确保未发生改变的每个存储节点存储的节点列表都是同步一致的。
在图2所描述的方法流程中,存储节点可以将接收到的数据标识与本地存储的数据标识进行比较,以确定查询节点缺失的数据标识,并将缺失的数据标识以及相应数据一并返回给查询节点,从而可以避免大量数据的冗余,同时,也提高了数据的查询效率。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图3,图3是本发明公开的一种计算机装置的较佳实施例的功能模块图。
在一些实施例中,所述计算机装置运行于查询节点中。所述计算机装置可以包括多个由程序代码段所组成的功能模块。所述计算机装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的数据处理方法中的部分或全部步骤。
本实施例中,所述计算机装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块301、查找模块302、发送模块303、判断模块304以及输出模块305。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在本实施例中详述。
接收模块301,用于接收数据查询请求,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成。
其中,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成。
其中,所述查询节点属于DHT(Distributed Hash Table,分布式哈希表)网络中的任一个网络节点,所述DHT网络可以看成是一个Key-Value数据库,所述DHT网络中的所有网络节点可以分布式地存储数据,即每个网络节点只存储一部分数据。数据以Key-Value的形式存储,其中,Key为网络节点的节点标识(比如节点IP地址),Value为该网络节点存储的数据。
本发明中,目标数据在进行存储时,是分布式地将各个子数据存储在多个存储节点上的,每个存储节点上可以存储相同或者不同的子数据。
查找模块302,用于根据预设的路由算法,查找存储有所述子数据的第一节点。
本发明中,查询节点在接收到数据查询请求后,可以先根据预设的路由算法来查找存储有所述子数据的第一节点,其中,所述第一节点上的子数据可以为所述目标节点包括的多个子数据中的任一个子数据。
其中,所述路由算法比如Chord算法、KAD算法(Kademlia)。
查询节点可以根据路由算法,在DHT网络的网络节点之间进行迭代,查找哈希距离较近的节点。具体的,可以对数据进行哈希运算,获得第一哈希值,以及对节点的IP地址进行哈希运算,获得第二哈希值,并将第一哈希值与第二哈希值进行比较,若二者距离较近,可以确定该节点为查找到的节点。
其中,查询节点查找到的第一节点可以是一个节点,也可以是多个节点。
发送模块303,用于向所述第一节点发送第一数据获取请求。
所述接收模块301,还用于并接收所述第一节点返回的第一数据标识和第一子数据。
本发明中,查询节点在查找到第一节点之后,即可向所述第一节点发送第一数据获取请求,第一节点接收到该第一数据获取请求之后,即可向所述第一节点返回第一数据标识和第一子数据,其中,所述第一数据标识与所述第一子数据相对应。所述第一数据标识可以是一个包括多个数据标识的标识列表。其中,第二节点在进行数据存储时,可以预先为每个数据设置数据标识。
具体的,所述第一节点在返回数据时,可以先在头包中返回第一数据标识,该第一数据标识用于标识节点存储的数据,然后,在分包返回第一数据标识对应的第一子数据。
其中,查询节点可以将接收到的第一数据标识缓存在本地,同时,将第一数据标识缓存在预先创建的全局标识列表中,后续可以以全局标识列表作为查询条件,向其他节点发送数据获取请求。其中,所述全局标识列表的初始值为空。
所述发送模块303,还用于向第二节点发送携带有所述第一数据标识的第二数据获取请求。所述接收模块301,还用于接收所述第二节点返回的第二数据标识和第二子数据,其中,所述第二数据标识与所述第一数据标识不同。
本发明中,所述第二节点可以是查询节点根据所述路由算法查找到的节点,所述第二节点可以是一个也可以是多个。
可选的,所述接收模块301,还用于接收所述第一节点返回的节点列表,所述节点列表包括存储有所述多个子数据的多个存储节点;其中,所述第二节点属于所述节点列表。
在该实施方式中,第二节点可以不需要通过路由查找,而是之间根据接收到的节点列表,从该节点列表中选择第二节点,从而可以节省路由查找的时间。
其中,每个存储节点可以预先存储有节点列表,该节点列表中的每个存储节点都存储有用户需要查询的部分子数据,其中,该节点列表还可以包括每个存储节点的节点IP地址,端口。当查询节点接收到第一节点返回的节点列表时,查询节点就可以根据节点列表确定哪些节点上存储有数据,就可以直接向节点列表中的节点发送数据获取请求,而不需要经过路由查找节点。
为了避免向所有的节点进行数据的全量请求,查询节点可以接收到的第一数据标识作为查询条件,向第二节点发送第二数据获取请求,第二节点接收到该第二数据获取请求之后,可以将所述第一数据标识与本地存储的预设数据标识进行比较,以确定所述查询节点缺失的第二数据标识,即所述第二数据标识与所述第一数据标识不同,并向查询节点返回第二数据标识以及所述第二数据标识对应的第二子数据。
同时,第二节点还可以向查询节点返回节点列表,第二节点存储的节点列表与第一节点存储的节点列表相同。
其中,查询节点还可以将第二数据标识缓存在本地,同时,将第二数据标识缓存在全局标识列表中。
所述发送模块303,还用于向第三节点发送携带有所述第一数据标识和所述第二数据标识的第三数据获取请求。所述接收模块301,还用于接收所述第三节点返回的第三数据标识和第三子数据,其中,所述第三数据标识与所述第一数据标识、第二数据标识均不同。
本发明中,所述第三节点可以是查询节点根据所述路由算法查找到的节点,所述第三节点可以是一个也可以是多个。需要说明的是,如果是通过路由算法查找节点,在查找到节点时,可以立即向该节点发送数据获取请求,而不需要等待所有的节点全部查找后再发送数据获取请求。
可选的,所述第三节点可以属于所述节点列表,即查询节点在接收到节点列表之后,可以依次从节点列表中选择第二节点、第三节点,并向选择的节点发送数据获取请求,而不需要经过路由查找,从而可以节省路由查找的时间。
其中,查询节点可以以全局标识列表作为查询条件,向第三节点发送第三数据获取请求,其中,该全局标识列表包括所述第一数据标识和所述第二数据标识,第三节点接收到该第三数据获取请求之后,可以将所述第一数据标识、第二数据标识与本地存储的预设数据标识进行比较,以确定所述查询节点缺失的第三数据标识,即所述第三数据标识与所述第一数据标识、第二数据标识均不同,并向查询节点返回第三数据标识以及所述第三数据标识对应的第三子数据。
同时,第三节点还可以向查询节点返回节点列表,第三节点存储的节点列表与第一节点、第二节点存储的节点列表相同。
其中,查询节点还可以将第三数据标识缓存在本地,同时,将第三数据标识缓存在全局标识列表中。
需要说明的是,上述的第一节点、第二节点以及第三节点只是一个示例,本发明在查询数据时,可以参考上述的数据查询方式,向其他的节点发送数据获取请求,直至查询结束。
判断模块304,用于判断数据查询是否结束。
本发明中,查询节点在进行数据查询时,可以通过多种方式来确定数据查询是否结束。如果节点列表中的所有节点或者路由查找到的所有节点均请求完毕,可以确定数据查询结束。
可选的,所述判断模块304判断数据查询是否结束包括:
获取数据查询的查询时间;
若所述查询时间超过预设时间阈值,对所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验;
若校验结果表明数据完整,确定数据查询结束。
在该实施方式中,可以预先设置预设时间阈值,在进行数据查询时,可以统计查询时间,并不断的将查询时间与预设时间阈值进行比较,如果所述查询时间超过预设时间阈值,表明查询超时,此时,可以先对接收到的所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验,具体的,可以根据哈希算法进行数据完整性校验。如果校验结果表明接收到的所述第一子数据、第二子数据以及所述第三子数据为完整的数据,即所述第一子数据、第二子数据以及所述第三子数据可以组成完整的目标数据,则可以确定数据查询结束,此时,如果还有其他的节点还未返回数据,则不需要继续等待,即可结束数据查询,从而可以提高数据查询的效率。
输出模块305,用于若数据查询结束,输出所述第一子数据、所述第二子数据以及所述第三子数据。
本发明中,如果数据查询结束,即可将接收到的数据(即所述第一子数据、第二子数据以及所述第三子数据)全部输出,以响应数据查询请求。
需要说明的是,所述第一子数据、所述第二子数据以及所述第三子数据只是一个示例,查询节点还可以接收其他节点返回的子数据并输出。在数据查询结束后,查询节点可以将所有接收到的子数据进行输出。
在图3所描述的计算机装置中,在接收到数据查询请求时,查询节点不会对所有的节点进行数据的全量请求,而是先接收到第一节点返回的第一数据标识和第一子数据之后,将第一数据标识发送给第二节点,以便第二节点根据第一数据标识确定查询节点缺失的第二数据标识,并将第二数据标识对应的第二子数据返回给查询节点,同样,在向第三节点请求数据时,也是数据的部分请求,第三节点返回查询节点缺失的数据,如此,每个节点返回的数据均是不同的,从而可以减少数据的冗余,同时,由于减少了数据的查询时间和传输时间,从而可以提高数据的查询效率。
请参见图4,图4是本发明公开的另一种计算机装置的较佳实施例的功能模块图。
在一些实施例中,所述计算机装置运行于存储节点中。所述计算机装置可以包括多个由程序代码段所组成的功能模块。所述计算机装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图2所描述的数据处理方法中的部分或全部步骤。
本实施例中,所述计算机装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块401、确定模块402以及发送模块403。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在本实施例中详述。
接收模块401,用于接收查询节点发送的携带有第一数据标识的数据获取请求。
其中,所述第一数据标识为查询节点从其他存储节点接收到的。为了避免向所有的节点进行数据的全量请求,查询节点可以将接收到的第一数据标识作为查询条件,向存储节点发送数据获取请求。
确定模块402,用于将所述第一数据标识与本地存储的预设数据标识进行比较,确定所述查询节点缺失的第二数据标识。
其中,每个存储节点预先可以为自己存储的数据设置数据标识,并将设置的数据标识存储在本地。
存储节点在接收到所述第一数据标识后,即可将所述第一数据标识与本地存储的预设数据标识进行比较,判断预设数据标识中的哪些标识是与所述第一数据标识不同的,即可确定所述查询节点缺失的第二数据标识。
发送模块403,用于将所述第二数据标识以及所述第二数据标识对应的数据发送给所述查询节点。
具体的,存储节点在返回数据时,可以先在头包中返回第二数据标识,该第二数据标识用于标识节点存储的数据,然后,在分包返回第二数据标识对应的数据。
可选的,所述发送模块403,还用于将本地存储的节点列表发送给所述查询节点,所述节点列表包括存储有数据的多个存储节点。
其中,每个存储节点在返回数据时,同时也会将本地存储的节点列表发送给所述查询节点,以便查询节点能够根据节点列表直接向节点列表中的其他存储节点发送数据获取请求,而不需要通过路由查找的方式查找节点,从而可以节省节点查找的时间。其中,所述节点列表包括存储有数据的多个存储节点。
可选的,所述计算机装置还包括:
查询模块,用于在所述接收模块接收查询节点发送的携带有第一数据标识的数据获取请求之前,查询存储有数据的多个存储节点;
建立模块,用于建立由所述多个存储节点组成的节点列表;
存储模块,用于将所述节点列表存储在本地;
同步模块,用于将所述节点列表同步至所述节点列表中的其他存储节点。
在该实施方式中,可以预先通过路由查找的方式查询存储有数据的多个存储节点,并根据多个存储节点建立节点列表,在该节点列表中,可以存储节点信息,比如节点的IP地址,端口等。
存储节点在进行数据存储时,可以将key、value以及节点列表一并保存。为了区分value和节点列表的信息,可以在头包中添加协议字段,封装节点列表在进行传递。存储时,可以开辟新的存储空间,用于存储该节点列表。
本发明中,可以先经过路由查找方式查找到哈希距离较近的多个存储节点,进而根据该多个存储节点创建节点列表,在将节点列表同步至所有查找到的存储节点,后续在进行数据存储或者数据查询时,可以根据节点列表来查找其他的节点,从而可以避免在进行数据存储或数据查询时查找到的节点不一致的问题。
可选的,所述计算机装置还包括:
检测模块,用于检测所述节点列表中的多个存储节点的状态是否发生改变;
更新模块,用于若所述节点列表中的多个存储节点的状态发生改变,更新所述节点列表;
所述同步模块,还用于将更新后的节点列表同步至未发生改变的其他存储节点。
在该实施方式中,存储节点需要对每隔预设时间检测所述节点列表中的多个存储节点的状态是否发生改变,以对节点列表中的多个存储节点进行维护,具体的,可以向节点列表中的其他存储节点发送通信请求,若接收到某个存储节点的响应,可以确定该某个存储节点未发生改变,若未接收到某个存储节点的响应,可以确定节点该某个存储节点发生了变动,比如节点下线。
可以根据检测的结果,来更新节点列表。具体的,若所述节点列表中的多个存储节点的状态发生改变,将发生变动的存储节点删除,以更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点,这样可以确保未发生改变的每个存储节点存储的节点列表都是同步一致的。
在图4所描述的计算机装置中,存储节点可以将接收到的数据标识与本地存储的数据标识进行比较,以确定查询节点缺失的数据标识,并将缺失的数据标识以及相应数据一并返回给查询节点,从而可以避免大量数据的冗余,同时,也提高了数据的查询效率。
如图5所示,图5是本发明实现数据处理方法的较佳实施例的计算机设备的结构示意图。其中,所述计算机设备为查询节点,或者,所述计算机设备为存储节点。所述计算机设备5包括存储器51、至少一个处理器52、存储在所述存储器51中并可在所述至少一个处理器52上运行的计算机程序53及至少一条通讯总线54。
本领域技术人员可以理解,图5所示的示意图仅仅是所述计算机设备5的示例,并不构成对所述计算机设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备5还可以包括输入输出设备、网络接入设备等。
所述至少一个处理器52可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器52可以是微处理器或者该处理器52也可以是任何常规的处理器等,所述处理器52是所述计算机设备5的控制中心,利用各种接口和线路连接整个计算机设备5的各个部分。
所述存储器51可用于存储所述计算机程序55和/或模块/单元,所述处理器52通过运行或执行存储在所述存储器51内的计算机程序和/或模块/单元,以及调用存储在存储器51内的数据,实现所述计算机设备5的各种功能。所述存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备5的使用所创建的数据(比如音频数据)等。此外,存储器51可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
结合图1,所述计算机设备5中的所述存储器51存储多个指令以实现一种数据处理方法,所述处理器52可执行所述多个指令从而实现:
接收数据查询请求,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成;
根据预设的路由算法,查找存储有所述子数据的第一节点;
向所述第一节点发送第一数据获取请求,并接收所述第一节点返回的第一数据标识和第一子数据;
向第二节点发送携带有所述第一数据标识的第二数据获取请求,并接收所述第二节点返回的第二数据标识和第二子数据,其中,所述第二数据标识与所述第一数据标识不同;
向第三节点发送携带有所述第一数据标识和所述第二数据标识的第三数据获取请求,并接收所述第三节点返回的第三数据标识和第三子数据,其中,所述第三数据标识与所述第一数据标识、第二数据标识均不同;
判断数据查询是否结束;
若数据查询结束,输出所述第一子数据、所述第二子数据以及所述第三子数据。
在一种可选的实施方式中,所述处理器52可执行所述多个指令从而实现:
接收所述第一节点返回的节点列表,所述节点列表包括存储有所述多个子数据的多个存储节点,其中,所述第二节点以及所述第三节点均属于所述节点列表。
在一种可选的实施方式中,所述处理器52可执行所述多个指令从而实现:
所述第二节点为根据所述路由算法查找到的节点,所述第三节点为根据所述路由算法查找到的节点。
在一种可选的实施方式中,所述判断数据查询是否结束包括:
获取数据查询的查询时间;
若所述查询时间超过预设时间阈值,对所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验;
若校验结果表明数据完整,确定数据查询结束。
具体地,所述处理器52对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
结合图2,所述计算机设备5中的所述存储器51存储多个指令以实现一种数据处理方法,所述处理器52可执行所述多个指令从而实现:
接收查询节点发送的携带有第一数据标识的数据获取请求;
将所述第一数据标识与本地存储的预设数据标识进行比较,确定所述查询节点缺失的第二数据标识;
将所述第二数据标识以及所述第二数据标识对应的数据发送给所述查询节点。
在一种可选的实施方式中,所述处理器52可执行所述多个指令从而实现:
将本地存储的节点列表发送给所述查询节点,所述节点列表包括存储有数据的多个存储节点。
在一种可选的实施方式中,所述接收查询节点发送的携带有第一数据标识的数据获取请求之前,所述处理器52可执行所述多个指令从而实现:
查询存储有数据的多个存储节点;
建立由所述多个存储节点组成的节点列表;
将所述节点列表存储在本地,并将所述节点列表同步至所述节点列表中的其他存储节点。
在一种可选的实施方式中,所述处理器52可执行所述多个指令从而实现:
检测所述节点列表中的多个存储节点的状态是否发生改变;
若所述节点列表中的多个存储节点的状态发生改变,更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点。
具体地,所述处理器52对上述指令的具体实现方法可参考图2对应实施例中相关步骤的描述,在此不赘述。
在图5所描述的计算机设备5中,在接收到数据查询请求时,查询节点不会对所有的节点进行数据的全量请求,而是先接收到第一节点返回的第一数据标识和第一子数据之后,将第一数据标识发送给第二节点,第二节点将接收到的第一数据标识与本地存储的数据标识进行比较,以便确定查询节点缺失的第二数据标识,并将第二数据标识对应的第二子数据返回给查询节点,同样,在向第三节点请求数据时,也是数据的部分请求,第三节点返回查询节点缺失的数据,如此,每个节点返回的数据均是不同的,从而可以减少数据的冗余,同时,由于减少了数据的查询时间和传输时间,因此,可以提高数据的查询效率。
所述计算机设备5集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器以及只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种数据处理方法,应用于查询节点,其特征在于,所述方法包括:
接收数据查询请求,所述数据查询请求用于请求目标数据,所述目标数据由多个子数据组成;
根据预设的路由算法,查找存储有所述子数据的第一节点;
向所述第一节点发送第一数据获取请求,并接收所述第一节点返回的第一数据标识和第一子数据;
向第二节点发送携带有所述第一数据标识的第二数据获取请求,并接收所述第二节点返回的第二数据标识和第二子数据,其中,所述第二数据标识与所述第一数据标识不同;
向第三节点发送携带有所述第一数据标识和所述第二数据标识的第三数据获取请求,并接收所述第三节点返回的第三数据标识和第三子数据,其中,所述第三数据标识与所述第一数据标识、第二数据标识均不同;
判断数据查询是否结束;
若数据查询结束,输出所述第一子数据、所述第二子数据以及所述第三子数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一节点返回的节点列表,所述节点列表包括存储有所述多个子数据的多个存储节点;
其中,所述第二节点以及所述第三节点均属于所述节点列表。
3.根据权利要求1所述的方法,其特征在于,所述第二节点为根据所述路由算法查找到的节点,所述第三节点为根据所述路由算法查找到的节点。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述判断数据查询是否结束包括:
获取数据查询的查询时间;
若所述查询时间超过预设时间阈值,对所述第一子数据、第二子数据以及所述第三子数据进行数据完整性校验;
若校验结果表明数据完整,确定数据查询结束。
5.一种数据处理方法,应用于存储节点,其特征在于,所述方法包括:
接收查询节点发送的携带有第一数据标识的数据获取请求;
将所述第一数据标识与本地存储的预设数据标识进行比较,确定所述查询节点缺失的第二数据标识;
将所述第二数据标识以及所述第二数据标识对应的数据发送给所述查询节点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将本地存储的节点列表发送给所述查询节点,所述节点列表包括存储有数据的多个存储节点。
7.根据权利要求6所述的方法,其特征在于,所述接收查询节点发送的携带有第一数据标识的数据获取请求之前,所述方法还包括:
查询存储有数据的多个存储节点;
建立由所述多个存储节点组成的节点列表;
将所述节点列表存储在本地,并将所述节点列表同步至所述节点列表中的其他存储节点。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
检测所述节点列表中的多个存储节点的状态是否发生改变;
若所述节点列表中的多个存储节点的状态发生改变,更新所述节点列表,并将更新后的节点列表同步至未发生改变的其他存储节点。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至4或5至8中任意一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至4或5至8中任意一项所述的数据处理方法。
CN202010120322.5A 2020-02-26 2020-02-26 数据处理方法、计算机设备及存储介质 Active CN111352938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010120322.5A CN111352938B (zh) 2020-02-26 2020-02-26 数据处理方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010120322.5A CN111352938B (zh) 2020-02-26 2020-02-26 数据处理方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111352938A true CN111352938A (zh) 2020-06-30
CN111352938B CN111352938B (zh) 2023-07-18

Family

ID=71194067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010120322.5A Active CN111352938B (zh) 2020-02-26 2020-02-26 数据处理方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111352938B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187963A (zh) * 2020-08-20 2021-01-05 深圳华数云计算技术有限公司 分布式哈希表实现方法、计算机装置和存储介质
CN114553885A (zh) * 2022-03-02 2022-05-27 上海弘玑信息技术有限公司 基于dht网络的存储方法及装置、电子设备、存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997726A (zh) * 2008-02-05 2011-03-30 华为技术有限公司 电信网络用户数据存储管理的方法及装置
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统
US20160323385A1 (en) * 2014-01-26 2016-11-03 Huawei Technologies Co., Ltd. Distributed Data Storage Method, Apparatus, and System
CN107315547A (zh) * 2017-07-18 2017-11-03 郑州云海信息技术有限公司 一种读取分布式元数据文件的方法及装置
CN108089816A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于负载均衡的查询式重复数据删除方法及装置
CN108093024A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于数据频度的分类路由方法及装置
CN108256076A (zh) * 2018-01-18 2018-07-06 广州大学 分布式海量数据处理方法及装置
CN108924250A (zh) * 2018-07-27 2018-11-30 江西贪玩信息技术有限公司 基于区块链的业务请求处理方法、装置和计算机设备
US20190347343A1 (en) * 2018-05-09 2019-11-14 Palantir Technologies Inc. Systems and methods for indexing and searching
CN110555698A (zh) * 2019-07-25 2019-12-10 深圳壹账通智能科技有限公司 数据处理方法、装置、计算机设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997726A (zh) * 2008-02-05 2011-03-30 华为技术有限公司 电信网络用户数据存储管理的方法及装置
CN102279777A (zh) * 2011-08-18 2011-12-14 成都市华为赛门铁克科技有限公司 数据冗余处理方法、装置和分布式存储系统
US20160323385A1 (en) * 2014-01-26 2016-11-03 Huawei Technologies Co., Ltd. Distributed Data Storage Method, Apparatus, and System
CN107315547A (zh) * 2017-07-18 2017-11-03 郑州云海信息技术有限公司 一种读取分布式元数据文件的方法及装置
CN108089816A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于负载均衡的查询式重复数据删除方法及装置
CN108093024A (zh) * 2017-11-14 2018-05-29 西北工业大学 一种基于数据频度的分类路由方法及装置
CN108256076A (zh) * 2018-01-18 2018-07-06 广州大学 分布式海量数据处理方法及装置
US20190347343A1 (en) * 2018-05-09 2019-11-14 Palantir Technologies Inc. Systems and methods for indexing and searching
CN108924250A (zh) * 2018-07-27 2018-11-30 江西贪玩信息技术有限公司 基于区块链的业务请求处理方法、装置和计算机设备
CN110555698A (zh) * 2019-07-25 2019-12-10 深圳壹账通智能科技有限公司 数据处理方法、装置、计算机设备和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HAIPING WANG 等: "Efficient data distribution strategy for join query processing in the cloud", 《CLOUDDB "11: PROCEEDINGS OF THE THIRD INTERNATIONAL WORKSHOP ON CLOUD DATA MANAGEMENT》 *
THOMAS PHAN 等: "Load distribution of analytical query workloads for database cluster architectures", 《EDBT "08: PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON EXTENDING DATABASE TECHNOLOGY: ADVANCES IN DATABASE TECHNOLOGY》 *
杨萌萌: "基于HDFS的结构化数据存储和查询方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
樊卫北: "基于RCFile的无线传感器网络数据存储与查询优化策略", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187963A (zh) * 2020-08-20 2021-01-05 深圳华数云计算技术有限公司 分布式哈希表实现方法、计算机装置和存储介质
CN112187963B (zh) * 2020-08-20 2023-02-28 深圳华数云计算技术有限公司 分布式哈希表实现方法、计算机装置和存储介质
CN114553885A (zh) * 2022-03-02 2022-05-27 上海弘玑信息技术有限公司 基于dht网络的存储方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN111352938B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
US7428587B2 (en) Generating globally unique device identification
CN107784044B (zh) 表数据查询方法及装置
WO2019165665A1 (zh) 一种域名解析方法、服务器及系统
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
CN107391758A (zh) 数据库切换方法、装置及设备
US11500851B2 (en) System and method for state object data store
CN111651424B (zh) 一种数据处理方法、装置、数据节点及存储介质
WO2015008450A1 (en) Directory service discovery and/or learning
WO2013091167A1 (zh) 日志存储方法及系统
CN111352938B (zh) 数据处理方法、计算机设备及存储介质
WO2021179488A1 (zh) 监控数据存储方法、设备、服务器及存储介质
CN102073733B (zh) 哈希表管理方法及装置
CN112860953A (zh) 图数据库的数据导入方法、装置、设备及存储介质
CN108399175B (zh) 一种数据存储、查询方法及其装置
CN104424316B (zh) 一种数据存储方法、数据查询方法、相关装置和系统
CN111131484A (zh) 节点挂载方法、装置、网络节点及存储介质
US10025859B2 (en) Method and system for second-degree friend query
CN111553669B (zh) 一种交易路由方法、装置及计算机可读存储介质
CN104702508A (zh) 表项动态更新方法及系统
CN116610676A (zh) 一种分布式系统中标识的生成方法、装置、设备及介质
CN115004665A (zh) 文件分享方法、装置及系统
CN111767481A (zh) 访问处理方法、装置、设备和存储介质
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
JP7392168B2 (ja) Cdnにおけるurlリフレッシュ方法、装置、機器及びcdnノード
CN115442439A (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
TA01 Transfer of patent application right

Effective date of registration: 20210913

Address after: 518057 floors 21-23, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, Keji South Road, community, high tech Zone, Yuehai street, Nanshan District, Shenzhen, Guangdong

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 5 / F, building 5, Weixin Software Park, No. 9, Gaoxin South ninth Road, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240619

Address after: 518000 Port Building 0610-E13, Maritime Center, No. 59, Linhai Avenue, Nanshan Street, Qianhai Shenzhen Hong Kong Cooperation Zone, Shenzhen, Guangdong

Patentee after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Country or region after: China

Address before: 518057 floors 21-23, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, Keji South Road, community, high tech Zone, Yuehai street, Nanshan District, Shenzhen, Guangdong

Patentee before: Xunlei Networking Technologies, Ltd.

Country or region before: China

Patentee before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.