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

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

Info

Publication number
CN113098765B
CN113098765B CN202110360239.XA CN202110360239A CN113098765B CN 113098765 B CN113098765 B CN 113098765B CN 202110360239 A CN202110360239 A CN 202110360239A CN 113098765 B CN113098765 B CN 113098765B
Authority
CN
China
Prior art keywords
module
scheduling
input
output port
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110360239.XA
Other languages
English (en)
Other versions
CN113098765A (zh
Inventor
王文伟
俞诗瑶
曹万科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110360239.XA priority Critical patent/CN113098765B/zh
Publication of CN113098765A publication Critical patent/CN113098765A/zh
Application granted granted Critical
Publication of CN113098765B publication Critical patent/CN113098765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种车载智能网关及其轮询调度方法,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口,在交换调度模块进行轮询调度,确保数据传输的公平性,在输出仲裁模块设置有预测机制,以避免反复进行轮询调度产生的时延,提高输出传输的实时性,本发明提供了一种具备实时性及公平性的适用于车载智能网关的调度策略。

Description

一种车载智能网关及其轮询调度方法
技术领域
本发明涉及智能网关技术领域,特别是涉及一种车载智能网关及其轮询调度方法。
背景技术
随着现代汽车的功能越来越复杂,整车上的电子控制单元(Electronic ControlUnits,ECUs)也随之增多。当前一辆普通汽车的ECU多达七八十个,代码约一亿行,其复杂度极高。在传统的汽车供应链中,不同的ECU来自不同的供应商,有着不同的嵌入式软件和底层代码,这种分布式的架构在整车层面造成了相当大的冗余,传统汽车的软件更新几乎与汽车生命周期同步,极大地影响了用户体验。为加快软件的创新与迭代,从传统的分布式架构,逐渐进化为集中式架构,“域”的概念由此而生。面对“域”的设计,作为信息传输的重要节点,车载智能网关不仅需要满足主干网与底层网络协议的转换,还需要满足消息传输的实时性和公平性,因此车载智能网关及其调度策略是域架构必须攻克的难关。
常见输入排队算法有很多种,如并行迭代PIM(Parallel Iterative Method)算法、循环匹配调度RRM(Round-Robin Matching)算法以及滑动迭代轮循匹配iSLIP(iterative round-robin matching with slip)算法等。
PIM算法有以下三个步骤;首先请求阶段由输出端口向输出端口发出请求信号;然后响应阶段中当接收信号的输出端口处于空闲状态的话,就随机选择一个发生请求的输出端口进行转发;最后确认阶段是输入端口接收到响应后予以确认。RRM算法在PIM算法的基础上将随机选择调度变为优先级轮询,满足了公平性的要求。iSLIP算法的基本步骤为开始时所有的输入端口与输出端口没有互相匹配,在之后的迭代匹配中,只有在上一次完成迭代但是并未匹配的输入端口与输出端口才能有机会参与下一次迭代匹配,和PIM算法一样,iSLIP算法每次迭代也分为请求、许可及接收三个步骤。
PIM算法虽然可以进行多次迭代,但是由于通过随机方法快速匹配输入端口及输出端口,不支持消息的优先级区分,实现较为复杂;RRM算法通过引入循环调度算法解决了PIM算法随机选择过程的复杂性和不公平性的问题,但是没有解决业务优先级区分的问题;iSLIP算法的特性也不适用于车载智能网关的消息调度。
发明内容
本发明的目的是提供一种车载智能网关及其轮询调度方法,以提供一种具备实时性及公平性的适用于车载智能网关的调度策略。
为实现上述目的,本发明提供了如下方案:
本发明提供一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口;
所述输入端口模块与所述输入仲裁模块连接,所述输入端口模块用于将原数据包拆分成包头和数据,对数据进行缓存,并将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块;
所述输入仲裁模块与所述交换调度模块连接,所述输入仲裁模块用于将所述新包头加入原数据包的输入端口对应的虚拟优先级子队列;
所述交换调度模块与所述输出仲裁模块连接,所述交换调度模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
所述输出仲裁模块用于根据所述调度指令更新预测机制,根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块;
所述交换调度模块还分别与所述输入端口模块和所述协议转换模块连接,所述交换调度模块还用于从输入端口模块的缓冲区调取所述输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块;
所述协议转换模块与所述输出端口模块连接,所述协议转换模块用于将输出端口指令对应的数据解析转换为用于数据输出的输出端口所需协议的数据,获得协议转换后的数据包,并将协议转换后的数据包发送给所述输出端口模块;
所述输出端口模块用于输出协议转换后的数据包。
可选的,所述输入端口模块还包括:数据包拆分子模块、多个端口缓存区和包头更新子模块;
多个所述输入端口分别与所述数据包拆分子模块连接;
数据包拆分子模块分别与多个所述端口缓存区连接和所述包头更新子模块连接;
所述数据包拆分子模块用于将原数据包拆分成包头和数据,将数据缓存入输入原数据包的输入端口对应的端口缓存区,并生成数据缓存的物理地址,并将包头和数据缓存的物理地址发送给所述包头更新子模块;
所述包头更新子模块与所述输入仲裁模块连接,所述包头更新子模块用于将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块。
可选的,输入仲裁模块内存储有多个虚拟优先级子队列,所述输入仲裁模块包括输入逻辑子模块;
所述输入逻辑子模块用于将所述新包头推进原数据包的输入端口对应的虚拟优先级子队列。
可选的,所述交换调度模块包括:交换器和调度子模块;
所述交换器的输入端与所述输入端口模块连接,所述交换器的输出端与所述协议转换模块连接;所述交换器的控制端与所述输出仲裁模块连接;
所述调度子模块分别与所述输入仲裁模块和所述输出仲裁模块连接;
所述调度子模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
所述交换器用于从输入端口模块的缓冲区调取输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块。
可选的,所述输出仲裁模块内存储有预测机制,所述输出仲裁模块包括输出逻辑子模块,所述输出逻辑子模块用于根据调度指令更新预测机制,并根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块。
一种车载智能网关的轮询调度方法,所述轮询调度方法为包含预测机制的轮询调度方法,所述轮询调度方法包括如下步骤:
获取I个输入端口同时向第j个输出端口提出的发送请求;
通过输入仲裁模块确定每个输入端口相对于第j个所述输出端口的优先级,和每个输入端口发送的发送请求的优先级,并根据每个输入端口发送的发送请求的优先级,分别将每个输入端口输入的存储有数据缓存的物理地址的新包头加入至每个输入端口对应的虚拟优先级子队列;
通过交换调度模块确定相对于第j个所述输出端口的优先级最高的输入端口im,并对输入端口im对应的虚拟优先级子队列进行轮询调度,生成包括确定输入端口im和输入端口im对应的虚拟优先级子队列的最高消息等级的调度指令;
通过输出仲裁模块根据调度指令更新第j个输出端口对应的预测机制,并根据更新后的预测机制产生第j个输出端口的输出端口指令;
根据第j个输出端口的输出端口指令,控制交换调度模块从输入端口im调入数据包至第j个输出端口。
可选的,所述预测机制为:
当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;
当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;
选择α(j)队列的列首作为输出端口指令进行发送。
可选的,轮询调度方法的消息的往返时延为:
RTT=t发送+t排队+2t传播+t处理
其中,RTT为轮询调度方法的消息的往返时延,t发送为发送时延,t发送=L/b,L为数据帧长度,b为信道带宽,t排队为排队时延,
Figure BDA0003005262260000041
P为数据包平均大小,A为数据包到达速度,即每秒到达交换调度模块的数据包的数量;T为网关的传输速率,t传播为传播时延,t处理为数据包解析过程及转换过程所需时间。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口,在交换调度模块进行轮询调度,确保数据传输的公平性,在输出仲裁模块设置有预测机制,以避免反复进行轮询调度产生的时延,提高输出传输的实时性,本发明提供了一种具备实时性及公平性的适用于车载智能网关的调度策略。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的车载智能网关的结构组成示意图;
图2为本发明提供的车载智能网关的原理示意图;
图3为本发明提供的输入端口的原理示意图;
图4为本发明提供的车载智能网关消息调度示意图;
图5为本发明提供的轮询调度方法的原理图;
图6为本发明提供的优先级轮询过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种车载智能网关及其轮询调度方法,以提供一种具备实时性及公平性的适用于车载智能网关的调度策略。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1和2所示,本发明提供一种车载智能网关,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口;所述输入端口模块与所述输入仲裁模块连接,所述输入端口模块用于将原数据包拆分成包头和数据,对数据进行缓存,并将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块;所述输入仲裁模块与所述交换调度模块连接,所述输入仲裁模块用于将所述新包头加入原数据包的输入端口对应的虚拟优先级子队列;所述交换调度模块与所述输出仲裁模块连接,所述交换调度模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;所述输出仲裁模块用于根据所述调度指令更新预测机制,根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块;所述交换调度模块还分别与所述输入端口模块和所述协议转换模块连接,所述交换调度模块还用于从输入端口模块的缓冲区调取所述输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块;所述协议转换模块与所述输出端口模块连接,所述协议转换模块用于将输出端口指令对应的数据解析转换为用于数据输出的输出端口所需协议的数据,获得协议转换后的数据包,并将协议转换后的数据包发送给所述输出端口模块;所述输出端口模块用于输出协议转换后的数据包。
输入端口实现数据包的缓存及将数据包头部信息复制及传递至输入仲裁模块;输入仲裁模块实现数据包头部信息的接收并将其推进相应的虚拟优先级子队列排队以按照输出端口指令发送数据包;交换调度模块采用调度策略实现数据包调度;协议转换模块将输入端口连接的车载协议数据包转换为输出端口所需协议数据包;输出仲裁模块根据调度策略向交换调度模块发送指令以请求虚拟优先级子队列数据包;输出端口实现输出数据包的传输,输出端口可以有N个,其与一个输入端口中的虚拟优先级子队列个数对应。协议转换模块将输入的数据包解析转换为输出端口所需协议的数据包,实现两种协议数据帧之间的转换。
所述的输入端口模块实现了消息的输入和数据包缓存,如图3所示,所述输入端口模块还包括:数据包拆分子模块、多个端口缓存区和包头更新子模块;多个所述输入端口分别与所述数据包拆分子模块连接;数据包拆分子模块分别与多个所述端口缓存区连接和所述包头更新子模块连接;所述数据包拆分子模块用于将原数据包拆分成包头和数据,将数据缓存入输入原数据包的输入端口对应的端口缓存区,并生成数据缓存的物理地址,并将包头和数据缓存的物理地址发送给所述包头更新子模块;所述包头更新子模块与所述输入仲裁模块连接,所述包头更新子模块用于将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块。
车载智能网关的每一输入端口包含了一个端口缓存区,数据包进入输入端口被拆解成数据包头和数据部分,数据部分存储在端口缓存区中,产生数据包存储的物理地址。将其物理地址、优先级、源地址、目的地址以及头部的其他字段构建成新的数据包头,为输入逻辑模块将新产生的数据包头推进虚拟优先级子队列中排队奠定了基础,有效地解决了网关缓存不足的问题。
输入仲裁模块内存储有多个虚拟优先级子队列,所述输入仲裁模块包括输入逻辑子模块;所述输入逻辑子模块用于将所述新包头推进原数据包的输入端口对应的虚拟优先级子队列。本发明的输入仲裁模块包含虚拟优先级子队列,虚拟优先级子队列可以区分不同优先级消息队列,便于调度策略的实施。
所述的输入仲裁模块实现虚拟优先级子队列排队,并按照输出端口指令发送数据包。输入仲裁模块可以实现数据包头部信息的接收并将其推进相应的虚拟优先级子队列排队以按照输出端口指令发送数据包,输入逻辑子模块可以将输入端口产生的新的数据包头推入虚拟优先级子队列中进行排队,虚拟优先级子队列的个数同输出端口保持一致,本发明假设有N个输入端口,其N个虚拟优先级子队列按优先级排布,从实时消息队列到高优先级消息队列,依次降低优先级,至最低优先级消息队列。
所述交换调度模块包括:交换器和调度子模块;所述交换器的输入端与所述输入端口模块连接,所述交换器的输出端与所述协议转换模块连接;所述交换器的控制端与所述输出仲裁模块连接;所述调度子模块分别与所述输入仲裁模块和所述输出仲裁模块连接;所述调度子模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;所述交换器用于从输入端口模块的缓冲区调取输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块。即,交换调度模块包括交换器和调度子模块,调度子模块内设置有调度策略,根据调度策略控制交换器的开关进行数据调度,调度策略使网关内消息传输满足网关内消息传输要求。
所述的交换调度模块中的调度策略有预测机制,在最高优先级消息传输完成之后,可以预先对于下一个发送的数据包发起请求,并采用优先级轮询的调度方法,调度首先从消息队列中优先级最高的实时消息队列进行轮询,然后根据优先级次序的递减依次轮询剩余的虚拟消息,满足了消息传输的实时性要求。对于不同端口的同等优先级的虚拟队列采取公平轮询的方式进行调度,保证了相同优先级别队列的虚拟输出子队列的公平性。
所述输出仲裁模块内存储有预测机制,所述输出仲裁模块包括输出逻辑子模块,所述输出逻辑子模块用于根据调度指令更新预测机制,并根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块。输出仲裁模块包含预测机制,预测机制用于对输入端口进行预测授权,减少网关消息传输的往返时延。
本发明的车载智能网关通过一定的区分业务优先级的调度算法来实现消息传输的实时性和公平性。
如图4-6所示,本发明还提供一种车载智能网关的轮询调度方法,所述轮询调度方法为包含预测机制的轮询调度方法,所述轮询调度方法包括如下步骤:
获取I个输入端口同时向第j个输出端口提出的发送请求;
通过输入仲裁模块确定每个输入端口相对于第j个所述输出端口的优先级,和每个输入端口发送的发送请求的优先级,并根据每个输入端口发送的发送请求的优先级,分别将每个输入端口输入的存储有数据缓存的物理地址的新包头加入至每个输入端口对应的虚拟优先级子队列;
通过交换调度模块确定相对于第j个所述输出端口的优先级最高的输入端口im,并对输入端口im对应的虚拟优先级子队列进行轮询调度,生成包括确定输入端口im和输入端口im对应的虚拟优先级子队列的最高消息等级的调度指令;
通过输出仲裁模块根据调度指令更新第j个输出端口对应的预测机制,并根据更新后的预测机制产生第j个输出端口的输出端口指令;
根据第j个输出端口的输出端口指令,控制交换调度模块从输入端口im调入数据包至第j个输出端口。
如图5所示,本发明的轮询调度方法的输入端口的轮询过程可以实现消息传输的实时性和公平性;输出端口的预测授权可以减少往返时延,其中时延的计算方法为:RTT=t发送+t排队+2t传播+t处理
其中,RTT为轮询调度方法的消息的往返时延,t发送为发送时延,t发送=L/b,L为数据帧长度,b为信道带宽,t排队为排队时延,
Figure BDA0003005262260000091
P为数据包平均大小,A为数据包到达速度,即每秒到达交换调度模块的数据包的数量;T为网关的传输速率,t传播为传播时延,在局域网中可忽略不计;t处理为数据包解析过程及转换过程所需时间,可忽略不计。
往返时延影响着车载智能网关消息传输的实时性,采用预测机制可以减少往返时延,满足车载智能网关实时性的要求。
如图6所示,为优先级轮询过程流程图,含预测机制的优先级轮询调度算法的轮询过程可以分三个阶段:
(1)请求:输入端口可以同时向所有可能的输出端口提出发送请求。
(2)授权:输入端口有两个按照编码的指针m和n,当前输出端口可以接受的最高输入端口编码值即下一个要轮询的输入端口号赋给m,n代表虚拟优先级队列的最高优先级编码值。当一个输出端口接受多个输入端口的发送请求时,根据m的值每次授权最高优先级的输入端口,当一个输入端口接收到授权信号时,指针m会在此基础上执行加一操作;根据n每次轮询其最大值对应的虚拟优先级子队列。
(3)转发:交换调度模块根据第2步的仲裁结果来转发数据包,输入端口根据其对应的虚拟优先级子队列更新n的值。
所述预测机制为:当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;选择α(j)队列的列首作为输出端口指令进行发送。
含预测机制的优先级轮询调度算法的预测机制是当输出端口p接收到来自输入端口m发送数据包的请求,输出端口p将输入端口的标号m防止在α(p)队列首。如果有多个发送数据包的请求,则依次将输入端口号按序放置在α(p)队列;在授权阶段,如果输出端口p当前没有收到发送数据包请求,则输出端选择α(p)队列首发送预测授权。往返时延影响着车载智能网关消息传输的实时性,采用预测机制可以减少往返时延,满足车载智能网关实时性的要求。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明的车载智能网关采用模块化的设计,结合一定的区分业务优先级的算法,具有实时性和公平性的特点。本发明提出的含预测机制的优先级轮询调度算法的预测机制可以减少往返时延;优先级轮询过程具有实时性和公平性特点,实时性体现在一个高优先级的数据包进入车载网关等待调度时,如果输出端口有较低优先级的数据包正在进行传输,在这个低优先级的数据包传输之后即可优先进行高优先级的数据包转发,同时该调度策略接收到多个相同优先级的输入端口的请求时,采用对输入端口优先级编码的轮询方式,满足了同一优先级队列轮询的公平性。本发明的含预测机制的优先级轮询调度算法的预测机制可以减少往返时延,优先级轮询过程满足了消息传输的实时性和公平性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种车载智能网关,其特征在于,所述车载智能网关包括:输入端口模块、输入仲裁模块、交换调度模块、协议转换模块、输出仲裁模块和输出端口模块;所述输入端口模块包括多个输入端口,所述输出端口模块包括多个输出端口;
所述输入端口模块与所述输入仲裁模块连接,所述输入端口模块用于将原数据包拆分成包头和数据,对数据进行缓存,并将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块;
所述输入仲裁模块与所述交换调度模块连接,所述输入仲裁模块用于将所述新包头加入原数据包的输入端口对应的虚拟优先级子队列;
所述交换调度模块与所述输出仲裁模块连接,所述交换调度模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
所述输出仲裁模块用于根据所述调度指令更新预测机制,根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块;所述预测机制为:
当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;
当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;
选择α(j)队列的列首作为输出端口指令进行发送;
所述交换调度模块还分别与所述输入端口模块和所述协议转换模块连接,所述交换调度模块还用于从输入端口模块的缓冲区调取所述输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块;
所述协议转换模块与所述输出端口模块连接,所述协议转换模块用于将输出端口指令对应的数据解析转换为用于数据输出的输出端口所需协议的数据,获得协议转换后的数据包,并将协议转换后的数据包发送给所述输出端口模块;
所述输出端口模块用于输出协议转换后的数据包。
2.根据权利要求1所述的车载智能网关,其特征在于,所述输入端口模块还包括:数据包拆分子模块、多个端口缓存区和包头更新子模块;
多个所述输入端口分别与所述数据包拆分子模块连接;
数据包拆分子模块分别与多个所述端口缓存区和所述包头更新子模块连接;
所述数据包拆分子模块用于将原数据包拆分成包头和数据,将数据缓存入输入原数据包的输入端口对应的端口缓存区,并生成数据缓存的物理地址,并将包头和数据缓存的物理地址发送给所述包头更新子模块;
所述包头更新子模块与所述输入仲裁模块连接,所述包头更新子模块用于将数据缓存的物理地址加入所述包头,形成新包头,并将所述新包头输出给所述输入仲裁模块。
3.根据权利要求1所述的车载智能网关,其特征在于,输入仲裁模块内存储有多个虚拟优先级子队列,所述输入仲裁模块包括输入逻辑子模块;
所述输入逻辑子模块用于将所述新包头推进原数据包的输入端口对应的虚拟优先级子队列。
4.根据权利要求1所述的车载智能网关,其特征在于,所述交换调度模块包括:交换器和调度子模块;
所述交换器的输入端与所述输入端口模块连接,所述交换器的输出端与所述协议转换模块连接;所述交换器的控制端与所述输出仲裁模块连接;
所述调度子模块分别与所述输入仲裁模块和所述输出仲裁模块连接;
所述调度子模块用于根据虚拟优先级子队列采用优先级轮询调度的方法进行调度,生成调度指令,并将所述调度指令发送给输出仲裁模块;
所述交换器用于从输入端口模块的缓冲区调取输出端口指令对应的数据,并将输出端口指令对应的数据发送给所述协议转换模块。
5.根据权利要求1所述的车载智能网关,其特征在于,所述输出仲裁模块内存储有预测机制,所述输出仲裁模块包括输出逻辑子模块,所述输出逻辑子模块用于根据调度指令更新预测机制,并根据更新后的预测机制产生输出端口指令,并将所述输出端口指令发送给交换调度模块。
6.一种车载智能网关的轮询调度方法,其特征在于,所述轮询调度方法为包含预测机制的轮询调度方法,所述轮询调度方法包括如下步骤:
获取I个输入端口同时向第j个输出端口提出的发送请求;
通过输入仲裁模块确定每个输入端口相对于第j个所述输出端口的优先级,和每个输入端口发送的发送请求的优先级,并根据每个输入端口发送的发送请求的优先级,分别将每个输入端口输入的存储有数据缓存的物理地址的新包头加入至每个输入端口对应的虚拟优先级子队列;所述新包头为将原数据包拆分成包头和数据,对数据进行缓存,将数据缓存的物理地址加入所述包头形成的;
通过交换调度模块确定相对于第j个所述输出端口的优先级最高的输入端口im,并对输入端口im对应的虚拟优先级子队列进行轮询调度,生成包括确定输入端口im和输入端口im对应的虚拟优先级子队列的最高消息等级的调度指令;
通过输出仲裁模块根据调度指令更新第j个输出端口对应的预测机制,并根据更新后的预测机制产生第j个输出端口的输出端口指令;
所述预测机制为:
当第j个输出端口接收到来自第i个输入端口的发送数据包的请求时,则根据第i个输入端口相对于第j个输出端口的优先级,将包含第i个输入端口的调度指令放置在α(j)队列;
当第j个输出端口接收到多个发送数据包的请求时,则根据每个发送请求的输入端口相对于第j个输出端口的优先级,分别将包含每个发送请求的输入端口的调度指令放置在α(j)队列;
选择α(j)队列的列首作为输出端口指令进行发送;
根据第j个输出端口的输出端口指令,控制交换调度模块从输入端口im调入数据包至第j个输出端口。
7.根据权利要求6所述的车载智能网关的轮询调度方法,其特征在于,轮询调度方法的消息的往返时延为:
RTT=t发送+t排队+2t传播+t处理
其中,RTT为轮询调度方法的消息的往返时延,t发送为发送时延,t发送=L/b,L为数据帧长度,b为信道带宽,t排队为排队时延,
Figure FDA0003274057200000041
P为数据包平均大小,A为数据包到达速度,即每秒到达交换调度模块的数据包的数量;T为网关的传输速率,t传播为传播时延,t处理为数据包解析过程及转换过程所需时间。
CN202110360239.XA 2021-04-02 2021-04-02 一种车载智能网关及其轮询调度方法 Active CN113098765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110360239.XA CN113098765B (zh) 2021-04-02 2021-04-02 一种车载智能网关及其轮询调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110360239.XA CN113098765B (zh) 2021-04-02 2021-04-02 一种车载智能网关及其轮询调度方法

Publications (2)

Publication Number Publication Date
CN113098765A CN113098765A (zh) 2021-07-09
CN113098765B true CN113098765B (zh) 2021-11-26

Family

ID=76673094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110360239.XA Active CN113098765B (zh) 2021-04-02 2021-04-02 一种车载智能网关及其轮询调度方法

Country Status (1)

Country Link
CN (1) CN113098765B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360107A (zh) * 2017-08-25 2017-11-17 东南大学 一种适用于片上网络中低延时的交叉开关调度方法
CN108173787A (zh) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Fc交换机的数据传递路径选择方法、并行调度方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023840B2 (en) * 2001-02-17 2006-04-04 Alcatel Multiserver scheduling system and method for a fast switching element

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360107A (zh) * 2017-08-25 2017-11-17 东南大学 一种适用于片上网络中低延时的交叉开关调度方法
CN108173787A (zh) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Fc交换机的数据传递路径选择方法、并行调度方法及装置

Also Published As

Publication number Publication date
CN113098765A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
EP1193922B1 (en) Pipelined scheduling method and scheduler
US7173931B2 (en) Scheduling the dispatch of cells in multistage switches
USRE43466E1 (en) Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined hierarchical arbitration scheme
KR100334922B1 (ko) 효율적인출력요구패킷스위치와방법
US6940851B2 (en) Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
CN1938992B (zh) 用于加权随机调度的方法和装置
EP1006694B1 (en) Communications method and communications system
US7203202B2 (en) Arbitration using dual round robin matching with exhaustive service of winning virtual output queue
Pan et al. Localized independent packet scheduling for buffered crossbar switches
US7103056B2 (en) Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module
CN104333516A (zh) 用于组合输入交叉点缓存交换结构的旋转轮训调度方法
CN113098765B (zh) 一种车载智能网关及其轮询调度方法
CN109379304B (zh) 一种用于降低低优先级包延迟的公平调度方法
US6643702B1 (en) Traffic scheduler for a first tier switch of a two tier switch
Noh et al. Multiplane virtual channel router for network-on-chip design
CN117176648B (zh) 一种分布式路由的实现方法、系统、设备及介质
Han et al. Two-stage Pipelined Parallel Matching Scheduler for VOQ-based Input-buffered Switches
JP3099325B2 (ja) クロスバスイッチ装置及びその制御方法
CN117997842A (zh) 一种异步流量整形器的轻量级硬件实现方法
US7408937B1 (en) Methods and apparatus for identifying a variable number of items first in sequence from a variable starting position which may be particularly useful by packet or other scheduling mechanisms
EP2009849B1 (en) Packet switch for a network element of a telecommunications network
Liu et al. Pipelining packet scheduling in a low latency optical packet switch
Kuo Output Initiated Fair Scheduling Algorithm for Large-Scale Input Buffered Switches
EP2169883A1 (en) Asynchronous flow control and scheduling method
JP2002516038A (ja) 網交換機におけるマルチポイントツーマルチポイントエコー処理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant