新闻资讯
作者:admin 日期:2022-11-15 浏览:121次
作为期货市场数据收集中心,中国期货监控中心(以下简称中国期货监控)坚持以期货市场数据收集中心为基础“数据使监管更加智能化”为愿景,依托科技创新,成功破解大数据,高并发场景数据接收“卡顿”卡脖子问题大大提高了数据接收效率,有效减轻了市场数据提交主体的负担,相关技术指标达到了行业领先水平。在此过程中,保证金数据提交系统(以下简称数据提交系统)运维团队付出了巨大努力。
经过多年的积累,我国期货监控依托数据报送系统,推进数据质量验证门槛,在数据正式使用前发现数据质量问题,坚决防止脏数据传播到数据仓库及相关外部单位,实现数据问题的早期发现、早期处理,有效保证数据质量。
然而,将复杂的数据验证功能放在数据接收端,不仅保证了数据质量和良好的数据使用体验,而且给数据提交系统带来了巨大的计算压力。随着数据量的增加,接收时间成为指数增加,运行风险继续积累。
自2019年以来,数据进入快速增长通道,数据报送系统的压力不断增大。如何实现数据?“又好又快”数据报送系统运维团队必须面对和快速解决的问题。
2019年底,在市场缺乏参考的情况下,我们摸着石头过河,对数据报送系统的整体架构和技术路线进行预研,全力推进问题解决。
旧的数据提交系统已经运行了十多年。随着期货市场创新业务的快速发展,数据验证模型不断丰富和完善,系统各模块之间的检查关系变得更加复杂,推动了全身。为了解决存量系统问题,必须对当前系统进行全面体检,准确找出问题原因,对症下药。
随后,我们对近百个数据验证单元进行了梳理,摸清了近200张表的勾稽关系。写好了。Pyhton脚本对数据提交系统中的2000万个日志进行了全面分析,找出了文件落地、数据装载、数据验证的耗时情况,列出了台账,找出了问题的堵点。
最后,确定从两个方面入手。一是优化数据验证环节。由于参与验证的临时表频繁阅读和写作,数据库“高水位”问题严重影响数据勾稽操作时间和系统运行稳定性;二是优化sqlldr装载效率,目前采用间接装载入库模式,需要探索采用效率较高的直接路径模式。
大胆猜测,科学论证,确定解决方案
(一)优化数据入库逻辑隔离机制
一是重构表结构,优化数据清理方法。我们编写了约7万行建表语句代码,重构了近100个临时数据验证表,涉及近2000个字段,为近200家机构创建了5000多个表分区。数据验证完成后,临时表的数据被采用truncate清理已完成验证的临时表分区数据,彻底解决了数据报送耗时的问题“跳变”及数据库“高水位”问题提高了系统运行的稳定性,节约了系统资源。二是准确排雷,优化索引。通过减少对表索引的依赖,我们将临时表的索引数量从近20个减少到1个,降低了系统运行和维护的复杂性,并根据业务特点将保留的索引从全球索引调整为本地索引,提高了索引使用的准确性和安全性。
(2)创新数据装载模式
Sqlldr数据装载模式有两种,一种是直接路径模式,另一种是间接模式。直接路径模式的装载效率是间接模式的三到五倍(根据测试环境,效率会有所不同),但为什么旧系统在建设之初采用效率“较差”间接模式?针对这一问题,我们也进行了深入的研究。
根据多方了解,并发场景中没有直接路径模式的实际应用案例。同时,软件开发人员和技术专家从技术原理上得出结论“在并发场景中,使用直接路径模式装载数据将不可避免地导致锁表。如果您想改变直接路径模式,您必须改变业务场景,并要求外联机构逐一提交数据”。
机构数据提交在时间上是随机的。由于间接路径模式可以有效地解决多并发的数据提交场景,系统建设之初的数据量较小。考虑到实际业务需求和技术可靠性原则,旧系统可以采用间接路径模式技术路线来满足当时的业务需求。但现在数据量是系统建设之初的近20倍,仍呈快速增长趋势。数据接收时间逐年增加,急需提高系统性能。研究引入直接路径模式的可能性已提上议事日程。
业务场景不能改变,只能找到调整技术应用场景的方法,通过技术场景实现多机构数据逻辑隔离,多机构“变”单机构,化整为零,为各机构指定数据库区域存储数据,从逻辑原理上满足要求sqlldr直接路径模式应用场景。
随后,我们查阅了各种原创英文资料,对sqlldr进一步研究了使用原理。经过与数据库技术专家的近30轮方案评审和100多次尝试验证,通过机构指定的分区入库,最终实现了各机构数据入库的逻辑隔离,避免了不同机构数据在直接路径模式下操作同一数据库表时出现的锁表问题。锁表问题解决后,我们继续解决sqlldr调整相关配置参数,反复验证3000多个测试用例,确定最终配置参数,确保性能最佳。
最后,与优化前的性能相比,性能有了很大的提高。
2020年,数据保持快速增长,系统压力持续增大。一方面,我们继续关注系统的运行状态,为升级做准备,争取更多的测试和验证时间,确保系统性能不严重下降;一方面,我们加班加点,在仿真环境中反复进行压力测试和升级回退演练,制定严格的升级计划,确保系统升级完成无误。
2020年12月,对仿真测试结果和当前系统运行情况进行综合评价,优化后的系统性能、功能、稳定性和安全性均达到在线要求。为了避免可能的系统风险溢出,我们选择在12月底作为升级时间窗口,尽快完成系统升级。升级当天,近7万行建表语句,5000多个分区一次性成功实施,约200个机构的数据准确落入指定分区。本次升级大大降低了数据接收的耗时率,从根本上扭转了数据耗时持续增长的趋势,实现了系统架构、科技创新、系统性能和稳定性的双重突破。
经观察,自2021年以来,虽然数据仍呈现快速增长趋势,但系统运行高效稳定,头部机构数据报送比升级前缩短30分钟以上,无“高水位”和耗时“跳变”问题。
2022年9月底,去某期货公司调研时,对方结算部负责人表示,“近年来,结算数据量逐年增加,但向监控中心提交的数据明显加快,为员工节省了大量时间。”。金杯、银杯不如用户的口碑好,用户的认可是对我们科技人员的最高赞扬。
接下来,我们将实施证券期货业科技的发展“十四五”规划要求,针对关键核心技术,把握数字创新发展方向,不断提高自主创新能力和科技监管水平,为建设标准化、透明、开放、充满活力、有弹性的资本市场做出贡献。