[go: up one dir, main page]

TWI894041B - 應用程式介面排程管理系統及其方法 - Google Patents

應用程式介面排程管理系統及其方法

Info

Publication number
TWI894041B
TWI894041B TW113143755A TW113143755A TWI894041B TW I894041 B TWI894041 B TW I894041B TW 113143755 A TW113143755 A TW 113143755A TW 113143755 A TW113143755 A TW 113143755A TW I894041 B TWI894041 B TW I894041B
Authority
TW
Taiwan
Prior art keywords
api
scheduling
settings
database
module
Prior art date
Application number
TW113143755A
Other languages
English (en)
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 TW113143755A priority Critical patent/TWI894041B/zh
Application granted granted Critical
Publication of TWI894041B publication Critical patent/TWI894041B/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一種API排程管理系統,其包含記憶體資料庫、關聯式資料庫、前端介面模組、工作執行模組及自動化管理模組。前端介面模組設置以從使用者介面接收API工作相應的API排程設定,及將API排程設定同步至記憶體資料庫及關聯式資料庫。工作執行模組設置以根據記憶體資料庫中的API排程設定,執行相應的API工作。自動化管理模組設置以檢查記憶體資料庫與關聯式資料庫中的API排程設定是否一致。響應於發現不一致,自動化管理模組更設置以關閉工作執行模組,對齊記憶體資料庫與關聯式資料庫中的API排程設定,及啟動工作執行模組。

Description

應用程式介面排程管理系統及其方法
本發明涉及排程管理,特別涉及一種應用程式介面排程管理系統及其方法。
隨著現代計算環境中應用程式介面(Application Programming Interface;API)的廣泛使用,如何有效地管理和監控API的執行變得至關重要。
現有的排程管理系統,諸如Windows的工作排程器(Task Scheduler)或Linux的crontab,對於API工作的排程尚難以有效監控其執行是否成功,導致異常情況無法被即時發現。系統管理員經常要等到異常持續好幾天後,才有機會察覺並採取補救措施。
因此,需要一種應用程式介面排程管理系統及其方法,可解決上述問題。
本揭露之實施例提供一種應用程式介面(API)排程管理系統,其包含記憶體資料庫(in-memory database)、關聯式資料庫(relational database)、前端介面模組、工作執行模組及自動化管理模組。前端介面模組設置以從使用者介面接收API工作(API jobs)相應的API排程設定(API scheduling settings),及將API排程設定同步至記憶體資料庫及關聯式資料庫。工作執行模組設置以根據記憶體資料庫中的API排程設定,執行相應的API工作。自動化管理模組設置以檢查記憶體資料庫與關聯式資料庫中的API排程設定是否一致。響應於發現記憶體資料庫及關聯式資料庫中的API排程設定不一致,自動化管理模組更設置以關閉工作執行模組,對齊(align)記憶體資料庫與關聯式資料庫中的API排程設定,及啟動工作執行模組。
在一實施例中,關聯式資料庫設置以透過相關聯的API資料表及排程資料表,儲存API排程設定。記憶體資料庫設置以透過鍵值對(key-value pairs)儲存API排程設定,每一鍵值對包括索引鍵(index key)。自動化管理模組係藉由比對排程資料表與索引鍵,以檢查記憶體資料庫與該關聯式資料庫中的API排程設定是否一致。
在一實施例中,排程資料表用以儲存API工作相應的排程資料。此外,索引鍵更包含API工作的相應的排程資料。
在一實施例中,自動化管理模組更設置以比對索引鍵的數量與排程資料表儲存的排程資料的資料筆數。響應於發現索引鍵的數量少於排程資料表儲存的排程資料的資料筆數,自動化管理模組更設置以關閉工作執行模組,將記憶體資料庫相對於關聯式資料庫缺少的API排程設定從關聯式資料庫同步至記憶體資料庫,及啟動工作執行模組。響應於發現索引鍵的數量多於排程資料表儲存的排程資料的資料筆數,自動化管理模組更設置以關閉工作執行模組,將記憶體資料庫相對於關聯式資料庫多出的API排程設定刪除,及啟動工作執行模組。
在一實施例中,響應於發現索引鍵的數量與排程資料表儲存的資料筆數相同,自動化管理模組更設置以檢查索引鍵包含的排程資料是否與排程資料表儲存的排程資料一致。響應於發現索引鍵包含的排程資料與排程資料表儲存的排程資料不一致,自動化管理模組更設置以關閉工作執行模組,將關聯式資料庫中的API排程設定同步至記憶體資料庫,及啟動工作執行模組。
在一實施例中,響應於發現索引鍵的數量與排程資料表儲存的資料筆數相同,自動化管理模組更設置以檢查索引鍵包含的排程資料是否與排程資料表儲存的排程資料一致。響應於發現索引鍵包含的排程資料與排程資料表儲存的排程資料不一致,自動化管理模組更設置以關閉工作執行模組,將關聯式資料庫中的API排程設定同步至記憶體資料庫,及啟動工作執行模組。
在一實施例中,響應於發現記憶體資料庫及關聯式資料庫中的API排程設定不一致,自動化管理模組更設置以向系統管理員發送警示通知。
在一實施例中,API排程管理系統更包含文件資料庫(document database)。工作執行模組更設置以將執行API工作所產生的執行日誌(execution logs)儲存至文件資料庫。自動化管理模組更設置以從執行日誌偵測超時錯誤(timeout error)。響應於偵測到超時錯誤,自動化管理模組更設置以透過對超時錯誤相應的API工作發出請求,以決定通知對象為使用者及系統管理員中的何者。自動化管理模組更設置以向通知對象發送警示通知,及重新啟動工作執行模組。
在一實施例中,文件資料庫是以MongoDB所實現。
在一實施例中,記憶體資料庫是以遠端字典伺服器(Remote Dictionary Server;Redis)所實現。
在一實施例中,關聯式資料庫是以微軟結構化查詢語言伺服器(Microsoft SQL Server)所實現。
本揭露之實施例更提供一種API排程管理方法。該方法包含藉由前端介面模組,從使用者介面接收API工作相應的API排程設定,及將API排程設定同步至記憶體資料庫及關聯式資料庫。該方法更包含藉由工作執行模組,根據記憶體資料庫中的API排程設定,執行相應的API工作。該方法更包含藉由自動化管理模組,檢查記憶體資料庫與關聯式資料庫中的API排程設定是否一致。該方法更包含藉由自動化管理模組,響應於發現記憶體資料庫及關聯式資料庫中的API排程設定不一致,關閉工作執行模組,對齊記憶體資料庫與關聯式資料庫中的API排程設定,及啟動工作執行模組。
本揭露之實施例所提供的API排程管理方案,實現了自動化的異常監控及修復。不但能減少人力介入,更能確保API工作流程之穩健度。
以下敘述列舉本發明的多種實施例,但並非意圖限制本發明內容。實際的發明範圍,是由申請專利範圍所界定。
在以下所列舉的各實施例中,將以相同的標號代表相同或相似的元件或組件。
在本說明書中以及申請專利範圍中的序號,例如「第一」、「第二」等等,僅是為了方便說明,彼此之間並沒有順序上的先後關係。
以下對於裝置或系統之實施例的敘述,也適用於方法之實施例,反之亦然。
大體而言,本揭露提出一種API排程管理系統,其提供使用者介面供使用者設定及維護其需要的API服務。系統會根據使用者設定的排程時間執行相應的API工作(API jobs),並且能在執行工作的過程中,實施自動化的異常監控及修復。
第1圖是根據本揭露之一實施例的一種API排程管理系統10之系統架構圖。如第1圖所示,API排程管理系統10至少包含前端介面模組101、記憶體資料庫(in-memory database)102、關聯式資料庫(relational database)103、工作執行模組104,及自動化管理模組105。可選地,API排程管理系統10可更包含文件資料庫(document database)120。
API排程管理系統10可以是單獨一台電腦裝置(例如伺服器),也可以是多台協同運作的電腦裝置所組成的電腦叢集(computer cluster)。第1圖繪出的元件,包含前端介面模組101、記憶體資料庫102、關聯式資料庫103、工作執行模組104、自動化管理模組105,及文件資料庫120,可以全部實施於單獨一台電腦裝置上,也可以分散地部署在兩台或更多台電腦裝置上,惟本揭露並不對此限定。
上述的每一電腦裝置,可包含處理單元及儲存單元。儲存單元可以是任何一種包含非揮發性記憶體(如唯讀記憶體(read only memory)、電子抹除式可複寫唯讀記憶體(electrically-erasable programmable read-only memory;EEPROM)、快閃記憶體、非揮發性隨機存取記憶體(non-volatile random access memory;NVRAM))的裝置,諸如硬碟(HDD)、固態硬碟(SSD)或光碟,惟本揭露並不對此限定。處理單元可以是任何一種能夠執行指令的處理器,諸如中央處理單元(central processing unit;CPU)或圖形處理單元(graphics processing unit;GPU)。此外,至少一電腦裝置包含顯示單元,諸如液晶顯示器(Liquid-Crystal Display;LCD)或有機發光二極體(Organic Light-Emitting Diode;OLED)顯示器,以呈現使用者介面110。
本揭露之API排程管理系統10所採用的API排程管理方法,可以是由上述一或多台電腦裝置的處理單元從儲存單元載入程式所實施。此程式可以是由任何一種或多種程式語言所編寫,如Java、C、C#、C++、Python等,惟本揭露並不對此限定。此程式包含對應於前端介面模組101、工作執行模組104及自動化管理模組105的指令。當這些指令由處理單元所執行時,可實現前端介面模組101、工作執行模組104及自動化管理模組105之功能。
記憶體資料庫102是一種為快取(caching)而特殊設計的資料庫,其主要以主記憶體(main memory)為儲存媒體,旨在提供極高的數據存取速度及低延遲的查詢性能。舉例而言,記憶體資料庫102可以是由遠端字典伺服器(Remote Dictionary Server;Redis)、memcached或Hazelcast所實現,惟本揭露並不對此限定。
在本揭露之各種實施例中,記憶體資料庫102是用以儲存及快速存取API排程設定。在一較佳實施例中,記憶體資料庫102是由Redis所實現。Redis在此實施例中被運用到的其中一優勢,在於其支援主從同步(master-replica replication)機制。具體而言,資料可以從主伺服器(master)向任意數量的從伺服器(replica)上同步。一個從伺服器可以作為另一個從伺服器的主伺服器,因而可實現單層樹複製(single-rooted replication tree)。此外,發布/訂閱(publish–subscribe)功能使得從伺服器的客戶端可以訂閱一個頻道,並接收發布到主伺服器的完整訊息流,無論位於複製樹的何處。
關聯式資料庫103是建立在關聯模型(relational model)基礎上的資料庫,其透過表格及其關聯來結構化管理數據。舉例而言,關聯式資料庫103可以是由MySQL、PostgreSQL或 Microsoft SQL Server所實現,惟本揭露並不對此限定。
在本揭露之各種實施例中,關聯式資料庫103是作為API排程設定在後端的備援儲存點,並且作為自動化異常監控之參考基準。在一較佳實施例中,關聯式資料庫103是以微軟結構化查詢語言伺服器(Microsoft SQL Server)所實現。Microsoft SQL Server 在此實施例中被運用到的其中一優勢,在於其提供的透明數據加密(Transparent Data Encryption;TDE)及安全審計(Auditing)功能,使其在資料安全性方面具有更優越的表現。相比於其他關聯式資料庫,Microsoft SQL Server更具備深度整合微軟技術生態(如Azure雲服務)的優勢,便於與雲端及本地資源進行無縫連接,進一步提升系統的擴展性和靈活性。
文件資料庫120是一種文件導向(document-oriented)的資料庫,能夠適應多變的非結構化數據格式,因此通常用於儲存半結構化資料(semi-structured data)或非結構化資料(unstructured data)。文件資料庫120可以是由MongoDB、CouchDB或Elasticsearch所實現,惟本揭露並不對此限定。
在本揭露之各種實施例中,文件資料庫120是作為API排程管理系統10的一個可選的元件,用以儲存執行API工作所產生的執行日誌(execution logs)。在一較佳實施例中,文件資料庫120是以MongoDB所實現。MongoDB在此實施例中被運用到的其中一優勢,在於其支援靈活的文件結構及自動分片(sharding),能夠在日誌數據量快速增長的情況下保持高效的資料存取及可擴展性。
關於API排程管理系統10的運作細節,連同系統所實施的API排程管理方法,將在下文參考第2圖進行詳述。
第2圖是根據本揭露之一實施例的一種API排程管理方法20的流程圖。如第2圖所示,API排程管理方法20包含步驟S201-S206。由於各步驟的執行主體及涉及的元件繪示於第1圖中,建議一併參考第1圖及第2圖,以更清楚地理解本揭露之實施例。
於步驟S201,前端介面模組101從使用者介面110接收API工作相應的API排程設定,及將API排程設定同步至記憶體資料庫102及關聯式資料庫103。
使用者介面110是由前端介面模組101所提供,作為API排程管理系統10與使用者之間進行互動和資訊交換的媒介。使用者介面110可以是圖形使用者介面(graphics user interface;GUI)、命令列介面(command line interface;CLI)或語音使用者介面(voice user interface;VUI)所實現,惟本揭露並不對此限定。使用者可透過使用者介面110設定要定時執行的API工作之相應的API排程設定,包含關聯於這些API工作的名稱、參數、類型(例如GET、POST、PUT、DELETE等)及/或排程時間(例如每周一的凌晨一點、每天的上午七點、每小時的0和30分等)。
應注意,於步驟S201接收的API排程設定,可以是單一API工作的排程設定,也可以是多個API工作串聯的設定。舉例而言,可以設定一條API工作來檢查員工是否已從公司離職,例如查詢活動目錄(Active Directory;AD)以獲取離職員工的名單,接著再以另一條API工作取消離職員工的Copilot帳號,以避免重複計費。
此外,應理解雖然前端介面模組101是將API排程設定同步至記憶體資料庫102及關聯式資料庫103,理論上記憶體資料庫102及關聯式資料庫103中的API排程設定應維持一致,但實際上由於網路延遲、系統故障或同步過程中的寫入失敗等情況,都可能導致兩資料庫之間的API排程設定不一致。因此,在後續步驟中會對兩資料庫之間的API排程設定的一致性進行監測。
於步驟S202,工作執行模組104根據記憶體資料庫102中的API排程設定,執行相應的API工作。
於步驟S203,自動化管理模組105檢查記憶體資料庫102與關聯式資料庫103中的API排程設定是否一致。若發現記憶體資料庫102與關聯式資料庫103中的API排程設定不一致,則進行步驟S204。若記憶體資料庫102與關聯式資料庫103中的API排程設定一致,則可等待一預先設置的時間間隔,再進行下一輪的檢查。
步驟S203可以是定時執行,例如每5分鐘或每10分鐘執行一次,其時間間隔可以視實際需求制訂,本揭露並不對此限制。除了定時的排程外,步驟S203也可以是由事件驅動,例如使用者介面110可提供讓使用者手動觸發即時監控之功能。
於步驟S204,自動化管理模組105關閉工作執行模組104。此步驟之目的在於,避免在記憶體資料庫102與關聯式資料庫103中的API排程設定不一致的情況下繼續執行API工作,從而防止非預期的錯誤執行或重複執行。此外,關閉工作執行模組104還有助於確保在後續步驟中進行數據同步修正時,系統能夠保持穩定性,避免異常行為的發生。
於步驟S205,自動化管理模組105對齊(align)記憶體資料庫102與關聯式資料庫103中的API排程設定,從而使其一致。
於步驟S206,自動化管理模組105啟動工作執行模組104。此時,記憶體資料庫102與關聯式資料庫103中的API排程設定已一致,因此工作執行模組104可繼續正常運作。
在一實施例中,若在步驟S203發現記憶體資料庫102與關聯式資料庫103中的API排程設定不一致,自動化管理模組更設置以向系統管理員發送警示通知。該警示通知可以透過多種管道發送,例如電子郵件(email)、簡訊(SMS),及/或即時通訊軟體的通知訊息(如Slack、Microsoft Teams等),以確保系統管理員能即時接收到相關訊息。警示通知的內容可包含不一致的數據詳細資訊、異常發生的時間戳記,及/或後續步驟(如步驟S204-S206)的處理概況,惟本揭露並不對此限定。
在一實施例中,關聯式資料庫103是透過相關聯的API資料表及排程資料表,來儲存API排程設定。API資料表是由多個欄位所組成,可包含API識別符(ID)、API名稱、創建該API工作的使用者ID,及/或其他與API工作本身相關的設定資料,惟本揭露並不對此限定。排程資料表亦是由多個欄位所組成,可包含排程ID、排程設定值,及/或其他與排程相關的設定資料(下文稱「排程資料」),惟本揭露並不對此限定。API資料表和排程資料表需要至少一共同欄位,分別稱為主鍵(primary key)和外鍵(foreign key),以建立兩資料表之間的關聯性,並且方便查詢。在一示例的實作態樣中,可以用API ID作為共同欄位,惟本揭露並不對此限定。
另一方面,在此實施例中,記憶體資料庫102是透過鍵值對(key-value pairs)儲存API排程設定。每一鍵值對包含一索引鍵(index key),用於快速查詢和比對。因此,自動化管理模組105可藉由比對上述的排程資料表與索引鍵,以更有效率地檢查該記憶體資料庫102與該關聯式資料庫103中的該些API排程設定是否一致,無須對整個資料庫進行全面的比對。
在一實施例中,排程資料表儲存API工作相應的排程資料。相應地,索引鍵也更包含API工作相應的排程資料。因此,自動化管理模組105可藉由排程資料的比對,來檢查API排程設定的一致性,無須比對完整的API排程設定。
第3圖是根據本揭露之一實施例的自動化管理模組105所實現的一種自動化監控與修復方法30的流程圖。如第3圖所示,自動化管理模組105可透過步驟S301-S304及S312-S314的執行,以實現API工作的自動化監控與修復。同樣地,由於各步驟涉及的元件繪示於第1圖中,建議一併參考第1圖及第3圖,以更清楚地理解本揭露之實施例。
於步驟S301,自動化管理模組105比對索引鍵的數量與排程資料表儲存的排程資料的資料筆數。若發現索引鍵的數量少於排程資料表儲存的排程資料的資料筆數,則進行步驟S302。若發現索引鍵的數量多於排程資料表儲存的排程資料的資料筆數,則進行步驟S312。
於步驟S302,自動化管理模組105關閉工作執行模組104。此步驟之目的與步驟S204相同,於此不再贅述。
於步驟S303,自動化管理模組105將記憶體資料庫102相對於關聯式資料庫103缺少的API排程設定從關聯式資料庫103同步至記憶體資料庫102。舉例而言,假設自動化管理模組105發現記憶體資料庫102中的索引鍵相對於關聯式資料庫103中的排程資料表,缺少了排程ID「125」,因此將排程ID「125」相應的API排程設定從關聯式資料庫103同步至記憶體資料庫102。
於步驟S304,自動化管理模組啟動工作執行模組104。此時,記憶體資料庫102與關聯式資料庫103中的API排程設定已一致,因此工作執行模組104可繼續正常運作。
於步驟S312,自動化管理模組105關閉工作執行模組104。此步驟之目的與步驟S204相同,於此不再贅述。
於步驟S313,自動化管理模組105將記憶體資料庫相對於關聯式資料庫多出的API排程設定刪除。舉例而言,假設自動化管理模組105發現記憶體資料庫102中的索引鍵相對於關聯式資料庫103中的排程資料表,多出了排程ID「253」,因此將排程ID「253」相應的API排程設定予以刪除。
於步驟S314,自動化管理模組啟動工作執行模組104。此時,記憶體資料庫102與關聯式資料庫103中的API排程設定已一致,因此工作執行模組104可繼續正常運作。
第4圖是根據本揭露之進一步的實施例繪示自動化管理模組105所執行的自動化監控與修復方法的更多步驟。如第4圖所示,在發現索引鍵的數量與排程資料表儲存的資料筆數相同時,自動化管理模組105更執行步驟S401-S404,以實現更徹底的監控。同樣地,由於各步驟涉及的元件繪示於第1圖中,建議一併參考第1圖及第4圖,以更清楚地理解本揭露之實施例。
於步驟S401,自動化管理模組105檢查索引鍵包含的排程資料是否與排程資料表儲存的排程資料一致。舉路而言,假設索引鍵和排程資料表的資料數雖然相同,但索引鍵含有排程ID「327」是排程資料表中沒有的,而排程資料表中含有排程ID「136」是索引鍵中沒有的,這代表記憶體資料庫102中的API排程設定存在錯誤。若發現上述這種索引鍵包含的排程資料與排程資料表儲存的排程資料不一致的情況,則進行步驟S402。若索引鍵包含的排程資料與排程資料表儲存的排程資料一致,則結束檢查。
於步驟S402,自動化管理模組105關閉工作執行模組104。此步驟之目的與步驟S204相同,於此不再贅述。
於步驟S403,自動化管理模組105將關聯式資料庫103中的API排程設定同步至記憶體資料庫102。
於步驟S404,自動化管理模組105啟動工作執行模組104。此時,記憶體資料庫102與關聯式資料庫103中的API排程設定已一致,因此工作執行模組104可繼續正常運作。
第5圖是根據本揭露之另一實施例的自動化管理模組105所實現的一種自動化監控與修復方法50的流程圖。如第5圖所示,自動化管理模組105可透過步驟S501-S504的執行,以實現API工作的自動化監控與修復。同樣地,由於各步驟涉及的元件繪示於第1圖中,建議一併參考第1圖及第3圖,以更清楚地理解本揭露之實施例。
應注意,在此實施例中,工作執行模組104將執行API工作所產生的執行日誌儲存至文件資料庫120。此外應理解,第5圖之自動化監控與修復方法50與第3圖之自動化監控與修復方法30可以單獨地實施,或者一併搭配實施。
於步驟S501,自動化管理模組105從執行日誌偵測超時錯誤(timeout error)。超時錯誤代表其相應的API工作已執行超過預定時間,例如10分鐘。若發現超時錯誤,則進行步驟S502。若未發現超時錯誤,則可等待一預先設置的時間間隔,再進行下一輪的偵測。
於步驟S502,自動化管理模組105藉由對超時錯誤相應的API工作發出請求,以決定通知對象為使用者及系統管理員中的何者。舉例而言,若對超時錯誤相應的API工作發出請求後,返回的錯誤信息顯示該工作無法執行或出現異常,表示很可能是由於使用者設定不當(例如,API參數錯誤、不符合預期的資料格式或無效的認證資訊),因此將通知對象設定為使用者。另一方面,若返回的錯誤信息顯示該工作因系統內部問題而無法完成,例如連接超時、資源不足或服務崩潰等與工作執行模組104有關的情形,則將通知對象設定為系統管理員。
於步驟S503,自動化管理模組105向通知對象發送警示通知。具體而言,若在步驟S502決定通知對象為使用者,則向使用者發送警示通知。反之,若決定通知對象為系統管理員,則向系統管理員發送警示通知。
於步驟S504,自動化管理模組105重新啟動工作執行模組。
本揭露之實施例所提供的API排程管理方案,實現了自動化的異常監控及修復。不但能減少人力介入,更能確保API工作流程之穩健度。
以上段落採用多種態樣作敘述。顯然地,本文之教示可以多種方式實現,而在範例中所揭露之任何特定架構或功能僅是一種代表性的情況。根據本文之教示,本領域應理解,可獨立實作本文所揭露之各個態樣,或者合併實作兩種以上之態樣。
雖然本揭露已以實施例敘述如上,然其並非用以限定本揭露,任何熟習此技藝者,在不脫離本揭露之精神和範圍內,當可作些許之更動與潤飾,因此發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:API排程管理系統 101:前端介面模組 102:記憶體資料庫 103:關聯式資料庫 104:工作執行模組 105:自動化管理模組 110:使用者介面 120:文件資料庫 20:API排程管理方法 S201-S206:步驟 30:自動化監控與修復方法 S301-S304,S312-S314:步驟 S401-S404:步驟 50:自動化監控與修復方法 S501-S504:步驟
本揭露將可從以下示範的實施例之敘述搭配附帶的圖式更佳地理解。此外,應理解的是,在本揭露之流程圖中,各區塊的執行順序可被改變,且/或某些區塊可被改變、刪減或合併。 第1圖是根據本揭露之一實施例的一種API排程管理系統之系統架構圖。 第2圖是根據本揭露之一實施例的一種API排程管理方法的流程圖。 第3圖是根據本揭露之一實施例的自動化管理模組所實現的一種自動化監控與修復方法的流程圖。 第4圖是根據本揭露之進一步的實施例繪示自動化管理模組所執行的自動化監控與修復方法的更多步驟。 第5圖是根據本揭露之另一實施例的自動化管理模組所實現的一種自動化監控與修復方法的流程圖。
10:API排程管理系統
101:前端介面模組
102:記憶體資料庫
103:關聯式資料庫
104:工作執行模組
105:自動化管理模組
110:使用者介面
120:文件資料庫

Claims (10)

  1. 一種應用程式介面排程管理系統,包括:一記憶體資料庫(in-memory database);一關聯式資料庫(relational database);一前端介面模組,設置以從一使用者介面接收一或多個API工作(API jobs)相應的API排程設定(API scheduling settings),及將該些API排程設定同步至該記憶體資料庫及該關聯式資料庫;一工作執行模組,設置以根據該記憶體資料庫中的該些API排程設定,執行相應的該一或多個API工作;以及一自動化管理模組,設置以檢查該記憶體資料庫與該關聯式資料庫中的該些API排程設定是否一致;其中,響應於發現該記憶體資料庫及該關聯式資料庫中的該些API排程設定不一致,該自動化管理模組更設置以關閉該工作執行模組,對齊(align)該記憶體資料庫與該關聯式資料庫中的該些API排程設定,及啟動該工作執行模組。
  2. 如請求項1所述之應用程式介面排程管理系統,其中該關聯式資料庫設置以透過相關聯的一API資料表及一排程資料表,儲存該些API排程設定;其中該記憶體資料庫設置以透過鍵值對(key-value pairs)儲存該些API排程設定,每一鍵值對包括一索引鍵(index key);其中該自動化管理模組係藉由比對該排程資料表與該些索引鍵,以檢查該記憶體資料庫與該關聯式資料庫中的該些API排程設定是否一致;以及其中該排程資料表用以儲存該一或多個API工作相應的排程資料,其中該些索引鍵更包括該一或多個API工作的相應的該些排程資料。
  3. 如請求項2所述之應用程式介面排程管理系統,其中該自動化管理模組更設置以比對該些索引鍵的數量與該排程資料表儲存的該些排程資料的資料筆數;其中,響應於發現該些索引鍵的數量少於該排程資料表儲存的該些排程資料的該資料筆數,該自動化管理模組更設置以關閉該工作執行模組,將該記憶體資料庫相對於該關聯式資料庫缺少的該些API排程設定從該關聯式資料庫同步至該記憶體資料庫,及啟動該工作執行模組;以及其中,響應於發現該些索引鍵的數量多於該排程資料表儲存的該些排程資料的該資料筆數,該自動化管理模組更設置以關閉該工作執行模組,將該記憶體資料庫相對於該關聯式資料庫多出的該些API排程設定刪除,及啟動該工作執行模組。
  4. 如請求項3所述之應用程式介面排程管理系統,其中,響應於發現該些索引鍵的數量與該排程資料表儲存的該資料筆數相同,該自動化管理模組更設置以檢查該些索引鍵包括的該些排程資料是否與該排程資料表儲存的該些排程資料一致;以及其中,響應於發現該些索引鍵包括的該些排程資料與該排程資料表儲存的該些排程資料不一致,該自動化管理模組更設置以關閉該工作執行模組,將該關聯式資料庫中的該些API排程設定同步至該記憶體資料庫,及啟動該工作執行模組。
  5. 如請求項1所述之應用程式介面排程管理系統,更包括一文件資料庫(document database);其中該工作執行模組更設置以將執行該一或多個API工作所產生的執行日誌(execution logs)儲存至文件資料庫;其中該自動化管理模組更設置以從該執行日誌偵測一超時錯誤(timeout error),其中該超時錯誤相應於該一或多個API工作中的一者;其中,響應於偵測到該超時錯誤,該自動化管理模組更設置以透過對該超時錯誤相應的該API工作發出請求,以決定一通知對象為一使用者及一系統管理員中的何者;以及其中該自動化管理模組更設置以向該通知對象發送一警示通知,及重新啟動該工作執行模組。
  6. 一種應用程式介面排程管理方法,由一或多個電腦裝置所實施,包括:藉由一前端介面模組,從一使用者介面接收一或多個API工作(API jobs)相應的API排程設定(API scheduling settings),及將該些API排程設定同步至一記憶體資料庫及一關聯式資料庫;藉由一工作執行模組,根據該記憶體資料庫中的該些API排程設定,執行相應的該一或多個API工作;藉由一自動化管理模組,檢查該記憶體資料庫與該關聯式資料庫中的該些API排程設定是否一致;以及藉由該自動化管理模組,響應於發現該記憶體資料庫及該關聯式資料庫中的該些API排程設定不一致,關閉該工作執行模組,對齊(align)該記憶體資料庫與該關聯式資料庫中的該些API排程設定,及啟動該工作執行模組。
  7. 如請求項6所述之應用程式介面排程管理方法,其中該關聯式資料庫透過相關聯的一API資料表及一排程資料表,儲存該些API排程設定;其中該記憶體資料庫透過鍵值對(key-value pairs)儲存該些API排程設定,每一鍵值對包括一索引鍵(index key);其中檢查該記憶體資料庫與該關聯式資料庫中的該些API排程設定是否一致之步驟,更包括比對該排程資料表與該些索引鍵;以及其中該排程資料表用以儲存該一或多個API工作相應的排程資料,其中該些索引鍵更包括該一或多個API工作的相應的該些排程資料。
  8. 如請求項7所述之應用程式介面排程管理方法,其中藉由該自動化管理模組執行之步驟,更包括:比對該些索引鍵的數量與該排程資料表儲存的該些排程資料的資料筆數;響應於發現該些索引鍵的數量少於該排程資料表儲存的該些排程資料的該資料筆數,關閉該工作執行模組,將該記憶體資料庫相對於該關聯式資料庫缺少的該些API排程設定從該關聯式資料庫同步至該記憶體資料庫,及啟動該工作執行模組;以及響應於發現該些索引鍵的數量多於該排程資料表儲存的該些排程資料的該資料筆數,關閉該工作執行模組,將該記憶體資料庫相對於該關聯式資料庫多出的該些API排程設定刪除,及啟動該工作執行模組。
  9. 如請求項8所述之應用程式介面排程管理方法,其中藉由該自動化管理模組執行之步驟,更包括:響應於發現該些索引鍵的數量與該排程資料表儲存的該資料筆數相同,檢查該些索引鍵包括的該些排程資料是否與該排程資料表儲存的該些排程資料一致;以及響應於發現該些索引鍵包括的該些排程資料與該排程資料表儲存的該些排程資料不一致,關閉該工作執行模組,將該關聯式資料庫中的該些API排程設定同步至該記憶體資料庫,及啟動該工作執行模組。
  10. 如請求項6所述之應用程式介面排程管理方法,更包括:藉由該工作執行模組,將執行該一或多個API工作所產生的執行日誌 (execution logs)儲存至一文件資料庫(document database);其中藉由該自動化管理模組執行之步驟,更包括:從該執行日誌偵測一超時錯誤(timeout error),其中該超時錯誤相應於該一或多個API工作中的一者;響應於偵測到該超時錯誤,透過對該超時錯誤相應的該API工作發出請求,以決定一通知對象為一使用者及一系統管理員中的何者;以及向該通知對象發送一警示通知,及重新啟動該工作執行模組。
TW113143755A 2024-11-14 2024-11-14 應用程式介面排程管理系統及其方法 TWI894041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW113143755A TWI894041B (zh) 2024-11-14 2024-11-14 應用程式介面排程管理系統及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW113143755A TWI894041B (zh) 2024-11-14 2024-11-14 應用程式介面排程管理系統及其方法

Publications (1)

Publication Number Publication Date
TWI894041B true TWI894041B (zh) 2025-08-11

Family

ID=97524319

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113143755A TWI894041B (zh) 2024-11-14 2024-11-14 應用程式介面排程管理系統及其方法

Country Status (1)

Country Link
TW (1) TWI894041B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190268412A1 (en) * 2015-04-17 2019-08-29 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
TW202316268A (zh) * 2021-10-01 2023-04-16 王世華 應用程式介面(api)生成與管理系統
CN116339951A (zh) * 2023-03-30 2023-06-27 中国工商银行股份有限公司 排程处理方法、装置、设备及存储介质
TW202425595A (zh) * 2022-12-13 2024-06-16 奔騰網路科技股份有限公司 雲平台管理系統

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190268412A1 (en) * 2015-04-17 2019-08-29 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
TW202316268A (zh) * 2021-10-01 2023-04-16 王世華 應用程式介面(api)生成與管理系統
TW202425595A (zh) * 2022-12-13 2024-06-16 奔騰網路科技股份有限公司 雲平台管理系統
CN116339951A (zh) * 2023-03-30 2023-06-27 中国工商银行股份有限公司 排程处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9311311B2 (en) Archival management of database logs
US9514208B2 (en) Method and system of stateless data replication in a distributed database system
CA2885059C (en) Retrieving point-in-time copies of a source database for creating virtual databases
US10949401B2 (en) Data replication in site recovery environment
US12001290B2 (en) Performing a database backup based on automatically discovered properties
US10769022B2 (en) Database backup from standby DB
US20090113076A1 (en) Hierarchical file synchronization method, software and devices
US9565243B2 (en) System and method for managing event tracking
US12135612B2 (en) Snapshotting hardware security modules and disk metadata stores
JP2005050143A (ja) スナップショットの取得を制御するための装置及び記憶システム
US11886306B2 (en) Systems and methods for leveraging backup metadata to provide granular options for discovery of deleted items and recovery after data backup
US20080228832A1 (en) Interfaces for high availability systems and log shipping
CN108932432A (zh) 数据保护方法和主机服务器系统
US20190050560A1 (en) Systems and methods for auditing isolated computing environments
US11500812B2 (en) Intermediate file processing method, client, server, and system
JP2016167124A (ja) 管理プログラム、管理方法、および管理装置
CN115309417A (zh) 旧式系统上的无应用程序中断的软件更新
US11281550B2 (en) Disaster recovery specific configurations, management, and application
TWI894041B (zh) 應用程式介面排程管理系統及其方法
CN111736874A (zh) 一种应用更新方法及装置
US11238017B2 (en) Runtime detector for data corruptions
US11296870B2 (en) Key management configurations
US10915309B2 (en) Technical configuration delta-driven update and decoupling
US9418097B1 (en) Listener event consistency points
US20230281086A1 (en) Database recovery and database recovery testing