在基于图的计算中管理数据流制造技术

技术编号:5403421 阅读:196 留言:0更新日期:2012-04-11 18:40
处理与包括多个层的分层结构相关联的数据元素包括:形成数据元素的多个流,每个流与分层结构的层相关联;以及至少在一些流内包括与分层结构的层相关联的分层结构信息。对于至少一层,两个或更多个但少于所有的流包括与该层相关联的分层结构信息。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及在基于图的计算中管理数据流
技术介绍
经常可以通过有向图将复杂计算表达为数据流,其中计算的组件与图的 顶点相关联,而组件之间的数据流对应于图的连线(link)(弧,边)。在美国专利 5,966,072 “EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS”中描述了实现这样的基于图 的计算的系统。执行基于图的计算的一种方法是执行许多过程(process),每个过程与图的 不同顶点相关联,并且根据图的连线来建立过程之间的通信路径。例如,通信路径可以使用 TCP/IP或UNIX域套接字,或者使用共享存储器来在过程之间传递数据。
技术实现思路
一方面,一般来说,一种用于处理与包括多个层(level)的分层结构(hierarchy) 相关联的数据元素的方法包括形成数据元素的多个流,每个流与分层结构的层相关联; 以及在至少一些流内包括与分层结构的层相关联的分层结构信息。对于至少一层,两个或 更多个但少于所有的流包括与该层相关联的分层结构信息。方面可以包括一个或更多个下面的特征。分层结构信息包括分离一个或更多个数据元素的相邻集合的分离元素 (separation element),每个分离元素与分层结构的层相关联,其中,对于至少一层,两个 或更多个但少于所有的流包括与该层相关联的分离元素。该方法还包括至少部分基于分离元素,在分层数据结构(hierarchical datastructure)内的数据元素的表示和多个流内的数据元素的表示之间进行转换。根据标记语言来格式化分层数据结构。标记语言是XML。 根据编程语言来格式化分层数据结构。编程语言是PL/I、COBOL 或 IMS。在表示之间进行转换包括从分层数据结构内的数据元素的表示转换到多个流内 的数据元素的表示。形成数据元素的多个流包括从分层数据结构提取与第一层相关联的第一数据元 素;提取与嵌套在对应于第一数据元素的该分层数据结构的一部分内的第二层相关联的一 个或更多个数据元素;将与第二层相关联的所提取的数据元素中的至少一些包括在与第二 层相关联的流中;以及将第一数据元素包括与第一层相关联的流中并且与第一层相关联的 相应的分离元素包括在与第二层相关联的流中。形成数据元素的多个流包括接受多个分层数据结构的流;以及对于每个分层数 据结构,从该分层数据结构提取数据元素,每个数据元素与相应的层相关联,以及对于嵌套 在对应于父(parent)数据元素的分层数据结构的一部分内的一个或更多个子(child)数 据元素的给定集合,将子数据元素的集合和分离元素包括在与对应于子数据元素的层相关 联的流中,以及将父数据元素包括在与对应于父数据元素的层相关联的流中。所包括的分离元素与对应于父数据元素的层相关联。在表示之间进行转换包括从多个流内的数据元素的表示转换到分层数据结构内 的数据元素的表示。该方法还包括从与第一层相关联的流接收第一数据元素;从与第二层相关联的 流接收一个或更多个数据元素和与第一层相关联的分离元素;将第一数据元素包括在分层 数据结构的一部分中;以及将从与所述第二层相关联的流接收的至少一些数据元素嵌套包 括在包括所述第一数据元素的所述分层数据结构的那部分内。该方法还包括生成多个分层数据结构的流,包括,对于每个分层数据结构从与给 定层相关联的流接收与给定层相关联的数据元素;以及对于从与第一层相关联的流接收的 每个数据元素,将所接收的数据元素包括在分层数据结构的一部分中,基于与其他层相关 联的流内的分离元素来确定是否存在与其他层相关联的一个或更多个数据元素的相应集 合,以及将每个所述一个或更多个数据元素的相应集合嵌套包括在包括相应的所接收的数 据元素的所述分层数据结构的那部分内。与其他层相关联的流内的分离元素与第一层相关联。分层结构信息包括包括在至少一些数据元素中的一个或更多个索引值,所述索引 值唯一地标识分层结构的层的多个数据元素中的至少一个数据元素,每个索引值与分层结 构的层相关联,其中,对于至少一层,两个或更多个但少于所有的流包括与该层相关联的索 引值。至少一些数据元素包括根据该分层结构来唯一地标识父数据元素的索引值。该方法还包括至少部分基于索引值,在分层数据结构内的数据元素的表示和多个 流内的数据元素的表示之间进行转换。根据标记语言来格式化分层数据结构。标记语言是XML。根据编程语言来格式化分层数据结构。编程语言是PL/I、COBOL 或 IMS。另一方面,一般来说,一种用于处理与包括多个层的分层结构相关联的数据元素 的系统包括用于形成数据元素的多个流的装置,每个流与该分层结构的层相关联;以及 用于在至少一些流内包括与该分层结构的层相关联的分层结构信息的装置,其中,对于至 少一层,两个或更多个但少于所有的流包括与该层相关联的分层结构信息。另一方面,一般来说,一种存储在计算机可读介质中、用于处理基于图的计算的规 范的计算机程序,该计算机程序包括指令以使计算机形成数据元素的多个流,每个流与 该分层结构的层相关联;以及至少在一些流内包括与该分层结构的层相关联的分层结构 信息,其中,对于至少一层,两个或更多个但少于所有的流包括与该层相关联的分层结构信 肩、ο方面可以具有一个或更多个下面的优点。将分层结构信息包括在数据元素的流中使得基于图的计算中的组件能够在连接 组件的连线上的不同流中识别出数据元素之间的关系。可以从数据元素中的合成密钥 (synthetic key)中或从分离元素中提取分层数据结构的元素,同时保持所述关系,而无需 将全部数据结构的表示存储在存储器中。合成密钥可以用来促进对数据元素的各种操作, 包括基于来自该分层结构的关系对数据元素进行分组。例如,在用于重建至少一些分层关 系或重新排列数据元素的联合(join)操作中,合成密钥可以用作密钥域(key field)。分 离元素在流中的排列也使得组件能够从原始数据结构中重建至少一些分层关系。因为该分 层结构中的一些由流内的离散数据元素隐式地表示,所以在一些情况下,在流内选择性插 入分离元素可以比将合成密钥插入到所有数据元素中更有效地表示该结构。例如,可以将 与给定层相关联的分离元素仅仅包括在更低层的流中,而不需要将其包括在相同或更高的 层的流中(其中更低层表示更深的嵌套,对应于离根更远的相关分层结构的层)。类似地, 为了使用合成密钥来提供分层结构的有效表示,可以将与给定层相关联的合成密钥仅仅包 括在该层具有父的数据元素的流中,而不需要将其包括在在不同层具有父的数据元素的流 中。从下面的描述以及从权利要求中,本专利技术的其他特征和优点将变得清楚。 附图说明图IA是用于执行基于图的计算的系统的框图。图IB是计算图的示图。图IC是表示嵌套文档的分层结构的树的示图。图2、3A和4A是计算图的示图。图3B是用于处理数据的过程(procedure)的流程图。图3C、4B、4C和4D是来自正规化组件的流的示意图。图4E是用于处理数据的过程的流程图。具体实施例方式参考图1A,用于执行基于图的计算的系统100包括耦连到数据存储器102的开发 环境104和耦连到数据存储器(data store) 102的运行时环境108。开发者101使用开发环 境102建立应用。应用与由数据存储本文档来自技高网...

【技术保护点】
一种用于处理与包括多个层的分层结构相关联的数据元素的方法,所述方法包括:形成数据元素的多个流,每个流与所述分层结构的层相关联;以及至少在一些流内包括与所述分层结构的层相关联的分层结构信息,其中,对于至少一层,两个或更多个但少于所有的流包括与该层相关联的分层结构信息。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:克雷格W斯坦菲尔约瑟夫S沃利三世
申请(专利权)人:起元技术有限责任公司
类型:发明
国别省市:US[美国]

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

1