一种元素间拓扑关系的展示和搜索工具转让专利

申请号 : CN201210037647.2

文献号 : CN102542074B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄民烈朱小燕

申请人 : 清华大学

摘要 :

公开了一种同时实现元素的网状关系展示、元素的查找与搜索、元素间特殊路径的搜索、邻居关系的判断以及两元素间前k短路径的搜索的元素间拓扑关系的展示和搜索工具,包括依次相连的输入模块、XML文件预处理模块、节点搜索模块、XML中间结果生成模块、渲染模块,在XML文件预处理模块和XML中间结果生成模块之间还分别设有路径搜索模块、节点展开收缩模块。

权利要求 :

1.一种元素间拓扑关系的展示和搜索工具,其特征在于:包括依次相连的输入模块、XML文件预处理模块、节点搜索模块、XML中间结果生成模块、渲染模块,在XML文件预处理模块和XML中间结果生成模块之间还分别设有路径搜索模块、节点展开收缩模块;

输入模块,以指定格式的XML文件作为输入,定义整个图的参数,工具通过网络传输和读取本地文件两种方式进行输入;

XML文件预处理模块,对Node元素和Edge元素按照id顺序排序,以便提高后续操作的效率;对Node元素和相应的Edge元素相关联,提高点边查找的效率,将一个Node元素所对应的Edge元素集合设定为Node.relevantEdges;将节点元素以id为键值存入全局的字典中,此字典计作Dict,实现元素的快速查找;

节点搜索模块,处理用户对节点搜索的请求,整个查找按照节点的id进行搜索,如果需增加其他关键字的查询功能,则增加额外的<关键字,id>映射;如果存在相应的节点,则将其id作为输入参数输入XML中间结果生成模块;

路径搜索模块,处理用户对节点间以边权值计算的最短路径和前k短路径搜索的请求;

节点展开收缩模块,由配置文件设定,每个节点初始显示的子节点最大数为TMAX,当用户点击节点上的扩展按钮时,则该模块将未显示的数量为persingle的子节点以及对应的边查找出来,添加到目前的XML中间结果中;当用户点击节点上的收缩按钮时,则该模块按照id的顺序以及父子关系将persingle个子节点及对应的边查找出来,从目前的XML中间结果中删除;

XML中间结果生成模块,该模块从由节点搜索模块、路径搜索模块、节点展开收缩模块中得到的节点路径参数生成一个完整的、满足子节点个数和层级数限制的XML中间结果,作为渲染模块的输入;

渲染模块,根据XML中间结果,对节点和边进行渲染,同时接受用户的输入。

2.根据权利要求1所述的元素间拓扑关系的展示和搜索工具,其特征在于:路径搜索模块包括:(1)邻居关系的判断模块:

适用于确定两个元素间是否存在关系,即边;如果存在,则将两个元素的id作为参数输入XML中间结果生成模块;

(2)最短路径搜索模块:

查找两个节点间以边权为衡量标准的最短路径,采用Dijkstra算法;如果存在相应的最短路径,则以整个路径中所经过的节点构成的堆栈传入XML中间结果生成模块;

(3)前k短路径搜索模块:

查找两个节点间以边权为衡量标准的前k-短路径,k为正整数,采用前k条最短路径算法;对于取得的前k段路径,将每条路径所经过的节点构成的堆栈传入XML中间结果生成模块。

3.根据权利要求2所述的元素间拓扑关系的展示和搜索工具,其特征在于:XML中间结果生成模块包括由单一节点生成相应的局部图和由路径节点信息生成的局部图。

4.根据权利要求3所述的元素间拓扑关系的展示和搜索工具,其特征在于:渲染模块包括节点渲染模块和边渲染模块;

节点渲染模块将XML中间结果中节点附加的图片文件路径、文本信息和超链接信息添加到一个节点元素中,同时添加展开、收缩和固定按钮,这些按钮注册了监听器连接的相应的模块,处理用户的互动;

边渲染模块根据XML中Edge的颜色、线条粗细信息描绘边,同时添加边信息展开按钮,该按钮被点击后在窗口的右上角显示边上的信息。

说明书 :

一种元素间拓扑关系的展示和搜索工具

技术领域

[0001] 本发明涉及计算机应用技术的技术领域,具体地涉及一种元素间拓扑关系的展示和搜索工具。

背景技术

[0002] 现有的元素间拓扑关系的展示和搜索工具能实现的功能较少,不能同时实现元素的网状关系展示、元素的查找与搜索、元素间特殊路径的搜索、邻居关系的判断以及两元素间前k(k是正整数)短路径的搜索。

发明内容

[0003] 为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种同时实现元素的网状关系展示、元素的查找与搜索、元素间特殊路径的搜索、邻居关系的判断以及两元素间前k短路径的搜索的元素间拓扑关系的展示和搜索工具。
[0004] 本发明的技术方案是:这种元素间拓扑关系的展示和搜索工具,包括依次相连的输入模块、XML文件预处理模块、节点搜索模块、XML中间结果生成模块、渲染模块,在XML文件预处理模块和XML中间结果生成模块之间还分别设有路径搜索模块、节点展开收缩模块;
[0005] 输入模块,以指定格式的XML文件作为输入,定义整个大图的参数,工具通过网络传输和读取本地文件两种方式进行输入;
[0006] XML文件预处理模块,对Node元素和Edge元素按照id顺序排序,以便提高后续操作的效率;对Node元素和相应的Edge元素相关联,提高点边查找的效率,将一个Node元素所对应的Edge元素集合设定为Node.relevantEdges;将节点元素以id为键值存入全局的字典中,此字典计作Dict,实现元素的快速查找;
[0007] 节点搜索模块,处理用户对节点搜索的请求,整个查找按照节点的id进行搜索,如果需增加其他关键字的查询功能,则增加额外的<关键字,id>映射;如果存在相应的节点,则将其id作为输入参数输入XML中间结果生成模块;
[0008] 路径搜索模块,处理用户对节点间以边权值计算的最短路径和前k短路径搜索的请求;
[0009] 节点展开收缩模块,由配置文件设定,每个节点初始显示的子节点最大数为TMAX,当用户点击节点上的扩展按钮时,则该模块将未显示的数量为persingle的子节点以及对应的边查找出来,添加到目前的XML中间结果中;当用户点击节点上的收缩按钮时,则该模块按照id的顺序以及父子关系将persingle个子节点及对应的边查找出来,从目前的XML中间结果中删除;
[0010] XML中间结果生成模块,该模块从由节点搜索模块、路径搜索模块、节点展开收缩模块中得到的节点路径参数生成一个完整的、满足子节点个数和层级数限制的XML中间结果,作为渲染模块的输入;
[0011] 渲染模块,根据XML中间结果,对节点和边进行渲染,同时接受用户的输入。
[0012] 该工具能够同时实现元素的网状关系展示、元素的查找与搜索、元素间特殊路径的搜索、邻居关系的判断以及两元素间前k短路径的搜索的元素间拓扑关系的展示和搜索工具。

附图说明

[0013] 图1是根据本发明的元素间拓扑关系的展示和搜索工具的结构示意图。

具体实施方式

[0014] 下面对本发明的技术方案做进一步的详细描述。
[0015] 如图1所示,这种元素间拓扑关系的展示和搜索工具,包括依次相连的输入模块、XML文件预处理模块、节点搜索模块、XML中间结果生成模块、渲染模块,在XML文件预处理模块和XML中间结果生成模块之间还分别设有路径搜索模块、节点展开收缩模块;
[0016] 输入模块,以指定格式的XML文件作为输入,定义整个大图的各种参数,工具通过网络传输和读取本地文件两种方式进行输入;其中定义整个大图的各种参数的代码及说明如下:
[0017] //定义整个大图
[0018]
[0019] //这一行定义了一个节点,width表示节点的显示宽度,height表示节点的现实高度,color表示节点外边框的颜色,font_size表示节点上文字标签的字体大小,font_color表示字体的颜色,id是唯一标识该节点的符号,prop表示属性1/0,暂时无用;image_url表示相对跟路径href的图片相对路径地址,该图片将在显示时代表该节点,href是全局的根路径地址
[0020] //定义了一条有向边,fromID表示起点节点的标识符,toID是终止节点的标识符
[0021]
[0022] //定义了边的显示设置,alpha表示透明度,0表示完全不透明,1表示完全透明;thickness表示边的粗细度,值越大越粗;color表示边的颜色;relationship表示边上的标签上的文字;w表示该条边的权重(在图搜索或其它算法中使用)
[0023]
[0024]
[0025] XML文件预处理模块,对Node元素和Edge元素按照id顺序排序,以便提高后续操作的效率;对Node元素和相应的Edge元素相关联,提高点边查找的效率,将一个Node元素所对应的Edge元素集合设定为Node.relevantEdges;将节点元素以id为键值存入全局的字典中,此字典计作Dict,实现元素的快速查找;
[0026] 节点搜索模块,处理用户对节点搜索的请求,整个查找按照节点的id进行搜索,如果需增加其他关键字的查询功能,则增加额外的<关键字,id>映射;如果存在相应的节点,则将其id作为输入参数输入XML中间结果生成模块;
[0027] 路径搜索模块,处理用户对节点间以边权值计算的最短路径和前k短路径搜索的请求;
[0028] 节点展开收缩模块,由配置文件设定,每个节点初始显示的子节点最大数为TMAX,当用户点击节点上的扩展按钮时,则该模块将未显示的数量为persingle的子节点以及对应的边查找出来,添加到目前的XML中间结果中;当用户点击节点上的收缩按钮时,则该模块按照id的顺序以及父子关系将persingle个子节点及对应的边查找出来,从目前的XML中间结果中删除;
[0029] XML中间结果生成模块,该模块从由节点搜索模块、路径搜索模块、节点展开收缩模块中得到的节点路径参数生成一个完整的、满足子节点个数和层级数限制的XML中间结果,作为渲染模块的输入;
[0030] 渲染模块,根据XML中间结果,对节点和边进行渲染,同时接受用户的输入。
[0031] 该工具能够同时实现元素的网状关系展示、元素的查找与搜索、元素间特殊路径的搜索、邻居关系的判断以及两元素间前k短路径的搜索的元素间拓扑关系的展示和搜索工具。表1是一些模块的功能说明。
[0032] 表1
[0033]
[0034] 优选地,路径搜索模块中的请求分为:
[0035] 1.邻居关系的判断:
[0036] 适用于确定两个元素间是否存在关系,即边;如果存在,则将两个元素的id作为参数输入XML中间结果生成模块;
[0037] 2.最短路径搜索模块:
[0038] 查找两个节点间以边权为衡量标准的最短路径,采用Dijkstra算法;如果存在相应的最短路径,则以整个路径中所经过的节点构成的堆栈传入XML中间结果生成模块;
[0039] 3.前k短路径搜索模块:
[0040] 查找两个节点间以比安全为衡量标准的前k(k是正整数)短路径,采用前k条最短路径算法;对于取得的前k段路径,将每条路径所经过的节点构成的堆栈传入XML中间结果生成模块。
[0041] 优选地,XML中间结果生成模块包括由单一节点生成相应的局部图和由路径节点信息生成的局部图。
[0042] 优选地,渲染模块包括节点渲染模块和边渲染模块;
[0043] 节点渲染模块将XML中间结果中节点附加的图片文件路径、文本信息和超链接信息添加到一个节点元素中,同时添加展开、收缩和固定按钮,这些按钮注册了监听器连接的相应的模块,处理用户的互动;
[0044] 边渲染模块根据XML中Edge的颜色、线条粗细信息描绘边,同时添加边信息展开按钮,该按钮被点击后在窗口的右上角显示边上的信息。
[0045] 以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。