一种使用中文指令操作数据库的计算机系统的制作方法

文档序号:37278613发布日期:2024-03-12 21:15阅读:13来源:国知局
一种使用中文指令操作数据库的计算机系统的制作方法

本发明涉及一种数据库操作领域,尤其涉及一种使用中文指令操作数据库的计算机系统。


背景技术:

1、数据库是存储结构化数据的仓库,而数据库管理系统则是为管理数据库而设计的电脑软件,在后端语言开发中,学习如何操作数据库是必不可少的一环。然而在现有技术中,数据库系统种类太多,基本上每个数据库系统都有自己的操作指令与语言,开发人员使用这些数据库系统时,还需要从头开始学习这种操作语言,投入成本太大。而在市面上的数据库系统大多都是使用英语或其他语言作为操作指令,国人使用英语或其他语言操作数据库时,某一操作指令或语法长时间不使用就会遗忘,还需要现场查找,浪费大量时间,同时操作人员在输入指令时,往往因为一个标点符号不是英文符号而导致错误,排查错误浪费大量时间,而且英文或其他语言作为操作指令对不太懂该语言的用户局限性也太大。

2、因此亟需研发一种中文指令操作数据库的计算机系统,来克服现有技术中的缺点。


技术实现思路

1、(1)要解决的技术问题

2、本发明为了克服现有技术中数据库系统种类太多,重新学习操作语言,投入太大,以及英文或其他语言作为数据库系统的操作指令,对国人不太友好,本发明要解决的技术问题是提供一种使用中文指令操作数据库的计算机系统。

3、(2)技术方案

4、为了解决上述技术问题,本发明提供了这样一种使用中文指令操作数据库的计算机系统,具体包括以下模块:

5、输入模块,负责用户中文指令输入;中文处理模块,负责分析用户输入的中文指令;指令转换模块,负责将中文处理模块分析的信息转换为数据库能够理解的查询语言;数据库对接模块,负责与数据库进行交互;系统优化模块,负责对系统的性能进行优化;可视化模块,负责将用户查询到的数据进行可视化展示;系统安全防护模块,负责系统中的用户数据和数据库安全。

6、进一步的,在输入模块中,用户在命令行输入框中通过中文输入法输入中文指令,并且模块支持处理各种中文输入法产生的字符;同时用户在输入中文指令时,系统会查找根据键入的中文指令为用户指令提供自动补全,当用户需要时,按下回车键便可以自动补全;或当用户输入中文指令时,根据键入的中文指令提供用户历史记录,以供用户选择。

7、进一步的,在中文处理模块中,使用bilstm-crf模型分析输入的中文指令,在中文处理模块中,使用bilstm-crf模型分析输入的中文指令,将中文文本分隔为单独的词汇并识别其中的实体和实体之间的关系;其中建立bilstm-crf模型具体的操作步骤如下:

8、s1首先收集大量操作数据库的中文指令,根据中文指令建立训练集和测试集,对数据集进行数据清洗,去除数据集中的无关内容,并对数据集中的中文指令进行分词处理,对分词处理后的结果进行词性标注,标注出实体如表名、字段名以及操作如查询、更新;之后使用word2vec将数据集中的中文指令转换为词向量x=(x1,x2,…xn),并对每个词进行标签标注,得到y=(y1,y2,…yn),其中xi与yi一一对应;

9、s2将转换的词向量作为输入特征输入进bilstem-crf模型之中,首先bilstm层会将输入的词向量转化为一个矩阵w,其中每一行代表一个时间步t的特征向量,之后捕获序列中的前向和后向依赖关系,计算出前向隐藏状态hf和后向隐藏状态hb,之后将前向和后向隐藏状态连接起来,得到最终隐藏状态ht=(hf;hb);之后crf层接收到bilstm层输出的隐藏状态序列h=(h1,h2,…hn),其中,h1、h2…hn表示的是第n个时间的隐藏状态,然后学习转移矩阵和发射矩阵,使计算隐藏状态标签序列h的概率,概率最高的隐藏状态标签序列就是最优标签序列;

10、s3最后使用测试集数据对bilstm-crf模型进行测试和优化。

11、进一步的,指令转换模块负责将中文处理模块中分析出的信息转换为数据库能够理解的查询语言,而具体的指令转换模块的构成的具体步骤如下:

12、s4.1首先在中文处理模块对中文指令进行处理,将预测结果发送至指令转换模块,指令转换模块接收到预测结果后,对预测结果进行深层次语义分析,将预测结果中的实体名称、操作、标签等信息用于构建抽象语法树ast,为每个实体和操作创建ast节点,根据实体与操作之间的关系,在抽象语法树ast中创建边,当中文指令中有复杂表达式时,需要建立子树,之后再将子树合并到主抽象语法树ast中;之后为每个节点标注其在查询中的作用并关联必要的属性,随后检查抽象语法树ast的语法和语义规则,确保没有歧义或错误,之后对抽象语法树ast进行优化,消除冗余节点;

13、s4.2当抽象语法树ast优化完成后,对确定抽象语法书ast每个节点的类型,如选择器、函数、条件,在从节点中提取必要的参数,如列名、值、操作符;随后为每种类型的节点选择sql模版,之后使用从节点中提取的参数填充模版;

14、s4.3将参数填充的sql模版片段组合成完整的sql子句,首先确定sql子句的正确顺序,在顺序确定后使用逻辑连接词and或or将sql模版片段进行连接;

15、s4.4如果用户是在进行多轮查询,则指令转换模块就需要考虑上下文中的中文指令,将当前的抽象语法树ast与上下文中的抽象语法树ast进行融合,以构架完整的查询;

16、s4.5将所有由参数填充的sql模版片段组合成的sql子句组合为最终的sql查询语句,在数据库中执行该sql查询语句验证性能和正确性,不断根据训练集和测试集的数据进行训练测试,调整语义映射和生成过程,直到指令转换模块功能达到预期。

17、进一步的,数据库对接模块负责与数据库进行交互,首先将指令模块转换好的sql查询语言发送到数据库,数据库响应数据库对接模块的查询,返回查询结果,数据对接模块处理数据库的响应结果;将数据库的响应结果是正常数据时,将数据转换为用户可读的格式,并通过可视化模块展示给用户;当响应结果为错误提示或操作失败时,捕获任何执行错误,将错误提示或失败结果转换为用户可读的中文说明,并通过可视化模块进行展示。

18、进一步的,系统优化模块负责对系统进行优化,所述中文指令操作数据库的计算机系统对接的数据库采用分布式数据库,防止数据库崩溃导致计算机系统整个崩溃;同时中文指令操作数据库的计算机系统应该确保快速响应用户的指令,会对一些常见的中文指令进行缓存,当中文指令在输入模块输入后,首先查看该中文指令有没有存储到缓存中,如果缓存中存在,直接使用缓存中的命令映射的sql查询语句,就不必进行中文处理模块和指令转换模块的处理转换,如果缓存中没有该中文指令,就让该中文指令进行处理转换为sql查询语句,并将该中文指令存入缓存,以备下次使用。

19、进一步的,可视化模块负责对数据库查询出的数据进行可视化展示,将用户输入指令的执行结果以表格、图表形式进行展示,如果数据量较大,同时支持分页或滚动查看;同时,用户可以根据个人喜好和工作习惯自定义界面和功能,对计算机系统的颜色、布局进行自定义,或添加在使用计算机系统时所需的功能插件。

20、进一步的,所述中文指令操作数据库的计算机系统会向外界提供可中文指令操作数据库的api接口,使其他系统或程序可以通过api接口获得中文指令操作数据库的功能,并有api文档说明如何使用api、请求和响应的格式。

21、进一步的,所述中文指令操作数据库的计算机系统使用模块化进行系统设计,当系统中的其中一个模块出现bug或界面结构过时的情况时,工作人员可以对某一模块进行独立更新和替换;当系统需要增加新功能时,确定好与各个模块之间的接口连接,即可将新功能开发为一个新模块加入到所述计算机系统中。

22、进一步的,所述中文指令操作数据库的计算机系统的系统安全模块,通过采取用户身份验证、sql注入防护保护系统中的用户数据和数据库安全;用户在输入模块输入中文指令操作数据库时,检查用户是否有权限执行中文指令中的操作,有权限执行,就将数据库数据按照中文指令进行执行,无权限执行就对用户发出提示;在将用户输入的中文指令进行中文处理、语义映射时,验证其符合预期的格式,并且不包含潜在的恶意构造,并且定期对所述计算机进行安全审计,监控异常行为。

23、(3)有益效果

24、对中文指令操作数据库的计算机系统使用模块化设计,在某一模块出现问题时,可以直接对该模块进行升级和维护,提高了开发效率,降低了后续开发与维护成本,并且数据库使用分布式数据库,减小了因某个节点出现问题而导致数据库崩溃的情况。

25、中文指令操作数据库的计算机系统使用数据可视化,并且页面可根据用户需要进行设置,减小了用户的学习成本,优化了用户的使用体验,同时提供api接口供其他系统或程序外接使用,提高了本系统的可用性。

26、中文指令操作数据库的计算机系统使用bilstm-crf模型进行中文指令处理并进一步对处理好的中文指令进行语义分析和指令映射,提高了系统对中文指令的理解能力,使用系统更准确的识别和理解用户输入的中文指令,提高系统的准确性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1