一,設計目標 以ES為核心建立數據集中處理平臺,支持從各個應收系統採集數據,進行清洗與轉換,之後可以進行聚合操作,對外提供API查詢; 全平臺支持數據集自建,支持轉換,查詢規則自由配置。 二,設計需求 1.系統支持自由建立數據集,每個數據集對應一個ES的一個索引的別名。(不要直接用索引名,以後更改名 ...
一,設計目標
以ES為核心建立數據集中處理平臺,支持從各個應收系統採集數據,進行清洗與轉換,之後可以進行聚合操作,對外提供API查詢;
全平臺支持數據集自建,支持轉換,查詢規則自由配置。
二,設計需求
1.系統支持自由建立數據集,每個數據集對應一個ES的一個索引的別名。(不要直接用索引名,以後更改名稱會很複雜)
2.數據集的數據收集可以支持多種,1.物聯網實時消息 2.業務日誌 3.開放API供其它系統提交 4.連接MYSQL資料庫,執行查詢定時抽取 5.Excel或CSV導入。
3.數據集在清洗完數據後,通過kafka消息通道推送給應用,支持配置多個通道。
4.平臺開放管理API,支持動態建立與維護數據集信息。
5.數據集支持動態建立,數據在導入時如有指定數據集模板與代碼信息時,如果平臺中無相關數據集,平臺將自動建立,模板中不存在的欄位支持丟失,自動建立,返回異常等多種處理規則。
6.可以為數據集或數據集模板,動態添加列,可以為列指定轉換表達式或匹配表達式,表達式中可以使用字元串相似度,調用其它數據集數據等各種API來組合配置,帶表達式的列可以指定實時執行與延時執行。
7.對於匹配結果大於1的記錄,系統將自動通知人工界入處理,人工匹配結果時,可以更新模板規則或數據集規則,以便之後使用。
8.可以建立批處理任務,主要針對模板或數據集規則變更後,重新進行匹配需求。
9.可以設置各數據集的欄位的類型,是否支持分詞檢索,聚合等功能;
10.支持數據集查詢,可以自定義數據集的顯示欄位與查詢條件,顯示與查詢條件的快照可以存儲,也可以生成API介面,供其它的應用程式調用。
11.查詢到的數據可以導出為csv,excel,json,xml等多種格式
12.在基本查詢無法滿足需求時,可以自定義各數據集的查詢表達式(主要考慮跨數據集查詢的需要)
13.需要支持為數據集設置許可權,設置人工驗證方式:1.匹配結果不為1的記錄。2.所有記錄
三,概要設計
A.平臺核心業務模型
1.數據集模板
2.數據集模板欄位
3.數據集
4.數據集欄位
5.數據集數據:其為es表
6.數據集授權
B.平臺主要功能
1.用戶場景
a.用戶登錄後列出ES中所有該用戶可訪問的數據索引表(除了以db_開頭的索引,該類索引用於存儲配置數據),對照數據集配置,顯示其相關的名稱等信息,
b.用戶選擇一個數據集進入,系統將分以下幾塊顯示數據集的信息:
b1.基本信息:包括數據集的概覽,如:總記錄數,查詢api數,列數,名稱等
b2.查詢:列出該數據集配置的所有自定義查詢,API查詢,API腳本查詢。
b3.欄位:列出該數據集所有的欄位,並提供配置參作,可以進行變更配置。
b4.數據:以表格方式列出所有數據,支持各類搜索。(從查詢處點擊查詢後以將自動設置參數顯示該頁面.)
b5.審核:
b6.日誌:
1.平臺設計以數據集為核心,一個數據集對應ES的一個索引表,數據集的欄位對應索引表的欄位,數據也存放在該索引表中。
2.每個數據集有唯一的主鍵列,由系統自動生成與維護,除了主鍵外,每個欄位可以設置
轉換表達式,該表達式為python腳本,可以調用API來進行數據標準化,可以調用查詢與對照API從其它數據集獲取數據返回。
3.在完成數據