CN104516908A - 一种数据库访问方法和装置 - Google Patents
一种数据库访问方法和装置 Download PDFInfo
- Publication number
- CN104516908A CN104516908A CN201310456971.2A CN201310456971A CN104516908A CN 104516908 A CN104516908 A CN 104516908A CN 201310456971 A CN201310456971 A CN 201310456971A CN 104516908 A CN104516908 A CN 104516908A
- Authority
- CN
- China
- Prior art keywords
- script file
- database
- statement
- perform
- script
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据库访问方法和装置,该方法包括:通过预设接口接收应用发送的第一请求,该第一请求用于请求执行第一业务;从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;依据所述解析后的所述第一脚本文件,执行对数据库的访问操作;将对所述数据库的操作结果返回给所述应用。该方法可以提高应用访问数据库的灵活性和便捷性,降低应用开发的复杂度。
Description
技术领域
本发明涉及数据访问技术领域,尤其涉及一种数据库访问方法和装置。
背景技术
随着应用数据库的发展,通过应用系统访问数据库以获取到相应服务的情况也被广泛应用。
目前,应用对数据库所能够进行的操作,在该应用开发完成时并已经被确定下来,使得应用与数据库之间具有强耦合性。也就是说应用对数据库的操作在应用开发时便已经被固定,不可改变。这样,如果需要对数据库进行不同的操作,则可能需要开发不同的应用,应用开发量较大。同时,一旦数据库中的数据或者表有更新或者变化时,原来的应用则可能无法再从数据库中获取到相应的数据,需要重新开发相应的应用,应用开发复杂、开发工作量大。
发明内容
有鉴于此,本发明提供一种数据库访问方法和装置,以提高应用访问数据库的灵活性和编辑性,降低应用开发的复杂度。
为实现上述目的,本发明的第一方面提供了一种数据库访问方法,包括:
通过预设接口接收应用发送的第一请求,所述第一请求用于请求执行第一业务;
从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;
依据所述解析后的所述第一脚本文件,执行对数据库的访问操作;
将对所述数据库的操作结果返回给所述应用。
结合第一方面,在第一种可能的实现方式中,所述从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件,并获取解析后的所述第一脚本文件,包括:
从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件,并对所述第一脚本文件进行解析,得到解析后的所述第一脚本文件。
结合第一方面,在第二种可能的实现方式中,在所述从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件,并获取解析后的所述第一脚本文件之前,还包括:
当到达预设的解析时刻时,对所述第一脚本文件进行解析。
结合第一方面的第一种可能的实现方式和第二种可能的实现方式,在第三种可能的实现方式中,所述对所述第一脚本文件进行解析,包括:
对所述第一脚本文件中各条语句进行语法分析,确定所述各条语句之间的执行逻辑顺序;
根据所述第一脚本文件中所述各条语句所对应的操作类型,分别确定出所述各条语句所对应的类;
根据所述各条语句所对应的类,并基于反射机制,分别映射出所述各条语句的对象实例;
根据所述各条语句之间的执行逻辑顺序以及所述各条语句的对象实例,确定出第一可执行对象组,所述第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行所述对象实例的逻辑顺序信息。
结合第一方面,在第四种可能的实现方式中,所述依据所述解析后的所述第一脚本文件,执行对数据库的访问操作,包括:
运行解析后的所述第一脚本文件,并通过Jave数据库连接的方式执行对数据库的访问操作。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,所述通过预设接口接收应用发送的第一请求之前,还包括:
生成所述脚本文件,并存储所述脚本文件;
其中,所述生成所述脚本文件,包括:
展现配置界面,所述配置界面包含有数据库信息输入窗口;
根据通过所述配置界面输入的数据库信息,获取数据库资源信息;
接收生成所述脚本文件中当前待生成语句所需用到的参数和操作类型;
展现所述数据库资源信息,并接收从所述数据库资源信息中选择所述当前待生成语句的所需的元素;
接收为所述参数与所述元素建立的关联关系;
根据所述操作类型以及所述关联关系,生成所述待生成语句,以得到包含所述待生成语句的所述脚本文件。
本发明的第二方面还提供了一种数据库访问装置,包括:
第一接口模块,用于通过预设接口接收应用发送的第一请求,所述第一请求用于请求执行第一业务;
解析模块,用于从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;
运行模块,用于依据所述解析后的所述第一脚本文件,执行对数据库的访问操作;
第二接口模块,用于将对所述数据库的操作结果返回给所述应用。
结合第二方面,在第一种可能的实现方式中,所述解析模块,包括:
确定单元,用于从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件;
解析单元,用于当所述确定单元确定出所述第一脚本文件时,对所述第一脚本文件进行解析,获取到解析后的所述第一脚本文件。
结合第二方面,在第二种可能的实现方式中,所述解析模块包括:
解析单元,用于当到达预设的解析时刻时,对所述第一脚本文件进行解析;
获取单元,用于从预置的多个脚本文件中,确定所述第一请求所需调用的所述第一脚本文件,并获取所述解析单元解析后的所述第一脚本文件。
结合第二方面的第一种可能的实现方式和第二种可能的实现方式,在第三种可能的实现方式中,所述解析单元,包括:
逻辑确定单元,用于对所述第一脚本文件中各条语句进行语法分析,确定所述各条语句之间的执行逻辑顺序;
类分析单元,用于根据所述第一脚本文件中各条语句所对应的操作类型,分别确定出所述各条语句所对应的类;
实例化单元,用于根据所述各条语句所对应的类,并基于反射机制,分别映射出所述各条语句的对象实例;
解析子单元,用于根据所述各条语句之间的执行逻辑顺序以及所述各条语句的对象实例,确定出第一可执行对象组,所述第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行所述对象实例的逻辑顺序信息。
结合第二方面,在第四种可能的实现方式中,所述运行模块,具体为:运行解析后的所述第一脚本文件,并通过Jave数据库连接的方式执行对数据库的访问操作。
结合第二方面,在第五种可能的实现方式中,所述装置还包括:
开发模块,用于生成所述脚本文件,并存储所述脚本文件;
其中,所述开发模块包括:
界面展现模块,用于展现配置界面,所述配置界面包含有数据库信息输入窗口;
信息获取单元,用于根据通过所述配置界面输入的数据库信息,获取数据库资源信息;
语句信息接收单元,用于接收生成所述脚本文件中当前待生成语句所需用到的参数和操作类型信息;
元素信息接收单元,用于展现所述数据库资源信息,并接收从所述数据库资源信息中选择所述当前待生成语句的所需的元素;
关联关系建立单元,用于接收为所述参数与所述元素建立的关联关系;
脚本生成单元,用于根据所述操作类型以及所述关联关系,生成所述待生成语句,以得到包含所述待生成语句的所述脚本文件。
从上述的技术方案可以看出,通过预设接口接收应用发送的第一请求,该第一请求用于请求执行第一业务,从预置的多个脚本文件中,确定执行该第一请求所请求执行的第一业务所需调用的第一脚本文件,并依据解析后的第一脚本文件执行对数据库的访问操作,将对数据库的操作结果返回给应用。当接收到的第一请求中所请求执行的业务不同时,所需调用的脚本文件也不同,从而根据该脚本文件执行对数据库的操作也不同。这样根据实际需要,应用发送包含请求执行不同业务的第一请求,便可以获取到对数据库执行不同访问操作的操作结果,无需为了实现对数据库的某种访问操作,而专门开发实现相应业务的应用,提高了应用对数据库访问的灵活性。同时,当数据库中的数据表有更新或者改变时,只需要修改相应的脚本文件,而无需重新开发应用,从而避免了复杂的应用开发过程,减少了以及应用开发的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例一种数据库访问方法一个实施例的流程示意图;
图2示出了本发明实施例一种解析第一脚本文件一种实现方式的流程示意图;
图3示出了本发明实施例一种数据库访问方法另一个实施例的流程示意图;
图4示出了本发明实施例中生成脚本文件的一种实现方式的流程示意图;
图5示出了本发明实施例一种数据库访问装置一个实施例的结构示意图;
图6示出了本发明实施例一种数据访问装置另一个实施例的结构示意图;
图7示出了本发明一种服务器的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据库访问方法,以提高应用访问数据库的灵活性,并能够在数据库中的数据表发生改变的情况下,无需重新对应用进行开发也能实现对数据库的访问。
参见图1,示出了本发明一种数据库访问方法一个实施例的流程示意图,本实施例的方法应用于对数据库的访问,如应用访问web数据库等,本实施例的方法可以包括:
步骤101:通过预设接口接收应用发送的第一请求,该第一请求用于请求执行第一业务。
为了避免应用与数据库之间的强耦合,本发明实施例实际上是提供了一个中间件,该中间件提供有接口,通过该接口向应用提供服务。
其中,该本申请实施例所说的应用可以理解为第三方应用,即运行于网络中其他设备中的应用系统。
在该应用运行过程中,如果需要执行第一业务,以实现从相应数据库中获取到相应的数据,则该应用可以向该中间件的接口发送第一请求。其中,该第一请求所请求执行的第一业务实际上是可以理解为资源获取请求或者服务请求,以便应用从数据库中获取到相应的资源或服务。如第一业务可以是对某地某时间的天气进行查询等。
步骤102:从预置的多个脚本文件中,确定执行该第一业务所需调用的第一脚本文件,并获取解析后的第一脚本文件。
在中间件中预先存储有多个脚本文件,执行不同业务需要调用不同的脚本文件,一个脚本文件实际上对应着对数据库的一个操作任务,而不同的脚本文件所对应的操作任务也不同。
一个脚本文件实际上可以包含一条或多条语句,每条语句均对应着一次数据库操作。当该脚本文件中包含有多条语句时,该脚本文件所对应的操作任务则包含了对同一个数据库或多个不同数据库的多次操作。例如,脚本文件1对应的任务为从该数据库A的表a中查询出字段m,然后删除字段m下的记录,则该任务包含了查询和删除两次不同的操作。
可以理解的是,本实施例中仅仅是为了描述方便,将执行该第一业务所需调用的脚本文件称为第一脚本文件。
其中,确定该第一脚本文件时,可以根据该第一业务的类型确定出该第一脚本文件。如,预先建立有不同的业务类型与脚本文件的对应关系,根据该对应关系,确定执行该第一业务所需调用的第一脚本文件。
可选的,在该第一请求中还可以包含执行该第一业务需要调用的该脚本文件的脚本标识,进而可以根据该脚本标识,确定出需要调用的该第一脚本文件。
确定出第一脚本文件后,为了后续能够执行对数据库的访问操作,还需要获取解析后的第一脚本文件,也就是对第一脚本文件进行解析得到的文件。
步骤103:依据该解析后的第一脚本文件,执行对数据库的访问操作。
该中间件获取到解析后的第一脚本文件后,在该中间件平台中运行解析后的该第一脚本文件,从而实现对相应数据库的访问操作,得到相应的操作结果。
其中,由于第一脚本文件中可能会包含多条语句,这多条语句可能是针对同一数据库或者不同数据库的多次操作,因此,该步骤中执行对数据库的访问操作可能包含了对同一个数据库的多次访问操作,或者是对多个数据库的多次访问操作。
步骤104:将对数据库的操作结果返回给该应用。
运行完解析后的第一脚本文件后,会得到该第一脚本文件对应的任务的执行结果,也就是对数据库的操作结果,该中间件将该操作结果返回给应用,从而使得该应用通过中间件实现从数据库中获取到相应的资源或服务。如访问操作为查询数据库中某类型的数据时,则操作结果为查询到相应类型的数据,并将查询到的相应类型的数据返回给该应用。
由于在中间件中预置了实现不同任务的多个脚本文件,应用向该中间件发送第一请求,以触发该中间件依据该第一请求所请求执行的第一业务,确定所需调用的脚本文件,根据解析后的该脚本文件,便可以实现对数据库的访问操作,并将获取到相应的操作结果返回给该应用。通过应用发送请求执行不同业务的第一请求,触发确定执行不同业务所需调用的不同脚本文件,并执行相应解析后的脚本文件实现对数据库的不同操作,从而无需根据对数据库的不同操作开发实现不同业务的应用,避免了应用与数据库的强耦合。
当数据库中的数据表发生改变时,只需对相应的脚本文件进行修改,而无需重新开发相应的应用,从而大大减少了开发应用所带来的工作量。
本申请实施例中,通过预设接口接收到应用的第一请求,该第一请求用于执行该第一业务,从预置的多个脚本文件中,确定执行该第一业务所需调用的第一脚本文件,并依据解析后的第一脚本文件执行对数据库的访问操作,将对数据库的操作结果返回给应用。当接收到的第一请求中所请求执行的业务不同时,所需调用的脚本文件也不同,从而根据该脚本文件执行对数据库的操作也不同。这样根据实际需要,应用发送包含请求执行不同业务的第一请求,便可以获取到对数据库执行不同访问操作的操作结果,无需为了实现对数据库的某种访问操作,而专门开发实现相应业务的应用,提高了应用对数据库访问的灵活性。同时,当数据库中的数据表有更新或者改变时,只需要修改相应的脚本文件,而无需重新开发应用,从而避免了复杂的应用开发过程,减少了以及应用开发的工作量。
在实际应用中,根据场景的不同,需要访问的数据库的类型的不同,因此,脚本文件所涉及需要访问的目的数据库也可以包含多种类型的数据库,如,该数据库可以为web数据库,当然,需要访问的数据库也可以是异构数据库系统。
可选的,预置的脚本文件可以为由结构化查询语言(SQL,Structured QueryLanguag)生成的脚本文件,即SQL脚本文件。其中,每个SQL脚本文件中包含有多条SQL语句。
相应的,对SQL脚本文件进行解析后,运行解析后的SQL脚本文件,执行对数据库的访问操作可以为:运行解析后的该SQL脚本文件,并通过Jave数据库连接(JDBC,Java Data Base Connectivity)的方式执行对数据库的访问操作。其中,JDBC是一种特殊的应用接口,是用于执行SQL语句的Jave应用程序接口,基于JDBC技术访问web数据库,可以很方便地进行数据库连接。
其中,在本申请实施例中,在通过该预设接口接收到应用发送的该第一请求后,可以根据第一请求所请求执行的第一业务,确定所需调用的第一脚本文件,并对该第一脚本文件进行解析,进而得到解析后的该第一脚本文件。也就是说,接收到确定出该第一脚本文件是解析该第一脚本文件的触发条件,在确定出该第一脚本文件的同时,执行对该第一脚本文件的解析。
另外,考虑到实际应用中,应用对脚本文件的调用可能会存在一定的规律,如某个脚本文件可能会每隔指定时长被调用一次,这样,该脚本文件的解析可以是预先执行的,如,在到达预设的第一脚本文件的解析时刻时,对该第一脚本文件进行解析。这样,当确定出该第一请求所需调用的该第一脚本文件时,则可以直接获取进行解析后的第一脚本文件。
在本发明任意一个实施例中,对第一脚本文件进行解析的过程实际上是对该第一脚本文件进行解析,生成该第一脚本文件对应的第一可执行对象组的过程。其中,该第一可执行对象组中包含有多个可执行对象。
可选的,参见图2,示出了本发明对第一脚本文件进行解析的一个实施例的流程示意图,本实施例的解析过程可以包括:
步骤201:对第一脚本文件中各条语句进行语法分析,确定各条语句之间的执行逻辑顺序。
在脚本文件包含多条语句,如SQL脚本文件中可以包含多条SQL语句,当脚本文件一定时,该脚本文件中多条语句之间的被执行的逻辑顺序也被确定。
其中,该执行逻辑顺序也可以理解为每条语句的执行先后顺序,以及每条语句执行的条件信息。例如,某条语句需要在另外一种语句执行后才可以执行,或者当满足某种条件下,才可以执行该语句。
由于各条语句中均包含有标识执行顺序的标识信息,如SQL语句中存在包含if或者where的语句时,则表示在执行该语句之前的SQL语句后,如果满足该if或where中设定的条件,才可以执行该条语句。因此,通过对各条语句的语法进行分析,依据各个语句中的标识执行逻辑顺序的条件标识等信息,便可以确定出各条语句之间的执行逻辑关系。
步骤202:根据该第一脚本文件中各条语句所对应的操作类型,分别确定出该各条语句所对应的类。
其中,该操作类型是指对数据库的操作类型,如,可以包括删除、修改、查询等等操作。如果语句所对应的操作类型不同,则语句所对应的类不同。
其中,类(Class)实际上是对某种类型的对象定义变量和方法的原型,它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。
步骤203:根据各条语句所对应的类,并基于反射机制,分别映射出各条语句的对象实例。
基于语句所对应的类,并依据反射机制,即可得到各条语句的对象实例。如,当脚本文件为SQL脚本文件时,确定出各条语句对应的类,则可以基于Jave反射机制,映射出个条语句所对应的对象实例。
步骤204:根据该各条语句之间的执行逻辑顺序以及各条语句的对象实例,确定出第一可执行对象组。
其中,该第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行不同对象实例的逻辑顺序信息。
可以理解的是,对脚本文件的解析过程的顺序并不限于图2所示,实际上也可以是先执行步骤202和步骤203之后,再执行步骤201。当然,也可以是执行步骤201的同时,执行该步骤202和步骤203的操作。
在以上任意一个实施例中,得到解析后的第一脚本文件后,考虑到解析后的第一脚本文件中可能会包含有多个可执行对象,在运行该解析后的第一脚本文件时,可以采用线程池中多线程并行处理的方式来运行该第一脚本文件中能够同时运行的可执行对象。
具体的,在中间件平台中提供线程池,当需要运行解析后的第一脚本文件时,则从预置的线程池中获取至少一个空闲线程作为执行解析后的第一脚本文件的第一线程组,并初始化与该第一线程组相关的变量池。
通过该第一线程组中的线程运行解析后的第一脚本文件中的可执行对象,执行对数据库的访问操作,并将执行可执行对象过程中得到的参数值以及对数据库访问的操作结果存储至该变量池中。
其中,在运行解析后的第一脚本文件之前,如果解析后的第一脚本文件中存在变量的参数,则可以将第一脚本文件中变量的参数存储至该变量池中,以便线程运行该可执行对象的过程中,从变量池中调取相应的参数的值。
为了便于理解本发明的过程,下面以应用对web数据库访问为例进行介绍,其中,脚本文件为SQL脚本文件。参见图3,示出了本发明一种数据库访问方法另一个实施例的流程示意图,本实施例的方法包括:
步骤301:通过预设接口接收应用发送的第一请求,第一请求用于请求执行第一业务,且在该第一请求中携带有脚本标识。
其中,接收到的该第一请求,可以理解为预设接口接收到一个表述性状态转移(REST,Representational State Transfer)请求,以触发进行脚本文件的调用以及执行。
步骤302:根据该脚本标识,从预置的多个SQL脚本文件中,确定执行该第一业务所需调用的第一SQL脚本文件。
根据该脚本标识,将与该脚本标识对应的SQL脚本文件确定为该第一SQL脚本文件。
步骤303:根据第一SQL脚本文件中各条SQL语句所对应的操作类型,分别确定该各条SQL语句所对应的类。
步骤304:根据第一SQL脚本文件中各条SQL语句所对应的类,基于Jave反射机制,分别映射出各条SQL语句的对象实例。
步骤305:分析第一SQL脚本文件中各条SQL语句的语法,确定该各条SQL语句之间的执行的逻辑顺序,根据该各条SQL语句的执行的逻辑顺序以及各条SQL语句的对象实例,解析出第一可执行对象组。
其中,该第一可执行对象组包含有多个可执行对象。
步骤306:从预置的线程池中获取至少一个空闲线程作为执行该第一可执行对象组的第一线程组,并初始化与该第一线程组相关的变量池。
其中,第一线程组中可以包括多条线程。
步骤307:将第一可执行对象组所包含的参数存储至该变量池中。
其中,该步骤为可选步骤。如果该第一可执行对象组所不包含需要接收的参数变量,则无需执行该步骤。只有当该第一可执行对象组中包含参数变量时,才将包含的参数变量存储至变量池中,以便后续执行该第一可执行对象组中的可执行对象的过程中,从该变量池中调用相应的参数。
例如,假设第一SQL脚本文件如下:
<Processes ID=“Test”>
<params>
<param>param1</param>
<param>param2</param>
</params>
<Conditions/>
<Process Continue="True"Description="Query"ID="selEnterItem"Method="SelectSQL"ProcessKey="1"RecordSetName="selEnterItem">
<Conditions/>
<Exceptions/>
<DBConnection>1</DBConnection>
<DBTable>JZ_ENTERITEM</DBTable>
……
<Conditions/>
<Exceptions/>
……
<CommandText>DELETE FROM JZ_ENTERCONTENTWHERE ENTERID=[selEnterItem.enterID]</CommandText>
</Process>
<Result>[selEnterItem.enterID]</Result>
</Processes>
在该第一SQL脚本文件中的参数变量为param1和param2,因此,将该第一SQL脚本文件进行解析得到第一可执行对象组之后,在该第一可执行对象中包含有参数变量param1和param2,需要将这两个参数存储至变量池中。
步骤308:从该第一可执行对象组中确定当前待运行的可执行对象,调用该第一线程组的线程运行该可执行对象,通过JDBC执行数据库访问,并将执行结果写入变量池。
其中,根据该第一可执行对象组中可执行对象的逻辑顺序关系,该第一线程组中可以有多个线程并行运行多个不同的可执行对象。
其中,每个可执行对象均对应着对数据库的一次操作,因此,该第一线程组中的每个线程对每个可执行对象的运行,实现一次数据库的操作后,均会得到对数据库的执行结果。将每个线程每次得到的执行结果写入到变量池中,以便于执行后续的可执行对象时,可以从该变量池中调用该执行结果。
步骤309:判断该第一可执行对象组中是否存在未被执行的可执行对象,如果是,则返回步骤308;如果否,则进入步骤310。
步骤310:将执行第一可执行对象组的操作结果返回给该应用。
完成对该第一可执行对象组的执行,则会得到一个最终的操作结果,该操作结果也就是执行该第一SQL脚本文件所对应的任务,而对数据库进行操作所得到的最终结果。
可以理解的是,在本实施例中,将该执行结果返回前,可以将该操作结果转换为Json格式之后再返回给应用。
另外,在以上任意一个实施例中,预置的多个脚本文件可以是用户手动编写后,并置入该中间件中。可选的,为了减少编程脚本文件给开发人员带来的工作量,预置的脚本文件还可以是根据用户输入的待操作的数据库信息,以及待生成语句所需的参数、执行条件和操作类型,生成脚本文件。
参见图4,示出了本发明生成脚本文件的一种实现方式的流程示意图,包括:
步骤401:展现配置界面,该配置界面中包含有数据库信息输入窗口。
该配置界面包含有输入窗口,该输入窗口可以是一个信息选择窗口,也可以是直接输入信息的窗口。如,该输入窗口可以包含对多个数据库名称的下拉选择框。
步骤402:根据通过该配置界面输入的数据库信息,获取数据库的资源信息。
用户根据待生成的脚本文件所针对的数据库,在该配置界面中输入需要操作的数据库信息,该数据库信息可以包括数据库的名称、地址、类型等信息。
根据接收到的数据库信息,系统会获取该数据库的资源信息,如该数据库包含的表、视图、存储过程、函数以及序列等信息。
步骤403:接收输入的待创建脚本文件的脚本标识,以及该待创建脚本文件的执行条件信息。
其中,该步骤为可选的步骤。
在实际应用中,也可以不创建脚本文件的脚本标识。而创建脚本文件的脚本标识仅仅是为了便于区分出各个脚本文件。
步骤404:接收生成该待创建脚本文件中当前待生成语句所需用到的参数和操作类型信息。
脚本标识是为了唯一标识一个脚本文件。
其中,待创建脚本文件中可以包含多条语句,每条语句均需要用到不同的参数,且每条语句可能有不同的执行条件以及操作类型,因此,用户需要分别针对每条需要生成的语句输入相应的参数、执行条件以及操作类型等信息。
其中,操作类型可以为选择、查询、删除等对数据库的操作类别。
步骤405:展现该数据库资源信息,并接收从数据库资源信息中选择当前待生成语句的所需的元素。
该数据库的资源信息中包含的表、视图、存储过程、函数或者序列中,用户从该资源信息中,选择当前待生成语句所需的表、视图、存储过程、函数等信息中的一种或几种元素。
步骤406:接收为该当前待生成语句所需的参数与选择的元素建立的关联关系。
步骤407:根据当前待生成语句的操作类型,以及该关联关系,生成相应的语句,返回步骤404,直至生成包含多条语句的脚本文件。
如,根据操作类型可以获取到模板语句,并根据该待生成语句所需的参数以及元素的对应,向该模板语句中填充相应的参数以及元素,生成相应的语句。
重复步骤404至步骤407即可得到多条语句。
步骤408:存储生成的脚本文件。
当接收到应用的第一请求后,根据该第一请求所请求执行的第一业务,可以从生成并存储的脚本文件中确定执行第一业务所需调用的第一脚本文件。
对应本发明的数据库访问方法,本发明还提供了一种数据库访问装置,参见图5,示出了本发明一种数据库访问装置一个实施例的结构示意图,本实施例的装置可以包括:第一接口模块501、解析模块502、运行模块503和第二接口模块504。
其中,该第一接口模块501,用于通过预设接口接收应用发送的第一请求,其中,该第一请求用于请求执行第一业务。
其中,该应用是第三方应用,是指需要通过该数据库访问装置实现对数据库访问操作的应用系统。
解析模块502,用于从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件。
运行模块503,用于依据所述解析后的所述第一脚本文件,执行对数据库的访问操作。
第二接口模块504,用于将对所述数据库的操作结果返回给所述应用。
其中,该第一接口模块和第二接口模块可以是同一个模块。
本申请实施例中,该装置通过第一接口模块接收到应用的第一请求,该第一请求用于请求执行第一业务,并由解析模块从预置的多个脚本文件中,确定执行该第一业务所需调用的第一脚本文件,并由运行模块依据解析后的第一脚本文件执行对数据库的访问操作,将对数据库的操作结果返回给应用。当接收到的第一请求中所请求执行的业务不同时,所需调用的脚本文件也不同,从而根据该脚本文件执行对数据库的操作也不同。这样根据实际需要,应用发送包含请求执行不同业务的第一请求,便可以获取到对数据库执行不同访问操作的操作结果,无需为了实现对数据库的某种访问操作,而专门开发实现相应业务的应用,提高了应用对数据库访问的灵活性。同时,当数据库中的数据表有更新或者改变时,只需要修改相应的脚本文件,而无需重新开发应用,从而避免了复杂的应用开发过程,减少了以及应用开发的工作量。
可选的,当该第一脚本文件的SQL脚本文件时,该运行模块,具体为:运行解析后的所述第一脚本文件,并通过Jave数据库连接的方式执行对数据库的访问操作。
对应解析模块的一种解析方式,该解析模块,可以包括:
确定单元,用于从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件;
解析单元,用于当所述确定单元确定出所述第一脚本文件时,对所述第一脚本文件进行解析,得到解析后的所述第一脚本文件。
对应解析模块的一种解析方式,该解析模块可以包括:
解析单元,用于当到达预设的解析时刻时,对所述第一脚本文件进行解析;
获取单元,用于从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件,并获取所述解析单元解析后的所述第一脚本文件。
可选的,在以上任意一种方式中,该解析单元,可以包括:
逻辑确定单元,用于对所述第一脚本文件中各条语句进行语法分析,确定所述各条语句之间的执行逻辑顺序;
类分析单元,用于根据所述第一脚本文件中各条语句所对应的操作类型,确定出所述各条语句所对应的类;
实例化单元,用于分别根据所述各条语句所对应的类,并基于反射机制,分别映射出所述各条语句的对象实例;
解析子单元,用于根据所述各条语句之间的执行逻辑顺序以及所述各条语句的对象实例,确定出第一可执行对象组,所述第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行所述对象实例的逻辑顺序信息。
可选的,在以上任意一个装置的实施例中,该第一脚本文件中可以包括多条语句;
相应的,所述解析后的第一脚本文件中包含多个可执行对象;
相应的,该运行模块,可以包括:
线程初始化单元,用于从预置的线程池中获取至少一个空闲线程作为执行所述解析后的第一脚本文件的第一线程组,并初始化与所述第一线程组相关的变量池;
线程调用单元,用于通过所述第一线程组中的线程运行所述可执行对象,执行对数据库的访问操作,并将运行所述可执行对象中得到的参数值以及对数据库访问的操作结果存储至所述变量池中。
参见图6,示出了本发明一种数据库访问装置另一个实施例的结构示意图,本实施例的装置除了包括第一接口模块501、解析模块502、运行模块503和第二接口模块504之外,还可以包括开发模块505。
其中,该开发模块505,用于生成所述脚本文件,并存储所述脚本文件。
具体的,该开发模块可以包括:
界面展现模块,用于展现配置界面,所述配置界面包含有数据库信息输入窗口;
信息获取单元,用于根据通过所述配置界面输入的数据库信息,获取数据库的资源信息。
语句信息接收单元,用于接收生成所述脚本文件中当前待生成语句所需用到的参数和操作类型信息;
元素信息接收单元,用于展现所述数据库的资源信息,并接收从所述数据库的资源信息中选择所述当前待生成语句的所需的元素。
关联关系建立单元,用于接收为所述参数与所述元素建立的关联关系。
脚本生成单元,用于根据所述操作类型以及所述关联关系,生成与所述待生成语句,以得到包含至少所述待生成语句的所述脚本文件。
其中,第一接口模块501、解析模块502、运行模块503和第二接口模块504可以参照前面实施例的相关介绍,在此不再赘述。
另一方面,本发明还提供了一种服务器,参见图7,示出了本发明一种服务器的一个实施例的结构示意图,本实施例的服务器700可以包括:存储器701、处理器702、通信接口703和通信总线704。
其中,该存储器701、处理器702以及通信接口703通过该通信总线704完成相互间的通信。
该通信接口704,用于通过预设接口接收应用发送的第一请求,其中,该第一请求用于请求执行第一业务;该通信接口用于与网元通信,比如网络中的其他服务器或者客户端等等。其中,该应用是第三方应用,是指需要通过该数据库访问装置实现对数据库访问操作的应用系统。
处理器702,用于在通信接口接收到第一请求之后,从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;依据所述解析后的所述第一脚本文件,执行对数据库的访问操作,并将对所述数据库的操作结果返回给所述应用。
其中,该处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
该存储器用于存储601用于存储包含有该处理器所运行的程序的信息。该存储器可能包含高速RAM存储器,也可能还包括非易失性存储器。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种数据库访问方法,其特征在于,包括:
通过预设接口接收应用发送的第一请求,其中,所述第一请求用于请求执行第一业务;
从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;
依据所述解析后的所述第一脚本文件,执行对数据库的访问操作;
将对所述数据库的操作结果返回给所述应用。
2.根据权利要求1所述的方法,其特征在于,所述从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件,包括:
从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件,并对所述第一脚本文件进行解析,得到解析后的所述第一脚本文件。
3.根据权利要求1所述的方法,其特征在于,在所述从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件之前,还包括:
当到达预设的解析时刻时,对所述第一脚本文件进行解析。
4.根据权利要求2或3所述的方法,其特征在于,所述对所述第一脚本文件进行解析,包括:
对所述第一脚本文件中各条语句进行语法分析,确定所述各条语句之间的执行逻辑顺序;
根据所述第一脚本文件中所述各条语句所对应的操作类型,分别确定出所述各条语句所对应的类;
根据所述各条语句所对应的类,并基于反射机制,分别映射出所述各条语句的对象实例;
根据所述各条语句之间的执行逻辑顺序以及所述各条语句的对象实例,确定出第一可执行对象组,所述第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行所述对象实例的逻辑顺序信息。
5.根据权利要求1所述的方法,其特征在于,所述依据所述解析后的所述第一脚本文件,执行对数据库的访问操作,包括:
运行解析后的所述第一脚本文件,并通过Jave数据库连接的方式执行对数据库的访问操作。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一脚本文件中包括多条语句;
相应的,所述解析后的第一脚本文件中包含多个可执行对象;
所述依据所述解析后的所述第一脚本文件,执行对数据库的访问操作,包括:
从预置的线程池中获取至少一个空闲线程作为执行所述解析后所述的第一脚本文件的第一线程组,并初始化与所述第一线程组相关的变量池;
通过所述第一线程组中的线程运行所述可执行对象,执行对数据库的访问操作,并将运行所述可执行对象中得到的参数值以及对数据库访问的操作结果存储至所述变量池中。
7.根据权利要求1所述的方法,其特征在于,所述通过预设接口接收应用发送的第一请求之前,还包括:
生成所述脚本文件,并存储所述脚本文件;
其中,所述生成所述脚本文件,包括:
展现配置界面,所述配置界面包含有数据库信息输入窗口;
根据通过所述配置界面输入的数据库信息,获取数据库资源信息;
接收生成所述脚本文件中当前待生成语句所需用到的参数和操作类型;
展现所述数据库资源信息,并接收从所述数据库资源信息中选择所述当前待生成语句的所需的元素;
接收为所述参数与所述元素建立的关联关系;
根据所述操作类型以及所述关联关系,生成所述待生成语句,以得到包含所述待生成语句的所述脚本文件。
8.一种数据库访问装置,其特征在于,包括:
第一接口模块,用于通过预设接口接收应用发送的第一请求,其中,所述第一请求用于请求执行第一业务;
解析模块,用于从预置的多个脚本文件中,确定执行所述第一业务所需调用的第一脚本文件,并获取解析后的所述第一脚本文件;
运行模块,用于依据所述解析后的所述第一脚本文件,执行对数据库的访问操作;
第二接口模块,用于将对所述数据库的操作结果返回给所述应用。
9.根据权利要求8所述的装置,其特征在于,所述解析模块,包括:
确定单元,用于从预置的多个脚本文件中,确定所述第一请求所需调用的第一脚本文件;
解析单元,用于当所述确定单元确定出所述第一脚本文件时,对所述第一脚本文件进行解析,得到解析后的所述第一脚本文件。
10.根据权利要求8所述的装置,其特征在于,所述解析模块包括:
解析单元,用于当到达预设的解析时刻时,对所述第一脚本文件进行解析;
获取单元,用于从预置的多个脚本文件中,确定所述第一请求所需调用的所述第一脚本文件,并获取所述解析单元解析后的所述第一脚本文件。
11.根据权利要求9或10所述的装置,其特征在于,所述解析单元,包括:
逻辑确定单元,用于对所述第一脚本文件中各条语句进行语法分析,确定所述各条语句之间的执行逻辑顺序;
类分析单元,用于根据所述第一脚本文件中各条语句所对应的操作类型,分别确定出所述各条语句所对应的类;
实例化单元,用于根据所述各条语句所对应的类,并基于反射机制,分别映射出所述各条语句的对象实例;
解析子单元,用于根据所述各条语句之间的执行逻辑顺序以及所述各条语句的对象实例,确定出第一可执行对象组,所述第一可执行对象组中包含了所述各条语句对应的对象实例,以及执行所述对象实例的逻辑顺序信息。
12.根据权利要求8所述的装置,其特征在于,所述运行模块,具体为:运行解析后的所述第一脚本文件,并通过Jave数据库连接的方式执行对数据库的访问操作。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述第一脚本文件中包括多条语句;
相应的,所述解析后的第一脚本文件中包含多个可执行对象;
所述运行模块,包括:
线程初始化单元,用于从预置的线程池中获取至少一个空闲线程作为执行所述解析后的所述第一脚本文件的第一线程组,并初始化与所述第一线程组相关的变量池;
线程调用单元,用于通过所述第一线程组中的线程运行所述可执行对象,执行对数据库的访问操作,并将运行所述可执行对象中得到的参数值以及对数据库访问的操作结果存储至所述变量池中。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
开发模块,用于生成所述脚本文件,并存储所述脚本文件;
其中,所述开发模块包括:
界面展现模块,用于展现配置界面,所述配置界面包含有数据库信息输入窗口;
信息获取单元,用于根据通过所述配置界面输入的数据库信息,获取数据库资源信息;
语句信息接收单元,用于接收生成所述脚本文件中当前待生成语句所需用到的参数和操作类型信息;
元素信息接收单元,用于展现所述数据库资源信息,并接收从所述数据库资源信息中选择所述当前待生成语句的所需的元素;
关联关系建立单元,用于接收为所述参数与所述元素建立的关联关系;
脚本生成单元,用于根据所述操作类型以及所述关联关系,生成所述待生成语句,以得到包含所述待生成语句的所述脚本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310456971.2A CN104516908A (zh) | 2013-09-29 | 2013-09-29 | 一种数据库访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310456971.2A CN104516908A (zh) | 2013-09-29 | 2013-09-29 | 一种数据库访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104516908A true CN104516908A (zh) | 2015-04-15 |
Family
ID=52792219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310456971.2A Pending CN104516908A (zh) | 2013-09-29 | 2013-09-29 | 一种数据库访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104516908A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468776A (zh) * | 2015-12-11 | 2016-04-06 | 北京奇虎科技有限公司 | 操作数据库的方法、装置及系统 |
CN105677750A (zh) * | 2015-12-29 | 2016-06-15 | 深圳安泰创新科技股份有限公司 | 数据获取方法及装置 |
CN106250485A (zh) * | 2016-07-29 | 2016-12-21 | 北京北信源软件股份有限公司 | 数据库升级方法、装置及系统 |
CN106293661A (zh) * | 2015-05-22 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 图形报表的生成、生成处理方法及装置 |
CN106878243A (zh) * | 2016-06-06 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 业务处理方法及装置 |
CN106874191A (zh) * | 2017-01-03 | 2017-06-20 | 上海斐讯数据通信技术有限公司 | 智能数据库执行方法及系统 |
CN107066627A (zh) * | 2017-05-15 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种kdb数据库管理方法及其装置 |
CN107122365A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 异构数据库的访问方法及装置 |
CN107168993A (zh) * | 2017-03-29 | 2017-09-15 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
CN107679064A (zh) * | 2017-07-31 | 2018-02-09 | 平安科技(深圳)有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN107748720A (zh) * | 2017-11-24 | 2018-03-02 | 中国银行股份有限公司 | 一种检测功能测试案例的业务参数的方法及装置 |
CN107818102A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN108132849A (zh) * | 2018-01-08 | 2018-06-08 | 中国联合网络通信集团有限公司 | 操作指令处理方法和装置 |
CN109040182A (zh) * | 2018-06-26 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种服务访问方法及装置、电子设备、存储介质 |
WO2019024472A1 (zh) * | 2017-07-31 | 2019-02-07 | 平安科技(深圳)有限公司 | 数据操作方法、装置及计算机可读存储介质 |
CN109656989A (zh) * | 2018-10-29 | 2019-04-19 | 平安科技(深圳)有限公司 | 多数据源整合方法、装置、计算机设备和存储介质 |
CN110471665A (zh) * | 2019-06-28 | 2019-11-19 | 平安科技(深圳)有限公司 | 脚本文件校验方法、装置、服务器及存储介质 |
CN111209289A (zh) * | 2019-12-25 | 2020-05-29 | 中科驭数(北京)科技有限公司 | 数据库访问方法及装置 |
CN111367500A (zh) * | 2018-12-26 | 2020-07-03 | 顺丰科技有限公司 | 数据的处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
US20080155554A1 (en) * | 2006-12-21 | 2008-06-26 | Microsoft Corporation | Managed execution environment for software application interfacing |
CN101645013A (zh) * | 2009-09-07 | 2010-02-10 | 中兴通讯股份有限公司 | 综合业务管理平台插件式业务管理系统及方法 |
CN101808051A (zh) * | 2010-03-15 | 2010-08-18 | 天津威奕达科技有限责任公司 | 应用整合网关及其控制方法 |
CN101924982A (zh) * | 2009-06-10 | 2010-12-22 | 中兴通讯股份有限公司 | 一种实现数据类业务的方法及系统 |
-
2013
- 2013-09-29 CN CN201310456971.2A patent/CN104516908A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
US20080155554A1 (en) * | 2006-12-21 | 2008-06-26 | Microsoft Corporation | Managed execution environment for software application interfacing |
CN101924982A (zh) * | 2009-06-10 | 2010-12-22 | 中兴通讯股份有限公司 | 一种实现数据类业务的方法及系统 |
CN101645013A (zh) * | 2009-09-07 | 2010-02-10 | 中兴通讯股份有限公司 | 综合业务管理平台插件式业务管理系统及方法 |
CN101808051A (zh) * | 2010-03-15 | 2010-08-18 | 天津威奕达科技有限责任公司 | 应用整合网关及其控制方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293661A (zh) * | 2015-05-22 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 图形报表的生成、生成处理方法及装置 |
CN105468776A (zh) * | 2015-12-11 | 2016-04-06 | 北京奇虎科技有限公司 | 操作数据库的方法、装置及系统 |
CN105677750A (zh) * | 2015-12-29 | 2016-06-15 | 深圳安泰创新科技股份有限公司 | 数据获取方法及装置 |
CN107122365A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 异构数据库的访问方法及装置 |
CN106878243A (zh) * | 2016-06-06 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 业务处理方法及装置 |
CN106250485A (zh) * | 2016-07-29 | 2016-12-21 | 北京北信源软件股份有限公司 | 数据库升级方法、装置及系统 |
CN107818102B (zh) * | 2016-09-12 | 2020-03-27 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN107818102A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN106874191A (zh) * | 2017-01-03 | 2017-06-20 | 上海斐讯数据通信技术有限公司 | 智能数据库执行方法及系统 |
CN106874191B (zh) * | 2017-01-03 | 2020-07-14 | 深圳前海大数金融服务有限公司 | 智能数据库执行方法及系统 |
CN107168993A (zh) * | 2017-03-29 | 2017-09-15 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
CN107066627A (zh) * | 2017-05-15 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种kdb数据库管理方法及其装置 |
WO2019024336A1 (zh) * | 2017-07-31 | 2019-02-07 | 平安科技(深圳)有限公司 | 数据查询方法、装置及计算机可读存储介质 |
WO2019024472A1 (zh) * | 2017-07-31 | 2019-02-07 | 平安科技(深圳)有限公司 | 数据操作方法、装置及计算机可读存储介质 |
CN107679064A (zh) * | 2017-07-31 | 2018-02-09 | 平安科技(深圳)有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN107748720A (zh) * | 2017-11-24 | 2018-03-02 | 中国银行股份有限公司 | 一种检测功能测试案例的业务参数的方法及装置 |
CN108132849A (zh) * | 2018-01-08 | 2018-06-08 | 中国联合网络通信集团有限公司 | 操作指令处理方法和装置 |
CN109040182A (zh) * | 2018-06-26 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种服务访问方法及装置、电子设备、存储介质 |
CN109040182B (zh) * | 2018-06-26 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 一种服务访问方法及装置、电子设备、存储介质 |
CN109656989A (zh) * | 2018-10-29 | 2019-04-19 | 平安科技(深圳)有限公司 | 多数据源整合方法、装置、计算机设备和存储介质 |
CN111367500A (zh) * | 2018-12-26 | 2020-07-03 | 顺丰科技有限公司 | 数据的处理方法和装置 |
CN110471665A (zh) * | 2019-06-28 | 2019-11-19 | 平安科技(深圳)有限公司 | 脚本文件校验方法、装置、服务器及存储介质 |
CN111209289A (zh) * | 2019-12-25 | 2020-05-29 | 中科驭数(北京)科技有限公司 | 数据库访问方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104516908A (zh) | 一种数据库访问方法和装置 | |
CN110019133B (zh) | 数据在线迁移方法和装置 | |
US9690558B2 (en) | Orchestrating the lifecycle of multiple-target applications | |
CN108427631A (zh) | 一种应用测试系统、方法、电子设备和可读存储介质 | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
US20140156849A1 (en) | Map-reduce workflow processing apparatus and method, and storage media storing the same | |
CN110582750A (zh) | 用于任务调度和设备管理的系统和方法 | |
US20160259795A1 (en) | Distributed version control of orchestration templates | |
US20180234329A1 (en) | Test building for testing server operation | |
CN110096521A (zh) | 日志信息处理方法及装置 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN112306471A (zh) | 一种任务的调度方法和装置 | |
US20190140894A1 (en) | System and method for enabling hybrid integration platform through runtime auto-scalable deployment model for varying integration | |
CN108733545B (zh) | 一种压力测试方法及装置 | |
CN106933857B (zh) | 一种数据仓库中任务的调度方法、装置 | |
US11556816B2 (en) | Conditional parallel coordinates in automated artificial intelligence with constraints | |
US11262986B2 (en) | Automatic software generation for computer systems | |
CN111984660A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN113923250B (zh) | 一种辅助网络服务编排的方法、装置及系统 | |
CN105912394B (zh) | 线程处理方法和系统 | |
US20130138690A1 (en) | Automatically identifying reused model artifacts in business process models | |
CN111001157B (zh) | 引用信息的生成方法和装置、存储介质及电子装置 | |
JP2021120899A (ja) | ユーザ識別方法、装置、記憶媒体及び電子機器 | |
CN105930431A (zh) | 访问数据库的方法、装置以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |