18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > P2P索引(数据库)

P2P索引(数据库)

时间:2022-11-05 14:30:01 | 来源:信息时代

时间:2022-11-05 14:30:01 来源:信息时代

    P2P索引 : 现有的数据库索引技术、高维空间索引技术和分布式索引技术等在P2P环境下的扩展索引。目前已有相当多的P2P索引结构。P2P索引技术是避免查询泛滥整个网络,从而提高P2P网络搜索效率、增强P2P网络可扩展性的重要措施之一。
BATON(balanced tree overlay network)是建立在P2P网络之上且可以支持精确匹配查询(exact match query)和范围查询(range query)的一种平衡的树型覆盖网。BATON可根据数据倾斜情况自动进行调节以使得树保持平衡。为了支持有效查找和容错,需要维护树中的垂直路由信息和水平路由信息。BATON中的覆盖网是平衡的二叉树结构。BATON中的每个结点与一个层号和一个数字编号相关。根结点的层号为0,其直接子结点位于层号为1的层上,以此类推。
任意一个结点的层号都要比其父结点的层号大1。因此,树中最大层号比树的高度小1。在一棵二叉树的L层上,存在最多2L个结点。在每一层上,从左到右为这2L个结点编号,即编号值从1到2L,无论在某个位置上是否存在一个实例化的结点。于是,层号和数字编号合在一起就确定了一个结点在二叉树中的位置。树中的每个结点映射到peer-to-peer系统的一个peer计算结点上,每个物理结点与IP地址或者其他网络ID相关,这样的ID可以用来定位结点的位置并互相通信。于是,根据层号和数字编号就给每个结点分配一个逻辑ID,根据IP地址则分配一个物理ID。树中每个结点维护着到其父结点、子结点、邻接结点(adjacent node)以及挑选的位于同一层上的邻居结点(neighbour nodes)的链接(links)。其中邻接结点是通过中序遍历二叉树来确定的,有左邻接结点和右邻接结点之分,前者指中序遍历中位于某个结点x之前的那个结点,而后者指中序遍历中位于结点x之后的那个结点。到挑选的邻居结点是通过两种特殊的sideways路由表来维护的:即左侧路由表和右侧路由表。左(右)侧路由表中编号为N的结点的第j个元素包含着到同层编号为N—2j-1的结点的链接。图1为一个BATON的树型覆盖网。


图1 二叉平衡树索引结构


VBI-树(virtual binary index-tree)既支持点查询也支持范围查询。VBI-树中的结点可以划分为两类:数据结点(或者称作叶子结点)和路由结点(或者称作内部结点),前者保存数据,后者只保存路由信息。类似于BATON,VBI-树中的每个路由结点都与其父结点、子结点、邻接结点以及sideways路由表相连,但不必保存由邻居结点所覆盖的区域编码; 相反,每个路由结点要维护一个“upside table”,该表记录了该结点每个祖先所涵盖的区域编码。
此外,每个结点需要保存以其子结点为根的子树的信息。VBI-树采用了一种吝啬的构建策略,即要求每个内部结点有两个子结点,该策略迫使VBI-树中的结点数是奇数。
网络中的每个peer被分配一对VBI-树结点:即一个路由结点和一个数据结点,该数据结点是该路由结点按中序遍历时的左邻接结点。由于每个peer都保存了一个路由结点和一个数据结点,查询请求可以通过路由结点中的连接向前传递;为节省空间,数据结点无需总保存sideways路由表。
图2给出了一棵VBI-树。其中,路由结点m和其左邻接结点m′构成了一个peer; 按照中序遍历,结点m的左邻接结点为m′,而右邻接结点为r′。


图2 一棵VBI-树

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭