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

上传人:n****g 文档编号:1301910 上传时间:2018-04-14 格式:PDF 页数:14 大小:846.13KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710035894.1

申请日:

2017.01.17

公开号:

CN106844613A

公开日:

2017.06.13

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20170117|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

桂林电子科技大学

发明人:

古天龙; 王荣; 常亮; 徐周波; 曾祥炫

地址:

541004 广西壮族自治区桂林市七星区金鸡路1号

优先权:

专利代理机构:

桂林市持衡专利商标事务所有限公司 45107

代理人:

陈跃琳

PDF下载: PDF下载
内容摘要

本发明公开一种基于符号BDD的大规模图数据可达性索引构建方法,先根据图数据构建BDD图,即使用BDD表示有向图;再使用符号步骤来完善构建的空白索引结构列表,即填入每个节点的标识标签和区间标签。针对生成的标识标签的过程,使用符号步骤更快速的广度优先搜索出所有节点并分配标识标签。然后为每个节点生成的区间标签,根据符号步骤每个节点的可达节点都搜查出来,将这些可达节点的标识标签值的与该节点的区间标签比较,所有节点都完成该操作即形成最终区间标签。这个最终的索引结构列表即可完成静态图数据上各个节点的可达性查询任务。本发明构建的可达性索引结构列表可以完成可达性查询操作,并能够有效提高可达性索引构建速度。

权利要求书

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生成的索引结构列表完成可达性操作;如果一个始节点的区间标签
包含一个终结点的区间标签,则表示始节点可达终结点;如果始节点的区间标签不包含或
者交叉包含,则该始节点不可达终结点。

说明书

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

技术领域

本发明涉及图数据操作技术领域,具体涉及一种基于符号BDD的大规模图数据可
达性索引构建方法。

背景技术

现今大数据发展过程中,在图数据上进行各项操作被广泛需求,其中可达性查询
最重要操作之一。图数据可达性技术的研究具有重要意义,可达性查询技术已经被广泛运
用于各个领域,例如生物网络中,两个基因之间是否具有间接控制关系等等。在社交网络
中,用于查找两个用户之间是否具有某种间接关系等可达性查询操作。此外,可达性索引技
术也可以运用到加速其他相关图数据算法操作,例如加快子图查询操作和最短路径查询技
术[1-2]。在图形数据规模较小时,可以直接运用深度优先遍历直接查找到可达信息。但是
随着现实数据集越来越大,可达性查询也越来越频繁,直接查找的方式逐渐被图数据索引
代替。通过索引查找可达性问题可以大大加快查询效率。

迄今为止,已然有大量的可达性索引技术被相继提出。这些方法主要考察索引构
建时间、索引的规模和利用索引的查询时间这三各方面的性能。最早先的方法主要是查找
每个节点传递闭包,这种方法索引规模大,索引建立时间长,从而逐渐不被应用了。现今比
较经典的可达性索引技术,根据数据规模可以把可达性索引技术分为中小规模数据和大型
数据两种。针对图数据的可达性技术比较成熟,主要分为以下三类:

第一类基于链的索引方法,该方法首先将图转化为各个不相交的链,然后给每条
链和每条链上的节点按顺序标上序号,这样每个节点就有了自身标签(链序号,节点序号),
最后将每个节点可以到达其他链的链中节点序号最小的节点的标签作为可达标签,可达性
索引就是为每个节点标上自身标签和可达标签两部分。可达性查询A节点是否可达B节点
时,只需要判断A节点的可达标签中节点序号是否小于B节点自身标签的节点序号,肯定表
示可达,否定表示不可达。

第二类基于hop技术的索引,该类方法为图中每个节点分配两个集合:in和out,分
别包含通过跳数计算可以到达该节点的节点和该节点可到达的节点。在可达性判断A节点
是否可达B节点时,A节点的out集合和B节点的in集合有交集时表示A可达B节点。

第三类基于树的索引方法,该类方法主要运用遍历把图生成树,在生成树上对节
点进行区间编码,实现孩子节点的区间一定是包含在父节点的区间内。在可达性判断时,只
需要判断两个节点的区间编码是否包含,如果区间是包含关系就表示可达。

由于上述方法都是使用显性存储图数据,即使用传统邻接表和邻接矩阵存储图数
据,因而造成存储空间过大问题。此外,上述方法都是针对静态图数据的索引办法,很难拓
展到动态数据。

发明内容

本发明提供一种基于符号BDD的大规模图数据可达性索引构建方法,其能够有效
提高可达性索引构建速度。

为解决上述问题,本发明是通过以下技术方案实现的:

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

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

步骤B.依据给定的图数据构建BDD图,即使用BDD表示有向图;

步骤C.基于步骤B所表示的BDD图,使用符号步骤来完善步骤A中的索引结构列表,
即填入每个节点的标识标签;

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

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

步骤F.基于步骤E生成的索引结构列表,可以完成可达性操作。

上述步骤A具体为:

步骤A1.根据有向图的节点个数n构建一个索引列表,逻辑上为三列n行列表。

步骤A2.将各个节点填入第一列;

步骤A3.第二列定义为该节点的标识标签a,值暂时缺省之后步骤填入;

步骤A4.第三列定义为该行节点的区间标签[c,d],值暂时缺省之后步骤完善。

上述步骤B具体为:

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

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

步骤B3.将有向图中的每条边作为一个BDD图中的一条指向“1”的路径,其中有向
边的始点和终点使用不同变量表示,始点使用变量x,终点使用变量y。那么根据上一步骤的
编码位数n可以得出始点用变量序表示为x1x2…xn,终点用变量序表示为y1y2…yn。其中如
果上一步骤中的编码位的某位置q(q=1,2,…n)上的二进制数为0则使用变量的否定形式
表示即xq’或yq’,如果上一步骤中的编码位的某位置q(q=1,2,…n)上的二进制数为1则使
用变量的否定形式表示即xq或yq;

步骤B4.根据上一步骤即可得出BDD图中节点就是x1、x2…xn、y1、y2…yn,其中表
示为xq’或yq’的节点在BDD图中该节点的到达路径用虚线表示,其中表示为xq或yq的节点
在BDD图中该节点的到达路径用实现表示,根据边的始点和终点变量表示可以得出一条BDD
路径,这条路径指向BDD图的叶子节点“1”。其他的否定边都指向BDD图的叶子节点“0”,此时
就构成了有向图中的一条边的BDD图。

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

上述步骤C中,具体为:

步骤C1.从有向图中任取一个没有入度节点,且该节点满足标识标签值为缺省值,
为该节点赋值索引列表中的第二列标识标签为static a=1(其中a值是依次累加的,循环
回来是累加值不是1,为了保证所有第二列的标识标签值不相同),并且提取出它的二进制
编码,按照步骤B3中的方法按x变量序表示;

步骤C2.根据步骤B中最终生成的BDD图,找到其中所有满足上一步骤中的节点的x
变量序的到达“1”的路径中的y变量所表示的二进制编码的有向图节点;

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

步骤C4.将步骤C3中得出的节点的二进制编码使用x变量序表示。

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

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

上述步骤D中,具体为:

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

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

步骤D3.将d赋值为步骤C生成的该节点的标识标签值。

步骤D4.不断依次循环D1、D2、D3三个步骤,直到索引列表中的第三列所有区间标
签值都已经初始化完成。

上述步骤E中,具体为:

步骤E1.从索引列表中依次取出有向图的节点,提取出它的二进制编码,按照步骤
B3中的方法按x变量序表示;

步骤E2.根据步骤B中最终生成的BDD图,找到其中所有满足上一步骤中得出的节
点的x变量序的到达“1”的路径中的y变量所表示的二进制编码的有向图节点;

步骤E3.将步骤E2中找到的节点的标识标签值与步骤E1中找到的节点的区间标签
c、d的值相互比较,将更大的值赋给d,将更小的值赋给c;

步骤E4.将步骤E2中得出的节点的二进制编码使用x变量序表示。

步骤E5.根据步骤E4得出的x变量序,循环回到步骤E2操作,直到没有到达“1”的路
径,也就是循环直到找到有向图的叶子节点下面再没有孩子节点为止;

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

上述步骤F中,具体为:

步骤F1.如果一个始节点的区间标签包含一个终结点的区间标签,则表示始节点
可达终结点;如果始节点的区间标签不包含或者交叉包含,则该始节点不可达终结点。

与现有技术相比,本发明具有如下特点:

1.引入符号技术可以隐式的表示图数据,通常这种运用符号技术的隐式存储表示
小于显示的邻接矩阵或邻接表存储从而解决上述的存储过大问题;

2.使用符号技术构建索引结构,在为各个节点标签过程和更新区间标签上实现加
速作用,可以缩短索引构建时间;

3.可以很好的拓展到动态图数据的可达性索引问题上去,BDD图对于需要增加删
除节点和边的操作的动态图数据更容易拓展存储表示;BDD图比邻接矩阵或邻接表存储更
容易实现存储的更新操作;

4.能灵活的完成可达性索引的相应更新,符号技术BDD可以更快速的完成动态图
数据的索引更新。

附图说明

图1为本发明技术流程图。

图2为本发明的一个实施例的图数据。

图3是图2所示实施例的边AB的BDD图。

图4是图2所示实施例的图数据OBDD表示图。

具体实施方式

为了使本发明的技术方案更加清楚明白,结合附图及实施例,对本发明的一种基
于符号BDD的大规模图数据可达性索引构建方法进一步详细说明。本发明使用BDD表示图数
据,然后使用BDD符号步骤为该图数据生成可达性索引结构列表,应当理解,此处所描述的
具体实施例仅用以解释本发明,并不用于限定本发明。

一种基于符号BDD的大规模图数据可达性索引构建方法,如图1所示,包括步骤如
下:

步骤1.根据有向图生成初始的索引结构列表。

步骤11.根据图2中的图数据的节点个数n=7构建一个索引结构列表,该索引结构
列表为7行3列;

步骤12.将各个节点填入第一列;

步骤13.第二列定义为该节点的标识标签a,值暂时缺省之后步骤填入;

步骤14.第三列定义为该行节点的区间标签[c,d],值暂时缺省之后步骤完善,构
成索引结构列表,如表1所示:


表1初始索引结构列表

步骤2.依据给定的图数据构建BDD图,即使用BDD表示有向图。

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

步骤22.根据二进制进位法为每个节点进行3位编码,分别A节点到H节点依次编码
为000,001,010,011,100,101,110;

步骤23.将有向图中的每条边作为一个BDD图中的一条指向“1”的路径,其中有向
边如始点A和终点B使用不同变量表示,始点使用变量x,终点使用变量y。如果上一步骤中的
编码位的q位置上的二进制数为0则使用变量xq’或yq’表示,如果上一步骤中的编码位的q
位置上的二进制数为1则使用xq或yq表示。那么根据上一步骤的A的编码为000,B的编码为
001,可以得出始点A用变量序表示为x1’x2’x3’,终点B用变量序表示为y1’y2’y3;

步骤24.根据上一步骤即可得出BDD图中节点就是x1、x2、x3、y1、y2、y3,其中表示
为xq’或yq’的节点在BDD图中该节点的到达路径用虚线表示,其中表示为xq或yq的节点在
BDD图中该节点的到达路径用实现表示,根据边的始点和终点变量表示可以得出一条BDD路
径,这条路径指向BDD图的叶子节点“1”。其他的否定边都指向BDD图的叶子节点“0”,此时就
构成了有向图中边AB的BDD图,如图3;

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

步骤3.基于步骤2所表示的BDD图,使用符号步骤来完善步骤1中的索引结构列表,
即填入每个节点的标识标签。

步骤31.从有向图中任取一个没有入度节点A,且该节点满足标识标签值为缺省
值,为该节点赋值索引结构列表中的第二列标识标签为a=1(其中a值是依次累加的,循环
回来是累加值不是1,为了保证所有第二列的标识标签值不相同),并且提取出它的二进制
编码000,按照步骤23中的方法按x变量序表示为x1’x2’x3’;

步骤32.根据步骤2中最终生成的BDD图,找到其中所有满足上一步骤中的节点的A
的变量x1’x2’x3’能到达“1”的路径中的y变量序有y1’y2’y3和y1’y2y3’所表示的二进制编
码为001和010,这两个二进制编码分别表示图数据有向图中节点B和C;

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

步骤34.将步骤23中得出的节点B和C的y1’y2’y3和y1’y2y3’变量序使用x变量变
换表示为x1’x2’x3和x1’x2x3’;

步骤35.根据步骤34得出的x变量序x1’x2’x3和x1’x2x3’,循环回到步骤32操作,
该循环直到找到有向图的叶子节点下面再没有孩子节点为止,依次找到节点D,E,F,然后根
据D,E,F又循环找出G,至此为叶子节点结束该处循环;

步骤36.根据步骤35的循环完成,此时如果索引结构列表第二列的标识标签值仍
然有缺省值,则循环回到步骤31;此时如果索引结构列表第二列的标识标签值都已经填满
就停止循环,根据步骤35已经将所有节点的第二列标识标签填充完毕,该循环结束,最终生
成更新后索引结构列表,如表2所示:



表2索引结构列表填充完成标识标签

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

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

步骤42.将c赋值为步骤3生成的该节点的标识标签值,如点A标识标签值a=1,则c
=1;

步骤43.将d赋值为步骤3生成的该节点的标识标签值,如点A标识标签值a=1,则d
=1;

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


表3索引结构列表初始化区间标签

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

步骤51.从索引结构列表中依次取出有向图的节点,从表头开始是节点A;并且提
取出它的二进制编码,按照步骤23中的方法按x变量序表示x1’x2’x3’;

步骤52.根据步骤2中最终生成的BDD图,找到A节点的x变量序x1’x2’x3’的到达
“1”的路径中的y变量序,包括y1’y2’y3和y1’y2y3’,所表示的二进制编码001和010为有向
图节点B和C;

步骤53.B和C节点的标识标签值分别为2和3,节点A的区间标签中c、d的值相互比
较,将更大的值赋给A节点的d=3,将更小的值赋给c,更小的值仍为1,所以c值不变等于1;

步骤54.将步骤52中得出的y1’y2’y3和y1’y2y3’,所表示的二进制编码001和010
为有向图节点B和C使用x变量序表示为x1’x2’x3和x1’x2x3’。

步骤55.根据步骤54得出的x变量序x1’x2’x3和x1’x2x3’,循环回到步骤52操作,
找到节点D,E,F,然后节点D,E,F的标签表示a分别为6,4,5,拿这三个值与步骤53得出的A节
点的c,d值进行比较,将更大的值赋给d=6,将更小的值赋给c,更小的值仍为1,所以c值不
变等于1,然后再循环得出G,G的a值为7,将更大的值赋给d=7,将更小的值赋给c,更小的值
仍为1,所以c值不变等于1,至此循环结束,得出节点的区间标签[c,d]=[1,7];

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


表7最终可达性查询索引结构列表

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

步骤61.根据有向图生成初始的索引结构列表查询节点A是否可达节点B,则调出A
节点的区间标签[1,7],B节点的区间标签为[2,5];

步骤61.比较Ac和Bc,比较Ad和Bd,显然1小于2,7大于5,则表示A的节点区间标签
包含B节点的区间标签,则节点A可达节点B。

本发明引入符号技术,依据给定的图数据构建BDD图,即使用BDD表示有向图;使用
符号步骤来完善构建的空白索引结构列表,即填入每个节点的标识标签和区间标签。针对
生成的标识标签的过程,使用符号步骤更快速的广度优先搜索出所有节点并分配标识标
签。然后为每个节点生成的区间标签,根据符号步骤每个节点的可达节点都搜查出来,将这
些可达节点的标识标签值的最大值赋给该节点的d,最小值赋给该节点的c,所有节点都完
成该操作即形成最终区间标签。这个最终的索引结构列表即可完成静态图数据上各个节点
的可达性查询任务。本发明构建的可达性索引结构列表可以完成可达性查询操作,具体评
判标准如下:如果一个始节点的区间标签包含一个终结点的区间标签,则表示始节点可达
终结点;如果始节点的区间标签不包含或者交叉包含,则该始节点不可达终结点。

本发明引入符号技术可以隐式的表示图数据,通常这种运用符号技术的隐式存储
表示小于显示的邻接矩阵或邻接表存储从而解决上述的存储过大问题。能够解决索引只能
针对应用于中小型图数据,当图数据规模变大,索引构建复杂度就会急剧增长,我们的符号
技术表示可以减少存储;其次本发明结合符号技术存储既可以解决图数据存储问题又可以
缩短索引构建时间,符号技术可以一次性查找到多个节点的可达节点,从而加快了索引区
间标签的更新速度,能够更快的完成所有可达节点的查找;最后本发明可以很好的拓展到
动态数据,对于需要增加删除节点和边的操作的动态图数据,符号技术BDD更有利于此类动
态更新索引,对于增加节点操作也就是将多余的编码分配给新增加节点,增加边操作就是
为BDD增加一条指向“1”的路径,删除边操作就是为BDD中这条边的路径从指向“1”改为指向
“0”因此,本发明具有较高的时间和空间效率,并且更加具有拓展性。

通过结合附图对本发明具体实施例的描述,本发明的其他方面及特征对本领域的
技术人员而言是显而易见的。

以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为只是示例性
的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

基于符号BDD的大规模图数据可达性索引构建方法.pdf_第1页
第1页 / 共14页
基于符号BDD的大规模图数据可达性索引构建方法.pdf_第2页
第2页 / 共14页
基于符号BDD的大规模图数据可达性索引构建方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《基于符号BDD的大规模图数据可达性索引构建方法.pdf》由会员分享,可在线阅读,更多相关《基于符号BDD的大规模图数据可达性索引构建方法.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开一种基于符号BDD的大规模图数据可达性索引构建方法,先根据图数据构建BDD图,即使用BDD表示有向图;再使用符号步骤来完善构建的空白索引结构列表,即填入每个节点的标识标签和区间标签。针对生成的标识标签的过程,使用符号步骤更快速的广度优先搜索出所有节点并分配标识标签。然后为每个节点生成的区间标签,根据符号步骤每个节点的可达节点都搜查出来,将这些可达节点的标识标签值的与该节点的区间标签比较,。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1