CN1193305C - 具有多数据源能力的数据恢复方法和装置 - Google Patents

具有多数据源能力的数据恢复方法和装置 Download PDF

Info

Publication number
CN1193305C
CN1193305C CNB99808090XA CN99808090A CN1193305C CN 1193305 C CN1193305 C CN 1193305C CN B99808090X A CNB99808090X A CN B99808090XA CN 99808090 A CN99808090 A CN 99808090A CN 1193305 C CN1193305 C CN 1193305C
Authority
CN
China
Prior art keywords
data
data source
information
database
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB99808090XA
Other languages
English (en)
Other versions
CN1307705A (zh
Inventor
戴维·B·库奇
戴维·亚内尔
唐纳德·K·巴布科克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TMLN franchise LLC
Original Assignee
Timeline Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22311959&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1193305(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Timeline Inc filed Critical Timeline Inc
Publication of CN1307705A publication Critical patent/CN1307705A/zh
Application granted granted Critical
Publication of CN1193305C publication Critical patent/CN1193305C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

提供了一种以标准化或统一方式产生包含在一数据源中的输出或报告的方法,所述数据源可以是两种或多种类型的源数据中的任何一些。提供了多个特定于不同类型的数据源的驱动程序(804),所述源数据包括用于鉴别各种数据源的结构和其它特性的编程,例如用于定义新数据库。最好,新数据库被配置成允许高度灵活和/或快速输出或报告,或者为报表制作的目的而优化。在一个实施例中,本发明包括一个或多个数据源到一个或多个统一数据库(812)的转换,最好为组织数据而产生一个或多个关键类型,选择性地产生多个类型分组或滚动条以及附加数据或附加选项。

Description

具有多数据源能力的数据恢复方法和装置
本申请是1996年1月2日提交的申请序列号为08/582,062和1996年2月1日提交的申请序列号为08/593,118的申请的后续部分,这两个申请的题目都是《具有多数据源能力的数据恢复方法和装置(DATA RETRIEVALMETHOD AND APPARATUS WITH MULTIPLE SOURCE CAPABILITY)》,本文将这两个申请都引用为参考文献。
本发明涉及计算机实现的系统,它能恢复存储在大量不同数据源的一个或多个中的信息,并且,该信息可以是大量不同格式中的任意格式,并且/或者提供基于这些信息的报表制作(reporting)和分析,并且特别涉及一种计算机方法和装置,这种方法和装置能自动地恢复以众多格式中的任意格式所存储的数据库信息,包括结构和/或相关的信息,而不需要取决于源数据的人工分析。
                         背景信息
组织计算机可存取信息的大量方法已经开发出来,比如关系或等级数据库管理系统,平面文件数据系统,电子表格系统,等等。这些系统用于存储、管理和显示许多类型的信息,包括帐目或其他财务信息、科学或教育数据、公司或商务数据、姓名、地址和电话数据和统计数据。许多格式和数据结构已经开发出来,并且这种情况具有值得做的和不值得做的两种分支。在积极的方面,通过具有繁多的不同类型系统,可能提供针对不同目的优化的不同系统(例如,为数据登录或存储优化对为数据分析和报表制作的灵活性和速度优化,为帐目数据优化对为公司数据优化,等等),或者提供吸引个人或公司喜好的用户接口或其它性能。然而,信息系统的这个增加在下列情况中准备了大量的障碍,这些情况在存取两个或多个这样系统中的信息中是有用的,即协调或组合这样的信息。这个情况的例子包括:(1)会计师希望产生标准化的报表但是会计师有大量的客户,每个客户在不同类型的数据源中保留其帐目数据;(2)有几个分公司的公司希望产生统一的报表,但是在报表中不同的部门使用不同公司或财务软件;(3)公司希望产生统一的报表,但是公司保留其关于第一类型或商标的数据库(或其他的数据源)的帐目信息,及其关于第二和不同类型的数据库的公司信息;(4)调查共同问题的一组科学家,每一个科学家存储或访问保存在不同类型或商标的数据库或其它数据源中的数据。读者理解本文公开内容后将会想到其它例子。另外,在一些情形下,当单一类型数据源中或甚至所有类型中所有希望的信息存储在单一数据文件中时,希望提供一种访问数据的方式,即提供统一和/或增强的数据的报表制作(reporting)和分析。
这些情况会出现许多困难,其原因是多方面的,包括组织信息方式差异和各种类型数据源之间的差异。在一些情况下,即使使用相同的数据库软件,相似种类的信息也能以不同方式来组织。例如,在第一个例子中,用第一个数据库软件包,用户可以组织公司员工的记录使所有的公司员工的姓名存储在第一个表格或列表中,所有的地址存储在第二个表格或列表中,所有的电话号码存储在第三个表格或列表中,并且存储指针或链路来显示哪个姓名与哪个地址和哪个电话号码相关。然而,存在使用相同软件的另一个例子,其中,其中组织员工信息的不同的人可以提供单一表格,其中每一行或“记录”的信息包括姓名、地址和电话号码,这样没有任何从一个表的记录到另一个表的记录的链路或指针。
另外,不同类型的数据源能有不同的结构和/或不同的数据存储格式或方案。例如,一些数据库包以等级方式来组织(例如,以树型方式),而其它数据库包可被组织为关系数据库(二维行列表上的模型)。此外,信息能以,严格地讲,非数据库的形式存储,比如以“平面文件”的形式存储数据,作为一个电子表格,等等。另外,不同类型的数据源能用各种格式存储数据。例如,一些数据库产品在诸如硬盘的存储器件上以单独文件的方式存储每一个表、每一个报表制作(reporting)的格式和每一个查询,而其它软件能在一个文件中存储所有的表、关系、查询、报表格式,等等。一些产品能将每一条记录和/或字段作为固定长度数据存储,和/或将其存储在一个文件中的固定位置,而其他产品可使用分界符来区分一个记录和下一个记录,或者在一个记录中的一个字段和下一个字段。即使两个不同的软件产品在预先指定的位置存储一条特定类型的信息,这个位置对于不同的软件产品也可以是不同的。此外,数据能在不同的软件产品中被不同地编码,比如在一个产品中使用ASCII编码,在另一个产品中用多种语言(多字节)字符。在一些情况下,数据可以被压缩和/或被加密。
由于各种类型数据之间的广泛变化,在过去,当希望访问存储的信息时(例如,想要标准化报表和分析和/或从两个或多个数据库中组合或协调信息),一个顾问或其他专家单独或“手工地”分析每一个“源”数据文件或数据库来理解其结构、关系数据存储格式、数据库中的数据组织,等等。那么专家会构造一些输入方式或在源数据文件或数据库中查询数据来完成想得到的访问、协调或组合。尽管这个方法是可操作的,但是它是劳动密集的,因为它要求人工分析,并且也是消耗时间的,因为专家或顾问完成分析任务通常要求比较长的时间,对于将要完成的访问、协调或组合经常需要几天或几周。
因此,提供这样一种系统是很有用的:其中,各种格式或形式或各种方式组织的信息能被访问、组合和/或协调,同时减少或删除人工分析的需要,从而提供一种至少部分自动并最好比某些以前的方法较少劳动密集和较少消耗时间的系统。
                        本发明的总结
本发明涉及完成访问存储信息的系统,比如,访问信息或完成两个不同信息存储系统中的协调和/或组合。更可取的是,一些或所有涉及的分析是自动完成的(即不需要人分析)。在一个实施例中,使用合适地编程的计算机。
在一个实施例中,信息,最好包括至少一些从数据源自动获得的信息,被用于定义和/或提供一种新的数据库。在一些实施例中,能提供多于一个的数据库。例如,第一个新数据库能用作源来分布信息到大量的信息用户,并且被分布的信息本身可以许多相互不同的数据库的形式存在。
更可取的是,系统是灵活的因为系统不是固有地限制在能访问的数据格式而是被构造成实际上能从任何计算机可读信息源中获得数据。最好,系统是可扩展的,(更可取的是,模块化扩展),因为元件能加入来允许它访问附加类型、格式或组织的数据。在一个实施例中,数据的访问、协调或组合伴随有数据分析的增强,即,提供在最初数据源中没有发现或使用的多个类型的数据分析和/或报告。更可取的是,系统能用于提供数据分析的标准化或跨越若干数据源类型的报表设计。在一个实施例中,以便完成希望的结果(例如通过使用文本识别、人工智能和/或专家系统),系统使用源数据文件或数据库的内容,以及关于结构的信息。在一个实施例中,系统使用这些信息来至少部分控制用于分析或制作报表的数据产生的方式。在一个实施例中,系统在提供这种分析和报表中使用这些信息。
以标准化或统一方式提供了关于包含在一数据源中的信息的输出或报表的产生,该数据源可以是任何两种或多种类型的源数据。专门对于不同类型的源数据提供多个驱动程序,这些源数据包括用于鉴别结构或各种数据源的其他特征的编程,例如,在定义新的数据库时使用。最好,新数据库被构造成允许高度灵活和/或快速输出或制作报表,或者换句话说新数据库为制作报表的目的而被优化。在一个实施例中,本发明包括把一个或多个数据源转换成一个或多个统一的数据库,最好为组织数据和/或使数据有效而产生一个或多个关键类型,选择性地产生类别分组或滚动条(rollup)和附加数据或选择参考。
在一个实施例,本发明创造或提供一个数据库,基于从现存数据文件转换的财务或其他数据,比如由以前的财务或其他软件创建的数据文件。
                    附图的简要描述
图1是平面文件数据存储的一个例子的简要描述;
图2描述一个有关图1描述的数据存储的可用类型的目录结构;
图3A-3C描述的是有关图1描述的数据存储中可用数据存储格式的例子;
图4A-4F是在关系数据的表中存储的数据的一个例子的简要描述;
图5描述一个有关图4A-图4F描述的数据存储可用类型的目录结构;
图6是平面文件数据存储的一个例子的简要描述;
图7A-7D是在关系数据库表中存储的数据的简要描述;
图8是根据本发明的一个实施例的信息恢复系统的方框图;
图9是根据本发明的一个实施例的功能模块的内容的简要方框图;
图10是根据本发明的一个实施例的信息恢复过程的流程图;
图11A和11B描述一个根据本发明的一个实施例选择或查找目录的伪代码的过程;
图12是一个根据本发明的一个实施例提供的数据库808表中存储的数据的简要描述;和
图13是一个根据本发明的一个实施例解释一个多数据库结构的方框图。
                  优选实施例的详细描述
在描述本发明的某些方面之前,提供存储信息的各种形式的例子对促进理解本发明是有用的。提供几个例子来做这个工作,包括财务信息的例子和科学或技术信息的例子。表1提供由两个不同公司存储数据的各种类型的比较。表1旨在显示两个公司的概念化的财务组织和其它信息,并不是存储在数据库中的必要的信息(尽管如果希望的话,可以成为必要的信息)。
  表1  财务组织的例子
 公司#1                                                             公司#2
帐目 帐目
   现金     现金
   应付帐目     银行#1
   应收帐目     银行#2
    银行#3
        存款
        检验
 应付帐目
     部分
     顾问
 应收帐目
     销售
     利息
雇员 雇员
   销售员#1    销售
   销售员#2       销售员#1
      销售员#2
   研究
    研究员#1
    研究员#2
项目 项目
   研究   研究
   销售      化学
     生物化学
  销售
     老产品
     新线
产品 产品
    产品#1 老产品线
    产品#2   线#1
     产品1
     产品2
  线#2
     产品3
     产品4
新产品线
  线#3
     产品5
     产品6
  线#4
     产品7
     产品8
子公司
   子公司#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中描述的逻辑行和列结构的存储和存取数据的方法和装置对于那些编程领域的技术人员来说是众所周知的。本发明能被用在有关大量平面文件信息存储程序中。这种信息存储程序的例子包括那些以商标名Simply AccountingTM和MAS-90TM销售的程序。
图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字节,第一记录106a的数据信息必定会在字节数5处找到其开始,第二记录106b的数据信息必定会在字节数13处发现其开始,等等。
图3C描述在分隔字段而不是固定长度字段的数据存储。在分隔格式中,特定符号,即一种不同于任何用于存储数据的位形式,被用于标注记录和/或字段的结束或开始。在图3C描述的实施例中,使用两个不同的特定符号,一个来标注记录开始另一个标注字段开始。这些符号分别以代表任意位形式或符号的冒号和分号的形式显示在图3C中。在图3C的数据格式中,能够鉴别显示第一记录106a的数据信息的信息,作为在第一新记录符号324a之后,并先于第一新字段符号324b的信息。来自第二记录106b的数据信息是跟随第二新记录符号326a,并早于下一个跟随的新字段符号326b的信息,等等。很多存储信息的其它格式是可能的。从图3A到3C的图解中,很明显的是多数数据存储格式还存在另一个在不同类型的信息存储系统中数据的存取、协调和组合的问题。以前,想要直接存取信息的人们(例如,不使用数据库管理系统或其他旨在读取存储信息的软件)要求数据存储格式的知识,正如,在一些情况下,分析存储信息的例子所要求的那样。因此,适应会计师的希望存取表1中公司1和公司2中存储的信息的需要,不仅要求有关数据的逻辑组织(图1)、逻辑目录结构(图2)的信息,而且要求有关数据存储格式的信息(图3A到3C)。
除作为平面文件数据的信息存储以外,还存在大量其他的可能性。图4A到图4F描述一个在关系数据库环境下可能的信息的组织。在图4A到图4F的例子中,存储第一个交易表402,具有多个记录406a到406d。应注意在图4A中描述的记录在一些方面类似于那些在图1中描述的记录,即包括数据字段、描述字段、数量字段和总计字段。在图4A的例子中,附加索引字段408提供给每一个记录。在图4A例子中的交易表不包括在图1中描述的类型的标题信息104a,仅仅提供了单一的交易表图4A(而不是在图1的实施例中许多表101a到101f)。在图4A到图4F描述的关系数据库中,提供了附加的表来反映表1中描述的组织。例如,帐目表412包括表1定义的所有类型列表,用索引414与每个帐目相关。类似地,雇员表416包括表1雇员的姓名,每一个有与之相关的索引418。此外,在图4C中对每个姓名都有一个指示,用于指示该个人是否与销售力量与研究力量相联系(反映表1中显示的等级)。另外,包含一个字段,用于显示雇员的位置。还可以提供附加的表(没有画)来列出反映表1组织的公司2的各种项目、产品和子公司。
图4D描述一个链接表422,它对于交易表402的每一条记录都表示任何与希望的其他表的链接。例如,如果第一笔交易406a是与银行1现金帐目部分相关的交易,提供一条记录428,表示对于索引号为1的交易记录,适当的帐目参考是索引号为为424的交易记录。相似地,对雇员表416或其他的表(没有显示)可以做链接。因此,鉴于在图1中需要为每个可能的帐目、子公司、产品和项目等等的组合提供单独的文件(对一个相对复杂的帐目结构可能导致大量文件),在图4A到图4F的实施例中仅仅要求单一的交易表402,和链接表图422来提供信息,在图1的例子中,该信息是通过了解交易被存储在哪个平面文件中来得到。
在一个典型的关系数据库中,可以鉴别和显示满足某种标准的唯一信息,例如,仅有那些用于特定帐目和特定雇员的交易。在一些数据库软件中,可以存储这样的标准或“查询条件”以便使用,例如,当选择的信息是通常需要的信息时使用。图4E描述的表存储多个例如使用结构化查询语言(structured query language,SQL)的查询条件。用于特定数据库系统中的查询反映了一个公司分析或组织数据的方式。因此,对标准化报表的设计和基于这样数据库的信息分析有兴趣的会计师希望了解和/或能够复制由各种存储的查询条件(图4E)代表类型的数据分析。
另外,数据库的很多类型允许用户设计一个报表(不是显示就是打印)并在某些情况下,存储定义这样的报表的信息,例如,反复使用。所以,另一个表格或表格集(没有显示)被存为关系数据的一部分或与之相关的部分,以保存有关这样的报表信息。
在图4A到4F中描述的信息和结构以大量不同的方式存储。图5描述了用于存储多个数据表、链接表、查询表和/或报表格式的目录/文件等级。这样的数据能以大量不同的数据格式来存储,比如在图3A到图3C中描述的任意一种,或者本领域的技术人员所知道的其他格式。
以不同格式存储的信息的另一个例子是科学和技术信息。在图6中,平面文件系统提供给,例如气象研究,来存储表面温度信息。在图6的例子中,每个文件602a、602b、602c存储特定位置和测量单位信息(例如,华氏或摄氏),显示为标题信息604。对于每个记录606a、606b、606c,数据和每天每小时的读数存储在单独的字段中。存储这类数据的关系数据库系统在图7A到图7D中描述。数据表702包括所有观察数据和,对于每个观察数据的测量单位704a,和索引704b。表706(图7B)和708(图7C)存储涉及位置和每日的小时数信息。链接表(图7D)的每一行722、724能用于对存储在图7A中的任意数据点(正如其索引值704b显示的)显示有关数据点位置的索引值和有关那个数据点的每日时间。尽管图6和7A到7D的例子被简化,对本领域的技术人员如何建造信息系统来存储更多的诸如气象数据的更复杂数据集是很明显的,气象数据包括风速和风向,射频伴音数据,等等。所以,如果研究人员希望从两个气象数据源中关联信息,这两个气象数据源一个存储图6中描述系统的信息,另一个存储图7A到图7D中描述系统的信息,在以前的方法中典型地需要有顾问和其他专家来分析在图6中和在图7A到图7D中描述的信息存储结构和组织,并手工的开发出一套系统来访问这样类型的信息来允许其中数据的组合和协作。
图8是根据本发明的实施例,为克服以上描述的涉及不同信息系统中访问、协作或组合数据中的困难的所用系统的方框图。在图8的实施例中,根据在多个数据源806a、806b、806c、806d中与分析和/或访问信息有关的需要,主程序802选择性地激活各种驱动程序804b、804c、804d。为讨论的目的,在图8中描述的源数据806a到806d可以是由大量的程序或系统中的任何一个或一些存储或创造的数据,这些程序或系统用于组织或存储诸如平面文件系统、数据库、电子表格等上面讨论的数据。图8的数据和程序可以驻存在一个或多个计算机中。在一个实施例中,程序在局域网(LAN)的环境下实现,局域网有网络服务器计算机,和相关的磁盘或其他存储器件,以及一个或更多个客户机计算机。在一个实施例中,主程序802在客户机计算机上执行,而信息源806和新数据库808的数据文件存储在相关网络服务器的磁盘(或其他数据存储器件)上。本发明能用许多其他结构体系实现,比如在单个计算机上、在多个非网络计算机上,使用由诸如广域网、调制解调器通信,通过互连网等等的通讯链接的计算机,等等。大量类型的计算机能用于实现本发明,包括大型机和个人计算机,比如那些由国际商用机器公司(International Business Machines)(例如386、486或Pentium或Pentium Plus基本计算机)、Apple公司(比如MacIntosh计算机)生产的计算机和这些计算机的复制(clone)。在一个实施例中,使用DOS操作系统和/或MicrosoftWindow或Window 95用户接口实现程序。
这里称为驱动程序804a到804d的项目,不应该和某些数据库程序中提供的一类数据滤波器相混淆。根据用户确定的标准,数据滤波器典型地用于选择某种记录和/或字段的一类查询或逻辑测试。驱动程序804a到804d,在另一方面,正如下面更详细描述的,是用于分析和存取不同类型源数据而具有的多功能程序。在一个实施例中,功能模块804以本领域技术人员在理解了本发明所披露内容之后所理解的方式,作为动态链接库(dynamic linklibraries,DLL)提供。配置驱动程序804a到804d是用于一种或多种类型的数据源的操作,比如使用特定数据库程序产生的数据文件。取决于数据库程序的特性,必须具备比如,两个单独的由两个单独版本的数据库软件包产生的数据文件驱动程序。在一些情况下,可以提供单一驱动程序,单一驱动程序能用在有关的使用两个(或更多)不同类型或品牌的软件(或一个给定品牌数据库的不同版本或其他软件)产生的数据文件中。
在图8中描述的源数据806a到806d,通常情况下,可以是任何计算机可读的信息源。例子包括平面文件源数据、分级数据库、关系数据库、电子表格等。尽管图8描述了显示四个数据源的实施例,本发明能用在仅有单一数据源,或者有五个或更多的数据源的情况。尽管本发明可以用在其中每一个源数据806a到806d是使用不同类型或商标的软件产生的情况,但是也可以将本发明用在其中由相同品牌或类型的数据库或其他软件产生两个或多个数据源的情况中。作为一个例子,可以配置第一个驱动程序804a,用于从使用dBase II产生的数据文件中恢复的信息,可以配置第二个驱动程序,用于从使用dBase III产生的数据文件中恢复的信息,可以配置第三个驱动程序,用于从使用诸如Simple AccountingTM的平面文件系统产生的数据文件中恢复的信息,可以配置第四个驱动程序,用于从使用Microsoft Access产生的数据文件中恢复的信息。
一旦已分析数据源或多个数据源(如下面更完全描述的),这种分析的结果能以大量的方式使用,包括提供用户访问数据源中信息来浏览或编辑,拷贝一些或全部数据,并且最好能访问它们的更新版本(enhancements)(如下面所描述的),以创建新数据库、创建数据报表(以便浏览、打印、存储、传输、等等)、查询等等。
在图8的实施例中,在主程序802之后,使用驱动程序804,执行源数据806a到806d的分析,它能创建一个或多个新数据库808,包含来自各种数据源806a到806d中的一个或多个的数据。在一个实施例中,为每个数据源创建新数据库。希望联合两个或更多这样的数据库,例如,使用标准的数据库技术,例如当这样的数据库具有类似的结构时。在另一个实施例中,一个数据库808包含来自两个或更多数据源的信息(例如,如果一个公司使用一个数据库或其他数据源来存储销售信息,并且使用另一个数据库或其他数据源来存储雇员信息)。至少在一些实施例中,一些数量的准备或重新格式化或源数据的其他过程执行最好和创建新数据库808相联系。尽管在一个实施例中,所有这样的过程由适当的驱动程序处理,在其他的实施例中,一些这样的过程在数据源806和/或在新数据库808中处理。在一个实施例中,数据以这种方式准备或处理后,能被用在有关填充新数据库808,通过使用通用例程,即能操作有关多个不同数据源中的任何数据源的例程。
新数据库或多个新数据库808,如果希望的话能用于产生报表,例如使用报表写入器810,并且如果希望的话,能用于进入、浏览或分析数据,例如使用数据库管理系统812或其他软件814。在一个实施例中,数据库808是MicrosoftAccess数据库,它包括具有一个或多个向导、模板、过滤器和/或工具箱软件(正如由那些精通Microsoft Access编程的人理解的术语)的基础代码,比如用于提供诸如输出标准财务报表的数据库报表制作和分析。在一个实施例中,财务和管理报表制作软件的提供是作为从Bellevue,WA的Timeling公司的商标METAVIEWTM下得到的扩展或修改。
在一个实施例中,在新数据库或多个新数据库808中的信息被增强,例如,通过主程序802在一定程度上信息被配置来产生、显示或输出通过或使用源数据806a到806d不能显示或输出的分析或数据关系。
正如图13所描述的,在一个实施例中,新数据库808仅仅是许多被格式化数据库中的一个。在所描述的实施例中,通过使用新数据库808作为信息源对信息终端使用者分布数据库1302a-1302c来提供多个数据库1302a-1302c。数据库1302a-1302c中的每一个至少用一些来自数据库808的信息填充。在一个实施例中,数据库1302a-1302c互相不同,例如,通过具有不同的数据和/或不同的数据库结构、报表、查询,等等而不同。作为一个例子,当数据库808包含相关多个不同公司的信息时(例如一个父公司的不同子公司),数据库1302a-1302c中的每一个数据库可以包含这些公司之一所使用的信息,并典型地仅包含相关那个公司的信息。因为不同子公司或许组织上不同,每一个或许有自己预先定义的报表或其他结构。也可能数据库1302a-1302c中的一个或多个可以包含相关两个或多个子公司的信息,例如帐目信息,对所有子公司(或选择的组)的总结活动,例如,由父公司使用。数据库1302a-1302c可以起源于所谓的推动(push)程序(起源于新数据库808所驻留的计算机系统的一系列命令)和/或起源于所谓的拉(pull)程序(起源于数据库1302a-1302c所驻留的计算机系统的一系列命令)。每一个数据库1302a-1302c的建立是作为查询数据库808、选择包括在数据库1302a-1302c中的结构和数据的结果而建立的,正象在理解本发明所披露内容之后本领域的技术人员所清楚的那样。
在一个实施例中,每一个典型地包括在数据库1302a-1302c中的增加和更新信息的数据库终端用户,可以正常的方式使用数据库1302a-1302c。最好是,这种新的或更新的信息,最好以全部或部分自动的形式,也被写回到数据库808中。以这种方式,访问数据库808的其他人,或者访问包含涉及已经增加或更新的信息(例如,父公司)的信息的其它数据库1302a-c的人将收到最新的数据。写回到数据库808能应要求周期性地发生,或在所连接的任何数据库1302a-1302c每一次被更新的时候执行。在一些情况下,通过改变数据库808的一些结构(比如增加新表、新字段、新索引、新报表等等)最好地处理了对数据库1302a-1302c的改变。更可取的是,改变数据库808的一些结构的合理性被至少部分自动地检测,比如通过把数据库现有结构和在数据库1302a-1302c中自动检测的结构定义信息相比较,例如,使用类似上面描述的有关检测数据源806的结构定义信息的技术。
在一个实施例中,数据库1302a-1302c的一些或全部用查询、报表和类似的结构来配置,但至少一些或全部数据永久存储在数据库808中。例如,在一个实施例中,数据库1302a可以具有某种定义的查询,但是当执行一个查询时,使用通讯链路1304,从而对驻留在数据库808中的数据执行查询。在一个实施例中,从执行查询的结果中得到的信息被高速缓冲于(cached in)存储器中或数据存储器件中,不是位于数据库808的位置就是位于请求数据库1302的位置。如果希望的话,仅当至少接收到等于阈值数量的相同查询请求时才执行这样的高速缓冲。不考虑阈值数量是否实现,可得到的用于捕获数据的存储器或存储能够循环,例如,在最近使用基础上循环,正如那些本领域技术人员在理解了本发明所披露内容之后理解的那样。最好,在响应于查询或其他请求而提供高速缓冲数据之前,执行检验以确定是否有数据的相关改变(即是否高速缓冲数据与在最新可得到的数据上执行查询的响应是相同的)。相对于每一个可能的数据源改变/更新来执行这种检验。当配置的系统使数据库808能被直接存取时,数据库808应被检验来确定是否有影响高速缓冲数据的任何直接产生的改变。执行这样的检验的一个方式是除存储高速缓冲数据本身之外,还存储用于提供高速缓冲数据的某种数据类型的标识(例如表、字段等等的标识)。在数据库808中每一次发生变化,都要确定是否改变用于高速缓中数据的任何表、字段等。如果是与这个表、字段相关的高速缓冲数据被标注(例如,通过设置数据标志)以显示高速缓冲数据不再是最新的,最好,存储器或用于这样高速缓冲数据的存储为循环而释放(即为存储另一个查询或请求的响应而释放)。
当系统为从数据库1302a-c到数据库808写回的数据配置时,于是,在提供高速缓冲数据之前,应确定是否有在数据库1302a-c中产生的改变(例如,对存储的查询的改变),所述改变尚未反映在数据库808中,这一点能使高速缓冲数据过时。类似地,当系统被配置使得对数据源806产生这样的改变,而这种改变没有反映在数据库808的更新中时,在响应于一请求而提供所述高速缓冲数据之前,对于可能影响最新高速缓冲数据性质的改变应进行检验。在一些情况下,应在响应于请求而提供高速缓冲数据之前执行多次检验(对数据库808、1302a-c和数据源806的改变的检验)。
图9是各种驱动程序804a到804d的简要描述。每一个驱动程序包括多个定义的程序或功能块901到910。每个功能块可包括计算机程序指令912,例如,用于完成和执行一个或更多的在下面描述和在图10中示出的步骤。在一个实施例中,功能块901到910中的每一个功能块是可调用的子程序或程序。在给定驱动程序804b中定义的功能块901到909包括必须执行的功能或取决于数据源806a、806b的类型而不同地执行的功能。因此,例如,考虑功能块一901,它被设计成选择在希望的信息被存储的硬盘或其它信息存储器件上的某种目录的功能块,依据源数据806的类型,选择目录的程序会不同,正如能从,例如图2的例子和图5的例子的比较中看到的那样。因此,在第一个驱动程序804a中实现功能块一的编程912不同于在第二个驱动程序804b中实现相应功能块的编程代码。用这种方式,每个驱动程序定义一个或多个程序,用来执行具有为容纳两个或更多不同类型源数据的不同字符而配置的程序的功能。例如,图11A描述一种用伪码表示的程序的一部分,它能被用于选择和/或查找有关在图2中描述的目录结构的目录,而图11B显示可用于选择或查找图5中描述的目录结构的目录的程序伪码的相应部分。从图11A和11B的例子中,本领域技术人员将理解如何配置驱动程序来在两种不同类型的源数据上执行相同的功能。尽管图9描述了一个有九个功能的功能模块,本发明能被用在具有更多或更少功能的功能模块中。可以配置其中不同功能模块定义不同数量功能的系统,和/或配置其中一个或多个功能被配置的系统,以提供或返回零值或常值或信息。
大量程序能被使用来启动(步骤1002)在图10中描述的方法。在一个实施例中,图10的方法是使用存储在诸如硬盘、CD-ROM或其它非易失媒介上的计算机程序实现的,同时通过给计算机发布指令(例如,通过键盘,鼠标等等)来启动程序,即把程序装载到存储器并执行程序来启动这个方法。作为选择,程序可由其它程序启动。例如,在一个实施例中,数据库新数据库808是Microsoft Access数据库,它包括诸如所谓的“导航器(wizard)”的例程来启动程序,接着又利用该程序(图10)来存取在信息源806中的数据,以填充或更新数据库808。在一个实施例中,为了按需要请求用户输入(例如对于步骤1020),使用导航器来显示提示符或“对话框”是有用的,所以用户接口将具有与数据库808用户接口一致的外观。因此,可以看到,即使在这里描述的程序是部分或全部自动的,并且/或者即使程序执行不需要用户输入,然而,希望为各种目的提供用户输入,例如,提供选项来减少执行时间、删除或选择缺省(default)或选择特征,等等。
在图10中描述的程序中,在程序开始(步骤1002)之后的第一步是辨别和初始化动态驱动程序(步骤1004)。在这样的环境下,驱动程序804被认为是动态的,就精确意义而言驱动程序804能被成块地加入或删除,例如,容纳一种新的或不同类型的数据源。例如,用诸如在图8中描述的具有4个驱动程序的系统最初提供给用户,但是可以在将来的时间,通过从软件商购买,从信息服务器、网络、互连网连接等等下载,或通过写一个用户驱动程序来增加附加的驱动程序。因为模块和驱动程序的动态性质,预先并不知道哪个驱动程序是可用的,因此,当程序被启动(步骤1002)时,程序辨别程序可得到的驱动程序。在一个实施例中,所述过程通过为其中具有预定(部分)文件名或文件扩展名的文件搜索磁盘或目录来执行。在一个实施例中,程序还分析每一个文件的选择部分,例如,标题信息,来验证由这个文件名和/或扩展名鉴别的文件是希望的驱动程序。初始化驱动程序一般包括辨别和链接驱动程序功能和在每个驱动程序中初始化数据。
然后,确定是否程序将执行输入或更新(步骤1006),在输入中,在数据源中的所有或大多数数据和结构被访问并存到新的数据库的程序首先被执行。在更新中,其中仅有一个选择数据和/或结构部分被访问的程序被执行,例如,确保在新数据库808中的信息反应最近的变化或已经对数据源806做过的增加。在一种典型的情况下,第一次当图8的系统从给定的数据源中访问或使用信息时,或如果对数据源产生相关的主要改变或增加时,输入被执行。典型地,以便与具有新数据库808中的数据的数据源806中的数据同步,更新在规则的基础上(例如,每天,每周,等等)将被执行。在一个实施例中,对输入或更新的选择(步骤1006)被自动执行,即通过执行更新而执行,除非这是第一次程序访问特定数据源。在另一个实施例中,通过提供输入,即通过键盘选择,使用指示器等等,用户被允许在输入和更新间选择。
如果输入已被选择(步骤1008),主程序802将初始化一个或多个驱动程序功能的执行来选择要搜索的目录(步骤1010)。由主程序802装载或调用的驱动程序804将取决于哪一种类型的源数据被访问。特定地,对于给定的数据源806a,主程序802将使用驱动程序804b,它是为容纳源数据806a的类型而配置的。如果访问多于一个数据源806,主程序802将使用为源数据806的每一种类型配置的任何一个驱动程序804。最好,基于诸如文件名(或“扩展名”)和/或文件的目录、数量、大小和结构、文件中的标题和其它信息,数据源的类型被自动确定。在另一个实施例中,用户被允许或请求指示数据源的类型(即通过鉴别用于创建数据源文件的软件的商标名和版本号或指示是否用户希望程序仅仅搜索本地磁盘文件或执行包括网络文件的查询)。
在一个实施例中,驱动程序(或驱动程序子程序或参数)的选择是取决于在源数据806中使用的语言。例如,以便合理地确定数据源的类型,当这种确定部分取决于文件名或文件标题信息时,这样的名字或信息可以采用不同的形式(甚至对相同商标的源数据信息),这取决于源数据是否是为了由讲英语、西班牙语、日语等的人使用而安装的。因此,在一个实施例中,将不同的驱动程序用于相同类型的数据源,该数据源是为不同语言的讲话者安装的。可供选择的是,可以为不同的语言数据源使用本质上类似的驱动程序,但这些驱动程序配置成用适当的语言获得寻找的文件名等,例如从表、从过去的参数中获得。以这种方式,驱动程序能用多个语言中的任何一个来分析数据库。尽管一个实施例基本上自动地提供这种语言能力,但可以配置驱动程序来允许(或请求)用户输入指定源数据的一种或多种语言。
另外,当建立新数据库808时,能使用一种语言(例如数据库808输出中的字段名、题注(caption)、题目等)建立数据库,这种语言与多种不同语言中的安装数据源806所使用的语言相同或不同,例如,该语言使用表来提供相应字段名、题注、题目等。能使用这样一种结构,例如,使用数据库或其它数据源,其创建和安装是为了由第一语言使用,为了至少部分自动创建或包括为不同语言定位的数据库808,这个给终端用户使用终端用户的本族语言来查询外国语言数据库的能力。例如,终端用户能强制当地语言数据库808更新其本身(如果需要的话),这是基于在外国语言数据源806中的信息,通过为当地语言数据库808提交本族语言查询或报表请求来完成的。类似地,数据库1302a-c(图13)可以以不同语言用字段名、标识符、题目、题注等配置数据库,但是每个数据库都能够通过从数据库808访问和更新来访问相同的原始数据,以便使用本地货币和/或使用本地语言标识符在一个报表中显示所请求的数据。
在步骤1010的最后,主程序802将访问存储的目录列表,该目录将用于搜索所有的数据源806,就象在步骤1004中由驱动程序804鉴别的那样。在步骤1010之后,主程序802加装或激发或调用功能模块804a到804d的另一个功能块902,以便搜索在步骤1010中为将被输入的数据选择的目录(步骤1012)。目录的搜索(步骤1012)是以一种方式执行的,这种方式取决于信息如何被存储在不同的数据源806中。例如,对于一些类型的源数据,鉴别具有某个文件名和/或某个文件扩展名的文件可以就足够了。对于源数据806的其他类型,必须扫描各种文件中的数据来鉴别具有某种结构或内容的文件,例如,在一个文件的标题部分或其他地方。因此,不同的模块804将被配置成以不同的方式提供“搜索目录”功能块902,以容纳不同的数据源806。
如果要执行更新(步骤1014)而不是输入(步骤1008),则不需要选择和搜索目录,因为最好是当输入被最初执行时,用于选择和搜索目录的功能块901、902的结果以一种方式被存储,以这种方式存储后,主程序802可以在其后时间访问。因此,使用这样存储的信息,主程序802能够鉴别以前输入或鉴别的数据。在一个实施例中,这一点对防止装载冗余数据即已经出现在新数据库808中的数据是有用的。一般情况下,希望在步骤1016中鉴别哪些是由于最后一次的输入或更新导致的新的或被改变的数据,这样就可以使已经在数据库808中的某些数据不必被重新装载。在一个实施例中,为了防止冗余信息装载,系统将试图鉴别没有因为最后一次输入或更新而改变的数据。一般情况下,如果紧接着是程序,在程序的末尾在新的数据库808中的数据将与在源数据806中的信息同步,即它将包含精确指示在其当前状态的数据源806的结构和数据的信息。
在图10的实施例中,被输入或更新的数据标识符被显示(步骤1018),以便给用户一个机会来选择要被输入或更新的数据,或者选择抑制输入或更新某些数据。将被更新或输入的数据的指示被组织以显示的方式取决于哪种类型的数据源被访问,并因此被提供以响应调用或激活驱动程序804(902a)之一的功能。例如,为用于有关图4A到图4F中描述的数据源而配置的驱动程序的一个功能块902a能显示从表430(图4F)中画出的一个子公司列表,以便给用户一个机会来为一些公司而不是另一些公司输入或更新数据。最好,用户能从一个显示的列表中选择一个或多个公司。显示和选择步骤1 018、1020能被重复,以用于其他类型的组织或数据源中的数据,例如,显示和允许选择某些雇员416所特有的数据、某些会计师412所特有的数据,这取决于驱动程序的显示功能块902a如何被写或配置。在一些情况下,可以预先确定希望总是输入或更新所有从数据源得到的信息,因而用于所用驱动程序的功能块902a仅能将程序流程返回到主程序802。例如,对于在图7A到图7D中描述的数据源,可以确定,在每一次输入和更新中,总是包括从所有站点(sites)可得到的所有表面温度数据。在一个实施例中,可向用户提供一种显示,这种显示说明相应于用户选择的数据的位置,比如包含信息的目录、子目录和文件的显示,并能选择性地给用户一个机会,该机会用于选择要访问哪个目录、文件等。
一旦例如通过步骤1018和1020已确定了将被输入或更新的数据,则装载普通信息(步骤1022)。如果希望访问来自两个或更多数据源的信息,则该访问可以被串行执行(即使用第一模块对第一数据执行步骤1022到1046,接着使用适当的驱动程序对第二数据源执行步骤1022到1046,等等),也可以被并行执行(即在对每一个信息模块执行后面的步骤之前,使用适当的驱动程序对每个希望的数据源执行步骤)。
普通信息包括有关在数据源中的数据结构的信息。在所述步骤1022中装载的普通信息的类型的变化取决于各种类型的源数据。例如,对于写入或配置的功能块903来说,普通信息例如可包括帐目或用在数据源806中的其它目录的标识符,所述功能块903用于诸如在图4A到图4F中描述的数据库。另一方面,如果写入或配置的驱动程序804的功能块903用于图1描述的数据源,则仍然希望确定多少组分(component)在数据源中被使用,但是,在这种情况下,信息将由在数据源806中发现的平面文件101a到101d的数量来确定。普通信息也可包括诸如有多少项目112、多少产品114和/或产品线116、或者多少子公司118的信息,这些信息在数据源806中被确定。普通信息也可包括公司名称、财政年度的第一个月和(一般来说)任何其他能被一次装载的信息(与之成对比,比如,在步骤1024、1033和1036中装载的信息,典型地在一个循环中装载)。如果一个“装载普通信息”的功能块903被提供在一个为用于在图6中描述的数据源而配置的驱动程序中,则在步骤1022中可装载诸如在数据库中的位置612的数量的普通信息。
主程序802也调用或激发适当的驱动程序或模块804的功能块904以装载数据定义(步骤1024)。数据定义可包括的信息比如为存储成用于数据源806中的特定类型或类别的标识符的文本名称、字段长度、数据类型(字符串、整数或十进制数、十进制数位置(decimal places)数目)和用于各种数据类型的类似特征。最好,装载数据定义包括查询数据,以获得存储数据源中信息的结构或构造体系的指示所必需的信息,以及按需要查询数据源中的数据单元,以产生一个或多个新数据库808,该数据库808将包含所有的对新数据库执行报表制作或分析的类型所需要的结构和数据。在“装载数据定义”步骤中的数据查询是智能查询,更精确地说它能真正地适合任何数据源,并鉴别什么是存储数据源的标准形式所要求的,例如,对于报表制作和分析。在图4A到图4F的例子中,指示源数据的体系结构所需要的信息包括,例如,四个帐目部分(帐目、公司、雇员和位置)的名称,也包括数据类型(例如,数字或字符串)和存储任何字符串帐目部分所要求的长度。在图6的例子中,指示那个数据源的体系结构所需要的信息将包括存储帐目部分(位置和时间)的名称以及用于该数据(单元)的参考的名称。查询可包括鉴别能被装载的其它可选择数据,例如,发票号。执行查询的特定类型将取决于被分析的特定数据源的特性,因而对于每个驱动程序804是不同的。一般情况下,装载数据或信息的步骤1022、1024、1033、1036由驱动程序804中的功能块执行,但是存储信息的步骤1026、1028、1030、1032、1034、1038由主程序802执行。
然后,主程序802鉴别或创建数据库仓库(repository)1026,即在新数据库808中鉴别或创建一个文件或其他数据存储结构,新数据库808将用作从一个数据源或多个数据源8006装载的信息将被保存的位置。一次更新通常不需要创建新数据库或数据库表,因为更新信息经常是简单地加到已经存在的数据库中的已经存在的表。
在一个实施例中,一个或多个新数据库具有预先定义的结构,因此,在本实施例中,不需要为新数据库创建或定义结构,或者为了定义这样的结构而从一个或多个数据源获得信息。然而,一般来说,希望并不是所有可能的预先定义的数据库表或其他数据仓库都用一个数据源的数据填充。例如,预先定义的数据库可以具有用于保持公司分部信息的表,而数据源可以涉及到不具有公司分部的公司。因此,在本实施例中,一个或多个驱动程序最好被配置成确定来自一个或多个数据源的哪些数据应被适当地装载到预先定义的数据库的哪些表中(或其他数据结构中),例如,该确定取决于在一个或多个数据源中可得到什么数据。
当数据库808的表尚未创建时,主程序802则会调用一个或多个驱动程序的适当功能块905来创建将被用于把来自数据源的数据保存到新数据库808中的数据库表(步骤1028)。创建数据库表的方式最好还考虑两种因素,一种是数据和一个或多个数据源的结构,另一种是新数据库808将被用于比如分析、产生报表等的方式。因为被创建的特定表将随着数据源806中信息特性的变化而改变(例如,就象由步骤1022和1024确定的那样),创建数据库表(步骤1 028)是由驱动程序804提供的功能,驱动程序804是为用来访问的特定数据库配置的。例如,当“创建数据表”功能块905被写入或配置,以用于比如在图4A到图4F中描述的数据源的数据源时,所创建的数据库表可包括,例如,帐目表、雇员表、子公司表(可以是帐目的滚动条(rollup))、和细节表(正如下面更完全描述的),而一个写入或提供于驱动程序中的“创建数据库表”可以包括位置表、数据表、时间表、单元表和细节表,所述驱动程序配置成用于图7A到图7D中描述的数据库。
尽管用于新数据库808的结构和数据至少部分取决于在数据源806中可得到什么信息,也可以将系统配置成使得要装载到新数据库808的结构和/或数据可以至少部分地从多个选项中指定或选择(手动或自动地)。例如,可以将系统配置成使得用户可指定或选择(或系统可通过缺省方式自身自动配置)一个用于新数据库808的通用分类总帐数据库结构。在一个实施例中,将系统配置成辨认某些通用的术语(例如,“净收入”),并使用驱动程序,该驱动程序对于每一个不同类型的数据源自动地将所述通用术语映射为定义、子程序命令等获得所数据所需要的(并且,正如执行计算所需要的)数据,在驱动程序所配置的数据源类型环境下,用于在新数据库808中提供“净收入”信息。在多数据源环境下,这一点允许用户使用相同的请求来从每个数据源得到相应数字,不需要例如具有基础(underlying)数据源806或它们的结构、命令等的知识。这就是说,用户的一个或多个查询请求指定(最好是以语义学(semantic)或“自然”语言描述的)可以使适当的驱动程序建立希望的新数据库808。
最好,在新数据库808中创建的表有动态结构或体系,确切地讲,它实际上可以容纳可从各种数据源806中找到的任一类型的数据定义或结构。在一个实施例中,新数据库808旨在主要用于输出信息,诸如产生报表和分析,因而如下面所描述的,最好被配置成提供更好的输出性能,比如输出类型和可用分析的高灵活性,以及相对较快地执行这种分析和/或输出。在此情况下,对一数据库进行输出速度和/或灵活性方面的优化,以使其提供的输出速度或灵活性优于一些其它可能配置的速度或灵活性。因此,在这种情况下,“优化”并不是必须要求数学上的精确优化。在一个实施例中,在步骤1028中提供三个通用类型的表:多个类型表(包括适当的滚动(rollup)表)、至少一个细节表和至少一个登录表。最好,一种类型表提供给每一种方式,用这种方式,特定数据指针或记录能被分类。例如,如果“创建数据库表”功能块905提供于驱动程序804中,该驱动程序804被构造成用于如图4A到图4F中描述的数据库,则如在图12中描述的,新数据库将包含多个类型表1202,类型表1202例如包括:帐目表,它列出所有可能的帐目1203的帐目分类;子公司表1230,它列出在数据源806中发现的所有可能的子公司;产品表1232,它列出所有在数据源806中提到的产品;雇员表1216,它列出所有在数据源806中提到的雇员;和位置表1234,它列出各种在数据源806中提到的位置、销售区域,等等。在描述的实施例中,每一个类型表1202中的每个记录项目与在下面描述的细节表中使用的索引有关。
在图12中描述的实施例中,将提供细节表1240,该细节表1240一旦被填充则会具有用于一个或多个数据源806中的帐目登录或交易的记录。在图12的实施例中,相应于数据源(图4A)中的交易,对字段1244提供了日期字段1242b、描述符字段1242c、数量字段1242d、和总量字段1242e。提供了索引字段1242a,用于存储用于每一条记录的标识数字或索引数字。另外,为每一个记录提供一单独的字段,用于为在装载普通信息步骤1022中定义的每一个类型存储任何适当信息的指示,在图12中的例子中,包括帐目类型1242f、子公司类型1242g、产品类型1242h、和雇员类型1242i。一般情况下,希望提供尽可能多的不同字段,即类型,它出现在数据源806中正是分析和输出数据所需要的。因此,由于可能希望输出一种报表,这种报表按照交易所涉及的帐目来分组交易,因而有帐目类型是有用的。此外,可能出于希望的记帐目的,希望为每个子公司打印出单独的报表,或打印出其中由子公司分组交易的报表,因此有子公司类型1424g是有用的。一般情况下,对于每一种选择、分组、制作报表、或打印数据的希望的方式,都在细节表1240中提供单独的字段。
在图12中描述的数据库结构与在图4A到图4F中描述的数据源的结构以及在图1中描述的数据源的结构形成对比。例如,在图4A到图4F描述的结构中,特定交易(图4A)与特定帐目(图4B)联系的方式被指示在一个单独的链接表中(图4D),而在图12的实施例中,适当的帐目1242f的索引将被存储在包含交易信息1244的相同记录的其自己的字段中。因此,尽管具有在图12中描述的表的数据库808能存储在图1中描述的数据源或在图4A到图4F中描述的数据源(或以其他方式建造的源数据)中找到的信息,在图12中描述的例子中数据库的结构或体系是不同于图1中描述的数据源或在图4A到图4F中描述的数据源的结构或体系的。类似地,图12的关系数据库结构不同于在图1中描述的平面文件结构,即使存储在两个组织中的信息是类似的也是这样。
主程序802能构造成在例如提供于数据库808中的附加表中保存通用信息1030(在步骤1022中装载的)和保存数据定义1032(在步骤1024中装载的),例如,用于图10的后面步骤和/或在以后时间执行的更新。
主程序802使用一个或多个驱动程序804的适当功能块908,以在新数据库808中装入在步骤1028(1033)中创建的各种表的数据定义代码(例如,字段宽度、数据类型,等等)。在一个实施例中,滚动信息也在这个时间装载。一般情况下,滚动信息指用于定义子类型数据的信息,即在多个类型表中的一个类型表内的分组项目。作为一个例子,正如在图12中描述的,雇员类型表可与位置或区域代码相关,例如,用于识别每位公司雇员所处的或所负责的位置或站点或区域。例如,一个公司有大量的销售人员,每一家公司与一个销售区域关联。作为另一个例子,公司的各种产品能被滚动到或分组到产品线中。通过为位置滚动代码定义一个字段1238,图12的结构使输出由销售区域分组的报表成为可能。滚动也能用于提供组数据的统计分析,诸如平均值、中间值、标准偏差,等等。尽管在图12的实施例中,位置滚动代码1238的字段被指示为雇员类型表1216的字段,如果希望的话,位置字段1238也能在细节表中被提供。
用于装载滚动代码的功能块908所操作的方式将随着源数据806的类型改变而变化,功能块908使用源数据806来配置,并因此其提供为各种驱动程序804的功能,因此,可提供不同的编程指令,以用于源数据的不同类型。作为一个实施例,“定义滚动代码”功能块908可提供于驱动程序804中,该驱动程序804配置成用于图4A到图4F中描述的数据库。在这个例子中,位置字段已经在雇员表416中定义,雇员表416能直接为位置代码目的而使用。作为对比,在图1中描述的实施例中,没有用于与特定平面文件101a相关的雇员120的位置的指示。因此,在一个实施例中,位置滚动对从图1的数据源中得到的数据是不可能的。然而,如果存在比如另一个文件,该文件提供公司的每一个雇员的家庭地址,则可能使用例如每一个销售人员居住的州来推测那个人负责销售地区,并因此推断性地定义位置滚动代码。另外,“定义滚动代码”功能也包括访问能被用于定义滚动代码的信息。例如,在图6中描述的有关数据源中,“定义数据滚动”功能块908能在那个功能范围内包含一个表,该表用于为每一个潜在的温度位置612指示是否那个位置是北半球或南半球的位置,并因此在这个基础上创建半球滚动代码。在一些情况下,可能想要在数据库中提供字识别和/或关键字查询,以便定义附加的滚动和/或结构。
在一些情况下,滚动代码涉及没有在数据源中作为分析和分组数据(例如,图6为数据源的半球滚动代码)的基础所使用的信息。因此,在这些情况下,提供的滚动代码涉及通过自动提供附加元素来提供数据的充实,所述附加元素不能用于(或者至少没有用于)输出或分析数据源806中的信息。最好,数据被分类成类型,并通过深入地分析数据源的数据来分组。
除定义滚动之外,程序也能存储可选参考字段。一般情况下,可选参考字段涉及通常没有被用于分组数据的字段,诸如免税字段(注释、备忘录字段,发票号,等等)但是希望包含在报表中,等等。
接下来,装载数据定义代码和滚动条,这些数据定义代码和滚动条被保存(步骤1034)在新数据库808中,例如,通过把类型列表成各种类型表1202来完成。以循环方式(步骤1035)执行装载和保存数据定义和滚动代码(步骤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的数据填充。
在一个实施例中,信息作为在这里描述的系统的一部分被验证。例如,为控制从一个或多个数据源806中提取的数据,规则能在驱动程序中定义或作为新数据库808的一部分被定义。规则可以确认数据的形式存在,就象被带进新数据库808中一样,并且,最好是报告不满足这种规则的任何项目,以提供错误捕获(trapping)和报表。例如,在帐目封装的情况下,本发明可以构造成验证“帐簿(book)”是否是平衡的。
当组合两种或多种具有不同结构和/或使用不同商标或类型的软件所产生的数据源时,通过利用图10的处理过程,来自不同类型源的这些数据能被填充到共同的数据库结构中,例如,就象在图12中描述的那样。这就有助于数据的共同或标准化分析和报告,最好是为输出灵活性和速度而优化。
在图10的实施例中,主程序802现在能建立并且(如果希望的话)执行数据查询,诸如总结查询(步骤1042)。一般情况下,能建立至少三种类型的查询。提供的第一种类型的查询对于利用图10的程序创建的所有新数据库808来说是共同的,例如提供细节表的登录项号码或给定数据范围(例如,每个地区)的登录项号码的一种查询。另一类型的查询建立可以至少部分取决于普通信息和相对于一个或多个数据源806所得到的数据定义,包括已经提供的滚动条,因此,如果希望的话,可作为驱动程序804的一部分提供,特定于特定的数据源。提供的第三种类型的查询可用于复制或包括用在最初数据源中的查询或报表(例如,在图4E中描述的)。
一旦新数据库808被填充并且建立了适当的查询,主程序802能关闭表和数据库(步骤1044)和动态驱动程序(步骤1046),例如,释放存储器。
尽管本发明的一个主要预期的应用涉及到提供对一个或多个数据源中的数据的标准化和/或增强的报告和分析,也可以将本发明用于通过与新数据库808相关的数据库管理系统(例如,Microsoft Access、Excel、FoxPro、Btrieve,等等)进行数据登录和数据存储。尽管本发明的一个主要预期的应用涉及到继续原始源数据806来输入和存储,同时又能维持新数据库808中相同信息的复制,以用于报告和分析的目的,也可以利用本发明将数据从一种类型的源数据806a、806b转换为另一种数据源比如为806c,这是通过首先将源数据806a、806b存储到新数据库808中,如上面所描述的,然后从新数据库808下载或输出信息到不同类型的源数据806c中来执行的。
按照上面的描述,能看到本发明的大量优点。尽管所使用的源数据的商标或类型有多种变化,本发明有助于报告和分析的标准化。本发明提供了能被优化的系统,或者说另外提供了在输出或报告数据方面的改进的性能。本发明提供了数据报告和分析的能力,这种能力与数据源的数据报告和分析能力相比增强了。通过源数据的复杂的查询,在帐目系统的环境下,本发明能够反映出在数据源中帐目建立的图表。在一个实施例中,程序抽取一些或所有定义的滚动、可选参考字段、计帐时期的信息。通过自动地执行任务并除去(或减少)人工分析的需要,本发明与以前的方法相比减少了劳动强度和所用时间,在一些情况下,用以前的方法要求几天或几周完成填充新数据库808,用本发明可能在几分钟或几小时内完成。在一个实施例中,配置驱动程序804来在新数据库808中检测、分析和维持用在数据源806中的任何安全、口令、允许等等。以这种方式,系统管理员不需要为新数据库808维持新的和单独的帐目、口令、允许等的集合,除了用原始数据源806来维持之外。更可取的是,系统被配置成基本上以预先设定的间隔比如每天、每周等执行更新。
可以对本发明进行许多修改和变化。可以使用本发明的一些方面而不用其它方面。例如,可以填充一个新数据库808而不用定义新的或附加的滚动条。尽管在上面的描述中,各种驱动程序804能被提供成单独的DLL文件,并且是动态的,确切地讲是可以通过在适当的目录中存储附加的DLL文件而简单地加入尽可能多的所需项目,但也可以制作本发明的可操作的版本,在这个版本中,由功能模块执行的功能被提供为由主程序802调用的部分或子程序,而不是单独存储的模块。
尽管已经通过优选实施例对本发明进行了有某些变化和修改的描述,也能使用其他的变化和修改。本发明由后附的权利要求书来限定。

Claims (51)

1.一种计算机实现的方法,包含步骤:
提供第一驱动程序,用于发出访问存储在第一数据源中的数据的指令,所述第一数据源具有第一数据源结构,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用,其中所述第一数据源包括在第一语言中的数据标识符;
使用所述第一驱动程序来自动获得关于所述第一数据源结构的信息,不需要人工分析第一数据源;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
创建一数据库,用于存储至少一些来自所述第一数据源的数据,所述数据库具有在所述确定结构步骤中确定的所述结构,
其中所述数据库包括在第二语言中的数据标识符,该第二语言不同于所述第一语言。
2.如权利要求1所述的方法,其中所述第一和第二语言之一为英语。
3.如权利要求1所述的方法,其中所述数据标识符是从由字段名、题注、标签和题目组成的组中选择的。
4.如权利要求1所述的方法,还包含步骤:
至少利用在所述第二语言中的第一项来查询所述数据库;和
响应于所述查询,从所述第一数据源中自动获得信息,其中在所述第二语言中的所述第一项不在所述第一数据源中。
5.一种计算机实现的方法,包含步骤:
提供第一驱动程序,用于发出访问存储在第一数据源中的数据的指令,所述第一数据源具有第一数据源结构,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述第一驱动程序来自动获得关于所述第一数据源结构的信息,不需要人工分析第一数据源;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
至少创建第一和第二数据库,用于存储至少一些来自所述第一数据源的数据,所述第一和第二数据库中的至少一个具有在所述确定结构步骤中确定的所述结构;
改变所述第二数据库中的数据,以提供改变后的数据;和
将所述改变后的数据从所述第二数据库自动写回到所述第一数据库。
6.如权利要求5所述的方法,其中所述自动写回的步骤被周期性地执行。
7.如权利要求5所述的方法,其中所述自动写回的步骤是响应于所述的改变所述第二数据库中的数据的步骤而执行的。
8.如权利要求5所述的方法,其中所述自动写回的步骤是当在所述第一数据库中请求信息时执行的,该信息相应于已经在所述第二数据库中改变的信息。
9.一种计算机实现的方法,包含步骤:
从包括至少一个第一自然语言项的用户接收指令;
提供第一驱动程序,用于发出访问存储在第一数据源中的数据的指令,所述第一数据源具有第一数据源结构,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述第一驱动程序自动获得关于所述第一数据源结构的第一信息,不需要人工分析第一数据源,其中所述第一信息是执行从用户接收的所述指令所需的信息;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构。
10.如权利要求9所述的方法,还包含步骤:
提供第二驱动程序,用于发出访问存储在第二数据源中的数据的指令,所述第二数据源不同于所述第一数据源;和
使用所述第二驱动程序来从所述第二数据源中自动获得第二信息,不需要人工分析第二数据源,其中所述第二信息是执行从用户接收的所述指令所需的信息,其中,响应于所述用户的所述指令而提供来自所述第一和第二数据源的相应信息。
11.一种计算机实现的方法,包含步骤:
提供第一驱动程序,用于发出访问存储在第一数据源中的数据的指令,所述第一数据源具有第一数据源结构,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述第一驱动程序来自动获得关于所述第一数据源结构的信息,不需要人工分析第一数据源;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
至少创建第一和第二数据库,用于存储至少一些来自所述第一数据源的数据,所述第一和第二数据库中的至少一个具有在确定结构的所述步骤中确定的所述结构;
在第一时间至少输入第一查询,该第一查询用于由所述第一数据库执行以产生第一查询结果;
存储所述第一查询结果;
在第二时间输入所述第一查询;和
响应于在所述第二时间输入所述第一查询的所述步骤,输出所述第一查询结果,并且在所述第二时间之后不用执行所述第一查询。
12.如权利要求11所述的方法,还包含步骤:在输出所述第一查询结果的所述步骤之前,检验数据中的变化。
13.如权利要求12所述的方法,其中,存储所述第一查询的所述步骤仅在所述第一查询已被执行至少为预定次数之后才被执行。
14.一种可用于访问存储在第一数据源中的数据的设备,该第一数据源配置成至少产生第一输出,所述第一数据源具有第一数据源结构,所述设备包含一计算机,该计算机连接到所述第一数据源并且被编程,以执行下列步骤:
提供第一驱动程序,用于发出访问存储在所述第一数据源中的数据的指令,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用,其中所述第一数据源包括在第一语言中的数据标识符;
使用所述第一驱动程序来自动获得关于所述第一数据源结构的信息,不需要人工分析第一数据源;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
创建一数据库,用于存储至少一些来自所述第一数据源的数据,所述数据库具有在所述确定结构的步骤中确定的所述结构;和
其中所述数据库包括在第二语言中的数据标识符,该第二语言不同于所述第一语言。
15.一种计算机实现的方法,包含步骤:
提供第一驱动程序,用于发出访问存储在第一数据源中的数据的指令,所述第一数据源具有第一数据源结构,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述第一驱动程序自动获得关于所述第一数据源结构的信息,包括选择取决于在所述数据源中可得到的信息的信息,不需要人工分析第一数据源;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
将至少一些来自所述第一数据源的数据存储到与所述数据源不同的一个数据库中,所述数据库具有在所述确定结构的步骤中确定的所述结构。
16.如权利要求15所述的方法,还包含获得用户输入的步骤,并且,其中所述的使用所述第一驱动程序自动获得第一信息的步骤包含在自动获得所述第一信息的过程中使用所述用户输入。
17.一种计算机实现的方法,包含步骤:
提供一驱动程序,用于发出访问可存储在第一和第二不同数据源中任意一个中的数据的指令,至少所述第一数据源具有第一数据源结构,所述驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述驱动程序自动获得关于所述第一数据源结构的信息,不需要通过访问在所述第一数据源中存储的信息内容对第一数据源进行的人工分析;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
将所述数据源中的至少一些信息映射为提供新数据库中的相应项目的过程,所述新数据库具有在所述确定结构的所述步骤中确定的所述结构,其中关于第一数据源结构的所述信息使其中将存储来自所述第一数据库的信息的所述新数据库得到最优化。
18.如权利要求17所述的方法,还包括步骤:
在确定所述新数据库的结构中,请求输入来自用户的至少部分地将被使用的信息。
19.如权利要求18所述的方法,其中在所述请求步骤中包括显示对话框的步骤。
20.如权利要求19所述的方法,其中在所述请求步骤中包括显示一选择表的步骤。
21.一种可用于访问可存储在第一和第二不同数据源的任意一个中的数据的计算机实现的方法,至少所述第一数据源具有第一数据源结构,该方法包括步骤:
第一步骤,用于提供包含配置为与所述第一数据源结合使用的程序指令的第一驱动程序,其中所述第一驱动程序不配置为与所述第二数据源结合使用;
第二步骤,使用所述第一驱动程序来自动获得关于所述第一数据源结构的第一信息,不需要通过自动访问存储在所述第一数据源中的信息内容和将在所述第一数据源中的至少一些信息映射为提供新数据库中的相应项目的过程对第一数据源进行的人工分析;
从所述第一数据源结构确定对象数据库的结构,其中所述对象数据库的所述结构不同于所述第一数据源结构;
使用所述第一信息确定与所述数据源不同的所述新数据库的结构,所述新数据库具有在所述确定结构的步骤中确定的所述结构,其中所述新数据库在使用所述第一驱动程序自动获得第一信息的所述步骤之前是不存在的。
22.一种计算机实现的方法,包含步骤:
从包括至少一个第一自然语言项的用户接收指令;
提供第一驱动程序,用于发出访问数字化地存储在第一数据源中的数据的指令,所述第一数据源是平面文件数据源或数据库中的一个,所述第一驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述第一驱动程序自动获得来自所述第一数据源的第一信息,不需要人工分析第一数据源,其中所述第一信息是执行从用户接收的所述指令所需的信息;
创建第二数据源,该第二数据源包含数字化地存储在所述第一数据源中的所述数据的至少一部分;和
从存储在所述第二数据源中的所述数据中产生报告。
23.一种计算机实现的方法,包含步骤:
提供一驱动程序,用于发出访问可存储在第一和第二不同数据源中任意一个中的数据的指令,所述驱动程序包含所配置的程序指令,该程序指令与所述第一数据源结合使用;
使用所述驱动程序自动获得关于所述第一数据源的数据结构的信息,不需要通过访问存储在所述第一数据源中的信息内容和将在所述数据源中的至少一些信息映射为提供新数据库中的相应项目的过程而对第一数据源进行的人工分析,关于该数据结构的所述信息使其中将存储来自所述第一数据库的信息的所述新数据库得到最优化;和
从所述新数据库中创建报告。
24.一种可用于访问可存储在第一和第二不同数据源的任意一个中的数据的计算机实现的方法,该方法包括步骤:
第一步骤,用于提供包含配置为与所述第一数据源结合使用的程序指令的第一驱动程序,其中所述第一驱动程序不配置为与所述第二数据源结合使用;
第二步骤,使用所述第一驱动程序自动获得关于所述第一数据源的数据结构的第一信息,不需要通过自动访问存储在所述第一数据源中的信息内容对第一数据源进行的人工分析;
使用所述第一信息确定与所述数据源不同的第一数据库的结构,其中所述第一数据库在使用所述第一驱动程序自动获得第一信息的所述步骤之前是不存在的;和
至少产生基于所述第一数据库中的信息的第一报告。
25.一种可用于与至少一存储了第一源数据的第一数据源结合使用的计算机实现的方法,该方法包括步骤:
使用计算机自动获得关于所述第一数据源的数据结构的信息,不需要通过访问存储在所述第一数据源中的信息内容对所述第一数据源进行的人工分析,其中如果并且当一新数据库形成时,关于数据结构的所述信息包括能够用于最优化所述新数据库的信息;和
在数据存储器件中存储至少一些关于数据结构的所述信息。
26.如权利要求25所述的方法,其中所述第一源数据包括帐目数据,根据具有多个帐目部分的帐目系统使用所述帐目数据。
27.如权利要求26所述的方法,还包括不首先形成所述新数据库而创建一数据仓库的步骤。
28.如权利要求26所述的方法,还包括形成所述新数据库的步骤。
29.如权利要求28所述的方法,其中所述形成所述新数据库的步骤包括形成具有不同于所述第一数据源的结构的所述新数据库的步骤。
30.如权利要求28所述的方法,其中使用关于数据结构的所述信息最优化所述新数据库。
31.如权利要求28所述的方法,其中所述第一数据源是一数据库。
32.如权利要求28所述的方法,还包括在确定所述新数据库的结构中请求将被至少部分地使用的来自用户的信息。
33.如权利要求32所述的方法,其中所述请求步骤包括显示一对话框的步骤。
34.如权利要求32所述的方法,其中所述请求步骤包括显示一选择表的步骤。
35.如权利要求28所述的方法,还包括在所述形成所述新数据库的步骤之后增大所述新数据库的步骤。
36.如权利要求26所述的方法,其中所述关于数据结构的所述信息包括至少一些所述帐目部分的标识符。
37.如权利要求26所述的方法,其中所述关于数据结构的信息包括在所述第一数据源中的存储的查询。
38.如权利要求28所述的方法,其中所述创建数据仓库的步骤是在所述使用计算机获得关于所述第一数据源的数据结构的信息的步骤之前执行的。
39.如权利要求25所述的方法,还包括不首先形成所述新数据库而创建一数据仓库的步骤。
40.如权利要求39所述的方法,其中所述创建数据仓库的步骤是在所述使用计算机获得关于所述第一数据源的数据结构的信息的步骤之前执行的。
41.如权利要求25所述的方法,还包括形成所述新数据库的步骤。
42.如权利要求41所述的方法,还包括在所述形成所述新数据库的步骤之后增大所述新数据库的步骤。
43.如权利要求41所述的方法,其中所述形成新数据库的步骤包括将所述第一数据源转换至统一的数据库的转换步骤。
44.如权利要求41所述的方法,其中使用关于数据结构的所述信息最优化所述新数据库。
45.如权利要求25所述的方法,其中所述形成所述新数据库的步骤包括形成具有不同于所述第一数据源的结构的所述新数据库的步骤。
46.如权利要求25所述的方法,其中所述第一数据源是一数据库。
47.如权利要求25所述的方法,还包括在确定所述新数据库的结构中请求将被至少部分地使用的来自用户的信息。
48.如权利要求47所述的方法,其中所述请求步骤包括显示一对话框的步骤。
49.如权利要求47所述的方法,其中所述请求步骤包括显示一选择表的步骤。
50.如权利要求25所述的方法,其中所述第一数据源包括至少第一和第二表。
51.如权利要求50所述的方法,其中关于所述第一数据源的结构的所述信息包括与如何将所述第一表中的数据链接到所述第二表中的数据的相关的信息。
CNB99808090XA 1998-06-29 1999-06-07 具有多数据源能力的数据恢复方法和装置 Expired - Fee Related CN1193305C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/106,538 1998-06-29
US09/106,538 US6023694A (en) 1996-01-02 1998-06-29 Data retrieval method and apparatus with multiple source capability

Publications (2)

Publication Number Publication Date
CN1307705A CN1307705A (zh) 2001-08-08
CN1193305C true CN1193305C (zh) 2005-03-16

Family

ID=22311959

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB99808090XA Expired - Fee Related CN1193305C (zh) 1998-06-29 1999-06-07 具有多数据源能力的数据恢复方法和装置

Country Status (9)

Country Link
US (1) US6023694A (zh)
EP (1) EP1116140A1 (zh)
KR (1) KR20010071701A (zh)
CN (1) CN1193305C (zh)
BR (1) BR9911263A (zh)
CA (1) CA2333207A1 (zh)
IL (1) IL139665A (zh)
RU (1) RU2001102589A (zh)
WO (1) WO2000000909A1 (zh)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US6625617B2 (en) * 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
US6631382B1 (en) * 1996-01-02 2003-10-07 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US20010037268A1 (en) 1997-05-08 2001-11-01 Miller David S. Fully-automated system for tax reporting, payment and refund and system for accessing tax information
US6202052B1 (en) 1997-05-08 2001-03-13 Simplification, Llc Fully-automated system for tax reporting, payment and refund
JP4035872B2 (ja) * 1997-10-27 2008-01-23 株式会社日立製作所 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
CA2306814A1 (en) * 1997-11-20 1999-06-03 Xacct Technologies, Inc. Network accounting and billing system and method
US6366915B1 (en) * 1998-11-04 2002-04-02 Micron Technology, Inc. Method and system for efficiently retrieving information from multiple databases
US6523028B1 (en) * 1998-12-03 2003-02-18 Lockhead Martin Corporation Method and system for universal querying of distributed databases
US6532450B1 (en) * 1998-12-09 2003-03-11 American Management Systems, Inc. Financial management system including an offset payment process
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6311134B1 (en) * 1999-02-09 2001-10-30 Mallinckrodt Inc. Process and apparatus for comparing chemical products
WO2000068810A1 (en) * 1999-05-07 2000-11-16 Tropix, Inc. Data display software
US6690399B1 (en) 1999-05-07 2004-02-10 Tropix, Inc. Data display software for displaying assay results
US6952741B1 (en) * 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6990238B1 (en) 1999-09-30 2006-01-24 Battelle Memorial Institute Data processing, analysis, and visualization system for use with disparate data types
US7106329B1 (en) 1999-09-30 2006-09-12 Battelle Memorial Institute Methods and apparatus for displaying disparate types of information using an interactive surface map
US6898530B1 (en) 1999-09-30 2005-05-24 Battelle Memorial Institute Method and apparatus for extracting attributes from sequence strings and biopolymer material
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
WO2001033398A2 (en) 1999-10-29 2001-05-10 Computer Sciences Corporation Business transaction processing systems and methods
US7546304B1 (en) * 1999-10-29 2009-06-09 Computer Sciences Corporation Configuring keys for use in processing business data
AU3073101A (en) * 1999-11-22 2001-06-04 Diversified High Technologies, Inc. Network security data management system and method
US6574637B1 (en) * 2000-02-23 2003-06-03 Orillion International, Inc. Browser oriented method of viewing database structures
US6985905B2 (en) 2000-03-03 2006-01-10 Radiant Logic Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
WO2001073605A2 (en) * 2000-03-29 2001-10-04 Espirant Inc. Method and apparatus for enabling bulk loading of data
WO2001080092A2 (en) * 2000-04-13 2001-10-25 Accenture Llp Method for a health care solution framework
US6701345B1 (en) 2000-04-13 2004-03-02 Accenture Llp Providing a notification when a plurality of users are altering similar data in a health care solution environment
US7403901B1 (en) 2000-04-13 2008-07-22 Accenture Llp Error and load summary reporting in a health care solution environment
US7540021B2 (en) * 2000-04-24 2009-05-26 Justin Page System and methods for an identity theft protection bot
JP2001318816A (ja) * 2000-05-05 2001-11-16 Orillion Corp 複数のデータベースのコンテンツをブラウザを用いて表示する方法
US6594672B1 (en) * 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
US8396859B2 (en) * 2000-06-26 2013-03-12 Oracle International Corporation Subject matter context search engine
JP2002123598A (ja) * 2000-08-08 2002-04-26 Tohsho Logitech Kk 再利用可能な物品のリサイクルシステム
JP4003203B2 (ja) * 2000-08-10 2007-11-07 サイファーゲート株式会社 暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
US20020091680A1 (en) * 2000-08-28 2002-07-11 Chirstos Hatzis Knowledge pattern integration system
US6940509B1 (en) 2000-09-29 2005-09-06 Battelle Memorial Institute Systems and methods for improving concept landscape visualizations as a data analysis tool
US6718336B1 (en) 2000-09-29 2004-04-06 Battelle Memorial Institute Data import system for data analysis system
AU3071802A (en) 2000-12-08 2002-06-18 Univ Loma Linda Med Proton beam therapy control system
US20020103876A1 (en) * 2001-01-29 2002-08-01 Masayuki Chatani System and computer-based method for providing transformed information in response to a client search request
FR2822978B1 (fr) * 2001-03-30 2003-08-15 Financial & Accounting Intergr Dispositif de traitement de donnees comptables locales de formats differents, et installation et procede de traitement de donnees associes
WO2003017175A1 (en) * 2001-08-14 2003-02-27 Bloomberg Lp Distribution and mapping of financial records from data stream
US7113883B1 (en) 2001-08-24 2006-09-26 Vi Technology, Inc. Test configuration and data management system and associated method for enterprise test operations
US7539591B2 (en) * 2001-08-24 2009-05-26 Vi Technology, Inc. Enterprise test data management system utilizing hierarchical test data models and related methods
ATE357839T1 (de) 2001-10-30 2007-04-15 Univ Loma Linda Med Einrichtung zum ausrichten eines patienten zur strahlentherapie
US20030110165A1 (en) * 2001-12-10 2003-06-12 Selgas Thomas D. Method of and apparatus for sparse data table searching using limited inputs
US7069263B1 (en) * 2002-02-19 2006-06-27 Oracle International Corporation Automatic trend analysis data capture
US7441197B2 (en) 2002-02-26 2008-10-21 Global Asset Protection Services, Llc Risk management information interface system and associated methods
US7536405B2 (en) * 2002-02-26 2009-05-19 Global Asset Protection Services, Llc Risk management information interface system and associated methods
US20030187849A1 (en) * 2002-03-19 2003-10-02 Ocwen Technology Xchange, Inc. Management and reporting system and process for use with multiple disparate data bases
US20030195765A1 (en) * 2002-04-10 2003-10-16 Mukesh Sehgal Data exchange method and system
US7386528B2 (en) * 2002-05-31 2008-06-10 American Express Travel Related Services Company, Inc. System and method for acquisition, assimilation and storage of information
US8799489B2 (en) * 2002-06-27 2014-08-05 Siebel Systems, Inc. Multi-user system with dynamic data source selection
US7899879B2 (en) * 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US7272660B1 (en) 2002-09-06 2007-09-18 Oracle International Corporation Architecture for general purpose near real-time business intelligence system and methods therefor
US7454423B2 (en) * 2002-09-06 2008-11-18 Oracle International Corporation Enterprise link for a software database
US7412481B2 (en) 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7941542B2 (en) * 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7243124B1 (en) 2002-09-06 2007-07-10 Oracle International Corporation Architecture for general purpose near real-time business intelligence system with client devices and methods therefor
US7912899B2 (en) * 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US8165993B2 (en) * 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7426059B2 (en) 2002-09-16 2008-09-16 Oracle International Corporation Data presentation methods and apparatus to facilitate printing and reviewing
US7668917B2 (en) * 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US20040111666A1 (en) * 2002-12-05 2004-06-10 Hollcraft James G. Software replicator functions for generating reports
RU2005123989A (ru) 2003-01-02 2006-03-20 Лома Линда Юниверсити Медикал Сентер (Us) Управление конфигурацией и система поиска данных для системы протонной дистанционной протонно-лучевой терапии
US7904823B2 (en) * 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
US7113964B1 (en) 2003-06-05 2006-09-26 Iteration Software, Inc. Method and apparatus for archiving data in a relational database system
US7373274B2 (en) * 2003-07-10 2008-05-13 Erc-Ip, Llc Methods and structure for improved interactive statistical analysis
US7280633B2 (en) * 2003-08-12 2007-10-09 Loma Linda University Medical Center Path planning and collision avoidance for movement of instruments in a radiation therapy environment
CA2967536C (en) 2003-08-12 2020-08-25 Vision Rt Limited Patient positioning system for radiation therapy system
US20050171969A1 (en) * 2003-10-24 2005-08-04 Kathy Maida-Smith Computer network security data management system and method
US7610226B1 (en) 2004-02-23 2009-10-27 Simplification, Llc System for tax data collection
US20050251812A1 (en) * 2004-04-27 2005-11-10 Convertabase, Inc. Data conversion system, method, and apparatus
US7949675B2 (en) * 2004-10-15 2011-05-24 Oracle International Corporation Data retrieval method
US7742958B1 (en) 2004-11-08 2010-06-22 Hrb Tax Group, Inc. System and method for preparing a tax return using electronically distributed tax return data
US7418715B2 (en) * 2005-04-08 2008-08-26 Microsoft Corporation System and method for producing and communicating requested data among networked application programs
US20060242109A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation Server-deployed cache list management for presenting an auto-complete list
US20060253831A1 (en) * 2005-05-03 2006-11-09 Microsoft Corporation Validation architecture
US7634766B2 (en) * 2005-05-20 2009-12-15 Sun Microsystems, Inc. Method and apparatus for pattern-based system design analysis using a meta model
US7703074B2 (en) * 2005-05-20 2010-04-20 Oracle America, Inc. Method and apparatus for tracking changes in a system
US7571434B1 (en) 2005-05-20 2009-08-04 Sun Microsystems, Inc. Method and apparatus for transparent invocation of a characteristics extractor for pattern-based system design analysis
US20060265700A1 (en) * 2005-05-20 2006-11-23 Sun Microsystems, Inc. Method and apparatus for pattern-based system design analysis
US7653898B1 (en) 2005-05-20 2010-01-26 Sun Microsystems, Inc. Method and apparatus for generating a characteristics model for a pattern-based system design analysis using a schema
US20060265697A1 (en) * 2005-05-20 2006-11-23 Sun Microsystems, Inc. Pattern query language
US7660802B2 (en) * 2005-05-20 2010-02-09 Sun Microsystems, Inc. Method and apparatus for generating components for pattern-based system design analysis using a characteristics model
US7853590B2 (en) * 2005-12-02 2010-12-14 Microsoft Corporation Remote read-write access to disparate data stores
US20070179970A1 (en) * 2006-01-31 2007-08-02 Carli Connally Methods and apparatus for storing and formatting data
EP2021913A4 (en) * 2006-05-19 2009-12-16 Jorn Lyseggen SOURCE PORTAL
US7769776B2 (en) * 2006-06-16 2010-08-03 Sybase, Inc. System and methodology providing improved information retrieval
US8255504B1 (en) 2006-10-03 2012-08-28 United States Automobile Association (USAA) Systems and methods for data source management
US20080103798A1 (en) * 2006-10-25 2008-05-01 Domenikos Steven D Identity Protection
US20080103800A1 (en) * 2006-10-25 2008-05-01 Domenikos Steven D Identity Protection
US8359278B2 (en) * 2006-10-25 2013-01-22 IndentityTruth, Inc. Identity protection
CN101641748B (zh) 2006-11-21 2013-06-05 洛马林达大学医学中心 用于固定乳腺放疗患者的装置和方法
KR100915496B1 (ko) * 2007-01-09 2009-09-03 (주)투이컨설팅 데이터 원천 구분코드를 이용한 데이터 품질관리 시스템
KR20090049655A (ko) * 2007-11-14 2009-05-19 박은수 기업의 통합 정보 관리 방법
US20100293090A1 (en) * 2009-05-14 2010-11-18 Domenikos Steven D Systems, methods, and apparatus for determining fraud probability scores and identity health scores
US20110055291A1 (en) * 2009-08-31 2011-03-03 Bryn Henderson Database Integration Tool
US9652802B1 (en) 2010-03-24 2017-05-16 Consumerinfo.Com, Inc. Indirect monitoring and reporting of a user's credit data
US20110320433A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Automated Joining of Disparate Data for Database Queries
EP3462317A1 (en) 2011-02-18 2019-04-03 CSidentity Corporation System and methods for identifying compromised personally identifiable information on the internet
WO2013038419A1 (en) * 2011-09-14 2013-03-21 Infosys Limited Incremental download framework
US9122985B2 (en) 2011-10-28 2015-09-01 Microsoft Technology Licensing, Llc Programmatic access to terminologies expressed in hierarchical form
US11030562B1 (en) 2011-10-31 2021-06-08 Consumerinfo.Com, Inc. Pre-data breach monitoring
US9244971B1 (en) 2013-03-07 2016-01-26 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
US9189515B1 (en) 2013-03-08 2015-11-17 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
US8812387B1 (en) 2013-03-14 2014-08-19 Csidentity Corporation System and method for identifying related credit inquiries
US9619537B2 (en) 2014-04-15 2017-04-11 Sap Se Converting data objects from single- to multi-source database environment
US20150339408A1 (en) * 2014-05-23 2015-11-26 Bank Of America Corporation Universal transaction repository
US9971794B2 (en) * 2014-07-08 2018-05-15 Sap Se Converting data objects from multi- to single-source database environment
US10339527B1 (en) 2014-10-31 2019-07-02 Experian Information Solutions, Inc. System and architecture for electronic fraud detection
US11151468B1 (en) 2015-07-02 2021-10-19 Experian Information Solutions, Inc. Behavior analysis using distributed representations of event data
US10699028B1 (en) 2017-09-28 2020-06-30 Csidentity Corporation Identity security architecture systems and methods
US10896472B1 (en) 2017-11-14 2021-01-19 Csidentity Corporation Security and identity verification system and architecture
CN109324963B (zh) * 2018-08-22 2024-03-15 中国平安人寿保险股份有限公司 自动测试收益结果的方法及终端设备
CN110347739B (zh) * 2019-06-26 2021-04-20 联动优势科技有限公司 一种复合数据项标签的通用数据源访问方法及装置
CN112306748B (zh) * 2020-10-21 2024-02-13 深圳万兴软件有限公司 数据恢复方法、设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
US5058000A (en) * 1987-06-30 1991-10-15 Prime Computer, Inc. System for accessing remote heterogeneous database including formatting retrieved data into applications program format
JPH01303543A (ja) * 1988-05-31 1989-12-07 Fujitsu Ltd メモリアクセス制御装置
US4961139A (en) * 1988-06-30 1990-10-02 Hewlett-Packard Company Data base management system for real-time applications
US5210824A (en) * 1989-03-03 1993-05-11 Xerox Corporation Encoding-format-desensitized methods and means for interchanging electronic document as appearances
JPH0675265B2 (ja) * 1989-09-20 1994-09-21 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 情報検索方法及びシステム
CA2025170A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
JPH03130874A (ja) * 1989-10-17 1991-06-04 Fujitsu Ltd リレーショナル・データベースの検索処理方式
US5724569A (en) * 1991-03-29 1998-03-03 Bull S.A. Apparatus for evaluating database query performance having libraries containing information for modeling the various system components of multiple systems
US5701466A (en) * 1992-03-04 1997-12-23 Singapore Computer Systems Limited Apparatus and method for end user queries
US5522066A (en) * 1992-04-16 1996-05-28 Industrial Technology Research Institute Interface for accessing multiple records stored in different file system formats
US5388259A (en) * 1992-05-15 1995-02-07 Bell Communications Research, Inc. System for accessing a database with an iterated fuzzy query notified by retrieval response
US5446883A (en) * 1992-10-23 1995-08-29 Answer Systems, Inc. Method and system for distributed information management and document retrieval
US5734915A (en) * 1992-11-25 1998-03-31 Eastman Kodak Company Method and apparatus for composing digital medical imagery
JP2710548B2 (ja) * 1993-03-17 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを検索する方法およびブール代数文表現と図形表現を互いに変換する方法
US5680618A (en) * 1993-05-26 1997-10-21 Borland International, Inc. Driver query and substitution for format independent native data access
US5493671A (en) * 1993-06-04 1996-02-20 Marcam Corporation Method and apparatus for conversion of database data into a different format on a field by field basis using a table of conversion procedures
US5495606A (en) * 1993-11-04 1996-02-27 International Business Machines Corporation System for parallel processing of complex read-only database queries using master and slave central processor complexes
US5687363A (en) * 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5608904A (en) * 1995-02-13 1997-03-04 Hewlett-Packard Company Method and apparatus for processing and optimizing queries having joins between structured data and text data
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US6088689A (en) * 1995-11-29 2000-07-11 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US5802511A (en) * 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US5794246A (en) * 1997-04-30 1998-08-11 Informatica Corporation Method for incremental aggregation of dynamically increasing database data sets

Also Published As

Publication number Publication date
IL139665A0 (en) 2002-02-10
CA2333207A1 (en) 2000-01-06
EP1116140A1 (en) 2001-07-18
IL139665A (en) 2005-08-31
KR20010071701A (ko) 2001-07-31
US6023694A (en) 2000-02-08
BR9911263A (pt) 2001-03-13
CN1307705A (zh) 2001-08-08
WO2000000909A1 (en) 2000-01-06
RU2001102589A (ru) 2002-12-20

Similar Documents

Publication Publication Date Title
CN1193305C (zh) 具有多数据源能力的数据恢复方法和装置
CN109992645B (zh) 一种基于文本数据的资料管理系统及方法
US6625617B2 (en) Modularized data retrieval method and apparatus with multiple source capability
US6631382B1 (en) Data retrieval method and apparatus with multiple source capability
US7925658B2 (en) Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US6519603B1 (en) Method and system for organizing an annotation structure and for querying data and annotations
US8799772B2 (en) System and method for gathering, indexing, and supplying publicly available data charts
US7370271B2 (en) Methods and apparatus for generating a spreadsheet report template
US6026392A (en) Data retrieval method and apparatus with multiple source capability
US8825592B2 (en) Systems and methods for extracting data from a document in an electronic format
CN1288583C (zh) 汇总与聚合以将文件就概念分类
US10083227B2 (en) On-the-fly determination of search areas and queries for database searches
CN101490675A (zh) 用于重用数据访问和呈现元素的方法和装置
CN1163821C (zh) 具有多个源容量的数据检索方法和装置
US20100250563A1 (en) Profiling in a massive parallel processing environment
CN100447779C (zh) 文档信息处理设备及文档信息处理方法
US20070282804A1 (en) Apparatus and method for extracting database information from a report
CN113722352A (zh) 一种报审价方案的智能数据校验方法、系统及存储介质
US7797325B2 (en) Lightweight generic report generation tool
US20080243762A1 (en) Apparatus and method for query based paging through a collection of values
CN103377199A (zh) 信息处理装置和信息处理方法
EP1304630A2 (en) Report generating system
CN115098581B (zh) 一种数值型异构数据存储的方法、装置、设备及存储介质
AU772658B2 (en) Data retrieval method and apparatus with multiple source capability
Saris et al. CASIP: a complete automated system for information processing in family budget research

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TMLN PROPRIETARY RIGHT LIMITED LIABILITY COMPANY

Free format text: FORMER OWNER: DIMUENLAI CO.,LTD.

Effective date: 20090731

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090731

Address after: Washington State

Patentee after: TMLN franchise LLC

Address before: Washington State

Patentee before: Timeline, Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050316

Termination date: 20150607

EXPY Termination of patent right or utility model