CN115665057A - 数据处理方法、装置、非易失性存储介质及计算机设备 - Google Patents
数据处理方法、装置、非易失性存储介质及计算机设备 Download PDFInfo
- Publication number
- CN115665057A CN115665057A CN202211296819.8A CN202211296819A CN115665057A CN 115665057 A CN115665057 A CN 115665057A CN 202211296819 A CN202211296819 A CN 202211296819A CN 115665057 A CN115665057 A CN 115665057A
- Authority
- CN
- China
- Prior art keywords
- sensitive
- stream
- time
- flow
- queue
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 abstract description 44
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据处理方法、装置、非易失性存储介质及计算机设备。其中,该方法包括:获取业务数据流,其中,业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,其中,用户态协议栈位于端设备的操作***的用户态,用户态协议栈包括支持确定性转发的时间敏感网络协议。本发明解决了端设备采用内核态协议栈处理报文转发导致无法对时间敏感流进行快速地确定性转发的技术问题。
Description
技术领域
本发明涉及网络通信领域,具体而言,涉及一种数据处理方法、装置、非易失性存储介质及计算机设备。
背景技术
时间敏感网络(Time-Sensitive Networking,TSN)是当前国内外产业界正在积极推动的下一代全新以太网通信技术。时间敏感性网络允许周期性和非周期性业务共网传输,可以确保关键业务流数据传输时延的上限,极大推动了传统以太网传输时间的确定性。TSN技术通过时钟同步、流量调度确保网络传输端到端时间的确定性。
组成TSN网络的设备包括端用来发送和接收TSN数据流的设备,还包括用来传输TSN数据流的TSN网络设备。智能工厂领域有大量的端计算设备,例如边缘服务器、工控机、PC计算机等,智能驾驶领域的计算平台例如域控制器(DCU)等计算单元也可能需要处理TSN数据流。这些计算单元通常由网络应用程序、操作***(Linux)和网络协议栈构成;计算单元和TSN网络设备一起组网构成了整个TSN网络。目前的网络协议栈基于内核态,不具备时间同步和调度功能,是无法满足确定性网络传输要求。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、装置、非易失性存储介质及计算机设备,以至少解决端设备采用内核态协议栈处理报文转发导致无法对时间敏感流进行快速地确定性转发的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取业务数据流,其中,所述业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;基于用户态协议栈,将所述业务数据流中的时间敏感流确定性转发至目标端设备,其中,所述用户态协议栈位于所述端设备的操作***的用户态,所述用户态协议栈包括支持确定性转发的时间敏感网络协议。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取业务数据流,其中,所述业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;转发模块,用于基于用户态协议栈,将所述业务数据流中的时间敏感流确定性转发至目标端设备,其中,所述用户态协议栈位于所述端设备的操作***的用户态,所述用户态协议栈包括支持确定性转发的时间敏感网络协议。
根据本发明实施例的又一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述任意一项所述数据处理方法。
根据本发明实施例的再一方面,还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存储程序,所述处理器用于运行所述存储器存储的程序,其中,所述程序运行时执行上述任意一项所述数据处理方法。
在本发明实施例中,采用在操作***的用户态设置用户态协议栈的方式,通过采用包括时间敏感网络协议的用户态协议栈对业务数据流中的时间敏感流进行确定性转发,达到了绕过内核协议栈直接对时间敏感流进行确定性转发的目的,从而实现了提供一种支持端设备进行业务数据流的确定性转发的技术效果,进而解决了端设备采用内核态协议栈处理报文转发导致无法对时间敏感流进行快速地确定性转发的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现数据处理方法的计算机终端的硬件结构框图;
图2是根据本发明实施例提供的数据处理方法的流程示意图;
图3是根据本发明可选实施例提供的端设备操作***架构的示意图;
图4是根据本发明可选实施例提供的端到端业务数据流确定性转发的示意图;
图5是根据本发明实施例提供的数据处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
用户态协议栈,在操作***用户空间创建的网络协议栈。
确定性转发,基于确定性网络进行的业务数据流的转发行为,对于数据报文的转发时延可以保证上限和下限。
时间敏感网络(Time-Sensitive Networking)是由IEEE802.1工作组中制定的一套协议标准,该协议标准定义了以太网数据传输的时间敏感机制,为数据报文的转发增加确定性和可靠性。
时间敏感流,时间敏感网络中的关键业务数据流,并且需要进行确定性转发的数据流。
根据本发明实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10的用户界面进行交互。
为了构建完整的TSN网络,计算单元作为重要的端设备,其网络协议栈的网络传输确定性以及如何接入TSN网络是亟待解决的问题。本发明提供的数据处理方法实现端设备支持网络协议栈的确定性传输,进而通过应用于确定性端设备,可以构建广泛的TSN网络。
图2是根据本发明实施例提供的数据处理方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S202,获取业务数据流,其中,业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备。
需要说明的是,本发明可以应用于端设备的操作***,端设备可以是智能工厂领域的边缘服务器、工控机或者PC计算机,也可以是智能驾驶领域的计算平台例如域控制器。端设备的应用程序可以为端设备自身中运行的应用程序,端设备的外部设备可以是连接端设备并向端设备发送业务数据流的设备。端设备可以从应用程序和/或外部设备中获取业务数据流,并基于业务数据流的性质对业务数据流进行确定性转发或者按照尽力而为的转发机制进行转发。
步骤S204,基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,其中,用户态协议栈位于端设备的操作***的用户态,用户态协议栈包括支持确定性转发的时间敏感网络协议。
本步骤中,业务数据流中的时间敏感流即为需要按照确定性网络的转发机制进行数据转发的数据报文,时间敏感流也可以被称为关键数据流。端设备可以根据业务数据流的来源,将业务数据流中的时间敏感流区分出来,例如,在端设备中提前定义好来自哪个外部设备的数据流是时间敏感流,则当接收到这个外部设备传输的数据流时将其标记为时间敏感流,或者可以将端设备的特定端口传入的数据流标记为时间敏感流。一般来说,对于游戏、视频、工业精细机器等来源的数据流,其要求数据传输的时延低,且时延具有确定性,因而可以将符合这类需求的应用程序或者外部设备请求转发的数据流标记为时间敏感流。
需要说明的是,相关技术中端设备在进行数据报文转发时,需要将数据流给到内核态,由内核态调用内核态协议栈自动进行数据报文转发,然而,端设备的内核态不具备时间同步和调度功能,无法满足确定性网络传输的要求。因此本发明在端设备的操作***的用户态中预置用户态协议栈,并且在用户态协议栈中预置支持确定性网络传输的时间敏感网络协议,当检测到业务数据流中的时间敏感流请求端设备进行确定性转发时,直接由操作***的用户态调用用户态协议栈中的时间敏感网络协议进行数据报文的处理以实现确定性转发,绕开了内核态的数据报文转发逻辑,帮助端设备实现了支持确定性网络传输的功能。
通过上述步骤,采用在操作***的用户态设置用户态协议栈的方式,通过采用包括时间敏感网络协议的用户态协议栈对业务数据流中的时间敏感流进行确定性转发,达到了绕过内核协议栈直接对时间敏感流进行确定性转发的目的,从而实现了提供一种支持端设备进行业务数据流的确定性转发的技术效果,进而解决了端设备采用内核态协议栈处理报文转发导致无法对时间敏感流进行快速地确定性转发的技术问题。
作为一种可选的实施例,可以由端设备操作***用户态的从进程确定业务数据流的时间敏感类型,其中,时间敏感类型包括时间敏感流和背景流中的至少之一;然后将业务数据流中的背景流通过预先创建的内核协议栈通道发送至操作***的内核态,其中,内核协议栈通道用于在内核态与用户态之间传输数据。
本可选实施例中,端设备可以同时从不同的应用程序和/或外部设备中接收业务数据流,并对不同来源的业务数据流进行类型区分,若业务数据流中的部分流为时间敏感流,则采用图2所示的方法由操作***用户态对其进行确定性转发,若业务数据流中的部分流为背景流,即对转发时延要求没有那么高的数据流,则可以将背景流给到内核态,采用端设备的内核态的默认数据流转发协议进行转发,避免其抢占用户态的进行确定性网络传输的资源。
作为一种可选的实施例,可以通过如下方式区分业务数据流的时间敏感流和背景流:确定业务数据流中的用户数据报协议UDP帧;确定UDP帧对应的源端口号是否存储在映射表中,其中,映射表用于记录门控队列与源端口号的对应关系;在UDP帧对应的源端口号存储在映射表中的情况下,确定UDP帧为时间敏感流。确定业务数据流中的非UDP帧为背景流中的第一部分流;确定源端口号未存储在映射表中的UDP帧为背景流的第二部分流。
本可选实施例中提出了一种区分时间敏感流和背景流的方法,对于未在映射表中预先存入的源端口号发来的业务数据流,默认其为背景流。可选地,用户态的从进程若想要将一个端口传入的业务数据流标记为时间敏感流,可以由从进程向主进程进行注册,将该业务数据流的信息注册到映射表中,之后就可以将其按照时间敏感流进行处理。
作为一种可选的实施例,基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,可以采用如下方式:基于时间敏感网络协议,对时间敏感流的虚拟局域网信息进行标记,得到了标记后的时间敏感流,并将标记后的时间敏感流存入门控队列中的目标队列,其中,门控队列为基于时间敏感网络协议预先开辟的多个队列;根据门控队列对应的门控列表,将标记后的时间敏感流从目标队列中读出并转发至目标端设备。
其中,虚拟局域网信息即为时间敏感流的VLAN信息,对其进行标记也可以称为打上VLAN标签,标记后的数据流即可被正式识别为需要进行确定性网络传输的时间敏感流,操作***用户态后续对所有标记后的时间敏感流进行确定性网络传输。
作为一种可选的实施例,将标记后的时间敏感流存入门控队列中的目标队列时可以采用如下方式:获取标记后的时间敏感流所对应的业务数据流的源端口号;根据映射表确定门控队列中与源端口号对应的目标队列,其中,映射表用于记录门控队列与源端口号的对应关系;将标记后的时间敏感流存储至目标队列。
可选地,还可以根据为每一个时间敏感流打上的VLAN标签识别每一个标记后的时间敏感流的优先级,然后控制不同优先级的时间敏感流进入门控队列中的不同队列中,一般的,门控队列为8个队列,用户态可以根据不同门控队列的优先级完成调度,并为通过内核态进行转发的数据流统一确定一个最低的优先级。
作为一种可选的实施例,根据门控队列对应的门控列表,将标记后的时间敏感流从目标队列中读出并转发至目标端设备,包括如下步骤:根据时间敏感网络协议中的IEEE802.1Qbv协议,获取门控队列对应的门控列表;根据门控列表,将目标队列中的标记后的时间敏感流映射到虚拟内存区,其中,端设备的时间敏感网络网卡通过读取虚拟内存区内的标记后的时间敏感流以将标记后的时间敏感流转发至目标端设备。
通过本可选的实施例,可以绕开内核态对数据转发的控制,由操作***的用户态直通时间敏感网络网卡(简称TSN网卡),可选地,用户态和TSN网卡可以基于直接存储访问DMA技术预先对不同门控队列在DMA中的内存区域进行约定,不同门控队列按照IEEE802.1Qbv协议将数据流通过DMA的方式直接传输给TSN网卡,降低时延,保证数据报文转发的时延确定性。
需要说明的是,上述数据处理方法中,还可以基于用户态协议栈中的IEEE802.1AS协议实现用户态从进程、主进程、网卡时钟同步校时,并且通过TSN网卡实现与TSN交换机的时钟同步校时,最终实现端到端时钟同步。
图3是根据本发明可选实施例提供的端设备操作***架构的示意图,如图3所示,ST流为时间敏感流,BE流为背景流,为了帮助端设备实现确定性网络的数据报文传输,可以采用集中式架构,由用户态的主进程负责与TSN网卡对接,用户态的业务进程作为从进程通过门控队列与主进程对接。作为一种可选的实施方式,端设备可以采用如下架构以实现支持确定性转发的功能:
各个业务进程作为从进程申请队列、端口等资源,这个过程中可以业务进程判断业务进程对应的数据流是否是时间敏感流;同时,从进程并把业务数据流的优先级、IP地址、端口号等信息通过自定义套接字socket接口将具体业务的信息传递到主进程的用户态协议栈。
主进程负责管理各个从进程的注册、申请任务,并且通过创建任务线程分别管理读报文、写报文、队列门控管理和ip-mac表管理,主进程还提供自定义socket编程接口管理,以实现业务进程对于UDP协议的调用。
主进程根据业务进程传递的不同端口号,对业务数据流中的时间敏感流添加TSNtag标签(添加TSN tag标签即修改VLAN信息,添加TSN tag标签的过程实质是修改的VLAN信息中的字段),将时间敏感流转化为标记后的时间敏感流,以根据标记识别不同的时间敏感流应当分别存入哪个门控队列。
主进程可以创建8个队列用来存放接收的数据包,根据数据包中标记后的时间敏感流的VLAN信息,识别业务流的优先级,不同优先级的标记后的时间敏感流被分配到不同优先级队列中去,并配置门控表,根据门控时隙和优先级,对门控队列中的标记后的时间敏感流调度管理。
端设备中还可以包括队列映射模块,可以根据不同优先级队列,将各个队列中的标记后的时间敏感流映射到内存区(DMA),TSN网卡可以直接到DMA中读取相应的数据流并转发出去,实现门控队列的数据与TSN网卡队列绑定,确保门控队列与TSN网卡的优先级一一对应。
此外,端设备中还可以包括时钟同步模块,该模块基于IEEE802.1AS协议,实现业务进程、主进程、网卡时钟同步校时,并且通过TSN网卡实现与TSN交换机时钟同步校时,最终实现端到端时钟同步。
通过以上方式,用户态协议栈实现对于时间敏感流的确定性转发可以绕过内核态协议栈,通过自定义的用户态协议栈直通TSN网卡并和TSN网卡队列绑定,最终实现用户态协议栈对于数据流的时间同步和调度。
图4是根据本发明可选实施例提供的端到端业务数据流确定性转发的示意图,图4中,端到端的设备可以为基于通用计算机硬件设备和Linux操作***的端设备,搭载TSN网卡,与TSN交换机组网,构建一套通用的端到端TSN网络***。
支持时间敏感网络的用户态协议栈部署在端设备计算机中,包括发送端设备A和接收端设备B,其中,设备A和设备B分别搭载TSN网卡,并安装执行对应的驱动。最终,通过TSN交换机实现设备A与设备B组网。实际部署架构中,终端***执行用户端空间进程,时间敏感流的来源和目的基于当前进程,主要应用场景包括:传输采集数据流的传感器,主要用来发送报文;传输命令流的执行器,主要用来接收报文;负责驱动物理过程的CPS控制器,主要用来接收报文,处理任务,发送报文。
上述场景中,如果要保障端到端延时(抖动)的实时性或确定性,则需要应用程序、操作***、驱动程序、网络接口卡、交换机等软件、硬件模块的相互配合。下面介绍本可选的实施例中端设备中的业务进程和主进程的主要功能。
业务进程作为从进程,主要处理流程如下:初始化资源;自定义实现socket函数;确认端口号是否被占用,然后绑定端口号;设置IP、端口号、VLAN参数信息,并封装UDP报文头;发送数据,根据时间敏感流的优先级将数据流发送到0-7号门控队列中的目标队列中;接收数据,从对应端口队列中读取数据。
主进程用来实现确定性用户态协议栈和业务进程对接,并和内核态进行数据交互,同时与TSN网卡对接,完成数据的传输流程,其处理流程如下:
初始化资源,创建内核协议栈通道,实现与内核协议栈数据交互;创建工作线程,包括:读线程、写线程、资源管理线程,其中资源管理线程主要负责处理门控操作和维护ip/mac映射等任务;识别接收到的从进程注册信息,包括:队列资源的创建与消除,队列资源与端口号匹配,通过int_map(即队列资源与端口映射表)表来管理端口和队列信息;发送数据:按照门控表从队列中读取帧,从ip/mac映射表中查找对应的ip的mac地址,填写mac地址并发送报文(即发送给网卡);接收数据,接收帧如果是非UDP帧,则直接通过内核协议栈通道发送到内核协议栈处理,如果是arp和rarp报文,则把报文的ip地址和mac地址,存储到ip/mac地址映射表中;如果是UDP报文,则根据端口号从队列资源与端口映射表中查找是否存在该端口号,如果存在则发送到相应的队列中,如果不存在则通过内核协议栈通道发送到内核协议栈处理;通过以上操作完成了流分类,实现用户态协议栈只处理与UDP协议相关的关键业务流;根据业务流VLAN标签,识别不同优先级流,分别进入8个队列,根据门控优先级完成调度。其他通过内核协议栈通道发送的数据流统一确定一个最低优先级;上述步骤中的队列中的标记后的时间敏感流通过DMA,按照队列的优先级向TSN网卡的转发队列进行映射,实现内存数据流队列与网卡队列的绑定。
需要说明的是,用户态协议栈可以用于处理关键业务流(即时间敏感流,简称ST流)的确定性转发,也可以用于处理背景流(简称BE流)。例如,当用户态同时接收到应用程序1发送的ST流和应用程序2发送的BE流时,可以基于用户态协议栈优先为关键业务流分配高优先级的门控队列进行确定性转发,而将背景流存入门控队列中的最低优先级的队列中,即将通讯资源优先分配给关键业务流,保证关键业务流的确定性转发;在其他场景下,例如关键业务流的流量较大,用户态还可以将背景流通过内核协议栈通道直接送往内核态,由内核态对背景流进行普通转发,保证将用户态的全部通讯资源分配给关键业务流。
本可选实施例中,实现的主要数据结构如下:
发送队列数据结构:
接收数据数据结构:
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,图5是根据本发明实施例提供的数据处理装置的结构框图,如图5所示,该数据处理装置包括:获取模块52和转发模块54,下面对该数据处理装置进行说明。
获取模块52,用于获取业务数据流,其中,业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;
转发模块54,用于基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,其中,用户态协议栈位于端设备的操作***的用户态,用户态协议栈包括支持确定性转发的时间敏感网络协议。
此处需要说明的是,上述获取模块52和转发模块54对应于实施例中的步骤S202至步骤S204,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中。
本发明的实施例可以提供一种计算机设备,可选地,在本实施例中,上述计算机设备可以位于计算机网络的多个网络设备中的至少一个网络设备。该计算机设备包括存储器和处理器。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取业务数据流,其中,业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,其中,用户态协议栈位于端设备的操作***的用户态,用户态协议栈包括支持确定性转发的时间敏感网络协议。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取业务数据流,其中,业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;基于用户态协议栈,将业务数据流中的时间敏感流确定性转发至目标端设备,其中,用户态协议栈位于端设备的操作***的用户态,用户态协议栈包括支持确定性转发的时间敏感网络协议。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取业务数据流,其中,所述业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;
基于用户态协议栈,将所述业务数据流中的时间敏感流确定性转发至目标端设备,其中,所述用户态协议栈位于所述端设备的操作***的用户态,所述用户态协议栈包括支持确定性转发的时间敏感网络协议。
2.根据权利要求1所述的方法,其特征在于,所述基于用户态协议栈,将所述业务数据流中的时间敏感流确定性转发至目标端设备,包括:
基于所述时间敏感网络协议,对所述时间敏感流的虚拟局域网信息进行标记,得到标记后的时间敏感流,并将所述标记后的时间敏感流存入门控队列中的目标队列,其中,所述门控队列为基于所述时间敏感网络协议预先开辟的多个队列;
根据所述门控队列对应的门控列表,将所述标记后的时间敏感流从所述目标队列中读出并转发至所述目标端设备。
3.根据权利要求2所述的方法,其特征在于,所述将所述标记后的时间敏感流存入门控队列中的目标队列,包括:
获取所述标记后的时间敏感流所对应的业务数据流的源端口号;
根据映射表确定所述门控队列中与所述源端口号对应的目标队列,其中,所述映射表用于记录门控队列与源端口号的对应关系;
将所述标记后的时间敏感流存储至所述目标队列。
4.根据权利要求2所述的方法,其特征在于,所述根据所述门控队列对应的门控列表,将所述标记后的时间敏感流从所述目标队列中读出并转发至所述目标端设备,包括:
根据所述时间敏感网络协议中的IEEE802.1Qbv协议,获取所述门控队列对应的门控列表;
根据所述门控列表,将所述目标队列中的标记后的时间敏感流映射到虚拟内存区,其中,所述端设备的时间敏感网络网卡通过读取所述虚拟内存区内的标记后的时间敏感流以将所述标记后的时间敏感流转发至所述目标端设备。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,还包括:
确定所述业务数据流的时间敏感类型,其中,所述时间敏感类型包括以下至少之一:时间敏感流、背景流;
将所述业务数据流中的背景流通过预先创建的内核协议栈通道发送至所述操作***的内核态,其中,所述内核协议栈通道用于在所述内核态与所述用户态之间传输数据。
6.根据权利要求5所述的方法,其特征在于,所述确定所述业务数据流的时间敏感流,包括:
确定所述业务数据流中的用户数据报协议UDP帧;
确定所述UDP帧对应的源端口号是否存储在映射表中,其中,所述映射表用于记录门控队列与源端口号的对应关系;
在所述UDP帧对应的源端口号存储在所述映射表中的情况下,确定所述UDP帧为所述时间敏感流。
7.根据权利要求6所述的方法,其特征在于,所述确定所述业务数据流的背景流,包括:
确定所述业务数据流中的非UDP帧为所述背景流中的第一部分流;
确定源端口号未存储在所述映射表中的UDP帧为所述背景流的第二部分流。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取业务数据流,其中,所述业务数据流来自于以下至少之一:端设备的应用程序,端设备的外部设备;
转发模块,用于基于用户态协议栈,将所述业务数据流中的时间敏感流确定性转发至目标端设备,其中,所述用户态协议栈位于所述端设备的操作***的用户态,所述用户态协议栈包括支持确定性转发的时间敏感网络协议。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述数据处理方法。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器用于存储程序,所述处理器用于运行所述存储器存储的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211296819.8A CN115665057A (zh) | 2022-10-21 | 2022-10-21 | 数据处理方法、装置、非易失性存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211296819.8A CN115665057A (zh) | 2022-10-21 | 2022-10-21 | 数据处理方法、装置、非易失性存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665057A true CN115665057A (zh) | 2023-01-31 |
Family
ID=84989558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211296819.8A Pending CN115665057A (zh) | 2022-10-21 | 2022-10-21 | 数据处理方法、装置、非易失性存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665057A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834502A (zh) * | 2023-02-23 | 2023-03-21 | 中国人民解放军国防科技大学 | 一种时间敏感网络端***帧发送时间的控制方法 |
-
2022
- 2022-10-21 CN CN202211296819.8A patent/CN115665057A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834502A (zh) * | 2023-02-23 | 2023-03-21 | 中国人民解放军国防科技大学 | 一种时间敏感网络端***帧发送时间的控制方法 |
CN115834502B (zh) * | 2023-02-23 | 2023-05-12 | 中国人民解放军国防科技大学 | 一种时间敏感网络端***帧发送时间的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563669B2 (en) | Method for implementing network virtualization and related apparatus and communications system | |
CN108713309B (zh) | Sd-wan***、sd-wan***的使用方法及相关装置 | |
CN104579695B (zh) | 一种数据转发装置和方法 | |
CN111224821B (zh) | 安全服务部署***、方法及装置 | |
EP2736191B1 (en) | Virtual router system and virtual router implementation method | |
US10050859B2 (en) | Apparatus for processing network packet using service function chaining and method for controlling the same | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
CN104426680A (zh) | 数据传输方法、装置和*** | |
US11048535B2 (en) | Method and apparatus for transmitting data packet based on virtual machine | |
CN105407140A (zh) | 一种网络化测试***的计算资源虚拟化***及方法 | |
CN109412922B (zh) | 一种传输报文的方法、转发设备、控制器及*** | |
CN103095565A (zh) | 一种软件定义网络操作***及其实现方法 | |
WO2021103657A1 (zh) | 网络操作方法、装置、设备和存储介质 | |
CN115665057A (zh) | 数据处理方法、装置、非易失性存储介质及计算机设备 | |
Garbugli et al. | KuberneTSN: a deterministic overlay network for time-sensitive containerized environments | |
CN112929418B (zh) | 一种基于发布订阅的RapidIO高速通信方法及*** | |
CN108234174A (zh) | 虚拟网络功能的管理方法和装置 | |
CN108123865B (zh) | 报文处理方法及装置 | |
CN112448924A (zh) | 一种兼容多种协议的报文处理方法、***及交换设备 | |
JP6036445B2 (ja) | 通信システム、中継装置、通信方法、及びプログラム | |
Elshuber et al. | Dependable and predictable time-triggered Ethernet networks with COTS components | |
CN110620725A (zh) | 一种交换设备的带外接口扩展方法及交换设备 | |
KR20170057770A (ko) | 가상 스위치의 패킷 전송 제어 방법 | |
CN113783971A (zh) | 地址管理方法、网络设备及存储介质 | |
CN103825767A (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 |