一种数据下载方法及装置与流程

文档序号:18823656发布日期:2019-10-09 01:12阅读:192来源:国知局
一种数据下载方法及装置与流程

本说明书一个或多个实施例涉及通讯领域,特别涉及一种数据下载方法及装置。



背景技术:

随着网络技术的飞速发展,网页数据显示已经成为手机等多数移动客户端的主流内容展示方式,图片成为网页数据的重要载体。传统的网络图片加载过程为:首先根据网络地址下载图片资源并缓存到本地,得到可以直接渲染的图片数据内容,然后对已下载缓存的图片文件进行数据解码,最终将解码后的图片内容渲染到视图上展示给用户,用户接收到的返回图片与原始图片大小一致。在很多场景下,用户在手机端查看的图片相较于原始图片的大小较小,如果按照原始图片下载,特别是对于较大的原始图片,会导致流量消耗较大,从而影响用户的体验。因此,有必要提供一种能够优化流量的数据下载方法及装置。



技术实现要素:

本说明书实施例之一提供一种数据下载方法。该方法可以包括获取对数据的请求;基于所述对数据的请求确定所述数据的原始地址;判断所述原始地址是否指向指定设备,如果所述原始地址不指向指定设备,对所述原始地址进行编码,得到源址参数;以及,生成所述数据的代理地址,其中,所述代理地址指向所述指定设备且所述代理地址中包括所述源址参数;基于所述代理地址发送数据请求。

在一些实施例中,对数据的请求还包括数据处理要求;该方法还包括:基于预设规则处理所述数据处理要求,生成处理参数;所述如果所述原始地址不指向指定设备,还包括生成所述数据的代理地址,其中,所述代理地址指向所述指定设备且所述代理地址中包括所述源址参数以及所述处理参数。

在一些实施例中,对数据的请求还包括数据处理要求;该方法还包括:基于预设规则处理所述数据处理要求,生成处理参数;以及,如果所述原始地址指向指定设备:将所述处理参数添加到所述原始地址中生成所述数据的代理地址,或者,利用所述处理参数替换原始地址中的原始处理参数生成所述数据的代理地址。

在一些实施例中,该方法还包括:解析所述数据的原始地址,获得所述数据处理要求。

在一些实施例中,数据包括图片;所述数据处理要求包括图片质量、图片风格、图片尺寸和图片编解码格式中的一种或多种。

在一些实施例中,数据处理要求包括至少两种图片编解码格式,且所述至少两种图片编解码格式具有不同的优先级。

在一些实施例中,预设规则与服务器的解析规则中的至少一部分对应。

在一些实施例中,该方法还可以包括:接收服务器返回的数据;展示服务器返回的数据。

本说明书实施例之一提供一种数据下载装置。该装置可以包括:第一获取模块,用于获取对数据的请求;确定模块,用于基于所述对数据的请求确定所述数据的原始地址;地址处理模块,用于判断所述原始地址是否指向指定设备,如果所述原始地址不指向所述指定设备:对所述原始地址进行编码,得到源址参数;以及,生成所述数据的代理地址,其中,所述代理地址指向指定设备,且所述代理地址中包括所述源址参数;发送模块,用于基于所述代理地址发送数据请求。

在一些实施例中,对数据的请求还包括数据处理要求;地址处理模块还用于:基于预设规则处理所述数据处理要求,生成处理参数;如果所述原始地址不指向指定设备,生成所述数据的代理地址,其中,所述代理地址指向所述指定设备且所述代理地址中还包括所述源址参数以及所述处理参数。

在一些实施例中,对数据的请求还包括数据处理要求;地址处理模块还用于:基于预设规则处理所述数据处理要求,生成处理参数;如果所述原始地址指向指定设备:将所述处理参数添加到所述原始地址中生成所述数据的代理地址,或者,利用所述处理参数替换原始地址中的原始处理参数生成所述数据的代理地址。

在一些实施例中,地址处理模块还用于:解析所述数据的原始地址,获得所述数据处理要求。

在一些实施例中,数据包括图片;数据处理要求包括图片质量、图片风格、图片尺寸和图片编解码格式中的一种或多种。

在一些实施例中,数据处理要求包括至少两种图片编解码格式,且所述至少两种图片编解码格式具有不同的优先级。

在一些实施例中,预设规则与服务器的解析规则中的至少一部分对应。

在一些实施例中,该装置还可以包括第一接收模块和展示模块:第一接收模块,用于接收服务器返回的数据;展示模块,用于展示服务器返回的数据。

本说明书实施例之一提供一种数据下载方法。该方法可以由至少一个处理器执行,该方法可以包括:接收数据请求;所述数据请求中包括代理地址;所述代理地址中包括源址参数,所述源址参数为对所述数据的原始地址进行编码得到;解析所述代理地址,获得所述数据的原始地址;至少基于所述原始地址获取所述数据;返回所述数据。

在一些实施例中,该方法可以包括解析所述代理地址,获得数据处理要求;所述至少基于所述原始地址获取所述数据包括:基于所述原始地址获取所述数据的原始数据;基于所述数据处理要求对所述原始数据进行处理以获取所述数据。

在一些实施例中,原始地址指向其他数据源;所述基于所述原始地址获取所述数据的原始数据包括从所述其他数据源上获取所述原始数据。

在一些实施例中,解析所述代理地址可以包括按统一的解析规则进行解析。

在一些实施例中,数据包括图片;数据处理要求包括图片质量、图片风格、图片尺寸和图片编解码格式中的一种或多种。

在一些实施例中,数据处理要求包括图片编解码格式;所述基于所述数据处理要求对所述原始数据进行处理包括:优先按数据处理要求中的图片编解码格式对所述原始数据进行编码;若按数据处理要求中的图片编解码格式对所述原始数据进行编码失败,则按本地预设的图片编解码格式对所述原始数据进行编码。

在一些实施例中,数据处理要求包括至少两种图片编解码格式,且所述至少两种图片编解码格式具有不同的优先级;所述基于所述数据处理要求对所述原始数据进行处理包括:优先按优先级高的图片编解码格式对所述原始数据进行编码;若按优先级高的图片编解码格式对所述原始数据进行编码失败,则按优先级低的图片编解码格式对所述原始数据进行编码。

在一些实施例中,该方法还可以包括:按预设的图片编解码格式对所述原始数据进行编码。

在一些实施例中,该方法还可以包括存储所述处理后的数据。

本说明书实施例之一提供一种数据下载装置。该装置可以包括:第二接收模块,用于接收数据请求;所述数据请求中包括代理地址;所述代理地址中包括源址参数,所述源址参数为对所述数据的原始地址进行编码得到;解析模块,用于解析所述代理地址,获得所述数据的原始地址;第二获取模块,用于至少基于所述原始地址获取所述数据;返回模块,用于返回所述数据。

在一些实施例中,所述解析模块还用于解析所述代理地址,获得所述数据的数据处理要求;为至少基于所述原始地址获取所述数据,所述第二获取模块还用于:基于所述原始地址获取所述数据的原始数据;基于所述数据处理要求对所述原始数据进行处理以获取所述数据。

在一些实施例中,原始地址指向其他数据源;所述第二获取模块还用于从所述其他数据源上获取所述原始数据。

在一些实施例中,解析模块用于按统一的解析规则对所述代理地址进行解析。

在一些实施例中,数据包括图片;数据处理要求包括图片质量、图片风格、图片尺寸和图片编解码格式中的一种或多种。

在一些实施例中,数据处理要求包括至少两种图片解码格式,且至少两种图片编解码格式具有不同的优先级;所述第二获取模块还用于:优先按优先级高的图片编解码格式对所述原始数据进行编码;若按优先级高的图片编解码格式对所述原始数据进行编码失败,则按优先级低的图片编解码格式对所述原始数据进行编码。

在一些实施例中,第二获取模块还用于按预设的图片编解码格式对所述原始数据进行编码。

在一些实施例中,该装置还可以包括存储模块,用于存储所述数据。

本说明书实施例之一提供一种数据下载方法。该方法可以由至少一个处理器执行,该方法可以包括:接收数据下载请求;数据下载请求中包括代理地址;判断本地是否已存储请求的数据:若是,则直接返回所述数据;若否,则执行:解析所述代理地址,获得所述数据的原始地址;至少基于所述原始地址获取所述数据;返回并存储所述数据。

在一些实施例中,所述代理地址中包括源址参数,所述源址参数为对所述数据的原始地址进行编码得到。

在一些实施例中,通过所述解析所述代理地址,还获得所述数据的数据处理要求;所述至少基于所述原始地址获取所述数据包括:基于所述原始地址获取所述数据的原始数据;基于所述数据处理要求对所述原始数据进行处理以获取所述数据。

本说明书实施例之一提供一种数据下载装置。该装置可以包括第二接收模块、判断模块、解析模块、第二获取模块、返回模块以及存储模块;第二接收模块用于接收数据下载请求;所述数据下载请求中包括代理地址;判断模块用于判断本地是否已存储请求的数据:若是,则通过返回模块直接返回所述数据;若否,则:通过解析模块解析所述代理地址,获得所述数据的原始地址;通过第二获取模块至少基于所述原始地址获取所述数据;通过返回模块返回所述数据;以及,通过所述存储模块在存储所述数据。

在一些实施例中,所述代理地址中包括源址参数,所述源址参数为对所述数据的原始地址进行编码得到。

在一些实施例中,所述通过所述解析模块解析所述代理地址,还获得所述数据的数据处理要求;为至少基于所述原始地址获取所述数据,所述第二获取模块还用于:基于所述原始地址获取所述数据的原始数据;基于所述数据处理要求对所述原始数据进行处理以获取所述数据。

本说明书实施例之一提供一种计算设备,该计算设备可以包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当所述至少一个处理器执行所述指令时,实现如本说明书任一实施例所述的方法。

本说明书实施例之一提供一种计算机可读存储介质,该存储介质存储计算机指令,当计算机读取所述存储介质中的所述计算机指令后,所述计算机执行如本说明书任一实施例所述的方法。

本说明书实施例之一提供一种服务器。该服务器可以包括:内容分发服务器,用于接收包含代理地址的数据下载请求,基于所述代理地址的解析结果获取数据下载请求指定的数据,以及返回所述指定的数据;域名解析服务器,与所述内容分发服务器具有信号连接,用于按照统一的解析规则解析所述代理地址。

在一些实施例中,解析结果可以包括所述数据的原始地址及数据处理要求;所述内容分发服务器还用于基于所述原始地址获取所述数据的原始数据,以及用于基于所述数据处理要求对所述原始数据进行处理,获得所述指定的数据。

附图说明

本说明书的一个或多个实施例将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书的一些实施例所示的数据下载装置的应用场景示意图;

图2是根据本说明书的一些实施例所示的数据下载装置的模块图;

图3是根据本说明书的一些实施例所示的数据下载方法的示例性流程图;

图4是根据本说明书的又一实施例所示的数据下载装置的模块图;

图5是根据本说明书的又一实施例所示的数据下载方法的示例性流程图;

图6是根据本说明书的又一实施例所示的数据下载装置的模块图;以及

图7是根据本说明书的又一实施例所示的数据下载方法的示例性流程图。

具体实施方式

为了更清楚地说明说明书一个或多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书一个或多个实施例应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书一个或多个实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。术语“本地”可以理解为本说明书一个或多个实施例所示的方法步骤的执行设备或者与该执行设备有数据交互的其他设备,或者可以理解为实现本说明书一个或多个实施例所述方法的计算机程序的存储设备或者与该存储设备有数据交互的其他设备。

本说明书一个或多个实施例中使用了流程图来说明根据本说明书一个或多个实施例的装置所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

本说明书一个或多个实施例可以应用于不同的数据下载装置,例如,移动端的浏览器、移动端的应用程序等。本说明书一个或多个实施例描述的数据下载请求、图片下载请求等是可以互换的,是指需要或者请求下载服务的内容。

图1是根据本说明书的一些实施例所示的数据下载系统100的应用场景示意图。数据下载系统100可以是用于各类基于互联网的服务平台。例如,网络购物、理财服务、保险服务、借贷服务、资金往来服务等。在一些实施例中,数据下载系统100可以实现数据传输或下载服务。例如,音频数据下载、图片下载、视频下载等等。数据下载系统100可以适应不同的数据压缩格式,以兼容不同设备之间(例如,服务器与客户端之间)的不同数据格式;还通过对数据进行编码压缩减小网络数据资源的大小,以节省流量。如图1所示,数据下载系统100可以包括服务器110、存储设备120、一个或一个以上终端130和网络140。

在一些实施例中,服务器110可以处理从终端130、存储设备120获得的数据和/或信息。例如,服务器110可以通过网络140访问存储在存储设备120、终端130中的信息和/或数据。再例如,服务器110可以直接与终端130、存储设备120连接以访问存储于其中的信息和/或资料。具体的,服务器110可以接收来自终端130的数据请求,根据数据请求获取相应的数据,并返回给终端130。在一些实施例中,服务器110可以从本地、其他服务器或者存储设备120上获取相应的数据,以返给终端130。

在一些实施例中,服务器110可以是本地的或远程的。在一些实施例中,服务器110可以是独立的服务器或者服务器群组。当服务器110为服务器群组时,服务器110可以包括一个以上的服务器,这些服务器可以互为备份或者分管不同的职能协同工作。例如,如图1所示,服务器110可以包括内容分发服务器110-1和域名解析服务器110-2等。在一些实施例中,内容分发服务器110-1可处理与服务请求有关的数据和/或信息以执行一个或多个本说明书中描述的功能。例如,内容分发服务器110-1可以接收包含代理url的数据下载请求,并基于代理url的解析结果获取数据下载请求中指定的数据,以及返回指定的数据。又例如,内容分发服务器110-1可以存储处理后的数据。又例如,内容分发服务器110-1还可以判断本地是否已存储请求的数据,若是,则直接返回所述数据。域名解析服务器110-2可以处理与服务请求有关的数据和/或信息以执行一个或多个本说明书中描述的功能。例如,域名解析服务器110-2可以与所述内容分发服务器具有信号连接,用于按照统一的解析规则解析代理url,获得所述数据的原始url及数据处理要求。又例如,域名解析服务器110-2可以基于原始url获取所述数据的原始数据。在一些实施例中,所述服务器群可以是集中式的或分布式的(例如,服务器110可以是分布系统)。

在一些实施例中,服务器110可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等,或其任意组合。

在一些实施例中,服务器110可以包含一个或多个子处理设备(如:单核处理器或多核处理器)。仅仅作为范例,服务器110可包含中央处理器(cpu)、专用集成电路(asic)、专用指令处理器(asip)、图形处理器(gpu)、物理处理器(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编辑逻辑电路(pld)、控制器、微控制器单元、精简指令集电脑(risc)、微处理器等或以上任意组合。

存储设备120可以存储数据和/或指令。在一些实施例中,存储设备120可以存储终端130所请求的数据/信息(如,图片)。存储设备120还可以存储处理后的数据,例如,处理后的图片、处理后的视频等。在一些实施例中,存储设备120可以存储服务器110用于执行或使用来完成本申请中描述的示例性方法的数据和/或指令。例如,存储设备120可以存储解析代理url的规则。在一些实施例中,存储设备120可以是服务器110或者终端130的一部分。在一些实施例中,存储设备120可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(rom)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的挥发性只读存储器可以包括随机存取内存(ram)。示例性的ram可包括动态ram(dram)、双倍速率同步动态ram(ddrsdram)、静态ram(sram)、闸流体ram(t-ram)和零电容ram(z-ram)等。示例性的rom可以包括掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电子可擦除可编程rom(eeprom)、光盘rom(cd-rom)和数字通用磁盘rom等。在一些实施例中,存储设备120可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。例如,本申请中一些数据下载的算法或者数据可以存储在某个云平台上,定期更新,服务器110通过网络访问这些算法或者数据,以实现整个平台的算法或者数据的统一与交互。特别的,一些历史数据可以统一存储在平台的一个云平台上,以便多个服务器110或者终端130访问或者更新,以便保证数据的实时性和跨平台使用。

在一些实施例中,存储设备120可以连接到网络140以与数据下载系统100中的一个或以上组件(例如,服务器110、终端130)通信。数据下载系统100中的一个或以上组件可以通过网络140访问存储设备120中存储的数据或指令。在一些实施例中,存储设备120可以与数据下载系统100中的一个或以上组件(例如,服务器110、终端130)直接连接或通信。在一些实施例中,存储设备120可以是服务器110的一部分。

在一些实施例中,终端130可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,终端130可以接收用户的一个或多个输入,以获取用户对数据的请求。在一些实施例中,终端130可以对数据请求进行处理,生成代理url,并通过代理url向一个或多个服务器发送数据请求。在一些实施例中,终端130可以用于获取各类数据,包括但不限于服务器基于所述数据请求返回的数据。例如,终端130所获取的数据可以包括即时通讯数据、文本、图片、视频、声音等。

在一些实施例中,终端130可以包括但不限于移动设备130-1、平板电脑130-2、笔记本电脑130-3、台式电脑130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括但不限于智能家居设备、可穿戴设备、智能移动设备、增强现实设备等或其任意组合在一些实施例中,可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣物、智能背包、智能配饰等或其任意组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(pda)、游戏设备、导航设备、pos机等或其任意组合。在一些实施例中,终端130还可以接收和/或显示由服务器110返回或处理的数据。在一些实施例中,可以有多个终端相互连接,共同接收和/或显示各类数据,并由一个或者多个终端对这些数据进行预处理。

网络140可以促进信息和/或数据的交换。在一些实施例中,数据下载系统100中的一个或以上组件(例如,服务器110、存储设备120和终端130)可以通过网络140向/从数据下载系统100中的其他组件发送和/或接收信息和/或数据。例如,服务器110可以通过网络140从终端130获取数据请求相关的数据/信息。又例如,终端130可以通过网络140从服务器110或存储设备120处获取数据。又例如,服务器110可以通过网络从存储设备120或其他服务器上获取数据。在一些实施例中,网络140可以为任意形式的有线或无线网络或其任意组合。仅作为示例,网络140可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、城域网(man)、广域网(wan)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络、近场通讯(nfc)网络、全球移动通讯系统(gsm)网络、码分多址(cdma)网络、时分多址(tdma)网络、通用分组无线服务(gprs)网络、增强数据速率gsm演进(edge)网络、宽带码分多址接入(wcdma)网络、高速下行分组接入(hsdpa)网络、长期演进(lte)网络、用户数据报协议(udp)网络、传输控制协议/互联网协议(tcp/ip)网络、短信息服务(sms)网络、无线应用协议(wap)网络、超宽带(uwb)网络、移动通信(1g、2g、3g、4g、5g)网络、wi-fi、li-fi、窄带物联网(nb-iot)等或其任意组合。在一些实施例中,数据下载系统100可以包括一个或以上网络接入点。例如,数据下载系统100可以包括有线或无线网络接入点,例如基站和/或无线接入点140-1、140-2、...,数据下载系统100的一个或以上组件可以通过其连接到网络140以交换数据和/或信息。

图2是根据本说明书的一些实施例所示的数据下载装置200的模块图。如图2所示,该数据下载装置200可以包括第一获取模块202、确定模块204、地址处理模块206和发送模块208。

第一获取模块202可以用于获取对数据的请求。

关于获取对数据的请求的更多描述可以在本申请的其他地方(如步骤302及其相关描述中)找到,在此不作赘述。

确定模块204可以用于基于所述对数据的请求确定所述数据的原始url。

在一些实施例中,数据的原始url可以为数据的原始存放地址。关于确定所述数据的原始url的更多描述可以在本申请的其他地方(如步骤304及其相关描述中)找到,在此不作赘述。

地址处理模块206可以用于判断所述原始url中的域名是否包括指定域名。

在一些实施例中,响应于原始url中的域名不包括指定域名,url处理模块206可以对所述原始url进行编码,得到源址参数;还可以生成所述数据的代理url,其中,代理url中包括指定域名以及所述源址参数。在一些实施例中,对数据的请求还包括数据处理要求。在一些实施例中,url处理模块206可以基于预设规则处理所述数据处理要求,生成处理参数。在一些实施例中,响应于所述原始url中的域名不包括指定域名,url处理模块206还可以生成的所述数据的代理url,其中,代理url中包括所述指定域名、所述源址参数以及所述处理参数。在一些实施例中,响应于所述原始url中的域名包括指定域名,url处理模块206还可以将处理参数添加到原始url中生成所述数据的代理url;或者,利用处理参数替换原始url中的原始处理参数生成所述数据的代理url。关于原始url中的域名是否包括指定域名的更多描述可以在本申请的其他地方(如步骤306及其相关描述中)找到,在此不作赘述。

发送模块208可以用于根据所述代理url发送数据下载请求。

关于根据代理url发送数据下载请求的更多描述可以在本申请的其他地方(如步骤308及其相关描述中)找到,在此不作赘述。

在一些实施例中,数据下载装置200还可以包括第一接收模块210,第一接收模块210可以用于接收服务器返回的数据。

关于接收服务器返回的数据的更多描述可以在本申请的其他地方(如步骤310及其相关描述中)找到,在此不作赘述。

在一些实施例中,数据下载装置200还可以包括展示模块212,展示模块212可以用于展示服务器返回的数据。

关于展示服务器返回的数据的更多描述可以在本申请的其他地方(如步骤312及其相关描述中)找到,在此不作赘述。

应当理解,图2所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书一个或多个实施例的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于数据下载装置及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接。例如,第一接收模块210和展示模块212可以为同一个模块,第一接收模块210可以用于接收服务器返回的数据并展示上述数据。诸如此类的变形,均在本说明书的保护范围之内。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图3是根据本说明书的一些实施例所示的数据下载方法300的示例性流程图。在一些实施例中,流程300可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图3所示的用于数据下载方法300中的一个或多个操作可以通过图1所示的数据下载系统100实现。例如,流程300可以以指令的形式存储在存储设备120中,并由终端130执行调用和/或执行。在一些实施例中,图3所示的一个或多个操作也可以通过网络上其他服务器(图1中未示出)实现。

步骤302,获取对数据的请求。具体的,该步骤302可以由第一获取模块202执行。

在一些实施例中,数据可以包括声音、图片、文字或符号。在一些实施例中,可以获取用户的一个或多个输入操作,这些操作可以反映用户对数据的请求以及请求所包含的内容。对数据的请求可以包括请求数据的访问目录、文件名、存储地址、和/或数据处理要求等。在一些实施例中,用户可以通过终端130上的应用程序发起对数据的请求(例如,查看或下载数据)。在一些实施例中,该应用程序可以呈现一些图片的预览图标,用户通过点击相应图片的预览图标触发对该图片的请求,或者用户点击一段视频或一段音频的播放控件,触发对该数据的请求,又或者用户点击音乐、图片或视频的链接地址以触发对数据的请求,再或者用户直接点击数据的下载控件以触发对数据的请求。在一些实施例中,用户也可以直接输入对数据的请求以及其包含的内容。

在一些实施例中,可以对用户的一个或多个输入操作进行处理,以确定对数据的请求及其包括的内容。

在一些实施例中,对数据的请求可以包括数据的存放地址。数据的存放地址旨在指向存放有被请求数据的设备,其可以是该设备的网络地址、逻辑地址、总线地址等等。该设备可以是远程的,也可以是本地的。具体的,所述设备可以是一台服务器,也可以是用户终端,也可以是某一存储设备。所述存放地址可以以域名标识,可以以ip地址表示,也可以是一段明确的数据地址,如url。本申请主要以将数据的存放地址表示为url为例进行阐述,但不应将url作为本申请中数据存放地址的限制。

在一些实施例中,对数据的请求还可以包括数据处理要求。在一些实施例中,数据可以包括图片,数据处理要求可以包括图片质量、图片风格、图片尺寸和图片编解码格式中的一种或多种。在一些实施例中,图片质量可以包括图片的分辨率、信噪比、对比度、灰度值等参数要求。在一些实施例中,图片风格可以包括图片的滤镜效果、方向或角度等参数要求。在一些实施例中,图片尺寸可以包括指定的图片宽度或图片高度。例如,宽(w)100px,高(h)100px。在一些实施例中,图片编解码格式可以包括heif、webp、jpg、jpeg、tiff、png、dng、bmp、gif、psd、dxf或raw等。在一些实施例中,数据处理要求可以包括两种或以上图片编解码格式。需要说明的是,在一些实施例中,图片编解码格式可以同时指示编码规则及解码规则。在一些实施例中,图片的编解码格式还可以仅指示编码规则或解码规则。在一些实施例中,对于不同的执行主体,编解码格式的含义可以不同,例如对于实现数据压缩编码的一端,如服务器端,其可以从编解码格式中确定图片的压缩编码规则,又例如对于实现数据解码的一端,如终端,其可以从图片编解码格式中确定图片的解码规则。在一些实施例中,两种或以上图片编解码格式可以具有不同的优先级。在一些实施例中,终端130可以支持多种图片编解码格式,例如,终端可以支持多种图片编码格式的解码。终端可以将其支持的多种图片编解码格式包括在数据处理要求中,以便服务器110选择终端130支持的编解码格式对图片进行编码或压缩。在一些实施例中,终端可以在数据处理要求中注明不同编解码格式的优先级,以便服务器110(如,内容分发服务器110-1)可以按编解码格式的优先级对图片进行编码。例如,终端130发送的数据处理要求中包括heif、webp、jpg三种图片编解码格式,并指定heif、webp、jpg的图片编解码格式的优先级可以为heif最高、webp次之、jpg最低;服务器110(如,内容分发服务器110-1)根据终端130的数据处理要求在对图片编解码时,首先按heif格式对图片进行编码,若编码失败,则使用webp格式再次对图片进行编码;若编码失败,则继续使用jpg格式对图片进行编码,若编码成功则编码操作完成。在一些实施例中,若服务器110无法按终端130要求的所有编解码格式对图片进行编码,服务器110可以向终端130返回未经编码或压缩处理的图片。在一些实施例中,编解码的方式可以包括base64编码、base32编码、xxencode编码、uuencode编码等。以上对数据处理要求的描述仅作为示例,本发明对数据处理要求的具体内容和形式不做任何限制。

步骤304,基于对数据的请求确定数据的原始url。具体的,该步骤304可以由确定模块204执行。

所述原始url可以理解为基于对数据的请求直接确定的数据的url。在本申请中,将其称为原始url在一定程度上是为了与后续的代理url进行区别。当原始url满足设定的要求时,其可以直接作为代理url;当原始url不满足设定的要求时,例如其包括的域名不是指定域名时,又例如其包括的处理参数未按照预设规则编码时,则需要对原始url中的一个或多个参数进行变更,以获得其对应的代理url。

在一些实施例中,对数据的请求中可以包括数据的存放地址。所述存放地址可以以域名标识,也可以以ip地址标识,也可以是一段明确的数据地址,如url。在一些实施例中,url可以包括协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、锚部分和参数部分。其中,协议部分、域名部分是必要的,其余部分可以缺省。下面以一个具体的url为例,对url的组成部分进行阐述:

http://www.domain.com:8080/news/object?boardid=5&id=24618&page=1#name。

其中,协议部分可以包括网页使用的http协议。例如,“http:”。域名部分可以为“www.aspxfans.com”。在一些替代性实施例中,域名部分也可以使用ip地址。端口部分可以为域名后面的内容,域名和端口之间使用“:”作为分隔符。例如,端口部分为“8080。端口部分可以省略。如果省略端口部分,将采用默认端口。虚拟目录部分可以为从域名后的第一个“/”到最后一个“/”为止的内容。例如,虚拟目录为“/news/”。文件名部分可以为从域名后的最后一个“/”开始到“?”为止的内容。例如,文件名为“index.asp”。如果省略文件名部分,则使用默认的文件名。锚部分可以为从“#”开始到url结尾的内容。例如,锚部分为“name”。参数部分可以为从“?”开始到“#”为止之间部分的内容,参数部分又称搜索部分、查询部分。例如,参数部分为“boardid=5&id=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

当存放地址以域名或ip地址标识时,可以基于该域名或ip地址确定原始url,此时原始url可以仅包括协议部分及域名部分。例如,被请求数据的存放地址以域名标识为www.userdomain.com,则可确定原始url为http://www.userdomain.com。在一些实施例中,对数据的请求还可以包括文件名、数据处理要求等信息,则可以连同存放地址、文件名、数据处理要求按照url组成规则将这些参数拼接得到原始url。仅作为示例,当前对数据的请求包括的数据存放地址为www.integrate.com,文件名为object1,数据处理要求是需要一张宽50,高80的gif图,则可根据上述信息生成原始url:http://www.integrate.com/object1#50w_80h.gif。

当数据请求中以url表示数据的存放地址时,可以将该url直接确定为所述原始url。在一些实施例中,所述url中还一并携带有文件名和/或数据处理要求。例如,http://www.userdomain.com/object2#100*100&90q&jpg。其中,object2为文件名,100*100&90q&jpg代表需要一张宽(w)100px(pixel,像素)、高(h)100px、绝对质量(q)90%、jpg格式的图片。

步骤306,可以通过判断原始url中的域名是否包括指定域名来确定原始url是否指向指定设备,响应于所述原始url中的域名不包括指定域名:对所述原始url进行编码,得到源址参数;以及,生成所述数据的代理url,其中,所述代理url中包括所述指定域名以及所述源址参数。具体的,该步骤306可以由url处理模块206执行。

在一些实施例中,域名可以为由一串用点分隔的名字组成的internet上某一台计算机或计算机组的名称,或者为一个ip地址,用于在数据传输时标识计算机的电子方位。在一些实施例中,可以预选确定一个指向特定服务器或服务器群组的指定域名。仅作为示例,所述指定域名为www.integrate.com。

原始url中可能包括指向指定设备的所述指定域名,也可能是指向其他设备的域名。在一些实施例中,可以判断原始url中的域名是否为指定域名。响应于原始url中的域名不是指定域名,则需要对原始url进行处理以获得指向所述特定服务器的代理url。例如,原始url:

http://www.userdomain.com/object2#100w_100h_90q.jpg中,域名

www.userdomain.com不为指定域名。又例如,原始url:

http://www.integrate.com/object1#50w_80h.gif中,域名www.integrate.com为指定域名。

在一些实施例中,若原始url中的域名不包括指定域名,可以对原始url进行编码,得到源址参数。例如,原始url可以为:

http://www.userdomain.com/object2#100w_100h_90q.jpg,经编码后得到源址参数:ahr0chm6ly9ndy5hbglw。对原始url进行编码的规则可以预先制定,例如,该编码规则可以与所述特定服务器上的域名解析规则的一部分对应。所述对应可以理解为相同或者为编解码关系。在一些实施例中,原始url还可以被加密。在一些实施例中,原始url还可以带有校验码。在一些实施例中,原始url还可以有不同的版本。例如,原始url带有版本号。在一些实施例中,原始url还可以被压缩。在一些实施例中,若原始url中的域名不包括指定域名,还可以生成代理url,代理url中可以包括指定域名以及源址参数。例如,代理url可以为:

https://www.integrate.com/ahr0chm6ly9ndy5hbglw。在一些实施例中,代理url中还可以包括文件名、处理参数和/或url中的其他组成部分。

在一些实施例中,还可以对对数据的请求中的数据处理要求按照预设规则进行处理,以得到处理参数,并将所述处理参数写入所述代理url中。以图片为例,所述预设规则可以包括图片质量、图片风格、图片尺寸和图片编解码格式的排列方式或顺序。所述预设规则可以是预先制定的。例如,可以与所述特定服务器上的url解析规则的至少一部分对应。按照预设规则对数据处理要求进行处理,可以确保指定设备能够解析并识别所述数据处理要求,以便其按照要求对数据进行处理。在一些实施例中,可以直接获取对数据的请求中的数据处理要求,或者通过解析所述原始url,获得所述数据处理要求。仅作为示例,若数据处理要求为宽(w)100px、高(h)100px、绝对质量(q)90%、jpg格式的图片,经预设规则处理上述数据处理要求后,生成格式为“@100w_100h_90q.jpg”的处理参数。

在一些替代性实施例中,若原始url中的域名包括指定域名,则可以直接将原始url作为代理url,或者可以按照前述类似的方式处理对数据的请求中的数据处理要求得到处理参数,并将所述处理参数添加到原始url中生成所述数据的代理url。在一些实施例中,若原始url中的域名包括指定域名,且原始url中包括原始处理参数,可以利用所述处理参数替换原始url中的原始处理参数生成所述数据的代理url。例如,原始url为http://www.integrate.com/object#100*100&90q&jpg,其中原始处理参数为100*100&90q&jpg,解析100*100&90q&jpg得到数据处理要求为需要一张宽100px、高100px,绝对质量为90的jpg格式的图片,按照预设规则处理所述数据处理要求得到处理参数为100w_100h_90q.jpg,生成的代理url可以为http://www.integrate.com/object#100w_100h_90q.jpg。

通过对原始url处理,将原始url转换为指向同一的设备和/或采用统一规则编码的代理url,可以实现对数据资源的域名收敛。

步骤308,根据代理url发送数据下载请求。具体的,该步骤308可以由发送模块208执行。

在一些实施例中,数据下载请求中可以携带代理url,代理url中可以包括终端130中应用程序对数据的需求。在一些实施例中,发送模块208可以根据代理url向服务器130发送数据下载请求。

通过发送携带有指定域名、预设规则的处理参数和源址参数的代理url请求下载数据,将数据下载请求定向到特定服务器,该服务器可以按照统一规则进行域名解析以及下载数据处理,可以实现对数据资源的域名收敛,一定程度上减少了整体数据传输的耗时。

在一些实施例中,还可以包括步骤310,接收指定设备返回的数据。具体的,该步骤310可以由第一接收模块210执行。

在一些实施例中,指定设备返回的数据可以包括经过处理的数据(如,图片)。服务器可以按照数据处理要求对数据进行处理,例如对图片进行剪裁或编码或压缩或降低图像质量,从而降低了数据量,因此终端接收返回数据所需流量也会减少,从而可以节省流量。另外,对数据的处理在指定设备上完成,用户终端可以直接获取需要的数据,无需进行再处理,节省了用户终端的运算资源。

在一些实施例中,第一接收模块210可以先解析数据(如,图片)的头部,得到数据的图片编解码格式。在一些实施例中,第一接收模块210可以按照图片编解码格式对图片进行解码渲染,得到终端130所需要的图片。

在一些实施例中,还可以包括步骤312,展示指定设备返回的数据。具体的,该步骤312可以由展示模块212执行。

在一些实施例中,展示模块212可以基于终端130中应用程序对数据的需求,对服务器返回的数据进行展示。具体的,服务器返回的数据可以通过终端130的显示界面进行展示。

应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤310以及312可以略去。又例如,还可以包括步骤314,若所述原始url中的域名包括指定域名,url处理模块206可以将处理参数添加到原始url中生成所述数据的代理url,或者,利用处理参数替换原始url中的原始处理参数生成所述数据的代理url。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图4是根据本说明书的又一实施例所示的数据下载装置400的模块图。如图4所示,该数据下载装置400可以包括第二接收模块402、解析模块404、第二获取模块406、返回模块408及存储模块410。在一些实施例中,第二接收模块402、解析模块404、第二获取模块406、返回模块408和存储模块410可以包含在图1所示的服务器110中。

第二接收模块402可以用于接收数据下载请求,所述数据下载请求中包括代理url。

关于接收数据下载请求的更多描述可以在本申请的其他地方(如步骤502及其相关描述中)找到,在此不作赘述。

解析模块404可以用于解析代理url,获得所述数据的原始url。

在一些实施例中,解析模块404还可以用于解析代理url,获得所述数据的数据处理要求。在一些实施例中,解析代理url可以包括按统一的解析规则进行解析。关于解析所述代理url的更多描述可以在本申请的其他地方(如步骤504及其相关描述中)找到,在此不作赘述。

第二获取模块406可以用于至少基于原始url获取所述数据。

在一些实施例中,数据可以包括声音、图片、文字或符号。关于基于原始url获取所述数据的更多描述可以在本申请的其他地方(如步骤506及其相关描述中)找到,在此不作赘述。

在一些实施例中,第二获取模块406还可以基于所述原始url获取所述数据的原始数据;基于数据处理要求对原始数据进行处理以获取所述数据。具体的,第二获取模块406可以优先按优先级高的图片编解码格式对原始数据进行编码。关于对所述原始数据进行处理的更多描述可以在本申请的其他地方(如步骤506及其相关描述中)找到,在此不作赘述。

返回模块408可以用于返回所述数据。

在一些实施例中,所述数据可以包括按照数据处理要求进行处理后的数据。关于返回所述数据的更多描述可以在本申请的其他地方(如步骤508及其相关描述中)找到,在此不作赘述。

存储模块410可以用于存储处理后的数据。

关于在本地存储处理后的数据的更多描述可以在本申请的其他地方(如步骤510及其相关描述中)找到,在此不作赘述。

应当理解,图4所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于数据下载装置及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接。例如,返回模块408和存储模块410可以为同一个模块,返回模块408用于返回所述数据,并存储所述数据。又例如,数据下载装置中的各个模块可以位于同一服务器上,也可以分属不同的服务器。仅作为示例,解析模块404可以位于域名解析服务器上,第二接收模块402、第二获取模块406、返回模块408和存储模块410可以位于内容分发服务器上。诸如此类的变形,均在本说明书的保护范围之内。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在一些实施例中,服务器可以接收来自终端的代理url。按照预先设定的统一的解析规则对代理url进行解析得到所述对数据的请求中的数据存放地址以及数据处理要求。所述解析规则用于约定url中各个组成部分的顺序、间隔符以及含义。示例性的解析规则,可以参考步骤304中关于url组成的相关说明。在一些实施例中,所述解析规则还可以包括源址参数的解码规则以及处理参数的解码规则。源址参数的解码规则以及处理参数的解码规则可以根据实际需要事先约定。通过对代理url的解析,可以确定代理url中是否包括源址参数,以及确定源址参数对应的原始url是什么。对于代理url中不包含源址参数时,可以认为数据的原始url指向服务器本身,即数据的存放地址即为服务器本地或与所述服务器具有网络通信的存储设备上,服务器可以在本地或者相应的存储设备上获取被请求的数据,并对所述数据按照数据处理要求进行处理后返回。

图5是根据本说明书的又一些实施例所示的数据下载的方法500的示例性流程图。在一些实施例中,流程500可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图5所示的用于数据下载流程500中的一个或多个操作可以通过图1所示的数据下载系统100实现。例如,流程500可以以指令的形式存储在存储设备120中,并由服务器110执行调用和/或执行。

步骤502,接收数据下载请求;所述数据下载请求中包括代理url。在一些实施例中,步骤502可以在内容分发服务器110-1上执行。具体的,该步骤502可以由第二接收模块402执行。

在一些实施例中,代理url中可以包括源址参数,源址参数可以为对所述数据的原始url进行编码得到。关于数据下载请求的更多描述可以在本申请的其他地方(如流程图3及其相关描述中)找到,在此不作赘述。第二接收模块402可以接收数据下载请求。

步骤504,解析代理url,可以至少获得所述数据的原始url。在一些实施例中,步骤504可以在域名解析服务器110-2上执行。具体的,该步骤504可以由解析模块404执行。内容分发服务器110-1可以将代理url通过网络发送给域名解析服务器。

在一些实施例中,原始url可以指向其他设备,例如原始url包括指向其他数据源的域名。在一些实施例中,指向其他数据源的域名可以理解为除指定域名以外的其他域名,例如,www.userdomain.com。在一些实施例中,其他数据源可以包括其他网络中的其他服务器或其他存储设备等。关于原始url和数据处理要求的更多描述可以在本申请的其他地方(如流程图3及其相关描述中)找到,在此不作赘述。

在一些实施例中,解析代理url,还可以获得数据处理要求。在一些实施例中,所述数据可以包括图片。在一些实施例中,所述数据处理要求可以包括图片质量、图片风格、图片尺寸、图片编解码格式中的一种或多种。

在一些实施例中,数据处理要求可以包括至少两种图片编解码格式。在一些实施例中,至少两种图片编解码格式可以具有不同的优先级。关于数据处理要求和图片编解码格式的更多描述可以在本申请的其他地方(如流程图3及其相关描述中)找到,在此不作赘述。

通过按照统一的解析规则解析代理url,可以便于服务器下载和处理数据;另外,数据处理要求可以包括两种或以上图片编解码格式,因此可以兼容多种数据格式要求,改善数据加载的用户体验。在一些实施例中,域名解析服务器110-2可以将解析后得到的数据发送给内容分发服务器110-1。

在步骤506中,至少基于原始url获取所述数据。在一些实施例中,步骤506可以由内容分发服务器110-1实现。具体的,该步骤506可以由第二获取模块406执行。

在一些实施例中,可以基于原始url到其他数据源获取原始数据。原始数据可以包括存储在原始url对应的原始域名下的数据,可以包括没有按照数据处理请求处理过的原始声音、原始图片、原始文字或原始符号,例如,原始数据可以是没有经过压缩编码或者剪裁过的数据。在一些实施例中,第二获取模块406可以基于原始url获取所述数据的原始数据。

通过原始url可以获取原始数据,可以下载到符合终端需求的数据。

在一些实施例中,还可以基于数据处理要求对原始数据进行处理。

在一些实施例中,第二获取模块406可以基于数据处理要求对原始数据进行处理。所述对原始数据进行处理可以包括任何数据操作,例如可以包括对数据的剪裁、压缩。以图片为例,所述处理可以包括对图片按照预设尺寸进行剪裁,对图像进行色彩变换、亮度调节、对比度变换等等。以音频数据为例,可以对音频数据进行选取、截断、音色变换等等。本申请对此不做任何处理。所述数据处理要求中还可以包括对数据的编码要求。在一些实施例中,数据处理要求中可以包括一个或更多的编解码格式,不同的编解码格式具有不同的优先级。具体的,第二获取模块406可以优先优先级高的编解码格式对原始数据进行编码;若优先级高的编解码格式对原始数据进行编码失败,则按按优先级低的编解码格式对原始数据进行编码。在一些实施例中,若按数据处理要求中的编解码格式编码失败,第二获取模块406还可以按本地预设的编解码格式对所述原始数据进行编码。在一些实施例中,本地预设的编解码格式可以包括除数据处理要求外的任意编解码格式。在一些实施例中,对原始数据进行编码失败的原因可以包括网络环境原因或编码格式不兼容等。在一些实施例中,所述数据处理要求中还可以不包括对数据的编码要求,此时可以直接安照本地预设的编解码格式对原始数据进行编码。关于编解码的更多描述可以在本申请的其他地方(如步骤302及其相关描述中)找到,在此不作赘述。对数据进行编码,在一定程度上可以减小数据的大小,起到流量优化的作用。而通过具有优先级的编解码格式,可以兼容终端与服务器的数据格式,改善数据加载的用户体验。

步骤508,返回所述数据。在一些实施例中,步骤508可以由内容分发服务器110-1实现。具体的,该步骤508可以由返回模块408执行。

在一些实施例中,所述数据可以包括按照数据处理要求进行处理后的数据。在一些实施例中,返回模块408可以返回所述数据。

通过经处理后的数据返回给终端130,处理后的数据量减少,终端下载时可以达到省流量的效果。

在一些实施例中,还可以包括步骤510,存储所述数据。具体的,该步骤510可以由存储模块410执行。

在一些实施例中,存储模块410可以将处理后的数据存储在本地。具体的,存储模块410可以将处理后的数据存储在储存设备120中,并将代理url中的至少一部分,例如源址参数和/或处理参数,又例如代理url,作为该处理后的数据的索引。在一些实施例中,还可以将所述数据的数据处理要求、文件名、存放地址中的一种或多种组合作为其索引。当后续再有相同的数据请求时,可以直接获取并返回处理后的数据,从而降低运算资源的消耗。

应当注意的是,上述有关流程500的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,可以没有步骤510,直接由步骤508中的返回模块408对处理后的数据进行存储。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图6是根据本说明书的又一实施例所示的数据下载装置600的模块图。如图6所示,该数据下载装置600可以包括第二接收模块602、判断模块604、解析模块606、第二获取模块608、返回模块610及存储模块612。在一些实施例中,第二接收模块602、判断模块604、解析模块606、第二获取模块608、返回模块610及存储模块612可以包含在图1所示的服务器110中。

第二接收模块602可以用于接收数据下载请求,所述数据下载请求中包括代理url。

关于接收数据下载请求的更多描述可以在本申请的其他地方(如步骤702及其相关描述中)找到,在此不作赘述。

判断模块604可以用于判断本地是否已存储请求的数据。

在一些实施例中,若本地已存储请求的数据,则可以通过返回模块610直接返回所述数据。通过直接返回本地已存储的请求数据,可以达到省运算资源的效果。

在一些实施例中,若本地未存储请求的数据,可以由解析模块606、第二获取模块608、返回模块610及存储模块612执行以下操作。

在一些实施例中,解析模块606可以解析代理url,获得所述数据的原始url。在一些实施例中,解析模块606还可以解析代理url,获得所述数据的数据处理要求。在一些实施例中,解析代理url可以包括按统一的解析规则进行解析。关于解析所述代理url的更多描述可以在本申请的其他地方(如步骤708及其相关描述中)找到,在此不作赘述。

在一些实施例中,第二获取模块608可以至少基于原始url获取所述数据。在一些实施例中,数据可以包括声音、图片、文字或符号。关于基于原始url获取所述数据的更多描述可以在本申请的其他地方(如步骤710及其相关描述中)找到,在此不作赘述。

在一些实施例中,第二获取模块608可以基于所述原始url获取所述数据的原始数据;基于所述数据处理要求对原始数据进行处理以获取所述数据。具体的,第二获取模块608可以优先按优先级高的图片编解码格式对原始数据进行编码。关于对所述原始数据进行处理的更多描述可以在本申请的其他地方(如步骤710及其相关描述中)找到,在此不作赘述。

在一些实施例中,返回模块610可以返回所述数据。在一些实施例中,存储模块612可以用于存储所述数据。在一些实施例中,所述数据可以包括按照数据处理要求进行处理后的数据。关于返回所述数据和存储所述数据的更多描述可以在本申请的其他地方(如步骤712及其相关描述中)找到,在此不作赘述。应当理解,图6所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于数据下载装置及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接。例如,数据下载装置600中的第二接收模块602、解析模块606、第二获取模块608、返回模块610及存储模块612分别与数据下载装置400中的第二接收模块402、解析模块404、第二获取模块406、返回模块408及存储模块410可以为功能相同的模块或者可以直接为同一个模块。又例如,数据下载装置600中的各个模块可以位于同一服务器上,也可以分属不同的服务器。仅作为示例,解析模块606可以位于域名解析服务器上,第二接收模块602、判断模块604、第二获取模块608、返回模块610及存储模块612可以位于内容分发服务器上。诸如此类的变形,均在本说明书的保护范围之内。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图7是根据本说明书的又一些实施例所示的数据下载的方法700的示例性流程图。在一些实施例中,流程700可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图7所示的用于数据下载流程700中的一个或多个操作可以通过图1所示的数据下载系统100实现。例如,流程700可以以指令的形式存储在存储设备120中,并由服务器110执行调用和/或执行。

步骤702,接收数据下载请求;所述数据下载请求中包括代理url。在一些实施例中,步骤702可以在内容分发服务器110-1上执行。具体的,该步骤702可以由第二接收模块602执行。

在一些实施例中,代理url中可以包括源址参数,源址参数可以为对所述数据的原始url进行编码得到。在一些实施例中,第二接收模块602可以接收终端130发送的数据下载请求。关于数据下载请求和代理url的更多描述可以在本申请的其他地方(如流程图5及其相关描述中)找到,在此不作赘述。

步骤704,判断本地是否已存储请求的数据。在一些实施例中,步骤704可以在内容分发服务器110-1上执行。具体的,该步骤704可以由判断模块604执行。在一些实施例中,数据可以包括声音、图片、文字或符号。在一些实施例中,本地已存储请求的数据可以包括储存设备120中已存储请求的数据。在一些实施例中,判断模块604可以判断本地是否已存储请求的数据。例如,判断模块604可以以代理url为查询条件,判断存储设备120中是否已存储请求的数据。

在一些实施例中,若本地已存储请求的数据,则执行步骤706直接返回所述数据。具体的,该步骤706可以由返回模块610执行。通过直接返回本地已存储的请求数据,可以达到省运算资源的效果。

在一些实施例中,若本地未存储请求的数据,则执行步骤708~712。

步骤708,解析代理url,可以至少获得所述数据的原始url。在一些实施例中,步骤708可以在域名解析服务器110-2上执行。具体的,该步骤708可以由解析模块606执行。在一些实施例中,原始url可以包括指向其他数据源的域名。在一些实施例中,其他数据源可以包括存储在不同存储地址的数据源。在一些实施例中,解析代理url,还可以获得数据处理要求。关于原始url和数据处理要求的更多描述可以在本申请的其他地方(如流程图5及其相关描述中)找到,在此不作赘述。

在一些实施例中,解析代理url可以包括按统一的解析规则进行解析。在一些实施例中,解析模块606可以解析代理url。关于解析代理url的更多描述可以在本申请的其他地方(如流程图5及其相关描述中)找到,在此不作赘述。

步骤710,至少基于所述原始url获取所述数据。在一些实施例中,步骤710可以由内容分发服务器110-1实现。具体的,该步骤704可以由第二获取模块608执行。关于基于原始url获取所述数据的原始数据的更多描述可以在本申请的其他地方(如步骤506及其相关描述中)找到,在此不作赘述。通过原始url可以获取原始数据,可以下载到符合终端需求的数据。

在一些实施例中,还可以基于数据处理要求对原始数据进行处理。关于基于数据处理要求对原始数据进行处理的更多描述可以在本申请的其他地方(如步骤506及其相关描述中)找到,在此不作赘述。

步骤712,返回所述数据。在一些实施例中,步骤712可以由内容分发服务器110-1实现。具体的,该步骤712可以由返回模块610执行。关于返回处理后的数据的更多描述可以在本申请的其他地方(如步骤508及其相关描述中)找到,在此不作赘述。

通过经处理后的数据返回给终端130,处理后的数据量减少,终端下载时可以达到省流量的效果。

在一些实施例中,步骤712中还可以包括在本地存储所述数据。具体的,该步骤712可以由存储模块612执行。关于存储处理后的数据的更多描述可以在本申请的其他地方(如步骤510及其相关描述中)找到,在此不作赘述。

应当注意的是,上述有关流程700的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程700进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤702及步骤704可以合并在一个步骤中。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书实施例可能带来的有益效果包括但不限于:(1)可以按照终端实际需要的处理要求下载图片,可以实现省流量的目的;(2)通过不同优先级的编解码格式,可以兼容服务器与终端的不同数据格式,改善用户体验;(3)通过发送本地已存储请求的数据,可以达到省流量的效果。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1