CN111177474A - 一种图数据处理的方法及相关装置 - Google Patents
一种图数据处理的方法及相关装置 Download PDFInfo
- Publication number
- CN111177474A CN111177474A CN201910582561.XA CN201910582561A CN111177474A CN 111177474 A CN111177474 A CN 111177474A CN 201910582561 A CN201910582561 A CN 201910582561A CN 111177474 A CN111177474 A CN 111177474A
- Authority
- CN
- China
- Prior art keywords
- node
- community
- community information
- connection edge
- information
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 230000006854 communication Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种图数据处理的方法及相关装置,该方法包括:获取第一节点的邻接表和第一节点的第一社区信息,第一节点的第一社区信息存储于内存中,且第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,邻接表存储有第一节点的第一连接边权重;根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,第一节点的第二社区信息存储于内存中,第一节点的第二社区信息包含第一节点的第二社区归属关系;根据第一节点的第二社区归属关系对第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;根据第一节点的第二连接边权重更新第一节点的邻接表,得到目标图数据。
Description
技术领域
本申请涉及社交网络技术领域,尤其涉及一种图数据处理的方法及相关装置。
背景技术
在如今信息发展如此迅速的时代,社交网络中用户数与其带来的信息量的增长无疑是很庞大的,社区发现算法可以对用户群进行社区划分,将具备一定联系的用户聚类至同一社区中。
基于Spark GraphX分布式图计算框架实现的快速社区发现算法(Fast unfolding算法)已被广泛应用至社区发现的实际计算中,然而,网络设备基于上述算法对图数据中的节点进行社区更换迭代的计算时,通常需要将较多的额外信息存储于内存中,占用了服务器较多的内存,导致成本过高甚至由于成本不足而无法完成计算。
发明内容
本申请实施例提供了一种图数据处理的方法及相关装置,在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本。
本申请实施例第一方面提供一种图数据处理的方法,包括:
获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据。
本申请实施例第二方面提供一种图数据处理装置,包括:
获取模块,用于获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
社区更换模块,用于根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
合并模块,用于根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
更新模块,用于根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据。
本申请实施例第三方面提供一种网络设备,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本申请实施例第四方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种图数据处理的方法及相关装置,该方法通过分布式图计算框架对包含多个节点的图数据进行处理,其中,该分布式图计算框架包含多个网络设备,且每个网络设备被分配至少一个节点,上述方法通过由其中某一个网络设备执行。当某一网络设备在对本网络设备被分配得到的节点进行社区更换迭代以得到目标图数据时,需要利用节点的连接边权重、节点的社区归属关系以及社区的连接边权重之和进行计算,由于节点的连接边权重以邻接表的形式进行存储,节点的社区归属关系以及社区的连接边权重之和直接存储于本网络设备的内存中,因此在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本。
附图说明
图1为本申请实施例中图数据处理的方法的一个流程示意图;
图2为连接边权重合并的示意图;
图3为本申请实施例中图数据处理的方法的应用例示意图;
图4为本申请实施例中图数据处理装置的一个结构示意图;
图5为本申请实施例提供的一种网络设备结构示意图。
具体实施方式
本申请实施例提供了一种图数据处理的方法及相关装置,在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请应用于分布式图计算框架场景,具体地,分布式图计算框架可对图数据进行处理,可以理解的是,分布式图计算框架通常包含多个网络设备,图数据包含多个节点,且各个网络设备分别被分配有多个节点中的至少一个节点,每个网络设备均可对自身被分配的节点进行基于Fast unfolding算法的社区迭代计算。
现有技术大多是基于Spark GraphX分布式图计算框架实现的Fast unfolding算法进行社区发现计算,然而,网络设备基于该算法对图数据中的节点进行社区更换迭代的计算时,通常需要将较多的额外信息存储于内存中,占用了服务器较多的内存,导致成本过高甚至由于成本不足而无法完成计算。
有鉴于此,本申请实施例提供了一种图数据处理的方法,在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本。
需要说明的是,本申请实施例中图数据处理的方法执行之前,后台运营人员需提前对网络设备进行节点分配和初始化操作,具体如下:
后台运营人员会提前将初始图数据的各个节点分配分布式图计算框架中的各个网络设备中,由于相关联的节点之间存在连接边,因此,后台运营人员在分配节点至各个网络设备,其遵循的分配策略为:设置每个网络设备的连接边数量相同或相近。此外,在每个网络设备中,节点的连接边权重均以邻接表的方式进行存储。
设置完成后,后台运营人员可以对各个网络设备进行初始化,以其中一个网络设备为例进行说明(其余网络设备也执行相同的初始化操作)。该网络设备所包含的各个节点中,每个节点所属的社区均初始化为本身,得到节点的社区归属关系,并计算每个节点所连接的边的权重之和,即得到各个社区的连接边权重之和,该网络设备将节点的社区归属关系和社区的连接边权重之和(以下称社区信息)存入自身的内存中,然后将社区信息发送至其余网络设备,使得其余网络设备也开辟相应的内存,存入该网络设备发送的社区信息,以便后续访问社区信息时保持高效。
当所有网络设备的初始化完成后,每个网络设备均存有与初始图数据对应的所有社区信息。
下面以分布式图计算框架中的某一网络设备的角度,对本申请实施例中图数据处理的方法进行具体说明。图1为本申请实施例中图数据处理的方法的一个流程示意图,请参阅图1,本申请实施例中图数据处理的方法的一个实施例,包括;
101、获取第一节点的邻接表和第一节点的第一社区信息,其中,第一节点的第一社区信息存储于本网络设备的内存中,且第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,邻接表存储有第一节点的第一连接边权重;
分布式图计算框架中的某一网络设备获取第一节点的邻接表和第一节点的第一社区信息,值得注意的是,本实施例中,第一节点为分配至该网络设备的节点,第一节点包含至少一个节点,其节点数量不做具体限制。
其中,邻接表存储有第一节点的第一连接边权重。可以理解的是,该网络设备的邻接表存有被分配至该网络设备的节点的连接边权重,即第一节点的第一连接边权重。
第一节点的第一社区信息存储于该网络设备的内存中,且第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和。可以理解的是,第一节点的社区信息即被分配至该网络设备的节点所归属的社区信息,由于网络设备完成了初始化操作,故被分配至该网络设备的各个节点所归属的社区即为节点本身。社区的第一连接边权重之和即为该网络设备的每个社区的连接边权重之和,如该网络设备的第一节点包含了三个节点A、B和C,此时,该网络设备节点的社区归属关系为该网络设备包含A社区、B社区和C社区,该网络设备社区的连接边权重之和为A社区的连接边权重之和(即A节点的连接边权重之和),B社区的连接边权重之和(即B节点的连接边权重之和)和C社区的连接边权重之和(即C节点的连接边权重之和)。
102、根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,第一节点的第二社区信息存储于本网络设备的内存中,第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
本实施例中,对于该网络设备内部,需要进行社区更换迭代以更换第一节点的社区归属关系,如进行迭代后,第一节点中的某个节点归属至别的社区,导致第一节点的第一社区归属关系和社区的第一连接边权重之和发生变化,即第一节点的第一社区信息发生了变化,得到第一节点的第二社区信息。
得到第二社区信息后,该网络设备将第二社区信息存入内存中,相当于对内存中原有的第一社区信息进行更新。
103、根据第一节点的第二社区归属关系对第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
本实施例中,由于第一节点的社区归属发生了变化,同样也导致第一节点的第一连接边权重发生了变化,如该网络设备的第一节点包含节点D和节点E,进行社区更换迭代后,节点D归属至别的社区E(即节点E),节点D原先所属的社区D则消失,且节点D与节点E可以视为融合成新的一个节点E1,因此,该网络设备可以对原先节点D的连接边权重和节点E的连接边权重进行合并,得到节点E1的连接边权重,即得到第一节点的第二连接边权重。
104、根据第一节点的第二连接边权重更新第一节点的邻接表,得到目标图数据。
得到第一节点的第二连接边权重后,该网络设备可以对邻接表内的数据进行更新,即将第一节点的第二连接边权重替换原有的第一节点的第一连接边权重,完成第一节点的数据更新,当邻接表完成更新后,即相当于对初始图数据中与该网络设备对应的节点数据进行更新,则可以得到目标图数据。
本实施例中,网络设备在对本网络设备被分配得到的节点进行社区更换迭代以得到目标图数据时,需要利用节点的连接边权重、节点的社区归属关系以及社区的连接边权重之和进行计算,由于节点的连接边权重以邻接表的形式进行存储,节点的社区归属关系以及社区的连接边权重之和直接存储于本网络设备的内存中,因此在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本
可选的,基于图1对应的实施例,本申请实施例中图数据处理的方法的一个可选实施例中,根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息具体包括:
根据第一节点的邻接表和第一节点的第一社区信息计算第一节点的模块度增益,根据第一节点的模块度增益确定第一节点的第二社区信息。
本实施例中,该网络设备根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,可以理解的是,社区更换迭代具体过程如下:
在迭代计算中,该网络设备根据第一节点的邻接表和第一节点的第一社区信息计算第一节点中各个节点的模块度增益,对于某个节点而言,确定其模块度增益最大的社区,然后将该节点归属至该社区中完成更换,同理第一节点中的其余节点。完成社区更换迭代后,可得到第一节点的第二社区信息。
为了便于理解,设该网络设备的第一节点包含节点X、节点Y和节点Z,可以理解的是,初始的社区为社区X、社区Y和社区Z,且节点X分别和节点Y、节点Z连接,故此时第一节点的连接边即为连接边X-Y和连接边X-Z,对应的权重分别为0.1和0.2,分别对三个节点进行模块度增益计算,对于节点Y而言,设其模块度增益最大的对应社区为社区X,此时,则将节点Y并入社区X,节点Y和节点X可视为一个新的节点X1,同理也可对节点X和节点Z进行同样的处理,处理完成后社区归属关系和连接边权重均发生了变化,即得到关于第一节点社区更换后的社区信息。
可选的,基于图1对应的各个实施例,本申请实施例中图数据处理的方法的一个可选实施例中,根据第一节点的第二社区归属关系对第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重包括:
根据第一节点的第二社区归属关系将第一节点的的第一连接边权重中端点相同的连接边权重进行叠加,得到第一节点的第二连接边权重。
本实施例中,该网络设备得到第一节点的第二社区归属关系后,可以对第一节点的连接边权重信息进行更新,具体的,该网络设备可以预先开辟临时内存,用于临时存放第一节点的第一连接边权重,便于后续多线程访问及排序。然后该网络设备多线程枚举第一节点中的各个节点,将每个节点的连接边权重按端点进行排序,然后将具有相同端点的连接边权重进行叠加,得到第一节点的第二连接边权重。
为了便于理解,以下结合图2对上述权重合并过程进行说明,图2为连接边权重合并的示意图,如图2所示,为了方便说明,设该网络设备的第一节点包含节点J,节点K和节点L(相应的,该网络设备具有社区J,社区K和社区L),且三个节点之间均有连接关系,即存在连接边J-K、连接边K-L和连接边J-L,对应的权重分别为0.3、0.4和0.3,对节点J进行社区更换迭代后,设节点J归属至社区L(节点J融入节点L),连接边J-K、连接边K-L和连接边J-L则变化为连接边L-K、连接边K-L和连接边L-L,此时,连接边K-L和连接边L-K则为端点相同的连接边,故将其权重叠加,即该连接边的权重为0.7。
可选的,基于图1对应的各个实施例,本申请实施例中图数据处理的方法的一个可选实施例中,根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息之后还包括:
发送第一节点的第二社区信息至其余网络设备,以使得其余网络设备根据第一节点的第二社区信息更新本地社区信息。
本实施例中,该网络设备得到第一节点的第二社区信息后,可通过消息传递接口(Message Passing Interface,MPI)将第二社区信息至其余网络设备,以使得其余网络设备根据第一节点的第二社区信息更新本地社区信息。具体的,该网络设备在发送信息时,为了减少通信时延,网路设备可将第二社区信息中的多个数据进行打包后在进行发送,进而充分的利用网络带宽。
以下将一个具体应用例对本申请实施例中图数据处理的方法做进一步的说明,图3为本申请实施例中图数据处理的方法的应用例示意图,请参阅图3,该应用例包括:
301、图划分阶段;
在图划分阶段中,后台运营人员将初始图数据中的节点分配至分布式图计算框架的各个网路设备,并设置每个网络设备中,节点的连接边数量相同或相近。其中,对每个网络设备而言,其所包含的节点的连接边权重均以邻接表的形式进行存储。
302、初始化阶段;
以其中一个网络设备的初始化过程为例,将该网路设备中每个顶点所属的社区初始化为节点本身,并计算每个节点的连接边权重之和对应作为每个社区的连接边权重之和,然后将这两部分信息广播至其余网络设备进行存储。同理,也对其余网络设备执行相同的初始化过程。
303、计算阶段;
依旧以其中一个网络设备为例,该网络设备可以多线程并行枚举该网络设备所负责的节点,对于某个节点,则枚举其邻接表,计算该节点的模块度增益,找到模块度增益最大的社区完成更换,并将更换后该节点的社区归属信息和该社区的连接边权重之和广播至其余网络设备,其余网络设备收到后可以更新本地与该节点和该社区相关的信息。同理,该网络设备中的其余节点也执行上述操作,此处不再赘述。
304、图折叠阶段;
依旧以其中上述网络设备为例,该网络设备开辟临时内存,用于存放已经发生变化的节点的连接边权重,然后将连接边权重以连接边的端点进行排序,若存在端点相同的连接边权重,则将其进行叠加,最终得到该网络设备节点的新连接边权重,并删除临时内存。
将节点的新连接边权重对应存入节点的邻接表中,完成邻接表内的信息更新,此时,则完成了新图的构成,即将初始图数据构建成新的图数据。
305、迭代次数判断阶段;
若迭代次数并未达到预置的次数,则对新的图数据重新执行301~304的四个阶段,直至迭代次数达到预置的次数。
本申请实施例对图数据进行存储及计算时占用内存较少,可有效节约成本,且对计算及通信过程进行了一系列优化,充分利用了计算节点的计算能力及集群带宽,使得算法执行效率实现质的提升。
以上是对本申请实施例中图数据处理的方法进行的详细说明,以下将对本申请实施例中图数据处理装置的结构和连接关系进行介绍,需要说明的是,本申请实施例通过分布式图计算框架对包含多个节点的图数据进行处理,其中,该分布式图计算框架包含多个网络设备,且每个网络设备被分配至少一个节点,上述图数据处理装置包含在其中某一个网络设备中。图4为本申请实施例中图数据处理装置的一个结构示意图,请参阅图4,本申请实施例中图数据处理装置的一个实施例包括:
获取模块401,用于获取第一节点的邻接表和第一节点的第一社区信息,其中,第一节点的第一社区信息存储于本网络设备的内存中,且第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,邻接表存储有第一节点的第一连接边权重;
社区更换模块402,用于根据第一节点的邻接表和第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,第一节点的第二社区信息存储于本网络设备的内存中,第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
合并模块403,用于根据第一节点的第二社区归属关系对第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
更新模块404,用于根据第一节点的第二连接边权重更新第一节点的邻接表,得到目标图数据。
可选的,基于图4对应的实施例,本申请实施例中图数据处理装置的一个可选实施例中,社区更换模块还用于根据第一节点的邻接表和第一节点的第一社区信息计算第一节点的模块度增益,根据第一节点的模块度增益确定第一节点的第二社区信息。
可选的,基于图4对应的各个实施例,本申请实施例中图数据处理装置的一个可选实施例中,合并模块还用于根据第一节点的第二社区归属关系将第一节点的的第一连接边权重中端点相同的连接边权重进行叠加,得到第一节点的第二连接边权重。
可选的,基于图4对应的各个实施例,本申请实施例中图数据处理装置的一个可选实施例中,该图数据处理装置还包括:
发送模块,用于发送第一节点的第二社区信息至其余网络设备,以使得其余网络设备根据第一节点的第二社区信息更新本地社区信息。
本实施例在对本网络设备被分配得到的节点进行社区更换迭代以得到目标图数据时,需要利用节点的连接边权重、节点的社区归属关系以及社区的连接边权重之和进行计算,由于节点的连接边权重以邻接表的形式进行存储,节点的社区归属关系以及社区的连接边权重之和直接存储于本网络设备的内存中,因此在对图数据进行存储和计算时占用内存较少,不会出现额外无用的信息占用内存的现象,能够有效节约成本。
本申请实施例还提供了一种网络设备,图5是本申请实施例提供的一种网络设备结构示意图,该网络设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网络设备中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在网络设备500上执行存储介质530中的一系列指令操作。
网络设备500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由网络设备所执行的步骤可以基于该图5所示的网络设备结构。
本申请实施例还涉及一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述图数据处理的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种图数据处理的方法,其特征在于,所述方法包括:
获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据。
2.根据权利要求1所述的图数据处理的方法,其特征在于,所述根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息具体包括:
根据所述第一节点的邻接表和所述第一节点的第一社区信息计算第一节点的模块度增益,根据所述第一节点的模块度增益确定第一节点的第二社区信息。
3.根据权利要求1所述的图数据处理的方法,其特征在于,所述根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重包括:
根据所述第一节点的第二社区归属关系将所述第一节点的的第一连接边权重中端点相同的连接边权重进行叠加,得到第一节点的第二连接边权重。
4.根据权利要求1至3任意一项所述的图数据处理的方法,其特征在于,所述根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息之后还包括:
发送所述第一节点的第二社区信息至其余网络设备,以使得所述其余网络设备根据所述第一节点的第二社区信息更新本地社区信息。
5.一种图数据处理装置,其特征在于,包括:
获取模块,用于获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
社区更换模块,用于根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
合并模块,用于根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
更新模块,用于根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据。
6.根据权利要求5所述的图数据处理装置,其特征在于,所述社区更换模块还用于根据所述第一节点的邻接表和所述第一节点的第一社区信息计算第一节点的模块度增益,根据所述第一节点的模块度增益确定第一节点的第二社区信息。
7.根据权利要求5所述的图数据处理装置,其特征在于,所述合并模块还用于根据所述第一节点的第二社区归属关系将所述第一节点的的第一连接边权重中端点相同的连接边权重进行叠加,得到第一节点的第二连接边权重。
8.根据权利要求5至7任意一项所述的图数据处理装置,其特征在于,所述图数据处理装置还包括:
发送模块,用于发送所述第一节点的第二社区信息至其余网络设备,以使得所述其余网络设备根据所述第一节点的第二社区信息更新本地社区信息。
9.一种网络设备,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取第一节点的邻接表和第一节点的第一社区信息,其中,所述第一节点的第一社区信息存储于本网络设备的内存中,且所述第一节点的社区信息包括第一节点的第一社区归属关系和社区的第一连接边权重之和,所述邻接表存储有所述第一节点的第一连接边权重;
根据所述第一节点的邻接表和所述第一节点的第一社区信息进行社区更换迭代,得到第一节点的第二社区信息,其中,所述第一节点的第二社区信息存储于本网络设备的内存中,所述第一节点的第二社区信息包含第一节点的第二社区归属关系和社区的第二连接边权重之和;
根据所述第一节点的第二社区归属关系对所述第一节点的第一连接边权重进行合并,得到第一节点的第二连接边权重;
根据所述第一节点的第二连接边权重更新所述第一节点的邻接表,得到目标图数据;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582561.XA CN111177474B (zh) | 2019-06-27 | 2019-06-27 | 一种图数据处理的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582561.XA CN111177474B (zh) | 2019-06-27 | 2019-06-27 | 一种图数据处理的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177474A true CN111177474A (zh) | 2020-05-19 |
CN111177474B CN111177474B (zh) | 2022-12-02 |
Family
ID=70649933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910582561.XA Active CN111177474B (zh) | 2019-06-27 | 2019-06-27 | 一种图数据处理的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177474B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677755A (zh) * | 2015-12-30 | 2016-06-15 | 杭州华为数字技术有限公司 | 一种处理图数据的方法及装置 |
US20160371277A1 (en) * | 2015-06-16 | 2016-12-22 | International Business Machines Corporation | Defining dynamic topic structures for topic oriented question answer systems |
CN108062360A (zh) * | 2017-11-29 | 2018-05-22 | 广东技术师范学院 | 一种大规模复杂网络社区结构检测的方法、系统及装置 |
US20180181615A1 (en) * | 2016-12-22 | 2018-06-28 | Target Brands, Inc. | Data clustering to reduce database footprint and processing time |
CN108648094A (zh) * | 2018-05-08 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 一种社区发现方法、装置以及设备 |
CN108776684A (zh) * | 2018-05-25 | 2018-11-09 | 华东师范大学 | 知识图谱中边权重的优化方法、装置、介质、设备及系统 |
WO2018222064A1 (en) * | 2017-05-29 | 2018-12-06 | Huawei Technologies Co., Ltd. | Systems and methods of hierarchical community detection in graphs |
CN109685355A (zh) * | 2018-12-19 | 2019-04-26 | 重庆百行智能数据科技研究院有限公司 | 企业风险识别方法、装置和计算机可读存储介质 |
-
2019
- 2019-06-27 CN CN201910582561.XA patent/CN111177474B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160371277A1 (en) * | 2015-06-16 | 2016-12-22 | International Business Machines Corporation | Defining dynamic topic structures for topic oriented question answer systems |
CN105677755A (zh) * | 2015-12-30 | 2016-06-15 | 杭州华为数字技术有限公司 | 一种处理图数据的方法及装置 |
US20180181615A1 (en) * | 2016-12-22 | 2018-06-28 | Target Brands, Inc. | Data clustering to reduce database footprint and processing time |
WO2018222064A1 (en) * | 2017-05-29 | 2018-12-06 | Huawei Technologies Co., Ltd. | Systems and methods of hierarchical community detection in graphs |
CN108062360A (zh) * | 2017-11-29 | 2018-05-22 | 广东技术师范学院 | 一种大规模复杂网络社区结构检测的方法、系统及装置 |
CN108648094A (zh) * | 2018-05-08 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 一种社区发现方法、装置以及设备 |
CN108776684A (zh) * | 2018-05-25 | 2018-11-09 | 华东师范大学 | 知识图谱中边权重的优化方法、装置、介质、设备及系统 |
CN109685355A (zh) * | 2018-12-19 | 2019-04-26 | 重庆百行智能数据科技研究院有限公司 | 企业风险识别方法、装置和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
奥利维尔等著: "《图像处理和分析的图模型:理论与应用》", 30 November 2016 * |
Also Published As
Publication number | Publication date |
---|---|
CN111177474B (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614726B (zh) | 虚拟机创建方法及装置 | |
US20190087480A1 (en) | Clustering based on a directed graph | |
CN107529656B (zh) | 一种社交网络社区的划分方法及服务器 | |
CN111737003B (zh) | Pod均衡调度方法、装置、主节点及存储介质 | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN110427494B (zh) | 知识图谱的展示方法、装置、存储介质及电子装置 | |
CN104506669A (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
CN111984400A (zh) | 神经网络的内存分配方法及装置 | |
CN113515672A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN110474960B (zh) | 一种虚拟化网络中业务部署的方法和装置 | |
CN102427420B (zh) | 基于图模式匹配的虚拟网络映射方法及装置 | |
CN112785676B (zh) | 一种图像渲染方法、装置、设备和存储介质 | |
CN110544159A (zh) | 一种地图信息处理方法、装置、可读存储介质和电子设备 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN111177474B (zh) | 一种图数据处理的方法及相关装置 | |
CN112486664A (zh) | 一种节点扩容方法、系统、终端及存储介质 | |
CN112395282A (zh) | 一种图重构方法及装置 | |
CN108520025B (zh) | 一种服务节点确定方法、装置、设备及介质 | |
CN111106945B (zh) | 一种vnf实例化方法、装置、设备及存储介质 | |
CN110309367B (zh) | 信息分类的方法、信息处理的方法和装置 | |
CN115826845A (zh) | 存储资源的分配方法和装置、存储介质、电子装置 | |
WO2018222064A1 (en) | Systems and methods of hierarchical community detection in graphs | |
CN108521376B (zh) | 软件定义网络中基于属性相似性的流表设计方法 | |
CN111491039A (zh) | 一种分布式文件系统ip分配方法、系统、终端及存储介质 | |
CN110475271B (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 |