本申请涉及请求仲裁,特别是涉及一种诊断请求的仲裁方法、装置、设备及存储介质。
背景技术:
1、随着汽车技术的发展,汽车故障诊断成为发现汽车故障的主要方法,在现有技术中,一般是通过故障诊断仪对汽车的各个功能模块进行诊断。
2、同时,随着科学技术的不断提升,故障诊断仪可以实现的诊断方式也越来越多,主要分为本地诊断、远程诊断和应用程序诊断,但是,由于用于实现汽车故障诊断的ecu模块在同一时刻只能接收来自同一诊断客户端的诊断请求,因此当多个诊断客户端的诊断请求发送至ecu模块时,可能会造成诊断失效,或其他诊断客户端很长时间无法进行诊断,降低了诊断效率。
3、因此如何实现对来自不同应用客户端的多个诊断请求进行仲裁,是本领域技术人员亟待解决的技术问题。
技术实现思路
1、基于上述问题,本申请提供了一种诊断请求的仲裁方法、装置、设备及存储介质,以实现对诊断请求的有效仲裁。
2、本申请实施例公开了如下技术方案:
3、第一方面,本申请实施例提供一种诊断请求的仲裁方法,所述方法包括:
4、接收待处理的诊断请求;
5、确定所述诊断请求对应的源地址类型和目的地址;
6、根据所述源地址类型和目的地址对所述诊断请求进行仲裁。
7、可选地,当诊断请求数量为1时,所述根据所述源地址类型和目的地址对所述诊断请求进行仲裁,包括:
8、根据目的地址确定与所述目的地址对应的目标ecu;
9、判断所述目标ecu是否执行诊断任务;
10、若是,则将所述诊断请求放入诊断缓存队列;
11、若否,则通过所述目标ecu执行所述诊断请求。
12、可选地,当诊断请求数量大于1时,所述根据所述源地址类型和目的地址对所述诊断请求进行仲裁,包括:
13、根据目的地址对多个诊断请求进行分组,得到至少一个目标仲裁组;
14、根据源地址和预设优先级规则对每个目标仲裁组中的诊断请求进行仲裁。
15、可选地,所述根据源地址和预设优先级规则对每个目标仲裁组中的诊断请求进行仲裁,包括:
16、根据目的地址确定与所述目的地址对应的目标ecu;其中所述目标ecu与所述目的地址对应的目标仲裁组存在对应关系;
17、判断每个目标ecu是否执行诊断服务;
18、若是,则将所述目标ecu对应的目标仲裁组中的诊断请求缓存至诊断缓存队列,作为缓存诊断请求;
19、若否,则根据预设优先级规则确定所述目标ecu对应的目标仲裁组中的目标诊断请求,通过所述目标ecu执行所述目标诊断请求,并将除所述目标诊断请求以外的诊断请求缓存至诊断缓存队列。
20、可选地,当所述目标ecu执行诊断服务,且诊断缓存队列中不存在缓存诊断请求时,将所述目标ecu对应的目标仲裁组中的诊断请求缓存至诊断缓存队列之后,还包括:
21、判断所述缓存诊断请求与所述目标ecu执行的诊断请求之间的优先级;
22、若所述缓存诊断请求的优先级高于所述目标ecu执行的诊断请求,则将所述缓存诊断请求缓存至所述诊断缓存队列,并向所述目标ecu执行的诊断请求对应的客户端发送等待执行消息。
23、第二方面,本申请实施例提供一种诊断请求的仲裁装置,所述装置包括:
24、接收模块,用于接收待处理的诊断请求;
25、确定模块,用于确定所述诊断请求对应的源地址类型和目的地址;
26、仲裁模块,用于根据所述源地址类型和目的地址对所述诊断请求进行仲裁。
27、可选地,当诊断请求数量为1时,所述仲裁模块,具体用于:
28、根据目的地址确定与所述目的地址对应的目标ecu;
29、判断所述目标ecu是否执行诊断任务;
30、若是,则将所述诊断请求放入诊断缓存队列;
31、若否,则通过所述目标ecu执行所述诊断请求。
32、可选地,当诊断请求数量大于1时,所述仲裁模块,包括:
33、分组模块,用于根据目的地址对多个诊断请求进行分组,得到至少一个目标仲裁组;
34、仲裁子模块,用于根据源地址和预设优先级规则对每个目标仲裁组中的诊断请求进行仲裁。
35、第三方面,本申请实施例提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的诊断请求的仲裁方法。
36、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面所述的诊断请求的仲裁方法。
37、相较于现有技术,本申请具有以下有益效果:
38、本申请通过接收待处理的诊断请求,确定所述诊断请求对应的源地址类型和目的地址,根据所述源地址类型和目的地址对所述诊断请求进行仲裁。其中,通过确定的源地址类型和目的地址对不同来源的诊断请求进行区分,且进一步根据不同来源、同一诊断目标的诊断请求进行进一步仲裁,实现对诊断请求的有效仲裁,提高诊断请求的处理效率,提高故障诊断的效率。
1.一种诊断请求的仲裁方法,其特征在于,所述方法包括:
2.根据权利要求1所述的诊断请求的仲裁方法,其特征在于,当诊断请求数量为1时,所述根据所述源地址类型和目的地址对所述诊断请求进行仲裁,包括:
3.根据权利要求1所述的诊断请求的仲裁方法,其特征在于,当诊断请求数量大于1时,所述根据所述源地址类型和目的地址对所述诊断请求进行仲裁,包括:
4.根据权利要求3所述的诊断请求的仲裁方法,其特征在于,所述根据源地址和预设优先级规则对每个目标仲裁组中的诊断请求进行仲裁,包括:
5.根据权利要求4所述的诊断请求的仲裁方法,其特征在于,当所述目标ecu执行诊断服务,且诊断缓存队列中不存在缓存诊断请求时,将所述目标ecu对应的目标仲裁组中的诊断请求缓存至诊断缓存队列之后,还包括:
6.一种诊断请求的仲裁装置,其特征在于,所述装置包括:
7.根据权利要求6所述的诊断请求的仲裁装置,其特征在于,当诊断请求数量为1时,所述仲裁模块,具体用于:
8.根据权利要求6所述的诊断请求的仲裁装置,其特征在于,当诊断请求数量大于1时,所述仲裁模块,包括:
9.一种计算机设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的诊断请求的仲裁方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-5任一项所述的诊断请求的仲裁方法。