CN1290899A - 使用多个数据操作模块的数据管理系统 - Google Patents

使用多个数据操作模块的数据管理系统 Download PDF

Info

Publication number
CN1290899A
CN1290899A CN00129285A CN00129285A CN1290899A CN 1290899 A CN1290899 A CN 1290899A CN 00129285 A CN00129285 A CN 00129285A CN 00129285 A CN00129285 A CN 00129285A CN 1290899 A CN1290899 A CN 1290899A
Authority
CN
China
Prior art keywords
data
operation modules
module
application program
management system
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.)
Granted
Application number
CN00129285A
Other languages
English (en)
Other versions
CN1203430C (zh
Inventor
金井达德
岐津俊树
前田诚司
矢尾浩
鸟井修
矢野浩邦
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN1290899A publication Critical patent/CN1290899A/zh
Application granted granted Critical
Publication of CN1203430C publication Critical patent/CN1203430C/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

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

Abstract

一个能够改善灵活性,无关性和可扩展性的一个数据管理系统。这个数据管理系统包括一个存储器单元,被配置成用于保存对具有不同操作内容的数据进行操作的多个数据操作模块;和一个操作单元,被配置成从数据保存系统读取出被应用程序所请求的数据,这个数据管理系统从多个数据操作模块中选择出应对这个数据执行操作以使这个数据将顺从适合于应用程序所希望执行的处理的一个数据模型那些数据操作模块,以使经被选择数据操作模块操作的数据提供给这个应用程序。

Description

使用多个数据操作模块的数据管理系统
本发明涉及一个数据管理系统和用于在一个计算机中提供数据管理和操作功能的一个数据管理方法。
在一个计算机中被处理的数据通常是被使用一个文件系统或者一个数据库管理系统来进行管理的。
这个文件系统通过将名字加到上面来管理称作字节序列的非常基本的数据。文件系统所管理的字节序列数据称作文件。应用程序可以执行基本操作,以将新数据写入到文件中或者从文件中读取已经被写入的数据。
这样,这个文件系统提供了基本的、灵活的称作字节序列的一个数据模型。但是,字节序列是在概念上非常低层的一个数据模型,所以应用程序需要对字节序列定义和使用对这个应用程序唯一的数据管理结构和操作,以使用这个数据模型来解决在计算机中实际遇到的各种问题。因为这个原因,数据独立性低,并且很难在多个应用程序中共享数据。
另一方面,数据库管理系统通过预先假设一个具体的数据模型的使用,提供了对该具体数据模型的具体的、更复杂的功能。最广泛使用的数据库管理系统是基于关系数据模型的关系数据库管理系统。关系数据库管理系统通过将所有数据用表来表示,从而对所有数据进行管理,并且提供通过规定一个关键字搜寻被保存在表中的数据的功能,或者使用称作JOIN的一个操作来在多个表中搜寻相关数据的功能。应用程序使用关系数据库管理系统所提供的各种操作功能来执行处理,如果必要的数据能够以表的形式被定义。也有使用不是关系数据模型的其它数据模型的数据库管理系统,例如网络数据模型和对象数据模型。
在使用数据库管理系统管理数据的情形下,数据管理和操作对应用程序是分开的,并且是在数据库管理系统侧被执行的。即,可以实现数据的无关性,以使通过在多个应用程序之间共享数据而更容易地使用一个数据。另外,数据库管理系统提供了功能,例如事务处理所需要的一致性管理,在多个应用程序之间共享数据的处理情形中的互斥控制,和在发生一个故障时的恢复处理。
这样,数据库管理系统通过用高层次概念来规定具体的数据模型,从而提供各种管理和操作功能,以使可以实现高的数据无关性,并且容易在多个应用程序之间共享数据。但是,尽管可以轻易地设计与数据库管理系统所提供的数据模型匹配的一个应用程序并且轻易地实现一个高性能,但是难以设计与这个数据模型不匹配的一个应用程序并且也难以实现高的性能。从数据的灵活性角度来说,与文件系统相比,其可以获得的自由度是有限的,并且对新的数据或者数据模型的管理和操作功能的可扩展性也比较差。
所以,本发明的一个目的是提供一个数据库管理系统和一个数据管理方法,它能够改善灵活性,无关性和可扩展性。
根据本发明的一个方面,提供了用于对从一个数据保存系统输出的数据进行操作并且向一个应用程序的一个处理提供数据的一个数据管理系统,这个数据库管理系统包括:一个存储器单元,被配置成用于保存对具有不同操作内容的数据进行操作的数据操作模块;和一个操作单元,被配置成从数据保存系统读取出被应用程序所请求的数据,从多个数据操作模块中选择出应对这个数据执行操作以使这个数据与适合于应用程序所希望执行的处理的数据模型相适应的那些数据操作模块,以将由被选择数据操作模块操作过的数据被提供给这个应用程序。
根据本发明的另一个方面,在一个数据管理系统中提供了一个数据管理方法,这个数据管理系统用于对从一个数据保存系统输出的数据进行操作并且将数据提供给应用程序的一个处理,这个数据管理方法包括步骤:在从应用程序接收到对被保存在数据保存系统中的一个所希望数据执行处理的一个请求后,从这个数据保存系统中读取出被这个应用程序所请求的数据;从多个预先提供的、对数据进行操作的具有不同操作内容的数据操作模块中,选择出那些应对这个数据执行操作以使这个数据与适合于应用程序所希望执行的处理的数据模型相适应的数据操作模块;被选择的数据操作模块对数据进行操作,并且将数据操作模块操作过的这个数据提供给应用程序。
根据本发明的另一个方面,提供了一个计算机可以使用的媒质,这个计算机可以使用媒质中包括用于促使一个计算机用作一个数据管理系统的计算机可以读取的程序代码,这个数据管理系统用于对从一个数据保存系统输出的数据进行操作并且将数据提供给应用程序的一个处理,这个计算机可以读取的程序代码包括:一第一计算机可以读取的程序代码,用于促使所述计算机在从应用程序接收到对被保存在数据保存系统中的一个所希望数据执行处理的一个请求后,从这个数据保存系统中读取出被这个应用程序所请求的数据;一第二计算机可以读取的程序代码,用于促使所述计算机从多个预先提供的对数据进行操作的具有不同操作内容的数据操作模块中,选择出那些应对这个数据执行操作以使这个数据与适合于应用程序所希望执行的处理的数据模型相适应的数据操作模块;和一第三计算机可以读取的程序代码,用于促使所述计算机使用被选择的数据操作模块对数据进行操作,并且将数据操作模块操作过的这个数据提供给应用程序。
从下面联系附图的描述中,可以对本发明的其它特征和优点更清楚。
图1是显示根据本发明数据管理系统所管理的一个示例性数据结构的一个图。
图2是显示图1中所显示的数据实体和特性之间的一个示例性关系的一个图。
图3是显示根据本发明的一个实施方式的数据管理系统的一般示例性结构的一个框图。
图4是显示根据本发明的一个实施方式的数据管理系统的一个更具体示例性结构的一个框图。
图5是显示在图3和图4的数据管理系统中所使用的一个数据操作模块管理表的一个示例的一个图。
图6是显示在图3和图4的数据管理系统中所使用的一个名字管理表的一个示例的一个图。
图7是显示在图3和图4的数据管理系统中使用一个文件系统模块的一个示例性方法一个图。
图8是显示描述在图3和图4的数据管理系统中使用一个文件系统模块的一个方法的一个示例性描述的一个图。
图9是显示在图3和图4的数据管理系统中使用一个XML模块的一个示例性方法一个图。
图10是显示描述在图3和图4的数据管理系统中使用一个XML模块的一个方法的一个示例性描述的一个图。
图11是显示在图3和图4的数据管理系统中一个关键字-值模块管理作为XML文档的一个关键字和一个值对的一个示例性管理格式的一个图。
图12是显示在图3和图4的数据管理系统中使用一个关键字-值模块的一个示例性方法一个图。
图13是显示描述在图3和图4的数据管理系统中使用一个关键字-值模块的一个方法的一个示例性描述的一个图。
图14是显示在图3和图4的数据管理系统中一个关键字-值模块管理特性
的一个示例性管理格式的一个图。
图15是显示在图3和图4的数据管理系统中使用一个特性模块的一个示例性方法一个图。
图16是显示描述在图3和图4的数据管理系统中使用一个特性模块的一个方法的一个示例性描述的一个图。
图17是显示在图3和图4的数据管理系统中一个关键字-值模块管理目录
的一个示例性管理格式的一个图。
图18是显示在图3和图4的数据管理系统中使用一个目的模块的一个示例性方法一个图。
图19是显示描述在图3和图4的数据管理系统中使用一个目录模块的一个方法的一个示例性描述的一个图。
图20是显示在图3和图4的数据管理系统中一个数据打开处理的一个示例性流图的一个示意图。
图21是显示指示可以在图3和图4的数据管理系统中被使用的类别和数据操作模块之间的对应关系的示例性规则的一个图。
图22是显示可以在图3和图4的数据管理系统中被使用的<file/>的一个示例性规则的一个图。
图23是显示在图3和图4的数据管理系统中一个数据产生处理的一个示例性流图的一个示意图。
图24是显示可以在图3和图4的数据管理系统中被使用的具有一个上下文的一个示例性规则的一个图。
图25是显示在图3和图4的数据管理系统中使用具有上下文的一个规则的一个示例性方法一个图。
图26是显示在图3和图4的数据管理系统中一个规则搜寻的一个示例性过程的一个流图。
图27A,27B,和27C是显示可以在图3和图4的数据管理系统中被使用的目录和数据结构,和两个目录的两个规则的一个示例的图。
图28A,28B,28C,28D和28E是显示可以在图3和图4的数据管理系统中被使用的目录和数据结构,和两个目录的两个规则,和两个数据的两个模块结构的另一个示例的图。
图29是显示在图3和图4的数据管理系统中使用一个扩展的关键字-值模块的一个示例性方法一个图。
图30是显示描述在图3和图4的数据管理系统中使用一个扩展的关键字-值模块的一个方法的一个示例性描述的一个图。
参考图1到图30,下面将详细描述根据本发明的一个数据管理系统的一个实施方式。
在这个实施方式中,将描述通过将特性加到数据管理系统中的数据上来以一个分层名字空间来管理数据的一个示例性情形。
对这样一个数据管理方法,可以使用WebDAV,但是本发明不局限于这个情形。在“分布式授权的HTTP扩展-WebDAV”(RFC2518)中公开了WebDAV的规范。
在这个实施方式的数据管理系统中,为了通过附加分层名字来管理数据,用目录结构来管理名字的一个分层结构。即,这个目录可以具有任意数目的其它目录和其下一分层结构中的数据。例如,在图1所显示的分层结构示例中,显示了3个数据“data1”,“data2”,“data3”和3个目录“dir1”,“dir2”,“dir3”,其中用类似于“/dir1/dir2/data1”,“/dir1/dir2/data2”,“/dir1/dir3/data3”的名字来管理这3个数据。注意,在WebDAV中,数据和目录被称作资源,并且目录也被称作收集夹。
这个实施方式的数据管理系统所管理的数据可以是如文件系统中的任何形式的二进制数据,如XML文档的结构化数据,和可以通过规定一个关键字值而进行访问的、与数据库类似的数据。除了上面这些,还可以根据各种扩展的数据模型来管理数据。XML的细节被公开在“扩展的标记语言(XML)1.0”(万维网协会)。
如图1所显示的,每一个目录(201)或者数据(202)都有一个特性(203),这个特性是属性名字和属性值对的集合。这个特性被用于记录各种信息,例如其目录,文件产生的日期,访问权限,拥有者,等等。
在这个实施方式的数据管理系统中,目录和特性也被当作数据进行管理。例如,从实现的角度来说,图1示例所显示的数据管理结构可以被看作是图2中所显示的结构,其中作为目录(例如302和304)实体的数据具有表示它们的子目录或者数据(例如303和307)的特性的信息,并且特性数据(例如303和307)具有表示相应目录或者数据(例如304和308)的实体的信息。换句话说,可以说是提供了表示目录的数据模型和表示特性的数据模型。
图3显示了根据这个实施方式的数据管理系统的一般示例性结构。
注意,在这个实施方式中,将描述使用文件系统作为一个数据保存系统的情形。在图3中,文件系统3管理在稳定存储器媒质,例如硬盘31中的文件。这里,稳定存储器装置是例如一个硬盘的一个存储器装置,其中即使关闭了电源,被保存在其中的数据内容也不会消失。
简而言之,在从应用程序2接收到请求后,数据管理系统1执行管理文件系统3的文件操作。例如,对应用程序2提供了对文件系统3中的数据模型转换(从被记录在文件中的二进制格式转换到XML,例如)和某些数据模型中的操作功能。
如图3所显示的,数据管理系统1包括3个类型的构成部件,包括一个资源管理器11,n类数据操作模块管理器12-1到12-n,其中n是比1大或者与1相等的一个整数,并且n类数据操作模块112-i与数据操作模块管理器12-i相应(i=1到n)。
注意,在图3中,在每一个虚线框中所描述的矩形表示功能相同的数据操作模块(这同样适用于下面所描述的图4)。例如,在图3中,与第一数据操作模块管理器12-1相应的、在一个虚线框中被描述的3个矩形均表示功能相同的数据操作模块112-1(这同样适用于其它数据操作模块112-2和112-3)。
这个数据操作模块112-i为其用户(应用程序2或者资源管理器11)提供某些数据管理和操作功能。例如,如下面将要被描述的,提供了用于按照XML文档来管理和操作二进制文件的一个功能或者在XML文档中使用一个关键字和一个值对的一个相关存储器功能。即,数据操作模块的功能是使下一层的数据或者数据模块表现为其它类型的数据或者数据操作模块,并且同时对这个其它类型的数据或者数据模块提供管理和操作功能。
在这个实施方式的数据管理系统1中,一个或者多个数据操作模块112-i的一个集合为应用程序2或者资源管理器11提供了对一个数据进行管理和操作的功能。即,在应用程序2或者资源管理器11通过利用数据管理系统1对文件系统3中的数据,目录和特性执行处理的情形下,根据数据模型、操作内容等等来联合使用一个或者多个数据操作模块112-i,如图3所显示的示例性情形。
注意,在这个实施方式中,根据应用程序2等的请求,利用分层组合的数据操作模块的示例性情形包括了从最底层的数据操作模块到一个分层结构的范围,如图7,9,12,15,18,25和28所显示的。
另外,对每一个操作目的数据,均存在数据操作模块112-i的一个实体。所以,当多个操作实体(应用程序2或者资源管理器11)同时操作时,实际上有同时存在(或者使用)多个功能相同的多个数据操作模块112-i的情形(如图3所显示的示例性情形),仅存在(或者使用)一个数据操作模块112-i的情形,和不存在(或者使用)数据操作模块112-i的情形。
功能相同的数据操作模块112-i由相应的一个数据操作模块管理器12-i所管理。如上面所描述的,每一个数据操作模块管理器12-i所管理的数据操作模块112-i可以是多个,一个或者没有。在图3的示例中,数据操作模块管理器(1)正在管理3个数据操作模块(1),数据操作模块管理器(2)正在管理5个数据操作模块(2),并且数据操作模块管理器(n)正在管理7个数据操作模块(n)。
另外,在这个实施方式中,在数据操作模块管理器12-i和数据操作模块112-i之间的一个关系与在面向对象编程语言中类和实例之间的关系等效。在实际以面向对象的方式实现数据操作模块管理器12-i和数据操作模块112-i的情形下,仅需要对数据操作模块管理器12-i进行编程,并且可以在操作期间根据需要产生或者删除数据操作模块112-i。
资源管理器11的一个功能是用于在从应用程序2接收到一个数据操作请求后,进行一个建立来通过组合所需要的数据操作模块112-i来使能一个所希望的操作。资源管理器11具有用于管理目前在被使用的数据名字和数据操作模块之间的对应关系的一个名字管理表22,和在组合数据操作模块时需要被使用的一个数据操作模块管理表21。
下面,将进一步详细地描述这个数据管理系统。
图4显示了这个数据管理系统的一个更详细的示例性结构。
这个数据管理系统1具有5个类型的数据操作模块管理器,包括一个文件系统模块管理器12,一个XML模块管理器13,一个关键字-值模块管理器14,一个目录模块管理器15和一个特性模块管理器16。另外,与它们对应的是,将根据需要使用5类数据操作模块112-116。注意,图4中所显示的数据操作模块的存在状态(使用状态)仅表示某一个时刻时的一个示例,并且将被数据操作主体根据数据操作状态而进行改变。另外,在图4中,为了简单,部分地省略了用于相应模块的标号112-114。
图5显示了资源管理器11中数据操作模块管理表21的一个示例性结构。
数据操作模块管理表21记录了在每一个数据操作模块的一个名字和指向管理这个数据操作模块的数据操作模块管理器的一个指针之间的对应关系。
在图5的这个示例中,用XML部件,例如<Propm/>和<xmlm/>来规定数据操作模块的名字。这些数据操作模块的名字将在描述访问相应数据所需要的数据操作模块的“组合方法”中被使用。
图6显示了资源管理器11中名字管理表22的一个示例性结构。
名字管理表22记录了每一个目前被使用的目录或者数据的一个名字,指向关于其特性的一个特性模块的一个指针,和在目录的情形下指向关于其目录的一个目录模块的一个指针之间的对应关系。注意,如下面将要描述的,特性模块116是表示这个特性的一个数据操作模块,目录模块115是表示这个目录的一个数据操作模块。
在图6的这个示例中,名字如“/dir1”,“/dir1/dir2/data1”,等等。另外,在图6中,指向特性模块的指针的列和指向目录模块的指针的列是空的,但是,在实践中将输入合适的指向特性模块的指针和指向目录模块的指针。
下面,将描述图4的示例性结构中的数据操作模块的功能。
第一个数据操作模块是文件系统模块。
文件系统模块112是一个数据操作模块,其作用是具有对在数据管理系统1下面所提供的文件系统3进行抽象化。其主要功能是对被记录在文件系统3中的二进制数据提供写入/读取功能。
文件系统模块112对二进制数据所提供的操作示例包括在下面:
(1)读取:从一个规定的偏移位置开始读取一个规定长度的数据。
(2)写入:从一个规定的偏移位置开始写入一个规定长度的数据。
在使用文件系统模块112访问二进制数据的情形下,通常仅使用文件系统模块112,如图7所显示的。在这个示例中,被记录在低层文件系统3中的、名字为“f2468”的一个文件的内容被高层应用程序2显示为二进制数据。
在如图7访问二进制数据的情形下,将例如如图8所显示的,描述“数据操作模块的组合方法”。这里,表示文件系统模块的一个部件<fsm>后面是在低层文件系统3中具有管理信息的一个部件<file>,然后是表示实际的管理名字的<name>f2468</name>。
通过在相应数据的特性或者目录的实体中描述它,资源管理器11管理“数据操作模块的组合方法”。
第二个数据操作模块是XML模块。
XML模块113以一个内部表示形式将关于XML文档的一个树形结构数据保存在在XML模块113下面被提供的文件系统模块112所提供的二进制数据上,并且使能对这个树形结构数据的操作,例如读取这个树形结构中的一个文档,并且添加/删除树中的一部分。
在这点上,就有可能使用在“文档对象目录(DOM)层1规范”(万维网协会)中所公开的一个DOM接口,例如,来作为用于操作这个XML文档的树形结构数据的一个接口。如果需要,也可以使用其它原接口。
XML模块113提供的对XML文档执行的操作示例包括在下面:
(1)CHILD:提取第一个子元素或者文本。
(2)NEXT:提取具有相同父亲的下一个元素或者文本。
(3)PREV:提取具有相同父亲的前一个元素或者文本。
(4)PARENT:提取一个父亲元素。
(5)REMOVE:删除一个规定的元素或者文本。
(6)ADDFIRST:将一个新元素或者文本作为第一个儿子来添加。
(7)ADDLAST:将一个新元素或者文本作为最后一个儿子来添加。
在使用XML模块113来访问XML文档数据的情形下,通常XML文档113和文件系统模块112被组合使用,如图9所显示的。
在这点上,将例如如图10所显示的,描述“数据操作模块的组合方法”。这里,表示XML模块的一个部件<xmlm>后面是在这个XML模块下面被提供的文件系统模块的信息。
第三个数据操作模块是关键字-值模块。
关键字-值模块114是用于保存多个一个关键字和一个值对的一个数据操作模块,并且通过规定对被保存的一个关键字和一个值对集合的一个关键字的相关访问。在这个实施方式中,关键字模块114以XML文档的形式保存一个关键字和一个值对集合。所以,关键字-值模块114提供关于XML文档113所提供的XML文档的相关存储器功能。
关键字-值模块114所提供的操作示例包括在下面:
(1)FIND:提取一个规定关键字的一个值。
(2)ADD:登记一具体的关键字和值对。
(3)REMOVE:删除与这个关键字相关的一个规定关键字和一个值的对。
关键字-值模块114以图11所显示的一个格式管理作为XML文档的一个关键字和一个值对集合。在图11中,每一个<entry>部件具有一个关键字,并且每一个<value>部件具有一个值。这个示例记录了其中一个关键字“OSAKA”具有一个值“TAKOYAKI”,和一个关键字“HAKATA”具有一个值“KARASHIMENTAIKO”的一个状态。
在图11的示例中,通过串行安排它们来管理一个关键字和一个值对,但是也可能使用一个实现方式来使能通过使用众所周知的数据结构,例如二进制树或者B-TREE的快速搜寻。本发明的特征之一是可以改变关键字-值模块114的一个内部实现方式而不会影响其它数据操作模块和使用关键字-值模块114的应用程序2。
在使用关键字-值模块114来访问数据的情形下,通常组合使用XML模块113,关键字-值模块114,和文件系统模块112,如图12所显示的。
在这点上,将例如如图13所显示的,描述“数据操作模块的组合方法”。这里,表示关键字-值模块的一个部件<kvm>后面是在这个关键字-值模块下面被提供的XML模块的信息,然后是在这个XML模块下面被提供的文件系统模块的信息。
第四个数据操作模块是特性模块。
特性模块116被数据管理系统1(资源管理器11)使用来进行内部管理。在这个实施方式中,数据管理系统1管理关于被关键字-值模块114所提供的相关存储器功能的一个属性名字和一个属性值对集合。
特性模块116将提供的特性操作示例包括在下面。
(1)FINDPROP:搜寻一个规定属性名字的一个值。
(2)ADDPROP:增加一规定的属性名字和一个属性值对。
(3)REMPROP:删除一规定的属性名字和一个属性值对。
图14显示了在特性模块116通过使用关键字-值模块114作为一个XML文档的特性的一个属性名字和一个属性值对的情形下,一个XML文档的一个示例。图14是数据“data1”的特性的一个示例。
在图14中,每一个<key>部件指示特性的一个属性名字,每一个<value>部件指示特性的一个属性值。这里,有3个属性,包括表示数据的产生日期和时间的“creationdate”,表示数据的一个拥有者的“owner”,和用于描述在访问这个数据的实体中所需要的数据操作模块的组合方法。这个相应的<value>部件表示它们的属性值。
这里,“模块”属性具有用于将数据的属性连接到这个实施方式中数据管理系统1的数据的实体。如下面将要描述的,在应用程序2通过打开它来访问具有这个特性的数据实体的情形下,资源管理器11根据写入这个“模块”属性中的信息来选择和组合所需要的数据操作模块。
在通过使用特性模块116来访问数据的情形下,通常特性模块116,关键字-值模块114,XML模块113和文件系统模块112被组合使用,如图15所显示的。
在这点上,将例如如图16所显示的,描述“数据操作模块的组合方法”。这里,表示特性模块的一个部件<propm>后面是在这个特性模块后提供的关键字-值模块的信息,然后是在这个关键字-值模块下面被提供的XML模块的信息,然后是在这个XML模块下面被提供的文件系统模块的信息。
第五个数据操作模块是目录模块。
目录模块115被数据管理系统1(资源管理器11)用于进行内部管理,与特性模块116类似。数据管理系统1以在已经存在这个目录下面的一个目录名字或者一个数据名字所给出的一个关键字和关于在访问其特性中所需要的数据操作模块的组合方法的信息所给出的一个值之间的对应关系来管理目录。在这个实施方式中,在关键字-值模块114所提供的相关存储器功能上管理对应关系。
目录模块15所提供的对目录的操作示例包括在下面。
(1)LOOKUP:搜寻一个规定名字的一个数据的一个特性数据。
(2)MKDIR:将一个新目录作为一个儿子添加。
(3)MKDATA:将一个新数据作为一个儿子添加。
(4)RMDIR:删除一个目录。
(5)RMDATA:删除一个数据。
图17显示在其中目录模块115提供使用关键字-值模块114,管理作为一个XML文档的、已经存在于目录下面的一个目录名字或者数据名字对和关于在访问其特性所需要的数据操作模块的组合方法的信息的情形下,一个XML文档的一个示例。图17是显示在图1中的目录“dir2”的实体的一个示例。在图17中,每一个<key>部件表示是一个儿子的一个目录或者一个数据的名字,每一个<value>部件表示关于在访问其它特性中所需要的数据操作模块组合方法的信息。这里,两个数据“data1”和“data2”被作为儿子而管理。
在应用程序2请求对数据“data1”进行访问的一个情形下,资源管理器11首先从图17所显示的目录“dir2”的实体中搜寻具有“data1”作为<key>的表目的<value>,并且根据在<value>中所写入的描述来选择和组合访问“data1”的特性数据所需要的数据操作模块。结果,就产生了如图14所显示的管理信息的特性模块116,以使这被记录在相同的名字管理表22中,而从特性数据中提取“模块”的属性值,并且使用被提取的“模块”属性值来选择和组合在访问与“data1”实体相应的XML文档数据中所需要的数据操作模块。然后,作为这个结果而被产生的XML模块113的一个指针被给到应用程序2。
在使用目录模块115访问数据的情形下,通常目录模块115,关键字-值模块114,XML模块113和文件系统模块112是组合地被使用的,如图18所显示的。
在这点上,将如图19所显示的,描述“组合数据操作模块的一个方法”,例如。这里,表示目录模块的一个部件<dirm>后面是在这个目录模块后提供的关键字-值模块的信息,然后是在这个关键字-值模块下面被提供的XML模块的信息,然后是在这个XML模块下面被提供的文件系统模块的信息。
如上面已经描述的,资源管理器11选择和组合在访问被记录在特性数据或者目录中的描述所规定的数据时所需要的数据操作模块。现在,就针对图20的一个示例性情形来描述这个操作。这里,将使用图1和图14所显示的具体示例。
图20显示了在应用程序2命令数据管理系统1中的资源管理器11打开数据“/dir1/dir2/data1”的情形下,数据管理系统1的内部操作。在下面,将使用图20所示的号码来描述处理流图。
(1)应用程序2命令数据管理系统1打开数据“/dir1/dir2/data1”。这个命令被资源管理器11所接收。
这里,假定“/dir1/dir2/data1”的特性已经被资源管理器11所登记,被在名字管理表22中进行管理并且处于一个可以被访问的状态。如果还不可以访问“/dir1/dir2/data1”特性,就通过使用在目录“dir2”中的信息来组合必要的数据操作模块,将其设置成可以访问的状态,并且登记在名字管理表22中。
在接收到这个命令后,资源管理器11从“data1”特性中提取“模块”属性的值。这里,如图14所显示的,这个值被按照如下的方式给出。
<xmlm>
    <fsm>
        <file>
            <name>f3617</name>
        </file>
    </fsm>
</xmlm>
(2)下面,资源管理器11通过参考数据操作模块管理表21来检查与<xmlm>相应的数据操作模块管理器。在这个情形下,XML模块管理器13被选择为相应的一个管理器。然后,用一个OPEN打开命令来命令XML模块管理器13来使用下面的信息产生一个XML模块113。
<fsm>
    <file>
        <name>f3617</name>
    </file>
</fsm>
(3)被使用OPEN命令命令产生一个新XML模块113的XML模块管理器13首先通过使用OPEN_MODULE来向资源管理器11请求产生在访问其自己需要使用的二进制数据中所需要的数据操作模块。在这点上,也给出了关于将要被产生的数据操作模块的下述信息。
<fsm>
    <file>
        <name>f3617</name>
    </file>
</fsm>
(4)资源管理器11使用数据操作模块管理表21,检查与在OPEN_MODULE的参数中最上面元素的<fsm>相应的数据操作模块管理器。这里,是文件系统模块管理器12,所以选择了文件系统模块管理器12。然后,用一个OPEN打开命令来命令文件系统模块管理器12使用下面的信息来产生一个文件系统模块112。
<file>
    <name>f3617</name>
</file>
(5)文件系统模块管理器12从与被OPEN参数所给出的文件相关的信息中确定文件名字是f3617,并且命令文件系统3打开这个文件。
(6)文件系统3打开这个文件,并且将其文件句柄返回给是一个呼叫源的一个文件系统模块管理器12。
(7)文件系统模块管理器12产生使用文件系统3中文件f3617的句柄的一个文件系统模块112。这里,被产生的文件系统模块将被称作“α”。
(8)文件系统模块管理器12将被产生的文件系统模块α的文件句柄返回给是一个呼叫源的资源管理器11。
(9)资源管理器11将文件系统模块α的文件句柄返回给是OPEN_MODULE的一个呼叫源的XML模块管理器13。
(10)XML模块管理器13产生XML模块113,以在被文件系统模块α所管理的二进制数据上实现XML文档的结构。这里,所产生的XML模块被称作“β”。
(11)XML模块管理器13将XML模块β的句柄返回给是OPEN的一个呼叫源的资源管理器11。
(12)资源管理器11将XML模块β的句柄返回给是OPEN的一个呼叫源的应用程序2。
(13)以后,应用程序2执行处理,而向XML模块β命令对XML文档进行的操作。
现在,到这点为止,已经描述了用于访问一给定数据所需要的数据操作模块的组合方法被写入到特性或者目录中的情形下的操作。但是,在开始产生数据情形下,以某种方法决定组合数据操作模块的方法是必要的。
在下面,将作为在这样一个情形下将要被执行的一个示例性过程,来描述从通过使用规则将被产生的一个数据类别中决定必要的数据操作模块组合的一个方法。
这里,数据类别是表示一个数据类型的名字,并且在这个实施方式中,假定可以获得下面的类别名字。
<property/>:特性的一个类别名字
<directory/>:目录的一个类别名字
<association/>:相关存储的一个类别名字
<document/>:XML文档的一个类别名字
<binary/>:二进制数据的一个类别名字
<file/>:文件的一个类别名字
作为一个规则来管理在类别和实际对这个类别的数据进行操作的数据操作模块之间的一个对应关系。图21显示了这样一个规则的一个示例。如图21所显示的,这个规则描述了哪一个类别的数据可以被哪一个数据操作模块来实现。从<rule>开始的这个规则包括了从<category>开始的一个类别描述部分和从<expand>开始的一个数据操作模块描述部分。
例如,在图21所显示的示例中,第一规则规定为了对特性类别<property/>的数据进行操作就应使用<propm/>所指示的特性模块(116)。类似地,为了对目录类别<directory/>的数据进行操作就应使用<dirm/>所指示的目录模块(115),为了对XML文档类别<document/>的数据进行操作就应使用<xmlm/>所指示的XML模块(113),等等。使用这个方法,对每一个类别管理了至少一个规则。
通过使用用于根据这些规则决定类别和数据操作模块之间对应关系的一个方法,就可以通过改变规则来改变将被使用的数据操作模块,即使在产生相同类别的数据的情形下。
注意,用于<file/>类别的规则被用于描述与文件系统3相关的参数。在图21的示例中,与<file/>类别相应的规则的数据操作模块描述部分仅描述了<file/>,所以在这个情形下没有提供任何特殊的信息。
另外,当文件系统3具有多个分区时,例如,有可能在<file/>的下面提供与图22所显示的<file/>类别相应的一个部件<partition/>,以使如果其值为“1”,就在第一分区中产生一个文件。如果当文件系统模块112在试图产生<file/>类别的数据,即一个文件时遇到了这个规则,就在第一分区中产生这个文件。如果没有这个规则,文件系统3就在一个缺省的分区中产生这个文件。
下面,参考图23,将描述用于在这个实施方式的数据管理系统中产生一个新数据的一个过程。这里,假定预先给出了如图21所显示的规则。后面将描述如何实际地给出这些规则。
图23显示了在应用程序2通过一个CREATE命令来命令数据管理系统1产生其名字为“/dir1/dir3/data3”的XML文档类型的数据。在下面,将使用图23的号码来描述这个过程的流图。
(1)应用程序2通过一个CREATE命令来命令数据管理系统1产生其名字为“/dir1/dir3/data3”的<document/>类型的数据。这个命令被资源管理器11所接收。
这里,假定“/dir1/dir3/data3”的特性已经被资源管理器11所登记,被在名字管理表22中进行管理并且处于一个可以被访问的状态。如果还不可以访问“/dir1/dir3/data3”特性,就通过使用在目录“dir3”中的信息来组合必要的数据操作模块,将其设置成可以访问的状态,并且登记在名字管理表22中。
(2)在接收到这个命令后,资源管理器11从类别名字<document/>搜寻出一个规则,并且确定这可以被XML模块所实现。所以,资源管理器11通过一个CREATE命令来命令XML模块管理器13新产生一个数据实体。
(3)XML模块管理器13需要二进制数据以给自己使用,所以XML模块管理器13通过使用一个CREATE_MODULE命令来向资源管理器11请求产生<binary/>类别的数据。
(4)资源管理器11搜寻与<binary/>类别相应的一个规则,并且确定这可以被文件系统模块所实现。所以,资源管理器11通过一个CREATE命令来命令文件系统模块管理器12新产生一个数据实体。
(5)为了向文件系统3请求产生用于自己使用的一个文件,文件系统模块管理器12需要相关的信息,所以文件系统模块管理器12通过一个CREATE_MODULE命令来请求资源管理器11搜寻与<file/>类别数据相关的信息。
(6)资源管理器11搜寻与<file/>类别相应的一个规则,并且向是一个呼叫源的文件系统模块管理器12返回其<expand/>部分的一个值(这里是<file/>)。这里,在<file/>类别情形的操作与上面所描述的、在<document/>类别或者<binary/>类别情形下的操作是不同的。
(7)文件系统模块管理器12通过使用从资源管理器11所接收的信息,命令文件系统3产生一个新文件。
(8)文件系统3产生一个新文件,并且向文件系统模块管理器12返回关于其名字等等的信息。
(9)文件系统模块管理器12返回一个新产生文件的、在后面打开这个数据时所需要的信息。
(10)资源管理器11向从文件系统模块管理器12返回的信息中加入一个部件<fsm/>,这个部件<fsm/>用于标识是用于处理从文件系统模块管理器12返回的信息的数据操作模块的文件系统模块,并且向发送CREATE_MODULE命令的XML模块管理器13返回所产生的信息。
(11)XML模块管理器13从资源管理器11接收在访问其自己所使用的二进制数据时所需要的数据操作模块的描述,并且将它作为一个产生CREATE的结果而返回。
(12)资源管理器11向从XML模块管理器13返回的信息中加入一个部件<xmlm/>,这个部件<xmlm/>用于标识是用于处理从XML模块管理器13返回的信息的数据操作模块的XML模块。这描述了在访问一个数据“/dir1/dir3/data3”实体时所需要的数据操作模块组合的一个方法,所以这被作为特性的一个“模块”属性值被记录。这完成了处理,所以操作返回到应用程序2。
通过到这点的过程,关于在访问将被新产生的数据时所需要的数据操作模块组合的一个方法的信息被记录在特性中。但是,在这个阶段还不能够实际访问数据,所以在实际访问数据以前,通常执行上面所描述的对数据的打开处理。
注意,上面的描述是针对一个示例情形,其中通过数据管理系统1所提供的CREATE操作来决定在访问数据时所需要的数据操作模块组合的一个方法,和根据所决定的结果,通过使用数据管理系统1所提供的OPEN操作实际组合数据操作模块来将数据设置在可以访问的状态,但是当然也可以轻易地同时处理CREATE操作和OPEN操作。
现在,就可以描述用于从数据类别中搜寻数据操作模块的规则的上下文。如图24所显示的一个示例。
在图24中,被<context/>所包括的一个部分是上下文。在这个上下文中,可以规定通过使用逻辑运算符,例如<and/>,<or/>,和<not/>来组合类别名字例如<document/>和数据操作模块名字例如<xmlm/>而获得的一个逻辑表达式。
具有这个上下文的规则指出,不仅是在类别是相同的情形下将使用<expand>部分中的数据操作模块,而且在与这个类别相应的数据操作模块将被使用的一个位置(例如,在分层结构中,数据操作模块组合的一个位置或者顺序)是上下文中所规定的一个正确位置的情形下,也将使用<expand>部分中的数据操作模块。例如,图24所显示的这个示例表示,仅在类别是<document/>时并且<dtdm/>所表示的数据操作模块不存在于高层时才使用<dtdm/>所表示的数据操作模块。
这里,<dtdm/>所表示的数据操作模块是一个DTD模块117,DTD模块117是用于监视DTD(一个XML文档的一个结构定义)所给出的一个结构是否满足XML文档的一个数据操作模块。<dtdm/>所使用的底层模块是可以对XML文档类别的数据进行操作的模块,并且<dtdm/>本身的行为也表现为当从用户看时,它是对XML文档类别的数据进行操作的数据操作模块。
当图24的规则被与图21的规则进行组合,以使以这个顺序搜寻规则时,如图25所显示的,将以这样的方法来组合数据操作模块,以使在访问XML文档类别数据的情形下,XML模块113被放置在文件系统模块112的上面,并且DTD模块117被放置在它的上面。
注意,在使用DTD模块117的情形下,将提供一个DTD模块管理器。
到这点的描述假定,预先给出了从数据类别中搜寻数据操作模块的规则。实际上,通过将这些规则叠加在目录特性或者数据特性中,并且通过如图26所显示的一个过程来搜寻与给定类别和上下文相匹配的一个规则,就可以很灵活地应用这些规则。
即,在产生某些数据实体时,就从这个数据到根(步骤S11,S13)来依次(根据按照数据分层结构而定义的优先级)跟踪其目录(数据的分层结构),并且使用在跟踪过程中首先发现的、满足类别和上下文条件的一个规则(用于选择数据操作模块的一个选择方法)来决定数据操作模块(步骤S12,S14)。
使用这个方法,在例如如图27A所显示的,在“dir1”的下面存在“dir2”和“dir3”的情形下,如果用于在一个分区号No.0中产生一个文件的<file/>的一个规则被提供给如图27B所显示的“dir1”,并且用于在一个分区号No.1中产生一个文件的<file/>的一个规则被提供给如图27C所显示的“dir2”,就可能实现一个控制,以使可以通过缺省设置在分区号No.1中产生将在“dir2”下面被产生的一个文件,而任何其它将被产生的文件将通过缺省设置在分区号No.0中被产生。
这也可以类似地用于其它类别的数据,以实现这样一个控制,以使根据目录,即使对相同的XML文档也可以使用不同的数据操作模块。
例如,如图28A所显示的,在目录“dir2”下面存在一个名字为“data1”的一个数据,而在目录“dir3”下面存在一个名字为“data2”的一个数据。在这个情形下,就为“dir1”提供如图28B所显示的一个规则,而为“dir2”提供如图28C所显示的一个规则。这里,<xmls/>是一个连续的XML模块的一个名字,而<xmlr/>是一个随机的XML模块的名字。
连续的XML模块和随机的XML模块均是用于在文件系统模块所提供的二进制数据上,以一个扩展的形式保存XML文档的一个树形结构数据的一个数据操作模块,并且是用于提供对树形结构数据进行操作的一个数据操作模块。这些数据操作模块对使用它们的应用程序或者类似的所提供的操作功能与XML模块所相同的。但是,连续的XML模块使用一个内部数据结构,通过这个内部数据结构,对XML文档的连续访问变得更快了,而随机XML模块使用一个数据结构,通过这个数据结构,对XML文档的随机访问得更快了。
通过提供如图28B和图28C所显示的规则,
可以实现这样一个规则,以使在“dir2”下面产生一个XML文档的情形下,可以使用一个随机XML模块,而在“dir1”下面产生一个XML文档的情形下,可以使用一个连续XML模块(包括在“dir3”下面产生一个XML文档的情形,但是不包括在“dir2”下面产生一个XML文档的情形)。
在这个示例中,假定“data1”和“data2”均是作为XML文档而被产生的数据。然后,在“dir2”下面的“data1”的模块分层结构就变成如图28D所显示的,例如,而在“dir3”下面的“data2”的模块分层结构就变成如图28E所显示的,例如。
如这个示例中所类似的,就可以对相同的分层结构提供两个或者多个不同的数据操作模块(如上面的示例,连续XML模块1132和随机XML模块1131),从其中可以选择将被使用的一个数据操作模块。可以这样设置一个选择规则,以使对不同的目录选择不同的数据操作模块,或者替代地,对规则中<context/>部分的不同条件选择不同的数据操作模块。
注意,最好能提供一个能够满足根目录下所有类别的一个缺省规则,因为如果没有提供这样一个规则,就有可能就找不到必要的数据操作模块。
在到现在为止所描述的示例中,在访问数据时所需要的数据操作模块的组合方法是数据操作模块的一个简单堆叠。但是,在这个实施方式的数据管理系统中,也可以使用被设计成与其它数据操作模块组合使用的一个数据操作模块。
图29显示了这样一个数据操作模块的一个示例。
这里,作为一个示例显示了,作为<association/>类别的数据操作模块,可以替代关键字-值模块而被使用的一个扩展关键字-值模块。与关键字-值模块类似的是,扩展的关键字-值模块118也具有作为XML文档的、一个关键字与一个值之间的对应关系,与关键字-值模块不同的是,它还具有一个二进制数据形式的索引,以使使用这个索引可以使用实现快速的搜寻。
对于这样一个扩展的关键字-值模块118,将以如图30所显示的形式描述数据操作模块的一个组合方法。这里,<kva/>是一个表示这个扩展关键字-值模块118的名字。在上面所描述的示例中,将要被这个数据操作模块所使用的下一层数据操作模块的一个描述被放置在这个数据操作模块的名字的下面,但是,这里,提供了<kva/>专用的<kvainfo/>信息。在<kvainfo/>中,有两个部件<data/>和<index/>,其中<data/>记录了用于访问其中记录了一个关键字和一个值的XML文档时所需要的数据操作模块的一个组合方法,而<index/>记录了用于访问其中记录了索引的二进制数据时所需要的数据操作模块的一个组合方法
注意,在使用扩展关键字-值模块118的情形下,将提供一个扩展的关键字-值模块。
另外,上面已经描述了使用一般文件系统作为一个数据保存系统的情形,但是也可以将本发明用于以其它数据模型例如XML数据进行数据输出的一个数据保存系统。在使用XML数据作为将要被这个数据保存系统所处理的数据模型的情形下,例如,在图4的结构中,可以省略文件系统模块和XML模块的这样一个分层结构,而可以根据需要提供将将要被数据存储系统所处理的XML数据用于这个数据管理系统的新XML模块。
另外,在上面,在数据管理系统1中规定了应选择的数据操作模块和它们的使用顺序,但是应用程序2也可能规定数据操作模块的一个组合方法,并且可以将这两个方法一起使用。
在应用程序2规定数据操作模块的一个组合方法的情形下,就可以使用这样一个方法,其中数据管理系统1将关于规定应选择的数据操作模块和将它们应用到数据的顺序的信息(例如,图14的信息)告知给应用程序2,并且应用程序2根据这个信息将数据操作模块的一个组合方法告知给数据管理系统1。
替代地,也可以使用这样一个方法,其中应用程序2通过其独立的操作,请求关于规定应选择的数据操作模块和将它们应用到数据的顺序的信息(例如,图14的信息),并且应用程序2根据这个信息将数据操作模块的一个组合方法告知给数据管理系统1。
例如,在图20所显示的示例中,当在(1)中,应用程序2命令数据管理系统1打开“/dir1/dir2/data1”,而不是使用形式为OPEN(/dir1/dir2/data1)的一个命令时,就将使用下面的形式的一个命令来进行命令。
Open(<xmlm>
    <fsm>
    <file>
        <name>f3617>/name>
    </file>
  </fsm>
</xmlm>
如所描述的,根据本发明,为了对数据进行操作,提供了具有不同操作功能的多个数据操作模块,并且当从应用程序接收到了关于对一个所希望的数据进行处理的一个请求时,通过选择应对这个数据执行操作的数据操作模块来对这个数据进行操作,以使这个数据将顺从适合于应用程序所希望执行的处理的数据模型(可以被应用程序所理解的一个数据结构,附着了可以被应用程序所使用的功能的数据,等等),所以可以提供一个数据管理系统和一个数据管理方法,这个数据管理方法能够同时改善灵活性,无关性和可扩展性。
根据本发明,通过在例如由文件系统所提供的二进制数据上,组合对某些数据存储系统(用于输出二进制数据的一般文件系统,例如输出与从硬盘中读取的数据完全相同的一个系统,具有用于在将二进制数据转换为XML数据例如后输出数据的一个特殊文件系统,等等)所提供的某些数据模型必要的数据操作模块,就可以获得使用任意数据模型(例如,在数据存储系统是文件系统的情形下,例如XML文档或者相关的存储器)的数据管理和操作,所以可以提供灵活的数据管理功能。
另外,根据本发明,应用程序和数据操作模块是分开的,所以有一个优点是,不需要在应用程序中描述数据操作所需要的处理,这与使用传统的文件系统的情形不同。因为这个原因,即使在多个应用程序共享数据的情形下,也可以轻易地实现数据共享,因为数据操作模块提供了数据操作所需要的处理。另外,可以扩展功能或者交换数据操作模块,而不会对应用程序进行任何的改变。换句话说,实现了一个高度的数据无关性。
另外,根据本发明,可以提供改善扩展性的数据管理功能,这使添加具有一个新功能的数据操作模块,对已有数据操作模块的功能进行升级可以与应用程序无关,并且即使在处理相同类别数据的数据操作模块中,用于提供具有各种特性的数据操作模块而添加一些变化也是可能的。
应注意,使用根据本规范的教义而被编程的一个传统的通用数字计算机就可以方便地实现根据本发明的上述实施方式,这对计算机领域内的技术人员是很明显的。根据本发明的教义,有经验的编程人员可以很轻易地编写合适的软件代码,这对软件领域内的技术人员是很明显的。
特别地,可以用一个软件包的形式方便地实现上面描述的实施方式的数据管理相同。
这样一个软件包可以是采用了包括被保存计算机代码的一个存储媒质的一个计算机程序产品,这个被保存计算机代码被用于对一个计算机进行编程以使这个计算机执行本发明所公开的功能和处理。这个存储媒质可以包括,但是不局限于,任何类型的传统软盘,光盘,CD-ROM,磁光盘,ROM,RAM,EPROM,EEPROM,磁或者光卡,或者任何其它用于保存电子指令的媒质。
应注意到,除了上面已经描述了,可以对上面的实施方式进行许多修改和变化,而不会偏离本发明的新的和有利的特征。所以,所有这样的修改和变化均被认为是包括在后附权利要求书的范围内。

Claims (11)

1.一个数据管理系统,用于对从一个数据存储系统输出的数据进行操作,并且将数据提供给一个应用程序的处理,这个数据管理系统包括:
一个存储器单元,被配置成保存多个用于对数据进行操作、并且具有不同操作功能的多个数据操作模块;和
一个操作单元,被配置成从数据存储系统读取被应用程序所请求的数据,从这多个数据操作模块中,选择应对数据执行操作以使这个数据与适合于应用程序希望执行的处理的数据模型相适应的那些数据操作模块,从而将被所选择的数据操作模块操作过的数据提供到应用程序。
2.如权利要求1的数据管理系统,其中当操作单元选择两个或者多个数据操作模块时,与被选择数据操作模块中分层结构最底层相应的一个数据操作模块对从数据存储系统输出的数据进行操作并且将这个数据提供到与所述一个数据操作模块的上一级结构相应的一个数据操作模块,以及与被选择数据操作模块中分层结构最上层相应的另一个数据操作模块对从与所述另一个数据操作模块的下一级相应的一个数据操作模块提供的数据进行操作,并且将这个数据提供到应用程序。
3.如权利要求1的数据管理系统,其中当存储器单元相应同一个分层等级保存两个或者多个数据操作模块时,操作单元在选择应对这个数据执行操作的数据操作模块的时刻,用所述两个或者多个数据操作模块中的一个作为候选者。
4.如权利要求1的数据管理系统,其中操作单元联系被保存在数据存储系统中的数据,也记录用于指定应被选择的数据操作模块和在将数据提供给应用程序时将被应用到数据上的操作的顺序的信息,以使操作单元根据与从数据存储系统读取的数据相联系记录的所述信息进行操作。
5.如权利要求1的数据管理系统,其中操作单元也决定对一给定类别数据进行操作所需要的被选择数据操作模块和当规定了数据类别时,根据预先提供的预定规则,确定被选择数据操作模块的一个组合方法。
6.如权利要求1的数据管理系统,其中操作单元从多个数据操作模块中选择那些应对被应用程序所产生的一个新数据执行操作的数据操作模块,以根据数据模型将新数据保存在数据存储系统中,并且将被选择数据操作模块操作过的新数据写入到数据存储系统中。
7.如权利要求1的数据管理系统,其中当应用程序产生一个新数据时,操作单元根据从应用程序所规定的新数据类别,来选择操作单元所应当使用的至少一个数据操作模块,并且所述至少一个数据操作模块选择可以指定其它数据操作模块的其它数据操作模块或者类别。
8.如权利要求1的数据管理系统,进一步包括:
一个管理单元,被配置成按分层的方式管理数据存储系统中的多个数据;
其中操作单元在选择应对数据执行操作的那些数据操作模块的时刻,使用根据在基于数据分层级别中定义的优先级,从联系数据分层级别而被保存的选择方法中决定一个选择方法。
9.数据管理系统中的数据管理方法,这个数据管理系统用于对从一个数据存储系统输出的数据进行操作,并且将数据提供给一个应用程序的处理,这个数据管理方法包括步骤:
在从应用程序接收到对被保存在数据保存系统中的一个所希望数据执行处理的一个请求后,从这个数据保存系统中读取出被这个应用程序所请求的数据;
从多个预先提供的、对数据进行操作的具有不同操作内容的数据操作模块中,选择出那些应对这个数据执行操作以使这个数据与适合于应用程序所希望执行的处理的数据模型相适应的数据操作模块;和
被选择的数据操作模块对数据进行操作,并且将数据操作模块操作过的数据提供给应用程序。
10.如权利要求9的数据管理方法,进一步包括步骤:
被选择数据操作模块对应用程序所产生的一个新数据执行操作,以根据数据模型将新数据保存在数据存储系统中;和
并且将由被选择数据操作模块操作过的新数据写入到数据存储系统中。
11.一个计算机可以使用的媒质,这个计算机可以使用媒质中包括用于促使一个计算机用作一个数据管理系统的、计算机可以读取的程序代码,这个数据管理系统用于对从一个数据保存系统输出的数据进行操作并且将数据提供给应用程序的一个处理,这个计算机可以读取的程序代码包括:
第一计算机可以读取的程序代码,用于促使所述计算机在从应用程序接收到对被保存在数据保存系统中的一个所希望数据执行处理的一个请求后,从这个数据保存系统中读取出被这个应用程序所请求的数据;
第二计算机可以读取的程序代码,用于促使所述计算机从多个预先提供的、对数据进行操作的具有不同操作内容的数据操作模块中,选择出那些应对这个数据执行操作以使这个数据与适合于应用程序所希望执行的处理的一个数据模型相适应的数据操作模块;
和第三计算机可以读取的程序代码,用于促使所述计算机使用被选择的数据操作模块对数据进行操作,并且将数据操作模块操作过的这个数据提供给应用程序。
CNB001292854A 1999-09-30 2000-09-30 数据管理系统和数据管理方法 Expired - Fee Related CN1203430C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP278261/1999 1999-09-30
JP27826199A JP4167359B2 (ja) 1999-09-30 1999-09-30 データ管理システム及びデータ管理方法

Publications (2)

Publication Number Publication Date
CN1290899A true CN1290899A (zh) 2001-04-11
CN1203430C CN1203430C (zh) 2005-05-25

Family

ID=17594885

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001292854A Expired - Fee Related CN1203430C (zh) 1999-09-30 2000-09-30 数据管理系统和数据管理方法

Country Status (7)

Country Link
US (2) US6714946B1 (zh)
EP (1) EP1091295B1 (zh)
JP (1) JP4167359B2 (zh)
KR (1) KR100405745B1 (zh)
CN (1) CN1203430C (zh)
DE (1) DE60038933D1 (zh)
TW (1) TW486634B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011032470A1 (zh) * 2009-09-17 2011-03-24 中兴通讯股份有限公司 业务用户数据管理系统及其实现业务用户数据管理的方法
CN105786491A (zh) * 2016-02-23 2016-07-20 浪潮通信信息系统有限公司 一种基于数据描述的命令式智能数据管理系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4378029B2 (ja) * 1999-04-27 2009-12-02 キヤノン株式会社 データ処理方法及び装置及び記憶媒体
EP1304616B1 (en) * 2001-10-18 2010-03-17 Sun Microsystems, Inc. Method for processing a data file using a plug-in
US7617502B2 (en) * 2002-11-06 2009-11-10 Scientific-Atlanta, Llc Managing peripheral device drivers
AU2003292498A1 (en) * 2002-12-11 2004-06-30 Fraysen Systems Limited Process data management
FR2849568B1 (fr) * 2002-12-26 2005-04-29 Orange France Systeme et procede de gestion de ressources dans un terminal relie a un reseau de communication
US20040215747A1 (en) * 2003-04-11 2004-10-28 Jonathan Maron System and method for a configuration repository
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US7516122B2 (en) * 2004-12-02 2009-04-07 Computer Associates Think, Inc. System and method for implementing a management component that exposes attributes
JP4804836B2 (ja) * 2005-08-31 2011-11-02 三菱電機株式会社 データ生成装置及びデータ生成プログラム
CN101739292B (zh) * 2009-12-04 2016-02-10 曙光信息产业(北京)有限公司 基于应用特征的异构集群作业自适应调度方法和系统
US20120094600A1 (en) 2010-10-19 2012-04-19 Welch Allyn, Inc. Platform for patient monitoring
JP5524144B2 (ja) 2011-08-08 2014-06-18 株式会社東芝 key−valueストア方式を有するメモリシステム
JP5762878B2 (ja) 2011-08-08 2015-08-12 株式会社東芝 key−valueストアを有するメモリシステム
CN104216729B (zh) * 2013-06-05 2017-10-13 阿里巴巴集团控股有限公司 应用系统的逻辑模块更新实现方法及装置
US10915507B1 (en) * 2014-08-21 2021-02-09 Amazon Technologies, Inc. Data conversion handler for a run-time execution environment
CN110019254A (zh) * 2017-07-17 2019-07-16 中兴通讯股份有限公司 规划区增量记录的处理方法、装置及计算机可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
JP2644554B2 (ja) * 1988-11-15 1997-08-25 株式会社日立製作所 情報処理システム
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
CN1029050C (zh) * 1989-10-13 1995-06-21 国际商业机器公司 在数据库系统中强化实施参照约束
JPH05342179A (ja) * 1992-06-11 1993-12-24 Kobe Nippon Denki Software Kk データベースクライアント・サーバ分散処理システムのデータ処理方法
US5446880A (en) * 1992-08-31 1995-08-29 At&T Corp. Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed
JPH0695935A (ja) * 1992-09-11 1994-04-08 Shikoku Nippon Denki Software Kk データベースのレコードフォーマット変更方式
US5504886A (en) * 1993-07-02 1996-04-02 International Business Machines Corporation System and method for applying user supplied relation definitions to application files for a relational database
US5581797A (en) * 1993-10-22 1996-12-03 Lucent Technologies Inc. Method and apparatus for displaying hierarchical information of a large software system
US5727158A (en) * 1995-09-22 1998-03-10 Integra Soft, Inc. Information repository for storing information for enterprise computing system
WO1998055908A2 (en) * 1997-06-04 1998-12-10 Pangea Systems, Inc. Method and apparatus for obtaining results from multiple computer applications
US6167564A (en) * 1998-09-17 2000-12-26 Unisys Corp. Software system development framework
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US7228407B2 (en) * 2002-08-13 2007-06-05 International Business Machines Corporation Adaptive management method and system with automatic dependency resolution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011032470A1 (zh) * 2009-09-17 2011-03-24 中兴通讯股份有限公司 业务用户数据管理系统及其实现业务用户数据管理的方法
CN105786491A (zh) * 2016-02-23 2016-07-20 浪潮通信信息系统有限公司 一种基于数据描述的命令式智能数据管理系统

Also Published As

Publication number Publication date
US6714946B1 (en) 2004-03-30
KR100405745B1 (ko) 2003-11-15
EP1091295A3 (en) 2003-09-03
CN1203430C (zh) 2005-05-25
KR20010067262A (ko) 2001-07-12
TW486634B (en) 2002-05-11
JP2001101042A (ja) 2001-04-13
US20040139122A1 (en) 2004-07-15
EP1091295B1 (en) 2008-05-21
DE60038933D1 (de) 2008-07-03
JP4167359B2 (ja) 2008-10-15
EP1091295A2 (en) 2001-04-11

Similar Documents

Publication Publication Date Title
CN1203430C (zh) 数据管理系统和数据管理方法
CN1321277A (zh) 数据库系统
CN1138222C (zh) 在线数据库挖掘的方法和设备
CN1109994C (zh) 文件处理装置与记录媒体
CN1193292C (zh) 数据处理方法与装置
CN1194319C (zh) 对表格式数据进行查找、列表及分类的方法和装置
CN1656455A (zh) 管理文件的方法、操作对象显示限制程序和记录介质
CN1613047A (zh) 文件系统外壳
CN101036141A (zh) 具有持久性、用户可访问的位图值的数据库管理系统
CN101044484A (zh) 信息处理装置、方法以及程序
CN1132564A (zh) 用于数据存储与检索的方法与装置
CN1722108A (zh) 磁盘驱动器、其控制方法以及磁盘伪造的探测方法
CN1578949A (zh) 数据对象导向的储存系统
CN1276575A (zh) 数据库存取系统
CN1137320A (zh) 用于建立关系型数据库模式的语义目标模型化系统
CN1677399A (zh) 分级数据库管理的系统、方法和程序
CN1731398A (zh) 信息处理装置、文档检索方法
CN1667609A (zh) 文档信息管理系统和文档信息管理方法
CN1786955A (zh) 用于管理相互相关的数据对象的方法和系统
CN1680942A (zh) 文档组分析设备、文档组分析方法及文档组分析系统
CN1144004A (zh) 多个客户机共有的数据库系统、数据更新方法及面向文字处理装置的应用
CN1900959A (zh) 设计制造的支援装置、支援程序和支援方法
CN1828606A (zh) 信息提供方法以及门户站点系统
CN1777890A (zh) 支持使用关键字的数据注册/搜索的设备、以及报告预备支持设备和程序
CN1722138A (zh) 结构化文档管理设备、搜索设备、存储和搜索方法及程序

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee