发明内容
针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种异步图片获取方法及系统,以解决需要获取的图片来自多个不同环境时,获取图片数据不全以及获取不同环境的图片效率低下的问题。
为实现上述目的,第一方面,本发明实施例提供了一种异步图片获取获取按方法,包括:
接口服务器接收客户端发送的图片获取请求,并将所述图片获取请求加入队列;
中间服务器读取所述队列中的图片获取请求,以得到请求参数;所述请求参数包括定图片地址及、图片所在的网络环境标记信息及数据唯一标识;
所述中间服务器根据所述请求参数查询数据源服务器,以得到图片数据,并将所述图片数据反馈至所述接口服务器;
所述接口服务器解析所述图片数据,以得到目标图片,并将所述目标图片推送至所述客户端展示;
所述数据源服务器包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据。
其中,所述图片获取请求包括HTTP请求。
作为本申请的一种具体实施方式,所述中间服务器通过队列任务的回调地址将所述图片数据发送至所述接口服务器。
作为本申请的一种具体实施方式,所述接口服务器解析所述图片数据,得到目标图片及关联信息,并根据所述关联信息存放至指定目录;所述关联信息包括所述目标图片的拍摄地址。
第二方面,本发明实施例提供了一种异步图片获取系统,包括:
接口服务器,用于接收客户端发送的图片获取请求,并将所述图片获取请求加入队列;
中间服务器,用于读取所述队列中的图片获取请求,以得到请求参数;所述请求参数包括定图片地址及、图片所在的网络环境标记信息及数据唯一标识;
所述中间服务器还用于根据所述请求参数查询数据源服务器,以得到图片数据,并将所述图片数据反馈至所述接口服务器;
所述接口服务器还用于解析所述图片数据,以得到目标图片,并将所述目标图片推送至所述客户端展示;
所述数据源服务器包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据。
第三方面,本发明实施例还提供了另一种异步图片获取系统,包括:
数据源服务器,包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据;
客户端,用于发送图片获取请求;
接口服务器,用于接收所述图片获取请求,并将所述图片获取请求加入队列;
中间服务器,用于读取所述队列中的图片获取请求,以得到请求参数;所述请求参数包括定图片地址及、图片所在的网络环境标记信息及数据唯一标识;
所述中间服务器还用于根据所述请求参数查询所述数据源服务器,以得到图片数据,并将所述图片数据反馈至所述接口服务器;
所述接口服务器还用于解析所述图片数据,以得到目标图片,并将所述目标图片推送至所述客户端展示。
实施本发明实施例,通过中间服务器可以快速获取来自于不同网络环境的图片数据,从而解决了现有技术中获取图片数据不全的技术问题,同时提高了获取不同网络环境下图片的效率;且图片存储于接口服务器,从而减少了因图片存储本地导致的磁盘占用量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的发明构思是:由于不同服务器之间存在网络环境无法相通的问题,采用中间服务器建立不同服务器之间的数据传输通道,从而可将数据源服务器存储的多种网络环境的图片数据反馈至客户端进行展示。
基于上述发明构思,本发明所提供的技术方案大致描述如下:
S1,客户端浏览器请求图片;
S2,后台服务器给接口服务接口发送获取图片的请求;
S3,接口服务器将获取图片的请求任务加入队列;
S4,查询搜索服务从队列中取图片请求任务,根据任务中参数选择需要查询的数据源服务器,在该环境中查询是否有该图片;
S5,根据上述查询结果反馈给图片请求任务中的回调地址;
S6,WEB服务器的后台服务接收上述回调反馈信息;
S7,客户端浏览器展示对应图片。
请参考图1,本发明实施例提供了一种异步图片获取方法,包括:
S101,接口服务器接收客户端发送的图片获取请求,并将图片获取请求加入队列。
具体地,客户端浏览器请求图片,向接口服务器发送获取数据(图片)的 HTTP(HyperText Transfer Protocol,超文本传输协议)请求,接口服务器将获取图片的请求加入任务队列中。
需要说明的是,请求图片的接口接收到请求之后会将图片请求任务加入队列,以此避免高并发导致查询失败的情况。
S102,中间服务器读取所述队列中的图片获取请求,以得到请求参数。
其中,所述请求参数包括但但不仅限于定图片地址及、图片所在的网络环境标记信息及数据唯一标识等。
S103,中间服务器根据所述请求参数查询数据源服务器,以得到图片数据,并将所述图片数据反馈至接口服务器。
其中,数据源服务器包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据。
具体地,中间服务器通过队列任务的回调地址将所述图片数据发送至所述接口服务器。
S104,接口服务器解析图片数据,以得到目标图片及关联信息。
S105,接口服务器根据关联信息存放至指定目录,并对目标图片进行统一命名。
具体地,接口服务器解析图片数据,并根据关联信息将图片放到指定的目录下,并将图片更名为”数据唯一标识.jpg”。
S106,客户端请求图片内容,获取存储于接口服务器指定目录中的目标图片进行展示。
实施本发明实施例的异步图片获取方法,通过中间服务器可以快速获取来自于不同网络环境的图片数据,从而解决了现有技术中获取图片数据不全的技术问题,同时提高了获取不同网络环境下图片的效率;且图片存储于接口服务器,从而减少了因图片存储本地导致的磁盘占用量。
基于相同的发明构思,本发明实施例提供一种异步图片获取系统,如图2 所示,该系统包括:
接口服务器10,用于接收客户端发送的图片获取请求,并将所述图片获取请求加入队列;其中,所述图片获取请求包括HTTP请求;
中间服务器11,用于读取所述队列中的图片获取请求,以得到请求参数;所述请求参数包括定图片地址及、图片所在的网络环境标记信息及数据唯一标识;
所述中间服务器11还用于根据所述请求参数查询数据源服务器,以得到图片数据,并将所述图片数据反馈至所述接口服务器;
所述接口服务器10还用于解析所述图片数据,以得到目标图片,并将所述目标图片推送至所述客户端展示;
所述数据源服务器包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据。
具体地,所述接口服务器10还用于:
解析所述图片数据,得到关联信息,并根据所述关联信息存放至指定目录;所述关联信息包括所述目标图片的拍摄地址;
对所述目标图片进行统一命名。
可选地,本发明实施例还提供了另一种异步图片获取系统,如图3所示,包括:
数据源服务器100,包括多个存储服务器,且多个存储服务器中存储有不同网络环境的图片数据;
客户端200,用于发送图片获取请求;
接口服务器300,用于接收所述图片获取请求,并将所述图片获取请求加入队列;
中间服务器400,用于读取所述队列中的图片获取请求,以得到请求参数;所述请求参数包括定图片地址及、图片所在的网络环境标记信息及数据唯一标识;
所述中间服务器400还用于根据所述请求参数查询所述数据源服务器,以得到图片数据,并将所述图片数据反馈至所述接口服务器;
所述接口服务器300还用于解析所述图片数据,以得到目标图片,并将所述目标图片推送至所述客户端展示。
需要说明的是,关于本发明系统实施例更为详细的描述,请参考实施例部分,在此不再赘述。
实施本发明实施例的异步图片获取系统,通过中间服务器可以快速获取来自于不同网络环境的图片数据,从而解决了现有技术中获取图片数据不全的技术问题,同时提高了获取不同网络环境下图片的效率;且图片存储于接口服务器,从而减少了因图片存储本地导致的磁盘占用量。
进一步地,为更好地理解本发明实施例,以用户使用客户端浏览器访问图片为例进行描述,如图4所示,主要流程为:
客户端S1向服务器端S2(可理解为前述实施例部分的接口服务器)发送获取数据(图片)的HTTP(HyperText Transfer Protocol,超文本传输协议)请求;
服务器端S2根据数据信息,带上请求参数(指定图片地址、图片所在的网络环境标记信息、数据唯一标识)通过预定的HTTP请求接口(该接口为中间服务器S3服务)请求图片调用接口;
若请求成功则生成获取图片的地址,该地址指向的是服务器端S2的一个取回调地址获取到的图片的HTTP监听服务,若请求失败则直接视为图片获取失败。
上述请求图片的接口接收到请求之后,会将图片请求任务加入队列,以此避免高并发导致查询失败的情况。
然后中间服务器S3读取队列任务,根据数据信息到数据源服务器S4获取对应数据。
查询到数据源服务器S4上的图片数据后,获取该图片并通过队列任务的回调地址向后端服务器S2发送图片信息及关联信息。
服务器端S2接收到上述数据后解析该数据包,并根据关联信息将图片放到指定的目录下,并将图片更名为”数据唯一标识.jpg”。
需要说明的是,客户端S1请求图片内容时,请求的是步骤1的HTTP监听服务接口,参数为数据唯一标识。当客户端S1发起请求时,该服务会循环查询步骤4中存放图片的目录,若在指定的时间内取到图片则以图片的形式向客户端发送图片数据,此时客户端会展示该获取到的图片,若在指定的时间范围内未查询到图片数据,该查询即终止,此时为图片获取失败。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。