发明名称 一种双机热备份方法及系统
摘要 本发明公开了一种双机热备份方法和系统。所述方法,采用时效输出缓存与集线器配合,在正常情况下,主用机接收集线器发送的数据包、并进行处理以及回注过程;备用机处于standby状态,缓存集线器首次广播的数据包;同时当收到主用机回注的数据包时,缓存命中成功,缓存删除;在主用机工作正常但数据包回注异常情况下,主用机流量回注失败,备用机的缓存仅仅缓存了集线器首次广播的数据包,时效输出缓存通过线程轮询的策略回注此数据包,保证网络应用处理丢包率为零;在主用机工作异常情况下,备用机实时检测到主用机失败,备用机完成切换过程,备用机接替主用机继续工作。
申请公布号 CN102118309B 申请公布日期 2013.08.21
申请号 CN201010620086.X 申请日期 2010.12.31
申请人 中国科学院计算技术研究所 发明人 王勇;贺龙涛;周渊;郝志宇;吴志刚;罗浩;王曦
分类号 H04L12/70(2013.01)I;H04L1/22(2006.01)I 主分类号 H04L12/70(2013.01)I
代理机构 北京律诚同业知识产权代理有限公司 11006 代理人 祁建国;梁挥
主权项 一种双机热备份方法,其特征在于,采用时效输出缓存与集线器配合,在正常情况下,主用机接收集线器发送的数据包、并进行处理以及回注过程;备用机处于standby状态,缓存集线器首次广播的数据包;同时当收到主用机回注的数据包时,缓存命中成功,缓存删除; 在主用机工作正常但数据包回注异常情况下,主用机流量回注失败,备用机的缓存仅仅缓存了集线器首次广播的数据包,时效输出缓存通过线程轮询的策略回注此数据包,保证网络应用处理丢包率为零; 在主用机工作异常情况下,备用机实时检测到主用机失败,备用机完成切换过程,备用机接替主用机继续工作; 所述方法,包括下列步骤: 步骤100.所述集线器从数据源接收一个网络数据包,将此时的数据包的状态标记为PKT_ORIGIN; 步骤200,集线器判断所述数据包是否是以太网类型,若是,则广播所述数据包;否则,丢弃所述数据包; 步骤300.主用机和备用机的管理调度模块分别接收所述数据包,并将所述数据包的状态标记为PKT_BCAST_F;所述主用机执行步骤400,所述备用机执行步骤600; 步骤400.所述主用机的管理调度模块对所述数据包进行数据包状态判别,若所述数据包的状态为PKT_BCAST_F,则执行步骤500;否则,丢弃所述数据包; 步骤500.用户程序执行相关业务的处理,所述管理调度模块判断是否回注所述数据包,若是,所述数据包被回注到集线器,集线器进行第二次数据包广播,将数据包状态被标记为PKT_BCAST_S,返回步骤300;否则,结束备份; 步骤600.所述备用机的管理调度模块对所述数据包进行数据包状态判别,若所述数据包的状态为PKT_BCAST_F或PKT_BCAST_S,则执行步骤700;否则,丢弃所述数据包; 步骤700.所述备用机的时效输出缓存提取所述数据包的信息,判断所述数据包是否命中缓存,若是,则删除缓存数据包;否则,在缓存中添加所述数 据包,执行步骤800; 步骤800.所述备用机进行缓存时效性的验证;判断是否回注所述数据包,若是,则所述数据包被回注到集线器,返回步骤300;否则,继续进行所述备用机进行缓存时效性的验证; 所述时效输出缓存的数据结构采用哈希表结合双向时间链表的方式实现,当采用固定内存管理策略时,将所述哈希表中的哈希结点以及双向时间链表结点放置在固定内存管理的LRU双向链表中。
地址 100080 北京市海淀区中关村科学院南路6号