您现在的位置:首页 > 标准科普 > 照明知识 > 基于路灯照明系统的海量数据存储

基于路灯照明系统的海量数据存储

更新时间:2016-01-20  来源:未知  有90人阅读

核心提示:城市照明管理相关应用系统的现状 随着中国经济的飞速发展,在市场经济的推动下,城市的基础建设也快速提升,在众多的基础建设中,城市路灯和景观灯等照明设施无疑是整个城市的亮点。

一、背景

1.城市照明管理相关应用系统的现状
随着中国经济的飞速发展,在市场经济的推动下,城市的基础建设也快速提升,在众多的基础建设中,城市路灯和景观灯等照明设施无疑是整个城市的亮点。但是路灯管理系统建设不像基础建设那样简单,因此管理工作的建设往往落后于硬件设施的建设。

在路灯管理工作建设上国内许多大中型城市已经或正在应用各种系统,但其中大多数为监控系统,其主要功能是实现对路灯开关箱和灯杆数据的监测和控制,而路灯的养护和其他日常工作仍然滞留在过去比较简单的管理方式,鲜有将之与现代化的信息系统结合的。

2.数据储存的现状
目前城市路灯系统的数据存储单位在GB(GigaByte)级,随着信息化的发展,数据存储单位很快就会发展到TB(TeraByte)级,甚至PB(PetaByte)级。传统的OLTP(Online Transaction Processing)数据库处理事务方式在面对海量数据时,效率显得非常低下,并且难以满足高并发、高效响应的业务需求。

二、路灯系统海量存储

1.数据库集群

任何大型系统经过一段时间的生产运行,都会产生一定的性能问题,单实例数据库已经不能满足要求,因此在路灯系统的设计阶段就必须考虑高可用的数据库集群技术,整个集群由集群软件和RAC(Real Application Clusters)两大部分组成,Oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控各节点的运行状态,oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备上,而共享存储设备可以是RAW、ASM、OCFS2等,所有集群节点可以同时读写共享存储。拓扑结构图如下:
 


 

集群的优势:
(1)故障容错和无缝切换功能,当一个节点出现故障,所有客户端便会去访问别的节点,使得用户根本感觉不到有节点故障;
(2)负载各个节点的均衡;
(3)在数据分析模块中,通过并行执行的技术提高事件的响应时间;
(4)在联机事物处理模块中,通过横向扩展提高每秒连接数。

2.数据表分区

一般的中型城市的路灯安装量平均约为7-10万个,大部分数据量集中在路灯状态变化数据采集、电流电压瞬间变换数据采集、轮询数据采集等。一天而言,高峰期5个小时,大约采集70-80万的数据,非高峰时间19个小时,大约采集50-70万的数据,也就是一天120-150万的数据量,每个月3600-4500万的数据量。

因此可以对这些表按时间进行范围分区,也就是将表分解成较小和易于管理的分区片方式。无论是查询还是采集操作、甚至是后期的维护,都能很好的提高性能,降低I/O的瓶颈,实现负载均衡。另外分区作为一个独立的存储单位,可以建立在某一特定的表空间上,并且随表空间分布在不同的物理存储设备上,这样系统的安全可靠性和管理的高效性都大幅度地提高了。

3.数据处理


 
所谓数据处理指的是定时将有效的数据保留,无效的大数据怎么加工成小数据保存在现有的表中,同时移动到别的表中,对于新生成的表需要再进行数据压缩,从而减少查询分析统计带来的数据库压力。

不同的业务系统数据处理要求也会不同。就路灯轮询业务而言,合理的做法是系统在每月初定时程序处理保留当年的历史数据,并统计若干汇总数据,例如:三年前上一个月的汇总数据、前三个月的汇总数据、前一年的汇总数据等。同时另一张表中保存所有的记录,在这张表中需要很高的权限才能进行插入(Insert)或更新(Update)的操作,其内容较为稳定,因此可以采用定时数据压缩的方式来处理此表。

对于数据压缩,经过详细比较,同样的表在2000万数据量的时候,压缩后比压缩前所占的空间少一半,从而大幅节省了存储空间,并且所涉及的物理和逻辑I/O也显著下降,因而执行速度非常快,大幅度的提高了性能。

总之,通过各种新的数据处理途径可以将海量的表变成小数据量的表,如果该表基本不用DML操作的话,就采用压缩数据的方式,以便存贮、查询和其他操作的使用。

4.建立索引、优化SQL

任何系统都会建立索引,但是不同的索引建法会对系统效率产生巨大的影响,同时在某些特定的情况下是没有必要建立索引的。

当表数据并不大的时候,或者查询结果集未超过总表数据的1/3(并不是绝对,与全表扫描速度成反比),这样的情况下我们无须建立索引。强制建立索引反而增加了索引空间,对数据操作无法起到预期的效果。

基于路灯海量数据,其索引的建立方式采用了一定的机制:
(1)对于基数(某个列可能拥有的不重复值的个数)大的列,我们建立B树索引,基数小的列,我们建立位图索引;
(2)对于时间查询、计算的列,我们建立函数索引;
(3)对于列中有许多空值,但经常查询所有的非空记录的列,我们建立索引;
(4)其他查询用到的列,我们建立索引。
 
在对海量数据进行查询处理过程中,查询的SQL语句的性能对查询效率的影响也是非常大的,编写高效优良的SQL脚本和存储过程是数据库工作人员的职责,也是检验数据库工作人员水平的一个标准,在对SQL语句的编写过程中,例如减少关联,少用或不用游标,设计好高效的数据库表结构等都十分必要。特别注意SQL语句中一些通配符、非操作符造成语句没走索引的原因。
 

三、总结

路灯系统海量数据存储的设计与实施是对路灯管理工作的又一次重要的升级,它是将当今先进而稳定的网络技术、数据库管理技术与城市照明管理工作一个良好的结合,也是适应城市飞速发展的一个必然趋势。现在的实际使用情况已充分明确的反映出了这一发展方向,但我们还需要更进一步的研究城市照明管理的具体需求,将这些实用、稳定和先进的技术应用到城市管理照明的工作中,从而不断加强我们的照明管理能力;也使得用户能更好、更高效地使用我们的系统。 

参考文献

[1] 浙江电力.第31卷 第7期. 国内统一连续出版物号:CN 33-1080/TM 2012.
[2] 城市照明 2013  4  VOL.17 NO.98.
[3] 《Oracle rac 技术》百度文库.
  • 矩形配光设计中的复合抛物面三维同步多表面方法

    由于LED是一种朗伯型光源,而非各向同性光源,并且LED光源通常是一种面光源,基于点光源的传统灯具设计方法已难以实现其配光需求,因此有必要研发针对扩展光源的非成像光学设计方法。目前主要有截边法、微分方程法、同步多表面设计法(SMS,Simultaneous Multiple Surfa

  • 电光源发展史

    1843年,上海街头出现了中国最早的路灯,那是盏煤油灯,人工点燃,天亮后熄灭。直到1879年美国的爱迪生发明了白炽灯,人类才进入了电光源(由电能转换为光能的器件)照明时代。稍后,上海外商轮船码头用一台10马力的内燃机发电,亮起了中国第一盏电灯。 1938

  • 灯丝LED球泡灯特性

    国家发展改革委员会、商务部、海关总署、国家工商总局、国家质检总局联合印发了《关于逐步禁止进口和销售普通照明白炽灯的公告》。《公告》决定从2012年10月1日起,按照功率大小分阶段逐步禁止进口和销售普通照明白炽灯。