一种WEB端调用本地服务的方法及系统与流程

文档序号:14635445发布日期:2018-06-08 19:39阅读:1447来源:国知局
一种WEB端调用本地服务的方法及系统与流程

本发明涉及数据处理领域,尤其涉及一种WEB端调用本地服务的方法及系统。



背景技术:

在B/S架构的系统中,WEB浏览器通常需要利用本地计算机的资源,例如启动WORD等应用软件,获取网卡Mac地址等。但由于系统权限问题,仅能控制与使用部分本地资源。

为了解决上述问题,申请号为201310011380.4的专利文献提供一种在WEB页面上实现本地操作的方法和装置,所述方法应用于一电子设备中,该电子设备包括一显示单元且具有HTML运行环境,所述方法包括:在HTML运行环境中通过地址信息加载WEB页面;在加载页面过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求;根据所述操作请求,以第一资源响应该操作请求;在显示单元上显示第一资源响应所述操作请求的响应结果。

但是,上述专利文献所提供的方法需在加载WEB页面的过程中获取对本地资源进行操作的指令,因此,需针对特定浏览器修改其自带的JavaScript引擎,而各浏览器的javascript引擎不同,例如,Google Chrome是V8引擎,基于C++,Firefox是TraceMonkey引擎。因此,上述专利文献提供的方法需要针对不同的JavaScript引擎做针对性的开发,并且针对JavaScript引擎未开源的浏览器,上述专利文献提供的方法无法实现本地资源操作。



技术实现要素:

本发明所要解决的技术问题是:本发明提供一种WEB端调用本地服务的方法及系统,适用于多种浏览器,兼容性较高。

为了解决上述技术问题,本发明采用的技术方案为:

本发明提供一种WEB端调用本地服务的方法,包括:

WEB端加载WEB页面;

当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息;

服务端获取与所述指令消息对应的接口;

服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

本发明还提供一种WEB端调用本地服务的系统,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:

WEB端加载WEB页面;

当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息;

服务端获取与所述指令消息对应的接口;

服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

本发明的有益效果在于:本发明在WEB端加载WEB页面后,再由WEB端生成与调用本地服务(即运行于电子设备提供http服务的应用)的请求对应的指令消息,接收指令消息并触发一本地服务执行与所述指令消息对应的指令。由于,本地服务独立运行于本地电子设备中,对外提供http的服务,Web端往本地服务发送http服务,加上各种指令参数,本地http服务接收来自Web端的请求指令,开始处理及调度本地计算机资源,因此,本发明提供的WEB端调用本地服务的方法不依赖于浏览器类型,能够兼容多种浏览器。

附图说明

图1为本发明提供的一种WEB端调用本地服务的方法的具体实施方式的流程框图;

图2为本发明提供的一种WEB端调用本地服务的系统的具体实施方式的结构框图;

标号说明:

1、处理器;2、存储器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1以及图2,

如图1所示,本发明提供一种WEB端调用本地服务的方法,包括:

WEB端加载WEB页面;

当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息;

服务端获取与所述指令消息对应的接口;

服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

进一步地,还包括:

服务端获取所述一本地服务执行所述指令的结果,得到执行结果;

服务端发送所述执行结果至WEB端。

由上述描述可知,本发明由服务端作为WEB端和本地服务的桥梁,由服务端解析指令消息,转换执行结果为WEB端可解析的数据格式,与WEB端和本地服务通信。

进一步地,还包括:

若预设时间段内WEB端未接收到所述执行结果,则WEB端显示调用本地服务失败的提示信息。

由上述描述可知,及时地给予反馈信息,有利于提高用户体验,避免用户长时间的无效等待。

进一步地,WEB端生成与所述请求对应的指令消息,具体为:

获取WEB端与服务端之间的通信协议;

获取与所述请求对应的指令名和参数;

获取服务端的IP地址和端口号;

根据所述通信协议、所述指令名、所述参数、所述IP地址和所述端口号生成指令消息。

进一步地,还包括:

服务端解析所述指令消息,得到所述指令名;

若服务端中不存在与所述指令名对应的接口,则发送调用本地服务失败的提示信息至WEB端。

如图2所示,本发明还提供一种WEB端调用本地服务的系统,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:

WEB端加载WEB页面;

当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息;

服务端获取与所述指令消息对应的接口;

服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

进一步地,还包括:

服务端获取所述一本地服务执行所述指令的结果,得到执行结果;

服务端发送所述执行结果至WEB端。

进一步地,还包括:

若预设时间段内WEB端未接收到所述执行结果,则WEB端显示调用本地服务失败的提示信息。

进一步地,WEB端生成与所述请求对应的指令消息,具体为:

获取WEB端与服务端之间的通信协议;

获取与所述请求对应的指令名和参数;

获取服务端的IP地址和端口号;

根据所述通信协议、所述指令名、所述参数、所述IP地址和所述端口号生成指令消息。

进一步地,还包括:

服务端解析所述指令消息,得到所述指令名;

若服务端中不存在与所述指令名对应的接口,则发送调用本地服务失败的提示信息至WEB端。

本发明的实施例一为:

本实施例提供一种WEB端调用本地服务的方法,包括:

S1、WEB端加载WEB页面。

S2、当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息。具体为:

获取WEB端与服务端之间的通信协议;

获取与所述请求对应的指令名和参数;

获取服务端的IP地址和端口号;

根据所述通信协议、所述指令名、所述参数、所述IP地址和所述端口号生成指令消息。

可选地,指令构造和指令发送由JavaScript编写。

其中,预设WEB端与服务端之间指令和参数的命名规范,使得服务端可解析WEB端发送的指令消息。

例如,WEB端需获取本地文件MD5,则WEB端生成指令消息http://127.0.0.1:2474/FileMD5?LocalFile=C:\RJwork\oawork.rar。其中,http为WEB端与服务端之间的通信协议;127.0.0.1为本地计算机的IP地址;2474为服务端与WEB端通信的端口号;FileMD5为指令名;LocalFile=C:\RJwork\oawork.rar为MD5文件在本地计算机的地址。

S3、服务端解析所述指令消息,得到所述指令名;

若服务端中不存在与所述指令名对应的接口,则发送调用本地服务失败的提示信息至WEB端;否则,服务端获取与所述指令消息对应的接口。

其中,服务端随系统后台自动启动,并监听指定窗口2474的数据包请求,并根据预设的命名规范解析数据包请求,得到指令名和参数,并调用与解析得到的指令名和参数对应的接口以触发一本地服务执行指令。

S4、服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

S5、服务端获取所述一本地服务执行所述指令的结果,得到执行结果;服务端发送所述执行结果至WEB端。

S6、若预设时间段内WEB端未接收到所述执行结果,则WEB端显示调用本地服务失败的提示信息。

由上述描述可知,本实施例提供的WEB端调用本地服务的方法可兼容多种浏览器;与常用的方法比较,无需针对各浏览器的javascript引擎开发相应接口,无需研究各浏览器javascript引擎的源码,只需要在操作系统中,独立开发服务端即可,从而提高开发效率;修改后的javascript引擎,需要重新部署安装到各种浏览器当中,用户使用复杂度增加,部分浏览器,如IE,开发出来的插件,需要设置浏览器的ActiveX的IE的安全性,信任站点等配置,如果不配置,则会频繁弹出提示框,提示用户,带来界面不友好,本方法降低了开发的复杂度,用户使用复杂度,仅需要开发及安装服务端即可,无需过多的配置;降低了与用户间的交互次数,降低用户操作复杂度,提升了用户体验。

本发明的实施例二为:

本实施例提供一种WEB端调用本地服务的系统,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:

S1、WEB端加载WEB页面。

S2、当WEB端接收到所述WEB页面发送的调用本地服务的请求时,WEB端生成与所述请求对应的指令消息。具体为:

获取WEB端与服务端之间的通信协议;

获取与所述请求对应的指令名和参数;

获取服务端的IP地址和端口号;

根据所述通信协议、所述指令名、所述参数、所述IP地址和所述端口号生成指令消息。

S3、服务端解析所述指令消息,得到所述指令名;

若服务端中不存在与所述指令名对应的接口,则发送调用本地服务失败的提示信息至WEB端;否则,服务端获取与所述指令消息对应的接口。

S4、服务端通过所述接口控制一本地服务执行与所述指令消息对应的指令。

S5、服务端获取所述一本地服务执行所述指令的结果,得到执行结果;服务端发送所述执行结果至WEB端。

S6、若预设时间段内WEB端未接收到所述执行结果,则WEB端显示调用本地服务失败的提示信息。

综上所述,本发明提供的一种WEB端调用本地服务的方法及系统,在WEB端加载WEB页面后,再由WEB端生成与调用本地服务的请求对应的指令消息,服务端接收指令消息并触发一本地服务执行与所述指令消息对应的指令。由于,本发明仅开发一种可运行与本地电子设备的应用程序,运行在本地电子设备的后台,对外提供http服务,用来接收来自Web端的http指令请求,并未针对不同浏览器的不同JavaScript引擎做修改,就算JavaScript引擎不开源,也可以实现调用本地服务,因此,本发明提供的WEB端调用本地服务的方法不依赖于浏览器类型,能够兼容多种浏览器。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1