搜索方法、装置、计算机设备和存储介质与流程

文档序号:16628379发布日期:2019-01-16 06:19阅读:162来源:国知局
搜索方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种搜索方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,数据也越来越冗余,对数据进行快速的查询搜索成为需要研究的技术问题。在传统技术中,对数据进行搜索时,采取的是对搜索语句中的关键词进行匹配搜索。然而这种搜索方法,在进行数据搜索时,是根据搜索语句中的关键词对数据库进行遍历,查找是否数据库是否存储有与该关键词匹配成功的数据,且这种搜索方法无法实现跨表搜索,搜索效率较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够实现跨表搜索且能够提高搜索效率的搜索方法、装置、计算机设备和存储介质。

一种搜索方法,所述方法包括:

获取数据查询请求;

根据所述数据查询请求确定搜索字段;

从预先建立的数据结构图中查找与各个搜索字段对应的节点;

根据查询到的节点之间的关系生成与所述数据查询请求对应的数据搜索指令;

根据所述数据搜索指令从数据库中搜索对应的数据。

在其中一个实施例中,所述根据查询到的节点之间的关系生成与所述数据查询请求对应的数据搜索指令,包括:当与搜索字段对应的节点之间在所述数据结构图中具备关系时,确定所述具备关系的节点连接路径;将路径最短的节点连接路径作为搜索路径;根据所述搜索路径中包含的节点以及所述节点的参数生成与所述数据查询请求对应的数据搜索指令。

在其中一个实施例中,在根据所述数据搜索指令从数据库中搜索对应的数据之后,还包括:将搜索到的数据在终端以图表的方式进行显示。

在其中一个实施例中,所述数据结构图的建立步骤,包括:获取数据抽取模块;将所述数据抽取模块与源数据库建立连接;通过所述数据抽取模块获取所述源数据库中各个数据表的数据参数;根据所述数据参数建立与所述源数据库对应的数据结构图。

在其中一个实施例中,通过所述数据抽取模块获取所述源数据库中各个数据表的数据参数,包括:当所述源数据库中的数据表存在有对应的注释文本时,获取所述数据表的注释文本;根据所述数据参数建立与所述源数据库对应的数据结构图,包括:将所述数据表的注释文本作为所述数据表对应的节点的别名。

在其中一个实施例中,在所述通过所述数据抽取模块获取所述源数据库中各个数据表的数据参数之后,还包括:获取数据重构模板,所述数据重构模板定义数据格式和层级关系;根据所述数据格式将所述各个数据表的数据参数填入至所述数据重构模板中;根据所述层级关系确定所述数据参数在所述数据结构图中的节点层级关系;所述将所述数据参数以图的方式进行存储得到对应的数据结构图,包括:根据所述数据参数在所述数据结构图中的节点层级关系确定所述数据结构图中包含的各个节点以及各个节点之间的层级关系;根据所述数据结构图中包含的各个节点以及各个节点之间的层级关系得到与所述源数据库对应的数据结构图。

在其中一个实施例中,所述方法还包括:获取中文查询请求;通过分词模型对所述中文查询请求进行分词处理,得到多个中文搜索字段;从所述预先建立的数据结构图中查找与各个中文搜索字段对应的节点;根据查询到的节点之间的关系生成与所述中文查询请求对应的数据搜索指令;根据与所述中文查询请求对应的数据搜索指令从数据库中搜索对应的数据。

一种搜索装置,所述装置包括:

查询请求获取模块,用于获取数据查询请求;

搜索指令生成模块,用于根据所述数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与所述数据查询请求对应的数据搜索指令;

第二搜索模块,用于根据所述数据搜索指令从数据库中搜索对应的数据。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取数据查询请求;根据所述数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与所述数据查询请求对应的数据搜索指令;根据所述数据搜索指令从数据库中搜索对应的数据。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取数据查询请求;根据所述数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与所述数据查询请求对应的数据搜索指令;根据所述数据搜索指令从数据库中搜索对应的数据。

上述搜索方法、装置、计算机设备和存储介质,通过获取到数据查询请求,根据数据查询请求中包含的搜索字段从预先建立的数据结构图中找到各个搜索字段所在的节点,再根据节点在数据库中的路径直接可以查找该节点对应的数据,大幅度的提升了搜索效率,并且,这种搜索方法支持跨表逻辑查询,即时不同的搜索字段对应的数据是存储在不同表格的,也可以直接一次性查询到,有效的解决了传统技术中只支持单表查询的问题。

附图说明

图1为一个实施例中搜索方法的应用场景图;

图2为一个实施例中搜索方法的流程示意图;

图3为一个实施例中根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令步骤的流程示意图;

图4为一个实施例中数据结构图的建立步骤的流程示意图;

图5为一个实施例中数据结构图的数据参数的示意图;

图6为一个实施例中在通过数据抽取模块获取源数据库中各个数据表的数据参数之后步骤的流程示意图;

图7为一个实施例中搜索方法还包括的步骤的流程示意图;

图8为一个实施例中搜索装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的搜索方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120通过网络进行通信。服务器120中的搜索引擎可以通过网络获取到用户通过终端触发的数据查询请求,从而可以根据数据查询请求中的搜索字段生成对应的搜索指令,并根据搜索指令从服务器的数据库中搜索到对应的数据。服务器120还可以通过网络将搜索到的数据发送至终端110进行显示。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种搜索方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤202,获取数据查询请求。

步骤204,根据数据查询请求确定搜索字段。

步骤206,从预先建立的数据结构图中查找与各个搜索字段对应的节点。

数据查询请求是指通过终端输入的对需要获知的数据的查询请求。数据查询请求可以是中文查询语句。比如数据查询请求可以是“上海的男性就业岗位”。数据查询请求可以是用户通过终端触发的,进一步地,数据查询请求可以是用过通过终端上安装的预设应用触发的。当用户通过预设应用输入数据查询请求时,搜索引擎可以获取到数据查询语句中包含的一个或多个搜索字段。比如数据查询请求为“上海的男性就业岗位”,则搜索引擎可以获取到此数据查询请求中包含的搜索字段有:“上海”、“男性”、“就业岗位”,从而搜索引擎可以从数据库中的数据建立的数据结构图中查找与各个搜索字段相对应的节点。数据结构图是根据源数据库中的数据建立的结构图,在数据结构图中包含有源数据库中包含的各个数据表对应的节点,以及与各个数据表对应的节点与节点之间的关系。

步骤208,根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令。

步骤210,根据数据搜索指令从数据库中搜索对应的数据。

当搜索引擎根据数据查询请求中包含的搜索字段从预先建立的数据结构图中查找到与各个搜索字段对应的节点时,同时也可获取到与各个搜索字段对应的节点与节点之间关索指令。数据搜索指令是指一种计算机语言,搜索引擎在生成了数据搜索指令后,可根据数据搜索指令从数据库中查找到对应的数据。

也就是说,在获取到用户输入的数据查询请求后,进行了两次查询操作,第一次查询是根据数据查询请求从数据结构图中查找到对应的节点,从而可以根据查询到的节点生成真正的数据搜索指令,第二次查询则是根据生成的数据搜索指令从数据中查找到实际的数据。即第一次是查询数据所在的目录,第二次则可以根据目录从数据库中快速查找到实际的数据内容。比如,数据查询请求为“上海男性的就业岗位”,则根据此数据查询请求确定的搜索字段有“上海”,“男性”,“就业岗位”。在进行数据查询时,会从数据结构图中查询到“上海”,“男性”,“就业岗位”这三个搜索字段对应的节点,并确定这三个节点之间的关系,从而可以生成真正的数据搜索指令,生成的数据搜索指令中可以包含有各个节点在数据库中的路径,因此可以直接根据节点在数据库中的路径查找到该节点对应的数据,即可以快速的根据数据搜索指令从数据库中搜索到对应的数据。

在一个实施例中,如图3所示,根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令,包括:

步骤302,当与搜索字段对应的节点之间在数据结构图中具备关系时,确定具备关系的节点连接路径。

步骤304,将路径最短的节点连接路径作为搜索路径。

步骤306,根据搜索路径中包含的节点以及节点的参数生成与数据查询请求对应的数据搜索指令。

在数据结构图中包含有多个与源数据库中的数据表对应的节点,各个节点之间通过节点关系进行连接,有个节点可以通过其他的节点进行连接。比如节点a与节点b之间存在节点关系1,即节点a与节点b连接。节点b与节点c之间存在节点关系2,但节点a与节点c之间并未存在有节点关系,即节点a与节点c并未直接连接,但可认为节点a与节点c是处于abc这一条路径上的。也就是说,查找到节点a后,可通过节点关系1查找到节点b,再通过节点关系2查找到节点c。因此,可认为节点a→节点b→节点c是一条搜索路径。以此方式,可以根据数据结构图获取到数据查询请求中包含的搜索字段的全部的节点连接路径。假设搜索字段为“上海”,“男性”,“就业岗位”,则可以在数据结构图中查找与搜索字段“上海”对应的节点“地区”,查找与搜索字段“男性”对应的节点“性别”,以及查找与搜索字段“就业岗位”对应的节点“岗位”,这三个节点之间,可能存在的节点连接路径有:地区-性别-岗位,地区-节点a-性别-节点b-岗位,地区-节点a-性别-节点b-节点c-岗位,…,等等,更多种可能。在根据数据结构图获取到多个节点连接路径后,可以确定每一个节点连接路径的长度,可以将路径最短的节点连接路径作为搜索路径,这种方式可以有效的提高搜索效率。

在一个实施例中,在根据数据搜索指令从数据库中搜索对应的数据之后,还包括:将搜到的数据在终端以图表的方式进行显示。

在生成了与数据查询请求对应的数据搜索指令后,可以根据数据搜索指令从数据库中搜索到对应的数据,并将搜索到的数据显示在终端,进一步地,可以将搜索到的数据显示在终端上安装的预设应用的搜索结果显示页面上。为了将搜索到的数据更为清晰的显示,可以将搜索的数据以图表的方式在预设应用的搜索结果显示页面上进行展示。比如可以是表格的形式,树状图的形式,或统计图表的形式。

上述的搜索方法并不是直接遍历数据库中所有包含有各个搜索字段的数据存储表,而是通过获取到数据查询请求,根据数据查询请求中包含的搜索字段从预先建立的数据结构图中找到各个搜索字段所在的节点,再根据节点在数据库中的路径直接可以查找该节点对应的数据,大幅度的提升了搜索效率,并且,这种搜索方法支持跨表逻辑查询,即时不同的搜索字段对应的数据是存储在不同表格的,也可以直接一次性查询到,有效的解决了传统技术中只支持单表查询的问题。

在一个实施例中,如图4所示,数据结构图的建立步骤,包括:

步骤402,获取数据抽取模块。

步骤404,将数据抽取模块与源数据库建立连接。

步骤406,通过数据抽取模块获取源数据库中各个数据表的数据参数。

步骤408,将数据参数以数据结构图的方式进行存储得到与源数据库对应的数据结构图。

数据抽取模块是预先定义好数据结构抽取参数的模块,数据结构抽取参数是指定义好的对源数据库的数据表进行抽取时需要抽取的数据参数。数据参数,即数据结构抽取参数可以是以下至少一种,库名、表名、字段名或枚举值。获取到数据抽取模块后,可以将数据抽取模块与源数据库建立连接,从而数据抽取模块可以获取到源数据库各个数据表的数据参数。数据表是指源数据库中的数据以表格的形式进行存储,故称之为数据表。

如图5所示,假设源数据库为数据库s,在数据库s中包含有数据表a和数据表b。在源数据库中包含有各个数据表的表名和创建时间,各个数据表之间通过连接关系关联。以数据表a为例,在数据表a中可以包含有多个字段,比如字段1、字段2,每个字段均有对应的字段名以及对应的类型。还可以为字段设置别名,别名可以是字段的中文注释,比如字段comment的别名可以是“评论”。别名是字段的另一个名称,通过搜索别名也可以搜索到该别名对应的字段。当字段存在有枚举情况时,可以获取到该字段中包含的枚举值。因此在通过数据抽取模块获取源数据库中各个数据表的数据参数时,可以获取到源数据库中包含的库名、表名、字段名或枚举值等,从而可以将数据参数以数据结构图的方式进行存储得到与源数据库对应的数据结构图。

在一个实施例中,通过数据抽取模块获取源数据库中各个数据表的数据参数,包括:当源数据库中的数据表存在有对应的注释文本时,获取数据表的注释文本。根据数据参数建立与源数据库对应的数据结构图,包括:将数据表的注释文本作为数据表对应的节点的别名。

当源数据库中有数据表存在有注释文本时,可以获取到该数据表的注释文本,则在建立数据结构图时,可以将注释文本作为该数据表的别称。进一步地,当数据表中的字段存在有对应的注释文本时,也可以获取到字段的注释文本,并在建立数据结构图时,将字段的注释文本作为该字段的别名。

在建立数据结构图时,每个数据表对应数据结构图中的一个节点,节点与节点之间通过节点连接关系进行连接。在每个节点下,还可以包含有多个子节点。比如数据表a在数据结构图中对应的节点为节点a,则在节点a下还可以包含有多个子节点a1,a2,a3等等,其中,子节点是指该数据表中的各个字段对应的节点。若是数据表a中包含有10个字段,可认为节点a包含的子节点的数量为10。若是数据表a中的字段包含的枚举值,也将会在节点a下包含的子节点中。通过这种方式,即可建立与源数据库中包含的数据对应的数据结构图。其中,在数据结构图中包含的是源数据库中的数据结构,并不是源数据库中的全部具体数据,也就是说,在数据结构图中包含的是源数据库中各个数据表对应的节点和节点之间的关系,在节点的属性中包含有节点在源数据库中的路径。即查找到节点后,可根据节点的属性中包含的数据路径,从源数据库中查找到该节点对应的具体数据内容。比如,节点“地区”中包含的枚举值有“北京”、“上海”、“深圳”,那么在查找到数据结构图中的节点“地区”时,并不能直接获取到“北京”、“上海”、“深圳”各自对应的具体数据,比如“北京”的人口分布,人口年龄等等,需要知道具体的数据时,可以获取到枚举值“北京”在源数据库中的数据路径,则可以从源数据库中搜索到与节点“地区”,且枚举值为“北京”时所对应的具体数据。因此,可认为建立的数据结构图实际上是一个目录索引表,可以通过建立的数据结构图快速查找到与搜索字段对应的节点,从而可以快速的根据节点查找到对应的数据,而无需遍历所有的数据。比如上述的例子中,传统技术则需要遍历所有包含有“北京”的数据,再进行数据筛选。而本实施例中通过建立的数据结构图可以有效的提升搜索效率。

在一个实施例中,如图6所示,在通过数据抽取模块获取源数据库中各个数据表的数据参数之后,还包括:

步骤602,获取数据重构模板,数据重构模板定义数据格式和层级关系。

步骤604,根据数据格式将各个数据表的数据参数填入至数据重构模板中。

步骤606,根据层级关系确定数据参数在数据结构图中的节点层级关系。

将数据参数以图的方式进行存储得到对应的数据结构图,包括:根据数据参数在数据结构图中的节点层级关系确定数据结构图中包含的各个节点以及各个节点之间的层级关系;根据数据结构图中包含的各个节点以及各个节点之间的层级关系得到与源数据库对应的数据结构图。

数据重构模板是指预先定义好的数据结构的模板,在数据重构模板中定义了数据格式和数据之间的层级关系。在数据重构模板中包含的数据格式是根据数据抽取模块中定义的数据参数定义的,一般而言,数据重构模板中的数据格式即为数据抽取模块中包含的数据参数。因此,在数据抽取模块与源数据库建立连接后,可以将抽取到的各个数据表的数据参数填入至数据重构模板中,并按照数据重构模板中定义的数据格式进行填写。在定义数据重构模板中的数据格式时,同时还会定义数据的层级关系。数据的层级关系即为数据表中包含的数据之间的层级关系,比如数据表a中包含有多个字段,则字段则是数据表a的子级,那么在建立数据结构图时,数据表a为主节点,而该字段则是数据表a对应的节点的子节点。

即将抽取到的数据结构填入至数据重构模板中后,可以根据数据重构模板中定义的数据层级关系确定对应的数据参数对应的节点,以及该数据参数对应的节点的字节点,以及该节点与其他数据参数对应的节点之间的节点关系,可以根据确定的节点以及节点之间的关系建立对应的数据结构图。节点层级关系是指确定主节点和子节点。

在一个实施例中,如图7所示,上述方法还包括:

步骤702,获取中文查询请求。

步骤704,通过分词模型对中文查询请求进行分词处理,得到多个中文搜索字段。

步骤706,从预先建立的数据结构图中查找与各个中文搜索字段对应的节点。

步骤708,根据查询到的节点之间的关系生成与中文查询请求对应的数据搜索指令。

步骤710,根据与中文查询请求对应的数据搜索指令从数据库中搜索对应的数据。

数据查询请求可以是中文查询请求,即数据查询请求包含的查询文本是中文。当数据查询请求为中文查询请求时,可以通过分词模型对中文查询请求进行分词处理可得到多个中文搜索字段。比如可以通过nlp(naturallanguageprocessing,自然语言处理)对中文查询请求进行分词操作,可得到多个中文搜索字段。中文搜索字段为数据查询请求中包含的搜索字段中的一种表现形式,可以从预先建立的数据结构图中查找与各个中文搜索字段对应的节点,并根据查询到的节点之间的关系确定与中文查询请求对应的数据搜索指令。不论数据查询请求中包含的查询语句是中文还是英文,都可以先获取到查询语句中对应的搜索字段,可以从预先建立的数据结构图中查找与各个搜索字段对应的节点,从而可以根据查询到的节点之间的关系确定与中文查询请求对应的数据搜索指令,以根据生成的数据搜索指令从数据库中搜索对应的数据,还可以将搜索到的数据展示在终端上安装的预设应用的界面上。这种搜索方式大幅度的提高了搜索效率。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8示,提供了一种搜索装置,包括:查询请求获取模块、搜索指令生成模块和第二搜索模块,其中:

查询请求获取模块802,用于获取数据查询请求。

搜索指令生成模块804,用于根据数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令。

第二搜索模块806,用于根据数据搜索指令从数据库中搜索对应的数据。

在一个实施例中,上述搜索指令生成模块804还用于当与搜索字段对应的节点之间在数据结构图中具备关系时,确定具备关系的节点连接路径;将路径最短的节点连接路径作为搜索路径;根据搜索路径中包含的节点以及节点的参数生成与数据查询请求对应的数据搜索指令。

在一个实施例中,上述装置还包括显示模块(图中未示出),用于将搜索到的数据在终端以图表的方式进行显示。

在一个实施例中,上述装置还包括结构建立模块(图中未示出),用于获取数据抽取模块;将数据抽取模块与源数据库建立连接;通过数据抽取模块获取源数据库中各个数据表的数据参数;根据数据参数建立与源数据库对应的数据结构图。

在一个实施例中,上述结构建立模块还用于当源数据库中的数据表存在有对应的注释文本时,获取数据表的注释文本。根据数据参数建立与源数据库对应的数据结构图,包括:将数据表的注释文本作为数据表对应的节点的别名。

在一个实施例中,上述结构建立模块还用于获取数据重构模板,数据重构模板定义数据格式和层级关系;根据数据格式将各个数据表的数据参数填入至数据重构模板中;根据层级关系确定数据参数在数据结构图中的节点层级关系。将数据参数以图的方式进行存储得到对应的数据结构图,包括:根据数据参数在数据结构图中的节点层级关系确定数据结构图中包含的各个节点以及各个节点之间的层级关系;根据数据结构图中包含的各个节点以及各个节点之间的层级关系得到与源数据库对应的数据结构图。

在一个实施例中,上述装置还包括中文查询模块(图中未示出),用于获取中文查询请求;通过分词模型对中文查询请求进行分词处理,得到多个中文搜索字段;从预先建立的数据结构图中查找与各个中文搜索字段对应的节点;根据查询到的节点之间的关系生成与中文查询请求对应的数据搜索指令;根据与中文查询请求对应的数据搜索指令从数据库中搜索对应的数据。

关于搜索装置的具体限定可以参见上文中对于搜索方法的限定,在此不再赘述。上述搜索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据结构图的数据以及数据重构模板等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种搜索方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取数据查询请求;根据数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令;根据数据搜索指令从数据库中搜索对应的数据。

在一个实施例中,根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令,包括:当与搜索字段对应的节点之间在数据结构图中具备关系时,确定具备关系的节点连接路径;将路径最短的节点连接路径作为搜索路径;根据搜索路径中包含的节点以及节点的参数生成与数据查询请求对应的数据搜索指令。

在一个实施例中,在根据数据搜索指令从数据库中搜索对应的数据之后,处理器执行计算机程序时还实现以下步骤:将搜索到的数据在终端以图表的方式进行显示。

在一个实施例中,处理器执行计算机程序时还实现数据结构图的建立步骤,包括:获取数据抽取模块;将数据抽取模块与源数据库建立连接;通过数据抽取模块获取源数据库中各个数据表的数据参数;根据数据参数建立与源数据库对应的数据结构图。

在一个实施例中,通过数据抽取模块获取源数据库中各个数据表的数据参数,包括:当源数据库中的数据表存在有对应的注释文本时,获取数据表的注释文本。根据数据参数建立与源数据库对应的数据结构图,包括:将数据表的注释文本作为数据表对应的节点的别名。

在一个实施例中,在通过数据抽取模块获取源数据库中各个数据表的数据参数之后,处理器执行计算机程序时还实现以下步骤:获取数据重构模板,数据重构模板定义数据格式和层级关系;根据数据格式将各个数据表的数据参数填入至数据重构模板中;根据层级关系确定数据参数在数据结构图中的节点层级关系。将数据参数以图的方式进行存储得到对应的数据结构图,包括:根据数据参数在数据结构图中的节点层级关系确定数据结构图中包含的各个节点以及各个节点之间的层级关系;根据数据结构图中包含的各个节点以及各个节点之间的层级关系得到与源数据库对应的数据结构图。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取中文查询请求;通过分词模型对中文查询请求进行分词处理,得到多个中文搜索字段;从预先建立的数据结构图中查找与各个中文搜索字段对应的节点;根据查询到的节点之间的关系生成与中文查询请求对应的数据搜索指令;根据与中文查询请求对应的数据搜索指令从数据库中搜索对应的数据。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取数据查询请求;根据数据查询请求确定搜索字段;从预先建立的数据结构图中查找与各个搜索字段对应的节点;根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令;根据数据搜索指令从数据库中搜索对应的数据。

在一个实施例中,根据查询到的节点之间的关系生成与数据查询请求对应的数据搜索指令,包括:当与搜索字段对应的节点之间在数据结构图中具备关系时,确定具备关系的节点连接路径;将路径最短的节点连接路径作为搜索路径;根据搜索路径中包含的节点以及节点的参数生成与数据查询请求对应的数据搜索指令。

在一个实施例中,在根据数据搜索指令从数据库中搜索对应的数据之后,计算机程序被处理器执行时还实现以下步骤:将搜索到的数据在终端以图表的方式进行显示。

在一个实施例中,计算机程序被处理器执行时还实现数据结构图的建立步骤,包括:获取数据抽取模块;将数据抽取模块与源数据库建立连接;通过数据抽取模块获取源数据库中各个数据表的数据参数;根据数据参数建立与源数据库对应的数据结构图。

在一个实施例中,通过数据抽取模块获取源数据库中各个数据表的数据参数,包括:当源数据库中的数据表存在有对应的注释文本时,获取数据表的注释文本。根据数据参数建立与源数据库对应的数据结构图,包括:将数据表的注释文本作为数据表对应的节点的别名。

在一个实施例中,在通过数据抽取模块获取源数据库中各个数据表的数据参数之后,计算机程序被处理器执行时还实现以下步骤:获取数据重构模板,数据重构模板定义数据格式和层级关系;根据数据格式将各个数据表的数据参数填入至数据重构模板中;根据层级关系确定数据参数在数据结构图中的节点层级关系。将数据参数以图的方式进行存储得到对应的数据结构图,包括:根据数据参数在数据结构图中的节点层级关系确定数据结构图中包含的各个节点以及各个节点之间的层级关系;根据数据结构图中包含的各个节点以及各个节点之间的层级关系得到与源数据库对应的数据结构图。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取中文查询请求;通过分词模型对中文查询请求进行分词处理,得到多个中文搜索字段;从预先建立的数据结构图中查找与各个中文搜索字段对应的节点;根据查询到的节点之间的关系生成与中文查询请求对应的数据搜索指令;根据与中文查询请求对应的数据搜索指令从数据库中搜索对应的数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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