CN107665228B - 一种关联信息查询方法、终端及设备 - Google Patents

一种关联信息查询方法、终端及设备 Download PDF

Info

Publication number
CN107665228B
CN107665228B CN201710326709.4A CN201710326709A CN107665228B CN 107665228 B CN107665228 B CN 107665228B CN 201710326709 A CN201710326709 A CN 201710326709A CN 107665228 B CN107665228 B CN 107665228B
Authority
CN
China
Prior art keywords
data table
query
data
unit
name
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201710326709.4A
Other languages
English (en)
Other versions
CN107665228A (zh
Inventor
戴开云
林博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710326709.4A priority Critical patent/CN107665228B/zh
Priority to PCT/CN2017/090923 priority patent/WO2018205376A1/zh
Priority to TW106138204A priority patent/TWI650659B/zh
Publication of CN107665228A publication Critical patent/CN107665228A/zh
Application granted granted Critical
Publication of CN107665228B publication Critical patent/CN107665228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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语句并返回查询执行结果。本发明实施例可以将定位问题中的查询对象和查询对象的相关联的所有对象显示在多层关系树状图中,再根据多层关系树状图中的信息进行查询得到查询结果,节省了定位问题和故障分析的时间,提高了运维管理的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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为本发明又一实施例提供的一种终端的示意性框图。图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中发出的告警信息后,创建存储容器;将所述告警信息所涉及到的对象的查询执行结果保存在所述存储容器中;接收用户在所述查询执行结果中选择的检测对象;根据所述检测对象生成并显示所述检测对象的性能曲线图以供查找所述告警信息的来源。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种关联信息查询方法,其特征在于,所述方法包括:
接收在虚拟化管理服务器平台(VMware vCenter Server,简称vCenter)中用户输入的查询对象;
根据所述查询对象在vCenter中筛选出与所述查询对象相关联的所有的对象信息;
根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据,其中每个对象所属的类对应一个数据表;
根据所述数据表和数据表中的字段生成多层关系树状图;
接收用户在多层关系树状图中选择的数据表和字段,以及用户输入的查询条件;
根据选择的数据表和字段,以及输入的查询条件生成结构化查询语言(StructuredQuery Language,SQL)语句;
执行SQL语句并返回查询执行结果;
所述根据所述数据表和数据表中的字段生成多层关系树状图,包括:
获取用户输入的查询对象所对应的数据表的名称;
判断是否存在所述数据表的名称;
若存在所述数据表的名称,则获取所述数据表的所有字段及各个字段所属的类型;
将所述数据表的名称作为所述树状图的根节点,将所述各个字段作为所述根节点的子节点进行保存;
根据所述字段的类型判断所述字段中是否涉及有其他数据表;
若涉及有其他数据表,则判断是否存在对应的数据表的名称;若存在所述数据表的名称,判断保存的节点中是否有所述数据表的名称;
若保存的节点中没有所述数据表的名称,则将该数据表的所有字段作为当前字段所对应的节点的下一层节点进行保存,依此类推,直到所述树状图的每一层节点对应的字段均不涉及其他数据表;
根据保存的所有节点生成多层关系树状图。
2.如权利要求1所述的方法,其特征在于,根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据,包括:
获取每个对象所属类的属性和所述属性的值;
将每个类的属性转化为SQL语句并执行所述SQL语句以创建数据表,将每个类的属性和所述属性的值转化为SQL语句并执行所述SQL语句以在数据表中插入数据。
3.如权利要求1-2任一项所述的方法,其特征在于,在根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据的步骤之前,所述方法还包括:
建立内存数据库,所述内存数据库与vCenter相连接;
根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据,包括:根据所述查询对象和所述对象信息在所述内存数据库中创建数据表并在数据表中插入相关数据;
执行SQL语句并返回查询执行结果,包括:在内存数据库中执行SQL语句并返回查询执行结果。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收到vCenter中发出的告警信息后,创建存储容器;
将所述告警信息所涉及到的对象的查询执行结果保存在所述存储容器中;
接收用户在所述查询执行结果中选择的检测对象;
根据所述检测对象生成并显示所述检测对象的性能曲线图以供查找所述告警信息的来源。
5.一种终端,其特征在于,所述终端包括:
接收单元,用于接收在vCenter中用户输入的查询对象;
筛选单元,用于根据所述查询对象在vCenter中筛选出与所述查询对象相关联的所有的对象信息;
表创建单元,用于根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据,其中每个对象所属的类对应一个数据表;
树状图生成单元,用于根据所述数据表和数据表中的字段生成多层关系树状图;
所述接收单元,还用于接收用户在多层关系树状图中选择的数据表和字段,以及用户输入的查询条件;
查询语句生成单元,用于根据选择的数据表和字段,以及输入的查询条件生成SQL语句;
结果返回单元,用于执行SQL语句并返回查询执行结果;
所述树状图生成单元包括表名称获取单元、判断单元、第二字段获取单元、节点保存单元、多层关系树状图生成单元;其中,
所述表名称获取单元,用于获取用户输入的查询对象所对应的数据表的名称;
所述判断单元,用于判断是否存在所述数据表的名称;
所述第二字段获取单元,用于若存在所述数据表的名称,则获取所述数据表的所有字段及各个字段所属的类型;
所述节点保存单元,用于将所述数据表的名称作为所述树状图的根节点,将所述各个字段作为所述根节点的子节点进行保存;
所述判断单元,还用于根据所述字段的类型判断所述字段中是否涉及有其他数据表;若涉及有其他数据表,则判断是否存在对应的数据表的名称;以及若存在所述数据表的名称,判断保存的节点中是否有所述数据表的名称;
所述节点保存单元,还用于若保存的节点中没有所述数据表的名称,则将该数据表的所有字段作为当前字段所对应的节点的下一层节点进行保存,依此类推,直到所述树状图的每一层节点对应的字段均不涉及其他数据表;
所述多层关系树状图生成单元,用于根据保存的所有节点生成多层关系树状图。
6.如权利要求5所述的终端,其特征在于,所述表创建单元包括第一字段获取单元、转化执行单元;其中,
所述第一字段获取单元,用于获取每个对象所属类的属性和所述属性的值;
所述转化执行单元,用于将每个类的属性转化为SQL语句并执行所述SQL语句以创建数据表,将每个类的属性和所述属性的值转化为SQL语句并执行所述SQL语句以在数据表中插入数据。
7.如权利要求5-6任一项所述的终端,其特征在于,所述终端还包括存储容器创建单元、结果保存单元、显示单元;其中,
所述存储容器创建单元,用于接收到vCenter中发出的告警信息后,创建存储容器;
所述结果保存单元,用于将所述告警信息所涉及到的对象的查询执行结果保存在所述存储容器中;
所述接收单元,还用于接收用户在所述查询执行结果中选择的检测对象;
所述显示单元,用于根据所述检测对象生成并显示所述检测对象的性能曲线图以供查找所述告警信息的来源。
8.一种设备,其特征在于,所述设备包括处理器,以及与所述处理器相连的存储器;
所述存储器,用于存储包括用户输入的查询对象、所述查询对象以及与所述查询对象相关联的所有的对象信息、数据表和数据表中的字段、多层关系树状图,以及其他可调用并运行的程序数据;
所述处理器,用于调用所述存储器中存储的程序数据,并执行如下步骤:
接收在vCenter中用户输入的查询对象;
根据所述查询对象在vCenter中筛选出与所述查询对象相关联的所有的对象信息;
根据所述查询对象和所述对象信息创建数据表并在数据表中插入相关数据,其中每个对象所属的类对应一个数据表;
根据所述数据表和数据表中的字段生成多层关系树状图;
接收用户在多层关系树状图中选择的数据表和字段,以及用户输入的查询条件;
根据选择的数据表和字段,以及输入的查询条件生成SQL语句;
执行SQL语句并返回查询执行结果;
所述根据所述数据表和数据表中的字段生成多层关系树状图,包括:
获取用户输入的查询对象所对应的数据表的名称;
判断是否存在所述数据表的名称;
若存在所述数据表的名称,则获取所述数据表的所有字段及各个字段所属的类型;
将所述数据表的名称作为所述树状图的根节点,将所述各个字段作为所述根节点的子节点进行保存;
根据所述字段的类型判断所述字段中是否涉及有其他数据表;
若涉及有其他数据表,则判断是否存在对应的数据表的名称;若存在所述数据表的名称,判断保存的节点中是否有所述数据表的名称;
若保存的节点中没有所述数据表的名称,则将该数据表的所有字段作为当前字段所对应的节点的下一层节点进行保存,依此类推,直到所述树状图的每一层节点对应的字段均不涉及其他数据表;
根据保存的所有节点生成多层关系树状图。
CN201710326709.4A 2017-05-10 2017-05-10 一种关联信息查询方法、终端及设备 Active CN107665228B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710326709.4A CN107665228B (zh) 2017-05-10 2017-05-10 一种关联信息查询方法、终端及设备
PCT/CN2017/090923 WO2018205376A1 (zh) 2017-05-10 2017-06-29 一种关联信息查询方法、终端、服务器管理系统及计算机可读存储介质
TW106138204A TWI650659B (zh) 2017-05-10 2017-11-03 一種關聯信息查詢方法、終端及設備

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN107665228A CN107665228A (zh) 2018-02-06
CN107665228B true CN107665228B (zh) 2019-12-20

Family

ID=61122524

Family Applications (1)

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

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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145162A (zh) * 2007-10-31 2008-03-19 金蝶软件(中国)有限公司 一种数据库动态查询的方法和系统
CN102646111A (zh) * 2012-02-16 2012-08-22 中国测绘科学研究院 一种基于知识库的通用关联信息查询树的快速构建方法
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5755300A (en) * 1999-06-22 2001-01-09 Internet Dynamics, Inc. Query interface to policy server
US6950823B2 (en) * 2002-12-23 2005-09-27 International Business Machines Corporation Transparent edge-of-network data cache
US7844608B2 (en) * 2006-12-15 2010-11-30 Yahoo! Inc. Clustered query support for a database query engine
US8392473B2 (en) * 2010-09-07 2013-03-05 Microgen Aptitude Limited Fast hierarchical enrichment
US9323809B2 (en) * 2014-03-10 2016-04-26 Interana, Inc. System and methods for rapid data analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145162A (zh) * 2007-10-31 2008-03-19 金蝶软件(中国)有限公司 一种数据库动态查询的方法和系统
CN102646111A (zh) * 2012-02-16 2012-08-22 中国测绘科学研究院 一种基于知识库的通用关联信息查询树的快速构建方法
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107665228B (zh) 一种关联信息查询方法、终端及设备
US11797618B2 (en) Data fabric service system deployment
US11188550B2 (en) Metrics store system
CN108519967B (zh) 图表可视化方法、装置、终端和存储介质
CN106657192B (zh) 一种用于呈现服务调用信息的方法与设备
US20150066869A1 (en) Module Database with Tracing Options
EP3069267A1 (en) Software component recommendation based on multiple trace runs
US20110321001A1 (en) Visualization of runtime analysis across dynamic boundaries
CN112925522A (zh) 依赖图生成方法、装置、设备、存储介质和程序产品
US8694918B2 (en) Conveying hierarchical elements of a user interface
US20130346845A1 (en) Interactive multi device in memory form generation
CN115544089A (zh) 数据处理方法、装置、设备及存储介质
CN115292058A (zh) 一种业务场景级别服务拓扑生成方法、装置及电子设备
CN111753330A (zh) 数据泄露主体的确定方法、装置、设备和可读存储介质
CN111290870A (zh) 一种检测异常的方法和装置
US20230010906A1 (en) System event analysis and data management
US11847448B2 (en) Automatic generation of exporter configuration rules
CN117311673A (zh) 一种数据处理系统、方法、设备及计算机可读存储介质
US9020978B2 (en) Merging and ignoring configuration items
CN115934553A (zh) 一种软件资产质量验证的方法及装置
CN115329999A (zh) 一种运维任务的处理方法、装置、平台及存储介质
CN117950890A (zh) 一种异常确定方法、装置、电子设备及存储介质
CN113297030A (zh) 一种数据延时产出监控方法、装置及电子设备
CN113297426A (zh) 图数据库的特征生成方法、装置及电子设备
CN113743084A (zh) 一种资源配置精准方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant