CN111309386A - 一种交换机硬件驱动架构和交换机 - Google Patents
一种交换机硬件驱动架构和交换机 Download PDFInfo
- Publication number
- CN111309386A CN111309386A CN202010063016.2A CN202010063016A CN111309386A CN 111309386 A CN111309386 A CN 111309386A CN 202010063016 A CN202010063016 A CN 202010063016A CN 111309386 A CN111309386 A CN 111309386A
- Authority
- CN
- China
- Prior art keywords
- hardware
- switch
- module
- driving
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004806 packaging method and process Methods 0.000 claims abstract description 22
- 238000005538 encapsulation Methods 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 description 4
- 230000017525 heat dissipation Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electronic Switches (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种交换机硬件驱动架构和交换机,其中:交换机硬件驱动架构包括硬件基础驱动层和硬件驱动抽象层,其中,硬件基础驱动层包括交换机的硬件驱动模块、以及每个硬件驱动模块各自按功能配设的相应数量的函数调用接口;每个硬件驱动模块用于驱动交换机的一个硬件;硬件驱动抽象层包括相应数量的接口封装模块、以及为每个接口封装模块分别配设的供应用程序调用对应的接口封装模块的用户空间接口;函数调用接口与接口封装模块一一对应,每个函数调用接口封装在其对应的接口封装模块内。所述的交换机的硬件驱动采用所述的交换机硬件驱动架构。
Description
技术领域
本发明涉及交换机领域,具体涉及一种交换机硬件驱动架构和交换机。
背景技术
交换机厂商在提供交换机硬件产品服务的同时,还需要提供支持硬件的驱动程序。
但是不同的交换机产品,硬件架构设计往往不同,驱动程序也不一样,导致驱动程序抛出的用户空间接口亦不同。而为满足业务需求,用户应用程序的开发往往在交换机硬件的驱动程序的基础之上。
用户在更新交换机产品时,因交换机驱动程序抛出的用户空间接口不同,往往需要随交换机产品更新自己的程序,修改交换机硬件访问控制的接口,这在一定程度上增加了维护成本,用户体验也不友好。
为此,本发明提供一种交换机硬件驱动架构和交换机,用于解决上述问题。
发明内容
针对现有技术的上述不足,本发明提供一种交换机硬件驱动架构和交换机,用于降低用户维护成本,增加用户体验。
第一方面,本发明提供一种交换机硬件驱动架构,包括硬件基础驱动层和硬件驱动抽象层,其中:
所述的硬件基础驱动层,包括交换机的硬件驱动模块、以及每个硬件驱动模块各自按功能配设的相应数量的函数调用接口;每个硬件驱动模块用于驱动交换机的一个硬件;
所述的硬件驱动抽象层,包括相应数量的接口封装模块、以及为每个接口封装模块分别配设的供应用程序调用对应的接口封装模块的用户空间接口;函数调用接口与接口封装模块一一对应,每个函数调用接口封装在其对应的接口封装模块内。
进一步地,所述的接口封装模块,分别是对应硬件驱动模块的属性文件。
进一步地,所述的用户空间接口为sysfs接口。
进一步地,各接口封装模块的存储路径,均包括相同的固定路径、以及设置在该固定路径下的相应的子目录。
进一步地,所述交换机的硬件包括:PSU电源、风扇、CPLD、光模块、LED灯、温度传感器。
进一步地,硬件驱动模块包括PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块、Thermal驱动模块;
所述的PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块、Thermal驱动模块,依次用于驱动交换机的PSU电源、风扇、CPLD、光模块、LED灯和温度传感器。
进一步地,所述的交换机为白盒交换机。
第二方面,本发明提供一种交换机,其硬件驱动程序采用上述各方面所述的交换机硬件驱动架构。
本发明的有益效果在于,
本发明提供的交换机硬件驱动架构和交换机,向用户空间提供固定的用户空间接口,在应用程序访问控制硬件设备时,通过本发明提供的用户空间接口即可对硬件设备进行访问控制,另外在更换交换机产品时,用户也无需针对更换的交换机产品更新自己的程序接口。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种交换机硬件驱动架构的示意性结构框图。
图2中表2-1为本发明中硬件驱动模块的函数调用接口及对应功能示例。
图3中表2-2是本发明硬件驱动抽象层抛出的用户空间接口属性文件示例。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
图1是本发明一个实施例的交换机硬件驱动架构的示意性结构框图。交换机硬件驱动运行于内核空间。本实施例中所涉及的交换机为白盒交换机,该交换机的硬件(Hardware)包括但不限于:PSU电源、FAN(风扇)、CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件)、SFP(光模块)、LED灯、Thermal(温度传感器)。其中,如图1所示,该交换机的PSU电源、FAN(风扇)、CPLD、SFP(光模块)、LED灯、Thermal(温度传感器)在图中依次简写为PSU、FAN、CPLD、SFP、LED和Thermal。
如图1所示,该交换机硬件驱动架构包括硬件基础驱动层200和硬件驱动抽象层100。其中,硬件基础驱动层200包括交换机的硬件驱动模块、以及每个硬件驱动模块各自按功能配设的相应数量的函数调用接口。每个硬件驱动模块用于驱动交换机的一个硬件。硬件驱动抽象层100包括相应数量的接口封装模块、以及为每个接口封装模块分别配设的供应用程序调用对应的接口封装模块的用户空间接口。各用户空间接口为sysfs接口。函数调用接口与接口封装模块一一对应,每个函数调用接口封装在其对应的接口封装模块内。
硬件基础驱动层200提供函数调用接口供上层硬件驱动抽象层100调用,使硬件驱动抽象层100亦可以控制交换机的硬件。硬件驱动抽象层100设有接口封装模块、并提供了用户空间接口供应用程序使用,其中的接口封装模块封装了对应的函数调用接口,可见是封装了下层硬件基础驱动层200的硬件驱动模块,可见用户空间的应用程序在访问控制交换机硬件设备时,通过硬件驱动抽象层100提供的用户空间接口即可访问控制,如果更换交换机产品,上层的应用程序也不需要修改访问接口,这在一定程度上降低了维护成本,也增加了用户体验。
在本实施例中,硬件基础驱动层200集成的硬件驱动模块(硬件驱动程序)包括PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块和Thermal驱动模块,依次对应图1中的PSU Driver、FAN Driver、CPLD Driver、SFP Driver、LED Driver和ThermalDriver。硬件基础驱动层200各硬件驱动模块实现了交换机所有硬件的接口,操作系统通过驱动接口控制硬件设备的工作。其中,所述的PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块、Thermal驱动模块,依次用于驱动交换机的PSU电源、风扇、CPLD、光模块、LED灯和温度传感器。PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块及Thermal驱动模块,各自按驱动模块的功能配设有相应数量的函数调用接口。每个硬件驱动模块可配设一个函数调用接口、也可配设多个函数调用接口,具体实现时本领域技术人员可依据实际情况进行具体设置。
在本实施例中,PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块及Thermal驱动模块,各自配设或提供的函数调用接口及对应功能如图2中表2-1所示。
可选地,所述的接口封装模块,分别是对应硬件驱动模块的属性文件。各接口封装模块的存储路径,均包括相同的固定路径、以及包括设置在该固定路径下的子目录,各接口封装模块的存储路径的子目录各不相同。
其中,在本实施例中:
所述的固定路径统一设置为但不限于:/sys/switch/;
PSU电源、FAN(风扇)、CPLD、SFP(光模块)、LED灯、Thermal(温度传感器)在上述固定路径下的子目录依次为:psu,fan,cpld,sfp,Ied,thermal。
由此,在本实施例中,交换机的PSU电源、FAN(风扇)、CPLD、SFP(光模块)、LED灯、Thermal(温度传感器)对应的各接口封装模块(即各属性文件)的存储路径依次为:/sys/switch/psu/、/sys/switch/fan/、/sys/switch/cpld/、/sys/switch/sfp/、/sys/switch/led/、/sys/switch/thermal/。交换机的其他硬件(Others)对应的接口封装模块的存储路径可参照设置。
其中,各子目录下创建的属性文件(即接口封装模块),对应各个相关硬件驱动模块实现的功能,如图3中表2-2所示。
其中,属性文件speed对应的用户空间接口为″/sys/switch/fan/speed″,属性文件pwm对应的用户空间接口为″/sys/switch/fan/pwm″,属性文件temperature对应的用户空间接口为″/sys/switch/thermal/temperature″,其他属性文件对应的用户空间接口可参照得到。
使用时,比如当需要查看交换机上所有温度监测点获取的硬件设备温度值时,只需要调用″/sys/switch/thermal/temperature″,即可通过属性文件″temperature″获取到交换机上所有温度监测点的当前温度值。
实施例2:
本实施例提供一种交换机,其硬件驱动程序采用实施例1中所述的交换机硬件驱动架构。
本交换机使用之前,首先加载其所有硬件驱动模块(在系统目录″/sys/switch/″下可以看到创建的子目录节点)。
本发明使用时,以交换机执行应用程序″散热策略″为例:
散热策略应用程序在用户空间执行,通过调用用户空间接口″/sys/switch/thermal/temperature″读取路径″/sys/switch/thermal/″下的属性文件″temperature″,temperature属性文件调用其内封装的函数调用接口(图2中所示表2-1中的函数调用接口十)查看交换机内温度监测点当前的温度值;散热策略根据查看到的温度值,通过调用用户空间接口″/sys/switch/fan/pwm″修改属性文件pwm,实现对风扇转速的修改。
可见本交换机实现了一套统一固定的用户空间接口,通过用户空间接口可达到对交换机硬件的访问控制,为客户节省了上层应用程序代码维护成本,另外操作简单,增加了用户体验。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种交换机硬件驱动架构,其特征在于,包括硬件基础驱动层和硬件驱动抽象层,其中:
所述的硬件基础驱动层,包括交换机的硬件驱动模块、以及每个硬件驱动模块各自按功能配设的相应数量的函数调用接口;每个硬件驱动模块用于驱动交换机的一个硬件;
所述的硬件驱动抽象层,包括相应数量的接口封装模块、以及为每个接口封装模块分别配设的供应用程序调用对应的接口封装模块的用户空间接口;函数调用接口与接口封装模块一一对应,每个函数调用接口封装在其对应的接口封装模块内。
2.根据权利要求1所述的交换机硬件驱动架构,其特征在于,所述的接口封装模块,分别是对应硬件驱动模块的属性文件。
3.根据权利要求1或2所述的交换机硬件驱动架构,其特征在于,所述的用户空间接口为sysfs接口。
4.根据权利要求1或2所述的交换机硬件驱动架构,其特征在于,各接口封装模块的存储路径,均包括相同的固定路径、以及设置在该固定路径下的相应的子目录。
5.根据权利要求1或2所述的交换机硬件驱动架构,其特征在于,交换机的硬件包括:PSU电源、风扇、CPLD、光模块、LED灯、温度传感器。
6.根据权利要求5所述的交换机硬件驱动架构,其特征在于,硬件驱动模块包括PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块、Thermal驱动模块;
所述的PSU驱动模块、FAN驱动模块、CPLD驱动模块、SFP驱动模块、LED驱动模块、Thermal驱动模块,依次用于驱动交换机的PSU电源、风扇、CPLD、光模块、LED灯和温度传感器。
7.根据权利要求1或2所述的交换机硬件驱动架构,其特征在于,所述的交换机为白盒交换机。
8.一种交换机,其特征在于,其硬件驱动程序采用权利要求1-7中任一项所述的交换机硬件驱动架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063016.2A CN111309386B (zh) | 2020-01-19 | 2020-01-19 | 一种交换机硬件驱动系统和交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063016.2A CN111309386B (zh) | 2020-01-19 | 2020-01-19 | 一种交换机硬件驱动系统和交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309386A true CN111309386A (zh) | 2020-06-19 |
CN111309386B CN111309386B (zh) | 2022-11-11 |
Family
ID=71156337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010063016.2A Active CN111309386B (zh) | 2020-01-19 | 2020-01-19 | 一种交换机硬件驱动系统和交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309386B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645162A (zh) * | 2021-08-06 | 2021-11-12 | 苏州浪潮智能科技有限公司 | 一种交换机的硬件测试方法、系统、设备以及介质 |
CN114168209A (zh) * | 2021-12-07 | 2022-03-11 | 浙江国利网安科技有限公司 | 硬件操作方法及装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104508A (zh) * | 2010-12-29 | 2011-06-22 | 哈尔滨工业大学 | 基于m模块的lxi设备中的m模块ll驱动层实现方法 |
CN104950839A (zh) * | 2015-04-30 | 2015-09-30 | 张陵 | 一种交换机控制方法及装置 |
-
2020
- 2020-01-19 CN CN202010063016.2A patent/CN111309386B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104508A (zh) * | 2010-12-29 | 2011-06-22 | 哈尔滨工业大学 | 基于m模块的lxi设备中的m模块ll驱动层实现方法 |
CN104950839A (zh) * | 2015-04-30 | 2015-09-30 | 张陵 | 一种交换机控制方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645162A (zh) * | 2021-08-06 | 2021-11-12 | 苏州浪潮智能科技有限公司 | 一种交换机的硬件测试方法、系统、设备以及介质 |
CN113645162B (zh) * | 2021-08-06 | 2023-01-20 | 苏州浪潮智能科技有限公司 | 一种交换机的硬件测试方法、系统、设备以及介质 |
CN114168209A (zh) * | 2021-12-07 | 2022-03-11 | 浙江国利网安科技有限公司 | 硬件操作方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111309386B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309386B (zh) | 一种交换机硬件驱动系统和交换机 | |
US10331468B2 (en) | Techniques for routing service chain flow packets between virtual machines | |
CN107220039A (zh) | 一种基于云环境的异构资源标准化封装系统 | |
CN102156518B (zh) | 散热控制方法 | |
CN106155749A (zh) | 一种监控插件扩展方法及装置 | |
CN111090823B (zh) | 一种页面应用的集成系统以及应用访问方法、装置和设备 | |
CN105373465A (zh) | 一种系统状态的检测方法、系统及服务器 | |
CN111949261B (zh) | 高复用的应用开发配置方法及其系统 | |
CN102478905B (zh) | 数据中心 | |
CN116560645A (zh) | 自适应汽车开放系统架构适配复杂应用软件的方法及装置 | |
CN208589461U (zh) | 覆晶式发光模块 | |
CN103219333A (zh) | 增强型Flash芯片、封装方法和指令执行方法 | |
CN114138272A (zh) | 一种基于区块链BaaS平台的智能合约管理系统及其方法 | |
CN209514545U (zh) | 应用于高性能服务器上的过热保护电路及高性能服务器 | |
CN103412743B (zh) | 一种基于xml的自动调用业务规则的方法 | |
CN103176915B (zh) | 一种管理内存的方法及装置 | |
JP5278529B2 (ja) | 半導体モジュール | |
WO2021233101A1 (zh) | 发光模组、显示模组、显示屏及显示器 | |
CN211857667U (zh) | 欠压报警电路及具有欠压报警电路的电源电路 | |
CN219066819U (zh) | 芯片封装结构以及电路板 | |
US10130010B2 (en) | Internal heat-dissipation terminal | |
CN210112376U (zh) | 一种电路板及电子设备 | |
CN212619114U (zh) | 一种家电显示控制装置及家用电器 | |
Naveena et al. | Remote vehicle control through cell phone using DTMF | |
CN209659710U (zh) | 一种封装图案及印刷电路板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |