CN117290560A - 图计算任务中获取图数据的方法和装置 - Google Patents
图计算任务中获取图数据的方法和装置 Download PDFInfo
- Publication number
- CN117290560A CN117290560A CN202311572234.9A CN202311572234A CN117290560A CN 117290560 A CN117290560 A CN 117290560A CN 202311572234 A CN202311572234 A CN 202311572234A CN 117290560 A CN117290560 A CN 117290560A
- Authority
- CN
- China
- Prior art keywords
- graph
- nodes
- storage system
- data
- target storage
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 3
- 238000007619 statistical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 11
- 238000013459 approach Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种图计算任务中获取图数据的方法和装置。所述图数据存储于目标存储系统,所述目标存储系统提供单点查询接口,所述单点查询接口用于查询所述图数据中任意节点的一跳子图;所述方法由计算引擎执行,该方法的一具体实施方式包括:根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;基于所述第二数目,确定从所述目标存储系统中以单点查询的方式读取所需数据的预测耗时;在所述预测耗时满足预设条件的情况下,通过所述单点查询接口从所述目标存储系统读取所需数据。
Description
技术领域
本说明书实施例涉及图数据处理领域,尤其涉及一种图计算任务中获取图数据的方法和装置。
背景技术
关系网络图是对现实世界中实体之间的关系的描述,广泛地应用于各种计算机信息处理中。关系网络图能够有效地表达图顶点所关联的数据之间的关联性,比如,社交媒体网络中不同账号之间的关联性、电商平台中商品与客户之间的关联性、万维网的网页信息之间的关联性,等等。关系网络图往往对应有大量的顶点与大量的边,并且边与顶点又会关联大量的数据。以社交媒体网络中账户对应的顶点为例,该顶点关联的数据可以包括账户的注册时长、注册方式、注册城市、登录次数、登录的地理位置等等。
图计算可以基于关系网络图上的数据进行分析计算,所以图计算需要提前获取到图数据。然而,随着图规模越来越大,图加载耗时会越来越长。此外,随着现实世界中实体之间关系的动态变化,关系网络图往往需要不断更新,为了图计算的准确性,需要不断重新加载图,这导致图计算成本也越来越高。因此,如何高效的获取图数据,对于图计算而言至关重要。
发明内容
本说明书的实施例描述了一种图计算任务中获取图数据的方法和装置,首先预测通过单点查询方式从目标存储系统读取图计算任务所需数据的耗时,在预测耗时满足预设条件的情况下,计算引擎通过远程查询目标存储系统的方式直接获取所需图数据,从而避免将图数据全量加载到计算引擎本地,减少了图数据获取的耗时。
根据第一方面,提供了一种图计算任务中获取图数据的方法,包括:上述图数据存储于目标存储系统,上述目标存储系统提供单点查询接口,上述单点查询接口用于查询上述图数据中任意节点的一跳子图;上述方法由计算引擎执行,包括:根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;基于上述第二数目,确定从上述目标存储系统中以单点查询的方式读取所需数据的预测耗时;在上述预测耗时满足预设条件的情况下,通过上述单点查询接口从上述目标存储系统读取所需数据。
根据第二方面,提供了一种图计算任务中获取图数据的装置,上述图数据存储于目标存储系统,上述目标存储系统提供单点查询接口,上述单点查询接口用于查询上述图数据中任意节点的一跳子图;上述装置部署于计算引擎,包括:第一确定单元,配置为,根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;第二确定单元,配置为,基于上述第二数目,确定从上述目标存储系统中以单点查询的方式读取所需数据的预测耗时;读取单元,配置为,在上述预测耗时满足预设条件的情况下,通过上述单点查询接口从上述目标存储系统读取所需数据。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令计算机执行如第一方面中任一实现方式描述的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,上述存储器中存储有可执行代码,上述处理器执行上述可执行代码时,实现如第一方面中任一实现方式描述的方法。
根据本说明书实施例提供的图计算任务中获取图数据的方法和装置,首先根据图计算任务中指定的目标节点的第一数目和任务类型,确定需查询节点的第二数目。而后,基于第二数目,预测从存储图数据的目标存储系统中以单点查询方式读取所需数据的耗时,在预测耗时满足预设条件时,通过单点查询接口从目标存储系统读取所需图数据进行图计算。由此,在预测耗时满足预设条件的情况下,计算引擎可以通过远程查询目标存储系统的方式直接获取所需图数据,从而避免将图数据全量加载到计算引擎本地,减少了图数据获取的耗时,提高了图计算的效率。
附图说明
图1示出了本说明书实施例可以应用于其中的一个应用场景的示意图;
图2示出了根据一个实施例的图计算任务中获取图数据的方法的流程图;
图3示出了某个关系网络图的部分子图的示意图;
图4示出了计算目标节点B对应的需查询节点的数目的示意图;
图5示出了根据一个实施例的图计算任务中获取图数据的装置的示意性框图。
具体实施方式
下面结合附图和实施例,对本说明书提供的技术方案做进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。需要说明的是,在不冲突的情况下,本说明书的实施例及实施例中的特征可以相互组合。
如前所述,如何高效的获取图数据,对于图计算而言至关重要。
为了在图计算时获取图数据,在一种方案中,可以将图数据和计算引擎部署在相同的设备或者设备集群。当需要进行图计算时,无需提前加载图数据,因为数据和计算在相同设备或者设备集群。然而,这种方式难以横向扩展(scale out)。数据为有状态信息,当需要添加集群时,会涉及到数据重分布问题,无法增加设备来提升计算性能。同时,这种方式可并发性和稳定性较差,难以适应大规模图数据的处理。
在另一种方案中,可以将图数据和计算引擎部署在不同的设备或者设备集群,这也是当前大规模图数据处理中常用的一种架构。当需要进行图计算时,就需要将图数据加载到计算引擎所在的设备或者设备集群参与计算。然而,这种方式需要提前将图数据加载到计算引擎本地,存在数据加载耗时较长的问题。尤其是随着图数据规模的增大,图数据的不断更新,加载成本也在不断增加。
为此,本说明书的实施例提供了一种图计算任务中获取图数据的方法,从而可以减少图数据获取的耗时,提高了图计算的效率。图1示出了本说明书实施例可以应用于其中的一个应用场景的示意图。如图1所示,以图计算对应的关系网络图为资金转移图101为例,该资金转移图101可以包括20亿个用户节点,作为示例,用户节点关联的数据可以包括但不限于:节点标识、用户身份信息、余额等等。用户节点之间的边可以表示资金的转移,例如,边的方向指示资金转移的方向,边的某项属性值指示转移资金的金额等等。本例中,资金转移图101存储于目标存储系统10,目标存储系统10可以提供单点查询接口,该单点查询接口可以用于查询资金转移图101中任意节点的一跳子图。本例中,图计算任务Task01可以是确认用户“张三”总共转移出的资金的金额,用于执行图计算任务Task01的计算引擎102与目标存储系统10部署于不同的集群。所以,计算引擎102在处理图计算任务Task01前需要提前获取资金转移图101中的图数据。为此,计算引擎102首先可以根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目。本例中,图计算任务Task01指定的目标节点为用户“张三”对应的用户节点,所以第一数目为1。任务类型指示处理目标节点的一跳邻居,所以第二数目也为1。计算引擎102可以基于第二数目,确定从目标存储系统10中以单点查询的方式读取所需数据的预测耗时t。在预测耗时满足预设条件的情况下,本例中,预设条件为预测耗时t小于预设的时长阈值T,计算引擎102可以通过单点查询接口从目标存储系统10中读取所需数据,即,用户“张三”对应的用户节点的一跳子图,该一跳子图可以包括用户“张三”对应的用户节点、及其一阶邻居节点、以及其与各一阶邻居节点之间的边。之后,计算引擎102可以根据读取的数据处理图计算任务Task01。由此,可以避免将包含20亿个用户节点的资金转移图101全量加载到计算引擎102本地,减少了图数据获取的耗时。
继续参见图2,图2示出了根据一个实施例的图计算任务中获取图数据的方法的流程图。本实施例中,图数据对应的图可以是属性图,属性图的节点上可以存储有属性。图数据可以存储于目标存储系统,该目标存储系统可以是分布式文件系统(Distributed FileSystem,DFS),也可以是单机文件系统。该目标存储系统可以提供单点查询接口,该单点查询接口可以用于查询图数据中任意节点的一跳子图。举例来说,节点A的一跳子图,可以包括节点A、节点A对应的一阶邻居节点、以及节点A与各一阶邻居节点的边。本例中,目标存储系统与处理图计算任务的计算引擎部署于不同的设备或者设备集群,因此,在处理图计算任务之前,计算引擎需要从目标存储系统获取图数据。可以理解,图2所示的方法可以通过计算引擎执行,该计算引擎可以部署于任何具有计算、处理能力的设备或者设备集群。如图2所示,该图计算任务中获取图数据的方法,可以包括以下步骤:
步骤201,根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目。
在本实施例中,设置图计算任务的人员,可以在图计算任务中指定待处理的目标节点和任务类型,其中,任务类型可以用于指示对目标节点的处理方式,不同处理方式需处理的目标节点的邻居范围不同,因此,任务类型可以指示出需要处理目标节点的一跳或者多跳邻居节点。根据目标节点的第一数目和任务类型,可以确定需查询节点的第二数目。
通常,图数据对应的关系网络图包括多个节点,这些节点中,具有关联关系的节点之间用边进行连接。两节点之间的边可以是有向边,也可以无向边。如图3所示,图3示出了某个关系网络图的部分子图的示意图。在图3所示的例子中,包括节点A、A0、A1、A2、A3、A01、A02、A03、A21、A22、A23、A24、A31共13个节点,节点之间的关联关系如图3所示,节点之间的边为有向边。以节点A为目标节点为例,节点A的一跳邻居节点包括节点A0、A1、A2和A3,节点A的二跳邻居节点包括节点A01、A02、A03、A21、A22、A23、A24、A31,以此类推,可以得到节点A的多跳邻居节点。可以理解,图3仅仅是为了解释何为一跳邻居节点、二跳邻居节点等,而并非对图的节点数目、节点间连接关系、一跳邻居节点的数目、二跳邻居节点的数目等限定。实践中,需要根据具体关系网络图确定各节点的各跳的邻居节点。
在一些实现方式中,由于目标存储系统提供的单点查询接口可以查询图数据中任意节点的一跳子图,而一跳子图包括该任意节点本身、该任意节点对应的一阶邻居节点、以及该任意节点与各一阶邻居节点的边,因此,如果任务类型指示处理目标节点的一跳邻居,则只需要查询目标节点的一跳子图就可以得到目标节点的一跳邻居,所以目标节点即为需查询节点,因此,可以将第一数目确定为第二数目。
在另一些实现方式中,如果任务类型指示处理目标节点的多跳邻居,则可以根据第一数目、多跳邻居的跳数,以及针对图数据中节点的度的统计值,计算第二数目。
需理解,由于此时尚未读取图数据,通常无法获得目标节点的(多跳)邻居节点的精确数目。因此,需要根据统计结果预估第二数目。为此,可以预先计算图数据中各节点的度的统计值。举例来说,度的统计值可以包括以下至少一种:度的平均值、出度的平均值、出度的中位数等等。然后,根据目标节点的第一数目、多跳邻居的跳数、以及图数据中节点的度的统计值,计算需查询节点的第二数目。
举例来说,如图4所示,图4示出了计算目标节点B对应的需查询节点的数目的示意图。假设图数据中各节点的度的统计值为N,则目标节点B的一跳邻居节点的数目为N,图4中用B1-BN表示。目标节点B的二跳邻居节点的数目为N*N,图4中用B11-B1N、B21-B2N、……BN1-BNN表示。三跳邻居节点的数目为N*N*N(图4中未示出)。依次类推,M跳邻居节点的数目为N的M次方(即,NM)。假设任务类型指示处理目标节点的D跳邻居,其中,D为大于1的正整数,则目标节点B对应的需查询节点的数目为:。需理解,上述求和式只需求和到D-1阶,因为在查询目标节点的D-1阶邻居时,可获得其一跳子图,其中即包括了目标节点的D阶邻居。比如,当D=2时,目标节点B对应的需查询节点的数目为(1+N),即,节点B,以及节点B1-BN。当D=3时,目标节点B对应的需查询节点的数目为(1+N+N*N),即,节点B,节点B1-BN,以及节点B11-B1N、B21-B2N、……BN1-BNN。
由此,假设目标节点的第一数目为num,则需查询节点的第二数目为num*。通过本实现方式,可以根据目标节点的第一数目、多跳邻居的跳数、以及图数据中节点的度的统计值,计算需查询节点的第二数目。
在一些实现方式中,图数据对应的图可以是同构图,也可以是异构图。在异构图的场景中,图数据中可以包括多种类型的节点和多种类型的边。节点的度的统计值可以包括不同类型节点的不同类型边的度的统计值。此时,在计算目标节点的对应的需查询节点的数目时,可以基于不同类型节点的不同类型边的度的统计值进行计算。以目标节点C为例,假设图数据中包括E、F、G三种类型的节点,包括I和J两种类型的边,目标节点C为E类型节点,则目标节点C的一跳邻居节点的数目可以为:
f(E,E,I)+f(E,E,J)+f(E,F,I)+f(E,F,J)+f(E,G,I)+f(E,G,J);
其中,f(x,y,z)可以表示x类型节点到y类型节点的z类型边的度的统计值。同理,假设目标节点C的各个一跳邻居节点为节点C10,则目标节点C的二跳邻居节点的数目,可以为各个节点C10对应的一跳邻居节点之和。依次类推,可以得到目标节点C的各跳邻居节点的数目,而各跳邻居节点的数目之和,即为,目标节点C的多跳邻居节点的数目。由此,可以得到目标节点C对应的需查询节点的数目。通过本实现方式,可以基于不同类型节点的不同类型边的度的统计值,计算第二数目,由此,可以使计算得到的第二数目更加准确。
在一些实现方式中,图计算任务的任务类型中还指示依赖的边类型。比如,用户与设备关联图中有多种类型的设备,对应多种连接边。当前的图计算任务需要查询若干个用户与某种指定类型的设备的连接情况,则可以在任务类型中指示依赖的边类型为该指定类型的设备对应的连接边的类型,此时,计算第二数目时,只需考虑指定类型边的统计值。
步骤202,基于第二数目,确定从目标存储系统中以单点查询的方式读取所需数据的预测耗时。
在本实施例中,可以通过多种方式,基于第二数目确定从目标存储系统以单点查询的方式读取所需数据的预测耗时。举例来说,技术人员可以根据从目标存储系统获取数据的历史经验,预先设置一张对应关系表,该对应关系表中可以存储多个数目区间与耗时的对应关系,之后,可以建立该对应关系表与计算引擎所在的设备或者设备集群的连接关系。这样,计算引擎在确定需查询节点的第二数目之后,可以将第二数目与上述对应关系表中的多个数目区间进行匹配,并将相匹配的数目区间对应的耗时确定为预测耗时。
在一些实现方式中,上述步骤202还可以包括以下内容:
1),确定通过单点查询接口执行单次查询的期望耗时。
在本实现方式中,上述期望耗时可以是通过对目标存储系统进行单点查询耗时的统计分析得到的。例如,可以计算多次单点查询耗时的平均值、中位值等统计值,并将该统计值作为期望耗时。
2),根据期望耗时和第二数目,确定预测耗时。
在本实现方式中,可以根据单点查询接口执行单次查询的期望耗时,以及图计算任务对应的需查询节点的第二数目,计算预测耗时。例如,可以将第二数目与期望耗时的乘积作为预测耗时。
步骤203,在预测耗时满足预设条件的情况下,通过单点查询接口从目标存储系统读取所需数据。
在本实施例中,可以根据实际需要设置一个预设条件,当预测耗时满足该预设条件时,通过目标存储系统的单点查询接口获取所需数据。举例来说,可以根据图数据的数据量和当前网络状况,例如,网络速度、网络类型等等,预估将图数据全量加载到计算引擎本地的全量加载耗时,并将上述预测耗时小于全量加载耗时作为预设条件,在预测耗时小于全量加载耗时的情况下,通过单点查询接口从目标存储系统读取所需数据。
在一些实现方式中,上述预设条件可以包括,预测耗时小于预设的时长阈值。作为示例,该时长阈值可以是技术人员根据实际需要设定的。
在一些实现方式中,上述图计算任务中获取图数据的方法,还可以包括图2中未示出的以下内容:响应于预测耗时不满足预设条件,将图数据从目标存储系统全量加载到本地,以用于执行图计算任务。
实践中,以单点查询的方式从目标存储系统读取单个节点的一跳子图的耗时相对固定,所以,可以假设从目标存储系统查询单个节点的一跳子图的时长为固定时长。因此,当图计算任务对应的需查询节点的节点数目(即,第二数目)较小时,通过单点查询方式获取数据的耗时也会相应较小。此时,直接通过单点查询的方式从目标存储系统读取数据,可以避免大量无效数据(比如,图计算任务不需要的点边数据)的加载,减少了图数据获取的耗时。
反之,当图计算任务对应的需查询节点的节点数据较大时,通过单点查询方式获取数据的耗时也会相应较大,甚至可能会超过将图数据从目标存储系统全量加载到本地的耗时。此时,采用将图数据全量加载到本地的方式获取数据,可以避免大量节点采用单点查询的方式获取数据带来的耗时问题,从而减少了图数据获取的耗时。
举例来说,以图计算任务对应的关系网络图为资金转移图为例,进行如下假设:
假设1:图数据与计算引擎部署于不同的设备或者设备集群;
假设2:目标存储系统提供批量下载接口,下载速率为100MB/s;
假设3:目标存储系统还提供单点查询接口,查询一次RT(Response-time,响应时间)为100ms;
假设4:资金转移图中存在20亿个用户节点,每个节点占用存储1KB;
假设5:每个用户平均出度为n,每条边占用存储1KB,则平均每个用户边占用存储nKB。
基于上述假设,可以推论,全量资金转移图占用的存储空间为20*(n+1)*1亿KB。
在计算场景1中,图计算任务1为,计算每个用户所有存储资金的金额数目。在处理图计算任务1时,需要获取所有用户节点的数据,如果使用批量下载方式获取所需数据,则预测耗时(S)为:
图计算任务1中指示的目标节点为所有用户节点,任务类型可以为处理每个用户节点的一跳邻居,由此可知,目标节点的第一数目为20亿,需查询节点的第二数目也为20亿。由假设3可知,通过单点查询接口查询一次的耗时为100ms。因此,基于第二数目20亿,可以预测如果使用单点查询的方式获取图计算任务1的所需数据,则预测耗时(S)为:
20*n*10000*10000*0.1=200000000*n。
在计算场景2中,图计算任务2为,计算用户“张三”总共转出多少资金,在处理图计算任务2时,如果使用批量下载方式获取所需数据,则预测耗时(S)为:
图计算任务2中指示的目标节点为用户“张三”对应的节点,任务类型可以为处理“张三”对应的节点的一跳邻居。由此可知,目标节点的第一数目为1,需查询节点的第二数目也为1,也就是说,仅需查询用户“张三”对应节点的一跳子图。因此,基于第二数目1,可以预测如果使用单点查询的方式获取图计算任务2所需数据,则预测耗时(S)为0.1s。
由上述两个计算场景对比,可以发现,当需要查询的节点超过19530*(n+1),或者预测耗时超过1953*(n+1)秒时,使用批量下载方式优于使用单点查询方式。而在需要查询的节点较少的情况下,使用单点查询方式获取数据,可以大幅度减少数据的获取时间。为了选取更加适合的数据获取方式,可以预设条件,例如,预设条件可以为预测耗时小于预设的时长阈值,由此,在预测耗时满足预设条件的情况下,通过单点查询方式获取图数据。在预测耗时不满足预设条件的情况下,使用批量下载方式获取图数据。
回顾以上过程,在本说明书的实施例中,首先根据图计算任务中指定的目标节点的第一数目和任务类型,确定需查询节点的第二数目。而后,基于第二数目,预测从存储图数据的目标存储系统中以单点查询方式读取所需数据的耗时,在预测耗时满足预设条件时,通过单点查询接口从目标存储系统读取所需图数据进行图计算。由此,在预测耗时满足预设条件的情况下,计算引擎可以通过远程查询目标存储系统的方式直接获取所需图数据,从而避免将图数据全量加载到计算引擎本地,减少了图数据获取的耗时,提高了图计算的效率。
根据另一方面的实施例,提供了一种图计算任务中获取图数据的装置。所述图数据存储于目标存储系统,所述目标存储系统提供单点查询接口,所述单点查询接口用于查询所述图数据中任意节点的一跳子图。所述装置部署于计算引擎,该计算引擎可以部署在任何具有计算、处理能力的设备或设备集群中。
图5示出了根据一个实施例的图计算任务中获取图数据的装置的示意性框图。如图5所示,该图计算任务中获取图数据的装置500包括:第一确定单元501,配置为,根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;第二确定单元502,配置为,基于上述第二数目,确定从上述目标存储系统中以单点查询的方式读取所需数据的预测耗时;读取单元503,配置为,在上述预测耗时满足预设条件的情况下,通过上述单点查询接口从上述目标存储系统读取所需数据。
在本实施例的一些可选的实现方式中,上述预设条件为,上述预测耗时小于预设的时长阈值。
在本实施例的一些可选的实现方式中,上述装置500还包括:加载单元(图中未示出),配置为,响应于上述预测耗时不满足上述预设条件,将上述图数据从上述目标存储系统全量加载到本地,以用于执行上述图计算任务。
在本实施例的一些可选的实现方式中,上述第二确定单元502进一步配置为:确定通过上述单点查询接口执行单次查询的期望耗时,其中,上述期望耗时是通过对上述目标存储系统进行单点查询耗时的统计分析得到的;根据上述期望耗时和上述第二数目,确定上述预测耗时。
在本实施例的一些可选的实现方式中,上述任务类型指示处理上述目标节点的一跳邻居;上述第一确定单元501进一步配置为:将上述第一数目确定为第二数目。
在本实施例的一些可选的实现方式中,上述任务类型指示处理上述目标节点的多跳邻居;以及,上述第一确定单元501进一步配置为:根据上述第一数目、上述多跳邻居的跳数,以及针对上述图数据中节点的度的统计值,计算上述第二数目。
在本实施例的一些可选的实现方式中,上述图数据中包括多种类型的节点和多种类型的边;上述节点的度的统计值包括,不同类型节点的不同类型边的度的统计值。
在本实施例的一些可选的实现方式中,度的统计值包括以下至少一种:度的平均值、出度的平均值、出度的中位数。
在本实施例的一些可选的实现方式中,上述目标存储系统为分布式文件系统。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令计算机执行图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,其特征在于,上述存储器中存储有可执行代码,上述处理器执行上述可执行代码时,实现图2所描述的方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种图计算任务中获取图数据的方法,所述图数据存储于目标存储系统,所述目标存储系统提供单点查询接口,所述单点查询接口用于查询所述图数据中任意节点的一跳子图;所述方法由计算引擎执行,包括:
根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;
基于所述第二数目,确定从所述目标存储系统中以单点查询的方式读取所需数据的预测耗时;
在所述预测耗时满足预设条件的情况下,通过所述单点查询接口从所述目标存储系统读取所需数据。
2.根据权利要求1所述的方法,其中,所述预设条件为,所述预测耗时小于预设的时长阈值。
3.根据权利要求1所述的方法,其中,所述方法还包括:
响应于所述预测耗时不满足所述预设条件,将所述图数据从所述目标存储系统全量加载到本地,以用于执行所述图计算任务。
4.根据权利要求1所述的方法,其中,所述基于所述第二数目,确定从所述目标存储系统中以单点查询的方式读取所需数据的预测耗时,包括:
确定通过所述单点查询接口执行单次查询的期望耗时,其中,所述期望耗时是通过对所述目标存储系统进行单点查询耗时的统计分析得到的;
根据所述期望耗时和所述第二数目,确定所述预测耗时。
5.根据权利要求1所述的方法,其中,所述任务类型指示处理所述目标节点的一跳邻居;所述确定需查询节点的第二数目,包括:将所述第一数目确定为第二数目。
6.根据权利要求1所述的方法,其中,所述任务类型指示处理所述目标节点的多跳邻居;以及,所述确定需查询节点的第二数目,包括:
根据所述第一数目、所述多跳邻居的跳数,以及针对所述图数据中节点的度的统计值,计算所述第二数目。
7.根据权利要求6所述的方法,其中,所述图数据中包括多种类型的节点和多种类型的边;所述节点的度的统计值包括,不同类型节点的不同类型边的度的统计值。
8.根据权利要求6或7所述的方法,其中,度的统计值包括以下至少一种:度的平均值、出度的平均值、出度的中位数。
9.根据权利要求1所述的方法,其中,所述目标存储系统为分布式文件系统。
10.一种图计算任务中获取图数据的装置,所述图数据存储于目标存储系统,所述目标存储系统提供单点查询接口,所述单点查询接口用于查询所述图数据中任意节点的一跳子图;所述装置部署于计算引擎,包括:
第一确定单元,配置为,根据图计算任务中指定的目标节点的第一数目以及任务类型,确定需查询节点的第二数目;
第二确定单元,配置为,基于所述第二数目,确定从所述目标存储系统中以单点查询的方式读取所需数据的预测耗时;
读取单元,配置为,在所述预测耗时满足预设条件的情况下,通过所述单点查询接口从所述目标存储系统读取所需数据。
11.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。
12.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311572234.9A CN117290560B (zh) | 2023-11-23 | 2023-11-23 | 图计算任务中获取图数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311572234.9A CN117290560B (zh) | 2023-11-23 | 2023-11-23 | 图计算任务中获取图数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290560A true CN117290560A (zh) | 2023-12-26 |
CN117290560B CN117290560B (zh) | 2024-02-23 |
Family
ID=89253817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311572234.9A Active CN117290560B (zh) | 2023-11-23 | 2023-11-23 | 图计算任务中获取图数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290560B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN109460491A (zh) * | 2018-10-19 | 2019-03-12 | 中山大学 | 基于Neo4j数据库的时序最短路径查询方法 |
CN111563181A (zh) * | 2020-05-12 | 2020-08-21 | 海口科博瑞信息科技有限公司 | 数字图像文件查询方法、装置及可读存储介质 |
CN112395365A (zh) * | 2019-08-14 | 2021-02-23 | 北京海致星图科技有限公司 | 一种知识图谱批量离线查询解决方案 |
CN113626723A (zh) * | 2021-07-09 | 2021-11-09 | 中国科学院信息工程研究所 | 一种基于表示学习的属性图社区搜索方法和系统 |
CN113722520A (zh) * | 2021-11-02 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 图数据的查询方法及装置 |
CN114139022A (zh) * | 2022-01-30 | 2022-03-04 | 支付宝(杭州)信息技术有限公司 | 子图抽取方法和装置 |
WO2022057310A1 (zh) * | 2020-09-15 | 2022-03-24 | 华为技术有限公司 | 一种图神经网络训练的方法、装置及系统 |
CN114443780A (zh) * | 2021-12-28 | 2022-05-06 | 阿里云计算有限公司 | 数据处理方法、装置、设备和存储介质 |
CN114443911A (zh) * | 2021-12-28 | 2022-05-06 | 度小满科技(北京)有限公司 | 一种图数据语义分析方法、装置、设备及可读存储介质 |
CN114564571A (zh) * | 2022-04-21 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 一种图数据查询方法和系统 |
CN115203348A (zh) * | 2022-06-22 | 2022-10-18 | 深圳依时货拉拉科技有限公司 | 信息处理方法、装置、存储介质及服务器 |
CN115510260A (zh) * | 2022-09-26 | 2022-12-23 | 武汉虹信技术服务有限责任公司 | 一种目标图像检索方法及系统 |
CN115563346A (zh) * | 2022-09-26 | 2023-01-03 | 杭州欧若数网科技有限公司 | 基于权限控制的图功能实现方法、系统、电子设备及存储介质 |
WO2023056928A1 (zh) * | 2021-10-08 | 2023-04-13 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询 |
CN116360981A (zh) * | 2023-03-03 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 资源管理方法以及装置 |
CN116541427A (zh) * | 2023-06-30 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、设备及存储介质 |
CN116910283A (zh) * | 2023-05-04 | 2023-10-20 | 中国科学院信息工程研究所 | 一种针对网络行为数据的图存储方法及系统 |
-
2023
- 2023-11-23 CN CN202311572234.9A patent/CN117290560B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN109460491A (zh) * | 2018-10-19 | 2019-03-12 | 中山大学 | 基于Neo4j数据库的时序最短路径查询方法 |
CN112395365A (zh) * | 2019-08-14 | 2021-02-23 | 北京海致星图科技有限公司 | 一种知识图谱批量离线查询解决方案 |
CN111563181A (zh) * | 2020-05-12 | 2020-08-21 | 海口科博瑞信息科技有限公司 | 数字图像文件查询方法、装置及可读存储介质 |
WO2022057310A1 (zh) * | 2020-09-15 | 2022-03-24 | 华为技术有限公司 | 一种图神经网络训练的方法、装置及系统 |
CN113626723A (zh) * | 2021-07-09 | 2021-11-09 | 中国科学院信息工程研究所 | 一种基于表示学习的属性图社区搜索方法和系统 |
WO2023056928A1 (zh) * | 2021-10-08 | 2023-04-13 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询 |
CN113722520A (zh) * | 2021-11-02 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 图数据的查询方法及装置 |
CN114443780A (zh) * | 2021-12-28 | 2022-05-06 | 阿里云计算有限公司 | 数据处理方法、装置、设备和存储介质 |
CN114443911A (zh) * | 2021-12-28 | 2022-05-06 | 度小满科技(北京)有限公司 | 一种图数据语义分析方法、装置、设备及可读存储介质 |
CN114139022A (zh) * | 2022-01-30 | 2022-03-04 | 支付宝(杭州)信息技术有限公司 | 子图抽取方法和装置 |
CN114564571A (zh) * | 2022-04-21 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 一种图数据查询方法和系统 |
CN115203348A (zh) * | 2022-06-22 | 2022-10-18 | 深圳依时货拉拉科技有限公司 | 信息处理方法、装置、存储介质及服务器 |
CN115510260A (zh) * | 2022-09-26 | 2022-12-23 | 武汉虹信技术服务有限责任公司 | 一种目标图像检索方法及系统 |
CN115563346A (zh) * | 2022-09-26 | 2023-01-03 | 杭州欧若数网科技有限公司 | 基于权限控制的图功能实现方法、系统、电子设备及存储介质 |
CN116360981A (zh) * | 2023-03-03 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 资源管理方法以及装置 |
CN116910283A (zh) * | 2023-05-04 | 2023-10-20 | 中国科学院信息工程研究所 | 一种针对网络行为数据的图存储方法及系统 |
CN116541427A (zh) * | 2023-06-30 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
RUIYUN ZHANG; SHUO CHANG; ZHIQING WEI; YIFAN ZHANG; SAI HUANG; ZHIYONG FENG: "Modulation Classification of Active Attacks in Internet of Things: Lightweight MCBLDN With Spatial Transformer Network", IEEE INTERNET OF THINGS JOURNAL, pages 19132 - 19146 * |
李高超;李卢毓海;刘梦雅;刘燕兵;: "基于二级索引结构的图压缩算法", 通信学报, no. 06, pages 113 - 119 * |
王子奇: "基于知识图谱的遥感图像检索定位方法", 中国优秀硕士学位论文全文数据库, pages 028 - 263 * |
Also Published As
Publication number | Publication date |
---|---|
CN117290560B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859054B (zh) | 网络社团挖掘方法、装置、计算机设备及存储介质 | |
KR102499076B1 (ko) | 그래프 데이터 기반의 태스크 스케줄링 방법, 디바이스, 저장 매체 및 장치 | |
US10103942B2 (en) | Computer processing method and system for network data | |
US9268796B2 (en) | Systems and methods for quantile estimation in a distributed data system | |
WO2018176385A1 (en) | System and method for network slicing for service-oriented networks | |
Hong | A distributed, asynchronous and incremental algorithm for nonconvex optimization: An admm based approach | |
CN111400555B (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
US11294736B2 (en) | Distributed processing system, distributed processing method, and recording medium | |
CN110728432A (zh) | 一种运力调度方法和装置、电子设备、存储介质 | |
CN112669091A (zh) | 数据处理方法、装置及存储介质 | |
CN113900779A (zh) | 任务执行方法、装置、电子设备及存储介质 | |
CN117290560B (zh) | 图计算任务中获取图数据的方法和装置 | |
CN112494935A (zh) | 一种云游戏平台池化方法、电子设备及存储介质 | |
CN117278566A (zh) | 算力节点选择方法、装置、电子设备及可读存储介质 | |
CN110019372B (zh) | 数据监控方法、装置、服务器及存储介质 | |
CN116303418A (zh) | 基于物联网平台的海量规则处理方法、系统及存储介质 | |
CN110851268A (zh) | 一种基于拥塞博弈的边缘调度优化方法 | |
CN113392130B (zh) | 数据处理方法、装置及设备 | |
CN116389266A (zh) | 一种基于强化学习的数字孪生网络切片的方法和装置 | |
CN113626282B (zh) | 云计算物理节点负载监控方法、装置、终端及存储介质 | |
CN112948114B (zh) | 边缘计算方法和边缘计算平台 | |
CN114385316A (zh) | 容器调度方法、装置及云服务器 | |
CN114461390A (zh) | 结合多维度分析和关键路径法的评估方法及相关装置 | |
CN108958902B (zh) | 图计算方法和系统 | |
CN112749004B (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 |