本发明专利技术公开了一种服务调用链跟踪实现方法及系统,应用于车云一体的面向服务结构的架构中。本发明专利技术通过将调用链上下文设置在通信协议报文的报文头中,并通过转换节点进行协议格式转换,可以实现云端与车载端之间的跨系统以及跨通信协议服务;同时,云端根据全局调用链收集器所收集的调用链信息实现车服务之间、车服务与云服务间的全链路调用链连接。通过调用链进行展示和分析,统计接口和服务调用耗时、成功率、失败率等,可以实时分析调用链路执行情况,并快速定位出现异常的服务节点,以及提升软件运行性能。升软件运行性能。升软件运行性能。
【技术实现步骤摘要】
一种服务调用链跟踪实现方法及系统
[0001]本专利技术涉及调用链跟踪的
,特别是涉及一种应用于面向服务结构(Service Oriented Architecture,SOA)的架构的服务调用链跟踪实现方法及系统。
技术介绍
[0002]云端目前服务之间调用都有调用链跟踪技术,通过调用链能够分析服务执行状况。其中,调用链指在系统完成一次业务调用的过程中,把服务之间的调用信息(如,时间、接口、层次、结果)打印到日志中,然后将所有的数据连接为一个树状链条以产生一个完整的调用链。跟踪系统把过程中产生的日志信息进行分析处理,将业务端到端的执行完整的调用过程进行还原,根据不同维度进行统计分析;从而标识出有异常的服务调用,能够快速分析定界到出异常的服务;同时可根据数据统计分析系统性能瓶颈。
[0003]随着汽车的智能网联化,车载端已经开始采用SOA的软件架构,车载端一般采用SOMEIP、DDS等协议进行服务之间通信,而云端微服务之间通信一般采用HTTP、Kafka消息中间件异步等方式,故车载端与云端之间的服务所采用的通信方式、开发语言基本上均不相同,而Zipkin等主流云端微服务调用链并不能支持跨语言、跨通信方式的调用,因此目前在车云一体的面向服务结构(SOA)的架构中,在车载与云端跨系统通信、跨域通信、域内通信等服务之间无法实现调用链跟踪。
技术实现思路
[0004]本专利技术所要解决的技术问题在于,提供一种服务调用链跟踪实现方法及系统,可以实现车载端服务之间或与云服务之间的调用链跟踪,可以实时分析调用链路执行情况,并快速定位出现异常的服务节点。
[0005]为解决上述技术问题,作为本专利技术的一方面,提供一种服务调用链跟踪实现方法,用于在面向服务结构的架构中跟踪车载端与云端的服务调用,其包括如下步骤:
[0006]第一服务节点生成调用链上下文,并采用第一通信协议格式形成调用请求消息报文并发送出去,其中所述调用链上下文中包含有TraceID、SpanID以及UserID;所述调用链上下文存放于所述调用请求消息报文的报文头中;所述第一服务节点位于云端或车载端;
[0007]转换节点通过发现功能接收所述调用请求消息报文,解析其报文头中的调用链上下文,根据所述调用链上下文采用第二通信协议格式形成格式变换后的调用请求消息报文,并发送出去;所述调用链上下文存放于所述格式变换后的调用请求消息报文的报文头中,所述转换节点位于车载端;
[0008]第二服务节点接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应的调用请求,将请求执行结果返回上游服务节点,并在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器;所述第二服务节点位于车载端或云端;
[0009]其中,每一服务节点均记录有开始与结束时间戳。
[0010]其中,进一步包括:
[0011]第二服务节点如果本身不是最终执行节点,则将所述经格式转换后的调用请求消息发送给下一服务节点;
[0012]下一服务节点接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应的调用请求,将请求执行结果返回上游服务节点;在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器,所述下一服务节点位于车载端。
[0013]当所述第一服务节点、第二服务节点、下一服务节点同时位于车载端时,其中:
[0014]所述第一服务节点、第二服务节点、下一服务节点位于不同的车载域中;或者所述第一服务节点、第二服务节点、下一服务节点中至少两个位于同一车载域中。
[0015]其中,在调用请求处理完后,将本次调用请求的所有调用链上下文信息以及车辆VIN码信息传送给位于云端的全局调用链收集器的步骤具体为:
[0016]通过与当前服务节点关联的域控制器代理节点,将本次调用请求的所有调用链上正文信息以及车辆VIN码信息传送给位于云端的全局调用链收集器。
[0017]其中,所述第一通信协议和第二通信协议均为SOMEIP、DDS、HTTP、MQTT、IPC以及Socket协议中之一种;
[0018]所述调用链相关信息至少包括:车辆VIN码信息、各服务节点对应的调用链上下文信息以及开始与结束时间戳。
[0019]其中,进一步包括:
[0020]根据全局调用链收集器所收集的所有调用链信息,定位出现异常的服务节点,并按车型进行成功率、失败率以及平均时延的统计分析,并生成统计报告。
[0021]相应地,作为本专利技术的另一方面,还提供一种服务调用链跟踪实现系统,用于在面向服务结构的架构中跟踪车载端与云端的服务调用,其包括:
[0022]第一服务节点,其位于云端或车载端,用于生成调用链上下文,并采用第一通信协议格式形成调用请求消息报文并发送出去,其中所述调用链上下文中包含有TraceID、SpanID以及UserID;所述调用链上下文存放于所述调用请求消息报文的报文头中;
[0023]转换节点,其位于车载端,用于通过发现功能接收所述调用请求消息报文,解析其报文头中的调用链上下文,根据所述调用链上下文采用第二通信协议格式形成格式变换后的调用请求消息报文,并发送出去;所述调用链上下文存放于所述格式变换后的调用请求消息报文的报文头中;
[0024]第二服务节点,其位于车载端或云端,用于接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应的调用请求,将请求执行结果返回上游服务节点;并在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器;
[0025]全局调用链收集器,用于接收第一服务节点以及第二服务节点上报的信息。
[0026]其中,所述第二服务节点进一步用于,如果本身不是最终执行节点,则将所述经格式转换后的调用请求消息发送给下一服务节点;
[0027]所述系统进一步包括:下一服务节点,用于接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应
的调用请求,将请求执行结果返回上游服务节点;并在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器,所述下一服务节点位于车载端。
[0028]当所述第一服务节点、第二服务节点、下一服务节点同时位于车载端时,其中:
[0029]所述第一服务节点、第二服务节点、下一服务节点位于不同的车载域中;或者所述第一服务节点、第二服务节点、下一服务节点中至少两个位于同一车载域中。
[0030]其中,进一步包括:
[0031]域控制器代理节点,与所述第二服务节点或/及下一服务节点相关联,用于将来自第二服务节点或/及下一服务节的信息转发至位于本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种服务调用链跟踪实现方法,用于在面向服务结构的架构中跟踪车载端与云端的服务调用,其特征在于,包括如下步骤:第一服务节点生成调用链上下文,并采用第一通信协议格式形成调用请求消息报文并发送出去,其中所述调用链上下文中包含有TraceID、SpanID以及UserID;所述调用链上下文存放于所述调用请求消息报文的报文头中,所述第一服务节点位于云端或车载端;转换节点通过发现功能接收所述调用请求消息报文,解析其报文头中的调用链上下文,根据所述调用链上下文采用第二通信协议格式形成格式变换后的调用请求消息报文,并发送出去;所述调用链上下文存放于所述格式变换后的调用请求消息报文的报文头中,所述转换节点位于车载端;第二服务节点接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应的调用请求,将请求执行结果返回上游服务节点,并在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器;所述第二服务节点位于车载端或云端;其中,每一服务节点均记录有开始与结束时间戳。2.如权利要求1所述的方法,其特征在于,进一步包括:第二服务节点如果本身不是最终执行节点,则将所述经格式转换后的调用请求消息发送给下一服务节点;下一服务节点接收所述格式变换后的调用请求消息,解析其内容,并更新当前调用链上下文中的SpanID;如果本身是最终执行节点,则执行相应的调用请求,将请求执行结果返回上游服务节点;并在调用请求处理完后,将本次调用请求的所有调用链相关信息传送给位于云端的全局调用链收集器,所述下一服务节点位于车载端,并记录开始与结束时间戳。3.如权利要求2所述的方法,其特征在于,当所述第一服务节点、第二服务节点、下一服务节点同时位于车载端时,其中:所述第一服务节点、第二服务节点、下一服务节点位于不同的车载域中;或者所述第一服务节点、第二服务节点、下一服务节点中至少两个位于同一车载域中。4.如权利要求1至3任一项所述的方法,其特征在于,在调用请求处理完后,将本次调用请求的所有调用链上下文信息以及车辆VIN码信息传送给位于云端的全局调用链收集器的步骤具体为:通过与当前服务节点关联的域控制器代理节点,将本次调用请求的所有调用链上正文信息以及车辆VIN码信息传送给位于云端的全局调用链收集器。5.如权利要求4所述的方法,其特征在于,所述第一通信协议和第二通信协议均为SOMEIP、DDS、HTTP、MQTT、IPC以及Socket协议中之一种;所述调用链相关信息至少包括:车辆VIN码信息、各服务节点对应的调用链上下文信息以及开始与结束时间戳。6.如权利要求5所述的方法,其特征在于,进一步包括:根据全局调用...
【专利技术属性】
技术研发人员:梁伟强,李辉,张蓓,廖磊,宋义伟,宋文明,
申请(专利权)人:广州汽车集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。