巨杉應用案例:大資料司法查詢平臺

SequoiaDB發表於2016-11-01

1、前言 公檢法機關因審理經濟糾紛案件或經濟犯罪案件需要向銀行查詢企業事業單位、機關、團體的銀行存款或者查閱與案件有關的會計憑證、賬冊、報表等檔案資料,銀行應當積極配合。在查詢或者查閱時,人民法院應當向銀行出具正式公函,由銀行行長(主任)指定具體的業務部門負責提供有關的情況和資料並派專人接待。查閱人對需要的資料可以抄錄、複製或照相,但不能借走。人民法院對銀行提供的資料應當保守祕密。

人民檢察院偵查機關在辦理職務犯罪案件時,尤其是貪汙賄賂案件,到商業銀行查詢犯罪嫌疑人的賬戶相關交易流水和憑證是一個重要的獲取線索和證據的途徑,這也是商業銀行的一項法定義務。然而在實際操作過程中,偵查機關到商業銀行開展查詢工作時卻因為歷史資料查詢上的困難,導致查詢工作效率低下。

對於歷史資料而言,超過三至五年的資料,銀行會採用離線儲存的方式將資料歸檔至磁帶庫或光碟庫。當偵查機關向銀行提出司法查詢請求時,銀行工作人員需要將帶庫中的離線資料匯出成線上資料,以供查詢使用。帶庫資料的匯出操作是非常耗時,耗力的過程,故導致司法查詢進展緩慢。

2、面臨的挑戰 因為司法查詢需要檢視單位或個人銀行賬戶的所有交易流水,所以銀行需要提供所有歷史資料用以查詢。針對此類需求,銀行均要安排相關係統工作人員匯出離線資料以供查詢使用。在此需求環境下,銀行急需一種有效的解決方案將銀行工作人員從繁重的導數作業中解放出來。

司法查詢的資料是銀行儲存了幾十年的歷史資料,且會涉及多個業務系統,如核心系統、信用卡系統及網銀系統等。故其資料有以下特點:資料量龐大、業務系統眾多及新舊系統更替等。針對以上特點,解決方案需要解決以下幾點需求:

離線資料線上化:整個解決方案的重點即在於消除司法查詢中的離線資料匯出工作,而最效有效的解決之道則在於把離線的資料進行線上化。離線資料線上化後,司法查詢則只用將線上資料查詢出來給到相應檢查部門。因為司法查詢不像核心交易查詢如此頻繁,所以也不可以使用大中型乃至小型機作為資料線上化的硬體儲存平臺。

各業務系統資料統一管理:因為司法查詢涉及眾多業務系統,所以進行司法查詢時,需要到各業務系統平臺進行資料查詢。這種查詢方式帶來了極大的人力消耗成本。離線資料線上化需要將各業務系統資料進行統一管理,後續的司法查詢只用在一個平臺即可查詢所有相關資料。

新舊系統資料整合:銀行的各系統在整個歷史中進行了多次的升級改造,這就導致了新舊系統之間資料儲存設計上存在著極大的差異。為了能提供高效、便捷的司法查詢,新舊系統之間資料的整合也是必不可少。 提供高效的資料查詢:離線資料進行線上化的同時,也要保證資料查詢的高效性。只有兩者均達到,司法查詢才能真正擺脫低效率查詢的境地。

3、解決方案 司法查詢平臺由下到上可分為資料採集層、資料儲存加工層和資料應用層。資料儲存加工層是司法查詢平臺的核心,主要基於SequoiaDB分散式資料庫和Spark記憶體分析框架構成。基於此架構,司法查詢的離線資料實現線上化及實時查詢。

3.1資料採集層 資料採集層的主要作用是為資料儲存加工層提供司法查詢所需的各業務系統資料。ODS取數平臺通過將新舊核心、新舊信用卡及網銀等業務系統準備的歷史資料採集回來,將採集的資料統一格式,再通過SFTP、FTP和CD等網路傳輸方式提供給資料儲存加工平臺。

3.2資料儲存加工層 資料儲存加工層主要工作是完成司法查詢資料的統一儲存和加工處理。資料採集層傳輸至資料儲存加工層的資料主要分為存量資料和增量資料。根據此兩類資料,SequoiaDB+Spark構建的儲存加工層完成資料的規劃、入庫以及加工處理。

存量資料儲存:存量資料是指截止某時間點已經落盤儲存的資料,主要作為各業務系統的初始化資料進行儲存入庫。因為司法查詢的歷史資料所儲存的量比較龐大,所以存量資料在入庫前會根據系統類別、資料類別(流水與非流水)及資料量等維度進行資料規劃。SequoiaDB資料庫的Domain可根據系統類別完成資料規劃,如新舊核心使用Domain1,新舊信用卡使用Domain2。SequoiaDB的資料水平切分機制和時間序模型可根據資料類別及資料量等維度完成資料有序高效儲存,如流水資料可根據客戶交易日期採用時間序模型進行資料儲存。資料規劃完成後,操作員使用SequoiaDB Import工具將各系統資料匯入SequoiaDB資料庫。

資料模型去正規化化:由於新舊系統的更替及舊系統設計的歷史性,同一套系統的新舊系統資料表結構存在極大的差異,且舊系統資料在儲存大量歷史資料的情況下也不利用資料的查詢。眾所周知,歷史資料查詢的難度在於在資料量表的多表JOIN查詢。為了實現新舊系統資料統一和高效快速的查詢,儲存加工層需要根據司法查詢需求對存量資料進行加工處理。資料加工通過Spark分析框架將儲存於SequoiaDB中的資料根據新舊系統結構的統一規劃完成資料加工處理,如將所有資料打平成流水錶及非流水錶。

增量資料同步:增量資料指存量資料截止日期以後每日變更的資料,如新核心每天增加的客戶及每天的交易流水資料等。SequoiaDB資料庫儲存的資料需要與線上交易系統(如新核心、新信用卡)保持T-2資料的一致。

3.3資料應用層 離線資料完成線上化之後,資料的應用並不侷限於司法查詢(即公檢法查詢),也可以用於歷史資料定製查詢和管理員查詢等諸多用途。司法查詢因為其低頻率的查詢使得線上資料在絕大部分時間裡均未被使用。在不影響司法查詢的前提下,線上儲存資料的價值應該被髮揮出來,如銀行網點對歷史資料的查詢和銀行管理員查詢等。資料應用層使用SequoiaDB API、SequoiaDB SQL和SparkSQL等方式從資料儲存加工層獲取資料,並將獲取的資料在WEB前端頁面進行資料展示。

4、專案成果 離線資料低成本線上儲存:SequoiaDB資料庫採用分散式架構,只需要普通X86 PC Server即可完成海量資料的高效儲存。由於司法查詢使用的業務資料存在離線化、海量化、分散性及查詢低頻性等特點,所以廉價的線上儲存架構使離線資料實現線上化成為可能。

業務系統資料統一平臺管理:司法查詢涉及多個業務系統,所以對多個業務系統資料的規劃儲存和統一管理則顯得非常重要。SequoiaDB的Domain功能及後設資料資訊的有效管理很好的實現了多系統資料的統一儲存及管理。

歷史資料的實時查詢:司法查詢的資料儲存在SequoiaDB分散式資料庫之後,歷史資料可以進行實時查詢。SequoiaDB分散式儲存+多索引機制達成一個司法查詢請求任務秒級返回的結果。

SequoiaDB巨杉資料庫2.6最新版下載

SequoiaDB巨杉資料庫技術部落格

SequoiaDB巨杉資料庫社群

相關文章