CN114024844A - 数据调度方法、数据调度装置及电子设备 - Google Patents
数据调度方法、数据调度装置及电子设备 Download PDFInfo
- Publication number
- CN114024844A CN114024844A CN202111402437.4A CN202111402437A CN114024844A CN 114024844 A CN114024844 A CN 114024844A CN 202111402437 A CN202111402437 A CN 202111402437A CN 114024844 A CN114024844 A CN 114024844A
- Authority
- CN
- China
- Prior art keywords
- communication port
- data
- target
- virtual link
- communication
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/4028—Bus for use in transportation systems the transportation system being an aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开一种数据调度方法、数据调度装置及电子设备。该方法应用于节点中的FPGA,包括:接收配置信息并存储至本地的缓存模块;接收通信端口的待发送数据,根据配置信息中的地址索引将通信端口的待发送数据存储至外部存储器;将满足第一预设条件的虚拟链路作为目标虚拟链路;针对每个目标虚拟链路分别确定一个目标通信端口;根据配置信息中的地址索引,从外部存储器读取目标通信端口的待发送数据,将其存储至本地的缓存模块;在AFDX总线空闲时,将目标通信端口的待发送数据传输到AFDX总线。基于本申请公开的技术方案,无需占用节点中操作***和软件的资源,就可以实现对AFDX总线数据的调度,数据调度具有较高的准确性和稳定性。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种数据调度方法、数据调度装置及电子设备。
背景技术
新一代航空电子***的通信业务已经从传统的数据通信、语音通信扩展为高速数据、图像、多媒体等多种业务,对信息传输网络的综合化、可扩展性、带宽、传输实时性、可靠性等的要求越来越高。传统的基于ARINC 429协议或Mil-STD-1553B总线(飞机内部时分制指令/响应式多路传输数据总线)构建的信息传输网络不足以达到如此高的带宽和速率等要求。
在此背景下,以传统的以太网通信标准为基础,经过适应性修改后衍生出的AFDX(Avionics Full Duplex Switched Ethernet,全双工交换式以太网)总线,具有更高的可靠性、对恶劣环境更强的适应性和更高的实时性,其传输速率可以达到100Mbit/s甚至1000Mbit/s,能够很好的满足当前航空电子***的应用需求,在当前的大型客机如A380、C919中得到了广泛的应用。
在传统的总线网络中,一般由软件进行消息调度,或者由软硬件结合进行消息调度,这种消息调度方式比较简单,易于实现。但是,由软件或者由软硬件结合进行消息调度的方式,可承载的消息数量有限,当消息的数量较大时,往往会消耗大量的处理器资源和内存资源,使得任务执行、消息处理的时间较长。另外,由于操作***本身的定时精度一般,往往会导致对消息的调度偏差较大,且消息的数量越多,偏差越大。在AFDX总线中,总线带宽可达百兆甚至千兆,消息的长度最长可达8192字节,同时,单一节点的消息数量往往在数百以上,这给消息调度带来极大的挑战,传统的消息调度方式不能满足AFDX总线的特性要求。
发明内容
有鉴于此,本申请的目的在于提供一种数据调度方法、数据调度装置及电子设备,在无需占用节点中操作***和软件的资源的前提下,实现对AFDX总线数据的调度,并且提高数据调度的稳定性和准确性。
为实现上述目的,本申请提供如下技术方案:
本申请提供一种数据调度方法,应用于节点中的可编程逻辑芯片,所述数据调度方法包括:
接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;
接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述外部存储器;
将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;
针对每个目标虚拟链路分别确定一个目标通信端口;
根据所述配置信息中的地址索引,从所述外部存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;
在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
可选的,所述通信端口的描述信息还包括通信端口的通信类型,所述通信端口的通信类型包括周期型和非周期型,在所述通信端口的通信类型为周期型时,所述通信端口的描述信息还包括通信端口的通信周期;
针对任意一个目标虚拟链路确定目标通信端口,包括:
在所述目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口,其中,所述第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与通信端口最近一次发送数据时刻之间的时间间隔大于或等于通信端口的通信周期,或者,通信端口的通信类型为非周期型;
按照预设规则从所述备选通信端口中确定目标通信端口。
可选的,所述按照预设规则从所述备选通信端口中确定目标通信端口,包括:
在所述备选通信端口为多个的情况下,分别确定各个所述备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
可选的,在所述接收通信端口的待发送数据之后,还包括:更新通信端口对应的数据接收时间;
所述按照预设规则从所述备选通信端口中确定目标通信端口,包括:在所述备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除所述目标通信端口对应的数据接收时间。
可选的,还包括:如果目标通信端口对应的地址索引所指示的存储空间为空,则本次不对所述目标通信端口所属的虚拟链路进行数据调度。
本申请还提供一种数据调度装置,应用于节点中的可编程逻辑芯片,所述数据调度装置包括:
配置信息处理单元,用于接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;
第一数据处理单元,用于接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述外部存储器;
目标虚拟链路确定单元,用于将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;
目标通信端口确定单元,用于针对每个目标虚拟链路分别确定一个目标通信端口;
第二数据处理单元,用于根据所述配置信息中的地址索引,从所述外部存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;
数据发送单元,用于在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
可选的,所述通信端口的描述信息还包括通信端口的通信类型,所述通信端口的通信类型包括周期型和非周期型,在所述通信端口的通信类型为周期型时,所述通信端口的描述信息还包括通信端口的通信周期;
所述目标通信端口确定单元包括:
备选通信端口确定子单元,用于在所述目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口,其中,所述第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与通信端口最近一次发送数据时刻之间的时间间隔大于或等于通信端口的通信周期,或者,通信端口的通信类型为非周期型;
目标通信端口确定子单元,用于按照预设规则从所述备选通信端口中确定目标通信端口。
可选的,目标通信端口确定子单元,具体用于:
在所述备选通信端口为多个的情况下,分别确定各个所述备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
可选的,所述第一数据处理单元还用于:在所述接收通信端口的待发送数据之后,更新通信端口对应的数据接收时间;
目标通信端口确定子单元,具体用于:在所述备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除所述目标通信端口对应的数据接收时间。
本申请还提供一种电子设备,包括:处理器、存储器及可编程逻辑芯片;
所述存储器用于存储程序和数据;
所述处理器用于执行所述存储器存储的程序;
所述可编程逻辑芯片用于:接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在所述存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述存储器;将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;针对每个目标虚拟链路分别确定一个目标通信端口;根据所述配置信息中的地址索引,从所述存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
由此可见,本申请的有益效果为:
本申请公开的数据调度方法,由节点中的FPGA执行,在接收配置信息后,将配置信息存储至本地的缓存模块,该配置信息包括虚拟链路的描述信息、虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,在接收到通信端口的待发送数据后,根据配置信息中的地址索引将待发送数据存储至外部存储器的对应存储空间;确定各虚拟链路是否满足第一预设条件,将满足第一预设条件的虚拟链路确定为目标虚拟链路,针对各目标虚拟链路分别确定一个目标通信端口,根据配置信息中的地址索引,从外部存储器读取目标通信端口的待发送数据,将读取到的待发送数据存储至本地的缓存模块,在AFDX总线空闲时,将目标通信端口的待发送数据传输至AFDX总线。可以看到,本申请公开的数据调度方法由节点中的FPGA执行,无需占用节点中操作***和软件的资源,就可以实现对AFDX总线数据的调度。而且,计时时间由FPGA产生,能够保证计时时间的准确性,从而保证数据调度具有较高的准确性和稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种数据调度方法的流程图;
图2为本申请公开的配置信息的一个示意图;
图3为本申请公开的针对目标虚拟链路确定目标通信端口的方法的流程图;
图4为本申请公开的一种数据调度装置的结构示意图。
具体实施方式
本申请公开一种数据调度方法、数据调度装置及电子设备,在无需占用节点中操作***和软件的资源的前提下,实现对AFDX总线数据的调度,并且提高数据调度的稳定性和准确性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请公开的一种数据调度方法的流程图。该数据调度方法应用于节点中的FPGA(Field Programmable Gate Array,可编程逻辑芯片),该节点通过AFDX总线与其他节点进行通信,也就是说,本申请中的节点是指AFDX总线通信***中的节点。需要说明的是,该节点还包括处理器,由处理器执行存储于存储器中的程序,前述程序可以包括实现操作***的程序和实现应用的程序。
该数据调度方法包括:
S101:接收配置信息,将配置信息存储至本地的缓存模块。
其中,配置信息包括虚拟链路的描述信息、虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引。虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,通信端口的描述信息至少包括通信端口的标识。
带宽分配间隔的英文名称为Bandwidth Allocation Gap,英文缩写为BAG,用于指示:在同一个虚拟链路中,两个相邻帧的起始位(为二进制位)之间的最小时间间隔。
在本申请中,根据AFDX总线的特性,以虚拟链路为单位对消息进行调度。每个虚拟链路可以包含若干个通信端口,每个通信端口具有各自的周期属性,属于同一个虚拟链路的通信端口共享该虚拟链路的带宽。
图2为本申请公开的配置信息的一个示意图。配置信息包括三级,第一级为虚拟链路的描述信息,第二级为一个虚拟链路下各通信端口的描述信息,第三级为各个通信端口对应的在外部存储器的地址索引。
在初始化过程中,上层软件向FPGA下发配置信息。FPGA接收上层软件下发的配置信息,并将接收到的配置信息存储至本地的缓存模块,也就是存储至FPGA内部的缓存模块。需要说明的是,在完成初始化之后,上层软件不能再对配置信息进行修改。如果上层软件需要对配置信息进行修改的话,需要再对FPGA进行初始化操作。
S102:接收通信端口的待发送数据,根据配置信息中的地址索引将通信端口的待发送数据存储至外部存储器。
上层软件向FPGA下发通信端口的待发送数据。FPGA接收上层软件下发的通信端口的待发送数据,根据配置信息确定该通信端口对应的在外部存储器的地址索引,之后将通信端口的待发送数据存储至外部存储器中对应的存储空间。可以理解的是,上层软件下发的待发送数据携带有通信端口的标识,以使得FPGA接收到待发送数据后,能够确定出是哪个通信端口的待发送数据。
需要说明的是,在初始化过程中,上层软件除了向FPGA下发配置信息之外,还可以向FPGA下发通信端口的待发送数据。在这种情况下,FPGA将接收到的配置信息存储至本地的缓存模块,并且,FPGA根据配置信息确定该通信端口对应的在外部存储器的地址索引,将通信端口的待发送数据存储至外部存储器中对应的存储空间。
外部存储器是指布置于FPGA之外的存储器,是节点中的存储器。实施中,外部存储器的类型包括但不限于SDRAM和DDR。SDRAM的英文全称为Synchronous Dynamic RandomAccess Memory,中文名称为同步动态随机存取存储器。DDR的英文全称为Double DataRate SDRAM,中文名称为双倍速率同步动态随机存储器。
S103:将满足第一预设条件的虚拟链路作为目标虚拟链路。
FPGA判断各虚拟链路是否满足第一预设条件,将满足第一预设条件的虚拟链路作为目标虚拟链路。其中,第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔。
虚拟链路的带宽分配间隔用于指示:在同一个虚拟链路中,两个相邻帧的起始位(为二进制位)之间的最小时间间隔。因此,目标虚拟链路至少需满足:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔。
实施中,FPGA可以采用轮询的方式,确定各虚拟链路是否满足第一预设条件,将满足第一预设条件的虚拟链路作为目标虚拟链路。
S104:针对每个目标虚拟链路分别确定一个目标通信端口。
FPGA确定出目标虚拟链路后,针对每个目标虚拟链路执行:在该目标虚拟链路下的多个通信端口中确定一个目标通信端口。需要说明的是,FPGA针对每个目标虚拟链路确定出一个目标通信端口,该目标通信端口为该目标虚拟链路下的多个通信端口中的一个。
S105:根据配置信息中的地址索引,从外部存储器读取目标通信端口的待发送数据,将目标通信端口的待发送数据存储至本地的缓存模块。
FPGA确定出目标通信端口后,根据配置信息中的地址索引,从外部存储器读取各目标通信端口的待发送数据,并将各目标通信端口的待发送数据存储至本地的缓存模块。
需要说明的是,目标通信端口对应的地址索引所指示的存储空间可能为空,也就是说,外部存储器中可能未存储目标通信端口的待发送数据。可选的,如果某个目标通信端口对应的地址索引所指示的存储空间为空,那么FPGA本次不对该目标通信端口所属的虚拟链路进行数据调度,继续读取下一个目标通信端口的待发送数据。可选的,如果某个目标通信端口对应的地址索引所指示的存储空间为空,那么FPGA在与该目标通信端口属于同一虚拟链路的其他通信端口中,确定一个新的目标通信端口,从外部存储器读取该新的目标通信端口的待发送数据,并将该目标通信端口的待发送数据存储至本地的缓存模块。
S106:在AFDX总线空闲时,将目标通信端口的待发送数据传输到AFDX总线。
本地的缓存模块可存储多个目标通信端口的待发送数据,在AFDX总线空闲时,FPGA将多个目标通信端口的待发送数据顺序传输到AFDX总线。其中,该顺序可以由上层软件定义。
本申请公开的数据调度方法,由节点中的FPGA执行,在接收配置信息后,将配置信息存储至本地的缓存模块,该配置信息包括虚拟链路的描述信息、虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,在接收到通信端口的待发送数据后,根据配置信息中的地址索引将待发送数据存储至外部存储器的对应存储空间;确定各虚拟链路是否满足第一预设条件,将满足第一预设条件的虚拟链路确定为目标虚拟链路,针对各目标虚拟链路分别确定一个目标通信端口,根据配置信息中的地址索引,从外部存储器读取目标通信端口的待发送数据,将读取到的待发送数据存储至本地的缓存模块,在AFDX总线空闲时,将目标通信端口的待发送数据传输至AFDX总线。可以看到,本申请公开的数据调度方法由节点中的FPGA执行,无需占用节点中操作***和软件的资源,就可以实现对AFDX总线数据的调度。而且,计时时间由FPGA产生,能够保证计时时间的准确性,从而保证数据调度具有较高的准确性和稳定性。
在本申请的一个实施例中,通信端口的描述信息还包括通信端口的通信类型。其中,通信端口的通信类型包括周期型和非周期型,在通信端口的通信类型为周期型时,通信端口的描述信息还包括通信端口的通信周期。
针对任意一个目标虚拟链路确定目标通信端口,采用如图3所示的方案,包括:
S301:在目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口。
其中,第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与该通信端口最近一次发送数据时刻之间的时间间隔大于或等于该通信端口的通信周期,或者,通信端口的通信类型为非周期型。
S302:按照预设规则从备选通信端口中确定目标通信端口。
如果目标虚拟链路下的通信端口中仅有一个通信端口满足第二预设条件,那么将该通信端口确定为目标通信端口。如果目标虚拟链路下的通信端口中有多个通信端口满足第二预设条件,那么将满足第二预设条件的通信端口均作为备选通信端口,之后按照预设规则从备选通信端口中确定出一个目标通信端口。
本申请图3所示的针对目标虚拟链路确定目标通信端口的方案,首先在目标虚拟链路下的通信端口中查找备选通信端口,其中,如果通信端口的通信类型为周期型,且当前时刻与该通信端口最近一次发送数据时刻之间的时间间隔大于或等于该通信端口的通信周期,那么该通信端口可作为备选通信端口,如果通信端口的通信类型为非周期型,那么该通信端口可作为备选通信端口,之后按照预设规则从备选通信端口中确定一个目标通信端口,这保证了针对目标虚拟链路确定出的目标通信端口都是满足数据发送条件的。
作为一种实施方式,按照预设规则从备选通信端口中确定目标通信端口,包括:在备选通信端口为多个的情况下,分别确定各个备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
也就是说,FPGA记录各个通信端口发送数据的时刻,在执行步骤S301确定出备选通信端口后,针对每个备选通信端口,计算该备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,之后将具有最大时间间隔的备选通信端口确定为目标通信端口。
需要说明的是,在通信端口每次发送数据后,FPGA都需要更新该通信端口发送数据的时刻。
另外,按照上述规则确定出的目标通信端口,其地址索引所指示的存储空间可能为空,也就是说,外部存储器中未存储目标通信端口的待发送数据。
可选的,如果目标通信端口对应的地址索引所指示的存储空间为空,那么本次不对该目标通信端口所属的虚拟链路进行数据调度。
可选的,如果目标通信端口对应的地址索引所指示的存储空间为空,那么在与该目标通信端口属于同一虚拟链路的其他备选通信端口中,确定一个新的目标通信端口。例如,在与该目标通信端口属于同一虚拟链路的其他备选通信端口中,将具有第二大时间间隔的备选通信端口确定为新的目标通信端口。
作为另一种实施方式,在接收通信端口的待发送数据后,还包括:更新通信端口对应的数据接收时间。相应的,按照预设规则从备选通信端口中确定目标通信端口,包括:在备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除目标通信端口对应的数据接收时间。
FPGA接收上层软件发送的通信端口的待发送数据后,除了根据配置信息中的地址索引将通信端口的待发送数据存储至外部存储器之外,还记录通信端口对应的数据接收时间,也就是记录接收到该通信端口的待发送数据的时刻。FPGA执行步骤S301确定出备选通信端口后,比较各备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,并将目标通信端口对应的数据接收时间清除。这能够保证上层软件早下发的数据能够更早的通过AFDX总线发送至目标端。
需要说明的是,FPGA在每次接收到上层软件下发的通信端口的待发送数据后,都需要更新该通信端口对应的数据接收时间,在将通信端口确定为目标通信端口后,将该通信端口对应的数据接收时间清除。
在实施中,针对目标虚拟链路确定目标通信端口,还可以采用其他方案。
例如:分别确定目标虚拟链路下各个通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的通信端口确定为目标通信端口。
例如:比较目标虚拟链路下各个通信端口对应的数据接收时间,将数据接收时间最早的通信端口确定为目标通信端口。
本申请上述公开了数据调度方法,相应的,本申请还公开数据调度装置,说明书中关于两者的描述可以相互参考。
参见图4,图4为本申请公开的一种数据调度装置的结构示意图。该数据调度装置应用于节点中的FPGA,该节点通过AFDX总线与其他节点进行通信,也就是说,本申请中的节点是指AFDX总线通信***中的节点。需要说明的是,该节点还包括处理器,由处理器执行存储于处理器中的程序,前述程序可以包括实现操作***的程序和实现应用的程序。
该数据调度装置包括:
配置信息处理单元10,用于接收配置信息,将配置信息存储至本地的缓存模块。其中,配置信息包括虚拟链路的描述信息、虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引。虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,通信端口的描述信息至少包括通信端口的标识。
第一数据处理单元20,用于接收通信端口的待发送数据,根据配置信息中的地址索引将通信端口的待发送数据存储至外部存储器。
目标虚拟链路确定单元30,用于将满足第一预设条件的虚拟链路作为目标虚拟链路。其中,第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔。
目标通信端口确定单元40,用于针对每个目标虚拟链路分别确定一个目标通信端口。
第二数据处理单元50,用于根据配置信息中的地址索引,从外部存储器读取目标通信端口的待发送数据,将目标通信端口的待发送数据存储至本地的缓存模块。
数据发送单元60,用于在AFDX总线空闲时,将目标通信端口的待发送数据传输到AFDX总线。
本申请上述公开的数据调度装置布置于节点中的FPGA,无需占用节点中操作***和软件的资源,就可以实现对AFDX总线数据的调度。而且,计时时间由FPGA产生,能够保证计时时间的准确性,从而保证数据调度具有较高的准确性和稳定性。
可选的,如果某个目标通信端口对应的地址索引所指示的存储空间为空,那么数据调度装置本次不对该目标通信端口所属的虚拟链路进行数据调度,继续读取下一个目标通信端口的待发送数据。
可选的,如果某个目标通信端口对应的地址索引所指示的存储空间为空,那么数据调度装置在与该目标通信端口属于同一虚拟链路的其他通信端口中,确定一个新的目标通信端口,从外部存储器读取该新的目标通信端口的待发送数据,并将该目标通信端口的待发送数据存储至本地的缓存模块。
在本申请的一个实施例中,通信端口的描述信息还包括通信端口的通信类型。其中,通信端口的通信类型包括周期型和非周期型,在通信端口的通信类型为周期型时,通信端口的描述信息还包括通信端口的通信周期。
目标通信端口确定单元40包括:
备选通信端口确定子单元,用于在目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口,其中,第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与通信端口最近一次发送数据时刻之间的时间间隔大于或等于通信端口的通信周期,或者,通信端口的通信类型为非周期型;
目标通信端口确定子单元,用于按照预设规则从备选通信端口中确定目标通信端口。
作为一种实施方式,目标通信端口确定子单元,具体用于:在备选通信端口为多个的情况下,分别确定各个备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
可选的,如果目标通信端口对应的地址索引所指示的存储空间为空,那么数据调度装置本次不对该目标通信端口所属的虚拟链路进行数据调度。
可选的,如果目标通信端口对应的地址索引所指示的存储空间为空,那么目标通信端口确定子单元在与该目标通信端口属于同一虚拟链路的其他备选通信端口中,确定一个新的目标通信端口。例如,目标通信端口确定子单元在与该目标通信端口属于同一虚拟链路的其他备选通信端口中,将具有第二大时间间隔的备选通信端口确定为新的目标通信端口。
作为另一种实施方式,第一数据处理单元20还用于:在接收通信端口的待发送数据之后,更新通信端口对应的数据接收时间。相应的,目标通信端口确定子单元,具体用于:在备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除目标通信端口对应的数据接收时间。
本申请还公开一种电子设备。该电子设备至少包括处理器、存储器及FPGA,处理器、存储器和FPGA之间能够进行通信。
处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是一个或多个集成电路等。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器。例如,存储器包含SDRAM或DDR。存储器用于存储程序和数据,处理器用于执行存储器存储的程序,前述程序可以包括实现操作***的程序和实现应用的程序。
FPGA用于:
接收配置信息,将配置信息存储至本地的缓存模块,配置信息包括虚拟链路的描述信息、虚拟链路下各通信端口的描述信息、以及各通信端口对应的在存储器的地址索引,其中,虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,通信端口的描述信息至少包括通信端口的标识;
接收通信端口的待发送数据,根据配置信息中的地址索引将通信端口的待发送数据存储至存储器;
将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;
针对每个目标虚拟链路分别确定一个目标通信端口;
根据配置信息中的地址索引,从存储器读取目标通信端口的待发送数据,将目标通信端口的待发送数据存储至本地的缓存模块;
在AFDX总线空闲时,将目标通信端口的待发送数据传输到AFDX总线。
可选的,FPGA的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的数据调度装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据调度方法,其特征在于,应用于节点中的可编程逻辑芯片,所述数据调度方法包括:
接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;
接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述外部存储器;
将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;
针对每个目标虚拟链路分别确定一个目标通信端口;
根据所述配置信息中的地址索引,从所述外部存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;
在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
2.根据权利要求1所述的数据调度方法,其特征在于,所述通信端口的描述信息还包括通信端口的通信类型,所述通信端口的通信类型包括周期型和非周期型,在所述通信端口的通信类型为周期型时,所述通信端口的描述信息还包括通信端口的通信周期;
针对任意一个目标虚拟链路确定目标通信端口,包括:
在所述目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口,其中,所述第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与通信端口最近一次发送数据时刻之间的时间间隔大于或等于通信端口的通信周期,或者,通信端口的通信类型为非周期型;
按照预设规则从所述备选通信端口中确定目标通信端口。
3.根据权利要求2所述的数据调度方法,其特征在于,所述按照预设规则从所述备选通信端口中确定目标通信端口,包括:
在所述备选通信端口为多个的情况下,分别确定各个所述备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
4.根据权利要求2所述的数据调度方法,其特征在于,在所述接收通信端口的待发送数据之后,还包括:更新通信端口对应的数据接收时间;
所述按照预设规则从所述备选通信端口中确定目标通信端口,包括:在所述备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除所述目标通信端口对应的数据接收时间。
5.根据权利要求1所述的数据调度方法,其特征在于,还包括:
如果目标通信端口对应的地址索引所指示的存储空间为空,则本次不对所述目标通信端口所属的虚拟链路进行数据调度。
6.一种数据调度装置,其特征在于,应用于节点中的可编程逻辑芯片,所述数据调度装置包括:
配置信息处理单元,用于接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在外部存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;
第一数据处理单元,用于接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述外部存储器;
目标虚拟链路确定单元,用于将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;
目标通信端口确定单元,用于针对每个目标虚拟链路分别确定一个目标通信端口;
第二数据处理单元,用于根据所述配置信息中的地址索引,从所述外部存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;
数据发送单元,用于在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
7.根据权利要求6所述的数据调度装置,其特征在于,所述通信端口的描述信息还包括通信端口的通信类型,所述通信端口的通信类型包括周期型和非周期型,在所述通信端口的通信类型为周期型时,所述通信端口的描述信息还包括通信端口的通信周期;
所述目标通信端口确定单元包括:
备选通信端口确定子单元,用于在所述目标虚拟链路下的通信端口中查找满足第二预设条件的通信端口作为备选通信端口,其中,所述第二预设条件包括:通信端口的通信类型为周期型,且当前时刻与通信端口最近一次发送数据时刻之间的时间间隔大于或等于通信端口的通信周期,或者,通信端口的通信类型为非周期型;
目标通信端口确定子单元,用于按照预设规则从所述备选通信端口中确定目标通信端口。
8.根据权利要求7所述的数据调度装置,其特征在于,目标通信端口确定子单元,具体用于:
在所述备选通信端口为多个的情况下,分别确定各个所述备选通信端口最近一次发送数据时刻与当前时刻之间的时间间隔,将时间间隔最大的备选通信端口确定为目标通信端口。
9.根据权利要求7所述的数据调度装置,其特征在于,所述第一数据处理单元还用于:在所述接收通信端口的待发送数据之后,更新通信端口对应的数据接收时间;
目标通信端口确定子单元,具体用于:在所述备选通信端口为多个的情况下,比较各个备选通信端口对应的数据接收时间,将数据接收时间最早的备选通信端口确定为目标通信端口,清除所述目标通信端口对应的数据接收时间。
10.一种电子设备,其特征在于,包括:处理器、存储器及可编程逻辑芯片;
所述存储器用于存储程序和数据;
所述处理器用于执行所述存储器存储的程序;
所述可编程逻辑芯片用于:接收配置信息,将所述配置信息存储至本地的缓存模块,所述配置信息包括虚拟链路的描述信息、所述虚拟链路下各通信端口的描述信息、以及各通信端口对应的在所述存储器的地址索引,其中,所述虚拟链路的描述信息包括虚拟链路的标识、以及虚拟链路的带宽分配间隔,所述通信端口的描述信息至少包括通信端口的标识;接收通信端口的待发送数据,根据所述配置信息中的地址索引将所述通信端口的待发送数据存储至所述存储器;将满足第一预设条件的虚拟链路作为目标虚拟链路,其中,所述第一预设条件包括:当前时刻距离虚拟链路最近一次发送数据的时间间隔大于或等于虚拟链路的带宽分配间隔;针对每个目标虚拟链路分别确定一个目标通信端口;根据所述配置信息中的地址索引,从所述存储器读取所述目标通信端口的待发送数据,将所述目标通信端口的待发送数据存储至本地的缓存模块;在AFDX总线空闲时,将所述目标通信端口的待发送数据传输到所述AFDX总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402437.4A CN114024844B (zh) | 2021-11-19 | 2021-11-19 | 数据调度方法、数据调度装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402437.4A CN114024844B (zh) | 2021-11-19 | 2021-11-19 | 数据调度方法、数据调度装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024844A true CN114024844A (zh) | 2022-02-08 |
CN114024844B CN114024844B (zh) | 2023-09-15 |
Family
ID=80065950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111402437.4A Active CN114024844B (zh) | 2021-11-19 | 2021-11-19 | 数据调度方法、数据调度装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024844B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726678A (zh) * | 2022-04-08 | 2022-07-08 | 北京润科通用技术有限公司 | 一种afdx总线数据的调度方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594712B1 (en) * | 2000-10-20 | 2003-07-15 | Banderacom, Inc. | Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link |
US20060179182A1 (en) * | 2005-01-31 | 2006-08-10 | International Business Machines Corporation | Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control |
RU2423007C1 (ru) * | 2007-07-04 | 2011-06-27 | Эирбус Операсьон Гмбх | Детерминированная коммуникационная система |
CN103139101A (zh) * | 2011-11-23 | 2013-06-05 | 中国航空工业集团公司第六三一研究所 | 用于航空专用全双工交换以太网终端***的队列端口的实现方法 |
WO2014045354A1 (ja) * | 2012-09-19 | 2014-03-27 | トヨタ自動車 株式会社 | 通信装置及び通信方法 |
US20180189220A1 (en) * | 2016-12-29 | 2018-07-05 | Asmedia Technology Inc. | Synchronous transmission device and synchronous transmission method |
CN109388597A (zh) * | 2018-09-30 | 2019-02-26 | 杭州迪普科技股份有限公司 | 一种基于fpga的数据交互方法及装置 |
CN110457251A (zh) * | 2018-05-07 | 2019-11-15 | 大唐移动通信设备有限公司 | 一种多处理器间的数据通信方法及装置 |
CN111740922A (zh) * | 2020-08-21 | 2020-10-02 | 浙江巨化信息技术有限公司 | 数据传输方法、装置、电子设备及介质 |
US10949352B1 (en) * | 2020-03-05 | 2021-03-16 | Nxp Usa, Inc. | Data processing system having a shared cache |
CN112799990A (zh) * | 2021-01-04 | 2021-05-14 | 中车株洲电力机车研究所有限公司 | 并行总线数据空间管理方法、主设备及*** |
-
2021
- 2021-11-19 CN CN202111402437.4A patent/CN114024844B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594712B1 (en) * | 2000-10-20 | 2003-07-15 | Banderacom, Inc. | Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link |
US20060179182A1 (en) * | 2005-01-31 | 2006-08-10 | International Business Machines Corporation | Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control |
RU2423007C1 (ru) * | 2007-07-04 | 2011-06-27 | Эирбус Операсьон Гмбх | Детерминированная коммуникационная система |
CN103139101A (zh) * | 2011-11-23 | 2013-06-05 | 中国航空工业集团公司第六三一研究所 | 用于航空专用全双工交换以太网终端***的队列端口的实现方法 |
WO2014045354A1 (ja) * | 2012-09-19 | 2014-03-27 | トヨタ自動車 株式会社 | 通信装置及び通信方法 |
US20180189220A1 (en) * | 2016-12-29 | 2018-07-05 | Asmedia Technology Inc. | Synchronous transmission device and synchronous transmission method |
CN110457251A (zh) * | 2018-05-07 | 2019-11-15 | 大唐移动通信设备有限公司 | 一种多处理器间的数据通信方法及装置 |
CN109388597A (zh) * | 2018-09-30 | 2019-02-26 | 杭州迪普科技股份有限公司 | 一种基于fpga的数据交互方法及装置 |
US10949352B1 (en) * | 2020-03-05 | 2021-03-16 | Nxp Usa, Inc. | Data processing system having a shared cache |
CN111740922A (zh) * | 2020-08-21 | 2020-10-02 | 浙江巨化信息技术有限公司 | 数据传输方法、装置、电子设备及介质 |
CN112799990A (zh) * | 2021-01-04 | 2021-05-14 | 中车株洲电力机车研究所有限公司 | 并行总线数据空间管理方法、主设备及*** |
Non-Patent Citations (3)
Title |
---|
MENG JIANG, SHAOWU DONG: "Study on time scale algorithm of hydrogen maser based on minimum error theory", 2018 EUROPEAN FREQUENCY AND TIME FORUM * |
汪宁: "AFDX航空通信协议及其核心技术研究", 工业控制计算机 * |
许燕婷: "AFDX端***协议栈虚拟链路层分析及仿真研究", 中国优秀硕士学位论文数据库 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726678A (zh) * | 2022-04-08 | 2022-07-08 | 北京润科通用技术有限公司 | 一种afdx总线数据的调度方法及装置 |
CN114726678B (zh) * | 2022-04-08 | 2023-05-16 | 北京润科通用技术有限公司 | 一种afdx总线数据的调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114024844B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467975B2 (en) | Data processing method and NVMe storage device | |
CN111935315B (zh) | 区块同步方法及装置 | |
WO2021254330A1 (zh) | 内存管理方法、***、客户端、服务器及存储介质 | |
US7464201B1 (en) | Packet buffer management apparatus and method | |
WO2000000892A1 (en) | Systems and methods for implementing pointer management | |
US8281103B2 (en) | Method and apparatus for allocating storage addresses | |
CN111177017B (zh) | 一种内存分配方法及装置 | |
CN113411270A (zh) | 一种面向时间敏感网络的报文缓冲区管理方法 | |
US10951551B2 (en) | Queue management method and apparatus | |
CN114024844B (zh) | 数据调度方法、数据调度装置及电子设备 | |
CN113852533A (zh) | 一种多通道数据通信***、方法及电子设备 | |
US6425067B1 (en) | Systems and methods for implementing pointer management | |
CN104052831A (zh) | 一种基于队列的数据传输方法、装置及通信*** | |
US8473579B2 (en) | Data reception management apparatus, systems, and methods | |
CN113630300B (zh) | 用于报文传输的方法和节点 | |
WO2016173346A1 (zh) | 一种光突发环网动态带宽分配方法及装置 | |
CN114726678B (zh) | 一种afdx总线数据的调度方法及装置 | |
CN106209556B (zh) | 一种地址学习、报文传输的方法及装置 | |
CN105072047A (zh) | 一种报文传输及处理方法 | |
CN113794585B (zh) | 一种报文处理方法及装置 | |
WO2016123907A1 (zh) | 一种检测重复仿真报文的方法及装置 | |
WO2023097903A1 (zh) | 报文传输方法、装置、电子设备和存储介质 | |
KR20120022194A (ko) | 이종 프로토콜 메시지 중개 방법 | |
CN117201424A (zh) | 一种基于时间敏感网络门控列表的配置***及方法 | |
CN115766627A (zh) | 一种星载高速交换存储一体化缓存控制方法及装置 |
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 |