不同设备间的数据队列的同步方法及装置制造方法及图纸

技术编号:5271779 阅读:149 留言:0更新日期:2012-04-11 18:40
一种不同设备间的数据队列的同步方法,首先为队列元素设置状态标签,在第一设备的队列元素被申请或释放后,更改第二设备中该队列元素的标签,并在第一设备和第二设备切换后,对第二设备中所有标签为空闲的队列元素重新生成队列。本发明专利技术的优点在于,为每个队列元素添加状态标签以在后续备份过程中避免了在备份设备中发生时序混乱,即使第二设备所接收到的“队列元素被申请”这一消息的时序与第一设备实际发生的时序并不一致,也不会影响到对队列元素状态标签的更改,即不会因为两个设备时序的不同步而引起混乱,因此尤其适用于多用户环境。

【技术实现步骤摘要】

本专利技术涉及通讯与计算机
,尤其涉及一种不同设备间的数据队列的同步 方法及装置。
技术介绍
通信领域对于稳定性的要求非常苛刻。很多设备都需要同时设置一台备份机,当 主用设备发生故障时,立刻启动备用设备代替工作,做到无缝切换,使用户感觉不到设备故 障带来的影响。这样的设置就要求主用设备和备用设备之间的数据必须严格同步,否则很 容易带来整个通讯网络的混乱,给用户的通讯业务造成影响。当主用设备故障时,备用设备必须实时接管原设备所有功能。因此主用设备在正 常使用过程中,主用设备上的业务数据的变化需要实时同步到备用设备,这些业务数据包 含各种数据结构。当设备主备倒换时,备用设备能够根据同步到备用设备的数据快速的接管业务, 用户无法感知设备端的变化,在线业务不中断。通常在主备设备之间做实时备份时,主用设备的一个操作复制到备份设备上做同 样的操作。对于单向队列的同步,主用设备上对队列元素进行获取或释放操作,该操作复制 到备用设备时,备用设备对同一队列元素进行获取或释放操作,保持主备设备之间的队列 状态完全一致。这种做法的优点是主备倒换时,备用设备队列和主用完全一致,不需要任何额外 的操作。缺点是,这种实时的操作的复制有很严格的消息时序要求,才能保证主备设备之间 的队列完全一致。在多用户场合下,现有技术的缺陷随之显现出来。在多用户同时对队列元素进行 申请和释放操作时,同步到备用设备的消息就很难严格保证顺序,除非在主用设备上进行 排序,但这又会影响处理的效率。如果后申请的队列元素先到达备份设备,此时,该队列元 素不在单向队列的队列头,需要遍历该队列才能找到,而且由于单向队列只有next指针, 如果从中间删除元素,必然导致队列断裂,无法衔接。反之释放队列元素时乱序也会导致队 列无法恢复。
技术实现思路
本专利技术所要解决的技术问题是,提供一种不同设备间的数据队列的同步方法及装 置,能够消除了主用与备用设备之间单向队列的数据同步操作对时序的要求,并且不会为 设备带来大量额外的运算负担,基本不影响设备正常的数据处理。为了解决上述问题,本专利技术提供了一种不同设备间的数据队列的同步方法,包括 如下步骤(a)将第一设备中的所有同类资源标记成单向队列;(b)将第二设备中的所有 同类资源亦标记成单向队列,并在第二设备中将队列内所有队列元素的状态设置为空闲; (c)当用户向第一设备申请或释放队列元素时,若申请队列元素,则执行步骤(dl) (d3),若释放队列元素,则执行步骤(el) (e3) ;(dl)第一设备从队列头分配队列元素给用户; (d2)第一设备将此队列元素被分配的信息传输到第二设备;(d3)第二设备将被分配的队 列元素的状态设置为占用;(el)第一设备将释放的队列元素排入队列尾部;(e2)第一设备 将此队列元素被释放的信息传输到第二设备;(e3)第二设备将被释放的队列元素的状态 设置为占用;(f)当第二设备替代第一设备工作时,将所有的状态设置为空闲的队列元素 重新标记成一单向队列。作为可选的技术方案,所述第一设备为主用设备,第二设备为备用设备,在主用设 备启动工作时,执行步骤(a)和(b);当主用设备在工作过程中,只要遇到有队列元素申请或 者释放操作,即执行步骤(c),并继续选择实行步骤(dl) (d3)或者(el) (e3);当主用 设备发生故障而启动备用设备时,执行步骤(f)。。作为可选的技术方案,所述第一设备为备用设备,第二设备为主用设备,当主用设 备被修复而回复工作时,执行步骤(f)。一种使不同设备间的数据队列的同步装置,包括如下单元第一队列形成单元,用 于将第一设备中的所有同类资源标记成单向队列;第二队列形成单元,用于将第二设备中 的所有同类资源亦标记成单向队列,并在第二设备中将队列内所有队列元素的状态设置为 空闲;队列元素调配单元,用于当用户向第一设备申请或释放队列元素时,调用后续单元, 若用户申请队列元素,则调用队列元素申请执行单元,若用户释放队列元素,则调用队列元 素申请释放单元;队列元素申请执行单元,用于使第一设备从队列头分配队列元素给用户, 再使第一设备将此队列元素被分配的信息传输到第二设备,然后使第二设备将被分配的队 列元素的状态设置为占用;队列元素释放执行单元,用于使第一设备将释放的队列元素排 入队列尾部,再使第一设备将此队列元素被释放的信息传输到第二设备,然后使第二设备 将被释放的队列元素的状态设置为占用;队列重排单元,用于当第二设备替代第一设备工 作时,将所有的状态设置为空闲的队列元素重新标记成一单向队列。本专利技术的优点在于,为每个队列元素添加状态标签以在后续备份过程中避免了在 备份设备中发生时序混乱,即使第二设备所接收到的“队列元素被申请”这一消息的时序与 第一设备实际发生的时序并不一致,也不会影响到对队列元素状态标签的更改,即不会因 为两个设备时序的不同步而引起混乱,因此尤其适用于多用户环境。附图说明附图1是本专利技术具体实施方式所述方法的步骤流程图。附图2是本专利技术具体实施方式所述装置的结构示意图。具体实施例方式接下来结合附图对本专利技术所述的一种不同设备间的数据队列的同步方法及装置 的具体实施方式做出详细说明。附图1所示本专利技术具体实施方式中所述方法的步骤流程图,包括如下步骤步骤 a,将第一设备中的所有同类资源标记成单向队列;步骤b,将第二设备中的所有同类资源 亦标记成单向队列,并在第二设备中将队列内所有队列元素的状态设置为空闲;步骤c,当 用户向第一设备申请或释放队列元素时,若申请队列元素,则执行步骤dl d3,若释放队列元素,则执行步骤el e3 ;步骤dl,第一设备从队列头分配队列元素给用户;步骤d2,第 一设备将此队列元素被分配的信息传输到第二设备;步骤d3,第二设备将被分配的队列元 素的状态设置为占用;步骤el,第一设备将释放的队列元素排入队列尾部;步骤e2,第一设 备将此队列元素被释放的信息传输到第二设备;步骤e3,第二设备将被释放的队列元素的 状态设置为占用;步骤f,当第二设备替代第一设备工作时,将所有的状态设置为空闲的队 列元素重新标记成一单向队列。本实施方式中,第一设备为主用设备,第二设备为备用设备。在主用设备启动工作 时,执行步骤a和b ;当主用设备在工作过程中,只要遇到有队列元素申请或者释放操作,即 执行步骤c,并继续选择实行步骤dl d3或者el e3 ;当主用设备发生故障而启动备用 设备时,执行步骤f。对于第一设备为备用设备,第二设备为主用设备的情况下,执行的操作与上述情 况类似,此处不再重复叙述。这里所述的资源可以是设备的内存、通信的信道以及时隙等在信号处理中各种可 分配的软件和硬件要素。步骤a与现有技术的队列形成方法基本相同。步骤b可以通过两种方式实现,一种是把步骤a中形成的队列复制到第二设备中, 还有一种是第二设备独立地建立一个队列,该队列可能并不与步骤a在第一设备中建立的 队列完全相同,但这并不影响下面步骤的实施。并且,步骤b除了将队列备份到第二设备中 或在第二设备中独立构建建立队列之外,还进一步执行了对队列元素的状态设置的步骤。 现有技术中的队列元素是没有被标记状态的,本实施方式对每一个队列元素都添加了一个 标记状态的标签(例如可以是一位的二进制码),当队列本文档来自技高网
...

【技术保护点】
一种不同设备间的数据队列的同步方法,其特征在于,包括如下步骤:(a)将第一设备中的所有同类资源标记成单向队列,队列中的每个队列元素代表一个资源;(b)将第二设备中的所有同类资源亦标记成单向队列,并在第二设备中将队列内所有队列元素的状态设置为空闲;(c)当用户向第一设备申请或释放队列元素时,若申请队列元素,则执行步骤(d1)~(d3),若释放队列元素,则执行步骤(e1)~(e3);(d1)第一设备从队列头分配队列元素给用户;(d2)第一设备将此队列元素被分配的信息传输到第二设备;(d3)第二设备将被分配的队列元素的状态设置为占用;(e1)第一设备将释放的队列元素排入队列尾部;(e2)第一设备将此队列元素被释放的信息传输到第二设备;(e3)第二设备将被释放的队列元素的状态设置为占用;(f)当第二设备替代第一设备工作时,将所有的状态设置为空闲的队列元素重新标记成一单向队列。

【技术特征摘要】

【专利技术属性】
技术研发人员:顾明毅
申请(专利权)人:上海顶竹通讯技术有限公司
类型:发明
国别省市:31[中国|上海]

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

1