系统参数的配置方法和配置装置与流程

文档序号:29797974发布日期:2022-04-23 19:20阅读:284来源:国知局
系统参数的配置方法和配置装置与流程

1.本技术涉及信息技术领域,尤其涉及一种系统参数的配置方法和配置装置。


背景技术:

2.随着电子信息技术和人工智能的发展,信息技术(information technology,it)设施的使用已经越来越普遍,例如电脑、硬盘、视频云转码系统或者数据库系统的使用等等。
3.it设施包括硬件设施和软件设施。无论是硬件设施还是软件设施,面对不同用户、不同运行环境和/或不同业务负载,其配置参数通常是千变万化的,这是因为,如果使用相同的配置参数进行统一配置,将无法实现该it设施的性能最大化。
4.一种对it设施进行参数配置以使得该it设施的性能更好的方法中,可以向机器学习系统输入it设施的配置参数的最大取值范围以及对该it设施的性能需求,然后机器学习系统基于指定的机器学习算法,从配置参数的最大取值范围中选取出能够使得该it设备满足性能需求的配置参数取值范围,并基于机器学习系统选取的配置参数取值范围来对该it设施进行参数配置。
5.但是,由于机器学习系统本质上是一种黑箱模型,因此基于机器学习系统选取的配置参数取值范围可能不准确,从而造成it设施异常,存在安全隐患。


技术实现要素:

6.本技术提供一种系统参数的配置方法,实现了更加精确的配置参数的目标取值范围,进一步地,增加了机器学习系统的鲁棒性。
7.第一方面,本技术提供一种系统参数的配置方法。该系统参数的配置方法包括:获取目标系统的配置信息,该配置信息用于指示目标系统的至少一个配置参数的取值范围;使用参数配置规则系统基于配置信息,输出m个参数取值范围,该m个参数取值范围与目标系统的m个配置参数一一对应,m为正整数;使用机器学习系统基于配置信息,输出n个第一参数取值范围,该n个第一参数取值范围与目标系统的n个配置参数一一对应,n为大于或等于m的正整数,n个配置参数中包括m个配置参数;根据m个参数取值范围和n个第一参数取值范围,确定n个配置参数中每个配置参数的目标取值范围,n个配置参数中第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第一参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围;根据n个配置参数中每个配置参数的目标取值范围配置目标系统。
8.本技术提供的系统参数的配置方法,将参数配置规则系统与机器学习系统相结合,使参数配置规则系统的输出的参数取值范围约束机器学习系统输出的参数取值范围,帮助机器学习系统在更有可能的最优解的区域进行优化求解,从而获得了更加精确的配置参数的目标取值范围。
9.结合第一方面,在一种可能的实现方式中,根据n个配置参数中每个配置参数的目
标取值范围配置目标系统,包括:使用机器学习系统基于目标系统的性能和配置信息,输出n个第二参数取值范围;根据m个参数取值范围和n个第二参数取值范围,重新确定n个配置参数中每个配置参数的目标取值范围,n个配置参数中的第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第二参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围;根据为n个配置参数中每个配置参数重新确定的目标取值范围,配置目标系统。
10.本技术提供的系统参数的配置方法,使机器学习系统在参数配置规则系统的约束下,不断更新目标系统的配置参数取值范围,从而获得更加精确的目标取值范围的;另外,在目标系统的性能大于需求阈值时,根据默认配置参数配置目标系统,增加了机器学习系统的鲁棒性。
11.结合第一方面,在一种可能的实现方式中,根据n个配置参数中每个配置参数的目标取值范围配置目标系统,包括:若目标系统的性能超过性能阈值,则根据n个配置参数的默认取值范围配置目标系统。
12.本技术提供的系统参数的配置方法,在目标系统的性能超过性能阈值时,使用默认配置参数配置目标系统,增加了机器学习系统的鲁棒性。
13.结合第一方面,在一种可能的实现方式中,n个配置参数中第二配置参数的目标取值范围包括n个第一参数取值范围中与第二配置参数对应的参数取值范围中的第三参数取值范围,第三参数取值范围包括m个参数取值范围中与第二配置参数对应的参数取值范围和n个第一参数取值范围中与第二配置参数对应的参数取值范围不重叠的全部或部分取值范围。
14.本技术提供的系统参数的配置方法,使目标系统的第二配置参数的目标取值范围可以不包含在通过参数配置规则系统输出的取值范围内,从而可以在参数配置规则系统输出的取值范围不准确的情况下,获得更加精确的目标取值范围。
15.结合第一方面,在一种可能的实现方式中,n个配置参数中除第一配置参数之外的任意一个配置参数的目标取值范围为m个参数取值范围中与任意一个配置参数对应的参数取值范围和n个第一参数取值范围中与任意一个配置参数对应的参数取值范围重叠的全部或部分取值范围。
16.本技术提供的系统参数的配置方法,使机器学习系统输出的第一参数取值范围都必须都包含在通过参数配置规则系统输出参数取值范围内,从而在获得更加精确的目标取值范围同时,提升了目标系统的安全性能。
17.结合第一方面,在一种可能的实现方式中,机器学习系统是基于贝叶斯算法、遗传算法或粒子群算法实现的。
18.第二方面,本技术提供一种系统参数的配置装置,包括:获取模块,用于获取目标系统的配置信息,该配置信息用于指示目标系统的至少一个配置参数的取值范围;第一参数输出模块,用于使用参数配置规则系统基于配置信息,输出m个参数取值范围,m个参数取值范围与所述目标系统的m个配置参数一一对应,m为正整数;第二参数输出模块,用于使用机器学习系统基于配置信息,输出n个第一参数取值范围,n个第一参数取值范围与所述目标系统的n个配置参数一一对应,n为大于或等于m的正整数,n个配置参数中包括所述m个配置参数;处理模块,用于根据m个参数取值范围和n个第一参数取值范围,确定n个配置参数
中每个配置参数的目标取值范围,n个配置参数中第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第一参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围;配置模块,用于根据n个配置参数中每个配置参数的目标取值范围配置目标系统。
19.结合第二方面,在一种可能的实现方式中,第二参数输出模块还用于:使用机器学习系统基于目标系统的性能和配置信息,输出n个第二参数取值范围;处理模块还用于:根据m个参数取值范围和n个第二参数取值范围,重新确定n个配置参数中每个配置参数的目标取值范围,n个配置参数中的第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第二参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围;配置模块还用于:根据为n个配置参数中每个配置参数重新确定的目标取值范围,配置目标系统。
20.结合第二方面,在一种可能的实现方式中,配置模块还用于:若目标系统的性能超过性能阈值,则根据n个配置参数的默认取值范围配置目标系统。
21.结合第二方面,在一种可能的实现方式中,n个配置参数中第二配置参数的目标取值范围包括n个第一参数取值范围中与第二配置参数对应的参数取值范围中的第三参数取值范围,第三参数取值范围包括m个参数取值范围中与第二配置参数对应的参数取值范围和n个第一参数取值范围中与第二配置参数对应的参数取值范围不重叠的全部或部分取值范围。
22.结合第二方面,在一种可能的实现方式中,n个配置参数中除第一配置参数之外的任意一个配置参数的目标取值范围为m个参数取值范围中与任意一个配置参数对应的参数取值范围和n个第一参数取值范围中与任意一个配置参数对应的参数取值范围重叠的全部或部分取值范围。
23.结合第二方面,在一种可能的实现方式中,机器学习系统是基于贝叶斯算法、遗传算法或粒子群算法实现的。
24.第三方面,本技术提供一种系统参数的配置装置,包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令执行如第一方面或其中任意一种可能的实现方式所述的系统参数的配置方法。
25.第四方面,本技术提供一种芯片,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述至少一个处理器用于运行计算机程序或指令,以执行如第一方面或其中任意一种可能的实现方式所述的系统参数的配置方法。
26.第五方面,本技术提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面或其中任意一种可能的实现方式所述的系统参数的配置方法。
27.第六方面,本技术提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如第一方面或其中任意一种可能的实现方式所述的系统参数的配置方法。
28.第七方面,本技术提供一种服务器,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述通信接口与目标系统通信,所述至少一个处理器用于运行计算机程序或指令,以执行如第一方面或其中任意一种可能的实现方式所述
的系统参数的配置方法。
附图说明
29.图1为本技术一个实施例的提供的it系统的示意图;
30.图2为本技术一个实施例提供的参数配置系统示意图;
31.图3为本技术一个实施例提供的系统参数的配置方法的示意性流程图;
32.图4为本技术另一个实施例提供的系统参数的配置方法的示意性流程图;
33.图5为本技术一个实施例提供的系统参数的配置装置的结构示意图;
34.图6为本技术另一个实施例提供的配置装置的结构示意图。
具体实施方式
35.为于理解,首先对本技术所涉及到的相关术语进行说明。
36.1、规则引擎
37.规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,将业务决策从应用程序代码中分离出来,并可以使用预定义的语义模块编写规则。
38.其将基本知识表示成规则形式,一般可以用如果-那么的形式表示,如果部分包含给定的信息或因素,那么部分为相应的行为。例如,一个规则可以是一个以“如果满足这个条件,就应当采取其操作”形式表示的语句。例如,如果某种动物是哺乳动物,并且吃肉,那么这种动物被称为食肉动物。
39.规则作为一种知识,其典型运用就是通过实际情况,根据给定的一组规则,得出结论。这个结论可能是某种静态的结果,也可能是需要进行的一组操作。这种规则的运用过程叫做推理。如果由程序来处理推理过程,那么这个程序就叫做推理机/推理引擎。
40.推理引擎根据知识表示的不同采取的控制策略也是不同的,常见的类型包括基于神经网络、基于案例和基于规则的推理机。其中,基于规则的推理机又被称为“规则引擎”,其易于理解、易于获取、易于管理。
41.2、机器学习
42.机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类。更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果。通常情况下,这个函数比价复杂,不太方便形式化表达。
43.可以理解的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。
44.一般来讲,使用机器学习中的算法寻找一个函数,主要分为以下三步:
45.第一步,选择一个合适的模型,这通常需要依据实际问题而定,针对不同的问题和任务需要选取恰当的模型,模型就是一组函数的集合。
46.第二步,判断一个函数的好坏,这需要确定一个衡量标准,也就是损失函数,其中,损失函数的确定也需要依据具体问题而定,如回归问题一般采用欧式距离,分类问题一般采用交叉熵代价函数。
47.第三步,找出“最好”的函数。常用的方法有梯度下降算法或最小二乘法等。
48.学习得到“最好”的函数后,可以在新样本上进行测试,以测试该函数是不是真的
是一个“好”的函数。
49.3、遗传算法
50.现代科学理论研究与实践中存在着大量与优化、自适应相关的问题,但除了一些简单的情况外,人们对大型复杂系统的优化和自适应问题仍然无能为力。然而,自然界中的生物却在自适应方面表现出了优异的能力,它们能够以优胜劣汰,适者生存的自进化规则生存和繁衍,并逐步产生出对其生存环境适应性很高的优良物种。遗传算法是基于自然选择和群体遗传机理的搜索算法,它模拟了自然选择和自然遗传过程中的繁殖、杂交和突变现象。再利用遗传算法求解问题时,问题的每一个可能解都被编码成一个“染色体”,即个体,若干个个体构成了群体。在遗传算法开始时,总是随机的产生一些个体,根据预定的目标函数对每一个个体进行评估,给出一个适应度值。基于此适应度值,选择一些个体用来产生下一代,选择操作体现了“适者生存”的原理。“好”的个体被用来产生下一代。“坏”的个体则被淘汰。然后选择出来的个体,经过交叉和变异算子进行再组合生成新的一代,这一代的个体由于继承了上一代的一些优良性状,因而在性能上要优于上一代,这样逐步朝着最优解的方向进化。因此,遗传算法可以看成是一个由可行解组成的群体初步进化的过程。
51.利用遗传算法求解问题时,首先要确定问题的目标函数和变量,然后对变量进行编码,这样主要是因为在遗传算法中,问题的解使用数字串来表示的,而且遗传算子也是直接对串进行操作的。对变量进行编码可以分为二进制编码和实数编码。再确定好目标函数和变量的编码方式后,就可以进行遗传操作。从优化搜索的角度看,遗传操作可以使问题的解逐代优化,逼近最优解,遗传操作可以包括以下三个遗传算子:选择、交叉和变异。其中,选择和交叉基本上完成了遗传算法的大部分搜索功能,变异增加了遗传算法找到最优解的能力。下面分别对遗传操作中的选择,交叉和变异进行解释。
52.选择:选择是指从群体中选择优良个体并淘汰劣质个体的操作。它建立在适应度评估的基础上。适应度越大的个体,被选中上的可能性就越大,它的“子孙”在下一代中的个数就越多。目前常用的选择方法有轮赌盘方法、最佳个体保留法、期望值法、排序选择法、竞争法、和线性标准化法等。
53.交叉:交叉就是指把两个父代个体的部分结构加以替换重组而生成新的个体的操作,交叉的目的是为了在下一代产生新的个体,通过交叉操作,遗传算法的搜索能力得到了飞跃性的提高。交叉是遗传算法获取优良个体的重要手段,其是按照一定的交叉概率在匹配库中随机的选取两个个体进行的,交叉位置也是随机的,交叉概率一般取得很大,为0.6~0.9。
54.变异:变异就是以很小的变异概率随机地改变种群中个体的某些基因的值,变异操作的基本过程是:产生一个0到1之间的随机数,如果随机数小于变异概率,则进行变异操作。变异操作本身是一种局部随机搜索,与选择、交叉算子结合在一起,能够避免由于选择和交叉算子而引起的某些信息永久性丢失,保证了遗传算法的有效性,使遗传算法具有了局部随机搜索能力,同时使得遗传算法能够保持群体的多样性,以防出现未成熟收敛。
55.4、粒子群算法
56.在计算机智能领域,尤其是群体智能优化算法中,目前最常用的一种算法是粒子群算法(particle swarm optimization algorithm,pso)。pso是一种进化计算技术,源于对鸟捕食的行为研究,已经被证明是一种很好的优化方法。
57.pso算法是在可行解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解,用位置、速度、适应度值三项指标表示该粒子特征。粒子在解空间中运动,通过跟踪个体极值和群体极值更新个体位置。
58.个体极值指个体所经历位置中计算得到的适应度最优位置,群体极值是指种群中的所有粒子搜索到的适应度最优位置。粒子每更新一次位置,就计算一次适应度值,通过比较新粒子的适应度和个体极值、群体极值的适应度值更新个体极值和群体极值位置。
59.5、贝叶斯算法
60.贝叶斯方法一般是指贝叶斯分析方法,提供了一种计算假设概率的方法,贝叶斯方法由英国数学家贝叶斯发展,用来描述两个条件概率之间的关系。所谓贝叶斯公式,是指当分析样本大到接近总体数时,样本中时间发生概率将接近于总体中事件发生的概率。通常,事件a在事件b发生的条件下的概率,与事件b在事件a的条件下的概率是不一样的;然而,这两者是有确定的关系的,贝叶斯方法就是这种关系的描述。其方法为,将关于未知参数的先验信息与样本信息综合,再根据贝叶斯公式,得出后验信息,然后根据后验信息去推断未知参数的方法。
61.图1为本技术一个实施例的提供的it系统的示意图。如图1所示,本技术的it系统100可以包括硬件设施110和软件设施120。硬件设施110可以包括手持设备、台式机、服务器、路由器、交换机、集线器、笔记本、打印机、基本输入输出系统(basic input output system,bios)系统等,软件设施120可以包括数据库、视频云转码、操作系统等软件设施等。
62.对于图1所示的it系统,不论是硬件设施110,还是软件设施120,都有大量的配置参数影响着其性能。
63.下面以硬件设施110是bios系统为例说明it系统的配置参数与性能之间的关系。
64.bios系统固化在计算机的主板上,保存着计算机最重要的基本输入输出程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,bios系统还向作业系统提供一些系统配置参数。计算机在运行时,首先会进入bios系统,计算机性能优越与否,很大程度上取决于计算机主板上的bios系统是否先进。例如,bios系统上面有个中央处理器(central processing unit,cpu)的线程数参数,当负载数目高时,可以将该线程数参数进行调整,又或者能耗比较低的时候,可以调整bios系统的某些配置参数,以使负载跑的更快或者能耗更低。
65.下面以软件设施120是数据库系统为例说明it系统的配置参数与性能之间的关系。
66.数据库系统(data base system,dbs)是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,由数据库及其软件组成,其软件主要包括操作系统、实用程序以及数据库管理系统。通常,在数据库承载不同的用户时,面对的运行环境和业务负载也千变万化的。例如,同一个dbs给用户提供一些数据的服务,在与业务系统交互的过程中,比如有些用户可能读操作比较密集,而有一些用户可能经常更新数据库(写入数据)。又比如,有的业务数据是重复数据比较多,有的业务数据是列数比较多。也就是说,不同的用户对数据库的要求不一样,因此,同一个dbs应该对不同的用户或者不同的业务负载有不同的配置参数。又或者,同一个dbs里面的同一个配置参数,在面对不同的用户时,其配置参数的取值可能也是不一样的。例如,dbs系统上面有个连接时长参数,当负载数目高或者低时候,可以调
整该连接时长参数,以调整负载连接的时间。
67.下面以软件设施120是视频云转码系统为例说明it系统的配置参数与性能之间的关系。
68.视频云转码系统是将视频通过服务器(云端)转换成适合移动设备播放的视频格式的系统。通常在下载影片时,大多数都是以音频视频交错格式(audio video interleaved,avi)的居多,而一些移动设备,像手机等又不支持这些格式的播放,这时候就需要用户进行手动影片转码操作,转码过后移动设备就可以进行播放。对于视频云转码,包含有视频编解码里面的一套配置参数,比如gop时长参数。如果gop时长比较长的话,可能对黑屏有一些效果。不同的用户对于视频云转码的要求是不同的,而且在不同的时间段可能也是不同的,比如晚上的时候,视频云转码系统所面临的负载高,此时就需要调整视频编解码里相应的配置参数。
69.图1所示的it系统100中,不论是硬件设施110,或者是软件设施120,目前,对于it系统100参数的配置方法主要有两种,一种是基于规则引擎的配置寻优,即业务专家根据经验,抽取调优逻辑,对特定的系统制定寻优规则,然后形成规则引擎对系统参数进行配置寻优;另一种是使用机器学习系统的配置寻优,例如基于遗传算法的机器学习系统或者基于贝叶斯优化算法的机器学习系统等。
70.作为一种示例,图2为可以应用本技术实施例提供的技术方案的参数配置系统示意图。如图2所示,该参数配置系统可以包括配置装置和目标系统,配置装置是目标系统的外部装置。其中,该配置装置可以通过云服务的方式接收目标系统的初始配置信息和/或目标系统的性能需求信息,通过云服务的方式基于目标系统的初始配置信息和/或性能需求信息对目标系统参数进行配置。
71.例如,在使用包含机器学习系统的配置装置对bios系统参数配置寻优时,包含机器学习系统的配置装置可以将学习到的bios系统参数发送给bios系统。再此说明的是,该参数配置系统的配置装置可以是包含有规则引擎算法的配置装置,也可以是包含机器学习系统的配置装置。目标系统可以是硬件设施110中的任意一种,或者也可以是软件设施120中的任意一种。
72.然而,在面对海量参数时,由于业务专家经验有限,难以形成一个较优的规则引擎并找到最优解;而使用机器学习系统的配置寻优,在寻找最优参数过程中,由于机器学习系统本质上是一种黑箱模型,因此可能会出现学习的系统参数不好的问题,从而造成系统异常的情况,存在安全隐患。
73.针对以上问题,本技术提供了一种系统参数的配置方法,通过将基于规则引擎的配置寻优和机器学习系统的配置寻优相结合,将规则引擎作为先验信息,帮助机器学习系统在更有可能的最优解的区域进行优化求解,从而获得更加精确的参数。另外,在目标系统的性能超过性能阈值时,使用默认配置参数配置目标系统,增加机器学习系统的鲁棒性。
74.图3为本技术一个实施例提供的系统参数的配置方法的示意性流程图。如图3所示,本实施例的方法可以包括s301、s302、s303、s304和s305。该配置方法可以由图2所示的配置装置来执行。
75.s301、获取目标系统的配置信息。该配置信息用于指示目标系统的配置参数的至少一个属性的取值范围。
76.本实施例中,目标系统是指含有配置参数的待调优系统,该目标系统可以用于实现一种或多种功能。例如,目标系统可以是图1所示的it系统100。
77.本实施例中的配置信息用于指示目标系统(也就是待调优系统)的至少一个配置参数的取值范围。一个配置参数可以包括一个或多个属性,该配置参数的取值范围可以包括该配置参数的每个属性的取值范围。例如,一个配置参数的属性可以包括数值类型和数值大小两种属性,数值类型的取值范围包括枚举型、整型和浮点型,数值大小的取值范围包括1至5间的整数。
78.可以理解的是,对于不同的目标系统,其配置信息可以是不同的,也就是说待调优系统的配置参数的取值范围可以是不同的。例如,bios系统的配置参数的数量,每个配置参数的数值取值范围、每个配置参数的类型取值范围与dbs系统的配置参数的数量、每个配置参数的数值取值范围、每个配置参数的类型取值范围可以不同。
79.在一种可实现方式中,目标系统的配置信息可以记录在json格式的配置文件中,json为javascript object notation的缩写。这样,系统参数的配置装置可以从该配置文件中读取该配置信息。
80.s302、使用参数配置规则系统基于目标系统的配置信息,输出m个参数取值范围。该m个参数取值范围与目标系统的m个配置参数一一对应,m为正整数。
81.本实施例中,这m个配置参数可以是目标系统中的部分配置参数,也可以是目标系统中的全部配置参数。例如,目标系统的配置参数有10个,使用参数配置规则系统基于配置信息,输出的m个参数取值范围可以是其中5个配置参数的取值范围,也可以是这10个配置参数的取值范围。
82.本实施例中,参数配置规则系统是对目标系统的配置参数进行优化的系统,对于不同的目标系统,参数配置规则系统一般是不同的,其可以根据目标系统的不同功能进行设计。例如对于dbs,可以根据dbs领域专家的经验知识制定参数规则配置系统;而对于bios,则可以根据bios领域专家的经验知识制定参数规则配置系统。
83.可选的,本实施例中的参数配置规则系统可以包括多种类型的规则。
84.例如,参数配置规则系统可以是对一个配置参数包含多种规则。作为一种示例,假设目标系统只有一个配置参数a,参数配置规则系统是对目标系统的配置参数a进行优化的系统,其包含两种类型的规则:在条件1时,参数a的取值范围为[1,2];在条件2时,参数a的取值是一个数值。
[0085]
又例如,参数配置规则系统可以是对多个配置参数包含多种规则。作为一种示例,假设目标系统有2个配置参数w和z,在条件1时,参数配置规则系统输出的是w的取值范围,在条件2时,参数配置规则系统输出的是z的取值范围。
[0086]
本实施例中,参数配置规则系统的输入是配置信息,输出是m个参数取值范围。由于m个参数取值范围是通过配置信息得到的,而配置信息包含有配置参数的属性信息,因此,通过参数配置规则系统输出的m个参数取值范围位于相应的配置信息的取值范围内。
[0087]
在一种可实现方式中,参数配置规则系统可以提供让用户可以输入一系列规则的json格式的文件。其中,规则可以包括如果(if)语句表示的规则。
[0088]
s303、使用机器学习系统基于目标系统的配置信息,输出n个第一参数取值范围。该n个第一参数取值范围与目标系统的n个配置参数一一对应,n为大于或等于m的正整数,n
个配置参数中包括m个配置参数。
[0089]
本实施例中,这n个配置参数可以包括目标系统的全部配置参数,也可以包括目标系统的部分配置参数。在一些实现方式中,机器学习系统可以输出目标系统的所有配置参数的取值范围,这种实现方式中,这n个配置参数中可以包括前述的m个配置参数,即n为大于或等于m的正整数。
[0090]
可选的,在另一些实现方式中,机器学习系统可以输出目标系统的部分配置参数的取值范围。例如,目标系统有10个配置参数,假设其中1个配置参数是不需要优化的,则可以使用机器学习系统输出剩余的9个配置参数对应的取值范围。
[0091]
本实施例中,机器学习系统是指能够使用机器学习算法基于目标系统的配置信息和性能需求输出目标系统的配置参数的取值范围的系统。
[0092]
本实施例中的机器学习系统可以是重新初始化的系统,也可以是通过历史数据训练过的系统,即通过目标系统以前的历史数据训练过的机器学习系统,本技术对此不做限定。
[0093]
对于不同的目标系统,可以使用相同的机器学习算法,也可以使用不同的机器学习算法。例如,对于dbs和视频云转码系统,可以使用相同的包含有贝叶斯算法的机器学习系统;或者,dbs可以使用包含有贝叶斯算法的机器学习系统,而视频云转码使用包含有遗传算法的机器学习系统。
[0094]
同理,类似于步骤s302,机器学习系统的输入是配置信息,输出是n个第一参数取值范围。由于n个第一参数取值范围也是通过配置信息得到的,而配置信息包含有配置参数的属性信息,因此,通过机器学习系统输出的n个第一参数取值范围位于相应的配置信息的取值范围内。
[0095]
再此说明的是,示例中的贝叶斯算法的算法原理和神经网络的算法原理输出n个第一参数取值范围的具体实现过程可以参见相关技术中的描述,此处不再赘述。
[0096]
s304、根据m个参数取值范围和n个第一参数取值范围,确定n个配置参数中每个配置参数的目标取值范围,该n个配置参数中第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第一参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0097]
本实施例中,第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第一参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围,可以理解为:第一配置参数的取值范围既不能超出参数配置规则系统为第一配置参数输出的取值范围,也不能超出机器学习系统为第一配置参数输出的取值范围。
[0098]
作为一种示例,目标系统的一个配置参数记为a,参数配置规则系统输出的a的数值大小的取值范围包括0到2中的数值,机器学习系统输出的a的数值大小的取值范围为0到5中的数值,则a的数值大小的目标取值范围可以包括0至2与0至5完全重叠的部分,即0到2,也可以包括0至2中的部分取值范围,比如包括0到1。
[0099]
作为另一种示例,目标系统的一个配置参数记为b,参数配置规则系统输出的b的数值大小的取值范围中包括数值0.6,机器学习系统输出的b的数值大小的取值范围包括0到1中的数值,则b的数值大小的目标取值范围可以包括数值0.6。
[0100]
可以理解的是,由于n个配置参数中每个配置参数的目标取值范围受参数配置规则系统输出的m个参数取值范围和机器学习系统输出的n个第一参数取值范围的影响,因此,n个配置参数中每个配置参数的目标取值的好坏受参数配置规则系统和机器学习系统的影响。
[0101]
s305、根据n个配置参数中每个配置参数的目标取值范围配置目标系统。
[0102]
作为一种示例,在获得n个配置参数中每个配置参数的目标取值范围之后,可以从每个配置参数的目标取值范围中选出该配置参数的最终取值,并将目标系统中该配置参数的取值配置为该最终取值。例如,可以采用随机选取的方法,在每个配置参数的目标取值范围中随机选出该配置参数的最终取值。再此说明的是,本实施例对从每个配置参数的目标取值范围中选出该配置参数的最终取值的方法不做限定。
[0103]
可以理解的是,本实施例中,根据n个配置参数的目标取值范围配置目标系统可以包括:向目标系统发送这n个配置参数的目标取值范围,以便于目标系统将这n个配置参数的值配置为目标取值范围内的值。
[0104]
本实施例提供的系统参数的配置方法,将参数配置规则系统与机器学习系统相结合,使参数配置规则系统的输出的参数取值范围约束机器学习系统输出的参数取值范围,帮助机器学习系统在更有可能的最优解的区域进行优化求解,从而获得了更加精确的配置参数的目标取值范围。
[0105]
本实施例的一种可能的实现方式中,第一配置参数可以是上述m个配置参数中任何一个配置参数。也就是说,n个配置参数中除第一配置参数之外的任意一个配置参数的目标取值范围为m个参数取值范围中与任意一个配置参数对应的参数取值范围和n个第一参数取值范围中与任意一个配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0106]
或者可以说,这n个配置参数中每个配置参数的目标取值范围为m个参数取值范围中对应的参数取值范围和n个第一参数取值范围中对应的参数取值范围重叠的全部或部分取值范围。换言之,目标系统的每个配置参数的目标取值范围既不能超出使用参数配置规则系统输出的参数取值范围,也不能超出机器学习系统输出的参数取值范围。
[0107]
作为一种示例,假设目标系统有20个配置参数,其分别对应于通过参数配置规则系统输出的20个配置参数的取值范围和使用机器学习系统输出的20个配置参数的取值范围,那么对于目标系统,所有的配置参数的目标取值范围都应该在参数配置规则系统输出的20个配置参数的取值范围和使用机器学习系统输出的20个配置参数的取值范围重叠的范围,也就是不能违反参数配置规则系统输出的20个配置参数的取值范围。
[0108]
该实现方式中的系统参数的配置方法,使机器学习系统输出的第一参数取值范围都必须都包含在通过参数配置规则系统输出参数取值范围内,从而在获得更加精确的目标取值范围同时,提升了目标系统的安全性能。
[0109]
本实施例的另一种可能的实现方式中,n个配置参数中第二配置参数的目标取值范围包括n个第一参数取值范围中与第二配置参数对应的参数取值范围中的第三参数取值范围,第三参数取值范围包括m个参数取值范围中与第二配置参数对应的参数取值范围和n个第一参数取值范围中与第二配置参数对应的参数取值范围不重叠的全部或部分取值范围。
[0110]
本实施例中,第二配置参数是指n个配置参数中的至少一个配置参数,n个第一参
数取值范围中与第二配置参数对应的参数取值范围中的第三参数取值范围,表示该第三参数取值范围是对应于机器学习系统输出的参数取值范围。
[0111]
本实施例中,第三参数取值范围包括m个参数取值范围中与第二配置参数对应的参数取值范围和n个第一参数取值范围中与第二配置参数对应的参数取值范围不重叠的全部或部分取值范围是指目标系统的配置参数中,可以包括目标取值范围不在其对应的m个参数取值范围内,也就是可以不满足使用参数配置规则系统输出的参数取值范围,即可以允许部分违反参数配置规则系统输出的参数取值范围。
[0112]
作为一种示例,假设目标系统有两个配置参数c和d,其中,对于参数d,通过参数配置规则系统输出的参数d是一个取值范围,比如是1到2。使用机器学习系统输出的参数d也是一个取值范围,比如1到5。假设要求参数的类型是一个整数,则通过参数配置规则系统输出的参数d的取值范围与使用机器学习系统输出的参数d的取值范围不重叠范围是2到5,若采用在2到5中随机确定配置参数的方法,则确定的配置参数d的目标取值范围可以是3,即配置参数d的取值范围违反了其在参数配置规则系统输出的取值范围。
[0113]
作为另一种示例,假设目标系统两个配置参数e和f,其中,对于参数e,通过参数配置规则系统输出的参数e是一个具体的数值,假设是0.5。使用机器学习系统输出的参数e是一个取值范围比如0到1。则确定的配置参数e的目标取值可以是0.6,即配置参数e的目标取值违反了其在参数配置规则系统输出的取值范围。
[0114]
该实现方式中的系统参数的配置方法,使目标系统的第二配置参数的目标取值范围可以不包含在通过参数配置规则系统输出的取值范围内,从而可以在参数配置规则系统输出的取值范围不准确的情况下,获得更加精确的目标取值范围。
[0115]
可选的,根据n个配置参数中每个配置参数的目标取值范围配置目标系统,包括:若目标系统的性能超过性能阈值,则根据n个配置参数的默认取值范围配置目标系统。
[0116]
本实施例中,将n个第一参数取值范围输入到目标系统后,会得到相应的目标系统的性能。由于可能会存在n个第一参数取值范围输入到目标系统后输入目标系统之后,目标系统的性能很差的情况,因此,可以对目标系统的性能指定一个性能阈值和默认参数。当基于n个第一参数取值范围配置目标系统之后,若目标系统的性能超过性能阈值,则目标系统可以采用默认配置参数配置目标系统。
[0117]
或者,基于n个第一参数取值范围配置目标系统之后,目标系统可以向配置装置反馈目标系统的性能,若该性能大于预设的性能阈值,则配置装置为目标系统重新配置默认配置参数,例如重新向目标系统发送默认配置参数;否则配置装置可以基于该性能调整机器学习系统中的参数,以使得该机器学习系统可以输出更好的配置参数取值范围。
[0118]
作为一种示例,cpu使用率是目标系统的一个性能,当输入n个第一参数取值范围后,目标系统的cpu使用率是92%。但对于cpu来说,当超过90%,其对应的处理速度就会降低。因此,可以指定一个cpu使用率的性能阈值为90%,当在输入n个第一参数取值范围后,若目标目标系统的cpu使用率的性能阈值大于90%,则采用默认配置参数。
[0119]
在一种可能的实现方式中,性能阈值和默认配置参数可以通过json格式的文件获取。
[0120]
本实施例提供的系统参数的配置方法,在目标系统的性能超过性能阈值时,使用默认配置参数配置目标系统,增加了机器学习系统的鲁棒性。
[0121]
图4为本技术另一个实施例提供的系统参数的配置方法的示意性流程图。如图4所示,本实施例的方法可以包括s401、s402、s403、s404、s405、s406和s407。该配置方法可以由系统参数的配置装置来执行。
[0122]
s401、获取目标系统的配置信息。
[0123]
本实施例中,该配置信息用于指示目标系统的至少一个配置参数的取值范围,具体可以参见上述各实施例中的相关描述,此处不再赘述。
[0124]
s402、参数配置规则系统进行处理。
[0125]
具体地,参数配置规则系统进行处理包括基于目标系统的配置信息,输出m个参数取值范围,该m个参数取值范围与目标系统的m个配置参数一一对应。其中,参数配置规则系统基于配置信息,输出m个参数取值范围可以参见图3所示实施例中的s302相关描述,此处不再赘述。
[0126]
s403、机器学习系统进行处理。
[0127]
具体地,机器学习系统进行处理包括机器学习系统基于目标系统的配置信息,输出n个第一参数取值范围,该n个第一参数取值范围与目标系统的n个配置参数一一对应。其中,机器学习系统基于配置信息,输出n个第一参数取值范围可以参见图3所示实施例中的s303相关描述,此处不再赘述。
[0128]
s404、确定每个配置参数的目标取值范围。
[0129]
具体地,确定每个配置参数的目标取值范围包括根据m个参数取值范围和n个第一参数取值范围,确定每个配置参数的目标取值范围。该步骤的实现过程可以参见图3所示实施例中的s304相关描述,此处不再赘述。
[0130]
s405、根据每个配置参数的目标取值范围配置目标系统。
[0131]
该步骤可以参见上述各实施例中的相关描述,此处不再赘述。
[0132]
s406、判断目标系统的性能是否超过性能阈值,是则重新执行s403,否则执行s407。
[0133]
重新执行,可以理解为将目标系统的性能反馈给机器学习系统,机器学习系统进行学习,并重新输入目标系统的配置参数的取值范围。
[0134]
作为一个示例,将目标系统的性能反馈给机器学习系统,机器学习系统进行学习,可以包括:使用机器学习系统基于目标系统的性能和配置信息,输出n个第二参数取值范围。
[0135]
根据m个参数取值范围和n个第二参数取值范围,重新确定n个配置参数中每个配置参数的目标取值范围。该n个配置参数中的第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第二参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0136]
根据为n个配置参数中每个配置参数重新确定的目标取值范围,配置目标系统。
[0137]
其中,机器学习系统可以基于目标系统的性能和配置信息对机器学习系统本身的参数进行调整。例如,包含贝叶斯算法的机器学习系统可以基于第20轮目标系统的性能和配置信息调整贝叶斯算法的参数,从而更新机器学习系统。
[0138]
可选的,使用机器学习系统基于目标系统的性能和配置信息,输出的n个第二参数取值范围与对应的n个第一参数取值范围是不同的,即对n个第一参数取值范围进行了调
整。例如,目标系统含有两个配置参数m和x,机器学习系统第一轮学习得到的2个第一参数取值范围中,m的参数取值范围是0到5,x的参数取值范围是2到6,将第一轮学习得到的m和x的参数取值范围输入到目标系统得到对应的目标系统的性能;机器学习系统根据第一轮学习得到的目标系统的性能和配置信息进行第二轮学习得到的2个第二参数取值范围中,m的参数取值范围是0到4,x的参数取值范围是4到6。
[0139]
本实施例中,目标系统的性能可以认为是目标系统的输出,比如,目标系统的性能可以是cpu使用率,也可以是时间,又或者可以是吞吐量。性能阈值是指对目标系统的性能指定的阈值。例如可以指定目标系统的cpu使用率性能阈值为90%,或者指定目标系统的时间性能阈值为0.5秒。
[0140]
应注意,目标系统不同,其对应的性能可能是不同的。
[0141]
本实施例中,n个第一参数取值范围输入到目标系统后,若训练没有结束,则可以基于目标系统的性能和配置信息对n个配置参数重新进行学习。例如,机器学习系统可以根据第一轮得到的目标系统的性能进行第二轮学习,或者机器学习系统可以根据第九轮得到的目标系统的性能进行第十轮学习。
[0142]
应该理解的是,判断训练过程是否结束可以有多种方法。作为一种示例,可以通过设定训练的迭代次数,比如设定迭代次数不超过100轮,也就是说当迭代次数大于100轮时就结束训练过程。作为另一种示例,可以通过设定误差阈值来判断训练过程是否结束,比如设定误差阈值为0.01,即如果误差小于0.01,则结束训练过程。
[0143]
由于参数配置规则系统是不变的,因此在每次基于目标系统的性能对系统参数学习的过程中,第一配置参数是不变的。而机器学习系统是一个不断学习的模型,因此机器学习系统可以根据n个第一参数取值范围输入到目标系统后目标系统的性能和配置信息继续进行学习,重新得到n个第二参数取值范围。
[0144]
在一种可能的实现方式中,n个第二参数取值范围可以由n个第一参数取值范围和n个第一参数取值范围输入到目标系统后目标系统的性能输入到机器学习系统得到,即n个第二参数取值范围和n个第二参数取值范围输入到目标系统后目标系统的性能组成一组可以更新机器学习系统的数据。
[0145]
本实施例中,m个参数取值范围即s302中所述的m个参数取值范围,由于参数配置规则系统是不变的,所以m个参数取值范围是不变的。第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第二参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围,可以理解为:第一配置参数的取值范围既不能超出参数配置规则系统为第一配置参数输出的取值范围,也不能超出机器学习系统为第一配置参数输出的取值范围。
[0146]
本实施例中,由于机器学习系统进行学习输出的是n个参数的第二取值范围,因此,n个配置参数中每个配置参数的目标取值范围是需要重新确定的。其中,重新确定n个配置参数中每个配置参数的目标取值范围的实现过程,可以参考:根据m个参数取值范围和n个第一参数取值范围,确定n个配置参数中每个配置参数的目标取值范围中的相关描述,即步骤s304。此处不再赘述。
[0147]
本实施例中,在获得n个配置参数中每个配置参数重新确定的目标取值范围后,配置目标系统。
[0148]
再此说明的是,本实施例给出的只是目标系统的配置参数的一次更新过程。在实际应用时,更新系统参数的次数可以人为指定,例如可以指定更新100次,或者更新200次。但每次系统参数的更新的具体实现过程都类似于步骤s401~s406,此处不再赘述。
[0149]
s407、若目标系统的性能超过性能阈值,则根据n个配置参数的默认取值范围配置所述目标系统。
[0150]
本实施例中,由于可能会存在机器学习系统学习的n个配置参数取值范围不好,从而导致对应的目标系统的性能很差的情况。因此,可以对目标系统的性能指定一个性能阈值和默认参数,当确定好的每个配置参数的目标取值范围输入到目标系统时,若目标系统的性能超过了性能阈值,此时则根据默认参数配置目标系统。再此说明的是,性能阈值的具体含义可以参数上述实施例中的说明。
[0151]
在一种可实施方式中,将机器学习系统每一轮学习得到的n个配置参数的取值范围对应的目标系统的性能与性能阈值进行比较,如果目标系统的性能超过了性能阈值,则根据默认参数配置目标系统。
[0152]
作为一种示例,假设机器学习系统训练100轮,在第30轮的时候,机器学习系统学习得到的n个配置参数的取值范围对应的目标系统的性能超过了性能阈值,此时机器学习系统结束学习,采用默认配置参数配置目标系统。
[0153]
本实施例提供的系统参数的配置方法,使机器学习系统在参数配置规则系统的约束下,不断更新目标系统的配置参数取值范围,从而获得更加精确的目标取值范围的;另外,在目标系统的性能大于需求阈值时,根据默认配置参数配置目标系统,增加了机器学习系统的鲁棒性。
[0154]
可选的,上述所示任一实施例中的机器学习系统可以是基于贝叶斯算法、遗传算法或粒子群算法实现的。
[0155]
需要说明的是,上述任一实施例可以单独实施,也可以是上述各实施例中至少两个任意结合来实施,对此不做限定。
[0156]
图5为本技术一个实施例提供的系统参数的配置装置的结构示意图。图5所示的系统参数的配置装置可以用于执行前述任意一个实施例所述的系统参数的配置方法。
[0157]
如图5所示,本实施例的系统参数的配置装置500包括:获取模块501、第一参数输出模块502、第二参数输出模块503、处理模块504和配置模块505。
[0158]
其中,获取模块501用于获取目标系统的配置信息。
[0159]
第一参数输出模块502用于使用参数配置规则系统基于所述配置信息,输出m个参数取值范围。
[0160]
第二参数输出模块503用于使用机器学习系统基于所述配置信息,输出n个第一参数取值范围。
[0161]
处理模块504用于根据m个参数取值范围和n个第一参数取值范围,确定n个配置参数中每个配置参数的目标取值范围,该n个配置参数中第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第一参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0162]
配置模块505用于根据该n个配置参数中每个配置参数的目标取值范围配置目标系统。
[0163]
作为一种示例,获取模块501可以用于执行图3至图4中任意一个所述的系统参数的配置方法中的获取目标系统的配置信息的步骤。例如,获取模块501用于执行s301。
[0164]
作为另一种示例,第一参数输出模块503可以用于执行图3至图4中任意一个所述的系统参数的配置方法中的输出m个参数取值范围的步骤。例如第一参数输出模块503用于执行s302或者s402。
[0165]
作为又一种示例,配置模块505可以用于执行图3至图4中任意一个所述的系统参数的配置方法中的配置目标系统的步骤。例如配置模块505用于执行s305或者s405。
[0166]
在一种可能的实现方式中,第二参数输出模块503还用于使用机器学习系统基于目标系统的性能和配置信息,输出n个第二参数取值范围。
[0167]
处理模块504还用于根据m个参数取值范围和n个第二参数取值范围,重新确定n个配置参数中每个配置参数的目标取值范围,该n个配置参数中的第一配置参数的目标取值范围包括m个参数取值范围中与第一配置参数对应的参数取值范围和n个第二参数取值范围中与第一配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0168]
配置模块505还用于根据为n个配置参数中每个配置参数重新确定的目标取值范围,配置目标系统。
[0169]
在一种可能的实现方式中,配置模块505还用于:若所述目标系统的性能超过性能阈值,则根据所述n个配置参数的默认取值范围配置所述目标系统。
[0170]
在一种可能的实现方式中,n个配置参数中第二配置参数的目标取值范围包括n个第一参数取值范围中与第二配置参数对应的参数取值范围中的第三参数取值范围,第三参数取值范围包括m个参数取值范围中与第二配置参数对应的参数取值范围和n个第一参数取值范围中与第二配置参数对应的参数取值范围不重叠的全部或部分取值范围。
[0171]
在一种可能的实现方式中,n个配置参数中除第一配置参数之外的任意一个配置参数的目标取值范围为m个参数取值范围中与任意一个配置参数对应的参数取值范围和所述n个第一参数取值范围中与所述任意一个配置参数对应的参数取值范围重叠的全部或部分取值范围。
[0172]
在一种可能的实现方式中,所述机器学习系统是基于贝叶斯算法、遗传算法或粒子群算法实现的。
[0173]
图6为本技术另一个实施例提供的配置装置的结构示意图。图6所示的装置可以用于执行前述任意一个实施例所述的系统参数的配置方法。
[0174]
如图6所示,本实施例的装置600包括:存储器601、处理器602、通信接口603以及总线604。其中,存储器601、处理器602、通信接口603通过总线604实现彼此之间的通信连接。
[0175]
存储器601可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器601可以存储程序,当存储器601中存储的程序被处理器602执行时,处理器602用于执行图5所示的方法的各个步骤。
[0176]
处理器602可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本技术方法实施例的推理车道的方法或训练车道推理模型的方法。
[0177]
处理器602还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本
申请实施例的规划自动驾驶车辆的方法的各个步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。
[0178]
上述处理器602还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0179]
结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成本技术测温装置包括的单元所需执行的功能,例如,可以执行图3或者图4所示实施例的各个步骤/功能。
[0180]
通信接口603可以使用但不限于收发器一类的收发装置,来实现装置600与其他设备或通信网络之间的通信。
[0181]
总线604可以包括在装置600各个部件(例如,存储器601、处理器602、通信接口603)之间传送信息的通路。
[0182]
应理解,本技术实施例所示的装置600可以是电子设备,或者,也可以是配置于电子设备中的芯片。
[0183]
应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0184]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0185]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机
指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0186]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0187]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0188]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0189]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0190]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0191]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0192]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0193]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0194]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0195]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1