CN114553969A - 数据传输方法、电子设备及存储介质 - Google Patents
数据传输方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114553969A CN114553969A CN202011311309.4A CN202011311309A CN114553969A CN 114553969 A CN114553969 A CN 114553969A CN 202011311309 A CN202011311309 A CN 202011311309A CN 114553969 A CN114553969 A CN 114553969A
- Authority
- CN
- China
- Prior art keywords
- sequence number
- array
- udp
- message
- target sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006854 communication Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本公开涉及数据传输方法、电子设备及存储介质。该方法包括:获取待发送的UDP报文;为所述UDP报文添加IP报头以形成IP报文;所述为所述UDP报文添加IP报头以形成IP报文,包括:获取序列号,将所述序列号写入所述IP报头的选项字段;连续两次发送所述IP报文;对所述序列号进行递增处理以更新所述序列号。
Description
技术领域
本公开涉及通信技术领域,更具体的,涉及数据传输方法、电子设备及存储介质。
背景技术
目前,TCMS(Train Control and Management System,列车控制和管理系统)与车辆的主控制器的通信机制通常采用UDP报文传输数据。UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议。它只注重传输的实时性,但不能保证可靠性,即使接收端没有收到数据或数据校验失败,也不能重发。因此,TCMS与车辆的主控制器通信时,容易产生丢失数据包导致车辆控制失败等问题。有必要提出一种可靠的基于UDP协议的数据传输方案。
发明内容
本公开实施例的一个目的是提供一种新的数据传输方法、电子设备及存储介质,可以基于UDP协议进行可靠的数据传输。
根据本公开的第一方面,提供了一种数据传输方法,包括:
获取待发送的UDP报文;
为所述UDP报文添加IP报头以形成IP报文;所述为所述UDP报文添加IP报头以形成IP报文,包括:获取序列号,将所述序列号写入所述IP报头的选项字段;
连续两次发送所述IP报文;
对所述序列号进行递增处理以更新所述序列号。
可选地,所述为所述UDP报文添加IP报头以形成IP报文,还包括:
将所述IP报头中的协议字段的内容设置为UDP协议。
根据本公开的第二方面,提供了一种数据传输方法,包括:
获取待处理的UDP报文的选项字段的内容作为目标序列号;
在数组中查找是否存在所述目标序列号;
如果所述数组中存在所述目标序列号,舍弃所述UDP报文;
如果所述数组中不存在所述目标序列号,对所述UDP报文进行处理并且将所述目标序列号存入所述数组中。
可选地,在获取待处理的UDP报文的选项字段的内容之前,还包括:
接收IP报文;
确定所述IP报文的协议字段的内容是否为UDP协议;
如果是,将所述IP报文作为所述待处理的UDP报文。
可选地,所述方法还包括:
如果所述数组中存在所述目标序列号,清除所述数组中的目标序列号。
可选地,所述方法还包括:
如果所述数组中不存在所述目标序列号,将所述目标序列号的时间戳存入所述数组中,所述目标序列号的时间戳是向所述数组中存入所述目标序列号的时间。
可选地,所述方法还包括:
确定当前时间和所述目标序列号的时间戳之间的时间长度;
在所述时间长度大于等于预设时间阈值的情况下,从所述数组中清除所述目标序列号和所述目标序列号的时间戳。
可选地,所述方法还包括:
按周期检查所述数组中的序列号是否已过期或者在每一次向数组中存入所述目标序列号之后检查所述数组中的序列号是否已过期;所述检查所述数组中的序列号是否已过期,包括:确定当前时间和序列号的时间戳之间的时间长度,在所述时间长度大于等于预设时间阈值的情况下,确定序列号已过期;
从所述数组中清除已过期的序列号及其对应的时间戳。
根据本公开的第三方面,提供了一种电子设备,包括处理器和存储器;所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开的第一方面或者本公开的第二方面任意一项所述的数据传输方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机指令被处理器执行时,实现本公开的第一方面或者本公开的第二方面任意一项所述的数据传输方法。
本公开实施例提供的数据传输方法、电子设备及存储介质,通过为UDP报文配置序列号并且进行连续两次发送,实现了基于UDP协议进行可靠的数据传输,同时又保持了数据传输的实时性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明实施例的通信系统的示意图;
图2是根据本发明实施例的数据传输方法的流程示意图;
图3是根据本发明实施例的数据传输方法的流程示意图;
图4是根据本发明实施例的数据传输方法的流程示意图;
图5是根据本发明实施例的数据传输方法的流程示意图;
图6是根据本发明实施例的电子设备的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是根据本公开实施例的通信系统的组成结构示意图。
根据图1所示,本实施例的通信系统包括电子设备1000、电子设备2000和通信网络3000。
通信网络3000可以是无线通信网络也可以是有线通信网络,可以是局域网也可以是广域网。
在一个实施例中,电子设备1000可以如图1所示,包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。
处理器1100可以是专用的服务器处理器,也可以是满足性能要求的台式机处理器、移动版处理器等,在此不做限定。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括各种总线接口,例如串行总线接口(包括USB接口)、并行总线接口等。通信装置1400能够进行有线或无线通信,通信装置1400至少能够基于UDP协议进行通信,以至少能够实施本公开任意实施例的数据传输方法。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。用户可以通过扬声器2700和麦克风2800输出/输入语音信息。
尽管在图1中示出了电子设备1000的多个装置,但是,本公开可以仅涉及其中的部分装置,例如,电子设备1000只涉及存储器1200、通信装置1400以及处理器1100。
在一个实施例中,电子设备2000可以如图1所示,包括处理器2100、存储器2200、接口装置2300、通信装置2400、显示装置2500、输入装置2600、扬声器2700、麦克风2800等等。
处理器2100可以是专用的服务器处理器,也可以是满足性能要求的台式机处理器、移动版处理器等,在此不做限定。存储器2200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括各种总线接口,例如串行总线接口(包括USB接口)、并行总线接口等。通信装置2400能够进行有线或无线通信,通信装置2400至少能够基于UDP协议进行通信,以至少能够实施本公开任意实施例的数据传输方法。显示装置2500例如是液晶显示屏、触摸显示屏等。输入装置2600例如可以包括触摸屏、键盘等。用户可以通过扬声器2700和麦克风2800输出/输入语音信息。
尽管在图1中示出了电子设备2000的多个装置,但是,本公开可以仅涉及其中的部分装置,例如,电子设备2000只涉及存储器2200、通信装置2400以及处理器2100。
电子设备1000和/或电子设备2000可以是提供处理、数据库、通讯设施的业务点。电子设备1000和/或电子设备2000可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
电子设备1000和/或电子设备2000也可以是终端设备,例如是手机、PC机、便携式电脑、平板电脑、掌上电脑、可穿戴设备等。
本实施例中,电子设备1000与电子设备2000可以通过各自的通信装置1400、2400,基于UDP协议进行数据传输,在数据传输过程中实施本公开任意实施例的数据传输方法。
应用于本说明书的实施例中,电子设备1000的存储器1200用于存储指令,该指令用于控制处理器1100进行操作以支持实现根据本说明书任意实施例的数据传输方法。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
应用于本说明书的实施例中,电子设备2000的存储器2200用于存储指令,该指令用于控制处理器2100进行操作以支持实现根据本说明书任意实施例的数据传输方法。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
电子设备1000和电子设备2000分别作为发送端和接收端,两者之间可以进行UDP报文的传输。电子设备1000和电子设备2000的身份可以转换,当电子设备1000向电子设备2000传输UDP报文时,电子设备1000是发送端,电子设备2000是接收端。当电子设备2000向电子设备1000传输UDP报文时,电子设备2000是发送端,电子设备1000是接收端。
<方法实施例>
图2为根据一个实施例的数据传输方法的示意性流程图。该数据传输方法应用于发送端,包括以下步骤:
步骤S102、获取待发送的UDP报文。
步骤S104、为所述UDP报文添加IP报头以形成IP报文。
在一个例子中,为所述UDP报文添加IP报头以形成IP报文,包括:获取序列号,将所述序列号写入所述IP报头的选项字段。
IP报头的选项字段是预留特殊字段,在本公开实施例中,发送端利用选项字段添加序列号。
在一个例子中,为所述UDP报文添加IP报头以形成IP报文,还包括:将所述IP报头中的协议字段的内容设置为UDP协议。通过这种方式,使得接收端接收到IP报文后,可以知道该IP报文携带的数据使用的协议类型是UDP协议。
步骤S106、连续两次发送所述IP报文。
步骤S108、对所述序列号进行递增处理以更新所述序列号。
也就是说,序列号的机制为顺序递增,一个序列号只对应于1个待发送的UDP报文,每向待发送的UDP报文中添加一次IP报头,序列号自增一次。例如,第1个待发送的UDP报文所对应的序列号为x,第2个待发送的UDP报文所对应的序列号为x+1,第3个待发送的UDP报文所对应的序列号为x+2,……,第n个待发送的UDP报文所对应的序列号为x+n-1。
下面参见图3所示,对图2所示的实施例进行进一步说明。参见图3所示,该数据传输方法应用于发送端,包括以下步骤:
步骤S201、初始化TCP/IP协议栈。
应用层调用udp_bind函数,设置UDP的IP地址和端口号,包括设置源IP地址、目的IP地址、源端口号、目的端口号。
步骤S202、等待从应用层接收UDP报文。
TCP/IP协议模型从上至下包括应用层、传输层、网络层(也称之为“IP层”)以及链路层。根据TCP/IP协议模型,应用层生成UDP报文以后,传输层会从应用层接收UDP报文。
步骤S203、在接收到UDP报文后,为所述UDP报文添加IP报头以形成IP报文。
IP报头的格式如表1所示:
表1
为UDP报文添加IP报头形成IP报文,也就是将UDP报文作为IP报文的数据字段的内容,也即,将所述UDP报文作为IP报文携带的数据内容。
在IP报头中,添加IP版本,IP头长度,数据包总长度,源IP地址,目的IP地址等字段的内容。
在IP报头中,“协议”字段被设置为UDP协议,以便于接收端的IP层(网络层)知道该IP报文携带的数据使用的协议类型是UDP协议,从而将IP报文的数据字段交给UDP报文处理进程进行处理。
获取序列号,将序列号写入IP报头的“选项”字段。序列号例如为二进制数据,长度为32比特。
最后形成的IP报文的结构如下所示:
IP报头 | UDP报头 | UDP报文内容 |
其中,UDP报文包括UDP报头和UDP报文内容,UDP报文为IP报文的数据字段的内容。
步骤S204、发送该IP报文。
步骤S205、再次发送该IP报文。
在步骤S204和S205中,发送端的IP层(网络层)调用netif接口,连续两次向外发送IP报文。
步骤S206、对序列号进行递增处理以更新所述序列号。然后返回步骤S202等待接收新的UDP报文。
图4为根据一个实施例的数据传输方法的示意性流程图。
该数据传输方法应用于接收端,包括以下步骤:
步骤S602、获取待处理的UDP报文所对应的IP报头的选项字段的内容作为目标序列号。
步骤S604、在数组中查找是否存在所述目标序列号。
在一个例子中,该数组用于存储UDP报文所对应的序列号。
在一个例子中,该数组用于存储UDP报文和其对应的序列号,即,将UDP报文和其对应的序列号以关联形式存储在数组中。
步骤S606、如果数组中存在所述目标序列号,舍弃所述UDP报文。如果数组中不存在所述目标序列号,对所述UDP报文进行处理并且将所述目标序列号存入所述数组中。
如果数组中存在目标序列号,说明之前已经接收过同样的UDP报文,将本次接收的UDP报文舍弃掉。在一个例子中,如果数组中存在目标序列号,说明这已经是第二次接收到该UDP报文,由于发送端的配置为一条UDP报文只会连续发送两次,接收端不会再一次接收到同样的UDP报文,数组中已有的目标序列号不再被需要,可以将数组中的目标序列号清除掉,以释放数组的存储空间,降低查找序列号的时间。
如果数组中不存在目标序列号,说明之前没有接收过同样的UDP报文,本次接收的UDP报文是一条新的UDP报文,对本次接收到UDP报文进行相应的处理。此外,将本次接收到UDP报文所对应的序列号,也就是目标序列号,存入到数组中。或者,将本次接收到的UDP报文和目标序列号以关联形式存入到数组中。
在一个例子中,在步骤S602之前,也就是获取待处理的UDP报文所对应的IP报头的选项字段之前,所述方法还包括步骤S502-S506。
步骤S502、接收IP报文。
步骤S504、确定所述IP报文的协议字段的内容是否为UDP协议。
步骤S506、如果是,将所述IP报文的数据字段部分作为所述待处理的UDP报文。
在一个例子中,所述方法还包括:如果所述数组中不存在所述目标序列号,将所述目标序列号的时间戳存入所述数组中,所述目标序列号的时间戳是向所述数组中存入所述目标序列号的时间。也就是说,在将目标序列号存入到数组中时,同时在数组中记录所述目标序列号的存入时间。
在一个例子中,所述方法还包括:
确定当前时间和所述目标序列号的时间戳之间的时间长度;
在所述时间长度大于等于预设时间阈值的情况下,从所述数组中清除所述目标序列号和所述目标序列号的时间戳。
在一个例子中,每隔一定周期检查一下数组中的序列号是否已过期,或者,在每一次向数组中存入目标序列号之后,检查一下数组中的序列号是否已过期。计算当前时间和序列号的时间戳之间的时间长度,如果时间长度大于等于预设的时间阈值,则说明该序列号已经过期,从数组中清除该已过期的序列号及其时间戳,以释放数组的存储空间,降低查找序列号的时间。
下面参见图5所示,对图4所示的实施例进行进一步说明。
参见图5所示,该数据传输方法应用于接收端,包括以下步骤:
步骤S701、初始化TCP/IP协议栈,创建数组。
在TCP/IP协议栈初始化之后,创建一个UDP_BACKUP数组,用于存放UDP报文对应的序列号。
该数组例如为二维数组,二维数组的第一字段存放序列号,第二字段存放该序列号的时间戳。该数组例如为二维数组,二维数组的第一字段存放序列号,第二字段存放该序列号对应的UDP报文。该数组例如为三维数组,三维数组的第一字段存放序列号,第二字段存放该序列号对应的UDP报文,第三字段存放该序列号的时间戳。
步骤S702、等待链路层上传报文。
链路层是TCP/IP协议模型的底层,对应于OSI(Open System Interconnection)七层模型的物理层和数据链路层。链路层接收到报文后,会上传到IP层。IP层循环等待链路层上传报文。
步骤S703、IP层接收到IP报文后,确定其中是否含有UDP报文。也就是通过IP报文的协议字段的内容,确定该IP报文携带的数据使用的协议类型是否为UDP协议。
步骤S704、如果该IP报文携带的数据使用的协议类型不是UDP协议,则根据其协议类型将该IP报文转给对应的协议处理进程进行处理。
步骤S705、如果该IP报文携带的数据使用的协议类型是UDP协议,则将该IP报文的数据字段部分作为待处理的UDP报文,从该IP报文的选项字段获取序列号作为目标序列号。
也就是说,如果该IP报文携带的数据使用的协议类型是UDP协议,不直接将待处理的UDP报文上报给UDP协议进程进行处理,而是进一步检查数组中是否存在目标序列号。
步骤S706、如果数组中不存在目标序列号,将该待处理的UDP报文传给UDP协议处理进程进行处理,并且将目标序列号存入数组中。
在一个例子中,将该待处理的UDP报文、目标序列号、目标序列号的时间戳一并存入到数组中。
步骤S707、如果数据中已存在目标序列号,则丢弃该待处理的UDP报文,从数组中删除目标序列号。
在一个例子中,进一步从数组中删除目标序列号的时间戳和目标序列号对应的UDP报文。
步骤S708、检查数组中的序列号是否已过期,如果已过期,则从数组中删除已过期的序列号。在一个例子中,将已过期的序列号的时间戳和对应的UDP报文一并从数组中删除。
本公开实施例提供的数据传输方法,发送端可以是列车控制和管理系统TCMS,接收端可以是车辆的主控制器。或者,发送端可以是车辆的主控制器,接收端可以是列车控制和管理系统TCMS。
本公开实施例提供的数据传输方法,可以应用在列车控制和管理系统TCMS与车辆的主控制器之间的通信过程中,由于TCMS与车辆的主控制器之间的报文的数据量不象流媒体那样多,不会一直占用网络通信资源,UDP报文的两次重复发送不会加重网络负载,反而会增强传输的可靠性。
本公开实施例提供的数据传输方法,适用于用UDP协议传送小量数据或者控制数据的情况。
本公开实施例提供的数据传输方法,对于发送端的UDP层是不可见的,不需要改动UDP层和上层应用程序,应用程序调用原来的UDP接口连续发送两次报文以保证数据可靠传输。
本公开实施例提供的数据传输方法,利用IP报头的选项字段写入序列号以及连续两次发送IP报文,在接收端判断UDP报文是否是重复接收的UDP报文,把重复接收的UDP报文丢弃掉,只处理不是重复接收的UDP报文,有效保证了数据传输的可靠性,同时又保持了数据传输的实时性。
<电子设备实施例>
在本实施例中,还提供了一种电子设备。参见图6所示,电子设备8000包括处理器8200和存储器8100;存储器8100中存储有计算机指令,所述计算机指令被处理器8200执行时,实现前述任一实施例的数据传输方法。
该电子设备8000例如为图1中所示的电子设备1000或者电子设备2000。
本公开实施例提供的电子设备,利用IP报头的选项字段写入序列号以及连续两次发送IP报文,在接收端判断UDP报文是否是重复接收的UDP报文,把重复接收的UDP报文丢弃掉,只处理不是重复接收的UDP报文,有效保证了数据传输的可靠性,同时又保持了数据传输的实时性。
<存储介质实施例>
在本实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机指令被处理器执行时,实现前述任一实施例公开的数据传输方法。
本公开实施例提供的计算机可读存储介质,利用IP报头的选项字段写入序列号以及连续两次发送IP报文,在接收端判断UDP报文是否是重复接收的UDP报文,把重复接收的UDP报文丢弃掉,只处理不是重复接收的UDP报文,有效保证了数据传输的可靠性,同时又保持了数据传输的实时性。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
获取待发送的UDP报文;
为所述UDP报文添加IP报头以形成IP报文;所述为所述UDP报文添加IP报头以形成IP报文,包括:获取序列号,将所述序列号写入所述IP报头的选项字段;
连续两次发送所述IP报文;
对所述序列号进行递增处理以更新所述序列号。
2.根据权利要求1所述的方法,其特征在于,所述为所述UDP报文添加IP报头以形成IP报文,包括:
将所述IP报头中的协议字段的内容设置为UDP协议。
3.一种数据传输方法,其特征在于,包括:
获取待处理的UDP报文所对应的IP报头的选项字段的内容作为目标序列号;
在数组中查找是否存在所述目标序列号;
如果所述数组中存在所述目标序列号,舍弃所述UDP报文;
如果所述数组中不存在所述目标序列号,对所述UDP报文进行处理并且将所述目标序列号存入所述数组中。
4.根据权利要求3所述的方法,其特征在于,在获取待处理的UDP报文所对应的IP报头的选项字段的内容之前,还包括:
接收IP报文;
确定所述IP报文的协议字段的内容是否为UDP协议;
如果是,将所述IP报文的数据字段部分作为所述待处理的UDP报文。
5.根据权利要求3所述的方法,其特征在于,还包括:
如果所述数组中存在所述目标序列号,清除所述数组中的目标序列号。
6.根据权利要求3所述的方法,其特征在于,还包括:
如果所述数组中不存在所述目标序列号,将所述目标序列号的时间戳存入所述数组中,所述目标序列号的时间戳是向所述数组中存入所述目标序列号的时间。
7.根据权利要求6所述的方法,其特征在于,还包括:
确定当前时间和所述目标序列号的时间戳之间的时间长度;
在所述时间长度大于等于预设时间阈值的情况下,从所述数组中清除所述目标序列号和所述目标序列号的时间戳。
8.根据权利要求6所述的方法,其特征在于,还包括:
按周期检查所述数组中的序列号是否已过期或者在每一次向数组中存入所述目标序列号之后检查所述数组中的序列号是否已过期;所述检查所述数组中的序列号是否已过期,包括:确定当前时间和序列号的时间戳之间的时间长度,在所述时间长度大于等于预设时间阈值的情况下,确定序列号已过期;
从所述数组中清除已过期的序列号及其对应的时间戳。
9.一种电子设备,其特征在于,包括处理器和存储器;所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现权利要求1-8任一项所述的数据传输方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机指令被处理器执行时,实现权利要求1-8任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311309.4A CN114553969B (zh) | 2020-11-20 | 2020-11-20 | 数据传输方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311309.4A CN114553969B (zh) | 2020-11-20 | 2020-11-20 | 数据传输方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553969A true CN114553969A (zh) | 2022-05-27 |
CN114553969B CN114553969B (zh) | 2024-01-30 |
Family
ID=81659540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011311309.4A Active CN114553969B (zh) | 2020-11-20 | 2020-11-20 | 数据传输方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553969B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101511013A (zh) * | 2009-03-26 | 2009-08-19 | 华为技术有限公司 | 视频报文的处理方法、设备和系统 |
US20110314274A1 (en) * | 2010-05-17 | 2011-12-22 | Certes Networks, Inc. | Method and apparatus for security encapsulating ip datagrams |
CN106452695A (zh) * | 2016-10-12 | 2017-02-22 | 北京东土科技股份有限公司 | 冗余报文处理方法、装置及系统 |
US20170078917A1 (en) * | 2014-05-28 | 2017-03-16 | Huawei Technologies Co., Ltd. | Protocol stack adaptation method and apparatus |
CN107360177A (zh) * | 2017-07-31 | 2017-11-17 | 杭州迪普科技股份有限公司 | 一种基于udp的报文传输方法及装置 |
WO2020063338A1 (zh) * | 2018-09-25 | 2020-04-02 | 华为技术有限公司 | 一种实现数据传输的方法、装置和系统 |
-
2020
- 2020-11-20 CN CN202011311309.4A patent/CN114553969B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101511013A (zh) * | 2009-03-26 | 2009-08-19 | 华为技术有限公司 | 视频报文的处理方法、设备和系统 |
US20110314274A1 (en) * | 2010-05-17 | 2011-12-22 | Certes Networks, Inc. | Method and apparatus for security encapsulating ip datagrams |
US20170078917A1 (en) * | 2014-05-28 | 2017-03-16 | Huawei Technologies Co., Ltd. | Protocol stack adaptation method and apparatus |
CN106452695A (zh) * | 2016-10-12 | 2017-02-22 | 北京东土科技股份有限公司 | 冗余报文处理方法、装置及系统 |
CN107360177A (zh) * | 2017-07-31 | 2017-11-17 | 杭州迪普科技股份有限公司 | 一种基于udp的报文传输方法及装置 |
WO2020063338A1 (zh) * | 2018-09-25 | 2020-04-02 | 华为技术有限公司 | 一种实现数据传输的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114553969B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7454662B2 (ja) | 情報送信方法、装置、読み取り可能な記憶媒体及び電子装置 | |
CN106850402B (zh) | 消息的传输方法和装置 | |
CN104253741B (zh) | 一种信息发送方法、相关装置及系统 | |
CN102027461B (zh) | 扩展的消息收发平台 | |
CN106357364B (zh) | 数据传输方法、装置及系统 | |
CN112866111B (zh) | 流表管理的方法和装置 | |
US9674127B2 (en) | Selective message republishing to subscriber subsets in a publish-subscribe model | |
CN102693297B (zh) | 数据处理方法、节点和提取、转换和加载etl系统 | |
CN108696899B (zh) | Sip消息传输与接收方法及传输与接收装置 | |
CN103634203A (zh) | 消息异步传输方法、装置和系统 | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
CN113535432B (zh) | 数据分流方法、装置、电子设备及存储介质 | |
CN113810349B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN105099803A (zh) | 一种流量识别方法、应用服务器及网元设备 | |
US20150067066A1 (en) | Provisioning Communication Services using Proxy Server in a Cloud | |
CN110545230B (zh) | 用于转发vxlan报文的方法和装置 | |
CN113595932B (zh) | 数据乱序报文的处理方法及专用集成电路 | |
CN114553969B (zh) | 数据传输方法、电子设备及存储介质 | |
US20150055551A1 (en) | Mobile wireless access point notification delivery for periodically disconnected mobile devices | |
CN105099802A (zh) | 一种流量识别方法、终端及网元设备 | |
KR101634822B1 (ko) | 상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터 | |
CN111405007A (zh) | Tcp会话管理方法、装置、存储介质及电子设备 | |
CN112866178A (zh) | 音频数据传输的方法和装置 | |
CN113766437B (zh) | 一种短信发送方法和装置 | |
CN111835812B (zh) | 全球的数据获取方法、装置、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |