TWI649690B - Integration of distributed computing engine modules and control of interactive interface analysis modules system - Google Patents

Integration of distributed computing engine modules and control of interactive interface analysis modules system Download PDF

Info

Publication number
TWI649690B
TWI649690B TW106124753A TW106124753A TWI649690B TW I649690 B TWI649690 B TW I649690B TW 106124753 A TW106124753 A TW 106124753A TW 106124753 A TW106124753 A TW 106124753A TW I649690 B TWI649690 B TW I649690B
Authority
TW
Taiwan
Prior art keywords
module
data
working
interactive interface
control system
Prior art date
Application number
TW106124753A
Other languages
English (en)
Other versions
TW201908948A (zh
Inventor
施晨揚
陳韋志
邱建晴
Original Assignee
優像數位媒體科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 優像數位媒體科技股份有限公司 filed Critical 優像數位媒體科技股份有限公司
Priority to TW106124753A priority Critical patent/TWI649690B/zh
Application granted granted Critical
Publication of TWI649690B publication Critical patent/TWI649690B/zh
Publication of TW201908948A publication Critical patent/TW201908948A/zh

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本發明係揭露一種整合分散式運算引擎模組及互動式介面分析模組之控制系統,其包含一互動式介面分析模組、一排程模組以及一分散式運算引擎。互動式介面分析模組用以接收一輸入訊息,並將其轉換成一處理指令。排程模組可管理工作模組在工作排程內所被執行之時間及順序,且這些工作模組在工作排程內之執行工作可形成一待處理資料。分散式運算引擎模組包含複數個資料運算主機,其可根據待處理資料以決定所需之該些資料運算主機之個數,並由資料運算主機平行化處理待處理資料。其中,此互動式介面分析模組係設定分散式運算引擎模組作為其運算引擎。

Description

整合分散式運算引擎模組及互動式介面分析模組之控制 系統
本發明是有關於一種控制系統,特別是有關於一種整合分散式運算引擎模組及互動式介面分析模組之控制系統
Jupyter是一種互動式的計算介面,其前身為ipython,可支援多種程式語言運算引擎(Kernel),如Python2,Python3,R,Ruby等等,亦支援簡單的排版語法及撰寫數學式排版。其最大的特點在於同時結合了「程序處理」與「輸出展示」,前者透過Jupyter notebook interface來達成,後者則可透過nbconvert來達成,簡單地來說,使用者可以透過此計算介面來達到資料探索、資料展示、教學探討及分享等等,例如可以在Jupyter上設計一課程,其內容包含從互動式介面輸入資料、套入理論公式及視覺化的呈現等等。
由於Jupyter的開發環境極為友善,許多使用者均會使用此開發工具開發欲上線之產品。然而,此欲上線之產品在Jupyter與實際執行環境卻可能具有極大的差異,其原因在於實際執行環境裡所處理之資料量、程式穩定性、程式可靠性之需求均大不相同於在Jupyter上的開發環境。舉例來說,若此產品屬於機械學習相關之領域時,在其上線營運之後,可能會因自我學習而隨時間增長其所需要的資源。故即使是在Jupyter上已開發且測試完畢之產品,在實際 進行上線測試時,仍可能需要進行程式移植之調整,甚至是重新進行開發此產品。
然而,這樣的產品開發方式將會產生極大的問題,舉例來說,當無法在短時間內將測試完成的演算法或商品直接導入上線時,可能面臨違約、商品功能不齊、移植成本過高、無法及時發揮效益或是毀及商譽等重大問題。
綜觀前所述,是故,本發明之發明人經多年苦心潛心研究、思索並設計一種整合分散式運算引擎模組及互動式介面分析工具之控制系統,以針對現有技術之缺失加以改善,進而增進產業上之實施利用。
基於上述目的,本發明係提供一種整合分散式運算引擎模組及互動式介面分析模組之控制系統,此控制系統包含一互動式介面分析模組、一排程模組以及一分散式運算引擎。互動式介面分析模組可用以接收一使用者輸入之一輸入訊息,並將此輸入訊息轉換成一處理指令。排程模組係用以接收此處理指令並根據此處理指令新增、置換或更新至少一工作模組至工作排程中,此外,此排程模組可管理此至少一工作模組在工作排程內所被執行之時間及順序,且此至少一工作模組在工作排程之執行工作係形成一待處理資料。其中,此至少一工作模組係包含一記錄工作模組、一錯誤處理工作模組以及一數據產生模組。分散式運算引擎模組係包含複數個資料運算主機,其係根據待處理資料以決定所需之該些資料運算主機之個數,並由該些資料運算主機平行化處理此待處理資料。其中,此互動式介面分析模組係設定分散式運算引擎模組作為其預設之運算引擎。
較佳地,此互動式介面分析模組係包含Jupyter、Datalab、 Zeppelin以及Shiny。
較佳地,此分散式運算引擎模組係包含Hadoop以及Apache Spark。
較佳地,每一工作模組係儲存於一雲端空間,且每一工作模組係提供相對應之一雲端路徑,以供排程模組對此至少一工作模組進行新增、置換或更新之設定。
較佳地,每一工作模組之輸入格式及輸出格式係經過事先定義。
較佳地,當工作排程中之前後該些工作模組之輸入格式或輸出格式出現異常時,此排程模組係產生一錯誤訊息。
較佳地,此錯誤處理工作模組係偵測排程模組是否產生錯誤訊息,若是,此錯誤處理工作模組係產生並傳送一預警通知訊息。
較佳地,此記錄工作模組係用以記錄該些工作模組之執行過程。
較佳地,此數據產生模組係允許透過互動式介面分析模組直接存取儲存於雲端空間上之資料。
100‧‧‧控制系統
10‧‧‧互動式介面分析模組
11‧‧‧輸入訊息
12‧‧‧處理指令
20‧‧‧排程模組
21‧‧‧工作模組
211‧‧‧記錄工作模組
212‧‧‧錯誤處理工作模組
213‧‧‧數據產生模組
22‧‧‧工作排程
23‧‧‧待處理資料
30‧‧‧分散式運算引擎模組
31‧‧‧資料運算主機
40‧‧‧雲端
第1圖係為本發明之整合分散式運算引擎模組及互動式介面分析模組之控制系統之方塊圖。
為利 貴審查員瞭解本發明之技術特徵、內容與優點及其 所能達成之功效,茲將本發明配合附圖,並以實施例之表達形式詳細說明如下,而其中所使用之圖式,其主旨僅為示意及輔助說明書之用,未必為本發明實施後之真實比例與精準配置,故不應就所附之圖式的比例與配置關係侷限本發明於實際實施上的專利範圍,合先敘明。
請參閱第1圖,係為本發明之整合分散式運算引擎模組及互動式介面分析模組之控制系統之方塊圖。如圖所示,此控制系統100可包含一互動式介面分析模組10、一排程模組20以及一分散式運算引擎模組30。其中此控制系統100可以為一電腦主機,且可透過網際網路以連線至儲存有多個工作模組21之一雲端40。在本實施例中,互動式介面分析模組10及分散式運算引擎模組30係以Jupyter及Apache Spark來舉例實施,但並不以此為限,此互動式介面分析模組10亦可包含Datalab、Zeppelin或Shiny,而分散式運算引擎模組30則可包含Hadoop。
在本發明之實施例中,互動式介面分析模組10可用以接收一使用者輸入之輸入訊息11,並可將此輸入訊息11轉換成一處理指令12。舉例來說,此輸入訊息11可以為”100*2000=?”,而其所對應之處理指令12則為一轉譯過後之機械指令或二進制指令。
接著,排程模組20可用以接收此處理指令12並根據此處理指令12新增、置換或更新至少一工作模組21至工作排程22中,其中此工作模組21可包含一記錄工作模組211、一錯誤處理工作模組212以及一數據產生模組213。此排程模組20可用以管理上述之工作模組21在工作排程22內所被執行之時間及順序,且此工作模組21在工作排程22內之執行工作係形成一待處理資料23。在本發明之實施例中,此排程模組20可以為Jupyter內之一Data Pipeline Definition Notebook,並 透過其來規劃所有工作模組21的執行。
值得一提的是,本實施例之工作模組21係以記錄工作模組211、錯誤處理工作模組212以及數據產生模組213來舉例實施,但不以此為限,亦可以包含不同功能之模組,如數據查詢模組、資料統計模組或是資料呈現模組,使用者可視實際需求加入不同的工作模組21,進而達到產品模組化之目的。
分散式運算引擎模組30可包含由複數個資料運算主機31形成的一平行運算叢集(Parallel Computing Cluster),此分散式運算引擎模組30可接收排程模組20之要求,例如處理待處理資料23,而分散式運算引擎模組30可進一步地決定所需要之資料運算主機31個數,並由這些資料運算主機31平行化地處理待處理資料23。
進一步地說明,每一資料運算主機31上可包含一代理單元(Agent),其負責監看所在資料運算主機31之工作負載情況,當其工作負載情況近乎滿載時,代理單元可通知分散式運算引擎模組30此資料運算主機31無法再接收任何工作,此時分散式運算引擎模組30便會指定其他閒置或工作負載情況未達滿載之資料運算主機31,以達到平行處理資料之目的。
值得一提的是,在本發明中,互動式介面分析模組10需設定此分散式運算引擎模組30作為其預設之運算引擎。舉例來說,即將Jupyter Notebook的運算引擎置換成PySpark,簡要地來說,首先需設定Spark Configuration來控制資源使用,以取得合理比例的系統資源,並將Spark相關設定值設置為系統參數,如SPARK_HOME,SPARK_LOCAL_DIRS及SPARK_WORKER_DIR,接著,需設定Jupyter Notebook在啟動時取得Spark RDD context,並在執行convert 成Python Script的Notebook時,設定預設之kernel_name為pyspark,使PySpark成為Jupyter Notebook的預設運算引擎。
透過上述的方式,互動式介面分析模組10便可以依據實際商品所要服務之規模大小來調整系統資源。當此商品處在開發階段、上線階段或是營運階段時,此互動式介面分析模組10可以接收使用者的輸入,進而決定所需要的資源。如此一來,使用者便可以不用為了資料量或系統穩定度來進行程式的移植或是重新建立平台,進而可縮短產品上線的時程。
此外,在上述實施例中,每一工作模組21係儲存在雲端40上之一空間,每一工作模組21可包含不同之資料及應用程式,且每一工作模組21在雲端40上具有相對應之一雲端路徑。排程模組20只需記錄每一工作模組21所對應之雲端路徑,便可以進行新增、置換或更新所需之工作模組21。
在一較佳的實施例中,每一工作模組21之輸入格式及輸出格式均需經過事先定義,如此一來,若當排程模組20要將工作模組A加入至工作排程22中之工作模組B之後時,只需確認工作模組A的輸入格式以及其位於雲端40上之雲端路徑,便可以順利地將工作模組A加入至工作模組B之後。更進一步地,每一工作模組21內之功能修改亦不需通知其他的工作模組,進而完成實際模組化之目的。
以Jupyter為例,其執行模組之方式是透過nbconvert功能將Notebook轉換為可執行的Python script,並透過nbconvert之ExecutePreprocessor功能來執行Notebook內所含之程式。而透過此種執行的方式,可以達到對單一Notebook進行錯誤處理(Error handling)以及再試(retry)之功能,以及達到使用多執行緒(multi-thread)技術來同 時執行多個模組之效果。
承上,若是當工作排程22中之前後工作模組21之輸入格式或輸出格式出現異常時,則排程模組20便會產生一錯誤訊息24。此時,錯誤處理工作模組212將會偵測到此排程模組20所產生之錯誤訊息24,並由此錯誤處理工作模組212產生並傳送一預警通知訊息,其中此預警通知訊息可以透過其他系統之協作通訊軟體,如Slack,以及其所提供之Python API來達成傳送此預警通知訊息給特定人員之目的,進而達到即時錯誤預警之功能。
在一實施例中,工作排程22中之記錄工作模組211可用以記錄所有其他工作模組21之執行過程,以達到保存系統執行之完整運算歷程,以Jupyter來說,其實際操作方式可透過nbformat功能來達到擷取其他工作模組21之執行過程,並將擷取到之結果透過StringIO寫入到另一個result-Notebook,進而達到保存每一工作模組21之執行結果。
在一較佳實施例中,工作模組21可以包含數據產生模組213,其係允許透過互動式介面分析模組10直接存取儲存於雲端40上之資料,以Jupyter Notebook為例,其簡報模式(Dashboard Mode)可透過互動式網頁的形式來提供使用者直接存取儲存於雲端40上之資料,如此一來,使用者便可以即時地從互動式介面分析模組10產出所需要的數據或報表。
由上述可以得知,本發明之整合分散式運算引擎模組及互動式介面分析模組之控制系統係具有以下優點。
1、可實際應用於研發階段以及上線階段,其解決了習知技藝中在不同階段需切換不同工作,或是在不同階段及不同運算量需求時 需設計不同運行架構之問題。
2、互動式介面分析模組搭配模組化設計,可發揮出容錯、排程、錯誤示警及記錄產出等在維運或上線時才會使用到之模組。
3、將工作模組置於雲端上,可減少本地之儲存及運算成本,而有效地處理相對巨量之資料運算。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。

Claims (8)

  1. 一種整合分散式運算引擎模組及互動式介面分析模組之控制系統,係包含:一互動式介面分析模組,係用以接收一使用者輸入之一輸入訊息,並將該輸入訊息剖析成一處理指令;一排程模組,係用以接收該處理指令並根據該處理指令新增、置換或更新至少一工作模組至一工作排程中,該排程模組係管理該至少一工作模組在該工作排程內所被執行之時間及順序,且該至少一工作模組在該工作排程之執行工作係形成一待處理資料,其中該至少一工作模組係包含一記錄工作模組、一錯誤處理工作模組以及一數據產生模組;以及一分散式運算引擎模組,係包含複數個資料運算主機,其中該分散式運算引擎模組係根據該待處理資料以決定所需之該些資料運算主機之個數,並由該些資料運算主機平行化處理該待處理資料;其中該互動式介面分析模組係設定該分散式運算引擎模組作為其預設之運算引擎,且該互動式介面分析模組包含Jupyter、Datalab、Zeppelin以及Shiny。
  2. 如申請專利範圍第1項所述之控制系統,其中該分散式運算引擎模組係包含Hadoop以及Apache Spark。
  3. 如申請專利範圍第1項所述之控制系統,其中每一該至少一工作模組係儲存於雲端空間,且每一該至少一工作模組係提供相對應之一雲端路徑,以供該排程模組對該至少一工作模組進行新增、置換或更新之設定。
  4. 如申請專利範圍第3項所述之控制系統,其中每一該至少一工作模組之輸入格式及輸出格式係經過事先定義。
  5. 如申請專利範圍第4項所述之控制系統,其中當該工作排程中之前後該些工作模組之輸入格式或輸出格式出現異常時,該排程模組係產生一錯誤訊息。
  6. 如申請專利範圍第5項所述之控制系統,其中該錯誤處理工作模組係偵測該排程模組是否產生該錯誤訊息,若是,該錯誤處理工作模組係產生並傳送一預警通知訊息。
  7. 如申請專利範圍第1項所述之控制系統,其中該記錄工作模組係用以記錄該些工作模組之執行過程。
  8. 如申請專利範圍第1項所述之控制系統,其中 該數據產生模組係允許透過該互動式介面分析模組直接存取儲存於雲端空間上之資料。
TW106124753A 2017-07-24 2017-07-24 Integration of distributed computing engine modules and control of interactive interface analysis modules system TWI649690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106124753A TWI649690B (zh) 2017-07-24 2017-07-24 Integration of distributed computing engine modules and control of interactive interface analysis modules system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106124753A TWI649690B (zh) 2017-07-24 2017-07-24 Integration of distributed computing engine modules and control of interactive interface analysis modules system

Publications (2)

Publication Number Publication Date
TWI649690B true TWI649690B (zh) 2019-02-01
TW201908948A TW201908948A (zh) 2019-03-01

Family

ID=66213832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106124753A TWI649690B (zh) 2017-07-24 2017-07-24 Integration of distributed computing engine modules and control of interactive interface analysis modules system

Country Status (1)

Country Link
TW (1) TWI649690B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150269085A1 (en) * 2014-03-18 2015-09-24 International Business Machines Corporation Managing processing associated with selected architectural facilities
TWM512868U (zh) * 2015-06-02 2015-11-21 Zheng-Yi Chen 智慧型雲端行動通訊評量分析系統
TW201600970A (zh) * 2014-06-17 2016-01-01 丹C 康 整合化系統羣及虛擬化和雲端運算系統的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150269085A1 (en) * 2014-03-18 2015-09-24 International Business Machines Corporation Managing processing associated with selected architectural facilities
TW201600970A (zh) * 2014-06-17 2016-01-01 丹C 康 整合化系統羣及虛擬化和雲端運算系統的方法
TWM512868U (zh) * 2015-06-02 2015-11-21 Zheng-Yi Chen 智慧型雲端行動通訊評量分析系統

Also Published As

Publication number Publication date
TW201908948A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
US10360141B2 (en) Automated application test system
US8108466B2 (en) Automated offloading of user-defined functions to a high performance computing system
US20100162230A1 (en) Distributed computing system for large-scale data handling
US11327726B2 (en) Workflow engine tool
US10249197B2 (en) Method and system for mission planning via formal verification and supervisory controller synthesis
US10402195B2 (en) Framework for supporting multiple analytic runtimes
JP2009288864A (ja) 仮想マシンの入出力エミュレーション機構
US20140258250A1 (en) Flexible Control Framework Featuring Standalone Rule Engine
US10929162B2 (en) Virtual machine container for applications
WO2018000878A1 (zh) 分布式任务处理方法和装置
WO2023226197A1 (zh) 基于kubernetes的云原生存储方法、装置、设备及介质
US20140067887A1 (en) Grid Computing System Alongside A Distributed File System Architecture
Soderi et al. Advanced analytics as a service in smart factories
US10394529B2 (en) Development platform of mobile native applications
TWI649690B (zh) Integration of distributed computing engine modules and control of interactive interface analysis modules system
CN110908994B (zh) 数据模型处理方法、系统、电子设备及可读介质
US9384120B2 (en) Testing of transaction tracking software
US20200089484A1 (en) Virtual machine update while keeping devices attached to the virtual machine
US10649743B2 (en) Application developing method and system
US20210286785A1 (en) Graph-based application performance optimization platform for cloud computing environment
US9298449B2 (en) Composite program history
CN114327648B (zh) 一种驱动调试方法、装置、电子设备及存储介质
US20220066794A1 (en) Robotic process automation data connector
JP6833442B2 (ja) クライアント装置、及び、制御システム
Sartoni AWS Services for Cloud Robotics Applications

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees