摘要:隨著南京市“不動產(chǎn)登記+金融”服務的不斷延伸,業(yè)務規(guī)則越來越復雜,群眾和企業(yè)的要求越來越高,分析當前南京市不動產(chǎn)登記信息共享系統(tǒng)(銀行版)在實際應用、快速響應業(yè)務規(guī)則變化和系統(tǒng)升級改造方面的梗阻問題,淺談微服務化升級的必要性,介紹南京市不動產(chǎn)登記信息共享系統(tǒng)(銀行版)二期的微服務化總體架構設計、實施路徑和應用效果,并提出未來智慧型不動產(chǎn)登記的設想。
關鍵詞:不動產(chǎn)登記;不見面服務;微服務
中圖分類號:F293 文獻標識碼:A
文章編號:1001-9138-(2021)03-0034-39 收稿日期:2021-01-13
作者簡介:張娜,南京市國土資源信息中心。
自2016年南京市開展不動產(chǎn)登記以來,經(jīng)過了4年的應用和拓展,南京市不動產(chǎn)登記信息共享系統(tǒng) (銀行版) (以下簡稱“銀行系統(tǒng)一期”) ,
已經(jīng)成為了南京市不動產(chǎn)登記日常工作的關鍵組成部分。
企業(yè)、群眾對不動產(chǎn)登記的要求不斷提高,互聯(lián)網(wǎng)技術也日新月異,南京市不動產(chǎn)登記信息共享系統(tǒng) (銀行版) 作為南京市不動產(chǎn)登記與金融機構的共享平臺,必須能夠適應不斷調整的業(yè)務需求,方便引入復雜業(yè)務規(guī)則;必須解除應用和數(shù)據(jù)的強耦合,以靈活的微服務為更多橫向部門和縱向部門提供共享服務;必須不斷提高響應速度,不斷提升用戶友好度,實現(xiàn)從可用到易用、好用的轉變。因此,從系統(tǒng)架構、開發(fā)語言、數(shù)據(jù)庫結構、附件存儲、服務優(yōu)化和應用拓展等多方面,對南京市不動產(chǎn)登記信息共享系統(tǒng) (銀行版) 進行全面微服務化升級,打造南京市“互聯(lián)網(wǎng)+”不動產(chǎn)登記信息共享服務系統(tǒng) (金融機構)? (以下簡稱“銀行系統(tǒng)二期”) ,并依托“互聯(lián)網(wǎng)+不動產(chǎn)登記”的南京不動產(chǎn)登記生態(tài)圈,助力加強南京不動產(chǎn)登記的“政銀合作”,進一步提高“不動產(chǎn)登記+金融”不見面服務南京品牌的影響力。
1 微服務化升級的必要性
1.1 銀行系統(tǒng)一期運行情況及存在問題
銀行系統(tǒng)一期是一個大型的復雜B/S系統(tǒng),是以Oracle關系型數(shù)據(jù)庫模型為基礎的,業(yè)務規(guī)則更多的是基于數(shù)據(jù)庫對數(shù)據(jù)的增刪改查來實現(xiàn)的,各類應用和數(shù)據(jù)緊密綁定,耦合度過高,修改邏輯困難,牽一發(fā)而動全身,開發(fā)運維成本很高。
銀行系統(tǒng)一期采用Microsoft .NET Framework開發(fā)框架,總體上基本滿足了南京市金融機構的不動產(chǎn)登記業(yè)務需求,但是運行效率較低,開放性不足,引入新技術新方法較為困難,在移動端和大數(shù)據(jù)應用方面沒有比較優(yōu)勢。
1.2 微服務化優(yōu)點
隨著不動產(chǎn)登記的不斷發(fā)展,業(yè)務越來越多,規(guī)則越來越復雜,在微服務架構下,能夠解耦不動產(chǎn)登記服務,切分成多個細分微服務模塊,每個微服務節(jié)點只聚焦相對獨立的單一功能。在定義良好的接口清晰表達服務邊界的前提下,可分配給不同的小規(guī)模開發(fā)團隊進行單獨開發(fā),可以自由選擇最適合的技術路線,極大降低對單一微服務的重構代碼量,開發(fā)維護難度低。在增加業(yè)務功能時,也不需要在原有龐大的架構代碼基礎上做較大的調整,只需要增加新的微服務節(jié)點,調整與之有關聯(lián)的微服務節(jié)點即可。僅需要擴容響應能力不足的微服務節(jié)點,有效破解單一架構需要整體擴容的困境,使得共享系統(tǒng)二期的容錯性和可擴展性顯著提高。各個微服務單獨運行在各自的進程中,可以獨立開發(fā)、部署、運行,極大提高了開發(fā)、交付和運維的效率;不受制于單獨的技術路線,為未來引入新技術、更新迭代打下堅實基礎。
2 微服務化升級實施路徑
南京市不動產(chǎn)登記銀行系統(tǒng)二期的建設和改造過程中,為了適應微服務架構,從統(tǒng)一業(yè)務術語、開發(fā)語言、硬件資源配置、應用服務器微服務化集群、數(shù)據(jù)庫改造、附件存儲服務優(yōu)化等方面進行了全面的升級。
2.1 統(tǒng)一不動產(chǎn)登記業(yè)務術語
銀行系統(tǒng)一期是在2016年南京市開始開展不動產(chǎn)業(yè)務時,基于原南京市房產(chǎn)局的房產(chǎn)登記數(shù)據(jù)和原南京市國土資源局的土地登記數(shù)據(jù)的整合數(shù)據(jù),在融合房產(chǎn)登記業(yè)務規(guī)則和土地登記業(yè)務規(guī)則上,結合歷來與金融結構合作的模式建設而成的,數(shù)據(jù)繁雜,業(yè)務規(guī)則眾多,共享規(guī)則多樣。
為此,南京市國土資源信息中心 (以下簡稱中心) 組織了多輪業(yè)務調研會,組織南京市不動產(chǎn)登記的業(yè)務專家、業(yè)務骨干、技術專家等人員共同討論形成南京市不動產(chǎn)登記的業(yè)務字典表,使得南京市不動產(chǎn)登記銀行系統(tǒng)二期的使用人員、需求對接人員、開發(fā)工程師、金融機構對接人員、日常業(yè)務運維人員和系統(tǒng)運維工程師等各類人員統(tǒng)一業(yè)務術語,在相同的業(yè)務概念下開展全面升級改造工作。
2.2 拆分微服務應用模塊
中心開展了多次業(yè)務梳理工作,拆分不動產(chǎn)登記所涉及到的大量、復雜的業(yè)務邏輯,以服務為導向,基于業(yè)務功能將之拆分為三大應用微服務,即ATP統(tǒng)一身份驗證、NetOffice統(tǒng)一流程服務、不動產(chǎn)銀行業(yè)務服務,其中不動產(chǎn)銀行業(yè)務服務又細化為不動產(chǎn)登記業(yè)務預申請服務、不動產(chǎn)登記查詢業(yè)務服務、不動產(chǎn)登記銀行業(yè)務統(tǒng)計分析服務、不動產(chǎn)登記電子證照應用服務、不動產(chǎn)登記對外開發(fā)中心服務等。
2.3 從C語言轉換為Java語言
銀行系統(tǒng)一期采用的開發(fā)語言是C語言,很好地繼承了原有的數(shù)字資產(chǎn),但隨著不動產(chǎn)登記需求的不斷調整、功能的不斷增加和系統(tǒng)的不斷迭代,C語言不可以跨平臺的特點、野指針容易造成系統(tǒng)崩潰、程序回收內存資源的不及時等原因,在共享系統(tǒng)二期的開發(fā)建設中,完成了服務端程序從C語言轉換為Java語言的轉換工作。
Java有龐大而完善的生態(tài)系統(tǒng),同時具有可跨平臺的特點,使代碼的可移植性提高;Java語言不使用指針直接訪問計算機的內存資源,將內存管理進行自動管理,可以有效減輕C語言開發(fā)必須釋放內存的負擔,也可以有效解決系統(tǒng)運行時經(jīng)常內存溢出這個痛點,這使得共享系統(tǒng)二期更加安全;另外,Java語言的面向對象特性,能應對更加復雜的應用場景,使得系統(tǒng)代碼量大幅度減少,代碼邏輯更加清晰,而且其易學性和市場的普及度,為引入更多先進技術和吸收更多優(yōu)秀的系統(tǒng)架構師和開發(fā)工程師提供更為廣闊的空間。
2.4 前后端一體開發(fā)模式轉換為前后端分離的開發(fā)模式
為了復用銀行系統(tǒng)一期前端頁面呈現(xiàn)部分,采用前后端分離的模式開展開發(fā)建設工作,使得前端實現(xiàn)與后端技術無關,那么后端代碼的實現(xiàn)就只需要專注于實現(xiàn)后端業(yè)務邏輯,處理業(yè)務邏輯和數(shù)據(jù),通過API來提供數(shù)據(jù)和業(yè)務交互能力即可,不需要考慮頁面上如何布局,也不需要受限于界面設計約束,減少了前后端的依賴關系,提高了開發(fā)效率。
前端和后端的分離,利用統(tǒng)一的規(guī)范進行設計賦能,全面提高產(chǎn)品體驗和研發(fā)效率,銀行系統(tǒng)二期引入優(yōu)秀的UI設計師和前端開發(fā)工程師,專注用戶體驗設計,在充分了解各類使用角色的用戶意圖后,為銀行系統(tǒng)二期統(tǒng)一配色、調整布局、界面美觀、操作簡便,為用戶提供友好的交互體驗。
2.5 硬件資源配置從獨立建設模式轉換為云計算資源池模式
南京市不動產(chǎn)登記生態(tài)圈龐雜,系統(tǒng)眾多,隨著不動產(chǎn)登記業(yè)務的不斷發(fā)展,獨立建設模式下的硬件資源配置必須不斷增加,為了提高硬件資源利用率和建設運維效率,銀行系統(tǒng)二期采用云計算資源池模式。
整合原有的應用服務器和數(shù)據(jù)庫服務器資源,重新進行服務器虛擬化,配置3套Nginx服務器、18臺應用服務器、3套數(shù)據(jù)庫服務器和2套附件存儲服務器,構建南京不動產(chǎn)登記的云計算資源池,見圖1。
其中,由Nginx服務器負責服務熔斷、負載均衡、訪問統(tǒng)計、訪問管理和服務編排;18臺應用服務器組成服務集群,負責服務注冊、服務實現(xiàn)、交互實現(xiàn)等;數(shù)據(jù)庫服務從原來的單獨的Oracle關系型數(shù)據(jù)庫服務轉換為Oracle讀寫分離數(shù)據(jù)服務、Redis和MongDB的緩存數(shù)據(jù)庫服務和Elasticsearch的數(shù)據(jù)檢索倉庫三位一體的數(shù)據(jù)庫服務集群;附件存儲服務從原來的ftp附件服務模式轉變?yōu)橐圆捎肍astDFS分布式文件服務。
2.6 不斷提升性能
針對銀行系統(tǒng)一期使用過程中查詢、調取數(shù)據(jù)響應較慢的情況,第一,采用了讀寫分離的數(shù)據(jù)庫技術,將寫數(shù)據(jù)與讀數(shù)據(jù)的業(yè)務進行拆分;第二,以查詢目標為導向重新組織形成一套指標數(shù)據(jù)庫,并將訪問頻率非常高的業(yè)務數(shù)據(jù)存儲在Redis緩存數(shù)據(jù)庫中;第三,探測、梳理出慢SQL集,進行優(yōu)化改造;第四,銀行系統(tǒng)一期不同業(yè)務數(shù)據(jù)存儲在一個數(shù)據(jù)表,導致數(shù)據(jù)庫表結構過多、負載過大,銀行系統(tǒng)二期對數(shù)據(jù)庫表進行了合理的劃分,將數(shù)據(jù)存儲邏輯輕量化;第五,放棄使用代碼實現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)同步的技術路線,使用數(shù)據(jù)庫的同步技術滿足不同數(shù)據(jù)庫數(shù)據(jù)之間的同步問題;第六,引入ElasticSearch高速引擎,提升檢索能力。
在不動產(chǎn)登記業(yè)務的持續(xù)增量和不見面業(yè)務的不斷推廣應用中,案件的附件量也在持續(xù)增長,原有的ftp存儲服務,存儲設備不斷增加,擴容困難,容災能力較弱,因此共享系統(tǒng)二期采用分布式文件系統(tǒng)FastDFS作為附件的存儲方案,有效降低了系統(tǒng)的復雜度,提高了附件處理效率,可以支持在線擴容機制,提高了系統(tǒng)的可擴展性,而且使用軟RAID技術,系統(tǒng)的并發(fā)處理能力及數(shù)據(jù)容錯恢復能力都得到極大提高。
2.7 灰度發(fā)布
銀行系統(tǒng)一期采用的發(fā)布模式是簡單的切換新版本,進行滾動升級,負載均衡的6臺服務器,逐臺啟動新版本,直至升級完成。常常碰到以下問題,服務端代碼升級,必須要停掉老版本的服務,將新的應用程序包上傳到服務器,此時系統(tǒng)服務是中斷的;開始滾動升級后,業(yè)務流會直接流向新啟動的版本,此時新版本是不一定可用的,如果發(fā)現(xiàn)了問題,比較難確定是新版本問題還是老版本造成的問題;如果新版本有較大缺陷,升級失敗,回滾操作非常麻煩,會造成更長時間的服務中斷;切換新版本的發(fā)布模式,沒有回頭路可以走,如果新舊系統(tǒng)差異太大,不具備兼容功能,無法新舊系統(tǒng)并行運行,只能強制升級。
鑒于上述問題,銀行系統(tǒng)二期采用灰度發(fā)布模式,與戰(zhàn)略合作銀行達成試運行協(xié)議,提供首次登錄功能向導提示和用戶手冊,在試運行期間,協(xié)助用戶使用新系統(tǒng)、新功能,在保證業(yè)務正常運行前提下,盡可能覆蓋到所有功能點,同時收集用戶體驗指標,比如菜單使用頻率、功能便捷度等指標,發(fā)現(xiàn)問題、調整問題,在最小范圍內最大化的優(yōu)化調整系統(tǒng),再逐步擴大應用范圍,將所有用戶遷移到銀行系統(tǒng)二期上來。這種灰度發(fā)布模式,可以不斷完善部署、發(fā)布和回滾方案,實施新舊系統(tǒng)兼容方案,盡量保證用戶操作習慣的延續(xù)性和用戶體驗的一致性,引入用戶體驗指標體系,為功能優(yōu)化、系統(tǒng)迭代提供量化指標,徹底解決系統(tǒng)建設靠感覺、靠投訴的盲目性。
2.8 統(tǒng)一的開發(fā)中心
隨著政府、企業(yè)、群眾等社會多方面對不動產(chǎn)數(shù)據(jù)的共享需求不斷增加,對共享服務的響應速度和服務質量都提出來更高的要求,為了適應高速發(fā)展的共享需求,銀行系統(tǒng)二期采用API網(wǎng)關對各類接口進行統(tǒng)一管理,在網(wǎng)關層處理所有非業(yè)務功能,統(tǒng)一解決接口的注冊認證、鑒定權限、流量管控、監(jiān)控報警等,使得接口的調用更加安全可控。不管是對內接口、對外接口,還是功能接口、數(shù)據(jù)接口,進行信息資源模型的細粒度API劃分,形成一套標準化接口,分為測試接口、正式接口和不同適用條件的接口類型,未來對接過程中只需要在開發(fā)中心進行分級授權后,外部單位可自行獲取接口的實體定義說明、接口使用方法、輸入輸出參數(shù)、使用樣例等進行接口對接工作,這種靈活的接口服務體系,使得銀行系統(tǒng)二期的對外共享服務成本更低、效率更高。
3 微服務化應用成效
銀行系統(tǒng)二期,在微服務化后,不斷拓展不動產(chǎn)登記的業(yè)務場景,不斷拓寬不動產(chǎn)登記的業(yè)務覆蓋范圍,搭建了多項便民利民服務應用,取得了良好的社會效應。
ATP統(tǒng)一身份驗證,為銀行系統(tǒng)二期提供統(tǒng)一的用戶身份管理服務,對金融機構的管理細化到分支機構,對某家金融機構的用戶管理精細化到各類工作角色。
Netoffice統(tǒng)一流程服務,為不動產(chǎn)登記業(yè)務流程提供工作流,提供創(chuàng)建、流轉、回退、歸檔等功能,在銀行系統(tǒng)二期中歸集為不動產(chǎn)銀行業(yè)務預申請服務,方便金融機構工作人員進行案件預申請工作。
在不動產(chǎn)登記業(yè)務中,登記簿查詢、不動產(chǎn)查詢、案件進度查詢等都是高頻業(yè)務,統(tǒng)一納入不動產(chǎn)登記查詢業(yè)務服務中,統(tǒng)一對外提供查詢服務,方便工作人員在辦理業(yè)務時進行快速的查詢工作。不動產(chǎn)登記查詢服務,還在優(yōu)化營商環(huán)境工作中發(fā)揮巨大作用,為南京市不動產(chǎn)登記業(yè)務管理平臺、自助查詢機、我的南京APP、銀行系統(tǒng)二期、南京市不動產(chǎn)檔案管理系統(tǒng)、法院在線查控系統(tǒng)等應用系統(tǒng)提供查詢服務支持。
電子證照應用的一個重要的應用場景是涉及抵押權的不動產(chǎn)登記證明電子化,生產(chǎn)、發(fā)放、存儲、注銷、簽章等統(tǒng)一使用不動產(chǎn)電子證照應用服務對外提供支持。目前,已經(jīng)為全市38家簽約銀行提供電子證照服務。
金融機構對于在押品的狀態(tài)變化十分關注,中心不斷挖掘耕耘多年不動產(chǎn)登記業(yè)務所沉淀的大數(shù)據(jù)的生成價值,提供按照時間維度、業(yè)務類型、貸款風險和結構類型等角度的信息產(chǎn)品, 為有效規(guī)避金融風險提供數(shù)據(jù)支持。目前,已經(jīng)為金融機構提供的信息產(chǎn)品有業(yè)務預受理TOP10、登記信息查詢查詢量占比TOP10、某銀行及其分支機構的業(yè)務申請量統(tǒng)計、互聯(lián)網(wǎng)+不動產(chǎn)登記應用情況、貸款風險分析和貸款結構分析等6項信息產(chǎn)品。
在對外服務、信息共享方面,逐步提高服務質量和響應速度,將接口標準化、對接工作程序化,統(tǒng)一采用不動產(chǎn)登記開發(fā)中心提供服務,截止到目前,已經(jīng)為18家銀行機構提供“不見面服務”系統(tǒng)對接服務,為南京市12個區(qū)提供“不動產(chǎn)登記+金融”的系統(tǒng)對接服務。
響應國務院加快推進政務服務“跨省通辦”的要求,銀行業(yè)務微服務為“線上蘇小登·南京E辦證”提供后端抵押類業(yè)務邏輯支持,可以提供預告商品房抵押設定、一般抵押權和最高額抵押權設定、不動產(chǎn)登記資料查詢、電子證照和電子稅票發(fā)放等業(yè)務的異地通辦。
4 結語
微服務化的銀行系統(tǒng)二期,具備了良好的業(yè)務彈性和軟件復用性,較好地解決了銀行系統(tǒng)一期運行過程中的痛點和升級迭代過程中的難點,為用戶提供了更簡單的業(yè)務操作流程,更快速的響應速度,更靈活的統(tǒng)計方式,更豐富的信息產(chǎn)品,更精細化的管理模式,更方便的開發(fā)中心,全面提升了系統(tǒng)的可用性、易用性,為進一步提高“不動產(chǎn)登記+金融”不見面服務南京品牌的影響力打下堅實基礎。
下一步,中心將以打造智慧型不動產(chǎn)登記為目標,朝著自動化審核、自動化運維、完全不見面的方向,引入人工智能、OCR圖象識別技術、語音識別技術等新技術,為政府、企業(yè)、群眾等各類人群,提供更加優(yōu)質、更加個性化、更加智慧的不動產(chǎn)登記服務。
參考文獻:
1.唐華 丁華 汪洋.“互聯(lián)網(wǎng)+”背景下的不動產(chǎn)登記信息服務研究.現(xiàn)代測繪.2019.06
2.潘蘭平.新技術架構在上海不動產(chǎn)登記平臺的實踐.國土資源信息化.2019.06
3.季峰.復工復產(chǎn)之下,如何做好不動產(chǎn)登記服務.中國不動產(chǎn).2020.02
4.楊顯 馬燕茹.微服務架構在構建企業(yè)信息化系統(tǒng)中的應用研究.現(xiàn)代信息科技.2019.03
5.彭之軍.從C#到Java語言的系統(tǒng)移植方法研究.數(shù)字技術與應用.2017
6.趙偉 吳天宇.基于微服務架構的大學生思政教育實踐初探.紡織服裝教育.2020.04
7.李明 王偉 張棟棟.傳統(tǒng)架構升級微服務的設計與實現(xiàn).科技傳播.2019.5月下旬刊