許春亮 鄧蔚 李英 張瑩 王永倫
【摘 要】論文首先介紹了SpringBoot的概念和特性,然后對信息采集認(rèn)證系統(tǒng)的框架進(jìn)行設(shè)計,并且介紹了如何將信息采集認(rèn)證系統(tǒng)微服務(wù)化,最后對信息采集認(rèn)證系統(tǒng)進(jìn)行性能分析,預(yù)估其在實際使用過程中的最大限度。
【Abstract】This paper firstly introduces the concept and characteristics of SpringBoot, then designs the framework of the information acquisition and authentication system, and introduces how to make the information acquisition and authentication system microservice. Finally, this paper analyzes the performance of the information acquisition and authentication system, and estimates its maximum in the actual use process.
【關(guān)鍵詞】SpringBoot;微服務(wù);信息采集;身份認(rèn)證
【Keywords】SpringBoot; microservice; information acquisition; identity authentication
【中圖分類號】TP391? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章編號】1673-1069(2019)12-0194-03
1 引言
信息采集認(rèn)證系統(tǒng)分為兩個子系統(tǒng),即信息采集系統(tǒng)和身份認(rèn)證系統(tǒng)。由于現(xiàn)有主流架構(gòu)技術(shù)是微服務(wù)架構(gòu),并且其具有架構(gòu)風(fēng)格輕量、易于開發(fā)和維護(hù)、跨平臺性良好等優(yōu)點,因此,本文中的信息采集認(rèn)證系統(tǒng)從設(shè)計開發(fā)到部署實施都是采用微服務(wù)架構(gòu)[1]。
本文中的信息采集系統(tǒng)可與印章治安管理系統(tǒng)等現(xiàn)有系統(tǒng)配合使用。為了更好地與信息采集系統(tǒng)配合使用,本文設(shè)計了一套身份認(rèn)證系統(tǒng),該系統(tǒng)可為印章申領(lǐng)過程中所涉及的印章相關(guān)人進(jìn)行身份認(rèn)證,加強(qiáng)了對法人的身份認(rèn)證,實現(xiàn)了物電人一體化綜合管理。
2 SpringBoot的介紹
SpringBoot框架是Java平臺上的一種開源應(yīng)用框架,其自身對編程模型沒有限制。Spring框架為開發(fā)者提供了一系列的解決方案,如利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問等。
2.1 SpringBoot的啟動流程
SpringBoot的啟動過程主要涉及兩個部分,即SpringBoot的初始化模塊和SpingBoot的具體啟動模塊,圖1為SpringBoot的啟動流程圖[2]。整個啟動過程中涉及一個重要概念,即自動化配置模塊,該模塊是SpringBoot自動配置的核心。
SpringBoot的初始化是由組裝SpringApplication開始。SpringBoot初始化后調(diào)用run方法。每個SpringBoot程序都有一個主入口,也就是main方法,main里面調(diào)用SpringApplication.run()啟動整個SpringBoot程序,該方法所在類需要使用@SpringBootApplication注解。
2.2 SpringBoot的特點
SpringBoot快速開發(fā)了Spring應(yīng)用框架,其中內(nèi)嵌了tomcat和jetty容器,不需要單獨安裝容器。SpringBoot簡化了maven配置,一站式引入需要的各種依賴,并且由其封裝的jar包可以直接發(fā)布Web應(yīng)用。SpringBoot是基于注解的零配置思想,與各種流行框架無縫整合。
3 信息采集認(rèn)證系統(tǒng)的架構(gòu)設(shè)計
3.1 信息采集認(rèn)證系統(tǒng)的整體介紹
信息采集認(rèn)證系統(tǒng)分為兩級子系統(tǒng),即信息采集系統(tǒng)和身份認(rèn)證系統(tǒng)。信息采集系統(tǒng)的主要功能是對法人及法人單位等相關(guān)信息進(jìn)行采集,該系統(tǒng)可與印章治安管理系統(tǒng)進(jìn)行對接。印章是法人單位的身份象征。身份認(rèn)證系統(tǒng)的主要功能是對法人及印章相關(guān)人的身份進(jìn)行認(rèn)證。身份認(rèn)證系統(tǒng)以互聯(lián)網(wǎng)可信身份認(rèn)證平臺為依托,對法人及印章相關(guān)人進(jìn)行實人、實證的身份認(rèn)證,實現(xiàn)了人證合一的綜合管理。
3.2 信息采集認(rèn)證系統(tǒng)的架構(gòu)設(shè)計
信息采集認(rèn)證系統(tǒng)是由信息采集系統(tǒng)和身份認(rèn)證系統(tǒng)組成,圖2為信息采集認(rèn)證系統(tǒng)的架構(gòu)設(shè)計圖。由于各省份都已建立各自的省級印章治安管理系統(tǒng),因此信息采集系統(tǒng)可以與各省份的印章治安管理系統(tǒng)和電子印章管理系統(tǒng)配合使用。該系統(tǒng)同時可為可信印章鑒別監(jiān)測平臺等提供查詢接口。
身份認(rèn)證系統(tǒng)可以為法人及印章相關(guān)人進(jìn)行身份認(rèn)證。同樣,該系統(tǒng)可與各省的印章治安管理系統(tǒng)和電子印章管理系統(tǒng)對接配合使用,各省通過各自集成了采集認(rèn)證構(gòu)件的終端設(shè)備對相關(guān)人員的身份數(shù)據(jù)進(jìn)行采集,然后依次發(fā)送至印章治安管理系統(tǒng)或電子印章管理系統(tǒng)、身份認(rèn)證系統(tǒng),最終到達(dá)互聯(lián)網(wǎng)可信身份認(rèn)證平臺對認(rèn)證人員進(jìn)行身份認(rèn)證,并將認(rèn)證結(jié)果返還至終端設(shè)備。本文在設(shè)計和實現(xiàn)信息采集認(rèn)證系統(tǒng)時,考慮開發(fā)簡單、易于部署和微服務(wù)化,因此開發(fā)的過程中統(tǒng)一使用SpingBoot框架。
3.3 信息采集認(rèn)證系統(tǒng)的功能描述
信息采集認(rèn)證系統(tǒng)分為信息采集子系統(tǒng)和身份認(rèn)證子系統(tǒng),每個子系統(tǒng)下包括主要功能和輔助功能,圖3為信息采集認(rèn)證系統(tǒng)的功能劃分。
3.4 信息采集認(rèn)證系統(tǒng)的接口設(shè)計
3.4.1 信息采集系統(tǒng)的接口設(shè)計
信息采集接口是通過https傳輸協(xié)議方式對外提供服務(wù)的,請求方法為POST,數(shù)據(jù)包格式為xml。在對法人信息采集的過程中考慮到數(shù)據(jù)來源的不同,將接口分為三類即法人印章信息采集接口、印章從業(yè)人員采集接口和電子印章用章人采集接口。具體接口設(shè)計如下:
①接口名稱:法人印章信息采集接口。
功能:接收并處理法人單位及印章相關(guān)信息;
輸入:法人單位為起始的嵌套物理印章信息及電子印章信息數(shù)據(jù)包;
輸出:法人印章反饋數(shù)據(jù)包。
②接口名稱:印章從業(yè)人員采集接口。
功能:接收并處理從業(yè)人員信息;
輸入:印章從業(yè)人員信息數(shù)據(jù)包;
輸出:印章從業(yè)人員反饋數(shù)據(jù)包。
③接口名稱:電子印章用章人采集接口。
功能:接收并處理電子章用章人信息;
輸入:電子印章用章人信息數(shù)據(jù)包;
輸出:電子印章用章人反饋數(shù)據(jù)包。
3.4.2 身份認(rèn)證系統(tǒng)的接口設(shè)計
身份認(rèn)證系統(tǒng)包括身份認(rèn)證申請服務(wù)接口和身份認(rèn)證請求服務(wù)接口,通過https傳輸協(xié)議方式對外提供服務(wù),請求方法為POST,數(shù)據(jù)包格式為JSON。具體的接口設(shè)計如下:
①接口名稱:身份認(rèn)證申請接口。
功能:接收客戶端發(fā)來的認(rèn)證申請;
輸入:讀控件版本(可選)、認(rèn)證模式等;
輸出:業(yè)務(wù)流水號、隨機(jī)數(shù)等。
②接口名稱:身份認(rèn)證請求接口。
功能:接收客戶端發(fā)來的認(rèn)證請求;
輸入:業(yè)務(wù)流水號(一包返回)、認(rèn)證模式、認(rèn)證數(shù)據(jù)(可選)等;
輸出:認(rèn)證結(jié)果等。
3.5 系統(tǒng)微服務(wù)化部署
Docker是一個開源的應(yīng)用容器引擎,使開發(fā)者可以打包其應(yīng)用以及依賴包到一個可移植的鏡像中。作為一種輕量級的虛擬化方式,Docker的優(yōu)點有:更快速的交付和部署、更高效的資源利用、更輕松的遷移和擴(kuò)展、更簡單的更新管理。結(jié)合本文的系統(tǒng),設(shè)計系統(tǒng)Docker微服務(wù)化部署圖,如圖4所示。
4 性能評估與分析
衡量一個應(yīng)用系統(tǒng)的標(biāo)準(zhǔn)是性能,因此,在部署安裝完成后對信息采集認(rèn)證系統(tǒng)進(jìn)行性能測試。根據(jù)系統(tǒng)的性質(zhì)和內(nèi)容,本系統(tǒng)分別對信息采集數(shù)據(jù)裝載速度、信息采集裝載規(guī)模、身份認(rèn)證并發(fā)數(shù)和身份認(rèn)證響應(yīng)時間幾個指標(biāo)進(jìn)行性能分析。
4.1 信息采集數(shù)據(jù)裝載速度
由于數(shù)據(jù)在數(shù)據(jù)庫中是不能重復(fù)的,因此,本文根據(jù)模板數(shù)據(jù)包生成大量的測試數(shù)據(jù)包,然后利用測試程序?qū)ζ溥M(jìn)行數(shù)據(jù)裝載。信息采集數(shù)據(jù)裝載平均速度為80萬條/h。
4.2 信息采集數(shù)據(jù)裝載規(guī)模
同樣利用測試程序?qū)π畔⒉杉到y(tǒng)進(jìn)行數(shù)據(jù)裝載,裝載測試數(shù)據(jù)2300萬條。因此該系統(tǒng)支持千萬級信息采集數(shù)據(jù)裝載規(guī)模。
4.3 身份認(rèn)證并發(fā)數(shù)和平均響應(yīng)時間
身份認(rèn)證需要互聯(lián)網(wǎng)的實時認(rèn)證,因此要考慮其認(rèn)證并發(fā)數(shù)和認(rèn)證平均響應(yīng)時間。本文選擇Jemeter作為身份認(rèn)證的測試工具。身份認(rèn)證的并發(fā)數(shù)不少于1500,身份認(rèn)證的平均響應(yīng)時間小于15s。
5 結(jié)論
本文利用微服務(wù)技術(shù)設(shè)計了一套信息采集認(rèn)證系統(tǒng),其中包括信息采集系統(tǒng)和身份認(rèn)證系統(tǒng)。系統(tǒng)將主流框架SpringBoot和微服務(wù)容器Docker與信息采集認(rèn)證系統(tǒng)結(jié)合,使該系統(tǒng)開發(fā)簡單、部署簡易、方便遷移。同時,本文通過法人身份的有效驗證,可以實現(xiàn)物理印章、電子印章、法人信息相結(jié)合的物電人一體化綜合管理,可有效杜絕違法犯罪分子利用假冒印章進(jìn)行違法犯罪行為,重構(gòu)我國與公章相關(guān)的誠信體系,使印章能夠真正代表企業(yè)的法定身份,極大地降低此類經(jīng)濟(jì)犯罪案件的損失。
【參考文獻(xiàn)】
【1】張晶,王琰潔,黃小鋒.一種微服務(wù)框架的實現(xiàn)[J].計算機(jī)系統(tǒng)應(yīng)用,2017(4):82-86.
【2】王永和,張勁松,鄧安明,等.Spring Boot研究和應(yīng)用[J].信息通信,2016(10):91-94.
【作者簡介】許春亮(1993-),男,山東日照人,助理工程師,從事計算機(jī)技術(shù)研究。