CN112994988B - 多操作系统间的心跳检测方法及车机系统 - Google Patents
多操作系统间的心跳检测方法及车机系统 Download PDFInfo
- Publication number
- CN112994988B CN112994988B CN202110506905.6A CN202110506905A CN112994988B CN 112994988 B CN112994988 B CN 112994988B CN 202110506905 A CN202110506905 A CN 202110506905A CN 112994988 B CN112994988 B CN 112994988B
- Authority
- CN
- China
- Prior art keywords
- heartbeat
- event
- heartbeat event
- channel
- driving module
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 58
- 230000002159 abnormal effect Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 40
- 230000001121 heart beat frequency Effects 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种多操作系统间的心跳检测方法及车机系统,多操作系统的第一系统和第二系统之间设有基于虚拟机管理器搭建的第一通道,第一系统配置有心跳接收端、第一驱动模块,第二系统配置有心跳发出端、第二驱动模块,检测方法包括:第二系统经由第二驱动模块将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件;第一系统经由第一驱动模块通过心跳接收端从第一通道读取第一心跳事件;第一系统根据第一心跳事件确定第二系统是否异常;该多操作系统间的心跳检测方法通过基于虚拟机管理器搭建的第一通道进行心跳检测,实现第一系统在不依赖网络的条件下对第二系统状态的监测,有效避免因网络异常而造成第一系统对第二系统状态的误判。
Description
技术领域
本申请涉及车载数据通信技术领域,特别涉及一种多操作系统间的心跳检测方法及车机系统。
背景技术
多操作系统就是在电子设备上安装至少两个操作系统,两个操作系统共同运行且共享硬件设备。为相互监测操作系统运行状态,通常采用一个操作系统向另一操作系统发送心跳包的形式实现。
现有的双系统车机系统间心跳检测一般通过系统间搭建的局域网络来实现,即通过网络心跳检测通道来发送心跳包,而该方式依赖于网卡配置和网络服务,一旦双系统间网络通讯出现异常,检测方系统容易对被检测方系统的状态产生误判。
因此,亟待寻求能有效避免因网络不稳定、断连等问题导致心跳包接收延时或中断而对被检测方系统的状态产生误判的方法。
发明内容
为解决上述技术问题,本申请提供了一种多操作系统间的心跳检测方法及车机系统,其能有效实现第一系统对第二系统状态的监测不受网络影响。
本申请提供的技术方案如下:
第一方面,提供一种多操作系统间的心跳检测方法,所述多操作系统包括第一系统和第二系统;所述第一系统和所述第二系统之间设有基于虚拟机管理器搭建的第一通道,所述第一系统配置有心跳接收端、与所述第一通道关联的第一驱动模块,所述第二系统配置有心跳发出端、与所述第一通道关联的第二驱动模块,所述多操作系统间的心跳检测方法包括:
所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件;
所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常。
在一种较佳的实施方式中,所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件,包括:
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二驱动模块中;
所述第二系统通过所述第二驱动模块将所述当前心跳事件写入所述第一通道作为第一心跳事件。
在一种较佳的实施方式中,所述第二系统还配置有与所述第二驱动模块匹配的第二节点;
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二驱动模块中,包括:
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二节点;
所述第二系统通过所述第二驱动模块从所述第二节点读取所述当前心跳事件。
在一种较佳的实施方式中,所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件,包括:
所述第一系统通过所述第一驱动模块从所述第一通道读取所述第一心跳事件;
所述第一系统通过所述心跳接收端从所述第一驱动模块读取所述第一心跳事件。
在一种较佳的实施方式中,所述第一系统还配置有与所述第一驱动模块匹配的第一节点;
所述第一系统通过所述第一驱动模块从所述第一通道读取所述第一心跳事件之后,还包括:
所述第一系统通过所述第一驱动模块将读取到的所述第一心跳事件写入所述第一节点;
所述第一系统通过所述心跳接收端从所述第一驱动模块读取所述第一心跳事件,包括:
所述第一系统通过所述心跳接收端从所述第一节点读取所述第一心跳事件。
在一种较佳的实施方式中,所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常,包括:
若预设时间段内,所述第一心跳事件未更新,则确定所述第二系统异常;
所述心跳检测方法,还包括:
所述第一系统控制重启所述第二系统。
在一种较佳的实施方式中,所述第一系统和所述第二系统之间还设置有基于网络搭建的第二通道,所述心跳检测方法,还包括:
在所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件的同时,所述第二系统通过所述第二通道将所述心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;
所述第一系统通过所述心跳接收端从所述第二通道接收所述第二心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常,包括:
所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常。
在一种较佳的实施方式中,所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常,包括:
所述第一系统判断所述第二心跳事件的频率是否符合预设心跳频率阈值;
若是,则所述第一系统将接收到的所述第二心跳事件确定为目标心跳事件;或者,若否,则所述第一系统将接收到的所述第一心跳事件作为目标心跳事件;
所述第一系统根据所述目标心跳事件,确定所述第二系统是否异常。
在一种较佳的实施方式中,当所述目标心跳事件为所述第一心跳事件时,
若预设时间段内,所述第一心跳事件已更新,则确定所述第二系统正常,且网络异常;
所述多操作系统间的心跳检测方法,还包括:
所述第一系统单独控制重置网络服务;
或者,
若预设时间段内,所述第一心跳事件未更新,则确定所述第二系统异常;
所述心跳检测方法,还包括:
所述第一系统控制重启所述第二系统。
第二方面,提供一种与第一方面相对应的具有多操作系统的车机系统,所述多操作系统包括第一系统和第二系统;所述第一系统和所述第二系统之间设有基于虚拟机管理器搭建的第一通道,所述第一系统配置有心跳接收端、与所述第一通道关联的第一驱动模块,所述第二系统配置有心跳发出端、与所述第一通道关联的第二驱动模块,触发所述多操作系统间的心跳检测时,所述车机系统执行如下操作:
所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件;
所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常。
本申请相比现有技术而言的有益效果在于:
本申请提供一种多操作系统间的心跳检测方法、具有多操作系统的车机系统,多操作系统包括第一系统和第二系统;第一系统和第二系统之间设有基于虚拟机管理器搭建的第一通道,第一系统配置有心跳接收端、与第一通道关联的第一驱动模块,第二系统配置有心跳发出端、与第一通道关联的第二驱动模块,心跳检测方法包括:第二系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件;第一系统经由第一驱动模块,通过心跳接收端从第一通道读取第一心跳事件;第一系统根据第一心跳事件,确定第二系统是否异常;该多操作系统间的心跳检测方法通过基于虚拟机管理器搭建的第一通道进行心跳检测,相较于传统采用网络传输心跳包(心跳事件)进行心跳检测的方案,实现第一系统在不依赖网络的条件下对第二系统状态的监测,有效避免因网络异常而造成第一系统对第二系统状态的误判;
进一步,第一系统和第二系统之间还设置有基于网络搭建的第二通道,心跳检测方法,还包括:在第二系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件的同时,第二系统通过第二通道将心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;第一系统通过心跳接收端从第二通道接收第二心跳事件;第一系统根据第一心跳事件,确定第二系统是否异常,包括:第一系统根据第一心跳事件和第二心跳事件,确定第二系统是否异常;该多操作系统间的心跳检测方法在第一系统通过基于虚拟机管理器搭建的第一通道、基于网络搭建的第二通道同时且分别获取第二系统发出的心跳事件基础上,对基于这两个通道分别获得的第一心跳事件和第二心跳事件单独判断第二系统是否异常,从而实现第一系统对第二系统持续监测心跳的同时获知第二系统异常的原因及采取相应对应措施;
需要说明的是,本申请只需实现上述至少一种技术效果即可。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种多操作系统间的心跳检测方法的流程图;
图2是本申请实施例一提供的又一种多操作系统间的心跳检测方法的流程图;
图3是本申请实施例二提供的一种多操作系统间的心跳检测方法的系统架构图;
图4是本申请实施例二提供的车机系统执行多操作系统间的心跳检测方法的流程图;
图5是本申请实施例三提供的一种多操作系统间的心跳检测方法的系统架构图;
图6是本申请实施例三提供的车机系统执行多操作系统间的心跳检测方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前的具有多操作系统的电子产品,各操作系统之间往往通过网络传送心跳包实现对被监测操作系统状态监测。而在网络传送心跳包过程通常具有如下缺陷:当有大量数据占用宽带导致心跳包出现较大延时,或心跳包被恶意拦截、修改或攻击,或因网卡故障及网络断连等等异常,这些异常均会导致心跳包传送造成较大延时或中断,从而造成对被监测操作系统状态的误判。对此,本申请实施例提供一种多操作系统间的心跳检测方法,能有效解决上述问题。
下面将结合具体实施例对一种多操作系统间的心跳检测方法、具有多操作系统的车机系统作进一步说明。
实施例一
结合图1、2所示,本实施例提供一种多操作系统间的心跳检测方法,该多操作系统至少包括两个操作系统;两个操作系统之间设有基于虚拟机管理器搭建的第一通道以实现一操作系统对另一操作系统的心跳检测,从而实现易操作系统对另一操作系统状态的监测。
为了便于描述,本实施例以双操作系统为例对心跳检测方法作具体描述,且将第一系统作为主系统,第二系统作为被监测系统。第一系统通过上述第一通道接收第二系统发出的规定频率的心跳事件以实现对第二系统的监测。第一系统配置有心跳接收端,第二系统配置有心跳发出端,第二系统经由心跳发出端发出的规定频率的心跳事件通过第一通道后,第一系统经由心跳接收端向该第一通道获取心跳事件。
心跳事件通常指心跳包,指客户端和服务器间或者两个操作系统之间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,以告诉对方“我还在”,所以叫做心跳包。心跳包仅包含一些简单的信息,甚至可以是一个空包。
如图1所示,本实施例提供的多操作系统间的心跳检测方法包括如下步骤:
S1、第二系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件。
示例性地,本实施例中的虚拟机管理器采用Hypervisor。Hypervisor为一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做VMM( virtual machine monitor )。Hypervisor是一种在虚拟环境中的“元”操作系统,可以访问服务器上包括磁盘和内存在内的所有物理设备,且Hypervisor协调着这些硬件资源的访问。因此,在Hypervisor存在下,可实现在同一硬件机器上运行多个相互隔离的不同操作系统。
本实施例设有基于Hypervisor搭建的第一通道,故不同操作系统之间信息的传送不需要网络通道即可实现。
进一步,为实现不同操作系统之间信息的传送,本实施例基于Hypervisor对操作系统作进一步配置,以实现通过第一通道传送心跳事件以进行心跳检测的目的。具体为:将基于Hypervisor提供的虚拟MMIO驱动作为第一系统的第一驱动模块,以及将基于Hypervisor提供的虚拟MMIO驱动作为第二系统的第二驱动模块,第一驱动模块、第二驱动模块均可与第一通道通过读取/写入的方式进行信息传送。
因此,步骤S1具体可以包括:
S11、第二系统将心跳发出端发出的当前心跳事件写入第二驱动模块中;
S12、第二系统通过第二驱动模块将当前心跳事件写入第一通道作为第一心跳事件。
在一种改进的实施方式中,第二系统还配置有与第二驱动模块匹配的第二节点,第二节点为第一驱动暴露的文件节点,则步骤S11具体可以包括:
S111、第二系统将心跳发出端发出的当前心跳事件写入第二节点;
S112、第二系统通过第二驱动模块从第二节点读取当前心跳事件。
在第二系统发出当前心跳事件并将其写入第一通道之后,第一系统向第一通道获取相应第一心跳事件,则执行:
步骤S2、第一系统经由第一驱动模块,通过心跳接收端从第一通道读取第一心跳事件。具体地,步骤S2可以包括:
S21、第一系统通过第一驱动模块从第一通道读取第一心跳事件。
S22、第一系统通过心跳接收端从第一驱动模块读取第一心跳事件。
优选地,第一系统还配置有与第一驱动模块匹配的第一节点,第一节点为第一驱动暴露的文件节点,则在步骤S21及步骤S22之间,步骤S2还可以包括:
S2a、第一系统通过第一驱动模块将读取到的第一心跳事件写入第一节点。
以及,步骤S22具体可以为:
第一系统通过心跳接收端从第一节点读取第一心跳事件。
第一系统在读取第一心跳事件后,执行:
步骤S3、第一系统根据第一心跳事件,确定第二系统是否异常。具体地,步骤S3可以包括:
S3a、若预设时间段内,第一心跳事件未更新,则确定第二系统异常。
通常,第二系统启动后会以预设频率发送心跳包,如以每秒一次的预设频率发送心跳包。第一系统则以同样的频率接收第一心跳事件并进行第一心跳事件的更新,故所述的预设时间段就是1秒。若在发送心跳包后的1秒时未收到下一第一心跳包,则第一系统判定第一心跳事件未更新,第一系统确定第二系统异常。
在第一系统确定第二系统异常后,该心跳检测方法,还可以包括:
第一系统控制重启第二系统。
具体地,在第一系统中配置控制模块,控制第二系统的启停。
本实施例中的双操作系统可以为基于Hypervisor的linux-Android双系统,也可以为基于Hypervisor的IVI与Cluster双系统,且当采用linux-Android双系统时,linux系统作为第一系统(主系统),Android系统作为第二系统(被监测系统),执行linux系统对Android系统的心跳检测。
本实施例提供的多操作系统间的心跳检测方法通过基于虚拟机管理器搭建的第一通道进行心跳检测,相较于传统采用网络传输心跳包(心跳事件)进行心跳检测的方案,实现第一系统在不依赖网络的条件下对第二系统状态的监测,有效避免因网络异常而造成第一系统对第二系统状态的误判。
在一种改进的实施方案中,第一系统和第二系统之间还设置有基于网络搭建的第二通道,即,在第一系统和第二系统之间构建基于Hypervisor的第一通道以及基于网络的第二通道。如图2所示,本实施例中的心跳检测方法,还包括:
S4、在第二系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件的同时,第二系统通过第二通道将心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;
S5、第一系统通过心跳接收端从第二通道接收第二心跳事件;
在这种实施方式中,步骤S3具体可以包括:第一系统根据第一心跳事件和第二心跳事件,确定第二系统是否异常。
上述步骤S1-S2,以及S4-S5为并行过程,第一系统通过心跳接收端分别通过第一通道及第二通道获取第二系统的心跳发出端发出的同一个第一心跳事件。
更具体地,步骤S3可以进一步包括:
S3b、第一系统判断第二心跳事件的频率是否符合预设心跳频率阈值;
若是,则第一系统将接收到的第二心跳事件确定为目标心跳事件;
若否,则第一系统将接收到的第一心跳事件作为目标心跳事件。
S3c、第一系统根据目标心跳事件,确定第二系统是否异常。
具体地,当目标心跳事件为第二心跳事件时,则第一系统确定第二系统正常。
当目标心跳事件为第一心跳事件时,则第一系统确定第二系统或网络处于非正常状态,需进一步明确故障类型。具体故障类型判断及应对过程如下:
若预设时间段内,第一心跳事件已更新,则确定第二系统正常,且网络异常。
该情况下,多操作系统间的心跳检测方法还包括如下应对过程:第一系统单独控制重置网络服务。
或者,若预设时间段内,第一心跳事件未更新,则确定第二系统异常;
该情况下,多操作系统间的心跳检测方法还包括如下应对过程:第一系统控制重启第二系统。
本实施例提供的多操作系统间的心跳检测方法在第一系统通过基于虚拟机管理器搭建的第一通道、基于网络搭建的第二通道同时且分别获取第二系统发出的心跳事件基础上,对基于这两个通道分别获得的第一心跳事件和第二心跳事件单独判断第二系统是否异常,从而实现第一系统对第二系统持续监测心跳的同时获知第二系统异常的原因及采取相应对应措施。
可以理解的是,本实施例提供的基于多个操作系统的心跳检测方法中,该多个操作系统还可以包括第三系统或更多系统,本申请对此并不限定。例如,第三系统的操作可以参照上述第二系统的描述,为描述简便,后续不再赘述。
需要说明的是,本实施例提供的基于多个操作系统的心跳检测方法可以应用在具有多操作系统的车机系统,也可以应用在车载娱乐信息系统(In-Vehicle Infotainment,IVI)与仪表板显示系统(instrument cluster display system)之间,或者,还可以应用在其他车载系统之间,本申请并不限定。下面将以应用在具有多操作系统的车机系统为例,对本申请的方案进行进一步说明。
实施例二
结合图3、4所示,对应上述实施例,本实施例提供一种执行如实施例一所述的多操作系统间的心跳检测方法的具有多操作系统的车机系统,其中本实施例中,与上述实施例一相同或相似的内容,可以参考上文描述,后续不再赘述。具体地,本实施例中的多操作系统为linux-Android双系统,即包括linux系统和Android系统, linux系统对Android系统进行心跳检测以实现对Android系统运行状态的监测。
具体地,如图3所示,linux系统和Android系统之间设有基于Hypervisor搭建的第一通道,linux系统配置有心跳接收端、与第一通道关联的第一驱动模块,Android系统配置有心跳发出端、与第一通道关联的第二驱动模块,触发多操作系统间的心跳检测时,如图4所示,该车机系统执行如下操作:
S10、Android系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件;
S20、linux系统经由第一驱动模块,通过心跳接收端从第一通道读取第一心跳事件;
S30、linux系统根据第一心跳事件,确定Android系统是否异常。
上述步骤S10具体包括:
S101、Android系统将心跳发出端发出的当前心跳事件写入第二驱动模块中;
S102、Android系统通过第二驱动模块将当前心跳事件写入第一通道作为第一心跳事件。
在一种改进的实施方式中,Android系统还配置有与第二驱动模块匹配的第二节点,第二节点为第二驱动暴露的文件节点,则步骤S101具体包括:
S1011、Android系统将心跳发出端发出的当前心跳事件写入第二节点;
S1012、Android系统通过第二驱动模块从第二节点读取当前心跳事件。
在Android系统发出当前心跳事件并将其写入第一通道之后,linux系统向第一通道获取相应第一心跳事件,则执行步骤S20,具体地,步骤S20包括:
S201、linux系统通过第一驱动模块从第一通道读取第一心跳事件。
S202、linux系统通过心跳接收端从第一驱动模块读取第一心跳事件。
优选地,linux系统还配置有与第一驱动模块匹配的第一节点,第一节点为第一驱动暴露的文件节点,则在步骤S201及步骤S202之间,步骤S20还包括:
S20a、linux系统通过第一驱动模块将读取到的第一心跳事件写入第一节点。
以及,步骤S202具体为:
linux系统通过心跳接收端从第一节点读取第一心跳事件。
linux系统在读取第一心跳事件后,执行步骤S30,具体地,步骤S30包括:
S30a、若预设时间段内,第一心跳事件未更新,则确定Android系统异常。
本实施例中,Android系统启动后以预设的每秒一次的预设频率发送心跳包。linux系统以同样的频率接收第一心跳事件并进行第一心跳事件的更新,故S30a中的预设时间段为1秒。若在发送心跳包后的1秒时未收到下一第一心跳包,则linux系统判定第一心跳事件未更新,linux系统确定Android系统异常。
在linux系统确定Android系统异常后,该心跳检测方法还包括:
linux系统通过其配置的控制模块控制重启Android系统,且在Android系统重启后linux系统继续对Android系统进行心跳检测,具体过程如上所述,此处不再赘述。
本实施例提供的车机系统通过基于Hypervisor搭建的第一通道进行心跳检测,相较于传统采用网络传输心跳包(心跳事件)进行心跳检测的方案,实现linux系统在不依赖网络的条件下对Android系统状态的监测,有效避免因网络异常而造成linux系统对Android系统状态的误判。
实施例三
结合图5、6所示,对应上述实施例,本实施例提供一种执行如实施例一所述的多操作系统间的心跳检测方法的具有多操作系统的车机系统,其中本实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。同样地,本实施例中的多操作系统为linux-Android双系统,且linux系统对Android系统进行心跳检测以实现对Android系统运行状态的监测及控制。
具体地,如图5所示,linux系统和Android系统之间设有基于Hypervisor搭建的第一通道以及基于网络搭建的第二通道,linux系统配置有心跳接收端、与第一通道关联的第一驱动模块,Android系统配置有心跳发出端、与第一通道关联的第二驱动模块,触发多操作系统间的心跳检测时,如图6所示,该车机系统执行如下操作:
S100、Android系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件;
S200、linux系统经由第一驱动模块,通过心跳接收端从第一通道读取第一心跳事件;
S300、在Android系统经由第二驱动模块,将心跳发出端发出的当前心跳事件写入第一通道作为第一心跳事件的同时,Android系统通过第二通道将心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;
S400、linux系统通过心跳接收端从第二通道接收第二心跳事件;
S500、linux系统根据第一心跳事件,确定Android系统是否异常。
上述步骤S100-S200、以及S300-S400为并行过程,即linux系统通过心跳接收端分别通过第一通道及第二通道获取Android系统的心跳发出端发出的同一个第一心跳事件。
步骤S500具体包括:linux系统根据第一心跳事件和第二心跳事件,确定Android系统是否异常。
更具体地,步骤S500进一步包括:
S500a、linux系统判断第二心跳事件的频率是否符合预设心跳频率阈值。
若是,则linux系统将接收到的第二心跳事件确定为目标心跳事件;
若否,则linux系统将接收到的第一心跳事件作为目标心跳事件。
S500b、linux系统根据目标心跳事件,确定Android系统是否异常。
具体地,当目标心跳事件为第二心跳事件时,则linux系统确定Android系统正常。
当目标心跳事件为第一心跳事件时,则linux系统确定Android系统或网络处于非正常状态,需进一步明确故障类型。
具体故障类型判断及应对过程如下:
若预设时间段内,第一心跳事件已更新,则确定Android系统正常,且网络异常。该情况下,心跳检测方法还包括如下应对过程:linux系统单独控制重置网络服务。
或者,若预设时间段内,第一心跳事件未更新,则确定Android系统异常。该情况下,心跳检测方法还包括如下应对过程:linux系统控制重启Android系统。
本实施例提供的车机系统在linux系统通过基于虚拟机管理器搭建的第一通道、基于网络搭建的第二通道同时且分别获取Android系统发出的心跳事件基础上,对基于这两个通道分别获得的第一心跳事件和第二心跳事件判断Android系统是否异常,从而实现linux系统对Android系统持续监测心跳的同时获知Android系统异常的原因及采取相应对应措施。
此外,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的数据下,即可以理解并实施。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.多操作系统间的心跳检测方法,其特征在于,所述多操作系统包括第一系统和第二系统;所述第一系统和所述第二系统之间设有基于虚拟机管理器搭建的第一通道,所述第一系统配置有心跳接收端、与所述第一通道关联的第一驱动模块,所述第二系统配置有心跳发出端、与所述第一通道关联的第二驱动模块,所述心跳检测方法包括:
所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件;
所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常;
所述第一系统和所述第二系统之间还设置有基于网络搭建的第二通道,所述多操作系统间的心跳检测方法,还包括:
在所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件的同时,所述第二系统通过所述第二通道将所述心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;
所述第一系统通过所述心跳接收端从所述第二通道接收所述第二心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常,包括:
所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常;
所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常,包括:
所述第一系统判断所述第二心跳事件的频率是否符合预设心跳频率阈值;
若是,则所述第一系统将接收到的所述第二心跳事件确定为目标心跳事件;或者,若否,则所述第一系统将接收到的所述第一心跳事件作为目标心跳事件;
所述第一系统根据所述目标心跳事件,确定所述第二系统是否异常。
2.根据权利要求1所述的多操作系统间的心跳检测方法,其特征在于,所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件,包括:
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二驱动模块中;
所述第二系统通过所述第二驱动模块将所述当前心跳事件写入所述第一通道作为第一心跳事件。
3.根据权利要求2所述的多操作系统间的心跳检测方法,其特征在于,所述第二系统还配置有与所述第二驱动模块匹配的第二节点;
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二驱动模块中,包括:
所述第二系统将所述心跳发出端发出的当前心跳事件写入所述第二节点;
所述第二系统通过所述第二驱动模块从所述第二节点读取所述当前心跳事件。
4.根据权利要求1所述的多操作系统间的心跳检测方法,其特征在于,所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件,包括:
所述第一系统通过所述第一驱动模块从所述第一通道读取所述第一心跳事件;
所述第一系统通过所述心跳接收端从所述第一驱动模块读取所述第一心跳事件。
5.根据权利要求4所述的多操作系统间的心跳检测方法,其特征在于,所述第一系统还配置有与所述第一驱动模块匹配的第一节点;
所述第一系统通过所述第一驱动模块从所述第一通道读取所述第一心跳事件之后,还包括:
所述第一系统通过所述第一驱动模块将读取到的所述第一心跳事件写入所述第一节点;
所述第一系统通过所述心跳接收端从所述第一驱动模块读取所述第一心跳事件,包括:
所述第一系统通过所述心跳接收端从所述第一节点读取所述第一心跳事件。
6.根据权利要求1至5中任一项所述的多操作系统间的心跳检测方法,其特征在于,所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常,包括:
若预设时间段内,所述第一心跳事件未更新,则确定所述第二系统异常;
所述心跳检测方法,还包括:
所述第一系统控制重启所述第二系统。
7.根据权利要求1所述的多操作系统间的心跳检测方法,其特征在于,当所述目标心跳事件为所述第一心跳事件时,
若预设时间段内,所述第一心跳事件已更新,则确定所述第二系统正常,且网络异常;
所述多操作系统间的心跳检测方法,还包括:
所述第一系统单独控制重置网络服务;
或者,
若预设时间段内,所述第一心跳事件未更新,则确定所述第二系统异常;
所述心跳检测方法,还包括:
所述第一系统控制重启所述第二系统。
8.具有多操作系统的车机系统,其特征在于,所述多操作系统包括第一系统和第二系统;所述第一系统和所述第二系统之间设有基于虚拟机管理器搭建的第一通道,所述第一系统配置有心跳接收端、与所述第一通道关联的第一驱动模块,所述第二系统配置有心跳发出端、与所述第一通道关联的第二驱动模块,触发所述多操作系统间的心跳检测时,所述车机系统执行如下操作:
所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件;
所述第一系统经由所述第一驱动模块,通过所述心跳接收端从所述第一通道读取所述第一心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常;
所述第一系统和所述第二系统之间还设置有基于网络搭建的第二通道,所述车机系统还执行如下操作:
在所述第二系统经由所述第二驱动模块,将所述心跳发出端发出的当前心跳事件写入所述第一通道作为第一心跳事件的同时,所述第二系统通过所述第二通道将所述心跳发出端发出的当前心跳事件作为第二心跳事件进行发送;
所述第一系统通过所述心跳接收端从所述第二通道接收所述第二心跳事件;
所述第一系统根据所述第一心跳事件,确定所述第二系统是否异常,包括:
所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常;
所述第一系统根据所述第一心跳事件和所述第二心跳事件,确定所述第二系统是否异常,包括:
所述第一系统判断所述第二心跳事件的频率是否符合预设心跳频率阈值;
若是,则所述第一系统将接收到的所述第二心跳事件确定为目标心跳事件;或者,若否,则所述第一系统将接收到的所述第一心跳事件作为目标心跳事件;
所述第一系统根据所述目标心跳事件,确定所述第二系统是否异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110506905.6A CN112994988B (zh) | 2021-05-10 | 2021-05-10 | 多操作系统间的心跳检测方法及车机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110506905.6A CN112994988B (zh) | 2021-05-10 | 2021-05-10 | 多操作系统间的心跳检测方法及车机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112994988A CN112994988A (zh) | 2021-06-18 |
CN112994988B true CN112994988B (zh) | 2021-08-27 |
Family
ID=76337440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110506905.6A Active CN112994988B (zh) | 2021-05-10 | 2021-05-10 | 多操作系统间的心跳检测方法及车机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112994988B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467848A (zh) * | 2021-07-22 | 2021-10-01 | 湖北亿咖通科技有限公司 | 多系统启动方法、设备、存储介质及程序产品 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
CN1916855A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件配置方法 |
CN101383688A (zh) * | 2007-09-06 | 2009-03-11 | 凹凸科技(中国)有限公司 | 数据通信装置及保持数据通信装置高可用性的方法 |
US7840398B2 (en) * | 2006-03-28 | 2010-11-23 | Intel Corporation | Techniques for unified management communication for virtualization systems |
CN102023960A (zh) * | 2009-09-14 | 2011-04-20 | 联想(北京)有限公司 | 计算机网络系统、计算机及其硬件设备远程管理的方法 |
CN102597962A (zh) * | 2009-10-30 | 2012-07-18 | 国际商业机器公司 | 用于虚拟计算环境中的故障管理的方法和系统 |
CN102981894A (zh) * | 2011-09-05 | 2013-03-20 | 联想(北京)有限公司 | 显示方法和电子设备 |
CN103810109A (zh) * | 2012-11-15 | 2014-05-21 | 华为技术有限公司 | 内存分配方法、装置及系统 |
CN109218286A (zh) * | 2018-07-27 | 2019-01-15 | 亚信科技(成都)有限公司 | 虚拟化环境下实现无代理edr的方法及装置 |
CN109495312A (zh) * | 2018-12-05 | 2019-03-19 | 广州鼎甲计算机科技有限公司 | 基于仲裁盘和双链路的高可用集群的实现方法和系统 |
CN111880906A (zh) * | 2020-08-03 | 2020-11-03 | 广东省华南技术转移中心有限公司 | 虚拟机高可用性管理方法、系统以及存储介质 |
CN112019614A (zh) * | 2020-08-25 | 2020-12-01 | 苏州挚途科技有限公司 | 双系统之间通信与通信同步的方法、系统与处理器 |
CN112256477A (zh) * | 2020-10-09 | 2021-01-22 | 上海云轴信息科技有限公司 | 一种虚拟化容错方法及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345663B (zh) * | 2008-08-22 | 2010-12-08 | 杭州华三通信技术有限公司 | 心跳检测方法和心跳检测设备 |
CN105251089B (zh) * | 2015-10-30 | 2016-09-21 | 西安交通大学 | 一种基于心跳监测的呼吸控制器 |
CN110768873B (zh) * | 2019-10-31 | 2021-08-10 | 广州酷旅旅行社有限公司 | 分布式心跳检测方法、系统、装置和计算机设备 |
-
2021
- 2021-05-10 CN CN202110506905.6A patent/CN112994988B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
CN1916855A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件配置方法 |
US7840398B2 (en) * | 2006-03-28 | 2010-11-23 | Intel Corporation | Techniques for unified management communication for virtualization systems |
CN101383688A (zh) * | 2007-09-06 | 2009-03-11 | 凹凸科技(中国)有限公司 | 数据通信装置及保持数据通信装置高可用性的方法 |
CN102023960A (zh) * | 2009-09-14 | 2011-04-20 | 联想(北京)有限公司 | 计算机网络系统、计算机及其硬件设备远程管理的方法 |
CN102597962A (zh) * | 2009-10-30 | 2012-07-18 | 国际商业机器公司 | 用于虚拟计算环境中的故障管理的方法和系统 |
CN102981894A (zh) * | 2011-09-05 | 2013-03-20 | 联想(北京)有限公司 | 显示方法和电子设备 |
CN103810109A (zh) * | 2012-11-15 | 2014-05-21 | 华为技术有限公司 | 内存分配方法、装置及系统 |
CN109218286A (zh) * | 2018-07-27 | 2019-01-15 | 亚信科技(成都)有限公司 | 虚拟化环境下实现无代理edr的方法及装置 |
CN109495312A (zh) * | 2018-12-05 | 2019-03-19 | 广州鼎甲计算机科技有限公司 | 基于仲裁盘和双链路的高可用集群的实现方法和系统 |
CN111880906A (zh) * | 2020-08-03 | 2020-11-03 | 广东省华南技术转移中心有限公司 | 虚拟机高可用性管理方法、系统以及存储介质 |
CN112019614A (zh) * | 2020-08-25 | 2020-12-01 | 苏州挚途科技有限公司 | 双系统之间通信与通信同步的方法、系统与处理器 |
CN112256477A (zh) * | 2020-10-09 | 2021-01-22 | 上海云轴信息科技有限公司 | 一种虚拟化容错方法及设备 |
Non-Patent Citations (2)
Title |
---|
"Malicious hypervisor and hidden virtualization of operation systems";Anton Sergeev,;《2015 9th International Conference on Application of Information and Communication Technologies (AICT)》;20151130;全文 * |
"跨物理服务器虚拟机监控器的设计与实现";贾传昌,;《中国优秀硕士学位论文全文数据库-信息科技辑》;20090715;I139-31起全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112994988A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628893B (zh) | 分布式存储系统的故障处理方法及装置、电子设备 | |
CN112994988B (zh) | 多操作系统间的心跳检测方法及车机系统 | |
US20060087975A1 (en) | Methods and systems for providing redundancy protection in a Y-cable-based signal transmitter arrangement | |
JP5625605B2 (ja) | Os動作状態確認システム、確認対象装置、os動作状態確認装置、os動作状態確認方法およびプログラム | |
CN115733729B (zh) | 通信故障处理方法、系统及设备 | |
US20220286473A1 (en) | Anomaly detection system and anomaly detection method | |
EP2078234B1 (en) | System and method facilitating double address detection | |
US20190155679A1 (en) | Multiple-processor error detection system and method thereof | |
JP4495248B2 (ja) | 情報処理装置、障害処理方法 | |
CN111338914A (zh) | 故障通知方法及相关设备 | |
JP3190880B2 (ja) | スタンバイシステム、スタンバイ方法、および記録媒体 | |
KR100548413B1 (ko) | 이동통신 단말기의 데이터 포트 접속 상태 확인 방법 | |
KR20010060869A (ko) | 통신시스템에서 운용자의 요구에 의한 이벤트 처리 방법 | |
CN115086219B (zh) | 一种虚拟路由器确定方法、设备及计算机可读存储介质 | |
JP2002351855A (ja) | 計算機異常処理システムおよび、計算機異常処理方法および、計算機で動作する計算機異常処理プログラムおよび、コンピュータにより読み取り可能な記録媒体に記録された計算機異常処置プログラム | |
KR20020065188A (ko) | 컴퓨터 시스템의 장애관리 방법 | |
JP2600614B2 (ja) | 障害情報収集可能な交換システム | |
CN117412319A (zh) | 异常检测程序的切换方法、装置、设备及存储介质 | |
JPH02281343A (ja) | Cpu動作の監視方式 | |
CN116701036A (zh) | 一种bmc系统自动检测修复方法及装置 | |
JPS62219843A (ja) | 故障情報伝送方法 | |
CN113865000A (zh) | 空调室外机状态确定方法、装置、存储介质及空调 | |
CN116300823A (zh) | 电子控制单元异常处理方法、装置、存储介质和电子设备 | |
JPS5870670A (ja) | 二重系の交換機の障害情報転送方式 | |
CN117596182A (zh) | 车载以太网tcp连接状态的诊断方法、装置、系统、介质及设备 |
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 |