CN105117401B - 一种并行传输图片的方法、装置及系统 - Google Patents
一种并行传输图片的方法、装置及系统 Download PDFInfo
- Publication number
- CN105117401B CN105117401B CN201510416460.7A CN201510416460A CN105117401B CN 105117401 B CN105117401 B CN 105117401B CN 201510416460 A CN201510416460 A CN 201510416460A CN 105117401 B CN105117401 B CN 105117401B
- Authority
- CN
- China
- Prior art keywords
- picture
- requesting terminal
- requested
- server
- module
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种并行传输图片的方法、装置及系统,用于实现同一图片并行传输给多个终端,提高图片的网络传输效率。所述并行传输图片的方法包括:服务器根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于所述多个请求终端的总数的正整数;服务器向所述多个请求终端并行传输被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块。该方法通过将被请求图片分成多个图片块,然后在同一时刻向不同的请求终端发送被请求图片的不同图片块,因此能够同时向多个请求终端发送被请求图片的不同部位数据,实现了同一图片并行传输给多个终端的目的,提高了图片的传输效率。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种并行传输图片的方法、装置及系统。
背景技术
随着网络技术的发展,出现了许多图片浏览网站或多媒体网站,目前,对于这些网站而言,常常会遇到许多个终端同时到服务器请求同一个图片的情况。对于这种情况,在绝对时间上,目前服务器只能首先响应其中一个终端的图片传输请求,给一个终端传输图片,其他所有终端都需要等待服务器依次响应该图片传输请求。可见,目前对于多终端同时请求传输同一图片的解决方法传输效率比较低,即使带宽允许也只能轮候传输,不能充分利用网络资源。因此,需要一种能够使服务器同时响应多个终端对同一图片的传输请求,实现同一图片并行传输给多个终端的方案,以提高图片的网络传输效率。
发明内容
本发明提供一种并行传输图片的方法、装置及系统,用于实现同一图片并行传输给多个终端,提高图片的网络传输效率的目的。
本发明提供的一种并行传输图片的方法,包括:
服务器根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于所述多个请求终端的总数的正整数;
服务器向所述多个请求终端并行传输被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块。
本发明实施例的一些有益效果可以包括:
本发明提供的并行传输图片的方法通过将被请求图片分成多个图片块,然后在同一时刻向不同的请求终端发送被请求图片的不同图片块,因此能够同时向多个请求终端发送被请求图片的不同部位数据,实现了同一图片并行传输给多个终端的目的,提高了图片的传输效率。
在一个实施例中,所述服务器向所述多个请求终端并行传输被请求图片的不同图片块之前,还包括步骤:
服务器根据预定编号规则为被请求图片的每个图片块编号;
服务器生成所述多个请求终端对应的多个图片块编号序列;每个请求终端对应的图片块编号序列包括所述被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同;
所述服务器向所述多个请求终端并行传输被请求图片的不同图片块,包括:对于每一个请求终端,服务器根据该请求终端对应的图片块编号序列向该请求终端顺序传输每个图片块编号对应的图片块,且同一时刻向所述多个请求终端并行传输所述多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
该实施例中,提供了服务器为分割被请求图片得到的图片块编号,由此根据为每个请求终端生成的编号生成图片块的编号序列的方法,只需保证多个请求终端的编号序列的同一位置的图片块编号不同即可,使得服务器主动为请求终端并行发送不同的图片块的方案有序可行。
在一个实施例中,所述服务器生成所述多个请求终端对应的多个图片块编号序列,包括:服务器将第i个请求终端对应的图片块编号序列的编号顺序生成为:所述被请求图片的第i个图片块编号至第N个图片块编号,随后为被请求图片的第1个图片块编号至第i-1个图片块编号;其中,所述i=1,...,M,所述M=1,...,N,M为同时发出所述被请求图片的传输请求的请求终端总数。
该实施例中,提供了服务器采用错位编号方法生成多个请求终端的编号序列的方法,该方法简单可行,不易出错。
在一个实施例中,所述服务器生成所述多个请求终端对应的多个图片块编号序列,包括:
服务器通知所述多个请求终端被请求图片的图片块数量N;
服务器获取各请求终端根据所述被请求图片的图片块数量N各自生成的随机数序列;所述随机数序列包括随机排列的N个数,任意两个不同请求终端生成的随机数序列中的N个数相同,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
服务器建立所述被请求图片的N个图片块编号和所述随机数序列中的N个数的一一对应关系,并根据各请求终端生成的随机数序列,生成所述多个请求终端对应的多个图片块编号序列。
该实施例中,各请求终端根据所述被请求图片的图片块数量N各自生成随机数序列并提供给服务器,服务器根据各请求终端的随机数序列生成各请求终端对应的图片块编号序列,随后服务器按照编号序列主动向请求终端图片块发送即可,实施简单可行。
在一个实施例中,所述服务器向所述多个请求终端并行传输被请求图片的不同图片块之前,还包括:
服务器根据预定编号规则将被请求图片的N个图片块分别编号为1至N;
服务器通知所述多个请求终端被请求图片的图片块数量N;
每个请求终端根据所述被请求图片的图片块数量N生成一个随机数序列;所述随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
各请求终端将自身产生的随机数序列中的数顺序作为图片块请求发送至服务器;
所述服务器向所述多个请求终端并行传输被请求图片的不同图片块,包括:所述服务器根据各请求终端发来的图片块请求,向所述多个请求终端并行传输各终端发来的图片块请求中的编号对应的图片块。
该实施例中提供了服务器向各请求终端的发送图片块的顺序由各请求终端决定的方法,服务器将被请求图片编号为1至N,请求终端各自生成包含1至N的随机数序列,并根据自身的随机数序列依次向服务器主动请求编号对应于当前随机数的图片块。图片块的发送顺序由请求终端决定,只需要在请求终端添加相关的随机数序列生成及请求程序即可实现。
在一个实施例中,所述服务器向每个请求终端传输完被请求图片的所有图片块之后,还包括:服务器缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列;
所述服务器通知所述多个请求终端被请求图片的图片块数量N之前,还包括:
所述服务器判断是否缓存有本次发来传输请求的所有请求终端的ID,并判断本次分割被请求图片得到的图片块数量是否等于缓存的被请求图片的图片块数量N的值,若缓存有本次发来传输请求的所有请求终端的ID以及本次分割被请求图片得到的图片块数量等于缓存的N的值,则提取已缓存的本次发来传输请求的所有请求终端的随机数序列,并根据各请求终端的随机数序列向多个请求终端并行传输被请求图片的不同图片块;否则,服务器通知所述多个请求终端被请求图片的图片块数量N并继续后续步骤。
该实施例中,在每次采用上述并行传输图片的方法向多个终端发送图片之后,服务器缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列,这样,在下一次收到图片传输请求时,若已缓存过当前所有请求终端的上一次随机数序列且上一次的图片块数量N可用时,可根据缓存的上一次的图片分割和并行传输方法直接给当前的各请求终端发送图片块,因此无需再次执行请求终端生成随机数的过程,图片发送流程更为省时,图片并行发送效率高。
本发明提供的一种并行传输图片的装置,用于服务器,包括:
第一分割模块,用于根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于请求图片的请求终端总数的正整数;
第一传输模块,用于向所述多个请求终端并行传输分割得到的被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块。
在一个实施例中,所述并行传输图片的装置还包括:
排序模块,用于根据预定编号规则为所述第一分割模块分割得到的被请求图片的每个图片块编号,并生成所述多个请求终端各自对应的图片块编号序列;其中,每个请求终端对应的图片块编号序列包括所述被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同;
所述第一传输模块用于根据所述排序模块生成的各请求终端对应的图片块编号序列,向各请求终端顺序传输其对应的图片块编号序列中每个图片块编号对应的图片块,且同一时刻向所述多个请求终端并行传输所述多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
本发明提供的一种并行传输图片的系统,包括:服务器和多个请求终端;
所述服务器包括第二分割模块、编号模块、第二传输模块;所述请求终端包括随机数序列生成模块、请求模块和接收模块;
所述第二分割模块用于根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于请求图片的请求终端总数的正整数;
所述编号模块,用于根据预定编号规则将所述第二分割模块分割得到的被请求图片的N个图片块分别编号为1至N;
所述第二传输模块,用于将所述第二分割模块分割得到的被请求图片的图片块数量N发送给所述多个请求终端;所述第二传输模块还用于根据所述编号模块对被请求图片的N个图片块的编号,向所述多个请求终端并行传输各请求终端的请求模块发来的图片块请求中的编号对应的图片块;
所述随机数序列生成模块,用于根据所述第二传输模块发来的被请求图片的图片块数量N生成一个对应于当前请求终端的随机数序列;所述随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
所述请求模块,用于将所述随机数序列生成模块生成的随机数序列中的数顺序作为图片块请求发送至服务器的所述第二传输模块;
所述接收模块,用于接收服务器发来的被请求图片的图片块。
在一个实施例中,所述并行传输图片的系统中的所述服务器还包括缓存模块和判断模块;
所述缓存模块,用于缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列;
所述判断模块,用于在所述第二传输模块将所述被请求图片的图片块数量N发送给所述多个请求终端之前,判断所述缓存模块是否缓存有本次发来传输请求的所有请求终端的ID以及本次所述第二分割模块分割被请求图片得到的图片块数量是否等于所述缓存模块缓存的N的值,若是,则提取所述缓存模块中缓存的本次发来传输请求的所有请求终端的随机数序列发送给所述第二传输模块;
所述第二传输模块还用于在收到所述判断模块发来的所有请求终端的随机数序列时,直接根据所述判断模块发来的各请求终端的随机数序列,向所述多个请求终端并行传输被请求图片的不同图片块。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的一种并行传输图片的方法流程图;
图2为本发明实施例提供的另一种并行传输图片的方法流程图;
图3为图2中步骤S22的一种实施方法流程图;
图4为本发明实施例提供的另一种并行传输图片的方法流程图;
图5为本发明实施例提供的一种并行传输图片的装置结构框图;
图6为本发明实施例提供的另一种并行传输图片的装置结构框图;
图7为本发明实施例提供的一种并行传输图片的系统结构框图;
图8为本发明实施例提供的另一种并行传输图片的系统结构框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例提供的一种并行传输图片的方法流程图,包括步骤:
S1:服务器根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,N为大于等于多个请求终端的总数的正整数;
S2:服务器向多个请求终端并行传输被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块。
例如:服务器同时收到3个请求终端对同一图片的传输请求,则将该被请求图片分割为3个图片块,然后在第一时刻向第一请求终端发送图片块1,向第二请求终端发送图片块2,向第三请求终端发送图片块3;随后在第二时刻向第一请求终端发送图片块2,向第二请求终端发送图片块3,向第三请求终端发送图片块1;最后在第三时刻向第一请求终端发送图片块3,向第二请求终端发送图片块1,向第三请求终端发送图片块2。这样,就可以通过在同一时刻向不同的请求终端发送被请求图片的不同图片块,实现了同一图片并行传输给多个终端的目的,提高了图片的传输效率。
在一个实施例中,如图2所示,步骤S2之前,还包括步骤:
S21:服务器根据预定编号规则为被请求图片的每个图片块编号;例如,为N各图片块分别编号为1至N,或者,为每个图片块生成序列号。
S22:服务器生成多个请求终端对应的多个图片块编号序列;其中,每个请求终端对应的图片块编号序列包括被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同。
此时步骤S2中所述服务器向多个请求终端并行传输被请求图片的不同图片块,实施为S23:对于每一个请求终端,服务器根据该请求终端对应的图片块编号序列向该请求终端顺序传输每个图片块编号对应的图片块,且同一时刻向多个请求终端并行传输多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
该实施例中,服务器为分割被请求图片得到的图片块编号,并生成对应于各请求终端的图片块编号序列,只需保证多个请求终端的编号序列的同一位置的图片块编号不同即可,例如,每个请求终端对应的图片块编号序列包括N个编号,第一请求终端对应的图片块编号序列为(a1,a2,...,aN),第二请求终端对应的图片块编号序列为(a3,a5,...,ai),第一请求终端对应的图片块编号序列的第i位编号与第二请求终端的第对应的图片块编号序列的第i位编号不同,显然,当N等于请求终端的总数时,若将第1至第N个请求终端对应的图片块编号序列分别作为矩阵A的第1至N列,则A为一个N×N维矩阵,且矩阵的任意一行为被请求终端的N个图片块编号,任意一列也为被请求终端的N个图片块编号,且任意两行对应位置的数不同,任意两列的对应位置的数不同。随后在传输时,服务器每次主动向N个请求终端并行发送上述矩阵A的一行中各个图片块编号对应的图片块,直至将矩阵A的行所记录的编号并行发送N次。最后接收终端根据和服务器提前约定好的预定编号规则,将收到的所有编号的图片块重新组合成被请求图片即可。
在一个实施例中,步骤S22包括:服务器将第i个请求终端对应的图片块编号序列的编号顺序生成为:被请求图片的第i个图片块编号至第N个图片块编号,随后为被请求图片的第1个图片块编号至第i-1个图片块编号;其中,i=1,...,M,M=1,...,N,M为同时发出被请求图片的传输请求的请求终端总数。例如,有2个终端同时请求图片,将被请求图片分割为4份,则服务器向请求终端1发送图片块1(后续传输图片块2、3、4),向请求终端2发送图片块2(后续传输图片块3、4、1)。该实施例中,提供了服务器采用错位编号方法生成多个请求终端的编号序列的方法,该方法简单可行,不易出错。
在另一个实施例中,如图3所示,步骤S22包括:
S221:服务器通知多个请求终端被请求图片的图片块数量N;
S222:服务器获取各请求终端根据被请求图片的图片块数量N各自生成的随机数序列;其中,随机数序列包括随机排列的N个数,任意两个不同请求终端生成的随机数序列中的N个数相同,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
S223:服务器建立被请求图片的N个图片块编号和随机数序列中的N个数的一一对应关系,并根据各请求终端生成的随机数序列,生成多个请求终端对应的多个图片块编号序列。
该实施例中,各请求终端根据被请求图片的图片块数量N各自生成随机数序列并提供给服务器,服务器根据各请求终端的随机数序列生成各请求终端对应的图片块编号序列,随后服务器按照编号序列主动向请求终端图片块发送即可,实施简单可行。
在另一个实施例中,如图4所示,图1中的步骤S2之前,还包括步骤:
S41:服务器根据预定编号规则将被请求图片的N个图片块分别编号为1至N;
S42:服务器通知多个请求终端被请求图片的图片块数量N;
S43:每个请求终端根据被请求图片的图片块数量N生成一个随机数序列;其中,随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同。
S44:各请求终端将自身产生的随机数序列中的数顺序作为图片块请求发送至服务器;例如,N=3,第一请求终端生成的随机数序列为(2,1,3),则第一请求终端首先向服务器发送的图片块请求,其中请求图片块编号为1的图片块,随后依次向服务器发送请求图片块编号为2的图片块的图片块请求和请求图片块编号为3的图片块的图片块请求,其他请求终端类似。
此时步骤S2所述服务器向多个请求终端并行传输被请求图片的不同图片块,实施为S45:服务器根据各请求终端发来的图片块请求,向多个请求终端并行传输各终端发来的图片块请求中的编号对应的图片块。
该实施例中提供了服务器向各请求终端的发送图片块的顺序由各请求终端决定的方法,服务器将被请求图片编号为1至N,请求终端各自生成包含1至N的随机数序列,并根据自身的随机数序列依次向服务器主动请求编号对应于当前随机数的图片块。图片块的发送顺序由请求终端决定,只需要在请求终端添加相关的随机数序列生成及请求程序即可实现。
在一个实施例中,步骤S2(步骤S23或S45)之后,还包括步骤:服务器缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列。此时,上述并行传输图片的方法中,步骤S221/S42之前,还包括步骤:
服务器判断是否缓存有本次发来传输请求的所有请求终端的ID,并判断本次分割被请求图片得到的图片块数量是否等于缓存的被请求图片的图片块数量N的值,若缓存有本次发来传输请求的所有请求终端的ID以及本次分割被请求图片得到的图片块数量等于缓存的N的值,则提取已缓存的本次发来传输请求的所有请求终端的随机数序列,并根据各请求终端的随机数序列向多个请求终端并行传输被请求图片的不同图片块;否则,服务器通知多个请求终端被请求图片的图片块数量N并继续后续步骤。
该实施例中,在每次采用上述并行传输图片的方法向多个终端发送图片之后,服务器缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列,这样,在下一次收到图片传输请求时,若已缓存过当前所有请求终端的上一次随机数序列且上一次的图片块数量N可用时,可根据缓存的上一次的图片分割和并行传输方法直接给当前的各请求终端发送图片块,因此无需再次执行请求终端生成随机数的过程,图片发送流程更为省时,图片并行发送效率高。
本发明实施例提供的并行传输图片的方法通过将被请求图片分成多个图片块,然后在同一时刻向不同的请求终端发送被请求图片的不同图片块,因此能够同时向多个请求终端发送被请求图片的不同部位数据,实现了同一图片并行传输给多个终端的目的,提高了图片的传输效率。
对应于本发明实施例提供的并行传输图片的方法,本发明实施例还提供一种并行传输图片的装置,如图5所示,该装置用于服务器,包括:
第一分割模块51,用于根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,N为大于等于请求图片的请求终端总数的正整数;
第一传输模块52,用于向多个请求终端并行传输分割得到的被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块。
在一个实施例中,如图6所示,并行传输图片的装置还包括:
排序模块53,用于根据预定编号规则为第一分割模块51分割得到的被请求图片的每个图片块编号,并生成多个请求终端各自对应的图片块编号序列;其中,每个请求终端对应的图片块编号序列包括被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同;
此时第一传输模块52用于根据排序模块53生成的各请求终端对应的图片块编号序列,向各请求终端顺序传输其对应的图片块编号序列中每个图片块编号对应的图片块,且同一时刻向多个请求终端并行传输多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
本发明实施例提供的并行传输图片的装置通过将被请求图片分成多个图片块,然后在同一时刻向不同的请求终端发送被请求图片的不同图片块,因此能够同时向多个请求终端发送被请求图片的不同部位数据,实现了同一图片并行传输给多个终端的目的,提高了图片的传输效率。
对应于本发明实施例提供的并行传输图片的方法和装置,本发明实施例还提供一种并行传输图片的系统,如图7所示,该系统包括:服务器71和多个请求终端72;其中,服务器71包括第二分割模块、编号模块、第二传输模块;请求终端72包括随机数序列生成模块721、请求模块722和接收模块723;
第二分割模块711用于根据多个请求终端72对同一图片的传输请求,将被请求图片分割为N个图片块,N为大于等于请求图片的请求终端总数的正整数;
编号模块712,用于根据预定编号规则将第二分割模块711分割得到的被请求图片的N个图片块分别编号为1至N;
第二传输模块713,用于将第二分割模块711分割得到的被请求图片的图片块数量N发送给多个请求终端72;第二传输模块713还用于根据编号模块712对被请求图片的N个图片块的编号,向多个请求终端72的接收模块723并行传输各请求终端72的请求模块722发来的图片块请求中的编号对应的第二分割模块711分割被请求图片得到的图片块;
随机数序列生成模块721,用于根据第二传输模块713发来的被请求图片的图片块数量N生成一个对应于当前请求终端的随机数序列;随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
请求模块722,用于将随机数序列生成模块721生成的随机数序列中的数顺序作为图片块请求发送至服务器71的第二传输模块713;
接收模块723,用于接收服务器71发来的被请求图片的图片块。
在一个实施例中,如图8所示,并行传输图片的系统中的服务器71还包括缓存模块714和判断模块715;
缓存模块714,用于缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列;
判断模块715,用于在第二传输模块713将被请求图片的图片块数量N发送给多个请求终端72之前,判断缓存模块714是否缓存有本次发来传输请求的所有请求终端的ID以及本次第二分割模块711分割被请求图片得到的图片块数量是否等于缓存模块缓存的N的值,若是,则提取缓存模块714中缓存的本次发来传输请求的所有请求终端的随机数序列并发送给第二传输模块713;
第二传输模块713还用于在收到判断模块715发来的所有请求终端的随机数序列时,直接根据判断模块715发来的各请求终端的随机数序列,向多个请求终端72并行传输被请求图片的不同图片块,此时第二传输模块713不再需要向多个请求终端72发送分割得到的被请求图片的图片块数量N。
本发明实施例提供的并行传输图片的系统中,服务器通过将被请求图片分成多个图片块并对其编号,然后各请求终端根据被请求图片分割的数量生成自身对应的随机数序列后发送给服务器,从而服务器可以根据各请求终端的随机数序列及各图片块的编号在同一时刻向不同的请求终端发送被请求图片的不同图片块,因此能够同时向多个请求终端发送被请求图片的不同部位数据,实现了同一图片并行传输给多个终端的目的,提高图片的传输效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种并行传输图片的方法,其特征在于,包括:
服务器根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于所述多个请求终端的总数的正整数;
服务器向所述多个请求终端并行传输被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块;
所述服务器向所述多个请求终端并行传输被请求图片的不同图片块之前,还包括步骤:
服务器根据预定编号规则为被请求图片的每个图片块编号;
服务器生成所述多个请求终端对应的多个图片块编号序列;每个请求终端对应的图片块编号序列包括所述被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同;
所述服务器向所述多个请求终端并行传输被请求图片的不同图片块,包括:对于每一个请求终端,服务器根据该请求终端对应的图片块编号序列向该请求终端顺序传输每个图片块编号对应的图片块,且同一时刻向所述多个请求终端并行传输所述多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
2.如权利要求1所述的并行传输图片的方法,其特征在于,所述服务器生成所述多个请求终端对应的多个图片块编号序列,包括:服务器将第i个请求终端对应的图片块编号序列的编号顺序生成为:所述被请求图片的第i个图片块编号至第N个图片块编号,随后为被请求图片的第1个图片块编号至第i-1个图片块编号;其中,所述i=1,...,M,所述M=1,...,N,M为同时发出所述被请求图片的传输请求的请求终端总数。
3.如权利要求1所述的并行传输图片的方法,其特征在于,所述服务器生成所述多个请求终端对应的多个图片块编号序列,包括:
服务器通知所述多个请求终端被请求图片的图片块数量N;
服务器获取各请求终端根据所述被请求图片的图片块数量N各自生成的随机数序列;所述随机数序列包括随机排列的N个数,任意两个不同请求终端生成的随机数序列中的N个数相同,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
服务器建立所述被请求图片的N个图片块编号和所述随机数序列中的N个数的一一对应关系,并根据各请求终端生成的随机数序列,生成所述多个请求终端对应的多个图片块编号序列。
4.如权利要求1所述的并行传输图片的方法,其特征在于,所述服务器向所述多个请求终端并行传输被请求图片的不同图片块之前,还包括:
服务器根据预定编号规则将被请求图片的N个图片块分别编号为1至N;
服务器通知所述多个请求终端被请求图片的图片块数量N;
每个请求终端根据所述被请求图片的图片块数量N生成一个随机数序列;所述随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
各请求终端将自身产生的随机数序列中的数顺序作为图片块请求发送至服务器;
所述服务器向所述多个请求终端并行传输被请求图片的不同图片块,包括:所述服务器根据各请求终端发来的图片块请求,向所述多个请求终端并行传输各终端发来的图片块请求中的编号对应的图片块。
5.如权利要求3或4所述的并行传输图片的方法,其特征在于,所述服务器向每个请求终端传输完被请求图片的所有图片块之后,还包括:服务器缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列;
所述服务器通知所述多个请求终端被请求图片的图片块数量N之前,还包括:
所述服务器判断是否缓存有本次发来传输请求的所有请求终端的ID,并判断本次分割被请求图片得到的图片块数量是否等于缓存的被请求图片的图片块数量N的值,若缓存有本次发来传输请求的所有请求终端的ID以及本次分割被请求图片得到的图片块数量等于缓存的N的值,则提取已缓存的本次发来传输请求的所有请求终端的随机数序列,并根据各请求终端的随机数序列向多个请求终端并行传输被请求图片的不同图片块;否则,服务器通知所述多个请求终端被请求图片的图片块数量N并继续后续步骤。
6.一种并行传输图片的装置,其特征在于,用于服务器,包括:
第一分割模块,用于根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于请求图片的请求终端总数的正整数;
第一传输模块,用于向所述多个请求终端并行传输分割得到的被请求图片的不同图片块,直至向每个请求终端传输完被请求图片的所有图片块;
还包括:
排序模块,用于根据预定编号规则为所述第一分割模块分割得到的被请求图片的每个图片块编号,并生成所述多个请求终端各自对应的图片块编号序列;其中,每个请求终端对应的图片块编号序列包括所述被请求图片的N个图片块的编号,且任意两个不同请求终端对应的图片块编号序列的对应位置的图片块编号不同;
所述第一传输模块用于根据所述排序模块生成的各请求终端对应的图片块编号序列,向各请求终端顺序传输其对应的图片块编号序列中每个图片块编号对应的图片块,且同一时刻向所述多个请求终端并行传输所述多个请求终端对应的多个图片块编号序列中同一位置的图片块编号对应的图片块。
7.一种并行传输图片的系统,其特征在于,包括:服务器和多个请求终端;
所述服务器包括第二分割模块、编号模块、第二传输模块;所述请求终端包括随机数序列生成模块、请求模块和接收模块;
所述第二分割模块用于根据多个请求终端对同一图片的传输请求,将被请求图片分割为N个图片块,所述N为大于等于请求图片的请求终端总数的正整数;
所述编号模块,用于根据预定编号规则将所述第二分割模块分割得到的被请求图片的N个图片块分别编号为1至N;
所述第二传输模块,用于将所述第二分割模块分割得到的被请求图片的图片块数量N发送给所述多个请求终端;所述第二传输模块还用于根据所述编号模块对被请求图片的N个图片块的编号,向所述多个请求终端并行传输各请求终端的请求模块发来的图片块请求中的编号对应的图片块;
所述随机数序列生成模块,用于根据所述第二传输模块发来的被请求图片的图片块数量N生成一个对应于当前请求终端的随机数序列;所述随机数序列包括随机排列的数1至N,且任意两个不同请求终端生成的随机数序列中对应位置的数不同;
所述请求模块,用于将所述随机数序列生成模块生成的随机数序列中的数顺序作为图片块请求发送至服务器的所述第二传输模块;
所述接收模块,用于接收服务器发来的被请求图片的图片块。
8.如权利要求7所述的并行传输图片的系统,其特征在于,所述服务器还包括缓存模块和判断模块;
所述缓存模块,用于缓存本次被请求图片的图片块数量N的值、所有请求终端的ID以及各请求终端的随机数序列;
所述判断模块,用于在所述第二传输模块将所述被请求图片的图片块数量N发送给所述多个请求终端之前,判断所述缓存模块是否缓存有本次发来传输请求的所有请求终端的ID以及本次所述第二分割模块分割被请求图片得到的图片块数量是否等于所述缓存模块缓存的N的值,若是,则提取所述缓存模块中缓存的本次发来传输请求的所有请求终端的随机数序列发送给所述第二传输模块;
所述第二传输模块还用于在收到所述判断模块发来的所有请求终端的随机数序列时,直接根据所述判断模块发来的各请求终端的随机数序列,向所述多个请求终端并行传输被请求图片的不同图片块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416460.7A CN105117401B (zh) | 2015-07-15 | 2015-07-15 | 一种并行传输图片的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416460.7A CN105117401B (zh) | 2015-07-15 | 2015-07-15 | 一种并行传输图片的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117401A CN105117401A (zh) | 2015-12-02 |
CN105117401B true CN105117401B (zh) | 2018-05-08 |
Family
ID=54665393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510416460.7A Expired - Fee Related CN105117401B (zh) | 2015-07-15 | 2015-07-15 | 一种并行传输图片的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117401B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653665B (zh) * | 2015-12-28 | 2020-05-12 | 读书郎教育科技有限公司 | 一种实现高效存取笔记的方法和装置 |
CN107733979B (zh) * | 2017-09-06 | 2021-05-28 | 中国科学院计算机网络信息中心 | 数据推送方法、服务器及系统 |
CN110213314B (zh) * | 2018-05-11 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 确定存储节点的方法、装置、服务器 |
CN115242815A (zh) * | 2022-07-14 | 2022-10-25 | 山石网科通信技术股份有限公司 | 一种数据云存储方法、装置,管理服务器及用户终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299822A (zh) * | 2007-04-30 | 2008-11-05 | 华为技术有限公司 | 同步传输的系统、方法、设备及装置 |
CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
CN102609935A (zh) * | 2011-12-15 | 2012-07-25 | 深圳鼎识科技有限公司 | 证件图像处理传输系统及方法 |
CN103312732A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据文件的传输方法及装置 |
-
2015
- 2015-07-15 CN CN201510416460.7A patent/CN105117401B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299822A (zh) * | 2007-04-30 | 2008-11-05 | 华为技术有限公司 | 同步传输的系统、方法、设备及装置 |
CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
CN102609935A (zh) * | 2011-12-15 | 2012-07-25 | 深圳鼎识科技有限公司 | 证件图像处理传输系统及方法 |
CN103312732A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据文件的传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105117401A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205037B2 (en) | Content distribution network | |
CN105117401B (zh) | 一种并行传输图片的方法、装置及系统 | |
CN104104649B (zh) | 页面登录的方法、装置及系统 | |
US9313015B2 (en) | HTTP-based synchronization method and apparatus | |
CN104796439B (zh) | 网页推送方法、客户端、服务器及系统 | |
CN104025521A (zh) | 内容传输系统、优化该系统中网络流量的方法、中央控制装置和本地缓存装置 | |
US10547705B2 (en) | Caching proxy method and apparatus | |
CN111414389B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN105897850A (zh) | 用于cdn平台的响应处理方法、调度代理服务器及系统 | |
CN104602102B (zh) | 视频截取内容的传输响应方法、装置、服务器和系统 | |
JP5724687B2 (ja) | 情報処理装置、サーバ選択方法、及びプログラム | |
CN103581133B (zh) | Web服务器对访问请求发送响应的方法和系统 | |
CN110166541B (zh) | 基于区块链的渲染方法、相关设备及系统 | |
CN106878370A (zh) | 一种本地缓存的更新方法和设备 | |
Matsudaira | Making the mobile web faster | |
US20140189035A1 (en) | Virtual Desktop Infrastructure (VDI) Login Acceleration | |
CN110401711A (zh) | 数据处理方法、装置、系统及存储介质 | |
CN104125303B (zh) | 数据读写请求方法、客户端及系统 | |
CN105979277A (zh) | 一种文件传输方法及电子设备 | |
CN104462037A (zh) | 文档协同编辑中的一致性维护方法 | |
CN109977822A (zh) | 数据供给方法、模型训练方法、装置、系统、设备和介质 | |
CN106034141B (zh) | 消息处理方法、资源获取方法、服务器及终端设备 | |
CN105893429A (zh) | 用于优化web缓存的方法及系统 | |
CN106209875A (zh) | 基于多业务服务器的业务处理方法及业务服务器 | |
US9021110B2 (en) | Consistent association of a user ID with a user |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180508 Termination date: 20210715 |
|
CF01 | Termination of patent right due to non-payment of annual fee |