[发明专利]一种避免全局资源乱序的分布式系统、设备及其应用方法有效
申请号: | 200910131755.4 | 申请日: | 2009-04-01 |
公开(公告)号: | CN101504621A | 公开(公告)日: | 2009-08-12 |
发明(设计)人: | 刘如冰;赵海峰 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 隆天国际知识产权代理有限公司 | 代理人: | 郭晓东;邢雪红 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 避免 全局 资源 分布式 系统 设备 及其 应用 方法 | ||
技术领域
本发明涉及分布式系统应用技术,尤其涉及一种避免全局资源乱序的分布式系统、设备及其应用方法。
背景技术
分布式系统中需要多个设备协同进行工作,共同分担系统的工作任务,而系统各设备间可靠快速的数据同步机制则是分布式系统协同工作的首要条件。在分布式系统上,一些全局资源由多个模块共享,并且需要跨设备同步,用来进行备份或者相关业务设置。由于是多个模块共享,各自任务进行相关数据同步,操作系统的任务调度算法并不能保证消息到达目标设备的顺序,这样就会导致可能出现资源乱序的问题,造成特定资源的使用错误。如图1所示的分布式系统中,主控设备(Master)11用于资源分配,备用设备(Slave)12用于Master设备11 Down掉之后的业务平滑切换,业务设备(End)13用于业务处理;标号10所指为某个全局资源,其同时只能被一个模块的业务占用;模块A、B隶属于不同的业务系统,其分别向Master设备11提交业务申请,业务的具体处理流程包括对资源10的占用(ALLOC)、设置(SET)及后续的释放(FREE),另外,两个模块对应的消息在图中分别以空白和阴影背景表示,以示区分。继续如图1所示,在Master设备11上,模块A申请释放资源10(FREE 10),模块B则接续申请占用资源10(ALLOC 10),两个资源操作信息FREE 10及ALLOC 10均由Master设备11分别同步至Slave设备12及End设备13。由于模块A、B隶属于两个不同的业务系统,所以资源操作信息同步至Slave设备12及End设备13的顺序不能保证,模块A的释放消息(FREE 10)在先、模块B的占用消息(ALLOC10)在后的正常顺序在同步时就有可能出现错误。在Slave设备12上,如果模块B的占用消息(ALLOC 10)是先于模块A的释放消息(FREE 10)同步而至,由于Slave设备12上还保存有模块A对资源10的占用状态,所以会导致Slave设备12上出现资源重复占用的错误状态;而后续到达的模块A的释放消息(FREE 10)也会导致Slave设备12上资源10出现资源释放的错误状态,因此最终Slave设备12上模块B的占用消息ALLOC 10及模块A的释放消息FREE 10均不能实现正确的同步。同样,在End设备13上也会出现类似的情况,但造成的结果更为严重:如果模块B的设置消息(SET 10)是先于模块A的释放消息(FREE 10)同步而至,由于此时End设备13上还处于模块A对资源10进行设置的状态,所以会导致模块B的设置消息(SET10)无法继续进行处理,从而造成新的业务处理失败,并且无法恢复。
针对上述分布式系统中进行跨设备资源同步可能出现的乱序问题,现有技术的解决方案一般是在每个设备中为每个资源维护一个用于标记资源新旧的序列号(SeqNum),Master设备上资源每分配一次则SeqNum加1。在资源进行同步时,SeqNum也一起同步到目标设备,目标设备将同步过来的资源SeqNum与本地的资源SeqNum进行比较,只有同步过来的资源较新,才能使用,否则不允许对资源进行操作。然而这种方案也存在一定的缺陷:其一,如果出现新业务覆盖旧的业务,需要对旧业务相关资源进行难度较大的跨模块释放,耗时较长且容易出现差错,从而影响新业务的使用;其二,随着资源不断被新的业务调用,SeqNum也不断递增,由于计数器有数据溢出的可能,因此还需要考虑SeqNum的翻转问题,增加了算法设计的难度。
发明内容
本发明的实施例旨在提供能够避免全局资源乱序的分布式系统、设备及其应用方法,以解决现有技术分布式系统中利用SeqNum避免资源乱序存在的上述缺陷。
为实现上述目的,本发明的实施例提供了一种避免全局资源乱序的分布式系统,包括主控设备及业务设备,其特征在于,
所述主控设备,根据业务请求下发资源操作信息至所述业务设备;
所述业务设备,收到所述资源操作信息后根据预设的资源占用标记查询目标资源是否可用,并在查询结果为可用时对所述目标资源进行占用处理。
本发明的另一实施例提供了一种避免全局资源乱序的业务设备,包括:
资源标记单元,对资源的占用状态进行标记;
标记查询单元,收到主控设备根据业务请求下发的资源操作信息后,在所述资源标记单元中查询目标资源的占用状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910131755.4/2.html,转载请声明来源钻瓜专利网。