CN112131215B - 自底向上的数据库信息获取方法及装置 - Google Patents
自底向上的数据库信息获取方法及装置 Download PDFInfo
- Publication number
- CN112131215B CN112131215B CN201910556105.8A CN201910556105A CN112131215B CN 112131215 B CN112131215 B CN 112131215B CN 201910556105 A CN201910556105 A CN 201910556105A CN 112131215 B CN112131215 B CN 112131215B
- Authority
- CN
- China
- Prior art keywords
- data table
- information
- database
- data
- access
- 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
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/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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种自底向上的数据库信息获取方法及装置,其中,方法包括:收集并解析数据库会话信息,得到数据库访问信息;对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。利用本发明,可以方便持续更新地获取到数据库信息,操作简便快捷。且整个获取过程应用***无侵入、无改造,可以适用于各类IT***。进一步,获取到的数据库信息还包括了数据表类型,便于后续根据数据表类型实现数据冷热分离,数据生命周期管理等。
Description
技术领域
本发明涉及数据业务技术领域,具体涉及一种自底向上的数据库信息获取方法及装置。
背景技术
数据是IT公司或者信息化部门中最重要的资产。随着大数据技术发展,IT***中存储的数据容量***式的增长,以XX移动为例,经分数据仓库存储的数据容量超过300TB,大数据平台数据容量超过3PB,数据每年增长超过35%。从如此大的数据中抽取数据表之间的关联关系、数据访问频次、数据冷热分布等信息,进行数据资产管理是一项技术难题。
目前在大型IT***中,无论是存储在大数据平台的NOSQL数据还是存储在交易***的关系型数据,当数据表的数量超过万张后,找到数据表之间的关联和数据访问频次非常困难。在获取数据关联时,主要依赖上层应用的梳理,一般采用自顶向下方式,通过代码全量查找的方式来获取数据表使用信息,数据表关联关系等。
目前采用自顶向下的应用层全量梳理存在以下技术问题:
1、应用层全量梳理只能从程序代码来检查数据表的使用情况,但是由于程序代码是动态运行的,代码梳理无法涵盖所有业务场景,导致梳理得到的数据表关联关系不完整。同时,新程序上线会引入新的数据对象,仅一次全量代码梳理的数据资产不准确,无法动态更新数据表关联关系。
2、应用层的梳理只能分析出数据表的关联情况,无法分析出数据分布、数据访问频次、冷热程度等信息。
3、应用梳理是一次性动作,输出的数据资产无法动态更新,应用版本和底层数据变化后,原有的数据资产不准确。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的自底向上的数据库信息获取方法及装置。
根据本发明的一个方面,提供了一种自底向上的数据库信息获取方法,其包括:
收集并解析数据库会话信息,得到数据库访问信息;
对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;
根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。
根据本发明的另一方面,提供了一种自底向上的数据库信息获取装置,其包括:
收集模块,适于收集并解析数据库会话信息,得到数据库访问信息;
分析模块,适于对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;
关联模块,适于根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述自底向上的数据库信息获取方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述自底向上的数据库信息获取方法对应的操作。
根据本发明的自底向上的数据库信息获取方法及装置,收集并解析数据库会话信息,得到数据库访问信息;对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。利用本发明,可以方便持续更新地获取到数据库信息,操作简便快捷。且整个获取过程应用***无侵入、无改造,可以适用于各类IT***。进一步,获取到的数据库信息还包括了数据表类型,便于后续根据数据表类型实现数据冷热分离,数据生命周期管理等。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的自底向上的数据库信息获取方法的流程图;
图2示出了根据本发明另一个实施例的自底向上的数据库信息获取方法的流程图;
图3示出了根据本发明一个实施例的自底向上的数据库信息获取装置的功能框图;
图4示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的自底向上的数据库信息获取方法的流程图。如图1所示,自底向上的数据库信息获取方法具体包括如下步骤:
步骤S101,收集并解析数据库会话信息,得到数据库访问信息。
现有技术采用自顶向下获取数据库信息时,采用如在应用***中进行埋点等操作,来获取对数据库的访问信息。这样需要对应用***进行修改,且当应用***进行代码修改等操作时,埋点等操作也需要相应的进行更新才能获取到数据库的访问信息。考虑上述问题,本实施例采用自底向上的方式来获取数据库信息。自底向上即从数据库侧出发,获取数据库信息。具体的,在收集数据库会话信息时,可以采用在数据库侧对数据库进行监听的方式,收集数据库会话信息,无需关注***侧具体的代码。在收集到数据库会话信息后,解析数据库会话信息,对数据库会话信息进行分类整理,为每条会话信息生成对应的数据库访问信息。即对数据库会话信息进行数据信息规范化处理。得到的数据库访问信息包括如主机名称、访问IP地址、应用名称、SQL语句等。数据库访问信息可以采用XML文件进行保存。即一条数据库会话信息生成一个对应的XML文件,其中,XML文件记录了数据库访问信息。XML文件中记录的数据库访问信息可以如下格式:
<program>
<num>23000001</num>
<IP>XXX.XXX.XX.XX</IP>
<machine>XXX01</machine>
<application>CsmainSrv</application>
<SQL1>select B.RIGHTID from OPERATOR_WORKGROUP A,WORKGROUP_RIGHT Bwhere A.STATUS=1and B.STATUS=1and A.ROLEID=B.ITEMID and A.OPERID=:OPERIDand B.RIGHTID=:RIGHTID</SQL1>
</program>
其中,<num>标签记录XML文件编号,区分每个XML文件;<IP>标签记录访问数据库的IP地址;<machine>标签记录访问数据库的主机名称;<application>标签记录访问数据库的应用名称;<SQL1>标签记录访问数据库所要执行的SQL语句。XML文件中还可以记录其他数据库访问信息,如访问数据库的schema等,此处不做限定。
步骤S102,对数据库访问信息进行分析,确定数据库中各数据表信息。
根据得到的XML文件中的数据库访问信息,对其进行分析,具体的,对数据库访问信息中<SQL1>标签所记录的访问数据库所要执行的SQL语句进行解析,获取SQL语句中相关的数据表操作信息。数据表操作信息包括数据表名称、SQL语句操作类型、数据表关联关系等。数据表名称即SQL语句中涉及的数据表,SQL语句操作类型与SQL语句相关,数据表关联关系根据SQL语句中涉及的数据表、查询条件进行解析得到。
根据数据表操作信息来确定各数据表信息。数据表信息包括数据表的访问量、数据表间的关联度信息、数据表的数据变化量等。数据表的访问量根据数据表名称出现次数确定。在解析SQL语句后,数据表名称出现的次数越多,得到的数据表的访问量越大。数据表间的关联度信息根据两个或多个数据表间的关联关系确定。当解析SQL语句后,多次得到两个或多个数据表间关联关系,则数据表间的关联度较高。数据表的数据变化量需要对数据表进行监控,根据数据表数据的变化统计数据表的数据变化量。数据变化量可以以日为单位进行统计。
步骤S103,根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。
根据数据表信息,针对每个数据表,将每个数据表的关联度信息进行累加,得到每个数据表的关联度累加值。按照关联度累加值从高到低进行排序,依次选取关联度累加值排序在前的数据表为***算法的迭代起点,迭代获取与该数据表具有直接或间接关联关系的数据表,生成包含数据表关联关系的数据库全量图谱。如确定关联度累加值最高的数据表A,通过数据表间的关联关系进行检索,检索与数据表A有关联关系的数据表A1、A2、A3等,然后再依次以数据表A1以起点继续迭代查找与数据表A1有关联关系的其它数据表,如A11、A12等,直到找到所有与数据表A具有直接或间接关联关系的数据表,直至迭代时找不到具有关联关系的数据表为止,根据关联关系梳理得到数据表A相关的关联数据表的图谱。根据关联度累加值排序,如数据表A、数据表B、数据表C、数据表D……,在迭代查找得到数据表A的图谱后,继续基于***算法迭代查找与数据表B、数据表C……具有直接或间接关联关系的数据表,从而得到数据库全量图谱。进一步,若数据表D已经与数据表B具有关联关系时,在查找数据表B的图谱后,不需要再查找数据表D的关联图谱。
进一步,还可以根据数据表的数据变化量、数据表的访问量来标记数据库全量图谱中数据表类型。数据表类型包括状态表、日志表、配置表、字典表、临时表、无访问表等。根据数据表的数据变化量、数据表的访问量的不同,如当数据表的数据变化量较大,数据表的访问量较大时,这类频繁访问的数据表为状态表、日志表等;对于数据表的数据变化量较小,数据表的访问量较小的数据表,其一般为配置表、字典表等;还有数据表的数据变化量仅某段时间内存在、数据表无访问量等数据表,其一般为临时表、无访问表等。根据数据表类型可以在数据库全量图谱中利用不同的颜色进行区分。
根据本发明提供的自底向上的数据库信息获取方法,收集并解析数据库会话信息,得到数据库访问信息;对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。利用本发明,可以方便持续更新地获取到数据库信息,操作简便快捷。且整个获取过程应用***无侵入、无改造,可以适用于各类IT***。进一步,获取到的数据库信息还包括了数据表类型,便于后续根据数据表类型实现数据冷热分离,数据生命周期管理等。
图2示出了根据本发明另一个实施例的自底向上的数据库信息获取方法的流程图。如图2所示,自底向上的数据库信息获取方法具体包括如下步骤:
步骤S201,收集并解析数据库会话信息,得到数据库访问信息。
由于自底向上收集数据库会话信息时,在数据库侧进行监听,除收集到应用***对数据库的会话信息外,还会收集到人工操作直接调用数据库产生的会话信息。对人工操作收集到的会话信息进行解析,得到的数据库访问信息如下:
其中,根据<machine>标签所记录的访问数据库的主机名称,以及<application>标签所记录的访问数据库的应用名称,可以与日常访问数据库的应用***进行区分。主机名称不一致、应用名称为数据库工具等。
步骤S202,对数据库访问信息进行去除处理。
人工操作的数据库访问信息具有很大的随机性,与应用***的数据库访问信息不同,其会对应用***的数据库访问信息造成影响。因此,对得到的数据库访问信息还需要进行去除处理。去除处理包括去除符合人工操作类型的数据库访问信息。
步骤S203,对数据库访问信息进行分析,确定数据库中各数据表信息。
具体的,如解析SQL语句select B.RIGHTID from OPERATOR_WORKGROUP A,WORKGROUP_RIGHT B where A.STATUS=1and B.STATUS=1and A.ROLEID=B.ITEMID andA.OPERID=:OPERID and B.RIGHTID=:RIGHTID,可以确定其中涉及的数据表名称为OPERATOR_WORKGROUP和WORKGROUP_RIGHT;SQL语句操作类型为数据查询语言(DataQueryLanguage,DQL);数据表关联关系即OPERATOR_WORKGROUP和WORKGROUP_RIGHT之间存在关联关系。以上数据库操作信息可以通过下表表1所示格式进行存储:
编号 | 数据表 | 关联度 |
1 | Subscribe | 2 |
1 | busscustsubs | 2 |
2 | OPERATOR_WORKGROUP | 1 |
2 | WORKGROUP_right | 1 |
表1
解析一条数据库访问信息中SQL语句后,可知数据表
OPERATOR_WORKGROUP和WORKGROUP_RIGHT之间存在关联关系,表1中编号为2的两条数据记录了数据表OPERATOR_WORKGROUP和WORKGROUP_RIGHT之间的关联度为1。即相同编号的数据表间具有关联关系。关联度代表了两个或多个数据表间关联访问的次数。即当解析多条数据库访问信息的SQL语句时,当SQL语句中找到关联的数据表时,若表1中没有记录关联的数据表,则新增加关联度为1的关联的数据表,若表1中以及记录关联的数据表,则直接在已经记录的关联的数据表的基础上,将关联度加1。如表1中编号为1的两个关联数据表,其关联度为2。
除上述表1记录了数据表间的关联度信息外,还可以利用其它表格记录数据表的访问量。其中,数据表的访问量根据数据表名称出现次数确定。在解析SQL语句后,数据表名称出现的次数越多,得到的数据表的访问量越大。
进一步,根据SQL语句操作类型确定需监控的数据表。SQL语句操作类型包括如数据操纵语言(Data Manipulation Language,DML)、数据查询语言(Data QueryLanguage,DQL)、数据库模式定义语言(Data Definition Language,DDL)等。DML操作类型的SQL语句包括如insert、update、delete等SQL语句,DDL操作类型的SQL语句包括如create、alter、drop等SQL语句。DML、DDL操作类型的SQL语句会影响数据表发送数据变化,针对DML、DDL操作类型的SQL语句所涉及的数据表进行监控,统计数据表的数据变化量。数据变化量可以以日为单位进行统计。可以在表1的基础上增加统计数据变化量的信息,具体如下表表2所示:
编号 | 表 | 关联度 | 数据变化 | 数据变化量 |
1 | Subscribe | 2 | Y | 50M/日 |
1 | busscustsubs | 2 | Y | 0.2M/日 |
2 | OPERATOR_WORKGROUP | 1 | N | 0 |
2 | WORKGROUP_right | 1 | N | 0 |
表2
表2在表1的基础上增加了记录数据表是否有数据变化(与SQL语句操作类型相关)和数据变化量。
步骤S204,根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。
根据表2中记录的数据表信息,针对每个数据表,将每个数据表的关联度信息(即表2中的关联度)进行累加,得到每个数据表的关联度累加值。按照关联度累加值从高到低进行排序,依次选取关联度累加值排序在前的数据表为***算法的迭代起点,迭代获取与该数据表具有直接或间接关联关系的数据表,生成包含数据表关联关系的数据库全量图谱。如确定关联度累加值最高的数据表A,通过表2中检索与数据表A有关联关系的数据表A1、A2、A3等,然后再依次以数据表A1以起点继续迭代查找与数据表A1有关联关系的其它数据表,如A11、A12等,直到找到所有与数据表A具有直接或间接关联关系的数据表,直至迭代时找不到具有关联关系的数据表为止,根据关联关系梳理得到数据表A相关的关联数据表的图谱。根据关联度累加值排序,如数据表A、数据表B、数据表C、数据表D……,在迭代查找得到数据表A的图谱后,继续基于***算法迭代查找与数据表B、数据表C……具有直接或间接关联关系的数据表,从而得到数据库全量图谱。进一步,若数据表D已经与数据表B具有关联关系时,在查找数据表B的图谱后,不需要再查找数据表D的关联图谱。
进一步,还可以根据数据表的数据变化量、数据表的访问量来标记数据库全量图谱中数据表类型。数据表类型包括状态表、日志表、配置表、字典表、临时表、无访问表等。根据数据表的数据变化量、数据表的访问量的不同,如当数据表的数据变化量较大,数据表的访问量较大时,这类频繁访问的数据表为状态表、日志表等;对于数据表的数据变化量较小,数据表的访问量较小的数据表,其一般为配置表、字典表等;还有数据表的数据变化量仅某段时间内存在、数据表无访问量等数据表,其一般为临时表、无访问表等。根据数据表类型可以在数据库全量图谱中利用不同的颜色进行区分。
根据本发明提供的自底向上的数据库信息获取方法,去除人工操作所产生的噪声影响,基于自底向上收集应用***对数据库的会话信息,可以方便持续更新地获取到数据库信息,操作简便快捷。且整个获取过程应用***无侵入、无改造,可以适用于各类IT***。进一步,获取到的数据库信息还包括了数据表类型,便于后续根据数据表类型实现数据冷热分离,数据生命周期管理等。
图3示出了根据本发明一个实施例的自底向上的数据库信息获取装置的功能框图。如图3所示,自底向上的数据库信息获取装置包括如下模块:
收集模块310适于:收集并解析数据库会话信息,得到数据库访问信息。
分析模块320适于:对数据库访问信息进行分析,确定数据库中各数据表信息;其中,数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量。
关联模块330适于:根据数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱。
可选地,收集模块310进一步适于:对数据库进行监听,收集数据库会话信息;解析数据库会话信息,对数据库会话信息进行分类整理,为每条会话信息生成对应的数据库访问信息。
可选地,装置还包括:去除模块340。去除模块340适于:对数据库访问信息进行去除处理;其中,去除处理包括去除符合人工操作类型的数据库访问信息。
可选地,分析模块320进一步适于:对数据库访问信息中的SQL语句进行解析,获取SQL语句中相关的数据表操作信息;数据表操作信息包括数据表名称、SQL语句操作类型、数据表关联关系;根据数据表操作信息,确定数据库中各数据表的访问量和数据表间的关联度信息;其中,数据表的访问量根据数据表名称出现次数确定;数据表间的关联度信息根据数据表关联关系确定;根据SQL语句操作类型确定需监控的数据表,统计数据表的数据变化量。
可选地,关联模块330进一步适于:针对每个数据表,将每个数据表的关联度信息进行累加,得到每个数据表的关联度累加值;按照关联度累加值从高到低进行排序,依次选取关联度累加值排序在前的数据表为***算法的迭代起点,迭代获取与该数据表具有直接或间接关联关系的数据表,生成包含数据表关联关系的数据库全量图谱;根据数据表的数据变化量和/或数据表的访问量标记数据库全量图谱中数据表类型。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的自底向上的数据库信息获取方法。
图4示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述自底向上的数据库信息获取方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的自底向上的数据库信息获取方法。程序410中各步骤的具体实现可以参见上述自底向上的数据库信息获取实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的自底向上的数据库信息获取装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (8)
1.一种自底向上的数据库信息获取方法,其特征在于,方法包括:
收集并解析数据库会话信息,得到数据库访问信息;
对所述数据库访问信息进行分析,确定数据库中各数据表信息;其中,所述数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;其中,对所述数据库访问信息中的SQL语句进行解析,获取SQL语句中相关的数据表操作信息;所述数据表操作信息包括数据表名称、SQL语句操作类型、数据表关联关系;根据所述数据表操作信息,确定数据库中各数据表的访问量和数据表间的关联度信息;其中,所述数据表的访问量根据数据表名称出现次数确定;所述数据表间的关联度信息根据数据表关联关系确定;根据所述SQL语句操作类型确定需监控的数据表,统计数据表的数据变化量;
根据所述数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱;其中,针对每个数据表,将每个数据表的关联度信息进行累加,得到每个数据表的关联度累加值;按照关联度累加值从高到低进行排序,依次选取关联度累加值排序在前的数据表为***算法的迭代起点,迭代获取与该数据表具有直接或间接关联关系的数据表,生成包含数据表关联关系的数据库全量图谱;根据数据表的数据变化量和/或数据表的访问量标记数据库全量图谱中数据表类型。
2.根据权利要求1所述的方法,其特征在于,所述数据库访问信息包括主机名称、访问IP地址、应用名称和/或SQL语句;所述数据库访问信息为XML文件类型。
3.根据权利要求2所述的方法,其特征在于,所述收集并解析数据库会话信息,得到数据库访问信息进一步包括:
对数据库进行监听,收集数据库会话信息;
解析所述数据库会话信息,对所述数据库会话信息进行分类整理,为每条会话信息生成对应的数据库访问信息。
4.根据权利要求2所述的方法,其特征在于,在所述对所述数据库访问信息进行分析,确定数据库中各数据表信息之前,所述方法还包括:
对所述数据库访问信息进行去除处理;其中,所述去除处理包括去除符合人工操作类型的数据库访问信息。
5.根据权利要求1所述的方法,其特征在于,所述数据表类型包括状态表、日志表、配置表、字典表、临时表和/或无访问表。
6.一种自底向上的数据库信息获取装置,其特征在于,装置包括:
收集模块,适于收集并解析数据库会话信息,得到数据库访问信息;
分析模块,适于对所述数据库访问信息进行分析,确定数据库中各数据表信息;其中,所述数据表信息包括数据表的访问量、数据表间的关联度信息和/或数据表的数据变化量;其中,对所述数据库访问信息中的SQL语句进行解析,获取SQL语句中相关的数据表操作信息;所述数据表操作信息包括数据表名称、SQL语句操作类型、数据表关联关系;根据所述数据表操作信息,确定数据库中各数据表的访问量和数据表间的关联度信息;其中,所述数据表的访问量根据数据表名称出现次数确定;所述数据表间的关联度信息根据数据表关联关系确定;根据所述SQL语句操作类型确定需监控的数据表,统计数据表的数据变化量;
关联模块,适于根据所述数据表信息,基于***算法迭代获取包含数据表关联关系以及数据表类型的数据库全量图谱;其中,针对每个数据表,将每个数据表的关联度信息进行累加,得到每个数据表的关联度累加值;按照关联度累加值从高到低进行排序,依次选取关联度累加值排序在前的数据表为***算法的迭代起点,迭代获取与该数据表具有直接或间接关联关系的数据表,生成包含数据表关联关系的数据库全量图谱;根据数据表的数据变化量和/或数据表的访问量标记数据库全量图谱中数据表类型。
7.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-5中任一项所述的自底向上的数据库信息获取方法对应的操作。
8.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-5中任一项所述的自底向上的数据库信息获取方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556105.8A CN112131215B (zh) | 2019-06-25 | 2019-06-25 | 自底向上的数据库信息获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556105.8A CN112131215B (zh) | 2019-06-25 | 2019-06-25 | 自底向上的数据库信息获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131215A CN112131215A (zh) | 2020-12-25 |
CN112131215B true CN112131215B (zh) | 2023-09-19 |
Family
ID=73850095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910556105.8A Active CN112131215B (zh) | 2019-06-25 | 2019-06-25 | 自底向上的数据库信息获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131215B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453229B (zh) * | 2023-12-26 | 2024-02-23 | 天津戎行集团有限公司 | 一种用于自动代码生成数据库的输出代码解析方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425060A (zh) * | 2007-11-02 | 2009-05-06 | 英业达股份有限公司 | 数据库的数据表生成方法 |
CN105512200A (zh) * | 2015-11-26 | 2016-04-20 | 华为技术有限公司 | 一种分布式数据库处理的方法和设备 |
CN106227892A (zh) * | 2016-08-24 | 2016-12-14 | 深圳市卓讯信息技术有限公司 | 一种智能分析数据库表关系生成e‑r图的方法及装置 |
CN106649378A (zh) * | 2015-11-02 | 2017-05-10 | 北大方正集团有限公司 | 一种数据同步方法及装置 |
CN107145574A (zh) * | 2017-05-05 | 2017-09-08 | 恒生电子股份有限公司 | 数据库数据处理方法、装置及存储介质和电子设备 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN107766431A (zh) * | 2017-09-18 | 2018-03-06 | 杭州安恒信息技术有限公司 | 一种基于语法解析的去参数化功能方法及*** |
CN109101632A (zh) * | 2018-08-15 | 2018-12-28 | 中国人民解放军海军航空大学 | 基于制造大数据的产品质量异常数据追溯分析方法 |
CN109213765A (zh) * | 2018-08-20 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 数据表关联的方法、装置、计算机设备和存储介质 |
CN109325038A (zh) * | 2018-09-05 | 2019-02-12 | 天津航旭科技发展有限公司 | 知识图谱扩展模型、结构化知识存储方法与设备 |
CN109344152A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109697066A (zh) * | 2018-12-28 | 2019-04-30 | 第四范式(北京)技术有限公司 | 实现数据表拼接及自动训练机器学习模型的方法和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882087B2 (en) * | 2008-01-15 | 2011-02-01 | At&T Intellectual Property I, L.P. | Complex dependencies for efficient data warehouse updates |
US9361346B2 (en) * | 2009-04-14 | 2016-06-07 | Oracle America, Inc. | Mapping information stored in a LDAP tree structure to a relational database structure |
-
2019
- 2019-06-25 CN CN201910556105.8A patent/CN112131215B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425060A (zh) * | 2007-11-02 | 2009-05-06 | 英业达股份有限公司 | 数据库的数据表生成方法 |
CN106649378A (zh) * | 2015-11-02 | 2017-05-10 | 北大方正集团有限公司 | 一种数据同步方法及装置 |
CN105512200A (zh) * | 2015-11-26 | 2016-04-20 | 华为技术有限公司 | 一种分布式数据库处理的方法和设备 |
CN107239458A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN106227892A (zh) * | 2016-08-24 | 2016-12-14 | 深圳市卓讯信息技术有限公司 | 一种智能分析数据库表关系生成e‑r图的方法及装置 |
CN107145574A (zh) * | 2017-05-05 | 2017-09-08 | 恒生电子股份有限公司 | 数据库数据处理方法、装置及存储介质和电子设备 |
CN107766431A (zh) * | 2017-09-18 | 2018-03-06 | 杭州安恒信息技术有限公司 | 一种基于语法解析的去参数化功能方法及*** |
CN109101632A (zh) * | 2018-08-15 | 2018-12-28 | 中国人民解放军海军航空大学 | 基于制造大数据的产品质量异常数据追溯分析方法 |
CN109213765A (zh) * | 2018-08-20 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 数据表关联的方法、装置、计算机设备和存储介质 |
CN109344152A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109325038A (zh) * | 2018-09-05 | 2019-02-12 | 天津航旭科技发展有限公司 | 知识图谱扩展模型、结构化知识存储方法与设备 |
CN109697066A (zh) * | 2018-12-28 | 2019-04-30 | 第四范式(北京)技术有限公司 | 实现数据表拼接及自动训练机器学习模型的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112131215A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019214245A1 (zh) | 一种信息推送方法、装置、终端设备及存储介质 | |
JP5575902B2 (ja) | クエリのセマンティックパターンに基づく情報検索 | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
US9390176B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
CN111125086B (zh) | 获取数据资源的方法、装置、存储介质及处理器 | |
WO2009039392A1 (en) | A system for entity search and a method for entity scoring in a linked document database | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
US20150341771A1 (en) | Hotspot aggregation method and device | |
CN110737821B (zh) | 相似事件查询的方法、装置、存储介质和终端设备 | |
CN111797239A (zh) | 应用程序的分类方法、装置及终端设备 | |
CN111522901A (zh) | 文本中地址信息的处理方法及装置 | |
CN111913860A (zh) | 一种操作行为分析方法及装置 | |
CN115145871A (zh) | 文件查询方法、装置和电子设备 | |
CN103605744B (zh) | 网站搜索引擎流量数据的分析方法及装置 | |
CN109064067B (zh) | 基于互联网的金融风险运营主体判定方法及装置 | |
CN112131215B (zh) | 自底向上的数据库信息获取方法及装置 | |
CN114021116B (zh) | 一种同源分析知识库的构建方法、同源分析方法及装置 | |
CN114328844A (zh) | 一种文本数据集管理方法、装置、设备及存储介质 | |
CN114490246A (zh) | 一种监控方法、装置、电子设备以及存储介质 | |
JP5944867B2 (ja) | 検索意図辞書作成装置、検索意図辞書作成方法及び検索意図辞書作成プログラム | |
CN113505117A (zh) | 基于数据指标的数据质量评估方法、装置、设备及介质 | |
CN112100670A (zh) | 一种基于大数据的隐私数据分级保护方法 | |
CN110633430A (zh) | 事件发现方法、装置、设备和计算机可读存储介质 | |
CN110750685B (zh) | 一种数据入库方法及装置 | |
CN117313111B (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 |