时间:
引言
与传统装备系统相比,电磁能装备系统具有运行速度快、能量转化效率高、可控性好的优势,是继机械能、化学能使用之后又一次能量运用革命,在军民领域均有突破现有范式的重大战略意义。
近年来,随着电磁能系统规模的日益扩大和信息化水平的不断提高,其运维实时数据处理系统将面临大规模、分布式和异构化的挑战:一是电磁能系统运维实时数据规模急剧增大,实时数据处理系统需要能够将海量数据在管理与存储中有效集中,从而积累高质量电磁能系统大数据,为后续数据驱动的系统运维数据分析提供数据价值源头;二是电磁能系统运维实时数据在数据规模急剧增大的同时,还涌现了大量的半结构化和非结构化数据,特别在高并发实时数据访问中,实时数据管理系统还需要具备可分布式部署及高可扩展性。传统实时数据管理技术已难以满足需求,亟需智能高效的运维实时数据处理技术予以支撑,以实现电磁能系统在分布式异构场景下的实时数据采集、海量数据存储、数据分析等功能,并逐步积累电磁能系统运维大数据,解决数据驱动的电磁能系统运维数据来源问题,提高未来电磁能系统的智能化水平。
当前,实时数据管理的发展趋势主要以大数据业务场景应用为牵引,大数据的数据规模巨大,结构化、半结构化和非结构化数据并存,导致其可靠存储和高效查询困难。因此,国内外对支持大数据管理的数据处理技术进行了大量研究。非关系型数据管理系统作为云计算、大数据环境中的核心组件,通过相互之间解耦合的键值对作为数据集中的基本单元,将子键空间对应的子数据集分布到各个节点以提供独立的数据请求服务,进而使得以键值架构构建的非关系型系统具备了内在的横向可扩展性,现已逐步成为大数据管理中核心组件。目前,在以互联网业务为导向、非关系型数据管理技术为核心组件的高时效大数据管理系统中,国内外已经有众多成熟的产品,如 Facebook 的 Cassandra、10gen 的 MongoDB、Apache 的 HBase、Redis、CouchDB,在电子商务、政府、数据存储、实时统计、社交网络、游戏等众多领域都得到了广泛应用。
互联网大数据带来的巨大市场效应推动着工业大数据业务应用不断深入发展,已有相关文献研究基于 HBase 的非关系型数据库存储船舶交通数据,实现海量船舶通信数据的可靠存储和近实时查询;利用工业场景中数据与访问行为特征的关联性,基于分布式存储系统 HBase 提出面向海量工业数据的分布式存储性能优化策略;基于 Cassandra 数据库提出大规模时空数据集高效索引和存储方法,并应用于收集实时空气质量数据的车辆轨迹查询;将移动目标轨迹跟踪系统服务端传送的轨迹信息在 Redis 数据库保存,可根据客户需要实现轨迹信息的查询;提出以分布式消息队列为中心的大规模实时电力数据共享架构,基于 Redis 等组件进行集成设计与开发;针对高速铁路接触网在线状态监测数据的高速查询和存储需求,提出基于 Redis 的分布式缓存系统;使用基于 NoSQL 的 MongoDB 数据库存储车辆的轨迹数据,实现车联网 Web 系统数据的快速存取。
电磁能系统运维实时数据管理系统作为实现电磁能系统运维大数据积累的核心组件,与工业应用场景大数据中的非关系型数据管理技术有着深度相通性,同时兼具电磁能系统应用场景的业务特殊性。为此,本文对电磁能系统智能运维实时数据处理关键技术及应用展开了研究。
1 需求分析
1.1 运维实时数据特征分析
各类电磁能系统中的大部分设备、传感器、控制器、信息系统生成的数据都是时序的,各类型数据通常具备以下较明显特征:
数据量逐步增大,以结构化为主,半结构、非结构化数据比例逐步增长。
相对互联网应用数据,写负载比例显著增加,但在数据保存后极少进行更新或删除等写操作。
数据在存储查询处理的同时,需要完成各种实时计算处理。
数据在特定时间尺度内的趋势比某一时间点的值更重要,查询分析均基于特定时间尺度。
由上述电磁能系统运维实时数据的特征分析可知,主要的技术挑战可初步概括为:①实时数据写入性能瓶颈,尽管电磁能实时数据管理场景简单,但智能化需求下测点规模激增,大规模实时数据频繁写入面临瓶颈;②历史数据查询分析性能瓶颈,长期积累的历史数据规模巨大,针对不同时间尺度的电磁能系统状态查询分析时效性面临瓶颈;③传统数据管理技术瓶颈,传统的关系型数据库(如 structured query language,SQL)或非关系型数据库(如 NoSQL)主要面向互联网等应用场景,并没有专门针对电磁能实时数据进行设计,导致在电磁能信息系统实时数据管理中运营维护成本剧增、性能提升受限,这与大量投入的计算资源和存储资源不成正比。
因此,电磁能实时数据管理系统需要综合考虑 SQL 查询分析、NoSQL 键值数据模型、流式计算引擎(时序数据处理)、消息通信(业务应用解耦)等软件优势,结合电磁能实时数据特征进行有机集成,发挥电磁能系统智能化业务需求的时序大数据管理基础支撑作用。
1.2 运维实时数据管理研究需求分析
针对电磁能系统运维实时数据管理技术开展的研究与实践,需要在运维实时数据特征分析的基础上,围绕电磁能系统实时数据管理需求,瞄准未来数据驱动的电磁能智能化。电磁能系统运维实时数据的研究需求主要包括以下 3 种:
电磁能系统运维数据积累:随着各种传感器技术和设备智能化的发展,各类电磁能系统都在持续不断地生成大量实时数据,这些逐步积累的海量数据是各类电磁能系统信息化或未来智能化中的基础资源,可以通过大数据分析和机器学习等智能化手段,对业务进行预测和预警,辅助进行智能运维决策。因此,需要通过本地下位机存储资源或远程上位机存储资源将产生的海量运维数据进行保存。
软硬件环境适配:各类电磁能系统业务软件都是面向实际设备的,基于不同软硬件环境进行研发、部署及运行是必然趋势。因此,针对各类电磁能系统的运维实时数据管理系统软件也需要适配不同软硬件环境,主要工作集中在操作系统软件环境(如中标麒麟、银河麒麟等)和 CPU 硬件环境(如英特尔、龙芯、飞腾等)。
电磁能系统通用软件框架中实时数据管理支撑:实时数据库作为电磁能系统业务软件共性基础软件,需要在适配不同软硬件平台的同时,能够集成到已有通用软件框架中,以避免实时数据库功能组件重复开发问题,同时也能进一步规避各电磁能系统众多业务软件之间的 “数据孤岛” 问题。
2 结构设计
2.1 实时数据流处理流程设计
基于电磁能系统运维实时数据特征分析,围绕各类电磁能系统运维业务软件实时数据应用需求及大数据资源积累,目前数据流处理主要需要完成七个步骤,自底向上逐步展开实时数据处理。由于电磁能系统运维数据中包含大量的半结构化、非结构化数据,且对实时计算处理的要求较高,本文以开源内存键值数据库 Redis 中的数据模型为基础开展实时数据流处理流程设计。
首先,通过前两个步骤获取现场设备原始数据源输入;然后,由第三个步骤通过对接多种现场数据总线将实时数据源存储到实时数据管理系统,并能够利用主从备份功能实现分布式网络化数据传输(数据处理流程第四与第五个步骤);最后,由第六与第七个步骤将内存实时数据系统实例中的数据集周期性持久化到本地存储系统及边缘(或云)存储中心,以积累电磁能系统历史数据。
以电磁能实时数据处理流程为基础,结合电磁能系统业务软件和底层对象设备,即可得到以实时数据库为中心的电磁能系统数据管理系统架构。底层设备数据通过终端控制器软件(如远程终端单元 RTU 进程)获取实时数据后,调用实时数据库访问接口(RPC)对实时数据库进行读 / 写。然后,由实时数据库完成实时数据流缓存并持久化为历史数据。上层电磁能系统业务软件则通过实时数据客户端(集成到业务软件的功能模块),同样调用 RPC 读取实时数据流,并对接系统监测软件、运维闭环软件等业务逻辑处理。
2.2 实时数据管理系统结构设计
传统以实时数据库为中心的系统结构,在软件复用过程中将面临电磁能系统业务软件与实时数据库软件的紧耦合问题。可具体描述为,顶层系统业务软件与底层控制器软件均需要通过远程过程调用 RPC 接口完成与实时数据库(如 Redis-server 等)的数据交互,此处远程过程调用 RPC 接口与特定实时数据库紧耦合,从而进一步导致调用 RPC 接口的业务软件的耦合问题。针对电磁能系统各业务软件与数据管理系统的紧耦合问题,给出了应用消息中间件的通用化数据管理系统结构。
在验证基于消息中间件的通用软件框架与顶层电磁能系统业务软件(如实时监测等)适用性过程中,可通过在通用软件框架中集成实时数据库功能组件(如实时数据管理模块等),导通通用软件框架以订阅 / 发布消息的方式读 / 写实时数据库中实时量测数据源,并可通过集成历史数据库将内存实时数据持久化存储为长期历史数据集,以积累电磁能数据资源;然后,运用统一的数据访问接口(如功能组件中订阅 / 发布接口),解耦以实时数据库为中心的电磁能系统业务软件与具体实时数据库的紧耦合问题,与此同时,可继续保留基于 RPC 接口访问实时 / 历史数据管理功能模块,以实现对前期已开发系统软件成果的直接利用。
3 原型系统
围绕电磁能实时数据管理系统原型软件测试的内容主要包括:实时数据库在电磁能系统通用软件框架中的集成与性能评估;面向不同软硬件环境的电磁能实时数据管理原型系统适配。
3.1 测试软硬件平台
本文搭建了 3 套测试环境(i7 + 中标(X86)、飞腾 + 银河(ARM)、龙芯 + 中标(MIPS)),分别在飞腾、龙芯测试环境上重新编译了相关依赖库及开源内存键值数据库 Redis,3 套测试环境有相应的主要参数配置。
测试负载生成方案设计如下:基于某电磁能分系统运维实时数据管理需求,明确设备数、各设备测点数,各型设备共计 385 个(本次模拟上限设为 500),每个设备封装为 1 个消息包,单设备最大测点数为 267 个(本次模拟上限统一设为 1000 个设备,从而本次模拟最大测点规模为 50 万)。
3.2 实时数据读 / 写性能测试评估
当前通用软件框架中的两款开源内存实时数据库写性能存在差异。从测试结果可见:3 套软硬件环境中,性能按 “i7 + 中标”>“飞腾 + 银河”>“龙芯 + 中标” 排序;就框架中实时数据服务时效性而言,1 秒内 SQLite 在 3 套测试环境中可以分别支撑 5 万、1 万、1 万测点规模数据写入,而 Redis 可以分别支撑 20 万、10 万、4 万点规模的数据写入。由上述实测结果可初步认为,部署国产硬件环境后框架中实时数据服务时效性将下降 50%~80%。而面对国产硬件环境部署后性能严重下降问题,Redis 性能更优,且自带分布式网络化部署功能,能更好应用于大规模、分布式电磁能系统应用场景下的运维实时数据管理。
测点规模增大后,开源实时数据库 Redis 读 / 写性能有相应趋势,具体模拟测试负载中 “设备数” 为 “测点总数 / 1000”,分别为 10、20、30、40、50、100、200、300、400、500,即为框架中消息包传输数量。本次模拟实时数据负载按顺序队列方式生成消息包,写入负载取全部消息包串行写入延时(可验证单节点 10 万点 / 秒写入技术可行性),而读取负载取单个消息包串行读取延时(可验证单节点 10 万点 / 秒读取技术可行性,1 个消息包读取延时约为 5ms,1 秒可完成 200 个消息包,上限可读取约 20 万点 / 秒)。
3.3 分布式数据管理读 / 写性能测试评估
随着业务软件体系规模的不断增长,需要分布式环境(或跨节点)部署运行,特别是大规模高并发分布式实时数据处理。因此,本文对分布式场景下的电磁能运维数据管理架构性能进行了测试。
本次测试中,按分布式环境部署前端业务软件和后台数据服务软件,本案例中前端业务软件为某电磁能系统业务软件,分别在两台 “i7 + 中标” 同构节点中部署,生成网络压力负载,具体在每个节点中启动 1、2、3、4 个业务软件进程,同时生成 50 万点实时数据高并发读写请求,从而并发进程数(响应数据读写请求规模)有不同情况;而后台数据服务软件为实时数据库和关系数据库等,分别在 “飞腾 + 银河” 和 “龙芯 + 中标” 平台部署,以等位替换方式响应实时数据访问请求,本次主要部署开源实时数据库 Redis,具体启动 1 个实时数据库进程实例响应负载请求,在默认数据库(db0)中构建 50 万点实时数据测点集。
大规模并发读性能测试评估:在前端业务软件完成的多机多进程分布式读实时数据库性能测试中,由延时测试结果可知,3 套平台中各进程读响应延时都有一定波动,整体读取耗时 “i7 + 中标” 与 “飞腾 + 银河” 平台性能相当,略优于 “龙芯 + 中标” 平台,原因在于批处理读每次打包仅 100 点实时数据(Linux 内核中 QtRedis 访问接口 API 受 QString字符串长度限制),处理过程中 CPU 资源和网络带宽资源均尚未形成瓶颈。最大并发读负载压力下,国产平台 CPU 资源消耗情况为 “飞腾 + 银河” 约在 70%,“龙芯 + 中标” 约在 75% 以内;网络带宽资源消耗情况为 “飞腾 + 银河” 约在 10.5MB/s,“龙芯 + 中标” 约在 5.8MB/s。可见,分布式高并发读测试中,“i7 + 中标” 性能优势不明显,与 “飞腾 + 银河” 相当,而 “飞腾 + 银河” 较 “龙芯 + 中标” 对网络资源利用率更高,在不同并发读负载压力下总体性能有约 10%~90% 的优势。
大规模并发写性能测试评估:在前端业务软件完成的多机多进程分布式写实时数据库性能测试中,由延时测试结果可知,各平台中进程写延时均表现为 “i7 + 中标”<“飞腾 + 银河”<“龙芯 + 中标” 平台,整体上 “i7 + 中标” 依然占优,但对比国产平台优势远不如部分测试案例。原因在于批处理写每次打包全部 50 万点实时数据(Linux 内核中 QtRedis 一次性写访问接口 API 上限),处理过程中网络带宽资源尚未形成瓶颈,虽然写负载加压后,国产平台中出现 CPU 资源瓶颈,但是分布式实时数据写负载主要是网络与内存 I/O 密集型应用(通常网络 I/O 性能会首先成为瓶颈),本身对 CPU 主频等性能因素需求不高,从而即使出现 CPU 瓶颈,但国产平台在网络密集型应用中的性能劣势比计算密集型应用中明显缩小。本案例最大并发写负载压力下,国产平台 CPU 资源消耗情况为 “飞腾 + 银河” 与 “龙芯 + 中标” 均出现瓶颈,达到 100%;网络带宽资源消耗情况为 “飞腾 + 银河”30~47MB/s,而 “龙芯 + 中标”17~27MB/s。可见,分布式高并发写测试中 “i7 + 中标” 性能优势因国产 CPU 瓶颈出现依然存在,但较计算密集型优势显著降低,而 CPU 单核资源满载下 “飞腾 + 银河” 较 “龙芯 + 中标” 对网络资源利用率更高,在不同并发写负载压力下总体性能上有 60%~80% 的优势。
4 结论
本文首先在对电磁能系统运维实时数据特征和数据管理研究需求分析的基础上,结合内存非关系型数学模型,提出了适用于各类电磁能系统的以数据为中心的电磁能实时数据处理流程;然后,针对电磁能系统各业务软件与数据管理系统的紧耦合问题,给出了应用消息中间件的通用化数据管理系统结构;最后,搭建了面向不同软硬件测试环境的电磁能实时数据管理原型系统,对提出的电磁能实时数据管理系统结构的单节点读 / 写性能和分布式多节点读 / 写性能进行了原型测试,验证了本文架构的技术可行性和不同软硬件环境下的适配性。
鲍先强;商承亚;石国良;肖海鹏;徐成成,海军工程大学,202404