CN107506484B - 运维数据关联审计方法、系统、设备及存储介质 - Google Patents

运维数据关联审计方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN107506484B
CN107506484B CN201710841864.XA CN201710841864A CN107506484B CN 107506484 B CN107506484 B CN 107506484B CN 201710841864 A CN201710841864 A CN 201710841864A CN 107506484 B CN107506484 B CN 107506484B
Authority
CN
China
Prior art keywords
entity
audit
type
entity type
searching
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
CN201710841864.XA
Other languages
English (en)
Other versions
CN107506484A (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.)
Ctrip Travel Information Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Information Technology Shanghai 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 Ctrip Travel Information Technology Shanghai Co Ltd filed Critical Ctrip Travel Information Technology Shanghai Co Ltd
Priority to CN201710841864.XA priority Critical patent/CN107506484B/zh
Publication of CN107506484A publication Critical patent/CN107506484A/zh
Application granted granted Critical
Publication of CN107506484B publication Critical patent/CN107506484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Abstract

本发明提供了一种运维数据关联审计方法、系统、设备及存储介质,该方法包括获取多种实体类型,并将各种所述实体类型分别保存为一顶点;构建所述实体类型的关系图模型;发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体。本发明通过简单的配置,简化了现有技术中费时费力的关联实体查询方式,将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,极大地提高了运维中问题排查的效率。

Description

运维数据关联审计方法、系统、设备及存储介质
技术领域
本发明涉及运维审计技术领域,尤其涉及一种基于关系图模型的运维数据关联审计方法、系统、设备及存储介质。
背景技术
现有的对运维数据记录审计的方案多采用单数据实体的记录方式,在运维场景下,各个实体关系错综复杂,如果没有一套自动关联的机制,依靠人工逐个关系排查费时费力,导致排查数据问题时比较困难。
例如:应用A部署在集群P1、P2,集群P1、P2下分别有服务器S1、S2~Sn,当服务器Sx信息有发生变化时,通常做法下只记录Sx的实体审计,但应用A和Sx是有关系的,有时应用A出现问题就是由于关联的实体发生更新操作导致的,传统方式下无法立刻得知应用A关联的实体有哪些变更,需要逐一查询,排查问题比较困难。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种运维数据关联审计方法、系统、设备及存储介质,将运维实体类型的错综复杂的关系转化为关系图模型,通过图算法遍历关系图模型,查找关联实体类型,从而实现关联实体的查询和审计。
本发明实施例提供一种运维数据关联审计方法,所述方法包括如下步骤:
获取多种实体类型,并将各种所述实体类型分别保存为一顶点;
构建所述实体类型的关系图模型,所述关系图模型包括所述实体类型所对应的顶点和所述顶点之间的关联关系;
发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;
根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体;
对所述关联实体进行审计,并存储所述发生审计的实体和所述关联实体的审计记录。
可选地,所述实体类型的关系图模型包括所述实体类型的有向无环图,所述顶点之间的关联关系包括所述顶点之间的指向方向,且所述顶点之间的指向方向与所对应的实体类型的关联数据传递方向相同。
可选地,还包括如下步骤:
将所述关系图模型以关系数据格式存储为多条关系型数据记录,各条所述关系型数据记录包括一顶点所对应的实体类型以及该实体类型关联的实体类型。
可选地,所述关系图模型包括有向图,各条所述关系型数据记录中该实体类型关联的实体类型为该实体类型为所述有向图中,该实体类型的关联数据传递方向的下一实体类型。
可选地,所述关系图模型包括多个有向无环图,各条所述关系型数据记录还包括所对应的有向无环图的标识信息。
可选地,还包括如下步骤:
新增两个实体类型之间的关联关系时,新增一所述关系型数据记录,新增的关系型数据记录包括所述两个实体类型;和/或
解除两个实体类型之间的关联关系时,删除所述两个实体类型所对应的关系型数据记录。
可选地,以关系数据格式存储所述发生审计的实体和所述关联实体的审计记录;
各条所述审计记录包括审计事件的标识信息、审计事件类型、审计事件对应的时间、审计事件对应的实体类型和审计事件对应的实体的标识信息。
可选地,存储所述发生审计的实体和所述关联实体的审计记录,包括如下步骤:
建立审计事件信息表,所述审计事件信息表包括审计事件的标识信息、审计事件类型、审计事件对应的时间、审计事件对应的实体类型和审计事件对应的实体的标识信息;
建立审计事件关系表,所述审计事件关系表包括审计事件的标识信息和审计事件的关联审计事件的标识信息,所述关联审计事件为该审计事件的实体所对应的关联实体的审计事件。
可选地,还包括如下步骤:
一所述关系型数据记录发生变更时,删除所述审计事件关系表中与所述关系型数据记录对应的关联事件记录;
于所述审计事件信息表中查找与所述关系型数据记录对应的审计事件,查找该审计事件所对应的实体的标识信息和实体类型;
重新查找与所述待审计实体类型相关联的关联实体类型以及所述关联实体类型中的关联实体,并执行所述关联实体的审计;
重新存储所述发生审计的实体和所述关联实体的审计记录至所述审计事件关系表。
可选地,所述图算法包括广度优先遍历算法和/或深度优先遍历算法;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型,包括如下步骤:
采用广度优先遍历算法和/或深度优先遍历算法于所述有向无环图模型中查找所述待审计实体类型的关联实体类型。
可选地,所述图算法包括深度优先遍历算法和/或深度优先遍历算法;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型,包括如下步骤:
采用深度优先遍历算法和/或深度优先遍历算法于所述有向无环图模型中查找与所述待审计实体类型具有预设查找深度的关联实体类型。
可选地,还包括如下步骤:
统计查找得到的所述关联实体的数量;
如果关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与所述待审计实体类型具有预设查找深度的关联实体类型,并查找所述关联实体类型中对应的关联实体。
可选地,还包括如下步骤:
统计所述关联实体中于预设时间段内发生过数据变更的实体的数量;
如果发生过数据变更的关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与所述待审计实体类型具有预设查找深度的关联实体类型,并查找所述关联实体类型中对应的关联实体。
可选地,判断所述关联实体中是否存在实体类型和实体的标识信息均相同的重复实体,如果存在,则对于所述重复实体仅记录一次。
本发明实施例还提供一种运维数据关联审计系统,用于实现所述的运维数据关联审计方法,所述系统包括:
关系图模型构件模块,用于获取多种实体类型,并将各种所述实体类型分别保存为一顶点;以及构建所述实体类型的关系图模型,所述关系图模型包括所述实体类型所对应的顶点和所述顶点之间的关联关系;
关联实体类型查找模块,用于发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;
关联实体查找模块,用于根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体;
运维审计模块,用于对所述关联实体进行审计,并存储所述发生审计的实体和所述关联实体的审计记录。
本发明实施例还提供一种运维数据关联审计设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的运维数据关联审计方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的运维数据关联审计方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的运维数据关联审计方法、系统、设备及存储介质具有下列优点:
本发明通过简单的配置,简化了现有技术中费时费力的关联实体查询方式,将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,极大地提高了运维中问题排查的效率;当新增运维实体或实体关系发生变化时,无需重写算法等实现,就能快速实现关系图模型的结构调整;通过保存的关联审计信息,可以实现关联实体的审计查询,从而提高了系统维护效率,降低开发成本。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的运维数据关联审计方法的流程图;
图2是一种有向无环图的示意图;
图3是本发明一实施例的多个实体类型的顶点的示意图;
图4是本发明一实施例的实体类型的有向无环图的示意图;
图5~图8是本发明一实施例的查找关联实体类型的示意图;
图9是本发明一实施例的增加关联关系的有向无环图的示意图;
图10是本发明一实施例的运维数据关联审计系统的结构示意图;
图11是本发明一实施例的运维数据关联审计设备的结构示意图;
图12是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
如图1所示,所述运维数据关联审计方法包括如下步骤:
S100:获取多种实体类型,并将各种所述实体类型分别保存为一顶点;此处实体类型可以包括服务器池、服务器、主机头、站点、访问组、应用、虚拟目录、路径、域名、产品、产品线、组织等等的实体的集合。
S200:构建所述实体类型的关系图模型,所述关系图模型包括所述实体类型所对应的顶点和所述顶点之间的关联关系;
S300:发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;
S400:采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;
S500:根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体;此处,实体的标识信息即为实体的ID,关联实体和该实体的关联关系是系统预设的。
S600:对所述关联实体进行审计,并存储所述发生审计的实体和所述关联实体的审计记录。
因此,本发明将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,在审计时不仅审计发生审计的实体,还审计与该实体关联的其他实体,极大地提高了运维中问题排查的效率。
进一步地,所述实体类型的关系图模型可以包括实体类型的有向无环图,顶点之间的关联关系包括顶点之间的指向方向,且顶点之间的指向方向与所对应的实体类型的关联数据传递方向相同。有向无环图即DAG,Directed acyclic graph。
有向图是指一副有方向的图,是由一组顶点(vertices)和一组有方向的边(edges)组成的,每条有方向的边都连接着有序的一对顶点。有向无环图是有向图的一种,也就是指图中没有环,是没有定向循环的有限有向图。即:一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图。DAG常被用来表示复杂的拓扑关系,在本发明中用来表示复杂的运维实体关系。
采用DAG关系结构时,步骤S200中,构建DAG关系结构时,首先要整理实体类型之间的关联关系,实体类型之间的关联关系是根据应用场景的部署物理结构和逻辑结构所决定的。然后从业务查询的角度出发,将有可能需要关联查询的实体类型找出来,同时将这些实体类型间的关联关系找出来,将实体间的关系构建成DAG关系结构,根据关系的复杂度,可以为单个DAG图,也可以是多个DAG图。
此处DAG关系构建的原则为:每个实体类型设置为DAG的一个顶点,关联关系就是DAG的边,关联的方向就是关系传递的方向;例如图2中示出的,a实体类型变化时,关联数据会传递给b和c,c会再向下传递给d、e、f,从而保存a、b、c、d、e、f的关联数据;或者当c实体类型变化时,会向下传递给d、e、f,从而保存c、d、e、f的关联数据。
进一步地,本发明的运维数据关联审计方法还包括如下步骤:
将关系图模型以关系数据格式存储为多条关系型数据记录,各条关系型数据记录包括一顶点所对应的实体类型以及该实体类型关联的实体类型。
进一步可选地,关系图模型包括有向图,即有向图中各个顶点之间的关系是有方向性的,各条关系型数据记录中该实体类型关联的实体类型为该实体类型为有向图中,该实体类型的关联数据传递方向的下一实体类型。进一步地,关系图模型可以包括多个有向无环图,各条关系型数据记录还包括所对应的有向无环图的标识信息。
即当采用DAG关系结构时,每个顶点作为一条关系型数据记录,边作为顶点间的关系,方向可以视为关系数据中的父子关系,通过一个字段记录父子关系,这样可以把顶点数据记录串起来成为一个DAG;再通过一个字段记录DAG的编号,就可以在一个表中记录多个DAG;当有新的实体或实体关系发生变化时,只需调整这里的配置即可。即新增两个实体类型之间的关联关系时,只要新增一关系型数据记录,其中包括两个实体类型即可;解除两个实体类型之间的关联关系时,删除两个实体类型所对应的关系型数据记录即可。
步骤S400中,所述图算法可以包括广度优先遍历算法(BFS:Breadth FirstSearch)和/或深度优先遍历算法(DFS:Depth First Search)。广度优先遍历算法是指:类似于一个分层搜索的过程,广度优先遍历需要使用一个队列以保持访问过的结点的顺序,以便按这个顺序来访问这些结点的邻接结点。深度优先遍历算法是指:从初始访问结点出发,我们知道初始访问结点可能有多个邻接结点,深度优先遍历的策略就是首先访问第一个邻接结点,然后再以这个被访问的邻接结点作为初始结点,访问它的第一个邻接结点。总结起来可以这样说:每次都在访问完当前结点后首先访问当前结点的第一个邻接结点。这两种算法在实现上结构有所不同,前者一般采用队列实现,后者一般采用递归实现,但最终的结果是一致的,只是计算出实体顶点的顺序会有所有不同。
具体地,步骤S400,采用图算法于有向无环图模型中查找与待审计实体类型相关联的关联实体类型,包括如下步骤:
采用广度优先遍历算法和/或深度优先遍历算法于关系图模型中查找待审计实体类型的关联实体类型。此处查找可以是完全遍历,即将关系图模型中所有的关联实体类型均查找出来,也可以是与待审计实体类型具有具有预设查找深度的关联实体类型,例如只查找一层或两层关联实体类型等等,具体查找方式和查找深度可以根据需要设置。
进一步地,本发明的运维数据关联审计方法还可以包括如下步骤:
统计查找得到的关联实体的数量;
如果关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与待审计实体类型具有预设查找深度的关联实体类型,并查找关联实体类型中对应的关联实体。
进一步地,还包括如下步骤:
统计关联实体中于预设时间段内发生过数据变更的实体的数量;
如果发生过数据变更的关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与待审计实体类型具有预设查找深度的关联实体类型,并查找关联实体类型中对应的关联实体。
即如果只查找一层或两层关联实体类型,查找得到的关联实体很少,或关联度不高,对关联性审计帮助不是很大,可以进一步增加查找深度,查找更多的关联实体类型以及对应的关联实体。
步骤S500中,根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体,实体和关联实体之间的关联是系统预设的。例如发生审计的实体是服务器A,其实体类型是服务器,其关联实体类型包括应用和服务器池,而系统已经设定应用B是运行在服务器A中的,服务器A属于服务器池C,即可以获取到服务器A的关联实体包括应用B和服务器池C。查找到关联实体后,进一步需要获取关联实体的ID。
步骤S600中,进一步地,可以5.将数据审计记录以关系数据格式存储:在DAG的计算过程中,每找到一个顶点,就查询出上一个顶点的实体和当前顶点实体的关系数据,通过记录实体的类型和主键将审计记录以关系数据格式存储下来。
至此,通过上述步骤就完成了DAG关系结构的设计、构建、计算和存储,在此基础上就可以根据需要进行查询操作了。因此,该实施例的技术方案通过预先配置的DAG关系结构,在运维实体数据发生变化时,通过有向传递,将实体自身的审计数据和关联关系两者同时保存下来,完整记录了审计发生时的现场数据,实现可以对关联实体的审计查询。
通过该实施例的实施,使得原来费时费力的关联实体查询变得简单,通过关联审计,可以方便快速的排查实体和关联实体的审计情况,极大地提高了运维中问题排查的效率。如果有新的实体或者实体间关系有变化,只需简单地修改DAG关系配置,无需修改算法等其他程序,就可以实现调整,较佳地提高了系统维护效率,降低开发成本。
如图3~9所示,为本发明一具体实施例中运维数据关联审计的方法执行过程的示意图。其中,图3示例性地示出了该实施例中实体类型的有向无环图的顶点的组成。在该图中,箭头表示一对多的关系。例如,服务器指向服务器池,服务器和服务器池是多对一的关系,服务器和访问组可以是一对多的关系,也可以是多对一的关系,站点和虚拟目录是一对多的关系等等。图3中示出的仅为一种示例性结构,实际应用中的实体类型不限于此,例如还可以有路径等等。
在构建DAG关系结构时,如图4所示,选择需要记录审计关系的实体类型,并设计有向关系。即图中选择了服务器、路径、访问组、虚拟目录、应用和服务器池,并且采用箭头表示了其中的指向性。即服务器数据变更时,关联数据会传递到访问组和服务器池,即箭头表示了关联数据传递的方向。
可以将DAG关系结构以关系数据格式存储,存储形式可以如下表1所示。此处id为序列号;path_no含义为DAG的标识,相同的path_no代表是同一个DAG;entity_type是实体标识,也就是DAG中的顶点;p_entity_type是父级的实体标识,也就是DAG中的边,关系传递方向就是DAG中边的方向。
表1 DAG关系结构的关系数据表
id path_no entity_type p_entity_type
1 0 server access_group
2 0 route access_group
3 0 access_group virtual_directory
4 0 virtual_directory pool
5 0 virtual_directory app
6 0 server pool
其中,server即为服务器,route即为路径,access_group即为访问组,virtual_directory即为虚拟目录,pool即为服务器池,app即为应用。
然后通过图算法(广度优先遍历或深度优先遍历算法)进行数据审计记录。当有实体发生审计事件时,先记录自身的审计数据,然后可以从发生数据变更的实体对应的实体类型的顶点开始,采用图算法查找关联实体类型,再进一步查找关联实体。查找关联实体类型的过程可以参照图5~图8。例如,当服务器A发生数据变更时,判断服务器A的实体类型为服务器,从服务器顶点开始,先记录自身的审计(如图5所示),然后采用广度优先遍历算法,得到并记录访问组和服务器池作为关联实体类型(如图6所示),再进一步得到并记录虚拟目录作为关联实体类型(如图7所示),再进一步得到并记录应用作为关联实体类型(如图8所示)。在查找关联实体类型时,如上所示,可以设置预设查找深度,例如设置深度为1,则只得到访问组和服务器池作为关联实体类型,而不再继续查找,设置深度为2,则进一步得到虚拟目录作为关联实体类型等等。在查找到关联实体类型后,再进一步查找每个关联实体类型中与服务器A相关联的关联实体,例如在访问组中查找得到访问组D,在虚拟目录中查找得到虚拟目录E,在服务器池中查找得到服务器池C,在应用中查找到应用B。审计并记录关联实体的审计结果。
进一步地,所述运维数据关联审计方法还可以包括判断关联实体中是否存在实体类型和实体的标识信息均相同的重复实体的步骤,如果存在重复实体,则对于重复实体仅记录一次。
例如,在该实例中,服务器可以关联到服务器池,虚拟目录也可以关联到服务器池,如果不加额外控制,经过搜索算法得出的结果就会出现同一个实体多次被记录的情况,这时可以加入过滤功能,在一次关联事件中,如果同一个实体(实体类型和实体ID相同)多次出现,那么只需要记录一次即可。
进一步地,可以将数据审计记录以关系数据格式存储,在上述的遍历过程中,逐条将实体信息以及关系数据格式存储,主要包括审计事件信息表和审计事件实体关系表。
审计事件信息表可以包括审计事件的主键id、审计事件类型、审计事件信息、审计事件对应的时间、审计事件对应的实体类型和审计事件对应的实体的标识信息;示例的表格如下表2所示。
表2 审计事件信息表
Figure BDA0001410941340000111
审计事件关系表包括审计事件的主键id和审计事件的关联审计事件的主键id,关联审计事件为该审计事件的实体所对应的关联实体的审计事件。即通过一个审计事件的主键id就可以查询到与该审计事件关联的其他审计事件。
进一步地,所述运维数据关联审计方法还可以包括如下步骤:
一关系型数据记录发生变更时,删除审计事件关系表中与关系型数据记录对应的关联事件记录;
于审计事件信息表中查找与关系型数据记录对应的审计事件,查找该审计事件所对应的实体的标识信息和实体类型;
重新查找与待审计实体类型相关联的关联实体类型以及关联实体类型中的关联实体,并执行关联实体的审计;
重新存储发生审计的实体和关联实体的审计记录至审计事件关系表。
即如果修改了DAG关系结构,对历史的审计事件也想一并调整关联关系,只需删除“审计事件关系表”中相应审计事件的数据,然后重新根据“审计事件信息表”的事件运行一遍算法和记录程序,就可以自动将关联关系调整为新的DAG关系。
然后可以根据“审计事件信息表”和“审计事件关系表”对审计信息进行查询。示例如下:
a)查询某个Pool实体的事件审计:如果只需要按传统方式查询该Pool实体自身的审计信息,可以这样查询:SELECT ei.create_ts时间,ei.entity_type事件实体,ei.entity_id实体ID,ei.event_type操作类型,ei.event_msg操作内容,ei.id事件ID
FROM cms_event_info ei
WHERE ei.entity_type='pool'AND ei.entity_id='8258'
查询结果如下表3所示。
表3 Pool实体审计事件查询结果
Figure BDA0001410941340000121
Figure BDA0001410941340000131
b)查询某个Pool实体下关联的事件审计,可以这样查询:SELECT ei.create_ts时间,ei.entity_type事件源实体,ei.entity_id源实体ID,ee.entity_type关联实体,ei.event_type操作类型,ei.event_msg操作内容,ei.id事件ID
FROM cms_event_info ei
INNER JOIN cms_event_entity ee ON ei.id=ee.event_info_id
WHERE ee.entity_type='pool'AND ee.entity_id='8258'
其中“事件源实体”就是发生更新事件的原始实体,“事件实体”是通过关联后记录到了该查询的实体上。查询结果可以参照下表4所示。
表4 实体关联审计事件查询结果
Figure BDA0001410941340000132
c)根据事件ID查询:可以这样查询:SELECT ei.create_ts时间,ei.entity_type事件源实体,ei.entity_id源实体ID,ee.entity_type关联实体,ee.entity_id关联实体ID,ei.event_type操作类型,ei.event_msg操作内容,ei.id事件ID
FROM cms_event_info ei
INNER JOIN cms_event_entity ee ON ei.id=ee.event_info_id
WHERE ei.id=1891080
就可以得到该事件发生时整条关联链上的情况。查询结果可以参照如下表5所示。
表5 事件ID查询审计事件信息表
Figure BDA0001410941340000133
Figure BDA0001410941340000141
因此,通过采用该实施例的运维数据关联审计方法,通过预先配置的DAG关系结构,在运维实体数据发生变化时,通过有向传递,将实体自身的审计数据和关联关系两者同时保存下来,完整记录了审计发生时的现场数据,实现可以对关联实体的审计查询。使得原来费时费力的关联实体查询变得简单,通过关联审计,可以方便快速的排查实体和关联实体的审计情况。
本发明实施例还提供一种运维数据关联审计系统,用于实现的运维数据关联审计方法,所述系统包括关系图模型构件模块100、关联实体类型查找模块200、关联实体查找模块300和运维审计模块400,其中:
所述关系图模型构件模块100用于获取多种实体类型,并将各种实体类型分别保存为一顶点;以及构建实体类型的关系图模型,关系图模型包括实体类型所对应的顶点和顶点之间的关联关系;所述关联实体类型查找模块200用于发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;采用图算法于有向无环图模型中查找与待审计实体类型相关联的关联实体类型;所述关联实体查找模块300用于根据发生审计的实体的标识信息查找关联实体类型中对应的关联实体;所述运维审计模块400用于对关联实体进行审计,并存储发生审计的实体和关联实体的审计记录。
进一步地,所述运维数据关联审计系统还可以包括审计记录查询模块500,用于对审计事件信息和审计事件之间的关联进行查询。
该运维数据关联审计系统将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,在审计时不仅审计发生审计的实体,还审计与该实体关联的其他实体,极大地提高了运维中问题排查的效率。
本发明实施例还提供一种运维数据关联审计设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的运维数据关联审计方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图11来描述根据本发明的这种实施方式的电子设备600。图11显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
采用该运维数据关联审计设备,所述处理器运行所述存储单元中的程序代码时,将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,在审计时不仅审计发生审计的实体,还审计与该实体关联的其他实体,极大地提高了运维中问题排查的效率。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的运维数据关联审计方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图12所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
采用该计算机可读存储介质,计算机运行该存储介质中的程序代码时,可以将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,在审计时不仅审计发生审计的实体,还审计与该实体关联的其他实体,从而极大地提高了运维中问题排查的效率。
综上所述,本发明所提供的运维数据关联审计方法、系统、设备及存储介质具有下列优点:
本发明通过简单的配置,简化了现有技术中费时费力的关联实体查询方式,将关系错综复杂的运维实体转化为关系图模型中的关系结构,通过图算法遍历关系图模型,从而自动保留实体关系信息数据,极大地提高了运维中问题排查的效率;当新增运维实体或实体关系发生变化时,无需重写算法等实现,就能快速实现关系图模型的结构调整;通过保存的关联审计信息,可以实现关联实体的审计查询,从而提高了系统维护效率,降低开发成本。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (14)

1.一种运维数据关联审计方法,其特征在于,包括如下步骤:
获取多种实体类型,并将各种所述实体类型分别保存为一顶点;
构建所述实体类型的关系图模型,所述关系图模型包括所述实体类型所对应的顶点和所述顶点之间的关联关系;
发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;
根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体;
对所述关联实体进行审计,并存储所述发生审计的实体和所述关联实体的审计记录;其中:
将所述关系图模型以关系数据格式存储为多条关系型数据记录,各条所述关系型数据记录包括一顶点所对应的实体类型以及该实体类型关联的实体类型,并以关系数据格式存储所述发生审计的实体和所述关联实体的审计记录;
存储所述发生审计的实体和所述关联实体的审计记录,包括如下步骤:
建立审计事件信息表,所述审计事件信息表包括审计事件的标识信息、审计事件类型、审计事件对应的时间、审计事件对应的实体类型和审计事件对应的实体的标识信息;
建立审计事件关系表,所述审计事件关系表包括审计事件的标识信息和审计事件的关联审计事件的标识信息,所述关联审计事件为该审计事件的实体所对应的关联实体的审计事件;
所述方法还包括如下步骤:
一所述关系型数据记录发生变更时,删除所述审计事件关系表中与所述关系型数据记录对应的关联事件记录;
于所述审计事件信息表中查找与所述关系型数据记录对应的审计事件,查找该审计事件所对应的实体的标识信息和实体类型;
重新查找与所述待审计实体类型相关联的关联实体类型以及所述关联实体类型中的关联实体,并执行所述关联实体的审计;
重新存储所述发生审计的实体和所述关联实体的审计记录至所述审计事件关系表。
2.根据权利要求1所述的运维数据关联审计方法,其特征在于,所述实体类型的关系图模型包括所述实体类型的有向无环图,所述顶点之间的关联关系包括所述顶点之间的指向方向,且所述顶点之间的指向方向与所对应的实体类型的关联数据传递方向相同。
3.根据权利要求1所述的运维数据关联审计方法,其特征在于,所述关系图模型包括有向图,各条所述关系型数据记录中该实体类型关联的实体类型为该实体类型为所述有向图中,该实体类型的关联数据传递方向的下一实体类型。
4.根据权利要求3所述的运维数据关联审计方法,其特征在于,所述关系图模型包括多个有向无环图,各条所述关系型数据记录还包括所对应的有向无环图的标识信息。
5.根据权利要求1所述的运维数据关联审计方法,其特征在于,还包括如下步骤:
新增两个实体类型之间的关联关系时,新增一所述关系型数据记录,新增的关系型数据记录包括所述两个实体类型;和/或
解除两个实体类型之间的关联关系时,删除所述两个实体类型所对应的关系型数据记录。
6.根据权利要求1所述的运维数据关联审计方法,其特征在于,各条所述审计记录包括审计事件的标识信息、审计事件类型、审计事件对应的时间、审计事件对应的实体类型和审计事件对应的实体的标识信息。
7.根据权利要求2所述的运维数据关联审计方法,其特征在于,所述图算法包括广度优先遍历算法和/或深度优先遍历算法;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型,包括如下步骤:
采用广度优先遍历算法和/或深度优先遍历算法于所述有向无环图中查找所述待审计实体类型的关联实体类型。
8.根据权利要求2所述的运维数据关联审计方法,其特征在于,所述图算法包括深度优先遍历算法和/或深度优先遍历算法;
采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型,包括如下步骤:
采用深度优先遍历算法和/或深度优先遍历算法于所述有向无环图中查找与所述待审计实体类型具有预设查找深度的关联实体类型。
9.根据权利要求8所述的运维数据关联审计方法,其特征在于,还包括如下步骤:
统计查找得到的所述关联实体的数量;
如果关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与所述待审计实体类型具有预设查找深度的关联实体类型,并查找所述关联实体类型中对应的关联实体。
10.根据权利要求8所述的运维数据关联审计方法,其特征在于,还包括如下步骤:
统计所述关联实体中于预设时间段内发生过数据变更的实体的数量;
如果发生过数据变更的关联实体的数量小于预设阈值,则进一步增加预设查找深度的值,继续查找与所述待审计实体类型具有预设查找深度的关联实体类型,并查找所述关联实体类型中对应的关联实体。
11.根据权利要求1所述的运维数据关联审计方法,其特征在于,判断所述关联实体中是否存在实体类型和实体的标识信息均相同的重复实体,如果存在,则对于所述重复实体仅记录一次。
12.一种运维数据关联审计系统,用于实现权利要求1至11中任一项所述的运维数据关联审计方法,其特征在于,所述系统包括:
关系图模型构件模块,用于获取多种实体类型,并将各种所述实体类型分别保存为一顶点;以及构建所述实体类型的关系图模型,所述关系图模型包括所述实体类型所对应的顶点和所述顶点之间的关联关系;
关联实体类型查找模块,用于发生审计事件时,获取发生审计的实体的标识信息,并判断发生审计事件的实体对应的待审计实体类型;采用图算法于所述关系图模型中查找与所述待审计实体类型相关联的关联实体类型;
关联实体查找模块,用于根据发生审计的实体的标识信息查找所述关联实体类型中对应的关联实体;
运维审计模块,用于对所述关联实体进行审计,并存储所述发生审计的实体和所述关联实体的审计记录。
13.一种运维数据关联审计设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任一项所述的运维数据关联审计方法的步骤。
14.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至12中任一项所述的运维数据关联审计方法的步骤。
CN201710841864.XA 2017-09-18 2017-09-18 运维数据关联审计方法、系统、设备及存储介质 Active CN107506484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710841864.XA CN107506484B (zh) 2017-09-18 2017-09-18 运维数据关联审计方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710841864.XA CN107506484B (zh) 2017-09-18 2017-09-18 运维数据关联审计方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN107506484A CN107506484A (zh) 2017-12-22
CN107506484B true CN107506484B (zh) 2020-10-16

Family

ID=60697621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710841864.XA Active CN107506484B (zh) 2017-09-18 2017-09-18 运维数据关联审计方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN107506484B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284888A (zh) * 2018-06-19 2019-01-29 杭州数澜科技有限公司 一种用于检测任务依赖之间的环路的方法和装置
CN108984802A (zh) * 2018-08-22 2018-12-11 成都安恒信息技术有限公司 一种在运维审计系统中的设备分类查找方法
CN109408704B (zh) * 2018-09-03 2023-05-30 平安科技(深圳)有限公司 基金数据关联方法、系统、计算机设备和存储介质
CN111125087B (zh) * 2018-10-31 2023-05-12 北京国双科技有限公司 数据的存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221591A (zh) * 2007-12-06 2008-07-16 上海交通大学 可重构机器的模块化设计方法
CN104199900A (zh) * 2014-08-26 2014-12-10 中国航天科工集团第二研究院七〇六所 基于文件轨迹追踪树的审计分析方法
WO2017056168A1 (ja) * 2015-09-28 2017-04-06 株式会社日立製作所 情報処理システムおよび情報処理方法
CN107018020A (zh) * 2017-03-31 2017-08-04 东北大学 基于半懒惰学习的图流链路预测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112133A1 (en) * 2001-11-14 2006-05-25 Ljubicich Philip A System and method for creating and maintaining data records to improve accuracy thereof
CN103440339B (zh) * 2013-09-09 2017-01-18 中国农业银行股份有限公司 一种查找应用系统变更关联对象的方法、装置及系统
CN104360939A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 定位故障的方法、设备及系统
CN104750496B (zh) * 2015-04-13 2018-01-05 上海新炬网络信息技术股份有限公司 一种模型变更影响度自动检查方法
CN106330919A (zh) * 2016-08-26 2017-01-11 国家电网公司 一种运维安全审计方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221591A (zh) * 2007-12-06 2008-07-16 上海交通大学 可重构机器的模块化设计方法
CN104199900A (zh) * 2014-08-26 2014-12-10 中国航天科工集团第二研究院七〇六所 基于文件轨迹追踪树的审计分析方法
WO2017056168A1 (ja) * 2015-09-28 2017-04-06 株式会社日立製作所 情報処理システムおよび情報処理方法
CN107018020A (zh) * 2017-03-31 2017-08-04 东北大学 基于半懒惰学习的图流链路预测方法

Also Published As

Publication number Publication date
CN107506484A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
CN107506484B (zh) 运维数据关联审计方法、系统、设备及存储介质
US10067954B2 (en) Use of dynamic dictionary encoding with an associated hash table to support many-to-many joins and aggregations
EP3072070B1 (en) Callpath finder
KR102054568B1 (ko) 필터링 데이터 계통 다이어그램
US20150347479A1 (en) Storing and querying multidimensional data using first and second indicies
CN104216894A (zh) 用于数据查询的方法和系统
JP6239004B2 (ja) 最適化されたデータサブセット化のための方法、装置及びコンピュータ読み取り可能媒体
CN107003935A (zh) 优化数据库去重
US20180144061A1 (en) Edge store designs for graph databases
JP5791149B2 (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
CN105224536A (zh) 划分数据库的方法和装置
CN107016047A (zh) 文档查询、文档存储方法及装置
US10031936B2 (en) Database table data fabrication
US10628465B2 (en) Generating a ranked list of best fitting place names
CN111078689B (zh) 一种非连续型预排序遍历树算法的数据处理方法及系统
CN110168532A (zh) 数据更新方法和存储装置
US11093541B2 (en) Transforming an ontology query to an SQL query
CN105446952A (zh) 用于处理语义片段的方法和系统
CN105447032A (zh) 用于处理消息与订阅信息方法和系统
US20220121665A1 (en) Computerized Methods and Systems for Selecting a View of Query Results
US10726178B1 (en) Functional logic cone signature generation for circuit analysis
US20180144060A1 (en) Processing deleted edges in graph databases
JP5048358B2 (ja) 論理プロセッサ
US10776363B2 (en) Efficient data retrieval based on aggregate characteristics of composite tables
JP2023553220A (ja) マルチインスタンスプロセスのためのプロセスマイニング

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