掌桥专利:专业的专利平台
掌桥专利
首页

一种基于同构处理器的虚拟异构全域任务调度调优方法

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及服务器技术领域,尤其涉及一种基于同构处理器的虚拟异构全域任务调度调优方法。

背景技术

随着云计算技术以及相关衍生技术与产品的不断兴起和发展,互联网行业的业务量逐渐呈现一种爆发式的增长。而作为虚拟数据的物理载体,服务器对于数据的存储能力、处理能力和交互能力从根本上决定了云计算的上限。随着互联网用户业务量的增长,网络实时数据吞吐量也呈现一种几何式的增长。在如此大的数量交互基础上,服务器节点的工作效率以及工作能耗的平衡就成为了一块技术高地。

如何使服务器节点既能做到高效又能做到节能?就目前服务器市场的大环境而言,对于非嵌入式应用场景来说,产品多是基于同构多处理器架构下的设计,也即统称的二路、四路或是八路等服务器。这些服务器架构下的CPU都是完全一样的同构CPU,也即每个Core对于系统来说是平等的。

基于这种架构下,对于处理器功耗的调控方式多是基于频率调控,比如Intel的EIST智能降频技术,能够根据不同的系统工作量自动调节处理器的电压和频率,以减少电量和发热量。

但是这与前述提到的“同时实现既节能又高效”存在冲突。因为基于同构架构下,频率的整体降低意味着效率的整体降低。为此AMD提出了big.LITTLE架构,通过一个高性能大核搭配数个高节能小核,同时通过OS对任务进行分配和迁移来达到这一目的。在Win10调度器中加入大小核算法之后Intel也相继推出了Lakefield和Alder Lake两代。

但是无论是AMD还是Intel的这两款CPU都是基于MCP(muti-chip packaged,多芯片封装)或MCM(muti-chip module,多芯片模块),在单片上实现HMP(HeterogeneousMutiprocessing,异构多处理)。其工艺实现是基于3D Packaged,通过Interposer或是EMIB(Embedded Muti-die Interconnect Bridge,嵌入式多裸片互连桥接)来实现Chiplet堆叠。Chiplet的堆叠必定会导致单位面积TDP(Thermal Design Power,散热设计功耗)的增加。故而目前该技术多用于嵌入式产品。

对于服务器产品来说,线程更多,资源更多,整体的性能分配更复杂,Base CPUDie相较于嵌入式产品更大,如果要做类似HBM(High Bandwidth Memory,高带宽存储器)技术的封装实现Chiplet堆叠成本会增加,以目前的封装工艺并不适用于该使用环境,单为服务器这种计算密集型机型去开发产品也不太现实。

对于现有通用服务器架构,以Intel Eagle Stream平台4路服务器为例。big.LITTLE架构的核心是物理实现上的大小核组合,无法适用于目前的服务器产品。目前服务器产品采用的是同构处理器架构,在整体WL超过业务需求且业务需求又较为复杂的情况下,无法实现类似异构处理器架构能做到的“既高效,又节能”。如果要实现高效和节能,一般会采取上述涉及的EIST技术,颗粒度较低。

目前现有的通用服务器架构基于Chiplet级的异构调控,颗粒度不适用于现有服务器场景。因此,现有方案无法实现在现有X86通用服务器架构下的高效与节能并存。

发明内容

目前现有的通用服务器架构基于Chiplet级的异构调控,颗粒度不适用于现有服务器场景。因此,现有方案无法实现在现有X86通用服务器架构下的高效与节能并存。

为解决上述问题,本发明提供了一种基于同构处理器的虚拟异构全域任务调度调优方法来实现在现有服务器架构下的虚拟异构,实现既高效,又节能。在现有的X86服务器平台下的同构处理器架构基础上,实现异构处理器架构的工作负荷“按劳分配”,基于同构硬件进行异构虚拟,并通过全域任务调度实现满足性能前提下的功耗节能,细化管理颗粒度。

为实现上述目的,本发明实施例提供了如下的技术方案:

第一方面,在本发明提供的一个实施例中,提供了一种基于同构处理器的虚拟异构全域任务调度调优方法,包括以下步骤:

操作系统(Operating System,简称OS)根据实际工作负荷(WorkLoad)是否大于预设负载阈值,判断是否开启虚拟异构处理(Virtually Heterogeneous MutiProcessing)功能,若实际工作负荷小于预设负载阈值,内核无需全部额定工作,则开启虚拟异构处理(Virtually Heterogeneous MutiProcessing)功能,将物理层(Physical layer)的非异构的CPU(Anisomeric CPU)按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核;

所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇(Cluster)进行调控;

当所述操作系统接收到命令(Command)时,根据所述操作系统的实际参数判断任务优先级,并输出优先级列表(Priority List);

Linux调度程序(Linux Scheduler)按照所述优先级列表将各任务派发到对应的虚拟核上;当所述任务优先级发生变化时,调度程序(Scheduler)对任务进行内核(Core)迁移;

当所述操作系统判定当前实际工作负荷达到预设负载阈值时,退出虚拟化模式,CPU正常工作在物理层。

作为本发明的进一步方案,所述操作系统根据实际工作负荷是否大于预设负载阈值,判断是否开启虚拟异构处理功能,若实际工作负荷大于预设负载阈值,内核需要全部额定工作,则不需要开启虚拟异构处理功能,以原调控策略进行工作。

作为本发明的进一步方案,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,包括:

采用同构虚拟化的方式将同构CPU的两颗内核(Core)虚拟为一颗高效内核(VCore_Efficient),用于工作在额定频率时承担时间相关需求度高且工作负荷重的任务;

将同构CPU的其余内核对应虚拟为节能内核(VCore_Energy Saving),用于承担时间相关需求度低且工作负荷轻的任务。

作为本发明的进一步方案,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,还包括:将所述高效内核与所述节能内核的排布按照芯片的实际Fan-out封装。

作为本发明的进一步方案,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,得到经过虚拟化后的虚拟异构多处理单元(VirtuallyHeterogeneous MutiProcessing Unit)。

作为本发明的进一步方案,所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇进行调控,调控的方法包括:

以虚拟核为单位进行任务调度,按照任务优先级对任务进行分配。

作为本发明的进一步方案,所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇进行调控,还包括:

将高效内核与节能内核一一结对组成一个一个的簇,以簇为单位进行管理。

作为本发明的进一步方案,所述操作系统的实际参数包括时间相关需求度、工作负荷。

作为本发明的进一步方案,所述基于同构处理器的虚拟异构全域任务调度调优方法,还包括:基于PCU(Packaged Control Unit,分组控制单元)和FIVR(Fully IntegratedVoltage Ragulator,全集成电压调节模块)提出颗粒度为内核的功率调节(PowerRegulating),采用所述PCU控制CPU内核的频率,用于掌握各个内核的频率,采用FIVR控制CPU内核的供电电压(Vcc),用于控制各个内核的电源的是否关闭。

作为本发明的进一步方案,所述CPU内核中还连接有温度传感器,所述温度传感器用于检测所述CPU内核的温度,用于所述FIVR根据所述温度传感器检测的温度判断是否关闭对应内核的电源。

作为本发明的进一步方案,当所述任务优先级发生变化时,调度程序(Scheduler)对任务进行内核(Core)迁移,若所述操作系统判断所述任务的优先级下降,进程切换到同一个簇中的对应的高效内核或节能内核上。

第二方面,在本发明提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现基于同构处理器的虚拟异构全域任务调度调优方法的步骤。

第三方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述基于同构处理器的虚拟异构全域任务调度调优方法的步骤。

本发明提供的技术方案,具有如下有益效果:

本发明提供的基于同构处理器的虚拟异构全域任务调度调优方法,在同构处理器架构的基础上,实现了以内核为颗粒度的虚拟化,并组成相应的异构多处理(Heterogeneous MutiProcessing)架构;在现有服务器架构下实现big.LITTLE理念的引入,达到任务按能分配,实现系统整体“既高效,又节能”;并且,基于PCU和FIVR提出颗粒度为内核的功率调节(Power Regulating)方案,可有效解决目前服务器同构CPU架构下管理颗粒度不够精细的问题,实现“既节能,又高效”。

本发明的基于同构处理器的虚拟异构全域任务调度调优方法,基于内核虚拟化,以内核为颗粒度的功耗管理策略,基于虚拟异构处理的整体任务调度,实现异构处理器架构的“按劳分配”,基于同构硬件进行异构虚拟,并通过全域任务调度实现满足性能前提下的功耗节能,细化管理颗粒度。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。在附图中:

图1为AMD big.LITTE架构Linux Scheduler工作示意图。

图2为Intel Eagle Stream平台4CPU互联拓扑示意图。

图3为本发明一个实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法的流程图。

图4为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法的整体架构拓扑示意图。

图5为本发明一个实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中同构CPU的示意图。

图6为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中同构CPU内部Core互联示意图。

图7为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中CPU Core P-V映射关系图。

图8为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中CPU Core P-V映射关系图。

图9为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中CPU Virtual Core互联简易示意图。

图10为本发明实施例的一种基于同构处理器的虚拟异构全域任务调度调优方法中SNC4策略下的均衡管理示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本申请中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本申请中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

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

由于以目前的封装工艺并不适用于该使用环境,单为服务器这种计算密集型机型去开发产品也不太现实。本申请提出了一种基于同构处理器的虚拟异构全域任务调度调优方法来实现在现有服务器架构下的虚拟异构,实现既高效,又节能。

由于目前适用于嵌入式产品的AMD big.LITTLE大小核架构以及目前通用服务器的CPU架构。以AMD的A15+7为例。其是将Cortex-A15的性能和Cortex-A7的节能结合在一起,A15作为大核心,工作在较高的电压和频率下,消耗更多的能量,用于计算繁重的任务;A7作为小核心,其性能是A15的一半,但是功耗是其1/7。

然后在Linux的管理器中采用CS(Cluster Switching,簇切换),IKS(In-KernelSwitching,内核内置切换器)和GTS(Global Task Scheduling,全域任务调度器)来在OS层面上实现对具体任务进程的智能分配,如图1所示。

对于现有通用服务器架构,以Intel Eagle Stream平台4路服务器为例,其适用的一种互联方式如图2所示,其中4颗CPU必须是同型号的,CPU之间通过UPI链路实现互联。

然而,现有的通用服务器架构中,在异构处理器架构的管理时,通常采用将异构处理器虚拟映射成同构处理器交由软件进行任务处理执行,或者将异构处理器同步为支持同频率的同构模型,计算出峰值温度和任务分配的依赖关系,实现针对温度的按需分配来实现功耗调节,或者针对不同处理组件在同一温度下的不同表现性能,进行工作负荷的最佳分配,以达到QoS(Quality of Service,服务质量)的最优化。

但是,big.LITTLE架构的核心是物理实现上的大小核组合,无法适用于目前的服务器产品。而且,目前服务器产品采用的是同构处理器架构,在整体WL超过业务需求且业务需求又较为复杂的情况下,无法实现类似异构处理器架构能做到的“既高效,又节能”。如果要实现高效和节能,一般会采取前文提到的EIST技术,颗粒度较低。

另外,上述现有技术均是基于Chiplet级的异构调控,颗粒度不适用于现有服务器场景。

综上所述,现有方案无法实现在现有X86通用服务器架构下的高效与节能并存。

本发明提供的基于同构处理器的虚拟异构全域任务调度调优方法,针对现有的X86服务器平台下的同构处理器架构,实现异构处理器架构的“按劳分配”,基于同构硬件进行异构虚拟,并通过全域任务调度实现满足性能前提下的功耗节能,细化管理颗粒度。

具体地,下面结合附图,对本申请实施例作进一步阐述。

参见图3所示,本发明的一个实施例提供一种基于同构处理器的虚拟异构全域任务调度调优方法,该基于同构处理器的虚拟异构全域任务调度调优方法具体包括如下步骤:

S1、操作系统根据实际工作负荷是否大于预设负载阈值,判断是否开启虚拟异构处理功能,若实际工作负荷小于预设负载阈值,内核无需全部额定工作,则开启虚拟异构处理功能,将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核;

S2、所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇进行调控;

S3、当所述操作系统接收到命令时,根据所述操作系统的实际参数判断任务优先级,并输出优先级列表;

S4、Linux调度程序按照所述优先级列表将各任务派发到对应的虚拟核上;当所述任务优先级发生变化时,调度程序对任务进行内核迁移;

S5、当所述操作系统判定当前实际工作负荷达到预设负载阈值时,退出虚拟化模式,CPU正常工作在物理层。

在本实施例中,所述操作系统根据实际工作负荷是否大于预设负载阈值,判断是否开启虚拟异构处理功能,若实际工作负荷大于预设负载阈值,内核需要全部额定工作,则不需要开启虚拟异构处理功能,以原调控策略进行工作。

本申请的基于同构处理器的虚拟异构全域任务调度调优方法,以此在同构CPU架构的物理基础上,同构虚拟异构处理单元的方法,达到任务按能力分配,实现系统整体的“既高效,又节能”。

参见图4所示,具体的调度调优执行操作包括以下步骤:

S10:OS(Operating System,简称OS,即:操作系统)根据总工作负荷的实际情况判断是否需要开启虚拟异构处理(Virtually Heterogeneous MutiProcessing)的功能,若不需要,则以原调控策略进行工作。

S20:若OS判断目前工作负荷(WorkLoad)不重,内核无需全部额定工作。则开启虚拟异构(Virtually Heterogeneous)功能。将物理层(Physical layer)的非异构的CPU(Anisomeric CPU)按照进行虚拟化处理。

S30:OS根据SNC4策略将虚拟化后的CPU分为4个簇(Cluster)进行调控。

S40:当OS接到命令(Command),根据实际情况(时间相关需求度,工作符合等等实际参数)判断任务优先级并输出优先级列表(Priority List)。

S51:Linux调度程序(Linux Scheduler)按照优先级列表(Priority List)将各个任务派发到合适的虚拟核上以实现“既高效,又节能”。

S52:当发现任务优先级出现变化时,调度程序(Scheduler)有权限对任务进行Core迁移。

S60:当OS判定目前工作负荷(WorkLoad)达到阈值时候,退出虚拟化模式,CPU正常工作在物理层。

在本申请的实施例中,所述操作系统的实际参数包括时间相关需求度、工作负荷。

在本申请的一些实施例中,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,包括:

采用同构虚拟化的方式将同构CPU的两颗内核(Core)虚拟为一颗高效内核(VCore_Efficient),用于工作在额定频率时承担时间相关需求度高且工作负荷重的任务;

将同构CPU的其余内核对应虚拟为节能内核(VCore_Energy Saving),用于承担时间相关需求度低且工作负荷轻的任务。

在本申请的一个实施例中,以4颗同构72核4MC(Memory Controller,内存控制器)CPU组成的架构为例。当然实际应用场景包含同时不限于本申请所例举的技术方案。

参见图5所示,本申请的实施例中涉及的4MC72Core通用CPU,每两个Core共用一级L2 Cache。4个CPU之间通过类似图2所示的拓扑实现互联。Core连接高速缓冲存储器(Cache),高速缓冲存储器(Cache)连接MC,MC挂在存储器(Memory)总线上,同时CPU芯片(CPU Die)的四个角上都有UPI模块(UPI Module),以此实现全体互联。在原有的同构架构下,当一个命令被下达,由于同构,对于OS各个Core都是平等的,假设指令落在了CPU 0的Core17上,Core再访问相邻的Cache,Cache miss再访问主存储器(Main Memory),以此完成一个基础的指令。

图6为本申请的实施例涉及的72CoreCPU内部Core互联示意图。在本申请的基于同构处理器的虚拟异构全域任务调度调优方法中,同构虚拟化的手段将两颗Core虚拟为一颗高效内核(VCore_Efficient),工作在额定频率承担时间相关需求度较高工作负荷(WorkLoad)较重的任务;将其余Core对应虚拟为节能内核(VCore_Energy Saving),用于承担时间相关需求度较低工作负荷(WorkLoad)较轻的任务,具体P-V映射关系如图7所示。

在本申请的一些实施例中,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,还包括:将所述高效内核与所述节能内核的排布按照芯片的实际Fan-out封装。

在本申请的实施例中,为了实现高效内核(VCore_Efficient)工作在额定电压承担时间相关需求度较高工作负荷(WorkLoad)较重的任务时的高效(Efficient)的功能。节能内核(VCore_Energy Saving)实现其节能的任务时,相对于AMD的big.LITTLE架构而言,由于AMD选择在集成Chiplet上直接采用其专门为节能设计的Cortex-A7。而对于本申请而言,Anisomeric CPU的Core从物理上来说是平等的,但是基于服务器的应用场景让其封装基板(Package Substrate)相对来说更大,基底(Substrate)上或通过插入器(InterPoser)或是EMIB技术来集成各种各样的芯片(Die),这也就为单独调节虚拟化后的“小核”提供了可行性,可以将两种虚拟核的排布按照芯片的实际Fan-out封装来设计。

这样就可以将一些相对来说不是那么紧急的任务工作负荷较轻的任务进程跑在小核上,同时以虚拟核为颗粒度,对虚拟核的一些功能进行虚拟的选择性阉割,这种功能阉割具体按照具体业务场景来进行,比如说针对一些重要性并不太高的任务,就没有必要对其进行面对系统的非透明加密,类似SGX,其泄密与否并不重要。

至于如何按照虚拟核为颗粒度去调节功耗,由于Intel的PCU(Packaged ControlUnit),控制CPU内核的PLL,从而可以掌握各个内核的频率;控制着Vcc,可以关闭各个内核的电源;还连着内核中的温度传感器,可以以此为判断条件之一。再结合FIVR(FullyIntegrated Voltage Ragulator,全集成电压调节模块)从硬件上来说是完全可以做到的。

本申请的一些实施例中,所述基于同构处理器的虚拟异构全域任务调度调优方法,还包括:基于PCU(Packaged Control Unit,分组控制单元)和FIVR(Fully IntegratedVoltage Ragulator,全集成电压调节模块)提出颗粒度为内核的功率调节(PowerRegulating),采用所述PCU控制CPU内核的频率,用于掌握各个内核的频率,采用FIVR控制CPU内核的供电电压(Vcc),用于控制各个内核的电源的是否关闭。

其中,所述CPU内核中还连接有温度传感器,所述温度传感器用于检测所述CPU内核的温度,用于所述FIVR根据所述温度传感器检测的温度判断是否关闭对应内核的电源。

解决了上述问题,所述将物理层的非异构的CPU按照同构方式进行以内核为颗粒度的虚拟化,获得虚拟核,得到经过虚拟化后的虚拟异构多处理单元(VirtuallyHeterogeneous MutiProcessing Unit),具体如图8所示。

在本申请的一些实施例中,所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇进行调控,调控的方法包括:

以虚拟核为单位进行任务调度,按照任务优先级对任务进行分配。

如图8所示,图中的排布方式仅为一种理想方式的排布,具体需要按照上述所述结合封装和PCU等信息进行排布。基于排布的基础上,进行基于OS的任务调度管理,实际应用包括但不限于本申请所列举示例。

如图9所示以虚拟Core为单位进行任务调度,类似GTS方式,直接按照任务优先级对任务进行分配。图9中标注的SNC4上述有提到,此处仅以SNC4中1/4个分区进行举例。

在本申请的一些实施例中,所述操作系统根据SNC4策略将虚拟化后的CPU分为多个簇进行调控,还包括:将高效内核与节能内核一一结对组成一个一个的簇,以簇为单位进行管理。如图10所示,将高效内核(VCore_Efficient)和节能内核(VCore_Energy Saving)一一结对组成一个一个簇(Cluster),然后以簇(Cluster)为单位进行管理。其目的在于提高其灵活度。

在本申请的一些实施例中,当所述任务优先级发生变化时,调度程序(Scheduler)对任务进行内核(Core)迁移,若所述操作系统判断所述任务的优先级下降,进程切换到同一个簇中的对应的高效内核或节能内核上。比如有一个进程跑在高效内核(VCore_Efficient)上,但是运行了一段时间后,OS判断其优先级下降,这个情况下就会将进程切换到同一个簇(Cluster)的节能内核(VCore_Energy Saving)上。但也存在一个限制,因为节能内核(VCore_Energy Saving)相较于正常的Core进行了修正,其部分Feature可能不可用,OS需要识别该风险并做出决策。

在本申请的实施例中,至于哪个VCore应该工作在哪个电压哪个频率,这个需要根据实际情况结合整体系统的功耗调节策略对产品进行调教。

当然,当整体工作负荷较高以至于现有架构无法很好的满足业务需求的时候,OS也可以选择放开权限进行全额定工作或是超负荷超频工作。

因此,本发明提供的基于同构处理器的虚拟异构全域任务调度调优方法,在同构处理器架构的基础上,实现了以内核为颗粒度的虚拟化,并组成相应的异构多处理(Heterogeneous MutiProcessing)架构;在现有服务器架构下实现big.LITTLE理念的引入,达到任务按能分配,实现系统整体“既高效,又节能”;并且,基于PCU和FIVR提出颗粒度为内核的功率调节(Power Regulating)方案,可有效解决目前服务器同构CPU架构下管理颗粒度不够精细的问题,实现“既节能,又高效”。

本发明的基于同构处理器的虚拟异构全域任务调度调优方法,基于内核虚拟化,以内核为颗粒度的功耗管理策略,基于虚拟异构处理的整体任务调度,实现异构处理器架构的“按劳分配”,基于同构硬件进行异构虚拟,并通过全域任务调度实现满足性能前提下的功耗节能,细化管理颗粒度。

在本发明的实施例中提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器被配置为用于执行所述存储器中存储的计算机程序。所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述方法实施例中的步骤。

在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。

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

技术分类

06120114728126