首页> 中国专利> 使用记录、键和/或数据字段值的重复解释数据集合

使用记录、键和/或数据字段值的重复解释数据集合

摘要

本发明涉及使用记录、键和/或数据字段值的重复解释数据集合。除其它内容之外,有两个或更多的数据集合。所述数据集合中的每一个包括可以被解释为记录的数据,每条记录具有数据字段的数据值。所述数据集合中的每一个包含至少一些与至少一个其它数据集合中的至少一个中的数据相关的数据。不同数据集合中的数据可以不同地组织或表达。所述数据集合中的每一个容许针对数据集合的记录定义键。所述数据集合的特征在于(a)记录、(b)键的部分或(c)数据字段的值实例中至少一个的重复。向用户提供关于所述重复中的至少一个的信息。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-25

    未缴年费专利权终止 IPC(主分类):G06F17/24 专利号:ZL2015104380860 申请日:20100818 授权公告日:20190409

    专利权的终止

  • 2019-04-09

    授权

    授权

  • 2015-12-23

    实质审查的生效 IPC(主分类):G06F17/24 申请日:20100818

    实质审查的生效

  • 2015-11-25

    公开

    公开

说明书

分案说明

本申请属于申请日为2010年8月18日的中国发明专利申请No. 201080036870.4的分案申请。

技术领域

本描述涉及数据集合。

背景技术

例如,典型关系数据库的表表示记录的数据集合。每条记录具有 已经针对该表所定义的字段中的数据值。每个字段针对该字段所表示 的属性可以具有最多一个值。该表具有将记录与另一记录明确区分的 唯一键(uniquekey)。数据库中表的关系在正常情况下是事先定义的, 并且所有数据和表以共同共享的本地格式表示。除了执行数据库中的 事务之外,用户通常能够通过数据库应用所提供的界面观看每个表的 记录,以及相关表中所包含的数据组合。

有时,企业的相关数据并没有保存在预先定义的严格规范 (well-disciplined)的数据库中,而是被生成为可能具有不同的不相关 格式的单独文件、数据集合或数据流。虽然这些源中每一个的数据可 以被构建为记录,但是例如,从记录到字段的界定可能并没有在源内 定义。有时,虽然相关,但是不同源中的数据可能是不一致或重复的。

于2009年3月31日授权的与本专利申请同属一家公司的美国专利 7512610描述了一种对源文件、数据流或数据集合进行处理,使其数据 可以作为能够由用户操作和分析的记录而被可轻易访问和可观看的方 式,其全文通过引用结合于此。

发明内容

总体上,在一个方面,存在两个或更多的数据集合。所述数据集 合中的每一个包含可以被解释为记录的数据,每条记录具有数据字段 的数据值。所述数据集合中的每一个包含至少一些与其它数据集合中 的至少一个中的数据相关的数据。所述数据集合中的不同数据集合中 的数据可以不同地组织或表达。所述数据集合中的每一个容许针对数 据集合的记录定义键。数据集合的特征在于(a)记录、(b)键的部 分或(c)数据字段的值实例中至少一个的重复。向用户提供关于所述 重复的至少一个的信息。

实施方式的特征可以在于以下一个或多个特征。所述数据集合中 的至少一个包括具有文件格式的文件。所述数据集合中的至少两个包 括具有不同文件格式的文件。从用户接收关于所述数据集合中的至少 一个的数据可以被解释为记录的方式的信息,每条记录均具有数据字 段的数据值。从用户接收能够根据其确定所述数据集合中的每一个的 键的信息。所述数据集合中的一个的键具有与所述数据集合中的另一 个的键的定义的层级关系。记录的重复包括所述数据集合中的一个中 的重复记录。键的部分的重复包括所述数据集合中的一个中的键值对 应于所述数据集合中的另一个的键的部分的两个不同值。数据字段的 值实例的重复包括两个或更多值实例被包括在给定字段中。用户能够 对所述数据集合中的至少一个的记录的值执行标记、取消标记、过滤、 取消过滤和频率分析中的至少一种。

向用户提供信息包括显示该信息。显示包括显示所述数据集合的 记录、所述记录的字段的标识以及数据集合中重复的指示。显示关于 重复的信息包括显示数据字段的重复值实例。显示关于重复的信息包 括指明数据集合中存在重复记录。显示关于重复的信息包括指明键的 一部分存在重复。

向用户提供信息包括使用户能够创建包括所述数据集合的数据以 及关于重复的信息的记录的综合文件(integratedfile)。该综合文件包 含受键约束的记录。该综合文件的键包括数据集合的字段的层级串联。 重复数据值包括在该综合文件的记录的给定字段中。该综合文件的记 录被显示给用户。显示该综合文件中的数据的视图,该数据对应于所 述数据集合中的数据,该综合文件根据该数据集合的数据创建。权利 要求的方法还使用户能够对所述数据集合中的至少一个的记录的值执 行标记、取消标记、过滤、取消过滤和频率分析中的至少一种。使用 户能够对该综合文件的记录的值执行标记、取消标记、过滤、取消过 滤和频率分析中的至少一种,该标记、取消标记、过滤和频率分析被 自动应用于数据的其它视图。

总体上,在一个方面,接收包含能够被解释为记录的数据的数据 集合,每条记录均具有数据字段的数据值。该数据集合的特征在于数 据字段中的至少一个的值实例的任意数目的重复。关于至少一个重复 的信息被提供给用户。该数据集合包括具有文件格式的文件。从用户 接收关于该数据集合的数据可以被解释为记录的方式的信息,每条记 录均具有数据字段的数据值。从用户接收能够根据其确定该数据集合 的键的信息。该用户能够对该数据集合的记录的值执行标记、取消标 记、过滤、取消过滤和频率分析。向用户提供信息包括显示该信息。 显示包括显示该数据集合的记录、该记录的字段的标识以及数据集合 中的重复的指示。显示关于重复的信息包括显示数据字段的重复值实 例。

总体上,在一个方面,一种介质承载数据记录和所述记录的键的 综合文件。每条记录包含至少一个数据字段的至少一个数据值。该数 据记录包含表示至少两个数据集合的数据的信息。所述数据集合中的 每一个包含能够被解释为记录的数据,每条记录均具有数据字段的数 据值。所述数据集合中的每一个包含至少一些与其它数据集合中的至 少一个的数据相关的数据。所述数据集合中的不同数据集合中的数据 可能以不同方式组织或表达。所述数据集合中的每一个容许针对该数 据集合的记录定义键。所述数据集合的特征在于(a)记录、(b)部 分键或(c)数据字段的值实例中的至少一个的重复。该综合文件包括 识别所述重复的信息。

这些和其它方面及特征以及它们的组合可以表达为方法、过程、 装置、程序产品、数据库、经营方法、系统、用于执行功能的手段, 以及其它方式。

根据以下描述和权利要求,其它的优势和特征将是显而易见的。

附图说明

图1是框图。

图2至14是截屏。

具体实施方式

如图1所示,我们在这里描述了处理12诸如(但并不限于)平面 文件、IMS*、MQ、ODBC和XML的独立的数据集合、文件或数据流 10(源)的方式。数据源可以(a)包含相关数据,(b)具有不同的 组织方案和格式,并且(c)包括重复数据。这里所描述的处理使用户 14能够通过用户界面16对数据显示进行访问、显示、分析和操作。在 一些实施方式中,至少一些处理基于由用户提供的关于数据源的信息 完成。在一些情况下,该处理提供了对数据源自身的记录中的数据的 访问、显示、分析和操作。在一些实施方式中,综合文件18根据源文 件创建并且为用户提供了额外的访问、显示、分析和操作能力。所述 特征可以在不需要用户进行编程或改编的情况下提供。

这里所描述的至少一些特征的实施方式和其它实施方式在可从威 斯康辛州麦迪逊的MioSoft公司获得的被称作BusinessDataTooltm的商 业产品中找到。该产品及其手册和描述通过引用结合于此。

作为待处理的数据源的一个示例,考虑三个单独但相关的数据集 合(在这种情况下,包含在三个数据文件中),其中至少一些分别在 图2、图3和图4中示出。三个源数据文件的记录分别包含关于特定计 算机课程的课段教员、每门课程的名称以及注册了课程的学生的信息。 当数据集合以预先定义的文件格式(诸如.txt或.csv)表达时,有时我 们将该数据集合称作文件。但是我们在这里所描述的技术宽泛地可应 用于数据能够在其中被构建为记录的任意类型的数据集合、文件或数 据流。在一些情况下,记录的定界符(delimiter)在数据源中预先定义。 在其它情况下,记录及其定界符在具有或没有用户协助的情况下从数 据源推断出来。

我们有时以非常宽泛的含义可互换地使用文件和数据集合(和其 它术语)这些词语,以包括任意类型、源、格式、长度、大小、内容 或其它特征的数据的任意集合。数据集合可以为组织的数据阵列或未 组织数据的流(或二者的组合),其能够被解析或分析以推断出所谓 的记录以及记录的定界符。我们意在使短语“数据集合的记录”非常 宽泛地包括该数据集合的任意数据群组,该数据群组包含与该数据集 合的字段相关联的属性的一个或多个值。

在该示例中,图2示出了名为sessions.txt的纯文本文件的数据。 该文件可以被解读为包括记录50,其中每条记录在字段54中包括一个 值52,该字段54表示课程编号(例如69.102)和该课程的课段字母(诸 如a或b,其例如可以对应于第一课段和第二课段或者单个课段中给定 的课程的两个不同分段)的组合。第二字段58中的每条记录的第二值 56表示教员的姓名(例如,ChrisSchulze)。

名为courses.csv并且在图3中示出的第二文件以逗号分隔变量 (.csv)格式表达并且具有记录60,每条记录60包括在一个字段62 中标识课程编号的值61以及在第二字段64中表示课程名称的相应值 63。例如,课程69.102具有名称DataMigrator(数据迁移器)。

名为students_with_addresses.csv并且在图4中示出的第三文件也 以.csv格式表达。其许多字段(图4中并未全部示出)包含值,除其它 之外,所述值包括标识每个学生的编号70的值69(A栏)、名字72 的值(B栏)、姓氏74的值(C栏)、以波浪字符分隔的一个或多个 地址76,78的值(D栏)、课程课段的标识符80的值(E栏),以及 课程编号的值(H栏,未示出)。

三个源文件包含相关信息。例如,课程编号在所有三个文件中使 用。并且课段标识符(a或b)在sessions.txt和students_with_addresses.csv 文件中使用。然而,出现在三个文件中的一些类型的信息之间的关系, 特别是信息重复的属性和数量,通过观看这三个单独的文件并不容易 理解。

这里,除其它之外,我们描述了这样的工具:该工具使用户能够 在不进行任何编程或改编或者对三个文件中包含信息之间的所有关系 进行详细分析的情况下,使该三个文件被分析并且使其记录以使用户 能够理解三个文件中出现的信息重复的属性和数量的方式显示。

虽然该示例中示出的三个文件仅包含相对少量的记录,但是相同 的方法可以被应用于包含非常大量的记录(数百万或者甚至数十亿) 并且取自广泛分布的源的文件,所述源包括可能并不完全处于相同一 方控制之下的源。不同文件或记录的集合可以以完全不同的文件格式 表达,或者在一些情况下没有任何正式文件格式。

我们首先描述分析并显示关于每个文件的重复信息(除其它之外) 并且使用户能够通过调用用户界面的简单特征对文件记录的属性进行 快速观察和导航的工具。用户界面16的示例在图5中示出。

图5表示了在(a)三个源数据文件92、94、96已经由用户导入 软件应用,(b)每个文件已经被解析为字段98(借助用户的协助,其 例如能够标识出字段之间的定界符),并且已经由用户在键框102中 标识出文件的键100之后的用户界面(这里被编号为90)和软件应用 12(图1)的状态。文件A的记录现在显示在图5中。

三个导入的文件在窗格104中列出。文件之后的**注记指示在其 被高亮和点击时,该界面中示出的记录是该文件的记录。(在随后讨 论的一些情况下,在条目之后的窗格中缺少**注记指示当该条目被调 用时,该界面中示出的信息是文件中包含数据的视图,但是并不是其 本身直接取自现有文件。)在文件名或窗格中的其它条目上进行点击 使其记录显示在可滚动的记录窗格106中。

图5(和其它附图)中图示的用户界面包括显示特征、菜单项、 分析工具以及在美国专利7512610中更为详细描述和示出的其它功能, 该专利的全部内容通过引用结合于此。

在窗格104中,在每个文件或其它条目的名称之后的,示出了该 文件的键105及其与至少一个其它文件的其它键的关系。当每个文件 被导入并解析时,对其字段给出标识符,该标识符跨所有三个文件是 唯一的。例如,在该示例中,文件Courses被标识为文件A并且其两 个字段被标记为A1和A2。在许多情况下,所述字段的解析能够基于 数据源中包含的信息自动完成。在其它情况下,用户参与字段及其定 界符的标识。

文件的键可以是如用户标识的该文件的一个或多个字段。例如, 用户在这里已经标识了唯一的课程编号A1栏作为文件A的键,这反映 为出现标题为[key](键)的左侧栏。

如图6所示,文件BSessions(课段)的键已经由用户在框102 中标识为B1栏(课程编号)和B2栏(课段字母)的“串联”。对于 文件B,课程编号(B1栏)不能单独用作键,原因在于可以有两个承 载给定课程编号的记录,每个课段或分段一个。通过将课段字母(B2 栏)与B1栏“串联”,可以形成唯一的键。这里,当我们提到串联时, 意思是例如根据这两个栏中的数据形成一个2元组。因此,B1栏中的 “X”和B2栏中的“YZ”将产生不同于B1栏中的“XY”和B2栏中 的“Z”的复合键。

文件B的串联键(B1,B2)与文件A的键(A1)相关。该关系105在 窗格104中示出并且由注记B2,B1=A1表示。该注记表达了键B1与键 A1相同,并且文件B中的键B1具有相同值但是B2具有不同值的记 录可能重复的事实。实际上,B1、B2是层级键。我们将这种层级布置 称作键级的重复。键级的重复是一起取得的三个文件的结构特征(但 是通过观看文件A并不是显而易见的并且通过观看文件C也不一定是 轻易显而易见的)。用户通过在文件B的键框102中输入来向该应用 指示B1,B2到A1的关系。

在图7A和7B中,示出了students_with_addressed文件C。在该 文件中,栏C8(课程编号)、C9(课段字母)和C1(学生ID)的串 联产生了唯一的三级层级键。显然,C8和C9与文件B中的B1和B2 相同,从而键110的关系可以表示为C8,C9,C1=B1,B2以指示C8和 C9分别与B1和B2相同,并且该串联键中的每个课程编号和课段字母 的组合也可能重复,原因在于多个学生通常针对给定课程的给定课段 进行注册。

在文件C的字段C4中,对于一些记录120存在学生的街道地址 的实例的重复122、124,并且对于该示例中的其它地址栏也可能出现 这样的重复。我们将这称作字段级的重复。

在源数据集合中,还可能具有键相同的复制记录(duplicate records)。例如,在文件C中,承载相同键的两条记录可以在所有字 段中都具有相同的值(虽然在图7A和7B中没有示出这样的示例)。 我们将之称作记录级的重复。类似地,文件B可能包含具有相同键的 多条记录,可能指示由多个教员所教授的课程和课段(非寻常的安排)。 文件C和B通过其键而不是其记录相关,所以不应当认为C记录具有 父B记录(或多个),相反,应认为C记录具有C键,该C键具有父 B键,并且B记录也具有B键。

当数据集合已经被导入并且解析为字段和记录,并且显示该记录、 字段和值时,在该记录的字段关系的首部(header)窗格127(位于记 录窗格之上)中具有层级指示。最上方的首部129跨越所有字段并且 表示整条记录。直接处于所显示记录上方的级131的首部标识每个字 段。每个中间的首部级层级地示出在其下方的首部群组。

数据集合的重复结构在用户界面中指示给用户。如之前所提到的, 键级的重复在窗格104以及键框102中声明(callout)。键级的重复 通过在键首部中显示单词“repeat(重复)”标识。例如,取决于课段 字母而可能出现的(文件A的)课程编号键A1由出现在串联键栏的首 部中的单词key118(键)之后的单词repeat116(重复)指示。该注记 向用户指示课程编号为键,但是该键对于不同课段可能重复并且B1, B2一起形成唯一键。

在图7A和7B中,字段级的重复由C4栏的首部中的单词repeat117 指示,这告诉观看者对于给定学生会存在重复的街道、城市和州地址 字段的实例。(跨越所有字段的)顶层首部中的单词repeat119是指记 录级重复的可能性,向观看者指示了文件C的整条记录都可能重复。 也就是说,给定学生可能在给定课程的给定课段中进行了不止一次注 册。

重复结构还通过图5、6、7A和7B中所示记录中值周围的括号组 指示。例如,在图6中,在每个记录的B1栏中,课程编号的值被包含 在括号中以指示在文件B中可以存在课程编号的键级的重复(例如, 因为给定课程可能有两个课段)。在图7中,C2栏中的值每个均被三 组括号包围,以指示学生名字的三种可能重复的情形:(1)由关系B1, B2=A1暗示的键级的重复(图6中的117),其指示一门课程可能有多 个课段,(2)关系C8,C9,C1=B1,B2表示的第二键级的重复116,其 指示一个课段中可以招收多个学生,以及(3)可能允许文件C中的多 条学生记录具有相同键(C8,C9,C1)的记录级的重复119。在串联栏 C4^中,每条记录中的每个值还携带第四组括号以指示可能存在字段级 的重复,这是因为每条记录可以包括多于一个的学生地址实例。

因此,图4至图7(和相关应用)中图示的界面使用户能够导入 单独的数据集合(例如,包含在潜在地具有不同文件格式或没有文件 格式的文件中,或者不包含在正式文件中),使该数据集合的记录的 字段得以被解析,并且标识可能包含相关数据的单独文件之间的键和 键关系。该应用基于键对数据集合进行分析并且在任意数据集合的记 录的显示中向用户指示至少三个级:键级、字段级和记录级中存在的 重复。该应用并不形成任何新的文件,并且并不跨数据集合合并或结 合数据。然而,该应用向用户揭示了每个数据集合的字段和记录以及 重复。

该应用确定了如何以及在何处通过“重复”命令而使用用户提供 的信息向显示的记录和首部中放置重复信息。该“重复”(可通过在 首部上右键点击并选择解析随后选择重复而获得)被用来规定首部中 的哪些要素反映了重复的数据。在该示例中,在数据页面B上,存在 关于键的重复指示,原因在于该数据可以具有关于A的键级的重复, 该事实已经由用户利用重复命令向应用指示。无论记录的字段中何处 出现重复,显示的记录数据都将包括至少一组括号。嵌套示出的父/子 括号指示重复的嵌套。在记录的字段中的数据实际重复时使用并排示 出而并非嵌套示出的同胞(sibling)括号。

在首部和记录的显示中,括号基于用户在“父”文件中定义的键 重复而由应用给出。“[repeat*]”注记指示用户已经明确告知该应用以 预期(并提取)重复数据的每个地方,该重复数据为键、记录或字段 级。如果用户并没有规定重复,则不示出括号。然而,由于在观看期 间没有发生记录间的处理,所以仍然示出所有记录。

显示“[repeat*]”注记示出了用户已经请求应用以预期重复数据 的位置,而无论该重复数据是键、记录或字段级。括号是应用进行的 有多少重复处于该文件的格式等级分解以及文件的键空间和键空间祖 先(ancestry)中的元素“之上”的指示。出于性能的原因,该应用通 常并不在观看普通文件时结合来自多条记录的信息,从而没有如实给 出键级和记录级的重复。括号仍然作为声明的重复的剩余内容而被包 括,但是它们一直表现为单数,这是因为在每一行中示出了正好来自 一条记录的信息。字段级的重复将可靠的重复信息示出为零或多个带 括号串的序列(例如,“(foo)(bar)”)。

为了便利,该应用使用暗的水平的分隔线在视觉上指示了具有相 同父键的连续记录。例如,在图6中,线条119分隔记录69.208a与记 录69.208b。由于两条记录的父键为69.208(即,正好为B1栏),则 实线分隔线121、123协助形成相关记录的视觉组。当连续记录具有相 同键(例如,B1和B2相同)时,使用更暗的分隔线,提供关于记录 分组的两个级的信息。

此外,使用该应用的特征,用户能够对数据集合的记录过滤、标 记并且执行频率分析和其它分析操作,这提供了对数据属性的额外见 识。许多操作在之前所引用的专利中了解释。

除其它之外,用户能够对由任意首部在首部层级的任意等级表示 的部分数据记录执行分析。例如,通过在文件C的记录显示的首部C4 street(街道)120上右键点击,并且选择analysis(分析)选项并接 着从出现的弹出菜单中选择analyzecolumn(分析栏)选项,用户能够 使应用在该栏中执行数据分析并且例如在图8所示的窗口150中显示 分析结果。

在图8中,窗格152显示了关于数据集合的记录中的栏street的值 的数据。窗格154示出了关于street的各个值的出现频率的信息。并且 第三窗格156示出了窗格156的频率的元频率。

例如,虽然文件C仅包含174条记录,但是显示窗格152示出了 不同值的计数125为295条不同街道。这反映了街道地址的实例可以 在给定记录的C4栏中重复(在该示例中就为重复)的事实。

窗格154以频率降序列出了每个街道地址在文件中的出现频率, 包括出现数目,该数目表示的出现百分比以及相关联的街道值。例如, 窗格154中的第一条目127指示街道地址10300W.BluemoundRd.,Apt. 310在文件C中出现了四次,其是该文件中街道地址出现总数的 1.149%。在窗格156中,(以降序)示出了窗格154中出现的给定频 率的次数的数目以及那些出现表示的地址出现总数目,和该出现数目 表示的总出现的百分比。例如,窗格156中的第一条目指示文件C中 出现四次的街道地址乘以这样的地址的数目(在该情况下为2)等于8, 这对应于该文件中所有街道地址出现的2.299%。另一方面,该窗格中 最后一个条目指示有250或71.839%的记录在该文件中仅出现一次。可 以进行类似的分析并且针对任意文件的任意栏显示。

在观看图8时,如果用户的兴趣在于仅看到窗格154中的一行表 示的记录,则用户可以在该条目上双击。作为响应,文件C的记录显 示变为仅示出包含窗格154中的该行表示的地址的记录。通过回顾那 些显示的记录,用户能够推断并理解关于文件中该记录的信息以及在 什么情况下出现重复。用户能够在显示该数据集合的记录的同时通过 重复该过程而学习每个数据集合的数据值、重复、频率和其它信息。

在图示的用户界面中,用户能够得出对三个不同文件中的数据之 间的关系的理解。例如,在图6中,用户能够在标题B3instructor(教 员)上右键点击,接着选择选项analysis以及弹出菜单中的analyze column。接着显示出那些记录中教员的频率信息(但是在这里没有示 出)。通过在示出教员是ChrisSchulze的两条记录的条目上进行双击, 记录窗格被更新为仅示出那两条记录。通过在mark(标记)框140中 进行点击,那两条记录都被标记。接下来,用户能够通过切换到Course 文件A的显示,在窗格104中的文件A上进行右键点击,调用mark acrossjoin(联合标记)选项,接着选择文件B作为标记源来调用联合 标记(mark-across-join)特征。这使在Schulze教授的两门课程记录: DataMigrator和ContextServer的记录窗格中进行标记。

用户可以通过在文件B的记录显示中标记DataMigrator课程的记 录,将显示切换到文件C,在窗格中104的文件C上右键点击,选择 markacrossjoin选项并且选择文件C作为标记源来重复该过程。文件C 的记录显示接着将文件C的参与了ChrisSchulze教授课程的学生的标 记记录示出为已标记。接着通过在filter(过滤)按钮上点击,用户仅 被示出ChrisSchulze教授课程的那些记录。

为了概括至此描述的一些特定示例,用户能够导入具有相关数据 并且具有不同文件格式且来自不同源的文件。如果有必要,用户能够 规定每个文件的记录和字段定界符,以及每个文件的键和键关系。该 文件可以在三个级:键级、记录级和字段级中的每一个具有数据重复。 该工具可以指示重复级的存在。此外,使用该应用的标记、过滤和联 合标记特征,用户能够理解三个文件中数据元素之间的关系。然而, 前后导航以及使用那些功能来理解数据元素的关系的过程稍显麻烦。

例如,如果窗格154中的条目127被双击以揭示共提供包含地址 10300WBluemound的四个实例的两条记录,并且如果相同的学生标识 编号与那两条记录相关联,则除了切换到课段文件的显示并且使用界 面的联合标记、过滤、标记和分析特征来找到示出所需信息的记录之 外,用户就没有简单的方式来看到关于该学生注册的课段的更多信息。 因此,用户可能观察并理解不同数据集合中数据的相互关系,但是在 一些情况下很麻烦。

可以通过调用称作joinall(联合所有)的工具的特征来简化该过 程并使其更为丰富。该joinall的特征处理该三个文件(或数据集合)- 它们已经被解析并且已经由用户标识出了其键及键关系-以产生新的综 合文件。该新的文件以允许用户更快和更容易的分析的形式捕捉三个 源文件A、B和C的数据。用户通过在菜单项file(文件)上点击并且 选择exportdata(导出数据)选项并且接着选择出现的对话框中的join allsourcefiles(联合所有源文件)来创建该综合文件。

对于被联合的记录,联合所有操作创建了镜像它们的键之间的关 系的相应层级记录。由于键是层级相关的,所以可以通过首先根据每 个页面的记录的键对其分类并接着顺序对它们进行处理来简化该联 合。我们通过页面意指文件中与在联合所有文件时被联合的文件中的 一个相关联的部分。例如,原始文件B对应于联合文件的页面B。当 根据从原始文件得出的页面创建最终的联合文件时,附加页面被添加 到该格式。该附加页面能够对联合记录解码并且将每个适当的部分发 送到相应页面。因此,实际上,原始文件中的每一个已经被浏览页面 替代,该浏览页面从联合所有文件的另一个页面而不是原始文件中的 一个接收其信息以便向用户显示(即,用于创建视图时使用)。

如图14所示,解码页面(其是被称作**D.Joined_Records的文件) 中所示的首部图示了联合记录的格式。在该图所示的部分首部结构中 示出了与页面B相关的记录的解码(我们通过页面B意指联合文件中 表示从原始课段文件B得出的数据的部分)。

在顶部要素开始并且继续向下,首部结构包括元素“D1^^^ JoinedRecords”、“D1^^”、“D1^”和“D14^^”。文件解码的表示 以元素“D1^^”开始,其是“具有大小的”元素,意指该记录在数据 之后的字节中包含指定该数据长度的大小字段。(大小字段本身在大 端(big-endian)格式中为4字节长。)“D1^^”和“D1^”用来对记 录解码以便在数据页面A中使用。“D14^^”和“D14^”用来对记录 解码以便在数据页面B中使用。第一元素“D1^^”对包含与联合到数 据页面A中的相应记录的数据相关的所有数据的字段解码。该元素进 而包含“D14^”,其具有“重复(repeat)”,这意指可以存在多条记 录,每条记录都是具有大小的记录。回头来看“D1^^”和“D1^”,除 了“D1^”不具有重复之外,我们看到它们遵照与“D14^^”和“D14^” 相同的模式。这是因为该元素用来解码根联合记录并且由此其并没有 被重复。严格来讲,“D1^”是冗余的,但是其出现提供了为层级联合 数据集合工作的重复模式。

在“D1^”之下为用于对页面B的联合数据的记录进行解码的元 素。该元素包括来自页面C的记录,其被联合到页面B的特定记录。 该包含模式针对所有联合数据页面重复。

元素“D15^^”和“D15^”对仅与页面B相关的数据解码。如果 记录级的重复已经在原始数据页面B上被替代,则“[repeat*]”将出 现在元素D15^上。“D15^”进一步由表示实际数据的主体及首部信息 构成。在元素D15中,注记“->B.sessions[Joinedrecord]”意指该元 素的输出被发送到数据页面B的输入栏。

由元素D16^提取的首部进一步被元素D16至D23解码。如所示 出的,首部包含文件名、文件路径和原始数据的记录数目。其还包含 联合数据的记录数目。每个首部字段之前有标识字段的单个字节。

类似的解释将应用于例如在其它附图中图示的其它首部元素。

对于我们已经讨论过的示例,图9示出了产生的joinall综合文件 的七条记录,其被称作D.Joined_Records并且在该示例中以称作 miodata格式的格式表达。

如图10A至10H(分段)所示的,并且在那些附图的左侧窗格中 指示的,由两个星号指示的被分析和观看的文件是文件D。文件A、B 和C的条目之后缺少两个星号,并且注记fromfileD指示当调用那些 条目并且显示记录时,该记录是已经从join_recordsfileD得出的记录 而不是三个源文件的记录的直接视图。例如,通过在窗格104中的条 目A上进行点击,向用户示出从原始源文件C得出并且被整合到综合 文件D中的数据。

文件D恰好包含从被解析并且具有键的源文件创建的七条记录。 文件D中的每条记录与一门课程相关联。所以,例如,如首部栏中的 单词key指示的,D1栏包含七门不同课程的编号并且作为文件D的键。 D2栏包含每门课程的课程编号和课程名称,其已经基于键D1从相应 文件A得出(联合到文件A)。D2栏中的数据的源在首部栏中通过短 语“->A.Courses[Joinedrecord]”指示。

D4栏标识了文件的名称,从该文件中得出这些记录的数据,D6 栏为从中得出数据的文件的文件路径,D8栏是该文件中的原始记录数 目,并且D10栏是记录的当前记录数目。D2至D10栏共同构成了所谓 课程记录栏D。

D14栏包含每门课程的课段具有键的实例。例如,在文件D的记 录2中,对于课程69.208具有2个课段键实例。为了简要,该实例在 显示中通过分隔符00分隔。例如,“69.20800a”实际上是“69.208”、 随后是空字节(通常以红色示出为00)、随后是字母“a”。出现在该 键的成分中的空字节将被编码为01字节随后是另一个01字节。键成 分中出现的任意01字节将被编码为01字节随后是02字节。这种编码 保留了复合键的归类顺序并且仅在键成分内出现00或01字节时(不 止通过该00字节分隔符)扩展键,而这是不太可能出现的情形。

在D15栏的Body(主体)中,示出了每门课程和每个课段的教员 的姓名。D15栏的Sessions记录跨越D17、D19、D21和D23,并且捕 捉关于课段信息源的信息。在记录2中,出现了两名教员的名字,这 是因为课程69.208具有两个不同的课段。D15栏中的信息已经从文件 B得出并被联合(如栏首部中指示的),其列出了各个课段的教员姓名。 虽然原始文件B具有八条记录来反映课程有八个课段的事实,但是在 文件D中,所有那些八条记录被捕捉在D15栏的仅六条记录中,这是 因为对于课程中的两门,每门课程均具有两个课段并且那些课段对可 以记录在相同的记录中。

D27栏显示了每门课程中所有学生实例的键信息,以及关于学生 注册的课程和课段的相关联信息。利用D14栏,课程、课段和学生ID 的键信息由00分隔符分隔。例如,记录6保存了注册该课程的非常大 量的学生实例的键信息,每个键包括课程编号、课段字母和学生ID。

类似地,D28栏通过与文件C联合捕捉学生地址记录。D30、D32、 D34、D36栏捕捉关于联合信息的原始位置的信息。

文件D是非矩形文件,其中对于每条课程记录,记录的各个栏可 以在不同的重复级具有多个实例(重复)。例如,可以具有许多注册 了一个课程的学生的学生ID。D27栏捕捉多个ID并且对于每一个捕捉 相关联的课程和课段标识符。将源文件的数据联系起来的信息因此被 完全捕捉并且立即可用以便允许用户观看不同文件中的相关数据。

这种布置不同于其中每条记录为矩形的典型数据库表,也就是说, 每个栏具有该栏的属性的单个值的空间;对于该属性的附加值必须提 供附加栏。所有记录的长度,在值条目的数目方面,每个栏一个,它 们全部是相同的并且通过栏的数目定义,就此而言,这样的表是矩形 的。作为比较,文件D是非矩形的,因为记录的长度在值条目的数目 方面可以比每个栏一个更多,并且因此不需要全部都是相同的。

该应用不仅以平面形式生成了joinall综合文件,而且还生成了对 应于三个源文件A、B和C的文件D的数据的三幅视图。具有在文件 D中的非矩形记录中组织的数据并且具有与D中数据相关的三幅视图 (A、B和C),允许用户有机会更容易、更快并且更直观地观看并使 用三个源文件中的数据。

例如,如图11所示,假设用户对文件D的第二条记录表示的课程 ConfigurableParser(可配置解析器)感兴趣,并且相应地标记了该记 录和过滤器,保留显示该单个记录。现在假设用户对关于注册该课程 的学生的细节感兴趣。通过简单地在文件C上进行点击,窗格104中 的学生立即以图12中所示的数据呈现,其示出关于注册该课程的学生 的所有详细信息的单个记录。此外,当用户使应用对给定栏的记录分 析频率统计时,该分析立即体现于(carryover)视图A、B和C以及 文件D的视图之中。例如,假设在对文件D中的记录2了标记和过滤 之后,用户对该记录中的学生信息执行频率分析并且得到如图13所示 的结果。

因此,joinall特征产生的综合文件使用户能够更为容易地观看、 分析和理解数据、数据集合及其关系,包括可能存在的重复。

使用存储在大量存储设备上的数据集合和综合文件,这里所描述 的工具能够在运行于大量硬件配置上的大量软件平台上实施。

其它实施方式处于权利要求的范围之内。

例如,可以使用大量用户界面风格来显示综合文件的源数据集合 的记录或其它数据。类似地,可以提供大量用户接口设备以使用户能 够对记录进行标记和取消标记、对记录进行过滤和取消过滤、分析并 显示频率统计、创建并撤销联合、创建综合文件,以及观看部分或所 有数据集合、记录和字段。用来标识字段的标题可以以不同方式显示。 关于重复的信息可以以各种方式向用户图示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号