当前位置: 首页 > 专利查询>张嘉运专利>正文

利用相关数据库实现非循环定向图形结构的方法技术

技术编号:2884616 阅读:263 留言:0更新日期:2012-04-11 18:40
一种利用计算机关系数据库系统来实施非循环定向图形结构的方法。表示非循环绘图块的一种有利的关系数据库结构可以通过创建三种表格结构来获得,这三种表格结构用于存储绘图块中各节点之间的相互关系及其它特性。节点表格存储绘图块中每个节点之间的相互关系和分配给各节点的特性。边表格存储定向链接的各节点及所链接的方向的指示。路径表格存储定向或非定向链接的各节点及其各路径的方向的指示。还公开了用于以一致方式维护数据库结构的方法。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及利用相关数据库实现非循环定向图形结构(acyclic directedgraph structure)的方法。非循环绘图块(diagraph)结构频繁地用于模型化现实世界分层系统(model real world hierarchy system)。这种可使用非循环绘图块结构的分层系统举例来说有家庭树结构、面向对象的关系模型、网络路由结构等。
技术介绍
尽管非循环绘图块结构在真实世界中很流行,但极少有计算机应用程序实际采用这种模型。应用程序的开发者则是喜欢使用另一种类似模型即定向树结构(directed tree structure)来仿真非循环绘图块系统,或者另外产生非循环绘图块的“景象(views)”并用定向树结构来表示这种景象。应用程序的编程者门之所以趋向于避免使非循环绘图块结构模型化的主要原因是由于这种结构的复杂性,以及实施和维护这种结构的复杂性。一个图形是由节点(nodes)(或者点(points)或者顶点(vertices))及边(edges)(或者连线(links)或者弧线(arcs))组成的数学系统。下面是从由Jean-PaulTremblay和Paul G Sorenson所著的一本书中摘录的对于图形的数学定义(ISBN0-07-065157-4)“一个图形G由下列部分组成称为该图形的节点(点、顶点)集合的一个非空集合V、作为该图形的边集合的一个集合E、以及从边的集合E到单元对集合V的一个映射。我们可以假定一个图形的两个集合V和E都是有限集合。也可以方便地将一个图形写作G=(V、E)。请注意一个图形的定义隐含着这样的意思对于图形G的每一条边,我们可以将该图形的一对节点与其关联。如果一条边x∈E是这样与一对节点(u,v)相关联的,其中u,v∈V,则我们可以说这条边x连接或者接合节点u和v。由一个图形中的一条边连接的任何两个节点都称为相邻节点。在一个图形G=(V,E)中,从一个节点指向另一个节点的一条边称为一条定向边,而没有特定方向的一条边称为一条非定向边。其中每条边都被定向的图形称为定向图形或者绘图块”。除了上述定义以外,这本书还给出了下面的附加定义“一个绘图块的各条边的任何顺序都定义了该图形的一条路径,其中这种顺序使得该顺序中的任何边的终节点都是该顺序中下一个要出现的边(如果有的话)的始节点。一条路径是指从所述顺序中第一条边的始节点开始,到所述顺序中最后一条边的终节点结束,从而穿过出现在该顺序中的各个节点。”“以同一个节点开始和结束的一条路径称为一个循环(回路)。”“没有任何循环的一个简单的绘图块称为非循环式的。”从上面的定义中,一个非循环绘图块的特性可总结如下1.其结构仅由节点和边组成;2.各条边是非定向的;3.任何两个节点之间的定向关系由一条边的最大值来表示;4.任何两个节点之间的非定向关系或路径可通过多个边与其它节点相存在;5.每个节点可以有一个或多个子节点;6.每个节点可以有一个或多个父节点;7.任何给定的节点都可以存在祖先节点,该祖先节点由所有的后续父节点或者特定节点组成;8.任何给定的节点都可以存在后代节点,该后代节点由所有的后续后代节点或者特定节点组成;9.一个节点的祖先不能是该相同节点的后代;10.任何给定的非循环绘图块结构都存在一个逆结构。任何给定的非循环绘图块结构与其逆结构是相同结构,只是所有边的方向相反。在计算机中存储并操纵非循环绘图块结构的传统方法是采用第三代编程语言来完成的。这基本上涉及将定义的存储器存储区域用作节点,并将指针用作边。采用C代码的例子如下struct Node (charnodenamestruct Node *nextnode)其中nodename表示实际节点,而nextnode表示到另一个节点的边。这种结构的运行可采用函数或程序来编程。这种函数的例子有“InsertNode(插入节点)”、“Delete Node(删除节点)”、“Attach Node(附加节点)”等。尽管这种方法可有效地实施一个非循环绘图块,但还有几点关于这种实施的复杂性和可靠性的考虑1.与一个节点相关的各条边的最大数目必须事先知道;2.很难找出各节点之间路径的存在,因为所有可能的路径都必须在得出结论之前穿过;3.没有考虑到这种结构关于数据库协调性和整体性方面的可靠性;4.没有可行的节点锁存机制,因而将这种结构的使用限制为一个用户或者在一个时间内操作;5.当使用第三代语言时可能会遇到关于存储器分配或丢失指针方面的问题,这些问题可以导致整个程序崩溃。尽管一个训练的编程者可能能够避开所有这些限制,但忙于避开每一个这些限制只会进一步增加所做编程的复杂性。此外,由于每件事情都是通过编程来完成的,更有可能在系统中隐藏缺陷(bugs),因而系统维护会显得非常困难和耗时。本专利技术的概述本专利技术提供了一种通过使用关系数据库来存储和操纵非循环定向图形结构的替代方法。按照本专利技术,提供了一种利用计算机运行的关系数据库来产生非循环定向图形结构或者非循环绘图块的方法,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述方法包括产生一个节点表格结构,该节点表格结构表示非循环绘图块中每个节点之间的相互关系和至少一种节点特性;产生一个边表格结构,该边表格结构表示非循环绘图块中每个定向连接的节点对之间的相互关系;和产生一个路径表格结构,该路径表格结构表示非循环绘图块中任何两个节点之间路径的存在性。本专利技术还提供了一种在关系数据库系统中的计算机存储数据结构,用于表示一非循环绘图块,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述数据结构包括一个节点表格结构,指示所述非循环绘图块中每个节点之间的相互关系和至少一种节点特性,所述节点表结构包括用于所述非循环绘图块中的每个节点的记录,每个节点表格结构记录包括一节点标识字段和至少一个节点特性字段;一个边表格结构,指示所述非循环绘图块中每一对连接的父和子节点之间的相互关系,所述边表格结构包括用于每一对父和子连接节点的记录,每个边表格结构记录包括用以识别所述父节点和所述子节点的相应字段;和一个路径表格结构,指示所述非循环绘图块中任何两个节点之间路径的存在性,所述路径表格结构包括用于每一对父和子连接节点和每一对其中两个节点通过中介连接的祖先和后代连接节点的记录,每个路径表格结构记录包括用以识别每一个节点对的相应字段。一种维护如上所述的由本专利技术提供的数据结构的方法,包括一节点创建程序,用于通过使用所述节点识别字段中的一个唯一值将一条新记录插入到所述节点表格结构中而在所述非循环绘图块中创建一新节点;一节点链接程序,用于将所述非循环绘图块中的一子节点链接到一父节点,包括下列步骤将一条新记录插入到所述边表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;将一条新记录插入到所述路径表格结构中,该记录用以识别所述子节点和所述父节点以及从所述父节点到所述子节点的连接方向;从所述路径表格结构中选择连接到所述父节点的每一个祖先节点,本文档来自技高网...

【技术保护点】
一种利用计算机运行的关系数据库来产生非循环定向图形结构或者非循环绘图块的方法,该非循环绘图块包括相互定向连接的多个节点,这些节点的连接使得每一个节点在前向连接方向上具有至少一个子节点和/或在反向连接方向上具有至少一个父节点,所述方法包括:产生一个节点表格结构,该节点表格结构表示非循环绘图块中每个节点之间的相互关系和至少一种节点特性;产生一个边表格结构,该边表格结构表示非循环绘图块中每个定向连接的节点对之间的相互关系;和产生一个路径表格结构,该路径表格结构表示非循环绘图块中任何两个节点之间路径的存在性。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:约翰FKY张
申请(专利权)人:张嘉运
类型:发明
国别省市:SG[新加坡]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1