CN113377789A - 数据库变更数据的处理方法、装置、计算机设备和介质 - Google Patents
数据库变更数据的处理方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN113377789A CN113377789A CN202110601826.3A CN202110601826A CN113377789A CN 113377789 A CN113377789 A CN 113377789A CN 202110601826 A CN202110601826 A CN 202110601826A CN 113377789 A CN113377789 A CN 113377789A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- change
- historical
- index
- 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.)
- Pending
Links
- 230000008859 change Effects 0.000 title claims abstract description 211
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000001914 filtration Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 22
- 241001178520 Stomatepia mongo Species 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/23—Updating
-
- 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
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机领域,具体涉及一种数据库变更数据的处理方法、装置、计算机设备和存储介质。所述方法包括:实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据,再按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息,最后将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。本发明实施例能够在不影响数据库自身业务的情况下,便捷地取得变更数据。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种数据库变更数据的处理方法、装置、计算机设备和存储介质。
背景技术
以下陈述仅提供与本发明有关的背景信息,而不必然地构成现有技术。
通常数据库只存储最新的数据,然而为了审计数据,还需要对历史的变更数据进行分析。现有的用于管理变更数据的方案有,对数据库接收到的SQL(Structured QueryLanguage,结构化查询语言)进行拦截和分析,当分析出该SQL会变更数据时,进而提取出该SQL所要操作的数据表的信息、所要操作的数据的信息,然后记录到历史表中,其中的拦截SQL的方式会导致数据库对该SQL的响应速度变慢。
发明内容
本发明针对上述不足或缺点,提供了一种数据库变更数据的处理方法、装置、计算机设备和存储介质,本发明实施例能够在不影响数据库自身业务的情况下,便捷地取得变更数据。
本发明根据第一方面提供了一种数据库变更数据的处理方法,在一个实施例中,该方法包括:
实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;
按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;
将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
在一个实施例中,从变更数据中解析出各条变更信息对应的存储位置信息的步骤,包括:
从变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;
通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。
在一个实施例中,该方法还包括:
定时查询指定数据库的索引,以及历史数据库的索引;
将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步。
在一个实施例中,将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步的步骤,包括:
将指定数据库的索引和历史数据库的索引进行比较,确定出指定数据库的索引和历史数据库的索引之间的交集;
删除历史数据库的索引中的不属于交集的索引;
将指定数据库的索引中的不属于交集的索引,新增至历史数据库中。
在一个实施例中,该方法还包括:
接收来自用户端的携带有查询条件的查询请求;
根据历史数据库的索引从历史数据库中查询与查询条件符合的变更信息;
将查询到的变更信息作为查询结果返回给用户端,使得用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
在一个实施例中,用于变更数据的操作语句为用于新增数据、删除数据或更新数据的SQL语句;历史数据库为Mongo数据库或ElasticSearch数据库;数据变更日志为binlog日志文件。
在一个实施例中,任一条操作语句对应的变更信息包括数据变更类型、数据变更时间、变更后数据和变更前数据。
本发明根据第二方面提供了一种数据库变更数据的处理装置,在一个实施例中,该装置包括:
第一数据处理模块,用于实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;
第二数据处理模块,用于按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;
数据存储模块,用于将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,通过实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据,再按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息,最后将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中,从而实现在不影响数据库自身业务的情况下,便捷地取得变更数据。
附图说明
图1为一个实施例中一种数据库变更数据的处理方法的应用环境图;
图2为一个实施例中一种数据库变更数据的处理方法的流程示意图;
图3为一个实施例中索引同步的流程示意图;
图4为一个实施例中响应用户查询请求的流程示意图;
图5为一个实施例中查询界面示意图;
图6为一个实施例中查询结果的示意图;
图7为一个实施例中一种数据库变更数据的处理装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本发明提供了一种数据库变更数据的处理方法。在一个实施例中,该数据库变更数据的处理方法可以应用在用于管理(可以包括变更数据的获得、存储、维护、以及提供给用户查询等操作)数据库变更数据的管理服务器中,可以应用于如图1所示的应用环境中。
其中,管理服务器10通过网络30拉取数据库20生成的数据变更日志,然后将数据变更日志解析为变更数据,然后对变更数据进行关键字过滤,并在从中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息,再将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。其中,管理服务器10是通过对变更数据进行过滤来获得用于变更数据的操作语句及其相关信息,相比现有通过拦截SQL的方式,不会影响到数据库原本的业务能力。
其中,管理服务器10可以是独立的服务器,也可以是多个服务器组成的,示例性地,管理服务器10可以包括解析服务器、消息中间件、日志记录服务器和历史数据库,其中,解析服务器用于从数据库拉取数据变更日志,以及将其解析为变更数据,并将其发送到消息中间件中,日志记录服务器可以对消息中间件进行监听,并在监听到其中存有变更数据时,从消息中间件拉取该变更数据,并将其存入历史数据库中。数据库20可以是MySQL服务器。
本实施例提供的一种数据库变更数据的处理方法包括如图2所示的步骤,下面以该方法应用于图1中的管理服务器为例进行说明。
S110:实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据。
在本实施例中,可以对指定数据库进行监听,以便在其生成数据变更日志后,及时拉取该数据变更日志。该指定数据库是指需要管理变更数据的数据库,其数量可以只有一个,也可以有多个,可以根据实际场景需求来调整。数据变更日志为binlog日志文件,binlog日志文件是二进制日志文件,用于记录MySQL的数据更新或者潜在更新(比如Delete语句执行删除而实际并没有符合条件的数据)。由于数据变更日志是二进制文件,无法直接进行识别,因而需要先将其解析为指定数据格式的变更数据。
S120:按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息。
在解析得到变更数据之后,按照预设关键字对其内容进行过滤,以过滤出用于变更数据的操作语句,其中,该操作语句为用于新增数据(Insert)、删除数据(Delete)或更新数据(Update)的SQL语句。
对于过滤出的每条操作语句,再从变更数据中解析出该条操作语句对应的变更信息以及存储位置信息,该存储位置信息也与该变更信息对应,其用于在将变更信息存储至历史数据库时确定出将该变更信息存储至哪个数据表。
进一步地,任一条操作语句对应的变更信息包括数据变更类型、数据变更时间、变更后数据和变更前数据等信息。其中,每条操作语句对应的数据变更类型为新增、删除或更新,“新增”是指将某条数据插入数据表中,“删除”是指将数据表中的某条数据删除,“新增”是指将数据表中的某条数据删除,然后将另一条数据插入数据表中,不同数据变更类型的操作语句所对应的变更后数据和变更前数据有所不同,具体可参见以下表一所示内容:
表一:
数据变更类型 | 变更前数据 | 变更后数据 |
新增 | 无 | 新增的数据内容 |
删除 | 删除的数据内容 | 无 |
更新 | 删除的数据内容 | 新增的数据内容 |
在一个实施方式中,从变更数据中解析出各条变更信息对应的存储位置信息的步骤,可以包括:从变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。其中,映射方法可以为实例名_数据库名_表名,假如解析得到的数据库实例名为A、数据库名为B和数据表名为C,那么可以映射得到对应的存储位置信息为A_B_C。
S130:将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
对于获得的变更信息,需要将其存储至历史数据库中。历史数据库是用于存储变更数据的数据库,其可以使用Mongo数据库或ElasticSearch数据库来实现。利用上述数据库可以减少维护数据表的结构的成本。以历史数据库为Mongo数据库为例,Mongo数据库不需要维护数据表的结构,当需要存储变更信息时,假如Mongo数据库中已经有与该变更信息对应的存储位置信息对应的数据表,那么就将变更信息存入其中,假如Mongo数据库中没有与该变更信息对应的存储位置信息对应的数据表,那么Mongo数据库会自动创建数据表(在Mongo数据库中,数据表具体指集合,collection),其中,该数据表的表名是该变更信息对应的存储位置信息。进一步地,在存储数据时,可以将变更信息中的变更前数据和变更后数据以JSON(JavaScript Object Notation,JS对象简谱)的格式来存储,这样就不用预先定义数据表的结构,存储时更为便捷。另一方面,现有技术中,历史表和记录最新数据的表都存于同一个数据库中,每张要记录的表要相应建立一张历史表,这种方式在维护历史表的结构时成本较高,而由于Mongo数据库能够自动建立数据表,因此采用Mongo数据库作为历史数据库可以降低历史表的维护成本。
此外,历史数据库与指定数据库不是同一个数据库,这样可以避免需要存储的变更数据的数据量过多而影响到指定数据库的自身业务。而在存储变更信息时,需要将其处理为符合历史数据库的数据结构要求的变更记录,再进行存储,存储时具体存储到该变更信息对应的存储位置信息所对应的数据表中。历史数据库中的数据表的表名可以设置为实例名_数据库名_表名,与存储位置信息对应。
本发明实施例通过实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据,再按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息,最后将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中,从而实现在不影响数据库自身业务的情况下,便捷地取得变更数据,并且降低维护历史数据库的成本。
在一个实施例中,如图3所示,该方法还包括:
S210:定时查询指定数据库的索引,以及历史数据库的索引;
S220:将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步。
管理服务器可以接受用户的查询请求,然后从历史数据库中获取与用户的查询请求匹配的变更信息反馈给用户,以满足用户的需求。为了提高查询效率,可以将指定数据库的索引同步到历史数据库中,具体可以是定时查询指定数据库的索引,以及历史数据库的索引,然后再将两个数据库的索引进行比较,进而基于比较结果来进行同步。以历史数据库为Mongo数据库为例,Mongo数据库的存储容量大,通过索引同步既可以提高查询效率,也有利于实现海量数据的快速查询。
其中,将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步时,可以是将指定数据库的索引和历史数据库的索引进行比较,确定出指定数据库的索引和历史数据库的索引之间的交集,然后删除历史数据库的索引中的不属于交集的索引,以及将指定数据库的索引中的不属于交集的索引,新增至历史数据库中。
基于上述实施例,在一个实施例中,如图4所示,该方法还包括:
S310:接收来自用户端的携带有查询条件的查询请求;
S320:根据历史数据库的索引从历史数据库中查询与查询条件符合的变更信息;
S330:将查询到的变更信息作为查询结果返回给用户端,使得用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
本实施例通过从指定数据库同步的索引来查询历史数据库中的与查询条件相匹配的变更信息,能够提高查询效率。对于查询到的变更信息,管理服务器将其反馈给用户端,使得用户端能够将其展示给用户。
其中,可以向用户提供一个查询界面,示例性地,查询界面可以如图5所示,该界面中可以罗列出历史数据库中各数据表的字段,例如可以有“操作类型”、“执行时间”、“id”、“host”(主机)、“context”(变更信息的内容)、“port”(端口)、“creat_by”(指由谁创建)、“creat_at”()、“updated_by”(指由谁更新)、“updated_at”、“description”(描述信息)等字段。并且可以为各个字段提供=、>、<、>=、<=等输入框,使得用户可以在输入框中填写查询条件,完成查询条件后即可通过执行相关操作以指示用户端向管理服务器发送查询请求。进一步地,用户端向用户展示的查询结果可以是如图6所示。
图2、图3和图4为一个实施例中数据库变更数据的处理方法的流程示意图。应该理解的是,虽然图2、图3和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同的发明构思,本发明还提供了一种数据库变更数据的处理装置。在本实施例中,如图7所示,该数据库变更数据的处理装置包括以下模块:
第一数据处理模块110,用于实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;
第二数据处理模块120,用于按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;
数据存储模块130,用于将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
在一个实施例中,第二数据处理模块,包括:
表信息解析子模块,用于在从变更数据中解析出各条变更信息对应的存储位置信息时,从变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;
映射子模块,用于通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。
在一个实施例中,该装置还包括:
索引查询模块,用于定时查询指定数据库的索引,以及历史数据库的索引;
同步模块,用于将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步。
在一个实施例中,同步模块,包括:
比较子模块,用于将指定数据库的索引和历史数据库的索引进行比较,确定出指定数据库的索引和历史数据库的索引之间的交集;
索引删除子模块,用于删除历史数据库的索引中的不属于交集的索引;
索引新增子模块,用于将指定数据库的索引中的不属于交集的索引,新增至历史数据库中。
在一个实施例中,该装置还包括:
请求接收模块,用于接收来自用户端的携带有查询条件的查询请求;
变更信息查询模块,用于根据历史数据库的索引从历史数据库中查询与查询条件符合的变更信息;
反馈模块,用于将查询到的变更信息作为查询结果返回给用户端,使得用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
关于数据库变更数据的处理装置的具体限定可以参见上文中对于数据库变更数据的处理方法的限定,在此不再赘述。上述数据库变更数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。
该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据库的变更数据等数据,具体存储的数据还可以参见上述方法实施例中的限定。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库变更数据的处理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
在一个实施方式中,处理器执行计算机程序,实现从变更数据中解析出各条变更信息对应的存储位置信息的步骤,包括:
从变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。
在一个实施方式中,处理器执行计算机程序,还实现以下步骤:
定时查询指定数据库的索引,以及历史数据库的索引;将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步。
在一个实施方式中,处理器执行计算机程序,实现将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步的步骤,包括:
将指定数据库的索引和历史数据库的索引进行比较,确定出指定数据库的索引和历史数据库的索引之间的交集;删除历史数据库的索引中的不属于交集的索引;将指定数据库的索引中的不属于交集的索引,新增至历史数据库中。
在一个实施方式中,处理器执行计算机程序,还实现以下步骤:
接收来自用户端的携带有查询条件的查询请求;根据历史数据库的索引从历史数据库中查询与查询条件符合的变更信息;将查询到的变更信息作为查询结果返回给用户端,使得用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
在本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;按照预设关键字对变更数据进行过滤,在从变更数据中过滤得到用于变更数据的操作语句时,从变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至历史数据库中的与其存储位置信息对应的数据表中。
在一个实施方式中,计算机程序被处理器执行,从变更数据中解析出各条变更信息对应的存储位置信息的步骤,包括:
从变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。
在一个实施方式中,计算机程序被处理器执行,还实现以下步骤:
定时查询指定数据库的索引,以及历史数据库的索引;将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步。
在一个实施方式中,计算机程序被处理器执行,将指定数据库的索引和历史数据库的索引进行比较,并根据比较得到的结果对指定数据库和历史数据库的索引进行同步的步骤,包括:
将指定数据库的索引和历史数据库的索引进行比较,确定出指定数据库的索引和历史数据库的索引之间的交集;删除历史数据库的索引中的不属于交集的索引;将指定数据库的索引中的不属于交集的索引,新增至历史数据库中。
在一个实施方式中,计算机程序被处理器执行时,还实现以下步骤:
接收来自用户端的携带有查询条件的查询请求;根据历史数据库的索引从历史数据库中查询与查询条件符合的变更信息;将查询到的变更信息作为查询结果返回给用户端,使得用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据库变更数据的处理方法,其特征在于,所述方法包括:
实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;
按照预设关键字对所述变更数据进行过滤,在从所述变更数据中过滤得到用于变更数据的操作语句时,从所述变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;
将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至所述历史数据库中的与其存储位置信息对应的数据表中。
2.如权利要求1所述的方法,其特征在于,
从所述变更数据中解析出各条变更信息对应的存储位置信息的步骤,包括:
从所述变更数据中解析出各条操作语句对应的数据库实例名、数据库名和数据表名;
通过各条操作语句对应的数据库实例名、数据库名和数据表名映射得到各条操作语句对应的历史数据表名,将各条操作语句对应的历史数据表名作为该各条操作语句对应的变更信息的存储位置信息。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
定时查询所述指定数据库的索引,以及所述历史数据库的索引;
将所述指定数据库的索引和所述历史数据库的索引进行比较,并根据比较得到的结果对所述指定数据库和所述历史数据库的索引进行同步。
4.如权利要求3所述的方法,其特征在于,
将所述指定数据库的索引和所述历史数据库的索引进行比较,并根据比较得到的结果对所述指定数据库和所述历史数据库的索引进行同步的步骤,包括:
将所述指定数据库的索引和所述历史数据库的索引进行比较,确定出所述指定数据库的索引和所述历史数据库的索引之间的交集;
删除所述历史数据库的索引中的不属于所述交集的索引;
将所述指定数据库的索引中的不属于所述交集的索引,新增至所述历史数据库中。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收来自用户端的携带有查询条件的查询请求;
根据所述历史数据库的索引从所述历史数据库中查询与所述查询条件符合的变更信息;
将查询到的变更信息作为查询结果返回给所述用户端,使得所述用户端通过预设查询结果展示界面将其接收到的查询结果展示给用户。
6.如权利要求1所述的方法,其特征在于,所述用于变更数据的操作语句为用于新增数据、删除数据或更新数据的SQL语句;所述历史数据库为Mongo数据库或ElasticSearch数据库;所述数据变更日志为binlog日志文件。
7.如权利要求1所述的方法,其特征在于,任一条所述操作语句对应的变更信息包括数据变更类型、数据变更时间、变更后数据和变更前数据。
8.一种数据库变更数据的处理装置,其特征在于,所述装置包括:
第一数据处理模块,用于实时拉取指定数据库生成的数据变更日志,将拉取到数据变更日志解析为变更数据;
第二数据处理模块,用于按照预设关键字对所述变更数据进行过滤,在从所述变更数据中过滤得到用于变更数据的操作语句时,从所述变更数据中解析出与过滤得到的操作语句中的各条操作语句对应的变更信息,以及各条变更信息对应的存储位置信息;
数据存储模块,用于将各条变更信息处理为符合历史数据库的数据结构要求的变更记录,并存储至所述历史数据库中的与其存储位置信息对应的数据表中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601826.3A CN113377789A (zh) | 2021-05-31 | 2021-05-31 | 数据库变更数据的处理方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110601826.3A CN113377789A (zh) | 2021-05-31 | 2021-05-31 | 数据库变更数据的处理方法、装置、计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377789A true CN113377789A (zh) | 2021-09-10 |
Family
ID=77575176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110601826.3A Pending CN113377789A (zh) | 2021-05-31 | 2021-05-31 | 数据库变更数据的处理方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377789A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994151A (zh) * | 2023-03-24 | 2023-04-21 | 北京飞轮数据科技有限公司 | 数据请求变更方法、装置、电子设备和计算机可读介质 |
CN117093597A (zh) * | 2023-10-16 | 2023-11-21 | 恒生电子股份有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
CN111159205A (zh) * | 2019-11-27 | 2020-05-15 | 京东数字科技控股有限公司 | 一种数据处理方法及系统 |
CN111597257A (zh) * | 2020-05-09 | 2020-08-28 | 远光软件股份有限公司 | 数据库的同步方法、装置、存储介质及终端 |
-
2021
- 2021-05-31 CN CN202110601826.3A patent/CN113377789A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
CN111159205A (zh) * | 2019-11-27 | 2020-05-15 | 京东数字科技控股有限公司 | 一种数据处理方法及系统 |
CN111597257A (zh) * | 2020-05-09 | 2020-08-28 | 远光软件股份有限公司 | 数据库的同步方法、装置、存储介质及终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115994151A (zh) * | 2023-03-24 | 2023-04-21 | 北京飞轮数据科技有限公司 | 数据请求变更方法、装置、电子设备和计算机可读介质 |
CN117093597A (zh) * | 2023-10-16 | 2023-11-21 | 恒生电子股份有限公司 | 数据处理方法及装置 |
CN117093597B (zh) * | 2023-10-16 | 2024-01-23 | 恒生电子股份有限公司 | 数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN111258989B (zh) | 数据库迁移评估方法、装置、存储介质和计算机设备 | |
CN108427684B (zh) | 数据查询方法、装置及计算设备 | |
KR102423125B1 (ko) | 데이터베이스 동기화 | |
CN111427901B (zh) | 交互式知识图谱数据编辑方法、计算机设备和存储介质 | |
CN109299157B (zh) | 一种分布式大单表的数据导出方法及装置 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN104903894A (zh) | 用于分布式数据库查询引擎的系统和方法 | |
CN110928851B (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN111400367B (zh) | 业务报告生成方法、装置、计算机设备和存储介质 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN113377789A (zh) | 数据库变更数据的处理方法、装置、计算机设备和介质 | |
CN109086382B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN113204598A (zh) | 一种数据同步方法、系统及存储介质 | |
CN107491463B (zh) | 数据查询的优化方法和系统 | |
CN112613271A (zh) | 数据分页方法、装置、计算机设备及存储介质 | |
CN114020840A (zh) | 一种数据处理方法、装置、服务器、存储介质及产品 | |
CN111159142B (zh) | 一种数据处理方法及装置 | |
CN112395307A (zh) | 执行语句的方法、装置、服务器及存储介质 | |
CN113254399A (zh) | 日志查询方法、装置、电子设备及介质 | |
CN112579705B (zh) | 元数据采集方法、装置、计算机设备和存储介质 | |
CN111984660A (zh) | 数据同步方法、装置、设备及存储介质 | |
US12061585B2 (en) | Systems and methods of modeling and querying dynamic temporal graph on massive parallel graph processing and storage engine | |
EP3835970B1 (en) | A method of visualizing a time series relation | |
CN110389966B (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 |