一种基于边缘计算的传感器数据处理与协同预测方法与流程

文档序号:19184089发布日期:2019-11-20 01:18阅读:515来源:国知局
一种基于边缘计算的传感器数据处理与协同预测方法与流程

本发明涉及一种传感器,具体的说是一种传感器数据处理方法,属于数据处理和边缘计算技术领域。



背景技术:

近年来,无线通信技术的发展赋予了无线传感器网络强大的数据感知能力和广阔的应用前景,已经被广泛应用于环境监测、医疗健康、军事侦察等领域。这些终端器件在工作的同时也产生了大量的数据资源,研究如何处理分析这些数据将会给经济生活带来有益的影响。

尽管现代技术的发展已经使得传感器的质量较为可靠,但是在实际的数据采集中,传感设备在数据的采集与传输过程中,总是会出现一些异常。鉴于此,基于传感数据的特性,可以采用时间序列分析的方法对数据中出现的异常进行有效的识别,并采用特定算法对异常值进行“平滑”操作,为后续的数据分析工作提供高质量的数据来源。

另外,目前常见的传感数据处理方案是将各个采集设备获得的数据直接传输到云中心进行存储,异常检测与数据清洗工作。然而据相关机构的研究表明,到2020年连接到网络的无线设备数量将达到500亿台,随之产生的数据流将给网络信道和处理中心带来很大的负担。

为了缓解回程开销的压力和时延要求,多接入边缘计算(multipleedgecomputing,mec)一经提出,便受到了学术界及工业界的广泛关注。它将云计算模型的部分计算任务迁移到网络边缘设备上,减轻了带宽的压力并降低了云负载。通过将传感器采集到的数据尽可能的在接近数据源的计算资源上进行相应的处理,能够有效的利用数据。

然而,与云计算不同的是,边缘服务器的资源是有限的。因此,无线资源和计算资源的分配对mec系统来说尤为重要。其中前者影响数据传输速率和设备的能耗,而后者影响任务的计算时延。



技术实现要素:

本发明的目的是提供一种基于边缘计算的传感器数据处理与协同预测方法,通过在多传感器处建立数据节点进行数据清洗任务卸载、在多mec服务器处进行数据分析拟合与预测计算、在汇聚节点处预测数据,提升了准确性和鲁棒性,节约了时延和能耗。

本发明的目的是这样实现的:一种基于边缘计算的传感器数据处理与协同预测方法,包括以下步骤:

s1:建立一个多传感器组、多mec服务器、汇聚节点的场景模型;

s2:所述传感器组配置具有存储与通信的功能的数据节点,来存储过去若干个时刻的记录值,并对数据进行异常值检测和修正;

s3:所述数据节点通过二分图匹配来卸载任务数据至mec服务器;

s4:所述mec服务器利用接收到的数据进行聚类和拟合,将参数发送给汇聚节点;

s5:所述汇聚节点接收预测任务的输入的数据并与接收到的参数进行比较分析,以确定最合适的参数进行预测。

作为本发明的进一步限定,s1具体为:

每个mec服务器拥有多个信道,数据节点、信道、mec服务器三者表示为:nu={1,2,......i......nu}、n={1,2......,n}、nm={1,2......j......nm},各个信道相互正交。每个数据节点有一个计算密集型任务,可表示为a(ci,xi),其中ci表示任务的大小,单位是比特(bit);xi表示计算负载,单位是cpu/bit(cpu表示需要消耗的处理器时钟周期),cixi表示完成任务所需的cpu。

作为本发明的进一步限定,所述步骤s2包括以下子步骤:

s201.数据节点存储的值表示为s={s1,s2,......sm}(si={s1,s2……sn}),即一共有m种数据,每种数据采集了n个时刻。用大小为w的窗口对m种数据分别进行滑动检测,每次滑动选取下一个时刻的新数据点进入窗口;

s202.所述滑动窗口表示为xi(t)={x1,x2,......,xw},其中xi(i∈1~w)的取值范围是r={r1,r2,r3,......}、出现概率为其中count(ri)表示数据值ri在窗口中出现的次数;在此基础上计算窗口的信息熵:

s203.对所述窗口内每一个xi(i∈1~w)计算其和窗口内数据平均值之间的欧式距离,如果大于阈值则该窗口内数据不合格数n1加1,这主要是由于新加入的数据点xw导致的,记数据点xw异常的概率为

p1=n1/w(2)

s204.所述窗口滑动得到信息熵序列表示为h(t)={h1,h2,h3,......,hj,......};一个窗口xi(t)={x1,x2,......,xw}对应一个熵序列hi(t)={h1,h2,h3,......,hw},其中hw是当前窗口xi(t)的信息熵,h1,h2,h3,......,hw-1分别是前w-1个时刻窗口的信息熵;对所述熵序列内每一个hi(i∈1~w)计算其和熵序列数据平均值之间的欧式距离,如果大于阈值则熵序列内不合格数n2加一,这主要是由于新加入的数据点xw导致的,记xw对应的窗口xi(t)={x1,x2,......,xw}异常的概率为

p2=n2/w(3)

s205.综合所述数据点和窗口异常概率得到的联合异常概率可以写为:

p=1-(1-c1p1)(1-c2p2),0<c1,c2<1且c1+c2=1(4)

其中c1,c2为权重系数,当p大于某个阈值时,就认为xw发生了异常,其中ee(p)是正常工作的传感器在发生事件的区域中异常概率的期望函数,en(p)是正常工作的传感器在正常区域中异常概率的期望函数,可以认为en(p)是一个常数,ee(p)随时间变化而更新;

s206.对所述的异常值xw利用线性插值算法对异常数据进行修正:

其中tiu,tiv为距离数据异常时刻t最近的两个时刻,yiu,yiv为对应时刻的数据值,l(t)为异常数据修正后的值。

作为本发明的进一步限定,所述步骤s3包括以下子步骤:

s301.所述卸载的时延包括传输的时延和在mec服务器上处理的时延,即d=dload+dexe;用矩阵t=[tn,j]表示信道n和mec服务器j之间的关系;若mec服务器j拥有信道n,则tn,j=1;mec服务器拥有多条信道,每条信道同时只分配给单个用户;数据节点i通过信道n计算卸载到mec服务器j上的传输速率为:

其中是当前节点i在信道n上获得的带宽大小,gin是数据节点i在信道n上传输功率的损耗,w0是噪声的功率,pi是节点i的发送功率;ci表示节点i上传的计算任务的大小,则所述传输时延fi=cixi表示数据节点i上传的任务在mec服务器上需要的cpu,fj表示mec服务器j所拥有的全部cpu,fi表示mec服务器j上每个用户i获得的cpu;由于一条信道只属于一个mec服务器,同时只服务一个用户,所以表示连接到mec服务器j上的用户数;所以处理时延总的时延:

所述能耗主要是在发送数据时损耗的能量:

s302.所述数据节点i通过信道n卸载数据的耗费为:

其中α,β分别是时延和能耗的参数且α+β=1,可以根据具体任务的要求来调整参数α,β的值;

s303.所述数据节点和信道的匹配的问题如下:

其中如果数据节点i接入了信道n,则否则置零;匹配的目标为计算卸载耗费最小,且一个时间区间内,数据节点最多只能接入一条信道、每条信道只能服务一个数据节点;

s304.对所述匹配问题采用二分图匹配算法:首先在每个卸载周期开始前,每个数据节点计算待卸载数据接入某条信道的耗费,作为连接到不同信道的权重值;其次由于数据节点数一般大于信道数,所以计算所有数据节点本周期内待卸载数据所需要的cpu,并按照升序进行排序来选取前n个数据节点,与n条信道采用二分图最优匹配算法进行匹配卸载;最后重复上述过程直到达到最大卸载周期。

作为本发明的进一步限定,s4具体为:

mec服务器上接收到多个时刻的数据。每一时刻中xi(i∈1~d)和y代表不同的数据,令x=[x1,x2,......,xd],可以表示为数据组合(x,y)。x和y之间存在拟合关系,这种拟合函数形为其中θ0为拟合函数的初始参数可以为常量也可以为零,θk(k∈1~d)为各个数据xk所对应的参数,动态更新。

首先从当前mec服务器的数据中随机地选取k个数据组合中的x作为初始聚类中心cj(j∈1~k),其次读取一个时刻的数据组合并通过下式来更新θk

δθk=η(y-θkxk)xk(k∈1~d)(11)

其中η为梯度下降速率,δθk为参数更新的增量。然后代入x进入拟合函数计算并计算预测误差接着选取当前数据组合中x所属的聚类中心c*=argminj||x-cj||(j∈1~k)(||x-cj||表示计算x和cj之间的距离,即找出当前和x最接近的cj记为c*),并通过

δc*=η(x-c*)(12)

更新这个聚类中心,其中η为更新速率。刷新并记录c*的历史更新次数l(c*)和更新的相对误差:

其中e(c*)为代入c*进入拟合函数所得的预测值与y的差值的平方。遍历不同时刻的数据组合来重复上述过程直到数据读取结束。

作为本发明的进一步限定,所述步骤s5包括以下子步骤:

s501.在多个mec服务器中指定一个兼为汇聚节点,mec服务器i(i∈1~nm)将计算出的参数发送给汇聚节点:包括拟合函数参数聚类中心每个聚类中心的更新次数及相对误差

s502.预测任务的新输入数据xnew=[x1,x2,......,xd]被发送给汇聚节点,汇聚节点依次计算各mec服务器i的聚类中心中和xnew之间欧式距离最短的记为然后利用下式计算xnew和mec服务器i的数据之间的接近度:

其中的相对误差值,的更新次数,通过查询mec服务器i传递的参数获得。选取ri最小的前c个mec服务器i对应的参数θi构建c个拟合函数,将xnew带入运算,并求平均值作为预测结果,其中为利用参数θi,将xnew代入得到的预测值。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明提出的改进型多数据节点、多mec服务器的设计提升了系统的鲁棒性;在传感器组中建立数据节点,并执行滑动窗口和线性插值算法,能够提升原始数据的准确性;在数据节点与信道之间进行最优二分图匹配并考虑时延和能耗,能够节省计算卸载中的耗费;在分布式mec服务器上利用接收到的数据进行聚类与拟合,减轻了数据节点的计算负载并更好的分析数据;通过设置汇聚节点接收多mec服务器上传的参数,避免了多mec服务器结构下单一服务器所获数据不全面的问题,提升了对新数据预测的准确性。

附图说明

图1为本发明实施例中的结构示意正视图。

图2为本发明工作流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

图1是本发明实施例的一种结构示意图。参见图1,每个mec服务器拥有多条信道,每组传感器上配备有数据节点;数据节点清洗数据后将计算任务卸载到mec服务器上;mec服务器对数据进行聚类和拟合后将参数发送给汇聚节点;汇聚节点接收新的预测任务数据后利用相关参数进行预测。

下面结合图2对本发明实施例中的数据处理方法进行描述;图2是一种基于边缘计算的传感器数据处理与协同预测方法的流程示意图,参见图2,具体包括以下步骤:

s1:建立一个多传感器组、多mec服务器、汇聚节点的模型,如图1;

s2:所述传感器组配置具有存储与通信的功能的微型处理器(数据节点),来存储过去若干个时刻的记录值,并对数据进行异常值检测和修正;

s3:所述数据节点通过二分图匹配来卸载任务数据至mec服务器;

s4:所述mec服务器利用接收到的数据进行聚类和拟合,将参数发送给汇聚节点;

s5:所述汇聚节点接收预测任务的输入的数据并与接收到的参数进行比较分析,以确定最合适的参数进行预测。

其中所述步骤s1具体为:

每个mec服务器拥有多个信道,数据节点、信道、mec服务器三者表示为:nu={1,2,......i......nu}、n={1,2......,n}、nm={1,2......j......nm},各个信道相互正交。每个数据节点有一个计算密集型任务,可表示为a(ci,xi),其中ci表示任务的大小,单位是比特(bit);xi表示计算负载,单位是cpu/bit(cpu表示需要消耗的处理器时钟周期),cixi表示完成任务所需的cpu。

其中所述步骤s2包括以下子步骤:

s201.数据节点存储的值表示为s={s1,s2,......sm}(si={s1,s2......sn}),即一共有m种数据,每种数据采集了n个时刻。用大小为w的窗口对m种数据分别进行滑动检测,每次滑动选取下一个时刻的新数据点进入窗口;

s202.所述滑动窗口表示为xi(t)={x1,x2,......,xw},其中xi(i∈1~w)的取值范围是r={r1,r2,r3,......}、出现概率为其中count(ri)表示数据值ri在窗口中出现的次数。在此基础上计算窗口的信息熵:

s203.对所述窗口内每一个xi(i∈1~w)计算其和窗口内数据平均值之间的欧式距离,如果大于阈值则该窗口内数据不合格数n1加1,这主要是由于新加入的数据点xw导致的,记数据点xw异常的概率为

p1=n1/w(2)

s204.所述窗口滑动得到信息熵序列表示为h(t)={h1,h2,h3,......,hj,......}。一个窗口xi(t)={x1,x2,......,xw}对应一个熵序列hi(t)={h1,h2,h3,......,hw},其中hw是当前窗口xi(t)的信息熵,h1,h2,h3,......,hw-1分别是前w-1个时刻窗口的信息熵。对所述熵序列内每一个hi(i∈1~w)计算其和熵序列数据平均值之间的欧式距离,如果大于阈值则熵序列内不合格数n2加一,这主要是由于新加入的数据点xw导致的,记xw对应的窗口xi(t)={x1,x2,......,xw}异常的概率为

p2=n2/w(3)

s205.综合所述数据点和窗口异常概率得到的联合异常概率可以写为:

p=1-(1-c1p1)(1-c2p2),0<c1,c2<1且c1+c2=1(4)

其中c1,c2为权重系数,当p大于某个阈值时,就认为xw发生了异常,其中ee(p)是正常工作的传感器在发生事件的区域中异常概率的期望函数,en(p)是正常工作的传感器在正常区域中异常概率的期望函数,可以认为en(p)是一个常数,ee(p)随时间变化而更新;

s206.对所述的异常值xw利用线性插值算法对异常数据进行修正:

其中tiu,tiv为距离数据异常时刻t最近的两个时刻,yiu,yiv为对应时刻的数据值,l(t)为异常数据修正后的值。

其中所述步骤s3包括以下子步骤:

s301.所述卸载的时延包括传输的时延和在mec服务器上处理的时延,即d=dload+dexe。用矩阵t=[tn,j]表示信道n和mec服务器j之间的关系:若mec服务器j拥有信道n,则tn,j=1。mec服务器拥有多条信道,每条信道同时只分配给单个用户。数据节点i通过信道n计算卸载到mec服务器j上的传输速率为:

其中是当前节点i在信道n上获得的带宽大小,gin是数据节点i在信道n上传输功率的损耗,w0是噪声的功率,pi是节点i的发送功率。ci表示节点i上传的计算任务的大小,则所述传输时延fi=cixi表示数据节点i上传的任务在mec服务器上需要的cpu,fj表示mec服务器j所拥有的全部cpu,fi表示mec服务器j上每个用户i获得的cpu。由于一条信道只属于一个mec服务器,同时只服务一个用户,所以表示连接到mec服务器j上的用户数。所以处理时延总的时延

所述能耗主要是在发送数据时损耗的能量:

s302.所述数据节点i通过信道n卸载数据的耗费为:

α,β分别是时延和能耗的参数且α+β=1,可以根据具体任务的要求来调整参数α,β的值。

s303.所述数据节点和信道的匹配的问题如下

如果数据节点i接入了信道n,则否则置零;匹配的目标为计算卸载耗费最小,且一个时间区间内,数据节点最多只能接入一条信道、每条信道只能服务一个数据节点。

s304.对所述匹配问题采用二分图匹配算法:首先在每个卸载周期开始前,每个数据节点计算待卸载数据接入某条信道的耗费,作为连接到不同信道的权重值;其次由于数据节点数一般大于信道数,所以计算所有数据节点本周期内待卸载数据所需要的cpu,并按照升序进行排序来选取前n个数据节点,与n条信道采用二分图最优匹配算法进行匹配卸载;最后重复上述过程直到达到最大卸载周期。

其中所述步骤s4具体为:

mec服务器上接收到多个时刻的数据。每一时刻中xi(i∈1~d)和y代表不同的数据,令x=[x1,x2,......,xd],可以表示为数据组合(x,y)。x和y之间存在拟合关系,这种拟合函数形为其中θ0为拟合函数的初始参数可以为常量也可以为零,θk(k∈1~d)为各个数据xk所对应的参数,动态更新。

首先从当前mec服务器的数据中随机地选取k个数据组合中的x作为初始聚类中心cj(j∈1~k),其次读取一个时刻的数据组合并通过下式来更新θk

δθk=η(y-θkxk)xk(k∈1~d)(11)

其中η为梯度下降速率,δθk为参数更新的增量。然后代入x进入拟合函数计算并计算预测误差接着选取当前数据组合中x所属的聚类中心c*=argminj||x-cj||(j∈1~k)(||x-cj||表示计算x和cj之间的距离,即找出当前和x最接近的cj记为c*),并通过δc*=η(x-c*)(12)更新这个聚类中心,其中η为更新速率。刷新并记录c*的历史更新次数l(c*)和更新的相对误差:

其中e(c*)为代入c*进入拟合函数所得的预测值与y的差值的平方。遍历不同时刻的数据组合来重复上述过程直到数据读取结束。

其中所述步骤s5包括以下子步骤:

s501.在多个mec服务器中指定一个兼为汇聚节点,mec服务器i(i∈1~nm)将计算出的参数发送给汇聚节点:包括拟合函数参数聚类中心每个聚类中心的更新次数及相对误差

s502.预测任务的新输入数据xnew=[x1,x2,……,xd]被发送给汇聚节点,汇聚节点依次计算各mec服务器i的聚类中心中和xnew之间欧式距离最短的记为然后利用下式计算xnew和mec服务器i的数据之间的接近度:

其中的相对误差值,的更新次数,通过查询mec服务器i传递的参数获得。选取ri最小的前c个mec服务器i对应的参数θi构建c个拟合函数,将xnew带入运算,并求平均值作为预测结果,其中为利用参数θi,将xnew代入得到的预测值。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1