基于共享磁盘的数据库更新处理方法及系统的制作方法

文档序号:9597684阅读:563来源:国知局
基于共享磁盘的数据库更新处理方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及基于共享磁盘的数据库更新处理方法及系统。
【背景技术】
[0002]近年来,随着互联网的快速发展,很多大型公司的规模都在急剧增加,用户越来越多,数据量和访问量也越来越大,对数据库的要求也越来越高。处理此类增长有两种方案:纵向扩展(scale up)及横向扩展(scale out)。如果要纵向扩展,那么就需要性能更强大的计算机,要购买更多的处理器、磁盘存储空间及内存。但是机器的性能越强,其成本也越高,而且扩展尺度也有限。另一种方案是:采用由多个小型计算机组成的集群。集群中的PC由于其性价比高,扩展成本低,所以比较容易接受。
[0003]目前,数据库集群方案中,分片太过复杂,维护成本太高,应用场景有限。mysql数据库应用最广的集群方式就是读写分离。然而,读写分离,需要在主机和备机上均设置用于储存mysql数据库的磁盘,因此,导致设备成本较高。

【发明内容】

[0004]本发明的主要目的在于提供一种基于共享磁盘的数据库更新处理方法及系统,旨在降低设备成本。
[0005]为实现上述目的,本发明提供的一种基于共享磁盘的数据库更新处理方法包括以下步骤:
[0006]主机接收到写事务请求时,读取共享磁盘中对应的数据页,并储存到主机缓存中;
[0007]主机根据所述写事务请求同步发送同步请求至备机;
[0008]所述备机根据所述同步请求读取共享磁盘中对应的数据页,并储存到备机缓存中;
[0009]所述备机根据所述同步请求对所述备机缓存中的数据页进行更新,并发送响应消息至所述主机;
[0010]所述主机根据所述响应消息和所述写事务请求对主机缓存中的数据页进行更新;
[0011]所述主机将主机缓存中更新后的数据页写入至所述共享磁盘中。
[0012]优选地,所述主机根据所述写事务请求同步发送同步请求至备机包括:
[0013]统计主机根据所述写事务请求对数据页中修改的数据内容和修改数据内容对应行的主键,以形成写入集合;
[0014]根据所述写入集合生成同步请求发送至备机。
[0015]优选地,所述备机根据所述同步请求对所述备机缓存中的数据页进行更新,并发送响应消息至所述主机包括:
[0016]所述备机根据所述同步请求对所述写入集合中的主键进行认证测试,以判断所述写入集合是否能写入到所述备机缓存中;
[0017]若是,所述备机将所述写入集合写入到备机缓存中,以更新所述备机缓存中的数据页;并生成认证成功响应消息发送至主机,以触发所述主机根据所述响应消息和所述写事务请求对主机缓存中的数据页进行更新;
[0018]若否,则所述备机生成认证失败消息发送至主机。
[0019]优选地,所述基于共享磁盘的数据库更新处理方法还包括:
[0020]所述备机进行备机缓存中数据页丢弃时,判断当前丢弃的数据页与所述共享磁盘对应的数据页是否一致;若一致,则将当前丢弃的数据页进行丢弃处理;若不一致,则将当前丢弃的数据页保存。
[0021]优选地,所述基于共享磁盘的数据库更新处理方法还包括:
[0022]所述备机接收预设的代理服务器发送的读事务请求;
[0023]所述备机根据所述读事务请求将缓存中对应的数据页发送至代理服务器,以供代理服务器将所述数据输出至客户端进行显示。
[0024]此外,为实现上述目的,本发明还提供一种基于共享磁盘的数据库更新处理系统包括主机和备机,其中:
[0025]所述主机用于接收到写事务请求时,读取共享磁盘中对应的数据页,并储存到主机缓存中;根据所述写事务请求同步发送同步请求至备机;
[0026]所述备机用于,根据所述同步请求读取共享磁盘中对应的数据页,并储存到备机缓存中;根据所述同步请求对所述备机缓存中的数据页进行更新,并发送响应消息至所述主机;
[0027]所述主机还用于,根据所述响应消息和所述写事务请求对主机缓存中的数据页进行更新;将主机缓存中更新后的数据页写入至所述共享磁盘中。
[0028]优选地,所述主机具体用于:统计主机根据所述写事务请求对数据页中修改的数据内容和修改数据内容对应行的主键,以形成写入集合;根据所述写入集合生成同步请求发送至备机。
[0029]优选地,所述备机具体用于,根据所述同步请求对所述写入集合中的主键进行认证测试,以判断所述写入集合是否能写入到所述备机缓存中;若是,所述备机将所述写入集合写入到备机缓存中,以更新所述备机缓存中的数据页;并生成认证成功响应消息发送至主机,以触发所述主机根据所述响应消息和所述写事务请求对主机缓存中的数据页进行更新;若否,所述备机生成认证失败消息发送至主机。
[0030]优选地,所述基于共享磁盘的数据库更新处理系统还包括:
[0031]所述备机还用于,进行备机缓存中数据页丢弃时,判断当前丢弃的数据页与所述共享磁盘对应的数据页是否一致;若一致,则将当前丢弃的数据页进行丢弃处理;若不一致,则将当前丢弃的数据页保存。
[0032]优选地,所述备机还用于,接收预设的代理服务器发送的读事务请求;根据所述读事务请求将缓存中对应的数据页发送至代理服务器,以供代理服务器将所述数据输出至客户端进行显示。
[0033]本发明实施例通过在主机接收到写事务请求时,读取共享磁盘中对应的数据页,并储存到主机缓存中;主机根据所述写事务请求同步发送同步请求至备机;所述备机根据所述同步请求读取共享磁盘中对应的数据页,并储存到备机缓存中;所述备机根据所述同步请求对所述备机缓存中的数据页进行更新,并发送响应消息至所述主机;所述主机根据所述响应消息和所述写事务请求对主机缓存中的数据页进行更新;所述主机将主机缓存中更新后的数据页写入至所述共享磁盘中。由于只采用一个共享磁盘对数据库进行储存,因此降低了设备成本。此外由于主机在将同步请求发送至备机,并在接收到备机的相应响应操作后,才对主机缓存中的数据页进行更新,从而保证了主机缓存的数据页与备机缓存的数据页内容的一致性,缩短了主机和备机之间的数据更新延时的时间。
【附图说明】
[0034]图1为本发明基于共享磁盘的数据库更新处理方法一实施例的流程示意图;
[0035]图2为本发明基于共享磁盘的数据库更新处理方法一实施例中发送同步请求的细化流程示意图;
[0036]图3为本发明基于共享磁盘的数据库更新处理方法一实施例中备机更新缓存数据页的细化流程示意图;
[0037]图4为本发明基于共享磁盘的数据
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1