TWI654528B - System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule template - Google Patents
System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule templateInfo
- Publication number
- TWI654528B TWI654528B TW105128209A TW105128209A TWI654528B TW I654528 B TWI654528 B TW I654528B TW 105128209 A TW105128209 A TW 105128209A TW 105128209 A TW105128209 A TW 105128209A TW I654528 B TWI654528 B TW I654528B
- Authority
- TW
- Taiwan
- Prior art keywords
- cluster
- service
- service component
- information
- rule template
- Prior art date
Links
Abstract
本發明係揭露一種基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法,係利用Linux Container輕量化啟動技術,可於數秒鐘內啟動服務元件,並由協調單元從緩存記憶體中取得叢集組態資訊並立即進行設置,整個過程能夠於數秒內計時完成,大幅提升叢集自動化設定與服務元件擴充速度。此外,與應用服務協同運作的服務元件,可以獨立進行服務節點的延展或縮減,而不影響服務元件間正在協同運作的既有功能與狀態,此快速自動化設定方法提供服務元件組合的彈性並提升叢集建構效率。
Description
本發明屬於一種動態叢集規則範本之服務元件自動建構與水平延展的系統與方法,特別是可以獨立進行服務節點的延展或縮減,而不影響服務元件間正在協同運作的既有功能與狀態。
在現今的購物或訂票網站中,一般使用資料庫服務、緩存服務或佇列服務等服務元件來支持該網站的訊息儲存與派送功能,並以叢集架構來提供可靠性及可用性,通常還會加上以雲端運算技術的延展性來處理瞬間湧入大批流量的問題。然而單純地啟動延展並不保證能達到叢集應有的效能,尚需提供額外的組態資訊給延展後該服務元件的全體叢集成員。
本案發明人鑑於上述習用方式所衍生的各項缺點,乃亟思加以改良創新,並經多年苦心孤詣潛心研究後,終於成功研發完成本基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法。
為達上述目的,本發明提出提供一種動態叢集規則範本之服務元件自動建構與水平延展的系統與方法,相較於一般採取以虛擬機方式擴充服務元件的應用服務,需要數分鐘等待虛擬機複製及啟動服務元件的冗長時間,本發明利用Linux Container(Linux容器)輕量化啟動技術,可於數秒鐘內啟動服務元件,並由協調單元從緩存記憶體中取得叢集組態資訊並立即進行設置,整個過程能夠於數秒內計時完成,大幅提升叢集自動化設定與服務元件擴充速度。此外,與應用服務協同運作的服務元件,可以獨立進行服務節點的延展或縮減,而不影響服務元件間正在協同運作的既有功能與狀態,此快速自動化設定方法提供服務元件組合的彈性並提升叢集建構效率。
本發明之另一目的在於一種將動態叢集規則範本儲存於緩存記憶體中以達到快速查取與自動化設定的機制,透過一模組依服務元件類型分類自動建構叢集時所需的連線資訊與組態資料,包括基礎節點數量、主從架構模式、初始資料設置、安全政策派送等,並產生對應的叢集規則範本儲存於協調單元的緩存記憶體(採用key-value(鍵-值)架構儲存)中。叢集規則範本以服務元件類型為索引值,對應到三大部分:第一部分為叢集整體資訊,例如叢集架構種類(定義master/slave、peer-to-peer或其他類型架構)、叢集成員最少數目、叢集成員最大數目、或安全政策派送(如安全連線規則)等。第二部分為叢集成員資訊,例如個別成員的連線資訊、運行狀態、是否為叢集主成員(運行時角色為master node)等。第三部分則為服務資訊,例如帳號、密碼或服務元件所需的相關設定值。一個服務元件類型對應到一個叢集規則範本(以
JSON或XML格式處理),形成一筆key-value資料儲存於緩存記憶體中。接著定時由另一模組向儲存裝置查詢最新的服務元件資訊,並比對緩存記憶體內的叢集規則範本,自動化進行叢集建構與服務元件叢集成員異動之設定,之後叢集成員的最新資料再動態更新到叢集規則範本中,以供下次執行時使用。
一種基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其主要包括一服務註冊單元,係與Container(容器)管理單元介接,並負責將監控與註冊服務元件中之叢集成員的資訊,再將該叢集成員最新的服務與連線資料記錄於儲存單元;一叢集組態管理單元,係建立叢集規則範本,依服務元件類型分類自動建構叢集時所需的連線資訊與組態資料,再將該服務元件類型與該叢集規則範本儲存於協調單元的緩存記憶體(key-value)中;一協調單元,係定時向該儲存單元查詢最新的服務元件資訊,比對該緩存記憶體內的叢集規則範本,若有新增或異動之服務元件成員,則由該叢集規則範本取得連線與組態資訊,並執行叢集自動建構與叢集成員異動之設定,之後叢集成員的最新資料再更新到叢集規則範本中,以供協調單元下一次執行時使用。
其中連線資訊與組態資料,係包括基礎節點數量、主從架構模式、初始資料設置、安全政策派送;服務元件類型,係包含叢集整體資訊、叢集成員資訊、服務資訊;其中叢集整體資訊,係包括叢集架構種類,其定義為master/slave(主/從式)、peer-to-peer(點對點式)、叢集成員最少數目、叢集成員最大數目、或安全政策派送,如安全連線規則;叢集成員資訊,係包括個別成員的連線資訊、運行狀
態、是否為叢集主成員;服務資訊,係包括帳號、密碼或服務元件所需的相關設定值。
一種基於動態叢集規則範本之服務元件自動建構與水平延展的方法,其包括:設定定時器以定時啟動協調單元與服務註冊單元;叢集組態管理單元依服務元件類型建立叢集規則範本;服務註冊單元定時收集所有叢集成員的服務與網路連線資訊;定時器觸發協調單元執行自動化設定。
其中自動化設定,其流程包括:協調單元向儲存單元查詢所有服務元件的服務型態和連線資料;是否所有服務元件已處理完畢,若為是,則結束流程;若為否,則選取一未處理之服務元件,查得目前的叢集成員,再以其服務型態為索引值取得對應的叢集規則範本;比對前次執行時的叢集成員列表,檢查叢集成員是否有異動,若為否,則回是否所有服務元件已處理完畢,並重新判斷;若為是,則由叢集規則範本取得連線與組態資訊,執行叢集自動建構與成員異動設定;將目前的叢集成員資訊更新到叢集規則範本中;結束流程。
本發明所提供一種基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法,與其他習用技術相
互比較時,更具備下列優點:
1.在於提升叢集自動化設定與服務元件擴充速度,協助解決短時間內大批訊息的處理問題。
2.服務註冊元件與Container管理單元介接,負責監控與註冊叢集成員內連線資訊,記錄於儲存元件,自動發覺叢集內成員的異動。
3.提供一種將動態叢集規則範本儲存於緩存記憶體中以達到快速查取與自動化設定的機制。
102‧‧‧應用服務
104‧‧‧服務元件一
106‧‧‧服務元件二
108‧‧‧協調單元
110‧‧‧服務註冊單元
1121~112m‧‧‧叢集成員
1141~114n‧‧‧叢集成員
1161~116X‧‧‧叢集成員
118‧‧‧儲存單元
120‧‧‧叢集組態管理單元
122‧‧‧Container管理單元
124‧‧‧運行單元
202‧‧‧叢集規則範本
204‧‧‧服務元件類型
206‧‧‧叢集整體資訊
208‧‧‧叢集成員資訊
210‧‧‧服務資訊
S302~S308‧‧‧流程
S402~S412‧‧‧自動化設定流程
請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效;有關附圖為:圖1為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之架構示意圖;圖2為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之叢集規則範本架構圖;圖3為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之流程圖;圖4為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之自動化設定流程圖。
為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,但並不用於限定本發明。
以下,結合附圖對本發明進一步說明:
請參閱圖1所示,係為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之架構示意圖,其系統之組成包括應用服務102、服務元件一104、服務元件二106、協調單元108、服務註冊單元110、儲存單元118、叢集組態管理單元120、Container管理單元122,其中服務元件一104、服務元件二106,是為支持應用服務功能之需求,可以包括資料庫服務、緩存服務或佇列服務等類型,其服務元件一104、服務元件二106可以是單一程序或是多個運行程序構成的叢集式服務元件,如服務元件一104叢集成員1141、1142、…114n、服務元件二106叢集成員1161、1162、116x,Container管理單元122,是利用Linux Container(Linux容器)輕量化與底層資源共用技術,提供資源配置和服務元件部署的功能,服務註冊單元110,是負責定時監控服務元件一104、服務元件二106中叢集成員的加入或移除,並收集所有叢集成員的網路連線資訊,儲存單元118,是用於存放服務註冊單元110所收集的連線資訊,叢集組態管理單元120,是依服務元件一104、服務元件二106之類型分類自動建構叢集時所需的連線資訊與組態資料,包括基礎節點數量、主從架構模式、初始資料設置、安全政策派送等,並產生對應的叢集規則範本儲存於協調單元108的緩存記憶體中,其緩存記憶體採用key-value(鍵-值)鍵值架構儲存中,協調單元108,定時向儲存單元118查詢最新的服務元件資訊,比對緩存記憶體內的叢集規則範本,若有新增或異動之服務元件成員,則由叢集規則範本取得連線與組態資訊,執行叢集自動建構與服務元件成員異動之設定。
一個應用服務102,其叢集成員為1121、1122、…
112m,使用服務元件一104、服務元件二106來支持該應用服務的功能,服務元件一104之叢集成員1141、1142、…114n,叢集成員間可以有master/slave或peer-to-peer等架構,向外提供特定的服務,例如,資料庫、緩存、或佇列;叢集架構和服務種類僅為舉例說明,但不以此為限。
服務元件二106包含叢集成員1161、1162、…116x,其叢集可以具有和服務元件一106相同或不同的架構,向外提供另一種特定的服務。服務元件一104和服務元件二106彼此可以具備合作的關係,如client/server(用戶端/伺服器模式)、publish/subscribe(發佈/定閱模式)或producer/consumer(生產者/消費者模式)等方式,藉以提供更複雜的功能。
Container管理單元122是利用Linux Container技術,亦可以使用Docker engine技術,能夠啟動服務元件一104和服務元件二106,並在啟動時觸發事件,去通知服務註冊單元110有關服務元件一104和服務元件二106的網路連線資料。並提供API,可接受請求協調單元108的請求,執行針對服務元件一104和服務元件二106的組態設定。
服務註冊單元110,透過Container管理單元122,負責查詢與記錄服務元件一104和服務元件二106中叢集成員1141、1142、…114n、1161、1162、…116x即時的網路連線資訊,包含服務種類。
儲存單元118,主要用於存放服務註冊單元110所收集的服務與連線資訊。
叢集組態管理單元120,依服務元件類型分類自動建構叢集時所需的連線資訊與組態資料,包括基礎節點數量、主從架構模式、初始資料設置、安全政策派送等,並產生對
應的叢集規則範本儲存於協調單元108的緩存記憶體,其緩存記憶體採用key-value(鍵-值)鍵值架構儲存中。
協調單元108,定時向儲存單元118查詢服務元件一104和服務元件二106的異動資料,並可連結至服務元件一106和服務元件二108,自動調整其與叢集成員1141、1142、…114n、1161、1162、…116x相關之組態設定,亦可透過Container管理單元122提供之API間接與服務元件一104和服務元件二106溝通。
其服務元件一104和服務元件二106為一組對應,服務元件數量僅為舉例說明,但不以此為限。
運行單元124為一實體主機,上面可運行Container管理單元122、服務元件一、104服務元件二108以及服務註冊單元110,必要時也可多部主機一起運作,以提供更多的運算資源。
請參閱圖2所示,係為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之叢集規則範本架構圖,一個叢集規則範本202以服務元件類型204為索引值,對應到三大部分:
第一部分為叢集整體資訊206,例如叢集架構種類,其定義為master/slave、peer-to-peer或其他類型架構、叢集成員最少數目、叢集成員最大數目、或安全政策派送,如安全連線規則等。
第二部分為叢集成員資訊208,例如個別成員的連線資訊、運行狀態、是否為叢集主成員。
第三部分則為服務資訊210,例如帳號、密碼或服務元件所需的相關設定值。叢集整體資訊206、叢集成員資訊208、
和服務資訊210這三部分所包含的資料可用JSON、XML、或其他可定義結構型資料的格式來儲存。
請參閱圖3所示,係為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之流程圖,其步驟如下:S302設定定時器以定時啟動協調單元與服務註冊單元;S304叢集組態管理單元依服務元件類型建立叢集規則範本;S306服務註冊單元定時收集所有叢集成員的服務與網路連線資訊;S308定時器觸發協調單元執行自動化設定。
請參閱圖4所示,係為本發明基於動態叢集規則範本之服務元件自動建構與水平延展的系統與方法之自動化設定流程圖,其步驟如下:S402協調單元向儲存單元查詢所有服務元件的服務型態和連線資料;S404是否所有服務元件已處理完畢,若為是,則結束流程;S406若為否,則選取一未處理之服務元件,查得目前的叢集成員,再以其服務型態為索引值取得對應的叢集規則範本;S408比對前次執行時的叢集成員列表,檢查叢集成員是否有異動,若為否,則回S404是否所有服務元件已處理完畢,並重新判斷;若為是,則S410由叢集規則範本取得連線與組態資訊,執行叢集自動建構與成員異動設定;
S412將目前的叢集成員資訊更新到叢集規則範本中;結束流程。
上列詳細說明乃針對本發明之一可行實施例進行具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
綜上所述,本案不僅於技術思想上確屬創新,並具備習用之傳統方法所不及之上述多項功效,已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請貴局核准本件發明專利申請案,以勵發明,至感德便。
Claims (8)
- 一種基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其主要包括:一容器(Container)管理單元,係用於啟動至少一服務元件以及取得該至少一服務元件之網路連線資訊;一服務註冊單元,係與該容器管理單元介接,用於在該容器管理單元啟動該至少一服務元件時接收該至少一服務元件之網路連線資訊,並負責監控與註冊該至少一服務元件中之叢集成員的資訊,再將該叢集成員最新的服務與連線資料記錄於儲存單元;一叢集組態管理單元,係建立叢集規則範本,依服務元件類型分類自動建構叢集時所需的連線資訊與組態資料,再將該服務元件類型與該叢集規則範本儲存於協調單元的緩存記憶體中;一協調單元,係定時向該儲存單元查詢最新的服務元件資訊,比對該緩存記憶體內的叢集規則範本,若有新增或異動之服務元件成員,則由該叢集規則範本取得連線與組態資訊,並執行叢集自動建構與叢集成員異動之設定,之後叢集成員的最新資料再更新到叢集規則範本中,以供協調單元下一次執行時使用。
- 如申請專利範圍第1項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其中該連線資訊與組態資料,係包括基礎節點數量、主從架構模式、初始資料設置、安全政策派送。
- 如申請專利範圍第1項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其中該服務元件類型, 係包含叢集整體資訊、叢集成員資訊、服務資訊。
- 如申請專利範圍第3項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其中該叢集整體資訊,係包括叢集架構種類,其定義為master/slave(主/從式)、peer-to-peer(點對點式)、叢集成員最少數目、叢集成員最大數目、或安全政策派送,如安全連線規則。
- 如申請專利範圍第3項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其中該叢集成員資訊,係包括個別成員的連線資訊、運行狀態、是否為叢集主成員。
- 如申請專利範圍第3項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的系統,其中該服務資訊,係包括帳號、密碼或服務元件所需的相關設定值。
- 一種基於動態叢集規則範本之服務元件自動建構與水平延展的方法,其包括:設定定時器以定時啟動協調單元與服務註冊單元;叢集組態管理單元依服務元件類型建立叢集規則範本;服務註冊單元透過容器(Container)管理單元定時收集至少一服務元件內所有叢集成員的服務與網路連線資訊;定時器觸發協調單元執行自動化設定。
- 如申請專利範圍第7項所述之基於動態叢集規則範本之服務元件自動建構與水平延展的方法,其中該自動化設定,其流程包括:協調單元向儲存單元查詢所有服務元件的服務型態和 連線資料;是否所有服務元件已處理完畢,若為是,則結束流程;若為否,則選取一未處理之服務元件,查得目前的叢集成員,再以其服務型態為索引值取得對應的叢集規則範本;比對前次執行時的叢集成員列表,檢查叢集成員是否有異動,若為否,則回是否所有服務元件已處理完畢,並重新判斷;若為是,則由叢集規則範本取得連線與組態資訊,執行叢集自動建構與成員異動設定;將目前的叢集成員資訊更新到叢集規則範本中;結束流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105128209A TWI654528B (zh) | 2016-09-01 | 2016-09-01 | System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule template |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105128209A TWI654528B (zh) | 2016-09-01 | 2016-09-01 | System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule template |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201812611A TW201812611A (zh) | 2018-04-01 |
TWI654528B true TWI654528B (zh) | 2019-03-21 |
Family
ID=62639199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105128209A TWI654528B (zh) | 2016-09-01 | 2016-09-01 | System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule template |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI654528B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI668572B (zh) * | 2018-09-27 | 2019-08-11 | 神雲科技股份有限公司 | 叢集式儲存系統之裝置資訊提供方法 |
CN110968427A (zh) * | 2019-12-05 | 2020-04-07 | 北京京东尚科信息技术有限公司 | 集群资源的控制方法、装置和云计算系统 |
-
2016
- 2016-09-01 TW TW105128209A patent/TWI654528B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201812611A (zh) | 2018-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11966391B2 (en) | Using worker nodes to process results of a subquery | |
US11663227B2 (en) | Generating a subquery for a distinct data intake and query system | |
US11494380B2 (en) | Management of distributed computing framework components in a data fabric service system | |
US11341131B2 (en) | Query scheduling based on a query-resource allocation and resource availability | |
US10977260B2 (en) | Task distribution in an execution node of a distributed execution environment | |
US11126632B2 (en) | Subquery generation based on search configuration data from an external data system | |
US11599541B2 (en) | Determining records generated by a processing task of a query | |
US11321321B2 (en) | Record expansion and reduction based on a processing task in a data intake and query system | |
US11615104B2 (en) | Subquery generation based on a data ingest estimate of an external data system | |
US20230049579A1 (en) | Executing commands from a distributed execution model | |
US11314753B2 (en) | Execution of a query received from a data intake and query system | |
US20200050607A1 (en) | Reassigning processing tasks to an external storage system | |
US20190258632A1 (en) | Determining a Record Generation Estimate of a Processing Task | |
US10698897B2 (en) | Executing a distributed execution model with untrusted commands | |
US20190147092A1 (en) | Distributing partial results to worker nodes from an external data system | |
US20190147085A1 (en) | Converting and modifying a subquery for an external data system | |
US11422873B2 (en) | Efficient message queuing service using multiplexing | |
US20180089258A1 (en) | Resource allocation for multiple datasets | |
US20180089306A1 (en) | Query acceleration data store | |
US20180089259A1 (en) | External dataset capability compensation | |
US20070288500A1 (en) | Extensible data collectors | |
US10135703B1 (en) | Generating creation performance metrics for a secondary index of a table | |
TWI654528B (zh) | System and method for automatic construction and horizontal extension of service elements based on dynamic clustering rule template | |
US11888938B2 (en) | Systems and methods for optimizing distributed computing systems including server architectures and client drivers | |
Mukhopadhyay et al. | Analytics at Scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |