CN117290385B - 基于交易查询应用层分离的数据读写方法、装置及介质 - Google Patents
基于交易查询应用层分离的数据读写方法、装置及介质 Download PDFInfo
- Publication number
- CN117290385B CN117290385B CN202311588512.XA CN202311588512A CN117290385B CN 117290385 B CN117290385 B CN 117290385B CN 202311588512 A CN202311588512 A CN 202311588512A CN 117290385 B CN117290385 B CN 117290385B
- Authority
- CN
- China
- Prior art keywords
- data
- data read
- application
- transaction
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000000926 separation method Methods 0.000 title claims abstract description 37
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 abstract description 3
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- 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/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- H04L67/563—Data redirection of data network streams
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于交易查询应用层分离的数据读写方法、装置及介质,涉及交易数据读写分离技术领域,主要在数据库的数据读写进行分离的同时,进一步将交易***进行应用层分离,分为交易主应用和查询从应用,把耗时较大的大表数据读写迁移到查询从应用上,把耗时较小的日常业务办理放在交易主应用上,两个服务器之间通过交易请求的上下文路径的不同,借助负载均衡代理进行路由寻址来完成主从服务器的切换,实现过程中,用户完全无感知,且无需重启***,不仅提升交易***整体的性能,还能提高用户体验,减少操作等待时间。
Description
技术领域
本发明涉及交易数据读写相关技术领域,具体涉及一种基于交易查询应用层分离的数据读写方法、装置及介质。
背景技术
交易***在执行大表数据关联查询时,当数据库在内部加载读取数据时,交易***将会同步阻塞等待数据库的数据返回结果,当交易***接收到数据库的数据返回结果后,交易***才会对数据返回结果采取下一步读取、解析来处理返回数据。
所以,当交易***在执行大表数据关联查询时,不仅是数据库在进行大量IO读写,交易***也在等待和处理返回数据过程中占用了大量的服务器资源,会影响到交易***日常的正常业务办理。
发明内容
本发明的目的是提供一种基于交易查询应用层分离的数据读写方法、装置及介质,将数据库的数据读写进行分离的同时,将交易***进行应用分离,分为交易主应用和查询从应用,把耗时较大的大表数据关联查询迁移到查询从应用***中,从而在保证交易***的日常业务办理的同时,提升交易***整体的性能,提高用户的体验。
为解决上述技术问题,本发明采用了以下方案:
一种基于交易查询应用层分离的数据读写方法,所述方法具体包括以下步骤:
S1、接收到用户对路径为交易主应用的登录请求,返回交易主应用的菜单集合界面,所述菜单集合界面包括大表数据读写菜单、日常业务办理菜单,其中,大表数据读写菜单提供了涉及非日常常规的大表数据关联查询或历史数据关联的查询功能,大表数据读写菜单的菜单界面由查询从应用提供;日常业务办理菜单主要提供日常常规、频繁办理业务的办理功能,日常业务办理菜单的菜单界面由交易主应用提供;
S2A、接收到用户在大表数据读写菜单上发起的数据读写请求时,负载均衡根据该数据读写请求的上下文路径进行路由寻址,把数据读写请求转发到查询从应用,由查询从应用向对应的数据库发送数据读写请求;
S2B、接收到用户在日常业务办理菜单上发起的数据读写请求时,负载均衡根据将该读写请求的上下文路径进行路由寻址,把数据读写请求转发到交易主应用,由交易主应用向对应的数据库发送数据读写请求。
进一步的,所述数据读写请求包括数据读取请求、数据写入请求,
在S2A中,由查询从应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求时,查询从应用向数据从库发送数据读取请求;当数据读写请求为数据写入请求时,查询从应用向数据主库发送数据写入请求;
在S2B中,由交易主应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求或数据写入请求时,交易主应用向数据主库发送数据读取请求或数据写入请求。
进一步的,在S2A中,当查询从应用向数据从库发送数据读取请求后,查询从应用将读取到的数据在查询从应用层进行处理并返回。
进一步的,在S2B中,当交易主应用向数据主库发送数据读取请求后,交易主应用将读取到的数据在交易主应用层进行处理并返回。
进一步的,所述数据主库和数据从库之间通过Data Guard实现数据的实时同步。
进一步的,所述大表数据读写菜单的上下文路径与日常业务办理菜单的上下文路径不一致,所述数据读写请求的上下文路径为大表数据读写菜单的上下文路径或日常业务办理菜单的上下文路径。
进一步的,所述交易主应用通过token鉴权将用户在交易主应用上的用户登录信息共享并同步到查询从应用中。
进一步的所述查询从应用对应的数据库包括数据主库和数据从库,当查询从应用的Service层接收到数据读写请求时,在执行dao层的Mapper方法前,Mybatis的***会判断被调用的Mapper方法的操作类型,根据操作类型将当前的数据源指向对应的数据主库或数据从库。
一种基于交易查询应用层分离的数据读写装置,包括:
处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,实现所述的一种基于交易查询应用层分离的数据读写方法。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的一种基于交易查询应用层分离的数据读写方法。
本发明的有益效果:
1、本发明提供了一种基于交易查询应用层分离的数据读写方法、装置及介质,将交易***进行应用分离,分为交易主应用和查询从应用,把耗时较大的大表数据关联查询或历史数据关联查询业务迁移到查询从应用上进行处理,把日常常规业务办理放在交易主应用上进行处理,利用查询从应用分摊主应用的大数据读数据操作、以及其查询期间较长时间等待和数据返回后处理占用大内存的压力。
2.本发明中将交易***进行应用分离的方法,具体只体现在运维部署工作上,交易主应用和查询从应用使用一套相同的应用程序,通过菜单集成和负载均衡代理请求转发的方式,让两套不同的应用可以通过统一的服务访问地址对外服务,并且,交易主应用和查询从应用之间基于token鉴权来共享同步登陆用户信息,读写请求服务切换查询从应用时,同一用户不需要在查询从应用上二次登陆,当主从应用分离后,用户访问原交易主应用***地址,在用户感知不到的情况下,将菜单界面的路径从交易主应用路由到查询从应用上,后续对应的交易请求也由查询从应用进行处理。
3.本发明基于交易查询应用层分离下进行读写分离,在涉及大表数据关联查询或者历史数据查询时,将数据的读取的数据库连接指向到从数据库中,使从数据库进行耗时的大表数据读取,将耗时较短的写数据操作都对应到主数据库中,并且,从数据库和主数据库之间借助同步软件进行实时的数据同步。
附图说明
图1为本发明实施例1中一种基于交易查询应用层分离的数据读写方法的示意图。
图2为本发明实施例1中菜单集合界面的示意图。
图3为本发明实施例1中大表数据读写菜单的示意图。
图4为本发明实施例1中日常业务办理菜单的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
下面通过参考附图并结合实施例来详细说明本发明:
实施例1
由于,交易***在执行大数据查询时,当数据库在内部加载读取数据时,交易***将会同步等待数据库的数据返回结果,当交易***接收到数据库的数据返回结果后,交易***才会对数据返回结果采取下一步读取、解析来处理返回数据。
所以,当交易***在执行大数据查询时,不仅是数据库在进行大量IO读写,交易***也在等待和处理结果过程中占用了大量的资源,会影响到交易***日常的正常业务办理。
为了解决上述问题,本发明中一种基于交易查询应用层分离的数据读写方法主要采用读写分离的方案,所述读写分离不仅仅要把数据库的读写库进行分离操作,同时也要把交易***中交易、查询进行应用分离,把耗时较久的大表数据查询操作迁移到查询从应用上进行处理,把日常业务查询放在交易主应用上进行处理,利用查询从应用来分摊主应用的读数据操作的压力,从而提升交易主应用层的业务处理效率。
并且,为了版本可管理可维护,查询从应用中代码分支应该与交易主应用的主干代码是一套代码,配置也需保持一致,采用的是应用部署形态分离。
具体的,如图1、图2、图3、图4所示,本发明中一种基于交易查询应用层分离的数据读写方法,包括以下步骤:
S1、接收到用户对路径为交易主应用的登录请求,返回交易主应用的菜单集合界面,所述菜单集合界面包括大表数据读写菜单、日常业务办理菜单,其中,大表数据读写菜单提供了涉及非日常常规的大表数据关联查询或历史数据关联的查询功能,大表数据读写菜单的菜单界面由查询从应用提供;日常业务办理菜单主要提供日常常规、频繁办理业务的办理功能,日常业务办理菜单的菜单界面由交易主应用提供;
S2A、接收到用户在大表数据读写菜单上发起的数据读写请求时,负载均衡根据该数据读写请求的上下文路径进行路由寻址,把数据读写请求转发到查询从应用,由查询从应用向对应的数据库发送数据读写请求;
S2B、接收到用户在日常业务办理菜单上发起的数据读写请求时,负载均衡根据将该读写请求的上下文路径进行路由寻址,把数据读写请求转发到交易主应用,由交易主应用向对应的数据库发送数据读写请求。
具体的,本发明中通过对***菜单地址组合配置的方式,把交易主应用和查询从应用进行整合和集成,让用户仅需登录交易主应用***,通过访问相应的***菜单,根据交易请求的上下路径的不同,由负载均衡自动分发到不同的应用上。
交易主应用作为用户访问的统一入口,如图2所示,用户登录交易主应用后获取的菜单集合包括大表数据读写菜单、日常业务办理菜单。
其中,大表数据读写菜单提供了非日常常规的大表数据关联查询或历史数据关联的查询功能,菜单界面由查询从应用提供者。用户请求在该类菜单界面上发起,经过负载均衡路由寻址分发,由从应用层向数据库发送数据读写请求;
日常业务办理菜单主要提供日常常规、频繁办理业务的办理功能,菜单界面由交易主应用提供。用户请求在该类菜单界面上发起,经过负载均衡路由寻址分发,由交易主应用层向数据库发送数据读写请求。交易主应用层接收到用户进入菜单界面的访问请求,所述菜单界面的路径为交易主应用层的路由地址,交易主应用层与查询从应用层的端口一致,上下文路径不同。
优选的,所述数据读写请求包括数据读取请求、数据写入请求,
在S2A中,由查询从应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求时,查询从应用向数据从库发送数据读取请求;当数据读写请求为数据写入请求时,查询从应用向数据主库发送数据写入请求;
在S2B中,由交易主应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求或数据写入请求时,交易主应用向数据主库发送数据读取请求或数据写入请求。
优选的,在S2A中,当查询从应用向数据从库发送数据读取请求后,查询从应用将读取到的数据在查询从应用层进行处理并返回。
优选的,在S2B中,当交易主应用向数据主库发送数据读取请求后,交易主应用将读取到的数据在交易主应用层进行处理并返回。
具体的,交易、查询应用层都采用集群部署,使用软件负载均衡(如:Nginx、haporxy等)或硬件负载均衡(如F5等)作为负载均衡服务器,通过日常服务器性能监控,这些应用服务器的负载较低,服务器的性能可以进一步挖掘,因此,查询***(即查询从应用)只需部署在原服务器上进行横向扩展即可,基于这些原理,本发明在同一台服务器上采用部署两套不同的应用,选择采用重用weblogic现有域,且两套***采用同个端口、不同的应用名称,则可以实现交易***的部署分离。
当服务器采用主从应用分离部署后,如果用户直接访问应用地址,那么需要登陆不同地址的应用***,在不同的应用层上进行业务操作,而且还需要在从应用层上做些特殊改造(比如说,从应用只开放部分菜单等等),这对用户体验是极其不友好。因此,交易、查询应用分离(即主从应用分离)只应该体现在运维部署工作上,才能提供给用户一种较有好的访问方式。
在本发明中,使交易、查询应用对外提供统一的服务访问地址,当主从应用分离后,用户仍然访问原***地址,在用户感知不到的情况下,在历史数据读写请求下,将菜单界面的路径从交易主应用路由寻址到查询从应用上。
用户访问历史数据读写查询界面是相当于访问查询从应用的路由地址,访问日常数据读写查询界面是相当于访问交易主应用的路由地址,本质上是访问不同的菜单地址,但是***将历史数据读写查询界面和日常数据读写查询界面组合在一起,所以可以通过修改菜单界面的路径实际指向,从而把查询从应用和交易主应用耦合在一起,即在一套***内访问不同的应用的功能。
但是,不管采用哪种主从分离的部署方式,应用端口和应用上下文路径会不一样。因此需要在调整菜单的路径上,进一步借助负载均衡的代理功能,把端口和应用名称重新映射到对应的主从应用上,使本发明通过这样的负载均衡的映射,使用户访问应用地址保持不变,且中心、银行、经办网点的网络访问关系也不需要调整(不需要开放新的访问端口),简化了交易查询应用分离方案的实施工作量。
优选的,所述大表数据读写菜单的上下文路径与日常业务办理菜单的上下文路径不一致,所述数据读写请求的上下文路径为大表数据读写菜单的上下文路径或日常业务办理菜单的上下文路径。
优选的,所述交易主应用通过token鉴权将用户在交易主应用上的用户登录信息共享并同步到查询从应用中。
具体的,基于token的鉴权机制类似于可以把交易主应用的用户登陆信息共享和同步到查询从应用,用户登陆交易主应用后,除了在本应用层上把登陆用户信息存储到Session会话中,再额外根据登陆用户信息生成token令牌,通过登陆接口返回给前端,前端后续的交易请求报文头携带用户登陆token,如果交易通过负载均衡代理转发到查询从应用层,查询从应用层的登陆认证***判断,从应用***中如果没有用户登陆的Session会话信息,那么会根据用户登陆token令牌信息逆向解析出用户登陆信息,逆向生成用户登陆信息存储到查询从应用层的Session会话中。
所以,本发明中查询从应用层与交易主应用层之间基于token鉴权进行登陆用户信息共享和同步,使管理员在进行菜单管理时,只需调整菜单地址的指向,就可以使用户重新登陆后,新的菜单地址重新加载到缓存中,用户点击对应的菜单,访问地址将被指向到另外一个应用。通过切换菜单地址指向完成交易查询***切换,实现过程对用户完全无感知,且无需重启应用***。
优选的,所述数据主库和数据从库之间通过Data Guard实现数据的实时同步。具体的,***建设时,规划了数据异地容灾机制,oracle 采用Data Guard数据实现实时秒级同步后,从/备份库的表只具备只读功能,只能进行数据读取,不可进行数据写入。
优选的,所述查询从应用对应的数据库包括数据主库和数据从库,当查询从应用的Service层接收到数据读写请求时,在执行dao层的Mapper方法前,Mybatis的***会判断被调用的Mapper方法的操作类型,根据操作类型将当前的数据源指向对应的数据主库或数据从库。
具体的,本发明给查询从应用数据库连接配置了双数据源(主数据源指向数据主库,从数据源指向数据从库),当Service层接收到数据读写请求时,在执行dao层的Mapper方法前,Mybatis的***会判断被调用的Mapper方法的操作类型(insert、delete、update、query),操作类型是insert、delete、update等操作类型,mybatis***会把当前的数据源指向主库,如果操作类型是query,数据源则指向从库,spring事务管理器通过AbstractRoutingDataSource的determineCurrentLookupKey()方法从ThreadLocal获取当前的lookupKey,根据获取lookupKey指向的数据源地址,提供对应数据库的connection对象完成数据库读写操作,从而完成动态切换数据源。
实施例2
一种基于交易查询应用层分离的数据读写装置,包括:
处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,实现所述的一种基于交易查询应用层分离的数据读写方法。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的一种基于交易查询应用层分离的数据读写方法。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (10)
1.一种基于交易查询应用层分离的数据读写方法,其特征在于,所述方法具体包括以下步骤:
S1、接收到用户对路径为交易主应用的登录请求,返回交易主应用的菜单集合界面,所述菜单集合界面包括大表数据读写菜单、日常业务办理菜单,其中,大表数据读写菜单提供了涉及非日常常规的大表数据关联查询或历史数据关联的查询功能,大表数据读写菜单的菜单界面由查询从应用提供;日常业务办理菜单主要提供日常常规、频繁办理业务的办理功能,日常业务办理菜单的菜单界面由交易主应用提供;
S2A、接收到用户在大表数据读写菜单上发起的数据读写请求时,负载均衡根据该数据读写请求的上下文路径进行路由寻址,把数据读写请求转发到查询从应用,由查询从应用向对应的数据库发送数据读写请求;
S2B、接收到用户在日常业务办理菜单上发起的数据读写请求时,负载均衡根据将该读写请求的上下文路径进行路由寻址,把数据读写请求转发到交易主应用,由交易主应用向对应的数据库发送数据读写请求。
2.根据权利要求1所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,所述数据读写请求包括数据读取请求、数据写入请求;
在S2A中,由查询从应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求时,查询从应用向数据从库发送数据读取请求;当数据读写请求为数据写入请求时,查询从应用向数据主库发送数据写入请求;
在S2B中,由交易主应用向对应的数据库发送数据读写请求的具体过程为:当数据读写请求为数据读取请求或数据写入请求时,交易主应用向数据主库发送数据读取请求或数据写入请求。
3.根据权利要求2所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,在S2A中,当查询从应用向数据从库发送数据读取请求后,查询从应用将读取到的数据在查询从应用层进行处理并返回。
4.根据权利要求2所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,在S2B中,当交易主应用向数据主库发送数据读取请求后,交易主应用将读取到的数据在交易主应用层进行处理并返回。
5.根据权利要求2所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,所述数据主库和数据从库之间通过Data Guard实现数据的实时同步。
6.根据权利要求1所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,所述大表数据读写菜单的上下文路径与日常业务办理菜单的上下文路径不一致,所述数据读写请求的上下文路径为大表数据读写菜单的上下文路径或日常业务办理菜单的上下文路径。
7.根据权利要求1所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,所述交易主应用通过token鉴权将用户在交易主应用上的用户登录信息共享并同步到查询从应用中。
8.根据权利要求2所述的一种基于交易查询应用层分离的数据读写方法,其特征在于,所述查询从应用对应的数据库包括数据主库和数据从库,当查询从应用的Service层接收到数据读写请求时,在执行dao层的Mapper方法前,Mybatis的***会判断被调用的Mapper方法的操作类型,根据操作类型将当前的数据源指向对应的数据主库或数据从库。
9.一种基于交易查询应用层分离的数据读写装置,其特征在于,包括:
处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,实现如权利要求1-8中任一项所述的一种基于交易查询应用层分离的数据读写方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的一种基于交易查询应用层分离的数据读写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311588512.XA CN117290385B (zh) | 2023-11-27 | 2023-11-27 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311588512.XA CN117290385B (zh) | 2023-11-27 | 2023-11-27 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290385A CN117290385A (zh) | 2023-12-26 |
CN117290385B true CN117290385B (zh) | 2024-01-19 |
Family
ID=89257541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311588512.XA Active CN117290385B (zh) | 2023-11-27 | 2023-11-27 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290385B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129434A (zh) * | 2010-01-13 | 2011-07-20 | 腾讯科技(北京)有限公司 | 读写分离数据库的方法及*** |
CN106021566A (zh) * | 2016-05-31 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种提高单台数据库并发处理能力的方法、装置及*** |
CN106156278A (zh) * | 2016-06-24 | 2016-11-23 | 努比亚技术有限公司 | 一种数据库数据读写方法和装置 |
CN110519296A (zh) * | 2019-09-17 | 2019-11-29 | 焦点科技股份有限公司 | 一种异构web***的单点登录与登出方法 |
CN111090527A (zh) * | 2019-12-28 | 2020-05-01 | 辽宁振兴银行股份有限公司 | 一种基于mysql router 的MGR 读写分离和负载均衡方法 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理***及业务处理方法 |
CN111427608A (zh) * | 2020-03-20 | 2020-07-17 | 重庆富民银行股份有限公司 | 用于银行核心***的灰度发布方法 |
CN116108090A (zh) * | 2022-11-09 | 2023-05-12 | 平安银行股份有限公司 | 在应用层进行数据库读写分离的方法、***及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150331557A1 (en) * | 2014-05-14 | 2015-11-19 | Microsoft Corporation | Selector to coordinate experiences between related applications |
-
2023
- 2023-11-27 CN CN202311588512.XA patent/CN117290385B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129434A (zh) * | 2010-01-13 | 2011-07-20 | 腾讯科技(北京)有限公司 | 读写分离数据库的方法及*** |
CN106021566A (zh) * | 2016-05-31 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种提高单台数据库并发处理能力的方法、装置及*** |
CN106156278A (zh) * | 2016-06-24 | 2016-11-23 | 努比亚技术有限公司 | 一种数据库数据读写方法和装置 |
CN110519296A (zh) * | 2019-09-17 | 2019-11-29 | 焦点科技股份有限公司 | 一种异构web***的单点登录与登出方法 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理***及业务处理方法 |
CN111090527A (zh) * | 2019-12-28 | 2020-05-01 | 辽宁振兴银行股份有限公司 | 一种基于mysql router 的MGR 读写分离和负载均衡方法 |
CN111427608A (zh) * | 2020-03-20 | 2020-07-17 | 重庆富民银行股份有限公司 | 用于银行核心***的灰度发布方法 |
CN116108090A (zh) * | 2022-11-09 | 2023-05-12 | 平安银行股份有限公司 | 在应用层进行数据库读写分离的方法、***及设备 |
Non-Patent Citations (3)
Title |
---|
Disaster Preparedness Backend Database to Read and Write Separation Technology Research;Hu Junjun 等;2020 2nd International Conference on Computer Communication and the Internet;88-92 * |
分布式架构在银行核心业务***的应用;金磐石;计算机***应用(第06期);32-35 * |
基于检测代理的应用级双机管理***;周禄华;计算机工程;第36卷(第09期);277-278 * |
Also Published As
Publication number | Publication date |
---|---|
CN117290385A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099918B (zh) | 容器化环境中的集群的实时迁移 | |
US20200358848A1 (en) | Methods, systems, and media for providing distributed database access during a network split | |
US10929428B1 (en) | Adaptive database replication for database copies | |
Adya et al. | Slicer:{Auto-Sharding} for datacenter applications | |
US7562110B2 (en) | File switch and switched file system | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
US11093468B1 (en) | Advanced metadata management | |
CA2512312C (en) | Metadata based file switch and switched file system | |
CN102411598B (zh) | 一种实现数据一致性的方法及其*** | |
CN102622427A (zh) | 读写分离数据库的方法及*** | |
WO2013184935A1 (en) | Data management and indexing across a distributed database | |
US10708379B1 (en) | Dynamic proxy for databases | |
CN110175089A (zh) | 一种具有读写分离功能的双活灾备*** | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和*** | |
US11947425B2 (en) | Storage volume snapshot object management | |
CN106547790B (zh) | 一种关系型数据库服务*** | |
CN113032356A (zh) | 一种客舱分布式文件存储***及实现方法 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
US20200401313A1 (en) | Object Storage System with Priority Meta Object Replication | |
CN117290385B (zh) | 基于交易查询应用层分离的数据读写方法、装置及介质 | |
US11609933B1 (en) | Atomic partition scheme updates to store items in partitions of a time series database | |
US11169728B2 (en) | Replication configuration for multiple heterogeneous data stores | |
US11507512B2 (en) | Fault tolerant cluster data handling | |
KR20050026306A (ko) | 비공유 구조의 데이터베이스 클러스터 서버 시스템과온라인 확장 방법 | |
CN112685486A (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data reading and writing method, device, and medium based on transaction query application layer separation Granted publication date: 20240119 Pledgee: Agricultural Bank of China Limited by Share Ltd. Chengdu high tech Industrial Development Zone Branch Pledgor: Chengdu Tianyong Weiqin Technology Co.,Ltd. Registration number: Y2024510000117 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |