CN110688610B - 图数据的权重计算方法、装置和电子设备 - Google Patents
图数据的权重计算方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110688610B CN110688610B CN201910924018.3A CN201910924018A CN110688610B CN 110688610 B CN110688610 B CN 110688610B CN 201910924018 A CN201910924018 A CN 201910924018A CN 110688610 B CN110688610 B CN 110688610B
- Authority
- CN
- China
- Prior art keywords
- edge data
- destination node
- preset
- time window
- obtaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出了一种图数据的权重计算方法、装置和电子设备,其中,上述图数据的权重计算方法包括:获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据;对预先设定的聚合函数进行解析,获得聚合函数中的计算算子和运算关系;如果聚合函数中的计算算子为增量计算算子,则根据增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数;利用新增权重计算参数对历史权重计算参数进行更新,获得更新后的权重计算参数;根据聚合函数中的运算关系对更新后的权重计算参数进行计算,获得边数据的权重。本申请可以实现通过增量计算的方式计算图数据中边的权重,提高权重的计算效率,进而提高社区划分效果。
Description
【技术领域】
本申请涉及互联网技术领域,尤其涉及一种图数据的权重计算方法、装置和电子设备。
【背景技术】
图数据是带有点边连接关系的数据,在图数据计算场景中,会进行无监督的聚类训练,例如社区划分,而简单对所有边一视同仁,会带来社区划分的不规则,缺失重要的信息等问题,因此需要对图数据中的边赋予权重,来标识边不同的重要程度,从而达到很好的社区划分效果。
在现有相关技术中,一般是通过结构化查询语言(Structured Query Language;以下简称:SQL)进行人工统计,然后根据统计结果设置图数据中边的权重,权重计算的效率较低。
【发明内容】
本申请实施例提供了一种图数据的权重计算方法、装置和电子设备,以实现通过增量计算的方式计算图数据中边的权重,提高权重的计算效率,进而提高社区划分效果。
第一方面,本申请实施例提供一种图数据的权重计算方法,包括:获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据,所述当前单位时长与所述预定数量的单位时长之和为预先设定的时间窗口的长度;对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系;如果所述聚合函数中的计算算子为增量计算算子,则根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数,并获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数;利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数;根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
其中一种可能的实现方式中,所述对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系之后,还包括:如果所述聚合函数中的计算算子为非增量计算算子,则根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述预先设定的时间窗口内的边数据的权重计算参数;根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
其中一种可能的实现方式中,所述权重为变化率,所述根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述预先设定的时间窗口内的边数据的权重计算参数包括:根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得所述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量;根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:根据所述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得所述预先设定的时间窗口内的边数据的变化率。
其中一种可能的实现方式中,所述权重为相关系数,所述根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数包括:根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及所述目的节点发生事件的次数之和的平方;所述获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数包括:获取所述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及所述目的节点发生事件的历史次数之和的平方。
其中一种可能的实现方式中,所述利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数包括:根据所述第三次数和所述第五次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数;根据所述第四次数和所述第六次数,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数;根据所述当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和;根据所述当前单位时长内目的节点发生事件的次数之和的平方,以及所述目的节点发生事件的历史次数之和的平方,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
其中一种可能的实现方式中,所述根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:根据所述聚合函数中的运算关系对所述第七次数、所述第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得所述预先设定的时间窗口内的边数据的相关系数。
其中一种可能的实现方式中,所述权重为余弦,所述根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数包括:根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在所述预定的统计指标下发生事件的第十次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的分布,以及获得所述目的节点在所述预定的统计指标上的分布;所述获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数包括:获取所述预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在所述预定的统计指标下发生事件的第十二次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的历史分布,以及获得所述目的节点在所述预定的统计指标上的历史分布。
其中一种可能的实现方式中,所述利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数包括:根据所述第九次数和所述第十一次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数;根据所述第十次数和所述第十二次数,获得所述预先设定的时间窗口内的边数据中目的节点在所述预定的统计指标下发生事件的第十四次数;根据所述当前单位时长内所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述源节点和所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布;根据所述当前单位时长内目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布。
其中一种可能的实现方式中,所述根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:根据所述聚合函数中的运算关系对所述第十三次数、所述第十四次数、所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布进行计算,获得所述预先设定的时间窗口内的边数据的余弦。
第二方面,本申请实施例提供一种图数据的权重计算装置,包括:获取模块,用于获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据,所述当前单位时长与所述预定数量的单位时长之和为预先设定的时间窗口的长度;解析模块,用于对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系;计算模块,用于当所述聚合函数中的计算算子为增量计算算子时,根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数;所述获取模块,还用于获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数;更新模块,用于利用所述计算模块计算的新增权重计算参数对所述获取模块获取的历史权重计算参数进行更新,获得更新后的权重计算参数;所述计算模块,还用于根据所述聚合函数中的运算关系对所述更新模块更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
其中一种可能的实现方式中,所述计算模块,还用于在所述解析模块对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系之后,当所述聚合函数中的计算算子为非增量计算算子时,根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数;以及根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
其中一种可能的实现方式中,所述计算模块,具体用于当所述权重为变化率时,根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得所述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量;以及根据所述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得所述预先设定的时间窗口内的边数据的变化率。
其中一种可能的实现方式中,所述计算模块,具体用于当所述权重为相关系数时,根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及所述目的节点发生事件的次数之和的平方;所述获取模块,具体用于获取所述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及所述目的节点发生事件的历史次数之和的平方。
其中一种可能的实现方式中,所述更新模块,具体用于根据所述第三次数和所述第五次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数;根据所述第四次数和所述第六次数,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数;根据所述当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和;根据所述当前单位时长内目的节点发生事件的次数之和的平方,以及所述目的节点发生事件的历史次数之和的平方,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
其中一种可能的实现方式中,所述计算模块,具体用于根据所述聚合函数中的运算关系对所述第七次数、所述第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得所述预先设定的时间窗口内的边数据的相关系数。
其中一种可能的实现方式中,所述计算模块,具体用于当所述权重为余弦时,根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在所述预定的统计指标下发生事件的第十次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的分布,以及获得所述目的节点在所述预定的统计指标上的分布;所述获取模块,具体用于获取所述预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在所述预定的统计指标下发生事件的第十二次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的历史分布,以及获得所述目的节点在所述预定的统计指标上的历史分布。
其中一种可能的实现方式中,所述更新模块,具体用于根据所述第九次数和所述第十一次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数;以及根据所述第十次数和所述第十二次数,获得所述预先设定的时间窗口内的边数据中目的节点在所述预定的统计指标下发生事件的第十四次数;以及根据所述当前单位时长内所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述源节点和所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布;以及根据所述当前单位时长内目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布。
其中一种可能的实现方式中,所述计算模块,具体用于根据所述聚合函数中的运算关系对所述第十三次数、所述第十四次数、所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布进行计算,获得所述预先设定的时间窗口内的边数据的余弦。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上所述的方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上所述的方法。
以上技术方案中,获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据之后,对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系。如果上述聚合函数中的计算算子为增量计算算子,则根据上述增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数,并获取上述预定数量的单位时长内的边数据与上述增量计算算子对应的历史权重计算参数;利用新增权重计算参数对历史权重计算参数进行更新,获得更新后的权重计算参数,最后根据上述聚合函数中的运算关系对更新后的权重计算参数进行计算,获得上述预先设定的时间窗口内的边数据的权重,从而可以实现通过增量计算的方式计算图数据中边的权重,提高权重的计算效率,进而可以提高社区划分效果。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请图数据的权重计算方法一个实施例的流程图;
图2为本申请图数据的权重计算方法另一个实施例的流程图;
图3为本申请图数据的权重计算方法再一个实施例的流程图;
图4为本申请图数据的权重计算方法再一个实施例的流程图;
图5为本申请图数据的权重计算方法再一个实施例的流程图;
图6为本申请图数据的权重计算装置一个实施例的结构示意图;
图7为本申请电子设备一个实施例的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本申请图数据的权重计算方法一个实施例的流程图,如图1所示,上述图数据的权重计算方法可以包括:
步骤101,获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据。
其中,当前单位时长与上述预定数量的单位时长之和为预先设定的时间窗口的长度。
具体地,单位时长可以为1小时、1天或1个月等,本实施例对上述单位时长的长短不作限定,举例来说,上述单位时长可以为1天;
上述预定数量可以在具体实现时,根据系统性能和/或实现需求等自行设定,只要当前单位时长与上述预定数量的单位时长之和为预先设定的时间窗口的长度即可,本实施例对上述预定数量的大小不作限定;
上述预先设定的时间窗口的长度可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预先设定的时间窗口的长度不作限定,举例来说,上述预先设定的时间窗口的长度可以为30天。
如果上述预先设定的时间窗口的长度可以为30天,当前单位时长为当前这一天,那么预定数量的单位时长即为29天,也就是说,需要获取当天之前29天的边数据,并获取当天内新增的边数据。
对于图数据中的边数据,包含以下几个元素:
1、源节点source,简称src;
2、目的节点destination,简称dst;
3、源类型source_type,简称src_type;
4、目的类型destination_type,简称dst_type;
5、时间戳timestamps,表示边关系发生时间,简称ts;
6、属性props,里面含有边上需要携带的信息包含[script类型、脚本、数据类型]。
步骤102,对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系。
其中,上述预先设定的时间窗口和预先设定的聚合函数都是在脚本中设定的。
本实施例中,脚本可以定义如下:
["key","value","aggregation","window","filter"]
其中,aggregation为预先设定的聚合函数,包含count、distinctsum、squreSum、avg和sum等计算算子,还包括运算关系,通过运算关系连接上述计算算子形成上述聚合函数的函数表达式;
key代表进行aggregation的主体;
value表示进行aggregation的值;
window是预先设定的时间窗口;
filter是预先设定的过滤条件。
在具体实现时,在获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据之后,可以按照预先设定的过滤条件对获取的边数据进行过滤。
步骤103,如果上述聚合函数中的计算算子为增量计算算子,则根据上述增量计算算子计算上述当前单位时长内新增的边数据的新增权重计算参数,并获取上述预定数量的单位时长内的边数据与上述增量计算算子对应的历史权重计算参数。
其中,增量计算算子可以包括count、sum、squreSum和avg等计算算子。
步骤104,利用上述新增权重计算参数对上述历史权重计算参数进行更新,获得更新后的权重计算参数。
具体地,如果聚合函数中的计算算子为增量计算算子,那么只需根据增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数,然后获取当前单位时长内新增的边数据的新增权重计算参数,利用上述新增权重计算参数对历史权重计算参数进行更新即可。
步骤105,根据上述聚合函数中的运算关系对更新后的权重计算参数进行计算,获得预先设定的时间窗口内的边数据的权重。
上述图数据的权重计算方法中,获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据之后,对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系。如果上述聚合函数中的计算算子为增量计算算子,则根据上述增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数,并获取上述预定数量的单位时长内的边数据与上述增量计算算子对应的历史权重计算参数;利用新增权重计算参数对历史权重计算参数进行更新,获得更新后的权重计算参数,最后根据上述聚合函数中的运算关系对更新后的权重计算参数进行计算,获得上述预先设定的时间窗口内的边数据的权重,从而可以实现通过增量计算的方式计算图数据中边的权重,提高权重的计算效率,进而可以提高社区划分效果。
图2为本申请图数据的权重计算方法另一个实施例的流程图,如图2所示,本申请图1所示实施例中,步骤102之后,还包括:
步骤201,如果上述聚合函数中的计算算子为非增量计算算子,则根据上述非增量计算算子对当前单位时长内新增的边数据和上述预定数量的单位时长内的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数。
具体地,非增量计算算子包括distinct计算算子,如果上述聚合函数中的计算算子为非增量计算算子,那么就需要根据非增量计算算子对步骤101中获取的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数;而不能仅是对当前单位时长内新增的边数据进行计算。
步骤202,根据上述聚合函数中的运算关系对获得的权重计算参数进行计算,获得预先设定的时间窗口内的边数据的权重。
本申请实施例中,权重可以包括3种类型:变化率、相关系数和余弦,下面分别对这3种类型的权重的计算方式进行介绍。
图3为本申请图数据的权重计算方法再一个实施例的流程图,如图3所示,本申请图2所示实施例中,当权重为变化率时,步骤201可以为:
步骤301,根据上述非增量计算算子对当前单位时长内新增的边数据和上述预定数量的单位时长内的边数据进行计算,获得上述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得上述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量。
这时,步骤202可以为:
步骤302,根据上述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得上述预先设定的时间窗口内的边数据的变化率。
其中,变化率是一种权重,变化率表示一种波动变化,以通话记录为例,变化率的定义,是用户在一个单位时长内的通话和在预先设定的时间窗口内的通话变化的比例。
假设有如表1所示的通话记录,以表1的数据为例,对变化率的计算进行介绍。
表1
用户在一天内和不同用户的通话次数[[dst],src,distinct,1d],即源节点在单位时长内与不同目的节点发生事件的第一次数可以如表2所示。
表2
用户在十天内与不同人的通话次数[[dst],[src,dt],distinct,10d](同一个人同一天只算一次),即上述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数可以如表3所示。
表3
在10天内,一共有多少天产生过通话记录[[dst],[dt],distinct,10d],即在预先设定的时间窗口内发生事件的单位时长的第一数量,可以如表4所示。
表4
变化率的计算公式为:(用户在一天内和不同用户的通话次数)*(在10天内,一共有多少天产生过通话记录)/(用户在一天内和不同用户的通话次数),即第一次数*第一数量/第二次数,因此根据上述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得上述预先设定的时间窗口内的边数据的变化率,可以如表5所示。
表5
图4为本申请图数据的权重计算方法再一个实施例的流程图,如图4所示,本申请图1所示实施例中,当上述权重为相关系数时,步骤103可以包括:
步骤401,如果上述聚合函数中的计算算子为增量计算算子,则根据上述增量计算算子对当前单位时长内新增的边数据进行计算,获得上述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及上述目的节点发生事件的次数之和的平方。
步骤402,获取上述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及上述目的节点发生事件的历史次数之和的平方。
这时步骤104可以包括:
步骤403,根据第三次数和第五次数,获得上述预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数。
步骤404,根据第四次数和第六次数,获得上述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数。
步骤405,根据当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得上述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和。
步骤406,根据当前单位时长内目的节点发生事件的次数之和的平方,以及所述目的节点发生事件的历史次数之和的平方,获得上述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
这时,步骤105可以为:
步骤407,根据上述聚合函数中的运算关系对第七次数、第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得上述预先设定的时间窗口内的边数据的相关系数。
f1:用户与用户之间的通话次数[[src,dst],event_id,count],即步骤403中,预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数,如表6所示。
表6
f2:通话另一端通话次数[[dst],event_id,count],即步骤404中,上述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数,如表7所示。
表7
f3:通话另一端的通话次数之和(sum),只考虑与对方通话次数大于1的情况,[[dst],f1,sum,f2>1],即步骤405中,上述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和,如表8所示。
表8
f4:通话另一端通话次数之和的平方(只考虑与对方通话次数大于1的情况)[[dst],f1,squareSum,f2>1],即步骤406中,上述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方,如表9所示。
表9
这样,步骤407中,根据上述聚合函数中的运算关系对第七次数、第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得上述预先设定的时间窗口内的边数据的相关系数,如表10所示。
表10
图5为本申请图数据的权重计算方法再一个实施例的流程图,如图5所示,本申请图1所示实施例中,当上述权重为余弦时,步骤103可以包括:
步骤501,如果上述聚合函数中的计算算子为增量计算算子,则根据上述增量计算算子对当前单位时长内新增的边数据进行计算,获得上述新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在预定的统计指标下发生事件的第十次数,以及获得源节点和目的节点在上述预定的统计指标上的分布,以及获得上述目的节点在预定的统计指标上的分布。
步骤502,获取预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在上述预定的统计指标下发生事件的第十二次数,以及获得源节点和目的节点在上述预定的统计指标上的历史分布,以及获得上述目的节点在所述预定的统计指标上的历史分布。
其中,上述预定的统计指标可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预定的统计指标不作限定,举例来说,上述预定的统计指标可以为交易金额。
这时,步骤104可以包括:
步骤503,根据第九次数和第十一次数,获得预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数。
步骤504,根据第十次数和第十二次数,获得上述预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标下发生事件的第十四次数。
步骤505,根据上述当前单位时长内源节点和目的节点在上述预定的统计指标上的分布,以及上述预定数量的单位时长内源节点和目的节点在上述预定的统计指标上的历史分布,获得上述预先设定的时间窗口内的边数据中源节点和目的节点在上述预定的统计指标上的分布。
步骤506,根据当前单位时长内目的节点在上述预定的统计指标上的分布,以及预定数量的单位时长内目的节点在上述预定的统计指标上的历史分布,获得预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标上的分布。
这时,步骤105可以为:
步骤507,根据上述聚合函数中的运算关系对第十三次数、第十四次数、上述预先设定的时间窗口内的边数据中源节点和目的节点在上述预定的统计指标上的分布,以及上述预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标上的分布进行计算,获得上述预先设定的时间窗口内的边数据的余弦。
仍以表1所示的通话记录为例,余弦取决于“src”和“dst”,定义为“src”向量和“dst”向量的余弦值,其中“src”向量为该“src”在该“dst”上的金额分布,“dst”向量为该“dst”上的所有金额分布。
f1:当前src,dst在当前金额下交易次数,[[src,dst,event_amount],event_id,count],即步骤503中,预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数,如表11所示。
表11
f2:当前dst在当前金额下交易次数[[dst,event_amount],event_id,count],即步骤504中,预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标下发生事件的第十四次数,如表12所示。
表12
f3:当前src,dst在交易金额上的分布,[[src,dst],f1,sqrtSum],即步骤505中,上述预先设定的时间窗口内的边数据中源节点和目的节点在上述预定的统计指标上的分布,如表13所示。
表13
表14
这样,步骤507中,根据上述聚合函数中的运算关系对第十三次数、第十四次数、上述预先设定的时间窗口内的边数据中源节点和目的节点在上述预定的统计指标上的分布,以及上述预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标上的分布进行计算,获得上述预先设定的时间窗口内的边数据的余弦,如表15所示。
表15
本申请实施例提供的图数据的权重计算方法通过增量计算的方式计算图数据中边的权重,只需在初始化时,加载预先设定的时间窗口的长度的边数据,以预先设定的时间窗口的长度为30天为例,仅需在初始化时,加载30天的边数据,然后后续每一天,仅需加载当天新增的边数据,然后获取已经加载的当天之前29天的边数据,接下来就可以按照本申请实施例提供的方法进行权重的计算,从而减小了每天运算时,加载的数据量,提高了权重计算的效率。
并且在计算过程中,可以按照预先设定的频率(例如:每小时1次)设定检查点(checkpoint),在checkpoint保存计算过程中的数据,当计算发生错误时,可以通过每小时的checkpoint进行数据恢复,重启计算流程。
图6为本申请图数据的权重计算装置一个实施例的结构示意图,本实施例中的图数据的权重计算装置可以作为电子设备,或者电子设备的一部分,实现本申请实施例提供的图数据的权重计算方法。如图6所示,上述图数据的权重计算装置可以包括:获取模块61、解析模块62、计算模块63和更新模块64。
其中,获取模块61,用于获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据,上述当前单位时长与预定数量的单位时长之和为预先设定的时间窗口的长度;其中,当前单位时长与上述预定数量的单位时长之和为预先设定的时间窗口的长度。
具体地,单位时长可以为1小时、1天或1个月等,本实施例对上述单位时长的长短不作限定,举例来说,上述单位时长可以为1天;
上述预定数量可以在具体实现时,根据系统性能和/或实现需求等自行设定,只要当前单位时长与上述预定数量的单位时长之和为预先设定的时间窗口的长度即可,本实施例对上述预定数量的大小不作限定;
上述预先设定的时间窗口的长度可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预先设定的时间窗口的长度不作限定,举例来说,上述预先设定的时间窗口的长度可以为30天。
如果上述预先设定的时间窗口的长度可以为30天,当前单位时长为当前这一天,那么预定数量的单位时长即为29天,也就是说,需要获取当天之前29天的边数据,并获取当天内新增的边数据。
对于图数据中的边数据,包含以下几个元素:
1、源节点source,简称src;
2、目的节点destination,简称dst;
3、源类型source_type,简称src_type;
4、目的类型destination_type,简称dst_type;
5、时间戳timestamps,表示边关系发生时间,简称ts;
6、属性props,里面含有边上需要携带的信息包含[script类型、脚本、数据类型]。
解析模块62,用于对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系;其中,上述预先设定的时间窗口和预先设定的聚合函数都是在脚本中设定的。
本实施例中,脚本可以定义如下:
["key","value","aggregation","window","filter"]
其中,aggregation为预先设定的聚合函数,包含count、distinctsum、squreSum、avg和sum等计算算子,还包括运算关系,通过运算关系连接上述计算算子形成上述聚合函数的函数表达式;
key代表进行aggregation的主体;
value表示进行aggregation的值;
window是预先设定的时间窗口;
filter是预先设定的过滤条件。
在具体实现时,在获取模块61获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据之后,可以按照预先设定的过滤条件对获取的边数据进行过滤。
计算模块63,用于当上述聚合函数中的计算算子为增量计算算子时,根据上述增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数;其中,增量计算算子可以包括count、sum、squreSum和avg等计算算子。
获取模块61,还用于获取预定数量的单位时长内的边数据与上述增量计算算子对应的历史权重计算参数;
更新模块64,用于利用计算模块63计算的新增权重计算参数对获取模块61获取的历史权重计算参数进行更新,获得更新后的权重计算参数;
具体地,如果聚合函数中的计算算子为增量计算算子,那么计算模块63只需根据增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数,然后获取模块61获取当前单位时长内新增的边数据的新增权重计算参数,更新模块64利用上述新增权重计算参数对历史权重计算参数进行更新即可。
计算模块63,还用于根据上述聚合函数中的运算关系对更新模块64更新后的权重计算参数进行计算,获得预先设定的时间窗口内的边数据的权重。
进一步地,计算模块63,还用于在解析模块62对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系之后,当上述聚合函数中的计算算子为非增量计算算子时,根据上述非增量计算算子对当前单位时长内新增的边数据和预定数量的单位时长内的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数;以及根据上述聚合函数中的运算关系对获得的权重计算参数进行计算,获得预先设定的时间窗口内的边数据的权重。
具体地,非增量计算算子包括distinct计算算子,如果上述聚合函数中的计算算子为非增量计算算子,那么计算模块63就需要根据非增量计算算子对获取模块61获取的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数;而不能仅是对当前单位时长内新增的边数据进行计算。
本实施例的一种实现方式中,计算模块63,具体用于当上述权重为变化率时,根据非增量计算算子对当前单位时长内新增的边数据和预定数量的单位时长内的边数据进行计算,获得上述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得上述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量;以及根据上述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得预先设定的时间窗口内的边数据的变化率。
其中,变化率是一种权重,变化率表示一种波动变化,以通话记录为例,变化率的定义,是用户在一个单位时长内的通话和在预先设定的时间窗口内的通话变化的比例。
本实施例的另一种实现方式中,计算模块63,具体用于当上述权重为相关系数时,根据增量计算算子对当前单位时长内新增的边数据进行计算,获得上述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方;
获取模块61,具体用于获取上述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及目的节点发生事件的历史次数之和的平方。
更新模块63,具体用于根据第三次数和第五次数,获得预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数;根据第四次数和第六次数,获得预先设定的时间窗口内的边数据中目的节点发生事件的第八次数;根据当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得预先设定的时间窗口内的边数据中目的节点发生事件的次数之和;根据当前单位时长内目的节点发生事件的次数之和的平方,以及目的节点发生事件的历史次数之和的平方,获得预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
这时,计算模块63,具体用于根据上述聚合函数中的运算关系对第七次数、第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得预先设定的时间窗口内的边数据的相关系数。
本实施例的再一种实现方式中,计算模块63,具体用于当上述权重为余弦时,根据增量计算算子对当前单位时长内新增的边数据进行计算,获得新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在预定的统计指标下发生事件的第十次数,以及获得源节点和目的节点在预定的统计指标上的分布,以及获得目的节点在预定的统计指标上的分布;
获取模块61,具体用于获取预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在预定的统计指标下发生事件的第十二次数,以及获得源节点和目的节点在上述预定的统计指标上的历史分布,以及获得目的节点在预定的统计指标上的历史分布。
其中,上述预定的统计指标可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预定的统计指标不作限定,举例来说,上述预定的统计指标可以为交易金额。
这时,更新模块64,具体用于根据第九次数和第十一次数,获得预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数;以及根据第十次数和第十二次数,获得预先设定的时间窗口内的边数据中目的节点在预定的统计指标下发生事件的第十四次数;以及根据当前单位时长内源节点和目的节点在预定的统计指标上的分布,以及预定数量的单位时长内源节点和目的节点在预定的统计指标上的历史分布,获得上述预先设定的时间窗口内的边数据中源节点和目的节点在预定的统计指标上的分布;以及根据当前单位时长内目的节点在预定的统计指标上的分布,以及预定数量的单位时长内上述目的节点在预定的统计指标上的历史分布,获得预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标上的分布。
这时,计算模块63,具体用于根据上述聚合函数中的运算关系对第十三次数、第十四次数、预先设定的时间窗口内的边数据中源节点和目的节点在上述预定的统计指标上的分布,以及上述预先设定的时间窗口内的边数据中目的节点在上述预定的统计指标上的分布进行计算,获得预先设定的时间窗口内的边数据的余弦。
上述图数据的权重计算装置中,获取模块61获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据之后,解析模块62对预先设定的聚合函数进行解析,获得上述聚合函数中的计算算子和运算关系。如果上述聚合函数中的计算算子为增量计算算子,则计算模块63根据上述增量计算算子计算当前单位时长内新增的边数据的新增权重计算参数,并由获取模块61获取上述预定数量的单位时长内的边数据与上述增量计算算子对应的历史权重计算参数;更新模块64利用新增权重计算参数对历史权重计算参数进行更新,获得更新后的权重计算参数,最后计算模块63根据上述聚合函数中的运算关系对更新后的权重计算参数进行计算,获得上述预先设定的时间窗口内的边数据的权重,从而可以实现通过增量计算的方式计算图数据中边的权重,提高权重的计算效率,进而可以提高社区划分效果。
图7为本申请电子设备一个实施例的结构示意图,如图7所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本申请实施例提供的图数据的权重计算方法。
其中,上述电子设备可以为智能手机、智能手表或平板电脑等设备,也可以为服务器,例如:云服务器,本实施例对上述电子设备的形态不作限定。
图7示出了适于用来实现本申请实施方式的示例性电子设备的框图。图7显示的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线440相连。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口420进行。并且,电子设备还可以通过网络适配器(图7中未示出)与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide AreaNetwork;以下简称:WAN)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线440与电子设备的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives;以下简称:RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的图数据的权重计算方法。
本申请实施例还提供一种非暂态计算机可读存储介质,上述非暂态计算机可读存储介质存储计算机指令,上述计算机指令使所述计算机执行本申请实施例提供的图数据的权重计算方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (20)
1.一种图数据的权重计算方法,其特征在于,包括:
获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据,所述当前单位时长与所述预定数量的单位时长之和为预先设定的时间窗口的长度;其中,所述边数据根据用户的通话记录生成;
对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系;
如果所述聚合函数中的计算算子为增量计算算子,则根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数,并获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数;
利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数;
根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重,以根据所述权重对所述边数据进行社区划分。
2.根据权利要求1所述的方法,其特征在于,所述对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系之后,还包括:
如果所述聚合函数中的计算算子为非增量计算算子,则根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述预先设定的时间窗口内的边数据的权重计算参数;
根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
3.根据权利要求2所述的方法,其特征在于,所述权重为变化率,所述根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述预先设定的时间窗口内的边数据的权重计算参数包括:
根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得所述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量;
根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:
根据所述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得所述预先设定的时间窗口内的边数据的变化率。
4.根据权利要求1所述的方法,其特征在于,所述权重为相关系数,所述根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数包括:
根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及所述目的节点发生事件的次数之和的平方;
所述获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数包括:
获取所述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及所述目的节点发生事件的历史次数之和的平方。
5.根据权利要求4所述的方法,其特征在于,所述利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数包括:
根据所述第三次数和所述第五次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数;
根据所述第四次数和所述第六次数,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数;
根据所述当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和;
根据所述当前单位时长内目的节点发生事件的次数之和的平方,以及所述目的节点发生事件的历史次数之和的平方,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
6.根据所述权利要求5所述的方法,其特征在于,所述根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:
根据所述聚合函数中的运算关系对所述第七次数、所述第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得所述预先设定的时间窗口内的边数据的相关系数。
7.根据权利要求1所述的方法,其特征在于,所述权重为余弦,所述根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数包括:
根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在所述预定的统计指标下发生事件的第十次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的分布,以及获得所述目的节点在所述预定的统计指标上的分布;
所述获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数包括:
获取所述预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在所述预定的统计指标下发生事件的第十二次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的历史分布,以及获得所述目的节点在所述预定的统计指标上的历史分布。
8.根据权利要求7所述的方法,其特征在于,所述利用所述新增权重计算参数对所述历史权重计算参数进行更新,获得更新后的权重计算参数包括:
根据所述第九次数和所述第十一次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数;
根据所述第十次数和所述第十二次数,获得所述预先设定的时间窗口内的边数据中目的节点在所述预定的统计指标下发生事件的第十四次数;
根据所述当前单位时长内所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述源节点和所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布;
根据所述当前单位时长内目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布。
9.根据权利要求8所述的方法,其特征在于,所述根据所述聚合函数中的运算关系对所述更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重包括:
根据所述聚合函数中的运算关系对所述第十三次数、所述第十四次数、所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布进行计算,获得所述预先设定的时间窗口内的边数据的余弦。
10.一种图数据的权重计算装置,其特征在于,包括:
获取模块,用于获取当前单位时长之前预定数量的单位时长内的边数据,并获取当前单位时长内新增的边数据,所述当前单位时长与所述预定数量的单位时长之和为预先设定的时间窗口的长度;其中,所述边数据根据用户的通话记录生成;
解析模块,用于对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系;
计算模块,用于当所述聚合函数中的计算算子为增量计算算子时,根据所述增量计算算子计算所述当前单位时长内新增的边数据的新增权重计算参数;
所述获取模块,还用于获取所述预定数量的单位时长内的边数据与所述增量计算算子对应的历史权重计算参数;
更新模块,用于利用所述计算模块计算的新增权重计算参数对所述获取模块获取的历史权重计算参数进行更新,获得更新后的权重计算参数;
所述计算模块,还用于根据所述聚合函数中的运算关系对所述更新模块更新后的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重,以根据所述权重对所述边数据进行社区划分。
11.根据权利要求10所述的装置,其特征在于,
所述计算模块,还用于在所述解析模块对预先设定的聚合函数进行解析,获得所述聚合函数中的计算算子和运算关系之后,当所述聚合函数中的计算算子为非增量计算算子时,根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得上述预先设定的时间窗口内的边数据的权重计算参数;以及根据所述聚合函数中的运算关系对获得的权重计算参数进行计算,获得所述预先设定的时间窗口内的边数据的权重。
12.根据权利要求11所述的装置,其特征在于,
所述计算模块,具体用于当所述权重为变化率时,根据所述非增量计算算子对所述当前单位时长内新增的边数据和所述预定数量的单位时长内的边数据进行计算,获得所述边数据中源节点在单位时长内与不同目的节点发生事件的第一次数,以及获得所述源节点在预先设定的时间窗口内与不同目的节点发生事件的第二次数,以及获得在预先设定的时间窗口内发生事件的单位时长的第一数量;以及根据所述聚合函数中的运算关系对获得的第一次数、第二次数和第一数量进行计算,获得所述预先设定的时间窗口内的边数据的变化率。
13.根据权利要求10所述的装置,其特征在于,
所述计算模块,具体用于当所述权重为相关系数时,根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点发生事件的第三次数,以及获得目的节点发生事件的第四次数,以及获得目的节点发生事件的次数之和,以及所述目的节点发生事件的次数之和的平方;
所述获取模块,具体用于获取所述预定数量的单位时长内的边数据中源节点与目的节点发生事件的第五次数,以及获得目的节点发生事件的第六次数,以及获得目的节点发生事件的历史次数之和,以及所述目的节点发生事件的历史次数之和的平方。
14.根据权利要求13所述的装置,其特征在于,
所述更新模块,具体用于根据所述第三次数和所述第五次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点发生事件的第七次数;根据所述第四次数和所述第六次数,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的第八次数;根据所述当前单位时长内目的节点发生事件的次数之和,以及目的节点发生事件的历史次数之和,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和;根据所述当前单位时长内目的节点发生事件的次数之和的平方,以及所述目的节点发生事件的历史次数之和的平方,获得所述预先设定的时间窗口内的边数据中目的节点发生事件的次数之和的平方。
15.根据所述权利要求14所述的装置,其特征在于,
所述计算模块,具体用于根据所述聚合函数中的运算关系对所述第七次数、所述第八次数、目的节点发生事件的次数之和,以及目的节点发生事件的次数之和的平方进行计算,获得所述预先设定的时间窗口内的边数据的相关系数。
16.根据权利要求10所述的装置,其特征在于,
所述计算模块,具体用于当所述权重为余弦时,根据所述增量计算算子对所述当前单位时长内新增的边数据进行计算,获得所述新增的边数据中源节点与目的节点在预定的统计指标下发生事件的第九次数,以及获得目的节点在所述预定的统计指标下发生事件的第十次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的分布,以及获得所述目的节点在所述预定的统计指标上的分布;
所述获取模块,具体用于获取所述预定数量的单位时长内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十一次数,以及获得目的节点在所述预定的统计指标下发生事件的第十二次数,以及获得所述源节点和所述目的节点在所述预定的统计指标上的历史分布,以及获得所述目的节点在所述预定的统计指标上的历史分布。
17.根据权利要求16所述的装置,其特征在于,
所述更新模块,具体用于根据所述第九次数和所述第十一次数,获得所述预先设定的时间窗口内的边数据中源节点与目的节点在预定的统计指标下发生事件的第十三次数;以及根据所述第十次数和所述第十二次数,获得所述预先设定的时间窗口内的边数据中目的节点在所述预定的统计指标下发生事件的第十四次数;以及根据所述当前单位时长内所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述源节点和所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布;以及根据所述当前单位时长内目的节点在所述预定的统计指标上的分布,以及所述预定数量的单位时长内所述目的节点在所述预定的统计指标上的历史分布,获得所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布。
18.根据权利要求17所述的装置,其特征在于,
所述计算模块,具体用于根据所述聚合函数中的运算关系对所述第十三次数、所述第十四次数、所述预先设定的时间窗口内的边数据中所述源节点和所述目的节点在所述预定的统计指标上的分布,以及所述预先设定的时间窗口内的边数据中所述目的节点在所述预定的统计指标上的分布进行计算,获得所述预先设定的时间窗口内的边数据的余弦。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至9任一所述的方法。
20.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910924018.3A CN110688610B (zh) | 2019-09-27 | 2019-09-27 | 图数据的权重计算方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910924018.3A CN110688610B (zh) | 2019-09-27 | 2019-09-27 | 图数据的权重计算方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688610A CN110688610A (zh) | 2020-01-14 |
CN110688610B true CN110688610B (zh) | 2023-05-09 |
Family
ID=69110741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910924018.3A Active CN110688610B (zh) | 2019-09-27 | 2019-09-27 | 图数据的权重计算方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688610B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538867B (zh) * | 2020-04-15 | 2021-06-15 | 深圳计算科学研究院 | 一种有界增量图划分方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015106374A (ja) * | 2013-12-02 | 2015-06-08 | 富士通株式会社 | グラフデータ演算方法、システムおよびプログラム |
CN106611037A (zh) * | 2016-09-12 | 2017-05-03 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN109344295A (zh) * | 2018-08-24 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 分布式图嵌入方法、装置、设备及系统 |
-
2019
- 2019-09-27 CN CN201910924018.3A patent/CN110688610B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015106374A (ja) * | 2013-12-02 | 2015-06-08 | 富士通株式会社 | グラフデータ演算方法、システムおよびプログラム |
CN106611037A (zh) * | 2016-09-12 | 2017-05-03 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN109344295A (zh) * | 2018-08-24 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 分布式图嵌入方法、装置、设备及系统 |
Non-Patent Citations (1)
Title |
---|
基于Multi-GPU平台的大规模图数据处理;张珩;张立波;武延军;;计算机研究与发展(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110688610A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782966B (zh) | 用户分群方法、装置、计算机设备和介质 | |
CN109714636B (zh) | 一种用户识别方法、装置、设备及介质 | |
CN111198859B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109582906B (zh) | 数据可靠度的确定方法、装置、设备和存储介质 | |
CN113064897B (zh) | 一种业务指标模型的生成方法、装置、设备及存储介质 | |
CN106372844B (zh) | 一种日程创建方法和设备 | |
CN108197002B (zh) | 移动设备无埋点数据统计方法、系统、终端及介质 | |
EP4104086A1 (en) | Differentially private frequency deduplication | |
CN110688610B (zh) | 图数据的权重计算方法、装置和电子设备 | |
CN112685672A (zh) | 页面会话行为轨迹的回溯方法、装置及电子设备 | |
CN107291835B (zh) | 一种搜索词的推荐方法和装置 | |
CN113535726A (zh) | 数据库扩容方法及装置 | |
CN111681008B (zh) | 一种风险控制方法、装置、设备及存储介质 | |
CN110489412B (zh) | 一种数据处理的方法、装置、介质和电子设备 | |
WO2019024238A1 (zh) | 范围值数据统计方法、系统、电子装置及计算机可读存储介质 | |
CN109840182A (zh) | 一种资源监控方法、装置及电子设备 | |
CN116781568A (zh) | 数据监控告警方法、装置、设备及存储介质 | |
CN115185904A (zh) | 云存储数据处理方法、装置、电子设备及可读存储介质 | |
CN112035159B (zh) | 一种稽核模型的配置方法、装置、设备及存储介质 | |
CN109257648B (zh) | 一种直播间相似度修正方法、装置、终端及存储介质 | |
CN111651338B (zh) | 日志格式化时间的获取系统及其方法 | |
CN114862479A (zh) | 信息推送方法、装置、电子设备和介质 | |
CN110458743B (zh) | 基于大数据分析的社区治理方法、装置、设备及存储介质 | |
CN111292205B (zh) | 一种司法数据解析方法、装置、设备及存储介质 | |
CN108062313A (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 |