许春亮 邓蔚 李英 张莹 王永伦
【摘 要】论文首先介绍了SpringBoot的概念和特性,然后对信息采集认证系统的框架进行设计,并且介绍了如何将信息采集认证系统微服务化,最后对信息采集认证系统进行性能分析,预估其在实际使用过程中的最大限度。
【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.
【关键词】SpringBoot;微服务;信息采集;身份认证
【Keywords】SpringBoot; microservice; information acquisition; identity authentication
【中图分类号】TP391 【文献标志码】A 【文章编号】1673-1069(2019)12-0194-03
1 引言
信息采集认证系统分为两个子系统,即信息采集系统和身份认证系统。由于现有主流架构技术是微服务架构,并且其具有架构风格轻量、易于开发和维护、跨平台性良好等优点,因此,本文中的信息采集认证系统从设计开发到部署实施都是采用微服务架构[1]。
本文中的信息采集系统可与印章治安管理系统等现有系统配合使用。为了更好地与信息采集系统配合使用,本文设计了一套身份认证系统,该系统可为印章申领过程中所涉及的印章相关人进行身份认证,加强了对法人的身份认证,实现了物电人一体化综合管理。
2 SpringBoot的介绍
SpringBoot框架是Java平台上的一种开源应用框架,其自身对编程模型沒有限制。Spring框架为开发者提供了一系列的解决方案,如利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问等。
2.1 SpringBoot的启动流程
SpringBoot的启动过程主要涉及两个部分,即SpringBoot的初始化模块和SpingBoot的具体启动模块,图1为SpringBoot的启动流程图[2]。整个启动过程中涉及一个重要概念,即自动化配置模块,该模块是SpringBoot自动配置的核心。
SpringBoot的初始化是由组装SpringApplication开始。SpringBoot初始化后调用run方法。每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个SpringBoot程序,该方法所在类需要使用@SpringBootApplication注解。
2.2 SpringBoot的特点
SpringBoot快速开发了Spring应用框架,其中内嵌了tomcat和jetty容器,不需要单独安装容器。SpringBoot简化了maven配置,一站式引入需要的各种依赖,并且由其封装的jar包可以直接发布Web应用。SpringBoot是基于注解的零配置思想,与各种流行框架无缝整合。
3 信息采集认证系统的架构设计
3.1 信息采集认证系统的整体介绍
信息采集认证系统分为两级子系统,即信息采集系统和身份认证系统。信息采集系统的主要功能是对法人及法人单位等相关信息进行采集,该系统可与印章治安管理系统进行对接。印章是法人单位的身份象征。身份认证系统的主要功能是对法人及印章相关人的身份进行认证。身份认证系统以互联网可信身份认证平台为依托,对法人及印章相关人进行实人、实证的身份认证,实现了人证合一的综合管理。
3.2 信息采集认证系统的架构设计
信息采集认证系统是由信息采集系统和身份认证系统组成,图2为信息采集认证系统的架构设计图。由于各省份都已建立各自的省级印章治安管理系统,因此信息采集系统可以与各省份的印章治安管理系统和电子印章管理系统配合使用。该系统同时可为可信印章鉴别监测平台等提供查询接口。
身份认证系统可以为法人及印章相关人进行身份认证。同样,该系统可与各省的印章治安管理系统和电子印章管理系统对接配合使用,各省通过各自集成了采集认证构件的终端设备对相关人员的身份数据进行采集,然后依次发送至印章治安管理系统或电子印章管理系统、身份认证系统,最终到达互联网可信身份认证平台对认证人员进行身份认证,并将认证结果返还至终端设备。本文在设计和实现信息采集认证系统时,考虑开发简单、易于部署和微服务化,因此开发的过程中统一使用SpingBoot框架。
3.3 信息采集认证系统的功能描述
信息采集认证系统分为信息采集子系统和身份认证子系统,每个子系统下包括主要功能和辅助功能,图3为信息采集认证系统的功能划分。
3.4 信息采集认证系统的接口设计
3.4.1 信息采集系统的接口设计
信息采集接口是通过https传输协议方式对外提供服务的,请求方法为POST,数据包格式为xml。在对法人信息采集的过程中考虑到数据来源的不同,将接口分为三类即法人印章信息采集接口、印章从业人员采集接口和电子印章用章人采集接口。具体接口设计如下:
①接口名称:法人印章信息采集接口。
功能:接收并处理法人单位及印章相关信息;
输入:法人单位为起始的嵌套物理印章信息及电子印章信息数据包;
输出:法人印章反馈数据包。
②接口名称:印章从业人员采集接口。
功能:接收并处理从业人员信息;
输入:印章从业人员信息数据包;
输出:印章从业人员反馈数据包。
③接口名称:电子印章用章人采集接口。
功能:接收并处理电子章用章人信息;
输入:电子印章用章人信息数据包;
输出:电子印章用章人反馈数据包。
3.4.2 身份认证系统的接口设计
身份认证系统包括身份认证申请服务接口和身份认证请求服务接口,通过https传输协议方式对外提供服务,请求方法为POST,数据包格式为JSON。具体的接口设计如下:
①接口名称:身份认证申请接口。
功能:接收客户端发来的认证申请;
输入:读控件版本(可选)、认证模式等;
输出:业务流水号、随机数等。
②接口名称:身份认证请求接口。
功能:接收客户端发来的认证请求;
输入:业务流水号(一包返回)、认证模式、认证数据(可选)等;
输出:认证结果等。
3.5 系统微服务化部署
Docker是一个开源的应用容器引擎,使开发者可以打包其应用以及依赖包到一个可移植的镜像中。作为一种轻量级的虚拟化方式,Docker的优点有:更快速的交付和部署、更高效的资源利用、更轻松的迁移和扩展、更簡单的更新管理。结合本文的系统,设计系统Docker微服务化部署图,如图4所示。
4 性能评估与分析
衡量一个应用系统的标准是性能,因此,在部署安装完成后对信息采集认证系统进行性能测试。根据系统的性质和内容,本系统分别对信息采集数据装载速度、信息采集装载规模、身份认证并发数和身份认证响应时间几个指标进行性能分析。
4.1 信息采集数据装载速度
由于数据在数据库中是不能重复的,因此,本文根据模板数据包生成大量的测试数据包,然后利用测试程序对其进行数据装载。信息采集数据装载平均速度为80万条/h。
4.2 信息采集数据装载规模
同样利用测试程序对信息采集系统进行数据装载,装载测试数据2300万条。因此该系统支持千万级信息采集数据装载规模。
4.3 身份认证并发数和平均响应时间
身份认证需要互联网的实时认证,因此要考虑其认证并发数和认证平均响应时间。本文选择Jemeter作为身份认证的测试工具。身份认证的并发数不少于1500,身份认证的平均响应时间小于15s。
5 结论
本文利用微服务技术设计了一套信息采集认证系统,其中包括信息采集系统和身份认证系统。系统将主流框架SpringBoot和微服务容器Docker与信息采集认证系统结合,使该系统开发简单、部署简易、方便迁移。同时,本文通过法人身份的有效验证,可以实现物理印章、电子印章、法人信息相结合的物电人一体化综合管理,可有效杜绝违法犯罪分子利用假冒印章进行违法犯罪行为,重构我国与公章相关的诚信体系,使印章能够真正代表企业的法定身份,极大地降低此类经济犯罪案件的损失。
【参考文献】
【1】张晶,王琰洁,黄小锋.一种微服务框架的实现[J].计算机系统应用,2017(4):82-86.
【2】王永和,张劲松,邓安明,等.Spring Boot研究和应用[J].信息通信,2016(10):91-94.
【作者简介】许春亮(1993-),男,山东日照人,助理工程师,从事计算机技术研究。