)(静止传感器数据是通过一个模拟程序随机2
生成的,该模拟程序可以模拟出128000~320000 个静止传感器的动态数据采样.
将上述两部分数据按照一定的比例(如移动传感器与静止传感器的比例为1进行合成,从而∶10)可以得到实验中所需要的总体数据集.表2列出了实验中的主要参数.
表2 模拟实验的主要参数
参数名
参数值(单位)12800~32000
参数含义
移动传感器的数目静止传感器的数目
传感器的总数目(其中移动传感
)器与静止传感器的比例为1∶10每个传感器进行原始数据采样
的平均时间间隔
SCP结点抽取的关键采样数据的平均时间间隔根结点服务器的数目叶结点服务器的数目
结点上执行对应的S在执行SQL语句.QL语句时,,叶结点不能调用本地的L但通过属FTKB-Tree性B+树仍然可以获得较快的查询速度.
+
对于更加复杂的查询(如多个约束条件通过,AND或者OR连接)IoT-ClusterDB可以通过相应的全局索引,针对每个约束条件获得一个叶结点集然后根据连接条件对这些集合进行相应的交集合,
或并集计算,最终获得真正需要执行查询的叶结点范围,并在这些叶结点上执行查询从而得到最后的查询结果.
5.3 新采样数据触发的数据更新处理
在IoT-ClusterDB中包含多个采样数据接收服务器,这些服务器组成一个集群,共同对传感器接入处理器上传的新采样值进行处理.
新采样值的数据格式为(obID,staticMov,j),其中osvaluebID是监控对象的标识,staticMovj
标明监控对象是静止的还是移动的,svalue=(,,是一个stloc,nosschema,value)amlinValueppg类型的值.采样数据接收服务器接收到上述数据之后,首先判断s如果是静止监控对象,则可taticMov,通过SAPable找到管辖区域与loc相交的叶结点-T(,然loc∈Reion时可以有多个叶结点与loc相交)g
后将采样数据转发给相应的叶结点进行存储处理;如果是移动监控对象,则需要进一步判断上次提交了采样值之后该监控对象是否跨越了叶结点的管辖区域边界,若是,则需要进行相应的插值计算,并将
NMovSensors
NS28000~320000taticSensors1NSensors
amlinpgξS
140800~352000
5s300s1
2~32
eSamlinypgξK
NMasterNodes
NLeafNodes
1188
计 算 机 学 报2012年
在实验中,我们重点针对IoT-ClusterDB的查询响应时间及加速比进行了分析.由于在海量传感目前器采样数据的云存储以及时空数据处理方面,尚没有系统性的相关工作,我们将IoT-ClusterDB与单数据库结点处理机制(SinleNodeQuerPro -gy ,进行了比较.此外,为了分析传感器cessinSNQP)g数据动态采集对查询性能所造成的影响,在实验的过程中,由数据模拟生成程序根据实验数据集,持续向IoT-ClusterDB发送并插入传感器采样数据.
实验的测试用例分别采用第3.2.4节中介绍的关键字查询Q属性约束条件查询Q1、3和时空约束条件Q图9给出了I5.oT-ClusterDB处理各个查询的响应时间(为了更好地分析属性约束条件查询Q3的性能,我们在各叶结点中没有对相关属性建立局部索引)
.
的,根结点上的SAPable和各叶结点上的时空索-T
4
引S加快了T-Tree共同构成了一个全局时空索引,
时空查询处理的速度,并降低了叶结点数据量对查询性能的影响.
为了进一步分析IoT-ClusterDB中叶结点规模对非关键字查询处理性能的影响,我们在表3和表4中分别给出IoT-ClusterDB在处理Q3和Q5时的加速比实验结果.加速比Seedupp定义为
,Seedupp=IoTClusterDBξ
其中ξNQP和IoTClusterDB-SNQP和ξIoTClusterDB分别是S
SNQP
的查询响应时间.
表3 IoTlusterDB在执行Q3时的加速比-C
NLeafNodes
2
4 8 16 32
加速比
NS64×1000 ensors=
1.57
3.25 6.27 11.83 20.19
NS160×1000ensors=
1.62
3.266.3213.5224.86
表4 IoTlusterDB在执行Q5时的加速比-C
NLeafNodes
2
4 8 16 32加速比
NS64×1000 ensors=
1.62
1.95 2.89 3.68 6.11NS160×1000ensors=
1.87
2.453.924.776.12
图9 IoT-ClusterDB的查询响应时间
从图9可以看出,IoT-ClusterDB可以有效地支持关键字查询Q且在不同的数据量及不同的叶1,结点规模的情况下,关键字查询的响应时间基本保持稳定.这是因为IoT-ClusterDB通过GFTKB-
+
从表3可以看出,IoT-ClusterDB在处理属性约束条件查询Q加速比随着叶结点个数的增3时,而且数据量越大,加速比增加得加几乎呈线性增长,
也越明显.这是因为在IoT-ClusterDB中所有的数据均是统一存放在单个关系表中的,不牵涉到连接因此查询的响应时间基本上取决于各叶结点运算,
的平均数据量.此外,多个数据库结点的协同工作也分担了传感器数据更新所带来的繁重通信与计算开销.
从表4可以看出,IoT-ClusterDB在处理时空约束条件查询Q加速比也随着叶结点个数的5时,增加而随之增大,但与Q3相比,Q5的加速比变化这是由于全局时空索引的影响不如Q3变化明显,而导致的.另外,轨迹的分割与合并也给全局查询处理带来了额外的计算开销.