一种硬件平台监控系统的制作方法

文档序号:13642320阅读:146来源:国知局

本发明涉及计算机应用技术领域,特别是涉及一种硬件平台监控系统。



背景技术:

随着计算机应用技术的发展,存储服务器得到了越来越多的应用。例如,存储服务器被广泛应用到安防、政务、金融等多种应用领域。为了适应不同的应用,存储服务器的硬件平台可能是不同的,但是软件系统的基本业务是一致的。其中,软件系统对硬件平台的监控是一个典型的必备功能,例如,监控当前机箱的环境温度、各器件的电压以及cpu温度等,这些是不因硬件平台的变化而变化的。因此,急需一个硬件平台监控系统对硬件平台进行监控。

在现有技术中,多是通过只包含应用层与驱动层的硬件平台监控系统来对硬件平台进行监控,针对不同的硬件平台,应用层的处理逻辑不同,并且应用层的代码复杂,代码移植及后期维护的成本高。



技术实现要素:

为解决上述技术问题,本发明提供如下技术方案:

一种硬件平台监控系统,包括应用层、会话层、逻辑层和驱动层,所述应用层、所述会话层、所述逻辑层和所述驱动层依次连接,其中:

所述会话层,用于在接收到所述应用层的接口调用请求时,确定所述驱动层中待监控的目标硬件平台的目标类型驱动所对应的逻辑层中的目标类型逻辑;通过所述目标类型逻辑从所述目标类型驱动中获取目标硬件状态数据;

所述应用层,用于通过调用所述会话层预先定义的统一接口,获得所述目标硬件状态数据,并根据所述目标硬件状态数据,进行故障分析及处理。

在本发明的一种具体实施方式中,所述驱动层中每种类型驱动与所述逻辑层中每种类型逻辑一一对应。

在本发明的一种具体实施方式中,

所述会话层,还用于在接收到所述应用层的接口调用请求时,定义所述统一接口和数据模型,所述数据模型包含数据属性信息。

在本发明的一种具体实施方式中,

所述会话层,还用于根据所述目标硬件平台的类型,确定所述目标类型驱动。

在本发明的一种具体实施方式中,

所述会话层,还用于管理所述目标类型驱动。

在本发明的一种具体实施方式中,

所述驱动层,用于将所述目标类型驱动中的全部数据返回给所述逻辑层中的所述目标类型逻辑。

在本发明的一种具体实施方式中,

所述逻辑层,用于对接收到的所述全部数据进行选择与整理,获得所述目标硬件状态数据,将所述目标硬件状态数据返回给所述会话层。

在本发明的一种具体实施方式中,

所述会话层,还用于将所述目标硬件状态数据存储到所述数据模型中。

在本发明的一种具体实施方式中,

所述逻辑层,具体用于将所述目标硬件状态数据按照所述数据模型中定义的数据格式返回给所述会话层。

应用本发明实施例所提供的硬件平台监控系统,通过会话层在接收到应用层的接口调用请求时,确定驱动层中待监控的目标硬件平台的目标类型驱动所对应的逻辑层中的目标类型逻辑,通过目标类型逻辑从目标类型驱动中获取目标硬件状态数据。通过应用层调用会话层预先定义的统一接口,获得目标硬件状态数据,并根据目标硬件状态数据,进行故障分析及处理。通过在应用层与驱动层之间加入会话层与逻辑层,把整体功能合理划分到各层,使每层的功能更加明确与细化,应用层可以通过调用统一接口获得目标硬件状态数据,统一了应用层的处理逻辑,简化了应用层的代码,降低了代码移植及后期维护的成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中硬件平台监控系统的一种结构示意图;

图2为本发明实施例中硬件平台监控系统的另一种结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,为本发明实施例中硬件平台监控系统的一种结构示意图。该系统可以包括:

应用层1、会话层2、逻辑层3和驱动层4,应用层1、会话层2、逻辑层3和驱动层4依次连接。

其中,会话层2,用于在接收到应用层1的接口调用请求时,确定驱动层4中待监控的目标硬件平台的目标类型驱动所对应的逻辑层3中的目标类型逻辑;通过目标类型逻辑从目标类型驱动中获取目标硬件状态数据;

应用层1,用于通过调用会话层2预先定义的统一接口,获得目标硬件状态数据,并根据目标硬件状态数据,进行故障分析及处理。

本发明实施例所提供的硬件平台监控系统包括应用层1、会话层2、逻辑层3和驱动层4,应用层1、会话层2、逻辑层3和驱动层4依次连接。在对目标硬件平台监控的过程中,应用层1在需要获得目标硬件状态数据时,可以向会话层2发送接口调用请求。会话层2接收到应用层1发送的接口调用请求时,因为逻辑层3是为了适应会话层2而抽象出来的一层,可以为会话层2提供最直接的服务,所以可以确定驱动层4中待监控的目标硬件平台的目标类型驱动所对应的逻辑层3中的目标类型逻辑,即会话层2可以自动映射到逻辑层3中的目标类型逻辑。目标类型逻辑可以向会话层2发送从目标类型驱动中获得目标硬件状态数据,会话层2接收目标类型逻辑发送的目标硬件状态数据,从而获得目标硬件状态数据。

应用层1可以通过调用会话层2预先定义的统一接口,获得目标硬件状态数据,并可以根据目标硬件状态数据,进行逻辑判断,即进行故障分析,确定目标硬件平台是否存在故障,如果存在,则对故障进行处理。应用层1只聚焦硬件平台监控的核心功能,如获取目标硬件状态数据后,判断是否存在硬件故障,上报错误并尝试修复故障,而不需要关心具体的实现方式以及驱动类型,该硬件监控系统可以兼容不同的硬件平台,减少了现场施工成本。通过在应用层1与驱动层4中加入会话层2和逻辑层3,使得软件架构层次更加清晰,把功能合理划分到各层,每层的功能较为独立、明确与细化,把变化因素和不变因素放到不同的层次里,减少了耦合,也便于后续维护与扩展。

目标硬件平台为待监控的任意一个硬件平台。

统一接口可以是统一的函数指针。

其中,会话层的伪代码示例如下:

逻辑层的伪代码示例如下:

应用本发明实施例所提供的硬件平台监控系统,通过会话层在接收到应用层的接口调用请求时,确定驱动层中待监控的目标硬件平台的目标类型驱动所对应的逻辑层中的目标类型逻辑,通过目标类型逻辑从目标类型驱动中获取目标硬件状态数据。通过应用层调用会话层预先定义的统一接口,获得目标硬件状态数据,并根据目标硬件状态数据,进行故障分析及处理。通过在应用层与驱动层之间加入会话层与逻辑层,把整体功能合理划分到各层,使每层的功能更加明确与细化,应用层可以通过调用统一接口获得目标硬件状态数据,统一了应用层的处理逻辑,简化了应用层的代码,降低了代码移植及后期维护的成本。

在本发明的一种具体实施方式中,驱动层4中每种类型驱动与逻辑层3中每种类型逻辑一一对应。

因为逻辑层3需适应会话层2定义的统一接口的接口形式,所以驱动层4中的每种类型驱动都需要一个类型逻辑,即驱动层4中每种类型驱动与逻辑层3中的每种类型逻辑一一对应。如图2所示,驱动层包含多种类型驱动,分别为驱动a、驱动b、驱动c、……,逻辑层包含多种类型逻辑,分别为逻辑a、逻辑b、逻辑c、……,其中,驱动层中的驱动a与逻辑层中的逻辑a对应,驱动层中的驱动b与逻辑层中的逻辑b对应,……。

在本发明的一种具体实施方式中,会话层2,还用于在接收到应用层1的接口调用请求时,定义统一接口和数据模型,数据模型包含数据属性信息。

会话层2在接收到应用层1的接口调用请求时,可以根据应用层1需要的目标硬件状态数据的服务,定义统一接口和数据模型。数据模型包含数据属性信息,数据属性信息可以为目标硬件状态数据的数据类型与目标硬件状态数据返回给应用层1时的数据格式等信息。

数据类型可以为当前机箱的环境温度、各器件的电压及cpu温度等。

在本发明的一种具体实施方式中,会话层2,还用于根据目标硬件平台的类型,确定目标类型驱动。

在系统初始化时,会话层2可以从配置文件中读取目标硬件平台的类型,根据读取到的目标硬件平台的类型,确定目标类型驱动,如调用逻辑层3的初始化函数,获取到该服务local_driver的结构体指针,保存在会话层2的driver数组中,并设置valid_driver为目标类型驱动,目标类型也即当前生效的驱动类型。

逻辑层3除初始化函数外的所有函数与变量均定义为静态,作用域在本文件。

在本发明的一种具体实施方式中,会话层2,还用于管理目标类型驱动。

会话层2还可以管理目标类型驱动,如在检测到目标硬件平台对应的目标硬件状态数据有更新时,可以对目标类型驱动中的数据进行更新。

在本发明的一种具体实施方式中,驱动层4,用于将目标类型驱动中的全部数据返回给逻辑层3中的目标类型逻辑。

驱动层4的目标类型驱动中存储有很多数据,驱动层4可以将目标类型驱动中的全部数据返回给逻辑层3中对应的目标类型逻辑。

在本发明的一种具体实施方式中,逻辑层3,用于对接收到的全部数据进行选择与整理,获得目标硬件状态数据,将目标硬件状态数据返回给会话层2。

驱动层4把目标类型驱动中的全部数据返回给逻辑层3后,因为接收到的全部数据可能会比需要获得的目标硬件状态数据的范围大,所以逻辑层3需要对接收到的全部数据进行选择与整理,获得目标硬件状态数据,将目标硬件状态数据返回给会话层2。逻辑层3依赖于驱动层4提供的服务,并把驱动层4的功能经过一定组合后向上层提供最直接的服务。例如,应用层1需要获得的目标硬件状态数据为目标硬件平台中当前风扇的转速与风扇在正常转动情况下转速的阈值,而驱动层4返回给逻辑层3的是包含风扇的出厂值、风扇的大小等全部数据,因此逻辑层3接收到驱动层4返回的全部数据后,需要对驱动层4中的全部数据进行选择与整理,获得目标硬件平台中当前风扇的转速与风扇在正常转动情况下转速的阈值。

在本发明的一种具体实施方式中,会话层2,还用于将目标硬件状态数据存储到数据模型中。

会话层2在接收到逻辑层3返回的硬件状态数据后,可以将目标硬件状态数据存储到会话层2在接收到应用层1的接口调用请求时定义的数据模型中。

在本发明的一种具体实施方式中,逻辑层3,具体用于将目标硬件状态数据按照数据模型中定义的数据格式返回给会话层2。

会话层2可以在接收到应用层1的接口调用请求,定义数据模型时,在该数据模型中定义目标硬件状态数据的数据格式,逻辑层3除了需要适应会话层2定义的统一接口,还需要适应会话层定义的数据模型。因此,逻辑层3接收到驱动层4返回的目标硬件状态数据时,可以将目标硬件状态数据按照预先定义的数据格式返回给会话层2。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1