CN103886021B - 一种基于自然语言的数据库审计结果翻译方法及系统 - Google Patents
一种基于自然语言的数据库审计结果翻译方法及系统 Download PDFInfo
- Publication number
- CN103886021B CN103886021B CN201410062348.3A CN201410062348A CN103886021B CN 103886021 B CN103886021 B CN 103886021B CN 201410062348 A CN201410062348 A CN 201410062348A CN 103886021 B CN103886021 B CN 103886021B
- Authority
- CN
- China
- Prior art keywords
- translation
- information
- sql
- name
- natural language
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于自然语言的数据库审计结果翻译方法,包括:识别一数据库审计结果中的结构化查询语言指令以获得其语法信息;解析该SQL指令的语法信息以获得该SQL指令的操作信息;根据用户翻译信息翻译该SQL指令的操作信息;根据系统翻译信息以及翻译后的操作信息对SQL指令进行自然语言翻译。本发明还提供一种数据库审计结果翻译系统,包括用户定义翻译信息模块,系统定义翻译信息模块,以及至少一翻译模块。本发明可以在数据库审计时自动地将审计结果翻译成自然语言,使操作人员方便、简单地获得并清楚了解数据库审计结果。
Description
技术领域
本发明涉及一种数据库审计方法及系统,尤其涉及一种基于自然语言的数据库审计结果翻译方法及系统。
背景技术
目前,随着结构化查询语言(STRUCTURED QUERY LANGUAGE,SQL)数据库的广泛应用,数据库审计(Database Audit)系统在满足用户降低数据库管理风险、实现数据库操作记录监控的基础上,更进一步要求提供更友好、简单的查询界面,使得非专业人员能对相应的SQL数据库进行数据库审计,并理解其数据库审计结果,从而更简单、准确地掌控数据库。
目前的数据库审计方法都是将相应的审计结果通过SQL语句形式直接显示。举例而言,当审计SQL语句如“select AAA from table1”及其查询反馈结果为“1000”条时,现有的数据库审计系统通常直接显示如下表1-1所示的SQL语句及其审计结果:
表1-1
SQL语句 | 结果 |
select AAA from table1 | 1000 |
此类显示内容通常只有专业的数据库技术人员才能理解其含义,一般的非技术人员在不了解SQL语句的语法信息时,可能无法通过该结果理解审计结果的真实情况。而非专业的数据库管理技术人员因无法理解该语句对应的自然语言的意义,对相应的审计结果无法具有准确的认识,而忽略相应的管理风险及可能存在的安全隐患,并因此大大降低了数据库审计的安全意义。
因此,有必要提供一种能够基于自然语言的数据库审计结果翻译方法及系统,可通过将数据库审计结果翻译成自然语言,使得非专业的技术人员也可进行数据库审计交互,可方便地浏览数据库审计结果并清楚地了解其意义。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种方法,以能提供将数据库审计结果中的结构化查询语言(STRUCTURED QUERY LANGUAGE,SQL)语句等专业术语翻译成非技术人员可以理解的自然语言,使得非专业技术人员能简单、方便的浏览数据库审计系统的审计结果,并清楚地了解其含义。
依据本发明的一个方面,提供了一种基于自然语言的数据库审计结果翻译方法,包括以下步骤:
识别数据库审计结果中的SQL指令以获得其语法信息;
解析该SQL指令的语法信息以获得该SQL指令的操作信息;
根据用户翻译信息翻译该SQL指令的操作信息;以及
根据系统翻译信息以及翻译后的SQL指令的操作信息,对SQL指令进行自然语言翻译。
在其中的一实施例中,该数据库审计结果翻译方法还进一步包括以下步骤:设定至少一表名称翻译表;设定至少一表字段名称翻译表;以及将表名称翻译表与表字段名称翻译表通过至少一特定字段关联,以获得所述用户翻译信息。较佳地,该至少一特定字段为表属性字段。
在其中的一实施例中,该系统翻译信息包括系统翻译词汇语句表。
在其中的一实施例中,根据用户翻译信息翻译该SQL指令的操作信息的步骤进一步包括:根据表名称翻译表及表字段名称翻译表翻译SQL指令的操作信息,以获得翻译后的表信息。
在其中的一实施例中,根据系统翻译信息以及翻译后的该SQL指令的操作信息对SQL指令进行自然语言翻译的步骤进一步包括:根据翻译后的表信息及翻译词汇语句表对SQL指令进行自然语言翻译。
在其中的一实施例中,该数据库审计结果翻译方法还进一步包括步骤:输入原始数据库审计结构;输出以自然语言表述的该数据库审计结果。
依据本发明的另一个方面,提供一种基于自然语言的数据库审计结果翻译系统,包括:
用户定义翻译信息模块,用于设定用户翻译信息;
系统定义翻译信息模块,用于设定的系统翻译信息;以及
至少一翻译模块,所述翻译模块用于根据所设定的用户翻译信息及设定的系统翻译信息对数据库审计结果进行识别、解析及自然语言翻译。
在其中的一实施例中,该翻译模块包括一解析模块,用于识别数据库审计结果中的SQL指令以获得其语法信息;解析该SQL指令的语法信息以获得该SQL指令的操作信息;根据设定的用户翻译信息翻译该SQL指令的操作信息;以及根据设定的系统翻译信息以及翻译后的该SQL指令的操作信息对SQL指令进行自然语言翻译。
在其中的一实施例中,用户翻译信息包括至少一表名称翻译表以及至少一表字段名称翻译表,系统翻译信息包括至少一翻译词汇语句表。
通过上述实施例,本发明能够根据用户需求在进行SQL审计时自动地将以SQL术语表述的数据库审计结果翻译成自然语言,使操作人员方便、简单地获得并清楚了解数据库审计结果。
附图说明
读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
图1示出本发明的基于自然语言的数据库审计结果翻译系统模块示意图;
图2示出本发明一实施例中的基于自然语言的数据库审计结果翻译系统模块示意图;
图3示出本发明的基于自然语言的数据库审计结果翻译方法流程示意图;
图4示出图3中的基于自然语言的数据库审计结果翻译方法流程示意图的示意性流程示意图;以及
图5是本发明又一实施例的应用效果示意图。
具体实施方式
为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。
请配合参阅图1,所示为本发明基于自然语言的数据库审计结果翻译系统模块示意图。在本发明的实施例中,数据库审计基于结构化查询语言(Structured QueryLanguage,SQL)指令进行。应当指出的是,在基于其他查询语言指令进行的数据库审计中,本发明的审计结果翻译系统亦可使用,而不限于本发明列举的情形。
在本实施例中,所述的数据库审计结果翻译系统包括用户定义翻译信息模块1,用于设定用户翻译信息;系统定义翻译信息模块2,用于设定的系统翻译信息,以及翻译模块3,所述翻译模块3用于根据所述设定的用户翻译信息及设定的系统翻译信息对数据库审计结果进行识别、解析及自然语言翻译。本领域的技术人员应当理解,在其他的一些实施例中,用户定义翻译信息模块和系统定义翻译信息模块并不是必要的,直接将用户翻译信息和系统翻译信息存放在存储器或数据库中。
用户定义翻译信息模块1进一步可设置为可以进行定义、修改、存储及删除的用户配置翻译表,并存储于相应的计算机硬件存储或操作软件系统中,可通过物理硬件设置及软件系统实现。在本实施例中,所设定的用户翻译信息至少包括用于翻译SQL语句中的操作对象表及其字段名称的翻译表。在本发明的其他实施方式中,所设定的用户翻译信息可以包括SQL语句中其它操作条件和/或操作对象名称、内容的翻译表。应当指出的是,本发明所指的用户翻译信息并不局限于本实施例中所列举的内容,其中用户配置翻译表可以依据数据库审计的实际需求予以自行定义。
系统定义翻译信息模块2进一步可设置为可进行定义、修改、存储及删除的翻译词汇语句表,所述翻译词汇语句表包括翻译语句词汇数据,举例而言,可以包括如:从“”中进行记录查询,查询结果包含“、”的信息,查询条件为“”的“”记录,共查询到“”条记录等内容。应当指出的是,本发明所指的系统定义翻译信息并不局限于本实施例中所列举的内容,其中系统定义的翻译词汇语句表可依据数据库审计的实际需求予以自行定义。
翻译模块3进一步设置为根据用户定义翻译信息模块1中的用户配置翻译表及系统定义翻译信息模块2中的翻译词汇语句表对数据库审计结果的SQL指令进行识别、解析及自然语言翻译。
在本实施例中,翻译模块3还用于识别数据库审计结果中的结构化查询语言(Structured Query Language,SQL)指令以获得其语法信息,其中,SQL指令的语法信息包括但不限于如“select”、“delete”、“update”以及“create”等操作指令信息。在本发明的其他实施方式中,SQL指令的语法信息可以依据实际数据库审查需求进行识别与定义,在此不再赘述。
翻译模块3进一步解析该SQL指令的语法信息以获得该SQL指令的操作信息,例如:对select语句分析其查询的表名称、字段名称,查询条件,查询结果数(该值需对数据库服务器的回应包进行分析,得到返回的结果集数量)等关键信息;对delete语句分析该条语句删除的表名称,删除条信息;对update语句分析出该条语句操作的表名称、更新字段名称、更新条件等信息。同样的,也可以以相同的方式,对识别出的其他SQL语句进行解析,以便获得包括但不限于SQL语句的操作对象、操作条件等操作信息。
翻译模块3还根据所述的设定的用户翻译信息翻译该SQL指令的操作信息,在本实施例中,翻译模块3根据用户配置的翻译信息对解析出的操作信息进行替换翻译,从而获得翻译之后的操作对象和/或操作条件信息。前述操作对象可以是SQL指令指向操作的表名称信息、表字段名称信息等。
翻译模块3进一步根据前述翻译后的操作信息及设定的系统翻译信息对SQL指令进行自然语言翻译。在本实施例中,翻译模块3根据设定的系统翻译词汇语句表对已经依据用户配置的翻译信息解析出的表名称信息、表字段名称信息等内容进行自然语言翻译及组织,并最终形成以自然语言表述的翻译结果。举例而言,当翻译模块3识别到一个SQL指令如“select name,price from Table-fruit where price<50”的SQL语句,并审计到该条SQL指令的查询返回结果包含1000条记录时,则根据翻译词汇语句表定义的翻译语句词汇数据对SQL指令进行自然语言翻译为:“从‘水果表’中进行记录查询,查询结果包含‘水果表’的‘水果名称、水果价格’字段,查询条件为‘水果价格小于50’,一共查询到‘1000’条记录。”
由上述可知,通过本发明的数据库审计结果翻译系统,在实际使用中,可以准确地将本发明使用程序自动控制翻译流程,将查询语句“select”、更新语句“update”、删除语句“delete”、增加语句、“create”等等SQL语句显示的数据库审计结果根据具体数据库自动进行准确的翻译,使数据库审计的输出结果最终可以向普通用户展现。
请进一步参阅图2,所示为本发明一实施例中的基于自然语言的数据库审计结果翻译系统模块示意图。在本实施例中,数据库审计基于SQL指令进行。应当指出的是,在基于其他查询语言指令进行的数据库审计中,本发明的审计结果翻译系统亦可使用,而不限于本发明列举的情形。
在本实施例中,所述的数据库审计结果翻译系统包括用户定义翻译信息模块1,用于设定用户翻译信息;系统定义翻译信息模块2,用于设定的系统翻译信息,以及翻译模块3,用于识别数据库审计结果中的SQL指令以获得其语法信息;解析该SQL指令的语法信息以获得该SQL指令的操作信息;根据设定的用户翻译信息翻译该SQL指令的操作信息;以及根据翻译后的操作信息及设定的系统翻译信息对SQL指令进行自然语言翻译。
其中,用户定义翻译信息模块1进一步可设置为可以进行定义、修改、存储及删除的用户配置翻译表,并存储于相应的计算机硬件存储或操作软件系统中,可通过物理硬件设置及软件系统实现。在本实施例中,所设定的用户翻译信息至少包括用于翻译SQL语句中的操作对象表的名称翻译表11及其字段名称翻译表12。在本发明的其他实施方式中,所设定的用户翻译信息可以包括SQL语句中其它操作条件和/或操作对象名称、内容的翻译表。应当指出的是,本发明所指的用户翻译信息并不局限于本实施例中所列举的内容,其中用户配置翻译表可以依据数据库审计的实际需求予以自行定义。
在本实施例中,所述表名称翻译表11至少应定义操作表的原始表名,亦即以SQL指令语句显示的表名称;以及翻译后的表名称,亦即以自然语言显示的表名称;同时,所述表名称翻译表11最好应包括存储一个特殊字段,用于标明该操作对象表的属性,在本实施例中,将该操作对象表的属性及其赋值(Table-Id)作为所述特殊字段予以定义,在本发明的其他实施方式中,可以依据实际需要将操作对象表的其他属性作为特殊字段予以定义、存储,在此不再赘述。以前述“水果表”为例,请参阅下表2-1表名称翻译表,其中表属性为特殊字段,赋值为1,原始表名为“Table-fruit”与SQL指令语句中的操作对象表一致,用户定义的翻译表名为“水果表”。应当指出的是,在本发明的其他实施方式中,各个字段的实际赋值数据类型可以根据实际情况选择。
表2-1表名称翻译表
Table_Id | 原始表名 | 翻译表名 |
1 | Table_fruit | 水果表 |
表字段名称翻译表12至少应定义操作表的属性(Table-Id)及其赋值、该表的字段属性(Field_Id)及其赋值、原始字段即SQL指令语句中的操作内容和/或操作条件等、以及用户设置的翻译字段。请参阅下表2-2表字段名称翻译表,其中表属性(Table-Id)为特殊字段,赋值为1。字段属性是在同一个表中依据原始字段分类定义,如根据原始字段“name”将其字段属性赋值为1,根据原始字段“price”将其字段属性赋值为2。同样的,根据原始字段name将翻译字段定义为具有该表属性的“水果名称”,根据原始字段price将翻译字段定义为具有该表属性的“水果价格”。应当指出的是,在本发明的其他实施方式中,各个字段的实际赋值数据类型可以根据实际情况选择。
表2-2字段名称翻译表
Field_Id | Table_Id | 原始字段 | 翻译字段 |
1 | 1 | name | 水果名称 |
2 | 1 | price | 水果价格 |
在本实施例中,表12通过特殊字段即表属性(Table-Id)进行关联,请同时参阅表2-1及表2-2,表2-1所示的表名称翻译表11与表2-2所示的表字段名称翻译表12通过对表属性(Table-Id)及其相同的赋值1相关联,从而在匹配、搜索或索引时可以准确的定义到SQL指令操作信息指向的对象和/或条件等信息。
系统定义翻译信息模块2进一步可设置为可以进行定义、修改、存储及删除的翻译词汇语句表21,所述翻译词汇语句表包括翻译语句词汇数据,举例而言,可以包括如:从“”中进行记录查询,查询结果包含“、”的信息,查询条件为“”的“”记录,共查询到“”条记录等内容。请进一步参阅表2-3翻译词汇语句表,其中所示的字段赋值定义应与表2-1及表2-2相一致,即该系统翻译词汇语句表的字段赋值应与前述Table-Id、Field-Id一致,并应与其语句词汇字段Id相关联。应当指出的是,在本发明的其他实施方式中,翻译词汇语句表21各个字段的实际赋值数据类型可以根据实际情况选择。
表2-3翻译词汇语句表
语句词汇 |
从“” |
中进行记录查询,查询结果包含“” |
信息,查询条件为: |
“”的 |
“”记录, |
共查询到 |
“”条记录 |
、 |
“ |
” |
字段 |
查询条件 |
小于 |
应当指出的是,本发明所指的系统定义翻译信息并不局限于本实施例中所列举的内容,其中系统定义的翻译词汇语句表可以依据数据库审计的实际需求予以自行定义。
翻译模块3进一步设置为用于根据用户定义翻译信息模块1中的用户配置翻译表及系统定义翻译信息模块2中的翻译词汇语句表对数据库审计结果的SQL指令进行自然语言翻译。
在本实施例中,翻译模块3进一步包括一输入模块30、解析模块31以及输出模块32。在本实施例中,输入模块30可与所述用户定义翻译信息模块1以及所述系统定义翻译信息模块2连接,以接收所述用户翻译信息及系统翻译信息;输入模块30还用于接收一原始数据库审计结果。在本实施例中,所述原始数据库审计结果包括以前述表1-1形式显示的数据库审计结果。
解析模块31与所述输入模块30连接,用于识别所述原始数据库审计结果中的SQL指令以获得其语法信息,其中SQL指令的语法信息包括但不限于如“select”、“delete”、“update”以及“create”等操作指令信息。在本发明的其他实施方式中,SQL指令的语法信息可以依据实际数据库审查需求进行识别与定义,在此不再赘述。
解析模块31进一步解析该SQL指令的语法信息以获得该SQL指令的操作信息,例如:对select语句分析其查询的表名称、字段名称,查询条件,查询结果数(该值需要对数据库服务器的回应包进行分析,得到返回的结果集数量)等关键信息;对delete语句分析该条语句删除的表名称,删除条信息;对update语句分析出该条语句操作的表名称、更新字段名称、更新条件等信息。同样的,也可以以相同的方式,对识别出的其他SQL语句进行解析,以便获得包括但不限于SQL语句的操作对象、操作条件等操作信息。
解析模块31还根据所述的设定的用户翻译信息翻译该SQL指令的操作信息,在本实施例中,解析模块31根据用户配置的翻译信息对解析出的操作信息进行替换翻译,从而获得翻译之后的操作对象和/或操作条件信息。前述操作对象可以是SQL指令指向操作的表名称信息、表字段名称信息等。请结合参阅表2-1及表2-2,举例而言,当解析模块31解析到一个SQL指令如“select name,price from Table-fruit where price<50”的操作对象为“Table-fruit”表时,根据该表的属性赋值1指向并显示翻译后的表2-1所示的表名称“水果表”。而表2-2通过特定字段表的属性赋值1关联到表2-2,从而进一步根据name的字段属性赋值1将其翻译为“水果名称”,根据price的字段属性赋值2将其翻译为“水果价格”。
解析模块31进一步根据前述翻译后的操作信息及设定的系统翻译信息对SQL指令进行自然语言翻译。在本实施例中,解析模块31根据设定的系统翻译词汇语句表对已经依据用户配置的翻译信息解析出的表名称信息、表字段名称信息等内容进行自然语言翻译及组织,并最终形成以自然语言表述的翻译结果。举例而言,解析模块31前述SQL指令的查询返回结果包含1000条记录时,则根据翻译词汇语句表定义的翻译语句词汇数据对SQL指令进行自然语言翻译为:“从‘水果表’中进行记录查询,查询结果包含‘水果表’的‘水果名称、 水果价格’字段,查询条件为‘水果价格小于50’,一共查询到‘1000’条记录。”
输出模块32与解析模块31连接,用于将解析模块31翻译后的以自然语言表述的数据库审计结果输出至相应的显示或交互界面,以使数据库审计操作人员或管理员可以方便的获得该自然语言形式的数据库审计结果。
由上述可知,通过本发明的数据库审计结果翻译系统,在实际使用中可以准确地将本发明使用程序自动控制翻译流程,将查询语句“select”、更新语句“update”、删除语句“delete”、增加语句、“create”等等SQL语句显示的数据库审计结果根据具体数据库自动进行准确的翻译,使数据库审计的输出结果最终可以向普通用户展现。
请参阅图3,所示为本发明的基于自然语言的数据库审计结果翻译方法流程示意图。本发明的实施例中,数据库审计基于SQL指令进行。应当指出的是,在基于其他查询语言指令进行的数据库审计中,本发明的数据库审计结果翻译方法亦可使用,而不限于本发明列举的情形。
在步骤100,设定用户翻译信息。其中,用户翻译信息可设置为可以进行定义、修改、存储及删除的用户配置翻译表,并存储于相应的计算机硬件存储或操作软件系统中,可通过物理硬件设置及软件系统实现。在本实施例中,所设定的用户翻译信息至少包括用于翻译SQL语句中的操作对象表及其字段名称的翻译表。在本发明的其他实施方式中,所设定的用户翻译信息可以包括SQL语句中其它操作条件和/或操作对象名称、内容的翻译表。应当指出的是,本发明所指的用户翻译信息并不局限于本实施例中所列举的内容,其中用户配置翻译表可以依据数据库审计的实际需求予以自行定义。
在步骤200,设定系统翻译信息。在本实施例中,所述系统翻译信息进一步可设置为可以进行定义、修改、存储及删除的翻译词汇语句表,所述翻译词汇语句表包括翻译语句词汇数据,举例而言,可以包括如:从“”中进行记录查询,查询结果包含“、”的信息,查询条件为“”的“”记录,共查询到“”条记录等内容。应当指出的是,本发明所指的系统定义翻译信息并不局限于本实施例中所列举的内容,其中系统定义的翻译词汇语句表可以依据数据库审计的实际需求予以自行定义。应当指出的是,步骤100与步骤200之间并无指定的先后顺序,即步骤100及步骤200之分别实现间并不以相互完成为要件。在其他的一些实施例中,用户翻译信息和系统翻译信息直接存放于存储器或数据库,因而亦可不必执行步骤100和200。
在步骤400,识别一数据库审计结果中的SQL指令以获得其语法信息。其中所述SQL指令的语法信息包括但不限于如“select”、“delete”、“update”以及“create”等操作指令信息。在本发明的其他实施方式中,SQL指令的语法信息可以依据实际数据库审查需求进行识别与定义,在此不再赘述。
在步骤500,解析该SQL指令的语法信息以获得该SQL指令的操作信息。就本实施例而言,例如:对select语句分析其查询的表名称、字段名称,查询条件,查询结果数(该值需要对数据库服务器的回应包进行分析,得到返回的结果集数量)等关键信息;对delete语句分析该条语句删除的表名称,删除条信息;对update语句分析出该条语句操作的表名称、更新字段名称、更新条件等信息。同样的,也可以以相同的方式,对识别出的其他SQL语句进行解析,以便获得包括但不限于SQL语句的操作对象、操作条件等操作信息。
在步骤600,根据设定的用户翻译信息翻译该SQL指令的操作信息。在本实施例中,根据用户配置的翻译信息对解析出的操作信息进行替换翻译,从而获得翻译之后的操作对象和/或操作条件信息。前述操作对象可以是SQL指令指向操作的表名称信息、表字段名称信息等。
在步骤700,根据翻译后的操作信息及设定的系统翻译信息对SQL指令进行自然语言翻译。在本实施例中,根据设定的系统翻译词汇语句表对已经依据用户配置的翻译信息解析出的表名称信息、表字段名称信息等内容进行自然语言翻译及组织,并最终形成以自然语言表述的翻译结果。举例而言,当识别到一个SQL指令如“select name,price fromTable-fruit where price<50”的SQL语句,并审计到该条SQL指令的查询返回结果包含1000条记录时,则根据翻译词汇语句表定义的翻译语句词汇数据对SQL指令进行自然语言翻译为:“从‘水果表’中进行记录查询,查询结果包含‘水果表’的‘水果名称、水果价格’字段,查询条件为‘水果价格小于50’,一共查询到‘1000’条记录。”
由上述可知,通过本发明的数据库审计结果翻译方法,在实际使用中可以准确地将本发明使用程序自动控制翻译流程,将查询语句“select”、更新语句“update”、删除语句“delete”、增加语句、“create”等等SQL语句显示的数据库审计结果根据具体数据库自动进行准确的翻译,使数据库审计的输出结果最终可以向普通用户展现。
请进一步参阅图4,所示为图3所示的基于自然语言的数据库审计结果翻译方法流程示意图的优选流程示意图。本发明的实施例中,所述的数据库审计基于SQL指令进行。应当指出的是,在基于其他查询语言指令进行的数据库审计中,本发明的数据库审计结果翻译方法亦可使用,而不限于本发明列举的情形。
请结合参阅图3,为描述方便起见,对图4与图3相同的流程不再赘述。在本实施例中,步骤100设定用户翻译信息步骤至少进一步包括设定用于翻译SQL语句中的操作对象表的名称翻译表的步骤1002设定及其字段名称翻译表的步骤1004,以及将表名称翻译表与表字段名称翻译表通过特定字段关联的步骤1006。在本发明的其他实施方式中,设定用户翻译信息的步骤还可以包括设定SQL语句中其它操作条件和/或操作对象名称、内容的翻译表的步骤。应当指出的是,本发明所指的设定用户翻译信息并不局限于本实施例中所列举的内容,而可以依据数据库审计的实际需求予以自行定义。
在步骤1002,设定表名称翻译表。在该实施例中,所述设定表名称翻译表1002至少应包括定义操作表的原始表名,亦即以SQL指令语句显示的表名称;以及翻译后的表名称,亦即以自然语言显示的表名称的步骤。同样,所述表名称翻译表最好应设定为包括存储一个特殊字段,用于标明该操作对象表的属性,在本实施例中,将该操作对象表的属性及其赋值(Table-Id)作为所述特殊字段予以定义,在本发明的其他实施方式中,可以依据实际需要将操作对象表的其他属性作为特殊字段予以定义、存储,在此不再赘述。以前述“水果表”为例,请参阅前表2-1表名称翻译表,其中表属性为特殊字段,赋值为1,原始表名为“Table-fruit”与SQL指令语句中的操作对象表一致,用户定义的翻译表名为“水果表”。应当指出的是,在本发明的其他实施方式中,各个字段的实际赋值数据类型可以根据实际情况选择。
在步骤1004,设定表字段名称翻译表。在本优选实施例中,所述设定表字段名称翻译表至少应定义操作表的属性(Table-Id)及其赋值、该表的字段属性(Field_Id)及其赋值、原始字段即SQL指令语句中的操作内容和/或操作条件等、以及用户设置的翻译字段等内容。请配合参阅前述表2-2表字段名称翻译表,其中表属性(Table-Id)为特殊字段,赋值为1。字段属性是在同一个表中依据原始字段分类定义,如根据原始字段“name”将其字段属性赋值为1,根据原始字段“price”将其字段属性赋值为2。同样的,根据原始字段name将翻译字段定义为具有该表属性的“水果名称”,根据原始字段price将翻译字段定义为具有该表属性的“水果价格”。应当指出的是,在本发明的其他实施方式中,各个字段的实际赋值数据类型可以根据实际情况选择。
在步骤1006,将表名称翻译表与表字段名称翻译表通过特定字段关联。在本优选实施例中,将所述表名称翻译表与表字段名称翻译表通过特殊字段即表属性(Table-Id)进行关联。请同时参阅表2-1及表2-2,将表2-1所示的表名称翻译表11与表2-2所示的表字段名称翻译表12通过对表属性(Table-Id)及其相同的赋值1进行关联,从而在匹配、搜索或索引时可以准确的定义到SQL指令操作信息指向的对象和/或条件等信息。
步骤200设定系统翻译信息进一步包括步骤2002,即由系统通过特定字段设定翻译词汇语句表。在本优选实施例中,所述系统可以进行定义、修改、存储及删除的翻译词汇语句表。所述翻译词汇语句表包括翻译语句词汇数据,举例而言,可以包括如:从“”中进行记录查询,查询结果包含“、”的信息,查询条件为“”的“”记录,共查询到“”条记录等内容。请进一步参阅表2-3翻译词汇语句表,其中所示的字段赋值定义应与表2-1及表2-2相一致,即该系统翻译词汇语句表的字段赋值应与前述Table-Id、Field-Id一致,并应与其语句词汇字段Id相关联。应当指出的是,在本发明的其他实施方式中,翻译词汇语句表21各个字段的实际赋值数据类型可以根据实际情况选择。应当指出的是,本发明所指的系统定义翻译信息并不局限于本实施例中所列举的内容,其中系统定义的翻译词汇语句表可以依据数据库审计的实际需求予以自行定义。
在步骤300,输入一原始数据库审计结果。在本优选实施例中,所述数据库审计结果为原始数据库审计结果,即以SQL指令语句显示的数据库审计结果。在本实施例中,所述原始数据库审计结果包括以前述表1-1形式显示的数据库审计结果。
本实施例中步骤400识别数据库审计结果中的SQL指令以获得SQL指令的语法信息之步骤与图3相同,在此不再详细表述。
步骤500解析该SQL指令的语法信息以获得SQL指令的操作信息
步骤600根据设定的用户翻译信息翻译该操作信息进一步包括步骤6002,即根据表名称翻译表及表字段名称翻译表翻译SQL指令操作信息,获得翻译后的表信息。在本优选实施例中,根据前述用户配置的翻译信息对解析出的操作信息进行替换翻译,从而获得翻译之后的操作对象和/或操作条件信息。前述操作对象可以是SQL指令指向操作的表名称信息、表字段名称信息等。请结合参阅表2-1及表2-2,举例而言,当解析到一个SQL指令如“select name,price from Table-fruit where price<50”的操作对象为“Table-fruit”表时,根据该表的属性赋值1指向并显示翻译后的表2-1所示的表名称“水果表”。而因为表2-2已通过特定字段表的属性赋值1关联到表2-2,从而进一步根据name的字段属性赋值1将其翻译为“水果名称”,根据price的字段属性赋值2将其翻译为“水果价格”,从而获得翻译后的表信息。
在步骤700,根据翻译后的操作信息及设定的系统翻译信息对SQL指令进行自然语言翻译进一步包括步骤7002,即根据翻译后的表信息及翻译词汇语句表对SQL指令进行自然语言翻译。在本优选实施例中,根据设定的系统翻译词汇语句表对已经依据用户配置的翻译信息解析出的表名称信息、表字段名称信息等内容进行自然语言翻译及组织,并最终形成以自然语言表述的翻译结果。举例而言,前述SQL指令的查询返回结果包含1000条记录时,则根据翻译词汇语句表定义的翻译语句词汇数据对SQL指令进行自然语言翻译为:“从‘水果表’中进行记录查询,查询结果包含‘水果表’的‘水果名称、水果价格’字段,查询条件为‘水果价格小于50’,一共查询到‘1000’条记录。”
在步骤800,输出自然语言表述的数据库审计结果。即通过显示界面或者交互界面显示前述以自然语言表述的数据库审计结果“从‘水果表’中进行记录查询,查询结果包含‘水果表’的‘水果名称、水果价格’字段,查询条件为‘水果价格小于50’,一共查询到‘1000’条记录。”从而,数据库审计操作人员或管理员可以方便的获得该自然语言表述的数据库审计结果。
请结合参阅图5,所示为本发明优选实施例的应用效果示意图。该图清晰的显示了通过交互或显示界面显示的以自然语言表述的数据库审计结果。这种显示结果简单、明晰,并使得非数据库专业管理、技术人员也能及时的了解相应的数据库审计结果。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (6)
1.一种基于自然语言的数据库审计结果翻译方法,其特征在于,包括以下步骤:
设定至少一表名称翻译表;
设定至少一表字段名称翻译表;以及
将所述表名称翻译表与所述表字段名称翻译表通过至少一特定字段关联,以获得用户翻译信息;
识别一数据库审计结果中的结构化查询语言(StructuredQuery Language,SQL)指令以获得其语法信息;
解析该SQL指令的语法信息以获得该SQL指令的操作信息,其中,所述SQL指令包括选取语句、删除语句及更新语句中的任一种,并对应进行以下任一种解析操作:解析所述选取语句查询的表名称、字段名称、查询条件及查询结果数,解析所述删除语句删除的表名称、删除条信息,解析所述更新语句操作的表名称、更新字段名称及更新条件;
根据用户翻译信息翻译该SQL指令的操作信息;以及
根据系统翻译信息以及翻译后的SQL指令的操作信息,对SQL指令进行自然语言翻译,其中,所述系统翻译信息还包括系统翻译词汇语句表。
2.根据权利要求1所述的基于自然语言的数据库审计结果翻译方法,其特征在于,所述至少一特定字段为表属性字段。
3.根据权利要求1所述的基于自然语言的数据库审计结果翻译方法,其特征在于,根据用户翻译信息翻译该SQL指令的操作信息的步骤进一步包括:
根据所述表名称翻译表及所述表字段名称翻译表翻译所述SQL指令的操作信息,以获得翻译后的表信息。
4.根据权利要求3所述的基于自然语言的数据库审计结果翻译方法,其特征在于,根据系统翻译信息以及翻译后的操作信息对SQL指令进行自然语言翻译的步骤进一步包括:
根据翻译后的表信息及翻译词汇语句表对SQL指令进行自然语言翻译。
5.根据权利要求1-4任一项所述的基于自然语言的数据库审计结果翻译方法,其特征在于,还包括以下步骤:
输入原始数据库审计结果;以及
输出以自然语言表述的该数据库审计结果。
6.一种基于自然语言的数据库审计结果翻译系统,应用于具有数据库存储及运算功能的计算机系统中,其特征在于,包括:
用户定义翻译信息模块,用于设定用户翻译信息,其中,所述用户翻译信息包括至少一表名称翻译表及至少一表字段名称翻译表;
系统定义翻译信息模块,用于设定系统翻译信息,其中,所述系统翻译信息包括至少一翻译词汇语句表;以及
至少一翻译模块,所述翻译模块用于根据所设定的用户翻译信息及设定的系统翻译信息对数据库审计结果进行识别、解析及自然语言翻译;
解析模块,用于识别数据库审计结果中的结构化查询语言(StructuredQueryLanguage,SQL)指令以获得其语法信息,解析该SQL指令的语法信息以获得该SQL指令的操作信息,其中,所述SQL指令包括选取语句、删除语句及更新语句中的任一种,并对应进行以下任一种解析操作:解析所述选取语句查询的表名称、字段名称、查询条件及查询结果数,解析所述删除语句删除的表名称、删除条信息,解析所述更新语句操作的表名称、更新字段名称及更新条件;
解析模块,用于根据设定的用户翻译信息翻译该SQL指令的操作信息,根据设定的系统翻译信息以及翻译后的该SQL指令的操作信息及对SQL指令进行自然语言翻译。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062348.3A CN103886021B (zh) | 2014-02-24 | 2014-02-24 | 一种基于自然语言的数据库审计结果翻译方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062348.3A CN103886021B (zh) | 2014-02-24 | 2014-02-24 | 一种基于自然语言的数据库审计结果翻译方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103886021A CN103886021A (zh) | 2014-06-25 |
CN103886021B true CN103886021B (zh) | 2018-10-02 |
Family
ID=50954913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410062348.3A Active CN103886021B (zh) | 2014-02-24 | 2014-02-24 | 一种基于自然语言的数据库审计结果翻译方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103886021B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317806B (zh) * | 2014-09-23 | 2017-04-26 | 袁义军 | 财务数据查询方法及财务数据系统 |
CN110476159A (zh) * | 2017-03-30 | 2019-11-19 | 日本电气株式会社 | 信息处理系统、特征值说明方法和特征值说明程序 |
CN108416225A (zh) * | 2018-03-14 | 2018-08-17 | 深圳市网域科技股份有限公司 | 数据审计方法、装置、计算机设备和存储介质 |
CN109614082B (zh) * | 2018-09-28 | 2022-03-04 | 创新先进技术有限公司 | 一种针对数据查询脚本的翻译方法、装置及设备 |
CN112686029A (zh) * | 2020-12-28 | 2021-04-20 | 江苏苏宁云计算有限公司 | 用于数据库审计系统的sql新语句识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428737A (en) * | 1991-10-16 | 1995-06-27 | International Business Machines Corporation | Comprehensive bilateral translation between SQL and graphically depicted queries |
US5924089A (en) * | 1996-09-03 | 1999-07-13 | International Business Machines Corporation | Natural language translation of an SQL query |
CN101788992A (zh) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | 一种数据库查询语句的转换方法和转换系统 |
-
2014
- 2014-02-24 CN CN201410062348.3A patent/CN103886021B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428737A (en) * | 1991-10-16 | 1995-06-27 | International Business Machines Corporation | Comprehensive bilateral translation between SQL and graphically depicted queries |
US5924089A (en) * | 1996-09-03 | 1999-07-13 | International Business Machines Corporation | Natural language translation of an SQL query |
CN101788992A (zh) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | 一种数据库查询语句的转换方法和转换系统 |
Non-Patent Citations (1)
Title |
---|
"ELFS: English Language From SQL";W.S. LUK et al.;《ACM Transactions on Database System》;19861231;第11卷(第4期);第447-472页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103886021A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790006B2 (en) | Natural language question answering systems | |
CN103886021B (zh) | 一种基于自然语言的数据库审计结果翻译方法及系统 | |
Roman et al. | DataGraft: One-stop-shop for open data management | |
US20200233905A1 (en) | Systems and Methods for Data Analysis and Visualization Spanning Multiple Datasets | |
US20190384762A1 (en) | Computer-implemented method of querying a dataset | |
US8473521B2 (en) | Ontology guided reference data discovery | |
Bikakis et al. | The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art | |
US8185509B2 (en) | Association of semantic objects with linguistic entity categories | |
US11948113B2 (en) | Generating risk assessment software | |
US20140280314A1 (en) | Dimensional Articulation and Cognium Organization for Information Retrieval Systems | |
CN109388637A (zh) | 数据仓库信息处理方法、装置、系统、介质 | |
EP3671526B1 (en) | Dependency graph based natural language processing | |
JP5410514B2 (ja) | X500データモデルをリレーショナル・データベースにマッピングするための方法 | |
US20080154927A1 (en) | Use of federation services and transformation services to perform extract, transform, and load (etl) of unstructured information and associated metadata | |
US20210149901A1 (en) | Custom named entities and tags for natural language search query processing | |
US20190258942A1 (en) | Cognitive data discovery and mapping for data onboarding | |
TWI735380B (zh) | 自然語言處理方法與其計算裝置 | |
CN105302842A (zh) | 一种数据处理方法及装置 | |
CN109902314A (zh) | 一种术语的翻译方法和装置 | |
Ribeiro et al. | Transparent Interoperability Middleware between Data and Service Cloud Layers. | |
US20060190476A1 (en) | Database storage system and associated method | |
CN105488170B (zh) | 一种erp系统的信息管理方法及装置 | |
CN109597933A (zh) | 医疗关键词精确搜索的方法、系统、设备及存储介质 | |
Beek et al. | GeoYASGUI: The GeoSPARQL query editor and result set visualizer | |
JP2024504556A (ja) | データ処理システムによって管理されるデータエンティティにアクセスするためのシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |