一种多端口车载网关的拥塞感知缓冲调度方法及系统与流程

摘要: 本发明涉及车载网络通信,尤其涉及一种多端口车载网关的拥塞感知缓冲调度方法及系统。背景技术:1、随着智能网联汽车的快速发展,车载电子系统日益复杂,车辆内部部署了大...
一种多端口车载网关的拥塞感知缓冲调度方法及系统与流程

本发明涉及车载网络通信,尤其涉及一种多端口车载网关的拥塞感知缓冲调度方法及系统。

背景技术:

1、随着智能网联汽车的快速发展,车载电子系统日益复杂,车辆内部部署了大量电子控制单元和传感器,形成了以控制器局域网(can)总线为主导的车内骨干网络。同时,随着车载信息娱乐系统、高级驾驶辅助系统和车联网应用的普及,以太网凭借其高带宽优势正逐步进入车载网络架构。由此,集成多路can端口与以太网端口的多端口车载网关,以承担着跨总线报文路由、协议转换和流量汇聚等关键任务。

2、在多端口车载网关的实际运行中,can端口和以太网端口往往需要同时处理来自多个方向的并发流量。由于can总线和以太网在通信速率、帧格式和服务质量要求等方面存在显著差异,车载网关必须在有限的处理能力和存储资源下,完成多端口之间的报文接收、规则过滤、缓存管理和跨端口转发。但是,由于车载网关的微控制器(mcu)资源受限,尤其是随机存取存储器(ram)容量有限,多端口并发流量极易导致接收缓存快速填满。

3、为应对缓存溢出问题,现有技术通常采用两种方式。一种是简单扩大接收缓冲区的深度,以吸收更多突发流量;另一种是当缓冲区超限时执行被动丢包,例如尾部丢弃、头部丢弃或随机早期检测等策略。

4、但是,在多端口can/以太网嵌入式网关实际应用中,由于mcu的ram资源极为有限且通常需要静态分配,简单扩大缓冲会大量消耗ram空间,同时增加报文在缓存中的排队时延。此外,当缓冲区填满后,现有技术往往对所有新到达的报文进行无差别丢弃,已配置路由的关键控制报文可能被丢弃,而无规则匹配的无效报文或非法帧却可能占据缓存空间并占用处理资源,导致系统资源被无效流量消耗。以及,在以太网端口遭受广播风暴或突发用户数据报协议流量攻击时,频繁的接收中断可能使中断服务程序持续占用cpu,导致后台任务无法获得执行机会,进而引发看门狗复位或can端口扫描任务饿死。

技术实现思路

1、(一)要解决的技术问题

2、鉴于现有技术的上述缺点、不足,本发明提供一种多端口车载网关的拥塞感知缓冲调度方法及系统,其解决了在多路can/以太网嵌入式网关中,因ram资源受限无法动态扩展缓冲、缓存满后无差别丢弃关键报文、以太网突发流量导致中断饥饿与cpu过载的技术问题。

3、(二)技术方案

4、为了达到上述目的,本发明采用的主要技术方案包括:

5、第一方面,本发明实施例提供一种多端口车载网关的拥塞感知缓冲调度方法,包括:

6、对车载网关中的can端口与以太网端口均配置为固定长度的接收缓存,并通过接收中断或回调服务程序将接收到的报文写入对应的接收缓存;

7、在主循环过程中,当任一接收缓存的水位超过预设的拥塞阈值时,判定车载网关进入拥塞状态,并将本轮规则过滤的预算从常规值提高至增强值;

8、在拥塞状态下,按照增强值对应的预算数量,从接收缓存中读取待处理帧以执行入口端口规则匹配,并基于匹配结果,选择性地对待处理帧执行拥塞优先丢弃或基于输出端口位图进行发送;

9、在以太网接收中断服务程序中,执行预设预算数量的帧解析操作,若mac层中仍有未处理帧,则设置待处理标志,以提醒主循环在后续轮次中继续按预算处理该待处理标志所对应的积压帧。

10、可选地,对车载网关中的can端口与以太网端口均配置为固定长度的接收缓存,并通过接收中断或回调服务程序将接收到的报文写入对应的接收缓存包括:

11、对车载网关中的can端口与以太网端口均配置为固定长度的接收缓存,每个接收缓存维护头指针、尾指针、当前数量、锁状态、端口输出位图、重发次数以及诊断计数,诊断计数包括端口丢弃计数、高水位标记、拥塞事件计数、拥塞丢弃计数、以太网接收积压计数和发送失败计数;

12、通过接收中断或回调服务程序将接收到的报文写入对应端口的接收缓存;

13、在接收缓存的当前数量达到固定长度时,则丢弃该报文并按来源端口增加接收丢弃计数。

14、可选地,当任一接收缓存的水位超过预设的拥塞阈值时,判定车载网关进入拥塞状态,并将本轮规则过滤的预算从常规值提高至增强值包括:

15、在主循环过程中,获取接收缓存当前水位信息;

16、当任一接收缓存的水位超过预设的拥塞阈值时,判定车载网关进入拥塞状态,并将本轮规则过滤的预算从常规值提高至增强值;

17、当任一接收缓存的水位未超过预设的拥塞阈值时,判定车载网关处于非拥塞状态,并按照常规值所限定的预算数量执行入口端口规则匹配;

18、在非拥塞状态下,若从接收缓存中读取的待处理帧未匹配到任何预配置规则,则释放该帧而不增加拥塞优先丢弃计数。

19、可选地,在拥塞状态下,按照增强值对应的预算数量,从接收缓存中读取待处理帧以执行入口端口规则匹配,并基于匹配结果,选择性地对待处理帧执行拥塞优先丢弃或基于输出端口位图进行发送包括:

20、从接收缓存的头部顺序读取增强值所限定数量的待处理帧;

21、对读取的每一待处理帧执行入口端口规则匹配;

22、若待处理帧未匹配到任何预配置规则,则释放该帧并增加拥塞优先丢弃计数;

23、若待处理帧匹配到预配置规则,则根据匹配结果生成输出端口位图,并将该待处理帧交由发送器进行发送。

24、可选地,入口端口规则匹配包括:

25、获取待处理帧的入口端口标识和帧头特征字段;

26、将入口端口标识和帧头特征字段与预配置规则列表中的各规则逐条进行比对;

27、若所有预配置规则均比对失败,则判定为未匹配;

28、若任一预配置规则比对成功,则判定为匹配,并获取该规则对应的输出端口信息。

29、可选地,在将待处理帧交由发送器进行发送之后,还包括:

30、在发送过程中,若输出端口位图中的部分输出端口发送成功而其余输出端口发送失败,则保留该待处理帧在接收缓存中的对应缓存项,并清除已成功发送的输出端口位,仅保留未成功发送的输出端口位;

31、在设定的限制重试次数内,将缓存项尝试向未成功发送的输出端口进行发送;

32、若重试次数未超过限制重试次数且重试发送成功,则释放缓存项;

33、若重试次数超过限制重试次数,则释放缓存项并增加发送失败计数。

34、可选地,在以太网接收中断服务程序中,执行预设预算数量的帧解析操作,若mac层中仍有未处理帧,则设置待处理标志,以提醒主循环在后续轮次中继续按预算处理该待处理标志所对应的积压帧包括:

35、当以太网接收中断触发时,进入以太网接收中断服务程序;

36、在以太网接收中断服务程序中,以预设预算数量为单次处理上限,从mac层中依次读取未处理帧,并执行帧解析操作;

37、每当成功解析一帧后,递减当前剩余预算,直至解析完成的帧数达到预设预算数量或mac层中无剩余未处理帧为止;

38、若在预设预算数量的帧解析操作完成后,mac层仍有未处理帧,则设置待处理标志,并退出当前中断服务程序;

39、在主循环的后续轮次中,检测到待处理标志被设置时,在非中断上下文中继续按预设预算数量分批处理mac层中的积压帧,直至mac层中的积压帧全部处理完毕,并清除待处理标志。

40、可选地,还包括:

41、在主循环过程中,将预设的多个维护任务按照轮转方式排列,每个维护周期仅执行一个维护任务,维护任务包括模数转换保护任务、物理层链路检测任务、can总线恢复任务和以太网恢复任务;

42、以及,将接收缓存的高水位标记、拥塞事件计数、拥塞优先丢弃计数和端口丢弃计数纳入远程可读诊断信息,以使外部设备通过读取远程可读诊断信息,判断入口端口规则配置的合理性和/或网络流量的异常状态。

43、第二方面,本发明实施例提供一种多端口车载网关的拥塞感知缓冲调度系统,包括:

44、接收缓存配置与报文写入模块,用于对车载网关中的can端口与以太网端口均配置为固定长度的接收缓存,并通过接收中断或回调服务程序将接收到的报文写入对应的接收缓存;

45、拥塞检测与预算调整模块,用于在主循环过程中,当任一接收缓存的水位超过预设的拥塞阈值时,判定车载网关进入拥塞状态,并将本轮规则过滤的预算从常规值提高至增强值;

46、规则匹配与调度处理模块,用于在拥塞状态下,按照增强值对应的预算数量,从接收缓存中读取待处理帧以执行入口端口规则匹配,并基于匹配结果,选择性地对待处理帧执行拥塞优先丢弃或基于输出端口位图进行发送;

47、以太网中断预算处理模块,用于在以太网接收中断服务程序中,执行预设预算数量的帧解析操作,若mac层中仍有未处理帧,则设置待处理标志,以提醒主循环在后续轮次中继续按预算处理该待处理标志所对应的积压帧。

48、第三方面,本发明实施例提供一种多端口车载网关,包括:

49、至少一个处理器;

50、以及与至少一个处理器通信连接的存储器;

51、其中,存储器存储有可被处理器执行的指令,处理器执行指令时实现以上所述的一种多端口车载网关的拥塞感知缓冲调度方法。

52、(三)有益效果

53、本发明的有益效果是:本发明的一种多端口车载网关的拥塞感知缓冲调度方法,由于采用固定长度的接收缓存配置,避免了动态内存分配带来的内存碎片问题和不可控的排队时延增长,使得在ram资源受限的mcu环境下能够稳定运行,保证了报文排队时延的可预测性。

54、同时,本发明还采用主循环主动检查接收缓存水位并在水位超过预设拥塞阈值时将规则过滤预算从常规值动态提高至增强值的机制,在缓存尚未满时主动加快帧处理速度,避免了缓存填满后被动无差别丢弃报文的问题,将拥塞控制前置到预警阶段。

55、还有,本发明还采用在拥塞状态下对未匹配预配置规则的帧执行优先丢弃、而对已匹配规则的帧保留并按输出端口位图正常转发的差异化处理策略,确保在缓存资源紧张时有限的处理能力和存储空间优先服务于已配置路由的关键控制报文,显著提高了关键流量的保留概率和跨端口转发成功率。

56、最后,本发明还采用以太网接收中断服务程序中预设预算数量限定单次帧解析数量、并在mac层仍有积压时仅设置待处理标志后退出中断、由主循环在后续轮次继续处理的抗突发接收机制,有效防止了广播风暴或突发udp流量导致中断服务程序长时间占用cpu而无法返回的问题,避免了因此引发的看门狗复位、can扫描饿死和系统不可恢复等严重故障,同时保证了中断延迟的确定性和系统的实时响应能力。