CN112528087B - 一种网络系统中基于大同步模型的图顶点并行重编码方法 - Google Patents
一种网络系统中基于大同步模型的图顶点并行重编码方法 Download PDFInfo
- Publication number
- CN112528087B CN112528087B CN202011400390.3A CN202011400390A CN112528087B CN 112528087 B CN112528087 B CN 112528087B CN 202011400390 A CN202011400390 A CN 202011400390A CN 112528087 B CN112528087 B CN 112528087B
- Authority
- CN
- China
- Prior art keywords
- vertex
- new
- input
- graph
- update
- 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
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
- 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/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络系统中基于大同步模型的图顶点并行重编码方法,包括:各任务将输入图的顶点Id发送给出度顶点,并统计各自的输入顶点数量写入总同步目录;各任务根据总同步目录记录的各任务输入顶点数量,顺序递增更新原顶点Id,同时建立新旧Id映射,然后根据接收消息建立各顶点的输入顶点集合,最后以新Id作为消息值,根据输入顶点集合进行反向发送;各顶点根据新旧顶点Id映射,将收到的新顶点Id汇总为新的输出边集合。本发明能够避免顶点不规则编码带来的存储资源浪费和低效计算等问题,同时不影响原图的结构关系,在图计算技术领域具有广泛的实用价值和应用前景。
Description
技术领域
本发明属于计算机技术领域,具体涉及并行环境下基于大同步模型的一种图顶点重编码方法。
背景技术
近年来,图计算被越来越多的应用于社会关系计算、网络搜索、自然语言处理、机器学习以及推荐系统等领域。随着图数据集的规模和复杂性不断增长,如何设计高效的面向分布式环境的图计算模型越来越受到人们的关注。针对该问题,Google提出了Pregel模型,其借鉴了BSP(Bulk Synchronous Parallel,BSP)模型中的大同步计算和通信思想,提出“以顶点为中心”,通过将顶点计算表达为一系列的超步(super-step),在每次超步计算中,各顶点收到前次超步发送的消息,使用基于用户自定义的顶点更新函数更新顶点值,并向其邻居顶点发送消息。超步间通过全局路障以进行任务同步。Giraph是Apache组织开发的一个基于Pregel模型的开源分布式图计算框架,利用Hadoop RPC进行节点间通信,借助于ZooKeeper进行同步,通过对消息进行收集和合并发送来降低网络开销和竞争。
然而,在真实世界的图中,顶点Id和边往往具备现实的物理意义,如社交网络图中顶点Id和边分别代表用户和关注关系。而路由拓扑图中,顶点和边则分别代表路由节点和网络通道。然而,由于脏数据或者数据处理方式等原因,原始图文件中顶点Id编码通常并不连续甚至差距较大,导致如顶点存储空间浪费,计算效率低下等问题。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种网络系统中基于大同步模型的图顶点并行重编码方法,使得原输入图顶点Id在存在乱序、漏点和编码不连续等问题的场景下,能够重新编码为顶点Id有序且连续的集合,同时不影响原图的结构关系,避免顶点不规则编码带来的存储资源浪费和低效计算等问题,可适用于含权重或者不含权重的有向(无向)图。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种网络系统中基于大同步模型的图顶点并行重编码方法,包括以下步骤:
步骤201:各任务将输入图的顶点Id以消息的形式发送给对应的出度顶点,并统计任务输入顶点数量后写入任务间总同步目录,其中,顶点Id代表路由节点,边代表路网络通道。
步骤202:各任务根据步骤201中总同步目录记录的输入顶点数量,顺序递增更新原顶点Id,同时建立新旧顶点Id映射,然后根据步骤201的消息建立各顶点的输入顶点集合,最后以新Id作为消息值,根据输入顶点集合进行反向发送。
步骤203:各顶点根据步骤202建立的新旧顶点Id映射,将收到的新顶点Id汇总为新的输出边集合。
步骤204:各任务输出新的顶点及输出边集合。
优选的:步骤201中的出度顶点,指的是以某顶点为弧头的有向边的目标顶点,由于无向图中一条无向边可视为双向边,因此两端顶点可互为出度顶点。
优选的:步骤201中任务间总同步目录指的是一个分布式目录文件,用于各任务并发的记录各自的输入顶点数量。
优选的:步骤202中的新旧顶点Id映射,指的是一种表形式的存储结构,用于在消息接收时查询对应的旧顶点Id。
本发明相比现有技术,具有以下有益效果:
在图数据存在乱序、漏点和编码不连续等问题的场景下,仅需执行四次超步即可将原图重新编码为顶点Id有序且连续的集合,且不会影响原图的结构关系,可有效解决顶点不规则编码带来的存储资源浪费和低效计算等问题。
附图说明
图1是本发明的并行环境下基于大同步模型的软件架构示意图。
图2是并行环境下图顶点重编码方法的流程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明一种网络系统中基于大同步模型的图顶点并行重编码方法运行环境条件见图1,主要包括一个主任务和多个子任务,任务通常是一个进程。并行环境下,考虑到主任务和子任务间的进程通信需求,通常既可以在单机环境下,也可以在分布式环境下,主任务与子任务通过远程过程调用(RPC)方式交互。
本发明在软件环境上,要求各节点采用Linux操作系统,安装有Java运行环境1.6及以上版本,同时各节点能够通过ssh无密码登录。
设原始顶点Id为i,更新后的顶点Id为i’,顶点vi的入度邻居为InNeighbor(vi),出度邻居为OutNeighbor(vi),顶点id更新函数为update(vi),入度/出度更新函数为update(InNeighbor(vi)/OutNeighbor(vi)),消息发送函数为sendmsg(),新旧顶点映射函数为mapping(),最终顶点及边的输出函数为ouput(vi),则本算法可表示如下:
update(vi,vi’);mapping(i,i’);
sendmsg(i’)->InNeighbor(vi’);
具体流程如图2所示,主要包括:步骤201各任务发送出度顶点并统计各自输入顶点数写入总同步目录,顶点Id代表路由节点,边代表路网络通道。步骤202各任务根据输入顶点数量,顺序递增更新原顶点Id,同时建立新旧Id映射,然后根据输入消息建立各顶点的输入顶点集合,最后以新Id作为消息值,根据输入顶点集合进行反向发送。步骤203各顶点根据步骤202中建立的新旧顶点Id映射,将收到的新顶点Id汇总为新的输出边集合。步骤204各任务输出新的顶点和输出边集合。
步骤201中,输入图的顶点在首轮超步计算前,使用了域划分算法对输入顶点进行划分,同时使用了顺序顶点容器以确保任务内顶点能够按序遍历。
步骤201,202,203中,对于无向图,可作为双向的有向图进行发送,对于含有权重的输出边,在向输出顶点发送时,将目标顶点Id和边的权重合并成字符串,通过间隔符区分,接收时同样根据间隔符进行消息解析和汇总。
本发明对图数据中顶点Id进行重编码以确保图顶点Id有序且连续,能够避免顶点不规则编码带来的存储资源浪费和低效计算等问题,同时不影响原图的结构关系,可适用于含权重或者不含权重的有向(无向)图,在图计算技术领域具有广泛的实用价值和应用前景。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种网络系统中基于大同步模型的图顶点并行重编码方法,其特征在于,包括以下步骤:
步骤201:各任务将输入图的顶点Id以消息的形式发送给对应的出度顶点,并统计任务输入顶点数量后写入任务间总同步目录,其中,顶点Id代表路由节点,边代表路网络通道;出度顶点指的是以某顶点为弧头的有向边的目标顶点,在无向图中两端顶点互为出度顶点;任务间总同步目录指的是一个分布式目录文件,用于各任务并发的记录各自的输入顶点数量;
步骤202:各任务根据步骤201中总同步目录记录的输入顶点数量,顺序递增更新原顶点Id,同时建立新旧顶点Id映射,然后根据步骤201的消息建立各顶点的输入顶点集合,最后以新Id作为消息值,根据输入顶点集合进行反向发送;新旧顶点Id映射指的是一种表形式的存储结构,用于在消息接收时查询对应的旧顶点Id;
步骤203:各顶点根据步骤202建立的新旧顶点Id映射,将收到的新顶点Id汇总为新的输出边集合;
步骤204:各任务输出新的顶点及输出边集合;
原始顶点Id为i,更新后的顶点Id为i’,顶点vi的入度邻居为InNeighbor(vi),出度邻居为OutNeighbor(vi),顶点id更新函数为update(vi),入度/出度更新函数为update(InNeighbor(vi)/OutNeighbor(vi)),消息发送函数为sendmsg(),新旧顶点映射函数为mapping(),最终顶点及边的输出函数为ouput(vi),则:
update(vi,vi’);mapping(i,i’);
sendmsg(i’)->InNeighbor(vi’);
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011400390.3A CN112528087B (zh) | 2020-12-01 | 2020-12-01 | 一种网络系统中基于大同步模型的图顶点并行重编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011400390.3A CN112528087B (zh) | 2020-12-01 | 2020-12-01 | 一种网络系统中基于大同步模型的图顶点并行重编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112528087A CN112528087A (zh) | 2021-03-19 |
CN112528087B true CN112528087B (zh) | 2023-06-20 |
Family
ID=74997430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011400390.3A Active CN112528087B (zh) | 2020-12-01 | 2020-12-01 | 一种网络系统中基于大同步模型的图顶点并行重编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528087B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104717A (zh) * | 2019-12-16 | 2020-05-05 | 华中科技大学 | 一种模具模块化细粒度同步设计方法及系统 |
CN111899334A (zh) * | 2020-07-28 | 2020-11-06 | 北京科技大学 | 一种基于点线特征的视觉同步定位与地图构建方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033476B (zh) * | 2016-05-19 | 2019-07-23 | 西安交通大学 | 一种云计算环境中分布式计算模式下的增量式图计算方法 |
-
2020
- 2020-12-01 CN CN202011400390.3A patent/CN112528087B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104717A (zh) * | 2019-12-16 | 2020-05-05 | 华中科技大学 | 一种模具模块化细粒度同步设计方法及系统 |
CN111899334A (zh) * | 2020-07-28 | 2020-11-06 | 北京科技大学 | 一种基于点线特征的视觉同步定位与地图构建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112528087A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9589069B2 (en) | Platform for continuous graph update and computation | |
US8521782B2 (en) | Methods and systems for processing large graphs using density-based processes using map-reduce | |
CN103699606B (zh) | 一种基于顶点切割与社区聚集的大规模图划分方法 | |
TW202131661A (zh) | 用於網路最佳化的裝置及方法、以及非暫時性電腦可讀媒體 | |
TWI735545B (zh) | 一種模型的訓練方法和裝置 | |
US11080281B2 (en) | Graph-based searching for data stream | |
CN111258978B (zh) | 一种数据存储的方法 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
US20160357807A1 (en) | Horizontal Decision Tree Learning from Very High Rate Data Streams | |
CN103440244A (zh) | 一种大数据存储优化方法 | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
US10698863B2 (en) | Method and apparatus for clearing data in cloud storage system | |
CN110308984A (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
WO2022001941A1 (zh) | 网元管理方法、网管系统、独立计算节点、计算机设备、存储介质 | |
JP2023534696A (ja) | ネットワークトポロジーにおけるアノマリー検知 | |
WO2023284387A1 (zh) | 基于联邦学习的模型训练方法、装置、系统、设备和介质 | |
KR20230024416A (ko) | 클라우드 플랫폼 간 가상 머신 마이그레이션 방법, 장치, 저장 매체 및 전자 장치 | |
US11153227B1 (en) | Managing communication between microservices | |
Li et al. | Wide-area spark streaming: Automated routing and batch sizing | |
CN112528087B (zh) | 一种网络系统中基于大同步模型的图顶点并行重编码方法 | |
KR102031589B1 (ko) | 관계 체인 처리 방법 및 시스템, 그리고 저장 매체 | |
US11895192B1 (en) | Managing subscriptions to resource updates made via a target interface | |
CN117194562A (zh) | 数据同步方法和装置、电子设备和计算机可读介质 | |
Pasteris et al. | Data distribution and scheduling for distributed analytics tasks | |
WO2023019712A1 (zh) | 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法 |
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 |