具有多个源容量的数据检索方法和装置的制作方法

文档序号:6411223阅读:243来源:国知局
专利名称:具有多个源容量的数据检索方法和装置的制作方法
本申请是美国专利申请第08/593,118号的部分继续申请(1996年2月1日申请),所述申请是美国专利申请第08/582,062号的部分继续申请(代理人文件号23134/90100,于1995年12月20日申请,发明名称为“具有多个源容量的数据检索方法和装置”),列入于此,以作参考。
本发明涉及计算机实现系统,它能够检索存储在一个或多个不同源中并以多种不同格式中的任一种格式的信息,而且能够提供基于该信息的报告及分析,特别是,涉及计算机方法和装置,它能够自动检索以多种格式中的任一种格式存储的数据库信息(包括结构和/或相关信息),而无需依赖于源数据的人为分析。
背景技术
计算机可存取信息的方法已开发出多种,诸如,相关或层次结构数据库管理系统、展开文件数据系统、电子数据表系统等。这些系统用于存储、操纵和显示无数种信息,包括会计或其它财务信息、科学或技术数据、公司或商业上的数据、名称、地址和电话数据和统计数据。至今已开发了多种格式和数据结构,而且这种情况既有好的一面,也有不好的一面。从积极的一面来看,由于具有多种不同类型的系统,能够为不同的系统提供不同的优质支持(例如,为数据进入或存储与数据分析和报告的速度或灵活性之间的关系作优化,或者为会计数据与公司数据等之间的关系作优化),或者向用户提供能够吸引个人或公司偏爱的用户界面或者其它特性。然而,在可以同时访问两个或多个这种系统中的信息(例如,协调或组合这些信息)是十分有用的情况下,这种信息系统的不断增多却是一种实质上的屏障。这种情况的例子包括(1)一个想要做出标准化报表的会计师,他拥有多个客户,但每个客户都保留着他们各自不同类型的数据源中的会计数据;(2)具有几个分部的公司,它希望做出统一报表,但其中不同分部运用不同的公司或财务软件;(3)希望做出统一报表的公司,它的会计信息是第一种型号或牌子的数据库(或其它数据源)上的而它的公司信息却是第二种型号的数据库上的;(4)一组调查同一个问题的科学家,每个科学家存储或利用保留在不同类型或牌子数据库或其它数据源中的数据。在理解本说明书后,读者还可能遇到其它类似的例子。此外,在某些情况下,即使当把所有所需信息存储在单个类型的数据源或者在单个数据文件中,也需要提供访问数据的方法(例如,提供对于数据的一致和/或促进的报告和分析)。
由于多种理由(包括,组织信息方法的不同和数据源类型之间的不同),使得这种情况十分困难。在一些情况下,即使运用相同的数据库软件,也可以用不同的方法组织类似类型的信息。例如,在第一个例子中,运用第一数据库软件包,用户可以组织公司的个人记录,从而把公司的所有人的姓名存储在第一张表或清单中、把所有人的地址存储在第二张表或清单中和把所有人的电话号码存储在第三张表或清单中,而且存储指针或链路以表明姓名与哪个地址和哪个电话号码相关。然而,可能发生运用相同软件的另一个例子,其中组织个人信息的不同的人可能提供单个表,其中每根线或信息“记录”包括姓名、地址和电话号码,无需从一张表中的记录到另一张表中的记录的任何链路或指针。
此外,不同类型的数据可以具有不同结构和/或不同数据存储格式或方案。例如,用层次结构的方法(例如,用树形结构)组织一些软件包,而其它的软件包可以组织为关系数据库形式(在行和列的两维表上建模)。此外,可以这种形式(严格地说,不是以数据库形式,诸如,以“平面文件”形式存储数据)存储信息作为电子数据表等。此外,不同类型的数据源可以各种格式存储数据。例如,一些数据库产品(database produces)存储每张表格、每个报告格式和每个查询作为在存储装置(诸如,硬盘)上的分别的文件,而其它软件可以把所有表格、关系、查询、表格格式等存储在单个文件中。一些产品可以存储每个记录和/或字段地作为固定长度数据和/或在文件中的固定位置上,而其它产品可以运用定界符以区分一个记录和下一个记录或区分一个记录内的一个字段和下一个字段。即使不同的软件产品存储在预定上的特定类型信息,对于不同的软件产品这种位置可以是不同的。此外,在不同软件产品中对数据进行不同编码,诸如,在一个产品中运用ASCII编码,而在另一个产品中运用多音(多字节)字符。在一些情况下,可以压缩数据和/或对其进行编码。
过去,由于数据类型十分不同,当需要访问存储的信息(例如,使报表标准化和分析和/或组合或协调来自两个或多个数据库的信息)时,顾问或其它专家个人地或“手工地”分析每个“源”数据文件或数据库以理解它的结构、关系数据存储格式、在数据库内的数据组织等。然后,专家建立一些输入方法或者查询在源数据文件或数据库中的数据,以获得所需的存取、协调或组合。虽然,这种方法是可操作的,但是由于它需要人为分析,它是很费力又费时的,而且由于对于专家或顾问要完成分析工作一般需要很长的时间,通常需要几天或几个星期来进行存取、协调或组合。
因此,提供经组合和/或协调的系统,其中,可以访问以各种格式或形式或以各种方法组织的信息,同时减小或者不需要人为分析,从而提供一种系统,它至少是部分自动,而且比起某些现有方法来是不费力也不费时。
发明概述本发明涉及访问存储信息的系统,例如,在两个不同信息存储系统中访问信息或获得协调和/组合。较佳的是,在一个实施例中,运用适当的编程计算机,自动执行所包括的一些或所有分析(即,无需人工分析)。较佳的是,系统是很灵活的,其中并不局限于它可以访问的格式,而是构成以获得实际上来自任何计算机可读信息源的数据。较佳的是,系统是可扩展的,(更佳的是,模块可扩展)其中可添加元件以允许访问附加类型、格式或组织的数据。在一个实施例中,访问、协调或组合数据伴随着增强对数据分析(即,提供在原始数据源中找不到的或未用到的数据分析类型和/或报告)。较佳的是,可用系统提供在几种数据源中数据分析和报告的标准化。在一个实施例中,为了获得所需结果(诸如,通过运用文本识别、人工智能和/或专家系统),系统运用源数据文件或数据库的内容,以及关于结果的信息。在一个实施例中,系统运用这种信息以至少部分控制可获得数据以对其进行分析和报告的方法。在一个实施例中,系统运用这种信息以提供这种分析和报告。
提供用标准化或统一方法,生成关于包括在可以是两种或多种源数据的数据源中的信息的输出或报表。对特定的不同类型的源数据提供驱动程序,这些源数据包括为识别各种数据源的结构或其它特性(例如,以供第一新数据库使用)进行的编程。较佳的是,构成新数据库以允许高活性和/或快速输出或报告,或者为报告目的对其进行最优化。在一个实施例中,本发明包括把一个或多个数据源转换成一个或多个统一数据库,较佳的是,生成一个或多个关键目录表、有选择地生成种类组或累积和附加数据或可选参量。
在一个实施例中,本发明根据会计或从已存的数据文件(诸如由以前会计或其它软件创建的数据文件)转换而来的其它数据,创建或提供数据库。
在一个实施例中,将系统配置成能方便地更新一些或所有新数据库部分(诸如,通过存储应被更新的一个或多个数据简要表和/或创建或定义在预限定时间户间隔内自动执行更新过程的时间安排表)。
在一个实施例中,提供能自动识别所需数据(诸如,通过当在给定数据段或数据参数中找到多个值时进行查看)的改进。
较佳的是,提供一个或多个确认或审计工具以检测潜在误差或问题。


图1是平面文件数据存储的示意图;图2示出结合如图1所示的数据存储一起使用的类型的目录结构;图3A-3C示出结合如图1所示的数据存储一起使用的数据存储格式的例子;图4A-4F是存储在关系数据库的表格中的数据例子的示意图;图5示出结合如图4A-4F一起使用的类型的目录结构;图6是平面文件数据存储的例子的示意图;图7A-7D是存储在关系数据库的表格中的数据的示意图;图8是由于根据本发明的实施例进行信息检索的系统的方框图;图9是根据本发明的实施例的功能块的内容的示意图;图10是由于根据本发明的实施例进行信息检索的过程的流程图;图11A和11B示出根据本发明的实施例进行选择或搜索目录的伪代码过程;和图12是存储在根据本发明的实施例提供的数据库808的表格中的数据的示意图。
较佳实施例的详细描述在描述本发明的某些方面之前,提供存储信息的各种形式有助于理解本发明。通过提供几个例子(包括会计信息的例子和科学或技术信息的例子)可以做到这一点。表1比较可能由两个不同的公司存储的数据类型。表1试图表明两个公司的会计和其它信息的概念上的组织,而且未必是存储在数据库中的信息(虽然如果需要的话,也可以是存储在数据库中之信息)。
表1.会计组织的例子公司#1 公司#2

表1.会计组织的例子公司#1公司#2


在表1的第一例子中,公司1保留帐目信息、雇员信息、计划信息和产品信息,而且具有四个帐目部分。公司1的帐目信息包括三个成分现金、应付帐目和应收帐目。公司保留它的销售员清单、用两种计划(调查研究和销售)跟踪信息并保留它的产品清单。表1的第二个例子是更长的(但还是简化的)例子。在该例子中,帐目具有在一个级别上的多个成分。虽然公司2的帐目具有下列种类现金、应付帐目和应收帐目,但是每个种类具有子类,而一些子类具有更加精细的划分。类似地,把雇员、计划和产品信息分成几个种类和子类,而公司2还具有被跟踪的附加项目(诸如,子公司)。
表1表示,即使在考虑到数据源和/数据存储公司之间的不同之前,公司的结构和/或它选择组织它的信息的方法导致一个系统到另一个系统的不同。例如,如果公司1和公司2是会计师的客户,他想做出一致或标准系统的报告和分析(或者为这两个公司做出),那将是十分困难的,即使公司1和公司2运用相同的数据库软件,而且即使在该软件内的经组织的会计信息是以类似形式的。于是,运用先前方法,一般要求人为分析并理解在表1中的信息,以便根据那些公司的数据库,为两个公司提供一致或标准化报告和分析。
仍然由于考虑到会计信息,可以把几种类型的信息存储器用于存储公司1和/或公司2的会计信息。例如,可以把信息作为一个或多个平面文件存储起来。注意,至少根据一些用途,“平面文件”信息存储不是真正的数据库系统。然而,在至少一些实施例中,本发明能够容纳平面文件数据以及其它数据库和非数据库存储方法。
图1示意地示出如何用多个平面文件存储表1的公司2的信息。虽然图1示出信息可能以书写形式出现在多张纸上,但是实际上,可以把数据存储在计算机可读媒体上(诸如,如下所述的硬盘上)。图1的格式是试图示出被组成文件101a到101f的多个文件的数据的逻辑结构,每个文件包括文件识别信息104(如图1所示)作为标题或报头信息104a、104b和多个记录(如图1所示)作为信息行106a、106b、106c,每个记录具有多个字段(组成如图1所示的列108a、108b、108c、108d)。对于熟悉编程技术的人员而言,用于存储和访问数据以具有或反射如图1所示的逻辑行和列结构的方法和装置是已知的。可以结合多个平面文件信息存储程序一起使用本发明。这些信息存储程序的例子包括以商品名称SimplyAccountingTM和MAS-90销售的。
按如图1所示的逻辑结构组成的数据以多个不同格式被存储起来。例如,在一个实施例中,把在平面文件101a到101f的每个文件中的数据存储在个人电脑的硬盘上的分开文件中。图2示出可用于存储这种文件的目录/文件结构,其中把如图1所示的所有文件存储在多个子目录中。对于熟悉该技术领域的人员已知,即使各种文件被组成如图2所示的目录层次,也可以把它们物理地存储在多个分开位置上的硬盘上。可将多种格式用于把数据存储在文件中。在图3A到3C中示出这些例子。在图3A的例子中,文件包括报头信息,接着是存储第一记录106a、第二记录106b等。在图3A的例子中,运用固定长度数据,其中,每个记录106a、106b具有相同的长度304(即,占有固定数量的位)。在图3A的例子中,在每个记录内的每个字段还包括从308a到308d的固定长度。
图3B示出另一种固定长度数据存储方法,其中以列的顺序,而不是以行的顺序存储数据(连续存储所有数据,然后是所有描述等)。在图3B的例子中,为了有助于找到所需数据,将记录号指示322存储起来(例如,作为报头的一部分)是十分有用的。在固定长度系统中(例如,如图3A或3B所示),在离开数据的开始部分一段给定距离(即,给定的位数)可找到特定数据。例如,在图3A中,如果已知报头302具有4字节的长度,而且已知记录长度304是8字节,那么需要找到在字节数5开始的第一记录106a的数据信息,而且需要找到在字节数13开始的第二记录106b等。
图3C示出在以定界的字段而不是在给定长度字段中的数据存储。在定界格式中,把特定符号(即,与用于存储数据的任一模式不同的位模式)用于给记录和/或字段的尾端或开始部分做标记。在图3C所示的实施例中,运用两个不同的特定符号,一个用于给记录的开始部分做标记,而另一个用于给字段的开始部分做标记。在图3C中分别示出这些符号,作为冒号和分号,它们代表任一位模式或符号。在图3C的数据格式中,可以识别表示第一记录106a的数据信息的信息,作为在第一新记录符号324a之后而在第一新字段符号324b之前的信息。来自第二记录106b的数据信息是在第二新记录符号326a之后,而在下一个新字段符号326b等之前的信息。用于存储信息的许多其它格式是可行的。从图3A到3C的说明中可见,数据存储格式的多样化又带来另一个访问、协调和组合信息存储系统的不同类型的数据的问题。先前,想要直接访问信息(例如,不运用数据库管理系统或其它读取存储信息的软件)的需要有数据存储格式的知识(诸如,在某些情况下,需要通过分析存储信息的例子来获得这种知识)。于是,满足想要访问表1的公司1和公司2的存储信息的会计师的需要不仅要求关于数据的逻辑组织的信息、它的逻辑目录结构(图2),还要求关于数据存储格式(图3A到3C)的信息。
在存储作为平面文件数据的信息之外,还存在多种其它可能性。图4A到4F示出考虑到关系数据库的信息的一个可能组织。在图4A到4F的例子中,存储第一业务表402,它具有多个记录406a到406d。注意,图4A中所示的记录在某些方面与图1中所示的相类似(即,包括数据段、描述段和量段)。在图4A的例子中,每个记录提供附加索引段。在图4A的例子中的业务表不包括如图1所示的报头信息,而且只包括单个业务表图4A(而不是如图1的实施例中的从表101a到101f的多张表)。在如图4A至图4F所示的相关数据库中,提供能够反映如图1所示的组织的附加表。例如,帐目表412包括如表1所示的所有类别表,同时索引414与每个帐目相关。类似地,雇员表416包括表1的雇员的姓名,每个姓名具有与其相关的索引418。此外,对于每个姓名,在图4C中表示人是否与销售人(sales force)或者与调查研究人(反映如表1所示的层次)相关。此外,还包含一个字段以表示雇员的位置。可以提供附加的表格(未图示)以列出反映表1的组织的公司2的各种计划、产品和子公司。
图4D示出链接表422,它表示对于业务表402的每个记录,所需的任何记录与其它表链接。例如,如果第一业务406a是与现金帐目的银行1分量(bank no.lcomponent)相关的业务,那么提供记录428,它表示对于具有索引值1的业务记录,适当的帐目参考是具有索引424的那个。类似地,也可与雇员表416或其它表(未图示)作出链接。于是,尽管在图1中需要为帐目、子公司、产品、计划等的每个可能的组合(可能导致相对较复杂的会计结构的大量文件),而在图4A至4F的实施例中只需单个业务表402,其中链接表图422提供在图1的实施例中由于已知业务被存储在哪个平面文件所获得的信息。
在典型的关系数据库中,可以只识别或显示满足某些准则的信息(例如,那些特定帐目的特定雇员的业务)。在一些数据库软件中,可以存储这些准则或“询问”以供例如当需要选择性信息时使用。图4E示出存储多个这样的询问(例如,运用结构询问语言(structured query language)(SQL))的表。在特定数据库系统中用到的询问可反映公司分析或组织数据的方法。于是,可能对根据在这种数据库中的信息使报告和分析标准化感兴趣的会计师可能希望了解和/或能够复制由各种存储询问(图4E)所表示的那种类型的数据分析。
此外,多种类型的数据库允许用户设计报表(或者用于显示或者用于打印),而且在一些情况下,允许用户存储限定这种报表(例如,重复用的报表)的信息。然后,可以存储另一张表或者表组(未图示)作为相关数据库的一部分或者与它相结合,以保存关于这些报表的信息。
可以以多种不同的方法,把在图4A至4F中所示的信息和结构存储起来。图5示出可被用于存储多个设计表、链接表、询问表和/或报表公司的目录/文件层次结构。可以多种不同的数据格式(诸如,如图3A所示的那些中的任一种,或者对于那些熟悉该技术领域的人员所熟知的其它格式)存储这些数据。
可以各种格式存储的信息的另一个例子是科学或技术信息。在图6A中,提供平面文件系统以存储用于例如气象调查的表面温度信息。在图6的例子中,每个文件602a、602b、602c存储用于由其报头604所示的特定场合和测量单位(例如,华氏度或摄氏度)的信息。对于每个记录606a、606b、606c,把一天中每小时的数据和阅读存储在分开的字段中。图7A至图7D示出用于存储这种类型的数据的关系数据库系统。数据表702包括所有观测结果,以及每个观测结果的测量单位704a和索引704b。表706(图7B)和708(图7C)可用于表示对于存储在图7A(如它的索引值704b所示),与该数据点相关的位置及与该数据点相关的日子的时间的索引值。虽然简化了图6和7A至7D的例子,但是对于那些熟悉该技术的人员而言,.如何建立用于存储更加复杂的数据(诸如,气象数据,包括风速和风向等)组的信息系统是显而易见的。于是,如果研究员想要使来自两个气象数据源的信息相互关连起来,那么就可以使用前面的方法(其中一个把信息存储如图6所示的系统中,而另一个把信息存储在如图7A至7F所示的系统中),以便需要由顾问或其它专家分析如图6和7A至7D所示的信息存储结构和组织,而且共同发展用能允许其中数据的组合或协调的这种方法访问数据。
图8是根据本发明的一个实施例的系统的方框图,以供克服上述关于访问、协调或数据在不同信息系统上的数据的困难使用。在图8的实施例中,主处理802有选择地启动如结合分析和/或访问在多种数据源806a、806b、806c、806d中的信息所需的各种驱动器804a、804b、804c、804d。为了便于讨论,如图8上述的源数据806a至806d可以是由用于组织或存储数据(诸如,如上所述的平面文件系统、数据库、电子数据表等)的多种程序或系统之一存储或产生的数据。图8的处理和数据可以常驻于一个或多个计算机中。在一个实施例中,在局域网(LAN)(它包括网络服务器计算机和相关硬盘或其它存储设备和一个或多个客户计算机)的情况下实施该处理。在一个实施例中,在客户计算机上执行主处理802,而把信息源806和用于新数据库808的数据文件存储在与网络服务器相关的硬盘(或其它数据存储)上。在许多其它结构中可以实施本发明,诸如在单个计算机上、在多个非联网的计算机上,它们运用由通信链路(诸如,广域网、调制解调通信)通过互连网等链接的计算机。可以运用多种类型的计算机来执行本发明,包括大型计算机或个人电脑,诸如,由国际商业机器(例如,基于计算机的386、486或奔腾或者奔腾II型)、苹果公司,诸如,Macintosh计算机)和这些计算机的“克隆”品)。在一个实施例中,运用DOS操作系统和/或微软视窗或视窗95客户界面实施该处理。
这里被称为驱动程序804a至804d的那些项不应与在某些数据库程序中提供的那类数据滤波器相混淆。一般来说,数据滤波器是用于根据用户可确定准则,选择某种和/或字段的询问或逻辑测试类型。另一方面,在下面将要详细描述的驱动程序804a至804d是具有分析和访问不同类型的源数据的多种处理功能。在另一个实施例中,以在熟悉该技术的人员理解本说明书之后以他们能够理解的方法,提供功能模块804作为动态链路库(dynamic link libraries)(DLL)。驱动程序804a至8094d的结构是用来对一种或多种类型的数据源进行运算(诸如,对特定数据库程序产生的数据文件进行运算)。根据数据库程序的特性,有时可能需要具有例如用于由两个分开版本的数据库软件包产生数据文件的两个分开的驱动程序。在某些情况下,有可能提供可以结合运用两种(或多种)不同类型或品牌的软件(或给定品牌的不同版本的数据库或其它软件)产生的数据文件一起使用的单个驱动程序。
一般来说,如图8实施的源数据806a至06d可以是任一计算机可读信息源。这种例子包括平面文件源数据、分级数据库、相关数据库、电子数据表等。虽然图8说明了一个有四个数据源的实施例,但是不能在只有单个数据源或在由五个或五个以上数据源的情况下运用本发明。虽然可以在运用不同类型或品牌的软件示出每个数据源806a至806d的情况下运用本发明,但是也可以在由相同品牌或类型的数据库或其它软件产生两个或两个以上数据源的情况下运用本发明。作为一个例子,第一驱动程序可以构成供检索来自运用dBase II产生的数据文件的信息使用、第二驱动程序可以构成供检索来自运用dBase III产生的数据文件的信息使用、第三驱动程序可以构成供检索来自运用平面文件系统(诸如SimplyAccountingTM)产生的数据文件的信息使用而第四驱动程序可以构成供检索来自运用Microsofy Access产生的数据文件的信息使用。
一旦对数据源进行分析后(如下面将要详细描述),便可用多种方法运用这种分析的结果,包括提供用户访问在数据源中的信息,用于查看或编辑、复制一些或所有数据同时最好增强它(如下所述)以创建新数据库、创建数据报表(用于查看、打印、存储、传输等)、询问等。
在图8的实施例中,主处理802运用驱动程序804对源数据806a至806d进行分析之后,可以创建一个或多个新数据库808,它包括来自一个或多个各种数据源806a至806d的数据。在一个实施例中,为每个数据源创建一个新数据库。可能需要例如运用标准数据库技术(诸如,当这些数据库具有类似的结果时)来结合两个或两个以上这样的数据库。在另一个实施例中,一个数据库806可以包括来自两个或多个数据源(例如,如果公司运用一个数据库或其它数据源来存储销售信息和用于存储雇员信息的另一个数据库或其它数据源)。如果需要的话,例如运用报表作者810,可将新数据库或数据库808用于生成报表,而且如果需要的话,例如运用数据库管理系统812或其它数据814可将它用于进入、查看或分析数据。在一个实施例中,数据库808是MicrosoftAccess数据库,它包括具有一个或多个指南、模板、滤波器和/或工具箱软件(如由那些属性MicrosoftAccess编程的人员所理解的那些)的基码,用于例如提供数据库报告和分析(诸如,输出标准财务报表)。在一个实施例中,提供财务和管理报表软件作为对于从Bellvuw,WA的Timeline,Inc.可售得的品名MVTM的扩展和变更。
分析系统中最好还包括一个为生成或提供用于某种目的或组某个团体的报表或屏幕显示而构造的模块。例如,在图8的实施例中,最好运用导向工具或图解选择器(例如,在条型图和百分率图(饼图)之间选择、选择报告期间、选择季度或星期报表等),向执行信息系统(EIS)815提供便于使用的用户界面,并构造输出在各种电子数据表、表示图解或打印表格中的数据分析。在一个实施例中,向执行者提供各种数据视图的菜单,其中包括运用如上所述的自动积累(roll-up)生成过程已经自动生成或检查的视图。
在一个实施例中,由于使用了例如802的处理,增强了新数据库或数据库808中的信息的运行处理功能。这是从信息以生成、显示或输出没有被显示或输出的数据的分析或关系或运用源数据806a至806d的意义上来说的。
图9是各种驱动程序804a至804d的示意图。每个驱动程序包括多个限定的处理或功能901至909。每种功能可以包括计算机程序指令912,例如,实施和执行一个或多个下述和如图10所示的步骤。在一个实施例中,每种功能901-909是可调用子程序或过程。在给定的驱动程序804b中限定的功能901至909包括根据源数据806a、806b必须不同地执行或进行的功能。于是,例如,关于设计成用来选择在硬盘上或者存储在所需信息的其它信息存储装置的某些目录的功能的一个901,选择目录的过程将会根据源设计806的类型,有所不同,例如,正像可以把图2的例子与图5的例子相比较可见的那样。相应地,在第一驱动程序804a中实施功能1的编程912与实施在第二驱动程序804b中的相应功能的编程代码不同。用这种方法,每个驱动程序限定一个或多个处理过程以通过设计用来容纳两个或两g以上不同类型源设计的不同特性的这些过程来进行功能。例如,图11A示出以伪代码表示的结合对于如图2所示的目录结构进行选择和/或选择目录一起使用的那类过程的一部分,而图11B示出与如图5所示的目录结构进行选择或选择目录一起使用的过程的伪代码的相应部分。那些熟悉该技术的人员从图11A和11B的例子可知如何构成驱动程序以执行两种不同类型的源数据的相同功能。虽然图9示出具有9种功能的功能块,但是本发明可以与功能多少不同的功能块一起运用。可以构成系统,其中不同功能块限定不同功能和/或者构成一个或多个功能以提供或者返回空值或恒值或信息。
1002可用多种过程启动,它是一种如图10所示的方法。在一个实施例中,运用存储在诸如磁盘、CD-ROM或其它非易失性媒体的媒体上的计算机程序实施图10的方法,而且通过向计算机(例如,通过键盘、鼠标等)发出指令以启动程序(即,把程序装在存储器中并执行程序)。另外,程序也可由另一个程序来启动。例如,在一个实施例中,新数据库808是Microsoft Access数据库,它可以包括例行程序(诸如,所谓的“指南(wizard)”),以启动程序,同时程序(图10)依次访问在信息源806中的数据以提供或更新数据库808。在这个实施例中,把指南用于为了根据需要征求用户输入(例如,步骤1020)而显示提示或“对话框”是十分有用的,从而用户界面具有与用于数据808的用户界面相一致的外部特征。
在如图10所示的过程中,在过程开始1002之后的第一步骤是识别和初始化动态驱动程序1004。由于这个原因,在可以以模块形式添加或删除驱动程序(例如,为了容纳新的或不同类型的数据源)的意义上,认为驱动程序804是动态的。例如,开始向用户提供的系统是一个如图8所示的具有四个驱动程序的系统,但将来可以添加从软件零售商那里购得、从信息服务、网络、互连网连接数据下装、或者通过写客户驱动程序的附加驱动程序。由于驱动程序的模块、动态本质的原因,预先不知道可用哪个驱动程序,于是当启动1002程序时,程序便识别出它可利用的驱动程序。在一个实施例中,通过搜索用于具有一个预置的(部分的)文件名称或者文件扩展名的文件的磁盘或目录。在一个实施例中,程序还可以进一步分析每个文件的所选部分(例如,报头信息)以证明由这些文件名和/扩展名识别的文件是所需的驱动程序。使驱动程序初始化以便包括识别和连接驱动程序功能并在每个驱动程序内初始化数据。
然后,确定过程是否输入或者更新1006。在输入中,首先进行一个过程,其中访问在数据源中的所有或大多数数据和结构并把它们存储到新的数据库。在更新中,进行一个过程,其中只访问数据和/或结构的所选部分(例如,以保证在新数据库808中的信息反映可能加到数据源806上的最近的变化或者附加物。在典型的情况下,当图8的系统第一次访问或运用来自给定数据源的信息,或者如果较多的变化或者附加物加到数据源上时,进行输入。一般,定期(例如,每天、每周等)执行更新,以使在源数据806中的数据与在新数据库808中的数据同步。在一个实施例中,对于输入或更新1006的选择是自动(即,通过进行更新除非已过程第一次访问特定数据源)进行的。在另一个实施例中,通过提供输入(例如,通过键盘选择,运用指针设备等),允许用户在输入和更新之间进行选择。
如果选择1008输入,那么主过程802开始执行一个或多个驱动程序的功能以选择要搜索1010的目录。被装入或由主处理802调用的驱动程序804将决定于访问哪种源数据。特别是,对于给定的数据源806a,主处理802运用驱动程序804b,其中构成所述将驱动程序以容纳该源数据806a类型。如果访问多于一个的数据源806,那么主处理802将运用为每种源数据806所构成的任一个驱动程序804。较佳的是,根据特性(诸如,文件和/或目录的名称(或者“扩展名”)、号码、文件的大小和结构或者在文件中的其它信息),文件结构自动确定数据源的类型。在另一个实施例中,允许用户或者要求用户表示数据源的类型(例如,通过识别用于创建数据源文件的软件品牌名或者版本号,或者通过表示用户是否希望过程只搜索本地盘文件或者执行包括网络文件的搜索)。
在步骤1010的最后,主处理802访问为所有数据源806搜索的存储的目录表,如由在步骤1004中识别的驱动程序804所识别的。在步骤1010之后,主处理802装入或者取得或者调用功能块804a至804d的另一种功能902,为了要输入1012的数据搜索在步骤1010中所选择的目录。用根据如何把信息存储在不同数据源806中的方法,来搜索目录1012。例如,对于一些类型的源数据来说,只须识别具有某一文件名和/或某一文件扩展名的文件就足够了。而对于其它类型的源数据806来说,则需要扫描在各种文件中的数据以识别具有某一结构或内容(例如,在文件的报头部分中或其它地方)的文件。于是,构造不同模块804以用不同的方法提供“搜索目录”功能902,以接受不同的数据源806。
如果进行更新1014而不是输入1008,未必需要选取和搜索目录,这是由于当开始进行输入时,用主处理802在以后可以访问的方法,将选择和搜索目录的功能901、902的结果存储起来了。于是,运用这种存储的信息,主处理802便可以识别先前输入的或更新过的数据。在一个实施例中,防止装入冗余数据(即,已出现在新数据库808中的数据)是十分有用的。一般来说,在全更新的情况下,主要在步骤1016中,识别新的或者经改变的数据(因为最后输入或更新),从而在数据库808中的至少一些数据没有被再装入。在一个实施例中,为了防止冗余数据装入,系统希望识别没有改变过(因为是最后输入或更新)的数据。一般来说,如果跟踪这个过程,在过程的最后,使在新数据库808中的数据与在源数据806中的信息同步,(即,它包括准确地表示在它们的当前状态下的数据源806的结果和数据)。
在图10的实施例中,为了赋予用户输入或更新数据的机会,或者选择防止输入或更新某些数据的机会,显示1018被输入或更新的数据的识别。为显示而组织要更新或输入的数据表示的方法,将决定于所访问的数据源的种类,而且响应于在一个驱动程序804(902a)之一中的功能的调用或者启动提供它。例如,构成以供结合如图4A至4F一起使用的驱动程序的功能902a可以显示表430(图4F)中的子公司表,以赋予用户输入或更新一些公司而不是其它公司的数据的机会。较佳的是,.用户可以从显示的表格中选择一个或多个公司。对于其它类型的组织或者数据源中的数据,可以重复地在选择步骤1018、1020中的显示(以显示允许选择对于某一用户416、某些证明412特定的数据,这依赖于如何写入或者构成驱动器的显示功能902a)。
如下面将要详细描述的那样,在一些情况下,在产生新数据库808之后,用户可以继续使用原始的信息源806a-806d来产生、存储、编辑,而在另一些情况下,可查看数据。于是,本发明与用户想要继续运用的早已相当熟悉的数据库806、用户界面等是兼容的。然而,在这种情况下,最好是经常地更新新的数据库808,以反映在信息源806a-806d中的新的或者经编辑的数据,(或者最后更新)因为新数据库808,是最先创建的(或是最近更新的)所以会发生这种情况。一种进行这种更新的方法是重复产生数据库808(如下所述)的整个过程。然而,在许多情况下,由于原先创建的新数据库808的大部分没有改变和仍然有效,所以这是效率很低的。于是,根据本发明的一个实施例,提供过程以允许只用来自信息源806a-806d的数据(由于最后更新数据库808,所以已被改变)就可更新新数据库808。
数据库808必须更新的频率依赖于由数据库808构成的各种应用的频率。于是,如果只是每星期访问数据库808一次,那么每天更新数据库808就变得毫无意义了。此外,包括在更新中的特定信息可以根据由新数据库808构成的应用而变化。于是,如果是按季度来对工厂生产数据作管理审核的话,那么不需要将每星期作更新的数据(例如,用于地区销售)包括过去。较佳的是,创建并存储限定各种类型的更新的一个或多个简要表,而且较佳的是,还创建并存储时间安排表。把时间安排表用于限定自动执行这种更新的时刻(即,不要求人把启动这种更新“列入日程表”中或记住它。最好是,安排不同的更新简要表以在不同的时刻或间隔内执行,诸如,通过提供这样的时间安排表,它例如在每周的销售会议之前每周自动执行地区销售更新过程,和在季度生产复审之前安排生产数据的季度更新。
由于利用图8的系统的不同的人可以运用系统的不同部分(例如,信息源806a-806d或新数据库808)以进行每天的运行。可以存储简要表以及新的数据库822、旧数据库824a-824d(如果存在用于存储在信息源806a-806d中的信息的适当“写允许”)或者两者兼有。
有多种方案可用来创建简要表。它可以包括命令(诸如,菜单选择或按钮)以允许用户要求创建更新简要表(例如,通过预定屏幕表序列或者对话框序列,诸如,由MicrosoftAccess Wizards所提供的)。还可以自动提示用户决定是否创建或者编辑简要表,例如,无论用户何时要求当前屏幕或运用数据的打印报表不在限定的(或者运用数据的频率超过了当前对于该数据的简要表更新频率)。在一个实施例中,通过创建列出数据库808的每个字段的数据库表来创建简要表822,而且对于每个这样的字段,表示是否存在更新该数据库、这种简要表的标识名或名称和当前更新频率或间隔的现存简要表。
在自动时间安排更新之外,最好还向图8的系统用户提供要求在任何时候更新的选项,最好提供在任何预限定更新简要表中选择或要求全更新的选项。如果需要的话,系统可以提醒用户确定是否应把要更新的数据组作为简要表(如上所述)存储起来。系统还可提供已存在或限定的简要表列表,从而用户可以在预限定简要表中进行选择,而不是在已显示的数据(诸如,子公司表)中进行选择。
在一些情况下,可以预先确定需要经常输入或更新来自数据库(“全更新”)的所有可利用的信息,而且应用的驱动程序的功能902a仅仅可将程序进到主处理802。例如,相对于如图7A至7D所示的数据源,可以确定,从各地测得之可用的表面温度总是包括在每次的输入和更新中。在一个实施例中,向用户提供了一种显示,它可以指示出用户所选择的数据之位置。例如可以显示要访问的目录,子目录和含有信息的文件。也可作为一种选项向用户提供一种选择要访问哪一个目录的机会。
一旦在例如第1018和1020步时作出了决定,那么即将输入或更新的数据,总的信息在1022被安装入系统。若需要访问二个或二个以上的数据源的信息时,那么,可以串行(即,运用第一模块的第一数据源上进行步骤1022至1046,接着在运用适当驱动程序的第二数据源上进行步骤1022至1046,等等)或者并行(即,在每个信息模块上进行后面的步骤之前在运用适当驱动程序的每个所需数据源上进行步骤)地执行。
一般信息包括关于在数据源中的数据的结构的信息。在这个步骤1022中被装上的一般信息的类型根据源数据的各种类型而变化。例如,对于写入或构成以供结合诸如如图4A至4F所示的数据库一起使用的功能903,一般信息可包括例如在数据源806中应用的帐目识别或其它类别。另一方面,如果构成或者写入驱动程序804的功能903,以供结合如图1所示的数据源一起使用,那么需要确定在数据源中要用到多少部分,但是在这种情况下,将由在数据源806中找到的101a至101f的多个平面文件来确定该信息。一般信息还可包括这样的信息,诸如,在数据库806中限定多少计划112、多少产品114和/或生产线116或者多少子公司118。一般信息还可包括公司名称、财政年度的第一个月,和一般可以被一次装入的任何其它信息(这与例如在步骤1024、1033和1036中装入的信息相反,一般装入循环中)。如果在构成以供结合如图6所示的数据源一起使用的驱动器中提供“装入一般信息”功能903,那么可以在步骤1022中装入一般信息(诸如,在数据库中的位置数612)。
主过程802还调用或启动适当驱动程序或模块804以装入数据定义1024的功能904。数据定义可以包括诸如作为特定数据分类或类别的识别号而被存储在数据源806中的文本名、字段大小、数据类型(字符串、整数或十进制数;小数位数)和对于各种数据的类似特性。较佳的是,装入数据定义包括数据询问以获得存储在数据源中的信息的体系结构或构造和在数据源中的数据元的表示所需的信息,正如在生成包括对于在新数据库上执行的报表或分析类型所需的所有结构和数据的一个或多个新数据库808所要求的那样。从在“装入数据定义”步骤中的数据询问可与事实上任何数据源相一致和识别按要求来存储数据源的标准形式(例如,用于报告和分析的)的意义上说,它是智能化询问。在图4A至4F的例子中,表示源数据的体系结构所需的信息包括例如,四个帐目部分(帐目、公司、雇员和地点)的名称以及数据类型(例如,数字的或字符串)和存储任何字符串帐目部分所需的长度。在图6的例子中,表示数据源的体系结构所需的信息包括存储帐目部分(地点和日期)的名称以及用于这些数据(单位)的参量名称。询问可以包括识别可被装入的其它可选数据(例如,发票数)。进行的询问的特定类型由被分析的特定数据源的特性决定,因而与用于每个驱动程序804的不同。一般而言,运用在驱动程序804中的功能执行装入数据或信息1022、1024、1033、1036的步骤,而由主处理802执行保存信息1026、1028、1030、1032、1034、1038的步骤。
于是,主处理802识别或创建数据库1026,即,识别或创建在新数据库808中的文件或其它数据存储结构,其中把新数据库808作为保存从数据源或源806装入的信息的位置。更新一般不需要创建新数据库或数据库表,因为更新一般只是简单地加到在已存在数据库中的已存在的表上。
然后,主过程802调用一个或多个驱动程序的适当的功能905,以创建数据表1028,用它来把来自源数据的数据存储到新数据库808。创建数据库表的方法最好考虑到数据和数据源结构以及运用新数据库808的方法(例如,用于分析、生成报表等)。由于创建的特定表依赖于在数据源806(例如,在步骤1022和1024中所确定的)的信息的特性而变化,所以创建数据库表1028是因为用于访问的特定数据库构造的驱动程序804提供的功能。例如,当写入或构成“创建数据库表”功能905以供结合诸如如图4A至4F所示的数据源一起使用时,创建的数据库表包括例如,帐目表、雇员表、子公司表(它可以是帐目的累积)和细节表(如下详细描述),尽管在构成以供结合如图7A至7D一起使用的驱动器中写入或提供的“创建数据库表”可以包括位置表、数据表、时间表、单元表和细节表。较佳的是,在新数据库808中创建的表有一种结构或构造从它可以接受任何一种从各种数据源806中找到的数据定义或结构的意义上来说,这种结构是动态的。在一个实施例中,打算将新数据库808主要用于输出诸如生成报告和分析的信息,而且最好是如下构成以提供最佳的输出性能(诸如,对于输出和可获得的数据分析类型的高灵活性以及这种分析和/或输出的相对快速执行)。由于这个,如果它提供优于一些其它各种可能结构的速度和灵活性的输出的速度和灵活性,那么在输出速度和或灵活性上使数据库最优化。于是,处于这个原因,“最优化”未必一定要求数学上的精确最优化。在一个实施例中,在步骤1028中提供三种一般类型的表多种表(在适当时候包括积累表)、至少一个详细表和至少一个进入表。较佳的是,为每种方法提供一种类型的表,其中可对特定数据点或记录分类。例如,如果在驱动程序804(构成它以供与如图4A至4F一起使用)中提供“创建数据表”功能905,那么如图12所示的新数据库将包括多个种类表1202,它包括例如列出帐目1203的所有可能的帐目类别、列出在数据源806中找到的所有可能的子公司的子公司表1230、列出记录在数据源806中的所有产品的产品表1232、列出记录在数据源806中的所有雇员的雇员表1216和列出记录在数据源806中的各种位置、销售区域等的位置表1234。在所示的实施例中,在每个种类表1202中的每个记录或项目与用于下述细节表的索引相关。
在如图12所示的实施例中,提供详细表1240,其中一旦集中起来,它就具有用于每个帐目进入或在数据源或源806中的业务的记录。在图12的实施例中,提供字段1244(即,数据段1242b、描述段1242c、量段1242d和数字段1242e)。提供索引段1242a,以存储每个记录的识别号或索引号。此外,对于每个记录,提供分开的字段以存储对于在装入一般信息步骤1022中限定的每种的任何适当信息的表示法,在图12的例子中,包括帐目种类1242f、子公司种类1242g、产品种类1242h和雇员种类1242i。一般而言,需要提供如分析或输出数据所需的那么多的不同字段(即,种类),它们出现在数据源806中。于是,由于希望输出一张按业务相关项目进行分类的报表,所以具有帐目种类是十分有用的。此外,为了所需的会计目的,需要为每个子公司打印出分开的报表或者打印出其中由子公司分类业务的报表,于是具有子公司种类1242g是十分有用的。一般而言,对于选择、分组、报告、打印或分析数据的每种所需的方法,在详细表1240中可以提供分开的字段。把如图12所示的数据库的结构与如图4A至4F所示的数据源的结构以及如图1所示的数据源的结构相比较具有很大的反差。例如,在如图4A至4F所示的结构中,在分开的链接表(图4D)中示出其中特定业务(图4A)与特定帐目(图4B)相关的方法,而在图12的实施例中,把适当的帐目1242f的索引存储在包括业务信息1244的相同记录中的它自己的字段中。于是,虽然具有如图12所示的表的数据库808可以存储在如图1所示的数据库或如图4A至4F所示的数据库中找到的信息,但是在图12的例子中的数据库的结构和体系结构与如图1所示的数据库或如图4A至4F所示的数据源的不同。类似地,图12的相关数据库结构与如图1所示的平面文件结构不同,尽管存储在两个组织中的信息种类是类似的。
可以将主过程802构成为用来保存一般信息1030(在步骤1022中被装入)和保存数据定义1032(在步骤1024中被装入),例如,在数据库808中提供的附加表(例如,以供图10中的后来步骤和/或在后来进行的更新中使用)中。主过程802运用一个或多个驱动程序804的适当功能908,把用于在步骤1028(1033)中创建的各种表格的数据定义码(例如,字段长度、数据类型),装入到新数据库808中去。在一个实施例中,在此时还装入积累信息。一般而言,积累信息指用于限定数据的子种类(即,在一个种类表中的项目组)的信息。作为一个例子,如图12所示,雇员种类表可与位置或区域代码相关(例如,识别每个公司雇员所在或应担当职责的位置或地点或区域)。例如,公司有许多销售人员,每个销售人员与销售区域相关。作为另一个例子,可以积累公司的各种产品或者聚合成产品线。通过限定用于位置积累代码的字段1238,图12的结构适当示出由销售区域分类的报表是可行的。积累还可用于提供组数据的统计分析(例如,平均、means、标准偏差等)。虽然在图12的例子中,示出位置积累代码1238的字段作为雇员种类表1216的字段,但是如果需要的话还可以详细提供位置字段1238。
装入积累代码908的功能进行操作的方法依赖于用于构成以运作的源数据806的类型而变化,而且提供它作为各种驱动程序804的功能,从而可以提供不同的编程指令,以供不同类型的源数据使用。作为一个例子,在构成以供结合如图4A至4F所示的数据库一起使用的驱动程序804中,可以提供“定义积累代码”功能908。在这个例子中,位置字段已在雇员表416中定义好了,为了位置码它可以被直接使用,而相反在如图1所示的实施例中,不存在与特定平面文件101a相关的雇员120的位置的表示。于是,在一个实施例中,位置积累不可能是图1中的数据源获得的数据。然而,如果例如存在另一个提供公司中的每个雇员的家庭地址的文件,那么可以运用例如每个销售员的住宅情况以确定该销售员应负责的销售区域,于是理论上可限定位置积累代码。此外,“限定积累代码”功能可以包括访问可用于定义积累代码的信息。例如,结合如图6所示的数据源,“定义数据积累”功能908可以包括对于每个潜在温度站612表示该站在北半球还是在南半球站,而且可以在该基础上创建半球代码。在某些情况下,提供字识别和/搜索在数据库中的关键字以限定附加累积和/或结构是所需的。
在某些情况下,积累代码与不用于数据源以作为分析或分类数据(例如,用于图6的数据源的半球积累代码)的基础的信息相关。于是,在这些情况下,提供积累代码包括提供通过自动提供附加元,这些部分对于示出或分析在数据源806中的信息是不可利用的(或者至少不被运用的)增强数据。较佳的是,把数据分成种类,然后通过对于数据源的数据的深度分析将它们分类。
系统可以构成用以识别并加上某些报表关系,该关系通过信息源806a-806f中的数据或者该数据的结构的确定程度加以确定。例如,销售信息可以具有由销售区(或者在信息源806a-806d中表示的,或者例如运用如上所述的销售员地址推断)组织的销售。根据本发明的实施例,由其它组(装入,两个或两个以上副总裁,每个总裁负责两个或多个销售区域)还可以查看或分析这些区域,可以在信息源806a-806d中清楚地找到或者从中推断出副总裁与销售区域的关系。
较佳的是,只有数据表示根据累积准则查看数据是有意义的,才限定这种附加的累积或增强。例如,在一个实施例中,不自动加上增强或附加关系,除非对于特定字段或者参数存在多于一个的值,但是较佳的是,小于变化该字段或参数的积累的数量。例如,如果至少有两个不同的副总裁负责不同的区域,那么根据与每个副总裁相对应的销售量查看销售是有意义的。然而,在图6-7的例子中,如果把所有报告地点设置在热带地区,那么系统不会根据降雪量的种类查看天气数据而自动创建积累或增强,因为在这个例子中所有站报告对于降雪量包括零。于是,在业务数据库中,系统最好检查在源数据库806a-806d中的数据以确定例如是否具有多个销售员、多个地区和/或多个产品。如果在对于数据库的各种记录的字段中有多个值,那么可以构成系统以字段提供选项以根据该字段查看数据(例如,有值(诸如,销售、开销的等的平均或总和)的平均或总和。在一个实施例中,通过创建Microsoft Excel“pivot”表获得这个值。
作为一个例子,参照图4A-4E,可用图4D的表确定对于任何业务,哪个雇员与该业务有关。对给定雇员来说表4C用于确定,该雇员是否与西北地区、西南地区或中央地区相关。如果所有的业务都与中央地区的雇员有关,那么就不必显示地区的业务。然而,如果在表4D中的业务与至少两个不同的区域的雇员相关,那么可以构成系统以自动生成显示由与该业务相关的雇员相关的位置或区域分隔的业务(和/或如从图4B确定的特定帐目类型的业务)平均或总和的累积。
除了限定累积之外,处理还可存储可选参考字段。一般而言,可选参考字段指一般不用于分组诸如空闲文本段(注解、备忘录段、发票数等)的数据的字段,而是指包括在报表等中所需的。
在装入数据定义代码和累积之后,把这些数据定义代码和累积保存在新数据库808中(例如,提供把种类列入各种种类表1202中。以循环方式,执行装入和保存数据定义和累积代码1033、1034,以装入和保存特定种类(在图4A-4F的例子中,特定帐目、公司、雇员和位置)在复审中,根据所示的实施例,步骤1024限定种类(例如,帐目、公司、雇员和位置)以及它的数据类型(例如,字符串或数字)。第1028步创建在1024步中定义的目录表(和其它在1022步中定义的表)。第1032步将数据定义按一个标准表保存起来。步骤1033和1034装入并保存数据定义和累积代码。
在处理中,虽然关于数据结构的选项被设置在新数据库808中,但是没有把作为源数据806的主题的数据(例如,会计进入或在会计源数据的情况下的业务、在气象温度源数据的情况下的温度数据)装入新的数据库808中。因此,主处理802调用或启动在适当驱动程序804中的功能909以装入数据1036、保存数据1038和重复处理1039,直至装入并保存1040所有所需的数据。于是,在该构成1036、1038、1040的结束处,向新数据库808提供例子来自一个或多个数据源806的数据。
当通过运用图10的过程组合具有不同结构和/或运用不同品牌或类型的软件产生的两个或两个以上数据源时,可使来自不同类型的源的数据具有共同的数据库结构(例如,如图12所示)。这有利于对于数据的分析和报告的共性化或标准化,较佳的是,最优化它们以提供输出的灵活性和速度。
在图10的例子中,现在可以建立,主处理802而且如果需要的话,执行数据询问(诸如,概括询问1042)。一般而言,可以建立三种询问。可以提供第一种询问,它为运用图10的过程创建的所有新数据库808所共有,诸如提供到详细表的进入数或到给定数据范围(例如,每季度)的进入数的询问。至少部分依赖于一般信息和相对于一个或多个数据源806(包括已被提供的累积,因此如果需要的话提供它作为驱动程序804的一部分,特别是对于特定数据源),可以建立另一种询问。可以提供第三种询问,以复制或包括在原始数据源(例如,如图4E所示)中用到的询问或报表。
在提供新数据库808之后,根据一个实施例,系统自动进行某种审计或检查审计,以证明系统运行正常。可以包括各种检查。可以把在新数据库808中的数据样本(或者,如果需要的话,所有数据)与在源806-806d中的相应数据相比较,以证明数据没有被破坏。可以检查新数据库808以证明存在所需结构。例如,在会计数据库的情况下,可以自动检查新数据库808以确定出现所要求的帐目部分。可以检查新数据库808中有无空组(诸如通过确定累积,或其它被限定的增强非空)。
一旦提供并证明新数据库808,而且建立适当的询问,主过程802可以关闭表格和数据库1044,以及动态驱动程序1046(例如,释放存储器)。
虽然本发明主要用途是结合提供对在一个或多个数据源中的数据进行标准化和/增强的报告和分析,但还可以通过运用数据库管理系统(例如,MicrosoftAccess、Excel、FoxPro、Btrieve等)结合数据进入和数据存储运用本发明。虽然考虑到,本发明的主要用途包括继续采用原始源数据806用于输入和存储,同时为用于报告和分析目的保存新数据库808中的相同信息的副本的原始源数据806,但是通过如上所述首先把它存储在新数据库808中,此后数据下载或输出来自新数据库808的信息到不同类型的源数据806c,还可以运用本发明把例子一种源数据806a、b的数据转移到另一种(例如,806c)。
根据上述说明,可以看到本发明的多个优点。本发明利用使报告和分析标准化,而与所用的数据源的品牌和种类不同无关。本发明提供可以被最优化的系统或者提供输出或报告数据的改进性能。本发明提供与数据源的数据部分和分析相比较已被增强的数据报告和分析能力。通过源数据的完善询问,由于会计系统,本发明能够反映在数据源中建立的证明表。在一个实施例中,处理提取一些或所有限定的累积、可选参考字段、会计周期信息。通过自动进行这些工作并消除(减小)对于人工分析的需求,比起以前的方法本发明是较省力又省时的,在一些情况下,可以在几分钟或者n小时内提供在以前的方法中要几天或几个星期才能完成的新数据库808。在一个实施例中,可以构成驱动程序804以检测、分析并在新数据库808中保持在数据源806中用到的任何保密性、密码、权限等。这样,除了用原始数据源806保持之外,系统执行器不必为新数据库808保持新的或分开的帐目、密码、权限等组。较佳的是,可以构成系统以在预定间隔内(诸如,每天、每星期等)进行实质更新。
还可运用本发明的多种变化及更改。可以运用本发明的一些方面,而不必用其它方面。例如,可能提供新数据库808,而不必限定新的或附件累积。虽然在上述说明中,可以提供各种驱动程序804作为分开的DLL文件,而且从通过把附加DLL文件存储在适当的命令中,可以简单的加上所需那么多的意义上说,各种驱动程序804是动态的,但是还可以使发明可操作,其中提供由该功能块执行的功能作为由主过程802(而是不分开存储的块)调用的部分或子程序。
虽然用较佳实施例(其中,存在某些变化和变更)的方法描述本发明,但是可对它进行其它变化和变更,由下列权利要求书限定本发明。
权利要求
1.一种计算机实施的方法,其特征在于,包括提供第一驱动程序,它发出访问可能被存储在第一或第二不同数据源中的数据的指令,所述第一驱动程序包括构成以供结合所述第一数据源一起使用的程序指令;和运用所述第一驱动程序,以自动获得关于所述第一数据源的所述数据结构的信息,而无需对所述第一数据源作人工分析。
2.一种结合访问可能被存储在第一和第二不同数据源中的数据一起使用的计算机实施方法,其特征在于,所述方法包括第一步骤,提供包括构成以供结合所述第一数据源一起使用的程序指令的第一驱动程序;第二步骤,运用所述第一驱动程序自动获得关于所述第一数据源的所述数据结构的信息,而无需对于所述对于数据源的人工分析。
3.如权利要求2所述的方法,其特征在于,还包括用所述第一信息定义用于第一数据库的结构。
4.如权利要求2所述的方法,其特征在于,还包括用所述第一驱动程序以把至少来自所述第一数据源的一些信息存储到第一数据库。
5.如权利要求4所述的方法,其特征在于,相对于所述第一数据源增强所述第一数据库。
6.如权利要求2所述的方法,其特征在于,所述第一驱动程序包括可由主过程调用的编程代码,而且其中在没有对所述主过程进行实质性变更的情况下,所述方法是可扩展的以通过提供和调用构成以用结合所述第二数据源一起使用的程序指令的第二驱动程序,容纳所述第二数据源。
7.如权利要求2所述的方法,其特征在于,所述方法是很灵活的,以通过提供构成以供结合这种可读数据源一起使用的驱动程序,允许访问任何可读数据源。
8.一种可结合可能被存储在第一和第二不同数据源中的数据一起使用的计算机实施方法,其中构成所述第一和第二数据源中的至少一个以生成至少第一输出,其特征在于,所述方法包括提供包括构成以供结合所述第一数据源一起使用的程序指令的第一驱动程序;提供与所述第一驱动程序不同包括构成以供结合所述第二数据源一起使用的编程代码的第二驱动程序;运用所述第一和第二驱动程序以获得分别关于所述第一和第二数据源的所述数据结构的第一和第二信息;运用所述第一和第二信息以定义第一数据库的结构;运用所述第一和第二驱动程序以把至少来自所述第一和第二数据源的一些信息存储到所述第一数据库。
9.如权利要求8所述的方法,其特征在于,还包括根据在所述第一数据库中的所述信息至少生成第一报表。
10.如权利要求9所述的方法,其特征在于,相对于所述第一输出增强所述第一报表。
11.如权利要求8所述的方法,其特征在于,每个驱动程序包括用于对多种功能进行编程的程序指令。
12.如权利要求11所述的方法,其特征在于,所述多种功能包括从下列中选出的至少一个功能选择设置所述数据源的那个目录;搜索数据文件的目录;显示被输入和更新的数据;装入来自所述数据源的一般信息;装入来自所述数据源的数据定义;创建构成以存储来自所述数据源的至少一些信息的数据表;存储从所述数据源获得的一般信息;存储来自所述数据源的数据定义;把数据定义码装入所述第一数据库;把累积信息装入所述第一数据库;和把来自所述数据源的数据装入所述第一数据库。
13.如权利要求8所述的方法,其特征在于,对于数据输出的速度,使所述第一数据库最优化。
14.如权利要求8所述的方法,其特征在于,对于数据输出的灵活性,使所述对于数据库最优化。
15.如权利要求8所述的方法,其特征在于,所述第一数据库包括多个种类表、至少一个详细表和至少一个进入表。
16.结合访问可能被存储在第一和第二不同数据源中的数据一起使用的装置,其中构成所述第一和第二数据源中的至少一个以至少生成第一输出,其特征在于,所述装置包括耦连到所述第一和第二数据源的计算机并对于以下目的进行编程提供包括构成以供结合所述第一数据源一起使用的程序指令的第一驱动程序;提供与所述第一驱动程序不同,包括构成以供结合所述第二数据源一起使用的程序代码的第二驱动程序;运用所述第一和第二驱动程序以获得分别关于所述第一和第二数据源的所述数据结构的第一和第二信息;运用所述第一和第二信息以定义第一数据库的结构;运用所述第一和第二驱动程序以存储来自所述第一和第二数据源的至少一些信息存储在所述第一数据库中。
17.可结合访问可能被存储在第一和第二不同数据源中的数据一起使用的装置,其特征在于,所述装置包括第一驱动装置,它包括构成以供结合所述第一数据源一起使用的程序指令;第二驱动装置,与所述第一驱动装置不同,它包括构成以供结合所述第二数据源一起使用的程序代码;运用所述第一和第二驱动装置以获得分别关于所述第一和第二数据源的所述数据结构的第一和第二信息的装置;运用所述第一和第二信息以定义第一数据库的结构的装置;运用所述第一和第二驱动装置以把来自所述第一和第二数据源中至少一些信息存储在所述第一数据库中的装置。
18.一种具有存储在其中的可结合访问可能存储在第一和第二不同数据源中的数据一起使用的计算机程序的计算机可读媒体,其中构成所述第一和第二数据源中的至少一个以生成至少第一输出,其特征在于,所述计算机程序包括下列指令提供包括构成以供结合所述第一数据源一起使用的程序指令的第一驱动程序;提供与所述第一驱动程序不同的第二驱动程序,它包括构成以供结合所述第二数据源一起使用的编程代码;运用所述第一和第二驱动程序以获得分别关于所述第一和第二数据源的所述数据结构的第一和第二信息;运用所述第一和第二信息以定义第一数据库的结构;运用所述第一和第二驱动程序以把来自所述第一和第二数据源的至少一些信息存储在所述第一数据库中。
19.一种计算机实施方法,其特征在于,包括下列步骤提供发出用于访问存储在第一数据源中的数据的指令的第一驱动程序;运用所述第一驱动程序以获得关于所述第一数据源的所述数据结构的第一信息;运用所述第一信息以定义第一数据库的结构;运用所述第一驱动程序以把来自所述第一数据源的至少一些信息存储在所述第一数据库中;存储定义存储在所述第一数据源中的至少部分所述数据以用于更新所述第一数据库的第二信息;和运用所述第二信息,更新所述第一数据库。
20.如权利要求8所述的方法,其特征在于,所述第一和第二数据源中的至少一个包括多个记录,每个记录具有用于存储数据值多个字段,还包括识别至少一个字段,其中把至少第一和第二不同数据值存储在至少两个记录中的所述一个字段中;和显示与所述第一和第二不同数据值相对应的第一和第二数据组。
21.如权利要求8所述的方法,其特征在于,还包括分析存储在所述第一数据库中的信息以识别误差。
全文摘要
提供按标准化或统一的形式来生成关于包括在可以是两种或多种源数据的数据源中的信息的输出或报表。向多个驱动程序提供特定或不同类型的源数据,它包括为识别各种数据源的结构或其它特性(例如,以供第一新数据库使用)进行的编程。较佳的是,构成新数据库以允许高活性和/或快速输出或报告,或者为报告目的对其进行最优化。在一个实施例中,本发明包括把一个或多个数据源转换成一个或多个统一数据库,较佳的是,为组织数据可生成一个或多个关键目录表、可有选择地生成目录表分类累积和附加数据或可选参量。在一个实施例中,创建具有一致结构程度的一个或多个数据库,即使它们是根据具有十分不同的结构的两个或两个以上不同数据源。对不同的数据源作自动分析,而且可用这种分析识别和/或创建数据种类以供组织信息使用。
文档编号G06F17/30GK1207186SQ96199475
公开日1999年2月3日 申请日期1996年12月20日 优先权日1995年12月30日
发明者戴维·B·考奇, 戴维·F·亚内尔, 唐纳德K·巴布科克 申请人:时代线路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1