传感器数据流实时语义注释方法研究

2018-05-14 14:28李红伟高鸿斌
河北科技大学学报 2018年6期
关键词:实时性

李红伟 高鸿斌

摘 要:为了对微环境监测平台上的传感器所捕获的异构、大量、连续的数据流进行语义注释,从而及时地根据语义上下文推理出新的或隐含的知识,以实现微环境监测平台的实时监测,对SASML映射语言和SDRM算法进行了研究和改进,设计了S-SASML映射语言和SDS2R算法,用于将传感器原始数据流转换为符合SOSA/SSN本体的RDF数据流;并利用线程池技术实现方法的高并发处理,提高了方法的实时性能。改进后的映射语言和算法实现了微环境监测平台对连续、大量的数据流的实时语义注释,不仅解决了动态传感器数据流语义注释的问题,而且避免了高频数据流导致的系统过载现象,具有稳定高效的处理能力,基本满足了微环境监测平台的需求,具有一定的应用价值。

关键词:计算机感知;语义注释;实时性;传感器数据流;SOSA/SSN本体;RDF

中图分类号:TP399 文献标志码:A

文章编号:1008-1542(2018)06-0559-08

随着传感器技术的高速发展,传感器的数量和传感器产生的数据正在急剧增加。传感器网络的发展为各个领域提供了广泛的机遇,如环境监测、医疗保健、商业智能、城市交通管理等[1-8]。微环境监测平台是基于物联网传感技术的系统平台,其上部署了用于对周围环境进行实时监测的各种传感器。这些传感器产生大量的原始数据,并且以快速、连续和时变的流形式出现。由于传感器数据流的这些特点,为如何实时地接收、分析以及处理这些数据流带来了一系列重大研究挑战。目前,丰富传感器描述的主要方法是利用語义技术,向传感器数据流中添加语义,将观测的底层原始数据流转化为更高层次的数据流,可以及时地促进自动信息发现[9]。对传感器数据流进行语义注释能够使机器理解它,并且,利用语义注释的传感器数据流,用户可以导出新的或隐含的知识,有助于微环境监测平台的智能决策和实时监测。

传感器数据流的语义注释和推理是实时应用领域中传感器数据的知识提取,信息检索和数据挖掘的基本要求。目前,已经提出了几种基于语义的传感器数据管理与集成的方法,能够从大量的数据中导出有用的信息[10-15],但是这些方法主要针对静态的传感器数据比较有效,而对于大量、连续到达的传感器数据流却力不从心。迄今为止,也有少数的研究集中于解决传感器数据流的语义注释[16-19]。在这些研究中,尽管在语义注释和表示模型方面有大量的工作,但是,很少关注如何创建高效和灵活的方案来描述传感器数据流以及通过这些数据流对环境进行实时监测。因此,本文设计了一种方法用于微环境监测平台的传感器数据流的实时语义注释。通过自定义映射语言和算法,将传感器数据流转换为符合SOSA/SSN[20]本体的RDF[21]数据流;并且,利用线程池技术,实现了系统的高并发处理,提高了系统的实时性能。本文主要研究以下内容:1)扩展SASML[14]映射语言,设计了S-SASML(stream-sensors annotation and semantic mapping language)映射语言,它提供了一种对传感器数据流进行注释的模式,S-SASML的元素可以映射到 SOSA/SSN本体的相关类和属性;2)设计了一种SDS2R(sensor data stream to RDF)算法,根据S-SASML映射文件中对传感器流的标注,可以将微环境监测平台上不同传感器数据流自动转换为符合SOSA/SSN本体的RDF数据流;3)利用线程池技术提升系统高并发处理能力,实时接收、处理微环境监测平台上传感器观测的原始数据流,并且利用队列机制使得接收的数据流不易丢失。

1 传感器数据流实时语义注释框架

本文研究的目标是及时为大规模传感器数据流进行语义注释。为了实现这一目标,通过扩展SASML映射语言以及设计SDS2R算法对传感器数据流进行语义注释,利用线程池技术实现高并发处理,提高实时性。所设计的方法框架主要包括接收和分析数据流,创建S-SASML映射文件,语义注释3部分,如图1所示。

1)接收和分析数据流 主要分析了微环境监测平台上传感器观测的数据流的格式,以及设计监听器用来实时侦听传感器观测的数据流。监听器用来实时侦听和管理微环境监测平台上传感器观测的数据流。由于高频繁的采样率,传感器可能在短时间内产生大量的数据流,所以本文采用队列机制,用来缓存数据流,防止数据的丢失。为了提高系统的实时性,即短时间内处理大量的数据流,利用线程池技术实现高并发处理。当监听器侦听到数据时,将数据添加到数据缓存队列中。管理线程Manager不断的从数据缓存队列中取走数据,分配给工作线程来执行任务。当工作线程没有空闲时,管理线程Manager就会让数据在队列中暂时等待空闲线程。这样既防止了数据的丢失,也最大限度地提高了系统的实时性。

2)创建S-SASML映射文件 通过扩展SASML映射语言设计了S-SASML映射语言,然后根据S-SASML模式创建XML映射文件,最后利用DOM4J解析生成的S-SASML映射文件,从中提取出该映射文件中元素的内容。

3)语义标注 首先,通过分析SOSA/SSN本体的结构,标注了S-SASML映射文件中的元素和SOSA/SSN本体中的类的对应关系,然后,利用Jena解析SOSA/SSN本体,从中抽取出相关的类和属性。最后,根据设计的SDS2R算法自动将传感器观测的数据流转换为符合SOSA/SSN本体的RDF流。

2 映射语言S-SASML的定义

SASML是一种对传感器和数据源进行注释的映射语言,根据该语言可以将不同数据源的传感器数据转换为符合SSN本体的RDF数据,但是该映射语言仅仅局限于数据库中的传感器数据,对于动态的传感器数据流不能很好的支持。因此,本文对SASML映射语言进行了扩展,从而,设计了S-SASML映射语言,用于对微环境监测平台上不同的传感器数据流进行语义注释。

S-SASML分为2部分:1)SourceInf。这一部分用来描述传感器数据流中所包含信息的索引。这些索引信息能够很好地分割接收的数据流。其中,AreaID_Index,NodeID_Index,DeviceID_Index,TypeID_Index,Data_Index,Time_Index分别表明微环境监测平台区域编号、节点编号、设备编号、传感器类型、观测具体数据和观测时间的索引信息。2)SensorInf。这一部分用来标注所接收的数据流中的传感器的一些属性信息,包括传感器类型、观测的事件(例如,大棚环境监测)和传感器所在的位置。其中,Type_name代表传感器的类型,依据TypeID_Index所截取的内容来确定。Event代表的是观测事件,依据NodeID_Index和DeviceID_Index所截取的内容共同决定。Location代表的是传感器所在的区域位置,它由AreaID_Index所截取的内容决定。S-SASML模式如图2所示。

由于S-SASML仅仅提供的数据流和传感器属性信息不足以实现传感器数据流到SOSA/SSN本体的映射。因此,在S-SASML和SOSA/SSN本体之间,应该定义一些关系作为映射过程中的隐藏线索,如表1所示。

根据表1的描述以及S-SASML映射文件中对数据流和传感器属性的标注,得到传感器数据流、S-SASML映射文件中的元素和SOSA/SSN本体中的类的对应关系,如图3所示。

3 转换算法SDS2R的定义

為了将微环境监测平台上的传感器观测的连续、大量数据流实时转换为符合SOSA/SSN本体的RDF数据流,设计了一种名为SDS2R的算法。该算法以微环境监测平台传感器数据流、S-SASML映射文件以及S-SASML和SOSA/SSN本体的对应关系作为输入。首先,初始化监听器,在初始化过程中使用DOM4J解析S-SASML映射文件,从映射文件中得到SourceInf节点和SensorInf节点。然后,根据SourceInf节点信息对接收的数据流进行截取得到数据流中的信息;再根据SensorInf节点的信息判断传感器的属性(传感器类型、传感器位置、传感器观察事件)。最后,利用Jena解析SOSA/SSN本体,从SOSA/SSN本体中得到本体类的集合和本体属性的集合。根据S-SASML映射文件和SOSA/SSN本体对应关系,为每一条数据流创建实例,并且使用对应的属性将它们进行连接。如此便可将微环境监测平台上不同传感器数据流自动转换为符合SOSA/SSN本体的RDF数据流。SDS2R算法在表2中进行描述。

如表2所示,SDS2R转换算法首先对监听器进行初始化(第1行),在初始化过程中使用DOM4J解析S-SASML映射文件并且得到SourceInf节点和SensorInf节点以及节点下子元素的内容信息(第2~3行)。接着创建数据缓存队列将接收的数据暂存到队列中,然后设计线程池,从队列中取出数据并分配任务线程(第4行)。在算法的第5~7行,根据映射文件SourceInf节点截取的数据流信息和SensorInf节点下元素的内容进行判断来确定一些传感器属性信息。在算法的第8行,根据对应关系列表L从SOSA/SSN本体模型中得到本体类的集合和本体属性的集合。然后对于每一条数据流而言,创建实例IPlatform,Isensor,IFeatureOfInterestr,和IObservableProperty,并且使用对应的对象属性将它们进行连接(第9~12行)。更进一步来说,对于数据源的每一个观测,创建实例IObservation,然后,将IObservation与IFeatureOfInterestr 和IObservableProperty连接,将Isensor和IObservation连接(第13~15行),并且为IObservation添加hasSimpleResult 和 resultTime。最后,传感数据流就会被自动转换为SOSA/SSN本体的实例并且存储在OWL文件中。

4 实 验

4.1 实例分析

本部分利用微环境监测平台上的传感器观察的真实数据流来验证本文方法的正确性和可行性,微环境监测平台上部署的传感器可以实时地生成各种传感器数据流,包括空气温度、空气湿度、土壤温度、土壤湿度、光照等。这些传感器数据流主要包括AreaID,NodeID,DeviceID,Type,Data,Time等信息,如表3所示。

其中,AreaID,NodeID,DeviceID分别表示传感器的区域编号、节点编号和设备编号,这3个信息能够表示微环境监测平台所监测的区域和所要监测的事件信息。TypeID表示传感器类型,同时它还代表着传感器编号。Data和Time分别表示传感器观测的具体数据和时间。

根据表3中微环境监测平台上的数据流的格式和图2中S-SASML模式,可以手动编辑S-SASML映射文件。生成的S-SASML映射文件的片段如图4所示。标签表示微环境监测平台观察的数据流的索引信息。其中,每个标签分别代表字节流截取的索引位置。标签表示传感器的一些属性信息。其中,元素的内容分别对应中截获的数据流的信息,根据微环境监测平台上传感器的信息由用户自己定义。

根据图4中生成的S-SASML映射文件和图3中标注的对应关系,使用表2中的SDS2R算法将传感器数据流转换为符合SOSA/SSN本体的RDF数据流,如图5所示。

为了验证生成的RDF流的正确性,将其暂时存储在OWL文件中。将生成的OWL文件在protégé中检查,显示如图6所示。

4.2 性能评估

为了测试本文方法的有效性,分别从最佳线程数、高并发处理能力以及系统稳定性3个方面进行了测试。本文搭建测试环境具体配置如下。1)终端采集设备:微环境监测平台上用于采集数据的一系列传感器,如温度传感器等;2)LoRa网关与LoRa通信模块,网关与上位机采用RS485串口交互环境;3)上位机环境:CPU为Intel(R) Core(TM)i3-2370,内存大小8 GB,VS2015,Windows 7操作系统;4)服务器环境:Windows8.1操作系统,处理器为Intel Core 2.2 GHz, 四核CUP和12 GB内存,Tomcat 8.0服务器,Java1.8开发语言 My Eclipse 10集成开发环境。

为了测试线程池中的最佳线程数,将传感器节点数量固定为1 200个,来评估线程池中不同线程数时的系统性能,并且对比了利用线程池和不利用线程池系统所用的时间。测试过程中对每种情况做10次测试,然后通过求平均值得到图7的测试结果。可以看出,随着线程池中线程数目的不断增加,系统所用的时间会逐渐减少,但是当它再变大时,所用时间反而增加。这种现象是由于如果容量过小且并发请求数量超过该容量,请求将会加入数据缓存队列,若队列中已包含大量的缓存请求,则对系统的响应时间影响巨大。同时若线程池容量过大,线程的上下文切换也会造成巨大的系统开销。所以线程池容量要避免设置太小或太大,太小不能充分发挥CPU 的性能,太大会造成频繁的上下文切换,带来巨大的系统开销。所以线程池容量需要根据负载和部署条件动态改变。

为了测试本文方法的高并发处理性能,分别对单线程、多线程和线程池技术进行大量数据处理测试。设定线程池中的线程数目固定为12,传感器节点数分别为400,800,1 200,1 600,2 000来测试系统性能,测试过程中对每种情况做测试10次,然后通过求平均值得到如图8的测试结果。可以看出无论是单线程、多线程还是线程池,随着传感器节点的增加系统处理的时间都呈现线性增长,说明该注释方法具有较好的可扩展性。并且单线程处理时间明显高于多线程和线程池很多,而线程池的性能最优。这是由于多线程提高了系统的并发处理能力,所以处理时间明显高于单线程。而线程池的性能最优是由于线程的创建和销毁的开销是巨大的,而通过线程池的重用大大减少了这些不必要的内存开销,所以处理速度优于多线程。所以本文方法在处理巨大的任务数目时效率还是比较理想的。

为了测试本文方法的稳定性,设定传感器节点数固定为1 200,线程池中的线程数目固定为12,持续运行30 min,统计每分钟系统吞吐量。从图9中看出在30 min内,系统每分钟处理传感器数据的条数在3 600上下波动。波动的原因主要与测试机器硬件设备和网络有关,但是波动范围不大,在可接收的范围之内。所以,本文方法在处理大量传感器节点产生的数据流时相对稳定,不会因为传感器的高频到达率出现系统过载现象。

上述实验结果表明,本文设计的方法在处理海量的传感器数据流时具有较好的性能。首先,在单线程的情况下,随着传感器节点数的增加,语义注释时间呈线性增长,可见本文设计的映射语言S-SASML和SDS2R的算法具有较好的可扩展性;其次,引入线程池技术以后,处理时间显著下降,并且处理时间增长缓慢,说明了本文方法处理海量数据的能力;最后,在实验过程中随着传感器节点数的增大没有出现系统过载的现象,证明了本系统相对稳定,而且,根据不同传感器节点数可以选择不同的线程数,不但增加了系统的灵活性,还节省了系统的资源。

5 结 语

提出了一种针对微环境监测平台上的传感器数据流進行实时语义注释的方法。通过扩展SASML映射语言设计了S-SASML映射语言,并且设计了SDS2R算法,实现了将传感器数据流自动转换为符合SOSA/SSN本体的RDF数据流。利用队列缓存机制和线程池技术解决了传感器数据流易丢失和高并发处理的问题。实验结果表明,本文的方法基本满足微环境监测平台的需求,能够有效地处理大规模的传感器数据流,具有一定的通用性和处理效率。有关S-SASML的通用性和SDS2R算法的高效性方面的研究尚未开展,今后将对此作进一步的探索,使其适用于更多场景。

参考文献/References:

[1] MARINAKIS V, DOUKAS H. An advanced IoT-based system for intelligent energy management in buildings[J].Sensors,2018,18(2):610.

[2] FOTOPOULOU E, ZAFEIROPOULOS A, TERROSOSáENZ F, et al. Providing personalized energy management and awareness services for energy efficiency in smart buildings[J]. Sensors, 2017, 17(9):2054.

[3] JAYARAMAN P P, YAVARI A, GEORGAKOPOULOS D, et al. Internet of things platform for smart farming: Experiences and lessons learnt[J]. Sensors,  2016, 16(11):1884.

[4] SUSEL F, RAFIK H, TAKAYUKI I, et al. Ontology-based architecture for intelligent transportation systems using a traffic sensor network[J]. Sensors,    2016, 16(8):1287.

[5] YI Weiying, LO K M, MAK T, et al. A survey of wireless sensor network based air pollution monitoring systems[J]. Sensors, 2015, 15(12):31392-31427.

[6] ALIREZAIE M, RENOUX J, KARLSSON L, et al. An ontology-based context-aware system for smart homes: E-care@home[J]. Sensors, 2017, 17(7):1586.

[7] CHANG Jingkun, YAO Wenbin, LI Xiaoyong. A context-aware S-health service system for drivers[J]. Sensors, 2017, 17(3):609.

[8] CALAVIA L, BALADRóN C, AGUIAR J M, et al. A semantic autonomous video surveillance system for dense camera networks in smart cities[J]. Sensors, 2012, 12(8):10407-10429.

[9] SHETH A, HENSON C, SAHOO S S. Semantic sensor web[J]. IEEE Internet Computing, 2008, 12(4):78-83.

[10]DUTTA R, MORSHED A. Performance evaluation of south esk hydrological sensor web: unsupervised machine learning and semantic linked data  approach[J]. IEEE Sensors Journal, 2013, 13(10):3806-3815.

[11]MORARU A, FORTUNA C, MLADENIC D. A system for publishing sensor data on the semantic web[J]. Journal of Computing & Information Technology, 2011, 19(4):239-245.

[12]FERNANDEZ S, ITO T. Semantic integration of sensor data with SSN ontology in a multi-agent architecture for intelligent transportation systems[J]. Ieice Transactions on Information & Systems, 2017, 100(12):2915-2922.

[13]李申沛.本体标注和命名实体结合的传感器语义强化系统[D].大连:大连海事大学, 2017.

LI Shenpei. Ontology Annotations and Named Entity Combined Sensor Semantic Enhancement System [D]. Dalian :Dalian Maritime University, 2017.

[14]ZHANG Xiaoming, ZHAO Yunping, LIU Wanming. A method for mapping sensor data to SSN ontology[J]. International Journal of u- and e- Service,    Science and Technology, 2015, 8(6): 303-316.

[15]吴学华. 语义物联网中基于本体和LOD的互操作方法[D]. 大连:大连海事大学, 2016.

WU Xuehua. Interoperability Method based on Ontologies and LOD in Semantic Web of Thing [D]. Dalian: Dalian Maritime University, 2016.

[16]KAMLESH H. Real Time Semantic Analysis of Streaming Sensor Data[D]. Dayton: Wright State University,2011.

[17]BARNAGHI P, WANG Wei, DONG Lijun, et al. A linked-data model for semantic sensor streams[C]// Green Computing and Communications. Beijing: IEEE, 2013: 468-475.

[18]KOLOZALI S, BERMUDEZEDO M, PUSCHMANN D, et al. A knowledge-based approach for real-time IoT data stream annotation and processing[C]//  Internet of Things. Taipei: IEEE, 2015:215-222.

[19]PACHA S, MURUGAN S R, SETHUKARASI R. Semantic annotation of summarized sensor data stream for effective query processing[J]. Journal of  Supercomputing, 2017(1):1-23.

[20]HALLER A,JANOWICZ K,TAYLOR K, et al. Semantic Sensor Network Ontology[EB/OL]. https://www.w3.org/TR/vocab-ssn/, 2018-04-25.

[21]柳亞琴, 温彩玲, 余雪丽,等. RDF在语义Web知识表示中的作用[J]. 太原理工大学学报, 2006, 37(2):146-149.

LIU Yaqin, WEN Cailing, YU Xueli, et al. The role of RDF in semantic web knowledge representation[J]. Journal of Taiyuan University of Technology, 2006,  37(2): 146-149.

猜你喜欢
实时性
LonWorks总线实时性能分析与仿真研究
浅析PCM设备在电力通信网络中的应用和发展
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于B/S的实时用户行为检测管理系统设计与实现
基于单片机的超声波测距系统的设计与实现
基于?C/OS—II硬件加速模块的研究与实现
基于卡尔曼滤波的台球跟踪技术研究