掌桥专利:专业的专利平台
掌桥专利
首页

自适应平台状态管理方法、系统、设备及存储介质

文献发布时间:2024-04-18 20:00:50


自适应平台状态管理方法、系统、设备及存储介质

技术领域

本发明涉及自适应平台技术领域,尤其涉及一种自适应平台状态管理方法、系统、设备及存储介质。

背景技术

自适应平台(AUTOSAR Adaptive Platform,AUTOSAR AP)是基于面向服务架构(Service-Oriented Architecture,SOA)的新型汽车电子系统架构标准,为高性能ECU开发提供解决方案。AP将汽车上单个或多个ECU完成的功能组合起来抽象成服务,并以服务结构的形式提供给用户,实现了对硬件差异的屏蔽,服务与应用的解耦。AP平台中的状态管理维护了一个状态机(State Machine),负责管理功能集群的状态(State),在接收到外部请求后,通过判断当前状态机的状态,执行相应的状态切换。因为状态管理所负责的功能集群的状态是高度定制化的,每个项目都不相同,为了避免重复开发。因此,如何解决自适应平台中状态管理组件需要处理项目定制化的功能集群状态成为一个亟待解决的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供了一种自适应平台状态管理方法、系统、设备及存储介质,旨在解决如何解决自适应平台中状态管理组件需要处理项目定制化的功能集群状态的技术问题。

为实现上述目的,本发明提供了一种自适应平台状态管理方法,所述自适应平台状态管理方法包括:

在接收到外部请求时,调用仲裁逻辑类的切换状态接口传入事件ID;

从StateTransitionMap中检索所述事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字;

根据所述目标关键字确定待迁移状态;

调用执行管理组件接口将当前状态迁移至所述待迁移状态。

可选地,所述在接收到外部请求时,调用仲裁逻辑类的切换状态接口传入事件ID的步骤之前,还包括:

对仲裁逻辑类中的成员变量进行初始化处理,所述成员变量包括CurrentStates和StateTransitionMap。

可选地,所述根据CurrentStates从多个关键字中选取目标关键字的步骤,包括:

根据多个关键字构建关键字集合,并分别确定所述关键字集合中多个关键字对应的状态值;

从多个关键字中筛选所述状态值满足CurrentStates的子集条件对应的目标关键字。

可选地,所述根据所述目标关键字确定待迁移状态的步骤,包括:

根据所述StateTransitionMap确定所述目标关键字对应的关键值;

根据所述关键值确定待迁移状态。

可选地,所述调用执行管理组件接口将当前状态迁移至所述待迁移状态的步骤之后,还包括:

在状态迁移成功后,对所述CurrentStates进行刷新。

此外,为实现上述目的,本发明还提出一种自适应平台状态管理系统,所述自适应平台状态管理系统包括:

传入模块,用于在接收到外部请求时,调用仲裁逻辑类的切换状态接口传入事件ID;

选取模块,用于从StateTransitionMap中检索所述事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字;

确定模块,用于根据所述目标关键字确定待迁移状态;

迁移模块,用于调用执行管理组件接口将当前状态迁移至所述待迁移状态。

此外,为实现上述目的,本发明还提出一种自适应平台状态管理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的自适应平台状态管理程序,所述自适应平台状态管理程序配置为实现如上文所述的自适应平台状态管理方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有自适应平台状态管理程序,所述自适应平台状态管理程序被处理器执行时实现如上文所述的自适应平台状态管理方法的步骤。

本发明在接收到外部请求时,首先调用仲裁逻辑类的切换状态接口传入事件ID,然后从StateTransitionMap中检索事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字,之后根据目标关键字确定待迁移状态,最后调用执行管理组件接口将当前状态迁移至待迁移状态。相较于现有技术中需要状态管理所负责的功能集群的状态是高度定制化的,而本申请中通过StateTransitionMap和CurrentStates确定关键字,调用执行管理组件接口将当前状态迁移至关键字的待迁移状态,从而解决了自适应平台中状态管理组件需要处理项目定制化的功能集群状态问题,进而提高了状态管理组件代码的简洁性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的自适应平台状态管理设备的结构示意图;

图2为本发明自适应平台状态管理方法第一实施例的流程示意图;

图3为本发明自适应平台状态管理方法第一实施例的状态关联流程示意图;

图4为本发明自适应平台状态管理系统第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的自适应平台状态管理设备结构示意图。

如图1所示,该自适应平台状态管理设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(DisPlay)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储系统。

本领域技术人员可以理解,图1中示出的结构并不构成对自适应平台状态管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及自适应平台状态管理程序。

在图1所示的自适应平台状态管理设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明自适应平台状态管理设备中的处理器1001、存储器1005可以设置在自适应平台状态管理设备中,所述自适应平台状态管理设备通过处理器1001调用存储器1005中存储的自适应平台状态管理程序,并执行本发明实施例提供的自适应平台状态管理方法。

本发明实施例提供了一种自适应平台状态管理方法,参照图2,图2为本发明自适应平台状态管理方法第一实施例的流程示意图。

还应理解的是,为了实现AUTOSAR Adaptive Platform的状态管理组件能够处理不同项目的定制化状态,本发明采用如下技术方案:

状态管理组件中的状态机由一个仲裁逻辑类(ArbitrationLogic)来维护,ArbitrationLogic中有两个成员变量当前状态(CurrentStates)和状态迁移表(StateTransitionMap),同时还有一个切换状态接口(SwitchState)。

CurrentStates内封装了当前的功能集群状态,此状态是动态的,受到外部的影响。

StateTransitionMap内封装了一个关键字-值(key-value)类型的矩阵,其中key中封装了两组数据,分别是前提条件(precondition)和事件ID(eventId)。precondition内包含了一组状态states,是CurrentStates的子集,eventId表示外部输入的事件的ID。value内同样包含了一组状态,表示待迁移的状态。

SwitchState接口有一个输入参数eventId,此接口在状态管理接收到外部请求后被调用。

ArbitrationLogic接收到外部的请求(eventId)后,综合CurrentStates和StateTransitionMap的数据,判断是否进行状态切换。

本实施例中,所述自适应平台状态管理方法包括以下步骤:

步骤S10:在接收到外部请求时,调用仲裁逻辑类的切换状态接口传入事件ID。

易于理解的是,本实施例的执行主体可以是具有数据处理、网络通讯和程序运行等功能的自适应平台状态管理系统,也可以为其他具有相似功能的计算机设备等,本实施例并不加以限制。

还需要说明的是,参考图3,图3为本发明自适应平台状态管理方法第一实施例的状态关联流程示意图,对仲裁逻辑类中的成员变量进行初始化处理,所述成员变量包括CurrentStates和StateTransitionMap,ArbitrationLogic接收到外部请求后,调用仲裁逻辑类的切换状态接口传入事件ID。

外部请求中包括事件ID即eventId。

在本实施例中,在ArbitrationLogic类中初始化成员变量CurrentStates的数据以及StateTransitionMap矩阵,状态管理收到外部请求,调用ArbitrationLogic类的SwitchState接口,传入参数eventId。

步骤S20:从StateTransitionMap中检索所述事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字。

进一步地,根据CurrentStates从多个关键字中选取目标关键字的处理方式为根据多个关键字构建关键字集合,并分别确定关键字集合中多个关键字对应的状态值(states);从多个关键字中筛选状态值满足CurrentStates的子集条件对应的目标关键字。

在具体实现中,在StateTransitionMap中检索eventId,筛选出与eventId相等的key,即key中包含的eventId等同于检索条件eventId,将这些key保存在关键字集合(kSet)中,之后分别确定多个key对应的states,kSet中的某一个key中的states是currentstates的子集,就把这个key选出来,作为目标关键字。

还应理解的是,key内保存的一项值为states,也就是部分当前状态(currentstates),这部分当前状态,是currentstates的子集。

CurrentStates的子集条件为key中的states是currentstates的子集。

步骤S30:根据所述目标关键字确定待迁移状态。

进一步地,根据目标关键字确定待迁移状态的处理方式为根据StateTransitionMap确定目标关键字对应的关键值(value);根据关键值确定待迁移状态。

在本实施例中,根据目标关键字确定statetransitionmap里面对应的value。

步骤S40:调用执行管理组件接口将当前状态迁移至所述待迁移状态。

在具体实现中,调用执行管理(ExectionManagement)组件接口将当前状态迁移至待迁移状态,在状态迁移成功后,对CurrentStates进行刷新。

在本实施例中,在接收到外部请求时,首先调用仲裁逻辑类的切换状态接口传入事件ID,然后从StateTransitionMap中检索事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字,之后根据目标关键字确定待迁移状态,最后调用执行管理组件接口将当前状态迁移至待迁移状态。相较于现有技术中需要状态管理所负责的功能集群的状态是高度定制化的,而本实施例中通过StateTransitionMap和CurrentStates确定关键字,调用执行管理组件接口将当前状态迁移至关键字的待迁移状态,从而解决了自适应平台中状态管理组件需要处理项目定制化的功能集群状态问题,进而提高了状态管理组件代码的简洁性。

参照图4,图4为本发明自适应平台状态管理系统第一实施例的结构框图。

还应理解的是,为了实现AUTOSAR Adaptive Platform的状态管理组件能够处理不同项目的定制化状态,本发明采用如下技术方案:

状态管理组件中的状态机由一个仲裁逻辑类(ArbitrationLogic)来维护,ArbitrationLogic中有两个成员变量当前状态(CurrentStates)和状态迁移表(StateTransitionMap),同时还有一个切换状态接口(SwitchState)。

CurrentStates内封装了当前的功能集群状态,此状态是动态的,受到外部的影响。

StateTransitionMap内封装了一个关键字-值(key-value)类型的矩阵,其中key中封装了两组数据,分别是前提条件(precondition)和事件ID(eventId)。precondition内包含了一组状态states,是CurrentStates的子集,eventId表示外部输入的事件的ID。value内同样包含了一组状态,表示待迁移的状态。

SwitchState接口有一个输入参数eventId,此接口在状态管理接收到外部请求后被调用。

ArbitrationLogic接收到外部的请求(eventId)后,综合CurrentStates和StateTransitionMap的数据,判断是否进行状态切换。

如图4所示,本发明实施例提出的自适应平台状态管理系统包括:

传入模块4001,用于在接收到外部请求时,调用仲裁逻辑类的切换状态接口传入事件ID。

还需要说明的是,参考图3,图3为本发明自适应平台状态管理方法第一实施例的状态关联流程示意图,对仲裁逻辑类中的成员变量进行初始化处理,所述成员变量包括CurrentStates和StateTransitionMap,ArbitrationLogic接收到外部请求后,调用仲裁逻辑类的切换状态接口传入事件ID。

外部请求中包括事件ID即eventId。

在本实施例中,在ArbitrationLogic类中初始化成员变量CurrentStates的数据以及StateTransitionMap矩阵,状态管理收到外部请求,调用ArbitrationLogic类的SwitchState接口,传入参数eventId。

选取模块4002,用于从StateTransitionMap中检索所述事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字。

进一步地,根据CurrentStates从多个关键字中选取目标关键字的处理方式为根据多个关键字构建关键字集合,并分别确定关键字集合中多个关键字对应的状态值(states);从多个关键字中筛选状态值满足CurrentStates的子集条件对应的目标关键字。

在具体实现中,在StateTransitionMap中检索eventId,筛选出与eventId相等的key,即key中包含的eventId等同于检索条件eventId,将这些key保存在关键字集合(kSet)中,之后分别确定多个key对应的states,kSet中的某一个key中的states是currentstates的子集,就把这个key选出来,作为目标关键字。

还应理解的是,key内保存的一项值为states,也就是部分当前状态(currentstates),这部分当前状态,是currentstates的子集。

CurrentStates的子集条件为key中的states是currentstates的子集。

确定模块4003,用于根据所述目标关键字确定待迁移状态。

进一步地,根据目标关键字确定待迁移状态的处理方式为根据StateTransitionMap确定目标关键字对应的关键值(value);根据关键值确定待迁移状态。

在本实施例中,根据目标关键字确定statetransitionmap里面对应的value。

迁移模块4004,用于调用执行管理组件接口将当前状态迁移至所述待迁移状态。

在具体实现中,调用执行管理(ExectionManagement)组件接口将当前状态迁移至待迁移状态,在状态迁移成功后,对CurrentStates进行刷新。

在本实施例中,在接收到外部请求时,首先调用仲裁逻辑类的切换状态接口传入事件ID,然后从StateTransitionMap中检索事件ID对应的多个关键字,并根据CurrentStates从多个关键字中选取目标关键字,之后根据目标关键字确定待迁移状态,最后调用执行管理组件接口将当前状态迁移至待迁移状态。相较于现有技术中需要状态管理所负责的功能集群的状态是高度定制化的,而本实施例中通过StateTransitionMap和CurrentStates确定关键字,调用执行管理组件接口将当前状态迁移至关键字的待迁移状态,从而解决了自适应平台中状态管理组件需要处理项目定制化的功能集群状态问题,进而提高了状态管理组件代码的简洁性。

本发明自适应平台状态管理系统的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种钢丝绳弯曲疲劳试验装置
  • 一种高速铁路接触网吊弦弯曲微动疲劳试验装置
  • 一种大尺寸管道拉伸与弯曲疲劳试验装置及测试方法
  • 用于FRP杆的环境-拉伸持载-弯曲疲劳耦合试验装置及其测试方法
技术分类

06120116544345