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

文档序号:9399327阅读:来源:国知局
该方法包括步骤 S501-S512:
[0085]步骤S501:客户端向服务器发起图片请求,图片请求包括被请求图片的ID ;
[0086]步骤S502:服务器根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号;N为大于等于2的正整数;
[0087]步骤S503:服务器通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
[0088]步骤S504:服务器通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
[0089]步骤S505:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,客户端开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
[0090]步骤S506:服务器在被请求图片的图片块传输完成后通过TCP协议向发出图片请求的客户端发送传输结束命令;
[0091]步骤S507:客户端在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据;
[0092]步骤S508:客户端根据接收的被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则执行步骤S509 ;若接收不完整,则执行步骤S510 ;
[0093]步骤S509:客户端根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片,结束流程;
[0094]步骤S510:客户端缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,该图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID,随后执行步骤S511 ;
[0095]步骤S511:服务器接收客户端发来的图片块获取请求,并通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端;
[0096]步骤S512:客户端通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S508。
[0097]本实施例提供的图片传输方法中,服务器将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将被请求图片的ID、图片总大小和图片块总数N发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。能够实现同时向多个客户端高效、可靠的传输图片。
[0098]对应于本发明实施例提供的图片传述方法,本发明实施例还提供一种图片传输装置,该装置用于服务器,如图6所示,该图片传输装置包括:
[0099]分割模块61,用于根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号,缓存被请求图片的N个图片块及各图片块的序列号,并在生成各图片块的序列号之后向第一 TCP传输模块62发送包括被请求图片的ID、图片总大小和图片块总数N的第一指令;N为大于等于2的正整数;
[0100]第一 TCP传输模块62,用于根据第一指令,通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,随后向第一UDP传输模块63发送第二指令;还用于在收到第一 UDP传输模块63发来的第三指令时,通过TCP协议向发出图片请求的客户端发送传输结束命令;
[0101]第一 UDP传输模块63,用于根据第二指令,通过UDP协议将分割模块61得到的被请求图片的N个图片块及各图片块的序列号传输给客户端,并在传输结束后向第一 TCP传输模块62发送第三指令。
[0102]本发明实施例提供的用于服务器的图片传输装置将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
[0103]在一个实施例中,如图7所示,本发明实施例提供的用于服务器的图片传输装置还包括第一 HTTP传输模块64 ;
[0104]第一 TCP传输模块62还用于接收客户端通过TCP协议发来的图片获取请求,从所述分割模块61中获取该图片获取请求所指的图片块及其序列号发送给第一 HTTP传输模块64 ;
[0105]第一 HTTP传输模块64,用于将第一 TCP传输模块62发来的图片块及其序列号通过HTTP协议发送给相应的客户端,或者用于根据客户端通过HTTP协议发来的图片获取请求,直接从所述分割模块61中获取将该图片获取请求所指的图片块及其序列号发送给相应的客户端。
[0106]本发明还提供一种图片传输装置,用于客户端,如图8所示,包括:
[0107]请求模块81,用于向服务器发起包括被请求图片的ID的图片请求;
[0108]第二 TCP传输模块82,用于接收服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,并在收到开始传输命令时,向第二 UDP传输模块83发送第四指令;还用于在收到服务器通过TCP协议发来的传输结束命令时,向第二 UDP模块83发送第五指令;
[0109]第二UDP传输模块83,用于根据第四指令,接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;还用于在收到第五指令时,结束接收UDP数据。
[0110]在一个实施例中,如图9所示,本发明实施例提供的用于客户端的图片传输装置还包括校验模块84、合成模块85、第二 HTTP传输模块86 ;
[0111]第二 TCP传输模块82还用于在向第二 UDP传输模块83发送第四指令的同时将开始传输命令中记录的被请求图片的图片总大小/图片块总数N发送给校验模块84 ;
[0112]第二 UDP传输模块83还用于在结束接收UDP数据后将接收的所有图片块及各图片块的序列号发送给校验模块84 ;
[0113]校验模块84,用于根据第二 TCP传输模块82发来的被请求图片的图片总大小/图片块总数N和第二 UDP传输模块83实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则将接收的被请求图片的N个图片块及各图片块的序列号发送给合成模块85;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号并将其发送给请求模块81 ;校验模块84还用于在收到第二 HTTP传输模块86发来的图片块及其序列号时,重新校验本地客户端缓存的和当前接收的被请求图片的图片块是否接收完整;
[0114]合成模块85,用于根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;
[0115]请求模块还81用于根据校验模块84发来的需要重新发送的图片块的序列号,生成包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID的图片块获取请求,并将生成的图片块获取请求通过第二 TCP传输模块82或第二 HTTP传输模块86发送给服务器;
[0116]第二 HTTP传输模块86,用于通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并将接收的图片块及其序列号发送给校验模块84。
[0117]本发明提供的用于客户端的图片传输装置中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。而且通过校验模块对接收的图片块数据进行校验后,可以单独向服务器请求重新传输传输不成功的单个图片块,进一步提高了传输效率。
[0118]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1