跳轉到內容

大型資料/欺詐檢測的實用 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)
華夏公益教科書