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