APP下载

基于云服务的工程结构计算平台架构设计

2022-12-02郑之光ZHENGZhiguang

价值工程 2022年32期
关键词:日志架构服务器

郑之光ZHENG Zhi-guang

(四川旷谷信息工程有限公司,成都 610036)

0 引言

随着经济的发展和各种工程建设的开展,我国在工程建设领域取得了长足的进步,安全是工程建设领域的重要课题,为确保工程质量和施工安全,工程建设的任意阶段几乎都离不开结构计算,结构计算的流程常常会历经建模-分析-评审等一系列流程,但现阶段大多均采用本地计算分析,计算书送审的形式。这样的流程会产生许多问题,例如模型共享、数据丢失、重复工作等问题。

结构计算采用的矩阵位移法、有限元法[1]等都属于资源密集型任务,如果采用云计算的方式进行结构计算,只需要云端具有足够资源处理这些资源密集型任务,那么客户端就不会有特定的配置要求。这使得通过平板、手机等设备使用结构计算相关的各种服务成为了可能,能够促进用户随时随地使用这些功能,提高工作效率;另一方面,由于每个用户的数据都存储在云端,数据和文档的共享会更方便,这意味着共享文件并不意味着传输文件,仅需要对文档的访问权进行授权即可;由于数据都存储在云端,这为结构并行计算、结构计算会审评审系统、施工期数据挖掘等功能提供了有利条件;数据存储在云端比存储在本地更加安全,云端数据库和存储设计会进行故障安全设计,防止数据意外丢失。

1 系统架构

工程建设中为确保施工安全,需要对各式各样的临时工程进行结构计算以快速验证临时结构是否满足相关规范要求,因此存在工作量大,重复性高的特点,整个过程又需要经过建模、计算和评审等信息流转的过程,尚不存在系统化的平台对其进行管理。

因此,为满足大量用户共同使用同一平台,实现建模、计算、分析、模型信息存储、计算书生成、结果评审等一体化流程,在进行系统架构设计时,要注意可扩展性、可靠性、高性能和安全性。

2 应用架构

系统整体分为前端架构和后端架构,前后端数据通信通过定义API 的方式进行,实现前后端完全分离:前端采用HTML 进行数据呈现;后端采用微服务架构进行模块化开发,并采用Maven 进行多模块管理,微服务独立部署在Web 服务器上,并通过Nginx 反向代理到相应服务器,实现负载均衡;前后端通信采用定义API 的方式进行,所有API 服务均会被微服务网关拦截,拦截的API 请求通过负载均衡策略路由到注册的服务集群,待认证与授权通过后才能放行。

如图1 所示,系统分为了应用层、网关层、注册中心、服务层、组件服务层、存储层和自动构建层,通过由下及上的七个层级。各层级具体说明如下:

应用层:为结构计算平台的前端资源部分,被部署在Nginx 中,该部分包含图片资源、JS 脚本、CSS 样式文件等内容。其中Nginx 负责流量分发的逻辑和策略,将请求下发到网关层。

网关层:实现对进入微服务注册中心的外部请求进行筛选,辨别其是否为恶意攻击业务服务。通过进行严格的清洗与过滤,防止系统遭受攻击。同时网关层还具备用户鉴权等功能,能有效防止如伪造请求等一系列非法请求对系统进行侵害。

注册中心:负责管理、记录服务提供者的信息。服务调用者将需求提供至注册中心,注册中心将符合需求的服务进行反馈。同时服务提供方与注册中心之间通过“心跳”机制进行监控,当某个服务提供方出现问题,注册中心将其从服务列表中剔除。

服务层:是结构计算平台承上启下的核心部分,微服务主要包括基础微服务和业务微服务。基础微服务作为结构计算平台底层支撑框架,主要包括微服务注册、认证、配置和网关等。业务微服务主要将当前结构计算平台功能按业务领域拆分为项目管理、用户管理、计算、统计分析、消息中心等几部分服务,提高系统整体运行稳定性和冗余性。

组件服务层:主要由RabbitMQ、OSS、Redis 等组成,提供消息服务、文件存储、容错机制、信息调度和传输等通用服务至上层应用系统,从而实现层级间的通信。

存储层:采用主从方式对数据进行缓存,通过OSS 对项目中的文件进行集中式存储和管理。开发及运维人员通过ELK 对于存储层的活动进行收集并形成日志,当有需求时可进行检索追溯。

自动构建层:主要基于Gitlab 的持续集成与部署,在开发人员提交了新代码之后,即可实现单元的构建和测试。开发人员可根据测试结果判断集成的正确性,并可根据异常信息进行问题追踪定位。

3 数据架构

如图2 数据架构图所示,通过结构计算云平台进行结构建模,利用个人空间管理结构计算工程项目,期间产生的数据均经过存储中心,后期利用大数据技术分析过滤后形成数据资产。存储数据资产可为后续的结构分析、结构评审、共享模型市场等提供数据支撑。

系统数据主要包含文件数据、业务数据、日志数据三个方面,文件数据主要指用户提交的结构计算平台的计算模型,再由计算中心计算产生的计算结果文件。业务数据主要包含个人空间的操作以及权限控制数据,日志数据是系统产生的过程性事件记录数据,通过查看日志数据,可以了解到具体哪个用户、在具体什么时间、在哪台设备上或者什么应用服务中、做了什么具体的操作。

3.1 系统日志设计

引入日志收集与分析系统(ELK + Filebeat),其目标是解决日志定位以及收集问题[2]。组件中Filebeat 为采集部分,Logstash 为管道传输部分,Elasticsearch 为存储和搜索部分,Kibana 为可视化日志应用系统。此架构由Filebeat 分布于各个节点上搜集相关日志、数据,并经过分析、过滤后通过Logstash 发送给远端服务器上的Elasticsearch 进行存储。Elasticsearch 将数据以分片的形式压缩存储并提供多种API 供用户查询,操作。用户可以更直观的通过配置Kibana Web 方便的对日志查询,并根据数据生成报表。日志收集系统架构图如图3。

如图3 所示,当开启Filebeat 程序的时候,它会启动一个或多个探测器去检测指定的日志目录或文件,对于探测器找出的每一个日志文件,Filebeat 会启动收集进程,每一个收集进程读取一个日志文件的内容,然后将这些日志数据发送到后台处理程序,后台处理程序对这些事件进行整合,最后发送整合后的数据到存储服务器,完成日志收集流程。后续,研发人员或者维护人员通过Kibana Web 查看运行日志,分析用户行为等操作。

3.2 数据库设计

系统需要保证高可用、高性能,在可扩展的同时需要满足数据的一致性。因此数据库架构采用主备架构,只有主库提供读写服务,备库冗余作故障转移。

3.3 文件存储设计

采用集群方式部署微服务,产生资源文件的集中化处理难度将大大增加,虽然可以采取FTP、MQ 发布订阅等其他文件同步的方式解决,但是文件同步的问题将造成系统的不一致,存在可用性缺陷。因此文件存储需要设计独立的分布式文件存储系统,将平台产生的文件存储在独立的文件系统中,服务直接从文件系统获取资源。

文件存储采用单主机多硬盘模式,在一台服务器上搭建服务,但数据分散在多块(大于4 块)磁盘上,在解决不一致性的基础上也提供了数据上的安全保障,增加了抗风险能力,在后期文件服务器负载压力提高时,也可以在多台服务器上搭建服务便于扩展。文件存储系统架构图如图4。

采用上述方式在多台服务器上搭建文件存储服务,且数据分散在多块磁盘上,提供了较为强大的数据冗余机制,同时也解决了MginIO 服务存在单点故障问题[3]。

4 安全架构

4.1 网络安全

①结构安全,结构安全方面,软件前端应用在外部服务网部署,后端服务及数据库在内部服务网应用类服务区部署;按照互联网接入区、应用类服务区等进行网络区域划分。利用内部服务网和外部服务网构建安全网络结点,以及各网络区域之间的安全防护措施,形成纵深的安全防护结构。

②边界安全,安全边界包括互联网边界、内外部服务网边界、与其他相关应用系统边界。对不同安全域边界采取相应的安全措施,重点保障边界接入安全。

③安全审计与集中管控,利用安全审计系统,统一收集网络安全信息,定期开展安全审计。系统采用集中认证授权等技术手段,实现集中管控与关键操作记录。

4.2 服务器安全

通过对操作系统进行安全加固并进行功能扩充,加入身份认证、系统安全审计、系统恶意代码查杀等功能。

4.3 数据安全

系统提供备份与高可用安全方案,系统运行维护过程中系统提供在线增量备份,同时根据安全管理制度定期离线备份。采取相应措施保证数据传输、使用、管理安全。

4.4 应用安全

本系统通过登录申领访问token,防止用户身份被冒用、窃取,保证登录用户身份的安全鉴别。系统采用数字证书认证技术实现对业务数据的保密、业务数据的防篡改和业务往来的抗抵赖,同时进行访问控制、软件容错和资源控制设计。

5 结论

目前工程结构计算领域中,云计算所包含的各种可能性并没有完全被利用,结构分析和设计软件还处于传统的客户端模式。通过云计算技术,可以为行业带来许多新的机会,用户的工程建设结构设计体验会更加友好,并且云计算和并行计算技术的结合可以为超高、超长、大跨度复杂建筑工程计算问题提供高效能计算的可能[4]。

基于云服务的工程建设结构云平台架构,能够有效应对使用过程中遇到的扩展性、可靠性、高性能以及安全性问题;采用云服务和并行计算技术,可以有效提高工程建设中结构计算的效率;通过对各种计算数据的存储和信息化管理,为后续数据挖掘和分析提供了数据支撑,最终实现结构计算数字化,提高安全性和效率。

猜你喜欢

日志架构服务器
基于FPGA的RNN硬件加速架构
一名老党员的工作日志
功能架构在电子电气架构开发中的应用和实践
扶贫日志
通信控制服务器(CCS)维护终端的设计与实现
游学日志
LSN DCI EVPN VxLAN组网架构研究及实现
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御