论文部分内容阅读
摘要:随着电力系统的不断发展,电网规模的迅速增长,在电网调度系统中需要监控的、查询的、维护的信息日益增多。传统式通过调度工作站来了解电网实时运行状况的方式愈发不能满足现代电网对监控、对运维的实时性、及时性、随地性的要求。面对如此庞大的业务需求市场,如何以最少的资源投入、以高效的开发效率开发出满足客户需求的移动应用成为了我们研究的方向。本论文论述了一种满足上述要求的电网调控移动应用发布管理技术。
关键词:移动应用 发布管理 电网信息
0 引言
电网实时运行状况对运维的实时性、及时性、随地性的要求,要求我们如何以最少的资源投入、以高效的开发效率开发出满足客户需求的移动应用成为了我们研究的方向。传统的一区一应用模式,我们需要针对每个客户去开发独立的移动应用,这是一种高人力需求、高维护成本、低开发效率的模式;本文研究的“共应用+个性界面”开发架构模式,提取出业务需求中共用的共性沉淀到底层的移动应用中;独立出多样化的个性点,通过版本发布界面更新方式兑现这种差异化的个性需求。采用这种共性与个性结合的方式,既降低了我们开发资源的投入,也大大提升了我们开发的效率。
1 整体框架
电网调控移动应用采用新型的“共应用+个性界面”组合架构设计模式。以移动应用为平台支撑,通过安全接入机制,访问服务,获取各区差异性的个性界面。采用这种“共应用+个性界面”设计模式的移动应用,在有新客户需求时,无需开发人员过多介入的情况下,用户使用我们提供的移动应用编辑器,就可以快速编辑出符合自己界面风格要求及功能要求应用界面,然后通过界面版本发布平台上传到服务端。移动应用端提供版本下载与界面自动刷新功能,以此实现无感化界面变更效果,达到满足电网调控移动应用共应用不同界面不同功能的技术应用模型。
2 技术难点
2.1 可配置多界面處理技术
鉴于目前用户对移动应用的展示、监控、查询等业务类型需求广泛,传统的单界面集成模式已经逐渐不能满足用户的需求,多界面并存、切换模式成为需求趋势。为此电网调控移动应用技术中,主活动屏幕设计方式使用Fragement碎片区域+Tab选项卡区域相结合的划分模型。Fragement作为多界面的共用容器,其加载的内容随着选项卡的切换而改变,每个选项卡对应一个不同界面入口。
为实现这种各省各区各应用主活动入口界面的差异性需求,设计中引入了主界面的可配置性技术。通过引入Json格式的配置文件来制定多界面的界面数量、显示位置、图标引用、文字标签、响应事件等属性。
2.2 图形文件缓存策略与更新技术
为了缩短这种开图时间,提升用户的使用体验,引入图形文件静默缓存技术并结合数据库文件管理方案来缩短除首次开图外的每一次开图时间。首次开图时,通过Ajax请求,从服务端获得图形文件在前台绘制的同时,为了防止阻塞主线程的页面展示或出现界面卡顿等不良体验效果,引入多线程任务机制来对图形文件进行下载与保存。传统式处理一个任务,创建一个线程,任务处理结束,便销毁当前线程,随着任务的不断涌进,就会出现不断创建任务和销毁任务线程的情况。每一次任务的创建和销毁都需要获取和占用系统处理资源与内存存储资源,影响系统与应用的运行效率。这里引入线程池管理技术,可以很好的规避这种因频繁创建与销毁任务对象而产生的资源浪费问题。线程池是线程的集合,在系统启动时,就会创建一些空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。线程池主要包含线程池管理器、工作线程、任务接口,任务队列这四个基本组成部分。
线程池管理器:用于创建并管理线程池,包含创建线程池、销毁线程池、添加新任务;
工作线程:线程池中线程,在没有任务时处于等待状态,可以循环执行任务;
任务接口:每个人物必须实现的接口,用来供工作线程调用任务的执行,它主要规定了任务的入口、任务执行完成后的收尾工作,任务的执行状态等;
任务队列:用于存放没有处理的任务,提供一中缓冲机制。
2.3 界面热更新与一键恢复技术
为此新技术中弃用Hanler机制,引入了publish/subscribe消息总线机制,简化应用程序内各组件间、组件与后台线程间的通信,有效分离了事件发送方和接受方,让功能实现变得简洁而明了。这种publish/subscribe消息总线有三个主要构成元素:事件,事件订阅者,事件发布者,它们相互独立,避免复杂和容易出错的依赖性和生命周期问题。其框架实现模型主要包含:自定义事件,注册事件,解除事件,发送事件,处理事件。
自定义事件:主要用来定义消息传输的类型。
注册事件:在需要的活动窗口或碎片中,订阅事件时,首先要进行事件注册,一般在活动或碎片的启动周期中进行事件注册。
解除事件:取消事件的订阅,一般与注册事件成对出现。解除时机一般在活动或碎片销毁阶段进行事件接触。
发送事件:可以在任何需要的主线程或其他线程中进行事件的发送。
处理事件:对接收到订阅事件进行处理。这也是整个消息总线的核心。
电网调控移动应用界面热更新技术,在主活动窗口启动时注册事件,在版本管理界面中发送事件,主活动窗口中的事件订阅者收到该事件后,启动界面更新操作。在退出该活动窗口时,会解除该事件的订阅。
传统移动应用在界面版本更新后,如果出现问题,只能将整个页面版本发布更新流程重新来过一遍。为此引入了默认内置版本一键恢复技术就显得尤为重要。一键恢复技术,在更新的新界面不满足用户需求时,通过一键恢复技术,让移动应用直接读取、解析、封装内置配置文件,加载内置界面文件,实现界面版本一键恢复效果。
3 应用反馈与测试结果
通过多个现场的实际使用与反馈得出,使用共应用+个性界面的可配置模型后,在面对不同地调的不同需求时,不仅大大降低了开发者的人力资源投入,提升了产品的开发效率,也让使用者有了更多的自主性和良好的可控性。
通过多轮次的自测数据比对及江苏省软件产品验收中心的验收测试,对图形文件采用线程池策略进行缓存后,在打开一幅画面时,只在第一次相对耗时,当再次打开这幅画面时,将直接从本地缓存中获取动态数据、着色信息及其他相关信息进行画布的图形绘制与展示,显示时长将明显缩短,极大地提升了用户的使用体验。
4 结语
本文提出的电网调控移动应用发布管理技术研究,通过采用“共应用+个性界面”的设计模式,在无需开发人员过多介入情况下,即可实现客户自主化编辑页面并更新的效果;通过对图形文件的缓存、对操作时的可视区域进行刷新等机制,提升图形画面打开的时间及操作时的响应速度。
参考文献
[1]XU Hongqiang,YAO Jianguo,NAN Guilin, et al.New Features of Application Function for Future Dispatching and Control Systems[J].Automation of Electric Power Systems,2018,42(1):1-7.
[2]李伟,辛耀中,沈国辉,等.基于CIM/G的电网图形维护与共享方案[J].电力系统自动化, 2015, 39(1): 59-63.
国电南瑞科技股份有限公司 江苏省 南京市 211106
关键词:移动应用 发布管理 电网信息
0 引言
电网实时运行状况对运维的实时性、及时性、随地性的要求,要求我们如何以最少的资源投入、以高效的开发效率开发出满足客户需求的移动应用成为了我们研究的方向。传统的一区一应用模式,我们需要针对每个客户去开发独立的移动应用,这是一种高人力需求、高维护成本、低开发效率的模式;本文研究的“共应用+个性界面”开发架构模式,提取出业务需求中共用的共性沉淀到底层的移动应用中;独立出多样化的个性点,通过版本发布界面更新方式兑现这种差异化的个性需求。采用这种共性与个性结合的方式,既降低了我们开发资源的投入,也大大提升了我们开发的效率。
1 整体框架
电网调控移动应用采用新型的“共应用+个性界面”组合架构设计模式。以移动应用为平台支撑,通过安全接入机制,访问服务,获取各区差异性的个性界面。采用这种“共应用+个性界面”设计模式的移动应用,在有新客户需求时,无需开发人员过多介入的情况下,用户使用我们提供的移动应用编辑器,就可以快速编辑出符合自己界面风格要求及功能要求应用界面,然后通过界面版本发布平台上传到服务端。移动应用端提供版本下载与界面自动刷新功能,以此实现无感化界面变更效果,达到满足电网调控移动应用共应用不同界面不同功能的技术应用模型。
2 技术难点
2.1 可配置多界面處理技术
鉴于目前用户对移动应用的展示、监控、查询等业务类型需求广泛,传统的单界面集成模式已经逐渐不能满足用户的需求,多界面并存、切换模式成为需求趋势。为此电网调控移动应用技术中,主活动屏幕设计方式使用Fragement碎片区域+Tab选项卡区域相结合的划分模型。Fragement作为多界面的共用容器,其加载的内容随着选项卡的切换而改变,每个选项卡对应一个不同界面入口。
为实现这种各省各区各应用主活动入口界面的差异性需求,设计中引入了主界面的可配置性技术。通过引入Json格式的配置文件来制定多界面的界面数量、显示位置、图标引用、文字标签、响应事件等属性。
2.2 图形文件缓存策略与更新技术
为了缩短这种开图时间,提升用户的使用体验,引入图形文件静默缓存技术并结合数据库文件管理方案来缩短除首次开图外的每一次开图时间。首次开图时,通过Ajax请求,从服务端获得图形文件在前台绘制的同时,为了防止阻塞主线程的页面展示或出现界面卡顿等不良体验效果,引入多线程任务机制来对图形文件进行下载与保存。传统式处理一个任务,创建一个线程,任务处理结束,便销毁当前线程,随着任务的不断涌进,就会出现不断创建任务和销毁任务线程的情况。每一次任务的创建和销毁都需要获取和占用系统处理资源与内存存储资源,影响系统与应用的运行效率。这里引入线程池管理技术,可以很好的规避这种因频繁创建与销毁任务对象而产生的资源浪费问题。线程池是线程的集合,在系统启动时,就会创建一些空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。线程池主要包含线程池管理器、工作线程、任务接口,任务队列这四个基本组成部分。
线程池管理器:用于创建并管理线程池,包含创建线程池、销毁线程池、添加新任务;
工作线程:线程池中线程,在没有任务时处于等待状态,可以循环执行任务;
任务接口:每个人物必须实现的接口,用来供工作线程调用任务的执行,它主要规定了任务的入口、任务执行完成后的收尾工作,任务的执行状态等;
任务队列:用于存放没有处理的任务,提供一中缓冲机制。
2.3 界面热更新与一键恢复技术
为此新技术中弃用Hanler机制,引入了publish/subscribe消息总线机制,简化应用程序内各组件间、组件与后台线程间的通信,有效分离了事件发送方和接受方,让功能实现变得简洁而明了。这种publish/subscribe消息总线有三个主要构成元素:事件,事件订阅者,事件发布者,它们相互独立,避免复杂和容易出错的依赖性和生命周期问题。其框架实现模型主要包含:自定义事件,注册事件,解除事件,发送事件,处理事件。
自定义事件:主要用来定义消息传输的类型。
注册事件:在需要的活动窗口或碎片中,订阅事件时,首先要进行事件注册,一般在活动或碎片的启动周期中进行事件注册。
解除事件:取消事件的订阅,一般与注册事件成对出现。解除时机一般在活动或碎片销毁阶段进行事件接触。
发送事件:可以在任何需要的主线程或其他线程中进行事件的发送。
处理事件:对接收到订阅事件进行处理。这也是整个消息总线的核心。
电网调控移动应用界面热更新技术,在主活动窗口启动时注册事件,在版本管理界面中发送事件,主活动窗口中的事件订阅者收到该事件后,启动界面更新操作。在退出该活动窗口时,会解除该事件的订阅。
传统移动应用在界面版本更新后,如果出现问题,只能将整个页面版本发布更新流程重新来过一遍。为此引入了默认内置版本一键恢复技术就显得尤为重要。一键恢复技术,在更新的新界面不满足用户需求时,通过一键恢复技术,让移动应用直接读取、解析、封装内置配置文件,加载内置界面文件,实现界面版本一键恢复效果。
3 应用反馈与测试结果
通过多个现场的实际使用与反馈得出,使用共应用+个性界面的可配置模型后,在面对不同地调的不同需求时,不仅大大降低了开发者的人力资源投入,提升了产品的开发效率,也让使用者有了更多的自主性和良好的可控性。
通过多轮次的自测数据比对及江苏省软件产品验收中心的验收测试,对图形文件采用线程池策略进行缓存后,在打开一幅画面时,只在第一次相对耗时,当再次打开这幅画面时,将直接从本地缓存中获取动态数据、着色信息及其他相关信息进行画布的图形绘制与展示,显示时长将明显缩短,极大地提升了用户的使用体验。
4 结语
本文提出的电网调控移动应用发布管理技术研究,通过采用“共应用+个性界面”的设计模式,在无需开发人员过多介入情况下,即可实现客户自主化编辑页面并更新的效果;通过对图形文件的缓存、对操作时的可视区域进行刷新等机制,提升图形画面打开的时间及操作时的响应速度。
参考文献
[1]XU Hongqiang,YAO Jianguo,NAN Guilin, et al.New Features of Application Function for Future Dispatching and Control Systems[J].Automation of Electric Power Systems,2018,42(1):1-7.
[2]李伟,辛耀中,沈国辉,等.基于CIM/G的电网图形维护与共享方案[J].电力系统自动化, 2015, 39(1): 59-63.
国电南瑞科技股份有限公司 江苏省 南京市 211106