[发明专利]一种高并发情况下保持数据库一致的方法及系统在审
| 申请号: | 202110036480.7 | 申请日: | 2021-01-12 |
| 公开(公告)号: | CN112732737A | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 于慧 | 申请(专利权)人: | 于慧 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455;G06F16/2457;G06F16/27 |
| 代理公司: | 郑州意创知识产权代理事务所(特殊普通合伙) 41138 | 代理人: | 张江森;侯喜立 |
| 地址: | 450000 河南省郑州*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并发 情况 保持 数据库 一致 方法 系统 | ||
1.一种高并发情况下保持数据库一致的方法,应用于主从数据库架构中,其特征在于,所述方法包括以下步骤:
计算单位时间内向主数据库请求写入的请求数,若大于第一阈值,则触发数据库写请求缓存系统,将来自Web服务器的所有的数据库写请求转发到所述数据库写请求缓存系统,所述数据库写请求缓存系统将数据库写请求缓存到队列中;
主从数据库分别从所述队列中读取写请求,并将数据写入到对应数据库中,并且主数据库不将所述写请求的操作事件记录到binlog中,只有主从数据库都写入成功,才将对应的写请求从队列中删除;
当所述请求数在一段时间内都不大于第一阈值时,则将数据库写请求直接发送给主数据库,并将写请求的操作事件记录到binlog中。
2.如权利要求1所述的方法,其特征在于,所述数据库写请求缓存系统设置在一个单独的服务器,其位于Web服务器和主从数据库服务器之间。
3.如权利要求1所述的方法,其特征在于,所述数据库写请求缓存系统还用于,当主从数据库将写请求成功写入数据库后,分别向所述数据库写请求缓存系统发送写成功消息,所述写成功消息包括写请求在队列中的序号,所述数据库写请求缓存系统在接收到主从数据库分别发送的所述写成功消息时,根据所述序号将写请求从队列中删除。
4.如权利要求3所述的方法,其特征在于,所述数据库写请求缓存系统还包括第二队列和第三队列,所述第二队列用于存储向主数据库写入失败的请求,所述第三队列用于存储向从数据库写入失败的请求,若一个写请求同时位于第二队列和第三队列,则直接向Web服务器发送写失败消息;若数据库写请求存在于第二队列,而在第三队列中不存在,则在主数据库中回滚该数据库写请求,并向Web服务器发送写失败消息;若数据库写请求存在于第三队列,而在第二队列中不存在,则在从数据库中回滚该数据库写请求。
5.一种高并发情况下保持数据库一致的系统,应用于主从数据库架构中,其特征在于,所述系统包括以下模块:
监控模块,用于计算单位时间内向主数据库请求写入的请求数,若大于第一阈值,则触发数据库写请求缓存系统,将来自Web服务器的所有的数据库写请求转发到所述数据库写请求缓存系统,所述数据库写请求缓存系统将数据库写请求缓存到队列中;
读取模块,主从数据库分别从所述队列中读取写请求,并将数据写入到对应数据库中,并且主数据库不将所述写请求的操作事件记录到binlog中,只有主从数据库都写入成功,才将对应的写请求从队列中删除;
所述监控模块,还用于当所述请求数在一段时间内都不大于第一阈值时,则将数据库写请求直接发送给主数据库,并将写请求的操作事件记录到binlog中。
6.如权利要求5所述的系统,其特征在于,所述数据库写请求缓存系统设置在一个单独的服务器,其位于Web服务器和主从数据库服务器之间。
7.如权利要求5所述的系统,其特征在于,所述数据库写请求缓存系统还用于,当主从数据库将写请求成功写入数据库后,分别向所述数据库写请求缓存系统发送写成功消息,所述写成功消息包括写请求在队列中的序号,所述数据库写请求缓存系统在接收到主从数据库分别发送的所述写成功消息时,根据所述序号将写请求从队列中删除。
8.如权利要求7所述的方法,其特征在于,所述数据库写请求缓存系统还包括第二队列和第三队列,所述第二队列用于存储向主数据库写入失败的请求,所述第三队列用于存储向从数据库写入失败的请求,若一个写请求同时位于第二队列和第三队列,则直接向Web服务器发送写失败消息;若数据库写请求存在于第二队列,而在第三队列中不存在,则在主数据库中回滚该数据库写请求,并向Web服务器发送写失败消息;若数据库写请求存在于第三队列,而在第二队列中不存在,则在从数据库中回滚该数据库写请求。
9.一种计算机可读存储介质,用于存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-4中任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-4中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于慧,未经于慧许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110036480.7/1.html,转载请声明来源钻瓜专利网。





