一种PCIE外接卡热移除信息的发送方法及相关装置与流程

文档序号:17160403发布日期:2019-03-20 00:37阅读:137来源:国知局
本申请涉及服务器领域,特别涉及一种pcie外接卡热移除信息的发送方法、发送系统、一种计算机可读存储介质和一种服务器。
背景技术
::随着计算机技术的发展,对服务器的稳定性可靠性提出的要求越来越高,服务器往往提供pcie扩展卡热插拔功能,以使得pcie扩展卡出现问题时,可以在操作系统下移除该pcie扩展卡然后添加一新pcie扩展卡,实现不停机在线更换。该动作因是在操作系统运行时做的,称之为pcie卡热插拔,包括热移除和热移除。对于服务器管理员,希望能够实时获取和查看服务器上的pcie卡信息,以便于管理。传统的收集实现方法为服务器启动阶段bios对所有pcie卡扫描,得到pcie卡的信息,再通过bios与bmc的接口如kcs等发送给bmc,用户再通过bmc提供的接口获取服务器上pcie卡信息。现有的pcie卡热插拔实现通常由由操作系统下pcie热插拔驱动程序来完成,然而受系统支持操作系统限制,不同的操作系统需要开发对应操作系统下的应用程序,无法做到统一兼容。技术实现要素:本申请的目的是提供一种pcie外接卡热移除信息的发送方法、发送系统、一种计算机可读存储介质和一种服务器,解决现有的pcie卡热插拔信息传输的兼容性差的问题。为解决上述技术问题,本申请提供一种pcie外接卡热移除信息的发送方法,具体技术方案如下:判断是否存在所述pcie外接卡的热移除操作;若是,生成所述热移除操作对应的热移除操作信息;利用bios中asl文件将所述热移除操作信息发送至bmc。其中,利用bios中asl文件将所述热移除操作信息发送至bmc包括:利用sci执行asl文件程序利用bios中asl文件将所述热移除操作信息发送至bmc。其中,利用bios中asl文件将所述热移除操作信息发送至bmc后,还包括:bmc根据所述热移除操作信息更新pcie设备信息。其中,判断是否存在所述pcie外接卡的热移除操作包括:利用asl文件判断是否存在所述pcie外接卡的热移除操作。本申请还提供一种pcie外接卡热移除信息的发送系统,包括:检测模块,用于判断是否存在所述pcie外接卡的热移除操作;生成模块,用于所述检测模块判断为是时,生成所述热移除操作对应的热移除操作信息;发送模块,用于利用bios中asl文件将所述热移除操作信息发送至bmc。其中,所述发送模块具体为用于利用sci执行asl文件程序利用bios中asl文件将所述热移除操作信息发送至bmc的模块。其中,还包括:更新模块,用于根据所述热移除操作信息更新pcie设备信息。其中,检测模块具体为用于利用asl文件判断是否存在所述pcie外接卡的热移除操作的模块。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的发送方法的步骤。本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。本申请所提供的一种pcie外接卡热移除信息的发送方法,包括:判断是否存在所述pcie外接卡的热移除操作;若是,生成所述热移除操作对应的热移除操作信息;利用bios中asl文件将所述热移除操作信息发送至bmc。本申请检测到pcie外接卡的热移除操作后,先生成该操作对应的热移除操作信息,进而直接利用bios中asl文件直接将热移除操作信息发送至bmc,无需使用其他应用程序等,解决了不用的应用程序在不同操作系统下的兼容性问题。本申请还提供一种pcie外接卡热移除信息的发送系统、一种计算机可读存储介质和一种服务器,具有相同的有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种pcie外接卡热移除信息的发送方法的流程图;图2为本申请实施例所提供的一种pcie外接卡热移除信息的发送系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。s101:检测是否存在所述pcie外接卡的热移除操作;本步骤旨在检测是否存在pcie外接卡的热移除操作。可以理解的是,pcie外接卡的热移除操作是发送热移除信息的触发条件,即必须检测到热移除操作后方可发送热移除信息。在此对于如何检测是否存在pcie外接卡的热移除操作不作限定。例如,可以扫描系统中pcie设备的状态并与上一次扫描结果相对比,以判断是否存在新的pcie外接卡接入;或者在pcie外接卡热移除时,对于该pcie外接卡所在的端口的上电信号进行检测等。当然,还可以有其他检测方式,在此不一一举例限定。特别的,还可以对热移除操作关联其他操作,例如可以通过设置bios使得存在pcie外接卡的热移除操作时执行设定中断,这样当存在该设定中断也意味着发生了热移除操作。优选的,可以利用sci(systemcontrolinterrupt,一种中断,操作系统在该中断产生后调用bios提供的相关接口),sci是os(operatingsystem,操作系统)级别的中断,是acpi定义的,专用于acpi电源管理的一个irq(interruptrequest,中断请求),需要os支持。scipin触发后,cpu去执行某个放在中断描述表(idt,interruptdescriptortable,用于关联中断和相对应的处理过程)中的程式,一般都是指向驱动程式(acpi.sys),acpidriver会通知相关的驱动程式(acpiecdriver),然后跟bios取得一个代码,接着os会去执行相应的asl文件。此时,相当于利用asl文件判断是否存在所述pcie外接卡的热移除操作。具体的,可以修改asl文件,使其具有检测pcie外接卡热移除操作的检测功能,相当于一个asl脚本。s102:生成热移除操作信息;本步骤旨在s101中检测到pcie外接卡的热移除操作后,生成相应的热移除操作信息。热移除操作信息的目的是令bmc更新该pcie设备信息,因此热移除操作信息应包括bmc所需要的信息。在此对于该热移除操作信息的具体内容不作限定,通常可以包括pcie外接卡信息、端口信息等,其中pcie外接卡信息为热移除操作信息中必需的信息,其他信息不作限定。需要说明的是,上文所述的端口信息、pcie外接卡信息均是已经存在于系统中的信息,而本步骤中的生成热移除操作信息其实指的是获取这些信息并整合。优选的,当采用sci时,本步骤还可以由asl文件实现,即由asl文件读取pcie外接卡信息等并生成热移除操作信息。s103:利用bios中asl文件将所述热移除操作信息发送至bmc。本步骤旨在利用asl文件将热移除操作信息发送至bmc。asl文件指的是acpisourcelanguage文件,经过编译器编译过后变成aml,然后由操作系统来执行。现有技术中,均由应用程序获取pcie外接卡信息并发送至bmc,然而由于不同的操作系统下需要使用不用的应用程序,其兼容性较差。而asl文件则是bios中的文件,并不存在对于不同操作系统不兼容的问题。本步骤中,只需对asl文件的代码部分作相应修改即可,使其可以将热移除信息发送至bmc。换句话说,本步骤中,asl文件相当于asl脚本。进一步的,由s101中对sci的描述可知,可以利用sci执行asl文件程序利用bios中asl文件将热移除操作信息发送至bmc。本申请实施例检测到pcie外接卡的热移除操作后,先生成该操作对应的热移除操作信息,进而直接利用bios中asl文件直接将热移除操作信息发送至bmc,无需使用其他应用程序等,解决了不用的应用程序在不同操作系统下的兼容性问题。基于上述实施例,作为优选的实施例,利用bios中asl文件将所述热移除操作信息发送至bmc后,还包括:bmc根据所述热移除操作信息更新pcie设备信息。当bmc接收到热移除操作信息后,即更新自身所存储的pcie设备信息,保证自身存储的pcie设备信息为最新信息。bmc可以管理服务器上各种部件的信息,包括cpu、内存、硬盘、风扇等等,bmc更新自身的pcie设备信息,有利于加强的pcie设备的管理,保证服务器的正常运行。基于上述实施例,作为优选的实施例,以下从bios的角度对上述实施例在pcie外接卡热移除操作前及发生热移除操作后的整个过程作更清楚的说明:对于bios而言,可以对其进行设置,例如设置pcie外接卡热移除时触发sci。此时可以修改bios中的asl文件,并将asl文件汇报到acpitable中,最后启动并进入操作系统。这是因为bios在开机过程中会把包在biosrom中的acpitable载入到ram(即内存)中,然后os会寻找acpitable并加载执行。修改asl文件的目的是令asl文件具有pcie外接卡热移除信息的读取功能,生成热移除操作信息的功能以及将热移除操作信息发送至bmc的功能。当然,更简单的说,asl文件还可以在获取热移除操作信息中包括的内容后直接发送至bmc,这样只需具备“读取”和“发送”两个功能。当启动进入操作系统后,此时发生pcie外接卡热移除操作,由于bios已经提前设置pcie外接卡热移除时触发sci,因此直接触发sci。在sci时执行bios中的修改后的asl文件,实现获取热移除操作信息并发送至bmc。本实施例无需在操作系统中开发任何应用程序,无需考虑应用程序造成的不兼容问题。下面对本申请实施例提供的一种pcie外接卡热移除信息的发送系统进行介绍,下文描述的发送系统与上文描述的一种pcie外接卡热移除信息的发送方法可相互对应参照。图2为本申请实施例所提供的一种pcie外接卡热移除信息的发送系统结构示意图,该发送系统包括:检测模块100,用于检测是否存在所述pcie外接卡的热移除操作;生成模块200,用于所述检测模块100判断为是时,生成热移除操作信息;发送模块300,用于利用bios中asl文件将所述热移除操作信息发送至bmc。基于上述实施例,作为优选的实施例,所述发送模块300具体为用于利用sci执行asl文件程序利用bios中asl文件将所述热移除操作信息发送至bmc的模块。基于上述实施例,作为优选的实施例,所述发送系统还可以包括:更新模块,用于根据所述热移除操作信息更新pcie设备信息。基于上述实施例,作为优选的实施例,检测模块100具体可以为用于利用asl文件检测是否存在所述pcie外接卡的热移除操作的模块。本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的一种pcie外接卡热移除信息的发送方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的一种pcie外接卡热移除信息的发送方法的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1