一种灰度发布方法、装置、存储介质、设备及系统与流程

文档序号:18823723发布日期:2019-10-09 01:12阅读:145来源:国知局
一种灰度发布方法、装置、存储介质、设备及系统与流程

本申请涉及网络技术领域,特别涉及一种灰度发布方法、装置、存储介质、设备及系统。



背景技术:

灰度发布是指在软件发布过程中,能够平滑过渡的一种发布方式。例如,当前软件的版本有两个,一个是正式版本,一个是测试版本,当客户端向服务器发送请求时,一部分客户端继续使用正式版本,另一部分客户端使用测试版本。如果在使用测试版本的过程中没有出现什么异常,那么逐渐扩大测试版本的发布范围,最终将所有客户端都迁移到测试版本,最终该测试版本成为新的正式版本。互联网产品迭代更新快,每一次升级都伴随着风险。采用灰度发布可以保证系统整体的稳定,可以及时调整问题,以减小风险。

但是在现有技术中,灰度发布存在以下问题:现有技术通常是基于手机app等客户端进行灰度发布,无法支持桌面浏览器等场景。因此,亟需一种适用于app客户端以及b/s架构(browser/server,浏览器/服务器架构)下的web客户端(浏览器)的灰度发布方法。



技术实现要素:

本申请实施例的目的是提供一种灰度发布方法、装置、存储介质、设备及系统,以同时适用于app客户端以及b/s架构(browser/server,浏览器/服务器架构)下的web客户端(浏览器)。

为达到上述目的,本申请实施例提供一种灰度发布方法,包括:

接收客户端发起的第一资源请求;所述客户端包括web客户端;

在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,向所述客户端返回重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

优选的,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群,包括:

在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求分配给第一类web服务器集群,以使所述第一类web服务器集群在所述第一资源请求的host字段写入第一标志后,将其转发至应用服务器集群的软负载均衡组件,并使所述应用服务器集群的软负载均衡组件根据所述第一标志,将所述第一资源请求分配给所述第一类应用服务器集群。

优选的,所述第一类应用服务器集群通过所述第一资源请求的用户信息及用户代理信息,判断所述第一资源请求是否满足预设的分流条件。

优选的,所述灰度发布方法还包括:

接收所述客户端根据所述重定向响应返回的第二资源请求,所述第二资源请求的指定字段中包含所述灰度标志;

将所述第二资源请求提供给第二类应用服务器集群;以使所述第二类应用服务器集群处理所述第二资源请求。

优选的,将所述第二资源请求提供给第二类应用服务器集群;以使所述第二类应用服务器集群处理所述第二资源请求,还包括:

将所述第二资源请求分配至第二类web服务器集群;以使所述第二类web服务器集群在所述第二资源请求的host字段重新写入第二标志后,将其转发至应用服务器集群的软负载均衡组件;以使所述应用服务器集群的软负载均衡组件根据所述第二标志,将所述第二资源请求分配给所述第二类应用服务器集群。

本申请还提供一种灰度发布装置,包括:

第一资源请求接收模块,用于接收客户端发起的第一资源请求;所述客户端包括web客户端;

第一资源请求转发模块,用于在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,向所述客户端返回重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

本申请还提供另一种灰度发布方法,包括:

发起第一资源请求;其中,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被发送至第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应;

接收重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

优选的,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被发送至第一类应用服务器集群,包括:

在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被分配给第一类web服务器集群,以使所述第一类web服务器集群在所述第一资源请求的host字段写入第一标志后,将其转发给应用服务器集群的软负载均衡组件,并使所述应用服务器集群的软负载均衡组件根据所述第一标志,将所述第一资源请求分配给所述第一类应用服务器集群。

优选的,所述第一类应用服务器集群通过所述第一资源请求的用户信息及用户代理信息,判断所述第一资源请求是否满足预设的分流条件。

优选的,所述灰度发布方法还包括:

根据重定向响应,发起第二资源请求,所述第二资源请求的指定字段中包含所述灰度标志;所述第二资源请求被提供给第二类应用服务器集群;以使所述第二类应用服务器集群处理所述第二资源请求;

接收所述第二类应用服务器返回的响应。

优选的,所述第二资源请求被提供给第二类应用服务器集群;以使所述第二类应用服务器集群处理所述第二资源请求,包括:

所述第二资源请求被分配至第二类web服务器集群;以使所述第二类web服务器集群在所述第二资源请求的host字段重新写入第二标志后,将其转发至应用服务器集群的软负载均衡组件;并使所述应用服务器集群的软负载均衡组件根据所述第二标志,将所述第二资源请求分配给所述第二类应用服务器集群。

本申请还提供另一种灰度发布装置,包括:

第一资源请求发起模块,用于发起第一资源请求;其中,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被发送至第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应;

重定向响应接收模块,用于接收重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

本申请还提供一种灰度发布系统,包括:客户端、web服务器集群的软负载均衡装置、第一类应用服务器集群;其中;

所述客户端用于发送第一资源请求至所述web服务器集群的软负载均衡装置;

所述web服务器集群的软负载均衡装置用于在所述第一资源请求的第一cookie信息中未包含灰度标志时,将所述第一资源请求发送至所述第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应。

本申请还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上面任意一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上面任意一项所述方法的步骤。

由以上本申请实施例提供的技术方案可见,本申请实施例中,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将第一资源请求提供给第一类应用服务器集群;以使所述第一类应用服务器集群在第一资源请求满足预设的分流条件时,向所述客户端返回重定向响应,重定向响应中携带有包含灰度标志的第二cookie信息,从而利用cookie实现了灰度分流。可以看出,本申请不依赖于app客户端,对b/s架构(browser/server,浏览器/服务器架构)下的web客户端(浏览器)同样适用,解决了现有技术中灰度发布依赖app客户端的缺陷。

附图说明

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

图1是本申请实施例提供的灰度发布系统的系统架构图;

图2是本申请实施例提供的一种灰度发布方法的流程图;

图3是本申请实施例提供的一种灰度发布装置的模块结构图;

图4是本申请实施例提供的另一种灰度发布方法的流程图;

图5是本申请实施例提供的另一种灰度发布装置的模块结构图;

图6是本申请实施例提供的计算机设备的示意图。

具体实施方式

本申请实施方式提供一种灰度发布方法、装置、存储介质、设备及系统。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。

参考图1所示,为本申请实施例提供的灰度发布系统的系统架构图。包括:客户端、web服务器集群的软负载均衡装置、第一类应用服务器集群;其中;

所述客户端可以用于发送第一资源请求至所述web服务器集群的软负载均衡装置。

所述web服务器集群的软负载均衡装置可以用于在所述第一资源请求的第一cookie信息中未包含灰度标志时,将所述第一资源请求发送至所述第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应。

此外,所述灰度发布系统还可以包括:第一类web服务器集群、第二类web服务器集群、应用服务器集群的软负载均衡组件、第二类应用服务器集群。

所述第一类web服务器集群可以用于在host字段写入第一标志,并将资源请求发送至应用服务器集群的软负载均衡组件;及提供静态资源;

所述第二类web服务器集群可以用于在host字段写入第二标志,并将资源请求发送至应用服务器集群的软负载均衡组件;及提供静态资源;

所述应用服务器集群的软负载均衡组件可以用于根据host字段的标志,将资源请求分配至所述第一类应用服务器集群,或所述第二类应用服务器集群;

所述第二类应用服务器集群可以用于提供动态资源。

其中,第一类web服务器集群和第一类应用服务器集群可以用于提供产品正式版本的服务;第二类web服务器集群和第二类应用服务器集群可以用于提供产品测试版本的服务。此外,本申请中的服务器可以是具体的服务器,也可以是云计算中的虚拟的云服务器,对此,本申请不做限定。

web服务器可以用于解析http请求,并返回http响应,具体为响应一个静态页面或静态资源,例如图片、css(cascadingstylesheets,层叠样式表)、控件等资源。应用程序服务器是指通过组件的应用程序接口(api),将商业逻辑暴露给客户端的程序,可以用于响应动态请求,例如处理jsp请求。

在客户端(浏览器)浏览某个使用指定数据的网站时,服务器会为客户端产生一个唯一的识别码,并以此作为索引在服务器的后端数据库中产生一个项目,接着在返回给客户端的http响应报文中添加一个set-指定数据的首部行。当客户端(浏览器)收到这个响应时,就在其管理的cookie文件中取出这个识别码,并放到http请求报文的指定数据首部行中,可以看出,服务器基于cookie可以识别出客户端,因此,本申请通过在http请求的cookie中设置灰度标志,可以使服务器识别出可以用于灰度发布的客户端,具体方法如下。

参考图2所示,为本申请实施例提供的一种灰度发布方法的流程图,包括:

s101:接收客户端发起的第一资源请求;所述客户端包括web客户端。

在一些实施方式中,该第一资源请求可以为http请求,并且由于在客户端中预先存储有cookie,该cookie会在发送请求时,被发送至服务器端;具体的,可以将cookie的值存储在名为cookie的http消息头中。

在一些实施方式中,所述客户端可以是具有逻辑运算功能的电子设备,所述电子设备可以为台式电脑、平板电脑、笔记本电脑、移动手机、工作站等。当然,客户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。还可以是一种通过程序开发形成的程序软件,该程序软件可以运行于上述电子设备中,例如,还可以是b/s架构(browser/server,浏览器/服务器架构)中的web客户端(浏览器)。

s102:在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,向所述客户端返回重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

在一些实施方式中,第一资源请求对应的第一cookie信息中未包含灰度标志的原因,可以是该客户端第一次访问该服务器,或者在发布测试版本后首次访问服务器,也可能是第一cookie信息的灰度标志超过了设置的有效期。

在一些实施方式中,在第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群,可以通过以下步骤实现:

在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求分配给第一类web服务器集群,以使所述第一类web服务器集群在所述第一资源请求的host字段写入第一标志后,将其转发至应用服务器集群的软负载均衡组件,并使所述应用服务器集群的软负载均衡组件根据所述第一标志,将所述第一资源请求分配给所述第一类应用服务器集群。

其中,在http请求的请求头中,host字段可以用于指定请求服务器的域名/ip地址和端口号,因此,通过在host字段中写入第一类应用服务器集群的信息,就可以让应用服务器集群的软负载均衡组件通过识别host字段,将第一资源请求分配给第一类应用服务器集群。

在一些实施方式中,第一类应用服务器集群通过所述第一资源请求的用户信息及用户代理信息,判断所述第一资源请求是否满足预设的分流条件。具体的,用户信息可以包括用户的手机号、注册地,用户代理信息可以包括客户端所使用的操作系统的种类。例如,判断该客户端为ios设备还是android设备,若为ios设备,则满足预设的分流条件。

在一些实施方式中,当第一类应用服务器集群判断第一资源请求满足预设的分流条件之后,在第一cookie信息中写入灰度标志,并设置该灰度标志的有效期,再返回重定向响应,该重定向响应携带有包含所述灰度标志的第二cookie信息,且灰度标志的标志值为灰度,例如,将灰度标志的值设置为1。客户端在收到该响应后,将包含所述灰度标志的第二cookie信息保存在本地中,并将包含所述灰度标志的第二cookie信息存储在http消息头上,并发起该第二资源请求。

在一个具体的实施例中,灰度标志可以设置为feeversion=1,表明可以对该客户端进行灰度发布。

在一些实施方式中,接收客户端根据重定向响应,所发送的第二资源请求,其中,第二资源请求的第二cookie信息中包含灰度标志;将所述第二资源请求提供给第二类应用服务器集群;以使所述第二类应用服务器集群响应所述第二资源请求。

具体的,将所述第二资源请求提供给第二类应用服务器集群;以使所述第二类应用服务器集群响应所述第二资源请求,可以包括如下步骤:

将所述第二资源请求分配至第二类web服务器集群;以使第二类web服务器集群在第二资源请求的host字段重新写入第二标志后,将其转发至应用服务器集群的软负载均衡组件;以使应用服务器集群的软负载均衡组件根据所述第二标志,将第二资源请求分配给所述第二类应用服务器集群。

在一个具体的实施方式中,host字段在重定向之前写入的第一标志为fee.icbc.com.cn,host字段在重定向之后重新写入的第二标志为ebank-app-fee.icbc。其中,第一标志和第二标志分别指向第一类应用服务器集群和第二类应用服务器集群。

在一些实施方式中,在经过上述步骤之后,客户端在cookie中已经含有对应的灰度标志,host字段也根据设置后的灰度标志进行了重写。对于该客户端后续发起的资源请求,可以通过判断http请求中的url(统一资源定位符),判断出客户端请求的是静态资源还是动态资源,例如,包含.jpg的url为静态资源,包含.jsp或者.servlet的url为动态资源,因此,可以根据url将静态资源分配至web服务器集群,以使web服务器集群提供静态资源;将动态资源分配至应用程序服务器集群,以使应用程序服务器集群提供动态资源。

参考图3所示,本申请还提供一种灰度发布装置,包括:

资源请求接收模块10,可以用于接收客户端发起的第一资源请求;所述客户端包括web客户端。

资源请求转发模块20,可以用于在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,将所述第一资源请求提供给第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,向所述客户端返回重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

参考图4所示,为本申请提供的另一种灰度发布的方法,该方法应可以用于客户端一侧,可以包括如下步骤:

s201:发起第一资源请求;其中,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被发送至第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应。

在一些实施方式中,在第一资源请求对应的第一cookie信息中未包含灰度标志时,第一资源请求被发送至第一类应用服务器集群,可以通过以下步骤实现:

在第一资源请求对应的第一cookie信息中未包含灰度标志时,第一资源请求被分配给第一类web服务器集群,以使第一类web服务器集群在第一资源请求的host字段写入第一标志后,将其转发给应用服务器集群的软负载均衡组件,并使应用服务器集群的软负载均衡组件根据第一标志,将第一资源请求分配给第一类应用服务器集群。

在一些实施方式中,第一类应用服务器集群通过第一资源请求的用户信息及用户代理信息,判断所述第一资源请求是否满足预设的分流条件。

s202:接收重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

在一些实施方式中,在接收到重定向响应后,客户端发起第二资源请求,第二资源请求的第二cookie信息中包含灰度标志;第二资源请求被提供给第二类应用服务器集群;以使第二类应用服务器集群响应第二资源请求;最终接收第二类应用服务器返回的响应。

在一些实施方式中,第二资源请求被提供给第二类应用服务器集群;以使第二类应用服务器集群响应第二资源请求,可以通过以下方式实现:

第二资源请求被分配至第二类web服务器集群;以使第二类web服务器集群在所述第二资源请求的host字段重新写入第二标志后,将其转发至应用服务器集群的软负载均衡组件;并使应用服务器集群的软负载均衡组件根据第二标志,将第二资源请求分配给第二类应用服务器集群。

参考图5所示,为本申请提供的另一种灰度发布的装置,包括:

资源请求发起模块11,可以用于发起第一资源请求;其中,在所述第一资源请求对应的第一cookie信息中未包含灰度标志时,所述第一资源请求被发送至第一类应用服务器集群;以使所述第一类应用服务器集群在所述第一资源请求满足预设的分流条件时,返回重定向响应。

重定向响应接收模块21,可以用于接收重定向响应,所述重定向响应中携带有包含所述灰度标志的第二cookie信息。

如图6所示,本申请实施方式还提供一种计算机设备,包括处理器以及可以用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意一项方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意一项方法的步骤。

从以上的描述中,可以看出,本申请实施例实现了如下技术效果:

与现有技术中,通过手机app客户端,或基于程序分支的灰度发布方法相比,解决了对app客户端的依赖问题,可以适用于app客户端以及b/s架构(browser/server,浏览器/服务器架构)下的web客户端(浏览器)。

此外,与现有技术中,通过区分网络运营商的不同来实现灰度发布的方法相比,本申请无需修改系统网络的底层架构,实施的成本较小,降低了复杂度,可以灵活地定制适合自身业务情况的灰度分流策略。与此同时,灰度策略由应用系统自身进行维护,降低了对外依赖性。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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