云鼎科技在其煤矿安全生产综合管控平台中选择应用 TDengine 实现数据的全面监控、分析和应用。通过利用 TDengine 的数据订阅功能,该项目成功减少了中间件的使用,提升了整体系统的可用性,并进一步提升了数据分发效率。为了深入了解该项目的改造细节,我们对云鼎科技工业互联网事业部数据团队总监李志军、产品开发中心总监助理邵国鹏进行了采访,根据采访实录生成本篇文章,给到大家参考。
小T导读
为确保煤矿场景下生产过程的安全可靠,云鼎科技打造了安全生产综合管控平台。这一数据湖项目涉及 75 对矿井、23 类 1100 余个系统的工业数据采集,旨在实现数据的实时采集、全面监控、深入分析和应用,挖掘数据价值,提高煤矿生产过程的安全性与效率。在经过系统调研与产品对比,云鼎科技决定在时序数据库领域选择合适的解决方案,以确保数据的高效存储、快速查询和可靠性。
当下市面上的时序数据库产品众多,云鼎科技在进行选型调研时发现,单节点的时序数据库存在多种问题,具体表现在:
- 数据库节点故障会导致整个系统无法提供服务,继而给公司以及客户带来损失。
- 服务器存储故障会导致数据丢失,可能会造成无法挽回的资产损失。
- 性能拓展困难。随着业务不断发展会有更多的对于数据库的性能要求,灵活的扩展机制会带来更高的交付效率。
基于以上几点因素,为实现稳定高效的数据处理效果,综管平台技术人员在进行数据库选型时重点要求时序数据库需要具备集群架构、数据多副本、高压缩比和灵活的拓展方式。TDengine 在这些方面能够完美满足要求,其分布式集群架构和数据多副本机制保证了数据的高可靠性和容错性,同时灵活的水平拓展方式使得系统能够轻松应对数据量的增长和业务需求的变化,为综管平台提供了稳定、高效的数据处理能力。
数据架构的演进
在推进项目的过程中,云鼎科技面临着诸多数据集成场景。由于时序数据集成需要具备较高的时效性和稳定性,因此高效的数据集成方案成为选择时序数据库的重要考量之一。此前云鼎科技曾尝试过如下架构:
但这一架构却面临很多问题,具体表现在:
- 消耗了较多的服务器资源,部署成本较高。
- 时序数据的时效性保障较差,数据延迟较高,针对时效性要求较高的场景,无法较好的处理。
- 整体架构可用性较差,运维难度高,由于链路节点较多,各个节点都要保障稳定运行。
后续基于 TDengine 提供的数据订阅功能,该项目成功减少了中间件的使用,提升了整体系统的可用性,且在数据分发效能上有了进一步的提升。
在具体应用中,生产单位的采集系统首先将数据采集至本地的 TDengine 数据库中,随后,IoT 平台将本地 TDengine 中的数据同步至集团端的 TDengine 集群中。经过集团端数据治理系统的处理,工业数据为上层应用提供了数据服务支持。这一项目成功实现了对涉及煤炭领域工业数据的采集、存储和分析应用,为生产过程提供了可靠的数据支持,进一步提升了生产效率和管理水平。
当前系统数据架构如下图所示:
实施过程中的一些问题与解决路径
在云鼎科技应用集成的场景中,最初 TDengine 仅被用作时序数据存储和查询的数据库。后面随着业务扩展,出现了告警类需求。为了满足这些需求,云鼎科技项目组曾单独建立了告警服务程序,但由于某些消息中间件无法持久化数据,导致告警服务必须一直在线,不仅存在丢失告警的风险,而且升级维护复杂。随后,项目组决定利用 TDengine 新版本的流计算能力,将部分告警业务交由流计算来实现。这一改进简化了架构,实现了在数据库端就能完成部分告警生成的功能,极大减轻了服务端开发压力。
TDengine 的部署和实施过程相对顺利,主要遇到了两个关键问题,通过云鼎科技项目组和 TDengine 技术专家的紧密合作和共同努力,这些问题都得以圆满解决。
数据写入问题:根据综合管控平台技术规格书对时序数据库性能的要求,高写入性能至关重要。云鼎在初期使用 TDengine 时采用实时写入模式,即每当一个测点的实时数据到来时立即写入 TDengine,过程中发现写入性能未达预期。后经过与 TDengine 技术专家的交流后,改为批量写入模式,即将多个测点的数据组成一个大的数据插入语句后执行写入操作,进一步提升了数据的写入性能,满足了平台需求。
在推进整体数据架构和应用程序整合 TDengine 过程中,该项目遇到了由版本升级导致 TDengine 客户端无法连接的问题。TDengine 技术专家建议采用新的 JDBC-RESTful 连接方式,后经实践验证,成功解决了上述问题。服务端在满足性能要求的前提下,减少了因数据库版本升级导致的客户端连接变更,进一步提升了生产环境的稳定性。
数据迁移经验分享
在数据架构改造过程中,数据迁移是一个至关重要的环节。通过精心规划和优化数据迁移策略,确保数据的安全性和完整性,是实现数据架构改造顺利进行的关键一步。在推进综管平台一期数据湖项目的过程中,为了充分利用 TDengine 新版本的功能,数据迁移工作也在有条不紊地展开。为了尽可能保障老版本 TDengine 能够正常提供服务以及保障新老版本数据库的数据一致,该项目采用了如下步骤:
创建数据写入服务以支持双写 TDengine,可以将数据同时写入老版本和新版本的 TDengine 数据库。
获取新版本和老版本数据库的某段时间内的历史时序数据,然后对数据进行校验和处理后进行结果比较,多次采样并进行校验后的结果均显示数据的一致性可以保障。
上线支持新版本数据库的数据任务,观察数据任务执行效果,并观察应用侧数据是否一致。运行一段时间并确认数据一致后,停止老版本数据任务的执行,随后停止双写,最后停止老版本 TDengine 运行。
基于上述步骤,该项目成功完成了数据的切换,同时确保了线上系统的正常运行。在综管平台一期项目中,TDengine 正常运行,日增量数据 2.5 亿条,产品稳定性及性能符合既定的设计预期。后续基于 TDengine 构建的工业数据分级预警系统等也成功实现落地。
目前,云鼎科技以TDengine作为物联网平台时序数据存储的核心,构建了云端协同的时序数据存储和传输体系。在满足生产单位的时序数据使用需求的同时也支持了集团时序数据分析应用的建设。在生产单位以及集团均部署了 TDengine 实例,既保障了各方的需求也能够提供最好的性能。
总结与期待
未来云鼎科技还将会在电力、化工等产业相关的生产管理系统以及集中监控系统中继续验证和尝试使用 TDengine 相关的能力,并会与涛思数据的技术专家一道在未来的新场景中加强沟通与协作。
在对该项目进行总结评价时,云鼎科技工业互联网事业部产品开发中心总监助理邵国鹏表示,“在 TDengine 的使用和集成过程中,涛思数据的技术专家通过多种沟通方式,及时解决了许多问题,提供了大量帮助,为项目的推进提供了良好支持。未来我们希望更进一步深入客户场景乃至拉通同类型的客户参与沟通交流,共同分享场景落地中遇到的问题以及最佳实践,从而进一步共建围绕时序数据库的业务生态。”
同时工业互联网事业部数据团队总监李志军对 TDengine 的未来发展也表达了自己的期待,“为拓展在 AI 领域的应用场景, TDengine 可进一步加强与AI技术的集成能力,结合数据治理理论,提升数仓建设、数据建模、数据服务等方面能力,以充分发挥时序数据的价值。同时,提高 TDengine 的开放能力也至关重要。这包括更开放的数据格式、多样化的数据集成模式、灵活的数据迁移模式和高效的数据分发模式,以让客户选择更多适合其需求的方案,使 TDengine 更好地融入客户现有系统架构。在提升系统稳定性方面,可借鉴国际知名工业数据库的经验,进一步强化 TDengine 的稳定性和可靠性,以更好地满足工业场景对系统的需求。”
企业简介
云鼎科技股份有限公司是山东能源集团旗下专注于信息技术服务和工业智能化应用的A股主板上市公司,致力于为矿山、电力、化工、新能源等行业提供数字化解决方案,是煤炭行业信息技术头部企业、山东省首批网络安全重点企业。
采访嘉宾简介
- 李志军:云鼎科技股份有限公司 工业互联网事业部 数据团队总监
- 邵国鹏:云鼎科技股份有限公司 工业互联网事业部 产品开发中心总监助理