CN105119968A - 一种图片传输方法及装置 - Google Patents
一种图片传输方法及装置 Download PDFInfo
- Publication number
- CN105119968A CN105119968A CN201510417272.6A CN201510417272A CN105119968A CN 105119968 A CN105119968 A CN 105119968A CN 201510417272 A CN201510417272 A CN 201510417272A CN 105119968 A CN105119968 A CN 105119968A
- Authority
- CN
- China
- Prior art keywords
- picture
- picture block
- transmission
- block
- requested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
Abstract
本发明公开了一种图片传输方法及装置,属于网络技术领域,用于将同一图片同时并行传输给多个客户端,以实现同时提高传输效率和传输可靠性的目的。所述图片传述方法包括:根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号;所述N为大于等于2的正整数;通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;通过TCP协议向发出图片请求的客户端发送传输结束命令。本发明提供的方案可以使服务器同时向多个客户端传输同一图片,且传输效率高,稳定性好。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种图片传输方法及装置。
背景技术
随着网络技术的发展,出现了大量图片浏览网站或多媒体网站,网络传输图片的主要方法为采用传输控制协议(TransmissionControlProtocol,TCP)或用户数据报协议(UserDatagramProtocol,UDP)单独传输。由于UDP传输是广播传输,具有没有带宽限制的优点,传输效率高,但是容易出现掉包等情况,传输可靠性差。TCP传输可靠,但是一对多传输时占用带宽较大,对于多个客户端同时请求同一幅图片的情况,采用TCP传输方法,服务器只能首先响应其中一个客户端的图片传输请求,其他所有客户端都需要等待服务器依次响应该图片传输请求,传输效率比较低。因此,需要一种能够实现将同一图片并行传输给多个客户端且传输可靠性高的方案,以实现同时提高传输效率和传输可靠性的目的。
发明内容
本发明提供一种图片传输方法及装置,同于将同一图片同时并行传输给多个客户端,以实现同时提高传输效率和传输可靠性的目的。
本发明提供一种图片传输方法,用于服务器,包括:
根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号;所述N为大于等于2的正整数;
通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
通过TCP协议向发出图片请求的客户端发送传输结束命令。
本发明实施例的一些有益效果可以包括:
本发明提供的用于服务器的图片传输方法将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
在一个实施例中,所述通过TCP协议向发出图片请求的客户端发送传输结束命令之后,还包括:
接收客户端发来的图片块获取请求,所述图片块获取请求包括被请求图片块的序列号及该图片块对应的图片的ID;
通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端。
该实施例中,收到图片块的客户端根据图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号。
在一个实施例中,所述接收客户端发来的图片块获取请求,包括:通过TCP协议或HTTP协议接收客户端发来的图片块获取请求。
在一个实施例中,分割所述被请求图片得到的每个图片块的大小不超过预先设定的图片大小阈值。
该实施例中,根据需要可以预先设定好便于使用UDP传输的图片大小阈值,以方便传输和客户端合成图片块。
本发明还提供一种图片传输方法,用于客户端,包括:
步骤S21:向服务器发起图片请求,所述图片请求包括被请求图片的ID;
步骤S22:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
步骤S23:在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据。
本发明实施例的一些有益效果可以包括:
本发明提供的用于客户端的图片传输方法中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。
在一个实施例中,所述步骤S23之后,还包括:
步骤S24:根据接收的所述被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,所述图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID;
步骤S25:通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S24。
该实施例中,收到图片块的客户端根据被请求图片的图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号,这样,无需服务器重新发送整个图片,只需要获取未传输成功的小数据量图片块即可,进一步提高了图片的传输效率。
本发明还提供一种图片传输装置,用于服务器,包括:
分割模块,用于根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号,缓存被请求图片的N个图片块及各图片块的序列号,并在生成各图片块的序列号之后向第一TCP传输模块发送包括被请求图片的ID、图片总大小和图片块总数N的第一指令;所述N为大于等于2的正整数;
第一TCP传输模块,用于根据所述第一指令,通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,随后向第一UDP传输模块发送第二指令;还用于在收到第一UDP传输模块发来的第三指令时,通过TCP协议向发出图片请求的客户端发送传输结束命令;
第一UDP传输模块,用于根据所述第二指令,通过UDP协议将所述分割模块得到的被请求图片的N个图片块及各图片块的序列号传输给客户端,并在传输结束后向所述第一TCP传输模块发送第三指令。
本发明提供的用于服务器的图片传输装置将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
在一个实施例中,所述用于服务器的图片传输装置还包括第一HTTP传输模块;
所述第一TCP传输模块还用于接收客户端通过TCP协议发来的图片获取请求,将该图片获取请求所指的图片块及其序列号发送给所述第一HTTP传输模块;
所述第一HTTP传输模块,用于将所述第一TCP传输模块发来的图片块及其序列号通过HTTP协议发送给相应的客户端,或者用于根据客户端通过HTTP协议发来的图片获取请求,直接将该图片获取请求所指的图片块及其序列号发送给相应的客户端。
本发明还提供一种图片传输装置,用于客户端,包括:
请求模块,用于向服务器发起包括被请求图片的ID的图片请求;
第二TCP传输模块,用于接收服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,并在收到所述开始传输命令时,向第二UDP传输模块发送第四指令;还用于在收到服务器通过TCP协议发来的传输结束命令时,向第二UDP模块发送第五指令;
第二UDP传输模块,用于根据所述第四指令,接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;还用于在收到所述第五指令时,结束接收UDP数据。
在一个实施例中,所述用于客户端的图片传输装置还包括校验模块、合成模块、第二HTTP传输模块;
所述第二TCP传输模块还用于在向第二UDP传输模块发送第四指令的同时将开始传输命令中记录的被请求图片的图片总大小/图片块总数N发送给校验模块;
所述第二UDP传输模块还用于在结束接收UDP数据后将接收的所有图片块及各图片块的序列号发送给校验模块;
所述校验模块,用于根据所述第二TCP传输模块发来的被请求图片的图片总大小/图片块总数N和所述第二UDP传输模块实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则将接收的被请求图片的N个图片块及各图片块的序列号发送给合成模块;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号并将其发送给所述请求模块;所述校验模块还用于在收到所述第二HTTP传输模块发来的图片块及其序列号时,重新校验本地客户端缓存的和当前接收的被请求图片的图片块是否接收完整;
所述合成模块,用于根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;
所述请求模块还用于根据校验模块发来的需要重新发送的图片块的序列号,生成包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID的图片块获取请求,并将所述图片块获取请求通过第二TCP传输模块或第二HTTP传输模块发送给服务器;
所述第二HTTP传输模块,用于通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并将接收的图片块及其序列号发送给所述校验模块。
本发明提供的用于客户端的图片传输装置中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。而且通过校验模块对接收的图片块数据进行校验后,可以单独向服务器请求重新传输传输不成功的单个图片块,进一步提高了传输效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的一种用于服务器的图片传输方法流程图;
图2为本发明实施例提供的另一种用于服务器的图片传输方法流程图;
图3为本发明实施例提供的一种用于客户端的图片传输方法流程图;
图4为本发明实施例提供的另一种用于客户端的图片传输方法流程图;
图5为本发明实施例一提供的一种图片传输方法流程图;
图6为本发明实施例提供的一种用于服务器的图片传输装置结构框图;
图7为本发明实施例提供的另一种用于服务器的图片传输装置结构框图;
图8为本发明实施例提供的一种用于客户端的图片传输装置结构框图;
图9为本发明实施例提供的另一种用于客户端的图片传输装置结构框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例提供的一种图片传输方法流程图,该方法用于服务器,包括步骤S11-S14:
步骤S11:根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号;N为大于等于2的正整数;
步骤S12:通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
步骤S13:通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
步骤S14:通过TCP协议向发出图片请求的客户端发送传输结束命令。
本发明实施例提供的该用于服务器的图片传输方法将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
在一个实施例中,如图2所示,步骤S14之后,还包括:
步骤S15:接收客户端发来的图片块获取请求,图片块获取请求包括被请求图片块的序列号及该图片块对应的图片的ID;优选地,通过TCP协议或HTTP协议接收客户端发来的图片块获取请求。
步骤S16:通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端。
该实施例中,收到图片块的客户端根据图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号。
在一个实施例中,分割被请求图片得到的每个图片块的大小不超过预先设定的图片大小阈值。例如不超过40K,以方便传输和客户端合成图片块。
对应于本发明实施例提供的用于服务器的图片传输方法,本发明实施例还提供一种图片传输方法,用于客户端,如图3所示,该方法包括步骤S21-S23:
步骤S21:向服务器发起图片请求,图片请求包括被请求图片的ID;
步骤S22:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
步骤S23:在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据。
本发明实施例提供的用于客户端的图片传输方法中,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。
为了保证接收数据的准确性,在一个实施例中,如图4所示,步骤S23之后,还包括:
步骤S24:根据接收的被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则执行步骤S25;若接收不完整,则执行步骤S26;
步骤S25:根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片,结束流程;
步骤S26:缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,该图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID,随后执行步骤S27;
步骤S27:通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S24。
该实施例中,收到图片块的客户端根据被请求图片的图片总大小和图片块总数等信息校验被请求图片的所有图片块是否接收完整,对于没收到的图片块,客户端可以向服务器发送图片块获取请求,请求包括被请求图片的ID和被请求图片块的序列号,这样,无需服务器重新发送整个图片,只需要获取未传输成功的小数据量图片块即可,进一步提高了图片的传输效率。
实施例一
图5为本发明实施例一提供的一种图片传输方法流程图,如图5所示,该方法包括步骤S501-S512:
步骤S501:客户端向服务器发起图片请求,图片请求包括被请求图片的ID;
步骤S502:服务器根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号;N为大于等于2的正整数;
步骤S503:服务器通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
步骤S504:服务器通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
步骤S505:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,客户端开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
步骤S506:服务器在被请求图片的图片块传输完成后通过TCP协议向发出图片请求的客户端发送传输结束命令;
步骤S507:客户端在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据;
步骤S508:客户端根据接收的被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则执行步骤S509;若接收不完整,则执行步骤S510;
步骤S509:客户端根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片,结束流程;
步骤S510:客户端缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,该图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID,随后执行步骤S511;
步骤S511:服务器接收客户端发来的图片块获取请求,并通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端;
步骤S512:客户端通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S508。
本实施例提供的图片传输方法中,服务器将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将被请求图片的ID、图片总大小和图片块总数N发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。能够实现同时向多个客户端高效、可靠的传输图片。
对应于本发明实施例提供的图片传述方法,本发明实施例还提供一种图片传输装置,该装置用于服务器,如图6所示,该图片传输装置包括:
分割模块61,用于根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为N个图片块分别生成序列号,缓存被请求图片的N个图片块及各图片块的序列号,并在生成各图片块的序列号之后向第一TCP传输模块62发送包括被请求图片的ID、图片总大小和图片块总数N的第一指令;N为大于等于2的正整数;
第一TCP传输模块62,用于根据第一指令,通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,随后向第一UDP传输模块63发送第二指令;还用于在收到第一UDP传输模块63发来的第三指令时,通过TCP协议向发出图片请求的客户端发送传输结束命令;
第一UDP传输模块63,用于根据第二指令,通过UDP协议将分割模块61得到的被请求图片的N个图片块及各图片块的序列号传输给客户端,并在传输结束后向第一TCP传输模块62发送第三指令。
本发明实施例提供的用于服务器的图片传输装置将被请求的图片分割为N个图片块后,通过传输可靠的TCP协议将包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令发送给请求图片的客户端,然后通过传输效率高的UDP协议传输各个图片块,这样,可以通过同一时刻并行向多个请求图片的客户端发送被请求图片的不同图片块,且被请求图片的ID、图片总大小和图片块总数N通过TCP传输,传输可靠性高,图片块数据通过UDP传输效率高。该方法通过将图片分块,并结合TCP和UDP传输不同的信息和数据,实现同时向多个客户端高效、可靠的传输图片。
在一个实施例中,如图7所示,本发明实施例提供的用于服务器的图片传输装置还包括第一HTTP传输模块64;
第一TCP传输模块62还用于接收客户端通过TCP协议发来的图片获取请求,从所述分割模块61中获取该图片获取请求所指的图片块及其序列号发送给第一HTTP传输模块64;
第一HTTP传输模块64,用于将第一TCP传输模块62发来的图片块及其序列号通过HTTP协议发送给相应的客户端,或者用于根据客户端通过HTTP协议发来的图片获取请求,直接从所述分割模块61中获取将该图片获取请求所指的图片块及其序列号发送给相应的客户端。
本发明还提供一种图片传输装置,用于客户端,如图8所示,包括:
请求模块81,用于向服务器发起包括被请求图片的ID的图片请求;
第二TCP传输模块82,用于接收服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,并在收到开始传输命令时,向第二UDP传输模块83发送第四指令;还用于在收到服务器通过TCP协议发来的传输结束命令时,向第二UDP模块83发送第五指令;
第二UDP传输模块83,用于根据第四指令,接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;还用于在收到第五指令时,结束接收UDP数据。
在一个实施例中,如图9所示,本发明实施例提供的用于客户端的图片传输装置还包括校验模块84、合成模块85、第二HTTP传输模块86;
第二TCP传输模块82还用于在向第二UDP传输模块83发送第四指令的同时将开始传输命令中记录的被请求图片的图片总大小/图片块总数N发送给校验模块84;
第二UDP传输模块83还用于在结束接收UDP数据后将接收的所有图片块及各图片块的序列号发送给校验模块84;
校验模块84,用于根据第二TCP传输模块82发来的被请求图片的图片总大小/图片块总数N和第二UDP传输模块83实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则将接收的被请求图片的N个图片块及各图片块的序列号发送给合成模块85;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号并将其发送给请求模块81;校验模块84还用于在收到第二HTTP传输模块86发来的图片块及其序列号时,重新校验本地客户端缓存的和当前接收的被请求图片的图片块是否接收完整;
合成模块85,用于根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;
请求模块还81用于根据校验模块84发来的需要重新发送的图片块的序列号,生成包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID的图片块获取请求,并将生成的图片块获取请求通过第二TCP传输模块82或第二HTTP传输模块86发送给服务器;
第二HTTP传输模块86,用于通过HTTP协议接收服务器根据图片块获取请求重新发来的图片块及其序列号,并将接收的图片块及其序列号发送给校验模块84。
本发明提供的用于客户端的图片传输装置中,服务器将被请求的图片分割为N个图片块后,客户端通过传输可靠的TCP协议接收被请求图片的ID、图片总大小和图片块总数N,然后通过传输效率高的UDP协议接收被请求图片的各个图片块,这样,多个客户端可以同一时刻并行接收服务器发来的被请求图片的不同图片块,传输可靠性好,传输效率高。而且通过校验模块对接收的图片块数据进行校验后,可以单独向服务器请求重新传输传输不成功的单个图片块,进一步提高了传输效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种图片传输方法,其特征在于,用于服务器,包括:
根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号;所述N为大于等于2的正整数;
通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令;
通过UDP协议传输被请求图片的N个图片块及各图片块的序列号;
通过TCP协议向发出图片请求的客户端发送传输结束命令。
2.如权利要求1所述的图片传输方法,其特征在于,所述通过TCP协议向发出图片请求的客户端发送传输结束命令之后,还包括:
接收客户端发来的图片块获取请求,所述图片块获取请求包括被请求图片块的序列号及该图片块对应的图片的ID;
通过HTTP协议将收到的图片块获取请求所指的图片块及其序列号发送给请求的客户端。
3.如权利要求2所述的图片传输方法,其特征在于,所述接收客户端发来的图片块获取请求,包括:通过TCP协议或HTTP协议接收客户端发来的图片块获取请求。
4.如权利要求1或2或3所述的图片传输方法,其特征在于,分割所述被请求图片得到的每个图片块的大小不超过预先设定的图片大小阈值。
5.一种图片传输方法,其特征在于,用于客户端,包括:
步骤S21:向服务器发起图片请求,所述图片请求包括被请求图片的ID;
步骤S22:当收到服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令时,开始接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;
步骤S23:在接收到服务器通过TCP协议发来的传输结束命令时,结束接收UDP数据。
6.如权利要求5所述的图片传输方法,其特征在于,所述步骤S23之后,还包括:
步骤S24:根据接收的所述被请求图片的图片总大小/图片块总数N和实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号,并通过TCP协议或HTTP协议向服务器发送图片块获取请求,所述图片块获取请求包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID;
步骤S25:通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并返回执行步骤S24。
7.一种图片传输装置,其特征在于,用于服务器,包括:
分割模块,用于根据客户端的图片请求,将被请求图片分割为N个图片块,并根据预定编号规则为所述N个图片块分别生成序列号,缓存被请求图片的N个图片块及各图片块的序列号,并在生成各图片块的序列号之后向第一TCP传输模块发送包括被请求图片的ID、图片总大小和图片块总数N的第一指令;所述N为大于等于2的正整数;
第一TCP传输模块,用于根据所述第一指令,通过TCP协议向发出图片请求的客户端发送包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,随后向第一UDP传输模块发送第二指令;还用于在收到第一UDP传输模块发来的第三指令时,通过TCP协议向发出图片请求的客户端发送传输结束命令;
第一UDP传输模块,用于根据所述第二指令,通过UDP协议将所述分割模块得到的被请求图片的N个图片块及各图片块的序列号传输给客户端,并在传输结束后向所述第一TCP传输模块发送第三指令。
8.如权利要求7所述的图片传输装置,其特征在于,还包括第一HTTP传输模块;
所述第一TCP传输模块还用于接收客户端通过TCP协议发来的图片获取请求,将该图片获取请求所指的图片块及其序列号发送给所述第一HTTP传输模块;
所述第一HTTP传输模块,用于将所述第一TCP传输模块发来的图片块及其序列号通过HTTP协议发送给相应的客户端,或者用于根据客户端通过HTTP协议发来的图片获取请求,直接将该图片获取请求所指的图片块及其序列号发送给相应的客户端。
9.一种图片传输装置,其特征在于,用于客户端,包括:
请求模块,用于向服务器发起包括被请求图片的ID的图片请求;
第二TCP传输模块,用于接收服务器通过TCP协议发来的包括被请求图片的ID、图片总大小和图片块总数N的开始传输命令,并在收到所述开始传输命令时,向第二UDP传输模块发送第四指令;还用于在收到服务器通过TCP协议发来的传输结束命令时,向第二UDP模块发送第五指令;
第二UDP传输模块,用于根据所述第四指令,接收服务器通过UDP协议传输来的被请求图片的N个图片块及各图片块的序列号;还用于在收到所述第五指令时,结束接收UDP数据。
10.如权利要求9所述的图片传输装置,其特征在于,还包括校验模块、合成模块、第二HTTP传输模块;
所述第二TCP传输模块还用于在向第二UDP传输模块发送第四指令的同时将开始传输命令中记录的被请求图片的图片总大小/图片块总数N发送给校验模块;
所述第二UDP传输模块还用于在结束接收UDP数据后将接收的所有图片块及各图片块的序列号发送给校验模块;
所述校验模块,用于根据所述第二TCP传输模块发来的被请求图片的图片总大小/图片块总数N和所述第二UDP传输模块实际接收的图片块总数校验被请求图片的图片块是否接收完整,若接收完整,则将接收的被请求图片的N个图片块及各图片块的序列号发送给合成模块;若接收不完整,则缓存已接收的所有图片块及其序列号,根据收到的图片块的序列号确定需要重新发送的图片块的序列号并将其发送给所述请求模块;所述校验模块还用于在收到所述第二HTTP传输模块发来的图片块及其序列号时,重新校验本地客户端缓存的和当前接收的被请求图片的图片块是否接收完整;
所述合成模块,用于根据预定编号规则和各图片块的序列号,将接收的所有图片块合成为被请求图片;
所述请求模块还用于根据校验模块发来的需要重新发送的图片块的序列号,生成包括需要服务器重新发送的图片块的序列号及该图片块对应的图片的ID的图片块获取请求,并将所述图片块获取请求通过第二TCP传输模块或第二HTTP传输模块发送给服务器;
所述第二HTTP传输模块,用于通过HTTP协议接收服务器根据所述图片块获取请求重新发来的图片块及其序列号,并将接收的图片块及其序列号发送给所述校验模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510417272.6A CN105119968A (zh) | 2015-07-15 | 2015-07-15 | 一种图片传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510417272.6A CN105119968A (zh) | 2015-07-15 | 2015-07-15 | 一种图片传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105119968A true CN105119968A (zh) | 2015-12-02 |
Family
ID=54667853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510417272.6A Pending CN105119968A (zh) | 2015-07-15 | 2015-07-15 | 一种图片传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105119968A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873927A (zh) * | 2015-12-11 | 2017-06-20 | 成都长天信息技术有限公司 | 一种基于kvm平台的远程三维桌面图像传输方法 |
CN110213150A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 传输参数获取及图片传输方法、装置、设备及存储介质 |
CN112104918A (zh) * | 2020-11-04 | 2020-12-18 | 捷信(浙江)通信技术有限公司 | 基于卫星网络的图像传输方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
CN102075741A (zh) * | 2010-12-14 | 2011-05-25 | 北京华环电子股份有限公司 | 一种图像传输方法、终端及系统 |
US20130077501A1 (en) * | 2011-09-22 | 2013-03-28 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
CN103166974A (zh) * | 2013-03-28 | 2013-06-19 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线传输方法 |
CN104618236A (zh) * | 2015-01-21 | 2015-05-13 | 网宿科技股份有限公司 | 一种加速网络的并行数据传输系统及方法 |
CN104618337A (zh) * | 2014-12-31 | 2015-05-13 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线自适应传输方法 |
-
2015
- 2015-07-15 CN CN201510417272.6A patent/CN105119968A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
CN102075741A (zh) * | 2010-12-14 | 2011-05-25 | 北京华环电子股份有限公司 | 一种图像传输方法、终端及系统 |
US20130077501A1 (en) * | 2011-09-22 | 2013-03-28 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
CN103166974A (zh) * | 2013-03-28 | 2013-06-19 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线传输方法 |
CN104618337A (zh) * | 2014-12-31 | 2015-05-13 | 浙江理工大学 | 一种基于tcp/udp混合协议的流媒体无线自适应传输方法 |
CN104618236A (zh) * | 2015-01-21 | 2015-05-13 | 网宿科技股份有限公司 | 一种加速网络的并行数据传输系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873927A (zh) * | 2015-12-11 | 2017-06-20 | 成都长天信息技术有限公司 | 一种基于kvm平台的远程三维桌面图像传输方法 |
CN110213150A (zh) * | 2018-03-06 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 传输参数获取及图片传输方法、装置、设备及存储介质 |
CN110213150B (zh) * | 2018-03-06 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 传输参数获取及图片传输方法、装置、设备及存储介质 |
CN112104918A (zh) * | 2020-11-04 | 2020-12-18 | 捷信(浙江)通信技术有限公司 | 基于卫星网络的图像传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055111B (zh) | 数据传输方法及装置 | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
CN110418376A (zh) | 数据传输方法及装置 | |
US10021182B2 (en) | Method and apparatus for data synchronization | |
CN109905205B (zh) | 数据发送、接收的方法及设备、数据传输方法及系统 | |
CN104780028A (zh) | 一种实现tcp数据报文重传的方法及设备 | |
CN105791154B (zh) | 一种基于udp的数据传输方法及装置 | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
CN105119967A (zh) | 一种图片分割传输方法及装置 | |
CN102394880A (zh) | 内容分发网络中的跳转响应处理方法和设备 | |
CN104185037A (zh) | 一种传输、播放视频的方法、装置和系统 | |
CN103384181A (zh) | 数据包的传输方法和设备 | |
CN104038845A (zh) | 报文传输方法及装置 | |
CN104468509A (zh) | 手机网络游戏数据传输的方法、系统和手机用户端 | |
RU2013143046A (ru) | Система и способ для передачи изображений в режиме реального времени | |
CN105119968A (zh) | 一种图片传输方法及装置 | |
TW201631937A (zh) | 檔案傳輸方法 | |
CN109120385B (zh) | 一种基于数据传输系统的数据传输方法、装置及系统 | |
CN105117401A (zh) | 一种并行传输图片的方法、装置及系统 | |
CN103580817A (zh) | 一种数据传输方法、装置、系统和相关设备 | |
CN104967663A (zh) | 一种文件传输方法及系统、文件发送装置与文件接收装置 | |
CN105897452A (zh) | 一种数据重传方法及装置 | |
CN110602515B (zh) | 基于区块链的数据处理方法、服务器及存储介质 | |
CN101212332A (zh) | 流记录方法、装置和系统 | |
CN111002310A (zh) | 适用于机械臂与pc间的数据通信方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |