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

文档序号:9399327阅读:335来源:国知局
一种图片传输方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络技术领域,尤其涉及一种图片传输方法及装置。
【背景技术】
[0002]随着网络技术的发展,出现了大量图片浏览网站或多媒体网站,网络传输图片的主要方法为采用传输控制协议(Transmiss1n Control Protocol,TCP)或用户数据报协议(User Datagram Protocol,UDP)单独传输。由于UDP传输是广播传输,具有没有带宽限制的优点,传输效率高,但是容易出现掉包等情况,传输可靠性差。TCP传输可靠,但是一对多传输时占用带宽较大,对于多个客户端同时请求同一幅图片的情况,采用TCP传输方法,月艮务器只能首先响应其中一个客户端的图片传输请求,其他所有客户端都需要等待服务器依次响应该图片传输请求,传输效率比较低。因此,需要一种能够实现将同一图片并行传输给多个客户端且传输可靠性高的方案,以实现同时提高传输效率和传输可靠性的目的。

【发明内容】

[0003]本发明提供一种图片传输方法及装置,同于将同一图片同时并行传输给多个客户端,以实现同时提高传输效率和传输可靠性的目的。
[0004]本发明提供一种图片传输方法,用于服务器,包括:
[0005]根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号;所述N为大于等于2的正整数;
[0006]通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
[0007]通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
[0008]通过TCP协议向发出图片请求的客户端发送传输结束命令。
[0009]本发明实施例的一些有益效果可以包括:
[0010]本发明提供的用于服务器的图片传输方法将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
[0011]在一个实施例中,所述通过TCP协议向发出图片请求的客户端发送传输结束命令之后,还包括:
[0012]接收客户端发来的图片块获取请求,所述图片块获取请求包括被请求图片块的序列号及该图片块对应的图片的ID ;
[0013]通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端。
[0014]该实施例中,收到图片块的客户端根据图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号。
[0015]在一个实施例中,所述接收客户端发来的图片块获取请求,包括:通过TCP协议或HTTP协议接收客户端发来的图片块获取请求。
[0016]在一个实施例中,分割所述被请求图片得到的每个图片块的大小不超过预先设定的图片大小阈值。
[0017]该实施例中,根据需要可以预先设定好便于使用UDP传输的图片大小阈值,以方便传输和客户端合成图片块。
[0018]本发明还提供一种图片传输方法,用于客户端,包括:
[0019]步骤S21:向服务器发起图片请求,所述图片请求包括被请求图片的ID ;
[0020]步骤S22:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
[0021 ] 步骤S23:在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据。
[0022]本发明实施例的一些有益效果可以包括:
[0023]本发明提供的用于客户端的图片传输方法中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。
[0024]在一个实施例中,所述步骤S23之后,还包括:
[0025]步骤S24:根据接收的所述被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,所述图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID ;
[0026]步骤S25:通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S24。
[0027]该实施例中,收到图片块的客户端根据被请求图片的图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号,这样,无需服务器重新发送整个图片,只需要获取未传输成功的小数据量图片块即可,进一步提高了图片的传输效率。
[0028]本发明还提供一种图片传输装置,用于服务器,包括:
[0029]分割模块,用于根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号,缓存被请求图片的N个图片块及各图片块的序列号,并在生成各图片块的序列号之后向第一 TCP传输模块发送包括被请求图片的ID、图片总大小和图片块总数N的第一指令;所述N为大于等于2的正整数;
[0030]第一 TCP传输模块,用于根据所述第一指令,通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,随后向第一 UDP传输模块发送第二指令;还用于在收到第一 UDP传输模块发来的第三指令时,通过TCP协议向发出图片请求的客户端发送传输结束命令;
[0031]第一 UDP传输模块,用于根据所述第二指令,通过UDP协议将所述分割模块得到的被请求图片的N个图片块及各图片块的序列号传输给客户端,并在传输结束后向所述第一TCP传输模块发送第三指令。
[0032]本发明提供的用于服务器的图片传输装置将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
[0033]在一个实施例中,所述用于服务器的图片传输装置还包括第一 HTTP传输模块;
[0034]所述第一 TCP传输模块还用于接收客户端通过TCP协议发来的图片获取请求,将该图片获取请求所指的图片块及其序列号发送给所述第一 HTTP传输模块;
[0035]所述第一 HTTP传输模块,用于将所述第一 TCP传输模块发来的图片块及其序列号通过HTTP协议发送给相应的客户端,或者用于根据客户端通过HTTP协议发来的图片获取请求,直接将该图片获取请求所指的图片块及其序列号发送给相应的客户端。
[0036]本发明还提供一种图片传输装置,用于客户端,包括:
[0037]请求模块,用于向服务器发起包括被请求图片的ID的图片请求;
[0038]第二 TCP传输模块,用于接收服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,并在收到所述开始传输命令时,向第二 UDP传输模块发送第四指令;还用于在收到服务器通过TCP协议发来的传输结束命令时,向第二 UDP模块发送第五指令;
[0039]第二 UDP传输模块,用于根据所述第四指令,接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1