随着银行信息化的快速发展,应用系统的数量逐步增多,系统间数据文件的传输需求呈指数级增长,起初系统间自行约定对接传输的方式,产生诸多问题,使日常运维和管理工作变得更为复杂。
问题一:
业务系统间文件传输交换各自为政,形成复杂的传输关系,当出现异常时,问题根源和关联影响很难定位;
问题二:
传输技术多样化,同时存在多种传输方式,系统间对接需单独开发,无统一标准,后期维护困难;
问题三:
同一份文件进行多次抽取、发送,数据共享性差,系统间的文件传输流量无法复用、归并,增加网络域重复流量;
问题四:
全行传输业务缺少统一视图,没有对全行传输业务的统一管理手段,无法对全行的文件传输实时监控。
G行文件传输系统作为基础支撑系统,将数据文件传输进行统一规划,向全行各应用系统提供数据文件传输服务接口,建立全行统一的传输接口规范和标准,保证全行文件数据传输过程的可管理性、高效性、可靠性,满足G行业务发展和各应用系统间进行文件传输交互的需要。
一、架构设计
G行文件传输系统采用节点网状部署、信息集中管理的设计,节点分布在需要进行文件传输的应用服务器上,并且每一个节点都可以与同网络域的其他节点相连,网状部署设计具有较高的可靠性,每两个节点之间的传输不受其他节点和管理端的影响,发送节点服务正常运行,就可以根据预设任务发送文件,接收节点服务正常就可以将收到的文件按照约定目录存放。文件共享或跨域文件传输可通过中心节点转发,中心节点为集群模式,支持自动路由及负载均衡,具体传输链路如图1。
图1 传输链路图
文件传输系统分为接入、管理、平台三层业务架构,接入层负责与全行应用系统对接,根据本地存储的任务信息对文件进行相应处理和传输,将传输结果上送至管理层,管理层负责节点和任务信息的管理,并实时同步信息给接入层和平台层,平台层则负责文件分发、传输扩展和数据存储,如图2。
图2 三层业务架构
二、运维管理
一般系统的管理员主要工作在于应对系统中产生的各种需要人工干预的事件,以及来自开发的变更需求,保障系统对外提供稳定的服务。但随着G行文件传输系统节点规模越来越大,每日传输文件数量越来越多,相关的事件和变更需求也越来越多,按照传统模式一个管理员很难应对日益增多的事件。所以G行文件传输系统配套设计了管理模块来解决运维中的问题,代替人工操作,减轻管理员压力。
管理模块的定位是保障生产稳定有序的运行,通过设计、构建自动化工具来发现、解决、降低风险,主要包括以下三个方面:
监控策略:
监控管理功能是监控全行文件传输服务可用性的一个主要手段。文件传输系统主要从传输节点和传输任务两个维度监控:
- 传输节点启动时会主动和管理端建立连接,管理端维护连接信息,并每30秒进行一次探测,连续5次探测失败则进行报警;同时传输节点的运行信息会实时报送给管理端,当捕获到异常时也会进行报警。
- 传输任务的监控,是针对每个传输任务的时间阈值进行设定,当传输异常或超时还未完成文件传输,则进行报警。对于多传、重复传的情况,管理端也会进行判断,并依据设定直接终止传输和报警。
- 监控管理一直是持续优化重点工作,未来将更少的依赖人分析报警信息,直接由系统自动分析,仅当需要人来执行某种操作时,才会通知管理员。
应急处理:
任何需要人工操作的事情都只会延长恢复时间。一个可以自动恢复的系统即使有更多的故障发生,也要比事事都需要人工干预的系统可用性更高。
G行文件传输系统在服务异常和传输文件异常时都具备自动恢复的能力。当发现有进程异常终止时,系统会立即重新拉起,避免影响文件传输,同时进行相关记录,收集起来以备调试和事后分析时使用。传输文件异常则是通过自动重传或续传的模式,确保文件传输及时恢复。如果文件生成过晚超出预定发送时间或者数据错误修正后需重新发送,这时不可避免的需要人工介入,可使用应急重传功能,重新发起任务,系统会根据任务信息将文件重新传输。
变更管理:
以往的经验告诉我们,大部分生产事件都是由变更而触发。G行文件传输系统的变更管理功能实现了传输任务的自动化在线投产、实时跟踪投产情况及当出现问题时,安全迅速回退。这样可以将人工因素排除在流程之外,操作不再受经常发生在人身上的经验主义错误以及大量重复性劳动带来的疲劳所影响。有效的提高变更执行速度和降低变更带来的风险。具体实现为管理端通过流程系统获取变更文件,完成导入后自动将变更信息推送到每个节点,无需重启应用,新增和调整的传输任务实时生效,保证文件传输的连续性。
管理模块的另一个定位是提升运维效率,通过用户权限区分,开放查询和配置功能,做到安全控制的同时,提供给用户便捷的服务:
用户管理:
用户管理功能按照角色将用户分为超级管理员、管理员、操作员三种级别,具有不同的访问权限,而且对某个用户可管理的节点也可进行指派,避免错误操作职权范围外的节点。结合G行实际场景,运维一线人员分配操作员权限,可查询全行节点和传输任务信息,在传输异常时具备应急处理权限;运维二线人员分配管理员权限,可查询、变更自己负责节点和任务的信息配置、监控设置;文件传输系统的运维人员具备超级管理员权限,对全行文件传输进行整体的管控。
传输查询:
传输查询功能有节点查询、任务查询、明细查询。节点查询能够查询全行节点地址、端口号、状态和配置,便于运维人员实时获取节点运行情况;任务查询可以通过文件名称、发送或接收节点等条件查询任务信息,包括发送时间、发送目录、接收目录、文件生成情况,运维人员通过任务查询能够掌握系统间传输关系;明细查询用来展示每一条传输记录的发送和接收节点,传输时间,文件大小,是否成功等,使用明细查询运维人员能够确认每个任务的传输结果。
运行日志:
运行日志功能能够直接查看全行各节点的日志信息,在节点异常或传输任务异常时,直接通过管理台分析日志,无需登录应用服务器,提高运维人员的问题排查效率。
G行文件传输系统,大大提升了文件传输运维管理的效率,但随着业务的发展,文件传输场景和数量也会越来越多,文件传输的管理难度将会进一步增加,我们需要继续迭代不断创新,逐步推进运维管理充分实现智能化。
三、总结
文件传输的管理工作基础且重要,G行文件传输系统的建设,全面整合了各种传输模式、梳理文件处理流程,实现文件传输标准化和统一管理,使应用系统能够更好地专注于业务逻辑的建设,提高了系统处理能力,提升应用系统对业务的支撑能力,有利于业务的灵活展开。
未来随着银行科技的不断发展,G行应用系统的全面上云,文件传输需先行完成节点负载均衡架构和文件分布式存储改造,满足应用上云后的文件传输需求,这也是文件传输系统未来的发展目标,即覆盖全行文件传输场景,不断提高管理效率,持续为全行业务提供可靠的文件传输服务。