CN112612793B - 资源查询方法、装置、节点设备及存储介质 - Google Patents

资源查询方法、装置、节点设备及存储介质 Download PDF

Info

Publication number
CN112612793B
CN112612793B CN202011566770.4A CN202011566770A CN112612793B CN 112612793 B CN112612793 B CN 112612793B CN 202011566770 A CN202011566770 A CN 202011566770A CN 112612793 B CN112612793 B CN 112612793B
Authority
CN
China
Prior art keywords
node
resource
identification information
target
storage node
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
Application number
CN202011566770.4A
Other languages
English (en)
Other versions
CN112612793A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202011566770.4A priority Critical patent/CN112612793B/zh
Publication of CN112612793A publication Critical patent/CN112612793A/zh
Application granted granted Critical
Publication of CN112612793B publication Critical patent/CN112612793B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/23Updating
    • 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

Landscapes

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

Abstract

本发明提供的资源查询方法、装置、节点设备及存储介质,方法包括:根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;进而向目标逻辑存储节点发送查询请求,用以指示目标逻辑存储节点在它的转换表中查询存储第一目标资源的目标物理存储节点;转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;第一目标资源存储于目标物理存储节点上;再接收目标逻辑存储节点反馈的包含目标物理存储节点的标识信息的查询响应,根据目标物理存储节点的标识信息,从目标物理存储节点获取第一目标资源。本发明中的资源不需要迁移到为其配置的逻辑存储节点上,消除了现有技术中的数据迁移过程,同时能够实现资源的快速查询。

Description

资源查询方法、装置、节点设备及存储介质
技术领域
本发明涉及分布式存储领域,具体而言,涉及一种资源查询方法、装置、节点设备及存储介质。
背景技术
分布式哈希将一个关键值的集合映射到分布式***的所有节点当中,并且可以进行快速的数据定位。基于分布式哈希可以构建各种复杂应用,例如分布式文件***,点对点技术文件分享***、合作的网页缓存、多播、任播、域名***以及即时通信等。
分布式哈希中目前应用较多的是Chord方法,Chord方法通过把网络虚拟成单一环形的拓扑结构,建立节点的NodeID(Node Identification,节点标识符)与资源关键字的KeyID(Key Identification,关键字标识符)之间的一一对应关系,从而实现资源的存储和查找。因此,需要将不同存储节点上存储的资源首先迁移到按照Chord协议指定的存储节点,建立各个资源与指定的存储节点的对应关系之后,才能够在查询阶段快速定位数据位置,这就需要消耗大量的带宽和时间来进行数据迁移。
发明内容
有鉴于此,本发明的目的之一是提供一种资源查询方法、装置、节点设备及存储介质,能够在不将资源迁移到为其配置的逻辑存储节点上的情况下实现快速查询资源的效果,消除了现有技术中的数据迁移过程,节省了带宽和查询时间。
本发明的技术方案可以这样实现:
第一方面,本发明提供一种资源查询方法,应用于第一节点,所述第一节点为分布式***中的任意一个节点,所述方法包括:根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;所述带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;所述目标逻辑存储节点被配置为所述第一目标资源的理论存储节点;向所述目标逻辑存储节点发送查询请求;所述查询请求用于指示所述目标逻辑存储节点在所述目标逻辑存储节点的转换表中查询目标物理存储节点;所述转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;所述第一目标资源存储于所述目标物理存储节点上;接收所述目标逻辑存储节点的查询响应,所述查询响应包含所述目标物理存储节点的标识信息;根据所述目标物理存储节点的标识信息,从所述目标物理存储节点获取所述第一目标资源。
可选地,所述方法还包括:根据全部本地资源和所述带弦环拓扑路由表,建立存储表;所述存储表用于维护本地资源的标识信息与所述本地资源对应的逻辑存储节点的标识信息的对应关系;向所述存储表中的全部逻辑存储节点发送第一消息;所述第一消息用于指示所述全部逻辑存储节点生成各自对应的转换表;接收第二节点发送的第二消息,所述第二消息中包含所述第二节点的本地资源的标识信息和所述第二节点的标识信息;所述第一节点被配置为所述第二节点的本地资源的理论存储节点;所述第二节点为所述分布式***中除所述第一节点外的至少一个节点;根据所述第二节点的本地资源的标识信息和所述第二节点的标识信息,建立所述第一节点的转换表。
可选地,所述方法还包括:当所述第一节点存在新增资源,根据所述新增资源的标识信息,在所述带弦环拓扑路由表中确定所述新增资源的逻辑存储节点;将所述新增资源的标识信息和所述新增资源的逻辑存储节点的标识信息更新至所述存储表;向所述新增资源的逻辑存储节点发送更新消息;所述更新消息用于指示所述新增资源的逻辑存储节点将所述新增资源的标识信息和所述第一节点的标识信息更新至所述新增资源的逻辑存储节点的转换表。
可选地,所述方法还包括:当所述第一节点删除所述本地资源,在所述存储表中,将被删除的所述本地资源的标识信息以及所述本地资源的逻辑存储节点的标识信息删除;向被删除的所述本地资源的逻辑存储节点发送删除消息;所述删除消息用于指示被删除的所述本地资源的逻辑存储节点在转换表中将所述被删除的本地资源的标识信息以及所述第一节点的标识信息删除。
可选地,所述方法还包括:接收所述第二节点的更新消息,所述更新消息包含新增资源的标识信息和所述第二节点的标识信息;所述新增资源存储于所述第二节点上;将所述新增资源的标识信息和所述第二节点的标识信息更新至所述第一节点的转换表。
可选地,所述方法还包括:接收所述第二节点的删除消息,所述删除消息包含被删除资源的标识信息和所述第二节点的标识信息;所述被删除资源存储于所述第二节点上;所述第一节点被配置为所述被删除资源的理论存储节点;在所述第一节点的转换表中,将所述被删除资源的标识信息和所述第二节点的标识信息删除。
可选地,所述方法还包括:获得查询请求;所述查询请求中包含第二目标资源的标识信息;所述第二目标资源的标识信息位于所述第一节点的转换表中;根据所述第二目标资源的标识信息在所述第一节点的转换表中查询存储所述第二目标资源的物理存储节点;发送查询响应,所述查询响应包含所述第二目标资源的物理存储节点的标识信息。
可选地,所述方法还包括:获得查询请求;所述查询请求中包含第三目标资源的标识信息;所述第三目标资源的标识信息与所述第一节点的存储表中的标识信息匹配;发送查询响应;所述查询响应中包含所述第一节点的标识信息。
第二方面,本发明提供一种资源查询方法,应用于第一节点,所述第一节点为分布式***中的任意一个节点,所述方法包括:获得查询请求;所述查询请求中包含目标资源的标识信息;根据所述目标资源的标识信息在第一节点的转换表中查询存储目标物理存储节点;所述转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;所述目标资源存储于所述目标物理存储节点上;发送查询响应,所述查询响应包含所述目标物理存储节点的标识信息。
第三方面,本发明一种资源查询方法,应用于第一节点,所述第一节点为分布式***中的任意一个节点,所述方法包括:获得查询请求;所述查询请求中包含目标资源的标识信息;所述目标资源的标识信息位于所述第一节点的存储表中;所述存储表用于维护本地资源的标识信息与逻辑存储节点的标识信息的对应关系;所述逻辑存储节点被配置为所述本地资源的理论存储节点;发送查询响应;所述查询响应中包含所述第一节点的标识信息。
第四方面,本发明提供一种资源查询装置,包括:确定模块,用于根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;所述带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;所述目标逻辑存储节点被配置为所述第一目标资源的理论存储节点;通信模块,用于向所述目标逻辑存储节点发送查询请求;所述查询请求用于指示所述目标逻辑存储节点在所述目标逻辑存储节点的转换表中查询目标物理存储节点;所述转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;所述第一目标资源存储于所述目标物理存储节点上;接收所述目标逻辑存储节点的查询响应,所述查询响应包含所述目标物理存储节点的标识信息;获取模块,用于根据所述目标物理存储节点的标识信息,从所述目标物理存储节点获取所述第一目标资源。
可选地,所述的资源查询装置还包括建立模块;所述建立模块,用于根据全部本地资源和所述带弦环拓扑路由表,建立存储表;所述存储表用于维护本地资源的标识信息与所述本地资源对应的逻辑存储节点的标识信息的对应关系;所述通信模块,用于所述向所述存储表中的全部逻辑存储节点发送第一消息;所述第一消息用于指示所述全部逻辑存储节点生成各自对应的转换表;接收第二节点发送的第二消息,所述第二消息中包含所述第二节点的本地资源的标识信息和所述第二节点的标识信息;所述第一节点被配置为所述第二节点的本地资源的理论存储节点;所述第二节点为所述分布式***中除所述第一节点外的至少一个节点;所述建立模块,还用于根据所述第二节点的本地资源的标识信息和所述第二节点的标识信息,建立所述第一节点的转换表。
可选地,所述的资源查询装置还包括更新模块;所述确定模块,还用于当所述第一节点存在新增资源,根据所述新增资源的标识信息,在所述带弦环拓扑路由表中确定所述新增资源的逻辑存储节点;所述更新模块,用于将所述新增资源的标识信息和所述新增资源的逻辑存储节点的标识信息更新至所述存储表;所述通信模块,还用于向所述新增资源的逻辑存储节点发送更新消息;所述更新消息用于指示所述新增资源的逻辑存储节点将所述新增资源的标识信息和所述第一节点的标识信息更新至所述新增资源的逻辑存储节点的转换表。
可选地,所述的资源查询装置还包括删除模块;所述删除模块,用于当所述第一节点删除所述本地资源,在所述存储表中,将被删除的所述本地资源的标识信息以及所述本地资源的逻辑存储节点的标识信息删除;所述通信模块,还用于向被删除的所述本地资源的逻辑存储节点发送删除消息;所述删除消息用于指示被删除的所述本地资源的逻辑存储节点在转换表中将所述被删除的本地资源的标识信息以及所述第一节点的标识信息删除。
可选地,所述通信模块,还用于接收所述第二节点的更新消息,所述更新消息包含新增资源的标识信息和所述第二节点的标识信息;所述新增资源存储于所述第二节点上;所述更新模块,还用于将所述新增资源的标识信息和所述第二节点的标识信息更新至所述第一节点的转换表。
可选地,所述通信模块,还用于接收所述第二节点的删除消息,所述删除消息包含被删除资源的标识信息和所述第二节点的标识信息;所述被删除资源存储于所述第二节点上;所述第一节点被配置为所述被删除资源的理论存储节点;所述删除模块,还用于在所述第一节点的转换表中,将所述被删除资源的标识信息和所述第二节点的标识信息删除。
可选地,所述获取模块,还用于获得查询请求;所述查询请求中包含第二目标资源的标识信息;所述第二目标资源的标识信息位于所述第一节点的转换表中;所述确定模块,还用于根据所述第二目标资源的标识信息在所述第一节点的转换表中查询存储所述第二目标资源的物理存储节点;所述通信模块,还用于发送查询响应,所述查询响应包含所述第二目标资源的物理存储节点的标识信息。
可选地,所述获取模块,还用于获得查询请求;所述查询请求中包含第三目标资源的标识信息;所述第三目标资源的标识信息与所述第一节点的存储表中的标识信息匹配;所述通信模块,还用于发送查询响应;所述查询响应中包含所述第一节点的标识信息。
第五方面,本发明提供一种资源查询装置,包括获取模块,用于获得查询请求;所述查询请求中包含目标资源的标识信息;所述目标资源的标识信息位于所述第一节点的存储表中;所述存储表用于维护本地资源的标识信息与逻辑存储节点的标识信息的对应关系;所述逻辑存储节点被配置为所述本地资源的理论存储节点;通信模块,用于发送查询响应;所述查询响应中包含所述第一节点的标识信息。
第六方面,本发明提供一种资源查询装置,应用于第一节点,所述第一节点为分布式***中的任意一个节点,包括:获取模块,用于获得查询请求;所述查询请求中包含目标资源的标识信息;所述目标资源的标识信息与所述第一节点的存储表中的标识信息匹配;所述存储表用于维护所述第一节点的本地资源的标识信息与所述本地资源对应的逻辑存储节点的标识信息的对应关系;所述逻辑存储节点被配置为所述本地资源的理论存储节点;通信模块,用于发送查询响应;所述查询响应中包含所述第一节点的标识信息。
第七方面,本发明提供一种节点设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现第一方面所述的资源查询方法和/或第二方面所述的资源查询方法和/或第三方面所述的资源查询方法。
第八方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的资源查询方法和/或第二方面所述的资源查询方法和/或第三方面所述的资源查询方法。
本发明实施例提供的一种资源查询方法、装置、节点设备及存储介质,该方法应用于第一节点,该第一节点为分布式***中的任意一个节点,包括:根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;目标逻辑存储节点被配置为第一目标资源的理论存储节点;向目标逻辑存储节点发送查询请求;查询请求用于指示目标逻辑存储节点在目标逻辑存储节点的转换表中查询目标物理存储节点;转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;第一目标资源存储于目标物理存储节点上;接收目标逻辑存储节点的查询响应,查询响应包含目标物理存储节点的标识信息;根据目标物理存储节点的标识信息,从目标物理存储节点获取第一目标资源。与现有技术的区别在于,现有技术中的资源必须存储在为其配置的逻辑存储节点上,节点才可能根据维护的带弦环拓扑路由表实现快速准确查询资源,而在本发明实施例中,节点不仅维护有带弦环拓扑路由表,还维护有转换表,当存在资源查询去求,节点根据带弦环拓扑路由表可以查询资源的逻辑存储节点,进而可以从逻辑存储节点获取资源的物理存储节点,该物理存储节点是逻辑存储节点通过查询转换表确定,因此,本发明实施例中的资源不需要迁移到为其配置的逻辑存储节点上,消除了现有技术中的数据迁移过程,同时能够实现资源的快速查询。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种现有技术的环状网络架构图;
图2为本发明实施例提供的一种分布式网络结构的示意图;
图3为本发明实施例提供的一种资源查询方法的示意性流程图;
图4为本发明实施例提供的一种场景示例图;
图5为本发明实施例提供的一种带弦环拓扑路由表的示例图;
图6为本发明实施例提供的一种转换表的示例图;
图7为本发明实施例提供的另一种资源查询方法的示意性流程图之一;
图8为本发明实施例提供的另一种资源查询方法的示意性流程图之二;
图9为本发明实施例提供的另一种资源查询方法的示意性流程图之三;
图10为本发明实施例提供的一种存储表的示例图;
图11为本发明实施例提供的另一种资源查询方法的示意性流程图之四;
图12为本发明实施例提供的另一种资源查询方法的示意性流程图之五;
图13为本发明实施例提供的另一种资源查询方法的示意性流程图之六;
图14为本发明实施例提供的另一种资源查询方法的示意性流程图之七;
图15为本发明实施例提供的信令交互图;
图16为本发明实施例提供的另一种信令交互图;
图17为本发明实施例提供的一种资源查询装置的功能模块图之一;
图18为本发明实施例提供的一种资源查询装置的功能模块图之二;
图19为本发明实施例提供的一种资源查询装置的功能模块图之三;
图20为本发明实施例提供的一种节点设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
目前,在分布式***中,采用分布式哈希方法可以实现资源的快速定位,因此,基于分布式哈希方法可以构建各种复杂应用,例如分布式文件***,点对点技术文件分享***、合作的网页缓存、多播、任播、域名***以及即时通信等。但由于分布式哈希方法在资源扩容场景下容易出现数据库宕机问题,相关技术提出了一致性哈希算法来解决传统分布式哈希算法的缺陷,其中,Chord算法作为典型的一致性哈希算法,具有高伸缩性和负载平衡等优点,能够在资源扩容的场景下既能实现资源的快速定位又能降低数据库宕机风险。
Chord算法通过把分布式网络***虚拟成单一环形的拓扑结构,通过哈希算法将资源(Key)和节点(Node)映射到环上,资源和节点的哈希数值在环上按大小顺时针排列,基于这种拓扑结构,按照预设配置规则为资源配置逻辑存储节点,并将资源存储于该逻辑存储节点上,该预设配置规则为:对于一个资源ID(以下简称KID)为n的资源,由环上节点ID(以下简称NID)不小于n的第一个节点作为该资源的逻辑存储节点,由该逻辑存储节点存储KID为n的资源,通过建立资源的KID与逻辑存储节点的NID之间的对应关系,可以在资源查询过程中快速定位资源存储位置。
为了方便理解,请参见图1,图1为一种现有技术的环状网络架构图,如图1所示,环上有3个节点和6个资源,分别为NID为0的节点0、NID为1的节点1、NID为3的节点3、KID为1的资源1、KID为2的资源2、KID为2的资源2、KID为4的资源4、KID为5的资源5、KID为6的资源6、KID为7的资源7,按照上述预设配置规则,节点0为资源4、资源5、资源6、资源7的逻辑存储节点,用于存储资源4、资源5、资源6、资源7,节点0为资源4、资源5、资源6、资源7的后继节点,可以表示为:successor(6)=0;节点1为资源1的逻辑存储节点,用于存储资源1,则节点1为资源1的后继节点,可以表示为:successor(1)=1;节点3为资源2的逻辑存储节点,用于存储资源2,节点3为资源2的后继节点,可以表示为successor(2)=3。
基于上述架构,每个资源被指定存储在为其配置的逻辑存储节点上,为了实现资源快速定位,每个节点均需维护一张带弦环拓扑路由表(Finger table),该带弦环拓扑路由表用于维护该节点的多个后继资源以及每个后继资源对应的后继节点,根据上述带弦环拓扑路由表,当存在资源查询需求时,通过带弦环拓扑路由表可以确定任意一个资源对应的逻辑存储节点,进而可以在逻辑存储节点获取获得该资源。
发明人在研究的过程中发现,上述建立资源与节点之间的对应关系后,必须将资源存储在为其配置的节点上,才能够在查询阶段根据带弦环拓扑路由表快速定位资源位置。但在复杂的分布式***中,如果***内部资源数据更新过快,就需要进行大量的数据迁移工作,使得资源始终存储于为其指定的逻辑存储节点上,这就需要消耗大量的带宽和时间来进行数据迁移。
例如,继续参见图1,按照Chord协议,节点0被配置为资源4、资源5、资源6、资源7的逻辑存储节点,在一些可能的场景中,资源4、资源5、资源6、资源7当前可能同时存储在节点1上,也可能分别存储在不同的其他节点上,为了保证在查询阶段根据带弦环拓扑路由表快速查询到资源4-7,需要将资源4、资源5、资源6、资源7从节点1或者其他不同节点迁移至节点0上。这样一来,当大量不同节点上都存储有理论上应该存储在节点0上的资源时,就需要消耗大量的带宽和时间不断的将不同节点上的资源迁移到节点0上。
为了消除上述数据迁移的问题,在上述架构的基础上,本发明实施例引入了转换表(Transformation table)概念,即对于分布式***中的任意一个节点来说,其不仅维护带弦环拓扑路由表,还维护一张转换表,该转换表用于维护该节点理论应存储的资源与实际存储该资源的物理存储节点的对应关系。
通过上述方式,对于分布式***中每一个节点来说,当存储资源查询请求时,根据带弦环拓扑路由表将请求发送至该资源对应的理论存储节点上,获得该需求的节点,利用其维护的转换表确定实际存储该资源的物理存储节点的信息。
在维护转换表的同时,对于一个分布式***来说,任意一个节点上的资源可能时刻处于一个更新状态,为了能够保证每个节点能够及时更新自身维护的转换表,因此,本申请实施例还引入了存储表(Storage table)的概念,该存储表用于维护节点本地资源与逻辑存储节点的对应关系,存储表的作用是辅助转换表的建立和与更新,从而当存在更新需求时,每个节点通过自身维护的存储表指示更新表中全部逻辑存储节点更新转换表。
进而,对于本申请实施例提供的技术方案来说,为了实现快速定位资源,对于分布式***中每一个节点来说,不需要将其存储的资源迁移至该资源对应的逻辑存储节点上,当存在资源查询需求,可以根据带弦环拓扑路由表确定资源的逻辑存储节点,进而通过逻辑存储节点查询自身维护的转换表获得实际存储该资源的物理存储节点的信息,消除了现有技术中需要进行数据迁移来保证快速定位的弊端。
需要说明的是,本发明实施例中的资源可以是所有以电子数据形式存储的文字、图像、声音、动画等信息,此处不作限定。
为了方便理解本申请实施例提供的资源查询的技术方案的实现原理,下面在上述网络架构的基础上,给出本发明实施例中的资源查询的技术方案。请参见图2,图2为本发明实施例提供的一种分布式网络结构的示意图,其中包括数据请求节点11、逻辑存储节点12和物理存储节点13;数据请求节点11、逻辑存储节点12和物理存储节点13均维护有上述内容介绍的存储表、转换表和带弦环拓扑路由表。
当数据请求节点11存在资源查询请求,数据请求节点11用于根据目标资源的标识信息,在自身维护的带弦环拓扑路由表中确定目标资源对应逻辑存储节点12,并向逻辑存储节点12发送查询请求,逻辑存储节点12用于获得数据请求节点11的查询请求,在自身维护的转换表中查询存储目标资源的物理存储节点13,并将物理存储节点13的标识信息反馈给数据请求节点11;数据请求节点11还用于接收逻辑存储节点12的查询响应,根据物理存储节点13的标识信息,从物理存储节点13获取目标资源。
需要说明的是,对于分布式***的任意一个节点来说,其可以作为数据请求节点11向***内的其他节点请求资源;也可以作为一个逻辑存储节点12,获得来自数据请求节点11的查询请求,并向数据请求节点11反馈查询资源的实际存储位置信息;还可以作为一个物理存储节点13,向数据请求节点11提供目标资源。
为了保证能够在资源查询过程中快速定位资源位置,对于任意一种类型的节点而言,在该节点作为数据请求节11和/或物理存储节点13和/或逻辑存储节点12的场景下,均可以根据自身维护的带弦环拓扑路由表和本地资源建立存储表,并向存储表中的全部逻辑存储节点发送消息,以指示存储表中的节点建立各自的转换表;同时,还可以用于接收来自其他节点发送的消息,根据消息建立自身的转换表。
可以理解的是,对于本发明实施例的分布式***中的节点来说,当每个节点建立完成自身的存储表的时,整个分布式***中每个节点的转换表也建立完毕。
下面请参见图3和图4,图3为本发明实施例提供的一种资源查询方法的示意性流程图,图4为本发明实施例提供的一种场景示例图,以上述网络结构中的任意一个节点(以下称为第一节点)为执行主体,介绍本申请实施例提供的资源查询方法的技术方案,该方法包括:
S114、根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点。
在一些可能的实施例中,上述的第一目标资源的标识信息可以为通过哈希算法对目标资源进行哈希计算后的哈希值,例如,图4所示的k2可以表征为资源2的标识信息。上述的哈希算法可以但不限于是安全散列算法SHA-1(Secure Hash Algorithm 1,简称SHA-1)。
上述的带弦环拓扑路由表存储在第一节点中,其中包含了该节点的n个后继以及每个后继对应的后继节点。例如,继续参见图4,假设第一节点为节点1,上述带弦环拓扑路由表的实现方式可以如图5所示,参见图5,图5为本发明实施例提供的一种带弦环拓扑路由表的示意图。
可以理解的是,上述的逻辑存储节点可以为分布式***中除数据请求节点11外的一个节点,按照Chord协议,该逻辑存储节点被配置为目标资源的理论存储节点。
S115、向目标逻辑存储节点发送查询请求。
可以理解的是,该查询请求中可以包含第一目标资源的标识信息,当目标逻辑存储节点获得该查询请求,可以根据第一目标资源的标识信息在自身维护的转换表中确定该标识信息对应的目标物理存储节点的标识信息。
例如,继续参见图4,假设逻辑存储节点为节点6,上述第一转换表的实现方式可以如图6所示,参见图6为本发明实施例提供的一种转换表的示意图。如图6所示,节点6被配置为资源2和资源5的理论存储节点,节点6的转换表中维护有资源2的标识信息k2与节点20的标识信息n20的对应关系以及资源5的标识信息k5与节点12的标识信息n12的对应关系,即<k2,n20>项和<k5,n12>,表征节点20是资源2的物理存储节点,资源2实际被存储在节点20上,节点12是资源5的物理存储节点,资源5实际被存储在节点12上。进而,当节点6获得查询请求,即可通过自身维护的转换表确定目标资源的物理存储节点,例如,目标资源为资源2,则节点6根据转换表可以确定资源2的物理存储节点为节点20。
S116、接收目标逻辑存储节点的查询响应,查询响应包含目标物理存储节点的标识信息。
S117、根据目标物理存储节点的标识信息,从目标物理存储节点获取目标资源。
可以理解的是,数据请求节点11根据获得的查询响应,可以根据查询响应中的物理存储节点13的标识信息去物理存储节点获取目标资源,例如,数据请求节点11可以从物理存储节点上下载目标资源到本地,还可以通过物理存储节点13展示目标资源,无需将资源下载到本地,此处不做限定。
本发明实施例提供的一种资源查询方法,与现有技术的区别在于,现有技术中的资源必须存储在为其配置的逻辑存储节点上,节点才能根据维护的带弦环拓扑路由表实现快速准确查询资源的目的;而在本发明实施例中,节点不仅维护有带弦环拓扑路由表,还维护有转换表,转换表维护有资源和实际存储资源的物理存储节点的对应关系,因此,本发明实施例中的资源不需要迁移到为其配置的逻辑存储节点上,当存在资源查询需求,节点根据带弦环拓扑路由表可以查询资源的逻辑存储节点,向逻辑存储节点发送查询请求,以使逻辑存储节点根据维护的转换表确定资源的实际存储节点,进而可以从逻辑存储节点反馈的物理存储节点获取资源,消除了现有技术中的数据迁移过程,同时能够实现资源的快速查询。当利用Chord网络进行体积比较大的非结构化数据例如图像的存储应用时,消除数据迁移将会有效降低***的应用开销。
可选地,在一种场景中,第一节点还可以接收到来自其他节点的查询请求,当查询请求中的目标资源标识与第一节点的存储表中的标识信息匹配,则表明第一节点上存储有该目标资源,则第一节点可以直接向其他节点发送查询响应,以通知其他节点该目标资源在第一节点上,因此,下面在图3的基础上,给出一种可能的实现方式,参见图7,图7为本发明实施例提供的另一种资源查询方法的示意性流程图之一,该方法还包括:
S118、获得查询请求。
在一些可能的实施例中,该查询请求可以来自分布式***中除第一节点外的节点;该查询请求中可以中包含第三目标资源的标识信息,与上述第一目标资源不同的是,该第三目标资源的标识信息与第一节点的存储表中的标识信息匹配,表明该第三目标资源当前存储在第一节点上。
S119、发送查询响应,查询响应中包含第一节点的标识信息。
可选地,在另一种场景中,第一节点接收到查询请求中,该查询请求中的目标资源标识与第一节点的转换表中的标识信息匹配,则表明第一节点为该目标资源的逻辑存储节点,则第一节点可以在自身维护的转换表中确定该目标资源的物理存储节点,并反馈查询响应,因此,下面在图3的基础上,给出另一种可能的实现方式,参见图8,图8为本发明实施例提供的另一种资源查询方法的示意性流程图之二,该方法还包括:
S120、获得查询请求。
在一些可能的实施例中,该查询请求可以来自分布式***中除第一节点外的节点;该查询请求中可以包含第二目标资源的标识信息,与上述第一目标资源和第三目标资源不同的是,该第二目标资源的标识信息与第一节点的转换表中的标识信息匹配,表明第一节点为第二目标资源的逻辑存储节点。
S121、根据第二目标资源的标识信息在第一节点的转换表中查询存储第二目标资源的物理存储节点。
S122、发送查询响应,查询响应包含第二目标资源的物理存储节点的标识信息。
需要说明的是,上述的第一节点可以是如图2所示的数据请求节点11和/或物理存储节点13和/或逻辑存储节点12。
在一种场景中,第一节点为图2所示的数据请求节点11时,第一节点可以用来执行步骤S114至步骤S117,以使得第一节点能够获得第一目标资源;或者,第一节点可以为图2所示的物理存储节点13,则第一节点可以用来执行步骤S118至步骤S119,可以向数据请求节点提供第三目标资源;或者,第一节点可以为图2所示的逻辑存储节点12时,则第一节点可以用来执行步骤S120至步骤S122,可以向数据请求节点反馈第二目标资源的实际存储位置。
在另一种场景中,第一节点既可以为数据请求节点11和物理存储节点13时,则第一节点可以用来执行步骤S114至步骤S119,实现获得目标资源的目的,又可以向其他数据节点反馈目标资源的实际存储位置;或者,第一节点既可以为同时为数据请求节点11逻辑存储节点12,可以用来执行步骤S114至步骤S117,以获得目标资源,还可以用来执行步骤S120至步骤S122,用来向数据请求节点反馈目标资源的实际存储位置;或者,第一节点既可以同时为物理存储节点13和逻辑存储节点12,可以用来执行步骤S118至步骤S1197,以可以向数据请求节点提供目标资源,还可以用来执行步骤S120至步骤S122,用来向数据请求节点反馈目标资源的实际存储位置;或者,第一节点同时作为数据请求节点11、物理存储节点13和逻辑存储节点12,用来执行步骤S114至步骤S122。
可选地,为了能够在资源查询过程中快速定位资源位置,对于第一节点而言,需要预先建立存储表和转换表。因此,下面给出一种建立存储表和转换表的实现方式,在图3的基础上,请参见图9,图9为本发明实施例提供的另一种资源查询方法的示意性流程图之三,该方法还包括:
S110、根据全部本地资源和带弦环拓扑路由表,建立存储表。
在本发明实施例中,存储表用于维护每个节点存储的本地资源的标识信息与本地资源对应的逻辑存储节点的标识信息之间的对应关系。在一种可能的实现方式中,第一节点可以遍历本节点存储的全部本地资源,通过带弦环拓扑路由表查找每一个资源对应的逻辑存储节点“Theoretical address”,并在存储表中添加每一个资源的标识信息和该资源对应的逻辑存储节点的标识信息的项,即<key,Theoretical address>,从而完成存储表的建立。
例如,继续参见图4,假设第一节点为节点20,资源2和资源8是节点20上存储的本地资源,根据节点20维护的带弦环拓扑路由表,确定节点2的逻辑存储节点为节点6,资源8的逻辑存储节点为节点12,则节点20在存储表中添加<k2,n6>项和<k8,n12>项,用来维护资源2和节点6之间的对应关系以及资源8和节点12之间的对应关系,从而完成存储表的建立,存储表的表现形式可以如图10所示,参见图10,图10为本发明实施例提供的一种存储表的示意图。
S111、向存储表中的全部逻辑存储节点发送第一消息,该第一消息用于指示全部逻辑存储节点生成各自对应的转换表。
可以理解的是,第一消息中可以包含存储表中每个资源的标识信息和第一节点的标识信息,收到第一消息的逻辑存储节点将资源的标识信息和第一节点的标识信息添加至自身的转换表中,即增加一个<key,Actual address>项,其中,Actual address即为发送第一消息的节点。
例如,参见图10,继续以第一节点为节点20为例,节点20的存储表中包含<k2,n6>项和<k8,n12>项,则节点20可以分别向节点6和节点12发送第一消息。对于节点6,第一消息中可以包含资源2的标识信息k2以及节点20的标识信息,节点6获得第一消息之后,将<k2,n20>项添加至转换表中,生成如图5所示的转换表;对于节点12,第一消息中可以包含资源5的标识信息k5以及节点20的标识信息,节点12获得第一消息之后,将<k2,n20>项添加至节点12的转换表中。
S112、接收第二节点发送的第二消息。
在本发明实施例中,由于本发明实施例中的每个节点均维护有转换表,因此,对于第一节点来说,除了要在建立存储表的过程向存储表中的全部逻辑存储节点发送消息,以辅助全部逻辑存储节点建立转换表,还可以接收第二节点发送的第二消息,以建立自身的转换表。
可以理解的是,上述的第二节点为分布式***中除第一节点外的节点,第二消息中可以包含该第二节点的本地资源的标识信息和第二节点的标识信息,第一节点被配置为第二节点的本地资源的理论存储节点。
S113、根据第二节点的本地资源的标识信息和第二节点的标识信息,建立第一节点的转换表。
例如,继续参见图4,继续以第一节点为节点20,第二节点为节点6为例,假设节点6存储有本地资源17,而按照chord协议,资源17的理论存储节点为节点20,则节点6在建立自身的存储表时,向节点20发送第二消息,第二消息中包含资源17的标识信息和节点6的标识信息,以指示节点20在自身维护的转换表中添加<k17,n6>项。
可以理解的是,每个节点建立完成自身存储表的时候,整个分布式***中每个节点的转换表也建立完毕。
需要说明的是,上述的第一节点可以是如图2所示的数据请求节点11和/或物理存储节点13和/或逻辑存储节点12。当其为数据请求节点11、物理存储节点13、逻辑存储节点12中的一种或多种节点时,均可以用来执行步骤S123至步骤S131,完成存储表和转换表的更新。
可选地,为了应对节点上的资源变动,保证每个节点能够及时更新自身维护的转换表和存储表,下面给出以下场景中的更新存储表和转换表的实现方式。
场景一
在图9的基础上,参见图11,图11为本发明实施例提供的另一种资源查询方法的示意性流程图之四,该方法还包括:
S123、当第一节点存在新增资源,根据新增资源的标识信息,在带弦环拓扑路由表中确定新增资源的逻辑存储节点。
在一些可能的实施例中,第一节点可以定期扫描存储的本地资源,若本地存储某个资源,但在第一节点维护的存储表中不存在关于该资源的记录,则可以确定本地存在新增资源,此时可以根据带弦环拓扑路由表中确定新增资源对应的逻辑存储节点。
S124、将新增资源的标识信息和新增资源的逻辑存储节点的标识信息更新至存储表。
例如,参见图4,假设第一节点为节点20,当节点20确定本地存在新增资源3,则按照带弦环拓扑路由表的查询规则确定新增资源3的理论存储地址为节点6,则在节点20的存储表中添加<k3,n6>项,完成存储表更新。
S125、向新增资源的逻辑存储节点发送更新消息。
可以理解的是,更新消息用于指示新增资源的逻辑存储节点将新增资源的标识信息和第一节点的标识信息更新至它对应的转换表。
例如,继续以第一节点为节点20为例,节点20则将新增资源3的标识信息k3和节点6的标识信息n6更新至存储表后,可以向节点6发送更新消息,该更新消息中可以包含新增资源3的标识信息k3和节点20的标识信息n20,以指示节点6将<k3,n20>项添加至转换表中,完成转换表的更新。
可选地,在一些可能的实施例中,当第一节点被配置为其他存储节点上的新增资源的逻辑存储节点时,第一节点还可以根据其他节点的更新信息来更新自身维护的转换表,下面在图9的基础上,给出一种实现方式,参见图12,图12为本发明实施例提供的一种资源查询方法的示意性流程图之五,该方法还包括:
S126、接收第二节点的更新消息,更新消息包含新增资源的标识信息和第二节点的标识信息。
S127、将新增资源的标识信息和第二节点的标识信息更新至第一节点的转换表。
例如,参见图4,假设第一节点为节点20,第二节点为节点6,当节点6上存在新增资源17,且新增资源17理论上应该被存储在节点20上,则节点20可以接收来自节点6发送的更新消息,将资源17和节点6的标识信息更新至节点20的转换表中,即在表中添加<k17,n6>项。
场景二
下面给出另一种更新方式,在图9的基础上,参见图13,图13为本发明实施例提供的另一种资源查询方法的示意性流程图之六,该方法还包括:
S128、当第一节点删除本地资源,在存储表中,将被删除本地资源的标识信息以及被删除本地资源的逻辑存储节点的标识信息删除。
在一些可能的实施例中,第一节点可以定期扫描存储表,若存储表中的资源记录数大于本地存储的资源数,则表明存在被删除资源,此时可以将存储表中多余的资源记录删除,即将被删除本地资源的标识信息以及被删除本地资源对应的逻辑存储节点的标识信息删除,完成第一节点的存储表更新。
例如,参见图10,假设第一节点为节点20,节点20的存储表中记录有资源2和资源8的记录,但本地存储中已经不存在资源2,则可以确定资源2被第一节点删除,此时,节点2可以将资源2的标识信息k2以及节点6的标识信息n6删除,完成节点20的存储表更新。
S129、向被删除的本地资源的逻辑存储节点发送删除消息。
可以理解的是,上述的删除消息用于指示被删除的本地资源的逻辑存储节点在它的转换表中将被删除本地资源的标识信息以及第一节点的标识信息删除。
例如,继续图10,继续以第一节点为节点20为例,假设资源2被删除,节点20将节点2的标识信息k2以及节点6的标识信息n6删除,在完成存储表更新之后,节点2可以将资源2的标识信息k2以及节点6的标识信息n6删除后,可以向节点6发送删除消息,用于指示节点6将其维护的转换表中的节点2的标识信息k2和节点20的标识信息删除,以使节点6完成转换表的更新。
可选地,在一些可能的实施例中,当第一节点被配置为其他存储节点上的被删除资源的逻辑存储节点时,第一节点还可以根据其他节点的删除信息来更新自身维护的转换表,下面在图9的基础上,给出一种实现方式,参见图14,图14为本发明实施例提供的一种资源查询方法的示意性流程图之七,该方法还包括:
S130、接收第二节点的删除消息。
可以理解的是,该删除消息包含被删除资源的标识信息和第二节点的标识信息,该被删除资源存储于第二节点上,第一节点被配置为被删除资源的理论存储节点。
S131、在第一节点的转换表中,将被删除资源的标识信息和第二节点的标识信息删除。
例如,参见图4和图10,假设第一节点为节点20,第二节点为节点6,当节点6将其存储的本地资源17删除后,而该本地资源17理论上应该被存储在节点20上,则节点6向节点20发送删除消息,以使节点20将自身维护的转换表中的资源17和节点6的标识信息删除,完成节点20的转换表的更新。
需要说明的是,上述的第一节点可以是如图2所示的数据请求节点11和/或物理存储节点13和/或逻辑存储节点12。当其为数据请求节点11、物理存储节点13、逻辑存储节点12中的任意一种时,均可以用来执行步骤S123至步骤S131,完成存储表和转换表的更新。
为了方便理解本发明技术方案的整体实现流程,下面给出一种分布式***中各个节点在进行资源查询过程中的信令交互,参见图15,图15为发明实施例提供的一种信令交互图。其中包括第一节点、第二节点和第三节点,为了方便理解,第三节点可以理解为第一节点存储表中的逻辑存储节点,将第二节点可以理解为第一节点转换表中的物理存储节点。
在一种实现方式中,本发明实施例中的资源查询方法包括:
S1.第一节点根据全部本地资源和带弦环拓扑路由表,建立存储表。
S2.第一节点向第三节点发送第一消息。
S3.第二节点根据第一节点的标识信息和第一节点的本地资源的标识信息生成第二节点的转换表。
S4.第一节点接收第二节点发送的第二消息,第二消息中包含第二节点的本地资源的标识信息和第二节点的标识信息。
S5.第一节点根据第二节点的本地资源的标识信息和第二节点的标识信息,生成第一节点的转换表。
S6.第一节点根据目标资源的标识信息,在带弦环拓扑路由表中确定逻辑存储节点。
S7.第一节点向第三节点发送查询请求。
S8.根据目标资源的标识信息在自身维护的第一转换表中确定该标识信息对应的物理存储节点的标识信息。
S9.第三节点发送查询响应。
S10.第一节点根据物理存储节点的标识信息,从物理存储节点获取目标资源。
在另一种实现方式中,当第二节点为数据请求节点时,本发明实施例中的资源查询方法还包括:
S11.第二节点向第一节点发送查询请求。
S12.根据目标资源的标识信息在第二转换表中查询存储目标资源的物理存储节点。
S13.第一节点向第二节点发送查询响应。
在另一种实现方式中,当第三节点为数据请求节点,本发明实施例中的资源查询方法还包括:
S14.第一节点接收第三节点发送的查询请求。
S15.第一节点向第三节点查询响应。
为了实现存储表和转换表更新的目的,下面还提供一种信令交互图,参见图16,图16为发明实施例提供的一种信令交互图。其中包括第一节点、第二节点和第三节点,第三节点可以理解为第一节点存储表中的逻辑存储节点,将第二节点可以理解为第一节点转换表中的物理存储节点,该方法还包括:
S16.当第一节点存在新增资源,根据新增资源的标识信息,在带弦环拓扑路由表中确定新增资源对应的逻辑存储节点。
S17.将新增资源的标识信息和新增资源对应的逻辑存储节点的标识信息更新至存储表。
S18.第一节点向第三节点发送更新消息。
S19.第三节点将新增资源的标识信息和第一节点的标识信息更新至第一转换表。
在另一种实现方式中,第一节点还可以接收第二节点发送的消息,以更新自身的存储表,即该方法还包括:
S20.第二节点向第一节点更新消息。
S21.第一节点将新增资源的标识信息和第二节点的标识信息更新至第二转换表。
在一些可能的实施例中,当第一节点删除了本地资源,第一节点需要更新自身的存储表,并指示第三节点更新自身的转换表,下面给出一种实现方式,即该方法还包括:
S22.当第一节点删除本地资源,在存储表中,将被删除本地资源的标识信息以及被删除本地资源对应的逻辑存储节点的标识信息删除。
S23.第一节点向第三节点发送删除消息。
S24.第三节点在第一转换表中将被删除本地资源的标识信息以及第一节点的标识信息删除。
在另一些可能的实施例中,当第二节点中删除了本地资源,则需要指示第一节点更新自身的转换表,下面给出一种实现方式,即该方法还包括:
S25.第二节点向第一节点删除消息。
S26.第一节点在第二转换表中,将被删除资源的标识信息和第二节点的标识信息删除。
为了实现上述实施例中的各个步骤,以达到对应的技术效果,下面还给出一种资源查询装置的实现方式,参见图17,图17为本发明实施例提供的一种资源查询装置的功能模块图之一,包括确定模块201、通信模块202和获取模块203。
确定模块201,用于根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;目标逻辑存储节点被配置为第一目标资源的理论存储节点;
通信模块202,用于向目标逻辑存储节点发送查询请求;查询请求用于指示目标逻辑存储节点在目标逻辑存储节点的转换表中查询目标物理存储节点;转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;第一目标资源存储于目标物理存储节点上;接收目标逻辑存储节点的查询响应,查询响应包含目标物理存储节点的标识信息;
获取模块203,用于根据目标物理存储节点的标识信息,从目标物理存储节点获取第一目标资源。
可以理解的是,确定模块201、通信模块202和获取模块203可以用来执行上述步骤114至步骤117以实现相应的技术效果。
可选地,该资源查询装置20还包括建立模块,建立模块,用于根据全部本地资源和所述带弦环拓扑路由表,建立存储表;所述存储表用于维护本地资源的标识信息与本地资源对应的逻辑存储节点的标识信息的对应关系;通信模块,用于向存储表中的全部逻辑存储节点发送第一消息;第一消息用于指示全部逻辑存储节点生成各自对应的转换表;接收第二节点发送的第二消息,第二消息中包含第二节点的本地资源的标识信息和第二节点的标识信息;第一节点被配置为第二节点的本地资源的理论存储节点;第二节点为分布式***中除第一节点外的至少一个节点;建立模块,还用于根据第二节点的本地资源的标识信息和第二节点的标识信息,建立第一节点的转换表。
可以理解的是,建立模块和通信模块202可以用来执行步骤110至步骤113以实现相应的技术效果。
可选地,该资源查询装置20还包括更新模块,确定模块201,用于当第一节点存在新增资源,根据新增资源的标识信息,在带弦环拓扑路由表中确定新增资源的逻辑存储节点;更新模块用于将新增资源的标识信息和新增资源的逻辑存储节点的标识信息更新至存储表;通信模块202用于向新增资源的逻辑存储节点发送更新消息;更新消息用于指示新增资源的逻辑存储节点将新增资源的标识信息和第一节点的标识信息更新至新增资源的逻辑存储节点的转换表。
可以理解的是,确定模块201、更新模块和通信模块202可以用来执行步骤123至步骤125以实现相应的技术效果。
可选地,该装置20还包括删除模块,删除模块,用于当第一节点删除本地资源,在存储表中,将被删除的本地资源的标识信息以及本地资源的逻辑存储节点的标识信息删除;通信模块202,用于向被删除的本地资源的逻辑存储节点发送删除消息;删除消息用于指示被删除的本地资源的逻辑存储节点在转换表中将被删除的本地资源的标识信息以及第一节点的标识信息删除。
可以理解的是,删除模块和通信模块202可以用来执行步骤128至步骤129以实现相应的技术效果。
可选地,通信模块202,还用于接收第二节点的更新消息,更新消息包含新增资源的标识信息和第二节点的标识信息;新增资源存储于第二节点上;更新模块,还用于将新增资源的标识信息和第二节点的标识信息更新至第一节点的转换表。
可以理解的是,通信模块202和更新模块还可以用来执行步骤126至步骤127以实现相应的技术效果。
可选地,通信模块202,还用于接收第二节点的删除消息,删除消息包含被删除资源的标识信息和第二节点的标识信息;被删除资源存储于第二节点上;第一节点被配置为被删除资源的理论存储节点;删除模块,还用于在第一节点的转换表中,将被删除资源的标识信息和第二节点的标识信息删除。
可以理解的是,通信模块202和删除模块还可以用来执行步骤130至步骤131以实现相应的技术效果。
可选地,获取模块203,还用于获得查询请求;查询请求中包含第二目标资源的标识信息;第二目标资源的标识信息位于第一节点的转换表中;确定模块201,还用于根据第二目标资源的标识信息在第一节点的转换表中查询存储第二目标资源的物理存储节点;通信模块202,还用于发送查询响应,查询响应包含第二目标资源的物理存储节点的标识信息。
可以理解的是,获取模块203、确定模块201和通信模块202还可以用来执行步骤120至步骤122以实现相应的技术效果。
可选地,获取模块203,还用于获得查询请求;查询请求中包含第三目标资源的标识信息;第三目标资源的标识信息与第一节点的存储表中的标识信息匹配;通信模块202,还用于发送查询响应;查询响应中包含第一节点的标识信息。
可以理解的是,获取模块203和通信模块202可以用来执行步骤118至步骤119以实现相应的技术效果。
下面还给出一种资源查询装置的实现方式,参见图18,图18为本发明实施例提供的一种资源查询装置的功能模块图之二,资源查询装置30包括:获取模块301、查询模块302和通信模块303。
获取模块301,用于获得查询请求;查询请求中包含目标资源的标识信息。
查询模块302,用于根据目标资源的标识信息在第一节点的转换表中查询存储目标物理存储节点;转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;目标资源存储于目标物理存储节点上;
通信模块303,用于发送查询响应,查询响应包含目标物理存储节点的标识信息。
可以理解的是,获取模块301、查询模块302和通信模块303可以用来执行上述步骤110至步骤113,步骤120至步骤122以及步骤123至步骤131以实现相应的技术效果。
下面还给出一种资源查询装置的实现方式,参见图19,图19为本发明实施例提供的一种资源查询装置的功能模块图之三,资源查询装置40,包括:获取模块401和通信模块402。
获取模块401,用于获得查询请求;查询请求中包含目标资源的标识信息;目标资源的标识信息位于第一节点的存储表中;存储表用于维护本地资源的标识信息与逻辑存储节点的标识信息的对应关系;逻辑存储节点被配置为本地资源的理论存储节点;
通信模块402,发送查询响应;查询响应中包含第一节点的标识信息。
可以理解的是,获取模块401和通信模块402可以用来执行上述步骤110至步骤113,步骤118至步骤119以及步骤123至步骤131以实现相应的技术效果。
本发明实施例还提供一种节点设备,如图20,图20为本发明实施例提节点设备的结构框图。该节点设备50包括通信接口501、处理器502和存储器503。该处理器502、存储器503和通信接口501相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器503可用于存储软件程序及模块,如本发明实施例所提供的资源查询方法对应的程序指令/模块,处理器502通过执行存储在存储器503内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口501可用于与其他节点设备进行信令或数据的通信。在本发明中该节点设备50可以具有多个通信接口501。
其中,存储器503可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器502可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的资源查询方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (18)

1.一种资源查询方法,其特征在于,应用于第一节点,所述第一节点为分布式***中的任意一个节点,所述方法包括:
根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;所述带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;所述目标逻辑存储节点被配置为所述第一目标资源的理论存储节点;
向所述目标逻辑存储节点发送查询请求;所述查询请求用于指示所述目标逻辑存储节点在所述目标逻辑存储节点的转换表中查询目标物理存储节点;所述转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;所述第一目标资源存储于所述目标物理存储节点上;
接收所述目标逻辑存储节点的查询响应,所述查询响应包含所述目标物理存储节点的标识信息;
根据所述目标物理存储节点的标识信息,从所述目标物理存储节点获取所述第一目标资源。
2.根据权利要求1所述的资源查询方法,其特征在于,还包括:
根据全部本地资源和所述带弦环拓扑路由表,建立存储表;所述存储表用于维护本地资源的标识信息与所述本地资源对应的逻辑存储节点的标识信息的对应关系;
向所述存储表中的全部逻辑存储节点发送第一消息;所述第一消息用于指示所述全部逻辑存储节点生成各自对应的转换表;
接收第二节点发送的第二消息,所述第二消息中包含所述第二节点的本地资源的标识信息和所述第二节点的标识信息;所述第一节点被配置为所述第二节点的本地资源的理论存储节点;所述第二节点为所述分布式***中除所述第一节点外的至少一个节点;
根据所述第二节点的本地资源的标识信息和所述第二节点的标识信息,建立所述第一节点的转换表。
3.根据权利要求2所述的资源查询方法,其特征在于,还包括:
当所述第一节点存在新增资源,根据所述新增资源的标识信息,在所述带弦环拓扑路由表中确定所述新增资源的逻辑存储节点;
将所述新增资源的标识信息和所述新增资源的逻辑存储节点的标识信息更新至所述存储表;
向所述新增资源的逻辑存储节点发送更新消息;所述更新消息用于指示所述新增资源的逻辑存储节点将所述新增资源的标识信息和所述第一节点的标识信息更新至所述新增资源的逻辑存储节点的转换表。
4.根据权利要求2所述的资源查询方法,其特征在于,还包括:
当所述第一节点删除所述本地资源,在所述存储表中,将被删除的所述本地资源的标识信息以及所述本地资源的逻辑存储节点的标识信息删除;
向被删除的所述本地资源的逻辑存储节点发送删除消息;所述删除消息用于指示被删除的所述本地资源的逻辑存储节点在转换表中将所述被删除的本地资源的标识信息以及所述第一节点的标识信息删除。
5.根据权利要求3所述的资源查询方法,其特征在于,还包括:
接收所述第二节点的更新消息,所述更新消息包含新增资源的标识信息和所述第二节点的标识信息;所述新增资源存储于所述第二节点上;
将所述新增资源的标识信息和所述第二节点的标识信息更新至所述第一节点的转换表。
6.根据权利要求4所述的资源查询方法,其特征在于,还包括:
接收所述第二节点的删除消息,所述删除消息包含被删除资源的标识信息和所述第二节点的标识信息;所述被删除资源存储于所述第二节点上;所述第一节点被配置为所述被删除资源的理论存储节点;
在所述第一节点的转换表中,将所述被删除资源的标识信息和所述第二节点的标识信息删除。
7.根据权利要求2所述的资源查询方法,其特征在于,还包括:
获得查询请求;所述查询请求中包含第二目标资源的标识信息;所述第二目标资源的标识信息位于所述第一节点的转换表中;
根据所述第二目标资源的标识信息在所述第一节点的转换表中查询存储所述第二目标资源的物理存储节点;
发送查询响应,所述查询响应包含所述第二目标资源的物理存储节点的标识信息。
8.根据权利要求2所述的资源查询方法,其特征在于,还包括:
获得查询请求;所述查询请求中包含第三目标资源的标识信息;所述第三目标资源的标识信息与所述第一节点的存储表中的标识信息匹配;
发送查询响应;所述查询响应中包含所述第一节点的标识信息。
9.一种资源查询装置,其特征在于,应用于第一节点;所述第一节点为分布式***中的任意一个节点,包括:
确定模块,用于根据第一目标资源的标识信息,在带弦环拓扑路由表中确定目标逻辑存储节点;所述带弦环拓扑路由表用于维护资源的标识信息与逻辑存储节点的标识信息的对应关系;所述目标逻辑存储节点被配置为所述第一目标资源的理论存储节点;
通信模块,用于向所述目标逻辑存储节点发送查询请求;所述查询请求用于指示所述目标逻辑存储节点在所述目标逻辑存储节点的转换表中查询目标物理存储节点;所述转换表用于维护资源的标识信息与物理存储节点的标识信息的对应关系;所述第一目标资源存储于所述目标物理存储节点上;接收所述目标逻辑存储节点的查询响应,所述查询响应包含所述目标物理存储节点的标识信息;
获取模块,用于根据所述目标物理存储节点的标识信息,从所述目标物理存储节点获取所述第一目标资源。
10.根据权利要求9所述的资源查询装置,其特征在于,还包括:建立模块;
所述建立模块,用于根据全部本地资源和所述带弦环拓扑路由表,建立存储表;所述存储表用于维护本地资源的标识信息与所述本地资源对应的逻辑存储节点的标识信息的对应关系;
所述通信模块,用于所述向所述存储表中的全部逻辑存储节点发送第一消息;所述第一消息用于指示所述全部逻辑存储节点生成各自对应的转换表;接收第二节点发送的第二消息,所述第二消息中包含所述第二节点的本地资源的标识信息和所述第二节点的标识信息;所述第一节点被配置为所述第二节点的本地资源的理论存储节点;所述第二节点为所述分布式***中除所述第一节点外的至少一个节点;
所述建立模块,还用于根据所述第二节点的本地资源的标识信息和所述第二节点的标识信息,建立所述第一节点的转换表。
11.根据权利要求10所述的资源查询装置,其特征在于,还包括:更新模块;
所述确定模块,还用于当所述第一节点存在新增资源,根据所述新增资源的标识信息,在所述带弦环拓扑路由表中确定所述新增资源的逻辑存储节点;
所述更新模块,用于将所述新增资源的标识信息和所述新增资源的逻辑存储节点的标识信息更新至所述存储表;
所述通信模块,还用于向所述新增资源的逻辑存储节点发送更新消息;所述更新消息用于指示所述新增资源的逻辑存储节点将所述新增资源的标识信息和所述第一节点的标识信息更新至所述新增资源的逻辑存储节点的转换表。
12.根据权利要求10所述的资源查询装置,其特征在于,还包括:删除模块;
所述删除模块,用于当所述第一节点删除所述本地资源,在所述存储表中,将被删除的所述本地资源的标识信息以及所述本地资源的逻辑存储节点的标识信息删除;
所述通信模块,还用于向被删除的所述本地资源的逻辑存储节点发送删除消息;所述删除消息用于指示被删除的所述本地资源的逻辑存储节点在转换表中将所述被删除的本地资源的标识信息以及所述第一节点的标识信息删除。
13.根据权利要求11所述的资源查询装置,其特征在于,
所述通信模块,还用于接收所述第二节点的更新消息,所述更新消息包含新增资源的标识信息和所述第二节点的标识信息;所述新增资源存储于所述第二节点上;
所述更新模块,还用于将所述新增资源的标识信息和所述第二节点的标识信息更新至所述第一节点的转换表。
14.根据权利要求12所述的资源查询装置,其特征在于,
所述通信模块,还用于接收所述第二节点的删除消息,所述删除消息包含被删除资源的标识信息和所述第二节点的标识信息;所述被删除资源存储于所述第二节点上;所述第一节点被配置为所述被删除资源的理论存储节点;
所述删除模块,还用于在所述第一节点的转换表中,将所述被删除资源的标识信息和所述第二节点的标识信息删除。
15.根据权利要求9所述的资源查询装置,其特征在于,
所述获取模块,还用于获得查询请求;所述查询请求中包含第二目标资源的标识信息;所述第二目标资源的标识信息位于所述第一节点的转换表中;
所述确定模块,还用于根据所述第二目标资源的标识信息在所述第一节点的转换表中查询存储所述第二目标资源的物理存储节点;
所述通信模块,还用于发送查询响应,所述查询响应包含所述第二目标资源的物理存储节点的标识信息。
16.根据权利要求9所述的资源查询装置,其特征在于,
所述获取模块,还用于获得查询请求;所述查询请求中包含第三目标资源的标识信息;所述第三目标资源的标识信息与所述第一节点的存储表中的标识信息匹配;
所述通信模块,还用于发送查询响应;所述查询响应中包含所述第一节点的标识信息。
17.一种节点设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-8任一项所述的资源查询方法。
18.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的资源查询方法。
CN202011566770.4A 2020-12-25 2020-12-25 资源查询方法、装置、节点设备及存储介质 Active CN112612793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011566770.4A CN112612793B (zh) 2020-12-25 2020-12-25 资源查询方法、装置、节点设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011566770.4A CN112612793B (zh) 2020-12-25 2020-12-25 资源查询方法、装置、节点设备及存储介质

Publications (2)

Publication Number Publication Date
CN112612793A CN112612793A (zh) 2021-04-06
CN112612793B true CN112612793B (zh) 2022-11-15

Family

ID=75248186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011566770.4A Active CN112612793B (zh) 2020-12-25 2020-12-25 资源查询方法、装置、节点设备及存储介质

Country Status (1)

Country Link
CN (1) CN112612793B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792079B (zh) * 2021-11-17 2022-02-08 腾讯科技(深圳)有限公司 数据查询方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702020A (zh) * 2009-10-22 2010-05-05 中国农业大学 基于网格的遥感数据的获取方法与装置
CN101788935A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 冗余磁盘数组***的坏块处理方法
CN110347656A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 文件存储***中请求的管理方法和装置
CN111125089A (zh) * 2019-11-05 2020-05-08 远景智能国际私人投资有限公司 时序数据存储方法、装置、服务器及存储介质
CN111651424A (zh) * 2020-06-10 2020-09-11 中国科学院深圳先进技术研究院 一种数据处理方法、装置、数据节点及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788935A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 冗余磁盘数组***的坏块处理方法
CN101702020A (zh) * 2009-10-22 2010-05-05 中国农业大学 基于网格的遥感数据的获取方法与装置
CN110347656A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 文件存储***中请求的管理方法和装置
CN111125089A (zh) * 2019-11-05 2020-05-08 远景智能国际私人投资有限公司 时序数据存储方法、装置、服务器及存储介质
CN111651424A (zh) * 2020-06-10 2020-09-11 中国科学院深圳先进技术研究院 一种数据处理方法、装置、数据节点及存储介质

Also Published As

Publication number Publication date
CN112612793A (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
US20100332579A1 (en) Proximity guided data discovery
JP5957111B2 (ja) サービス指向アーキテクチャ(soa)ネットワークにおけるサービスの発見
US9276900B1 (en) Network bootstrapping for a distributed storage system
KR102158654B1 (ko) 자원 구독 방법, 자원 구독 장치, 및 자원 구독 시스템
CN111352716B (zh) 一种基于大数据的任务请求方法、装置、***及存储介质
JP6700308B2 (ja) データ・コピー方法及びデバイス
US11394800B2 (en) Systems and methods for remote network topology discovery
US20210051573A1 (en) Inclusion of a message proxy in a service based architecture
JP2015509232A (ja) クラウドにおけるメッセージングのための方法および装置
CN112612793B (zh) 资源查询方法、装置、节点设备及存储介质
JP4335907B2 (ja) ピアツーピアルックアップシステムに対するモビリティチャーン処理のための方法および装置
US20220263759A1 (en) Addressing method, addressing system, and addressing apparatus
EP2375692A2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
CN115996187A (zh) 路由信息处理方法、装置、路由信息交互***和路由设备
CN114124890A (zh) 一种确定方法、虚拟路由器、控制设备及域名解析***
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN106790323B (zh) 一种资源发现的方法及装置
US10334025B2 (en) Adaptive query targeting in a dynamic distributed environment
JP2007328736A (ja) リソース検索システム
JP2005318074A (ja) ストレージグループ設定方法および装置
JP2008521083A (ja) コンフィギュレーションを提供する方法、サーバ、ソフトウェア、装置及び信号
CN113542319A (zh) 用于Dubbo框架中的服务提供实体变更通知方法、装置及***
CN108683533B (zh) 配置更新方法、配置更新的响应方法及服务器、***
US20220407838A1 (en) Service discovery and renaming
CN117420956A (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
GR01 Patent grant
GR01 Patent grant