TW202101337A - 用於產生告警之系統與方法以及非暫態電腦可讀取媒體 - Google Patents

用於產生告警之系統與方法以及非暫態電腦可讀取媒體 Download PDF

Info

Publication number
TW202101337A
TW202101337A TW109113638A TW109113638A TW202101337A TW 202101337 A TW202101337 A TW 202101337A TW 109113638 A TW109113638 A TW 109113638A TW 109113638 A TW109113638 A TW 109113638A TW 202101337 A TW202101337 A TW 202101337A
Authority
TW
Taiwan
Prior art keywords
event
state variable
events
account
time
Prior art date
Application number
TW109113638A
Other languages
English (en)
Other versions
TWI718941B (zh
Inventor
周彥
永輝 陳
Original Assignee
南韓商韓領有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商韓領有限公司 filed Critical 南韓商韓領有限公司
Publication of TW202101337A publication Critical patent/TW202101337A/zh
Application granted granted Critical
Publication of TWI718941B publication Critical patent/TWI718941B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)
  • Communication Control (AREA)

Abstract

一種用於產生告警之系統包括處理器及儲存裝置。指令將一或多個處理器配置以實行包括以下的操作:自資料流接收事件;自事件提取密鑰;基於所提取的密鑰而將事件與至少一個賬戶相關聯;辨識與所述至少一個賬戶相關聯的狀態變數;藉由以下方式來更新狀態變數:在狀態變數中累積事件、將事件的時間戳記暫存於狀態變數中、以及使過期事件自狀態變數退出。所述操作亦可包括判斷狀態變數是否高於臨限水準且當狀態變數高於臨限水準時產生針對賬戶的告警。

Description

用於實時處理資料流之系統以及方法
本揭露大體而言是有關於用於實時資料流處理之系統以及方法,且更具體而言是有關於以下系統以及方法:所述系統以及方法用於在使所需資源、等待時間及/或記憶體利用最小化的同時對多源資料流中的歷史趨勢進行處理以辨識異常。
在一些網路式系統中,資料以資料流的形式在不同的伺服器(或域)之間進行交換,資料流可為數位編碼訊號的序列,例如頻繁傳送或連續傳送的資料包。實時處理資料流中的資訊(即,一旦資料變得對系統可用便處理資料)會提供快速對新資訊作出回應以及及時做出反應的能力。換言之,資料流的實時資料處理使得網路式系統的使用者能夠基於即時資料或最近的資料非常迅速地獲得見解或得出結論。
實時地處理資料流的能力在若干應用中具有價值。舉例而言,藉由實時地監測並處理診斷資料,對患者的健康進行監測的系統可獲得關於患者狀況的重要見解。另外,資料伺服器可藉由實時地監測客戶端請求來捕獲資料流中的異常,進而辨識攻擊(例如阻斷服務(denial of service,DOS)攻擊)。相似地,藉由實時地處理資料流,信用卡公司或線上零售商可識別並防止詐欺活動。另外,實時處理資料流在顧客關係管理(customer relationship management,CRM)中可為有用的。總之,實時地處理資料流容許更嚴格地控制網路,創建更強健的系統且使得實現需要即時反應的應用。
然而,實時地處理資料流具有技術挑戰,技術挑戰會限制其有效實施。特別是在複雜的系統(如具有多個資訊提供者、若干資料流或非常大量的資料的系統)中,實時分析資料流可能在計算上複雜且資源密集。舉例而言,實時處理系統面臨著提供高可用性及低回應時間的技術挑戰。另外,實時處理系統面臨著處置大量資料的挑戰,其中一些應用甚至需要每分鐘處理幾兆位元組的資訊,同時亦要快速返送回答案。另外,由於實時處理系統可自具有不同資料格式的多個源接收資料,因此實時處理系統面臨著資料不均等的挑戰。
該些技術挑戰或問題複合於查看歷史資料以能夠辨識趨勢或推斷結論的應用中。在此種應用中,實時面臨著以下挑戰:快速處理資料,同時(與此同時)管理複雜的記憶體操作以擷取分析所需的資訊且在分析之後快速儲存資訊。提供有意義的結論需要應具有以下能力的實時處理系統:快速讀取及寫入記憶單元、快速儲存新處理的資訊以及擷取當前結論所需的先前資訊。
為應對所述技術挑戰以達成成功的實時資料流處理,系統可採用具有可滿足處理需求的非常強健的計算能力的複雜且昂貴的硬體架構。因此,該些過程中的許多過程是為具有高頻寬及處理能力的複雜電腦叢集或網路式服務儲備的。該些系統亦被配置有複雜的記憶體管理系統,以快速擷取並儲存資料。然而,該些資源維護成本高且並非對所有應用可用。
所揭露的用於向客戶端裝置提供多媒體內容的系統以及方法會解決上述問題中的一或多者及/或現有技術中的其他問題。
本揭露的一個態樣是有關於一種用於產生告警之系統。所述系統可包括一或多個處理器及儲存指令的一或多個儲存裝置。所述指令在被執行時可將所述一或多個處理器配置以實行操作。所述操作可包括:自資料流接收事件,所述事件包括交易資訊;基於一組預定義的所選主題而自所述事件提取密鑰;基於所提取的所述密鑰而將所述事件與至少一個賬戶相關聯;以及辨識與所述至少一個賬戶相關聯的狀態變數,所述狀態變數被配置以可以恆定時間複雜度進行存取。此外,所述指令可包括藉由以下方式來更新所述狀態變數的操作:在所述狀態變數中累積所述事件、將所述事件的時間戳記暫存於所述狀態變數中、以及使過期事件自所述狀態變數退出;判斷所述狀態變數是否高於臨限水準且當所述狀態變數高於所述臨限水準時產生針對所述賬戶的告警。
本揭露的另一態樣是有關於一種用於產生告警的由電腦實施之方法。所述方法可包括:自資料流接收事件,所述事件包括交易資訊;基於一組預定義的所選主題而自所述事件提取密鑰;基於所提取的所述密鑰而將所述事件與至少一個賬戶相關聯;辨識與所述至少一個賬戶相關聯的狀態變數,所述狀態變數被配置以被以恆定時間複雜度進行存取。所述方法亦可包括藉由以下方式來更新所述狀態變數:在所述狀態變數中累積所述事件;將所述事件的時間戳記暫存於所述狀態變數中;以及使過期事件自所述狀態變數退出。所述方法亦可包括判斷所述狀態變數是否高於臨限水準且當所述狀態變數高於所述臨限水準時產生針對所述賬戶的告警。
本揭露的又一態樣是有關於一種儲存指令的非暫態電腦可讀取媒體。在執行所述指令時,處理器實行基於交易而產生實時告警的操作,所述操作包括:自多個客戶端系統接收資料流,所述資料流包括多個事件;自所述多個事件濾除不包括時間戳記的事件;藉由將所述多個事件中的未被濾除事件中的每一者中的時區及貨幣正規化而產生正規化事件的陣列。所述操作亦可包括自所述正規化事件實時地提取多個密鑰,所述多個密鑰包括網際網路協定(Internet protocol,IP)位址、電子郵件位址或電話號碼;基於對應的密鑰將所述正規化事件與至少一個賬戶相關聯;辨識與對應的賬戶相關聯的狀態變數,所述狀態變數被配置以可以O(1)複雜度運算器進行存取,所述狀態變數儲存於單個副本中;藉由以下操作來更新所述狀態變數:在所述狀態變數中累積所述未被濾除事件、為經過更新的所述狀態變數中的每一者暫存計時器及回呼、使過期事件自所述狀態變數退出,所述過期事件具有落於時間窗之外的時間戳記;對與賬戶相關聯的經過更新的狀態變數指配權重;使用基於所述經過更新的變數的預測模型來計算詐欺機率;以及當所述狀態變數高於臨限水準時產生針對所述賬戶的告警。
本揭露大體而言是有關於用於實時處理資料流之系統以及方法,所述系統以及方法可將等待時間最小化並減少記憶體操作的數目。舉例而言,在一些實施例中,所揭露的系統可採用累積狀態變數,累積狀態變數被配置以被以低複雜度函數進行存取,以減少回應時間及記憶體利用。此外,所揭露的系統以及方法可使用改善結論準確度的預測模型來處理歷史趨勢及多個有關事件。在此種實施例中,多個預測模型可使用多個狀態變數(涵蓋多個考量)作為輸入,以基於歷史資料及多個資料集二者獲得更精確的判斷。舉例而言,當用於電子支付詐欺偵測時,所揭露的系統可使用多個狀態變數來獨立地監測變數(如交易頻率、交易金額、交易位置、交易商家或交易貨幣)。具有此種考量多樣性,儘管基於低複雜度操作作出快速回應,詐欺的結論及計算仍可高度準確。
另外,所揭露的系統以及方法可採用使用差分計算而非絕對判斷的遞增架構來增強實時處理效能。在此種實施例中,採用差分計算可減少硬體要求且將回應的等待時間最小化。舉例而言,所揭露的系統可以簡單的差分邏輯及平行的架構來實施,以獨立地迅速分析變數。此種佈置藉由有利於實時高效的資料處理而改善電腦操作及功能。
此外,所揭露的系統以及方法可藉由限制對每一事件進行考量所需的計算數目來放寬實時資料流處理的硬體要求。舉例而言,所揭露的系統以及方法可被配置以僅針對資料流中的每一事件實行兩次計算,而非實行多次計算來考量資料流中的歷史趨勢;一次計算在事件發生時實行且一次計算在事件過期時實行。差分架構可使所揭露的系統能夠限制每一事件的計算數目,降低系統的複雜度且將用於監測資料流的電腦資源最小化。
作為另外一種選擇或另外地,所揭露的系統以及方法可藉由基於歷史資訊而避免連續計算來降低計算要求。在所揭露的系統以及方法中,可僅在接收到資料流中的相關事件(即,觸發事件)時才觸發計算,而非持續地或週期性地計算變數並產生預測。此種僅在接收到事件時啟用計算引擎的方法會節省資源並解決與硬體利用有關的技術困難。舉例而言,有關於辨識可疑活動或詐欺的實施例可被配置以僅在接收到觸發事件時「醒來(wake up)」或啟用以降低電腦利用,而非應用衰減函數及週期性計算。另外,藉由採用能夠實時地作出反應的動態狀態變數,所揭露的系統以及方法計算可將記憶體利用最小化。在此種實施例中,一旦接收到事件或事件過期,所揭露的系統以及方法便可快速更新變數。由於狀態變數可減少與滑動間隔及週期性計算有關的操作,因此用於更新所述狀態變數的此種佈置可將等待時間最小化。
另外,所揭露的系統以及方法可非常適合於處置複雜及長期的資料流分析。當處置資料流的歷史趨勢時,實時處理系統可能會面臨長的等待時間或效能問題,特別是分析需要複雜計算的長期歷史趨勢。然而,在所揭露的系統以及方法中,使用具有低複雜度及差分架構的狀態變數可解決技術問題。將用於實時分析的變數及函數配置以具有低的時間複雜度可使得系統具有獨立於所分析的趨勢的回應時間。實際上,在所揭露的系統以及方法的一些實施方案中,變數及函數可被配置以具有統一的O(1)複雜度,所述O(1)複雜度確定對處理請求作出的快速回應,而不論歷史趨勢項如何。因此,在所揭露的方法以及系統的一些實施例中,對將被以低複雜度運算器進行存取的狀態變數的資料結構進行佈置使得能夠在僅僅幾毫秒內處理傳入資料流中的事件,而不論歷史分析的複雜度如何。
所揭露的系統以及方法的一些實施例亦可藉由將儲存經處理的資料所需的硬體最小化來改善實時資料流監測技術領域。舉例而言,在一些實施例中,所揭露的方法可被配置以儲存經分析的資料的單個副本,同時移除較早的資料,進而使系統中所需的記憶體結構簡化。作為另外一種選擇或另外地,所揭露的系統以及方法可使用為實時處理定製的記憶體儲存架構。舉例而言,所揭露的系統可包括先進先出暫存器(first-in and first-out register)或相似的記憶體結構,以在將用於預測及/或未來計算所需的儲存空間最小化的同時高效地處置所儲存的資料。另外,在所揭露的系統以及方法的一些實施例中,與資料流有關的計算及判斷可儲存於單個物理磁碟或虛擬磁碟上,以將存取等待時間及記憶體利用最小化。
此外,所揭露的系統以及方法可包括其中不追蹤時間間隙以簡化模型並降低記憶體利用的實施例。並非追蹤在資料流中進行分析的每一事件的時間,在所揭露的方法中,沒有為時間衰減函數儲存時間間隙,而是僅使用事件及表項時間作為二進制函數來考慮或不考慮資料流中的事件對狀態變數的影響。
另外,所揭露的系統以及方法可被配置以在連線(on-line)實施方案與離線(off-line)實施方案之間產生一致的結果。離線實施方案在本地裝置或系統內執行,而不連接至外部網路或域。在離線操作中測試或實施用於實時捕獲的模型及/或協定可更簡單且更快。舉例而言,由於使用者完全控制用於分析或訓練事件捕獲模型的資料,因此在離線實施方案中管理資訊及資料流程可更簡單。此外,在離線實施方案中,使用者通常可在本地系統內快速整合及/或停用其他模組。然而,離線實施方案可被鎖定且無法導出經訓練的模型。此外,離線實施方案要求設定各別的儲存能力或處理能力,例如結構化查詢語言(structured query language,SQL)服務。反之,連線實施方案是以網路式裝置執行的且系統可結合由系統的其他元件產生的實時資料。舉例而言,可在連接至實時客戶端資訊流的雲端服務或「活(live)」系統內執行連線實施方案。連線實施方案可為可撓的,進而使得使用者以不同類型的軟體及訓練資訊進行實驗。連線實施方案亦可移除對專用電腦硬體的要求。具有離線實施方案與連線實施方案之間的一致性使得開發者能夠在實施方案上無縫整合新特徵,在受保護的環境中開發,且以更快的迭代來修正問題。所揭露的系統以及方法可有利於一致的離線轉變與連線轉變。
舉例而言,當離線地分析資料流與連線地分析資料流時,所揭露的系統可產生相似或實質上相似的結果。所揭露的方法可被配置以離線地開發並訓練預測模型,預測模型可無縫地用於連線應用中。系統的離線行為與連線行為之間的一致性可有利於模型構建及模型實施。由於所揭露的系統以及方法可互換地執行,因此所揭露的系統及方法解決了預測模型的離線效能與連線效能之間不相容的技術問題。
所揭露的系統以及方法亦可解決實時地處理多源資訊的技術問題。舉例而言,所揭露的系統可包括位於特定位置中的過濾器或者在資料被處理之前將資料正規化的資料修改器。在此種實施例中,所揭露的方法可包括藉由預編碼過濾器篩選資料流,以辨識不需要進行處理的事件或者落於使用者所需類別之外的事件。此種過濾器可位於域或伺服器之間的介面中,以有利於之後的實時處理。
在一些實施方案中,所揭露的系統以及方法可改善自動電子支付詐欺偵測技術領域。舉例而言,當使用者在短時間內實行高頻率交易時,所揭露的系統以及方法可適用於具有欲捕獲的資料交易的資料流。對於此種應用,所揭露的系統以及方法可實時地處理交易資訊並快速且準確地計算交易的頻率、來源及金額。此外,對於此種應用,所揭露的系統以及方法可提供用於穩定及可伸縮分析的平台,所述平台可被合併於來自不同源的資料流中。
現將詳細參照所揭露的實施例,所揭露的實施例的實例在隨附圖式中例示出。
圖1是與所揭露的實施例一致的示例性系統100的方塊圖。在系統100中,服務提供者(未圖示)(例如流服務或線上零售商)可實時地處理資料流,以例如辨識異常活動或可疑行為並產生告警。系統100可包括服務系統105,服務系統105可包括流運算器110、實時狀態計算器120及客戶端請求介面130。系統100可另外包括線上資源140、客戶端裝置150、第三方系統160、客戶端系統190及資料庫180。在一些實施例中,如圖1中所示,系統100的組件可連接至網路170。然而,在其他實施例中,系統100的組件可在無網路170的情況下彼此直接連接。舉例而言,資料庫180可直接耦合至服務系統105。
線上資源140可包括由實體(例如網站代管、網路、雲端或備份服務的提供者)提供的一或多個伺服器或儲存服務。在一些實施例中,線上資源140可與儲存用於認證服務、域名稱系統(Domain Name System,DNS)或登陸頁面的網頁的代管服務或伺服器相關聯。在其他實施例中,線上資源140可與雲端計算服務相關聯。在又一些其他實施例中,線上資源140可與訊息服務(例如(舉例而言)蘋果推送通知服務(Apple Push Notification Service)、Azure行動服務或穀歌雲端訊息)相關聯。在此種實施例中,線上資源140可處置與所揭露的實施例的功能有關的訊息及通知的傳遞,例如對數位權利管理進行處置。
客戶端裝置150可包括一或多個計算裝置,所述一或多個計算裝置被配置以實行與所揭露的實施例一致的一或多個操作。舉例而言,客戶端裝置150可包括桌上型電腦、膝上型電腦、伺服器、行動裝置(例如,平板電腦、智慧型電話等)、機上盒(set-top box)、競賽裝置、可穿戴計算裝置或其他類型的計算裝置。客戶端裝置150可包括一或多個處理器,所述一或多個處理器被配置以執行儲存於記憶體(例如客戶端裝置150中所包括的記憶體)中的軟體指令,以實行實施以下所闡述功能的操作。客戶端裝置150可被配置以用於有線通訊及/或無線通訊,且可包括在由處理器執行時實行有關網際網路的通訊(例如,傳輸控制協定(transmission control protocol,TCP)/IP)及內容顯示過程的軟體。舉例而言,客戶端裝置150可執行瀏覽器軟體,瀏覽器軟體產生並顯示包括客戶端裝置150中所包括的或連接至客戶端裝置150的顯示裝置上的內容的介面。客戶端裝置150可執行使得客戶端裝置150能夠經由網路170與組件進行通訊的應用,且經由客戶端裝置150中所包括的顯示裝置產生並在介面中顯示內容。
在一些實施例中,如結合圖6進一步所揭露,客戶端裝置150可運行被專門配置以與服務系統105進行交作的應用。另外,客戶端裝置150可儲存一或多個賬戶。舉例而言,客戶端裝置150可儲存關於使用者賬戶的資訊,包括使用者身份(identification)、密碼、位置及電子支付資訊。
所揭露的實施例並非僅限於客戶端裝置150的任何特定配置。舉例而言,客戶端裝置150可為以下行動裝置:所述行動裝置儲存及執行行動應用以實行提供由服務系統105及/或線上資源140供應的功能的操作。在某些實施例中,客戶端裝置150可被配置以執行與位置服務(例如,全球定位系統(global positioning system,GPS)位置)有關的軟體指令。舉例而言,客戶端裝置150可被配置以確定地理位置並提供位置資料及與位置資料對應的時間戳記資料。結合圖6進一步闡述客戶端裝置150。
資料庫180可包括一或多個計算裝置,所述一或多個計算裝置被配置有適當軟體,以實行與提供服務系統105、流運算器110、實時狀態計算器120及/或用於實行與客戶端裝置150的交易的客戶端請求介面130資料一致的操作。資料庫180可包括例如甲骨文(Oracle™)資料庫、賽貝斯(Sybase™)資料庫、或其他關係資料庫或非關係資料庫,例如Hadoop™序列檔案、HBase™或Cassandra™。資料庫180可包括計算組件(例如,資料庫管理系統、資料庫伺服器等),所述計算組件被配置以接收並處理對儲存於資料庫的記憶體裝置中的資料的請求且提供來自資料庫的資料。
儘管資料庫180被單獨地示出,然而在一些實施例中,資料庫180可被包括於服務系統105、流運算器110、實時狀態計算器120、客戶端請求介面130及線上資源140中的一或多者中,或者以其他方式與服務系統105、流運算器110、實時狀態計算器120、客戶端請求介面130及線上資源140中的一或多者有關。
資料庫180可被配置以收集及/或維護與使用者賬戶及使用者偏好相關聯的資料。舉例而言,資料庫180可儲存關於服務系統105的使用者的使用者設定檔的資訊。資料庫180可自各種源(包括例如線上資源140)收集資料。以下結合圖5進一步闡述資料庫180。
第三方系統160可包括由與服務系統105有關的實體(例如服務的提供者或實現中心)提供的一或多個伺服器或儲存服務。第三方系統160可經由網路170連接至系統100,但在其他實施例中,第三方系統160可包括與系統100的一些元件的直接連接。此外,第三方系統160可被配置以自服務系統105或系統100的其他元件提供及/或請求資訊。在一些實施例中,儘管第三方系統160亦可耦合至網路170,然而第三方系統160可不為服務系統105的客戶端。相反,第三方系統160可包括包含服務系統105的使用者或客戶端的資訊的系統。舉例而言,第三方系統160可包括具有詐欺活動記錄及/或詐欺賬戶記錄的政府伺服器,政府伺服器可被服務系統105用來做出詐欺判斷。
客戶端系統190可包括經由網路170與服務系統105進行通訊的一或多個伺服器或儲存服務。客戶端系統190將資料流饋送至服務系統105,服務系統105可使用所揭露的系統以及方法實時地處理所述資料流。舉例而言,客戶端系統190可傳送具有信用卡認證請求及/或購買訂單的事件的資料流。在此種實施例中,自客戶端系統190傳送的事件可包括使用者資訊、位置、交易金額、IP位址及/或貨幣。此外,客戶端系統190可運作視窗(Windows®)作業系統、蘋果(macOS®)作業系統或Linux®作業系統。
客戶端系統190可包括使用不同通訊協定的多個不同系統。舉例而言,客戶端系統190可處於不同的地理位置中,使用特定的通訊通道及/或端口,或者經由不同的媒體進行通訊。舉例而言,客戶端系統190中的一些客戶端系統190可使用TCP,而其他客戶端系統190可使用使用者資料報協定(user datagram protocol,UDP)。因此,在一些實施例中,服務系統105可包括過濾器及正規器,以辨識異常資料並根據正規化規則將異常資料正規化。正規化規則可包括將事件的所有時間戳記變換成格林威治標準時間(Greenwich mean time,GMT)或將所有金額資訊變換成美國的美元。另外,在一些實施例中,客戶端系統190可包括聚合器網站或搜尋引擎,搜尋引擎可頻繁地自服務系統105拉取資訊。作為另外一種選擇或另外地,客戶端系統190可代管電子商務網站。在一些實施例中,客戶端系統190可向客戶端裝置150提供服務。在其他實施例中,客戶端系統190及客戶端裝置150可由相同的使用者操作且可在地理上協同定位。在又一些其他實施例中,客戶端系統190與客戶端裝置150可彼此獨立。
在一種配置中,流運算器110可包括一或多個計算系統,所述一或多個計算系統被配置以實行與處理自例如客戶端系統190接收的資料流一致的操作。在一些實施例中,流運算器110可自客戶端系統190及/或客戶端裝置150接收購買訂單或授權請求。舉例而言,客戶端系統190可提供具有購買交易的支付資訊的資料流。流運算器110可提供基礎設施及組件來捕獲資料流中的事件、濾除、分析並提供結論。在此種實施例中,流運算器110可實時地自資料流提取密鑰及值,以驗證/拒絕交易。此外,流運算器110可解析資料流中的事件,以將所述事件與使用者賬戶及/或使用者偏好相關聯。
在一些實施例中,流運算器110可產生資料結構,資料結構可被用作預測模型中的輸入以確定異常及/或偵測詐欺。舉例而言,流運算器110可將資料流佈置成密鑰及值對的二維陣列或二維矩陣,所述密鑰及值對的二維陣列或二維矩陣可被用於確定資料流中的異常事件或稀少事件。在此種實施例中,如以下結合圖8進一步所闡述,流運算器110可自資料流提取密鑰及值,並基於事件密鑰來辨識與事件相關聯的賬戶。另外,流運算器110可對資料流中的資訊實行濾除功能或正規化功能,以有利於對資料流中的事件進行實時資料處理。結合圖2進一步闡述流運算器110。
實時狀態計算器120可包括一或多個計算系統,所述一或多個計算系統被配置以確定或產生與資料流中的事件相關聯的狀態變數。如結合圖14A至圖14C進一步所闡述,狀態變數可被配置以週期性地或基於觸發事件進行更新。在一些實施例中,由實時狀態計算器120產生的狀態變數可被配置以可以具有O(1)複雜度的運算器進行存取。舉例而言,狀態變數可被配置以可以如下運算器進行存取:以恆定時間運行的運算器,而不論輸入大小如何(包括例如陣列);存取元素的運算器,具有固定大小的堆棧;用於推送及彈出方法的運算器,具有固定大小的佇列;用於入佇列及出佇列方法的運算器。
在一些實施例中,實時計算器120可自流運算器接收資訊且基於資料流中的所提取的密鑰或值將所述資訊與狀態變數相關聯。舉例而言,在流運算器110識別出事件與電話號碼相關聯之後,實時計算器120可識別與電話號碼相關聯的一或多個狀態變數,接著處理資料並得出結論。
實時狀態計算器120可被配置以對狀態變數實行累積運算及差分運算。另外,實時狀態計算器120可被配置以產生用於確定變數中的歷史趨勢的規則。舉例而言,實時狀態計算器120可被配置以確定影響狀態變數的事件的過期規則。在此種實施例中,實時狀態計算器120可確定早於24小時的事件將不再影響狀態變數且事件影響可在24小時之後消除。此外,實時狀態計算器120亦可識別用於產生告警的規則。舉例而言,實時狀態計算器120可確定交易數目的臨限值。若儲存於狀態變數中的交易數目超過臨限值數量,則實時狀態計算器120可產生異常告警或潛在詐欺活動告警。
實時狀態計算器120亦可包括硬體及軟體,以在狀態變數中累積事件。舉例而言,實時狀態計算器120可藉由添加新事件或移除過期事件來執行修改狀態變數的操作。在一些實施例中,狀態變數的修改僅由傳入事件觸發。亦即,實時狀態計算器120可被配置以僅在由相關事件觸發時修改狀態變數,以將計算成本及記憶體利用最小化。
另外,實時狀態計算器120可被配置以產生及/或應用預測模型,預測模型確定資料流中的詐欺行為或非常態行為。實時狀態計算器120可訓練人工智慧模型(例如卷積神經網路(convolutional neural network,CNN)或隨機森林(random forest,RF)分析),以辨識資料流中的反常行為。在一些實施例中,實時狀態計算器120可基於事件更新狀態變數且使用狀態變數作為可返回非常態行為機率的CNN或RF模型的輸入。在此種實施例中,實時狀態計算器120可在由模型得出的機率高於臨限機率時產生告警。
在一些實施例中,實時狀態計算器120可包括硬體及軟體,以在服務系統105的操作期間處置記憶體操作。舉例而言,實時狀態計算器120可包括儲存具有關於賬戶的資訊的狀態變數的儲存裝置。此外,實時狀態計算器120可被配置以實行將記憶體利用最小化的記憶體操作。舉例而言,實時狀態計算器120可包括儲存裝置,儲存裝置被配置以消除重複的資訊或辨識可被丟棄的不相關記錄,以擴大附加資訊的空間。結合圖3進一步闡述實時狀態計算器120。
客戶端請求介面130可包括一或多個計算系統,所述一或多個計算系統實行對連接至網路170的其他系統的請求做出回應的操作。舉例而言,客戶端請求介面130可為應用程式設計介面(application programming interface,API)提供支援,客戶端系統190可使用應用程式設計介面來與服務系統105進行交作。客戶端請求介面130可被配置以當交易與詐欺賬戶或被破解賬戶相關聯時阻止交易。客戶端請求介面130亦可包括對客戶端請求進行處理的硬體或軟體,客戶端請求可包括認可授權、庫存請求及/或購買訂單。
在一些實施例中,客戶端請求介面130可包括實行客戶端裝置150或客戶端系統190的認證功能的處理器。舉例而言,客戶端請求介面130可基於客戶端身份(ID)及/或安全符記(secure token)來辨識請求,接著將所述請求與例如由實時狀態計算器120產生的告警通知進行比較。在一些實施例中,客戶端請求介面130可包括被配置以以不同格式編碼內容及分封內容的處理器。在一些實施例中,客戶端請求介面130可包括多核心處理器,以並行地處置多個操作及/或流。舉例而言,客戶端請求介面130可包括平行的處理單元,以並行地處置多個客戶端裝置150的請求。
在一些實施例中,客戶端請求介面130可被配置以分批次而非實時地處置系統100中的來自其他域的特定請求。舉例而言,若客戶端系統190請求賬戶的狀態,則客戶端請求介面130可被配置以基於所儲存的處理結果來對查詢作出回應。然而,此回應可不進行實時地處理,而是可在資源可用於審查狀態變數及執行預測模型時得到處理。因此,客戶端請求介面130可包括管理元件,管理元件可監測服務系統105中的其他元件的當前容量及頻寬,以對客戶端請求作出回應。作為另外一種選擇或另外地,客戶端請求介面130可包括對客戶端請求進行處置的專用硬體。舉例而言,客戶端請求介面130可包括被專門配置以處置拉取客戶端請求的簡單精簡指令集電腦(reduced Instruction set computer,Risc)電腦(Simple Risc Computer,SRC)架構或其他可重新配置的計算系統。結合圖4進一步闡述客戶端請求介面130。
圖1示出作為服務系統105的不同組件的流運算器110、實時狀態計算器120及客戶端請求介面130。然而,流運算器110、實時狀態計算器120及客戶端請求介面130中的一或多者可在同一計算系統中實施。舉例而言,服務系統105中的所有元件可在具有不同虛擬化模組的單個伺服器中實現。作為另外一種選擇,服務系統105可在具有不同模組的分佈式計算框架中實現,以實行流運算器110、實時狀態計算器120及客戶端請求介面130的角色。
網路170可為被配置以在系統100的組件之間提供通訊的任何類型的網路。舉例而言,網路170可為提供通訊、交換資訊及/或有利於資訊交換的任何類型的網路(包括基礎設施),例如網際網路、局部區域網路(Local Area Network)、近場通訊(near field communication,NFC)、光碼掃描器(optical code scanner)或能夠在系統100的組件之間發送及接收資訊的其他合適的連接。在其他實施例中,系統100的一或多個組件可藉由專用通訊鏈路直接進行通訊。在又一些其他實施例中,網路170可包括多個網路,以例如對一或多個網路進行組織。
應理解,為便於說明,本文中已定義了系統100的功能構建區塊的配置及邊界。只要適當地實行指定的功能及其關係,便可定義替代邊界。替代物(包括本文中所述的等效物、擴展、變化、偏差等)將顯而易見。此種替代物落於所揭露的實施例的範圍內。
圖2示出與所揭露的實施例一致的示例性流運算器110(圖1)的方塊圖。流運算器110可包括通訊裝置210、流記憶體220及一或多個流處理器230。流記憶體220可包括流程式222及流資料224。流處理器230可包括過濾器/正規器232、仲介234、編譯器236及計時器238。
在一些實施例中,流運算器110可採取伺服器、通用電腦、大型電腦或該些組件的任意組合的形式。在其他實施例中,流運算器110可為虛擬機。亦可存在與所揭露的實施例一致的其他實施方案。
通訊裝置210可被配置以直接與一或多個資料庫(例如上述資料庫180)及系統100的其他元件進行通訊或經由網路170與一或多個資料庫(例如上述資料庫180)及系統100的其他元件進行通訊。具體而言,通訊裝置210可被配置以自客戶端系統190及客戶端裝置150接收資料流。此外,通訊裝置210可被配置以自資料庫180接收使用者賬戶資訊,以在將資訊發送至實時狀態計算器120時確定對應的狀態變數。另外,通訊裝置210亦可被配置以與其他組件(包括例如實時狀態計算器120及客戶端裝置150)進行通訊。舉例而言,經由通訊裝置210,流運算器110可將資料流中的事件的密鑰及值傳送至實時狀態計算器120。接著,基於所接收到的密鑰及事件,服務系統105可更新累積狀態變數以辨識反常行為。
通訊裝置210可包括例如一或多個數位裝置及/或類比裝置,所述一或多個數位裝置及/或類比裝置使得通訊裝置210能夠與其他組件進行通訊及/或對其他組件進行偵測,例如用於經由網際網路進行通訊的網路控制器及/或無線配接器。亦可存在與所揭露的實施例一致的其他實施方案。
流記憶體220可包括一或多個儲存裝置,所述一或多個儲存裝置被配置以儲存由流處理器230用來實時地處理資料流的指令。舉例而言,流記憶體220可儲存軟體指令(例如流程式222),軟體指令可在由流處理器230執行時實行操作。所揭露的實施例並非僅限於被配置以實行專用任務的單獨的程式或電腦。舉例而言,流記憶體220可包括實行流運算器110的功能的單個流程式222,或者流程式222可包括多個程式。流記憶體220亦可儲存流資料224,流資料224用於儲存自經處理的流提取的密鑰及值及/或用於分析歷史趨勢的先前所提取的資訊。舉例而言,流資料224可包括先前所提取的賬戶資訊的副本。
在某些實施例中,流記憶體220可儲存用於施行以下過程的指令集:自資料流提取資訊、實行使用者認證任務及/或與資料庫180進行交作以確定使用者賬戶的狀態。在某些實施例中,流記憶體220可儲存用於自客戶端系統190請求附加資訊的指令集。亦可存在其他指令。一般而言,指令可由流處理器230執行,以實行與所揭露的實施例一致的過程。
在一些實施例中,流處理器230可包括一或多個已知的處理裝置,例如但不限於由英特爾(Intel™)製造的奔騰(Pentium™)系列或志強(Xeon™)系列的微處理器、由進階微型裝置(Advanced Micro Devices,AMD™)製造的炫龍(Turion™)系列的微處理器、或者來自其他製造商的各種處理器中的任意者。然而,在其他實施例中,流處理器230可為被耦合成及配置以實行與本揭露一致的功能的多個裝置。舉例而言,流處理器230可包括多個共處理器,所述多個共處理器中的每一者被配置以運行特定的流運算器110操作,例如浮點算術(floating point arithmetic)、圖形、訊號處理、字串處理、密碼或輸入/輸出(input/output,I/O)介接。
在一些實施例中,流處理器230可執行軟體以實行與流處理器230中闡述的每一組件相關聯的功能。在其他實施例中,流處理器230的每一組件可為獨立的裝置。在此種實施例中,每一組件可為被配置以專門處理資料或實行處理資料流的操作的硬體裝置。舉例而言,流處理器230中的過濾器/正規器232可為現場可程式化閘陣列(field programmable gate array,FPGA),編譯器236可為中央處理單元(central processing unit,CPU)。亦可存在其他硬體組合。在又一些其他實施例中,可使用硬體與軟體的組合來實施流處理器230。
過濾器/正規器232可處理資料流以消除與服務系統105不相關的事件。此外,過濾器/正規器232可在資料流中準備事件,以供流運算器110進一步處理。舉例而言,當資料流中的事件與即時操作不相關時,過濾器/正規器232可消除所述事件。在此種實施例中,過濾器/正規器232可消除與密碼改變或使用者名稱請求相關的事件,但保留其他事件(例如購買請求或交易授權請求)。此外,過濾器/正規器232可被配置以針對特定應用定製服務系統105。舉例而言,對服務系統105進行配置的使用者偵測電子交易中的詐欺可將過濾器/正規器232設定成消除與電子交易不相關的任何事件。在不同域之間的邊界中應用這種過濾器可藉由將不相關事件的所需處理最小化來改善電腦操作。在此種實施例中,過濾器/正規器232可包括剖析器及符號辨識符,例如濾除無數字或貨幣身份的任何事件。作為另外一種選擇或另外地,過濾器/正規器232亦可包括基於資料流中的事件的標頭資訊的過濾器。舉例而言,過濾器/正規器232可濾除來自和與服務系統105相關聯的商家不關聯的IP位址的事件。
在一些實施例中,過濾器/正規器232可以實時應用控制的TCP/IP追蹤器來實施。在此種實施例中,過濾器/正規器232可向網路管理應用提供實時TCP/IP堆棧資料,以設定捕獲標頭或有效載荷特性訊號的過濾器。過濾器/正規器232可並行地將多個過濾器應用至打開多個追蹤實例的資料流,並為每一追蹤實例設定唯一的過濾器,以獲得所期望的資料。在此種實施例中,可針對資料追蹤類型事件或分封追蹤設定過濾器/正規器232。使用所述兩種配置,過濾器/正規器232可基於用於TCP/IP堆棧的全域設定來提供實時TCP/IP網路監測。另外,過濾器/正規器232可儲存丟失或丟棄的資料並通知給服務系統105的其他元件。
過濾器/正規器232亦可修改傳入事件,以將格式或資料佈置標準化,進而有利於下游處理。舉例而言,過濾器/正規器232可在資料流中管控事件,因此在過濾器/正規器232將事件正規化之後,仲介234可快速辨別密鑰及值。在此種實施例中,過濾器/正規器232可獲取原始資料,對原始資料進行處理並以更有助於分析的格式輸出資料。因此,過濾器/正規器232可服務於多個目的,包括資料濃縮、濾除及聚合。在一些實施例中,過濾器/正規器232可使用用於濾除或變換的阿帕奇(Apache)SparkTM 來實施。然而,其他分佈式的、記憶體最佳化的系統亦可適用於過濾器/正規器232。
過濾器/正規器232可修改特定類別的事件,以有利於之後的處理。舉例而言,過濾器/正規器232可將與每一事件相關聯的時間戳記正規化,以簡化時差計算並使服務系統105中的其他元件以單個時鐘進行操作。此外,為有利於實時狀態計算器120的聚合任務,過濾器/正規器232可將貨幣、身份資訊(例如,將使用者名稱及電子郵件轉換成客戶端ID)、資料格式(例如將.doc檔案轉換成.txt檔案)標準化。該些準備任務可改善電腦在處理實時資訊的效能。
在一些實施例中,過濾器/正規器232可被配置有將輸入流變換成輸出流的一或多個運算器。過濾器/正規器232中的運算器可處理資料流中的每一事件,以修改至少一個態樣,且接著僅當事件滿足運算器要求時才提交所述事件。舉例而言,資料流中的每個事件可被配置以包含如賬戶號碼、交易日期、交易時間及交易價格等資訊。在此種實施例中,事件可由以下4個變數的「交易記錄」類型來表示: 交易記錄 = rstring 賬戶 rstring日期 rstring時間 十進制64價格; 其中rstring是當已知字符編碼時支援字串處理的一系列原始位元組,且十進制64是電機電子工程師學會(Institute of Electrical And Electronics Engineers,IEEE)754十進制64位元浮點數目。
過濾器/正規器232可讀取事件中資料欄位中的每一者且將資料欄位中的每一者與運算器進行比較,接著藉由以運算器對輸入流進行運算來生成輸出流。一般而言,過濾器/正規器232運算器可自輸入流接收事件且僅當元組滿足由過濾器參數指定的標準時,才向輸出流提交事件(亦可被稱為「元組」)。
在一些實施例中,過濾器/正規器232中的運算器可實行以下步驟:(1)自輸入資料流接收事件;(2)若帳戶屬性的值為現有顧客,則將事件提交至輸出流;(3)重複進行步驟1至步驟2,直至來自輸入流的所有事件得到處理。過濾器/正規器232運算器可在不同類型的資料流中實行操作且根據需要轉換格式。舉例而言,在一些實施例中,輸出流的類型由輸入流以聲明「流<類型>輸出流=過濾器(輸入流)」指定。格式轉換可包括:資料編碼轉換,例如將文本檔案自一個字符編碼系統轉換至另一字符編碼系統;或者檔案轉換,例如office檔案格式的轉換;或者影像格式及音訊檔案格式的轉換。另一些格式轉換可包括貨幣、時區及/或客戶端身份轉換。然而,在其他實施例中,可沒有任何聲明且流的類型可由過濾器/正規器232基於仲介234或服務系統105的其他元件的要求來修改。
仲介234可包括流處理軟體。舉例而言,在一些實施例中,流運算器110可實施例如阿帕奇Kafka®等處理平台。在此種實施例中,仲介234可包括在處理平台上運行的一或多個伺服器。仲介234可在過濾/正規器232之前或之後處理資料流且將資料發佈至仲介234內的主題中。
在此種實施例中,仲介234可被配置以自客戶端系統190提取來自資料流中的事件的密鑰-值訊息並儲存密鑰-值訊息。仲介234可將資料劃分成處於不同「主題(topic)」內的不同「分區(partition)」。在分區內,仲介234可根據密鑰-值訊息的偏移(分區內的訊息的位置)對密鑰-值訊息進行排序,且與時間戳記一同被索引及儲存,時間戳記可由計時器238確定。
仲介234可以使得寫入對來自流的資料進行消費的爪哇(Java)應用的流API來進行操作。在一些實施例中,流API可由流處理器230提供且自服務系統105的其他元件及/或系統100的其他元件(例如客戶端裝置150)接收指令。在此種實施例中,流API可使得能夠使用仲介234將資料流自輸入主題變換成輸出主題。此外,仲介234可被配置以與外部流處理系統(例如阿帕奇Apex、阿帕奇Flink、阿帕奇Spark及阿帕奇Storm)一起工作。舉例而言,仲介234可被配置以使用連接API自/向其他系統導入/導出資料,連接API執行實施自其他系統讀取/寫入資料的實際邏輯的連接件。連接API可由流處理器230提供且可對必須被實施成構建客製連接件的程式化介面進行定義。舉例而言,連接API可使得能夠實施連接件,將連接件自一些源系統或應用持續地拉取至運行Kafka的處理器230,或者將連接件自Kafka推送至一些接收系統(sink system)或應用,例如客戶端系統190。作為另外一種選擇或另外地,仲介234可以流處理庫進行操作。所述庫可使得能夠開發可縮放、彈性的及完全容錯的狀態性流處理應用。舉例而言,仲介234亦可包括高水準的運算器(如過濾器、映射、分組、窗口化、聚合、接合以及表的概念),以組織及處理自客戶端系統190或系統100的其他元件接收的資料流中的事件。另外地或作為另外一種選擇,仲介234可針對更低水準的開發方法實施客製運算器並提供容錯操作。
在一些實施例中,仲介234可被配置以冗餘的以將故障風險最小化。舉例而言,所有主題的分區可分佈於仲介234的叢集中。另外,事件的分區可被複製至多個仲介234。此種架構使得能夠以容錯的方式傳遞資料流。
仲介234可支援用於處理事件的常規主題及緊密主題二者。常規主題可被配置有保持時間或空間限制。若存在較指定保持時間早的記錄,或者若超出了分區的空間限制,則可使得仲介234能夠刪除舊資料以釋放儲存空間。舉例而言,仲介234可與流記憶體220耦合且提供刪除已過期事件的指令。在此種實施例中,由仲介234開發的主題可被配置有7天的保持時間。然而,亦可存在其他時間窗。舉例而言,可為某些資料流或流中的特定變數配置24小時的時間窗。另外地或作為另外一種選擇,時間窗可為動態的且可基於歷史趨勢進行程式化。舉例而言,若流運算器110注意到來自特定位置的交易流入,則流運算器110可修改時間窗以減少時間窗並防止潛在的並行攻擊。在其他實施例中,具有緊密主題的一些記錄可不會過期。相反,仲介234可將之後的訊息視為對具有相同密鑰的較早訊息進行更新並保證保持每個密鑰的最新訊息。當實行差分運算以降低電腦利用時,變數中的此種累積可為有益的。
另外,系統100的不同元件可使用由流運算器110支援的API而與仲介234進行交作。舉例而言,客戶端裝置150、客戶端系統190及/或線上資源140可利用以下與仲介234進行交作:(1)生產者API,使得能夠發佈記錄流;(2)顧客API,使得能夠訂閱主題及處理記錄流;(3)連接件API,執行可重新使用的生產者API及顧客API,將主題鏈接至現有應用;及/或(4)流API,將輸入流轉換成輸出並生成結果。在一些實施例中,顧客API及生產者API可構建於其他流處理元件(例如過濾器/正規器232)上且可為顧客客戶端及生產者客戶端提供爪哇形式的參考實施方案。在此種實施例中,基本的訊息協定可為二進制協定,開發者可使用二進制協定以任何程式化語言寫入其自有的顧客客戶端或生產者客戶端。此外,在此種實施例中,可由流處理器230執行及/或支援API。然而,該些API可由服務系統105的其他元件代管,或者可遠程代管(例如由線上資源140代管)。
在一些實施例中,仲介234可結合密鑰提取器235進行工作,密鑰提取器235可包括被配置以在來自資料流的事件中提取密鑰的軟體及/或硬體。舉例而言,仲介234可基於由密鑰提取器235提取的密鑰來對不同主題中的事件進行分類及處理。作為另外一種選擇,密鑰提取器235可在無仲介234的情況下作為獨立元件進行操作。
流運算器110可藉由產生密鑰/值對的訊息來處理資料流中的事件。密鑰可用於對表及主題(例如,KSQL或Ktable)進行分區及建模,以用於查詢或聯合目的。密鑰可包括事件的特性。舉例而言,密鑰可包括事件的IP位址、客戶端ID、賬戶號碼、地理位置或其他辨識資訊。所述值可將密鑰限定成確定分區。密鑰提取器235可被配置以自資料流中的事件提取密鑰。舉例而言,密鑰提取器235可獲得密鑰來確定記錄內與事件相關聯的分區(例如,交易類型)。反之,與密鑰相關聯的值可為事件的實際有效載荷(例如,交易值)。如結合圖8進一步所闡述,可將自資料流中的事件提取的密鑰關聯成辨識與所述事件有關的賬戶或使用者。
密鑰提取器235可被配置以自事件實行一系列獲取運算,同時將時間戳記與所提取的密鑰相關聯。獲取運算包括擷取對象資訊的操作且可包括例如「Get(byte[] row)」或「Get(int rowOffset, int rowLength)」等構造器。獲取運算亦可指定將自事件提取的變數類型。舉例而言,在過濾器/正規器232處理輸入流且產生僅具有期望值的輸出流之後,密鑰提取器235可藉由將目標密鑰字元與事件中的資訊進行匹配而自事件獲得或獲取密鑰。舉例而言,密鑰提取器235可執行以下運算: // Get data stream store named "datastream" ReadOnlyDatastream<String, Long> = streams ("datastream", QueryableTypes.datastream()); // Fetch values for a key (e.g., "amount") for all of the events available long timeFrom = 0; // beginning of time = oldest available long timeTo = System.currentTimeMillis(); // now (in processing-time) StreamIterator<Long> iterator = stream.fetch("amount", timeFrom, timeTo); while (iterator.hasNext()) { KeyValue<Long, Long> next = iterator.next(); long Timestamp = next.key; System.out.println("Count 'amount' @ time " + Timestamp + " is "                     + next.value).
密鑰提取器235可有利於用於預測模型分析的排序事件或者開發狀態機。舉例而言,由密鑰提取器235提取的密鑰可用於將事件按次序排列,以在即使事件來自多個位置的情況下亦設定事件分區且將事件與狀態變數相關聯。在此種實施例中,密鑰提取器235可對分區內的事件排序,但不跨主題中的分區排序。另外,密鑰提取器235可實施仲介234的主題水準的配置並指定例如「log.cleaner.enable 」等爪哇參數來用相同的密鑰對表項進行去重複。在此種實施例中,密鑰提取器235可耦合至流記憶體220且密鑰提取器235可假設僅給定密鑰的最近實例是相關的且僅當密鑰不為零時才刪除給定密鑰的較早複本。舉例而言,由於狀態變數可由實時狀態計算器120更新,因此具有重複密鑰的較早事件不需要保留且可被刪除以節省空間。在一些實施例中,日誌緊密的形式可由例如「log.cleaner.delete.retention 」性質等爪哇參數來控制。
密鑰提取器235可提供用於實時地辨識資料流中的特定資訊的組件,以能夠對事件進行分類並有利於事件的分析。
編譯器236可包括對程式化語言進行編譯的軟體或硬體,以用流處理器230執行流程式222。編譯器236可輸出包含平台中立位元組的類別文件。作為另外一種選擇或另外地,編譯器236可為特定的硬體/作業系統組合提供最佳化的本機代碼。編譯器236可包括爪哇至位元組(Java-to-bytecode)編譯器,爪哇至位元組編譯器可不虛擬地實行最佳化來改善運行時間。在一些實施例中,編譯器236可包括虛擬機,虛擬機加載類別檔案且解釋位元組或及時將位元組編譯成機器代碼,且接著可使用動態編譯對位元組進行最佳化。此外,編譯器236可實行解釋運算以設定及配置仲介234運算。舉例而言,編譯器236可實行預處理、詞法分析、剖析、語義分析(語法導向翻譯)、輸入程式至中間表示的轉換、代碼最佳化及代碼產生。編譯器236可在促進高效設計及源輸入至目標輸出的正確變換的階段中實施該些運算。
計時器238可包括對資料流進行處理的硬體及/或軟體。舉例而言,計時器238可包括接收計時資訊以建立事件的時間戳記的API方法。計時器238可確定用於排程的不同時間類型,所述時間類型包括流時間或掛鐘時間(wall-clock-time)。在一些實施例中,流時間被配置以經由時間戳記提取器來表示事件時間。作為另外一種選擇,計時器238可實施由絕對時間觸發的掛鐘時間。
在一些實施例中,計時器238可實施使事件具有週期性戳記的運算。舉例而言: schedule(1000, PunctuationType.STREAM_TIME, (timestamp) -> { KeyValueIterator<String, Long> iter = this.kvStream(); while (iter.hasNext()) { KeyValue<String, Long> entry = iter.next(); context.forward(entry.key, entry.value.toString()); } iter.close();
流運算器110的組件可在硬體、軟體或兩者的組合中實施。舉例而言,儘管流運算器110的一或多個組件可被實施成在電腦軟體中實現的電腦處理指令,然而流運算器110的全部功能或部分功能可在專用硬體中實施。舉例而言,GPU及/或FPGA組可用於在流處理器230中快速處理多媒體內容。
現參照圖3,圖3示出與所揭露的實施例一致的示例性實時狀態計算器120(圖1)的方塊圖。實時狀態計算器120可包括計算器處理器340、計算器記憶體350及通訊裝置360。在一些實施例中,實時狀態計算器120可基於自資料流捕獲的事件產生、監測及更新狀態變數。另外,當對應的狀態變數超過指定臨限值時,實時狀態計算器120可產生針對賬戶的告警。實時狀態計算器120可將告警傳訊至系統100的其他元件。舉例而言,實時狀態計算器120可將告警通知提供至流運算器110或客戶端請求介面130。
計算器處理器340可被實現成與流處理器230相似的處理器。計算器處理器340可包括狀態變數累積器348。如圖3中所示,在一些實施例中,實時狀態計算器亦可包括預測模型產生器342、詐欺/風險偵測服務344及賬戶辨識符346,預測模型產生器342、詐欺/風險偵測服務344及賬戶辨識符346可為與計算器處理器340不同的模組。然而,在其他實施例中,預測模型產生器342、詐欺/風險偵測服務344及賬戶辨識符346可包括於計算器處理器340中或者由計算器處理器340實施。
預測模型產生器342可接收事件資訊,以基於狀態變數產生或訓練預測模型。舉例而言,預測模型產生器342可自導致詐欺行為或反常行為的先前資料流接收經處理的資料。利用此資訊,預測模型產生器342可解析使用多個狀態變數的模型,以確定資料流中的一組事件導致反常活動或詐欺活動的可能性。
在一些實施例中,預測模型產生器342可包括機器學習模型,當自多個資料流接收到新的事件資訊時,機器學習模型得到更新。舉例而言,如結合圖12及圖13進一步所論述,預測模型產生器342可對隨機森林或卷積神經網路模型進行訓練,隨機森林或卷積神經網路模型使用事件資訊來確定狀態變數何時與非常態行為及/或詐欺活動的機率相關。
除訓練模型之外,預測模型產生器342亦可實行驗證任務。出於驗證目的,預測模型產生器342可保持訓練資料(例如,先前資料流中的事件)百分比。若指定了驗證保持,則運行單獨的過程來根據驗證集驗證模型。因此,預測模型產生器342可實行初始產生及參數調整二者。
此外,預測模型產生器342可使用例如用於訓練微服務的建模API來建立對模型的存取方法。微服務可用於提交訓練請求、擷取模型結果及/或列出作業。預測模型產生器342亦可提供用於與資料進行交作的使用者介面。
詐欺/風險偵測服務344可包括軟體及/或硬體,以基於資料流中的事件來傳送關於潛在非常態的告警。在一些實施例中,詐欺/風險偵測服務344可不主動產生及發送告警。相反,詐欺/風險偵測服務344可經由超文本傳輸協定(hypertext transfer Protocol,HTTP)表示狀態傳送(Representational State Transfer,REST)API接受偵測是否存在任何風險的請求。在此種實施例中,如結合圖15進一步所闡述,詐欺/風險偵測服務344可為被動的且與累積器348不同步。此種配置提供了有利於在系統100中偵測異常及觸發告警的某些技術優勢。舉例而言,利用HTTP REST API配置,詐欺/風險偵測服務344可審查不同事件的變數及來自不同域的變數。因此,為偵測支付交易的詐欺,詐欺/風險偵測服務344可查看與註冊、登錄、返回、訂單、信用卡更新、信用卡認證等等相關聯的變數。另外,利用所闡述的配置,詐欺/風險偵測服務344可具有更快的回應。由於詐欺/風險偵測服務344可對被隔離的變數進行操作,因此當變數計算/更新中存在延遲或擁擠時,詐欺/風險偵測服務344仍可自資料庫擷取現有變數。此種克服網路擁塞的能力在支付交易的偵測中可為有益的,其中詐欺/非詐欺決定應在少於100毫秒的時間內發生。另外,藉由隔離詐欺/風險偵測服務344及累積器348,系統100可更加強健。在此種實施例中,詐欺/風險偵測服務344可包括用於辨識詐欺活動及傳送請求的模型及規則。
在其他實施例中,詐欺/風險偵測服務344可監測狀態變數的值且在所述值超過臨限值時產生告警。舉例而言,當監測到對與賬戶相關聯的交易金額進行累積的狀態變數時,當與金額密鑰相關聯的值超過10,000美元時,詐欺/風險偵測服務344可觸發告警。接著,若狀態變數超過臨限值,則可能意指與該狀態變數相關聯的帳戶已被破解並產生告警。作為另外一種選擇或另外地,詐欺/風險偵測服務344可監測預測模型的結果。每當預測模型導致異常或詐欺的高機率(被定義為高於臨限值(例如,高於80%的機率))時,告警產生器可傳送與賬戶相關聯的告警。
在一些實施例中,詐欺/風險偵測服務344可僅基於由計算器處理器340計算的狀態變數來產生告警。然而,在其他實施例中,詐欺/風險偵測服務344可直接接入來自客戶端系統190的交易流中。接著,對於每個密鑰,詐欺/風險偵測服務344可執行查找與所述密鑰相關聯的值是否高於指定臨限值的步驟。另外地或作為另外一種選擇,詐欺/風險偵測服務344可更新記錄,用於與關聯賬戶的未來交作。舉例而言,詐欺/風險偵測服務344可與客戶端請求介面130進行交作,以更新客戶端註冊並防止未來與被破解賬戶進行交作。
賬戶辨識符346可實行將自資料流中的事件提取的密鑰與賬戶及對應的狀態變數相關聯的操作。賬戶辨識符346可基於自事件提取的密鑰中的一或多者來導出相關聯的賬戶。此外,在一些實施例中,即使當唯一資訊未被作為密鑰提取時,賬戶辨識符346仍可判斷事件的位址或相關聯的位置是否會確定賬戶與事件之間的相關性。賬戶辨識符346可藉由查詢資料庫來建立事件密鑰與賬戶之間的關係。在實時處理期間需要快速回應時間的一些實施例中,賬戶辨識符346可查詢非關係資料庫(例如NOSQL),以將密鑰與賬戶相關。另外地或作為另外一種選擇,賬戶辨識符346可使用事件中的多個密鑰來辨識與所述事件相關聯的賬戶。舉例而言,賬戶辨識符346可考量交易的位置、金額及商家類型,以在即使密鑰不足以辨識賬戶時,仍將密鑰與賬戶相關聯。
累積器348可被配置以基於資料流中的事件來更新狀態變數。另外,累積器348可在狀態變數中某些事件過期時移除所述事件的影響。此外,累積器348可在基於新事件更新狀態變數時關聯計時器或回呼。舉例而言,當接收到事件且流運算器110(圖2)將所述事件辨識為觸發事件時,密鑰提取器235提取密鑰,且辨識賬戶,累積器348可基於所述事件修改與所述賬戶相關聯的狀態變數。舉例而言,如結合圖14A至圖14C進一步所闡述,累積器348可在對購買金額進行監測的變數中累積交易金額。在一些實施例中,累積器348可儲存累積的變數且將所述變數傳送至詐欺/風險偵測服務344。
累積器348可被配置以快速更新變數且將變數的複雜度保持為低的,以有利於迅速存取及迅速得出結論。在一些實施例中,累積器348可使用O(1)函數來更新狀態變數,其中演算法的執行時間不取決於輸入的大小。在此種實施例中,具有用於更新變數的統一執行時間可藉由將等待時間最小化來改善系統的運算。
儘管圖3示出與計算器處理器340有關的累積器348、詐欺/風險偵測服務344及預測模型產生器342,然而在一些實施例中,該些元件中的每一者可為單獨的組件且具有針對目標應用定製的特定硬體。舉例而言,預測模型產生器342可為FPGA,而累積器348可為CPU。
計算器記憶體350可包括一或多個儲存裝置,所述一或多個儲存裝置被配置以儲存由計算器處理器340用來實行與所揭露的實施例相關的操作的指令。舉例而言,計算器記憶體350可儲存在由計算器處理器340執行時可實行操作的軟體指令。另外,計算器記憶體350可包括計算器程式352(其可指定功能及密鑰提取方法)、過期規則354(確定事件何時不再影響狀態變數)及賬戶資訊356(包括自事件、賬戶及對應的狀態變數提取的密鑰之間的相關性)。
計算器記憶體350亦可包括快速存取各別狀態儲存器358。為將實時計算期間的等待時間最小化且使得能夠快速得出結論,各別狀態儲存器358可以靜態隨機存取記憶體(static random access memory,SRAM)來實施。作為另外一種選擇或另外地,各別狀態儲存器358可使用其他快速存取記憶體。舉例而言,各別狀態儲存器358可包括混合事務及分析處理佈置中的快取記憶體,以有利於處理單元與記憶單元之間進行通訊。在此種實施例中,各別狀態儲存器358可被實施成具有單個資料庫後端,以支援交易工作負載及分析工作負載二者。
各別狀態儲存器358可儲存基於資料流中的事件產生及更新的狀態變數。在此種實施例中,各別狀態儲存器358可包括消除重複或使得僅在存在觸發事件時能夠對狀態變數進行存取的本地功能。此種配置可藉由放寬硬體要求及僅維護一份資料副本來改善電腦的功能。因此,由於各別儲存器358使函數的複雜度保持統一,因此各別儲存器358可有利於短期狀態變數及長期狀態變數二者的高效能。另外,計算出的資料點可儲存於各別狀態儲存器358中,進而減少記憶體利用並改善硬體使用率。
在一些實施例中,各別狀態儲存器358可被配置以供累積器348操作及使用。在此種實施例中,各別狀態儲存器358可為用於密鑰-值資料的高效能嵌入式資料庫,例如RocksDB。接著,每個累積器實例可具有儲存於RocksDB資料庫中的其自有的狀態,所述狀態可位於同一伺服器內。各別狀態儲存器358與累積器348可經由本地存取而彼此通訊,且不需要網路存取。經由此種方式的通訊可快於經由網路的遠程通訊且經由此種方式的通訊足以使累積器與其嵌入式資料庫進行通話。在一些實施例中,密鑰提取器235可被配置以向累積器348的特定實例發送具有相同密鑰的事件。因此,各別狀態儲存器358可針對特定密鑰儲存事件。
在某些實施例中,計算器記憶體350可儲存用於施行更新狀態變數及執行O(1)複雜度的過程的指令集。舉例而言,服務系統105可自客戶端系統190接收資料流。基於此資訊,實時狀態計算器120可確定變數的狀態。計算器記憶體350可驗證經處理的狀態變數不會增大時間複雜度且可被用於同時執行的演算法中。舉例而言,若計算器處理器340輸出在運行查詢操作或預測模型時會導致延遲的多維變數,則計算器記憶體350可藉由截斷或進行例如平均值或模式等運算來減小變數的複雜度,以在整個演算法中執行O(1)複雜度。
現參照圖4,圖4示出與所揭露的實施例一致的示例性客戶端請求介面130(圖1)的方塊圖。客戶端請求介面130可包括介面記憶體430、介面處理器440及通訊裝置460。在一些實施例中,客戶端請求介面130可被配置以自客戶端系統190接收處理交易的請求,且基於批准的交易修改使用者賬戶記錄。
介面記憶體430可包括一或多個儲存裝置,所述一或多個儲存裝置被配置以儲存用於處置來自客戶端系統190及/或客戶端裝置150的交易授權請求的指令。介面記憶體430可包括介面程式432,介面程式432可包括支援客戶端系統190及例如客戶端裝置150與服務系統105之間的交作的API管理指令。
介面記憶體430亦可包括賬戶記錄434,用於儲存關於可與接受或拒絕交易相關的賬戶的資訊。舉例而言,賬戶記錄434可包括服務系統105的使用者的檔案及資料庫,其中包括告警通知、可用資金及賬戶偏好。介面記憶體430可更包括儲存裝置,儲存裝置儲存由介面處理器440用來實行與所揭露的實施例有關的功能的指令。舉例而言,介面記憶體430可儲存當由介面處理器440執行時可實行一或多個操作的軟體指令。
介面處理器440可被實現成與流處理器230相似的處理器。介面處理器440處理器可包括客戶端認證器442、API管理器444及客戶端註冊446。
客戶端認證器442可以被配置以將自客戶端裝置150或客戶端系統190接收的憑證(例如自客戶端裝置150接收的密碼或生物特徵資料)與和特定使用者賬戶相關聯的資訊進行比較的硬體或軟體來實施。作為另外一種選擇或另外地,客戶端認證器442可在事件中解析客戶端ID密鑰以辨識使用者賬戶。舉例而言,客戶端認證器442可被配置以識別具有電子郵件位址或電話號碼的密鑰,且辨識發出請求的使用者賬戶。在此種實施例中,客戶端認證器442可實行加密過程及解密過程以提供及驗證辨識工具。
API管理器444可以被配置以實行以下操作的硬體或軟體來實施:所述硬體或軟體向系統100的其他元件提供API以對服務系統105進行存取。API管理器444可創建並發佈網路API,執行網路API的使用策略,控制存取,收集並分析使用統計,且報告效能。API管理器444亦可提供機制及工具來支援服務系統105的應用的開發者。API管理器444可實行閘道的操作,接收API請求並執行安全策略,並將請求傳遞至服務系統105的後端組件。另外地或作為另外一種選擇,API管理器444可包括發佈工具、開發者入口網站/API、報告及分析功能以及貨幣化功能。
客戶端註冊446可以被配置以處理新客戶端且基於新客戶端的註冊資訊判斷新客戶端是否與現有賬戶相關聯的硬體或軟體來實施。為防止來自不與任何狀態變數或歷史趨勢相關聯的新賬戶的潛在詐欺,客戶端註冊446可實行新賬戶的分析以基於所提取的密鑰來判斷新賬戶是否應在服務系統105中被接受。
通訊裝置460可被實現成一或多個數位裝置及/或類比裝置,以達成客戶端請求介面130與服務系統105的其他元件之間的通訊以及客戶端請求介面130與系統100的其他元件(例如客戶端裝置150)之間的通訊。
現參照圖5,圖5示出與所揭露的實施例一致的示例性資料庫180(圖1)的方塊圖。資料庫180可包括通訊裝置502、一或多個資料庫處理器504以及包括一或多個資料庫程式512及資料514的資料庫記憶體510。資料庫180可包括NoSQL資料庫,例如HBase、MongoDBTM 或CassandraTM 。作為另外一種選擇,資料庫180可包括關係資料庫,例如甲骨文、MySQL及微軟(Microsoft)SQL伺服器。
在一些實施例中,資料庫180可採取伺服器、通用電腦、大型電腦或該些組件的任意組合的形式。在一些實施例中,資料庫180包括於系統100的其他元件(例如服務系統105)內。亦可存在與所揭露的實施例一致的其他實施方案。
在一些實施例中,資料庫180可包括非關係資料庫及嵌入式資料庫二者。舉例而言,資料庫180可包括例如Hbase等非關係資料庫以及例如RocksDB(例如,密鑰-值儲存資料庫)等嵌入式資料庫。非關係資料庫可儲存不同時間週期的變數值,而嵌入式資料庫可儲存狀態變數(如累積器348產生的變數)及影響狀態變數的事件(如過期事件、非過期事件(包括新事件))。在此種實施例中,嵌入的記錄對於運算器而言可為局部的,具有100%的資料局部性,以有利於以最小的等待時間進行密鑰提取及事件調度。
通訊裝置502可被配置以與系統100的一或多個組件(例如線上資源140、服務系統105、實時狀態計算器120、客戶端請求介面130及/或客戶端裝置150)進行通訊。具體而言,通訊裝置502可被配置以向實時狀態計算器120、流運算器110及客戶端請求介面130提供使用者賬戶資訊、使用者偏好及特權及/或歷史趨勢。
通訊裝置502亦可被配置以與其他組件進行通訊,包括例如計算器記憶體350(圖3)、介面記憶體430(圖4)及流記憶體220(圖2)。通訊裝置502可採取以上針對通訊裝置210(圖2)闡述的形式中的任意者。
資料庫處理器504、資料庫記憶體510、資料庫程式512及資料514可採用以上結合圖2分別闡述的流處理器230、流記憶體220、流程式222及流資料224的形式中的任意者。資料庫180的組件可在硬體、軟體或硬體與軟體二者的組合中實施。舉例而言,儘管資料庫180的一或多個組件可被實施成電腦處理指令模組,然而資料庫180的全部功能或部分功能可替代地在專用電子硬體中實施。
資料庫記憶體510可包括程式512,程式512可包括支援來自客戶端系統190的查詢以及例如客戶端裝置150與服務系統105之間的交作的指令。此外,程式512可包括在服務系統105處理資訊時實時地儲存資訊的指令。
資料514可為與網站相關聯的資料(例如線上資源140)或者來自客戶端裝置150的使用者賬戶。資料514可包括例如與使用者及使用者憑證有關的資訊以獲取內容。資料514亦可包括與賬戶記錄434(圖4)相似的內容檔案,包括將自資料流中的事件提取的密鑰與使用者賬戶相關的資訊。
現參照圖6,圖6示出與所揭露的實施例一致的示例性客戶端裝置150(圖1)的方塊圖。在一個實施例中,客戶端裝置150可包括一或多個處理器602、一或多個輸入/輸出(I/O)裝置604及一或多個記憶體610。在一些實施例中,客戶端裝置150可採取行動計算裝置(例如智慧型電話或平板電腦)、通用電腦或該些組件的任意組合的形式。作為另外一種選擇,基於實行與所揭露的實施例一致的一或多個操作的軟體指令的儲存、執行及/或實施,客戶端裝置150(或包括客戶端裝置150的系統)可被配置以特定裝備、嵌入式系統、專用電路等。根據一些實施例,客戶端裝置150可包括與所揭露的實施例一致的對網站進行存取的網站瀏覽器或相似的計算裝置。
處理器602可包括一或多個已知處理裝置,例如由英特爾、英偉達(NVIDIATM )製造的行動裝置微處理器,或者來自其他製造商的各種處理器。所揭露的實施例並非僅限於在客戶端裝置150中配置的任何特定類型的處理器。
記憶體610可包括一或多個儲存裝置,所述一或多個儲存裝置被配置以儲存由處理器602用來實行與所揭露的實施例有關的功能的指令。舉例而言,記憶體610可被配置有一或多個軟體指令,例如在由處理器602執行時可實行操作的程式612。所揭露的實施例並非僅限於被配置以實行專用任務的單獨的程式或電腦。舉例而言,記憶體610可包括實行客戶端裝置150的功能的單個程式612,或者程式612可包括多個程式。記憶體610亦可儲存用於產生資料流的資料616。亦即,記憶體610可包括向服務系統105發送請求交易批准或內容的資料包序列的指令。
在某些實施例中,記憶體610可儲存用於存取服務系統105的指令。舉例而言,記憶體610可包括經由TCP/IP與服務系統105進行通訊的應用。另外,其他軟體組件可被配置以自服務系統105請求資訊或者確定客戶端裝置150的位置。舉例而言,在由處理器602執行時,該些軟體指令可處理資訊以顯示交易的狀態。
輸入/輸出裝置604可包括一或多個裝置,所述一或多個裝置被配置以使得客戶端裝置150能夠接收及/或傳送資料,且使得客戶端裝置150能夠與其他機器及裝置(例如系統100的其他組件)進行通訊。舉例而言,輸入/輸出裝置604可包括用於顯示例如快速回應(Quick Response,QR)碼等光學支付方法或者向使用者提供資訊的螢幕。輸入/輸出裝置604亦可包括用於NFC通訊的組件。輸入/輸出裝置604亦可包括使得使用者能夠與客戶端裝置150進行交作的一或多個數位裝置及/或類比裝置,例如觸控敏感區域、按鈕或麥克風。輸入/輸出裝置604亦可包括一或多個加速度計以偵測客戶端裝置150的定向及慣性。輸入/輸出裝置604亦可包括此項技術中已知的用於與服務系統105進行交作的其他組件。
在一些實施例中,客戶端裝置150亦可包括捕獲影像的相機620且可用於生物特徵認證過程,例如面部辨別。另外地或作為另外一種選擇,客戶端裝置150可包括指紋感測器630,指紋感測器630使得使用者能夠解鎖客戶端裝置150及/或實行認證。相機620及指紋感測器630二者皆可由處理器602操作且使用加密安全性來使得使用者不可能自外部存取指紋或相機資訊。
如對熟習此項技術者將顯而易見,客戶端裝置150的組件可在硬體、軟體或硬體與軟體二者的組合中實施。
現參照圖7,圖7示出例示出與所揭露的實施例一致的資料流處理流程700的過程流程圖。在一些實施例中,如圖7中所示,系統100(圖1)的不同元件可實行流程700的特定步驟。舉例而言,服務系統105的組件可實行一或多個步驟,但其他系統(例如客戶端系統190)可實行其他步驟。然而,在其他實施例中,系統100的替代元件可實行所闡述的步驟,或者系統100的單個元件可實行所闡述的步驟中的一或多者。
在步驟702中,客戶端系統190可將資料流傳送至服務系統105。資料流可包括交易請求、購買訂單或與服務系統105進行交作的相似訊息。資料流可包括根據不同通訊協定佈置的分封序列。舉例而言,步驟702中的資料流中的一些資料流可為TCP通訊,但其他資料流可為UDP通訊。
在步驟704中,過濾器/正規器232可在對資料流中的事件進行濾除及正規化之後產生一或多個輸出資料流。如結合圖2進一步所論述,過濾器/正規器232可接收一或多個資料流作為輸入且應用運算器來產生具有有限欄位或移除無法用於預測模型或異常偵測的事件的輸出資料流。另外地或作為另外一種選擇,在步驟704中,過濾器/正規器232可產生經濾除的資料流,其中事件具有統一的格式或經修改的值以與標準匹配。此外,在步驟704中,過濾器/正規器232可實行以下操作:辨識不包括相關聯的事件時間的事件、刪除無相關聯的事件時間的事件、以及藉由將事件的事件時間的時區及事件的貨幣正規化來將未被刪除事件的事件資訊正規化。
在步驟706中,仲介234可接受傳入資料流且在請求時將傳入資料流分類至下游資料中。舉例而言,在步驟706中,仲介234可為資料流中的不同事件產生主題且基於時間戳記為事件發佈計時器或回呼。在步驟707中,密鑰提取器235可處理資料流以提取密鑰、辨識相關聯的賬戶,且對與賬戶相關聯的狀態變數進行定位或產生與賬戶相關聯的狀態變數。可根據一或多個實時處理要求對步驟707中的密鑰/值對的提取進行預定義。
在一些實施例中,如結合圖15進一步所闡述,過濾器/正規器232可在仲介234之後操作。舉例而言,在其中來自步驟702的資料流中的訊息被預定義且在發送者與接收者之間達成一致的實施例中,可在仲介234之後定位過濾器/正規器232。接著,使用者可使用過濾器/正規器232選擇在運行時消費的主題/訊息。在又一些其他實施例中,可在仲介234之後定位過濾器/正規器232。
在步驟708中,累積器348可使用經處理的資料流來修改或更新狀態變數。舉例而言,累積器348可藉由聚合經處理事件的影響來修改狀態變數。在此種實施例中,在步驟708中,當服務系統105處理新的交易事件時,累積器可將交易的值添加至狀態變數。變數可在不增大複雜度的情況下進行更新,因此變數可繼續以O(1)複雜度運算進行操作及/或可以恆定時間複雜度進行存取。舉例而言,累積器348可將狀態變數保持為單一尺寸,因此任何涉及狀態變數的運算皆不會增大計算複雜度,且可在統一的時間內解析。在此種實施例中,可被配置以被以O(1)複雜度運算器進行存取的狀態變數可包括例如陣列、固定大小的堆棧或固定大小的佇列。該些變數佈置可被以以下運算器進行存取:所述運算器在統一的時間內存取狀態變數,而不論輸入大小如何。舉例而言,當狀態變數包括陣列時,O(1)運算器可能正在存取陣列的元素。在此種實施例中,狀態變數可為具有唯一位置的陣列的單一值變數,所述狀態變數可被以例如「get(array(0))」等O(1)複雜度函數進行存取。作為另外一種選擇或另外地,狀態變數可包括固定大小堆棧的架構,所述架構可被以O(1)複雜度運算器(例如推送運算器及彈出運算器)進行存取。另外,狀態變數可包括固定大小的佇列,所述佇列可使用例如入佇列運算器及出佇列運算器等運算器在統一的時間內存取(即,在恆定時間內運行,而不論輸入大小如何)。因此,在步驟708中,累積器348可在狀態變數中聚合事件,但藉由維護O(1)複雜度可存取性來維護自變數快速捕獲資訊的能力。舉例而言,累積器348可對儲存於狀態變數中的單一值添加或減去事件的影響。
此外,在步驟708中,累積器348可消除位於影響窗之外的事件的影響。舉例而言,當由新事件觸發時,累積器348可在狀態變數中添加新事件,且亦判斷是否應移除某些事件。累積器348可基於例如時間戳記或回呼函數來辨識變數位於時間窗之外的事件。藉由將累積器348的操作限制成僅在觸發事件影響對應的狀態變數時進行,可將累積器348的利用最小化並將硬體利用最小化以改善電腦運算的效率。
在步驟710中,詐欺/風險偵測服務344可判斷一或多個狀態變數的狀態是否應針對相關聯的賬戶產生告警。舉例而言,當在時間週期內累積一系列事件的狀態變數超過臨限值時,詐欺/風險偵測服務344可辨識可疑行為且針對與累積或狀態變數相關聯的賬戶產生告警。在一些實施例中,在步驟710中,詐欺/風險偵測服務344可基於對多個狀態變數進行考量的預測模型估測的結果來觸發告警,該些狀態變數可累積不同的值或不同的參數。
另外,在步驟710中,詐欺/風險偵測服務344可將告警傳訊至客戶端請求介面130。因應於告警訊號,客戶端請求介面130可修改用於API管理器444的指令且限制與告警相關聯的賬戶對服務系統105的可存取性。舉例而言,在步驟710中,服務系統105可更新暫存器且客製API管理器444中的欄位,以修改指令並限制可存取性。此外,在步驟710中,服務系統105可將鏈路添加至API回應及/或暫存CURIE(或緊密統一資源辨識符(uniform resource identifier,URI)),以依據客戶端系統190的請求修改回應的行為。
可實時地實行步驟702至步驟710,以持續監測來自客戶端系統190的資料流。在時間週期內使用狀態變數累積一系列事件有利於實時地評估趨勢,減少所需計算的數目並放寬硬體要求。藉由為自資料流中的事件提取的多個密鑰維護累積器,可快速且高效地判斷一系列事件是否可能與詐欺活動或異常活動相關聯。
流程700亦可包括步驟712,在步驟712中,客戶端系統190使用API自服務系統105請求交易。在一些實施例中,系統100的其他元件可自服務系統105請求資訊或服務。舉例而言,第三方系統160亦可藉由聯絡客戶端請求介面130而自服務系統105請求資訊。一旦客戶端請求介面130自外部域接收到訊息,客戶端請求介面130便可辨識與所述訊息相關聯的賬戶,並判斷所述賬戶是否與告警相關聯。若賬戶與告警相關聯,則在步驟714中,客戶端請求介面可以拒絕訊息或警告訊息來回復。然而,若API請求不與處於告警狀態的賬戶相關聯,則客戶端請求介面130可用對客戶端系統190(或系統100中發送該請求的元件)的批准來作出回應。
因此,在步驟702至步驟710的實時處理流程中產生的告警可用於藉由對API請求進行處置及/或與客戶端系統190進行交作的服務系統105中的通知元件及修改元件來防止被破解賬戶進行進一步交易。另外,在一些實施例中,客戶端請求介面130可通知實時狀態計算器120新的資料流可能到來且與所辨識的賬戶相關聯。利用此種佈置,系統105可減少需要搜尋或辨識客戶端賬戶的次數。
現參照圖8,圖8示出闡述與所揭露的實施例一致的告警產生過程的流程圖。可由服務系統105因應於自客戶端系統190及/或系統100的其他網路式元件接收到資料流而實時地施行過程800。舉例而言,可在接收到資料流中的事件時由流運算器110及實時狀態計算器120實時地施行過程800。
在步驟802中,服務系統105可監測事件資料流。如結合圖11進一步所闡述,為監測事件資料流,服務系統105可配置流捕獲應用及/或設定Kafka叢集。資料流可包括交易、服務請求、資訊請求、購買訂單以及與服務系統105的其他交作。
在步驟804中,服務系統可自外部域或伺服器接收及/或辨識事件。所辨識的事件可為在步驟802中監測到的資料流的一部分。所述事件可為例如包括電子支付資訊、商家、產品及金額的交易請求。
在步驟806中,服務系統可自接收到的事件提取事件密鑰及值。所提取的密鑰可包括所提取的密鑰包括IP位址、電子郵件位址或電話號碼中的至少一者。
然而,如結合圖11進一步所闡述,亦可存在密鑰/值對提取的替代方法。另外,步驟806中的密鑰提取可基於一組預定義的主題進行。預定義的主題可包括交易的特徵,例如交易金額、交易位置、賬戶資訊等等。在一些實施例中,步驟806亦可包括提取值以產生值陣列。
在步驟810中,服務系統105可判斷事件是否與狀態變數相關聯。服務系統105可使用查找表或相似的資料結構來辨識與步驟808的賬戶相關聯的狀態變數。狀態變數可被配置以被以恆定時間複雜度進行存取。舉例而言,使用具有在不考慮輸入大小的情況下以恆定時間運行的O(1)複雜度的運算器。
在一些實施例中,服務系統105可判斷事件中的密鑰是否應修改與步驟808中所辨識的賬戶有關的狀態變數。舉例而言,若事件是交易且包括以狀態變數監控的金額,則服務系統105可確定事件與狀態變數相關聯(步驟810:是)。然而,若事件是對新賬戶的請求或者是忘記密碼的請求,則服務系統105可確定事件不與狀態變數相關聯(步驟810:否)。此外,若在步驟808中所辨識的賬戶不涉及任何狀態變數,則服務系統105亦可確定事件不與狀態變數相關聯(步驟810:否)。
若服務系統105確定事件不與狀態變數相關聯(步驟810:否),則過程800可返回至步驟802且繼續監測資料流以捕獲隨後的觸發事件。然而,若服務系統105確定事件與狀態變數相關聯(步驟810:是),則過程800可繼續進行至步驟812,其中服務系統812判斷所辨識的狀態變數是否包括現有事件。
若所辨識的狀態變數包括現有事件(步驟812:是),則處理器820可繼續進行至步驟820且確定或擷取窗長度。可為狀態變數預定義窗長度且所述窗可為時間窗或大量事件窗。舉例而言,窗可為30分鐘的窗、30秒的窗、24小時的窗或不同的組合。作為另外一種選擇或另外地,窗長度可基於大量交易。當狀態變數僅具有考量例如100個事件的能力時,當事件101被處理時,可刪除事件1,此乃因事件1將落於窗之外。此種佈置可使得能夠執行O(1)複雜度運算且減少等待時間。
服務系統105可繼續進行至步驟822且確定或辨識影響狀態變數的現有事件的回呼的記錄時間戳記、計時器。舉例而言,當更新狀態變數時,累積器348(圖3)可暫存計時器或回呼,以在事件過期時自累積狀態變數收回事件。因此,在步驟822中,服務系統105可辨識記錄的計時器或時間戳記。
在步驟824中,服務系統105可使在步驟820中確定的具有處於窗之外的時間戳記、計時器或回呼的事件退出。舉例而言,當事件已過期(例如,時間戳記處於窗之外)時,服務系統可確定狀態變數應被更新以移除過期事件的影響。在步驟826中,服務系統105可藉由移除過期事件的影響來更新狀態變數。舉例而言,服務系統105可藉由減去過期事件來更新狀態變數。作為另外一種選擇或另外地,步驟824可包括以下一系列操作:擷取狀態變數中累積的現有事件的時間戳記並刪除時間戳記較時間窗的下限早的現有事件。
當所辨識的狀態變數不包括現有事件時(步驟812:是),或者一旦狀態變數被更新以移除過期事件的影響(步驟826之後),過程800便可繼續進行至步驟830,其中服務系統105可基於新事件或觸發事件來更新狀態變數。舉例而言,服務系統105可藉由與事件數量或值成比例地添加狀態變數來累積觸發事件的影響。因此,在一些實施例中,過程800可藉由以下方式來更新狀態變數:在狀態變數中累積觸發事件;將事件的時間戳記暫存於狀態變數中;以及使過期事件自狀態變數退出。另外,在一些實施例中,狀態變數基於觸發事件的遞增可與觸發事件中的值成比例。因此,在步驟830中,服務系統105可實行對事件指配與交易值成比例的得分以及基於所指配的得分增大狀態變數的值的操作。
在步驟832中,服務系統105可將觸發事件的時間戳記、計時器或影響的回呼暫存於狀態變數中。
現參照圖9,圖9示出例示出與所揭露的實施例一致的多變數告警過程900的流程圖。當對資料流進行監測時,過程900可由服務系統105施行。舉例而言,過程900可由實時狀態計算器120利用自資料流中的事件提取的密鑰及值來施行。
在步驟902中,服務系統105可收集或接收多個狀態變數。該些狀態變數可被配置以使用具有O(1)複雜度的運算器進行存取。舉例而言,步驟902中收集的變數可為單一尺寸的陣列或固定長度的堆棧。此外,步驟902中的變數可表示在自事件提取密鑰/值對期間提取的不同密鑰。舉例而言,步驟902的狀態變數可包括交易金額累積器、交易頻率、交易來源或可與電子交易相關聯的相似參數。作為另外一種選擇或另外地,步驟902可包括自資料庫擷取與賬戶相關聯的多個狀態變數,其中所述多個狀態變數中的每一者被配置以被以O(1)運算器(具有演算法的運算器,所述演算法以恆定時間運行,而不論輸入大小如何,例如陣列:存取任何元素)進行存取。
在步驟904中,服務系統105可基於狀態變數擷取用於多變數預測的模型及/或規則。舉例而言,服務系統105可自預測模型產生器342(圖3)擷取隨機森林及/或神經網路模型,以處理多個狀態變數。由於變數可被以低複雜度運算器進行存取,因此預測模型可快速運行並供應預測。在步驟904中擷取的模型可離線地開發或連線地開發。舉例而言,步驟904的模型可由服務系統105基於先前收集的事件離線地產生,但一旦所述模型基於驗證資料集達到期望的準確度,便可實施連線操作。
在步驟906中,服務系統105可擷取用於詐欺評定的模型或規則。舉例而言,服務系統105可自計算器記憶體350擷取與臨限機率或累積金額有關的一或多個規則,所述規則可與詐欺機率相關。在一些實施例中,用於詐欺評定的規則可指定指示潛在詐欺的臨限值。
在步驟908中,服務系統105可為資料流中的事件指配權重或得分。舉例而言,服務系統105可實行對具有所提取的密鑰的事件指配權重的操作。在一些實施例中,某些變數可較其他變數更能指示詐欺。舉例而言,與交易中花費的金額相關聯的事件可具有較交易類型的事件高的預測值,此乃因花費的金額可較交易類型更能指示詐欺。反之,與如商家類型或貨幣等參數有關的其他事件可能與詐欺詢問不太相關。因此,服務系統105可基於正在實行的預測或評定的類型向不同的事件添加權重,對高度相關的事件指配較高的權重且對不太相關的交易指配較低的權重。對步驟908中的事件的加權評估可基於結合圖12進一步闡述的過程進行。
在步驟910中,服務系統105可使用步驟904至步驟906所擷取的模型以及步驟908的修改變數來實行資料流的實時分析。在此種實施例中,服務系統105可基於修改的狀態變數來計算預測或詐欺機率。舉例而言,服務系統105可在步驟910中使用預測模型計算詐欺機率,其中預測模型包括隨機森林或卷積神經網路中的至少一者。
在步驟915中,服務系統105可判斷預測模型返回的機率是否高於定義的臨限值。舉例而言,詐欺/風險偵測服務344可實時地監測來自步驟910的結果,以辨識詐欺的估測機率或異常的估測機率中的一者是否高於臨限值。若服務系統105確定估測的機率高於臨限值(步驟915:是),則過程900可繼續進行至步驟916且觸發針對與多個經分析的變數相關聯的賬戶的告警。然而,若服務系統105確定估測的預測模型沒有導致機率高於定義的臨限值(步驟915:否),則過程900可繼續進行至步驟918且將不觸發告警。變數的低累積配置容許為不同的流無縫地分配資源,放寬實時處理及預測模型產生的硬體要求。
現參照圖10,圖10示出例示出與所揭露的實施例一致的對客戶端請求過程1000作出回應的流程圖。當自例如客戶端系統190或客戶端裝置150接收到請求時,過程1000可由服務系統105施行。舉例而言,過程1000可由客戶端請求介面130施行,客戶端請求介面130可經由網路170與系統100的組件進行交作。
在步驟1002中,服務系統105可使用API接收交易請求。舉例而言,客戶端系統190可使用API管理器444(圖4)支援的API向服務系統105發送請求。所述請求可包括授權請求、購買訂單或資訊請求中的任意者。
在步驟1004中,服務系統105可將步驟1002的請求與賬戶或客戶端相關聯。舉例而言,服務系統105可將請求中的資訊與客戶端註冊資訊446相關,或者可查詢介面記憶體430(圖4)以將請求與一或多個賬戶相關聯。
在步驟1006中,服務系統105可判斷是否已針對在步驟1004中辨識的所述一或多個賬戶發出告警。舉例而言,客戶端認證器442(圖4)可判斷詐欺/風險偵測服務344(圖3)是否已針對與來自步驟1002的請求相關聯的賬戶產生告警。若賬戶已與告警相關聯(步驟1006:是),則過程1000可繼續進行至步驟1008,且服務系統105可向客戶端系統190傳送拒絕交易或請求的回應。利用此種佈置,服務系統105可能夠實時地捕獲可疑行為,同時對API進行配置並對元件進行介接,以防止與被破解的賬戶的進一步交作。然而,若在步驟1006中服務系統確定賬戶沒有與告警相關聯(步驟1006:否),則過程1000可繼續進行至步驟1010,且向客戶端系統190傳送接受交易的回應。
在一些實施例中,過程1000可包括步驟1012,在步驟1012中,服務系統105可向仲介234(圖2)發送以下訊息:可將即將到來的事件添加至流中,且所述事件與所辨識的賬戶相關聯。當交易或請求在步驟1010中被批准時,所述交易或請求可使得針對與接收到批准的客戶端系統190相關聯的資料流產生新事件。因此,為減少附加的處理步驟並降低計算複雜度,在步驟1012中,服務系統105可通知仲介234或實時狀態計算器120(圖1)的其他元件可產生與所辨識的賬戶相關聯的新事件。作為回應,仲介234或實時狀態計算器120的其他元件可為新的潛在事件初始化主題或工作流程。
現參照圖11,圖11示出例示出與所揭露的實施例一致的示例性流捕獲配置過程1100的流程圖。過程1100可由服務系統105實時地施行,同時處理由例如客戶端系統190或客戶端裝置150產生的資料流中的事件。舉例而言,過程1100可由流運算器110施行。
在步驟1102中,服務系統105可配置一或多個流捕獲應用。配置流捕獲應用可包括創建爪哇實例、設定參數及構造實例參數。舉例而言,在步驟1102中,服務系統105可施行例如以下運算: import java.util.Properties; import org.apache.kafka.streams.StreamsConfig; Properties settings = new Properties(); settings.put(StreamsConfig.APPLICATION_ID_CONFIG, "my-first-streams-application"); settings.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka-broker1:9092"); settings.put(... , ...); StreamsConfig config = new StreamsConfig(settings);
在步驟1102中為配置流捕獲應用所選的參數可包括所需的配置參數,例如「應用.id(application.id)」及「自舉.伺服器(bootstrap.server)」。另外地或作為另外一種選擇,用於步驟1102中的配置的參數可包括「缺設.還原序列化.異常.處置器(default.deserialization.exception.handler)」、「缺設.生產.異常.處置器(default.production.exception.handler)」、「缺設.密鑰.串化器/解串化器(default.key.serde)」、「預設.值.串化器/解串化器(default.value.serde)」、「數字.備用.複本(num.standby.replicas)」、「數字.流.執行緒(num.stream.threads)」、「分區.群組(partition.grouper)」、「處理.保證(processing.guarantee)」、「複製.因子(replication.factor)」及「時間戳記.提取器(timestamp.extractor)」。另外,用於配置捕獲應用的參數可包括生產者配置參數(例如,「命名、缺設值、啟用.自動化.承諾、rocksdb.配置.設定器(Naming, Default Values, enable.auto.commit, rocksdb.config.setter)」)或者用於彈性的推薦配置參數(例如,「replication.factor」)。
所配置的捕獲應用可專門捕獲特定類型的事件、辨識密鑰並確定可用於實時處理的密鑰/值對。作為另外一種選擇或另外地,在步驟1104中,服務系統105可實行包括以下的一系列操作:配置一或多個流捕獲應用;對每一捕獲應用指配一或多個仲介;以及在每一仲介中進行定義以將事件資訊轉換成可以O(1)運算器進行存取的變數。
在步驟1104中,服務系統105可對每一捕獲應用指配一或多個仲介234(圖2)。舉例而言,服務系統105可檢查仲介234的當前分區指配,以確定所述當前分區的工作負荷。為此,服務系統105可採用腳本來辨識仲介234佈置。服務系統105亦可藉由使用腳本語言基於分區重新指配元素以將檔案格式化(例如,「重新指配分區.json(reassign-partitions.json)」)來繼續基於分區指配捕獲應用。
在步驟1104中,服務系統105亦可運行主題至複本仲介234的重新指配,用於更有彈性的計算且可驗證所述指配。
在步驟1106中,服務系統105可定義串列化器或解串列化器,以在步驟1104中仲介234的指配期間基於創建的主題來轉換事件中的資訊。舉例而言,服務系統105可執行以下命令來設定在實時資料流中處理的串列化器及解串列化器: public class User { private String clientID; private int amount; public User() { } public User(String clientID, int amount) { this.clientID = clientID; this.amount = amount; } public String getclientID() { return this.clientID; } public int getamount() { return this.amount; } @Override public String toString() { return "User(" + clientID + ", " + amount + ")"; } @Override public byte[] serialize(String arg0, User arg1) { byte[] retVal = null; ObjectMapper = new ObjectMapper(); try {retVal = objectMapper.writeValueAsString(arg1).getBytes(); }
在步驟1108中,服務系統105可為在步驟1104中仲介234的指配所產生的主題創建一或多個流對象。在步驟1108中創建的對象可基於資料流。舉例而言,在步驟1108中創建的對象可共享單個生產者實例。可用定義對象的函數來創建對象。舉例而言,在步驟1108中,服務系統105可採用「對象記錄(爪哇.語言.字串主題,爪哇.語言.整數分區,K密鑰,V值)(ObjectRecord(java.lang.String topic, java.lang.Integer partition, K key, V value))」來產生密鑰/值對對象且創建將被發送至仲介234的指定主題及分區的記錄。作為另外一種選擇或另外地,服務系統105可採用「對象記錄(爪哇.語言.字串主題,K密鑰,V值)(ObjectRecord(java.lang.String topic, K key, V value))」的命令來創建記錄,以發送至流運算器110及/或實時處理器,例如Kafka。此外,在步驟1108中,服務系統105可使用例如「對象記錄(爪哇.語言.字串主題,V值)(ObjectRecord(java.lang.String topic, V value))」的命令來創建流對象,以創建沒有密鑰的記錄。
在步驟1110中,服務系統105可依序處理流中的事件。基於密鑰/值對以及主題配置及分區,可藉由使用基於不同主題的平行仲介234來高效地實行所述過程。在步驟1110中,可藉由使用可在沒有定義次序的情況下並行地處理的資料分區來並列地實行處理。
在步驟1112中,服務系統105可將密鑰/值事件與賬戶及其相關狀態變數相關聯。可基於密鑰/值來更新狀態變數,且服務系統105可儲存狀態變數的單個副本,以將記憶體利用最小化,且將變數配置以執行使用具有O(1)複雜度的運算器來存取所述變數的能力。因此,在步驟1112中,在配置捕獲應用並依序處理事件之後,服務系統105可儲存對資料流進行監測的低複雜度狀態變數。
現參照圖12,圖12示出例示出與所揭露的實施例一致的預測模型配置過程1200的流程圖。過程1200可由服務系統105實行。舉例而言,過程1200可由計算器處理器340(圖3)中的預測模型產生器342執行,且可被配置以使用例如捲積神經網路來使變數相關而產生預測模型。
在步驟1204中,服務系統105可基於訓練資料集的特徵產生輸入陣列。在步驟1206中,服務系統105可基於訓練資料集的密鑰/值產生輸出向量。
在步驟1204中,服務系統可計算在步驟1214中的估測輸出及成本函數。在步驟1220中,服務系統105可判斷成本函數是否低於所需準確度的臨限值,所述臨限值可由使用者指定。若服務系統105確定成本函數不低於臨限值且已達到所需的精確度,則服務系統105可繼續進行至步驟1222並更新模型。然而,若成本函數低於臨限值(步驟1220:是),則服務系統105可接受所述模型。
圖13是例示出根據所揭露的實施例的預測模型訓練過程1300的示例性流程圖。在一些實施例中,服務系統105可施行過程1300。舉例而言,實時狀態計算器120可實行過程1300。
在步驟1302中,服務系統105可接收對預測模型的請求。在一些實施例中,請求可指定目標狀態變數或特定客戶端系統190。所述請求可包括關於客戶端裝置150的資訊。
在步驟1304中,服務系統105可產生建模資料集。服務系統105可使用來自資料庫180、線上資源140及/或客戶端裝置150的資訊來產生訓練資料集。舉例而言,服務系統105可自資料庫180擷取與被報告為詐欺的客戶裝置150的使用者賬戶相關聯的交易及事件。
在步驟1306中,服務系統105可藉由對在步驟1304中產生的建模資料集進行劃分來創建建模資料子集。在一些實施例中,服務系統105可對訓練資料集進行隨機地劃分,以創建隨機訓練子集及測試子集。接著,可使用建模資料集的隨機選擇的子集來產生預測模型。訓練資料子集中的元素對於每一子集可為唯一的,以創建獨立的訓練資料子集。作為另外一種選擇,訓練資料子集可共享元素且交疊。在其他實施例中,服務系統105可使用劃分規則來劃分訓練資料集。訓練資料集劃分規則可指示不同組之間的劃分數目及/或比率。舉例而言,對於測試及驗證資料,可使用80/20分割率來劃分訓練資料集。
基於建模資料集分區,服務系統105可在步驟1307中選擇分類器。服務系統105亦可處理步驟1306的建模資料集,以確定預測模型的係數(步驟1308)及超參數(步驟1310)。預測模型可為參數的、非參數的或半參數的。在一些實施例中,服務系統105可創建多個決策樹作為預測模型來辨識詐欺的機率。在其他實施例中,服務系統105可產生神經網路(如結合圖12進一步所闡述)、分組資料處置方法(Group Method of Data Handling,GMDH)演算法、樸素貝葉斯分類器(Naive Bayes classifier)及/或多元自適應回歸樣條(Multivariate Adaptive Regression Spline)。
在步驟1314中,服務系統105可評估模型是否完成或者是否已達到停止標準。舉例而言,當服務系統105產生決策樹時,在步驟1314中,服務系統105可評估端部節點是否滿足停止標準。在一些實施例中,停止標準可為模型固有的或由超參數定義。
若不滿足停止標準,則服務系統105可繼續進行至步驟1316,且選擇新的變數或參數來確定新的分類器。作為另外一種選擇,當滿足停止標準時,服務系統105可繼續進行至步驟1318,在步驟1318中,服務系統105可使用訓練資料集的一部分來計算模型的準確度。
在步驟1320中,服務系統105可評估模型的準確度是否高於準確度臨限值。在一些實施例中,可基於為預測模型設定的最佳化標的來自動調整模型的準確度臨限值。若模型不高於臨限值(步驟1320:否),則可在步驟1326中丟棄所述模型。若計算的準確度高於臨限值(步驟1320:是),則服務系統105可在步驟1322中對模型指配加權係數,且在步驟1324中將模型包括至模型集合中。加權係數可與計算的準確度相關聯。舉例而言,加權係數可與準確度成比例。
可重複進行過程1300多次以產生多個模型。在一些實施例中,服務系統105可重複進行所述過程,直至產生最小的模型。
圖14A示出根據所揭露的實施例的作為時間函數的示例性狀態變數的值的曲線圖。圖14A中所繪示的狀態變數可被配置以累積交易值(例如,交易中花費的金額)。此外,狀態變數可被配置以當事件早於30分鐘時移除事件的影響。另外,由於圖14A中闡述的狀態變數儲存單一值,因此時間複雜度恆定為O(1),而不論時間複雜度監測長期亦或是短期。
圖14A示出狀態變數作為時間函數而改變四次。在時間1402中,狀態變數自0改變至30,000美元。當資料流中的事件觸發狀態變數發生改變時,可能會發生此種改變。舉例而言,流運算器110可自與賬戶相關聯的事件提取密鑰/值。所述賬戶轉而與圖14A中所繪示的狀態變數相關聯。因此,實時狀態計算器120可根據觸發事件來更新與所辨識的賬戶相關聯的變數。在此種情形中,觸發事件包括30,000美元的交易且狀態變數得到更新。舉例而言,累積器348可在接收到觸發事件時更新變數。另外,圖14A中亦示出,時間戳記可與事件相關聯。在圖14A中所示的實例中,時間1402中的交易可與「13:01」時間戳記相關聯。舉例而言,累積器348可暫存具有時間戳記或回呼的狀態變數的修改,以在所述修改過期時刪除修改對狀態變數的影響。
當服務系統105接收到與同一賬戶相關聯的第二交易事件時,可在時間1406中再次更新狀態變數。第二交易可為60,000美元。累積第一交易(在時間1402中)及第二交易(在時間1406中)使得狀態變數的累積值為90,000美元。此種變數的累積側重於差分改變而非絕對值,將實時地處理事件所需的計算數目最小化。此外,由於單一值計算地更快,因此狀態變數有利於採用O(1)演算法來更新、監測或分析狀態變數。
當第一事件過期時,可在時間1410中再次更新狀態變數。由於此狀態變數被配置有30分鐘的時間窗,因此在自第一事件(在時間1402中)經過30分鐘之後,服務系統105可消除事件的影響。因此,在時間1410中,由於第一事件(具有為30,000美元的值)的影響在30分鐘之後過期,因此狀態變數的值可自90,000美元減少至60,000美元。儘管圖14A所示的示例性實施例示出在30分鐘的時間1402處的事件的回呼時間,然而可基於系統100的特性來實施其他回呼時間。此外,由新事件及回呼觸發的計算可足以辨識反常行為或詐欺行為,此乃因所述計算創建了內部規則引擎,所述內部規則引擎可利用現有變數以快速判斷做出實時決策。舉例而言,由於變數計算速度的99.9%可在20毫秒內由新事件及回呼觸發,因此計算是充足的。
在一些實施例中,如圖14A中所示,過期可自動進行。亦即,一旦事件過期,狀態變數便會被修改。然而,在其他實施例中,為節省電腦資源並改善電腦的工作方式,僅當存在觸發事件時,才可更新狀態變數。在此種實施例中,當服務系統105接收到觸發事件時,可首先評估將被修改的變數的任何事件是否已過期,移除過期事件的影響,且接著基於觸發事件修改變數。結合圖14B進一步所闡述的此種佈置可將計算及對記憶體的存取的數目最小化。
當第二事件過期時,可對狀態變數進行第四次更新。在時間13:45中,由於第二事件不再處於30分鐘的時間窗上,因此第二事件過期。因此,由於第一事件及第二事件過期,系統服務105可移除第二事件的影響,且狀態變數返回至0美元的值。
如圖14A中所繪示的狀態變數的佈置使得能夠在時間週期內對一系列事件進行累積。對於自事件提取的不同密鑰,可實施相似的狀態變數。舉例而言,可使用其他狀態變數來監測交易頻率。另外,儘管圖14A中的狀態變數儲存定量資訊,然而其他狀態變數或累積變數可儲存定性資訊(例如交易位置)或者包括在例如有效賬戶與非有效賬戶之間改變的二進制變數。
圖14A進一步示出臨限值1420。當變數超過預定臨限值時,可產生告警以指示反常行為或潛在詐欺。舉例而言,在圖14A中,狀態變數因時間1406中的觸發事件超過了臨限值1420。此時,累積金額狀態變數指示所述帳戶與迅速交易或高價格交易相關聯。在此種實施例中,實時狀態計算器120(圖3)可產生告警(例如利用詐欺/風險偵測服務344),所述告警可用於防止賬戶中的任何進一步交易。舉例而言,在時間1406處,由於累積值超過臨限值1420,因此可指示客戶端請求介面130(圖4)拒絕來自與狀態變數相關聯的賬戶的任何進一步交易。作為另外一種選擇或另外地,如結合圖9進一步所闡述,超過臨限值1420的狀態變數可為使用多個狀態變數進行預測或評定詐欺機率的預測模型的輸入。在此種實施例中,服務系統105可判斷來自模型的預測是否高於機率臨限值。
圖14B示出根據所揭露的實施例的作為時間函數的示例性的第二狀態變數的值的曲線圖。與圖14A中闡述的狀態變數相似,圖14B中所繪示的狀態變數可被配置以累積交易值(例如,交易中花費的金額),且當事件早於30分鐘時移除事件的影響。然而,與圖14A中的狀態變數不同,圖14B所示狀態變數可被配置以僅在存在觸發事件時更新變數。
與圖14A相似,圖14B中的狀態變數示出狀態變數基於時間1422及時間1426中的第一交易及第二交易的觸發事件而發生兩次改變。然而,當第一事件在時間1430中過期時,由於不存在觸發事件,狀態變數不會改變。因此,為將記憶體利用及計算數目最小化,當事件中的一者過期時,服務系統105不會立即更新狀態變數。因此,在時間1430中,即使第一事件已過期,狀態變數的值仍不改變。
相反,當在時間1432中存在第三觸發事件時,狀態變數被更新。在時間1432中,服務系統105可接收金額為20,000美元的第三交易。在更新狀態變數時,服務系統105可注意到第一事件已過期。因此,在時間1432處更新狀態變數可包括移除過期事件及添加新事件。在圖14B所示的實例中,更新事件包括自第一事件移除30,000美元的影響並添加20,000美元。因此,狀態變數在時間1432處淨減少10,000美元。
此外,在時間1434處,由於不存在觸發事件,因此即使第二事件過期,狀態變數仍不發生改變。利用此種佈置,每一事件皆涉及兩個計算,一個是對事件進行累積,且另一個是事件過期。然而,僅當存在觸發事件時,累積及過期操作才被分批處理以影響變數。
與圖14A中相同,圖14B亦示出臨限值1440,臨限值1440因第二交易而被超過,進而觸發可阻礙與賬戶的附加交易的告警。
圖14C示出根據所揭露的實施例的作為時間函數的示例性的第三狀態變數的值的曲線圖。與圖14A至圖14B中闡述的狀態變數不同,圖14C中所繪示的狀態變數具有週期性監測,而非累積。當期望應用綜合計算時,可使用此種類型的變數,綜合計算慮及被評定為詐欺的窗內的所有事件及/或慮及可用的歷史資訊。可使用Flink®或Spark®實施狀態變數,且狀態變數可用於固定長度的窗或間隔上,在所述窗或間隔中,對變數進行監測以確定其狀態。
圖14C示出對變數的每個間隔1450(1450A至1450Z)進行監測。在每一介面中,服務系統105可評估變數的狀態,以判斷變數是否已超過臨限值1460。觸發事件獨立於對變數的修改,而是單獨地監測每一事件以確定反常。舉例而言,當第一交易在時間1456中到達服務系統105時,服務系統可將事件及其資訊添加至狀態變數。接著,當在時間1458中新事件到達服務系統105時,不存在金額的累積。相反,服務系統105可應用包括單獨的事件中的每一者以及評估歷史趨勢的綜合計算。
儘管此種方法可提供連續的近似值及對帳戶的永久監測,然而所述方法可頻繁地利用記憶體並使用更多的計算資源。因此,在一些實施例中,如圖14C中所示的非累積狀態變數可僅用於非常重要的特定密鑰。
現參照圖15,圖15示出例示出與所揭露的實施例一致的管線資料流處理流程1500的過程流程圖。在一些實施例中,如圖15中所示,系統100(圖1)的不同元件可實行流程1500的特定步驟。舉例而言,服務系統105的組件可實行一或多個步驟,但其他系統(例如客戶端系統190)可實行其他步驟。然而,在其他實施例中,系統100的替代元件可實行所闡述的步驟,或者系統100的單個元件可實行所闡述的步驟中的一或多者。
在步驟1502中,客戶端系統190可向服務系統105傳送事件訊息。舉例而言,在步驟1502中,支付客戶端系統190A、會員客戶端系統190B及裝運客戶端系統190C可向服務系統105發送事件訊息。在一些實施例中,可在無預測時間表的情況下並行地接收訊息。然而,在其他實施例中,訊息可分批接收且根據一些預定的時間表進行排程。
在步驟1504中,仲介234(圖2)可接受事件訊息作為資料流,且在被請求時發出經分類的資料流。在步驟1506中,過濾器/正規器232(圖2)可處理仲介234的流,以根據過濾器或正規化規則修改事件訊息或丟棄事件訊息。在步驟1508中,密鑰提取器235(圖2)可基於資料流中的事件訊息產生偶數/密鑰對。在步驟1510中,事件/密鑰對可由累積器348(圖3)處理,累積器348可提供或更新變數(例如狀態變數)並將變數儲存於資料庫180中。在一些實施例中,密鑰提取器234可藉由將事件調度至特定的累積器348實例來與累積器344緊密合作。為將實時資料流的處理速度最大化,密鑰提取器235可映射累積器的實例及其相應的伺服器/虛擬機/執行緒。密鑰提取器235可判斷哪個累積器348實例將發送事件,以將等待時間最小化並改善回應時間。
接著,當確定出資料流中的反常時,詐欺/風險偵測服務344可使用累積器348的變數。舉例而言,在步驟1512中,客戶端系統190可發送HTTP請求(例如,支付客戶端系統190A可向服務系統105發送請求支付)。所述請求可由詐欺/風險偵測服務344接收,在步驟1514中,詐欺/風險偵測服務344可轉而自資料庫180請求與HTTP請求相關聯的變數。在步驟1516中,資料庫180可將變數返回至詐欺/風險偵測服務344,詐欺/風險偵測服務344可實施預測模型及/或規則來判斷是否應接受HTTP請求。在步驟1518中,基於步驟816的變數,詐欺/風險偵測服務344可傳送HTTP回應。
現參照圖16,圖16示出例示出與所揭露的實施例一致的狀態變數基於交易事件進行更新的過程流程圖。在一些實施例中,如圖16中所示,系統100(圖1)的不同元件可實行流程1600的特定步驟。舉例而言,服務系統105的組件可實行一或多個步驟,但其他系統(例如客戶端系統190)可實行其他步驟。然而,在其他實施例中,系統100的替代元件可實行所闡述的步驟,或者系統100的單個元件可實行所闡述的步驟中的一或多者。
在步驟1602中,客戶端系統190可發送包括交易事件的事件訊息。舉例而言,支付客戶端系統190A可發送包括顧客ID及IP位址、信用卡號碼、商家ID及金額的交易事件。在步驟1604中,密鑰提取器235(圖2)可產生具有交易事件的事件/密鑰對的資料流。基於密鑰/對事件,累積器348可基於步驟1602的交易事件來更新變數。舉例而言,在步驟1606中,累積器348可基於交易事件/密鑰對來更新對交易金額或數目進行追蹤的狀態變數。累積器348亦可將經過更新的狀態變數儲存於資料庫180中。
現參照圖17,圖17示出例示出與所揭露的實施例一致的狀態變數基於交易事件進行更新的過程流程圖。在一些實施例中,如圖17中所示,系統100(圖1)的不同元件可實行流程1700的特定步驟。舉例而言,服務系統105的組件可實行一或多個步驟,但其他系統(例如客戶端系統190)可實行其他步驟。然而,在其他實施例中,系統100的替代元件可實行所闡述的步驟,或者系統100的單個元件可實行所闡述的步驟中的一或多者。
在步驟1702中,客戶端系統190可發送包括訂單事件的事件訊息。舉例而言,訂單客戶端系統190D可發送下訂單事件及/或取消訂單事件。訂單事件可包括顧客ID及IP位址、物項辨識、客戶端資訊及金額。在步驟1704中,密鑰提取器1004可產生具有訂單事件的事件/密鑰對的資料流。基於密鑰/對事件,累積器348(圖3)可基於步驟1702的訂單事件來更新變數。舉例而言,在步驟1706中,累積器348可基於訂單事件/密鑰對來更新對交易的金額或數目進行追蹤的狀態變數。累積器348亦可將經過更新的狀態變數儲存於資料庫180中。
在一些實施例中,流程1600與流程1700可並列實行,進而並行地更新與交易及訂單事件二者有關的狀態變數。
現參照圖18,圖18示出例示出與所揭露的實施例一致的告警處理流程的過程流程圖。在一些實施例中,如圖18中所示,系統100(圖1)的不同元件可實行流程1800的特定步驟。舉例而言,服務系統105的組件可實行一或多個步驟,但其他系統(例如客戶端系統190)可實行其他步驟。然而,在其他實施例中,系統100的替代元件可實行所闡述的步驟,或者系統100的單個元件可實行所闡述的步驟中的一或多者。
在步驟1802中,客戶端系統190可向服務系統105發送HTTP請求。舉例而言,支付客戶端系統190A可向服務系統105發送用於交易的HTTP請求。可使用例如REST API等API傳送HTTP請求。在步驟1804中,詐欺/風險偵測服務344可使用查找命令自資料庫180請求變數。舉例而言,如先前結合圖16至圖17所論述,累積器348可計算狀態變數並將狀態變數儲存於資料庫180中。在步驟1804中,詐欺/風險偵測服務344可自資料庫180請求變數,資料庫180可在步驟1106中返回用於HTTP請求的相關變數。
詐欺/風險偵測服務344可使用模型及/或預測規則(如結合圖12至圖13進一步所闡述)來基於在步驟1806中接收的變數來確定回應。在步驟1808中,詐欺/風險偵測服務344可向客戶端系統190發送回應。所述回應可基於儲存於詐欺/風險偵測服務344中的狀態變數、模型及規則以及在HTTP請求中提供的資訊進行。
本揭露的另一態樣是有關於一種儲存指令的非暫態電腦可讀取媒體,在被執行時所述指令使得一或多個處理器實行如上所論述的方法。電腦可讀取媒體可包括揮發性或非揮發性、磁性、半導體、磁帶、光學、可移動、不可移動或其他類型的電腦可讀取媒體或電腦可讀取儲存裝置。舉例而言,如本文中所揭露的,電腦可讀取媒體可為上面儲存有電腦指令的儲存單元或記憶體模組。在一些實施例中,電腦可讀取媒體可為上面儲存有電腦指令的光碟或閃存驅動機。
對於熟習此項技術者而言將顯而易見的是,可對所揭露的系統及有關方法進行各種修改及變化。慮及所揭露的系統及有關方法的說明書及實踐,其他實施例對於熟習此項技術者而言將顯而易見。說明書及實例旨在僅被認為是示例性的,真正的範圍由所附申請專利範圍及其等效物指示。
另外,儘管本文中已闡述了例示性實施例,然而所述例示性實施例的範圍包括所有具有等效元素、修改、省略、組合(例如,跨各種實施例的態樣)、適應及/或變更的實施例,如熟習此項技術者基於本揭露所理解。舉例而言,可對示例性系統中所示的組件的數目及定向進行修改。此外,關於隨附圖式中例示出的示例性方法,可修改步驟的次序及順序,且可添加或刪除步驟。此外,儘管使用爪哇語言闡述電腦化方法的一些示例性實施例來例示示例性腳本及例程,然而所揭露的方法以及系統可使用替代語言來實施。除爪哇之外,所揭露的實施例可使用一或多種程式化語言。舉例而言,所揭露的實施例亦可使用Python、C、C++、C#、R、Go、Swift、Ruby及/或其組合來實施。
因此,上述說明僅處於例示的目的而呈現。所述說明不是詳盡的且不侷限於所揭露的精確形式或實施例。慮及所揭露的實施例的說明書及實踐,修改及改編對於熟習此項技術者而言將顯而易見。
申請專利範圍將基於申請專利範圍中採用的語言進行廣義解釋,且並非僅限於本說明書中所闡述的實例,所述實例將被視為非排他性的。此外,所揭露的方法的步驟可以任何方式進行修改,包括藉由對步驟進行重新排序及/或插入步驟或刪除步驟。
100:系統 105:服務系統/系統 110:流運算器 120:實時狀態計算器/實時計算器 130:客戶端請求介面 140:線上資源 150:客戶端裝置 160:第三方系統 170:網路 180:資料庫 190:客戶端系統 190A:支付客戶端系統 190B:會員客戶端系統 190C:裝運客戶端系統 190D:訂單客戶端系統 210、360、460、502:通訊裝置 220:流記憶體 222:流程式 224:流資料 230:流處理器 232:過濾器/正規器 234:仲介 235:密鑰提取器 236:編譯器 238:計時器 340:計算器處理器 342:預測模型產生器 344:詐欺/風險偵測服務 346:賬戶辨識符 348:狀態變數累積器/累積器 350:計算器記憶體 352:計算器程式 354:過期規則 356:賬戶資訊 358:各別狀態儲存器/各別儲存器 430:介面記憶體 432:介面程式 434:賬戶記錄 440:介面處理器 442:客戶端認證器 444:應用程式設計介面(API)管理器 446:客戶端註冊/客戶端註冊資訊 504:資料庫處理器 510:資料庫記憶體 512:資料庫程式/程式 514、616:資料 602:處理器 604:輸入/輸出(I/O)裝置 610:記憶體 612:程式 620:相機 630:指紋感測器 700:資料流處理流程/流程 702、704、706、707、708、710、712、714、802、804、806、808、810、812、816、820、822、824、826、830、832、902、904、906、908、910、915、916、918、1002、1004、1006、1008、1010、1012、1102、1104、1106、1108、1110、1112、1204、1206、1214、1220、1222、1302、1304、1306、1307、1308、1310、1314、1316、1318、1320、1322、1324、1326、1502、1504、1506、1508、1510、1512、1514、1516、1518、1602、1604、1606、1702、1704、1706、1802、1804、1806、1808:步驟 800:過程 900:多變數告警過程/過程 1000:客戶端請求過程/過程 1100:流捕獲配置過程/過程 1200:預測模型配置過程/過程 1300:預測模型訓練過程/過程 1402、1406、1410、1422、1426、1430、1432、1434、1456、1458:時間 1420、1440、1460:臨限值 1450、1450A、1450B、1450Z:間隔 1500:管線資料流處理流程/流程 1600、1700、1800:流程
併入本說明書且構成本說明書的一部分的附圖例示出所揭露的實施例,且與說明一同用來闡釋所揭露的實施例。在圖式中:
圖1是與所揭露的實施例一致的示例性系統的方塊圖。
圖2是與所揭露的實施例一致的示例性流運算器的方塊圖。
圖3是與所揭露的實施例一致的示例性實時狀態計算器的方塊圖。
圖4是與所揭露的實施例一致的示例性客戶端請求介面的方塊圖。
圖5是與所揭露的實施例一致的示例性資料庫的方塊圖。
圖6是與所揭露的實施例一致的示例性客戶端裝置的方塊圖。
圖7是例示出與所揭露的實施例一致的資料流處理流程的示例性過程流程圖。圖8是例示出與所揭露的實施例一致的告警產生過程的示例性流程圖。
圖9是例示出與所揭露的實施例一致的多變數告警產生過程的示例性流程圖。
圖10是例示出與所揭露的實施例一致的對客戶端請求作出回應的過程的示例性流程圖。
圖11是例示出與所揭露的實施例一致的流捕獲配置過程的示例性流程圖。
圖12是例示出與所揭露的實施例一致的預測模型配置過程的示例性流程圖。
圖13是例示出與所揭露的實施例一致的預測模型訓練過程的示例性流程圖。
圖14A是根據所揭露的實施例的作為時間函數的第一示例性狀態變數的值的示例性曲線圖。
圖14B是根據所揭露的實施例的作為時間函數的第二示例性狀態變數的值的示例性曲線圖。
圖14C是根據所揭露的實施例的作為時間函數的第三示例性狀態變數的值的示例性曲線圖。
圖15是例示出與所揭露的實施例一致的管線資料流處理的示例性過程流程圖。
圖16是例示出與所揭露的實施例一致的狀態變數基於交易事件進行更新的示例性過程流程圖。
圖17是例示出與所揭露的實施例一致的狀態變數基於訂單事件進行更新的示例性過程流程圖。
圖18是例示出與所揭露的實施例一致的告警處理的示例性過程流程圖。
180:資料庫
190A:支付客戶端系統
190B:會員客戶端系統
190C:裝運客戶端系統
232:過濾器/正規器
234:仲介
235:密鑰提取器
344:詐欺/風險偵測服務
348:狀態變數累積器/累積器
802:步驟
1500:管線資料流處理流程/流程
1502:步驟
1504:步驟
1506:步驟
1508:步驟
1510:步驟
1512:步驟
1514:步驟
1516:步驟
1518:步驟

Claims (20)

  1. 一種用於產生告警之系統,包括: 一或多個處理器;以及 一或多個儲存裝置,儲存指令,所述指令在被執行時將所述一或多個處理器配置以實行包括以下的操作: 自資料流接收事件,所述事件包括交易資訊; 基於一組預定義的所選主題而自所述事件提取密鑰; 基於所提取的所述密鑰而將所述事件與至少一個賬戶相關聯; 辨識與所述至少一個賬戶相關聯的狀態變數,所述狀態變數被配置以被以恆定時間複雜度進行存取; 藉由以下方式來更新所述狀態變數: 在所述狀態變數中累積所述事件; 將所述事件的時間戳記暫存於所述狀態變數中;以及 使過期事件自所述狀態變數退出; 判斷所述狀態變數是否高於臨限水準;以及 當所述狀態變數高於所述臨限水準時產生針對所述賬戶的告警。
  2. 如請求項1所述的系統,其中將所述事件與所述至少一個賬戶相關聯包括: 自非關係資料庫擷取查找表,所述查找表將密鑰與賬戶相關聯;以及 辨識所述查找表中與所提取的所述密鑰中的一或多者相關的賬戶。
  3. 如請求項1所述的系統,其中 所述操作更包括確定使狀態變數過期的時間窗;且 使過期事件退出包括: 擷取在所述狀態變數中累積的現有事件的時間戳記;以及 刪除所述現有事件中具有較所述時間窗的下限早的時間戳記的現有事件。
  4. 如請求項3所述的系統,其中 所述狀態變數的單個副本儲存於單個記憶單元中;且 所述時間窗為24小時。
  5. 如請求項1所述的系統,其中所述操作更包括: 自非關係資料庫擷取與所述賬戶相關聯的多個狀態變數,所述多個狀態變數中的每一者被配置以被以O(1)運算器進行存取; 基於所提取的所述密鑰對所述多個狀態變數中的每一狀態變數指配權重; 使用預測模型計算詐欺機率,所述預測模型包括隨機森林或卷積神經網路中的至少一者;以及 當所述詐欺機率高於機率臨限值時,產生告警訊號。
  6. 如請求項5所述的系統,其中 所述操作更包括:自所述事件提取值; 所提取的所述密鑰包括網際網路協定位址、電子郵件位址、或電話號碼中的至少一者;且 所提取的所述值包括交易值。
  7. 如請求項6所述的系統,其中在所述狀態變數中累積所述事件包括: 對所述事件指配與所述交易值成比例的得分;以及 基於所指配的所述得分而增大所述狀態變數的值。
  8. 如請求項1所述的系統,其中所述操作更包括: 自與客戶端系統進行介接的應用程式設計介面接收交易請求; 辨識與所述交易請求相關聯的賬戶; 當已針對所述賬戶產生告警時,拒絕所述交易請求。
  9. 如請求項1所述的系統,其中 自資料流接收事件包括:自多個客戶端系統接收多個事件;且 自所述事件提取密鑰包括: 配置一或多個流捕獲應用; 對所述一或多個流捕獲應用中的每一捕獲應用指配一或多個仲介;以及 在所述一或多個仲介中的每一仲介中進行定義以將事件資訊轉換成能夠以O(1)運算器進行存取的變數。
  10. 如請求項1所述的系統,其中接收所述事件包括: 辨識不包括相關聯的事件時間的事件; 刪除無相關聯的事件時間的事件;以及 藉由將事件的事件時間的時區及所述事件的貨幣正規化而將所述未被刪除事件的事件資訊正規化。
  11. 一種用於產生告警的由電腦實施之方法,所述方法包括: 自資料流接收事件,所述事件包括交易資訊; 基於一組預定義的所選主題而自所述事件提取密鑰; 基於所提取的所述密鑰而將所述事件與至少一個賬戶相關聯; 辨識與所述至少一個賬戶相關聯的狀態變數,所述狀態變數被配置以被以恆定時間複雜度進行存取; 藉由以下方式來更新所述狀態變數: 在所述狀態變數中累積所述事件; 將所述事件的時間戳記暫存於所述狀態變數中;以及 使過期事件自所述狀態變數退出; 判斷所述狀態變數是否高於臨限水準;以及 當所述狀態變數高於所述臨限水準時產生針對所述賬戶的告警。
  12. 如請求項11所述的方法,其中將所述事件與所述至少一個賬戶相關聯包括: 自非關係資料庫擷取查找表,所述查找表將密鑰與賬戶相關聯;以及 辨識所述查找表中與所提取的所述密鑰中的一或多者相關的賬戶。
  13. 如請求項11所述的方法,更包括 確定使狀態變數過期的時間窗;且 其中使過期事件退出包括: 擷取在所述狀態變數中累積的現有事件的時間戳記;以及 刪除所述現有事件中具有較所述時間窗的下限早的時間戳記的現有事件。
  14. 如請求項13所述的方法,其中 所述狀態變數的單個副本儲存於單個記憶單元中;且 所述時間窗為24小時。
  15. 如請求項11所述的方法,其中所述操作更包括: 自非關係資料庫擷取與所述賬戶相關聯的多個狀態變數,所述多個狀態變數中的每一者被配置以被以O(1)複雜度運算器進行存取; 基於所提取的所述密鑰對所述多個狀態變數中的每一狀態變數指配權重; 使用預測模型計算詐欺機率,所述預測模型包括隨機森林或卷積神經網路中的至少一者;以及 當所述詐欺機率高於機率臨限值時,產生告警訊號。
  16. 如請求項15所述的方法,更包括: 提取與所述事件相關聯的交易值;且 其中所提取的所述密鑰包括網際網路協定位址、電子郵件位址、電話號碼中的至少一者。
  17. 如請求項16所述的方法,其中在所述狀態變數中累積所述事件包括: 對所述事件指配與所述交易值成比例的得分;以及 基於所指配的所述得分而增大所述狀態變數的值。
  18. 如請求項11所述的方法,更包括: 自與客戶端系統進行介接的應用程式設計介面接收交易請求; 辨識與所述交易請求相關聯的賬戶;以及 當已針對所述賬戶產生告警時,拒絕所述交易請求。
  19. 如請求項11所述的方法,其中 自資料流接收事件包括:自多個客戶端系統接收多個事件;且 自所述事件提取密鑰及值對包括: 配置一或多個流捕獲應用; 對所述一或多個流捕獲應用中的每一捕獲應用指配一或多個仲介;以及 在所述一或多個仲介中的每一仲介中進行定義以將事件資訊轉換成能夠以O(1)運算器進行存取的變數。
  20. 一種非暫態電腦可讀取媒體,儲存指令,所述指令在由處理器執行時實行基於交易而產生實時告警的操作,所述操作包括: 自多個客戶端系統接收資料流,所述資料流包括多個事件; 自所述多個事件濾除不包括時間戳記的事件; 藉由將所述多個事件中的未被濾除事件中的每一者中的時區及貨幣正規化而產生正規化事件的陣列; 自所述正規化事件實時地提取多個密鑰,所述多個密鑰包括網際網路協定位址、電子郵件位址或電話號碼; 基於對應的密鑰將所述正規化事件與至少一個賬戶相關聯; 辨識與對應的賬戶相關聯的狀態變數,所述狀態變數被配置以被以O(1)複雜度運算器進行存取,所述狀態變數儲存於單個副本中; 藉由以下操作來更新所述狀態變數: 在所述狀態變數中累積所述未被濾除事件; 為經過更新的所述狀態變數中的每一者暫存計時器及回呼; 使過期事件自所述狀態變數退出,所述過期事件具有落於時間窗之外的時間戳記; 對與賬戶相關聯的經過更新的狀態變數指配權重; 使用基於所述經過更新的變數的預測模型來計算詐欺機率;以及 當所述狀態變數高於所述臨限水準時產生針對所述賬戶的告警。
TW109113638A 2019-06-20 2020-04-23 用於產生告警之系統與方法以及非暫態電腦可讀取媒體 TWI718941B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/447,904 US11023896B2 (en) 2019-06-20 2019-06-20 Systems and methods for real-time processing of data streams
US16/447,904 2019-06-20

Publications (2)

Publication Number Publication Date
TW202101337A true TW202101337A (zh) 2021-01-01
TWI718941B TWI718941B (zh) 2021-02-11

Family

ID=74038934

Family Applications (2)

Application Number Title Priority Date Filing Date
TW109113638A TWI718941B (zh) 2019-06-20 2020-04-23 用於產生告警之系統與方法以及非暫態電腦可讀取媒體
TW110100187A TWI773071B (zh) 2019-06-20 2020-04-23 用於管線資料流處理的電腦實施之方法以及系統

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW110100187A TWI773071B (zh) 2019-06-20 2020-04-23 用於管線資料流處理的電腦實施之方法以及系統

Country Status (7)

Country Link
US (2) US11023896B2 (zh)
JP (1) JP7197675B2 (zh)
KR (2) KR102346131B1 (zh)
AU (1) AU2020264374A1 (zh)
SG (1) SG11202011706QA (zh)
TW (2) TWI718941B (zh)
WO (1) WO2020256824A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI799008B (zh) * 2021-12-16 2023-04-11 凌華科技股份有限公司 查詢導向之事件辨識系統及方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019215807A1 (ja) * 2018-05-08 2019-11-14 日本電気株式会社 監視装置、学習装置、監視方法、学習方法及び記憶媒体
US11579940B2 (en) * 2019-04-11 2023-02-14 Salesforce.Com, Inc. Techniques and architectures for managing global installations and configurations
US11663190B2 (en) * 2019-07-24 2023-05-30 International Business Machines Corporation Self-healing accounting system
US11790265B2 (en) * 2019-07-31 2023-10-17 International Business Machines Corporation Training artificial intelligence models using active learning
US20210112130A1 (en) * 2019-10-15 2021-04-15 UiPath, Inc. Mobile push notification for robotic process automation (rpa)
US11556635B2 (en) * 2020-04-28 2023-01-17 Bank Of America Corporation System for evaluation and weighting of resource usage activity
EP3907691A1 (en) * 2020-05-07 2021-11-10 Vocalink Limited An apparatus, computer program and method
US11949784B2 (en) 2020-05-13 2024-04-02 Ridgeline, Inc. Auditing for events
US11233640B2 (en) * 2020-05-13 2022-01-25 Ridgeline, Inc. Mutation processing for events
DE102021109775A1 (de) * 2020-06-30 2021-12-30 Hewlett Packard Enterprise Development Lp Adaptive zeitfenster- basierte deduplizierung von protokollnachrichten
US20220027916A1 (en) * 2020-07-23 2022-01-27 Socure, Inc. Self Learning Machine Learning Pipeline for Enabling Binary Decision Making
US20220036219A1 (en) * 2020-07-29 2022-02-03 Jpmorgan Chase Bank, N.A. Systems and methods for fraud detection using game theory
US20220075795A1 (en) * 2020-09-04 2022-03-10 Capital One Services, Llc In-flight transformations over a data stream
WO2022076950A1 (en) * 2020-10-09 2022-04-14 Olive AI, Inc. Controlling presentation of data through an operator interface by monitoring user interactions across various compute devices
US11347747B1 (en) * 2021-01-14 2022-05-31 EMC IP Holding Company LLC Ordering data stream events in a streaming data storage platform
CN112764937B (zh) * 2021-01-29 2022-04-15 中国平安人寿保险股份有限公司 访问量控制方法、装置、计算机设备及存储介质
US11687940B2 (en) * 2021-02-18 2023-06-27 International Business Machines Corporation Override process in data analytics processing in risk networks
US11785024B2 (en) * 2021-03-22 2023-10-10 University Of South Florida Deploying neural-trojan-resistant convolutional neural networks
CN113220756A (zh) * 2021-03-25 2021-08-06 上海东普信息科技有限公司 物流数据实时处理方法、装置、设备及存储介质
US11544715B2 (en) 2021-04-12 2023-01-03 Socure, Inc. Self learning machine learning transaction scores adjustment via normalization thereof accounting for underlying transaction score bases
CN113518365B (zh) * 2021-04-29 2023-11-17 北京红山信息科技研究院有限公司 一种数据关联方法、装置、服务器及存储介质
US11630818B2 (en) * 2021-06-11 2023-04-18 Bmc Software, Inc. Iterative performance analysis with interval expansion
US11669681B2 (en) * 2021-08-04 2023-06-06 Hrb Innovations, Inc. Automated calculation predictions with explanations
US11922421B2 (en) * 2021-11-10 2024-03-05 Ulfberht Labs Corp. Systems and methods for pattern identification with enhanced event stream processing
US20230214822A1 (en) * 2022-01-05 2023-07-06 Mastercard International Incorporated Computer-implemented methods and systems for authentic user-merchant association and services
US11947545B2 (en) * 2022-03-02 2024-04-02 Adobe Inc. Systems and methods for configuring data stream filtering
US20230388359A1 (en) * 2022-05-30 2023-11-30 Trevor Dedman System and method for streaming
CN114706918B (zh) * 2022-06-01 2022-09-16 杭州安恒信息技术股份有限公司 一种多类型数据库兼容方法、装置、设备、存储介质
CN116112203B (zh) * 2022-11-16 2023-07-28 广东一码通信科技有限公司 基于风险模型的网络通信风险预测方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606895B1 (en) 2004-07-27 2009-10-20 Cisco Technology, Inc. Method and apparatus for collecting network performance data
WO2006032028A2 (en) 2004-09-13 2006-03-23 Reactivity, Inc. Metric-based monitoring and control of a limited resource
US20110016052A1 (en) * 2009-07-16 2011-01-20 Scragg Ernest M Event Tracking and Velocity Fraud Rules for Financial Transactions
US8805737B1 (en) * 2009-11-02 2014-08-12 Sas Institute Inc. Computer-implemented multiple entity dynamic summarization systems and methods
US20120158586A1 (en) * 2010-12-16 2012-06-21 Verizon Patent And Licensing, Inc. Aggregating transaction information to detect fraud
US10090662B2 (en) 2011-01-31 2018-10-02 Electronic Systems Protection, Inc. Power monitoring and management with remote access
US9721243B2 (en) * 2011-05-11 2017-08-01 Riavera Corp. Mobile payment system using subaccounts of account holder
US20130024358A1 (en) * 2011-07-21 2013-01-24 Bank Of America Corporation Filtering transactions to prevent false positive fraud alerts
JP5448209B2 (ja) 2011-12-20 2014-03-19 Necビッグローブ株式会社 不正購入警告システム、不正購入警告方法およびプログラム
US10922671B2 (en) * 2012-04-10 2021-02-16 Hossein Mohsenzadeh Systems, devices, and methods for managing a payment transaction
US9734220B2 (en) 2012-12-04 2017-08-15 Planet Os Inc. Spatio-temporal data processing systems and methods
US9178908B2 (en) * 2013-03-15 2015-11-03 Shape Security, Inc. Protecting against the introduction of alien content
US9418113B2 (en) * 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US11367073B2 (en) * 2013-07-03 2022-06-21 Capital One Services, Llc System and method for fraud control
US20150073949A1 (en) * 2013-09-10 2015-03-12 Clearwater Analytics, Llc System and method for performing reconciliation of an account using at least three sets of records
US20150095238A1 (en) * 2013-09-30 2015-04-02 Apple Inc. Online payments using a secure element of an electronic device
US11042846B2 (en) * 2013-11-15 2021-06-22 Apple Inc. Generating transaction identifiers
US20150161609A1 (en) * 2013-12-06 2015-06-11 Cube, Co. System and method for risk and fraud mitigation while processing payment card transactions
KR20150084098A (ko) 2014-01-13 2015-07-22 한국전자통신연구원 스트림 데이터 분산 처리 시스템 및 그 방법
US20150039512A1 (en) * 2014-08-08 2015-02-05 Brighterion, Inc. Real-time cross-channel fraud protection
US10902468B2 (en) 2014-06-23 2021-01-26 Board Of Regents, The University Of Texas System Real-time, stream data information integration and analytics system
US20150339673A1 (en) * 2014-10-28 2015-11-26 Brighterion, Inc. Method for detecting merchant data breaches with a computer network server
US10290001B2 (en) * 2014-10-28 2019-05-14 Brighterion, Inc. Data breach detection
US9648036B2 (en) 2014-12-29 2017-05-09 Palantir Technologies Inc. Systems for network risk assessment including processing of user access rights associated with a network of devices
US20170251072A1 (en) * 2015-10-22 2017-08-31 Symantec Corporation System and method for annotating client-server transactions
US20170178135A1 (en) * 2015-12-16 2017-06-22 Alegeus Technologies, Llc Systems and methods for notifications using a multi-purse card
CN106921637B (zh) * 2015-12-28 2020-02-14 华为技术有限公司 网络流量中的应用信息的识别方法和装置
US9992248B2 (en) 2016-01-12 2018-06-05 International Business Machines Corporation Scalable event stream data processing using a messaging system
EP3291120B1 (en) * 2016-09-06 2021-04-21 Accenture Global Solutions Limited Graph database analysis for network anomaly detection systems
US20180091588A1 (en) 2016-09-26 2018-03-29 Linkedin Corporation Balancing workload across nodes in a message brokering cluster
US10797964B2 (en) 2016-11-26 2020-10-06 Amazon Technologies, Inc. System event notification service
SG10201702968TA (en) * 2017-04-11 2018-11-29 Mastercard Asia Pacific Pte Ltd A fraud monitoring apparatus
US11748756B2 (en) * 2017-05-12 2023-09-05 Samsung Electronics Co., Ltd. System and method for fraud detection
WO2019056343A1 (zh) * 2017-09-25 2019-03-28 深圳传音通讯有限公司 一种防范互联网和移动支付资金被盗风险的系统和方法
US11030624B2 (en) * 2018-10-04 2021-06-08 Capital One Services, Llc Techniques to perform computational analyses on transaction information for automatic teller machines
US20200334687A1 (en) * 2019-04-16 2020-10-22 Paypal, Inc. Fraud trend detection and loss mitigation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI799008B (zh) * 2021-12-16 2023-04-11 凌華科技股份有限公司 查詢導向之事件辨識系統及方法

Also Published As

Publication number Publication date
US20210248613A1 (en) 2021-08-12
WO2020256824A1 (en) 2020-12-24
KR20200145621A (ko) 2020-12-30
JP7197675B2 (ja) 2022-12-27
TW202123133A (zh) 2021-06-16
TWI773071B (zh) 2022-08-01
US20200402058A1 (en) 2020-12-24
KR20220002229A (ko) 2022-01-06
JP2021530798A (ja) 2021-11-11
TWI718941B (zh) 2021-02-11
KR102548217B1 (ko) 2023-06-27
US11023896B2 (en) 2021-06-01
SG11202011706QA (en) 2021-03-30
AU2020264374A1 (en) 2021-01-14
KR102346131B1 (ko) 2021-12-31

Similar Documents

Publication Publication Date Title
TWI718941B (zh) 用於產生告警之系統與方法以及非暫態電腦可讀取媒體
Muniswamaiah et al. Big data in cloud computing review and opportunities
Zheng et al. Xblock-eth: Extracting and exploring blockchain data from ethereum
US10606711B2 (en) Recovery strategy for a stream processing system
AU2016204068B2 (en) Data acceleration
US11258814B2 (en) Methods and systems for using embedding from Natural Language Processing (NLP) for enhanced network analytics
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
US20180167402A1 (en) Computer-implemented method for determining computer system security threats, security operations center system and computer program product
US20170109676A1 (en) Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process
US10885167B1 (en) Intrusion detection based on anomalies in access patterns
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
US20210092160A1 (en) Data set creation with crowd-based reinforcement
EP3341845A1 (en) Identifying and monitoring normal user and user group interactions
Mehdipour et al. Fog computing realization for big data analytics
CN113157545A (zh) 业务日志的处理方法、装置、设备及存储介质
US11546380B2 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
US20170109638A1 (en) Ensemble-Based Identification of Executions of a Business Process
Agrawal et al. Adaptive real‐time anomaly detection in cloud infrastructures
US20230221988A1 (en) Automated Job Flow Cancellation for Multiple Task Routine Instance Errors in Many Task Computing
US20170109637A1 (en) Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process
US11897527B2 (en) Automated positive train control event data extraction and analysis engine and method therefor
Banerjee et al. A cloud performance analytics framework to support online performance diagnosis and monitoring tools
US20230344840A1 (en) Method, apparatus, system, and non-transitory computer readable medium for identifying and prioritizing network security events
Harvey Intelligence at the Edge: Using SAS with the Internet of Things
Karthikeyan et al. Taxonomy of Big Data and Analytics Solutions for Internet of Things