WEB程序的拓展方法和装置制造方法及图纸

技术编号:18237587 阅读:23 留言:0更新日期:2018-06-17 00:44
本发明专利技术涉及WEB程序的拓展方法和装置,其中,WEB程序的拓展方法包括:连接至Websocket服务器,设置一个回调命令池;根据调用请求,构造请求消息体,将请求消息体发送至Websocket服务器;其中,Websocket服务器接收请求消息体进行相应处理,生成并发出返回消息体,请求消息体和返回消息体均包括消息标识和命令参数;接收返回消息体,解析出返回值,根据返回值从回调命令池获取回调方法并执行;通过请求消息体与返回消息体之间的实时数据交换得到计算机资源的执行结果,其中,执行结果为计算机执行命令而得到的结果。通过本发明专利技术的技术方案能够拓展WEB程序访问计算机资源的能力,增加WEB应用的应用场景并增强其适应能力。 1

The expansion method and device of WEB program

The invention relates to the expansion method and device of the WEB program, in which the expansion methods of the WEB program include: connecting to the Websocket server, setting a callback command pool, constructing the request message body and sending the request message body to the Websocket server according to the call request; in which the Websocket server receives the request message body into the body. It generates and sends back the message body, the request message body and the return message body include message identity and command parameters; receive and return the message body, parse the return value, get the callback method and execute the return value from the callback command pool according to the return value, and exchange the real time data exchange between the request message body and the return message body. The execution result of computer resources is obtained, and the execution result is the result of computer execution command. The technical proposal of the invention can expand the ability of WEB programs to access computer resources, increase the application scenarios of WEB applications and enhance their adaptability. One

【技术实现步骤摘要】
WEB程序的拓展方法和装置
本专利技术涉及软件开发
,具体而言,涉及一种WEB程序的拓展方法和一种WEB程序的拓展装置。
技术介绍
随着WEB(互联网网页)技术的发展,越来越多的应用软件在转变为WEB应用,但是由于受WEB标准的限制,WEB应用只能使用有限的计算机资源,使WEB应用的能力收到限制,同时也限制了WEB应用的使用场景。现有技术中,开发人员使用自己制作的网页应用浏览装置来提供额外的程序接口,但是这样的装置需要比较专业的技术人员话费较长时间开发,对于一些开发快速的WEB应用来说,此方法需要的人力成本过高,效率也比较低。因此,如何提供一种简单快捷的方法拓展WEB应用访问计算机资源的能力,增加WEB应用的应用场景并增强其适应能力成为亟待解决的技术问题。
技术实现思路
本专利技术旨在至少解决上述现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一个目的在于提出了一种WEB程序的拓展方法。本专利技术的另一个目的在于对应提供了一种WEB程序的拓展装置。本专利技术的第一方面提出了一种WEB程序的拓展方法,包括:连接至Websocket服务器,设置一个回调命令池;根据调用请求,构造请求消息体,将请求消息体发送至Websocket服务器;其中,Websocket服务器接收请求消息体进行相应处理,生成并发出返回消息体,请求消息体和返回消息体均包括消息标识和命令参数;接收返回消息体,解析出返回值,根据返回值从回调命令池获取回调方法(在异步通讯中收到返回值后调用的方法)并执行;通过请求消息体与返回消息体之间的实时数据交换得到计算机资源的执行结果,其中,执行结果为计算机执行命令而得到的结果。根据本专利技术第一方面的WEB程序的拓展方法,通过Websocket服务器与浏览器(WEB前端程序)之间的全双工通信保证调用命令和执行结果的传递,拓展WEB程序调用计算机资源的能力。其中,Websocket服务器能够是安装到本地的服务框架也可以是设置在云端Websocket服务器,来配合浏览器执行WEB程序,达到调用计算机资源的目的。具体地,WEB页面在与Websocket服务器建立连接之前需要协商好连接端口,并设置备选端口选取策略和身份验证机制,防止在端口被占用时无法连接。WEB前端程序与Websocket服务器之间建立握手协议,并建立命令回调池。WEB程序发送命令到服务器的具体过程为:开发一个唯一字符串生成装置,构造JSON(Javascript对象表示法)格式的字符串作为消息体,使用生成的唯一字符串作为消息标识,将指令及参数放入消息体,然后将消息发送出去,将用户给的成功及失败回调函数,使用之前生成的唯一字符串作为标识,存入回调命令池。在Websocket服务器端根据WEB程序端的请求发布面向计算机资源的命令后,计算机相应软件或硬件会执行Websocket服务器发出的命令,执行结果会被WEB程序端从回调池中获取的回调方法反映,WEB程序接受到消息之后,从消息体中取出消息标识字符串,从回调命令池中取出回调方法,根据是否成功标识来调用成功回调方法或失败回调方法,将回传的数据作为参数传入方法,在WEB程序端执行回调方法后完成了一次交互。随后通过请求消息体与返回消息体之间的多次数据交换得到对计算机资源的调用结果。其间使用轻量的数据格式(json)进行通讯,传输数据量很小,数据交换过程也通过Websocket服务实现了全双工,拓展了WEB程序对计算机资源的调用能力,省去了应用程序接口的开发过程,提高WEB程序的开发速度,节省人力成本。其中,请求消息体格式如表1所示:表1返回消息体格式如表2所示:表2回传消息体属性名称消息体属性含义MessageId消息标识,用于WEB页面匹配相应的回调方法Result布尔值,用于标识执行是否成功Data数据,用于存储命令处理器执行的返回值在上述技术方案中,优选地,在与Websocket服务器建立连接,初始化一个回调命令池之前,还包括:根据接收到的网页启动指令,启动WEB页面并加载程序模块;根据接收到的调用请求指令,启动Websocket服务器,设置一个命令处理器池。在该技术方案中,在用户启动网页时加载WEB页面和WEB程序模块,其中,程序模块是是一个或多个按用户需求开发的网页插件(包含一组本地服务可执行的命令体的文件),在用户使用WEB程序调用计算机软件或硬件资源时启动Websocket服务器,并将其处理程序设置为处理器池,之后由处理器池负责调用不同的处理器处理WEB程序的命令。在上述技术方案中,优选地,Websocket服务器接收请求消息体进行相应处理,生成并发出返回消息体,具体包括:根据Websocket服务器解析请求消息体,得到命令名称,根据命令名称从命令处理器池中查找到对应的命令处理器,使用请求消息体中的命令参数初始化命令处理器;根据命令处理器执行命令名称的方法体,得到返回值,并根据返回值构造返回消息体,将返回消息体发出。在该技术方案中,当Websocket服务器接受到消息后,尝试使用约定好的消息体格式解析消息,如果解析失败,说明消息体不符合规范,则不处理;如果解析成功,则根据消息的指令名称从命令处理器池中找出对应的命令处理器,使用消息体中传递的参数初始化命令处理器。命令处理器实例化完成之后,执行命令的方法体,获取到方法体返回值,将返回值放入回传消息体,同时将传递过来的消息标识字符串填入回传消息体,序列化为JSON形式字符串,通过建立的连接将JSON形式的消息体回传回去。使WEB程序端能够通过Websocket服务调用计算机的硬件或软件资源,实现WEB程序的能力拓展。在上述技术方案中,优选地,启动WEB页面并加载程序模块,具体包括:与Websocket服务器上相应的程序模块进行对比,对程序模块进行更新;将更新后的程序模块注册到命令处理器池。在该技术方案中,获取本地命令模块的列表及版本号与服务器上的进行对比,下载缺少的以及有差异的模块,对本地模块进行更新,并依照命令处理器接口匹配模块中所有的处理器注册到本地的处理器池中。在上述技术方案中,优选地,命令处理器池包括:预置命令处理器和按需开发命令处理器。在该技术方案中,命令处理器池包括多个命令处理器,负责解析并执行各种类型的命令,在服务端一般都设有预置命令处理器,但是为了满足用户的多样化需求,拓展服务端的处理能力和范围,按需开发的命令处理器也加入到服务端命令处理池才能够更好地帮助WEB程序实现相应各自目的。本专利技术的第二方面提供了一种WEB程序的拓展装置,包括:连接单元,连接至Websocket服务器,设置一个回调命令池;处理单元,根据调用请求,构造请求消息体,将请求消息体发送至Websocket服务器;其中,Websocket服务器接收请求消息体进行相应处理,生成并发出返回消息体,请求消息体和返回消息体均包括消息标识和命令参数;交互单元,接收返回消息体,解析出返回值,根据返回值从回调命令池获取回调方法并执行;结果单元,通过请求消息体与返回消息体之间的实时数据交换得到计算机资源的执行结果,其中,执行结果为计算机执行指令而得到的结果。根据本专利技术第二方面的WEB程序的拓展装置,通过Websocket服务器与浏览器(WEB前端程序)之间的全双工通信保证调用命令本文档来自技高网...
WEB程序的拓展方法和装置

【技术保护点】
1.一种WEB程序的拓展方法,其特征在于,包括:

【技术特征摘要】
1.一种WEB程序的拓展方法,其特征在于,包括:连接至Websocket服务器,设置一个回调命令池;根据调用请求,构造请求消息体,将所述请求消息体发送至所述Websocket服务器;其中,所述Websocket服务器接收所述请求消息体进行相应处理,生成并发出返回消息体,所述请求消息体和所述返回消息体均包括消息标识和命令参数;接收所述返回消息体,解析出返回值,根据所述返回值从所述回调命令池获取回调方法并执行;通过所述请求消息体与所述返回消息体之间的实时数据交换得到计算机资源的执行结果,其中,所述执行结果为计算机执行命令而得到的结果。2.根据权利要求1所述的拓展方法,其特征在于,在所述与Websocket服务器建立连接,初始化一个回调命令池之前,还包括:根据接收到的网页启动指令,启动WEB页面并加载程序模块;根据接收到的调用请求指令,启动所述Websocket服务器,设置一个命令处理器池。3.根据权利要求2所述的拓展方法,其特征在于,所述Websocket服务器接收所述请求消息体进行相应处理,生成并发出返回消息体,具体包括:根据所述Websocket服务器解析所述请求消息体,得到命令名称,根据所述命令名称从所述命令处理器池中查找到对应的命令处理器,使用所述请求消息体中的命令参数初始化所述命令处理器;根据所述命令处理器执行所述命令名称的方法体,得到所述返回值,并根据所述返回值构造返回消息体,将所述返回消息体发出。4.根据权利要求2所述的拓展方法,其特征在于,所述启动WEB页面并加载程序模块,具体包括:与所述Websocket服务器上相应的程序模块进行对比,对所述程序模块进行更新;将更新后的程序模块注册到所述命令处理器池。5.根据权利要求2至4中任一项所述的拓展方法,其特征在于,所述命令处...

【专利技术属性】
技术研发人员:张笑宁田传武王宝山
申请(专利权)人:北大医疗信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1