CN104181909A - 用于确定基于虚拟化的集成控制系统中软件错误的方法 - Google Patents

用于确定基于虚拟化的集成控制系统中软件错误的方法 Download PDF

Info

Publication number
CN104181909A
CN104181909A CN201310598068.XA CN201310598068A CN104181909A CN 104181909 A CN104181909 A CN 104181909A CN 201310598068 A CN201310598068 A CN 201310598068A CN 104181909 A CN104181909 A CN 104181909A
Authority
CN
China
Prior art keywords
software
type controller
integrated manipulator
virtualized
difference
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.)
Granted
Application number
CN201310598068.XA
Other languages
English (en)
Other versions
CN104181909B (zh
Inventor
李炫雨
朴英雨
吴珉赫
权海永
金世元
柳爀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hyundai Motor Co
Industry Academy Collaboration Foundation of Korea University
Korea University Research and Business Foundation
Original Assignee
Hyundai Motor Co
Industry Academy Collaboration Foundation of Korea University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hyundai Motor Co, Industry Academy Collaboration Foundation of Korea University filed Critical Hyundai Motor Co
Publication of CN104181909A publication Critical patent/CN104181909A/zh
Application granted granted Critical
Publication of CN104181909B publication Critical patent/CN104181909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

基于虚拟化的集成控制系统中的软件错误的确定方法对于每个分区(车辆控制器的软件)检测软件错误且自动恢复。因此,可以进一步加强作为虚拟化技术优势的系统可靠性,从而对操作者提供稳定性,且可以通过写入错误信息轻易地解决软件错误。

Description

用于确定基于虚拟化的集成控制系统中软件错误的方法
相关申请的交叉引用
本申请要求于2013年5月24日提交到韩国知识产权局的韩国专利申请第10-2013-0059093号的优先权,其公开内容全部引入本文以供参考。
技术领域
本公开涉及用于确定基于虚拟化的集成控制系统中软件错误的方法,且更具体地,涉及用于自动检测基于虚拟化的集成控制系统中发生在分区软件中的错误并将该系统恢复到正常状态的方法。
背景技术
存在各种用于配置集成控制器的方案。一个方案是在硬件组件中改变适用于一个软件平台的多个软件逻辑(代码更改)。另一个方案是使用虚拟化技术将物理微控制器单元(MCU)划分为多个虚拟MCU而不改变软件平台和软件逻辑。
在现有的基于虚拟化的集成控制器中,在控制器中的软件造成错误时,该软件就不能再正常工作。
也就是,现有的基于虚拟化的集成控制器不能检测控制器软件中的错误,因此不能在错误发生之后自动恢复。
具体地,现有的基于虚拟化的集成控制器不能识别控制器软件的哪部分造成错误。
发明内容
制作本公开以解决上述现有技术中出现的问题,同时现有技术所实现的优势保持完整。
根据本公开的实施方式,用于确定基于虚拟化的集成控制系统中软件错误的方法对于每个分区(车辆控制器的软件)检测软件错误并自动恢复。因此,可以进一步加强作为虚拟化技术优势的系统可靠性,从而对操作者提供稳定性,且可以通过写入错误信息轻易地解决软件错误。
本公开的一方面提供一种用于确定基于虚拟化的集成控制系统中的错误的方法,其中该系统包括:基于虚拟化的集成控制器,其使物理微控制器单元(MCU)虚拟化以创建多个虚拟MCU;以及软件型控制器,在虚拟MCU上工作。该方法包括:从基于虚拟化的集成控制器向软件型控制器输送计时器中断;从软件型控制器向基于虚拟化的集成控制器输送差值,该差值为当前从计时器读取的计数值与紧临着的前一次从计时器读取的计数值之间的差;以及根据从软件型控制器输送的差值,由基于虚拟化的集成控制器确定软件型控制器中是否发生错误。
附图说明
本公开的上述和其它目的、特征和优势根据以下结合附图的具体实施方式将更加明显。
图1是示出根据本公开实施方式的基于虚拟化的集成控制系统的配置的视图。
图2是示出根据本公开实施方式的基于虚拟化的集成控制系统的配置的视图。
图3是示出根据本公开实施方式的用于确定基于虚拟化的集成控制系统中软件错误的方法的流程图。
附图中各元件的符号
10  物理MCU
20  用于使控制器集成的虚拟化平台
30  第一虚拟MCU
31  第一控制器
32  计时器
40  第二虚拟MCU
41  第二控制器
42  计时器
301 由基于虚拟化的集成控制器将计时器中断输送到软件型控制器
302将由软件型控制器当前从计时器读取的计数值与紧临着的前一次读取的计数值之间的差(差值)输送到基于虚拟化的集成控制器
303基于从软件型控制器输送的差值,由基于虚拟化的集成控制器确定软件型控制器中的错误
具体实施方式
在下文中将参考附图详细说明本公开的实施方式。
图1是示出根据本公开实施方式的基于虚拟化的集成控制系统的配置的视图。
如图1所示,根据本公开实施方式的基于虚拟化的集成控制系统使物理微控制器单元(MCU)10虚拟化,以包括用于使控制器20集成的虚拟化平台(以下称为基于虚拟化的集成控制器),其创建第一虚拟MCU 30和第二虚拟MCU 30。
第一控制器31是软件型控制器,其基于第一虚拟MCU 30驱动,且执行计时器功能32和活性检查任务(LCT)功能33以及各种控制功能。
同样地,第二控制器41是软件型控制器,其基于第二虚拟MCU 40驱动,且执行计时器功能42和LCT功能43以及各种控制功能。
在从基于虚拟化的集成控制器20周期性地(例如每10ms)接收计时器中断时,计时器功能32和42是指增加1计数值。作为实例,计时器可被实施为Linux操作系统上运行的“jiffie”。
“jiffie”是在软件上管理时间的全局变量,且对每个计时器中断以固定间隔(10ms)增加1“jiffie”值。也就是,“jiffie”在该国为本领域技术人员所熟知。
LCT功能33和43是指以预定间隔(如100ms)读取由计时器功能32和42所计数的值,从而将该值输送到基于虚拟化的集成控制器20。由于LCT功能与由控制器的调度器所调度的任务一起执行,因此可以基于当前读取的计数值与紧临着的前一次读取的计数值之间的差(以下称作差值)估计控制器的负载。此处,LCT功能33和43存储当前读取的计数值和前一次读取的计数值。
例如,在计时器中断时间是10ms,LCT间隔是100ms,且紧临着的前一次读取的计数值是10的条件下,当由于没有很多其它任务而在设定时间执行LCT功能时,基于虚拟化的集成控制器20每100ms从软件型控制器接收差值。也就是,因为之前读取的计数值为10,且100ms时读取的计数值为20,则输送10的差值。
在这种条件下,如果由于有许多其它任务而在110ms执行LCT功能,则基于虚拟化的集成控制器20接收差值11,因为从计时器读取的计数值是21且之前读取的计数值是10。
因此,如果接收到10,基于虚拟化的集成控制器20可确定软件型控制器在正常工作,而如果接收到11,控制器可确定软件型控制器被施加负载使得不在正常时间执行LCT。此处,输送LCT执行结果(差值)的间隔(输送间隔)被设定,使得如果差值在输送间隔的阈值(30ms)过去之后没被输送,则确定软件型控制器中出现错误并且发送复位信号。也就是,重新启动软件型控制器。
在本公开中,由硬件配置物理MCU 10,而由软件配置基于虚拟化的集成控制器20、第一虚拟MCU 30、第二虚拟MCU 40、第一控制器31和第二控制器41。
在下文中参考图2说明基于虚拟化的集成控制器20的配置。
图2是示出根据本公开实施方式的基于虚拟化的集成控制系统的配置的视图。
如图2所示,根据本公开实施方式的基于虚拟化的集成控制系统包括物理微控制器单元(MCU)10、用于使控制器20集成的虚拟化平台(以下称为基于虚拟化的集成控制器)、第一虚拟MCU 30以及第二虚拟MCU 40。
物理MCU 10是物理机器,其整体控制基于虚拟化技术的多个车辆控制器。车辆控制器是在由虚拟化技术创建的虚拟机器30和40上工作的软件型控制器31和41,其包括汽车开放系统架构(AUTOSAR)、Linux、应用等,且更具体地包括集群(cluster)逻辑软件、集群图形软件等。
基于虚拟化的集成控制器20是一种用于使软件型控制器31和41集成的虚拟机器监视器(基于虚拟化的集成控制器),且支持软件型控制器31和41以使其可基于虚拟化技术在物理MCU 10上同时操作。也就是,基于物理MCU 10,创建用于第一控制器31的第一虚拟MCU30和用于第二控制器41的第二虚拟MCU 40。
基于虚拟化的集成控制器20经分区间通信(IPC)与软件型第一控制器31和软件型第二控制器32通信。
也就是,基于虚拟化的集成控制器20例如以10ms间隔周期性地经IPC将计时器中断输送到计时器32、42(101,210)。如果基于虚拟化的集成控制器20例如以100ms间隔周期性地接收差值,则确定软件型控制器31、41正常工作。如果基于虚拟化的集成控制器20在阈值间隔例如130ms内接收差值,则确定软件型控制器31、41被施加负载。如果基于虚拟化的集成控制器20未能在阈值间隔内接收差值,则确定软件型控制器31、41中出现错误以使其重新启动。此处,100ms是输送间隔且130ms是阈值间隔。
图3是根据本公开实施方式的用于确定基于虚拟化的集成控制系统中软件错误的方法的流程图。
基于虚拟化的集成控制器20将计时器中断输送到软件型控制器31、41(301)。然后,软件型控制器31、41将当前读取的计数值与紧临着的前一次读取的计数值之间的差(以下称为差值)从计时器32、42输送到基于虚拟化的集成控制器20(302)。
基于虚拟化的集成控制器20然后基于从软件型控制器31、41输送的差值确定软件型控制器中是否发生错误(303)。也就是,当基于虚拟化的集成控制器20在软件型控制器的输送间隔内接收到差值时,基于虚拟化的集成控制器20确定软件型控制器是否正常工作。
如果基于虚拟化的集成控制器20在软件型控制器的阈值间隔内接收到差值,则基于虚拟化的集成控制器20确定软件型控制器被施加负载。
进一步,如果基于虚拟化的集成控制器20未能在软件型控制器的阈值间隔内接收到差值,则基于虚拟化的集成控制器20确定软件型控制器中发生错误且重新启动软件型控制器。
如上所述,根据本公开的实施方式,在应用虚拟化技术的集成控制器中,对于各个分区检测软件错误且自动恢复,使得可以进一步加强作为虚拟化技术优势的系统可靠性,从而对操作者提供稳定性,且可通过写入错误信息轻易地解决软件错误。
在不偏离本公开的范围和主旨的情况下,本公开所属领域的技术人员可对上述本公开进行各种替换、改变和修改。因此,本公开不限于上述示例性实施方式以及附图。

Claims (7)

1.一种用于确定基于虚拟化的集成控制系统中错误的方法,其中所述系统包括使物理微控制器单元(MCU)虚拟化以创建多个虚拟MCU的基于虚拟化的集成控制器,以及在所述虚拟MCU上工作的软件型控制器,所述方法包括:
从所述基于虚拟化的集成控制器向所述软件型控制器输送计时器中断;
从所述软件型控制器向所述基于虚拟化的集成控制器输送差值,所述差值为当前从计时器读取的计数值与紧临着的前一次从所述计时器读取的计数值之间的差;以及
基于从所述软件型控制器输送的差值,由所述基于虚拟化的集成控制器确定所述软件型控制器中是否发生错误。
2.根据权利要求1所述的方法,其中由所述基于虚拟化的集成控制器执行的确定步骤还包括,如果在所述软件型控制器的输送间隔内接收到所述差值,则确定所述软件型控制器正常工作。
3.根据权利要求2所述的方法,其中对于各个所述软件型控制器不同地设置所述输送间隔。
4.根据权利要求1所述的方法,其中由所述基于虚拟化的集成控制器执行的确定步骤还包括,如果在所述软件型控制器的阈值间隔内接收到所述差值,则确定所述软件型控制器被施加负载。
5.根据权利要求1所述的方法,其中由所述基于虚拟化的集成控制器执行的确定步骤还包括:
如果未在所述软件型控制器的阈值间隔内接收到所述差值,则确定所述软件型控制器中发生错误;以及
重新启动发生错误的软件型控制器。
6.根据权利要求5所述的方法,其中对于各个所述软件型控制器不同地设置所述输送间隔。
7.根据权利要求1所述的方法,其中所述基于虚拟化的集成控制器和所述软件型控制器经分区间通信(IPC)而相互通信。
CN201310598068.XA 2013-05-24 2013-11-22 用于确定基于虚拟化的集成控制系统中软件错误的方法 Active CN104181909B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130059093 2013-05-24
KR10-2013-0059093 2013-05-24

Publications (2)

Publication Number Publication Date
CN104181909A true CN104181909A (zh) 2014-12-03
CN104181909B CN104181909B (zh) 2018-10-02

Family

ID=51863237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310598068.XA Active CN104181909B (zh) 2013-05-24 2013-11-22 用于确定基于虚拟化的集成控制系统中软件错误的方法

Country Status (3)

Country Link
US (1) US9176830B2 (zh)
CN (1) CN104181909B (zh)
DE (1) DE102013222772A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406276A (zh) * 2015-07-29 2017-02-15 罗伯特·博世有限公司 用于在控制设备中进行车载诊断的方法和设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170054596A1 (en) * 2015-08-18 2017-02-23 Klas Technologies Limited Integrated internet access router

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1639691A (zh) * 2002-09-12 2005-07-13 西门子公司 尤其是容许故障系统的处理器的用于事件同步的方法
CN101261667A (zh) * 2008-04-10 2008-09-10 北京深思洛克数据保护中心 一种软件保护方法
CN101490646A (zh) * 2006-08-08 2009-07-22 英特尔公司 虚拟化性能计数器
KR20120043375A (ko) * 2010-10-26 2012-05-04 한국과학기술원 가상화 시스템에서 디바이스 드라이버의 오류를 탐지하고 복구하는 장치 및 방법
US20120159267A1 (en) * 2010-12-21 2012-06-21 John Gyorffy Distributed computing system that monitors client device request time and server servicing time in order to detect performance problems and automatically issue alterts

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217728A (ja) 2007-03-08 2008-09-18 Hitachi Ltd 仮想計算機システムの障害情報採取方法
JP4871174B2 (ja) * 2007-03-09 2012-02-08 株式会社日立製作所 仮想計算機システム
JP2008292409A (ja) 2007-05-28 2008-12-04 Denso Corp 状態診断装置
JP2009116816A (ja) 2007-11-09 2009-05-28 Fujitsu Ten Ltd 異常検出装置及び異常検出方法
KR101027415B1 (ko) 2009-12-18 2011-04-11 한국과학기술원 차량용 운영체제의 관리 시스템, 관리 방법 및 오류 검출 방법
US8424000B2 (en) * 2010-07-30 2013-04-16 Symantec Corporation Providing application high availability in highly-available virtual machine environments
KR101731422B1 (ko) 2010-10-04 2017-04-28 삼성전자주식회사 가상화 환경에서의 장애 복구 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1639691A (zh) * 2002-09-12 2005-07-13 西门子公司 尤其是容许故障系统的处理器的用于事件同步的方法
CN101490646A (zh) * 2006-08-08 2009-07-22 英特尔公司 虚拟化性能计数器
CN101261667A (zh) * 2008-04-10 2008-09-10 北京深思洛克数据保护中心 一种软件保护方法
KR20120043375A (ko) * 2010-10-26 2012-05-04 한국과학기술원 가상화 시스템에서 디바이스 드라이버의 오류를 탐지하고 복구하는 장치 및 방법
US20120159267A1 (en) * 2010-12-21 2012-06-21 John Gyorffy Distributed computing system that monitors client device request time and server servicing time in order to detect performance problems and automatically issue alterts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406276A (zh) * 2015-07-29 2017-02-15 罗伯特·博世有限公司 用于在控制设备中进行车载诊断的方法和设备

Also Published As

Publication number Publication date
DE102013222772A1 (de) 2014-11-27
CN104181909B (zh) 2018-10-02
US9176830B2 (en) 2015-11-03
US20140351652A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
US9558082B2 (en) VM availability during migration and VM network failures in host computing systems
KR20190079809A (ko) 결함 주입 테스트 장치 및 그 방법
CN105095001B (zh) 分布式环境下虚拟机异常恢复方法
CN102761439B (zh) Pon接入系统中基于看门狗的异常检测记录装置及方法
CN102819466B (zh) 操作系统异常的处理方法及其装置
EP3218818B1 (en) Dual purpose boot registers
US10216550B2 (en) Technologies for fast boot with adaptive memory pre-training
CN105279037A (zh) 看门狗监控方法和系统
CN109002348B (zh) 一种虚拟化系统中的负载均衡方法及装置
CN104181909A (zh) 用于确定基于虚拟化的集成控制系统中软件错误的方法
CN115167757A (zh) 加速卡分布式存储访问方法、装置、设备及存储介质
WO2016036383A1 (en) Backup power and load discovery
US10635560B2 (en) Techniques for accurately apprising a user of progress in booting a virtual appliance
JP2001318807A (ja) タスク切り替え制御方法及び装置
CN103677991A (zh) 基于单片机系统架构的任务执行方法及单片机系统架构
CN112256513A (zh) 一种调试串口和数据串口复用的方法、装置和控制器
WO2016068993A1 (en) Load discovery
KR102023164B1 (ko) 알티오에스 마이컴의 오에스 태스크의 모니터링 방법
CN109478052B (zh) 确定应用程序的执行时间的方法和装置
US11971789B2 (en) Systems, methods, and apparatus for crash recovery in storage devices
CN110618884A (zh) 故障监控方法、虚拟化的网络功能模块管理器和存储介质
CN113296997A (zh) 一种基于看门狗的任务监控方法及装置
US20200110668A1 (en) Intelligent handling of consistency level of virtual machines
CN110968486A (zh) 一种脚本运行方法及装置
CN112947841A (zh) 一种读取嵌入式闪存数据的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant