智能流调系统建设关键问题探讨

2022-10-04 06:21万源章诗韵
中国现代医生 2022年24期
关键词:数据库智能系统

万源 罗 俊 章诗韵

武汉市疾病预防控制中心信息科,湖北武汉 430022

系统开发是一个复杂的软件工程,充分的需求调研、稳健的技术支撑、全面的安全防护、畅通的数据交换等都直接影响到系统的使用效果。武汉市疾病预防控制中心于2021 年开始建设武汉市智能流调系统,目前已完成系统的开发工作并进入试运行阶段。为确保该系统能高效服务于现场流行病学调查工作,项目管理团队从开始的需求调研,到专家的可行性论证,再到软件的程序开发,每一个环节都进行充分的思考和论证。本研究拟结合实践经验对系统建设的关键点进行总结,以期为其他地区类似系统的开发设计提供参考。

1 需求设计

开展头脑风暴和滚动式磋商。在系统建设前期,开展多轮头脑风暴,充分了解流调工作的业务需求和应用场景,集中研究后形成初步的需求规格说明书。基于需求规格说明书初稿开展滚动式磋商,论证需求的合理性和可落地性,进而形成最终的需求规格说明书,保证需求的严谨性。

优先选用优化管理级能力成熟度模型认证的企业。这样的企业会对项目管理过程进行量化反馈,并学习新思想、新技术,促使管理过程不断改进,规范软件开发流程,提高产品质量,解决人员流动带来的问题,降低开发成本。

采用敏捷开发项目管理机制。在项目建设管理过程中,采用敏捷开发的项目管理机制,促进跨部门协作,加快需求的迭代开发,保证开发完成一部分功能就投入使用一部分,通过实战快速检验设计的合理性。另外,在每个需求投入开发前,绘制产品原型,进行流程推演,减少开发返工概率。

建立需求的可追踪性。使用需求跟踪矩阵跟踪每个需求的状态。在需求变更、设计变更、代码变更、测试用例变更时,需求跟踪矩阵对变更波及范围及影响进行分析避免遗漏某些连锁变化。在软件部署生命周期结束时,需求跟踪矩阵从提供的单个文档中捕获流调系统需求方提出的所有需求,通过测试用例检测需求是否实现,实现需求的可追溯性。

2 系统性能

2.1 软件性能

(1)引入异步处理机制。通过建立消息队列,将一部分非实时业务转换成异步处理,减轻同步响应和并发访问带来的性能瓶颈。(2)采用微服务架构。利用开源的轻量级微服务的分布式服务技术框架,将后端业务进行拆分,采用分布式部署。对运行压力大的模块,多部署几个节点,通过建立负载均衡机制,有针对性地提高系统运算能力。对分布式系统建立熔断机制,一旦有节点出现故障,能及时进行自动切换,保证系统正常运行。(3)利用边缘计算。采用渲染方式将一些图表、图片和文档的生成导出功能前置到客户端完成,减少服务端计算压力和带宽传输压力。(4)自动化测试覆盖。使用自动化测试工具,提高测试用例覆盖率,将大部分系统的功能用自动化测试进行检验,严格控制需求变更带来的系统风险。

2.2 数据库性能

(1)引入Redis 缓存中间件。通过建立Redis缓存,减少非实时数据查询对服务器造成的压力;同时为保证Redis 的高可用,引入哨兵机制等,防止Redis 的单点故障。(2)建立数据库集群。提供负载均衡能力和自动优化能力,采用高级别开源关系数据库系统,支持云架构部署的主流数据库,利用数据读写分离、数据分区、并行查询等技术提高系统性能和可伸缩性。

2.3 服务器性能

(1)资源动态优化配置。采用虚拟化和云计算技术实现应用系统资源的动态优化和配置,以保证业务系统实时处理接收数据的高性能和稳定性,将各个微服务模块通过docker 打包在虚拟机之上,并能够进行动态资源分配和动态服务迁移;在关键子系统计算资源紧张时能够自动从空闲的子系统分配的资源中调动中央处理器、内存等资源,防止关键系统宕机或超负载运行。(2)建立完善的日志管理系统。使用Raft 算法,实现日志的分布式管理;同时本项目中采用基于云计算的NoSQL 数据库统一管理操作日志和系统监控日志,防止数据库负载过大引起超负载运行等危险运行状态。(3)使用内存数据缓存技术。将Session 数据存入内存缓存,采用内存缓存技术存储业务规则和经常使用的代码数据,减少集群间Session 复制对资源的耗费。

3 数据安全

3.1 访问安全

一是系统部署在卫生专网内,通过网络隔离保证安全性。二是采用最小化管理数据库的用户权限,禁止使用root 账号远程登陆数据库所在服务器。三是对用户进行权限管理,防止非授权用户访问和操作系统。系统主要通过以下两种授权机制保障访问安全:(1)访问控制列表(access control lists,ACL)。通过应用中间件的ACL 实现对特定数据库连接池、消息连接池的访问安全控制;(2)行级数据访问权限。对于特别重要的数据,表级数据访问控制权限若仍不能满足需求,可建立行级访问控制策略。为启用行级访问控制的每一张数据库表增加行级访问控制权限列,并为数据库用户授予数据库表中相应行的访问权限及访问类型,对用户实施行级访问控制。

3.2 存储安全

(1)数据备份与恢复。通过硬件和软件的方式定期对重要数据进行备份,使用数据库自带的备份Server 完成对数据的备份,结合人工备份的方式,将历史数据定期备份到其他磁盘或磁带上。建立数据库镜像。同步数据库镜像会话时,数据库镜像提供了热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。在一般的镜像会话期间,如果生产服务器出现故障,客户端应用程序可通过重新连接到备用服务器来快速恢复数据。(2)关键数据加密。对系统中的关键数据进行加密,包括所有用户的登录密码、权限信息、重要的配置信息等,在系统开发过程中提供两种方式对关键数据进行加密:一是采用非对称密钥体系,使用数字证书对需要进行保护的数据进行算法加密;二是使用国产密码进行加密后保存。

3.3 传输安全

一是本项目中所有用户认证数据、签名数据等关键隐私数据都是加密传输,以保证数据的安全可靠性。二是采用安全套接层(secure sockets layer,SSL)协议中相关算法进行传输层的加密,在智能流调系统进行纵向数据传输或通过网页提交重要数据时,均通过Https 协议实现SSL 的数据加密传输,防止通过网络传输的重要信息或敏感信息被截获。三是对系统的管理数据、鉴别信息等重要业务数据在传输过程中进行完整性检测,并在检测到完整性错误时采取必要的恢复措施。

3.4 访问安全

智能流调系统建立统一的门户认证体系,对所有用户进行统一授权管理,见图1。

图1 统一门户认证体系

智能流调系统建立主认证机制。主认证包含用户验证和Token 验证,先通过Token 验证获取资源,再将获取的资源传入另外一个接口参数中,进一步调用用户验证接口,见图2。

图2 主认证机制

4 互联互通

4.1 数据交换系统

数据交换系统是在数据交换时使用的(extract–transform–load,ETL)数据交换工具,通过实时数据采集配置、ETL 参数配置和监控节点配置实现数据资源管理、ETL 运行管理等功能。通过建立数据交换系统,实现与疾控机构内部系统之间的数据互通及与本级卫生行政部门、上下级疾控机构的数据交换和信息共享,这种模式主要适用于库表数据交换方式,见图3。

图3 数据交换系统

4.2 ESB 中间件技术

智能流调系统的数据交换除了库表方式,还有外部接口方式。智能流调系统的外部接口需求主要包括与上级疾控机构数据交换接口、与疫情系统数据交换接口、与卫生行政部门指挥平台数据交换接口。企业服务总线(enterprise service bus,ESB)是传统中间件技术与可扩展标记语言(extensible markup language,XML)、Web 服务等技术结合的产物。ESB 能够识别不同的应用系统类型及数据接口,方便地与各类型的数据库、文件、消息接口等建立集成机制,实现数据通信及数据交换。此外,它支持任意系统之间实现主动发送、请求/应答、订阅/发布交换模式,并通过路由控制实现分布式网络中的信息交换。在流调系统的建设中存在大量与其他系统集成的需求,采用ESB 技术可快速完成数据互通,可实现不同业务系统的整合和应用集成,见图4。

图4 ESB 总线图例

4.3 业务中台

智能流调系统是武汉市公卫云项目整体规划的子系统之一,其数据除了需要服务于自身的数据链路外,还需要交换至武汉市全民健康信息市区一体化平台。公卫云项目在建设中,对业务层进行抽象,搭建业务中台,实现业务逻辑的前后端分层,实现大部分组件的共建共用,提升代码复用性和运行效率。智能流调系统基于业务中台实现与武汉市全民健康信息市区一体化平台的交换,见图5。

图5 业务中台内容

4.4 统一数据管理

按照武汉市全民健康保障信息化工程要求的“统一数据采集、业务应用共享”的建设思路,智能流调系统与卫生行政部门、公安、民政等系统进行数据互联互通时,必须坚持一数一源,统一入口。在设计上,以人为核心的生产数据库依托武汉市全民健康信息市区一体化平台的统一采集交换平台采集,从平台的核酸检测库、阳性感染库及全员人口数据库中自动抽取相关业务协同信息,构建电子疾病档案管理库,统一交换到各个业务系统,智能流调系统即为其中之一。

5 结语

智能流调系统的建设,其主要目的是为流调工作提能增效。围绕这个目标,对系统建设需求优化完善,对系统性能升级优化,对数据安全加固防护,对互联互通进行尝试,都是非常有必要的。目前该系统处于试运行阶段,显示系统功能覆盖业务场景,系统自动获取相关基础数据,极大减少了现场询问和录入工作量,PAD 设备使用便捷。待系统正式上线推广使用后,将对比系统使用前后流调工作的质量和效率,科学评估系统的运行效果。

猜你喜欢
数据库智能系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
基于PowerPC+FPGA显示系统
智能前沿
智能前沿
智能前沿
智能前沿
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
数据库
数据库