一,設計目標
以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.在完成數據

