一种数据读取方法、装置、系统及存储介质制造方法及图纸

技术编号:22021945 阅读:20 留言:0更新日期:2019-09-04 01:12
本发明专利技术公开了一种数据读取方法、装置、系统及存储介质,所述方法包括:主机向备机发送主机回滚段的信息;所述备机根据所述主机回滚段的信息构造出备机回滚段;在所述备机接收到事务的读取请求时,所述备机获取与所述事务相应的数据页,并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;所述备机根据所述读一致性快照对所述事务的数据进行读取。本发明专利技术使得主机和备机之间传输的数据量大幅减少;使得主机和共享存储系统之间传输的数据量有效减少,进而提高了主备系统的运行效率,为实现分布式事务提供了技术支撑;进一步加速了计算和存储分离的主备复制系统的整体运行速度。

A Data Reading Method, Device, System and Storage Media

【技术实现步骤摘要】
一种数据读取方法、装置、系统及存储介质
本专利技术涉及分布式系统
,尤其涉及一种数据读取方法、装置、系统及存储介质。
技术介绍
随着数据量越来越大,单机系统的事务处理能力,已经不能满足处理需要,这就需要分布式系统来分担计算需求。其中,分布式系统的事务特性需要满足ACID四个特性:A是原子性,C是一致性,I是隔离性,D是持久性。A保证了操作(一些有完整逻辑意义的数据读写动作)要么成功要么失败;A和C保证了数据不会因写操作发生不一致;I保证了在多会话并发读写同一份数据的情况下数据的完全一致(或数据可能不一致但尚可接受);D保证了被修改的数据能长久地存储。其中,电子交易类等业务操作环境如电信系统、银行系统等都需要ACID四个特性来保证交易的安全可靠;尤其地对事务数据的一致性要求很高,所以在系统使用过程中都需要检查其主机和备机的数据是否严格一致,以确保切换后应用业务的持续性或验证数据库系统自身的正确性。典型地多使用一主多备系统做高可靠保障,为了提高系统的利用率,备机常对外提供只读服务。但是,由于网络、硬件和软件平台等复杂环境的不确定性,以及数据库系统本身的缺陷,应用过程中会出现备机读取的数据不一致,致使系统失去高可用性的问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种数据读取方法、装置、系统及存储介质,具体地:第一方面提供了一种数据读取方法,包括:主机向备机发送主机回滚段的信息;所述备机根据所述主机回滚段的信息构造出备机回滚段;在所述备机接收到事务的读取请求时,所述备机获取与所述事务相应的数据页,并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;所述备机根据所述读一致性快照对所述事务的数据进行读取。第二方面提供了另一种数据读取方法,包括:接收主机发送的主机回滚段的信息,根据所述主机回滚段的信息构造出相应的备机回滚段;在接收到事务的读取请求时,获取与所述事务相应的数据页;并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;根据所述读一致性快照对所述事务的数据进行读取。第三方面提供了另一种数据读取方法,包括:接收主机发送的重做日志;根据所述重做日志构造出数据页,并将所述数据页存储在共享缓存中;在备机接收到事务的读取请求,且备机的数据缓存区不存在与所述事务相应的数据页时,则使所述备机从本地的共享缓存中获取所述数据页;并使所述备机根据所述数据页的信息,以及从主机接收的主机回滚段的信息得到的备机回滚段,生成读一致性快照;使所述备机根据所述读一致性快照对所述事务的数据进行读取。第四方面提供了一种数据读取装置,所述装置包括:备机回滚段构造模块,用于接收主机发送的主机回滚段的信息,根据所述主机回滚段的信息构造出相应的备机回滚段;快照构造模块,用于在接收到事务的读取请求时,获取与所述事务相应的数据页;并根据所述回滚段信息和所述数据页的信息构造出快照;数据读取模块,用于根据所述快照对所述事务的数据进行读取,保障备机与主机读取数据的一致性。所述快照构造模块包括:第一数据页获取单元,用于在本地的数据缓存区存在与所述事务相应的数据页时,则从所述数据缓存区获取所述数据页;第二数据页获取单元,用于在本地的数据缓存区不存在与所述事务相应的数据页时,则从共享存储系统获取所述数据页;所述共享存储系统中的数据页由所述共享存储系统对来自主机的重做日志进行重构得到。第五方面提供了另一种数据读取装置,包括:重做日志接收模块,用于接收主机发送的重做日志;数据页构造模块,用于根据所述重做日志构造出数据页,并将所述数据页存储在共享缓存中;在备机接收到事务的读取请求,且备机的数据缓存区不存在与所述事务相应的数据页时,则使所述备机从本地的共享缓存中获取所述数据页;并使所述备机根据所述数据页的信息,以及从主机接收的主机回滚段的信息得到的备机回滚段,生成读一致性快照;使所述备机根据所述读一致性快照对所述事务的数据进行读取。第六方面提供了一种数据读取系统,包括上层的主备系统和下层的共享存储系统;所述主备系统包括主机和备机;所述备机配置有第四方面所述的数据读取装置,所述共享存储系统配置有第五方面所述的数据读取装置。第七方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第二方面所述的数据读取方法,或者第三方面所述的数据读取方法。本专利技术提供的数据读取方法、装置、系统及存储介质,具有如下的有益效果:本专利技术备机中的回滚段信息源自主机发给备机的回滚段信息,使得主机和备机之间传输的数据量大幅减少;本专利技术的共享存储系统接收的是去掉了发给备机的回滚段信息的事务日志,使得主机和共享存储系统之间传输的数据量有效减少。本专利技术通过基于回滚段信息的单独传输,使得主备复制系统间备机只读事务的正确性,进而保证了数据的读一致性。并且因主机发送给备机的数据量减少,在备机应用的数据量减少,进而提高了主备系统的运行效率,为实现分布式事务提供了技术支撑。并且,本专利技术通过为用户提供极低延迟的备机读一致性,提升了主备系统间数据的传输速度;依据数据处理中主备系统的数据正确性和性能优化,进一步加速了计算和存储分离的主备复制系统的整体运行速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本专利技术提供的一种用于保障数据读取一致性的结构示意图;图2是本专利技术实施例提供的一种数据读取方法流程图;图3是本专利技术实施例提供的一种数据读取方法中获取数据页的方法流程图;图4是本专利技术实施例提供的一种数据读取方法中构造数据页的方法流程图;图5是本专利技术实施例提供的另一种数据读取方法流程图;图6是本专利技术实施例提供的另一种数据读取方法流程图;图7是本专利技术实施例提供的另一种数据读取方法流程图;图8是本专利技术实施例提供的一种数据读取装置框图;图9是本专利技术实施例提供的另一种数据读取装置框图;图10是本专利技术实施例提供的另一种数据读取装置框图;图11是本专利技术实施例提供的另一种数据读取系统整体框图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本文档来自技高网...

【技术保护点】
1.一种数据读取方法,其特征在于,所述方法包括:主机向备机发送主机回滚段的信息;所述备机根据所述主机回滚段的信息构造出备机回滚段;在所述备机接收到事务的读取请求时,所述备机获取与所述事务相应的数据页,并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;所述备机根据所述读一致性快照对所述事务的数据进行读取。

【技术特征摘要】
1.一种数据读取方法,其特征在于,所述方法包括:主机向备机发送主机回滚段的信息;所述备机根据所述主机回滚段的信息构造出备机回滚段;在所述备机接收到事务的读取请求时,所述备机获取与所述事务相应的数据页,并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;所述备机根据所述读一致性快照对所述事务的数据进行读取。2.根据权利要求1所述的数据读取方法,其特征在于,所述备机获取与所述事务相应的数据页,包括:在备机的数据缓存区存在与所述事务相应的数据页时,则从所述数据缓存区获取所述数据页。3.根据权利要求2所述的数据读取方法,其特征在于,所述备机获取与所述事务相应的数据页,包括:在备机的数据缓存区不存在与所述事务相应的数据页时,则从共享存储系统获取所述数据页;所述共享存储系统中的数据页由所述共享存储系统对来自主机的重做日志进行重构得到。4.根据权利要求1所述的数据读取方法,其特征在于,所述数据页的信息包括所述主机上正在更改的事务或更改完成的事务的数据;所述主机回滚段的信息包括所述主机上正在更改的事务在更改前的数据副本;所述正在更改的事务包括更新操作的事务和删除操作的事务。5.一种数据读取方法,其特征在于,所述方法包括:接收主机发送的主机回滚段的信息,根据所述主机回滚段的信息构造出备机回滚段;在接收到事务的读取请求时,获取与所述事务相应的数据页;并根据所述备机回滚段的信息和所述数据页的信息生成读一致性快照;根据所述读一致性快照对所述事务的数据进行读取。6.根据权利要求5所述的数据读取方法,其特征在于,所述获取与所述事务相应的数据页包括:在本地的数据缓存区存在与所述事务相应的数据页时,则从所述数据缓存区获取所述数据页。7.根据权利要求5所述的数据读取方法,其特征在于,所述获取与所述事务相应的数据页包括:在本地的数据缓存区不存在与所述事务相应的数据页时,则从共享存储系统获取所述数据页;所述共享存储系统中的数据页由所述共享存储系统对来自主机的重做...

【专利技术属性】
技术研发人员:李海翔
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1