CN117251489A - 用于跨区域查询数据的方法、电子设备和计算机程序产品 - Google Patents
用于跨区域查询数据的方法、电子设备和计算机程序产品 Download PDFInfo
- Publication number
- CN117251489A CN117251489A CN202210658339.5A CN202210658339A CN117251489A CN 117251489 A CN117251489 A CN 117251489A CN 202210658339 A CN202210658339 A CN 202210658339A CN 117251489 A CN117251489 A CN 117251489A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- metadata
- identifier
- identification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/126—Shortest path evaluation minimising geographical or physical path length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及跨区域查询数据的方法、电子设备和计算机程序产品。该方法包括响应于在第一节点处接收到对目标数据的查询请求,获取目标数据的数据标识。该方法包括基于该数据标识,确定存储目标数据的元数据的第二节点,其中第一节点和第二节点都位于第一区域,并且元数据包括该数据标识。该方法还包括基于该元数据,确定存储目标数据的第三节点,其中第三节点位于与第一区域不同的第二区域。通过该方法,针对跨区域查询数据的需求,第一节点在本区域可以到查询路由信息,从而加快跨区域查询数据的处理速度,降低了延时,提升了获取数据的灵活性和性能。
Description
技术领域
本公开的实施例涉及数据处理领域,并且更具体地,涉及用于跨区域查询数据的方法、电子设备和计算机程序产品。
背景技术
在边缘架构中,具有动态性的节点大规模广泛分布。去中心化系统能够适应边缘架构。在去中心化系统中,所有的节点都可以随时自动地加入网络而无需中心控制代理,并且去中心化系统可以为用户提供低延时的数据服务。
然而,节点具有移动性,当节点跨区域查询或者获取数据时,通过在路由表中的查找,节点可能需要经过多跳才能路由到其他区域来获取元数据以定位数据。如果区域之间的网络延迟很高,则需要花费很长的时间才能获得数据,从而表现出获取数据的性能下降。
发明内容
本公开的实施例提供一种用于跨区域查询数据的方法、电子设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于跨区域查询数据的方法。该方法包括响应于在第一节点处接收到对目标数据的查询请求,获取目标数据的数据标识。该方法包括基于该数据标识,确定存储目标数据的元数据的第二节点,其中第一节点和第二节点都位于第一区域,并且元数据包括该数据标识。该方法还包括基于该元数据,确定存储目标数据的第三节点,其中第三节点位于与第一区域不同的第二区域。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器;以及存储器,耦合至至少一个处理器并且具有存储于其上的指令,指令在由至少一个处理器执行时使设备执行动作,所述动作包括:响应于在第一节点处接收到对目标数据的查询请求,获取目标数据的数据标识;基于数据标识,确定存储目标数据的元数据的第二节点,其中第一节点和第二节点都位于第一区域,并且元数据包括该数据标识;以及基于该元数据,确定存储目标数据的第三节点,其中第三节点位于与第一区域不同的第二区域。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于跨区域查询数据的方法200的流程图;
图3图示了根据本公开的实施例的第一节点更新元数据的示例过程300的示意图;
图4图示了根据本公开的实施例的节点中的用于处理数据的框图400的示意图;
图5图示了根据本公开实施例的节点处理数据的流程图500;以及
图6图示了适于用来实施本公开内容的实施例的示例设备600的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上所述,边缘架构中的节点具有移动性,当节点跨区域查询或者获取数据时,通过在路由表中的查找,节点可能需要经过多跳(hop)才能路由到其他区域来获取元数据以定位数据。如果区域之间的网络延迟很高,则需要花费很长的时间才能获得数据,从而表现出获取数据的性能下降。
至少为了解决上述和其他潜在问题,本公开的实施例提出了一种用于跨区域查询数据的方法。在该方法中,第一节点响应于接收到对目标数据的查询请求,获取目标数据的数据标识。第一节点基于该数据标识,确定存储目标数据的元数据的第二节点,其中第一节点和第二节点都位于第一区域,并且元数据包括该数据标识。该第一节点进一步基于该元数据,确定存储目标数据的第三节点,其中第三节点位于与第一区域不同的第二区域。通过该方法,针对跨区域查询数据的需求,第一节点可以在本区域查询路由信息,从而加快跨区域查询数据的处理速度,降低了延时,提升了获取数据的灵活性和性能。
下面将进一步结合附图来详细描述本公开的实施例,其中图1示出了本公开的实施例能够在其中被实现的示例环境100的示意图。
如图1所示,为根据分布式哈希表(DHT)构建的DHT环100,用于示例性地说明本公开的实施例能够在其中被实现的示例环境。在图1中所述的DHT环100中,分布多个节点A1111、A2 112、A3 113、A4 114、B1 121、B2 122以及C1 131。节点可以是任何具有计算资源的计算设备或者具有存储资源的存储设备。例如,节点可以具备实时数据分析、本地数据存储、实时网络联接等共性能力。节点通常可以包括各种类型的终端设备。终端设备的示例包括但不限于:台式计算机、笔记本计算机、智能电话、可穿戴式设备、安防相机、智能制造设备、智能家居设备、物联网设备、智能汽车,等等。应当理解,虽然图1中仅示出了七个节点,但这仅仅是示例性的,而非对本公开的具体限定。在DHT环100中,可以包括任意数目、任意类型的节点。
各个节点可以基于诸如地理位置被放置在DHT环100的相应位置中,并按照区域进行划分。以图1中的DHT环100为例,该环100中示出3个区域:节点A1 111、A2 112、A3 113以及A4 114所在的第一区域;节点B1 121和B2 122所在的第二区域;以及C1 131所在的第三区域。在本文中,区域可以指参考地理位置划分得到的区域,诸如,一个街区、一个城市等等。
DHT环100中的每个节点可以存储有数据和/或该数据的元数据。例如,一个节点存储数据,另一个节点存储该数据对应的元数据。元数据用于描述数据的属性,元数据中可以包括数据标识,数据标识包括:通过哈希算法对数据进行哈希处理得到的哈希标识;以及表征存储该元数据的节点所在区域的地理信息标识。以第二区域中的节点为例进行说明,该第二区域中的节点B2存储有数据a,节点B1中存储有该数据a的元数据Mb,并且,元数据Mb中可以包括数据a对应的数据标识I和数据a的路由信息R,数据标识I包括对数据a进行哈希处理得到的哈希标识hash(a)以及表征存储该元数据的节点所在区域的地理位置标识B(例如,指示第二区域)。路由信息R可以包括数据a的路由信息。此外,元数据还可以包括该数据的大小、数据来源等,本公开不对此进行限制。
根据本公开实施例的方法可以实现高效的跨区域数据查询。在一个实施例中,哈希标识和地理位置标识是可以解耦的,通过对数据标识的解耦处理,可以将数据标识中的地理位置标识替换为更新的地理位置标识,并进一步生成更新的元数据,再将包括更新的数据标识的元数据存储到更新的地理位置标识所表征的区域中。由此,可以实现对元数据的跨区域存储。以图1中为例,当第一区域为目标区域(例如,第一区域中的节点要对数据a进行查询时),第一节点A1 111可以将存储在第二区域中的节点B1 121中的元数据Mb中的地理位置标识B更新为第一节点A1 111所在区域的第一地理位置标识A,从而获得元数据Ma,并将元数据Ma存储在第二节点A2 112中。通过上述方式,当目标区域(例如,第一区域A)中的节点(例如,第一节点A1 111)需要查询数据时,可以方便地在本区域中即获取元数据,并根据元数据查询并获取到存储在另一个区域(例如,第二区域)中的数据a。由此,可以加快跨区域查询数据的处理速度,降低了延时,提升了获取数据的灵活性和性能。
上面结合图1描述了本公开的实施例能够在其中被实现的示例系统100的框图。下面结合图2描述根据本公开的实施例的用于跨区域查询数据的方法200的流程图。方法200可以在图1中的任何节点及任意合适的计算设备处执行。以下将以第一区域A中的第一节点A1111为执行主体进行说明。本领域技术人员应当理解,方法200可以在图1中的任何节点处执行。
在框202处,第一节点A1 111响应于在第一节点A1 111处接收到对目标数据(例如,数据a)的查询请求,获取所述目标数据的数据标识。
在基于DHT的系统中,每个节点内部都可以存储相应的DHT路由表,该路由表记录相关数据的路由信息。当第一节点A1 111接收到对目标数据(例如,a)的查询请求时,第一节点A1 111可以查询其所存储的路由表,以获得该目标数据(例如,a)的数据标识I,例如,该数据标识I可以包括对目标数据(例如,a)进行哈希处理得到的哈希标识IH(例如,hash(a))以及表征第一区域的地理位置标识IL(例如,A),并且其中,哈希标识IH与地理位置标识IL是可以解耦的。在一个实施例中,地理位置标识IL表征目标数据的元数据被存储的区域。
在框204处,第一节点A1 111基于数据标识,确定存储目标数据的元数据的第二节点,其中第一节点和第二节点都位于第一区域,并且元数据包括所述数据标识。
在一个实施例中,第一节点A1 111在获取数据标识I后,可以基于数据标识中的地理位置标识IL(例如,A),确定元数据存储在该第一区域中。第一节点A1 111基于数据标识,确定存储该目标数据的节点。在一个实施例中,第一节点A1 111可以计算数据标识I与本区域中的每个节点的标识之间的距离(例如,计算异或距离),并将计算得到的距离中最短的距离所对应的节点确定为存储该目标数据的节点。以图1为例,第一节点A1 111可以确定与数据标识I距离最短的节点为第二节点A2 112,从而可以确定目标数据的元数据被存储在第二节点A2 112中,如图1所示。
在框206中,第一节点基于元数据,确定存储目标数据的第三节点,其中第三节点位于与第一区域不同的第二区域。
在一个实施例中,第一节点A1 111基于从第二节点A2 112中获得的元数据,可以确定,目标数据a被存储在不同于第一区域的第二区域的第二节点B2 122中,由此,可以实现对目标数据a的查询并进一步从节点B2 122中获取目标数据。
此外,在一个实施例中,针对存储在节点中的元数据,例如,存储在第二节点A2112中的元数据Ma,当在预定时间间隔内(例如,24小时),该元数据Ma未被查询,则该元数据被从第二节点A2 112中删除。以这样的方式,元数据可以自动生成并从节点中移除,从而实现元数据存储的更新,方便节点更加快速高效地在当前区域中查询元数据。
图2中的方法200描述了跨区域查询数据的实现方法,例如,从第一区域实现对存储在第二区域中的目标数据a的快速查询和获取。通过将数据标识中的地理位置标识和哈希标识解耦,并用指示目标查询区域的地理位置标识对元数据中的地理位置标识进行更新,并将更新的元数据存储在目标查询区域中,能够在跨区域查询目标数据的情况下,在本区域中查找到元数据,从而快速实现对跨区域存储的数据的查询和获取。通过该方法,可以加快跨区域查询数据的处理速度,降低了延时,提升了获取数据的灵活性和性能。
在一个实施例中,存储在目标查询区域中的元数据是基于初始元数据更新得到,初始元数据被存储在与第一区域不同的区域的节点处(例如,第二区域中的第四节点处),并且初始元数据中的初始数据标识包括哈希标识和表征该第二区域的第二地理信息标识,并且第二地理信息标识与哈希标识是可以解耦的。
在一个实施例中,初始元数据可以是目标数据的初始元数据,该初始元数据中包括初始数据标识Iint,该初始数据标识Iint包括哈希标识IH和表征目标数据所在的区域的初始地理信息标识ILint,而且,哈希标识IH和表征目标数据所在的区域的初始地理信息标识ILint是可以解耦的。
以图1为例进行说明,可以理解的是,元数据Mb可以对应于目标数据a的初始元数据,元数据Ma是基于初始元数据Mb更新得到的。在初始元数据Mb中,初始数据标识Iint包括哈希标识IH hash(a)和表征存储初始元数据Mb的节点所在区域的初始地理信息标识ILintB。并且,哈希标识IH hash(a)和初始地理信息标识ILint B是可以解耦的。元数据Ma是基于初始元数据Mb更新得到的。如图1所示,元数据Ma是通过将初始地理信息标识ILint B更新为表征目标查询区域(例如,第一区域)后得到的。将在下文中详细描述具体的更新操作细节。
存在多种更新地理位置信息标识的方法。在一个实施例中,可以由目标查询区域中的节点(例如,第一区域A中的要对数据进行查询的第一节点A1 111或者其他节点)实现目标数据的更新并进一步得到更新的元数据。以下,将结合图3详细说明由第一节点A1 111更新元数据的具体操作。
图3中示出由目标区域中的节点(例如,第一节点A1 111)执行的更新元数据的操作流程图300。本领域技术人员应当理解,图3中的流程图仅是示意性的,流程图300可以在目标查询区域中的任何节点处执行。
如图3所示,流程图300结合第一区域A中的第一节点A1 111和第二节点A112以及第二区域中的第四节点B1 121(第四节点B1121存储有初始元数据Mb)进行描述。
在301处,第一区域中的第一节点A1 111从第四节点B1 121处获取初始元数据Mb。在一个实施例中,如图1所示,初始元数据Mb包括初始数据标识Iint,该初始数据标识Iint包括哈希标识IH hash(a)和初始地理信息标识ILint B,并且其中,初始地理信息标识ILint B指示存储初始元数据Mb的节点所在的区域(例如,第二区域)。
在302处,第一节点A1 111响应于确定目标数据要被所述第一区域中的节点查询,生成第一地理信息标识,第一地理信息标识指示查询数据的目标区域。
在一个实施例中,第一节点A1 111除可以查询目标数据之外,还可以预测本区域内的其他节点(例如,节点A2 112、节点A3 113)是否也需要查询目标数据以及其他被存储在第二区域B中的数据。当第一节点A1 111确定目标数据要被第一区域的节点查询时,第一节点A1 111可以将所在的第一区域确定为目标区域,并生成指示该目标区域的第一地理信息标识IL,例如,A。
在303处,第一节点A1 111可以将第二地理信息标识与哈希标识解耦。在一个实施例中,初始元数据中第一节点A1 111可以将接收到的初始元数据中的第二地理信息标识(即,初始地理信息标识ILint B)与哈希标识IH hash(a)解耦。例如,第一节点A1 111可以将接收到的初始元数据中的第二地理信息标识(即,初始地理信息标识ILint B)从初始元数据Mb中的初始数据标识中Iint移除,以实现与哈希标识IH hash(a)解耦。
304处,第一节点A1 111将解耦合后的第二地理信息标识更新为第一地理信息标识,并与哈希标识耦合以获得包括数据标识的元数据。
在一个实施例中,第一节点A1 111利用生成的指示目标区域的第一地理信息标识IL(例如,A)更新解耦后的第二地理信息标识(即,初始地理信息标识ILint B),并将更新的地理信息标识IL与哈希标识IH hash(a)耦合(即,将更新的地理信息标识IL与哈希标识IHhash(a)组合),从而生成更新的数据标识I。基于更新的数据标识I,可以获得更新的元数据Ma。
在一个实施例中,元数据中的地理信息标识IL可以位于哈希标识IH之前,作为哈希标识IH的前缀。并且,初始元数据中的地理信息标识ILint B可以作为哈希标识IH的前缀。
在305处,第一节点A1 111基于数据标识I,将元数据存储在第二节点中。
在一个实施例中,第一节点A1 111基于元数据中的数据标识I与第一区域中的每个节点的标识,确定存储元数据的第二节点。
第一节点A1 111可以确定数据标识I与该第一区域中的每个节点的标识之间的距离。基于确定的距离,第一节点A1 111可以确定这些距离中的最短距离,并将第一区域中与该最短距离对应的节点确定为第二节点。在一个实施例中,第一节点A1 111可以基于数据标识I与该第一区域中的每个节点的标识之间的异或距离确定数据标识I与该第一区域中的每个节点的标识之间的距离。本公开不对具体的距离确定方式进行限定。
在确定第二节点A2 112的标识与元数据中的数据标识I的距离最短之后,第一节点A1 111将元数据Ma存储在该第二节点A2 112中,如图1中所示。应当理解,上述示例仅是示例性的,可以根据实际具体情况,在第一区域中确定存储元数据的节点。
此外,在一个实施例中,还可以由存储初始元数据的节点(例如,图1中的第二区域中的第四节点B1 121)实现元数据的更新以得到更新的元数据,并由该节点将更新的元数据发送到目标区域中的适当节点中,例如,第一区域中,其标识与该元数据的数据标识之间的距离最短的节点(例如,图1中的节点A2 112)。
具体地,在一个实施例中,第四节点(例如,图1中的第二区域中的第四节点B1121)可以检测存储在其中的初始元数据Mb被来自某个区域的节点访问的频次,例如,预定时间内被来自该区域的一个或多个节点访问的次数。如果第四节点确定访问次数超过访问阈值,则可以确定该区域为查询目标数据的目标区域。例如,第四节点检测到,预定时间内来自第一区域的节点对元数据Mb的访问次数超过访问阈值,则确定第一区域为查询目标数据a的目标区域,并可以将更新的元数据存储在目标区域中。
初始元数据Mb包括初始数据标识Iint,该初始数据标识Iint包括哈希标识IH hash(a)和初始地理信息标识ILint B,并且其中,初始地理信息标识ILint B指示存储初始元数据的节点所存储的区域(例如,第二区域)。此外,初始元数据还可以包括其他信息,例如,标识对应的数据的大小、数据来源等信息。
在一个实施例中,第四节点响应于确定该第一区域为查询目标数据的目标区域,生成表征第一区域的第一地理信息标识IL(例如,A)。
之后,第四节点基于哈希标识IH和第一地理信息标识IL,生成数据标识I,并基于数据标识I,生成更新的元数据。在一个实施例中,以数据a为例进行说明,第四节点可以获取对数据a进行哈希处理之后得到的哈希标识IH Hash(a),该哈希标识IH Hash(a)与初始元数据Mb中的哈希标识IH Hash(a)相同。第四节点进一步将生成的第一地理信息标识IL(例如,表征目标区域为第一区域的标识A)添加在哈希标识IH Hash(a)之前,并作为哈希标识IHHash(a)的前缀,从而生成更新的数据标识I。第四节点将该更新的数据标识I与初始元数据中除初始数据标识Iint之外的部分进行组合,从而生成更新的元数据。此外,在另一个实施例中,第四节点还可以复制初始元数据,并将复制的初始元数据中的哈希标识IH Hash(a)与第二地理信息标识ILint B进行解耦,并用生成的第一地理信息标识IL(例如,表征目标区域为第一区域的地理信息标识A)对解耦的第二地理信息标识ILint B进行替换,并将替换后的第一地理信息标识IL与哈希标识IH Hash(a)耦合,从而得到更新的元数据。
在生成更新的元数据之后,第四节点将该更新的元数据发送到目标区域中的合适节点以存储该更新的元数据。类似地,第四节点可以确定数据标识I与该目标区域中的每个节点的标识之间的距离。基于确定的距离,第四节点可以确定这些距离中的最短距离,并将目标区域中与该最短距离对应的节点确定为存储元数据的节点,例如,第二节点A2 112。在一个实施例中,第四节点可以基于数据标识I与该目标区域中的每个节点的标识之间的异或距离确定数据标识I与该目标区域中的每个节点的标识之间的距离。本公开不对具体的距离确定方式进行限定。
此外,在一个实施例中,如上所述,根据本公开实施例的目标数据的数据标识I包括哈希标识IH(例如,hash(a))以及表征第一区域的地理位置标识IL(例如,A),并且其中,哈希标识IH与地理位置标识IL是可以解耦的。基于这种哈希标识与地理位置标识解耦机制,节点可以在地理位置标识与哈希标识解耦的情况下处理数据块,从而避免了针对相同的数据块,由于该数据块的地理位置标识不同而引起的数据冗余。
以下,将结合图4和图5描述基于地理位置标识与哈希标识可以解耦的机制,节点对数据进行处理的操作过程。图4是根据本公开实施例的节点中用于处理数据的示意框图400。图5是节点处理数据的示例流程图500。示意框图400对应的节点可以是系统中的任何节点,并且,图5中的流程图500可以在系统中的任何节点处执行。
如图4所示,图4中节点中用于处理数据的框图400包括应用程序接口(API)组件401、数据处理组件402以及路由查找组件(例如,DHT路由查找组件)403。以下,将以第一区域中的第一节点A1111为例进行描述,本领域人员应当理解,这仅是示例性的,并且针对第一节点A1 111的描述可以适用于任何节点。
在一个实施例中,第一节点A1在接收并处理数据块之后,可以通过API 401向用户提供包括哈希标识和地理位置标识的数据标识,并且,地理位置标识可以作为哈希标识的前缀。
当第一节点A1接收到上传的数据的时候,数据处理组件402对接收到的数据进行处理。例如,数据处理组件402可以基于接收到的数据构建数据块,并对数据块进行哈希处理,以得到哈希标识IH。数据处理组件402可以对数据块进行管理并存储。在一个实施例中,数据块可以分立于数据处理组件402被存储,本公开不对此进行限制。
在一个实施例中,数据处理组件402还可以基于节点配置信息生成地理位置标识,该地理位置标识可以标识第一节点所在的区域。数据处理组件402在处理数据块的时候,是在地理位置标识与哈希标识解耦的情况下进行的。在地理位置标识与哈希标识解耦的情况下处理数据块,避免了针对相同的数据块,由于该数据块的地理位置标识不同而引起的数据冗余。
路由查找组件403中存储各个节点的路由信息。在一个实施例中,来自路由查找组件403上层的组件(例如,数据处理组件402)可以将包括地理位置标识与哈希标识的数据标识发送到路由查找组件403中,用于之后的路由查找。在将数据标识发送到路由查找组件403的过程中,上层组件可以将解耦的地理位置标识与哈希标识进行耦合,例如,将地理位置标识添加到哈希标识之前作为哈希标识的前缀,并发送给路由查找组件403。此外,在一个实施例中,上层组件还可以响应于路由查找组件403调用的函数,将地理位置标识作为参数传输给路由查找组件403从而将地理位置标识与哈希标识存储在路由表中,并且,地理位置标识可以作为哈希标识的前缀。此外,在另一个实施例中,可以将生成哈希标识的组件重新配置为生成整体的哈希标识和地理位置标识(即,数据标识),并且,哈希标识和地理位置标识是可以解耦的,其中,地理位置标识可以作为哈希标识的前缀。
以下,将结合图5描述节点(例如,第一节点)对数据进行处理的流程。本领域技术人员应当理解的是,图5中的流程图500可以在系统中的任何节点处执行。
在框502处,第一节点基于节点配置信息生成第一地理位置标识。其中,第一地理位置标识指示该第一节点所在的区域。
在框504处,第一节点可以接收数据块,并基于接收到的数据块生成数据块的对应哈希标识。在一个实施例中,第一节点可以接收来自其他节点发送的数据块,并根据接收到的数据块生成对应的哈希标识。在一个实施例中,第一节点可以接收来自用户上传的数据,并将上传的数据进行分块,以生成数据块,并根据生成的数据块生成对应的哈希标识。本公开对第一节点接收的数据块的来源不进行限制。
在框506处,在第一地理位置标识与对应哈希标识解耦的情况下,第一节点处理并存储数据块。在地理位置标识与哈希标识解耦的情况下处理数据块,避免了针对相同的数据块,由于该数据块的地理位置标识不同而引起的数据冗余。
在框508处,第一节点可以将第一地理位置标识与对应哈希标识耦合以生成数据块的对应数据标识,并将对应数据标识存储在路由查找表中。将第一地理位置标识与对应哈希标识耦合可以包括将第一地理位置标识与哈希标识组合在一起,并且,第一地理位置标识可以作为哈希标识的前缀,组合后的第一地理位置标识与哈希标识可以形成数据块的数据标识,路由表中可以存储数据标识,并且,数据标识可以与表征数据属性的其他部分一起,用于生成元数据。
以上结合图4和图5描述了在地理位置标识与哈希标识解耦的情况下,节点处理数据的实施方式,并且,耦合的地理位置标识和哈希标识可以被存储在路由表中,用于路由信息查找。
此外,针对数据查询请求,节点在处理查询请求时,可以查找本地是否存储有目标数据,如果有,则将目标数据经由本地发送给第一节点;如果没有,则可以将数据标识中的第一地理位置标识与哈希标识解耦,并响应于解耦,处理查询请求并将处理后的查询请求发送给基于数据标识息获得的存储元数据的节点,以获取目标数据。
通过将地理位置标识与哈希标识解耦,对数据信息处理,避免了针对相同的数据块,由于该数据块的地理位置标识不同而引起的数据冗余。
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。图1中的节点可以利用设备600来实现。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储页面608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和500,可由处理单元601执行。例如,在一些实施例中,方法200和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法200和500的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (21)
1.一种用于跨区域查询数据的方法,所述方法包括:
响应于在第一节点处接收到对目标数据的查询请求,获取所述目标数据的数据标识;
基于所述数据标识,确定存储所述目标数据的元数据的第二节点,其中所述第一节点和所述第二节点都位于第一区域,并且所述元数据包括所述数据标识;以及
基于所述元数据,确定存储所述目标数据的第三节点,其中所述第三节点位于与所述第一区域不同的第二区域。
2.根据权利要求1所述的方法,其中所述数据标识包括哈希标识和表征所述第一区域的第一地理信息标识,并且所述第一地理信息标识与所述哈希标识是能够解耦的。
3.根据权利要求2所述的方法,其中所述元数据基于初始元数据更新得到,所述初始元数据被存储在所述第二区域中的第四节点处,并且所述初始元数据中的初始数据标识包括所述哈希标识和表征所述第二区域的第二地理信息标识,并且所述第二地理信息标识与所述哈希标识是能够解耦的。
4.根据权利要求3所述的方法,还包括:
从所述第四节点处获取所述初始元数据;
响应于确定所述目标数据要被所述第一区域中的节点查询,生成所述第一地理信息标识;
将所述第二地理信息标识与所述哈希标识解耦;
将解耦合后的所述第二地理信息标识更新为所述第一地理信息标识,并与所述哈希标识耦合以获得包括所述数据标识的所述元数据;以及
基于所述数据标识,将所述元数据存储在所述第二节点中。
5.根据权利要求4所述的方法,其中基于所述数据标识,将所述元数据存储在所述第二节点中包括:
确定所述数据标识与所述第一区域中的每个节点的标识之间的距离;
确定所述距离中的最短距离;以及
将所述第一区域中与所述最短距离对应的节点确定为所述第二节点。
6.根据权利要求3所述的方法,其中所述元数据由所述第四节点生成,并且由所述第四节点发送到所述第一区域中的所述第二节点。
7.根据权利要求6所述的方法,其中所述元数据由所述第四节点通过以下操作生成:
响应于确定所述第一区域为查询所述目标数据的目标区域,生成表征所述第一区域的所述第一地理信息标识;
基于所述哈希标识和所述第一地理信息标识,生成所述数据标识;以及
基于所述数据标识,生成所述元数据。
8.根据权利要求2所述的方法,还包括:
将所述数据标识中的第一地理位置标识与所述哈希标识解耦;以及
响应于所述解耦,处理所述查询请求以获取所述目标数据。
9.根据权利要求2所述的方法,还包括:
基于节点配置信息生成所述第一地理位置标识;
接收数据块,并基于数据块生成所述数据块的对应哈希标识;
在所述第一地理位置标识与所述对应哈希标识解耦的情况下,处理并存储所述数据块;以及
将所述第一地理位置标识与所述对应哈希标识耦合以生成所述数据块的对应数据标识,并将所述对应数据标识存储在路由查找表中。
10.根据权利要求1所述的方法,其中当存储在所述第二节点中的所述元数据在预定时间间隔内未被查询时,所述元数据被从所述第二节点中删除。
11.一种电子设备,包括:
至少一个处理器;以及
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
响应于在第一节点处接收到对目标数据的查询请求,获取所述目标数据的数据标识;
基于所述数据标识,确定存储所述目标数据的元数据的第二节点,其中所述第一节点和所述第二节点都位于第一区域,并且所述元数据包括所述数据标识;以及
基于所述元数据,确定存储所述目标数据的第三节点,其中所述第三节点位于与所述第一区域不同的第二区域。
12.根据权利要求11所述的电子设备,其中所述数据标识包括哈希标识和表征所述第一区域的第一地理信息标识,并且所述第一地理信息标识与所述哈希标识是能够解耦的。
13.根据权利要求12所述的电子设备,其中所述元数据基于初始元数据更新得到,所述初始元数据被存储在所述第二区域中的第四节点处,并且所述初始元数据中的初始数据标识包括所述哈希标识和表征所述第二区域的第二地理信息标识,并且所述第二地理信息标识与所述哈希标识是能够解耦的。
14.根据权利要求13所述的电子设备,所述动作还包括:
从所述第四节点处获取所述初始元数据;
响应于确定所述目标数据要被所述第一区域中的节点查询,生成所述第一地理信息标识;
将所述第二地理信息标识与所述哈希标识解耦;
将解耦合后的所述第二地理信息标识更新为所述第一地理信息标识,并与所述哈希标识耦合以获得包括所述数据标识的所述元数据;以及
基于所述数据标识,将所述元数据存储在所述第二节点中。
15.根据权利要求14所述的电子设备,其中基于所述数据标识,将所述元数据存储在所述第二节点中包括:
确定所述数据标识与所述第一区域中的每个节点的标识之间的距离;
确定所述距离中的最短距离;以及
将所述第一区域中与所述最短距离对应的节点确定为所述第二节点。
16.根据权利要求13所述的电子设备,其中所述元数据由所述第四节点生成,并且由所述第四节点发送到所述第一区域中的所述第二节点。
17.根据权利要求16所述的电子设备,其中所述元数据由所述第四节点通过以下操作生成:
响应于确定所述第一区域为查询所述目标数据的目标区域,生成表征所述第一区域的所述第一地理信息标识;
基于所述哈希标识和所述第一地理信息标识,生成所述数据标识;以及
基于所述数据标识,生成所述元数据。
18.根据权利要求12所述的电子设备,所述动作还包括:
将所述数据标识中的第一地理位置标识与所述哈希标识解耦;以及
响应于所述解耦,处理所述查询请求以获取所述目标数据。
19.根据权利要求12所述的电子设备,所述动作还包括:
基于节点配置信息生成所述第一地理位置标识;
接收数据块,并基于接收到的所述数据块生成所述数据块的对应哈希标识;
在所述第一地理位置标识与所述对应哈希标识解耦的情况下,处理并存储所述数据块;以及
将所述第一地理位置标识与所述对应哈希标识耦合以生成所述数据块的对应数据标识,并将所述对应数据标识存储在路由查找表中。
20.根据权利要求11所述的电子设备,其中当存储在所述第二节点中的所述元数据在预定时间间隔内未被查询时,所述元数据被从所述第二节点中删除。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至10中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658339.5A CN117251489A (zh) | 2022-06-10 | 2022-06-10 | 用于跨区域查询数据的方法、电子设备和计算机程序产品 |
US17/855,884 US20230403227A1 (en) | 2022-06-10 | 2022-07-01 | Method, electronic device, and computer program product for cross-regional data searching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658339.5A CN117251489A (zh) | 2022-06-10 | 2022-06-10 | 用于跨区域查询数据的方法、电子设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117251489A true CN117251489A (zh) | 2023-12-19 |
Family
ID=89076947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210658339.5A Pending CN117251489A (zh) | 2022-06-10 | 2022-06-10 | 用于跨区域查询数据的方法、电子设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230403227A1 (zh) |
CN (1) | CN117251489A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
CN101771715B (zh) * | 2008-12-26 | 2014-04-16 | 华为技术有限公司 | 分布式网络构建存储的方法、装置和系统 |
US9286323B2 (en) * | 2013-02-25 | 2016-03-15 | International Business Machines Corporation | Context-aware tagging for augmented reality environments |
US9906597B2 (en) * | 2015-04-07 | 2018-02-27 | Microsoft Technology Licensing, Llc | Collaboration data proxy system in cloud computing platforms |
JP6573044B1 (ja) * | 2019-03-22 | 2019-09-11 | 富士ゼロックス株式会社 | データ管理システム |
CN112749145A (zh) * | 2019-10-29 | 2021-05-04 | 伊姆西Ip控股有限责任公司 | 存储和访问数据的方法、设备和计算机程序产品 |
CN112882647A (zh) * | 2019-11-29 | 2021-06-01 | 伊姆西Ip控股有限责任公司 | 存储和访问数据的方法、电子设备和计算机程序产品 |
-
2022
- 2022-06-10 CN CN202210658339.5A patent/CN117251489A/zh active Pending
- 2022-07-01 US US17/855,884 patent/US20230403227A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230403227A1 (en) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9754002B2 (en) | Method and system for providing a synchronization service | |
WO2019200714A1 (zh) | 服务器连接方法、计算机可读存储介质、终端设备及装置 | |
AU2015370268B2 (en) | System and method for discovering a lan synchronization candidate for a synchronized content management system | |
US20040024867A1 (en) | Method and apparatus for determination of device capabilities on a network | |
KR20030047856A (ko) | 데이터 처리 시스템, 데이터 처리 방법, 정보 처리 디바이스, 및 컴퓨터 판독가능 기록 매체 | |
US10983718B2 (en) | Method, device and computer program product for data backup | |
US9742669B2 (en) | Aliasing of named data objects and named graphs for named data networks | |
CN112749145A (zh) | 存储和访问数据的方法、设备和计算机程序产品 | |
CN114064668A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US20140222891A1 (en) | Location-based content-centric networking method | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
KR101846778B1 (ko) | Id 확인 서비스 방법 및 이를 적용한 m2m 시스템 | |
US11063863B2 (en) | Systems and methods for transmitting and receiving interest messages | |
CN112162987A (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2018032705A1 (zh) | 用于提供无线接入点信息包的方法与设备 | |
CN115004665A (zh) | 文件分享方法、装置及系统 | |
CN117251489A (zh) | 用于跨区域查询数据的方法、电子设备和计算机程序产品 | |
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 | |
US20230239350A1 (en) | Method, device, and computer program product for data storage | |
CN112148728A (zh) | 用于信息处理的方法、设备和计算机程序产品 | |
US11057470B2 (en) | Communication device and communication method for processing meta data | |
KR101940802B1 (ko) | 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 | |
CN117435587A (zh) | 用于查询数据的方法、电子设备和计算机程序产品 | |
WO2018188073A1 (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 |