发明名称 一种支持分布式多集群计算环境的多维属性范围查询的方法
摘要 本发明涉及一种支持分布式多集群计算环境的多维属性范围查询方法来支持共享和检索历史性能数据,该方法在分布式哈希表(Distributed Hash Table)基础上使用向量索引来解决数字型属性的范围查询,通过对查询结果集进行交集操作来解决多维属性的简单查询,实验结果证明,该方法具有比较好的可扩展性。
申请公布号 CN101719155B 申请公布日期 2012.11.21
申请号 CN200910244347.X 申请日期 2009.12.29
申请人 北京航空航天大学 发明人 胡凯;陈陆佳;张新宇;丁毅;张伟
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种支持分布式多集群计算环境的多维属性范围查询的方法,其特征在于:在多维属性查询中,将多维属性查询定义为Q:=Q and Q|A=str|D[A]∈[umin,umax],其中D[A]表示属性A的取值,在使用属性值之前,将属性值所在的区间划分为k个小区间,用k位二进制向量编码,将值D[A]编码为一个k位的二进制向量BitIdx(D[A])=(b0,b1,...,bk‑1),对每个i=0,1,...,k‑2,仅当D[A]∈[ui,ui+1)时,bi=1,i=k‑1时,仅当D[A]∈[ui,ui+1]时,bi=1,K[A]为属性A的k比特的标识符,str为相应属性要查询的值,该方法包括以下步骤:步骤一、节点N接到多维查询请求Q,初始化资源集合W;步骤二、将多维复杂查询Q分解为单属性的简单查询Q1,Q2,……Qj,步骤三、j从1到n,其中n为节点的个数,循环处理以下步骤:处理简单查询Qj,如果Qj对应A=str的简单查询,根据哈希散列函数H(K[A]=str)找到资源集合W’;如果Qj对应数字型属性范围查询,使用数字型属性范围查询方法进行处理得到资源集合W’;如果集合W为空,则将W’赋给集合W,否则求集合W’与W的交集赋给集合W,其中:在数字型属性范围查询中,将查询定义为Q:=Q or Q|D[A]∈[umin,umax],其中D[A]表示属性A的取值,将值D[A]编码为一个k位的二进制向量BitIdx(D[A])=(b0,b1,...,bk‑1),对每个i=0,1,...,k‑2,仅当D[A]∈[ui,ui+1)时,bi=1,i=k‑1时,仅当D[A]∈[ui,ui+1]时,bi=1,K[A]为属性A的k比特的标识符,UnitBitIdx[i]为第i位为1的k阶单位向量,Nk=successor(H(K[A]+UnitBitIdx[i]))称为属性A的第i个关键节点,该节点维护了属性A属于区间i的向量索引表,其 中successor(P)为指向P的后继结点的后继函数,向量索引表的表项有:AttrIdent:属性标识符,能够在系统中唯一确定一个属性的值;UnitBitIdx:单位向量,对应k位的单位向量;Set:资源集合,包含对应单位向量索引的资源;数字型属性范围查询方法有以下步骤:步骤一、查询请求节点N初始化资源集合W;步骤二、将需要查询的属性A的值D[A]编码为一个k位的二进制向量BitIdx(D[A])=(b0,b1,...,bk‑1);步骤三、i从0到k‑1,循环处理以下步骤:计算b=UnitBitIdx[i]&BitIdx(D[A]),如果b不为0,求出属性A的第i个关键节点Nk=successor(H(K[A]+b)),将包含向量UnitBitIdx[i]的节点查询请求路由转发到节点Nk上,Nk初始化资源集合W’,在节点Nk上使用K[A]和UnitBitIdx[i]在向量索引表中找到对应的Set将其中的元素加入集合W’,Nk将资源集合W’返回给N,合并到集合W中。
地址 100191 北京市海淀区学院路37号