CN1588372A - 基于关系型数据库的通用文档存储方法 - Google Patents
基于关系型数据库的通用文档存储方法 Download PDFInfo
- Publication number
- CN1588372A CN1588372A CN 200410083922 CN200410083922A CN1588372A CN 1588372 A CN1588372 A CN 1588372A CN 200410083922 CN200410083922 CN 200410083922 CN 200410083922 A CN200410083922 A CN 200410083922A CN 1588372 A CN1588372 A CN 1588372A
- Authority
- CN
- China
- Prior art keywords
- document
- doctype
- unified
- management
- view
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于关系型数据库的通用文档存储方法,属于文档(数据)存储、处理和管理技术。现有技术中,一般都是根据不同业务系统、不同行业系统的特点采用各种单一技术来完成文档的存储和管理,不具有通用性和扩展性。本发明所述的方法通过利用目前RDB(关系型数据库)的强大能力以及独有的存储管理机制,建立起一套具有高度可扩展性的、可定制性的存储体系。采用本发明所述的方法,可以为软件开发商提供了一个通用的文档存储体系,基于该存储体系可以为各种各样的客户快速开发相关业务系统,减少了开发商的开发时间,降低了软件系统的开发成本,使开发商将更多的时间和精力花在为满足客户的个性化要求上,大大提高软件开发过程的针对性。
Description
技术领域
本发明属于计算机文档(或称作数据)存储、处理和管理技术领域,具体涉及一种基于关系型数据库的通用文档存储方法。
背景技术
随着信息技术的发展和计算机及网络的普及,在各行业及各单位出现了越来越多的计算机信息管理系统或业务系统。而目前很多行业的计算机信息管理系统、业务系统都是围绕文档的存储和处理进行的,如何合理、有效、便捷的存储这些文档就显得非常重要。这里的文档是计算机文档的简称,是指客户的实际数据,如各种稿件、文件、图片等内容,也是各种业务系统操作的主体数据,是经过处理的有保存价值的客户数据的抽象,因此也可以称作数据。现有技术中,虽然各行各业的各种信息管理系统(MIS)非常多,相关软件开发商采用的技术也是五花八门,譬如基于文件系统的、基于RDB(关系型数据库)的、基于Notes系统的等等;但是这些系统都是针对自身的特点设计的存储体系,缺乏足够的扩展性和通用性。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种能适用于各类信息管理或业务系统的具有高度可扩展性、可定制性的文档存储方法。
为达到以上目的,本发明采用的技术方案是:
一种基于关系型数据库的通用文档存储方法,包括以下步骤:
1)在信息处理装置中建立关系数据库,所有文档都存储在关系型数据库中;
2)建立并通过统一的文档类型管理模块实现文档类型的动态扩展;
3)建立并通过统一的文档库管理模块使文档存储具有可定制性和灵活性;
4)建立并通过统一的视图、文件夹模块实现了文档呈现方式上的扩展性和多样性;
5)建立并通过统一的对象模型,完成对于整个存储体系的封装,方便使用者。
更进一步,所述的统一的文档类型管理模块是指通过对于抽象出的文档类型的集中存储和管理,使系统文档的属性具有动态可扩展性。其功能包括:
(1)提供文档类型管理界面
(2)提供文档类型管理对象
(3)注册新文档类型
(4)为现有文档类型增加、删除、修改文档属性。
所述的统一的文档库管理模块是指集中管理的依据文档类型建立和管理存储用户文档的文档库,使系统具有根据实际需要,随时添加和修改文档库的能力。其功能包括:
(1)提供文档库管理界面
(2)提供文档库管理对象
(3)文档类型发生变化时更新现有文档库
(4)创建、修改、删除文档库。
统一的视图、文件夹模块是指通过视图、文件夹概念的实现,使用户可以动态管理文档库的用户呈现方式,在显示上具有高度的灵活性。所述的统一的视图模块的功能包括:
(1)提供视图管理界面
(2)提供视图访问对象
(3)提供视图公式管理界面
(4)提供视图公式访问对象
(5)创建、修改、删除视图。
所述的统一的文件夹模块的功能包括:
(1)提供文件夹管理界面
(2)提供文件夹管理对象
(3)创建、修改、删除文件夹。
统一的对象模型是指通过提供统一的对象模型,封装整个系统的具体实现,简化了外部访问和管理。其功能包括:
(1)为建立在通用文档存储技术平台上的外部应用提供一个统一的访问方式和对象模型;
(2)通过该对象模型和通用存储体系的其他模块的功能的结合,将动态扩展等特性很好封装。
本发明的效果在于:本发明为软件开发商提供了一个通用的文档存储体系,基于该存储体系可以为各种各样的客户快速开发相关业务系统,减少了开发商的开发时间,降低了软件系统的开发成本,使开发商将更多的时间和精力花在为满足客户的个性化要求上,大大提高软件开发过程的针对性。
本发明之所以具有上述显著的效果,其原因在于:对于各种信息管理系统而言,虽然它们不同用户之间在业务上会有很大差别,但是业务涉及到的数据(文档)以及对于文档存储的方式还是具有很高的相似性,拥有很多共同的特点。因此,一套符合这些要求和特点的通用文档存储方法可以帮助开发商在面对不同客户要求时能够灵活对应,极大的降低开发成本,将更多的开发精力集中于客户的个性化开发,更好的为客户服务。
附图说明
图1是基于RDB通用存储文档体系示意图;
图2是通用文档存储体系数据库表结构示意图;
图3是通用文档存储体系管理流程示意图;
图4是统一访问对象模型示意图;
图5是统一访问处理流程简单描述示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步的描述:
一、首先对本发明所涉及的一些概念和名词作一下解释
1、文档属性
文档的属性是指描述文档不同方面的各种属性数据,如对于图片文档,例如图片高度、宽度、大小等具体内容都是图片文档的文档属性;文档属性的类型可以区分为:整形数、字符串、日期、大字段(LOB)、浮点型;每个文档可以拥有多个文档属性。
2、文档类型
拥有相同文档属性的所有文档的通称为一个文档类型,一种文档类型就是定义一类具有相同文档属性的文档的数据结构。
3、流程记录
拥有了文档(即用户具体数据),业务系统会对文档进行必要的操作,如修改内容、修改属性等各种处理操作,详细记录一次操作的信息就是一条流程记录;文档数据加上其流程记录才能构成一个完整的有意义的数据。
4、文档库
依据文档类型创建的具体的数据库表,即每个文档属性都对应于一个数据库表的具体字段,每个文档都将作为一条具体的记录存储到关系型数据库中。
考虑到其它的需求,将文档库定义为一组二个物理表,统一命名和管理;其中一个表是存储具体的文档(其数据库表结构和文档类型对应);一个表的数据库结构是固定的,用来存储每个文档的流程操作记录。
5、文件夹
为了对统一文档库上的文档进行归类,建立了文件夹的概念,从功能上讲,与现有操作系统的文件系统上的文件夹的功能完全相同。
6、视图
对应于文件夹的概念,视图提供一种文档库上虚拟的文档归类,从功能上讲,与现有数据库系统的视图概念类似。文件夹体现的文档实际物理上的归类,而视图仅仅是在呈现的时候来归类。
二、设计实现模型
1、实现模型整体描述
如图1所示,一种基于关系型数据库的通用文档存储方法,包括以下步骤:
1)在信息处理装置中建立关系数据库,所有文档都存储在关系型数据库中;
2)建立并通过统一的文档类型管理模块实现文档类型的动态扩展;
3)建立并通过统一的文档库管理模块使文档存储具有可定制性和灵活性;
4)建立并通过统一的视图、文件夹模块实现了文档呈现方式上的扩展性和多样性;
5)建立并通过统一的对象模型,完成对于整个存储体系的封装,方便使用者。
所述的统一的文档类型管理模块是指通过对于抽象出的文档类型的集中存储和管理,使系统文档的属性具有动态可扩展性。
所述的统一的文档库管理模块是指集中管理的依据文档类型建立和管理存储用户文档的文档库,使系统具有根据实际需要,随时添加和修改文档库的能力。
统一的视图、文件夹模块是指通过视图、文件夹概念的实现,使用户可以动态管理文档库的用户呈现方式,在显示上具有高度的灵活性。
统一的对象模型是指通过提供统一的对象模型,封装整个系统的具体实现,简化了外部访问和管理。
2、数据库存储结构描述
如图2所示,图2显示了所有的相关数据的存储方式,虚线框内的部分是用户实际数据存储表,其他的表都是存储体系所需要的管理表。
DOM_DOCTYPE记录了所有的文档类型;DOM_DOCFIELDS记录每个文档类型的文档具体属性,需要特别指出的是在每个文档类型中可以将文档属性分作两部分:第一,存储体系为维护自身逻辑体系所必需的文档属性,包括了DOC_LIBID、DOM_FOLDERID、DOCUMENTID,这些字段必须拥有,是不可更改的,属于系统级的文档属性;第二,用户数据所需要的文档属性,可以通过管理模块动态的增加到该表并且实时更新所有以此文档类型创建的文档库的实际数据表的结构。
DOM_DOCLIBS表记录了所有创建起来的用户实际文档库表,即虚线框内的内容,每个文档类型可以创建多个文档库;文档库的命名方式与文档库的唯一ID相关,以此确保数据库表名的唯一性。每个文档在存入文档库的时候必须填写其所属文件夹。
DOM_FOLDER记录了每个文档库的文件夹的层次体系,文件夹下支持子文件夹;DOM_VIEW记录了每个文档库的视图体系,视图的父节点决定了该视图在呈现的时候属于那一个节点的子节点;DOM_FORMULA记录了每个视图公式的具体内容,视图公式采用伪SQL码的方式编写的SQL过滤条件。
3、管理流程描述
如图3所示,图3描述了通用文档存储体系的基本的管理过程。注册文档类型的过程就是建立一种新的文档类型并添加基本文档属性(即系统级文档属性),其他文档属性需要通过管理文档类型模块完成。为方便建立,在注册时可以根据一个完整的XML描述文档一次性将多个文档类型以及文档类型的所有文档属性加载入库,提高使用的方便性。
在修改文档类型的时候,如果对于已经有依据该文档类型创建的文档库存在,此时需要DOM_DOCLIBS的相关字段(DOM_LIBSTATUS)设置标记,在修改完成后统一根据最新的文档类型的文档属性修改这些文档库(利用数据库的ALTER TABLE功能),以此达到了支持动态增加文档属性的功能。
文档库管理中利用数据库Create Table来动态创建数据库表,实现新建文档库;而对文档库的修改仅仅修改文档库的显示名称,而对于实际的物理存储表不需要作出任何变化;删除文档库时虽然在删除管理数据的同时也可以将实际物理存储表删除掉,但为了防止因为意外删除造成用户数据丢失,实际物理表将通过数据库管理员在确认的情况下手工删除。
文件夹管理的功能相对单一,在创建文件夹时需要选定其父文件夹,同级文件夹之间存在显示顺序。
视图管理中需要完成对应每个视图的视图公式的管理,视图和视图公式可以是多对一的关系,每个视图必须拥有一个视图公式,视图公式的伪SQL语法在转换后将成为SQL的WHERE子句的一部分。
4、统一访问对象模型及流程描述
如图4所示,图4显示了实现统一访问的对象模型,该对象模型需要配套的应用体系来实现,具体实现方式包含很多种,如J2EE体系、.Net体系等,只要支持基本的面向对象的特性就能够胜任该对象模型。
如图5所示,图5显示了一个外部应用如何通过统一访问对象来查询文档的过程,外部应用在查询的过程中需要传入必要的参数,如那个文档库、具体查询条件等条件,统一访问对象模块将根据内部规则决定到底应该查询那个物理表,这里需要更进一步指出如果查询是在视图上进行,统一访问对象将完成视图公式的伪码转换工作并和现有的条件合成后形成最终的查询条件。
5、通用文档存储技术体系的特点
通过支持文档类型的文档属性的动态增删就实现了文档存储上的可扩展性。
通过在不需重新开发的情况下可以自由增加、修改文件夹和视图的方式实现了文档呈现上的可定制性。
通过提供统一的文档访问模块将文档属性的变化、文件夹视图的变化统一封装在该模块内,提供了一种统一的访问机制。
三、主要模块具体功能
1、文档类型管理模块
该模块主要功能包括:
(1)提供文档类型管理界面
(2)提供文档类型管理对象
(3)注册新文档类型
(4)为现有文档类型增加、删除、修改文档属性
2、文档库管理模块
该模块的主要功能包括:
(1)提供文档库管理界面
(2)提供文档库管理对象
(3)文档类型发生变化时更新现有文档库
(4)创建、修改、删除文档库
3、文件夹管理模块
该模块的主要功能包括:
(1)提供文件夹管理界面
(2)提供文件夹管理对象
(3)创建、修改、删除文件夹
4、视图管理模块
该模块的主要功能包括:
(1)提供视图管理界面
(2)提供视图访问对象
(3)提供视图公式管理界面
(4)提供视图公式访问对象
(5)创建、修改、删除视图
5、统一访问对象模块
该模块的主要功能包括:
(1)为建立在通用文档存储技术平台上的外部应用提供一个统一的访问方式和对象模型;
(2)通过该对象模型和通用存储体系的其他模块的功能的结合,将动态扩展等特性很好封装。
基于上述的实施方式,在新华社多媒体数据库内外库服务系统,新华社多媒体编辑系统具体应用了本发明所述的基于关系型数据库的通用文档存储方法。
具体实施的步骤为:
首先采用Oracle9i作为后台RDB(关系型数据库)的存储平台,分别以Oracle IAS和IBM WebSphere作为应用服务器平台,基于J2EE框架,使用Java/JSP/Servlet相关的面向对象技术实现了存储体系。
具体过程为:
1、利用关系型数据Oracle 9i,为新华社创建了四种文档类型,分别为纯文本、多媒体混编稿文档类型;图片文档类型;音频文档类型;视频文档类型;各文档类型的具体字段这里不作详细描述,基本是能够与新华社XinhuaML的逐一对应。
2、在上述四种文档类型基础上,建立了五个具体的文档库;分别为纯文本、多媒体混编稿的编辑临时文档库;纯文本、多媒体混编稿的成品文档库;图片成品文档库;音频成品文档库;视频成品文档库。
3、在五个文档库上分别部署了文件夹,编辑临时文档库上根据业务需要部署了十三个文件夹,其余的文档都部署了一个文件夹。
4、基于J2EE框架和Java语言,实现了统一的对象模型的编码,编辑系统需要和存储体系的交互都通过该对象模型进行。
5、在实际使用中,由于业务调整和XinhuaML的变化比较频繁,借助于存储体系的可扩展性和灵活性,在不需要修改代码的情况下相对轻松的完成系统的调整,而不需要对系统进行大规模的改造。
通过实施例可以看出本发明所具有的显著效果是:本发明通过文档类型、文档库的机制实现了文档的可扩展存储;通过文件夹、视图的机制实现了文档展示与管理上的可定制性;通过统一的访问对象确保了存储体系的具有很好的封装能力,简化使用过程。
Claims (9)
1.一种基于关系型数据库的通用文档存储方法,包括以下步骤:
1)在信息处理装置中建立关系数据库,所有文档都存储在关系型数据库中;
2)建立并通过统一的文档类型管理模块实现文档类型的动态扩展;
3)建立并通过统一的文档库管理模块使文档存储具有可定制性和灵活性;
4)建立并通过统一的视图、文件夹模块实现了文档呈现方式上的扩展性和多样性;
5)建立并通过统一的对象模型,完成对于整个存储体系的封装,方便使用者。
2.如权利要求1所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的文档类型管理模块是指通过对于抽象出的文档类型的集中存储和管理,使系统文档的属性具有动态可扩展性。
3.如权利要求2所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的文档类型管理模块的功能包括:
(1)提供文档类型管理界面
(2)提供文档类型管理对象
(3)注册新文档类型
(4)为现有文档类型增加、删除、修改文档属性。
4.如权利要求1所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的文档库管理模块是指集中管理的依据文档类型建立和管理存储用户文档的文档库,使系统具有根据实际需要,随时添加和修改文档库的能力。
5.如权利要求4所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的文档库管理模块的功能包括:
(1)提供文档库管理界面
(2)提供文档库管理对象
(3)文档类型发生变化时更新现有文档库
(4)创建、修改、删除文档库。
6.如权利要求1所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的视图、文件夹模块是指通过视图、文件夹概念的实现,使用户可以动态管理文档库的用户呈现方式,在显示上具有高度的灵活性。
7.如权利要求6所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的视图模块的功能包括:
(1)提供视图管理界面
(2)提供视图访问对象
(3)提供视图公式管理界面
(4)提供视图公式访问对象
(5)创建、修改、删除视图。
8.如权利要求6所述的一种基于关系型数据库的通用文档存储方法,其特征是:所述的统一的文件夹模块的功能包括:
(1)提供文件夹管理界面
(2)提供文件夹管理对象
(3)创建、修改、删除文件夹。
9.如权利要求1所述的一种基于关系型数据库的通用文档存储方法,其特征是:统一的对象模型是指通过提供统一的对象模型,封装整个系统的具体实现,简化了外部访问和管理,其功能包括:
(1)为建立在通用文档存储技术平台上的外部应用提供一个统一的访问方式和对象模型;
(2)通过该对象模型和通用存储体系的其他模块的功能的结合,将动态扩展等特性很好封装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410083922 CN1588372A (zh) | 2004-10-12 | 2004-10-12 | 基于关系型数据库的通用文档存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410083922 CN1588372A (zh) | 2004-10-12 | 2004-10-12 | 基于关系型数据库的通用文档存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1588372A true CN1588372A (zh) | 2005-03-02 |
Family
ID=34605144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410083922 Pending CN1588372A (zh) | 2004-10-12 | 2004-10-12 | 基于关系型数据库的通用文档存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1588372A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100401298C (zh) * | 2005-10-12 | 2008-07-09 | 华为技术有限公司 | 对系统数据进行管理的方法和系统 |
CN103377038A (zh) * | 2012-04-11 | 2013-10-30 | 怡丰联合(北京)科技有限责任公司 | 自定义表单的描述及表单解析方法 |
CN101606151B (zh) * | 2007-12-06 | 2015-09-02 | 林浔屏 | 建立关系型表格数据库的方法和装置 |
CN107103023A (zh) * | 2016-02-22 | 2017-08-29 | 奥多比公司 | 使用自动生成的存储层级组织电子存储的文件 |
CN109582826A (zh) * | 2018-11-27 | 2019-04-05 | 广东智源信息技术有限公司 | 一种基于通用表存储及xml的移动数据业务存储交换方法 |
CN111444517A (zh) * | 2019-01-17 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
-
2004
- 2004-10-12 CN CN 200410083922 patent/CN1588372A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100401298C (zh) * | 2005-10-12 | 2008-07-09 | 华为技术有限公司 | 对系统数据进行管理的方法和系统 |
CN101606151B (zh) * | 2007-12-06 | 2015-09-02 | 林浔屏 | 建立关系型表格数据库的方法和装置 |
CN103377038A (zh) * | 2012-04-11 | 2013-10-30 | 怡丰联合(北京)科技有限责任公司 | 自定义表单的描述及表单解析方法 |
CN103377038B (zh) * | 2012-04-11 | 2016-12-28 | 怡丰联合(北京)科技有限责任公司 | 自定义表单的描述及表单解析方法 |
CN107103023A (zh) * | 2016-02-22 | 2017-08-29 | 奥多比公司 | 使用自动生成的存储层级组织电子存储的文件 |
CN107103023B (zh) * | 2016-02-22 | 2022-12-02 | 奥多比公司 | 使用自动生成的存储层级组织电子存储的文件 |
CN109582826A (zh) * | 2018-11-27 | 2019-04-05 | 广东智源信息技术有限公司 | 一种基于通用表存储及xml的移动数据业务存储交换方法 |
CN111444517A (zh) * | 2019-01-17 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
CN111444517B (zh) * | 2019-01-17 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199104C (zh) | 往返式软件设计的方法与装置 | |
CN1112642C (zh) | 配置工具中的设计部件复用方法 | |
CN1277231C (zh) | 从远程数据源加载数据 | |
CN1967560A (zh) | 业务操作权限控制方法、关系数据库的生成方法 | |
CN1875358A (zh) | 用于在单个语句中更改集值和标量值列的sql语言扩展 | |
CN1229944A (zh) | 用于减少预装类的脚印的系统和方法 | |
CN1804840A (zh) | 数据访问层类生成器 | |
CN1519751A (zh) | 生成结构模式候选对象的方法、系统和程序 | |
CN1647080A (zh) | 多数据库环境中存取数据的方法、计算机程序和计算机 | |
CN1759389A (zh) | 利用虚拟文件夹的系统和方法 | |
CN1670708A (zh) | 一种计算机日志的管理方法 | |
CN1961313A (zh) | 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统 | |
CN1841379A (zh) | 将文件系统模型映射到数据库对象 | |
CN1263314A (zh) | 一种动态的基于对象格式的用于数据操纵的系统和方法 | |
CN1761962A (zh) | 将非结构化数据实时聚集为结构化数据以便关系数据库引擎进行sql处理 | |
CN1629823A (zh) | 生成内容地址以指示即将写入存储系统的数据单元的方法和设备 | |
CN1877523A (zh) | 一种支持异构构件的构件库统一管理方法 | |
CN1955958A (zh) | 一种基于目录树的分类数据存储及分类目录查询方法 | |
US6615204B1 (en) | Method and system for hybrid mapping of objects into a relational data base to provide high-speed performance and update flexibility | |
CN1516839A (zh) | 个性化服务器统一用户特征集 | |
CN1271441A (zh) | 一种关于数据库的方法 | |
CN1251088C (zh) | 目标集成管理系统 | |
CN1140500A (zh) | 分布式数据库系统 | |
CN1545048A (zh) | 一种用二维表实现的树的存储、访问的方法 | |
CN1393793A (zh) | 实现网络教学资源应用和更新的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |