一种镜像回溯方法、镜像回溯系统及代理服务器与流程

文档序号:17536913发布日期:2019-04-29 14:05阅读:276来源:国知局
一种镜像回溯方法、镜像回溯系统及代理服务器与流程

本申请属于镜像处理技术领域,尤其涉及一种镜像回溯方法、镜像回溯系统及代理服务器。



背景技术:

在跨区域使用docker镜像部署时,为了保障应用的一致性,经常会搭建多个镜像仓库,然后使用镜像复制功能,将一个区域的镜像复制到别的区域的镜像仓库中,使得所有区域都是能够采用相同的镜像进行部署。但是在进行跨区域镜像复制时,容易遇到网络不稳定、系统内部故障等原因,导致在需要在新的区域进行部署时,该区域内的镜像仓库还未与源镜像仓库同步完成,也即未能成功实现跨区域镜像复制,这将导致新的区域的镜像部署失败。

当前,为了解决上述跨区域镜像复制时可能产生的复制失败这一问题,往往采用重试复制任务或者使用专线复制的方式来提高镜像复制的成功率。然而,上述解决方式的成本往往较高,且复制的效率较低,难以彻底解决彻底镜像复制失败时所带来的问题。



技术实现要素:

有鉴于此,本申请提供了一种镜像回溯方法、镜像回溯系统及代理服务器,可在镜像复制失败时,仍保障镜像部署的成功。

本申请的第一方面提供了一种镜像回溯方法,应用于代理服务器,上述镜像回溯方法包括:

接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

检测上述目标仓库中是否存在上述待拉取镜像;

若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

本申请的第二方面提供了一种镜像回溯方法,应用于源仓库,上述镜像回溯方法包括:

对代理服务器进行监听;

当监听到上述代理服务器转发的镜像拉取请求时,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

本申请的第三方面提供了一种代理服务器,包括:

请求接收单元,用于接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

镜像检测单元,用于检测上述目标仓库中是否存在上述待拉取镜像;

请求转发单元,用于若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

镜像拉取单元,用于从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

本申请的第四方面提供了一种代理服务器,上述代理服务器包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

本申请的第五方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

本申请的第六方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

本申请的第七方面提供了一种镜像回溯系统,其特征在于,上述镜像回溯系统包括源仓库、目标仓库及代理服务器,其中,上述代理服务器包括:

请求接收单元,用于接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

镜像检测单元,用于检测上述目标仓库中是否存在上述待拉取镜像;

请求转发单元,用于若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

镜像拉取单元,用于从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

上述源仓库包括:

监听单元,用于对上述代理服务器进行监听;

确定单元,用于当监听到上述代理服务器转发的镜像拉取请求时,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

复制单元,用于基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

由上可见,在本申请方案中,首先由代理服务器接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像,然后检测上述目标仓库中是否存在上述待拉取镜像,若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库,最后从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。通过本申请实施例,在进行镜像部署时,增添了代理服务器,通过代理服务器从目标仓库中拉取镜像,若无法在目标仓库中找到待拉取镜像,则回溯至源仓库重新进行复制操作,使得源仓库的镜像能够被成功复制至目标仓库,再执行镜像拉取操作,以保障镜像部署的成功。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种镜像回溯方法的实现流程示意图;

图2是本申请实施例提供的另一种镜像回溯方法的实现流程示意图;

图3是本申请实施例提供的镜像回溯方法的工作示意图;

图4是本申请实施例提供的代理服务器的结构框图;

图5是本申请实施例提供的镜像回溯系统的系统结构示意图;

图6是本申请实施例提供的代理服务器的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。

实施例一

下面对本申请实施例提供的一种镜像回溯方法进行描述,请参阅图1,本申请实施例中的镜像回溯方法应用于代理服务器,上述镜像回溯方法包括:

在步骤101中,接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

在本申请实施例中,由代理服务器接收实例所发送的镜像拉取请求。具体地,在每一个区域中,均配置有一代理服务器,该代理服务器可具体为nginx服务器。区域中的代理服务器将统一处理该区域中的各个实例所发送的镜像拉取请求。在接收到实例所发送的镜像拉取请求后,可确定该镜像拉取请求所指向的目标仓库及待拉取镜像,也即确定代理服务器应当从何处获取实例所请求的镜像。

在步骤102中,检测上述目标仓库中是否存在上述待拉取镜像;

在本申请实施例中,代理服务器在接收到实例所发送的镜像拉取请求后,将先检测上述目标仓库中是否存在待拉取镜像。具体地,可以为nginx服务器配置一个upstream模块(也即数据转发模块),通过该upstream模块向目标仓库转发上述镜像拉取请求的方式来进行检测,若从上述目标仓库中拉取到了上述待拉取镜像,则确定上述目标仓库中存在待拉取镜像,若无法从上述目标仓库中拉取上述待拉取镜像,则确定上述目标仓库中不存在待拉取镜像。具体地,当目标仓库中不存在待拉取镜像时,上述目标仓库将向代理服务器返回proxy_next_upstreamhttp_404,用以提示代理服务器其所请求的数据不存在。

在步骤103中,若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

在本申请实施例中,当检测发现上述目标仓库中不存在待拉取镜像时,代理服务器将溯源至源仓库,并将通过所配置的upstream模块向源仓库转发上述镜像拉取请求。具体地,若上述目标仓库中不存在待拉取镜像,则代理服务器可以先从上述目标仓库中获取包含有待拉取镜像的源仓库地址,再基于上述源仓库地址,向源仓库转发上述镜像拉取请求。可以认为,在代理服务器的upstream模块中,为目标仓库及源仓库设定了转发优先级,其中,目标仓库的转发优先级较高级,也即是说,代理服务器将优先向目标仓库转发镜像拉取请求,只有在无法从目标仓库拉取到待拉取镜像时,才会向源仓库转发镜像拉取请求。当源仓库接收到代理服务器所转发的镜像拉取请求时,源仓库将获知当前目标仓库中不存在该待拉取镜像,因而,源仓库将再次执行镜像复制操作,以使得上述源仓库将上述待拉取镜像复制至目标仓库。

在步骤104中,从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

在本申请实施例中,可以是在代理服务器在向源仓库转发了上述镜像拉取请求的预设时间后,再次尝试从目标仓库中拉取待拉取镜像,并在拉取到上述待拉取镜像后将上述待拉取镜像传输至上述实例。具体地,由于源仓库将待拉取镜像复制至目标仓库将耗费一定时间,且待拉取镜像越大,则往往复制所耗费的时间越长,因而,上述预设时间可以根据上述待拉取镜像的大小所设定,具体地,上述预设时间与上述待拉取镜像的大小呈现正比例关系,也即待拉取镜像越大,则设定上述预设时间越长,以保障代理服务器再次从目标仓库拉取上述待拉取镜像时,上述镜像复制操作已完成。

当然,当代理服务器检测到上述目标仓库中不存在待拉取镜像,并向源仓库转发上述镜像拉取请求时,也可以直接从上述源仓库中拉取上述待拉取镜像,而无需等待镜像复制完成后再从目标仓库待拉取镜像,以进一步保障镜像拉取的成功率及效率。

由上可见,通过本申请实施例,在进行镜像部署,需要拉取镜像时,将首先通过代理服务器从区域中的目标仓库尝试拉取镜像,若目标仓库中不存在待拉取的镜像,则由代理服务器溯源至源仓库,以促使源仓库再次执行镜像复制仓库,将镜像复制至区域内的目标仓库,以保障镜像拉取的成功率,确保镜像能够部署成功。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例二

下面对本申请实施例提供的另一种镜像回溯方法进行描述,请参阅图2,本申请实施例中的镜像回溯方法包括:

在步骤201中,对代理服务器进行监听;

在本申请实施例中,由于每一个区域都会配备一代理服务器,因而源仓库将不断的监听各个代理服务器,以检测是否有区域的仓库出现镜像复制失败的操作。具体地,上述代理服务器为nginx服务器。

在步骤202中,当监听到上述代理服务器转发的镜像拉取请求时,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

在本申请实施例中,当源仓库监听到某一代理服务器所转发的镜像拉取请求时,可以基于该镜像拉取请求,确定其所指向的目标仓库及待拉取镜像。由于代理服务器通常应当优先将镜像拉取请求转发至目标仓库,只有在目标仓库不存在待拉取镜像的情况下,才会将镜像拉取请求转发至源仓库,因而,在源仓库接收到镜像拉取请求时,即意味着某一区域中的仓库未能与源仓库实现同步,基于此,才需要确定待同步的目标仓库及待拉取镜像的信息。

在步骤203中,基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

在本申请实施例中,由于已经基于上述镜像拉取请求确定了该镜像拉取请求所指向的目标仓库及待拉取镜像,且源仓库在接收到该镜像拉取请求时即可确定该目标仓库中缺乏上述待拉取镜像,因而,此时需要执行复制操作,将上述待拉取镜像复制至上述目标仓库,实现目标仓库与源仓库的同步。

可选地,当监听到上述代理服务器转发的镜像拉取请求时,可以将上述镜像拉取请求所指向的待拉取镜像发送至代理服务器,而无需等待目标仓库与源仓库的同步完成后,再让代理服务器从目标仓库获取,以进一步保障镜像拉取的成功率及效率。

可选地,在步骤203之前,上述镜像溯源方法包括:

检测当前是否存在基于上述待拉取镜像及目标仓库的复制进程;

相应地,上述基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库,包括:

若不存在上述复制进程,则基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

在本申请实施例中,可能还存在这样一种情况:在实例通过代理服务器向目标仓库请求镜像时,源仓库正在将镜像复制至目标仓库,然而此时,由于复制尚未完成,导致代理服务器无法请求到镜像,才将镜像拉取请求转发至目标仓库。实际上,在当前正在进行的复制操作成功完成后,代理服务器即可直接从目标仓库拉取镜像。因而,为了避免镜像被多次复制,此处源仓库将检测当前是否存在基于上述待拉取镜像及目标仓库的复制进程,也即,是否正在执行将待拉取仓库复制至目标仓库的操作,若存在这样的复制进程,则返回重试消息至代理服务器,使得代理服务器基于该重试消息重新向目标仓库请求待拉取镜像,若不存在这样的复制进程,则再基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

由上可见,通过本申请实施例,源仓库在监听到代理服务器所发送的镜像拉取请求后,将查看当前是否存在基于目标仓库及待拉取镜像的相关复制操作,若不存在,则源仓库将重新执行待拉取镜像的复制操作,将待拉取镜像复制至目标仓库,以保障镜像拉取的成功率,确保镜像能够部署成功。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

为了说明上述实施例一及实施例二的方案,下面以具体实例作出解释及说明,请参阅图3:

在创建镜像后,将镜像推送至1区域的a仓库;a仓库将该镜像复制给其它区域中(也即2区域及3区域)的仓库(也即b仓库及c仓库),基于上述过程中,a仓库为镜像的源仓库;然而,在复制给c仓库的过程中发生了复制错误,导致未能复制成功,使得c仓库中不存在该镜像;此时3区域中的实例向nginx服务器发送了镜像拉取请求;nginx服务器基于该镜像拉取请求将检测c仓库(也即目标仓库)中是否存在该镜像,当c仓库中有该镜像时,直接从c仓库拉取镜像;当c仓库没有该镜像时,nginx服务器向a仓库(也即源仓库)转发该镜像拉取请求,以促使a仓库再次向c仓库执行镜像复制操作,代理服务器可以直接从a仓库中拉取该镜像,也可以在上述镜像复制操作完成后再次从c仓库中拉取该镜像。

实施例三

本申请实施例三提供了一种代理服务器,如图4所示,本申请实施例中的代理服务器400包括:

请求接收单元401,用于接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

镜像检测单元402,用于检测上述目标仓库中是否存在上述待拉取镜像;

请求转发单元403,用于若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

镜像拉取单元404,用于从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

可选地,上述镜像检测单元402,具体用于向上述目标仓库转发上述镜像拉取请求,若从上述目标仓库中拉取到了上述待拉取镜像,则确定上述目标仓库中存在待拉取镜像,若无法从上述目标仓库中拉取上述待拉取镜像,则确定上述目标仓库中不存在待拉取镜像。

可选地,请求转发单元403包括:

源仓库地址获取子单元,用于若所述目标仓库中不存在待拉取镜像,则从所述目标仓库中获取包含有待拉取镜像的源仓库地址;

源仓库请求转发子单元,用于基于所述源仓库地址,向源仓库转发所述镜像拉取请求。

由上可见,通过本申请实施例,在进行镜像部署,需要拉取镜像时,将首先通过代理服务器从区域中的目标仓库尝试拉取镜像,若目标仓库中不存在待拉取的镜像,则由代理服务器溯源至源仓库,以促使源仓库再次执行镜像复制仓库,将镜像复制至区域内的目标仓库,以保障镜像拉取的成功率,确保镜像能够部署成功。

实施例四

本申请实施例四提供了一种镜像溯源系统,如图5所示,本申请实施例中的镜像溯源系统包括源仓库51、目标仓库52及代理服务器53,其中,上述代理服务器53包括:

请求接收单元531,用于接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

镜像检测单元532,用于检测上述目标仓库中是否存在上述待拉取镜像;

请求转发单元533,用于若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

镜像拉取单元534,用于从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

上述源仓库51包括:

监听单元511,用于对上述代理服务器进行监听;

确定单元512,用于当监听到上述代理服务器转发的镜像拉取请求时,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

复制单元513,用于基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

可选地,上述镜像检测单元532,具体用于向上述目标仓库转发上述镜像拉取请求,若从上述目标仓库中拉取到了上述待拉取镜像,则确定上述目标仓库中存在待拉取镜像,若无法从上述目标仓库中拉取上述待拉取镜像,则确定上述目标仓库中不存在待拉取镜像。

可选地,上述请求转发单元533包括:

源仓库地址获取子单元,用于若所述目标仓库中不存在待拉取镜像,则从所述目标仓库中获取包含有待拉取镜像的源仓库地址;

源仓库请求转发子单元,用于基于所述源仓库地址,向源仓库转发所述镜像拉取请求。

可选地,上述源仓库51还包括:

检测单元,用于检测当前是否存在基于上述待拉取镜像及目标仓库的复制进程;

相应地,上述复制单元513,具体用于若不存在上述复制进程,则基于上述镜像拉取请求,将上述待拉取镜像复制至上述目标仓库。

由上可见,通过本申请实施例,在进行镜像部署,需要拉取镜像时,将首先通过代理服务器从区域中的目标仓库尝试拉取镜像,若目标仓库中不存在待拉取的镜像,则由代理服务器溯源至源仓库,以促使源仓库再次执行镜像复制仓库,将镜像复制至区域内的目标仓库,以保障镜像拉取的成功率,确保镜像能够部署成功。

实施例五

本申请实施例五提供了一种代理服务器,请参阅图6,本申请实施例中的代理服务器包括:存储器601,一个或多个处理器602(图6中仅示出一个)及存储在存储器601上并可在处理器上运行的计算机程序。其中:存储器601用于存储软件程序以及模块,处理器602通过运行存储在存储器601的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器602通过运行存储在存储器601的上述计算机程序时实现以下步骤:

接收实例所发送的镜像拉取请求,确定上述镜像拉取请求所指向的目标仓库及待拉取镜像;

检测上述目标仓库中是否存在上述待拉取镜像;

若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,以使得上述源仓库将上述待拉取镜像复制至目标仓库;

从上述目标仓库中拉取上述待拉取镜像,并将上述待拉取镜像传输至上述实例。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述检测上述目标仓库中是否存在待拉取镜像,包括:

向上述目标仓库转发上述镜像拉取请求;

若从上述目标仓库中拉取到了上述待拉取镜像,则确定上述目标仓库中存在待拉取镜像;

若无法从上述目标仓库中拉取上述待拉取镜像,则确定上述目标仓库中不存在待拉取镜像。

在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述若上述目标仓库中不存在待拉取镜像,则向源仓库转发上述镜像拉取请求,包括:

若上述目标仓库中不存在待拉取镜像,则从上述目标仓库中获取包含有待拉取镜像的源仓库地址;

基于上述源仓库地址,向源仓库转发上述镜像拉取请求。

进一步,如图6所示,上述代理服务器还可包括:一个或多个输入设备603(图6中仅示出一个)和一个或多个输出设备604(图3中仅示出一个)。存储器601、处理器602、输入设备603和输出设备604通过总线605连接。

应当理解,在本申请实施例中,所称处理器602可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备603可以包括按键、触控板等,输出设备604可以包括显示器、扬声器等。

存储器601可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器601的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器601还可以存储设备类型的信息。

在进行镜像部署,需要拉取镜像时,将首先通过代理服务器从区域中的目标仓库尝试拉取镜像,若目标仓库中不存在待拉取的镜像,则由代理服务器溯源至源仓库,以促使源仓库再次执行镜像复制仓库,将镜像复制至区域内的目标仓库,以保障镜像拉取的成功率,确保镜像能够部署成功。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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