首页> 中国专利> 一种虚拟机网络部署方案的决策模型训练方法

一种虚拟机网络部署方案的决策模型训练方法

摘要

本说明书披露的多个实施例提供了一种虚拟机网络部署方案的决策模型训练方法。基于强化学习的思路,训练一个用于输出虚拟机网络部署方案的决策模型,该决策模型输出的部署方案能够在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

著录项

  • 公开/公告号CN114816659A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 阿里云计算有限公司;重庆大学;

    申请/专利号CN202210302138.1

  • 申请日2022-03-24

  • 分类号G06F9/455(2006.01);G06K9/62(2022.01);H04L12/46(2006.01);

  • 代理机构北京博思佳知识产权代理有限公司 11415;

  • 代理人申亚辉

  • 地址 310024 浙江省杭州市西湖区转塘科技经济区块12号

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-16

    实质审查的生效 IPC(主分类):G06F 9/455 专利申请号:2022103021381 申请日:20220324

    实质审查的生效

说明书

技术领域

本说明书多个实施例涉及信息技术领域,尤其涉及一种虚拟机网络部署方案的决策模型训练方法。

背景技术

目前在云计算技术场景下,用户可以申请在云计算服务方的设备网络中部署用户自己定义的虚拟机网络,以便利用虚拟机网络来实现用户指定的业务。容易理解,这相当于是用户将自己的业务系统由本地迁移到云端,利用云计算服务方的硬件资源,运行用户自己的业务相关的软件功能,软件功能基于虚拟机网络实现。

然而,虚拟机网络中不同虚拟机对用于部署自身的服务器的硬件资源诉求不尽相同,设备网络中不同服务器客观上的可用硬件资源也不尽相同,因此,采用怎样的虚拟机网络部署方案(即在哪个服务器上部署哪个虚拟机)才能尽可能高效利用各个服务器的可用硬件资源,实现效益最优,是本领域技术人员需要考虑的技术问题。

发明内容

本说明书的多个实施例提供一种虚拟机网络部署方案的决策模型训练方法,以便尽可能高效利用设备网络中各个服务器的可用硬件资源。

本说明书多个实施例提供技术方案如下:

根据本说明书多个实施例的第一方面,提出了一种虚拟机网络部署方案的决策模型训练方法,包括:

监测当前决策状态,得到第一状态信息;其中,将当前决策状态定义为:设备网络中每个服务器当前的可用硬件资源的大小,当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小;

将第一状态信息输入待训练的决策模型,从备选部署方案集合中选择一个备选部署方案;

采用选择的该备选部署方案,向设备网络中部署当前待部署的虚拟机网络;其中,若该备选部署方案指定的用于部署每个虚拟机的服务器的可用硬件资源的大小,大于或等于该虚拟机所诉求的硬件资源的大小,则部署成功,否则部署失败,并且,若部署成功,则消耗设备网络中至少部分服务器当前的可用硬件资源的大小;

重新确定设备网络中每个服务器当前的可用硬件资源的大小,将当前待部署的虚拟机网络重新设定为下一个待部署的虚拟机网络;之后,再次监测当前决策状态,得到第二状态信息;

确定正相关于设备网络的可用硬件资源的大小变化的奖励值,并且,基于待训练的评分模型,分别对所述第一状态信息与所述第二状态信息进行评分;

基于所述第一状态信息、所述第二状态信息、所述奖励值,训练所述决策模型。

根据本说明书多个实施例的第二方面,提出了一种虚拟机网络部署方案的决策方法,包括:

监测当前决策状态,得到当前状态信息;其中,将当前决策状态定义为:设备网络中每个服务器当前的可用硬件资源的大小,当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小;

将当前状态信息输入第一方面的训练方法训练得到的决策模型,从备选部署方案集合中选择一个备选部署方案;

采用选择的该备选部署方案,向设备网络中部署当前待部署的虚拟机网络。

根据本说明书多个实施例的第三方面,提出了一种电子设备,包括存储器、处理器;所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现第一方面或第二方面的方法。

根据本说明书多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面或第二方面的方法。

在上述技术方案中,基于强化学习的思路,训练一个用于输出虚拟机网络部署方案的决策模型,该决策模型输出的部署方案能够在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

训练该决策模型的具体方法为,将设备网络中每个服务器当前的可用硬件资源的大小,以及当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小,作为强化学习中定义的“状态“,本文称之为当前决策状态;将当前决策状态输入给决策模型,使得决策模型针对当前决策状态给出一个备选部署方案,这个备选部署方案作为强化学习中所定义的“动作”。将“动作”施加于“状态”之后,会导致“状态”发生变化,不论部署是否成功,至少当前待部署的虚拟机网络变为下一个虚拟机网络,虚拟机网络中每个虚拟机所诉求的硬件资源大小往往发生变化,此外,如果部署成功,则设备网络中至少部分服务器当前的可用硬件资源也被消耗了。再次监测当前决策状态,实际上监测到的是变化后的决策状态。

将正相关于设备网络的可用硬件资源的大小变化(容易理解,是一个整体变化值)的值定义为强化学习中的奖励值,容易理解,如果部署失败,则设备网络的可用硬件资源的大小无变化,这种情况下的奖励值是最小的(例如可以为0)。设备网络的可用硬件资源的大小变化越大(既消耗的硬件资源越多),说明基于该备选部署方案所部署成功的虚拟机网络对设备网络的硬件资源的利用程度越高,也就意味着对设备网络的硬件资源的利用越高效。

如此,可以基于强化学习的训练方法,根据新旧状态信息、奖励值来优化调整决策模型,以训练决策模型。

在完成决策模型训练之后,当面对需要在设备网络中部署某个虚拟机网络的需求时,可以将当前的决策状态输入决策模型,得到决策模型输出的备选部署方案,基于该备选部署方案来进行部署,可以在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

附图说明

图1是本说明书提供的一种虚拟机网络部署方案的决策模型训练方法的流程示意图。

图2是本公开提供的一种适用于VPC组网方式的设备网络的结构示意图。

图3是本公开提供的一种基于强化学习框架的决策系统的示意图。

图4是本公开提供的一种虚拟机网络部署方案的决策方法的流程示意图。

具体实施方式

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

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

此处对本公开所提供的技术方案的应用场景进行介绍。在云计算技术场景下,用户可以选择自己定义一个虚拟机网络,将该虚拟机网络部署到云计算服务方的设备网络中,此处的设备网络是指由多个物理的服务器(或称为物理机)组成的网络。用户定义的虚拟机网络中不同虚拟机的硬件资源诉求可以相同,也可以不同。所谓的虚拟机的硬件资源诉求,是指虚拟机对预期所要部署在的设备(一般是服务器)的硬件资源的诉求。

此处的硬件资源可以是虚拟机所能够使用的任何硬件资源,本领域技术人员可以根据实际业务需要具体设置硬件资源的种类。举例来说,硬件资源可以是设备的计算资源,也可以是设备的数据转发资源,还可以是设备的带宽资源、存储空间、电量等等。

虚拟机对硬件资源的诉求,是指虚拟机在实际运行之后,需要使用的设备的硬件资源大小。例如,虚拟机可以诉求所要使用的设备的计算资源大小,所要使用的数据转发资源大小,所要使用的带宽资源、存储空间、电量等大小。

可以理解,虚拟机所部署在的设备的可用硬件资源的大小,应当满足(大于或等于)该虚拟机所诉求的硬件资源的大小。

设备网络中的不同服务器的可用硬件资源的大小不尽相同。例如,不同服务器的规格型号不同,客观上的硬件能力不同。又如,设备网络中可以部署多个虚拟机网络,在部署当前的虚拟机网络之前,已经部署了其他虚拟机网络,占用了一些硬件资源,导致不同服务器的可用硬件资源大小不尽相同。需要说明的是,单个服务器上可部署一个或多个虚拟机。

然而,由人工手动将虚拟机网络向设备网络部署,涉及到遍历性比较设备网络中的设备的可用硬件资源与虚拟网络中每个虚拟机的硬件资源诉求的操作,效率太低。因此,需要一种方案可以实现自动将虚拟机网络部署到设备网络中,并且,这种自动部署方案(即在哪个服务器上部署哪个虚拟机)最好可以尽可能高效利用各个服务器的可用硬件资源,对云计算服务方来说实现效益最优。

为此,在本公开提供的一个或多个实施例中,基于强化学习的思路,训练一个用于输出虚拟机网络部署方案的决策模型,该决策模型输出的部署方案能够在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

训练该决策模型的具体方法为,将设备网络中每个服务器当前的可用硬件资源的大小,以及当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小,作为强化学习中定义的“状态“,本文称之为当前决策状态;将当前决策状态输入给决策模型,使得决策模型针对当前决策状态给出一个备选部署方案,这个备选部署方案作为强化学习中所定义的“动作”。将“动作”施加于“状态”之后,会导致“状态”发生变化,不论部署是否成功,至少当前待部署的虚拟机网络变为下一个虚拟机网络,虚拟机网络中每个虚拟机所诉求的硬件资源大小往往发生变化,此外,如果部署成功,则设备网络中至少部分服务器当前的可用硬件资源也被消耗了。再次监测当前决策状态,实际上监测到的是变化后的决策状态。

将正相关于设备网络的可用硬件资源的大小变化(容易理解,是一个整体变化值)的值定义为强化学习中的奖励值,容易理解,如果部署失败,则设备网络的可用硬件资源的大小无变化,这种情况下的奖励值是最小的(例如可以为0)。设备网络的可用硬件资源的大小变化越大(既消耗的硬件资源越多),说明基于该备选部署方案所部署成功的虚拟机网络对设备网络的硬件资源的利用程度越高,也就意味着对设备网络的硬件资源的利用越高效。

如此,可以基于强化学习的训练方法,根据新旧状态信息、奖励值来优化调整决策模型,以训练决策模型。

在完成决策模型训练之后,当面对需要在设备网络中部署某个虚拟机网络的需求时,可以将当前的决策状态输入决策模型,得到决策模型输出的备选部署方案,基于该备选部署方案来进行部署,可以在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

以下结合附图,详细说明上述技术方案。

图1是本说明书提供的一种虚拟机网络部署方案的决策模型训练方法的流程示意图,包括以下步骤:

S100:监测当前决策状态,得到第一状态信息。

S102:将第一状态信息输入待训练的决策模型,从备选部署方案集合中选择一个备选部署方案。

S104:采用选择的该备选部署方案,向设备网络中部署当前待部署的虚拟机网络。

S106:重新确定设备网络中每个服务器当前的可用硬件资源的大小,将当前待部署的虚拟机网络重新设定为下一个待部署的虚拟机网络。

S108:在步骤S106之后,再次监测当前决策状态,得到第二状态信息。

S110:确定正相关于设备网络的可用硬件资源的大小变化的奖励值。

S112:基于所述第一状态信息、所述第二状态信息、所述奖励值,训练所述决策模型。

在本公开中,将当前决策状态定义为:设备网络中每个服务器当前的可用硬件资源的大小,当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小。

对于步骤S104,若该备选部署方案指定的用于部署每个虚拟机的服务器的可用硬件资源的大小,大于或等于该虚拟机所诉求的硬件资源的大小,则部署成功,否则部署失败,并且,若部署成功,则消耗设备网络中至少部分服务器当前的可用硬件资源的大小。

此外,本公开还对如何基于第一状态信息、所述第二状态信息、所述奖励值,训练所述决策模型进行介绍。一般而言,强化学习框架中不仅包括待训练的决策模型,还包括待训练的评分模型。可以基于待训练的评分模型,分别对所述第一状态信息与所述第二状态信息进行评分;根据所述第一状态信息的评分、第二状态信息的评分与所述奖励值,计算训练误差;其中,所述训练误差正相关于所述奖励值,负相关于所述第二状态信息的评分与所述第一状态信息的评分的差值;以降低所述训练误差为训练目标,调整所述决策模型与所述评分模型。

在一些实施例中,设备网络中每个服务器当前的可用硬件资源的大小具体可以是设备网络中每个服务器当前的可用计算资源大小、可用数据转发资源的大小、可用带宽资源的大小;可用带宽资源包括:该服务器与设备网络中每个其他服务器之间的通信链路的带宽之和。

其中,可用计算资源的大小例如可以是可用的内存大小、可用的缓存大小,或者,处理器核心的数量。

可用数据转发资源的大小,可以理解为单位时间内可调用的数据转发资源的大小,这是数据转发能力的体现。

如此,对于当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源的大小,具体可以是:当前待部署的虚拟机网络中每个虚拟机所诉求的计算资源的大小,以及,所诉求的保证转发数据量;其中,该保证转发数据量为保证在该虚拟机能够与其他虚拟机之间进行转发的最低数据量。

其中,用于部署每个虚拟机的服务器的可用硬件资源的大小,大于或等于该虚拟机所诉求的硬件资源的大小,具体可以包括:用于部署每个虚拟机的服务器的可用计算资源的大小,大于或等于该虚拟机所诉求的计算资源大小;并且用于部署每个虚拟机的服务器的可用数据转发资源的大小,大于或等于该虚拟机所诉求的转发数据量;并且用于部署每个虚拟机的服务器的可用带宽资源的大小,大于或等于该虚拟机所诉求的转发数据量。

其中,虚拟机所诉求的保证转发数据量,可以理解为虚拟机所诉求的单位时间内的I/O(接收/发送)数据量的下限值。

在一些实施例中,当前待部署的虚拟机网络中每个虚拟机所诉求的计算资源,可以包括:该服务器能提供给虚拟机使用的虚拟核心的数量;该服务器所能提供给虚拟机使用的虚拟核心,是基于该服务器的处理器核心映射而成的,单个处理器核心映射为若干虚拟核心;

其中,虚拟机网络中每个虚拟机所诉求的计算资源包括:该虚拟机申请占用的虚拟核心的数量,其中,不同虚拟机所占用的虚拟核心不同。

在一些实施例中,云计算服务方通常基于云虚拟私有网络(Virtual PrivateCloud,VPC)的组网方式,在设备网络中部署虚拟机网络。图2是本公开提供的一种适用于VPC组网方式的设备网络的结构示意图。如图2所示,在VPC的组网方式下,设备网络通常包括若干核心交换机、若干边缘交换机、若干服务器。其中,不同边缘交换机对接不同的服务器组,每个边缘交换机用于实现其所对接的服务器之间的通信转发;每个核心交换机对接全部边缘交换机,用于实现不同边缘交互机之间的通信转发。

在一些实施例中,所述备选部署方案集合中的至少部分备选部署方案是随机生成的。在另一些实施例中,所述备选部署方案中的至少部分备选部署方案是基于不同的方案生成算法生成的,方案生成算法为,基于当前待部署的虚拟机网络中每个虚拟机所诉求的硬件资源大小与设备网络中每个服务器当前的可用硬件资源大小,生成可部署成功的备选部署方案的算法。当然,所述备选部署方案集合中的备选部署方案可以基于上述两个实施例来生成。

此处示例性提供一种方案生成算法(记为方案生成算法1),包括:

对设备网络中的各服务器进行排序;并且,对虚拟机网络中各虚拟机进行两次排序,得到第一虚拟机序列与第二虚拟机序列;

将第一个服务器作为当前服务器,将第一虚拟机序列中的第一个虚拟机作为当前虚拟机,并执行以下第一流程:

判断是否能够成功将当前虚拟机部署到当前服务器;

若能够成功,则将当前虚拟机与当前服务器建立部署关系,记录该部署关系,并且,将下一个服务器重新作为当前服务器,将第一虚拟机序列中的下一个虚拟机重新作为当前虚拟机,重新执行第一流程;

若不能够成功,则判断失败原因;

若失败原因是当前服务器的可用计算资源大小小于当前虚拟机所诉求的计算资源大小,或者,当前服务器的可用数据转发资源大小小于当前虚拟机所诉求的保证转发数据量,则将下一个服务器重新作为当前服务器,重新执行第一流程;

若失败原因是当前服务器的可用带宽资源大小小于当前虚拟机所诉求的保证转发数据量,则将当前虚拟机与第二虚拟机序列中的下一个虚拟机归入测试集合,并执行以下第二流程:

判断是否能够成功将测试集合部署到当前服务器;

若能够成功,则将测试集合中的虚拟机归入有效集合中;若不能够成功,则判断失败原因;

若失败原因是当前服务器的可用计算资源大小小于测试集合所诉求的计算资源大小,或者,当前服务器的可用数据转发资源大小小于测试集合所诉求的保证转发数据量,则在有效集合不为空的情况下,建立有效集合中的虚拟机与当前服务器之间的部署关系,记录该部署关系,并且,将第一虚拟机序列中除有效集合中的虚拟机之外的下一个虚拟机重新作为当前虚拟机,将下一个服务器重新作为当前服务器,重新执行第一流程;在有效集合为空的情况下,将第一虚拟机序列中当前虚拟机的下一个虚拟机重新作为当前虚拟机,将下一个服务器重新作为当前服务器,重新执行第一流程;

若失败原因是当前服务器的可用带宽资源大小小于测试集合所诉求的保证转发数据量,则将第二虚拟机序列中除有效集合中的虚拟机之外的下一个虚拟机归入测试集合,重新执行第二流程。

在方案生成算法1的基础上,还可以进一步进行改进:

计算设备网络中的每个服务器的能力值,该能力值是该服务器的当前的可用计算资源大小、可用数据转发资源大小、可用带宽资源大小在归一化之后的加权和;

对设备网络中的各服务器进行排序,包括:

根据设备网络中各服务器的能力值大小,对各服务器进行排序。进一步的,可以由大到小排序,或者由小到大排序。

如此,在方案生成算法1的基础上进行上述改进之后,得到方案生成算法2(根据服务器的能力值,对各服务器由大到小排序)与方案生成算法3(根据服务器的能力值,对各服务器由小到到排序)。

此外,在方案生成算法2和方案生成算法3的基础上,可以进行如下进一步改进:

在VPC组网方式下,根据设备网络中各服务器的能力值大小,对各服务器进行排序,可以包括:

根据设备网络中各边缘交换机所对接的服务器组的能力值之和的大小,对各服务器组进行排序;按顺序将各服务器组中的服务器组成队列。进一步的,可以由大到小排序,或者由小到大排序。

如此,可以得到适用于VPC组网方式下的方案生成算法4(由方案生成算法2改进得到)和方案生成算法5(由方案生成算法3改进得到)。

在方案生成算法1的基础上,还可以进行如下改进:

计算虚拟机网络中每个虚拟机的诉求值,该诉求值是该虚拟机所诉求的计算资源大小与所诉求的保证转发数据量在归一化之后的加权和。

对虚拟机网络中各虚拟机进行两次排序,包括:

根据虚拟机网络中各虚拟机的诉求值大小,对各虚拟机进行排序,得到第一虚拟机序列;根据虚拟机网络中各虚拟机所诉求的保证转发数据量的大小,由小到大对各虚拟机进行排序,得到第二虚拟机序列。其中,第一虚拟机序列中的各虚拟机可以是由大到小排列或者由小到大排列,而第二虚拟机序列中的各虚拟机通常是由小到大排序。

如此,可以得到方案生成算法6(第一虚拟机序列中各虚拟机按照诉求值大小由大到小排列)与方案生成算法7(第一虚拟机序列中各虚拟机按照诉求值大小由小到大排列)。

上述的方案生成算法1-7都可以用于生成备选部署方案,将生成的备选部署方案加入到备选部署方案集合以供决策模型进行选择。

需要说明的是,虚拟机所诉求的保证转发数据量不仅受到服务器的可用带宽资源的制约,而且受到服务器的可用数据转发资源的制约,而服务器的可用数据转发不仅涉及服务器之间的通信,这需要使用服务器的可用带宽资源,而且涉及服务器的内部通信(例如部署在同一服务器上的不同虚拟机之间的交互),服务器的内部通信不需要使用服务器的可用带宽资源。这意味着,如果同一虚拟机网络中的多个虚拟机部署在同一服务器上,反而可能比该服务器上仅部署了该虚拟机网络中的单个虚拟机,所实际消耗的带宽资源更少(因为部署在同一服务器上的不同虚拟机之间可能会进行服务器内部通信,不需要消耗服务器的可用带宽资源),因此,服务器的可用带宽资源属于“非递增消耗”,因此,需要在上述的方案生成算法中设置第二流程,来分析在单个虚拟机不能成功部署在某个服务器上的情况下,包括该单个虚拟机在内的多个虚拟机是否能够成功部署在同一服务器上。也正因为如此,第二虚拟机序列中的各虚拟机的顺序可以优选为由小到大排序,使得原本所诉求的带宽资源不多的多个虚拟机可以尽可能部署在同一服务器上,节省服务器的可用带宽资源。

图3是本公开提供的一种基于强化学习框架的决策系统的示意图。如图3所示,决策系统包括决策模型、评价模型、备选部署方案生成模块,备选部署方案生成模块可以内置多种生成备选部署方案的算法。在模型训练阶段,利用备选部署方案生成模块提供备选部署方案集合,决策模型选择一种备选部署方案进行模拟部署,然后,评价模型对于决策状态的变化情况进行评价,同时,确定正相关于设备网络的可用硬件资源的大小变化的奖励值,如此,可以基于决策状态的变化以及奖励值,调整决策模型的参数以及评价模型的参数,迭代训练决策模型与评价模型。

图4是本公开提供的一种虚拟机网络部署方案的决策方法的流程示意图,包括:

S400:监测当前决策状态。

S402:将当前状态信息输入训练得到的决策模型,从备选部署方案集合中选择一个备选部署方案。

S404:采用选择的该备选部署方案,向设备网络中部署当前待部署的虚拟机网络。

在完成决策模型训练之后,当面对需要在设备网络中部署某个虚拟机网络的需求时,可以将当前的决策状态输入决策模型,得到决策模型输出的备选部署方案,基于该备选部署方案来进行部署,可以在尽可能确保部署成功的前提下,尽可能高效利用设备网络中各服务器的可用硬件资源。

在工程实践中,可以将强化学习框架内置于网络部署程序。网络部署程序可以运行在设备网络中的任一服务器上,也可以运行在设备网络之外的其他服务器上。

也就是说,网络部署程序可以基于内置的强化学习框架,实现图1所示的方法流程,训练得到决策模型。此外,网络部署程序可以基于训练好的决策模型,针对当前待部署的虚拟机网络与当前的设备网络,输出相应的部署方案。网络部署程序在执行步骤S404时,可以基于该部署方案,向设备网络中的一个或多个服务器发送虚拟机部署指令,将虚拟机网络部署在设备网络中。另外,步骤S404也可以不由网络部署程序来执行,而是由人工来执行,人工根据网络部署程序输出的部署方案,对设备网络中的一个或多个服务器进行虚拟机部署操作。

本说明书还提供一种电子设备,包括存储器、处理器;所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现图1或4所示方法流程。

本说明书还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现图1或4所示方法流程。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

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

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

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

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

在本说明书多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书多个实施例。在本说明书多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本说明书多个实施例的较佳实施例而已,并不用以限制本说明书多个实施例,凡在本说明书多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书多个实施例保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号