一种图片传输方法及装置的制造方法_2

文档序号:9399327阅读:来源:国知局
的序列号;还用于在收到所述第五指令时,结束接收UDP数据。
[0040]在一个实施例中,所述用于客户端的图片传输装置还包括校验模块、合成模块、第二 HTTP传输模块;
[0041 ] 所述第二 TCP传输模块还用于在向第二 UDP传输模块发送第四指令的同时将开始传输命令中记录的被请求图片的图片总大小/图片块总数N发送给校验模块;
[0042]所述第二 UDP传输模块还用于在结束接收UDP数据后将接收的所有图片块及各图片块的序列号发送给校验模块;
[0043]所述校验模块,用于根据所述第二 TCP传输模块发来的被请求图片的图片总大小/图片块总数N和所述第二 UDP传输模块实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则将接收的被请求图片的N个图片块及各图片块的序列号发送给合成模块;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号并将其发送给所述请求模块;所述校验模块还用于在收到所述第二 HTTP传输模块发来的图片块及其序列号时,重新校验本地客户端缓存的和当前接收的被请求图片的图片块是否接收完整;
[0044]所述合成模块,用于根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;
[0045]所述请求模块还用于根据校验模块发来的需要重新发送的图片块的序列号,生成包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID的图片块获取请求,并将所述图片块获取请求通过第二 TCP传输模块或第二 HTTP传输模块发送给服务器;
[0046]所述第二 HTTP传输模块,用于通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并将接收的图片块及其序列号发送给所述校验模块。
[0047]本发明提供的用于客户端的图片传输装置中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。而且通过校验模块对接收的图片块数据进行校验后,可以单独向服务器请求重新传输传输不成功的单个图片块,进一步提高了传输效率。
[0048]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0049]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0050]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0051]图1为本发明实施例提供的一种用于服务器的图片传输方法流程图;
[0052]图2为本发明实施例提供的另一种用于服务器的图片传输方法流程图;
[0053]图3为本发明实施例提供的一种用于客户端的图片传输方法流程图;
[0054]图4为本发明实施例提供的另一种用于客户端的图片传输方法流程图;
[0055]图5为本发明实施例一提供的一种图片传输方法流程图;
[0056]图6为本发明实施例提供的一种用于服务器的图片传输装置结构框图;
[0057]图7为本发明实施例提供的另一种用于服务器的图片传输装置结构框图;
[0058]图8为本发明实施例提供的一种用于客户端的图片传输装置结构框图;
[0059]图9为本发明实施例提供的另一种用于客户端的图片传输装置结构框图。
【具体实施方式】
[0060]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0061]图1为本发明实施例提供的一种图片传输方法流程图,该方法用于服务器,包括步骤 S11-S14:
[0062]步骤Sll:根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号;N为大于等于2的正整数;
[0063]步骤S12:通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
[0064]步骤S13:通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
[0065]步骤S14:通过TCP协议向发出图片请求的客户端发送传输结束命令。
[0066]本发明实施例提供的该用于服务器的图片传输方法将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
[0067]在一个实施例中,如图2所示,步骤S14之后,还包括:
[0068]步骤S15:接收客户端发来的图片块获取请求,图片块获取请求包括被请求图片块的序列号及该图片块对应的图片的ID ;优选地,通过TCP协议或HTTP协议接收客户端发来的图片块获取请求。
[0069]步骤S16:通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端。
[0070]该实施例中,收到图片块的客户端根据图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号。
[0071]在一个实施例中,分割被请求图片得到的每个图片块的大小不超过预先设定的图片大小阈值。例如不超过40K,以方便传输和客户端合成图片块。
[0072]对应于本发明实施例提供的用于服务器的图片传输方法,本发明实施例还提供一种图片传输方法,用于客户端,如图3所示,该方法包括步骤S21-S23:
[0073]步骤S21:向服务器发起图片请求,图片请求包括被请求图片的ID ;
[0074]步骤S22:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
[0075]步骤S23:在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据。
[0076]本发明实施例提供的用于客户端的图片传输方法中,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。
[0077]为了保证接收数据的准确性,在一个实施例中,如图4所示,步骤S23之后,还包括:
[0078]步骤S24:根据接收的被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则执行步骤S25 ;若接收不完整,则执彳丁步骤S26 ;
[0079]步骤S25:根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片,结束流程;
[0080]步骤S26:缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,该图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID,随后执行步骤S27 ;
[0081]步骤S27:通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S24。
[0082]该实施例中,收到图片块的客户端根据被请求图片的图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号,这样,无需服务器重新发送整个图片,只需要获取未传输成功的小数据量图片块即可,进一步提高了图片的传输效率。
[0083]实施例一
[0084]图5为本发明实施例一提供的一种图片传输方法流程图,如图5所示,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1