数据库查询方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:23764333 阅读:38 留言:0更新日期:2020-04-11 19:02
本申请涉及一种数据库查询方法、装置、计算机设备和存储介质。方法包括:接收终端发送的数据库查询请求,所述数据库查询请求中携带有业务标识;获取与所述业务标识对应的业务查询类型及条件字段;确定所述业务查询类型,并基于所述条件字段和与所述业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段,其中,所述业务转化逻辑携带与业务标识的查询条件对应的语句参数;根据所述SQL语段中的SQL语句对数据库进行分库,对分库后的数据库进行数据查询,得到查询数据,并将查询数据发送所述终端。采用本方法能够根据业务标识实时生成SQL语句,从而提高数据库数据处理效率。

Database query methods, devices, computer equipment and storage media

【技术实现步骤摘要】
数据库查询方法、装置、计算机设备和存储介质
本申请涉及数据库领域,特别是涉及一种数据库查询方法、装置、计算机设备和存储介质。
技术介绍
在大型应用中,数据库已经成为了不可缺少的部分,数据库的所有操作都需要通过数据库连接来完成。服务器需要通过与业务标识对应的结构化查询语言(SQL:StructuredQueryLanguage)语句对数据库进行检索操作。但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为一个实施例中数据库查询方法的应用场景图;图2为一个实施例中数据库查询方法的流程示意图;图3为一个实施例中SQL语段生成步骤的流程示意图;图4为另一个实施例中SQL语段生成步骤的流程示意图;图5为另一个实施例中数据库查询方法的流程示意图;图6为一个实施例中数据库查询装置的结构框图;图7为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的数据库查询方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104接收终端102发送的数据库查询请求,数据库查询请求中携带有业务标识;服务器104获取与业务标识对应的业务查询类型及条件字段;服务器104确定业务查询类型,并基于条件字段和与业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段;服务器104根据SQL语段中的SQL语句对数据库进行分库,对分库后的数据库进行数据查询,得到查询数据,并将查询数据发送终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种数据库查询方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:步骤202,接收终端发送的数据库查询请求,数据库查询请求中携带有业务标识。数据库查询请求用于根据业务从数据库中查询获取业务数据的请求本文档来自技高网...

【技术保护点】
1.一种数据库查询方法,所述方法包括:/n接收终端发送的数据库查询请求,所述数据库查询请求中携带有业务标识;/n获取与所述业务标识对应的业务查询类型及条件字段;/n确定所述业务查询类型,并基于所述条件字段和与所述业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段,其中,所述业务转化逻辑携带与业务标识的查询条件对应的语句参数;/n根据所述SQL语段中的SQL语句对数据库进行分库,对分库后的数据库进行数据查询,得到查询数据,并将查询数据发送至所述终端。/n

【技术特征摘要】
1.一种数据库查询方法,所述方法包括:
接收终端发送的数据库查询请求,所述数据库查询请求中携带有业务标识;
获取与所述业务标识对应的业务查询类型及条件字段;
确定所述业务查询类型,并基于所述条件字段和与所述业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段,其中,所述业务转化逻辑携带与业务标识的查询条件对应的语句参数;
根据所述SQL语段中的SQL语句对数据库进行分库,对分库后的数据库进行数据查询,得到查询数据,并将查询数据发送至所述终端。


2.根据权利要求1所述的方法,其特征在于,所述确定所述业务查询类型,并基于所述条件字段和与所述业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段,包括:
当判定所述业务查询类型为自定义查询时,接收所述终端发送的与多级查询条件对应的语句参数;
根据所述语句参数在数据库中对应的值生成用于数据分片的正则表达式;
基于所述条件字段中的条件值和所述正则表达式生成SQL语句,并根据逻辑算子将所述SQL语句生成SQL语段。


3.根据权利要求2所述的方法,其特征在于,所述根据所述语句参数在数据库中对应的值生成正则表达式之后,包括:
将所述业务标识和所述正则表达式进行关联存储,并根据关联存储的正则表达式生成业务转化逻辑选择项。


4.根据权利要求1所述的方法,其特征在于,所述确定所述业务查询类型,并基于所述条件字段和与所述业务查询类型对应的业务转化逻辑生成用于数据分片并查询的SQL语段,包括:
当判定所述业务查询类型为默认查询时,获取与所述业务查询类型对应的业务转化逻辑选择项并发送所述终端;
接收所述终端反馈的业务转化逻辑选中项;
根据所述业务转化逻辑选中项对应的业务转化逻辑和所述条件字段生成用于数据分片并查询的SQL语句,并根据逻辑算子将所述SQL语句生成SQL语段。


5.根据权利要求1至3任意一项所述的方法,其特征在于,获取与所述业务标识对应的业务查询类型及条件字段,包括:
获取与所述业务标识关联的业务查询类型选择项以及...

【专利技术属性】
技术研发人员:郑钢民
申请(专利权)人:浙江大搜车软件技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1