一种基于数据包技术的电力移动作业平台

2015-11-25 02:59蒋厚明
计算机与现代化 2015年12期
关键词:应用服务主站数据包

蒋厚明,胡 牧,吴 佳,苏 丹

(1.国网电力科学研究院,江苏 南京 210000;2.国网冀北信通公司,北京 100001)

0 引言

随着无线通信技术和手持便携设备的发展,移动设备在日常生活和工作中的应用越来越广泛。移动办公应用技术不仅可以让用户随时随地处理公务,更可以及时应对紧急事件。各行业已经有了很多成熟的基于移动设备的应用案例,例如餐饮行业的移动点菜系统、快递行业电子签收系统等。

在电力行业信息化不断推进的过程中,用户在移动应用方面提出了具体的要求,各种原本通过现场人工记录数据并录入系统的工作,可以使用移动终端进行解决。近年来,利用移动终端开展电力业务现场作业,已经成为重要的工作方式之一,如:用电管理、抄表作业、电力线路巡检作业、物资管理、移动办公、应急作业处理等电力业务都陆续实现了部分移动作业功能。

1 现存问题

目前,现有的移动终端应用系统大多数采用定制开发模式,这种模式存在以下问题:

1)孤岛现象严重,无法在项目之间进行资源共享和模块复用,一体化集成困难,“总体规划,分步实施”难以实现。

2)针对安全接入控制、数据同步、综合监管等关键技术、难点技术,各项目都耗费大量资源进行选型和研发,并且目前在安全性、实现方法和执行效率上仍然存在不少尚待解决的问题。

3)项目对中间件厂商依赖性过大,功能升级、需求变更无法及时响应,性能优化也得依赖于中间件。

4)开发人员手工编码量较大,技术路线不一致,没有形成统一的编码规范,不易于后期维护。

针对以上问题,业界已有相应的解决方案,即通过归纳总结各类业务应用系统中的共性需求和通用技术,建立一套统一技术路线、提高复用性的移动应用平台。

2 关键设计

2.1 架构设计

本文方案总体采用客户端/服务端架构,如图1所示,客户端与服务端以及服务端之间的相互调用均采用基于HTTP 协议的Web 服务。图中业务中间件和移动应用系统为业务系统自行实现的模块,其他部分则为平台实现的模块。

图1 移动作业平台系统架构

其中,客户端可分为移动应用开发平台客户端和移动业务应用系统2 部分。前者为平台实现,而后者则是基于平台实现的具体业务系统。

服务端主要包括移动应用服务(Mobile Application Service,MAS)和主站业务系统服务。移动应用服务由移动应用开发平台实现,负责客户端与主站业务系统进行身份认证、数据同步等交互操作。主站业务系统需向移动应用服务暴露出数据库访问接口,并需实现移动用户注册模块和数据同步消息的收发模块。

2.2 移动作业模式

目前在移动应用领域,主流的作业模式可分为以下3 种:

1)离线模式。移动终端通过一次性上传、下载相关数据,在现场工作过程中并不连接服务端的工作模式,这种模式适合网络条件较差的环境。

2)在线模式。移动终端实时连接主站系统,随时可与主站系统连接,上传或下载数据,这种模式适合网络条件较好的环境。

3)在线+离线模式。该模式结合了在线和离线模式的优点,当移动终端处于在线状态时,可完成数据的上传、下载,当现场工作过程中不具备网络连接时,可临时离线进行作业操作;而当重新具备连线条件后,则可以将离线作业数据同步回服务端。

综上所述,结合对电力系统移动作业的实际需求,笔者认为在线+离线模式最能满足现场作业需求和当前网络环境状况。

2.3 作业数据包

作业数据包,是构成一次业务作业的完整数据包,例如一个任务数据包,除包含其任务运行数据外,还包含与其相关联的标准代码、设备台账等数据。数据包通常是一个ZIP 压缩文件,由主站业务系统生成,从主站业务系统下载到移动终端后,解压并还原成业务数据。

作业数据包的主要构成包括:

1)数据包描述文件。以XML 格式描述此数据包中的所有文件索引,包括数据包唯一标识、结构化数据文件位置与执行顺序,同时还描述了非结构化数据文件需要复制到本地的位置。

2)结构化数据文件。以XML 格式描述一个或多个数据表结构以及实例数据,具体请参考《移动应用开发平台集成接口规范》。

3)非结构化数据文件(可选的)。包括作业时需要用到的文本、Office 文档、图片或视频等文件。

数据包适合以任务为主线下载数据的业务场景,并可实现任务驱动流程,如各专业巡检、检修、抄表作业任务等。由于数据包生成过程并不集中发生,并发量较小;并且由于该过程由主站系统自行实现,因此可针对业务场景使用缓存等技术进行特殊优化。

数据包生成的逻辑一般都比较复杂,数据包中包含了一次移动作业所需的全部数据,这些数据的抽取规则复杂,数据包生成时间长且数据量大,因此会占用较多的服务端资源,出于减少业务系统并发性能影响的考虑,数据包在移动应用服务中生成。生成好的数据包文件可放置在数据共享设备中,以适合集群环境,同时需要将此文件存储位置与业务流程中的任务实体关联,方便平台客户端查询和下载。

移动作业平台集成开发环境提供工具定义数据包抽取的规则,在直连业务系统数据库时以SQL 形式定义业务数据的抽取规则。针对无法或不允许直连业务系统数据库的情况,移动应用服务允许通过业务系统的相关服务接口抽取数据。抽取的业务数据直接存储到该任务相关的SQLite 数据库文件。

数据包的生成由业务系统触发,业务系统在合适的时间调用移动应用服务的数据包生成通知接口通知移动应用服务开始生成数据包。业务系统需要在通知数据中需要提供任务的元数据、任务相关的非结构化数据的访问地址(可以是一个URL 或共享存储目录),移动应用服务按照已定义的生成规则,抽取业务数据,下载非结构化数据,生成数据包,并记录数据的元数据。生成的数据包存储在可以通过HTTP访问的共享存储中,以便平台客户端下载。

2.4 数据同步机制

数据同步是移动作业平台的关键技术,在保证数据正确无误的情况下,还需考虑安全性、数据同步执行效率、主站业务系统负载、主站业务系统开发成本和软硬件部署成本。目前数据同步方案可分为以下5 种:

1)移动设备直连主站业务应用系统服务,主站端事先生成好作业包供移动设备下载,用户执行完作业包后,再调用主站服务将作业内容增量上传,很多移动作业平台都是采取这种方式下载作业包然后进行离线作业的。

2)移动设备连接移动中间服务,并通过中间服务与后台主站业务数据库进行交互,从而实现数据同步。

3)移动中间服务具有本地数据库作为中间库,并负责其与后台主站业务数据库进行定期数据同步,移动设备与中间服务连接,从中间库中下载准实时数据。

4)移动中间服务两端连接着移动终端和主站业务系统,移动终端发起同步调用时,首先由移动中间服务器访问主站业务系统,并由主站业务系统分析数据同步请求查询数据库,再将结果返回移动中间服务,继而再由移动中间服务转发给移动终端。

5)数据同步由平台提供的客户端程序和移动应用服务完成,移动终端与移动应用服务相连,而移动应用服务与各主站业务系统通过Web 服务连接,同时还与主站数据库相连(若主站业务系统不允许移动应用服务器与其数据库直连,则可采用基于Web服务的间接数据访问)。移动应用服务器自身包含数据库,存放用户、设备及系统的认证凭据、同步数据的索引信息和平台所需的系统数据表等。本方案与方案1 同样采用了离线数据包的作业模式,不同点是由主站业务系统主动通知移动应用服务器,并由移动应用服务器自动访问业务数据库完成数据抽取并生成数据包。用户执行完作业包后,再调用移动应用服务将作业内容增量上传,且仍然通过直连主站数据库自动完成回填数据。

与方案1 相比,后几种方案都采用了移动服务这样一个中间环节,移动中间服务的好处是让移动终端不直接访问后台业务系统或业务数据库。移动终端发起数据同步请求时,同时传递上一次数据同步时间,移动中间服务通过分析事先预定义好同步模型,根据客户端传来的同步条件和同步时间拼接成增量查询语句,并在主站业务数据库中执行,然后再将查询结果返回给客户端,而为了实现增量数据查询,业务数据库必须开放账户供移动服务访问,其中方案2和方案3 还需要允许移动服务对业务数据库的结构进行必要的改动,如添加字段、数据表和触发器等。

5 种方案中,方案1、方案2 和方案5 都采用了离线数据包的模式,即事先在服务端根据用户或班组生成好作业包,并向移动设备端暴露出查询和下载作业包的服务接口,移动设备连接到服务端后,首先查询未处理的作业包,然后根据需要下载到本地,作业完成时再次调用服务接口以作业包的形式更新。由于生成作业包通常不会在同一时间点上产生大量的并发,因此对主站业务系统和业务数据库的并发压力较小,若在上班高峰下载作业包时有较大的并发量,则可通过架设Apache 等专门针对文件下载的HTTP 服务器解决。

综合比较而言,方案5 更符合电力行业的实际需要,图2 是一个基于方案五的数据流转示意图。

图2 基于方案5 的数据流转示意图

2.5 时间同步机制

平台提供时间同步机制用于保持移动设备与服务端之间的时间一致性,用户在线登录前由客户端主动触发。它包含客户端时间同步模块和服务端时间同步服务2 部分。客户端模块调用时间同步服务,而移动应用服务则再调用接口获取主站业务系统数据库的时间,并将其返回。如果时间同步模块发现客户端时间与服务端之间存在较大的时间差,则会将本地时间进行调整。

由于时间同步主要用于防止设备因电池缺电或故障而产生较大的时间差,因此该同步对精确性要求较低,并不会保证两边时间完全一致,只需精确到分钟即可。

3 实际应用

国家电网移动作业平台是基于国家电网统一应用开发平台构建的新一代企业移动信息化系统,其整体架构完全按照上述概念进行设计和构建,在实际应用中,结合智能电网安全生产现场标准化作业需求,通过规范现场作业程序和作业人员行为,杜绝现场作业的随意性和盲目性。构建简单、可靠、实用的现场标准化作业管理体系,对现场作业相关流程、信息进行优化和处理,将业务系统的前端扩展到生产管理业务的作业现场,从而提高业务管理效率,实现电力现场工作全过程的规范化、标准化和精细化管理目标,确保作业过程的安全性和提高作业质量。

一个典型的电网生产管理移动作业工作任务作业流程如图3 所示。

图3 典型的电网移动作业流程

1)首先工区相关人员编制工作任务单并派发到班组,默认由班组组长进行任务受理,即指派具体工作负责人。工作负责人针对具体任务编制现场作业指导卡。

2)班组审批作业指导卡,并批准执行。

3)主站业务系统向移动应用服务发送生成数据包通知。

4)移动应用服务根据事先定义的规则,直连业务数据库或通过主站业务服务访问数据库,从相关业务表中抽取数据。

5)移动应用服务将抽取到的数据打包,并生成数据包。此数据包中包含运行数据及与其相关联的标准代码、设备台账以及相关的文档、照片文件等。

6)数据包下载和上传流程。用户在移动终端登录,连接移动应用服务查询当前待执行的数据包,选择并下载到本地,并将数据包还原成客户端的业务数据。

7)用户进行现场作业时,无需连接主站,即可通过界面填写作业卡执行信息,并登记作业过程中的相关记录。若用户在作业过程中发现缺陷,可进行缺陷登记。

8)作业完成后,用户将数据包置为“已完成”状态。若用户处于在线模式,可将该数据包中的更改打包成增量数据包,上传至移动应用服务中。而在离线模式下,用户也可等回到主站后再上传。

9)移动应用服务接收到增量数据包后,根据事先定义的规则,直连业务数据库或通过主站业务服务访问数据库,执行数据回填。

10)完成一次任务包回填后,移动应用服务通知业务系统。

11)如有需要,业务系统在收到通知后,可自行执行后续的数据处理。

系统从2014 年4 月份上线,迄今为止已经服务于22 个业务系统,共计12 万多个终端用户,有200多个二次开发人员在其之上开发移动应用,大大提升了智能电网作业的工作效率,取得了良好的经济效益和社会效益。

4 结束语

本文在结合移动作业和电力行业环境特性的基础上提出了构建基于数据包技术的电力行业移动作业平台的基本要素,针对移动作业的特点提出了移动作业平台的总体架构和关键技术,基于这些思路构建的移动平台在国家电网公司生产管理移动作业中得到了广泛应用,其思路和方法也可广泛应用于其它行业的移动作业系统中。

[1]张金玲,黎峰,刘镇顶.基于PDA 的移动作业标准化管理系统[J].计算机工程与设计,2008,29(7):1831-1833.

[2]王乐鹏,黄立平.移动作业系统的客户端解决方案[J].计算机与现代化,2003(5):67-69.

[3]王鑫,袁晓洁,冯志勇,等.原生存储方案的数据更新机制[J].计算机应用,2010,30(3):821-824.

[4]秦超,张涛,林为民.电力移动作业PDA 安全接入系统设计与实现[J].电力系统自动化,2012,36(11):82-85.

[5]周孔均,李毅,冯凌,等.基于PDA 的标准化作业管理系统的实现[J].重庆电力高等专科学校学报,2007,12(1):47-49.

[6]刘水,龚雪丽,邬菲.现场标准化作业管理系统的开发应用[J].电力设备,2007,8(9):83-85.

[7]陈道友,龙海峰,谭昊.现场标准化作业管理系统的研究与实现[J].微计算机信息,2010(36):78-80.

[8]曾宪权,冯玉东.移动中间件研究[J].计算机与数字工程,2008,36(7):82-85.

[9]徐浩,周德华,丁卓,等.面向多终端适配的移动中间件的设计与实现[J].计算机与现代化,2011(9):65-68.

[10]林彩麟,梁世昌,梁健文.智能锁封移动作业平台的设计与开发[J].机电工程技术,2015,44(1):47-51.

[11]朱淼良,邱瑜.移动代理系统综述[J].计算机研究与发展,2001,38(1):16-25.

[12]公磊,周聪.基于Android 的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):85-89.

[13]李文婧.电力营销移动作业系统建设[J].广西电力,2015,38(2):60-62.

[14]朱先远,殷西翔.面向移动终端电子作业批改系统的设计与实现[J].长江大学学报(自然科学版:理工(上旬)),2014,11(2):42-44.

[15]凌行龙,王文,樊爱军,等.电力营销移动作业安全分析及防护研究[J].电力信息与通信技术,2013,11(7):110-115.

[16]张明波,赵芳霞,姜维斌.基于智能移动终端的作业解决方案[J].软件工程师,2014,17(5):25-27.

[17]王海波,耿晖.基于XML 的数据交换的实现[J].计算机应用,2001,21(4):67-68.

猜你喜欢
应用服务主站数据包
全球卫星互联网应用服务及我国的发展策略
国家不动产统一登记信息平台构建与应用服务
SmartSniff
基于OS2主站系统的海量数据共享技术研究
多表远程集抄主站系统
全国征集卫星应用服务解决方案
应用服务型人才培养体系下的嵌入式操作系统教学改革探索
基于改进经济压差算法的主站AVC的研究
关口电能计量故障监测报警装置及主站研究
视觉注意的数据包优先级排序策略研究