一种基于WebAssembly的配网主站Web发布系统.docx

一种基于WebAssembly的配网主站Web发布系统.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

一种基于WebAssembly的配网主站Web发布系统

?

?

陶颍军胡秋玲崔丽艳卓怀忠

摘要:本文基于已有配网主站监控系统提出一种基于WebAssembly的配网主站Web发布系统,通过将配网主站画面文件解与数据IO模块编译为wasm格式的字节码文件供浏览器加载,启动WebWorker数据IO线程来处理实时数据更新,同时通过WebSocket协议实现浏览器端与实时数据客户端的数据交互,主线程接收到更新通知后动态更新Web发布画面。通过测试发现,相比于传统的Web发布方式能够有效提高系统的实时性和人机交互友好性。

关键词:Web发布;WebAssembly;实时性;友好性

:TM76:A

0引言

随着计算机、网络通讯技术的飞速发展与广泛应用,配网主站监控方式由过去的有人值班过渡到无人值守,由过去的单纯调度运行转变为调度运行、生产、精英管理等多种运用,在配网主站监控中增加Web浏览功能变得越来越迫切,而且具有广阔的市场前景。

目前国内基于局域网的配网主站监控系统大都是基于客户机、服务器(C/S)结构设计并由语言开发的,Web发布系统中的画面文件多来自于监控系统中组态模块,而Web发布系统中浏览器端的画面文件处理多采用JavaScript语言,数据交互方式多采用基于jsp平台或者PHP服务器脚本方式进行开发,与配网主站监控系统环境均存在通信接口差异与语言差异,由此导致监控系统已有模块无法复用,数据解析与通信交互效率低下等问题,因此针对配网主站监控系统数据产生快、交互量大、实时性强等特点,研究WebAssembly技术在Web发布系统中的应用方法具有非常重要的意义。

1字节码技术

WebAssembly(简称“WASM”)是一种以安全有效的方式运行可移植程序的新技术,主要针对Web平台。它是一种可以使用非JavaScript编程语言编写代码并且能在浏览器上运行的技术方案。它可以用高级语言编译出字节码放到WebAssembly虚拟机中运行,各浏览器厂商根据WebAssembly字节码标准规范实现虚拟机。WebAssembly格式是一种新的字节码格式,和JavaScript需要解释执行不同的是,WebAssembly字节码和底层机器码很相似,可快速装载运行,因此性能相对于JavaScript解释执行大大提升。相对于JavaScript,WebAssembly有三个优点。(1)体积小。由于浏览器运行时只加载编译成的字节码,一样的逻辑比字符串描述的JavaScript文件体积小很多。(2)加载快。由于文件体积小,再加上无需解释执行,WebAssembly能更快的加载并实例化,减少运行前的等待时间。(3)兼容问题少。WebAssembly是非常底层的字节码规范,制定好以后很少变动,就算发生变化,只需要从高级语言编译成字节码过程做兼容。

2系统设计

按照配电主站系统信息Web发布子系统的功能需求以及运行要求,系统的功能步骤主要分为主站客户端画面编辑、字节码模块构建、画面内容展示与Web发布数据访问,具体的功能技术架构如图1所示。

3具体发布流程

3.1发布画面制作

配网主站系统中画面文件都通过专用组态编辑工具制作完成,画面内容按照自定义xml文件格式存储,具体发布内容如图2所示:

3.2字节码模块构建

配网主站系统中类似主接线图等内容复杂画面发布时候,在Web浏览器加载会存在画面解析加载速度过慢的问题,而通过将配网主站系统中与发布系统相关的画面文件解析与数据IO等核心功能模块进行重新构建并加载WebAssembly模块,从而能够实现浏览器端动态调用文件解析与数据IO模块的目的,能够有效提高解析速度。

利用Emscripten编译器工具将文件解析与数据IO模块编译为wasm格式的字节码文件,详细步骤包括:

(1)文件解析与数据IO模块中增加Emscripten构建工具所提供EMSCRIPTEN_BINDINGS()代码块来导出API接口;(2)使用Emscripten构建工具所提供的emcc编译器将文件解析与数据IO模块编译生成为对应的.wasm文件与.js文件;(3)使用JavaScript胶水代码加载所生成js文件到网页应用中,调用所导出API接口来实现文件解析与数据IO功能。

3.3画面调用

利用HTML5所提供API打开配网主站画面文件,文件内容由模块进行解析后,解析结果存入虚拟文件系统供后续画面渲染时使用,其步骤主要包括:

(1)利用HTML5所提供FileReaderAPI接口读取本地存放配网主站画面文件,生成ArrayBuffer类型对象;(2)将ArrayBuffer对象通过模块API接口参数传入文件解析模块,在模块中转换为Qt中对应QByteArray类型对象;(3)通过Emscripte

文档评论(0)

姚启明 + 关注
实名认证
内容提供者

80后

1亿VIP精品文档

相关文档