当前位置: 首页 > 专利查询>微软公司专利>正文

用于图分析和同步的方法和系统技术方案

技术编号:2920990 阅读:141 留言:0更新日期:2012-04-11 18:40
循环图可被划分。该循环图的分区可包括该循环图的非循环分量和一组已划分连接。该循环图的分区可具有一特定顺序。该循环图的元素可用一特定的串行化顺序来串行化。该循环图的元素的串行化顺序可对应于该循环图的分区的顺序。该循环图的非循环分量的元素可在已划分连接组的元素之前被串行化。一种计算机系统可包括一图同步组件,它被配置成划分循环图并确定该循环图的元素的串行化顺序。该循环图的串行化以所确定的串行化顺序串行化该循环图的元素。

【技术实现步骤摘要】

本专利技术一般涉及计算机系统,尤其涉及计算机系统数据结构的操纵。
技术介绍
许多有用的计算机系统应用程序结合了具有节点(即,顶点)和节点之间的连接(即,边)的图数据结构,例如,与网络、组织结构和数据库模式交互的计算机系统应用程序。结果,各种类型的图管理系统(GMS)变得越来越普及。一种公用的GMS操作是在图管理系统内或之间的图复制,或更一般地是两个图的同步。为本描述的目的,图管理系统可被归类成已验证图管理系统(VGMS)和未验证图管理系统。已验证图管理系统可在每一次图操纵操作之后验证所管理的图是否为有效状态。例如,已验证图管理系统可禁止将导致连接到不存在的节点或将违反某些其它已配置图约束的图操纵操作。已验证图管理系统的示例包括某些轻量级目录访问协议(LDAP)服务器和结构化查询语言(SQL)服务器。同步图时会导致困难的特定图约束是基础结构连接(或基础结构边)约束。基础结构连接是(在某些情况中,必须是)作为相关节点的创建的一部分所创建的连接。基础结构连接的示例包括LDAP模式类继承关系和用于定义对象和对象类的某些其它关系。当将循环图(即,具有环路或回路的图)复制到已验证图管理系统时会产生问题。例如,在不修改循环图的情况下,可能无法在已验证图管理系统中以避免尝试连接到尚未存在节点的顺序创建节点和相关联的基础结构连接。如果已验证图管理系统禁止创建到不存在节点的连接,则它可能无法将循环图复制到已验证图管理系统。图1示出了将简单的循环图100复制到示例已验证图管理系统时的问题。节点102和基础结构连接104需要节点106在它们被创建之前存在。节点106和基础结构连接108需要节点110在它们被创建之前存在。然而,节点110和基础结构连接112需要节点102在它们被创建之前存在。结果,对于节点102、106和110及其相关联的基础结构连接104、108和112,没有避免尝试创建到尚未存在的节点的连接的创建顺序。可能无法将图100复制到已验证图管理系统。实际上,图可以比图100复杂得多。由于各种连接类型,会产生进一步的问题。除基础结构连接之外,可能有多种类别的连接,包括例如在必要时改变分类以实现复制和/或同步的连接。
技术实现思路
本节提出了本专利技术的某些实施例的简化概述。本概述并非本专利技术的广泛综述。它并不意味着确定本专利技术的关键/决定性元素或描绘本专利技术的范围。其唯一的目的是以简化的形式提出本专利技术的某些实施例,作为以后给出的更详细描述的序言。在本专利技术的一个实施例中,划分循环图。循环图的划分可包括循环图的非循环分量和一组已划分连接。循环图的划分可以有特定的顺序。循环图的元素可用特定的串行化顺序来串行化。循环图的元素的串行化顺序可对应于循环图的划分顺序,例如,循环图的非循环分量的元素可以在已划分连接组的元素之前被串行化。在本专利技术的一个实施例中,计算机系统包括一图串行化组件,它被配置成划分循环图,并确定循环图的元素的串行化顺序。在本专利技术的一个实施例中,循环图的串行化的确以确定的串行化顺序来串行化循环图的元素。附图说明尽管所附权利要求书以细节陈述了本专利技术的特征,然而当结合附图阅读以下详细描述时,可以最好地理解本专利技术及其优点,附图中图1是简单循环图的示意图;图2所示是可用于实现本专利技术的一个实施例的示例性计算机系统的示意图;图3所示是依照本专利技术的一个实施例的示例高级计算机系统体系结构的示意图;图4所示是依照本专利技术的一个实施例的示例图同步组件的示意图;图5所示是依照本专利技术的一个实施例用于同步两个图的示例步骤的流程图;图6是示例非循环图的示意图;图7是示例循环图的示意图;图8所示是依照本专利技术的一个实施例用于划分图的示例步骤的流程图;图9是另一示例循环图的示意图; 图10是又一示例循环图的示意图;图11是依照本专利技术的一个实施例划分的示例图的示意图;图12所示是依照本专利技术的一个实施例用于串行化图的示例步骤的流程图;以及图13所示是依照本专利技术的一个实施例的示例图同步应用编程接口的框图。具体实施例方式在继续描述本专利技术的各个实施例之前,现在提供可在其中实施本专利技术的各个实施例的计算机的描述。尽管并非所需,但本专利技术将在诸如由计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序包括例程、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。此处所使用的术语“程序”可以意味着单个程序模块或共同运作的多个程序模块。此处所使用的术语“计算机”和“计算设备”包括电子地执行一个或多个程序的任何设备,包括个人计算机(PC)、手持式设备、多处理器系统、基于微处理器的可编程消费者电子设备、网络PC、小型机、图形输入板PC、膝上计算机、具有微处理器或微控制器的消费者电器、路由器、网关、集线器等等。本专利技术也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序可以位于本地和远程存储器存储设备中。参考图2,示出了其中可实现本专利技术的各方面的计算机202的基本配置的示例。在其最基本的配置中,计算机202通常包括至少一个处理单元204和存储器206。处理单元204执行指令来实现依照本专利技术的各个实施例的任务。在实现这类任务时,处理单元204可将电信号发送到计算机202的其它部分和计算机202之外的设备以引起某些结果。根据计算机202的确切配置和类型,存储器206可以是易失性(如RAM)、非易失性(如ROM、闪存等)或两者的某一组合。这一最基本配置在图2中由虚线208内的组件示出。计算机202也可具有另外的特征/功能。例如,计算机202也可包括另外的存储(可移动210和/或不可移动212),包括但不限于,磁盘、光盘或磁带。计算机存储介质包括以用于储存包括计算机可执行指令、数据结构、程序模块或其它数据的信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机202访问的任一其它介质。任何这类计算机存储介质可以是计算机202的一部分。计算机202较佳地还包含允许装置与其它计算装置,如(多个)远程计算机216进行通信的通信连接214。通信连接是通信介质的一个示例。通信介质通常包含诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。作为示例而非局限,术语“通信介质”包括无线介质,如声学、RF、红外和其它无线介质。本专利技术使用的术语“计算机可读介质”包括计算机存储介质和通信介质。计算机202也可具有输入设备218,如键盘/小键盘、鼠标、输入笔、语音输入设备、触摸输入设备等等。也可包括输出设备220,如显示器、扬声器、打印机等等。所有这些设备在本领域中是众所周知的,因此无需在此详细描述。在以下描述中,将参考由一个或多个计算装置执行的行动和操作的符号表示来描述本专利技术,除非另外指明。由此,可以理解,这类行动和操作,有时称为计算机执行的,包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它本文档来自技高网
...

【技术保护点】
一种其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行一种方法,包括:将具有多个图元素的循环图划分成多个分区,所述多个图元素包括多个节点和多个连接,所述多个分区包括:包括所述循环图的非循环分量的第一分区; 以及包括所述循环图的一组已划分连接的第二分区;以及为所述循环图的多个图元素确定一串行化顺序,所述串行化顺序对应于所述多个分区的顺序。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:D加弗利洛夫
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1