0 引言
随着大数据人工智能技术及其应用的不断发展,大规模动态时序图作为一种更完备、更自然、更能反映行业生产活动的数据结构,日益成为工业界和学术界共同关注的焦点。国家新一代人工智能发展规划也将大规模时序图的实时处理和智能分析作为共性关键技术。因此,大规模动态时序图实时处理技术将有望作为技术基石,为推动人工智能技术在金融、交通、通信等重要领域进一步发展和应用提供关键支撑,成为引领行业技术进步、实现人工智能驱动发展的又一关键技术。
作者简介:
中国工程院院士、浙江大学信息学部主任、教授
CAAI Fellow
目前对于大规模动态时序图的实时处理技术的研究还处于起步阶段。现阶段与大规模动态时序图的实时处理问题相关的已有成果主要可分为三类:一类是以 Hadoop[1]、Spark及其衍生系统为代表的流式大数据处理技术。该技术体系的典型代表有谷歌、推特、脸书等公司。自2006年首次发布以来,该技术体系已经从传统的“三驾马车”(HDFS[1]、MapReduce[2]和 HBase[3])发展成为包括上百个相关组件的庞大生态系统,是流式大数据处理领域极具代表性的技术成果。近期,较为流行的流式处理框架主要包括Spark-Streaming、Storm[5]、Flink[6]等。另一类则是以 Pregel框架为代表的大图数据分布式计算技术。Pregel[4]是Google基于BSP计算模型设计的分布式计算框架,其目的是解决在单机环境下无法计算的大图数据的计算问题。其开源版本Giraph已获得广泛应用。第三类成果主要是对图数据提供底层支持的图数据库技术。在图数据库领域,Neo4j公司开发的 Neo4j[7]图数据库具备嵌入式、基于磁盘、完全事务特性等特点,是目前应用最为广泛的图数据库系统;Google为满足其应用需求,也开发了开源图数据库系统 Dgraph。国内阿里巴巴集团和字节跳动也分别研发了GeaBase和ByteGraph。
这几类技术成果虽然有着各自的技术特点与优势,但仍不足以解决大规模动态时序图的实时处理问题。
1 技术解析
传统的流式大数据处理技术框架虽然可以进行实时数据处理,但缺乏针对图数据的关联分析能力,无法对图处理任务进行语义解析,也无法执行多层查询等图计算。现有分布式图计算框架虽然具有内建的图数据表达能力,但仅能执行预定义的图任务,也不支持动态的追溯查询,无法基于指定时间窗口下的历史数据进行图处理,灵活性较低。图数据库可以对图结构进行即席查询,但是这些图查询不具备原生的时序分析能力,需要进行原始数据的遍历搜索运算,时空开销大,且缺乏分布式内存计算体系的高性能支持。
实现一个大规模动态时序图的实时处理系统且对应用透明的系统级方案,面临以下几个技术难点。
(1)时空高效的大规模时序图构建
动态时序图具有时间跨度长、数据规模大、属性维度宽、更新频率高的特点,随着图计算引擎的运行,节点间的关联关系和点边属性数据会随时间保持增长。当前亟需研究一种图结构表达方法,实现大规模时序图构建,从而大幅降低图构建时空开销。
(2)任意时间窗口的图数据动态追溯查询
由于时序图的动态性,使得图计算引擎需要具有对不同时间点下的图数据进行分析与查询的能力。如何在图数据不断更新的同时,对任意时间窗口内的历史图数据进行复原,并基于复原结果进行图数据追溯查询也是亟待解决的问题之一。
(3)基于分布式内存计算的多层复杂关系查询
为了支持大规模图数据的多层复杂关系的快速查询,图计算引擎需要实现分布式内存计算技术,从而解决大规模图数据带来的时间和空间开销。因而当前亟需研究分布式内存计算体系下的图计算逐层分解执行与进度同步方式,以支持快速的多层复杂关系查询。
(4)支持原生时序语义表达的图查询语言设计
由于图元素相互的关联关系复杂,而时序图又在此基础上增加了时间变化维度,因此,需要将原生的时序表达能力融入图查询语言设计中,并支持时间窗口、时间戳、时间偏序等语义的解析与执行,为上层业务提供易于使用的图查询任务输入接口。
上述技术难点直接阻碍了大规模动态时序图的行业应用和技术推广。针对时空高效的时序图构建,首先提出了基于时序聚合边结构进行图数据表达,构造时序中间态,大幅度降低了时序图处理的时空开销。其次,针对任意时间窗口的图数据动态追溯查询问题,采用时间切片动态漂移与增量归并技术,实现了动态时间窗口数据追溯查询。进而,在分布式内存计算体系下实现了级联查询分解。最后,设计了具备时间戳回溯、时段关联等时序语义的图查询语言,可对时序图计算任务进行灵活描述与解析处理。基于上述突破性技术成果,研发了“图立方”大规模时序图实时处理技术。
2 平台纵览
基于“图立方”大规模时序图实时处理技术,构建了“图立方”大规模时序图实时处理平台。其应用框架如图 1 所示,具有良好的灵活性与适应性。平台的图数据装载模块负责从具体业务系统中接入实时图数据与抽取历史图数据,计算脚本装载模块负责将分析处理集中的计算脚本加载到平台中。当收到业务系统发出的实时请求时,“图立方”系统能够根据计算脚本在时序图上实时计算出相应指标,并根据用户需求将结果反馈给业务系统。
图 1 “图立方”平台应用框架
在测试环境为4台服务器(机器配置为24核CPU与 256G内存)的环境上对“图立方”平台进行性能测试,测试内容包括对五亿条交易流水进行时序图构建,并在结果图上进行四层关联查询,结果表明单节点建图平均延时为40毫秒,比国外主流图处理系统Neo4j快10.1倍,单节点建图tps达60030,是 Neo4j的10.16 倍;在高、中、低三种复杂程度的时序图查询场景中,单节点图查询qps为6200、14100、13500,分别是Neo4j的11.2倍、8.1倍和3.4倍;图立方单节点到4节点集群的加速比为3.47。
“图立方”平台在解决大规模动态时序图实时处理难题 , 实现优异的响应性能的同时,还优化了其作业编排与工程部署能力。其集成的在线作业编排管理系统,将上线任务的时间开销降低到了分钟级,大大提升了作业的编排效率。此外,“图立方”也引入了流媒体播放器思路,通过持久化原始数据实现快速(分钟级甚至秒级)计算作业上线。“图立方”平台引入了的系列创新技术,使其在性能、可用性、可扩展性等多个层面提升了时序图处理平台的处理能力,满足了包括金融领域在内的众多领域的业务及运维需求。
3 应用场景
“图立方”大规模动态时序图实时处理系统有望在金融、交通、通信等场景展开应用。以金融风控反欺诈场景为例,转账、借款、支付等人类活动会源源不断地引发商户、银行、设备等实体间的关联关系,形成动态时序图。使用数据探针在金融活动过程中进行数据采集,实时地将业务信息输送到各类大数据中间件中,或者经过企业服务总线,支持各类业务间的相互通信。来自不同业务场景中的数据最终被输送进清洗转换组件,进行过滤、映射、多流合并等处理,形成格式统一的消息,经由时序图数据消息队列被图立方平台实时拉取,提取其中的主键、时间戳等关键信息,在图立方平台内部将各条孤立的消息转换为具有图语义的时序聚合边等图结构抽象表示,在分布式环境下进行计算和存储。另一方面,由业务专家制定的各类风险规则可通过规则管理平台导入风控引擎,通过风控引擎发起图查询,使用图立方返回的指标计算结果及关联查询结果进行规则判定,并将判定情况报送给告警系统,对于进行中的高风险活动,通过告警系统定位到相关实体,及时对后续资金流动进行阻断,从而破坏欺诈行为的活动链路,达到风控效果,其流程如图2所示。
图2基于”图立方”的金融风控反欺诈流程
同时该技术还可与现有的金融风控反欺诈技术体系想结合(如设备指纹、代理侦测、生物识别、关联分析等),为这些传统技术提供新的支持。类似的“图立方”系统还可以推广到交通、通信等场景上。总而言之,“图立方”的应用场景十分广阔。
4 结束语
基于时序图数据,可以有效分析数据中实体间的关联关系并推理判断。然而,在实时应用领域对关联关系的推理判断需要具备实时性、准确性及灵活性。因此 , 对于大规模动态时序图实时处理技术的研究与应用推进具有极大的现实意义。
大规模动态时序图实时处理技术有望成为大数据时代信息化的又一重要抓手。“图立方”大规模动态时序图实时处理平台可以为研制融合逻辑推理、概率统计、众包、神经网络等多种形态的下一代人工智能统一计算框架,提供更多、更有效的技术支持。