一种服务应用的开发方法、装置、系统及存储介质制造方法及图纸

技术编号:37782970 阅读:22 留言:0更新日期:2023-06-09 09:13
本申请公开了一种服务应用的开发方法、装置、系统及存储介质,应用在汽车领域。所述方法包括:当接收到目标消息时,将目标消息对应的目标数据存储到预设的整车状态表。然后将存储到预设的整车状态表的目标数据,基于预先配置的触发条件表达式,确定目标数据的触发状态。当目标数据的触发状态为触发成功时,执行目标数据对应的目标操作配置。如此,只有逻辑条件表达式满足预设条件,才执行后续目标操作,相对于通过通信框架传输多个应用,减少了传输开销。此外,本申请实施例仅需要基于整车状态表配置条件表达式,提升了开发效率且降低了开发成本。成本。成本。

【技术实现步骤摘要】
一种服务应用的开发方法、装置、系统及存储介质


[0001]本申请涉及车载服务领域,尤其涉及一种服务应用的开发方法、装置、系统及存储介质。

技术介绍

[0002]车载服务应用是指在车载服务系统中嵌入一系列系统级别的服务应用,比如车载空调、多媒体应用等。目前,在车载服务应用的开发上,往往通过通信框架接收消息和进行消息加工计算等,再通过通信框架发送给其他应用。
[0003]当一个消息需要通过通信框架同时发送给多个应用时,特别是跨核通信时,传输性能开销较大。其中,开销是指冗余数据在源数据中所占的比例。基于此,降低传输性能开销成为亟待解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请提供了一种服务应用的开发方法、装置、系统及存储介质,旨在通过提供一个可扩展的触发框架和缓存表组成的整车状态表,降低传输性能开销。
[0005]第一方面,本申请提供了一种服务应用的开发方法,其特征在于,所述方法包括:
[0006]响应于接收到目标消息,将所述目标消息对应目标数据存储到预设整车状态表;
[0007]将存储到所述预设整车状态表的所述目标数据,基于预先配置的触发条件表达式,确定所述目标数据的触发状态;所述预先配置的触发条件表达式为基于所述预设整车状态表配置的条件表达式;
[0008]当所述目标数据的触发状态为触发成功时,执行所述目标数据对应的目标操作配置。
[0009]可选的,所述预先配置的触发条件表达式为基于lua语言的逻辑条件表达式;所述逻辑条件表达式由所述预设整车状态表中键值反序列化对象以及所述键值反序列化对象的属性组成。
[0010]可选的,基于预先配置的触发条件表达式,确定所述目标消息的触发状态,包括:
[0011]初始化lua执行器,并解析所述预先配置的触发条件表达式,确定目标数据对应的键值列表和生成所述lua执行器中待执行的表达式字符串;所述目标数据对应的键值列表包括至少一个目标键值;所述待执行的表达式字符串为包括lua全局变量的表达式字符串;
[0012]遍历所述键值列表,从所述预设车辆状态列表中获取所述目标键值对应的值;将所述目标键值对应的值转换成序列化后的字符串形式;
[0013]将所述序列化后的所述字符串形式的目标键值,通过lua全局变量传递到lua代码中,由lua函数确定所述目标数据的触发状态。
[0014]所述由lua函数确定所述目标数据的触发状态,包括:
[0015]遍历所述lua全局变量中的所述目标键值,并将所述目标键值反序列化,获取所述目标键值的反序列化对象;
是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0035]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0036]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0037]正如前文所述,在车载服务应用的开发上,往往通过通信框架接收和加工消息,再通过通信框架发送给其他应用。当一个消息需要通过通信框架同时发送给多个应用时,特别是跨核通信时,传输性能开销较大。
[0038]如图1所示,为本申请实施例提供的一种跨核通信的方式示意图,核2的服务应用pub(发布端)发出目标消息AA0,通过三组网络通信Ethernet传输到核1的三个应用sub(订阅端)AA1、AA2和AA3。即需要网络传输多次才能将一个消息发送多个应用。
[0039]基于此,本申请实施例提供了服务应用的开发方法,当接收到目标消息时,将目标消息对应的目标数据存储到预设的整车状态表。然后将存储到预设整车状态表的目标数据,基于预先配置的触发条件表达式,确定目标数据的触发状态。当目标数据的触发状态为触发成功时,执行目标数据对应的目标操作配置。如此,只有逻辑条件表达式满足预设条件,才执行后续目标操作,减少了传输开销。此外,本申请实施例仅需要基于整车状态表配置条件表达式,提高了开发效率且降低了开发成本。
[0040]如图2所述,为本申请实施例提供的一种基于整车状态表进行跨核通信的方式示意图。核2的服务应用pub(发布端)发出目标消息AA0,通过一次Ethernet传输到核1sub(订阅端)的整车状态表,其中,整车状态表包括消息中心和共享内存,将一个消息发送至3个应用AA1、AA2和AA3。如此,仅需要一次网络通信,既可以实现一个消息发送多个应用。如此,减少了传输性能开销。
[0041]在扩展服务开发上,本申请实施例仅需要基于整车状态表配置条件表达式,确定目标消息的触发状态。当目标消息的触发状态为触发成功时,执行目标消息对应的目标操作配置。相对于使用上位机配置工具配置服务应用,并使用C++开发语言编写服务应用程序,提高了开发效率且降低了开发成本。
[0042]下面结合附图3

图4对本申请实施例提供的服务应用的开发方法进行详细完整的介绍。
[0043]参见图3,为本申请实施例提供的一种服务应用的开发方法流程图,该方法应用于车载服务应用系统。该方法包括:
[0044]S31:响应于接收到目标消息,将所述目标消息对应的目标数据存储到预设整车状态表。
[0045]示例性的,目标消息为图1或图2所述的核2中的AA0消息,可以是一种用户配置的触发条件表达式。
[0046]整车状态表是一个服务应用,用于接收目标消息并将目标消息对应的目标数据存储至共享内存,同时将通过共享内存将目标数据提供给多个应用。
[0047]示例性的:如上图2所示,核1中的消息中心接收核2发送的目标消息AA1,将其AA1
对应的目标数据存储在共享内存,通过共享内存发送至3个应用。
[0048]整车状态表还预先配置了触发条件表达式,通过一个脚本配置拓展服务应用开发。相对于上位机配置工具配置服务应用,并基于C++开发语言编写服务应用程序接收和发送消息,开发效率高,且开发成本低。
[0049]S32:将存储到预设整车状态表的所述目标数据,基于预先配置的触发条件表达式,确定目标数据的触发状态。
[0050]触发条件表达式用于判断是否执行将目标消息对应的目标数据发送给应用。在一种可能的方式中,预先配置的触发条件表达式为基于lua语言的逻辑条件表达式,其中逻辑条件表达式由整车状态表中键值反序列对象以及键值反序列对象的属性组成。
[0051]示例性1:触发条件表达式为
““
condition”:{“expr“:”return${topic1}.speed>10”}”,其中${topic1}为整车状态表中key为topi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务应用的开发方法,其特征在于,所述方法包括:响应于接收到目标消息,将所述目标消息对应目标数据存储到预设整车状态表;将存储到所述预设整车状态表的所述目标数据,基于预先配置的触发条件表达式,确定所述目标数据的触发状态;所述预先配置的触发条件表达式为基于所述预设整车状态表配置的条件表达式;当所述目标数据的触发状态为触发成功时,执行所述目标数据对应的目标操作配置。2.根据权利要求1所述方法,其特征在于,所述预先配置的触发条件表达式为基于lua语言的逻辑条件表达式;所述逻辑条件表达式由所述预设整车状态表中键值反序列化对象以及所述键值反序列化对象的属性组成。3.根据权利要求2所述方法,其特征在于,所述基于预先配置的触发条件表达式,确定所述目标数据的触发状态,包括:初始化lua执行器,并解析所述预先配置的触发条件表达式,确定目标数据对应的键值列表和生成所述lua执行器中待执行的表达式字符串;所述目标数据对应的键值列表包括至少一个目标键值;所述待执行的表达式字符串为包括lua全局变量的表达式字符串;遍历所述键值列表,从所述预设车辆状态列表中获取所述目标键值对应的值;将所述目标键值对应的值转换成序列化后的字符串形式;将所述序列化后的字符串形式的所述目标键值,通过lua全局变量传递到lua代码中,由lua函数确定所述目标数据的触发状态。4.根据权利要求3所述方法,其特征在于,所述由lua函数确定所述目标数据的触发状态,包括:遍历所述lua全局变量中的所述目标键值,并将所述目标键值反序列化,...

【专利技术属性】
技术研发人员:何涛曹斌
申请(专利权)人:东软睿驰汽车技术沈阳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1