CN1159665C - 创建定制数据库的方法和设备 - Google Patents
创建定制数据库的方法和设备 Download PDFInfo
- Publication number
- CN1159665C CN1159665C CNB011440422A CN01144042A CN1159665C CN 1159665 C CN1159665 C CN 1159665C CN B011440422 A CNB011440422 A CN B011440422A CN 01144042 A CN01144042 A CN 01144042A CN 1159665 C CN1159665 C CN 1159665C
- Authority
- CN
- China
- Prior art keywords
- search engine
- xml
- system description
- file
- data
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/917—Text
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/954—Relational
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/955—Object-oriented
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
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)
Abstract
提供了一种用于创建定制数据库的方法。接收数据库的结构的系统描述。根据该系统描述为该定制数据库生成结构。另外,根据该系统描述生成搜索引擎以在该定制数据库中存储和定位数据。
Description
技术领域
本发明一般地涉及计算机实现的数据库管理系统,具体地说,涉及使用描述数字图书馆中的数据的系统描述和生成程序的代码生成器创建一个定制数字图书馆,所述该程序根据系统配置对该数字图书馆中的数据进行存储和定位。
背景技术
近半个世纪的时间,计算机在商业上用来主要以编码数据的形式管理诸如数字和文本的信息。可是,商业数据仅代表世界信息的一小部分。随着存储、通信和信息处理技术的发展,随着它们成本的降低,数字化其它各种类型的数据、存储大量的数据及能够以按需方式将数据分送给在商业和家庭位置的用户变得更加切实可行。
在最近10年来已经出现了数字化图像、音频和视频的新的数字化技术,产生了新型的数字多媒体信息。这些多媒体对象与计算机在过去管理的商业数据有很大的不同,并常常需要具有新能力的更先进的信息管理系统基础设施。这种系统常被称为“数字图书馆(digital library)”。
引进新数字技术可以做的事情远远不止仅仅用电子表现替换物理对象。它能够进行对信息的立即访问;支持快速、准确和强大的检索机制;提供新的“基于经验的”(即虚拟现实)用户界面;并实现保护信息所有者权利的新方法。这些特性不仅使数字图书馆解决方案对合作IS(国际标准化)组织,而且对信息所有者、出版商和服务提供商更具有吸引力和可接受。
一般地,商业数据由商业过程产生(例如机票预定、银行存款和在保险公司的索赔处理)。这些过程中的绝大多数已经由计算机实行了自动化,并生成数字形式的商业数据(文本和数字)。因此,它经常被构造为编码数据。相反,因为多媒体数据是人类创造的结果或现实世界的对象的数字化(X射线、地球物理的绘图等)的结果,而不是计算机算法,所以不能被完全地预构造(pre-structure)(它的使用不是完全可预期的)。
数字形式的商业数据的平均尺寸相对地较小。银行记录(包括客户姓名、地址、电话号码、帐号、余额等)最多表示为几百个字符,即几百/几千比特。多媒体信息(图像、音频、视频)的数字化产生大量称为“对象”或“斑点(blobs)”(二进制大型对象(Binary Large Objects))的比特。例如,来自樊蒂冈图书馆(Vatican Library)的羊皮纸(parchments)的数字图像占用了相当于三千万字符(30MB)进行存储。甚至在压缩以后,一个电影的数字化可能占用相当于几十亿字符(3-4GB)进行存储。
多媒体信息典型地被作为大对象存储,数量上不断地增加,因此需要特殊的存储机制。传统的商业计算机系统没有设计为直接存储这样大的对象。例如视频或音乐的媒体流的特定类型的信息可能需要特殊化的存储技术。因为特定的多媒体信息需要被“永久”保留,所以它还需要当新的存储技术出现、旧的存储技术过时时,提供备份和移植到新的存储技术的特殊存储管理功能。
最终,由于性能的原因,多媒体数据经常被放置在具有支持多个分布式对象服务器的系统的用户附近。这常常需要在应用程序、标引和数据之间的逻辑分离以确保与数据位置的任何变化无关。
在数字图书馆(DL)中,多媒体对象可以与相关的标引(indexing)信息链接,因为两者都可以利用数字形式。这个传统目录信息与数字化对象的综合是至关重要的并且是数字图书馆技术的很大的优点之一。不同类型的对象可以被不同地分类为适合于每个对象类型。适当的时候可以使用象图书馆的MARC(机读目录)记录、用于特殊收集的归档的Finding Aids(寻找助手)等的现存标准。
面向对象的方法一般地更适合于这种复杂数据管理。术语“面向对象”是指使用模型抽象或真实对象的“分类”和“对象”的软件设计方法。“对象”是面向对象编程的主构件块,是既具有数据又具有功能性(即“方法”)的编程单元。“分类”定义了具体类型对象的实现、该对象使用的变量和方法、和该对象属于的父分类。
当要建造面向客户的数据库时,一般需要与关于数据库内容的客户会晤。然后,硬编码对应于客户需求的对象以建造指定的数据库。换句话说,为每一种客户指定的数据库对象生成编程代码。通过硬编码对象,根据对象的类型将对象存储在预定义的模式(scheme)中。
这种方法有很多明显的缺点。首先,硬编码单独的数据库需要相当的时问和资金。例如,当要添加新对象到图书馆中时,必须写入新的代码以代表这些对象。类似地,当修改或删除对象时,必须修改数据库并对数据库重新作标引。这个过程导致了用于生成定制数据库的非常低效率的技术。当创建带有大的对象和/或大量对象的大型的、客户指定的数据库时,这些缺点更加突出。因此,硬编码系统的传统手工的方法对于要求在数字图书馆中进行大量对象修改和添加的数据库是效率低下和不理想的。
另外,其它利用基于静态或动态代码生成器的代码生成器的常规系统也有缺点。例如,用基于嵌入静态SQL(结构化查询语言)的代码生成器,仍必须对每个单独对象、每个添加的对象和每个改变的对象写入代码。另外,对于每个新型数据库请求,必须创建分离的编程语言功能。另外,常规动态嵌入SQL代码生成器的工作性能不如静态嵌入SQL代码生成器,并一般地针对小型数据库,而不是较大型数据库或定制数据库。
因此,存在对用于使用搜索引擎可以创建和管理定制数据库的系统的技术的需求,该搜索引擎能够有效的运行存储和定位数据库中的数据,而不用生成新的代码、修改已有的代码或对数据库重新作标引以反映数据库内的对象的添加、删除或修改。
发明内容
为了克服上述现有技术的局限,并克服阅读和理解本说明书时将更加明显的其它局限,本发明提供一种在与计算机连接的数据存储装置中创建定制数据库的方法,该方法包括:接收要创建的定制数据库的结构的系统描述;根据该系统描述生成用于该定制数据库的结构;和根据该系统描述生成搜索引擎,其中该搜索引擎在该定制数据库中存储和定位数据。
本发明还提供一种用于创建定制数据库的设备,包括:与数据存储装置相连的计算机,其中该数据存储装置用于存储包括所述定制数据库的数据;和所述计算机包括用于接收要创建的定制数据库的结构的系统描述的装置;用于根据该系统描述为该定制数据库生成结构的装置;和用于根据该系统描述生成搜索引擎的装置,其中该搜索引擎在该定制数据库中存储和定位数据。
按照本发明,接收了数据库结构的系统描述。基于该系统描述生成定制数据库的结构。生成基于该系统描述的搜索引擎以存储或检索传统数字图书馆或数据库中的数据。
附图说明
下面参照附图,其中相同的标号代表对应的部件:
图1示意性地说明了本发明的一个实施例的硬件环境,更具体地说,说明了一种典型的数据库系统;
图2示意性地说明了由本发明的一个实施例中的代码生成系统利用的构件;
图3是说明本发明的一个实施例中的代码生成系统的技术的操作顺序的流程图。
具体实施方式
在下面对本发明实施例的描述中,参考了构成本发明一部分的、利用其中实施本发明的示意性实施例表示的附图。可以理解,在不脱离本发明的范围进行结构改变的情况下,也可以使用其它实施例。
硬件环境
图1是用于本发明一个实施例中的硬件环境。本发明的实现包括:计算机100,其一般地包括处理器102、随机存取存储器(RAM)104等;可以存储例如数字图书馆107的数据存储装置106(例如硬盘、软盘和/或CD-ROM盘驱动器等);数据通信装置108(例如调制解调器、网络接口等);显示装置110(例如CRT(阴极射线管)、LCD(液晶显示器)显示器等);输入装置112(例如鼠标指向装置和键盘)。可以想象,与计算机100连接的可以是其它装置,如只读存储器(ROM)、视频卡、总线接口、打印机等。本领域的熟练技术人员可以理解,上述装置的任何组合,或任何数量的不同装置、外围设备和其它装置,可以与计算机100一起使用。
计算机100在操作系统(OS)114的控制下运行。当计算机100接通电源或重启时,操作系统114被导入计算机100的存储器104用于执行。然后操作系统114又通过计算机100控制一个或多个诸如存储和检索系统118的计算机程序116的执行。本发明是代码生成系统119,它用通常的方式在这些计算机程序116中实现,这些程序在操作系统114的控制下执行并使得计算机100执行这里所述的期望的功能。
操作系统114和计算机程序116包括以下指令:当这些指令由计算机100读取和执行时,使得计算机100执行必要的步骤以实现和/或使用代码生成系统119。一般地,操作系统114和/或计算机程序116从诸如存储器104、数据存储装置106、和/或数据通信装置108之类的装置、载体、或介质有形地体现和/或读取。在操作系统114的控制下,计算机程序116可以从存储器104、数据存储装置106、和/或数据通信装置108装入到计算机100的存储器104,用于在实际操作期间使用。
因此,本发明可以实现为使用生产软件、固件、硬件或其任何组合的标准编程和/或工程技术的方法、设备、或制造的产品。这里使用的术语“产品”(或者,“计算机程序产品”)意指包括可从任何计算机可读装置、载体或介质获得的计算机程序。当然,本领域的熟练技术人员可以理解,在不脱离本发明的范围的情况下,可以对这种配置做出很多修改。
本领域的熟练技术人员可以理解,图1所示的环境不应限制本发明。实际上,本领域的熟练技术人员可以理解,在不脱离本发明的范围的情况下,可以使用其它可选择的硬件环境。
XML概要
可扩展标识语言(XML)是增加了用于创建被称为“XML文件”的迅速被广泛应用的新的规范。XML文件包括结构化数据。XML文件在多种商家之间和商家与客户之间共享。随着关系数据库的长期使用,很多商家将他们的数据存储在关系表中。可是现在,很多商家使用XML文件存储数据。
代码生成系统119利用标识文件,该标识文件包括例如可扩展标识语言(XML)文件。XML是标准通用标识语言(SGML)的一个子集,SGML用于带有结构化信息的文件。在XML 1.0中描述了XML,并可以在下列网址找到:http://www.w3.org/TR/REC-xml。XML是一组规则或指南,用于使用标签(tags)设计结构化数据的文本格式。附加的详细信息可以在下列网址找到:http://www.w3.org/XML/1999/XML-in-10-points。XML是迅速增加了用于创建被称为“XML文件”的迅速被广泛应用的新的规范,该“XML文件”可以由各种元素或属性(例如标题、数据、作者等)结构化。一旦以这种方式结构化了文件,就可以基于元素或属性值(或内容)执行结构化搜索。
XML描述了数据对象或XML文件的分类并部分地描述了处理它们的计算机程序的行为。XML文件由称为实体的存储单元构成。每个实体包括经语法分析的和未经语法分析的数据。经语法分析的数据由字符构成,其中的一些形成文件中的字符数据。其它经语法分析的数据可以是标识(markup)的形式。标识将文件的存储布局和逻辑结构的描述编码。XML提供一种将约束强加于存储布局和逻辑结构上的机制。称为XML处理器的软件模块被用于读取XML文件并提供对它们的内容和结构的访问。
具体地,可扩展标识语言(XML)是标准通用标识语言(SGML)的一个子集。XML与可扩展样式页(stylesheet)语言变换(XSLT)和可扩展标识语言路径(Xpath)结合工作。XML还可以与文件对象模型(DOM)或名称空间(namespace)结合工作。
可扩展标识语言(XML)是标准通用标识语言(SGML)的一个子集。在XML 1.0中描述了XML,并可以在下列网址找到:http://www.w3.org/TR/REC-xml。可扩展标识语言(XML)是一组规则或指南,用于使用标签(tags)设计结构化数据的文本格式。附加的详细信息可以在下列网址找到:
http://www.w3.org/XML/1999/XML-in-10-points。对于互用性,称作词汇表的域特有标签可以使用文件类型定义(Document TypeDefinition)来标准化,以便该域中的应用程序理解这些标签的含义。
可扩展样式语言变换器或XSLT是用于将XML文件变换为其它XML文件的一种语言。XSLT规范定义了XSLT语言的语法和语意。通过属于被称为XSLT名称空间的特定XML名称空间来区分XSLT定义的元素。表述在XSLT中的变换描述了用于将源树变换为结果树的规则。关于XSLT的进一步信息可以在下列网址找到:
http://www.w3.org/TR/xslt。
XML路径或Xpath对XML文件的各部分编址。Xpath使用在用于通过XML文件的分层结构进行导航的如同URL(通用资源定位符)中的路径符号(notation)获得它的名称。关于XML路径的进一步的细节可以在这个网址找到:
http://www.w3.org/TR/xpath。
文件目标模型(DOM)是用于从编程语言生成XML文件的函数调用的标准集合。附加的细节可以在下列网址找到:http://www.w3.org/TR/REC-DOM-Level-1/。
例如,XML系统规范的示例提供如下:
<?xml encoding="US-ASCII"?> <!--Digital Library schema definitions --> <!ELEMENT DLSystem(DLIndexClass+,DLRelationship*,DLAttribute+,DLPart*)> <!--Index class is a list of relationships,attributes,and parts --> <!ELEMENT DLIndexClass (desc)?> <!ATTLIST DLIndexClass id ID #REQUIRED relationships IDREFS #IMPLIED dlattributes IDREFS #REQUIRED parts IDREFS #IMPLIED> <!--Relationships connect index classes --> <!ELEMENT DLRelationship (desc)?> <!ATTLIST DLRelationship id ID #REQUIRED type(folder|IDPointer value) #REQUIRED referstoclasses IDREFS #IMPLIED fromattribute IDREF #IMPLIED toattributes IDREFS #IMPLIED> <!--attrubutes are data type declarations attributes can be in more than one index class --> <!ELEMENT DLAttribute (desc)?> <!ATTLIST DLAttribute id ID #REQUIRED type(VarChar|FixedChar|Integer| Time|Long|TimeStamp|Date|Decimal) #REQUIRED length CDATA #REQUIRED> <!-- SIPO <DP n="7"> --> <dp n="d7"/> <!-- parts are files or bitstreams --> <!ELEMENT DLPart(desc)?> <!ATTLIST DLPart id ID #REQUIRED partnumber CDATA #REQUIRED format CDATA #REQUIRED> <!ELEMENT desc (#PCDATA)>
数字图书馆的代码生成器系统
本发明的一个实施例提供了一种代码生成系统119。代码生成系统119为定制数据库创建结构并创建一个或多个在定制数据库中存储和定位数据的程序(例如搜索引擎)。这些程序根据包含定制数据库的结构的系统描述的标识文件来存储和定位数据。
图2是代码生成系统119利用的部件的示意图,说明了将要创建的定制数据库结构的系统描述200包括标识语言文件。该规范既可以指“系统描述”,也可以指“标识文件”,并且这两个条目都是指包含系统描述200的标识文件。在一个实施例中,标识语言文件200可以使用文本编辑器210构建。在另一实施例中,标识语言文件200可以通过图形用户界面(GUI)220构建。
标识语言文件200中的系统描述被输入到代码生成器230。代码生成器230读取标识语言文件200,根据系统描述创建对象,并输出数据库240的结构和一个或多个用于存储和检索数据库中的数据的程序250(例如搜索引擎程序)。在另一实施例中,代码生成系统可以输出形成数字图书馆107的数据库结构。在另一实施例中,数字图书馆可以包括单个的数据库。在另一个实施例中,数字图书馆107可以包括数据库的集合。另外,代码生成器230输出的搜索引擎程序250可以定位定制数据库或数字图书馆107中的对象或对象数据。
在另一实施例中,尽管图2示出了数据库结构240和搜索引擎250的分离的程序,但同样的程序既可以创建数据库结构240,又可以用作该定制数据库的搜索引擎250。下面参照图3进一步详细说明代码生成系统119利用这些部件的方式。
图3是说明代码生成系统119的方法的流程图。在方块300中,代码生成器230接收包含将要创建的定制数据库的结构的系统描述200的标识文件。定制数据库的系统描述200定义了抽象数字资产(asset)到数据库中的物理表示的映射。换句话说,系统描述200通过各种对象定义了将要创建的定制数据库的结构。例如,系统描述200可以包括,一组将存储在数据库中的数据,数据如何存储,数据如何与其它数据链接或关联,和与数据应该如何存储和/或处理相关的任何其它信息。本领域的熟练技术人员应该理解,大量的其它对象结构和关联可以表示在系统描述200中。
标识语言文件存储系统描述200。例如,系统描述200可以输入可扩展标识语言文件(XML)的标识。在本发明另一实施例中,系统描述200可以输入Java文件。系统描述200可以使用文本编辑器210或通过从图形用户界面(GUI)220输入数据而输入标识文件。本领域的熟练技术人员可以理解,系统描述可以使用其它数据入口系统输入。本发明的一个实施例的例子包括带有系统描述200的下列XML文件:
<?xml version="1.0" ?> <!-- sample system structure file for a simple video archive--> -<DLSystem name="libsrvrx" userid="frnadmin" password="password"> -<DLIndexClass dlname="VideoAsset"> <!-- Attributes are database columns --> <DLAttribute id="VA1" datatype="VarChar">Vldeo_TapeNum</DLAttribute> <DLAttribute id="VA2" datatype="VarChar">Video_Proxy1D</DLAttribute> <DLAttribute id="VA3" datatype="VarChar">Video_Date</DLAttribute> <DLAttribute id="VA4" datatype="VarChar">Video_Title</DLAttribute> <DLAttribute id="VA5" datatype="VarChar">Video_Type</DLAttr-ibute> <DLAttribute id="VA6" datatype="VarChar">Video_IconFile</DLAttribute> <DLAttribute id="VA7" datatype="VarChar">Video_NumSBSegments</DLAttribute> <DLAttribute id="VA8" datatype="FixedChar">Video_TCCorrection< /DLAttribute> <DLAttribute id="VA9" datatype="FixedChar"defaultvalue="N"> Video-Digltized</DLAttribute> <DLAttribute id="VA10" datatype="FixedChar"defaultvalue="T">Video_Status< <!-- SIPO <DP n="9"> --> <dp n="d9"/> /DLAttribute> <DLAttribute id="VA11" datatype="FixedChar" defaultvalue="N"> Video_CheckedOut</DLAttribute> <DLAttribute id="VA12" datatype="VarChar">Video_COUserName< /DLAttribute> <DLAttribute id="VA13" datatype="Date">Video_CODate</DLAttribute> <DLAttribute id="VA14" datatype="Date">Video_CIDate</DLAttribute> <DLAttribute id="VA15" datatype="VarChar">Video_ShowNum</DLAttribute> <DLAttribute id="VA16" datatype="VarChar">Video_Logger1D</DLAttribute> <DLAttribute id="VA17" datatype="FixedChar">Video_LogDate</DLAttribute> <DLAttribute id="VA18" datatype="VarChar">Video_Digitizer1D</DLAttribute> <DLAttribute id="VA19" datatype="FixedChar">Video_DigitizeDate </DLAttribute> <DLAttributeid="VA20"datatype="FixedChar">Video_Group</DLAttribute> -<I-- Parts are files stored in object servers--> -<!-- transcript file goes into part 10--> <DLPart id="trspart"format="txt">10</DLPart> -<!-- XML image of asset data goes into part 20,and is indexed by TextMiner--> <DLPart id="tmpart"format="xm1">20</DLPart> -<!-- Storyboard as text file,is backed up in part 30--> <DLPart id="sbpart"format="txt">30</DLPart> -<!-- Tar file of .jpgs for storyboard,are backed up in part 40 --> <DLPart id="tarpart"format="tar">40</DLPart> </DLIndexClass> -<DLIndexClass dlname="Icons"> <DLAttributeid="PI1"datatype="VarChar">Video_Category</DLAttribute> <DLAttributeid="PI2"datatype="VarChar">Video_IconFile</DLAttribute> </DLIndexClass> </DLSystem>
是XML还是Java用于存储系统描述200,这取决于用户的具体需求和能力。例如,Java是更直接的语言,对用户来说更容易,可是XML是更结构化的语言,由于更精确的编程需要,它要求用户更多的知识和技巧。另外,更多的现行的系统都是用Java编码,而不是用XML,因此用Java编码的文件与现行的系统更兼容。可是,由于最近出现XML支持器(supporter)的冲击,这种情况在将来可能会有所改变。由于Java不可移植到其它系统,并且可能必须分析Java程序所做的决定以确定如何由Java处理该程序,所以XML可能优先于Java。与需要更多用户分析的Java相比,用XML,用户更能确定XML文件正在如何被处理。另外,由于XML正在得到流行并正在成为一个描述文件结构的广泛可接受的方法,所以工业标准工具可以使用XML文件。因此,不管是使用XML还是Java,都依赖于个人用户的熟练和需求和对XML的逐渐接受。本领域的熟练技术人员可以理解,除了XML和Java,其它文件格式也可以结合代码生成系统119使用。
在另一实施例中,写入标识语言文件的系统描述200的数据可以取表的形式。表的行可以表示要创建的每个对象。表的列可以对应于行中所标识的每个对象的属性或关联。因此,列1可以表示存储位置,列2可以指示数据被链接到不同的表,等等。
接着在方框310中,代码生成器230根据系统描述200创建定制数据库240的结构。数据库结构240可以包括诸如提供存储和检索数据的方式的表的各种对象。一个单独的系统描述200语句可以生成许多对象。这些对象可以形成一个或多个数据库,数据库又可以形成数字图书馆107。因此,根据标识文件系统描述200中的语句或各个语句,可以生成单独的对象,也可以生成多个对象,或可以生成各对象的整个数据库。
与编程大量的代码行相比,根据系统描述200的生成对象可以节省大量的时间。如果定制数据库包括很多对象和/或大型对象,这是尤其实际的。另外,如果要修改数据库,可以通过修改系统描述200来修改形成定制数据库的对象,而不是在实现变化以后编码新的对象、重新编码旧对象和对定制数据库的内容重新作标引。
另外,如果有必要,手工地构建没有由代码生成器230创建的对象。换句话说,如果代码生成器230未根据系统描述200产生具体的对象,则这些遗留的对象必须被硬编码并被添加到定制数据库结构,以便创建完整的定制数据库或数字图书馆107。类似地,未用系统描述200实现的删除或任何其它对象的改变必须被硬编码。可是,如果代码生成器230可以根据系统描述200生成全部的对象,则不需要进一步执行编程以手工地构建对象。
另外,由于系统描述200描述定制数据库,可能存在多于一个导致同样定制数据库的描述。换句话说,可以修改系统描述200,而仍然产生相同的数据库结构240。
在方框320中,代码生成器230还可以生成在定制数据库中存储数据的程序。根据生成的和任何手工构建的对象,数据被存储到定制数据库并从定制数据库中检索。换句话说,数据库结构240将对象包括在可以是例如关系数据库的所需的定制数据库中。当对象被存储在定制数据库时,还可以产生定制数据库内容的标引。
不同的系统描述200可以描述相同的定制数据库,因此,不同的系统描述可以产生相同的数据库结构240。换句话说,数据库结构对系统描述200中的改变可以是透明的,以便用不同的系统描述200生成相同的数据库结构240。
在方框330中,代码生成器230生成数据库中的定位数据的程序,例如搜索引擎250。当由搜索引擎程序250对定制数据库执行搜索询问时,搜索引擎程序可以是指当存储对象时由数据库程序创建的索引并检索由该询问所请求的对象或对象数据。例如,当由不同的系统描述200修改对象,或添加新对象或删除对象时,则数据库程序可以存储或删除这些对象并相应地标引它们。搜索引擎程序可以使用用Java、超文本标识语言(HTML)或其它高级语言执行的搜索引擎对定制数据库执行询问。另外,搜索引擎程序250可以是文本搜索引擎。本领域的熟练技术人员应该理解,代码生成器230可以生成可用各种语言格式执行的搜索引擎程序250。
如前关于数据库结构240所描述的,多个系统描述200可以描述定制数据库,因此,不同的系统描述200可以生成相同的搜索引擎250。换句话说,搜索引擎250对系统描述200中的变化可以是透明的。
然后,在方框340中,如果需要用户界面以使用户能够访问定制数据库结构240或相关搜索引擎250,则代码生成系统生成用户界面以访问定制数据库。
结论
在此总结本发明的实施例的描述。下面描述了一些用于实现本发明的另外的实施例。例如,诸如大型机、微型机、或个人计算机的任何类型的计算机,或诸如分时大型机、局域网、或独立个人计算机的计算机配置,都可以使用本发明。另外将会理解,用于提供访问控制的面向对象的架构可以用来提供对各种多媒体数据存储器的访问控制,并不限于数字图书馆107。还可以理解,在不脱离本发明的情况下,在上面的示例分类中描述的功能和方法可以根据需要变化和修改。
为了示例和说明的目的,已经提出了对本发明实施例的前述描述。不打算更加详尽或将本发明限制于所公开的精确的形式。根据上述宗旨,各种修改和变化是可能的。本发明的范围不限于本详细的说明书,而由所附的权利要求来限定。
Claims (24)
1.一种在与计算机连接的数据存储装置中创建定制数据库的方法,该方法包括:
接收要创建的定制数据库的结构的系统描述;
根据该系统描述生成用于该定制数据库的结构;和
根据该系统描述生成搜索引擎,其中该搜索引擎在该定制数据库中存储和定位数据。
2.如权利要求1所述的方法,其特征在于还包括生成用户界面以访问该定制数据库。
3.如权利要求1所述的方法,其特征在于还包括修改该系统描述并生成透明的新的结构和搜索引擎。
4.如权利要求1所述的方法,其特征在于该系统描述定义一个或多个抽象对象到该定制数据库的结构中的物理表示的映射。
5.如权利要求1所述的方法,其特征在于包括在该结构中存储数据以形成关系数据库。
6.如权利要求1所述的方法,其特征在于该系统描述包括标识语言文件。
7.如权利要求6所述的方法,其特征在于该标识语言文件包括可扩展标识语言文件。
8.如权利要求7所述的方法,其特征在于该可扩展标识语言文件使用文本编辑器创建。
9.如权利要求7所述的方法,其特征在于该可扩展标识语言文件使用图形用户界面创建。
10.如权利要求1所述的方法,其特征在于该搜索引擎包括文本搜索引擎。
11.如权利要求1所述的方法,其特征在于该搜索引擎包括高级语言。
12.如权利要求11所述的方法,其特征在于该高级语言包括Java。
13.一种用于创建定制数据库的设备,包括:
与数据存储装置相连的计算机,其中该数据存储装置用于存储包括所述定制数据库的数据;和
所述计算机包括用于接收要创建的定制数据库的结构的系统描述的装置;用于根据该系统描述为该定制数据库生成结构的装置;和用于根据该系统描述生成搜索引擎的装置,其中该搜索引擎在该定制数据库中存储和定位数据。
14.如权利要求13所述的设备,其特征在于还包括生成用户界面以访问该定制数据库的装置。
15.如权利要求13所述的设备,其特征在于还包括修改该系统描述并生成透明的新的结构和搜索引擎的装置。
16.如权利要求13所述的设备,其特征在于该系统描述定义一个或多个抽象对象到该定制数据库的结构中的物理表示的映射。
17.如权利要求13所述的设备,其特征在于还包括在该结构中存储数据以形成关系数据库的装置。
18.如权利要求13所述的设备,其特征在于该系统描述包括标识语言文件。
19.如权利要求18所述的设备,其特征在于该标识语言文件包括可扩展标识语言文件。
20.如权利要求19所述的设备,其特征在于该可扩展标识语言文件使用文本编辑器创建。
21.如权利要求19所述的设备,其特征在于该可扩展标识语言文件使用图形用户界面创建。
22.如权利要求13所述的设备,其特征在于该搜索引擎包括文本搜索引擎。
23.如权利要求13所述的设备,其特征在于该搜索引擎包括高级语言。
24.如权利要求23所述的设备,其特征在于该高级语言包括Java。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/774,829 | 2001-01-26 | ||
US09/774,829 US6915303B2 (en) | 2001-01-26 | 2001-01-26 | Code generator system for digital libraries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1367448A CN1367448A (zh) | 2002-09-04 |
CN1159665C true CN1159665C (zh) | 2004-07-28 |
Family
ID=25102436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011440422A Expired - Lifetime CN1159665C (zh) | 2001-01-26 | 2001-12-28 | 创建定制数据库的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6915303B2 (zh) |
JP (1) | JP2002278812A (zh) |
CN (1) | CN1159665C (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039648B2 (en) * | 2000-12-28 | 2006-05-02 | Softlib Ltd. | Method and software system for creating customized computerized libraries |
US7506047B2 (en) * | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7792948B2 (en) * | 2001-03-30 | 2010-09-07 | Bmc Software, Inc. | Method and system for collecting, aggregating and viewing performance data on a site-wide basis |
US7461369B2 (en) * | 2001-03-30 | 2008-12-02 | Bmc Software, Inc. | Java application response time analyzer |
AU2003261021A1 (en) * | 2002-08-29 | 2004-03-19 | Crossmarx B.V. | System and method for executing and building a software application |
US20050050452A1 (en) * | 2003-08-27 | 2005-03-03 | Weitzel Wade D. | Systems and methods for generating an electronically publishable document |
US7634498B2 (en) * | 2003-10-24 | 2009-12-15 | Microsoft Corporation | Indexing XML datatype content system and method |
US7434157B2 (en) * | 2003-12-09 | 2008-10-07 | Microsoft Corporation | Programmable object model for namespace or schema library support in a software application |
US7882095B2 (en) * | 2006-05-30 | 2011-02-01 | Microsoft Corporation | Resource locators for widely distributed systems |
US7895176B2 (en) * | 2006-11-29 | 2011-02-22 | Red Hat, Inc. | Entry group tags |
CN103092631B (zh) * | 2007-04-06 | 2019-02-19 | 西安万年科技实业有限公司 | 一种数据库应用系统开发平台及开发方法 |
US20090144265A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | Search engine for searching research data |
US20090144222A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | Chart generator for searching research data |
US20090144241A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | Search term parser for searching research data |
US20090144318A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | System for searching research data |
US20090144243A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | User interface for searching research data |
US20090144317A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | Data search markup language for searching research data |
US20090144242A1 (en) * | 2007-12-03 | 2009-06-04 | Chartsource, Inc., A Delaware Corporation | Indexer for searching research data |
US8438541B2 (en) | 2010-06-15 | 2013-05-07 | International Business Machines Corporation | Software change management extension for uniformly handling artifacts with relaxed contraints |
CN103309904B (zh) * | 2012-03-16 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种生成数据仓库etl 代码的方法及装置 |
CN104917847A (zh) * | 2015-07-03 | 2015-09-16 | 成都怡云科技有限公司 | 基于云桌面的移动图书馆 |
CN110083339A (zh) * | 2018-01-26 | 2019-08-02 | 拜椰特(上海)软件技术有限公司 | 一种新型计算机编程语言 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604899A (en) | 1990-05-21 | 1997-02-18 | Financial Systems Technology Pty. Ltd. | Data relationships processor with unlimited expansion capability |
US6178413B1 (en) * | 1998-05-20 | 2001-01-23 | Technolines, Llc | Database program with automatic creation of user features |
WO1995003586A1 (en) | 1993-07-21 | 1995-02-02 | Persistence Software, Inc. | Method and apparatus for generation of code for mapping relational data to objects |
US5564048A (en) | 1994-06-15 | 1996-10-08 | Lucent Technologies Inc. | Object-oriented functionality class library for use in graphics programming |
US5873093A (en) | 1994-12-07 | 1999-02-16 | Next Software, Inc. | Method and apparatus for mapping objects to a data source |
US5535325A (en) | 1994-12-19 | 1996-07-09 | International Business Machines Corporation | Method and apparatus for automatically generating database definitions of indirect facts from entity-relationship diagrams |
US5835758A (en) | 1995-02-28 | 1998-11-10 | Vidya Technologies, Inc. | Method and system for respresenting and processing physical and conceptual entities |
US5892510A (en) | 1996-07-02 | 1999-04-06 | Sun Microsystems, Inc. | Field objects and a method for developing a graphical user interface containing the field objects |
US5802524A (en) | 1996-07-29 | 1998-09-01 | International Business Machines Corporation | Method and product for integrating an object-based search engine with a parametrically archived database |
US5738527A (en) * | 1996-08-08 | 1998-04-14 | Lundberg; Steven W. | Screen saver |
US5909678A (en) | 1996-09-13 | 1999-06-01 | International Business Machines Corporation | Computer systems, method and program for constructing statements by dragging and dropping iconic representations of subcomponent statements onto a phrase template |
US5970490A (en) * | 1996-11-05 | 1999-10-19 | Xerox Corporation | Integration platform for heterogeneous databases |
US5878411A (en) | 1997-06-27 | 1999-03-02 | International Business Machines Corporation | Dependent object class and subclass mapping to relational data store |
US5937409A (en) | 1997-07-25 | 1999-08-10 | Oracle Corporation | Integrating relational databases in an object oriented environment |
US6279008B1 (en) * | 1998-06-29 | 2001-08-21 | Sun Microsystems, Inc. | Integrated graphical user interface method and apparatus for mapping between objects and databases |
US6343297B1 (en) * | 1998-12-30 | 2002-01-29 | International Business Machines Corporation | Methods, systems and computer program products for providing document management for software development systems |
US6381597B1 (en) * | 1999-10-07 | 2002-04-30 | U-Know Software Corporation | Electronic shopping agent which is capable of operating with vendor sites which have disparate formats |
US6510434B1 (en) * | 1999-12-29 | 2003-01-21 | Bellsouth Intellectual Property Corporation | System and method for retrieving information from a database using an index of XML tags and metafiles |
US6311194B1 (en) * | 2000-03-15 | 2001-10-30 | Taalee, Inc. | System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising |
-
2001
- 2001-01-26 US US09/774,829 patent/US6915303B2/en not_active Expired - Lifetime
- 2001-12-28 CN CNB011440422A patent/CN1159665C/zh not_active Expired - Lifetime
-
2002
- 2002-01-15 JP JP2002005938A patent/JP2002278812A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN1367448A (zh) | 2002-09-04 |
JP2002278812A (ja) | 2002-09-27 |
US20020152221A1 (en) | 2002-10-17 |
US6915303B2 (en) | 2005-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1159665C (zh) | 创建定制数据库的方法和设备 | |
US7624114B2 (en) | Automatically generating web forms from database schema | |
US7765236B2 (en) | Extracting data content items using template matching | |
US7877366B2 (en) | Streaming XML data retrieval using XPath | |
US6857123B1 (en) | Method and apparatus for a Meta Data Service in a data processing system | |
US7640496B1 (en) | Method and apparatus for generating report views | |
US20100241657A1 (en) | Presentation generator | |
US11907203B2 (en) | Path encoded tree structures for operations | |
CN101609399B (zh) | 基于建模的智能化网站开发系统及方法 | |
EP0774722A2 (en) | Information retrieval system | |
US20070136362A1 (en) | Systems and methods for report design and generation | |
CN1604031A (zh) | 用类属用户接口模板创建对应用的用户接口的方法和系统 | |
CN1581170A (zh) | 用来比较两个计算机文件的方法及系统 | |
US7457812B2 (en) | System and method for managing structured document | |
CN112667563A (zh) | 一种文档管理及操作方法和系统 | |
CN1841377A (zh) | 爬寻数据库以找出信息 | |
US20120011136A1 (en) | Processing Structured Documents Stored in a Database | |
CN1808428A (zh) | 展现及编辑信息检索条件的系统及方法 | |
CN1601524A (zh) | 模糊查询系统及方法 | |
US6282509B1 (en) | Thesaurus retrieval and synthesis system | |
JP2002534741A (ja) | 半構造化テキストデータを処理する方法及び装置 | |
CN1809811A (zh) | 用于借助中心xml配置文件生成分布式java应用的方法和装置 | |
US20060026094A1 (en) | Systems and methods for distributing updated information in a stateless system | |
CN1522403A (zh) | 处理因特网表单的方法和设备 | |
KR100678123B1 (ko) | 관계형 데이터베이스에서의 xml 데이터 저장 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20040728 |
|
CX01 | Expiry of patent term |