TWI650659B - 一種關聯信息查詢方法、終端及設備 - Google Patents

一種關聯信息查詢方法、終端及設備 Download PDF

Info

Publication number
TWI650659B
TWI650659B TW106138204A TW106138204A TWI650659B TW I650659 B TWI650659 B TW I650659B TW 106138204 A TW106138204 A TW 106138204A TW 106138204 A TW106138204 A TW 106138204A TW I650659 B TWI650659 B TW I650659B
Authority
TW
Taiwan
Prior art keywords
data table
query
data
unit
name
Prior art date
Application number
TW106138204A
Other languages
English (en)
Other versions
TW201901491A (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 平安科技(深圳)有限公司
Publication of TW201901491A publication Critical patent/TW201901491A/zh
Application granted granted Critical
Publication of TWI650659B publication Critical patent/TWI650659B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明提供一種關聯信息查詢方法、終端及設備。該方法包括:接收在vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;執行SQL語句並返回查詢執行結果。該方法、終端及設備節省了定位問題和故障分析的時間,提高了運維管理的效率。

Description

一種關聯信息查詢方法、終端及設備
本發明涉及信息技術領域,尤其涉及一種關聯信息查詢方法、終端及設備。
虛擬機軟體(VMware)的運維人員管理虛擬機(VM)時,當服務器異常時如負載太高或硬體維護或平時運維VM的時候需要找出異常所在的地方如哪台服務器出了異常。現有技術係,運維人員通常要在虛擬機集成容器的客戶端(VSphere client)或者虛擬機集成容器的網頁客戶端(VSphere web client)花大量的時間查詢相關信息,然後去定位問題,在這個過程中要獲取很多相關信息的表,再對這個表進行分析和關聯,最終獲得一張有用的表。然而在雲端環境中,VM的數量衆多,運維人員定位問題的難度隨之加大,運維的效率就自然降低了。這對於平時的運維管理和故障分析都是十分不利的。
本發明提供了一種關聯信息查詢方法和終端,可以將定位問題中的查詢對象和查詢對象的所有相關聯對象顯示在多層關係樹狀圖中,再根據多層關係樹狀圖中的信息進行查詢得到查詢結果,節省了定位問題和故障分析的時間,提高了運維管理的效率。
本發明提供了一種關聯信息查詢方法,該方法包括:接收在vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象 信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成結構化查詢語言SQL語句;執行SQL語句並返回查詢執行結果。
本發明提供了一種終端,該終端包括:接收單元,用於接收在vCenter中用戶輸入的查詢對象;篩選單元,用於根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;表創建單元,用於根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;樹狀圖生成單元,用於根據該資料表和資料表中的字段生成多層關係樹狀圖;輸入單元,用於接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;查詢語句生成單元,用於根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;結果返回單元,用於執行SQL語句並返回查詢執行結果。
本發明還提供一種設備,該設備包括處理器,以及與該處理器相連的記憶體;該記憶體,用於存儲包括包括用戶輸入的查詢對象、該查詢對象以及與該查詢對象相關聯的所有的對象信息、資料表和資料表中的字段、多層關係樹狀圖,以及其他可調用並運行的程序資料;該處理器,用於調用該記憶體中存儲的程序資料,並執行如下步驟:接收在vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;執行SQL語句並返回查詢執行結果。
本發明實施例提供的方法、終端及設備,可以根據查詢對象和查詢對象相關聯的所有對象信息創建資料表並在資料表中插入相關資料,根據該資料表生成多層關係樹狀圖,再根據用戶選擇的資料表和字段,以及輸入的查詢條件生成SQL語句,執行SQL語句並返回查詢執行結果。本發明實施例可以將定位問題中的查詢對象和查詢對象的相關聯的所有對象顯示在多層關係樹狀圖 中,再根據多層關係樹狀圖中的信息進行查詢得到查詢結果,節省了定位問題和故障分析的時間,提高了運維管理的效率。
100‧‧‧終端
101‧‧‧接收單元
102‧‧‧篩選單元
103‧‧‧內存資料庫建立單元
104‧‧‧表創建單元
105‧‧‧樹狀圖生成單元
106‧‧‧查詢語句生成單元
107‧‧‧結果返回單元
110‧‧‧終端
111‧‧‧接收單元
112‧‧‧篩選單元
113‧‧‧內存資料庫建立單元
114‧‧‧表創建單元
115‧‧‧樹狀圖生成單元
116‧‧‧查詢語句生成單元
117‧‧‧結果返回單元
118‧‧‧存儲容器創建單元
119‧‧‧結果保存單元
120‧‧‧顯示單元
121‧‧‧時間段接收單元
122‧‧‧性能資料獲取單元
123‧‧‧生成顯示單元
130‧‧‧設備
131‧‧‧輸入裝置
132‧‧‧輸出裝置
133‧‧‧記憶體
134‧‧‧處理器
135‧‧‧匯流排
70‧‧‧終端
701‧‧‧接收單元
702‧‧‧篩選單元
703‧‧‧表創建單元
704‧‧‧樹狀圖生成單元
705‧‧‧查詢語句生成單元
706‧‧‧結果返回單元
801‧‧‧第一字段獲取單元
802‧‧‧轉化執行單元
901‧‧‧表名稱獲取單元
902‧‧‧判斷單元
903‧‧‧第二字段獲取單元
904‧‧‧節點保存單元
905‧‧‧多層關係樹狀圖生成單元
S101‧‧‧接收在vCenter中用戶輸入的查詢對象
S102‧‧‧根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息
S103‧‧‧根據該查詢對象和該查詢對象相關聯的所有對象信息創建資料表並在資料表中插入相關資料
S104‧‧‧根據資料表和資料表中的字段生成多層關係樹狀圖
S105‧‧‧接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件
S106‧‧‧根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句
S107‧‧‧執行SQL語句並返回查詢執行結果
S301‧‧‧獲取用戶輸入的查詢對象所對應的資料表的名稱
S302‧‧‧判斷是否存在該資料表的名稱
S303‧‧‧獲取該資料表的所有字段及各個字段所屬的類型
S304‧‧‧將該資料表的名稱作為樹狀圖的根節點,將各個字段作為該根節點的子節點進行保存
S305‧‧‧對於每一個字段,根據字段的類型判斷該字段中是否涉及有其他資料表
S306‧‧‧判斷是否存在對應的資料表的名稱
S307‧‧‧判斷保存的節點中是否有對應的資料表的名稱
S308‧‧‧將該資料表的所有字段作為當前字段所對應的節點的下一層節點進行保存,依此類推,直到樹狀圖的每一層節點對應的字段均不涉及其他資料表
S309‧‧‧根據保存的所有節點生成多層關係樹狀圖
S401‧‧‧接收在vCenter中用戶輸入的查詢對象
S402‧‧‧根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息
S403‧‧‧建立內存資料庫,該內存資料庫與vCenter相連接
S404‧‧‧根據該查詢對象和該查詢對象相關聯的所有對象信息在內存資料庫中創建資料表並在數據表中插入相關資料
S405‧‧‧根據資料表和資料表中的字段生成多層關係樹狀圖
S406‧‧‧接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件
S407‧‧‧根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句
S408‧‧‧在內存資料庫中執行SQL語句並返回查詢執行結果。該查詢執行結果為一條條的記錄,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等
S501‧‧‧接收到vCenter中發出的告警信息後,創建存儲容器。其中,創建的存儲容器可以為一個或者多個
S502‧‧‧將該告警信息所涉及到的對象的查詢執行結果保存在存儲容器中
S503‧‧‧接收用戶在該查詢執行結果中選擇的檢測對象
S504‧‧‧根據檢測對象生成並顯示該對象的性能曲線圖以供查找告警信息的來源
[圖1]係本發明實施例提供的一種關聯信息查詢方法的示意流程圖。
[圖2]係本發明實施例提供的一種關聯信息查詢方法的一個子流程示意圖。
[圖3]係本發明實施例提供的一種關聯信息查詢方法的另一個子流程示意圖。
[圖4]係本發明另一實施例提供的一種關聯信息查詢方法的示意流程圖。
[圖5]係本發明又一實施例提供的一種關聯信息查詢方法的示意流程圖。
[圖6]係本發明又一實施例提供的一種關聯信息查詢方法的一個子流程示意圖。
[圖7]係本發明實施例提供的一種終端的示意性框圖。
[圖8]係本發明實施例提供的表創建單元的示意性框圖。
[圖9]係本發明實施例提供的樹狀圖生成單元的示意性框圖。
[圖10]係本發明另一實施例提供的一種終端的示意性框圖。
[圖11]係本發明又一實施例提供的一種終端的示意性框圖。
[圖12]為本發明實施例提供的顯示單元的示意性框圖。
[圖13]係本發明實施例提供的一種設備的示意性框圖。
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例係本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
應當理解,當在本說明書和所附申請專利範圍中使用時,術語“包括”和“包含”指示所描述特徵、整體、步驟、操作、元素和/或組件的存在,但並不排除一個或多個其它特徵、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在本發明說明書和所附申請專利範圍中使用的術語“和/或”係指相關聯列出的項中的一個或多個的任何組合以及所有可能組合,並且包括這些組合。
具體實現中,本發明實施例中描述的終端包括但不限於諸如桌上型電腦等非移動式通信設備。還應當理解的是,在一些實施例中,該設備並非僅指非移動式通信設備,還可以包括移動電話、筆記型電腦或平板電腦之類的其它移動式設備。
圖1為本發明實施例提供的一種關聯信息查詢方法的流程示意圖。該方法包括S101~S107。
S101,接收在vCenter中用戶輸入的查詢對象。其中,vCenter係虛擬化管理服務器平臺VMware vCenter Server的簡稱。在vCenter中,涉及到的組件主要包括主機、虛擬機、網路、存儲、集群等。對於用戶而言,若用戶要查詢主機,那麽用戶輸入的查詢對象根據用戶的需求可以為某一個具體的主機,若不能確定為某一個具體的主機,也可以將主機組件作為查詢對象。
S102,根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息。在vCenter中,將主機、虛擬機、網路、存儲、集群等抽象出相對應的類,並抽象出這些類之間的相對應的關係,並將這些抽象出來的類和這些類之間的相對應的關係保存。並同時保存抽象出來的類的具體信息,如保存多 個主機的具體信息,包括主機名稱、主機內存大小、主機處理器、主機操作系統類型等。當接收到用戶輸入的查詢對象後,根據保存的抽象出來的類和這些類之間的相對應的關係篩選出查詢對象相關聯的所有的對象信息。如用戶輸入的查詢對象為主機,那麽與該查詢對象相關聯的所有的對象信息包括主機名稱、主機連接的存儲、主機上的虛擬機、主機內存、主機運行狀態、主機網路系統、主機所在的群集、主機連接狀態、主機觸發的告警的信息等。
S103,根據該查詢對象和該查詢對象相關聯的所有對象信息創建資料表並在資料表中插入相關資料。其中每個對象所屬的類對應一個資料表。在具體實現中,要先創建資料表,再在資料表中插入資料。具體地,如圖2所示,S103包括S201-S202。S201,獲取每個對象所屬類的屬性和該屬性的值。其中,這裏的類的屬性,理解為類的成員變量。可以通過Java反射機制來獲取每個對象所屬類的屬性和該屬性的值。S202,將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。其中,將每個類的屬性轉化為SQL語句時,需要加入create table等創建資料表的SQL語法;將每個類的屬性和屬性的值轉化為SQL語句時,需要加入insert等插入資料的SQL語法。創建的表按照預設的規則命名,如t-類名等。如獲取主機名稱為abc的對象所屬的類為主機類,該主機類的屬性包括主機名稱、主機內存大小、主機處理器、主機操作系統類型等,加入create table等創建資料表的SQL語法並執行以創建主機資料表,創建的主機資料表的字段包括主機名稱、主機內存大小、主機處理器、主機操作系統類型等。接著在主機資料表中插入資料,可以在主機資料表中一次插入一行或者多行資料。假設插入一行資料,這一行資料的對應的屬性和屬性 的值分別為:主機名稱為xyz、主機內存大小為4GB、主機處理器為英特爾4GHz、主機操作系統類型為32位操作系統,加入insert等插入資料的SQL語法並執行以在主機資料表中插入該行資料。
S104,根據資料表和資料表中的字段生成多層關係樹狀圖。
S105,接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件。因為多層關係樹狀圖中展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,因此用戶可直接選擇要顯示的資料表和字段,方便查看。其中,要選擇的字段可以為空,那麽理解為該資料表的所有字段都要顯示,同時輸入的查詢條件可以為空,可以理解為該資料表的所有資料都需要。
S106,根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句。
S107,執行SQL語句並返回查詢執行結果。該查詢執行結果為一條條的記錄,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網絡的信息等。
具體地,S104包括S301-S309。S301,獲取用戶輸入的查詢對象所對應的資料表的名稱。具體地,通過java反射機制獲取用戶輸入的查詢對象所對應的類的名稱,因為一個類對應一個表,通過該類的名稱可得到該資料表的名稱。S302,判斷是否存在該資料表的名稱。若存在該資料表的名稱,執行S303;若不存在,返回不存在的相關資料以提醒用戶。存在該資料表的名稱理解為在vCenter中存在該資料表的名稱。S303,獲取該資料表的所有字段及各個字段所屬的類型。其中,各個字段所屬的類型包括基本類型、其他類的類型 等。需要注意的是,要先定義好每一個字段的資料結構,如定義一個字段的資料結構至少包括:具體的字段值,字段所屬的類型等。S304,將該資料表的名稱作為樹狀圖的根節點,將各個字段作為該根節點的子節點進行保存。S305,對於每一個字段,根據字段的類型判斷該字段中是否涉及有其他資料表。其中,若該字段所屬的類型是基本類型,則判斷該字段中不包含有其他類,也即不涉及有其他資料表;若該字段所屬的類型是其他類的類型,則判斷該字段中包含有其他類,也即涉及有其他資料表。若有字段涉及有其他資料表,執行S306;若對於每一個字段,都不涉及有其他資料表,執行S309。S306,判斷是否存在對應的資料表的名稱。若存在所對應的資料表的名稱,執行S307。若不存在對應的資料表的名稱,返回不存在的相關資料以提醒用戶。存在對應的資料表的名稱理解為在vCenter中存在對應的資料表的名稱。S307,判斷保存的節點中是否有對應的資料表的名稱。若保存的節點中沒有保存所對應的資料表的名稱,即若有一個或者多個字段涉及有其他資料表的名稱,在保存的節點中只要至少有一個所對應的資料表的名稱不存在,或者可理解為至少有一個所對應的資料表的名稱沒有保存為對應的節點,執行S308;若保存的節點中有所對應的資料表的名稱,即若有一個或者多個字段都涉及有其他資料表的名稱,且保存的節點中已經存在有該一個或者多個字段涉及的對應的資料表的名稱,執行S309。若所對應的資料表的名稱所對應的節點為其他資料表的字段所對應的節點,可理解為其他資料表的字段所對應的節點與所對應的資料表的名稱所對應的節點為同一個節點。S308,將該資料表的所有字段作為當前字段所對應的節點的下一層節點進行保存,依此類推,直到樹狀圖的每一層節點對應的字段均不涉及其他資料表。S309,根據保存的所有節點生成多層關係樹狀圖。通過圖 3所示的方法,會得到一個多層關係樹狀圖,該多層關係樹狀圖展示了查詢對象所對應類以及與查詢對象相關聯的所有對象所對應類之間的關係,其中,也展示了每個類的屬性。也即展示了查詢對象所對應的資料表以及與查詢對象相關聯的所有資料表之間的關係,其中,也展示了每個資料表包含的字段。得到的多層關係樹狀圖一目了然的展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,方便用戶進行更一步的查詢。
上述方法實施例可以將定位問題中的查詢對象所對應的類和查詢對象的相關聯的所有對象對應的類顯示在多層關係樹狀圖中,再根據多層關係樹狀圖中的信息進行查詢得到查詢結果,節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖4為本發明另一實施例提供的一種關聯信息查詢方法的流程示意圖。該方法包括S401~S408。
S401,接收在vCenter中用戶輸入的查詢對象。在vCenter中,涉及到的組件主要包括主機、虛擬機、網路、存儲、集群等。對於用戶而言,若用戶要查詢主機,那麽用戶輸入的查詢對象根據用戶的需求可以為某一個具體的主機,若不能確定為某一個具體的主機,也可以將主機組件作為查詢對象。
S402,根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息。在vCenter中,將主機、虛擬機、網路、存儲、集群等抽象出相對應的類,並抽象出這些類之間的相對應的關係,並將這些抽象出來的類和這些類之間的相對應的關係保存。並同時保存抽象出來的類的具體信息,如保存多個主機的具體信息,包括主機名稱、主機內存大小、主機處理器、主機操作系統類型等。當接收到用戶輸入的查詢對象後,根據保存的抽象出來的類和這些 類之間的相對應的關係篩選出查詢對象相關聯的所有的對象信息。如用戶輸入的查詢對象為主機,那麽與該查詢對象相關聯的所有的對象信息包括主機名稱、主機連接的存儲、主機上的虛擬機、主機內存、主機運行狀態、主機網絡系統、主機所在的群集、主機連接狀態、主機觸發的告警的信息等。
S403,建立內存資料庫,該內存資料庫與vCenter相連接。優選地,採用SQLite作為內存資料庫。SQLite係一種嵌入式資料庫。它包括以下優點:(1)零配置。SQlite3不用安裝,不用配置,不用啟動、關閉或者配置資料庫實例。當系統崩潰後不用做任何恢復操作,再下次使用資料庫的時候自動恢復。(2)緊凑。SQLite被設計成輕量級的。一個頭文件,一個lib庫,就可以使用了,不用任何啟動任何系統進程。(3)採用無資料類型。因為採用的係無資料類型,所以可以保存任何類型的資料,SQLite採用的係動態資料類型,會根據存入值自動判斷。該內存資料庫與vCenter相聯接,只要程序沒有因為異常而中斷,就可以和vCenter一直保持通信。並且使用等待更新機制(waitforUpdate機制)更新內存資料庫中的資料,因此只要vCenter中有相關資料變化就可以立刻檢測到,可以理解為,獲取的內存資料庫中的資料就是vCenter中的實時資料。
S404,根據該查詢對象和該查詢對象相關聯的所有對象信息在內存資料庫中創建資料表並在數據表中插入相關資料。其中每個對象所屬的類對應一個資料表。在具體實現中,要先創建資料表,再在資料表中插入資料。具體地,創建資料表以及在資料表中插入相關資料如圖2該,在此不再贅述。
S405,根據資料表和資料表中的字段生成多層關係樹狀圖。具體地,如圖3所示,在此不再贅述。通過圖3所示的方法,會得到一個多層關係樹狀 圖,該多層關係樹狀圖展示了查詢對象所對應類以及與查詢對象相關聯的所有對象所對應類之間的關係,其中,也展示了每個類的屬性。即展示了查詢對象所對應的資料表以及與查詢對象相關聯的所有資料表之間的關係,其中,也展示了每個資料表包含的字段。這裏的類的屬性,理解為類的成員變量。得到的多層關係樹狀圖一目了然的展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,方便用戶進行更一步的查詢。
S406,接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件。因為多層關係樹狀圖中展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,因此用戶可直接選擇要顯示的資料表和字段,方便查看。其中,要選擇的字段可以為空,那麽理解為該資料表的所有字段都要顯示,同時輸入的查詢條件可以為空,可以理解為該資料表的所有資料都需要。
S407,根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句。
S408,在內存資料庫中執行SQL語句並返回查詢執行結果。該查詢執行結果為一條條的記錄,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等。
上述方法實施例通過建立內存資料庫,將查詢對象相對應的資料表和該查詢對象相關聯的所有對象所對應的資料表都保存在內存資料庫中,vCenter中的相關資料有變動時,也會實時更新到內存資料庫中,再從內存資料庫中取相關的資料來生成多層關係樹狀圖,無需再重新從vCenter中獲取所有需要的資 料,加快了查詢的速度,更一步節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖5為本發明另一實施例提供的一種關聯信息查詢方法的示意流程圖。該方法包括S501-S504。
S501,接收到vCenter中發出的告警信息後,創建存儲容器。其中,創建的存儲容器可以為一個或者多個。如接收到vCenter中發出的一個封包率突然升高的告警信息,接受到告警信息後,創建購物車,再創建購物車的籃子。其中,創建的購物車可以有多個,一個購物車可以創建多個籃子。
S502,將該告警信息所涉及到的對象的查詢執行結果保存在存儲容器中。如接收到一個雲端環境中封包率突然升高的告警信息,那麽該告警信息所涉及的對象為網路。其中,輸入該告警信息所涉及的對象,根據該告警信息所涉及到的對象進行查詢得到查詢執行結果的具體步驟可參見圖4該的實施例,具體地,請參看圖4實施例所涉及的內容,在此不再贅述。該查詢執行結果為一條條的記錄,即為對應的具體對象,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等。將一次查詢的查詢執行結果保存在一個購物車的籃子裏。將多次查詢的多個查詢執行結果保存在一個購物車的多個籃子裏,或者保存在多個購物車的籃子裏。
S503,接收用戶在該查詢執行結果中選擇的檢測對象。優選地,選擇的檢測對象為多個。具體地,可以選擇一次查詢的查詢執行結果中的多個對象,也可以選擇多個查詢的查詢執行結果中的多個對象。可以理解地,如可以在一個購物車的多個籃子裏選擇多個對象,或者在多個購物車的多個籃子裏選擇多個對象。
S504,根據檢測對象生成並顯示該對象的性能曲線圖以供查找告警信息的來源。具體地,S504包括S601-S603。S601,接收用戶輸入的要檢測的時間段。要檢測的時間可以為一天之內的某幾個小時,也可以為幾天,也可以為幾個星期等。S602,根據檢測對象獲取該檢測對象在該時間段內的性能資料。其中,性能資料包括CPU性能、內存性能、網路性能等中的一個。S603,根據該性能資料生成並顯示檢測對象的性能曲線圖以供查找告警信息的來源。若有多個檢測對象,那麽該性能曲線圖中就會有多條曲線,將多個曲線放在一起對比,很容易發現異常曲線所對應的對象。將該異常曲線所對應的對象進行進一步的排查以供查找該告警信息的來源。
上述方法實施例接收到告警信息後,選擇查詢執行結果中的檢測對象,生成並顯示該對象的性能曲線圖,優選是多個對象的多個曲線圖,進一步方便用戶查詢告警信息的來源。加快了查詢的速度,更一步節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖7為本發明實施例提供的一種終端的示意性框圖。該終端70包括接收單元701、篩選單元702、表創建單元703、樹狀圖生成單元704、查詢語句生成單元705、結果返回單元706。
接收單元701,用於接收在vCenter中用戶輸入的查詢對象。其中,vCenter係虛擬化管理服務器平臺VMware vCenter Server的簡稱。在vCenter中,涉及到的組件主要包括主機、虛擬機、網路、存儲、集群等。對於用戶而言,若用戶要查詢主機,那麽用戶輸入的查詢對象根據用戶的需求可以為某一個具體的主機,若不能確定為某一個具體的主機,也可以將主機組件作為查詢對象。
篩選單元702,根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息。在vCenter中,將主機、虛擬機、網路、存儲、集群等抽象出相對應的類,並抽象出這些類之間的相對應的關係,並將這些抽象出來的類和這些類之間的相對應的關係保存。並同時保存抽象出來的類的具體信息,如保存多個主機的具體信息,包括主機名稱、主機內存大小、主機處理器、主機操作系統類型等。當接收到用戶輸入的查詢對象後,根據保存的抽象出來的類和這些類之間的相對應的關係篩選出查詢對象相關聯的所有的對象信息。如用戶輸入的查詢對象為主機,那麽與該查詢對象相關聯的所有的對象信息包括主機名稱、主機連接的存儲、主機上的虛擬機、主機內存、主機運行狀態、主機網絡系統、主機所在的群集、主機連接狀態、主機觸發的告警的信息等。
表創建單元703,用于根據該查詢對象和該查詢對象相關聯的所有對象信息創建資料表並在資料表中插入相關資料。其中每個對象所屬的類對應一個資料表。在具體實現中,要先創建資料表,再在資料表中插入資料。具體地,如圖8所示,表創建單元包括第一字段獲取單元801、轉化執行單元802。第一字段獲取單元801,獲取每個對象所屬類的屬性和該屬性的值。其中,這裏的類的屬性,理解為類的成員變量。可以通過Java反射機制來獲取每個對象所屬類的屬性和該屬性的值。轉化執行單元802,將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。其中,將每個類的屬性轉化為SQL語句時,需要加入create table等創建資料表的SQL語法;將每個類的屬性和屬性的值轉化為SQL語句時,需要加入insert等插入資料的SQL語法。創建的表按照預設的規則命名,如t-類名等。
樹狀圖生成單元704,用於將資料表和資料表中的字段生成多層關係樹狀圖。
接收單元701,還用於接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件。因為多層關係樹狀圖中展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,因此用戶可直接選擇要顯示的資料表和字段,方便查看。其中,要選擇的字段可以為空,那麽理解為該資料表的所有字段都要顯示,同時輸入的查詢條件可以為空,可以理解為該資料表的所有資料都需要。
查詢語句生成單元705,用於根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句。
結果返回單元706,用於執行SQL語句並返回查詢執行結果。該查詢執行結果為一條條的記錄,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等。
具體地,樹狀圖生成單元包括表名稱獲取單元901、判斷單元902、第二字段獲取單元903、節點保存單元904、多層關係樹狀圖生成單元905。表名稱獲取單元901,用於獲取用戶輸入的查詢對象所對應的資料表的名稱。具體地,通過java反射機制獲取用戶輸入的查詢對象所對應的類的名稱,因為一個類對應一個表,通過該類的名稱可得到該資料表的名稱。判斷單元902,用於判斷是否存在該資料表的名稱。存在該資料表的名稱理解為在vCenter中存在該資料表的名稱。若不存在該資料表的名稱,則返回不存在的相關資料以提醒用戶。第二字段獲取單元903,用於若存在該資料表的名稱,獲取該資料表的所有字段及各個字段所屬的類型。其中,各個字段所屬的類型包括基本類型、其 他類的類型等。需要注意的是,要先定義好每一個字段的資料結構,如定義一個字段的資料結構至少包括:具體的字段值,字段所屬的類型等。節點保存單元904,用於將該資料表的名稱作為樹狀圖的根節點,將各個字段作為該根節點的子節點進行保存。判斷單元902,還用於對於每一個字段,根據該字段所屬的類型判斷該字段中是否涉及有其他資料表。若該字段所屬的類型是基本類型,則判斷該字段中不包含有其他類,即不涉及有其他資料表;若該字段所屬的類型係其他類的類型,則判斷該字段中包含有其他類,即涉及有其他資料表。表名稱獲取單元901,還用於若涉及有其他資料表,獲取所對應的資料表的名稱。若只有一個字段涉及有其他資料表,獲取該一個字段涉及的所對應的資料表的名稱;若有多個字段涉及有其他表,獲取該多個字段涉及的所對應的資料表的名稱。判斷單元902,還用於判斷是否存在所對應的資料表的名稱。若不存在對應的資料表的名稱,返回不存在的相關資料以提醒用戶。存在對應的資料表的名稱理解為在vCenter中存在對應的資料表的名稱。判斷單元902,還用於若存在所對應的資料表的名稱,判斷保存的節點中是否有所對應的資料表的名稱。若保存的節點中沒有保存所對應的資料表的名稱,即若有一個或者多個字段涉及有其他資料表的名稱,在保存的節點中只要至少有一個所對應的資料表的名稱不存在,或者可理解為至少有一個所對應的資料表的名稱沒有保存為對應的節點;若保存的節點中有所對應的資料表的名稱,即若有一個或者多個字段都涉及有其他資料表的名稱,且保存的節點中已經存在有該一個或者多個字段涉及的對應的資料表的名稱。節點保存單元904,還用於若保存的節點中沒有保存所對應的資料表的名稱,將該資料表的所有字段作為當前字段所對應的節點的下一層節點進行保存,依此類推,直到樹狀圖的每一層節點對應 的字段均不涉及其他資料表。多層關係樹狀圖生成單元905,用於若保存的節點中有所對應的資料表的名稱,根據保存的所有節點生成多層關係樹狀圖;以及若對於每一個字段,都不涉及有其他資料表,根據保存的所有節點生成多層關係樹狀圖。若所對應的資料表的名稱所對應的節點為其他資料表的字段所對應的節點,可理解為其他資料表的字段所對應的節點與所對應的資料表的名稱所對應的節點為同一個節點。通過圖9所示的結構,會得到一個多層關係樹狀圖,該多層關係樹狀圖展示了查詢對象所對應類以及與查詢對象相關聯的所有對象所對應類之間的關係,其中,也展示了每個類的屬性。也即展示了查詢對象所對應的資料表以及與查詢對象相關聯的所有資料表之間的關係,其中,也展示了每個資料表包含的字段。這裏,類的屬性,理解為類的所有成員變量。得到的多層關係樹狀圖一目了然的展示了要查詢的資料表和相關聯的資料表之間的關係以及每個資料表所對應的字段,方便用戶進行更一步的查詢。
上述實施例可以將定位問題中的查詢對象所對應的類和查詢對象的相關聯的所有對象對應的類顯示在多層關係樹狀圖中,再根據多層關係樹狀圖中的信息進行查詢得到查詢結果,節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖10為本發明另一實施例提供的一種終端的示意性框圖。該終端100包括接收單元101、篩選單元102、內存資料庫建立單元103、表創建單元104、樹狀圖生成單元105、查詢語句生成單元106、結果返回單元107。其中,接收單元101、篩選單元102、樹狀圖生成單元105、查詢語句生成單元106請參看圖7所示實施例中的接收單元701、篩選單元702、樹狀圖生成單元704、查詢語句 生成單元705。圖10所示實施例與圖7所示實施例的區別在於:增加了內存資料庫建立單元103。
內存資料庫建立單元103,用於建立內存資料庫,該內存資料庫與vCenter相連接。優選地,採用SQLite作為內存資料庫。該內存資料庫與vCenter相聯接,只要程序沒有因為異常而中斷,就可以和vCenter一直保持通信。並且使用等待更新機制(waitforUpdate機制)更新內存資料庫中的資料,因此只要vCenter中有相關資料變化就可以立刻檢測到,可以理解為,獲取的內存資料庫中的資料就是vCenter中的實時資料。
表創建單元104,用於根據該查詢對象和該查詢對象相關聯的所有對象信息在內存資料庫中創建資料表並在資料表中插入相關資料。其中每個對象所屬的類對應一個資料表。在具體實現中,要先創建資料表,再在資料表中插入資料。具體地,創建資料表以及在資料表中插入相關資料如圖8該,在此不再贅述。
結果返回單元107,用於在內存資料庫中執行SQL語句並返回查詢執行結果。該查詢執行結果為一條條的記錄,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等。
上述實施例通過建立內存資料庫,將查詢對象所對應的資料表和該查詢對象相關聯的所有對象所對應的資料表都保存在內存資料庫中,vCenter中的相關資料有變動時,也會實時更新到內存資料庫中,再從內存資料庫中取相關的資料來生成多層關係樹狀圖,無需再重新從vCenter中獲取所有需要的資料,加快了查詢的速度,更一步節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖11為本發明又一實施例提供的一種終端110的示意性框圖。圖11包括接收單元111、篩選單元112、內存資料庫建立單元113、表創建單元114、樹狀圖生成單元115、查詢語句生成單元116、結果返回單元117、存儲容器創建單元118、結果保存單元119、顯示單元120。其中,接收單元111、篩選單元112、內存資料庫建立單元113、表創建單元114、樹狀圖生成單元115、查詢語句生成單元116、結果返回單元117請參看圖10實施例所描述的內容。圖11實施例與圖10實施例的區別在於:增加了存儲容器創建單元118、結果保存單元119、顯示單元120。
存儲容器創建單元118,用於接收到vCenter中發出的告警信息後,創建存儲容器。其中,創建的存儲容器可以為一個或者多個。如接收到vCenter中發出的一個封包率突然升高的告警信息,接受到告警信息後,創建購物車,再創建購物車的籃子。其中,創建的購物車可以有多個,一個購物車可以創建多個籃子。
如接收到一個雲端環境中封包率突然升高的告警信息,那麽該告警信息所涉及的對象為網路。根據接收單元111、篩選單元112、內存資料庫建立單元113、表創建單元114、樹狀圖生成單元115、查詢語句生成單元116、結果返回單元117,以輸入該告警信息所涉及的對象,根據該告警信息所涉及到的對象進行查詢得到查詢執行結果。具體地,接收單元111、篩選單元112、內存資料庫建立單元113、表創建單元114、樹狀圖生成單元115、查詢語句生成單元116、結果返回單元117可參見圖10該的實施例,具體地,請參看圖10實施例所涉及的內容,在此不再贅述。該查詢執行結果為一條條的記錄,即為對應的具 體對象,如一個或者多個具體主機的信息,一個或者多個具體虛擬機的信息等,一個或者多個具體網路的信息等。
結果保存單元119,用於將該告警信息所涉及到的對象的查詢執行結果保存在存儲容器中。將一次查詢的查詢執行結果保存在一個購物車的籃子裏。將多次查詢的多個查詢執行結果保存在一個購物車的多個籃子裏,或者保存在多個購物車的籃子裏。
接收單元111,還用於接收用戶在該查詢執行結果中選擇的檢測對象。優選地,選擇的檢測對象為多個。具體地,可以選擇一次查詢的查詢執行結果中的多個對象,也可以選擇多個查詢的查詢執行結果中的多個對象。可以理解地,如可以在一個購物車的多個籃子裏選擇多個對象,或者在多個購物車的多個籃子裏選擇多個對象。
顯示單元120,用於根據檢測對象生成並顯示該對象的性能曲線圖以供查找告警信息的來源。具體地,如圖12所示,顯示單元包括時間段接收單元121、性能資料獲取單元122、生成顯示單元123。時間段接收單元121,用於接收用戶輸入的要檢測的時間段。要檢測的時間可以為一天之內的某幾個小時,也可以為幾天,也可以為幾個星期等。性能資料獲取單元122,用於根據檢測對象獲取該檢測對象在該時間段內的性能資料。其中,性能資料包括CPU性能、內存性能、網路性能等中的一個。生成顯示單元123,用於根據該性能資料生成並顯示檢測對象的性能曲線圖以供查找告警信息的來源。若有多個檢測對象,那麽該性能曲線圖中就會有多條曲線,將多個曲線放在一起對比,很容易發現異常曲線所對應的對象。將該異常曲線所對應的對象進行進一步的排查以供查找該告警信息的來源。
上述方法實施例接收到告警信息後,選擇查詢執行結果中的檢測對象,生成並顯示該檢測對象的性能曲線圖,尤其是多個檢測對象的多個曲線圖,進一步方便用戶查詢告警信息的來源。加快了查詢的速度,更一步節省了定位問題和故障分析的時間,提高了運維管理的效率。
圖13為本發明實施例提供的一種設備的示意性框圖。該設備130包括輸入裝置131、輸出裝置132、記憶體133以及處理器134,上述輸入裝置131、輸出裝置132、記憶體133以及處理器134通過匯流排135連接。其中:輸入裝置131,用於提供用戶輸入查詢對象、輸入要查詢的資料表和字段、輸入查詢條件等。具體實現中,本發明實施例的輸入裝置131可包括鍵盤、鼠標、光電輸入裝置、聲音輸入裝置、觸摸式輸入裝置等。
輸出裝置132,用於輸出多層關係樹狀圖、輸出查詢執行結果、要檢測對象的性能曲線圖等。具體實現中,本發明實施例的輸出裝置132可包括顯示器、顯示螢幕、觸碰螢幕等。
記憶體133,用於存儲帶有各種功能的程序資料。本發明實施例中記憶體133存儲的資料包括用戶輸入的查詢對象、用戶查詢對象以及與該查詢對象相關聯的所有的對象信息、資料表和資料表中的字段、多層關係樹狀圖、告警信息、創建的存儲容器、要檢測對象的性能資料等,以及其他可調用並運行的程序資料。具體實現中,本發明實施例的記憶體133可以是系統記憶體,比如,揮發性的(諸如RAM),非易失性的(諸如ROM,閃存等),或者兩者的結合。具體實現中,本發明實施例的記憶體133還可以是系統之外的外部記憶體,比如,磁碟、光碟、磁帶等。
處理器134,用於調用記憶體133中存儲的程序資料,並執行如下操作:
接收vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;執行SQL語句並返回查詢執行結果。
處理器134,還執行如下操作:
獲取每個對象所屬類的屬性和該屬性的值;將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。
處理器134,還執行如下操作:
獲取用戶輸入的查詢對象所對應的資料表的名稱;判斷是否存在該資料表的名稱;若存在該資料表的名稱,將該資料表的名稱作為第一層節點保存;獲取該資料表的所有字段;將該資料表的所有字段作為該資料表的名稱所對應的節點的下一層節點保存;獲取每一個字段所屬的類型;對於每一個字段,根據該字段的類型判斷該字段中是否涉及有其他資料表;若涉及有其他資料表,獲取所對應的資料表的名稱;判斷是否存在所對應的資料表的名稱;若存在該資料表的名稱,判斷是否保存有該資料表的名稱;若沒有保存該資料表的名稱,返回獲取該資料表的所有字段的步驟;若保存有該資料表的名稱或者 對於每一個字段都不涉及有其他資料表,根據保存的所有節點生成多層關係樹狀圖。
處理器134,還執行如下操作:
建立內存資料庫,該內存資料庫與vCenter相連接;根據該查詢對象和該對象信息在該內存資料庫中創建資料表並在資料表中插入相關資料。
處理器134,還執行如下操作:
接收到vCenter中發出的告警信息後,創建存儲容器;將該告警信息所涉及到的對象的查詢執行結果保存在該存儲容器中;接收用戶在該查詢執行結果中選擇的檢測對象;根據該檢測對象生成並顯示該檢測對象的性能曲線圖以供查找該告警信息的來源。
本發明還提供一種電腦可讀存儲介質,該電腦可讀存儲介質存儲有一個或者一個以上程序,該一個或者一個以上程序可被一個或者一個以上的處理器執行,以實現以下步驟:
接收vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表;根據該資料表生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;執行SQL語句並返回查詢執行結果。
優選地,該步驟還包括:
獲取每個對象所屬類的屬性和該屬性的值;將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。
優選地,該步驟還包括:
獲取用戶輸入的查詢對象所對應的資料表的名稱;判斷是否存在該資料表的名稱;若存在該資料表的名稱,將該資料表的名稱作為第一層節點保存;獲取該資料表的所有字段;將該資料表的所有字段作為該資料表的名稱所對應的節點的下一層節點保存;獲取每一個字段所屬的類型;對於每一個字段,根據該字段的類型判斷該字段中是否涉及有其他資料表;若涉及有其他資料表,獲取所對應的資料表的名稱;判斷是否存在所對應的資料表的名稱;若存在該資料表的名稱,判斷是否保存有該資料表的名稱;若沒有保存該資料表的名稱,返回獲取該資料表的所有字段的步驟;若保存有該資料表的名稱或者對於每一個字段都不涉及有其他資料表,根據保存的所有節點生成多層關係樹狀圖。
優選地,該步驟還包括:
建立內存資料庫,該內存資料庫與vCenter相連接;根據該查詢對象和該對象信息在該內存資料庫中創建資料表並在資料表中插入相關資料。
優選地,該步驟還包括:
接收到vCenter中發出的告警信息後,創建存儲容器;將該告警信息所涉及到的對象的查詢執行結果保存在該存儲容器中;接收用戶在該查詢執行結果中選擇的檢測對象;根據該檢測對象生成並顯示該檢測對象的性能曲線圖以供查找該告警信息的來源。
所屬領域的技術人員可以清楚地瞭解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能够以電子硬體、電腦軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟體方式來執行取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。
在本申請所提供的幾個實施例中,應該理解到,所揭露的終端和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅係是示意性的,例如,該單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
該作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本發明實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一 個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
該集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品存儲在一個存儲介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,服務器,或者網路設備等)執行本發明各個實施例該方法的全部或部分步驟。而前述的存儲介質包括:USD隨身碟、移動硬碟、只讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上該,僅為本發明的具體實施方式,但本發明的保護範圍並不侷限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求的保護範圍為准。

Claims (10)

  1. 一種關聯信息查詢方法,其中,該方法包括:接收在虛擬化管理服務器平臺(VMware vCenter Server,簡稱vCenter)中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表,每個對象所屬類的屬性值為插入所述資料表的相關資料;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成結構化查詢語言(Structured Query Language,SQL)語句;執行SQL語句並返回查詢執行結果。
  2. 如申請專利範圍第1項的方法,其中,根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,包括:獲取每個對象所屬類的屬性和該屬性的值;將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。
  3. 如申請專利範圍第1項的方法,其中,根據該資料表和資料表中的字段生成多層關係樹狀圖,包括:獲取用戶輸入的查詢對象所對應的資料表的名稱;判斷是否存在該資料表的名稱;若存在該資料表的名稱,則獲取該資料表的所有字段及各個字段所屬的類型;將該資料表的名稱作為該樹狀圖的根節點,將該各個字段作為該根節點的子節點進行保存;根據該字段的類型判斷該字段中是否涉及有其他資料表;若涉及有其他資料表,則判斷是否存在對應的資料表的名稱;若存在該資料表的名稱,判斷保存的節點中是否有該資料表的名稱;若保存的節點中沒有該資料表的名稱,則將該資料表的所有字段作為當前字段所對應的節點的下一層節點進行保存,依此類推,直到該樹狀圖的每一層節點對應的字段均不涉及其他資料表;根據保存的所有節點生成多層關係樹狀圖。
  4. 如申請專利範圍第1-3項中任一項的方法,其中,在根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料的步驟之前,該方法還包括:建立內存資料庫,該內存資料庫與vCenter相連接;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,包括:根據該查詢對象和該對象信息在該內存資料庫中創建資料表並在資料表中插入相關資料;執行SQL語句並返回查詢執行結果,包括:在內存資料庫中執行SQL語句並返回查詢執行結果。
  5. 如申請專利範圍第4項的方法,其中,該方法還包括:接收到vCenter中發出的告警信息後,創建存儲容器;將該告警信息所涉及到的對象的查詢執行結果保存在該存儲容器中;接收用戶在該查詢執行結果中選擇的檢測對象;根據該檢測對象生成並顯示該檢測對象的性能曲線圖以供查找該告警信息的來源。
  6. 一種終端,其中,該終端包括:接收單元,用於接收在vCenter中用戶輸入的查詢對象;篩選單元,用於根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;表創建單元,用於根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表,每個對象所屬類的屬性值為插入所述資料表的相關資料;樹狀圖生成單元,用於根據該資料表和資料表中的字段生成多層關係樹狀圖;該接收單元,還用於接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;查詢語句生成單元,用於根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;結果返回單元,用於執行SQL語句並返回查詢執行結果。
  7. 如申請專利範圍第6項的終端,其中,該表創建單元包括第一字段獲取單元、轉化執行單元;其中,該第一字段獲取單元,用於獲取每個對象所屬類的屬性和該屬性的值;該轉化執行單元,用於將每個類的屬性轉化為SQL語句並執行該SQL語句以創建資料表,將每個類的屬性和該屬性的值轉化為SQL語句並執行該SQL語句以在資料表中插入資料。
  8. 如申請專利範圍第6項的終端,其中,該樹狀圖生成單元包括表名稱獲取單元、判斷單元、第二字段獲取單元、節點保存單元、多層關係樹狀圖生成單元;其中,該表名稱獲取單元,用於獲取用戶輸入的查詢對象所對應的資料表的名稱;該判斷單元,用於判斷是否存在該資料表的名稱;該第二字段獲取單元,用於若存在該資料表的名稱,則獲取該數資料表的所有字段及各個字段所屬的類型;該節點保存單元,用於將該資料表的名稱作為該樹狀圖的根節點,將該各個字段作為該根節點的子節點進行保存;該判斷單元,還用於根據該字段的類型判斷該字段中是否涉及有其他資料表;若涉及有其他資料表,則判斷是否存在對應的資料表的名稱;以及若存在該資料表的名稱,判斷保存的節點中是否有該資料表的名稱;該節點保存單元,還用於若保存的節點中沒有該資料表的名稱,則將該資料表的所有字段作為當前字段所對應的節點的下一層節點進行保存,依此類推,直到該樹狀圖的每一層節點對應的字段均不涉及其他資料表;該多層關係樹狀圖生成單元,用於根據保存的所有節點生成多層關係樹狀圖。
  9. 如申請專利範圍第6-8項中任一項的終端,其中,該終端還包括存儲容器創建單元、結果保存單元、顯示單元;其中,該存儲容器創建單元,用於接收到vCenter中發出的告警信息後,創建存儲容器;該結果保存單元,用於將該告警信息所涉及到的對象的查詢執行結果保存在該存儲容器中;該接收單元,還用於接收用戶在該查詢執行結果中選擇的檢測對象;該顯示單元,用於根據該檢測對象生成並顯示該檢測對象的性能曲線圖以供查找該告警信息的來源。
  10. 一種關連信息查詢設備,其中,該設備包括處理器,以及與該處理器相連的記憶體;該記憶體,用於存儲包括用戶輸入的查詢對象、該查詢對象以及與該查詢對象相關聯的所有的對象信息、資料表和資料表中的字段、多層關係樹狀圖,以及其他可調用並運行的程序資料;該處理器,用於調用該記憶體中存儲的程序資料,並執行如下步驟:接收在vCenter中用戶輸入的查詢對象;根據該查詢對象在vCenter中篩選出與該查詢對象相關聯的所有的對象信息;根據該查詢對象和該對象信息創建資料表並在資料表中插入相關資料,其中每個對象所屬的類對應一個資料表,每個對象所屬類的屬性值為插入所述資料表的相關資料;根據該資料表和資料表中的字段生成多層關係樹狀圖;接收用戶在多層關係樹狀圖中選擇的資料表和字段,以及用戶輸入的查詢條件;根據選擇的資料表和字段,以及輸入的查詢條件生成SQL語句;執行SQL語句並返回查詢執行結果。
TW106138204A 2017-05-10 2017-11-03 一種關聯信息查詢方法、終端及設備 TWI650659B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??201710326709.4 2017-05-10
CN201710326709.4A CN107665228B (zh) 2017-05-10 2017-05-10 一种关联信息查询方法、终端及设备

Publications (2)

Publication Number Publication Date
TW201901491A TW201901491A (zh) 2019-01-01
TWI650659B true TWI650659B (zh) 2019-02-11

Family

ID=61122524

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106138204A TWI650659B (zh) 2017-05-10 2017-11-03 一種關聯信息查詢方法、終端及設備

Country Status (3)

Country Link
CN (1) CN107665228B (zh)
TW (1) TWI650659B (zh)
WO (1) WO2018205376A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363785A (zh) * 2018-02-12 2018-08-03 平安科技(深圳)有限公司 数据关系展示方法、装置、计算机设备及存储介质
CN108389079A (zh) * 2018-02-13 2018-08-10 腾讯科技(深圳)有限公司 计费策略的制定与查询方法、装置、终端及可读存储介质
CN109144997A (zh) * 2018-06-11 2019-01-04 玖富金科控股集团有限责任公司 数据关联方法、装置及存储介质
CN109840257B (zh) * 2018-12-15 2023-11-21 中国平安人寿保险股份有限公司 数据库查询方法、装置、计算机装置及可读存储介质
CN109918394B (zh) * 2019-01-23 2023-11-28 中国平安人寿保险股份有限公司 数据查询方法、系统、计算机装置及计算机可读存储介质
CN109933602B (zh) * 2019-02-28 2021-05-04 武汉大学 一种自然语言与结构化查询语言的转换方法及装置
CN111723245B (zh) * 2019-03-18 2024-04-26 阿里巴巴集团控股有限公司 数据存储系统中建立不同类型存储对象关联关系的方法
CN112559538A (zh) * 2020-11-11 2021-03-26 中广核工程有限公司 关联关系生成方法、装置、计算机设备和存储介质
CN112597171A (zh) * 2020-12-31 2021-04-02 平安银行股份有限公司 表格关系可视化方法、装置、电子设备及存储介质
CN112818007B (zh) * 2021-02-03 2021-10-19 中科驭数(北京)科技有限公司 数据处理方法、装置及可读存储介质
CN113392105B (zh) * 2021-05-24 2023-03-24 国网河北省电力有限公司衡水供电分公司 业务数据处理方法和终端设备
CN113468003B (zh) * 2021-06-18 2023-06-02 上海芷锐电子科技有限公司 一种芯片测试数据的树形显示与操作系统和方法
CN113297255B (zh) * 2021-06-23 2023-01-24 建信金融科技有限责任公司 一种数据处理方法和装置
CN113407548B (zh) * 2021-08-18 2021-11-19 南京网觉软件有限公司 基于ClickHouse字典表的大数据查询方法、系统和介质
CN114116866A (zh) * 2021-11-22 2022-03-01 广州新科佳都科技有限公司 一种数据获取方法、装置、终端设备及存储介质
CN115757400B (zh) * 2022-11-07 2023-06-13 北京国电通网络技术有限公司 数据表处理方法、装置、电子设备和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW464812B (en) * 1999-06-22 2001-11-21 Internet Dynamics Inc Query interface to policy server
TW200426625A (en) * 2002-12-23 2004-12-01 Ibm A transparent edge-of-network data cache
US20080147627A1 (en) * 2006-12-15 2008-06-19 Yahoo! Inc. Clustered query support for a database query engine
US20120059863A1 (en) * 2010-09-07 2012-03-08 Microgen Plc Fast Hierarchical Enrichment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100568244C (zh) * 2007-10-31 2009-12-09 金蝶软件(中国)有限公司 一种数据库动态查询的方法和系统
CN102646111A (zh) * 2012-02-16 2012-08-22 中国测绘科学研究院 一种基于知识库的通用关联信息查询树的快速构建方法
CN104615602B (zh) * 2013-11-05 2019-09-20 深圳力维智联技术有限公司 查询界面自动生成实现装置及其方法
EP3117347B1 (en) * 2014-03-10 2020-09-23 Interana, Inc. Systems and methods for rapid data analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW464812B (en) * 1999-06-22 2001-11-21 Internet Dynamics Inc Query interface to policy server
TW200426625A (en) * 2002-12-23 2004-12-01 Ibm A transparent edge-of-network data cache
US20080147627A1 (en) * 2006-12-15 2008-06-19 Yahoo! Inc. Clustered query support for a database query engine
US20120059863A1 (en) * 2010-09-07 2012-03-08 Microgen Plc Fast Hierarchical Enrichment

Also Published As

Publication number Publication date
CN107665228B (zh) 2019-12-20
WO2018205376A1 (zh) 2018-11-15
TW201901491A (zh) 2019-01-01
CN107665228A (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
TWI650659B (zh) 一種關聯信息查詢方法、終端及設備
US11797618B2 (en) Data fabric service system deployment
US11430196B2 (en) Precise manipulation of virtual object position in an extended reality environment
US10922493B1 (en) Determining a relationship recommendation for a natural language request
US10333820B1 (en) System for inferring dependencies among computing systems
US9201700B2 (en) Provisioning computer resources on a network
US8762411B2 (en) Progressive exploration of data relationships
US10360245B2 (en) Attribute value derivation
WO2018032976A1 (zh) 一种医疗数据管理方法、装置及医疗数据系统
US20230015186A1 (en) Partially typed semantic based query execution optimization
CN112181704A (zh) 一种大数据任务处理方法、装置、电子设备及存储介质
US8694918B2 (en) Conveying hierarchical elements of a user interface
US9996559B2 (en) Maintenance actions and user-specific settings of the attribute value derivation instruction set user interface
US11276236B1 (en) Techniques for placement of extended reality objects relative to other extended reality objects in an extended reality environment
CN117827835A (zh) 数据库管理方法、装置、设备和介质