ETL作業調度-taskctl-調度工具-大數據-自動化-kettle

以下文章內容轉自:簡書

來源鏈接:https://www.jianshu.com/p/3303ffcbbdf1

taskctl是什麼?

批量調度自動化技術是大數據時代數據整合後臺不可缺少的重要技術。數據是黃金,數據是整個社會乃各企業團體的重要資產,管好數據、用好數據是整個社會的重要命題。想要用好數據,首先就應該管好數據。而批量調度自動化技術,正是管好數據的重要保證。在衆多大大小小數據倉庫、數據集市以及各種各樣的數據池子中,是批量調度自動化技術讓大量數據的進出、存放、清洗、過濾、粗加工、細加工等各種各樣的工作有序、高效的展開。沒有批量調度自動化的數據管理、數據整合等ETL工作,就像一家大公司沒有領導,所有工作必將變得紊亂、低效、失控。

沒錯,批量調度自動化技術對數據整合、對各種各樣的ETL,就像領導對公司的意義。同時,批量調度自動化技術又像優秀的職業經理人,沒有行業的限制,它是一種與業務無關的純技術體系。因此,將該技術獨立化、系統化、專業化、工具化、產品化,必將給整個ETL技術領域、數據整合領域帶來很大的幫助,讓整個數據整合技術世界變得更美好。

TASKCTL就是這樣一款批量調度自動化技術專業產品。該產品概念新穎,體系完整、功能全面、使用簡單、操作流暢,超前的設計使產品在業界獨樹一幟,它不僅有完整的調度核心、靈活的擴展,同時具備完整的應用體系。該產品特別在流程設計,流程圖展示方面與業界同類產品方案相比,不僅取得突破性的進展,而且在圖形直觀性、操作簡便性、靈活性方面有質的飛躍。


產品結構

TASKCTL自動化技術標準產品採用典型的C/S模式,應用層爲客戶端,控制層爲服務端。同時,服務端完成對目標層的調度控制。

應用層

應用層從功能的角度,主要分admin、designer和monitor。從應用渠道的角度,又分桌面客戶端渠道與後臺字符界面客戶端渠道。同時,爲了進一步方便用戶,系統服務端還提供了豐富的控制操作行命令。

控制層

控制層是多級金字塔架構,頂層爲服務控制節點,完成各種調度服務控制以及爲客戶端提供各種操作應用服務。而代理層完成與目標服務器(ETL等)的控制交互。另,代理層通過主從代理級聯方式,可實現對集羣部署的服務器進行調度控制,實現負載均衡等。

目標層

目標層,是整個產品所控制的目標,比如我們的ETL服務器,作業工作站等。

核心組件邏輯架構

產品核心是在自主創新核心技術:無數據庫存儲訪問、全事件組件間通信觸發(消息隊列)、動態數據全內存訪問的基礎上構建的。

在整個邏輯架構中,每一個組件對應一個系統進程,整個核心功能就是由不同功能的進程有序協同完成。


核心組件說明:

FDC - Flow Dispatch Core

DRR - Dispatch Request Router

DAR - Dispatch Answer Router

STR - Send Message To Remoto

KIM - Kernel Integrate Manange

NLS - Net Listten

SPS - Search Plugin State

CPG - Call Plugin

UCD - User Command Deal

EMR - Kernel Event Manange And Release

JMM - Job Mutex Manange

DSY - Data Synchronous

FIM - Flow Instance Manange

關注官方公衆微信號"taskctl",瞭解更多開發組件API及使用說明


功能體系


十大特徵功能

1.十萬級作業規模調度支持

TASKCTL從2.0開始,就定位爲企業級調度基礎軟件,能實現10萬級任務調度控制,能滿足各大企業的調度規模需求。

2.支持各種技術平臺的集成,能實現各種作業類型的調度

TASKCTL是一個開放的調度平臺,爲了適應諸如Datastage、Informatic、kettle、一體機、大數據、存儲過程、java以及各種腳本任務程序的支持與擴展,同時保證不同任務類型的應用統一,TASKCTL對作業的控制採用插件驅動機制,從而實現不同技術平臺、不同作業類型調度控制。

3.多級高可用(HA)、分佈式、負載均衡企業級特徵

爲了保證系統的高可用性、高擴展性,整個產品核心設計採用層級架構。通過"Server(調度控制中心)" + "Agent(代理)"協調工作,完成各種複雜的調度控制,同時,通過Server主備,Server和Agent分佈式集羣部署,實現高可用性與負載均衡的企業級系統特性。

4. 豐富的應用渠道、完整的應用體系

TASKCTL不僅將系統應用功能按應用類型通過Admin、Designer、Monitor三個軟件來組織與應用,同時又按不同應用渠道分C/S模式桌面客戶端、C/S模式字符界面客戶端以及B/S模式監控應用端。它們分別構成完整的應用系統,用戶可以根據自己的操作習慣與具體應用環境,選擇合適的客戶端渠道進行應用操作。

5.靈活用戶權限管理

爲了實現用戶對各個作業流程資源的操作控制,TASKCTL採用操作系統的用戶管理機制,TASKCTL將設計流程對象化、文件化,每個流程可以對擁有者、同組、其它用戶分別授予讀、寫、操作權限,這種機制可以讓用戶對不同項目的的不同流程靈活授予讀寫操作權限。

6.流程作業的多級組織架構

流程作業信息是調度的核心信息,爲了有效管理與控制這些信息,TASKCTL通過主題應用、流程(子流程)、模塊等多級體系來組織作業信息,使整個平臺的作業信息結構更清晰、更易管理、更易控制。

7.強大的核心調度功能

①靈活的流程驅動

一個作業流程的開始,可以通過文件到達觸發、自定義週期定時觸發(n分鐘、n小時、n天等)以及自定義事件觸發等。

②完整的調度控制策略

關係策略: 可以實現作業、作業流之間的並行、互斥以及任意依賴控制。特別是依賴控制,系統通過串行、單點依賴、事件依賴以及自定義條件等機制,可以實現作業流內、不同作業流、不同ETL作業服務器以及不同業務日期、不同批次間任意作業的依賴控制。

排程計劃策略: 實現任意自然日曆、邏輯日期排程計劃;一個流程內可實現自然日曆與多個邏輯日期的混合排程計劃。

容錯策略:可以實現作業錯誤後自動重跑,並可指定重跑次數,還可以實現錯誤重試次數滿後,自動決定任務是否通過或失敗。

強大的自定義策略: 一個任務是否運行、忽略以及等待,用戶可以通過自定義條件來確定。一方面,可以採用系統提供的內置函數用於條件判斷;還可以通過自定義腳本程序來實現條件判斷。

靈活的參數傳遞

用戶可以通過定義全局變量、流程私有變量來實現定義各種信息的宏替換、作業參數傳遞、流程間變量信息傳遞等。另外,TASKCTL還可實現一個任務的返回值當作另外一個任務的入口參數來傳遞。

8.全方位實時監控作業運行

爲了用戶實時瞭解作業的運行狀況,TASKCTL整體採用實時刷新、圖形、多角度多口徑統計以及短信等方式對整個平臺作業進行全方位監控,以便用戶及時掌握哪些作業正在運行、錯誤原因、失敗、警告等信息

9.靈活的人工干預維護

人工干預是自動調度系統必不可少的功能。用戶可以通過人工操作實現流程的暫停、重置、斷點設置與作業的重跑、強制成功以及忽略通過;用戶可以通過流程自由模式啓動來實現任意作業以及任意作業分支的人工運行等。

10.專業的圖形用戶界面

TASKCTL的圖形用戶界面能夠完成上述的所有功能。它將衆多功能集成於一個直觀的圖形界面中,使得用戶不用熟悉各種命令、作業定義語言等,就可迅速掌握與使用,進一步方便了用戶。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章