CN117917654A - 图计算方法、装置、计算机集群及计算机存储介质 - Google Patents
图计算方法、装置、计算机集群及计算机存储介质 Download PDFInfo
- Publication number
- CN117917654A CN117917654A CN202211273798.8A CN202211273798A CN117917654A CN 117917654 A CN117917654 A CN 117917654A CN 202211273798 A CN202211273798 A CN 202211273798A CN 117917654 A CN117917654 A CN 117917654A
- Authority
- CN
- China
- Prior art keywords
- graph
- calculation
- data
- incremental
- full
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 622
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 description 58
- 238000004422 calculation algorithm Methods 0.000 description 49
- 238000004088 simulation Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 30
- 238000007781 pre-processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了一种图计算方法、装置、计算机集群及计算机存储介质,以满足图计算的精度和性能要求。该方法包括:获取图数据对应的数据特征,图数据包括存量图数据和新增的增量图数据;将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式,目标图计算模式为全量图计算模式或增量图计算模式,全量图计算模式用于对全量图数据进行图计算,增量图计算模式用于对子图数据进行图计算,全量图数据为存量图数据合并增量图数据得到的,子图数据为增量图数据合并存量图数据中受增量图数据影响的数据得到的;根据目标图计算模式对图数据进行图计算,得到计算结果。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种图计算方法、装置、计算机集群及计算机存储介质。
背景技术
图计算是对关系网络数据(图数据)分析和挖掘的重要方法,在各个行业有着广泛的应用,例如:互联网领域中,通过图计算中的PageRank、Personal PageRank、trust Rank等算法,利用网页引用关系数据,进行产品推荐、网页排名等业务;金融领域中,通过图计算中的环路检测、极大团等算法,利用资金转账关系数据,进行反洗钱、信贷担保等业务。
从图计算模式上看,目前图计算模式主要有两种:全量图计算模式和增量图计算模式。全量图计算模式,图数据发生增量变化时,对当前所有图数据进行全局图计算,得到全量图数据的计算结果。增量图计算模式,图数据发生增量变化时,将新增的数据影响的局部子图数据进行抽取,对局部子图数据进行局部图计算,然后将局部图计算结果与已知的存量图数据的计算结果进行合并,得到全量图数据的计算结果。该计算模式只需计算增量更新引起的部分结果,复用存量图计算结果,减少了存量图的重复计算,在一定条件下,性能远远优于全量图计算模式。
全量图计算模式业务精度高,但占用较多的计算资源。而增量图计算模式所需计算资源少,但会导致误差累积,无法满足业务精度要求。并且,受不确定性的增量数据、图计算算法特性等因素影响,增量图计算模式性能可能没有全量图计算模式性能高。
发明内容
本申请提供了一种图计算方法、装置、计算机集群及计算机存储介质,以满足图计算的精度和性能要求。
第一方面,本申请提供一种图计算方法。该方法包括:获取图数据对应的数据特征,将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式,根据目标图计算模式对图数据进行图计算,得到计算结果。其中,图数据包括存量图数据和新增的增量图数据。目标图计算模式为全量图计算模式或增量图计算模式。全量图计算模式用于对全量图数据进行图计算。增量图计算模式用于对子图数据进行图计算。全量图数据为存量图数据合并增量图数据得到的。子图数据为增量图数据合并存量图数据中受增量图数据影响的数据得到的。本申请通过将图数据的数据特征输入图计算模式决策模型,由图计算模式决策模型确定对图数据进行图计算的图计算模式,从而基于图数据特征实现全量图计算模式和增量图计算模式的自动选择,并非持续在单一的一种图计算模式下,从而能够结合全量图计算模式和增量图计算模式的优势,同时满足图计算精度要求和性能要求。
在一种可能的实现方式中,目标图计算模式为全量图计算模式和增量图计算模式中,图计算决策模型预测的完成图数据的图计算时长更短的模式。图计算决策模型能够根据图数据的特征选择全量图计算模式和增量图计算模式中用时更短的图计算模式,保证图计算的性能要求。
在一种可能的实现方式中,目标图计算模式为全量图计算模式,数据特征包括全量图数据对应的全量图数据特征,根据目标图计算模式对图数据进行图计算,得到计算结果之前,还包括:将全量图数据特征输入计算资源预测模型,得到对全量图数据进行图计算所需的预测计算资源;当可利用计算资源大于或等于预测计算资源时,执行根据目标图计算模式对图数据进行图计算,得到计算结果的步骤。当全量图数据的数据量大时,对全量图数据进行计算可能导致计算机集群承载和计算当前的全量数据规模,存在内存资源不足的风险。因而,对全量图计算模式下所需的计算资源进行预测得到预测计算资源,在集群的可利用计算资源大于预测计算资源时进行全量图计算,能够保证全量图计算正常、可持续地运行。
在一种可能的实现方式中,目标图计算模式为增量图计算模式,方法还包括:根据增量图计算模式对子图数据进行图计算,得到增量图计算结果;根据增量图计算结果获得的增量图计算精度;当增量图计算精度小于精度阈值时,切换至全量图计算模式对图数据进行图计算,得到计算结果。在增量图计算模式下,进一步获取增量图计算模式对应的图计算精度,在图计算精度不满足精度要求时,切换至全量图计算模式,从而保证图计算业务的精度要求。
在一种可能的实现方式中,方法还包括:基于全量图计算模式对历史图数据中多个模拟增量批次对应的模拟全量图数据进行图计算,以获得第一资源使用信息,第一资源使用信息包括全量图计算模式下每一模拟增量批次对应的资源使用信息。基于增量图计算模式对历史图数据中多个模拟增量批次对应的模拟子图数据进行图计算,以获得第二资源使用信息,第二资源使用信息包括增量图计算模式下每一模拟增量批次对应的资源使用信息。根据第一资源使用信息和第二资源使用信息进行模型训练,得到训练模型,训练模型包括图计算模式决策模型。通过根据历史数据进行模型训练,能够提高训练模型的准确性,从而在使用图计算决策模型进行推理时,能够保证推理结果的精确度,更准确地在全量图计算模式和增量图计算模式中选取满足性能要求的图计算模式。
在一种可能的实现方式中,第一资源使用信息包括全量图计算模式下完成每一模拟增量批次的计算的第一时长,第二资源使用信息包括增量图计算模式下完成每一模拟增量批次的计算的第二时长,根据资源使用信息进行模型训练包括:确定每一模拟增量批次对应的性能标签,性能标签为第一时长和第二时长中的较小者对应的图计算模式;将每一模拟增量批次对应的模拟数据特征作为第一模型的输入,模拟增量批次对应的性能标签作为第一模型的输出对第一模型进行训练,得到图计算模式决策模型。从而,训练得到的图计算模式决策模型能够根据图数据特征准确地预测增量图计算模式和全量图计算模式中,用时更短、性能更好的图计算模式。
在一种可能的实现方式中,第一资源使用信息包括计算资源使用信息,训练模型还包括每一模拟增量批次对应的计算资源预测模型,根据资源使用信息进行模型训练,包括:将模拟增量批次对应的模拟全量图数据的模拟全量图数据特征作为第二模型的输入,模拟增量批次对应的计算资源使用信息作为第二模型的输出对第二模型进行训练,得到计算资源预测模型。从而,根据计算资源预测模型能够根据图数据特征准确地预测全量图计算模式下所需的计算资源,降低可利用计算资源不足导致全量图计算无法持续运行的可能,保障图计算的长期可持续运行。
在一种可能的实现方式中,数据特征包括聚类系数、图直径、平均度和增量图占比中的至少一者。上述的图数据特征与图计算的耗时和计算资源的占用有关,因而,采用上述的图数据特征能够用于性能预测和计算资源预测,并且预测结果准确性和可靠性高。
第二方面,本申请提供一种图计算装置。该装置包括获取模块、推理模块和计算模块。其中,获取模块,用于获取图数据对应的数据特征,图数据包括存量图数据和新增的增量图数据。推理模块,用于将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式,目标图计算模式为全量图计算模式或增量图计算模式,全量图计算模式用于对全量图数据进行图计算,增量图计算模式用于对子图数据进行图计算,全量图数据为存量图数据合并增量图数据得到的,子图数据为增量图数据合并存量图数据中受增量图数据影响的数据得到的。计算模块,用于根据目标图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,目标图计算模式为全量图计算模式和增量图计算模式中,图计算决策模型预测的完成图数据的图计算时长更短的模式。
在一种可能的实现方式中,目标图计算模式为全量图计算模式时,数据特征包括全量图数据对应的全量图数据特征,装置还包括资源预测模块。推理模块,还用于将全量图数据特征输入计算资源预测模型,得到对全量图数据进行图计算所需的预测计算资源。计算模块,用于在当可利用计算资源大于或等于预测计算资源时,根据目标图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,目标图计算模式为增量图计算模式时,计算模块,用于根据增量图计算模式对子图数据进行图计算,得到增量图计算结果。获取模块,用于根据增量图计算结果获得的增量图计算精度。计算模块,用于当增量图计算精度小于精度阈值时,切换至全量图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,装置还包括预处理模块和训练模块;其中,预处理模块,用于基于全量图计算模式对历史图数据中多个模拟增量批次对应的模拟全量图数据进行图计算,以获得第一资源使用信息,第一资源使用信息包括全量图计算模式下每一模拟增量批次对应的资源使用信息。预处理模块,用于基于增量图计算模式对历史图数据中多个模拟增量批次对应的模拟子图数据进行图计算,以获得第二资源使用信息,第一资源使用信息包括增量图计算模式下每一模拟增量批次对应的资源使用信息。训练模块,用于根据第一资源使用信息和第二资源使用信息进行模型训练,得到训练模型,训练模型包括图计算模式决策模型。
在一种可能的实现方式中,第一资源使用信息包括全量图计算模式下完成每一模拟增量批次的计算的第一时长,第二资源使用信息包括增量图计算模式下完成每一模拟增量批次的计算的第二时长。获取模块,用于获取每一模拟增量批次对应的性能标签,性能标签为第一时长和第二时长中的较小者对应的图计算模式。训练模块,用于将每一模拟增量批次对应的模拟图数据的模拟数据特征作为第一模型的输入,模拟增量批次对应的性能标签作为第一模型的输出对第一模型进行训练,得到图计算模式决策模型,模拟图数据包括模拟增量图数据和模拟存量图数据。
在一种可能的实现方式中,第一资源使用信息包括每一模拟增量批次对应的计算资源使用信息,训练模型还包括计算资源预测模型。所述训练模块,还用于将模拟增量批次对应的模拟全量图数据的模拟全量图数据特征作为第二模型的输入,模拟增量批次对应的计算资源使用信息作为第二模型的输出对第二模型进行训练,得到计算资源预测模型。
在一种可能的实现方式中,数据特征包括聚类系数、图直径、平均度和增量图占比中的至少一者。例如增量图数据中的节点数量与全量图数据中节点数量的比值、增量图数据中的边数量与全量图数据中边数量的比值、增量图数据的平均度、全量图数据的平均度、全量图数据的图直径、全量图数据的聚类系数、子图数据的聚类系数、子图数据中的节点数量与全量图数据中节点数量的比值、子图数据中的边数量与全量图数据中边数量的比值,和子图数据中来自增量图数据的节点的数量与来自全量图数据的节点的数量的比值中的至少一者。
第三方面,本申请提供一种计算设备集群。计算机集群包括至少一个计算设备,每个计算设备包括处理器和存储器。至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行第一方面或第一方面任一种可能的实现方式的方法。
第四方面,提供一种计算机可读存储介质。计算机存储介质包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行第一方面或第一方面任一种可能的实现方式的方法。
附图说明
图1为本申请提供的增量图计算模式和全量图计算模式的示意图;
图2为本申请提供的一种图计算方法的第一实施例的流程示意图;
图3为本申请提供的混合图计算模式的场景示意图;
图4为本申请提供的图计算方法第二实施例的流程示意图;
图5为本申请提供的由增量图计算模式切换到全量图计算模式的场景示意图;
图6为本申请提供的一种图计算系统的结构示意图;
图7为本申请提供的一种图计算装置的结构示意图;
图8为本申请提供的一种计算机设备的结构示意图;
图9为本申请提供的一种计算机集群的结构示意图;
图10为本申请提供的另一种计算机集群的结构示意图。
具体实施方式
本申请提供了一种图计算方法、装置、计算机集群及计算机存储介质,以满足图计算的精度和性能要求。
图(graph)是一种由顶点(vertex)和连接顶点的边(edge)构成的数据结构。顶点为图中数据元素,也可称为节点(nodes)或结点。边表示相连的节点之间的逻辑关系。基于图这一数据结构存储的数据为图数据。图数据可以表示为G(V,E),V为图G中的顶点的集合,E为图G中边的集合。
图在多个行业有广泛的应用。例如,互联网、教育、社交网络、金融、城市工业和企业IT等领域。例如社交网络,可以基于图这一数据结构存储用户和用户之间的关系,用户为节点,用户间的关注关系为边。例如金融领域,可以基于图存储用户和用户间的交易关系,用户为节点,用户间的交易关系为边。例如互联网领域,可以基于图存储网站站点和网站站点的引用关系,网站站点为节点,网站站点的引用关系为边,等等。
图计算是指使用图计算算法对图数据进行计算,以对图数据进行分析和挖掘。根据图计算结果,可以实现好友、商品或资讯的个性化推荐,网页排序,金融风险识别,路径规划和网络节点故障检测等功能。图计算算法例如包括pagerank、personalpagerank、trustrank、连通分量算法(connected component,CC)、环路检测算法和极大团算法等。
随着图计算业务的持续运行,图数据的规模也在不断膨胀,每次触发图计算的时间间隔期间产生大量增量批次图数据,积累的海量数据规模,为图计算业务持久正常运行带来了巨大挑战。
目前,图计算模式主要有两种:全量图计算模式和增量图计算模式。具体地,如图1所示,图1为本申请提供的增量图计算模式和全量图计算模式的示意图。
对于t0到t1之间新增的增量图数据,全量图计算模式对t0时刻的全量图数据(即t1时刻的存量图数据)与增量图数据组成的全量图数据进行图计算,得到t1时刻的全量计算结果。全量图计算模式无需对数据进行特殊处理(局部子图数据抽取等),计算结果精度高。但一旦图数据发生微小的增量变化,该方案就需要重新对增量之后的全量图数据重新加载计算,历史的存量图被重复冗余计算,导致集群计算资源浪费,计算效率低。并且,当图数据膨胀到一定程度后触发图计算时,计算机集群资源无法承载和计算当前的全量图数据规模,存在内存资源不足的风险,导致业务无法持久运行。
对于t0到t1之间新增的增量图数据,增量图计算模式增量图数据影响的局部子图数据进行抽取,对局部子图数据进行图计算,然后将新增数据的结果与t0时刻的存量图计算结果进行合并,得到t1时刻的全量计算结果。增量图计算模式只需计算增量更新引起的部分图数据,复用存量计算结果,减少了存量图的重复计算,减少了计算资源的占用。但增量图计算模式由于难以有效的获取完全精确的受影响局部子图数据,理论表明增量图计算模式存在计算误差,业务长期运行导致误差累积,无法持久满足业务精度。并且,受不确定性的增量数据、图计算算法特性等因素影响,可能存在增量图计算模式性能没有全量图计算模式性能高的情况,即局部子图抽取时间+局部子图计算时间+结果合并时间>全量图计算模式的计算时间。
图计算业务运行中,主要存在两种不确定性:计算机集群中其他业务同时运行导致剩余可使用资源的不确定性,以及增量批次数据的不确定性。而目前,图计算业务往往是人为指定的全量图计算模式或者增量图计算模式的单一计算模式,受实际业务中的数据和资源等不确定性因素的影响,无法同时满足节约计算资源、提高业务性能和业务精度等要求,不能保证业务持久稳定地运行。
因此本申请提供如下实施例,以使图计算业务能够同时满足业务精度要求和性能要求,以保证业务持久稳定地运行。
如图2所示,图2为本申请提供的一种图计算方法的第一实施例的流程示意图。本实施例可应用于计算机集群中的一个或多个计算机设备。计算机设备可以为物理机,也可以为虚拟机或容器等虚拟化实例。本实施例包括如下步骤:
S201:获取图数据对应的数据特征,图数据包括存量图数据和新增的增量图数据。
本实施例中,图数据包括存量图数据和新增批次的新增图数据。存量图数据为产生增量数据前已经存在的图数据。根据存量图数据和增量图数据可以获得该新增批次的增量图数据对应的全量图数据。其中,全量图数据为存量图数据合并增量图数据得到的。例如图3中,批次batch1的存量图数据为存量图数据G0,batch1对应的全量图数据为存量图数据G0+batch1的增量图数据;batch3对应的存量图数据为存量图数据G0+batch1的增量图数据+batch2的增量图数据,batch3对应的全量图数据为存量图数据G0+batch1的增量图数据+batch2的增量图数据+batch3的增量图数据。
数据特征为从图数据中提取到的统计信息,能够表征图数据规模大小、复杂程度以及增量图数据在统计层面上带来的变化大小等。数据特征包括聚类系数、图直径、平均度和增量图占比中的至少一者。其中,聚类系数表示图中节点之间结集成团程度。聚类系数越大,途中节点间互通的可能性越大;反之越小。图直径为图中任意两个节点的所有最短路径中最长路径的长度,用于描述图的规模大小。图直径越大,图的规模越大;反之越小。平均度通过边的数量除以节点的数量得到,用于描述图整体的稠密程度。
图数据的聚类系数例如包括存量图数据、增量图数据和全量图数据中的至少一者的聚类系数。图数据的图直径例如包括存量图数据、增量图数据和全量图数据中的至少一者的图直径。图数据的平均度例如包括存量图数据、增量图数据和全量图数据中的至少一者的平均度。增量图占比例如包括,全量图数据中来自增量图数据的节点/边的占比等中的至少一者。
S202:将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式。
图计算决策模型用于根据图数据的数据特征,在全量图计算模式和增量图计算模式中确定一个图计算模式作为目标图计算模式。目标图计算模式为用于对图数据进行图计算的图计算模式。全量图计算模式用于对当前新增批次的增量图数据对应的全量图数据进行图计算(以下简称为全量图计算)。增量图计算模式用于对当前新增批次的增量图数据对应的子图数据进行图计算(以下简称为增量图计算)。
其中,子图数据为增量图数据合并存量图数据中受增量图数据影响的图数据得到的。子图数据为全量图数据中相对存量图数据而言存在变化的数据,子图数据为全量图数据的局部数据,数据规模小于全量图数据。
存量图数据中受增量图数据影响的图数据,可以包括直接受增量图影响的节点(以下简称直接影响节点)。直接影响节点例如为存量图数据中与增量图数据中的节点存在连接关系(边)的节点。例如图1中的节点1和节点2。存量图数据中受增量图数据影响的图数据,还可以包括间接受增量图影响的节点(以下简称间接影响节点)。例如,直接影响节点的变化可能会引起直接影响节点的邻居节点的变化,邻居节点的变化还可能会引起邻居节点的邻居节点的变化,即由增量图数据带来的影响可能会在存量图数据中传播。例如图1中的节点3和节点4。上述的邻居节点则为间接影响节点。为了避免增量图数据带来的影响在存量图数据中无限制地传播,导致子图数据规模过大或子图数据抽取时间过长,可以限制传播的迭代次数。或者,计算直接影响节点和间接影响节点受增量图数据影响的影响值,当影响值大于影响阈值时,可以向其邻居节点传播,当影响值小于或等于影响阈值时,则停止向其邻居节点传播。
本实施例中,图计算模式决策模型例如为用于预测全量图计算模式和增量图计算模式中,处理当前的图数据性能更好的图计算模式。即目标图计算模式为全量图计算模式和增量图计算模式中,图计算决策模型预测的完成图数据的图计算时长更短的模式。具体而言,当目标图计算模式为全量图计算模式时,说明在当前批次的增量图数据下,完成对应的全量图数据计算所需的时长更短。当目标图计算模式为增量图计算模式时,说明在当前批次的增量图数据下,完成对应的子图数据计算所需的时长更短。
图计算模式决策模型可以是根据历史图数据的数据特征和性能标签训练得到的。具体地,历史图数据的数据特征包括多个模拟增量批次对应的数据特征,历史图数据的性能标签则包括每一模拟增量批次对应的性能标签。性能标签指示对应的模拟增量批次下,全量图计算模式和增量图计算模式中完成对应的图计算用时更短的图计算模式。将每一模拟增量批次对应的数据特征作为第一模型的输入,同一增量批次对应的性能标签作为第一模型的输出对第一模型进行训练,以得到图计算模式决策模型。图计算模式决策模型的具体训练方式将在下文中进行详细的描述。第一模型为训练前的图计算模式决策模型。第一模型例如为梯度提升决策树(gradient boosting decision tree,GBDT)模型、随机森林模型或XGBoost模型等机器学习模型。当然,第一模型还可以为其他的分类模型,此处不做限制。
因而,图计算模式决策模型能够学习到数据特征与全量图计算模式和增量图计算模式之间的规律。进而,根据当前新增批次对应的图数据的数据特征,图计算模式决策模型能够输出与该数据特征关联性更强的图计算模式,即目标图计算模式。由于图计算决策模型在训练过程中是以性能标签为结果进行训练的,在图计算决策模型用于推理时,输出的目标图计算模式则为预测的处理新增批次对应的图数据性能更优的图计算模型。
S203:根据目标图计算模式对图数据进行图计算,得到计算结果。
当目标图计算模式为全量图计算模式时,对全量图数据进行图计算,得到计算结果。当目标图计算模式为增量图计算模式时,对子图数据进行图计算,得到增量图计算结果,增量图计算结果与存量图计算结果合并,得到计算结果。其中,存量图计算结果为存量图数据对应的计算结果,为已知结果。上述的计算结果为当前的全量图数据的计算结果。
本实施例中,通过获取图数据的数据特征,并使用图计算模式决策模型对数据特征进行分析,得到用于对该图数据进行图计算的目标图计算模型。从而,面对增量图数据的不确定性,根据增量图数据对应的数据特征,能够适应性地在全量图计算模式和增量图计算模式中选择对于当前图数据而言性能更好的图计算模式,保证图计算业务高性能、稳定地运行。
并且,在图计算业务的长期运行过程中,在不同的时间内会产生多个批次的增量图数据,不同批次的增量图数据之间带来的特征变化可能不相同,因此,不同批次使用的图计算模式也可能会不同。在保证图计算业务性能的前提下,当目标图计算模式为全量图计算模式时,能够保证图计算业务的精度,从而能够避免出现单一的增量图计算模式下误差累积导致不能满足业务精度的情况,做到同时图计算业务的满足精度要求和性能要求。
示例性地,如图3所示,对于batch2、batch3和batch4对应的图数据,由于图计算模式决策模型预测增量图计算模式性能更好,从而采用增量图计算模式对子图数据进行计算并于存量结果合并得到计算结果;对于batch1和batch5对应的图数据,由于图计算模式决策模型预测全量图计算模式性能更好,从而切换至全量计算模式,全量图计算模式下得到的计算结果无精度误差,从而能够避免误差继续累积,保证业务精度保持在可接受的范围内。从长期来看,全量图计算模式和增量图计算模式会交替用于图计算,区别于单一的图计算模式,本申请为混合图计算模式,从而能够在满足性能要求的前提下,还使图计算结果的精度维持在可接受的范围内。
在对图数据进行图计算的过程中,当目标图计算模式为全量图计算模式时,由于全量图数据的数据规模可能较大,对全量图数据进行全量图计算可能会占用较多的计算资源,当计算机集群的可利用的计算资源不足以支撑全量图数据的规模时,可能会导致图计算业务无法正常、持续地运行,图计算性能也会大大降低。而当目标图计算模式为增量图计算模式时,当前得到的图计算结果可能会存在精度不足的问题。因此,为了进一步保证图计算业务精度,以及图计算业务持久正常地运行,本申请还提供图计算方法的第二实施例。如图4所示,图4为本申请提供的图计算方法第二实施例的流程示意图。本实施例基于图计算方法的第一实施例,本实施例包括如下步骤:
S401:获取图数据对应的数据特征,图数据包括存量图数据和新增的增量图数据。
本步骤与S201类似,故此处不再赘述。
S402:将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式。
本步骤与S202类似,故此处不在赘述。
S403:若目标图计算模式为全量图计算模式,获取对全量图数据进行图计算所需的预测计算资源。
由于全量图数据的规模一般较大,为了避免计算机集群的可利用计算资源不足而无法承载全量图数据的计算导致图计算业务崩溃,本实施例在进行全量图计算之前,先预测全量图计算所需的预测计算资源,根据预测计算资源判断是否需要为图计算业务调度计算资源,以保障图计算业务的持久运行。计算资源例如包括内存资源或中央处理器(central processing unit,CPU)资源等软硬件资源。
本实施例可以通过将全量图数据特征输入计算资源预测模型,得到预测计算资源。其中,全量图数据特征为全量图数据对应的数据特征。例如包括全量图数据的聚类系数、图直径和平均度等中的至少一者。全量图数据特征用于表征全量图数据的规模和复杂度等。因而,能够将全量图数据特征用于预测对全量图数据进行图计算时所需的预测计算资源。
计算资源预测模型为根据历史图数据的数据特征和计算资源使用信息训练得到的。具体地,历史图数据的数据特征包括多个模拟增量批次下的模拟全量图数据对应的模拟全量图数据特征,计算资源使用信息则包括对每一模拟全量图数据进行图计算时消耗的最大计算资源。将模拟增量批次对应的模拟全量图数据的模拟全量图数据特征作为第二模型的输入,同一模拟增量批次对应的计算资源使用信息作为第二模型的输出对第二模型进行训练,以得到计算资源预测模型。从而,根据计算资源预测模型能够准确地预测对当前批次下的全量图数据进行图计算所需的最大计算资源。第二模型为训练前的计算资源预测模型,例如为最小绝对值收敛和选择算子(Least absolute shrinkage and selectionoperator,LASSO)回归模型、贝叶斯岭回归(Bayesian Ridge Regression)模型、线性回归模型或Elastic Net回归模型等回归类模型。计算资源预测模型的训练将在下文中详细描述。
S404:判断当前可利用计算资源是否大于预测计算资源。
在获取预测计算资源后,判断当前可利用的计算资源是否大于预测计算资源。若是,说明当前可利用计算资源充足,能够支撑全量图计算,则可以执行S409;若否,说明当前可利用计算资源不足,如果此时执行全量图计算,可能会因计算资源不足导致图计算业务无法正常、持续地运行,为了避免这种情况的发生,可以执行S405。
S405:根据预测计算资源分配用于全量图数据计算的计算资源。
在当前可利用计算资源不足以支持全量图计算时,则可以根据预测计算资源分配用于全量图数据计算的计算资源。例如,可以通过提高当前图计算业务的资源占用优先级,优先分配计算资源。当可利用计算资源大于或等于预测计算资源时,可以执行S409。
S406:若目标图计算模式为增量图计算模式,对子图数据进行图计算,得到增量图计算结果。
一般地,子图数据的规模小于全量图数据的规模,对计算资源的占用较小。因此,当目标图计算模式为增量图计算模式后,可以根据图计算算法和图计算算法的图计算算法特性参数对子图数据进行图计算,以得到增量图计算结果。
其中,增量图计算结果为子图数据的计算结果合并存量图计算结果得到的。存量图计算结果为存量图数据对应的计算结果,即增量图计算结果为当前的全量图数据的计算结果。
子图数据中有部分节点是来自于存量图数据的,因此存量计算结果和增量图计算结果中存在部分节点重合。对于存量计算结果中的重合的节点对应的计算结果,由增量图计算结果覆盖,以更新计算结果。
图计算算法可以为pagerank、personalpagerank、trustrank、CC算法、环路检测算法或极大团算法等。图计算算法的图计算算法特性参数用于对图计算算法进行约束、收敛和优化,使得模型的训练效率和训练后模型的性能更优。图计算算法特性参数例如包括收敛容差、最大迭代次数、图数据压缩策略、图数据分割策略等参数中的至少一者。
增量图计算结果例如包括全量图数据中每个节点的特征值,特征值的大小用于指示对应节点的重要程度、所属社团等。例如,当图计算算法为pagerank算法时,计算结果包括每一节点的page rank值(简称pr值)。当图计算算法为CC算法时,计算结果包括每一节点的社团信息。不同的图计算算法对应的特征值不同,在实际的应用场景中的作用也不相同,此处不一一举例。
S407:判断增量图计算结果的增量图计算精度是否小于精度阈值。
在增量图计算模式下得到增量图计算结果后,通过图算法计算结果精度评测方法,获取增量图计算结果的增量图计算精度。进一步地,判断增量图计算精度是否小于精度阈值。若是,则说明对于当前批次的增量图数据而言,增量图计算模式下的图计算精度不满足精度要求,切换到全量图计算模式对当前批次的增量图数据对应的全量图数据进行图计算,即执行S403,以保证图计算业务的精度维持在可接受的范围内。若否,则说明对于当前批次的增量图数据而言,增量图计算模式下的图计算精度满足精度要求,则执行S408。
图算法计算结果精度评测方法例如为,通过在增量图数据中预埋特征值已知的N个预埋节点,根据预埋点已知的特征值和增量图计算后得到的特征值获得增量图计算精度。具体地,预埋节点已知的特征值为第一特征值。在获得增量图计算结果后,获取增量图计算结果中N个预埋节点的第二特征值,将每一预埋节点的第一特征值与第二特征值进行比较,若误差在可接受范围内,则认为增量图计算结果中该预埋节点的计算结果是准确的;若误差超出了可接受范围,则认为增量图计算结果中该预埋节点的计算结果是不准确的。若计算结果准确的预埋节点数量M与增量图数据中所有的预埋节点数量N的比值则为增量图计算精度。其中,N为大于或等于1的整数,M为大于或等于0的整数。
当然,还可以通过在存量图数据中预埋特征值已知的预埋节点来获得增量图计算精度,或者既在增量图数据中预埋特征值已知的预埋节点,又在存量图数据中预埋特征值已知的预埋节点来获得增量图计算精度,增量图计算精度的计算方式与上述的方式类似,故此处不在赘述。
S408:输出增量图计算结果作为计算结果。
S409:对全量图数据进行计算,得到计算结果。
当目标图计算模式为全量图计算模式,或增量图计算模式下的增量图计算结果精度不符合要求时,则根据图计算算法和图计算算法的图计算算法特性参数对全量图数据进行计算,得到计算结果。
全量图计算模式采用的图计算算法与增量图计算模式采用的图计算算法和图计算算法特性参数相同。
本实施例中,首先通过图计算模式决策模型选择目标图计算模式,以保证基于目标图计算模式处理当前批次对应的图数据具有更好的性能。进一步地,在目标图计算模式为全量图计算模式时,还预测全量图计算所需的预测计算资源,在计算机集群中的可利用计算资源充足时进行全量图计算,以保证全量图计算的稳定、可靠和持续地运行。在目标图计算模式为增量图计算模式时,还判断该模式下的图计算精度是否符合要求,在不符合精度要求时,切换到全量图计算模式,通过全量图计算确保图计算业务的精度,避免在增量图计算模式下误差继续累积。从而,通过本实施例提供的方案,能够做到既保证图计算业务的性能,又保证图计算精度,还能够保证全量图计算模式下不会因计算机集群的可利用计算资源不足导致业务崩溃,使得图计算业务能够长期持续稳定地运行。
如图5所示,对于前五次批次的增量图数据,由于图计算模式决策模型预测增量图计算模式性能更好,从而采用增量图计算模式对子图数据进行计算并于存量图计算结果合并得到计算结果;当运行至第六次批次的增量图数据时,由于多次增量图计算模式的累积误差无法满足业务精度,从而切换至全量计算模式,全量图计算模式下得到的计算结果无精度误差,从而避免误差继续累积,保证业务精度保持在可接受的范围内。
需要说明的是,在一些可能的实现方式中,上述的S403-S405可以是可选的步骤。在另一实施方式中,上述的S407可以是可选的步骤。
以下对图计算模式决策模型和计算资源预测模型的训练方法进行描述。本实施例中,训练图计算模式决策模型和计算资源预测模型的计算机集群,与使用训练图计算模式决策模型和计算资源预测模型进行推理的计算机集群,可以是同一个计算机集群,也可以是不同的计算机集群。训练图计算模式决策模型和计算资源预测模型的可以是计算机集群中的一个计算机设备,也可以是多个计算机设备。使用训练图计算模式决策模型和计算资源预测模型进行推理的可以是计算机集群中的一个计算机设备,也可以是多个计算机设备,本申请对此不作限制。
模型的训练过程可以分为两个阶段,第一阶段对历史图数据进行预处理,获得历史图数据的数据特征和标签;第二阶段使用历史图数据的数据特征和标签对模型进行训练,以得到训练模型。
具体地,在历史数据预处理阶段,具体包括历史数据模拟分组处理、历史图数据的特征提取和历史图数据的模拟运行等步骤。历史图数据的特征提取和历史图数据的模拟运行这两个步骤互相独立,因此可以同时进行,也可以分时进行,时间先后不做限制。
1.历史数据模拟分组处理
历史数据例如包括历史图数据和历史计算结果。
对历史图数据进行模拟分组处理,是指将历史图数据分成模拟存量图数据和多个模拟增量批次的模拟增量图数据。具体地,历史图数据保存着带有时间戳相关字段的关系数据。随着时间不断增加的关系数据,按照图计算业务触发计算时间间隔大小和时间戳,将历史图数据处理成多个模拟增量批次,每一模拟增量批次对应的有模拟存量图数据和模拟增量图数据,用于模拟在线增量批次的场景。
同样,历史计算结果保存着带有时间戳相关字段的关系数据。历史计算结果中,根据带有时间戳的节点信息,可以得出每一模拟增量批次的模拟存量图数据对应的模拟存量计算结果,用于作为增量图计算模式输入的一部分。
2.历史图数据的特征提取
提取每一模拟增量批次对应的模拟数据特征。模拟数据特征包括聚类系数、图直径、平均度和增量图占比中的至少一者。模拟数据特征与使用训练模型进行推理时的数据特征相同,即与S201中的数据特征相同,以保证训练模型输出的预测结果的准确性。
聚类系数例如包括模拟存量图数据、模拟增量图数据和模拟全量图数据中的至少一者的聚类系数。图直径例如包括模拟存量图数据、模拟增量图数据和模拟全量图数据中的至少一者的图直径。平均度例如包括模拟存量图数据、模拟增量图数据和模拟全量图数据中的至少一者的平均度。增量图占比例如包括,模拟增量图数据中的节点的数量与模拟全量图数据中节点的数量的比值、模拟增量图数据中的边的数量与模拟全量图数据中边的数量的比值等中的至少一者。
其中,模拟全量图数据为模拟增量批次对应的模拟增量图数据和模拟存量图数据合并得到的。
3.历史图数据的模拟运行
基于全量图计算模式,使用图计算算法和图计算算法特性参数分别对多个模拟增量批次对应的模拟全量图数据进行图计算,以获得第一资源使用信息。第一资源使用信息包括全量图计算模式下每一模拟增量批次对应的资源使用信息。第一资源使用信息具体可以包括完成每一模拟增量批次的计算的第一时长,以及所使用的计算资源。
基于增量图计算模式,使用图计算算法和图计算算法特性参数分别对多个模拟增量批次对应的模拟子图数据进行图计算,以获得第二资源使用信息。第二资源使用信息具体可以包括完成每一模拟增量批次的计算的第二时长。当然,第二资源使用信息也可以包括所使用的计算资源。
历史图数据预处理阶段使用的图计算算法和图计算算法特性参数与推理阶段一致,即与S406和S409中使用的图计算算法、图计算算法特性参数相同。
进一步地,根据第一资源使用信息和第二资源使用信息为每一模拟增量批次标注性能标签。性能标签为全量图计算模式或增量图计算模式,指示在完成某一模拟增量批次进行相应的图计算性能更好,也即用时更少的图计算模式。
具体地,对于某一模拟增量批次,比较该模拟增量批次对应的第一时长和第二时长的大小,当第一时长小于第二时长时,可以确定该模拟增量批次的性能标签为全量图计算模式。即,对该模拟增量批次对应的模拟全量图数据进行图计算的耗时,要短于对该模拟增量批次对应的模拟子图数据进行图计算的耗时,对于该模拟增量批次而言,全量图计算模式性能更优。当第一时长大于或等于第二时长时,可以确定该模拟增量批次的性能标签为增量图计算模式。即,对该模拟增量批次对应的模拟子图数据进行图计算的耗时,要短于或等于对该模拟增量批次对应的模拟全量图数据进行图计算的耗时,对于该模拟增量批次而言,增量图计算模式性能更优。
在一些情况下,虽然增量图计算模式性能更优,但是可能存在对应的模拟增量图计算结果精度不满足要求。对于增量图计算模式性能更优但精度不满足要求的模拟增量批次不用于图计算模式决策模型的训练,以保证基于性能标签训练得到的图计算模式决策模型的准确性和稳定性。
经过对历史数据的预处理,可以得到可用于模型训练的模拟增量批次对应的模拟数据特征、性能标签,以及全量图计算模式下对应的计算资源使用信息。性能标签和计算资源使用信息均为模拟增量批次对应的标签。
进而,根据可用于模型训练的模拟增量批次中每一模拟增量批次对应的模拟数据特征和标签,可以对模型进行训练,以得到图计算模式决策模型和计算资源预测模型。
图计算模式决策模型的训练,具体是将模拟增量批次对应的数据特征作为第一模型输入,对应的性能标签作为第一模型输出,以训练得到图计算模式决策模型。即使新增批次的增量图数据具有不确定性,基于新增批次对应的数据特征和图计算模式决策模型也能够准确地预测更优的图计算模式。
计算资源预测模型的训练,具体是将模拟增量批次对应的全量图数据特征作为第二模型输入,全量模式内存资源使用最大值作为第二模型输出,以训练得到计算资源预测模型。即使新增批次的增量图数据具有不确定性,基于新增批次对应的全量图数据特征和图计算模式决策模型也能够准确地预测全量图计算模式在计算机集群中能够成功运行所需的计算资源。
为了使本申请的方案更易于理解,以下对本申请的整体架构进行简要地描述。如图6所示,图6为本申请提供的一种图计算系统的结构示意图。图计算系统包括图计算模式训练模块和计算模式感知调度模块。
计算模式训练模块包括历史图数据库、历史计算结果库、图算法配置信息库和业务参数信息库等。
历史图数据库中,按照时间间隔T和时间戳,进行增量数据模拟,标记历史图数据所属的模拟增量批次(batch),得到模拟增量图数据库。示例性地,如表1所示。
表1模拟增量图数据库
名称 | 说明 | 样例 |
源节点 | 关系边的起始节点 | a |
终点节点 | 关系边的指向节点 | b |
时间戳 | 关系边的入库时间 | 1654572378 |
模拟增量批次 | 间隔时间T内的批次 | batch1 |
提取每个模拟增量批次对应的数据特征,得到每一模拟增量批次对应的模拟数据特征库。示例性地,如表2所示。其中,inc_node_rate表示全量图数据中来自增量图数据的节点的占比,inc_edge_rate表示全量图数据中来自增量图数据的边的占比,all_graph_degree_mean表示全量图数据的平均度,inc_graph_degree_mean表示增量图数据的平均度。
表2模拟数据特征库
对于每一模拟增量批次对应的数据,分别在全量图计算模式和增量图计算模式下,使用图计算算法M对应的算法配置信息进行图计算,分别运行并记录两种计算模式下,图计算算法M运行中使用的最大计算资源(此处以内存资源为例)和完成之后的性能标签(其中增量图计算模式只记录精度满足业务参数信息库中精度阈值的信息),将信息更新到算法配置信息库中。示例性地,算法配置信息库如表4所示,业务参数信息库如表3所示。
表3业务参数信息库
表4算法配置信息库
根据表2的模拟数据特征库和表4中的标签,可以训练得到图计算模式决策模型和计算资源预测模型。
计算模式感知调度模块例如包括在线图数据库、算法信息配置库、业务参数信息库、存量计算结果等。其中,在线图数据库用于存储真实业务生成的图数据,包括存量图数据和新增的增量图数据。算法信息配置库、业务参数信息库与计算模式训练模块中的算法信息配置库、业务参数信息库一致。计算模式感知调度模块用于提取当前新增批次对应的数据特征,并将数据特征作为图计算模式决策模型的输入,以得到输出的目标图计算模式。并且,在目标图计算模式为全量图计算模式时,进一步使用计算资源预测模型预测全量图计算所需的计算资源,以此为图计算业务调度资源,在计算机集群计算资源充足时进行全量图计算,得到当前新增批次下的全量计算结果。在目标图计算模式为增量图计算模式时,则进一步评估增量图计算结果的精度,不满足精度要求时切换至全量图计算模式,满足精度要求时则将增量图计算模式下得到的增量计算结果作为当前新增批次下的全量计算结果输出。示例性地,如表5所示。
表5全量计算结果库
本申请还提供一种图计算装置,如图7所示,图计算装置700包括:
获取模块701,用于获取图数据对应的数据特征,图数据包括存量图数据和新增的增量图数据。
推理模块702,用于将数据特征输入图计算模式决策模型,得到图计算模式决策模型输出的目标图计算模式,目标图计算模式为全量图计算模式或增量图计算模式,全量图计算模式用于对全量图数据进行图计算,增量图计算模式用于对子图数据进行图计算,全量图数据为存量图数据合并增量图数据得到的,子图数据为增量图数据合并存量图数据中受增量图数据影响的数据得到的。
计算模块703,用于根据目标图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,目标图计算模式为全量图计算模式和增量图计算模式中,图计算决策模型预测的完成图数据的图计算时长更短的模式。
在一种可能的实现方式中,目标图计算模式为全量图计算模式时,数据特征包括全量图数据对应的全量图数据特征,装置还包括资源预测模块。推理模块702,还用于将全量图数据特征输入计算资源预测模型,得到对全量图数据进行图计算所需的预测计算资源。计算模块,用于在当可利用计算资源大于或等于预测计算资源时,根据目标图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,目标图计算模式为增量图计算模式时,计算模块703,用于根据增量图计算模式对子图数据进行图计算,得到增量图计算结果。获取模块701,用于根据增量图计算结果获得的增量图计算精度。计算模块703,用于当增量图计算精度小于精度阈值时,切换至全量图计算模式对图数据进行图计算,得到计算结果。
在一种可能的实现方式中,装置还包括预处理模块704和训练模块705;其中,预处理模块704,用于基于全量图计算模式对历史图数据中多个模拟增量批次对应的模拟全量图数据进行图计算,以获得第一资源使用信息第一资源使用信息包括全量图计算模式下每一模拟增量批次对应的资源使用信息。
预处理模块704,用于基于增量图计算模式对历史图数据中多个模拟增量批次对应的模拟子图数据进行图计算,以获得第二资源使用信息,第二资源使用信息包括增量图计算模式下每一模拟增量批次对应的资源使用信息。
训练模块705,用于根据第一资源使用信息和第二资源使用信息进行模型训练,得到训练模型,训练模型包括图计算模式决策模型。
在一种可能的实现方式中,第一资源使用信息包括全量图计算模式下完成每一模拟增量批次的计算的第一时长,第二资源使用信息包括增量图计算模式下完成每一模拟增量批次的计算的第二时长。
获取模块701,用于获取每一模拟增量批次对应的性能标签,性能标签为第一时长和第二时长中的较小者对应的图计算模式。
训练模块705,用于将每一模拟增量批次对应的模拟图数据的模拟数据特征作为第一模型的输入,模拟增量批次对应的性能标签作为第一模型的输出对第一模型进行训练,得到图计算模式决策模型,模拟图数据包括模拟增量图数据和模拟存量图数据。
在一种可能的实现方式中,第一资源使用信息包括每一模拟增量批次对应的计算资源使用信息,训练模型还包括计算资源预测模型。训练模块705,还用于将模拟增量批次对应的模拟全量图数据的模拟全量图数据特征作为第二模型的输入,模拟增量批次对应的计算资源使用信息作为第二模型的输出对第二模型进行训练,得到计算资源预测模型。
在一种可能的实现方式中,数据特征包括聚类系数、图直径、平均度和增量图占比中的至少一者。
其中,上述的各模块均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以计算模块为例,介绍计算模块的实现方式。类似的,其他模块的实现方式可以参考计算模块的实现方式。
模块作为软件功能单元的一种举例,计算模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,计算模块可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,计算模块可以包括至少一个计算设备,如服务器等。或者,计算模块也可以是利用专用集成电路(application-specific integratedcircuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
计算模块包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。计算模块包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,计算模块包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,计算模块可以用于执行图计算方法中的任意步骤,其他各模块同理。图计算装置中的各模块负责实现的步骤可根据需要指定,通过各模块分别实现图计算方法中不同的步骤来实现图计算装置的全部功能。
本申请还提供一种计算设备100。如图8所示,计算设备100包括:总线102、处理器104、存储器106和通信接口108。处理器104、存储器106和通信接口108之间通过总线102通信。计算设备100可以是服务器或终端设备。应理解,本申请不限定计算设备100中的处理器、存储器的个数。
总线102可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线104可包括在计算设备100各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。
处理器104可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器106可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器104还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器106中存储有可执行的程序代码,处理器104执行该可执行的程序代码以分别实现前述获取模块、推理模块和计算模块的功能,从而实现图计算方法。也即,存储器106上存有用于执行图计算方法的指令。
或者,存储器106中存储有可执行的代码,处理器104还可以执行该可执行的代码以分别实现前述预处理模块和训练模块的功能,从而实现图计算方法。也即,存储器106上存有用于执行图计算方法的指令。
通信接口108使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图9所示,所述计算设备集群包括至少一个计算设备100。计算设备集群中的一个或多个计算设备100中的存储器106中可以存有相同的用于执行图计算方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备100的存储器106中也可以分别存有用于执行图计算方法的部分指令。换言之,一个或多个计算设备100的组合可以共同执行用于执行图计算方法的指令。
需要说明的是,计算设备集群中的不同的计算设备100中的存储器106可以存储不同的指令,分别用于执行图计算装置的部分功能。也即,不同的计算设备100中的存储器106存储的指令可以实现图计算装置中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如图10所示,两个计算设备100A和100B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备100A中的存储器106中存有执行获取模块、决策模块和计算模块的功能的指令。同时,计算设备100B中的存储器106中存有执行预处理模块和训练模块的功能的指令。
图10所示的计算设备集群之间的连接方式可以是考虑到本申请提供的图计算方法需要进行模型训练,因此考虑将预处理模块和训练模块实现的功能交由计算设备100B执行。
应理解,图10中示出的计算设备100A的功能也可以由多个计算设备100完成。同样,计算设备100B的功能也可以由多个计算设备100完成。
本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图9和图10所述计算设备集群的连接方式。不同的是,该计算设备集群中的一个或多个计算设备100中的存储器106中可以存有相同的用于执行图计算装置方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备100的存储器106中也可以分别存有用于执行图计算装置方法的部分指令。换言之,一个或多个计算设备100的组合可以共同执行用于执行图计算装置方法的指令。
需要说明的是,计算设备集群中的不同的计算设备100中的存储器106可以存储不同的指令,用于执行图计算装置系统的部分功能。也即,不同的计算设备100中的存储器106存储的指令可以实现图计算装置中的一个或多个模块的功能。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行图计算装置方法,或指示计算设备执行图计算装置方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (10)
1.一种图计算方法,其特征在于,所述方法包括:
获取图数据对应的数据特征,所述图数据包括存量图数据和新增的增量图数据;
将所述数据特征输入图计算模式决策模型,得到所述图计算模式决策模型输出的目标图计算模式,所述目标图计算模式为全量图计算模式或增量图计算模式,所述全量图计算模式用于对全量图数据进行图计算,所述增量图计算模式用于对子图数据进行图计算,所述全量图数据为所述存量图数据合并所述增量图数据得到的,所述子图数据为所述增量图数据合并所述存量图数据中受所述增量图数据影响的数据得到的;
根据所述目标图计算模式对所述图数据进行图计算,得到计算结果。
2.根据权利要求1所述的方法,其特征在于,所述目标图计算模式为所述全量图计算模式和所述增量图计算模式中,所述图计算决策模型预测的完成所述图数据的图计算时长更短的模式。
3.根据权利要求1或2所述的方法,其特征在于,所述目标图计算模式为全量图计算模式,所述数据特征包括所述全量图数据对应的全量图数据特征,所述根据所述目标图计算模式对所述图数据进行图计算,得到计算结果之前,还包括:
将所述全量图数据特征输入计算资源预测模型,得到对所述全量图数据进行图计算所需的预测计算资源;
当可利用计算资源大于或等于所述预测计算资源时,执行所述根据所述目标图计算模式对所述图数据进行图计算,得到计算结果的步骤。
4.根据权利要求1或2所述的方法,其特征在于,所述目标图计算模式为增量图计算模式,所述方法还包括:
根据所述增量图计算模式对所述子图数据进行图计算,得到增量图计算结果;
根据所述增量图计算结果获得的增量图计算精度;
当所述增量图计算精度小于精度阈值时,切换至所述全量图计算模式对所述图数据进行图计算,得到所述计算结果。
5.一种图计算装置,其特征在于,所述装置包括:
获取模块,用于获取图数据对应的数据特征,所述图数据包括存量图数据和新增的增量图数据;
推理模块,用于将所述数据特征输入图计算模式决策模型,得到所述图计算模式决策模型输出的目标图计算模式,所述目标图计算模式为全量图计算模式或增量图计算模式,所述全量图计算模式用于对全量图数据进行图计算,所述增量图计算模式用于对子图数据进行图计算,所述全量图数据为所述存量图数据合并所述增量图数据得到的,所述子图数据为所述增量图数据合并所述存量图数据中受所述增量图数据影响的数据得到的;
计算模块,用于根据所述目标图计算模式对所述图数据进行图计算,得到计算结果。
6.根据权利要求5所述的装置,其特征在于,所述目标图计算模式为所述全量图计算模式和所述增量图计算模式中,所述图计算决策模型预测的完成所述图数据的图计算时长更短的模式。
7.根据权利要求5或6所述的装置,其特征在于,所述目标图计算模式为全量图计算模式时,所述数据特征包括所述全量图数据对应的全量图数据特征;
所述推理模块,还用于将所述全量图数据特征输入计算资源预测模型,得到对所述全量图数据进行图计算所需的预测计算资源;
所述计算模块,用于在当可利用计算资源大于或等于所述预测计算资源时,根据所述目标图计算模式对所述图数据进行图计算,得到计算结果。
8.根据权利要求5或6所述的装置,其特征在于,所述目标图计算模式为增量图计算模式时;
所述计算模块,用于根据所述增量图计算模式对所述子图数据进行图计算,得到增量图计算结果;
所述获取模块,用于根据所述增量图计算结果获得的增量图计算精度;
所述计算模块,用于当所述增量图计算精度小于精度阈值时,切换至所述全量图计算模式对所述图数据进行图计算,得到所述计算结果。
9.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211273798.8A CN117917654A (zh) | 2022-10-18 | 2022-10-18 | 图计算方法、装置、计算机集群及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211273798.8A CN117917654A (zh) | 2022-10-18 | 2022-10-18 | 图计算方法、装置、计算机集群及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917654A true CN117917654A (zh) | 2024-04-23 |
Family
ID=90729510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211273798.8A Pending CN117917654A (zh) | 2022-10-18 | 2022-10-18 | 图计算方法、装置、计算机集群及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117917654A (zh) |
-
2022
- 2022-10-18 CN CN202211273798.8A patent/CN117917654A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363449B (zh) | 一种风险识别方法、装置及系统 | |
CN111738628A (zh) | 一种风险群组识别方法及装置 | |
WO2020224106A1 (zh) | 基于神经网络的文本分类方法、系统及计算机设备 | |
CN111340054A (zh) | 数据标注方法、装置及数据处理设备 | |
CN110706015B (zh) | 一种面向广告点击率预测的特征选取方法 | |
CN113689285B (zh) | 一种检测用户特征的方法、装置、设备及存储介质 | |
CN111611390B (zh) | 一种数据处理方法及装置 | |
CN115409419A (zh) | 业务数据的价值评估方法、装置、电子设备及存储介质 | |
CN108833592A (zh) | 云主机调度器优化方法、装置、设备及存储介质 | |
CN115270705A (zh) | 一种设计规则违例预测方法、装置、设备及存储介质 | |
CN113326449A (zh) | 预测交通流量的方法、装置、电子设备和介质 | |
CN116737373A (zh) | 负载均衡方法、装置、计算机设备、存储介质 | |
CN111858267A (zh) | 预警方法、装置、电子设备及存储介质 | |
CN117917654A (zh) | 图计算方法、装置、计算机集群及计算机存储介质 | |
CN113705201B (zh) | 基于文本的事件概率预测评估算法、电子设备及存储介质 | |
US20220343146A1 (en) | Method and system for temporal graph neural network acceleration | |
CN113837878B (zh) | 一种数据比对方法、装置、设备及存储介质 | |
CN112561569B (zh) | 基于双模型的到店预测方法、系统、电子设备及存储介质 | |
US20220129928A1 (en) | Method and system for forecasting sales based on n-gram model | |
CN115203556A (zh) | 一种评分预测模型训练方法、装置、电子设备及存储介质 | |
CN114610953A (zh) | 一种数据分类方法、装置、设备及存储介质 | |
CN113344585A (zh) | 反欺诈预测模型的训练方法及装置、存储介质及电子设备 | |
CN114037060A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN111984637A (zh) | 数据建模中的缺失值处理方法和装置、设备及存储介质 | |
CN111737319A (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 |