TWI646435B - 無伺服器之系統及其執行方法 - Google Patents

無伺服器之系統及其執行方法 Download PDF

Info

Publication number
TWI646435B
TWI646435B TW106146251A TW106146251A TWI646435B TW I646435 B TWI646435 B TW I646435B TW 106146251 A TW106146251 A TW 106146251A TW 106146251 A TW106146251 A TW 106146251A TW I646435 B TWI646435 B TW I646435B
Authority
TW
Taiwan
Prior art keywords
function
container
microservice
module
management module
Prior art date
Application number
TW106146251A
Other languages
English (en)
Other versions
TW201931144A (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 TW106146251A priority Critical patent/TWI646435B/zh
Application granted granted Critical
Publication of TWI646435B publication Critical patent/TWI646435B/zh
Publication of TW201931144A publication Critical patent/TW201931144A/zh

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

一種無伺服器之系統及其執行方法,係包括:設定模組,係用以設定上下限門檻值;功能統計模組,係用以接收功能之執行的訊息,以及統計該功能的執行次數;微服務管理模組,係提供搭載該功能的微服務;容器管理模組,係提供搭載該功能的容器;以及功能執行選擇模組,係用以比較該功能的執行次數與該上下限門檻值,以依據該比較結果,令該微服務管理模組或該容器管理模組執行該功能。

Description

無伺服器之系統及其執行方法
本發明係有關一種無伺服器技術,尤指一種可加速執行效率之無伺服器之系統及其執行方法。
無伺服器(Serverless)是一種雲端伺服器,使用者不須架設實體伺服器,使用者只需提供適當的代碼,其餘皆由雲端伺服器自動管理。
無伺服器系統並提供程式語言介面讓使用者開發功能,再透過無伺服器系統來執行功能。過去無伺服器系統在執行功能時,是採用即時生成容器(Container)並且載入功能後,才可執行功能,且在執行功能後將搭載功能的容器移除,然而此種作法會有效能低落的問題。
因此,如何有效的提高無伺服器效能,即為本發明所要解決之技術問題。
為克服習知技術之缺失,本發明係提供一種無伺服器之系統,係包括:設定模組,係用以設定上限門檻值及下限門檻值;功能統計模組,係用以接收功能之執行的訊息, 以及統計該功能的執行次數;微服務管理模組,係提供搭載該功能的微服務(Microservices)的生成常駐、移除、查詢及執行該微服務中的功能;容器管理模組,係提供搭載該功能的容器的生成、移除及執行該容器中的功能,其中,該容器執行完該功能後即會予以移除;以及功能執行選擇模組,係連接該設定模組、該功能統計模組、該微服務管理模組以及該容器管理模組,且該功能執行選擇模組用以比較該功能的執行次數與該上限門檻值及該下限門檻值並查詢該微服務,以依據該比較的結果及查詢該微服務的結果,令該微服務管理模組或該容器管理模組執行該功能。
本發明另提供一種無伺服器之執行方法,係包括:(1)設定上限門檻值及下限門檻值;(2)接收功能之執行的訊息,以取得該功能的執行次數;(3)比較該功能的執行次數與該上限門檻值及該下限門檻值;以及(4)依據該比較結果選擇微服務或容器執行該功能,其中,該容器執行完該功能後即會予以移除,且該微服務執行完該功能後會繼續常駐。
本發明的技術特點如下:
1.本發明對於頻繁執行的功能,可透過生成常駐的微服務來執行,省去多次容器生成與終止,減少執行的時間。
2.由於降低容器生成與終止的次數,將可減少系統I/O頻率,增進整體系統效能。
3.本發明亦可當功能執行次數減少時,終止微服務轉換成生成容器執行,節省運算資源。
由上述可得知,本發明依據功能的執行次數,可透過微服務管理模組生成搭載該功能的微服務常駐來執行該功能或移除搭載該功能的微服務,省去多次容器的生成與移除,進而減少執行該功能的時間與節省運算資源,其次,由於降低容器生成與移除的次數,將可減少無伺服器系統I/O頻率,增進無伺服器系統整體效能。
100‧‧‧使用者
102-1‧‧‧微服務1
102-n‧‧‧微服務n
103-1‧‧‧功能1
103-n‧‧‧功能n
104-1‧‧‧容器1
104-m‧‧‧容器m
105-x‧‧‧功能x
105-y‧‧‧功能y
200‧‧‧無伺服器系統
210‧‧‧設定模組
220‧‧‧功能統計模組
230‧‧‧功能執行選擇模組
241‧‧‧微服務管理模組
242‧‧‧容器管理模組
S301~S304‧‧‧步驟
第1圖為本發明之無伺服器之系統之操作架構圖;第2圖為本發明之無伺服器之系統之示意架構圖;以及第3圖為本發明之無伺服器之執行方法之步驟流程圖。
以下藉由特定的具體實施例說明本發明之實施方式,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之其他優點及功效。
須知,本說明書所附圖式所繪示之結構、比例、大小等,均僅用以配合說明書所揭示之內容,以供熟悉此技藝之人士之瞭解與閱讀,並非用以限定本發明可實施之限定條件,故不具技術上之實質意義,任何結構之修飾、比例關係之改變或大小之調整,在不影響本發明所能產生之功效及所能達成之目的下,均應仍落在本發明所揭示之技術內容得能涵蓋之範圍內。
請參閱第1圖,係本發明之無伺服器之系統之操作架 構圖,使用者100可透過無伺服器系統200執行功能,無伺服器系統200在執行功能時有兩種方式,第一種方式是透過微服務102-1~102-n來執行功能103-1~103-n,微服務102-1~102-n是透過無伺服器系統200生成出來,常駐運行,可不斷接收來自無伺服器系統200的請求來執行功能1,每一個微服務只能執行一種功能,第二種是透過容器104-1~104-m來執行功能105-x~105-y,當使用者要執行功能105-x~105-y時,容器104-1~104-m才會被無伺服器系統200生成出來,當功能功能105-x~105-y執行完畢後,容器104-1~104-m會被終止和移除。
第2圖係本發明之無伺服器之系統之示意架構圖。如圖所示,本發明之無伺服器之系統係包括:用以供使用者100設定上限門檻值及下限門檻值之設定模組210,其中,上限門檻值必須大於下限門檻值;功能統計模組220,係用以接收使用者100提出執行功能的訊息,以統計該功能的執行次數;微服務管理模組241,係提供搭載該功能的微服務的生成常駐、移除、查詢及執行該微服務中的功能;容器管理模組242,係提供搭載該功能的容器的生成、移除及執行該容器中的功能,其中,該容器執行完該功能後即會移除該容器;以及功能執行選擇模組230,係連接該設定模組210、該功能統計模組220、該微服務管理模組241以及該容器管理模組242,且功能執行選擇模組230用以比較該功能的執行次數與該上限門檻值及該下限門檻值並查詢該微服務,以依據該比較結果及查詢該微服務的 結果,令該微服務管理模組或該容器管理模組執行該功能。
於一實施例中,該功能統計模組係統計該功能於最近固定時間(如30分鐘)的執行次數。
於一實施例中,當該功能的執行次數大於等於該上限門檻值時,該功能執行選擇模組230向該微服務管理模241組查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組230令該微服務管理模組241執行該功能,若否,則該功能執行選擇模組230令該微服務管理模組241生成搭載該功能的微服務執行該微服務內的該功能。
於一實施例中,當該功能的執行次數小於等於該下限門檻值時,該功能執行選擇模組230向該微服務管理模組241查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組230令該微服務管理模組241移除搭載該功能的微服務,以及令該容器管理模組242生成搭載該功能的容器且執行該容器內的該功能,若否,則該功能執行選擇模組230令該容器管理模組242生成搭載該功能的容器且執行該容器內的該功能。
於一實施例中,當該功能的執行次數小於該上限門檻值及大於該下限門檻值時,該功能執行選擇模組230向該微服務管理模組241查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組230令該微服務管理模組241執行該功能,若否,則該功能執行選擇模組230令該容器管理模組243生成搭載該功能的容器且執行該容器內的該功能。
第3圖係本發明之無伺服器之執行方法之步驟流程圖。如圖所示,本發明無伺服器之執行方法係包括下列步驟。
在步驟S301中,設定上限門檻值及下限門檻值。
在步驟S302中,接收功能之執行的訊息,以取得該功能的執行次數。
在步驟S303中,比較該功能的執行次數與該上限門檻值及該下限門檻值。
在步驟S304中,依據該比較結果選擇微服務或容器執行該功能,其中,該容器執行完該功能後即會移除該容器,該微服務執行完該功能後會繼續常駐。
於一實施例中,該步驟S302係取得該功能於最近固定時間(如30分鐘)的執行次數。
於一實施例中,當該功能的執行次數大於等於該上限門檻值時,該步驟S304係包括查詢該功能是否搭載在該微服務中;若是,選擇該微服務以執行該功能,若否,生成搭載該功能的微服務且執行該微服務內的該功能。
於一實施例中,當該功能的執行次數小於等於該下限門檻值時,該步驟S304係包括查詢該功能是否搭載在該微服務中;若是,移除搭載該功能的微服務,以及生成搭載該功能的容器且執行該容器內的功能,若否,生成搭載該功能的容器且執行該容器內的該功能。
於一實施例中,當該功能的執行次數小於該上限門檻值及大於該下限門檻值時,該步驟S304係包括查詢該功 能是否搭載在該微服務中;若是,選擇該微服務且執行該功能,若否,生成搭載該功能的容器且執行該容器內的該功能。
以下提供三個實施例說明以第2圖之系統操作第3圖所示執行方法之步驟。
第一實施例,假設功能統計模組220統計方式為計算最近30分鐘功能執行次數,功能F最近30分鐘功能執行次數為1500,沒有任何微服務搭載該功能F,詳細操作步驟說明如下:
在步驟S301中,使用者100透過設定模組210輸入上限門檻值為1400及輸入下限門檻值為1000。
在步驟S302中,使用者100向無伺服器系統200提出執行功能F,功能統計模組220接收使用者100提出執行功能F的訊息,且取得該功能F於最近30分鐘的執行次數為1500。
在步驟S303中,功能執行選擇模組230向該設定模組210取得上、下限門檻值及向功能統計模組取得該功能F於最近30分鐘的執行次數,並比較出該功能F於最近30分鐘的執行次數為1500大於等於該上限門檻值為1400。
在步驟S304中,該功能執行選擇模組230向微服務管理模組241查詢微服務是否有搭載該功能F,因本實施例中沒有任何微服務搭載該功能F,該功能執行選擇模組230令該微服務管理模組241生成搭載該功能F的微服務且執行該微服務內的該功能F。
第二實施例,假設功能統計模組220統計方式為計算最近30分鐘功能執行次數,功能F最近30分鐘功能執行次數為900,存在搭載該功能F的微服務,詳細操作步驟說明如下:
在步驟S301中,使用者100透過設定模組210輸入輸入上限門檻值為1400,輸入下限門檻值為1000。
在步驟S302中,使用者100向無伺服器系統200提出執行功能F,功能統計模組220接收使用者100提出功能F執行的訊息,以及取得該功能F於最近30分鐘的執行次數為900。
在步驟S303中,功能執行選擇模組230向該設定模組210取得上下限門檻值及向功能統計模組取得該功能F於最近30分鐘的執行次數,並比較出該功能F於最近30分鐘的執行次數為900小於等於該下限門檻值為1000。
在步驟S304中,該功能執行選擇模組230向微服務管理模組241查詢微服務是否有搭載該功能F,因本實施例中存在微服務搭載該功能F,該功能執行選擇模組230令該微服務管理模組241移除搭載該功能F的微服務,以及令該容器管理模組242生成搭載該功能F的容器且執行該容器內的該功能F。
第三實施例,假設功能統計模組220統計方式為計算最近30分鐘功能執行次數,功能F最近30分鐘功能執行次數為1100,沒有任何微服務搭載該功能F,詳細操作步驟說明如下:
在步驟S301中,使用者100透過設定模組210輸入輸入上限門檻值為1400,輸入下限門檻值為1000。
在步驟S302中,使用者100向無伺服器系統200提出執行功能F,功能統計模組220接收使用者100提出功能F執行的訊息,以及取得該功能F於最近30分鐘的執行次數為1100。
在步驟S303中,功能執行選擇模組230向該設定模組210取得上下限門檻值及向功能統計模組取得該功能F於最近30分鐘的執行次數,並比較出該功能F於最近30分鐘的執行次數為1100小於該上限門檻值為1400及大於該下限門檻值1000。
在步驟S304中,該功能執行選擇模組230向微服務管理模組241查詢微服務是否有搭載該功能F,因本實施例中沒有任何微服務搭載該功能F,該功能執行選擇模組230令該容器管理模組242生成搭載該功能F的容器且執行該容器內的該功能F。
由上述可得知,本發明依據功能的執行次數,可透過微服務管理模組生成搭載該功能的微服務常駐來執行該功能或移除搭載該功能的微服務,省去多次容器的生成與移除,進而減少執行該功能的時間與節省運算資源,其次,由於降低容器生成與移除的次數,將可減少無伺服器系統I/0頻率,增進無伺服器系統整體效能。
上述實施例係用以例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可 在不違背本發明之精神及範疇下,對上述實施例進行修改。因此本發明之權利保護範圍,應如後述之申請專利範圍所列。

Claims (10)

  1. 一種無伺服器之系統,係包括:設定模組,係用以設定上限門檻值及下限門檻值;功能統計模組,係用以接收功能之執行的訊息,以統計該功能的執行次數;微服務管理模組,係提供搭載該功能的微服務的生成常駐、移除、查詢及執行該微服務中的功能;容器管理模組,係提供搭載該功能的容器的生成、移除及執行該容器中的功能,其中,該容器執行完該功能後即會予以移除;以及功能執行選擇模組,係連接該設定模組、該功能統計模組、該微服務管理模組以及該容器管理模組,且該功能執行選擇模組用以比較該功能的執行次數與該上限門檻值及該下限門檻值並查詢該微服務,以依據該比較的結果及查詢該微服務的結果,令該微服務管理模組或該容器管理模組執行該功能。
  2. 如申請專利範圍第1項所述之系統,其中,當該功能的執行次數大於等於該上限門檻值時,該功能執行選擇模組會向該微服務管理模組查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組令該微服務管理模組執行該功能,若否,則該功能執行選擇模組令該微服務管理模組生成搭載該功能的微服務且執行該微服務內的該功能。
  3. 如申請專利範圍第1項所述之系統,其中,當為該功能 的執行次數小於等於該下限門檻值時,該功能執行選擇模組會向該微服務管理模組查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組令該微服務管理模組移除搭載該功能的微服務,以及令該容器管理模組生成搭載該功能的容器且執行該容器內的該功能,若否,則該功能執行選擇模組令該容器管理模組生成搭載該功能的容器且執行該容器內的該功能。
  4. 如申請專利範圍第1項所述之系統,其中,當該功能的執行次數小於該上限門檻值及大於該下限門檻值時,該功能執行選擇模組會向該微服務管理模組查詢是否具有搭載該功能的微服務,若是,則該功能執行選擇模組令該微服務管理模組執行該功能,若否,則該功能執行選擇模組令該容器管理模組生成搭載該功能的容器且執行該容器內的該功能。
  5. 如申請專利範圍第1項所述之系統,其中,該功能統計模組係統計該功能於最近30分鐘的執行次數。
  6. 一種無伺服器之執行方法,係包括:(1)設定上限門檻值及下限門檻值;(2)接收功能之執行的訊息,以取得該功能的執行次數;(3)比較該功能的執行次數與該上限門檻值及該下限門檻值;以及(4)依據該比較結果選擇微服務或容器執行該功能,其中,該容器執行完該功能後即會予以移除,且 該微服務執行完該功能後會繼續常駐。
  7. 如申請專利範圍第6項所述之執行方法,其中,當該功能的執行次數大於等於該上限門檻值時,該步驟(4)係包括:查詢該功能是否搭載在該微服務中;以及若是,選擇該微服務執行該功能,若否,生成搭載該功能的微服務且執行該微服務內的該功能。
  8. 如申請專利範圍第6項所述之執行方法,其中,當該功能的執行次數小於等於該下限門檻值時,該步驟(4)係包括:查詢該功能是否搭載在該微服務中;以及若是,移除搭載該功能的微服務,以及生成搭載該功能的容器且執行該容器內的該功能,若否,生成搭載該功能的容器且執行該容器內的該功能。
  9. 如申請專利範圍第6項所述之執行方法,其中,當該功能的執行次數小於該上限門檻值及大於該下限門檻值時,該步驟(4)係包括:查詢該功能是否搭載在該微服務中;以及若是,選擇該微服務執行該功能,若否,生成搭載該功能的容器且執行該容器內的該功能。
  10. 如申請專利範圍第6項所述之執行方法,其中,該步驟(2)係取得該功能於最近30分鐘的執行次數。
TW106146251A 2017-12-28 2017-12-28 無伺服器之系統及其執行方法 TWI646435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106146251A TWI646435B (zh) 2017-12-28 2017-12-28 無伺服器之系統及其執行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106146251A TWI646435B (zh) 2017-12-28 2017-12-28 無伺服器之系統及其執行方法

Publications (2)

Publication Number Publication Date
TWI646435B true TWI646435B (zh) 2019-01-01
TW201931144A TW201931144A (zh) 2019-08-01

Family

ID=65803634

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106146251A TWI646435B (zh) 2017-12-28 2017-12-28 無伺服器之系統及其執行方法

Country Status (1)

Country Link
TW (1) TWI646435B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI684347B (zh) * 2019-01-10 2020-02-01 中華電信股份有限公司 自動調節無伺服器程式之系統與其方法
TWI697217B (zh) * 2019-01-30 2020-06-21 中華電信股份有限公司 用以重複執行無服務器程式之容器控管系統及其方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI305618B (en) * 2003-03-07 2009-01-21 Ibm Use of virtual targets for preparing and servicing requests for server-free data transfer operations
TW201329734A (zh) * 2011-09-12 2013-07-16 Intel Corp 元資料驅動的應用程式與網路服務間的合作
US20160124742A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Microservice-based application development framework
WO2016192866A1 (en) * 2015-06-03 2016-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Implanted agent within a first service container for enabling a reverse proxy on a second container
TW201711426A (zh) * 2015-04-30 2017-03-16 生活速度公司 大規模可擴展之非同步後端雲端運算架構
US20170242689A1 (en) * 2016-02-22 2017-08-24 International Business Machines Corporation Language-Independent Program Composition using Containers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI305618B (en) * 2003-03-07 2009-01-21 Ibm Use of virtual targets for preparing and servicing requests for server-free data transfer operations
TW201329734A (zh) * 2011-09-12 2013-07-16 Intel Corp 元資料驅動的應用程式與網路服務間的合作
US20160124742A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Microservice-based application development framework
TW201711426A (zh) * 2015-04-30 2017-03-16 生活速度公司 大規模可擴展之非同步後端雲端運算架構
WO2016192866A1 (en) * 2015-06-03 2016-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Implanted agent within a first service container for enabling a reverse proxy on a second container
US20170242689A1 (en) * 2016-02-22 2017-08-24 International Business Machines Corporation Language-Independent Program Composition using Containers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI684347B (zh) * 2019-01-10 2020-02-01 中華電信股份有限公司 自動調節無伺服器程式之系統與其方法
TWI697217B (zh) * 2019-01-30 2020-06-21 中華電信股份有限公司 用以重複執行無服務器程式之容器控管系統及其方法

Also Published As

Publication number Publication date
TW201931144A (zh) 2019-08-01

Similar Documents

Publication Publication Date Title
WO2022037039A1 (zh) 神经网络架构搜索方法以及装置
CN109815283B (zh) 一种异构数据源可视化查询方法
WO2017016422A1 (zh) 一种基于云的数据库的检测方法和装置
CN104102543A (zh) 一种云计算环境中负载调整的方法和装置
US20200264928A1 (en) Predictive Job Admission Control with Feedback
WO2020242631A1 (en) System and method for cardinality estimation feedback loops in query processing
TWI646435B (zh) 無伺服器之系統及其執行方法
Yin et al. System resource utilization analysis and prediction for cloud based applications under bursty workloads
CN110647392A (zh) 一种基于容器集群的智能弹性伸缩方法
Wang et al. Modeling and performance analysis of the multiple controllers' approach in software defined networking
WO2022103575A1 (en) Techniques for modifying cluster computing environments
JP2019508774A (ja) データベースシステム最適化の方法、システム、電子装置及び記憶媒体
JP2018509666A (ja) Sql実行計画を決定するための方法および装置
US9916182B2 (en) Method and apparatus for allocating stream processing unit
CN108549578A (zh) 一种中断聚合装置及其方法
Meng et al. Achieving energy efficiency through dynamic computing offloading in mobile edge-clouds
CN106686619B (zh) 一种性能评估方法和设备
CN111917573B (zh) 监控方法、监控系统及计算设备
CN104580489A (zh) 一种云环境下的Web应用弹性扩展方法
US10592473B2 (en) Method for improving energy efficiency of map-reduce system and apparatus thereof
CN106874215B (zh) 一种基于Spark算子的序列化存储优化方法
US20220335047A1 (en) System and method for dynamic memory allocation for query execution
CN105518617B (zh) 缓存数据的处理方法及装置
Sadok et al. Of Apples and Oranges: Fair Comparisons in Heterogenous Systems Evaluation
Bruschi et al. Model-based analytics for profiling workloads in virtual network functions