本發明涉及數據處理,特別涉及一種支持多源異構數據的處理方法及系統。
背景技術:
::1、異構數據(heterogeneous?data)是指在結構、格式、類型或存儲方式上存在差異的數據集合。這類數據通常來自不同的數據源或系統,具有多樣化的組織形式。2、在醫療系統的spd業務中,生成涵蓋產品、采購和庫存等核心數據的報表,需要通過多源異構數據處理系統來整合來自不同系統和不同結構的數據。現有系統處理多源異構數據時通常采用etl(extract-transform-load)和數據倉庫技術,結合序列化框架和元數據管理。但是,傳統的etl工具依賴批量處理,難以應對實時數據流;在整合多個系統數據時,權限模型不一致,極易造成敏感信息泄露。技術實現思路1、本發明,將開源流處理平臺kafka和流數據處理引擎flink結合,構建實時流水線,并將多條實時流水線構成流數據處理系統,提高系統處理實時數據的能力。2、本發明提出的技術方案為:一種支持多源異構數據的處理方法,所述方法包括:3、從不同的目標系統采集數據,并為每條數據添加對應目標系統的識別標簽;4、構建多條與etl路徑并行的實時流水線對采集到的數據進行處理,將解析失敗數據寫入錯誤數據區,并生成警告信息;將采集到的數據去除解析失敗數據后寫入臨時存儲區內;5、將實時數據處理系統的輸出和/或etl路徑的輸出寫入數據倉庫;6、利用數據倉庫內數據創建可視化的動態報表,通過預訓練的機器學習模型對動態報表數據進行分析預測,并將預測結果寫入動態報表。7、優選的,將解析成功的數據構成正確數據集,解析失敗的數據構成錯誤數據集;根據數據結構類型,利用聚類算法將正確數據集內的數據分為多個子數據集;8、在從不同的目標系統獲取數據之前,還包括步驟:定義全局策略,統一各個目標系統權限;9、所述定義全局策略,包括:10、在安全管理框架ranger的控制臺中注冊目標系統,導入目標系統的資源層級,所述資源層級包括表和列族;11、根據各個目標系統的資源層級選擇相應的資源;指定資源對應的操作,包括允許操作和拒絕操作;12、所述統一各個目標系統權限包括:13、將各個目標系統的資源映射為ranger的統一標識;將各個目標系統的原生操作轉換為ranger的標準操作;14、將各個目標系統的權限模型映射為統一的“資源-操作-條件”模型;15、創建全局角色,將全局角色與相應的模型關聯,以綁定相應目標系統的資源;所述條件包括ip范圍和操作的有效時長;16、所述將各個目標系統的權限模型映射為統一的“資源-操作-條件”模型,包括:17、使用ntp協議同步ranger與目標系統的時鐘;18、為各個目標系統的權限模型設置擴展插件,利用擴展插件的輪詢,實現權限模型的變更;19、動態調整擴展插件的輪詢間隔,以保證目標系統的權限模型能夠及時映射。20、優選的,所述動態調整擴展插件的輪詢間隔,以保證目標系統的權限模型能夠及時映射,包括:21、記錄每次模型映射的起始時間;權限模型完成映射后,返回映射完成時間;22、通過滑動窗口加權平均延遲和比例積分控制算法動態計算新輪詢間隔;23、監控延遲,將當前輪詢間隔替換為新輪詢間隔,以調整輪詢間隔,保證目標系統的權限模型能夠及時映射。24、優選的,所述通過滑動窗口加權平均延遲和比例積分控制算法動態計算新輪詢間隔,包括:25、每次權限模型映射完成后,計算時間差;其中表示映射完成時間,表示模型映射的起始時間;26、計算加權平均延遲,其中,表示滑動窗口的大小,示權重系數;表示當前時刻之前的第個時間點的時間延遲;27、計算控制變量;其中,表示目標延遲閾值,表示積分增益一,表示比例增益一;表示第個滑動窗口的平均延遲;28、計算新輪詢間隔;其中,表示當前輪詢間隔;表示輪詢間隔最大值,輪詢間隔最大值;29、如果,將當前輪詢間隔替換為,并跳過控制變量的計算。30、優選的,所述定義全局策略還包括:31、創建業務語義標簽;32、將業務語義標簽與不同目標系統的資源關聯;33、識別全局角色信息,為不同的全局角色分配不同的業務語義標簽,全局角色通過相應的業務語義標簽訪問對應的資源。34、優選的,構建多條與etl路徑并行的實時流水線對采集到的數據進行處理,包括:35、將開源流處理平臺kafka和流數據處理引擎flink結合,構建實時流水線,多條實時流水線構成流數據處理系統,以處理多條數據流;36、從不同子數據集中獲取不同類型的數據,將數據轉換為kafka支持的格式;如果目標系統僅支持批量文件傳輸,則在kafka中的設置批量文件傳輸插件,從臨時存儲區內拉取數據;37、對獲取的數據集進行清洗后,通過滑動時間窗口一實時采集數據,構成一條數據流;38、將數據流寫入預設的目標存儲區并鎖定,在flink完成狀態點檢測后解鎖目標存儲區,輸出數據;39、保持目標系統原有etl路徑;構建漸進切換策略,控制etl向實時流水線切換的過程,逐步將目標系統的etl數據處理任務切換至實時流水線。40、優選的,所述構建漸進切換策略,控制etl向實時流水線切換的過程,逐步將目標系統的etl數據處理任務切換至實時流水線,包括:41、量化切換過程中的風險指標;所述風險指標包括切換前后數據差異率、實時流水線處理延遲時間、flink檢測失敗率和下游報表生成錯誤率;42、將數據同時寫入kafka和原有的etl路徑,對比etl路徑的輸出和實時流水線的輸出,如果兩個輸出的數據差異率大于預設的差異率閾值,則停止切換;43、將非核心任務數據切換至實時流水線,核心任務數據仍然通過原有的etl路徑傳輸;44、檢測核心任務數據傳輸量,如果在預設時間段內核心任務數據傳輸量低于預設的傳輸量閾值時,則將核心任務數據切換至實時流水線,并保持原有的etl路徑個月,;45、當實時流水線處理延遲時間超過預設延遲時間閾值時,則切斷實時流水線,自動選擇原有的etl路徑傳輸數據。46、優選的,所述構建漸進切換策略,控制etl向實時流水線切換的過程,逐步將目標系統的etl數據處理任務切換至實時流水線,還包括:47、獲取實時數據處理系統輸出和etl路徑輸出;48、計算實時數據處理系統輸出和etl路徑輸出的相對熵:49、,其中,表示實時數據處理系統輸出中關鍵數據的概率分布,表示etl輸出中同一關鍵數據的概率分布;表示kullback-leibler散度;50、通過pid控制器動態調整切換過程,包括以下子步驟:51、設流入實時數據處理系統的數據的比例為:52、;53、其中,;表示比例增益二,表示積分增益二,表示微分增益;54、設置滑動時間窗口二,實時采集實時數據處理系統和etl路徑的輸出數據,計算和;55、利用和計算獲取相對熵;計算經過一個滑動時間窗口二后,流入實時數據處理系統的數據的比例的變化量,其中,為滑動時間窗口二的長度;56、通過強化學習算法ppo動態優化、、,包括以下子步驟:57、設置狀態空間,58、其中,積分項,微分項;59、設置動作空間;60、其中,比例增益二的調節量;61、積分增益二的調節量,62、微分增益的調節量;63、設置獎勵函數;64、其中,表示誤差權重,表示控制量變化懲罰,表示超調懲罰;65、超調量,表示在當前時刻之前的一個時間點流入實時數據處理系統的數據的比例;66、使用actor-critic框架構建強化學習算法,利用動作空間內元素更新狀態空間內的元素,實現對的更新;67、所述利用動作空間內元素更新狀態空間內的元素,具體為:,,;其中,、、表示更新后的比例增益二、積分增益二和微分增益。68、優選的,所述利用數據倉庫內數據創建可視化的動態報表,通過預訓練的機器學習模型對動態報表數據進行分析預測,并將預測結果寫入動態報表,包括:69、從數據倉庫中獲取不同目標系統的數據,利用bi工具tableau創建動態報表;70、加載機器學習模型,輸入不同目標系統的數據生成相應的預測結果,并寫入動態報表中;具體包括:71、從數據倉庫獲取數據,通過目標系統的識別標簽識別不同目標系統的數據;72、將不同目標系統的數據進行特征值提取后再進行標準化處理,構成目標系統特征集;73、將目標系統特征集內的元素作為輸入變量輸入到機器學習模型中,輸出預測結果;74、將預測結果寫入數據倉庫,利用bi工具從數據倉庫中讀取預測結果并寫入動態報表,對動態報表進行更新;所述機器學習模型包括時間序列預測模型lstm、二分類模型xgboost和線性回歸模型中的一種或者多種。75、一種支持多源異構數據的處理系統,包括服務器、處理器和處理器通信連接的通信模塊、數據采集接口和存儲器,所述處理器通過通信模塊與服務器連接,所述系統用于執行所述的一種支持多源異構數據的處理方法。76、本發明的有益效果:77、本發明,通過實時流水線替代傳統etl,構建漸進切換策略,控制etl向實時流水線切換的過程,逐步將目標系統的etl數據處理任務切換至實時流水線,提高了系統處理多源異構數據的實時性;使用ranger統一權限,解決了多個目標系統權限不統一的問題;通過動態調整輪詢間隔,優化了模型映射的延遲。當前第1頁12當前第1頁12