一种数据系统的热点组件确定方法、装置、电子设备及存储介质与流程

文档序号:18703900发布日期:2019-09-17 23:21阅读:128来源:国知局
一种数据系统的热点组件确定方法、装置、电子设备及存储介质与流程

本公开涉及电数字数据处理的错误检测和监控技术领域,具体涉及一种数据系统的热点组件确定方法、装置、电子设备及存储介质。



背景技术:

目前数据系统通常都包括许多硬件和软件,硬件和软件之间具有比较复杂的关联关系,特别是用于大数据处理的数据系统,其软硬件关系更加复杂。系统资源的使用情况及硬件监控,是系统管理员或运维人员的工作内容。对于硬件的实时监控,除了需要掌握特定的方法外,还常会用到些相应的相关软件程序。

但是,若数据系统中的某个硬件或软件发生故障,该故障可能导致与他关联的其它硬件或软件也发生故障。但是,目前的数据系统监控仅能提供独立的故障监控管理平台,如dell公司的idrac和hp公司的ilo平台等,由于对于每种异常都是分别独立监控的,其难以及时监测到由某一个故障导致的其它故障。



技术实现要素:

本公开实施例旨在解决现有的数据系统对于故障的监控不能发现组件之间的关联异常,不能排查出热点组件,从而不能进行预测、预警和采取预防措施。

为解决上述技术问题,本公开实施例的第一方面提出一种数据系统的热点组件确定方法,包括如下步骤:

获取所述数据系统的多个组件、所述组件的属性、以及不同所述组件的属性的状态两两之间的因果关系,其中,所述组件的属性的状态包括正常或异常;

根据所述组件、所述组件的属性以及不同所述组件的属性的状态两两之间的因果关系构建图数据结构,其中:

所述组件作为节点,所述组件的属性作为所述节点的属性;

所述节点的属性具有不同的值以表示所述属性的不同状态;

不同所述节点的属性的值两两之间的因果关系作为边,在所述因果关系中,具有指定值的作为因的所述节点的属性称为所述边的因属性,具有指定值的作为果的所述节点的属性称为所述边的果属性;

对于所述图数据结构中的每个节点的每个属性,假定仅该节点属性发生异常,并根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性的值;

根据各个节点属性的异常造成的该数据系统中其他节点的属性发生异常的数量,确定该数据系统的热点组件。

在一些实施例中,所述因果关系的类型为充分条件、必要条件或充分必要条件,所述边的类型为充分条件、必要条件或充分必要条件。

在一些实施例中,所述根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性,包括:获取以所述相应节点的相应属性为因属性的边;当所述边的类型为充分条件或充分必要条件时,更新作为所述边的果的节点的属性的值。

在一些实施例中,所述根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性的值,包括:获取以所述相应节点的相应属性为因属性的边;当所述边的类型为必要条件时,获取所有其果属性和类型都与所述边相同的边;根据所述所有的边的作为因的所述节点的属性的值,更新作为所述所有的边的共同的果的节点的属性值。

在一些实施例中,所述根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性的值,还包括:根据更新后的所述节点的所述属性的值,重复所述获取以具有所述值的所述节点的所述属性为因属性的边的步骤至所述更新作为所述边的果的节点的属性的值的步骤,直至没有可以更新的节点的属性为止。

本公开实施例的第二方面提出一种数据系统的热点组件确定装置,包括:

获取模块,用于获取所述数据系统的多个组件、所述组件的属性、以及不同所述组件的属性的状态两两之间的因果关系,其中,所述组件的属性的状态包括正常或异常;

构建模块,用于根据所述组件、所述组件的属性以及不同所述组件的属性的状态两两之间的因果关系构建图数据结构,其中:

所述组件作为节点,所述组件的属性作为所述节点的属性;

所述节点的属性具有不同的值以表示所述属性的不同状态;

不同所述组件节点的属性的值两两之间的因果关系作为边,在所述因果关系中,具有指定值的作为因的所述节点的属性称为所述边的因属性,具有指定值的作为果的所述节点的属性称为所述边的果属性;

更新模块,用于对于所述图数据结构中的每个节点的每个属性,假定仅该节点属性发生异常,并根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性的值;

确定模块,用于根据各个节点属性的异常造成的该数据系统中其他节点的属性发生异常的数量,确定该数据系统的热点组件热点组件。

在一些实施例中,所述因果关系的类型为充分条件、必要条件或充分必要条件,所述边的类型为充分条件、必要条件或充分必要条件。

在一些实施例中,所述更新模块用于:获取以所述相应节点的相应属性为因属性的边;当所述边的类型为充分条件或充分必要条件时,更新作为所述边的果的节点的属性的值。

在一些实施例中,所述更新模块用于:获取以所述相应节点的相应属性为因属性的边;当所述边的类型为必要条件时,获取所有其果属性和类型都与所述边相同的边;根据所述所有的边的作为因的所述节点的属性的值,更新作为所述所有的边的共同的果的节点的属性值。

在一些实施例中,所述更新模块还用于:根据更新后的所述节点的所述属性的值,重复所述获取以具有所述值的所述节点的所述属性为因属性的边的步骤至所述更新作为所述边的果的节点的属性的值的步骤,直至没有可以更新的节点的属性为止。

本公开实施例的第三方面还提出一种电子设备,包括:处理器;以及,存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上面所述的方法。

本公开实施例的第四方面还提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个计算机可执行指令,所述一个或多个计算机可执行指令当被处理器执行时,实现以上所述的方法。

本公开实施例通过对组件系统构建图数据库,并根据图数据库的算法更新节点数据,能够快速高速的对数据系统中的所有组件对其他组件的故障关联性进行预测,便于维护人员及时排查出热点组件,发现、跟踪、掌控各组件之间的故障关联,从而及时采取必要的预防措施。

附图说明

为了使本公开所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本公开的具体实施例。但需声明的是,下面描述的附图仅仅是本公开本公开示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。

图1是本公开的数据系统的热点组件确定方法所应用的一个数据系统实施例的架构示意图;

图2是图1所示的实施例中的数据系统各组件的因果关系示意图;

图3是由本公开的热点组件确定方法对图1所示的数据系统构建的图数据结构的示意图;

图4是本公开的数据系统的热点组件确定方法的流程图;

图5a至图5c显示了根据本公开的更新节点属性的一个实施例的示意图;

图6是本公开的数据系统的热点组件确定装置的模块组成图;

图7是采用本公开的数据系统的热点组件确定方法的电子设备一个实施例的结构示意图;

图8是包含能够执行本公开的数据系统的热点组件确定方法的计算机程序的计算机可读介质示意图。

具体实施方式

现在将参考附图更全面地描述本公开的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本公开仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本公开更加全面和完整,更加便于将公开构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。

在符合本公开的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。

在对于具体实施例的描述中,本公开描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本公开的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但这不应受这些定语限制。这些定语乃是用以区分一者与另一者。例如,第一器件亦可称为第二器件而不偏离本公开实质的技术方案。

术语“和/或”或者“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。

本公开总的来说提出一种数据系统的热点组件确定方法,本公开中所述的数据系统是指任何具有数据存储、处理、传输、发射等能力的系统,所述数据系统通常包括一些硬件,以及基于这些硬件的软件。本公开不限于数据系统的应用场景,也不限于其是否布署于本地。也就是说,本公开可以是分布式的数据系统,包括采用云存储或云计算的数据系统。无论如何,在本公开中,我们不将特定的硬件或软件作为对象,而是以功能组件来作为处理的对象。所谓的组件是指具有特定功能的硬件、软件或软件组合,也就是说,组件在本公开中是一个功能实体,或者说是一个逻辑实体,而非物理实体,只有具备特定功能的硬件或软件,或者软硬件结给的功能实体才是本公开的组件。在本发明中,所谓的“热点组件”是指该组件在发生故障时对其他组件会产生较大影响的组件,例如导致其他大量组件也发生故障的组件。

由此,本公开的数据系统包括多个组件(component),组件可以是软件组件、硬件组件、或软硬结合组件。例如打印机组件,其指的是已经完成配置并接入系统中的打印机,而不仅仅是指硬件的打印机本身。例如数据备份组件,其是指基于特定的存储设备及安装有备份管理软件的处理装置等构成的一个软硬件组合的组件。再例如bitlocker组件,其是通过软硬结合的方式将bitlocker与硬件tpm芯片配合,以共同保护硬盘数据。

图1是本公开实施例所涉及的数据系统的架构示意图。如图1所示,该数据系统包括多个组件,组件可以是服务器组件、数据库组件,例如视频服务器组件、文件服务器组件、基础数据库组件、应用数据库组件等,还可以是应用层的软件模块,例如oa组件、erp组件,也可以包括一些外围设备组件,例如打印机组件。等等。

如图1所示,各个组件之间具有特定的关联关系,在此,关联关系可以是电信号、光信号等信号连接,也可以仅仅是电源关联等物理关联,或者是逻辑关联。例如,服务器和终端之间可以是通过网络建立的信号传输连接,包括有线或无线传输,也可以是通过蓝牙、wifi建立的直接连接。由同一电源供电的不同硬件具有电源关联,例如服务器和路由器可能由同一电源供电,都二者具有电源关联。当然,其他可能的物理关联也应考虑在内。而硬件组件与软件组件之间,包括软硬结合的组件之间,或者纯软件组之间,则需要考虑逻辑关联。例如基础数据库组件的状态往往决定了应用数据库组件的状态。

图中,上述的各种组件之间的各种关联关系表示为一条直线,可以看到,一个组件可能与其他的多个组件关联。有时候,当组件的数量比较大时,这种关联关系的数量也是极其庞大的。当其中的一个组件出现问题时,可能会以一种复杂的方式影响其他组件的工作状态。

为此,本公开提出利用图数据库来对整个系统的组件状态进行管理。而为了建构图数据库,我们首先需要获取所述数据系统的各组件及组件的属性、以及不同所述组件的属性之间的因果关系。也就是说,本公开需要对图1中的关联关系进行进一步的梳理。将组件与其他组件发生关联的方式进行性质上的区分,并以组件的属性表示。例如,对于服务器来说,其可能影响其他组件的运行状态的性质可能是cpu温度、存储器的工作状态,也可能是出口带宽,不同的属性可能以不同的方式影响其他的组件的工作状态。例如存储器的工作异常可能导致数据库类组件无法使用。由于本公开主要的关注点在于组件故障的确定,因此,本公开中的组件的属性包括正常状态或异常状态。进一步的,可以根据所述不同所述组件的属性(属性的异常状态)之间的因果关系将因果关系分为充分条件类型、必要条件类型或充分必要条件类型。上述的因果关系是基于各组件之间的关联关系的。

图2是图1所示的实施例中的数据系统各组件的因果关系示意图。如图2所示,每一个箭头都表示一个因果关系,对比图1可知,一个关系关系可能包含多个因果关系,而不同因果关系是与组件的属性相关的,也就是说,不同的因果关系可能指向同一组件的不同属性。

进一步来说,图中的箭头是有方向的。在此,当箭头由组件a指向组件b时,表示组件a的某个属性正常/异常会导致组件b的某个属性正常/异常,这时,根据属性的值两两之间的因果关系,可以细分为:

组件a的某个属性正常是组件b的某个属性正常的必要条件/充分条件/充分必要条件;

组件a的某个属性异常是组件b的某个属性异常的必要条件/充分条件/充分必要条件。

在此,我们不考虑组件属性正常导致另一属性异常,或者组件属性异常导致另一属性正常的情况。

当考虑其中的一个特定组件a时,与之连接的箭头中,可能既有以a为起点的,也有以a为终点的。在图中,箭头的方向表示因果关系,箭头的起点为因组件,箭头的终点为果组件。

图3是由本公开的热点组件确定方法对图1所示的数据系统构建的图数据结构的示意图。如图3所示,在图2的基础上,我们稍作对应即可得到一个图数据结构。在图3中,用大圆表示图结构的节点,小圆表示节点的属性。相应的,图2中的箭头则直接表示图结构的边。由此,所述节点的属性的值即表示组件的属性状态,即为“正常”或“异常”,不同所述组件的属性之间的因果关系作为边,表示边的箭头的起点为作为边的因属性,表示边的箭头的终点为作为边的果属性,所述因果关系的类型作为所述边的类型,所述边的类型分为充分条件、必要条件或充分必要条件。在图3中,用实线单向箭头表示类型为“充分条件”或“充分必要条件”的边,虚线单箭头表示类型为非充份的“必要条件”的边。

图4是根据本公开的一些实施例所示的数据系统的热点组件确定方法示意图。如图4所述,所述的方法包括以下步骤:

步骤s1:获取所述数据系统的多个组件、所述组件的属性、以及不同所述组件的属性的状态两两之间的因果关系,其中,所述组件的属性的状态包括正常或异常。

具体的,所述组件的属性即为组件的特定表征或性质,例如数据传送设备的网络输出流量,再例如服务器的cpu温度,等等。在本公开中,可以选择性的获取各个组件的属性,通常,应当选择那些对于数据系统的性能造成影响且可能出现异常的属性。所述组件的状态是预先定义的,例如对于cpu温度,可以定义90度以上为状态异常,90度以下为状态正常。所述因果关系涉及的属性是属于不同组件的,本实施例为了简单起见,暂不考虑属于同一个组件的属性之间的因果关系。所述因果关系描述的不是属性之间的关系,而是属性的状态之间的关系,例如,属性1状态正常会导致属性2状态正常,则属性1状态正常与属性2状态正常之间存在因果关系,前者为因后者为果,或者,属性1状态异常会导致属性3状态异常,则属性1状态异常与属性3状态异常之间存在因果关系,前者为因后者为果。因果关系的类型包括充分条件、必要条件或充分必要条件。例如,属性1状态正常会导致属性2状态正常,则属性1状态正常是属性2状态正常的充分条件;进一步的,如果属性2状态正常一定能反推出属性1状态正常,则属性1状态正常是属性2状态正常的必要条件;当属性1状态正常既是属性2状态正常的充分条件又是必要条件时,则属性1状态正常是属性2状态正常的充分必要条件。

步骤s2:根据所述组件、所述组件的属性以及不同所述组件的属性的状态两两之间的因果关系构建图数据结构(如图3所示)。

其中,所述组件作为节点,所述组件的属性作为所述节点的属性;所述节点的属性具有不同的值以表示所述属性的不同状态;不同所述组件的属性的值两两状态之间的因果关系作为边,所述因果关系的类型作为边的类型;所述边具有因属性和果属性,所述因属性表示所述因果关系中作为因的节点属性,所述果属性表示所述因果关系中作为果的节点属性。

图数据库,又称图形数据库,是nosql数据库的一种类型,它应用图形理论存储实体之间的关系信息。由于其独特的设计,对于关系型数据的处理,尤其比较复杂的关系型数据,其处理效率远高于传统的关系型数据库。因此,本公开选择用图数据结构来描述和处理数据系统中的具有复杂关联关系的组件,以提高处理效率。

图数据库,又称图形数据库,是nosql数据库的一种类型,它应用图形理论存储实体之间的关系信息。由于其独特的设计,对于关系型数据的处理,尤其比较复杂的关系型数据,其处理效率远高于传统的关系型数据库。因此,本公开选择用图数据结构来描述和处理数据系统中的具有复杂关联关系的组件,以提高处理效率。在本实施例中所使用的图数据结构例如但不限于是neo4j图数据结构。

在构建图数据结构时,并不必要选择数据系统中所有的组件、所有的组件的属性以及所有的属性状态两两之间的因果关系。数据系统中的组件的数量可以十分庞大,每个组件又可包括多个属性,每个属性的状态有可能跟一个或多个其它属性的状态有因果关系,从而会导致十分复杂的因果关系网络。因此,为了降低不必要的复杂度,减少后续的计算量,本领域技术人员可以根据需求选择恰当的组件/属性/因果关系对构建图数据结构。此外,应当明确,存在因果关系并不意味着双方一定是直连,双方之间可能存在多个中间属性,但在构图时可以省略这些中间属性,只要这种因果关系是必然的。

在构建图数据结构时,示例性的具体步骤如下:

将所述组件作为节点。例如,组件cpu1作为节点a;

将所述组件的属性作为所述节点的属性。例如,cpu1的温度作为节点a的属性a1,属性为一键值(key-value)对,通过不同的值表示所述属性的不同状态,例如,对于属性a1,其键是温度,其值是0或1,0表示温度异常,1表示温度正常;在建立图数据结构时,所有的节点的属性的值都应当进行初始化,可以都初始化为表示正常的值(默认值),或者根据已采集的信息进行初始化。

将不同所述组件的属性状态(即节点的属性的值)两两之间的因果关系作为边。例如,节点a的属性a1的值与节点b的属性b1的值有因果关系(前者为因),那么该因果关系可以用从节点a到节点b的边a1-b1表示,a1-b1的起点是节点a,终点是节点b;进一步的,为了表示因果关系的类型,可以将边的类型定义为因果关系的类型,例如,边a1b1的类型是必要条件;为了表示因果关系中的因和果,可以将边的属性设置为一个可以同时表示因和果的属性,例如,边a1-b1的一个属性的键名是“因/果”,相应的键值是“a1=正常/b1=正常”,或者将边的属性设置为一个表示因的属性和一个表示果的属性,例如,边a1-b1的一个属性的键名是“因”,相应的键值是“a1=正常”,另一个属性的键名是“果”,相应的键值是“b1=正常”。

为了后续叙述的方便,在因果关系中,可以将具有指定值的作为因的所述节点的属性(对应状态为正常或异常的某个组件的某个属性)称为边的因属性,具有指定值的作为果的节点的属性称为边的果属性,这里因属性和果属性并不是边的属性,而是节点的属性。

步骤s3:对于所述图数据结构中的每个节点的每个属性,假定仅该节点属性发生异常,并根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性。

1.首先,在该步骤中,我们假设在起始条件下,仅有其中的一个组件属性是异常的,而其他的组件属性是正常的。根据该第一个更新的属性的值,获取以具有该值的该第一个更新的属性为因属性的边;需要注意的是,如果属性的值不同,获取的边可能是不同的。

2.根据所获取的边的类型,采取不同的操作:

(1)当边的类型为充分条件或充分必要条件时,更新作为所述边的果的节点的属性的值。例如,节点a的属性a2状态异常与节点b的属性b2状态异常之间存在因果关系,且该因果关系为充分条件或充分必要条件,则当节点a的属性a2的值更新为表示异常的值时,更新节点b的属性b2的值为表示异常的值。

或者,

(2)当边的类型为必要条件时,获取所有其果属性和类型都与该边相同的边;例如,节点a的属性a1状态异常与节点d的属性d2状态异常之间存在因果关系,且该因果关系为必要条件,则对应的边(可以编号为“a1异-(必)-d2异”)的类型为必要条件,其因属性是具有表示异常的值的属性a1,其果属性是具有表示异常的值的属性d2,获取所有类型也为必要条件、果属性也为具有表示异常的值的属性d2的边(可以编号为“-(必)-d2异”),显然这些边中也应当包括边“a1异-(必)-d2异”;

根据所获取的所有的边(即“-(必)-d2异”)的作为因的所述节点的属性的值,更新作为所述所有的边的共同的果的节点的属性的值。例如,“-(必)-d2异”除了“a1异-(必)-d2异”外,还包括“e1异-(必)-d2异”(未图示)和“f1异-(必)-d2异”(未图示),当a1、e1和f1的值都为异常时,更新d2的值为异常;当属性1c的值已更新为表示异常的值时,当a1、e1和f1的值不都为异常时,不更新d2的值为异常。

3.根据更新后的所述节点的所述属性的值,重复所述获取以具有所述值的所述节点的所述属性为因属性的边的步骤至所述更新作为所述边的果的节点的属性的值步骤,直至没有可以更新的节点的属性为止。即,将第二个更新的属性作为因,继续更新第三个属性、第四个属性…,直到更新停止。更新停止的情况包括:以刚更新过的属性为因、且类型为充分条件或充分必要条件的边的数量为零;或者,以刚更新过的属性为因、且类型为必要条件的边的数量不为零,但这些边的果属性因为不满足上述2(2)的条件从而无法更新。

s4、根据各个节点属性的异常造成的该数据系统中其他节点的属性发生异常的数量,确定该数据系统的热点组件。

具体的,筛选节点时,可从第一个更新的属性出发,通过遍历来得到具有表示异常的值的属性,由于图数据结构的查询效率远高于传统关系型数据库,因此这里筛选节点的步骤可以获得比较理想的速度。

通过前面的步骤s1至s3,我们可以确定每一个组件属性的异常将造成的其他属性异常情况。据此,我们可以对数据系统中,由于某一个组件属性造成的所有的异常组件属性和异常组件的数量进行统计,并将造成异常的组件属性或组件的数量更大的作为热点组件属性,相应的组件即为热点组件。

当然,可选的,也可以对于数据系统中,对于某一个组件来说,可以计算其包含的属性中的每一个出现异常时造成的其他组件或组件属性异常的数量,并将该组件的各属性异常对应的所述数量进行加权,由此可以获得组件的所有属性异常造成的其他组件或组件属性异常的数量,从而将异常数量更大的组件作为热点组件。

本公开实施例,通过将数据系统中组件间复杂的故障联动/关联关系抽象为可以用图数据结构表述的简明形式,从而能够利用图数据结构在关系型数据上的查询速度优势,高效快速地确定所有的故障组件,并能显著减少需要安装的监控装置,降低了成本。

为了进一步的说明如何更新节点属性,以下通过图5a至图5c所示的一个实施例进行说明。在该图中,使用带有阴影的小圆圈代表具有表示异常的值的节点的属性,实线边表示类型为“充分条件”或“充分必要条件”的边,虚线边表示类型为“必要条件”的边。

在该实施例中,为说明方便,使用带有阴影的小圆圈代表值为异常的组件属性,实线单向箭头表示类型为“充分条件”的边,虚线单箭头表示类型为“必要条件”的边。

在该实施例中,为说明方便,该图数据包括有四个节点,节点a、节点b、节点c和节点d,节点a的属性包括a1和a2,节点b的属性包括b1、b2和b3,节点c的属性包括c1和c2、节点d的属性包括d1和d2。此外,该图数据中包括有多条边,例如a1b1、a1d2、a2b2,等等,其中,边a1b1、a2b2的类型为“充分条件”或“充分必要条件”、边a1d2的类型为“必要条件”。其他的边及边的类型可参见图5a所示。

在该实施例中,为说明方便,该图数据包括有四个节点,节点a、节点b、节点c和节点d,节点a的属性包括a1和a2,节点b的属性包括b1、b2和b3,节点c的属性包括c1和c2、节点d的属性包括d1和d2。此外,该图数据中包括有多条边,例如a1b1、a1d2、a2b2,等等,其中,边a1b1、a2b2的类型为“充分条件”或“充分必要条件”、边a1d2的类型为“必要条件”。其他的边及边的类型可参见图5a所示。

假定在该实施例中,监控到数据系统的某个组件的两个属性出现了异常,则将图数据中相应的节点a的属性a1和a2的值由“正常”更新为“异常”(或可由1或0表示)。

然后,以值为“异常”的a1/a2为因属性进行更新。

对于值为“异常”的a2,我们得到类型为“充分条件”或“充分必要条件”的边a2d1、a2b2、a2b3,直接更新这些边的因属性d1、b2和b3的值为“异常”;此外,我们还得到类型为“必要条件”的边a2c1,以值为“异常”的c1为果属性、且类型为“必要条件”的边除了a2c1外,还有b3c1的,由于b3的值已经更新为“异常”,更新c1的值为“异常”。

对于值为“异常”的a1,我们得到类型为“充分条件”或“充分必要条件”的边的数量为零;此外,我们还得到类型为“必要条件”的边a1d2和a1b1,以值为“异常”的d2为果属性、且类型为“必要条件”的边除了a1d2外,还有一条未标注的,如果该未标注的边的因属性的值也为“异常”,则更新d2的值为“异常”,否则不更新;以值为“异常”的b1为果属性、且类型为“必要条件”的边除了a1b1外,还有一条未标注的,如果该未标注的边的因属性的值也为“异常”,则更新b1的值为“异常”,否则不更新。

由此,进一步得到值更新为“异常”的属性d1,b2,b3和c1,然后以这些属性为因属性继续更新,直到更新结束。

如果图5c就是更新停止后的图数据,则可以筛选出值为“异常”的属性包括a1、a2、b2、b3、c1和d1,则对应的异常组件为a、b、c和d。

最终,通过上述过程,我们可以确定除了a2以外所有状态为“异常”的节点属性,他们是b2、b3、c1、d1,对应的组件b、c发生故障,异常组件数量为2,异常组件属性数量为4。

对于所有的其他组件节点,均可以由此获得一个确定的数值,由此,可以选择性的使用异常组件数量或异常组件属性数量作为衡量标准,将数值更大的作为热点组件。

另一种情况是,可以对组件a的属性a1和a2分别计算,并将其分别计算的数量之和作为组件a的对应参数为进行比较,由此获得热点组件。

本领域技术人员可以理解,实现上述实施例的全部或部分步骤被实现为由计算机数据处理设备执行的程序(计算机程序)。在该计算机程序被执行时,可以实现本公开提供的上述方法。而且,所述的计算机程序可以存储于计算机可读存储介质中,该存储介质可以是磁盘、光盘、rom、ram等可读存储介质,也可以是多个存储介质组成的存储阵列,例如磁盘或磁带存储阵列。所述的存储介质不限于集中式存储,其也可以是分布式存储,例如基于云计算的云存储。

下面描述本公开的装置实施例,该装置可以用于执行本公开的方法实施例。对于本公开装置实施例中描述的细节,应视为对于上述方法实施例的补充;对于在本公开装置实施例中未披露的细节,可以参照上述方法实施例来实现。

图6是本公开的数据系统的热点组件确定装置的模块组成图。如图7所示,该装置包括获取模块、构建模块、更新模块及确定模块。

其中,获取模块用于获取所述数据系统的多个组件、所述组件的属性、以及不同所述组件的属性之间的因果关系,其中,所述组件的属性包括正常状态或异常状态,所述不同所述组件的属性之间的因果关系包括充分条件类型、必要条件类型或充分必要条件类型;

构建模块用于根据所述组件、所述组件的属性以及不同所述组件的属性之间的因果关系构建图数据结构,其中,所述组件作为节点,所述组件的属性作为所述节点的属性,所述节点的属性的值为正常或异常,不同所述组件的属性之间的因果关系作为边,边的起点为作为因的属性,边的终点为作为果的属性,所述因果关系的类型作为所述边的属性,所述边的属性的值为充分条件、必要条件或充分必要条件;

更新模块用于对于所述图数据结构中的每个节点的每个属性,假定仅该节点属性发生异常,并根据与所述相应节点连接的边和节点,更新与所述相应节点连接的节点的属性;

确定模块用于根据各个节点属性的异常造成的该数据系统中其他节点的属性发生异常的数量,确定该数据系统的热点组件。

本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

下面描述本公开的电子设备实施例,该电子设备可以视为对于上述本公开的方法和装置实施例的具体实体实施方式。对于本公开电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本公开电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。

图7是根据本公开的一种电子设备的示例性实施例的结构框图。下面参照图7来描述根据本公开该实施例的的电子设备200。图7显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图4所示的步骤。

所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(rom)2203。

所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

图8是包含能够执行本公开的数据系统的热点组件确定方法的计算机程序的计算机可读介质示意图。通过以上的实施方式的描述,本领域的技术人员易于理解,本公开描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本公开的上述方法,即:s1、获取数据系统的组件、组件属性,以及组件属性之间的因果关系;s2、以组件为节点,因果关系为边,构建图数据库;s3、当组件属性改变时,更新图数据库,以及s4,根据更新后的图数据库确定热点组件。

所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上所述,本公开可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)等通用数据处理设备来实现根据本公开实施例中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本公开不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本公开。以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1