[发明专利]一种基于Click的虚拟网元在线编排方法有效

专利信息
申请号: 201810255339.4 申请日: 2018-03-21
公开(公告)号: CN108449214B 公开(公告)日: 2020-09-25
发明(设计)人: 李克秋;黄宇晨;齐恒;王军晓 申请(专利权)人: 大连理工大学
主分类号: H04L12/24 分类号: H04L12/24;H04L12/26;H04L29/08;G06F8/38
代理公司: 大连理工大学专利中心 21200 代理人: 温福雪;侯明远
地址: 116024 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种基于Click的虚拟网元构建方法,属于计算机应用技术领域。本方法在以Click模块化路由器为基础构建的虚拟网元中添加了用户编程接口模块、轻量化Click组件编译模块和Click状态保留模块。使得新的系统能够在因用户自定义需求而造成的虚拟网元切换的场景中,达到方便用户开发自定义组件和网元、加速用户定制网元的生成过程,保证网元切换过程中流量的正确处理以及数据包缓冲区的充分利用的效果,从而具备虚拟网元在线编排的能力。
搜索关键词: 一种 基于 click 虚拟 在线 编排 方法
【主权项】:
1.一种基于Click的虚拟网元在线编排方法,其特征在于,该基于Click的虚拟网元在线编排方法逻辑功能上由在线编排设计阶段的用户编程接口模块、轻量化Click组件编译模块以及在线编排实施阶段的Click状态保留模块三部分组成;所述的在线编排设计阶段的用户编程接口模块,负责为用户抽象Click自定义组件的编写规范,减少用户编写组件的复杂度;所述的在线编排设计阶段的用户编程接口模块包括当前加载的虚拟网元处理子模块、Click网元库子模块、Click组件库子模块、Click网元设计子模块、Click组件设计子模块和Click网元切换子模块;步骤一,加载当前实例承载的Click网元的信息:当用户登录系统时,向实例发送HTTP GET Request,请求当前网元的配置信息;轻量化Click组件编译模块的前端运行一个RPC服务器响应GET请求,并到约定的Click网元配置路径下取出当前的网元配置,如果读取成功,则返回图形化和文本化的网元配置信息,如果读取失败,则返回空表示当前实例未承载Click网元;步骤二,确定用户需求:用户需求分为修改当前网元的配置以及切换当前网元;修改当前网元的配置转向步骤三;切换当前网元分为用户需求被Click网元库中的网元满足和不被满足两种情况,前者转向步骤四,后者转向步骤五;步骤三,处理用户修改当前网元配置的需求:用户通过修改步骤一提供的图形化和文本化的Click网元配置信息,完成对当前网元的配置修改操作,当前加载的虚拟网元处理子模块将用户所做的修改以键值对的形式,通过HTTP POST的方式,提交给RPC服务器,完成配置的修改;步骤四,处理用户切换网元的需求时,进入Click网元库子模块,查看满足需求的网元,如果需要对网元进行配置,则通过Click网元库子模块对查看的网元进行配置,配置完成后,通过HTTP POST的方式,将配置后的网元提交给RPC服务器,如果用户发现Click网元库中存在不再使用的网元时,使用Click网元库子模块的删除网元功能进行删除;步骤五,处理用户需要的网元无法在Click网元库中找到的情况,跳转到Click网元设计子模块,使用户从组件库中挑选Click组件,完成网元设计;此时,根据用户需求的网元功能能否被Click组件库中已有的组件实现,将需求分为两种情况:能实现的情况转向步骤六和不能实现的情况转向步骤七;步骤六,如果用户需要对选中的组件进行修改,使用Click组件库子模块进行查看和修改,如果发现不再被使用的组件,则使用删除组件进行删除;用户在网元设计子模块按照网元要求连接所有用到的Click组件构建Click网元,构建完成后,将该网元加入网元库,并通过Click网元切换子模块以HTTP POST的方式提交给RPC服务器;步骤七,当用户需要的网元无法被现有的Click组件库实现时,跳转到Click组件设计子模块,提供用户自定义组件;在Click组件设计子模块中完成组件设计后,加入Click组件库;当所有自定义组件都实现并加入组件库后,用户需求的网元变为能被现有组件实现的状态,从而转向步骤六;所述的轻量化Click组件编译模块,运行在承载Click网元的实例上,负责加快用户自定义组件集成到Click系统中,加快用户定制Click网元的生成过程;所述的轻量化Click组件编译模块包括RPC服务器、组件编译器、网元组件解析器、组件依赖分析器、组件依赖关系数据库、网元组件表、重用组件和网元生成器;步骤一,RPC服务器等待来自在线编排设计阶段的用户编程接口模块的网元处理请求,当请求发生时,确定请求类型为修改当前网元配置或切换当前网元,前者转向步骤二,后者转向步骤三;步骤二,将修改当前网元配置的请求进行转发,取出请求中的组件和配置的键值对,使用本地方法调用的方式,调用Click状态保留模块,Click状态保留模块通过模块自带的Socket和Netlink机制,完成对组件配置参数的修改;步骤三,RPC服务器在收到切换当前网元的请求后,首先使用消息,通知Click状态保留模块进行状态存储和数据包缓冲的工作;其次,使用网元组件解析器,对作为请求参数传入的用户定制网元进行组件解析,从网元配置中解析出所有组件名,将组件名提交给组件依赖分析器;最后,判断网元中是否包含用户自定义的组件,如果不包含则转向步骤四,反之则转向步骤七;步骤四,组件依赖分析器接收到网元组件解析器传送的组件名后,根据组件名向组件依赖关系数据库中查询所有组件的依赖关系,并将组件和组件依赖汇总成一个网元组件表,转向步骤五;步骤五,网元生成器将该网元用到的重用组件、静态链接库和网元组件表,进行部分链接,生成该网元的可执行文件,转向步骤六;步骤六,当用户定制网元生成完毕后,网元生成器通知Click状态保留模块新网元已生成完毕;步骤七,当该请求包含用户自定义组件时,首先,组件编译器从请求中取出自定义组件的源代码;其次,调用GCC编译器完成对组件的编译,如果组件编译成功,则转向步骤八,如果组件编译失败,则由RPC服务器向上反馈编译错误信息;步骤八,组件编译器在完成组件编译后,生成自定义组件的编译中间文件和组件依赖信息,将组件依赖信息写入组件依赖关系数据库后,将自定义组件视为重用组件,进而转向步骤四;所述的在线编排实施阶段的Click状态保留模块,负责控制Click网元切换过程中的网络处理,保证切换中的数据包处理正确性以及切换后对缓冲区数据包的充分利用,包含网元配置、网元状态存取、链路保活和缓冲区数据包利用三个部分;步骤一,在线编排实施阶段的Click状态保留模块接收到轻量化Click组件编译模块的网元处理信息后,确定消息的类型,分为网元配置消息、网元切换消息和用户定制网元生成完毕消息;网元配置消息处理转向步骤二,网元切换消息处理转向步骤五,用户定制网元生成完毕消息处理转向步骤八;步骤二,网元配置消息部分从消息中提取出组件和配置的键值对,根据当前加载的网元是否在用户态运行进行不同的处理,前者转向步骤三,后者转向步骤四;步骤三,网元配置消息部分通过作为键的组件名,使用相应的Socket客户端,将作为值的配置参数传递给相应的组件,组件接收到配置参数后将配置同步,配置结束后向轻量化Click组件编译模块返回配置结果;步骤四,网元配置部分将组件名和配置参数传递给用户态代理,用户态代理通过组件名,使用相应的自定义NetLink协议号,将配置参数传递给相应组件,组件接收到配置参数后将配置同步,配置结束后向轻量化Click组件编译模块返回配置结果;步骤五,网元状态保存部分在接收到网元切换消息后,通知缓冲机制进行数据包缓冲,通知链路保活部分进行链路保活;在如上两个工作开始后,进行旧网元的卸载;旧网元组件在被卸载前,会触发组件析构函数中的状态保存代码,当旧网元在用户态运行时转向步骤六,在内核态运行时转向步骤七;步骤六,旧网元中的组件调用libsqlite3‑dev中的数据库写入方法,将旧网元组件维护的网络状态写入sqlite3数据库中,并将旧网元状态保存标志置为1,表示网络状态保存完毕;步骤七,旧网元中的组件通过NetLink机制,将网络状态从内核态传递到用户态代理,用户态代理调用libsqlite3‑dev中的数据库写入方法,将网络状态写入数据库,并将旧网元状态保存标志置为1,表示网络状态保存完毕;步骤八,在线编排实施阶段的Click状态保留模块接收到当用户定制网元生成完毕消息后,首先检查旧网元状态保存标志位是否为1,如果为0则等待状态保存工作完成,如果标志位为1则表示旧网元的网络状态已保存,进行新旧网元的切换;新网元组件在加载前,会触发组件构造函数中的状态恢复代码,当新网元在用户态运行时转向步骤九,当新网元在内核态运行时转向步骤十;步骤九,新网元的组件调用libsqlite3‑dev中的数据库读取方法,从sqlite3数据库中读出网络状态,组件根据读出的网络状态参数初始化组件,完成网络状态恢复后将新网元状态恢复标志置为1,转向步骤十一;步骤十,新网元的组件通过NetLink机制,将网络状态从用户态传递到内核态组件,完成网络状态恢复后将新网元状态恢复标志置为1,转向步骤十一;步骤十一,当新网元状态恢复标志为1时,保活机制停止,缓冲区数据包利用部分,将数据包缓冲区的数据包缓存导入新网元,新网元上线成功后,向轻量化Click组件编译模块返回网元切换完毕消息,经层层反馈后告知用户新网元已上线成功。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810255339.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top