TWI714390B - Method for controlling operation flow - Google Patents
Method for controlling operation flow Download PDFInfo
- Publication number
- TWI714390B TWI714390B TW108145657A TW108145657A TWI714390B TW I714390 B TWI714390 B TW I714390B TW 108145657 A TW108145657 A TW 108145657A TW 108145657 A TW108145657 A TW 108145657A TW I714390 B TWI714390 B TW I714390B
- Authority
- TW
- Taiwan
- Prior art keywords
- identification
- upstream
- thread
- program
- specific
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本發明是有關於一種流程管理機制,且特別是有關於一種作業流程調控方法。The present invention relates to a process management mechanism, and particularly relates to a method of operating process control.
在現有技術中,對於較為複雜的應用系統環境(如:應用系統環境跨多部主機、作業功能上/下架次數頻繁)而言,目前並未有能夠高效率組裝與管理作業流程執行的機制。在此情況下,除了無法明確、有效地管理各作業功能上/下架期程(如:某時間點可切換不同的作業功能)及組裝成新的作業流程之後,還可能因某些作業程序需等待人工啟動而造成不必要的延遲(例如,主機因等待執行所產生的閒置時間)。In the prior art, for relatively complex application system environments (such as: application system environments spanning multiple hosts, operating functions are frequently put on/off shelves), there is currently no mechanism that can efficiently assemble and manage workflow execution . In this case, in addition to the inability to clearly and effectively manage the on/off schedule of each operation function (for example, different operation functions can be switched at a certain point in time) and assembly into a new operation process, it may also be due to certain operation procedures Need to wait for manual start and cause unnecessary delay (for example, the idle time of the host due to waiting for execution).
有鑑於此,本發明提供一種作業流程調控方法,其可用於解決上述技術問題。In view of this, the present invention provides a work flow control method, which can be used to solve the above technical problems.
本發明提供一種作業流程調控方法,包括:由一流程作業執行代理元件從一流程組態設定資料庫取得一作業流程,其中作業流程記錄有前述作業程式中的多個上游作業程式及多個下游作業程式個別的版號與執行時機,且前述上游作業程式形成一上游流程,前述下游作業程式形成接續於上游流程的一下游流程;由一流程串接代理元件取得前述上游作業程式產生的多個業務串接識別格式,並據以產生多個流程串接識別旗標;反應於判定前述流程串接識別旗標中的至少一特定識別旗標已通過一業務串接識別規則,由流程串接代理元件通知前述下游作業程式接續執行。The present invention provides a work flow control method, including: obtaining a work flow from a process configuration setting database by a process execution agent component, wherein the work flow records multiple upstream operating programs and multiple downstream operating programs in the aforementioned operating programs The individual version number and execution timing of the operating program, and the foregoing upstream operating program forms an upstream process, and the foregoing downstream operating program forms a downstream process following the upstream process; a process serial proxy component obtains multiple generated by the foregoing upstream operating program The business cascade identification format, and a plurality of process cascade identification flags are generated accordingly; in response to the determination that at least one specific identification flag in the aforementioned process cascade identification flag has passed a business cascade identification rule, the process is cascaded The agent component notifies the aforementioned downstream operating program to continue execution.
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail in conjunction with the accompanying drawings.
概略而言,本發明的方法可實現具備高度擴展性、支援分散式架構的作業流程組裝技術。並且,可動態切換主機系統運行的作業功能版本、流程可支援自動化串接機制以達成具可適應性應用系統環境。藉此,本發明可因應企業內應用系統運作日益複雜且多元的需求。以下將作詳細說明。In summary, the method of the present invention can implement a work flow assembly technology with high scalability and supporting a distributed architecture. In addition, it can dynamically switch the operating function version of the host system and the process can support an automatic serial connection mechanism to achieve an adaptable application system environment. In this way, the present invention can meet the increasingly complex and diversified needs of the application system operation in the enterprise. Details will be described below.
請參照圖1及圖2,其中圖1是依據本發明之一實施例繪示的作業流程調控方法流程圖,圖2是依據本發明之一實施例繪示的應用情境圖。在本發明的實施例中,圖1的方法可由圖2中的流程作業執行代理元件210及流程串接代理元件220協同執行,以下即搭配圖2內容說明圖1的各個步驟。Please refer to FIG. 1 and FIG. 2, where FIG. 1 is a flowchart of a work flow control method according to an embodiment of the present invention, and FIG. 2 is an application scenario diagram according to an embodiment of the present invention. In an embodiment of the present invention, the method in FIG. 1 can be executed by the process job
在本發明的實施例中,流程作業執行代理元件210及流程串接代理元件220例如是可同時安裝於一或多台主機上的程式,用以協調位於各主機上作業程式的作業流程。In the embodiment of the present invention, the process
在一實施例中,流程作業執行代理元件210可用於取得各作業程式的版本資訊並同步至流程組態設定資料庫212中。舉例而言,流程作業執行代理元件210可隨時監控各作業程式版本狀態。在一實施例中,反應於流程作業執行代理元件210偵測到被提交(commit)至版本控制工具的任一作業程式,流程作業執行代理元件210可提取此作業程式的作業資訊及版號資訊,並儲存至流程組態設定資料庫212中。因此,流程組態設定資料庫212中可記錄有多個作業程式及其個別的作業資訊及版號資訊,但本發明可不限於此。In one embodiment, the process
在本發明的實施例中,流程組態設定資料庫212可提供使用者設定管理介面213,用以供使用者設定流程組態設定資料庫212中的一或多個作業程式的作業流程。並且,流程組態設定資料庫212可用於儲存使用首於使用者設定管理介面213所進行的各個設定。例如,使用者可透過使用者設定管理介面213選用一或多個作業程式,並設定這些作業程式的執行主機環境、執行順序、執行時機、程式版本等。In the embodiment of the present invention, the process
以圖2為例,假設使用者欲控制作業程式216、217及221需依序執行,使用者即可透過使用者設定管理介面213進行相應的設定。相似地,假設使用者欲控制作業程式223、218需依序執行,使用者亦可透過使用者設定管理介面213進行相應設定。Taking FIG. 2 as an example, assuming that the user wants to control the
在不同的實施例中,流程組態設定資料庫212可儲存的資料內容可包括:(1)作業程式基本資料:程式序號、程式名稱;(2)作業程式主機環境資料:程式序號、執行緒序號、程式路徑、程式執行參數、主機位址(IP)、執行程式帳號;(3)作業程式版本與可執行範圍:流水號、程式序號、程式版本號、可執行起始時間、可執行截止時間。In different embodiments, the data content that can be stored in the process
此外,使用者還可透過使用者設定管理介面213界定作業程式之間的上、下游關係。以圖2為例,使用者例如可將作業程式216、217及221所形成的集合設定為上游流程214,並將作業程式223、218所形成的集合設定為接續於上游流程214的下游流程215。亦即,下游流程215需在上游流程214完成後方能開始執行。在此情況下,上游流程214及下游流程215可形成一套作業流程,但本發明可不限於此。In addition, the user can also define the upstream and downstream relationships between operating programs through the user
應了解的是,圖2所示的上、下游流程態樣僅用以舉例,並非用以限定本發明可能的實施方式。在其他實施例中,使用者可依需求而取用更多或更少的作業程式,並還可劃分更多階層的上、下游流程關係。為便於理解本發明的概念,以下即以圖2所示的作業流程(其包括上游流程214及下游流程215)為例說明圖1的各步驟。It should be understood that the upstream and downstream flow patterns shown in FIG. 2 are only for example, and are not intended to limit the possible implementation of the present invention. In other embodiments, users can access more or fewer operating programs according to their needs, and can also divide more levels of upstream and downstream process relationships. In order to facilitate the understanding of the concept of the present invention, the operation process shown in FIG. 2 (which includes the
首先,在步驟S110中,流程作業執行代理元件210可從流程組態設定資料庫212取得作業流程(其包括上游流程214及下游流程215)。在圖2中,上游流程214中的作業程式216、217、221可暫稱為上游作業程式,下游流程215中的作業程式223可暫稱為下游作業程式,而流程作業執行代理元件210所取得的作業流程可指示前述上、下游作業程式個別的版號與執行時機,等資訊但可不限於此。First, in step S110, the process operation
之後,在步驟S120中,流程串接代理元件220可取得前述上游作業程式產生的多個業務串接識別格式,並據以產生多個流程串接識別旗標。在本發明的實施例中,各上游作業程式可包括一或多個執行緒,而所述一或多個執行緒可執行於一或多台主機上。並且,各上游作業程式的各執行緒在完成執行之後可相應地產生一業務串接識別格式,而流程串接代理元件220可在取得此業務串接識別格式之後,將其轉換為對應的流程串接識別旗標。After that, in step S120, the process
以作業程式216為例,其可包括3個執行緒216a~216c,而這些執行緒216a~216c可個別執行於1台主機上,但可不限於此。在一實施例中,當執行緒216a完成執行後,可相應產生業務串接識別格式A16a,其中業務串接識別格式A16a可包括一動態參數欄位。在一實施例中,業務串接識別格式A16a例如是「DAtoCY_${YYYMMDD}」,而其中的「${YYYMMDD}」即為動態參數欄位,但可不限於此。Taking the
在一實施例中,當流程串接代理元件220偵測到業務串接識別格式A16a時,流程串接代理元件220可將業務串接識別格式A16a中的動態參數欄位置換為當下系統參數,以產生對應於執行緒216a的流程串接識別旗標B16a。In one embodiment, when the process
在不同的實施例中,設計者可依需求而選用適合的當下系統參數。假設所選用的當下系統參數為當天日期,則流程串接代理元件220可將業務串接識別格式A16a中的動態參數欄位置換為當天日期,以產生流程串接識別旗標B16a。舉例而言,假設當天日期為「108年07月01日」,則流程串接代理元件220所產生的流程串接識別旗標B16a可以是「DAtoCY_1080701」,但本發明可不限於此。In different embodiments, the designer can select appropriate current system parameters according to requirements. Assuming that the selected current system parameter is today's date, the process
之後,流程串接代理元件220可將流程串接識別旗標B16a與執行緒216a在作業程式216的執行緒216a~216c中的執行緒編號(例如1號)記錄於流程串接識別資料庫222中。並且,流程串接代理元件220還可將流程串接識別資料庫222中的流程串接識別旗標B16a的使用狀態標示為未使用狀態,以表示流程串接識別旗標B16a尚未被任何下游作業程式取用,但可不限於此。After that, the process
在一實施例中,若流程串接代理元件220日後偵測到流程串接識別旗標B16a已被下游作業程式的任一取用,則流程串接代理元件220可將流程串接識別旗標B16a的使用狀態改變為已使用狀態,藉以避免流程串接識別旗標B16a再被其他的下游作業程式取用,但可不限於此。In one embodiment, if the process
基於以上教示,本領域具通常知識者應可相應理解流程串接代理元件220基於其他作業程式的執行緒所產生的業務串接識別格式而產生對應的流程串接識別旗標的機制,於此不另贅述。Based on the above teachings, those with ordinary knowledge in the field should be able to understand the mechanism of the process
在本發明的實施例中,流程串接識別資料庫222至少可包括以下兩個資料表:(1)業務串接規則(流水號、判斷規則、規則通過門檻);(2)串接識別資料(串接識別旗標、識別產生日期、識別產生來源、識別使用狀態、執行緒編號),串接識別旗標內含有業務資訊,提高識別可讀性;識別產生日期由流程串接代理元件220產生,為上游流程作業完成的時間;識別產生來源值域為各業務別,如:出帳、異動、報表等。In the embodiment of the present invention, the process
在產生流程串接識別旗標(例如流程串接識別旗標B16a)之後,流程串接代理元件220可判斷所產生的流程串接識別旗標中的至少一特定識別旗標是否已通過業務串接識別規則。After generating the process concatenation identification flag (for example, process concatenation identification flag B16a), the process
在不同的實施例中,業務串接識別規則可記錄流程串接識別旗標中的上述特定識別旗標所需滿足的條件,而在上述特定識別旗標滿足此條件之後,流程串接代理元件220可判定上述特定識別旗標已通過業務串接識別規則,並接續執行步驟S130。In different embodiments, the business cascade identification rules may record the conditions that the above-mentioned specific identification flags in the process cascade identification flags need to meet, and after the above-mentioned specific identification flags meet this condition, the process cascades the
在一實施例中,上述特定識別旗標可包括對應於某特定上游程式的各執行緒的流程串接識別旗標。在此情況下,假設業務串接識別規則指示需在取得對應於某特定上游程式的各執行緒的流程串接識別旗標(即上述特定識別旗標)之後,方能接續執行下游流程215,則流程串接代理元件220可在取得此特定上游程式的各執行緒的流程串接識別旗標之後,判定上述特定識別旗標已通過業務串接識別規則,並接續執行步驟S130。In an embodiment, the above-mentioned specific identification flag may include a process concatenation identification flag corresponding to each thread of a certain upstream program. In this case, suppose that the business cascade identification rules indicate that the
為便於說明,假設作業程式221即為所考慮的特定上游程式,且其包括執行緒221a~221c。在一實施例中,在各執行緒221a~221c完成執行之後,流程串接代理元件220可依據各執行緒221a~221c提供的業務串接識別格式A21a、A21b、A21c產製對應的流程串接識別旗標B21a、B21b、B21c(即,特定識別旗標)。For the convenience of description, it is assumed that the
由於流程串接識別旗標B21a、B21b、B21c的數量匹配於執行緒221a~221c的數量,故流程串接代理元件220可判定已取得對應於作業程式221a的各執行緒221a~221c的流程串接識別旗標B21a、B21b、B21c進而可判定流程串接識別旗標B21a、B21b、B21c(即,特定識別旗標)已通過業務串接識別規則,但可不限於此。藉此,當所考慮的特定上游程式的執行緒分別由多個主機執行時,流程串接代理元件220可具體掌控各主機的執行狀況,以利判定是否繼續執行下游流程215。Since the number of process cascade identification flags B21a, B21b, B21c matches the number of
此外,在另一實施例中,假設業務串接識別規則指示需在取得符合某特定態樣/預設數量的特定識別旗標之後,方能接續執行下游流程215,則流程串接代理元件220可在判定已取得符合某特定態樣/預設數量的特定識別旗標之後,判定上述特定識別旗標已通過業務串接識別規則,並接續執行步驟S130。In addition, in another embodiment, assuming that the service cascading identification rule indicates that the
舉例而言,假設業務串接識別規則指示需收到1筆具有「DAtoCY_1080701」態樣(其涵義例如代表需於108/7/1執行每週期費用計算)的特定識別旗標之後,方能接續執行下游流程215,則流程串接代理元件220可持續偵測是否已取得1筆具有「DAtoCY_1080701」態樣的特定識別旗標。若是,則流程串接代理元件220可判定上述特定識別旗標已通過業務串接識別規則,並接續執行步驟S130。For example, suppose that the business cascade identification rules indicate that a specific identification flag with the status "DAtoCY_1080701" (its meaning, for example, needs to be calculated on 108/7/1), can be continued When the
在步驟S130中,反應於判定前述流程串接識別旗標中的特定識別旗標已通過業務串接識別規則,流程串接代理元件220可通知下游作業程式(例如作業程式223、218)接續執行。In step S130, in response to determining that the specific identification flag in the aforementioned process cascade identification flag has passed the business cascade identification rules, the process
綜上所述,本發明可在上游跨主機(多執行緒)作業流程執行結束後,根據業務邏輯各自產製出可識別於不同主機上程式作業的流程串接識別旗標,並透過流程串接代理元件寫入流程串接識別資料庫中,下游作業流程則透過流程串接代理元件偵測上游作業流程是否完成。此外,如果有多主機環境,只要各主機環境皆部署流程作業執行代理元件,即可同步不同主機環境的作業程式的版號資訊到流程組態中。因此,本發明可應用於多執行緒且跨主機的應用環境。In summary, the present invention can produce process serial identification flags that can identify program operations on different hosts after the execution of the upstream cross-host (multi-threading) operation process is completed. The proxy component is written into the process serial identification database, and the downstream operation process detects whether the upstream operation process is completed through the process serial proxy element. In addition, if there is a multi-host environment, as long as each host environment deploys the process operation execution agent component, the version number information of the operating program of different host environments can be synchronized to the process configuration. Therefore, the present invention can be applied to a multi-threaded and cross-host application environment.
更具體言之,本發明特別針對複雜應用系統環境(如:應用系統環境跨多部主機、作業功能上/下架次數頻繁)可有效率組裝與管理其作業流程的執行。透過本發明各項技術和程序,可明確的管理各作業功能上/下架期程(如:某時間點可切換不同的作業功能)且快速組裝成新的作業流程。同時,亦可發展為分散式環境作業流程自動化串接技術以避免需人工啟動作業流程的情形(造成主機因等待執行所產生的閒置時間)。More specifically, the present invention is particularly aimed at complex application system environments (such as: application system environments spanning multiple hosts, frequently operating functions are added/removed frequently), which can efficiently assemble and manage the execution of its operating procedures. Through the various technologies and procedures of the present invention, the on/off schedule of each operation function can be clearly managed (for example, different operation functions can be switched at a certain time) and a new operation process can be quickly assembled. At the same time, it can also be developed into a distributed environment operation process automation serial connection technology to avoid the need to manually start the operation process (causing the host idle time due to waiting for execution).
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be determined by the scope of the attached patent application.
210:流程作業執行代理元件
211:版本控制工具
212:流程組態設定資料庫
213:使用者設定管理介面
214:上游流程
215:下游流程
216、217、218、221、223:作業程式
216a~216c、221a~221c:執行緒
220:流程串接代理元件
222:流程串接識別資料庫
A16a、A21a、A21b、A21c:業務串接識別格式
B16a、B21a、B21b、B21c:流程串接識別旗標
S110~S130:步驟
210: Process job execution agent component
211: Version Control Tool
212: Process configuration setting database
213: User Settings Management Interface
214: Upstream process
215:
圖1是依據本發明之一實施例繪示的作業流程調控方法流程圖。 圖2是依據本發明之一實施例繪示的應用情境圖。 FIG. 1 is a flowchart of a method for controlling a work flow according to an embodiment of the present invention. Fig. 2 is an application scenario diagram drawn according to an embodiment of the present invention.
S110~S130:步驟 S110~S130: steps
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108145657A TWI714390B (en) | 2019-12-13 | 2019-12-13 | Method for controlling operation flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108145657A TWI714390B (en) | 2019-12-13 | 2019-12-13 | Method for controlling operation flow |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI714390B true TWI714390B (en) | 2020-12-21 |
TW202122940A TW202122940A (en) | 2021-06-16 |
Family
ID=74669716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108145657A TWI714390B (en) | 2019-12-13 | 2019-12-13 | Method for controlling operation flow |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI714390B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201428678A (en) * | 2012-12-20 | 2014-07-16 | Nvidia Corp | Programmable blending in multi-threaded processing units |
US20160062800A1 (en) * | 2014-09-02 | 2016-03-03 | Ab Initio Technology Llc | Controlling data processing tasks |
US20180225016A1 (en) * | 2014-09-02 | 2018-08-09 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
TW201913404A (en) * | 2017-08-24 | 2019-04-01 | 美商谷歌有限責任公司 | Method of executing tuple graphics program across the network |
-
2019
- 2019-12-13 TW TW108145657A patent/TWI714390B/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201428678A (en) * | 2012-12-20 | 2014-07-16 | Nvidia Corp | Programmable blending in multi-threaded processing units |
US20160062800A1 (en) * | 2014-09-02 | 2016-03-03 | Ab Initio Technology Llc | Controlling data processing tasks |
US20180225016A1 (en) * | 2014-09-02 | 2018-08-09 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
TW201913404A (en) * | 2017-08-24 | 2019-04-01 | 美商谷歌有限責任公司 | Method of executing tuple graphics program across the network |
Also Published As
Publication number | Publication date |
---|---|
TW202122940A (en) | 2021-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW522297B (en) | Automatic over-clock method for CPU | |
US20070266387A1 (en) | Multithreaded computer system and multithread execution control method | |
JP5326374B2 (en) | Processor, performance profiling apparatus, performance profiling program, and performance profiling method | |
JP4741304B2 (en) | Data migration method or data migration system | |
JP2012079240A (en) | Composite event processing device and composite event processing method | |
JP2009520268A5 (en) | ||
US8453013B1 (en) | System-hang recovery mechanisms for distributed systems | |
JP2007305029A (en) | Processing time allocation method in real time os | |
US20180181553A1 (en) | Providing insertion feature with clipboard manager application | |
TW200825925A (en) | System and method for managing system management interrupts in a multiprocessor computer system | |
WO2020238860A1 (en) | Distributed file batch processing method and apparatus, and readable storage medium | |
TWI714390B (en) | Method for controlling operation flow | |
TW200903338A (en) | Transactional debugger for a transactional memory system | |
JP6011639B2 (en) | Information processing apparatus, information processing method, and information processing program | |
US10657022B2 (en) | Input and output recording device and method, CPU and data read and write operation method thereof | |
TW201506786A (en) | System and method for debugging procedure | |
JP2017107265A (en) | Test scenario creation support system and test scenario creation support method | |
JP2011028438A (en) | Application verification system and computer program | |
WO2017202083A1 (en) | Microcode debugging method and single board | |
US7240348B2 (en) | Suspending scenario generation method, server device, and program therefor | |
JP7097408B2 (en) | Methods, devices, electronic devices and storage media for treating local hotspots | |
JP4962026B2 (en) | User level process control device having process management function, method and program thereof | |
JP2008242633A (en) | Control system and method for single user application in multi-user operating system | |
US7249348B2 (en) | Non-interfering status inquiry for user threads | |
US20150277888A1 (en) | Systems and methods to create a clean install of an application |