CN110769050B - 数据处理方法、数据处理系统、计算机设备及存储介质 - Google Patents

数据处理方法、数据处理系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN110769050B
CN110769050B CN201910995123.6A CN201910995123A CN110769050B CN 110769050 B CN110769050 B CN 110769050B CN 201910995123 A CN201910995123 A CN 201910995123A CN 110769050 B CN110769050 B CN 110769050B
Authority
CN
China
Prior art keywords
vertex
array
stored
computing
node
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
Application number
CN201910995123.6A
Other languages
English (en)
Other versions
CN110769050A (zh
Inventor
魏万敬
孙仕杰
于东海
高品
涂小刚
李本利
李永安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910995123.6A priority Critical patent/CN110769050B/zh
Publication of CN110769050A publication Critical patent/CN110769050A/zh
Application granted granted Critical
Publication of CN110769050B publication Critical patent/CN110769050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种数据处理方法、数据处理系统、计算机设备及存储介质,属于图计算技术领域。本申请实施例提供的方法,通过采用分布式架构的数据处理系统,由数据处理系统内的各个计算节点来存储部分图数据,并在编码阶段,在各个计算节点先进行一次聚合,再进行计算节点之间的顶点ID的交互,以完成第二次聚合,通过上述两次聚合过程,从而使得各个计算节点都能够存储有全量的顶点ID,则在解码阶段无需通信即可以完成解码,可降低整体的通信量,提高算法执行效率。

Description

数据处理方法、数据处理系统、计算机设备及存储介质
技术领域
本申请涉及图计算技术领域,特别涉及一种数据处理方法、数据处理系统、计算机设备及存储介质。
背景技术
图数据的编解码对图计算具有重要作用。一般而言,在常用的图数据处理过程中,图数据的编码和解码的流程通常为先进行图数据的顶点ID(Identity,编号)进行编码,随后执行具体业务场景下的图算法,最后将输出的数据进行解码。编解码具体是将图数据的顶点ID转换为与顶点数量相关的数据表示,以缩小顶点ID对应的数值范围,从而提高算法执行效率。
然而,图数据处理过程中的编解码,主要存在以下缺点:在大规模图场景下,由于需要较多的计算资源,而各个计算资源在进行编码时通常是单一计算资源进行,在解码过程中就需要各个计算资源之间进行通信,以获知各个编码后的顶点ID所对应的原始顶点ID,造成计算资源之间的通信量较为庞大,最终导致算法执行效率偏低。
发明内容
本申请实施例提供了一种数据处理方法、数据处理系统、计算机设备及存储介质,可以降低整体的通信量,提高计算效率。所述技术方案如下:
一方面,提供了一种数据处理方法,应用于数据处理系统中,所述数据处理系统包括多个计算节点,所述方法包括:
所述多个计算节点读取图数据;
所述多个计算节点分别确定计算节点所存储的图数据的顶点ID;
所述多个计算节点分别通过数据交互获取其他计算节点所存储的顶点ID;
所述多个计算节点将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;
所述多个计算节点基于所述数组进行图数据计算;
所述多个计算节点基于所述数组中数组条目以及数据条目的标号对图数据计算结果进行解码。
一方面,提供了一种数据处理系统,所述数据处理系统包括多个计算节点,
各个所述计算节点用于读取图数据,分别确定计算节点所存储的图数据的顶点ID,分别通过数据交互获取其他计算节点所存储的顶点ID,将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;基于所述数组进行图数据计算;基于所述数组中数组条目以及数据条目的标号对图数据计算结果进行解码。
在一种可能实现方式中,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
在一种可能实现方式中,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述计算节点将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述计算节点通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
在一种可能实现方式中,所述计算节点MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点
在一种可能实现方式中,所述计算节点还用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述方法还包括:销毁所述第二哈希表。
在一种可能实现方式中,所述多个计算节点分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
一方面,提供了一种数据处理装置,该装置包括:
读取模块,用于读取图数据;
确定模块,用于确定计算节点所存储的图数据的顶点ID;
获取模块,用于通过数据交互获取其他计算节点所存储的顶点ID;
顶点映射模块,用于将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;
计算模块,用于基于所述数组进行图数据计算;
解码模块,用于基于所述数组对图数据计算结果进行解码。
在一种可能实现方式中,所述确定模块用于枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
在一种可能实现方式中,所述获取模块用于枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述获取模块还用于将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述获取模块用于通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
在一种可能实现方式中,所述获取模块用于通过MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述装置还包括存储模块,用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述存储模块还用于销毁所述第二哈希表。
在一种可能实现方式中,所述解码模块用于根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现如上述数据处理方法中任一计算节点所执行的操作。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述数据处理方法中任一计算节点所执行的操作。
本申请实施例提供的技术方案,通过采用分布式架构的数据处理系统,由数据处理系统内的各个计算节点来存储部分图数据,并在编码阶段,在各个计算节点先进行一次聚合,再进行计算节点之间的顶点ID的交互,以完成第二次聚合,通过上述两次聚合过程,从而使得各个计算节点都能够存储有全量的顶点ID,则在解码阶段无需通信即可以完成解码,可降低整体的通信量,提高算法执行效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理系统的架构图;
图2是本申请实施例提供的一种数据处理方法的流程图;
图3是本申请实施例提供的一种数据处理装置结构示意图;
图4是本申请实施例提供的一种计算机设备的结构示意图;
图5是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
对本公开实施例提供的一些技术名词的简要解释如下:
图,是指一种基础的数据结构,它包含一系列的节点以及连接节点的边。生活中的许多实体以及实体之间的关系可以通过图上的点和边来直观表达,图可以应用于表示社交网络、通话网络、用户与产品之间的二分图、论文中作者之间的合作关系网、文章之间的索引关系、金融交易网络、一个地区的无线基站与云端各个服务器之间的交互、手游用户之间的数据交流关系等各种各样的实际应用场景中的关系,因此,通过对图数据进行处理,可以挖掘出图表示的实体所蕴含的规律。对于图数据来说,由于其数据总量庞大,通常会是百亿或千亿级别,因此,需要利用数据处理系统中的多个计算单元对其进行分别处理,从而完成对整个图数据的处理。
MPI:一个跨语言的通讯协议,用于编写并行计算程序。
编码:本公开实施例涉及到的图计算的编码是指将原始顶点ID由较大的值域空间映射至0至n-1,其中n为总顶点数。其中,原始顶点ID通常为32位无符号整数或64位无符号整数的值域。
解码:与编码含义相反,即将0至n-1映射回原始顶点ID。
以下,示例性介绍本申请的系统架构。
图1为本申请实施例提供的一种数据处理系统的架构图,该数据处理系统包括多个计算节点101,该多个计算节点101可以为终端102提供图数据处理服务,终端102用于向计算节点101发送计算请求,计算节点101用于接收终端102的计算请求,执行下述方法实施例提供的数据处理方法,将处理结果发送至终端102。
一个计算节点101可以包括一个或多个计算单元,不同计算单元可以执行下述方法实施例中相同或不同的步骤。在一些可能的实施例中,计算单元可以为物理设备;例如,计算单元可以是物理服务器、中央处理器(英文全称:central processing unit、英文简称:CPU)等。在另一些可能的实施例中,计算单元可以为虚拟化设备;例如,计算单元可以是虚拟机、容器、pod(pod是指Kubernetes中运行、管理、编排容器化应用时的基本单位)、处理器的核心等等。在另一些可能的实施例中,计算单元可以为软件中的基本单位,例如,计算单元可以为应用、服务、微服务、模块、子模块、类或函数等。其中,计算节点101中的一个或多个计算单元的规格可以相同,例如一个或多个计算单元可以包括相同数量的处理器以及相同容量的内存,当然一个或多个计算单元的规格也可以存在差异,本实施例对此不做限定。
多个计算单元可以通过单机实现,也可以组成分布式系统。在一些可能的实施例中,多个计算单元可以运行在同一物理设备上,不同计算单元可以通过物理设备内部的通讯网络进行通信。例如,多个计算单元可以是一台物理服务器中的多个虚拟机或多个容器;再如,多个计算单元可以是一台物理服务器中通过总线进行通信的多个处理器或者同一个处理器中的多个内核。在另一些可能的实施例中,计算节点101中的不同计算单元可以运行在不同物理设备上,比如可以运行在不同的地点、不同的计算中心、不同的机房、不同的机架等,计算节点101中的不同物理设备可以通过网络交互。
在一些可能的实施例中,计算节点101可以作为云计算服务向用户提供,例如,可以作为图引擎服务(英文全称:Graph Engine Service,英文简称:GES)向用户提供。计算节点101可以运行在云环境中,例如可以运行在公有云、私有云或混合云上。作为示例,计算节点101可以为弹性云服务器(英文全称:elastic cloud server,英文简称:ECS)集群,计算节点101中的每个计算单元为一个ECS;又如,计算节点101可以为虚拟机集群,计算节点101中的每个计算单元为一个在云环境中运行的虚拟机;又如,计算节点101可以提供为云容器引擎(英文全称:cloud container engine,英文简称:CCE),计算节点101中的每个计算单元为一个在云环境中运行的容器;又如,计算节点101可以提供为云服务平台(英文:cloudservice stage),计算节点101中的每个计算单元为一个在云环境中运行的应用、服务或微服务。
应理解,计算节点101运行在云环境中仅是示例,计算节点101也可以运行在边缘环境中,计算节点101中的每个计算单元可以为边缘环境中的边缘计算设备;计算节点101也可以运行在边缘环境中,计算节点101中的每个计算单元可以为终端环境中的终端设备;本实施例对计算节点101的运行环境不做限定。另外,计算节点101的各个计算单元也可以分别运行在不同环境中。例如,计算节点101可以在云环境、边缘环境、终端环境中的三个,或在其中任意两个环境上运行计算节点101的部分计算单元。
上述数据处理系统中各个所述计算节点用于读取图数据,分别确定计算节点所存储的图数据的顶点ID,分别通过数据交互获取其他计算节点所存储的顶点ID,将获取到的顶点ID存储至数组,将已存储的顶点ID映射至数组下标,基于数组进行图数据计算,基于所述数组下标对图数据计算结果进行解码。
在一种可能实现方式中,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
在一种可能实现方式中,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述计算节点将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述计算节点通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
在一种可能实现方式中,所述计算节点MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述计算节点还用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述方法还包括:销毁所述第二哈希表。
在一种可能实现方式中,所述多个计算节点分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
终端102可以为手机、笔记本、服务器、台式电脑等。终端102可以和计算节点101通过网络进行交互。
在一种可选实现方式中,上述数据处理系统可以实现为区块链系统,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
而对于上述以区块链系统来实现的方案来说,计算节点可以为区块链系统内的任一节点,该计算节点可以在将图计算结果存储至区块链系统,从而使得各个计算节点的图计算结果可以迅速同步到其他计算节点上,使得任一个计算节点均可以输出全局计算结果,为终端提供图数据处理服务。
图2是本申请实施例提供的一种数据处理方法的流程图。参见图2,该方法包括:
201、多个计算节点并行读取图数据。
在数据读取阶段,可以将图数据通过并行读取的方式读取到各个计算节点的内存中,并保证各个计算资源内存储的数据量尽量相近。在一种可能实现方式中,当接收到任一图数据时,可以按照固定大小对其进行切分,得到多个图数据文件,各个计算资源读取相同数量的图数据文件,来保证数据量的相近。其中,该固定大小可以为64MB等较小粒度,从而便于数据处理系统内部后续的通信。
202、各个计算节点分别确定计算节点所存储的图数据的顶点ID。
对于各个计算节点来说,其所存储的图数据是随机的,因此,可以在这个步骤中对顶点ID进行统计,可以看作是对顶点ID进行去重,以确定各个计算节点中目前存储有哪些顶点ID的图数据,实现一定程度上的计算节点内的聚合,从而可以减少后续数据处理系统内部的总体通信量。
上述步骤202的具体实现方式可以示例如下,以一个计算节点的处理过程来说明,该计算节点可以通过多线程来枚举该计算节点内所存储的图数据,将该图数据中各个边的起点ID以及终点ID存储至第一哈希表。在存储时,可以先判断该第一哈希表中是否已存储有第一顶点ID,当已存储时,则不对该第一顶点ID进行重复存储,当未存储时,再进行存储步骤。
203、各个计算节点通过MPI点对点通信接口将自身存储的顶点ID分别发送至顶点ID所属的计算节点。
其中,该MPI点对点通信接口可以实现在数据处理系统内一对一的通信,使得一个计算节点可以通过该接口进行发送就可以将数据传播至另一计算节点。
204、各个计算节点在接收到属于自身的顶点ID后,将接收到的顶点ID存储。
在上述步骤203至204中,对于整个数据处理系统来说,为了保持各个计算节点能够进行某部分图数据的计算,则可以将图数据有规律的分布在各个计算节点中,为此,可以通过计算节点之间的数据通信,将各个计算节点所存储的顶点ID发送至该顶点ID所属的计算节点。
以一个计算节点的处理过程为例来进行说明,该计算节点可以通过多线程的方式来枚举第一哈希表所存储的顶点ID,对于每个顶点ID,通过MPI点对点通信接口发送至该顶点ID所归属的计算节点。其中,在确定顶点ID所归属的计算节点时,可以通过对该顶点ID进行取模操作,以得到计算节点编号。
对于每个计算节点来说,其可以维护第二哈希表,用于存储其他计算节点发送的顶点ID,当接收到任一计算节点发送的顶点ID后,将该顶点ID存储至该第二哈希表。
通过所有计算节点进行上述的发送以及基于发送的接收过程,各个计算节点即可获取到属于该计算节点的所有顶点ID,从而完成整个数据处理过程中的第二次聚合。
205、各个计算节点通过MPI集合通信接口将属于自身的顶点ID发送至其他计算节点。
对于整个数据处理系统来说,为了让所有计算节点都获知系统内的顶点ID,还可以通过计算节点之间的数据通信,将属于计算节点的顶点ID发送至数据处理系统内的其他计算节点。
以一个计算节点的处理过程为例来进行说明,该计算节点可以通过多线程的方式来枚举第二哈希表所存储的顶点ID,对于每个顶点ID,通过MPI集合通信接口发送至数据处理系统内的其他计算节点。
其中,该MPI集合通信接口可以实现在数据处理系统内一对多的通信,使得一个计算节点可以通过一次发送就可以将数据传播至其他计算节点。
206、各个计算节点通过MPI集合通信接口接收属于其他计算节点的顶点ID。
当任一计算节点通过MPI集合通信接口接收到任一计算节点发送的顶点ID时,可以将其存储至数组,这样,所有计算单元则会存储有完全一致的顶点ID。
207、各个计算节点将接收到的顶点ID存储为数组的数组条目,将顶点ID映射至该数组条目的标号。
在此过程中,计算节点可以使用哈希表将该数组中存储的原始顶点ID映射至数组条目的标号,该哈希表所存储的映射关系在各个计算节点上一致。可选地,在该过程中所使用的哈希表可以复用上述第二哈希表。其中,该数组条目的标号可以为数组条目的下标号。
例如,以原始顶点ID为100万为例,将其存储至数组的第一个位置,则可以在第二哈希表中存储原始顶点ID 100万与数组下标0之间的映射关系,也即是将原始顶点ID:100万转换为了编码后的ID:0,在后续图计算过程中,则可以直接利用编码后的ID。
由于各个计算节点均存储有数据处理系统内的全量顶点ID,并且还存储有全量的顶点ID到编码后ID的映射关系,因此,无需通信即可完成所有图数据的编码。
编码完成后,各个计算节点可以将所有哈希表销毁,只保留数组,用于最终的解码阶段。这种在编码后释放哈希表的内存的做法,使得每个计算节点内部使用数组存储全局原始ID,在执行图算法时也就不会占用过大内存,只需用小部分内存来进行数组的维护即可,在图算法执行完毕后可在每个计算节点内部完成解码,无需通信,降低了整体的通信量。
208、各个计算节点基于数组进行图数据计算。
需要说明的是,在进行图数据计算时,可以根据业务场景对应具体算法运行,而在计算过程中所使用的顶点ID则为编码后的ID。
209、各个计算节点基于数组对图数据计算结果进行解码。
在解码过程中,可以基于数组中所存储的编码后的顶点ID以及数组条目的标号进行解码。由于数组中所存储的顶点ID为编码后的ID,而各个编码后的ID的数组条目的标号为原始顶点ID,因此,通过这种映射关系,可以对编码后的ID进行解码,以完成整个图数据处理过程。上述解码过程,只需要在解码时进行一次访问内存操作即可完成,避免了原有的系统内的数据交互,大大降低了数据传输量。
本申请实施例提供的方法,通过采用分布式架构的数据处理系统,由数据处理系统内的各个计算节点来存储部分图数据,并在编码阶段,在各个计算节点先进行一次聚合,再进行计算节点之间的顶点ID的交互,以完成第二次聚合,通过上述两次聚合过程,从而使得各个计算节点都能够存储有全量的顶点ID,则在解码阶段无需通信即可以完成解码,可降低整体的通信量,提高算法执行效率。整体流程充分利用了每个计算资源的计算能力及内存,同时优化了通信过程,在降低网络通信总流量的同时充分利用分布式集群的网络带宽。进一步地,整个过程中基于MPI点对点通信以及MPI集合通信来进行计算节点之间的通信,且通过高性能的哈希表来进行数据聚合,大大提高了通信效率和处理效率。
在上述过程中,还需要说明的是,由于本申请实施例只关注解码及编码中所需要的基本数据机构—哈希表和数组,对图数据进行存储及计算时占用内存较少,因此,可有效节约成本。另外,在每个计算节点内部采用单进程多线程编程方式,可减少同计算资源的内部通信,同时在多线程之间使用无锁编程方式,减少竞争锁带来的消耗,每个线程各司其职,充分利用计算节点的计算能力。
而在基于MPI进行通信时,可以将多个需要通信的较小的数据打包后再进行通信,从而可充分利用集群带宽,降低通信时延带来的影响。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图3是本申请实施例提供的一种数据处理装置的结构示意图。参见图3,所述装置包括:
读取模块301,用于读取图数据;
确定模块302,用于确定计算节点所存储的图数据的顶点ID;
获取模块303,用于通过数据交互获取其他计算节点所存储的顶点ID;
顶点映射模块304,用于将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;
计算模块305,用于基于数组进行图数据计算;
解码模块306,用于基于所述数组对图数据计算结果进行解码。
在一种可能实现方式中,所述确定模块用于枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
在一种可能实现方式中,所述获取模块用于枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述获取模块还用于将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述获取模块用于通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
在一种可能实现方式中,所述获取模块用于通过MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
在一种可能实现方式中,所述装置还包括存储模块,用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述存储模块还用于销毁所述第二哈希表。
在一种可能实现方式中,所述解码模块用于分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
需要说明的是:上述实施例提供的数据处理装置在数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
对于上述数据处理方法的执行进行了相关测试,实验对象为本公开提出的实现方法以及Spark版本的算法实现。图规模为10亿顶点和1100亿边,实验结果如下表1:
表1
Figure BDA0002239498730000131
通过上述实验结果的对比可以看出,在图规模更大的情况下,本公开实施例所提供的实现方法的内存开销约为Spark版本的四分之一,而算法执行效率为20倍以上,同时占用的机器数量更少,大大降低了成本。
对于本申请实施例提供的计算节点,可以实现为一计算机设备,图4是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备400可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,CPU)401和一个或多个的存储器402,其中,所述一个或多个存储器402中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器401加载并执行以实现上述各个方法实施例提供的方法。当然,该计算机设备400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备400还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述实施例中的数据处理方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
图5是本申请实施例提供的一种终端的结构示意图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:一个或多个处理器501和一个或多个存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的数据处理方法。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

1.一种数据处理方法,其特征在于,应用于数据处理系统中,所述数据处理系统包括多个计算节点,所述方法包括:
所述多个计算节点通过并行读取的方式读取相同数量的图数据,所述图数据为按照固定大小对接收到的图数据进行切分得到的;
所述多个计算节点分别确定计算节点所存储的图数据的顶点ID;
所述多个计算节点分别通过数据交互获取其他计算节点所存储的顶点ID;
所述多个计算节点将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;
所述多个计算节点基于所述数组进行图数据计算;
所述多个计算节点基于所述数组中数组条目以及数据条目的标号对图数据计算结果进行解码。
2.根据权利要求1所述的方法,其特征在于,所述多个计算节点分别确定计算节点所存储的图数据的顶点ID包括:
对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
3.根据权利要求1所述的方法,其特征在于,所述多个计算节点分别通过数据交互获取其他计算节点所存储的顶点ID包括:
对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述计算节点将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一顶点ID发送至所属的计算节点包括:
所述计算节点通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
5.根据权利要求3所述的方法,其特征在于,所述计算节点将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点包括:
所述计算节点MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
6.根据权利要求1所述的方法,其特征在于,所述多个计算节点将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号之后,所述方法还包括:
将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;
所述多个计算节点基于数组进行图数据计算之后,所述方法还包括:
销毁所述第二哈希表。
7.根据权利要求1所述的方法,其特征在于,所述多个计算节点基于所述数组中数组条目以及数据条目的标号对图数据计算结果进行解码包括:
所述多个计算节点分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
8.一种数据处理系统,其特征在于,所述数据处理系统包括多个计算节点,
各个所述计算节点用于通过并行读取的方式读取相同数量的图数据,所述图数据为按照固定大小对接收到的图数据进行切分得到的,分别确定计算节点所存储的图数据的顶点ID,分别通过数据交互获取其他计算节点所存储的顶点ID,将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号,基于所述数组进行图数据计算,基于所述数组对图数据计算结果进行解码。
9.根据权利要求8所述的系统,其特征在于,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
10.根据权利要求8所述的系统,其特征在于,对于任一计算节点,所述计算节点枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述计算节点将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
11.根据权利要求10所述的系统,其特征在于,所述计算节点通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
12.根据权利要求10所述的系统,其特征在于,所述计算节点MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
13.根据权利要求8所述的系统,其特征在于,所述计算节点还用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述方法还包括:销毁所述第二哈希表。
14.根据权利要求8所述的系统,其特征在于,所述多个计算节点分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
15.一种数据处理装置,其特征在于,所述装置包括:
读取模块,用于过并行读取的方式读取相同数量的图数据,所述图数据为按照固定大小对接收到的图数据进行切分得到的;
确定模块,用于确定计算节点所存储的图数据的顶点ID;
获取模块,用于通过数据交互获取其他计算节点所存储的顶点ID;
顶点映射模块,用于将获取到的每个顶点ID存储为数组中一个数组条目,将所述每个顶点ID映射至对应数组条目的标号;
计算模块,用于基于所述数组进行图数据计算;
解码模块,用于基于所述数组中数组条目以及数据条目的标号对图数据计算结果进行解码。
16.根据权利要求15所述的装置,其特征在于,所述确定模块用于枚举所述计算节点内存储的顶点ID,当所述计算节点内存储的第一顶点ID已经存储于第一哈希表时,则忽略所述第一顶点ID,当所述计算节点内存储的第一顶点ID未存储于所述第一哈希表时,则将所述第一顶点ID存储至所述第一哈希表。
17.根据权利要求15所述的装置,其特征在于,所述获取模块用于枚举所述计算节点内存储的顶点ID,确定所述计算节点内存储的第一顶点ID所属的计算节点,将所述第一顶点ID发送至所属的计算节点;
所述获取模块用于将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
18.根据权利要求17所述的装置,其特征在于,所述获取模块用于通过MPI点对点通信接口,将所述第一顶点ID发送至所属的计算节点。
19.根据权利要求17所述的装置,其特征在于,所述获取模块用于通过MPI集合通信接口,将属于所述计算节点的顶点ID发送至所述数据处理系统中的其他计算节点。
20.根据权利要求15所述的装置,其特征在于,所述装置还包括存储模块,用于将所述已存储的顶点ID和所述数组的数组条目的标号之间的对应关系存储至第二哈希表;所述多个计算节点基于数组进行图数据计算之后,所述存储模块还用于销毁所述第二哈希表。
21.根据权利要求15所述的装置,其特征在于,所述解码模块用于分别根据所述数组中各个编码后的顶点ID以及所述各个编码后的顶点ID的数组中数组条目的标号之间的映射关系,将所述图数据计算结果中的顶点ID映射为对应的数组条目的标号。
22.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求7任一项所述的数据处理方法中任一计算节点所执行的操作。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的数据处理方法中任一计算节点所执行的操作。
CN201910995123.6A 2019-10-18 2019-10-18 数据处理方法、数据处理系统、计算机设备及存储介质 Active CN110769050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910995123.6A CN110769050B (zh) 2019-10-18 2019-10-18 数据处理方法、数据处理系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910995123.6A CN110769050B (zh) 2019-10-18 2019-10-18 数据处理方法、数据处理系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110769050A CN110769050A (zh) 2020-02-07
CN110769050B true CN110769050B (zh) 2021-12-21

Family

ID=69332705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910995123.6A Active CN110769050B (zh) 2019-10-18 2019-10-18 数据处理方法、数据处理系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110769050B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866299B (zh) * 2021-04-12 2022-03-18 南京大学 移动边缘计算网络的加密数据去重与分享装置及方法
CN114567634B (zh) * 2022-03-07 2023-02-07 华中科技大学 面向后e级图计算的方法、系统、存储介质及电子设备
CN116681265B (zh) * 2023-07-31 2023-10-10 四川思极科技有限公司 资源分配方法、装置、计算机设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943011B2 (en) * 2011-06-28 2015-01-27 Salesforce.Com, Inc. Methods and systems for using map-reduce for large-scale analysis of graph-based data
CN106462620A (zh) * 2014-06-02 2017-02-22 微软技术许可有限责任公司 巨型网络上的距离查询
CN110070117A (zh) * 2019-04-08 2019-07-30 腾讯科技(深圳)有限公司 一种数据处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7928990B2 (en) * 2006-09-27 2011-04-19 Qualcomm Incorporated Graphics processing unit with unified vertex cache and shader register file

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943011B2 (en) * 2011-06-28 2015-01-27 Salesforce.Com, Inc. Methods and systems for using map-reduce for large-scale analysis of graph-based data
CN106462620A (zh) * 2014-06-02 2017-02-22 微软技术许可有限责任公司 巨型网络上的距离查询
CN110070117A (zh) * 2019-04-08 2019-07-30 腾讯科技(深圳)有限公司 一种数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于图查询系统的图计算引擎;柯学翰,陈榕;《大数据》;20190715;正文第2-8页 *

Also Published As

Publication number Publication date
CN110769050A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110674022B (zh) 行为数据获取方法、装置及存储介质
CN111245745B (zh) 消息发送方法、装置、节点设备及存储介质
CN110493626B (zh) 视频数据处理方法及装置
CN110769050B (zh) 数据处理方法、数据处理系统、计算机设备及存储介质
CN111241115B (zh) 数据同步方法、装置、设备及存储介质
CN111339086A (zh) 区块处理方法、基于区块链的数据查询方法及装置
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN110569220B (zh) 游戏资源文件的展示方法、装置、终端及存储介质
EP3989113A1 (en) Facial image transmission method, numerical value transfer method and apparatus, and electronic device
CN113190362B (zh) 服务调用方法、装置、计算机设备及存储介质
CN110535890B (zh) 文件上传的方法和装置
CN110677262B (zh) 基于区块链的信息公证方法、装置及系统
CN112612539B (zh) 数据模型卸载方法、装置、电子设备及存储介质
CN110597840B (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN113763932B (zh) 语音处理方法、装置、计算机设备及存储介质
CN112612540B (zh) 数据模型配置方法、装置、电子设备及存储介质
CN110570123B (zh) 基于区块链的资源信息管理方法、系统及装置
CN111741040B (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
CN112749583A (zh) 人脸图像分组方法、装置、计算机设备和存储介质
CN112699906A (zh) 获取训练数据的方法、装置及存储介质
CN111191254A (zh) 访问校验方法、装置、计算机设备及存储介质
CN113282242B (zh) 分布式存储方法、装置、设备及计算机可读存储介质
CN110536173B (zh) 数据流链路中的元件连接的方法及装置
CN114143012A (zh) 消息队列管理方法、装置、设备及计算机可读存储介质
CN114116817A (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