哈希算法在物联网数据存储中的应用

2016-12-15 20:33王曦
电脑知识与技术 2016年27期
关键词:数据存储物联网

王曦

摘要:物联网是传统互联网在现代社会应用的拓展和延伸,同时伴随着大数据时代的到来。作为典型的分布式存储系统,哈希算法完全适应于物联网的应用环境。本文主要分析研究哈希算法在物联网数据存储方面的典型应用,辅助完成物联网分布式数据存储。同时,通过定义吞吐量及响应延时等性能指标,作者在OPNET Modeler仿真软件中进行简单的仿真验证,进而对基于哈希算法的存储器模型进行性能评估。

关键词:物联网;哈希算法;分布式存储;数据存储;

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)27-0226-03

传统的互联网应用模式已经不能满足用户种类繁多的需求及传统行业的发展需要,物联网应运而生。“物联网”被称作是继计算机和互联网之后的又一次信息领域革命[1]。物联网被定义为是利用射频识别设备、红外传感设备、全球定位系统(GPS)、激光扫描仪等信息采集设备,根据设定的规则,把任何物品与互联网相连接,使用各种通信方式进行信息交互,以实现智能化定位、识别、监控和管理的特定网络[2-3]。物联网应用涵盖了日常生活的机会所有领域,包括建筑、交通、通信、农业、工作及电商平台等,具体应用如图1所示[4]。

物联网是以互联网技术为前提的条件下而建立起来的,并将其客户端拓展到所有物品与所有物品之间,进行数据通信和信息交互的全新网络应用模式[5]。物联网主要分为感知层、网络层以及应用层等三个层次[6],其承载着海量用户数据及其传输过程任务,优秀的存储模型至关重要。

物联网系统作为典型的分布式存储系统,是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务,其具有可扩展性、低成本、高性能、易用性等优点[7-8]。

本文主要分析研究哈希算法在物联网数据存储方面的典型应用,辅助完成物联网分布式数据存储。同时,通过定义吞吐量及响应延时等性能指标,作者在OPNET Modeler仿真软件中进行简单的仿真验证,进而对基于哈希算法的存储器模型进行性能评估。

1 哈希算法在物联网中的应用

1.1 物联网系统结构

物联网是以互联网技术为前提的条件下而建立起来的,并将其客户端拓展到所有物品与所有物品之间,进行数据通信和信息交互的全新网络应用模式[9]。它也是互联网应用和发展的结果和总结。物联网主要分为感知层、网络层以及应用层等三个层次。

(1)感知层涵盖条形码和识别设备、射频标签和识别器、图像采集仪、全球定位设备及其他传感器网络设备,主要功能是感知环境,获取数据信息,这与人体结构中皮肤和五官的功能类似。

(2)网络层类似于物联网的神经中枢系统,主要完成信息交互及处理。网络层囊括了通信系统、网络处理中心、信息处理中心以及智能事务应用处理中心等。网络层对感知层采集的信息进行分类处理,准备传送到不同的应用模式中。

(3)应用层融合了物联网的应用模式与用户需求,实现其智能化管理。应用层结合了物联网技术与传统行业,完成行业多种态势的运行机制,此过程类似于与社会职能分配,最终形成智能化人类社会。

1.2 哈希算法在物联网存储方面的应用设计

物联网系统区别于传统单机系统在于能够将数据分布到多个节点,并在多个节点之间实现负载均衡。将数据分散到多台机器后,需要尽量保证多台机器之间的负载是相对均衡的。影响和评价网络存储负载的因素有多种,包括设备的负载值、CPU运行情况、内存容量以及网络等资源占用情况、数据读写请求数等,物联网系统需要可以判断网络是否负载过重,并且能够自适应地将其应用服务迁移到负载压力相对较小的设备中去,实现自动负载均衡[10]。

哈希数据分布采用典型的哈希算法。哈希算法的思想是:系统的所有节点均可被分配随机值, 值组成哈希环。当需要进行数据存储时,根据计算得来的(主键)的哈希值,然后按照顺时针方向将其存放第一个与该哈希值的值匹配的所在的位置处。该哈希算法的优点在于节点的加入或者删除操作仅仅会对哈希环中相邻节点产生影响,而对其他节点不会产生影响。

如图2所示,将哈希空间的大小定义为,典型哈希算法如下:

Step1:首先求出每个服务器的值,将其配置到一个的圆环区间上;

Step2:其次使用同样的方法求出待存储对象的主键哈希值,也将其配置到这个圆环上;

Step3:然后从数据映射的位置开始顺时针查找,将数据分布到找到的第一个服务器节点。

为了查找集群中的服务器,需要维护每台机器在哈希环中位置信息,本文采用的复杂度的获取位置信息的方法。

将哈希空间定义为(即),以典型的Chord数据存储系统为例,为了提高查找的效率,其在所有服务器中维护一个长度为的路由表。

其中代表哈希环中某个服务器的表示ID,路由表中的第个元素描述了编号为的所有后继节点。

如果位置信息占用的空间容量,每台服务器均对其前一个以及后一个节点的位置信息有所记录。由于其维护的节点位置信息的空间复杂度为,而且每一次查找均可能会遍历整个哈希环中的所有服务器节点,因此时间复杂度为,其中,N表示服务器数量。本文通过维护的容量信息,查找的时间复杂度改进为。

2 哈希算法的物联网应用测试

为了验证本文设计的应用了哈希算法的物联网存储系统的通信效果,作者在OPNET Modeler仿真软件中进行仿真验证,分析存储性能和网络性能等相关指标。

2.1 衡量指标定义

物联网数据存储系统常见的评价指标主要包括系统的吞吐能力和系统的响应时间。本文通过下式的平均值进行吞吐量定义,其中表示吞吐量,为仿真单位周期,和分别表示单位时间内的读操作数和写操作数。

系统的响应延迟,指从某个请求发出到接收到返回结果消耗的时间。为了体现系统整体性能,本文统计平均响应延时,假设成功获取组数据,则通过下式计算,

上式中,表示第个分组的响应延时。

2.2 哈希算法存储系统性能分析

在OPNET Modeler仿真实验中,设计两台服务器节点,每台服务器分别连接5个存储单元,服务器之间能通过有线网络进行通信,10个物联网感知器通过用户服务器对存储单元进行读操作和写操作。读操作即定时从存储单元获得信息,写操作为定时将物联网感知器采集的信息发送给存储器进行保存,发送及接收频率为10M/ms,且根据设定的哈希分布规则选取目标存储器,仿真时间为20min,然后统计仿真结果进行对比分析。

通过测试10台存储单元所存储的数据容量,由结果可知,各存储器所存储的信息含量基本相等,基本维持在11718M左右,体现了本文设计的存储模型具有较好的公平性和一致性,不会对某一个存储单元或者服务器造成应用压力。

平均吞吐量及响应延时与顺序分布的存储器模型相比,性能有所改善,图3的仿真结果表明本文设计的基于哈希分布的分布式存储模型使系统的吞吐量增加了12.2%,响应延时减少了9.8%。如果集群规模数量过多,不能保证所有的服务器在同一个机架下,系统设计以及性能分析都会有所不同。只有理解存储系统的底层设计和实现,并在实践中不断地练习,性能估算才会更加准确。整体而言,哈希算法可以使存储器的网络性能有所提高。

3 结论

物联网是传统互联网在现代社会应用的拓展和延伸,同时伴随着大数据时代的到来。作为典型的分布式存储系统,哈希算法完全适应于物联网的应用环境。本文主要分析研究哈希算法在物联网数据存储方面的典型应用,辅助完成物联网分布式数据存储。同时,通过定义吞吐量及响应延时等性能指标,作者在OPNET Modeler仿真软件中进行仿真验证,进而对基于哈希算法的存储器模型进行性能评估。仿真结果表明本文设计的基于哈希分布的分布式存储模型较顺序存储分布策略使系统在通信性能方面有了显著的提高。作者也会在今后的研究工作中对哈希算法等数据结构在物联网中的应用设计进行进一步的优化。

参考文献:

[1] Gubbi J, Buyya R, Marusic S, et al. Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions [J]. Future Generation Computer Systems, 2012, 29(7):1645–1660.

[2] Zhu Q, Wang R, Chen Q, et al. IOT Gateway: BridgingWireless Sensor Networks into Internet of Things[C]// 2010 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing. IEEE Computer Society, 2010:347-352.

[3] Kopetz H. Internet of Things [M]// Real-Time Systems. Springer US, 2011:307-323.

[4] Chalkiadaki M, Magoutis K. Managing Service Performance in the Cassandra Distributed Storage System[C]// 2013 IEEE 5th International Conference on Cloud Computing Technology and Science. IEEE Computer Society, 2013:64-71.

[5] Trushkowsky B, Bod&#, Peter K, et al. The SCADS director: scaling a distributed storage system under stringent performance requirements[C]// Usenix Conference on File & Storage Technologies. USENIX Association, 2011:163-176.

[6] Vermeulen A H, Atlas A B, Barth D M, et al. Distributed storage system with web services client interface: US, US 7716180 B2[P]. 2010.

[7] Lubbers C E. Atomic cache transactions in a distributed storage system: US, US 20060294300 A1[P]. 2006.

[8] Rozsnyai S, Slominski A, Doganata Y. Large-Scale Distributed Storage System for Business Provenance[C]// 2011 IEEE 4th International Conference on Cloud Computing. IEEE Computer Society, 2011:516-524.

[9] Tanimura Y, Hidetaka K, Kudoh T, et al. A distributed storage system allowing application users to reserve I/O performance in advance for achieving SLA[C]// IEEE/ACM International Conference on Grid Computing. IEEE, 2010:193-200.

[10] Choi S C, Youn H Y, Choi J S. Symmetric tree replication protocol for efficient distributed storage system[C]// Computational Science - ICCS 2003, International Conference, Melbourne, Australia and St. Petersburg, Russia, June 2-4, 2003. Proceedings, Part III. 2003:474-484.

猜你喜欢
数据存储物联网
大数据时代档案信息建设的认识和实践
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者