APP下载

基于本地缓存技术的电网GIS性能优化方法研究

2013-01-26陈顺德钟一俊周明磊洪建光

浙江电力 2013年11期
关键词:客户机序列化服务器端

陈顺德,钟一俊,周明磊,洪建光

(浙江省电力公司信息通信分公司,杭州310007)

基于本地缓存技术的电网GIS性能优化方法研究

陈顺德,钟一俊,周明磊,洪建光

(浙江省电力公司信息通信分公司,杭州310007)

随着浙江电网GIS建设不断推进,系统性能需求得到越来越广泛的重视。针对电网GIS客户端登陆时间过长的问题,提出一种基于本地缓存技术的电网GIS性能优化方法,设计新增本地硬盘缓存电网资源空间数据功能,并对本地序列化缓存、内存数据增量更新、本地缓存处理过程等关键技术点,展开了分析研究。最后,将该技术应用于配电GIS客户端,测试结果表明,通过从本地缓存加载电网数据方式,极大地提高了登录速度,取得了良好的应用效果。

电网GIS;本地缓存;性能;登录时间

0 引言

随着电网GIS(地理信息系统)应用的不断普及,构建集中式部署的企业级电网GIS成为省级供电企业选择的发展方向。2010年起,浙江省电力公司开始企业级电网GIS的建设,实现了输、变、配等电网资源的结构化管理和图形化展现,以面向服务的架构为各类业务应用提供电网图形和分析服务。目前,电网GIS已经涵盖全省3 965条输电线路,16 972条配电线路,1 597座变电站,23 268个低压台区,累计存储千万级规模的电网资源空间数据。

在服务器全省集中部署模式下,为了满足用户的性能需求,电网GIS采用分区+空间索引的数据库设计方式,结合内存对象数据库、栅格/切片地图本地存储等数据缓存技术,减少了数据库服务器和网络的处理压力。但随着电网资源空间数据不断地增加,仍暴露出新的性能问题。特别是在偏远地区,受网络带宽和客户机配置所限,电网GIS客户端登录时间可能长达几10 min,大大降低了用户使用积极性。针对这个问题,提出一种基于本地缓存技术的电网GIS性能优化方法,旨在提高电网GIS客户端登录速度。

1 电网GIS应用本地缓存技术

数据缓存介于应用程序和物理数据源之间,存储介质包括内存和硬盘,其作用是降低应用程序对物理数据源访问的频次,从而提高应用的运行性能。根据不同的数据缓存区应用位置,可将缓存技术分为客户机端本地缓存、服务器端集中缓存及分布式缓存技术。

拟将客户机端本地硬盘缓存技术应用于电网GIS,该技术是通过客户机端程序将服务器端获取的数据写入本地硬盘缓存,当需要再次访问该数据时,可以选择直接从本地缓存文件中读取数据,而不用访问服务器,以减轻服务器和网络传输的负担。

电网GIS主要由基础地理空间数据和电网资源空间数据等组成。对于变化量较小的基础地理空间数据,服务器端利用地图切片技术,进行预处理生成切片文件,客户机端按需将部分切片文件下载至本地缓存,无需重复访问服务器端数据。对于变化量较大的电网资源空间数据,服务器端将其存储在Oracle关系数据表中,客户机端利用内存数据库技术,并基于AutoCAD空间数据模型,实现与服务器端的模型映射及数据互操作,但暂未应用本地硬盘缓存技术。

设计增加本地硬盘缓存电网资源空间数据功能,期望减少对服务器、网络处理的压力,并缩短客户机端数据加载等待时间,提高系统的易用性。但这种空间换时间的技术可能存在服务器端和客户机端数据冲突等技术难题,需要针对关键技术进行专题研究。

2 关键技术研究

2.1 本地序列化缓存

对象序列化是对象持久化的一种实现方法,它将不同对象的属性和方法转化为序列化的格式存储和传输,并通过反序列化将保存的信息重建对象。秉承面向对象的编程思想,电网GIS已对本地内存读取的电网资源空间数据进行对象化处理,客户机端程序支持以设备对象为单位的数据访问方式,具备对象序列化本地缓存条件。

选择.NET Framework平台提供的序列化机制,采用二进制序列化格式,实现在本地硬盘中对电网资源空间数据的持久化保存。

2.2 内存数据增量更新

新增本地缓存功能后,本地内存既可从Oracle中加载数据,也可从本地硬盘中加载数据,但由于电网GIS具备并发编辑控制功能,无论选用何种加载方式,在数据编辑前仍须从Oracle中同步最新数据至本地内存,并支持内存数据增量更新操作,以消除本地硬盘和后台数据库数据不一致的隐患。

通过在电网资源空间数据表中增加“最后更新时间”字段,以及在本地缓存文件中记录保存时间的方法,在内存加载硬盘缓存数据过程中,对本地保存时间与最后更新时间进行比较,筛选出自本地保存时间后更新的电网资源空间数据,实现增量加载。

考虑到电网GIS支持长事务处理的特点,存在增量加载完整性漏洞,需要设置时间提前策略,通过冗余加载部分本地保存时间前的数据,避免遗漏更新数据。

2.3 本地缓存处理过程

电网GIS本地缓存处理过程涉及Oracle数据库、本地内存程序、本地缓存文件等存储介质,三者之间的关系如图1所示,包括保存变更至Oracle数据库、全量/增量加载至本地内存程序、批量生成本地缓存文件、本地缓存加载至本地内存程序等4个处理过程。以下将着重介绍后面2个处理过程。

2.3.1 批量生成本地缓存文件

生成本地缓存文件的处理逻辑如下:

(1)确保电网GIS客户端已退出编辑状态,所有修改结果都写入Oracle数据库,且将本次修改对象的状态改为已保存,从而释放并发编辑锁;

(2)写出MSN(数据库模型版本序列号),用于加载时判断模型是否发生变化。如果序列号过期,则不允许加载本地缓存文件。

(3)写出地理图Document(文档)更新USN(序列号),记录本地缓存文件保存时间,用于内存数据增量更新;

(5)写出所有Block对象,并写出图形对象列表及路径对象列表;

(6)从降低复杂性角度考虑,不写出系统配置(如组织机构、模板等)、一次接线图、单线图等数据。

2.3.2 本地缓存加载至本地内存程序

本地缓存加载的处理逻辑如下:

(1)从Oracle数据库加载组织机构、模板定义等配置数据;

(2)在缓存文件加载前,检查MSN有效性;

(3)从缓存文件中依次加载block对象、路径对象列表及图形对象列表;

第三、表1中学生评教工作的初衷是为了褒奖和促进教师教学的积极性,需要体现教师的认真负责和严格要求学生的正能量,教育本身包含有约束管教的使命,因此这种方法依然有继续使用的价值和意义,但需要做出以下两方面的调整:①对学生评教的内容进行调整,引导学生积极正面地评价教学;②降低和减小学生评教结果对教师综合评价的百分比。

(4)加载完成后,可选手工启动增量更新机制,下载从缓存文件USN到数据库USN间的增量数据,更新至本地内存程序中。

3 测试及结果分析

3.1 测试方法

浙江电网GIS上线之初,曾组织开展配电GIS客户端用户登录测试工作,统计不同测试地点、不同数据加载范围下的登录时间,暴露出加载数据时间过长的问题。本次测试工作是上次登录测试的回归验证,在增加本地缓存功能的基础上,通过模拟相同的测试环境,选择“从服务器加载电网数据”和“从本地缓存加载电网数据”2种方式,记录加载成功所用时间,比较分析配电GIS客户端性能现状。

3.2 结果分析

选取金华、嘉兴、台州等3个地区电力局的88个有效测试结果,以折线图方式展现,如图2所示。图中自上而下的3条曲线A,B,C分别为原加载登录时间、从服务器加载登录时间、从本地缓存加载登录时间等测试数据集合,分析可得以下结论:

(1)曲线B明显低于曲线A,说明通过采用性能优化方法,配电GIS客户端从服务器加载数据至本地内存的消耗时间明显变少,由平均231 s降为平均76 s;

(2)曲线C明显低于曲线B,说明采用本地缓存技术后,配电GIS客户端登陆时间有了质的变化,平均值由76 s进一步降低到25 s。考虑到部分测试客户机配置偏低或进程过多等因素影响,理论上从本地缓存加载登陆时间可以更短,完全满足用户登录浏览的需求。

4 结语

电网GIS是否满足用户的功能性及非功能性等多层次需求,直接关系到系统应用的实用化程度。随着电网GIS的深化应用,用户会更加重视系统的性能需求。针对客户机端登录时间过长的问题,提出一种新的性能优化方法,增加对电网资源空间数据的本地硬盘缓存及本地内存增量更新等功能,并将其运用于电网GIS客户端程序,取得了较好效果。

[1]高立群,俞家文,丁俊松.NET Framework中序列化与反序列化方法的分析与应用[J].微计算机应用.2007,29(11):1178-1182.

[2]周芹,李绍俊,宋关福,等.基于Oracle Spatial的空间数据库缓存的关键技术[J].地球信息科学,2007,9(3):40-44.

[3]钱成越.基于AutoCAD数据建立GIS空间数据库的方法初探[J].测绘与空间地理信息,2010,33(4):157-159.

[4]邱建康.基于AutoCAD的ArcGIS空间数据库互操作实现[J].城市勘探,2010(5):54-56.

[5]焦锋,刘群,邢文建.客户机/服务器下的数据缓存技术[ J].辽宁工程技术大学学报,2004,24(2):226-228.

[6]陶卫平.内存数据库关键技术探讨[J].大众科技,2012,14(159):16-17.

[7]李平,吴国妹.Oracle Spatial与ArcSDE空间数据上载及应用比较[J].信息技术,2007(5):169-171,184.

(本文编辑:陆莹)

Investigation on Optimization Method of Grid GIS Performance Based on Local Cache Technology

CHEN Shun de,ZHONG Yi jun,ZHOU Ming lei,HONG Jian guang
(Information Communications Branch of Zhejiang(Provincial)Electric Power Company,Hangzhou 310007,China)

With the construction advancement of Zhejiang power grid GIS,the system performance requirements are increasingly widely recognized.Aiming at overlong login time of GIS client,the paper proposes grid GIS optimization method based on local cache technology.New local hard disk cache grid resource spatial data capability is designed,and local serialization cache,update of memory data growth volume and key technical points like local cache processing procedure are analyzed and investigated.Finally,the technology is applied in power distribution GIS client,test result of which shows that by loading the grid data from the local cache,the login speed is greatly promoted and good application result has been achieved.

grid GIS;local cache;performance;login time

TM727:TP317.4

:B

:1007-1881(2013)11-0033-03

2013-08-13

陈顺德(1966-),男,福建漳州人,工程师,从事电力信息化管理工作。

猜你喜欢

客户机序列化服务器端
基于FlatBuffers的机车通信数据序列化方法应用研究
Linux环境下基于Socket的数据传输软件设计
如何建构序列化阅读教学
某物资管理调度系统的数据序列化技术
隔山亦能打牛,本本巧变远控利器
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
Java 反序列化漏洞研究
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
升腾瘦客户机借神码翱翔“云端”