论文部分内容阅读
随着支付宝、微信支付、电子银行的出现与快速发展,越来越多的电子交易数据以流的形式源源不断的进入风控平台,针对这类大规模实时数据流的快速存储和快速查询变得越来越重要。从风控平台的角度,处理海量流数据需要大规模集群,在满足高吞吐和低延迟的同时能向上为数据分析与模型建立提供分布式的轻量级数据服务已成为实时风控平台中一个亟待解决的问题。面对上述问题,本文主要做了如下几个工作:
首先,针对大规模数据流的快速存储和快速查询问题,本文采用了数据摘要的思想,使用空间较小的数据摘要来存储大规模的流数据,通过摘要能够快速地得到非精确查询的结果。基于上述思想,本文提出了固定大小的滑动窗口算法,基于时间戳的滑动窗口算法以及窗口聚合算法。实验结果证明了固定大小的滑动窗口算法在插入时间和查询时间上都是高效的。实验结果也证明了该算法的正确性与可合并性。这两点也是该算法优于目前较好的SW-GK算法的地方。
其次,针对大规模集群上的流数据服务的管理问题,本文使用Docker这类轻量级容器作为封装流数据相关服务的基础设施,向上为数据分析与模型建立提供分布式轻量级服务。服务的部署策略会间接地影响平台的性能、可靠性和资源消耗。所以,本文提出了一种基于镜像拉取成本、服务通信成本、负载均衡、节能等四个优化目标的改进的粒子群算法。该算法主要面对的是一批容器实例的部署问题。实验结果证明,该算法比Docker Swarm提供的三种调度算法(random, spread, binpack)能提供更好的部署方案,尤其是当机器资源远大于容器实例的要求时。同时,为了适应单一容器的部署场景,本文还提出了一种基于多目标优化的再调度算法。
最后,针对目前风控平台所面临的技术挑战,本文首先简单地介绍了本课题组采用的风控平台的体系架构。该架构主要分为风控引擎,数据服务,数据计算,存储层四个部分。本文的工作重心主要侧重在数据服务这一层,主要结合了前面两项的研究内容,使用Docker作为封装流数据处理和查询服务的容器,将多个容器实例部署在集群上,进而能够提供流数据的轻量级分布式服务。同时本文也给出了基于Docker的服务的快速部署的具体方案,包括镜像的构建,将镜像提交到镜像仓库,将镜像实例化为容器部署到集群,再到集群、容器的监测与管理。与人工地去各个服务器上部署服务的方式相比,这套半自动化服务部署方案,大大降低了风控平台下各类服务的运维成本。
综上所述,本文所做的工作即降低了大规模流数据的存储成本,还减少了流数据的查询时间,同时提供了分布式的轻量级服务,为上层实时数据分析与建模提供数据支撑。本文提供的部署方案,在降低运维成本的同时,能够保证平台的服务质量,增强平台的可靠性,降低平台的能耗。
首先,针对大规模数据流的快速存储和快速查询问题,本文采用了数据摘要的思想,使用空间较小的数据摘要来存储大规模的流数据,通过摘要能够快速地得到非精确查询的结果。基于上述思想,本文提出了固定大小的滑动窗口算法,基于时间戳的滑动窗口算法以及窗口聚合算法。实验结果证明了固定大小的滑动窗口算法在插入时间和查询时间上都是高效的。实验结果也证明了该算法的正确性与可合并性。这两点也是该算法优于目前较好的SW-GK算法的地方。
其次,针对大规模集群上的流数据服务的管理问题,本文使用Docker这类轻量级容器作为封装流数据相关服务的基础设施,向上为数据分析与模型建立提供分布式轻量级服务。服务的部署策略会间接地影响平台的性能、可靠性和资源消耗。所以,本文提出了一种基于镜像拉取成本、服务通信成本、负载均衡、节能等四个优化目标的改进的粒子群算法。该算法主要面对的是一批容器实例的部署问题。实验结果证明,该算法比Docker Swarm提供的三种调度算法(random, spread, binpack)能提供更好的部署方案,尤其是当机器资源远大于容器实例的要求时。同时,为了适应单一容器的部署场景,本文还提出了一种基于多目标优化的再调度算法。
最后,针对目前风控平台所面临的技术挑战,本文首先简单地介绍了本课题组采用的风控平台的体系架构。该架构主要分为风控引擎,数据服务,数据计算,存储层四个部分。本文的工作重心主要侧重在数据服务这一层,主要结合了前面两项的研究内容,使用Docker作为封装流数据处理和查询服务的容器,将多个容器实例部署在集群上,进而能够提供流数据的轻量级分布式服务。同时本文也给出了基于Docker的服务的快速部署的具体方案,包括镜像的构建,将镜像提交到镜像仓库,将镜像实例化为容器部署到集群,再到集群、容器的监测与管理。与人工地去各个服务器上部署服务的方式相比,这套半自动化服务部署方案,大大降低了风控平台下各类服务的运维成本。
综上所述,本文所做的工作即降低了大规模流数据的存储成本,还减少了流数据的查询时间,同时提供了分布式的轻量级服务,为上层实时数据分析与建模提供数据支撑。本文提供的部署方案,在降低运维成本的同时,能够保证平台的服务质量,增强平台的可靠性,降低平台的能耗。