CN101626392A - 数据存储、查找的方法及*** - Google Patents
数据存储、查找的方法及*** Download PDFInfo
- Publication number
- CN101626392A CN101626392A CN200810116322A CN200810116322A CN101626392A CN 101626392 A CN101626392 A CN 101626392A CN 200810116322 A CN200810116322 A CN 200810116322A CN 200810116322 A CN200810116322 A CN 200810116322A CN 101626392 A CN101626392 A CN 101626392A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- sign
- geographic location
- location area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法,该方法包括:确定待存储的数据归属的地理位置区域;根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。本发明同时公开一种数据查找方法、数据存储***和数据查找***。采用本发明可以按地理位置区域实现数据的存储和查询。
Description
技术领域
本发明涉及通信技术领域,尤其涉及数据存储、查找的方法及***。
背景技术
DHT(Distributed Hash Table,分布式哈希表)可用于分布式的数据存储。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。经典DHT使用标准哈希函数为每一份数据分配***内一个唯一的ID(标识),同时也根据节点的识别符,如IP地址等,为每一个节点分配***内唯一的ID。经典DHT使用的标准哈希函数可以定义为KEY=Hash(data),其中data是欲生成ID的数据,KEY是标准哈希函数的返回值。
数据ID的分配可以按如下公式执行:
数据ID=Hash(数据)
节点ID的分配可以按如下公式执行:
节点ID=Hash(节点IP地址)
图1为利用经典DHT进行数据存储的一个具体实例,图中示出了一个3bit的ID空间(从0至2^3-1),可以称为一个ID环,每一个节点负责存储位于其前驱及其之间的那部分ID空间对应的数据。假设ID空间为N,节点s的ID为s.id,s的前驱为s.p,s负责存储ID为d的数据,d符合如下公式:
0<(d-s.p.id)mod N<=(s.id-s.p.id)mod N
在图1中,可以看到,***中存在ID为0、1、3共3个节点;ID为1、2、6共3份数据。则根据上文描述的数据存储原理,即将数据存储于节点ID大于等于数据ID的节点中,节点ID最小的节点,则数据1应存储于节点1上,数据2应存储于节点3上,数据6应存储于节点0上(在ID环上顺时针方向依次查找节点)。
下面以Chord为例,具体说明经典DHT的实现方法:
Chord中,每个节点只需要保存ID环上下一个节点的地址信息,就能够保证整个覆盖网络的连通。这时,每个节点的路由表为O(1),但是,此时查找路径长度为O(N),扩展性很差。为了提高扩展性和路由效率,Chord节点维护O(m)大小的指针表(finger table)。设节点A的ID为n,则节点A的指针表第i项是在ID空间上距离节点n至少2i-1的第一个节点s,即s=successor(n+2i-1),其中1≤i≤m。虽然指针表可以提高路由的效率,但并不能增加路由的准确性。图2所示为ID长度为3的ID空间以及指针表。
关键字的查找是指查找该关键字在ID空间上的后继节点S保存的该关键字对应资源的信息(存储地址等)。由于Chord节点只保存部分节点的信息,在查找时需要经过多个节点才能到达节点S。查找过程中,每一跳都可以使到节点S的逻辑距离减少一半,则经过m跳后,查找请求可到达节点S。由于一致哈希可以使节点和关键字ID随机地分布在ID空间上,所以查找请求在经过O(logN)个节点后到达S。
图3示出了没有引入指针表时的路由路径。每个节点把请求沿顺时针方向转发,直到存储请求关键字的节点。所以,路由长度平均为O(N),缺乏扩展性。
图4A、图4B示出了引入指针表后,Chord的路由路径。其中,图4A显示了节点N8的指针表,图4B显示了查询路径。节点在收到请求消息后,首先确定是否保存着所要请求的关键字,如果没有保存则从指针表的最后一项开始遍历指针表,知道找到第一个比所要请求的关键字ID小的表项,然后把请求消息转发给该项指向的节点。比如,N8查找关键字ID54对应的数据资源,由于54大于指针表的最后一项,所以最后一项40的后继节点42将成为消息的下一跳。以此类推,直到到达节点N56。
有了资源定位算法,数据查询和存储都变得顺理成章,只要先定位到应该存储某数据的节点,然后进行查询和存储即可。
发明人在实现本发明的过程中,发现早期的DHT实现了随机化分配节点ID和用户数据ID,但是没有考虑到数据地域性的问题。
数据地域性的问题是指:某些数据可能是地域敏感的。举例来说,对于存储在节点A上的文件“中国春节联欢晚会录像”,中国用户的下载次数一般大于美国用户的下载次数。如果使得数据存储于位于中国的节点,则能够使得占绝大多数的中国用户获得比较快的下载速度;同时相比于将“中国春节联欢晚会录像”置于中国以外的节点,将节省大量出国带宽。
发明内容
本发明实施例提供一种数据存储方法,用以按地理位置区域实现数据的存储,该方法包括:
确定待存储的数据归属的地理位置区域;
根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
本发明实施例还提供一种数据查找方法,用以按地理位置区域实现数据的查找,该方法包括:
确定待查找的数据归属的地理位置区域;
根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
本发明实施例还提供一种数据存储***,用以按地理位置区域实现数据的存储,该***包括:
第一确定模块,用于确定待存储的数据归属的地理位置区域;
第二确定模块,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
查找模块,用于在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
存储模块,用于在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
本发明实施例还提供一种数据查找***,用以按地理位置区域实现数据的查找,该***包括:
第一确定模块,用于确定待查找的数据归属的地理位置区域;
第二确定模块,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
第一查找模块,用于在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
第二查找模块,用于在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
本发明实施例中,确定待存储的数据归属的地理位置区域;根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息,从而可以按地理位置区域实现数据的存储。
本发明实施例中,确定待查找的数据归属的地理位置区域;根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息,从而可以按地理位置区域实现数据的查找。
附图说明
图1为背景技术中利用经典DHT进行数据存储的一个具体实例的示意图;
图2为背景技术中ID长度为3的ID空间以及指针表的示意图;
图3为背景技术中未引入指针表时的路由路径示意图;
图4A、图4B为背景技术中引入指针表时的路由路径示意图;
图5为本发明实施例中利用两层DHT结构进行数据存储和查询的示意图;
图6为本发明实施例中数据存储的处理流程图;
图7为本发明实施例中数据存储的一个具体实施的示意图;
图8为本发明实施例中数据查找的处理流程图;
图9为本发明实施例中数据存储***的结构示意图;
图10为本发明实施例中数据查找***的结构示意图。
具体实施方式
本发明实施例中,分配节点的标识和数据的标识过程结合了传统DHT中使用的哈希函数和按地理位置区域信息进行调整,使得节点的标识和数据的标识携带地理位置区域信息。首先根据经典DHT的哈希算法对节点的地址信息或数据的特征信息进行哈希运算,得到中间结果,该中间结果一般是32、64、或128位的二进制数,具体结果是多少位由哈希函数决定;再根据节点或数据的地理位置区域信息对中间结果进行调整。其中,节点的地址信息可以是IP地址、域名等;数据的特征信息可以是数据的其中一部分、属性等。
节点的标识可以由节点的地址信息经哈希运算后携带入节点的地理位置区域信息获得;所述数据的标识可以由所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息获得。
实施中,所述节点的地址信息经哈希运算后携带入所述节点的地理位置区域信息可以有多种方式,例如在所述节点的地址信息经哈希运算后的所得数据的前部(即前缀)或中部,***一用于标识所述节点的地理位置区域信息的数据;所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息可以有多种方式,例如在所述数据的特征信息经哈希运算后的所得数据的前部(即前缀)或中部,***一用于标识所述数据的地理位置区域信息的数据。
例如,假设数据的标识和节点的标识都是128位,设前6位为用于标识地理位置区域信息的前缀,则可以有:区域A内所有节点的标识和数据的标识均以000000开头,区域B所有节点的标识和数据的标识均以000001开头。
又如,节点ID的分配可以是对节点IP的地址进行哈希运算,得到128位的二进制数22222...222,再根据节点的IP地址中蕴含的地理位置区域信息,对该二进制数进行调整,例如为该二进制数添加一个6位的前缀,如000001,则该ID变为了128+6共134位二进制数,000001 22222..222;也可以先将128位的二进制数22222...222的前6位去掉,再添加前缀,这样可以保证调整后的结果仍然是128位数,调整后的结果为000001 222...222。
数据ID的生成方法与之类似。
如图5所示,本发明实施例中采用两层DHT结构进行数据的存储和查询。两层DHT均采用相同的DHT技术,网络中的每个节点同时加入两个DHT,例如省级DHT和全国级DHT,每个节点形成并维护两块路由表,省级DHT路由表和全国级DHT路由表。当某一节点执行业务操作(如数据存储或查询)时,首先从自己的省级DHT路由表中查找目标索引,当该索引数据不在自己的省级DHT路由表中时,再到全国级DHT路由表中去查找。由于网络中的每个节点具有双重身份,也可以在第一跳查询的时候就决定在全国级DHT路由表中查找还是在本地省级DHT路由表中查。
两层DHT的路由表与单层DHT的路由表不同,单层DHT只维护一张全网路由表,而两层DHT的节点维护一张全网路由表的同时,也维护一张本地路由表。
如图6所示,本发明实施例中,数据存储的处理流程如下:
步骤601、确定待存储的数据归属的地理位置区域。
步骤602、根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息。
步骤603、在所述数据归属的地理位置区域内的节点中查找目标节点。实施中,目标节点可以是所述数据归属的地理位置区域中,标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点,也可以是所述数据归属的地理位置区域中,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点。
步骤604、在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
实施中,网络中接收数据存储请求的节点可以根据数据中携带的某些信息,例如数据中的地理位置区域编码(如电话号码中的区号),确定待存储的数据归属的地理位置区域。若该数据是本地数据,即该数据归属的地理位置区域与本节点归属的地理位置区域为同一区域,则可以根据本地路由表将该数据存储到本地节点环中;若该数据是外地数据,即该据归属的地理位置区域与本节点归属的地理位置区域为不同的区域,则可以根据全网路由表将该数据存储到全网节点组成的大环中(存储于该数据归属的地理位置区域所在的子环)。
存储的目标节点可以是所述数据归属的地理位置区域中,标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点,也可以是所述数据归属的地理位置区域中,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点。举一例如图7所示,图中节点分为三类,分别是归属于区域A的节点(标识的前缀为00),归属于区域B的节点(标识的前缀为01),归属于区域C的节点(标识的前缀为10)。相应的,可以存储的数据也分为三类,分别是归属于区域A的数据(标识的前缀为00),归属于区域B的数据(标识的前缀为01),归属于区域C的数据(标识的前缀为10)。
以目标节点为所述数据归属的地理位置区域中,标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点为例,若有三份数据,标识分别为000110、010010、100001,则标识为000110的数据应存储于节点001000,标识为010010的数据应存储于节点010100,标识为100001的数据应存储于节点100010。
若节点001000不存在,则现有技术的经典DHT将标识为000110的数据存储于节点010000,但本例中DHT将标识为000110的数据存储于节点000010,以实现数据按归属的地理位置区域存储,即本地化存储。
如图8所示,本发明实施例中,数据查找的处理流程如下:
步骤801、确定待查找的数据归属的地理位置区域。
步骤802、根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息。
步骤803、在所述数据归属的地理位置区域内的节点中查找目标节点。实施中,目标节点可以是所述数据归属的地理位置区域中,标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点,也可以是所述数据归属的地理位置区域中,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点。
步骤804、在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
实施中,网络中接收数据查询请求的节点可以根据数据中携带的某些信息,例如数据中的地理位置区域编码(如电话号码中的区号),确定待查询的数据归属的地理位置区域。现有技术的经典DHT查找数据时,直接根据全网路由表在全网节点中进行节点查找,去找一个应该存有该数据的节点,如果找到,则请求的发起者会向找到的节点发送查询请求,目标节点如果确实存有该数据,则向请求发起者返回相应数据。
而本发明实施例的两层DHT按地理位置区域进行数据的查找。查找的实现可以有多种方式:例如,由于该数据归属的地理位置区域与本地节点归属的地理位置区域可能为同一区域,因而可以直接在本地节点路由表中查找应该存储该数据的节点;当该数据不在自己的本地DHT上时,即确定该数据归属的地理位置区域与本地节点归属的地理位置区域为不同的区域,再利用全国级的路由表中去查找。又如,可以先判断此数据是否是本地数据,如果是则根据自己的本地路由表从本地节点中查找目标节点,当该数据不在自己的本地DHT上时,再根据全网路由表将查询请求发送至该数据归属的地理位置区域,由该地理位置区域内的节点进行查找。
找到应该存储此数据的节点后,查找的发起节点会向找到的节点发起一次查询请求,请求中带有自己的IP地址、数据标识。收到请求的节点根据数据标识进行数据查找,如果找到则向源节点返回查到的结果,如果没有找到,则向源节点返回数据不存在。
两层DHT的具体实施可以有很多种方法,如KAD、Chord等,现以Chord为例进行说明,节点保留有逻辑上的两张路由表,当然具体实施时这两张路由表可以合设,现以合设方式进行说明,每节点保留有全网路由表,节点按照经典DHT方式进行路由的维护过程,既维护全网路由表,又以其所属地域为单位维护本地路由表,维护方法参照经典DHT方式。
由于哈希空间有128位,所以全网路由表项共有128项,完全按照经典DHT的方式进行维护更新(参见经典DHT实现方法)。由于采用前6位来区分地域不同的节点,则节点的本地路由表共有122项(参见经典DHT实现方法),如果查找本地数据则按照经典DHT的方式在依照本地路由表进行,具体流程参见经典DHT实现方法,如果查找外地数据则根据全网路由表将此请求转给相应地区的节点,则该节点再按照查找本地数据进行操作即可。
类似于两层DHT数据查询流程,如果存储的是本地数据,则按照经典DHT方式依照本地路由表进行,具体流程参见经典DHT实现方法,如果***的是外地数据,则将此请求根据全网路由表转给相应地区的节点,则该节点再按照查找本地数据的流程进行即可。
基于同一发明构思,本发明实施例还提供一种数据存储***,其结构如图9所示,包括:
第一确定模块901,用于确定待存储的数据归属的地理位置区域;
第二确定模块902,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
查找模块903,用于在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
存储模块904,用于在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
基于同一发明构思,本发明实施例还提供一种数据查找***,其结构如图10所示,包括:
第一确定模块1001,用于确定待查找的数据归属的地理位置区域;
第二确定模块1002,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
第一查找模块1003,用于在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
第二查找模块1004,用于在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
本发明实施例中,确定待存储的数据归属的地理位置区域;根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息,从而可以按地理位置区域实现数据的存储。
本发明实施例中,确定待查找的数据归属的地理位置区域;根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;在所述数据归属的地理位置区域内的节点中查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息,从而可以按地理位置区域实现数据的查找。
由于底层传输线路的成本是不一样的,城市之间传输线路的成本明显低于省际干线成本,省际干线成本又远低于跨洋的海底光缆,因此按地理位置区域实现数据的存储和查找,进行流量本地化是非常必要的,经典DHT要实现这一点是很困难的,而本发明实施例的两层DHT可以解决这个问题。
本发明实施例中,根据地理位置区域对节点和数据进行了分类,因此***对于一份数据的查找就限定在一个小区域内进行,从而提高了***的查找效率。例如,查找与区域A相关的数据只需要在与区域A相关的所有节点上进行查找。而经典DHT需要在全网所有节点这一个极大的范围内进行查找。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1、一种数据存储方法,其特征在于,该方法包括:
确定待存储的数据归属的地理位置区域;
根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
2、如权利要求1所述的方法,其特征在于,节点的标识由节点的地址信息经哈希运算后携带入节点的地理位置区域信息获得;
所述数据的标识由所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息获得。
3、如权利要求2所述的方法,其特征在于,所述节点的地址信息经哈希运算后携带入所述节点的地理位置区域信息是指:
在所述节点的地址信息经哈希运算后所得数据的前部或中部,***一用于标识所述节点的地理位置区域信息的数据;
所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息是指:
在所述数据的特征信息经哈希运算后所得数据的前部或中部,***一用于标识所述数据的地理位置区域信息的数据。
4、一种数据查找方法,其特征在于,该方法包括:
确定待查找的数据归属的地理位置区域;
根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
5、如权利要求4所述的方法,其特征在于,节点的标识由节点的地址信息经哈希运算后携带入节点的地理位置区域信息获得;
所述数据的标识由所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息获得。
6、如权利要求5所述的方法,其特征在于,所述节点的地址信息经哈希运算后携带入所述节点的地理位置区域信息是指:
在所述节点的地址信息经哈希运算后所得数据的前部或中部,***一用于标识所述节点的地理位置区域信息的数据;
所述数据的特征信息经哈希运算后携带入所述数据的地理位置区域信息是指:
在所述数据的特征信息经哈希运算后所得数据的前部或中部,***一用于标识所述数据的地理位置区域信息的数据。
7、一种数据存储***,其特征在于,包括:
第一确定模块,用于确定待存储的数据归属的地理位置区域;
第二确定模块,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
查找模块,用于在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
存储模块,用于在所述目标节点,按所述数据的标识存储所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
8、一种数据查找***,其特征在于,包括:
第一确定模块,用于确定待查找的数据归属的地理位置区域;
第二确定模块,用于根据节点的标识,确定所述数据归属的地理位置区域内的节点,其中,节点的标识中包含有节点的地理位置区域信息;
第一查找模块,用于在所述数据归属的地理位置区域内的节点中,查找目标节点,所述目标节点是指:标识取值大于等于所述数据的标识取值的节点中,标识取值最小的节点;或,标识取值小于等于所述数据的标识取值的节点中,标识取值最大的节点;
第二查找模块,用于在所述目标节点,按所述数据的标识查找所述数据,其中,所述数据的标识中包含有所述数据的地理位置区域信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101163227A CN101626392B (zh) | 2008-07-08 | 2008-07-08 | 数据存储、查找的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101163227A CN101626392B (zh) | 2008-07-08 | 2008-07-08 | 数据存储、查找的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101626392A true CN101626392A (zh) | 2010-01-13 |
CN101626392B CN101626392B (zh) | 2012-08-15 |
Family
ID=41522075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101163227A Active CN101626392B (zh) | 2008-07-08 | 2008-07-08 | 数据存储、查找的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101626392B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102511148A (zh) * | 2011-11-17 | 2012-06-20 | 华为技术有限公司 | 关键字/值存储***中的子表部署方法及设备、*** |
CN103268460A (zh) * | 2013-06-20 | 2013-08-28 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
CN103810194A (zh) * | 2012-11-11 | 2014-05-21 | 刘龙 | 一种地理编码方法、位置查询***及方法 |
CN103986795A (zh) * | 2013-02-08 | 2014-08-13 | *** | 电话号码映射方法 |
CN107480054A (zh) * | 2017-07-25 | 2017-12-15 | 努比亚技术有限公司 | 一种调用链数据处理方法、设备及计算机可读存储介质 |
CN108228718A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种确定评估数据目标分区的处理方法及服务器 |
CN109165136A (zh) * | 2018-07-25 | 2019-01-08 | 平安科技(深圳)有限公司 | 终端运行数据的监控方法、终端设备及介质 |
CN109639582A (zh) * | 2018-12-07 | 2019-04-16 | 大科数据(深圳)有限公司 | 一种基于分布式哈希表的网络节点处理方法及装置 |
CN109743253A (zh) * | 2018-12-29 | 2019-05-10 | 杭州趣链科技有限公司 | 一种融合地理位置的分布式哈希表路由方法 |
CN109831494A (zh) * | 2019-01-21 | 2019-05-31 | 生迪智慧科技有限公司 | 用户数据管理方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772163B1 (en) * | 2001-12-20 | 2004-08-03 | Ncr Corporation | Reduced memory row hash match scan join for a partitioned database system |
CN101127758B (zh) * | 2006-08-16 | 2010-08-04 | 华为技术有限公司 | 移动节点的ip地址获取方法与获取*** |
-
2008
- 2008-07-08 CN CN2008101163227A patent/CN101626392B/zh active Active
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102511148B (zh) * | 2011-11-17 | 2014-08-13 | 华为技术有限公司 | 关键字/值存储***中的子表部署方法及设备、*** |
WO2012149821A1 (zh) * | 2011-11-17 | 2012-11-08 | 华为技术有限公司 | 关键字/值存储***中的子表部署方法及设备、*** |
CN102511148A (zh) * | 2011-11-17 | 2012-06-20 | 华为技术有限公司 | 关键字/值存储***中的子表部署方法及设备、*** |
CN103810194A (zh) * | 2012-11-11 | 2014-05-21 | 刘龙 | 一种地理编码方法、位置查询***及方法 |
CN103986795A (zh) * | 2013-02-08 | 2014-08-13 | *** | 电话号码映射方法 |
CN103268460B (zh) * | 2013-06-20 | 2016-02-10 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
CN103268460A (zh) * | 2013-06-20 | 2013-08-28 | 北京航空航天大学 | 一种云存储数据完整性验证方法 |
CN107480054A (zh) * | 2017-07-25 | 2017-12-15 | 努比亚技术有限公司 | 一种调用链数据处理方法、设备及计算机可读存储介质 |
CN108228718A (zh) * | 2017-12-06 | 2018-06-29 | 链家网(北京)科技有限公司 | 一种确定评估数据目标分区的处理方法及服务器 |
CN109165136A (zh) * | 2018-07-25 | 2019-01-08 | 平安科技(深圳)有限公司 | 终端运行数据的监控方法、终端设备及介质 |
CN109639582A (zh) * | 2018-12-07 | 2019-04-16 | 大科数据(深圳)有限公司 | 一种基于分布式哈希表的网络节点处理方法及装置 |
CN109743253A (zh) * | 2018-12-29 | 2019-05-10 | 杭州趣链科技有限公司 | 一种融合地理位置的分布式哈希表路由方法 |
CN109831494A (zh) * | 2019-01-21 | 2019-05-31 | 生迪智慧科技有限公司 | 用户数据管理方法及设备 |
CN109831494B (zh) * | 2019-01-21 | 2021-11-02 | 生迪智慧科技有限公司 | 用户数据管理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101626392B (zh) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101626392B (zh) | 数据存储、查找的方法及*** | |
CN101577662B (zh) | 一种基于树形数据结构的最长前缀匹配方法和装置 | |
US8325721B2 (en) | Method for selecting hash function, method for storing and searching routing table and devices thereof | |
CN101860474B (zh) | 基于对等网络的资源信息处理方法及对等网络 | |
CN101510897B (zh) | 针对层次化主机标识、基于叠加式dht的寻址***和方法 | |
EP2772040B1 (en) | Prefix and predictive search in a distributed hash table | |
KR20130117674A (ko) | 컨텐츠 중심 네트워크에 계층적 이름의 변화에 강인한 단축 이름을 생성하는 방법 및 노드 | |
CN103942209B (zh) | 数据处理方法 | |
US20080133494A1 (en) | Method and apparatus for searching forwarding table | |
CN102378407B (zh) | 一种物联网中的对象名字解析***及其解析方法 | |
CN105357247A (zh) | 基于分层云对等网络的多维属性云资源区间查找方法 | |
CN101645831B (zh) | 一种p2p***中的节点组织方法 | |
CN102378409B (zh) | 一种物联网中的层次式Chord分组网络及其组织方法 | |
KR20090094313A (ko) | 콘텐츠를 배포하는 방법 및 시스템과, 콘텐츠를 검색하는 방법 및 시스템 | |
CN104252504B (zh) | 数据查询方法、设备和*** | |
CN108111422B (zh) | 一种基于dpdk的数据高速多路转发方法及装置 | |
CN101917475B (zh) | 一种基于p2p模式的psrd普适服务资源发现方法 | |
CN101902388A (zh) | 可扩充的多级排序资源快速发现技术 | |
CN103609081B (zh) | 通过解析进行路由 | |
CN111352938A (zh) | 数据处理方法、计算机设备及存储介质 | |
CN109729514B (zh) | 一种移动网络实体的动态位置信息的快速查询方法 | |
CN102457568B (zh) | 物联网信息服务***以及在该***上的信息处理方法 | |
US11563715B2 (en) | Pattern matching by a network device for domain names with wildcard characters | |
CN104980493A (zh) | 一种基于主动缓存算法的发现服务方法 | |
CN106250440A (zh) | 文档管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |