非实时的防控场景
相比于实时防控,非实时防控一般是涉及复杂耗时计算的风险识别。比如图片,视频,音频等需要各种算法、模型分析的场景。
防控方式则是基于消息的异步防控。
例如我们往网上发布一篇日记,很多时候时候是直接发出去了,但是后面因为违规会被下掉,提醒有风险(先发后审),这通常也需要能快速识别到风险,以加少风险暴露的时常。而有些时候则是等待审核,而后才发出去(先审后发),这也需要快速判断,提升用户的体验效率。
比如一个常见的防控流程可能如下:
这里面就会有各种技术挑战了
-
跑很多算法,会出现可能某些算法跑了相同的内容,比如一张图片可能有不同的算法模型,但是会有相同的图片特征处理逻辑,重复处理显然是一种浪费。
- 所以算法任务是不有一些聚合处理,分散处理的逻辑,尽量是相同处理只处理一次,节省资源
-
其次是需要开发一套流程编排体系,让用户所见即所跑,清楚看到跑了什么,最后能识别到什么风险。
- flink的任务流是一个不错的选择
- 也可以参考CompletableFuture的异步回调,组成任务DAG
-
另外需要一个大宽表的存储系统,因为非实时场景下,不同特征获取到的时序是不一样的,所以需要有一个收集汇总的地方。并且防控也可能要多轮,或者后续有大模型分析,这也需要沉淀下来。