CN110502530A - 数据库函数调用方法、系统、计算机设备及存储介质 - Google Patents
数据库函数调用方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110502530A CN110502530A CN201910593112.5A CN201910593112A CN110502530A CN 110502530 A CN110502530 A CN 110502530A CN 201910593112 A CN201910593112 A CN 201910593112A CN 110502530 A CN110502530 A CN 110502530A
- Authority
- CN
- China
- Prior art keywords
- database
- sql statement
- object function
- database object
- database functions
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种数据库函数调用方法,包括:配置多个数据库函数;将所述多个数据库函数进行编译并存于高速缓存中;监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用多个数据库函数中的数据库目标函数;若有,则从所述高速缓存中调用数据库目标函数;监测所述数据库目标函数被执行过程中是否生成返回值;根据监测结果判断数据库目标函数是否被执行完毕;若是,则以预定规则执行所述SQL语句的后续SQL语句。本发明实施例提供了数据库函数调用系统、计算机设备及存储介质。本发明实施例每次调用时数据库目标函数时,可单独调用能够实现操作的数据库目标函数,从而减少了对网络的负载。
Description
技术领域
本发明实施例涉及数据库数据处理领域,尤其涉及一种数据库函数调用方法、系统、计算机设备及存储介质。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理已不再仅仅是存储和管理数据,且已转变成用户所需要的各种数据管理的方式。
近几年来,随着大数据的发展,数据库的类型变得越来越多,sql(结构化查询语言,Structured Query Language)语法和使用方法也不同,对功能和性能的要求也越来越高。sql查询语句自动生成工具是在测试数据库功能和性能时经常需要使用到的一种工具。
在e采平台中,生成订单、生成结算单时,会进行许多数据的计算,例如价格、税率等的取值与计算,并进行大量的数据库操作,传统的数据库操作方式是通过对象存储过程,采用call方法去调用所有的程序代码,会对数据库造成很大的负荷。
发明内容
有鉴于此,本发明实施例的目的是提供一种数据库函数调用方法、系统、计算机设备及存储介质,能够有效的提高数据库函数的操作效率,每次调用时单独调用能够实现操作的数据库目标函数,从而减少了对网络的负载。
为实现上述目的,本发明实施例提供了数据库函数调用方法,包括:
配置多个数据库函数;
将所述多个数据库函数进行编译并存储于高速缓存中;
监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数;
如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数;
监测所述数据库目标函数被执行过程中是否生成返回值;
根据监测结果判断所述数据库目标函数是否被执行完毕;
如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
进一步地,监测数据访问层是否有基于SQL语句的select调用指令的步骤,包括:
通过select调用指令选择所述SQL语句的目标函数名;
根据所述目标函数名从所述数据库函数调用数据库目标函数。
进一步地,监测数据访问层是否有基于SQL语句的select调用指令的步骤以及从所述高速缓存中调用所述数据库目标函数的步骤之间,还包括:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
进一步地,以预定规则执行所述SQL语句的后续SQL语句的步骤,包括:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句。
为实现上述目的,本发明实施例还提供了一种数据库函数调用系统,包括:
配置模块,用于配置多个数据库函数;
存储模块,用于将所述多个数据库函数进行编译并存储于高速缓存中;
第一监测模块,用于监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数;
第一执行模块,用于如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数;
第二监测模块,用于监测所述数据库目标函数被执行过程中是否生成返回值;
判断模块,用于根据监测结果判断所述数据库目标函数是否被执行完毕;
第二执行模块,用于如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
进一步地,所述第一监测模块,还用于:
通过select调用指令选择所述SQL语句的目标函数名;
根据所述目标函数名从所述数据库函数调用目标函数。
进一步地,所述第一监测模块,还用于:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
进一步地,所述第二执行模块,还用于:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的数据库函数调用系统,所述数据库函数调用系统被所述处理器执行时实现如上所述的数据库函数调用方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据库函数调用方法的步骤。
本发明实施例提供的数据库函数调用方法、系统、计算机设备及存储介质,通过先对数据库函数进行配置,并且将数据库函数进行高速缓存,在下一次对数据库目标函数进行调用时节省了编译的时间,有效的提高了数据库函数的操作效率;并且,每次使用基于SOL语句的select调用指令调用数据库目标函数时,单个select调用指令能够调用实现单独操作的数据库目标函数,从而减少了对网络的负载。
附图说明
图1为本发明数据库函数调用方法实施例一的流程图。
图2为本发明数据库函数调用方法实施例二的流程图。
图3为本发明数据库函数调用系统实施例三的程序模块示意图。
图4为本发明计算机设备实施例四的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图1,示出了本发明实施例一之数据库函数调用方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,配置多个数据库函数。
具体的,所述数据库函数用于执行不同的函数功能。数据库函数可以作为SQL语句的一个部分来调用(使用select调用指令进行调用),并返回一个值或者表对象。数据库函数包括四个组成部分:声明、返回值、函数体和异常处理。数据库函数经过一系列的SQL语句调用,完成所要需要的做的任务。
步骤S102,将所述多个数据库函数进行编译并存储于高速缓存中。
具体的,启动服务器或第一次执行数据库函数后,将该数据库函数加载到高速缓存中,当再次调用数据库函数时,不需要再一次进行编译。若数据库函数只执行一次的话,不一定比单独的调用SQL语句的效率高,但是本发明运用在项目中大量的进行重复操作时,由于缓存了该数据库函数,很大的提高了运行效率,避免了数据库有大量的编译工作,减少了数据库的负荷,相对来说提高了数据库函数的执行速度。
步骤S104,监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数。
示例性的,通过select调用指令选择所述SQL语句的目标函数名;
根据所述目标函数名从所述数据库函数调用数据库目标函数。
具体的,通过数据库函数的函数名查询所述目标函数是否在高速缓存中,如果不在,则在数据库中对所述数据库目标函数进行编译。并且,数据访问层(Dao,data accessobject)通过同一种方式即select调用指令选择函数名调用数据库目标函数,生成统一的数据,以达到规则统一。
步骤S106,如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数。
具体的,所述数据库目标函数代码中声明入参,代入所传输的参数,以及声明一些所需要用到的参数,如DECLARE xxx varchar(10)(声明一个长度为10的char类型参数xxx),以select高速缓存中数据into xxx from table的方式,给这个参数赋值。
示例性的,监测数据访问层是否有基于SQL语句的select调用指令的步骤以及从所述高速缓存中调用所述数据库目标函数的步骤之间,还包括:
步骤S107A,根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
步骤S107B,如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
进一步的,当用户在调用数据库目标函数时,在网络中只传送该调用的SQL语句,不是多条SQL语句,从而大大降低网络负载。
步骤S108,监测所述数据库目标函数被执行过程中是否生成返回值。
具体的,数据库目标函数被执行时,会根据任务产生相应的返回值,监测返回值可以判断数据库目标函数的执行状态。
步骤S110,根据监测结果判断所述数据库目标函数是否被执行完毕。
具体的,根据查询每一个SQL语句操作的返回值,进行逻辑判断,判断是否已经执行了数据库目标函数。例如,若返回值不是预设的值,则判断没有执行数据库目标函数。
步骤S112,如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
示例性的,根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句令。
具体的,根据某些特定参数的值来判断是否进行下面的操作,一般是一些状态值,在e采项目中,生产凭证时首先判断开票方式,有专票和普通票两种,例如当返回值为第一数值时,判断开专票;当返回值为第二数值时,判断开专票,且有着不同的制证规则,如进行if语句的SQL操作,进入不同的规则,生成不同的凭证。
实施例二
参阅图2,示出了本发明实施例二之数据库函数调用方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S200,配置多个数据库函数,所述多个数据库函数用于执行不同的函数功能。
具体的,数据库函数可以作为SQL语句的一个部分来调用(SELECT调用),并返回一个值或者表对象。数据库函数包括四个组成部分:声明、返回值、函数体和异常处理。数据库函数经过一系列的SQL语句调用,完成所要需要的做的任务。
步骤S202,将所述多个数据库函数进行编译并存储在高速缓存中。
具体的,启动服务器或第一次执行数据库函数后,将该数据库函数加载到高速缓存中,当再调用数据库函数时,不需要再一次进行编译。若数据库函数只执行一次的话,不一定比单独的调用SQL语句的效率高,但是本发明运用在项目中大量的进行重复操作时,由于缓存了该数据库函数,很大的提高了运行效率,避免了数据库有大量的编译工作,减少了数据库的负荷,相对来说还提高了数据库函数的执行速度。
步骤S204,当监测到数据访问层(Dao,data access object)层基于SQL语句通过select调用指令调用数据库目标函数时,从所述高速缓存中调用所述数据库目标函数。
具体的,通过数据库函数的函数名查询所述数据库目标函数是否在高速缓存中,如果不在,则在数据库中对所述数据库目标函数进行编译。并且,数据访问层通过同一种方式即select调用指令选择函数名调用数据库目标函数,生成统一的数据,以达到规则统一。
数据库目标函数代码中声明入参,代入所传的参数。以及声明一些所需要用到的参数,如DECLARE xxx varchar(10)(声明一个长度为10的char类型参数xxx),以select高速缓存中数据into xxx from table的方式,给这个参数赋值。
步骤S206,所述目标函数执行后得到返回值,通过所述返回值判断,是否已经执行了所述目标函数。
具体的,当用户在调用数据库目标函数时,在网络中只传送该调用的SQL语句,不是多条SQL语句,从而大大降低网络负载。再根据查询每一个SQL语句操作的返回值,进行逻辑判断,判断是否已经执行了目标函数。例如,若返回值不是预设的值,则判断没有执行数据库目标函数。
步骤S208,根据所述返回值来执行所述SQL语句的后续SQL语句。
示例性的,具体包括:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句,
具体的,根据某些特定参数的值来判断是否进行下面的操作,一般是一些状态值,在e采项目中,生产凭证时首先判断开票方式,有专票和普通票两种,例如当返回值为第一数值时,判断开专票;当返回值为第二数值时,判断开专票,且有着不同的制证规则,如进行if语句的SQL操作,进入不同的规则,生成不同的凭证。
实施例三
请继续参阅图3,示出了本发明数据库函数调用系统实施例三的程序模块示意图。在本实施例中,数据库函数调用系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据库函数调用方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据库函数调用系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
配置模块301,用于配置多个数据库函数。
具体的,所述数据库函数用于执行不同的函数功能。数据库函数可以作为SQL语句的一个部分来调用(使用select调用指令进行调用),并返回一个值或者表对象。数据库函数包括四个组成部分:声明、返回值、函数体和异常处理。数据库函数经过一系列的SQL语句调用,完成所要需要的做的任务。
存储模块302,用于将所述多个数据库函数进行编译并存储于高速缓存中。
具体的,启动服务器或第一次执行数据库函数后,将该数据库函数加载到高速缓存中,当再次调用数据库函数时,不需要再一次进行编译。若数据库函数只执行一次的话,不一定比单独的调用SQL语句的效率高,但是本发明运用在项目中大量的进行重复操作时,由于缓存了该数据库函数,很大的提高了运行效率,避免了数据库有大量的编译工作,减少了数据库的负荷,相对来说提高了数据库函数的执行速度。
第一监测模块303,用于监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数。
示例性的,所述第一监测模块303还用于:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
具体的,通过数据库函数的函数名查询所述数据库目标函数是否在高速缓存中,如果不在,则在数据库中对所述数据库目标函数进行编译。并且,数据访问层(Dao,dataaccess object)通过同一种方式即select调用指令选择函数名调用目标函数,生成统一的数据,以达到规则统一。
第一执行模块304,用于如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数。
具体的,所述数据库目标函数代码中声明入参,代入所传输的参数,以及声明一些所需要用到的参数,如DECLARE xxx varchar(10)(声明一个长度为10的char类型参数xxx),以select高速缓存中数据into xxx from table的方式,给这个参数赋值。
示例性的,第一执行模块304还用于:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
进一步的,当用户在调用数据库目标函数时,在网络中只传送该调用的SQL语句,不是多条SQL语句,从而大大降低网络负载。
第二监测模块305,用于监测所述数据库目标函数被执行过程中是否生成返回值。
具体的,数据库目标函数被执行时,会根据任务产生相应的返回值,监测返回值可以判断数据库目标函数的执行状态。
判断模块306,用于根据监测结果判断所述数据库目标函数是否被执行完毕。
具体的,根据查询每一个SQL语句操作的返回值,进行逻辑判断,判断是否已经执行了数据库目标函数。例如,若返回值不是预设的值,则判断没有执行数据库目标函数。
第二执行模块307,用于如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
示例性的,所述第二执行模块307还用于:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句令。
具体的,根据某些特定参数的值来判断是否进行下面的操作,一般是一些状态值,在e采项目中,生产凭证时首先判断开票方式,有专票和普通票两种,例如当返回值为第一数值时,判断开专票;当返回值为第二数值时,判断开专票,且有着不同的制证规则,如进行if语句的SQL操作,进入不同的规则,生成不同的凭证。
实施例四
参阅图4,是本发明实施例四之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据库函数调用系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例四的数据库函数调用系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据库函数调用系统20,以实现实施例一或二的数据库函数调用方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述服务器2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述服务器2与外部终端相连,在所述服务器2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据库函数调用系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图3示出了所述实现数据库函数调用系统20实施例三的程序模块示意图,该实施例中,所述基于数据库函数调用系统20可以被划分为配置模块301、存储模块302、第一监测模块303、第一执行模块304、第二监测模块305、判断模块306与第二执行模块307。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据库函数调用系统20在所述计算机设备2中的执行过程。所述程序模块301-307的具体功能在实施例三中已有详细描述,在此不再赘述。
实施例五
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据库函数调用系统20,被处理器执行时实现实施例一或二的数据库函数调用方法。
本发明实施例提供的数据库函数调用方法、系统、计算机设备及存储介质,通过先对数据库函数进行配置,并且将数据库函数进行高速缓存,在下一次对数据库目标函数进行调用时节省了编译的时间,有效的提高了数据库函数的操作效率;并且,每次使用基于SOL语句的select调用指令调用数据库目标函数时,单个select调用指令能够调用实现单独操作的数据库目标函数,从而减少了对网络的负载。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据库函数调用方法,其特征在于,包括:
配置多个数据库函数;
将所述多个数据库函数进行编译并存储于高速缓存中;
监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数;
如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数;
监测所述数据库目标函数被执行过程中是否生成返回值;
根据监测结果判断所述数据库目标函数是否被执行完毕;
如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
2.根据权利要求1所述的数据库函数调用方法,其特征在于,监测数据访问层是否有基于SQL语句的select调用指令的步骤,包括:
通过select调用指令选择所述SQL语句的目标函数名;
根据所述目标函数名从所述数据库函数调用数据库目标函数。
3.根据权利要求2所述的数据库函数调用方法,其特征在于,监测数据访问层是否有基于SQL语句的select调用指令的步骤以及从所述高速缓存中调用所述数据库目标函数的步骤之间,还包括:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
4.根据权利要求1所述的数据库函数调用方法,其特征在于,以预定规则执行所述SQL语句的后续SQL语句的步骤,包括:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句令。
5.一种数据库函数调用系统,其特征在于,包括:
配置模块,用于配置多个数据库函数;
存储模块,用于将所述多个数据库函数进行编译并存储于高速缓存中;
第一监测模块,用于监测数据访问层是否有基于SQL语句的select调用指令,所述select调用指令用于调用所述多个数据库函数中的数据库目标函数;
第一执行模块,用于如果监测到所述数据访问层有所述select调用指令,从所述高速缓存中调用所述数据库目标函数;
第二监测模块,用于监测所述数据库目标函数被执行过程中是否生成返回值;
判断模块,用于根据监测结果判断所述数据库目标函数是否被执行完毕;
第二执行模块,用于如果判断所述数据库目标函数被执行完毕,则以预定规则执行所述SQL语句的后续SQL语句。
6.根据权利要求5所述的数据库函数调用系统,其特征在于,所述第一监测模块,还用于:
通过select调用指令选择所述SQL语句的目标函数名;
根据所述目标函数名从所述数据库函数调用目标函数。
7.根据权利要求5所述的数据库函数调用系统,其特征在于,所述第一监测模块,还用于:
根据所述SQL语句中的目标函数名查询所述数据库目标函数是否在所述高速缓存中;
如果所述数据库目标函数不在所述高速缓存中,则编译所述数据库目标函数并将编译的数据库目标函数加载到所述高速缓存中。
8.根据权利要求5所述的数据库函数调用系统,其特征在于,所述第二执行模块,还用于:
根据返回值执行下一个SQL语句:
当所述返回值为第一数值时,执行与所述SQL语句相邻的所述下一个SQL语句;
当所述返回值为第二数值时,从所述SQL语句的多个后续SQL语句中选择所述下一个SQL语句令。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的数据库函数调用系统,所述数据库函数调用系统被所述处理器执行时实现如权利要求1-4中任一项所述的数据库函数调用方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的数据库函数调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593112.5A CN110502530A (zh) | 2019-07-03 | 2019-07-03 | 数据库函数调用方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593112.5A CN110502530A (zh) | 2019-07-03 | 2019-07-03 | 数据库函数调用方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110502530A true CN110502530A (zh) | 2019-11-26 |
Family
ID=68585873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910593112.5A Pending CN110502530A (zh) | 2019-07-03 | 2019-07-03 | 数据库函数调用方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502530A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078726A (zh) * | 2019-12-16 | 2020-04-28 | 厦门网宿有限公司 | 数据访问层的操作方法、服务器及存储介质 |
CN113176912A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 前端运行时函数异步加载方法及装置 |
CN113608886A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种函数接入缓存方法、装置、电子设备及存储介质 |
CN114546542A (zh) * | 2022-04-25 | 2022-05-27 | 麒麟软件有限公司 | 一种库函数通用调用方法及系统 |
WO2023061295A1 (zh) * | 2021-10-13 | 2023-04-20 | 杭州趣链科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010017411A1 (en) * | 2008-08-08 | 2010-02-11 | Fox Interactive Media, Inc. | Structured query language function in-lining |
CN104035923A (zh) * | 2013-03-04 | 2014-09-10 | 阿里巴巴集团控股有限公司 | 查询数据的方法及装置 |
US20180210866A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
CN109753306A (zh) * | 2018-12-28 | 2019-05-14 | 北京东方国信科技股份有限公司 | 一种预编译函数缓存引擎的大数据处理方法 |
-
2019
- 2019-07-03 CN CN201910593112.5A patent/CN110502530A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010017411A1 (en) * | 2008-08-08 | 2010-02-11 | Fox Interactive Media, Inc. | Structured query language function in-lining |
CN104035923A (zh) * | 2013-03-04 | 2014-09-10 | 阿里巴巴集团控股有限公司 | 查询数据的方法及装置 |
US20180210866A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
CN109753306A (zh) * | 2018-12-28 | 2019-05-14 | 北京东方国信科技股份有限公司 | 一种预编译函数缓存引擎的大数据处理方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078726A (zh) * | 2019-12-16 | 2020-04-28 | 厦门网宿有限公司 | 数据访问层的操作方法、服务器及存储介质 |
CN111078726B (zh) * | 2019-12-16 | 2022-11-04 | 厦门网宿有限公司 | 数据访问层的操作方法、服务器及存储介质 |
CN113176912A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 前端运行时函数异步加载方法及装置 |
CN113608886A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种函数接入缓存方法、装置、电子设备及存储介质 |
CN113608886B (zh) * | 2021-06-30 | 2024-04-26 | 北京新氧科技有限公司 | 一种函数接入缓存方法、装置、电子设备及存储介质 |
WO2023061295A1 (zh) * | 2021-10-13 | 2023-04-20 | 杭州趣链科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN114546542A (zh) * | 2022-04-25 | 2022-05-27 | 麒麟软件有限公司 | 一种库函数通用调用方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502530A (zh) | 数据库函数调用方法、系统、计算机设备及存储介质 | |
CN100545851C (zh) | 使用命令行环境的远程系统管理 | |
CN101888320B (zh) | 增强型网络适配器框架 | |
CN108845950A (zh) | 测试装置、测试的方法及存储介质 | |
CN107766132A (zh) | 多任务调度方法、应用服务器及计算机可读存储介质 | |
CN109918194A (zh) | 智能化扩容缩容方法、装置、计算机设备及存储介质 | |
CN100565452C (zh) | 组件化嵌入式系统信息检索系统和方法 | |
CN112181402B (zh) | 业务系统的业务处理方法、装置、存储介质及电子设备 | |
CN104423968A (zh) | 设计业务逻辑的方法、执行其的服务器和储存媒介 | |
CN108369591A (zh) | 用于缓存和参数化ir的系统和方法 | |
CN108681504A (zh) | 自动化测试方法、测试服务器及计算机可读存储介质 | |
CN108897587A (zh) | 可插拔式机器学习算法运行方法、装置及可读存储介质 | |
CN110069278A (zh) | 一种自动化分布式多任务打包方法及系统 | |
US20110271286A1 (en) | System and method for application function consolidation | |
CN110347735A (zh) | 配置化的数据转发异常补处理方法、装置及可读存储介质 | |
CN110471716A (zh) | 在OA系统中非嵌入式使用Office的方法 | |
US20090248186A1 (en) | Methods and Systems for Matching Configurable Manufacturing Capacity Requirements and Availability | |
CN112130823A (zh) | 一种平台开发方法、装置、计算机设备及存储介质 | |
CN111475165A (zh) | 一种应用程序智能编译方法、系统、终端及存储介质 | |
CN110348669A (zh) | 智能规则生成方法、装置、计算机设备及存储介质 | |
CN110166530A (zh) | 基于微服务返回值的处理方法、电子装置及计算机设备 | |
CN110532533B (zh) | 表格精度配置化方法、装置、计算机设备以及存储介质 | |
CN107861807A (zh) | 程序调用的优化方法及装置 | |
CN114371874A (zh) | 一种物联网设备的配置方法、系统、装置及介质 | |
CN113626001A (zh) | 一种基于脚本的api动态编排方法及装置 |
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 |