金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

以下內容轉自網絡

來源:公衆號"taskctl"

1.前言

批量處理是銀行業整個信息後臺最爲重要的技術形態,也是銀行核心信息資產數據的分享、傳輸、演化的重要技術手段。有調查指出,全球70%的數據是經過批量處理得以再次使用,可見批量處理在整個信息生態中的技術佔比與重要性。

銀行業經過多年的信息化建設,逐步建立起幾十甚至幾百個信息系統,其中,絕大多數系統後臺都具備有不同規模的作業批量處理,總體批量作業數已發展成幾千到幾萬這樣的一個龐大規模。隨着大數據時代的到來,特別是在數據倉庫、大數據平臺的帶動下,這樣的規模還將快速發展,其批量作業數規模也必將產生數量級的增長變化。

銀行面對如此多的系統、批量作業數以及可期的快速增長未來,讓批量處理最爲重要的技術-批量調度走向獨立化、系統化、專業化以及平臺化,是非常有必要的。批量調度不僅是批量處理的動力中樞,也是整個批量處理的管理入口,因此,建立一個規範專業的批量作業調度技術平臺,建立一個統一的批量作業調度運維管理平臺,不僅可以從架構層面優化企業整個後臺批量體系,減少IT技術異構風險,爲數據安全提供更可靠的技術保障,還可以加快具體系統構建速度,提升系統運維效率,降低運維風險。批量調度技術體系的專業化、平臺化、統一化,不僅是一個系統建設,更是銀行IT基礎設施平臺的建設,爲銀行整個IT建設健康高效發展提供堅實的基礎。

2.批量調度現狀分析

2.1.目前主要實現方式

目前,由於銀行內部缺乏一款專業批量產品支撐,缺乏一定的批量調度規範與標準,使銀行內部幾十上百個系統相關批量調度實時混亂。這種現象不僅體現在銀行不同系統之間,甚至體現在同一系統的不同建設週期之間。

2.1.1.應用系統內置,手工調度調度

目前,在銀行內有很多系統的後臺批量處理,無論從後臺調度層面,還是前臺應用層面,都與業務系統本身高度耦合,而且調度觸發啓動主要是靠人工發起。造成這種局面的原因一方面是銀行缺乏統一的調度規範體系,另一方面,站在整個應用系統的角度,批量調度本身比重不大。

這種方案帶來的直接後果體現在兩個方面:一是因高度耦合,擴展不易;二是主要靠人工調度,相對較耗人力資源,而且因人工操作,可能會引入更多人爲誤操作的風險。

2.1.2.採用操作系統Crontab方式調度

這種方式主要是依靠操作系統的定時機制,實現作業運行的自動化。這種方式容易引起依賴關係錯誤對業務構成威脅。同時,無法實現作業容錯機制,在運行過程,一旦發生作業錯誤,需大量的人工介入處理。

2.1.3.項目組自行開發調度軟件

該方案主要根據項目具體的需求以及結合調度的規模,設計並實施不同程度的調度。對於小規模的系統,通常編寫簡單的shell即可實時調度,弱化調度的管理性、監控性等潛在需求;對於規模較大的系統,實施者通常站在整個項目的高度,綜合分析項目的各種調度需求,通過一系列分析設計,構建一個相對規模的調度系統,並建立與之匹配的監控管理等應用系統。

此方案可由項目自由實施,可客戶化一些具有項目特色調度管理系統,與項目現有情況結合比較密切。但是,這種方案容易受項目的侷限,系統擴展也非常困難。

2.1.4.利用現有ETL工具的調度功能

隨着銀行信息化發展,特別是數據倉庫的建立,並以此爲基礎建立的更多數據類、管理類系統,或多或少都在採用一些專業的ETL工具來實現批量處理,並結合工具本身的調度組件完成相應批量調度處理工作。

工具舉例如下:

1、Datastage工具:我們採用其sequrence job實現流程開發,通過對sequrencejob執行,從而完成調度。

2、Informatic工具:我們採用其workflow實現流程開發,通過對workflow的執行,從而完成調度。

3、Kettle工具:我們採用其kjb實現流程的開發,通過對kjb的執行,從而完成調度。

2.2.批量調度現狀統計

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

2.3.批量調度現狀主要問題

根據以上對銀行批量現狀的列舉分析,其問題主要體現在以下三個方面:

問題一:批量調度建設雜亂

調度方式衆多,手工調度、操作系統定時、應用系統內置、多種獨立調度系統、多種第三方工具等,由於缺乏具體的標準,當數量與規模發展到一定程度,無論是管理與擴展都比較難。

問題二:實施及運維管理較難

方式多,功能不統一,信息不統一,管理孤立於各個系統,專業度參差不齊,技能難以複製。這造項目中不斷重複建設、技術不斷重複學習,管理難以統一協調。總之,沒有專業統一的技術,無論是項目實施建設,還是具體生產運維管理,相應工作的開展都非常困難。

問題三:技術與管理潛在風險較大

風險主要體現在兩方面:一是技術帶來的穩定性風險,由於缺乏統一專業的技術支撐,任由各個系統自由無序的建設,站在全行的角度,調度的穩定性是難有技術保障的。另一方面,缺乏統一的應用接口,統一的操作界面,使運維管理缺乏統一的操作流程,站在全行的角度,整個批量管理是無序的,其管理風險一定會隨着銀行批量規模的增大而增大。

2.4.面臨的未來挑戰

缺乏統一專業的批量調度平臺,隨着銀行的IT深入發展,即將面臨兩大挑戰:

挑戰一:難以完整實現銀行企業級統一運維管理平臺建設

銀行衆多的系統以及龐大的IT設施,爲了保障全行IT的高效穩定的運轉,從各個緯度逐步建設統一的綜合運維管理平臺是個不可逆轉的大趨勢。而對決定銀行70%的數據運行與變化的批量調度的統一監控管理,一定是必不可少的重要組成部分。然而,對批量調度而言,建設統一監控管理平臺,沒有統一專業的調度技術平臺做支撐,是難以實現的。

挑戰二:難以支撐未來大數據的批量作業常態化、規模化發展

在IT時代,雖然銀行後臺批量處理規模已經很大,但相對於銀行整體IT系統建設而言,其規模與比重還不大,建設頻度也不高。然而,對於已經開啓的大數據時代、DT時代,在一切以數據爲驅動的建設模式下,數據整合是常態、批量處理是常態、批量調度是常態。可以說,有數據地方就離不開批量,而且,未來批量無論從數量還是規模比重,都不是過去可比擬的,如果缺乏專業統一的調度技術,是很難支撐未來常態化、規模化的批量發展,很難支撐未來更多以數據整合爲基礎的應用創新。

3.批量調度統一建設目標與意義

3.1.批量調度統一平臺的兩大建設目標

批量調度技術像任何基礎技術平臺、中間件技術平臺一樣,首先基於流程化、自動化的作業調度技術問題,其次是對該技術應用、管理以及技術應用的監控問題。我們對批量調度統一平臺的建設目標也是以這兩個問題的確立的,分別是批量調度技術統一工具平臺,其次是批量調度統一監控管理平臺。

● 目標一:批量調度統一技術工具平臺:技術工具平臺主要爲各個系統提供批量調度流程化、自動化的調度技術服務。其主要使用用戶爲系統實施、改造的技術人員。在項目實施過程當中,通過專業的技術平臺,使技術人員更快捷、更專業、更靈活、更規範地完成各個系統具體批量作業調度需求。

● 目標二:批量調度統一監控管理平臺:監控管理平臺主要爲系統運維管理人員提供平臺化服務。通過統一視圖、統一監控、統一預警以及更多的分析管理功能,使運維人員可以快捷、高效地完成對各個系統批量處理的維護、監控、管理等工作,可以更爲有效地確保全行批量後臺的整體運行。

● 兩者關係:技術工具平臺偏向技術應用,監控管理平臺偏向管理應用。監控管理平臺是技術平臺的更高層次的應用延展,也是整個批量處理的更高層次的應用訴求;而技術平臺的專業化、統一化,是統一監控平臺得以實現的基礎。

3.2.兩大目標的具體意義與價值

總的意義與價值:進一步完善銀行後臺IT技術基礎設施,爲未來更多的IT建設與應用創新奠定堅實的基礎。

3.2.1.批量調度技術統一工具平臺意義

建立一款具有統一技術與規範的調度技術工具平臺,對銀行整體統一批量調度建設,具有以下五點意義:

(一)建立專業統一的批量作業調度技術平臺,是建立批量作業調度統一監控的基礎。

由於技術原因、歷史原因,目前銀行批量調度技術缺乏一定的規範與標準,很難提供統一接口,並在此基礎上建立一個統一監控平臺。只有一個專業、完善、統一的技術平臺,纔可以建立一個完善的統一監控平臺。

(二)建立專業統一的批量作業調度技術平臺,爲企業建立批量後臺統一驅動中樞

數據是企業的資產,批量系統是整合數據的重要支撐,而調度則是批量的靈魂,企業所有的批量整合數據都靠調度來驅動。建立一套統一、專業且功能完善的技術平臺,可以爲銀行70%的數據運行的安全性、可靠性提供更高的技術保障。

(三)建立專業統一的批量作業調度技術平臺,提升各個應用系統的實施效率

銀行諸多系統的升級、改造、重構以及新建,都離不開批量調度的建設與應用。一套具有統一規範、功能完整、安全可靠的批量調度技術平臺,不僅可以減少項目實施的工作量,提升各個應用系統的實施效率,還可以大幅度提高各個系統批量處理的實施質量。

(四)建立專業統一的批量作業調度技術平臺,提升企業整個後臺批量處理效率

銀行後臺批量整體效率,直接決定銀行對客戶服務效率與質量。而銀行大部分批量處理都存在上下游關係,由於目前缺乏統一專業的調度技術,很難統一協調上下游批量處理關係,從而造成了一定批量時間窗口浪費。建立一套具備靈活的系統間觸發機制的統一調度技術平臺,可以有效編排不同系統批量處理的時間窗口,並大幅度提升銀行後臺整體批量調度效率。

(五)建立專業統一的批量作業調度技術平臺,減少人工操作,提高生產力,保障數據運行安全

由於缺乏一個專業易用的調度技術平臺,目前銀行很多系統調度都採用人工操作,這不僅浪費人力,同時,因人爲操作因誤操作、漏操作,均帶來一定的潛在風險。建立一套以自動化技術爲核心的批量作業調度技術平臺,不僅減少人工操作,提高生產力,還降低大量的人爲風險,進一步保障數據運行安全。

3.2.2.批量調度統一監控管理平臺意義

在各系統統一批量調度技術工具平臺基礎上,建立銀行批量調度統一監控運維管理平臺,對銀行整體統一批量調度建設,具有以下三點意義:

(一)建立統一的批量作業調度監控管理平臺,是銀行後臺綜合統一運維管理平臺不可或缺的重要一環

爲保障銀行龐大的IT設施環境運行,從各個緯度建立一個統一的監控體系,建立一個完善統一的監控運維平臺,是銀行IT發展的必然趨勢,而其中對批量調度的統一監控,可以說是最爲重要的一環。數據作爲銀行的核心資產,其中70%以上是通過批量調度運行得到,爲了保障銀行70%的數據運行穩定與安全,建立一套行之有效的統一批量調度監控平臺,是非常有必要的。

(二)建立統一的批量作業調度監控管理平臺,提升運維管理效率,降低運維管理風險。

企業後臺運維,很大一部分工作是與批量相關、與批量調度相關。將分散到各個系統的運維管理應用,集中到一個統一平臺,進行統一展示、統一監控並提供統一的操作運維窗口,不僅可以成倍提高運維管理效率,還可以加快問題處理響應速度,從而降低運維管理風險。

(三)建立統一的批量作業調度監控管理平臺,增強批量作業調度情況的可分析能力。

通過統一的批量作業調度監控管理平臺的建設,可以將企業各系統的批量調度處理相關數據信息,完整地集中到一個統一平臺,爲開展各種調度以及作業處理的分析,奠定堅實的技術基礎。

4.建設過程中關鍵點與主要問題

批量調度是一個與業務無關的純技術應用體系,同時,業界也有相應發展多年的技術產品,並積累了一定的技術經驗。但站在銀行的角度,面臨如此多的應用系統以及各種複雜的技術應用場景,要想建立一個適應銀行各個系統應用,並可實現全行統一監控的有效批量調度應用體系,在現有的諸多技術經驗基礎上,還得解決以下幾個關鍵問題:

(一)調度技術體系與統一監控管理體系的分離

目前,諸多的批量調度解決方案,批量調度與監控應用管理,高度耦合,使統一監控與各系統的獨立調度難以拆分,使每個系統的調度應用難以獨立開展,進而阻礙了全行更多系統的推廣應用。唯有將調度技術體系與監控管理體系的徹底分離,纔可保證各個項目在統一技術標準的基礎上獨立使用,並在完全保證各系統的獨立自主的基礎上,實現全行級統一監控管理。

(二)以流程圖爲核心的可視化實用性要求

系統應用可視化,是決定批量調度應用成功與否的關鍵,而流程圖的可視化是整個批量調度應用可視化的核心,因爲,批量調度的技術核心就是圍繞着成千上萬作業有序化運行展開的。但目前絕大數方案當作業數上升到一定量級,作業關係展示就非常凌亂,失去可視化的實用性。怎樣使成千上萬作業的主要序列關係清晰展示,也是本課題的關鍵問題之一。

(三)作業流程設計的專業化工具平臺

在統一規範的技術平臺技術上,每個系統根據自身批量作業調度需求,設計每個系統獨自的作業調度流,是銀行整個批量系統應用的關鍵應用場景。設計一個專業易用的作業調度流設計平臺,可以大幅度提升每個系統具體實施時的用戶體驗,可以大幅度降低諸多系統的推廣應用成本。

(四)作業類型支持的統一性與可擴展性

銀行現有批量作業類型非常複雜,有各種技術平臺腳本、SQL、存儲過程以及各種ETL工具的作業,未來,還不可避免引入更多新的技術平臺來完成各種批量作業。爲了保證對各種作業類型的調度驅動,必須建立一套具有統一接口並開放的的作業驅動模式,纔可保證調度平臺的長期推廣應用。

5、方案介紹

5.1.總體方案

5.1.1.方案總體架構

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

方案總體架構

整個方案通過在每個系統獨立部署調度技術平臺,並實施每個系統獨立批量調度控制需求。在此基礎上,全統一部署一套批量調度監控平臺,以實現全行級統一批量調度監控管理需求。

監控管理平臺與分佈在各個系統上的調度技術平臺通過tcpip方式信息,向上實現從技術平臺到管理平臺的調度相關數據的實時同步,向下實現從管理平臺到技術平臺的各個人工操作控制指令。

監控平臺採用基於web的bs模式實現各種應用。技術平臺服務是由純C語言的服務程序構成,而且技術平臺可以通過標準客戶端,並以CS模式連接,實現對每個技術平臺的獨立應用。

5.1.2.方案總體特徵

整個方案具有兩個重要特徵:

低耦合:獨立調度、統一監控

系統採用獨立調度、統一監控的架構設計,徹底解除底層自動化調度技術與應用操作之間的偶;解除批量調度生產系統與系統監管平臺之間的偶;解除不同系統之間自動化調度技術的偶,既可實現每個系統調度自動化的獨立自主應用需求,又可實現全行幾十上百個系統的批量調度統一監控、統一視圖、統一管理等需求。

多渠道:字符、命令行、桌面圖形、BS多種應用客戶端

整個平臺解決方案,爲了滿足不同應用場景、不同角色的應用需求,分別設計多種渠道應用客戶端。首先從整體平臺體系結構上,分別具有BS應用體系與CS應用體系。BS模式是站在統一運維監控的角度應用。而CS模式完全站在技術平臺,獨立項目的角度應用。同時,對於CS模式還具有更精細的渠道應用設計,不僅將系統應用功能按應用類型通過Admin、Designer、Monitor三個軟件來組織與應用,同時又按不同應用渠道分前臺桌面客戶端與後臺字符界面客戶端,它們分別構成完整的應用系統。用戶可以根據自己的操作習慣與具體應用環境,選擇合適的客戶端渠道進行應用操作。

5.2.調度技術工具平臺

5.2.1.技術平臺總體架構

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

技術總體架構

整個技術平臺採用典型的CS模式,應用層爲客戶端,控制層爲服務端。同時,服務端完成對目標層的調度控制。

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

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

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

通過應用層與控制層的結合,及標準的客戶端與服務端,可以實現技術平臺的獨立完整使用。即可適應每個項目的獨立調度使用,又可實現多個項目統一調度使用。

5.2.2.技術平臺核心邏輯架構

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

技術平臺核心邏輯

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

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

具體核心組件說明:

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

組件說明

5.2.3.技術平臺多種應用部署解決方案

5.2.3.1.普通單項目應用部署方案

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

單項目應用部署方案

該部署方案是絕大數系統批量調度應用的部署方案。其特徵是無需獨立服務器,只需在具體應用系統的批量或相應ETL服務器上部署技術平臺Server即可。

用戶可以直接通過技術平臺標準客戶端(圖形客戶端、字符界面客戶端)操作管理對應的調度系統。

5.2.3.2.多ETL服務器項目羣部署方案

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

多ETL服務器項目羣部署方案

該部署方案主要針對具有多個批量處理服務器或多個ETL服務器的應用系統。在具體部署時,首先需要部署一個獨立技術平臺Server,並在多個具體的批量或ETL服務器上部署技術平臺核心代理Agent組件,通過Server與Agent之間通信實現對具批量或ETL服務器部署的作業的調度。

用戶可以直接通過技術平臺標準客戶端(圖形客戶端、字符界面客戶端)操作管理,並實現調度管理,以及各個ETL服務器上作業的運行監控。

5.2.3.3.簡易企業級多項目統一調度、統一管理部署方案

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

統一管理部署方案

該方案部署本質是與多ETL服務器項目羣部署一致。同樣是獨立部署技術平臺Server,在不同系統的具體批量服務器上部署代理。Server通過agent實現各個系統的具體作業的調度控制處理。

這種方案是一種簡易的企業級多項目統一調度、統一監控、統一展示、統一管理方案。

該方案主要優點是可以簡單快捷實現多項目企業級統一調度管理,其缺點一是每個項目不能獨立自主,受制於統一的調度服務器,第二是應用管理功能相對較弱,一些客戶化應用功能難以實現;

5.2.4.技術平臺特徵優勢

TASKCTL調度技術平臺不僅僅強調能完成各種不同的調度處理等核心功能,更強調用戶怎麼使用調度等友好的用戶體驗,整個產品設計概念創新、亮點衆多、優勢突出。

高可靠:全方位的高可靠技術平臺

系統核心技術平臺,調度服務器與執行代理,分別採用主備機制與集羣機制,可實現從調度服務器到代理的全方位高可靠,從而解決整個核心的單點故障問題。服務主備保證服務體系的故障連續性,代理集羣不僅解決代理到作業服務器的故障連續性,同時還實現作業服務器的負載均衡。

自主:唯一無數據庫與第三方中間件

TASKCTL技術平臺是全球整個業界唯一無數據庫、第三方中間件的專業作業自動化技術平臺。無論是數據存儲、內存計算、消息通信都是獨立自主研發完成。這種完全獨立自主的研發,無疑使整個產品的設計難度成倍增長,但同時這種成倍的難度,也倒逼我們做更多的技術創新。

高效:調度性能數量及優勢

無數據庫、全內存計算、靈活的消息通信是我們高效的基礎,這種不一樣的技術基因促使我們的調度性能與諸多同類軟件具備數量級優勢。目前大部分同類產品的調度吞吐量爲1個/秒,而我們調度可以輕鬆突破40個/秒。

節省:建設成本百萬級節省

在傳統觀念中,銀行全行級調度建設,無疑是一個高投入的項目,它的建設需要依賴更多的資源支撐,需要多個數據庫服務器、調度服務器以及更多的第三方軟件投入,這些依賴成本輕鬆突破百萬。而TASKCTL解決方案,因建立在簡潔高效的核心基礎上,無需獨立數據庫服務器、高性能的調度服務器以及無需第三方軟件等,這對大型調度建設方案來說,節約百萬級的成本投入,是一件非常輕鬆的事。

可視化:可視化最徹底的流圖

可視化的目的是直觀,並在直觀的基礎上操作便捷。對於批量作業調度,可視化的核心無疑是對作業的展示、關係展示等。TASKCTL採用全新的信息組織模式,以及流程繪圖的全新算法,具有‘全自動排版’、線條‘永無交叉’、關係‘永遠清晰’等特徵。相比傳統交叉、排版不清具備明顯的優勢。

開放:公開透明的插件擴展

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

友好:唯一IDE環境設計作業

一個調度系統,用戶羣角色較多,其技術開發人員可以說是主要使用人羣,且作業設計也是一個最爲重要的應用場景。傳統諸多軟件採用簡單的對話框方式,無法滿足實際應用訴求,迫使用戶採用excel方式。而TASKCTL採用獨特的理念,通過設計一個完整的IDE環境,用戶可以通過該環境輕鬆實現作業的定義與設計,使整個系統應用變得更爲友好。

簡單:深入骨髓的極簡主義

功能完整是基本,簡單易用纔是王道。TASKCTL一切站在用戶的立場,從內核到應用均奉行極簡主義,無論是無數據設計還是IDE設計,成倍的產品設計難度倒逼了我們更多的技術創新,這也是構建我們易用的基礎,也是突破諸多應用場景易用性瓶頸的技術支撐。其中產品的5分鐘內快速安裝、調試、部署到位是整個業界絕無僅有的。

5.2.5.技術平臺功能體系

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

功能體系

完整的核心調度功能

技術工具平臺核心主要可以完成串行、並行、依賴、互斥、執行計劃、定時、容錯、循環、條件分支、遠程、負載均衡、自定義條件等各種不同的核心調度功能。

直觀的圖形界面系統

根據不同的功能分類,技術工具平臺將客戶端分爲Admin(平臺管理)、Designer(流程集成開發環境)、Monitor(流程監控管理)三套不同的軟件。

● Admin:平臺節點管理、任務類型管理、工程管理、應用設置、全局變量管理以及流程導入導出等功能。

● Designer:平臺流程代碼信息管理、代碼設計編輯、流程圖形編輯、規則語法實時檢測功能以及編譯發佈等功能。

● Monitor:圖形方式監控、多角度統計監控、流程啓停重置、任務鎖定、任務重做、信息對象查詢等

完整的字符界面系統

字符界面客戶端系統與桌面圖形軟件對應,也分相應的三套軟件完成對應的功能。字符界面系統相比桌面系統,直觀性、可操作性相對弱些,但功能完整性比桌面系統更強

靈活的擴展功能

技術工具平臺本身具備完善的調度、管理、監控等功能體系,是一個獨立的應用平臺,同時也是一個開放的平臺,具備很強的擴展性。在技術上我們主要通過一系列核心接口函數實現擴展。

5.2.5.1.調度服務核心功能

核心調度功能是調度平臺最核心、也是最基本功能,它決定了產品可以完成什麼樣的自動化調度。

● 串行調度 串行調度即依賴調度,依賴調度是調度軟件最基本的功能,它決定任務之間的執行順序關係。如果A任務依賴B任務,A任務必須讓B任務執行成功可以執行A。

● 並行調度 並行調度也是調度最基本的功能,它表示並行任務之間可以同時運行。

● 互斥調度 互斥調度是指兩個任務不可以同時執行,A與B互斥,A執行時B不能執行,B執行時A不能執行。

● 執行計劃調度 執行計劃指時間執行計劃,這在ETL處理中是尤爲重要的,比如任務按日執行、按周執行、按月執行都是屬於執行計劃。執行計劃在ETL中,有兩種方式,一種是按邏輯業務日期制定計劃;一種是按自然日期制定計劃。TASKCTL-CIR在一個流程可以同時支持兩種計劃的處理。

● 容錯策略調度 錯誤任務自動處理是調度平臺的一種容錯機制。它決定調度後續方向;CIR對於錯誤的任務有兩種處理機制,一是自動在一定時間間隔後重跑,當達到用戶定義的最大重複次數時任務都未成功。表示所有依賴該任務的相關任務都不能處理;二是可以根據用戶定義,選擇在任務出錯時忽略錯誤,流程繼續往下運行。

● 斷點續跑 斷點續跑指流程因任務失敗被迫中斷時,經過人工處理後,流程會自動從中斷的地方繼續往下運行。

● 任務循環調度 循環調度是指在一個批次處理時,我們可以根據用戶定義循環次數實現對某個任務循環調度。

● 條件分支調度 條件分支類似程序設計時,根據某個判斷,決定執行哪個流程分支。

● 遠程任務調度 遠程任務調度是調度核心通過部署在遠程代理對遠程任務進行控制調度。它可以對部署在不同主機的任務通過統一流程進行統一管理並調度。

● 負載均衡調度 負載均衡指任務通過代理集羣部署,調度可以分派任務到集羣內相對空閒的主機,從而達到調度對流程負載均衡處理的功能。另外,調度是不能實現對同一個任務分派到不同主機執行的功能。任務是調度的最小力度單元。負載均衡只是站在整個流程的角度上考量的。通過調度的負載均衡部署,可以將多個並行任務分派到不同主機,避免在一臺主機上同時並行執行多個任務,從而造成主機負載過重。

● 自定義條件調度 核心調度在技術上的本質,就是確定一個任務的執行條件。判斷任務之間依賴併發等就是屬於執行條件之一。其實,調度核心對任務的執行條件遠非只有依賴併發這些條件,我們根據實際經驗,歸納總結了很多條件,比如:執行計劃、互斥、容錯處理等均屬於任務的執行條件,但是總結歸納是有限的,變化是無限的,在一些複雜情況下,總會存在一些不可確定的執行條件。爲此,我們在衆多可總結的條件基礎上,增加了用戶自定義條件接口,以滿足不可確定的調度需求,從而也使CIR核心調度體系得以完善。

5.2.5.2.客戶端應用功能

應用功能是建立在覈心功能基礎上,通過客戶端工具軟件來實現,它決定了用戶怎麼使用調度平臺。

5.2.5.2.1.桌面系統與字符界面系統的關係與區別

桌面系統軟件與字符界面系統軟件均爲調度平臺獨立應用體系,它們均從不同的用戶對象以及不同的應用場景通過三套不同的軟件實現。該三套軟件分別爲:

  • l Admin 平臺綜合管理軟件
  • l Designer(後臺爲Flowc)流程設計管理軟件
  • l Monitor 調度監控管理軟件

以上不同渠道的三套軟件關係爲:

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

另外,前後臺均具有以上三套客戶端軟件,均爲獨立應用體系,但前後還是存在一定的區別,主要表現爲:

(一)前臺桌面軟件比後臺軟件更直觀

由於不同展示技術的原因,前臺採用圖形方式,而後臺採用字符方式,因此在一些展示功能方面以及操作便捷方面,前臺比後臺更具優勢。

(二)後臺軟件比前臺桌面軟件功能更全面

但如果只從功能角度,後臺比前臺更爲全面,有些深層次的應用,前臺可能不具有,但後臺有相關的應用。

總之,前後臺雖然都是獨立的應用體系,但都存在不同的優劣勢,應用者可以根據不同的應用場景選擇不同的系統,或者兩者配合使用,以快捷達到應用目的爲宗旨。

5.2.5.2.2.圖形客戶端-Admin

該模塊軟件主要應用於系統初始化以及平臺規劃管理,其主要功能爲包括:平臺節點管理、任務類型管理、工程管理、應用設置、全局變量管理以及流程導入導出等。

(一)平臺節點管理界面

該界面主要用於定義核心節點,即EM節點、Server調度服務節點以及代理節點與這些節點之間的關係。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(二)任務類型管理界面

通過該界面,用戶可以定義自己的任務類型,包括該任務的類型名稱、返回值定義、驅動插件程序名稱、缺省參數、以及該類型在流程圖中顯示的圖標等信息。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.2.5.2.3.圖形客戶端- Designer

該軟件主要應用於調度流程設計。該軟件的設計打破了傳統採用表單對話框或圖形拖拽加屬性對話框的方式。而是採用開發的理念,以面向用戶具有一定語法規則文本代碼爲核心,並可同步實現圖形配置的方式進行流程設計。用戶可以結合自身對流程代碼的理解深度以及操作習慣,既可以通過圖形對話框的方式設計,又可以通過編輯性很強的文本代碼方式進行設計開發。該方式杜絕傳統藉助諸如第三方Excel補充配置方案,使平臺對流程的配置設計以及流程管理真正達到系統級的應用統一。

(一)流程集成開發環境主界面

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(二)代碼設計窗口

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(三)流程圖形編輯窗口

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(四)執行計劃編輯窗口

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.2.5.2.4.圖形客戶端- Monitor

該軟件主要用於調度流程監控以及運行維護,其主要功能包括:圖形監控、多角度統計監控、信息查詢以及相關流程運維處理等。其中流程運維處理主要指流程啓停、任務重跑等。

(一)監控平臺軟件主界面

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(二)圖形監控界面

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(三)定時器監控界面

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

(四)作業列表統計監控操作界面

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.統一監控管理平臺

批量調度統一監控管理,是完全站在銀行運維監控的角度設計的應用平臺。該平臺的應用是以獨立的調度技術平臺爲基礎,並可實現多個技術平臺,多個批量調度應用系統的統一監控運維管理。

5.3.1.統一監控平臺總體架構

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.統一監控平臺功能體系

5.3.2.1.首頁-總覽平臺監控信息

該頁從全局角度去展示當前調度作業的調度狀態總體情況;分爲4塊展示:作業概況、作業排程、消息警告、節點信息;

作業概況:從不同作業運行狀態統計數量,分別爲作業成功、作業未運行、作業正在運行、作業警告、作業錯誤。

作業排程:統計當天不同時間段運行的作業數量。

消息警告:統計作業異常、平臺異常、提醒、通知消息4個維度的異常數量;

節點信息:統計節點服務器的CPU運行消耗數據;

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.2.企業系統全局時間窗口

展示企業級內所有系統在當天調度監控內的時間運行範圍。更直觀地展示了系統運行窗口,促使能夠合理地優化系統之間的調度時間安排;

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.3.圖形監控

從不同角度模塊、容器,監控當前作業運行狀態統計的總體概覽;並且支持對作業的執行操作,例如任務鎖定、強制通過、運行任務等。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.4.網絡拓撲

監控各個節點的運行情況,列表展示當前網絡內各個節點的節點信息:節點名稱、節點IP、節點端口、節點狀態、節點CPU、節點硬盤佔用情況、虛擬資源、節點作業數。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.5.消息異常

列表展示所有異常消息詳細信息:消息類型、消息日期、消息描述;

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

5.3.2.6.TOP執行最久作業

選擇需要統計某個系統、某個時間段內運行耗時最長的作業,然後展示出作業的詳細信息,包括:作業的執行代理節點、作業所屬系統、作業流名稱、作業名稱、作業執行代理節點的CPU概況等。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

5.3.2.7.TOP歷史出錯率最高作業

選擇需要統計某個系統、某個時間段內出錯率最高的作業,然後展示出系統名稱、容器、作業名稱、作業運行批次、作業運行錯誤次數。

金融服務(銀行證券機構方向)etl批量作業集羣統一調度平臺搭建

 

6、規劃與實施

近年來,隨着銀行業務不斷深入拓展,爲了更好的支撐業務的發展,各大銀行陸續建設了一批管理類應用系統,包括數據倉庫系統、績效考覈系統、統一監管報送平臺、資產負債系統,以及正在建設中的管理會計等多個業務系統。爲了保障這些系統的正常運行,部署了各種批量處理調度。

由於這些業務平臺都是由不同廠家在不同時期分批建設的。因此基本都各自採用了不同的批量調度方案,有的採用ETL工具Datastage自帶的調度方案,有的是應用系統自身開發的調度方案,還有的採購了額外的調度工具等等。在一定時間的運行使用過程中,問題逐漸暴露出來。

以上這些現象,根本原因在於部分銀行前期的規劃與實施中,沒有統一規劃,合理有效的實施中造成。主要在兩大平臺方面:調度技術工具平臺、統一調度監控平臺。

6.1.主要實施內容

6.1.1.批量調度統一平臺基礎設施建設

6.1.1.1.調度技術工具平臺

由於調度技術工具不統一、分散、各自系統獨自建設,維護;存在調度系統重複建設嚴重,浪費人力資源開發;調度系統越多,技術體系就會越複雜。導致科技部人員在學習和運維上的壓力越來越大。

不同廠商所採用的調度產品差異化很大。大多數在穩定性、易用性以及專業性以及調度效率都難以做到面面俱到,有的甚至還有比較嚴重的缺陷。

所以批量調度技術是與業務、系統無關的純技術體系,其專業化、規範化與其它中間件一樣,具有底層基礎建設意義;十分有必要建設一個純調度技術工具平臺。

6.1.1.2.統一調度監控平臺

不同廠商的調度平臺協同性差,造成不同應用平臺之間難以做到統一跑批調度。平臺之間的依賴關係只能通過人工額外去處理,無法系統化管理。

站在全行IT設施管理的角度,對各系統批量調度技術體系進行統一監管,是企業綜合統一監控管理平臺不可或缺的重要組成部分;對企業級應用能夠更高效的規範管理,起到提升工作效率,節省企業運行運維成本。

6.1.2.全行各應用系統批量調度應用推廣

6.1.2.1.主要推廣應用系統規劃

在批量調度應用建設推廣過程中,需要由銀行內部高層管理人員負責抓此項目工作,從管理和技術貫徹公司意圖,嚴把質量關,同時銀行科技人員也要積極主動,自始自終參與技術標準、規範的制定工作。

6.1.2.2.調度應用推廣主要方式

批量調度應用推廣主要是集中在對技術平臺的應用,技術上實現讓每個具體的應用系統採用統一的技術平臺來實現批量調度。在實施過程中主要有兩種方式:原系統調度切換、新系統技術應用;

原系統調度切換,主要是對已經上線,正在生產運行中的系統的技術替換應用;產品提供商主導實施,銀行客戶自我主導實施。

新系統技術應用,對於銀行內部即將要升級改造,或者新建系統的技術應用推廣;第三方服務商主導實施。

6.1.2.3.調度應用推廣過程的關鍵點

爲了保證原系統切換過程中生產平穩過度,必須注意以下幾點:

作業的完整統計:必須完整統計原有系統中存在哪些作業,不能遺漏任何一個作業;

作業控制方式統計:1、有幾種作業類型;2、作業的調用方式;3、作業入口參數;4、作業的返回值;

作業的關係梳理:切換中的最大風險主要體現在關係梳理上,必須保證原來系統的作業關係不變基礎上,纔可根據具體業務屬性優化調整關係。

6.2.實施規劃原則建議

俗話說羅馬不是一天建成的。任務平臺系統的建設不是一下子就能建成的,都需要一個循序漸進的過程,調度應用建設需要一個分期建設原則。

原則一,縱向平臺分期建設;需要先技術平臺建設,後管理平臺建設;技術平臺是核心,只要把技術平臺建設好,纔可能以此爲基礎建設成一個統一的監控管理平臺。

原則二,橫向推廣分期建設;應用推廣主要基於技術平臺進行,耍銀行涉及批量的系統衆多,無論是從風險的角度,還是大量系統應用實施科學的角度,都必須分期進行。

6.3.實施計劃建議

實施計劃建議劃分爲三個階段:試點階段、平臺完善階段、全面推廣階段。

試點階段,批量應用建設第一期,先期實施一個典型的項目應用,最好選擇數據類、調度作業輕量級的系統,主要集中在調度技術平臺建設;比如CRM客戶關係管理系統。實施方由產品原廠商主導實施,銀行方面協助建設。建設週期1~2個月。

平臺完善階段,批量應用建設第二期,最好選擇數據類、批量作業集中的系統,比如ECIF、ODS等傳統業務系統,應用企業級監控平臺建設;實施方由產品原成商、銀行科技人員共同配合建設。建設週期3個月。第二期建設後,銀行科技人員能夠完成自主建設。

全面推廣階段,批量應用建設第三期,是一個長期的自主建設過程。銀行科技人員自主完成應用到更多系統升級,或者應用到新建系統,或者自主主導應用到第三方集成商開發的新系統。

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