一种总线死锁恢复方法、装置、设备及存储介质与流程
未命名
08-26
阅读:86
评论:0

1.本发明涉及通信恢复技术领域,尤其涉及一种总线死锁恢复方法、装置、设备及存储介质。
背景技术:
2.数据总线是应用系统集成的重要理论基础。数据总线是双向三态形式的总线,即它既可以把主机的数据传送到存储器或输入输出接口等其它部件或从机,也可以将其它部件或从机的数据传送到主机,大大降低了开发时间。
3.数据总线常由串行数据线sda及串行时间线scl组成。在实际使用过程中,数据总线较容易出现死锁故障。在汽车电控系统中,数据总线死锁的出现通常是因为主机的异常复位。主机异常复位导致的数据总线死锁无法从根源上避免,只能通过硬件或软件上,增加数据总线死锁恢复的装置或方法,来及时补救。
4.现有的解决数据总线死锁的方式为,在总线上主机从机之间串联一个总线缓冲器,该缓冲器检测到发生死锁现象时,会自动断开与主机的连接,通过在从机侧产生时钟信号来恢复总线。然而,这种方式需要增加额外的硬件成本,不符合实际生产需求。
技术实现要素:
5.本发明提供了一种总线死锁恢复方法、装置、设备及存储介质,无需额外增加硬件成本,同时可以提高总线死锁恢复的效率和准确性。
6.根据本发明的一方面,提供了一种总线死锁恢复方法。该方法包括:检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。
7.根据本发明的另一方面,提供了一种总线死锁恢复装置。该装置包括:
8.异常复位检测模块,用于检测与目标总线连接的目标主机的异常复位事件;
9.总线死锁确定模块,用于在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;
10.从机重启执行模块,用于在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。
11.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
12.至少一个处理器;以及
13.与所述至少一个处理器通信连接的存储器;其中,
14.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的总线死锁恢复方法。
15.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的总线死锁恢复方法。
16.本发明实施例的技术方案,通过检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复,无需额外增加硬件成本,从而降低硬件开发成本,同时可以提高总线死锁恢复的准确性。
17.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是根据本发明实施例一提供的一种总线死锁恢复方法的流程图;
20.图2是根据本发明实施例二提供的一种总线死锁恢复方法的流程图;
21.图3是根据本发明实施例三提供的一种总线死锁恢复装置的结构图;
22.图4是是实现本发明实施例的总线死锁恢复方法的电子设备的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.实施例一
26.图1为本发明实施例一提供了一种总线死锁恢复方法的流程图,本实施例可适用于对数据总线死锁现象进行恢复的情况,尤其适用于对i2c总线死锁现象进行恢复的情况。该方法可以由总线死锁恢复装置来执行,该总线死锁恢复装置可以采用硬件和/或软件的形式实现,该总线死锁恢复装置可配置于电子设备中。如图1所示,该方法包括:
27.s101、检测与目标总线连接的目标主机的异常复位事件。
28.在本发明技术方案中,目标总线可以是指i2c总线。目标主机可以是指与目标总线连接的主机。示例性地,某一时刻,目标主机的某个任务运行异常,发生了超时错误,即没有正确喂狗,此时看门狗失去了喂狗信号,则向目标主机的复位引脚发送了复位信号,此时可以通过故障检测单元检测目标主机发生异常复位事件。
29.s102、在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件。
30.具体地,在确定目标主机发生异常复位事件的情况下,需要进一步检测目标总线是否发生死锁事件。当目标总线发生死锁事件时,目标主机与所有外接设备均无法正常通信。
31.示例性地,所述确定所述目标总线是否发生总线死锁事件,包括:分别检测所述串行数据线和所述串行时间线对应的电平信息;根据所述串行数据线对应的电平信息,以及所述串行时间线对应的电平信息,确定所述目标总线是否发生总线死锁事件。
32.具体地,确定目标总线是否发生总线死锁事件,可以通过根据目标总线中的各个串行线对应的电平信息进行确定。
33.需要说明的是,目标总线包括串行数据线sda和串行时间线scl。其中,串行数据线sda与串行时间线scl在空闲状态时电平信号均为高电平。串行时间线scl可以由目标主机控制,发送时间脉冲。串行数据线sda可由目标主机或与目标主机对应的目标从机控制,进行数据传输。当串行时间线scl为高电平,串行数据线sda从高电平向低电平切换时,表示起始信号。当串行时间线scl为高电平,串行数据线sda从低电平向高电平切换时,表示停止信号。在这两个信号之间为有效的传输过程,串行时间线scl为周期性的时间脉冲,而串行数据线sda通过高低电平表示实际传输的数据,只有串行时间线scl为低电平时,串行数据线sda可以进行高低电平切换,即进行有效的数据传输。
34.示例性地,所述根据所述串行数据线对应的电平信息,以及所述串行时间线对应的电平信息,确定所述目标总线是否发生总线死锁事件,包括:在所述串行数据线持续低电平且所述串行时间线持续高电平的情况下,确定所述目标总线是否发生总线死锁事件。
35.需要说明的是,总线死锁事件的表现为串行时间线scl始终为高,串行数据线sda始终为低。死锁故障的出现是因为从机设备的数据传输没有结束时,目标主机的时钟信号消失,这时从机会设备保持串行数据线sda的拉低状态,来等待目标主机的时钟周期,才能完成发送应答信号,而目标主机之前的时钟信号消失,串行时间线scl被释放为高电平,此时目标主机检测到串行数据线sda为低电平,认为目标总线被占用,会等待从机设备发送停止信号,从而进入了目标主机等待从机释放串行数据线sda,而从机设备等待目标主机拉低串行时间线scl的死锁状态。
36.s103、在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。
37.其中,目标从机可以是指与目标主机连接通信的的外接设备,比如外部eeprom、显示驱动芯片和传感器等。从机重启操作可以是指将目标从机进行重新启动。
38.具体地,当确定目标总线发生总线死锁事件的情况下,针对每一个目标从机执行从机重新操作,以使目标总线死锁现象达到恢复。
39.示例性地,在所述对每个与所述目标总线连接的目标从机执行从机重启操作之
前,还包括:将所述目标总线中的死锁标志信息修改为死锁发生标识信息;基于所述死锁发生标识信息,停止所述目标主机与所述目标从机之间的通信。
40.其中,死锁标志信息用于表示目标总线是否发生死锁事件。基于死锁标识信息可以控制目标主机与目标从机之间的通信状态。示例性地,死锁标识信息可以包括死锁发生标识信息和死锁消除标识信息。
41.具体地,在确定目标总线发生死锁事件之后,或者在对目标从机执行从机重启操作之前,可以将死锁标志信息修改为死锁发生标识信息,并基于死锁发生标识信息,停止目标主机与目标从机之间的任何通信。
42.需要说明的是,在本发明技术方案中,目标主机必须内置目标总线模块,比如i2c模块,通过串行数据线sda与串行时间线scl,与目标从机直连,没有其他能占用或复位总线的模块或单元;
43.在目标主机发生异常复位前,目标总线通信状态正常,与目标主机通信的目标从机没有损坏。当目标主机异常复位后,且目标总线发生死锁后,无法通过复位主机的方式来解锁,且目标主机与目标从机均无法通信;
44.目标从机的rst引脚或供电引脚,直接或间接与目标主机的io接口相连。目标主机可通过该接口的高低电平转换,来控制某个目标从机,进行硬复位或断电重启,从而将目标从机恢复到初始状态,从而解除串行数据线sda的持续拉低状态;
45.目标主机软件中设立了总线故障检测单元,用于在目标主机异常复位后检测目标总线状态,并给系统上报故障。目标故障恢复单元,用于对目标总线进行解锁,并通知系统故障解除;
46.目标主机系统有该标志位的读取权限,而故障检测及故障恢复单元,有该标志位的读写权限。系统可读取该标志位,根据是否发生故障,来控制系统通信的通断,同时可记录该标志位信息,用于上报整车诊断信息。故障检测及恢复单元,可根据故障的检测或恢复,来修改该标志位,表明当前时刻的死锁故障状态。
47.本发明实施例的技术方案,通过检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复,无需额外增加硬件成本,从而降低硬件开发成本,同时可以提高总线死锁恢复的准确性。
48.实施例二
49.图2为本发明实施例二提供的一种总线死锁恢复方法的流程图,本实施例在上述实施例的基础上进一步将对每个与所述目标总线连接的目标从机执行从机重启操作进行细化。如图2所示,该方法包括:
50.s201、检测与目标总线连接的目标主机的异常复位事件。
51.s202、在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件。
52.s203、在所述目标总线发生总线死锁事件的情况下,确定所有所述目标从机的从机优先级。
53.其中,所述从机优先级基于所述目标从机与所述目标主机之间的通信频率确定。
54.需要说明的是,目标主机内存储有目标从机的通信频率。
55.由于故障的发生来源于主机异常复位,无法保存复位前的通信情况,且目标从机没有损坏,因此无法确认出串行数据线sda总线是被哪个目标从机挂低的。通信频率较高的目标从机,其占用串行数据线sda的时间更长,则主机异常复位的时刻更容易发生在与该外设通信期间。在目标总线发生总线死锁事件的情况下,根据目标从机的通信频率确定所有目标从机的从机优先级,频率越高,优先级越高。示例性地,目标总线上挂载三个目标从机,分别是用于检测加速度和角速度的imu传感器,用于监测温度的温度传感器,以及用于数据存储的eeprom。目标主机的porst复位引脚与某一目标从机看门狗的复位信号引脚连接。系统正常运行状态下,目标主机的目标总线模块与imu传感器、温度传感器和eeprom的通信周期分别为1ms,5ms,1s,则从机优先级为imu传感器、温度传感器和eeprom。
56.s204、基于从机优先级,将所有所述目标从机以由高到低的规则进行排序,获得从机优先级序列。
57.具体地,根据目标从机对应的从机优先级,将所有目标从机以由高到低的优先级规则进行排序,获得从机优先级序列。
58.s205、基于所述机优先级序列依次获取所述目标从机,并对获取到的所述目标从机执行从机重启操作,以使所述目标总线死锁恢复。
59.具体地,从机优先级序列依次获取所述目标从机,并将目标从机执行从机重启操作,在所有目标从机执行从机重启操作之后,可以使得目标总线死锁恢复。
60.示例性地,确定所述目标总线是否恢复正常通信;在所述目标总线恢复正常通信的情况下,将所述目标总线中的死锁标志信息修改为死锁消除标识信息;基于所述死锁消除标识信息,允许所述目标主机与所述目标从机之间的通信。
61.需要说明的是,本发明技术方案还可以在每个目标从机执行从机重启操作之后,进行对目标总线进行通信检测,在确定目标总线正常通信后,无需对其余的目标从机执行从机重启操作,以提升总线死锁恢复效率。目标主机中的故障恢复单元可对单个目标从机进行通信测试。当死锁故障存在时,目标总线被锁死,任何目标从机都无法与目标主机通信。
62.在确定目标总线恢复正常通信的情况下,将所述目标总线中的死锁标志信息修改为死锁消除标识信息,并根据死锁消除标识信息,允许目标主机与所述目标从机之间进行正常通信。
63.示例性地,所述确定所述目标总线是否恢复正常通信,包括:分别检测所述串行数据线和所述串行时间线对应的电平信息;在所述串行数据线和所述串行时间线均持续高电平的情况下,确定所述目标总线恢复正常通信。
64.具体地,测试方式为通过总线帧,读取相应目标从机的状态寄存器。根据单个目标从机与目标主机之间的通信测试结果,来判断死锁故障是否消失。当目标总线恢复了串行时间线scl与串行数据线sda均为高电平的空闲状态,表示目标总线死锁恢复,此时任何外设都可与主机通信。
65.例如,根据从机优先级序列,确定其优先级顺序为,imu传感器最高,温度传感器次之,eeprom最低。该从机优先级序列被存放在一个列表中。故障恢复单元从优先级最高的imu传感器开始,通过引脚给其复位引脚输出一个复位信号,imu传感器会进行硬复位。在该
imu传感器完成复位后,故障恢复单元对其进行单件通信测试,尝试读取其状态寄存器的内容,发现仍然无法读取,总线仍处于死锁状态,证明串行数据线sda不是被imu传感器拉低的。按照从机优先级序列,故障恢复单元控制温度传感器的供电引脚,完成一次断电重启。在该温度传感器重启完成后,对其进行通信测试,读取状态寄存器内容,发现与温度传感器能正常通信,帧数据符合传感器定义,则证明串行数据线sda是被温度传感器拉低,通过断电重启,串行数据线sda被释放为高电平,总线的死锁状态已经解除。
66.本发明实施例技术方案,通过确定所有所述目标从机的从机优先级,其中,所述从机优先级基于所述目标从机与所述目标主机之间的通信频率确定。基于从机优先级,将所有所述目标从机以由高到低的规则进行排序,获得从机优先级序列。基于所述机优先级序列依次获取所述目标从机,并对获取到的所述目标从机执行从机重启操作,按照从机优先级对目标从机执行从机重启操作,可提高死锁故障恢复效率。
67.实施例三
68.图3为本发明实施例三提供的一种总线死锁恢复装置的结构示意图。
69.如图3所示,该装置包括:
70.异常复位检测模块301,用于检测与目标总线连接的目标主机的异常复位事件;
71.总线死锁确定模块302,用于在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;
72.从机重启执行模块303,用于在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。
73.本发明实施例的技术方案,通过检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复,无需额外增加硬件成本,从而降低硬件开发成本,同时可以提高总线死锁恢复的准确性。
74.可选地,所述目标总线包括串行数据线和串行时间线;所述总线死锁确定模块302,包括:
75.电平信息确定单元,用于分别检测所述串行数据线和所述串行时间线对应的电平信息;
76.总线死锁确定单元,用于根据所述串行数据线对应的电平信息,以及所述串行时间线对应的电平信息,确定所述目标总线是否发生总线死锁事件。
77.可选地,总线死锁确定单元,具体用于:
78.在所述串行数据线持续低电平且所述串行时间线持续高电平的情况下,确定所述目标总线是否发生总线死锁事件。
79.可选地,所述装置还包括:
80.标志信息修改模块,用于在所述对每个与所述目标总线连接的目标从机执行从机重启操作之前,将所述目标总线中的死锁标志信息修改为死锁发生标识信息;基于所述死锁发生标识信息,停止所述目标主机与所述目标从机之间的通信。
81.可选地,从机重启执行模块303,包括:
82.从机优先级确定单元,用于确定所有所述目标从机的从机优先级,其中,所述从机
优先级基于所述目标从机与所述目标主机之间的通信频率确定;
83.从机优先级排序单元,用于基于从机优先级,将所有所述目标从机以由高到低的规则进行排序,获得从机优先级序列;
84.从机重启执行单元,用于基于所述机优先级序列依次获取所述目标从机,并对获取到的所述目标从机执行从机重启操作。
85.可选地,所述标志信息修改模块,还可以用于:
86.在所述对每个与所述目标总线连接的目标从机执行从机重启操作之后,确定所述目标总线是否恢复正常通信;
87.在所述目标总线恢复正常通信的情况下,将所述目标总线中的死锁标志信息修改为死锁消除标识信息;
88.基于所述死锁消除标识信息,允许所述目标主机与所述目标从机之间的通信。
89.可选地,所述标志信息修改模块,还可以具体用于:
90.分别检测所述串行数据线和所述串行时间线对应的电平信息;
91.在所述串行数据线和所述串行时间线均持续高电平的情况下,确定所述目标总线恢复正常通信。
92.本发明实施例所提供的总线死锁恢复装置可执行本发明任意实施例所提供的总线死锁恢复方法,具备执行方法相应的功能模块和有益效果。
93.实施例四
94.图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
95.如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
96.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
97.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如方法总线死锁恢复。
98.在一些实施例中,方法总线死锁恢复可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram13并由处理器11执行时,可以执行上文描述的方法总线死锁恢复的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法总线死锁恢复。
99.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
100.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
101.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
102.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
103.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(lan)、广域网(wan)、区块链网络和互联网。
104.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
105.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
106.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种总线死锁恢复方法,其特征在于,包括:检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。2.根据权利要求1所述的方法,其特征在于,所述目标总线包括串行数据线和串行时间线;所述确定所述目标总线是否发生总线死锁事件,包括:分别检测所述串行数据线和所述串行时间线对应的电平信息;根据所述串行数据线对应的电平信息,以及所述串行时间线对应的电平信息,确定所述目标总线是否发生总线死锁事件。3.根据权利要求2所述的方法,其特征在于,所述根据所述串行数据线对应的电平信息,以及所述串行时间线对应的电平信息,确定所述目标总线是否发生总线死锁事件,包括:在所述串行数据线持续低电平且所述串行时间线持续高电平的情况下,确定所述目标总线是否发生总线死锁事件。4.根据权利要求1所述的方法,其特征在于,在所述对每个与所述目标总线连接的目标从机执行从机重启操作之前,还包括:将所述目标总线中的死锁标志信息修改为死锁发生标识信息;基于所述死锁发生标识信息,停止所述目标主机与所述目标从机之间的通信。5.根据权利要求1所述的方法,其特征在于,所述对每个与所述目标总线连接的目标从机执行从机重启操作,包括:确定所有所述目标从机的从机优先级,其中,所述从机优先级基于所述目标从机与所述目标主机之间的通信频率确定;基于从机优先级,将所有所述目标从机以由高到低的规则进行排序,获得从机优先级序列;基于所述机优先级序列依次获取所述目标从机,并对获取到的所述目标从机执行从机重启操作。6.根据权利要求1所述的方法,其特征在于,在所述对每个与所述目标总线连接的目标从机执行从机重启操作之后,还包括:确定所述目标总线是否恢复正常通信;在所述目标总线恢复正常通信的情况下,将所述目标总线中的死锁标志信息修改为死锁消除标识信息;基于所述死锁消除标识信息,允许所述目标主机与所述目标从机之间的通信。7.根据权利要求6所述的方法,其特征在于,所述确定所述目标总线是否恢复正常通信,包括:分别检测所述串行数据线和所述串行时间线对应的电平信息;在所述串行数据线和所述串行时间线均持续高电平的情况下,确定所述目标总线恢复正常通信。
8.一种总线死锁恢复装置,其特征在于,包括:异常复位检测模块,用于检测与目标总线连接的目标主机的异常复位事件;总线死锁确定模块,用于在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;从机重启执行模块,用于在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的总线死锁恢复方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的总线死锁恢复方法。
技术总结
本发明公开了本发明提供了一种总线死锁恢复方法、装置、设备及存储介质。该方法包括:检测与目标总线连接的目标主机的异常复位事件;在所述目标主机发生异常复位事件的情况下,确定所述目标总线是否发生总线死锁事件;在所述目标总线发生总线死锁事件的情况下,对每个与所述目标总线连接的目标从机执行从机重启操作,以使所述目标总线死锁恢复,从而达到无需额外增加硬件成本,同时可以提高总线死锁恢复的效率和准确性。锁恢复的效率和准确性。锁恢复的效率和准确性。
技术研发人员:程竹晴 张晓谦 孙忠刚 于鑫
受保护的技术使用者:中国第一汽车股份有限公司
技术研发日:2023.05.29
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/