一种图文件的处理方法、装置及存储介质制造方法及图纸

技术编号:21832947 阅读:15 留言:0更新日期:2019-08-10 18:06
本发明专利技术提供了一种图文件的处理方法,包括:提取图文件并存储至持久化存储空间中,所述图文件包括社交网络的节点、连接所述节点的连接关系以及所述连接关系的权重值;根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,其中,分割后形成的子图文件所对应的节点区间互不相交;将分割后的子图文件加载至内存空间;初始化所述内存空间所加载子图文件中的节点,并迭代计算所述内存空间所加载子图文件中节点的社区标签;根据迭代计算完成后得到的所述节点的社区标签,更新所述持久化存储空间中存储的图文件。本发明专利技术还提供了一种图文件的处理装置、以及存储介质。

A Method, Device and Storage Medium for Processing Graph Files

【技术实现步骤摘要】
一种图文件的处理方法、装置及存储介质
本专利技术涉及计算机应用技术,尤其涉及一种图文件的处理方法、装置及存储介质。
技术介绍
在社交网络中,社区发现算法常用于检测社交网络中的社区结构,并可以进一步的挖掘感兴趣的社区或行为异常的用户群体。现有的社区发现算法通常是将整个社交网络的数据存入内存,并进行迭代计算,但是,对于大规模的社交网络会产生内存不足无法计算的情况。例如,在QQ好友关系社交网络中,总共有约19亿用户(即社交网络中的节点)和超过550亿条好友关系(即社交网络中节点的连接关系),若将这种大规模的QQ好友关系社交网络的数据存入内存中,则会对内存产生巨量的需求,实际应用中难以部署这样的硬件环境,即是部署也难以保证计算的效率。
技术实现思路
本专利技术实施例期望提供一种图文件的处理方法、装置及存储介质,能够对于社交网络的图文件进行资源集约型的高效计算。为达到上述目的,本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种图文件的处理方法,包括:提取图文件并存储至持久化存储空间中,所述图文件包括社交网络的节点、连接所述节点的连接关系以及所述连接关系的权重值;根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,其中,分割后形成的子图文件所对应的节点区间互不相交;将分割后的子图文件加载至内存空间;初始化所述内存空间所加载子图文件中的节点,并迭代计算所述内存空间所加载子图文件中节点的社区标签;根据迭代计算完成后得到的所述节点的社区标签,更新所述持久化存储空间中存储的图文件。本专利技术实施例还提供了一种图文件的处理装置,包括:提取模块,用于提取图文件并存储至持久化存储空间中,所述图文件包括社交网络的节点、连接所述节点的连接关系以及所述连接关系的权重值;分割模块,用于根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,其中,分割后形成的子图文件所对应的节点区间互不相交;加载模块,用于将分割后的子图文件加载至内存空间;初始化模块,用于初始化所述内存空间所加载子图文件中的节点;计算模块,用于迭代计算所述内存空间所加载子图文件中节点的社区标签;更新模块,用于根据迭代计算完成后得到的所述节点的社区标签,更新所述持久化存储空间中存储的图文件。上述方案中,所述加载模块,具体用于:将所述分割后的子图文件中未迭代计算社区标签的子图文件,加载到所述内存空间中;当所加载的子图文件迭代计算社区标签完成后,在所述内存空间中释放所加载的子图文件,并将未迭代计算社区标签的子图文件,加载到所述内存空间中。上述方案中,所述初始化模块,具体用于:为所述内存空间所加载子图文件中的各个节点分配差异化的社区标签;根据所述节点所分配的社区标签,计算所述节点的初始化的第一权重和以及所述社区标签的初始化的第二权重和;其中,所述第一权重和以及所述第二权重和用于计算所述节点的模块度;其中,所述第一权重和为所述节点的连接关系的权重和,所述第二权重和为所述社区标签对应社区的内部具有点连接的连接关系的权重和。上述方案中,所述计算模块,具体用于:遍历所述加载子图文件中的节点,并执行以下迭代处理:计算所遍历节点具有邻接节点的社区标签时对应的模块度;确定使所述模块度最大时所遍历节点所具有的社区标签,并分配给所遍历节点相应的社区标签;当所述内存空间所加载子图文件的模块度在迭代前后的梯度满足收敛条件时停止迭代,将相同社区标签的节点合并为新的节点。上述方案中,所遍历节点具有邻接节点的社区标签时对应的模块度为第一因子与第二因子的差值;其中,所述第一因子为所遍历节点的第一权重和与全部连接关系权重和的比值,所述第二因子为所遍历节点权重和的乘积、与所述全部连接关系权重和的比值,所述所遍历节点权重和的乘积为所遍历节点的第一权重和、与所遍历节点具有邻接节点的社区标签的第二权重和的乘积,所述全部连接关系权重和为所加载子图文件包括的连接关系的权重的加和。上述方案中,所述内存空间所加载子图文件的模块度在迭代前后的梯度为:所加载子图文件中节点具有迭代后社区标签时的模块度,与具有迭代前社区标签时的模块度的差值的加和。上述方案中,所述收敛条件包括:所述内存空间所加载子图文件的模块度在迭代前后的梯度小于梯度阈值。上述方案中,所述计算模块,具体用于:将所述内存空间加载的子图文件中针对不同节点的迭代计算,分配到对应的多个并行的线程;在每个线程中,基于目标节点的各邻接节点的迭代前社区标签,计算所述目标节点具有不同迭代前社区标签时对应的模块度,选取最大模块度对应的迭代前社区标签分配给所述目标节点作为迭代后社区标签;当全部所述线程完成后,基于所述目标节点的迭代后社区标签,更新所述目标节点的迭代前社区标签的第二权重和、以及所述目标节点的迭代后社区标签的第二权重和。本专利技术实施例所提供的图文件的处理方法、装置及存储介质,通过将图文件进行分割,形成子图文件,并将子图文件加载至内存空间中,对内存空间所加载的子图文件中节点的社区标签进行迭代计算更新,因此,通过分割,相对于一次性加载大的图文件,减小了对内存空间的依赖,从而使得在内存资源有限的设备中进行计算成为可能,从而能够充分利用已有的设备进行计算,实现了资源集约的高效计算,从而可以在内存资源有限的设备上处理数十亿节点和数百亿节点的连接关系的巨型网络,具有易操作、可移植性强等特点,解决了由于针对大规模的社交网络的图文件进行计算而产生内存不足的问题。附图说明图1是本专利技术实施例提供的图文件的处理装置的一个可选的结构示意图;图2是本专利技术实施例提供的图文件的处理方法的一个可选的流程示意图;图3是本专利技术实施例提供的标签传播算法的一个可选的原理示意图;图4是本专利技术实施例提供的社区划分算法的一个可选的原理示意图;图5是本专利技术实施例提供的图文件的处理系统的一个可选的结构示意图;图6是本专利技术实施例提供的图文件的处理系统的一个可选的关系示意图;图7是本专利技术实施例提供的基于图的拓扑结构进行社区发现的一个可选的示意图;图8是本专利技术实施例提供的包含四个社区的一个可选的社交网络示意图;图9是本专利技术实施例提供的QQ好友关系图文件的处理方法的一个可选的流程示意图;图10是应用本专利技术实施例提供的社区标签计算的一个可选的应用场景示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。根据本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本专利技术。对本专利技术实施例进行进一步详细说明之前,对本专利技术实施例中涉及的名词和术语进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。1)社交网络,依托于互联网、通过网站或者客户端实现用户之间社交的系统,包括硬件层的社交网络服务器以及软件层的各种形式客户端(例如APP和网页);社交网络用户凭借客户端来从获取社交网络的各种服务。2)图文件,一种用于描述社交网络的拓扑结构的文件,根据图文件可以形成社交网络的图形化表示,在图形化表示中将社本文档来自技高网
...

【技术保护点】
1.一种图文件的处理方法,其特征在于,包括:提取图文件并存储至持久化存储空间中,所述图文件包括社交网络的节点、连接所述节点的连接关系以及所述连接关系的权重值;根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,其中,分割后形成的子图文件所对应的节点区间互不相交;将分割后的子图文件加载至内存空间;初始化所述内存空间所加载子图文件中的节点,并迭代计算所述内存空间所加载子图文件中节点的社区标签;根据迭代计算完成后得到的所述节点的社区标签,更新所述持久化存储空间中存储的图文件。

【技术特征摘要】
1.一种图文件的处理方法,其特征在于,包括:提取图文件并存储至持久化存储空间中,所述图文件包括社交网络的节点、连接所述节点的连接关系以及所述连接关系的权重值;根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,其中,分割后形成的子图文件所对应的节点区间互不相交;将分割后的子图文件加载至内存空间;初始化所述内存空间所加载子图文件中的节点,并迭代计算所述内存空间所加载子图文件中节点的社区标签;根据迭代计算完成后得到的所述节点的社区标签,更新所述持久化存储空间中存储的图文件。2.根据权利要求1所述的方法,其特征在于,所述提取图文件并存储至持久化存储空间中,包括:从所述社交网络的数据库中提取用户连接关系;将所述用户映射为所述社交网络中的节点,将所述用户之间的连接关系映射为所述社交网络中连接所述节点的连接关系,将所述用户之间的连接紧密度映射为所述社交网络中所述连接关系的权重值;将所得到的映射结果整合为所述图文件,并将所述图文件存储至所述持久化存储空间中。3.根据权利要求1所述的方法,其特征在于,所述根据所述图文件包括的节点的连接关系,将所述图文件分割形成子图文件,包括:根据所述图文件中的节点的连接关系,将所述图文件中的节点划分到互不相交的节点区间;根据划分得到的所述节点区间,将所述图文件对应所述节点区间进行分割,形成与所述节点区间对应的子图文件。4.根据权利要求1所述的方法,其特征在于,所述将分割后的子图文件加载至内存空间,包括:将所述分割后的子图文件中未迭代计算社区标签的子图文件,加载到所述内存空间中;当所加载的子图文件迭代计算社区标签完成后,在所述内存空间中释放所加载的子图文件,并将未迭代计算社区标签的子图文件,加载到所述内存空间中。5.根据权利要求1所述的方法,其特征在于,所述初始化所述内存空间加载子图文件中的节点,包括:为所述内存空间所加载子图文件中的各个节点分配差异化的社区标签;根据所述节点所分配的社区标签,计算所述节点的初始化的第一权重和以及所述社区标签的初始化的第二权重和;其中,所述第一权重和以及所述第二权重和用于计算所述节点的模块度;其中,所述第一权重和为所述节点的连接关系的权重和,所述第二权重和为所述社区标签对应社区的内部具有点连接的连接关系的权重和。6.根据权利要求5所述的方法,其特征在于,所述迭代计算所述内存空间所加载子图文件中节点的社区标签,包括:遍历所述加载子图文件中的节点,并执行以下迭代处理:计算所遍历节点具有邻接节点的社区标签时对应的模块度;确定使所述模块度最大时所遍历节点所具有的社区标签,并分配给所遍历节点相应的社区标签;当所述内存空间所加载子图文件的模块度在迭代前后的梯度满足收敛条件时停止迭代,将相同社区标签的节点合并为新的节点。7.根据权利要求6所述的方法,其特征在于,所遍历节点具有邻接节点的社区标签时对应的模块度为第一因子与第二因子的差值;其中,所述第一因子为所遍历节点的第一权重和与全部连接关系权重和的比值,所述第二因子为所遍历节点权重和的乘积、...

【专利技术属性】
技术研发人员:齐逸岩黄俊深成杰峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1