应用下载方法、装置、存储介质及电子装置与流程

文档序号:17727157发布日期:2019-05-22 02:35阅读:135来源:国知局
应用下载方法、装置、存储介质及电子装置与流程

本发明涉及通信领域,具体而言,涉及一种应用下载方法、装置、存储介质及电子装置。



背景技术:

当应用提供商(例如,手机应用提供商)将一个新应用在自己的下载平台上架时,终端设备用户第一次下载该应用程序时经常会遇到下载速度慢,等候时间长的问题。一般下载速度只有1~2mb/s甚至几百kb/s,下载一个1g的应用程序平均需要10分钟左右。因此,一部分用户会因为没有耐心等候软件下载完,而选择放弃使用该应用。这会使得软件应用开发商在让用户使用应用之前就流失掉了这部分用户。除了放弃体验应用以外,部分用户还会因为下载速度慢而给应用差评,导致应用在应用市场的评分及口碑受到影响,进而流失一部分潜在用户。

目前,当用户出现下载速度较慢的问题时,一般需要找技术人员手动获取该用户的设备ip地址,然后找到该ip地址对应使用的cdn地址,并检查用户下载的包体在该cdn上是否已被缓存,然后尝试联系cdn供应商使对应节点增加我们应用的缓存。很明显,这种方案效率很低,当有大量玩家出现下载速度较慢的问题时无法得到快速解决。

针对相关技术中存在的应用下载慢导致的问题目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种应用下载方法、装置、存储介质及电子装置,以至少解决相关技术中存在的应用下载慢导致的问题。

根据本发明的一个实施例,提供了一种应用下载方法,包括:获取用于下载预定应用的下载地址;基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求,以指示所述用户设备所使用的cdn下载所述预定应用。

根据本发明的另一个实施例,提供了一种应用下载装置,包括:获取模块,用于获取用于下载预定应用的下载地址;发送模块,用于基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求,以指示所述用户设备所使用的cdn下载所述预定应用。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,由于可以指示用户设备所使用的cdn预先下载缓存预定应用,从而可以使得后续用户请求下载该预定应用时,可以直接将待下载该预定应用的用户的设备所使用的cdn中下载的该预定应用返回给客户,提高用户的下载速度,从而解决由于应用下载慢而导致的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的dns基本工作原理示意图;

图2是根据本发明实施例的发起一次下载请求中的流程示意图;

图3是根据本发明实施例的应用下载方法的流程图;

图4是根据本发明实施例预热流程示意图;

图5是根据本发明实施例的下载地址解析流程示意图;

图6是根据本发明实施例的最佳cdn接入节点查询系统架构图;

图7是根据本发明实施例的单个cdn节点预热流程图;

图8是根据本发明实施例的cdn节点预热系统架构图;

图9是根据本发明实施例的应用下载装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

首先对与本案相关的技术进行说明:

目前网络通讯大部分是基于tcp/ip(transfercontrolprotocol/internetprotocoladdress,传输控制协议/互联网协议)的,而tcp/ip是基于ip地址的,所以计算机在网络上通信时只能识别ip地址而无法识别域名。然而从用户的角度来说,同时记忆识别多个没有规律的ip地址是相当困难的,因此需要一套优化用户上网体验的系统。

dns(domainnamesystem,域名系统)就是这样一套系统,其用于将网站及资源的域名和ip地址进行相互映射,从而简化用户访问互联网的操作。其基本工作原理可以使用图1来表示。

主要包括如下操作:

1)用户通过应用发起访问某个域名的请求;

2)应用向dns发出解析请求,获得此域名对应的ip地址;

3)应用得到这个ip地址,向其对应的服务器发出访问请求;

4)目标服务器响应请求,将数据回传至用户应用并显示。

一般来说,网站的域名都是比较简短甚至有特定含义的,记忆起来就会简单很多。例如百度的域名www.baidu.com和对应的ip地址119.75.217.109,很明显域名会更易记一些。

实际的dns解析流程中,还会涉及内容的递归查询与迭代查询、数据缓存、多ip映射等复杂流程,这里不再赘述。

在传统的dns解析方案中,可能会出现某个资源节点连接速度较慢进而导致用户访问速度很慢等问题,因此cdn(contentdeliverynetwork,内容分发网络)技术就应运而生。

cdn即全网内容加速服务。其基本方案即利用遍布全球(全国,或企业自行规划的各大城市及区域)的加速节点,帮助企业将业务内容发布至最接近用户的边缘节点,使用户的请求能够就近得到快速响应,无需进行多次网络转发,避免请求受地域、带宽、服务器能力等因素影响导致的高延迟、低可用性等问题。

与传统访问方式不同,cdn网络是在用户和服务器之间增加cache层,将用户的访问请求引导到cache节点而不是目标服务器站点,此时只要cdn供应商做好cache节点的优化就能提供较好的用户体验。

用户进行一次下载的流程如图2所示,具体包括如下步骤:

1.用户向包含某个域名的网络地址发起下载请求,进而向本地域名解析系统(localdns)发出解析请求;

2.经过dns递归查询,请求被转移至gslb(globalserverloadbalance,全局负载均衡)系统,此时还没有产生cache层;

3.gslb向localdns返回最佳cdn接入节点的ip,同时localdns缓存此接入节点(在此过程中,会根据客户端的ip地址,地理位置,入网类型电信还是网通,返回最佳接入节点);

4.用户获取最佳cdn接入节点的ip;

5.用户对此cdn接入节点发起下载请求;

6.cdn网络经过内部路由,将请求发送至cdn节点(也称cdn边缘节点),此时cdn节点会检查本地缓存,如果发现请求下载的资源在本地缓存中存在,称为缓存命中,跳转至9;如果发现请求下载的资源在本地缓存中并不存在,称为缓存未命中,进入7;

7.cdn节点转发请求至源服务器;

8.源服务器向cdn节点返回响应的数据,cdn节点缓存数据;

9.cdn节点将数据返回给cdn接入节点;

10.cdn接入节点将数据返回给用户。

由前述描述可知,当cdn节点缓存了数据之后,任何用户再次向该节点请求下载该数据时,cdn节点会将资源直接返回,而无需进行速度较慢的向源服务器请求数据的过程。因此解决相关技术中存在的问题的根本就是尽可能让所有的cdn节点都缓存待下载的应用,也就是“预热”。

下面对本发明中的实施例进行说明:

在本实施例中提供了一种应用下载方法,图3是根据本发明实施例的应用下载方法的流程图,如图3所示,该流程包括如下步骤:

步骤s302,获取用于下载预定应用的下载地址;

步骤s304,基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求,以指示所述用户设备所使用的cdn下载所述预定应用。

其中,执行上述操作的可以是预热系统。上述用户设备的数量可以是一个或多个。可选地,当上述用户设备的数量为至少两个时,需要基于所述下载地址分别向预先获取到的至少两个用户设备所各自使用的内容分发网络cdn发送下载请求,以指示所述至少两个用户设备所各自使用的cdn下载所述预定应用。

需要说明的是,在执行上述实施例中的操作之前是需要先收集上述用户设备的ip地址(优选的是收集到地理分布足够广泛的用户ip地址),即,在收集到地理分布足够广泛的用户ip地址的前提下,自动查询这些用户使用的cdn节点地址,并向这些cdn节点发起需要预热的应用的下载请求(预热即通过向cdn节点发起下载请求,使cdn节点向应用提供方服务器获取应用数据并缓存在本地的方法),待下载完成后,cdn节点即会缓存该应用数据。此外,还需要说明的是,用于请求下载预定应用的请求可以是用户输入(具体输入方式在后续的具体实施例中会进行具体描述)的,即,可以由用户提供要预热的应用的信息,然后可以根据应用信息解析下载地址,进而执行上述实施例中的下载操作。

通过上述实施例,由于可以指示用户设备所使用的cdn预先下载缓存预定应用,从而可以使得后续用户请求下载该预定应用时,可以直接将待下载该预定应用的用户的设备所使用的cdn中下载的该预定应用返回给客户,提高用户的下载速度,从而解决由于应用下载慢而导致的问题。

在一个可选的实施例中,在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之前,所述方法还包括:建立查询队列,其中,所述查询队列中包括查询任务,所述查询任务用于查询所述用户设备使用的cdn;按照所述查询队列查询所述用户设备所使用的cdn;记录查询到的所述用户设备所使用的cdn。本实施例主要对如何查询cdn节点进行说明。

在一个可选的实施例中,按照所述查询队列查询所述用户设备所使用的cdn包括:将所述查询队列中的查询任务分配至cdn接入节点查询任务处理器中,以指示所述cdn接入节点查询任务处理器查询所述用户设备所使用的cdn。即,可以利用cdn接入节点查询任务处理器执行上述查询操作。此外,在查询任务较多而导致查询队列较长时,为了加快查询速度,还可以添加新的cdn接入节点查询任务处理器来执行上述查询操作。新的任务处理器可以立刻获取到任务并开始处理,无需重启任务。

在一个可选的实施例中,在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之前,所述方法还包括:确定预先收集的用户设备集中各个用户设备各自使用的cdn的应用下载状态,其中,所述应用下载状态用于指示每个用户设备所使用的cdn中是否已缓存所述预定应用;根据所述应用下载状态从所述用户设备集中选取目标用户设备,并将所述目标用户设备作为待接收所述下载请求的所述用户设备,其中,所述目标用户设备所使用的cdn中未缓存所述预定应用。在本实施例中,为了节省预热时间,在正式开始预热之前,会先向各个cdn节点查询预定应用的缓存状态,并对未缓存应用数据的cdn节点发起真正的预热下载请求。

在一个可选的实施例中,在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之后,所述方法还包括:检查所述用户设备所使用的cdn是否成功下载所述预定应用;在检查到所述用户设备所使用的cdn未成功下载所述预定应用时,记录未成功下载所述预定应用的cdn的信息。在本实施例中,如果存在未成功下载预定应用的cdn,说明该cdn节点可能设置有问题,在本实施例中,会记录这部分cdn节点信息,以用于后续的故障分析。

在一个可选的实施例中,基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求包括:建立下载队列,其中,所述下载队列中包括下载任务,所述下载任务用于向所述cdn发送所述下载请求;将所述下载队列中的下载任务分配至下载任务处理器中(当下载任务为多个时,可以将多个下载任务分配至多个下载任务处理器中),以指示所述下载任务处理器基于所述下载地址向预先获取到的用户设备所使用的cdn发送所述下载请求。即,可以利用下载任务处理器执行上述下载操作。此外,在下载队列较长时,为了加快下载速度,还可以添加新的下载任务处理器来执行上述下载操作。新的任务处理器可以立刻获取到任务并开始处理,无需重启任务。

在一个可选的实施例中,获取用于下载预定应用的下载地址包括:获取所述预定应用的标识信息;在应用市场中查找对应于所述标识信息的所述下载地址。在本实施例中,在获取上述下载地址时,可以通过抓包(抓包是指:互联网上的信息都是通过一个一个数据包的形式进行传送的,抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,通过该手段可以获取数据包中保存的一些信息)的方式获取,具体的抓包操作在后续的具体实施例中会进行描述。

下面结合具体实施例对本发明进行说明:

本方案的基本功能即根据用户提供的应用信息完成预热操作。其流程如图4所示。

其中,整个系统功能包括应用信息输入及结果查看、下载地址解析、最佳cdn接入节点查询与预热几部分,下面对各部分中的具体处理逐一进行说明。

应用信息输入及结果查看:

本方案通过网页的形式提供了友好的用户界面(该用户界面可以是专门开发的用于用户提交应用名称信息的界面,当然,也可以复用一些现有的界面来实现),用户使用时只需要提交需要预热的应用名称信息(可选地,在本实施例中,只要有一位用户提交了预热信息,就会触发预热下载请求,如果在一位用户提交过预热信息后,有其他用户提交了相同的预热信息,则会提示新用户该信息已经有人提交过了,无需重复提交。当然,为了确定应用的广泛性,也可以在收到了其他数量(例如,5位,10位)的用户提交的预热信息之后,再触发预热下载请求。另外,当同时提交的应用信息较多时,后提交的信息会进入一个队列等待处理,不会全部同时触发下载请求,避免同时运行的任务过多,系统负载太高)。用户将信息提交后,系统管理员会自动在后台收到相关提醒,然后进行下一步操作。另外当预热完成后,用户可以通过网页查看预热结果。

下载地址解析:

获取到应用信息之后,系统会根据该信息去应用市场查询应用的真实下载地址,查询时会根据应用所在的操作系统的不同而采用不同的技术方案,如图5所示。

cdn接入节点查询与预热:

获取到包体的下载地址之后,本方案会根据玩家ip查询对应的cdn接入节点,然后模拟玩家向该cdn接入节点发起预热下载请求,下载完成后会根据cdn节点状态(即,是否缓存了应用的状态)判定是否需要再进行后续处理,同时计算优化效率。

真实下载地址解析:

用户在发起一次预热请求时,提供的一般只是应用在应用市场的名称,而不是真实下载地址。本发明实施例中会根据应用所属操作系统的不同,采用了不同的下载地址获取方案。

对于ios操作系统,在ios平台上,本方案采用下载应用(即,预热系统下载应用)后,对网络通信流进行抓包并解析的方式获取下载地址。

对于安卓操作系统,在安卓平台上,应用包体可以采用通过电脑连接手机(以上述用户设备是手机为例进行说明)安装和直接通过手机应用商店安装两种安装方式。对于电脑连接手机安装这种情况,本方案采用通过浏览器查看网址链接的方式获取应用下载地址;对于直接通过手机应用安装这种方式,本方案采用下载应用后,对网络通信流进行抓包并解析的方式获取下载地址。

通过浏览器查看网络链接的方式操作比较简单,这里不再赘述。对网络流进行抓包并解析获取应用下载地址的操作方法如下所述:

将手机通过usb接口连接到电脑,并在电脑上启动手机调试工具,使得电脑能获取手机信息;

在电脑上运行wireshark或同类的网络通信包抓包软件,然后启动包体下载;

在抓包软件获取的网络包信息中找到客户端(手机)向服务器发送的应用下载的网络数据包,查看数据包的请求头中包含的访问地址,并将该地址与下载服务器的域名结合获得真实下载地址。

查询最佳cdn接入节点:

为了保证预热效果的有效性,需要对尽可能多的cdn接入节点进行预热。由于无法直接从cdn服务供应商处获得cdn接入节点的信息,本方案维护了一个规模比较大的用户真实ip列表,这个列表中的ip地址尽可能地覆盖了绝大多数的地理位置、入网类型。每次需要预热时,先用这个列表中的所有ip向远程dns服务器查询对要下载的包体来说合适的cdn接入节点,然后再对每个cdn接入节点进行预热操作。

实际操作时,由于用户真实ip列表规模较大,需要有多台机器同时运行最佳cdn接入节点查询任务。为了保证整套系统的可维护性与可扩展性,本方案采用了celery异步任务框架用于任务处理。该部分系统架构如图6所示。

在图6中,中心任务管理器负责cdn接入节点查询任务(下简称“任务”)处理器的管理与任务分发,每个cdn接入节点查询任务处理器上同时运行着多个查询任务,不同的cdn接入节点查询任务处理器分布在不同的机器上。

当需要提高系统处理任务的能力时,只需要在新的机器上启动一组新的任务处理器即可,此时如果还有需要处理的任务存在,新的任务处理器可以立刻获取到任务并开始处理,无需重启任务(该操作是celery异步任务框架自身包含的功能,基本原理为每生成一个新的任务,系统都会将该任务的信息保存至一个队列中,并根据按当前处理进度更新任务状态。如果新任务处理器启动时,在队列中发现有处于等待处理的任务,就会取出这些任务的信息并开始处理,同时将任务状态更新为进行中,避免其他任务处理器对相同任务进行处理)。

如果在任务运行过程中,由于机器宕机等原因导致处理器离线,部分任务失败,重启处理器之后,这部分任务还会得到处理而不会丢失,保证了系统有较高的可用性(如果某组任务处理器离线,系统会识别出该组处理器正在执行的任务,并将这些任务的状态重新设置为待处理,这样处理器重启后就可以重新执行这部分任务了)。

另外,由于一个用户ip对应的最佳cdn接入节点在一定时期内是不会变化的,因此不需要每次预热都重新运行查询任务。本方案会在每次运行完cdn接入节点查询任务之后,将任务结果保存至数据库,发起预热任务前可以由系统管理员决定是使用之前保存的结果还是重新运行查询任务。这样可以节约整个流程的总时间。

cdn接入节点预热:

获取了应用的下载地址以及最佳cdn接入节点地址之后,即可进行预热操作。正如前面所提及的,预热的本质就是让cdn节点保存应用的缓存数据,为了节省预热时间,本方案在正式开始预热之前,会先向各个cdn节点查询应用的缓存状态,并对未缓存应用数据的cdn节点发起真正的预热下载请求。

对每个cdn完成一次预热操作之后,系统会再次检查该cdn节点的缓存状态,如果仍然没有缓存应用数据,说明该cdn节点可能设置有问题,本方案会记录这部分cdn节点信息,用于后续的人工分析。如果人工分析发现该cdn节点的设置确实存在问题,可以联系cdn服务提供方共同排查解决。

上述对单个cdn节点预热的流程图如图7所示。

本方案的接入节点预热系统同样采用celery框架实现,其结构与最佳cdn查询系统较为相似,主要区别在于每个接入节点预热时发起的目标cdn节点都是不同的。另外下载任务处理器与cdn接入节点查询任务处理器分布于不同的机器上,防止不同类型的任务之间互相影响。其示意图如图8所示。

可选地,为了方便用户使用,本方案提供了前端页面,从而使用户和系统管理员(或者与系统管理设备)可以更方便地提交、处理预热请求并查看当前任务状态。其中比较重要的交互步骤有以下几点:

用户可以通过网页直接提交预热请求而无需直接联系预热的工作人员,当有多个用户提交请求时,所有请求会保存在系统后台的任务队列中,不会丢失请求;

当用户提交预热请求之后,系统会通过特定的通信软件给系统后台管理者发送提醒,提醒其及时前去处理;

系统管理员可以在前端页面上查看系统保存的历史cdn最佳节点记录,运行查询最佳cdn接入节点的任务并查看当前任务状态;

系统管理员可以在前端页面上处理预热任务,同时用户可以看到当前处理进度,当用户发起的预热任务处理完成时会通过通信软件及时通知用户。

本具体实施例核心是基于python语言实现,使用了celery作为异步任务框架,后台使用redis和mongodb用于数据存储,前端采用html语言与javascript语言实现交互界面,flask框架用于前端和后台的数据交互及网络消息处理。

通过上述实施例可以达到如下有益效果:

能够自动查询到覆盖范围足够广泛的真实cdn节点,无需人工收集。

能够自动将应用在cdn节点上缓存,从而提升应用的下载速度,同时可以检查出有问题的cdn节点。

所有任务都可以并行运行,且系统支持简便的横向扩展。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种应用下载装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是根据本发明实施例的应用下载装置的结构框图,如图9所示,该装置包括:

获取模块92,用于获取用于下载预定应用的下载地址;发送模块94,用于基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求,以指示所述用户设备所使用的cdn下载所述预定应用。

在一个可选的实施例中,上述装置还用于:在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之前,建立查询队列,其中,所述查询队列中包括查询任务,所述查询任务用于查询所述用户设备使用的cdn;按照所述查询队列查询所述用户设备所使用的cdn;记录查询到的所述用户设备所使用的cdn。

在一个可选的实施例中,上述装置可以通过如下方式按照所述查询队列查询所述用户设备所使用的cdn:将所述查询队列中的查询任务分配至cdn接入节点查询任务处理器中,以指示所述cdn接入节点查询任务处理器查询所述用户设备所使用的cdn。

在一个可选的实施例中,上述装置还用于:在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之前,确定预先收集的用户设备集中各个用户设备各自使用的cdn的应用下载状态,其中,所述应用下载状态用于指示每个用户设备所使用的cdn中是否已缓存所述预定应用;根据所述应用下载状态从所述用户设备集中选取目标用户设备,并将所述目标用户设备作为待接收所述下载请求的所述用户设备,其中,所述目标用户设备所使用的cdn中未缓存所述预定应用。

在一个可选的实施例中,上述装置还用于:在基于所述下载地址向预先获取到的用户设备所使用的内容分发网络cdn发送下载请求之后,检查所述用户设备所使用的cdn是否成功下载所述预定应用;在检查到所述用户设备所使用的cdn未成功下载所述预定应用时,记录未成功下载所述预定应用的cdn的信息。

在一个可选的实施例中,所述发送模块94用于建立下载队列,其中,所述下载队列中包括下载任务,所述下载任务用于向所述cdn发送所述下载请求;将所述下载队列中的下载任务分配至下载任务处理器中,以指示所述下载任务处理器基于所述下载地址向预先获取到的用户设备所使用的cdn发送所述下载请求。

在一个可选的实施例中,所述获取模块92用于获取所述预定应用的标识信息;在应用市场中查找对应于所述标识信息的所述下载地址。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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