CN110719106B - 一种基于节点分类排序的社交网络图压缩方法及系统 - Google Patents
一种基于节点分类排序的社交网络图压缩方法及系统 Download PDFInfo
- Publication number
- CN110719106B CN110719106B CN201910923378.1A CN201910923378A CN110719106B CN 110719106 B CN110719106 B CN 110719106B CN 201910923378 A CN201910923378 A CN 201910923378A CN 110719106 B CN110719106 B CN 110719106B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- degree
- social network
- entry
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006835 compression Effects 0.000 title claims abstract description 37
- 238000007906 compression Methods 0.000 title claims abstract description 37
- 238000012163 sequencing technique Methods 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000003860 storage Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 5
- 230000006855 networking Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 5
- 238000005065 mining Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011451 sequencing strategy Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于节点分类排序的社交网络图压缩方法及系统,属于大数据处理领域,包括:获得社交网络图中各节点的入度,以获得其中的零入度节点,将入度最高的前top‑k节点作为高入度节点,将其余节点作为社区节点;将高入度节点划分为不同的领域,并将相同领域内的高入度节点排序到一起;将社区节点划分为不同社区,并将相同社区内的社区节点排序到一起;将所有零入度节点一起排序到末尾;根据排序后的节点建立图邻接矩阵,并将每一行中连续的b个比特作为一个比特行;对于每一个节点,仅对其出邻居节点所在的比特行进行存储并进行固定长度的编码,从而完成对社交网络图的压缩。本发明能够保证图计算任务的运行性能并提高社交网络图的压缩率。
Description
技术领域
本发明属于大数据处理领域,更具体地,涉及一种基于节点分类排序的社交网络图压缩方法及系统。
背景技术
社交网络通常由个人或组织等社会实体组成,这些社会实体通过某些特定类型的相互依赖性(如亲属关系、朋友关系、财务关系、利益关系等)产生关联。在万维网的推动下,社交网络平台陆续出现,国外的社交平台如Facebook、Twitter、LinkedIn、Instagram、Youtube等,国内的社交平台如QQ、微信、新浪微博、豆瓣、百度贴吧等。社交网络使得人们使用互联网的方式从简单的网页浏览和信息搜索转向更加多样化的结交好友、加入社区、分享内容等等。它丰富了人与人之间沟通交流的方式,也影响着人们的生活,成为维系社会关系的重要工具,如今已经是人们生活中的重要组成部分。
随着社交网络的多元化发展和对人们生活的不断深入,社交网络包含了各行各业的数据,创造了大量具有高价值的信息,在社会学、传播学、行为学、心理学等众多领域都引起了广泛关注。但是信息的重要价值隐藏在复杂的分析算法背后,于是基于社交网络的分析和研究不断涌现,试图了解社交网络的结构与演化、群体与互动、信息与传播规律,例如,社区发现、链接预测、社交推荐、影响力分析等。在实际中,往往将社交网络建模成一个图,以实现对社交网络的存储和分析。在社交网络图中,每个社会实体可以看作是一个节点,实体之间的关系可以看作是一条边。随着社交网络用户的不断增长,社交网络图也越来越大,这给社交网络的存储和分析都带来了挑战。
为了应对上述挑战,图压缩算法应运而生。图压缩算法包括节点排序和编码两个阶段,用于挖掘可压缩冗余,编码阶段用于消除冗余。现有面向社交网络图应节点排序阶段用的压缩算法多种多样,然后有的采用复杂编码技术提升压缩率但无法保证图计算任务的运行性能、有的采用简单编码技术保证图计算任务的运行性能但牺牲了压缩率,无法兼顾二者。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于节点分类排序的社交网络图压缩方法及系统,其目的在于,在保证图计算任务运行性能的情况下,提高社交网络图的压缩率。
为实现上述目的,按照本发明的第一方面,提供了一种基于节点分类排序的社交网络图压缩方法,包括:
获得社交网络图中各节点的入度,以获得其中的零入度节点以及入度最高的前top-k节点,将入度最高的前top-k个节点作为高入度节点,并将零入度节点和高入度节点之外的节点作为社区节点;
根据入邻居节点的相似性将高入度节点划分为不同的领域,并将相同领域内的高入度节点排序到一起;通过社区发现将社区节点划分为不同社区,并将相同社区内的社区节点排序到一起;将所有的零入度节点一起排序到末尾;
根据排序后的节点建立社交网络图的图邻接矩阵,并将图邻接矩阵的每一行中连续的b个比特作为一个比特行,从而将图邻接矩阵的每一个行划分为一个比特行序列;
对于每一个节点,仅对其出邻居节点所在的比特行进行存储并进行固定长度的编码,从而完成对社交网络图的压缩;
其中,top-k为预设的高入度节点数,固定长度编码的编码长度为b。
社交网络具有无标度、社区结构、链接互惠性质。根据社交网络图的性质,少数高入度的枢纽节点具有多数边,这些边位于图邻接矩阵非对角区域,影响着非对角区域的局部性;低度的社区节点聚集为多个社区,社区内的边位于图邻接矩阵对角区域,会影响图邻接矩阵对角区域的局部性,社区内联系越紧密,图邻接矩阵对角区域的局部性会更好;零入度节点不存在于其他节点的邻居中,如果这些节点不连续,会分散图节点的其他邻居,降低局部性。
本发明在节点排序阶段,根据节点的入度信息,将社交网图中的节点划分为高入度节点、社区节点和零入度节点这三类节点,并针对不同类别的节点采用不同的排序策略进行排序,将相同领域内的高入度节点排序在一起,相同社区内的社区节点排序在一起,并将所有的零入度节点一起排序到末尾,由此能够充分挖掘图邻接矩阵对角区域和非对角区域的局部性,使得节点排序后的社交网络图呈现出良好的局部性,具有大量可消除冗余,扩大可压缩范围,提高了社交网络图的压缩率;同时本发明在编码阶段,采用固定长度编码,并且仅编码必要信息以减小需要的存储空间需求,从而保证了后续的图计算任务可以高效的执行。总的来说,本发明能够在保证图计算任务运行性能的情况下,提高社交网络图的压缩率。
进一步地,获得社交网络图中入度最高的前top-k节点作为高入度节点,其方法包括:
利用Timsort排序算法,按照入度降序的顺序对社交网络图中的节点进行排序,将排序后最靠前的top-k个节点确定为社交网络图中的高入度节点。
Timsort是一种快速稳定的自适应排序算法,是起源于归并排序和插入排序的混合排序算法,最好情况下的时间复杂度是O(n),最差情况下的时间复杂度是O(nlogn);本发明在对节点进行分类时,采用Timsort排序算法对节点进行排序,能够快速完成节点分类,并保证分类结果的稳定性。
进一步地,根据入邻居节点的相似性将高入度节点划分为不同的领域,包括:
为每个高入度节点计算多个MinHash特征值,并将每一个高入度节点的多个MinHash特征值划分为多组特征值;
根据高入度节点的MinHash特征值,通过LSH算法将各高入度节点映射到哈希桶中,在映射的过程中,若任意两个高入度节点之间存在一组完全相同的特征值,则将这两个高入度节点映射到同一个哈希桶中;
所有高入度节点均被映射到哈希桶之后,由每一个哈希桶中的高入度节点构成一个领域。
MinHash是一种快速估计两个集合相似程度的技术,用于检测重复的网页并将其从搜索结果中删除,也被应用于大规模的聚类问题,例如通过它们的单词集合的相似度来聚类文档;MinHash不计算所有节点的相似度,而是以快速估计为目标,对相似度计算进行降维,对每个节点用一种Hash函数计算特征值,通过特征值比较其相似度,计算出的相似度和Jaccard相似度相同,但MinHash可以缩短计算时间。LSH(Locality Sensitive Hashing,局部敏感哈希)是一种用于海量高维数据的近似最近邻居快速查找技术,用来做近似查询,将邻居相似的节点聚集到一起,减小查找范围,避免比较邻居不相似的节点。
本发明结合MinHash和LSH将高入度节点划分为不同的领域,能够将入邻居节点相似的高入度节点映射到相同的哈希桶中,同时缩短领域划分时间,从而能够快速、准确地完成对高入度节点的排序。
进一步地,对高入度节点进行排序时,每一个哈希桶中,被排序的节点数量为b的正整数倍,且未被排的节点数量小于b;
将所有未被排序的高入度节点回退为社区节点,参与社区节点的排序。
本发明根据固定长度编码的编码长度对同一领域中高入度节点的数量进行调整,能够为后续编码阶段的处理提供便利,避免发生偏移。
进一步地,将社区节点划分为不同社区,所采用的社区发现算法是LPA算法。
LPA算法利用网络结构指导标签传播,这个过程无需任何优化函数,而且算法初始化之前是不需要知道社区的个数的,而且LPA算法具有线性时间的复杂度,是一种快速有效的社区发现算法;在LPA算法中,每个节点采用在邻居中更频繁出现的标签会使得网络中的每个节点选择加入最大的邻近社区,从而产生一个巨大的稀疏的社区,这会影响社区划分的效果;而在本发明中,当去掉高入度节点和零入度节点以及它们关联的边后,剩余的子图会因为高入度节点所在边的断裂而具有很多非连通组件,社区之间的关系更加微弱,社区的划分也会更清晰,从而避免产生巨大的稀疏社区;因此,在本发明中,利用LPA算法既能够快速有效地完成社区发现,还能获得较好的社区划分结果。
进一步地,对社区进行排序时,优先排序大小为r*b的社区;
其中,r为正整数。
本发明根据固定编码的编码长度确定社区的排序优先级,能够为后续编码阶段的处理提供便利,避免发生偏移。
进一步地,对于每一个节点,其存储其出邻居节点所在的比特行的存储格式为<偏移,内容>二元组,其中,偏移用于计算比特行在相应的矩阵行中的起始偏移量,内容为构成比特行的比特序列。
进一步地,还包括:
在图计算任务中,从压缩后的社交网络图中读取当前节点的邻居节点所在的比特行并进行解码,以得到比特行的二元组,根据二元组中的偏移和内容恢复出当前节点的邻居节点id;根据当前节点的邻居节点id完成图计算任务。
按照本发明的第二方面,提供了一种基于节点分类排序的社交网络图压缩系统,包括处理器和计算机可读存储介质,计算机可读存储介质用于存储计可执行程序;
处理器用于读取计算机可读存储介质中存储的可执行程序,执行本发明第一方面提供的基于节点分类排序的社交网络图压缩方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的基于节点分类排序的社交网络图压缩方法及系统,节点排序阶段,根据节点的入度信息,将社交网图中的节点划分为高入度节点、社区节点和零入度节点这三类节点,并针对不同类别的节点采用不同的排序策略进行排序,能够充分挖掘图邻接矩阵对角区域和非对角区域的局部性,使得节点排序后的社交网络图呈现出良好的局部性,具有大量可消除冗余,扩大可压缩范围,提高了社交网络图的压缩率;在编码阶段,采用固定长度编码,并且仅编码必要信息以减小需要的存储空间需求,从而保证了后续的图计算任务可以高效的执行。因此,本发明能够在保证图计算任务运行性能的情况下,提高社交网络图的压缩率。
(2)本发明所提供的基于节点分类排序的社交网络图压缩方法及系统,节点排序阶段,结合MinHash和LSH将高入度节点划分为不同的领域,能够将入邻居节点相似的高入度节点映射到相同的哈希桶中,同时缩短领域划分时间,从而能够快速、准确地完成对高入度节点的排序。
(3)本发明所提供的基于节点分类排序的社交网络图压缩方法及系统,在对高入度节点的领域进行排序时,根据固定长度编码的编码长度对同一领域中高入度节点的数量进行调整,能够为后续编码阶段的处理提供便利,避免发生偏移。
(4)本发明所提供的基于节点分类排序的社交网络图压缩方法及系统,在对社区节点的社区进行排序时,根据固定编码的编码长度确定社区的排序优先级,能够为后续编码阶段的处理提供便利,避免发生偏移。
附图说明
图1为本发明实施例提供的基于节点分类排序的社交网络压缩方法的执行及应用示意图;
图2为本发明实施例提供的零入度节点排序示意图;其中,(a)为对零入度节点排序前的示意图,(b)为对零入度节点排序后的示意图;
图3为本发明实施例提供的高入度节点排序方法流程图;
图4为本发明实施例提供的社区节点排序方法流程图;
图5为本发明实施例提供的编码示意图;其中,(a)为编码前格式,(b)为节点排序后的图邻接矩阵,(c)为编码后格式。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
社交网络具有无标度、社区结构、链接互惠性质。根据社交网络图的性质,少数高入度的枢纽节点具有多数边,这些边位于图邻接矩阵非对角区域,影响着非对角区域的局部性;低度的社区节点聚集为多个社区,社区内的边位于图邻接矩阵对角区域,会影响图邻接矩阵对角区域的局部性,社区内联系越紧密,图邻接矩阵对角区域的局部性会更好;零入度节点不存在于其他节点的邻居中,如果这些节点不连续,会分散图节点的其他邻居,降低局部性。现有的社交网络图压缩方法,对于社交网络图中的局部性挖掘不够充分,因此,在图计算任务的执行效率和图压缩率之间无法二者兼顾。
为了在保证图计算任务运行性能的情况下,提高社交网络图的压缩率,本发明实施例提供的基于节点分类排序的社交网络图压缩方法,如图1所示,包括:
获得社交网络图中各节点的入度,以获得其中的零入度节点以及入度最高的前top-k节点,将入度最高的前top-k个节点作为高入度节点,并将零入度节点和高入度节点之外的节点作为社区节点;
根据入邻居节点的相似性将高入度节点划分为不同的领域,并将相同领域内的高入度节点排序到一起,由此能够充分挖掘社交网络图的图邻接矩阵中非对角区域的局部性;
通过社区发现将社区节点划分为不同社区,并将相同社区内的社区节点排序到一起,由此能够充分挖掘社交网络图中对角区域的局部性;
将所有的零入度节点一起排序到末尾,通过将零入度节点集中排序到末尾,能够避免零入度节点分散图节点的其他邻居;如图2所示,若图中存在四个零入度节点(1,4,6,7),节点出邻居零散分布在整个邻接矩阵,将零入度节点集中排序到末尾后,节点邻居分布在邻接矩阵的左侧,节点邻居的分布更加紧凑,节点邻居的间隔更小,局部增增强;
根据排序后的节点建立社交网络图的图邻接矩阵,并将图邻接矩阵的每一行中连续的b个比特作为一个比特行,从而将图邻接矩阵的每一个行划分为一个比特行序列;排序后的图已经呈现局部性,可以挖掘出可消除冗余;
对于每一个节点,仅对其出邻居节点所在的比特行进行存储并进行固定长度的编码,从而完成对社交网络图的压缩;仅编码必要信息可以减小需要的存储空间需求;
其中,top-k为预设的高入度节点数,固定长度编码的编码长度为b;对具有局部性的图,节点出邻居将很可能集中位于少量的比特行序列,仅存储节点出邻居所在的bit行序列,可以有效减少需要存储的内容,比特行序列的长度b应根据实际的社交网络特性设定,若设置过小,将导致需要存储的偏移过多,而设置过大,则会导致存储过多冗余的比特“0”元素,在本发明实施例中,将比特行的长度设为8字节(64bits),但仍将bit行序列长度设置为可调参数b;编码过程中需要将节点的每个出邻居映射到比特行序列的对应比特位,相当于对每条边进行一次计算,时间复杂度为O(m)。
作为一个优选的实施方式,在本发明实施例中,获得社交网络图中入度最高的前top-k节点作为高入度节点,其方法包括:
利用Timsort排序算法,按照入度降序的顺序对社交网络图中的节点进行排序,将排序后最靠前的top-k个节点确定为社交网络图中的高入度节点;由此能够快速完成节点分类,并保证分类结果的稳定性。
作为一个优选的实施方式,在本发明实施例中,根据入邻居节点的相似性将高入度节点划分为不同的领域,如图3所示,包括:
为每个高入度节点计算多个MinHash特征值,并将每一个高入度节点的多个MinHash特征值划分为多组特征值;
根据高入度节点的MinHash特征值,通过LSH算法将各高入度节点映射到哈希桶中,在映射的过程中,若任意两个高入度节点之间存在一组完全相同的特征值,则将这两个高入度节点映射到同一个哈希桶中;
所有高入度节点均被映射到哈希桶之后,由每一个哈希桶中的高入度节点构成一个领域;
通过结合MinHash和LSH将高入度节点划分为不同的领域,能够将入邻居节点相似的高入度节点映射到相同的哈希桶中,同时缩短领域划分时间,从而能够快速、准确地完成对高入度节点的排序;
由于在编码阶段采用固定长度编码,在本发明实施例中,在排序阶段,对高入度节点进行排序时,每一个哈希桶中,被排序的节点数量为b的正整数倍,且未被排的节点数量小于b;
将所有未被排序的高入度节点回退为社区节点,参与社区节点的排序。
根据固定长度编码的编码长度对同一领域中高入度节点的数量进行调整,能够为后续编码阶段的处理提供便利,避免发生偏移。
为了快速有效地完成社区发现,同时获得较好的社区划分结果,在本发明实施例中,将社区节点划分为不同社区,所采用的社区发现算法是LPA算法;由于当去掉高入度节点和零入度节点以及它们关联的边后,剩余的子图会因为高入度节点所在边的断裂而具有很多非连通组件,社区之间的关系更加微弱,社区的划分也会更清晰,从而避免产生巨大的稀疏社区;因此,在此利用LPA算法既能够快速有效地完成社区发现,还能获得较好的社区划分结果;使用LPA算对社区节点进行排序时,具体的执行流程如图4所示;
由于在编码阶段采用固定长度编码,在本发明实施例中,在排序阶段,对社区进行排序时,优先排序大小为r*b(r为正整数)的社区;
根据固定编码的编码长度确定社区的排序优先级,能够为后续编码阶段的处理提供便利,避免发生偏移。
在本发明实施例中,对于每一个节点,其存储其出邻居节点所在的比特行的存储格式为<偏移,内容>二元组,其中,偏移用于计算比特行在相应的矩阵行中的起始偏移量,内容为构成比特行的比特序列。
图5所示为一个编码的具体示例,其中,共包括9个节点,编号依次为0~8,每个比特行的长度为b=4,进行编码前,各节点的邻居信息如图5(a)所示;根据排序后的节点所建立社交网络图的图邻接矩阵如图5(b)所示,其中,每一行对应一个节点的出邻居节点信息,其中“0”表示对应的节点不是当前节点的邻居节点,“1”表示对应的节点是当前节点的邻居节点,每一行中全零的比特行没有示出;经过固定长度编码之后,编码结果如图5(c)所示,对于每一个节点仅存储其邻居节点所在的比特行,即每一行中仅存储含比特“1”的比特行,每一个比特行的存储格式为<偏移,内容>二元组,偏移用于指示比特行在相应的矩阵行中的偏移量,内容为构成比特行的比特序列,根据比特行的偏移和内容可以恢复出邻居节点的id;例如,在图5(c)中,节点6的出邻居节点所在的比特行共两个,分别是<0,(0101)2>和<1,(1000)2>,第一个比特行的偏移为0,内容为“0101”,根据偏移可知该比特行在第6行的起始偏移位置为0,该比特行所对应的节点中,第1个和第3个为节点6的出邻居节点,相应地,节点6的出邻居节点序号为1和3;第二个比特行的偏移为1,内容为“1000”,根据偏移可知该比特行在第6行的起始偏移位置为1*b=4,该比特行对应的节点中,第0个为节点6的出邻居节点,相应地,节点6的出邻居节点序号为4;获得邻居节点的序号后,根据节点分类排序前后的节点映射表即可恢复出邻居节点的id。
基于上述社交网络图压缩方法,如图1所示,在处理图计算任务是,还包括:
在图计算任务中,从压缩后的社交网络图中读取当前节点的邻居节点所在的比特行并进行解码,以得到比特行的二元组,根据二元组中的偏移和内容恢复出当前节点的邻居节点id;根据当前节点的邻居节点id完成图计算任务,即利用收集到的邻居节点信息进行计算并更新当前节点的数据,利用计算结果更新当前节点的邻居节点的数据,重复以上收集邻居信息、更新当前节点的数据以及更新邻居节点的数据的操作,直至节点数据不再变化。
按照本发明的第二方面,提供了一种基于节点分类排序的社交网络图压缩系统,包括处理器和计算机可读存储介质,计算机可读存储介质用于存储计可执行程序;
处理器用于读取计算机可读存储介质中存储的可执行程序,执行上述基于节点分类排序的社交网络图压缩方法。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于节点分类排序的社交网络图压缩方法,其特征在于,包括:
获得社交网络图中各节点的入度,以获得其中的零入度节点以及入度最高的前top-k节点,将入度最高的前top-k个节点作为高入度节点,并将零入度节点和高入度节点之外的节点作为社区节点;
根据入邻居节点的相似性将高入度节点划分为不同的领域,并将相同领域内的高入度节点排序到一起;通过社区发现将社区节点划分为不同社区,并将相同社区内的社区节点排序到一起;将所有的零入度节点一起排序到末尾;
根据排序后的节点建立所述社交网络图的图邻接矩阵,并将所述图邻接矩阵的每一行中连续的b个比特作为一个比特行,从而将所述图邻接矩阵的每一个行划分为一个比特行序列;
对于每一个节点,仅对其出邻居节点所在的比特行进行存储并进行固定长度的编码,从而完成对所述社交网络图的压缩;
其中,top-k为预设的高入度节点数,固定长度编码的编码长度为b。
2.如权利要求1所述的基于节点分类排序的社交网络图压缩方法,其特征在于,获得社交网络图中入度最高的前top-k节点作为高入度节点,其方法包括:
利用Timsort排序算法,按照入度降序的顺序对所述社交网络图中的节点进行排序,将排序后最靠前的top-k个节点确定为社交网络图中的高入度节点。
3.如权利要求1或2所述的基于节点分类排序的社交网络图压缩方法,其特征在于,根据入邻居节点的相似性将高入度节点划分为不同的领域,包括:
为每个高入度节点计算多个MinHash特征值,并将每一个高入度节点的多个MinHash特征值划分为多组特征值;
根据高入度节点的MinHash特征值,通过LSH算法将各高入度节点映射到哈希桶中,在映射的过程中,若任意两个高入度节点之间存在一组完全相同的特征值,则将这两个高入度节点映射到同一个哈希桶中;
所有高入度节点均被映射到哈希桶之后,由每一个哈希桶中的高入度节点构成一个领域。
4.如权利要求3所述的基于节点分类排序的社交网络图压缩方法,其特征在于,对高入度节点进行排序时,每一个哈希桶中,被排序的节点数量为b的正整数倍,且未被排的节点数量小于b;
将所有未被排序的高入度节点回退为社区节点,参与社区节点的排序。
5.如权利要求1或2所述的基于节点分类排序的社交网络图压缩方法,其特征在于,将社区节点划分为不同社区,所采用的社区发现算法是LPA算法。
6.如权利要求1或2所述的基于节点分类排序的社交网络图压缩方法,其特征在于,对社区进行排序时,优先排序大小为r*b的社区;
其中,r为正整数。
7.如权利要求1或2所述的基于节点分类排序的社交网络图压缩方法,其特征在于,对于每一个节点,其存储其出邻居节点所在的比特行的存储格式为<偏移,内容>二元组,其中,偏移用于计算比特行在相应的矩阵行中的起始偏移量,内容为构成比特行的比特序列。
8.如权利要求7所述的基于节点分类排序的社交网络图压缩方法,其特征在于,还包括:
在图计算任务中,从压缩后的社交网络图中读取当前节点的邻居节点所在的比特行并进行解码,以得到比特行的二元组,根据所述二元组中的偏移和内容恢复出当前节点的邻居节点id;根据当前节点的邻居节点id完成图计算任务。
9.一种基于节点分类排序的社交网络图压缩系统,包括处理器和计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计可执行程序;
所述处理器用于读取所述计算机可读存储介质中存储的可执行程序,执行权利要求1-8任一项所述的基于节点分类排序的社交网络图压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923378.1A CN110719106B (zh) | 2019-09-27 | 2019-09-27 | 一种基于节点分类排序的社交网络图压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923378.1A CN110719106B (zh) | 2019-09-27 | 2019-09-27 | 一种基于节点分类排序的社交网络图压缩方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110719106A CN110719106A (zh) | 2020-01-21 |
CN110719106B true CN110719106B (zh) | 2021-08-31 |
Family
ID=69211978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910923378.1A Active CN110719106B (zh) | 2019-09-27 | 2019-09-27 | 一种基于节点分类排序的社交网络图压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110719106B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274457B (zh) * | 2020-02-03 | 2023-12-19 | 中国人民解放军国防科技大学 | 一种网络图分割方法及存储介质 |
CN112073221B (zh) * | 2020-08-14 | 2022-08-16 | 合肥本源量子计算科技有限责任公司 | 一种实现网络节点排序的方法及装置 |
CN113037705B (zh) * | 2020-12-30 | 2022-07-15 | 智网安云(武汉)信息技术有限公司 | 一种网络终端端口扫描方法及网络终端端口扫描系统 |
CN115116593B (zh) * | 2022-08-29 | 2022-11-11 | 山东新蓝海科技股份有限公司 | 基于大数据的社区医护调度方法 |
CN115438205B (zh) * | 2022-11-08 | 2023-01-13 | 深圳长江家具有限公司 | 用于离线终端的知识图谱压缩存储方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100595764C (zh) * | 2008-01-09 | 2010-03-24 | 王珊 | 利用连接表压缩数据图的方法和设备 |
CN101388024B (zh) * | 2008-10-09 | 2010-11-10 | 浙江大学 | 一种基于复杂网络的压缩空间高效搜索方法 |
US20150019592A1 (en) * | 2012-03-13 | 2015-01-15 | Kent State University | Systems, methods and software for computing reachability in large graphs |
CN102968804B (zh) * | 2012-11-23 | 2015-04-29 | 西安工程大学 | 对稀疏有向图的邻接矩阵进行压缩存储的方法 |
US20150006241A1 (en) * | 2013-06-27 | 2015-01-01 | Hewlett-Packard Development Company, L.P. | Analyzing participants of a social network |
CN103701469B (zh) * | 2013-12-26 | 2016-08-31 | 华中科技大学 | 一种大规模图数据的压缩存储方法 |
US9747513B2 (en) * | 2015-09-17 | 2017-08-29 | International Business Machines Corporation | Path compression of a network graph |
CN107016048A (zh) * | 2017-02-24 | 2017-08-04 | 中国水利水电科学研究院 | 基于追赶法求解圣维南方程组的树状河网智能搜索方法 |
US10593080B2 (en) * | 2017-04-27 | 2020-03-17 | Daegu Gyeongbuk Institute Of Science And Technology | Graph generating method and apparatus |
US10585944B2 (en) * | 2017-07-06 | 2020-03-10 | International Business Machines Corporation | Directed graph compression |
-
2019
- 2019-09-27 CN CN201910923378.1A patent/CN110719106B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110719106A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及系统 | |
Yun et al. | Incremental mining of weighted maximal frequent itemsets from dynamic databases | |
Lee et al. | Sliding window based weighted maximal frequent pattern mining over data streams | |
Yun et al. | Mining maximal frequent patterns by considering weight conditions over data streams | |
US20190179615A1 (en) | Community discovery method, device, server and computer storage medium | |
Pyun et al. | Mining top-k frequent patterns with combination reducing techniques | |
CN113612749B (zh) | 一种面向入侵行为的溯源数据聚类方法及装置 | |
US20090193044A1 (en) | Web graph compression through scalable pattern mining | |
CN107895038B (zh) | 一种链路预测关系推荐方法及装置 | |
CN108322428B (zh) | 一种异常访问检测方法及设备 | |
CN111428323A (zh) | 复杂网络中利用广义折扣度与k-shell识别一组关键节点的方法 | |
Ebadian et al. | Fast algorithm for k-truss discovery on public-private graphs | |
Yun et al. | Efficient mining of maximal correlated weight frequent patterns | |
Sim et al. | Mining maximal quasi-bicliques to co-cluster stocks and financial ratios for value investment | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
Gao et al. | Real-time social media retrieval with spatial, temporal and social constraints | |
Yoo et al. | Sampling subgraphs with guaranteed treewidth for accurate and efficient graphical inference | |
US20200104425A1 (en) | Techniques for lossless and lossy large-scale graph summarization | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
Khan et al. | Set-based unified approach for attributed graph summarization | |
Seo et al. | An effective graph summarization and compression technique for a large-scaled graph | |
Huang et al. | Discovering association rules with graph patterns in temporal networks | |
Iqbal et al. | An effective community-based link prediction model for improving accuracy in social networks | |
CN108198084A (zh) | 一种复杂网络重叠社区发现方法 | |
CN111028092A (zh) | 基于Louvain算法的社区发现方法、计算机设备及其可读存储介质 |
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 |