《服务副本读写方法及系统.pdf》由会员分享,可在线阅读,更多相关《服务副本读写方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102882943 A (43)申请公布日 2013.01.16 C N 1 0 2 8 8 2 9 4 3 A *CN102882943A* (21)申请号 201210337842.7 (22)申请日 2012.09.12 H04L 29/08(2006.01) (71)申请人北京航空航天大学 地址 100191 北京市海淀区学院路37号北 京航空航天大学 (72)发明人孙海龙 邓婷 王旭 张日崇 (74)专利代理机构北京同立钧成知识产权代理 有限公司 11205 代理人刘芳 (54) 发明名称 服务副本读写方法及系统 (57) 摘要 本发明提供一种服务副本读写方。
2、法及系统。 其中的读取方法包括:副本节点接收到客户端发 来的读请求后,为该读请求赋予全局唯一的请求 标识rid;所述副本节点检验第三类一致性配置 条件F 3 (r(rid),y 1 ,y 2 ,.,y m )op0是否为真, 其中,(r(rid)=|w(rd 1st ,rid 1st )|表示读陈 旧性量化函数,w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,y m 表示所述服务 副本上下文中的变量,w表示写请求,rid 1st 表示 所述副本节点读取到的最新请求的标识,rid 1st 表 示全局最新的请求的标识;当所述第三类一致性 配置条件为真时,所述副本节点向自身的上层应 用提。
3、交所述读请求,并将读取结果返回给所述客 户端。本发明有利于提高服务副本的灵活性和可 配置性。 (51)Int.Cl. 权利要求书2页 说明书9页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 9 页 附图 3 页 1/2页 2 1.一种服务副本写入方法,其特征在于,包括: 协调副本节点接收到来自于客户端的写请求后,为所述写请求赋予全局唯一标识rid 并将该写请求转发给所有的普通副本节点; 所述普通副本节点将来自于所述协调副本节点的写请求进行本地存储,并发送反馈报 文给所述协调副本节点; 所述协调副本节点根据第一类一致性配置条件F 1 (wd,。
4、y 1 ,y 2 ,.,y m )op0解析获取d值, 其中,表示写持久性的量化浮点数;N表示服务副本 的总个数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表示每个写 请求在最终提交之前需要发送的副本个数,op=,,y 1 ,y 2 ,y m 表示所述服 务副本上下文中的变量; 所述协调副本节点当接收到d-1个所述反馈报文时,向全部副本节点发送写请求提交 命令; 每个所述普通副本节点接收到所述写请求提交命令后,检验第二类一致性配置条件 F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真,其中, 表示写 发散性量化函数,rid ij 表示副本i第j。
5、个提交的请求的标识,(rid ij )表示与标识rid ij 相映射的写请求的标识; 当所述第二类一致性配置条件为真时,所述副本节点向自身的上层应用提交所述写请 求,并将写入结果经所述协调副本节点返回给所述客户端。 2.根据权利要求1所述的方法,其特征在于,所述写发散性量化函数具体为数值写发 散性量化函数其中,表示定义在写请求上的函数, 表示该写请求对被修改的数值的修改程度,w表示写请求,m表示y的个数,n表示全部N个 服务副本中的一个服务副本的序号,w(rid ij )表示标识为rid ij 的写请求,w(j)表示第j个 提交的写请求。 3.根据权利要求1或2所述的方法,其特征在于,还包括:。
6、 当存在失效的普通副本节点且检验出所述第二类一致性配置条件为假时,与除自身以 外的全部其他普通副本节点进行状态同步。 4.一种服务副本读取方法,其特征在于,包括: 副本节点接收到客户端发来的读请求后,为该读请求赋予全局唯一的请求标识rid; 所述副本节点检验第三类一致性配置条件F 3 (r(rid),y 1 ,y 2 ,.,y m ) op0是否为真,其中,(r(rd)=|w(d 1st ,rid 1st )|表示读陈旧性量化函数, w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示所述服务副本上 下文中的变量,w表示写请求,rid 1st 表示所述副本节点读取到的最。
7、新请求的标识,rid 1st 表 示全局最新的请求的标识; 当所述第三类一致性配置条件为真时,所述副本节点向自身的上层应用提交所述读请 求,并将读取结果返回给所述客户端。 5.根据权利要求4所述的方法,其特征在于,还包括: 权 利 要 求 书CN 102882943 A 2/2页 3 当存在失效的副本节点且检验出所述第三类一致性配置条件为假时,与其他的副本节 点进行状态同步。 6.一种服务副本处理系统,其特征在于,包括协调副本节点和多个普通副本节点,其 中: 所述协调副本节点包括: 转发模块,用于当接收到来自于客户端的写请求后,为所述写请求 赋予全局唯一标识rid并将该写请求转发给所有的普通副。
8、本节点; 解析模块,用于根据第一类一致性配置条件F 1 (wd,y 1 ,y 2 ,.,y m )op0解析获取d值,其 中,表示写持久性的量化浮点数;N表示服务副本的 总个数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表示每个写请 求在最终提交之前需要发送的副本个数,op=,,y 1 ,y 2 ,y m 表示所述服务 副本上下文中的变量; 命令模块,用于当接收到d-1个所述反馈报文时,向全部副本节点发送写请求提交命 令; 所述普通副本节点包括: 反馈模块,用于将来自于所述协调副本节点的写请求进行本地存储,并发送反馈报文 给所述协调副本节点; 检验模块,用于当接收到所述写请。
9、求提交命令后,检验第二类一致性配置条件 F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真,其中, 表示写 发散性量化函数,rid ij 表示副本i第j个提交的请求的标识,(rid ij )表示与标识rid ij 相映射的写请求的标识; 提交模块,用于当所述第二类一致性配置条件为真时,向自身的上层应用提交所述写 请求,并将写入结果经所述协调副本节点返回给所述客户端。 7.根据权利要求6所述的系统,其特征在于,所述协调副本节点中也包含所述检验模 块和所述提交模块。 8.一种副本节点,其特征在于,包括: 赋值单元,用于当收到客户端发来的读请求后,为该读请求赋予全局唯一的。
10、请求标识 rid; 检验单元,用于检验第三类一致性配置条件F 3 (r(rid),y 1 ,y 2 ,.,y m ) op0是否为真,其中,(r(rd)=|w(d 1st ,rid 1st )|表示读陈旧性量化函数, w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示所述服务副本上 下文中的变量,w表示写请求,rid 1st 表示所述副本节点读取到的最新请求的标识,rid 1st 表 示全局最新的请求的标识; 提交单元,用于当所述第三类一致性配置条件为真时,向自身的上层应用提交所述读 请求,并将读取结果返回给所述客户端。 权 利 要 求 书CN 102882943 A。
11、 1/9页 4 服务副本读写方法及系统 技术领域 0001 本发明涉及一种服务副本读写方法及系统,属于云计算与服务计算、副本技术和 一致性技术领域。 背景技术 0002 云计算与服务计算技术 0003 近年来,随着互联网和分布式技术的不断发展,网络应用进入了云计算时代。通过 云计算技术,软硬件资源和数据能够以服务的形式按需提供给用户和其他设备。云计算技 术的特征是:(1)按用支付,整体成本大幅度降低;(2)按需使用,用户可以根据需求随时更 换和选择自己所需的软硬件资源;(3)资源可靠性、计算性能、共享程度以及透明性提高, 云计算通过资源副本、弹性、多租户和虚拟化技术的使用大幅提升资源可靠性、性。
12、能、共享 程度以及透明性。从用户角度来看,云计算的应用模式有三种:软件即服务(Software as a Service,简称:SaaS),各种软件通过浏览器、手机等终端向用户提供服务;平台即服务 (Platform as a Service,简称:PaaS,),通过网络提供可托管的运行、计算平台,使得用户 能够在这些平台上运行;底层资源即服务(Infrastructure as a Service,简称:IaaS,), 虚拟机、数据存储等底层资源以服务的形式供用户选择和使用。 0004 平台即服务作为云计算的一种重要模式,越来越受到关注。PaaS作为托管平台,允 许开发人员透明的远程部署自己。
13、的各种应用程序,而不需要关注底层的硬件、操作系统和 依赖的中间件。这些应用程序部署在PaaS平台以后,又能够以Web应用的形式被互联网上 的用户访问和使用。但是,(1)由于PaaS平台底层使用的商用廉价计算机、网络设备、硬盘 以及后台复杂的管理任务,使得平台不可避免的出现失效的情况。失效会影响到平台上部 署的成千上万的应用服务,而大部分应用服务又要求7X24的不间断服务能力,也就是高可 用性。高可用性的需求使得PaaS平台不得不采用类似于副本技术的方法屏蔽系统失效,保 证部署应用的持续服务能力;(2)互联网应用具有一个特点,它不以安装的软件数目来衡 量用户数,而是以某时间段内的用户请求数来度量。
14、。部署在PaaS平台上的应用服务很有可 能在很短的一段时间内用户数出现爆发式增长,传统的服务部署方式由于受限于节点的计 算网络能力,往往出现服务忙、服务不可用等情况,所以PaaS平台一般会采取资源弹性的 方式为相应的服务快速构建副本,从而实现负载分流,满足井喷式用户增长的访问需求。 0005 另外,服务计算领域强调应用程序通过网络通信协议将接口暴露出来以允许第 三方应用进行远程调用,从而达到应用集成的目的。基于SOA(面向服务的体系架构, Service Oriented Architecture)的体系结构和Web服务等技术标准使得服务计算得到 了广泛的企业应用。目前随着云计算的发展,服务计。
15、算领域开始泛化和延伸,几乎所有的 通过网络可达的应用,包括数据中心、社会网络以及Web APIs(Web应用程序编程接口,Web Application Program Interfaces)等,都被认为是广义上的服务。这些服务大部分具有类 似的高可用性和可扩展性需求,同样亟需相应的解决方案。 0006 副本技术 说 明 书CN 102882943 A 2/9页 5 0007 副本是分布式领域提升系统可用性和负载均衡的主流技术。针对服务,它一般将 服务进行多个副本的备份,首先当某些副本失效的时候可以将请求转发到其余正常的副本 进行处理;其次可以将请求在多个副本间进行负载均衡。副本技术面临着两个。
16、方面的挑战, 其一,如何保证多个副本间的一致性;其二,如何快速恢复失效的节点以保持可用的副本 数。第二个挑战目前已经有相对成熟的方案进行解决,只是效率高低的差异。但第一个挑 战目前一直是研究的难点和热点。 0008 常见的副本策略包括:(1)主从备份策略。该策略一般通过间断式的主从节点状 态同步来维持一致性,但实际上当主节点在两次同步时间点之间失效时,一部分主节点状 态会丢失。而且最近的研究表明,在大规模分布式系统中主从两个节点同时失效的概率大 大增加;(2)两阶段提交(Two-Phase Commit,简称:2PC)协议。该协议由于在协调副本节 点处阻塞以等待所有其余节点的反馈消息,所以性能。
17、较差。而且,任何一个节点的失效都会 导致协议的终止。虽然有人对该协议进行了改进并提出三阶段提交协议,但性能依然不好; (3)组通信。组通信的基本思想是将分布式系统中的多个进程构成一个组,然后保证所有进 程发出的消息顺序与消息到达的顺序一致。组通信的缺点是每一次的节点失效都会造成组 视图更新,从而导致性能下降;(4)Paxos算法。Paxos算法广为接收的分布式异步一致性算 法,她的正确性和活性已经得到证明。根据副本状态机模型,Paxos算法能够保证所有的副 本对请求序列的顺序达成一致,从而使得所有副本的状态保持同步。 0009 上述四种副本策略已经得到了较为广泛的应用。但是随着云计算技术的新起。
18、,人 们发现云平台对副本技术提出了更高的要求。研究发现:要么放松需求,要么以放弃副本间 的一致性为代价。CAP定理和PACELC原则就是陈述各要素间的互相权衡关系的。CAP定理 认为下述三个要素之间最多只能同时满足两个:(1)一致性(Consistency),副本间的状态 相同性;(2)可用性(Availability),所有副本组成的服务对外持续响应请求的能力;(3) 分割容忍性(Partition Tolerance),系统是否能够容忍网络分割的能力。CAP定理虽然 简练精准,但是不容易理解。耶鲁大学的教授又把它重新诠释为PACELC原则,它可以陈述 为:“当系统存在网络分割时,一致性和可。
19、用性之间必须进行权衡;当系统不存在网络分割 时,一致性和性能之间必须进行权衡”。由此可见,一致性是副本技术的核心。而上述四种 副本策略都是以实现副本强一致性为基础的,并不能满足云计算服务对可用性和性能的需 求。所以在云计算环境下需要设计新的更加灵活的一致性副本技术。 0010 一致性技术 0011 副本技术在数据库、分布式、中间件等领域得到了广泛的应用研究。根据一致性的 柔性程度大体上可以分成两类:一类是按照应用对一致性的具体要求而设计的一致性相对 确定的副本方法;另一类是一致性相对可调的柔性副本方法。 0012 在第一类方法中,依据一致性的强弱程度,又可以划分为:强一致性(Strong Co。
20、nsistency)、时间一致性(Timeline Consistency)、最终一致性(Eventual Consistency)。强一致性的方法主要是上述四种副本策略,其代表工作包括JGroups软件 系统、Chubby软件系统和Zookeeper软件系统等。变体包括快照隔离的副本(Snapshot Isolation Replication)和非统一的原子广播(Non-uniform Atomic Broadcast)等。虽 然在一些情况下某些变体会出现不一致性的情况,比如非统一原子广播的请求丢失问题, 但总体上这些变体在绝大部分时间下都保证了副本间的一致性,而又不明显具有某种弱一 说 。
21、明 书CN 102882943 A 3/9页 6 致性的特征,所以也将其划入到强一致性类别中;时间一致性的方法是允许副本间的状态 每隔一个特定的时间间隔再进行同步。其代表工作有Spinnaker软件系统和PNUTS软件系 统等;最终一致性的方法只确保在最终的某一个时刻,副本间的状态得到更新。其代表工作 有亚马逊Dynamo软件系统。无论是强一致性、时间一致性还是最终一致性的副本方法,这 一类方法都是针对某类对一致性有特定要求的应用设计的,通用性非常差,无法满足PaaS 平台成千上万用户对一致性的个性化需求。 0013 第二类方法,一致性相对可调的柔性副本方法已经有相关文献进行了研究。 0014。
22、 现有技术中至少存在如下问题: 0015 云计算随着互联网、移动技术以及分布式技术的发展,逐渐成为互联网服务的核 心技术之一。PaaS平台作为云计算技术的重要实现模式和形态,已经成为企业界和学术界 广泛关注的热点。PaaS平台运营商将应用运行环境以服务的形式提供给开发人员,允许开 发人员远程部署和托管自己的应用,使得应用为最终用户服务。但是,出于成本考虑,现有 PaaS平台底层广泛使用商用廉价计算机、网络设备、硬盘,再加上后台的复杂管理任务,使 得平台不可避免的出现失效的情况。失效会影响到平台上部署的成千上万的应用服务,所 以PaaS平台需要采用副本技术屏蔽系统失效,以保证部署应用的持续服务能。
23、力。 0016 然而,副本技术的使用也并不是一劳永逸的完美解决方法。CAP定理和PACELC原 则指出:副本一致性、服务可用性、分割容忍性以及性能之间存在权衡和取舍,不可能同时 得到满足。目前的副本技术主要针对特定应用或者特定领域,要么是选择确定的一致性,要 么是在特定领域内进行有限的调整。而大部分PaaS平台并不是面向特定应用和领域的,因 此缺乏灵活性和可配置性。 发明内容 0017 本发明提供一种服务副本读写方法及系统,用以提高服务副本的灵活性和可配置 性。 0018 本发明一方面提供一种服务副本写入方法,其中包括: 0019 协调副本节点接收到来自于客户端的写请求后,为所述写请求赋予全局。
24、唯一标识 rid并将该写请求转发给所有的普通副本节点; 0020 所述普通副本节点将来自于所述协调副本节点的写请求进行本地存储,并发送反 馈报文给所述协调副本节点; 0021 所述协调副本节点根据第一类一致性配置条件F 1 (w d ,y 1 ,y 2 ,.,y m )op0解析获取 d值,其中,表示写持久性的量化浮点数;N表示服务 副本的总个数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表示每 个写请求在最终提交之前需要发送的副本个数,op=,,y 1 ,y 2 ,y m 表示所 述服务副本上下文中的变量; 0022 所述协调副本节点当接收到d-1个所述反馈报文时,向全部。
25、副本节点发送写请求 提交命令; 0023 每个所述普通副本节点接收到所述写请求提交命令后,检验第二类一致性配置条 说 明 书CN 102882943 A 4/9页 7 件F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真,其中,表示写 发散性量化函数,rid ij 表示副本i第j个提交的请求的标识,(rid ij )表示与标识rid ij 相映射的写请求的标识; 0024 当所述第二类一致性配置条件为真时,所述副本节点向自身的上层应用提交所述 写请求,并将写入结果经所述协调副本节点返回给所述客户端。 0025 本发明另一方面提供一种服务副本读取方法,其中包括: 00。
26、26 副本节点接收到客户端发来的读请求后,为该读请求赋予全局唯一的请求标识 rid; 0027 所述副本节点检验第三类一致性配置条件F 3 (r(rid),y 1 ,y 2 ,.,y m ) op0是否为真,其中,(r(rd)=|w(rid 1st ,rid 1st )|表示读陈旧性量化函数, w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示所述服务副本上 下文中的变量,w表示写请求,rid 1st 表示所述副本节点读取到的最新请求的标识,rid 1st 表 示全局最新的请求的标识; 0028 当所述第三类一致性配置条件为真时,所述副本节点向自身的上层应用提交所述 。
27、读请求,并将读取结果返回给所述客户端。 0029 本发明再一方面提供一种服务副本处理系统,其中包括协调副本节点和多个普通 副本节点,其中: 0030 所述协调副本节点包括:转发模块,用于当接收到来自于客户端的写请求后, 为所述写请求赋予全局唯一标识rid并将该写请求转发给所有的普通副本节点;解析 模块,用于根据第一类一致性配置条件F 1 (wd,y 1 ,y 2 ,.,y m )op0解析获取d值,其中, 表示写持久性的量化浮点数;N表示服务副本的总个 数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表示每个写请求在 最终提交之前需要发送的副本个数,op=,,y 1 ,y 2。
28、 ,y m 表示所述服务副本 上下文中的变量;命令模块,用于当接收到d-1个所述反馈报文时,向全部副本节点发送写 请求提交命令; 0031 所述普通副本节点包括:反馈模块,用于将来自于所述协调副本节点的写请求进 行本地存储,并发送反馈报文给所述协调副本节点;检验模块,用于当接收到所述写请求 提交命令后,检验第二类一致性配置条件F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真,其中, 表示写发散性量化函数,rid ij 表示副本i第j个提交的请 求的标识,(rid ij )表示与标识rid ij 相映射的写请求的标识;提交模块,用于当所述第二 类一致性配置条件为真时。
29、,向自身的上层应用提交所述写请求,并将写入结果经所述协调 副本节点返回给所述客户端。 0032 本发明又一方面提供一种副本节点,其中包括: 0033 赋值单元,用于当收到客户端发来的读请求后,为该读请求赋予全局唯一的请求 标识rid; 0034 检验单元,用于检验第三类一致性配置条件F 3 (r(rid),y 1 ,y 2 ,.,y m ) 说 明 书CN 102882943 A 5/9页 8 op0是否为真,其中,(r(rid)=|w(rid 1st ,rid 1st )|表示读陈旧性量化函数, w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示所述服务副本上 下文。
30、中的变量,w表示写请求,rid 1st 表示所述副本节点读取到的最新请求 0035 的标识,rid 1st 表示全局最新的请求的标识; 0036 提交单元,用于当所述第三类一致性配置条件为真时,向自身的上层应用提交所 述读请求,并将读取结果返回给所述客户端。 0037 本发明通过对一致性配置参数F1、F2和F3不同值的选取或真假值的判定,允许开 发人员根据应用服务的具体情况选择相应的一致性水平并实例化为对应的副本协议,从而 在完全不同的条件或时机下进行请求的发送、传输和提交,以最终形成完全不同的副本协 议和一致性,从而提高了服务副本的灵活性和可配置性。 附图说明 0038 图1为本发明所述服务。
31、副本写入方法的流程图; 0039 图2为图1所示方法的举例图; 0040 图3为本发明所述服务副本读取方法的流程图; 0041 图4为图2所示方法的举例图; 0042 图5为副本节点失效时的处理流程图; 0043 图6为本发明所述服务副本处理系统的结构示意图; 0044 图7为本发明所述副本节点的结构示意图。 具体实施方式 0045 图1为本发明所述服务副本写入方法的流程图,如图1所示,包括如下步骤: 0046 步骤110,协调副本节点接收到来自于客户端的写请求后,为所述写请求赋予全局 唯一请求标识rid并将该写请求转发给所有的普通副本节点。 0047 其中,协调副本节点是接收到写请求的节点,。
32、除此之外的其他副本节点均可以称 为普通副本节点。假设每个请求都根据他们的先后顺序被赋予一个唯一标识rid,而且每个 写请求也根据在所有写请求中的顺序被赋予一个唯一标识其中是rid到wid 的映射函数。 0048 步骤120,所述普通副本节点将来自于所述协调副本节点的写请求进行本地存储, 并发送反馈报文给所述协调副本节点。 0049 步骤130,所述协调副本节点根据第一类一致性配置条件F 1 (wd,y 1 ,y 2 ,.,y m )op0 解析获取d值。 0050 其中,表示写持久性的量化浮点数;N表示 服务副本的总个数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表 示每个。
33、写请求在最终提交之前需要发送的副本个数,op=,,y 1 ,y 2 ,y m ;表 示所述服务副本上下文中的变量;写持久性(Write Durability)代表写请求在出现副本失 效情况下不被丢失的概率,当N和p相等的情况下,wd随着d的增大而增大。也就是说,每 个写请求在最终提交之前发送的副本个数越多,这个请求就越不容易丢失。 说 明 书CN 102882943 A 6/9页 9 0051 步骤140,所述协调副本节点当接收到d-1个所述反馈报文时,向全部副本节点发 送写请求提交命令。 0052 其中,所述全部副本节点包括所述协调副本节点及全部的普通副本节点。 0053 步骤150,每个所。
34、述普通副本节点接收到所述写请求提交命令后,检验第二类一致 性配置条件F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真。 0054 其中,只要F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0这个关系式能够得到满足即为真,否 则为假;令w lst (rid lst )是目前所有副本中最新的写请求且,标准版本V 0 定义为 向量(1,2,3,.,n),副本i(i=1,2,.,N)的版本V i 定义为该副本已经提交的写请求的 序列向量,即V i =(rid i1 ,rid i2 ,.rid ij ,.,rid im ),其中rid ij 指副本i第j。
35、个提交的写请 求的标识,m表示副本i目前提交的写请求的个数。于是,写发散性被量化为一个函数 0055 0056 写发散性(Write Divergence)代表写请求提交的序列(或副本状态)与真实序列 (或者真实状态)之间的差异,上述写发散性的定义是一个通用定义,可以表达几乎所有的 副本发散的程度。针对数值型的副本服务,数值写发散性(Numerical write divergence) 被定义为: 0057 0058 其中,是定义在写请求上的函数,表示该写请求对某个数值的修改程度。比如, w(rid ij )=”x=x-5”,那么(w(rid ij )=-5。 0059 步骤160,当所述第。
36、二类一致性配置条件是为真时,所述副本节点向自身的上层应 用提交所述写请求,并将写入结果经所述协调副本节点返回给所述客户端。 0060 具体的举例图如图2所示。 0061 图3为本发明所述服务副本读取方法的流程图,如图所示,包括如下步骤: 0062 步骤210,副本节点接收到客户端发来的读请求后,为该读请求赋予全局唯一请求 标识rid。 0063 步骤220,所述副本节点检验第三类一致性配置条件 F 3 (r(rid),y 1 ,y 2 ,.,y m )op0是否为真。 0064 其中,对于每一个读请求r(rid),假设它读取的最新写请求是w lst (rid lst ), 而实际上的全局最新写。
37、请求是w lst (rid lst )。于是,读请求r(rid)的读陈旧性量化函 数定义为:(r(d)=|w(rid 1st ,rid 1st )|,其中:w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示所述服务副本上下文中的变量,w表示写请求, rid 1st 表示所述副本节点读取到的最新请求的标识,rid 1st 表示全局最新的请求的标识。 0065 步骤230,当所述第三类一致性配置条件为真时,所述副本节点向自身的上层应用 提交所述读请求,并将读取结果返回给所述客户端。 0066 具体的举例图如图4所示。 0067 本发明通过对一致性配置参数F1、F2和F3不。
38、同值的选取或真假值的判定,允许开 发人员根据应用服务的具体情况选择相应的一致性水平并实例化为对应的副本协议,从而 在完全不同的条件或时机下进行发送、传输和提交,以最新形成完全不同的副本协议和一 说 明 书CN 102882943 A 7/9页 10 致性,从而提高了服务副本的灵活性和可配置性。 0068 上述三类一致性配置条件均属于副本一致性量化模型(Quantitative Model for Replication Consistency)。另外,如图5所示的举例所示,在写入过程中,当存在失效的 普通副本节点且检验出所述第二类一致性配置条件为假时,需要与其他的普通副本节点进 行状态同步;当。
39、不存在失效的普通副本节点且检验出所述第二类一致性配置条件为假时, 则可以继续等待,直到第二类一致性配置条件为真。 0069 在读出过程中,当存在失效的副本节点且检验出所述第三类一致性配置条件为假 时,与其他的副本节点进行状态同步;当不存在失效的副本节点且检验出所述第三类一致 性配置条件为假时,则可以继续等待,直到第三类一致性配置条件为真。 0070 其中的状态在本领域内特指副本执行的请求个数、顺序等信息。 0071 图6为本发明所述服务副本处理系统的结构示意图,用以实现上述写入方法,其 中包括协调副本节点10和多个普通副本节点20,其工作原理如下: 0072 协调副本节点10当接收到来自于客户。
40、端的写请求后,由转发模块11为所 述写请求赋予全局唯一标识rid并将该写请求转发给所有的普通副本节点20;解析 模块12根据第一类一致性配置条件F 1 (wd,y 1 ,y 2 ,.,y m )op0解析获取d值,其中, 表示写持久性的量化浮点数;N表示服务副本的总 个数,X表示失效副本个数的随机变量,p表示每个服务副本失效的概率,d表示每个写请求 在最终提交之前需要发送的副本个数,op=,,y 1 ,y 2 ,y m 表示所述服务副 本上下文中的变量。 0073 所述普通副本节点20中的反馈模块21将来自于所述协调副本节点10的写请求 进行本地存储,并发送反馈报文给所述协调副本节点10。 0。
41、074 协调副本节点10当接收到d-1个所述反馈报文时,由命令模块13向全部副本 节点20发送写请求提交命令。当普通副本节点20接收到所述写请求提交命令后,由检 验模块22检验第二类一致性配置条件F 2 (i,w lst ),y 1 ,y 2 ,.,y m )op0是否为真,其中, 表示写发散性量化函数,rid ij 表示副本i第j个提交的请 求的标识,(rid ij )表示与标识rid ij 相映射的写请求的标识;当所述第二类一致性配置条 件为真时,由提交模块23向自身的上层应用提交所述写请求,并将写入结果经所述协调副 本节点10返回给所述客户端。 0075 此处需要说明的是,所述协调副本节。
42、点10中也可以包含所述检验模块22和提交 模块23的功能。 0076 图7为本发明所述副本节点的结构示意图,用以实现上述读取方法,其工作原理 如下: 0077 当副本节点30收到客户端发来的读请求后,由赋值单元31为该读请 求赋予全局唯一的请求标识rid;由检验单元32检验第三类一致性配置条件 F 3 (r(rid),y 1 ,y 2 ,.,y m )op0是否为真,其中,(r(d)=|w(rid 1st ,rid 1st )|表示读 陈旧性量化函数,w(x,y)=w(rid)|xrid,,y 1 ,y 2 ,.,y m 表示 所述服务副本上下文中的变量,w表示写请求,rid 1st 表示所述。
43、副本节点读取到的最新请求 说 明 书CN 102882943 A 10 8/9页 11 的标识,rid 1st 表示全局最新的请求的标识;当所述第三类一致性配置条件为真时,由提交 单元33向自身的上层应用提交所述读请求,并将读取结果返回给所述客户端。 0078 本发明通过对一致性配置参数F1、F2和F3不同值的选取或真假值的判定,允许开 发人员根据应用服务的具体情况选择相应的一致性水平并实例化为对应的副本协议,从而 在完全不同的条件或时机下进行请求的发送、传输和提交,以最终形成完全不同的副本协 议和一致性,从而提高了服务副本的灵活性和可配置性。 0079 以下与几种现有技术比较说明本发明的技术。
44、效果: 0080 1、与文献1“Yu,H.And Vahdat,A.Design and evaluation of a continuous consistency model for replicated services.In 4th Symp.on Op.Sys.Design and Implemen.(OSDI)(San Diego,CA,USA,Oct.2000),pp.305318.”相比 0081 文献1提出了TACT连续一致性模型并进行了实现,与本发明的区别在于: 0082 (1)文献1的一致性模型中未考虑写持久性;而本发明通过求解d值体现了写持 久性; 0083 (2)文献。
45、1的弱一致性主要体现在数据的偏差,即数值写发散性(Numerical write divergence)上,无法表达非数据的副本一致性;而本发明考虑了数值写发散性。 0084 2、与文献2“Tim Kraska,Martin Hentschel,Gustavo Alonso,and Donald Kossmann.2009.Consistency rationing in the cloud:pay only when it matters.Proc. VLDB Endow.2,1(August 2009),253-264.”相比 0085 文献2指出在同一个应用的不同阶段使用不同一致性水平的。
46、副本方法,与本发明 的区别在于它目前支持的一致性主要包括会话一致性和可串行一致性。 0086 3、与文献3“Corina Ferdean,Mesaac Makpangou.Distributed Computing and Internet Technology.Lecture Notes in Computer Science,2005,Volume 3347/2005,227-243.”相比 0087 文献3面向副本管理提出了通用和柔性的一致性模型,与本发明的区别在于: 0088 (1)文献3的模型基于数据对象而本发明基于副本状态机,其中副本状态机是一 种副本技术基本模型,主要特点是对所有。
47、请求的全局顺序rid达成一致;而本发明中主要 体现在副本一致性量化模型和一致性配置上,F1(或d)、F2、F3,本发明更加有利于表达服 务副本的一致性; 0089 (2)文献3的模型只是提出一种设想而未提及如何实现;而本发明进行了实现和 验证; 0090 (3)文献3的模型未考虑写持久性的问题;而本发明考虑了写持久性。 0091 4、与文献4“Susarla S.,Carter JFlexible Consistency for Wide Area Peer Replication.25th IEEE International Conference on Distributed Comput。
48、ing Systems,2005.”、文献5“Krishnamurthy S.,Sanders W.H.,Cukier MAn adaptive framework for tunable consistency and timeliness using replication. International Conference on Dependable Systems and Networks,2002.”、文献 6“Huang,Yu;Cao,Jiannong;Wang,Zhijun;Jin,Beihong;Feng,Yulin;,“Achieving Flexible Cache Consistency for Pervasive Internet Access,“Fifth Annual IEEE International Conference on Pervasive Computing and Communications,2007.”和文 说 明 书CN 102882943 A 11 9/9页 12 献7“B Mukherjee,et al.Flexible state sharing and consistency mechani。