APP下载

基于分层模式构建的省级政务热线平台研究与实现

2022-03-23甘铮

网络安全技术与应用 2022年2期
关键词:热线分布式框架

◆甘铮

基于分层模式构建的省级政务热线平台研究与实现

◆甘铮

(广西壮族自治区信息中心 广西 530201)

为解决了省级热线平台接口复杂、管理困难、维护成本高、数据安全保障等问题,满足跨部门、跨层级的业务数据流转,实现数据统一出入口、统一数据规范、统一技术体系、统一安全标准、统一业务协同的新模式,本文从利用平台分层模式结合FUI、DTO、CommonDao等技术框架以及RabbitMQ、redis、Sharding-JDBC、RESTful服务接口管理等核心技术优势进行省级热线平台的研究和建设,充分地利用了基础设施资源、节约建设成本,取得了较好的效果。

政务热线;系统平台;分层模式;业务协同;数据安全

我国政务热线发展逐步走向成熟,在部门热线不断整合的基础上成为综合性的政务热线中心,提升了服务便捷性和质量。但由于历史原因,省级热线核心平台仍存在数据接口复杂、管理困难、维护成本高等问题。为此,本文提出利用分层模式和相应关键技术进行省级热线平台的构建,实现拥有海量、真实、实时数据和易于平台整合、数据动态化管理的政务热线平台,为政府决策提供依据及数据支持。

1 平台设计

1.1 总体架构设计

热线平台总体架构(如图1所示)基于信息安全与管理体系和运营规范标准体系的规范框架下,采用分层模式来构建系统,这种模式可以分解子任务组的程序,让每个子任务都处于特定的抽象层次,为下一层提供更高的服务。平台的整体构建充分整合了政府服务及社会化服务,并实现对政府服务全程监督监控及绩效评估。

图1 热线平台总体架构

1.2 基础设施层

基于政务云资源进行建设部署,是平台建设的基础和前提。

1.3 数据支撑层

此为上层提供数据支撑,以信息整合共享标准和业务信息为基础,收集和整理各类信息数据,建立相应业务信息数据库,利用数接口和动态化接口管理机制实现信息资源的安全交换与共享。主要包括诉求数据库、业务知识库、协同数据库、事项数据库与语音数据库等。

1.4 业务支撑层

采用面向SaaS(Software as a Service)应用的多租户技术框架,构建热线平台SaaS模式云服务。业务支撑平台主要由用户管理、授权管理、安全管理、数据交换及业务管理共同构成。提供满足WFMC规范的标准工作流引擎和工作表单定制的功能,同时可以在工作流引擎的支持下开发、挂接其他业务应用;提供完善的业务资料管理功能,解决各种文档、表单、资料形成处理完毕后的数据汇总,同时提供强大的检索与查找功能。主要包括表单引擎、流程引擎、规则引擎、可视化引擎与智能化引擎等,为各类业务应用提供一系列通用化服务。

1.5 业务应用层

业务应用体系是政务热线服务平台建设的主要内容,包含全域协同平台、中心管控平台、智能AI平台、大数据分析平台与智能知识库,是搭建平台建成的主要内容。

1.6 服务接入层

服务是政府热线服务平台建设的出发点和落脚点。平台可提供电话、微信、网站等多种服务接入方式,同时提供自助下单、知识服务、在线客服、视频客服等对外服务。

2 关键技术应用

热线平台采用JavaEE作为基础技术路线,JavaEE是一套针对企业级分布式应用的计算环境。它定义了动态Web页面功能(Servlet和JSP)、商业组件(EJB)、异步消息传输机制(JMS)、名称和目录定位服务(JNDI)、数据库访问(JDBC)、与子系统的连接器(JCA)和安全服务等。

2.1 技术框架

热线平台从省级热线业务协同工作的角度,进行平台前后端的纵向与横向技术框架设计。

(1)纵向架构

通过FUI、DTO、持久层等技术架构的设计,构建热线平台后端服务能力的支撑体系。

① FUI架构

FUI架构(如图2所示)包含热线业务系统前端框架、互联网门户类项目骨架以及移动跨平台前端开发框架,支持多类型、多平台系统对接的开发需求,为热线平台多渠道受理奠定基础,通过采用HTML5技术,支持IE11,在chrome、firefox上有更好的体验效果,统一界面风格、保证美观度的同时告别单一的语音诉求渠道,丰富了微信、网站、公众号等种诉求渠道。

② DTO架构

CommonDTO技术是热线平台得以实现前后分离的黏合剂,它在前端FUI组件与服务端Controller处理之间搭建了一座桥梁。整个功能架构(如图3所示)引用JSF的阶段处理理念,清晰了web请求从开始到结束,完整地处理流程。运用了MVC模式,将每个表单控件组装成model,使得业务处理与数据模型的封装分离。

图2 FUI架构

图3 DTO架构

③持久层架构

采用CommonDao对象关系映射框架(如图4所示),对JDBC进行了非常轻量级的对象封装。将POJO与数据库表建立映射关系,是一个全自动的ORM框架,可以自动生成SQL语句,自动执行,使得热线系统开发人员可以方便地使用对象编程思维来操纵数据库。同时它支持弱类型的SQL语句、key-value形式的弱类型编程,可以应用在任何使用JDBC的场合,不仅局限在web,完成数据持久化的重任,同时基于CommonDao的数据访问层对于业务系统适配国产化数据库乃至分析型数据库的改造提供了便利,在保证调用层写法不变的情况下,使热线平台除了支持Mysql、Oracle、Sqlserver等传统关系型数据库之外,还支持达梦、人大金仓、瀚高、神通、Gaussdb等国产数据库,多种数据存储方式也为将来的热线平台进一步完善改造奠定基础。

图4 CommonDao关系映射框架

(2)横向架构

基于RabbitMQ技术实现前端业务流程异步处理(如图5所示),在消息队列机制下进行工作流的流转,可以有效提高具体业务流转的稳定性和效率,主要如首页相关信息加载、归口类型下拉树等高并发的业务场景。同时,使用Redis缓存技术,应用于业务编号的生成机制和组织架构等常用数据缓存中,可以避免同一时间的业务生成同样的业务编号,避免流程数据冲突导致平台业务异常的问题,同时减小数据库服务器压力,提升平台性能和业务应用的流畅性。

图5 RabbitMQ业务流程异步处理

(3)集成框架

平台内部由多个系统、组件按照集群架构共同协作处理用户的操作请求,整合为一个系统端面向用户提供分布式架构服务能力。整个系统内部协作采用黑盒流程,实现用户端交互体验和使用单独系统没有差异。集成框架主要由分布式应用、分布式消息中间件、分布式缓存、分布式数据库管理等技术架构组成。

①分布式应用技术

实现让应用支持横向扩展,应对日均上万的业务办理量热线的海量数据问题,通过增加应用服务器的方式来将应用集群化,将用户请求分流到各个服务器中,从而达到提升系统负载能力的目的。

②分布式消息中间件技术

热线平台以RabbitMQ技术作为分布式消息中间件,由消息队列异步处理热线业务数据。RabbitMQ消息队列异步处理是基于Erlang的分布式特性来实现的,主要实现原理为:RabbitMQ底层通过Erlang架构来进行,Rabbitmqctl会启动Erlang节点,并基于Erlang节点来使用Erlang系统连接RabbitMQ节点,在连接过程中Erlang节点需要通过交换正确的Erlang Cookie和节点名称以获得认证。

③分布式缓存技术

热线平台缓存主要采用分布式缓存redis中间件技术来实现,将平台频繁访问但更改频率低的业务数据存入缓存,是热线平台中必不可少的模块,也是平台成为高并发高性能架构的一个关键组件。

④分布式数据库管理技术

数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制,于是需要从应用程序的角度来考虑改善系统架构,热线平台分布式数据库管理主要采用Sharding-JDBC技术,其直接封装JDBC API,可以理解为增强版的JDBC驱动,适用于任何基于Java的ORM框架,如:JPA、Hibernate、Mybatis、Spring JDBC Template和直接使用JDBC,或基于任何第三方的数据库连接池,如:DBCP、C3P0、BoneCP、Druid等。基于Sharding-JDBC数据管理技术,通过挂接不同的业务数据表,来实现不同业务数据的录入、修改、查看和输出打印等功能。通过分布式数据库管理技术平台应用不用再编写代码,通过后台配置就可以实现一个数据表管理模块的动态创建和菜单挂接,并可以轻松实现查询模板、统计报表模板的创建,从而大大缩短开发周期,并确保平台的稳定性和安全性。

2.2 数据交换

数据交换是热线平台与成员单位之间信息资源交换与处理的基础,根据数据共享实时性要求的不同,数据交换业务由接口服务、数据交换管理系统构成,提供交换节点之间的数据及文件等的抽取、转换、传输和加载等数据交换能力和服务交换的管理,确保各级热线中心之间数据交换过程中的安全,对交换流程、交换节点、交换量等进行统一配置和监控(如图6所示)。

图6 平台数据交换架构

接口服务系统:为满足上级与下级业务平台之间的业务协同、实时服务信息、业务汇聚情形而搭建的数据交换系统,涵盖了接口发布、服务调用和日志的统一管理。

数据交换管理系统:实现对交换平台用户、接入权限、交换日志和交换过程监控的统一管理。

(1)数据交换技术

平台各成员单位台交换数据方式通过部署RESTful服务接口来实现实时服务信息接口由上级平台部署供下级调用,达到数据交换。服务接口调用方式适用于实时服务信息上报、业务汇聚和业务协同办理等情形。服务数据交换格式:JSON数据格式,编码采用UTF-8方式,附件处理采用BASE64编码。

(2)服务接口安全技术

为保证RESTful服务接口调用安全性,服务接口均基于Token验证机制,以保证接口服务安全可靠。Token代表在计算机身份认证中的令牌,意味着必须通过这个标识才能访问一些服务,它具有时效性。其验证机制技术原理为:

Clieng_Id和Client_secret代表着设区市和省直单位在线服务平台需要接入省级平台时分配的账号密码,必须根据该账号和密码才能获取Token,进而实现接口的接入。向省平台申请授权成功后,省级平台会分配一个Clieng_Id和Client_secret给设区市和省直单位相应在线服务平台。

第一步:调用正式请求前需先调用token认证请求,请求路径:

http://ip:port/cns-gxbmfw-ywxtrest/rest/token/getToken

请求参数:

第二步:如果clieng_Id和client_secret校验成功,接口会返回以下格式的数据,access_token就是接入token,expires_in就是过期时间(单位为秒),如果过期了,则需要重新调用此接口(如图7所示)。

图7 clieng_Id和client_secret的校验

第三步:客户端自己保存获取到的token,如果过期了,则重新调用上述接口刷新token,验证token通过后接入系统。

3 结束语

本文利用分层架构模式,结合FUI、DTO、CommonDao等技术框架以及RabbitMQ、redis、Sharding-JDBC、RESTful服务接口管理等核心技术优势进行省级热线平台的建设,解决了省级热线平台接口复杂、管理困难、维护成本高、数据安全保障等问题,满足了跨部门、跨层级的业务流转,实现数据统一出入口、统一数据规范、统一技术体系、统一安全标准、统一业务协同的新模式,最大程度利用了基础设施资源,节约建设成本,也为省级政务热线开展热线归并、国家与地方热线平台对接工作奠定了基础。

猜你喜欢

热线分布式框架
96365健康热线 有问必答 有求必应
96365健康热线 有问必答 有求必应
96365健康热线 有问必答 有求必应
基于RTDS的分布式光伏并网建模研究
有机框架材料的后合成交换
框架
基于预处理MUSIC算法的分布式阵列DOA估计
关于原点对称的不规则Gabor框架的构造
分布式并联逆变器解耦电流下垂控制技术
我国在WYO框架下面对的贸易保护现状及应对