买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于数据特征查询数据的方法及装置_口碑(上海)信息技术有限公司_201810316658.1 

申请/专利权人:口碑(上海)信息技术有限公司

申请日:2018-04-10

公开(公告)日:2021-04-27

公开(公告)号:CN108563736B

主分类号:G06F16/242(20190101)

分类号:G06F16/242(20190101);G06F16/2455(20190101);G06F16/248(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.27#授权;2018.10.23#实质审查的生效;2018.09.21#公开

摘要:本发明公开了一种基于数据特征查询数据的方法及装置,方法包括:根据查询操作,获取页面输入的查询数据;根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。本发明降低了业务操作人员对业务数据的熟悉程度要求,仅使用查询数据,不需要指定具体的表名、查询字段,就可以自动获取到对应的表名和查询字段,得到对应的查询结果。

主权项:1.一种基于数据特征查询数据的方法,其包括:根据查询操作,获取页面输入的查询数据;所述查询数据为用于查询语句中查询条件所使用的查询数据;根据预设解析规则解析所述查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行所述查询语句,得到第一数据表的查询结果,并在页面中展示所述查询结果。

全文数据:基于数据特征查询数据的方法及装置技术领域[0001]本发明涉及软件领域,具体涉及一种基于数据特征查询数据的方法及装置。背景技术[0002]对数据查询时,一般需要提供所要查询的表、查询字段和查询数据,这样根据以上数据可以生成查询语句,得到对应的查询结果。对商品表中的商品id值为XXX进行查询,得到对应的商品信息,进而可以展示商品信息。但通常业务在查询时,有时仅得到一个查询数据,但无法了解其对应的表、查询字段等,这时,不熟悉业务的人员无法根据查询数据得到对应的查询结果。基于这种问题,需要一种基于数据本身特征进行数据查询的方法,以便降低查询时人员对业务熟悉度的要求。发明内容[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于数据特征查询数据的方法及装置。[0004]根据本发明的一个方面,提供了一种基于数据特征查询数据的方法,其包括:[0005]根据查询操作,获取页面输入的查询数据;[0006]根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;[0007]根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;[0008]组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;[0009]执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。[0010]可选地,方法还包括:[0011]遍历页面中展示的查询结果,获取查询结果所包含的第二数据表特征值和查询字段特征值的数值;[0012]将数值作为查询数据,得到第二数据表的查询结果;[0013]在页面中添加第二数据表的查询结果与查询结果中数值的关联操作,以便根据用户触发的关联操作,跳转至第二数据表的查询结果所在页面。[00M]可选地,遍历页面中展示的查询结果,获取其中包含第三数据表字段的数值进一步包括:[0015]遍历页面中展示的查询结果的各个数值,根据预设解析规则解析数值,判断数值是否包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值;[0016]若是,获取数值。[0017]可选地,方法还包括:[0018]获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句;其中,查询语句的查询条件根据第一数据表的查询结果生成;[0019]执行查询语句,得到第三数据表的查询结果;[0020]汇总第一数据表的查询结果和第三数据表的查询结果,并将汇总后的查询结果展示在页面中。[0021]可选地,拓扑关系为关联关系或扩展关系;其中,拓扑关系记录了数据表间关联字段或扩展字段。[0022]可选地,拓扑关系为关联关系;[0023]获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句进一步包括:[0024]判断是否存在与第一数据表具有关联关系的第三数据表;若是,获取与第一数据表具有关联关系的第三数据表,生成第三数据表的查询语句,其中,查询条件语句根据第三数据表与第一数据表的关联字段生成。[0025]可选地,拓扑关系为扩展关系;[0026]获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句进一步包括:[0027]判断是否存在与第一数据表具有扩展关系的各级第三数据表;若是,获取与第一数据表具有扩展关系的各级第三数据表;[0028]根据对应的各级扩展关系,生成各级第三数据表的查询语句,其中,查询条件语句根据各级扩展关系的扩展字段生成。[0029]根据本发明的另一方面,提供了一种基于数据特征查询数据的装置,其包括:[0030]获取模块,适于根据查询操作,获取页面输入的查询数据;[0031]解析模块,适于根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;[0032]关联模块,适于根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;[0033]组装模块,适于组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;[0034]执行模块,适于执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。[0035]可选地,装置还包括:[0036]关联跳转模块,适于遍历页面中展示的查询结果,获取查询结果所包含的第二数据表特征值和查询字段特征值的数值;将数值作为查询数据,得到第二数据表的查询结果;在页面中添加第二数据表的查询结果与查询结果中数值的关联操作,以便根据用户触发的关联操作,跳转至第二数据表的查询结果所在页面。[0037]可选地,关联跳转模块进一步适于:[0038]遍历页面中展示的查询结果的各个数值,根据预设解析规则解析数值,判断数值是否包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值;若是,获取数值。[0039]可选地,装置还包括:[0040]拓扑模块,适于获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句;其中,查询语句的查询条件根据第一数据表的查询结果生成;执行查询语句,得到第三数据表的查询结果;汇总第一数据表的查询结果和第三数据表的查询结果,并将汇总后的查询结果展不在页面中。[0041]可选地,拓扑关系为关联关系或扩展关系;其中,拓扑关系记录了数据表间关联字段或扩展字段。[0042]可选地,拓扑关系为关联关系;[0043]拓扑模块进一步适于:判断是否存在与第一数据表具有关联关系的第三数据表;若是,获取与第一数据表具有关联关系的第三数据表,生成第三数据表的查询语句,其中,查询条件语句根据第三数据表与第一数据表的关联字段生成。[0044]可选地,拓扑关系为扩展关系;[0045]拓扑模块进一步适于:判断是否存在与第一数据表具有扩展关系的各级第三数据表;若是,获取与第一数据表具有扩展关系的各级第三数据表;根据对应的各级扩展关系,生成各级第三数据表的查询语句,其中,查询条件语句根据各级扩展关系的扩展字段生成。[0046]根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;[0047]存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于数据特征查询数据的方法对应的操作。[0048]根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于数据特征查询数据的方法对应的操作。[0049]根据本发明提供的基于数据特征查询数据的方法及装置,根据查询操作,获取页面输入的查询数据;根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。本发明降低了业务操作人员对业务数据的熟悉程度要求,仅使用查询数据,不需要指定具体的表名、查询字段,就可以自动获取到对应的表名和查询字段,得到对应的查询结果。[0050]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明[0051]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0052]图1示出了根据本发明一个实施例的基于数据特征查询数据的方法的流程图;[0053]图2示出了查询页面及展示查询结果页面的示意图;[0054]图3示出了根据本发明另一个实施例的基于数据特征查询数据的方法的流程图;[0055]图4示出了第一数据表与第三数据表关联操作页面示意图;[0056]图5示出了根据本发明一个实施例的基于数据特征查询数据的装置的功能框图;[0057]图6示出了根据本发明另一个实施例的基于数据特征查询数据的装置的功能框图;[0058]图7示出了根据本发明一个实施例的一种电子设备的结构示意图。具体实施方式[0059]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0060]图1示出了根据本发明一个实施例的基于数据特征查询数据的方法的流程图。如图1所示,基于数据特征查询数据的方法具体包括如下步骤:[0061]步骤S101,根据查询操作,获取页面输入的查询数据。[0062]如图2所示,在用户点击查询按钮,执行查询操作请求后,从页面获取到输入的查询数据。此处获取到的查询数据中没有指定需要查询的第一数据表表名和查询字段,仅是具体的查询值。[0063]需要注意的是,现有技术中页面输入的查询数据可以指定需要查询的第一数据表名和第一数据表查询字段,但这需要基于业务人员对查询数据非常清楚的情况下,对业务人员的业务能力有较高要求。但往往业务人员无法对所有数据都非常了解,基于该状况,本实施例针对查询数据,不需要业务人员了解查询数据对应的第一数据表表名及对应的第一数据表查询字段,可以直接根据查询数据进行查询。如图2所示,在查询页面上方处,不指定表名、查询字段,仅输入查询数据直接进行查询。查询数据可以为数值,也可以为字符串,图2仅为举例说明,此处不做限定。[0064]步骤S102,根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值。[0065]查询数据根据预设解析规则进行解析,其中,预设解析规则与查询数据生成时的生成规则相对应。如查询数据在生成时,在第11位-第13位保存第一数据表表名特征值,在第14位-第16位保存查询字段对应的特征值。这样在进行解析时,将查询数据按位进行截取,可以获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值。[0066]步骤S103,根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段。[0067]查找预先存储的特征值,从中找到与获取到的第一数据表表名特征值、查询字段特征值一致的特征值。根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段。如第一数据表表名特征值为076,查询字段特征值为004,根据预先存储的特征值与表名、特征值与查询字段的关联关系,可以得知076对应的第一数据表表名为item_info,076004对应的第一数据表查询字段为ITEM_ID。[0068]特征值与表名、特征值与查询字段的关联关系根据实施情况进行设置,特征值位数、数值等信息此处不做限定。[0069]步骤S104,组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句。[0070]根据得到的第一数据表表名、第一数据表查询字段,结合页面输入的查询数据,可以组装得到第一'数据表的查询语句。如查询语句可以为select*from第一数据表表名where查询字段二查询数据,使用具体的第一数据表表名、第一数据表查询字段和查询数据替换上述文字,得到基于查询数据的第一数据表的查询语句。[0071]步骤S105,执行查询语句,得到第一数据表的查询结果。[0072]执行上述组装生成的查询语句,可以得到对应的查询结果。如图2所示,item_info数据表的查询结果。[0073]根据本发明提供的基于数据特征查询数据的方法,根据查询操作,获取页面输入的查询数据;根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。本发明降低了业务操作人员对业务数据的熟悉程度要求,仅使用查询数据,不需要指定具体的表名、查询字段,就可以自动获取到对应的表名和查询字段,得到对应的查询结果。[0074]图3示出了根据本发明另一个实施例的基于数据特征查询数据的方法的流程图。如图3所示,基于数据特征查询数据的方法具体包括如下步骤:[0075]步骤S301,根据查询操作,获取页面输入的查询数据。[0076]步骤S302,根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值。[0077]步骤S303,根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段。[0078]步骤S304,组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句。[0079]步骤S305,执行查询语句,得到第一数据表的查询结果。[0080]以上步骤参照图1实施例步骤S101-S105的描述,在此不再赘述。[0081]步骤S306,获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句。[0082]在数据库中存在多张数据表,有些数据表之间存在拓扑关系。拓扑关系一般包括如关联关系、扩展关系等。[0083]关联关系的数据表间通过表中的字段相关联;如A表中a字段与B表中b字段是同一字段,A表与B表存在关联关系。[0084]扩展关系的数据表根据业务需要,如商品表和商品信息表,商品表中存储了商品ID、价格等主要信息,商品信息表中存储了商品ID、参数信息、图片信息、规格信息、商品说明等详细信息;商品信息表为商品表的扩展表,商品信息表通过商品ID将商品的信息进一步扩展存储,两者存在扩展关系。扩展关系可以有一级扩展关系、二级扩展关系、三级扩展关系等多级扩展关系,如A表的扩展表为A1表、A2表、A3表,A表与A1表、A2表、A3表为一级扩展关系;A1表的扩展表为All表、A12表,A表与All表、A12表为二级扩展关系,依次类推,可以得到树状结构的A表下多级扩展关系的各个扩展表。[0085]数据表间的拓扑关系可以根据业务间关系、业务流程处理、或根据数据表设计方案等得到。对于数据表间的拓扑关系可以事先进行整理,将各数据表间的拓扑关系进行存储。拓扑关系记录了数据表间的关联字段或扩展字段;如一条拓扑关系记录了A表与B表关联关系,关联字段为A表a字段与B表b字段;或者一条拓扑关系记录了A表与A1表扩展关系,扩展字段为A表a字段与A1表al字段,一条拓扑关系记录了A1表与Al1表扩展关系,扩展字段为A1表al字段与All表all字段等。[0086]根据第一数据表,查找与第一数据表具有拓扑关系的第三数据表。具体的,通过查询事先存储的拓扑关系,从中查找与第一关系表具有关联关系的数据表,如判断是否存在与第一数据表具有关联关系的第三数据表;若是,获取与第一数据表具有关联关系的第三数据表。获取其中第三数据表的表名、关联字段等,根据第三数据表的表名、关联字段,生成第三数据表的查询语句。其中,查询语句还包括查询条件语句。查询条件根据第一数据表的查询结果生成,具体的,查询条件语句根据第三数据表与第一数据表的关联字段生成。如生成B表的查询语句为:select*fromBwhereB.binA.a。此处A.a为第一数据表查询结果中关联字段的具体数值,当A表有多条查询结果时,A.a有为多个数值时,多个数值间通过逗号进行拼接。[0087]或者,通过查询事先存储的拓扑关系,从中查找与第一关系表具有扩展关系的数据表,如判断是否存在与第一数据表具有扩展关系的各级第三数据表;若是,获取与第一数据表具有扩展关系的各级第三数据表。在具体实施时,可以先根据第一数据表的扩展关系,查找到一级扩展表,再遍历一级扩展表查找到二级扩展表,再遍历二级扩展表查找到三级扩展表,依次向下遍历,直至查找到所有扩展关系的扩展表。对查找到的各级第三数据表,根据对应的各级扩展关系,生成各级第三数据表的查询语句,其中,查询条件语句根据各级扩展关系的扩展字段生成。如生成A1表的查询语句为:select*fromAlwhereAl.alinA.a。此处A.a为第一数据表查询结果中关联字段的具体数值,当A表有多条查询结果时,A.a有为多个数值时,多个数值间通过逗号进行拼接。[0088]需要注意的是,有可能A1表与B表之间也存在关联关系,为避免此处获取第一数据表A表的拓扑关系时,分别查找到B表和A1表后,对A1表查找拓扑关系时,再查找到B表,造成查找拓扑关系的死循环。此处,对于拓扑关系的查找,限定在查找关联关系时,仅查找与第一数据表具有直接关联关系的第三数据表。在查找扩展关系时,先查找与第一数据表具有扩展关系的第三数据表,再遍历第三数据表查找与其具有扩展关系而不是关联关系的扩展数据表,即遍历时依据扩展关系进行遍历,得到第一数据表的各级扩展关系的第三数据表,从而杜绝了A1表与B表可能存在的死循环。[0089]步骤S307,执行查询语句,得到第三数据表的查询结果。[0090]对应的执行第三数据表的查询语句,得到相应的第三数据表的查询结果。若第三数据表为多个数据表时,一一执行各个数据表的查询语句,得到多个对应的查询结果。[0091]步骤S308,汇总第一数据表的查询结果和第三数据表的查询结果,并将汇总后的查询结果展示在页面中。[0092]将第一数据表的查询结果和第三数据表的查询结果进行汇总并展示,具体的,可以如图2所示,在页面展示的查询结果中,第一数据表为商品表,第三数据表包括与第一数据表具有关联关系的商品订单表和与第一数据表具有扩展关系的商品报名信息表。将以上第一数据表的查询结果和第三数据表的查询结果依次排列进行展示,还可以将第一数据表的查询语句和第三数据表的查询语句一并展示。这样方便用户可以一目了然的看到各个数据表的数据,同时,可以详细地了解到各个数据表间的关系,帮助用户梳理业务流程,检查数据是否存在问题等。图2仅为示意图,具体展示时,可以根据实施状况采用各种数据展示方式,此处不做限定。[0093]步骤S309,遍历页面中展示的查询结果,获取查询结果所包含的第二数据表名特征值和查询字段特征值的数值。[0094]遍历页面中展示的第一数据表的查询结果的各个数值,在遍历时,根据数值生成规则,利用如正则表达式等方式从查询结果中找出所有由数字、英文字符串组成的各个数值,将这些数值作为待解析的数值。再根据预设解析规则解析这些待解析的数值,具体解析方式参照步骤S102的描述,在此不再赘述。此处,为使解析可以更快更准确地判断数值是否包含第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,可以在利用正则表达式查找数值时或根据预设解析规则解析时,对数值长度进行限定。如限定数值最短长度,若数值长度小于限定的最短长度时,则该数值不作为待解析数值,或直接忽略该数值不进行解析。在解析各个数值后,判断数值是否包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,即将解析后得到的特征值与预先存储的特征值进行比对,若存在与预先存储的特征值一致的特征值,说明数值包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,获取该数值。同时,也根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第二数据表表名和第二数据表查询字段。[0095]进一步,页面中若还包含了其他数据表如第三数据表等的查询结果时,也遍历这些查询结果中的各个数值,从中获取包含第二数据表名特征值和查询字段特征值的数值。[0096]步骤S310,将数值作为第二数据表的查询数据,得到第二数据表的查询结果。[0097]将数值作为第二数据表的查询数据,按照步骤S104的描述组装生成第二数据表的查询条件。执行第二数据表的查询条件,得到第二数据表的查询结果。此处,第二数据表的查询结果不在第一数据表的查询结果展示页面进行展示,而是在另一页面展示第二数据表的查询结果。另一页面的展示效果也可以参照图2所示的展示效果,其中,查询数据为包含第二数据表名特征值和查询字段特征值的该数值。[0098]步骤S:311,在页面中添加第二数据表的查询结果与查询结果中数值的关联操作,以便根据用户触发的关联操作,跳转至第二数据表的查询结果所在页面。[0099]在第一数据表查询结果的页面中添加第二数据表的查询结果与第一数据表查询结果中数值的关联操作,如图4所示,在第一数据表shopjtem_relation的查询结果中,对SH0P_ID字段的数值添加超链接,使在第一数据表shop_item_relati〇n的查询结果页面可以关联到第二数据表门店视图的查询结果页面。当用户触发该关联操作,直接可以跳转至第二数据表的查询结果所在页面。若页面中还包含第三数据表的查询结果,且根据第三数据表的数值可以得到第二数据表的查询结果时,将对应的第二数据表的查询结果与第三数据表查询结果中数值进行关联操作。[0100]根据本发明提供的基于数据特征查询数据的方法,基于多张数据表间的拓扑关系,可以实现一次多表数据查询,且无需用户对各张表编写专门的SQL语句,大大降低了数据查询的成本,提高数据查询效率。查询语句自动生成,也杜绝了手动查询影响数据库查询性能的可能性。将多张数据表的查询结果汇总后展示,使用户一目了然的看到多个查询结果,也便于排查问题、数据分析、业务场景还原等操作。进一步,还可以根据第一数据表查询结果中的数值继续进行查询,得到其他数据表的查询结果,并建立关联关系,将数据进行串联,方便用户可以直接了解到数据间的关联关系,了解业务流程中各数据对应的存储关系等。[0101]图5示出了根据本发明一个实施例的基于数据特征查询数据的装置的功能框图。如图5所示,基于数据特征查询数据的装置包括如下模块:[0102]获取模块510,适于根据查询操作,获取页面输入的查询数据。[0103]如图2所示,在用户点击查询按钮,执行查询操作请求后,获取模块510从页面获取到输入的查询数据。此处获取模块510获取到的查询数据中没有指定需要查询的第一数据表表名和查询字段,仅是具体的查询值。[0104]需要注意的是,现有技术中页面输入的查询数据可以指定需要查询的第一数据表名和第一数据表查询字段,但这需要基于业务人员对查询数据非常清楚的情况下,对业务人员的业务能力有较高要求。但往往业务人员无法对所有数据都非常了解,基于该状况,本实施例针对查询数据,不需要业务人员了解查询数据对应的第一数据表表名及对应的第一数据表查询字段,可以直接根据查询数据进行查询。如图2所示,在查询页面上方处,不指定表名、查询字段,仅输入查询数据直接进行查询。查询数据可以为数值,也可以为字符串,图2仅为举例说明,此处不做限定。[0105]解析模块520,适于根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值。[0106]解析模块520根据预设解析规则对查询数据进行解析,其中,预设解析规则与查询数据生成时的生成规则相对应。如查询数据在生成时,在第11位-第13位保存第一数据表表名特征值,在第14位-第16位保存查询字段对应的特征值。这样解析模块520在进行解析时,将查询数据按位进行截取,可以获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值。[0107]关联模块530,适于根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段。[0108]关联模块530查找预先存储的特征值,从中找到与获取到的第一数据表表名特征值、查询字段特征值一致的特征值。根据预先存储的特征值与表名、特征值与查询字段的关联关系,关联模块530得到第一数据表表名和第一数据表查询字段。如第一数据表表名特征值为076,查询字段特征值为004,根据预先存储的特征值与表名、特征值与查询字段的关联关系,可以得知076对应的第一数据表表名为item_info,076004对应的第一数据表查询字段为ITEM_ID。[0109]特征值与表名、特征值与查询字段的关联关系根据实施情况进行设置,特征值位数、数值等信息此处不做限定。[0110]组装模块540,适于组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句。[0111]根据得到的第一数据表表名、第一数据表查询字段,结合页面输入的查询数据,组装模块540组装得到第一数据表的查询语句。如查询语句可以为select^from第一数据表表名where查询字段=查询数据,使用具体的第一数据表表名、第一数据表查询字段和查询数据替换上述文字,得到基于查询数据的第一数据表的查询语句。[0112]执行模块55〇,适于执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。[0113]执行模块55〇执行上述组装生成的查询语句,可以得到对应的查询结果。如图2所示,item_info数据表的查询结果。[0114]根据本发明提供的基于数据特征查询数据的装置,根据查询操作,获取页面输入的查询数据;根据预设解析规则解析查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行查询语句,得到第一数据表的查询结果,并在页面中展示查询结果。本发明降低了业务操作人员对业务数据的熟悉程度要求,仅使用查询数据,不需要指定具体的表名、查询字段,就可以自动获取到对应的表名和查询字段,得到对应的查询结果。[0115]图6示出了根据本发明另一个实施例的基于数据特征查询数据的装置的功能框图。如图6所示,与图5相比,基于数据特征查询数据的装置还包括如下模块:[0116]关联跳转模块560,适于遍历页面中展示的查询结果,获取查询结果所包含的第二数据表特征值和查询字段特征值的数值;将数值作为查询数据,得到第二数据表的查询结果;在页面中添加第二数据表的查询结果与查询结果中数值的关联操作,以便根据用户触发的关联操作,跳转至第二数据表的查询结果所在页面。[0117]关联跳转模块560遍历页面中展示的第一数据表的查询结果的各个数值,在遍历时,关联跳转模块560根据数值生成规则,利用如正则表达式等方式从查询结果中找出所有由数字、英文字符串组成的各个数值,将这些数值作为待解析的数值。再根据预设解析规则解析这些待解析的数值,具体解析方式参照上述第一获取模块510中的描述,在此不再赘述。此处,为使解析可以更快更准确地判断数值是否包含第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,关联跳转模块560可以在利用正则表达式查找数值时或根据预设解析规则解析时,对数值长度进行限定。如限定数值最短长度,若数值长度小于限定的最短长度时,则该数值不作为待解析数值,或直接忽略该数值不进行解析。在解析各个数值后,关联跳转模块560判断数值是否包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,即将解析后得到的特征值与预先存储的特征值进行比对,若存在与预先存储的特征值一致的特征值,说明数值包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值,获取该数值。同时,也根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第二数据表表名和第二数据表查询字段。[0118]进一步,页面中若还包含了其他数据表如第三数据表等的查询结果时,关联跳转模块560也遍历这些查询结果中的各个数值,从中获取包含第二数据表名特征值和查询字段特征值的数值。[0119]关联跳转模块560将数值作为第二数据表的查询数据,组装生成第二数据表的查询条件。执行第二数据表的查询条件,得到第二数据表的查询结果。此处,第二数据表的查询结果不在第一数据表的查询结果展示页面进行展示,而是在另一页面展示第二数据表的查询结果。另一页面的展示效果也可以参照图2所示的展示效果,其中,查询数据为包含第二数据表名特征值和查询字段特征值的该数值。[0120]关联跳转模块560在第一数据表查询结果的页面中添加第二数据表的查询结果与第一数据表查询结果中数值的关联操作,如图4所示,在第一数据表shop_item_relation的查询结果中,对SHOP_ID字段的数值添加超链接,使在第一数据表shop_item_relation的查询结果页面可以关联到第二数据表门店视图的查询结果页面。当用户触发该关联操作,直接可以跳转至第二数据表的查询结果所在页面。若页面中还包含第三数据表的查询结果,且根据第三数据表的数值可以得到第二数据表的查询结果时,关联跳转模块560将对应的第二数据表的查询结果与第三数据表查询结果中数值进行关联操作。[0121]拓扑模块570,适于获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句;其中,查询语句还包括查询条件语句;执行查询语句,得到第三数据表的查询结果;汇总第一数据表的查询结果和第三数据表的查询结果,并将汇总后的查询结果展示在页面中。[0122]在数据库中存在多张数据表,有些数据表之间存在拓扑关系。拓扑关系一般包括如关联关系、扩展关系等。[0123]关联关系的数据表间通过表中的字段相关联;如A表中a字段与B表中b字段是同一字段,A表与B表存在关联关系。[0124]扩展关系的数据表根据业务需要,如商品表和商品信息表,商品表中存储了商品ID、价格等主要信息,商品信息表中存储了商品ID、参数信息、图片信息、规格信息、商品说明等详细信息;商品信息表为商品表的扩展表,商品信息表通过商品ID将商品的信息进一步扩展存储,两者存在扩展关系。扩展关系可以有一级扩展关系、二级扩展关系、三级扩展关系等多级扩展关系,如A表的扩展表为A1表、A2表、A3表,A表与A1表、A2表、A3表为一级扩展关系;A1表的扩展表为All表、A12表,A表与All表、A12表为二级扩展关系,依次类推,可以得到树状结构的A表下多级扩展关系的各个扩展表。[0125]数据表间的拓扑关系可以根据业务间关系、业务流程处理、或根据数据表设计方案等得到。对于数据表间的拓扑关系可以事先进行整理,将各数据表间的拓扑关系进行存储。拓扑关系记录了数据表间的关联字段或扩展字段;如一条拓扑关系记录了A表与B表关联关系,关联字段为A表a字段与B表b字段;或者一条拓扑关系记录了A表与A1表扩展关系,扩展字段为A表a字段与A1表al字段,一条拓扑关系记录了A1表与All表扩展关系,扩展字段为A1表al字段与All表all字段等。[0126]根据第一数据表,拓扑模块570查找与第一数据表具有拓扑关系的第三数据表。具体的,拓扑模块570通过查询事先存储的拓扑关系,从中查找与第一关系表具有关联关系的数据表,如判断是否存在与第一数据表具有关联关系的第三数据表;若是,拓扑模块570获取与第一数据表具有关联关系的第三数据表。获取其中第三数据表的表名、关联字段等,拓扑模块570根据第三数据表的表名、关联字段,生成第三数据表的查询语句。其中,查询语句还包括查询条件语句。查询条件根据第一数据表的查询结果生成,具体的,查询条件语句根据第三数据表与第一数据表的关联字段生成。如拓扑模块570生成B表的查询语句为:select*fromBwhereB.binA.a。此处A.a为第一数据表查询结果中关联字段的具体数值,当A表有多条查询结果时,A.a有为多个数值时,多个数值间通过逗号进行拼接。[0127]或者,通过查询事先存储的拓扑关系,拓扑模块570从中查找与第一关系表具有扩展关系的数据表,如判断是否存在与第一数据表具有扩展关系的各级第三数据表;若是,拓扑模块570获取与第一数据表具有扩展关系的各级第三数据表。在具体实施时,拓扑模块570可以先根据第一数据表的扩展关系,查找到一级扩展表,再遍历一级扩展表查找到二级扩展表,再遍历二级扩展表查找到三级扩展表,依次向下遍历,直至查找到所有扩展关系的扩展表。拓扑模块570对查找到的各级第三数据表,根据对应的各级扩展关系,生成各级第三数据表的查询语句,其中,查询条件语句根据各级扩展关系的扩展字段生成。如拓扑模块570生成A1表的查询语句为:select*fromAlwhereAl.alinA.a。此处A.a为第一数据表查询结果中关联字段的具体数值,当A表有多条查询结果时,A.a有为多个数值时,多个数值间通过逗号进行拼接。[0128]需要注意的是,有可能A1表与B表之间也存在关联关系,为避免此处获取第一数据表A表的拓扑关系时,分别查找到B表和A1表后,对A1表查找拓扑关系时,再查找到B表,造成查找拓扑关系的死循环。此处,对于拓扑关系的查找,限定拓扑模块570在查找关联关系时,仅查找与第一数据表具有直接关联关系的第三数据表。拓扑模块570在查找扩展关系时,先查找与第一数据表具有扩展关系的第三数据表,再遍历第三数据表查找与其具有扩展关系而不是关联关系的扩展数据表,即遍历时依据扩展关系进行遍历,得到第一数据表的各级扩展关系的第三数据表,从而杜绝了A1表与B表可能存在的死循环。[0129]拓扑模块570对应的执行第三数据表的查询语句,得到相应的第三数据表的查询结果。若第三数据表为多个数据表时,拓扑模块570—一执行各个数据表的查询语句,得到多个对应的查询结果。[0130]拓扑模块570将第一数据表的查询结果和第三数据表的查询结果进行汇总并展示,具体的,可以如图2所示,在页面展示的查询结果中,第一数据表为商品表,第三数据表包括与第一数据表具有关联关系的商品订单表和与第一数据表具有扩展关系的商品报名信息表。拓扑模块570将以上第一数据表的查询结果和第三数据表的查询结果依次排列进行展示,还可以将第一数据表的查询语句和第三数据表的查询语句一并展示。这样方便用户可以一目了然的看到各个数据表的数据,同时,可以详细地了解到各个数据表间的关系,帮助用户梳理业务流程,检查数据是否存在问题等。图2仅为示意图,具体展示时,可以根据实施状况采用各种数据展示方式,此处不做限定。[0131]根据本发明提供的基于数据特征查询数据的装置,基于多张数据表间的拓扑关系,可以实现一次多表数据查询,且无需用户对各张表编写专门的SQL语句,大大降低了数据查询的成本,提高数据查询效率。查询语句自动生成,也杜绝了手动查询影响数据库查询性能的可能性。将多张数据表的查询结果汇总后展示,使用户一目了然的看到多个查询结果,也便于排查问题、数据分析、业务场景还原等操作。进一步,还可以根据第一数据表查询结果中的数值继续进行查询,得到其他数据表的查询结果,并建立关联关系,将数据进行串联,方便用户可以直接了解到数据间的关联关系,了解业务流程中各数据对应的存储关系等。[0132]本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于数据特征查询数据的方法。[0133]图7示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。[0134]如图7所;^:,该电子设备可以包括:处理器(processor702、通信接口CommunicationsInterface704、存储器memory706、以及通信总线708〇[0135]其中:[0136]处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。[0137]通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。[0138]处理器702,用于执行程序710,具体可以执行上述基于数据特征查询数据的方法实施例中的相关步骤。[0139]具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。[0140]处理器702可能是中央处理器CPU,或者是特定集成电路ASICApplicationSpecificIntegratedCircuit,或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。[0141]存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器non-volatilememory,例如至少一个磁盘存储器。[0142]程序710具体可以用于使得处理器702执行上述任意方法实施例中的基于数据特征查询数据的方法。程序710中各步骤的具体实现可以参见上述基于数据特征查询数据的实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。[0143]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。[0144]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0145]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。[0146]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。[0147]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。[0148]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器DSP来实现根据本发明实施例的基于数据特征查询数据的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。[0149]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

权利要求:1.一种基于数据特征查询数据的方法,其包括:根据查询操作,获取页面输入的查询数据;根据预设解析规则解析所述查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行所述查询语句,得到第一数据表的查询结果,并在页面中展示所述查询结果。2.根据权利要求1所述的方法,其中,所述方法还包括:遍历页面中展示的查询结果,获取查询结果所包含的第二数据表特征值和查询字段特征值的数值;将所述数值作为查询数据,得到第二数据表的查询结果;在页面中添加所述第二数据表的查询结果与查询结果中所述数值的关联操作,以便根据用户触发的关联操作,跳转至第二数据表的查询结果所在页面。3.根据权利要求2所述的方法,其中,所述遍历页面中展示的查询结果,获取其中包含第三数据表字段的数值进一步包括:遍历页面中展示的查询结果的各个数值,根据预设解析规则解析所述数值,判断所述数值是否包含与第二数据表表名对应的特征值及与第二数据表查询字段对应的特征值;若是,获取所述数值。4.根据权利要求1-3中任一项所述的方法,其中,所述方法还包括:获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句;其中,所述查询语句的查询条件根据第一数据表的查询结果生成;执行所述查询语句,得到第三数据表的查询结果;汇总第一数据表的查询结果和第三数据表的查询结果,并将汇总后的查询结果展示在页面中。5.根据权利要求4所述的方法,其中,所述拓扑关系为关联关系或扩展关系;其中,所述拓扑关系记录了数据表间关联字段或扩展字段。6.根据权利要求5所述的方法,其中,所述拓扑关系为关联关系;所述获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句进一步包括:判断是否存在与第一数据表具有关联关系的第三数据表;若是,获取与第一数据表具有关联关系的第三数据表,生成第三数据表的查询语句,其中,所述查询条件语句根据第三数据表与第一数据表的关联字段生成。7.根据权利要求5所述的方法,其中,所述拓扑关系为扩展关系;所述获取与第一数据表具有拓扑关系的第三数据表,生成第三数据表的查询语句进一步包括:判断是否存在与第一数据表具有扩展关系的各级第三数据表;若是,获取与第一数据表具有扩展关系的各级第三数据表;根据对应的各级扩展关系,生成各级第三数据表的查询语句,其中,所述查询条件语句根据各级扩展关系的扩展字段生成。8.—种基于数据特征查询数据的装置,其包括:获取模块,适于根据查询操作,获取页面输入的查询数据;解析模块,适于根据预设解析规则解析所述查询数据,获取其中与第一数据表表名对应的特征值,及与第一数据表查询字段对应的特征值;关联模块,适于根据预先存储的特征值与表名、特征值与查询字段的关联关系,得到第一数据表表名和第一数据表查询字段;组装模块,适于组装生成包含第一数据表表名、第一数据表查询字段和查询数据的查询语句;执行模块,适于执行所述查询语句,得到第一数据表的查询结果,并在页面中展示所述查询结果。9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1_7中任一项所述的基于数据特征查询数据的方法对应的操作。10.—种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的基于数据特征查询数据的方法对应的操作。

百度查询: 口碑(上海)信息技术有限公司 基于数据特征查询数据的方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。