CN102932392A - 多终端系统的udp下载方法 - Google Patents

多终端系统的udp下载方法 Download PDF

Info

Publication number
CN102932392A
CN102932392A CN2011102309020A CN201110230902A CN102932392A CN 102932392 A CN102932392 A CN 102932392A CN 2011102309020 A CN2011102309020 A CN 2011102309020A CN 201110230902 A CN201110230902 A CN 201110230902A CN 102932392 A CN102932392 A CN 102932392A
Authority
CN
China
Prior art keywords
terminal
server
data
packet
packets
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
Application number
CN2011102309020A
Other languages
English (en)
Other versions
CN102932392B (zh
Inventor
张勇星
Original Assignee
Quectel Wireless Solutions Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quectel Wireless Solutions Co Ltd filed Critical Quectel Wireless Solutions Co Ltd
Priority to CN201110230902.0A priority Critical patent/CN102932392B/zh
Publication of CN102932392A publication Critical patent/CN102932392A/zh
Application granted granted Critical
Publication of CN102932392B publication Critical patent/CN102932392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种多终端系统的UDP下载方法:S1、该服务器下发数据更新通知以及数据的总长度;S2、该服务器将数据分包为多个数据包,该终端根据该服务器下发的数据的总长度获得数据的分包信息;S3、该终端向该服务器请求该多个数据包,该服务器应请求向该终端下发该多个数据包;S4、该终端判断是否成功接收到所有数据包,若是则执行S6,若否则执行S5;S5、该终端向该服务器请求下载失败的数据包,该服务器应请求向该终端下发下载失败的数据包;S6、该终端告知该服务器数据更新完成。本发明能够在保证数据的下载完整性的前提下大幅地减轻服务器的负担、最优化对GPRS链路的利用效率、提高下载速度并且避免流量浪费。

Description

多终端系统的UDP下载方法
技术领域
本发明涉及一种UDP(User Datagram Protocol,用户数据包协议)下载方法,特别是涉及一种多终端系统的UDP下载方法。
背景技术
所谓的多终端系统一般是指多个终端与一个服务器之间相互通信的系统。由于UDP具有操作简单、通信效率较高的优点,因此很多多终端系统都是采用UDP方式来进行通信的。
但是,当无线网络信号不佳、地处无线网络覆盖不完全的区域、地处无线网络信号受到障碍物遮挡的区域或是终端本身对无线网络信号接收不良时,UDP方式下的通信很容易发生严重的丢包问题。
如图1所示,以服务器与一个终端之间的通信为例,传统的UDP下载流程包括以下步骤:
步骤100,该服务器向该终端下发数据更新通知。
步骤101,该终端向该服务器回复表示同意进行数据更新。
步骤102,该服务器将准备下发给该终端的数据分包为多个数据包。
步骤103,该服务器向该终端下发该多个数据包。
步骤104,该服务器在下发完毕所有的数据包之后,向该终端请求数据包的接收结果,即询问该终端是否成功地接收到了所有的数据包。
步骤105,该终端向该服务器上报数据包的接收结果。
步骤106,该服务器对该接收结果进行判断,若接收结果表示所有的数据包都已接收成功,则结束此次UDP下载流程,若有一个或多个数据包接收失败,则该服务器将会再次执行步骤103,以向该终端重新下发所有的数据包。
这种UDP下载流程中存在着以下缺陷:
1、服务器始终处于主动地位,而终端则处于被动地位,大部分的工作,例如对数据进行丢包重传处理等等,均是由服务器主导执行的,因此服务器的负担很重,而再考虑到服务器需要与多个终端进行通信,这一问题就会变得极为严重。
2、由于服务器并不知晓各个终端所处的网络状态是否良好,因此其无法根据各个终端所处的具体网络状态而针对不同的终端选择合适的数据下发速度,这会造成GPRS(General Packet Radio System,通用分组无线业务)链路的利用不充分,从而导致网络配置资源的浪费。
3、即使在只有其中个别数据包发生丢包的情况下,由于终端并不会向终端详细地反馈发生丢包的到底是哪几个数据包,因此服务器便需要向终端重新下发整个文件数据,即重新下发所有的数据包,这不仅会造成流量的浪费,还会进一步地加重服务器的负担。
发明内容
本发明要解决的技术问题是为了克服现有技术中的UDP下载方法会造成服务器的负担过重、GPRS链路的利用不充分以及流量的浪费的缺陷,提供一种能够在保证数据的下载完整性的前提下大幅地减轻服务器的负担、最优化对GPRS链路的利用效率、提高下载速度并且最大程度地避免流量浪费的多终端系统的UDP下载方法。
本发明是通过下述技术方案来解决上述技术问题的:一种多终端系统的UDP下载方法,该多终端系统包括相互通信的一服务器与多个终端,其特点在于,在该UDP下载方法中每个终端从该服务器下载数据的流程包括:
S1、该服务器下发数据更新通知以及数据的总长度;
S2、该服务器将数据分包为多个数据包,同时,该终端根据该服务器下发的数据的总长度获得数据的分包信息;
S3、该终端向该服务器请求该多个数据包,该服务器应请求向该终端下发该多个数据包;
S4、该终端判断是否成功接收到所有数据包,若是,则执行S6,若否,则执行S5
S5、该终端向该服务器请求下载失败的数据包,该服务器应请求向该终端下发下载失败的数据包;
S6、该终端告知该服务器数据更新完成。
在服务器与终端开始通信之前,双方会预先约定好通信格式,也就是说,服务器和终端都预先知晓每个数据包的大小。因此,只要服务器将数据的总长度告知终端,终端便可以计算出数据的分包信息,即各个数据包在整个数据中所处的位置。一旦得知了各个数据包在整个数据中的具体位置,终端便可以以此位置信息为唯一的识别标识向服务器索要某一个或某几个特定的数据包,而这一点则正是现有技术所无法实现的、并因此致使终端在现有通信流程中始终处于被动地位。
在本发明的该UDP下载方法中,终端在大部分操作中均处于主动地位,而服务器在这些操作中则仅仅需要应终端的请求而动作即可。
例如,在下发数据包时,先由终端明确地向服务器索要整个更新文件所包含的各个数据包,而后服务器才会应请求将这些数据包向终端下发。
又例如,在接收数据包时,由于终端能够唯一地识别出各个不同的数据包,因此其可以在用于接收数据包的等待超时时间到期时明确地判断出哪些数据包已经成功接收、而哪些数据包下载失败,并由此获得发生丢包的数据包列表。这样一来,终端便可以主动地进行丢包重传处理了,即,终端会明确地向服务器索要丢失的个别数据包,服务器则仅需应请求重新下发这几个丢失了的数据包即可,而无需像现有技术中那样将全部的数据包都重新下发。
由此,一方面服务器将无需再主导处理丢包重传工作,因此在应对多个终端时的工作负担将大幅减轻,同时这也变相地增加了服务器的容量、降低了企业的服务器成本以及维护费用,另一方面,由于在发生丢包时无需对所有的数据包都进行重传,这将能够最大程度地避免网络流量的浪费。
较佳地,在S2中,该终端还根据数据的分包信息将该多个数据包分组;在S3中,该终端依次向该服务器请求各组数据包,该服务器应请求依次向该终端下发各组数据包。在数据包数量较多的情况下,将数据包分组将能够更有效率地进行数据传输。
较佳地,在S3中,该终端动态地调整每组中的数据包的个数和/或用于接收每组数据包的等待超时时间。在等待超时时间到期时还未成功接收的数据包便将被视为接收失败、发生丢包。
其中,在S3中,当对数据包的接收成功率高时,该终端动态地调高每组中的数据包的个数和/或动态地调低用于接收每组数据包的等待超时时间,当对数据包的接收成功率低时,该终端动态地调低每组中的数据包的个数和/或动态地调高用于接收每组数据包的等待超时时间。
由终端根据实际的传输效果来动态地调整下载策略,将能够显著地提高GPRS链路的利用效率,并提高下载速度。
其中,在S6中,该终端基于成功接收到的所有数据包获得下载得到的数据的总长度,并与该服务器下发的数据的总长度进行比较,若相一致则告知该服务器数据更新完成。利用数据长度来进行判断将可以可靠地保证数据的下载完整性。
本发明的积极进步效果在于:本发明能够在保证数据的下载完整性的前提下大幅地减轻服务器的负担、最优化对GPRS链路的利用效率、提高下载速度并且最大程度地避免流量浪费。
附图说明
图1为现有技术中的多终端系统的UDP下载方法的流程图。
图2为本发明的该多终端系统的UDP下载方法的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
实施例
如图2所示,本实施例的多终端系统的UDP下载方法包括以下步骤:
步骤200,服务器向终端下发数据更新通知,以及该数据的总长度。
步骤201,终端回复服务器表示同意进行数据更新。
步骤202,根据约定好的通信格式,服务器将该数据分包为多个数据包,同时,终端则根据服务器下发的该数据的总长度获得数据的分包信息,然后进一步地根据该分包信息将数据包进行分组。在本步骤中,持有数据的服务器对该数据进行实际分包,而并不持有数据的终端则对该数据进行虚拟分包、并进一步地以分组的方式设定下载策略,即设定每组中包含的数据包的个数,并为每组数据包设定一定的等待超时时间。
步骤203,终端向服务器请求一组还未下发过的数据包。
步骤204,服务器应请求向终端下发该组数据包。
步骤205,终端判断是否所有组的数据包均已经由服务器下发完毕,若是,则执行步骤206,若否,则再次执行步骤203。
在执行步骤203~205的过程中,终端还可以根据数据包的实际传输效果随时调整每组中包含的数据包的个数以及等待超时时间,当网络情况较好、传输流畅时,可以适当地增加每组中数据包的个数和/或降低等待超时时间,而当网络情况不佳、传输困难时,则可以适当地减少每组中数据包的个数和/或延长等待超时时间。
步骤206,终端判断是否成功接收到了所有数据包,即判断有无数据包发生了丢包以及具体有哪些数据包发生了丢包,若有丢包现象,则执行步骤207,若无丢包现象,则直接执行步骤209。
步骤207,终端向服务器请求下载失败的数据包。
步骤208,服务器应请求向终端重新下发这些下载失败的数据包。
步骤209,在成功地接收到所有数据包之后,终端通过检验实际接收到的数据总长度与步骤200中服务器下发的数据总长度是否一致来判断数据的下载完整性,若数据完整无误则告知服务器数据更新完成。
综上所述,本发明能够在保证数据的下载完整性的前提下大幅地减轻服务器的负担、最优化对GPRS链路的利用效率、提高下载速度并且最大程度地避免流量浪费。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (5)

1.一种多终端系统的UDP下载方法,该多终端系统包括相互通信的一服务器与多个终端,其特征在于,在该UDP下载方法中每个终端从该服务器下载数据的流程包括:
S1、该服务器下发数据更新通知以及数据的总长度;
S2、该服务器将数据分包为多个数据包,同时,该终端根据该服务器下发的数据的总长度获得数据的分包信息;
S3、该终端向该服务器请求该多个数据包,该服务器应请求向该终端下发该多个数据包;
S4、该终端判断是否成功接收到所有数据包,若是,则执行S6,若否,则执行S5
S5、该终端向该服务器请求下载失败的数据包,该服务器应请求向该终端下发下载失败的数据包;
S6、该终端告知该服务器数据更新完成。
2.如权利要求1所述的多终端系统的UDP下载方法,其特征在于,在S2中,该终端还根据数据的分包信息将该多个数据包分组;在S3中,该终端依次向该服务器请求各组数据包,该服务器应请求依次向该终端下发各组数据包。
3.如权利要求2所述的多终端系统的UDP下载方法,其特征在于,在S3中,该终端动态地调整每组中的数据包的个数和/或用于接收每组数据包的等待超时时间。
4.如权利要求3所述的多终端系统的UDP下载方法,其特征在于,在S3中,当对数据包的接收成功率高时,该终端动态地调高每组中的数据包的个数和/或动态地调低用于接收每组数据包的等待超时时间,当对数据包的接收成功率低时,该终端动态地调低每组中的数据包的个数和/或动态地调高用于接收每组数据包的等待超时时间。
5.如权利要求1-4中任意一项所述的多终端系统的UDP下载方法,其特征在于,在S6中,该终端基于成功接收到的所有数据包获得下载得到的数据的总长度,并与该服务器下发的数据的总长度进行比较,若相一致则告知该服务器数据更新完成。
CN201110230902.0A 2011-08-12 2011-08-12 多终端系统的udp下载方法 Active CN102932392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110230902.0A CN102932392B (zh) 2011-08-12 2011-08-12 多终端系统的udp下载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110230902.0A CN102932392B (zh) 2011-08-12 2011-08-12 多终端系统的udp下载方法

Publications (2)

Publication Number Publication Date
CN102932392A true CN102932392A (zh) 2013-02-13
CN102932392B CN102932392B (zh) 2015-07-08

Family

ID=47647093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110230902.0A Active CN102932392B (zh) 2011-08-12 2011-08-12 多终端系统的udp下载方法

Country Status (1)

Country Link
CN (1) CN102932392B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257446A (zh) * 2018-11-19 2019-01-22 杭州安恒信息技术股份有限公司 一种多终端系统的udp下载加速方法及装置
CN109298879A (zh) * 2017-07-25 2019-02-01 深圳市中兴微电子技术有限公司 一种高效物联网fota升级的方法
WO2019114378A1 (zh) * 2017-12-15 2019-06-20 华为技术有限公司 一种物联网数据传输方法、设备及系统
CN111309351A (zh) * 2020-01-14 2020-06-19 中国科学院地质与地球物理研究所 一种数据升级方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616077A (zh) * 2009-07-29 2009-12-30 武汉大学 互联网大文件的快速传输方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616077A (zh) * 2009-07-29 2009-12-30 武汉大学 互联网大文件的快速传输方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298879A (zh) * 2017-07-25 2019-02-01 深圳市中兴微电子技术有限公司 一种高效物联网fota升级的方法
WO2019114378A1 (zh) * 2017-12-15 2019-06-20 华为技术有限公司 一种物联网数据传输方法、设备及系统
US11146362B2 (en) 2017-12-15 2021-10-12 Huawei Technologies Co., Ltd. Internet of things data transmission method, device and system
CN109257446A (zh) * 2018-11-19 2019-01-22 杭州安恒信息技术股份有限公司 一种多终端系统的udp下载加速方法及装置
CN109257446B (zh) * 2018-11-19 2021-06-22 杭州安恒信息技术股份有限公司 一种多终端系统的udp下载加速方法及装置
CN111309351A (zh) * 2020-01-14 2020-06-19 中国科学院地质与地球物理研究所 一种数据升级方法及系统

Also Published As

Publication number Publication date
CN102932392B (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
CN108881008B (zh) 一种数据传输的方法、装置和系统
CN106559739B (zh) 适于蓝牙低功耗无线通信系统的轻量级数据传输方法
CN104780028A (zh) 一种实现tcp数据报文重传的方法及设备
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
US10284340B2 (en) Multicast sending apparatus, multicast receiving apparatus, and multicast transmission determining method
CN102148662B (zh) 一种数据发送速率的调整方法及装置
CN103546917B (zh) 数据传输方法和装置
US9571409B2 (en) Maximum transmission unit negotiation method and data terminal
CN103906087A (zh) 升级接入点的方法、装置和系统
CN103546258B (zh) 一种数据传输方法及装置
CN103326832A (zh) 数据包发送方法、模式转换方法及装置
CN102932392A (zh) 多终端系统的udp下载方法
CN102111250A (zh) 数据传输的方法和网络侧设备
CN104980257A (zh) 物联网通讯方法及装置
CN103973414A (zh) 一种数据传输方法及装置
CN102315923B (zh) 一种3g卫星通信系统无线链路控制方法
CN103124400A (zh) 短信缓存方法及系统
CN103023602A (zh) 一种基于Socket协议的数据传输容错系统
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置
CN102694727A (zh) 实现网络数据包转发加速的方法及装置
CN104426638A (zh) 一种数据递交方法和装置
CN107959554B (zh) 一种数据的重传方法及装置
CN104243107A (zh) 数据传输方法、装置、终端、服务器及系统
CN105228181A (zh) 一种基于ap优化tcp连接的方法、ap和系统
CN114598651A (zh) 数据传输方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 200233 room 701, No. 1801 B, Hongmei Road, Xuhui District, Shanghai

Patentee after: QUECTEL WIRELESS SOLUTIONS CO., LTD.

Address before: 200233 Shanghai city Xuhui District Tianzhou Road No. 99 building 13 Room 501

Patentee before: Shanghai Quectel Communication Technology Co.,Ltd.

Address after: 200233 room 701, No. 1801 B, Hongmei Road, Xuhui District, Shanghai

Patentee after: QUECTEL WIRELESS SOLUTIONS CO., LTD.

Address before: 200233 Shanghai city Xuhui District Tianzhou Road No. 99 building 13 Room 501

Patentee before: Shanghai Quectel Communication Technology Co.,Ltd.

CP03 Change of name, title or address
CP02 Change in the address of a patent holder

Address after: 200233 room 193, 2f, No. 25-1, Hongcao Road, Xuhui District, Shanghai

Patentee after: QUECTEL WIRELESS SOLUTIONS Co.,Ltd.

Address before: 200233 room 701, No. 1801 B, Hongmei Road, Xuhui District, Shanghai

Patentee before: QUECTEL WIRELESS SOLUTIONS Co.,Ltd.

CP02 Change in the address of a patent holder