CN116010063A - 一种车载应用程序的交互方法、装置及电子设备 - Google Patents
一种车载应用程序的交互方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116010063A CN116010063A CN202310083972.0A CN202310083972A CN116010063A CN 116010063 A CN116010063 A CN 116010063A CN 202310083972 A CN202310083972 A CN 202310083972A CN 116010063 A CN116010063 A CN 116010063A
- Authority
- CN
- China
- Prior art keywords
- task
- vehicle
- application program
- execution condition
- mounted application
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003993 interaction Effects 0.000 title claims abstract description 41
- 230000009471 action Effects 0.000 claims abstract description 62
- 230000008859 change Effects 0.000 claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims abstract description 40
- 230000002452 interceptive effect Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 17
- 238000012827 research and development Methods 0.000 abstract description 8
- 230000000875 corresponding effect Effects 0.000 description 155
- 238000013461 design Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例涉及车辆技术领域,公开了一种车载应用程序的交互方法、装置及电子设备,该方法包括:启动车载应用程序,加载并解析车载应用程序对应的脚本文件,脚本文件包括至少一个任务节点的任务信息;监听任务节点对应的任务内容是否发生变化;若确定任务内容发生变化,且任务内容的变化情况满足至少一个执行条件中的目标执行条件,则获取目标执行条件对应的目标控制动作;执行目标控制动作。本发明通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期。
Description
技术领域
本发明实施例涉及车辆技术领域,具体涉及一种车载应用程序的交互方法、装置及电子设备。
背景技术
随着车联网技术的不断发展,汽车智能化程度也越来越高,越来越多的车载应用程序应运而生,从而为用户提供了智能化服务。
但是,传统的车载应用程序大都按照产品定义的流程,通过固定逻辑的编码实现。这样就需要编写大量的程序代码,来实现车载应用程序中各功能。
因此,目前车载应用程序存在研发周期长的问题。
发明内容
鉴于上述问题,本发明实施例提供了一种车载应用程序的交互方法,用于解决现有技术中存在的车载应用程序研发周期长的问题。
根据本发明实施例的一个方面,提供了一种车载应用程序的交互方法,所述方法包括:
启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;监听所述任务节点对应的任务内容是否发生变化;若确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;执行所述目标控制动作。
在一种可选的方式中,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,所述监听所述任务节点对应的任务内容是否发生变化,包括:基于所述任务信息和所述多个任务节点的排布方式,创建状态机;利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
在一种可选的方式中,所述执行所述目标控制动作,包括:生成所述目标控制动作对应的程序代码;运行所述程序代码。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,所述确定所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,包括:若确定所述任务内容的变化情况参数满足所述至少一个执行条件中的多个执行条件,则根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
在一种可选的方式中,在所述加载并解析所述车载应用程序对应的脚本文件之前,所述方法还包括:确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
在一种可选的方式中,所述任务内容包括车辆状态信息、环境参数信息和按键状态信息中的至少一项。
根据本发明实施例的另一方面,提供了一种车载应用程序的交互装置,所述装置包括:脚本管理模块,用于启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
脚本仲裁模块,用于监听所述任务节点对应的任务内容是否发生变化;
任务执行模块,用于在确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;以及执行所述目标控制动作。
在一种可选的方式中,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,脚本仲裁模块,用于基于任务信息和所述多个任务节点的排布方式,创建状态机;利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
在一种可选的方式中,任务执行模块,用于生成所述目标控制动作对应的程序代码;运行所述程序代码。
在一种可选的方式中,脚本仲裁模块,用于接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
在一种可选的方式中,脚本仲裁模块,用于接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,脚本仲裁模块,用于若确定所述任务内容的变化情况满足所述至少一个执行条件中的多个执行条件,根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
在一种可选的方式中,脚本管理模块,用于在所述加载并解析所述车载应用程序对应的脚本文件之前,确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
在一种可选的方式中,所述任务内容包括车辆状态信息、环境参数信息和按键状态信息中的至少一项。
根据本发明实施例的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述发明内容中任意一项所述的车载应用程序交互方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令车载应用程序交互装置/电子设备上运行时,使得车载应用程序交互装置/电子设备执行如上述发明内容中任意一项所述的车载应用程序交互方法的操作。
本发明实施例提供的车载应用程序的交互方法,通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期;另外,在执行车载应用程序过程中,可以动态的将部分脚本信息转换为对应的程序代码,这样,可以通过运行对应的程序代码,实现车载应用程序对应的功能。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种车载应用程序的交互方法的流程示意图;
图2示出了本发明提供的又一种车载应用程序的交互方法的流程示意图;
图3示出了本发明提供的又一种车载应用程序的交互方法的流程示意图;
图4示出了本发明提供的又一种车载应用程序的交互方法的流程示意图;
图5示出了本发明提供的又一种车载应用程序的交互方法的流程示意图;
图6示出了本发明提供的一种车载应用程序的交互装置的结构示意图;
图7示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
随着车联网技术的不断发展,汽车作为一种交通工具,也是一种机器,可以与用户进行交互,从而为用户提供更智能化的服务。因此,越来越多的车载应用程序应运而生,这样,通过车载应用程序可以实现人机交互。例如,车载应用程序可以在用户输入指令和/或进行操作后,响应指令和/或操作为用户提供服务。又例如,可以在车辆内添加各种传感器(包括:语音传感器、动作传感器、摄像头等),这样,车载应用程序可以通过采集各种传感器的信息,为用户提供服务,如输出语音提醒等执行动作。
但是,目前车载应用程序大都按照产品定义的流程,通过固定逻辑的编码实现,也就是说,需要编写大量的程序代码,来实现车载应用程序中各项功能,这样就导致车载应用程序的研发周期长。另外,如果产品设计逻辑变更或产品设计逻辑存在问题,则需要修改大量的程序代码,这样就导致车载应用程序的后期维护成本高。
为解决现有技术中车载应用程序的研发周期长的问题,本申请提供一种车载应用程序的交互方法,该方法可以基于脚本文件实现车载应用程序的交互功能。
图1示出了本发明实施例提供的一种车载应用程序的交互方法的流程图,该方法由电子设备执行。如图1所示,该方法包括以下步骤:
步骤110:启动车载应用程序,加载并解析车载应用程序对应的脚本文件。
本发明实施例中,通过脚本文件设计车载应用程序中交互逻辑,然后通过加载并解析脚本文件,执行对应的监听、交互等功能。其中,对于不同的车载应用程序,可以配置各自对应的脚本文件,以执行不同车载应用程序对应的交互功能。
需要说明的是,本发明中车载应用程序的交互方法可以由包括车载应用程序的交互装置的电子设备执行。其中,车载应用程序的交互装置可以基于车载应用程序对应的脚本文件实现该车载应用程序对应的各项功能。
脚本文件中包括任务集合,任务集合中包括至少一个任务节点。若任务集合中包括多个任务节点,多个任务节点的排布方式可以呈树形结构分布,这样,可以通过树形结构的排布方式实现交互逻辑。
每个任务节点中可以包括以下任务信息包括:任务内容、至少一个执行条件,以及每个执行条件对应的控制动作。
其中,任务内容可以是车辆状态信息、环境参数信息和按键状态信息中至少一种。
车辆状态信息是指车辆在运行状态中的车辆自身的数据,包括但不限于车辆的剩余能源情况、车辆的整体运行状态、车辆的行驶速度和行驶里程、车辆中门体的开关情况等数据。
环境参数信息是指车辆内外的环境信息,包括但不限于车内外温度信息、车内外湿度信息、车内外灯光信息等数据。
按键状态信息是指车辆内外机械按键的状态信息。
每个任务内容对应至少一个执行条件,每个执行条件对应一个控制动作。其中,控制动作是指控制车辆执行的动作,如语音提醒、降低车速、打开空调等具体动作。
示例性的,任务节点包括以下信息:任务内容为车辆的行驶速度,车辆的行驶速度对应两个执行条件,第一个执行条件为车辆的行驶速度大于90km/h且小于120km/h,第二个执行条件为车辆的行驶速度大于120km/h。与第一个执行条件对应的控制动作为:向用户发出语音提醒“当前车辆的行驶速度过快”;与第二个执行条件对应的控制动作为:向用户发出语音提醒“是否启动制动系统”。
步骤120:监听任务节点对应的任务内容是否发生变化。
本发明对监听任务节点对应的任务内容是否发生变化的具体实现方式不进行限定,例如,可以先创建用于执行监听操作的状态机,然后,利用状态机监听该任务节点对应的任务内容是否发生变化。
由于车辆控制器可以采集车辆状态信息、环境参数信息和按键状态信息等任务内容,因此,本发明实施例可以通过监听车辆控制器,得到任务节点对应的任务内容是否发生变化。
步骤130:若确定任务内容发生变化,且确定任务内容的变化情况满足至少一个执行条件包括的目标执行条件,则获取目标执行条件对应的目标控制动作。
在一种可实现的方式中,确定任务节点对应的任务内容发生变化,可以采用下述方式实现:接收车辆控制器发送的任务状态信息,所述任务状态信息可以包括第一时刻所述任务节点对应的任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。也就是说,当任务内容发生变化时,会接收到车辆控制器发送的包括状态指示信息的任务状态信息,这样便监听到任务节点对应的任务内容发生变化。
需要说明的是,车辆控制器可以为每个任务内容配置对应的变化阈值。若车辆控制器检测到任务内容的变化满足变化阈值,则确定任务内容发生变化,进而发送状态指示信息。
在一种可实现的方式中,确定任务节点对应的任务内容发生变化,还可以采用下述方式实现:接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻任务内容的参数值和第二时刻任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻任务内容的参数值与所述第二时刻任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
需要说明的是,若任务内容为按键状态信息,则可以在第一时刻任务内容的参数值与所述第二时刻任务内容的参数值不同的情况下,确定所述任务节点对应的任务内容发生变化。若任务内容为车辆状态信息或环境参数信息,则可以在第一时刻所述任务内容的参数值相对于所述第二时刻任务内容的参数值的变化满足参数变化阈值的情况下,确定所述任务节点对应的任务内容发生变化。
在确定任务节点对应的任务内容发生变化后,可以基于任务状态信息中第一时刻任务内容的参数值,确定任务节点对应的任务内容的参数值所满足的目标执行条件。
示例性的,任务节点对应的任务内容为车内温度,车内温度对应两个执行条件:车内温度小于15℃和车内温度大于25℃。与车内温度小于15℃对应的控制动作为:语音提醒“是否打开空调”,与车内温度大于25℃对应的控制动作为:语音提醒“是否关闭空调”。
假设在上述步骤120接收的车辆控制器发送的任务状态信息包括:当前车内温度为5℃,以及指示车内温度发生变化的状态指示信息。
这样,便可以根据接收的任务状态信息中的“当前车内温度为5℃”,确定任务节点对应的目标执行条件为:车内温度小于15℃。
进一步的,可以基于目标执行条件得到对应的目标控制动作。
需要说明的是,若确定任务节点对应的任务内容发生变化,但是,任务内容的变化情况不满足任一个执行条件,则监听下一个任务节点对应的任务内容是否发生变化。
步骤140:执行目标控制动作。
得到与目标执行条件对应的目标控制动作后,便可以执行该目标控制动作。例如,目标执行条件为车内温度小于15℃,则对应执行的控制动作为:发出语音提醒“是否打开空调”。
综上,本发明实施例提供的车载应用程序的交互方法,至少具有如下有益效果:第一,通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期。第二,如果需要更改车载应用程序设计逻辑,只需更改脚本文件中对应的设计逻辑,无需修改大量的程序代码,这样可以降低车载应用程序的后期维护成本。
图2示出了本申请实施例中另一种车载应用程序的交互方法的流程图。在任务集合中包括多个任务节点的情况下,可以基于多个任务节点的排布方式,创建状态机,然后,利用创建的状态机,监听任务内容是否发生变化,这样,能够按照多个任务节点之间的逻辑关系执行监听任务。如图2所示,所述方法包括:
步骤210:启动车载应用程序,加载并解析车载应用程序对应的脚本文件。
步骤220:基于脚本文件中任务信息和多个任务节点的排布方式,创建状态机。
步骤230:利用状态机,从多个任务节点中的根节点开始监听任务节点对应的任务内容是否发生变化。
如果任务集合中包括多个任务节点,并且多个任务节点的排布方式呈树形结构分布,则可以基于任务信息和多个任务节点的排布方式,创建状态机,这样,创建得到的状态机能够按照多个任务节点之间的逻辑关系执行监听任务。
示例性的,可以利用状态机,先监听根节点对应的任务内容是否发生变化,然后依次监听该根节点下的第一子节点、第二子节点……第N子节点对应的任务内容是否发生变化。其中,根节点、第一子节点、第二子节点……第N子节点呈树形结构分布。这样,基于任务信息和多个任务节点的排布方式,创建得到的状态机,能够按照多个任务节点之间的逻辑关系执行监听任务。
需要说明的是,当脚本文件中任务集合变更时,需要基于变更后的任务集合,重新创建对应的状态机,以对更新后的各任务节点之间的逻辑关系执行监听任务。
步骤240:若确定任务内容发生变化且任务内容的变化情况满足至少一个执行条件包括的目标执行条件,获取目标执行条件对应的目标控制动作。
步骤250:执行目标控制动作。
其中,步骤210、步骤240和步骤250的执行过程同上述步骤110、步骤130和步骤140的执行过程,因此,步骤210、步骤240和步骤250的执行过程此处不再赘述。
通过上述技术方案,基于任务信息和多个任务节点的排布方式,创建得到的状态机,能够按照多个任务节点之间的逻辑关系执行监听任务。
图3示出了本申请实施例中又一种车载应用程序的交互方法的流程图。由于本发明实施例中业务逻辑是通过脚本文件设计的,因此,还需要将脚本文件中记载的目标控制动作,进一步转换为目标控制动作对应的程序代码,以执行对应的动作。如图3所示,所述方法包括:
步骤310:启动车载应用程序,加载并解析车载应用程序对应的脚本文件。
步骤320:监听任务节点对应的任务内容是否发生变化。
步骤330:若确定任务内容发生变化,且确定任务内容的变化情况满足至少一个执行条件包括的目标执行条件,则获取目标执行条件对应的目标控制动作。
步骤340:生成目标控制动作对应的程序代码。
步骤350:运行程序代码。
本发明实施例中可以先生成目标控制动作对应的程序代码;然后,运行该程序代码。这样,通过运行转换后的目标控制动作对应的程序代码,可以执行对应的功能。例如,车辆可以语音播报“是否打开空调”。
本发明实施例中业务逻辑通过脚本文件设计。如,脚本文件中记载“当车内温度小于15℃时,发出语音提醒“是否打开空调”。因此,需要将脚本文件中记载的目标控制动作,进一步转换为目标控制动作对应的程序代码,以执行对应的动作。
通过上述技术方案,在执行车载应用程序过程中,可以动态的将部分脚本信息转换为对应的程序代码,这样,可以通过运行对应的程序代码,实现车载应用程序对应的功能。
需要说明的是,步骤310至步骤330的执行过程可以同上述步骤110至步骤130的执行过程,因此,步骤310至步骤330的执行过程此处不再赘述。
还需要说明的是,步骤320可以采用上述步骤220至步骤230提供的执行过程,具体可以参见上述步骤220至步骤230的描述,此处也不再赘述。
图4示出了本申请实施例中又一种车载应用程序的交互方法的流程图。在实际执行过程中,可能存在任务内容的变化情况满足多个执行条件的情况,这种情况下可以采用图4示出的技术方案。如图4所示,所述方法包括:
步骤410:启动车载应用程序,加载并解析车载应用程序对应的脚本文件。
其中,脚本文件的任务节点对应的任务信息中,还可以包括执行条件的优先级。也就是说,任务节点对应的任务信息中包括:在任务内容的变化情况同时满足多个执行条件的情况下,确定哪个执行条件为目标执行条件。
步骤420:监听任务节点对应的任务内容是否发生变化。
步骤430:若确定任务内容发生变化,且确定任务内容的变化情况满足至少一个执行条件中的多个执行条件,则根据至少一个执行条件的优先级,在多个执行条件中确定目标执行条件。
本发明实施中,在任务内容的变化情况同时满足多个执行条件的情况下,可以基于任务信息中的执行条件的优先级,在多个执行条件中确定目标执行条件。
步骤440:获取目标执行条件对应的目标控制动作。
步骤450:执行目标控制动作。
通过上述技术方案,在任务内容的变化情况满足多个执行条件的情况下,可以根据至少一个执行条件的优先级,在多个执行条件中确定目标执行条件。
需要说明的是,步骤410至步骤420以及步骤440至步骤450的执行过程可以同上述步骤110至步骤140的执行过程,因此,步骤410至步骤420以及步骤440至步骤450的执行过程此处不再赘述。
还需要说明的是,步骤420可以采用上述步骤220至步骤230提供的执行过程,步骤450也可以采用上述步骤340至步骤350提供的执行过程,具体可以参见上述步骤220至步骤230以及上述步骤340至步骤350的描述,此处也不再赘述。
图5示出了本申请实施例中又一种车载应用程序的交互方法的流程图。为了保证车载应用程序升级的覆盖率,可以采用图5示出的技术方案。如图5所示,所述方法还包括:
步骤510:启动车载应用程序。
步骤520:确定车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号。
步骤530:若云端的脚本版本号高于本地的脚本版本号,则对车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
本发明实施例对车载应用程序的升级方法为:当车载应用程序设计逻辑变更或车载应用程序逻辑存在问题时,开发端修改该车载应用程序对应的脚本文件,然后,将修改后的脚本文件上传至云端。这样,在用户端启动车载应用程序后,先确定车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;若云端的脚本版本号高于本地的脚本版本号,则对该车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件,使升级后的脚本文件的版本与云端的脚本版本相同;若云端的脚本版本号与本地的脚本版本号相同,则无需对车载应用程序进行升级。
需要说明的是,本发明实施例提供的对车载应用程序的升级方法,在云端的脚本版本号高于本地的脚本版本号时,对车载应用程序对应的脚本文件自动进行升级,用户感知不到对脚本文件升级。也就是说,在需要升级时,不需要用户做任何操作,而是自动对车载应用程序进行升级,这样可以保证车载应用程序升级的覆盖率。
步骤540:加载并解析车载应用程序对应的脚本文件。
在启动车载应用程序后、加载并解析车载应用程序对应的脚本文件之前,可以先确定是否需要对车载应用程序对应的脚本文件进行升级,如果需要升级,则先执行上述步骤530,对车载应用程序对应的脚本文件升级。然后,加载并解析升级后的脚本文件。如果不需要升级,则可以直接加载并解析车载应用程序对应的当前版本的脚本文件。
步骤550:监听任务节点对应的任务内容是否发生变化。
步骤560:若确定任务内容发生变化,且确定任务内容的变化情况满足至少一个执行条件包括的目标执行条件,则获取目标执行条件对应的目标控制动作。
步骤570:执行目标控制动作。
这样,相比于传统的需要通过U盘、OTA等方式对车载应用程序进行升级后,用户端才能获取更新后的车载应用程序服务,从而无法保证所有用户端能够进行升级。本发明实施例当车载应用程序对应的脚本文件在本地的脚本版本号低于云端的脚本版本号时,云端服务器下发最新版本的脚本文件给用户端,这样可以保证车载应用程序升级的覆盖率。
需要说明的是,步骤510以及步骤540至步骤570的执行过程可以同上述步骤110至步骤140的执行过程,因此,步骤510以及步骤540至步骤570的执行过程此处不再赘述。
还需要说明的是,步骤550可以采用上述步骤220至步骤230提供的执行过程,步骤560也可以采用上述步骤430至步骤440提供的执行过程,步骤570也可以采用上述步骤340至步骤350提供的执行过程。具体可以参见上述步骤220至步骤230、上述步骤340至步骤350以及上述步骤430至步骤440的描述,此处也不再赘述。
下述为本发明提供的装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图6示出了本发明实施例提供的一种车载应用程序的交互装置的结构示意图。如图6所示,该装置600包括:
脚本管理模块610,用于启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
脚本仲裁模块620,用于监听所述任务节点对应的任务内容是否发生变化;
任务执行模块630,用于在确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;以及执行所述目标控制动作。
在一种可选的方式中,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,脚本仲裁模块620,用于基于所述任务信息和所述多个任务节点的排布方式,创建状态机;利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
在一种可选的方式中,所述任务执行模块630,用于生成所述目标控制动作对应的程序代码;运行所述程序代码。
在一种可选的方式中,脚本仲裁模块620,用于接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
在一种可选的方式中,脚本仲裁模块620,用于接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,脚本仲裁模块620,用于若确定所述任务内容的变化情况满足所述至少一个执行条件中的多个执行条件,根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
在一种可选的方式中,脚本管理模块610,用于在所述加载并解析所述车载应用程序对应的脚本文件之前,确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
在一种可选的方式中,所述任务内容包括车辆状态信息、环境参数信息和按键状态信息中的至少一项。
应用本发明的技术方案,至少具有如下有益效果:第一,通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期;另外,在执行车载应用程序过程中,可以动态的将部分脚本信息转换为对应的程序代码,这样,可以通过运行对应的程序代码,实现车载应用程序对应的功能。第二,如果需要更改车载应用程序设计逻辑,只需更改脚本文件中对应的设计逻辑,无需修改大量的程序代码,这样可以降低车载应用程序的后期维护成本。第三,相比于传统的需要通过U盘、OTA等方式对车载应用程序进行升级后,用户端才能获取更新后的车载应用程序服务,从而无法保证所有用户端能够进行升级。本发明实施例当车载应用程序对应的脚本文件在本地的脚本版本号低于云端的脚本版本号时,云端服务器下发最新版本的脚本文件给用户端,这样可以保证车载应用程序升级的覆盖率。
图7示出了本发明实施例提供的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。处理器702,用于执行程序710,具体可以执行上述车载应用程序的交互方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机可执行指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以被处理器702调用使电子设备执行以下操作:
启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
监听所述任务节点对应的任务内容是否发生变化;
若确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;
执行所述目标控制动作。
在一种可选的方式中,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,所述监听所述任务节点对应的任务内容是否发生变化,包括:
基于所述任务信息和所述多个任务节点的排布方式,创建状态机;
利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
在一种可选的方式中,所述执行所述目标控制动作,包括:
生成所述目标控制动作对应的程序代码;
运行所述程序代码。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:
接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,所述确定所述任务内容的变化情况满足所述至少一个执行条件中的目标执行条件,包括:
若确定所述任务内容的变化情况满足所述至少一个执行条件中的多个执行条件;
根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
在一种可选的方式中,在所述加载并解析所述车载应用程序对应的脚本文件之前,所述方法还包括:
确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;
若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
在一种可选的方式中,所述任务内容包括车辆状态信息、环境参数信息和按键状态信息中的至少一项。
应用本发明的技术方案,至少具有如下有益效果:第一,通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期;另外,在执行车载应用程序过程中,可以动态的将部分脚本信息转换为对应的程序代码,这样,可以通过运行对应的程序代码,实现车载应用程序对应的功能。第二,如果需要更改车载应用程序设计逻辑,只需更改脚本文件中对应的设计逻辑,无需修改大量的程序代码,这样可以降低车载应用程序的后期维护成本。第三,相比于传统的需要通过U盘、OTA等方式对车载应用程序进行升级后,用户端才能获取更新后的车载应用程序服务,从而无法保证所有用户端能够进行升级。本发明实施例当车载应用程序对应的脚本文件在本地的脚本版本号低于云端的脚本版本号时,云端服务器下发最新版本的脚本文件给用户端,这样可以保证车载应用程序升级的覆盖率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在车载应用程序的交互装置/电子设备上运行时,使得所述车载应用程序的交互装置/电子设备执行上述任意方法实施例中的车载应用程序的交互方法。
可执行指令具体可以用于使得车载应用程序的交互装置/电子设备执行以下操作:
启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
监听所述任务节点对应的任务内容是否发生变化;
若确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;
执行所述目标控制动作。
在一种可选的方式中,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,所述监听所述任务节点对应的任务内容是否发生变化,包括:
基于所述任务信息和所述多个任务节点的排布方式,创建状态机;
利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
在一种可选的方式中,所述执行所述目标控制动作,包括:
生成所述目标控制动作对应的程序代码;
运行所述程序代码。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:
接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述监听所述任务节点对应的任务内容是否发生变化,包括:接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;若第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
在一种可选的方式中,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,所述确定所述任务内容的变化情况满足所述至少一个执行条件中的目标执行条件,包括:
若确定所述任务内容的变化情况满足所述至少一个执行条件中的多个执行条件;
根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
在一种可选的方式中,在所述加载并解析所述车载应用程序对应的脚本文件之前,所述方法还包括:
确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;
若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
在一种可选的方式中,所述任务内容包括车辆状态信息、环境参数信息和按键状态信息中的至少一项。
应用本发明的技术方案,至少具有如下有益效果:第一,通过脚本设计车载应用程序的交互逻辑,这样,不需要编写大量的程序代码,从而缩短车载应用程序的研发周期;另外,在执行车载应用程序过程中,可以动态的将部分脚本信息转换为对应的程序代码,这样,可以通过运行对应的程序代码,实现车载应用程序对应的功能。第二,如果需要更改车载应用程序设计逻辑,只需更改脚本文件中对应的设计逻辑,无需修改大量的程序代码,这样可以降低车载应用程序的后期维护成本。第三,相比于传统的需要通过U盘、OTA等方式对车载应用程序进行升级后,用户端才能获取更新后的车载应用程序服务,从而无法保证所有用户端能够进行升级。本发明实施例当车载应用程序对应的脚本文件在本地的脚本版本号低于云端的脚本版本号时,云端服务器下发最新版本的脚本文件给用户端,这样可以保证车载应用程序升级的覆盖率。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本发明实施例也不针对任何特定编程语言。
在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种车载应用程序的交互方法,其特征在于,所述方法包括:
启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
监听所述任务节点对应的任务内容是否发生变化;
若确定所述任务内容发生变化且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,获取所述目标执行条件对应的目标控制动作;
执行所述目标控制动作。
2.根据权利要求1所述的方法,其特征在于,所述任务集合中包括多个任务节点,所述多个任务节点的排布方式呈树形结构分布,所述监听所述任务节点对应的任务内容是否发生变化,包括:
基于所述任务信息和所述多个任务节点的排布方式,创建状态机;
利用所述状态机,从所述多个任务节点中的根节点开始监听所述任务节点对应的任务内容是否发生变化。
3.根据权利要求1所述的方法,所述执行所述目标控制动作,包括:
生成所述目标控制动作对应的程序代码;
运行所述程序代码。
4.根据权利要求2所述的方法,其特征在于,所述监听所述任务节点对应的任务内容是否发生变化,包括:
接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和/或状态指示信息,所述状态指示信息用于指示所述任务节点对应的任务内容发生变化。
5.根据权利要求2所述的方法,其特征在于,所述监听所述任务节点对应的任务内容是否发生变化,包括:
接收车辆控制器发送的任务状态信息,所述任务状态信息包括第一时刻所述任务内容的参数值和第二时刻所述任务内容的参数值,所述第二时刻为所述第一时刻之前的时刻;
若所述第一时刻所述任务内容的参数值与所述第二时刻所述任务内容的参数值不同,则确定所述任务节点对应的任务内容发生变化。
6.根据权利要求1所述的方法,其特征在于,所述任务节点的任务信息还包括所述至少一个执行条件的优先级,所述确定所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件,包括:
若确定所述任务内容的变化情况满足所述至少一个执行条件中的多个执行条件,则根据所述至少一个执行条件的优先级,在所述多个执行条件中确定所述目标执行条件。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述加载并解析所述车载应用程序对应的脚本文件之前,所述方法还包括:
确定所述车载应用程序对应的脚本文件在本地的脚本版本号以及在云端的脚本版本号;
若所述云端的脚本版本号高于所述本地的脚本版本号,则对所述车载应用程序对应的脚本文件进行升级,得到升级后的脚本文件。
8.一种车载应用程序的交互装置,其特征在于,所述交互装置包括:脚本管理模块、脚本仲裁模块和任务执行模块;
所述脚本管理模块,用于启动车载应用程序,加载并解析所述车载应用程序对应的脚本文件,所述脚本文件包括任务集合,所述任务集合包括至少一个任务节点的任务信息,所述任务节点的任务信息包括:任务内容、至少一个执行条件,以及每个所述执行条件对应的控制动作;
所述脚本仲裁模块,用于监听所述任务节点对应的任务内容是否发生变化;
所述任务执行模块,用于在确定所述任务内容发生变化,且所述任务内容的变化情况满足所述至少一个执行条件包括的目标执行条件时,获取所述目标执行条件对应的目标控制动作;以及执行所述目标控制动作。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的车载应用程序交互方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在车载应用程序交互装置/电子设备上运行时,使得车载应用程序交互装置/电子设备执行如权利要求1-7任意一项所述的车载应用程序交互方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310083972.0A CN116010063A (zh) | 2023-01-31 | 2023-01-31 | 一种车载应用程序的交互方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310083972.0A CN116010063A (zh) | 2023-01-31 | 2023-01-31 | 一种车载应用程序的交互方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010063A true CN116010063A (zh) | 2023-04-25 |
Family
ID=86031926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310083972.0A Pending CN116010063A (zh) | 2023-01-31 | 2023-01-31 | 一种车载应用程序的交互方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010063A (zh) |
-
2023
- 2023-01-31 CN CN202310083972.0A patent/CN116010063A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109164783B (zh) | 车辆诊断方法、装置、设备及介质 | |
CN111474921A (zh) | 一种汽车诊断软件的配置方法及相关设备 | |
CN110928567A (zh) | 车辆系统升级方法、终端设备及计算机可读存储介质 | |
CN114205386B (zh) | 一种面向服务架构的车载网络通信方法 | |
US10274919B2 (en) | Method, device and computer program product for programming a plurality of control units | |
CN112817617A (zh) | 软件升级方法、装置和系统 | |
CN110737557A (zh) | 电子控制单元的调试方法、装置、电子设备及存储介质 | |
CN213715751U (zh) | 一种域控制器 | |
CN112015489A (zh) | 一种车载软件的管理方法、装置、存储介质及系统 | |
KR102154279B1 (ko) | 차량용 디버깅 시스템의 동작 방법 | |
CN113377658B (zh) | 一种车辆控制器调试方法和装置 | |
Kenjić et al. | Connectivity challenges in automotive solutions | |
CN116010063A (zh) | 一种车载应用程序的交互方法、装置及电子设备 | |
Simonot-Lion et al. | Vehicle functional domains and their requirements | |
US20230229417A1 (en) | Technologies for over-the-air updates for telematics systems | |
US11952013B2 (en) | Trusted context self learning method for an in-vehicle network intrusion detection system developed to limit calibration proliferation and development costs | |
CN115550265A (zh) | 一种车载网络通信事件滤波方法、装置、设备和介质 | |
CN114924750A (zh) | 一种车载应用软件生成方法、装置、设备及存储介质 | |
CN111752575B (zh) | 一种车载应用更新方法、装置、设备及存储介质 | |
CN115016804A (zh) | 一种数据交互的方法、系统、装置、设备和存储介质 | |
CN111124700B (zh) | 仿真软件模型的接入方法和装置 | |
Trifunović et al. | Data Exchange Interfaces in Automotive SOA | |
CN115543584B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN113076128B (zh) | 用于机器人配置的方法、装置、电子设备及存储介质 | |
Jacuinde-Alvarez et al. | A Real-Time Intelligent Intra-vehicular Temperature Control Framework |
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 |