一种数据传输方法和数据传输系统的利记博彩app
【技术领域】
[0001]本发明涉及互联网数据传输领域,特别涉及一种数据传输方法和数据传输系统。
【背景技术】
[0002]随着互联网的不断发展,客户端和服务器之间传输文件、图片等数据越来越频繁。互联网传输常用的传输协议是是传输控制协议(Transmiss1n Control Protocol简称,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。现有的数据传输技术对数据计算拆包数以及每一包数据的大小,传输时,客户端先告诉服务器上传数据的基本信息,接着每个包以一个客户端请求,一个服务器应答的方式,一次一次传送,直到上传完为止。下载时则由客户端发送下载请求数据的基本信息,然后由服务器下推数据的方式,一次一次传送,直到下载完为止。这种方式实现起来虽然简单,但是存在着一些不足,例如:由于客户端是发送完一个请求后,等待这个请求的应答到来,再发下一个请求,这就造成了传输的延时,导致数据传输速度较低。
【发明内容】
[0003]本发明提供了一种数据传输方法和数据传输系统,用以解决现有数据传输技术传输速度较低的问题。
[0004]根据本发明的一个方面,本发明实施例提供了一种数据传输方法,该方法包括:
[0005]向服务器发送上传请求,上传请求中包括上传文件总长度,以使服务器根据长传文件总长度判断文件是否上传完毕;
[0006]确定第一次批量上传的第一数据包数量和第一数据包大小;
[0007]对上传文件进行拆包,并按照第一数据包大小,将第一数据包数量的数据包上传至服务器;
[0008]确认当前网络连接正常后,确定第二次批量上传的第二数据包数量和第二数据包大小,按照第二数据包大小,将第二数据包数量的数据包上传至服务器,直至将上传文件总长度对应的文件上传完毕。
[0009]其中,上传请求中还包括文件可下载用户列表,以使服务器利用该文件可下载用户列表验证请求下载文件的用户的权限;和/或,
[0010]上传请求中还包括文件是否可删除的指示信息,以使服务器利用该文件是否可删除的指示信息对接收到的上传文件进行删除。
[0011]其中,在将上传文件总长度对应的文件上传完毕之前,方法还包括:
[0012]若上传操作中断,再次发起对上传中断的文件的上传操作时,向服务器发送续传请求;
[0013]接收服务器返回的续传请求响应,并根据续传请求响应中的已上传数据包的偏移量,从偏移量对应的上传中断点开始批量上传文件直至上传文件总长度对应的文件上传完毕。
[0014]其中,方法包括:向服务器发送下载请求,下载请求中包括下载文件总长度、每次批量下载的下载数据包数量以及下载数据包大小;
[0015]接收服务器在第一次批量下载中,按照每次批量下载的下载数据包数量以及下载数据包大小发送的下载文件的数据包;
[0016]在服务器确认网络连接正常后,接收服务器按照每次批量下载的下载数据包数量以及下载数据包大小发送的第二次批量下载数据包,直至下载文件总长度对应的文件从服务器下载完毕。
[0017]其中,若在已下载的数据包对应的文件长度小于下载文件总长度的情况下,文件的下载操作中断,记录下载中断点对应的已下载数据包的下载偏移量;
[0018]当再次发起对下载中断的文件的下载操作时,向服务器发送继续下载请求,继续下载请求中包括文下载偏移量、每次批量下载的下载数据包数量以及下载数据包大小;
[0019]接收服务器从下载偏移量对应的下载中断点开始按照每次批量下载的下载数据包数量以及下载数据包大小发送的批量下载数据,直至下载文件总长度对应的文件下载完毕。
[0020]根据本发明的另一个方面,本发明实施例提供了一种数据传输方法,该方法包括:
[0021]接收客户端的上传请求,上传请求中包括上传文件总长度;
[0022]接收客户端在确定第一次批量上传的第一数据包数量和第一数据包大小之后,按照第一数据包大小上传的第一数据包数量的数据包;
[0023]根据上传文件总长度确定上传文件未上传完毕;
[0024]接收客户端在确认当前网络连接正常、确定第二次批量上传的第二数据包数量和第二数据包大小之后,按照第二数据包大小上传的第二数据包数量的数据包,直至对上传文件总长度对应的文件接收完毕。
[0025]其中,在对上传文件总长度对应的文件接收完毕之前,方法还包括:
[0026]若上传操作中断,记录已上传数据包的偏移量;
[0027]接收到客户端发送的续传请求,将已上传数据包的偏移量携带在续传请求响应中发送给客户端,以使客户端从偏移量对应的上传中断点开始批量上传文件。
[0028]其中,上传请求中还包括文件是否可删除的指示信息;
[0029]当文件是否可删除的指示信息指示文件是不可删除的,则将接收到的文件放入服务器的第一类型文件夹并固定保存;
[0030]当文件是否可删除的指示信息指示文件是可删除的,则将接收到的文件按照接收日期放入服务器的第二类型文件夹中,以及,定时判断第二类型文件夹对应的接收日期距离当前的时间是否超过设定的保存期限,若是,遍历该第二类型文件夹中所有文件的文件标识符,删除该文件标识符对应的索引文件和接收到的文件,若否,保留该第二类型的文件夹。
[0031]其中,对上传文件总长度对应的文件接收完毕之后,方法还包括:
[0032]存储接收到的文件,并将该文件的存储地址、文件标识符记录在索引文件中;
[0033]接收客户端发送的下载请求,下载请求中包括文件标识符、下载文件总长度、每次批量下载的下载数据包数量以及下载数据包大小;
[0034]根据文件标识符从索引文件中获取请求下载的文件的存储地址,根据该存储地址查找到需要下载的文件;
[0035]执行第一次批量下载,按照下载数据包数量和下载数据包大小将需要下载的文件的数据包批量下载至客户端;
[0036]确认网络连接正常后,按照下载数据包数量和下载数据包大小执行第二次批量下载,并将第二次批量下载数据发送给客户端,直至将下载文件总长度对应的文件全部下载至客户端;
[0037]下载请求中还包括请求下载用户的用户信息,所述执行第一次批量下载之前,方法还包括:
[0038]将用户信息与记录的文件可下载用户列表进行比对,当用户信息在文件可下载用户列表中时,执行所述第一次批量下载,当用户信息不在文件可下载用户列表中时,不执行所述第一次批量下载。
[0039]根据本发明的又一个方面,本发明实施例提供了一种数据传输系统,该系统包括:系统包括客户端和服务器,
[0040]所述客户端包括上传请求单元、接收确认单元和批量上传单元;
[0041]所述上传请求单元,用于向服务器发送上传请求,所述上传请求中包括上传文件总长度,以使所述服务器根据所述长传文件总长度判断文件是否上传完毕;
[0042]所述接收确认单元,用于确定第一次批量上传的第一数据包数量和第一数据包大小;
[0043]所述批量上传单元,用于按照所述第一数据包大小,对所述上传文件进行拆包,并按照所述第一数据包大小,将所述第一数据包数量的数据包上传至所述服务器;确认当前网络连接正常后,确定第二次批量上传的第二数据包数量和第二数据包大小,按照所述第二数据包大小,将所述第二数据包数量的数据包上传至所述服务器,直至将所述上传文件总长度对应的文件上传完毕;
[0044]所述服务器包括上传请求接收单元、批量接收单元、确定单元和存储单元;
[0045]所述上传请求接收单元,用于接收客户端的上传请求,所述上传请求中包括上传文件总长度;
[0046]所述批量接收单元,用于接收客户端在确定第一次批量上传的第一数据包数量和第一数据包大小之后,按照所述第一数据包大小上传的第一数据包数量的数据包;
[0047]确定单元,用于根据所述上传文件总长度确定所述上传文件未上传完毕;
[0048]所述批量接收单元在确定所述上传文件未上传完毕还用于接收所述客户端在确认当前网络连接正常、确定第二次批量上传的第二数据包数量和第二数据包大小之后按照所述第二数据包大小上传的所述第二数据包数量的数据包,直至对所述上传文件总长度对应的文件接收完毕;
[0049]所述存储单元,用于存储所述接收到的文件,并将该文件的存储地址、文件标识符记录在索引文件中;以及,
[0050]所述客户端还包括下载请求单元和批量下载单元;
[0051]所述下载请求单元,用于向服务器发送下载请求,所述下载请求中包括文件标识符、下载文件总长度、每次批量下载的下载数据包数量以及下载数据包大小;
[0052]所述批量下载单元,用于接收到服务器对所述下载请求的应答后,在第一次批量下载中,按照所述下载数据包数量和下载数据包大小从服务器批量下载数据包;当确认所述第