CN111177433B - 用于并行处理信息的方法和装置 - Google Patents

用于并行处理信息的方法和装置 Download PDF

Info

Publication number
CN111177433B
CN111177433B CN201911405961.XA CN201911405961A CN111177433B CN 111177433 B CN111177433 B CN 111177433B CN 201911405961 A CN201911405961 A CN 201911405961A CN 111177433 B CN111177433 B CN 111177433B
Authority
CN
China
Prior art keywords
information
target
node
sequence
target 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.)
Active
Application number
CN201911405961.XA
Other languages
English (en)
Other versions
CN111177433A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911405961.XA priority Critical patent/CN111177433B/zh
Publication of CN111177433A publication Critical patent/CN111177433A/zh
Priority to EP20178048.3A priority patent/EP3846083A1/en
Priority to JP2020098673A priority patent/JP7033165B2/ja
Priority to KR1020200068567A priority patent/KR102501327B1/ko
Priority to US16/895,996 priority patent/US20210200806A1/en
Application granted granted Critical
Publication of CN111177433B publication Critical patent/CN111177433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Advance Control (AREA)

Abstract

本申请实施例公开了用于并行处理信息的方法和装置。该方法的一具体实施方式包括:检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,索引用于对目标信息序列进行分组;利用索引,对目标信息序列进行分组;对各组目标信息进行并行处理。该实施方式可以对图神经网络中的信息进行并行处理,提高了图神经网络的训练速度以及预测速度。

Description

用于并行处理信息的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于并行处理信息的方法和装置。
背景技术
图神经网络(Graph Neural Network,GNN)是处理图结构的神经网络。目前,图神经网络在社交网络、知识图谱、推荐***甚至生命科学等各个领域得到了越来越广泛的应用。由于图神经网络在对图节点之间的依赖关系进行建模中具有强大功能,使得与图分析相关的研究领域取得了突破。
发明内容
本申请实施例提出了用于并行处理信息的方法和装置。
第一方面,本申请实施例提供了一种用于并行处理信息的方法,包括:检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,索引用于对目标信息序列进行分组;利用索引,对目标信息序列进行分组;对各组目标信息进行并行处理。
在一些实施例中,响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,包括:响应于检测到存在源节点向目标节点发送信息,按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序,其中,节点编号以数值的形式进行表征;针对各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息;按照各条信息的排序结果,对各条目标信息进行排序,生成并记录目标信息序列。
在一些实施例中,响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,包括:基于各个目标节点所接收到的信息的长度,生成针对目标信息序列的索引,记录索引。
在一些实施例中,在对各组目标信息进行并行处理之后,该方法还包括:针对各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。
在一些实施例中,在针对各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息之后,该方法还包括:将目标信息与对应的目标节点的节点标识进行关联存储。
第二方面,本申请实施例提供了一种用于并行处理信息的装置,包括:检测单元,被配置成检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;记录单元,被配置成响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,索引用于对目标信息序列进行分组;分组单元,被配置成利用索引,对目标信息序列进行分组;处理单元,被配置成对各组目标信息进行并行处理。
在一些实施例中,记录单元进一步被配置成通过如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引:响应于检测到存在源节点向目标节点发送信息,按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序,其中,节点编号以数值的形式进行表征;针对各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息;按照各条信息的排序结果,对各条目标信息进行排序,生成并记录目标信息序列。
在一些实施例中,记录单元进一步被配置成通过如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引:基于各个目标节点所接收到的信息的长度,生成针对目标信息序列的索引,记录索引。
在一些实施例中,该装置还包括:第一存储单元,被配置成针对各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。
在一些实施例中,该装置还包括:第二存储单元,被配置成将目标信息与对应的目标节点的节点标识进行关联存储。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请的上述实施例提供的用于并行处理信息的方法和装置,通过首先检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;若检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对上述目标信息序列的索引;之后,利用上述索引,对上述目标信息序列进行分组;最后,对各组目标信息进行并行处理。通过这种方式可以对图神经网络中的信息进行并行处理,提高了图神经网络的训练速度以及预测速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的各个实施例可以应用于其中的示例性***架构图;
图2是根据本申请的用于并行处理信息的方法的一个实施例的流程图;
图3是根据本申请的用于并行处理信息的方法的一个应用场景的示意图;
图4是根据本申请的用于并行处理信息的方法的又一个实施例的流程图;
图5是根据本申请的用于并行处理信息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于并行处理信息的方法的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备1011、1012、1013,网络102和服务器103。网络102用以在终端设备1011、1012、1013和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1011、1012、1013通过网络102与服务器103交互,以发送或接收消息等等。终端设备1011、1012、1013上可以安装有各种通讯客户端应用,例如购物类应用、搜索类应用、即时通讯软件等。
终端设备1011、1012、1013可以是硬件,也可以是软件。当终端设备1011、1012、1013为硬件时,可以是支持信息交互的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备1011、1012、1013为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器103可以是提供各种服务的服务器。例如,可以生成对信息进行并行处理的后台服务器。服务器103可以首先检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;之后,若检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对上述目标信息序列的索引;而后,可以利用上述索引,对上述目标信息序列进行分组;最后,可以对各组目标信息进行并行处理。
需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于并行处理信息的方法通常由服务器103执行。
需要说明的是,服务器103的本地也可以存储有图结构。此时示例性***架构100可以不存在终端设备1011、1012、1013和网络102。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于并行处理信息的方法的一个实施例的流程200。该用于并行处理信息的方法,包括以下步骤:
步骤201,检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息。
在本实施例中,用于并行处理信息的方法的执行主体(例如图1所示的服务器)可以检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息。图神经网络是处理图结构的神经网络。图结构也可以称为图形结构,在数据的逻辑结构D=(KR)中,如果K中节点对于关系R的前趋和后继的个数不加限制,即仅含一种任意的关系,则称这种数据结构为图形结构。一个图可以用它包含的顶点和边的集合来描述,边可以是有向的或无向的,这取决于顶点之间是否存在方向依赖关系。
在这里,上述图神经网络作用于其上的图结构可以是有向图,若在该有向图中,从节点A到节点B可达,则可以将节点A确定为源节点,可以将节点B确定为目标节点。上述图神经网络作用于其上的图结构也可以是无向图,若在该无向图中,节点C向节点D发送信息,则可以将发送信息的节点C确定为源节点,可以将接收信息的节点D确定为目标节点。
在本实施例中,若检测到上述图结构中存在源节点向目标节点发送信息,上述执行主体可以执行步骤202。
步骤202,响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引。
在本实施例中,若在步骤201中检测到上述图结构中存在源节点向目标节点发送信息,上述执行主体可以生成并记录目标信息序列和针对目标信息序列的索引。上述目标信息序列中的目标信息通常是基于源节点的特征、目标节点的特征和所发送的信息确定出的。上述源节点的特征可以是源节点所表征的对象的特征。上述目标节点的特征可以是目标节点所表征的对象的特征。例如,若对象为用户,对象的特征可以包括但不限于以下至少一项:用户的名字、年龄、性别、居住地址和偏好信息。若对象为视频,对象的特征可以包括但不限于以下至少一项:视频名称、视频长度、视频内容、视频的上传者的信息和视频的被点击次数。
在这里,上述执行主体可以按照接收信息的各个目标节点的预设节点顺序对各条信息所对应的目标信息进行排序,生成目标信息序列,以及记录所生成的目标信息序列。作为示例,若源节点1向目标节点B发送第一信息,源节点2向目标节点D发送第二信息,源节点3向目标节点D发送第三信息,源节点4向目标节点A发送第四信息,源节点5向目标节点C发送第五信息,若目标节点的预设节点顺序为目标节点A-目标节点B-目标节点C-目标节点D,第一信息对应第一目标信息,第二信息对应第二目标信息,第三信息对应第三目标信息,第四信息对应第四目标信息,第五信息对应第五目标信息,则所生成的目标信息序列为第四目标信息-第一目标信息-第五目标信息-第三目标信息-第二目标信息。其中,上述第一目标信息是基于源节点1的特征、目标节点B的特征和第一信息所确定出的,上述第二目标信息是基于源节点2的特征、目标节点D的特征和第二信息所确定出的,上述第三目标信息是基于源节点3的特征、目标节点D的特征和第三信息所确定出的,上述第四目标信息是基于源节点4的特征、目标节点A的特征和第四信息所确定出的,上述第五目标信息是基于源节点5的特征、目标节点C的特征和第五信息所确定出的。
需要说明的是,若一个目标节点接收到至少两个信息,上述执行主体可以对上述至少两个信息对应的目标信息进行随机排序,也可以按照信息的发送顺序对上述至少两个信息对应的目标信息进行排序,还可以按照信息的接收顺序对上述至少两个信息对应的目标信息进行排序。
在本实施例中,上述执行主体可以记录针对所生成的目标信息序列的索引。上述索引通常用于对上述目标信息序列进行分组。分组得到的每个目标信息组中的目标信息通常是与发送到同一目标节点的信息相对应,且各个目标信息组中的目标信息对应的信息通常是发送到不同的目标节点的信息。
作为示例,上述执行主体可以利用loD(Level-of-Detail)Tensor记录上述目标信息序列,以及利用loD记录针对上述目标信息序列的索引。LoDTensor将长度不一致的维度拼接为一个大的维度,并引入了索引数据结构(LoD)记录各个序列的长度,来将张量分割成序列。LoDTensor能给大幅减少计算量,从而提高训练的速度。
步骤203,利用索引,对目标信息序列进行分组。
在本实施例中,上述执行主体可以利用上述索引,对上述目标信息序列进行分组。若上述索引是以偏移的形式进行表征,即各个索引为划分点距离首元素(第一个划分点)的索引的偏移量,上述索引中通常包括各个划分点(元素)的索引。在这里,首元素的索引通常设置为0。作为示例,若索引为0、5、8、12,则可以将上述目标信息序列中的索引为0的划分点至索引为5的划分点之间的目标信息分为一组,将上述目标信息序列中的索引为5的划分点至索引为8的划分点之间的目标信息分为一组,将上述目标信息序列中的索引为8的划分点至索引为12的划分点之间的目标信息分为一组。
步骤204,对各组目标信息进行并行处理。
在本实施例中,在本实施例中,上述执行主体可以对在步骤203中分组得到的对各组目标信息进行并行处理(Parallel Processing)。并行处理是计算机***中能同时执行两个或多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。为使用并行处理,首先需要对程序进行并行化处理,也就是说将工作各部分分配到不同处理进程(线程)中。在这里,上述执行主体可以将各组目标信息并行输入到预设的处理函数中,得到处理结果。上述处理函数可以按照人为设置处理不同的逻辑运算,例如,对每组目标信息进行求和运算和求均值运算等等。
在本实施例的一些可选的实现方式中,上述执行主体可以按照如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对上述目标信息序列的索引:上述执行主体可以基于接收到信息的各个目标节点所接收到的信息的长度,生成针对上述目标信息序列的索引,记录上述索引。在一些情况下,若各个信息的长度相同,上述信息的长度也可以称为信息的数量。具体地,上述执行主体可以将各个目标节点所接收到的信息的长度确定为针对上述目标信息序列的索引,将各个索引按照目标信息序列的排序依据进行排序,记录排序后的索引。作为示例,若目标节点1所接收到的信息的长度为5,目标节点3所接收到的信息的长度为1,目标节点2所接收到的信息的长度为7,若目标信息序列的排序依据是按照节点编号由大到小进行排序的,则生成的索引为1,7,5。
在本实施例的一些可选的实现方式中,在对各组目标信息进行并行处理之后,上述执行主体可以针对上述各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。上述执行主体中通常可以存储有用于记录对每个目标节点所对应的目标信息的处理结果与该目标节点的节点标识之间的关系的数据库。
在本实施例的一些可选的实现方式中,在针对上述各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息之后,上述执行主体可以将目标信息与对应的目标节点的节点标识进行关联存储。若目标节点接收到多个信息,可以将多个和信息所对应的目标信息与该目标节点的节点标识进行关联存储。上述执行主体中通常可以存储有用于记录对每个目标节点所接收到的信息对应的目标信息与该目标节点的节点标识之间的关系的数据库。
继续参见图3,图3是根据本实施例的用于并行处理信息的方法的应用场景的一个示意图。在图3的应用场景中,若服务器检测到源节点3向目标节点A发送第一信息,源节点1向目标节点B发送第二信息,源节点2向目标节点C发送第三信息,服务器可以生成第一信息对应的第一目标信息301,生成第二信息对应的第二目标信息302以及生成第三信息对应的第三目标信息303。之后,上述服务器可以按照目标节点A-目标节点B-目标节点C的顺序将第一目标信息301、第二目标信息302和第三目标信息303进行拼接,从而生成目标信息序列304。上述服务器可以按照目标节点A-目标节点B-目标节点C的顺序记录每个目标节点对应的信息的长度,将各个目标信息的长度(6,9,4)确定为索引305。而后,上述服务器可以利用索引305,对目标信息序列304进行分组,利用索引305可以确定对目标信息序列304进行划分的划分点,如图标306所示的虚线位置处。最后,可以对所得到的目标信息307、目标信息308和目标信息309进行并行处理。
本申请的上述实施例提供的方法通过对目标信息序列和针对目标信息序列的索引进行记录,这种方式可以对图神经网络中的信息进行并行处理,提高了图神经网络的训练速度以及预测速度。同时,通过消息传递机制大幅度降低编写图神经网络的难度。
进一步参考图4,其示出了用于并行处理信息的方法的又一个实施例的流程400。该用于并行处理信息的方法的流程400,包括以下步骤:
步骤401,检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息。
在本实施例中,步骤401可以按照与步骤201类似的方式执行,在此不再赘述。
步骤402,响应于检测到存在源节点向目标节点发送信息,按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序。
在本实施例中,若在步骤401中检测到存在源节点向目标节点发送信息,上述执行主体可以按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序。在这里,上述节点编号可以以数值的形式进行表征。例如,节点编号可以包括1、2、3、4和5等。
作为示例,若源节点1向目标节点2发送第一信息,源节点2向目标节点4发送第二信息,源节点3向目标节点4发送第三信息,源节点4向目标节点1发送第四信息,源节点5向目标节点3发送第五信息,第一信息对应第一目标信息,第二信息对应第二目标信息,第三信息对应第三目标信息,第四信息对应第四目标信息,第五信息对应第五目标信息,则所生成的目标信息序列为第四目标信息-第一目标信息-第五目标信息-第三目标信息-第二目标信息。
步骤403,针对各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息。
在本实施例中,针对所发送的各条信息中的每条信息,上述执行主体可以将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息。上述发送函数可以按照实际业务逻辑进行设置。例如,若发送函数用于确定用户之间的用户亲密度,此时,源节点用于表征用户A,目标节点用于表征用户B,上述执行主体可以将用户A向用户B发送的信息,用户A的用户特征和用户B的用户特征输入到用于确定用户之间的用户亲密度的发送函数中,得到用户A和用户B之间的亲密度。
步骤404,按照各条信息的排序结果,对各条目标信息进行排序,生成并记录目标信息序列。
在本实施例中,上述执行主体可以按照各条信息的排序结果,对上述各条信息相对应的各条目标信息进行排序,生成并记录目标信息序列。作为示例,若第一信息对应于第一目标信息,第二信息对应于第二目标信息,第三信息对应于第三目标信息,第四信息对应于第四目标信息,若信息的排序结果为:第二信息-第三信息-第四信息-第一信息,则目标信息序列为:第二目标信息-第三目标信息-第四目标信息-第一目标信息。
步骤405,生成并记录针对目标信息序列的索引。
在本实施例中,上述执行主体可以生成并记录针对所生成的目标信息序列的索引。上述索引通常用于对上述目标信息序列进行分组。分组得到的每个目标信息组中的目标信息通常是与发送到一个目标节点的信息相对应,且各个目标信息组中的目标信息对应的信息通常是发送到不同的目标节点的信息。
在这里,上述执行主体可以按照各个目标节点的顺序记录每个目标节点对应的信息的长度,将信息的长度确定为索引。
步骤406,利用索引,对目标信息序列进行分组。
在本实施例中,上述执行主体可以利用上述索引,对上述目标信息序列进行分组。若上述索引是以信息长度的形式进行表征。上述执行主体可以按照信息长度,对上述目标信息序列进行划分。作为示例,若索引为5、3、4,则可以将上述目标信息序列中的前5个信息长度的目标信息分为一组,将中间3个信息长度的目标信息分为一组,以及将最后4个信息长度的目标信息分为一组。
步骤407,对各组目标信息进行并行处理。
在本实施例中,步骤407可以按照与步骤204类似的方式执行,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于并行处理信息的方法的流程400体现了生成目标信息以及对目标信息进行排序的步骤。由此,本实施例描述的方案提供了一种目标信息排序方式。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于并行处理信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于并行处理信息的装置500包括:检测单元501、记录单元502、分组单元503和处理单元504。其中,检测单元501被配置成检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;记录单元502被配置成响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,索引用于对目标信息序列进行分组;分组单元503被配置成利用索引,对目标信息序列进行分组;处理单元504被配置成对各组目标信息进行并行处理。
在本实施例中,用于并行处理信息的装置500的检测单元501、记录单元502、分组单元503和处理单元504的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204。
在本实施例的一些可选的实现方式中,上述记录单元502可以进一步被配置成通过如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对上述目标信息序列的索引:若检测到存在源节点向目标节点发送信息,上述记录单元502可以按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序。在这里,上述节点编号可以以数值的形式进行表征。之后,针对所发送的各条信息中的每条信息,上述记录单元502可以将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息。上述发送函数可以按照实际业务逻辑进行设置。而后,上述记录单元502可以按照各条信息的排序结果,对各条信息相对应的各条目标信息进行排序,生成并记录目标信息序列。
在本实施例的一些可选的实现方式中,上述记录单元502可以按照如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对上述目标信息序列的索引:上述记录单元502可以基于接收到信息的各个目标节点所接收到的信息的长度,生成针对上述目标信息序列的索引,记录上述索引。在一些情况下,若各个信息的长度相同,上述信息的长度也可以成为信息的数量。具体地,上述记录单元502可以将各个目标节点所接收到的信息的长度确定为针对上述目标信息序列的索引,将各个索引按照目标信息序列的排序依据进行排序,记录排序后的索引。
在本实施例的一些可选的实现方式中,上述用于并行处理信息的装置500还可以包括第一存储单元(图中未示出)。上述第一存储单元可以针对上述各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。上述第一存储单元中通常可以存储有用于记录对每个目标节点所对应的目标信息的处理结果与该目标节点的节点标识之间的关系的数据库。
在本实施例的一些可选的实现方式中,上述用于并行处理信息的装置500还可以包括第二存储单元(图中未示出)。上述第二存储单元可以将目标信息与对应的目标节点的节点标识进行关联存储。若目标节点接收到多个信息,可以将多个和信息所对应的目标信息与该目标节点的节点标识进行关联存储。上述第二存储单元中通常可以存储有用于记录对每个目标节点所接收到的信息对应的目标信息与该目标节点的节点标识之间的关系的数据库。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,索引用于对目标信息序列进行分组;利用索引,对目标信息序列进行分组;对各组目标信息进行并行处理。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括检测单元、记录单元、分组单元和处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,处理单元还可以被描述为“对各组目标信息进行并行处理的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于并行处理信息的方法,包括:
检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;
响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,所述目标信息序列是按照接收信息的各个目标节点的预设节点顺序对各条信息所对应的目标信息进行排序,基于排序结果拼接生成的;所述索引用于对所述目标信息序列进行分组,所述索引为划分点距离首元素的索引的偏移量;
利用所述索引,对所述目标信息序列进行分组;
对各组目标信息进行并行处理。
2.根据权利要求1所述的方法,其中,所述响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引,包括:
响应于检测到存在源节点向目标节点发送信息,按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序,其中,所述节点编号以数值的形式进行表征;
针对所述各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息;
按照所述各条信息的排序结果,对各条目标信息进行排序,生成并记录目标信息序列。
3.根据权利要求1所述的方法,其中,所述响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引,包括:
基于各个目标节点所接收到的信息的长度,生成针对所述目标信息序列的索引,记录所述索引。
4.根据权利要求1所述的方法,其中,在所述对各组目标信息进行并行处理之后,所述方法还包括:
针对所述各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。
5.根据权利要求1-4之一所述的方法,其中,在针对所述各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息之后,所述方法还包括:
将目标信息与对应的目标节点的节点标识进行关联存储。
6.一种用于并行处理信息的装置,包括:
检测单元,被配置成检测图神经网络所处理的图结构中是否存在源节点向目标节点发送信息;
记录单元,被配置成响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引,其中,目标信息是基于源节点的特征、目标节点的特征和所发送的信息确定出的,所述目标信息序列是按照接收信息的各个目标节点的预设节点顺序对各条信息所对应的目标信息进行排序,基于排序结果拼接生成的;所述索引用于对所述目标信息序列进行分组,所述索引为划分点距离首元素的索引的偏移量;
分组单元,被配置成利用所述索引,对所述目标信息序列进行分组;
处理单元,被配置成对各组目标信息进行并行处理。
7.根据权利要求6所述的装置,其中,所述记录单元进一步被配置成通过如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引:
响应于检测到存在源节点向目标节点发送信息,按照接收信息的各个目标节点的节点编号由小到大的顺序对各条信息进行排序,其中,所述节点编号以数值的形式进行表征;
针对所述各条信息中的每条信息,将该条信息、该条信息所来源的源节点的特征和该条信息所发往的目标节点的特征输入到预设的发送函数中,得到该条信息对应的目标信息;
按照所述各条信息的排序结果,对各条目标信息进行排序,生成并记录目标信息序列。
8.根据权利要求6所述的装置,其中,所述记录单元进一步被配置成通过如下方式响应于检测到存在源节点向目标节点发送信息,生成并记录目标信息序列和针对所述目标信息序列的索引:
基于各个目标节点所接收到的信息的长度,生成针对所述目标信息序列的索引,记录所述索引。
9.根据权利要求6所述的装置,其中,所述装置还包括:
第一存储单元,被配置成针对所述各组目标信息中的每组目标信息,将对该组目标信息进行并行处理后的处理结果与该组目标信息对应的目标节点的节点标识进行关联存储。
10.根据权利要求6-9之一所述的装置,其中,所述装置还包括:
第二存储单元,被配置成将目标信息与对应的目标节点的节点标识进行关联存储。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201911405961.XA 2019-12-31 2019-12-31 用于并行处理信息的方法和装置 Active CN111177433B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201911405961.XA CN111177433B (zh) 2019-12-31 2019-12-31 用于并行处理信息的方法和装置
EP20178048.3A EP3846083A1 (en) 2019-12-31 2020-06-03 Method and apparatus for parallel processing of information
JP2020098673A JP7033165B2 (ja) 2019-12-31 2020-06-05 情報を並列処理する方法および装置
KR1020200068567A KR102501327B1 (ko) 2019-12-31 2020-06-05 정보의 병렬처리 방법 및 장치
US16/895,996 US20210200806A1 (en) 2019-12-31 2020-06-08 Method and apparatus for parallel processing of information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911405961.XA CN111177433B (zh) 2019-12-31 2019-12-31 用于并行处理信息的方法和装置

Publications (2)

Publication Number Publication Date
CN111177433A CN111177433A (zh) 2020-05-19
CN111177433B true CN111177433B (zh) 2021-07-20

Family

ID=70654275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911405961.XA Active CN111177433B (zh) 2019-12-31 2019-12-31 用于并行处理信息的方法和装置

Country Status (5)

Country Link
US (1) US20210200806A1 (zh)
EP (1) EP3846083A1 (zh)
JP (1) JP7033165B2 (zh)
KR (1) KR102501327B1 (zh)
CN (1) CN111177433B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553470B (zh) * 2020-07-10 2020-10-27 成都数联铭品科技有限公司 适用于联邦学习的信息交互***及方法
CN113657577B (zh) * 2021-07-21 2023-08-18 阿里巴巴达摩院(杭州)科技有限公司 模型训练方法及计算***
CN116862319B (zh) * 2023-09-04 2023-11-24 北京国电通网络技术有限公司 电力指标信息生成方法、装置、电子设备和介质
CN117389748A (zh) * 2023-12-11 2024-01-12 融鼎岳(北京)科技有限公司 一种基于并行计算的bp神经网络算法的提速方法和***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388548A (zh) * 2018-09-29 2019-02-26 北京京东金融科技控股有限公司 用于生成信息的方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741983B1 (en) * 1999-09-28 2004-05-25 John D. Birdwell Method of indexed storage and retrieval of multidimensional information
US20020073204A1 (en) * 2000-12-07 2002-06-13 Rabindranath Dutta Method and system for exchange of node characteristics for DATA sharing in peer-to-peer DATA networks
AU2004252918B2 (en) * 2003-06-25 2009-12-10 Ab Initio Technology Llc. Computer-aided parallelizing of computation graphs
WO2013046664A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 情報システム、管理装置、データ処理方法、データ構造、プログラム、および記録媒体
US9253077B2 (en) * 2012-11-30 2016-02-02 International Business Machines Corporation Parallel top-K simple shortest paths discovery
US8949224B2 (en) * 2013-01-15 2015-02-03 Amazon Technologies, Inc. Efficient query processing using histograms in a columnar database
US10540606B2 (en) * 2014-06-30 2020-01-21 Amazon Technologies, Inc. Consistent filtering of machine learning data
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10248680B2 (en) * 2015-09-28 2019-04-02 International Business Machines Corporation Index management
US10192001B2 (en) * 2016-10-04 2019-01-29 Sas Institute Inc. Visualizing convolutional neural networks
KR101956236B1 (ko) * 2016-11-16 2019-03-11 주식회사 실크로드소프트 데이터베이스 관리 시스템에서의 데이터 복제 기법
US11050682B2 (en) * 2017-09-28 2021-06-29 Intel Corporation Reordering of data for parallel processing
WO2019113499A1 (en) * 2017-12-07 2019-06-13 The Broad Institute, Inc. High-throughput methods for identifying gene interactions and networks
CN109949865B (zh) * 2018-12-29 2020-03-31 浙江安诺优达生物科技有限公司 序列截取方法、装置和电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388548A (zh) * 2018-09-29 2019-02-26 北京京东金融科技控股有限公司 用于生成信息的方法和装置

Also Published As

Publication number Publication date
KR102501327B1 (ko) 2023-02-17
EP3846083A1 (en) 2021-07-07
KR20210086418A (ko) 2021-07-08
JP2021111316A (ja) 2021-08-02
CN111177433A (zh) 2020-05-19
US20210200806A1 (en) 2021-07-01
JP7033165B2 (ja) 2022-03-09

Similar Documents

Publication Publication Date Title
CN111177433B (zh) 用于并行处理信息的方法和装置
CN111291103B (zh) 接口数据的解析方法、装置、电子设备及存储介质
CN111679990B (zh) 测试数据生成方法、装置、可读介质及电子设备
CN110619078B (zh) 用于推送信息的方法和装置
CN108933695B (zh) 用于处理信息的方法和装置
CN110619100B (zh) 用于获取数据的方法和装置
CN109992719B (zh) 用于确定推送优先级信息的方法和装置
CN110737655B (zh) 用于上报数据的方法和装置
CN109933508B (zh) 用于发送信息的方法和装置
CN113760488A (zh) 调度任务的方法、装置、设备和计算机可读介质
CN109598344B (zh) 模型生成方法和装置
CN111324470B (zh) 用于生成信息的方法及装置
CN111311358A (zh) 信息处理方法、装置和电子设备
CN114625876B (zh) 作者特征模型的生成方法、作者信息处理方法和装置
CN111460020B (zh) 用于解析消息的方法、装置、电子设备和介质
CN111291199B (zh) 信息查询方法和装置
CN111294657A (zh) 信息处理方法和装置
CN113806033B (zh) 用于任务***的任务执行方法、装置、服务器和介质
CN111625692B (zh) 特征抽取方法、装置、电子设备和计算机可读介质
CN109766246B (zh) 用于监控应用的方法和装置
CN110046171B (zh) 用于获取信息的***、方法和装置
CN111367517B (zh) 信息生成方法和装置
CN116136771A (zh) 依赖关系的确定方法、装置、电子设备和存储介质
CN118014110A (zh) 点击率预测网络生成方法、装置
CN118331966A (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