掌桥专利:专业的专利平台
掌桥专利
首页

数据库关联元素的识别方法及数据结构图的建立方法

文献发布时间:2023-06-19 12:22:51


数据库关联元素的识别方法及数据结构图的建立方法

技术领域

本发明涉及数据库领域,具体而言,涉及一种数据库关联元素的识别方法及数据结构图的建立方法。

背景技术

数据库自治服务(Database Autonomy Service,简称:DAS)为多种数据库平台提供 自优化服务,帮助用户优化数据库性能。其中,SQL诊断优化服务是DAS提供数据库 性能优化的核心功能之一。DAS的SQL诊断服务为SQL生成优化建议。优化建议包括 索引增删建议、语句改写优化建议等。慢SQL优化是SQL优化服务的应用场景,针对 多条慢SQL请求(SQL请求又称为SQL语句或SQL查询)的优化,有可能产生大量雷 同索引,也可能会对其他SQL请求的执行计划造成影响。因而,一条SQL请求的索引 建议,需要考虑相关SQL请求,需要对相关SQL请求的索引集合做去重整合。此外, 自动优化服务是DAS提供的自治服务,自动优化会根据索引建议自动为数据库实例创 建索引,创建完毕及时做性能跟踪,发现性能回归及时做回滚。在跟踪过程中,除了 跟踪优化的SQL,同样也需要跟踪相关SQL的性能。因而,识别相关SQL请求是必要 的。

但是,相关技术中,并不存在识别相关SQL请求的技术手段,影响了SQL的优化 效率。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种数据库关联元素的识别方法及数据结构图的建立方法,以至少解决相关技术中并不存在有效的识别相关SQL请求的方案的技术问题。

根据本发明实施例的一个方面,提供了一种数据库实例中关联元素的识别方法,包括:确定待检测的目标元素,其中,该目标元素为SQL数据库中的SQL元素;基于 数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其 中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中至少包括:用于表 示数据库实例中的SQL元素的顶点,边集合中至少包括:用于表示SQL元素之间的关 联关系的边;输出与目标元素对应的关联元素。

根据本发明实施例的另一方面,还提供了一种数据结构图的建立方法,包括:获取数据库实例中的至少一个SQL模板;对至少一个SQL模板进行解析,得到第一解析 内容,该第一解析内容中至少包括:与至少一个SQL模板的组成元素关联的关联元素; 至少基于组成元素以及与组成元素关联的关联元素生成数据结构图,其中,数据结构 图中包括:顶点集合和边集合,其中,该顶点集合中的顶点用于表示数据库实例中的 SQL元素,边集合中的边用于表示SQL元素之间的关联关系。

根据本发明实施例的另一方面,还提供了一种数据库实例中关联元素的识别方法, 包括:接收SQL请求,从SQL请求中获取数据库实例中的目标元素;基于数据库实例 的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其中,数据结 构图中包括:顶点集合和边集合,其中,该顶点集合中的顶点中包括:用于表示不同 SQL请求的顶点和用于表示数据库实例中的SQL元素的顶点,边集合中包括:用于表 示不同SQL请求与数据库实例中的SQL元素之间的关联关系的边、用于表示SQL元素 之间的关联关系的边;输出与目标元素对应的关联元素。

根据本发明实施的另一方面,还提供了一种数据库实例中的元素优化方法,其中,包括:接收来自目标对象的优化请求,其中,优化请求中携带有待优化的目标元素, 其中,该目标元素为SQL数据库中的SQL元素;获取与目标元素具有关联关系的关联 元素;对目标元素的索引和关联元素的索引进行优化。

根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行任意一种数据 库实例中关联元素的识别方法。

根据本发明实施例的另一方面,还提供了一种计算设备,包括:处理器;以及存 储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:确定数据库实例 中待检测的目标元素,其中,该目标元素为SQL数据库中的SQL元素;基于数据库实 例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其中,数据 结构图中包括:顶点集合和边集合,其中,该顶点集合中的顶点用于表示数据库实例 中的SQL元素,边集合中的边用于表示SQL元素之间的关联关系;输出与目标元素对 应的关联元素。

在本发明实施例中,采用识别相关SQL的方式,首先,通过确定数据库实例中待 检测的目标元素,其次,基于数据库实例的数据结构图对目标元素进行分析,得到与 目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该 顶点集合中的顶点用于表示数据库实例中的SQL元素,边集合中的边用于表示SQL元 素之间的关联关系,最后,输出与目标元素对应的关联元素,达到了识别相关SQL的 目的,从而为SQL优化过程提供有力支撑,进而解决了相关技术中并不存在有效的识 别相关SQL请求的方案的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图 中:

图1是根据本发明实施例的一种数据库实例中关联元素的识别方法的计算机终端的硬件结构框架图;

图2a是根据本发明实施例的一种数据库实例中关联元素的识别方法的流程示意图;

图2b是根据本发明实施例的一种可选的获取数据库实施例相关SQL的主要流程框架的示意图;

图2c是根据本发明实施例的一种可选的构建图数据模型的示意图;

图3是根据本发明实施例的一种数据结构图的建立方法的流程示意图;

图4是根据本发明实施例的一种数据库实例中的元素优化方法的流程示意图;

图5是根据本发明实施例的一种数据库实例中关联元素的识别装置的结构示意图;

图6是根据本发明实施例的一种计算机设备的结构框图;

图7是根据本发明实施的一种数据库实例中关联元素的识别方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例 仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领 域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于 本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这 样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在 这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的 任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方 法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚 地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

DAS:数据库自治服务(Database Autonomy Service)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除 数据库运维的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全 及高效。

SQL(Structured Query Language:结构化查询语言)是一种特定目的编程语言,用 于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行 流处理。SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。 SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访 问控制。

T1.C1:T为table缩写,表示数据库中的表,C为column缩写,表示数据库中的 列,T1.C1表示T1表中的C1列,本申请中其他组合表示的含义可以以此依推。

相关SQL(Related SQL):在数据库领域,相关SQL即数据库实例中,多条SQL 查询针对相同的目标表,或者多条SQL的谓词指向相同的列。相关SQL在实际执行 过程中,会互相影响,甚至会造成锁等待;相关SQL可能使用相同或者相似的索引。 为其中一条SQL添加索引优化,可能影响其他SQL的执行计划。

SQL自动优化:在数据库领域,为了提高数据库的整体性能,数据库厂商自动为 数据库推荐索引并在业务低峰执行上线,同时监控数据库的性能做快速回滚或收益计 算。

图计算:将信息中的实体,以及实体之间的关系,分别抽象表达成为顶点以及顶点间的边的“图”结构数据,基于这种数据结构进行关系分析。

实施例1

根据本发明实施例,还提供了一种数据库实例中关联元素的识别的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算 机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以 不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据库实例中关联元素的识别方法的计算机 终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10) 可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理 器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于 存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括: 显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口 的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以 理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计 算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的 配置。

应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、 固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分 的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施 例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻 终端路径的选择)。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据库实例中关联元素的识别方法对应的程序指令/数据存储装置,处理器102通过运行存 储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实 现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非 易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。 在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些 远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、 企业内部网、局域网、移动通信网及其组合。

传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个 网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备 相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。

在上述运行环境下,本申请提供了如图2a所示的数据库实例中关联元素的识别方法。图2a是根据本发明实施例一的数据库实例中关联元素的识别方法的流程图。

如图2a所示,本发明实施例一的数据库实例中关联元素的识别方法可以包括如下步骤:

步骤S202,确定待检测的目标元素,其中,该目标元素为SQL数据库中的SQL元 素;

步骤S204,基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合 中至少包括:用于表示数据库实例中的SQL元素的顶点,边集合中至少包括:用于表 示SQL元素之间的关联关系的边;

步骤S206,输出与目标元素对应的关联元素。

在本申请上述实施例中,首先,确定待检测的目标元素,其次,基于数据库实例 的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其中,数据结 构图中包括:顶点集合和边集合,其中,该顶点集合中至少包括:用于表示数据库实 例中的SQL元素的顶点,边集合中至少包括:用于表示SQL元素之间的关联关系的边; 最后,输出与目标元素对应的关联元素,达到了识别相关SQL的目的,从而为SQL优 化过程提供有力支撑,进而解决了相关技术中并不存在有效的识别相关SQL请求的方 案的技术问题。

在本申请的一些实施例中,数据结构图通过以下方式确定:获取数据库实例中的至少一个SQL模板;对至少一个SQL模板进行解析,得到第一解析内容,该第一解析 内容中至少包括:与至少一个SQL模板的组成元素关联的关联元素;至少基于与组成 元素关联的关联元素建立数据结构图。例如,对SQL模板1进行解析,得到SQL1组成 的元素中包含有字段T2.C1,在SQL模板2元素中组成中有T2.C2,则T2为上述两个 模板的关联元素,因此,可以依据T2这个元素建立数据结构图,需要说明的是,上述 关联元素至少包括但不限于:SQL请求之间关联的谓词、连接条件、排序字段、聚合 字段、投影字段等。

在获取SQL模板时,可以有多种实现方式,例如:获取数据库实例所对应数据库 中的全量SQL流水信息;对全量SQL流水信息进行解析,得到第二解析内容,其中, 第二解析内容可以是指定时间区间内的SQL语句;对第二解析内容可以先进行格式化 处理,得到初始SQL模板,再对初始SQL模板进行去重处理,得到SQL模板。具体地, 可以通过数据库内核将全量SQL流水信息透传,通过实时计算、离线计算,解析SQL 流水信息,将SQL格式化、去除参数之后模板化,得到SQL模板,其中上述SQL模板 可以是数据库实例指定时间区间内的SQL模板。

其中,用于表示数据库实例中的SQL元素的顶点包括以下顶点:数据库实例中与字段对应的字段顶点、数据库实例中与表对应的表顶点;此时,用于表示SQL元素之 间的关联关系的边包括用于指示以下关系的边:字段之间的关系;表顶点与字段顶点 之间的关系,其中,SQL元素可以是数据库实施例中的字段、表等。其中,顶点集合 中的每种顶点可以包括顶点的类型以及属性,例如,SQL顶点包括顶点类型、SQL模板 唯一标识等信息;边集合中,表顶点与字段顶点之间的关系可以是所属关系。SQL请 求与字段之间建立关系,根据SQL请求关联字段的类型,为关系建立不同的类型,如: 谓词关系、连接字段关系、排序字段关系、聚合字段关系、投影字段关系等。

在一些可选实施例中,还可以将表顶点和字段顶点合并为一类顶点,得到目标顶点;基于该目标顶点之间的关联关系建立数据结构图。

在另一些可选的实施例中,顶点集合中还包括:不同SQL请求对应的顶点;和/ 或顶点集合中还包括以下顶点:SQL请求的索引对应的索引顶点;边集合中还包括: 用于指示表与索引的关系的边、用于指示SQL请求与索引的关系的边,例如,通过引 入索引顶点,记录表与索引的关系,SQL请求与索引的关系,构建四类顶点的数据结 构图。

本申请的一些可选的实施例中,数据结构图还可以通过以下方式确定:例如将表顶点和字段顶点合并为一类顶点,构建两类顶点的数据结构图。

本申请的一些实施例中,确定数据结构图后,为了获取相关SQL请求,可以通过 图计算的方式获取相关SQL请求,例如,可以通过实现联通图算法,其中,联通图的算 法有多种实现方式;也可以利用第三方提供的已有的图计算方式,例如:Apache Tinker Pop提供的Connected Component Vetex Program。

本申请的一些实施例中,获取相关SQL请求的方式包括但不限于:通过谓词字符串匹配的方式或者可以将用户侧标识的具有相关性的SQL请求作为训练数据,通过AI 技术建立机器学习模型的方式识别相关SQL请求。

本申请的一些实施例中,确定数据结构图后,在图计算的基础上,可以获取不同类型的相关SQL请求。例如,给定表,获取所有与该表相关的SQL集合、给定一条SQL 请求,获取与该SQL请求相关的SQL集合,根据SQL请求获取相关SQL,可以自定义 相关SQL的集合,如根据关联的边的数量计算相关系数,根据相关系数,查找最具相 关性的SQL请求、给定列,查找相关SQL请求、给定列,查找相关列、给定表,查找 相关表等。

相关技术中,Microsoft SQL Server/Oracle/IBM DB2等商业数据库厂商的SQLAdvisor虽具有单条SQL请求优化的功能,但是在对单条SQL请求进行诊断和优化时, 没有考虑相关SQL的影响,因此在对多条SQL请求诊断时,会产生重复或者雷同的索 引,且产生的索引会影响其他SQL请求的执行路径,进而导致索引准确率低,且对其 他SQL请求的执行效率也会带来一定影响。其中,索引是指帮助MYSQL高效获取数据 的数据结构,其可以分为两类:聚集索引和非聚集索引,其中,聚集索引的顺序为数 据的物理存储顺序,索引与数据存放在同一个文件中;非聚集索引:聚集索引的顺序 与数据的物理存储顺序不同,索引与数据存放在同一个文件中。

为解决上述问题,本申请实施例可以对相关SQL请求进行优化,此时,确定待检 测的目标元素的步骤可以通过以下方式实现:接收来自目标对象的优化请求,其中, 优化请求中携带有目标元素;基于数据库实例的数据结构图对目标元素进行分析,得 到与目标元素关联的关联元素之后,获取目标元素对应的第一索引,以及与目标元素 关联的关联元素的索引集合;对第一索引和索引集合中的第二索引进行整合和去重处 理,对索引进行整合包括:基于segment的合并(例如按照segment文档数进行合并) 和基于子目录的合并(将待合并目录合并到指定目录或者将待合并目录合并到新目录)。 去重是指去掉重复的索引,例如当目标元素为字段C1时,此字段的索引信息包括ab、 abc,目标元素关联的SQL元素为字段C2,字段C2的索引信息包括abc、abd、abe, 则可以进行整合和去重,其去掉上述两个索引中共有的abc,进而使得检索时更加准 确。需要说明的是,与目标元素关联的关联元素的索引可以有多个。

需要说明的是,目标元素包括:数据库实例对应的表;与目标元素对应的关联元素包括:与表关联的SQL请求集合或表集合;和/或目标元素包括:数据库实例对应的 列;与目标元素对应的关联元素包括:与列关联的列集合或SQL请求集合;和/或目标 元素包括:目标SQL请求;与目标元素对应的关联元素包括:与目标SQL请求关联的 SQL请求集合。

本申请一些实施例中,与目标SQL请求关联的SQL请求集合还可以通过以下方式确定:确定数据结构图中与目标SQL请求关联的边的数量确定相关性系数,其中,与 目标SQL请求关联的边包括:从目标SQL请求对应的顶点到目标关联顶点所经过顶点 之间的边,其中,目标关联顶点为与目标SQL请求关联的SQL请求对应的顶点;依据 相关性系数确定与目标SQL请求关联的SQL请求,并将与目标SQL请求关联的SQL请 求存储至SQL请求集合。

图2b是本发明实施例一种可选的获取数据库实例相关SQL请求的主要流程框架图, 如图2b,该流程框架图主要包括以下步骤:

步骤1:获取全量SQL,具体地,获取数据库实例指定时间区间内的全部SQL模板。在获取数据库实例全量SQL时,可以通过数据库内核将全量SQL流水信息透传,通过 实时计算、离线计算,解析SQL流水信息,将SQL格式化、去除参数之后模板化,再 基于数据库实例的全量SQL模板去重,获取该数据库实例上的全量SQL模板信息。

步骤2:SQL解析,即对所有SQL模板解析,获取每条SQL请求关联的谓词、连接 条件、排序字段、聚合字段、投影字段等。

步骤3:构建数据结构图,构建数据结构图有多种建模方式,本实施例仅以一种 构建方式作为示例,图2c是本申请实施例一种可选构建的图数据模型。

如图2c所示,根据SQL解析结果,将SQL与列建立关联关系,构建数据结构图, 其表现形式可以为图数据模型,其中,顶点用圆圈表示,例如,T1.C1;边用形状为带 箭头的直线表示。在该模型有三类顶点:SQL顶点、字段顶点、表顶点,例如,SQL1 为SQL顶点、T1.C1表示T1表中的C1列,为字段顶点、T2为T2表顶点。需要说明的 是,每种顶点,可以包括该顶点的类型以及属性;例如:SQL顶点包括顶点类型、SQL 模板唯一标识等信息。SQL与字段之间建立关系,例如SQL1与T1C1关系,根据SQL 关联字段的类型,为关系建立不同的类型,如:谓词关系、连接字段关系、排序字段 关系、聚合字段关系、投影字段关系等,表顶点与字段顶点之间的关系是所属关系, 例如字段顶点T2.C2属于T2表顶点。需要说明的是,Select(字段1、字段2、……)from (表名)where(条件)为查询数据语句。

步骤4:图计算,具体地,数据结构图模型构建完成后,通过图计算的方式获取 相关SQL。图计算有很多种方式,可以通过实现联通图算法,也可以利用第三方提供 的已有的图计算方式。例如:Apache Tinker Pop提供Connected Component Vetex Program。

步骤5:获取相关SQL,具体地,构建完成数据结构图、基于图计算的基础,可以 获取不同类型的相关SQL请求或者相关Schema,例如:

(1)给定表,获取所有与该表相关的SQL集合。

(2)给定一条SQL请求,获取与该SQL相关的SQL集合。根据SQL获取相关SQL, 可以自定义相关SQL的集合。如根据关联的边的数量计算相关系数,根据相关系数, 查找最具相关性的SQL请求。

(3)给定列,查找相关SQL请求。

(4)给定列,查找相关列。

(5)给定表,查找相关表。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限 制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术 人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块 并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但 很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端 设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述 的方法。

实施例2

根据本发明实施例,还提供了一种数据结构图的建立方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执 行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处 的顺序执行所示出或描述的步骤。

本申请实施例二所提供的方法实施例仍旧可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,实施例二所提供的方法实施例仍旧可以运行 在图1所示的计算机终端上。

在上述运行环境下,本申请提供了如图3所示的数据结构图的建立方法。图3是 根据本发明实施例二的数据结构图的建立方法的流程示意图。

S302,获取数据库实例中的至少一个SQL模板;

S304,对至少一个SQL模板进行解析,得到第一解析内容,该第一解析内容中至少包括:与至少一个SQL模板的组成元素关联的关联元素;

S306,至少基于组成元素以及与组成元素关联的关联元素生成数据结构图,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中的顶点用于表示数据库 实例中的SQL元素,边集合中的边用于表示SQL元素之间的关联关系。

在上述实施例中,通过获取数据库实例中的至少一个SQL模板;再对至少一个SQL模板进行解析,得到第一解析内容,该第一解析内容中至少包括:与至少一个SQL模 板的组成元素关联的关联元素;最后,至少基于组成元素以及与组成元素关联的关联元 素生成数据结构图,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集 合中的顶点用于表示数据库实例中的SQL元素,边集合中的边用于表示SQL元素之间 的关联关系,实现了快速构建数据图的技术效果。

具体地,可以通过数据库内核将全量SQL流水信息透传,通过实时计算、离线计算,解析SQL流水信息,将SQL格式化、去除参数之后模板化,得到SQL模板,其中, 上述SQL模板可以是数据库实例指定时间区间内的SQL模板。

可选地,用于表示数据库实例中的SQL元素的顶点包括以下顶点:数据库实例中与字段对应的字段顶点、数据库实例中与表对应的表顶点;用于表示SQL元素之间的 关联关系的边包括用于指示以下关系的边:字段之间的关系;表顶点与字段顶点之间 的关系。其中,顶点集合中的每种顶点可以包括顶点的类型以及属性,例如,SQL顶 点包括顶点类型、SQL模板唯一标识等信息;边集合中,表顶点与字段顶点之间的关 系可以是所属关系。SQL与字段之间建立关系,根据SQL关联字段的类型,为关系建 立不同的类型,如:谓词关系、连接字段关系、排序字段关系、聚合字段关系、投影 字段关系等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限 制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术 人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块 并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但 很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端 设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述 的方法。

实施例3

根据本发明实施例,还提供了一种数据库实例中的元素优化方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系 统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同 于此处的顺序执行所示出或描述的步骤。

本申请实施例三所提供的方法实施例仍旧可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,实施例三所提供的方法实施例仍旧可以运行 在图1所示的计算机终端上。

在上述运行环境下,本申请提供了如图4所示的数据库实例中的元素优化方法。图4是根据本发明实施例二的数据库实例中的元素优化方法的流程示意图。

S402,接收来自目标对象的优化请求,其中,优化请求中携带有待优化的目标元素;

S404,获取与目标元素具有关联关系的关联元素;

S406,对目标元素的索引和关联元素的索引进行优化。

上述实施例中,通过接收来自目标对象的优化请求,其中,优化请求中携带有待优化的目标元素;其次可以获取与目标元素具有关联关系的关联元素;最后,对目标元 素的索引和关联元素的索引进行优化,达到优化索引的目的,达到了识别相关SQL的 目的,从而为SQL优化过程提供有力支撑,进而解决了相关技术中并不存在有效的识 别相关SQL请求的方案的技术问题。

需要说的是,对目标元素的索引和关联元素的索引进行优化包括但不限于:进行整 合和去重处理。

本申请的一些实施例中,目标元素包括:数据库实例对应的表;与目标元素对应的关联元素包括:与表关联的SQL语句集合或表集合;和/或目标元素包括:数据库实 例对应的列;与目标元素对应的关联元素包括:与列关联的列集合或SQL语句集合。

本申请的一些实施例中,目标元素包括:数据库实例对应的表;与目标元素对应的关联元素包括:与表关联的SQL请求集合或表集合;和/或目标元素包括:数据库实 例对应的列;与目标元素对应的关联元素包括:与列关联的列集合或SQL请求集合; 和/或目标元素包括:目标SQL请求;与目标元素对应的关联元素包括:与目标SQL 请求关联的SQL请求集合。

本申请的一些实施例中,与目标SQL请求关联的SQL请求集合可以通过以下方式确定:确定数据结构图中与目标SQL请求关联的边的数量确定相关性系数,其中,与 目标SQL请求关联的边包括:从目标SQL请求对应的顶点到目标关联顶点所经过顶点 之间的边,其中,目标关联顶点为与目标SQL请求关联的SQL请求对应的顶点;依据 相关性系数确定与目标SQL请求关联的SQL请求,并将与目标SQL请求关联的SQL请 求存储至SQL请求集合。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限 制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术 人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块 并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但 很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端 设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述 的方法。

实施例4

根据本发明实施例,还提供了一种用于实施上述数据库实例中关联元素的识别方法的识别装置,如图5所示,该装置包括:

确定模块50,用于确定待检测的目标元素;

分析模块52,用于基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶 点集合中至少包括:用于表示数据库实例中的SQL元素的顶点,边集合中至少包括: 用于表示SQL元素之间的关联关系的边;

输出模块54,用于输出与目标元素对应的关联元素。

上述数据库实例中关联元素的识别方法的识别装置中,确定模块用于确定待检测的目标元素;分析模块用于基于数据库实例的数据结构图对目标元素进行分析,得到 与目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中, 该顶点集合中至少包括:用于表示数据库实例中的SQL元素的顶点,边集合中至少包 括:用于表示SQL元素之间的关联关系的边;输出模块用于输出与目标元素对应的关 联元素,达到了识别相关SQL的目的,从而为SQL优化过程提供有力支撑,进而解决 了相关技术中并不存在有效的识别相关SQL请求的方案的技术问题。

本申请的一些实施例中,上述分析模块52,用于获取数据库实例中的至少一个SQL模板;对至少一个SQL模板进行解析,得到第一解析内容,该第一解析内容中至少包 括:与至少一个SQL模板的组成元素关联的关联元素;至少基于与组成元素关联的关 联元素建立数据结构图。需要说明的是,上述关联元素至少包括但不限于:SQL请求 之间关联的谓词、连接条件、排序字段、聚合字段、投影字段等。例如,对SQL模板 1进行解析,得到SQL1组成的元素中包含有字段T2.C1,在SQL模板2元素中组成中 有T2.C2,则T2为上述两个模板的关联元素,因此,可以依据T2这个元素建立数据 结构图。

本申请的一些实施例中,上述分析模块还用于获取数据库实例中的至少一个SQL模板,包括:获取数据库实例所对应数据库中的全量SQL流水信息;对全量SQL流水 信息进行解析,得到第二解析内容,其中,第二解析内容可以是指定时间区间内的SQL 语句;对第二解析内容进行格式化处理,得到初始SQL模板;再对初始SQL模板进行 去重处理,得到SQL模板。具体地,可以通过数据库内核将全量SQL流水信息透传, 通过实时计算、离线计算,解析SQL流水信息,将SQL格式化、去除参数之后模板化, 得到SQL模板,其中上述SQL模板可以是数据库实例指定时间区间内的SQL模板。

本申请一些可选的实施例中,用于表示数据库实例中的SQL元素的顶点包括以下顶点:数据库实例中与字段对应的字段顶点、数据库实例中与表对应的表顶点;用于 表示SQL元素之间的关联关系的边包括用于指示以下关系的边:字段之间的关系;表 顶点与字段顶点之间的关系,其中,SQL元素可以是数据库实施例中的字段、表等。 其中,顶点集合中的每种顶点可以包括顶点的类型以及属性,例如,SQL顶点包括顶 点类型、SQL模板唯一标识等信息;边集合中,表顶点与字段顶点之间的关系可以是 所属关系。SQL请求与字段之间建立关系,根据SQL请求关联字段的类型,为关系建 立不同的类型,如:谓词关系、连接字段关系、排序字段关系、聚合字段关系、投影 字段关系等。

本申请一些实施例中,还可以将表顶点和字段顶点合并为一类顶点,得到目标顶点;基于该目标顶点之间的关联关系建立数据结构图。

本申请的一些实施例中,顶点集合中还包括:不同SQL请求对应的顶点;和/或顶点集合中还包括以下顶点:SQL请求的索引对应的索引顶点;边集合中还包括:用于 指示表与索引的关系的边、用于指示SQL请求与索引的关系的边,例如,通过引入索 引顶点,记录表与索引的关系,SQL请求与索引的关系,构建四类顶点的数据结构图。

本申请的一种可选的实施例中,数据结构图还可以通过以下方式确定:例如将表顶点和字段顶点合并为一类顶点,构建两类顶点的数据结构图。

本申请的一些实施例中,确定数据结构图后,为了获取相关SQL请求,可以通过 图计算的方式获取相关SQL请求,例如,可以通过联通图算法,也可以利用第三方提供 的已有的图计算方式,例如:Apache Tinker Pop提供的Connected Component Vetex Program。

本申请的一些实施例中,获取相关SQL请求的方式包括但不限于:通过谓词字符串匹配的方式或者可以由用户侧标识相关性作为训练数据,通过AI技术建立机器学习模 型的方式识别相关SQL请求。

本申请的一些实施例中,确定数据结构图后,在图计算的基础上,可以获取不同类型的相关SQL请求。例如,给定表,获取所有与该表相关的SQL集合、给定一条SQL 请求,获取与该SQL请求相关的SQL集合,根据SQL请求获取相关SQL,可以自定义 相关SQL的集合,如根据关联的边的数量计算相关系数,根据相关系数,查找最具相 关性的SQL请求、给定列,查找相关SQL请求、给定列,查找相关列、给定表,查找 相关表等。

本申请一种可选的实施例中,确定模块用于接收来自目标对象的优化请求,其中,优化请求中携带有目标元素;基于数据库实例的数据结构图对目标元素进行分析,得 到与目标元素关联的关联元素之后,方法还包括:获取目标元素对应的第一索引,以 及与目标元素关联的关联元素的索引集合;对第一索引和索引集合中的第二索引进行 整合和去重处理。

需要说明的是,目标元素可以是:数据库实例对应的表;与目标元素对应的关联元素包括:与表关联的SQL请求集合或表集合;和/或目标元素包括:数据库实例对应 的列;与目标元素对应的关联元素包括:与列关联的列集合或SQL请求集合;和/或目 标元素包括:目标SQL请求;与目标元素对应的关联元素包括:与目标SQL请求关联 的SQL请求集合。

本申请的一些实施例中,分析模块52,还用于确定数据结构图中与目标SQL请求关联的边的数量确定相关性系数,其中,与目标SQL请求关联的边包括:从目标SQL 请求对应的顶点到目标关联顶点所经过顶点之间的边,其中,目标关联顶点为与目标 SQL请求关联的SQL请求对应的顶点;依据相关性系数确定与目标SQL请求关联的SQL 请求,并将与目标SQL请求关联的SQL请求存储至SQL请求集合。

此处需要说明的是,上述确定模块50、分析模块52和输出模块54对应于实施例 1中的步骤S202至步骤S206,3个模块与对应的步骤所实现的实例和应用场景相同, 但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可 以运行在实施例一提供的计算机终端10中。

实施例5

本发明的实施例可以提供一种计算设备,该计算设备可以是计算设备群中的任意一个计算设备设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等 终端设备。

可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算设备可以执行应用程序的漏洞检测方法中以下步骤的程序代码:确定数据库实例中待检测的目标元素,其中,该目标元素为SQL数据库中的 SQL元素;基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联 的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中的 顶点用于表示数据库实例中的SQL元素,边集合中的边用于表示SQL元素之间的关联 关系;输出与目标元素对应的关联元素。

在本申请上述实施例中,首先,确定数据库实例中待检测的目标元素,其次,基 于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素, 其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中的顶点用于表示 数据库实例中的SQL元素,边集合中的边用于表示SQL元素之间的关联关系;最后, 输出与目标元素对应的关联元素,达到了识别相关SQL的目的,从而为SQL优化过程 提供有力支撑,进而解决了相关技术中并不存在有效的识别相关SQL请求的方案的技 术问题。

可选地,图6是根据本发明实施例的一种计算设备的结构框图。如图6所示,该 计算设备60可以包括:一个或多个(图中仅示出一个)处理器602、存储器604。

其中,存储器可用于存储软件程序以及模块,如本发明实施例中的关联元素的识别方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及 模块,从而执行各种功能应用以及数据处理,即实现上述的数据库实例中关联元素的 识别方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者 多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可 进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终 端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其 组合。

处理器可以通过传输模块调用存储器存储的信息及应用程序,以执行下述步骤:确定数据库实例中待检测的目标元素;基于数据库实例的数据结构图对目标元素进行 分析,得到与目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集 合,其中,该顶点集合中的顶点用于表示数据库实例中的SQL元素,边集合中的边用 于表示SQL元素之间的关联关系;输出与目标元素对应的关联元素。

可选的,上述处理器还可以执行如下步骤的程序代码:确定待检测的目标元素;基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素, 其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中至少包括:用于 表示数据库实例中的SQL元素的顶点,边集合中至少包括:用于表示SQL元素之间的 关联关系的边;输出与目标元素对应的关联元素。

可选的,上述处理器还可以执行如下步骤的程序代码:获取数据库实例中的至少一个SQL模板;对至少一个SQL模板进行解析,得到第一解析内容,该第一解析内容 中至少包括:与至少一个SQL模板的组成元素关联的关联元素;至少基于与组成元素 关联的关联元素建立数据结构图。

可选的,上述处理器还可以执行如下步骤的程序代码:获取数据库实例所对应数据库中的全量SQL流水信息;对全量SQL流水信息进行解析,得到第二解析内容;对 第二解析内容进行格式化处理,得到初始SQL模板;对初始SQL模板进行去重处理, 得到至少一个SQL模板。具体地,可以通过数据库内核将全量SQL流水信息透传,通 过实时计算、离线计算,解析SQL流水信息,将SQL格式化、去除参数之后模板化, 得到SQL模板,其中上述SQL模板可以是数据库实例指定时间区间内的SQL模板。

可选的,上述处理器还可以执行如下步骤的程序代码:获取数据库实例所对应数据库中的全量SQL流水信息;对全量SQL流水信息进行解析,得到第二解析内容;对 第二解析内容进行格式化处理,得到初始SQL模板;对初始SQL模板进行去重处理, 得到至少一个SQL模板。。

可选的,上述处理器还可以执行如下步骤的程序代码:对表顶点和字段顶点合并为一类顶点,得到目标顶点;基于该目标顶点之间的关联关系建立数据结构图。

可选的,上述处理器还可以执行如下步骤的程序代码:确定待检测的目标元素,包括:接收来自目标对象的优化请求,其中,优化请求中携带有目标元素;基于数据 库实例的数据结构图对目标元素进行分析,得到与目标元素关联的关联元素之后,方 法还包括:获取目标元素对应的第一索引,以及与目标元素关联的关联元素的索引集 合;对第一索引和索引集合中的第二索引进行整合和去重处理。

可选的,上述处理器还可以执行如下步骤的程序代码:确定数据结构图中与目标SQL请求关联的边的数量确定相关性系数,其中,与目标SQL请求关联的边包括:从 目标SQL请求对应的顶点到目标关联顶点所经过顶点之间的边,其中,目标关联顶点 为与目标SQL请求关联的SQL请求对应的顶点;依据相关性系数确定与目标SQL请求 关联的SQL请求,并将与目标SQL请求关联的SQL请求存储至SQL请求集合。

采用本发明实施例,采用识别相关SQL的方式,首先,通过确定待检测的目标元素,其次,基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联 的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中至 少包括:用于表示数据库实例中的SQL元素的顶点,边集合中至少包括:用于表示SQL 元素之间的关联关系的边,最后,输出与目标元素对应的关联元素,达到了识别相关 SQL的目的,进而解决了相关技术中并不存在有效的识别相关SQL请求的方案的技术 问题。

本领域普通技术人员可以理解,图6所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备 (MobileInternet Devices,MID)、PAD等终端设备。图6其并不对上述电子装置的 结构造成限定。例如,计算设备60还可包括比图6中所示更多或者更少的组件(如网 络接口、显示装置等),或者具有与图6所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以 通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存 取器(Random Access Memory,RAM)、磁盘或光盘等。

本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例一所提供的数据库实例中关联元素的识别 方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算设备群中的任意一个计算设备中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定待检测的目标元素;基于数据库实例的数据结构图对目标元素进行分析,得到与 目标元素关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该 顶点集合中至少包括:用于表示数据库实例中的SQL元素的顶点,边集合中至少包括: 用于表示SQL元素之间的关联关系的边;输出与目标元素对应的关联元素。

实施例6

根据本发明实施例,还提供了一种数据库实例中关联元素的识别方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算 机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以 不同于此处的顺序执行所示出或描述的步骤。

本申请实施例六所提供的方法实施例仍旧可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,实施例六所提供的方法实施例仍旧可以运行 在图1所示的计算机终端上。

在上述运行环境下,本申请提供了如图7所示的数据库实例中关联元素的识别方法。图7是根据本发明实施例六的数据库实例中关联元素的识别方法的流程示意图。

S702,接收SQL请求,从SQL请求中获取数据库实例中的目标元素;

S704,基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素关联的 关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合中的顶 点中包括:用于表示不同SQL请求的顶点和用于表示数据库实例中的SQL元素的顶点, 边集合中包括:用于表示不同SQL请求与数据库实例中的SQL元素之间的关联关系的 边、用于表示SQL元素之间的关联关系的边;

S706,输出与目标元素对应的关联元素。

在上述实施例中,首先,可以接收SQL请求,从SQL请求中获取数据库实例中的 目标元素;其次,基于数据库实例的数据结构图对目标元素进行分析,得到与目标元素 关联的关联元素,其中,数据结构图中包括:顶点集合和边集合,其中,该顶点集合 中的顶点中包括:用于表示不同SQL请求的顶点和用于表示数据库实例中的SQL元素 的顶点,边集合中包括:用于表示不同SQL请求与数据库实例中的SQL元素之间的关 联关系的边、用于表示SQL元素之间的关联关系的边;最后,输出与目标元素对应的关 联元素,达到了识别相关SQL的目的,从而为SQL优化过程提供有力支撑,进而解决 了相关技术中并不存在有效的识别相关SQL请求的方案的技术问题。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限 制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术 人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块 并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但 很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端 设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方 法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所 显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模 块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到 多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例 方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成 的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的 形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一 台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所 述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘 等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润 饰也应视为本发明的保护范围。

相关技术
  • 数据库关联元素的识别方法及数据结构图的建立方法
  • 基于实体消歧的数据库中的关键数据元素识别方法及系统
技术分类

06120113270170