一种报文备份方法

文档序号:7965224阅读:261来源:国知局
专利名称:一种报文备份方法
技术领域
本发明涉及数据通信领域,尤其涉及一种报文备份方法。
背景技术
在数据通信过程中主板由备板保护。当应用程序在主板中失效时,备板应 该很快地监测到错误,而且无缝地接管路由服务。
现有技术中一种报文备份方法为显式实时备份。即接口板只向主板发送 对端报文,主板处理完对端报文后,将所有处理结果实时备份到备板。
但是现有技术由于进行显式实时备份,主板需要接收报文、处理报文、向 备板备份报文以及发送报文,所以主板负担过大,在高负栽的情况下可能造成 进程之间通信不可靠,此外主板处理完成的所有数据都必须通过传输层向备板 备份,导致进程间通信通道负载过高。为了实现隐式备份,现有技术中另 一种报文备份方法为
接口板将对端报文发送到备板;
复制报文到主板;
主板处理报文并将处理结果反馈给备板; 备板将结果备份并发送。
该方案降低了主板的负载,提高了通信的可靠性,但是报文的接收与发送 都在备板进行,主板仍然需要通过传输层向备板复制大量的数据,同样导致通 信通道负载过高,影响通信。

发明内容
本发明要解决的技术问题是提供一种报文备份方法,用于减少主板与备板 之间的备份造成的通信通道负载。
本发明提供的报文备份方法,包括步骤备板接收来自接口板的对端报文;
将报文复制到主板;主板处理报文;主板向备板进行备份并发送数据。
优选地,所述将报文复制到主板的步骤包括步骤备板互联网协议层将报 文复制到主板互联网协议层;主板互联网协议层将所述报文复制到主板传输控 制协议层并存入重组队列。
优选地,所述主板处理报文的步骤包括步骤主板传输控制协议层处理经 过备板到达的一个完整报文;选择下一期望报文序列号与重组队列中报文最大 序列号之间的最大值并记录该最大值;主板接口通知备板接口从所述最大值序 列号开始投递报文。
优选地,所述主板处理报文之后包括步骤备板接口从所述最大值序列号 开始向应用程序发送对端报文;丢弃序列号小于所述序列号的报文。
优选地,所述将报文复制到主板的步骤包括步骤备板互联网协议层将报 文复制到主板互联网协议层;主板互联网协议层将所述报文复制到主板用户数 据报协议/原始互联网协议层并存入重组队列。
优选地,所述主板处理报文的步骤包括步骤主板用户数据报协议/原始 互联网协议层处理经过备板到达的一个完整报文;向应用程序发送异步消息以 通知应用程序下一个要读的报文是所述经过备板到达的所述完整报文;读完所 述完整报文之后,应用程序备份所有数据;主板接口通知备板接口已经处理完 报文。
优选地,所述主板处理报文之后包括步骤备板接口将接口緩存中的对端 报文发送到应用程序。
优选地,所述备板接收来自接口板的对端报文之前进一步包括步骤同步 备板与主板上的数据。
优选地,所述同步备板与主板上的数据的步骤包括步骤向备板批量复制 主板上的所有数据。
优选地,所述主板向备板进行备份的步骤包括步骤主板緩沖区向备板緩 冲区发送所有存储数据。
以上技术方案可以看出,本发明具有以下优点
首先,本发明由备板接收报文,主板发送报文,主板与备板之间的数据备 份通过緩沖区实现,而不占用传输层的资源,所以减少了通信通道的数据流量, 降低了负载;
其次,本发明既可针对面向连接的应用程序,也可针对非连接的应用程序,
所以扩大了本发明的适应范围;
最后,本发明在针对面向连接的应用程序时,对接收的报文进行定界,进 一步提高了报文传输的精确性。


图1为本发明方法第一实施例流程图; 图2为本发明方法第二实施例流程图; 图3为本发明方法第二实施例信令流程图; 图4为本发明方法第三实施例流程图; 图5为本发明方法第三实施例信令流程图。
具体实施例方式
本发明提供了 一种报文备份方法,用于减少主板与备板之间的备份造成的 通信通道负载。
请参阅图1,本发明方法第一实施例包括
101、 接收对端纟艮文;
其中,备板接收来自接口板的对端报文。
102、 复制到主板;
其中,备板将接收到的对端报文复制到主板。
103、 处理4艮文;
其中,主板对来自备板的对端报文进行处理。
104)、备份并发送。
其中,主板通过緩沖区向备板进行数据备份,同时主板应用程序向接口 socket发送数据。
本发明方法既可针对面向连接的应用程序,也可针对非连接的应用程序, 下面分别进行描述,面向连接的协议以TCP为例,非连接的协议以UDP/原始 IP为例
先对面向连接的应用程序进行描述,请参阅图2,本发明方法第二实施例 包括
201、 同步数据;
其中,同步备板与主板上的数据,通过主板向备板批量复制数据来实现, 这里进行的是显式备份。
202、 接收对端报文;
其中,批量复制完成之后,备板接收来自接口板的对端报文。
203、 复制到IP层;
其中,备板IP层将报文复制到主板IP层。
204、 复制到TCP层;
其中,主板IP层将来自备板IP层的报文复制到主板socket/TCP层。
205、 存入重组队列;
其中,在主板IP层将报文复制到主板socket/TCP层的同时,将报文存入 重组队列中。
206、 处理一个完整报文;
其中,主板TCP层处理经过备板到达的一个完整报文。
207、 选择序列号;
其中,主板TCP层会从下一个期望报文的序列号和重组队列中的报文最 大序列号之间选择一个较大的序列号,并记录该序列号。
208、 通知投递4艮文;
当面向连接的应用程序读取完序列号在被记录的序列号之间的所有报文 之后,主板TCP会发送一个异步消息通知应用程序寻找应用程序的边界。
在保证该面向连接的应用程序通过设置socket选项通知socket层已经处理 完一个完整的报文之后,主板的socket层会通知备板socket层从被记录的序列 号开始投递报文。
209、 投递才艮文;
其中,备板的socket层从被记录的序列号开始向应用程序投递对端报文。
210、 丢弃纟艮文;
其中,在备板的socket层从socket接收緩存和重组队列中丟弃那些序列号 小于被记录序列号的对端报文。211、 备份并发送数据。
其中,主板的緩冲区向备板的緩冲区备份数据,同时主板应用程序向 socket发送数据。
本实施例针对的是TCP应用程序的报文备份,在备板socket层投递对端 报文的过程中,如果序列号为被记录的序列号的对端报文出现在重组队列里, 那么把它移动到socket接收緩存里,直到遇到一个序列号不连续的报文。如果 报文出现在接收緩存中,备板中的socket层会发送一个异步信号通知到应用程 序来读取数据。自此,备板中的緩冲区开始向应用程序发送对端报文,从而备 板上的应用程序可以通过侦听得到对端报文。
请参阅图3,下面介绍面向连接的报文备份的信令流程
301 、备板IP层向备板socket/TCP层发送报文;
302、备板IP层向主板IP层发送报文;
303 、主板IP层向主板socket/TCP层发送报文;
界;
305、处理完一个完整的报文后,主板应用程序向主板socket/TCP层反馈 完整报文处理消息;
306 、收到消息后,主板socket/TCP层通知备板socket/TCP层投递报文;
307、备板socket/TCP层从指定的序列号开始向备板应用程序投递报文。
详细流纟呈如下
完成批量备份后,接口板发送对端报文到备板。来自接口板的对端报文会 被送往备板。备板上的IP层会复制报文到主板中的IP层。备板上的TCP层 会把收到的报文放入重组队列但不会发送任何异步信号来通知应用程序有新 的报文到达。
主板中IP层发送报文到TCP层。主板中的TCP层会将接收的报文放入 重组队列而且发送一个同步信号来通知应用程序有新的报文到达。
主板中的TCP层处理完经过备板到达的一个完整报文之后,它会从目前 期望的下一个报文的序列号和在重组队列中的报文的最大序列号之间选择一 个较大的序列号并记录下该序列号。当面向连接的应用读完序列号在被记录的 序列号之前的所有"t艮文,TCP层会发送送一个异步信号通知应用程序来寻找应 用的边界。
当如边缘网关协议(BGP, Border Gateway Protocol )或标签分布协议(LDP, Label Distribution Protocol)等面向连接的应用收到一个完整的BGP或LDP报 文,意味着找到边界,直到通过设置socket选项通知socket层已经处理了 一个 完整的报文才可以从socket层中进一 步读取报文。
在找到边界后,面向连接的应用程序必须备份在这一点之前的所有报文而 且必须保证主板和备板中的应用程序的状态相同。在保证这个面向连接的应用 通过设置socket选项通知socket层已经处理完一个完整的报文之后,在处理这 个socket选项时主i反的socket层中会通知备板中的socket层从这个序列号开 始投递报文。
备板中的socket层从这个序列号开始向应用程序投递对端报文。在备板中 的socket层从socket接收緩存和重组队列中丢弃那些序列号小于该序列号的对 端报文。
如果序列号为该序列号的对端报文出现在重组队列里,那么把它移动到 socket接收緩存里,直到遇到一个序列号不连续的报文。如果数据出现在接收 緩存中,备板中的socket层会发送一个异步信号通知到应用程序来读取数据。 自此,备板中的緩冲区开始递交对端报文到应用程序,从而备板上的应用程序 可以通过侦听得到对端报文。
上面介绍了面向连接的报文备份方法,下面介绍非连接的报文备份方法, 以UDP/原始IP为例
请参阅图4,本发明方法第三实施例包括
401、 同步数据;
其中,同步备板与主板上的数据,通过主板向备板批量复制数据来实现, 这里进行的是显式备份。
402、 接收对端4艮文;
其中,批量复制完成之后,备板接收来自接口板的对端报文。
403、 复制到IP层;
其中,备板IP层将报文复制到主板IP层。
404、 复制到UDP/原始IP层;
其中,主板IP层将来自备板IP层的报文复制到主板UDP/原始IP层。
405、 存入重组队列;
其中,在主板IP层将报文复制到主板UDP/原始IP层的同时,将报文存 入重组队列中。
406、 处理一个完整报文;
其中,主板UDP/原始IP层处理经过备板到达的一个完整报文。407、 发送异步消息;
当处理完成一个完整报文之后,主板UDP/原始IP层向应用程序发送一个 异步消息,通知下一个要读取的报文是经过备板到达的完整报文。
408、 读取一个完整才艮文;
其中,应用程序读取一个完整报文。
409、 备份数据;
其中,读完一个通过备板到达主板的完整报文之后,非连接的应用程序备 份所有的报文以保证备板和主板中应用程序状态 一致。
410、 通知处理完成;
其中,非连接应用程序通过设置socket选项通知socket层已经处理完一个 完整的报文。
411、 发送对端纟艮文;
其中,备板socket层向应用程序发送在socket接收緩存中的对端报文。应 用程序可以忽略第一个报文,如果数据是在接收緩存,备板中的socket层会发 送一个异步消息通知应用程序读取数据。从这时起,备板中的緩冲区开始向应 用程序冲殳递对端才艮文。
412、 备份并发送。
其中,主板的緩沖区向备板的緩冲区备份数据,同时主板应用程序向 socket发送数据。
本实施例是针对UDP/原始IP的应用程序的报文备份。
请参阅图5,下面介绍面向非连接的报文备份的信令流程
501 、备板IP层向备板socket/UDP/原始IP层发送对端报文;
502、 备板IP层向主板IP层发送对端报文;
503、 主板IP层向主板socket/UDP/原始IP层发送对端报文;
504、 主板socket/UDP/原始IP层向主板应用程序发送接收到的报文以及
完整报文;
505、 当处理完一个完整的报文之后,主板应用程序向主板socket/UDP/ 原始IP层反馈完整报文处理消息;
506、 主板socket/UDP/原始IP层向备板socket/UDP/原始IP层发送报文投 递消息;
507 、备板socket/UDP/原始IP层向备板应用程序发送报文。 详纟田流程如下
完成批量备份后,接口板发送对端报文到备板。对端报文会被从接口板送 到备板,备板中的IP层会复制该报文并传递报文到主板中的IP层,备板中 的IP层也会投递该报文到UDP/原始IP层。备板中的UDP/原始IP层会把接 收到的报文放入重组队列,但不会发送任何异步信号来通知应用程序有新报文 到达。
主板中的IP层投递报文到UDP /原始IP层。主板中的UDP/原始IP层会 把收到的报文放入重组队列,然后发送一个同步通知告知应用程序有新报文到 达。主板上的UDP/原始IP层在处理了经过备板到达的一个完整报文之后向 应用程序发一个异步通知,该通知宣布下一个要读取的报文是经过备板到达的 完整报文。
读完一个通过备板到达主板的完整报文之后,非连接的应用程序必须备份 所有的报文一直到这个点,以保证备板和主板中的应用程序状态一致。
当保证了这些之后,非连接应用程序通过设置socket选项通知socket层已 经处理完一个完整的才艮文。在处理这个socket选项过程中,主板中的socket 层会通知备板中的socket层已经处理完一个完整的报文。
备板中的socket层向应用程序投递在socket接收緩存中的对端报文。应用 程序可以忽略第一个报文。如果数据是在接收緩存中,备板中的socket层会发 送一个异步消息来通知应用程序读数据。从这时起,备板中的緩沖区开始向应 用程序投递对端才艮文。
以上对本发明所提供的一种报文备份方法进行了详细介绍,本文中应用了 具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于
帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依 据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。
权利要求
1、一种报文备份方法,其特征在于,包括步骤备板接收来自接口板的对端报文;将报文复制到主板;主板处理报文;主板通过缓冲区向备板进行备份并发送数据。
2、 根据权利要求1所述的报文备份方法,其特征在于,所述将报文复制 到主板的步骤包括步骤备板互联网协议层将报文复制到主板互联网协议层;主板互联网协议层将所述报文复制到主板传输控制协议层并存入重组队列。
3、 根据权利要求2所述的报文备份方法,其特征在于,所述主板处理报 文的步骤包括步骤主板传输控制协议层处理经过备板到达的一个完整报文;选择下一期望报文序列号与重组队列中报文最大序列号之间的最大值并 记录该最大值;主板接口通知备板接口从所述最大值序列号开始投递报文。
4、 根据权利要求3所述的报文备份方法,其特征在于,所述主板处理报 文之后包括步骤备板接口从所述最大值序列号开始向应用程序发送对端报文;丢弃序列号小于所述序列号的报文。
5、 根据权利要求1所述的报文备份方法,其特征在于,所述将报文复制 到主板的步骤包括步骤备板互联网协议层将报文复制到主板互联网协议层;主板互联网协议层将所述报文复制到主板用户数据报协议/原始互联网协 议层并存入重组队列。
6、 根据权利要求5所述的报文备份方法,其特征在于,所述主板处理报 文的步骤包括步骤主板用户数据报协议/原始互联网协议层处理经过备板到达的一个完整报文;向应用程序发送异步消息以通知应用程序下一个要读的报文是所述经过 备板到达的所述完整报文;读完所述完整报文之后,应用程序备份所有数据; 主板接口通知备板接口已经处理完报文。
7、 根据权利要求6所述的报文备份方法,其特征在于,所述主板处理报 文之后包括步骤备板接口将接口緩存中的对端报文发送到应用程序。
8、 根据权利要求1所述的报文备份方法,其特征在于,所述备板接收来 自接口板的对端报文之前进一步包括步骤同步备板与主板上的数据。
9、 根据权利要求8所述的报文备份方法,其特征在于,所述同步备板与 主板上的数据的步骤包括步骤向备板批量复制主板上的所有数据。
10、 根据权利要求1所述的报文备份方法,其特征在于,所述主板向备板 进行备份的步骤包括步骤主板緩冲区向备板緩冲区发送所有存储数据。
全文摘要
本发明公开了一种报文备份方法,用于简化报文在主板与备板之间备份。本发明报文备份方法包括步骤备板接收来自接口板的对端报文;将报文复制到主板;主板处理报文;主板通过缓冲区向备板进行备份并发送数据。本发明可以减少通信信道的负担。
文档编号H04L29/06GK101114892SQ200610103939
公开日2008年1月30日 申请日期2006年7月28日 优先权日2006年7月28日
发明者远 姚, 帕拉迪, 拉介什, 涂伯颜, 罗汉军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1