TW201734827A - Cloud batch scheduling system and batch management server computer program product thereof used for assigning the jobs of the execution server according to the measured data, the blueprint job file and the group classification setting file - Google Patents

Cloud batch scheduling system and batch management server computer program product thereof used for assigning the jobs of the execution server according to the measured data, the blueprint job file and the group classification setting file Download PDF

Info

Publication number
TW201734827A
TW201734827A TW105109135A TW105109135A TW201734827A TW 201734827 A TW201734827 A TW 201734827A TW 105109135 A TW105109135 A TW 105109135A TW 105109135 A TW105109135 A TW 105109135A TW 201734827 A TW201734827 A TW 201734827A
Authority
TW
Taiwan
Prior art keywords
batch
work
blueprint
execution
management server
Prior art date
Application number
TW105109135A
Other languages
Chinese (zh)
Other versions
TWI594131B (en
Inventor
sheng-xiang Hong
Original Assignee
Chunghwa Telecom Co Ltd
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 Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Priority to TW105109135A priority Critical patent/TWI594131B/en
Application granted granted Critical
Publication of TWI594131B publication Critical patent/TWI594131B/en
Publication of TW201734827A publication Critical patent/TW201734827A/en

Links

Abstract

The present invention provides a cloud batch scheduling system and a batch management server computer program product thereof. An execution server of the system is used for executing a plurality of jobs, while a management server is used for Internet connection and assigning jobs for the execution server. For software modules in the management server, for example, a resource monitoring and measuring module is used for providing measured data after accessing and analyzing execution information of the execution server. A blueprint-type job execution process engine is used for dispatching blueprint jobs. A batch group classification module is used for classifying batch groups of the blueprint job so as to provide a group classification setting file. A dynamic batch job dispatching module is used for dynamically dispatching jobs in batches by calculating the load capability of the execution server according to the measured data, the blueprint job file and the group classification setting file after receiving the blueprint job.

Description

雲端批次排程系統及其批次管理伺服器電腦程式產品 Cloud batch scheduling system and its batch management server computer program product

本發明係一種雲端批次排程系統及其批次管理伺服器電腦程式產品,尤指一種使用藍圖分派技術之端批次排程系統及其批次管理伺服器電腦程式產品。 The invention relates to a cloud batch scheduling system and a batch management server computer program product thereof, in particular to an end batch scheduling system using a blueprint distribution technology and a batch management server computer program product thereof.

現行之企業為節省建置電腦設備以及管理人員之開銷,多選擇向雲端服務商租用伺服機房,並將需進行運算之工作或所需提供之線上服務架設於伺服機房上。 In order to save the cost of building computer equipment and management personnel, the current enterprises choose to rent the servo room to the cloud service provider, and install the online service that needs to be performed or required to be provided in the server room.

而當工作內容為批次作業時,傳統的批次排程系統在運作上多透過呼叫遠端執行主機來執行排程工作,並將執行結果整合至排程伺服器供管理者檢視。由於現今雲端商業運算需求日益複雜,例如:雲端系統需支援複雜的執行工作流程、排程工作間的高複用性、以及多種執行環境(各種類型的程式開發語言、作業系統),使得過去僅提供單一種批次程式類型之批次排程系統已無法滿足現行之需求。 When the work content is batch operation, the traditional batch scheduling system is operated by calling the remote execution host to perform the scheduling work, and the execution result is integrated into the scheduling server for the administrator to view. Due to the increasing complexity of today's cloud computing business requirements, for example, cloud systems need to support complex execution workflows, high reusability of scheduling workspaces, and multiple execution environments (various types of programming languages, operating systems), making the past only Batch scheduling systems that offer a single batch program type are no longer sufficient for current needs.

綜上所述,如何提供一種可解上述技術問題之手段乃本領域亟需解決之技術問題。 In summary, how to provide a means for solving the above technical problems is a technical problem that needs to be solved in the field.

為解決前揭之問題,本發明之目的係提供一種藉由藍圖分派技術來分派伺服器工作之技術手段。 In order to solve the problems disclosed above, it is an object of the present invention to provide a technical means for dispatching a server to work by a blueprint dispatching technique.

為達上述目的,本發明提出一種雲端批次排程系統。該系統包含至少一個執行伺服器以及管理伺服器,前述之執行伺服器用於執行複數個工作,而管理伺服器用於連線並配置執行伺服器之工作。前述之管理伺服器更包含通訊埠、記憶體以及處理器,通訊埠用以通訊連接執行伺服器,處理器連接通訊埠以及記憶體,並於執行工作分配下則呼叫及執行批次記憶體內的管理伺服器軟體模組,前述之批次管理伺服器軟體模組包含資源監控及量測模組、藍圖式工作執行流程引擎、批次群組分類模組、以及動態分派批次工作模組。資源監控及量測模組用於存取並分析執行伺服器之執行資訊後並提供量測數據。藍圖式工作執行流程引擎用於派送藍圖工作,前述之藍圖工作係由藍圖定義檔進行分派之工作,而藍圖定義檔係為工作間之執行順序構成之節點集合所形成之藍圖結構。批次群組分類模組則對藍圖工作進行批次群組分類,以提供群組分類設定檔。動態分派批次工作模組在接收藍圖工作後會依據量測數據、藍圖工作檔、群組分類設定檔,以計算執行伺服器之負載量,來動態批次分配工作。 To achieve the above object, the present invention provides a cloud batch scheduling system. The system includes at least one execution server for performing a plurality of tasks, and a management server for wiring and configuring the execution of the server. The foregoing management server further comprises a communication port, a memory and a processor, the communication port is used for the communication connection execution server, the processor is connected to the communication port and the memory, and the call is performed and the batch memory is executed under the execution of the work distribution. The management server software module, the batch management server software module includes a resource monitoring and measurement module, a blueprint work execution process engine, a batch group classification module, and a dynamic dispatch batch work module. The resource monitoring and measurement module is used to access and analyze the execution information of the execution server and provide measurement data. The blueprint work execution process engine is used to dispatch blueprint work. The blueprint work described above is assigned by the blueprint definition file, and the blueprint definition file is the blueprint structure formed by the set of nodes formed by the execution order of the work room. The batch group classification module performs batch group classification on the blueprint work to provide a group classification profile. The dynamic dispatch batch work module will dynamically calculate the workload according to the measurement data, the blueprint work file, and the group classification profile after receiving the blueprint work to calculate the load of the execution server to dynamically batch the work.

為達上述目的,本發明更提出一種用於雲端批次排程系統之批次管理伺服器電腦程式產品,此電腦程式產品應用並執行於管理伺服器,前述之管理伺服器係用於連線並配置至少一個執行伺服器執行複數個工作。批次管理伺服器電腦程式產品包含資源監控及量測模組、藍圖式工作執行流程引擎、批次群組分類模組、以及動態分派批次工作模組。資源監控及量測模組用於存取並分析執行伺服器之執行資訊以提供量測數據。藍圖式工作執行流程引擎用於派送藍圖工作,前述之藍圖工作係由藍圖定義檔進行分派之工作,而藍圖定義檔係為工作間之執行順序構成之節點集 合所形成之藍圖結構。批次群組分類模組則對藍圖工作進行批次群組分類,以提供群組分類設定檔。動態分派批次工作模組在接收藍圖工作後會依據量測數據、藍圖工作檔、群組分類設定檔,以計算執行伺服器之負載量,來動態批次分配工作。 In order to achieve the above object, the present invention further provides a batch management server computer program product for a cloud batch scheduling system, the computer program product is applied and executed on a management server, and the foregoing management server is used for connection. And configuring at least one execution server to perform a plurality of tasks. The batch management server computer program product includes a resource monitoring and measurement module, a blueprint work execution process engine, a batch group classification module, and a dynamic dispatch batch work module. The resource monitoring and measurement module is used to access and analyze execution information of the execution server to provide measurement data. The blueprint work execution process engine is used to dispatch the blueprint work. The blueprint work described above is assigned by the blueprint definition file, and the blueprint definition file is the node set formed by the execution order of the work room. The blueprint structure formed by the combination. The batch group classification module performs batch group classification on the blueprint work to provide a group classification profile. The dynamic dispatch batch work module will dynamically calculate the workload according to the measurement data, the blueprint work file, and the group classification profile after receiving the blueprint work to calculate the load of the execution server to dynamically batch the work.

綜上所述,本發明之雲端批次排程系統及其批次管理伺服器電腦程式產品透過藍圖分派技術得以有效率的將工作進行較佳之分派,以提昇雲端伺服器之處理效能。 In summary, the cloud batch scheduling system and the batch management server computer program product of the present invention can efficiently distribute the work through the blueprint distribution technology to improve the processing performance of the cloud server.

100‧‧‧執行伺服器端 100‧‧‧Execution server side

110‧‧‧批次執行代理程式模組 110‧‧‧ batch execution agent module

111‧‧‧執行結果收集模組 111‧‧‧Execution result collection module

120‧‧‧自動擴展批次伺服器模組 120‧‧‧Automatic Extended Batch Server Module

200‧‧‧管理伺服器端 200‧‧‧Manage server side

210‧‧‧批次管理伺服器軟體模組 210‧‧‧Batch Management Server Software Module

211‧‧‧資源監控及量測模組 211‧‧‧Resource monitoring and measurement module

212‧‧‧藍圖式工作執行流程引擎 212‧‧‧Blueprint Work Execution Process Engine

213‧‧‧批次群組分類模組 213‧‧‧Batch group classification module

214‧‧‧動態分派批次工作模組 214‧‧‧Dynamic Dispatch Batch Work Module

圖1係為本發明雲端批次排程系統之系統平台示意圖。 FIG. 1 is a schematic diagram of a system platform of a cloud batch scheduling system according to the present invention.

圖2係為本發明藍圖結構之示意圖。 Figure 2 is a schematic diagram of the blueprint structure of the present invention.

圖3係為本發明分散式工作執行流程之流程圖。 3 is a flow chart of the decentralized work execution flow of the present invention.

圖4係為本發明動態擴展批次伺服器流程之流程圖。 4 is a flow chart of the process of dynamically expanding a batch server according to the present invention.

以下將描述具體之實施例以說明本發明之實施態樣,惟其並非用以限制本發明所欲保護之範疇。 The specific embodiments are described below to illustrate the embodiments of the invention, but are not intended to limit the scope of the invention.

請參閱圖1,其為本發明雲端批次排程系統之系統平台示意圖。前述之系統包含執行伺服器端100以及管理伺服器端200,前述之執行伺服器端100包含了至少一個執行伺服器,而管理伺服器端200亦包含了至少一個管理伺服器,伺服器端可依工作負載量來調整工作伺服器之數量。 Please refer to FIG. 1 , which is a schematic diagram of a system platform of a cloud batch scheduling system according to the present invention. The foregoing system includes an execution server terminal 100 and a management server terminal 200. The foregoing execution server terminal 100 includes at least one execution server, and the management server terminal 200 also includes at least one management server, and the server terminal can be Adjust the number of working servers according to the workload.

執行伺服器包含批次執行代理程式模組110(代理程式:Agent),以及自動擴展批次伺服器模組120等軟體模組,批次執行代理程式 模組110內部設有執行結果收集模組111。執行伺服器包含通訊埠、記憶體、處理器等硬體元件,通訊埠用以通訊連接前述之管理伺服器,記憶體包含一個或多個軟體模組,而處理器連接通訊埠以及記憶體,並於執行時則呼叫及執行記憶體內之軟體模組。前述之批次執行代理程式模組110用於執行由管理伺服器分配過來的工作,而執行結果收集模組111則是定期將批次程式執行資訊以及系統資源資訊同步給管理伺服器。前述之執行資訊包含記憶體使用率、硬碟耗用量以及批次程式執行個數。自動擴展批次伺服器模組120在每次批次程式被分配執行的代理程式前,先行檢查資源是否不足,不足時則會擴展代理程式之數量。 The execution server includes a batch execution agent module 110 (agent: Agent), and a software module such as an automatic extension batch server module 120, and a batch execution agent. An execution result collection module 111 is disposed inside the module 110. The execution server includes hardware components such as a communication port, a memory, a processor, and the like, and the communication port is used to communicate with the foregoing management server. The memory includes one or more software modules, and the processor is connected to the communication port and the memory. At the time of execution, the software module in the memory is called and executed. The batch execution agent module 110 is configured to execute the work assigned by the management server, and the execution result collection module 111 periodically synchronizes the batch program execution information and the system resource information to the management server. The foregoing execution information includes memory usage, hard disk consumption, and number of batch program executions. The automatic extension batch server module 120 checks whether the resources are insufficient before each batch program is assigned to execute the agent, and expands the number of agents when insufficient.

管理伺服器包含通訊埠、記憶體、處理器等硬體元件,通訊埠用以通訊連接前述之執行伺服器,記憶體包含批次管理伺服器軟體模組210,而處理器連接通訊埠以及記憶體,並於執行工作分配下則呼叫及執行批次管理伺服器軟體模組210。前述之批次管理伺服器軟體模組210包含了下列之軟體模組:資源監控及量測模組211、藍圖式工作執行流程引擎212、批次群組分類模組213,以及動態分派批次工作模組214。批次管理伺服器軟體模組210用於分派及分類工作、收集執行資訊並分析、工作流程控制,並提供使用端工作管理介面以設定工作定義檔、藍圖定義檔、群組分類設定檔、排程設定檔,前述之定義檔以及設定檔可為實體的文件檔案(txt檔),或資料庫檔案(DB檔)。 The management server includes a hardware component such as a communication port, a memory, a processor, a communication port for communicating with the foregoing execution server, the memory includes a batch management server software module 210, and the processor is connected to the communication port and the memory. And the batch management server software module 210 is called and executed under the execution of the assignment. The foregoing batch management server software module 210 includes the following software modules: a resource monitoring and measurement module 211, a blueprint work execution flow engine 212, a batch group classification module 213, and a dynamic dispatch batch. Work module 214. The batch management server software module 210 is used for dispatching and classifying work, collecting execution information and analysis, workflow control, and providing a working-side management interface to set a work definition file, a blueprint definition file, a group classification profile, and a row. The program profile, the aforementioned profile and profile can be a physical file file (txt file), or a database file (DB file).

於另一實施例中,前述之批次管理伺服器軟體模組210係為批次管理伺服器電腦程式產品,批次管理伺服器電腦程式產品可由C、C++、Java、等程式語言所撰寫,惟程式語言之類型不在此限。 In another embodiment, the batch management server software module 210 is a batch management server computer program product, and the batch management server computer program product can be written in a programming language such as C, C++, Java, or the like. However, the type of programming language is not limited to this.

前述之工作定義檔用於定義所需執行之工作,定義範圍包含了工作撰寫的程式語言、工作的中文描述、設定參數是否有預設值、參數個數等,前述之定義內容係作為排程工作時參考的初始化資料。 The foregoing work definition file is used to define the work to be performed. The definition scope includes the programming language of the work writing, the Chinese description of the work, whether the setting parameters have preset values, the number of parameters, etc., and the foregoing definition content is used as a schedule. Initialization data referenced during work.

藍圖定義檔係為工作間之執行順序構成之節點集合所形成之藍圖結構。請參閱圖2之說明,前述工作間的執行順序構成節點1透過參數1連結節點2,節點(n-1)透過參數(n-1)連結節點n的藍圖結構,前述之藍圖結構包含定期、不定期執行時間。 The blueprint definition file is a blueprint structure formed by a set of nodes formed by the execution order of the work room. Referring to the description of FIG. 2, the execution sequence of the foregoing working room constitutes that the node 1 connects the node 2 through the parameter 1, and the node (n-1) connects the blueprint structure of the node n through the parameter (n-1). The blueprint structure includes the periodicity. Unscheduled execution time.

群組分類設定檔係針對藍圖工作進行分類,限定工作執行於特定的分配資源。而排程設定檔則是針對藍圖進行排程,排程資訊包含預計執行時間、使用端輸入的參數值、是否執行完後寄發通知、執行的程式語言等。 The group classification setting file classifies the blueprint work, and the limited work is performed on a specific allocated resource. The scheduling profile is scheduled for the blueprint. The scheduling information includes the expected execution time, the parameter value input by the user terminal, whether to send the notification after execution, and the programming language to be executed.

資源監控及量測模組211存取並分析執行伺服器之執行資訊,以提供量測數據。藍圖式工作執行流程引擎212用於派送藍圖工作,前述之藍圖工作係由藍圖定義檔進行分派之工作,而藍圖定義檔係為工作間之執行順序構成之節點集合所形成之藍圖結構;批次群組分類模組213對藍圖工作進行批次群組分類,以提供群組分類設定檔;動態分派批次工作模組214係接收藍圖工作,並依據量測數據、藍圖工作檔、群組分類設定檔,以計算執行伺服器之負載量,來動態批次分配工作至對應之執行伺服器(例如將工作分配給負載量最輕之該執行伺服器)。 The resource monitoring and measurement module 211 accesses and analyzes execution information of the execution server to provide measurement data. The blueprint work execution flow engine 212 is used for dispatching blueprint work, the blueprint work described above is assigned by the blueprint definition file, and the blueprint definition file is the blueprint structure formed by the node set formed by the execution order of the work; The group classification module 213 performs batch group classification on the blueprint work to provide a group classification profile; the dynamic dispatch batch work module 214 receives the blueprint work, and according to the measurement data, the blueprint work file, and the group classification. The profile is used to calculate the load of the execution server to dynamically batch assign work to the corresponding execution server (eg, assign work to the execution server with the lightest load).

請共同參閱圖1、3、4之說明,其為本發明之一實施態樣。使用端透過批次管理伺服器模組提供的工作管理介面新增工作設定,工作新增後產生相對應的工作設定檔(如下表所示),例如:使用端新增JOB1、 JOB2、JOB3三個不同的批次工作,並分別相對應的產生三份不同的工作設定檔,工作設定檔包含了撰寫的程式語言、中文描述、參數是否有預設值、參數個數等基本的工作資訊,其中JOB1需要兩個參數,而第二個參數並未設定預設值。 Please refer to the description of Figures 1, 3 and 4 together, which is an embodiment of the present invention. The working terminal adds work settings through the work management interface provided by the batch management server module. After the work is added, the corresponding work configuration file is generated (as shown in the following table). For example, the user adds JOB1. JOB2 and JOB3 work in three different batches, and correspondingly generate three different job profiles. The job profile contains the written programming language, Chinese description, whether the parameters have preset values, and the number of parameters. Job information, where JOB1 requires two parameters, and the second parameter does not set a preset value.

工作設定檔 Work profile

工作設定後,使用端再透過工作管理介面新增藍圖工作設定,並且輸入藍圖工作執行時會使用到的參數值,最後排程預定的執行時間,也相應產生藍圖設定檔和排程設定檔。例如:使用端設定了兩個藍圖,藍圖BPT1設定為JOB1→JOB2,代表執行順序分別為JOB1執行成功後執行JOB2,最後設定藍圖BPT001定期性的於每月10點30分執行。藍圖BPT2設定為單一個JOB3,並且設定藍圖BPT2不定期單一次執行2015年2月3號9點30分執行,執行完後發送通知。 After the work is set, the use terminal adds the blueprint work setting through the work management interface, and inputs the parameter value that will be used when the blueprint work is executed, and the scheduled execution time of the last schedule also generates the blueprint profile and the schedule profile accordingly. For example, the blueprint BPT1 is set to JOB1→JOB2, the execution order is JOB1 after the execution of JOB1 is successful, and the blueprint BPT001 is set periodically at 10:30 every month. The blueprint BPT2 is set to a single JOB3, and the blueprint BPT2 is set to perform at a time of 9:30 on February 3, 2015, and the notification is sent after execution.

藍圖設定檔 Blueprint profile

使用端亦可選擇性的設定批次群組分類模組213,設定完後會產生相對應的群組分類設定檔,例如:目前有JOB1、JOB2、JOB3三支批次程式,JOB1和JOB2被使用分類模組歸為同一群組GROUP1,GROUP1被加入限定規則,只能被執行在名為AGENT1的機器上,並且當系統記憶體使用率達到80%就會被強制暫停,暫停至使用率低於80%,而JOB3就沒有任何群組沒有任何限制。 The batch group can also selectively set the batch group classification module 213. After the setting, the corresponding group classification profile will be generated. For example, there are three batch programs of JOB1, JOB2 and JOB3, and JOB1 and JOB2 are The classification module is classified into the same group GROUP1, and GROUP1 is added to the qualification rule, which can only be executed on a machine named AGENT1, and will be forced to suspend when the system memory usage reaches 80%, pause to low usage rate. At 80%, there is no limit to any group in JOB3.

群組分類設定檔 Group classification profile

圖3為本發明之分散式工作執行流程之流程圖,伺服器在藍圖BPT1 2015年2月3號9點30分執行時間一到後,則會觸發開始程序,藍圖式執行工作執行流程引擎啟動使用端設定的藍圖工作流程(S101),首先判斷是否還有藍圖工作等待執行(S102),JOB1首先被執行,接著取得使用端當初排程的設定資訊(S103),包含參數值。每台Agent上的執行結果收集模組 111會定期將批次程式執行資訊以及系統資源資訊同步給監控及量測模組,伺服器透過監控及量測模組取得批次相關資訊(S104),根據系統記憶體使用率、硬碟耗用量以及批次程式執行個數,進行分析得出量測數據,使用端如果有使用批次群組分類模組213,系統除了量測數據還會再抓取批次群組分類檔(S105),分配目前適合該批次工作負載最輕的Agent給該批次程式執行(S106),JOB1的群組分類設定檔決定了執行的AGENT1後,伺服器會將工作設定檔、批次分類設定檔一併傳送到Agent(S107),工作設定檔包含工作執行時所需的資料,JOB1是Java的程式語言,執行時輸入的參值值分別為1和2,群組分類設定檔設定了該批次工作所能存取或被限制的系統資源,JOB1批次程式將會被設定當系統記憶體使用率達到80%就會被強制暫停。最後批次程式就會順利在分配的AGENT1上執行(S108),工作執行開始時,工作會先讀取排程設定檔,以達成執行在被限制分配的資源上(S109),執行成功後會再判斷有沒有下一筆工作,直到全部的藍圖工作被執行完畢,JOB2接繼續執行,JOB2執行完畢後(S110),結束此藍圖裡的工作執行流程。 3 is a flow chart of the distributed work execution flow of the present invention. The server triggers the start process after the execution time of the blueprint BPT1 at 9:30 on February 3, 2015, and the blueprint execution execution engine starts. Using the blueprint workflow (S101) set by the end, it is first determined whether there is still a blueprint work waiting to be executed (S102), JOB1 is first executed, and then the setting information of the initial scheduling of the use end (S103) is obtained, including the parameter value. Execution result collection module on each agent 111 will periodically synchronize batch program execution information and system resource information to the monitoring and measurement module. The server obtains batch related information through the monitoring and measurement module (S104), according to system memory usage rate and hard disk consumption. The quantity and the number of executions of the batch program are analyzed to obtain the measurement data. If the batch group classification module 213 is used, the system will capture the batch group classification file in addition to the measurement data (S105). ), assigning the agent that is currently the lightest for the batch workload to execute the batch program (S106). After the group classification profile of JOB1 determines the executed AGENT1, the server will set the work profile and batch classification. The file is transmitted to the Agent (S107). The work profile contains the data required for the job execution. JOB1 is the Java programming language. The parameter values entered during execution are 1 and 2 respectively. The group classification profile sets the file. The system resources that the batch work can access or be restricted, the JOB1 batch program will be set to be forced to suspend when the system memory usage reaches 80%. The last batch program will be executed smoothly on the assigned AGENT1 (S108). When the work execution starts, the work will first read the schedule configuration file to achieve execution on the restricted resource (S109). Then judge whether there is any next work until all the blueprint work is completed, JOB2 continues to execute, and after JOB2 is executed (S110), the work execution flow in the blueprint is ended.

排程設定檔 Schedule profile

前述之參數值是指批次程式在執行時需要的資料,並由使用端輸入,參數值的用意在於成為使用端與批次程式間溝通的橋梁,其用意在於讓使用端可以透過參數值決定批次程式處理的資料範圍及方式。 The aforementioned parameter value refers to the data required for the execution of the batch program, and is input by the user. The purpose of the parameter value is to become a bridge between the user and the batch program. The purpose of the parameter is to allow the user to determine the parameter value. The scope and method of data processed by the batch program.

圖4所示為動態擴展批次伺服器流程,動態擴展批次伺服器模組在每次批次被分配代理程式前,先行檢查資源是否不足(S201),不足立即擴展代理程式(S202),擴展代理程式的動作包含新增虛擬機器(VM)、佈署代理程式,擴展完啟動代理程式(S203),代理程式再向伺服器註冊(S204),流程完成,伺服器於下次即可分配批次於此代理程式上執行。 Figure 4 shows the dynamic extended batch server process. The dynamically extended batch server module checks whether the resources are insufficient before each batch is assigned an agent (S201), and does not extend the agent immediately (S202). The action of the extended agent includes a new virtual machine (VM), a deployment agent, an extended startup agent (S203), and the agent registers with the server (S204), the process is completed, and the server can be allocated next time. The batch is executed on this agent.

上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。 The detailed description of the preferred embodiments of the present invention is intended to be limited to the scope of the invention, and is not intended to limit the scope of the invention. The patent scope of this case.

100‧‧‧執行伺服器端 100‧‧‧Execution server side

110‧‧‧批次執行代理程式模組 110‧‧‧ batch execution agent module

111‧‧‧執行結果收集模組 111‧‧‧Execution result collection module

120‧‧‧自動擴展批次伺服模組 120‧‧‧Automatically expand batch servo module

200‧‧‧管理伺服器端 200‧‧‧Manage server side

210‧‧‧批次管理伺服器軟體模組 210‧‧‧Batch Management Server Software Module

211‧‧‧資源監控及量測模組 211‧‧‧Resource monitoring and measurement module

212‧‧‧藍圖式工作執行流程引擎 212‧‧‧Blueprint Work Execution Process Engine

213‧‧‧批次群組分類模組 213‧‧‧Batch group classification module

214‧‧‧動態分派批次工作模組 214‧‧‧Dynamic Dispatch Batch Work Module

Claims (10)

一種雲端批次排程系統,包含:至少一個執行伺服器,用於執行複數個工作;管理伺服器,用於連線並配置該執行伺服器之該等工作,其中該管理伺服器更包含:通訊埠,用以通訊連接該執行伺服器;記憶體,包含批次管理伺服器軟體模組;處理器,連接該通訊埠以及該記憶體,該處理器於執行工作分配下則呼叫及執行該批次管理伺服器軟體模組,其中該批次管理伺服器軟體模組包含:資源監控及量測模組,存取並分析該等執行伺服器之執行資訊,以提供量測數據;藍圖式工作執行流程引擎,用於派送藍圖工作,其中該藍圖工作係由藍圖定義檔進行分派之該等工作,其中該藍圖定義檔係為該等工作間之執行順序構成之節點集合所形成之藍圖結構;批次群組分類模組,對該藍圖工作進行批次群組分類,以提供群組分類設定檔;動態分派批次工作模組,接收該藍圖工作,並依據該量測數據、該藍圖工作檔、該群組分類設定檔,以計算該等執行伺服器之負載量,來動態批次分配該工作。 A cloud batch scheduling system includes: at least one execution server for performing a plurality of tasks; a management server for connecting and configuring the execution of the execution server, wherein the management server further comprises: a communication port for communicating with the execution server; a memory comprising a batch management server software module; a processor connecting the communication port and the memory, the processor calling and executing the work under execution of the work assignment The batch management server software module, wherein the batch management server software module comprises: a resource monitoring and measurement module, accessing and analyzing execution information of the execution servers to provide measurement data; blueprint A work execution flow engine for dispatching blueprint work, wherein the blueprint work is a work assigned by a blueprint definition file, wherein the blueprint definition file is a blueprint structure formed by a set of nodes formed by execution orders of the work spaces Batch group classification module, batch group classification of the blueprint work to provide group classification profile; dynamic dispatch batch work module Receiving the blueprint work, and the measured data based on the blueprint file work, the group classification profile, to perform such calculation load of servers, dynamically assigns the work batch. 如請求項1所述之雲端批次排程系統,其中該動態分派批次工作模組係分配行執行代理程式。 The cloud batch scheduling system of claim 1, wherein the dynamic dispatch batch work module is a distribution line execution agent. 如請求項2所述之雲端批次排程系統,其中該執行伺服器更於執行資不足下則擴展用於執行該等工作之該代理程式。 The cloud batch scheduling system of claim 2, wherein the execution server further expands the agent for performing the work if the execution server is insufficient. 如請求項1所述之雲端批次排程系統,其中該動態分派批次工作模組係將該工作分配給負載量最輕之該執行伺服器。 The cloud batch scheduling system of claim 1, wherein the dynamically dispatching batch work module assigns the work to the execution server with the lightest load. 如請求項1所述之雲端批次排程系統,其中該藍圖結構包定期或不定期執行時間。 The cloud batch scheduling system of claim 1, wherein the blueprint structure package performs time periodically or irregularly. 一種用於雲端批次排程系統之批次管理伺服器電腦程式產品,應用並執行於管理伺服器,該管理伺服器係用於連線並配置至少一個執行伺服器執行複數個工作,批次管理伺服器電腦程式產品包含:資源監控及量測模組,存取並分析該等執行伺服器之執行資訊,以提供量測數據;藍圖式工作執行流程引擎,用於派送藍圖工作,其中該藍圖工作係由藍圖定義檔進行分派之該等工作,其中該藍圖定義檔係為該等工作間之執行順序構成之節點集合所形成之藍圖結構;批次群組分類模組,對該藍圖工作進行批次群組分類,以提供群組分類設定檔;動態分派批次工作模組,接收該藍圖工作,並依據該量測數據、該藍圖工作檔、該群組分類設定檔,以計算該等執行伺服器之負載量,來動態批次分配該工作。 A batch management server computer program product for a cloud batch scheduling system, applied and executed on a management server, which is used for wiring and configuring at least one execution server to perform a plurality of jobs, batches The management server computer program product comprises: a resource monitoring and measurement module, accessing and analyzing execution information of the execution servers to provide measurement data; and a blueprint work execution flow engine for dispatching blueprint work, wherein The blueprint work is the work assigned by the blueprint definition file, wherein the blueprint definition file is a blueprint structure formed by a set of nodes formed by the execution order of the work rooms; the batch group classification module works on the blueprint Performing batch group classification to provide a group classification profile; dynamically dispatching a batch work module, receiving the blueprint work, and calculating the data according to the measurement data, the blueprint work file, and the group classification profile Wait for the load of the server to dynamically allocate the work. 如請求項6所述之批次管理伺服器電腦程式產品,其中該動態分派批次工作模組係分配行執行代理程式。 The batch management server computer program product of claim 6, wherein the dynamic dispatch batch work module is a distribution line execution agent. 如請求項7所述之批次管理伺服器電腦程式產品,其中該執行伺服器更於 執行資不足下則擴展用於執行該等工作之該代理程式。 The batch management server computer program product of claim 7, wherein the execution server is more The agent that performs the work is extended when the execution is insufficient. 如請求項6所述之批次管理伺服器電腦程式產品,其中該動態分派批次工作模組係將該工作分配給負載量最輕之該執行伺服器。 The batch management server computer program product of claim 6, wherein the dynamically dispatching batch work module assigns the work to the execution server having the lightest load. 如請求項6所述之批次管理伺服器電腦程式產品,其中該藍圖結構包定期或不定期執行時間。 The batch management server computer program product of claim 6, wherein the blueprint structure package performs time periodically or irregularly.
TW105109135A 2016-03-24 2016-03-24 Cloud batch scheduling system and batch management server computer program products TWI594131B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105109135A TWI594131B (en) 2016-03-24 2016-03-24 Cloud batch scheduling system and batch management server computer program products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105109135A TWI594131B (en) 2016-03-24 2016-03-24 Cloud batch scheduling system and batch management server computer program products

Publications (2)

Publication Number Publication Date
TWI594131B TWI594131B (en) 2017-08-01
TW201734827A true TW201734827A (en) 2017-10-01

Family

ID=60189288

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105109135A TWI594131B (en) 2016-03-24 2016-03-24 Cloud batch scheduling system and batch management server computer program products

Country Status (1)

Country Link
TW (1) TWI594131B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738583B (en) * 2020-12-07 2021-09-01 中華電信股份有限公司 High-availability message management system and method with dynamic expansion and computer readable medium
TWI801215B (en) * 2022-04-22 2023-05-01 宏碁股份有限公司 Multi-service data server system, control method thereof, and entry server thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US7472159B2 (en) * 2003-05-15 2008-12-30 International Business Machines Corporation System and method for adaptive admission control and resource management for service time guarantees
TW200817925A (en) * 2006-03-31 2008-04-16 Technology Properties Ltd Method and apparatus for operating a computer processor array
US8752055B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Method of managing resources within a set of processes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738583B (en) * 2020-12-07 2021-09-01 中華電信股份有限公司 High-availability message management system and method with dynamic expansion and computer readable medium
TWI801215B (en) * 2022-04-22 2023-05-01 宏碁股份有限公司 Multi-service data server system, control method thereof, and entry server thereof

Also Published As

Publication number Publication date
TWI594131B (en) 2017-08-01

Similar Documents

Publication Publication Date Title
JP6092718B2 (en) Operation planning support system and method
CN112486648A (en) Task scheduling method, device, system, electronic equipment and storage medium
Wang et al. In cloud, can scientific communities benefit from the economies of scale?
US20080115143A1 (en) Job Execution Method, Job Execution System, and Job Execution Program
CN103365713A (en) Resource dispatch and management method and device
CN106910004B (en) Whole process fan manufacturing quality monitoring system based on process flow circulation
CN111625331A (en) Task scheduling method, device, platform, server and storage medium
Imai et al. Accurate resource prediction for hybrid IaaS clouds using workload-tailored elastic compute units
US10048987B1 (en) Methods and apparatus for a resource sharing platform having resource quality estimation
TW201426552A (en) System and method for scheduling virtual machine login interface
Chandio et al. A comparative study of job scheduling strategies in large-scale parallel computational systems
TWI594131B (en) Cloud batch scheduling system and batch management server computer program products
US10853137B2 (en) Efficient resource allocation for concurrent graph workloads
CN111932099A (en) Marketing business management system and marketing business management method
US8977752B2 (en) Event-based dynamic resource provisioning
Alam et al. An NBDMMM algorithm based framework for allocation of resources in cloud
Casini et al. Addressing analysis and partitioning issues for the Waters 2019 challenge
KR100590764B1 (en) Method for mass data processing through scheduler in multi processor system
CN110868330B (en) Evaluation method, device and evaluation system for CPU resources which can be divided by cloud platform
Cui et al. A scheduling algorithm for multi-tenants instance-intensive workflows
CN115292176A (en) Pressure testing method, device, equipment and storage medium
CN105718297A (en) Virtual machine establishing system and method
Cao et al. Online cost-rejection rate scheduling for resource requests in hybrid clouds
CN114745377A (en) Edge cloud cluster service system and implementation method
CN110247802B (en) Resource configuration method and device for cloud service single-machine environment

Legal Events

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