一种车载智能网关及其轮询调度方法

文档序号:25789767发布日期:2021-07-09 11:18阅读:113来源:国知局
一种车载智能网关及其轮询调度方法

1.本发明涉及智能网关技术领域,特别是涉及一种车载智能网关及其轮询调度方法。


背景技术:

2.随着现代汽车的功能越来越复杂,整车上的电子控制单元(electronic control units,ecus)也随之增多。当前一辆普通汽车的ecu多达七八十个,代码约一亿行,其复杂度极高。在传统的汽车供应链中,不同的ecu来自不同的供应商,有着不同的嵌入式软件和底层代码,这种分布式的架构在整车层面造成了相当大的冗余,传统汽车的软件更新几乎与汽车生命周期同步,极大地影响了用户体验。为加快软件的创新与迭代,从传统的分布式架构,逐渐进化为集中式架构,“域”的概念由此而生。面对“域”的设计,作为信息传输的重要节点,车载智能网关不仅需要满足主干网与底层网络协议的转换,还需要满足消息传输的实时性和公平性,因此车载智能网关及其调度策略是域架构必须攻克的难关。
3.常见输入排队算法有很多种,如并行迭代pim(parallel iterative method)算法、循环匹配调度rrm(round

robin matching)算法以及滑动迭代轮循匹配islip(iterative round

robin matching with slip)算法等。
4.pim算法有以下三个步骤;首先请求阶段由输出端口向输出端口发出请求信号;然后响应阶段中当接收信号的输出端口处于空闲状态的话,就随机选择一个发生请求的输出端口进行转发;最后确认阶段是输入端口接收到响应后予以确认。rrm算法在pim算法的基础上将随机选择调度变为优先级轮询,满足了公平性的要求。islip算法的基本步骤为开始时所有的输入端口与输出端口没有互相匹配,在之后的迭代匹配中,只有在上一次完成迭代但是并未匹配的输入端口与输出端口才能有机会参与下一次迭代匹配,和pim算法一样,islip算法每次迭代也分为请求、许可及接收三个步骤。
5.pim算法虽然可以进行多次迭代,但是由于通过随机方法快速匹配输入端口及输出端口,不支持消息的优先级区分,实现较为复杂;rrm算法通过引入循环调度算法解决了pim算法随机选择过程的复杂性和不公平性的问题,但是没有解决业务优先级区分的问题;islip算法的特性也不适用于车载智能网关的消息调度。


技术实现要素:

6.本发明的目的是提供一种车载智能网关及其轮询调度方法,以提供一种具备实时性及公平性的适用于车载智能网关的调度策略。
7.为实现上述目的,本发明提供了如下方案:
8.本发明提供一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口;
9.所述输入端口模块与所述输入仲裁模块连接,所述输入端口模块用于将原数据包
拆分成包头和数据,对数据进行缓存,并将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块;
10.所述输入仲裁模块与所述交换调度模块连接,所述输入仲裁模块用于将所述新包头加入原数据包的输入端口对应的虚拟优先级子队列;
11.所述交换调度模块与所述输出仲裁模块连接,所述交换调度模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
12.所述输出仲裁模块用于根据所述调度指令更新预测机制,根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块;
13.所述交换调度模块还分别与所述输入端口模块和所述协议转换模块连接,所述交换调度模块还用于从输入端口模块的缓冲区调取所述输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块;
14.所述协议转换模块与所述输出端口模块连接,所述协议转换模块用于将输出端口指令对应的数据解析转换为用于数据输出的输出端口所需协议的数据,获得协议转换后的数据包,并将协议转换后的数据包发送给所述输出端口模块;
15.所述输出端口模块用于输出协议转换后的数据包。
16.可选的,所述输入端口模块还包括:数据包拆分子模块、多个端口缓存区和包头更新子模块;
17.多个所述输入端口分别与所述数据包拆分子模块连接;
18.数据包拆分子模块分别与多个所述端口缓存区连接和所述包头更新子模块连接;
19.所述数据包拆分子模块用于将原数据包拆分成包头和数据,将数据缓存入输入原数据包的输入端口对应的端口缓存区,并生成数据缓存的物理地址,并将包头和数据缓存的物理地址发送给所述包头更新子模块;
20.所述包头更新子模块与所述输入仲裁模块连接,所述包头更新子模块用于将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块。
21.可选的,输入仲裁模块内存储有多个虚拟优先级子队列,所述输入仲裁模块包括输入逻辑子模块;
22.所述输入逻辑子模块用于将所述新包头推进原数据包的输入端口对应的虚拟优先级子队列。
23.可选的,所述交换调度模块包括:交换器和调度子模块;
24.所述交换器的输入端与所述输入端口模块连接,所述交换器的输出端与所述协议转换模块连接;所述交换器的控制端与所述输出仲裁模块连接;
25.所述调度子模块分别与所述输入仲裁模块和所述输出仲裁模块连接;
26.所述调度子模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
27.所述交换器用于从输入端口模块的缓冲区调取输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块。
28.可选的,所述输出仲裁模块内存储有预测机制,所述输出仲裁模块包括输出逻辑子模块,所述输出逻辑子模块用于根据调度指令更新预测机制,并根据更新后的预测机制
产生输出端口指令,并将所述输出端口指令发送给交换调度模块。
29.一种车载智能网关的轮询调度方法,所述轮询调度方法为包含预测机制的轮询调度方法,所述轮询调度方法包括如下步骤:
30.获取i个输入端口同时向第j个输出端口提出的发送请求;
31.通过输入仲裁模块确定每个输入端口相对于第j个所述输出端口的优先级,和每个输入端口发送的发送请求的优先级,并根据每个输入端口发送的发送请求的优先级,分别将每个输入端口输入的存储有数据缓存的物理地址的新包头加入至每个输入端口对应的虚拟优先级子队列;
32.通过交换调度模块确定相对于第j个所述输出端口的优先级最高的输入端口i
m
,并对输入端口i
m
对应的虚拟优先级子队列进行轮询调度,生成包括确定输入端口i
m
和输入端口i
m
对应的虚拟优先级子队列的最高消息等级的调度指令;
33.通过输出仲裁模块根据调度指令更新第j个输出端口对应的预测机制,并根据更新后的预测机制产生第j个输出端口的输出端口指令;
34.根据第j个输出端口的输出端口指令,控制交换调度模块从输入端口i
m
调入数据包至第j个输出端口。
35.可选的,所述预测机制为:
36.当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;
37.当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;
38.选择α(j)队列的列首作为输出端口指令进行发送。
39.可选的,轮询调度方法的消息的往返时延为:
40.rtt=t
发送
+t
排队
+2t
传播
+t
处理
41.其中,rtt为轮询调度方法的消息的往返时延,t
发送
为发送时延,t
发送
=l/b,l为数据帧长度,b为信道带宽,t
排队
为排队时延,p为数据包平均大小,a为数据包到达速度,即每秒到达交换调度模块的数据包的数量;t为网关的传输速率,t
传播
为传播时延,t
处理
为数据包解析过程及转换过程所需时间。
42.根据本发明提供的具体实施例,本发明公开了以下技术效果:
43.本发明公开了一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口,在交换调度模块进行轮询调度,确保数据传输的公平性,在输出仲裁模块设置有预测机制,以避免反复进行轮询调度产生的时延,提高输出传输的实时性,本发明提供了一种具备实时性及公平性的适用于车载智能网关的调度策略。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
45.图1为本发明提供的车载智能网关的结构组成示意图;
46.图2为本发明提供的车载智能网关的原理示意图;
47.图3为本发明提供的输入端口的原理示意图;
48.图4为本发明提供的车载智能网关消息调度示意图;
49.图5为本发明提供的轮询调度方法的原理图;
50.图6为本发明提供的优先级轮询过程的流程图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.本发明的目的是提供一种车载智能网关及其轮询调度方法,以提供一种具备实时性及公平性的适用于车载智能网关的调度策略。
53.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
54.如图1和2所示,本发明提供一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口;所述输入端口模块与所述输入仲裁模块连接,所述输入端口模块用于将原数据包拆分成包头和数据,对数据进行缓存,并将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块;所述输入仲裁模块与所述交换调度模块连接,所述输入仲裁模块用于将所述新包头加入原数据包的输入端口对应的虚拟优先级子队列;所述交换调度模块与所述输出仲裁模块连接,所述交换调度模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;所述输出仲裁模块用于根据所述调度指令更新预测机制,根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块;所述交换调度模块还分别与所述输入端口模块和所述协议转换模块连接,所述交换调度模块还用于从输入端口模块的缓冲区调取所述输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块;所述协议转换模块与所述输出端口模块连接,所述协议转换模块用于将输出端口指令对应的数据解析转换为用于数据输出的输出端口所需协议的数据,获得协议转换后的数据包,并将协议转换后的数据包发送给所述输出端口模块;所述输出端口模块用于输出协议转换后的数据包。
55.输入端口实现数据包的缓存及将数据包头部信息复制及传递至输入仲裁模块;输
入仲裁模块实现数据包头部信息的接收并将其推进相应的虚拟优先级子队列排队以按照输出端口指令发送数据包;交换调度模块采用调度策略实现数据包调度;协议转换模块将输入端口连接的车载协议数据包转换为输出端口所需协议数据包;输出仲裁模块根据调度策略向交换调度模块发送指令以请求虚拟优先级子队列数据包;输出端口实现输出数据包的传输,输出端口可以有n个,其与一个输入端口中的虚拟优先级子队列个数对应。协议转换模块将输入的数据包解析转换为输出端口所需协议的数据包,实现两种协议数据帧之间的转换。
56.所述的输入端口模块实现了消息的输入和数据包缓存,如图3所示,所述输入端口模块还包括:数据包拆分子模块、多个端口缓存区和包头更新子模块;多个所述输入端口分别与所述数据包拆分子模块连接;数据包拆分子模块分别与多个所述端口缓存区连接和所述包头更新子模块连接;所述数据包拆分子模块用于将原数据包拆分成包头和数据,将数据缓存入输入原数据包的输入端口对应的端口缓存区,并生成数据缓存的物理地址,并将包头和数据缓存的物理地址发送给所述包头更新子模块;所述包头更新子模块与所述输入仲裁模块连接,所述包头更新子模块用于将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块。
57.车载智能网关的每一输入端口包含了一个端口缓存区,数据包进入输入端口被拆解成数据包头和数据部分,数据部分存储在端口缓存区中,产生数据包存储的物理地址。将其物理地址、优先级、源地址、目的地址以及头部的其他字段构建成新的数据包头,为输入逻辑模块将新产生的数据包头推进虚拟优先级子队列中排队奠定了基础,有效地解决了网关缓存不足的问题。
58.输入仲裁模块内存储有多个虚拟优先级子队列,所述输入仲裁模块包括输入逻辑子模块;所述输入逻辑子模块用于将所述新包头推进原数据包的输入端口对应的虚拟优先级子队列。本发明的输入仲裁模块包含虚拟优先级子队列,虚拟优先级子队列可以区分不同优先级消息队列,便于调度策略的实施。
59.所述的输入仲裁模块实现虚拟优先级子队列排队,并按照输出端口指令发送数据包。输入仲裁模块可以实现数据包头部信息的接收并将其推进相应的虚拟优先级子队列排队以按照输出端口指令发送数据包,输入逻辑子模块可以将输入端口产生的新的数据包头推入虚拟优先级子队列中进行排队,虚拟优先级子队列的个数同输出端口保持一致,本发明假设有n个输入端口,其n个虚拟优先级子队列按优先级排布,从实时消息队列到高优先级消息队列,依次降低优先级,至最低优先级消息队列。
60.所述交换调度模块包括:交换器和调度子模块;所述交换器的输入端与所述输入端口模块连接,所述交换器的输出端与所述协议转换模块连接;所述交换器的控制端与所述输出仲裁模块连接;所述调度子模块分别与所述输入仲裁模块和所述输出仲裁模块连接;所述调度子模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;所述交换器用于从输入端口模块的缓冲区调取输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块。即,交换调度模块包括交换器和调度子模块,调度子模块内设置有调度策略,根据调度策略控制交换器的开关进行数据调度,调度策略使网关内消息传输满足网关内消息传输要求。
61.所述的交换调度模块中的调度策略有预测机制,在最高优先级消息传输完成之后,可以预先对于下一个发送的数据包发起请求,并采用优先级轮询的调度方法,调度首先从消息队列中优先级最高的实时消息队列进行轮询,然后根据优先级次序的递减依次轮询剩余的虚拟消息,满足了消息传输的实时性要求。对于不同端口的同等优先级的虚拟队列采取公平轮询的方式进行调度,保证了相同优先级别队列的虚拟输出子队列的公平性。
62.所述输出仲裁模块内存储有预测机制,所述输出仲裁模块包括输出逻辑子模块,所述输出逻辑子模块用于根据调度指令更新预测机制,并根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块。输出仲裁模块包含预测机制,预测机制用于对输入端口进行预测授权,减少网关消息传输的往返时延。
63.本发明的车载智能网关通过一定的区分业务优先级的调度算法来实现消息传输的实时性和公平性。
64.如图4

6所示,本发明还提供一种车载智能网关的轮询调度方法,所述轮询调度方法为包含预测机制的轮询调度方法,所述轮询调度方法包括如下步骤:
65.获取i个输入端口同时向第j个输出端口提出的发送请求;
66.通过输入仲裁模块确定每个输入端口相对于第j个所述输出端口的优先级,和每个输入端口发送的发送请求的优先级,并根据每个输入端口发送的发送请求的优先级,分别将每个输入端口输入的存储有数据缓存的物理地址的新包头加入至每个输入端口对应的虚拟优先级子队列;
67.通过交换调度模块确定相对于第j个所述输出端口的优先级最高的输入端口i
m
,并对输入端口i
m
对应的虚拟优先级子队列进行轮询调度,生成包括确定输入端口i
m
和输入端口i
m
对应的虚拟优先级子队列的最高消息等级的调度指令;
68.通过输出仲裁模块根据调度指令更新第j个输出端口对应的预测机制,并根据更新后的预测机制产生第j个输出端口的输出端口指令;
69.根据第j个输出端口的输出端口指令,控制交换调度模块从输入端口i
m
调入数据包至第j个输出端口。
70.如图5所示,本发明的轮询调度方法的输入端口的轮询过程可以实现消息传输的实时性和公平性;输出端口的预测授权可以减少往返时延,其中时延的计算方法为:rtt=t
发送
+t
排队
+2t
传播
+t
处理

71.其中,rtt为轮询调度方法的消息的往返时延,t
发送
为发送时延,t
发送
=l/b,l为数据帧长度,b为信道带宽,t
排队
为排队时延,p为数据包平均大小,a为数据包到达速度,即每秒到达交换调度模块的数据包的数量;t为网关的传输速率,t
传播
为传播时延,在局域网中可忽略不计;t
处理
为数据包解析过程及转换过程所需时间,可忽略不计。
72.往返时延影响着车载智能网关消息传输的实时性,采用预测机制可以减少往返时延,满足车载智能网关实时性的要求。
73.如图6所示,为优先级轮询过程流程图,含预测机制的优先级轮询调度算法的轮询过程可以分三个阶段:
74.(1)请求:输入端口可以同时向所有可能的输出端口提出发送请求。
75.(2)授权:输入端口有两个按照编码的指针m和n,当前输出端口可以接受的最高输
入端口编码值即下一个要轮询的输入端口号赋给m,n代表虚拟优先级队列的最高优先级编码值。当一个输出端口接受多个输入端口的发送请求时,根据m的值每次授权最高优先级的输入端口,当一个输入端口接收到授权信号时,指针m会在此基础上执行加一操作;根据n每次轮询其最大值对应的虚拟优先级子队列。
76.(3)转发:交换调度模块根据第2步的仲裁结果来转发数据包,输入端口根据其对应的虚拟优先级子队列更新n的值。
77.所述预测机制为:当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;选择α(j)队列的列首作为输出端口指令进行发送。
78.含预测机制的优先级轮询调度算法的预测机制是当输出端口p接收到来自输入端口m发送数据包的请求,输出端口p将输入端口的标号m防止在α(p)队列首。如果有多个发送数据包的请求,则依次将输入端口号按序放置在α(p)队列;在授权阶段,如果输出端口p当前没有收到发送数据包请求,则输出端选择α(p)队列首发送预测授权。往返时延影响着车载智能网关消息传输的实时性,采用预测机制可以减少往返时延,满足车载智能网关实时性的要求。
79.根据本发明提供的具体实施例,本发明公开了以下技术效果:
80.本发明的车载智能网关采用模块化的设计,结合一定的区分业务优先级的算法,具有实时性和公平性的特点。本发明提出的含预测机制的优先级轮询调度算法的预测机制可以减少往返时延;优先级轮询过程具有实时性和公平性特点,实时性体现在一个高优先级的数据包进入车载网关等待调度时,如果输出端口有较低优先级的数据包正在进行传输,在这个低优先级的数据包传输之后即可优先进行高优先级的数据包转发,同时该调度策略接收到多个相同优先级的输入端口的请求时,采用对输入端口优先级编码的轮询方式,满足了同一优先级队列轮询的公平性。本发明的含预测机制的优先级轮询调度算法的预测机制可以减少往返时延,优先级轮询过程满足了消息传输的实时性和公平性。
81.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
82.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1