APP下载

配网抢修移动作业系统数据分级及优化处理

2015-01-23单红宇李培培

产业与科技论坛 2015年22期
关键词:数据文件台账增量

□单红宇 林 琦 李培培

一、背景

根据《国家电网公司“十二五”信息化规划》的工作要求,借助于移动作业终端实现现场办公,一方面通过移动终端方便现场人员及时采集信息,减少了联合查勘带来的人力资源浪费;另一方面及时将现场作业产生的数据及时登录到系统,提高数据的正确性和及时性,为其他业务工作的开展提供了便利。

二、系统数据通信

(一)系统部署图。如图1 所示,系统的数据在传输过程中需要通过无线网络、防火墙、安全接入网关。同时与各类其他业务系统相连,包括营销系统、生产系统、电力ERP、一体化平台等各类系统,数据来源广,传输路径复杂。

图1

(二)数据通信中出现的问题。系统需要在不同的业务场景、运行状况下,即时地展现数据,现有移动终端中的数据大部分是通过在线请求业务系统获取所需的数据信息,虽然实时性比较高,但是相对耗时较长,并且对业务系统依赖较大,系统未根据特定的功能需要进行数据分类和分级传输。

由于当前的通信转发环节比较多,无线网络信号相对不稳定,易造成网络请求超时现象;并且终端的数据主要来源于业务系统,当业务系统出现异常时,移动终端中所对应的功能也就无法正常使用;目前系统的通信通道只有一个,并且受限于VPN安全客户端,而VPN 安全客户端很不稳定,经常造成移动终端通信通道的关闭。

(三)数据分级管理与处理。结合系统对数据进行分类、分级,将数据类型划分为常量数据、缓存数据和实时数据;对不容易变化的数据常量,可以通过文件系统直接发布;缓存数据是将实时性较低的数据保存到本地,并通过空闲时段进行同步传输;召测数据是通过召测系统将用户、变压器等设备的电流电压,可视化显示出来,并定时将数据更新同步。

同时已上传的各类数据也进行分类,分为即时上传数据和空闲上传数据,即时上传数据是需要即时上传的数据,这类数据可能影响下一步作业的流程,如到达现场、位置上报等信息。空闲上传数据是指不需要实时上传的数据,只在系统空闲时或者网络情况比较好的情况下上传,这类数据不影响系统的业务流程。

三、数据处理

(一)常量数据和实时数据的处理。常量数据是指基本不会发生变化的数据,如组织机构、电压等级、地市编码等这类数据,写在随终端发布的文件中,系统可以直接从文件中读取数据,不需要访问网络或者其它系统;实时数据是指需要实时从后台业务系统中读取的数据,仍然按照系统原有的方法,调取相关接口实时处理。

(二)缓存数据的处理。

1.缓存数据处理总体方案。缓存数据包括静态数据和动态数据;静态数据在服务器启动时自动生成,以后不再自动检查更新,由终端手动来检查更新;动态数据包括基础数据和增量数据。基础数据在服务器启动时自动生成;增量数据则定时获取;定期清理垃圾数据。

2.缓存数据分类。如表1 所示。

表1

3.缓存方案逻辑结构图。如图2 所示,终端启动应用后,通过用的部门ID 和班组ID 获取缓存的数据文件。如果应用牌打开状态,则每天早晨8 点获取增量文件,如果终端关闭,则每天第一次启动应用时获取缓存数据文件。

图2

4.静态数据缓存方案。接口服务器启动时,首先检查是否存在静态数据文件,如果不存在,则生成静态数据文件。

5.动态数据缓存方案。服务器启动时或触发定时器时,将结束时间设置为当前时间。判断上次更新线路数据时间是否存在。

如果上次更新线路数据时间不存在,设置开始时间为空值,不作为检索条件。

根据开始时间获取线路的台账数据。如果获取的线路台账数据为空,处理结束;如果获取的线路台账数据不为空,以线路ID 为单位,做成线路基础数据文件,文件名为base.db,存入serverpath/cache线路ID/ 目录下。

根据开始时间和结束时间获取线路下的设备台账数据。如果获取的数据为空,处理结束;如果获取的设备台账数据不为空,以线路为单位分组,将数据加入线路ID 对应的基础数据文件base.db。

遍历serverpath/cache 目录,根据开始时间、结束时间和线路ID 获取间隔下的设备台账数据。如果获取的设备台账数据不为空,以线路为单位分组,将数据加入线路ID 对应的基础数据文件base.db 文件中。

开始时间设置为结束时间-30 天(生产环境-365 天)。根据开始时间和结束时间,获取运行记录数据。

如果获取到的运行记录数据不为空,以线路ID 为单位分组,生成运行记录基础数据文件。文件名为runningBase.db,放入线路基础数据所在的目录。

如果上次更新线路数据时间存在,设置开始时间为上次更新时间。

根据开始时间获取线路台账的增量数据。如果获取的线路台账数据不为空,遍历线路台账的增量数据。如果线路状态不等于0、1、4 且存在线路ID 对应的基础数据文件,删除线路ID对应的基础数据文件;如果线路状态不等于0、1、4 且不存在线路ID 对应的基础数据文件,继续下一个线路;如果线路状态等于0、1、4 且存在线路ID 对应的基础数据文件,更新线路ID 对应的基础数据文件;如果线路状态等于0、1、4 且不存在线路ID对应的基础数据文件,新建一个线路ID 对应的基础数据文件。

根据开始时间和结束时间获取线路下的间隔台账增量数据。如果获取的间隔台账数据不为空,遍历获取到的间隔台账增量数据。如果间隔状态不等于0、1、4 且存在间隔ID 对应的基础数据,删除间隔ID 对应的基础数据;如果间隔状态不等于0、1、4 且不存在间隔ID 对应的基础数据,继续下一个间隔;如果间隔状态等于0、1、4 且存在间隔ID 对应的基础数据,更新间隔ID 对应的基础数据;如果间隔状态等于0、1、4 且不存在间隔ID 对应的基础数据,在基础数据文件中增加一条间隔台账基础数据。

遍历serverpath/ache 目录,根据开始时间、结束时间和线路ID 获取间隔下的设备台账增量数据。如果获取的设备台账增量数据不为空,遍历设备台账增量数据。如果设备状态不等于0、1、4 且存在设备ID 对应的基础数据,删除设备ID 对应的基础数据;如果设备状态不等于0、1、4 且不存在设备ID 对应的基础数据,继续下一个设备;如果设备状态等于0、1、4 且存在设备ID 对应的基础数据,更新设备ID 对应的基础数据;如果设备状态等于0、1、4 且不存在设备ID 对应的基础数据,在基础数据文件中增加一条设备台账基础数据。

获取开始时间和结束时间,获取运行记录增量数据。如果获取的数据不为空,遍历运行记录增量数据。如果数据在基础数据中存在,则更新基础数据文件;如果数据在基础数据中不存在;则在基础数据文件中新增数据。将增量数据以线路ID 为单位分组,做成增量数据文件。

将上次更新时间设置为结束时间。

6.数据清理方案。和获取缓存数据采用同一个定时器,在获取缓存数据完成以后,做数据清理;数据清理内容:最近30 天(生产环境365 天)以外的运行记录基础数据和增量文件,还有被删除的运行记录数据。

7.工单记录异步提交。在原有的填写工单记录直接提交,返回失败或成功消息的业务处理逻辑基础上,增加功能菜单显示提交排队任务信息,信息包括提交记录类型、记录内容(标题)、提交时间、提交进度条、操作按钮。对提交工单记录采取异步操作,将编辑提交的记录进行本地化保存并生成提交队列进行排队提交,而界面仍可以做其它操作,不需要用户长时间等待网络处理响应,在提交任务信息栏中对提交失败的任务进行提示,用户可以进行干预(对其进行重新提交或者删除操作)。

四、结语

互联网应用的不断发展,给电力的生产也带来了深远的影响,为了充分利用新兴的技术,提高工作效率,我们开发了配网移动抢修作业系统;与开发传统的信息系统不同,在开发的过程中要充分考虑无线网络的不确定性,对业务数据分类处理是一个很好的选择;通过这一手段,可以提升用户体验,让系统运行得更加流畅。

猜你喜欢

数据文件台账增量
导弹增量式自适应容错控制系统设计
提质和增量之间的“辩证”
“价增量减”型应用题点拨
工作落实,一本台账起什么作用?
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
靖边规范基层党建工作台账
SQL数据文件恢复工具
基于均衡增量近邻查询的位置隐私保护方法
韩雪峰的“台账”