CN116108090A - 在应用层进行数据库读写分离的方法、系统及设备 - Google Patents

在应用层进行数据库读写分离的方法、系统及设备 Download PDF

Info

Publication number
CN116108090A
CN116108090A CN202211402507.0A CN202211402507A CN116108090A CN 116108090 A CN116108090 A CN 116108090A CN 202211402507 A CN202211402507 A CN 202211402507A CN 116108090 A CN116108090 A CN 116108090A
Authority
CN
China
Prior art keywords
interface
layer
service request
data source
read
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
Application number
CN202211402507.0A
Other languages
English (en)
Inventor
杨博研
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211402507.0A priority Critical patent/CN116108090A/zh
Publication of CN116108090A publication Critical patent/CN116108090A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供了一种在应用层进行数据库读写分离的方法,包括:当service层接收业务请求时,所述service层中的预设的处理逻辑代码被执行对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层,所述service层执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果;所述service层将所述业务请求及所述判断结果发送至相应的DAO层;所述DAO层响应所述业务请求根据所述判断结果连接访问相对应的读数据源或写数据源。本申请技术方案能够提高对数据库中的数据读写的性能。

Description

在应用层进行数据库读写分离的方法、系统及设备
技术领域
本申请涉及金融科技领域,尤其涉及一种在应用层进行数据库读写分离的方法、在应用层进行数据库读写分离的系统及计算机设备。
背景技术
数据库作为大多数系统的性能瓶颈,对其进行读写分离改造,是一种提高系统并发性能的有效手段。实现读写分离,有两大类方式,一种是基于数据库proxy代理的方式,使用简单但是在稳定性和事务支持方面存在一些问题;另一种是应用层面的,基于应用内路由的方式,比前者稍复杂但灵活度高。当前基于应用路由的方式,一般都使用动态数据源(比如spring中的AbstractRoutingDataSource方式),根据当前业务上下文属性,直接切换DAO层所使用的数据源。该种方式存在“灵活度”过高的问题,即在同一个业务service中,会频繁切换DAO对应的数据源,一方面频繁切换会增加错误概率,另一方面如果在service中存在事务,在不进行更复杂的定制事务管理器的情况下,事务会失效。
发明内容
有鉴于此,实有必要提供一种提高性能的在应用层进行数据库读写分离的方法、在应用层进行数据库读写分离的系统及计算机设备。
第一方面,本申请实施例提供一种在应用层进行数据库读写分离的方法,所述在应用层进行数据库读写分离的方法包括下面步骤:
当service层接收业务请求时,所述service层中的预设的处理逻辑代码被执行对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层,所述service层执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型;
所述service层将所述业务请求及所述判断结果发送至相应的DAO层;
所述DAO层响应所述业务请求根据所述判断结果连接访问相对应的读数据源或写数据源。
第二方面,本申请实施例提供一种在应用层进行数据库读写分离的系统,所述在应用层进行数据库读写分离的系统包括下面步骤:
数据库配置中心,用于返回预设接口清单,所述预设的接口清单包括读逻辑接口清单和写逻辑接口清单,所述读逻辑接口清单中只存有读接口类型的接口,所述写逻辑接口清单中只存有写接口类型的接口;
service层,包括接收模块、执行模块,所述接收模块用于接收业务请求,所述执行模块根据所述判断逻辑用于执行预设的处理逻辑代码来对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层,所述service层执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型;
DAO层,包括访问模块,所述访问模块用于根据service层发送的所述业务请求及所述判断结果响应所述业务请求并根据所述判断结果连接访问相对应的读数据源或写数据源。
第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括下面步骤:
计算机可读存储介质,用于存储程序指令;以及
处理执行所述程序指令以实现上述任一项的在应用层进行数据库读写分离的方法。
上述在应用层进行数据库读写分离的方法、在应用层进行数据库读写分离的系统及计算机设备,通过将粒度控制从DAO层“粗化”到service层,避免在同一服务中频繁的进行数据源切换,从而降低复杂度,并且通过增加指定某一DAO固定使用某一数据源(读数据库或写数据库)的方式,从而避免数据库读写分离“名存实亡”的现象。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本申请实施例提供的在应用层进行数据库读写分离的方法的流程图。
图2为本申请实施例提供的在应用层进行数据库读写分离的方法的第一子流程图。
图3为本申请实施例提供的在应用层进行数据库读写分离的方法的第二子流程图。
图4为本申请实施例提供的在应用层进行数据库读写分离的方法的第三子流程图。
图5为本申请第二实施例提供的在应用层进行数据库读写分离的方法的流程图。
图6为本申请实施例提供的在应用层进行数据库读写分离的系统的示意图。
图7为本申请实施例提供的计算机设备的内部结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请结合参看图1,其为本申请实施例提供的在应用层进行数据库读写分离的方法的流程图。在应用层进行数据库读写分离的方法具体包括如下步骤S102-S106。
步骤S102,当service层200接收业务请求时,所述service层200中的预设的处理逻辑代码被执行对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层200,所述service层200执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型。可以理解地,当数据库应用程序的service层200接收到用户输入的业务请求时数据库应用程序的service层200将所述用户输入的业务请求发送DAO层300,在发送途中利用处理逻辑代码对所述用户输入的业务请求进行拦截,所述处理代码逻辑通过所述面向切面编程AOP技术插入service层200的,且所述业务请求中包含数据源请求接口,则service层200在拦截过后获取预设的接口清单,并将所述预设的接口清单与所述数据源请求接口进行比对,当比对的结果中只与读接口类型存在对应关系时,则判断所述业务请求为读操作类型;当比对的结果中只与写接口类型存在对应关系时,则判断所述业务请求为写操作;当比对的结果中即存在读接口类型的对应关系又存在写接口类型的对应关系时,则判断所述因为其请求为读操作类型
步骤S104,所述service层200将所述业务请求及所述判断结果发送至相应的DAO层300。可以理解地,根据步骤S102步骤中service层200对所述业务请求得到的判断结果,所述service层200所述业务请求与判断的结果发送至相应的DAO层300。也就是说,当判断结果为只有读操作类型时,所述service层200将所述业务请求和读操作类型发送至与读接口相关的DAO层300,具体如何详见下文描述。
步骤S106,所述DAO层300响应所述业务请求根据所述判断结果连接访问相对应的读数据源或写数据源。可以理解地,若所述业务请求为读操作类型时,所述DAO层300根据接收的读操作类型对所述业务请求中的数据源请求接口进行连接访问相应读数据源进行相应的处理,同理,若所述业务操作为写操作类型时,所述DAO层300根据接收的写操作类型对所述业务请求中的数据源请求接口连接访问相应写数据源进行相应处理。
上述实施中,通过将粒度控制从DAO层300“粗化”到service层200,避免在同一服务中频繁的进行数据源切换,从而降低复杂度。
请结合参看图2,其为本申请实施例提供的在应用层进行数据库读写分离的方法的第一子流程图。具体包括如下步骤S202-S206。
步骤S202,所述service层200将同时存在读数据源请求接口和写数据源请求接口的业务请求中的写数据源请求接口添加预设的标签。可以理解地,用户预先对特殊的业务请求中的写请求接口添加预设的标识,也就是说,当业务请求中即存在读数据源请求接口也存在写数据源请求接口时,则判定为特殊的业务请求,则用户预先会此类业务请求中的写数据源请求接口添加预设的标签。
步骤S204,当所述判断结果为读操作类型且所述业务请求中未存在预设的标识所述DAO层300根据接收的所述业务请求与相应的读数据源进行连接访问。可以理解地,当DAO层300接收到service层200发送过来的所述业务请求后,对所述业务请求中的读数据源接口请求进去判断,当判断所述读数据源接口请求中未存在预设的标识时,则DAO层300将所述读数据源请求接口与相应的读数据源进行连接访问。
步骤S206,当所述判断结果为读操作类型且所述业务请求中存在预设的标识,所述DAO层300根据接收的所述业务请求和所述预设的标识与相应的写数据源进行连接访问。可以理解地,当DAO层300接收到service层200发送过来的所述业务请求后,对所述业务请求中的读数据源接口请求进去判断,当判断所述读数据源接口请求中存在预设的标识时,则DAO层300判断所述读数据源接口请求为写数据源接口请求,则DAO层300将所述写数据源请求接口与相应的写数据源进行连接访问。
上述实施中,通过增加指定某一DAO固定使用某一数据源(读数据库或写数据库)的方式,从而避免数据库读写分离“名存实亡”的现象。
请结合参看图3,其为本申请实施例提供的在应用层进行数据库读写分离的方法的第二子流程图。具体包括如下步骤S302-S304。
步骤S302,当所述service层200判断业务请求中只存在读数据源请求接口时,所述service层200将所述业务请求发送至相应的DAO层300。可以理解地,当所述业务请求根据步骤S102步骤得到的判断结果为只存在读数据源请求接口时,则所述service层200将所述读数据源请求接口发送至与读数据源相连接的DAO层300。
步骤S304,所述DAO层300根据接收的所述业务请求连接访问相应的读数据源。可以理解地,所述DAO层300根据所述读数据源请求接口所要执行的操作在相应的读数据源中进行相应的操作。
请结合参看图4,其为本申请实施例提供的在应用层进行数据库读写分离的方法的第三子流程图。具体包括如下步骤S402-S406。
步骤S402,当service层200判断业务请求中只存在写数据源请求接口时,所述service层200将所述业务请求发送至相应的DAO层300。可以理解地,当所述业务请求根据步骤S102步骤得到的判断结果为只存在写数据源请求接口时,则所述service层200将所述写数据源请求接口发送至与写数据源相连接的DAO层300。
步骤S404,所述DAO层300根据接收的所述业务请求连接访问相应的写数据源。可以理解地,所述DAO层300根据所述写数据源请求接口所要执行的操作在相应的写数据源中进行相应的操作。
请结合参看图5,其为本申请第二实施例提供的在应用层进行数据库读写分离的方法流程图。具体包括如下步骤S502-S504。
步骤S502,service层200发送配置请求给数据库配置中心100。可以理解地,用户在数据库配置中心100配置相应的预设接口清单,当service层200接收到相应的业务请求时,将会发送配置请求给数据库配置中心100,从数据库配置中心100中获取相应的预设的接口清单
步骤S504,所述service层200接收所述数据配置中心响应所述配置请求返回的所述预设接口清单,所述预设的接口清单包括读逻辑接口清单和写逻辑接口清单,所述读逻辑接口清单中只存有读接口类型的接口,所述写逻辑接口清单中只存有写接口类型的接口。可以理解地,数据库配置中心100根据service层200发送的配置请求,解析所述配置请求中的接口信息,根据所述接口信息与预设接口清单中的接口信息进行对比得到所述接口信息对应的接口类型。
请结合参看图6,其为本申请实施例提供的在应用层进行数据库读写分离的系统示意图。所述在应用层进行数据库读写分离的系统具体包括:所述在应用层进行数据库读写分离的系统1000包括数据库配置中心100、service层200和DAO层300,所述数据库配置中心100,用于返回预设接口清单,所述预设的接口清单包括读逻辑接口清单和写逻辑接口清单,所述读逻辑接口清单中只存有读接口类型的接口,所述写逻辑接口清单中只存有写接口类型的接口;所述service层200包括接收模块201、执行模块202,所述接收模块201用于接收业务请求,所述执行模块202根据所述判断逻辑用于执行预设的处理逻辑代码来对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层200,所述service层200执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型;所述DAO层300包括访问模块302,所述访问模块用于根据service层200发送的所述业务请求及所述判断结果响应所述业务请求并根据所述判断结果连接访问相对应的读数据源或写数据源。
请结合参看图6,其为本申请实施例提供的执行模块示意图。所述执行模块202还包括:判断模块2021,用于当业务请求中同时存在读数据源请求接口和写数据源请求接口时,判断所述业务请求为读操作类型。
请结合参看图6,其为本申请实施例提供的DAO层示意图。所述DAO层300还包括:识别模块301,用于当所述判断结果为读操作类型且所述业务请求中未存在预设的标识根据接收的所述业务请求与相应的读数据源进行连接访问,当所述判断结果为读操作类型且所述业务请求中存在预设的标识,根据接收的所述业务请求和所述预设的标识与相应的写数据源进行连接访问。
请结合参看图7,其为本申请实施例提供的计算机设备的内部结构示意图。计算机设备10包括计算机可读存储介质11、处理器12以及总线13。其中,计算机可读存储介质11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。计算机可读存储介质11在一些实施例中可以是计算机设备10的内部存储单元,例如计算机设备10的硬盘。计算机可读存储介质11在另一些实施例中也可以是的外部计算机设备10存储设备,例如计算机设备10上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,计算机可读存储介质11还可以既包括计算机设备10的内部存储单元也包括外部存储设备。计算机可读存储介质11不仅可以用于存储安装于计算机设备10的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
总线13可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,计算机设备10还可以包括显示组件14。显示组件14可以是发光二极管(Light Emitting Diode,LED)显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示组件14也可以适当的称为显示装置或显示单元,用于显示在计算机设备10中处理的信息以及用于显示可视化的用户界面。
进一步地,计算机设备10还可以包括通信组件15。通信组件15可选地可以包括有线通信组件和/或无线通信组件,如WI-FI通信组件、蓝牙通信组件等,通常用于在计算机设备10与其他智能控制设备之间建立通信连接。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行计算机可读存储介质11中存储的程序代码或处理数据。具体地,处理器12执行处理程序以控制计算机设备10实现在应用层进行数据库读写分离的方法。
可以理解地,图7仅示出了具有组件11-15以及在应用层进行数据库读写分离的方法的计算机设备10,本领域技术人员可以理解的是,图7示出的结构并不构成对计算机设备10的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘且本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所列举的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。

Claims (10)

1.一种在应用层进行数据库读写分离的方法,其特征在于,所述在应用层进行数据库读写分离的方法包括:
当service层接收业务请求时,所述service层中的预设的处理逻辑代码被执行对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层,所述service层执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型;
所述service层将所述业务请求及所述判断结果发送至相应的DAO层;
所述DAO层响应所述业务请求根据所述判断结果连接访问相对应的读数据源或写数据源。
2.如权利要求1所述的在应用层进行数据库读写分离的方法,其特征在于,所述service层中的预设的处理逻辑代码被执行对所述业务请求的类型进行判断得到判断结果包括:当所述service层判断业务请求中同时存在读数据源请求接口和写数据源请求接口时,所述service层判断所述业务请求为读操作类型;所述在应用层进行数据库读写分离的方法还包括:所述service层将同时存在读数据源请求接口和写数据源请求接口的业务请求中的写数据源请求接口添加预设的标签;其中,所述DAO层响应所述业务请求根据所述判断结果连接访问相对应的读数据源或写数据源具体包括:
当所述判断结果为读操作类型且所述业务请求中未存在预设的标识所述DAO层根据接收的所述业务请求与相应的读数据源进行连接访问;
当所述判断结果为读操作类型且所述业务请求中存在预设的标识,所述DAO层根据接收的所述业务请求和所述预设的标识与相应的写数据源进行连接访问。
3.如权利要求1所述的在应用层进行数据库读写分离的方法,其特征在于,所述方法还具体包括:
当所述service层判断业务请求中只存在读数据源请求接口时,所述service层将所述业务请求发送至相应的DAO层;
所述DAO层根据接收的所述业务请求连接访问相应的读数据源。
4.如权利要求1所述的在应用层进行数据库读写分离的方法,其特征在于,所述方法还包括:
当service层判断业务请求中只存在写数据源请求接口时,所述service层将所述业务请求发送至相应的DAO层;
所述DAO层根据接收的所述业务请求连接访问相应的写数据源。
5.如权利要求1所述的在应用层进行数据库读写分离的方法,其特征在于,所述方法还具体包括:所述service层从数据库配置中心中获取相应的预设的接口清单。
6.如权利要求5所述的在应用层进行数据库读写分离的方法,其特征在于,所述方法还具体包括:
service层发送配置请求给数据库配置中心;
所述service层接收所述数据配置中心响应所述配置请求返回的所述预设接口清单,所述预设的接口清单包括读逻辑接口清单和写逻辑接口清单,所述读逻辑接口清单中只存有读接口类型的接口,所述写逻辑接口清单中只存有写接口类型的接口。
7.一种在应用层进行数据库读写分离的系统,其特征在于,在应用层进行数据库读写分离的系统具体包括:
数据库配置中心,用于返回预设接口清单,所述预设的接口清单包括读逻辑接口清单和写逻辑接口清单,所述读逻辑接口清单中只存有读接口类型的接口,所述写逻辑接口清单中只存有写接口类型的接口;
service层,包括接收模块、执行模块,所述接收模块用于接收业务请求,所述执行模块根据所述判断逻辑用于执行预设的处理逻辑代码来对所述业务请求的类型进行判断得到判断结果,其中,所述业务请求包括数据源请求接口,所述处理逻辑代码是通过AOP技术插入于所述service层,所述service层执行预设的处理逻辑代码对所述业务请求的类型进行判断得到判断结果包括:将所述数据源请求接口与预设的接口清单进行比较,所述预设的接口清单被配置于预设的配置文件中且被配置有若干接口以及若干接口的类型,所述接口类型包括读接口类型和写接口类型;当所述数据源请求接口存在于所述预设的接口清单时,根据所述预设的接口清单中对应的类型确定所述业务请求的类型,所述业务请求的类型包括读操作类型和写操作类型;
DAO层,包括访问模块,所述访问模块用于根据service层发送的所述业务请求及所述判断结果响应所述业务请求并根据所述判断结果连接访问相对应的读数据源或写数据源。
8.如权利要求7所述的在应用层进行数据库读写分离的系统,其特征在于,所述执行模块还具体包括:
判断模块,用于当业务请求中同时存在读数据源请求接口和写数据源请求接口时,判断所述业务请求为读操作类型。
9.如权利要求7所述的在应用层进行数据库读写分离的系统,其特征在于,所述DAO层还具体包括:
识别模块,用于当所述判断结果为读操作类型且所述业务请求中未存在预设的标识根据接收的所述业务请求与相应的读数据源进行连接访问,当所述判断结果为读操作类型且所述业务请求中存在预设的标识,根据接收的所述业务请求和所述预设的标识与相应的写数据源进行连接访问。
10.一种计算机设备,其特征在于,所述计算机设备具体包括:
计算机可读存储介质,用于存储程序指令;以及
处理执行所述程序指令以实现如权利要求1至6中任一项的在应用层进行数据库读写分离的方法。
CN202211402507.0A 2022-11-09 2022-11-09 在应用层进行数据库读写分离的方法、系统及设备 Pending CN116108090A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211402507.0A CN116108090A (zh) 2022-11-09 2022-11-09 在应用层进行数据库读写分离的方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211402507.0A CN116108090A (zh) 2022-11-09 2022-11-09 在应用层进行数据库读写分离的方法、系统及设备

Publications (1)

Publication Number Publication Date
CN116108090A true CN116108090A (zh) 2023-05-12

Family

ID=86253457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211402507.0A Pending CN116108090A (zh) 2022-11-09 2022-11-09 在应用层进行数据库读写分离的方法、系统及设备

Country Status (1)

Country Link
CN (1) CN116108090A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290385A (zh) * 2023-11-27 2023-12-26 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290385A (zh) * 2023-11-27 2023-12-26 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质
CN117290385B (zh) * 2023-11-27 2024-01-19 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质

Similar Documents

Publication Publication Date Title
CN108388599B (zh) 电子装置、数据迁移及调用方法及存储介质
CN112118286B (zh) 基于mdc多线程链路追踪方法、装置及计算机可读存储介质
CN110865888B (zh) 一种资源加载方法、装置、服务器及存储介质
CN111737564B (zh) 一种信息查询方法、装置、设备及介质
US20150261523A1 (en) System and methods for declaration-based extension management for multi-tenant environments
CN105488125A (zh) 页面访问方法和装置
US20150153958A1 (en) Electronic device and method for memory allocation in electronic device
US9401846B2 (en) Information handling system configuration identification tool and method
CN111752740A (zh) 微服务异常补偿方法、装置、设备与计算机可读存储介质
CN110727425A (zh) 电子装置、表单数据校验方法和计算机可读存储介质
CN116108090A (zh) 在应用层进行数据库读写分离的方法、系统及设备
CN110688096A (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN110990346A (zh) 基于区块链的文件数据处理方法、装置、设备及存储介质
CN107967305B (zh) 影像文件上传方法、服务器及可读存储介质
CN108228842B (zh) Docker镜像库文件存储方法、终端、设备以及存储介质
EP2793201A1 (en) Safety information transfer system, device and method based on extended parameter set
US20210081380A1 (en) Electronic Device, List Deduplication Method and Computer-Readable Storage Medium
US8280983B2 (en) Distributed search in a casual network of servers
CN110442636B (zh) 一种数据的读写方法、装置及数据读写设备
CN111158777B (zh) 组件调用方法、装置及计算机可读存储介质
CN110457925A (zh) 内外部存储中应用数据隔离方法、装置、终端及存储介质
US6931571B2 (en) Method and apparatus for handling transient memory errors
CN115328580A (zh) 应用移植环境下注册表操作的处理方法、装置和介质
CN114240132A (zh) 业务流程编排执行方法、装置、计算机设备及存储介质
CN114186976A (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