一种数据库信息推送方法、智能终端及存储介质与流程

文档序号:30513514发布日期:2022-06-25 02:34阅读:88来源:国知局
一种数据库信息推送方法、智能终端及存储介质与流程

1.本发明涉及数据库技术领域,尤其涉及的是一种数据库信息推送方法、智能终端及存储介质。


背景技术:

2.数据库是依照预设数据模型组织并存放于存储器中的数据集合,这种数据集合为特定组织的多种应用服务,具有独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制的特点。
3.现有数据库在开发和应用过程中,不可避免的需要对数据库进行变更,如数据的修改、表格的创建及修改等,但由于现有数据库的数据库变更信息不能智能显示出来并给予开发人员有效地提示,导致数据库开发受限,数据库安全性得不到保障,且不易后期维护。
4.因此,现有技术还有待改进和发展。


技术实现要素:

5.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据库信息推送方法、智能终端及存储介质,旨在解决现有数据库变更信息不能智能显示出来并给予开发人员有效地提示,导致数据库开发受限,数据库安全性得不到保障,且不易后期维护的问题。
6.本发明解决问题所采用的技术方案如下:
7.第一方面,本发明实施例提供一种数据库信息推送方法,其中,所述方法包括:
8.获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息;
9.根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户;
10.将所述数据库变更信息推送给所述权限用户组和所述权限用户。
11.所述的数据库信息推送方法,其中,所述根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户的步骤之前包括:
12.对若干所述数据库表进行权限分配,将若干所述数据库表分配给预设的权限用户组和权限用户,并基于若干所述数据库表和若干所述数据库表对应的所述权限用户组和所述权限用户建立数据库权限管控表。
13.所述的数据库信息推送方法,其中,所述数据库包括数据库主库和数据库从库,所述获取数据库对应的数据库日志的步骤包括:
14.通过canal组件模拟所述数据库从库的交互协议,向所述数据库主库发送dump协议,从所述数据库主库获取数据库对应的数据库日志。
15.所述的数据库信息推送方法,其中,所述从所述数据库日志中解析出数据库变更信息的步骤包括:
16.采用canal组件解析所述数据库日志,从所述数据库日志中解析出数据库变更信息。
17.所述的数据库信息推送方法,其中,所述根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户的步骤包括:
18.将所述数据库变更信息与若干所述数据库表进行比较,从若干所述数据库表中确定所述数据库变更信息对应的目标数据库表;
19.根据所述目标数据库表查询预先构建的数据库权限管控表,获取所述目标数据库表对应的权限用户组和权限用户,并将所述目标数据库表对应的权限用户组和权限用户作为所述变更信息对应的权限用户组和权限用户。
20.所述的数据库信息推送方法,其中,所述将所述数据库变更信息推送给所述权限用户组和所述权限用户的步骤包括:
21.通过邮件或短信的方式将所述数据库变更信息推送给所述权限用户组和所述权限用户。
22.所述的数据库信息推送方法,其中,所述数据库信息推送方法还包括:
23.实时获取用户对若干所述数据库表的变更指令;
24.根据所述变更指令对若干所述数据库表进行变更,并基于若干所述数据库表的变更更新所述数据库日志。
25.所述的数据库信息推送方法,其中,所述将所述数据库变更信息推送给所述权限用户组和所述权限用户的步骤之后还包括:
26.记录所述数据库变更信息在所述数据库日志中的位置。
27.第二方面,本发明实施例还提供一种数据库信息推送装置,其中,所述装置包括:
28.信息获取单元,用于获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息;
29.用户匹配单元,用于根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户;
30.信息推送单元,用于将所述数据库变更信息推送给所述权限用户组和所述权限用户。
31.第三方面,本发明实施还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的数据库信息推送方法。
32.第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的数据库信息推送方法。
33.本发明的有益效果:本发明实施例首先获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息,然后,根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户,最后,将所述数据库变更信息推送给所述权限用户组和所述权限用户,因此,根据数据库变更信息查询预先建立的数据库权限管控表,将数据库变更信息推送给对应的权限用户组和权限用户,实现对数据库变更的统一管控,防止数据库被随意篡改而不可知,提高了数据库的开发效率、稳定性以及安全性,节省数据库开发的时间成本和人力成本。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本发明实施例提供的数据库信息推送方法的流程示意图;
36.图2是本发明实施例提供的数据库信息推送方法中获取数据库对应的数据库日志的流程示意图;
37.图3是本发明实施例提供的数据库信息推送装置的原理框图;
38.图4是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
39.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
40.需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
41.现有技术中,由于前期不能合理地规划和设计数据库,加上团队开发人员能力参差不齐,导致后期不可避免的需要对数据库表结构和数据库表数据进行变更。但由于现有数据库的数据库变更信息不能智能显示出来并给予开发人员有效地提示(例如某一数据库表结构发生变化,由于没有相应提示,该数据库表对应的开发团队和开发人员并不知道这一变动),导致数据库开发受限,数据库安全性得不到保障,且不易后期维护。
42.为了解决现有技术的问题,本实施例提供了一种数据库信息推送方法,通过所述方法可以实现在数据库发生变更时,将数据库变更信息及时推送给相关的权限用户组和权限用户,实现对数据库变更的统一管控,防止数据库被随意篡改而不可知,提高了数据库的开发效率、稳定性以及安全性,节省数据库开发的时间成本和人力成本。具体实施时,首先获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息,然后,根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户,最后,将所述数据库变更信息推送给所述权限用户组和所述权限用户,因此,根据数据库变更信息查询预先建立的数据库权限管控表,将数据库变更信息推送
slave)的交互协议,将自己伪装成为mysql skave,向数据库主库(mysql master)发送dump协议,mysql master收到dump请求,开始推送数据库日志给slave(也就是canal组件)。
52.在一具体实施方式中,步骤s100中所述从所述数据库日志中解析出数据库变更信息的步骤包括
53.步骤s120、采用canal组件解析所述数据库日志,从所述数据库日志中解析出数据库变更信息。
54.具体地,所述数据库日志的模式包括row模式、statement模式以及mixed模式,由于row模式的数据库日志可以不用记录执行的sql语句的上下文相关的信息,能够清楚的记录每一行数据修改的细节,本实施例中的数据库日志采用row模式。考虑到数据库日志采用二进制格式存储,不能直接打开查看,本实施例中通过canal组件获取数据库对应的数据库日志后,进一步通过canal组件从row模式的所述数据库日志中解析出数据库变更信息。所述数据库变更信息中包含变更数据库表名、变更数据库库名、变更类型如数据的增加、删除、修改,以及数据库变更时间等。
55.步骤s200、根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户。
56.继续参照图2所示,本实施例中通过后端(php)服务端获取canal组件解析出的数据库变更信息,canal组件与后端(php)服务端通过socket进行通信,当canal组件解析出数据库变更信息后,后端(php)服务端获取数据库变更信息并对其进行分析。为了对数据库表进行统一的权限管控,本实施例中预先建立数据库权限管控表,所述数据库权限表中存储有数据库中若干数据库表对应的权限用户组和权限用户。例如,数据库表a对应的权限用户组为用户组a,权限用户为a1、b1、c1、d1;数据库表b对应的权限用户组为用户组b,权限用户为a2、b2、c2、d2、e2。
57.前述步骤中提到,数据库变更信息中包含变更数据库表名、变更数据库库名、变更类型以及数据库变更时间等,后端(php)服务端获取数据库变更信息后,根据数据库变更信息查询所述数据库权限管控表,即可确定所述数据库变更信息对应的权限用户组和权限用户。例如,数据库变更信息中包含数据库表a,则查询数据库权限管控表可以确定数据库变更信息对应的权限用户组为用户组a,权限用户为a1、b1、c1、d1。
58.在一具体实施方式中,步骤s200之前包括:
59.步骤m100、对若干所述数据库表进行权限分配,将若干所述数据库表分配给预设的权限用户组和权限用户,并基于若干所述数据库表和若干所述数据库表对应的所述权限用户组和所述权限用户建立数据库权限管控表。
60.考虑到数据库数据量庞大,需要多个团队和多个研发技术人员进行研发和维护,本实施例中根据数据库研发和维护需求,对数据库中的若干所述数据库表进行权限分配,将若干所述数据库表分配给预设的权限用户组和权限用户,并基于若干所述数据库表和若干所述数据库表对应的所述权限用户组和所述权限用户建立数据库权限管控表。例如,数据库表a由用户组a和用户a1、b1、c1、d1进行维护,则数据库权限管控表中数据库表a对应的权限用户组为用户组a,权限用户为用户a1、b1、c1、d1。
61.在一具体实施方式中,步骤s200具体包括:
62.步骤s210、将所述数据库变更信息与若干所述数据库表进行比较,从若干所述数据库表中确定所述数据库变更信息对应的目标数据库表;
63.步骤s220、根据所述目标数据库表查询预先构建的数据库权限管控表,获取所述目标数据库表对应的权限用户组和权限用户,并将所述目标数据库表对应的权限用户组和权限用户作为所述变更信息对应的权限用户组和权限用户。
64.具体地,后端(php)服务端获取数据库变更信息后,将所述数据库变更信息与若干所述数据库表进行比较,由于数据库变更信息中包含有变更数据表信息,如变更数据表名,变更数据表id等,将所述数据库变更信息与若干所述数据库进行比较,可以从若干所述数据库表中确定所述数据库变更信息对应的目标数据库表。例如,数据库变更信息中包含数据库表a,则将所述数据库变更信息与若干所述数据库表进行比较,可以确定所述数据变更信息对应的目标数据库表为数据库表a。
65.进一步地,后端(php)服务端获取到数据库变更信息对应的目标数据库表后,根据所述目标数据库表查询所述数据库权限管控表,即可获得目标数据库表对应的权限用户组和权限用户,并将所述目标数据库表对应的权限用户组和权限用户作为所述数据库变更信息对应的权限用户组和权限用户。例如,通过查询数据库权限管控表获得目标数据库表a对应的权限用户组为用户组a,权限用户为a1、b1、c1、d1,则数据库变更信息对应的权限用户组为用户组a,权限用户为a1、b1、c1、d1。
66.步骤s300、将所述数据库变更信息推送给所述权限用户组和所述权限用户。
67.具体地,后端(php)服务端确定数据库变更信息对应的权限用户组和权限用户后,将数据库变更信息通过邮件或短信等形式推送给其对应的权限用户组和权限用户,使得数据库表精确到权限用户组以及权限用户组中每个开发人员管控,实现了数据库的统一规范管理,提高了数据库的开发效率、稳定性和安全性,节省了数据库开发过程中的时间成本和人力成本。
68.当然,后端(php)服务端不仅用于推送数据库变更信息,还用于管理所述数据库权限管控表,配合开发人员做好数据库表的权限分配,在数据库表的权限发生变化时,更新所述数据库权限管控表。
69.在一具体实施方式中,所述数据库信息推送方法还包括:
70.步骤s410、实时获取用户对若干所述数据库表的变更指令;
71.步骤s420、基于所述变更指令修改若干所述数据库表并对应若干所述数据库表的变更更新所述数据库日志。
72.具体地,本实施例中会实时获取用户对数据库中若干所述数据库表的变更指令,所述变更指令可以包括数据的修改、表格的创建及修改等。获取到用户的变更指令后,会根据所述变更指令对若干所述数据库表进行变更,并基于若干所述数据库表的变更更新所述数据库日志。例如,用户的变更指令为在数据库表a的第五行中增加数据m,则根据所述变更指令在数据库表a的第五行增加数据m,并基于该数据库变更更新数据库日志。
73.在一具体实施例中,步骤s300之后还包括:
74.步骤s500、记录所述数据库变更信息在所述数据库日志中的位置。
75.具体地,数据库日志中包含多条数据库变更信息,为了方便canal组件下次从数据库日志中解析出数据库变更信息,本实施例中后端(php)服务端收到数据库变更信息并推
送成功后,发送回执给canal组件,同时canal组件对该数据库变更信息在数据库日志中的位置进行记录,以便canal组件下次从数据库日志中解析数据库变更信息时,从该数据库变更信息的位置进行解析,避免对数据库变更信息进行重复解析和推送。
76.由此可见,本发明实施例首先获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息,然后,根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户,最后,将所述数据库变更信息推送给所述权限用户组和所述权限用户,因此,根据数据库变更信息查询预先建立的数据库权限管控表,将数据库变更信息推送给对应的权限用户组和权限用户,实现对数据库变更的统一管控,防止数据库被随意篡改而不可知,提高了数据库的开发效率、稳定性以及安全性,节省数据库开发的时间成本和人力成本。
77.示例性设备
78.如图3中所示,本发明实施例提供一种数据库信息推送装置,该装置包括:信息获取单元310、用户匹配单元320、信息推送单元330。具体地,所述信息获取单元310,用于获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息。所述用户匹配单元320,用于根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户。所述信息推送单元330,用于将所述数据库变更信息推送给所述权限用户组和所述权限用户。
79.基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图4所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库信息推送方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
80.本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
81.在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
82.获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息;
83.根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户;
84.将所述数据库变更信息推送给所述权限用户组和所述权限用户。
85.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
86.综上所述,本发明公开了一种数据库信息推送方法、智能终端及存储介质,所述方法包括:获取数据库对应的数据库日志,从所述数据库日志中解析出数据库变更信息;根据所述数据库变更信息查询预先建立的数据库权限管控表,确定所述数据库变更信息对应的权限用户组和权限用户;其中,所述数据库中包含若干数据库表,所述数据库权限管控表中存储有与若干所述数据库表对应的权限用户组和权限用户;将所述数据库变更信息推送给所述权限用户组和所述权限用户。本发明根据数据库变更信息查询预先建立的数据库权限管控表,将数据库变更信息推送给对应的权限用户组和权限用户,实现对数据库变更的统一管控,防止数据库被随意篡改而不可知,提高了数据库的开发效率、稳定性以及安全性,节省数据库开发的时间成本和人力成本。
87.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1