CN114327664B - 插卡式机箱设备的软件管理方法、计算机设备及存储介质 - Google Patents
插卡式机箱设备的软件管理方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114327664B CN114327664B CN202210252581.2A CN202210252581A CN114327664B CN 114327664 B CN114327664 B CN 114327664B CN 202210252581 A CN202210252581 A CN 202210252581A CN 114327664 B CN114327664 B CN 114327664B
- Authority
- CN
- China
- Prior art keywords
- card
- daughter
- target
- daughter board
- model information
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种插卡式机箱设备的软件管理方法、计算机设备及存储介质,方法包括:获取插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个型号信息对应的子板卡可执行程序;在各个主板插槽对应的显示区域内,显示主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;启动目标型号信息对应的目标子板卡可执行程序;基于目标子板卡可执行程序的控制界面,对目标型号信息对应的目标子板卡进行控制。本申请实施例通过机箱服务软件与子板卡软件进程分离,通过机箱服务软件识别插入的子板卡,以打开对应的子板卡程序,实现对子板卡的控制,无需针对每一种子板卡搭配开发机箱服务软件,减少软件开发工作量。
Description
技术领域
本申请涉及插卡式机箱技术领域,具体涉及一种插卡式机箱设备的软件管理方法、计算机设备及存储介质。
背景技术
插卡式主机箱内一般可以兼容支持多种不同类型的子板卡,并且机箱内同时插入的子板卡数量和种类,可根据应用场景的需要进行任意配置。
根据机箱内同时插入的子板卡数量和种类的配置不同,需要编写不同的PC机软件提供给用户使用,以使用户可通过PC机软件正常控制和管理各个子板卡。这样,每种搭配的子板卡配置均需要进行一次PC机软件的开发,会导致软件开发的工作量过大,同时也会给后期使用时的维护、升级带来不便。
发明内容
本申请实施例提供一种插卡式机箱设备的软件管理方法、计算机设备及存储介质,旨在减少PC机软件的开发工作量。
一方面,本申请提供一种插卡式机箱设备的软件管理方法,包括:
获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个所述型号信息对应的子板卡可执行程序;
在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动所述目标型号信息对应的目标子板卡可执行程序;
基于所述目标子板卡可执行程序的控制界面,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,所述启动所述目标型号信息对应的目标子板卡可执行程序的步骤之后,还包括:
若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源;
将所述句柄资源复制为TargetHandle句柄;
基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄,其中,所述目标子板卡可执行程序通过所述TargetHandle句柄,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,各个所述主板插槽上插入的子板卡共用所述插卡式机箱设备的同一硬件通信接口,针对所述硬件通信接口设置互斥锁,所述方法还包括:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述子板卡,以执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤;
在对所述子板卡的访问结束后,解除锁定所述互斥锁。
在一些实施例中,所述启动所述目标型号信息对应的目标子板卡可执行程序的步骤包括:
获取与所述目标子板卡可执行程序对应的应用程序编程接口;
基于所述应用程序编程接口,采用ShellExecute函数打开所述目标子板卡可执行程序。
在一些实施例中,所述方法还包括:
检测与所述插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功;
若与所述插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤。
在一些实施例中,所述检测与所述插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功的步骤之后,还包括:
若与所述插卡式机箱设备的主板插槽上插入的子板卡通信失败,则在通信失败的子板卡所在的主板插槽对应的显示区域内,显示通信失败的提示信息。
另一方面,本申请实施例提供一种插卡式机箱设备的软件管理方法,包括:
目标子板卡可执行程序启动后,基于进程通信向预设的插卡式机箱服务软件发送资源共享请求,其中,所述插卡式机箱服务软件获取与所述插卡式机箱设备连接的通信接口的句柄资源,将所述句柄资源复制为TargetHandle句柄,基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
接收到所述插卡式机箱服务软件基于进程通信共享的所述TargetHandle句柄后,通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制。
在一些实施例中,所述插卡式机箱设备的各个主板插槽上插入的子板卡共用所述插卡式机箱设备的同一硬件通信接口,针对所述硬件通信接口设置互斥锁,所述方法还包括:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述目标子板卡,以执行所述通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制的步骤;
在对所述目标子板卡的访问结束后,解除锁定所述互斥锁。
另一方面,本申请实施例提供一种插卡式机箱设备的软件管理装置,所述插卡式机箱设备的软件管理装置包括:
获取模块,用于获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个所述型号信息对应的子板卡可执行程序;
显示模块,用于在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动模块,用于启动所述目标型号信息对应的目标子板卡可执行程序;
控制模块,用于基于所述目标子板卡可执行程序的控制界面,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,所述获取模块还用于:
若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源;
将所述句柄资源复制为TargetHandle句柄;
基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄,其中,所述目标子板卡可执行程序通过所述TargetHandle句柄,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,所述获取模块还用于:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述子板卡,以执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤;
在对所述子板卡的访问结束后,解除锁定所述互斥锁。
在一些实施例中,所述启动模块具体用于:
获取与所述目标子板卡可执行程序对应的应用程序编程接口;
基于所述应用程序编程接口,采用ShellExecute函数打开所述目标子板卡可执行程序。
在一些实施例中,所述获取模块还用于:
检测与所述插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功;
若与所述插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤。
在一些实施例中,所述显示模块还用于:
若与所述插卡式机箱设备的主板插槽上插入的子板卡通信失败,则在通信失败的子板卡所在的主板插槽对应的显示区域内,显示通信失败的提示信息。
另一方面,本申请实施例提供一种插卡式机箱设备的软件管理装置,所述插卡式机箱设备的软件管理装置包括:
获取模块,用于目标子板卡可执行程序启动后,基于进程通信向预设的插卡式机箱服务软件发送资源共享请求,其中,所述插卡式机箱服务软件获取与所述插卡式机箱设备连接的通信接口的句柄资源,将所述句柄资源复制为TargetHandle句柄,基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
控制模块,用于接收到所述插卡式机箱服务软件基于进程通信共享的所述TargetHandle句柄后,通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制。
在一些实施例中,所述控制模块还用于:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述目标子板卡,以执行所述通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制的步骤;
在对所述目标子板卡的访问结束后,解除锁定所述互斥锁。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现任一项所述的插卡式机箱设备的软件管理方法中的步骤。
另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行任一项所述的插卡式机箱设备的软件管理方法中的步骤。
本申请实施例提供的插卡式机箱设备的软件管理方法、计算机设备及存储介质,方法包括:获取插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个型号信息对应的子板卡可执行程序;在各个主板插槽对应的显示区域内,显示主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;启动目标型号信息对应的目标子板卡可执行程序;基于目标子板卡可执行程序的控制界面,对目标型号信息对应的目标子板卡进行控制。本申请实施例通过机箱服务软件与子板卡软件进程分离,通过机箱服务软件识别插入的子板卡,以打开对应的子板卡程序,实现对子板卡的控制,无需针对每一种子板卡搭配开发机箱服务软件,减少软件开发工作量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中提供的插卡式机箱设备的软件管理方法的一个实施例流程示意图;
图2是本申请实施例中插卡式机箱服务软件的软件显示界面的一种示意图;
图3是本申请实施例中目标子板卡可执行程序的控制界面的一种示意图;
图4是本申请实施例中提供的插卡式机箱设备的软件管理方法的另一个实施例流程示意图;
图5是本申请实施例中提供的插卡式机箱设备的软件管理方法的再一个实施例流程示意图;
图6是本申请实施例中提供的插卡式机箱设备的软件管理方法的又一个实施例流程示意图;
图7是本申请实施例提供的插卡式机箱设备的软件管理装置的一个实施例结构示意图;
图8是本申请实施例中提供的计算机设备的一个实施例终端结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
本申请实施例提供一种插卡式机箱设备的软件管理方法、计算机设备及存储介质,以下分别进行详细说明。
参照图1,在一实施例中,插卡式机箱设备的软件管理方法包括:
101、获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个所述型号信息对应的子板卡可执行程序;
在本实施例中,插卡式机箱设备的主板设置有多个插槽,不同插槽可插入不同类型的子板卡。在用户使用插卡式机箱设备的过程中,用户可根据实际使用需求在各个插槽中插入指定的子板卡。本实施例采用预设的插卡式机箱服务软件实现插卡式机箱设备的软件管理方法中的各个步骤。插卡式机箱服务软件在启动后进行工作参数初始化,并读取插卡式机箱服务软件的ini文件中注册的各个子板卡可执行程序兼容支持哪些类型子板卡的相关信息,从而确定ini文件中注册的各个子板卡可执行程序兼容支持哪些类型的子板卡。
在一些实施例中,插卡式机箱服务软件在初始化完成后,与插卡式机箱设备的各个主板插槽上插入的子板卡主动建立通信连接,以检测是否可以与各个主板插槽上插入的子板卡成功通信。若与插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则执行获取插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤。若与插卡式机箱设备的主板插槽上插入的子板卡通信失败,表明插卡式机箱服务软件不兼容支持此子板卡,因此可显示通信失败的提示信息。为了使用户更加清楚地知晓通信失败的是哪一子板卡,通信失败的提示信息可在通信失败的子板卡所在的主板插槽对应的显示区域内进行显示,以方便用户更加快速地对通信失败的子板卡进行下一步处理。
在一些实施例中,插卡式机箱服务软件在与主板插槽上插入的子板卡通信成功后,可向各个主板插槽上插入的子板卡发送型号请求信息,以使子板卡反馈对应的型号信息,从而确定各个主板插槽上插入的子板卡的型号。
在一些实施例中,各个型号信息的子板卡均预先设置有对应的子板卡可执行程序,子板卡可执行程序一般为exe软件,但子板卡可执行程序一般仅兼容支持同一型号或同一类型的子板卡,因此可在预先存储子板卡可执行程序时,在插卡式机箱服务软件的ini文件进行注册,以表明各个子板卡可执行程序兼容支持哪些类型的子板卡。
102、在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
在本实施例中,插卡式机箱服务软件的软件显示界面内设置有各个主板插槽对应的显示区域。在各个主板插槽对应的显示区域显示对应的主板插槽上插入的子板卡的型号信息,用户可根据实际需求更加方便地选择指定的目标型号信息,以控制目标型号信息对应的子板卡。例如,如图2所示,图2为插卡式机箱服务软件的软件显示界面,子板卡的型号可包括DOA、OPM、AIV、BERT等。
103、启动所述目标型号信息对应的目标子板卡可执行程序;
在本实施例中,在确定用户选取的目标型号信息后,插卡式机箱服务软件启动目标型号对应的目标子板卡可执行程序,例如,DOA型号对应的子板卡可执行程序为DOA.exe,OPM型号对应的子板卡可执行程序为OPM.exe。具体地,插卡式机箱服务软件可设置API(Application Programming Interface,应用程序接口),以打开插卡式机箱服务软件的外部程序,即目标子板卡可执行程序。通过获取与目标子板卡可执行程序对应的应用程序编程接口,并基于此应用程序编程接口,采用ShellExecute函数打开目标子板卡可执行程序。其中,ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。
104、基于所述目标子板卡可执行程序的控制界面,对所述目标型号信息对应的目标子板卡进行控制。
在本实施例中,在目标子板卡可执行程序打开后,目标子板卡可执行程序可显示目标子板卡可执行程序的控制界面,例如,AIV型号对应的子板卡可执行程序的控制界面可如图3所示。基于目标子板卡可执行程序的控制界面,即可实现目标型号信息对应的目标子板卡的控制。在此过程中,插卡式机箱服务软件自动识别主板插槽上插入的子板卡,并准确启动对应的子板卡可执行程序,无需用户手动判断启动哪一子板卡可执行程序,用户使用更加方便。
在本实施例公开的技术方案中,通过机箱服务软件与子板卡软件进程分离,通过机箱服务软件识别插入的子板卡,以打开对应的子板卡程序,实现对子板卡的控制,无需针对每一种子板卡搭配开发机箱服务软件,减少软件开发工作量,并且灵活性强、高效维护、扩展性强、兼容性强,能够适配不同客户对设备应用场景的需求。
在另一实施例中,如图4所示,在上述图1所示的实施例基础上,步骤103之后,还包括:
401、若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源;
402、将所述句柄资源复制为TargetHandle句柄;
在本实施例中,目标子板卡可执行程序在启动后,可基于进程间通信,向机箱服务软件发送资源共享请求。机箱服务软件在接收到目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与插卡式机箱设备连接的通信接口的句柄资源,并将此句柄资源复制为TargetHandle句柄。TargetHandle句柄用于在与插卡式机箱设备通信时调用sendMessage发送消息,以实现消息通信。
在一些实施例中,插卡式机箱设备一般采用RS232、GPIB、TCP等通信方式。在采用串口通信时,机箱服务软件与插卡式机箱设备通信时可创建句柄Rs232资源。在采用GPIB通信时,机箱服务软件与插卡式机箱设备通信时可创建句柄ViSession资源。在采用TCP通信时,机箱服务软件与插卡式机箱设备通信时可创建句柄SOCKET资源。从而实现句柄资源的创建。
403、基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄,其中,所述目标子板卡可执行程序通过所述TargetHandle句柄,对所述目标型号信息对应的目标子板卡进行控制。
在本实施例中,通过进程通信发送进程消息,机箱服务软件可向目标子板卡可执行程序共享TargetHandle句柄,这样,目标子板卡可执行程序通过TargetHandle句柄调用sendMessage发送消息。通过机箱服务软件与目标子板卡可执行程序的通信资源共享,实现对目标型号信息对应的目标子板卡的控制。
在本实施例公开的技术方案中,基于进程通信,机箱服务软件向目标子板卡可执行程序共享TargetHandle句柄,目标子板卡可执行程序通过TargetHandle句柄控制对应的目标子板卡,实现目标子板卡可执行程序对于目标子板卡的控制。
在再一实施例中,如图5所示,在图1至图4任一实施例所示的基础上,插卡式机箱设备的软件管理方法还包括:
501、检测所述互斥锁是否被锁定;
在本实施例中,由于机箱服务软件与子板卡可执行程序进程分离,而插卡式机箱设备仅设置有一个用于与子板卡通信的硬件通信接口,插卡式机箱设备的各个主板插槽上插入的子板卡共用此硬件通信接口,因此存在多个进程同时通过此硬件通信接口访问子板卡通信资源,而出现访问出错的情况。因此可此硬件通信接口设置互斥锁(CMutex),通过互斥锁避免访问出错的情况。互斥锁保证任何时刻只有一个线程在执行其中的代码。具体地,在机箱服务软件在通过此硬件通信接口访问子板卡通信资源之前,先检测互斥锁是否被锁定,以确定是否存在其他进程通过此硬件通信接口访问子板卡通信资源。
502、若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述子板卡,以执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤;
在本实施例中,若互斥锁未被锁定,则表明当前没有其他进程通过此硬件通信接口访问子板卡通信资源,因此可先锁定该互斥锁,并访问通过此硬件通信接口访问子板卡,以获取子板卡的相关数据或者控制子板卡,例如,可通过此硬件通信接口访问子板卡,获取子板卡的型号信息。
503、在对所述子板卡的访问结束后,解除锁定所述互斥锁。
在本实施例中,在对子板卡的访问结束后,即可解除锁定此互斥锁。在互斥锁解除锁定后,其他进程即可通过此硬件通信接口访问子板卡。
在本实施例公开的技术方案中,对于机箱服务软件与子板卡可执行程序进程分离的方式,而多个子板卡共用插卡式机箱设备的同一硬件通信接口,可对硬件通信接口设置互斥锁,以避免出现访问出错的情况。
在再一实施例中,如图6所示,在图1至图5任一实施例所示的基础上,插卡式机箱设备的软件管理方法包括:
601、目标子板卡可执行程序启动后,基于进程通信向预设的插卡式机箱服务软件发送资源共享请求,其中,所述插卡式机箱服务软件获取与所述插卡式机箱设备连接的通信接口的句柄资源,将所述句柄资源复制为TargetHandle句柄,基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
在本实施例中,预设的插卡式机箱服务软件采用ShellExecute函数打开目标子板卡可执行程序后,目标子板卡可执行程序启动并进行参数初始化。参数初始化完成后,目标子板卡可执行程序基于进程通信,主动对卡式机箱服务软件发送资源共享请求,此资源共享请求为进程消息。插卡式机箱服务软件可解析该进程消息,得到目标子板卡可执行程序的进程名、进程界面窗体名等信息,从而确定发送资源共享请求的目标子板卡可执行程序的进程。插卡式机箱服务软件将与插卡式机箱设备连接的通信接口的句柄资源,复制为TargetHandle句柄,并基于进程通信,向目标子板卡可执行程序的进程反馈包含该TargetHandle句柄的进程消息,实现TargetHandle句柄资源的共享。
602、接收到所述插卡式机箱服务软件基于进程通信共享的所述TargetHandle句柄后,通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制。
在本实施例中,目标子板卡可执行程序在得到TargetHandle句柄后,即可通过TargetHandle句柄调用sendMessage发送消息,实现对于目标子板卡的控制。
在一些实施例中,由于机箱服务软件与子板卡可执行程序进程分离,而插卡式机箱设备仅设置有一个用于与子板卡通信的硬件通信接口,插卡式机箱设备的各个主板插槽上插入的子板卡共用此硬件通信接口,因此存在多个进程同时通过此硬件通信接口访问子板卡通信资源,而出现访问出错的情况,因此可对此硬件通信接口设置互斥锁(CMutex),通过互斥锁避免访问出错的情况。互斥锁保证任何时刻只有一个线程在执行其中的代码。具体地,目标子板卡可执行程序在访问子板卡之前,检测该互斥锁是否被锁定,以确定是否存在其他进程通过此硬件通信接口访问该子板卡。若互斥锁未被锁定,则表明当前没有其他进程通过此硬件通信接口访问该子板卡,因此可先锁定该互斥锁,并访问该子板卡,以获取子板卡的相关数据或者控制子板卡,例如,可通过此硬件通信接口访问目标子板卡,对目标子板卡进行控制。在对目标子板卡的访问结束后,即可解除锁定此互斥锁。在互斥锁解除锁定后,其他进程即可通过此硬件通信接口访问子板卡通信资源。
在本实施例公开的技术方案中,通过机箱服务软件与子板卡软件进程分离,通过机箱服务软件识别插入的子板卡,以打开对应的子板卡程序,实现对子板卡的控制,无需针对每一种子板卡搭配开发机箱服务软件,减少软件开发工作量。
为了更好实施本申请实施例中插卡式机箱设备的软件管理方法,在插卡式机箱设备的软件管理方法的基础之上,本申请实施例中还提供一种插卡式机箱设备的软件管理装置,如图7所示,插卡式机箱设备的软件管理装置7000包括获取模块7001、显示模块7002、启动模块7003以及控制模块7004,具体如下:
获取模块7001,用于获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个所述型号信息对应的子板卡可执行程序;
显示模块7002,用于在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动模块7003,用于启动所述目标型号信息对应的目标子板卡可执行程序;
控制模块7004,用于基于所述目标子板卡可执行程序的控制界面,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,所述获取模块7001还用于:
若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源;
将所述句柄资源复制为TargetHandle句柄;
基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄,其中,所述目标子板卡可执行程序通过所述TargetHandle句柄,对所述目标型号信息对应的目标子板卡进行控制。
在一些实施例中,所述获取模块7001还用于:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述子板卡,以执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤;
在对所述子板卡的访问结束后,解除锁定所述互斥锁。
在一些实施例中,所述启动模块7003具体用于:
获取与所述目标子板卡可执行程序对应的应用程序编程接口;
基于所述应用程序编程接口,采用ShellExecute函数打开所述目标子板卡可执行程序。
在一些实施例中,所述获取模块7001还用于:
检测与所述插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功;
若与所述插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤。
在一些实施例中,所述启动模块7003还用于:
若与所述插卡式机箱设备的主板插槽上插入的子板卡通信失败,则在通信失败的子板卡所在的主板插槽对应的显示区域内,显示通信失败的提示信息。
为了更好实施本申请实施例中插卡式机箱设备的软件管理方法,在插卡式机箱设备的软件管理方法的基础之上,本申请实施例中还提供一种插卡式机箱设备的软件管理装置,插卡式机箱设备的软件管理装置包括获取模块以及控制模块,具体如下:
获取模块,用于目标子板卡可执行程序启动后,基于进程通信向预设的插卡式机箱服务软件发送资源共享请求,其中,所述插卡式机箱服务软件获取与所述插卡式机箱设备连接的通信接口的句柄资源,将所述句柄资源复制为TargetHandle句柄,基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
控制模块,用于接收到所述插卡式机箱服务软件基于进程通信共享的所述TargetHandle句柄后,通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制。
在一些实施例中,所述控制模块还用于:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述目标子板卡,以执行所述通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制的步骤;
在对所述目标子板卡的访问结束后,解除锁定所述互斥锁。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种插卡式机箱设备的软件管理装置。如图8所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不以构建对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选地,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
计算机设备还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
获取插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个型号信息对应的子板卡可执行程序;
在各个主板插槽对应的显示区域内,显示主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动目标型号信息对应的目标子板卡可执行程序;
基于目标子板卡可执行程序的控制界面,对目标型号信息对应的目标子板卡进行控制。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种插卡式机箱设备的软件管理方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个型号信息对应的子板卡可执行程序;
在各个主板插槽对应的显示区域内,显示主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动目标型号信息对应的目标子板卡可执行程序;
基于目标子板卡可执行程序的控制界面,对目标型号信息对应的目标子板卡进行控制。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种插卡式机箱设备的软件管理方法、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种插卡式机箱设备的软件管理方法,其特征在于,包括:
插卡式机箱服务软件检测与插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功;
若与所述插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,其中,预先存储有各个所述型号信息对应的子板卡可执行程序,若与所述插卡式机箱设备的主板插槽上插入的子板卡通信失败,则判定插卡式机箱服务软件不兼容支持通信失败的子板卡,并在通信失败的子板卡所在的主板插槽对应的显示区域内,显示通信失败的提示信息;
在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息;
启动所述目标型号信息对应的目标子板卡可执行程序;
若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源;
将所述句柄资源复制为TargetHandle句柄;
基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
基于所述目标子板卡可执行程序的控制界面,对所述目标型号信息对应的目标子板卡进行控制,其中,所述目标子板卡可执行程序通过所述TargetHandle句柄,对所述目标型号信息对应的目标子板卡进行控制。
2.如权利要求1所述的插卡式机箱设备的软件管理方法,其特征在于,各个所述主板插槽上插入的子板卡共用所述插卡式机箱设备的同一硬件通信接口,针对所述硬件通信接口设置互斥锁,所述方法还包括:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述子板卡,以执行所述获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息的步骤;
在对所述子板卡的访问结束后,解除锁定所述互斥锁。
3.如权利要求1所述的插卡式机箱设备的软件管理方法,其特征在于,所述启动所述目标型号信息对应的目标子板卡可执行程序的步骤包括:
获取与所述目标子板卡可执行程序对应的应用程序编程接口;
基于所述应用程序编程接口,采用ShellExecute函数打开所述目标子板卡可执行程序。
4.一种插卡式机箱设备的软件管理方法,其特征在于,包括:
目标子板卡可执行程序启动后,基于进程通信向预设的插卡式机箱服务软件发送资源共享请求,其中,所述插卡式机箱服务软件检测与插卡式机箱设备的各个主板插槽上插入的子板卡是否通信成功,若与所述插卡式机箱设备的各个主板插槽上插入的子板卡通信成功,则获取所述插卡式机箱设备的各个主板插槽上插入的子板卡的型号信息,在各个所述主板插槽对应的显示区域内,显示所述主板插槽上插入的子板卡的型号信息,以供选取至少一个目标型号信息,启动所述目标型号信息对应的目标子板卡可执行程序,若与所述插卡式机箱设备的主板插槽上插入的子板卡通信失败,则判定插卡式机箱服务软件不兼容支持通信失败的子板卡,并在通信失败的子板卡所在的主板插槽对应的显示区域内,显示通信失败的提示信息;所述插卡式机箱服务软件若接收到所述目标子板卡可执行程序基于进程通信发送的资源共享请求,则获取与所述插卡式机箱设备连接的通信接口的句柄资源,将所述句柄资源复制为TargetHandle句柄,基于进程通信,向所述目标子板卡可执行程序共享所述TargetHandle句柄;
接收到所述插卡式机箱服务软件基于进程通信共享的所述TargetHandle句柄后,通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制。
5.如权利要求4所述的插卡式机箱设备的软件管理方法,其特征在于,所述插卡式机箱设备的各个主板插槽上插入的子板卡共用所述插卡式机箱设备的同一硬件通信接口,针对所述硬件通信接口设置互斥锁,所述方法还包括:
检测所述互斥锁是否被锁定;
若所述互斥锁未被锁定,则锁定所述互斥锁,并通过所述硬件通信接口访问所述目标子板卡,以执行所述通过所述TargetHandle句柄,对所述目标子板卡可执行程序对应的目标子板卡进行控制的步骤;
在对所述目标子板卡的访问结束后,解除锁定所述互斥锁。
6.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至5中任一项所述的插卡式机箱设备的软件管理方法中的步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至5中任一项所述的插卡式机箱设备的软件管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210252581.2A CN114327664B (zh) | 2022-03-15 | 2022-03-15 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210252581.2A CN114327664B (zh) | 2022-03-15 | 2022-03-15 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327664A CN114327664A (zh) | 2022-04-12 |
CN114327664B true CN114327664B (zh) | 2022-06-17 |
Family
ID=81033802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210252581.2A Active CN114327664B (zh) | 2022-03-15 | 2022-03-15 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327664B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827080B (zh) * | 2023-02-15 | 2023-05-30 | 南方电网产业投资集团有限责任公司 | 基于串口通讯的嵌入式设备适配方法、装置和计算机设备 |
CN116400968A (zh) * | 2023-03-30 | 2023-07-07 | 广东龙芯中科电子科技有限公司 | 嵌入式板卡的启动方法、装置、中央处理器及嵌入式板卡 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928823A (zh) * | 2006-10-23 | 2007-03-14 | 华为技术有限公司 | 一种实现同步初始化的多单板系统及方法 |
CN102316117A (zh) * | 2011-09-29 | 2012-01-11 | 中兴通讯股份有限公司南京分公司 | 资源处理方法和装置 |
CN103365798A (zh) * | 2013-06-27 | 2013-10-23 | 华为技术有限公司 | 一种串口分时复用的方法及系统 |
CN103514001A (zh) * | 2012-06-27 | 2014-01-15 | 中兴通讯股份有限公司 | 处理器初始化方法及装置 |
CN105528212A (zh) * | 2015-12-05 | 2016-04-27 | 中国航空工业集团公司洛阳电光设备研究所 | 检测仪接口板卡驱动接口的通用化处理方法 |
CN107908578A (zh) * | 2017-12-12 | 2018-04-13 | 成都能通科技有限公司 | 基于PXIe总线和VISA驱动的通用DMA传输方法 |
CN108228244A (zh) * | 2016-12-13 | 2018-06-29 | 比亚迪股份有限公司 | 轻轨板卡的识别方法及系统 |
CN111884898A (zh) * | 2020-07-30 | 2020-11-03 | 中车青岛四方车辆研究所有限公司 | 基于软、硬件融合的列车网络控制系统及融合方法 |
CN112306550A (zh) * | 2020-10-30 | 2021-02-02 | 广州朗国电子科技有限公司 | 一版固件兼容多个板卡方法、装置、存储介质及终端 |
CN113672411A (zh) * | 2021-08-25 | 2021-11-19 | 烽火通信科技股份有限公司 | 一种网络设备虚拟化驱动适配层的实现方法和装置 |
CN113986178A (zh) * | 2021-11-10 | 2022-01-28 | 中国核动力研究设计院 | 一种核电厂dcs平台显示屏通用显示驱动装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959325B2 (en) * | 2012-06-21 | 2015-02-17 | Breakingpoint Systems, Inc. | Systems and methods for booting devices using assigned servers in a multiple-card computing system |
-
2022
- 2022-03-15 CN CN202210252581.2A patent/CN114327664B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928823A (zh) * | 2006-10-23 | 2007-03-14 | 华为技术有限公司 | 一种实现同步初始化的多单板系统及方法 |
CN102316117A (zh) * | 2011-09-29 | 2012-01-11 | 中兴通讯股份有限公司南京分公司 | 资源处理方法和装置 |
CN103514001A (zh) * | 2012-06-27 | 2014-01-15 | 中兴通讯股份有限公司 | 处理器初始化方法及装置 |
CN103365798A (zh) * | 2013-06-27 | 2013-10-23 | 华为技术有限公司 | 一种串口分时复用的方法及系统 |
CN105528212A (zh) * | 2015-12-05 | 2016-04-27 | 中国航空工业集团公司洛阳电光设备研究所 | 检测仪接口板卡驱动接口的通用化处理方法 |
CN108228244A (zh) * | 2016-12-13 | 2018-06-29 | 比亚迪股份有限公司 | 轻轨板卡的识别方法及系统 |
CN107908578A (zh) * | 2017-12-12 | 2018-04-13 | 成都能通科技有限公司 | 基于PXIe总线和VISA驱动的通用DMA传输方法 |
CN111884898A (zh) * | 2020-07-30 | 2020-11-03 | 中车青岛四方车辆研究所有限公司 | 基于软、硬件融合的列车网络控制系统及融合方法 |
CN112306550A (zh) * | 2020-10-30 | 2021-02-02 | 广州朗国电子科技有限公司 | 一版固件兼容多个板卡方法、装置、存储介质及终端 |
CN113672411A (zh) * | 2021-08-25 | 2021-11-19 | 烽火通信科技股份有限公司 | 一种网络设备虚拟化驱动适配层的实现方法和装置 |
CN113986178A (zh) * | 2021-11-10 | 2022-01-28 | 中国核动力研究设计院 | 一种核电厂dcs平台显示屏通用显示驱动装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114327664A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114327664B (zh) | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 | |
CN110472413B (zh) | 基于jenkins的设备管理方法、装置、存储介质及电子设备 | |
CN101313277A (zh) | 用于携带多个挂起的运行时映像的方法与系统 | |
US20030075599A1 (en) | Personal work environment setting method | |
CN111552486A (zh) | Ssd固件烧录方法及相关组件 | |
CN107135462A (zh) | Uefi 固件的蓝牙配对方法及其计算系统 | |
WO2024207889A1 (zh) | 用户识别卡信息加载方法、装置、存储介质及电子设备 | |
WO2020113478A1 (zh) | 地址信息处理方法、装置、电子设备及存储介质 | |
CN107861827B (zh) | 卡屏检测方法、移动终端及计算机可读存储介质 | |
CN109634782B (zh) | 一种系统健壮性的检测方法、装置、存储介质及终端 | |
US8196103B2 (en) | Ejection failure mechanism | |
US20210004240A1 (en) | Electronic device for performing booting, and operating method therefor | |
CN115688088A (zh) | 系统权限管理方法、装置、电视机及存储介质 | |
CN115686650A (zh) | 一种pcie设备的初始化方法及服务器 | |
KR20090047152A (ko) | 이벤트 충돌을 막기 위한 무선 인터넷 플랫폼 기반의모바일 단말기 및 그를 이용한 이벤트 처리 방법 | |
CN115098342A (zh) | 系统日志收集方法、系统、终端及存储介质 | |
CN111694300B (zh) | 一种控制板输入输出口自动配置方法及装置 | |
CN114116034A (zh) | 分布式刷机方法和装置 | |
CN114625575A (zh) | 业务系统同步方法、装置、设备及存储介质 | |
US10805176B2 (en) | SW framework support method for open IPMI and DCMI development | |
JP2004355137A (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法、ディスクアレイ装置、ディスクアレイ装置の制御方法、及び制御プログラム | |
CN113741980B (zh) | 基于安卓系统的电子设备开机方法、电子设备及存储介质 | |
CN114780119B (zh) | 固件更新方法及相关设备 | |
CN114281526B (zh) | 一种fru信息存储器的自适应控制权分配方法、系统及装置 | |
CN115934736A (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 |