TWI617982B - 協助使用者管理軟體容器的計算機裝置與方法 - Google Patents
協助使用者管理軟體容器的計算機裝置與方法 Download PDFInfo
- Publication number
- TWI617982B TWI617982B TW105138081A TW105138081A TWI617982B TW I617982 B TWI617982 B TW I617982B TW 105138081 A TW105138081 A TW 105138081A TW 105138081 A TW105138081 A TW 105138081A TW I617982 B TWI617982 B TW I617982B
- Authority
- TW
- Taiwan
- Prior art keywords
- software container
- data
- graphic
- computer device
- node
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本揭露關於一種協助使用者管理軟體容器的計算機裝置與方法。該方法包含:由一計算機裝置來轉換軟體容器資料為圖形資料,該軟體容器資料包含識別資料及相依資料;由該計算機裝置來儲存該圖形資料至一圖形資料庫;以及由該計算機裝置因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者根據該圖形資料管理軟體容器。該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言。
Description
本發明涉及一種計算機裝置與方法。更具體而言,本發明涉及一種協助一使用者管理軟體容器的計算機裝置與方法。
Linux軟體容器(Linux Containers,LXC)是一種作業系統層虛擬化(Operating system-level virtualization)技術,其可將應用軟體系統打包成一個軟體容器(Container),或簡稱為容器,且內含應用軟體本身的程式碼,以及所需要的作業系統核心和函式庫。Docker是一個開放原始碼軟體專案,其讓應用程式部署在軟體容器下的工作可以自動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統層虛擬化的自動管理機制。
Docker採用了AUFS(Advance UnionFS)檔案系統來設計一個可以層層堆疊的軟體容器映像檔,將軟體容器內的所有程式(包括應用程式、相關函式庫、設定檔),都打包進Docker映像檔,並且提供了一個名為Dockerfile的設定檔來記錄建立軟體容器過程的每一個步驟包括參數。只要在任何支援Docker平台的環境中,就可以從這個映像檔來建立出一個一模一樣的軟體容器來執行同一個應用程式。如此一來,應用程式等於是可以透
過Docker映像檔,或甚至只需要Dockerfile,就能將程式執行環境帶著走,移動到任何支援Docker的環境中。
在Docker這個架構下,由於軟體容器的部署與遷移都變得非常容易,故使得軟體容器的數量呈現了快速的成長。然而,如此快速且大量的部署軟體容器也造成了使用者不易於管理軟體容器,尤其是,不易於管理軟體容器的各種相依狀態,例如容器與容器之間的相依狀態、容器與實體機器之間的相依狀態、容器與虛擬機器之間的相依狀態等等。有鑑於此,如何在快速且大量部署軟體容器的趨勢下,提供一種易於管理軟體容器的方案,尤其是,管理軟體容器的各種相依狀態的方案,將是本發明所屬技術領域中的一項重要目標。
為了達到上述目標,本發明的一個態樣可以是一種用以協助一使用者管理軟體容器的計算機裝置。該計算機裝置可包含一處理器與一儲存器。該處理器可用以轉換軟體容器資料為圖形資料,其中該軟體容器資料可包含識別資料及相依(dependency)資料。該儲存器可包含一圖形資料庫(graph database),該圖形資料庫可用以儲存該圖形資料。該處理器還可用以因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者可根據該圖形資料管理軟體容器,其中,該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言。
為了達到上述目標,本發明的一個態樣可以是一種用以協助一使用者管理軟體容器的方法。該方法可包含下列步驟:由一計算機裝置來轉換軟體容器資料為圖形資料,該軟體容器資料包
含識別資料及相依資料;由該計算機裝置來儲存該圖形資料至一圖形資料庫;以及由該計算機裝置因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者根據該圖形資料管理軟體容器,其中,該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言。
綜上所述,本發明可將軟體容器資料轉換為圖形資料並將其儲存至一圖形資料庫,以便讓使用者可根據該圖形資料庫所儲存的圖形資料來管理軟體容器。相較於軟體容器資料本身的表示方式(例如文字、表格)不容易呈現軟體容器的各種相依狀態,圖形資料的表示方式可透過圖形遍歷(Graph Traversal)的操作而輕易地且視覺化地呈現軟體容器的各種相依狀態。另外,將軟體容器資料轉換為圖形資料可讓使用者只需利用符合該圖形資料庫的一圖形操縱語言就可輕易地查詢該圖形資料。因此,在快速且大量部署軟體容器的趨勢下,本發明確實提供了一種易於管理軟體容器的方案。
以上內容呈現了本發明的摘要說明(涵蓋了本發明解決的問題、採用的手段以及達到的功效),以提供對本發明的基本理解。以上內容並非有意概括本發明的所有態樣。另外,以上內容既不是為了確認本發明的任一或所有態樣的關鍵或必要元件,也不是為了描述本發明的任一或所有態樣的範圍。上述內容的目的僅是以一簡單形式來呈現本發明的部分態樣的某些概念,以作為隨後詳細描述的一個引言。
如下所示:
1‧‧‧計算機裝置
10‧‧‧硬體層
11‧‧‧處理器
12‧‧‧作業系統核心層
121‧‧‧橋接器
111‧‧‧格式化程序
113‧‧‧圖形化程序
13‧‧‧儲存器
131‧‧‧軟體容器資料庫
133‧‧‧圖形資料庫
1331‧‧‧圖形資料庫的格式
135‧‧‧圖解資料庫
15‧‧‧I/O介面
17‧‧‧網路介面
171‧‧‧容器應用程式介面
191‧‧‧流量偵測介面
20‧‧‧使用者輸入
40‧‧‧軟體容器資料
42‧‧‧經格式化的軟體容器資料
50‧‧‧圖形資料
6‧‧‧協助使用者管理軟體容器的方法
601~605‧‧‧步驟
8‧‧‧計算機裝置
9‧‧‧網路
C‧‧‧軟體容器
Cd‧‧‧偵測軟體容器
第1圖例示了在本發明的一或多個實施例中一種用以協助一
使用者管理軟體容器的計算機裝置。
第2圖例示了在本發明的一或多個實施例中轉換軟體容器資料為圖形資料的一過程。
第3圖例示了在本發明的一或多個實施例中一圖形資料庫的一格式。
第4圖例示了在本發明的一或多個實施例中一軟體容器環境。
第5圖例示了在本發明的一或多個實施例中一圖形資料庫中的圖形資料。
第6圖例示了在本發明的一或多個實施例中一種用以協助一使用者管理軟體容器的方法。
以下所述各種實施例並非用以限制本發明只能在所述的環境、應用、結構、流程或步驟方能實施。於圖式中,與本發明非直接相關的元件皆已省略。於圖式中,各元件的尺寸以及各元件之間的比例僅是範例,而非用以限制本發明。除了特別說明之外,在以下內容中,相同(或相近)的元件符號可對應至相同(或相近)的元件。
第1圖例示了在本發明的一或多個實施例中一種用以協助一使用者管理軟體容器的計算機裝置,但第1圖所示的計算機裝置只是一個範例,而非為了限制本發明。參照第1圖,一計算機裝置1可包含一處理器11、一儲存器13、一I/O介面15與一網路介面17。可透過其他元件,例如透過各種匯流排(Bus),使處理器11、儲存器13、I/O介面15與網路介面17電性連
接(即間接電性連接);或者可不透過其他元件而使處理器11、儲存器13、I/O介面15與網路介面17電性連接(即直接電性連接)。透過該直接連接或該間接連接,可在處理器11、儲存器13、I/O介面15與網路介面17之間傳遞訊號並交換資料。計算機裝置1可以是各種類型的計算機裝置,例如但不限於行動電話、筆記型電腦、平板電腦等、桌上型電腦等。
處理器11可以是一般計算機裝置/電腦內所具備的一中央處理器(CPU),可被編程以解釋電腦指令、處理計算機軟體中的資料、以及執行各種運算程序。該中央處理器可以是一由多個獨立單元構成的處理器、或是一由一或多個積體電路構成的微處理器。
儲存器13可包含一般計算機裝置/電腦內所具備的各種儲存單元。儲存器13可包含第一級記憶體(又稱主記憶體或內部記憶體),通常簡稱為記憶體,這層的記憶體與CPU直接連通。CPU可讀取儲存在記憶體的指令集,並在需要時執行這些指令集。儲存器13還可包含第二級記憶體(又稱外部記憶體或輔助記憶體),且第二級記憶體和中央處理器並沒有直接連通,而是透過記憶體的I/O通道來與之連接,並使用資料緩衝器來將資料傳送至第一級記憶體。在不供應電源的情況下,第二級記憶體的資料仍然不會消失(即非揮發性)。第二級記憶體可例如是各種類型的硬碟、光碟等。儲存器13亦可包含第三級儲存裝置,亦即,可直接插入或自電腦拔除的儲存裝置,例如隨身碟。
I/O介面15可包含一般計算機裝置/電腦內所具備的各種輸入/輸出元件,用以接收來自外部的資料以及輸出資料至外部。例如但不限於:滑鼠、軌跡球、觸控板、鍵盤、掃描器、麥克風、使用者介面、螢幕、
觸控式螢幕、投影機等等。
網路介面17可包含一般計算機裝置/電腦內所具備的至少一實體網路介面卡,以作為計算機裝置1與一網路9兩者之間的一個互接(interconnection)點,其中網路9可以是一私有網路(例如區域網路)或是一公開網路(例如網際網路)。根據不同的需求,網路介面17可讓計算機裝置1以有線存取或無線存取的方式,在網路9上與其他電子裝置進行通訊並交流資料。於某些實施例中,在網路介面17與網路9之間還可包含切換裝置、路由裝置等裝置。
參照第1圖,處理器11可用以轉換軟體容器資料40為圖形資料50,其中軟體容器資料40包含識別資料及相依資料。該識別資料可包含軟體容器的識別資料,以及包含實體機器與虛擬機器其中至少一種的識別資料。軟體容器的識別資料可包含但不限於:軟體容器名稱、軟體容器識別碼、處理(Process)識別碼、映像檔(Image)識別碼、軟體容器之執行狀態、CPU利用率、記憶體利用率、網際網路協定位址(IP Address)、通訊埠(Port)...等。實體機器與虛擬機器的識別資料可包含但不限於:機器名稱、CPU利用率、記憶體利用率、網際網路協定位址、通訊埠...等。該相依資料可包含容器與容器之間的相依狀態、容器與實體機器之間的相依狀態、以及容器與虛擬機器之間相依狀態其中至少一種。
儲存器13可包含一圖形資料庫133,且圖形資料庫133可用以儲存圖形資料50。於某些實施例中,儲存器13可包含一用以儲存軟體容器資料40的軟體容器資料庫131,且處理器11可從軟體容器資料庫131取得軟體容器資料40。於某些實施例中,儲存器13可不包含軟體容器資料庫131,且
處理器11可經由I/O介面15及/或網路介面17而從計算機裝置1的外部直接取得軟體容器資料40。
在圖形資料50被儲存至圖形資料庫133之後,處理器11可因應一使用者的一使用者輸入20而於圖形資料庫133中查詢圖形資料50,以便該使用者可根據圖形資料50來管理軟體容器,其中使用者輸入20是基於符合圖形資料庫133之一圖形操縱語言。於某些實施例中,處理器11可經由網路介面17以及網路9而從該使用者接收使用者輸入20。於某些實施例中,處理器11可經由I/O介面15而從該使用者接收使用者輸入20。
第2圖例示了在本發明的一或多個實施例中轉換軟體容器資料為圖形資料的一過程,但第2圖所示的過程只是一個範例,而非為了限制本發明。參照第2圖,處理器11可執行一格式化程序111以將軟體容器資料40格式化為符合圖形資料庫133的一格式1331,然後執行一圖形化程序113以將經格式化的軟體容器資料42轉換為圖形資料50。假設圖形資料庫133是名為neo4j的圖形資料庫,圖形化程序113可基於名為Cypher的圖形操縱語言來圖形化經格式化的軟體容器資料42,以建立或更新圖形資料50。舉例而言,圖形化程序113可根據以下指令建立一名為H1的實體機器節點、一名為C1的軟體容器節點、以及一表示該實體機器節點執行該軟體容器節點的執行邊線:create (host: Crew {name: ‘H1’}), (container: Crew {name: ‘V1’}), (host)-[:run]->(container)另舉例而言,圖形化程序113可根據以下指令更新該軟體容器的CPU利用
率:update (container: Crew {name: ‘V1’,cpu: ‘12%’})
於某些實施例中,格式化程序111與圖形化程序113可被整合為單一程序。於某些實施例中,圖形資料庫131的格式1331可包含節點類別、邊線類別、節點屬性以及邊線屬性。於某些實施例中,儲存器13可包含一圖解資料庫(Schema Database)135,用以儲存圖形資料庫133的格式1331。於某些實施例中,圖解資料庫135可以被設置在圖形資料庫133中。
第3圖例示了在本發明的一或多個實施例中一圖形資料庫的一格式,但第3圖所示的格式只是一個範例,而非為了限制本發明。參照第3圖,圖形資料庫131的格式1331可包含節點類別、邊線類別、節點屬性以及邊線屬性,且該節點類別可包含軟體容器節點、以及實體機器節點與虛擬機器節點其中至少一種,而該邊線類別可包含網路請求邊線以及執行邊線。
可根據不同需求以及圖形資料庫131的類別來設定該節點屬性以及該邊線屬性。舉例而言,軟體容器節點的屬性類別可包含但不限於:圖形資料庫所產生的通用唯一識別碼(Universally Unique Identifier,UUID)、標籤(Label)、軟體容器名稱、軟體容器識別碼、處理識別碼、映像檔識別碼、軟體容器之執行狀態、CPU利用率、記憶體利用率、網際網路協定位址、通訊埠...等。舉例而言,實體機器節點和虛擬機器節點的屬性類別可包含但不限於:圖形資料庫所產生的UUID、標籤、機器名稱、CPU利用率、記憶體利用率、網際網路協定位址、通訊埠...等。在軟體容器資料40中,與機器名稱、CPU利用率、記憶體利用率、網際網路協定位址、通訊埠相對應的參數即屬於實體機器或虛擬機器的識別資訊。舉例而言,網路請求邊線的屬性
類別可包含:圖形資料庫所產生的UUID、標籤、網路請求計數...等。舉例而言,執行邊線的屬性類別可包含:圖形資料庫所產生的UUID、標籤、有效期...等。標籤可用以標示節點與邊線的類別。
第4圖例示了在本發明的一或多個實施例中一軟體容器環境,但第4圖所示的軟體容器環境只是一個範例,而非為了限制本發明。參照第4圖,在軟體容器環境4中,建立在計算機裝置1的一作業系統核心層(Operation System Kernel Layer)12上的每一個軟體容器C,例如透過Docker引擎所建立的軟體容器C,可透過一容器應用程式介面(Application Interface,API)171而連接到作業系統核心層12。作業系統核心層12可包含一橋接器121,例如Docker系統所預設的Docker0,用以將每一個軟體容器C與硬體層10中的網路介面17所包含的一個實體網路介面卡連接。透過橋接器121與網路介面17,計算機裝置1中每一個軟體容器C可在網路9上與任一其他計算機裝置8及其所包含的虛擬機器及/或軟體容器C進行通訊並交流資料。
於某些實施例中,在軟體容器環境4中,處理器11可在計算機裝置1的作業系統核心層12上建立至少一偵測軟體容器Cd。該至少一偵測軟體容器Cd可用以在軟體容器環境4中進行偵測,以提供軟體容器資料40至處理器11。舉例而言,該至少一偵測軟體容器Cd可透過容器應用程式介面171而從作業系統核心層12偵測出軟體容器資料40所包含的識別資料。該識別資料可包含計算機裝置1與每一個計算機裝置8本身的識別資料(即實體機器的識別資料)、該等計算計裝置所包含的軟體容器C的識別資料以及該等計算計裝置所包含的虛擬機器的識別資料。
於某些實施例中,該至少一偵測軟體容器Cd可利用一流量偵測介面191來偵測軟體容器資料40的相依資料。舉例而言,流量偵測介面191可以採用支援ICMP、DNS、HTTP、AMQP、Cassandra、Mysql、PSQL、Redis、Thrift-RPC、MongoDB、Memcache...等協定的軟體套件Packetbeat。由於每一個計算機裝置所包含的軟體容器都會透過其內部的橋接器而相互連接且連接到網路9上,故處理器11只需透過軟體套件Packetbeat來偵測流經橋接器121上每一個封包的來源與終點,便可得知每一個軟體容器C與其他軟體容器C、與其他實體機器、以及與其他虛擬機器之間的相依狀態,進而取得軟體容器資料40所包含的相依資料。
於某些實施例中,處理器11可根據偵測軟體容器Cd所偵測的結果決定是否轉換軟體容器資料40為圖形資料50(即決定是否將軟體容器資料40同步至圖形資料庫133中的圖形資料50)。詳言之,透過該至少一偵測軟體容器Cd所偵測的該識別資料與該相依資料,處理器11便可判斷軟體容器、實體機器與虛擬機器是否有變動(例如,新增、刪除、遷移、更新等),然後根據該變動決定是否轉換軟體容器資料40為圖形資料50。
第5圖例示了在本發明的一或多個實施例中一圖形資料庫中的圖形資料,但第5圖所示的圖形資料只是一個範例,而非為了限制本發明。參照第5圖,假設圖形資料庫133是名為neo4j的圖形資料庫,且圖形資料50包含二個實體機器節點(UUID分別是001、003,且機器名稱分別是H1、H2)、一個虛擬機器節點(UUID為002,且機器名稱為V1)、五個軟體容器節點(UUID為004~008,且軟體容器名稱為C1~C5)、五條執行邊線(UUID為100~104)以及四條網路請求邊線(UUID為105~108)。UUID為001的實體機
器節點執行UUID為004的軟體容器節點1分鐘,UUID為002的虛擬機器節點執行UUID為005的軟體容器節點3分鐘,UUID為003的實體機器節點分別執行UUID為006~008的軟體容器節點10天。UUID為004的軟體容器節點請求UUID為005的軟體容器節點25次,UUID為005的軟體容器節點請求UUID為006的軟體容器節點1次,且UUID為005的軟體容器節點分別請求UUID為007、008的軟體容器節點3次。
使用者可使用符合圖形資料庫133(例如neo4j)的一圖形操縱語言(例如Cypher)來指示處理器11去查詢第5圖所示的圖形資料50,藉此取得管理容器所需的各種資訊。舉例而言,使用者可根據以下指令去查詢圖形資料50,並要求回傳名為H1的實體機器節點及其所執行的所有軟體容器節點:MATCH (host)-[r:run]-(containers) WHERE host.name = “H1” RETURN host, containers然後,圖形資料庫133將以圖形的方式呈現UUID為001的實體機器節點、UUID為004的軟體容器節點、以及UUID為100的執行邊線。
另舉例而言,使用者可根據以下指令去查詢圖形資料50,並要求回傳名為C1的軟體容器節點及其所請求的所有軟體容器節點,藉此取得與名為C1的軟體容器節點及其所請求的所有軟體容器節點之間的關係:MATCH (container)-[r:request*]-(containers) WHERE container.name = “C1” RETURN container, containers
然後,圖形資料庫133將以圖形的方式呈現UUID為004~008的軟體容器節點、以及UUID為105~108的網路請求邊線。
再舉例而言,使用者可根據以下指令去查詢圖形資料50,並要求回傳名為C1的軟體容器節點、其所請求的所有軟體容器節點、以及請求次數的加總值,藉此取得與名為C1的軟體容器節點的網路請求成本:MATCH (container)-[r:request*]-(containers) WHERE container.name = “C1” With sum (r.count) AS total_request RETURN container, containers, total_request然後,圖形資料庫133將以圖形的方式呈現UUID為004~008的軟體容器節點、UUID為105~108的網路請求邊線、以及total_request=32(即請求次數的加總值為32)。
於某些實施例中,使用者還可使用符合圖形資料庫133(例如neo4j)的一圖形操縱語言(例如Cypher)來指示處理器11去查詢網路請求邊線以及執行邊線,藉此取得輸入軟體容器的流量以及由軟體容器輸出的流量。於某些實施例中,使用者還可使用符合圖形資料庫133(例如neo4j)的一圖形操縱語言(例如Cypher)來指示處理器11去查詢一組相依節點的總CPU利用率、總記憶體利用率以及總網路請求計數,藉此判斷該組相依節點中的必要路徑。於某些實施例中,使用者還可使用符合圖形資料庫133(例如neo4j)的一圖形操縱語言(例如Cypher)來指示處理器11去查詢節點的資源利用率,藉此平衡設置在實體機器或虛擬機器上的軟體容器。在不超出本發明精神的前提下,使用者還可使用符合圖形資料庫133(例如neo4j)的一
圖形操縱語言(例如Cypher)來指示處理器11進行各種查詢,並藉此取得管理容器所需的各種資訊。
第6圖例示了在本發明的一或多個實施例中一種用以協助一使用者管理軟體容器的方法,但第6圖所示的方法只是一個範例,而非為了限制本發明。參照第6圖,一種用以協助一使用者管理軟體容器的方法6可包含以下步驟:由一計算機裝置來轉換軟體容器資料為圖形資料,該軟體容器資料包含識別資料及相依資料(標示為601);由該計算機裝置來儲存該圖形資料至一圖形資料庫(標示為603);以及由該計算機裝置因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者根據該圖形資料管理軟體容器,其中,該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言(標示為605)。於第6圖中,步驟601-605的呈現順序並非為了限制本發明,且這樣的呈現順序可在不超出本發明的精神的前提下被調整。
於某些實施例中,步驟601可更包含下列步驟:由該計算機裝置執行一格式化程序以將該軟體容器資料格式化為符合該圖形資料庫的一格式;以及由該計算機裝置執行一圖形化程序以將該經格式化的軟體容器資料轉換為該圖形資料。
於某些實施例中,步驟601可更包含下列步驟:由該計算機裝置執行一格式化程序以將該軟體容器資料格式化為符合該圖形資料庫的一格式;以及由該計算機裝置執行一圖形化程序以將該經格式化的軟體容器資料轉換為該圖形資料。另外,該圖形資料庫的該格式可包含節點類別、邊線類別、節點屬性以及邊線屬性。
於某些實施例中,步驟601可更包含下列步驟:由該計算機
裝置執行一格式化程序以將該軟體容器資料格式化為符合該圖形資料庫的一格式;以及由該計算機裝置執行一圖形化程序以將該經格式化的軟體容器資料轉換為該圖形資料。另外,該圖形資料庫的該格式可包含節點類別、邊線類別、節點屬性以及邊線屬性。該節點類別可包含軟體容器節點、以及實體機器節點與虛擬機器節點其中至少一種,且該邊線類別可包含網路請求邊線以及執行邊線。
於某些實施例中,方法6可更包含以下步驟:由該計算機裝置在一軟體容器環境裡建立至少一偵測軟體容器,其中該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理器。
於某些實施例中,方法6可更包含以下步驟:由該計算機裝置在一軟體容器環境裡建立至少一偵測軟體容器,其中該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理器。另外,該至少一偵測軟體容器可利用一軟體容器專屬應用程式介面來偵測該識別資料
於某些實施例中,方法6可更包含以下步驟:由該計算機裝置在一軟體容器環境裡建立至少一偵測軟體容器,其中該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理器。另外,該至少一偵測軟體容器可利用一流量偵測介面來偵測該相依資料
於某些實施例中,方法6可更包含以下步驟:由該計算機裝置在一軟體容器環境裡建立至少一偵測軟體容器,其中該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理
器。另外,步驟601可更包含下列步驟:由該計算機裝置根據該偵測來決定是否轉換該軟體容器資料為該圖形資料。
於某些實施例中,方法6可應用至計算機裝置1,並完成計算機裝置1的全部運作。由於本發明所屬技術領域中具有通常知識者可根據上文針對計算機裝置1的說明而直接得知方法6完成該等運作的相對應步驟,故相關細節於此不再贅述。
綜上所述,本發明可將軟體容器資料轉換為圖形資料並將其儲存至一圖形資料庫,以便讓使用者可根據該圖形資料庫所儲存的圖形資料來管理軟體容器。相較於軟體容器資料本身的表示方式(例如文字、表格)不容易呈現軟體容器的各種相依狀態,圖形資料的表示方式可透過圖形遍歷(Graph Traversal)的操作而輕易地且視覺化地呈現軟體容器的各種相依狀態。另外,將軟體容器資料轉換為圖形資料可讓使用者只需利用符合該圖形資料庫的一圖形操縱語言就可輕易地查詢該圖形資料。因此,在快速且大量部署軟體容器的趨勢下,本發明確實提供了一種易於管理軟體容器的方案。
以上所揭露的各種實施例並非為了限制本發明。本發明所屬技術領域中具有通常知識者可輕易完成的改變或均等性的安排都落於本發明的範圍內。本發明的範圍以申請專利範圍所載內容為準。
Claims (16)
- 一種用以協助一使用者管理軟體容器的計算機裝置,包含:一處理器,用以轉換軟體容器資料為圖形資料,該軟體容器資料包含識別資料及相依(dependency)資料;以及一儲存器,包含一圖形資料庫,該圖形資料庫用以儲存該圖形資料;其中,該處理器更用以因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者根據該圖形資料管理軟體容器;以及其中,該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言。
- 如請求項1所述的計算機裝置,其中該處理器執行一格式化程序以將該軟體容器資料格式化為符合該圖形資料庫的一格式,且執行一圖形化程序以將該經格式化的軟體容器資料轉換為該圖形資料。
- 如請求項2所述的計算機裝置,其中該圖形資料庫的該格式包含節點類別、邊線類別、節點屬性以及邊線屬性。
- 如請求項3所述的計算機裝置,其中該節點類別包含軟體容器節點、以及實體機器節點與虛擬機器節點其中至少一種,且該邊線類別包含網路請求邊線以及執行邊線。
- 如請求項1所述的計算機裝置,其中該處理器更在一軟體容器環境裡建立至少一偵測軟體容器,且該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理器。
- 如請求項5所述的計算機裝置,其中該至少一偵測軟體容器利用一軟體容器專屬應用程式介面來偵測該識別資料。
- 如請求項5所述的計算機裝置,其中該至少一偵測軟體容器利用一流量偵 測介面來偵測該相依資料。
- 如請求項5所述的計算機裝置,其中該處理器更用以根據該偵測來決定是否轉換該軟體容器資料為該圖形資料。
- 一種用以協助一使用者管理軟體容器的方法,包含以下步驟:由一計算機裝置來轉換軟體容器資料為圖形資料,該軟體容器資料包含識別資料及相依資料;由該計算機裝置來儲存該圖形資料至一圖形資料庫;以及由該計算機裝置因應一使用者輸入而於該圖形資料庫中查詢該圖形資料,俾該使用者根據該圖形資料管理軟體容器,其中,該使用者輸入是基於符合該圖形資料庫的一圖形操縱語言。
- 如請求項9所述的方法,其中轉換該軟體容器資料為該圖形資料的該步驟更包含下列步驟:由該計算機裝置執行一格式化程序以將該軟體容器資料格式化為符合該圖形資料庫的一格式;以及由該計算機裝置執行一圖形化程序以將該經格式化的軟體容器資料轉換為該圖形資料。
- 如請求項10所述的方法,其中該圖形資料庫的該格式包含節點類別、邊線類別、節點屬性以及邊線屬性。
- 如請求項11所述的方法,其中該節點類別包含軟體容器節點、以及實體機器節點與虛擬機器節點其中至少一種,且該邊線類別包含網路請求邊線以及執行邊線。
- 如請求項9所述的方法,更包含下列步驟: 由該計算機裝置在一軟體容器環境裡建立至少一偵測軟體容器,其中該至少一偵測軟體容器用以在該軟體容器環境裡進行偵測以提供該軟體容器資料至該處理器。
- 如請求項13所述的方法,其中該至少一偵測軟體容器利用一軟體容器專屬應用程式介面來偵測該識別資料。
- 如請求項13所述的方法,其中該至少一偵測軟體容器利用一流量偵測介面來偵測該相依資料。
- 如請求項13所述的方法,其中轉換該軟體容器資料為該圖形資料的該步驟更包含下列步驟:由該計算機裝置根據該偵測來決定是否轉換該軟體容器資料為該圖形資料。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105138081A TWI617982B (zh) | 2016-11-21 | 2016-11-21 | 協助使用者管理軟體容器的計算機裝置與方法 |
CN201611063647.4A CN108089863A (zh) | 2016-11-21 | 2016-11-28 | 协助用户管理软件容器的计算机装置与方法 |
US15/364,194 US20180144062A1 (en) | 2016-11-21 | 2016-11-29 | Computer device and method for facilitating user to manage containers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105138081A TWI617982B (zh) | 2016-11-21 | 2016-11-21 | 協助使用者管理軟體容器的計算機裝置與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI617982B true TWI617982B (zh) | 2018-03-11 |
TW201820128A TW201820128A (zh) | 2018-06-01 |
Family
ID=62147677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105138081A TWI617982B (zh) | 2016-11-21 | 2016-11-21 | 協助使用者管理軟體容器的計算機裝置與方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180144062A1 (zh) |
CN (1) | CN108089863A (zh) |
TW (1) | TWI617982B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719557B2 (en) * | 2018-01-16 | 2020-07-21 | Palantir Technologies Inc. | Concurrent automatic adaptive storage of datasets in graph databases |
US20190220294A1 (en) * | 2018-01-17 | 2019-07-18 | International Business Machines Corporation | Using lightweight jit compilation for short-lived jvms on parallel distributing computing framework |
EP3591525A1 (de) * | 2018-07-05 | 2020-01-08 | Siemens Aktiengesellschaft | Verteilen von unteranwendungen einer bestimmten anwendung auf rechner von plattformen zumindest zweier verschiedener ebenen |
CN109150964B (zh) * | 2018-07-06 | 2022-01-11 | 中科星图股份有限公司 | 一种可迁移的数据管理方法及服务迁移方法 |
TWI754488B (zh) * | 2020-12-14 | 2022-02-01 | 中華電信股份有限公司 | 為軟體容器選擇載體的電子裝置和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200411554A (en) * | 2002-12-16 | 2004-07-01 | Ibm | Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework |
TW200604971A (en) * | 2004-03-24 | 2006-02-01 | All Set Marine Security Ab | Method and system for monitoring containers to maintain the security thereof |
TW200943179A (en) * | 2008-04-01 | 2009-10-16 | Chunghwa Telecom Co Ltd | Integrated-type software component management architecture |
TW201218077A (en) * | 2010-10-20 | 2012-05-01 | Hon Hai Prec Ind Co Ltd | System and method for managing the software project |
TW201241750A (en) * | 2011-04-07 | 2012-10-16 | Htc Corp | Software component information retrieving method for SCOMO and related service system |
TW201246870A (en) * | 2011-04-21 | 2012-11-16 | Htc Corp | Method of providing process operation in software and application control management object |
CN103986608A (zh) * | 2014-05-29 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法 |
CN105808320A (zh) * | 2016-03-11 | 2016-07-27 | 四川安嵌科技有限公司 | 基于Linux容器的设备虚拟化系统及方法 |
CN106095530A (zh) * | 2016-06-08 | 2016-11-09 | 电子科技大学 | 一种多Android系统的容器自动创建及其启动方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528897B2 (en) * | 2011-04-28 | 2020-01-07 | Intuit Inc. | Graph databases for storing multidimensional models of software offerings |
US10411966B2 (en) * | 2015-02-26 | 2019-09-10 | Red Hat, Inc. | Host network analyzer |
CN104950757B (zh) * | 2015-06-12 | 2018-03-16 | 北京奇虎科技有限公司 | 监控容器的方法及系统 |
CN105763395A (zh) * | 2016-04-01 | 2016-07-13 | 汉柏科技有限公司 | 云环境下用于虚拟机和容器的监控管理方法及系统 |
-
2016
- 2016-11-21 TW TW105138081A patent/TWI617982B/zh active
- 2016-11-28 CN CN201611063647.4A patent/CN108089863A/zh active Pending
- 2016-11-29 US US15/364,194 patent/US20180144062A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200411554A (en) * | 2002-12-16 | 2004-07-01 | Ibm | Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework |
TW200604971A (en) * | 2004-03-24 | 2006-02-01 | All Set Marine Security Ab | Method and system for monitoring containers to maintain the security thereof |
TW200943179A (en) * | 2008-04-01 | 2009-10-16 | Chunghwa Telecom Co Ltd | Integrated-type software component management architecture |
TW201218077A (en) * | 2010-10-20 | 2012-05-01 | Hon Hai Prec Ind Co Ltd | System and method for managing the software project |
TW201241750A (en) * | 2011-04-07 | 2012-10-16 | Htc Corp | Software component information retrieving method for SCOMO and related service system |
TW201246870A (en) * | 2011-04-21 | 2012-11-16 | Htc Corp | Method of providing process operation in software and application control management object |
CN103986608A (zh) * | 2014-05-29 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法 |
CN105808320A (zh) * | 2016-03-11 | 2016-07-27 | 四川安嵌科技有限公司 | 基于Linux容器的设备虚拟化系统及方法 |
CN106095530A (zh) * | 2016-06-08 | 2016-11-09 | 电子科技大学 | 一种多Android系统的容器自动创建及其启动方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180144062A1 (en) | 2018-05-24 |
CN108089863A (zh) | 2018-05-29 |
TW201820128A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI617982B (zh) | 協助使用者管理軟體容器的計算機裝置與方法 | |
JP6750054B2 (ja) | ウェブページを構築しモデル化するためのシステム | |
US9405529B2 (en) | Designing and cross-configuring software | |
US10862982B2 (en) | Cloud-scale heterogeneous datacenter management infrastructure | |
US20170048314A1 (en) | Migrating cloud resources | |
KR101098603B1 (ko) | 원격 경계를 가로질러 컴퓨터 판독가능한 객체들을전달하기 위한 시스템 및 방법 | |
US20170228246A1 (en) | Effective and efficient virtual machine template management for cloud environments | |
CN105100127B (zh) | 用于验证在云计算环境中的应用部署拓扑的设备和方法 | |
US11995047B2 (en) | Dynamic schema based multitenancy | |
BR112012018768B1 (pt) | método implementado por um sistema de tratamento de informação e sistema de tratamento de informação | |
BRPI0612281A2 (pt) | fluxos de trabalho centrados em dados | |
JP7350868B2 (ja) | 複数のセキュリティ・ドメインにわたるセキュア・メモリの共用 | |
US8352936B2 (en) | Creating virtual appliances | |
US8291432B2 (en) | Providing invocation context to IMS service provider applications | |
JP2022522664A (ja) | ページ変更検出によるセキュアなページング | |
US11803429B2 (en) | Managing alert messages for applications and access permissions | |
Larsson | Hands-on Microservices with spring boot and spring cloud: Build and deploy Java microservices using spring cloud, Istio, and Kubernetes | |
US11157243B2 (en) | Client-side source code dependency resolution in language server protocol-enabled language server | |
US20200220778A1 (en) | Debugging a network switch by replaying configuration | |
Baier et al. | Getting Started with Kubernetes: Extend your containerization strategy by orchestrating and managing large-scale container deployments | |
US10620946B1 (en) | Dynamic modeling for opaque code during static analysis | |
US11645193B2 (en) | Heterogeneous services for enabling collaborative logic design and debug in aspect oriented hardware designing | |
CN117406971A (zh) | 基于持久层框架的数据库配置方法、装置和设备 | |
Bulavko | Banking System | |
Ribeiro | A Web-Based Solution for Virtual Machine Instances Migration Across Type-2 Hypervisors |