计算机实现数据读写分离的系统和方法技术方案

技术编号:32673313 阅读:19 留言:0更新日期:2022-03-17 11:28
本发明专利技术公开了一种计算机实现数据读写分离的系统和方法,所述系统包括在数据交互层设置多个数据库读操作层和数据库写操作层,同时在数据库层中设置多个读数据库和写数据库,通过SpringBoot框架对数据交互层和数据库层中的数据库读操作层、数据库写操作层与读数据库和写数据库中建立映射关系,使读写操作分别按照不同的数据链路和进程独立实现读和写操作,从而克服现有技术中随着前段请求数量级增加而导致系统运行速度变慢,用户体验变差,用户流失以及出现设计到应用系统管理功能的各种问题。问题。问题。

【技术实现步骤摘要】
计算机实现数据读写分离的系统和方法


[0001]本专利技术涉及到计算机应用后台开发
,尤其涉及到计算机实现数据读写分离的系统和方法。

技术介绍

[0002]在目前的计算机应用后台开发领域中,SpringBoot以轻量级,内嵌容器,灵活的可配置性成为了最主流的应用开发框架之一。而数据库领域中,开源数据库在中低端应用中逐渐流行起来,占据了很大的市场份额。开源数据库具有免费使用、配置简单、稳定性好、性能优良等特点,而MySQL数据库正是开源数据库中的杰出代表。是以基于SpringBoot框架和MySQL数据库进行搭建的后台是目前最普遍应用到的计算机后台架构之一。
[0003]以SpringBoot和MySQL实现的计算机应用后台实现流程为,请求端往SpringBoot后台(服务端)发送请求数据,后台接收到请求数据后,进行解析,然后根据程序设计和业务逻辑,执行相应的数据操作,并将操作结果返回给前端用于显示或进行通知。本质上是通过服务器作为介质实现前端与数据库进行数据交互。
[0004]而目前的大部分计算机后台是以一个服务端,连接一台数据库的形式实现的。但是很多前端请求发送到服务端后,并不是直接就进行数据库读写操作,然后返回结果。往往服务端需要将前端发送的请求数据进行进一步解析;根据前端需要得到的反馈数据,将数据库读写任务进行进一步的细分;同时为了避免执行多请求执行数据库读写任务引起数据混乱等问题;服务端会将需要执行的读写任务分解组成事务,实现在数据库不脏读,幻读的情况下,正确的执行前端所需操作,并返回正确的结果。MySQL数据库主要以锁的形式来配合事务执行,并保证数据的一致性和正确性。随着应用系统的使用人数增加,数据库保存数据的增加;前端发送的请求增多,服务端需要调用数据库执行更多的读写任务,数据库因为数据量增加,读写操作也会相对的消耗更多时间。长此以往就会导致系统运行速度变慢,用户体验变差,用户流失以及出现设计到应用系统管理功能的各种问题。并且在单一数据库的情况下,一旦数据库异常,系统将无法使用,直到异常解决为止。

技术实现思路

[0005]本专利技术的目的在于提供一种计算机实现数据读写分离的系统和方法,其目的在于解决现有技术中前端向服务器端发送数据以一个单一数据库连接方式的情况下,导致系统运行速度变慢,用户体验变差,用户流失以及出现设计到应用系统管理功能的各种问题。
[0006]本专利技术公开的计算机实现数据读写分离的系统包括应用后台,所述应用后台用于读写分离的实现数据操作,所述应用后台包括:
[0007]请求前端,所述请求前端用于向后端发送数据库操作请求;
[0008]交互层,所述交互层用于接收所述请求前端数据或者从后端向所述请求前端反馈数据结果;
[0009]业务层,所述业务层用于接收所述交互层的前端数据和请求,并分解所述请求形
成请求信息,划分具体的数据库操作步骤,发送操作指令、前端数据和所述请求信息;
[0010]数据库,所述数据库包括数据交互层和数据库层,所述数据库交互层对数据库内数据进行读写操作,所述数据库层用于储存所述数据库交互层读写操作后的最终数据记录;
[0011]所述数据交互层包括至少一个数据库写操作层和数据库读操作层,所述数据库写操作层用于对数据库内部及所述业务层发送来的前端数据进行独立的写操作,所述数据库读操作层用于对所述数据库层内的数据进行读操作;
[0012]所述数据库层内划分有至少三个子数据库,分别为写数据库、主数据库和读数据库;所述写数据库和所述主数据库互为主从关系,均用于对各自内部的数据内容进行写操作,并在写操作后同步数据;所述读数据库与所述主数据库数据连接,所述读数据库用于读取所述主数据库的内部数据,从而实现独立的读操作。
[0013]本专利技术公开的计算机实现数据读写分离的方法包括:
[0014]步骤S1:配置应用后台,所述数据后台包括数据交互层和数据库层;在数据交互层中设置至少一个数据库写操作层和至少一个数据库读操作层,在数据库层中建立并设置至少三个子数据库,分别为写数据库、主数据库和读数据库;建立写数据库和主数据库的主从关系,使所述写数据库和主数据库用于进行数据写操作并同步写操作后的数据,使所述读数据库用于读取所述主数据库中的数据;
[0015]步骤S2:接收请求端数据请求;
[0016]步骤S3:划分数据库操作步骤,并分配独立的数据库读操作层和数据库写操作层,使得所述数据库读操作层和多个所述读数据库之间建立映射,使得所述数据库写操作层与多个所述写数据库中间建立映射;所述写数据库和所述读数据库根据建立的映射关系实现数据链路分配和计算;
[0017]步骤S4:所述数据交互层与所述数据库层根据分配的数据链路分别独立的进行读操作和写操作,并在写操作后在写数据库和主数据库之间同步数据;
[0018]步骤S5:数据交互层接收多次数据库的读写请求后,分别通过预设且不同的数据链路进行独立的写操作和读操作,并反馈读操作结果。
[0019]本专利技术还可以在另一方面提高系统的稳定性,利用多数据源(即多写数据库、多读数据库)的冗余特点,当有一个数据库出现异常时,可以及时修改SpringBoot配置信息将出现异常的数据源切换为另外无异常的数据源,快速解决应用系统问题,等数据库异常解决后再恢复数据源;
[0020]根据以上实施例的技术方案,前端请求,在服务端中被解析,拆分成不同的读写任务,然后根据任务类型请求到不同的数据库中,降低了每个数据库在同一时间处理请求的任务数量;并且分离读写操作也极大程度缓解了MySQL数据库X锁(排它锁)和S锁(共享锁)争用;极大程度的提高了数据库运行效率,从而提升应用系统的运行效率;同时,因为存在主从数据库,也可快速解决由一个数据源异常引起的系统错误等问题,提高稳定性。
附图说明
[0021]图1是本专利技术计算机实现数据读写分离的系统的模块示意图;
[0022]图2为本专利技术实施例提供的与前端进行完整信息交互的流程图;
[0023]图3为本专利技术实施例数据库异常时快速解决示意图。
具体实施方式
[0024]下面结合具体实施例和说明书附图对本专利技术做进一步阐述和说明:
[0025]如图1所示,本专利技术公开的计算机实现数据读写分离的系统包括应用后台,所述应用后台包括:
[0026]请求前端,所述请求前端用于向后端发送数据库操作请求;
[0027]交互层,所述交互层用于接收所述请求前端数据或者从后端向所述请求前端反馈数据结果;
[0028]业务层,所述业务层用于接收所述交互层的前端数据和请求,并分解所述请求形成请求信息,划分具体的数据库操作步骤,发送操作指令、前端数据和所述请求信息;
[0029]数据库,所述数据库包括数据交互层和数据库层,所述数据库交互层对数据库内数据进行读写操作,所述数据库层用于储存所述数据库交互层读写操作后的最终数据记录;
[0030]所述数据交互层包括至少一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实现数据读写分离的系统,其特征在于,所述系统包括应用后台,所述应用后台用于读写分离的实现数据操作,所述应用后台包括:请求前端,所述请求前端用于向后端发送数据库操作请求;交互层,所述交互层用于接收所述请求前端数据或者从后端向所述请求前端反馈数据结果;业务层,所述业务层用于接收所述交互层的前端数据和请求,并分解所述请求形成请求信息,划分具体的数据库操作步骤,发送操作指令、前端数据和所述请求信息;数据库,所述数据库包括数据交互层和数据库层,所述数据库交互层对数据库内数据进行读写操作,所述数据库层用于储存所述数据库交互层读写操作后的最终数据记录;所述数据交互层包括至少一个数据库写操作层和数据库读操作层,所述数据库写操作层用于对数据库内部及所述业务层发送来的前端数据进行独立的写操作,所述数据库读操作层用于对所述数据库层内的数据进行读操作;所述数据库层内划分有至少三个子数据库,分别为写数据库、主数据库和读数据库;所述写数据库和所述主数据库互为主从关系,均用于对各自内部的数据内容进行写操作,并在写操作后同步数据;所述读数据库与所述主数据库数据连接,所述读数据库用于读取所述主数据库的内部数据,从而实现独立的读操作。2.如权利要求1所述的计算机实现数据读写分离的系统,其特征在于,所述数据库交互层内包括数据库写操作层和至少一个数据库读操作层,所述数据库读操作层与所述读数据库之间建立映像连接关系,并彼此通信。3.如权利要求3所述的计算机实现数据读写分离的系统,其特征在于,所述数据读操作层具有多个,所述读数据库具有多个,所述数据读操作层与所述读数据库之间的映射关系包括一一映射和多对一映射。4.如权利要求4所述的计算机实现数据读写分离的系统,其特征在于,所述写数据库具有多个,多个所述写数据库与所述主数据库互为主从关系,均用于对各自内部的数据内容进行写操作,并在写操作后同步数据。5.如权利要求4所述的计算机实现数据读写分离的系统,其特征在于,至少一个所述读数据库异常时,多个所述数据库读操作层自动规避异常的所述读数据库,并向其他所述读数据库发送读数据请求,获得所述数据库层中的数据。6.如权利要求...

【专利技术属性】
技术研发人员:吴振兴陈智敏吕春辉安欣赏
申请(专利权)人:深圳会看科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1