[发明专利]一种网络设备虚拟化驱动适配层的实现方法和装置有效
申请号: | 202110983483.1 | 申请日: | 2021-08-25 |
公开(公告)号: | CN113672411B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 罗超;张小虎;刘博文;杨合明;高腾飞;李炳根 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50;G06F9/455 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 曲卫涛 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络设备 虚拟 驱动 适配层 实现 方法 装置 | ||
本发明涉及网络通信技术领域,提供了一种网络设备虚拟化驱动适配层的实现方法和装置。方法包括将直接对芯片操作的线程拆分为一个独立驱动进程和至少一个业务进程,业务组件由拆分出的业务进程承载,所述业务组件以消息形式和驱动进程进行交互;业务进程将虚拟设备中业务进程的业务资源和驱动进程中的数据表项进行数据映射操作。本发明将直接对芯片操作的驱动线程拆分为独立进程后,可以分别独立运行,驱动进程可以单独调试。
【技术领域】
本发明涉及网络通信技术领域,特别是涉及一种网络设备虚拟化驱动适配层的实现方法和装置。
【背景技术】
随着虚拟化技术的普及,网络设备虚拟化技术得到了越来越多的应用,网络设备虚拟化分为一个网络设备虚拟多个虚拟设备和多个网络设备虚拟一个虚拟设备。对于一个网络设备虚拟多个虚拟设备的情况,由于芯片驱动只能存在于一个进程中,且不能多进程访问,因此,如何解决虚拟化的多个进程访问不能虚拟化的驱动进程,以及虚拟化的多个进程向驱动进程下配置的问题成为了目前急需解决的问题。
【发明内容】
本发明要解决的技术问题是虚拟化的多个不同进程访问不能进行虚拟化的驱动进程和虚拟化的多个进程向驱动执行配置下发以及驱动向虚拟化设备进程进行性能上报的问题。
本发明采用如下技术方案:
第一方面,本发明提供了一种网络设备虚拟化驱动适配层的实现方法,方法包括:
将直接对芯片操作的线程拆分为一个独立驱动进程和至少一个业务进程,业务组件由拆分出的业务进程承载,所述业务组件以消息形式和驱动进程进行交互;
业务进程将虚拟设备中业务进程的业务资源和驱动进程中的数据表项进行数据映射操作;
其中,每个业务进程的业务资源包括DHCM组件、UDM组件、GTHER组件、PM CLENT组件中的一项或者多项。
优选的,所述业务进程中的业务资源在进行业务数据对象向驱动进程转发时,方法包括:
根据所述数据映射将所述的业务数据对象转化为驱动进程中相应的数据表项后,传递给业务进程中的上部SDA;
所述业务进程的上部SDA进行所述数据表项合法性判断,对于合法性判断通过的数据表项,通过所述业务进程的上部SDA以消息交互方式,传递给驱动进程的下部SDA,以便下部SDA调用驱动接口,完成对相应数据在芯片上的操作。
优选的,所述驱动进程和业务进程之间通过共享内存完成消息的交互,实现方法具体包括:
消息的发送侧修改接收侧的信号量,用于通知接收侧进行数据读取操作;
接收侧判断信号量是否被修改,若确定信号量被修改,则接收侧读取自身的消息链表,从而获取到相应的数据内容;
其中,消息的发送侧和接收侧分别为驱动进程和业务进程,或者分别为业务进程和驱动进程。
优选的,所述接收侧判断信号量是否被修改,在驱动进程中表现为驱动进程为一个或者多个业务进程开辟有相应的消息接收线程,其中,业务进程数量和消息接收线程数量是一对一关系,或者是多对一关系,方法还包括:
所述驱动进程将各个消息接收线程中获取的消息按照预设的类型进行相应的优先级排序后,放到消息队列中;
所述消息接收线程从所述消息队列的头部读取消息并解析,解析完成之后传递给下部SDA。
优选的,对于业务进程中的GATHER模块,方法还包括:
所述驱动进程根据各业务进程中的驱动数据平面对象DDPO的标识值进行数据表项管理,对应各DDPO的标识值的数据表项中保存各业务进程所需的告警性能数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110983483.1/2.html,转载请声明来源钻瓜专利网。