业务迁移的方法和系统的制作方法

文档序号:7645319阅读:172来源:国知局
专利名称:业务迁移的方法和系统的制作方法
技术领域
本发明涉及电子通信领域,尤其涉及一种业务迁移的方法和系统。
技术背景在通信系统的多框设备中,用户新购买主控板之后,往往需要在不间断业 务的前提下,将部分业务迁移到新的主控板上,或在从一个协议栈迁移到另一 个协议栈,或者从一个进程迁移到另一个进程等等。而在路由器或其他通信设备上,业务的应用进程一般是基于套接字(socket) 的,套接字是同一主机应用层与传输层之间的接口,是支持TCP/IP (Transfer Control Protocol/Internet Protocol,传输3空制十办i义/网际十办-汉)协-议的网全各通4言的 基本操作单元。在这种情况下,遇到的问题是如何将业务进行迁移,并且套接 字也伴随迁移到新的主控板、协议栈及进程上。发明人在实现本发明的过程中 发现现有的解决方案只能中断业务的应用进程,然后在另一主控板、协议栈及 进程上重新启动,这样并没有满足不间断业务的前提下进行业务迁移的用户要 求。发明内容本发明实施例提供了一种业务迁移的方法和系统,实现了在业务不间断的 前提下,完成业务在主控板之间或协议栈之间或进程之间的迁移。 本发明实施例提出了一种业务迁移的方法,包括原业务单元和原套接字单元通知另 一协议栈创建新业务单元和新套接字单 元,同时原套接字单元保存新套接字单元的位置信息;将原业务单元的数据复制到新业务单元,同时将原套接字单元的套接字数 据复制到新套接字单元;根据新套接字单元的位置信息将业务从原业务单元和原套接字单元迁移到 新业务单元和新套接字单元;
新业务单元从新套接字单元获取数据,关闭原业务单元和原套接字单元。相应地,本发明实施例还提供了一种业务迁移的方法,包括 建立新业务单元,并将原业务单元的数据复制到新业务单元; 原套接字单元向新业务单元发送数据,完成业务的迁移; 新业务单元获取原套接字单元的数据后,通知原业务单元关闭。 相应地,本发明实施例还提供了一种业务迁移系统,所述系统包括原业务单元、原套接字单元和^^文分发单元;其中,原业务单元,与原套接字单元耦接,其包括报文获取模块,用于从原套接字单元中获取报文中的数据;业务单元创建模块,用于通知协议栈创建新业务单元;数据复制模块,用于将所述报文获取模块获取的数据复制到所述业务单元创建模块所建立的新业务单元中;其中,原套接字单元,与原业务单元和报文分发单元耦接,其包括 报文接收模块,用于从报文分发单元中获取报文;套接字单元创建模块,用于通知协议栈创建新套接字单元,并保存新套接 字单元的位置信息,其中,所述新套接字单元与所述新业务单元耦接;数据备份模块,用于将原套接字单元的套接字数据复制到新套接字单元;业务迁移模块,用于根据所述新套接字单元的位置信息,将业务从原业务 单元和原套接字单元迁移到新业务单元和新套4矣字单元;其中,报文分发单元,与原套接字单元和所述新套接字单元耦接,用于根 据位置信息向原套接字单元或新套接字单元发送报文。综上所述,本发明实施例提供的一种业务迁移的方法及系统,通过创建新 业务单元或/和新套接字单元,并将原业务单元和原套接字单元的数据复制到新 业务单元和新套接字单元,然后将业务迁移到新业务单元和新套接字单元完成 业务的平滑迁,保证了业务的不中断,从而保证了 QoS (Quality of Service,服 务质量),满足了用户需求。


图1是本发明实施例的一种业务迁移的系统结构框图; 图2是图1所述原业务单元的结构示意图;图3是图1所述原套接字单元的结构示意图;图4是图3所述业务迁移模块的结构示意图;图5是本发明实施例的一种业务迁移的方法的流程图;图6是图5所述的步骤S3的详细流程图;图7是图6所述的步骤S33的详细流程图;图8是本发明实施例的一种业务迁移的方法的流程图;图9是图8所述的步骤S82的详细流程图。
具体实施方式
本发明实施例提供的一种业务迁移的方法及系统,通过创建新的业务单元 或新套接字单元,并将原业务单元和原套接字单元的数据复制到新业务单元和 新套接字单元,然后将业务迁移到新业务单元和新套接字单元完成业务的平滑 迁移。下面首先结合图1、图2、图3和图4详细阐述本发明实施例的一种业务迁 移系统的技术方案。参考图1,是本发明实施例的一种业务迁移的系统结构框图。才艮据本图所述 业务迁移系统包括原业务单元l、原套接字单元2和"t艮文分发单元3;其中,如图2所示,原业务单元l,与原套接字单元2耦接,其包括报文获取模块11,用于从原套接字单元2中获取报文中附带的数据;业务单元创建模块12,用于通知协议栈创建新业务单元l',如果所述协议 栈与原业务单元所在协议栈相同,则实现的业务在基于同 一协议栈进程的不同 业务进程之间的迁移,如果所述协议栈与原业务单元所在协议栈不同,则实现 的是跨协议栈或跨主控板的业务迁移。数据复制模块13,用于将所述报文获取模块11获取的数据复制到所述业务 单元创建模块12所建立的新业务单元l'中。其中,如图3所示,原套接字单元2,与原业务单元1和报文分发单元3耦 接,是原业务单元l在建立socket时创建的socket实例,其包括报文接收模块21,用于从报文分发单元3中获取报文;套接字单元创建模块22,用于通知协议栈创建新套接字单元2',并保存新 套接字单元2'的位置信息,其中,所述新套接字单元2'与所述新业务单元l'耦接; 数据备份模块23,用于将原套接字单元2的套接字数据(包括配置数据和 控制数据)复制到新套接字单元2';业务迁移模块24,用于根据所述新套接字单元2'的位置信息,将业务从原 业务单元1和原套接字单元2迁移到新业务单元l'和新套接字单元2'。其中,报文分发单元3,与原套接字单元2和所述新套接字单元2'耦接,用 于根据位置信息向原套接字单元2或新套接字单元2'发送才艮文,具体为根据socket对象创建时的三元组(包括三个参数目的IP、源IP、协议号) 或五元组(包括五个参数目的IP、源IP、协议号、目的端口号、源端口号) 对报文进行区分,由于新套接字单元的三元组或五元组与原套接字单元完全一 致,当原套接字单元通知报文分发单元需要进行流切换时,报文分发单元将新 套接字单元的位置信息更新,并根据新套接字单元的位置信息将报文发送给新 套接字单元所在的协议栈。在具体实现时,如图4所示,所述原套接字单元2的业务迁移模块24具体 可以包括报文定界控制模块241,用于通知原业务单元1进行报定界,并接收指示报 文定界完成的同步调用信息;报文转发模块243,与报文定界控制模块241耦接,用于报文定界完成后向 新套接字单元2'转发所述报文接收模块21从报文分发单元3获取的报文;位置信息发送模块242,与报文定界控制模块241耦接,用于报文定界完成 后,将新套接字单元2'的位置信息发送给报文分发单元3,报文分发单元3接收 到所述新套接字单元2'的位置信息后,将停止向原套接字单元2发送报文,并 根据该位置信息向新套接字单元2'发送报文。相应地,原业务单元1可以进一步包括报文定界模块14,用于接收到原套接字单元2的报文定界通知后,控制所 述报文获取模块11从原套接字单元2读取一个完整报文的数据后停止继续读 取,并向原套接字单元2发送同步调用信息,通知报文定界完成。上面详细阐述了本发明实施例的系统的技术方案,下面以业务运行基于 TCP的socket为例,结合图5、图6和图7详细说明本发明实施例的一种业务迁 移的方法的技术方案。参考图5,是本发明实施例的一种业务迁移的方法的流程图;所述方法包括 步骤Sl,原业务单元的业务单元创建模块和原套接字单元的套节字单元创建^^莫块通知另一协议栈创建新业务单元和新套接字单元,同时原套接字单元保存新套接字单元的位置信息;步骤S2,原业务单元的数据复制模块将原业务单元的数据复制到新业务单 元,同时院套接字单元的数据备份模块将原套接字单元的套接字数据复制到新 套接字单元;步骤S3,原套接字单元的业务迁移模块根据新套接字单元的位置信息将业 务从原业务单元和原套接字单元迁移到新业务单元和新套接字单元;步骤S4,新业务单元从新套接字单元获取数据,关闭原业务单元和原套接 字单元。其中,如图6所示,图5所述步骤S3具体可以包括步骤S31,原套接字单元的报文定界控制模块通知原业务单元进行报文定界;步骤S32,原业务单元接收到报文定界通知消息后,其报文定界模块控制报 文获取模块从原套接字单元读取一个完整报文后,不再继续读取,并发一个同 步调用信息到原套接字单元,通知"t艮文定界完成;步骤S33,原套接字单元的报文定界控制模块接收到所述同步调用信息后, 知道报文定界完成,根据新套接字单元的位置信息,将报文流从原业务单元和 原套接字单元切换到新业务单元和新套接字单元。在具体实现时,如图7所示,图6所述步骤S33具体包括步骤S331,原套接字单元获知报文定界完成后,停止向原业务单元发送数 据报文,并利用报文转发模块将后续报文转发到新套接字单元,同时原业务单 元利用数据复制模块将所有读取的数据实时备份到新业务单元;步骤S332,原套接字单元的位置信息发送^^莫块将新套接字单元的位置信息 发送给报文分发单元;步骤S333,报文分发单元根据新套接字单元的位置信息向该套接字单元发 送报文;步骤S334,新套接字单元在接收到来自报文分发单元的报文后,向原套接 字单元发送一知会消息;步骤S335,原套接字单元接收到知会消息后将所有后续报文转发给新套接
字单元,并停止获取报文分发单元的数据;步骤S336,新套接字单元将原套接字单元发来的报文和来自报文分发单元 的报文合并为一队列,并通知新业务单元处理。以上详细阐述了本发明实施例的 一种业务迁移的方法,解决了业务在不同 协议栈之间迁移的问题,当然不同协议栈可以在同一个主控板上,也可以分别 在不同的主控板上。如果两个协议栈在分别在不同的两个主控板上,则本发明 实施例完成了业务在不同主控板之间的迁移。相应地,本发明实施例提出的一种业务迁移的方法可以实现业务在基于同 一协议栈进程的不同业务进程之间的迁移,如图8所示, 一种业务迁移的方法 包括步骤S81,原业务单元的业务单元创建模块通知所在协议栈建立新业务单 元,并利用数据复制才莫块将原业务单元的数据复制到新业务单元;步骤S82,原套接字单元向新业务单元发送lt据,完成业务的迁移; 步骤S83,新业务单元获取原套接字单元的数据后,通知原业务单元关闭。 其中,如图9所示,图8所述步骤S82具体包括步骤S821,原套接字单元的报文定界控制4莫块通知原业务单元进行报文定界;步骤S822,原业务单元接收到通知消息后,利用其报文定界模块控制报文 获取模块从原套接字单元读取一个完整报文后,不再继续读取,并发一个同步调用信息到原套接字单元,通知报文定界完成;步骤S823,原套接字单元获知报文定界完成后,停止向原业务单元发送数 据,并利用"t艮文转发才莫块将后续数据转发到新业务单元,同时原业务单元的数 据复制模块将所有读取的数据实时备份到新业务单元。值得说明的是,上述实施例以业务运行基于TCP的socket为例4又述本发明 的技术方案,但并不限于此,本发明同样可以实现基于用户数据报协议(User Datagram Protocol, UDP )、原始IP协议(Raw IP, RAWIP)等协议的socket的 业务在不同协议栈/主控板之间或者不同业务进程之间的迁移,在具体实现过程 中,可以对UDP报文、RAWIP报文进行定界处理,也可以不进行定界处理。上述实施例具体阐述了本发明实施例的一种业务迁移的方法在不同协议栈/ 主控板之间,以及在不同业务进程之间迁移的技术方案,本发明实施例还可以
通过业务迁移实现业务单元软件不间断升级(In Service Software Upgrade, ISSU),具体可以通过把所述的新业务单元升级到新版本,然后将旧版本的原业新业务单元上,迁移的同时对数据进行升级处理,迁移完成后,业务运行在新 版本的新业务单元上,关闭旧版本的原业务单元,完成版本升级。综上所述,本发明实施例提供的一种业务迁移的方法及系统,通过创建新 的业务单元或/和新套接字单元,并将原业务单元和原套接字单元的数据复制到 新业务单元和新套接字单元,然后将业务迁移到新业务单元和新套接字单元完 成业务在不同协议栈之间或不同主控板之间,以及不同业务进程之间的平滑迁 移,保证了业务的不中断,从而保证了 QoS,满足了用户需求,同时还可以利 用本发明实施例的技术方案实现业务单元的不间断升级。以上所揭露的仅为本发明 一种较佳实施例而已,当然不能以此来限定本发 明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的 范围。
权利要求
1、一种业务迁移的方法,其特征在于,包括原业务单元和原套接字单元通知另一协议栈创建新业务单元和新套接字单元,同时原套接字单元保存新套接字单元的位置信息;将原业务单元的数据复制到新业务单元,同时将原套接字单元的套接字数据复制到新套接字单元;根据新套接字单元的位置信息将业务从原业务单元和原套接字单元迁移到新业务单元和新套接字单元;新业务单元从新套接字单元获取数据。
2、 如权利要求l所述的方法,其特征在于,所述原套接字单元的套接字数 据包括配置lt据和控制凄丈据。
3、 如权利要求1或2所述的方法,其特征在于,根据新套接字单元的位置 信息将业务从原业务单元和原套接字单元迁移到新业务单元和新套接字单元的 步骤具体包括原套接字单元通知原业务单元进行报文定界;原业务单元接收到报文定界通知消息后从原套接字单元中读取一个完整报 文的数据后,不再继续读取,并发一个同步调用信息到原套接字单元,通知报 文定界完成;报文定界完成后,根据新套接字单元的位置信息,将报文流从原业务单元 和原套接字单元切换到新业务单元和新套接字单元。
4、 如权利要求3所述的方法,其特征在于,所述根据新套接字单元的位置 信息,将报文流从原业务单元和原套接字单元切换到新业务单元和新套接字单 元的步骤具体包括原套接字单元获知报文定界完成后,停止向原业务单元发送数据,并将后 续报文转发到新套接字单元,同时原业务单元将所有读取的数据实时备份到新 业务单元;原套接字单元将新套接字单元的位置信息发送给报文分发单元; 报文分发单元根据新套接字单元的位置信息向该新套接字单元发送报文; 新套接字单元在接收到来自报文分发单元的报文后,向原套接字单元发送一知会消息;原套接字单元接收到知会消息后将后续报文转发给新套接字单元,并停止获取报文分发单元的数据;新套接字单元将原套接字单元发来的报文和来自报文分发单元的报文合并 为一队列,并通知新业务单元处理。
5、 一种业务迁移的方法,其特征在于,包括 建立新业务单元,并将原业务单元的it据复制到新业务单元; 原套接字单元向新业务单元发送数据,完成业务的迁移; 新业务单元获取原套接字单元的数据后,通知原业务单元关闭。
6、如权利要求5所述的方法,其特征在于,原套接字单元向新业务单元发 送"R文,完成业务的迁移具体包括原套接字单元通知原业务单元进行报文定界;原业务单元接收到通知消息后,从原套接字单元读取一个完整报文的数据 后,不再继续读取,并发一个同步调用信息到原套接字单元,通知报文定界完 成;原套接字单元获知报文定界完成后,停止向原业务单元发送数据,并将后 续数据转发到新业务单元,同时原业务单元将其读取的数据实时备份到新业务 单元。
7、 一种业务迁移系统,其特征在于,所述系统包括原业务单元、原套接 字单元和报文分发单元;其中,原业务单元,与原套接字单元耦接,其包括报文获^4莫块,用于从原套接字单元中获取报文中的数据;业务单元创建沖莫块,用于通知协议栈创建新业务单元;数据复制模块,用于将所述报文获取模块获取的数据复制到所述新业务单 元中;其中,原套接字单元,与原业务单元和报文分发单元耦接,其包括 报文接收模块,用于从报文分发单元中获取报文;套接字单元创建模块,用于通知协议栈创建新套接字单元,并保存新套接 字单元的位置信息,其中,所述新套接字单元与所述新业务单元耦接;数据备份模块,用于将原套接字单元的套接字数据复制到所述新套接字单元;业务迁移模块,用于根据所述新套接字单元的位置信息,将业务从原业务 单元和原套接字单元迁移到新业务单元和新套接字单元;其中,报文分发单元,与原套接字单元和所述新套接字单元耦接,用于根 据位置信息向原套接字单元或新套接字单元发送报文。
8、 如权利要求7所述的系统,其特征在于,所述原套接字单元的业务迁移 模块包括-.报文定界控制模块,用于通知原业务单元进行报定界,并接收指示报文定 界完成的同步调用信息;报文转发模块,与报文定界控制模块耦接,用于报文定界完成后向新套接 字单元转发所述报文接收模块从报文分发单元获取的报文;位置信息发送模块,与报文定界控制模块耦接,用于报文定界完成后,将 新套接字单元的位置信息发送给报文分发单元。
9、 如权利要求8所述的系统,其特征在于,所述原业务单元进一步包括 报文定界模块,用于接收到原套接字单元的报文定界通知后,控制所述报文获取模块从原套接字单元读取一个完整报文的数据后停止继续读取。
10、 如权利要求6至9任意一项所述的系统,其特征在于,所述原套接字 单元的套接字数据包括配置数据和控制数据。
全文摘要
本发明公开了一种业务迁移的方法,包括原业务单元和原套接字单元通知另一协议栈创建新业务单元和新套接字单元,同时原套接字单元保存新套接字单元的位置信息;将原业务单元的数据复制到新业务单元,同时将原套接字单元的套接字数据复制到新套接字单元;根据新套接字单元的位置信息将业务从原业务单元和原套接字单元迁移到新业务单元和新套接字单元;新业务单元从新套接字单元获取数据。相应地,本发明还公开了一种业务迁移的方法和系统,根据本发明提供的业务迁移的方法和系统可以在业务不间断的前提下,实现业务在协议栈/主控板之间或者同一协议栈进程的不同业务进程之间平滑迁移。
文档编号H04L12/56GK101399692SQ20071003055
公开日2009年4月1日 申请日期2007年9月27日 优先权日2007年9月27日
发明者罗汉军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1