具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请实施例的描述。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
还应当理解,在本申请实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
下面结合附图,对本申请实施例作进一步阐述。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
终端设备或服务器可以包括处理器,外部存储器接口,内部存储器,通用串行总线(universal serial bus,USB)接口,充电管理模块,电源管理模块,电池,天线,天线,移动通信模块,无线通信模块,音频模块,扬声器,受话器,麦克风,耳机接口,传感器模块,按键,马达,指示器,摄像头,显示屏,以及用户标识模块(subscriber identification module,SIM)卡接口等。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,上述硬件平台并不构成对本申请实施例的限定,可以包括比硬件平台更多或更少的部件,或者组合某些部件,或者不同的部件布置。
终端设备或服务器可以调用其储存的异常用电检测程序,以执行异常用电检测方法。
参照图1,本申请实施例提供一种异常用电检测方法,包括:
S1100,获取用电数据;
S1200,根据用电数据,利用第一算法构建C个时序波形特征;
S1300,根据预设的单位时间N,将时序波形特征处理为N*M*C的数据矩阵;其中,C、N和M均为正整数;
S1400,获取异常用电检测模型;异常用电检测模型为基于卷积神经网络模型训练得到的模型;
S1500,将数据矩阵输入异常用电检测模型,识别得到异常用电信息。
在一些实施例中,S1100中的用电数据是当前收集到的需要进行异常状态检测的某一用电量信息,例如,可以是某一用户电表一段时间内采集到的用电量信息。
在一些实施例中,S1200中的时序波形特征指的是将用电量信息通过某种变换后形成的新的波形(即一组新的时序特征),由于用电量信息比较单一,通过构建C个时序波形特征可以有效提高异常识别的准确度和有效性。其中,C为波形(时序特征)的数量,也就是通道数量或者说是影响用电数据因素的数量。
在一些实施例中,通过步骤S1300将时序波形特征处理为N*M*C的数据矩阵。例如,对于Conv2D卷积核,在将输入数据构建为时序波形特征的形态后,我们的时序输入数据可以与图像处理中的图像输入数据作类比。单波形的重构后的时序数据变为一个二维矩阵[period*(all_day/period)],类似于的像素数据N*M,而多组波形的数量C则类比于图像处理中的通道,因此可以直接采用图像处理中图片单通道处理时的卷积层去处理时序数据。
在一些实施例中,步骤1400中,异常用电检测模型为基于卷积神经网络模型训练得到的模型。
在一些实施例中,步骤1500中,将数据矩阵输入异常用电检测模型,识别得到异常用电信息。异常用电信息可以是判断结果信息(如直接判断是否为异常用电用户),也可以是异常用电概率信息(如判断该用户为异常用电用户的概率)。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
在一些可选的实施例方式中,第一算法包括以下的一种或多种:离散傅立叶变换算法、指数加权平均算法、滑动平均算法和差分算法等。
在一些实施例中,时序波形特征主要服务于深度学习模型。时序波形特征指的是将用电量序列通过某种变换后形成的新的波形(即一组新的时序特征)。
原始的时间序列波形(用电数据)实际上可以认为是多种序列的一种叠加(在每个时间点的用电量可以由其他的因子乘以某个权重得到)。例如用电量会受到气温的影响,那么用电量的波形肯定会与气温这一波形相关,而用电量肯定也与我们人类的活动作息有关,因此波形肯定也与这一规律有关。
如图2所示,考虑一种最简单的情况,假设所有家庭的用电情况(当日真实用电量曲线)可以由气温(当日气温曲线)与这个家庭的家庭成员的作息活动曲线(家庭活动因子曲线)以及代表随机序列的白噪声序列三类波形叠加得到。那么在判断异常用户时,模型会被期望于能够分解不同的波形并过滤其中无关的波形,也就是所谓的“滤波”。在刚才举的例子当中,模型会被期望能够捕获到气温波形(当日气温曲线)以及白噪声序列波形,并且将他们进行过滤,得到类似家庭活动因子曲线这样的波形,并对这一波形进行判别,明显异常的波形代表着异常用户。
但即使是经过针对性设计的深度学习模型,也不一定能够完全朝着我们的期望对波形进行学习。因此,本申请通过第一算法,在构建特征的过程当中,我们能对有可能有用的一些波形进行提前地分解或者处理,并融合到输入当中,将能够让模型更好,更方便地利用到相关的信息。
在一些实施例中,第一算法为滑动平均算法。简单移动平均是某变量之前n个数值的算术平均值。若时间序列表示为{A1,A2,...,An},则t时刻的n点移动平均值为Ft=(At-1+At-2+At-n)/n。统计序列A与序列F在各个时间点的相对大小,若A在F之下的有u段,每段包含的点数分别为{a1,a2,...,au},同理A在F之上的有v段,则计算上升趋势指标tra与下降趋势指标trb可如下:
滑动平均算法即移动平均法。是在简单平均算法基础上,通过顺序逐期增减新旧数据求算移动平均值,借以消除偶然变动因素,找出事物发展趋势,并据此进行预测的方法。滑动平均法是趋势外推技术的一种。实际上是对具有明显的负荷变化趋势的数据序列进行曲线拟合,再用新曲线预报未来的某点处的值。
时间序列数据由确定性成分和随机性成分组成,且前者为有效信息,后者即随机起伏的测试误差或噪声。移动平均法就是对非平稳的数据,在适当的小区间上视为接近平稳的,而作某种局部平均,以减小误差所造成的随机起伏。这样沿全长N个数据逐一小区间上进行不断的局部平均,即可得出较平滑的测量结果,而滤掉频繁起伏的随机误差。
在一些实施例中,可采用四类滑动平均波形,分别是以3为窗口和以7为窗口的一阶与二阶的滑动平均算法,以得到时序波形特征。
在另一些实施例中,第一算法为离散傅立叶变换算法。傅立叶变换是一种分析信号的方法,它可分析信号的组成成分,也可用这些成分合成信号。许多波形可作为信号的成分,比如正弦波、方波、锯齿波等,傅立叶变换用正弦波作为信号的组成成分,在时域他们是相互重叠在一起的,我们需要运用傅立叶变换把他们分开并在频域显示出来。
连续傅立叶变换(Fourier Transform)如下:
由于连续傅立叶变化计算开销较大,本项目采用快速傅立叶变化即FFT进行近似。对时序数据进行变化后可得到振幅与相位序列。可以通过利用傅立叶变换将用电量序列变换为一组新的时序波形特征。
在另一些实施例中,第一算法为滑动指标类算法,滑动指标型与滑动平均算法相似,均采用窗口滑动的方法,在窗口内计算相应指标值,得到新值。获取这些波形的目的是在平滑误差项的前提下,取得序列的相关指标。
这里的指标包括:中位数,标准差,偏度(样本三阶矩无偏估计),峰度(样本四阶矩无偏估计),窗口值一般为3。
在另一些实施例中,第一算法为指数加权平均(动量优化算法)算法。加权移动平均法,是对观察值分别给予不同的权数,按不同权数求得移动平均值,并以最后的移动平均值为基础,确定预测值的方法。采用加权移动平均法,是因为观察期的近期观察值对预测值有较大影响,它更能反映近期变化的趋势。指数移动加权平均法,是指各数值的加权系数随时间呈指数式递减,越靠近当前时刻的数值加权系数就越大。指数移动加权平均较传统的平均法来说,一是不需要保存过去所有的数值;二是计算量显著减小。EWMA(ExponentiallyWeighted Moving-Average,指数加权移动平均)的表达式如下:
其中,β为超参数,表示加权下降的速率,其值越小下降的越快;θt为时刻t的实际温度;vt为t时刻EWMA值。
在另一些实施例中,第一算法为差分算法。差分的结果反映了离散量之间的一种变化,是研究离散数学的一种工具。它将原函数f(x)映射到f(x+a)-f(x+b)。差分运算,相应于微分运算,是微积分中重要的一个概念。总而言之,差分对应离散,微分对应连续。差分又分为前向差分、向后差分及中心差分三种。
在一些实施例中,第一算法采用后向差分,表达式为:
在一些可选的实施例方式中,S1300中,预设的单位时间N通过以下步骤获取:
S1310,获取用电样本数据;
S1320,利用不同周期T,以周期T为间隔,计算对用电样本数据进行差分运算,得到周期变化值;
S1330,根据周期变化值,确定单位时间N。
为了探寻正常用户用电模式与异常用户用电模式之间是否存在周期方面的差异(此前由折线图可以看出用电模式确实存在一定的周期现象),对用电用户进行周期性分析,由于外部数据集的最小时间单位是天,因此以7天、14天、30天为周期进行分析。(出于描述方便,下文皆以T来代表周期)
用电模式存在周期性相对等价于用电前后一周期的变化小,因此可以用前后周期的变化值来描述周期性的大小。用所有正常用户用电样本的样本来估计正常用户这一总体,同理用异常用户用电样本对总体进行估计。
为了刻画前一周期与后一周期之间的差异,首先进行差分运算。以周期T为间隔进行一阶差分运算,得到前一周期与后一周期的变化值。
为了得到单个样本的周期性大小,可以用该样本的一阶差分总均值进行比较。
周期 |
正常用户 |
异常用户 |
7天 |
0.096672 |
0.098918 |
10天 |
0.107354 |
0.111916 |
14天 |
0.10434 |
0.108767 |
30天 |
0.119619 |
0.126272 |
表一
从上述表一纵向来看,用户以7天为周期时存在比较强的周期性(数值越小,周期性越明显),随着周期变长,周期性不断衰减,但以7及7的倍数为周期时周期性会更加显著,反之以10及10的倍数来看周期性不是特别显著。这体现了居民用电时,以周为周期的规律,直观地理解,居民一般在工作日用电少,周末用电多,循环往复,存在规律。因此,可以取周期T=7天。
从该表横向来看,正常用户用电与异常用户用电的用电周期存在差异,明显异常用户的用电周期性要弱于正常用户用电。这也许是由于异常用户在窃电时具有一定的随机性,所以用电量的周期性要显著弱于正常用户。
在一些实施例中,通过S1310获取用电样本数据后,需要对用电样本数据进行预处理。例如,预处理步骤如下:
首先是缺失值填补。常见的缺失值填充方法有填充默认值、均值、众数、KNN填充、以及把缺失值作为新的label通过模型来预测等方式,此处采用线性插值法进行填补。(由于填补会造成统计误差,因此不是所有建模分析都需要进行填补)。
接着是平滑处理(异常值平滑)。平滑处理可使分类器的学习更加准确,因此需要进行平滑处理。此处采用3σ原则对数据进行平滑处理,超过2σ范围的数据均使用均值+2σ的值进行取代。(由于平滑会造成统计误差,因此不是所有建模分析都需要进行填补)
最后是标准化处理。为了保证处理数据在同一量纲范围内进行衡量,避免指标由于数据的绝对大小产生影响,需要进行标准化处理操作。
在一些可选的实施例方式中,单位时间N为7天、14天或30天等。
在之前的分析当中,注意到以7为倍数的周期性特征在正常用户与异常用户之间存在差异,正常用户的周期性要大于异常用户,因此可以利用这一属性进行特征的针对性设计。
如图3所示,在一些实施例中,可以通过执行步骤S1300,将原先一维的长1036的时间序列拆到两个维度上,一个维度为以7的倍数,如7天、14天、28天,另一个维度为1036/7,1036/14,1036/28等,图中每个圆点可代表一天的数据。
这样的特征设计使得相邻周的同一天处在相邻的位置。将特征矩阵设为P,则P1,1代表第一周的周一,P1,2代表第一周的周二,同一周的周一周二在纵向是相邻的,P2,1代表第二周的周一,不同周的周一在横向上是相邻的。这样的一种设计有助于深度学习模型中的卷积神经网络(Convolutional Neural Networks,CNN)在一个N*M区域中进行卷积,即同时捕获其在周期内与周期间的异同信息。
在一些可选的实施例方式中,S1400,获取异常用电检测模型,包括:
S1410,获取用电样本数据;
S1420,利用用电样本数据,训练卷积神经网络模型,以得到异常用电检测模型。
在一些可选的实施例方式中,S1410中,获取用电样本数据,包括:
S1411,获取来自外部网络的历史用电数据;
S1412,对历史用电数据进行修正处理,以得到用电样本数据。
在一些实施例中,由于收集样本数据集时,可能内部网络数据量小,导致异常用户数据的数量过少。例如,如果内部网络收集样本数据集一共只有2份异常用户数据。单从这两份异常用户数据上去分析,分析出的异常用电模式非常可能存在片面甚至错误的情况(可代表性太差)。并且对这两份数据进行多维度(如周期分析,波动分析)等分析后,与正常用电用户之间存在的差异也没有明显的表现出来。影响模型训练的效果。可以通过引入外部网络的历史用电数据作为样本数据集。例如,对于应用于南方电网的检测方法,可以以国家电网数据集作为样本数据集。
在一些可选的实施例方式中,对历史用电数据进行修正处理,包括:
S1412-A,利用第二算法对历史用电数据进行修正处理;第二算法包括以下的一种或多种:迁移学习算法、Fine-tune算法和模型蒸馏算法。
在一些实施例中,外部网络数据集的数据与内部网络数据的模式会存在一定的差异,可以通过迁移学习,Fine-tune(微调),模型蒸馏等方式进行修正。
在一些可选的实施例方式中,一种异常用电检测方法还包括:
S1600,根据用电数据,识别得到用户类型;
对应的,S1400中,获取异常用电检测模型,包括:
S1430,获取与用户类型相对应的异常用电检测模型。
在一些实施例中,不论是用电类别还是用户分类上来说,可以看出不同的种类的用电模式存在显著的不同。因此在分析异常用户时,需要对不同模式进行区分,否则大工业用电模式可能被由商业用电模式数据训练而成的模型识别为异常用户。可以通过执行步骤S1600识别用户类别,用户类别包括大工业用电、普通工业用电、商业用电、居民用电等。对于不同的类别,可以训练得到对应的异常用电检测模型,并通过对应的异常用电检测模型对对应用户类别的用电数据进行检测,以减少误识别,从而提高检测的准确度。
在一些实施例中,还需要构建合适的评估指标,利用评估指标解释模型的性能,并区分模型结果的能力,更能够帮助分辨模型的特征与结构的优劣。
在一些实施例中,评估指标包括准确率(accuracy)、AUC(Area Under Curve)值和MAP(mean average precision)值。
其中,准确率是指对一个事物表达或描述的正确程度,用来反映对事物的正确性解答。在异常用户识别模型当中,我们无疑需要保证准确率。
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高。
ROC曲线的横坐标是伪阳性率,纵坐标是真阳性率,相应的还有真阴性率和伪阴性率。这四类指标的计算方法如下:
(1)伪阳性率(FPR):判定为正例却不是真正例的概率,即真负例中判为正例的概率。
(2)真阳性率(TPR):判定为正例也是真正例的概率,即真正例中判为正例的概率(也即正例召回率)。
(3)伪阴性率(FNR):判定为负例却不是真负例的概率,即真正例中判为负例的概率。
(4)真阴性率(TNR):判定为负例也是真负例的概率,即真负例中判为负例的概率。
AUC的计算方法如下:
其中,Ranki代表样本i的排名,M代表正样本,N代表负样本。
MAP值一般是用在信息检索当中,本项目中引入这一指标,帮助对不平衡数据集的预测结果的评估。在使用MAP进行评估之前,需要根据模型对样本的预测分数进行排序,然后选择顶部的N个模型最怀疑的窃电用户样本(本项目N取100,200)来评估性能。
为了计算MAP,我们首先在k处定义精度(用P@k表示)如下:
其中,Yk代表在前K个样本中,被正确预测为窃电用户的样本个数。
MAP@N表示N之内所有P@k的平均值:
在一些实施例中,异常用电检测模型为基于卷积神经网络模型训练得到的模型。卷积神经网络(CNN,Convolutional Neural Networks)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。
卷积神经网络仿造生物的视知觉机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程要求。
为了探寻CNN网络中不同网络结构的优劣,本申请实施例设计了两类卷积核不太相同的神经网络(同时下游层数也有相应改变)。一种是Conv1D卷积核,即为一维的卷积,这种情况下,卷积核在时序维上滑动,波形和周期两维需要压缩为一维,变为平展的卷积。另一种是常见的Conv2D卷积核,即为二维的卷积核,可以同时处理波形和周期两个维度。
两种卷积网络所接收的输入数据形态也是不同的。对于Conv1D卷积核,一维是时序,另一维可以选周期也可以选波形,或者将其中一维拉扁压缩也可以。对于Conv2D卷积核,在将输入构建为时序波形特征后,我们的时序输入数据可以与图像处理中的图像输入数据作类比。单波形的重构后的时序数据为一个二维矩阵[period*(all_day/period)],类似于的像素数据N*M,而多组波形的数量C则类比于图像处理中的通道,因此可以直接采用图像图像处理中图片单通道处理时的卷积层去处理时序数据。
下列为CNN_1网络(Conv1D卷积核)和CNN_2网络的实验结果如下表二所示。
表二
经过一系列输入特征的对比实验后,CNN_1最终采用单波形以7为周期(原始时序数据)输入效果最好,此处仅列举单波形输入实验数据,略去其他输入数据。CNN_2采用多波形,以7为周期的输入效果最好,同样略去其他输入数据。
CNN_1网络(Conv1D卷积核)和CNN_2网络的实验结果和其他网络的实验结果如下表三所示。
表三
从实验数据可以得到以下结论:
CNN类神经网络的效果显著强于RNN类神经网络(如LSTM(长短期记忆网络(LongShort-Term Memory,LSTM)和GRU(Gate Recurrent Unit))。
CNN类神经网络的训练时长远低于RNN类神经网络(如LSTM和GRU)。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
另外,本申请还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现:
如上述的异常用电检测方法。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的电子设备,可以应用为上述系统架构中的电子设备,本实施例中的电子设备和上述所示实施例的系统架构中的电子设备具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的异常用电检测方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的异常用电检测方法,例如,执行以上描述的图1中的方法步骤S1100至步骤S1500。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
另外,本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行:
如上述的异常用电检测方法。
该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的异常用电检测方法,例如,执行以上描述的图1中的方法步骤S1100至步骤S1500。
本申请实施例提供的异常用电检测方法,与相关技术相比,通过获取用电数据,构建C个时序波形特征,利用卷积神经网络模型对用电数据进行识别,得到异常用电信息。本申请实施例通过构建特征更好地体现影响用电数据的因素,利用周期粒度将时序波形特征转化为数据矩阵输入卷积神经网络模型进行识别,有效提高了异常用电检测的准确度和处理效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。