具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的基于DQN强化学习的列车姿态控制方法的流程图。如图1所示,本发明实施例提供的基于DQN强化学习的列车姿态控制方法包括如下步骤:
步骤101:实时获取车辆的姿态参数。
在本步骤中,需要说明的是,车辆姿态参数为:转向架垂向振动加速度、速度信息,实时获取上述车辆的姿态参数,举例来说,设定每间隔0.01 秒采集一次当前车辆的加速度,将20秒中所采集到的所有车辆加速度作为加速度集。
步骤102:根据车辆的姿态参数确定车辆当前所属的运行状态。
在本步骤中,车辆运行状态有六种,分别为加速启动过程运行状态、既有线平稳运行状态、既有线切换高速线运行状态、高速线平稳运行状态、高速线切换既有线运行状态和减速制过程动运行状态,根据车辆的姿态参数确定车辆当前所属的运行状态,举例来说,采用智能减振控制策略设计,区别于已有的车辆被动减振和半主动减振控制策略,本控制策略首次采取智能算法实现主动减振控制,以车辆的姿态参数为输入,确定车辆当前所属的运行状态为上述六种中的哪一种。例如:当车辆姿态参数为20秒内持续加速时,得到车辆的姿态参数为加速启动运行状态。
步骤103:根据车辆当前所属的运行状态以及目标运行状态,基于DQN 算法模型,生成用于使得车辆平稳运行的减振控制指令。
在本步骤中,基于DQN算法模型,需要说明的是,DQN算法术语:环境,智能体,动作,状态,奖励,Q值,值函数估计神经网络,损失函数。在环境和智能体相互作用下,智能体产生了状态空间{s
i|s
i∈S, i=1,2,3,…,n+k,n∈N
+,k∈N},以及可观测的状态空间
观测空间O是可被记录的离散时间事件。智能体的状态空间是随着时间动态变化的向量序列O
t,O相邻时刻的观测状态集O
t和O
t+1是通过动作集A
t实现转换。用数学表达式表示为:O
t+1=Θ(A
t T·O
t)。A
t={a
tj|a
tj∈A
t,t,j=1,2,3,…,N
+}这里称为动作集合或动作映射,Θ是动作集A的Q 值空间。对于智能体每一时刻的状态O
t,通过θ
t∈Θ选择特定动作A
t形成下一时刻的新状态空间O
t+1。当前时刻在不同的逻辑空间下有不同的动作选择,从而决定了下一时刻的观测状态的差异性。奖励是指当前时刻智能体状态空间O
t执行动作空间A
t的奖励空间R
t。θ
t是指在累计时间t后的奖励R的期望。
DQN以深度神经网络和Q-learning算法构成。Q-Learning算法在计算当前时刻的行动-状态价值qt(st,at)时选择了当前状态使价值最大的行动 maxaqt-1(st)。Q-Learning是基于maxQ值选取动作的策略机制,Q(o,a)就是在某一时刻的观测状态o(o∈O),采取动作a(a∈A)能够获得奖励期望 q(q∈Q),环境会根据agent的动作反馈相应的回报r(r∈R),所以算法的主要思想就是将状态与动作映射成一个评估动作累计效果的Q矩阵(维数为:O*AT)不断的迭代Q值矩阵使其最终收敛,然后根据Q矩阵判断最优的状态-动作对,进而选取一个最优策略。
Q值按照如下规则更新:
深度网络设计。通过深度神经网络计算Q值。在普通的Q-learning中,当状态和动作空间是离散且维数不高时可使用矩阵Q储存每个状态动作对的q值,而当状态和动作空间是高维连续时,使用Q不能列举全部q值。这里DQN采取双神经网络结构。通过Eva-Net产生当前时刻的Q值,通过Target-Net产生目标Q值。基于Q-learning计算损失函数,使用随机梯度下降法更新参数。想要使当前Q值与目标Q值的差越小越好。
在批处理周期内训练的网络是Eva-Net,Target-Net权值的更新是通过Eva-Net直接赋值。每一次训练迭代的过程中,从历史o-a记录中随机抽样出固定批量样本数据(包括当前状态,当前动作,动作奖励,下一时刻状态,当前时间步数),将当前状态数据作为Eva-Net,输出的是当前状态下可采取的每一个action的Q值,这就是Eva-Net的预测值Q(a|s)。将下一时刻状态作为Target-Net的输入,其输出为在下一时刻状态下,每一个action对应的Q值。这里取最大的Q值argmaxQ'(a’|s’),也就是说要使未来目标奖励最大,然后根据贝尔曼公式进行梯度下降计算,更新 Eva-Net的权值:
应用DQN算法的智能减振控制方法对照DQN算法术语,形成智能减振控制专有术语:将DQN算法结合振动加速度输入信息、特定的减振控制指令,称为DQN-减振控制算法,这是本专利申请保护的主要内容,该算法名称适用于减振控制领域。具体到算法中,将DQN算法的应用环境对应称为车辆运行环境(简称运行环境),智能体对应称为车辆垂向减振智能体(简称减振智能体),将状态空间对应称为车辆姿态状态空间(简称姿态空间),将观测空间对应称为车辆姿态感知状态空间(简称感知空间),将动作空间对应称为车辆阻尼(指令)动作空间(简称阻尼动作空间),将奖励对应称为车辆阻尼作动奖励(简称作动奖励),将Q值对应称为车辆阻尼作动Q值(简称作动Q值),将值函数估计神经网络对应称为车辆姿态-作动值估计神经网络(简称估计网络),将损失函数对应称为目标姿态距离函数(简称距离函数)。
在本步骤中,目标运行状态为高速线运行状态,车辆在高速线运行状态下运行最为平稳,基于DQN算法模型,生成用于使得车辆平稳运行的减振控制指令,即自主给出匹配线路运行特性的减振控制指令。
步骤104:根据所述减振控制指令对车辆运行姿态进行实时调整。
在本步骤中,根据给出的匹配线路运行特性的减振控制指令从而驱动减振器作动实现有效减振,从而将车辆从当前所属的运行状态,一步步通过奖励牵引的方式选择车辆下一运行场景的运行状态,直到达到目标运行状态。
在本发明实施例中,需要说明的是,对于车辆垂向减振控制,这里的车辆运行环境是车辆在途运行环境,减振智能体的感知空间为一维变量——车辆垂向加速度。动作空间也是一维变量——阻尼指令(这里默认阻尼指令与阻尼是一对一的量化匹配关系),将奖励对应称为车辆阻尼作动奖励(简称作动奖励),技术实施条件:前期可以明确的参数有:减振器的动力学性能(包括连杆伸缩量程,阻尼力取值范围,指令响应时间),以及车辆姿态感知频率、感知状态量程,阻尼动作空间(阻尼指令取值范围)。
本发明实施例基于模块化设计思想构建一个自学习的DQN控制模型,通过试错训练不断迭代学习参数,通过Q值奖惩模式来给出控制策略,算法能够自动掌握控制规律,从而输出与目标期望匹配的减振控制指令,使车辆通过悬挂系统达到自稳定的目的。通过修改强化学习系列模型的部分结构,使其更加适用于本项目的半主动控制系统场景,形成一套车辆悬挂系统专用强化学习控制策略。
在本发明实施例中,需要说明的是,所采用的模块化设计思想,举例来说:例如,具有三个模块,分别为函数逼近器,策略生成器和时间差分 (TD)生成器。函数逼近器模块基于状态信息预测值函数。策略生成器模块生成适当的操作和相应的操作值。TD生成器模块随后基于增强信号,当前动作值和连续动作值来制定时间差分误差。因此,时间差分误差是反馈到函数逼近器模块以调整可调参数。具有这种模块化设计的两个动机是功能通用性或抽象性以及功能独立性。
在本发明实施例中,需要说明的是,本发明实施例采用一种深度神经网络Q_net,该网络具有两层卷积层、一层全连接层用来获取实时的Q-评估(Q-eval)的数值。以车辆加速度信号作为Q_net输入,并使用这些参数进行模型训练,在既定控制策略下,模型根据输入计算出逐渐合理的控制策略,当模型输出趋于稳定后,可以结束训练过程。
由上面技术方案可知,本发明实施例提供的基于DQN强化学习的列车姿态控制方法,通过实时获取车辆的姿态参数确定车辆当前运行状态,生成可以使车辆平稳运行的减振控制指令,实现对车辆的一系垂向减振器的实时控制,该减振控制指令以电信号控制指令的形式输送给减振器,可以达到主动指导可控减振器作动的效果,解决车辆在途运行过程中车辆转向架的垂向平稳性问题,进而以保持在途运行车辆持续平稳运行的目的。
在上述实施例的基础上,为了确定车辆当前所属的运行状态,在本实施例中,所述车辆的姿态参数包括车辆的振动加速度;相应地,根据车辆的姿态参数确定车辆当前所属的运行状态,具体包括:
根据车辆的振动加速度,确定车辆运行姿态的特征值;所述特征值包括峭度、峰值、裕度、波形、脉冲和偏态;
根据车辆运行姿态的特征值,确定车辆当前所属的运行状态;
其中,车辆当前所属的运行状态包括:加速启动运行状态、既有线平稳运行状态、既有线切换高速线运行状态、高速线平稳运行状态、高速线切换既有线运行状态和制动减速运行状态中的一种。
在本实施例中,需要说明的是,车辆运行姿态和车辆运行状态不是一个概念,车辆运行状态指的是加速启动运行状态、高速线平稳运行状态等运行状态,车辆运行姿态是指具体的姿态参数,比如加速度等。
在本实施例中,举例来说,将智能控制器接收的车辆的姿态参数进行预处理,提取长度为l的数据段为单位数据段,计算其特征值峭度(kv)、峰值(cf)、裕度(cl)、波形(sf)、脉冲(if)、偏态(sk)。令T=[kv cf cl sf if sk] 为单位数据段特征向量,则该特征向量反应数据段对应的车辆运行环境,公式为:
由于车辆的姿态参数信息涉及多维时域信号,因此需多维时域数据并行开展特征计算,令车辆的姿态参数信息单位矩阵为PO=[x,y,z,](以3维为例),则x,y,z分别是长度为l(单位长度)的一维时域向量,分别提取上述时域特征,则可得到状态特征单位矩阵:
在本实施例中,需要说明的是,车辆当前所属的运行状态包括:加速启动运行状态、既有线平稳运行状态、既有线切换高速线运行状态、高速线运行状态、高速线切换既有线运行状态和制动减速运行状态六种,不同的运行状态对应不同的车辆的姿态参数。通过信号处理,提取时域信号特征集合,通过带有多分类交叉熵损失函数及三层隐含层的BP神经网络辨识车辆当前所属的运行状态标签,BP神经网络,参见图2。
由上面技术方案可知,本发明实施例提供的基于DQN强化学习的列车姿态控制方法,通过车辆的振动加速度,确定车辆运行姿态的特征值,所述特征值包括峭度、峰值、裕度、波形、脉冲和偏态,进一步确定车辆当前所属的运行状态,可以基于人工智能的自适应减振控制技术,可以依托大数据训练算法模型,在无需调参、无需预先明确车辆运行动力学特性的情况下,根据数据训练的历史经验确定车辆当前所属的运行状态。
在上述实施例的基础上,为了生成使得车辆平稳运行的减振控制指令,在本实施例中,所述目标运行状态为高速线平稳运行状态;
相应地,根据车辆当前所属的运行状态以及目标运行状态,基于DQN 算法模型,生成用于使得车辆平稳运行的减振控制指令,具体包括:
确定车辆六种运行状态的可达性矩阵;
根据车辆六种运行状态的可达性矩阵以及预设分析数据,确定车辆六种运行状态的状态转移概率矩阵;
根据使得车辆平稳运行的控制需求,设定车辆六种运行状态的状态转移奖励矩阵;
根据车辆当前所属的运行状态、目标运行状态、状态转移概率矩阵和状态转移奖励矩阵,按照第一关系模型,确定最大奖励值对应的状态转移路径以及该状态转移路径对应的减振控制指令;
其中,第一关系模型包括:
其中g
t表示未来奖励期望,E(G
t|S
s=S)表示未来奖励期望函数表达式,R
t+1表示下一时刻奖励,γR
t+2表示再下一时刻奖励,
表示未来奖励期望运算方程式,h表示时间序列;
vπ(s)=Eπ(gt|St=s)
其中,Vπ(s)表示车辆姿态值函数,gt表示未来奖励期望,St表示当前车辆姿态变量,s表示当前车辆实际姿态数据,St=s表示当前车辆姿态为s, Eπ(gt|St=s)表示在控制策略π下当前车辆姿态值函数;
qπ(s,a)=Eπ(gt|St=s,At=a)
其中,qπ(s,a)表示控制器的动作值函数,gt表示未来奖励期望,St=s表示当前车辆姿态为s,At=a表示当前动作,在这里指减振器阻尼力控制指令,Eπ(gt|St=s,At=a)表示当前车辆姿态为s,输出阻尼力控制指令为a时的动作值函数;
其中,q
π(s
i,a
i)表示控制器的减振控制指令值函数,s
i表示车辆姿态,a
i表示给出的减振控制指令,R表示当前车辆姿态下输出减振控制指令的奖励值,
表示在a
i指令下出现状态s
i的奖励值,γ表示平衡因子取值范围为[0,1],
表示a
i减振控制指令下,由s
i到s
j的状态转移概率矩阵,π(a
i|s)表示当前控制策略下给出减振控制指令的a
i的概率,π(a
j|s)表示当前控制策略下给出减振控制指令的a
j的概率。
在本实施例中,需要说明的是上式理解为:在当前车辆姿态下输出减振控制指令的奖励值为R,车辆姿态为si,给出的减振控制指令为ai,此时的控制器动作值函数q是按照上式计算实现的。
在本发明实施例中,需要说明的是,其中,可达性矩阵为:
其中,预设分析数据由专家系统或统计分析得到,其中,状态转移概率矩阵为:
在本发明实施例中,为方便理解,举例来说:
本发明实施例较于传统的车辆减振控制方法,参见图3,本发明实施例提出的控制策略,应用状态特征矩阵为车辆状态计算标签。以理想情况为例,说明该策略的实施过程。理想情况下的车辆运行主要有以下几种状态:加速、减速、匀速、线路切换。其中,将线路切换状态细分为既有线切换到高速线、高速线切换到既有线两种状态,匀速状态也分为高速线匀速状态和既有线匀速状态。因此,参见图4,1加速启动过程、2既有线切换高速线、3高速线平稳运行、4高速线切换既有线、5既有线平稳运行、 6减速制动过程,共六种状态。这六种状态之间的可达性矩阵DSS所示:
其中,DSS为S维的方阵;dij为第i行第j列元素,代表第i个状态转移到第j个状态的可达性;当dij=1时,代表i→j可达,当dij=0时,代表i→j不可达。
对应于可达性矩阵DSS,若由专家系统或统计分析得到每个dij的对应概率值pij,则得到基于状态可达性矩阵的状态转移概率矩阵PSS:
其中,pij为第i个状态转移到j个状态的可能性;Pij的推导公式为:
Pij=E(p(j|i))·DSS
本发明的控制方法符合马尔可夫决策过程的理论模式。采用强化学习的控制思想进行方法设计。通过PSS可预判车辆下一个运行场景的可能走向,但是要实现对车辆运行的平稳性进行控制,必须设定控制的目标状态。这里的目标期望是所有的运行过程都能平稳进行,因此将平稳运行状态S3 设定为目标状态,无论车辆运行在哪个场景,本方法都要将车辆当前运行状态控制在目标状态的平稳程度才符合期望要求。而欲达到目标平稳状态需要设定新的控制限定条件。这里对每个车辆状态的转移设定不同的奖励值作为限定条件,根据奖励值的大小增加状态转移控制的主动性。同样的可生成状态转移奖励矩阵RSS:
其中,rij为第i个状态转移到第j个状态的奖励值。RSS是根据控制目的设定的具有主观性的参数矩阵,而PSS是反映状态转移的客观统计规律的参数矩阵,这是RSS与PSS的本质区别。
通过不同的pij得到最可能发生的状态,通过不同的rij得到最期望发生的状态。这里的rij是环境的反馈。是与控制器的控制指令直接相关,同时也与当前车辆姿态相关的参数。令控制目标函数为gt,gt含义为之后每次状态转移尽可能获得的最大奖励值。它是未来获得奖励的期望,表达式为:
上式称为车辆运行姿态值函数V(s),所估算出的gt就是V(s)的解。
求解方法通过采用构建Bellman等式的方式进行迭代计算,来估计其近似解。这里用到的估算公式为:
实现状态到状态的转移,必须通过控制策略采取一定的行动a,这里的行动是指控制器的控制指令。行动是一个有限集合,行动与奖励值直接相关,采用奖励值高的行动,将得到控制决策对应的转移状态。这里的控制策略是一个概率分布函数,令其为π(a|s),可解释为,在状态s下采取动作a的概率。有了控制策略对应的分布函数,这里的控制策略对应于车辆姿态的物理意义为:在该策略下当前状态的预期奖励值。有了车辆运行姿态值函数,通过控制策略采取相应的控制指令,就能达到对应奖励值最大的目标状态。由此可建立车辆姿态值函数:
vπ(s)=Eπ(gt|St=s)
完成策略指导行动的过程,需要引入控制器的行动值函数qπ(s|a)。动作值函数的物理意义在于在当前策略下,采取行动a对当前s实现状态转移所得到的期望奖励值。由此,可建立控制器动作值函数:
qπ(s,a)=Eπ(gt|St=s,At=a)
这里建立上式的目的是为了求解应该采取的动作,以实现接下来预期奖励的最大化。
通过马尔可夫决策过程和Bellman等式可以推导出计算控制器动作值函数和车辆姿态值函数的递归求解关系,该推理过程是已知和公开的,本处不再赘述,该计算推理所得qπ(s,a)的最终结果如下:
a的物理意义是控制器向执行机构发出的电信号(电压V或电流I)。a和执行机构的驱动信号c之间有确定的对应关系c=F(a)。求出a就能得出相应的c。这里要求F是单调递增的连续函数,因此有函数Φ=F-1,使得a=Φ(c)。接下来确定寻找最优控制策略的方法。这里最优控制策略的含义是找到最佳的控制指令abest得到qbest=Max(qπ(s,a)),即:
这里寻找最佳策略得到qbest的推导过程是采用最优策略计算器进行推演,主要是Ballman等式系列估计方法,包括DQN、Qlearning、Sarsa等。
在本发明实施例中,需要说明的是,本发明实施例基于人工智能的自适应减振控制技术,依托大数据训练算法模型,在无需调参、无需预先明确车辆运行动力学特性的情况下,根据数据训练的历史经验,自主学习匹配车辆运行特性的减振规律,经过多次自学习、自校正后,控制算法能够自主给出匹配线路运行特性的减振控制策略,从而驱动减振器作动,实现有效减振。
由上面技术方案可知,本发明实施例提供的基于DQN强化学习的列车姿态控制方法,通过可达性矩阵以及预设分析数据确定状态转移概率矩阵,同时根据车辆当前所属的运行状态、目标运行状态、状态转移概率矩阵和状态转移奖励矩阵,按照第一关系模型,确定最大奖励值对应的状态转移路径以及该状态转移路径对应的减振控制指令,可以基于DQN通过奖惩来学习正确行为,通过学习矩阵,能够通过高奖励行为,进行路径选择,从而控制器能够根据车辆运行姿态自动做出奖励值最高(估计值)的控制行为,即输出最大奖励值对应的状态转移路径以及该状态转移路径对应的减振控制指令,保证车辆平稳运行。
在上述实施例的基础上,为了确定车辆六种运行状态的状态转移概率矩阵,在本实施例中,所述根据车辆六种运行状态的可达性矩阵以及预设分析数据,确定车辆六种运行状态的状态转移概率矩阵,具体包括:
根据专家系统或统计分析数据获取车辆六种运行状态的状态转移可能性矩阵;
根据车辆六种运行状态的可达性矩阵以及车辆六种运行状态的状态转移可能性矩阵,确定车辆六种运行状态的状态转移概率矩阵。
由上面技术方案可知,本发明实施例提供的基于DQN强化学习的列车姿态控制方法,通过专家系统或统计分析数据获取的可达性矩阵以及车辆六种运行状态的状态转移可能性矩阵,确定车辆六种运行状态的状态转移概率矩阵,可以采用模块化设计构建一个自学习的DQN控制模型,通过试错训练不断迭代学习参数,通过Q值奖惩模式来给出控制策略,算法能够自动掌握控制规律,从而输出与目标期望匹配的减振控制指令,使车辆通过悬挂系统达到自稳定的目的。通过修改强化学习系列模型的部分结构,使其更加适用于本项目的半主动控制系统场景,形成一套车辆悬挂系统专用强化学习控制策略,从而保证车辆平稳运行。
在上述实施例的基础上,通过奖励值采取行动,为了实现当前状态到下一状态的转移,在本实施例中,基于DQN强化学习的列车姿态控制方法,其特征在于,所述状态转移奖励矩阵为:
由上面技术方案可知,本发明实施例提供的基于DQN强化学习的列车姿态控制方法,通过奖励值采取行动,实现了当前状态到下一状态的转移,直到达到对应奖励值最大的目标运行状态,本发明实施例首次结合数据驱动控制的思想,依托人工智能技术通过应用环境进行自学习自适应的基于 DQN强化学习的列车姿态控制方法,通过奖励函数估计出减振指令的奖励值,计算减振控制的奖励期望,进一步判别控制策略的有效性,其目的在于,从应用实效性的角度出发,无需事先的动力学演算,通过车辆姿态的实时变化信息,自主调节车辆平稳性。
为方便理解本发明实施例中的最优控制策略,以DQN为例,说明推演过程:
DQN通过奖惩来学习正确行为,通过学习R矩阵,能够根据自己认为的高奖励选行为a,因而控制器能够根据车辆运行姿态车辆运行姿态自动做出奖励值最高(估计值)的控制行为,即输出保持车辆平稳运行的控制指令。DQN使用卷积神经网络作为qπ(s|a)来拟合Q-learning中的动作价值,并通过不断更新神经网络从而学习到最优的行动路径。DQN模型的核心就是卷积神经网络,使用Q-learning来训练,接受了输入为原始输入参数后,输出为qbest。这个网络的输入是数秒内车辆运行姿态车辆运行姿态感知参数。输出是每个执行机构阻尼系数对应的驱动信号的qπ(s|c)(执行机构阻尼值唯一对应驱动信号c)。q*表示在状态s下采取动作a能够获得的期望最大收益(这区别于r*——当前行动立即获得的最大收益)。
控制器的DQN计算器中有两个神经网络,一个参数相对固定的网络,叫做target-net,用来获取目标状态的q*,另外一个叫做eval_net用来获取 Q-评估q*′。在训练神经网络参数时用到的损失函数(Loss function),实际上就是loss=q*-q*′的结果。算法如下:
初始化样本容量为N的缓存D;
用随机变量θ初始化控制器减振指令值函数qπ(s|a);
用权值θ′=θ初始化目标加速度-减振指令值函数q′。
当迭代步数不大于M:
初始化序列s1={x1}并且预处理序列φ1=φ(s1)
当序列t的值不大于T(t=[1,T]):
用概率γ选择一个随机减振指令at;
或者选择at=argmaxa[Q(φ(st),a;θ)];
执行减振指令at并观察奖励rt和下一个加速度估计st+1′;
设定st+1=(st,rt,st+1′),用φt+1=φ(st+1′)进行预处理;
将(φt,at,rt,φt+1)存储在缓存D中;
从D中随机取(φt,at,rt,φt+1)的少量样本,样本个数为[1,J];
设定第j个样本:
执行(yj-q(φj,at,rt,φt+1))2关于网络参数θ的梯度下降步骤;
q′=q;
结束本循环。
参见图5,提供列车姿态主动控制系统方案。
参见图6,通过仿真环境模拟了列车运行在京津谱线的车辆振动情况。
参见图7,通过观察转向架垂向振动时域波形,黑线为未控制的振动波形,灰色虚线为DQN控制的振动波形,横轴表示时间,单位为s,纵轴表示加速度,单位为m/s2,可见通过DQN控制后的振动波形,其振动幅值比未控制情况下的波形幅值小,因此可以得出结论:强化学习的控制效果明显比未进行控制的情形要好。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。