实时事务一致的变更通知制造技术

技术编号:34007543 阅读:57 留言:0更新日期:2022-07-02 13:46
本发明专利技术涉及实时事务一致的变更通知。一种方法包括执行用于分布式系统(200)的变更日志进程(500)的初始实例(310),所述变更日志进程的每个实例被配置成存储在所述分布式系统上执行的事务(204、214)的事务历史(132)。所述方法也包括接收用于执行对应事务的事务请求(138)并且基于所接收到的事务请求(322)确定变更日志负载。所述方法包括当所述变更日志负载满足阈值负载时执行所述变更日志进程的至少一个后续实例。当所述变更日志进程的多个实例正在执行时,所述方法包括停止所述变更日志进程的至少一个后续实例的执行并且合并所述变更日志进程的初始实例的事务历史和所述变更日志进程的至少一个后续实例的事务历史。更日志进程的至少一个后续实例的事务历史。更日志进程的至少一个后续实例的事务历史。

【技术实现步骤摘要】
实时事务一致的变更通知
[0001]分案说明
[0002]本申请属于申请日为2017年4月27日的中国专利技术专利申请201780011478.6的分案申请。


[0003]本公开涉及在分布式系统内向一个或多个监视器提供针对监视器订阅的数据的一致变更通知。

技术介绍

[0004]分布式存储系统覆盖一个或多个存储器位置地将数据存储在存储器硬件上的数据存储内。监视器可以发出常备查询以订阅存储在分布式系统上的各条特定数据并且在订阅数据经历突变时的任何时候接收变更通知。例如,写入器可以执行写入事务以修改/突变存储在分布式系统上的各条特定数据并且在数据被修改时订阅数据的监视器得到通知。然而,当同时地发生多个变更/写入时,对分布式系统的需求增加,导致分布式系统过度运行而无法实时地流式传输变更通知。已知在高需求的时段期间完全放弃订阅以减轻分布式系统上的负载。由于这个原因,一些系统被设计得不保证按顺序递送并且通常排序被留给客户端。然而,这导致订阅监视器接收到分布式数据的不一致快照。此外,已知使用变更日志来将每个事务记录到存储在分布式系统上的数据。这些变更日志记录对数据存储做出的每一变更,并且当在数据存储上发生读取事务时,变更日志充当用于给定快照的所有数据的开/关检查点。

技术实现思路

[0005]在分布式系统上采用持久变更日志一般地要求每隔一段时间将变更日志截断到单个机器上,从而在事务等待执行时导致瓶颈效应。因此,持久变更日志由于其在对分布式系统的高需求的时段期间的固有可扩展性限制而否定由分布式系统提供的分布式功能性。本公开的一个方面提供用于创建事务一致的变更通知的方法。所述方法包括:由数据处理硬件执行用于分布式系统的变更日志进程的初始实例;在数据处理硬件处接收用于在分布式系统上执行对应事务的事务请求;以及由数据处理硬件基于所接收到的事务请求确定变更日志负载。变更日志进程的每个实例被配置成在与数据处理硬件通信的存储器硬件上存储在分布式系统上执行的事务的事务历史。当变更日志负载满足阈值负载时,所述方法包括由数据处理硬件执行变更日志进程的至少一个后续实例。所述方法还包括由数据处理硬件确定变更日志进程的多个实例是否正在执行。当变更日志进程的多个实例正在执行时,所述方法包括由数据处理硬件停止变更日志进程的至少一个后续实例的执行并且由数据处理硬件合并变更日志进程的初始实例的事务历史和变更日志进程的至少一个后续实例的事务历史。
[0006]本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,
所述方法包括将每个事务历史存储在存储器硬件的变更日志缓存中。存储每个事务历史可以包括:由数据处理硬件将事务历史切分成数据条带;复制每个数据条带;将数据条带和已复制的数据条带存储在存储器硬件的多个存储位置处。当在执行变更日志进程的至少一个后续实例之后变更日志负载不满足阈值负载时,所述方法可以包括由数据处理硬件停止变更日志进程的至少一个后续实例的执行,以及由数据处理硬件合并变更日志进程的初始实例的事务历史和变更日志进程的至少一个后续实例的事务历史。
[0007]响应于接收到每个事务请求,所述方法可以包括:由数据处理硬件获得真实时间;由数据处理硬件基于真实时间确定最大提交时间;以及将最大提交时间从数据处理硬件传递到存储器硬件的至少一个变更日志缓存。最大提交时间可以指定用于完成对应事务在分布式系统上的执行的最大时间。
[0008]在一些示例中,至少一个变更日志缓存设置从真实时间起直到最大提交时间为止的通知锁。通知锁可以防止所对应的变更日志缓存为具有早于最大提交时间的对应提交时间的完成的事务而通知一个或多个订阅监视器。至少一个变更日志缓存可以在最大提交时间结束时移除通知锁。所移除的通知锁可以允许所对应的日志缓存为具有早于最大提交时间的对应提交时间的每个完成的事务而通知一个或多个订阅监视器。在传递最大提交时间之后,所述方法可以包括由数据处理硬件提交对应事务在分布式系统上的执行。这里,事务包括最大提交时间。此后,所述方法也可以包括:由数据处理硬件获得指示当对应事务包括在最大提交时间或之前的相应的提交时间时对应事务在分布式系统上的执行被接受的事务结果;以及将事务结果从数据处理硬件传递到至少一个变更日志缓存。
[0009]在一些示例中,所接收到的事务结果使至少一个变更日志缓存记录与对应事务相关联的至少一个突变。至少一个变更日志缓存可以将所记录的突变传递到在数据处理硬件上执行的一个或多个监视器代理。每个监视器代理可以被配置成向对应事务的相应的订阅监视器提供通知。通知可以包括所记录的突变并且可选地包括事务历史的一致快照。这里,通知中的一致快照包括对应事务以及具有早于对应事务的提交时间的对应提交时间的任何完成的事务。
[0010]在一些实施方式中,在传递最大提交时间之后,所述方法包括由数据处理硬件提交对应事务在分布式系统上的执行。这里,事务包括最大提交时间。此后,所述方法可以包括:由数据处理硬件获得指示当对应事务未能在最大提交时间或之前提交时对应事务在分布式系统上的执行被拒绝的事务结果;以及将事务结果从数据处理硬件传递到至少一个变更日志缓存。在一些示例中,所接收到的事务结果使至少一个变更日志缓存在当事务进程将最大提交时间传递到至少一个变更日志缓存时的真实时间与最大提交时间之间在事务历史中创建间隙。
[0011]在一些示例中,至少一个变更日志缓存将事务历史中的间隙传递到在数据处理硬件上执行的一个或多个监视器代理。每个监视器代理可以被配置成在最大提交时间结束时向对应事务的相应的订阅监视器提供通知,通知包括在事务历史中的间隙期间的缓存未命中(miss)。
[0012]所述方法也可以包括由数据处理硬件确定在离线事件之后重新启动变更日志进程,以及于在数据处理硬件上执行的变更日志进程处获得真实时间。所述方法也可以包括:由数据处理硬件在变更日志进程重新启动时基于真实时间确定当前序号;以及由数据处理
硬件在更新在分布式系统上执行的任何事务的事务历史之前从当前序号起等待全局最大提交时间延迟。在变更日志进程的重新启动之前在分布式系统上执行的事务可以在全局最大提交时间延迟内完成。所述方法也可以包括将经合并的事务历史发送到一个或多个订阅监视器。每个订阅监视器可以针对存储在存储器硬件上的数据的变更具有常备查询。
[0013]本公开的另一方面提供用于创建事务一致的变更通知的系统。所述系统包括分布式系统的数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,所述指令当在数据处理硬件上执行时使数据处理硬件执行操作。操作包括:执行用于分布式系统的变更日志进程的初始实例;接收用于在分布式系统上执行对应事务的事务请求;以及基于所接收到的事务请求确定变更日志负载。变更日志进程的每个实例被配置成在存储器硬件上存储在分布式系统上执行的事务的事务历史。当变更日志负载满足阈值负载时,系统包括执行变更日志进程的至少一个后续实例并且确定变更日志进程的多个实例是否正在执行。当变更日志进程的多个实例正在执行时,系统包括停止变更日志进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:在数据处理硬件处接收来自用户的请求以对分布式存储系统内的数据监视数据事件;由所述数据处理硬件识别所述请求寻求接收针对在所述分布式存储系统处发生的相应数据事件的通知;由所述数据处理硬件确定所述相应数据事件的定时,所述定时与所述分布式存储系统上的事务负载满足降级阈值时的时间一致,所述降级阈值指示其中所述事务负载使缓存性能降级的状态;基于所述相应数据事件的定时,由所述数据处理硬件生成新的事件日志文件以存储所述相应数据事件的记录,而不是在预先存在的事件日志文件中存储所述相应数据事件的记录;由所述数据处理硬件将所述相应数据事件记录在所述新的事件日志文件中;由所述数据处理硬件整合所述新的数据日志文件和所述预先存在的事件日志文件以形成整合的事件历史;以及由所述数据处理硬件基于所述整合的事件历史将通知传递给所述用户。2.根据权利要求1所述的方法,其中,所述相应数据事件包括未命中事件。3.根据权利要求2所述的方法,进一步包括:由所述数据处理硬件生成用户数据的快照,所述快照捕捉所述用户数据的状态;以及由所述数据处理硬件基于所述快照确定所述未命中事件的结果。4.根据权利要求1所述的方法,其中,所述事务负载超过所述降级阈值。5.根据权利要求1所述的方法,其中,传递所述通知包括将所述通知传递给所述分布式存储系统的多个用户,所述多个用户包括所述用户并且对应于请求接收针对所述分布式存储系统中存储的数据的改变的相应通知的订户。6.根据权利要求1所述的方法,其中,所述通知包括所述整合的事件历史。7.根据权利要求1所述的方法,其中,每个事件日志文件包括非可持续的文件格式。8.根据权利要求1所述的方法,其中,所述相应数据事件包括用于所述数据的写事务。9.根据权利要求1所述的方法,其中,传递所述通知随着所述相应数据事件实时发生。10.一种系统,包括:分布式系统的数据处理硬件;以及与...

【专利技术属性】
技术研发人员:阿尔弗雷德
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1