第八十三章 技术攻关
    试点进入第二个月,问题来了。

    一天早上,马昊冲进左城的办公室,脸色不太好。

    ”左总,边缘调度系统出了个bug。”他把笔记本计算机放在桌上,”在早高峰时段,传感器数据回传出现了间隙性丢包。丢包率最高的时候达到百分之三,虽然不算严重,但如果在第三方测评的时候出现,就不太好看了。”

    左城皱了皱眉:”什么原因?”

    ”还不太确定。”马昊说,”初步排查,不是网络带宽的问题,也不是边缘网关的算力瓶颈。我怀疑是调度算法在极端并发场景下有竞争条件,导致部分数据包被丢弃。”

    ”极端并发?”

    ”早高峰时段,三条街道上的交通流量传感器同时上载数据,加之空气质量传感器和噪声传感器的周期性上报,瞬间并发量是平时的三到四倍。我们的调度算法虽然做了自适应优化,但在这种突发洪峰下,还是会出现调度冲突。”

    左城想了一会儿。这是一个典型的物联网系统难题:传感器节点的数据上报不是均匀分布的,而是有突发性。早高峰、晚高峰、天气变化、突发事件,都会导致数据量瞬间暴涨。传统方案靠增加带宽和算力来应对,但402的方案走的是轻量化路线,资源有限,必须从算法层面解决。

    更麻烦的是,赵主任安排的第三方测评就在两周后。如果测评时出现丢包,402的技术口碑就会受损。华信正在旁边虎视眈眈,任何技术遐疵都会被放大。

    ”你有思路吗?”

    ”有。”马昊打开一个算法模型,”我想在调度算法里加一个优先级队列。不同类型的传感器数据设置不同的优先级,交通流量数据优先级最高,空气质量和噪声数据优先级次之,垃圾桶填充度最低。在并发洪峰到来时,优先保证高优先级数据的传输,低优先级数据可以延迟上报。”

    ”延迟多久?”

    ”最多两秒。垃圾桶填充度晚两秒上报,对用户体验没有任何影响。”

    左城点点头。这个思路是对的,物联网数据不是所有数据都需要实时性,区分优先级是最合理的解决方案。

    ”去做。”左城说,”三天内把补丁打上,我需要看到效果。”

    马昊离开后,左城打开系统面板。他看了一眼万物互联枝干上的叶片,边缘计算网关叶片的光芒微微闪铄,似乎在回应他的思考。

    【边缘计算网关】

    【状态:已激活】

    【能力:支持多优先级数据调度、动态资源分配、弹性扩展】

    左城愣了一下。多优先级数据调度?这不就是马昊说的优先级队列吗?原来科技树上的叶片本身就包含了这个能力,只是他之前没有深入挖掘。

    他仔细看了一下边缘计算网关叶片的详细能力描述,发现除了优先级调度,还支持”预测性资源预留”,也就是根据历史数据预测下一个时段的并发量,提前预留好带宽和算力。

    如果把这个能力也加之,早高峰的丢包问题就能彻底解决。

    左城把马昊叫了回来。

    ”你刚才说的优先级队列思路很好,但我再给你加一个功能。”左城说,”在调度算法里添加预测性资源预留,根据过去几天的数据规律,提前预测早高峰的并发量,在高峰到来前就把资源预留好。”

    马昊的眼睛亮了:”预测性预留?这个更聪明。等于是让系统提前知道洪峰要来,先把路修好。”

    ”对。”左城说,”你用过去两周的监控数据做训练集,建一个简单的时间串行预测模型就行。不需要多复杂的机器学习,线性回归就够用。”

    ”明白!”马昊几乎是跑着离开的。

    三天后,补丁上线。

    马昊在调度算法中添加了优先级队列和预测性资源预留两个模块,然后在内网环境做了压测。结果很漂亮:在仿真早高峰的极端并发场景下,丢包率从百分之三降到了零。。

    ”完美。”马昊长出一口气,”左总,你那个预测性资源预留的思路太厉害了。我怎么就没想到呢?”

    左城笑了笑。他没法告诉马昊,这个思路来自科技树的叶片能力描述。

    ”因为你没时间想。”左城说,”你忙着写代码,我忙着看全局。分工不同而已。”

    补丁上线后的第二天,正赶上早高峰。左城和马昊一起站在监控屏幕前,看着实时数据。

    7点30分,并发量开始攀升。

    8点15分,峰值到来。。

    屏幕上,丢包率的曲线稳稳地贴在零在线,一丝波动都没有。

    ”稳了。”马昊握了握拳,”早高峰零丢包,这数据拿出去就是402最大的底牌。”

    左城点点头,心里松了一口气。但他知道,技术问题好解决,真正的挑战来自华信。

本章未完,请点击下一页继续阅读>>