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

未命名 08-13 阅读:75 评论:0


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


背景技术:

2.大部分银行windows平台下的柜面应用系统都是基于ie浏览器和ocx控件(或ie浏览器与net framework服务)的轻型业务系统,其ocx控件可能会加载调用一系列依赖库。因ie浏览器和ocx控件及.net framework服务无法在linux系统上使用,基于金融设备领域信息创新与安全自主的需求,必须给柜面系统建立一套可以在国产linux系统和国产cpu的自主信创平台架构下可用的前端外设调用系统。结合柜面前端系统轻型化的需要,应用系统架构首推基于开源chromium浏览器的b/s应用架构;而外设调用方面,信创智柜上常用的中间件服务+常用规范sp(驱动服务提供程序)架构的方式,可以满足柜面前端系统调用外设的需要,但因层次进程解耦的需要,中间件服务+常用规范sp的架构往往是一个模块需要至少一个中间件服务进程和一个sp进程,这种多进程多层次的外设调用系统架构虽可一定程度增强柜面前端系统稳定性,但却需要耗费大量的硬件资源方能支撑其稳定、流畅运行;实际上此类中间件服务+常用规范的sp的方式在实际的柜面系统使用过程中,频发外设驱动响应慢、无法启动、业务系统卡顿等问题,已充分证明该架构无法适用柜面前端轻型系统调用外设的需要。由于银行柜面机器硬件资源的限制,要求外设服务和驱动尽量精简、占用硬件资源少,因此柜面应用系统的信创迁移需要解决应用和外设驱动信创迁移调用的需求,同时需要满足外设驱动精简化的需求。
3.原windows桌面系统外设驱动、信创智柜驱动远程更新时常常因端机环境差异导致失败,从而导致网点设备经常在版本更新后无法使用的问题出现。例如,历史版本不一致导致的依赖环境不一致,从而使得新增加的外设服务和sp无法正常运行;端机进程终结不彻底、权限不够导致部分文件更新失败;因网络环境问题,部分驱动文件可能下载失败导致更新后外设服务和sp不完整而无法正常运行。
4.原windows柜面系统在外设模块切换方面无法做到热拔插:柜员在进行外设型号更换或拔插时,除了硬件的切换变更外,往往还需要通过工具修改或手动修改端机的多个配置文件、拷贝或更新某些驱动文件,然后重启设备才能使得修改生效,此类切换方式不仅加大了行方柜员的模块切换工作量,而且浪费了大量的业务操作时间。因此本次柜面系统的信创迁移,还需要满足外设模块的热拔插切换需求。


技术实现要素:

5.为了弥补现有技术的缺陷,本发明提供了一种跨容器的柜面系统信创迁移方法及设备。
6.为了解决上述技术问题,本发明所采用的技术方案是:第一方面,本技术提供一种跨容器的柜面系统信创迁移方法,包括:
将柜面终端的柜面系统进行精简化处理得到精简容器系统;将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。
7.进一步的,生成网络报文请求之前,还包括:获取模块配置文件,模块配置文件包括柜面终端的每一个外设模块的任务进程配置参数;根据模块配置文件为每一个外设模块启动任务处理子进程;对每一个任务处理子进程创建任务队列。
8.进一步的,网络报文请求包括目标外设模块的模块名,通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,包括:通过容器系统内的外设驱动服务根据网络报文请求解析得到模块名;根据模块名确定目标外设模块对应的任务处理子进程;将网络报文请求加入对应模块的任务处理队列中,等待排队执行;从任务处理子进程的任务队列中得到外设接口任务。
9.进一步的,根据外设接口任务生成外设驱动调用包,包括:获取外设接口任务的任务名称;根据任务名称确定对应硬件模块的驱动接口组合集;根据驱动接口组合集确定待调用的外设驱动指令及驱动调用顺序;根据驱动调用顺序对每一个外设驱动指令生成外设驱动调用包,通过驱动共享层将外设驱动调用包传输至柜面终端,并将指令顺序执行结果组合反馈至任务处理子进程。
10.进一步的,根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动之前,还包括:从预设的模块驱动配置文件中,获取同功能的外设模块的厂商驱动库列表;当对应模块任务处理子进程启动时,根据厂商驱动库列表进行模块驱动库加载和实例化,得到每个模板驱动库对应的模块驱动对象。
11.进一步的,方法还包括:当目标外设模块为u口设备模块时,根据每一个u口设备模块的设备标识及对应的模块驱动对象,生成映射表;当检测到u口设备模块进行了拔插事件时,获取拔插u口设备模块的拔插设备标识,查找映射表中是否具有与拔插设备标识对应的模块驱动对象;若查找到对应的模块驱动对象,则调用拔插设备标识对应的模块驱动对象;若未查找到对应的模块驱动对象,则忽略此次拔插事件,并进行下一步的模块状
态轮询;获取目标外设模块的状态值,判断目标外设模块是否状态正常;若状态正常,则将当前模块驱动对象切换至状态正常的模块驱动对象;若状态不正常,则进行下一个模块状态查询,直到确定状态正常的外设模块,并将当前模块驱动对象切换至状态正常的模块驱动对象。
12.进一步的,将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端,包括:获取所述柜面终端的外设模块的外设驱动文件;创建并安装虚拟基础软件依赖环境;基于所述虚拟基础软件依赖环境,通过加密算法对所述外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将所述加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包;将所述外设驱动包拷贝至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件;将所述容器镜像文件发送至所述柜面终端。
13.进一步的,外设驱动文件包括待编译文件和非待编译文件,基于虚拟基础软件依赖环境,通过加密算法对外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包,包括:基于虚拟基础软件依赖环境,通过国密sm4加密算法生成打包加密密钥;根据打包加密密钥生成加密密钥对象;根据外设驱动文件的待编译文件生成待处理文件实例;根据加密密钥对象及待处理文件实例,生成临时加密文件;根据加密密钥对象、待处理文件实例及临时加密文件,通过预置编译进程编译生成进程对象;根据进程对象及外设驱动文件的非待编译文件,生成输出文件;根据临时加密文件及输出文件生成可执行加密文件集,得到加密外设驱动文件;采用全依赖软件环境打包技术,将加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包。
14.进一步的,生成网络报文请求之前,还包括:获取当前运行的原容器镜像文件的原版本及版本服务器中的容器镜像文件的最新版本;当原版本及最新版本不一致时,获取最新的容器镜像文件;停止当前运行的原容器镜像文件,并加载运行最新的容器镜像文件;判断最新的容器镜像文件是否更新成功;若更新成功,则删除原容器镜像文件;若未更新成功,则多次重新导入并运行最新的容器镜像文件,直到最新的容器镜像文件更新成功。
15.进一步的,多次重新导入并运行最新的容器镜像文件,包括:累计每一次重新导入并运行最新的容器镜像文件的重复次数n,n为正整数;判断重复次数n是否不小于次数阈值;若小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,进行第n+1次重新导入并运行最新的容器镜像文件;若不小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,运行原容器镜像文件。
16.第二方面,本技术提供了一种跨容器的柜面系统信创迁移设备,包括:容器处理模块、镜像处理模块及驱动调用模块;容器处理模块,用于将柜面终端的柜面系统进行精简化处理得到精简容器系统;镜像处理模块,用于将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;驱动调用模块,用于当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。
17.本发明所达到的有益效果:将柜面终端的柜面系统进行精简化处理得到精简容器系统;将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。实现了外设驱动服务的容器化运行,及跨容器的外设规范调用,通过把外设驱动及其软件依赖环境封装打包进容器系统,更新整个容器镜像文件以完成外设驱动的统一更新,解决了因驱动版本个别文件更新失败导致整体前端应用无法使用的问题;通过包含软件依赖环境的全打包技术、网络共享和驱动共享技术、自循环网络通信技术完成信创应用跨容器调用外设需求,为柜面系统建立了一套架构轻便且高度解耦、兼具高安全性和易运维特性的前端应用系统迁移方案,满足了柜面系统信创迁移的需求;同时利用外设驱动服务的模块切换机制解决了柜面系统模块切换无法实现无感、快速切换的问题。
附图说明
18.图1为本发明的外设调用架构图。
19.图2为本发明跨容器的柜面系统信创迁移方法的流程图。
20.图3为本发明跨容器的柜面系统信创迁移设备的结构图。
21.图4为发明跨容器的柜面系统信创迁移方法的接口分层调用流程图。
具体实施方式
22.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
23.银行windows平台下的柜面应用系统都是基于ie浏览器和ocx控件(或ie浏览器与net framework服务)的轻型业务系统,其ocx控件可能会加载调用一系列依赖库。因ie浏览器和ocx控件及.net framework服务无法在linux系统上使用,基于金融设备领域信息创新与安全自主的需求,必须给柜面系统建立一套可以在国产linux系统和国产cpu的自主信创平台架构下可用的前端外设调用整体框架。基于柜面业务信创迁移的需求,兼顾解决版本不完全、模块无法热拔插等问题的需要,本发明提供的实现上述功能的外设调用架构如图1所示,该外设调用架构包含业务应用层、网络共享层、中间件平台服务层、模块适配器层、系统驱动共享层及外设模块。业务应用层:基于开源浏览器(如chromium浏览器)的柜面业务应用进程,该的柜面业务应用应用以开源浏览器为核心,采取b/s模式;网络共享层:通过容器网络共享设置,将使容器在启动时共享使用柜面终端的网卡;中间件平台服务层:中间件平台服务层内含网络协议适配、网络通信方式兼容、任务路由派发等基本功能;模块适配器层:该层次将接收到外设接口任务进行参数初步处理后,转换为模块驱动接口的组合调用,将组合调用的结果按照项目需要组包返回,除了基本原子接口、组合接口的同步调用外,改层次还将根据业务接口需要,实现人机交互过程接口,如等待插卡读卡,同时在此类人机交互接口调用过程中的超时、取消机制也将在此层次实现,除此之外,模块适配器还将根据模块候选配置表,通过轮询获取模块状态的方式,动态确定当前何种类型的外设模块是可用的,从而实现外设厂商类型的动态切换和热拔插;驱动共享层:将利用容器启动时,驱动目录共享挂载的方式,将柜面终端的外设驱动目录直接共享进容器内,实现外设驱动的跨容器共享;外设模块:完成实际动作的业务辅助装置,如读卡器、密码键盘等,通过u口、串口指令完成对外功能的提供。
24.基于以上已经构建好的框架,如图2所示,本发明实施例提供一种跨容器的柜面系统信创迁移方法,包括:201,将柜面终端的柜面系统进行精简化处理得到精简容器系统;其中,柜面终端的柜面系统是运行在主流操作系统平台下的完整系统,在本实施例中,只需要满足在容器系统中运行外设服务的同时,将日志和临时文件导出到容器系统之外的功能即可,因此,可以将柜面系统中的其他功能进行删减,精简化得到精简容器系统。
25.202,将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;其中,柜面终端的外设模块具有多个,每个外设模块具有不同的外设驱动,在基于python虚拟环境下通过pyinstaller将外设驱动采用全依赖软件环境打包技术打包至精简容器系统,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端。
26.具体过程为:获取柜面终端的外设模块的外设驱动文件,创建并安装python虚拟基础软件依赖环境,基于python虚拟基础软件依赖环境,通过国密sm4加密算法生成打包加
密密钥,根据打包加密密钥生成加密密钥对象,根据外设驱动文件的待编译文件生成待处理文件实例,根据加密密钥对象及待处理文件实例,生成临时加密文件,根据加密密钥对象、待处理文件实例及临时加密文件,通过预置编译进程编译生成进程对象,根据进程对象及外设驱动文件的非待编译文件,生成输出文件,根据临时加密文件及输出文件生成可执行加密文件集,得到加密外设驱动文件,采用全依赖软件环境打包技术,将加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包,将外设驱动包拷贝至精简容器系统,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端。
27.203,当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,通过网络共享层将网络报文请求传入容器系统;其中,柜面终端启动容器镜像文件的时候还原得到包含外设驱动服务的容器系统,当柜面终端的业务需要访问目标外设模块时,生成网络报文请求,通过网络共享层将网络报文请求传入容器系统。
28.需要说明的是,再此步骤之前,获取模块配置文件,模块配置文件包括柜面终端的每一个外设模块的任务进程配置参数,根据模块配置文件为每一个外设模块启动任务处理子进程,对每一个任务处理子进程创建任务队列。
29.204,通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;其中,网络报文请求包括目标外设模块的模块名,根据网络报文请求解析得到模块名,根据模块名确定目标外设模块对应的任务处理子进程,将网络报文请求加入对应模块的任务处理队列中,等待排队执行,从任务处理子进程的任务队列中得到外设接口任务;获取外设接口任务的任务名称,根据任务名称确定对应硬件模块的驱动接口组合集,根据驱动接口组合集确定待调用的外设驱动指令及驱动调用顺序,根据驱动调用顺序对每一个外设驱动指令生成外设驱动调用包,通过驱动共享层将外设驱动调用包传输至柜面终端,并将指令顺序执行结果组合反馈至任务处理子进程。
30.205,根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。
31.优选的,本发明的一些实施例中,根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动之前,还包括:从预设的模块驱动配置文件中,获取同功能的外设模块的厂商驱动库列表;当对应模块任务处理子进程启动时,根据厂商驱动库列表进行模块驱动库加载和实例化,得到每个模板驱动库对应的模块驱动对象。
32.本实施例的u口设备模块的热拔插切换机制,可以针对u口设备进一步提升热拔插切换速度,具体过程如下:当目标外设模块为u口设备模块时,根据每一个u口设备模块的设备标识及对应的模块驱动对象,生成映射表;当检测到u口设备模块进行了拔插事件时,获取拔插u口设备模块的拔插设备标识,查找映射表中是否具有与拔插设备标识对应的模块驱动对象;若查找到对应的模块驱动对象,则调用拔插设备标识对应的模块驱动对象;
若未查找到对应的模块驱动对象,则忽略此次拔插事件,并进行下一步的模块状态轮询;获取目标外设模块的状态值,判断目标外设模块是否状态正常;若状态正常,则将当前模块驱动对象切换至状态正常的模块驱动对象;若状态不正常,则进行下一个模块状态查询,直到确定状态正常的外设模块,并将当前模块驱动对象切换至状态正常的模块驱动对象。
33.在本技术中,由于外设驱动的版本的改变,可能会导致容器镜像文件的改变,因此为了保证版本更新,优选的,本发明的一些实施例中,容器镜像文件的更新过程如下:获取当前运行的原容器镜像文件的原版本及版本服务器中容器镜像文件的最新版本;当原版本及最新版本不一致时,获取最新的容器镜像文件;停止当前运行的原容器镜像文件,并加载运行最新的容器镜像文件;判断最新的容器镜像文件是否更新成功;若更新成功,则删除原容器镜像文件;若未更新成功,则累计每一次重新导入并运行最新的容器镜像文件的重复次数n,n为正整数;判断重复次数n是否不小于次数阈值;若小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,进行第n+1次重新导入并运行最新的容器镜像文件;若不小于次数阈值,且第n次重新导入并运行最新的容器镜像文件未更新成功时,运行原容器镜像文件,保证了更新不成功的情况下,柜员终端的功能能够正常运行。
34.在以上实施例中,描述了跨容器的柜面系统信创迁移方法的实施过程,实现了外设驱动服务的容器化运行,及跨容器的外设规范调用,通过把外设驱动及其软件依赖环境封装打包进容器系统,更新整个容器镜像文件以完成外设驱动的统一更新,解决了因驱动版本个别文件更新失败导致整体前端应用无法使用的问题;通过包含软件依赖环境的全打包技术、网络共享和驱动共享技术、自循环网络通信技术完成信创应用跨容器调用外设需求,为柜面系统建立了一套架构轻便且高度解耦、兼具高安全性和易运维特性的前端应用系统迁移方案,满足了柜面系统信创迁移的需求;同时利用外设驱动服务的模块切换机制解决了柜面系统模块切换无法实现无感、快速切换的问题。
35.下面通过实施例对跨容器的柜面系统信创迁移设备进行说明。
36.如图3所示,本发明实施例提供了一种跨容器的柜面系统信创迁移设备,包括:容器处理模块301、镜像处理模块302及驱动调用模块303;容器处理模块301,用于将柜面终端的柜面系统进行精简化处理得到精简容器系统;镜像处理模块302,用于将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端;驱动调用模块303,用于当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将网络
报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。
37.本发明实施例的实施原理为:容器处理模块301将将柜面终端的柜面系统进行精简化处理得到精简容器系统,镜像处理模块302将柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至精简容器系统中,将精简容器系统和外设驱动一并导出,得到容器镜像文件,将容器镜像文件发送至柜面终端,当柜面终端启动容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,驱动调用模块303生成网络报文请求,并通过网络共享层将网络报文请求传入容器系统;通过容器系统内的外设驱动服务根据网络报文请求生成外设接口任务,根据外设接口任务生成外设驱动调用包;根据外设驱动调用包通过驱动共享层调用目标外设模块对应的外设驱动,使得目标外设模块提供外设服务。实现了外设驱动服务的容器化运行,及跨容器的外设规范调用,通过把外设驱动及其软件依赖环境封装打包进容器系统,更新整个容器镜像文件以完成外设驱动的统一更新,解决了因驱动版本个别文件更新失败导致整体前端应用无法使用的问题;通过包含软件依赖环境的全打包技术、网络共享和驱动共享技术、自循环网络通信技术完成信创应用跨容器调用外设需求,为柜面系统建立了一套架构轻便且高度解耦、兼具高安全性和易运维特性的前端应用系统迁移方案,满足了柜面系统信创迁移的需求;同时利用外设驱动服务的模块切换机制解决了柜面系统模块切换无法实现无感、快速切换的问题。
38.为实现对上述实例的外设接口调用流程进行详细说明,输出了该示例的接口分层调用流程具体如图4所示。
39.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
40.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
41.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
42.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
43.以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

技术特征:
1.一种跨容器的柜面系统信创迁移方法,其特征在于,包括:将柜面终端的柜面系统进行精简化处理得到精简容器系统;将所述柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件,将所述容器镜像文件发送至所述柜面终端;当所述柜面终端启动所述容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将所述网络报文请求传入所述容器系统;通过所述容器系统内的外设驱动服务根据所述网络报文请求生成外设接口任务,根据所述外设接口任务生成外设驱动调用包;根据所述外设驱动调用包通过驱动共享层调用所述目标外设模块对应的外设驱动,使得所述目标外设模块提供外设服务。2.根据权利要求1所述的跨容器的柜面系统信创迁移方法,其特征在于,所述生成网络报文请求之前,还包括:获取模块配置文件,所述模块配置文件包括所述柜面终端的每一个外设模块的任务进程配置参数;根据所述模块配置文件为每一个外设模块启动任务处理子进程;对每一个任务处理子进程创建任务队列。3.根据权利要求2所述的跨容器的柜面系统信创迁移方法,其特征在于,所述网络报文请求包括所述目标外设模块的模块名,所述通过所述容器系统内的外设驱动服务根据所述网络报文请求生成外设接口任务,包括:通过所述容器系统内的外设驱动服务根据所述网络报文请求解析得到模块名;根据所述模块名确定所述目标外设模块对应的任务处理子进程;将所述网络报文请求加入对应模块的任务处理队列中,等待排队执行;从所述任务处理子进程的任务队列中得到外设接口任务。4.根据权利要求3所述的跨容器的柜面系统信创迁移方法,其特征在于,所述根据所述外设接口任务生成外设驱动调用包,包括:获取所述外设接口任务的任务名称;根据所述任务名称确定对应硬件模块的驱动接口组合集;根据所述驱动接口组合集确定待调用的外设驱动指令及驱动调用顺序;根据所述驱动调用顺序对每一个外设驱动指令生成外设驱动调用包,通过驱动共享层将所述外设驱动调用包传输至所述柜面终端,并将指令顺序执行结果组合反馈至任务处理子进程。5.根据权利要求3所述的跨容器的柜面系统信创迁移方法,其特征在于,所述根据所述外设驱动调用包通过驱动共享层调用所述目标外设模块对应的外设驱动之前,还包括:从预设的模块驱动配置文件中,获取同功能的外设模块的厂商驱动库列表;当对应模块任务处理子进程启动时,根据所述厂商驱动库列表进行模块驱动库加载和实例化,得到每个模板驱动库对应的模块驱动对象。
6.根据权利要求5所述的跨容器的柜面系统信创迁移方法,其特征在于,所述方法还包括:当所述目标外设模块为u口设备模块时,根据每一个u口设备模块的设备标识及对应的模块驱动对象,生成映射表;当检测到u口设备模块进行了拔插事件时,获取拔插u口设备模块的拔插设备标识,查找所述映射表中是否具有与所述拔插设备标识对应的模块驱动对象;若查找到对应的模块驱动对象,则调用所述拔插设备标识对应的模块驱动对象;若未查找到对应的模块驱动对象,则忽略此次拔插事件,并进行下一步的模块状态轮询;获取所述目标外设模块的状态值,判断所述目标外设模块是否状态正常;若状态正常,则将当前模块驱动对象切换至状态正常的模块驱动对象;若状态不正常,则进行下一个模块状态查询,直到确定状态正常的外设模块,并将当前模块驱动对象切换至状态正常的模块驱动对象。7.根据权利要求1所述的跨容器的柜面系统信创迁移方法,其特征在于,所述将所述柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件,将所述容器镜像文件发送至所述柜面终端,包括:获取所述柜面终端的外设模块的外设驱动文件;创建并安装虚拟基础软件依赖环境;基于所述虚拟基础软件依赖环境,通过加密算法对所述外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将所述加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包;将所述外设驱动包拷贝至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件;将所述容器镜像文件发送至所述柜面终端。8.根据权利要求7所述的跨容器的柜面系统信创迁移方法,其特征在于,所述外设驱动文件包括待编译文件和非待编译文件,所述基于所述虚拟基础软件依赖环境,通过加密算法对所述外设驱动文件进行加密,得到加密外设驱动文件,采用全依赖软件环境打包技术,将所述加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包,包括:基于所述虚拟基础软件依赖环境,通过国密sm4加密算法生成打包加密密钥;根据所述打包加密密钥生成加密密钥对象;根据所述外设驱动文件的待编译文件生成待处理文件实例;根据所述加密密钥对象及所述待处理文件实例,生成临时加密文件;根据所述加密密钥对象、所述待处理文件实例及所述临时加密文件,通过预置编译进程编译生成进程对象;根据所述进程对象及所述外设驱动文件的非待编译文件,生成输出文件;根据所述临时加密文件及所述输出文件生成可执行加密文件集,得到加密外设驱动文件;
采用全依赖软件环境打包技术,将所述加密外设驱动文件及其依赖环境压缩打包成整体的外设驱动包。9.根据权利要求8所述的跨容器的柜面系统信创迁移方法,其特征在于,所述生成网络报文请求之前,还包括:获取当前运行的原容器镜像文件的原版本及版本服务器中的容器镜像文件的最新版本;当所述原版本及所述最新版本不一致时,获取最新的容器镜像文件;停止当前运行的所述原容器镜像文件,并加载运行所述最新的容器镜像文件;判断所述最新的容器镜像文件是否更新成功;若更新成功,则删除所述原容器镜像文件;若未更新成功,则多次重新导入并运行所述最新的容器镜像文件,直到所述最新的容器镜像文件更新成功。10.一种跨容器的柜面系统信创迁移设备,其特征在于,包括:容器处理模块、镜像处理模块及驱动调用模块;所述容器处理模块,用于将柜面终端的柜面系统进行精简化处理得到精简容器系统;所述镜像处理模块,用于将所述柜面终端的外设模块的外设驱动采用全依赖软件环境打包技术打包至所述精简容器系统中,将所述精简容器系统和所述外设驱动一并导出,得到容器镜像文件,将所述容器镜像文件发送至所述柜面终端;所述驱动调用模块,用于当所述柜面终端启动所述容器镜像文件还原得到包含外设驱动服务的容器系统,且需要访问目标外设模块时,生成网络报文请求,并通过网络共享层将所述网络报文请求传入所述容器系统;通过所述容器系统内的外设驱动服务根据所述网络报文请求生成外设接口任务,根据所述外设接口任务生成外设驱动调用包;根据所述外设驱动调用包通过驱动共享层调用所述目标外设模块对应的外设驱动,使得所述目标外设模块提供外设服务。

技术总结
本发明公开了一种跨容器的柜面系统信创迁移方法及系统,方法包括:将精简柜面系统得到精简容器系统;将外设模块的外设驱动打包至精简容器系统中,得到容器镜像文件;柜面终端启动容器镜像文件进入容器系统,需要访问目标外设模块时,生成网络报文请求,将网络报文请求传入容器系统;容器系统的外设驱动服务根据网络报文请求生成外设驱动调用包;根据外设驱动调用包调用目标外设模块对应的外设驱动,从而提供外设服务并完成柜面系统的外设调用响应。解决了因驱动版本个别文件更新失败导致整体前端应用无法使用的问题;满足了柜面系统信创迁移的需求;同时利用外设驱动服务的模块切换机制解决了柜面系统模块切换无法实现无感快速切换的问题。快速切换的问题。快速切换的问题。


技术研发人员:李小龙 赵建青 余官杰 佘磊 陈治
受保护的技术使用者:中电长城(长沙)信息技术有限公司
技术研发日:2023.06.29
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐