南京不动产登记金融服务的微服务化升级实践
2021-06-02张娜
摘要:随着南京市“不动产登记+金融”服务的不断延伸,业务规则越来越复杂,群众和企业的要求越来越高,分析当前南京市不动产登记信息共享系统(银行版)在实际应用、快速响应业务规则变化和系统升级改造方面的梗阻问题,浅谈微服务化升级的必要性,介绍南京市不动产登记信息共享系统(银行版)二期的微服务化总体架构设计、实施路径和应用效果,并提出未来智慧型不动产登记的设想。
关键词:不动产登记;不见面服务;微服务
中图分类号:F293 文献标识码:A
文章编号:1001-9138-(2021)03-0034-39 收稿日期:2021-01-13
作者简介:张娜,南京市国土资源信息中心。
自2016年南京市开展不动产登记以来,经过了4年的应用和拓展,南京市不动产登记信息共享系统 (银行版) (以下简称“银行系统一期”) ,
已经成为了南京市不动产登记日常工作的关键组成部分。
企业、群众对不动产登记的要求不断提高,互联网技术也日新月异,南京市不动产登记信息共享系统 (银行版) 作为南京市不动产登记与金融机构的共享平台,必须能够适应不断调整的业务需求,方便引入复杂业务规则;必须解除应用和数据的强耦合,以灵活的微服务为更多横向部门和纵向部门提供共享服务;必须不断提高响应速度,不断提升用户友好度,实现从可用到易用、好用的转变。因此,从系统架构、开发语言、数据库结构、附件存储、服务优化和应用拓展等多方面,对南京市不动产登记信息共享系统 (银行版) 进行全面微服务化升级,打造南京市“互联网+”不动产登记信息共享服务系统 (金融机构) (以下简称“银行系统二期”) ,并依托“互联网+不动产登记”的南京不动产登记生态圈,助力加强南京不动产登记的“政银合作”,进一步提高“不动产登记+金融”不见面服务南京品牌的影响力。
1 微服务化升级的必要性
1.1 银行系统一期运行情况及存在问题
银行系统一期是一个大型的复杂B/S系统,是以Oracle关系型数据库模型为基础的,业务规则更多的是基于数据库对数据的增删改查来实现的,各类应用和数据紧密绑定,耦合度过高,修改逻辑困难,牵一发而动全身,开发运维成本很高。
银行系统一期采用Microsoft .NET Framework开发框架,总体上基本满足了南京市金融机构的不动产登记业务需求,但是运行效率较低,开放性不足,引入新技术新方法较为困难,在移动端和大数据应用方面没有比较优势。
1.2 微服务化优点
随着不动产登记的不断发展,业务越来越多,规则越来越复杂,在微服务架构下,能够解耦不动产登记服务,切分成多个细分微服务模块,每个微服务节点只聚焦相对独立的单一功能。在定义良好的接口清晰表达服务边界的前提下,可分配给不同的小规模开发团队进行单独开发,可以自由选择最适合的技术路线,极大降低对单一微服务的重构代码量,开发维护难度低。在增加业务功能时,也不需要在原有庞大的架构代码基础上做较大的調整,只需要增加新的微服务节点,调整与之有关联的微服务节点即可。仅需要扩容响应能力不足的微服务节点,有效破解单一架构需要整体扩容的困境,使得共享系统二期的容错性和可扩展性显著提高。各个微服务单独运行在各自的进程中,可以独立开发、部署、运行,极大提高了开发、交付和运维的效率;不受制于单独的技术路线,为未来引入新技术、更新迭代打下坚实基础。
2 微服务化升级实施路径
南京市不动产登记银行系统二期的建设和改造过程中,为了适应微服务架构,从统一业务术语、开发语言、硬件资源配置、应用服务器微服务化集群、数据库改造、附件存储服务优化等方面进行了全面的升级。
2.1 统一不动产登记业务术语
银行系统一期是在2016年南京市开始开展不动产业务时,基于原南京市房产局的房产登记数据和原南京市国土资源局的土地登记数据的整合数据,在融合房产登记业务规则和土地登记业务规则上,结合历来与金融结构合作的模式建设而成的,数据繁杂,业务规则众多,共享规则多样。
为此,南京市国土资源信息中心 (以下简称中心) 组织了多轮业务调研会,组织南京市不动产登记的业务专家、业务骨干、技术专家等人员共同讨论形成南京市不动产登记的业务字典表,使得南京市不动产登记银行系统二期的使用人员、需求对接人员、开发工程师、金融机构对接人员、日常业务运维人员和系统运维工程师等各类人员统一业务术语,在相同的业务概念下开展全面升级改造工作。
2.2 拆分微服务应用模块
中心开展了多次业务梳理工作,拆分不动产登记所涉及到的大量、复杂的业务逻辑,以服务为导向,基于业务功能将之拆分为三大应用微服务,即ATP统一身份验证、NetOffice统一流程服务、不动产银行业务服务,其中不动产银行业务服务又细化为不动产登记业务预申请服务、不动产登记查询业务服务、不动产登记银行业务统计分析服务、不动产登记电子证照应用服务、不动产登记对外开发中心服务等。
2.3 从C语言转换为Java语言
银行系统一期采用的开发语言是C语言,很好地继承了原有的数字资产,但随着不动产登记需求的不断调整、功能的不断增加和系统的不断迭代,C语言不可以跨平台的特点、野指针容易造成系统崩溃、程序回收内存资源的不及时等原因,在共享系统二期的开发建设中,完成了服务端程序从C语言转换为Java语言的转换工作。
Java有庞大而完善的生态系统,同时具有可跨平台的特点,使代码的可移植性提高;Java语言不使用指针直接访问计算机的内存资源,将内存管理进行自动管理,可以有效减轻C语言开发必须释放内存的负担,也可以有效解决系统运行时经常内存溢出这个痛点,这使得共享系统二期更加安全;另外,Java语言的面向对象特性,能应对更加复杂的应用场景,使得系统代码量大幅度减少,代码逻辑更加清晰,而且其易学性和市场的普及度,为引入更多先进技术和吸收更多优秀的系统架构师和开发工程师提供更为广阔的空间。
2.4 前后端一体开发模式转换为前后端分离的开发模式
为了复用银行系统一期前端页面呈现部分,采用前后端分离的模式开展开发建设工作,使得前端实现与后端技术无关,那么后端代码的实现就只需要专注于实现后端业务逻辑,处理业务逻辑和数据,通过API来提供数据和业务交互能力即可,不需要考虑页面上如何布局,也不需要受限于界面设计约束,减少了前后端的依赖关系,提高了开发效率。
前端和后端的分离,利用统一的规范进行设计赋能,全面提高产品体验和研发效率,银行系统二期引入优秀的UI设计师和前端开发工程师,专注用户体验设计,在充分了解各类使用角色的用户意图后,为银行系统二期统一配色、调整布局、界面美观、操作简便,为用户提供友好的交互体验。
2.5 硬件资源配置从独立建设模式转换为云计算资源池模式
南京市不动产登记生态圈庞杂,系统众多,随着不动产登记业务的不断发展,独立建设模式下的硬件资源配置必须不断增加,为了提高硬件资源利用率和建设运维效率,银行系统二期采用云计算资源池模式。
整合原有的应用服务器和数据库服务器资源,重新进行服务器虚拟化,配置3套Nginx服务器、18台应用服务器、3套数据库服务器和2套附件存储服务器,构建南京不动产登记的云计算资源池,见图1。
其中,由Nginx服务器负责服务熔断、负载均衡、访问统计、访问管理和服务编排;18台应用服务器组成服务集群,负责服务注册、服务实现、交互实现等;数据库服务从原来的单独的Oracle关系型数据库服务转换为Oracle读写分离数据服务、Redis和MongDB的缓存数据库服务和Elasticsearch的数据检索仓库三位一体的数据库服务集群;附件存儲服务从原来的ftp附件服务模式转变为以采用FastDFS分布式文件服务。
2.6 不断提升性能
针对银行系统一期使用过程中查询、调取数据响应较慢的情况,第一,采用了读写分离的数据库技术,将写数据与读数据的业务进行拆分;第二,以查询目标为导向重新组织形成一套指标数据库,并将访问频率非常高的业务数据存储在Redis缓存数据库中;第三,探测、梳理出慢SQL集,进行优化改造;第四,银行系统一期不同业务数据存储在一个数据表,导致数据库表结构过多、负载过大,银行系统二期对数据库表进行了合理的划分,将数据存储逻辑轻量化;第五,放弃使用代码实现不同数据库之间数据同步的技术路线,使用数据库的同步技术满足不同数据库数据之间的同步问题;第六,引入ElasticSearch高速引擎,提升检索能力。
在不动产登记业务的持续增量和不见面业务的不断推广应用中,案件的附件量也在持续增长,原有的ftp存储服务,存储设备不断增加,扩容困难,容灾能力较弱,因此共享系统二期采用分布式文件系统FastDFS作为附件的存储方案,有效降低了系统的复杂度,提高了附件处理效率,可以支持在线扩容机制,提高了系统的可扩展性,而且使用软RAID技术,系统的并发处理能力及数据容错恢复能力都得到极大提高。
2.7 灰度发布
银行系统一期采用的发布模式是简单的切换新版本,进行滚动升级,负载均衡的6台服务器,逐台启动新版本,直至升级完成。常常碰到以下问题,服务端代码升级,必须要停掉老版本的服务,将新的应用程序包上传到服务器,此时系统服务是中断的;开始滚动升级后,业务流会直接流向新启动的版本,此时新版本是不一定可用的,如果发现了问题,比较难确定是新版本问题还是老版本造成的问题;如果新版本有较大缺陷,升级失败,回滚操作非常麻烦,会造成更长时间的服务中断;切换新版本的发布模式,没有回头路可以走,如果新旧系统差异太大,不具备兼容功能,无法新旧系统并行运行,只能强制升级。
鉴于上述问题,银行系统二期采用灰度发布模式,与战略合作银行达成试运行协议,提供首次登录功能向导提示和用户手册,在试运行期间,协助用户使用新系统、新功能,在保证业务正常运行前提下,尽可能覆盖到所有功能点,同时收集用户体验指标,比如菜单使用频率、功能便捷度等指标,发现问题、调整问题,在最小范围内最大化的优化调整系统,再逐步扩大应用范围,将所有用户迁移到银行系统二期上来。这种灰度发布模式,可以不断完善部署、发布和回滚方案,实施新旧系统兼容方案,尽量保证用户操作习惯的延续性和用户体验的一致性,引入用户体验指标体系,为功能优化、系统迭代提供量化指标,彻底解决系统建设靠感觉、靠投诉的盲目性。
2.8 统一的开发中心
随着政府、企业、群众等社会多方面对不动产数据的共享需求不断增加,对共享服务的响应速度和服务质量都提出来更高的要求,为了适应高速发展的共享需求,银行系统二期采用API网关对各类接口进行统一管理,在网关层处理所有非业务功能,统一解决接口的注册认证、鉴定权限、流量管控、监控报警等,使得接口的调用更加安全可控。不管是对内接口、对外接口,还是功能接口、数据接口,进行信息资源模型的细粒度API划分,形成一套标准化接口,分为测试接口、正式接口和不同适用条件的接口类型,未来对接过程中只需要在开发中心进行分级授权后,外部单位可自行获取接口的实体定义说明、接口使用方法、输入输出参数、使用样例等进行接口对接工作,这种灵活的接口服务体系,使得银行系统二期的对外共享服务成本更低、效率更高。
3 微服务化应用成效
银行系统二期,在微服务化后,不断拓展不动产登记的业务场景,不断拓宽不动产登记的业务覆盖范围,搭建了多项便民利民服务应用,取得了良好的社会效应。
ATP统一身份验证,为银行系统二期提供统一的用户身份管理服务,对金融机构的管理细化到分支机构,对某家金融机构的用户管理精细化到各类工作角色。
Netoffice统一流程服务,为不动产登记业务流程提供工作流,提供创建、流转、回退、归档等功能,在银行系统二期中归集为不动产银行业务预申请服务,方便金融机构工作人员进行案件预申请工作。
在不动产登记业务中,登记簿查询、不动产查询、案件进度查询等都是高频业务,统一纳入不动产登记查询业务服务中,统一对外提供查询服务,方便工作人员在办理业务时进行快速的查询工作。不动产登记查询服务,还在优化营商环境工作中发挥巨大作用,为南京市不动产登记业务管理平台、自助查询机、我的南京APP、银行系统二期、南京市不动产档案管理系统、法院在线查控系统等应用系统提供查询服务支持。
电子证照应用的一个重要的应用场景是涉及抵押权的不动产登记证明电子化,生产、发放、存储、注销、签章等统一使用不动产电子证照应用服务对外提供支持。目前,已经为全市38家签约银行提供电子证照服务。
金融机构对于在押品的状态变化十分关注,中心不断挖掘耕耘多年不动产登记业务所沉淀的大数据的生成价值,提供按照时间维度、业务类型、贷款风险和结构类型等角度的信息产品, 为有效规避金融风险提供数据支持。目前,已经为金融机构提供的信息产品有业务预受理TOP10、登记信息查询查询量占比TOP10、某银行及其分支机构的业务申请量统计、互联网+不动产登记应用情况、贷款风险分析和贷款结构分析等6项信息产品。
在对外服务、信息共享方面,逐步提高服务质量和响应速度,将接口标准化、对接工作程序化,统一采用不动产登记开发中心提供服务,截止到目前,已经为18家银行机构提供“不见面服务”系统对接服务,为南京市12个区提供“不动产登记+金融”的系统对接服务。
响应国务院加快推进政务服务“跨省通办”的要求,銀行业务微服务为“线上苏小登·南京E办证”提供后端抵押类业务逻辑支持,可以提供预告商品房抵押设定、一般抵押权和最高额抵押权设定、不动产登记资料查询、电子证照和电子税票发放等业务的异地通办。
4 结语
微服务化的银行系统二期,具备了良好的业务弹性和软件复用性,较好地解决了银行系统一期运行过程中的痛点和升级迭代过程中的难点,为用户提供了更简单的业务操作流程,更快速的响应速度,更灵活的统计方式,更丰富的信息产品,更精细化的管理模式,更方便的开发中心,全面提升了系统的可用性、易用性,为进一步提高“不动产登记+金融”不见面服务南京品牌的影响力打下坚实基础。
下一步,中心将以打造智慧型不动产登记为目标,朝着自动化审核、自动化运维、完全不见面的方向,引入人工智能、OCR图象识别技术、语音识别技术等新技术,为政府、企业、群众等各类人群,提供更加优质、更加个性化、更加智慧的不动产登记服务。
参考文献:
1.唐华 丁华 汪洋.“互联网+”背景下的不动产登记信息服务研究.现代测绘.2019.06
2.潘兰平.新技术架构在上海不动产登记平台的实践.国土资源信息化.2019.06
3.季峰.复工复产之下,如何做好不动产登记服务.中国不动产.2020.02
4.杨显 马燕茹.微服务架构在构建企业信息化系统中的应用研究.现代信息科技.2019.03
5.彭之军.从C#到Java语言的系统移植方法研究.数字技术与应用.2017
6.赵伟 吴天宇.基于微服务架构的大学生思政教育实践初探.纺织服装教育.2020.04
7.李明 王伟 张栋栋.传统架构升级微服务的设计与实现.科技传播.2019.5月下旬刊