一种数据下载方法及装置制造方法及图纸

技术编号:30342173 阅读:24 留言:0更新日期:2021-10-12 23:14
本发明专利技术公开了一种数据下载方法及装置,服务器端根据客户端发送的下载请求查找待下载数据文件并进行拆分,得到N个数据包,针对每一个数据包均添加上数据包索引得到目标数据包,基于Section,将每个目标数据包封装成TS格式得到M个TS包,将预设数量的TS包打包成一个UDP包,并将UDP包中的TS数据流按照索引顺序循环播发至客户端,由客户端从TS数据流中解析出各个有效载荷数据,并将校验通过的有效载荷数据存储至文件预设位置,直至接所有的有效载荷数据均校验通过且存储至文件预设位置。由于TS数据流具有数据下发可轮播以及数据传输单元性的特性,且TS规范本身带有校验机制,因此解决了组播传输数据不可靠的问题。了组播传输数据不可靠的问题。了组播传输数据不可靠的问题。

【技术实现步骤摘要】
一种数据下载方法及装置


[0001]本专利技术涉及通信
,更具体的说,涉及一种数据下载方法及装置。

技术介绍

[0002]随着互联网的不断发展,网络数据也变得越加丰富和多样,人们工作和学习中的数据或信息基本都可以从网络上获取,基于网络的数据交互已经变得不可或缺。
[0003]当人们需要某些网络数据时,通常可以通过终端上的下载应用将数据下载至当前操作终端。
[0004]在网络数据下载过程中,为保证数据的可靠下载,通常采用HTTP(HyperText Transfer Protocol,超文本传输协议)播发数据,并结合TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)。但是采用HTTP播发数据时,若下载的网络数据到达一定量级,就会增大带宽压力,并且还需要增加服务器的数量,使购买服务器的成本增加。为解决这一问题,另一种数据下载方式为直接用私有协议的组播方式,采用UDP(User Datagram Protocol,用户数据报协议)方式播发数据,虽然UDP可以实现无连接和快速传输数据,但是UDP具有数据传输不可靠的缺点,可能会出现丢包和错包。
[0005]综上,如何提供一种数据下载方法及装置,以解决组播传输数据过程中,丢包和错包问题,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0006]有鉴于此,本专利技术公开一种数据下载方法及装置,本专利技术用TS技术替代传统方案的组播私有协议,将添加数据包索引的目标数据包,封装成TS格式的TS包,并以TS数据流的方式发送至客户端。由于TS数据流具有数据下发可轮播以及数据传输单元性的特性,并且,TS规范本身带有校验机制,从而解决了组播传输数据不可靠的问题。
[0007]一种数据下载方法,应用于服务器端,该方法包括:
[0008]根据客户端提交的待下载数据文件的下载请求,查找所述待下载数据文件,其中,所述下载请求中包含所述待下载数据文件的标识;
[0009]对所述待下载数据文件按照预设长度进行拆分,得到N个数据包,N为正整数;
[0010]针对每一个所述数据包均添加上数据包索引得到目标数据包,其中,所述数据包索引包括:所述数据包的上一个数据包的索引号以及所述数据包的下一个数据包的索引号;
[0011]基于Section,将每个所述目标数据包封装成TS格式,得到M个TS包,M为正整数;
[0012]每次将预设数量的所述TS包打包成一个UDP包;
[0013]将所述UDP包中由各个所述TS包形成的TS数据流,按照索引顺序循环播发至所述客户端,由所述客户端从所述TS数据流中解析出各个有效载荷数据,并进行校验,将校验通过的有效载荷数据存储至文件预设位置,直至接所有的有效载荷数据均校验通过且存储至所述文件预设位置。
[0014]可选的,对所述待下载数据文件进行拆分得到的头包中,所述头包的上一个数据包的索引号为0,所述头包的下一个数据包的索引号为2。
[0015]可选的,对所述待下载数据文件进行拆分得到的尾包中,所述尾包的数据包索引的下一个数据包的索引号为0。
[0016]可选的,所述基于Section,将每个所述目标数据包封装成TS格式,得到TS数据流,具体包括:
[0017]将所述目标数据包的长度和索引数据以私有表携带Section的方式,封装成TS格式,得到M个所述TS包,M个所述TS包形成一个TS数据流。
[0018]可选的,所述预设数量为七个。
[0019]一种数据下载装置,应用于服务器端,该装置包括:
[0020]查找单元,用于根据客户端提交的待下载数据文件的下载请求,查找所述待下载数据文件,其中,所述下载请求中包含所述待下载数据文件的标识;
[0021]拆分单元,用于对所述待下载数据文件按照预设长度进行拆分,得到N个数据包,N为正整数;
[0022]添加单元,用于针对每一个所述数据包均添加上数据包索引得到目标数据包,其中,所述数据包索引包括:所述数据包的上一个数据包的索引号以及所述数据包的下一个数据包的索引号;
[0023]封装单元,用于基于Section,将每个所述目标数据包封装成TS格式,得到M个TS包,M为正整数;
[0024]打包单元,用于每次将预设数量的所述TS包打包成一个UDP包;
[0025]播发单元,用于将所述UDP包中由各个所述TS包形成的TS数据流,按照索引顺序循环播发至所述客户端,由所述客户端从所述TS数据流中解析出各个有效载荷数据,并进行校验,将校验通过的有效载荷数据存储至文件预设位置,直至接所有的有效载荷数据均校验通过且存储至所述文件预设位置。
[0026]可选的,对所述待下载数据文件进行拆分得到的头包中,所述头包的上一个数据包的索引号为0,所述头包的下一个数据包的索引号为2。
[0027]可选的,对所述待下载数据文件进行拆分得到的尾包中,所述尾包的数据包索引的下一个数据包的索引号为0。
[0028]可选的,所述封装单元具体用于:
[0029]将所述目标数据包的长度和索引数据以私有表携带Section的方式,封装成TS格式,得到M个所述TS包,M个所述TS包形成一个TS数据流。
[0030]可选的,所述预设数量为七个。
[0031]从上述的技术方案可知,本专利技术公开了一种数据下载方法及装置,服务器端根据客户端发送的下载请求查找待下载数据文件,对待下载数据文件进行拆分,得到N个数据包,针对每一个数据包均添加上数据包索引得到目标数据包,基于Section,将每个目标数据包封装成TS格式得到M个TS包,将预设数量的TS包打包成一个UDP包,并将UDP包中的TS数据流按照索引顺序循环播发至客户端,由客户端从TS数据流中解析出各个有效载荷数据,并进行校验,将校验通过的有效载荷数据存储至文件预设位置,直至接所有的有效载荷数据均校验通过且存储至文件预设位置。由此可以看出,本专利技术用TS技术替代传统方案的组
播私有协议,将添加数据包索引的目标数据包,封装成TS格式的TS包,并以TS数据流的方式发送至客户端。由于TS数据流具有数据下发可轮播以及数据传输单元性的特性,并且,TS规范本身带有校验机制,从而解决了组播传输数据不可靠的问题。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
[0033]图1为本专利技术实施例公开的一种数据下载方法流程图;
[0034]图2为本专利技术实施例公开的一种服务器端发送数据的示意图;
[0035]图3为本专利技术实施例公开的一种客户端解析UDP包的原理图;
[0036]图4为本专利技术实施例公开本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据下载方法,其特征在于,应用于服务器端,该方法包括:根据客户端提交的待下载数据文件的下载请求,查找所述待下载数据文件,其中,所述下载请求中包含所述待下载数据文件的标识;对所述待下载数据文件按照预设长度进行拆分,得到N个数据包,N为正整数;针对每一个所述数据包均添加上数据包索引得到目标数据包,其中,所述数据包索引包括:所述数据包的上一个数据包的索引号以及所述数据包的下一个数据包的索引号;基于Section,将每个所述目标数据包封装成TS格式,得到M个TS包,M为正整数;每次将预设数量的所述TS包打包成一个UDP包;将所述UDP包中由各个所述TS包形成的TS数据流,按照索引顺序循环播发至所述客户端,由所述客户端从所述TS数据流中解析出各个有效载荷数据,并进行校验,将校验通过的有效载荷数据存储至文件预设位置,直至接所有的有效载荷数据均校验通过且存储至所述文件预设位置。2.根据权利要求1所述的数据下载方法,其特征在于,对所述待下载数据文件进行拆分得到的头包中,所述头包的上一个数据包的索引号为0,所述头包的下一个数据包的索引号为2。3.根据权利要求1所述的数据下载方法,其特征在于,对所述待下载数据文件进行拆分得到的尾包中,所述尾包的数据包索引的下一个数据包的索引号为0。4.根据权利要求1所述的数据下载方法,其特征在于,所述基于Section,将每个所述目标数据包封装成TS格式,得到TS数据流,具体包括:将所述目标数据包的长度和索引数据以私有表携带Section的方式,封装成TS格式,得到M个所述TS包,M个所述TS包形成一个TS数据流。5.根据权利要求1所述的数据下载方法,其特征在于,所述预设数量为七个。6.一种数据下载装置,其...

【专利技术属性】
技术研发人员:徐佳宏黄小兵
申请(专利权)人:深圳市茁壮网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1