服务器设备的启动方法及装置与流程

本技术实施例涉及计算机领域,具体而言,涉及一种服务器设备的启动方法及装置。
背景技术:
1、服务器设备启动的过程中通常会涉及另一服务器设备的配合,服务器设备的运行过程中也涉及与其他服务器设备的数据交互,当前服务器设备通过总线与其他服务器设备相连接,相连接的服务器设备之间通过总线进行数据的交互,但是当前的服务器设备之间的交互效率比较的低。
技术实现思路
1、本技术实施例提供了一种服务器设备的启动方法及装置,以至少解决相关技术中服务器设备之间的交互效率较低的问题。
2、根据本技术的一个实施例,提供了一种服务器设备的启动方法,第一服务器设备上部署了第一操作系统和第二操作系统,所述第一操作系统的响应速度大于所述第二操作系统的响应速度,所述第一服务器设备与第二服务器设备通过目标总线连接,所述方法应用于所述第一服务器设备,所述方法包括:在所述第一服务器设备被启动且所述第一操作系统已启动的情况下,由所述第一操作系统取得所述目标总线的控制权限,接收所述第二服务器设备发起的第一设备请求,由所述第一操作系统取得设备请求的处理权限执行所述第一设备请求得到第一请求结果,并由所述第一操作系统使用所述目标总线的控制权限将所述第一请求结果发送至所述第二服务器设备;在所述第二操作系统启动至允许与所述第二服务器设备进行通信的阶段的情况下,由所述第二操作系统取得所述目标总线的控制权限接收所述第二服务器设备发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统,由所述第一操作系统继续使用设备请求的处理权限执行所述第二设备请求得到第二请求结果并将所述第二请求结果传输至所述第二操作系统,由所述第二操作系统使用所述目标总线的控制权限将所述第二请求结果发送至所述第二服务器设备;在所述第二操作系统启动至允许执行设备请求的阶段的情况下,由所述第二操作系统使用所述目标总线的控制权限接收所述第二服务器设备发起的第三设备请求,由所述第二操作系统取得设备请求的处理权限执行所述第三设备请求得到第三请求结果,并由所述第二操作系统使用所述目标总线的控制权限将所述第三请求结果发送至所述第二服务器设备。
3、作为一种可选的实施方式,所述第一服务器设备包括目标服务器的基板管理控制器,所述第二服务器设备包括所述目标服务器的服务器主机,所述目标总线是允许传输符合智能平台管理接口协议的数据的总线;所述在所述第一服务器设备被启动且所述第一操作系统已启动的情况下,由所述第一操作系统取得所述目标总线的控制权限,接收所述第二服务器设备发起的第一设备请求,由所述第一操作系统取得设备请求的处理权限执行所述第一设备请求得到第一请求结果,并由所述第一操作系统使用所述目标总线的控制权限将所述第一请求结果发送至所述第二服务器设备,包括:在所述目标服务器被启动的情况下,在所述基板管理控制器上启动所述第一操作系统和所述第二操作系统;在所述第一操作系统上已加载所述目标总线的第一总线驱动并已运行所述智能平台管理接口协议的第一应用程序的情况下,由所述第一操作系统取得所述目标总线的控制权限,通过所述第一总线驱动接收所述服务器主机上运行的基本输入输出系统发起的所述第一设备请求;由所述第一操作系统取得设备请求的处理权限,通过所述第一应用程序执行所述第一设备请求得到第一请求结果;由所述第一操作系统使用所述目标总线的控制权限,通过所述第一总线驱动将所述第一请求结果发送至所述基本输入输出系统。
4、作为一种可选的实施方式,所述在所述第二操作系统启动至允许与所述第二服务器设备进行通信的阶段的情况下,由所述第二操作系统取得所述目标总线的控制权限接收所述第二服务器设备发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统,由所述第一操作系统继续使用设备请求的处理权限执行所述第二设备请求得到第二请求结果并将所述第二请求结果传输至所述第二操作系统,由所述第二操作系统使用所述目标总线的控制权限将所述第二请求结果发送至所述第二服务器设备,包括:在所述第二操作系统启动至已加载所述目标总线的第二总线驱动的情况下,确定所述第二操作系统已启动至允许与所述第二服务器设备进行通信的阶段;由所述第二操作系统取得所述目标总线的控制权限,通过所述第二总线驱动接收所述基本输入输出系统发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统;由所述第一操作系统继续使用设备请求的处理权限,通过所述第一应用程序执行所述第二设备请求得到第二请求结果并将所述第二请求结果传输至所述第二操作系统;由所述第二操作系统使用所述目标总线的控制权限,通过所述第二总线驱动将所述第二请求结果发送至所述基本输入输出系统。
5、作为一种可选的实施方式,所述在所述第二操作系统启动至允许执行设备请求的阶段的情况下,由所述第二操作系统使用所述目标总线的控制权限接收所述第二服务器设备发起的第三设备请求,由所述第二操作系统取得设备请求的处理权限执行所述第三设备请求得到第三请求结果,并由所述第二操作系统使用所述目标总线的控制权限将所述第三请求结果发送至所述第二服务器设备,包括:在所述第二操作系统启动至已运行所述智能平台管理接口协议的第二应用程序的情况下,确定所述第二操作系统已启动至允许执行设备请求的阶段;由所述第二操作系统使用所述目标总线的控制权限,通过所述第二总线驱动接收所述基本输入输出系统发起的所述第三设备请求;由所述第二操作系统取得设备请求的处理权限,通过所述第二应用程序执行所述第三设备请求得到第三请求结果;由所述第二操作系统使用所述目标总线的控制权限,通过所述第二总线驱动将所述第三请求结果发送至所述基本输入输出系统。
6、作为一种可选的实施方式,所述由所述第二操作系统取得所述目标总线的控制权限接收所述第二服务器设备发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统,由所述第一操作系统继续使用设备请求的处理权限执行所述第二设备请求得到第二请求结果并将所述第二请求结果传输至所述第二操作系统,由所述第二操作系统使用所述目标总线的控制权限将所述第二请求结果发送至所述第二服务器设备,包括:由所述第二操作系统从所述第一操作系统取得所述目标总线的控制权限;由所述第二操作系统使用所述目标总线的控制权限访问所述目标总线,得到所述第二服务器设备在所述目标总线上发起的所述第二设备请求;由所述第二操作系统向所述第一操作系统发送所述第二设备请求;
7、由所述第一操作系统继续使用设备请求的处理权限执行所述第二设备请求,得到所述第二设备请求的所述第二请求结果;由所述第一操作系统向所述第二操作系统发送所述第二请求结果;由所述第二操作系统使用所述目标总线的控制权限访问所述目标总线将所述第二请求结果发送至所述第二服务器设备。
8、作为一种可选的实施方式,所述由所述第二操作系统向所述第一操作系统发送所述第二设备请求,包括:由所述第二操作系统将所述第二设备请求写入所述第一服务器设备上的目标存储空间,其中,所述目标存储空间允许所述第一操作系统访问也允许所述第二操作系统访问;由所述第二操作系统向所述第一操作系统触发第一中断;由所述第一操作系统响应所述第一中断从所述目标存储空间读取所述第二设备请求;所述由所述第一操作系统向所述第二操作系统发送所述第二请求结果,包括:由所述第一操作系统将所述第二请求结果写入所述目标存储空间;由所述第一操作系统向所述第二操作系统触发第二中断;由所述第二操作系统响应所述第二中断从所述目标存储空间读取所述第二请求结果。
9、作为一种可选的实施方式,所述由所述第二操作系统取得所述目标总线的控制权限接收所述第二服务器设备发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统,包括:由所述第二操作系统向所述第一操作系统请求所述目标总线的控制权限;在所述第二操作系统已请求到所述目标总线的控制权限的情况下,由所述第二操作系统访问所述目标总线得到所述第二服务器设备通过所述目标总线发起的所述第二设备请求;由所述第二操作系统通过所述第一服务器设备上的目标存储空间将所述第二设备请求传输至所述第一操作系统,其中,所述目标存储空间允许所述第一操作系统访问也允许所述第二操作系统访问。
10、作为一种可选的实施方式,所述由所述第二操作系统向所述第一操作系统请求所述目标总线的控制权限,包括:由所述第二操作系统向所述第一操作系统发送第一控制请求,其中,所述第一控制请求用于请求所述目标总线的控制权限;由所述第一操作系统响应所述第一控制请求释放所述目标总线的控制权限,并向所述第二操作系统发送第一响应信息,其中,所述第一响应信息用于指示允许所述第二操作系统取得所述目标总线的控制权限;由所述第二操作系统响应所述第一响应信息确定已请求到所述目标总线的控制权限,或者,由所述第二操作系统在检测到发出所述第一控制请求后第一时间段内未接收到所述第一响应信息的情况下确定已请求到所述目标总线的控制权限。
11、作为一种可选的实施方式,所述由所述第二操作系统向所述第一操作系统发送第一控制请求,包括:由所述第二操作系统将所述第一控制请求写入所述第一服务器设备上的目标存储空间,其中,所述目标存储空间允许所述第一操作系统访问也允许所述第二操作系统访问;由所述第二操作系统向所述第一操作系统触发第三中断;所述由所述第一操作系统响应所述第一控制请求释放所述目标总线的控制权限,并向所述第二操作系统发送第一响应信息,包括:由所述第一操作系统响应所述第三中断从所述目标存储空间读取所述第一控制请求;由所述第一操作系统响应所述第一控制请求释放所述目标总线的控制权限,并向所述目标存储空间写入所述第一响应信息;由所述第一操作系统向所述第二操作系统触发第四中断;所述由所述第二操作系统响应所述第一响应信息确定已请求到所述目标总线的控制权限,包括:由所述第二操作系统响应所述第四中断从所述目标存储空间读取所述第一响应信息;由所述第二操作系统根据所述第一响应信息确定已请求到所述目标总线的控制权限。
12、作为一种可选的实施方式,所述由所述第二操作系统取得设备请求的处理权限执行所述第三设备请求得到第三请求结果,包括:由所述第二操作系统向所述第一操作系统请求设备请求的处理权限;在所述第二操作系统已请求到设备请求的处理权限的情况下,由所述第二操作系统运行所述设备请求的应用程序执行所述第三设备请求,得到第三请求结果。
13、作为一种可选的实施方式,所述由所述第二操作系统向所述第一操作系统请求设备请求的处理权限,包括:由所述第二操作系统向所述第一操作系统发送第二控制请求,其中,所述第二控制请求用于请求设备请求的处理权限;由所述第一操作系统响应所述第二控制请求释放设备请求的处理权限,并向所述第二操作系统发送第二响应信息,其中,所述第二响应信息用于指示允许所述第二操作系统取得设备请求的处理权限;由所述第二操作系统响应所述第二响应信息确定已请求到设备请求的处理权限,或者,由所述第二操作系统在检测到发出所述第二控制请求后第二时间段内未接收到所述第二响应信息的情况下确定已请求到设备请求的处理权限。
14、作为一种可选的实施方式,所述由所述第二操作系统向所述第一操作系统发送第二控制请求,包括:由所述第二操作系统将所述第二控制请求写入所述第一服务器设备上的目标存储空间,其中,所述目标存储空间允许所述第一操作系统访问也允许所述第二操作系统访问;由所述第二操作系统向所述第一操作系统触发第五中断;所述由所述第一操作系统响应所述第二控制请求释放设备请求的处理权限,并向所述第二操作系统发送第二响应信息,包括:由所述第一操作系统响应所述第五中断从所述目标存储空间读取所述第二控制请求;由所述第一操作系统响应所述第二控制请求释放设备请求的处理权限,并向所述目标存储空间写入所述第二响应信息;由所述第一操作系统向所述第二操作系统触发第六中断;所述由所述第二操作系统响应所述第二响应信息确定已请求到设备请求的处理权限,包括:由所述第二操作系统响应所述第六中断从所述目标存储空间读取所述第二响应信息;由所述第二操作系统根据所述第二响应信息确定已请求到设备请求的处理权限。
15、作为一种可选的实施方式,所述第一服务器设备的内存中划分了目标内存区域,所述第一操作系统中部署了第一中断服务函数、中断接收线程和业务模块,所述第二操作系统中划分了内核层和应用层,所述内核层中加载了核间通信驱动,所述应用层中部署了业务进程,所述目标内存区域被设置为既允许被所述中断接收线程访问也允许被所述核间通信驱动访问,所述方法还包括:在所述业务进程中产生了待发送至所述业务模块的第一数据的情况下,由所述业务进程通过系统调用将所述第一数据发送至所述核间通信驱动;由所述核间通信驱动将所述第一数据写入所述目标内存区域,并向所述第一操作系统发送第一核间软中断;所述第一操作系统接收到所述第一核间软中断后触发所述第一中断服务函数;由所述第一中断服务函数唤醒所述中断接收线程;由所述中断接收线程从所述目标内存区域读取所述第一数据,并将所述第一数据发送至所述业务模块。
16、作为一种可选的实施方式,所述第一服务器设备的内存中划分了目标内存区域,所述第一操作系统中运行了中断发送线程和业务模块,所述第二操作系统中划分了内核层和应用层,所述内核层中加载了核间通信驱动,所述核间通信驱动中部署了第二中断服务函数,所述应用层中部署了业务进程,所述目标内存区域被设置为既允许被所述中断发送线程访问也允许被所述核间通信驱动访问,所述方法还包括:在所述业务模块中产生了待发送至所述业务进程的第二数据的情况下,由所述业务模块将所述第二数据发送至所述中断发送线程;由所述中断发送线程将所述第二数据写入所述目标内存区域,并向所述核间通信驱动发送第二核间软中断;由所述核间通信驱动触发所述第二中断服务函数;由所述第二中断服务函数从所述目标内存区域读取所述第二数据,并通过系统调用将所述第二数据发送至所述业务进程。
17、作为一种可选的实施方式,在所述由所述第二操作系统使用所述目标总线的控制权限接收所述第二服务器设备发起的第三设备请求之后,所述方法还包括:由所述第一操作系统监控在所述第二操作系统上设备请求的处理权限的运行状态;在监控到所述运行状态用于指示在所述第二操作系统上设备请求的处理权限运行异常的情况下,从所述第二操作系统上获取所述目标总线的控制权限和设备请求的处理权限;由所述第一操作系统控制所述第二操作系统重启。
18、作为一种可选的实施方式,所述由所述第一操作系统监控在所述第二操作系统上设备请求的处理权限的运行状态,包括:由所述第一操作系统向所述第二操作系统发送心跳命令,其中,所述心跳命令用于指示所述第二操作系统向所述第一操作系统发送所述第二操作系统的系统状态和设备请求的处理权限的功能状态,其中,在所述第二操作系统上设备请求的处理权限的所述运行状态包括:所述系统状态和所述功能状态;所述方法还包括:由所述第二操作系统监听所述心跳命令;在未监听到所述心跳命令的时长大于或者等于目标时长的情况下,确定所述第一操作系统运行异常,并由所述第二操作系统重启所述第一操作系统。
19、根据本技术的另一个实施例,提供了一种服务器设备的启动装置,第一服务器设备上部署了第一操作系统和第二操作系统,所述第一操作系统的响应速度大于所述第二操作系统的响应速度,所述第一服务器设备与第二服务器设备通过目标总线连接,所述装置应用于所述第一服务器设备,所述装置包括:第一运行模块,用于在所述第一服务器设备被启动且所述第一操作系统已启动的情况下,由所述第一操作系统取得所述目标总线的控制权限,接收所述第二服务器设备发起的第一设备请求,由所述第一操作系统取得设备请求的处理权限执行所述第一设备请求得到第一请求结果,并由所述第一操作系统使用所述目标总线的控制权限将所述第一请求结果发送至所述第二服务器设备;第二运行模块,用于在所述第二操作系统启动至允许与所述第二服务器设备进行通信的阶段的情况下,由所述第二操作系统取得所述目标总线的控制权限接收所述第二服务器设备发起的第二设备请求并将所述第二设备请求传输至所述第一操作系统,由所述第一操作系统继续使用设备请求的处理权限执行所述第二设备请求得到第二请求结果并将所述第二请求结果传输至所述第二操作系统,由所述第二操作系统使用所述目标总线的控制权限将所述第二请求结果发送至所述第二服务器设备;第三运行模块,用于在所述第二操作系统启动至允许执行设备请求的阶段的情况下,由所述第二操作系统使用所述目标总线的控制权限接收所述第二服务器设备发起的第三设备请求,由所述第二操作系统取得设备请求的处理权限执行所述第三设备请求得到第三请求结果,并由所述第二操作系统使用所述目标总线的控制权限将所述第三请求结果发送至所述第二服务器设备。
20、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
21、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
22、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
23、通过本技术,在第一服务器设备被启动且响应速度更快的第一操作系统启动的情况下,第一操作系统能够取得目标总线的控制权限,并能够取得设备请求的处理权限,所以能够更快的响应第二服务器设备的请求,避免了第二设备的请求的长时间等待;在第二操作系统启动到可以进行通信的阶段的情况下,由第二操作系统取得目标总线的控制权限,将第一服务器设备和第二服务器设备的通信的过程交由第二操作系统执行,第一操作系统继续使用设备请求的处理权限,逐步将服务器设备的交互过程转移至第二操作系统;第一服务器设备在第二操作系统启动至允许执行设备请求的阶段的情况下,由第二操作系统使用目标总线的控制权限和设备请求的处理权限,最终使得服务器设备的交互过程全部由第二操作系统完成,综上的服务器设备的交互过程既使得第二操作系统的启动过程不会成为阻碍第二服务器设备与第一服务器设备交互的障碍,又使得在第二操作系统具备更多操作能力时接管服务器设备的交互过程提高交互过程的效率。因此,可以解决服务器设备之间的交互效率较低的问题,达到提高服务器设备之间的交互效率的效果。
技术研发人员:王殿卫,刘宝阳,陈超凡,张昭
技术所有人:苏州元脑智能科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
