一种基于DCG的图索引迁移方法及装置与流程

文档序号:34368820发布日期:2023-06-05 00:04阅读:35来源:国知局
一种基于DCG的图索引迁移方法及装置与流程

本发明涉及流式图数据处理领域,尤其设计一种基于dcg的图索引迁移方法及装置。


背景技术:

1、图模式匹配技术解决的问题是:给定一张模式图,要求在一张数据图中找出所有能够满足模式图约束的子图。早期的图模式匹配算法仅能够用在静态数据图上,即数据图的结构和内容都不会随时间发生改变。

2、然而,随着信息科技的快速发展,涉及日常生活各方面的移动应用层出不穷,这些应用持续产生大量的数据。随着时间流逝,使用这些数据构造的图在不断发生变化。在当前一些应用领域中,图模式匹配算法为了保证图匹配结果的实时性和有效性,需要在图的结构和内容都不断变化的同时,快速给出匹配结果。如何处理不断变化的图,并且在较低延时内给出准确匹配结果,是当前研究热点。

3、动态图模式匹配技术是当前用于分析动态图变化的重要技术,它解决如下问题:给定一张模式图,在一张动态变化的数据图中,对每一次数据图插入,能实时找出和模式图匹配的新增子图;对每一次数据图删除,能实时找出和模式图匹配的被删除子图。相比于传统方法,动态图模式匹配技术更适用于对实时性要求较高的场景。例如在推荐系统中,用户在浏览过一些内容后,应用通常需要根据用户当前浏览内容和之前的浏览内容来快速给出推荐内容;在网络安全检测领域中,面对不断新增的访问请求,算法要能快速且准确地识别出一条新请求是否可能是恶意攻击,从而快速判断是否需要拦截访问。此外,在工业界中,一些大型企业也推出了自己的分布式并行图处理系统来解决大型动态图匹配问题。

4、在网络安全apt攻击模式识别里,一些传统经典的攻击模式会首先被抽象建模成模式图的形式,然后针对线上实时接收网络数据包数据进行解析,从而进行实时的动态图模式匹配。

5、dcg(data-centric graph,数据中心图)是一种解决动态图模式匹配问题的算法中的构建索引的方法。其具体定义如下——

6、dcg(data-centric graph,数据中心图)是一个多重图,在多重图中,两个点之间可以存在多条边。假设存在一张数据图g=(v,e,l)、一张模式图q=(v,e,l)以及一张数据中心图d=(v,e,l),d还需要满足以下条件:

7、(1)要求v∈vg

8、(2)要求l(e)∈id(v)且type(e)∈{null,implicit,explicit}

9、(3)要求且v1=v3,v2=v4

10、在上面的第二个条件中,ld(vq)表示模式图中所有节点的id,type(e)表示数据中心图的边对应类型,每一条边都是上述三种类型中的某一种。

11、路径:给定一张图g=(v,e,l),如果从图中某一个节点v开始遍历,在经过有限次遍历后能到达另一个节点v`,则这两个节点之间的路径〈v,...,v`〉记为v→v`。此外,如果该路径的长度大于2,则路径〈v,...,vp,v`〉还可以记为v→vp.v`。

12、dcg中边类型的定义:给定一张数据图g、一张模式图q和一张数据中心图d,在模式图转换为一颗树之后,将该模式树的根节点记为us,将数据图中能和us相匹配的节点记为vs。对于d中的一条边e=(v,v`,id(u`)),判断以下两个条件:

13、(1)该路径能够匹配和模式图中的一条路径us→parent(u).u`相匹配

14、(2)要求且subtree能和subtree`完全匹配

15、对于上述两个条件,如果能同时满足,则称该条边为显式边(explicit edge)。如果仅能满足第一个,则称该条边为隐式边(implicit edge)。如果都不满足,则表示不需要在d中建立这条边,称为空边(null edge)。

16、当前,许多动态图模式匹配算法通过构建索引保存中间结果。通过构建索引,当数据图结构或内容更新时,算法可以不需要在全图上执行静态图模式匹配算法,极大加快了动态图模式匹配的速度。但是,在实际使用场景中,动态图模式匹配算法构建索引之前需要根据数据图来制定一系列匹配策略,当初始数据较少时,制定的策略在数据图发生一定数量的更新后可能无法保证其性能。因此,当前需要一种能够解决上述问题的动态图模式匹配技术,能有效解决动态图模式匹配算法在实际使用过程中可能出现的问题,使算法能够保证长期有效性。


技术实现思路

1、本发明的目的在于针对现有的动态图模式匹配技术的不足,提出一种应用于流式大数据处理的基于dcg的图索引迁移技术。该方法允许算法在初始数据图中数据不足的情况下在dcg中能构建出索引,并在后续数据图更新后将索引迁移到新dcg中,保证算法的长期有效性。

2、在本处理技术下,可以迁移原dcg中的索引到调整了查询树的新dcg中,迁移操作能使有效索引被保留,无效索引被删除,大大减少了因无效索引导致的空间占用过高和算法匹配速度下降的情况。

3、本发明的目的是通过以下技术方案来实现的:第一方面,本发明提供了一种基于dcg的图索引迁移方法,该方法包括如下步骤:

4、(1)查询树的生成

5、(1.1)构建模式图,选择模式图中的一个点作为模式树的根节点;

6、(1.2)使用根节点对模式图进行广度遍历,在遍历过程中根据访问顺序来构建模式树,并维护索引;将构建出的模式树看作有向图,对于其中边的实际指向和树中父子关系相反的边,将设置其对应标记为真,表示和实际方向相反;对于模式图中存在而模式树中不存在的边,记为当前模式树对应的非树边;

7、(2)匹配顺序的确定

8、按照步骤(1)生成模式树后,要确定在匹配过程中,匹配模式树节点的顺序;通过步骤(1)匹配过程中维护的索引来选择后续匹配模式节点;

9、(3)构建索引

10、当数据图中某一节点能够和模式图的根节点匹配,且在dcg中该节点和虚拟节点之间存在一条对应的显式边,则说明数据图中存在和模式图匹配的子图,则从该节点开始进行结果匹配。

11、(4)调整查询树并迁移索引

12、设定索引数量阈值,当一个图操作影响的索引数量到达该索引数量阈值后,则对模式树进行调整;在调整过程中,首先执行步骤(1)来重新选取模式树根节点,需要从当前新选出的根节点处重新构建整个模式树;再执行步骤(2)来重新确定当前匹配顺序,将原dcg中的索引迁移到新dcg中;迁移时首先需要迁移能够真正产生匹配结果的稳定索引,迁移完稳定索引之后需要对剩余索引进行迁移,此时需要判断这些索引的有效性后再进行迁移或是丢弃,当迁移完毕后,则使用新索引来匹配结果。

13、进一步地,步骤(1)中,选择模式图中匹配数量最少且度最低的节点作为根节点。

14、进一步地,步骤(4)中,如果重新选择出来的根节点和当前根节点相同,则表示不用调整模式树,无需迁移索引。

15、进一步地,步骤(4)中,给定一个模式树q和一个dcg,在dcg中找到和模式树根节点相匹配的数据节点和虚拟节点之间的边,如果某条边e为显式边,则从e的子节点开始,在dcg中找到一个全部由显式边所组成的子图sub,该子图能够和q匹配,则称sub中所有的dcg边为稳定索引。

16、第二方面,本发明还提供了一种基于dcg的图索引迁移装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的一种基于dcg的图索引迁移方法。

17、第三方面,本发明还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现所述的一种基于dcg的图索引迁移方法。

18、本发明的有益效果为:

19、1)将有向查询图转换为单个模式树的方法能避免基于dcg的图模式匹配方法在有向图上匹配性能一般的问题。

20、2)在数据图发生一定量的更新后对查询树进行调整并进行索引迁移,可以避免系统中存储过多无效的索引并允许系统使用效果更好的查询树进行索引构建和结果匹配,减少了系统中存储的无效索引,优化了索引的分布,提高了算法在时间和空间上的效率,使算法在工程实践中具有更高的可用性,能够长时间保证其性能。

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