跳转到内容

大型数据/欺诈检测的实用 DevOps

来自维基教科书,开放世界中的开放书籍

本节将阐述欺诈检测的目的及其问题,然后阐述为什么以及如何将大型数据作为解决方案的一部分,最后以 BigBlu 平台为例说明帮助欺诈检测的大型数据应用。

在欧盟,税务欺诈超过 1,000,000,000,000 欧元(1 万亿欧元),“这超过了欧盟在医疗保健上的总支出”,这是 2004 年至 2014 年期间欧盟委员会主席若泽·曼努埃尔·巴罗佐所说的话。事实上,各国必须在欺诈检测和反制措施上花费巨额资金,这大大减少了用于医院、学校和公共交通等公共服务的资金。税务欺诈对政府来说是一个巨大的问题,导致它们每年损失巨额资金。对于受这种现象影响的 145 个以上国家,其中大多数国家正在经历反复的经济危机,问题是保护数十亿欧元的收入来源。然而,当我们退一步看整体情况时,我们会意识到税务欺诈不仅仅是关于金钱。这只是冰山一角,隐藏着许多威胁。政府需要对资金如何流通以及在更大程度上如何使用资金进行更有效的控制。

政府越来越多地使用大型数据在多个部门帮助他们的机构管理运营,并改善他们向公民和企业提供的服务。在这种情况下,大型数据有可能使税务机构更快、更高效。然而,由于每年进行的税务操作数量众多以及税务计算方法本身的差异,欺诈检测实际上是一项艰巨的任务。欧盟针对此问题的主要措施是加强政府之间,特别是通过 IT 工具进行的信息交流与合作。因此,一个提供对所有税务信息即时安全访问的应用程序将加快欺诈检测流程。然而,一些问题仍然存在

  • 数量:随着纳税人越来越多,每年产生的税务申报也越来越多,数据量正在严格增加;
  • 多样性:数据来自多个来源(电费单、地方税信息等);
  • 适应性:新的欺诈类型不断出现,因此当局必须不断调整其检测方法;
  • 安全性:它处理敏感数据,因此不容忽视;
  • 速度、可变性和波动性:主要目标是快速完成,数据快速到达并发生变化;
  • 真实性、有效性和价值:由于数据的敏感性。

大型数据技术解决了上述所有问题。事实上,“‘大型数据’一词用于指称传统数据系统无法有效处理新数据集,这些数据集太大(数量)、太多样(多样性)、到达速度太快(速度)、变化太快(可变性和波动性),或者包含太多噪声(真实性、有效性和价值)。”(ISO,大型数据 - 2014 年初步报告)。

该应用程序不会取代人工检测,而是会将潜在的欺诈者暴露给当局。

目前存在一些处理大型数据的技术。本节将介绍一些免费的开源大型数据技术。

Apache Spark

[编辑 | 编辑源代码]

Apache Spark 是一个开源集群计算框架,它可以对大型数据执行复杂的分析,例如大型数据处理。Spark 使用一个非常简单的架构,包括主节点和工作节点,整个架构构成一个集群,如果节点位于不同的机器上,则称为垂直集群;如果它们都位于同一台机器上,则称为水平集群。从根本上说,Spark 应用程序配置作业,指定主节点信息(端口、IP 地址)以及要执行的作业。然后,它将其提交给主节点,主节点连接到工作节点集群以管理资源并执行作业。通常,作业是用面向对象的编程语言(如 Java 或 Scala)实现的。工作节点执行此作业,因此它必须在有工作节点的每台机器上。此约束要求 DevOps 开发,因为开发人员需要了解基础设施以在 Spark 应用程序中正确设置配置。

Spark 应用程序中的主要组件

Apache Cassandra

[编辑 | 编辑源代码]

Apache Cassandra 是一款免费的开源分布式 NoSQL 数据库管理系统。节点以环形结构组织,每个节点具有相同的角色,并通过点对点协议相互通信。数据以键值对的形式存储,并通过键的哈希值分布到不同的节点中。因此,每个节点都具有一个分区值,以便轻松地在集群中查找数据。

Cassandra 中节点的环形结构

当客户端发出请求时,一个节点将成为协调器,客户端将只与该节点通信。然后,协调器与其他节点协同工作,并在工作完成后将结果发送给客户端。因此,当一个节点是客户端的协调器时,另一个节点可能是另一个客户端的协调器。

BigBlu : 支持欺诈检测的大型数据平台

[编辑 | 编辑源代码]

BigBlu 是一款大型数据平台,作为 DICE 项目的一部分开发,旨在确定如何使用大型数据技术来支持欺诈检测。主要目的是探索税务申报,以提取潜在的欺诈者。然后,BigBlu 还提供一个可扩展模块,用于在数据库上创建和启动自定义查询,使当局能够适应新的欺诈类型,而无需进一步开发。

BigBlu 分为三个主要模块:仪表板、检测模块和管理模块。本节将介绍每个模块。

仪表板

[编辑 | 编辑源代码]

用户通过连接界面进行身份验证后,会访问仪表板,其中包含已启动作业的表格,表格中列出了作业的状态,以及有关作业的信息,例如使用的检测标准或启动日期。

BigBlu 平台的仪表板

已完成的检测有一个 显示结果 按钮(位于 操作 列中),它会显示一个表格,其中包含满足检测标准的所有人员,以及统计数据。例如,有一个关于性别分布的饼图。此外,一些统计面板提供了有关潜在欺诈者数量、平均年龄和收入的快速信息。

检测模块

[编辑 | 编辑源代码]

区分检测和作业很重要。检测是一个用户创建的查询,其中包含多个标准、名称和描述。作业对应于在特定时间在数据库上启动的检测。因此,所有作业都是从检测表格启动的:用户单击想要启动的检测的 启动 按钮,这将弹出一个窗口,用于选择要启动检测的数据库,然后重定向到仪表板。

BigBlu 平台的检测表格

从检测表格中,可以编辑、删除和创建检测。只有登录用户创建的检测才可用。例如,用户 lparant 无法访问用户 yridene 的检测,反之亦然。此外,只需单击检测行,就可以查看检测标准,这些标准将以列表形式显示在表格下方。最新版本提供了四种标准

  • 收入下降(百分比):选择收入比上一年下降超过用户选择的百分比的纳税人;
  • 收入区间(两个值);
  • 性别(男或女);
  • 年龄区间(两个值)。
BigBlu 平台的条件弹出窗口

用户可以组合这四个条件来创建自定义查询。例如,他/她可以创建一个查询,选择年龄在 30 岁以下,收入在 5k 到 10k 之间的女性。

最后,网站管理员可以访问页面来管理数据库和用户,以及有关 BigBlu 用于处理大数据查询的服务器的信息。由于管理页面不使用大数据技术,因此本节将简要介绍。简而言之,有两个 CRUD 服务:一个用于数据库,另一个用于用户。关于服务器的信息是静态的,因为服务器是由应用程序开发确定的,并且代表 Spark 和 Cassandra 集群。

BigBlu 的架构图

简而言之,BigBlu 由三个主要部分组成

  • 用户界面或 Web 客户端:一个使用 HTML、CSS、jQuery 和 Bootstrap 开发的 Web 应用程序。
  • 大数据应用程序:一个使用 Spark API 和 Cassandra 数据库,用 Java 开发的 Spark 应用程序。
  • Web 服务:Web 客户端和大数据应用程序之间的连接。它还负责管理用户、数据库和启动的检测。

流程:平台的演变

[编辑 | 编辑源代码]

为了探索通过大数据应用程序进行的欺诈检测,我们使用了指出可行性和增量功能的方法。因此,我们从 POC(概念验证)开始,然后是 MVP(最小可行产品),最后是 1.0 版。我们强烈推荐这种流程,因为它允许开发人员通过 POC 安全地发现和使用技术,然后详细说明产品,最大限度地利用他们在最后一步中所学到的知识,最终逐步测试、纠正和完善最终产品。

POC:概念验证

[编辑 | 编辑源代码]

首先,POC 包括实施一个演示器,以证明一个想法是可行的。因此,我们从探索大数据技术(如 Apache Spark 和 Apache Cassandra)开始。此外,我们进行了技术观察,以便更好地了解大数据及其问题。我们推荐您阅读由 Nathan Marz 和 James Warren 撰写的《可扩展实时数据系统原理和最佳实践》[1],它解释了处理大数据的问题以及如何解决这些问题。

MVP:最小可行产品

[编辑 | 编辑源代码]

然后,我们开始使用两种类型的指标创建 MVP。第一个指标是关于收入下降:当纳税人收入大幅下降时,他/她很可能通过不申报部分收入而实施欺诈。第二个指标是,当纳税人拥有高工资但税金很低时:可能存在欺诈。在此步骤中,我们使用基本界面实现了所有架构。该工具已经可以执行大数据查询并将结果保存在 Cassandra 中。

MVP 阶段的 BigBlu 界面

开发的最后一个版本是对 MVP 的增量增强。首先,重新设计了 HMI,我们添加了一个模块来完成演变性要求:新的模块检测现在允许使用四个条件的组合创建自定义查询。实现了 CRUD 服务,使用户能够创建、编辑和删除他/她的查询。

DICE 工具

[编辑 | 编辑源代码]
DICE 工具 用例的益处
DICE IDE 其他工具的有用中心。开发活动和工具验证是在此 IDE 内进行的。
DICER 通过使用具体概念,快速设计执行环境。使用这种图形建模语言,更容易理解 Cassandra 和 Spark 的各种特定概念。
部署服务 提高生产力。该工具为我们承担了学习如何在云基础设施上安装和配置 Cassandra 和 Spark 的负担。
配置优化 通过查看 Spark 的日志,该工具能够找到更好的配置。
优化工具 该工具可用于评估隐私机制实施的成本影响。
模拟工具 给定一组需求,税务机构可以使用该工具评估替代架构并衡量业务逻辑更改的影响。模拟模型也可以用于文档目的。

参考文献

[编辑 | 编辑源代码]
  1. NIST Big Data Public Working Group (2015-09). "NIST Big Data Interoperability Framework: Volume 1, Definitions. Final Version 1" (PDF). NIST Big Data Public Working Group. NIST. doi:10.6028/NIST.SP.1500-1. Retrieved 2017-08-11. {{cite web}}: Check date values in: |date= (help)
华夏公益教科书