基于符号BDD的大规模图数据可达性索引构建方法与流程

文档序号:12667003阅读:来源:国知局

技术特征:

1.基于符号BDD的大规模图数据可达性索引构建方法,其特征是,包括如下步骤:

步骤1.根据给定的图数据生成初始的索引结构列表;

步骤2.依据给定的图数据构建BDD图;

步骤3.将步骤2所构建的BDD图的节点的标识标签填入步骤1所生成的初始的索引结构列表中;

步骤4.针对步骤3生成的标识标签,使用符号步骤来为每个节点分配区间标签,完善步骤1中的索引结构列表;

步骤5.基于步骤4生成的区间标签,根据图数据具体情况为所有节点的区间标签进行更新操作,形成最终区间标签;这个最终的索引结构列表即可完成静态图数据上各个节点的可达性查询任务。

2.根据权利要求1所述的基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤1具体为:

步骤11.构建一个三列n行的初始的索引结构列表,其中n为图数据的节点个数;

步骤12.初始的索引结构列表的第一列节点列,列中各值依次填入图数据的各个节点;

步骤13.初始的索引结构列表的第二列为节点的标识标签列,列中各值暂时缺省;

步骤14.初始的索引结构列表的第三列定义为该行节点的区间标签列,列中各值暂时缺省。

3.根据权利要求1所述的一种基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤2具体为:

步骤21.图数据中节点个数为n,为每个节点分配位编码位;

步骤22.根据二进制进位法为每个节点进行n位编码;

步骤23.将有向图中的每条边作为一个BDD图中的一条指向1的路径,其中有向边的始点和终点使用不同变量表示,始点使用变量x,终点使用变量y,则n位编码的始点用变量序表示为x1x2…xn,n位编码的终点用变量序表示为y1y2…yn;

如果n位编码的某位置q上的二进制数为0则使用变量的否定形式表示即xq’或yq’;如果n位编码的某位置q上的二进制数为1则使用变量的肯定形式表示即xq或yq;其中q=1,2,…n;

步骤24.根据步骤2.3可得出BDD图中节点为x1、x2…xn、y1、y2…yn,其中表示为xq’或yq’的节点在BDD图中该节点的到达路径用虚线表示,其中表示为xq或yq的节点在BDD图中该节点的到达路径用实现表示;

根据边的始点和终点变量表示得出一条BDD路径,这条路径指向BDD图的叶子节点1;其他的否定边都指向BDD图的叶子节点0,此时就构成了有向图中的一条边的BDD图;

步骤25.把有向图中的所有边的BDD图进行合取操作成为一个大的BDD图,进而得到了整个图数据的BDD图表示;其中指向1的路径则表示该条路径中变量转化回来的二进制编码所表示的两个节点之间有边,其中指向0的路径则表示该条路径中变量转化回来的二进制编码所表示的两个节点之间没有边。

4.根据权利要求1所述的基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤3具体为:

步骤31.从有向图中任取一个没有入度节点,且该节点满足标识标签值为缺省值,为该节点赋值索引列表中的第二列标识标签1,并且提取出该的标识标签二进制编码,按照始点变量序表示;

步骤32.根据步骤2中最终生成的BDD图,找到其中所有满足步骤31中的节点的始点变量序的到达1的路径中的终点变量所表示的二进制编码的有向图节点;

步骤33.根据步骤32得出的有向图节点,依次为每个节点赋值节点的标识标签,每给一个节点赋的值都是上一个节点的值加一,依次标签为2,3,……,n;依次赋值给索引列表中各个节点的第二列值,并且索引列表中该值不再改变,也就是不会再第二次被赋值,即使下次循环再找到该节点直接跳过不再赋值;

步骤34.将步骤33中得出的节点的二进制编码使用始点变量序表示;

步骤35.根据步骤34得出的始点变量序,循环回到步骤32操作,该循环直到找到有向图的叶子节点下面再没有孩子节点为止;

步骤36.根据步骤35的循环完成,此时如果索引列表第二列的标识标签值仍然有缺省值,则循环回到步骤31;此时如果索引列表第二列的标识标签值都已经填满就停止循环。

5.根据权利要求1所述的基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤4中,具体为:

步骤41.根据步骤3生成的标识标签,为索引结构列表初始化第三列区间标签值[c,d];

步骤42.将c赋值为步骤3生成的该节点的标识标签值;

步骤43.将d赋值为步骤3生成的该节点的标识标签值;

步骤44.不断依次循环41-43三个步骤,直到索引结构列表中的第三列所有区间标签值都已经初始化完成。

6.根据权利要求1所述的基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤5中,具体为:

步骤51.从索引结构列表中依次取出图数据的节点,提取出它的二进制编码,按照始点变量序表示;

步骤52.根据步骤2中最终生成的BDD图,找到其中所有满足步骤51中得出的节点的始点变量序的到达1的路径中的终点变量所表示的二进制编码的图数据节点;

步骤53.将步骤52中找到的节点的标识标签值与步骤51中找到的节点的区间标签c和d的值相互比较,将更大的值赋给d,将更小的值赋给c;

步骤54.将步骤52中得出的节点的二进制编码使用始点变量序表示;

步骤55.根据步骤54得出的始点变量序,循环回到步骤52操作,直到没有到达1的路径,也就是循环直到找到图数据的叶子节点下面再没有孩子节点为止;

步骤56.根据步骤55的循环完成,此时如果索引结构列表中仍有节点未完成更新,则循环回到步骤51;此时如果索引结构列表中所有节点都完成更新就停止循环;以上完成生成索引结构列表过程,即静态图数据的可达性索引构建完成。

7.根据权利要求1所述的基于符号BDD的大规模图数据可达性索引构建方法,其特征是,步骤5之后,还进一步包括如下步骤:

步骤6.基于步骤5生成的索引结构列表完成可达性操作;如果一个始节点的区间标签包含一个终结点的区间标签,则表示始节点可达终结点;如果始节点的区间标签不包含或者交叉包含,则该始节点不可达终结点。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1