在关系数据库中索引存储分层相关信息的方法和数据结构技术

技术编号:2846400 阅读:385 留言:0更新日期:2012-04-11 18:40
本发明专利技术解决了在关系数据库中存储并维护高分层信息的问题,关系数据库是非常普遍的,并且享有较强的数据库提供者支持。高分层信息在关系数据库中的存储和维护的效率,由记录键来辅助,记录键跨越关系数据库中的所有数据库记录表而唯一地归于每个数据库记录。而且,记录键具有允许数据库记录之间的“包含”关系的规范的格式。有益的信息存储和信息检索改进,是通过使用且仅使用这种记录键给关系数据库的所有记录表中的所有数据库记录编索引来实现的。

【技术实现步骤摘要】

本专利技术涉及关系数据库中的信息存储,并且特别涉及用于在关系数据库中存储具有较深分层关系的信息的方法和数据结构。
技术介绍
用于将信息存储在关系数据库中的关系数据库和装置,被用来存储相关信息并提供用于指定关系的装置。例子包括服务供给,其中用户记录是保持相关的关系,包括“服务地址”、“内容预订给”、“服务级协议参数”、“访问窗口收费方案”、“连通性记录”等等。尽管所有这种信息确实可以被存储在每个用户的单个超记录(super-record)中,然而当服务隶属于不同的供给时,当大部分用户不服从于内容限制、不服从于服务级协议或者具有到服务的固定费用(flat fee)接入时,所有用户的超记录的存储是低效的。关系数据库技术提供用于编组被跟踪信息并用于指定其间的相互关系的装置。服务记录的地址、内容预定记录、服务级协议参数记录、访问窗口收费方案记录和连通性记录在对应表格中的存储,采用了主记录键(primary record key)和外记录键(foreign record key)。主记录键用于将各个表格内的记录分类,并用于从所述表格检索记录。外键用来表达不同表格中的记录之间的关系。例如在对服务产生帐单时,还为每个用户查询服务表格的地址,以获得用户标识符。典型地,用户标识符是用于存储服务记录自己的地址的主键。其次,访问窗口收费方案表格是基于用户标识符而被搜索的,以确定用户是否具有无限制的固定费用接入、基于固定费用时间的接入或以时间段(a time of day)为索引的费用表。根据连通性记录不针对无限制的固定费用用户存储访问记录这一事实,关系数据库存储技术的示例性优点是显而易见的。如以上示例性描述的,关系数据库使用是普遍的,存储了当今在万维网上发现的许多信息。在上述例子中,显而易见地,一个对多个关系存在于服务地址表格中的数据库记录和其它表格中的数据库记录之间。在服务地址表格中首先进行查找以获得用户标识符(所有其它表格中指定的外键),在现有技术中称为“表格联结(table joining)”,在这个服务供给的例子中,执行单个表格联结操作。然而不是所有信息都可以被编组以使单级别的一个对多个关系存在于所采用的表格之间。图1是示出实现示例性通信网络基础设施的示例性可管理实体的示意图。可管理实体包括通信网络节点106,例如数据交换节点112。数据网络设备厂商可以选择实现整体的数据网络节点设备122X,该设备具有可用于在一组端口102之间交换数据的数据交换处理器,而另一个数据网络设备厂商可以选择数据交换节点112Y的定制实现,该节点包括交换结构、分成多个架子122的设备架,每个架子122具有用于和接口卡124连接的插槽连接器,每个接口卡124具有至少一个端口102。物理数据传输链路108互连数据网络节点的端口102。尽管概念上两个数据交换节点112X和112Y提供类似的数据交换功能性,然而每个设备实现适合不同的环境前一个数据交换节点112X更适合如专用数据网节点的企业解决方案,或许还适于连接到电信网络(carriernetwork)100;而后一个数据交换节点112Y更好地适合于公用数据传输网络100的核心中的高数据吞吐量。典型地,前一个112X实现少量的数据传输协议,而对于后一个112Y,在接口卡124和/或端口102上实现了数据传输协议-规定其灵活的/可配置的部署。在不限制本专利技术的情况下,每个接口卡124和端口102代表可管理实体。在采用当前已知的关系数据库存储技术中,“包含(containment)”关系可用于存储高分层的信息,例如关于被管理通信网络的可管理实体的部署信息。针对被管理通信网络来跟踪部署信息,是由维护关系数据库250的网络管理系统240来执行的。网络管理系统240需要对大量的这种高分层信息的有效存储与检索。上面提到的方法在应用于将高分层信息存储在关系数据库250中时,教导使用主键来将相关数据库记录存储在各个记录表格中,并且使用外键来唯一地标识另一记录表格内对应的父数据库记录,即“包含”所述相关记录的数据库记录。假设数据库记录唯一性(见下文),存储在关系数据库250中的信息之间的多级别分层关系,需要如上所述执行大量的表格联结操作,以及特别是随被搜索数据库记录的深度而增长的若干表格联结操作。显而易见地,当前在将信息存储在关系数据库250中所采用的技术没有很好地对于高分层信息来进行扩展。不可避免地,较差的可扩展性(scalability)对关系数据库250部署成本、操作成本和维护成本具有负面的影响。而且,较差的可扩展性导致较慢的关系数据库访问时间,其退一步说是不受欢迎的,这是由于被管理通信网络正在经历故障,并且在网络故障恢复期间特别不受欢迎。当复制的被建模实体标识不可避免时,采用当前的信息建模技术来将高分层信息存储在关系数据库250中是存在问题的,例如,当接口卡上的每个端口具有唯一的媒体访问控制地址(MAC ADDR)且接口卡具有唯一的序列号时,其中是在制造期间将媒体访问控制地址和序列号分别关联于所述端口和接口卡,架子122的插槽和架子122本身不具有固有的唯一标识符。根据当前信息建模技术,架子插槽具有对应的非唯一的全局可标识的数据库记录,这是因为每个架子122具有第一插槽。类似地,当是物理构造时,架子122也不具有固有的唯一标识符,数据交换节点112Y的每个设备架具有第一架子122。考虑架子插槽数据库记录,由于表示为“第一架子122的第一架子插槽”的关系不充分地唯一,因此这由于外键不唯一而产生了问题。除上述的表格联结开销以外,尝试采用具有改进的部署、操作和维护效率的关系数据库,来存储关于不能被固有地唯一标识的实体的高分层信息。这需要对目前已知的关系数据库技术的扩展,以针对固有地非唯一可标识数据库记录提供唯一的主键。用于将高分层信息存储在关系数据库中的当前建模技术的扩展,导致对每个数据库记录的多个键的使用,其中,对分层的每个级别使用一个键,所述分层具有与数据库记录的“包含”关系,这导致添加完全的包含规范(specification)给图2所示的每个数据库记录。例如,端口记录表格中的每个端口数据库记录包括卡的键(of-card key)、安装在插槽中的键,以及架子的键(of-shelf key)、节点的键(of-node key)等等。尽管将多个键存储在相关数据库记录中看来是对表格联结问题提供了解决方案,然而为了消除表格联结操作而增加了开销,需要每次增加和/或删除数据库记录时基于每个键,对每个记录表格中的数据库记录分类。记录表格的搜索因而较缓慢。而且,指定每个数据库记录中的完全的包含规范,低效地利用了数据库存储资源,并且违反了数据冗余关系数据库数据完整性规则,其禁止同一键的重复存储。在采用关系数据库存储分层信息中典型遇到的另一个问题涉及以上描述的事实,即不是每个通信网络节点106都具有架子122,并且数据交换节点112X中的端口102不是物理地关联于任何接口卡124。信息的建模因而需要针对虚拟的被管理实体存储中间数据库记录,以使关系数据库250适配于物理真实性。然而由于中间数据库记录必须被存储在对应的记录表格中而占用了大量的存储空间。鉴于根据当前技术使用关系数据库来存储高分层信息遭受了存储低效率本文档来自技高网...

【技术保护点】
用于将高分层信息存储在关系数据库中的多个记录表格中的记录表格,在与多个分层组关联的数据库记录之间的关系,指定了跨越组的“包含”关系,每个记录表格包括:a.来自所述多个数据库记录组的组,所述组与包含层次的一个级别相关联,每个数据库记录 包括:i.数据部分,用于存储有关对应实体的信息,该对应实体与所述包含层次的级别相关联;和ii.记录键,用于唯一地标识整个关系数据库内的数据库记录,所述记录键具有指定至少一个记录键区域的格式,每个记录键区域与所述包含层次的对应 级别相关联,所述对应级别关联于组,该组与所述数据库记录的关系是“包含于其中”,存储于每个记录键区域中的记录键值给在对应于所述包含层次的级别的记录表格中的指定数据库记录编索引。

【技术特征摘要】
CA 2005-6-15 2,509,972;US 2005-10-24 11/255,9531.用于将高分层信息存储在关系数据库中的多个记录表格中的记录表格,在与多个分层组关联的数据库记录之间的关系,指定了跨越组的“包含”关系,每个记录表格包括a.来自所述多个数据库记录组的组,所述组与包含层次的一个级别相关联,每个数据库记录包括i.数据部分,用于存储有关对应实体的信息,该对应实体与所述包含层次的级别相关联;和ii.记录键,用于唯一地标识整个关系数据库内的数据库记录,所述记录键具有指定至少一个记录键区域的格式,每个记录键区域与所述包含层次的对应级别相关联,所述对应级别关联于组,该组与所述数据库记录的关系是“包含于其中”,存储于每个记录键区域中的记录键值给在对应于所述包含层次的级别的记录表格中的指定数据库记录编索引。2.根据权利要求1的记录表格,其中,采用所述关系数据库来存储关于被管理通信网络的网络管理信息,每个数据库记录对应于在所述通信网络中被部署的可管理实体,所述记录键包括字符串,每个记录键区域包括该字符串的子串。3.根据权利要求1的记录表格,所述记录键具有跨越所有记录表格的所有数据库记录的公共格式,所述记录键的格式指定了对应于所述多个包含层次级别的多个记录键区域。4.根据权利要求3的记录表格,其中,采用所述关系数据库来存储关于被管理通信网络的网络管理信息,每个数据库记录对应于在所述通信网络中被部署的可管理实体,所述记录键包括数字,每个记录键区域包括对应于该数字的二进制表示的多个比特。5.根据权利要求4的数据库记录,其中,所述记录键包括整数。6.用于将高分层信息存储在关系数据库中的多个数据库记录中的一个数据库记录,在与多个分层组相关联的数据库记录之间的关系,指定了跨越组的“包含”关系,所述数据库记录的每个组被存储在与包含层次的级别相关联的记录表格中,所述数据库记录包括a.数据部分,用于存储关于对应实体的信息,该对应实体与所述包含层次的级别相关联;和b.记录键,用于唯一地标识整个关系数据库内的数据库记录,所述记录键具有指定至少一个记录键区域的格式,每个记录键区域与所述包含层次的对应级别相关联,所述对应级别关联于组,该组与所述数据库记录的关系是“包含于其中”,存储于每个记录键区域中的记录键值,给在对应于所述包含层次的级别的记录表格中的指定数据库记录编索引。7.根据权利要求6的数据库记录,其中,采用所述关系数据库来存储关于被管理通信网络的网络管理信息,每个数据库记录对应于在所述通信网络中被部署的可管理实体,所述记录键包括字符串,每个记录键区域包括该字符串的子串。8.根据权利要求6的数据库记录,所述记录键具有跨越所有数据库记录的公共格式,所述记录键的格式指定了对应于所述多个包含层次级别的多个记录键区域。9.根据权利要求8的数据库记录,其中,采用所述关系数据库来存储关于被管理通信网络的网络管理信息,每个数据库记录对应于在所述通信网络中被部署的可管理实体,所述记录键包括数字,每个记录键区域包括对应于该数字的二进制表示的多个比特。10.根据权利要求9的数据库记录,其中,所述记录键包括整数。11.一种用于将高分层信息存储在关系数据库的多个数据库记录中的方法,在与多个分层组关联的数据库记录之间的关系,指定了跨越组的“包含”关系,所述方法包括a.将相同组的数据库记录存储在对应的记录表格中;和b.将记录键归于每个数据库记录,以唯一地标识在整个关系数据库内的数据库记录,所述记录键具有指定至少一个记录键区域的格式,每个...

【专利技术属性】
技术研发人员:Y阿瓦德A穆斯塔法M阿松
申请(专利权)人:阿尔卡特公司
类型:发明
国别省市:FR[法国]

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

1