数据库表管理方法、装置及电子设备与流程

未命名 08-29 阅读:75 评论:0


1.本发明涉及计算机应用技术领域,尤其涉及一种数据库表管理方法、装置、电子设备及存储介质。


背景技术:

2.随着企业规模的壮大和业务形式的复杂化,企业内部对数据库管理能力要求越来越高。面对数据库中海量存储的数据库表,在实际数据库运营的过程中,管理员需要及时关注库中数据库表的相关状态。
3.目前,一些管理平台通过将数据库中所有的数据库表进行整理,以提供库表查询功能,方便管理员能快速了解数据库表,但也只会记录数据库中各个数据库表的最新情况,功能单一。
4.但是,对于一些比较重要的数据库表,由于目前的数据库管理平台无法提供数据库表的监测、追溯功能,致使其已难以满足众多企业的数据库管理需求。


技术实现要素:

5.本发明提供一种数据库表管理方法、装置、电子设备及存储介质,用以至少解决现有技术中数据库管理平台无法提供数据库表的监测功能和追溯功能的缺陷。
6.本发明提供一种数据库表管理方法,所述方法包括:检测对数据库表的更新操作,所述更新操作包括更新库表标识;在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;根据所述目标数据库表的标识,确定目标数据库表的字段数据;根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
7.根据本发明提供的一种数据库表管理方法,所述检测对数据库表的更新操作,所述更新操作包括更新库表标识包括:监听数据库操作日志,从所述数据库操作日志中确定符合预设条件的更新操作,所述预设条件用于定义数据库操作中属于对数据库表的更新操作;根据所述更新操作,确定所操作的数据库表的更新库表标识。
8.根据本发明提供的一种数据库表管理方法,在根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表之后,所述数据库表管理方法还包括:接收客户端发送的数据库表查询请求,所述数据库表查询请求包括待查询的库表标识;其中,所述数据库表查询请求是基于所述客户端的监测选项而触发的;查询与所述待查询的库表标识对应的所述数据版本表中的字段数据;响应于所述数据库表查询请求,发送所查询的所述字段数据至所述客户端。
9.根据本发明提供的一种数据库表管理方法,所述监测库表标识清单的生成过程包括:接收客户端发送的数据库表监测请求,所述数据库表监测请求包括待更新版本的数据库表标识;基于所述待更新版本的数据库表标识,生成监测库表标识清单。
10.根据本发明提供的一种数据库表管理方法,在基于所述待更新版本的数据库表标识,生成监测库表标识清单之后,所述数据库表管理方法还包括:响应于所述数据库表监测请求,发送数据库表监测通知至所述客户端,使得所述客户端基于所述数据库表监测通知配置针对所述待更新版本的数据库表标识的监测选项。
11.根据本发明提供的一种数据库表管理方法,所述根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表包括:确定所述数据版本表中与所述目标数据库表的标识对应的历史版本号;基于所述历史版本号,生成目标版本号;根据所述目标数据库表的标识、所述目标版本号以及确定的所述字段数据,更新所述数据版本表。
12.根据本发明提供的一种数据库表管理方法,所述基于所述历史版本号,生成目标版本号包括:获取与所述更新操作对应的更新操作时间;确定所述历史版本号所对应的生成时间,并计算所述生成时间与所述更新操作时间之间的时间间隔;如果所述时间间隔小于或等于预设时间阈值,则将所述历史版本号确定为所述目标版本号;以及如果所述时间间隔大于所述预设时间阈值,则根据所述历史版本号生成所述目标版本号。
13.根据本发明提供的一种数据库表管理方法,所述根据所述目标数据库表的标识,确定目标数据库表的字段数据包括:从预设的数据库表集合中,确定与所述目标数据库表的标识相匹配的目标数据库表;读取所述目标数据库表中的字段数据。
14.本发明还提供一种数据库表管理装置,所述装置包括:检测单元,用于检测对数据库表的更新操作,所述更新操作包括更新库表标识;第一确定单元,用于在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;第二确定单元,用于根据所述目标数据库表的标识,确定目标数据库表的字段数据;更新单元,用于根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
15.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据库表管理方法。
16.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据库表管理方法。
17.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据库表管理方法。
18.本发明提供的一种数据库表管理方法、装置、电子设备及存储介质,在该方法中,通过对数据库表的更新操作进行检测,判断更新操作的数据库表是否属于监测范围内的,进而确定是否对更新操作的数据库表进行版本更新,当需要进行版本更新时,利用更新操作的数据库表的标识查询相应的数据库表的字段数据,并对数据版本表进行更新,实现了对监测范围内的数据库表的更新操作的监测和对相应字段数据通过数据版本表留档记录,记录数据库表在修改操作下结构的改变,便于追溯所监测的数据库表在不同历史版本的字段数据的变化。
19.此外,服务端可以从客户端接收包含待更新版本的数据库表标识的数据库表监测请求,生成监测库表标识清单。由此,数据库管理用户可以通过客户端录入需要监测版本更
新的数据库表标识,实现便捷高效地管理待更新版本的数据库表的范围。进一步地,在需要监测的待更新版本的数据库表标识成功加入监测范围后,客户端配置相应的监测选项,使得数据库管理用户能够通过操作此监测选项,实现对相应数据库表的版本追溯查询功能。
附图说明
20.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示出了适于应用本发明实施例的数据库表管理方法的环境的一示例的架构示意图;
22.图2示出了根据本发明实施例的一种数据库表管理方法的一示例的流程图;
23.图3示出了根据本示出了根据本发明实施例的一种数据库表管理方法的一示例的流程图;
24.图4示出了根据本发明实施例的数据库表管理方法的一示例的信号时序图;
25.图5示出了适于应用本发明实施例的数据库表管理方法的客户端的数据库表新建页面的一示例的界面示意图;
26.图6示出了适于应用本发明实施例的数据库表管理方法的客户端的监测选项页面的一示例的界面示意图;
27.图7示出了根据本发明实施例的数据库表管理方法的一示例的信号时序图;
28.图8示出了适于应用本发明实施例的数据库表管理方法的客户端的数据库表详情页面的一示例的界面示意图;
29.图9示出了根据本发明实施例的数据库表管理装置的一示例的结构框图;
30.图10是本发明提供的电子设备的结构示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.本发明的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
33.首先,针对本发明实施例涉及的应用场景进行描述,本发明实施例提供的数据库表管理方法可应用于数据库管理的软硬件产品中,如数据库服务后端管理组件、数据库平台前端管理应用程序或其他产品。
34.其中,数据库管理用户通过数据库管理软件产品对数据库中的数据库表的基本信息进行查询,例如数据库表的数据结构、表类型等,方便对数据库表有较直观的了解。但是,目前的数据库的管理软件产品的功能单一,虽然能展示数据库表的信息,但是只记录数据库表的最新情况,无法查看历史版本的记录。
35.基于此,本发明实施例提供了一种数据库表管理方法,通过对数据库表的更新操作进行检测,识别更新操作的数据库表是否属于监测范围内的,进而确定是否对更新操作的数据库表进行版本更新,当需要进行版本更新时,利用更新操作的数据库表的标识查询相应的数据库表的字段数据,并对数据版本表进行更新,实现了对监测范围内的数据库表的更新操作的监测和对相应字段数据通过数据版本表留档记录,使得数据库管理用户能够追溯所监测的数据库表在不同历史修改版本的字段数据。
36.图1示出了适于应用本发明实施例的数据库表管理方法的环境的一示例的架构示意图。
37.如图1所示,该实施环境包括客户端101和数据服务端102。
38.其中,客户端101可以为车载设备、智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。
39.在一些实施例中,客户端101具有通信功能,能够接入有线网络或无线网络。客户端101可以泛指多个设备中的一个,本发明实施例仅以客户端101来举例说明。本领域技术人员可以知晓,上述客户端的数量可以更多或更少。
40.在一些实施例中,客户端101上运行有数据库管理应用软件产品,以为数据库管理用户提供数据库管理相关的应用服务。示例地,客户端101可以采集用户的数据库管理需求信息,并可以通过网络向数据库服务端102发送数据库管理请求,以请求数据库服务端102来提供诸如数据库表查询之类的数据库管理服务。
41.在一些实施例中,数据库服务端102用于对一个或多个数据库中的数据库表进行管理和维护,除了能够向客户端101提供数据库的相关管理服务的基础上,还能够给实现其他的附加操作,例如数据库表操作人员通过基于后台编辑操作,对数据库服务端102所维护的一个或多个数据库表进行字段录入、修改或删除,以根据业务需求更新数据库表。
42.进一步地,数据库服务端102中还可以配置有数据版本表,以对所维护的数据库表中的一部分或全部进行版本记录的管理维护。在一些实施例中,上述数据库服务端102的数量能够更多或更少,本发明实施例对此不加以限定。当然,数据库服务端102还能够包括其他功能,以便提供更全面多样化的服务。
43.下面基于图1所示实施环境,对本发明实施例提供的方法进行介绍。
44.图2示出了根据本发明实施例的一种数据库表管理方法的一示例的流程图,该数据库表管理方法由服务端执行,例如图1中的数据库服务端102。
45.如图2所示,在步骤210中,检测对数据库表的更新操作,其中更新操作包括更新库表标识。
46.在一些示例中,服务端管理维护多个可被数据库管理用户应用或共享的数据集合和数据库表,其中数据库表便是用于描述数据集的。举例来说,针对用户信息集,其可以存在相应的一个或多个数据表,例如在用户基本信息表中,对用户信息集中的各类基本信息进行总结和描述。
47.表1针对用户信息集的用户基本信息表
48.姓名年龄职业张三8学生李四28教师
49.如表1所示,用户基本信息表中记录了用于描述用户信息集的多条描述字段数据,例如姓名、年龄、职业等。
50.应理解的是,上述表1所示的数据库表仅用作示例,其也可以采用其他未于此处描述的数据结构或数据类型。此外,由数据库服务端102所维护管理的数据库表集合中的数据库表的类型可以是多样化的,以满足不同数据场景的需求,例如用户健康信息表、用户设备信息表,等等。
51.这里,数据库表的更新操作可以表示针对数据库表中相应字段的修改、新增或删除等操作。更新操作所对应的更新库表标识可以包含各类型用于对所操作的数据库表进行标识的各类信息,例如数据库表名(例如,“用户基本信息表”)或数据库表主键(例如“表1”)等等。
52.需说明的是,针对数据库表的更新操作,可以是基于数据库表操作人员对特定数据库表的后台编辑操作而实现的,例如通过逻辑代码输入来更新特定数据库表中的字段数据。
53.这里,针对数据库表的更新操作的检测,其可以是通过各种不同的检测方式来实现的,例如服务端保持对所维护的各个数据库表的长连接以实现对数据库表的更新操作的检测,或者对数据库表的操作日志进行数据筛查检测,等等。
54.在步骤220中,在确定更新库表标识与监测库表标识清单相匹配的情况下,根据更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识。
55.这里,监测库表标识清单用于定义待更新版本的数据库表的范围。在一些示例中,监测库表标识清单中包含多个监测库表标识,以实现对在监测范围内的一个或多个数据库表的版本更新维护。具体地,监测库表标识可以包含以下中的一者或多者:库表中文名、库表英文名或库表主键。
56.应理解的是,监测库表标识清单中还可以包含除了所监测的数据库表的监测库表标识之外的其他数据信息,例如通过记录针对监测库表标识的辅助字段来描述所监测的数据库表的业务类型,满足不同业务的个性化数据场景的需求。
57.此外,监测库表标识清单可以是预先配置的,优选地,监测库表标识清单还可以根据业务需求进行调整,例如通过与客户端之间的交互操作而对监测库表标识清单进行构建或更新,更多细节将在下文中结合其他实施例展开。
58.具体地,在服务端检测到更新操作中的更新库表标识后,可以将更新库表标识与监测库表标识清单进行匹配。一方面,在不匹配时,服务端确定更新操作所操作的数据库表不属于监测表范围内的,则无需对其更新操作进行相应的版本更新。另一方面,在相匹配时,服务端确定更新操作所操作的数据库表属于监测表范围内,需要基于该更新操作对所操作的目标数据库表的版本进行更新,并可以将更新库表标识作为待更新的目标数据库表的标识。由此,通过监测库表标识清单,实现对所维护管理的数据库表集合中特定的一个或多个数据库表的版本更新监测,相比于对数据库中海量数据库表全部进行版本更新监测,能有效节约系统资源消耗。
59.在步骤230中,根据目标数据库表的标识,确定目标数据库表的字段数据。
60.这里,一方面,目标数据库表的字段数据是更新操作中对数据库表的操作确定的,例如由数据库表操作人员录入或删除的字段数据。结合表1中的示例,当数据库表操作人员
在表1中录入了新的字段数据“性别”,则所确定的目标数据库表的字段数据可以是“性别”。另一方面,所确定的目标数据库表的字段数据,还可以是更新操作后目标数据库表中的所有字段数据,例如表1中的“姓名”、“年龄”、“职业”和“性别”。
61.在步骤240中,根据目标数据库表的标识以及确定的字段数据,更新数据版本表。
62.在本发明实施例的一个示例中,针对监测表范围内的每个数据库表,可以分别设有相应的数据版本表。具体地,根据目标数据库表的标识确定相匹配的数据版本表,并可以将所确定的字段数据存储至此数据版本表中。在本发明实施例的另一示例中,多个数据库表可以共用同一个数据版本表。具体地,将所确定的字段数据关联目标数据库表的标识,并存储至数据版本表中。
63.需说明的是,在利用数据版本表对不同更新版本的目标数据库表进行维护时,一方面可以将更新后的目标数据库表中的所有字段全部读取并记录至数据版本表中,另一方面还可以仅将对应更新操作的字段数据记录至数据版本表中,以节约数据版本表的占用资源。此外,数据版本表中除了用于记录每次数据库表的更新操作对应的字段版本记录之外,还可以维护更多类型的信息,例如更新时间、操作人员信息等等,从而更直观地记录每次数据库表的更新操作。
64.图3示出了根据本示出了根据本发明实施例的一种数据库表管理方法的一示例的流程图,该数据库表管理方法由服务端执行,例如图1中的数据库服务端102。
65.如图3所示,在步骤310中,监听数据库操作日志,并从数据库操作日志中确定符合预设条件的更新操作。
66.这里,预设条件用于定义数据库操作中属于对数据库表的更新操作。应理解的是,数据库表操作人员对数据库表的操作类型是多样化的,包含除了更新操作类型之外的其他操作类型,例如查询、复制等等。由此,通过对应数据库表的更新操作的预设条件,能精确地从数据库操作日志中筛选出对应更新操作的操作日志数据。
67.在一些实施方式中,服务端可以采用消息队列中间件和数据库日志监听组件来实现对更新操作的检测。在部署组件时,一方面,在服务端上搭建rabbitmq消息中间件,以启用rabbitmq消息服务,能实现对rabbitmq消息服务中的消息的实时读取。另一方面,在数据库上应用canal开源组件,以实时监听数据库的binlog服务日志。具体地,当数据库表操作人员对数据库中的数据库表进行操作后,相应地在数据库操作日志中会记录相关操作。通过canal开源组件从数据库操作日志中过滤出对应更新操作的日志数据,例如对应创建表、修改表字段或删除表,进而及时将相应的操作信息推送至rabbitmq消息队列中,使得服务端能够实时监测到数据库中数据库表的变化。
68.在步骤320中,根据更新操作,确定所操作的数据库表的更新库表标识。具体地,可以从对应更新操作的日志数据中确定所操作的数据库表的更新库表标识。继续结合上文中的实例,当服务端读取到rabbitmq推送过来的日志数据后,可以提取日志数据中的数据库表标识,例如数据库名称和表名称。
69.在步骤330中,在确定更新库表标识与监测库表标识清单相匹配的情况下,根据更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识。具体地,通过将更新库表标识与预设置的监测库表标识清单进行查询对比,若能查询到相匹配的数据,证明通过日志读取到的更新操作的表是在监测范围内,需要对此表的更新操作进行版本更新记
录。
70.在步骤340中,从预设的数据库表集合中,确定与目标数据库表的标识相匹配的目标数据库表。这里,预设的数据库表集合可以表示由服务端维护管理的全部或部分的数据库表的集合。
71.具体地,在检测到对应监测范围内的更新操作时,触发服务端连接数据库,并可以利用目标数据库表的标识对数据库表集合进行查询匹配,以找到目标数据库表。由此,服务端可以仅在检测到对应在监测范围内的数据库表发生更新操作时,在数据库中查询并使用相应的数据库表,而不必对所维护的各个数据库表持续保持长连接,优化了对数据库表资源的占用情况。
72.在步骤350中,读取目标数据库表中的字段数据。
73.具体地,服务端可以读取目标数据库表此时的全部字段数据和相应的数据类型,或者,也可以读取目标数据库表中对应修改操作的字段数据和相应的数据类型。
74.在步骤360中,确定数据版本表中与目标数据库表的标识对应的历史版本号。
75.这里,数据版本表针对所对应的一个或多个数据库表分别维护了版本号。在一个示例中,如果目标数据库表的历史版本号为空,则可以依据初始设定的版本号(例如,v1.0.0)来确定目标库表。在另一示例中,如果目标数据库表的历史版本号不为空,则可以直接读取该历史版本号。
76.在步骤370中,基于历史版本号,生成目标版本号。
77.在本发明实施例的一个示例中,可以直接利用历史版本号和预设的版本号算法来生成目标版本号。举例来说,当采用版本号累加算法时,可以根据所检测到的针对目标数据库表的更新操作的次数来相应地累加版本号,依据最新的历史版本号进行逐次累加,例如v1.0.0

v1.0.1,v1.0.1

v1.0.2,等等。由此,当目标数据库表被进行多次修改时,会对版本号进行相应次数的更新。
78.在本发明实施例的另一示例中,可以获取与更新操作对应的更新操作时间,确定历史版本号所对应的生成时间,并计算生成时间与更新操作时间之间的时间间隔,如果时间间隔小于或等于预设时间阈值,则将历史版本号确定为目标版本号,另外,如果时间间隔大于预设时间阈值,则根据历史版本号生成目标版本号。由此,将更新操作的操作时间与历史版本号的生成时间进行对比,在时间差小于预设时间阈值时不为此更新操作生成新的版本号,节约了版本号资源。
79.在步骤380中,根据目标数据库表的标识、目标版本号以及确定的字段数据,更新数据版本表。
80.具体地,可以将更新操作所操作的目标数据库表的标识、确定的字段数据和目标版本号,关联存储至数据版本表中,实现基于所检测的更新操作对数据版本表中相应数据库表的版本维护更新。
81.需说明的是,针对所维护的数据库表集合,可以对服务端进行预先的配置部署。具体地,可以预先针对所维护的数据库集合,部署监测库表标识清单和数据版本表。示例性地,在监测库表标识清单中可以设置需要监测更新操作的各个数据库表标识和相应的辅助字段,其中监测库表标识清单中的各个数据库表标识可以是服务端所维护的对应于同一数据库中的各个数据库表的。另外,在数据版本表中可以记录监测更新操作的各个数据库表
标识和相应的版本号、更新时间、字段类型、字节大小、版本变化信息等等。这样,在服务端检测到针对数据库表的更新操作时,利用监测库表标识清单识别更新操作所对应的表是否属于监测范围内,并在服务端识别到更新操作所操作的数据库表标识属于监测范围内时,针对更新操作在数据版本表中进行版本记录。
82.在本发明实施例的一些示例中,监测库表标识清单还可以是通过服务端与客户端之间的交互操作而完成构建或更新的。结合图1中的示例,通过客户端101中的特定功能页面,数据库管理用户可以通过此页面录入需要监测版本更新的数据库表标识,实现对监测库表标识清单的构建、更新。
83.具体地,服务端可以从客户端接收包含待更新版本的数据库表标识数据库表监测请求,进而基于待更新版本的数据库表标识生成监测库表标识清单。
84.应理解的是,服务端还可以从客户端接收除待更新版本的数据库表标识之外的其他信息,并将其保存在监测库表标识清单中,例如该数据库表的分类信息、结构信息或业务信息等等,在此应不加限制。
85.图4示出了根据本发明实施例的数据库表管理方法的一示例的信号时序图,以通过客户端101与数据库服务端102之间的数据交互,实现将数据库管理用户所需求监测的数据库表的标识信息录入监测库表标识清单,并完成相应的数据库表版本留存。
86.如图4所示,在步骤410中,数据库管理用户操作库表新建页面,并可以在数据库表新建页面中输入需求监测的数据库表的各项相关信息。
87.图5示出了客户端的数据库表新建页面的一示例的界面示意图。如图5所示,数据库管理用户可以通过客户端101中的数据库新建页面500输入各项信息,例如所需求监测的数据库表的英文名、数据类型、数据分类和所属数据库等等。
88.在步骤420中,客户端101采集待监测的数据库表描述信息。这里,数据库表描述信息包含数据库表的标识信息,例如数据库表的英文名。
89.在步骤430中,客户端101判断所采集的数据库表的描述信息是否与历史录入的数据库表描述信息之间是否存在重复录入的情况。由此,实现将新录入监测范围的表与已监测的表进行对比,若名称重复,则可以相应提示不允许新建重复模型。
90.在步骤440中,在确定不存在数据库表重复录入的情况下,发送数据库表描述信息至数据库服务端102。
91.在步骤450中,将数据库管理用户录入的数据库表描述信息与数据库中的各个数据库表进行查询,以判断数据库中是否存在与录入的数据库表描述信息相匹配的数据库表。例如,数据库服务端102基于数据库管理用户录入的数据库表的英文名,在数据库中进行表名检索查询匹配,以识别是否存在相匹配的数据库表。
92.在步骤461中,当在数据库中未找到与录入的数据库表描述信息相匹配的数据库表时,发送不匹配通知至客户端101。
93.在步骤470中,执行录入错误提示通知,提示数据库管理用户重新录入数据库表描述信息。
94.在步骤480中,基于数据库表描述信息,数据库服务端102生成监测表标识清单。例如,可以依据数据库描述信息中的数据库表标识信息,生成监测表标识清单,能够监测数据库操作人员对数据库表的字段修改并留存相应的版本记录。
95.在步骤491中,数据库服务端102发送数据库表监测通知至客户端101。
96.一方面,在数据服务端侧执行以下操作:
97.在步骤4113中,数据库服务端102生成针对数据库表描述信息的初始版本号。
98.在步骤4115中,数据库服务端102从数据库中查询数据库表描述信息所对应的数据库表,并读取表中的字段数据。
99.在步骤4117中,数据库服务端102将初始版本号和所读取的字段数据关联存储至数据版本表中。
100.另一方面,在客户端侧执行以下操作:
101.在步骤4119中,根据数据库表监测通知,客户端101配置针对所录入的数据库表描述信息的监测选项。
102.图6示出了客户端的监测选项页面的一示例的界面示意图。如图6所示,通过客户端101中的监测选项页面600,数据库管理用户能够查看各个已经成功录入监测范围内的数据库表标识所对应的监测选项。
103.示例性地,通过客户端101在图5中的数据库表新建页面,数据库管理用户能够输入针对表名为“会议室信息”的各项信息,经过如图4中的处理后,在客户端101的如图6的监测选项页面中会增加对应“会议室信息”的监测选项。
104.在本发明实施例的一些示例中,数据库管理用户还可以通过客户端与服务端之间的数据交互,实现对特定数据库表的历史修改版本的查询功能,能直观地比较不同版本下数据库表的字段数据差别。
105.图7示出了根据本发明实施例的数据库表管理方法的一示例的信号时序图,以通过客户端101与数据库服务端102之间的数据交互,数据服务端102获知数据库管理用户所需求查询的数据表标识,查询此表对应不同修改版本的字段数据,将其反馈至客户端101,实现数据库管理用户对数据库表在不同修改版本的追溯查询功能。
106.如图7所示,通过步骤710至步骤750,实现对监测范围内数据库表的更新操作的监测,并将相应的更新操作存储至数据版本表中。
107.在步骤710中,数据库服务端102检测是否存在针对对应监测范围内的目标数据库表的更新操作。示例性地,数据库表操作人员在数据库后台对数据库表进行字段的删除、添加或修改操作。
108.在步骤720中,当检测到针对监测范围内的目标数据库表的更新操作时,数据库服务端102确定更新操作中的目标数据库表的标识。
109.在步骤730中,数据库服务端102更新针对目标数据库表的标识的版本号。
110.在步骤740中,数据库服务端102查询目标数据库表的字段数据。
111.在步骤750中,数据库服务端102将更新的版本号和相应的字段数据关联存储至数据版本表中。
112.通过步骤701至步骤704,数据库管理用户通过客户端进行操作,实现对数据库表在不同修改版本的追溯查询功能。
113.在步骤701中,数据库管理用户操作客户端101中的监测选项页面。
114.在步骤702中,客户端101获取待查询的库表标识。
115.在步骤703中,客户端101发送数据库表查询请求至数据库服务端102。
116.结合图6所示的监测选项页面,当数据库管理用户想要查询表名为“奖励荣誉汇总表”中的数据时,数据库管理用户可以操作对应序号“2”中的“详情”选项,以实现触发对应“奖励荣誉汇总表”的数据库查询请求。
117.在步骤760中,数据库服务端102确定对应待查询的库表标识的各个版本号和相应的字段数据。具体地,数据库服务端102可以查询与待查询的库表标识对应的数据版本表中的字段数据。
118.在步骤770中,数据库服务端102将所确定的各个版本号和相应的字段数据发送至客户端101。
119.在步骤704中,客户端101显示针对待查询的库表标识的各个版本号和相应的字段数据。
120.继续上文中的数据库管理用户操作示例,服务端可以将从数据版本表中查询得到的对应“奖励荣誉汇总表”的字段数据,并将其发送至客户端。进一步地,客户端可以根据所接收到的对应“奖励荣誉汇总表”的字段数据,渲染数据库表详情页面,使得数据库管理用户能够直观地看到与待查询的库表标识对应的不同修改版本的字段数据。
121.图8示出了客户端的数据库表详情页面的一示例的界面示意图。如图8所示,通过客户端101中的数据库表详情页面800,数据库管理用户能够查看待查询的数据库表“奖励荣誉汇总表”所对应的不同版本的字段数据。具体地,在对应更新时间为2023年01月18日的版本v1.0.1中存在三个字段数据“主键”、“用户主键”和“奖励/荣誉名称”,而在对应更新时间为2023年3月1日的版本v1.0.2中存在四个字段数据“主键”、“用户主键”、“奖励/荣誉名称”和“是否删除”,因此数据库管理用户可以直观地看到数据库操作人员在所记录的特定时间通过对应版本号v1.0.2的修改操作,在“奖励荣誉汇总表”数据表中新增了一个字段数据“是否删除”,实现了数据库管理用户对数据库表修改记录的追溯。
122.应理解的是,图8所示出的数据库表详情页面仅为一个示例,其可以把数据库表的最近两个版本号、更新时间及全部字段显示成两队列,方便数据库管理用户快速地看到不同版本的字段更新记录。在一些示例中,用户还可以在数据库表详情页面中查看更多的版本记录,方便用户知道该数据库表的更新次数及字段记录。由此,实现直观地展示数据库表结构在不同修改操作所发生的变化,便于评估数据库表的合理性。
123.需说明的是,在数据库表操作人员在对数据库表进行更新操作时,有可能会出现版本记录重复的情况。举例来说,当数据库操作人员对版本v1.0的目标数据库表s1中删除了字段“a”,使得在v2.0的表s1中不存在字段“a”。后面,数据库操作人员又向该表s1中重新添加了字段“a”,此时表s1的版本号从v2.0变为v3.0,但实质上版本v1.0和版本v3.0的表s1中的字段数据是重复的,导致版本v3.0的数据库表可能会复现v1.0的数据库表所存在的一些历史问题。
124.鉴于此,在本发明实施例的一些示例中,在客户端101实现数据库表查询功能时,客户端101从服务端102接收所查询的多个字段数据,每一字段数据分别具有相应的版本号。进而,客户端101可以将不同版本号所对应的字段数据进行对比,以检测是否存在不同版本号所对应的字段数据重复的情况。当检测到存在第一版本号所对应的字段数据与第二版本号所对应的字段数据重复时,可以根据第一版本号和第二版本号进行提示操作,例如,客户端101可以将对应第一版本号的字段数据和对应第二版本号的字段数据进行标记,以
提示版本字段重复风险。
125.下面对本发明提供的数据库表管理装置进行描述,下文描述的数据库表管理装置与上文描述的数据库表管理方法可相互对应参照。
126.图9示出了根据本发明实施例的数据库表管理装置的一示例的结构框图。
127.如图9所示,数据库表管理装置900包括检测单元910、第一确定单元920、第二确定单元930和更新单元940。
128.检测单元910用于检测对数据库表的更新操作,所述更新操作包括更新库表标识。
129.第一确定单元920用于在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表,所述监测库表标识清单用于定义待更新版本的数据库表的范围。
130.第二确定单元930用于根据所述目标数据库表的标识,确定目标数据库表的字段数据。
131.更新单元940用于根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
132.在一些实施方式中,检测单元910用于监听数据库操作日志,从所述数据库操作日志中确定符合预设条件的更新操作,所述预设条件用于定义数据库操作中属于对数据库表的更新操作;根据所述更新操作,确定所操作的数据库表的更新库表标识。
133.在本发明实施例的一些示例中,数据库表管理装置900还包括表查询反馈单元(未示出),用于在根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表之后,接收客户端发送的数据库表查询请求,所述数据库表查询请求包括待查询的库表标识;其中,所述数据库表查询请求是基于所述客户端的监测选项而触发的;查询与所述待查询的库表标识对应的所述数据版本表中的字段数据;响应于所述数据库表查询请求,发送所查询的所述字段数据至所述客户端。
134.在一些实施方式中,所述监测库表标识清单的生成过程包括:接收客户端发送的数据库表监测请求,所述数据库表监测请求包括待更新版本的数据库表标识;基于所述待更新版本的数据库表标识,生成监测库表标识清单。
135.在本发明实施例的一些示例中,数据库表管理装置900还包括监测通知反馈单元(未示出),用于在基于所述待更新版本的数据库表标识,生成监测库表标识清单之后,响应于所述数据库表监测请求,发送数据库表监测通知至所述客户端,使得所述客户端基于所述数据库表监测通知配置针对所述待更新版本的数据库表标识的监测选项。
136.在一些实施方式中,更新单元940包括历史版本号确定模块(未示出)、目标版本号确定模块(未示出)和版本表更新模块(未示出)。所述历史版本号确定模块,用于确定所述数据版本表中与所述目标数据库表的标识对应的历史版本号;所述目标版本号确定模块,用于基于所述历史版本号,生成目标版本号;所述版本表更新模块,用于根据所述目标数据库表的标识、所述目标版本号以及确定的所述字段数据,更新所述数据版本表。
137.在一些实施方式中,所述目标版本号确定模块用于获取与所述更新操作对应的更新操作时间;确定所述历史版本号所对应的生成时间,并计算所述生成时间与所述更新操作时间之间的时间间隔;如果所述时间间隔小于或等于预设时间阈值,则将所述历史版本号确定为所述目标版本号;以及如果所述时间间隔大于所述预设时间阈值,则根据所述历
史版本号生成所述目标版本号。
138.在一些实施方式中,第二确定单元930用于从预设的数据库表集合中,确定与所述目标数据库表的标识相匹配的目标数据库表;读取所述目标数据库表中的字段数据。
139.图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(communications interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行数据库表管理方法,该方法包括:检测对数据库表的更新操作,所述更新操作包括更新库表标识;在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;根据所述目标数据库表的标识,确定目标数据库表的字段数据;根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
140.此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
141.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据库表管理方法,该方法包括:检测对数据库表的更新操作,所述更新操作包括更新库表标识;在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;根据所述目标数据库表的标识,确定目标数据库表的字段数据;根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
142.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据库表管理方法,该方法包括:检测对数据库表的更新操作,所述更新操作包括更新库表标识;在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;根据所述目标数据库表的标识,确定目标数据库表的字段数据;根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。
143.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
144.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
145.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种数据库表管理方法,其特征在于,所述方法包括:检测对数据库表的更新操作,所述更新操作包括更新库表标识;在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;根据所述目标数据库表的标识,确定目标数据库表的字段数据;根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。2.根据权利要求1所述的数据库表管理方法,其特征在于,所述检测对数据库表的更新操作,所述更新操作包括更新库表标识包括:监听数据库操作日志,从所述数据库操作日志中确定符合预设条件的更新操作,所述预设条件用于定义数据库操作中属于对数据库表的更新操作;根据所述更新操作,确定所操作的数据库表的更新库表标识。3.根据权利要求1所述的数据库表管理方法,其特征在于,在根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表之后,所述数据库表管理方法还包括:接收客户端发送的数据库表查询请求,所述数据库表查询请求包括待查询的库表标识;其中,所述数据库表查询请求是基于所述客户端的监测选项而触发的;查询与所述待查询的库表标识对应的所述数据版本表中的字段数据;响应于所述数据库表查询请求,发送所查询的所述字段数据至所述客户端。4.根据权利要求3所述的数据库表管理方法,其特征在于,所述监测库表标识清单的生成过程包括:接收客户端发送的数据库表监测请求,所述数据库表监测请求包括待更新版本的数据库表标识;基于所述待更新版本的数据库表标识,生成监测库表标识清单。5.根据权利要求4所述的数据库表管理方法,其特征在于,在基于所述待更新版本的数据库表标识,生成监测库表标识清单之后,所述数据库表管理方法还包括:响应于所述数据库表监测请求,发送数据库表监测通知至所述客户端,使得所述客户端基于所述数据库表监测通知配置针对所述待更新版本的数据库表标识的监测选项。6.根据权利要求1所述的数据库表管理方法,其特征在于,所述根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表包括:确定所述数据版本表中与所述目标数据库表的标识对应的历史版本号;基于所述历史版本号,生成目标版本号;根据所述目标数据库表的标识、所述目标版本号以及确定的所述字段数据,更新所述数据版本表。7.根据权利要求6所述的数据库表管理方法,其特征在于,所述基于所述历史版本号,生成目标版本号包括:获取与所述更新操作对应的更新操作时间;确定所述历史版本号所对应的生成时间,并计算所述生成时间与所述更新操作时间之间的时间间隔;如果所述时间间隔小于或等于预设时间阈值,则将所述历史版本号确定为所述目标版
本号;以及如果所述时间间隔大于所述预设时间阈值,则根据所述历史版本号生成所述目标版本号。8.根据权利要求1所述的数据库表管理方法,其特征在于,所述根据所述目标数据库表的标识,确定目标数据库表的字段数据包括:从预设的数据库表集合中,确定与所述目标数据库表的标识相匹配的目标数据库表;读取所述目标数据库表中的字段数据。9.一种数据库表管理装置,其特征在于,所述装置包括:检测单元,用于检测对数据库表的更新操作,所述更新操作包括更新库表标识;第一确定单元,用于在确定所述更新库表标识与监测库表标识清单相匹配的情况下,根据所述更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,所述监测库表标识清单用于定义待更新版本的数据库表的范围;第二确定单元,用于根据所述目标数据库表的标识,确定目标数据库表的字段数据;更新单元,用于根据所述目标数据库表的标识以及确定的所述字段数据,更新数据版本表。10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述数据库表管理方法。

技术总结
本发明提供一种数据库表管理方法、装置及电子设备,其中,数据库管理方法包括:检测对数据库表的更新操作,更新操作包括更新库表标识;在确定更新库表标识与监测库表标识清单相匹配的情况下,根据更新库表标识确定待更新版本的目标数据库表及目标数据库表的标识,监测库表标识清单用于定义待更新版本的数据库表的范围;根据目标数据库表的标识,确定目标数据库表的字段数据;根据目标数据库表的标识以及确定的字段数据,更新数据版本表。由此,实现了对监测范围内的数据库表的更新操作的监测和对相应字段数据通过数据版本表留档记录,记录数据库表结构改变后的不同版本。录数据库表结构改变后的不同版本。录数据库表结构改变后的不同版本。


技术研发人员:吴星 闫紫艳 宋桂芳 韩凌
受保护的技术使用者:中电金信软件(上海)有限公司
技术研发日:2023.05.08
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐