技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种链路执行监控方法、装置、车辆及介质与流程  >  正文

一种链路执行监控方法、装置、车辆及介质与流程

  • 国知局
  • 2024-07-31 22:52:41

本公开涉及程序执行监测,尤其涉及链路执行监控方法、装置、车辆及介质。

背景技术:

1、相关技术中,互联网程序逻辑监控方面使用较多的是基于opentrace或者opentelemetry规范的调用链,参考图1所示,为现有调用链的结构示意图,其中,调用链的核心是span数据,执行过程中,span数据需要传递到下一个节点,span数据包括trace_id,span_id,parent_id以及一些其他标识性数据,trace_id在链路运行时生成,每次运行确保唯一;span_id为运行到某一程序时生成的,parent_id为父节点传下来的span_id。调用链运行一次,所有经过的位置会生成一个span,将span数据汇集,通过span_id的父子关系拼接,就能得到整个调用链,但是存在以下问题:

2、1、父子节点有数据传递,对于cpu、内存以及通信带宽均有极大的需求;

3、2、每个节点生成的数据需要上传至某一个中心节点,对于cpu占用、通信占用较高。

4、3、非预设程序执行顺序,仅仅是将程序执行顺序上传至中心节点,由中心节点判断程序是否按预期执行,因此相关工具仅仅是问题监控或者排查的一个手段,无法实现对程序逻辑的实时监控判断。

5、4、使用复杂,需要初始化调用链信息,需要在用户数据中增加span结构体,需要将span数据传递至中心节点,为实现分析,还需要可视化工具支持。

6、有鉴于此,亟需提供一种轻量化的且能够实现跨进程的程序执行监控方法。

技术实现思路

1、为克服相关技术中存在的问题,本公开提供一种链路执行监控方法、装置、车辆及介质。

2、根据本公开实施例的第一方面,提供一种链路执行监控方法,包括根据用户进程中设置的线程监测上报的各程序错误等级执行相应的动作;

3、所述线程用于监控程序中各链路预设的打点位置标记判断当前链路运行的打点信息,所述打点信息用于指示当前链路打点执行顺序及执行时间信息,对比预设的各链路执行顺序及执行时间,确定程序执行错误等级。

4、进一步的,所述对比预设的各链路执行顺序及执行时间,确定程序执行错误等级具体包括:

5、获取各链路执行顺序及执行时间,根据预设的对应各链路执行顺序及执行时间,确定执行顺序错误或执行时间错误的链路,及对应的错误等级;

6、对比确定最高的错误等级并上报至系统。

7、进一步的,所述线程监测上报错误等级具体包括以下方式:

8、若错误等级为低等,则单次发送错误消息;若错误等级为高等,则周期性多次发送错误消息。

9、进一步的,还包括链路初始化,指示每条链路打点信息,具体包括设置:

10、各链路唯一标识、起始标识和结束标识,打点位置标识,相应打点位置的下一个打点位置标识,两打点间的执行时间;

11、各链路的故障严重等级,包括各链路执行顺序错误等级及执行时间错误等级。

12、进一步的,所述链路初始化还包括:

13、设置链路间的关联信息,及各关联链路故障严重等级;

14、设置链路异常冗余值和恢复冗余值;线程根据异常冗余值和监测到的链路异常次数确定链路故障严重等级并上报系统;当链路置为异常状态后,监测链路正常执行次数直至达到恢复冗余值,将对应链路状态置为正常。

15、进一步的,所述链路初始化信息存储于预设的链路存储表。

16、进一步的,所述线程执行以下监测步骤:

17、程序执行顺序判断:根据打点信息,确定各链路唯一标识符,并确定对应的链路打点位置的下一个打点位置标识(next_checkpoint_id)与确定的下一个将要执行链路的打点位置标识(current_checkpoint_id)是否相同,若不相同,链路执行顺序错误,则根据对应链路预设的故障严重等级确定错误等级;

18、程序执行超时判断:根据打点信息,确定上一打点位置的时间戳与当前位置的时间戳差值判断执行时间,对比预设的对应的两打点间链路执行时间预设值,若不一致,则链路执行时间错误,则根据对应链路预设的故障严重等级确定错误等级。

19、进一步的,所述根据各程序错误等级执行相应的动作具体包括:

20、对比线程上报的各程序故障严重等级确定最高的错误等级,当错误等级达到预设等级则执行相应的动作。

21、进一步的,还包括步骤:

22、根据设置心跳传输机制监测系统与线程间的信息交互状态,当任意一方心跳异常时执行相应动作;所述心跳传输机制包括在预设周期内系统与线程任意一端给对端发送心跳包或数据传输;

23、若监控线程心跳发送异常,则标识对应的监控为异常;若监控系统心跳发送异常,则触发异常处理;

24、系统根据线程监测上报的各链路的监测结果进行综合分析,包括确定的各链路或关联链路的监控结果、线程的运行状态以及故障发生的频次进行综合分析,确定全局最高的故障等级。

25、根据本公开实施例的第二方面,提供一种链路执行监控装置,包括

26、接收模块,用于接收用户进程中设置的线程监测上报的各程序错误等级;其中,所述线程用于监控程序中各链路预设的打点位置标记判断当前链路运行的打点信息,所述打点信息用于指示当前链路打点执行顺序及执行时间信息,再对比预设的各链路执行顺序及执行时间,确定程序执行错误等级;

27、执行模块,用于根据各程序错误等级执行相应的动作。

28、根据本公开实施例的第三方面,提供一种车辆,存储有一组指令集,所述指令集被所述车辆执行,以实现本公开第一方面所提供的链路执行监控方法。

29、根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的链路执行监控方法的步骤。

30、本公开的实施例提供的技术方案可以包括以下有益效果:根据用户预设的打点信息确定各链路的执行流,包括执行顺序和执行时间,通过用户进程中预设的线程实时监测打点信息确定当前链路执行顺序和执行时间是否符合预设条件,并确定执行异常等级反馈至系统,系统接收各个用户程序的监控结果,确定全局程序执行异常最高等级并执行相应的动作,这样的不仅解决了相关技术中各链路执行顺序和运行时间的监控,实现对程序逻辑的实时监控判断,且设计通信数据极少,资源消耗极少,单个程序的逻辑监控仅需要一个低消耗的线程以及必须的打点接口,且打点之间无需通信数据传递,在确保准确的前提下,最小化了通信成本;监控机制实现轻量化的跨进程数据传递,适用于车辆运行过程中的实时监控,能够提高相关软件模块的功能安全等级,适用性强。

31、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

技术特征:

1.一种链路执行监控方法,其特征在于,包括:

2.根据权利要求1所述的链路执行监控方法,其特征在于,所述对比预设的各链路执行顺序及执行时间,确定程序执行错误等级具体包括:

3.根据权利要求1或2所述的链路执行监控方法,其特征在于,所述线程监测上报错误等级具体包括以下方式:

4.根据权利要求1所述的链路执行监控方法,其特征在于,还包括链路初始化,指示每条链路打点信息,具体包括设置:

5.根据权利要求4所述的链路执行监控方法,其特征在于,所述链路初始化还包括:

6.根据权利要求5所述的链路执行监控方法,其特征在于,所述链路初始化信息存储于预设的链路存储表。

7.根据权利要求5所述的链路执行监控方法,其特征在于,所述线程执行以下监测步骤:

8.根据权利要求1或2所述的链路执行监控方法,其特征在于,所述根据各程序错误等级执行相应的动作具体包括:

9.根据权利要求1所述的链路执行监控方法,其特征在于,还包括步骤:

10.一种链路执行监控装置,其特征在于,包括:

11.一种车辆,其特征在于,包括:

12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-9中任一所述的链路执行监控方法的步骤。

技术总结本公开涉及一种链路执行监控方法,装置,车辆及介质,其中,方法包括根据用户进程中设置的线程监测上报的各程序错误等级执行相应的动作;所述线程用于监控程序中各链路预设的打点位置标记判断当前链路运行的打点信息,所述打点信息用于指示当前链路打点执行顺序及执行时间信息,对比预设的各链路执行顺序及执行时间,确定程序执行错误等级。本公开实现对程序逻辑的实时监控判断,且设计通信数据极少,资源消耗极少,单个程序的逻辑监控仅需要一个低消耗的线程以及必须的打点接口,且打点之间无需通信数据传递,最小化了通信成本;监控机制实现轻量化的跨进程数据传递,适用于车辆运行过程中的实时监控,适用性强。技术研发人员:曾浩受保护的技术使用者:国科础石(重庆)软件有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/195125.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。