SELECTSamlins pgFROMIoTData
”;DeloedB=“BeiinTrafficWHERE pyyjg
(,,,,,如insideintersecttouchesdistancedirection进行扩充,使得SoverlaamlinComonent可p等)pgp
以作为这些操作的输入数据类型参与这些操作的计“算.例如,操作在扩充之后的语法格式为(设=”“和“分别是标准数据类型的集BASE”SPATIAL”
:合和空间数据类型的集合)
,=:oolα×β→B
其中α,samlinComonent}∪BASE∪pgpβ∈{
SPATIAL.
此外,在I所有的查询均是以oT-NodeDB中,即便对于关键字查询也套SQL语句的格式提交的,用S为此,我们定义如下kQL语句的格式.eSearchy操作,以提供关键字查询接口:
()keSearch:StrinetTule.yg→sp
如前所述,IoT-NodeDB中每个监控对象的元
查询Q2和Q3的区别在于Q2采用关键字查询,因此其执行速度可能会快于采用SQL查询
的Q3.
[查询Q4]查询所有位于地理区域reiong1内且在t返回除0的风力监控对象,1时刻的风速大于5
”属性之外的其它属性值了“Samlinspg
ELECT S
,,,bID,ObTeDeloedBDeoedTimeHostOb OjjyppyypyjROMIoTData F
”ANREObTe=“WindsensorD WHE jyp
(),inside(sProectPointSamlinsreionAND jpg1)g((,,)etComonentatInstantSamlinst10; g>5ppg1)
[查询Q查询所有t5]1时刻位于地理区域
如安装在公reiong1内的视频交通流监控移动目标(
交车辆上的摄像头)
1184SELECT*FROMIoTData
计 算 机 学 报2012年
分布到不同的叶结点进行存储,总的数据分布原则如:下(设数据库采用第4.1节中所描述的模式)(设1)对于任意一个移动监控对象mobj,
(是msitesmobobj)j在监控时间范围内经过了其管辖区域的叶结点的集合,则mobj对应于多个元组,(中的每个叶结点中存放其中的一个元sitesmobj)
”这些元组除了“属性之外的其它属性组,Samlinspg值是相互复制的,而其“属性值则在Samlins”pg(中的各叶结点之间进行分割:对于任一sitesmobj)
,”它仅存放“与叶结点site∈sites(mobSamlinspgj)即ssite)在空间上相交的部分,TruncateGeoα(
(,)),如图5所示
.Samlinssiteα(pg
”ANWHEREObTe=“BusTrafficVideoD jyp
((,),vProectPointatInstantSamlinstreion.inside(jpg1)1)g
5 IoTClusterDB数据库集群全局处理-
物联网系统中海量的传感器对各种物理目标的状态进行着实时的监控.为了对海量传感器数据进行快速处理,我们需要大量的数据库结点并将它们组织成一个协同工作的物联网集群存储系统.如前所述,IoT-ClusterDB采用一种双层树形
其中叶结点存储真正的传感器采样数据,而根结构,
结点则存储为了进行全局查询所需要的全局数据字典.IoT-ClusterDB的体系结构如图4所示
.
图4 IoT-ClusterDB的体系结构
在I每个数据库结点(包括根oT-ClusterDB中,结点和各个叶结点)均为传感器时空数据库.各结点除了具有第4节所描述的数据类型和查询操作之外,还协同建立了分布式的全局索引及全局查询处理模块.
为了提高系统的可靠性,根结点和每个叶结点如果其中一个副本都包含两个或多个数据库副本,失效,其它的副本可以接管其工作.5.1 数据分布策略
在I每个叶结点soT-ClusterDB中,ite对应于,一个地理区域,称之为该结点的“管辖区域”记为)所有叶结点的管辖区域均登记在根结点和site.α(
采样数据接收服务器中的管辖区域分区表(Service,)中.AreaPartitioninTableSAPable -Tg
设IoT-ClusterDB系统包含n个叶结点:site1,…,且总的应用地理区域为A,则有如下sitesite2,n,条件成立:
(),:1iisitesite=;≠α(∩α(j(j)i)j)()2site∪i=A.
i=1n
”图5 “属性值在各叶结点之间的分割Samlinspg
()对于静止监控对象s如果其采样地点2obj,
,则sloc∈Point且loc∈α(siteobj仅对应于一个i)
元组,该元组存放在叶结点sitei中;()对于静止监控对象s如果其采样地点3obj,
(是管辖区域与lloc∈Reion且sitessoboc相交的gj)(叶结点集合,则s中的每个叶结点存放sitessobobj)j的一个元组,这些元组是彼此复制关系,且每个元组”属性均包含完整的采样数据序列.的“Samlinspg
在I所有新的采样值均被发oT-ClusterDB中,,送给采样数据接收服务器(见图4)采样数据接收服务器根据SAPable将采样数据值发送给不同-T的叶结点进行存储.如果新的采样值属于移动监控对象且与上次采样值相比跨越了不同叶结点的管辖区域,则采样数据接收服务器需要通过插值计算得到边界处的采样值,并将插值点也发送给相应的叶结点进行存储(详见第5.3节).
5.2 全局索引及全局查询处理
为了支持全局查询处理,在IoT-ClusterDB中需要建立分布式的全局关键字索引和全局时空索引.
在I数据是按照地理区域进行oT-ClusterDB中,分布的.各采样值根据其采样地点所属的管辖区域被