CN110858200B - 一种记录数据库信息的方法、装置和系统 - Google Patents

一种记录数据库信息的方法、装置和系统 Download PDF

Info

Publication number
CN110858200B
CN110858200B CN201810965042.7A CN201810965042A CN110858200B CN 110858200 B CN110858200 B CN 110858200B CN 201810965042 A CN201810965042 A CN 201810965042A CN 110858200 B CN110858200 B CN 110858200B
Authority
CN
China
Prior art keywords
information
record
version
database
version information
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.)
Active
Application number
CN201810965042.7A
Other languages
English (en)
Other versions
CN110858200A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810965042.7A priority Critical patent/CN110858200B/zh
Publication of CN110858200A publication Critical patent/CN110858200A/zh
Application granted granted Critical
Publication of CN110858200B publication Critical patent/CN110858200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种记录数据库信息的方法,以及一种记录数据库信息的装置和系统。其中,记录数据库信息的方法包括:通过获取需要处理的数据库的业务表,将业务表的当前结构信息存储至数据库表结构的定义表中,生成相应记录,并使用版本信息进行标识,将业务表的当前数据信息存储至实例表中,也生成相应记录,同样使用版本信息进行标识,将上述版本信息和版本信息的创建时间记录到版本记录表中。通过将数据库中业务表信息分别存储至定义表和实例表中,并用版本信息进行一一标识,使得基于数据库开发的应用程序可以自动识别数据库新版本和旧版本的差异项,通过版本记录表快速的找到需要的数据库信息,有效的提高了数据库管理和使用的效率。

Description

一种记录数据库信息的方法、装置和系统
技术领域
本发明涉及数据库的管理领域,具体涉及一种记录数据库数据信息的方法。本发明同时涉及一种记录数据库数据信息的装置和系统。
背景技术
基于数据库开发的应用程序,经常会遇到需求的频繁变化导致数据库的维护变得繁琐,当需求变化时需要对已有的数据库的版本信息进行人为调整和维护,不仅操作繁琐而且容易出错,一旦出现错误,轻则应用程序运行异常,重则导致数据库存储的数据信息丢失或损坏。
为了解决上述问题,本领域现有技术通常的思路是对数据库存储的信息进行备份,当要寻找数据库中存储的信息时,将备份的数据库的全部数据信息进行还原,再从中找出存储过程或业务表结构信息备份记录。这种方式在使用过程中存在很多问题,首先,需要查看历史数据库的数据信息的时候去还原备份非常麻烦,其次,随着开发的进行,谁在什么时间改了什么数据库数据信息或结构,必须将一段时间内的备份都还原了再进行查找,这个过程比较繁琐也非常浪费时间和精力,如果时间间隔过长,变更的数据信息或结构信息将很难找回。
本领域中另一常用方式是一种基于文本版本管理工具的数据库多版本管理方法,这种方式是将数据库中存储的数据的历史版本信息转换为文本信息,存储在文本管理工具中,数据库只保留当前数据库中存储的数据的版本信息。当需要新的数据库版本时,将当前的数据库中存储的数据信息转换为文本信息,提交到版本管理工具中,当需要切换到某一数据库版本时,从版本管理工具中获取文本信息,转换为数据库中存储的数据信息。通过引入额外的版本管理工具,每个应用程序都需要对数据库存储的数据信息和版本管理工具中的文本信息进行相互转换,但是,当存储的信息较大时,转换过程同样比较繁琐且耗时。
发明内容
本发明提供一种记录数据库信息的方法,以解决现有数据库管理过程中存在的管理过程繁琐且耗时的问题。本发明另外提供一种记录数据库信息的装置和系统。
本申请提供的一种记录数据库信息的方法,包括:
获取需要处理的数据库的业务表;
将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表;
将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识;
在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间。
可选的,所述定义表包括对象定义表、属性定义表和关系定义表;
所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,具体包括:
将所述当前业务表的表信息存储至数据库表结构的对象定义表中,在所述对象定义表中生成对应表信息的记录,并使用第一版本信息对所述表信息的记录进行标识;
将所述当前业务表的字段信息存储至数据库表结构的属性定义表中,在所述属性定义表中生成对应所述字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;
将所述当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在所述关系定义表中生成对应所述关联关系信息的记录,并使用第一版本信息对所述关联关系信息的记录进行标识。
可选的,所述实例表包括对象实例表、属性实例表和关系实例表;
所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,具体包括:
将所述当前业务表的所有数据信息存储至所述对象实例表中,在所述对象实例表中生成对应所述所有数据的记录,并使用第二版本信息对所述所有数据信息的记录进行标识;
将所述当前业务表的每条数据信息存储至所述属性实例表中,在所述属性实例表中生成对应所述每条数据信息的记录,并使用第二版本信息对所述每条数据信息的记录进行标识;
将所述当前业务表的数据之间的关联关系信息存储至所述关系实例表中,在所述关系实例表中生成对应所述数据之间的关联关系信息的记录,并使用第二版本信息对所述数据之间的关联关系信息的记录进行标识。
可选的,所述数据库表结构还包括当前版本记录表,所述当前版本记录表用于记录所述当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息。
可选的,所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,还包括:
当所述当前业务表的结构信息发生改变时,在所述数据库表结构的定义表中生成第三记录,并使用第三版本信息对所述第三记录进行标识。
可选的,所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,还包括:
当所述当前业务表的数据信息发生改变时,在所述数据库表结构的实例表中生成第四记录,并使用第四版本信息对所述第四记录进行标识。
可选的,所述在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间,还包括:
当所述业务表的结构发生改变时,在所述版本记录表中继续记录所述第三版本信息,并记录所述第三版本信息的创建时间;
当所述业务表的数据发生改变时,在所述版本记录表中继续记录所述第四版本信息,并记录所述第四版本信息的创建时间;
当所述业务表的结构和数据都发生改变时,在所述版本记录表中继续记录所述第五版本信息,并记录所述第五版本信息的创建时间。
可选的,所述当前版本记录表用于记录所述当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息,包括:
当需要将当前业务表切换为指定业务表时,根据所述版本记录表中记录的所述创建时间,将所述当前版本记录表中记录的所述当前业务表的结构信息对应的第一版本信息和/或所述当前业务表的数据信息对应的第二版本信息切换为所述版本记录表中记录的指定业务表的结构信息对应的版本信息和/或数据信息对应的版本信息。
相应的,本申请还提供一种记录数据库信息的装置,包括:
获取单元,用于获取需要处理的数据库的业务表;
第一标识单元,将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表;
第二标识单元,将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识;
记录单元,在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间。
可选的,所述定义表包括对象定义表、属性定义表和关系定义表;
所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,具体包括:
将所述当前业务表的表信息存储至数据库表结构的对象定义表中,在所述对象定义表中生成对应表信息的记录,并使用第一版本信息对所述表信息的记录进行标识;
将所述当前业务表的字段信息存储至数据库表结构的属性定义表中,在所述属性定义表中生成对应所述字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;
将所述当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在所述关系定义表中生成对应所述关联关系信息的记录,并使用第一版本信息对所述关联关系信息的记录进行标识。
可选的,所述实例表包括对象实例表、属性实例表和关系实例表;
所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,具体包括:
将所述当前业务表的所有数据信息存储至所述对象实例表中,在所述对象实例表中生成对应所述所有数据的记录,并使用第二版本信息对所述所有数据信息的记录进行标识;
将所述当前业务表的每条数据信息存储至所述属性实例表中,在所述属性实例表中生成对应所述每条数据信息的记录,并使用第二版本信息对所述每条数据信息的记录进行标识;
将所述当前业务表的数据之间的关联关系信息存储至所述关系实例表中,在所述关系实例表中生成对应所述数据之间的关联关系信息的记录,并使用第二版本信息对所述数据之间的关联关系信息的记录进行标识。
可选的,所述数据库表结构还包括当前版本记录表,所述当前版本记录表用于记录所述当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息。
可选的,所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,还包括:
当所述当前业务表的结构信息发生改变时,在所述数据库表结构的定义表中生成第三记录,并使用第三版本信息对所述第三记录进行标识。
可选的,所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,还包括:
当所述当前业务表的数据信息发生改变时,在所述数据库表结构的实例表中生成第四记录,并使用第四版本信息对所述第四记录进行标识。
可选的,所述在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间,还包括:
当所述业务表的结构发生改变时,在所述版本记录表中继续记录所述第三版本信息,并记录所述第三版本信息的创建时间;
当所述业务表的数据发生改变时,在所述版本记录表中继续记录所述第四版本信息,并记录所述第四版本信息的创建时间;
当所述业务表的结构和数据都发生改变时,在所述版本记录表中继续记录所述第五版本信息,并记录所述第五版本信息的创建时间。
可选的,所述当前版本记录表用于记录所述当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息,包括:
当需要将当前业务表切换为指定业务表时,根据所述版本记录表中记录的所述创建时间,将所述当前版本记录表中记录的所述当前业务表的结构信息对应的第一版本信息和/或所述当前业务表的数据信息对应的第二版本信息切换为所述版本记录表中记录的指定业务表的结构信息对应的版本信息和/或数据信息对应的版本信息。
相应的,本申请还提供一种记录数据库信息的系统,包括:上述权利要求9-16任意一项所述的记录数据库信息的装置。
与现有技术相比,本申请具有以下优点:
本申请提供一种记录数据库信息的方法,具体而言是一种记录数据库信息的方法。通过获取需要处理的数据库的当前业务表,将当前业务表的结构信息存储至数据库表结构的定义表中,生成相应记录,并使用版本信息进行标识,将当前业务表的数据信息存储至实例表中,也生成相应记录,同样使用版本信息进行标识,将上述版本信息和版本信息的创建时间记录到版本记录表中。通过将数据库中业务表信息分别存储至定义表和实例表中,并用版本信息进行一一标识,使得基于数据库开发的应用程序可以自动识别数据库新版本和旧版本的差异信息,通过版本记录表方便、快速的查找到需要的数据库中存储的数据信息,有效的提高了数据库管理和使用的效率,节省了大量时间,并且提高了应用程序的稳定性和数据库中数据信息的安全性。
附图说明
图1为本申请的记录数据库信息的方法的实施例流程图;
图2为本申请的记录数据库信息的装置的实施例示意图;
图3为本申请的记录数据库信息的系统的实施例示意图;
图4为本申请的记录数据库信息的系统的定义表实施例示意图;
图5为本申请的记录数据库信息的系统的实例表实施例示意图;
图6为本申请定义的数据库表结构的实施例示意图;
图7为本申请的MOF模型架构的实施例示意图;
图8为本申请的记录学生姓名的二维业务表的实施例结构图;
图9为本申请的记录学生成绩的二维业务表的实施例结构图;
图10为本申请的对象定义表的实施例结构图;
图11为本申请的属性定义表的实施例结构图;
图12为本申请的关系定义表的实施例结构图;
图13为本申请的对象实例表的实施例结构图;
图14为本申请的属性实例表的实施例结构图;
图15为本申请的关系实例表的实施例结构图;
图16为本申请的版本记录表的实施例示意图;
图17为本申请的版本记录表的实施例结构图;
图18为本申请的当前版本记录表的实施例示意图;
图19为本申请的当前版本记录表的实施例结构图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此,本发明不受下面公开的具体实施的限制。
下面基于本申请记录数据库信息的方法,对其实施例进行详细描述。此外,在下面的描述中,将分别针对本方法的各个步骤进行详细的说明。请参考图1,其为本申请的记录数据库信息的方法的实施例流程图。
在本实施例中,记录数据库信息的方法包括如下步骤:
步骤S101:获取需要处理的数据库的业务表。
在本实施例中,数据库是指采用了关系模型来组织业务表结构信息和数据信息的数据库,关系模型指的就是二维业务表模型,而一个数据库就是由二维业务表及其之间的联系组成的一个数据组织。关系可以理解为一张二维业务表,每个关系都具有一个关系名,就是通常说的表名。元组可以理解为二维业务表中的一行,在数据库中经常被称为记录。属性可以理解为二维业务表中的一列,在数据库中经常被称为字段。属性的取值范围也就是数据库中某一列的取值限制,在数据库管理或使用过程中,根据用户定义的关系来的存储、处理、和管理数据库存储的数据信息。
数据库中业务表的结构和数据的关系也就是本实施例中定义的数据库表结构中的模型和实例的关系,可以是一对一、多对一、一对多、多对多的关系,在一般情况下是一对一的关系:即一张表对应了实例的所有基本属性。在对数据库进行管理实际上就是对其中业务表的结构信息和数据信息进行管理,可以对每张业务表定义一个唯一标识该业务表的主键,即,该业务表的编号为主键。
在本实施例中,数据库版本是指对数据库中业务表的结构信息或者数据信息的每一次变更可以称为获得一个数据库版本。其中数据库中业务表的每一行代表一个对象,每一行所有的列代表一个对象的所有属性,每一列固定存储某一类型的数据。
基于以上的数据库设计的基础特性,在数据库管理过程中,如果一个实例的基本属性不会太多,通常会把一个实例的属性都保存在一个表中,并且设立一个主键,让它和外部的数据产生关联,但是应用程序的开发从来不是一蹴而就过程,无论开发阶段还是维护阶段,都可能发生数据库中业务表的数据和结构的变更,例如,对象实例的属性变更,或增加,或减少,或属性基本类型的变化。
请参考图8-9,其分别为本申请的记录学生姓名的二维业务表的实施例结构图和记录学生成绩的二维业务表的实施例结构图,两张表的表名分别为student表和grade表,用于记录学生的姓名和成绩。其中,学生姓名包括Tom和Jim,学生的成绩包括grade_chinese和grade_english,现需要将上述两张二维业务表包含的数据信息存储至基于MOF元模型的数据库表结构中,该数据库表结构是一套抽象的MOF元模型结构,可以支持多个应用程序的数据信息存储。每个应用程序都可以把自身业务表的表结构存储到数据库表结构的定义表中,其中,对象定义表、属性定义表和关系定义表分别对应业务表、字段和关联关系,而业务表中的具体数据存储至对象实例表、属性实例表和关系实例表中,每条结构信息和数据信息都标识有版本号。
请参考图16-17,其分别为本申请的版本记录表的实施例示意图和版本记录表的实施例结构图。在本实施例中,定义的数据库表结构还包括版本记录表,版本记录表用于记录业务表在结构信息或者数据信息发生变化时产生的所有版本信息,并记录每个版本信息创建的时间。
另外,请参考图18-19,其分别为本申请的当前版本记录表的实施例示意图和当前版本记录表的实施例结构图。本实施例中的数据库表结构还包括当前版本记录表,用于指定当前数据库中存储的版本信息并用版本号进行标识,同时,记录切换为当前数据库版本的切换时间。
在本实施例中,当需要创建新的数据库版本时,可以根据用户请求创建的指定版本创建新的数据库版本,将拷贝该版本的所有数据信息,并将拷贝的数据信息用新的版本号进行标识,然后将新的数据库版本在当前版本记录表中指定为当前数据库版本,完成新数据库版本的创建。例如,基于1.0.0创建2.0.0版本,需要将数据库表结构的定义表和实例表中存储的所有版本号为1.0.0数据信息拷贝一份出来,并将版本号2.0.0进行标识。
当需要将数据库的当前版本切换为指定版本,只需要将当前版本记录表中记录的数据库版本信息修改为指定数据库版本信息即可,所述的指定数据库版本信息可以在版本记录表中根据创建时间信息快速查询得到,同时,数据信息查询或修改请求将作用于新数据库版本存储的数据信息。
步骤S102:将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表。请参考图6-7,其为本申请定义的数据库表结构的实施例示意图和MOF模型架构的实施例示意图。
在本实施例中,基于MOF元模型定义了一套数据库表结构,可以将数据库中业务表的结构信息和数据信息存储至该数据库表结构中,并且每条结构信息和数据信息上添加相应的版本号,不同版本信息可以在该数据库表结构中共存。其中,还包括一个版本记录表用于依次记录新旧版本的版本号和版本创建的时间信息。另有一个当前版本记录表用于指定数据库当前版本信息对应的版本号,每次查询或修改结构或数据时都只查询该版本号对应的当前数据库版本的版本信息。当基于数据库中某个业务表版本创建新的业务表版本时,只需要拷贝一份该版本的结构信息或数据信息以新的版本号标识该结构信息或数据信息,并将当前版本记录表记录的当前版本指向新的版本号对应的数据库版本信息。
将传统的业务表结构信息和数据信息储存至基于元模型的数据库表结构中,请参考图4-5,其分别为本申请的记录数据库信息的系统的定义表实施例示意图和实例表实施例示意图。其中,定义表包含的对象定义表、属性定义表和关系定义表用于保存业务表结构的相关信息,MOF元模型结构包括对象、模型、元模型和元元模型四层结构。
请参考图10-12,其分别为本申请的对象定义表的实施例结构图、属性定义表的实施例结构图和关系定义表的实施例结构图;
具体而言,mate_object为对象定义表,每张业务表都会在此表中有一条相应的记录,name表示业务表的表名。
meta_attribute为属性定义表,业务表中的每个字段会在此表中有一条对应的记录,name表示业务表的字段名,type表示业务表的字段数据类型。
mate_association为关系定义表,业务表之间的每个关联关系在此表中有一条对应的记录,type字段表示关联关系的类型(1:1、1:N、N:1、N:N),source_obj表示源对象,target_obj表示目标对象。
其中,需要说明的是,对象定义表中的每条记录在属性定义表和关系定义表中均可以对应多条记录。一张业务表对应对象定义表中的一条记录,一张业务表包含多条字段对应属性定义表中的多条记录,多张业务表之间的多个关联关系在关系定义表中对应多条记录。
在本实施例中,将数据库中当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对第一记录进行标识,具体是指,将当前业务表的表信息存储至数据库表结构的对象定义表中,在对象定义表中生成对应表信息的记录,并使用第一版本信息对表信息的记录进行标识;将当前业务表的字段信息存储至数据库表结构的属性定义表中,在属性定义表中生成对应字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;将当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在关系定义表中生成对应关联关系信息的记录,并使用第一版本信息对关联关系信息的记录进行标识。
当然,在当前业务表的结构信息发生改变时,在数据库表结构的定义表中会继续生成第三记录,并使用第三版本信息对第三记录进行标识,需要说明的是,第一记录和第三记录在数据库表结构中可以共存,第一版本信息和第三版本信息在版本记录表中生成相应的记录,同时记录不同版本的创建时间,从而便于数据库版本进行整体回滚、切换,灵活的管理和使用数据。
步骤S103:将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识。
在本实施例中,将传统的业务表结构信息和数据信息储存至基于MOF元模型的数据库表结构中,请参考图4,其为本申请定义的数据库表结构的实施例示意图,其中,实例表包含的对象实例表、属性实例表和关系实例表用于保存业务表数据的相关信息。
请参考图13-15,其分别为本申请的对象实例表的实施例结构图、属性实例表的实施例结构图和关系实例表的实施例结构图
具体而言,object_inst为对象实例表,针对业务表中的所有数据在对象实例表中生成相应的记录。
attribute_inst为属性实例表,用于保存业务表中每个字段的具体数据,针对每条数据在属性实例表中生成相应的记录。
association_inst为关系实例表,用于保存业务表中的每个数据之间的关联关系,并生成相应的记录。
其中,需要说明的是,对象实例表中的每条记录在属性实例表和关系实例表中也均可以对应多条记录,对象实例表中的一条记录可以代表一张业务表的所有数据,每条记录对应的所有具体数据保存在属性实例表中并生成相应的记录,这条记录所对应的具体数据之间的关联关系保存在关系实例表中。
在本实施例中,将当前业务表的数据信息存储至实例表中,生成第二记录,并使用第二版本信息对第二记录进行标识,具体是指,将当前业务表的所有数据信息存储至对象实例表中,在对象实例表中生成对应所有数据的记录,并使用第二版本信息对所有数据信息的记录进行标识;将当前业务表的每条数据信息存储至属性实例表中,在属性实例表中生成对应每条数据信息的记录,并使用第二版本信息对每条数据信息的记录进行标识;将当前业务表的数据之间的关联关系信息存储至关系实例表中,在关系实例表中生成对应数据之间的关联关系信息的记录,并使用第二版本信息对数据之间的关联关系信息的记录进行标识。
同样,在当前业务表的数据信息发生改变时,在数据库表结构的实例表中继续生成第四记录,并使用第四版本信息对第四记录进行标识。需要说明的是,第二记录和第四记录在数据库表结构中可以共存,第二版本信息和第四版本信息在版本记录表中生成相应的记录,并记录不同版本的创建时间,从而便于对数据库版本进行管理。
步骤S104:在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间。
在本实施例中,将数据库中业务表存储的信息分为结构信息和数据信息,将结构信息存储至数据库表结构的定义表中,针对每条结构信息在定义表中生成相应的记录,并使用第一版本信息对当前业务表的结构信息进行版本标识,将数据信息存储至数据库表结构的实例表中,针对每条数据信息在实例表中生成相应的记录,并使用第二版本信息当前业务表的数据信息进行版本标识。其中,第一版本信息是记录在定义表中与当前业务表的结构信息对应的第一版本信息,第二版本信息是记录在实例表中与当前业务表的数据信息对应的第二版本信息。
需要说明的是,当业务表的结构发生改变时,在版本记录表中继续记录第三版本信息,并记录第三版本信息的创建时间;当业务表的数据发生改变时,在版本记录表中继续记录第四版本信息,并记录第四版本信息的创建时间;当业务表的结构和数据都发生改变时,在版本记录表中继续记录第五版本信息,并记录第五版本信息的创建时间。
另外,数据库表结构还包括当前版本记录表,当前版本记录表用于记录当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息,并用版本号进行标识。
当然,在用户需要将当前业务表切换为指定业务表时,根据版本记录表中记录的创建时间,将当前版本记录表中记录的当前业务表的结构信息对应的第一版本信息或当前业务表的数据信息对应的第二版本信息切换为版本记录表中记录的指定业务表的结构信息对应的版本信息或数据信息对应的版本信息。
需要说明的是,在本实施例中所述的版本记录表不仅仅限于记录本实施例披露的第一版本信息至第五版本信息,当数据库中业务表的结构或数据继续发生改变时,版本记录表将依次往下记录,并生成对应每个版本的创建时间信息。
与上述的记录数据库信息的方法相对应,本申请还提供一种记录数据库信息的装置,上述记录数据库信息的方法可以应用于该装置,请参见图2,其为本申请的记录数据库信息的装置的实施例示意图。由于本装置实施例相似于方法实施例,所以描述的比较简单,相关之处请参见系统实施例部分说明即可,下面描述装置实施例仅是示意性的。
在本实施例中,记录数据库信息的装置包括如下部分:
获取单元201,用于获取需要处理的数据库的业务表。
第一标识单元202,将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表。
在本实施例中,将数据库中当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对第一记录进行标识,具体是指,将当前业务表的表信息存储至数据库表结构的对象定义表中,在对象定义表中生成对应表信息的记录,并使用第一版本信息对表信息的记录进行标识;将当前业务表的字段信息存储至数据库表结构的属性定义表中,在属性定义表中生成对应字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;将当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在关系定义表中生成对应关联关系信息的记录,并使用第一版本信息对关联关系信息的记录进行标识。
需要说明的是,当前业务表的结构信息发生改变时,在数据库表结构的定义表中继续生成第三记录,并使用第三版本信息对第三记录进行标识。
在本实施例中定义的数据库表结构还包括版本记录表,当数据库中业务表的结构发生改变时,在版本记录表中继续记录第三版本信息,并记录第三版本信息的创建时间;当业务表的数据发生改变时,在版本记录表中继续记录第四版本信息,并记录第四版本信息的创建时间;当业务表的结构和数据都发生改变时,在版本记录表中继续记录第五版本信息,并记录第五版本信息的创建时间。
第二标识单元203,将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识。
在本实施例中,将当前业务表的数据信息存储至实例表中,生成第二记录,并使用第二版本信息对第二记录进行标识,具体是指,将当前业务表的所有数据信息存储至对象实例表中,在对象实例表中生成对应所有数据的记录,并使用第二版本信息对所有数据信息的记录进行标识;将当前业务表的每条数据信息存储至属性实例表中,在属性实例表中生成对应每条数据信息的记录,并使用第二版本信息对每条数据信息的记录进行标识;将当前业务表的数据之间的关联关系信息存储至关系实例表中,在关系实例表中生成对应数据之间的关联关系信息的记录,并使用第二版本信息对数据之间的关联关系信息的记录进行标识。
当然,在当前业务表的数据信息发生改变时,在数据库表结构的实例表中会继续生成第四记录,并使用第四版本信息对所述第四记录进行标识。
记录单元204,在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间。
在本实施例中,数据库表结构还包括当前版本记录表,当前版本记录表用于记录当前业务表的结构信息对应的第一版本信息和数据信息对应的第二版本信息。
需要说明的是,当需要将当前业务表切换为指定业务表时,根据版本记录表中记录的创建时间,将当前版本记录表中记录的当前业务表的结构信息对应的第一版本信息或当前业务表的数据信息对应的第二版本信息切换为版本记录表中记录的指定业务表的结构信息对应的版本信息或数据信息对应的版本信息。
与上述提供的一种记录数据库信息的方法和装置相对应的,本申请实施例还提供一种记录数据库信息的系统,包括:上述权利要求上述实施例所述的记录数据库信息的装置。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (13)

1.一种记录数据库信息的方法,其特征在于,包括:
获取需要处理的数据库的当前业务表;
将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表;
将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识;
在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间;
其中,所述数据库表结构还包括当前版本记录表,当需要将当前业务表切换为指定业务表时,根据所述版本记录表中记录的所述创建时间,将所述当前版本记录表中记录的所述当前业务表的结构信息对应的第一版本信息和/或所述当前业务表的数据信息对应的第二版本信息切换为所述版本记录表中记录的指定业务表的结构信息对应的版本信息和/或数据信息对应的版本信息。
2.根据权利要求1所述的记录数据库信息的方法,其特征在于,所述定义表包括对象定义表、属性定义表和关系定义表;
所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,具体包括:
将所述当前业务表的表信息存储至数据库表结构的对象定义表中,在所述对象定义表中生成对应表信息的记录,并使用第一版本信息对所述表信息的记录进行标识;
将所述当前业务表的字段信息存储至数据库表结构的属性定义表中,在所述属性定义表中生成对应所述字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;
将所述当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在所述关系定义表中生成对应所述关联关系信息的记录,并使用第一版本信息对所述关联关系信息的记录进行标识。
3.根据权利要求1所述的记录数据库信息的方法,其特征在于,所述实例表包括对象实例表、属性实例表和关系实例表;
所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,具体包括:
在所述对象实例表中生成对应所述当前业务表所有数据信息的记录,并使用第二版本信息对所述所有数据信息的记录进行标识;所述对象实例表中的一条记录代表一张业务表的所有数据;
将所述当前业务表的每条数据信息存储至所述属性实例表中,在所述属性实例表中生成对应所述每条数据信息的记录,并使用第二版本信息对所述每条数据信息的记录进行标识;所述属性实例表用于保存业务表中每个字段的具体数据;
将所述当前业务表的数据之间的关联关系信息存储至所述关系实例表中,在所述关系实例表中生成对应所述数据之间的关联关系信息的记录,并使用第二版本信息对所述数据之间的关联关系信息的记录进行标识。
4.根据权利要求1所述的记录数据库信息的方法,其特征在于,所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,还包括:
当所述当前业务表的结构信息发生改变时,在所述数据库表结构的定义表中生成第三记录,并使用第三版本信息对所述第三记录进行标识。
5.根据权利要求1所述的记录数据库信息的方法,其特征在于,所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,还包括:
当所述当前业务表的数据信息发生改变时,在所述数据库表结构的实例表中生成第四记录,并使用第四版本信息对所述第四记录进行标识。
6.根据权利要求1所述的记录数据库信息的方法,其特征在于,所述在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间,还包括:
当所述业务表的结构发生改变时,在所述版本记录表中继续记录第三版本信息,并记录所述第三版本信息的创建时间;
当所述业务表的数据发生改变时,在所述版本记录表中继续记录第四版本信息,并记录所述第四版本信息的创建时间;
当所述业务表的结构和数据都发生改变时,在所述版本记录表中继续记录第五版本信息,并记录所述第五版本信息的创建时间。
7.一种记录数据库信息的装置,其特征在于,包括:
获取单元,用于获取需要处理的数据库的当前业务表;
第一标识单元,将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,其中,所述数据库表结构包括定义表、实例表和版本记录表;
第二标识单元,将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识;
记录单元,在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间;
其中,所述数据库表结构还包括当前版本记录表,当需要将当前业务表切换为指定业务表时,根据所述版本记录表中记录的所述创建时间,将所述当前版本记录表中记录的所述当前业务表的结构信息对应的第一版本信息和/或所述当前业务表的数据信息对应的第二版本信息切换为所述版本记录表中记录的指定业务表的结构信息对应的版本信息和/或数据信息对应的版本信息。
8.根据权利要求7所述的记录数据库信息的装置,其特征在于,所述定义表包括对象定义表、属性定义表和关系定义表;
所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,具体包括:
将所述当前业务表的表信息存储至数据库表结构的对象定义表中,在所述对象定义表中生成对应表信息的记录,并使用第一版本信息对所述表信息的记录进行标识;
将所述当前业务表的字段信息存储至数据库表结构的属性定义表中,在所述属性定义表中生成对应所述字段信息的记录,并使用第一版本信息对所述字段信息的记录进行标识;
将所述当前业务表之间的关联关系信息存储至数据库表结构的关系定义表中,在所述关系定义表中生成对应所述关联关系信息的记录,并使用第一版本信息对所述关联关系信息的记录进行标识。
9.根据权利要求7所述的记录数据库信息的装置,其特征在于,所述实例表包括对象实例表、属性实例表和关系实例表;
所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,具体包括:
在所述对象实例表中生成对应所述当前业务表所有数据信息的记录,并使用第二版本信息对所述所有数据信息的记录进行标识;所述对象实例表中的一条记录代表一张业务表的所有数据;
将所述当前业务表的每条数据信息存储至所述属性实例表中,在所述属性实例表中生成对应所述每条数据信息的记录,并使用第二版本信息对所述每条数据信息的记录进行标识;所述属性实例表用于保存业务表中每个字段的具体数据;
将所述当前业务表的数据之间的关联关系信息存储至所述关系实例表中,在所述关系实例表中生成对应所述数据之间的关联关系信息的记录,并使用第二版本信息对所述数据之间的关联关系信息的记录进行标识。
10.根据权利要求7所述的记录数据库信息的装置,其特征在于,所述将所述当前业务表的结构信息存储至数据库表结构的定义表中,生成第一记录,并使用第一版本信息对所述第一记录进行标识,还包括:
当所述当前业务表的结构信息发生改变时,在所述数据库表结构的定义表中生成第三记录,并使用第三版本信息对所述第三记录进行标识。
11.根据权利要求7所述的记录数据库信息的装置,其特征在于,所述将所述当前业务表的数据信息存储至所述实例表中,生成第二记录,并使用第二版本信息对所述第二记录进行标识,还包括:
当所述当前业务表的数据信息发生改变时,在所述数据库表结构的实例表中生成第四记录,并使用第四版本信息对所述第四记录进行标识。
12.根据权利要求7所述的记录数据库信息的装置,其特征在于,所述在所述版本记录表中记录所述第一版本信息、所述第一版本信息的创建时间、所述第二版本信息以及所述第二版本信息的创建时间,还包括:
当所述业务表的结构发生改变时,在所述版本记录表中继续记录第三版本信息,并记录所述第三版本信息的创建时间;
当所述业务表的数据发生改变时,在所述版本记录表中继续记录第四版本信息,并记录所述第四版本信息的创建时间;
当所述业务表的结构和数据都发生改变时,在所述版本记录表中继续记录第五版本信息,并记录所述第五版本信息的创建时间。
13.一种记录数据库信息的系统,其特征在于,包括:上述权利要求7-12任意一项所述的记录数据库信息的装置。
CN201810965042.7A 2018-08-23 2018-08-23 一种记录数据库信息的方法、装置和系统 Active CN110858200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810965042.7A CN110858200B (zh) 2018-08-23 2018-08-23 一种记录数据库信息的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810965042.7A CN110858200B (zh) 2018-08-23 2018-08-23 一种记录数据库信息的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN110858200A CN110858200A (zh) 2020-03-03
CN110858200B true CN110858200B (zh) 2023-06-23

Family

ID=69635138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810965042.7A Active CN110858200B (zh) 2018-08-23 2018-08-23 一种记录数据库信息的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN110858200B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347653A (en) * 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
CN106484906A (zh) * 2016-10-21 2017-03-08 焦点科技股份有限公司 一种分布式对象存储系统闪回方法及装置
CN107368513A (zh) * 2017-04-25 2017-11-21 阿里巴巴集团控股有限公司 客户端数据库更新的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739547B2 (en) * 2007-06-07 2010-06-15 International Business Machines Corporation Failure recovery and error correction techniques for data loading in information warehouses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347653A (en) * 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
CN106484906A (zh) * 2016-10-21 2017-03-08 焦点科技股份有限公司 一种分布式对象存储系统闪回方法及装置
CN107368513A (zh) * 2017-04-25 2017-11-21 阿里巴巴集团控股有限公司 客户端数据库更新的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金时华 ; 刘茂华 ; 孙秀波 ; .一种基于属性水平版本结构的时空数据模型.测绘与空间地理信息.2006,(第02期),52-53、57. *

Also Published As

Publication number Publication date
CN110858200A (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
US8656270B2 (en) Change-oriented spreadsheet application
US7219104B2 (en) Data cleansing
US8099725B2 (en) Method and apparatus for generating code for an extract, transform, and load (ETL) data flow
US6418450B2 (en) Data warehouse programs architecture
CN106033436B (zh) 一种数据库的合并方法
US7730097B2 (en) Smart database
US20100280991A1 (en) Method and system for versioning data warehouses
RU2406115C2 (ru) Доступ к сложным данным
US20070028159A1 (en) Change-oriented electronic spreadsheet application
US20080307255A1 (en) Failure recovery and error correction techniques for data loading in information warehouses
US11238396B2 (en) High performance map editor for business analysts
CN103294724A (zh) 一种数据库结构的管理方法及系统
US8805777B2 (en) Data record collapse and split functionality
US20090055418A1 (en) Automatic cascading copy operations in a database with referential integrity
US7882142B2 (en) Dynamic optimized datastore generation and modification for process models
US7865461B1 (en) System and method for cleansing enterprise data
KR20140072929A (ko) 아카이빙 작업수행 자동화 방법
US7725439B2 (en) Handling column renaming as part of schema evolution in a data archiving tool
CN110858200B (zh) 一种记录数据库信息的方法、装置和系统
Pröll et al. Precise Data Identification Services for Long Tail Research Data.
CN105069174A (zh) 一种可配置的a+b模式的记录导航方法
Mekterović et al. Delta view generation for incremental loading of large dimensions in a data warehouse
CN116049179A (zh) 一种基于云数据库的被删目标表的恢复方法及装置
JP2002229821A (ja) データベース管理システム
Leone et al. Tendax, a collaborative database-based real-time editor system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024919

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant