CN114095901A - 通信数据处理方法及装置 - Google Patents
通信数据处理方法及装置 Download PDFInfo
- Publication number
- CN114095901A CN114095901A CN202010856066.6A CN202010856066A CN114095901A CN 114095901 A CN114095901 A CN 114095901A CN 202010856066 A CN202010856066 A CN 202010856066A CN 114095901 A CN114095901 A CN 114095901A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- communication
- real
- communication data
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 411
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 166
- 230000005540 biological transmission Effects 0.000 claims description 104
- 238000000034 method Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 22
- 238000005538 encapsulation Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 150000002678 macrocyclic compounds Chemical class 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- LGAILEFNHXWAJP-BMEPFDOTSA-N macrocycle Chemical compound N([C@H]1[C@@H](C)CC)C(=O)C(N=2)=CSC=2CNC(=O)C(=C(O2)C)N=C2[C@H]([C@@H](C)CC)NC(=O)C2=CSC1=N2 LGAILEFNHXWAJP-BMEPFDOTSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/42—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for mass transport vehicles, e.g. buses, trains or aircraft
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/003—Arrangements to increase tolerance to errors in transmission or reception timing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1221—Wireless traffic scheduling based on age of data to be sent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
- H04W72/566—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
- H04W72/569—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种通信数据处理方法及装置,应用于通信数据处理设备,该设备包括以太网协议栈装置,以太网协议栈装置与CPU相连接,以太网协议栈装置包括传输非实时数据的软件协议通道以及传输实时数据的硬件协议通道,硬件协议通道包括处理实时数据的硬件协议栈,CPU设置有处理非实时数据的软件协议栈;通过数据分流,使得实时性数据传输通过硬件协议栈通道,非实时传输通过软件协议栈通道,能够降低CPU的负荷,同时也提高了硬件协议栈的效率,保证实时数据产生最小的延时;还可以在该设备所处的系统采用高精度的时钟同步,保证实时数据帧在一定精度内进行可靠的传输,并基于调度表对数据进行全系统的调度管理,保证通信不发生冲突。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种通信数据处理方法及装置。
背景技术
随着科学技术的发展,多种类型的交通工具都已经设置有通信网络,例如列车,列车的通信网络被誉为列车的“大脑”与神经,主要用于对列车的控制数据、监控数据、故障数据、维护数据以及服务数据等列车通信数据进行传输,是保证列车安全和提升轨道交通服务质量的重要系统,随着以太网技术的普及,基于以太网技术的网络控制系统已经成为列车通信网络的发展趋势。
在现有的基于以太网技术的列车通信网络中,往往会通过网络中相关设备的中央处理器对列车通信数据进行处理和传输,在需要处理和传输的数据量较大的情况下,会使得设备的中央处理器的资源不足,从而导致各种任务的实时性和可靠性都无法得到保证。
发明内容
本发明所要解决的技术问题是提供一种通信数据处理方法及装置,以至少解决中央处理器的资源不足的问题。
本发明还提供了一种通信数据处理装置,用以保证上述方法在实际中的实现及应用。
一种通信数据处理方法,应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,该方法包括:
在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;
在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;
在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
上述的方法,可选的,还包括:
在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;
若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;
若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
上述的方法,可选的,所述将封装处理后的数据帧发送至预置的数据接收节点,包括:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
上述的方法,可选的,所述将封装处理后的数据帧发送至预置的数据接收节点,包括:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
上述的方法,可选的,还包括:
响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;
若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;
当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
上述的方法,可选的,所述判断所述通信数据是否满足预设的数据处理条件,包括:
基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
判断是否未存在所述通信数据对应的冗余数据;
当上述的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
上述的方法,可选的,所述基于预先设置的调度表信息判断所述通信数据是否满足调度条件,包括:
基于所述调度表信息确定当前的通信时隙是否为实时通信时隙;
若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件;
若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
上述的方法,可选的,所述确定所述通信数据的数据类型,包括:
获取所述通信数据的类型域;
基于所述类型域确定所述通信数据的数据类型。
一种通信数据处理装置,应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,所述通信数据处理装置,包括:
接收单元,用于在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;
判断单元,用于在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;
第一发送单元,用于在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
上述的装置,可选的,还包括:第二发送单元,所述第二发送单元,用于在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
上述的装置,可选的,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
上述的装置,可选的,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
上述的装置,可选的,还包括:时钟同步单元;
所述时钟同步单元,用于响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
上述的装置,可选的,所述判断单元,包括:
第一判断子单元,用于基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
第二判断子单元,用于基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
第三判断子单元,用于判断是否未存在所述通信数据对应的冗余数据;
第一确定子单元,用于当所述第一判断子单元、所述第二判断子单元以及所述第三判断子单元的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
上述的装置,可选的,所述第二判断子单元,配置为:
基于所述调度表信息确定当前的通信时隙是否为实时通信时隙;若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件;若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
上述的装置,可选的,所述确定所述通信数据的数据类型的接收单元,包括:
获取子单元,用于获取所述通信数据的类型域;
第二确定子单元,用于基于所述类型域确定所述通信数据的数据类型。
与现有技术相比,本发明包括以下优点:
本发明提供了一种通信数据处理方法及装置,应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,该方法包括:在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU。本发明提供的方法,能够简化系统,减少对外围器件的依赖,降低各种协议的运行需求,利用硬件逻辑集成单芯片系统,设计相应的硬件协议栈代替软件TCP/IP协议栈,解决CPU运行协议栈占用资源过高的问题;该通信数据处理设备所处系统还采用了高精度的时钟同步,使得系统中的设备可以依靠精准的全局同步时间来保证实时数据帧在一定精度内进行可靠的传输;在此基础上,为系统的每个设备分配相应的调度表,使得各设备能够基于其对应的调度表对数据进行全系统的调度管理,以保证通信不发生冲突。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种通信数据处理方法的方法流程图;
图2为本发明提供的一种判断通信数据是否满足调度条件的过程的方法流程图;
图3为本发明提供的一种调度表信息的示例图;
图4为本发明提供的一种通信数据处理装置的结构示意图;
图5为本发明提供的一种通信数据处理设备的结构示意图;
图6为本发明提供的又一种通信数据处理设备的结构示意图;
图7为本发明提供的另一种通信数据处理设备的结构示意图;
图8为本发明提供的一种通信数据处理系统的结构示意图;
图9为本发明提供的一种通信数据处理系统的时间同步的方法流程图;
图10为本发明提供的一种发送数据的过程的流程图;
图11为本发明提供的一种接收数据的过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种通信数据处理方法,该方法可以应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,其中,该以太网协议栈装置可以为现场可编程门阵列FPGA或CPLD等,所述方法的方法流程图如图1所示,该方法具体包括:
S101:在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型。
其中,进入数据传输周期后,可以通过预设的网口接收通信数据,接收到该通信数据时,可以确定该通信数据的数据类型,通信数据的数据类型可以为实时数据类型或非实时数据类型。
具体的,该通信数据处理设备以及该数据发送节点可以处于同一个通信数据处理系统,该通信数据处理设备以及该数据发送节点为该通信数据处理系统中的数据传输节点,在进入数据传输周期之前,该通信数据处理系统中的各个数据传输节点可以先进行时钟同步,并将预先设置的各个调度表分别发送至该调度表对应的数据传输节点,即,每个数据传输节点均有其各自对应的调度表,该数据发送节点可以为通信数据处理节点中的另一通信数据处理设备或交换机设备。
S102:在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件;若是,则执行S103,若否,则执行S104。
本发明实施例提供的方法中,该数据处理条件可以包括流控条件、调度条件以及冗余条件等以上一个或多个条件。
具体的,该流控条件可以指通信数据为许可接收的数据,具体可以通过预先设置的白名单或黑名单确定该数据是否为许可接收的数据,还可以通过总流量控制的方式来确定该通信数据是否为许可接收的数据;该黑名单或白名单可以基于通信数据的IP地址、MAC地址、端口号、协议类型进行设定。
该调度条件可以指通信数据的数据类型与当前的通信时隙相匹配;其中,若通信数据的数据类型为实时数据类型,且当前的通信时隙为实时通信时隙,则说明通信数据的数据类型与当前的通信时隙相匹配,可以通过调度表中的调度表信息确定,调度表信息包括通信数据与通信时隙之间的对应关系。
该冗余条件可以指当前未存在与通信数据对应的冗余数据;换言之,对于已存在与该通信数据对应的冗余数据的情况下,则不对该通信数据进行处理;具体的,为了保障数据传输的可靠性,发送端可以将通信数据进行复制,并将已复制的通信数据通过各个网口各自对应的冗余网络进行传输,因此,在通信数据的传输过程中,可能会出现在不同的网口接收到相同的数据,也就是说可能会接收到多份相同的数据,此时,可以去冗余,消除重复的通信数据;具体可以采用“先到先有效”的原则,使得不存在该通信数据对应的冗余数据的情况下,处理该通信数据,若已存在对应的冗余数据,则说明已预先接收到与该通信数据一致的数据,故可以对该通信数据进行消除。
S103:将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU。
本发明实施例提供的方法中,该硬件协议栈可以为硬件TCP/IP协议栈,该硬件TCP/IP协议栈可以实现链路层帧的封装与解封、ARP报文的发送与接收、高速APR表的更新与维护、IP报文的封装与解封、UDP报文的封装与解封、TCP报文的封装与解封及连接管理、设备发现协议等功能,还可以实现IGMPV1/V2、ICMP的ping回显功能。
具体的,经过硬件协议栈处理后的得到目标实时数据为实数数据类型的数据;可以通过该通信数据的数据帧格式,应用硬件TCP/IP协议栈对该通信数据执行对应的处理操作,例如,若该通信数据为已封装的IP报文,则可以对该通信数据进行IP报文解封装,若该通信数据为待封装的UDP报文,则可以对该通信数据进行UDP报文封装等等。
其中,以太网协议栈装置可以通过预先设置的硬件驱动层软件连接CPU,使其接口完全兼容软件协议栈协议接口,从而可以实现以太网协议栈装置与CPU进行交互;具体的,CPU接收到以太网协议栈装置经由硬件TCP/IP通道发送的目标实时数据后,对该目标实时数据进行相应的逻辑处理,可以不用对该目标实时数据进行解包。
S104:舍弃该通信数据。
S105:在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
本发明实施例提供的方法,CPU接收到非实时数据类型的通信数据后,可以对该通信数据进行接封装处理。
应用本发明实施例提供的方法,能够在该通信数据为实时数据类型的情况下,应用硬件协议栈对通信数据进行处理,并将处理得到的目标实时数据发送至CPU,并在通信数据为非实时数据类型的情况下,应用软件TCP/IP通道将通信数据发送至CPU,从而实现对通信数据进行分流,即,实时数据类型的通信数据经由以太网协议栈装置中的TCP/IP协议通道进行传输,使得硬件协议栈能够对实时数据类型的通信数据处理,非实时数据类型的通信数据经由软件TCP/IP通道进行传输,使得CPU的软件协议栈对非实时数据类型的通信数据进行该通信数据的数据帧格式对应的解封装处理,可以减少通信数据对CPU的协议栈资源占用,能够提高硬件协议栈的效率。
本发明实施例提供的通信数据处理方法可以应用在多种领域中,例如,在列车的通信系统、船舶的通信系统以及智能工厂数据传输系统等各种以太网协议技术的应用领域,随着对以太网应用高带宽、高速率、灵活性好、智能化、易管理、高实时性等需求的日益增强,处理器不仅需要开发各种协议去做相应的支撑,且对配套的硬件资源和软件资源也提出了越来越高的要求;传统的设计理念为采用更高端的处理器、匹配更大容量的FLASH和更高速的RAM等高性能硬件支撑,同时开发和移植各种操作系统,针对不同的硬件重复开发各种相应的驱动;但对有小体积、易配置、低功耗、高灵活性、低成本、超高速或海量数据处理等较高要求的应用将难以满足需求,为了简化系统,减少对外围器件的依赖,降低各种协议的运行需求,本发明实施例利用硬件逻辑集成单芯片系统,开发相应的硬件协议栈代替软件协议栈,解决CPU运行协议栈占用资源过高的问题,本发明实施例提供了一种软硬件混合结构的以太网协议栈装置,通过以太网协议栈装置来实现全硬件的TCP/IP协议栈,在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定通信数据的数据类型;在通信数据的数据类型为实时数据类型的情况下,判断通信数据是否满足数据处理条件,若满足,则将通信数据经由硬件TCP/IP通道进行传输,使得硬件TCP/IP协议栈对通信数据进行对应的解封装处理,得到目标实时数据,并将目标实时数据发送至CPU;在通信数据的数据类型为非实时数据类型的情况下,通过软件TCP/IP通道将通信数据发送至所述CPU,由CPU的软件协议栈对该通信数据进行处理;应用本发明实施例提供的方法,能解决目前基于软件TCP/IP协议栈开发的嵌入式应用产品中处理器资源占用过高的问题。
本发明实施例提供的方法,基于上述的实施过程,具体的,还包括:
在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;
若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;
若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
本发明实施例提供的方法中,该通信数据处理设备以及该数据接收节点可以处于同一个通信数据处理系统,该通信数据处理设备以及该数据接收节点为该通信数据处理系统中的数据传输节点,在进入数据传输周期之前,该通信数据处理系统中的各个数据传输节点可以先进行时钟同步。
其中,在基于硬件TCP/IP通道或软件TCP/IP通道传输数据过程中,可以通过调度表信息来确定各个数据帧的通信时隙,从而使得将每个数据帧在其对应的通信时隙发送至相应的数据接收节点。
具体的,可以在实时通信时隙将硬件TCP/IP通道中的实时数据类型的数据帧传输至相应的数据接收节点,可以在非实时通信时隙将软件TCP/IP通道中的非实时数据类型的数据帧传输至相应的数据接收节点。
其中,若该数据帧为非实时数据类型,则说明该数据帧为经过CPU的软件TCP/IP协议栈封装处理的数据帧。
本发明实施例提供的方法,基于上述的实施过程,具体的,将封装处理后的数据帧发送至预置的数据接收节点的一种可行的方式,可以包括:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
本发明实施例提供的方法中,可以通过待传输实时数据的数量以及调度信息表中的实时通信时隙确定出该数据帧的发送时刻,待传输实时数据可以为预先接收到的实时数据类型的数据帧,该发送时刻可以处于实时通信时隙内,在实时通信时隙内,若不存在需要传输的实时数据类型的数据时,可以传输非实时数据类型的数据,当存在需要传输的实时数据类型的数据时,可以打断该非实时数据类型的数据的传输。
具体的,到达该处于实时通信时隙的发送时刻时,若当前未存在处于传输状态的非实时数据,则可以将该实时数据类型的数据帧传输至数据接收节点,其中,可以经由硬件协议栈对应的传输通道通过网口将数据帧传输至数据接收节点。
应用本发明实施例提供的方法,基于调度表信息传输目标实时数据,能够实现数据传输的确定性调度,避免数据传输发生冲突。
本发明实施例提供的方法,基于上述的实施过程,具体的,将封装处理后的数据帧发送至预置的数据接收节点另一种可行的方式,可以包括:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
本发明实施例提供的方法中,可以预先为各个通信数据设置有优先级,通信数据的优先级可以根据该通信数据对应的任务的重要程度进行确定。
其中,在待传输实时数据为多个的情况下,可以按照时间先后的顺序排队传输,也可以确定出每个数据的传输优先级,根据传输优先级由高至低的顺序对各个数据进行传输,即传输优先级确定目标实时数据的发送时刻。
具体的,该待传输实时数据可以为在该实时数据类型的数据帧之前的待发送至数据接收节点的实时数据类型的数据,即,当前缓存的实时数据类型的数据。
其中,可以确定优先级高于该实时数据类型的数据帧的各个待传输实时数据所需要的实时通信时隙,并基于调度表信息,即可确定出该数据帧的发送时刻,调度表信息可以记录数据类型与通信时隙的类型的对应关系。
具体的,若不存在处于传输状态的非实时数据,则可以将该实时数据类型的数据帧传输至数据接收节点。
本发明实施例提供的方法,基于上述的实施过程,具体的,还包括:
响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;
若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;
当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
本发明实施例提供的方法中,响应于时间同步指令,触发目标时钟设备上电,确定该以太网协议装置对应的时钟设备是否为主时钟设备。
其中,若该以太网协议装置对应的时钟设备不为主时钟设备,则说明该以太网协议装置对应的时钟设备为从时钟设备,即,待同步时钟设备;则,通信数据处理设备的CPU在接收到时间同步报文时,基于该时间同步报文中的时间戳信息进行时间同步,时钟同步收敛时,完成此次时钟同步,并进入数据传输周期。
具体的,主时钟设备所属的通信数据处理设备将时间同步报文发送至待同步时间设备所属的通信数据处理设备后,待同步时钟设备对应的CPU根据时间同步报文时间戳信息计算链路延时以及时钟偏差,并修正自身的时钟,从而实现时钟同步收敛。
应用本发明实施例提供的方法,能够实现通信数据处理设备所处的通信数据处理系统的时钟同步,通信数据处理系统中包含有通信数据处理设备以及交换机设备等数据通信节点,可以实现通信数据处理系统中的各个数据通信节点的时钟同步。
本发明实施例提供的方法,基于上述的实施过程,具体的,所述判断所述通信数据是否满足预设的数据处理条件,包括:
基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
判断是否未存在所述通信数据对应的冗余数据;
当上述的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
本发明实施例提供的方法中,该发送源标识可以为发送该通信数据的设备的标识,例如,可以为IP地址、MAC地址、端口号等等以上一种或多种。
具体的,可以遍历预先设置的配置文件,获取到该节点标识对应的数据发送节点的状态信息,基于该状态信息确定数据发送节点是否处于限制状态;其中,该配置文件记录有各个数据发送节点的状态信息,该配置文件可以依据实际需求进行设定。
其中,该调度表信息包括微周期信息和宏周期信息,微周期信息记录有不同数据类型对应的通信时隙,通信时隙的类型可以包括实时通信时隙和非实时通信时隙,在实时通信时隙中,可以优先传输实时数据类型的通信数据,在非实时通信时隙中,可以传输非实时数据类型的通信数据。
本发明实施例提供的方法,基于上述的实施过程,具体的,所述基于预先设置的调度表信息判断所述通信数据是否满足调度条件,如图2所示,具体包括:
S201:基于所述调度表信息确定当前的通信时隙是否为实时通信时隙。
本发明实施例提供的方法中,调度表信息中记录有周期信息,该周期信息包括各个通信周期,该周期信息由微周期和宏周期决定,微周期为实时调度表信息的最小调度单位,宏周期是所有周期信息按照一定规律重复的最小间隔,具体的,微周期可以为所有通信周期的最大公约数,宏周期可以为所有通信周期的最小公倍数。
其中,可每个微周期包含按一定的比例划分的实时通信时隙和非实时通信时隙;在实时通信时隙中,根据每个实时通信事件的周期和处理时间进行规划,参见图3,本发明实施例提供的一种调度表信息的结构示例图,其中,宏周期可以由多个微周期组成,在一个微周期中,可以设置有一个实时通信时隙和一个非实时通信时隙,可以通过实时通信时隙传输实时数据类型的数据,可以在非实时通信时隙传输非实时数据类型的数据;具体的,调度表信息是在预先设置的调度表中读取得到的。
S202:若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件。
其中,若通信数据的数据类型为实时数据类型,且当前通信时隙为实时通信时隙,则确定通信数据满足调度条件。
S203:若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
其中,若通信数据的数据类型为实时数据类型,而当前通信时隙不为实时通信时隙,则确定该通信数据不满足调度条件。
本发明实施例提供的方法,基于上述的实施过程,具体的,所述确定所述通信数据的数据类型,包括:
获取所述通信数据的类型域;
基于所述类型域确定所述通信数据的数据类型。
本申请实施例提供的方法中,该通信数据中包含类型域,该通信数据的数据帧可以为标准以太网帧格式,该类型域可以为type域。
其中,可以根据类型域的值来确定通信数据的数据类型,该数据类型可以为时间同步报文类型、实时数据类型以及非实时数据类型。
应用本申请实施例提供的方法,在数据传输的过程中,通过获取通信数据的类型域,可以确定出该通信数据的数据类型,进而可以确定该通信数据对应的处理策略,例如,若该通信数据的数据类型为实时通信数据,则可以通过硬件协议栈进行处理,再将处理后的数据发送至CPU,若该通信数据的数据类型为非实时通信数据,则可以通过软件TCP/IP通道将该实时通信数据发送至CPU,从而能够合理完成数据的调度。
与图1所述的方法相对应,本发明实施例还提供了一种通信数据处理装置,用于对图1中方法的具体实现,本发明实施例提供的通信数据处理装置可以应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,通信数据处理装置的结构示意图如图4所示,具体包括:
接收单元401,用于在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;
判断单元402,用于在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;
第一发送单元403,用于在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
在本发明提供的一实施例中,基于上述的方案,具体的,所述通信数据处理装置还包括:第二发送单元,所述第二发送单元,用于在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
在本发明提供的一实施例中,基于上述的方案,具体的,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
在本发明提供的一实施例中,基于上述的方案,具体的,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
在本发明提供的一实施例中,基于上述的方案,具体的,所述通信数据处理装置还包括:时钟同步单元;
所述时钟同步单元,用于响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
在本发明提供的一实施例中,基于上述的方案,具体的,所述判断单元402,包括:
第一判断子单元,用于基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
第二判断子单元,用于基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
第三判断子单元,用于判断是否未存在所述通信数据对应的冗余数据;
第一确定子单元,用于当所述第一判断子单元、所述第二判断子单元以及所述第三判断子单元的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
在本发明提供的一实施例中,基于上述的方案,具体的,所述第二判断子单元,配置为:
基于所述调度表信息确定当前的通信时隙是否为实时通信时隙;若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件;若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
在本发明提供的一实施例中,基于上述的方案,具体的,所述确定所述通信数据的数据类型的接收单元401,包括:
获取子单元,用于获取所述通信数据的类型域;
第二确定子单元,用于基于所述类型域确定所述通信数据的数据类型。
上述本发明实施例公开的通信数据处理装置中的各个单元和模块具体的原理和执行过程,与上述本发明实施例公开的通信数据处理方法相同,可参见上述本发明实施例提供的通信数据处理方法中相应的部分,这里不再进行赘述。
参见图5,为本发明实施例提供的一种通信数据处理设备的结构示意图,该通信数据处理设备,包括:以太网协议栈装置501,以及与所述以太网协议栈装置相连接的CPU502,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,CPU设置有软件TCP/IP协议栈以太网协议栈装置在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU。
在本发明提供的又一实施例中,参见图6,为本发明提供的又一种通信数据处理设备的结构示意图,该通信数据处理设备,包括:以太网协议栈装置、PHY芯片、CPU以及内存,其中,以太网协议栈通过MII接口或GMII接口与PHY芯片相连接,该以太网协议栈装置通过PCIE接口或PCI接口与CPU相连接,CPU与内存相连接。
具体的,该以太网协议栈装置可以FPGA芯片或CPLD芯片;该内存可以为双倍速率同步动态随机存储器DDR。
其中,该以太网协议栈装置设置有接口模块、软件TCP/IP通道、硬件TCP/IP通道、硬件TCP/IP模块、直接存储器访问DMA、配置模块、存储控制模块、中间层、MAC控制模块。
该MAC控制模块可以用于根据预先配置的调度表接收PHY芯片传输的数据,其中,该MAC模块支持时间同步;配置模块可以用于实现对各个功能模块的配置和管理,例如,可以为MAC控制模块下发调度表;中间层可以用于配置访问控制功能、分流功能等,例如,对于该MAC控制模块接收到的数据,确定是否对该数据进行分流以及确定该数据是否满足接收条件等;软件TCP/IP通道用于传输中间层对应分配的数据,并通过接口模块将该数据传输至CPU,由CPU应用软件协议栈对该数据进行处理;硬件TCP/IP模块用于处理中间层对应分配的数据,并将处理后的数据通过接口模块传输至CPU;CPU响应于接收到的数据,对接收到的数据执行对应的逻辑操作,存放至内存中。
在本发明提供的一实施例中,参见图7,为本发明实施例提供的另一种通信数据处理设备的结构示意图,包括:FPGA、网口1的PHY芯片、网口2的PHY芯片、CPU以及内存。
该FPGA包括接口模块、时钟同步模块、配置模块、帧缓存模块、TCP/IP模块、TCP/IP协议栈、中间层、确定性调度模块、冗余管理模块、MAC控制模块1以及MAC控制模块2;其中,各个模块的功能描述可以参见表1,为本发明实施例提供的功能描述表:
表1
具体的,该FPGA在数据传输周期内,接收到网口1的PHY芯片或网口2的PHY芯片发送的通信数据后,确定所述通信数据的数据类型。
在通信数据的数据类型为实时数据类型的情况下,判断通信数据是否满足预先设置的接收条件;若通信数据满足接收条件,则基于预先设置的调度表信息判断通信数据是否满足预先设置的调度条件;若通信数据满足调度条件,则判断是否存在通信数据对应的冗余数据;若未存在,则应用硬件协议栈对通信数据进行处理,获得目标实时数据,并将目标实时数据传输至CPU。
在通信数据的数据类型为非实时数据类型的情况下,通过预先设置的软件协议栈通道将通信数据发送至CPU。
在数据传输周期内接收到CPU发送的数据帧时,确定数据帧的数据类型;
若数据帧的数据类型为实时数据类型,则将数据帧经由硬件TCP/IP通道进行传输,使得硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;
若数据帧的数据类型为非实时数据类型,则将数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
在本申请实施例中,非实时数据帧直接通过控制器中的MAC控制模块与CPU的软件协议栈交互,实时数据帧通过硬件TCP/IP协议栈传输,这样能保证其通过协议栈处理时产生最小的延时,同时降低了CPU的负荷。
参见图8,为本发明实施例提供的一种通信数据处理系统的结构示意图,具体包括:n个通过列车通信网络相连接的通信数据处理设备;每个所述通信数据设备包括以太网协议栈装置以及与该以太网协议栈装置相连接的中央处理器CPU,每个所述通信数据设备的以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈;n为正整数。
每个通信数据处理设备的以太网协议栈装置,用于当接收到数据发送节点发送的通信数据时,确定所述通信数据的数据类型;在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至与该以太网协议栈装置相连接的CPU;在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至与该以太网协议栈装置相连接的CPU;其中,数据发送节点可以为通信数据处理系统中其余的一个或多个通信数据处理设备。
每个通信数据处理设备的以太网协议栈装置,还用于在数据传输周期内接收到CPU发送的数据帧时,确定数据帧的数据类型;若数据帧的数据类型为实时数据类型,则将数据帧经由其硬件TCP/IP通道进行传输,使得硬件TCP/IP协议栈对数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;若数据帧的数据类型为非实时数据类型,则将数据帧经由其软件TCP/IP通道发送至预置的数据接收节点,数据接收节点可以为通信数据处理系统中其余的一个或多个通信数据处理设备。
本发明实施例中,提供了软硬件混合结构以太网协议栈装置来实现全硬件的TCP/IP协议栈,能解决目前基于软件TCP/IP协议栈开发的嵌入式应用产品中处理器资源占用过高的问题,在此基础上,还通过全系统的高精度时钟同步和确定性调度机制,能大幅提升系统的实时性、可靠性、吞吐量等指标。
其中,全系统的时钟同步的过程,参见图9,具体可以为:响应于时钟同步指令,上电启动,通信数据处理系统中的每个通信数据处理设备的时钟设备确认自身状态,判断自身在该通信数据处理系统中是主时钟还是从时钟。
若通信数据处理设备确认自身的时钟设备为主时钟设备,则在时钟同步周期开始的情况下,主时钟设备向从时钟设备发送时间同步报文,报文包含发送时间戳等时间信息;若时钟同步收敛,则完成时钟同步,主时钟设备进入数据传输周期;若未收敛,则在一定时间段后继续向从时钟设备发送时间同步报文,直至时钟同步收敛。
若通信数据处理设备确认自身的时钟设备为从时钟设备,则通信数据处理设备的CPU可以根据接收到的时间同步报文的时间戳信息计算链路延时以及时钟偏差,并修正自身时钟;若时钟同步收敛,则完成时钟同步,从时钟设备进行入数据传输周期;若未收敛,则在一定时间段后继续接收时间同步报文修正自身时钟,直至完成时钟同步收敛。
若时间同步完成,则进入数据传输周期,在数据传输周期结束后,可以再次进入时间同步周期,继续进行时间同步。
具体的,通信数据处理系统中的通信数据处理设备发送数据的过程,参见图10,具体可以为:在实时通信时隙开始前读取调度表信息;根据调度表信息,判断此刻是否有实时数据传输;若此时有实时数据需要传输,则按照调度表的时刻发送相应的实时数据,若此时有上一次时隙的非实时数据正在传输,则进行打断;实时数据时隙结束后,在非实时数据时隙,若此时有非实时数据需要传输,则发送非实时数据;若调度表执行完毕,结束本周期的发送调度,等待下一次数据传输周期到来,否则返回执行实时通信时隙开始前读取调度表信息的步骤。
具体的,通信数据处理系统中的通信数据处理设备接收数据的过程,参见图11,具体可以为:读取调度表信息;若此时接收到实时数据帧,则判断实时数据帧是否满足调度表的接收原则,判断实时数据帧是否正确接收,在以上的任一判断结果为否的情况下,丢弃该数据帧,在以上判断的结果均为是的情况下判断实时数据帧是否为冗余网络帧,若实时数据为冗余网络帧,则随机消除一份数据后交给CPU处理,若实时数据不为冗余网络帧,则可以直接将该数据帧经由硬件TCP/IP通道交给CPU处理。
若该数据帧为非实时数据帧,则可以判断非实时数据帧是否正确接收,若是,则可以将非实时数据帧经由软件TCP/IP通道交给CPU处理;若否,则可以丢弃该数据帧。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种通信数据处理方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种通信数据处理方法,其特征在于,应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,该方法包括:
在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;
在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;
在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;
若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;
若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
3.根据权利要求2所述的方法,其特征在于,所述将封装处理后的数据帧发送至预置的数据接收节点,包括:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
4.根据权利要求2所述的方法,其特征在于,所述将封装处理后的数据帧发送至预置的数据接收节点,包括:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;
若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;
当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
6.根据权利要求1所述的方法,其特征在于,所述判断所述通信数据是否满足预设的数据处理条件,包括:
基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
判断是否未存在所述通信数据对应的冗余数据;
当上述的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
7.根据权利要求6所述的方法,其特征在于,所述基于预先设置的调度表信息判断所述通信数据是否满足调度条件,包括:
基于所述调度表信息确定当前的通信时隙是否为实时通信时隙;
若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件;
若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
8.根据权利要求1所述的方法,其特征在于,所述确定所述通信数据的数据类型,包括:
获取所述通信数据的类型域;
基于所述类型域确定所述通信数据的数据类型。
9.一种通信数据处理装置,其特征在于,应用于通信数据处理设备的以太网协议栈装置,所述以太网协议栈装置与中央处理器CPU相连接,所述以太网协议栈装置至少包括软件TCP/IP通道以及硬件TCP/IP通道,所述硬件TCP/IP通道包括硬件TCP/IP协议栈,所述CPU设置有软件TCP/IP协议栈,所述通信数据处理装置,包括:
接收单元,用于在预设的数据传输周期内接收到预置的数据发送节点发送的通信数据时,确定所述通信数据的数据类型;
判断单元,用于在所述通信数据的数据类型为实时数据类型的情况下,判断所述通信数据是否满足预设的数据处理条件,若满足,则将所述通信数据经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述通信数据进行对应的解封装处理,得到目标实时数据,并将所述目标实时数据发送至所述CPU;
第一发送单元,用于在所述通信数据的数据类型为非实时数据类型的情况下,通过所述软件TCP/IP通道将所述通信数据发送至所述CPU,使得所述CPU基于所述软件TCP/IP协议栈对所述通信数据进行处理。
10.根据权利要求9所述的装置,其特征在于,还包括:第二发送单元;
所述第二发送单元,用于在所述数据传输周期内接收到所述CPU发送的数据帧时,确定所述数据帧的数据类型;若所述数据帧的数据类型为实时数据类型,则将所述数据帧经由所述硬件TCP/IP通道进行传输,使得所述硬件TCP/IP协议栈对所述数据帧进行对应的封装处理,并将封装处理后的数据帧发送至预置的数据接收节点;若所述数据帧的数据类型为非实时数据类型,则将所述数据帧经由所述软件TCP/IP通道发送至预置的数据接收节点。
11.根据权利要求10所述的装置,其特征在于,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
基于所述调度表信息确定所述封装处理后的数据帧对应的发送时刻;
到达所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
12.根据权利要求10所述的装置,其特征在于,将封装处理后的数据帧发送至预置的数据接收节点的第二发送单元,被配置为:
确定当前是否存在待传输实时数据;
若存在,则确定所述数据帧的传输优先级以及所述待传输实时数据的传输优先级;
基于所述调度表信息、所述数据帧传输优先级以及所述待传输实时数据的传输优先级确定所述数据帧的发送时刻;
达到所述发送时刻时,判断所述发送时刻是否存在处于传输状态的非实时数据,若是,则中断所述非实时数据的传输,并将所述封装处理后的数据帧传输至所述数据接收节点。
13.根据权利要求9所述的装置,其特征在于,还包括:时钟同步单元;
所述时钟同步单元,用于响应于时间同步指令,确定以太网协议装置对应的时钟设备是否为主时钟设备;若所述以太网协议装置对应的时钟设备为主时钟设备,则生成时钟同步报文,并向所述时钟设备对应的各个待同步时钟设备所属的通信数据处理设备发送时间同步报文,以触发每个已接收到时间同步报文的通信数据处理设备的CPU基于所述时间同步报文进行时钟同步,其中,所述时间同步报文包含时间戳信息;当确定各个已接收到时间同步报文的通信数据处理设备完成时钟同步时,进入所述数据传输周期。
14.根据权利要求9所述的装置,其特征在于,所述判断单元,包括:
第一判断子单元,用于基于所述通信数据中的节点标识判断所述数据发送节点是否处于限制状态;
第二判断子单元,用于基于预先设置的调度表信息判断所述通信数据是否满足调度条件;
第三判断子单元,用于判断是否未存在所述通信数据对应的冗余数据;
第一确定子单元,用于当所述第一判断子单元、所述第二判断子单元以及所述第三判断子单元的判断结果均为是时,确定所述通信数据满足所述数据处理条件。
15.根据权利要求14所述的装置,其特征在于,所述第二判断子单元,配置为:
基于所述调度表信息确定当前的通信时隙是否为实时通信时隙;若当前的通信时隙为实时通信时隙,则确定所述通信数据满足所述调度条件;若当前的通信时隙不为实时通信时隙,则确定所述通信数据不满足所述调度条件。
16.根据权利要求9所述的装置,其特征在于,所述确定所述通信数据的数据类型的接收单元,包括:
获取子单元,用于获取所述通信数据的类型域;
第二确定子单元,用于基于所述类型域确定所述通信数据的数据类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010856066.6A CN114095901A (zh) | 2020-08-24 | 2020-08-24 | 通信数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010856066.6A CN114095901A (zh) | 2020-08-24 | 2020-08-24 | 通信数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114095901A true CN114095901A (zh) | 2022-02-25 |
Family
ID=80295407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010856066.6A Pending CN114095901A (zh) | 2020-08-24 | 2020-08-24 | 通信数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095901A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174694A (zh) * | 2022-07-07 | 2022-10-11 | 浙江中控研究院有限公司 | 基于确定性通信的数据共网传输方法 |
CN115694747A (zh) * | 2022-09-29 | 2023-02-03 | 成都赛力斯科技有限公司 | 一种数据冗余保护方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642142A (zh) * | 2003-11-24 | 2005-07-20 | 三星电子株式会社 | 使用软件和硬件协议栈的多媒体通信设备及其通信方法 |
CN106330377A (zh) * | 2016-08-25 | 2017-01-11 | 中车青岛四方车辆研究所有限公司 | 轨道列车宽带网络实时性数据传输系统及方法 |
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN110545152A (zh) * | 2019-09-10 | 2019-12-06 | 清华大学 | 一种以太网中具有实时传输功能的上位机及以太网系统 |
CN110834655A (zh) * | 2018-08-17 | 2020-02-25 | 中车株洲电力机车研究所有限公司 | 一种列车数据传输方法、系统、介质及设备 |
-
2020
- 2020-08-24 CN CN202010856066.6A patent/CN114095901A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642142A (zh) * | 2003-11-24 | 2005-07-20 | 三星电子株式会社 | 使用软件和硬件协议栈的多媒体通信设备及其通信方法 |
CN106330377A (zh) * | 2016-08-25 | 2017-01-11 | 中车青岛四方车辆研究所有限公司 | 轨道列车宽带网络实时性数据传输系统及方法 |
CN106341266A (zh) * | 2016-09-12 | 2017-01-18 | 武汉理工大学 | 具有主动和被动传输模式的硬件tcp/ip协议栈 |
CN110834655A (zh) * | 2018-08-17 | 2020-02-25 | 中车株洲电力机车研究所有限公司 | 一种列车数据传输方法、系统、介质及设备 |
CN110545152A (zh) * | 2019-09-10 | 2019-12-06 | 清华大学 | 一种以太网中具有实时传输功能的上位机及以太网系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174694A (zh) * | 2022-07-07 | 2022-10-11 | 浙江中控研究院有限公司 | 基于确定性通信的数据共网传输方法 |
CN115174694B (zh) * | 2022-07-07 | 2023-08-29 | 浙江中控研究院有限公司 | 基于确定性通信的数据共网传输方法 |
CN115694747A (zh) * | 2022-09-29 | 2023-02-03 | 成都赛力斯科技有限公司 | 一种数据冗余保护方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022040847A1 (zh) | 通信数据处理方法及装置 | |
CN104170291B (zh) | 用于处理精确时间协议的方法和网络节点 | |
KR102410422B1 (ko) | 네트워크에서의 분산 프로세싱 | |
CN103902486B (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
EP3840311A1 (en) | Traffic scheduling method, device, and system | |
CN112291293B (zh) | 任务处理方法、相关设备及计算机存储介质 | |
EP3461086B1 (en) | Communication apparatus, communication method and computer-readable medium | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
CN106685735B (zh) | Epa片上系统、epa通信系统及通信方法 | |
CN109547162B (zh) | 基于两套单向边界的数据通信方法 | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
CN112769959B (zh) | 会话同步方法、装置、第一节点、第二节点、系统及介质 | |
US9515940B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
CN114095901A (zh) | 通信数据处理方法及装置 | |
US20170272190A1 (en) | Time synchronization method and apparatus for network devices and time synchronization server | |
US20150263948A1 (en) | Device and method for retransmitting data in a network switch | |
US11784929B2 (en) | Heterogeneous link data translation and distribution method, system and device, and storage medium | |
WO2014127633A1 (zh) | Lldp报文传输方法及dcb设备 | |
CN114666279B (zh) | 一种5g系统中pcc会话管理策略下发的方法及系统 | |
WO2018014688A1 (zh) | 一种帧流控制方法和装置、计算机存储介质 | |
CN105656716B (zh) | 一种协议模块性能测试方法及系统 | |
CN112491620B (zh) | 一种基于srio的多通道数据传输控制器及调整方法 | |
US20220137604A1 (en) | Coordination Device and Method for Providing Control Applications via a Communication Network for Transmitting Time-Critical Data | |
CN113347188A (zh) | 一种基于pcie及异构处理器的车载网络传输装置 | |
CN115243201A (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 |