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

数据传输方法、装置、计算机可读存储介质及处理器与流程

2022-02-22 19:50:46 来源:中国专利 TAG:


1.本发明涉及数据传输领域,具体而言,涉及一种数据传输方法、装置、计算机可读存储介质及处理器。


背景技术:

2.随着汽车智能化、网联化时代的到来,智能驾驶技术的高速发展,高质量汽车娱乐系统、ota远程升级、v2x、大数据、云计算等技术的应用,使得车载网络的带宽需求爆发式增长,传统的车载网络(can、lin、flexray)已经无法满足当前的需求,亟需一种高带宽、可开放、可扩展、兼容性强及网络聚合便捷的车载网络,同时满足车载严格法规要求、车载电气环境、高可靠性要求。因此,车载以太网应运而生。
3.普通车载以太网虽然能够满足如上的需求,但却满足不了车载网络对传输实时性的要求。因为以太网默认的转发机制是“best effort”(尽力而为)。当数据包抵达交换机端口后,本着先入先出的原则进行转发。当网络中传输的数据量较大时,或突然有大量的数据包一瞬间抵达端口时,交换机只能通过缓存的方式延时转发,若需要处理的数据量超出了交换机的物理缓存,则会造成数据丢失。无论是时延还有数据的丢失都给汽车的功能实现和安全带来了很大的挑战。
4.为了解决这一问题,现主要是使用tsn(时间敏感网络)协议,tsn是以以太网为基础的新一代网络标准,具有时间同步、延时保证等确保实时性的功能。tas(时间感知整形器)使tsn交换机能够来控制队列流量,时间敏感的以太网帧会被标识基于优先级的vlan tag,并放在特定的出口队列中。每个队列有一个时间表,数据队列报文在预定时间窗口在出口执行传输,其它队列将被锁定在规定时间窗口里。因此消除了时间敏感数据被非其他数据所影响的结果。另外,tsn技术虽然性能突出,但上层协议直接调用非常复杂,因此,目前行业内没有成功的tsn与上层协议集成的案例。
5.针对上述现有技术无法满足时间敏感数据的传输时效的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本发明实施例提供了一种数据传输方法、装置、计算机可读存储介质及处理器,以至少解决现有技术无法满足时间敏感数据的传输时效的技术问题。
7.根据本发明实施例的一个方面,提供了一种数据传输方法,包括:通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,所述时间敏感数据在指定发出时间从出口队列发出;确定所述时间敏感数据从所述预定接口传输至所述出口队列的预定传输时间;基于所述指定发出时间和所述预定传输时间确定发起时间,其中,所述发起时间用于指示将所述时间敏感数据从所述预定接口向所述出口队列发送的时机;按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输。
8.可选地,所述出口队列为多个,按照所述发起时间将所述时间敏感数据发送至所
述出口队列进行传输包括:在多个所述出口队列中选择用于传输所述时间敏感数据的出口队列;按照所述发起时间将所述时间敏感数据发送至确定的所述出口队列进行传输。
9.可选地,在多个所述出口队列中选择用于传输所述时间敏感数据的出口队列包括:获取所述时间敏感数据的预设调度表,其中,所述预设调度表用于表示每个所述时间敏感数据传输对应的出口队列;根据所述预设调度表为每个所述时间敏感数据分配对应的出口队列。
10.可选地,在多个所述出口队列中选择用于传输所述时间敏感数据的出口队列包括:获取多个所述出口队列在所述时间敏感数据对应的指定发出时间的出口状态,其中,所述出口状态包括开状态和关状态;确定一个在所述时间敏感数据对应的指定发出时间为开状态的出口队列为用于传输所述时间敏感数据的出口队列。
11.可选地,在多个所述出口队列中选择用于传输所述时间敏感数据的出口队列包括:获取多个所述出口队列的优先级;确定高优先级的出口队列为用于传输所述时间敏感数据的出口队列。
12.可选地,进入同一出口队列的所述时间敏感数据包括第一时间敏感数据和第二时间敏感数据,按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输包括:确定所述第一时间敏感数据的第一指定发出时间和所述第二时间敏感数据的第二指定发出时间,其中,所述第一指定发出时间晚于所述第二指定发出时间;在第二发起时间将所述第二时间敏感数据发送至所述出口队列传输后,在第一发起时间将所述第一时间敏感数据发送至所述出口队列传输。
13.可选地,基于所述指定发出时间和所述预定传输时间确定发起时间包括:确定所述发起时间早于所述指定发出时间,且所述发起时间与所述指定发出时间的时间间隔高于所述预定传输时间。
14.根据本发明实施例的一个方面,提供了一种数据传输装置,包括:获取单元,用于通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,所述时间敏感数据在指定发出时间从出口队列发出的数据;第一确定单元,用于确定所述时间敏感数据从所述预定接口传输至所述出口队列的预定传输时间;第二确定单元,用于基于所述指定发出时间和所述预定传输时间确定发起时间,其中,所述发起时间用于指示将所述时间敏感数据从所述预定接口向所述出口队列发送的时机;传输单元,用于按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输。
15.根据本发明实施例的一个方面,提供了一种数据传输系统,包括:应用层,用于通过应用程序提供时间敏感数据,其中,所述时间敏感数据在指定发出时间从出口队列发出;时间敏感网络传输层,用于通过预定接口获取所述时间敏感数据;确定所述时间敏感数据从所述预定接口传输至所述出口队列的预定传输时间;基于所述指定发出时间和所述预定传输时间确定发起时间;按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输,其中,所述发起时间用于指示将所述时间敏感数据从所述预定接口向所述出口队列发送的时机;硬件控制层,用于将基于所述发起时间发送至所述出口队列的所述时间敏感数据按照所述指定发出时间进行传输根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所
在设备执行上述所述数据传输方法。
16.根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述数据传输方法。
17.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
附图说明
18.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种数据传输方法的流程图;图2是根据本发明实施例的一种确定时延的时间敏感网络(tsn)调度系统的示意图;图3是根据本发明实施例的一种tsn tp 高精度控制传输模型的示意图;图4是根据本发明实施例的一种数据传输装置的示意图;图5是根据本发明实施例的一种数据传输设备的示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
20.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.根据本发明实施例,提供了一种数据传输方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
22.图1是根据本发明实施例的一种数据传输方法的流程图,如图1所示,该方法包括如下步骤:步骤s102,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,所述时间敏感数据在指定发出时间从出口队列发出;步骤s104,确定所述时间敏感数据从所述预定接口传输至所述出口队列的预定传输时间;步骤s106,基于所述指定发出时间和所述预定传输时间确定发起时间,其中,所述发起时间用于指示将所述时间敏感数据从所述预定接口向所述出口队列发送的时机;步骤s108,按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输。
23.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
24.在上述步骤s102中,应用程序可以是车载应用程序,通过该应用实现对车辆的控制,如对车辆的门窗控制、空调控制、车载大屏显示控制等。
25.在上述步骤s102中,时间敏感数据可以是预先设定的对传输时间有较高要求的数据,也可以是应用时间敏感数据时对数据到达处理器的时间有较高要求;例如与智能驾驶相关的数据。
26.在上述步骤s102中,应用程序可以通过中间件将时间敏感数据传输至时间敏感网络传输模块,再由时间敏感网络传输模块将时间敏感数据传输至车辆端。
27.可选地,中间件主要用于为应用程序提供平台化的运行环境,屏蔽底层通信的接口差异,便于应用软件在不同平台移植。
28.在上述步骤s102中,时间敏感网络传输模块配置有预定接口,预定接口可以是多个应用程序共用的通用化调用接口,专用于接收应用程序通过中间件传输的时间敏感数据。
29.在上述步骤s104中,每一时间敏感数据发送至对应的出口队列,每一出口队列中包括排列有多个数据,出口队列按照数据的排列顺序依次发出。
30.在上述步骤s104中,时间敏感数据可以通过时间敏感网络传输模块从应用程序传输至总线上,由总线传输给车辆数据执行端,使车辆数据执行端可以在规定时间内收到时间敏感数据。
31.在上述步骤s104中,预定传输时间可以通过预先测量得到。
32.可选地,时间敏感网络传输模块包括存储模块和处理模块,时间敏感网络传输模块在收到时间敏感数据后,可以将时间敏感数据存入存储模块中,以及通过处理模块对时间敏感数据进行高精度传输控制、错误检测、以及报文处理。
33.可选地,时间敏感数据在时间敏感网络传输模块内的传输时间为预定传输时间。由于时间敏感数据需要按照指定发出时间从出口队列发出,但是时间敏感数据在从时间敏感网络模块的预定接口传输至出口队列的过程也需要耗费时间,因此可以预先测量时间敏感数据从预定接口传输至出口队列的过程中所需耗费的时间,得到预定传输时间。
34.在上述步骤s106中,若时间敏感数据需要按照指定发出时间从出口队列发出,则需要确定该时间敏感数据在时间敏感网络模块中传输的预定传输时间,使应用程序在指定发出时间之前,将时间敏感数据传输至时间敏感网络传输模块的预定接口,再经过预定传输时间将时间敏感数据从预定接口或者时间敏感网络传输模块的存储模块发送至出口队列。
35.需要说明的是,不同的时间敏感数据可能会有不同的预定传输时间,预定传输时间取决于时间敏感数据的长度,按照时间敏感网络传输模块需要传输的所有的时间敏感数据中最长的时间敏感数据确定预定传输时间,可以保证任何时间敏感性数据都能在预定传输时间内从预定接口传输至出口队列。
36.可选地,时间敏感网络传输模块在通过预定接口收到时间敏感数据后,可以立即将时间敏感数据发送至出口队列;也可以先对接收到的时间敏感数据进行存储,再按照发起时间将时间敏感数据发送至出口队列。
37.在一个实施例中,应用程序向预定接口提供时间敏感数据后,时间敏感网络传输模块应在发起时间立即将时间敏感数据发送至出口队列;若应用程序早于发起时间向预定接口提供时间敏感数据,则先对预定接口收到的时间敏感数据进行存储,再在发起时间开始将时间敏感数据发送至出口队列。
38.在上述步骤s108中,将时间敏感数据发送至出口队列时,可以将时间敏感数据直接发送至出口队列,使时间敏感数据可以按照出口队列中的数据排列顺序发出。
39.可选地,应用程序可以提供多种类型的报文,在报文的类型属于时间敏感数据的情况下,可以由预定接口接收敏感数据;在报文不属于时间敏感数据的情况下,可以由通用接口接收报文。
40.作为一种可选的实施例,出口队列为多个,按照发起时间将时间敏感数据发送至出口队列进行传输包括:在多个出口队列中选择用于传输时间敏感数据的出口队列;按照发起时间将时间敏感数据发送至确定的出口队列进行传输。
41.本发明上述实施例,在出口队列为多个的情况下,可以在多个出口队列中选择能够将时间敏感数据在指定发出时间发出的出口队列;并按照发起时间向该出口队列发送时间敏感数据,进而使该时间敏感数据可以按照指定发出时间从出口队列发出。
42.作为一种可选的实施例,在多个出口队列中选择用于传输时间敏感数据的出口队列包括:获取时间敏感数据的预设调度表,其中,预设调度表用于表示每个时间敏感数据传输对应的出口队列;根据预设调度表为每个时间敏感数据分配对应的出口队列。
43.本发明上述实施例,通过预设调度表计量每个时间敏感数据和出口队列的对应关系,在为时间敏感数据分配出口队列的情况下,可以基于该预设调度表进行分配。
44.可选地,时间敏感数据为多个,可以通过任务调度表计量各个时间敏感数据从出口队列发出的指定发出时间。
45.可选地,出口队列通过周期性门控制列表控制是否可以传输数据,进而出口队列
在不同时间段的开关状态(即是否可以传输数据)可以由网络时间进度表进行定义。
46.可选地,为了确保各个时间敏感数据可以按照指定发出时间从出口队列发出,可以根据任务度量表和网络时间进度表确定预设调度表,由预设调度表用于表示每个时间敏感数据传输对应的出口队列。
47.作为一种可选的实施例,在多个出口队列中选择用于传输时间敏感数据的出口队列包括:获取多个出口队列在时间敏感数据对应的指定发出时间的出口状态,其中,出口状态包括开状态和关状态;确定一个在时间敏感数据对应的指定发出时间为开状态的出口队列为用于传输时间敏感数据的出口队列。
48.可选地,出口队列的出口设有门逻辑开关,门逻辑开关用于控制所述出口队列的出口状态,门逻辑开关打开,出口队列的出口状态即为开状态,门逻辑开关关闭,出口队列的出口状态即为关状态,出口队列在指定发出时间的出口状态为开状态的情况下,出口队列中的数据可以从出口队列发出;在出口状态为关状态的情况下,出口队列中的数据不可以从出口队列发出。
49.可选地,出口队列可以根据预设调度表配置的开关时间控制出口队列的出口状态,预设调度表配置的开关时间用于指示各个队列中各时间敏感数据的指定发出时间,针对某一出口队列,在队列中的时间敏感数据的指定发出时间,出口队列需要处于开状态。出口队列包括顺序排列的多个时间敏感数据,一般情况下,顺序靠前的时间敏感数据对应的指定发出时间早于顺序靠后的时间敏感数据的指定发出时间。
50.作为一种可选的实施例,多个出口队列均可以具有开状态和关状态,为了确保时间敏感数据可以按照指定发出时间从出口队列发出,可以将时间敏感数据发送至在指定发出时间为开状态的出口队列,从而该出口队列可以在指定发出时间将时间敏感数据从该出口队列输出。
51.作为一种可选的实施例,在多个出口队列中选择用于传输时间敏感数据的出口队列包括:获取多个出口队列的优先级;确定高优先级的出口队列为用于传输时间敏感数据的出口队列。
52.本发明上述实施例,在出口队列为多个的情况下,多个出口队列按优先级排列,其中,在多个出口队列均为开状态的情况下,优先级较高的出口队列可以优先发出数据,为了确保时间敏感数据能够按照指定发出时间从出口队列发出,在选择出口队列的过程中,可以选择高优先级的出口队列为发送时间敏感数据的出口队列,从而高优先级的出口队列可以在指定发出时间将时间敏感数据从该出口队列输出。
53.作为一种可选的实施例,进入同一出口队列的时间敏感数据包括第一时间敏感数据和第二时间敏感数据,按照发起时间将时间敏感数据发送至出口队列进行传输包括:确定第一时间敏感数据的第一指定发出时间和第二时间敏感数据的第二指定发出时间,其中,第一指定发出时间晚于第二指定发出时间;在第二发起时间将第二时间敏感数据发送至出口队列传输后,在第一发起时间将第一时间敏感数据发送至出口队列传输。
54.例如,应用程序先提供第一时间敏感数据,后提供第二时间敏感数据;如果,第一指定发出时间晚于第二指定发出时间,在将时间敏感数据发送至出口队列的过程中,可以先将第二时间敏感数据发送至出口队列,后将第一时间敏感数据发送至出口队列的;也即,确定第一时间敏感数据的第一发起时间晚于第二时间敏感数据的第二发起时间,在第二发
起时间发起第二时间敏感数据的传输后,在第一发起时间发起第一时间敏感数据的传输。
55.可选地,如果第一指定发出时间早于第二指定发出时间,在将时间敏感数据发送至出口队列的过程中,可以先将第一时间敏感数据发送至出口队列,后将第二时间敏感数据发送至出口队列的;也即,确定第一时间敏感数据的第一发起时间早于第二时间敏感数据的第二发起时间,在第一发起时间发起第一时间敏感数据的传输后,在第二发起时间发起第二时间敏感数据的传输。
56.本发明上述实施例,指定发出时间靠后的时间敏感数据即便先传输至预定接口,也需要等候指定发出时间靠前的时间敏感数据发送至出口队列后,再将指定发出时间靠后的时间敏感数据发送至出口队列。
57.作为一种可选的实施例,基于指定发出时间和预定传输时间确定发起时间包括:确定发起时间早于指定发出时间,且发起时间与指定发出时间的时间间隔高于预定传输时间。
58.本发明上述实施例,发起时间用于指示将时间敏感数据从预定接口发送至出口队列的时机,进而在按照发起时间将时间敏感数据发送至出口队列后,仍需经过预定传输时间后才能将时间敏感数据从出口队列中输出,因此,为了确保时间敏感数据能够按照指定发出时间从出口队列中输出,便需要在指定发出时间之前,确定与指定发出时间相隔高于预定传输时间的发起时间,则确定的发起时间即为将时间敏感数据从预定接口发送至出口队列的最晚时机,进而可以在指定时间之前选择发起时间作为将时间敏感数据从预定接口发送至出口队列的最晚时机。
59.本发明还提供了一种优选实施例,该优选实施例提供了一种确定时延的时间敏感网络(tsn)调度系统。
60.本发明的目的在于:能够在车载网络中对实时性要求高的报文在极其确定性的时间到达接收端。
61.可选地,本发明的时间敏感网络传输层,向上层应用层中的通信中间件(其中,通信中间件,用于对接tsn tp模块)提供了与传统网络调用类似的接口,向下负责操作复杂的tsn tas时间感知整形技术,从而同时兼具了开发的低难度和高时间确定性。
62.本发明所提供的方法适用于时间敏感型网络(需要传输时间敏感报文的系统)中周期帧的确定性发送和接收,可兼容多种应用层协议及中间件传输,如 dds、mqtt、someip等。
63.需要说明的是,时间敏感数据包括周期帧,用于表示需要按照预定周期传输的数据,该数据需要在特定时间(或时间周期)确定已经发送或已经接收。
64.在进行数据传输前,先配置为上层应用使用的中间件提供预定接口,完成tsn tp 模块的集成工作,获取上层应用发送的时间敏感数据。
65.之后,通过预先测量确定所有时间敏感数据的预定传输时间,具体包括:基于搭建的时间敏感网络传输模块,获取所有任务相关的时间敏感报文从tsn tp 模块发起传输发送到出口队列所需的最小时间和最大时间,将所述最大时间确定为预定传输时间。
66.同时,明确系统中对时间高度敏感的周期发送报文信息内容及要求,如智驾应用对发送周期的要求、时延的要求等等,基于预定传输时间,完成对任务调度表的设计。
67.图2是根据本发明实施例的一种确定时延的时间敏感网络(tsn)调度系统的示意
图,如图2所示,整个系统主要分为三部分:应用层app(即应用模块)、tsn tp模块(即时间敏感网络传输模块)、硬件控制部分(即硬件控制模块)。
68.第一部分是应用层,搭载发出时间敏感数据的应用程序,包含汽车上的应用软件模块及中间件,应用软件模块主要是车载应用的软件实现,如门窗控制、大屏显示等。
69.可选地,在应用层设置的通信中间件与时间敏感传输网络(即tsn tp)对接,其通信中间件主要用于给应用软件模块提供平台化的运行环境,屏蔽了底层通信的接口差异,便于应用软件在不同平台移植。应用层产生时间敏感报文,中间件将根据每个报文发送到tsn tp模块。
70.第二部分是tsn tp模块,也是本技术的主要内容。为了实现对时间敏感报文高精确度接收,首先需要确保报文的发送时间是确定性的,因此需要严格控制报文从应用层发送到出口队列的时间。考虑到通过应用层去精确控制报文发送时间会使应用层开发变得更复杂,本设计利用了中间件的设计思想,构建了tsn tp时间敏感网络传输模块,为应用层提供标准接口(即预定接口),如果应用层有发送时间敏感报文的需求,可直接调用tsntp的标准接口(即预定接口),由tsn tp模块来完成时间精确控制的功能。
71.第三部分是硬件控制部分,使用qbv协议,基于预先设定的周期性门控制列表,动态地为出口队列提供开/关控制使出口队列处于开状态或关状态。
72.可选地,这个门有“开”、“关”两个状态(例如mos管的开关可进行开关控制),在将时间敏感数据向出口队列传输的过程中,可以在多个出口队列中按照预先约定的规则选择用于传输时间敏感数据的出口队列,在由选择的出口队列将时间敏感数据传输出去。
73.可选地,在选择过程中,仅选择那些出口队列的门是“开”状态的出口队列,即根据网络时间进度表规定的时间,使队列门处于开状态后将数据传输出去。
74.可选地,门的状态由网络时间进度表进行定义,网络时间进度表配置了所述出口队列在不同时间段的开关状态。
75.可选地,根据任务调度表和网络时间进度表确定预设调度表,其中,任务调度表用于表示各个时间敏感数据从出口队列发出的指定发出时间,网络时间进度表配置了所述出口队列在不同时间段的开关状态,预设调度表用于表示每个时间敏感数据传输对应的出口队列。
76.可选地,关闭没有传输时间敏感数据的出口队列的队列门,则实现对该出口队列的流量关闭,这样就能保障那些对传输时间要求严格的队列的带宽和延迟时间。
77.可选地,在选中开状态的出口队列传输时间敏感数据后,将报文发送到总线上或其他物理层或传递给板内其他的芯片进行传输。
78.可选地,若同时有两个队列门的状态是打开的,且均有报文传输,则先发送优先级高的报文。
79.可选地,传输过程包括:第一步:应用层预先定义有与各个任务相关的时间敏感报文(时间敏感数据),应用层进行的每个任务都是有任务调度的,任务调度表配置有任务被触发调度的时间,针对某一任务,任务调度的时间到了就会触发发送该任务相关的数据,当一个报文被识别为预先定义的时间敏感报文时触发tsn tp 模块的数据传输流程,即当系统中的时间敏感报文(即时间敏感数据)触发发送时,应用层获取任务相关的时间敏感数据以报文的形式传送给
tsn tp模块。
80.第二步:tsn tp 模块收到应用层发送的时间敏感报文(即时间敏感数据)后,根据预设调度表中的报文发送时间和报文出口队列,将报文发送到相应的出口队列中。
81.可选地,待出口队列的门开启时,即图2中传输门为开启状态时,报文将被发送出去。图2的若干传输门中,有两个门同时打开的,且都有数据要传输就要进行传输选择,传输选择的原则为按照优先级选择传输哪一个。
82.图3是根据本发明实施例的一种tsn tp 高精度控制传输模型的示意图,如图3所示,为了更详细地说明报文传输时延的确定性设计,假设有三个app报文app1、app2、app3,分别在t1、t3、t2时刻从应用层的中间件发送到tsntp模块,并要求在t1时刻、t2时刻和t3时刻进入到出口队列。
83.可选地,为了确保每个app报文能够在预先设计好的队列门开启前到达出口队列中,可以对报文从tsntp到出口队列所需的时间进行了预先测试,得到了一个时间范围tc,因此,在门开启前需要预留tc的时间供报文从tsntp传输到出口队列中等待被发送,来保证传输门开启时能够及时将报文发送出去。
84.可选地,app1从ta时刻开始从tsntp模块发送,经历小于等于tc的时间到达预先设计好的出口队列7,等待队列7的门开关变成开启状态(为了简化设计,当前同一时刻8个队列仅有一个队列的门开关是处于开启状态)将报文发送出去。
85.可选地,app1发送完成后,tsntp模块在t2-tc时刻开始发送app2,值得注意的是虽然app3早于app2进入到tsntp模块,但由于整个时间敏感系统里报文的发送都是确定性、预先设计好的,因此仍需先发送app2报文,进入到出口队列,按照同样地过程,在t3-tc时刻发送app3报文。通过这样的设计,保证了时间敏感报文能够在确定性的时间发送进而保证了接收方在确定性的时间可以收到报文。
86.本发明提供的技术方案,构建了一个tsn tp模块对应用层发送的时间敏感数据进行高精确度传输控制、错误检测、信息处理等,时间敏感数据根据应用对时间精度的要求来进行定义。
87.需要说明的是,时间敏感数据多为与智能驾驶相关的数据,需要保证在确定性的时间能够被接收方收到。
88.本发明提供的技术方案,通过在系统中增加时间戳,预先测量出从tsn tp模块将时间敏感数据发送到出口队列所需的时间范围,通过控制tsn tp 模块的数据发送时间实现时间敏感数据从tsn tp模块到硬件出口队列传输延迟的精确化控制,从出口队列出去之后就到传输线上传输了。
89.本发明提供的技术方案,通过对任务调度表及qbv中门控制列表的设计,实现了时间敏感报文的精确性传输(传输延迟固定、不会存在帧抢占等情况)。
90.本发明提供的技术方案,tsn tp模块可为上层中间件提供通用化调用接口,以方便不同的中间件如dds,mqtt, someip 进行调用。
91.本发明提供的技术方案,内核采用 af_packet skb queue 硬件队列的调用方式来进一步减少从tsn tp 模块到出口队列的发送时延。
92.本发明提供的方法在对于确定性网络通信来讲,具有以下优点:1、通过设计tsn tp 通用对外接口,解决了现有tsn 所提供的接口与上层中间件
兼容的问题。
93.2、通过控制报文从tsn tp发送及到达队列的时间,辅以对门对列的设计,解决了现有tsn qbv传输时延不确定的问题,使时间敏感报文的接收时间更加准确。
94.3、通过在tsn tp模块中增加一些报文处理机制、错误检测机制等,简化了上层应用对报文的处理。
95.根据本发明实施例,还提供了一种数据传输装置实施例,需要说明的是,该数据传输装置可以用于执行本发明实施例中的数据传输方法,本发明实施例中的数据传输方法可以在该数据传输装置中执行。
96.图4是根据本发明实施例的一种数据传输装置的示意图,如图4所示,该装置可以包括:获取单元42,用于通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,所述时间敏感数据在指定发出时间从出口队列发出的数据;第一确定单元44,用于确定所述时间敏感数据从所述预定接口传输至所述出口队列的预定传输时间;第二确定单元46,用于基于所述指定发出时间和所述预定传输时间确定发起时间,其中,所述发起时间用于指示将所述时间敏感数据从所述预定接口向所述出口队列发送的时机;传输单元48,用于按照所述发起时间将所述时间敏感数据发送至所述出口队列进行传输。
97.需要说明的是,该实施例中的获取单元42可以用于执行本技术实施例中的步骤s102,该实施例中的第一确定单元44可以用于执行本技术实施例中的步骤s104,该实施例中的第二确定单元46可以用于执行本技术实施例中的步骤s106,该实施例中的传输单元48可以用于执行本技术实施例中的步骤s108。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
98.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
99.作为一种可选的实施例,出口队列为多个,传输单元包括:选择模块,用于在多个出口队列中选择用于传输时间敏感数据的出口队列;发送模块,用于按照发起时间将时间敏感数据发送至确定的出口队列进行传输。
100.作为一种可选的实施例,选择模块包括:第一获取模块,用于获取时间敏感数据的预设调度表,其中,预设调度表用于表示每个时间敏感数据传输对应的出口队列;分配模块,用于根据预设调度表为每个时间敏感数据分配对应的出口队列。
101.作为一种可选的实施例,选择模块包括:第二获取模块,用于获取多个出口队列在时间敏感数据对应的指定发出时间的出口状态,其中,出口状态包括开状态和关状态;第一确定模块,用于确定一个在时间敏感数据对应的指定发出时间为开状态的出口队列为用于传输时间敏感数据的出口队列。
102.作为一种可选的实施例,选择模块包括:第三获取模块,用于获取多个出口队列的
优先级;第二确定模块,用于确定高优先级的出口队列为用于传输时间敏感数据的出口队列。
103.作为一种可选的实施例,进入同一出口队列的时间敏感数据包括第一时间敏感数据和第二时间敏感数据,传输单元包括:第三确定模块,用于确定第一时间敏感数据的第一指定发出时间和第二时间敏感数据的第二指定发出时间,其中,第一指定发出时间晚于第二指定发出时间;传输模块,用于在第二发起时间将第二时间敏感数据发送至出口队列传输后,在第一发起时间将第一时间敏感数据发送至出口队列传输。
104.作为一种可选的实施例,第二确定单元包括:第三确定模块,用于确定发起时间早于指定发出时间,且发起时间与指定发出时间的时间间隔高于预定传输时间。
105.图5是根据本发明实施例的一种数据传输设备的示意图,如图5所示,该设备可以包括:应用层52,用于通过应用程序提供时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;时间敏感网络传输层54,用于通过预定接口获取时间敏感数据;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间;按照发起时间将时间敏感数据发送至出口队列进行传输,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;硬件控制层56,用于将基于发起时间发送至出口队列的时间敏感数据按照指定发出时间进行传输。
106.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
107.本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
108.可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
109.在本实施例中,上述计算机终端通过处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输。
110.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间
将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
111.可选地,出口队列为多个,上述处理器还可以执行如下步骤的程序代码:在多个出口队列中选择用于传输时间敏感数据的出口队列;按照发起时间将时间敏感数据发送至确定的出口队列进行传输。
112.可选地,上述处理器还可以执行如下步骤的程序代码:获取时间敏感数据的预设调度表,其中,预设调度表用于表示每个时间敏感数据传输对应的出口队列;根据预设调度表为每个时间敏感数据分配对应的出口队列。
113.可选地,上述处理器还可以执行如下步骤的程序代码:获取多个出口队列在时间敏感数据对应的指定发出时间的出口状态,其中,出口状态包括开状态和关状态;确定一个在时间敏感数据对应的指定发出时间为开状态的出口队列为用于传输时间敏感数据的出口队列。
114.可选地,上述处理器还可以执行如下步骤的程序代码:获取多个出口队列的优先级;确定高优先级的出口队列为用于传输时间敏感数据的出口队列。
115.可选地,进入同一出口队列的时间敏感数据包括第一时间敏感数据和第二时间敏感数据,上述处理器还可以执行如下步骤的程序代码:按照发起时间将时间敏感数据发送至出口队列进行传输包括:确定第一时间敏感数据的第一指定发出时间和第二时间敏感数据的第二指定发出时间,其中,第一指定发出时间晚于第二指定发出时间;在第二发起时间将第二时间敏感数据发送至出口队列传输后,在第一发起时间将第一时间敏感数据发送至出口队列传输。
116.可选地,上述处理器还可以执行如下步骤的程序代码:确定发起时间早于指定发出时间,且发起时间与指定发出时间的时间间隔高于预定传输时间。
117.本发明的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述计算机可读存储介质可以用于保存上述数据传输方法所执行的程序代码。
118.可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
119.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输。
120.在本发明实施例中,通过为应用程序提供的预定接口获取应用程序提供的时间敏感数据,其中,时间敏感数据在指定发出时间从出口队列发出;确定时间敏感数据从预定接口传输至出口队列的预定传输时间;基于指定发出时间和预定传输时间确定发起时间,其中,发起时间用于指示将时间敏感数据从预定接口向出口队列发送的时机;按照发起时间将时间敏感数据发送至出口队列进行传输;可以使按照发起时间从预定接口向出口队列发
送的时间敏感数据能够按照指定发出时间进行传输,达到了按照指定发出时间对时间敏感数据进行传输的目的,从而实现了确保时间敏感数据的传输时效的技术效果,进而解决了现有技术无法满足时间敏感数据的传输时效技术问题。
121.可选地,出口队列为多个,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在多个出口队列中选择用于传输时间敏感数据的出口队列;按照发起时间将时间敏感数据发送至确定的出口队列进行传输。
122.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取时间敏感数据的预设调度表,其中,预设调度表用于表示每个时间敏感数据传输对应的出口队列;根据预设调度表为每个时间敏感数据分配对应的出口队列。
123.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取多个出口队列在时间敏感数据对应的指定发出时间的出口状态,其中,出口状态包括开状态和关状态;确定一个在时间敏感数据对应的指定发出时间为开状态的出口队列为用于传输时间敏感数据的出口队列。
124.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取多个出口队列的优先级;确定高优先级的出口队列为用于传输时间敏感数据的出口队列。
125.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:进入同一出口队列的时间敏感数据包括第一时间敏感数据和第二时间敏感数据,按照发起时间将时间敏感数据发送至出口队列进行传输包括:确定第一时间敏感数据的第一指定发出时间和第二时间敏感数据的第二指定发出时间,其中,第一指定发出时间晚于第二指定发出时间;在第二发起时间将第二时间敏感数据发送至出口队列传输后,在第一发起时间将第一时间敏感数据发送至出口队列传输。
126.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定发起时间早于指定发出时间,且发起时间与指定发出时间的时间间隔高于预定传输时间。
127.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
128.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
129.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
130.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
131.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
132.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
133.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献