amlinSeuence= Spgq
n
((()),schema,tlocnosvaluelapfgi,i,i,i,i)i=1其中,schema∈String是采样序列中各采样值的“,、型”tnstantlocoint∪Reion、nosgpi∈Ii∈Pi∈
StrinalueString和vg分别是第i个采样值的采i∈样时间、采样地点、采样地点对应的网络位置以及实际的采样数值,lafgi表示第i个采样值是否为该数,间断点”即一个新片断的起点.据序列中的一个“
下面让我们来进一步讨论f在IlaoT-Clus-gi.数据是根据地理区域进行分布的(详见第terDB中,
对于移动监控对象(如G5.1节).PS传感器、RFID、条形码阅读器监控的对象)来说,其采样数据序列可以被分割成多个片段,并被存储在不同的数据库结如果某个移动监控对象m点中.obj多次进入同一个数据库结点所对应的地理区域,则该数据库结点中存放的m如obj的采样数据序列包含多个片段(,图3所示)而flagi则用于表示对应的采样值是否为一个新片段的起点
.
(,(高空遥感识别传感器(t39.3,144.3)NULL,disasterArea:5,
),()(火灾区域识别)reionreiongg2)
传感器的采样值可以由多个分量组成,如表1中G速度和方向PS传感器的采样值具有两个分量:(注意:纬度信息是传感器采样GPS所采集的经度、值的基本信息,表示在l所以并不属于采oc属性中,样值的分量)为了进一步表示传感器采样值的分.量,我们定义如下SamlinComonent数据类型.pgp
(定义2采样值的分量). 传感器采样值的分量SamlinComonent可以表示为如下形式:pgp),SamlinComonent=(cSchema,cValuepgp
其中,cSchema∈StrincValue∈String,g分别是采样值分量的“型”和“值”例如,表1中G.PS传感器,采样值的速度与方向分量分别表示为(seed:realp
图3 采样数据序列包含多个分段的情况
对于静止监控对象,由于其历次采样值的loc属性保持不变,因此SamlinSeuence的格式可pgq以简化为(注意此时尽管不存在采样数据序列分割的问题,但f用于表示监控过程lagi仍然是需要的,:被暂时挂起的情况)
SamlinSeuence=pgq
n
,(())schema,loc,nostvaluela (pgi,i,i)i=1.上述两种SamlinSeuence表示方式在格式pgq
1182
计 算 机 学 报2012年
上稍有区别,由数据库系统自动进行区分和处理.
在系统实现时,SamlinSeuence数据类型被pgq真实的采设计成一个指向外存文件数据块的指针,而不是直接存放在样数据序列被存放在文件块中,
元组中.这样当新的采样数据到来并淘汰旧的采样数据时,只需要直接修改文件数据块即可,而不需要对数据库元组进行修改,从而提高了处理的效率.
通过上述数据类型,我们可以建立关系表用以表示和存储物联网中各监控对象的采样数据序列,如
CREATETABLEIoTData(ObID:Strin jg,
::ObTeStrinDeloedBStrinjyppyyg,g,:,H:DeoedTimeInstantostObStrinpyjg,:);SamlinsSamlinSeuencepgpgq
进行如下处理:
()(如果t则直接返回“未定义”用“1t⊥”1,q<
;表示)
)),(如果t则需要进一2tt2,n]j∈[j-1<q<j(
,步检查f如果f则表明第j个采lalarueggj:j=T;,样值为间断点,此时返回“如果falsela⊥”gj=F则需要通过插值的方法得到t在进行q时刻的结果.
插值计算时,根据采样值的nos属性是否为有效的p可以选用基于交通网络的插值方法或基网络位置,
于Euclidean空间的插值方法;
)(如果t则返回(3ttlocnosschema,pn,n,n,n,q>
(注意,此时返回值中用的是t用valuen)n而不是tq,
以表明采样的实际时间).
通过a数据库可以支持对监控对tInstant操作,象在监控时间段内任意时刻的状态查询.
、、空间投影操作sProectLinessProectPointjjsProectNetPos和时间投影操作sProectTime分别jj
它们将采样数据序列向空间平面和时间轴上投影,的语法格式如下:
:sProectLinesSamlinSeuence→Linesjpgq
针对移动监控对象) (
:sProectPointSamlinSeuence→Pointjpgq针对loc∈Point的静止监控对象) (
:sProectReionSamlinSeuence→Reionjgpgqg针对loc∈Reion的静止监控对象) (g:(sProectNetPosSamlinSeuence→SetStrinjpgqg)
:sProectTimeSamlinSeuence→Periodsjpgq、在上述空间投影操作中,sProectPointsPro-jectLines和sProectReion分别针对特定的监控对jjg
;象,对于其它类型的监控对象则返回“sProect⊥”-jNetPos操作返回空间投影值所对应的网络位置.
空间截取操作sTruncateGeo和时间截取操作sTruncateTime分别根据给定的空间范围和时间范
它们的语法格式围截取采样数据序列的一部分,如下:
:sTruncateGeo
;SamlinSeuence×Reion→SamlinSeuencepgqgpgq
:sTruncateTime
在上述关系表模式中,ObID、ObTe、Deloed-jjyppy、监控对BDeoedTime分别是监控对象的标识、ypy