CN108255925B - 一种数据表结构变更情况的显示方法及其终端 - Google Patents
一种数据表结构变更情况的显示方法及其终端 Download PDFInfo
- Publication number
- CN108255925B CN108255925B CN201711106754.5A CN201711106754A CN108255925B CN 108255925 B CN108255925 B CN 108255925B CN 201711106754 A CN201711106754 A CN 201711106754A CN 108255925 B CN108255925 B CN 108255925B
- Authority
- CN
- China
- Prior art keywords
- table structure
- change
- change record
- field
- time
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据库技术领域,提供了一种数据库表结构变更情况的显示方法及其终端,包括:获取数据库中目标数据表当前的表结构;将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录;接收结构变更查询请求;从所述变更记录库中提取所述采集时间在所述变更时间区间内的版本比对变更记录;将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。本发明解决了现有的数据库表结构变更情况的显示技术,显示效果较差,并且数据库要存储该数据表所有版本的代码文件,也加大了数据库的存储压力的问题。
Description
技术领域
本发明属于数据库技术领域,尤其涉及一种数据表结构变更情况的显示方法及其终端。
背景技术
随着信息化进程的快速发展,越来越多的信息从实体文件转化为数字文件,因而数据库中包含的数据不断增多,并且数据库中包含的数据表的更新速度也越来越快。在对数据表进行故障修复或者版本更新时,常常需要对数据库中目标数据表的表结构进行显示,以便用户根据表结构获取该数据表中各个字段对应的属性参数,从而指定对应的变更策略。
然而现有的数据表结构变更情况的显示技术,需要获取两个版本对应的代码文件,并手动收集各个数据表中各个字段的属性参数,才能得到需要比对的表结构,继而通过两个页面切换显示的方式比对两个表结构之间的差异,显示效果较差,并且数据库要存储该数据表所有版本的代码文件,也加大了数据库的存储压力。
发明内容
有鉴于此,本发明实施例提供了一种数据库表结构变更情况的显示方法及其终端,以解决现有的数据库表结构变更情况的显示技术,需要获取两个版本对应的代码文件,并手动收集各个数据表中各个字段的属性参数,才能得到需要比对的表结构,继而通过两个页面切换显示的方式比对两个表结构之间的差异,显示效果较差,并且数据库要存储该数据表所有版本的代码文件,也加大了数据库的存储压力的问题。
本发明实施例的第一方面提供了一种数据库表结构变更情况的显示方法,包括:
若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
从所述变更记录库中提取所述采集时间在所述变更时间区间内的表结构变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
从所述变更记录库中提取所述采集时间在所述变更时间区间内的表结构变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
从所述变更记录库中提取所述采集时间在所述变更时间区间内的表结构变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
实施本发明实施例提供的一种数据库表结构变更情况的显示方法及其终端具有以下有益效果:
本发明实施例在满足预设的采集触发条件时,记录当前的表结构,并将该表结构与上一次采集得到的表结构进行匹配,从而得到两个表结构之间存在差异的内容,得到表结构表更记录,并将该表结构变更记录存储于变更记录库,以便日后通过该变更记录库将表结构还原至相应的版本以及确定两个版本之间包含的变更情况。若接收到结构变更查询请求,则提取该变更查询请求中的第一版本编号以及第二版本编号,并从变更记录库存储的多个表结构变更记录中,确定第一采集时间以及第二采集时间,继而根据第一采集时间以及第二采集时间之间的时间差,确定变更时间区间,并从变更记录库中提取采集时间在该变更时间区间内的版本比对变更记录。在确定了版本比对变更记录后,将根据第二版本编号对应的目标数据表的表结构生成一个预览页面,并将版本比对变更记录中的变更内容,在预览页面中进行突出显示,从而用户可在同一个页面内,即可获取到第二版本编号对应的表结构,还能根据变更内容,确定第一版本编号与当前显示的第二版本编号的表结构之间的差异,无需通过两个页面切换比对,显示较为直观。与现有的数据表结构变更情况的显示技术相比,本发明实施例提供的方法无需用户手动采集数据表中各个字段的属性参数,才能生成数据表的表结构,并且在显示第二版本编号的表结构的基础上,将与第一版本编号之间的变更内容进行突出显示,从而用户在同一个页面中即可确定第二版本编号对应的表结构以及第一版本编号的表结构,还能较为清晰地确定两个版本编号之间的变更情况,显示效果较好。另一方面,本发明实施例只是保存各个版本之间的变更文件,无需对所有版本的代码文件进行保存,实现增量存储的目的,大大减少了数据库的存储压力,提高了数据库存储空间的使用效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种数据库表结构变更情况的显示方法的实现流程图;
图2是本发明第二实施例提供的一种数据库表结构变更情况的显示方法的具体实现流程图;
图3是本发明第三实施例提供的一种数据库表结构变更情况的显示方法S101的具体实现流程图;
图4是本发明第四实施例提供的一种数据库表结构变更情况的显示方法S102的具体实现流程图;
图5是本发明第五实施例提供的一种数据库表结构变更情况的显示方法的具体实现流程图;
图6是本发明一实施例提供的一种数据库表结构变更情况的显示终端的结构框图;
图7是本发明一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例在满足预设的采集触发条件时,记录当前的表结构,并将该表结构与上一次采集得到的表结构进行匹配,从而得到两个表结构之间存在差异的内容,得到表结构表更记录,并将该表结构变更记录存储于变更记录库,以便日后通过该变更记录库将表结构还原至相应的版本以及确定两个版本之间包含的变更情况。若接收到结构变更查询请求,则提取该变更查询请求中的第一版本编号以及第二版本编号,并从变更记录库存储的多个表结构变更记录中,确定第一采集时间以及第二采集时间,继而根据第一采集时间以及第二采集时间之间的时间差,确定变更时间区间,并从变更记录库中提取采集时间在该变更时间区间内的版本比对变更记录。在确定了版本比对变更记录后,将根据第二版本编号对应的目标数据表的表结构生成一个预览页面,并将版本比对变更记录中的变更内容,在预览页面中进行突出显示,从而用户可在同一个页面内,即可获取到第二版本编号对应的表结构,还能根据变更内容,确定第一版本编号与当前显示的第二版本编号的表结构之间的差异,无需通过两个页面切换比对,显示较为直观,解决了现有的数据库表结构变更情况的显示技术,需要获取两个版本对应的代码文件,并手动收集各个数据表中各个字段的属性参数,才能得到需要比对的表结构,继而通过两个页面切换显示的方式比对两个表结构之间的差异,显示效果较差,并且数据库要存储该数据表所有版本的代码文件,也加大了数据库的存储压力的问题。
在本发明实施例中,流程的执行主体为数据库表结构变更情况的显示终端,终端设备包括手机、计算机设备、平板电脑、服务器等终端,特别地,该终端设备包括显示模块,通过该显示模块将数据表结构的变更情况生成对应的显示页面输出给用户,该显示模块可以为:显示器、触控屏、投影设备等。图1示出了本发明第一实施例提供的数据库表结构变更情况的显示方法的实现流程图,详述如下:
在S101中,若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数。
在本实施例中,终端设备会监测当前时刻是否满足预设的采集触发条件,继而确定是否需要执行数据表结构的采集操作。其中,该采集触发条件包括自动触发条件以及需要用户操作的手动触发条件。其中,手动触发具体为:管理员在终端设备上生成一个表结构采集指令,或通过用户终端向终端设备发送一个表结构采集指令,终端设备若接收到该表结构采集指令后,则执行S101的相关操作。而自动触发具体为:终端设备设置有表结构采集启动时机,若终端设备检测到当前状态与预设的表结构采集启动时机匹配,则执行S101的相关操作。
可选地,在本实施中,所述表结构采集启动时机可以为一预设的检测周期,终端设备在监测到当前时刻满足该检测周期时,执行S101的相关操作。所述异常检测启动时机还可以为一调用次数阈值,终端设备在数据库中目标数据表被调用时,将增加调用计数器的数值,若该调用计数器的数值大于预设的调用次数阈值,则执行S101的相关操作,并将该调用计数器的计数值归零。由于目标数据表被调用,则可能是进行数据修改操作,而该数据修改操作可能涉及更改数据表的表结构,因此可将其作为表结构采集的启动条件。
在本实施例中,不同的目标数据表可以对应不同的采集触发条件,终端设备在检测到当前时刻满足采集触发条件时,将是被该采集条件所对应的目标数据表,继而从数据库中获取该目标数据表的表结构,需要说明的是,目标数据表的个数可以为一个,也可以为多个,即终端设备在采集触发条件满足时,可同时获取数据库中多个目标数据库的表结构,并分别执行S102至S107的相关操作,特别地,当采集触发条件不包含目标数据表的标识时,则表示对数据库内所有数据表进行采集操作。
在本实施例中,终端设备根据采集触发条件中的数据表标识,从数据库中提取对应的目标数据表,并读取该目标数据表中包含的字段数,以及各个字段对应的属性参数,生成字段与属性参数的对应关系,即目标数据表的表结构。其中,该字段的属性参数包括:该字段的数据类型、字段的数据容量上限,字段的数据描述等参数。字段的数据类型可以为:单纯数字、字符、主键或辅键等;字段的数据描述具体用于描述该字段所保存的数据的具体含义,例如:地区、性别、年龄等。
在S102中,将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间。
在本实施例中,终端设备将本次采集得到的表结构与上一采集时刻获取得到的基准表结构进行匹配操作,确定两个表结构之间的差异,该差异包括,本次采集的表结构相对于基准表结构的新增内容、删除内容以及替换内容,继而通过上述识别得到的差异情况,生成表结构变更记录。
在本实施例中,终端设备可根据所有识别得到的变更情况生成一个结构变更记录,即一个表结构变更记录中可包含多项变更内容;终端设备还可以根据不同的变更类型,分别生成多个表结构变更记录,例如将两个表结构之间新增的内容生成一个新增表结构变更记录,该新增表结构表更记录中记录有两个表结构之间的新增字段以及各个新增字段的属性参数;然后,终端设备将是被得到的两个表结构之间删除的内容生成一个删除表结构变更记录,具体方式如上所述。可选地,终端设备还可以根据每一个变更内容,对应生成一条表结构变更记录。
在本实施例中,每个表结构变更记录除了存储两个版本之间的变更内容之外,还记录有该次采集时,目标数据表当前的版本编号以及采集时间,从而可以将每个版本编号与采集时间关联起来,用户可以输入时间信息,即可查询到目标数据表的版本信息。
在S103中,接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号。
在本实施例中,用户在需要查询两个版本之间存在哪些版本变更情况时,可生成一个变更查询请求,并将该变更查询请求发送给终端设备。其中,用户在生成变更查询请求时,将输入两个需要比对的版本编号,分别为第一版本编号以及第二版本编号,用户查询两个版本编号对应的表结构之间的变更情况。
可选地,在本实施例中,结构变更查询请求中还可以只包含一个版本编号,即第一版本编号,在该情况下,终端设备将识别该结构变更查询请求是用于查询第一版本编号与当前版本之间的变更情况,即缺省输入了第二版本编号时,默认第二版本编号为当前版本编号。
在S104中,获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间。
在本实施例中,终端设备在接收到查询变更请求后,则提取该查询变更请求中包含的第一版本编号以及第二版本编号。然后,终端设备从变更记录库中查询该第一版本编号对应的表结构变更记录,确定该第一版本编号对应的第一采集时间,同样地,终端设备也可以通过上述方式获取到第二版本编号对应的第二采集时间。
在本实施例中,终端设备确定了第一采集时间以及第二采集时间后,则可以通过上述两个采集时间之差,得到变更时间区间,用于表示两个版本之间相差了的采集时间,继而根据该变更时间区间,确定两个版本编号之间包含的变更情况。
需要说明的是,在本实施例中,第一采集时间以及第二采集时间并没有先后次序之分,即第一采集时间可以早于第二采集时间,也可以晚于第二采集时间。具体地,若第一采集时间早于第二采集时间,则表示第一版本编号相对于第二版本编号是较旧的版本;反之,若第一采集时间晚于第二采集时间,则表示第一版本编号相对于第二版本编号是较新的版本。由于终端设备在接收到版本查询请求时,并无法确定两个版本编号之间的先后次序,因此在S106中,终端设备同样可以显示第一版本编号对应的目标数据表的表结构。
在S105中,从所述变更记录库中提取所述采集时间在所述变更时间区间内的版本比对变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录。
在本实施例中,终端设备将从变更记录库中获取各个表结构变更记录的采集时间,并将其与该变更时间区间一一进行匹配,确定该采集时间是否在该变更时间区间内。若某一表结构变更记录的采集时间在该变更时间区间内,则从变更记录库中提出取来,识别为版本比对变更记录;反之,若某一表结构变更剧烈的采集时间并非在变更时间区间内,则选取下一个表结构变更记录,继续重复上述判定操作。
需要说明的是,在本实施例中,该变更时间区间是一个左开右闭的区间,例如第一版本编号对应的第一采集时间为:2017.01.23,而第二版本编号对应的第二采集时间为:2017.01.31,则终端设备将获取采集时间在(2017.01.23,2017.01.31]之间的表结构变更记录。即无需获取1月23日中第一版本编号相对于上一版本编号的表结构变更记录,但需要获取1月31日中第二版本编号相对于上一版本编号的表结构变更记录。
在S106中,基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面。
在本实施例中,终端设备首先获取第二版本编号对应的目标数据表的表结构,继而通过该第二版本编号对应的表结构生成一个表结构预览页面,输出该表结构预览页面给用户,以便用户通过终端设备的显示模块获取到该第二版本编号对应的表结构。
在本实施例中,终端设备获取第二版本编号对应的目标数据表的表结构的方式具体为:根据当前时刻的目标数据表的表结构以及当前时刻与第二采集时间之间包含的表结构变更文件,得到第二版本编号对应的目标数据表的表结构。
在本实施例中,该第二版本编号对应的表结构对应的预览页面中,显示由该目标数据表在第二版本编号时所包含的字段,以及各个字段所对应的属性参数。优选地,该表结构预览页面中将模拟目标数据表,生成一列表表格,各个字段即为该列表表格的首行,根据各个字段在目标数据表中的次序,依次导入至该列表表格首行的各个单元格内,并在单元格中填入该字段对应的属性参数,从而可直观获知该目标数据表的表结构。
在107中,将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
在本实施例中,终端设备从S105中获取了第一版本编号以及第二版本编号之间包含的版本比对变更记录之后,则提取各个版本比对变更记录中包含的变更内容,继而从表结构预览页面中查询该变更内容所对应的字段,将该变更内容添加到该表结构预览页面中,并进行突出显示,以便区分变更内容以及第二版本编号对应的表结构。
在本实施例中,该突出显示的方式包含:通过加粗、放大等方式显示变更内容,也可以通过变换变更内容的字体颜色或字体的背景颜色,或通过批注框或其他框体对应字段的变更内容,终端设备或用户可根据实际的显示效果,选择相应的突出显示方式,在此不一一限定。
可选地,终端设备还可以根据各个表结构变更记录的采集时间的先后次序,依次将各个表结构变更记录中的变更内容进行突出显示,以使用户获知到第二版本编号对应的表结构如何逐步变更为第一版本编号对应的表结构。
以上可以看出,本发明实施例提供的一种数据库表结构变更情况的显示方法在满足预设的采集触发条件时,记录当前的表结构,并将该表结构与上一次采集得到的表结构进行匹配,从而得到两个表结构之间存在差异的内容,得到表结构表更记录,并将该表结构变更记录存储于变更记录库,以便日后通过该变更记录库将表结构还原至相应的版本以及确定两个版本之间包含的变更情况。若接收到结构变更查询请求,则提取该变更查询请求中的第一版本编号以及第二版本编号,并从变更记录库存储的多个表结构变更记录中,确定第一采集时间以及第二采集时间,继而根据第一采集时间以及第二采集时间之间的时间差,确定变更时间区间,并从变更记录库中提取采集时间在该变更时间区间内的版本比对变更记录。在确定了版本比对变更记录后,将根据第二版本编号对应的目标数据表的表结构生成一个预览页面,并将版本比对变更记录中的变更内容,在预览页面中进行突出显示,从而用户可在同一个页面内,即可获取到第二版本编号对应的表结构,还能根据变更内容,确定第一版本编号与当前显示的第二版本编号的表结构之间的差异,无需通过两个页面切换比对,显示较为直观。与现有的数据表结构变更情况的显示技术相比,本发明实施例提供的方法无需用户手动采集数据表中各个字段的属性参数,才能生成数据表的表结构,并且在显示第二版本编号的表结构的基础上,将与第一版本编号之间的变更内容进行突出显示,从而用户在同一个页面中即可确定第二版本编号对应的表结构以及第一版本编号的表结构,还能较为清晰地确定两个版本编号之间的变更情况,显示效果较好。另一方面,本发明实施例只是保存各个版本之间的变更文件,无需对所有版本的代码文件进行保存,实现增量存储的目的,大大减少了数据库的存储压力,提高了数据库存储空间的使用效率。
图2示出了本发明第二实施例提供的一种数据库表结构变更情况的显示方法的具体实现流程图。参见图2所示,相对于图1所述实施例,本实施例提供的一种数据库表结构变更情况的显示方法中在所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库之后,还包括S201以及S205,具体详述如下:
进一步地,在将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库的步骤之后,还包括
在S201中,接收版本再现指令;其中,所述版本再现指令包含第三版本编号。
在本实施例中,终端设备除了可以比对两个版本编号之间表结构的变更情况之外,还可以查询各个版本编号对应的目标数据表的表结构,以再现往期版本的表结构情况,实现表结构版本回滚,有利于用户指定对应的目标数据表的修改以及优化策略。
在本实施例中,用户在需要再现目标表结构的版本情况时,可生成一个版本再现指令,并将该版本再现指令发送给终端设备。其中,用户在生成版本再现指令时,将输入所需再现的版本编号,即第三版本编号。用户通过目标数据表的历史版本编号汇总列表,查询所需再现的第三版本编号。
在S202中,获取所述第三版本编号对应的第三采集时间,并识别所述第三采集时间以及当前时刻之间的时间差为再现时间区间。
在本实施例中,终端设备在接收到查询变更请求后,则提取该版本再现指令中包含的第三版本编号。然后,终端设备从变更记录库中查询该第三版本编号对应的表结构变更记录,确定该第三版本编号对应的第三采集时间。
在本实施例中,终端设备确定了第三采集时间后,则可以通过第三采集时刻以及当前时刻之差,得到再现时间区间,用于表示两个版本之间相差的采集时间,继而根据该再现时间区间,确定当前版本与第三版本之间包含的变更情况。
在S203中,从所述变更记录库中提取所述采集时间在所述再现时间区间内的再现变更记录,并将所述采集时间在所述再现时间区间内的表结构变更记录识别为再现变更记录。
在本实施例中,终端设备将从变更记录库中获取各个表结构变更记录的采集时间,并将其与该再现时间区间一一进行匹配,确定该采集时间是否在该再现时间区间内。若某一表结构变更记录的采集时间在该再现时间区间内,则从变更记录库中提出取来,识别为再现变更记录;反之,若某一表结构变更剧烈的采集时间并非在再现时间区间内,则选取下一个表结构变更记录,继续重复上述判定操作。
需要说明的是,在本实施例中,该再现时间区间是一个左开右闭的区间,如S105中所述,终端设备将不会获取第三采集时刻对应的表结构表更记录作为再现变更记录,但会获取当前时刻对应的表结构变更记录。
在S204中,依据各个再现变更记录的采集时间的逆序,根据所述再现变更记录将所述当前的表结构依次还原至上一版本编号对应的表结构,以获取所述第三版本编号对应的表结构。
在本实施例中,终端设备将根据获取得到的多个再现变更记录的采集时间的逆序,生成表结构变更记录序列,首先提取采集时间离当前时刻最近的一个再现变更记录,并根据该变更记录中包含的变更内容,将当前的表结构对应的内容还原至与上一版本的表结构匹配的状态,实现将当前目标数据表的表结构回滚至上一版本。
在本实施例中,终端设备通过S204的操作,能够将目标数据表的表结构逐步还原至上一版本的表结构,直到目标数据表的表结构还原至第三版本编号对应的表结构,实现再现第三版本表结构的目的。
在本实施例中,还原操作具体为:若表结构变更记录为新增变更记录,则删除该新增变更记录的内容;若表结构变更记录为删除变更记录,则添加该删除变更记录的内容;若表结构变更记录为替换变更记录,则将当前字段的属性参数返回至替换前的属性参数,换而言之,则是进行变更内容对应的逆操作。
在S205中,显示所述第三版本编号对应的表结构。
在本实施例中,终端设备通过显示模块将第三版本编号对应的表结构输出给用户,以便用户获知该版本时对应的表结构。
在本发明实施例中,通过存储各个版本之间的表结构变更记录,从而无需将各个版本的表结构均存储与数据库内,也可以实现查询往期各个版本表结构,减少了数据库的存储压力。
图3了本发明第三实施例提供的一种数据库表结构变更情况的显示方法S101的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种数据库表结构变更情况的显示方法中S101包括S301~S303,具体详述如下:
进一步地,所述若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构,包括:
在S301中,监测当前时间是否满足预设的采集触发时机。
终端设备在获取目标数据表的表结构之前,需要对其触发时机进行判定,在本实施例中,终端设备采用时机触发以及数据量变化触发相结合的检测触发方式。首先,终端设备将获取监测当前时间是否与预设的采集触发时机匹配,特别地,该采集触发时机为一周期触发时机,也可以为用户预先设置的多个时间节点。当终端设备判定当前时间与采集触发时机相匹配,则执行S302的相关操作,反之,则保持待机状态,以减少电量的消耗。
在S302中,若当前时间满足预设的采集触发时机,则获取所述目标数据表包含的数据量。
在本实施例中,终端设备在获知当前时间与采集触发时机相匹配时,则获取该目标数据表的数据量。该目标数据表的数据量不仅与存储与该数据表的数据多少有关,还与各个数据的属性有关。例如一个数据存储为字段的格式为char,即会为该字段内各个数据分配一个字节,即8位来存储该数据;若某一字段的格式为int,则会为该字段内各个数据分配2个字节,即16为来存储该数据。因此,即便char字段与int字段均存储数字“2”,但两者的数据量却不一样,因此数据量的变化除了表示数据数量上的变化外,还可以是由于数据格式变化而造成的。
在本实施例中,终端设备将目标数据表当前数据量,终端设备统计该目标数据表包含的数据量,具体地,可通过获取该目标数据表的文件大小,确定其包含的数据量。
在S303中,若所述数据量与上一采集触发时机获取所述目标数据表包含的数据量不一致,则获取数据库中目标数据表当前的表结构。
在本实施例中,终端设备在确定当前的数据量后,将与上一采集触发时机获取的数据量进行匹配,继而确定两个数据量是否一致,若一致,则表示该文件中包含的数据并没有发生变化,则既没有增加数据,各个数据的属性参数也没有变化,即可以判定表结构没有变动,从而无需获取该数据库的表结构。若两个数据量不一致,则表示该目标数据表中可能添加或减少了数据,或部分数据的属性参数发生了变化,即可能存在表结构变更的情况,因此需要获取当前数据库中目标数据表当前的表结构。
可选地,在本实施例中,终端设备还可以设置一数据量阈值,当本次采集的数据量与上一版本的数据量之间的差值大于预设的数据量阈值,则执行获取数据库中目标数据表当前的表结构的操作。由于表结构的变更,一般是对整个目标数据表的结构进行变更,因此涉及的数据量变化一般较大,因此,终端设备还可以这一阈值,来确定本次变化是否为数据表结构的变化。
在本发明实施例中,通过设置采集触发时机以及判断数据量是否一致,从而在可能存在表结构变化的情况下,才执行数据表获取操作,从而避免不必要的采集流程,提高了终端的资源利用率。
图4了本发明第四实施例提供的一种数据库表结构变更情况的显示方法S102的具体实现流程图。参见图4所示,相对于图1至图3所述实施例,本实施例提供的一种数据库表结构变更情况的显示方法中所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录包括:S401~S404,具体详述如下:
进一步地,所述表结构变更记录包括:新增变更记录、删除变更记录以及替换变更记录;所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,包括:
在S401中,将所述表结构包含的各个字段分别与所述基准表结构中的各个基准字段进行匹配。
在本实施例中,终端设备在获取到当前的表结构后,将提取该表结构中包含的各个字段以及各个字段对应的属性参数,得到字段与属性参数的对应关系列表,并将该列表中的每一条记录与基准表结构中的各个基准字段进行匹配操作,判断两者是否一致。
具体地,在本实施例中,终端设备依次提取上述字段与属性参数的对应关系列表中的每一个记录,遍历查询基准表结构中是否存在与之对应的基准字段。若遍历查询后找到对应的基准字段,则识别该字段为新增的字段,执行S403的相关操作;若遍历查询的过程中找到与之对应的基准字段,则判断该字段与对应的基准字段之间的属性参数是否一致,若一致,则识别为没有变更情况,继续提取下一个字段进行匹配操作;若该字段与对应的基准字段之间的属性参数不一致,则表示该字段的参数发生改变,执行S402的相关操作。在当前表结构的各个字段均进行匹配操作后,终端设备将查询基准表结构中是否存在未被匹配的基准字段,将该字段识别为删除字段,并执行S404的相关操作。
在S402中,若所述基准表结构中存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则根据与所述基准字段的属性参数不一致的字段生成替换变更记录。
在本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若判断结果为是,则继续判定两个字段之间的属性参数是否相同,若不相同,则表示当前的字段的属性参数与上一字段的属性参数之间存在变更的情况,该变更属于属性参数替换的修改,因此生成一条替换变更记录。
在本实施例中,替换变更记录中包含发生变更操作的字段,以及该字段变更前的,即在上一采集时刻对应的基准字段中的属性参数,以及当前表结构中该字段的属性参数,当然,还包含当前的版本编号以及采集时间。
在S403中,若所述基准表结构中不存在与所述字段匹配的基准字段,则根据存在于当前的表结构且不存在于所述基准表结构中的字段生成新增变更记录。
在本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若判断结果为否,则表示当前的字段不存在于基准表结构内,即该字段为新增的字段,属于新增内容的修改,因此生成一条新增变更记录。
在本实施例中,替换变更记录中包含相对于基准表结构新增的字段,以及该字段包含的属性参数,当然,还包含当前的版本编号以及采集时间。
在S404中,若所述表结构中不存在与所述基准字段匹配的字段,则根据存在于所述基准表结构且不存在于所述当前的表结构的基准字段生成删除变更记录。
在本实施例中,终端设备在将当前的表结构中的字段遍历查询基准表结构中是否存在匹配的基准字段,若在对当前表结构中各个字段均进行遍历查询后,基准字段中存在未匹配的基准字段,则表示当前的表结构中删除了部分字段,以使基准字段无法找到对应的字段,即上述基准字段被删除了,因此生成一条删除变更记录。
在本实施例中,删除变更记录中包含相对于基准表结构被删除的字段,即基准表结构中为匹配成功的基准字段,以及上述基准字段包含的属性参数,当然,还包含当前的版本编号以及采集时间。
在本发明实施例中,通过对当前表结构中包含的各个字段与基准表结构的基准字段进行匹配操作,从而识别出不同的变更内容,对变更记录进行分类保存,方便用户对变更记录进行整理与整合。
图5示出了本发明第五实施例提供的一种数据库表结构变更情况的显示方法的具体实现流程图。参见图5所示,相对于图4所示实施例,本实施例提供的一种数据库表结构变更情况的显示方法中在所述将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示包括S501以及S502,所述数据库表结构变更情况的显示方法还包括S503,详述如下:
进一步地,将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示,包括:
在S501中,若所述表结构变更记录为新增变更记录,则用第一预设显示方式显示所述新增变更记录对应的字段。
在本实施例中,终端设备在对表结构变更记录中的变更内容进行突出显示前,会先判断该变更记录对应的属性,是属于新增变更记录、替换变更记录或是删除变更记录中的哪一类。若终端设备判定该表结构变更记录为新增变更记录,则执行S501的相关操作;若终端设备判定该表结构变更记录为替换变更记录,则执行S502的相关操作;若终端设备判定该表结构变更记录为删除变更记录,则执行S503的相关操作。
在本实施例中,终端设备为不同的类型的变更记录设置有不同的显示方式,终端设备将通过第一预设显示方式显示新增变更记录中包含的新增的字段,其中,该第一预设显示方式具体可以为S107中各个突出显示方式中的一种。
在S502中,若所述表结构变更记录为替换变更记录,则用第二预设显示方式显示所述替换变更记录对应字段的属性参数以及替换前的属性参数;其中,所述第一预设显示方式与第二预设显示方式为两种不同的显示方式;所述显示方式包括以下至少一种:颜色高亮标记显示、弹框标记显示、字体加粗显示以及字体放大显示。
需要说明的是,新增变更记录的显示方式与替换变更记录的显示方式将为两种不同的显示方式,例如,新增变更记录通过第一颜色高亮标记新增的字段,而替换变更记录将通过第二颜色高亮标记替换字段的属性参数以及替换前的属性参数,也可以通过批注框的方式显示替换字段的属性参数以及替换前的属性参数。即第一预设方式与第二预设方式是存在差异的,以便用户区分两种不同的变更类型。
在本实施例中,第一预设显示方式或第二预设显示方式可以为颜色高亮标记显示、弹框标记显示、字体加粗显示以及字体放大显示中的一种,也可以为上述显示方式中至少两种的组合。例如,第一预设显示方式可以为颜色高亮标记且字体放大显示,第二预设显示方式可以为颜色高亮标记且字体加粗显示。
进一步地,所述数据库表结构的显示方法还包括:
在S503中,若所述表结构变更记录为删除变更记录,则生成删除字段报告,并输出所述删除字段报告给用户。
在本实施例中,由于字段被删除涉及了该字段下的数据也被删除,属于较大的表结构的变动,因此,终端设备除了进行突出显示外,还可以将删除变更记录制作成对应的删除字段报告,并将该删除字段报告发送给用户,以便用户确认本次删除的内容,以免造成不可修复的误删除操作。
可选地,在本实施例中,终端设备将删除字段的数据存储在一个存储模块中,以便用户在需要撤销删除操作时,可还原删除字段原先包含的数据。
在本发明实施例中,通过识别不同的变更情况,执行对应的显示操作,用户可直观获取到第一版本编号的表结构与第二版本编号的表结构之间的差异,提高了用户的浏览效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种数据库表结构变更情况的显示终端的结构框图,该数据库表结构变更情况的显示终端包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述数据库表结构变更情况的显示终端包括:
表结构采集单元61,用于若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
表结构比对单元62,用于将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
结构变更查询请求接收单元63,用于接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
变更时间区间确定单元64,用于获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
版本比对变更记录获取单元65,用于从所述变更记录库中提取所述采集时间在所述变更时间区间内的版本比对变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
预览页面生成单元66,用于基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
变更内容突出显示单元67,用于将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
可选地,所述数据库表结构的显示终端还包括:
版本再现指令接收单元,用于接收版本再现指令;其中,所述版本再现指令包含第三版本编号;
再现时间区间获取单元,用于获取所述第三版本编号对应的第三采集时间,并识别所述第三采集时间以及当前时刻之间的时间差为再现时间区间;
再现变更记录获取单元,用于从所述变更记录库中提取所述采集时间在所述再现时间区间内的再现变更记录,并将所述采集时间在所述再现时间区间内的表结构变更记录识别为再现变更记录;
变更内容还原单元,用于依据各个再现变更记录的采集时间的逆序,根据所述再现变更记录将所述当前的表结构依次还原至上一版本编号对应的表结构,以获取所述第三版本编号对应的表结构;
表结构显示单元,用于显示所述第三版本编号对应的表结构。
可选地,所述表结构采集单元61,包括:
采集触发时机判定单元,用于监测当前时间是否满足预设的采集触发时机;
数据量获取单元,用于若当前时间满足预设的采集触发时机,则获取所述目标数据表包含的数据量;
数据量比对单元,用于若所述数据量与上一采集触发时机获取所述目标数据表包含的数据量不一致,则获取数据库中目标数据表当前的表结构。
可选地,所述表结构变更记录包括:新增变更记录、删除变更记录以及替换变更记录;所述表结构比对单元62,包括:
表结构字段匹配单元,用于将所述表结构包含的各个字段分别与所述基准表结构中的各个基准字段进行匹配;
替换变更记录生成单元,用于若所述基准表结构中存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则根据与所述基准字段的属性参数不一致的字段生成替换变更记录;
新增变更记录生成单元,用于若所述基准表结构中不存在与所述字段匹配的基准字段,则根据存在于当前的表结构且不存在于所述基准表结构中的字段生成新增变更记录;
删除变更记录生成单元,用于若所述表结构中不存在与所述基准字段匹配的字段,则根据存在于所述基准表结构且不存在于所述当前的表结构的基准字段生成删除变更记录。
可选地,所述变更内容突出显示单元67,包括:
第一显示单元,用于若所述表结构变更记录为新增变更记录,则用第一预设显示方式显示所述新增变更记录对应的字段;
第二显示单元,用于若所述表结构变更记录为替换变更记录,则用第二预设显示方式显示所述替换变更记录对应字段的属性参数以及替换前的属性参数;其中,所述第一预设显示方式与第二预设显示方式为两种不同的显示方式;所述显示方式包括以下至少一种:颜色高亮标记显示、弹框标记显示、字体加粗显示以及字体放大显示;
所述数据库表结构的显示终端还包括:
删除字段报告发送单元,用于若所述表结构变更记录为删除变更记录,则生成删除字段报告,并输出所述删除字段报告给用户。
因此,本发明实施例提供的数据库表结构变更情况的显示终端同样可以在满足预设的采集触发条件时,记录当前的表结构,并将该表结构与上一次采集得到的表结构进行匹配,从而得到两个表结构之间存在差异的内容,得到表结构表更记录,并将该表结构变更记录存储于变更记录库,以便日后通过该变更记录库将表结构还原至相应的版本以及确定两个版本之间包含的变更情况。若接收到结构变更查询请求,则提取该变更查询请求中的第一版本编号以及第二版本编号,并从变更记录库存储的多个表结构变更记录中,确定第一采集时间以及第二采集时间,继而根据第一采集时间以及第二采集时间之间的时间差,确定变更时间区间,并从变更记录库中提取采集时间在该变更时间区间内的版本比对变更记录。在确定了版本比对变更记录后,将根据第二版本编号对应的目标数据表的表结构生成一个预览页面,并将版本比对变更记录中的变更内容,在预览页面中进行突出显示,从而用户可在同一个页面内,即可获取到第二版本编号对应的表结构,还能根据变更内容,确定第一版本编号与当前显示的第二版本编号的表结构之间的差异,无需通过两个页面切换比对,显示较为直观。与现有的数据表结构变更情况的显示技术相比,本发明实施例提供的方法无需用户手动采集数据表中各个字段的属性参数,才能生成数据表的表结构,并且在显示第二版本编号的表结构的基础上,将与第一版本编号之间的变更内容进行突出显示,从而用户在同一个页面中即可确定第二版本编号对应的表结构以及第一版本编号的表结构,还能较为清晰地确定两个版本编号之间的变更情况,显示效果较好。另一方面,本发明实施例只是保存各个版本之间的变更文件,无需对所有版本的代码文件进行保存,实现增量存储的目的,大大减少了数据库的存储压力,提高了数据库存储空间的使用效率。
图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如数据库表结构变更情况的显示程序。所述处理器70执行所述计算机程序72时实现上述各个数据库表结构变更情况的显示方法实施例中的步骤,例如图1所示的S101至S107。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至67功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成表结构采集单元、表结构比对单元、结构变更查询请求接收单元、变更时间区间确定单元、版本比对变更记录获取单元、预览页面生成单元以及变更内容突出显示单元,各单元具体功能如下:
表结构采集单元,用于若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
表结构比对单元,用于将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
结构变更查询请求接收单元,用于接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
变更时间区间确定单元,用于获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
版本比对变更记录获取单元,用于从所述变更记录库中提取所述采集时间在所述变更时间区间内的版本比对变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
预览页面生成单元,用于基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
变更内容突出显示单元,用于将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据库表结构变更情况的显示方法,其特征在于,包括:
若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
从所述变更记录库中提取所述采集时间在所述变更时间区间内的表结构变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示;
在所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库之后,还包括:
接收版本再现指令;其中,所述版本再现指令包含第三版本编号;
获取所述第三版本编号对应的第三采集时间,并识别所述第三采集时间以及当前时刻之间的时间差为再现时间区间;
从所述变更记录库中提取所述采集时间在所述再现时间区间内的表结构变更记录,并将所述采集时间在所述再现时间区间内的表结构变更记录识别为再现变更记录;
依据各个再现变更记录的采集时间的逆序,根据所述再现变更记录将所述当前的表结构依次还原至上一版本编号对应的表结构,以获取所述第三版本编号对应的表结构;
显示所述第三版本编号对应的表结构。
2.根据权利要求1所述的显示方法,其特征在于,所述若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构,包括:
监测当前时间是否满足预设的采集触发时机;
若当前时间满足预设的采集触发时机,则获取所述目标数据表包含的数据量;
若所述数据量与上一采集触发时机获取所述目标数据表包含的数据量不一致,则获取数据库中目标数据表当前的表结构。
3.根据权利要求1-2中任一项所述的显示方法,其特征在于,所述表结构变更记录包括:新增变更记录、删除变更记录以及替换变更记录;
所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,包括:
将所述表结构包含的各个字段分别与所述基准表结构中的各个基准字段进行匹配;
若所述基准表结构中存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则根据与所述基准字段的属性参数不一致的字段生成替换变更记录;
若所述基准表结构中不存在与所述字段匹配的基准字段,则根据存在于当前的表结构且不存在于所述基准表结构中的字段生成新增变更记录;
若所述表结构中不存在与所述基准字段匹配的字段,则根据存在于所述基准表结构且不存在于所述当前的表结构的基准字段生成删除变更记录。
4.根据权利要求3所述的显示方法,其特征在于,所述将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示,包括:
若所述表结构变更记录为新增变更记录,则用第一预设显示方式显示所述新增变更记录对应的字段;
若所述表结构变更记录为替换变更记录,则用第二预设显示方式显示所述替换变更记录对应字段的属性参数以及替换前的属性参数;其中,所述第一预设显示方式与第二预设显示方式为两种不同的显示方式;所述显示方式包括以下至少一种:颜色高亮标记显示、弹框标记显示、字体加粗显示以及字体放大显示;
所述数据库表结构的显示方法还包括:
若所述表结构变更记录为删除变更记录,则生成删除字段报告,并输出所述删除字段报告给用户。
5.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构;其中,所述当前的表结构用于定义所述目标数据表中各个字段的属性参数;
将所述当前的表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库;其中,所述表结构变更记录记录所述目标数据表当前的版本编号以及采集时间;
接收结构变更查询请求;其中,所述结构变更查询请求包含第一版本编号以及第二版本编号;
获取所述第一版本编号对应的第一采集时间以及所述第二版本编号对应的第二采集时间,并识别所述第一采集时间以及所述第二采集时间之间的时间差为变更时间区间;
从所述变更记录库中提取所述采集时间在所述变更时间区间内的版本比对变更记录,并将所述采集时间在所述变更时间区间内的表结构变更记录识别为版本比对变更记录;
基于所述第二版本编号对应的目标数据表的表结构生成表结构预览页面;
将所述版本比对变更记录包含的变更内容,在所述表结构预览页面中进行突出显示;
在所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,并将所述表结构变更记录存储于变更记录库之后,所述处理器执行所述计算机程序时还实现如下步骤:
接收版本再现指令;其中,所述版本再现指令包含第三版本编号;
获取所述第三版本编号对应的第三采集时间,并识别所述第三采集时间以及当前时刻之间的时间差为再现时间区间;
从所述变更记录库中提取所述采集时间在所述再现时间区间内的再现变更记录,并将所述采集时间在所述再现时间区间内的表结构变更记录识别为再现变更记录;
依据各个再现变更记录的采集时间的逆序,根据所述再现变更记录将所述当前的表结构依次还原至上一版本编号对应的表结构,以获取所述第三版本编号对应的表结构;
显示所述第三版本编号对应的表结构。
6.根据权利要求5所述的终端设备,其特征在于,所述若当前时刻满足预设的采集触发条件,则获取数据库中目标数据表当前的表结构,包括:
监测当前时间是否满足预设的采集触发时机;
若当前时间满足预设的采集触发时机,则获取所述目标数据表包含的数据量;
若所述数据量与上一采集触发时机获取所述目标数据表包含的数据量不一致,则获取数据库中目标数据表当前的表结构。
7.根据权利要求5或6所述的终端设备,其特征在于,所述表结构变更记录包括:新增变更记录、删除变更记录以及替换变更记录;
所述将所述表结构与所述目标数据表于上一采集时刻获取的基准表结构进行匹配,生成表结构变更记录,包括:
将所述表结构包含的各个字段分别与所述基准表结构中的各个基准字段进行匹配;
若所述基准表结构中存在与所述字段匹配的基准字段,且所述基准字段的属性参数与所述字段的属性参数不一致,则根据与所述基准字段的属性参数不一致的字段生成替换变更记录;
若所述基准表结构中不存在与所述字段匹配的基准字段,则根据存在于当前的表结构且不存在于所述基准表结构中的字段生成新增变更记录;
若所述表结构中不存在与所述基准字段匹配的字段,则根据存在于所述基准表结构且不存在于所述当前的表结构的基准字段生成删除变更记录。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711106754.5A CN108255925B (zh) | 2017-11-10 | 2017-11-10 | 一种数据表结构变更情况的显示方法及其终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711106754.5A CN108255925B (zh) | 2017-11-10 | 2017-11-10 | 一种数据表结构变更情况的显示方法及其终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255925A CN108255925A (zh) | 2018-07-06 |
CN108255925B true CN108255925B (zh) | 2021-12-10 |
Family
ID=62722158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711106754.5A Active CN108255925B (zh) | 2017-11-10 | 2017-11-10 | 一种数据表结构变更情况的显示方法及其终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255925B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959232B (zh) * | 2018-07-28 | 2023-05-02 | 万翼科技有限公司 | 计划调整报表的生成方法、装置及计算机可读存储介质 |
CN109189783B (zh) * | 2018-08-03 | 2023-10-03 | 北京涛思数据科技有限公司 | 一种时序数据库表结构改变处理方法 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
CN109739835B (zh) * | 2018-12-29 | 2023-06-06 | 中国银联股份有限公司 | 一种数据版本保存方法及装置 |
CN111723146B (zh) * | 2019-03-18 | 2024-06-14 | 北京沃东天骏信息技术有限公司 | 监测数据库的方法、管理系统及存储介质 |
CN110287182B (zh) * | 2019-05-05 | 2021-09-14 | 浙江吉利控股集团有限公司 | 一种大数据的数据对比方法、装置、设备及终端 |
CN110286883B (zh) * | 2019-06-03 | 2024-01-30 | 中国建设银行股份有限公司 | 智能数据库编码监控方法、装置及电子设备 |
CN110415128A (zh) * | 2019-06-21 | 2019-11-05 | 中国平安财产保险股份有限公司 | 保单信息管理方法、装置、设备及计算机可读存储介质 |
CN110275890B (zh) * | 2019-06-27 | 2021-01-15 | 中国石油集团东方地球物理勘探有限责任公司 | 一种数据查询方法及系统 |
CN110543413A (zh) * | 2019-07-22 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 业务系统测试方法、装置、设备及存储介质 |
CN111638904B (zh) * | 2020-05-11 | 2023-12-22 | 贝壳技术有限公司 | 一种数据配置的还原方法、装置以及可读存储介质 |
CN111782649A (zh) * | 2020-06-24 | 2020-10-16 | 中国平安财产保险股份有限公司 | 数据采集格式更新方法、装置、计算机设备及存储介质 |
CN111914012B (zh) * | 2020-08-12 | 2024-07-19 | 深圳市汉云科技有限公司 | 数据提取方法、装置、设备及存储介质 |
CN111916165A (zh) * | 2020-08-18 | 2020-11-10 | 泰康保险集团股份有限公司 | 用于评估量表的相似性评估方法及装置 |
CN112612801A (zh) * | 2020-12-17 | 2021-04-06 | 平安普惠企业管理有限公司 | 基于supersonic库的数据统计方法、装置及存储介质 |
CN112529719B (zh) * | 2020-12-18 | 2023-07-25 | 中国平安财产保险股份有限公司 | 页面数据处理方法、装置、计算机设备及存储介质 |
CN113204558B (zh) * | 2021-05-25 | 2023-05-26 | 城云科技(中国)有限公司 | 数据表结构自动更新方法和装置 |
CN113420026B (zh) * | 2021-06-22 | 2023-10-31 | 康键信息技术(深圳)有限公司 | 数据库表结构变更方法、装置、设备及存储介质 |
CN113468158B (zh) * | 2021-07-13 | 2023-10-31 | 广域铭岛数字科技有限公司 | 数据修复方法、系统、电子设备及介质 |
CN113672626B (zh) * | 2021-09-06 | 2024-02-13 | 中国银行股份有限公司 | 一种数据结构变更方法、装置及电子设备 |
CN114489763A (zh) * | 2021-12-22 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 数据获取方法、装置、电子设备及存储介质 |
CN115544969B (zh) * | 2022-11-29 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 基于超文本标记语言的页面对比方法、设备及介质 |
CN115794827B (zh) * | 2022-11-29 | 2023-07-21 | 广发银行股份有限公司 | 一种数据表结构管理系统和方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279475A (zh) * | 2013-04-11 | 2013-09-04 | 广东电网公司信息中心 | 一种web应用系统内容变更的检测方法及系统 |
WO2015022951A1 (ja) * | 2013-08-13 | 2015-02-19 | 株式会社ファルコン | 画面自動生成装置、画面自動生成プログラムおよび画面自動生成方法 |
CN104714957A (zh) * | 2013-12-13 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种表结构的变更方法及装置 |
CN104965735A (zh) * | 2015-06-18 | 2015-10-07 | 北京京东尚科信息技术有限公司 | 用于生成升级sql脚本的装置 |
CN106445949A (zh) * | 2015-08-07 | 2017-02-22 | 北京国双科技有限公司 | 检测数据表中数据变化的方法和装置 |
CN106503019A (zh) * | 2015-09-08 | 2017-03-15 | 中兴通讯股份有限公司 | 一种获取数据库变更信息的方法和装置 |
CN106776704A (zh) * | 2016-11-14 | 2017-05-31 | 平安科技(深圳)有限公司 | 统计信息收集方法和装置 |
-
2017
- 2017-11-10 CN CN201711106754.5A patent/CN108255925B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279475A (zh) * | 2013-04-11 | 2013-09-04 | 广东电网公司信息中心 | 一种web应用系统内容变更的检测方法及系统 |
WO2015022951A1 (ja) * | 2013-08-13 | 2015-02-19 | 株式会社ファルコン | 画面自動生成装置、画面自動生成プログラムおよび画面自動生成方法 |
CN104714957A (zh) * | 2013-12-13 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种表结构的变更方法及装置 |
CN104965735A (zh) * | 2015-06-18 | 2015-10-07 | 北京京东尚科信息技术有限公司 | 用于生成升级sql脚本的装置 |
CN106445949A (zh) * | 2015-08-07 | 2017-02-22 | 北京国双科技有限公司 | 检测数据表中数据变化的方法和装置 |
CN106503019A (zh) * | 2015-09-08 | 2017-03-15 | 中兴通讯股份有限公司 | 一种获取数据库变更信息的方法和装置 |
CN106776704A (zh) * | 2016-11-14 | 2017-05-31 | 平安科技(深圳)有限公司 | 统计信息收集方法和装置 |
Non-Patent Citations (2)
Title |
---|
Towards a Safe Method for Computing Dependencies in Database-Intensive Systems;Csaba Nagy 等;《IEEE》;20110217;第166-175页 * |
统计局数据处理平台的设计和实现;严华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;I140-1154 * |
Also Published As
Publication number | Publication date |
---|---|
CN108255925A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255925B (zh) | 一种数据表结构变更情况的显示方法及其终端 | |
TWI512506B (zh) | Sorting method and device for search results | |
EP3757815A1 (en) | Data processing method and device, storage medium, and electronic device | |
EP3477914A1 (en) | Data recovery method and device, and cloud storage system | |
CN110990390B (zh) | 数据协同处理方法、装置、计算机设备和存储介质 | |
CN111367976A (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN109376142B (zh) | 数据迁移方法及终端设备 | |
US11650875B2 (en) | Abnormal inode dynamic repair method and system, and related component | |
CN113051460A (zh) | 基于Elasticsearch的数据检索方法、系统、电子设备及存储介质 | |
CN111782728A (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN113918648A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN111047434A (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN109471917B (zh) | 数据处理方法、装置、设备及介质 | |
KR101690075B1 (ko) | 로그기반 소스코드파일 이슈도 구현 방법 | |
CN107315806B (zh) | 一种基于文件系统的嵌入式存储方法和装置 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN110851398A (zh) | 垃圾数据的回收处理方法、装置及电子设备 | |
CN111078738B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN111984600B (zh) | 一种文件聚合方法、装置、设备及可读存储介质 | |
CN114116723A (zh) | 快照处理方法、装置及电子设备 | |
CN109033271B (zh) | 基于列存储的数据插入方法、装置、服务器及存储介质 | |
CN110674224B (zh) | 实体数据的处理方法、装置、设备及计算机可读存储介质 | |
CN105512232A (zh) | 数据存储方法及装置 | |
CN110874246A (zh) | 一种模块加载方法、系统及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |