基于浏览器扩展插件的信创无感迁移方法、系统及介质技术方案

技术编号:35472104 阅读:25 留言:0更新日期:2022-11-05 16:18
本发明专利技术提供了一种基于浏览器扩展插件的信创无感迁移方法、系统及介质,其中方法包括:浏览器扩展层将浏览器外设接口调用转换成WebSocket通信报文发送前端定制服务层;前端定制服务层对通信报文进行解析,根据解析结果执行对应的接口调用策略;若执行本地API调用策略,则前端定制服务层调用本地API接口并获取执行结果;若执行同步调用策略或者异步调用策略,则调用中间件服务层进行响应;中间服务层通过调用设备SP服务层完成响应,设备SP服务层将执行结果通过中间件服务层返回至前端定制服务层;前端定制服务层将执行结果通过浏览器扩展层传送至浏览器页面。实现上层应用在跨系统迁移时的代码级无感迁移。系统迁移时的代码级无感迁移。系统迁移时的代码级无感迁移。

【技术实现步骤摘要】
基于浏览器扩展插件的信创无感迁移方法、系统及介质


[0001]本专利技术涉及浏览器扩展插件领域,尤其涉及一种基于浏览器扩展插件的信创无感迁移方法、系统及介质。

技术介绍

[0002]智能机具标准架构协议(Protocol for Intelligence terminal Standards Architecture),一种智能终端的标准体系架构,又称PISA协议,是Linux系统下金融驱动服务规范,是目前金融自助信创领域应用最为广泛的外设接入标准。信创领域的Chromium浏览器是一种广泛使用的开源浏览器,其提供了一种扩展插件机制,即Extension,用来增强浏览器功能。通过使用Chromium提供的接口,即API,Extension可以访问网络,修改浏览行为,以及操作网页内容、触发网络通信等。
[0003]对于金融自助业务系统而言,要实现金融自助系统的自助可控,就必须基于自助安全的CPU、主板和操作系统,开发或者迁移信创环境的自助业务系统。如图1所示,各类业务组件最终都需要通过通用型通道JS组件调用外设;JS组件需要通过C#外设服务window.bridge.sendMessage方法来实现具体外设调用;外设服务对下加载定制逻辑处理库;该逻辑处理库根据不同的业务请求情况,分别组合调用第三方及系统API接口,或者组合调用密码键盘、二代证等组合外设中间件接口,从而最终实现外设调用。而在整个Windows框架中定制浏览器采用C#的.Net框架编写,使用Internet Explore作为浏览器核心,采用OCX控件外设中间形式,并采用基于Windows Message消息机制的WOSA

XFS的SP标准。因.Net框架和IE浏览器、OCX控件、WOSA

XFS等一系列组件对Windows系统存在强依赖性,因此整个Windows前端应用系统完全不具备跨系统复用的可能。
[0004]为减少业务前端系统的重复开发和重复测试,减少前端业务开发成本和开发周期,保护对客户体验的统一性,我们必须复用Windows平台上的业务逻辑代码,前端业务的代码需要基本保持不变。为实现这一需求,设计一套跨系统平台的前端业务系统平台,可将前端业务代码原封不动迁移过去的100%完全适配的容器。

技术实现思路

[0005]本专利技术提供了一种基于浏览器扩展插件的信创无感迁移方法、系统及介质,通过浏览器插件即浏览器扩展层、前端定制服务、中间件服务,确保上层应用可以从Windows端零改动迁移到国产Linux系统中,保持代码功能和产品性能的完全一致性,真正实现了代码级无感迁移。
[0006]第一方面,本专利技术提供了一种基于浏览器扩展插件的信创无感迁移方法,包括:
[0007]浏览器扩展层将浏览器外设接口调用转换成WebSocket通信报文发送前端定制服务层;其中,接口类型包括同步外设接口、异步外设接口、本地API接口;
[0008]前端定制服务层对WebSocket通信报文进行解析,根据解析结果执行对应的接口调用策略;所述接口调用策略包括同步调用策略、异步调用策略、本地API调用策略;
[0009]若执行本地API调用策略,则前端定制服务层调用本地API接口并获取执行结果;若执行同步调用策略或者异步调用策略,则调用中间件服务层进行响应;中间服务层通过调用设备SP服务层完成响应,设备SP服务层将执行结果返回至中间件服务层,进而中间服务层将执行结果发送至前端定制服务层;
[0010]前端定制服务层将执行结果返回浏览器扩展层,浏览器扩展层将执行结果传送至浏览器页面。
[0011]进一步地,所述浏览器扩展层将浏览器调用外设接口调用请求转换成WebSocket通信报文发送前端定制服务层,具体包括:
[0012]浏览器业务流程中调用外设接口,并将外设接口转成统一通用型外设调用接口;
[0013]浏览器扩展扩展层重构实现统一通用型外设调用接口,并将接口转换成WebSocket通信报文,并发送给前端定制服务层。
[0014]进一步地,所述前端定制服务层对WebSocket通信报文进行解析,根据解析结果执行对应的接口调用策略,具体包括:
[0015]前端定制服务层中定制WebSocket服务加载逻辑处理库,并且调用逻辑处理库的插件初始化函数,将回调函数指针作为初始化函数的输入参数传入;
[0016]前端定制服务层中定制WebSocket服务将收到的WebSocket通信报文进行解析,转换为对逻辑处理库的任务发送接口的调用;
[0017]逻辑处理库接收调用请求后,通过查询本库内的本地方法Map,若查询到本地方法,则采用本地API调用策略;若未查询到,则将接口调用转换为Http报文调用,执行同步调用策略或者异步调用策略。
[0018]进一步地,本地API调用策略执行过程包括:
[0019]前端定制服务层中的逻辑处理库对第三方SDK或系统接口进行加载调用;
[0020]前端定制服务层的逻辑处理库将SDK或系统接口的调用结果转换为回调函数输入参数,回调到定制WebSocket服务,通过WebSocket通信返回给浏览器扩展层。
[0021]进一步地,同步调用策略执行过程包括:
[0022]中间件服务层根据输入参数中的Devid和FuncName判定,将Http报文转换输入到Devid对应模块的任务队列,并添加全局递增的repid参数;
[0023]Devid对应模块进程从输入任务队列中获取任务,开线程处理,对入参的异步标志进行判定,当其值为0,调用设备SP服务层的同步接口;
[0024]设备SP服务层通过U口或串口完成对设备模块的调用,向中间件服务层返回执行结果和输出参数;
[0025]中间件服务层将设备SP服务层的执行结果和输出参数添加到输出队列,保存前面传入的repid参数;
[0026]中间件服务层从输出队列获取任务,转换为Http所需json报文;
[0027]中间件服务层通过Http服务,将任务执行结果返回给前端定制层中的逻辑处理库。
[0028]进一步地,异步调用策略执行过程包括:
[0029]中间件服务层根据输入参数中的Devid和FuncName判定,将Http报文转换输入到Devid对应模块的任务队列,并添加全局递增的repid参数;
[0030]每个模块进程中循环从输入任务队列中获取任务,开启线程处理,根据入参中的同异步标志参数进行判定,当其值为1,则调用设备SP服务层的异步接口,若调用失败,则设备SP服务层在接口执行过程中产生的过程事件和执行完成的异步完成事件,通过定制Socket通信上传到中间件服务层;否则设备SP服务层通过U口或串口完成对设备模块的调用;
[0031]中间件服务层将事件名称和参数添加到输出队列,并且固定repid为

1;
[0032]中间件服务层从输出队列获取Job,判定repi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于浏览器扩展插件的信创无感迁移方法,其特征在于,包括:浏览器扩展层将浏览器外设接口调用转换成WebSocket通信报文发送前端定制服务层;其中,接口类型包括同步外设接口、异步外设接口、本地API接口;前端定制服务层对WebSocket通信报文进行解析,根据解析结果执行对应的接口调用策略;所述接口调用策略包括同步调用策略、异步调用策略、本地API调用策略;若执行本地API调用策略,则前端定制服务层调用本地API接口并获取执行结果;若执行同步调用策略或者异步调用策略,则调用中间件服务层进行响应;中间服务层通过调用设备SP服务层完成响应,设备SP服务层将执行结果返回至中间件服务层,进而中间服务层将执行结果发送至前端定制服务层;前端定制服务层将执行结果返回浏览器扩展扩展层,浏览器扩展层将执行结果传送至浏览器页面。2.根据权利要求1所述的一种基于浏览器扩展插件的信创无感迁移方法,其特征在于,所述浏览器扩展层将浏览器外设接口调用请求转换成WebSocket通信报文发送前端定制服务层,具体包括:浏览器业务流程中调用外设接口,并将外设接口调用转成统一通用型外设调用接口;浏览器扩展层重构实现统一通用型外设调用接口,并将其转换成WebSocket通信报文,并发送给前端定制服务层。3.根据权利要求1所述的一种基于浏览器扩展插件的信创无感迁移方法,其特征在于,所述前端定制服务层对WebSocket通信报文进行解析,根据解析结果执行对应的接口调用策略,具体包括:前端定制服务层中定制WebSocket服务加载逻辑处理库,并且调用逻辑处理库的插件初始化函数,将回调函数指针作为初始化函数的输入参数传入;前端定制服务层中定制WebSocket服务将收到的WebSocket通信报文进行解析,转换为对逻辑处理库的任务发送接口的调用;逻辑处理库接收调用请求后,通过查询本库内的本地方法Map,若查询到本地方法,则采用本地API调用策略;若未查询到,则将接口调用转换为Http报文调用,执行同步调用策略或者异步调用策略。4.根据权利要求3所述的一种基于浏览器扩展插件的信创无感迁移方法,其特征在于,本地API调用策略执行过程包括:前端定制服务层中的逻辑处理库对第三方SDK或系统接口进行加载调用;前端定制服务层的逻辑处理库将SDK或系统接口的调用结果转换为回调函数输入参数,回调到定制WebSocket服务,通过WebSocket通信返回给浏览器扩展层。5.根据权利要求3所述的一种基于浏览器扩展插件的信创无感迁移方法,其特征在于,同步调用策略执行过程包括:中间件服务层根据输入参数中的Devid和FuncName判定,将Http报文转换输入到Devid对应模块的任务队列,并添加全局递增的repid参数;Devid对应模块进程从输入任务队列中获取任务,开线程处理,对入参的异步标志进行判定,当其值为0,调用设备SP服务层的同步接口;设备SP服务层通过U口或串口完成对设备模块的调用,向中间件服务层返回执行结果
和输出参数;中间件服务层将设备SP服务层的执行结果和输出参数添加到输出队列,保存前面传入的repid参数;中间件服务层从输出队列获取任务,转换为Http所需json报文;中间件服务层通过Http服务,将任务执行结果返回给前端定制服务层中逻辑处理库。6.根据权利要求3所述的一种基于浏览器扩展插件和自循环网络通信的信创无感迁移方法,其特征在于,异步调用策略执行过程包括:中间件服务层根据输入参数中的...

【专利技术属性】
技术研发人员:李小龙唐超顿新明刘辉
申请(专利权)人:中电长城长沙信息技术有限公司
类型:发明
国别省市:

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

1