CN109033381A - 一种业务请求的执行方法、装置及设备 - Google Patents
一种业务请求的执行方法、装置及设备 Download PDFInfo
- Publication number
- CN109033381A CN109033381A CN201810846151.7A CN201810846151A CN109033381A CN 109033381 A CN109033381 A CN 109033381A CN 201810846151 A CN201810846151 A CN 201810846151A CN 109033381 A CN109033381 A CN 109033381A
- Authority
- CN
- China
- Prior art keywords
- sql sentence
- database
- identification information
- sql
- service request
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种业务请求的执行方法,预先在数据库存储有能够根据标识信息唯一确定的sql语句,在执行业务请求的过程中,会先确定需要调用的sql语句的标识信息,并获取在数据库中与标识信息对应的sql语句,最后执行该sql语句。可见本发明将sql语句预先存储在数据库,在需要利用sql语句的时候,根据标识信息调用该sql语句即可,避免了将大量重复的sql语句写进业务请求程序中,节省了空间,此外,在修改sql语句的时候能够直接在数据库进行修改,不需要重新编译整个程序,大大提高了便利性。此外,本发明还提供了一种业务请求的执行装置、设备及计算机可读存储介质,其作用与上述方法的作用相对应。
Description
技术领域
本发明涉及计算机领域,特别涉及一种业务请求的执行方法、装置、设备及计算机可读存储介质。
背景技术
一般的,在一些大型项目的实现程序中,会存在非常多的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语句;
sql语句获取单元:用于若不存在,则获取在所述数据库中与所述标识信息对应的sql语句。
此外,本发明还提供了一种业务请求的执行设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序以实现如上所述的一种业务请求的执行方法的步骤。
最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种业务请求的执行方法的步骤。
本发明所提供的一种业务请求的执行方法,预先在数据库存储有能够根据标识信息唯一确定的sql语句,在执行业务请求的过程中,会先确定需要调用的sql语句的标识信息,并获取在数据库中与标识信息对应的sql语句,最后执行该sql语句。可见本发明将sql语句预先存储在数据库,在需要利用sql语句的时候,根据标识信息调用该sql语句即可,避免了将大量重复的sql语句写进业务请求程序中,节省了空间,此外,在修改sql语句的时候能够直接在数据库进行修改,不需要重新编译整个程序,大大提高了便利性。
此外,本发明还提供了一种业务请求的执行装置、设备及计算机可读存储介质,其作用与上述方法的作用相对应,这里不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种业务请求的执行方法实施例的实现流程图;
图2为本发明提供的一种业务请求的执行装置实施例的结构框图。
具体实施方式
本发明的核心是提供一种业务请求的执行方法、装置、设备及计算机可读存储介质,节省了业务请求程序的空间,提高了修改业务请求程序的便利性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明提供的一种业务请求的执行方法实施例进行介绍,参见图1,该实施例包括:
步骤S101:在执行业务请求的过程中,确定需要调用的sql语句的标识信息,所述标识信息为预先设置的在所述数据库中唯一确定所述sql语句的标识信息。
具体的,在步骤S101之前,需要预先进行以下操作:在程序统一设计下,设计统一设计数据库表结构,用以存储应用中的sql语句。并设计统一的应用程序公共接口,通过唯一的标识(例如:table_name,option)获取存储的sql语句内容,来替代原先固定写“死”在应用程序中的sql语句。
步骤S102:获取在所述数据库中与所述标识信息对应的sql语句,所述sql语句按照预先设置的数据库表结构保存在所述数据库。
具体的,可以通过预设的应用程序接口获取在所述数据库中与所述标识信息对应的sql语句。
值得一提的是,本实施例中所涉及到的sql语句,也就是在所述数据库中按照所述数据库表结构进行保存的sql语句能够利用数据库指令进行编辑操作,所述编辑操作包括增加操作、删除操作、修改操作中的任意一项或多项。也就是说,如果需要对sql语句或者应用程序进行更新维护,只需修改存储在数据库中的相应的表中sql语句即可,无需对应用程序进行重启,从而确保了业务的连续性。
步骤S103:执行所述sql语句,得到执行结果以便于继续执行后续的业务请求。
具体的,应用程序获取sql语句之后,接下来可以执行所获取到的sql语句,并根据执行结果进行后续的业务处理。
作为一种优选的实现方式,在sql语句过多的情况下,可以利用缓存技术,将sql语句在应用程序启动时,加载到缓存中,在应用程序需要获取sql语句时直接从缓存中读取,提高应用程序运行速度。那么在本实施例的基础之上增加缓存步骤之后的整体实现过程可以如下:
预先将所述数据库中的多个sql语句缓存到缓存区;在执行业务请求的过程中,确定需要调用的sql语句的标识信息;判断所述缓存区中是否存在与所述标识信息对应的sql语句;若不存在,则获取在所述数据库中与所述标识信息对应的sql语句。
相应的,需要预先进行的工作包括:
(1)编写统一sql语句的获取接口程序,替代原先sql语句保存程序。
(2)参见表1,设计数据库表结构,使之能保存sql语句,并根据标识信息唯一查询到该sql语句。
(3)编写缓存层,利用第三方缓存插件。
(4)将相关业务的sql语句根据规则统一存储在表中。
表1
字段名 | 字段类型 | 描述 |
id | int | 唯一标识 |
tab_name | text | 表名 |
col_name | int | 列名 |
sql_content | int | 排序 |
valid | Int | 是否有效 |
综上,本实施例提供一种业务请求的执行方法,使用数据库存储sql语句,降低代码与SQL的耦合度,使业务代码与SQL语句分离,并设计统一管理方式,在运行业务流程时,从数据库种获取sql语句并执行,可以实现sql语句的灵活、动态配置。在大型项目中,会存在很多sql语句,在管理及后续的维护、问题排查、维护修改过程中比较耗时、费力,利用本发明提供的方法,可以将sql语句统一存储在数据库中,在更新维护时,不需要重新编译代码、直接更改数据库中的sql语句即可,无需重启应用程序、造成业务中断,而且方便问题排查。
在此基础之上,在业务程序启动之初,可以一次性加载sql语句到缓存中,在需要调用sql语句的时候,可以优先查缓存,缓存查不到再查询数据库,这样可以提高响应时间。
下面对本发明实施例提供的一种业务请求的执行装置实施例进行介绍,下文描述的一种业务请求的执行装置与上文描述的一种业务请求的执行方法可相互对应参照。
参见图2,该实施例包括:
标识信息确定模块201:用于在执行业务请求的过程中,确定需要调用的sql语句的标识信息,所述标识信息为预先设置的在所述数据库中唯一确定所述sql语句的标识信息。
sql语句获取模块202:用于获取在所述数据库中与所述标识信息对应的sql语句,所述sql语句按照预先设置的数据库表结构保存在所述数据库。
sql语句执行模块203:用于执行所述sql语句,得到执行结果以便于继续执行后续的业务请求。
其中,所述sql语句获取模块202具体用于:
通过预设的应用程序接口获取在所述数据库中与所述标识信息对应的sql语句。
具体的,所述sql语句获取模块202包括:
缓存单元2021:用于预先将所述数据库中的多个sql语句缓存到缓存区。
判断单元2022:用于判断所述缓存区中是否存在与所述标识信息对应的sql语句。
sql语句获取单元2023:用于若不存在,则获取在所述数据库中与所述标识信息对应的sql语句。
本实施例的一种业务请求的执行装置用于实现前述的一种业务请求的执行方法,因此该装置中的具体实施方式可见前文中的一种业务请求的执行方法的实施例部分,例如,标识信息确定模块201、sql语句获取模块202、sql语句执行模块203,分别用于实现上述一种业务请求的执行方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例提供的一种业务请求的执行装置用于实现前述的一种业务请求的执行方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本发明还提供了一种业务请求的执行设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序以实现如上所述的一种业务请求的执行方法的步骤。
最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种业务请求的执行方法的步骤。
由于本发明提供的一种业务请求的执行设备及计算机可读存储介质用于实现前述的一种业务请求的执行方法,因此其具体工作过程可以参见上述方法实施例的相关描述,这里不再展开介绍,另外其作用与上述方法的作用相对应,这里也不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种业务请求的执行方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种业务请求的执行方法,其特征在于,包括:
在执行业务请求的过程中,确定需要调用的sql语句的标识信息,所述标识信息为预先设置的在所述数据库中唯一确定所述sql语句的标识信息;
获取在所述数据库中与所述标识信息对应的sql语句,所述sql语句按照预先设置的数据库表结构保存在所述数据库;
执行所述sql语句,得到执行结果以便于继续执行后续的业务请求。
2.如权利要求1所述的方法,其特征在于,在所述数据库中按照所述数据库表结构进行保存的sql语句为利用数据库指令进行编辑操作确定的。
3.如权利要求2所述的方法,其特征在于,所述编辑操作包括增加操作、删除操作、修改操作中的任意一项或多项。
4.如权利要求1所述的方法,其特征在于,所述获取在所述数据库中与所述标识信息对应的sql语句包括:
通过预设的应用程序接口获取在所述数据库中与所述标识信息对应的sql语句。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述获取在所述数据库中与所述标识信息对应的sql语句包括:
预先将所述数据库中的多个sql语句缓存到缓存区;
判断所述缓存区中是否存在与所述标识信息对应的sql语句;
若不存在,则获取在所述数据库中与所述标识信息对应的sql语句。
6.一种业务请求的执行装置,其特征在于,包括:
标识信息确定模块:用于在执行业务请求的过程中,确定需要调用的sql语句的标识信息,所述标识信息为预先设置的在所述数据库中唯一确定所述sql语句的标识信息;
sql语句获取模块:用于获取在所述数据库中与所述标识信息对应的sql语句,所述sql语句按照预先设置的数据库表结构保存在所述数据库;
sql语句执行模块:用于执行所述sql语句,得到执行结果以便于继续执行后续的业务请求。
7.如权利要求6所述的装置,其特征在于,所述sql语句获取模块具体用于:
通过预设的应用程序接口获取在所述数据库中与所述标识信息对应的sql语句。
8.如权利要求6或7所述的装置,其特征在于,所述sql语句获取模块包括:
缓存单元:用于预先将所述数据库中的多个sql语句缓存到缓存区;
判断单元:用于判断所述缓存区中是否存在与所述标识信息对应的sql语句;
sql语句获取单元:用于若不存在,则获取在所述数据库中与所述标识信息对应的sql语句。
9.一种业务请求的执行设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序以实现如权利要求1-5任意一项所述的一种业务请求的执行方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述的一种业务请求的执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810846151.7A CN109033381A (zh) | 2018-07-27 | 2018-07-27 | 一种业务请求的执行方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810846151.7A CN109033381A (zh) | 2018-07-27 | 2018-07-27 | 一种业务请求的执行方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033381A true CN109033381A (zh) | 2018-12-18 |
Family
ID=64647234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810846151.7A Pending CN109033381A (zh) | 2018-07-27 | 2018-07-27 | 一种业务请求的执行方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033381A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968595A (zh) * | 2019-11-27 | 2020-04-07 | 广东科徕尼智能科技有限公司 | 一种单线程sql语句执行方法、设备及存储介质 |
CN111897806A (zh) * | 2020-06-28 | 2020-11-06 | 苏宁金融科技(南京)有限公司 | 大数据离线数据质量检查方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110110A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 基于soa的数据访问方法和装置 |
CN105550206A (zh) * | 2015-12-01 | 2016-05-04 | 珠海多玩信息技术有限公司 | 结构化查询语句的版本控制方法及装置 |
CN107016016A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
CN107491700A (zh) * | 2017-07-06 | 2017-12-19 | 联动优势科技有限公司 | 一种数据访问方法及设备 |
-
2018
- 2018-07-27 CN CN201810846151.7A patent/CN109033381A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110110A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 基于soa的数据访问方法和装置 |
CN105550206A (zh) * | 2015-12-01 | 2016-05-04 | 珠海多玩信息技术有限公司 | 结构化查询语句的版本控制方法及装置 |
CN107016016A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
CN107491700A (zh) * | 2017-07-06 | 2017-12-19 | 联动优势科技有限公司 | 一种数据访问方法及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968595A (zh) * | 2019-11-27 | 2020-04-07 | 广东科徕尼智能科技有限公司 | 一种单线程sql语句执行方法、设备及存储介质 |
CN111897806A (zh) * | 2020-06-28 | 2020-11-06 | 苏宁金融科技(南京)有限公司 | 大数据离线数据质量检查方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160357740A1 (en) | Metadata Updating Method and Apparatus Based on Columnar Storage in Distributed File System, and Host | |
US10671594B2 (en) | Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems | |
US20180285376A1 (en) | Method and apparatus for operating on file | |
CN104808952B (zh) | 数据缓存方法及装置 | |
CN110737388A (zh) | 数据预读方法、客户端、服务器以及文件系统 | |
JP2007188497A (ja) | トランザクション処理のためのログ情報管理システムおよび方法 | |
CN105393228B (zh) | 读写闪存中数据的方法、装置及用户设备 | |
US7225206B2 (en) | System and method for reorganizing stored data | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN106874281A (zh) | 实现数据库读写分离的方法和装置 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
US10083192B2 (en) | Deleted database record reuse | |
CN109033381A (zh) | 一种业务请求的执行方法、装置及设备 | |
CN111352936A (zh) | Es重建索引的方法、存储介质 | |
US9020905B2 (en) | Synchronizing database and non-database resources without a commit coordinator | |
CN109324929B (zh) | 一种快照创建方法、装置、设备及可读存储介质 | |
US10248673B2 (en) | Allocating free space in a database | |
GB2612727A (en) | Direct data loading of middleware-generated records | |
CN108804571A (zh) | 一种数据存储方法、装置以及设备 | |
CN110658999B (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
CN114328738A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN111143418A (zh) | 一种数据库读取数据方法、装置、设备及存储介质 | |
KR20200121986A (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
CN108984793A (zh) | 一种数据更新方法及系统、存储介质 | |
US11681705B2 (en) | Trie data structure with subtrie data structures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |