一种跨容器的柜面系统信创迁移方法及设备与流程

文档序号:35102549发布日期:2023-08-10 10:06阅读:67来源:国知局
一种跨容器的柜面系统信创迁移方法及设备与流程

本发明属于计算机,尤其涉及一种跨容器的柜面系统信创迁移方法及设备。


背景技术:

1、大部分银行windows平台下的柜面应用系统都是基于ie浏览器和ocx控件(或ie浏览器与net framework服务)的轻型业务系统,其ocx控件可能会加载调用一系列依赖库。因ie浏览器和ocx控件及.net framework服务无法在linux系统上使用,基于金融设备领域信息创新与安全自主的需求,必须给柜面系统建立一套可以在国产linux系统和国产cpu的自主信创平台架构下可用的前端外设调用系统。结合柜面前端系统轻型化的需要,应用系统架构首推基于开源chromium浏览器的b/s应用架构;而外设调用方面,信创智柜上常用的中间件服务+常用规范sp(驱动服务提供程序)架构的方式,可以满足柜面前端系统调用外设的需要,但因层次进程解耦的需要,中间件服务+常用规范sp的架构往往是一个模块需要至少一个中间件服务进程和一个sp进程,这种多进程多层次的外设调用系统架构虽可一定程度增强柜面前端系统稳定性,但却需要耗费大量的硬件资源方能支撑其稳定、流畅运行;实际上此类中间件服务+常用规范的sp的方式在实际的柜面系统使用过程中,频发外设驱动响应慢、无法启动、业务系统卡顿等问题,已充分证明该架构无法适用柜面前端轻型系统调用外设的需要。由于银行柜面机器硬件资源的限制,要求外设服务和驱动尽量精简、占用硬件资源少,因此柜面应用系统的信创迁移需要解决应用和外设驱动信创迁移调用的需求,同时需要满足外设驱动精简化的需求。

2、原windows桌面系统外设驱动、信创智柜驱动远程更新时常常因端机环境差异导致失败,从而导致网点设备经常在版本更新后无法使用的问题出现。例如,历史版本不一致导致的依赖环境不一致,从而使得新增加的外设服务和sp无法正常运行;端机进程终结不彻底、权限不够导致部分文件更新失败;因网络环境问题,部分驱动文件可能下载失败导致更新后外设服务和sp不完整而无法正常运行。

3、原windows柜面系统在外设模块切换方面无法做到热拔插:柜员在进行外设型号更换或拔插时,除了硬件的切换变更外,往往还需要通过工具修改或手动修改端机的多个配置文件、拷贝或更新某些驱动文件,然后重启设备才能使得修改生效,此类切换方式不仅加大了行方柜员的模块切换工作量,而且浪费了大量的业务操作时间。因此本次柜面系统的信创迁移,还需要满足外设模块的热拔插切换需求。


技术实现思路

1、为了弥补现有技术的缺陷,本发明提供了一种跨容器的柜面系统信创迁移方法及设备。

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

3、第一方面,本技术提供一种跨容器的柜面系统信创迁移方法,包括:

4、将柜面终端的柜面系统进行精简化处理得到精简容器系统;

5、将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;

6、当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;

7、通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;

8、根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。

9、进一步的,生成网络报文请求之前,还包括:

10、获取模块配置文件,模块配置文件包括柜面终端的每一个外设模块的任务进程配置参数;

11、根据模块配置文件为每一个外设模块启动任务处理子进程;

12、对每一个任务处理子进程创建任务队列。

13、进一步的,网络报文请求包括目标外设模块的模块名,

14、通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,包括:

15、通过容器系统内的外设驱动服务根据网络报文请求解析得到模块名;

16、根据模块名确定目标外设模块对应的任务处理子进程;

17、将网络报文请求加入对应模块的任务处理队列中,等待排队执行;

18、从任务处理子进程的任务队列中得到外设接口任务。

19、进一步的,根据外设接口任务生成外设驱动调用包,包括:

20、获取外设接口任务的任务名称;

21、根据任务名称确定对应硬件模块的驱动接口组合集;

22、根据驱动接口组合集确定待调用的外设驱动指令及驱动调用顺序;

23、根据驱动调用顺序对每一个外设驱动指令生成外设驱动调用包,通过驱动共享层将外设驱动调用包传输至柜面终端,并将指令顺序执行结果组合反馈至任务处理子进程。

24、进一步的,根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动之前,还包括:

25、从预设的模块驱动配置文件中,获取同功能的外设模块的厂商驱动库列表;

26、当对应模块任务处理子进程启动时,根据厂商驱动库列表进行模块驱动库加载和实例化,得到每个模板驱动库对应的模块驱动对象。

27、进一步的,方法还包括:

28、当目标外设模块为u口设备模块时,根据每一个u口设备模块的设备标识及对应的模块驱动对象,生成映射表;

29、当检测到u口设备模块进行了拔插事件时,获取拔插u口设备模块的拔插设备标识,查找映射表中是否具有与拔插设备标识对应的模块驱动对象;

30、若查找到对应的模块驱动对象,则调用拔插设备标识对应的模块驱动对象;

31、若未查找到对应的模块驱动对象,则忽略此次拔插事件,并进行下一步的模块状态轮询;

32、获取目标外设模块的状态值,判断目标外设模块是否状态正常;

33、若状态正常,则将当前模块驱动对象切换至状态正常的模块驱动对象;

34、若状态不正常,则进行下一个模块状态查询,直到确定状态正常的外设模块,并将当前模块驱动对象切换至状态正常的模块驱动对象。

35、进一步的,将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端,包括:

36、获取所述柜面终端的外设模块的外设驱动文件;

37、创建并安装虚拟基础软件依赖环境;

38、基于所述虚拟基础软件依赖环境,通过加密算法对所述外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将所述加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包;

39、将所述外设驱动包拷贝至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件;

40、将所述容器镜像文件发送至所述柜面终端。

41、进一步的,外设驱动文件包括待编译文件和非待编译文件,

42、基于虚拟基础软件依赖环境,通过加密算法对外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包,包括:

43、基于虚拟基础软件依赖环境,通过国密sm4加密算法生成打包加密密钥;

44、根据打包加密密钥生成加密密钥对象;

45、根据外设驱动文件的待编译文件生成待处理文件实例;

46、根据加密密钥对象及待处理文件实例,生成临时加密文件;

47、根据加密密钥对象、待处理文件实例及临时加密文件,通过预置编译进程编译生成进程对象;

48、根据进程对象及外设驱动文件的非待编译文件,生成输出文件;

49、根据临时加密文件及输出文件生成可执行加密文件集,得到加密外设驱动文件;

50、采用全依赖软件环境打包技术,将加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包。

51、进一步的,生成网络报文请求之前,还包括:

52、获取当前运行的原容器镜像文件的原版本及版本服务器中的容器镜像文件的最新版本;

53、当原版本及最新版本不一致时,获取最新的容器镜像文件;

54、停止当前运行的原容器镜像文件,并加载运行最新的容器镜像文件;

55、判断最新的容器镜像文件是否更新成功;

56、若更新成功,则删除原容器镜像文件;

57、若未更新成功,则多次重新导入并运行最新的容器镜像文件,直到最新的容器镜像文件更新成功。

58、进一步的,多次重新导入并运行最新的容器镜像文件,包括:

59、累计每一次重新导入并运行最新的容器镜像文件的重复次数n,n为正整数;

60、判断重复次数n是否不小于次数阈值;

61、若小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,进行第n+1次重新导入并运行最新的容器镜像文件;

62、若不小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,运行原容器镜像文件。

63、第二方面,本技术提供了一种跨容器的柜面系统信创迁移设备,包括:

64、容器处理模块、镜像处理模块及驱动调用模块;

65、容器处理模块,用于将柜面终端的柜面系统进行精简化处理得到精简容器系统;

66、镜像处理模块,用于将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;

67、驱动调用模块,用于当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。

68、本发明所达到的有益效果:

69、将柜面终端的柜面系统进行精简化处理得到精简容器系统;将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。实现了外设驱动服务的容器化运行,及跨容器的外设规范调用,通过把外设驱动及其软件依赖环境封装打包进容器系统,更新整个容器镜像文件以完成外设驱动的统一更新,解决了因驱动版本个别文件更新失败导致整体前端应用无法使用的问题;通过包含软件依赖环境的全打包技术、网络共享和驱动共享技术、自循环网络通信技术完成信创应用跨容器调用外设需求,为柜面系统建立了一套架构轻便且高度解耦、兼具高安全性和易运维特性的前端应用系统迁移方案,满足了柜面系统信创迁移的需求;同时利用外设驱动服务的模块切换机制解决了柜面系统模块切换无法实现无感、快速切换的问题。

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