数据库操作审计方法、存储介质及设备与流程
未命名
08-26
阅读:121
评论:0
1.本发明涉及数据库技术领域,特别是涉及一种数据库操作审计方法、存储介质及设备。
背景技术:
2.在数据库的使用过程中,对数据库的操作通常需要非常谨慎,所以,对数据库的操作过程进行审计是数据库的重要工作之一。通过对数据库操作进行审计,便于用户在数据库出现事故时对事故原因进行查询分析。
3.目前,对数据库操作进行审计的方式通常是将审计功能嵌入到数据库中,也就是使得数据库自带审计功能。这种方案的问题在于将审计逻辑嵌入到了数据的处理逻辑中,会极大的拖慢数据库的访问性能。
技术实现要素:
4.本发明的一个目的是要提供一种减少对数据库的侵入性的数据库操作审计方法、存储介质及设备。
5.特别地,本发明提供了一种利用数据同步软件的数据库操作审计方法,数据同步软件预置有读取插件、解析插件和写出插件,以及至少一个审计插件,审计插件依次设置在解析插件和写出插件之间,读取插件、解析插件、审计插件和写出插件按顺序对数据进行处理;
6.数据库操作审计方法包括:
7.启动读取插件、解析插件、审计插件和写出插件;
8.在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接;
9.利用读取插件读取数据库日志;
10.利用解析插件获取数据库日志并对数据库日志进行解析,得到增量事务数据;
11.利用审计插件获取增量事务数据并对增量事务数据进行审计;
12.利用写出插件获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。
13.可选地,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接的步骤包括:
14.在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立队列。
15.可选地,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接的步骤包括:
16.在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立共享内存。
17.可选地,利用审计插件获取增量事务数据并对增量事务数据进行审计的步骤之后包括:
18.将审计后的增量事务数据记录到审计日志中。
19.可选地,利用审计插件获取增量事务数据并对增量事务数据进行审计的步骤之后包括:
20.将审计记录发送到预设的接收端,以供用户调取。
21.可选地,接收端包括系统日志、三方数据库或者预警平台。
22.可选地,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接的步骤之后包括:
23.在每个插件建立线程,线程用于对处理数据,相邻的所述插件的线程利用两个插件之间的连接传递数据。
24.可选地,利用解析插件获取数据库日志并对数据库日志进行解析的步骤包括:
25.利用解析插件对数据库日志进行解析,得到数据库操作;
26.将属于同一事务的数据库操作组成事务,得到增量事务数据。
27.根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现根据上述任一项所述的数据库操作审计方法。
28.根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现根据上述任一项所述的数据库操作审计方法。
29.本发明的数据库操作审计方法通过在数据同步软件预置读取插件、解析插件、审计插件和写出插件。利用读取插件读取数据库日志,利用解析插件获取数据库日志并对数据库日志进行解析,利用审计插件获取增量事务数据并对增量事务数据进行审计,利用写出插件获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。也就是说,将审计插件嵌入数据同步软件中,使得数据同步软件能够对数据库操作进行审计。从而,避免了将审计功能内嵌在数据库中,减少了对数据库的侵入性,有效地避免拖慢数据库的访问性能。而且,因为数据同步软件用于对数据库数据进行同步,所以能够获取到全部的数据库日志,能够保证对数据库操作审计的全面性,防止遗漏数据库操作。
30.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
31.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
32.图1是根据本发明一个实施例的数据同步软件中插件处理顺序的示意图;
33.图2是根据本发明一个实施例的数据库操作审计方法的示意性流程图;
34.图3是根据本发明一个实施例的数据库操作审计方法中利用解析插件获取数据库日志并对数据库日志进行解析的示意性流程图;
35.图4是根据本发明另一个实施例的数据同步软件中插件处理顺序的示意图;
36.图5是根据本发明另一个实施例的数据库操作审计方法的示意性流程图;
37.图6是根据本发明又一个实施例的数据库操作审计方法的示意性流程图;
38.图7是根据本发明一个实施例的机器可读存储介质的示意图;
39.图8是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
40.本领域技术人员应当理解的是,下文所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,该一部分实施例旨在用于解释本发明的技术原理,并非用于限制本发明的保护范围。基于本发明提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本发明的保护范围之内。
41.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
42.如图1和图2所示,在一个实施例中,数据同步软件预置有读取插件10、解析插件20、审计插件30和写出插件40。读取插件10、解析插件20、审计插件30和写出插件40按顺序对数据进行处理。具体地,读取插件10、解析插件20、审计插件30和写出插件40预置在数据同步软件的增量解析程序中。增量解析程序为开放式的结构,定义有抽象入口,该抽象入口实现启动、停止和处理数据三种方法,所有与抽象入口匹配的插件均可以插入增量解析程序中,也就是能够实现启动、停止以及处理数据的插件均可以插入增量解析程序中。其中,处理数据为统称,具体的处理方式可以不同。
43.参照图2所示,进一步地,本实施例的数据库操作审计方法一般性地包括:
44.步骤s201,启动读取插件、解析插件、审计插件和写出插件。具体地,也就是控制读取插件10、解析插件20、审计插件30和写出插件40开始工作。
45.步骤s202,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接。具体地,读取插件10、解析插件20、审计插件30和写出插件40按顺序对一条数据进行处理,所以也就是在读取插件10和解析插件20之间建立连接,在解析插件20和审计插件30之间建立连接,在审计插件30和写出插件40之间建立连接。
46.在一种实施方式中,本步骤包括:在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立队列。也就是在读取插件10和解析插件20之间建立队列,在解析插件20和审计插件30之间建立队列,在审计插件30和写出插件40之间建立队列。使得在相邻的两个插件之间,上一插件处理完的数据放入队列中,下一插件从队列中进行读取并处理。
47.在一种实施方式中,本步骤包括:在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立共享内存。也就是在读取插件10和解析插件20之间建立共享内存,在解析插件20和审计插件30之间建立共享内存,在审计插件30和写出插件40之间建立共享内存。使得在相邻的两个插件之间,上一插件处理完的数据放入共享内存中,下一插件从共享内存中进行读取并处理。
48.步骤s203,利用读取插件读取数据库日志。具体地,读取插件10从数据库的日志中
将数据库日志读取出来。
49.步骤s204,利用解析插件获取数据库日志并对数据库日志进行解析,得到增量事务数据。具体地,解析插件20从读取插件10获取到数据库日志,并对数据库日志进行解析。
50.参照图3所示,本步骤包括:
51.步骤s301,利用解析插件对数据库日志进行解析,得到数据库操作。具体地,在数据库日志中,并不是以事务为单位进行存储,而是以操作为单位进行存储。也就是说,不同事务的操作可能穿插着被存储在数据库日志中。所以,解析插件20对数据库日志进行解析,首先解析出数据库操作。
52.步骤s302,将属于同一事务的数据库操作组成事务,得到增量事务数据。具体地,在解析到一个事务的提交操作后,说明该事务的全部操作均已解析出来,将属于同一事务的全部数据库操作组成事务,也就是得到增量事务数据。以事务为单位发送至下一步处理的插件。
53.步骤s205,利用审计插件获取增量事务数据并对增量事务数据进行审计。具体地,审计插件30获取由解析插件20解析出的增量事务数据,审计插件30对增量事务数据进行审计,也就是审计对数据库的操作。
54.步骤s206,利用写出插件获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。在审计插件30将增量事务数据审计完成后,写出插件40获取增量事务数据,写到增量文件中,以用于数据同步。
55.在本实施例的方案中,通过在数据同步软件预置读取插件10、解析插件20、审计插件30和写出插件40。利用读取插件10读取数据库日志,利用解析插件20获取数据库日志并对数据库日志进行解析,利用审计插件30获取增量事务数据并对增量事务数据进行审计,利用写出插件40获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。也就是说,将审计插件嵌入数据同步软件中,使得数据同步软件能够对数据库操作进行审计。从而,避免了将审计功能内嵌在数据库中,减少了对数据库的侵入性,有效地避免拖慢数据库的访问性能。
56.而且,因为数据同步软件用于对数据库数据进行同步,所以能够获取到全部的数据库日志,能够保证对数据库操作审计的全面性,防止遗漏数据库操作。
57.参照图4所示,在一个实施例中,数据同步软件预置有读取插件10、解析插件20、第一审计插件31、第二审计插件32和写出插件40。第一审计插件31和第二审计插件32依次设置在解析插件20和写出插件40之间,读取插件10、解析插件20、第一审计插件31、第二审计插件32和写出插件40按顺序对数据进行处理。具体地,因为与抽象入口匹配的插件均可以插入增量解析程序中,所以可以插入多个审计插件,实现不同预设规则的审计。
58.参照上述实施例所述,在本实施例中,利用审计插件获取增量事务数据并对增量事务数据进行审计的步骤即利用多个审计插件依次对增量事务数据进行审计。具体来说,也就是第一审计插件31获取到增量事务数据后,对增量事务数据进行审计,再由第二审计插件32接收增量事务数据并进行审计,然后将审计完成后的增量事务数据发送至写出插件40。
59.需要说明的是,在其他一些实施例中,数据同步软件也可以预置有三个或更多的审计插件。也就是说,数据同步软件预置有读取插件、解析插件和写出插件,以及至少一个
审计插件。
60.如图1和图5所示,在一个实施例中,数据库操作审计方法一般性地包括:
61.步骤s501,启动读取插件、解析插件、审计插件和写出插件。
62.步骤s502,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立队列。
63.步骤s503,在每个插件建立线程。线程用于对处理数据,相邻的插件的线程利用两个插件之间的连接传递数据。具体地,在每个插件都生成一个线程,每个线程循环执行所在插件的处理一条数据的方法。
64.步骤s504,利用读取插件读取数据库日志。具体地,读取插件10的线程循环从数据库的日志中将数据库日志读取出来,每读取一条数据库日志,将数据库日志放入读取插件10和解析插件20之间的队列中。
65.步骤s505,利用解析插件获取数据库日志并对数据库日志进行解析,得到增量事务数据。具体地,解析插件20的线程从读取插件10和解析插件20之间的队列中获取到数据库日志,并对数据库日志进行解析。待解析出增量事务数据后,也就是解析出一个完整的事务后,将事务放入解析插件20和审计插件30之间的队列中。
66.步骤s506,利用审计插件获取增量事务数据并对增量事务数据进行审计。具体地,审计插件30从解析插件20和审计插件30之间的队列中获取由解析插件20解析出的增量事务数据,审计插件30对增量事务数据进行审计,也就是审计对数据库的操作。审计完成后的增量事务数据放入审计插件30和写出插件40之间的队列中。
67.步骤s507,利用写出插件获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。写出插件40从审计插件30和写出插件40之间的队列中获取增量事务数据,写到增量文件中,以用于数据同步。
68.通过在相邻的插件之间建立队列,并在每个插件建立线程,使得插件的线程能够从队列中按顺序获取待处理的数据,有利于保证数据的顺序处理。
69.需要说明的是,也可以在每个插件建立进程。
70.如图6所示,在一个实施例中,数据库操作审计方法一般性地包括:
71.步骤s601,启动读取插件、解析插件、审计插件和写出插件。
72.步骤s602,在读取插件、解析插件、审计插件和写出插件中相邻的两个插件之间建立连接。
73.步骤s603,利用读取插件读取数据库日志。
74.步骤s604,利用解析插件获取数据库日志并对数据库日志进行解析,得到增量事务数据。
75.步骤s605,利用审计插件获取增量事务数据并对增量事务数据进行审计。
76.步骤s606,将审计后的增量事务数据记录到审计日志中。具体地,也就是按照预设的格式将经过审计的数据库操作记录到审计日志中,从而保留审计记录。
77.步骤s607,将审计记录发送到预设的接收端,以供用户调取。具体地,接收端括系统日志、三方数据库或者预警平台。通过将审计记录发送到预设的接收端,可以使得多个用户端同时对审计记录进行调取,提高检查效率。
78.需要说明的是,预设的接收端可以是一个,也可以是多个。
79.另外,可以只记录审计日志,也可以只将审计记录发送至接收端。
80.本实施例还提供了一种机器可读存储介质和计算机设备。图7是根据本发明一个实施例的机器可读存储介质100的示意图。图8是根据本发明一个实施例的计算机设备200的示意图。
81.机器可读存储介质100其上存储有机器可执行程序110,机器可执行程序110被处理器执行时实现上述任一实施例的数据库操作审计方法。
82.计算机设备200可以包括存储器210、处理器220及存储在存储器210上并在处理器220上运行的机器可执行程序110,并且处理器220执行机器可执行程序110时实现上述任一实施例的数据库操作审计方法。
83.就本实施例的描述而言,机器可读存储介质100可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,机器可读存储介质100甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
84.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
85.计算机设备200可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备200可以是云计算节点。计算机设备200可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备200可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
86.计算机设备200可以包括适于执行存储的指令的处理器220、在操作期间为所述指令的操作提供临时存储空间的存储器210。处理器220可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器210可以包括随机存取存储器(ram)、只读存储器、闪存或任何其他合适的存储系统。
87.处理器220可以通过系统互连(例如pci、pci-express等)连接到适于将计算机设备200连接到一个或多个i/o设备(输入/输出设备)的i/o接口(输入/输出接口)。i/o设备可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。i/o设备可以是计算机设备200的内置组件,或者可以是外部连接到计算设备的设备。
88.处理器220也可以通过系统互连链接到适于将计算机设备200连接到显示设备的显示接口。显示设备可以包括作为计算机设备200的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备200的计算机监视器、电视机或投影仪等。此外,网络接口控制器
(network interface controller,nic)可以适于通过系统互连将计算机设备200连接到网络。在一些实施例中,nic可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(wan))、局域网(lan)或因特网等等。远程设备可以通过网络连接到计算设备。
89.本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
90.至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
技术特征:
1.一种利用数据同步软件的数据库操作审计方法,所述数据同步软件预置有读取插件、解析插件和写出插件,以及至少一个审计插件,所述审计插件依次设置在所述解析插件和所述写出插件之间,所述读取插件、所述解析插件、所述审计插件和所述写出插件按顺序对数据进行处理;所述数据库操作审计方法包括:启动所述读取插件、所述解析插件、所述审计插件和所述写出插件;在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立连接;利用所述读取插件读取数据库日志;利用所述解析插件获取所述数据库日志并对所述数据库日志进行解析,得到增量事务数据;利用所述审计插件获取所述增量事务数据并对所述增量事务数据进行审计;利用所述写出插件获取审计完成后的增量事务数据并将所述增量事务数据写出到增量文件中。2.根据权利要求1所述的数据库操作审计方法,其中,所述在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立连接的步骤包括:在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立队列。3.根据权利要求1所述的数据库操作审计方法,其中,所述在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立连接的步骤包括:在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立共享内存。4.根据权利要求1所述的数据库操作审计方法,其中,所述利用审计插件获取所述增量事务数据并对所述增量事务数据进行审计的步骤之后包括:将审计后的所述增量事务数据记录到审计日志中。5.根据权利要求1所述的数据库操作审计方法,其中,所述利用审计插件获取所述增量事务数据并对所述增量事务数据进行审计的步骤之后包括:将审计记录发送到预设的接收端,以供用户调取。6.根据权利要求5所述的数据库操作审计方法,其中,所述接收端包括系统日志、三方数据库或者预警平台。7.根据权利要求1所述的数据库操作审计方法,其中,在所述读取插件、所述解析插件、所述审计插件和所述写出插件中相邻的两个插件之间建立连接的步骤之后包括:在每个插件建立线程,所述线程用于对处理数据,相邻的所述插件的所述线程利用两个所述插件之间的连接传递数据。8.根据权利要求1所述的数据库操作审计方法,其中,所述利用所述解析插件获取所述数据库日志并对所述数据库日志进行解析的步骤包括:利用所述解析插件对所述数据库日志进行解析,得到数据库操作;将属于同一事务的所述数据库操作组成事务,得到所述增量事务数据。9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理
器执行时实现根据权利要求1至8任一项所述的数据库操作审计方法。10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库操作审计方法。
技术总结
本发明提供了一种数据库操作审计方法、存储介质及设备。数据同步软件预置有读取插件、解析插件和写出插件,以及至少一个审计插件,审计插件依次设置在解析插件和写出插件之间,读取插件、解析插件、审计插件和写出插件按顺序对数据进行处理。数据库操作审计方法包括:启动读取插件、解析插件、审计插件和写出插件;在相邻的两个插件之间建立连接;利用读取插件读取数据库日志;利用解析插件对数据库日志进行解析,得到增量事务数据;利用审计插件对增量事务数据进行审计;利用写出插件获取审计完成后的增量事务数据并将增量事务数据写出到增量文件中。利用数据同步软件对数据库操作进行审计,减少了对数据库的侵入性。减少了对数据库的侵入性。减少了对数据库的侵入性。
技术研发人员:王凯龙 冷建全
受保护的技术使用者:北京人大金仓信息技术股份有限公司
技术研发日:2023.05.31
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
