CN105940658A - 一种用户数据的传输方法、装置及终端 - Google Patents
一种用户数据的传输方法、装置及终端 Download PDFInfo
- Publication number
- CN105940658A CN105940658A CN201580003207.7A CN201580003207A CN105940658A CN 105940658 A CN105940658 A CN 105940658A CN 201580003207 A CN201580003207 A CN 201580003207A CN 105940658 A CN105940658 A CN 105940658A
- Authority
- CN
- China
- Prior art keywords
- socket
- bbp
- data
- sequence number
- sent
- 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 69
- 230000005540 biological transmission Effects 0.000 title claims abstract description 54
- 238000012790 confirmation Methods 0.000 claims abstract description 178
- 230000004044 response Effects 0.000 claims description 74
- 238000005538 encapsulation Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 25
- 230000001360 synchronised effect Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 7
- 241000209094 Oryza Species 0.000 description 5
- 235000007164 Oryza sativa Nutrition 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 235000021186 dishes Nutrition 0.000 description 5
- 235000009566 rice Nutrition 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100501309 Buchnera aphidicola subsp. Baizongia pistaciae (strain Bp) nth gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提出一种用户数据的传输方法、装置及终端,所述方法包括:在发送用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;将获取的所述套接字的最新序号和确认号封装在所述用户数据中;向所述基带处理器发送封装后的所述用户数据。本发明实施例中,通过判断套接字的标志位是否有效来确定套接字的序号和确认号是否是最新的,并在标志位无效时,利用从基带处理器中获取的最新序号和确认号来传输用户数据,从而保证了输出传输的正确行。
Description
本发明涉及一种通信技术领域,特别涉及一种用户数据的传输方法、装置及终端。
本发明实施例涉及的为数据业务代理技术的衍生技术,数据业务代理技术是指基带处理器(Modem)代理应用处理器(AP)的部分数据业务。这里数据业务可以是应用的心跳数据,也可能是其他数据业务,本文档以代理心跳数据业务为例进行描述。[03]代理的数据业务所在的套接字(Socket)链路可以是应用处理器建立的,也可以是数据业务代理技术自己建立。
为了实现Modem所代理的心跳数据业务能够与应用服务器正常进行数据通信,在Modem侧通过新设置的一个传输控制协议/互联网络协议(TCP/IP,Transmission Control Protocol/Internet Protocol,/Internet Protocol)协议栈来收发数据,当代理AP侧的长连接数据业务时,该协议栈做到和AP侧协议栈信息同步,当代理短连接数据业务时,该协议栈可独立于AP侧协议栈自行建立链路收发数据。下文中称该新建的TCP/IP协议栈为Modem侧协议栈,区别于AP侧TCP/IP协议栈。
数据业务代理技术代理的应用多采用TCP/IP协议,该TCP/IP通过TCP包头的序号、确认号来保证用户数据传输的可靠性,其序号的字段值是指本报文段所发送的用户数据的第一个字节的序号(TCP连接中传送的数据流的每一个字节都按顺序编号);确认号的字段值是指期望收到对方下一个报文段的第一个字节数据的序号。其正常数据传输过程的数据包封装的TCP包头中序号、确认号变化如图1所示,图1中,序号用seq表示,确认号用ack表示,以发送端和接收端为例;
如图1所示,发送端和接收端均需要先初始化seq和ack的值,均为1;然后发送端第一次发送用户数据的数据包A,该数据包A中的序号为1,确认号为1,字节数为10,则对端接收到该数据包A后,接收端向发送端发送确认包A,其确认包A
中的序号为1,确认号为10;之后,发送端第二次发送数据包B,该数据包B的序号为10,确认号为1,字节数为20,则该接收端接收到该数据包B后,向该发送端发送确认包B,其确认包B的序号为1,确认号为30;后续发送端和接收端发送的数据包中的序号和确认号依次类推,在此不再赘述。
也就是说,发送端在发送用户数据时,需要在数据包TCP头中填充对应套接字中的序号、确认号。而接收到该数据包的接收端会校验接该数据包TCP头中的序号、确认号,若符合自身TCP/IP协议栈存储的序号、确认号,则认为接收正确,否则,将该数据包当作垃圾包丢弃。
在本发明的实现方式中,接收端通常通过Modem代理来数据收发,若Modem代理的数据收发不能保证TCP头中的序号、确认号的正确性,则传输失败。因此,如何保证TCP头中的序号、确认号的正确性是目前有待解决的技术问题。
发明内容
本发明实施例中提供了一种用户数据的传输方法、装置及终端,以解决现有技术中由于Modem代理的数据收发不能保证TCP头中的序号、确认号的正确性,而导致传输失败的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种用户数据的传输方法,包括:
在发送用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;
将获取的所述套接字的最新序号和确认号封装在所述用户数据中;
向所述基带处理器发送封装后的所述用户数据。
在第一方面的第一种可能的实现方式中,所述从基带处理器中获取所述套接字的最新序号和确认号,包括:
向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求;
接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述从基带处理器中获取所述套接字的最新序号和确认号,还包括:
在向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;
在所述同步超时定时器超时时,没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;
将所述套接字的序号和确认号确定为最新序号和确认号。
结合第一方面或第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述从基带处理器中获取所述套接字的最新序号和确认号,还包括:
在所述同步超时定时器没有超时时,接收到所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;
将所述套接字的序号和确认号更新为所述最新序号和确认号。
结合第一方面或第一方面第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中还包括:
如果判断套接字的标志位有效,则继续判断所述套接字的标志位是否处于更新中,如果没有处于更新中,则判断同步超时计时器是否超时;
如果没有超时,则将所述套接字的标志位设置为有效;
将所述套接字的序号和确认号确定为最新序号和确认号。
结合第一方面或第一方面第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述向所述基带处理器发送封装后的所述用户数据,包括:
通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
结合第一方面或第一方面第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,还包括:
在接收所述基带处理器发送的用户数据前,判断所述套接字的标志位是否无效,
并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;
按照获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
结合第一方面或第一方面第一种或第二种或第三种或第四种或第五种或第六种可能的实现方式,在第七种可能的实现方式中,还包括:
在发送封装后的所述用户数据结束时或接收所述基带处理器发送的用户数据结束时,判断是否已开启延迟同步定时器;
如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;
如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
第二方面提供了一种用户数据的传输方法,包括:
通过3GPP接口接收网络侧设备发送的数据;
如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
在第二方面的第一种可能的实现方式中,还包括:
如果判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;
在判断所述数据不是心跳答复数据时,去除存储的与所述目标端口相匹配的端口;
在所述去除所述端口后,先将所述数据中套接字的序号和确认号同步给所述应用处理器,再将所述数据发送给所述应用处理器。
第三方面提供了一种用户数据的传输装置,包括:
第一判断单元,用于在发送用户数据前,判断套接字的标志位是否无效;
获取单元,用于在所述第一判断单元判断所述标志位无效时,从基带处理器中
获取所述套接字的最新序号和确认号;
封装单元,用于将所述获取单元获取的所述套接字的最新序号和确认号封装在所述用户数据中;
第一发送单元,用于向所述基带处理器发送所述封装单元封装后的所述用户数据。
在第三方面的第一种可能的实现方式中,所述获取单元包括:
第二发送单元,用于向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求;
第一接收单元,用于接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
结合第三方面或第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述获取单元还包括:
第一启动单元,用于在第二发送单元向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;
第二判断单元,用于判断所述同步超时定时器是否超时;
第一设置单元,用于在所述第二判断单元判断所述同步超时定时器超时时,如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;
第一确定单元,用于在所述设置单元设置所述套接字的标志位有效时,将所述套接字的序号和确认号确定为最新序号和确认号。
结合第三方面或第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述获取单元还包括:
第二设置单元,用于在所述第二判断单元判断所述同步超时定时器没有超时时,如果接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述同步超时定时器的值清零;所述同步响应中包括:所述套接字的最新序号和确认号;
更新单元,用于将所述套接字的序号和确认号更新为所述同步响应中包括的最新序号和确认号。
结合第三方面或第三方面第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,还包括:
第三判断单元,用于在所述第一判断单元判断所述套接字的标志位有效时,则继续判断所述套接字的标志位是否处于更新中;
第四判断单元,用于在所述第三判断判断所述套接字的标志位处于更新中,则判断同步超时计时器是否超时;
第三设置单元,用于在所述第四单元判断所述同步超时计数器超时时,将所述套接字的标志位设置为有效;
第二确定单元,用于将所述套接字的序号和确认号确定为最新序号和确认号。
结合第三方面或第三方面第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述第一发送单元,具体用于通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
结合第三方面或第三方面第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,还包括:
所述第一判断单元,还用于在接收所述基带处理器发送的用户数据前,判断套接字的标志位是否无效;
所述获取单元,还用于在所述第一判断单元判断所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;
第二接收单元,用于按照所述获取单元获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
结合第三方面或第三方面第一种或第二种或第三种或第四种或第五种或第六种可能的实现方式,在第七种可能的实现方式中,还包括:
第五判断单元,用于在所述第一发送单元发送封装后的所述用户数据结束时,或所述第二接收单元接收所述基带处理器发送的用户数据结束时,判断是否已开启延迟同步定时器;
第四设置单元,用于在所述第五判断单元判断已开启所述延迟同步时器时,重新设置所述延迟同步定时器的值;
第二启动单元,用于在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;
第三启动单元,用于在所述第五判断单元判断没有开启延迟同步定时器时,启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
第四方面提供了一种用户数据的传输装置,包括:
接收单元,用于通过3GPP接口接收网络侧设备发送的数据;
第一判断单元,用于判断所述数据中的目标端口与存储的端口相匹配;
第一发送单元,用于在所述第一判断单元判断不相匹配时,将所述数据分流给所述应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取套所述接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
在第四方面的第一种可能的实现方式中,还包括:
第二判断单元,用于在所述第一判断单元判断相匹配时,继续判断所述数据是否为心跳答复数据;
去除单元,用于在所述第二判断单元判断不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;
第二发送单元,用于在所述去除单元去除所述端口后,将所述数据发送给所述应用处理器。
第五方面提供了一种终端,包括:
应用处理器,用于在发送用户数据前,停止基带处理器中的应用心跳代理,判断套接字的标志位是否无效,并在所述标志位无效时,向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的请求;
基带处理器,用于向所述应用处理器发送包括所述套接字的最新序号和确认号的响应;
所述应用处理器,还用于接收所述基带处理器发送的包括所述套接字的最新序号和确认号的响应,并将接收到的所述套接字的最新序号和确认号封装在所述用户数据中,并将封装后的所述用户数据发送给所述基带处理器;
所述基带处理器,还用于将接收到的所述用户数据通过3GPP接口发送给网络侧设备。
在第五方面的第一种可能的实现方式中,所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,具体用于向所述基带处理器的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求,具体包括:
所述应用处理器的TCP/IP协议栈向所述基带处理器的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求;
所述应用处理器接收所述基带处理器发送的包括所述套接字的最新序号和确认号的响应,具体包括:
所述应用处理器的TCP/IP协议栈接收所述基带处理器的TCP/IP协议栈发送的包括所述套接字的最新序号和确认号的响应。
结合第五方面或第五方面第一种可能的实现方式,在第二种可能的实现方式中,
所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,还具体用于在向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;并在所述同步超时定时器超时时,如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
结合第五方面或第五方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,
所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,还具体用于在所述同步超时定时器没有超时时,如果接收到所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;将所述套接字的序号和确认号更新为所述最新序号和确认号。
结合第五方面或第五方面第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,
所述应用处理器,还用于在判断套接字的标志位有效时,继续判断所述套接字的标志位是否处于更新状态,如果没有处于更新状态,则判断同步超时计时器是否超时;并在没有超时,将所述套接字的标志位设置为有效;将所述套接字的序号和确认
号确定为最新序号和确认号。
结合第五方面或第五方面第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,
所述应用处理器向所述基带处理器发送封装后的所述用户数据,具体用于通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
结合第五方面或第五方面第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,
所述应用处理器,还用于在接收所述基带处理器发送的用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;并按照获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
结合第五方面或第五方面第一种或第二种或第三种或第四种或第五种或第六种可能的实现方式,在第七种可能的实现方式中,
所述应用处理器,还用于在发送封装后的所述用户数据结束时或接收所述基带处理器发送的用户数据结束时,判断是否已开启定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
第六方面提供了一种终端,包括:
基带处理器,用于通过3GPP接口接收网络侧设备发送的数据;如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给所述应用处理器;
所述应用处理器,用于在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
在第一方面的第一种可能的实现方式中,所述基带处理器,还用于在判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;在判断所述数据不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;在所
述去除所述端口后,将所述数据发送给所述应用处理器。
由上述技术方案可知,本发明实施例中,在发送用户数据前,通过判断套接字中增加的标志位是否有效来确定套接字的序号和确认号是否是最新的,并在标志位无效时,利用从基带处理器中获取的最新序号和确认号来传输用户数据,从而保证了数据正确性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中正常数据传输过程的数据包封装的TCP包头中序号、确认号变化的示意图;
图2为本发明实施例提供的一种用户数据的传输装置的结构示意图;
图3为本发明实施例提供的一种用户数据的传输装置的另一结构示意图;
图4为本发明实施例提供的一种用户数据的传输装置的另一结构示意图;
图5为本发明实施例提供的一种用户数据的传输装置的另一结构示意图;
图6为本发明实施例提供的一种用户数据的传输装置的另一结构示意图;
图7为本发明实施例提供的一种用户数据的传输装置的另一结构示意图;
图8为本发明实施例提供的一种终端的结构示意图;
图9为本发明实施例提供的一种终端的第一应用实例的结构示意图;
图10为本发明实施例提供的一种终端的第二应用实例的结构示意图;
图11为本发明实施例提供的一种终端的第三应用实例的结构示意图;
图12为本发明实施例提供的一种用户数据的传输方法的流程图;
图13为本发明实施例提供的一种用户数据的传输方法的应用实例的流程图;
图14为本发明实施例提供的一种用户数据的传输方法的另一应用实例的流程;
图15为本发明实施例提供的一种用户数据的传输方法的另一流程图;
图16为本发明实施例提供的一种用户数据的传输方法的另一应用实例的流程图;
图17为本发明实施例提供的一种基于计算机系统实现的用户数据传输装置的示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2,图2为本发明实施例提供的一种用户数据的传输装置的结构示意图,所述装置应用于应用处理器AP侧,所述装置包括:第一判断单元11,获取单元12,封装单元13和第一发送单元14,其中,
所述第一判断单元11,用于在发送用户数据前,判断套接字的标志位是否无效;
其中,应用程序的一个连接对应协议栈中的一个套接字,这个套接字包含本次连接的序号、确认号。操作系统(比如手机操作系统等)为应用程序与应用服务器的交互提供的连接抽象化为套接字(Socket)。
然后,在获取套接字的正确序号和确认号(即最新的序号和确认号)后,再进行数据发送。本实施例中,通过判断所述套接字的标志位是否有效来判断套接字的序号和确认号是否为最新的,如果不是最新的,则需要由获取单元12获取套接字最新的序号和确认号。
其中,在该实施例中,Modem代理的数据收发消息除了必须包含正确的TCP头的序号、确认号以外,还必须包含有其他链路属性,如窗口大小、时间戳等,下文中统一以序号、确认号代称。
本实施例中,由于AP侧TCP/IP协议栈中对每个应用维护一个套接字结构体,本实施例中,在该结构体中新增标志位(Flag),用于表示套接字Socket中当前序号、确认号是否正确,具体定义如下:
当标志位为无效(INVALID)时:表示Socket的当前序号、确认号不可用,需要到基带处理器的协议栈中获取最新的序号、确认号;
当标志位为更新(UPDATING)时:表示当前Socket正在进行更新同步;
当标志位为有效(VALID)时,即最新时:表示Socket包含最新的序号、确认号,可以直接用该Socket进行收发数据。
当应用处理器进行收发用户数据时,该应用的Socket Flag为VALID,此时基带处理器(Modem)所进行的心跳数据业务暂停,当AP侧协议栈不进行数据业务时,应用Socket Flag为INVALID,Modem心跳数据业务开启。
所述获取单元12,用于在所述第一判断单元判断所述标志位无效时,从基带处理器中获取套接字的最新序号和确认号;
该实施例中,当第一判断单元判断标志位无效,则说明套接字的序号和确认号不是最新的,需要从基带处理器中的协议栈中获取套接字的最新序号和确认号,以减少由于序号和确认号的不正确导致发送失败。
其中,所述获取单元12包括:第二发送单元和第一接收单元(图中未示):
所述第二发送单元,用于向所述基带处理器中的协议栈发送获取所述套接字的最新序号和确认号的同步请求;
所述第一接收单元,用于接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
其中,所述第二发送单元和第一接收单元可以集成在应用处理器中。
之后,套接字的最新序号和确认号会被设置到AP侧TCP/IP协议栈中。
在另一实施例中,所述获取单元12还可以包括:第一启动单元,第二判断单元,第一设置单元和第一确定单元(图中未示),
所述第一启动单元,用于在第二发送单元向所述基带处理器中的协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;
所述第二判断单元,用于判断所述同步超时定时器是否超时;
其中,同步超时定时器就是在设定的时间内是否接收到基带处理器反馈的套接字的最新序号和确认号。其设定的时间可以是10秒,1秒,或者3秒等,具体的时间值可以根据需要来设置,本实施例不作限制。
所述第一设置单元,用于在所述第二判断单元判断所述同步超时定时器超时时,
如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;
所述第一确定单元,用于在所述设置单元设置所述套接字的标志位有效时,将所述套接字的序号和确认号确定为最新序号和确认号。
所述封装单元13,用于将所述获取单元获取的所述套接字的最新序号和确认号封装在所述用户数据中;
该实施例中,通常采用TCP协议封装,即将套接字的最新序号和确认号封装在TCP包头中。
所述第一发送单元14,用于向所述基带处理器发送所述封装单元封装后的所述用户数据。
其中,所述第一发送单元14,具体用于通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
可选的,该实施例中,所述第一判断单元11,获取单元12,封装单元13和第一发送单元14可以集成在应用处理器中。
本发明实施例中,在发送用户数据前,通过判断套接字的标志位是否有效来确定套接字的序号和确认号是否是最新的,并在标志位无效时,利用从基带处理器中获取的最新序号和确认号来传输用户数据,从而保证了用户数据传输的正确性。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第三判断单元31,第四判断单元32,第三设置单元33和第二确定单元34,其结构示意图如图3所示,其中,
所述第三判断单元31,用于在所述第一判断单元11判断所述套接字的标志位有效时,则继续判断所述套接字的标志位是否处于更新中;
所述第四判断单元32,用于在所述第三判断31判断所述套接字的标志位处于更新中,则判断同步超时计时器是否超时;
所述第三设置单元33,用于在所述第四单元32判断所述同步超时计数器超时时,将所述套接字的标志位设置为有效;
所述第二确定单元34,用于将所述套接字的序号和确认号确定为最新序号和确认号。
可选的,所述第三判断单元31,第四判断单元32,第三设置单元33和第二确定单元34也可以集成在所述应用处理器中。
本发明实施例中,在判断所述套接字的标志位有效时,进一步判断所述套接字的标志位是否处于更新中,如果处于更新中,且同步超时计时器超时时,则将所述套接字的标志位设置为有效,从而保证用户数据的正确传输,提高了数据传输效率。
也就是说,本发明实施例中,在发送数据前增加标志位Flag条件的判断,若Flag为有效(VALID),则走协议栈的原有流程,若Flag为无效(INVALID),则需要进行套接字的序号和确认号的同步,再同步的过程中,通过设置的同步超时计时器来判断应用处理器和基带处理器之间的控制信道是否阻塞,如果同步定时器会超时,将Flag置为VALID,然后利用套接字的序号和确认号发送缓冲区的数据。不过,此时数据封包中序号、确认号是旧值,应用服务器收到该数据时会丢弃,导致发送方重传,最终Socket链路断开。应用处理器会重新创建Socket,即可正常通信。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第二接收单元41,其结构示意图如图4所示,其中,
所述第一判断单元11,还用于在接收所述基带处理器发送的用户数据前,判断所述套接字的标志位是否无效;
所述获取单元12,还用于在所述第一判断单元11判断所述标志位无效时,从基带处理器中获取套接字的最新序号和确认号;
所述第二接收单元41,用于按照所述获取单元12获取的所述套接字的最新序号和确认号接收所述用户数据。
可选的,所述第二接收单元也可以集成在应用处理器中。
本实施例中,在接收基带处理器发送的用户数据前,也需要进行套接字的标志位的判断,其判断过程与发送用户数据前,对套接字的标志位的判断过程同,具体详见上述,在此不再赘述。
本发明实施例中,在发送和接收用户数据前,都需要对套接字的标志位进行判断,以使套接字的序号和确认号都是最新的,然后按照最新的序号和确认号发送和接收用户数据,从而保证了用户数据传输的正确性。
可选的,在另一实施例中,该实施例在上述图4所示实施例的基础上,所述装置还可以包括:第五判断单元51,第四设置单元52,第二启动单元53,第三启动单
元54,其结构示意图如图5所示,其中,
所述第五判断单元51,用于在所述第一发送单元14发送封装后的所述用户数据结束是,或所述第二接收单元41接收所述用户数据结束时,判断是否已开启定时器;
所述第四设置单元52,用于在所述第五判断单元51判断已开启所述启定时器时,重新设置所述定时器的值;
所述第二启动单元53,用于在所述定时器达到设定的值时,启动应用心跳代理;
所述第三启动单元54,用于在所述第五判断单元51判断没有开启定时器时,启动所述定时器,并在所述定时器达到设定的值时,启动应用心跳代理。
可选的,所述第五判断单元51,第四设置单元52,第二启动单元53,第三启动单元54也可以集成在所述应用处理器中。
本实施例中,当用户数据收发结束后,需要准备Modem侧的心跳数据收发,此时应用处理器侧的TCP/IP协议栈需要发起同步过程,其将最新的序号、确认号通过同步命令上报给基带处理器,应用处理器在收到基带处理器的同步回复后,置Flag为无效(INVALID)。
上述实施例中需要将序号、确认号从AP侧TCP/IP协议栈同步到Modem TCP/IP协议栈的时机,但AP侧TCP/IP协议栈不可能在发送完一个数据包或接收到一个数据包后就立刻进行此同步动作,因为,在下载或大量数据进行传输时,协议栈会发送或接收连续的TCP数据包。基于此,本实施例在TCP/IP协议栈中设置延迟同步定时器,若延迟时间内,该Socket无收发数据动作,则进行同步过程,若有数据收发动作,则重置该延迟同步定时器。当延迟同步定时器定时到达时,TCP/IP协议栈进行同步过程,将序号和确认号传给Modem侧的协议栈。
可选的,上述用户数据的传输装置可以集成在应用处理器中,也可以独立部署在终端上,本实施例不作限制。
本发明实施例还提供一种用户数据的传输装置,该装置应用于基带处理器,其结构示意图如图6所示,所述装置包括:接收单元61,第一判断单元62和第一发送单元63,其中,
所述接收单元61,用于通过3GPP接口接收网络侧设备发送的数据;
所述第一判断单元62,用于判断所述数据中的目标端口与存储的端口相匹配;
该实施例中,数据传输装置的收发端口都由AP侧在初始化代理时分配,其中初始化代理指的是应用处理器指定基带处理器代理的远端地址、端口、心跳内容、心跳答复内容等,也就说,该数据传输装置上的收发端口和应用处理器上在TCP/IP协议栈中的本地端口一致。
所述第一发送单元63,用于在所述第一判断单元62判断不相匹配时,将所述数据分流给所述应用处理器;以便于所述应用处理器在接收所述数据前,判断所述套接字的标志位是否无效,并在所述标志位无效时,从所述用户数据的传输装置中获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
可选的,所述接收单元61,第一判断单元62和第一发送单元63可以集成在基带处理器中的数据分流模块中。数据分流模块依据存储的端口将接收到的数据分流到应用处理器或者Modem侧的TCP/IP协议栈。其中,数据分流模块存储的端口都由AP侧在初始化代理时分配,其中,初始化代理指的是应用指定Modem代理的远端地址、本地端口、心跳内容、心跳答复内容等,分流判断端口即为协议栈本地端口。
本发明实施例中,所述传输装置在通过3GPP接口接收到数据时,通过所述数据中的目标端口是否与存储的端口相匹配对该数据进行分流,如果不匹配,则将数据发送给应用处理器,如果相匹配,则将该数据发送给Modem侧的TCP/IP协议栈,在由Modem侧的TCP/IP协议栈进一步判断该数据是否为心跳答复数据,具体如图7所示。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第二判断单元71,去除单元72和第二发送单元73,其结构示意图如图7所示,其中,
所述第二判断单元71,用于在所述第一判断单元62判断相匹配时,继续判断所述数据是否为心跳答复数据;
所述去除单元72,用于在所述第二判断单元71判断不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;
所述第二发送单元73,用于在所述去除单元72去除所述端口后,将所述数据发送给所述应用处理器。
可选的,所述第二判断单元71,去除单元72和第二发送单元73,集成在基带
处理器中的协议栈中。
本发明实施例中,该传输装置对分流的数据做进一步的判断,即判断该数据是否为心跳答复数据,如果是,回复确认收到心跳答复包,否则,去除自身与所述目标端口相匹配的端口后,将该数据发送给应用处理器。也即是说,在接收到网络侧设备或服务器发送的数据时,通过对接收到网络侧的数据进行分流和判断,以保证数据传输的正确性。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第三判断单元,其中,第三判断单元,用于在所述第二发送单元将所述数据发送给所述应用处理器后,继续判断缓存中是否还有应用数据,如果有,则将所述应用数据发送给所述应用处理器。
本发明实施例中,在该集成在基带处理器上的传输装置在代理过程中,如果接收到心跳答复包,无需通知应用处理器,如果接收到服务器或网络设备推送的数据包,且该数据包需要发送给应用处理器处理。也就是说,该传输装置,在接收到网络侧设备或服务器发送的数据时,通过对接收到网络侧的数据进行分流,从而提高传输效率。
基于上述过程,本发明实施例还提供一种终端,其结构示意图,如图8所示,所述终端8包括:应用处理器81和基带处理器82,其中,
所述应用处理器81,用于在发送用户数据前,停止基带处理器中的应用心跳代理,判断所述套接字的标志位是否无效,并在所述标志位无效时,向所述基带处理器中的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求;
所述基带处理器82,用于向所述应用处理器发送包括所述套接字的最新序号和确认号的响应;
所述应用处理器81,还用于接收所述基带处理器发送的包括所述套接字的最新序号和确认号的响应,并将接收到的所述套接字的最新序号和确认号封装在所述用户数据中,并将封装后的所述用户数据发送给所述基带处理器;
所述基带处理器82,还用于将接收到的所述用户数据通过3GPP接口发送给网络侧设备。
可选的,在另一实施例中,所述应用处理器81还用于向所述基带处理器的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求,具体包括:所述应用处理器81的TCP/IP协议栈向所述基带处理器的TCP/IP协议栈发送获取套接字的最新
序号和确认号的请求;
所述应用处理器81,还用于接收所述基带处理器82发送的包括所述套接字的最新序号和确认号的响应,具体包括:所述应用处理器81接收所述基带处理器82的协议栈发送的包括所述套接字的最新序号和确认号的响应。
可选的,在另一实施例中,所述应用处理器81,还用于在向所述基带处理器82中的协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;并在所述同步超时定时器超时时,如果没有接收到所述基带处理器82发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
可选的,在另一实施例中,所述应用处理器81,还用于在所述同步超时定时器没有超时时,如果接收到所述基带处理器82发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;将所述套接字的序号和确认号更新为所述最新序号和确认号。
可选的,在另一实施例中,所述应用处理器81,还用于在判断套接字的标志位有效时,继续判断所述套接字的标志位是否处于更新状态,如果没有处于更新状态,则判断同步超时计时器是否超时;并在没有超时,将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
可选的,在另一实施例中,所述应用处理器81向所述基带处理器82发送封装后的所述用户数据,包括:
所述基带处理器82通过串口向所述基带处理器82发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
可选的,在另一实施例中,所述应用处理器81,还用于在接收所述基带处理器8282发送的用户数据前,判断所述套接字的标志位是否无效,并在所述标志位无效时,从基带处理器82中获取套接字的最新序号和确认号;并按照获取的所述套接字的最新序号和确认号接收所述用户数据。
可选的,在另一实施例中,所述应用处理器81,还用于在发送封装后的所述用户数据结束时或接收所述用户数据结束时,判断是否已开启定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,传递序号、确认号到Modem侧的TCP/IP协议栈中去,同时启动心跳代理;
如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,同步序号、确认号到Modem侧的TCP/IP协议栈中,同时启动心跳代理。
可选的,本发明实施例还挺一种终端,所述终端包括基带处理器和应用处理器,其中,所述基带处理器,用于通过3GPP接口接收网络侧设备发送的数据;如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给所述应用处理器;
所述应用处理器,用于在接收所述数据前,判断所述套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
可选的,在另一实施例中,所述基带处理器,还用于在判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;在判断所述数据不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;在所述去除所述端口后,将所述数据发送给所述应用处理器。
为了便于本领域技术人员的理解,下面以具体的应用实例来说明。
还请参阅图9,图9为本发明实施例提供的一种终端的第一应用实例的结构示意图。该实施例为AP进行序号和确认的同步过程。所述终端包括:应用处理器(AP)91和基带处理器(Modem)92,其中,所述应用处理器91包括:TCP/IP协议栈911,和应用912;所述基带处理器92包括TCP/IP协议栈921和心跳代理模块922。
如图9所示,在AP和Modem两个协议栈之间构建一条传输套接字的序号和确认号等值的同步通道,该通道如图9中的箭头所示。
如图所示,当TCP/IP协议栈有用户数据要发送时,同时为了防止Modem发送错误序号的心跳包,需要先暂停应用心跳代理;然后,判断所述套接字的标志位是否无效,如有有效,按照所述套接字的序号和确认号发送数据;如果无效,则需要通过应用处理器从基带处理器的协议栈中获取套接字的最新序号和确认号,然后,按照获取的序号和确认号发送用户数据。当TCP/IP协议栈判断无用户数据发送时,先将套接字的序号、确认号发送给基带处理器TCP/IP协议找模块,然后再启动应用心跳代理。
也就是说,本实施例中,应用处理器和基带处理器中的两个协议栈,只能在获
取到正确(即最新)的序号、确认号的情况下才能进行数据收发。也就是说,本实施例中的序号、确认号就相当于一把锁,双方都先要获取,然后才能收发。实际情况下,用户数据比心跳数据优先级要高,因此本实施例把套接字的序号、确认号的控制权交给AP侧的TCP/IP协议栈。
在该实施例中,获取序号和确认号的过程就是同步过程,同步过程根据序号和确认号的传输方向分为AP到Modem,以及Modem到AP。同步过程分为同步命令和同步回复。同步过程命令走向如图9中的箭头所示,具体为:
当AP侧TCP/IP协议栈要向Modem侧的协议栈获取序号、确认号时,该TCP/IP协议栈向Modem侧的TCP/IP协议栈发送同步请求;Modem侧的TCP/IP协议栈中取出本次连接的序号、确认号,并将所述序号、确认号以同步回复给AP侧TCP/IP协议栈。
当AP侧TCP/IP协议栈没有用户数据传输时,需要将套接字的最新序号、确认号传递给Modem侧TCP/IP协议栈时,通过同步命令将最新的序号、确认号发送给Modem侧的TCP/IP协议栈,Modem侧的TCP/IP协议栈在收到该同步命令后,回复确认消息,并更新最新的所述序号、确认号,从而完成同步。
其同步过程在实现时,还可以通过延迟同步定时器来实现,具体为:在收发数据结束时,判断是否已开启延迟同步定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将套接字的序号和确认号同步给Modem侧的TCP/IP协议栈;如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给Modem侧的TCP/IP协议栈。从而完成同步过程。
还请参阅图10,图10为本发明实施例提供的一种终端的第二应用实例的结构示意图。该实施例为终端将数据通过3GPP数据接口发送给网络侧设备的过程中。终端包括:AP101,以及AP101侧TCP/IP协议栈102和应用103;Modem104;以及Modem104侧的TCP/IP协议栈105、Modem侧的心跳代理模块106和3GPP数据接口107;如图10所示:
当心跳代理模块106运行时,终端(比如手机)相当于有两个协议栈在工作,一个是AP101侧的TCP/IP协议栈103,一个是Modem104侧的TCP/IP协议栈105,AP101侧的TCP/IP协议栈103的数据发送要通过串口传给Modem104;Modem104将接收到的数据通过3GPP数据接口107发送到空口,即通过空口发送给网络侧设备;
相应的,Modem 104侧的TCP/IP协议栈105的数据发送也同样调用3GPP数据接口107发送到空口,即通过空口发送给网络侧设备。其数据的流向如图10的宽箭头所示。
还请参阅图11,图11为本发明实施例提供的一种终端的第三应用实例的结构示意图。该实施例为终端接收到网络侧设备发送的数据进行分流处理的过程。终端包括:AP111,以及AP111侧TCP/IP协议栈112和应用113;Modem114;以及Modem114侧的TCP/IP协议栈115、心跳代理模块116、3GPP数据接口117和数据分流模块118,数据分流模块分别与3GPP数据接口和Modem侧TCP/IP协议栈连接;如图11所示:
当网络侧有数据到达时,若终端(比如手机)中有些应用启动代理,有些应用没有启用代理,为了保证各自数据的合理分流。本实施例通过在基带处理器114中增加数据分流模块118对接收到网络侧发送的数据进行分流。
数据分流模块118进行分流的依据是端口,TCP/IP协议栈115中数据收发的端口都由AP侧在初始化代理时分配(初始化代理指的是应用指定Modem代理的远端地址、端口、心跳内容、心跳答复内容等),该端口和应用与TCP/IP协议栈112中的本地端口一致。代理启动时,数据分流模块118存储该端口,这样当数据分流模块118通过空口和3GPP数据接口117接收到网络侧发送的数据包时,判断该数据包中的目标端口是否与数据分流模块中任一端口相匹配,若匹配,则数据分流模块118将该数据分流给Modem侧的TCP/IP协议栈115;若不匹配,则数据分流模块118将该数据分流给AP(即透传给AP)。
Modem侧的TCP/IP协议栈115在接收到该数据时,继续判断所述数据是否为心跳答复数据;如果不是心跳答复数据时,去除该数据中与所述目标端口相匹配的端口;在所述去除所述端口后,将所述数据发送给所述应用处理器111。如果是心跳答复数据,则确认收到心跳答复数据。
基于上述过程,本发明实施例还提供一种用户数据的传输方法,其流程图如图12所示。本实施例在数据发送之前增加标志位Flag条件判断,若Flag为VALID则走TCP/IP协议栈原有流程,若Flag为INVALID,则需要从基带处理器的TCP/IP协议栈中获取序号和确认号,即实现序号、确认号的同步。其在数据发送前对标志位Flag进行的判断和处理流程包括:
步骤121:在发送用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;
步骤122:将获取的所述套接字的最新序号和确认号封装在所述用户数据中;
步骤123:向所述基带处理器发送封装后的所述用户数据。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述从基带处理器中获取所述套接字的最新序号和确认号,包括:向所述基带处理器中的协议栈发送获取所述套接字的最新序号和确认号的同步请求;接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述从基带处理器中获取所述套接字的最新序号和确认号,所述方法还可以包括:在向所述基带处理器中的协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;在所述同步超时定时器超时时,如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号;在所述同步超时定时器没有超时时,如果接收到所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;将所述套接字的序号和确认号更新为所述最新序号和确认号。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:
如果判断套接字的标志位有效,则继续判断所述套接字的标志位是否处于更新中,如果没有处于更新中,则判断同步超时计时器是否超时;如果没有超时,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述向所述基带处理器发送封装后的所述用户数据,包括:通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:在接收所述基带处理器发送的用户数据前,执行所述判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号的步骤;按照获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:在发送封装后的所述用户数据结束时或接收所述基带处理器发送的用户数据结束时,判断是否已开启延迟同步定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将套接字的序号和确认号同步给基带处理器;如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将当前套接字的序号和确认号同步给基带处理器。
所述方法中各个步骤的实现过程,详见上述实施例中对应的实现过程,在此不再赘述。
还请参阅图13,图13为本发明实施例提供的用户数据的传输方法的第一应用实例的流程图,具体包括:
步骤131:AP侧的TCP/IP协议栈接收到数据包;
步骤132:AP的TCP/IP协议栈判断当前数据包中套接字的标志位是否无效;如果无效,执行步骤133;如果有效,执行步骤138;
步骤133:AP的TCP/IP协议栈开启同步超时定时器;
步骤134:AP的TCP/IP协议栈对所数据包中的数据进行缓存;
步骤135:AP的TCP/IP协议栈判断同步上报是否超时;如果超时,执行步骤136;如果不超时,执行步骤139;
步骤136:AP的TCP/IP协议栈将数据包中套接字的标志位(Flag)设置为有效(VALID);
步骤137:AP的TCP/IP协议栈对该数据包按照原有数据处理流程进行处理;
步骤138:AP的TCP/IP协议栈判断所述标志位是否有效;如果是,执行步骤137;否则,执行步骤139;
步骤139:对该数据包不作处理。
当然,在该实施例中,AP侧的TCP/IP协议栈也可以接收到的同步命令,其具体过程如图14所示,图14为本发明实施例提供的用户数据的传输方法的另一应用实例的流程,具体包括:
步骤141:AP侧的TCP/IP协议栈接收到同步上报命令;
步骤142:AP侧的TCP/IP协议栈向Modem侧的TCP/IP协议栈发送同步上报命令确认;
步骤143:AP侧的TCP/IP协议栈判断是否启动同步超时定时器;如果已开启,执行步骤144;如果没有开启,则执行步骤145;
步骤144:AP侧的TCP/IP协议栈重置同步超时定时器;执行步骤145;
步骤145:AP侧的TCP/IP协议栈更新该套接字的序号和确认号;
步骤146:AP侧的TCP/IP协议栈将套接字的标识修改为有效;
步骤147:AP侧的TCP/IP协议栈按照原有数据处理处理。
该实施例中,是为了避免数据包比同步上报命令先到AP,导致协议栈用错误的序号、确认号处理数据包的情况,因此,在TCP/IP接收入口先做Flag判断,若同步上报还没到达,则开启同步定时器进行保护。
本发明实施例还提供一种用户数据的传输方法,其流程图如图15所示,所述方法包括:
步骤151:通过3GPP接口接收网络侧设备发送的数据;
步骤152:如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给所述应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从所述装置中获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:如果判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;在判断所述数据不是心跳答复数据时,去除存储的与所述目标端口相匹配的端口;在所述去除所述端口后,将所述数据发送给所述应用处理器。
本发明实施例中,在Modem代理过程中,若收到心跳答复包,则无需通知应用;若收到服务器的推送消息,那么就需要将该推送消息发送交给AP处理。Modem须先上报序号、确认号之后,再将该数据包透传给AP。Modem处理流程如图16所示,图16为本发明实施例提供的一种用户数据的传输方法的另一应用实例的流程图,具体包括:
步骤161:基带处理器Modem侧的TCP/IP协议栈接收到数据包;
比如,该数据包为推送消息等。
步骤162:Modem侧的TCP/IP协议栈对该数据包进行解包后,发送给心跳代理模块;
步骤163:心跳代理模块判断该数据包是否为心跳答复数据;如果是,执行步骤164:否则,执行步骤165;
步骤164:心跳代理模块向Modem侧的TCP/IP协议栈发送心跳数据答复包,结束。
步骤165:心跳代理模块暂停对应的心跳;
暂停的目的是避免发送包含错误序号、确认号的心跳包。
步骤166:心跳代理模块去除数据分流模块相应端口;
即去除存储的与所述目标端口相匹配的端口。
步骤167:在所述去除所述端口后,心跳代理模块向AP侧协议栈同步上报序号和确认号;
步骤168:Modem侧协议栈将该数据包透传给所述应用处理器。
需要说明的是,本发明实施例中,AP侧协议栈或AP侧的协议栈均指AP侧的TCP/IP协议栈或TCP/IP协议栈中的子协议栈;Modem协议栈或Modem侧的协议栈均指Modem侧的TCP/IP协议栈或TCP/IP协议栈中子协议栈。
图17所示,本发明实施例还提供了一种基于计算机系统实现的用户数据传输装置,具体实现中,该用户数据传输装置可以包括:处理器1701、存储器1702和总线1703;处理器1701与存储器1702通过总线1703相互连接;其中,存储器1702,用于存储计算机执行指令;处理器1701,用于执行所述存储器1702存储的所述计算机执行指令,在发送用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;将获取的所述套接字的最新序号和确认号封装在所述用户数据中;向所述基带处理器发送封装后的所述用户数据。进一步还可以通过3GPP接口接收网络侧设备发送的数据;
如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给所述应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取
的所述套接字的最新序号和确认号接收所述数据。
具体实现中,上述处理器可以是中央处理器(central processing unit,CPU)、专用集成电路(applicatI/On-specific integrated circuit,ASIC)等。计算机存储介质可存储有程序,该程序执行时可包括本发明实施例提供的数据传输的方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (30)
- 一种用户数据的传输方法,其特征在于,包括:在发送用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;将获取的所述套接字的最新序号和确认号封装在所述用户数据中;向所述基带处理器发送封装后的所述用户数据。
- 根据权利要求1所述的方法,其特征在于,所述从基带处理器中获取所述套接字的最新序号和确认号,包括:向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求;接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
- 根据权利要求2所述的方法,其特征在于,所述从基带处理器中获取所述套接字的最新序号和确认号,还包括:在向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;在所述同步超时定时器超时时,没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求3所述的方法,其特征在于,所述从基带处理器中获取所述套接字的最新序号和确认号,还包括:在所述同步超时定时器没有超时时,接收到所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;将所述套接字的序号和确认号更新为所述最新序号和确认号。
- 根据权利要求1至4任一项所述的方法,其特征在于,还包括:如果判断套接字的标志位有效,则继续判断所述套接字的标志位是否处于更 新中,如果没有处于更新中,则判断同步超时计时器是否超时;如果没有超时,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求1至5任一项所述的方法,其特征在于,所述向所述基带处理器发送封装后的所述用户数据,包括:通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
- 根据权利要求1至6任一项所述的方法,其特征在于,还包括:在接收所述基带处理器发送的用户数据前,判断所述套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;按照获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
- 根据权利要求7所述的方法,其特征在于,还包括:在发送封装后的所述用户数据结束时或接收所述基带处理器发送的用户数据结束时,判断是否已开启延迟同步定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
- 一种用户数据的传输方法,其特征在于,包括:通过3GPP接口接收网络侧设备发送的数据;如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
- 根据权利要求9所述的方法,其特征在于,还包括:如果判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;在判断所述数据不是心跳答复数据时,去除存储的与所述目标端口相匹配的端口;在所述去除所述端口后,先将所述数据中套接字的序号和确认号同步给所述应用处理器,再将所述数据发送给所述应用处理器。
- 一种用户数据的传输装置,其特征在于,包括:第一判断单元,用于在发送用户数据前,判断套接字的标志位是否无效;获取单元,用于在所述第一判断单元判断所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;封装单元,用于将所述获取单元获取的所述套接字的最新序号和确认号封装在所述用户数据中;第一发送单元,用于向所述基带处理器发送所述封装单元封装后的所述用户数据。
- 根据权利要求11所述的装置,其特征在于,所述获取单元包括:第二发送单元,用于向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求;第一接收单元,用于接收所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括所述套接字的最新序号和确认号。
- 根据权利要求12所述的装置,其特征在于,所述获取单元还包括:第一启动单元,用于在第二发送单元向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;第二判断单元,用于判断所述同步超时定时器是否超时;第一设置单元,用于在所述第二判断单元判断所述同步超时定时器超时时,如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;第一确定单元,用于在所述设置单元设置所述套接字的标志位有效时,将所 述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求13所述的装置,其特征在于,所述获取单元还包括:第二设置单元,用于在所述第二判断单元判断所述同步超时定时器没有超时时,如果接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述同步超时定时器的值清零;所述同步响应中包括:所述套接字的最新序号和确认号;更新单元,用于将所述套接字的序号和确认号更新为所述同步响应中包括的最新序号和确认号。
- 根据权利要求11至14任一项所述的装置,其特征在于,还包括:第三判断单元,用于在所述第一判断单元判断所述套接字的标志位有效时,则继续判断所述套接字的标志位是否处于更新中;第四判断单元,用于在所述第三判断判断所述套接字的标志位处于更新中,则判断同步超时计时器是否超时;第三设置单元,用于在所述第四单元判断所述同步超时计数器超时时,将所述套接字的标志位设置为有效;第二确定单元,用于将所述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求11至15任一项所述的装置,其特征在于,所述第一发送单元,具体用于通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
- 根据权利要求11至16任一项所述的装置,其特征在于,还包括:所述第一判断单元,还用于在接收所述基带处理器发送的用户数据前,判断套接字的标志位是否无效;所述获取单元,还用于在所述第一判断单元判断所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;第二接收单元,用于按照所述获取单元获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
- 根据权利要求11或17所述的装置,其特征在于,还包括:第五判断单元,用于在所述第一发送单元发送封装后的所述用户数据结束时,或所述第二接收单元接收所述基带处理器发送的用户数据结束时,判断是否已开启延迟同步定时器;第四设置单元,用于在所述第五判断单元判断已开启所述延迟同步时器时,重新设置所述延迟同步定时器的值;第二启动单元,用于在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;第三启动单元,用于在所述第五判断单元判断没有开启延迟同步定时器时,启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
- 一种用户数据的传输装置,其特征在于,包括:接收单元,用于通过3GPP接口接收网络侧设备发送的数据;第一判断单元,用于判断所述数据中的目标端口与存储的端口相匹配;第一发送单元,用于在所述第一判断单元判断不相匹配时,将所述数据分流给所述应用处理器;以便于所述应用处理器在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取套所述接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
- 根据权利要求19所述的装置,其特征在于,还包括:第二判断单元,用于在所述第一判断单元判断相匹配时,继续判断所述数据是否为心跳答复数据;去除单元,用于在所述第二判断单元判断不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;第二发送单元,用于在所述去除单元去除所述端口后,将所述数据发送给所述应用处理器。
- 一种终端,其特征在于,包括:应用处理器,用于在发送用户数据前,停止基带处理器中的应用心跳代理,判断套接字的标志位是否无效,并在所述标志位无效时,向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的请求;基带处理器,用于向所述应用处理器发送包括所述套接字的最新序号和确认号的响应;所述应用处理器,还用于接收所述基带处理器发送的包括所述套接字的最新序号和确认号的响应,并将接收到的所述套接字的最新序号和确认号封装在所述用户数据中,并将封装后的所述用户数据发送给所述基带处理器;所述基带处理器,还用于将接收到的所述用户数据通过3GPP接口发送给网络侧设备。
- 根据权利要求21所述的终端,其特征在于,所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,具体用于向所述基带处理器的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求,具体包括:所述应用处理器的TCP/IP协议栈向所述基带处理器的TCP/IP协议栈发送获取套接字的最新序号和确认号的请求;所述应用处理器接收所述基带处理器发送的包括所述套接字的最新序号和确认号的响应,具体包括:所述应用处理器的TCP/IP协议栈接收所述基带处理器的TCP/IP协议栈发送的包括所述套接字的最新序号和确认号的响应。
- 根据权利要求22所述的终端,其特征在于,所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,还具体用于在向所述基带处理器中的TCP/IP协议栈发送获取所述套接字的最新序号和确认号的同步请求时,启动同步超时定时器;并在所述同步超时定时器超时时,如果没有接收到所述基带处理器发送的响应所述同步请求的同步响应,则将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求23所述的终端,其特征在于,所述应用处理器从基带处理器中获取所述套接字的最新序号和确认号,还具体用于在所述同步超时定时器没有超时时,如果接收到所述基带处理器发送的响应所述同步请求的同步响应,所述同步响应中包括:所述套接字的最新序号和确认号;则将所述同步超时定时器的值清零;将所述套接字的序号和确认号更新为 所述最新序号和确认号。
- 根据权利要求21至24任一项所述的终端,其特征在于,所述应用处理器,还用于在判断套接字的标志位有效时,继续判断所述套接字的标志位是否处于更新状态,如果没有处于更新状态,则判断同步超时计时器是否超时;并在没有超时,将所述套接字的标志位设置为有效;将所述套接字的序号和确认号确定为最新序号和确认号。
- 根据权利要求21至25任一项所述的终端,其特征在于,所述应用处理器向所述基带处理器发送封装后的所述用户数据,具体用于通过串口向所述基带处理器发送封装后的所述用户数据,以便于所述基带处理器通过3GPP数据接口发送给网络侧设备。
- 根据权利要求21至26任一项所述的终端,其特征在于,所述应用处理器,还用于在接收所述基带处理器发送的用户数据前,判断套接字的标志位是否无效,并在所述标志位无效时,从基带处理器中获取所述套接字的最新序号和确认号;并按照获取的所述套接字的最新序号和确认号接收所述基带处理器发送的用户数据。
- 根据权利要求27所述的终端,其特征在于,所述应用处理器,还用于在发送封装后的所述用户数据结束时或接收所述基带处理器发送的用户数据结束时,判断是否已开启定时器;如果已开启延迟同步定时器,则重新设置所述延迟同步定时器的值,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给基带处理器;如果没有开启延迟同步定时器,则启动所述延迟同步定时器,并在所述延迟同步定时器达到设定的值时,将所述套接字的序号和确认号同步给所述基带处理器。
- 一种终端,其特征在于,包括:基带处理器,用于通过3GPP接口接收网络侧设备发送的数据;如果判断所述数据中的目标端口与存储的端口不相匹配,则将所述数据分流给所述应用处理器;所述应用处理器,用于在接收所述数据前,判断套接字的标志位是否无效,并在所述标志位无效时,获取所述套接字的最新序号和确认号,并按照获取的所述套接字的最新序号和确认号接收所述数据。
- 根据权利要求29所述的终端,其特征在于,所述基带处理器,还用于在判断所述数据中的目标端口与存储的端口相匹配时,继续判断所述数据是否为心跳答复数据;在判断所述数据不是心跳答复数据时,去除自身与所述目标端口相匹配的端口;在所述去除所述端口后,将所述数据发送给所述应用处理器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/070071 WO2016106780A1 (zh) | 2015-01-04 | 2015-01-04 | 一种用户数据的传输方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105940658A true CN105940658A (zh) | 2016-09-14 |
CN105940658B CN105940658B (zh) | 2019-04-26 |
Family
ID=56284041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580003207.7A Active CN105940658B (zh) | 2015-01-04 | 2015-01-04 | 一种用户数据的传输方法、装置及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105940658B (zh) |
WO (1) | WO2016106780A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418768A (zh) * | 2018-02-13 | 2018-08-17 | 广东欧珀移动通信有限公司 | 业务数据的识别方法、装置、终端及存储介质 |
CN111698275A (zh) * | 2019-03-15 | 2020-09-22 | 华为技术有限公司 | 数据处理方法、装置及设备 |
CN112422238A (zh) * | 2020-11-15 | 2021-02-26 | 珠海市一微半导体有限公司 | 提高并行发送数据安全性的方法和异构系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422242B (zh) * | 2020-11-15 | 2022-03-04 | 珠海一微半导体股份有限公司 | 一种提高发送数据安全性的方法和异构系统 |
CN114095129B (zh) * | 2021-11-17 | 2024-05-17 | 厦门勇仕网络技术股份有限公司 | 一种移动端游戏网络传输的通信方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499791A (zh) * | 2002-11-06 | 2004-05-26 | ��Ϊ��������˾ | 自动获取指定主机链路层信息的方法 |
CN101383690A (zh) * | 2008-10-27 | 2009-03-11 | 西安交通大学 | 一种基于socket的容错计算机系统的网络同步方法 |
CN102088490A (zh) * | 2011-01-19 | 2011-06-08 | 华为技术有限公司 | 数据存储方法、设备和系统 |
US20110202623A1 (en) * | 2010-02-17 | 2011-08-18 | Emulex Design & Manufacturing Corporation | Accelerated sockets |
CN103036957A (zh) * | 2012-12-05 | 2013-04-10 | 华为技术有限公司 | 一种数据通信方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202704B (zh) * | 2007-09-07 | 2010-08-18 | 深圳市同洲电子股份有限公司 | 一种数据的传输方法及系统 |
CN103297384A (zh) * | 2012-02-22 | 2013-09-11 | 航天信息股份有限公司 | 协议转换的通信方法及系统 |
-
2015
- 2015-01-04 CN CN201580003207.7A patent/CN105940658B/zh active Active
- 2015-01-04 WO PCT/CN2015/070071 patent/WO2016106780A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499791A (zh) * | 2002-11-06 | 2004-05-26 | ��Ϊ��������˾ | 自动获取指定主机链路层信息的方法 |
CN101383690A (zh) * | 2008-10-27 | 2009-03-11 | 西安交通大学 | 一种基于socket的容错计算机系统的网络同步方法 |
US20110202623A1 (en) * | 2010-02-17 | 2011-08-18 | Emulex Design & Manufacturing Corporation | Accelerated sockets |
CN102088490A (zh) * | 2011-01-19 | 2011-06-08 | 华为技术有限公司 | 数据存储方法、设备和系统 |
CN103036957A (zh) * | 2012-12-05 | 2013-04-10 | 华为技术有限公司 | 一种数据通信方法和装置 |
Non-Patent Citations (1)
Title |
---|
欧军等: "《基于socket的网络通信技术研究》", 《网络安全技术与应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418768A (zh) * | 2018-02-13 | 2018-08-17 | 广东欧珀移动通信有限公司 | 业务数据的识别方法、装置、终端及存储介质 |
CN111698275A (zh) * | 2019-03-15 | 2020-09-22 | 华为技术有限公司 | 数据处理方法、装置及设备 |
US11647104B2 (en) | 2019-03-15 | 2023-05-09 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and device |
CN112422238A (zh) * | 2020-11-15 | 2021-02-26 | 珠海市一微半导体有限公司 | 提高并行发送数据安全性的方法和异构系统 |
CN112422238B (zh) * | 2020-11-15 | 2022-08-05 | 珠海一微半导体股份有限公司 | 提高并行发送数据安全性的方法和异构系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105940658B (zh) | 2019-04-26 |
WO2016106780A1 (zh) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101652952B (zh) | 窗口控制和重发控制方法、以及发送端装置 | |
AU2002251937B2 (en) | A Dual Proxy Approach to TCP Performance Improvements Over a Wireless Interface | |
Cerf et al. | Proposal for an international end to end protocol | |
US6587441B1 (en) | Method and apparatus for transportation of data over a managed wireless network using unique communication protocol | |
CN105940658A (zh) | 一种用户数据的传输方法、装置及终端 | |
CN104486243B (zh) | 数据传输方法、设备及系统 | |
US20060271680A1 (en) | Method For Transmitting Window Probe Packets | |
EP2613497A2 (en) | Method of transporting data in a sub-segmented manner | |
CN101652949A (zh) | 分组通信方法以及接收端装置 | |
CN102857354A (zh) | 告警信息上报方法、装置及系统 | |
CN107104902A (zh) | 一种rdma数据传输的方法、相关装置与系统 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN104184568B (zh) | 通信系统的数据传输方法及系统 | |
JP2986798B2 (ja) | データ伝送制御方法およびデータ通信装置 | |
Farber et al. | Thinwire protocol for connecting personal computers to the Internet | |
CN106341368A (zh) | 一种实现数据处理的方法及装置 | |
CN103733600A (zh) | 一种建立链路的方法、节点及装置 | |
CN112469080B (zh) | 一种数据包处理的方法及相关装置 | |
EP1505759A2 (en) | Method and device for transmitting/receiving data using acknowledged transport layer protocols | |
JPH1070523A (ja) | パケット伝送方法及び装置 | |
EP1549023B1 (en) | Data conversion and communication method | |
CN106209733B (zh) | 一种数据处理方法及装置 | |
KR100538836B1 (ko) | 무선 통신 시스템에서 데이터 전송의 확인 | |
JP4820326B2 (ja) | 送達確認情報送信方法及び受信側装置 | |
KR100522327B1 (ko) | 무선 통신 시스템에 있어서의 로버스트 무선 링크 제어 리셋 절차 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |