CN112822284B - 基于动态代理的数据处理方法、装置及计算机设备 - Google Patents
基于动态代理的数据处理方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112822284B CN112822284B CN202110088517.0A CN202110088517A CN112822284B CN 112822284 B CN112822284 B CN 112822284B CN 202110088517 A CN202110088517 A CN 202110088517A CN 112822284 B CN112822284 B CN 112822284B
- Authority
- CN
- China
- Prior art keywords
- transaction
- information
- database
- identification information
- connection function
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于动态代理的数据处理方法、装置及计算机设备。方法包括:获取待处理业务请求的待执行事务信息,根据待执行事务信息中事务的数据库信息生成对应连接资源并存储至连接资源池中,获取每一事务对应的事务标识信息并存储至数据栈中,根据代理字段表及连接资源池生成与每一事务标识信息对应的数据库连接函数,根据数据库连接函数的生成顺序依次执行以建立对应的数据传输通道,对与数据库连接函数对应的事务进行关联执行以通过建立的数据传输通道对相应数据库中的数据信息进行处理。本发明数据库连接技术,属于数据处理领域,本发明还涉及区块链技术,连接函数通过配置可适用于多种不同类型的数据库,增强了程序代码的通用性及可维护性。
Description
技术领域
本发明涉及数据处理技术领域,属于智慧城市中基于动态代理对数据库中的数据信息进行处理的应用场景,尤其涉及一种基于动态代理的数据处理方法、装置及计算机设备。
背景技术
服务器在对业务请求进行处理的过程中,通常需要与数据库建立数据传输连接并对该数据库中的数据信息进行获取及处理,数据信息可存储于多个不同类型的数据库中,对一个数据库中的数据信息进行获取及处理需使用与该数据库的类型相匹配的程序代码进行实现。现有技术方法中仅支持程序代码对不同数据源进行切换,而无法使用一套程序代码对多种不同类型的数据库中的数据信息进行获取及处理,也即是程序代码的通用性较差,为解决这一问题,针对一种类型的数据库则需对应编写一套代码,若程序代码发生更改则需对多套代码同时进行修改,因此这一技术方法存在代码可维护性较差的问题。因此,现有技术方法中对数据库的数据信息进行处理的程序代码存在通用性较差的问题。
发明内容
本发明实施例提供了一种基于动态代理的数据处理方法、装置及计算机设,旨在解决现有技术方法中对数据库的数据信息进行处理的程序代码存在通用性较差的问题。
第一方面,本发明实施例提供了一种基于动态代理的数据处理方法,其包括:
若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息;
根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中;
从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中;
顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数;
根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道;
执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理。
第二方面,本发明实施例提供了一种基于动态代理的数据处理装置,其包括:
待执行事务信息获取单元,用于若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息;
连接资源存储单元,用于根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中;
事务标识信息存储单元,用于从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中;
数据库连接函数生成单元,用于顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数;
数据传输通道建立单元,用于根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道;
数据信息处理单元,用于执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于动态代理的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于动态代理的数据处理方法。
本发明实施例提供了一种基于动态代理的数据处理方法、装置及计算机设备。获取待处理业务请求的待执行事务信息,根据待执行事务信息中每一事务的数据库信息生成对应连接资源并存储至连接资源池中,获取每一事务对应的事务标识信息并存储至数据栈中,根据代理字段表及连接资源池生成与每一事务标识信息对应的数据库连接函数,根据数据库连接函数的生成顺序依次执行以建立对应的数据传输通道,对与数据库连接函数对应的事务进行关联执行以通过建立的数据传输通道对相应数据库中的数据信息进行处理。通过上述方法,基于动态代理对连接函数进行配置,连接函数通过配置可适用于多种不同类型的数据库,大幅增强了程序代码的通用性及可维护性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于动态代理的数据处理方法的流程示意图;
图2为本发明实施例提供的基于动态代理的数据处理方法的子流程示意图;
图3为本发明实施例提供的基于动态代理的数据处理方法的另一子流程示意图;
图4为本发明实施例提供的基于动态代理的数据处理方法的另一子流程示意图;
图5为本发明实施例提供的基于动态代理的数据处理方法的另一子流程示意图;
图6为本发明实施例提供的基于动态代理的数据处理方法的另一子流程示意图;
图7为本发明实施例提供的基于动态代理的数据处理方法的另一流程示意图;
图8为本发明实施例提供的基于动态代理的数据处理装置的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本发明实施例提供的基于动态代理的数据处理方法的流程示意图,该基于动态代理的数据处理方法应用于管理服务器中,该方法通过安装于管理服务器中的应用软件进行执行,管理服务器即是用于执行基于动态代理的数据处理方法以实现对数据信息进行处理的服务器端,管理服务器可以是企业或政府机构内所设立的服务器。如图1所示,该方法包括步骤S110~S160。
S110、若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息。
若接收到待处理业务请求,获取所述待处理业务请求包含的待执行事务信息。管理服务器器可接收其他终端设备或管理员所发送的待处理业务请求,管理员也即是管理服务器的使用者,对处理业务请求进行处理即可执行相应的业务办理操作,待处理业务请求中至少包含一个对数据信息进行处理的待执行的事务,获取待处理业务请求中所包含的事务的具体信息即可得到待执行事务信息,待执行事务信息中包含的事务均是用于对数据信息进行处理的事务。
具体的,在一实施例中,如图2所示,所述步骤S110包括子步骤:S111、S112、S113和S114。
S111、获取所述待处理业务请求中的第一个事务作为主事务;S112、判断所述主事务中是否包含子事务;S113、若所述主事务中包含子事务,将所述子事务作为主事务并返回执行所述判断所述主事务中是否包含子事务的步骤。
具体的,可获取待处理业务请求中的第一个事务并判断该事务中是否包含子事务,多个事务可以嵌套方式进行组合,一个子事务继承于一个主事务则对应形成包含两个事务的嵌套组合,可对每一事务是否包含子事务进行判断,直至最终判断得到每一主事务中均不包含子事务,即可获取待处理业务请求中包含的所有事务的继承关系。
S114、若所述主事务中不包含子事务,根据所述待处理业务请求中事务之间的继承关系对所述待处理业务请求包含的所述事务进行排序以得到所述待执行事务信息。
根据待处理业务请求中事务之间的继承关系对所包含的事务进行排序得到待执行事务信息,具体的,根据继承关系将上一级事务排序在下一级事务之前,根据继承关系对每一事务的具体信息进行排序后即可得到待执行事务信息。
S120、根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中。
根据所述待执行事务信息中每一事务的数据库信息及预置的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中。具体的,待执行事务信息中还包括每一事务的数据库信息,管理服务器中还存储有多个数据库,在执行事务的过程中可对与该事务相匹配的数据库中的数据信息进行获取及处理,其中所述数据库信息包括数据库类型及数据库地址。数据库类型即为事务在执行过程中所对应的数据库的具体类型信息,例如数据库类型可以是MySql、Oracle等;数据库地址即为事务在执行过程中所对应的数据库的地址信息,数据库地址可采用统一资源定位符(Uniform Resource Locator,URL)进行表示。管理服务器中还预存有资源配置表,资源配置表即是用于对与每一数据库类型对应的连接配置信息进行存储的数据表,连接配置信息包括与相应数据库类型对应的传输协议、编码规则、加密规则等配置信息。连接资源池即为管理服务器中预设的用于对连接资源进行临时存储的资源池,可根据事务的数据库信息及资源配置信息表生成与每一事务对应的连接资源,并将连接资源存储至连接资源池中。
具体的,在一实施例中,如图3所示,所述步骤S120包括子步骤:S121和S122。
S121、获取所述资源配置表中每一所述事务的数据库类型相匹配的连接配置信息;S122、将每一所述事务的数据库地址配置于对应的所述连接配置信息中得到每一所述事务的连接资源。
资源配置表中包含与每一数据库类型对应的连接配置信息,则可根据待执行事务信息中每一事务的数据库类型获取与每一事务相匹配的连接配置信息,将每一事务的数据库地址配置于对应的连接配置信息中,得到与每一事务的连接资源,则连接资源中包含每一事务的数据库地址及传输协议、通道数量、编码规则、加密规则等配置信息。
S130、从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中。
从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中。数据栈即为管理服务器中预置的用于对事务标识信息进行存储的存储容器,在数据栈中存储的信息遵循先进后出的原则,具体的,可从待执行事务信息的每一所述事务的数据库信息中获取每一事务的事务标识信息,并根据待执行事务信息中事务的排序将每一事务的事务标识信息存储至数据栈中。
具体的,在一实施例中,如图4所示,步骤S130包括子步骤S131和S132。
S131、从每一所述事务的数据库信息中获取数据库类型作为每一所述事务的事务标识信息;S132、根据所述待执行事务信息中所述事务的排序将每一所述事务的事务标识信息依次存储至所述数据栈中。
具体的,可获取每一事务的数据库类型作为相应事务标识信息,也可获取数据库信息中的数据库地址作为相应事务标识信息,还可以获取待执行事务信息中其他信息作为事务标识信息,例如,可获取待执行事务信息中事务的识别码作为相应的事务标识信息。待执行事务信息中将排序第一的事务对应的事务标识信息首先存储至数据栈中,则排序倒数第一的事务对应的事务标识信息最后存储至数据栈中。
S140、顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数。
顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数。代理字段表即为管理服务器中预置的用于对代理字段信息进行存储的数据表,代理字段表中包含与每一数据库类型对应的代理字段信息,代理字段信息中包括多个代理字段。可顺序读取数据栈中的所存储的事务标识信息,并根据读取到的事务标识信息获取代理字段表中对应的目标代理字段信息并获取连接资源池与事务标识信息所属事务对应的连接资源;管理服务器中预存有初始化的连接函数,连接函数即是以程序代码形式进行表示的函数方法,可根据目标代理字段信息及相应连接资源对连接函数进行配置,得到与事务标识信息对应的数据库连接函数,执行数据库连接函数即可与相应数据库建立对应的数据传输通道。
具体的,在一实施例中,如图5所示,步骤S140包括子步骤S141、S142、S143、S144和S145。
S141、顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息;S142、获取所述代理字段表中与所述目标标识信息相匹配的目标代理字段信息;S143、根据所述目标代理字段信息对预存的连接函数中与所述目标代理字段信息相匹配的关键字进行关键字替换得到代理连接函数。
具体的,顺序读取数据栈中的事务标识信息,由于数据栈中存储的信息遵循先进后出的原则,则最先入栈的事务标识信息最后出栈,最后入栈的事务标识信息最先出栈。读取数据栈中的一个事务标识信息作为目标标识信息,若以数据库类型作为目标标识信息,则可直接根据目标标识信息获取代理字段表对应的目标代理字段信息,目标代理字段信息中包含多组字段映射关系,一组字段映射关系中包括一个初始关键字与一个替换关键字对应的映射关系,则可根据目标代理字段信息中包含的多组字段映射关系,对连接函数中将每一初始关键字对应的关键字进行映射替换,则连接函数中与初始关键字对应的关键字被替换为替换关键字,根据目标代理字段信息对连接函数进行关键字字段替换后即可得到与该目标代理字段信息对应的代理连接函数。
例如,一组字段映射关系包括:初始字段“010014”—替换字段“Delete”,则根据该组字段映射关系将连接函数中所有“010014”关键字均替换为“Delete”。
S144、获取所述连接资源池中与所述目标标识信息所属事务对应的连接资源对所述代理连接函数进行配置,得到与所述目标标识信息对应的数据库连接函数。
可获取连接资源池中与目标标识信息所属事务对应的连接资源,并根据该连接资源对代理连接函数进行参数配置,具体的,可根据连接资源中包含的数据库地址及传输协议、编码规则、加密规则等配置信息对代理连接函数进行参数配置,得到对应的一个数据库连接函数。
S145、判断所述数据栈中是否包含事务标识信息;若所述数据栈中包含事务标识信息,返回执行所述顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息的步骤。
判断数据栈中是否还包含事务标识信息,若数据栈中包含事务标识信息,则继续从数据栈中读取下一事务标识信息并生成对应数据库连接函数,也即是返回步骤S141进行执行;若数据栈中不包含事务标识信息,则结束上述流程,此时数据栈中的所有事务标识信息均对应生成数据库连接函数。
S150、根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道。
根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道。具体的,可根据数据库连接函数的生成顺序对所得到的数据库连接函数依次进行执行,也即是优先对先生成的数据库连接函数进行执行。
具体的,在一实施例中,如图6所示,步骤S150包括子步骤S151和S152。
S151、根据所述数据库连接函数中的通道数量对应创建与所述通道数量相等的通道;S152、根据所述数据库连接函数中的传输协议对每一所述通道进行参数配置得到对应的数据传输通道。
具体的,可根据数据库连接函数中的通道数量及所述数据库连接函数中的数据库地址对应创建与通道数量相等的多个通道,并根据数据库连接函数中的传输协议对每一通道进行参数配置,若数据库连接函数中还包括编码规则及加密规则,则可对应根据编码规则及加密规则对每一通道进一步进行参数配置,获取进行参数配置后所得到的数据传输通道。
S160、执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理。
执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理。对一个数据库连接函数执行完毕后,则通过数据传输通道与数据库连接函数对应的数据库建立进行连接,每一数据传输通道可对一条数据处理指令进行传输及处理,则同一时间可通过多个数据传输通道对多条数据处理指令进行传输及处理,可继续执行与该数据库连接函数相关联的事务,则执行该事务的过程中可通过所建立的多个数据传输通道对已进行连接数据库中的数据信息并发处理,可提高对数据库中数据信息进行获取及处理的效率。
在一实施例中,如图7所示,步骤S160之后还包括步骤S170。
S170、对所有所述事务执行完毕后清空所述连接资源池。
对所有所述事务执行完毕后清空所述连接资源池。完成对所有数据库连接函数及事务进行执行后,也即可完成对所接收到的一个待处理业务请求进行处理,对待处理业务请求进行处理后即可清空连接资源池,也即是将连接资源池中所存储的数据信息进行删除,清空连接资源池可对管理服务器的***资源进行释放以提高对后续待处理请求进行处理的效率。
在一实施例中,步骤S160之后还包括步骤S160a。
S160a、获取所述待处理业务请求的处理记录并将所述处理记录同步上传至区块链进行存储。
将所述处理记录上传至区块链进行存储,基于处理记录得到对应的摘要信息,具体来说,摘要信息由处理记录进行散列处理得到,比如利用sha256算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证处理记录是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等包含基于动态代理对数据库中的数据信息进行处理的应用场景中,从而推动智慧城市的建设。
在本发明实施例所提供的基于动态代理的数据处理方法中,获取待处理业务请求的待执行事务信息,根据待执行事务信息中每一事务的数据库信息生成对应连接资源并存储至连接资源池中,获取每一事务对应的事务标识信息并存储至数据栈中,根据代理字段表及连接资源池生成与每一事务标识信息对应的数据库连接函数,根据数据库连接函数的生成顺序依次执行以建立对应的数据传输通道,对与数据库连接函数对应的事务进行关联执行以通过建立的数据传输通道对相应数据库中的数据信息进行处理。通过上述方法,基于动态代理对连接函数进行配置,连接函数通过配置可适用于多种不同类型的数据库,大幅增强了程序代码的通用性及可维护性。
本发明实施例还提供一种基于动态代理的数据处理装置,该基于动态代理的数据处理装置用于执行前述基于动态代理的数据处理方法的任一实施例。具体地,请参阅图8,图8是本发明实施例提供的基于动态代理的数据处理装置的示意性框图。该基于动态代理的数据处理装置可以配置于管理服务器中。
如图8所示,基于动态代理的数据处理装置100包括待执行事务信息获取单元110、连接资源存储单元120、事务标识信息存储单元130、数据库连接函数生成单元140、数据传输通道建立单元150和数据信息处理单元160。
待执行事务信息获取单元110,用于若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息。
在一实施例中,所述待执行事务信息获取单元110包括子单元:主事务获取单元、主事务判断单元、匹配校验单元、第一判断单元及第二判定单元。
主事务获取单元,用于获取所述待处理业务请求中的第一个事务作为主事务;主事务判断单元,用于判断所述主事务中是否包含子事务;返回判断单元,用于若所述主事务中包含子事务,将所述子事务作为主事务并返回执行所述判断所述主事务中是否包含子事务的步骤;排序处理单元,用于若所述主事务中不包含子事务,根据所述待处理业务请求中事务之间的继承关系对所述待处理业务请求包含的所述事务进行排序以得到所述待执行事务信息。
连接资源存储单元120,用于根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中。
在一实施例中,所述连接资源存储单元120包括子单元:连接配置信息获取单元,用于获取所述资源配置表中每一所述事务的数据库类型相匹配的连接配置信息;连接资源获取单元,用于将每一所述事务的数据库地址配置于对应的所述连接配置信息中得到每一所述事务的连接资源。
事务标识信息存储单元130,用于从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中。
在一实施例中,所述事务标识信息存储单元130包括子单元:事务标识信息确定单元,用于从每一所述事务的数据库信息中获取数据库类型作为每一所述事务的事务标识信息;存储单元,用于根据所述待执行事务信息中所述事务的排序将每一所述事务的事务标识信息依次存储至所述数据栈中。
数据库连接函数生成单元140,用于顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数。
在一实施例中,所述数据库连接函数生成单元140包括子单元:目标标识信息获取单元,用于顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息;目标代理字段信息获取单元,用于获取所述代理字段表中与所述目标标识信息相匹配的目标代理字段信息;代理连接函数获取单元,用于根据所述目标代理字段信息对预存的连接函数中与所述目标代理字段信息相匹配的关键字进行关键字替换得到代理连接函数;数据库连接函数获取单元,用于获取所述连接资源池中与所述目标标识信息所属事务对应的连接资源对所述代理连接函数进行配置,得到与所述目标标识信息对应的数据库连接函数。数据栈判断单元,用于判断所述数据栈中是否包含事务标识信息;若所述数据栈中包含事务标识信息,返回执行所述顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息的步骤。
数据传输通道建立单元150,用于根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道。
在一实施例中,所述数据传输通道建立单元150包括子单元:通道创建单元,用于根据所述数据库连接函数中的通道数量对应创建与所述通道数量相等的通道;参数配置单元,用于根据所述数据库连接函数中的传输协议对每一所述通道进行参数配置得到对应的数据传输通道。
数据信息处理单元160,用于执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理。
在一实施例中,所述基于动态代理的数据处理方法包括子单元:连接资源池清空单元,用于对所有所述事务执行完毕后清空所述连接资源池。
在一实施例中,所述基于动态代理的数据处理装置100还包括子单元:处理记录存储单元,用于获取所述待处理业务请求的处理记录并将所述处理记录同步上传至区块链进行存储。
在本发明实施例所提供的基于动态代理的数据处理装置应用上述基于动态代理的数据处理方法,获取待处理业务请求的待执行事务信息,根据待执行事务信息中每一事务的数据库信息生成对应连接资源并存储至连接资源池中,获取每一事务对应的事务标识信息并存储至数据栈中,根据代理字段表及连接资源池生成与每一事务标识信息对应的数据库连接函数,根据数据库连接函数的生成顺序依次执行以建立对应的数据传输通道,对与数据库连接函数对应的事务进行关联执行以通过建立的数据传输通道对相应数据库中的数据信息进行处理。通过上述方法,基于动态代理对连接函数进行配置,连接函数通过配置可适用于多种不同类型的数据库,大幅增强了程序代码的通用性及可维护性。
上述基于动态代理的数据处理装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行基于动态代理的数据处理方法以基于动态代理对数据库中的数据信息进行处理的管理服务器。
参阅图9,该计算机设备500包括通过***总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该计算机设备500包括通过***总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作***5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于动态代理的数据处理方法,其中,存储介质503可以为易失性的存储介质或非易失性的存储介质。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于动态代理的数据处理方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的基于动态代理的数据处理方法中对应的功能。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为易失性或非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的基于动态代理的数据处理方法中所包含的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于动态代理的数据处理方法,其特征在于,所述方法包括:
若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息;
根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中;
从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中;
顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数;
根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道;
执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理;
所述根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数,包括:
顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息;
获取所述代理字段表中与所述目标标识信息相匹配的目标代理字段信息;
根据所述目标代理字段信息对预存的连接函数中与所述目标代理字段信息相匹配的关键字进行关键字替换得到代理连接函数;所述目标代理字段信息中包含多组字段映射关系,每一组所述字段映射关系包括一个初始关键字与一个替换关键字对应的映射关系;
获取所述连接资源池中与所述目标标识信息所属事务对应的连接资源对所述代理连接函数进行配置,得到与所述目标标识信息对应的数据库连接函数;
判断所述数据栈中是否包含事务标识信息;
若所述数据栈中包含事务标识信息,返回执行所述顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息的步骤。
2.根据权利要求1所述的基于动态代理的数据处理方法,其特征在于,所述获取所述待处理业务请求的待执行事务信息,包括:
获取所述待处理业务请求中的第一个事务作为主事务;
判断所述主事务中是否包含子事务;
若所述主事务中包含子事务,将所述子事务作为主事务并返回执行所述判断所述主事务中是否包含子事务的步骤;
若所述主事务中不包含子事务,根据所述待处理业务请求中事务之间的继承关系对所述待处理业务请求包含的所述事务进行排序以得到所述待执行事务信息。
3.根据权利要求1所述的基于动态代理的数据处理方法,其特征在于,所述数据库信息包括数据库类型及数据库地址,所述根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中,包括:
获取所述资源配置表中每一所述事务的数据库类型相匹配的连接配置信息;
将每一所述事务的数据库地址配置于对应的所述连接配置信息中得到每一所述事务的连接资源。
4.根据权利要求1所述的基于动态代理的数据处理方法,其特征在于,所述从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中,包括:
从每一所述事务的数据库信息中获取数据库类型作为每一所述事务的事务标识信息;
根据所述待执行事务信息中所述事务的排序将每一所述事务的事务标识信息依次存储至所述数据栈中。
5.根据权利要求1所述的基于动态代理的数据处理方法,其特征在于,所述根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道,包括:
根据所述数据库连接函数中的通道数量对应创建与所述通道数量相等的通道;
根据所述数据库连接函数中的传输协议对每一所述通道进行参数配置得到对应的数据传输通道。
6.根据权利要求1所述的基于动态代理的数据处理方法,其特征在于,所述执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理后,还包括:
对所有所述事务执行完毕后清空所述连接资源池。
7.一种基于动态代理的数据处理装置,其特征在于,包括:
待执行事务信息获取单元,用于若接收到待处理业务请求,获取所述待处理业务请求的待执行事务信息;
连接资源存储单元,用于根据所述待执行事务信息中每一事务的数据库信息及预存的资源配置表生成与每一所述事务对应的连接资源并存储至预置的连接资源池中;
事务标识信息存储单元,用于从所述待执行事务信息中获取与每一所述事务对应的事务标识信息并存储至预置的数据栈中;
数据库连接函数生成单元,用于顺序读取所述数据栈中的事务标识信息,根据预置的代理字段表及所述连接资源池对预存的连接函数进行配置,以生成与每一所述事务标识信息对应的数据库连接函数;
数据传输通道建立单元,用于根据每一所述数据库连接函数的生成顺序依次执行所述数据库连接函数以建立与所述数据库连接函数对应的数据传输通道;
数据信息处理单元,用于执行每一所述数据库连接函数后对所述数据库连接函数对应的所述事务进行关联执行,以通过所述数据传输通道对与所述数据库连接函数对应数据库中的数据信息进行处理;
所述数据库连接函数生成单元包括子单元:目标标识信息获取单元,用于顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息;目标代理字段信息获取单元,用于获取所述代理字段表中与所述目标标识信息相匹配的目标代理字段信息;代理连接函数获取单元,用于根据所述目标代理字段信息对预存的连接函数中与所述目标代理字段信息相匹配的关键字进行关键字替换得到代理连接函数;所述目标代理字段信息中包含多组字段映射关系,每一组所述字段映射关系包括一个初始关键字与一个替换关键字对应的映射关系;
数据库连接函数获取单元,用于获取所述连接资源池中与所述目标标识信息所属事务对应的连接资源对所述代理连接函数进行配置,得到与所述目标标识信息对应的数据库连接函数;数据栈判断单元,用于判断所述数据栈中是否包含事务标识信息;若所述数据栈中包含事务标识信息,返回执行所述顺序读取所述数据栈中的一个所述事务标识信息作为目标标识信息的步骤。
8.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于动态代理的数据处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的基于动态代理的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088517.0A CN112822284B (zh) | 2021-01-22 | 2021-01-22 | 基于动态代理的数据处理方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110088517.0A CN112822284B (zh) | 2021-01-22 | 2021-01-22 | 基于动态代理的数据处理方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112822284A CN112822284A (zh) | 2021-05-18 |
CN112822284B true CN112822284B (zh) | 2022-11-11 |
Family
ID=75858923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110088517.0A Active CN112822284B (zh) | 2021-01-22 | 2021-01-22 | 基于动态代理的数据处理方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112822284B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113518384B (zh) * | 2021-07-29 | 2023-12-01 | 中移(杭州)信息技术有限公司 | 分布式事务处理方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532487A (zh) * | 2019-09-11 | 2019-12-03 | 北京百度网讯科技有限公司 | 标签的生成方法及装置 |
CN110659287A (zh) * | 2019-09-11 | 2020-01-07 | 北京亚信数据有限公司 | 一种表格的字段名处理方法及计算设备 |
CA3048699A1 (en) * | 2019-05-03 | 2020-11-03 | Looker Data Sciences, Inc. | Join pattern agnostic aggregate computation in database query operations |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634996A (zh) * | 2018-10-25 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 客户信息表生成方法、装置、设备及计算机可读存储介质 |
CN110826001A (zh) * | 2019-10-30 | 2020-02-21 | 深圳前海环融联易信息科技服务有限公司 | 数据获取请求处理方法、装置、计算机设备及存储介质 |
CN111444161A (zh) * | 2020-02-26 | 2020-07-24 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111522849A (zh) * | 2020-04-22 | 2020-08-11 | 深圳市春蚕智能信息技术有限公司 | 数据库动态访问方法、服务器及存储介质 |
CN111752549B (zh) * | 2020-06-24 | 2023-07-21 | 中国银行股份有限公司 | Sql函数生成方法及装置 |
-
2021
- 2021-01-22 CN CN202110088517.0A patent/CN112822284B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3048699A1 (en) * | 2019-05-03 | 2020-11-03 | Looker Data Sciences, Inc. | Join pattern agnostic aggregate computation in database query operations |
CN110532487A (zh) * | 2019-09-11 | 2019-12-03 | 北京百度网讯科技有限公司 | 标签的生成方法及装置 |
CN110659287A (zh) * | 2019-09-11 | 2020-01-07 | 北京亚信数据有限公司 | 一种表格的字段名处理方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112822284A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558748B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110766408A (zh) | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 | |
CN112883361B (zh) | 应用程序的功能跳转方法、装置、计算机设备及存储介质 | |
AU2019398504A1 (en) | Proof-of-work for blockchain applications | |
CN111371858A (zh) | 群控设备识别方法、装置、介质及电子设备 | |
CN110599168B (zh) | 基于区块链的数字钱包登录方法、装置以及存储介质 | |
CN106776785B (zh) | 一种数据写入方法及装置和数据处理*** | |
CN110689218A (zh) | 风险用户识别方法、装置、计算机设备及存储介质 | |
CN112235423A (zh) | 跨链事务处理方法及装置、电子设备、存储介质 | |
CN112822284B (zh) | 基于动态代理的数据处理方法、装置及计算机设备 | |
CN114116401A (zh) | 集群消息的全链路跟踪监控方法、装置、设备及介质 | |
CN112434094B (zh) | 基于加密算法的数据库连接方法、装置及计算机设备 | |
CN113885959A (zh) | 基于接口配置的数据处理方法、装置、设备及介质 | |
CN112328882A (zh) | 信息推荐方法、装置、终端设备及存储介质 | |
CN113472781B (zh) | 一种服务获取方法、服务器及计算机可读存储介质 | |
CN111078649A (zh) | 基于区块链的云上文件存储方法、装置及电子设备 | |
CN115809879A (zh) | 一种区块链数据处理方法、装置、设备和存储介质 | |
CN115080147A (zh) | 基于人工智能的h5页面加载方法、装置、设备及介质 | |
EP4022872B1 (en) | Distributed ledger system | |
CN113703735A (zh) | 基于独立代码块编排的应用生成方法、装置、设备及介质 | |
CN114757151A (zh) | 文档编辑方法、设备及存储介质 | |
CN116136844A (zh) | 实体标识信息的生成方法、装置、介质及电子设备 | |
CN109218452B (zh) | 用于推送节点信息的方法和装置 | |
CN113422796A (zh) | 一种信息处理方法及装置、存储介质 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |