一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、装置、数据传输设备及存储介质与流程

2023-02-19 03:31:08 来源:中国专利 TAG:


1.本公开涉及数据传输技术领域,尤其涉及一种数据传输方法、装置、数据传输设备及存储介质。


背景技术:

2.在车辆的行驶过程中,车辆上的不同设备之间需要进行数据交互,以实现车辆的自动化控制。
3.目前,在数据交互的过程中需要占用参与设备的中央处理器(central processing unit,cpu)资源,使得参与设备的cpu负载过高,进而影响对车辆的自动化控制,降低了车辆自动化驾驶的安全性。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据传输方法、装置、数据传输设备及存储介质。
5.本公开实施例提供了一种数据传输方法,该方法包括:
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.在其中一个实施例中,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备,包括:
31.将待传输数据加入时间敏感网络的传输队列,传输队列用于根据目标传输优先级和待传输数据所携带的时间戳确定待传输数据的第一传输顺序、且用于按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备,目标传输优先级为待传输数据的数据类型所属的传输优先级。
32.在其中一个实施例中,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备,包括:
33.将待传输数据加入时间敏感网络的传输队列,数据传输序列用于根据待传输数据所携带的时间戳确定待传输数据的第二传输顺序、且用于按照第二传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
34.在其中一个实施例中,在接收数据发起模块的数据传输请求之前,该方法还包括:
35.在启动过程中,从带电可擦可编程只读存储器中加载预设数据传输网络对应的网络配置数据。
36.本公开实施例还提供了一种数据传输装置,该装置包括:
37.请求接收模块,配置为接收数据发起设备的数据传输请求;
38.地址查询模块,配置根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址,第一目标物理地址为数据发起设备中存储有待传输数据的物理地址,第一目标虚拟地址为用于缓存待传输数据的虚拟地址;
39.数据读取模块,配置为利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址;
40.数据传输模块,配置为通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备。
41.本公开实施例还提供了一种数据传输设备,该设备包括:
42.一个或多个处理器;
43.存储装置,用于存储一个或多个程序,
44.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意实施例所提供的数据传输方法。
45.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意实施例所提供的数据传输方法。
46.本公开实施例提供的技术方案与现有技术相比具有如下优点:
47.本公开实施例的数据传输方法、装置、数据传输设备及存储介质,能够在接收到数据发起设备的数据传输请求时,根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址,并利用直接存储器访问技术,将数据发起设备中的第一目标物理地址所存储的待传输数据缓存至待传输数据的第一目标虚拟地址,进而通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备,因此,无需数据发起设备的cpu参与,即可实现数据发起设备向数据接收设备传输数据的整个过程,可以有效地降低对数据发起设备的cpu资源的占用,进而降低了数据发起设备的cpu负载,从而保证对车辆进行自动化控制的可靠性,提高了车辆自动化驾驶的安全性。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
49.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
50.图1为本开实施例提供的一种车辆网络模型的结构示意图;
51.图2为本公开实施例提供的一种数据传输的架构图;
52.图3为本公开实施例提供的另一种数据传输的架构图;
53.图4为本公开实施例提供的又一种数据传输的架构图;
54.图5为本公开实施例提供的再一种数据传输的架构图;
55.图6为本公开实施例提供的一种数据传输方法的流程示意图;
56.图7为本公开实施例提供的另一种数据传输方法的流程示意图;
57.图8为本公开实施例提供的一种数据传输设备的结构示意图;
58.图9为本公开实施例提供的一种数据传输装置的结构示意图;
59.图10为本公开实施例提供的另一种数据传输设备的结构示意图。
具体实施方式
60.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
61.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
62.在车辆的行驶过程中,车辆上的不同设备之间需要进行数据交互,以实现车辆的自动化控制。
63.在本公开实施例中,车辆网络模型一般包括采用环形网络连接形成闭环的在车身的各个主要区域内放置的区域控制器(zone comtroller,zc),使任意一个区域控制器传输的数据都可以被环上其他所有的区域控制器监测到。车辆网络模型一般还包括中央控制器,中央控制器可以与至少一个区域控制器连接,以实现与全部的区域控制器之间数据传输。
64.其中,区域控制器可以用于接收并传输对应区域的传感器采集的车辆运行信息、以及基于控制指令控制对应区域的执行机构。中央控制器可以用于接收区域控制器传输的车辆运行信息、基于车辆运行信息生成相应的控制指令、以及发出控制指令。
65.图1示出了一种车辆网络模型的结构示意图。如图1所示,车辆网络模型包括一个中央控制器和八个区域控制器。其中,八个区域控制器连接成环形网络,区域控制器2、区域控制器5和区域控制器7分别与中央控制器直接连接。通过上述车辆网络模型,每两个控制器之间均可以通过对应的链路进行数据传输。
66.以区域控制器2向中央控制器发送数据为例,区域控制器2可以通过与中央控制器之间的数据传输链路,将数据直接发送至中央控制器,以使中央控制器接收数据。
67.以区域控制器1向中央控制器发送数据为例,区域控制器1可以通过与中央控制器之间最短的数据传输链路,将数据经过区域控制器2发送至中央控制器,以使中央控制器接收数据。
68.以区域控制器1向区域控制器8发送数据为例,区域控制器1可以通过与区域控制器8之间最短的数据传输链路,将数据依次经过区域控制器2、区域控制器3和区域控制器5发送至区域控制器8,以使区域控制器8接收数据。
69.基于上述的车辆网络模型,本公开实施例提供了一种能够在数据传输过程中不占用cpu资源的数据传输方法、装置、数据传输设备及存储介质。
70.下面结合图2-图10对本公开实施例提供的数据传输的架构、数据传输方法、装置、
数据传输设备及存储介质进行示例性说明。
71.图2示出了本公开实施例提供的一种数据传输的架构图。
72.如图2所示,该架构图包括数据发起设备10、数据传输设备20和数据接收设备30。其中,数据传输设备20可以分别与数据发起设备10和数据接收设备30通信连接。数据发起设备10可以包括物理内存空间101。
73.在本公开实施例中,数据发起设备10可以是发起数据传输请求的设备。数据发起设备10可以是图1中的中央控制器也可以是区域控制器。数据发起设备10的物理内存空间101的第一目标物理地址上可以存储有待传输数据。
74.在本公开一些实施例中,数据传输设备20可以安装在数据发起设备10中。例如,数据发起设备10可以是主设备,数据传输设备20可以是从设备,或者,数据传输设备20可以是数据发起设备10中的一个模块。
75.在本公开另一些实施例中,数据传输设备20可以是数据发起设备10的外部设备,即数据传输设备20和数据发起设备10可以是两个独立的设备。
76.在本公开实施例中,数据传输设备20可以是网络组件。数据传输设备20的第一目标虚拟地址可以用于缓存待传输数据的虚拟地址。
77.在一些实施例中,数据传输设备20可以为以现场可编程逻辑门阵列(field programmable gate array,fpga)为核心的网络组件。
78.在另一些实施例中,数据传输设备20可以为进阶精简指令集机器(advanced risc machine,arm)为核心的网络组件。
79.在又一些实施例中,数据传输设备20可以为精简指令集计算机(reduced instruction set computing,risc)为核心的网络组件。
80.在本公开实施例中,数据接收设备30可以是接收数据的设备。在数据发起设备10是中央控制器的情况下,数据接收设备30可以是图1中的区域控制器,在数据发起设备10是区域控制器的情况下,数据接收设备30可以是图1中的中央控制器或者区域控制器。
81.基于上述架构,当数据发起设备10发起数据传输请求时,数据传输设备20可以接收数据传输请求,并且响应于数据传输请求,根据数据传输请求,查询待传输数据对应的第一目标物理地址和第一目标虚拟地址,进而利用直接存储器访问技术,将待传输数据由第一目标物理地址直接读取至第一目标虚拟地址,以通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备30,由此,在数据传输的过程中,无需数据发起设备10的cpu参与,即可实现数据发起设备向数据接收设备传输数据的整个过程,可以有效地降低对数据发起设备的cpu资源的占用,进而降低数据发起设备的cpu负载,从而保证对车辆进行自动化控制的可靠性,提高了车辆自动化驾驶的安全性。
82.图3示出了本公开实施例提供的另一种数据传输的架构图。
83.如图3所示,该架构与图2示出的架构基本相同,区别仅在于:
84.在图2的基础上增加了第一传输设备40,数据接收设备30包括物理内存空间301。
85.其中,第一传输设备40可以分别与数据传输设备20和数据接收设备30建立通信连接并进行信息交互。第一传输设备40的第二目标虚拟地址可以用于缓存待传输数据的虚拟地址。
86.在本公开实施例中,第一传输设备40可以是网络组件。
87.在一些实施例中,第一传输设备40可以为以fpga为核心的网络组件。
88.在另一些实施例中,第一传输设备40以为arm为核心的网络组件。
89.在又一些实施例中,第一传输设备40可以为risc为核心的网络组件。
90.在本公开实施例中,数据接收设备30的物理内存空间301的第二目标物理地址可以接收待传输数据。
91.基于上述架构,数据传输设备20在利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,基于第二地址映射关系,查询第一目标虚拟地址对应的第二目标虚拟地址,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第一传输设备40中的第二目标虚拟地址,第一传输设备40接收到待传输数据后,根据预先存储的地址映射关系,查询第二目标虚拟地址对应的第二目标物理地址,使得第一传输设备40能够利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址。
92.图4示出了本公开实施例提供的另一种数据传输的架构图。
93.如图4所示,该架构与图2示出的架构基本相同,区别仅在于:
94.在图2的基础上,数据发起设备10还包括内核102。其中,内核102分别与物理内存空间101和数据传输设备20建立通信连接并进行信息交互。其中,数据发起设备10的cpu可以包括内核102。
95.在本公开实施例中,待传输数据的数据类型可以为目标数据类型或者为非目标数据类型。目标数据类型可以为直接存储器访问技术所针对的数据所属的数据类型。非目标数据类型可以为其他协议所针对的数据所属的数据类型。其他协议可以包括:局域网协议、全双工通信协议等,在此不作限制。
96.基于上述架构,在数据传输设备20接收到接收数据传输请求之后,可以响应于数据传输请求,根据数据传输请求,查询待传输数据对应的第一目标物理地址和第一目标虚拟地址,并且判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,则数据传输设备20可以利用直接存储器访问技术,将目标数据类型的待传输数据由第一目标物理地址直接读取至第一目标虚拟地址;如果待传输数据对应的数据类型为非目标数据类型,则数据传输设备20可以通过全双工通信网络或者(控制器局域网络(controller area network,can)总线等方式接收数据发起设备的内核发送的待传输数据,并将待传输数据缓存至第一目标虚拟地址。
97.由此,在数据传输过程中,对不同数据类型的待传输数据,可以采用不同的数据传输方式,以使数据传输过程适应多种场景,提高了数据传输过程的灵活性。
98.图5示出了本公开实施例提供的再一种数据传输的架构图。
99.如图5所示,该架构与图4示出的架构基本相同,区别仅在于:
100.在图4的基础上,数据接收设备30的cpu也可以包括内核302。
101.基于上述架构,在数据传输设备20接收到接收数据传输请求之后,可以响应于数据传输请求,根据数据传输请求,查询待传输数据对应的第一目标物理地址和第一目标虚拟地址,并且判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,则数据传输设备20可以利用直接存储器访问技术,将目标数据类型的待传输数据由第一目标物理地址直接读取至第一目标虚拟地址;如果待传输数据
对应的数据类型为非目标数据类型,则数据传输设备20可以通过全双工通信网络或者can总线等方式接收数据发起设备的内核发送的待传输数据,并将待传输数据缓存至第一目标虚拟地址。进一步地,数据传输设备20可以通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二目标虚拟地址,使得第一传输设备40能够判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,则第一传输设备40可以利用直接存储器访问技术,将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址;如果待传输数据对应的数据类型为非目标数据类型,第一传输设备40可以将待传输数据通过数据接收设备30的内核302向数据接收设备30发送待传输数据。
102.基于上述架构,下面结合图6-图8对本公开实施例提供的数据传输方法进行说明。在本公开实施例中,该数据传输方法可以由数据传输设备执行。该数据传输设备可以为图2-图5中所示的数据传输设备20。
103.在本公开实施例中,数据传输设备可以与数据发起设备建立通信连接并进行信息交互。
104.在本公开一些实施例中,数据传输设备可以安装在数据发起设备中,因此,数据发起设备可以是主设备,数据传输设备可以是从设备,或者,数据传输设备可以是数据发起设备中的一个模块。
105.在本公开另一些实施例中,数据传输设备可以是数据发起设备的外部设备,即数据传输设备和数据发起设备可以是两个独立的设备。
106.在本公开实施例中,数据传输设备可以是网络组件。
107.在一些实施例中,数据传输设备可以为以fpga为核心的网络组件。
108.在另一些实施例中,数据传输设备可以为arm为核心的网络组件。
109.在又一些实施例中,数据传输设备可以为risc为核心的网络组件。
110.图6示出了本公开实施例提供的一种数据传输方法的流程示意图。
111.如图6所示,该数据传输方法可以包括如下步骤。
112.s610、接收数据发起设备的数据传输请求。
113.在本公开实施例中,数据发起设备可以是用于发起数据传输的设备。可选的,数据发起设备可以是图1中的中央控制器或者是区域控制器。
114.在本公开实施例中,数据传输请求可以是用于触发发送待传输数据的请求。其中,待传输数据可以为生成数据传输请求的目标设备程序所需传输的数据。
115.具体的,当数据发起设备需要向数据传输设备发送待传输数据时,可以向数据传输设备发送数据传输请求,以使数据传输设备接收数据传输请求,并响应于数据传输请求传输待传输数据。
116.s620、根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址。
117.在本公开实施例中,第一目标物理地址可以存储有待传输数据。其中,物理地址可以为数据发起设备中物理内存空间中的地址。
118.在本公开实施例中,第一目标虚拟地址可以为用于缓存待传输数据的虚拟地址。其中,虚拟地址可以为数据传输设备中虚拟存储空间中的地址。
119.具体的,数据传输设备接收到数据传输请求之后,可以响应于数据传输请求,查询
与待传输数据相关联的第一目标物理地址和第一目标虚拟地址。
120.在本公开一些实施例中,数据传输请求可以携带有设备程序标识。
121.相应的,s620可以具体包括:
122.查询设备程序标识对应的第一目标物理地址;
123.基于第一地址映射关系,查询第一目标物理地址对应的第一目标虚拟地址。
124.具体的,数据传输设备接收到数据传输请求之后,可以响应于数据传输请求,对数据传输请求进行解析,得到数据传输请求携带的设备程序标识,并查询设备程序标识对应的第一目标物理地址,根据第一地址映射关系,查询第一目标物理地址对应的第一目标虚拟地址。
125.在本公开实施例中,设备程序标识可以为数据传输请求对应的目标设备程序的标识号码(identity document,id)。其中,数据传输请求对应的目标设备程序可以对应唯一的物理地址。
126.其中,设备程序可以为与自动化驾驶相关的程序。例如,设备程序可以为区域控制器中的用于接收并传输对应区域的传感器采集的车辆运行信息以及基于控制指令控制对应区域的执行机构的程序。再例如,设备程序可以为中央控制器中的用于接收区域控制器传输的车辆运行信息、基于车辆运行信息生成相应的控制指令、以及发出控制指令的程序。
127.在本公开实施例中,第一地址映射关系可以为预先存储在数据接收设备内的地址映射关系。
128.在本公开实施例中,可选地,在s610之前,数据接收设备可以基于指令通道,预先建立数据发起设备中的物理地址和数据传输设备中的虚拟地址之间的第一地址映射关系。可选地,指令通道可以包括用于建立各个设备程序的设备程序接口指向的物理地址与数据传输设备的虚拟地址之间的地址映射关系的指令集。
129.在本公开另一些实施例中,数据传输请求可以携带有设备程序标识。
130.相应的,s620可以具体包括:
131.查询与设备程序标识关联存储的第一目标物理地址和第一目标虚拟地址。
132.具体的,数据传输设备接收到数据传输请求之后,可以响应于数据传输请求,对数据传输请求进行解析,得到数据传输请求携带的设备程序标识,并查询与设备程序标识关联存储的第一目标物理地址和第一目标虚拟地址。
133.在本公开实施例中,可选地,在s610之前,数据接收设备可以基于指令通道,预先确定数据发起设备中的物理地址对应的数据传输设备中的虚拟地址,并且将各个物理地址、各个物理地址所属的设备程序的设备程序标识和各个物理地址对应的虚拟地址关联存储。
134.s630、利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址。
135.在本公开实施例中,数据发起设备可以配置直接存储器访问技术接口,以使数据传输设备可以直接通过直接存储器访问技术接口利用直接存储器访问技术读取数据发起设备所需传输的待传输数据。
136.以数据发起设备为图1中的中央控制器为例,可以采用arm平台作为中央控制器,并且在arm平台下配置直接存储器访问技术接口,以使中央控制器在arm平台下配置直接存
储器访问模块,数据传输设备可以直接获取arm平台所需传输的待传输数据。
137.在本公开一些实施例中,直接存储器访问技术可以是远程直接内存访问(remote direct memory access,rdma)技术。
138.在本公开另一些实施例中,直接存储器访问技术可以是超级直接内存访问(ultraremote direct memory access,udma)技术。
139.具体地,数据传输设备在查询到第一目标物理地址和第一目标虚拟地址之后,可以利用直接存储器访问技术,通过数据发起设备所具有的基于无限带宽技术(infiniband,ib)技术生成的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第一目标物理地址直接读取至第一目标虚拟地址,无需数据发起设备的cpu参与。ib协议栈可以是基于ib技术生成的协议组合。
140.s640、通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备。
141.在本公开实施例中,预设数据传输网络可以是预先设置的用于与外部设备之间进行数据传输的任意网络。可选地,预设数据传输网络可以为can、时间敏感网络(time-sensitive networking,tsn),在此不作限定。
142.在本公开实施例中,数据接收设备可以是接收数据的设备。在数据发送设备是图1中的中央控制器的情况下,数据接收设备可以是图1中的区域控制器。在数据发送设备是图1中的区域控制器的情况下,数据接收设备可以是图1中的中央控制器或者区域控制器。
143.具体的,在数据传输设备将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据由第一目标虚拟地址传输至数据接收设备。
144.由此,在本公开实施例中,数据传输设备可以将第一目标虚拟地址中缓存的待传输数据发送至数据接收设备,以使数据接收设备可以接收到待传输数据,完成对待传输数据的传输。
145.在本公开实施例中,能够在接收到数据发起设备的数据传输请求时,根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址,并利用直接存储器访问技术,将数据发起设备中的第一目标物理地址所存储的待传输数据缓存至待传输数据的第一目标虚拟地址,进而通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备,因此,无需数据发起设备的cpu参与,即可实现数据发起设备向数据接收设备传输数据的整个过程,可以有效地降低对数据发起设备的cpu资源的占用,进而降低了数据发起设备的cpu负载,从而保证对车辆进行自动化控制的可靠性,提高了车辆自动化驾驶的安全性。
146.在本公开另一种实施方式中,为了使数据传输过程适应多种场景,数据传输设备可以根据待传输数据的数据类型,确定待传输数据的传输方式。
147.在本公开实施例中,在数据传输设备接收到数据传输请求之后,响应于数据传输请求,根据数据传输请求,查询待传输数据对应的第一目标物理地址和第一目标虚拟地址,可以根据数据传输请求判断待传输数据对应的数据类型是否为目标数据类型,对不同数据类型的待传输数据,可以采用不同的数据传输方式。
148.在本公开一些实施例中,s630可以包括:
149.在待传输数据的数据类型为目标数据类型的情况下,利用直接存储器访问技术,
将待传输数据由第一目标物理地址读取至第一目标虚拟地址;
150.其中,目标数据类型为直接存储器访问技术所针对的数据所属的数据类型。
151.进一步的,直接存储器访问技术所针对的数据所属的数据类型可以是实时性要求较高的数据类型。可选地,目标数据类型的数据可以包括:车辆制动数据、车辆运行数据等、在此不作限制。
152.在本公开实施例中,数据传输设备可以预先配置直接存储器访问技术对应的目标数据类型。
153.具体的,数据传输设备查询到第一目标物理地址和第一目标虚拟地址之后,可以根据数据传输请求判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,可以利用直接存储器访问技术,通过数据发起设备所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址,无需数据发起设备的cpu参与。
154.继续参见图4所示的数据传输的架构图,数据传输设备20查询到第一目标物理地址和第一目标虚拟地址之后,可以基于待传输数据所携带的数据类型标识,确定待传输数据对应的数据类型,如果待传输数据对应的数据类型为目标数据类型,数据传输设备20可以利用直接存储器访问技术,通过数据发起设备的物理内存空间101所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址,无需数据发起设备的内核102参与,即无需数据发起设备的cpu参与。
155.在本公开另一些实施例中,在s620之后,数据传输方法还包括:
156.在待传输数据的数据类型为非目标数据类型的情况下,接收数据发起设备的内核所发送的非目标数据类型的待传输数据;
157.将非目标数据类型的待传输数据缓存至第一目标虚拟地址。
158.其中,非目标数据类型不是直接存储器访问技术所针对的数据所属的数据类型。
159.在本公开实施例中,在待传输数据的数据类型为非目标数据类型的情况下,数据发起设备可以将非目标数据类型的待传输数据经过数据发起设备的内核发送至数据传输设备。其中,数据发起设备的内核可以为图4中的内核102。
160.具体的,数据传输设备查询到第一目标物理地址和第一目标虚拟地址之后,可以根据数据传输请求判断待传输数据对应的数据类型是否包括非目标数据类型,如果待传输数据对应的数据类型为非目标数据类型,通过全双工通信网络或者can总线接收数据发起设备的内核发送的非目标数据类型的待传输数据,也就是说,非目标数据类型的待传输数据可以由数据发起设备的物理内存空间经过内核传输至数据传输设备,需要数据发起设备的cpu参与。
161.继续参见图4所示的数据传输的架构图,数据传输设备20查询到第一目标物理地址和第一目标虚拟地址之后,可以基于待传输数据所携带的数据类型标识,确定待传输数据对应的数据类型,如果待传输数据对应的数据类型为非目标数据类型,物理内存空间101向内核102传输非目标数据类型的待传输数据,使得数据传输设备20通过全双工通信网络或者can总线接收数据发起设备10的内核102发送的非目标数据类型的待传输数据,该过程需要数据发起设备的内核102参与,即需要数据发起设备的cpu参与。
162.在本公开实施例中,内核102可以在linux系统中构建。可选地,内核102可以包括linux内核,cpu可以包括linux内核和内核驱动。
163.其中,linux内核可以通过提供统一的驱动操作接口供物理内存空间101使用,linux内核可以是linux系统的核心程序,主要完成任务调度、内存管理、输入输出设备管理等等功能。内核驱动可以是在物理内存空间101的统一的接口下实现硬件的操控的中间层,可以使linux系统有效管理数据发起设备10的其他硬件。
164.由此,在本公开实施例中,可以根据待传输数据的数据类型,采用对应的数据传输方式,以使数据传输过程适应多种场景,提高了数据传输过程的灵活性。
165.在本公开又一种实施方式中,为了降低数据接收设备的cpu参与数据传输过程,数据传输设备可以通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第一传输设备,第一传输设备可以利用直接存储器访问技术将待传输数据直接传输至数据接收设备,上述数据传输过程不需要数据接收设备的cpu参与数据传输过程,降低数据接收设备的cpu的负载。
166.在本公开一些实施例中,s640可以包括:
167.通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第一传输设备,第一传输设备与数据接收设备连接、且第一传输设备用于利用直接存储器访问技术将待传输数据传输至数据接收设备。
168.在本公开实施例中,第一传输设备可以是与数据接收设备以及数据传输设备均直接连接的设备。
169.在一些实施例中,第一传输设备可以为以fpga为核心的网络组件。
170.在另一些实施例中,第一传输设备可以为以arm为核心的网络组件。
171.在又一些实施例中,第一传输设备可以为以risc为核心的网络组件。
172.具体的,数据传输设备将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据由第一目标虚拟地址传输至第一传输设备,第一传输设备利用直接存储器访问技术,通过数据接收设备所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据传输至数据接收设备,无需数据接收设备的cpu参与。
173.在一些实施例中,s640可以包括:
174.基于第二地址映射关系,查询第一目标虚拟地址对应的第二目标虚拟地址,第二目标虚拟地址为第一传输设备中用于缓存待传输数据虚拟地址;
175.通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二目标虚拟地址;
176.其中,第一传输设备用于利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,第二目标物理地址为数据接收设备中用于存储待传输数据的物理地址。
177.在本公开实施例中,第二地址映射关系可以为预先存储在第一传输设备内的地址映射关系。
178.在本公开实施例中,第二目标虚拟地址可以为用于缓存待传输数据的虚拟地址。其中,目标虚拟地址可以为第一传输设备中虚拟存储空间中的地址。
179.在本公开实施例中,第二目标物理地址可以接收待传输数据。其中,物理地址可以为数据接收设备中物理内存空间的地址。
180.在本公开实施例中,可选地,在s610之前,数据接收设备可以基于指令通道,预先建立数据传输设备中的虚拟地址与第一传输设备中的虚拟地址之间的第二地址映射关系。可选地,指令通道可以包括用于建立各设备程序的设备程序接口指向的物理内存空间与数据传输设备的虚拟地址之间的地址映射关系的指令集。
181.具体的,数据传输设备将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,基于第二地址映射关系,查询第一目标虚拟地址对应的第二目标虚拟地址,并利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据由第一目标虚拟地址传输至第一传输设备中的第二目标虚拟地址,第一传输设备接收到待传输数据后,可以根据预先存储的地址映射关系,查询第二目标虚拟地址对应的第二目标物理地址,使得第一传输设备可以利用直接存储器访问技术,将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,无需数据接收设备的cpu参与。
182.继续参见图3所示的数据传输的架构图,数据传输设备20将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,基于第二地址映射关系,基于第二地址映射关系,查询第一目标虚拟地址对应的第二目标虚拟地址,根据预设数据传输网络协议,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第一传输设备40中的第二目标虚拟地址,第一传输设备40接收到待传输数据后,可以根据预先存储的地址映射关系,查询第二目标虚拟地址对应的第二目标物理地址,第一传输设备40可以利用直接存储器访问技术,通过数据接收设备30的物理内存空间301所具有的所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第二目标虚拟地址直接传输至数据接收设备30的物理内存空间301,即第一传输设备可以根据预先存储的地址映射关系,查询第二目标虚拟地址对应的第二目标物理地址,并将待传输数据由第一目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,无需数据接收设备30内核302参与,即无需数据接收设备的cpu参与。
183.在本公开实施例中,可选地,第一传输设备接收到待传输数据之后,能够判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,则第一传输设备可以利用直接存储器访问技术,将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址;如果待传输数据对应的数据类型为非目标数据类型,第一传输设备可以将待传输数据通过数据接收设备的内核向数据接收设备发送待传输数据。
184.由此,在本公开实施例中,数据传输设备将待传输数据由第一虚拟地址传输至第一传输设备中的第二目标虚拟地址,使得第一传输设备可以利用直接存储器访问技术将待传输数据由第二目标虚拟地址直接传输至第一目标虚拟地址对应的第二目标物理地址,该数据传输过程不需要数据接收设备的cpu参与数据传输过程,因此,数据发起设备的cpu和数据接收设备的cpu均不需要参与数据传输过程,降低数据发起设备的cpu和数据接收设备的cpu的负载。
185.在本公开另一些实施例中,s640可以包括:
186.通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二传输设
备,第二传输设备用于通过预设数据传输网络将待传输数据传输至第一传输设备,第一传输设备与数据接收设备连接、且第一传输设备用于利用直接存储器访问技术将待传输数据传输至数据接收设备。
187.在本公开实施例中,第二传输设备可以是与数据接收设备以及第一传输设备均直接连接的设备。
188.具体的,数据传输设备将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据由第一目标虚拟地址传输至第二传输设备,第二传输设备根据接收到待传输数据所携带的数据接收方标识,确定该待传输设备的数据接收设备,如果数据接收设备是第二传输设备所属的控制器,则第二传输设备可以利用直接存储器访问技术,将待传输数据传输至该控制器;如果数据接收设备是与第二传输设备连接第一传输设备所属的控制器,则第二传输设备可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据传输至与其第二传输设备连接的第一传输设备,使得第一传输设备可以利用直接存储器访问技术,通过数据发起设备所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据传输至数据接收设备。如果数据接收设备也不是与第二传输设备连接的下一个第二传输设备所属的控制器,则该第二传输设备可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据传输至下一个第二传输设备,该下一个第二传输设备可以继续执行上述步骤,直至将待传输数据传输至第一传输设备,使得第一传输设备可以利用直接存储器访问技术,通过数据发起设备所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据传输至数据接收设备。
189.在一些实施例中,s640可以包括:
190.基于第三地址映射关系,查询第一目标虚拟地址对应的第三目标虚拟地址,第三目标虚拟地址为第二传输设备中用于缓存待传输数据虚拟地址;
191.通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第三目标虚拟地址;
192.其中,第二传输设备用于通过预设数据传输网络将待传输数据由第三目标虚拟地址传输至第三目标虚拟地址对应的第二目标虚拟地址,第二目标虚拟地址为第一传输设备中用于缓存待传输数据虚拟地址,第一传输设备用于利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,第二目标物理地址为数据接收设备中用于存储待传输数据的物理地址。
193.在本公开实施例中,第三地址映射关系可以为预先存储在第二传输设备内的地址映射关系。
194.在本公开实施例中,第三目标虚拟地址可以为用于缓存待传输数据的虚拟地址。其中,第三目标虚拟地址可以为第二传输设备中虚拟存储空间中的地址。
195.在本公开实施例中,第二目标物理地址可以接收待传输数据。其中,物理地址可以为数据接收设备中物理内存空间的地址。
196.在本公开实施例中,可选地,在s610之前,数据接收设备可以基于指令通道,预先建立数据传输设备中的虚拟地址与第二传输设备中的虚拟地址之间的第三地址映射关系。
可选地,指令通道可以包括用于建立各设备程序的设备程序接口指向的物理内存空间与数据传输设备的虚拟地址之间的地址映射关系的指令集。
197.具体地,第二传输设备在向第一传输设备发送待传输数据之前,可以首先基于第三地址映射关系,查询第一目标虚拟地址对应的第三目标虚拟地址,以通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第三目标虚拟地址。第一传输设备在接收到待传输数据之后,可以基于预先存储的地址映射关系,查询第二目标虚拟地址对应的第二目标物理地址,并利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标物理地址。
198.在本公开实施例中,可选地,第一传输设备接收到待传输数据之后,能够判断待传输数据对应的数据类型是否为目标数据类型,如果待传输数据对应的数据类型为目标数据类型,则第一传输设备可以利用直接存储器访问技术,将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址;如果待传输数据对应的数据类型为非目标数据类型,第一传输设备可以将待传输数据通过数据接收设备的内核向数据接收设备发送待传输数据。
199.由此,在本公开实施例中,数据传输设备将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以根据第三地址映射关系,查询与第一目标虚拟地址对应的第三目标虚拟地址,可以利用预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二传输设备中的第三目标虚拟地址,使得第二传输设备可以利用预设数据传输网络,通过预设数据传输网络对应的网络传输协议,将待传输数据由第三目标虚拟地址传输至第三目标虚拟地址对应的第一传输设备中的第二目标虚拟地址,进一步使得第一传输设备利用直接存储器访问技术,通过数据接收设备的物理内存空间所具有的所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,该数据传输过程可以实现通过第二传输设备间接传输待传输数据,可以适用于对间接连接的控制器之间进行数据传输。
200.综上,在本公开实施例中,数据传输设备可以通过预设数据传输网络,将待传输数据由第一目标虚拟地址直接传输至第一传输设备,实现通过第一传输设备直接传输将待传输数据传输至数据接收设备,可以适用于对直接连接的控制器之间进行数据传输;或者,将待传输数据由第一目标虚拟地址先传输至第二传输设备,再由第二传输设备传输至第一传输设备,进一步通过第一传输设备传输将待传输数据传输至数据接收设备,实现通过第二传输设备间接传输待传输数据,可以适用于对间接连接的控制器之间进行数据传输。
201.在本公开再一种实施方式中,为了提高待传输数据由第一目标虚拟地址传输至数据接收设备的传输效率,预设数据传输网络可以包括时间敏感网络。
202.在本公开实施例中,时间敏感网络可以定义以太网数据传输的时间敏感机制,为标准以太网增加了确定性和可靠性,以确保以太网能够为数据传输数据的传输提供稳定一致的服务级别。
203.在本公开一些实施例中,s640可以包括:
204.将待传输数据加入时间敏感网络的传输队列,传输队列用于根据目标传输优先级和待传输数据所携带的时间戳确定待传输数据的第一传输顺序、且用于按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备,目标传输优先级为待传输数据的
数据类型所属的传输优先级。
205.在本公开实施例中,时间敏感网络的传输队列可以为用于传输数据的队列。
206.在本公开实施例中,第一传输顺序可以为用于传输待传输数据的队列顺序。
207.在一些实施例中,通过时间敏感网络进行数据传输时,可以根据时间戳配置协议为待传输数据配置时间戳,即确定待传输数据所携带的时间戳。
208.在本公开实施例中,在s610之前,该方法还可以包括:
209.确定数据发起设备的各数据的数据类型;
210.配置各数据类型的传输优先级,并确定每个数据类型对应的优先级标识。
211.具体的,数据传输设备可以根据预先设置的类型划分标准,确定数据发起设备的各数据的数据类型,并根据时间敏感网络的优先级标准,生成各数据类型对应的优先级代码(prioritycode point,pcp),优先级代码可以由3位代码构成,优先级代码用于表征传输优先级,并为每个传输优先级配置对应的优先级标识。
212.由此,数据传输设备可以在将待传输数据加入传输队列之前,查询待传输数据的数据类型所属的目标优先级,并为待传输数据添加目标优先级标识。
213.进一步的,数据接收设备为待传输数据添加目标优先级标识之后,可以根据目标优先级标识确定待传输数据对应的目标优先级,将待传输数据加入时间敏感网络的传输队列,数据接收设备中的传输列队所属的传输模块根据待传输数据对应的目标优先级和待传输数据所携带的时间戳,更新传输队列的队列顺序,以使待传输数据所携带的时间戳小的待传输数据排在传输队列的前边,在待传输数据所携带的时间戳相同的情况下,将优先传输优先级高的待传输数据排在传输队列的前边,将更新后的传输队列的队列顺序作为待传输数据的第一传输数据的第一传输顺序,进而使传输列队所属的传输模块按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
214.在另一些实施例中,通过时间敏感网络进行数据传输时,也可以不配置时间戳。因此,数据接收设备为待传输数据添加目标优先级标识之后,可以根据目标优先级标识确定待传输数据对应的目标优先级,将待传输数据加入时间敏感网络的传输队列,数据接收设备中的传输列队所属的传输模块根据待传输数据对应的目标优先级更新传输队列的队列顺序,以使优先传输优先级高的待传输数据排在传输队列的前边,将更新后的传输队列的队列顺序作为待传输数据的第一传输数据的第一传输顺序,进而使传输列队所属的传输模块按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
215.由此,在本公开实施例中,可以根据待传输数据对应的目标优先级更新传输队列的队列顺序,使得目标优先级高的待传输数据优先传输,或者,待传输数据对应的目标优先级和待传输数据所携带的时间戳,更新传输队列的队列顺序,以使待传输数据所携带的时间戳小且目标优先级高的待传输数据优先传输,从而提高待传输数据的传输效率。
216.在本公开另一些实施例中,s640可以包括:
217.将待传输数据加入时间敏感网络的传输队列,数据传输序列用于根据待传输数据所携带的时间戳确定待传输数据的第二传输顺序、且用于按照第二传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
218.在本公开实施例中,第二传输顺序可以为用于传输待传输数据的队列顺序。
219.在本公开实施例中,通过时间敏感网络进行数据传输时,可以根据时间戳配置协
议为待传输数据配置时间戳,即确定待传输数据所携带的时间戳。
220.具体的,数据接收设备确定待传输数据所携带的时间戳之后,可以根据待传输数据的时间更新传输队列的队列顺序,以使待传输数据所携带的时间戳小的待传输数据排在传输队列的前边,将更新后的传输队列的队列顺序作为待传输数据的第二传输数据的第一传输顺序,进而使传输队列所属的传输模块按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
221.由此,在本公开实施例中,可以根据待传输数据所携带的时间戳,更新传输队列的队列顺序,以使待传输数据所携带的时间戳小的待传输数据优先传输,从而提高待传输数据的传输效率。
222.在本公开实施例中,数据传输设备20利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以通过tsn将待传输数据由第一目标虚拟地址传输至第一传输设备中的第二目标虚拟地址,使得第一传输设备可以利用直接存储器访问技术,通过数据接收设备所具有的ib协议栈中的直接存储器访问协议对应的直接存储器访问技术,将待传输数据由第二目标虚拟地址直接传输至数据接收设备的物理内存空间。
223.由此,在本公开实施例中,数据传输设备可以利用rdma并通过tsn对待传输数据进行传输,在降低数据发起设备与数据接收设备的cpu的同时,可以降低数据传输的时延和带宽。
224.为了提高预设数据传输网络的启动速度,可以将预设数据传输网络配置在数据传输设备中,以在数据传输设备启动过程中,启动预设数据传输网络,可以提高预设数据传输网络的启动时间。
225.图7示出了本公开实施例提供的另一种数据传输方法的流程示意图。
226.如图7所示,该数据传输方法可以包括如下步骤。
227.s710、在启动过程中,从带电可擦可编程只读存储器中加载预设数据传输网络对应的网络配置数据。
228.在本公开实施例中,启动过程可以是数据传输设备的开机和上电过程。
229.在本公开实施例中,数据传输设备可以配置预设数据传输网络模块。
230.在本公开实施例中,网络配置数据可以为用于配置预设数据传输网络的参数。
231.其中,预设数据传输网络模块对应的预设数据传输网络可以包括tsn。
232.相应的,s710可以包括:
233.在启动过程中,从带电可擦可编程只读存储器中加载tsn对应的网络配置数据。
234.具体的,在数据传输设备启动过程中,可以数据传输设备可以生成网络配置数据的加载请求,响应于加载请求,从带电可擦可编程只读存储器中加载预设数据传输网络模块中的tsn对应的网络配置数据,以对tsn进行网络配置,并且,预设数据传输网络模块包括tsn对应的协议,便于在进行数据传输时,可以通过配置好的tsn,按照预设数据传输网络对应的协议,将数据发起设备发送的待传输数据传输至数据接收设备。
235.在本公开实施例中,带电可擦可编程只读存储器(electricity erasable programmable read-only memory,eeprom)可以为一种按用户要求对存储矩阵编程或擦除的只读存储器。eeprom可以预先存储配置文件。
236.在本公开实施例中,配置文件可以是用于存储预设数据传输网络的网络参数的文件。
237.在本公开实施例中,网络参数可以为能够独立的反应网络特性的参数。可选的,网络参数可以包括:预设数据传输网络的名称、媒体存取控制位址(media access control address,mac地址)、互联网协议地址(internet protocol address,ip地址)、网络接口、子网掩码、网关地址等,在此不作限制。
238.可选的,tsn对应的协议可以包括:802.1as协议、802.1qbv协议、802.1qcb协议、802.1qbu协议等。其中,不同协议对应不同的数据传输格式,以使tsn按照协议对应的格式传输数据。
239.s720、接收数据发起设备的数据传输请求。
240.s730、根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址。
241.s740、利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址。
242.s750、通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备。
243.其中,s720-s750与上述的s610-s640相似,在此不做赘述。
244.图8示出了本公开实施例提供的一种数据传输设备启动过程的逻辑示意图。
245.如图8所示,fpga801可以为数据传输设备,数据传输设备中配置预设数据传输网络模块,预设数据传输网络模块为tsn模块802,tsn模块包括802.1as协议、802.1qbv协议、802.1qcb协议、802.1qbu协议等,每个协议对应eth1、eth2、eth3、eth4等数据格式。在数据传输设备启动过程中,从eeprom803中加载tsn对应的网络配置数据,以根据网络配置数据配置tsn。
246.由此,在本公开实施例中,由于预设数据传输网络模块配置在fpga中,利用fpga配置tsn,相比于利用arm-linux配置tsn的方式来说,可以提高tsn的配置速度,以大幅提高tsn模块的启动速度,并且,由于tsn模块的启动速度提高,提高了tsn模块的启动过程中的时间精度,进而在数据发起设备和数据接收设备进行时间同步时,提高时间同步精度。
247.为了提高数据传输的效率,在本公开实施例中,在预设数据传输网络包括时间敏感网络的情况下,配置文件中还可以包括优先等级配置文件,优先等级配置文件可以用于存储各个优先等级对应的优先等级标识。
248.其中,不同的优先等级可以对应不同的优先级代码,并对应唯一的优先等级标识。
249.具体的,数据传输网络将待传输数据由第一目标物理地址读取至第一目标虚拟地址之后,可以基于优先等级配置文件的优先等级标识,查找待传输数据对应的目标优先等级标识,通过时间敏感网络,根据目标优先等级标识对应的目标优先级和待传输数据的时间,将待传输数据由第一目标虚拟地址传输至数据接收设备。
250.由此,在本公开实施例中,由于配置文件包括优先等级配置文件,使得数据传输设备通过时间敏感网络,根据待传输数据对应的目标优先等级传输和时间,将待传输数据由第一目标虚拟地址传输至数据接收设备,可以提高待传输数据传输的效率,解决网络传输的不准确问题,从而降低网络传输的带宽和延迟,保证待传输数据传输的实时性。
251.本公开实施例还提供了一种用于实现上述的数据传输方法的数据传输装置,下面
结合图9进行说明。在本公开实施例中,该数据传输装置可以为数据传输设备。其中,数据传输设备可以为以fpga为核心的设备。
252.图9示出了本公开实施例提供的一种数据传输装置的结构示意图。
253.如图9所示,可以包括:请求接收模块910、地址查询模块920、数据读取模块930、数据传输模块940。
254.其中,请求接收模块910,可以配置为接收数据发起设备的数据传输请求;
255.地址查询模块920,可以配置根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址,第一目标物理地址为数据发起设备中存储有待传输数据的物理地址,第一目标虚拟地址为用于缓存待传输数据的虚拟地址;
256.数据读取模块930,可以配置为利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址;
257.数据传输模块940,可以配置为通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备。
258.在本公开实施例中,能够在接收到数据发起设备的数据传输请求时,根据数据传输请求,查询第一目标物理地址和第一目标虚拟地址,并利用直接存储器访问技术,将数据发起设备中的第一目标物理地址所存储的待传输数据缓存至待传输数据的第一目标虚拟地址,进而通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至数据接收设备,因此,无需数据发起设备的cpu参与,即可实现数据发起设备向数据接收设备传输数据的整个过程,可以有效地降低对数据发起设备的cpu资源的占用,进而降低了数据发起设备的cpu负载,从而保证对车辆进行自动化控制的可靠性,提高了车辆自动化驾驶的安全性。
259.在本公开一些实施例中,数据传输请求携带有设备程序标识;
260.其中,地址查询模块920可以包括:第一目标物理地址查询单元和第一目标虚拟地址查询单元。
261.第一目标物理地址查询单元可以用于查询设备程序标识对应的第一目标物理地址。
262.第一目标虚拟地址查询单元可以用于基于第一地址映射关系,查询第一目标物理地址对应的第一目标虚拟地址。
263.在本公开一些实施例中,数据读取模块930还可以用于,在待传输数据的数据类型为目标数据类型的情况下,利用直接存储器访问技术,将待传输数据由第一目标物理地址读取至第一目标虚拟地址;
264.其中,目标数据类型为直接存储器访问技术所针对的数据所属的数据类型。
265.在本公开一些实施例中,数据传输模块940还可以配置为,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第一传输设备,第一传输设备与数据接收设备连接、且第一传输设备用于利用直接存储器访问技术将待传输数据传输至数据接收设备。
266.在本公开一些实施例中,数据传输模块940可以包括:第二目标虚拟地址查询单元和第一数据传输单元。
267.其中,第二目标虚拟地址查询单元,可以配置为基于第二地址映射关系,查询第一目标虚拟地址对应的第二目标虚拟地址,第二目标虚拟地址为第一传输设备中用于缓存待
传输数据虚拟地址。
268.第一数据传输单元,可以配置为通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二目标虚拟地址;
269.其中,第一传输设备用于利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,第二目标物理地址为数据接收设备中用于存储待传输数据的物理地址。
270.在本公开一些实施例中,数据传输模块940还可以配置为,通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第二传输设备,第二传输设备用于通过预设数据传输网络将待传输数据传输至第一传输设备,第一传输设备与数据接收设备连接、且第一传输设备用于利用直接存储器访问技术将待传输数据传输至数据接收设备。
271.在本公开一些实施例中,数据传输模块940可以包括:第三目标虚拟地址查询单元和第二数据传输单元。
272.其中,第二目标虚拟地址查询单元,可以配置为基于第三地址映射关系,查询第一目标虚拟地址对应的第三目标虚拟地址,第三目标虚拟地址为第二传输设备中用于缓存待传输数据虚拟地址。
273.第二数据传输单元,可以配置为通过预设数据传输网络,将待传输数据由第一目标虚拟地址传输至第三目标虚拟地址;
274.其中,第二传输设备用于通过预设数据传输网络将待传输数据由第三目标虚拟地址传输至第三目标虚拟地址对应的第二目标虚拟地址,第二目标虚拟地址为第一传输设备中用于缓存待传输数据虚拟地址,第一传输设备用于利用直接存储器访问技术将待传输数据由第二目标虚拟地址传输至第二目标虚拟地址对应的第二目标物理地址,第二目标物理地址为数据接收设备中用于存储待传输数据的物理地址。
275.在本公开一些实施例中,预设数据传输网络包括时间敏感网络。
276.在本公开一些实施例中,数据传输模块940还可以配置为,将待传输数据加入时间敏感网络的传输队列,传输队列用于根据目标传输优先级和待传输数据所携带的时间戳确定待传输数据的第一传输顺序、且用于按照第一传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备,目标传输优先级为待传输数据的数据类型所属的传输优先级。
277.在本公开一些实施例中,数据传输模块940还可以配置为,将待传输数据加入时间敏感网络的传输队列,数据传输序列用于根据待传输数据所携带的时间戳确定待传输数据的第二传输顺序、且用于按照第二传输顺序将待传输数据由第一目标虚拟地址传输至数据接收设备。
278.在本公开一些实施例中,该装置还包括:网络配置数据加载模块。
279.其中,网络配置数据加载模块,可以配置为在启动过程中,从带电可擦可编程只读存储器中加载预设数据传输网络对应的网络配置数据。
280.需要说明的是,图9所示的数据传输装置900可以执行图6和图7所示的方法实施例中的各个步骤,并且实现图6和图7所示的方法实施例中的各个过程和效果,在此不做赘述。
281.图10示出了本公开实施例提供的一种数据传输设备的结构示意图。
282.如图10所示,该数据传输设备可以包括处理器1001以及存储有计算机程序指令的存储器1002。
283.具体地,上述处理器1001可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
284.存储器1002可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器1002可以包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器1002可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1002可在综合网关设备的内部或外部。在特定实施例中,存储器1002是非易失性固态存储器。在特定实施例中,存储器1002包括只读存储器(read-only memory,rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable rom,prom)、可擦除prom(electrical programmable rom,eprom)、电可擦除prom(electrically erasable programmable rom,eeprom)、电可改写rom(electrically alterable rom,earom)或闪存,或者两个或及其以上这些的组合。
285.处理器1001通过读取并执行存储器1002中存储的计算机程序指令,以执行本公开实施例所提供的数据传输方法的步骤。
286.在一个示例中,该车辆还可包括收发器1003和总线1004。其中,如图10所示,处理器1001、存储器1002和收发器1003通过总线1004连接并完成相互间的通信。
287.总线1004包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industrial standard architecture,isa)总线、无限带宽互连、低引脚数(low pin count,lpc)总线、存储器总线、微信道架构(micro channel architecture,mca)总线、外围控件互连(peripheral component interconnect,pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,sata)总线、视频电子标准协会局部(video electronics standards association local bus,vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1004可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
288.本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器1002,上述指令可由计算设备的处理器1002执行以完成本公开实施例所提供的数据传输方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(random access memory,ram)、光盘只读存储器(compact discrom,cd-rom)、磁带、软盘和光数据存储设备等。
289.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
290.以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对
这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献