中冶赛迪:基于鲲鹏 DevKit 开发智慧城市基础设施管理平台,性能提升 47%
如何真正实现城市大数据互联互通?
市政管理、突发事件怎样做到及时预警?
公共交通拥堵不堪,交通线路到底应该如何优化?
发生火情时,消防部门如何快速协调资源并进行指挥调度?
……
解决这些问题需要一个“城市大脑”。中冶赛迪 Q-TOUCH 云端城市管理平台就是这样一个超级大脑,以城市基础设施的全生命周期管控为中心,提供数据采集、存储和处理能力,数据建模能力,事件接受处理和分拨能力,利用“物联网+大数据+智能化”等技术手段,广泛面向能源、水务、交通、环卫、城市防灾和社会文体等多领域和单元,建立自感知、智处置的基础设施管控体系,优化城市基础设施的管理、运营和体验,激活数字要素新动能,开启数字城市新征程。
比如在智慧城管应用中,Q-TOUCH 能够结合物联设备、智能识别技术、和自流程管理机制,面向城市市政设施、城市公用、城市节水和停车管理打造智慧城市综合管理和服务平台,实现城市资源智能调度、城市问题快速发现、快速调整、快速解决。
【中冶赛迪 Q-TOUCH 云端城市管理平台-智慧城管应用】
随着城市的不断的发展,对设备接入、数据处理、算法分析的要求更高,智慧城市基础设施的管理和运营越来越复杂,为了给人们提供更高效的社会服务,对 Q-TOUCH 的服务能力提出更高要求:
1、海量数据处理:在智慧城市数字化场景下,需要每天完成大批量的城市数据的处理和分析,来满足城市运营管理要求:比如监管某城市共享单车是否在指定区域内停放、某区域内共享单车是否给城管数据平台及时备案、通过视频监控查看违规摆摊、检测垃圾桶是否填满等应用场景;以国内某城市为例,高峰期产生的数据量为 8000+条/秒,TCP 连接并发每秒超过 2 万次。
2、实时响应:在城市智慧管廊综合监控场景下,为了能够实现对温度、湿度、结构监测、人员入廊这些数据的实时监测,Q-TOUCH 要求能够在 100ms 内实时响应。
3、可靠稳定:设备检测数据可靠性要求非常高,尤其是接入侧的危险源检测、管廊结构检测数据,涉及信息安全管理,不允许有任何丢失和中断;而数据的接收和上传也至关重要,服务一旦宕机,就会造成数据丢失、影响重大。
4、绿色节能:大规模的计算量带来了能耗提升,为响应国家环保号召,需要低功耗硬件实现节能减排。
鲲鹏天然的多核多并发、高可靠、低功耗等优势,能够很好的满足 Q-TOUCH 海量数据处理、并行计算、低时延、绿色计算等要求;同时提供完善的鲲鹏 DevKit 开发套件以及专业服务,能够帮助用户快速完成应用的迁移、开发、编译和调优,支撑 Q-TOUCH 高效创新。基于以上考虑,中冶赛迪选择鲲鹏作为 Q-TOUCH 城市设施智慧管控平台的数字底座,以满足城市级别的数据融合和管理,为用户提供更加灵活的一体化的方案。
【中冶赛迪 Q-TOUCH 云端城市管理平台架构图】
鲲鹏 DevKit 1 人天/应用快速迁移 Q-TOUCH 云端城市管理平台
在项目实施初期,开发人员需要将 Q-TOUCH 平台快速迁移到鲲鹏。由于整个系统的模块众多给迁移工作带来不少挑战:
语言多:包含 java、c、TypeScript 等多种语言;
代码量大:6 个子模块,8 个微服务,共计 14 万行左右代码;
第三方软件多:包含 redis、rabbitmq、nacos、srs、elasticsearch、iotdb 等,手工查找兼容版本非常耗时;
经分析,采用手动迁移的话整个系统 8 个微服务需要 45 人天才能完成。而鲲鹏 DevKit 代码迁移工具可以实现依赖文件自动识别、兼容 JAR 包一键下载、代码修改建议一键替换,无须耗时耗力检查跟进。在鲲鹏 DevKit 的帮助下整个系统只用了 10 人天,平均每个服务 1 人天左右即可完成自动迁移。
基于鲲鹏 DevKit 高效开发 Q-TOUCH 云端城市管理平台物联网数据库,性能提升 47%
迁移完成之后,中冶赛迪需要针对 Q-TOUCH 城市设施智慧管控平台的工业物联网数据分析场景,在鲲鹏服务器上开发 Apache IoTDB(物联网数据库),以满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。该功能通过数百万个低功耗和智能联网设备的高速写访问,以及数据快速读取访问和查询,实现对拥有复杂组织关系的物联网设备进行树形结构管理,并使用通配符对这些元数据进行模糊匹配。
在开发过程中,为提升业务性能和稳定性,开发人员将平台之前使用的编译工具 OpenJDK 换成毕昇 JDK,毕昇 JDK 在鲲鹏架构中提供了更好的稳定性、GC(Gabarage Collector)性能、类信息共享等,其编译性能相较于 openJDK8 最高可提升 25%。
此外,针对系统出现的性能瓶颈,技术人员使用了鲲鹏性能分析工具的 JAVA 性能分析功能进行了调优,对操作系统、JVM 的运行状态进行监控和优化:
1、通过 DevKit 性能分析工具的系统性能分析功能分析出 IoTDB 通用型数据库 udf_memory_budget_in_mb 和 MAX_HEAP_SIZE 等参数的配置值为 256、20G。这两个值的过低,会导致数据并发性能下降,在工具的建议下将上述两个参数值调整为 512 和 120G,从而优化数据并发特性。
2、通过 DevKit 性能分析工具访问分析功能,发现 cachemiss 性能瓶颈,通过增加二级缓存,吞吐量提升 1 倍。具体如下,设备数据上传时会对设备数据的格式类型做校验,因为数据格式是动态配置的,所以将所有类型的设备属性配置存储在 redis 中,在实际压测的时候性能瓶颈在从 redis 读取缓存数据的网络上。我们对该数据添加了二级缓存,将数据存放到了 caffine 本地缓存上,大大的减少了从 redis 读取数据的网络通讯耗时,提升了设备数据的处理速度。
【设备数据接入能力和数据查询性能前后对比】
通过鲲鹏 DevKit 进行编译优化及性能调优之后,Q-TOUCH 云端城市管理平台物联网数据库在鲲鹏上运行性能得到有效提升:数据库设备数据处理业务场景的综合处理吞吐量最高提升了 47%、业务数据采集上传吞吐量提升了 24%、设备数据查询的吞吐量提升了 35%;设备接入、数据存储、设备数据查询等业务的综合性能均得到明显提升。
中冶赛迪在进行 Q-TOUCH 云端城市管理平台鲲鹏原生开发过程中,通过鲲鹏 DevKit 优化了物联网数据库的数据处理能力,有效提升了各种物联设备的时序数据的查询效率,同时也让平台在智慧管廊、智慧城管等领域在三维建模时的数据渲染模型数据查询更加便捷和高效违章建筑检测的查询速度,同时也让 GIS 领域的科研工作更加便捷和高效。
目前,Q-TOUCH 云端城市管理平台已成功运用到智慧政务、市政管理、城市建设、工业园区管理等相关领域,预计到 2023 年将覆盖整个重庆范围,并不断加强与气象、市政、交巡警等部门的联动,助力城市智慧管理。该方案已通过鲲鹏 Validate 兼容性认证,也标志着中冶赛迪产品在鲲鹏计算应用创新、产业融合、市场应用方面达到领先水平。
作为鲲鹏计算产业生态重要伙伴,中冶赛迪已与鲲鹏生态产业中心重庆公司建立长期合作关系。未来,鲲鹏将继续坚持“硬件开放、软件开源、使能伙伴,发展人才”的生态策略,通过最新的技术使能伙伴联合创新,打造更具竞争力的行业解决方案,促进千行百业数字化转型。
评论