一种基于WebSocket的Web浏览器插件及数据交互方法与流程

    专利2022-07-08  79


    本发明涉及一种web浏览器插件,尤其涉及一种基于websocket的web浏览器插件及数据交互方法。



    背景技术:

    很多情况下web浏览器中的网页需要和一些后台进程/本地设备进行数据交互,如网页需要使用u盾,登录特定网站需要使用usbkey进行身份认证等,其数据交互都是通过浏览器插件予以实现,传统方式基于activex、npapi或ppapi框架/技术实现,然而,传统的插件框架/技术存在稳定性差、浏览器不兼容及技术落后等问题。

    目前较新的浏览器插件技术方案是基于extension加nativemessaging技术开发,但存在发布受制于google应用商店,各家实现有差异,通用性差等问题。

    同时,目前的浏览器插件运行在浏览器进程空间,插件异常时,会导致网页崩溃、插件服务崩溃。而websocket是目前流行的web通信技术,具有良好的浏览器兼容性,在此基础上,迫切需要一种浏览器兼容性良好,且安全稳定的浏览器插件技术方案。



    技术实现要素:

    针对现有技术存在的问题,本发明提出了一种基于websocket的web浏览器插件及数据交互方法,具有良好的浏览器兼容性及插件服务稳定性。

    本发明提出的web浏览器插件,其技术方案为:

    一种基于websocket的web浏览器插件,包括安装于web浏览器的浏览器插件前端和安装于计算机终端的浏览器插件后端,所述浏览器插件前端包括用于转发服务请求及响应的websocket客户端;所述浏览器插件后端包括:

    websocket服务端,用于解析服务请求、请求服务中间件接口服务及返回服务响应;

    服务中间件,用于响应内部服务请求,调用底层功能库完成服务响应;

    底层功能库,用于实现具体的服务功能;

    服务监控程序,用于监控并重启意外退出的websocket服务端。

    进一步的,所述websocket客户端以js脚本的形式提供模块集成,以代码模块嵌入的方式集成至web浏览器网页。

    进一步的,所述底层功能库至少为两个,所述底层功能库以在浏览器插件后端配置文件中增加对应配置项的方式松耦合至服务中间件,在浏览器插件后端启动时加载。

    本发明还提出一种基于websocket的web浏览器插件的数据交互方法,包括以下步骤:

    1)websocket客户端集成至web浏览器网页;

    2)计算机终端安装浏览器插件后端;

    3)服务监控程序自启动,判断websocket服务端程序是否在线,如不在线,启动websocket服务端程序;

    4)web浏览器的网页调用websocket客户端接口发起服务请求;

    5)websocket客户端转发服务请求至websocket服务端;

    6)websocket服务端解析具体的服务请求,调用相应服务中间件接口;

    7)服务中间件调用相应的底层功能库接口完成服务响应,服务响应返回至服务中间件;

    8)服务中间件转发服务响应至websocket服务端;

    9)websocket服务端转发服务响应至websocket客户端;

    10)websocket客户端接口返回服务响应至web网页。

    与现有技术相比,本发明的优点在于:

    1.本发明基于广泛流行的websocket技术,较长时间内无技术过时淘汰的隐患,且不依赖特定的浏览器插件框架,无传统浏览器插件框架/技术兼容性差的缺陷;

    2.本发明的web浏览器插件前后端分离,实现了运行时浏览器插件前后端进程隔离,浏览器及插件服务的稳定性得以提高,浏览器插件后端崩溃并不影响浏览器运行,同样,浏览器崩溃也不影响浏览器插件后端运行;

    3.本发明的web浏览器插件的后端采用分层治理的服务框架,依耦合集成的底层功能库的功能不同,可适用于多种应用场景。

    附图说明

    图1为本发明实施例的web浏览器插件结构示意图。

    具体实施方式

    以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

    如图1所示,本发明提供一种基于websocket的web浏览器插件,实现浏览器和后台进程/本地设备间的数据交互,其由websocket客户端、websocket服务端、服务监控程序、服务中间件以及底层功能库组成。其中,websocket客户端以js脚本的形式提供模块集成,以代码模块嵌入的方式集成至web浏览器网页,为浏览器插件前端,负责服务请求及响应的转发,websocket服务端、服务监控程序、中间件及底层功能库运行在后台,组成浏览器插件后端,负责服务请求解析、转发及服务响应。

    本实施例提供的上述基于websocket的web浏览器插件的数据交互方法,包括以下步骤:

    1)websocket客户端集成至web浏览器网页;

    2)计算机终端安装浏览器插件后端;

    3)服务监控程序自启动,判断websocket服务端程序是否在线,如不在线,启动websocket服务端程序;

    4)web浏览器的网页调用websocket客户端接口发起服务请求;

    5)websocket客户端转发服务请求至websocket服务端;

    6)websocket服务端解析具体的服务请求,调用相应服务中间件接口;

    7)服务中间件调用相应的底层功能库接口完成服务响应,服务响应返回至服务中间件;

    8)服务中间件转发服务响应至websocket服务端;

    9)websocket服务端转发服务响应至websocket客户端;

    10)websocket客户端接口返回服务响应至web网页。

    本实施例提供的web浏览器插件基于目前流行的websocket技术实现,不依赖特定浏览器插件框架,具有良好的浏览器兼容性。

    本实施例提供的web浏览器插件采用前后端分离的结构,浏览器插件后端和浏览器插件前端运行在不同的进程,基于websocket实现数据交互,浏览器插件后端崩溃并不影响浏览器运行,同样,浏览器崩溃也不影响浏览器插件后端运行,因而,可提升浏览器及插件服务的稳定性。

    本实施例提供的web浏览器插件的浏览器插件后端采用分层治理的服务框架,依耦合集成的底层功能库的功能不同,可适用于多种应用场景:其中,websocket服务端仅负责服务请求解析、中间件接口服务请求及服务响应返回,服务中间件负责响应内部服务请求,调用底层功能库完成服务响应,多个底层功能库以在浏览器插件后端配置文件中增加对应的配置项的方式松耦合至服务中间件,在浏览器插件后端启动时加载,实现具体的服务功能,服务监控程序负责监控websocket服务端状态,对意外退出的服务端程序予以重启,保证浏览器插件后端服务的稳定。

    上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。


    技术特征:

    1.一种基于websocket的web浏览器插件,其特征在于,包括安装于web浏览器的浏览器插件前端和安装于计算机终端的浏览器插件后端,所述浏览器插件前端包括用于转发服务请求及响应的websocket客户端;所述浏览器插件后端包括:

    websocket服务端,用于解析服务请求、请求服务中间件接口服务及返回服务响应;

    服务中间件,用于响应内部服务请求,调用底层功能库完成服务响应;

    底层功能库,用于实现具体的服务功能;

    服务监控程序,用于重启意外退出的websocket服务端。

    2.根据权利要求1所述的基于websocket的web浏览器插件,其特征在于,所述websocket客户端以js脚本的形式提供模块集成,以代码模块嵌入的方式集成至web浏览器网页。

    3.根据权利要求1所述的基于websocket的web浏览器插件,其特征在于,所述底层功能库至少为两个,所述底层功能库以在浏览器插件后端配置文件中增加对应配置项的方式松耦合至服务中间件,在浏览器插件后端启动时加载。

    4.一种根据权利要求1~3任一所述的基于websocket的web浏览器插件的数据交互方法,其特征在于,包括以下步骤:

    1)websocket客户端集成至web浏览器网页;

    2)计算机终端安装浏览器插件后端;

    3)服务监控程序自启动,判断websocket服务端程序是否在线,如不在线,启动websocket服务端程序;

    4)web浏览器的网页调用websocket客户端接口发起服务请求;

    5)websocket客户端转发服务请求至websocket服务端;

    6)websocket服务端解析具体的服务请求,调用相应服务中间件接口;

    7)服务中间件调用相应的底层功能库接口完成服务响应,服务响应返回至服务中间件;

    8)服务中间件转发服务响应至websocket服务端;

    9)websocket服务端转发服务响应至websocket客户端;

    10)websocket客户端接口返回服务响应至web网页。

    技术总结
    本发明公开了一种基于WebSocket的Web浏览器插件及数据交互方法。Web浏览器插件包括安装于Web浏览器的浏览器插件前端和安装于计算机终端的浏览器插件后端,Web浏览器插件采用前后端分离的结构,浏览器插件后端和浏览器插件前端运行在不同的进程,可提升浏览器及插件服务的稳定性,浏览器插件后端采用分层治理的服务框架,依耦合集成的底层功能库的功能不同,可适用于多种应用场景;Web浏览器插件前后端数据交互基于WebSocket技术实现,不依赖特定浏览器插件框架,具有良好的浏览器兼容性。

    技术研发人员:刘振宇;彭勇;申锟铠;刘文清;杨涛
    受保护的技术使用者:湖南麒麟信安科技股份有限公司
    技术研发日:2020.11.20
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23175.html

    最新回复(0)