基于AUTOSARAdaptive的服务调用链追踪方法、系统、计算机及存储介质技术方案

技术编号:34776127 阅读:14 留言:0更新日期:2022-08-31 19:48
本发明专利技术提供一种基于AUTOSARAdaptive的服务调用链追踪方法、系统、计算机及存储介质,基于AUTOSARAdaptive的服务调用链追踪方法,调用链追踪工具生成包含唯一标识的调用链信息报文,将SOME/IP信息报文的信息添加至调用链信息报文中,发送调用链信息报文;调用链追踪工具将包含调用链信息的服务日志予以标识,生成第一服务日志;调用链追踪工具通过接收到的SOME/IP信息报文查找对应接收到的调用链信息报文,调用链追踪工具储存包含接收到的调用链信息报文的服务日志,形成第二服务日志;调用链追踪工具追踪第一服务日志及第二服务日志,建立服务调用的多叉树数据结构。通过采用上述方法,可以清晰明了的对故障进行相应问题节点的快送定位,更加方便的确定服务依赖关系。更加方便的确定服务依赖关系。更加方便的确定服务依赖关系。

【技术实现步骤摘要】
基于AUTOSAR Adaptive的服务调用链追踪方法、系统、计算机及存储介质


[0001]本申请涉及智能汽车软件领域,特别是涉及一种基于AUTOSARAdaptive的服务调用链追踪方法、系统、计算机及存储介质

技术介绍

[0002]面向服务架构(Service

OrientedArchitectures,SOA)是智能汽车软件架构的发展方向。面向服务架构是一种将信息化模块化、标准化为“服务”的架构风格,核心是实现服务和技术的完全分离,从而达到服务的可重用性。面向服务架构能使应用之间松散耦合、整个系统动态灵活、可扩展。
[0003]AUTOSAR组织于2017年3月31日首次发布Adaptive平台,作为电子控制单元(ECU)的标准化集成平台。AUTOSARAdaptive平台基于POSIX操作系统,是面向最新汽车大趋势的ECU标准。AUTOSARAdaptive平台采用面向服务的架构,使用SOME/IP(Scalableservice

OrientedMiddlewarEoverIP)协议实现面向服务的通信。
[0004]目前,汽车上存在成百上千的服务,一个服务会调用其他若干服务,从而形成复杂的调用关系。如果这些调用关系不能被理清楚,将给软件开发人员定位故障带来很大的困难。例如,A服务调用B服务,B服务调用C和D服务。在这样的情况下,如果C服务出现故障,B服务和A服务都将会出现故障。AUTOSARAdaptive平台目前并没有引入服务调用链追踪相关的功能,只能选用传统的故障定位方式,通过Dlt(DiagnosticLogandTrace)模块将每个节点调用服务和被请求服务的行为记录到日志中,逐一分析日志来排查故障。但是这些服务的日志是分散的,彼此没有很强的联系,很难从中整理出C服务故障是A服务与B服务故障的根本原因。
[0005]从技术实现上分析,AUTOSARAdaptive平台通过SOME/IP协议实现服务的请求与调用。Zipkin、Pinpoint等服务调用链追踪工具是基于http协议实现,原理是将调用链信息加入http协议的首部行(headerline)发送到服务端。SOME/IP协议的头部无法存储调用链信息,调用链信息只能通过其他的方式发送到服务端,同时必须保证一条调用链信息与SOME/IP报文是唯一对应的。因此,由于AUTOSARAdaptive平台上使用SOME/IP协议实现面向服务通信,未有相应的服务调用链追踪方法来实现服务调用关系的追踪整理,进而导致面向服务架构的故障定位极为困难。

技术实现思路

[0006]本申请实施例提供了一种基于AUTOSARAdaptive的服务调用链追踪方法、系统、存储介质、终端及系统,以解决由于AUTOSARAdaptive平台上使用SOME/IP协议实现面向服务通信,未有相应的服务调用链追踪方法来实现服务调用关系的追踪整理,进而导致面向服务架构的故障定位极为困难的技术问题。
[0007]第一方面,本申请实施例提供了一种基于AUTOSAR Adaptive的服务调用链追踪方
法,包括:
[0008]当客户端发起SOME/IP服务调用时,调用链追踪工具生成包含唯一标识的调用链信息报文,将SOME/IP信息报文中的ID信息添加至所述调用链信息报文中,发送所述调用链信息报文;
[0009]所述调用链追踪工具将包含所述调用链信息的服务日志予以标识,并生成第一服务日志;
[0010]当服务端接收到所述SOME/IP服务调用时,所述调用链追踪工具根据接收到的所述SOME/IP信息报文中的ID信息,查找对应接收到的所述调用链信息报文,以执行服务调用;
[0011]所述调用链追踪工具储存包含接收到的所述调用链信息报文的服务日志,以生成第二服务日志;
[0012]所述调用链追踪工具追踪所述第一服务日志及所述第二服务日志,建立服务调用的多叉树数据结构。
[0013]进一步地,所述调用链追踪工具形成包含唯一标识的调用链信息报文的步骤包括:
[0014]根据当前时间加随机数的方法来获取Trace Id,生成调用链唯一标识;
[0015]根据节点IP地址主机号、服务Id以及当前时间获取Span Id,生成节点唯一标识;
[0016]根据所述Trace Id及所述Span Id生成Parent Id,以及根据所述Trace Id、所述Span Id及所述Parent Id生成所述调用链信息报文;
[0017]所述将SOME/IP信息报文中的ID信息添加至所述调用链信息报文中的步骤包括:
[0018]将所述SOME/IP信息报文中的Client Id、Session Id、Service Id和Method Id信息添加至所述调用链信息报文中。
[0019]进一步地,所述调用链追踪工具将包含所述调用链信息的服务日志予以标识,并生成第一服务日志的步骤包括:
[0020]通过调用链追踪工具将Dlt协议的Extended Header中的Context Id设置为预设字符作为标记,以生成所述第一服务日志。
[0021]进一步地,通过调用链追踪工具根据接收到的所述SOME/IP信息报文中的ID信息,查找对应接收到的所述调用链信息报文,以执行服务调用的步骤包括:
[0022]通过调用链追踪工具根据接收到的所述SOME/IP信息报文中的Client Id、Session Id、Service Id和Method Id信息,查找接收到的所述调用链信息报文中是否包含所述Client Id、所述Session Id、所述Service Id和所述Method Id信息;
[0023]根据接收到的所述调用链信息报文中的Service Id和Method Id,查询服务是否匹配,若是,则执行服务调用。
[0024]进一步地,通过调用链追踪工具追踪所述第一服务日志及所述第二服务日志,建立服务调用的多叉树数据结构的步骤包括:
[0025]通过调用链追踪工具解析并判断所有的服务日志中的Context Id是否为所述预设字符;
[0026]若是,则以所述Trace Id为键值将所述调用链信息报文存入哈希表中,以形成调用日志;
[0027]以所述Trace Id为索引,查询所述调用日志,根据所述调用链信息报文中的Span Id和Parent Id的关系,建立服务调用的多叉树数据结构。
[0028]第二方面,本申请实施例提供了一种基于AUTOSAR Adaptive的服务调用链追踪系统,应用于所述调用链追踪工具,所述系统包括:
[0029]第一生成模块,用于当客户端发起SOME/IP服务调用时,生成包含唯一标识的调用链信息报文,将SOME/IP信息报文中的ID信息添加至所述调用链信息报文中,发送所述调用链信息报文;
[0030]第二生成模块,用于将包含所述调用链信息的服务日志予以标识本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AUTOSAR Adaptive的服务调用链追踪方法,其特征在于,包括:当客户端发起SOME/IP服务调用时,调用链追踪工具生成包含唯一标识的调用链信息报文,将SOME/IP信息报文中的ID信息添加至所述调用链信息报文中,发送所述调用链信息报文;所述调用链追踪工具将包含所述调用链信息的服务日志予以标识,并生成第一服务日志;当服务端接收到所述SOME/IP服务调用时,所述调用链追踪工具根据接收到的所述SOME/IP信息报文中的ID信息,查找对应接收到的所述调用链信息报文,以执行服务调用;所述调用链追踪工具储存包含接收到的所述调用链信息报文的服务日志,以生成第二服务日志;所述调用链追踪工具追踪所述第一服务日志及所述第二服务日志,建立服务调用的多叉树数据结构。2.根据权利要求1所述的基于AUTOSAR Adaptive的服务调用链追踪方法,其特征在于,所述调用链追踪工具形成包含唯一标识的调用链信息报文的步骤包括:根据当前时间加随机数的方法来获取Trace Id,生成调用链唯一标识;根据节点IP地址主机号、服务Id以及当前时间获取Span Id,生成节点唯一标识;根据所述Trace Id及所述Span Id生成Parent Id,以及根据所述Trace Id、所述Span Id及所述Parent Id生成所述调用链信息报文;所述将SOME/IP信息报文中的ID信息添加至所述调用链信息报文中的步骤包括:将所述SOME/IP信息报文中的Client Id、Session Id、Service Id和Method Id信息添加至所述调用链信息报文中。3.根据权利要求2所述的基于AUTOSAR Adaptive的服务调用链追踪方法,其特征在于,通过调用链追踪工具将包含所述调用链信息的服务日志予以标识,并生成第一服务日志的步骤包括:通过调用链追踪工具将Dlt协议的Extended Header中的Context Id设置为预设字符作为标记,以生成所述第一服务日志。4.根据权利要求2所述的基于AUTOSAR Adaptive的服务调用链追踪方法,其特征在于,通过调用链追踪工具根据接收到的所述SOME/IP信息报文中的ID信息,查找对应接收到的所述调用链信息报文,以执行服务调用的步骤包括:通过调用链追踪工具根据接收到的所述SOME/IP信息报文中的Client Id、Session Id、Service Id和Method Id信息,查找接收到的所述调用链信息报文中是否包含所述ClientId、所述Session Id、所述Service Id和所述Method Id信息;根据接收到的所述调用链信息报文中的Service Id和Method Id,查询服务是否匹配,若是,则执行服务调用。5.根据权利要求3所述的基于AUTOSAR Adaptive的服务调用链追踪方法,其特征在于,通过调用链追踪工具追踪所述第一服务日志及所述第二服务日志,建立服务调用的多叉树数据结构的步骤包括:通过调用链追踪工具解析并判断所有的服务日志中的Context Id是否为...

【专利技术属性】
技术研发人员:吴名芝罗鹏志朱元
申请(专利权)人:南昌智能新能源汽车研究院
类型:发明
国别省市:

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

1