- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 环境监测的发展现状及发展方向探讨.docx
- 从源头保证乳品安全-原奶质量管理.docx
- 浅析预见性护理对急性心肌梗死患者的临床效果.docx
- 在高中生物教学中插入例析概念图的教学效果研究.docx
- 内河通航水域安全监管手段研究.docx
- 关于摩擦力做功特点分析.docx
- 公路桥梁施工中预应力技术研究王永红.docx
- 企业财务审计与审计业务创新融合分析.docx
- 企业文化对党建政工的重要性.docx
- 数学史应用于高中数学的教学研究.docx
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
文档评论(0)