CN113254351A - 图数据生成方法及装置 - Google Patents
图数据生成方法及装置 Download PDFInfo
- Publication number
- CN113254351A CN113254351A CN202110702337.7A CN202110702337A CN113254351A CN 113254351 A CN113254351 A CN 113254351A CN 202110702337 A CN202110702337 A CN 202110702337A CN 113254351 A CN113254351 A CN 113254351A
- Authority
- CN
- China
- Prior art keywords
- vertex
- account
- entity
- entity account
- vertices
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书的实施例提供用于生成应用于基准测试的图数据的方法。经由顶点生成框架创建多个实体顶点以及各个实体顶点的对应实体账户顶点,并且在各个实体顶点以及对应的实体账户顶点之间创建拥有关系。经由顶点分块框架根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,起点实体账户顶点集和终点实体账户顶点集之间不具有重合的实体账户顶点。然后,经由顶点关系生成框架基于起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
Description
技术领域
本说明书实施例通常涉及基准测试领域,尤其涉及应用于基准测试的图数据生成方法及装置。
背景技术
随着图计算技术逐渐成熟,图数据库和图计算被越来越广泛地应用于金融、客服、医疗等领域,尤其是金融领域。在基于图数据实现的应用投入使用之前,需要使用图数据来对该应用进行基准测试,并且只有通过基准测试后的应用才被允许投入使用。如何高效地生成用于基准测试的图数据成为亟待解决的问题。
发明内容
鉴于上述,本说明书实施例提供用于生成应用于基准测试的图数据的方法及装置。利用该方法及装置,可以高效地生成用于基准测试的图数据。
根据本说明书实施例的一个方面,提供一种用于生成应用于基准测试的图数据的方法,包括:创建多个实体顶点以及各个实体顶点的对应实体账户顶点;在各个实体顶点以及对应的实体账户顶点之间创建拥有关系;根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,所述起点实体账户顶点集和所述终点实体账户顶点集之间不具有重合的实体账户顶点;以及基于所述起点实体账户顶点集和所述终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
可选地,在上述方面的一个示例中,每个实体账户顶点的账户顶点属性包括账户关联属性,所述方法还可以包括:基于各个实体账户顶点的账户关联属性创建账户属性顶点;以及根据账户关联属性来在各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。
可选地,在上述方面的一个示例中,所述实体顶点包括个人顶点和组织顶点,所述实体账户顶点包括个人账户顶点和组织账户顶点,以及所述账户属性顶点包括账户注册地址、注册电话、登录网络地址和登录物理地址中的至少一个,其中,所述账户属性关系包括位于关系、电话注册关系、登录网络地址关系和登录物理地址关系中的至少一个。
可选地,在上述方面的一个示例中,所述方法还可以包括:获取实体顶点的顶点出度分布信息。此外,创建各个实体顶点的对应实体账户顶点可以包括:根据所述顶点出度分布信息,创建各个实体顶点的对应实体账户顶点。
可选地,在上述方面的一个示例中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度,基于所述起点实体账户顶点集和所述终点实体账户顶点集创建实体账户顶点之间的账户关联关系可以包括:根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点;计算所选择的起点实体账户顶点和对应的终点实体账户顶点之间的属性距离;基于所计算出的属性距离,确定所选择的起点实体账户顶点和对应的终点实体账户顶点之间的关系创建概率;以及根据所述关系创建概率,在所选择的起点实体账户顶点和对应的终点实体账户顶点之间创建账户关联关系。
可选地,在上述方面的一个示例中,所述账户关联关系的创建过程被循环执行,直到未创建出新的账户关联关系为止,其中,每次循环过程所使用的关系创建概率通过对上一循环过程的关系创建概率进行衰减处理得到。
可选地,在上述方面的一个示例中,从所述起点实体账户顶点和对应的终点实体账户顶点的选择过程到所述账户关联关系的创建过程被循环执行,直到所创建的账户关联关系的数目达到预定数目。
可选地,在上述方面的一个示例中,所述方法还可以包括:获取实体账户顶点的顶点出度/入度分布信息;以及根据所述顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。
可选地,在上述方面的一个示例中,所述方法还可以包括:获取社交网络出度/入度分布信息;以及根据所述社交网络出度/入度分布信息来在所述实体顶点之间创建认识/从属关系。此外,基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率可以包括:基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
可选地,在上述方面的一个示例中,根据所述顶点出度分布信息,创建所述多个实体顶点的对应实体账户顶点可以包括:根据所述顶点出度分布信息,创建各个实体顶点的对应实体账户顶点以及业务申请顶点;以及在各个业务申请顶点与对应的实体顶点之间创建申请关系。
可选地,在上述方面的一个示例中,所述方法还可以包括:从所述多个实体顶点中抽取多个第一实体顶点。此外,创建各个实体顶点的对应实体账户顶点可以包括:创建各个第一实体顶点的对应实体账户顶点。
根据本说明书的另一实施例,提供一种用于生成应用于基准测试的图数据的方法,包括:经由各个顶点生成框架,分别创建多个实体顶点;经由顶点分块框架,从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;经由各个顶点生成框架,分别创建所抽取的各个第一实体顶点的对应实体账户顶点,并且在各个实体账户顶点与对应的实体顶点之间创建拥有关系;经由所述顶点分块框架来从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集;以及经由各个顶点关系生成框架,分别基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
可选地,在上述方面的一个示例中,每个实体账户顶点的账户顶点属性包括账户关联属性,所述方法还可以包括:经由各个顶点生成框架,基于各自的实体账户顶点的账户关联属性创建账户属性顶点,并且基于账户关联属性来在各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。
可选地,在上述方面的一个示例中,从所述顶点分块框架的实体顶点抽取过程到所述各个顶点关系生成框架的账户关联关系创建过程被循环执行。
可选地,在上述方面的一个示例中,所述顶点分块框架的顶点抽取过程是不放回抽取过程,并且直到所有顶点被抽取完毕为止。
可选地,在上述方面的一个示例中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度,经由各个顶点关系生成框架,基于所述起点实体账户顶点集和所述终点实体账户顶点集创建实体账户顶点之间的账户关联关系可以包括:根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;循环执行下述过程,直到所创建的账户关联关系达到第一预定数目M:基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点;计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离;基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率;以及基于所述关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系。
可选地,在上述方面的一个示例中,所述账户关联关系的创建过程被循环执行,直到未创建出新的账户关联关系为止,其中,每次循环过程所使用的关系创建概率通过对上一循环过程的关系创建概率进行衰减处理得到。
可选地,在上述方面的一个示例中,所述方法还可以包括:经由各个顶点生成框架的对应数据分布接口获取实体账户顶点的顶点出度/入度分布信息;以及经由各个顶点生成框架根据所获取的顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。
可选地,在上述方面的一个示例中,所述方法还可以包括:经由各个顶点生成框架的对应数据分布接口获取社交网络出度/入度分布信息;以及经由各个顶点生成框架根据所获取社交网络出度/入度分布信息,在所述实体顶点之间创建认识/从属关系。此外,基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率可以包括:基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
可选地,在上述方面的一个示例中,所述方法还可以包括:经由各个顶点生成框架的对应数据分布接口获取实体顶点的顶点出度分布信息,以及经由各个顶点生成框架根据所获取的顶点出度分布信息,确定各个实体顶点的顶点出度。此外,经由各个顶点生成框架,分别创建所抽取的各个第一实体顶点的对应实体账户顶点可以包括:经由各个顶点生成框架,分别基于所抽取的各个第一实体顶点的顶点出度,创建所述各个第一实体顶点的对应实体账户顶点。
根据本说明书的实施例的另一方面,提供一种用于生成应用于基准测试的图数据的图数据生成装置,包括:顶点生成单元,创建多个实体顶点以及各个实体顶点的对应实体账户顶点;拥有关系生成单元,在各个实体顶点以及对应的实体账户顶点之间创建拥有关系;顶点分块单元,根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,所述起点实体账户顶点集和所述终点实体账户顶点集之间不具有重合的实体账户顶点;以及关联关系生成单元,基于所述起点实体账户顶点集和所述终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
根据本说明书的实施例的另一方面,提供一种用于生成应用于基准测试的图数据的图数据生成装置,包括:至少两个顶点生成框架,每个顶点生成框架部署在一个第一设备处;至少两个顶点关系生成框架,每个顶点关系生成框架部署在一个第二设备处;以及顶点分块框架,部署在第三设备处,其中,各个顶点生成框架被配置为:创建多个实体顶点;创建所述顶点分块框架所抽取的各个第一实体顶点的对应实体账户顶点;以及在各个实体账户顶点和对应的实体顶点之间创建拥有关系,所述顶点分块框架被配置为从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;以及从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集,各个顶点关系生成框架被配置为基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
可选地,在上述方面的一个示例中,所述图数据生成装置还可以包括:部署在各个第一设备处的数据分布接口,获取顶点出度信息,其中,各个实体顶点的顶点出度基于对应的顶点出度分布信息确定。
可选地,在上述方面的一个示例中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度。各个顶点关系生成框架被配置为:根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;循环执行下述过程,直到所创建的账户关联关系达到第一预定数目M:基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择出至少一个起点实体账户顶点以及对应的终点实体账户顶点;计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离;基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率;以及基于所述关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系。
可选地,在上述方面的一个示例中,所述图数据生成装置还可以包括:部署在各个第一设备处的数据分布接口,获取实体账户顶点的顶点出度/入度分布信息;其中,各个实体账户顶点的顶点出度和顶点入度根据对应的顶点出度/入度分布信息确定。
可选地,在上述方面的一个示例中,所述图数据生成装置还可以包括:部署在各个第一设备处的数据分布接口,获取社交网络出度/入度分布信息;各个顶点生成框架根据所获取的社交网络出度/入度分布信息来在所述实体顶点之间创建认识/从属关系,并且基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
可选地,在上述方面的一个示例中,所述多个第一设备中的部分第一设备或每个第一设备分别与所述多个第二设备中的一个第二设备相同,和/或所述第三设备与所述多个第一设备和/或所述多个第二设备中的一个设备相同。
根据本说明书的实施例的另一方面,提供一种用于生成应用于基准测试的图数据的***,包括:至少两个第一设备,每个第一设备部署有顶点生成框架;至少两个第二设备,每个第二设备部署有顶点关系生成框架;以及第三设备,部署有顶点分块框架,其中,各个顶点生成框架被配置为:创建多个实体顶点;创建所述顶点分块框架所抽取的各个第一实体顶点的对应实体账户顶点;以及在各个实体账户顶点与对应的实体顶点之间创建拥有关系,所述顶点分块框架被配置为从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;以及从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集,各个顶点关系生成框架被配置为基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
根据本说明书的实施例的另一方面,提供一种用于生成应用于基准测试的图数据的图数据生成装置,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上所述的图数据生成方法。
根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有可执行指令,所述指令当被执行时使得处理器执行如上所述的图数据生成方法。
根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的图数据生成方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的第一实施例的图数据生成方法的示例流程图。
图2示出了根据本说明书的第一实施例的账户关联关系创建过程的一个示例流程图。
图3示出了根据本说明书的第一实施例的账户关联关系创建过程的另一示例流程图。
图4示出了根据本说明书的第一实施例的图数据生成过程的示例示意图。
图5示出了根据本说明书的第一实施例的图数据的数据结构的示例示意图。
图6示出了根据本说明书的第一实施例的用于生成应用于基准测试的图数据的图数据生成装置的方框图。
图7示出了根据本说明书的第二实施例的用于生成应用于基准测试的图数据的图数据生成***的方框图。
图8示出了根据本说明书的第二实施例的图数据生成方法的示例流程图。
图9示出了根据本说明书的第二实施例的账户关联关系创建过程的示例流程图。
图10示出了根据本说明书的第二实施例的图数据生成装置的方框图。
图11示出了根据本说明书的第二实施例的顶点生成框架的示例方框图。
图12示出了根据本说明书的第二实施例的顶点关系生成框架的示例方框图。
图13示出了根据本说明书的实施例的基于计算机***实现的图数据生成装置的示例示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在基于图数据实现的应用投入使用之前,需要使用图数据来对该应用进行基准测试,并且只有通过基准测试后的应用才被允许投入使用。基准测试是指通过设计科学的测试方法、测试工具和测试***,实现对一类测试对象的某项性能指标进行定量和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每款CPU的运算性能及作业吞吐能力是否满足应用程序的要求。对数据库管理***的ACID(Atomicity, Consistency, Isolation, Durability, 原子性、一致性、独立性和持久性)、查询时间和联机事务处理能力等方面的性能指标进行基准测试,也有助于使用者挑选最符合自己需求的数据库***。
LDBC(Linked Data Benchmark Council)提出的LDBC SNB DATAGEN是一种基于社交网络的基准测试SNB(Social Network Benchmark)。LDBC SNB DATAGEN所生成的数据规模范围为100MB-1TB。然而,LDBC SNB DATAGEN所生成的数据场景过于定制化,不易修改,与一些应用场景(例如,金融应用场景)的需求相差较大。此外,LDBC SNB DATAGEN采用两个顶点属性的属性距离作为关系创建概率的影响因素,关系生成逻辑较为简单。此外,采用LDBCSNB DATAGEN方案,在由于计算机硬件物理瓶颈等因素导致在关系生成时会对顶点进行分块的情况下,会导致分块与分块之间的顶点无法生成关系。
鉴于上述,本说明书的实施例提供了一种用于生成应用于基准测试的图数据的图数据生成方案。在该图数据生成方案中,经由顶点生成框架创建多个实体顶点以及各个实体顶点的对应实体账户顶点,并且在各个实体顶点以及对应的实体账户顶点之间创建拥有关系。经由顶点分块框架根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,起点实体账户顶点集和终点实体账户顶点集之间不具有重合的实体账户顶点。然后,经由顶点关系生成框架基于起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
在本说明书中,术语“账户”是指用于反映资产数据的增减变动情况及其结果的载体,例如,金融资产账户、数字资产账户或者其它类型的数据资产账户等。术语“账户数据”可以包括金融资产数据(例如,资金数据、借贷数据、负债数据等)、数字资产数据或者其它类型的资产数据等。术语“账户关联关系”是指两个账户之间可能发生的所有类型的关系,例如,账户数据转移关系、账户绑定关系、账户从属关系以及账户之间可以发生的其它类型的关联关系等。
下面参照图1到图12描述根据本说明书的实施例的图数据生成***、图数据生成方法及图数据生成装置。
图1示出了根据本说明书的第一实施例的图数据生成方法100的示例流程图。图1中示出的图数据生成方法由图数据生成装置执行,该图数据生成装置的各个组件可以部署在同一设备处或不同设备处。
如图1所示,在110,创建多个实体顶点以及各个实体顶点的对应实体账户顶点。在一个示例中,每个实体顶点可以具有实体顶点属性。实体顶点属性可以包括顶点出度。相应地,可以基于各个实体顶点的顶点出度创建对应的实体账户顶点。此外,实体顶点属性可以包括实体标识。实体标识用于唯一标识实体顶点。实体标识例如可以是全局唯一标识,例如,基于所对应的分块编号创建的全局唯一整数。在一个示例(例如,金融应用场景示例)中,实体可以包括个人实体和组织实体。相应地,实体顶点可以包括个人顶点(Person)和组织顶点(Organization)。在一个示例中,各个实体顶点的顶点出度可以是预先设置的固定值。在另一示例中,各个实体顶点的顶点出度可以基于例如经由数据分布接口输入的顶点出度分布信息确定。例如,可以基于顶点出度分布信息(例如,幂率分布)随机产生整数。可选地,在另一示例中,实体顶点属性还可以包括顶点入度。相应地,各个实体顶点的顶点出度和顶点入度可以预先设置,或者基于例如经由数据分布接口输入的顶点出度/入度分布信息确定。此外,实体顶点属性还可以包括实体名称。例如,在实体顶点是个人顶点的情况下,实体名称可以包括姓(First Name)和名(Last Name)。在实体顶点是组织顶点的情况下,实体名称可以包括组织名称(Organization Name)。
在一个示例中,所创建的实体账户顶点可以包括个人账户顶点(PersonalAccount)和组织账户顶点(OrganizationalAccount)。此外,可选地,在一个示例中,每个实体账户顶点的账户顶点属性可以包括顶点标识、账户创建日期(CreateDate)和账户有效性标识(IsBlocked)等。账户有效性标识IsBlocked可以采用布尔值(Boolean)表示,用于指示账户是否有效。例如,可以采用布尔值“1”表示有效,以及布尔值“0”表示无效。在另一示例中,也可以反向表示。在一个示例中,CreateDate的取值DateTime可以通过随机生成器在限定时间范围内产生。IsBlocked的取值可以通过随机生成器产生。
此外,可选地,在另一示例中,针对各个实体顶点,还可以创建业务申请顶点。业务申请顶点的具体形式可以基于具体的应用场景决定。例如,在金融应用场景下,业务申请顶点的示例可以包括贷款申请(LoanApplication)顶点、融资申请顶点等。LoanApplication顶点的实体顶点属性可以具有顶点标识和LoanAmount。LoanAmount的取值为Decimal值。相应地,基于各个实体顶点的顶点出度为该各个实体顶点创建对应的实体账户顶点以及业务申请顶点。这里,实体账户顶点和业务申请顶点例如可以统称为实体关联顶点。
在120,在各个实体顶点以及对应的实体账户顶点之间创建拥有关系(Owe)。在另一示例中,在还创建有业务申请顶点的情况下,除了在各个实体账户顶点与对应的实体顶点之间创建拥有关系之外,还可以在各个业务申请顶点与对应的实体顶点之间创建申请关系(Apply)。该申请关系还可以具有关系属性(ApplyDate)。ApplyDate的取值通过随机生成器在限定时间范围内产生。
可选地,在另一示例中,每个实体账户顶点还可以具有账户顶点属性。账户顶点属性可以包括账户关联属性。在实体账户顶点包括个人账户顶点(PersonalAccount)和组织账户顶点(OrganizationalAccount)的情况下,账户关联属性的示例例如可以包括但不限于账户注册地址、注册电话(Phone)、登录网络地址(IP)和登录物理地址(MAC)。账户注册地址例如可以是账户注册城市(City)。登录网络地址(IP)例如可以是登录账户时所使用的IP地址。登录物理地址(MAC)可以是登录账户时所使用设备的设备物理地址,例如,MAC地址等。
个人账户PersonalAccount或组织账户OrganizationalAccount的注册电话(Phone)、登录网络地址(IP)、登录物理地址(MAC) 和注册地址(City)会在创建个人账户或组织账户时创建。City的取值在城市数据资源库中随机抽取,Phone的取值在电话数据资源库中随机抽取,IP地址的数量通过随机生成器生成,然后从网络地址数据资源库中随机抽取相应数量的IP地址。MAC地址的数量通过随机生成器生成,然后从物理地址数据资源库中随机抽取相应数量的MAC地址。
可选地,在一个示例中,在实体账户顶点具有账户关联属性的情况下,还可以基于各个实体账户顶点的账户关联属性创建账户属性顶点;并且根据账户关联属性来在各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。账户属性关系的示例例如可以包括但不限于:位于关系(IsLocatedIn)、电话注册关系(SignUpDate)、登录网络地址关系(SignInWithIP)和登录物理地址关系(SignInWithMAC)中的至少一个。例如,在PersonalAccount与账户属性顶点IP之间创建账户属性关系SignInWithIP,该账户属性关系具有关系属性SignInDate。SignInDate的取值通过随机生成器在限定时间范围内产生。在PersonalAccount与账户属性顶点MAC之间创建账户属性关系SignInWithMAC,该账户属性关系具有关系属性SignInDate。SignInDate的取值通过随机生成器在限定时间范围内产生。在PersonalAccount与账户属性顶点Phone之间创建账户属性关系SignUpWithPhone,该账户属性关系具有关系属性SignUpDate。SignUpDate的取值通过随机生成器在限定时间范围内产生。在PersonalAccount与账户属性顶点City之间创建账户属性关系IsLocatedIn。在账户属性顶点Phone与账户属性顶点City之间创建账户属性关系IsLocatedIn。
在如上创建完实体账户顶点后,在130,根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,起点实体账户顶点集和终点实体账户顶点集之间不具有重合的实体账户顶点。在本说明书中,起点实体账户顶点作为图数据的边关系的起点,以及终点实体账户顶点作为图数据的边关系的终点。在一个示例中,可以将所创建的实体账户顶点分类为起点实体账户顶点集和终点实体账户顶点集。在另一示例中,也可以从所创建的实体账户顶点中抽取出起点实体账户顶点集和终点实体账户顶点集。在本说明书中,图数据是指有向图数据。
在140,基于起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系,由此创建出所需的图数据。在本说明书中,两个账户的账户关联关系的示例例如可以包括但不限于账户数据转移关系、账户绑定关系以及账户之间可以发生的其它类型的关联关系等。账户数据转移关系的示例可以包括但不限于账户资金转移关系、借贷数据转移关系、负债数据转移关系等。在一个示例中,所创建的图数据可以是金融图数据,以及账户关联关系可以是转账关系。
可选地,在一个示例中,针对图1示出的图数据生成方法,还可以从多个实体顶点中抽取多个第一实体顶点。然后,创建各个所抽取出的第一实体顶点的对应实体账户顶点。
图2示出了根据本说明书的第一实施例的账户关联关系创建过程200的一个示例流程图。在图2的示例中,实体账户顶点的账户顶点属性包括顶点出度和顶点入度。
如图2所示,在210,根据起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率。例如,对于起点实体账户顶点,基于该起点实体账户顶点的顶点出度除以该起点实体账户顶点集的总顶点出度,确定该起点实体账户顶点的选中概率。每个起点实体账户顶点集中的各个起点实体账户顶点的选中概率和为1。对于终点实体账户顶点,基于该终点实体账户顶点的顶点入度除以该终点实体账户顶点集的总顶点入度,确定该终点实体账户顶点的选中概率。每个终点实体账户顶点集中的各个终点实体账户顶点的选中概率和为1。在一个示例中,选中概率确定过程中所使用的顶点入度是终点实体账户顶点的顶点属性信息中的顶点入度。在另一示例中,选中概率确定过程中所使用的顶点入度是从终点实体账户顶点的顶点属性信息中的顶点入度中去除来自实体顶点的顶点入度之后得到的顶点入度。
在确定出各个起点实体账户顶点和各个终点实体账户顶点的选中概率后,在220,基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从起点实体账户顶点集和终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点。这里,实体账户顶点的选择过程是基于选中概率的随机选择过程。所选择出的起点实体账户顶点可以包括一个或多个起点实体账户顶点,每个起点实体账户顶点包括一个对应的终点实体账户顶点。
在230,计算所选择的起点实体账户顶点和对应的终点实体账户顶点之间的属性距离。例如,在所选择的起点实体账户顶点和终点实体账户顶点之间存在多种相同类型的属性时,可以计算该多种相同类型的属性之间的属性距离D。例如,假设所选择的起点实体账户顶点和终点实体账户顶点都具有注册地址、注册电话、登录网络地址,可以基于注册地址、注册电话、登录网络地址分别计算出相应的属性距离D1到D3。
在240,基于所计算出的属性距离,确定所选择的各个起点实体账户顶点和对应的
终点实体账户顶点之间的关系创建概率。例如,可以利用属性距离D与关系创建概率P之间
的函数关系来确定。在属性距离包括多个属性距离的情况下,在一个示例中,可以
基于多个属性距离确定出整合后的属性距离,然后基于该整合后的属性距离来确定关系创
建概率。或者,可以基于函数关系来确定关系创建概率,其中,i为属性个
数。可选地,针对各个属性距离,还可以分配不同的权重,然后基于各个属性距离及其权重
来确定关系创建概率。
在如上确定出各个起点实体账户顶点和对应的终点实体账户顶点之间的关系创建概率后,在250,根据关系创建概率,在所选择的各个起点实体账户顶点和对应的终点实体账户顶点之间创建账户关联关系。在本说明书中,所创建的账户关联关系例如可以包括账户数据转移关系、账户绑定关系、账户从属关系以及账户之间可以发生的其它类型的关联关系等。账户数据转移关系例如可以是账户数据转移行为。例如,假设起点实体账户顶点是“张三”,终点实体账户顶点是“李四”,则实体账户顶点“张三”和“李四”之间的一条账户数据转移关系可以是“张三在02月18日向李四转账XX元”。此外,相较于该条账户数据转移关系,“张三在08月20日向李四转账XX元”则是另一条账户数据转移关系。
在一个示例中,可以根据关系创建概率,在所选择的各个起点实体账户顶点和对应的终点实体账户顶点之间创建多条账户关联关系,使得所创建的账户关联关系达到预定数目条账户关联关系。
在另一示例中,上述账户关联关系的创建过程可以是循环过程。具体地,针对每个起点实体账户顶点和对应的终点实体账户顶点,将240中创建的关系创建概率作为初始关系创建概率,循环执行下述过程,直到未创建出账户关联关系为止:在每次循环时,基于当前关系创建概率来在起点实体账户顶点和对应的终点实体账户顶点创建账户关联关系。然后,判断当前是否创建出账户关联关系。如果当前创建出账户关联关系,则对当前循环过程所使用的关系创建概率进行衰减处理得到下一循环过程的当前关系创建概率,然后执行下一循环过程。如果当前未创建出账户关联关系,则循环结束。所述衰减处理的示例例如可以包括但不限于:根据线性衰减函数或者非线性衰减函数来对关系创建概率进行衰减处理。线性衰减函数或者非线性衰减函数的函数表达式可以是基于具体应用场景确定出的任何合适的函数表达式。
图3示出了根据本说明书的第一实施例的账户关联关系创建过程300的另一示例流程图。在图3的示例中,实体账户顶点的账户顶点属性包括顶点出度和顶点入度。
在310,根据起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率。选中概率的确定过程可以参考上面参照图2描述的过程。
在如上确定出各个起点实体账户顶点和各个终点实体账户顶点的选中概率后,循环执行320到380,直到所创建的账户关联关系达到预定数目。
具体地,在每次循环时,在320,基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从起点实体账户顶点集和终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点。这里,实体账户顶点的选择过程是基于选中概率的随机选择过程。所选择出的起点实体账户顶点可以包括一个或多个起点实体账户顶点,每个起点实体账户顶点包括一个对应的终点实体账户顶点。
在330,计算所选择的起点实体账户顶点和对应的终点实体账户顶点之间的属性距离。属性距离的计算过程可以参考上面参照图2的230描述的过程。
在340,基于所计算出的属性距离,确定所选择的各个起点实体账户顶点和对应的终点实体账户顶点之间的初始关系创建概率。初始关系创建概率可以参考上面参照图2的240描述的过程。
在如上确定出各个起点实体账户顶点和对应的终点实体账户顶点之间的初始关系创建概率后,针对每个起点实体账户顶点和对应的终点实体账户顶点,循环执行350到370,直到未创建出账户关联关系。
具体地,在每次循环时,在350,根据当前关系创建概率,在所选择的各个起点实体账户顶点和对应的终点实体账户顶点之间创建账户关联关系。在首次循环时,当前关系创建概率是初始关系创建概率。接着,在360,判断当前是否创建出账户关联关系。如果当前创建出账户关联关系,则在370,对当前循环过程所使用的关系创建概率进行衰减处理得到下一循环过程的当前关系创建概率,然后返回到350,执行下一循环过程。如果当前未创建出账户关联关系,则过程进行到380。
在380,判断所创建出的账户关联关系的关系数目是否达到预定数目。如果达到预定数目,则流程结束。如果未达到预定数目,则返回到320,执行下一循环过程。
可选地,在另一示例中,在图2或图3中示出的账户关联关系创建过程中,还可以包括获取实体账户顶点的顶点出度/入度分布信息;并且根据所获取的顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。
可选地,在另一示例中,在图2或图3中示出的账户关联关系创建过程中,还可以包括获取社交网络出度/入度分布信息;并且根据所获取的社交网络出度/入度分布信息来在实体顶点之间创建认识/从属关系。然后,在确定关系创建概率时,基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
图4示出了根据本说明书的实施例的图数据生成过程400的示例示意图。图5示出了根据本说明书的实施例的图数据的数据结构的示例示意图。
如图4所示,在该图数据生成过程中,在顶点生成框架中创建实体顶点、实体账户顶点和账户属性顶点,并且实体顶点、实体账户顶点和账户属性顶点的创建机制不同。实体顶点的创建不需要任何数据输入。实体账户顶点的创建需要输入已经创建出的实体顶点,以及账户属性顶点的创建需要已经创建的实体账户顶点的账户关联属性。此外,在顶点生成框架中,还分别创建各个实体账户顶点与对应的实体顶点之间的拥有关系,以及各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间的账户属性关系。在顶点关系生成框架,创建各个实体账户顶点之间的账户关联关系,例如,转账关系(Transfer)。如图5中所示,转账关系具有关系属性TransferAmount。TransferAmount的取值为Decimal值。
图6示出了根据本说明书的第一实施例的用于生成应用于基准测试的图数据的图数据生成装置600的方框图。如图6所示,图数据生成装置600包括顶点生成单元610、拥有关系生成单元620、顶点分块单元630和关联关系生成单元640。
顶点生成单元610被配置为创建多个实体顶点以及各个实体顶点的对应实体账户顶点。顶点生成单元610的操作可以参考上面参照图1的110描述的操作。
拥有关系生成单元620被配置为在各个实体顶点以及对应的实体账户顶点之间创建拥有关系。拥有关系生成单元620的操作可以参考上面参照图1的120描述的操作。
顶点分块单元630被配置为根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,所述起点实体账户顶点集和所述终点实体账户顶点集之间不具有重合的实体账户顶点。顶点分块单元630的操作可以参考上面参照图1的130描述的操作。
关联关系生成单元640被配置为基于起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。关联关系生成单元640的操作可以参考上面参照图1的140描述的操作以及参照图2或图3描述的操作。
可选地,在另一示例中,拥有关系生成单元620和关联关系生成单元640可以采用同一关系生成单元实现。
可选地,在另一示例中,顶点分块单元630还可以被配置为从多个实体顶点中抽取多个第一实体顶点。然后,顶点生成单元610创建各个所抽取出的第一实体顶点的对应实体账户顶点。
在另一示例中,顶点生成单元610还可以被配置为针对各个实体顶点创建业务申请顶点。相应地,图数据生成装置600还可以包括申请关系生成单元(未示出)。申请关系生成单元被配置为在各个业务申请顶点与对应的实体顶点之间创建申请关系(Apply)。申请关系生成单元可以与拥有关系生成单元620和关联关系生成单元640采用同一单元实现,也可以采用不同单元实现。
可选地,在另一示例中,图数据生成装置600还可以包括数据分布信息获取单元(未示出)。数据分布信息获取单元可以被配置为获取实体顶点的顶点出度分布信息。相应地,顶点生成单元610根据所获取的顶点出度分布信息,创建各个实体顶点的对应实体账户顶点。数据分布信息获取单元还可以被配置为获取实体账户顶点的顶点出度/入度分布信息。相应地,顶点生成单元610根据所获取的顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。数据分布信息获取单元还可以被配置为获取社交网络出度/入度分布信息。相应地,图数据生成装置600还可以包括实体顶点关系生成单元(未示出)。实体顶点关系生成单元根据所获取的社交网络出度/入度分布信息来在实体顶点之间创建认识/从属关系。然后,关联关系生成单元640基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。同样,实体顶点关系生成单元可以与申请关系生成单元、拥有关系生成单元620和关联关系生成单元640采用同一单元实现,也可以采用不同单元实现。
利用本说明书的第一实施例示出的图数据生成方案,可以生成具有真实图数据结构的测试图数据,由此应用于基准测试。该图数据生成方案尤其适用于生成金融图数据。
图7示出了根据本说明书的第二实施例的用于生成应用于基准测试的图数据的图数据生成***700的方框图。
如图7所示,图数据生成***700包括M个第一设备710-1到710-M、N个第二设备720-1到720-N以及第三设备730。这里,M和N的取值可以相同,也可以不同。M和N的具体取值可以根据具体的应用场景决定,例如,可以基于应用场景所需要生成的图数据规模决定。第一设备、第二设备和第三设备可以是任意类型的具有计算能力或处理能力的服务器设备或终端设备。例如,服务器设备的示例可以包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。终端设备的示例可以包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
第一设备、第二设备和第三设备之间可以直接通信或者经由网络通信来进行数据传输。在一些实施例中,网络可以是有线网络或无线网络中的任意一种或多种。网络的示例例如可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。
第一设备710-1到710-M中的每个第一设备可以部署有数据分布接口711和顶点生成框架712。第二设备720-1到720-N中的每个第二设备可以部署有顶点关系生成框架721。第三设备730可以部署有顶点分块框架731。在本说明书中,术语“框架”可以等同于“单元”、“模块”、“平台”等。
数据分布接口711可以被配置为获取(例如,供用户输入)顶点出度分布信息或者顶点出度/入度分布信息。这里,顶点出度是指以该顶点为起点的边的数量。顶点入度是指以该顶点为终点的边的数量。顶点出度分布信息可以被顶点生成框架712使用来确定所创建的各个实体顶点的顶点出度。此外,数据分布接口711还可以被配置为获取实体账户顶点的顶点出度/入度分布信息。相应地,顶点生成框架712根据实体账户顶点的顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。此外,数据分布接口711还可以被配置为获取社交网络出度/入度分布信息。所获取的社交网络出度/入度分布信息被顶点生成框架712使用来在所创建的实体顶点之间创建认识/从属关系。
第一设备710-1到710-M中的每个第一设备可以对应于顶点分块框架731所分块出的多个顶点分块中的每个顶点分块,每个第一设备中的顶点生成框架712被配置为对从顶点分块框架731接收的顶点分块进行处理。
具体地,各个第一设备上的顶点生成框架712被配置为创建多个实体顶点。各个顶点生成框架712所创建的实体顶点可以发送给顶点分块框架731,也可以存储到相同的数据存储空间(数据存储器或数据存储单元)中,以供顶点分块框架731从该数据存储空间获取。
顶点分块框架731被配置为从所创建的实体顶点中为各个顶点生成框架712抽取实体顶点分块,每个顶点生成框架712对应一个实体顶点分块,每个实体顶点分块包括多个第一实体顶点。这里,顶点分块框架731所执行的实体顶点抽取是不放回的随机抽取,并且每次抽取处理时,需要将所创建的所有实体顶点都抽取完毕为止。例如,假设各个顶点生成框架所创建的实体顶点为100个实体顶点,并且顶点生成框架的数目为10,则顶点分块框架731需要执行10次随机抽取处理,将该100个实体顶点抽取为10个实体顶点分块,每个实体顶点分块所包括的实体顶点的数目可以相同或者不同。而且,在随机抽取处理时,前一抽取处理所抽取出的实体顶点不再放回当前抽取处理的实体顶点池。所抽取出的10个实体顶点分块例如可以被分发到各个顶点生成框架712。
在各个顶点生成框架712得到顶点分块框架731抽取出的多个第一实体顶点(实体顶点分块)后,各个顶点生成框架712还被配置为基于所得到的各个第一实体顶点的顶点出度为该各个第一实体顶点创建对应的实体账户顶点。此外,可选地,在另一示例中,各个顶点生成框架712还可以生成业务申请顶点。业务申请顶点的具体形式可以基于具体的应用场景决定。例如,在金融应用场景下,业务申请顶点的示例可以包括贷款申请(LoanApplication)顶点、融资申请顶点等。相应地,各个顶点生成框架712被配置为基于所得到的各个第一实体顶点的顶点出度为该各个第一实体顶点创建对应的实体账户顶点以及业务申请顶点。这里,实体账户顶点和业务申请顶点例如可以统称为实体关联顶点。同样,所创建的实体账户顶点可以发送给顶点分块框架731,也可以存储到相同的数据存储空间中,以供顶点分块框架731从该数据存储空间获取。
在如上创建出实体账户顶点后,各个顶点生成框架712被配置为在各个实体账户顶点与对应的第一实体顶点之间创建拥有关系(Owe)。在另一示例中,在各个顶点生成框架712还创建业务申请顶点的情况下,除了在各个实体账户顶点与对应的第一实体顶点之间创建拥有关系之外,各个顶点生成框架712还在各个业务申请顶点与对应的第一实体顶点之间创建申请关系(Apply)。
此外,在各个实体账户顶点具有账户关联属性的情况下,各个顶点生成框架712还被配置为基于各个实体账户顶点的账户关联属性创建账户属性顶点,并且基于账户关联属性,在各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。
在各个顶点生成框架712创建完实体账户顶点后,顶点分块框架731还可以被配置为从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集。同样,顶点分块框架731的起点实体账户顶点集和终点实体账户顶点集的抽取过程是不放回抽取。此外,顶点分块框架的上述抽取过程可以是直到所有实体账户顶点被抽取完为止。
在得到起点实体账户集和终点实体账户集后,各个顶点关系生成框架721被配置为基于所接收的起点实体账户顶点集和终点实体账户顶点集来创建实体账户顶点之间的账户关联关系,由此创建出所需的图数据。在一个示例中,所述图数据可以是金融图数据,以及账户关联关系可以是转账关系。顶点关系生成框架721的账户关联关系创建过程将会在下面参照附图具体描述。
可选地,在本说明书的其它实施例中,各个第一设备也可以不包括数据分布接口711。
此外,在图7的示例中,第一设备、第二设备和第三设备被示出为不同的设备。在本说明书的其它实施例中,第一设备710-1到710-M中的部分第一设备或每个第一设备可以分别与第二设备720-1到720-N中的一个第二设备相同。换言之,一个设备上可以同时部署顶点生成框架和顶点关系生成框架。在另一示例中,第三设备730可以与第一设备710-1到710-M和/或第二设备720-1到720-N中的一个设备相同。换言之,一个设备上可以同时部署顶点生成框架和顶点分块框架,同时部署顶点关系生成框架和顶点分块框架,或者同时部署顶点生成框架、顶点关系生成框架和顶点分块框架。
图8示出了根据本说明书的实施例的图数据生成方法800的示例流程图。
如图8所示,在810,在各个第一设备的顶点生成框架处,分别创建多个实体顶点。在一个示例中,每个实体顶点的实体顶点属性可以包括顶点出度。这里,各个实体顶点的顶点出度可以是基于经由该顶点生成框架所位于的第一设备处的数据分布接口获取的顶点出度分布信息确定出。在一个示例中,所创建的实体顶点可以发送给顶点分块框架,也可以存储到共同的数据存储空间中,以供顶点分块框架获取。在实体顶点的实体顶点属性包括顶点出度和顶点入度的情况下,可以经由该顶点生成框架所位于的第一设备处的数据分布接口获取顶点出度/入度分布信息。
在各个顶点生成框架创建出实体顶点后,循环执行820到860的操作过程,直到循环执行预定次数,例如,K次。
具体地,在每次循环过程中,在820,第三设备处的顶点分块框架从所创建的实体顶点中为各个顶点生成框架抽取实体顶点分块,每个顶点生成框架对应一个实体顶点分块,每个实体顶点分块包括多个第一实体顶点。可选地,在顶点分块框架与顶点生成框架位于不同设备主体的情况下,顶点分块框架所抽取的多个第一实体顶点分块可以分发到对应的顶点生成框架。要说明的是,在每次循环过程中,用于实体顶点抽取的实体顶点包括步骤810中创建的所有实体顶点。此外,顶点分块框架的实体顶点抽取过程采用如上参照图7所述的实体顶点抽取过程。
在830,在各个顶点生成框架处,分别基于所抽取的各个第一实体顶点的顶点出度为各个第一实体顶点创建对应的实体账户顶点,并且在各个实体账户顶点与对应的实体顶点之间创建拥有关系。在一个示例中,所创建的实体账户顶点可以发送给顶点分块框架,也可以存储到共同的数据存储空间中,以供顶点分块框架获取。
在840,顶点分块框架从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集。
在850,在各个顶点关系生成框架处,分别基于所抽取的起点实体账户顶点集和终点实体账户顶点集来创建实体账户顶点之间的账户关联关系。账户关联关系的创建过程将在下面参照图9详细描述。
在860,判断是否达到预定循环次数(例如,K次)。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则返回到820,执行下一循环过程。
可选地,针对图8描述的图数据生成方法,也可以采用与针对图1描述的图数据生成方法的修改相应的修改方式进行修改。
图9示出了根据本说明书的实施例的账户关联关系创建过程850的示例流程图。该账户关联关系创建过程是单个顶点关系生成框架所执行的过程。
如图8所示,在851,根据起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率。
在如上确定出各个起点实体账户顶点和各个终点实体账户顶点的选中概率后,循
环执行852到858,直到所创建的账户关联关系达到第一预定数目M。在一个示例中,在从顶
点分块框架的实体顶点抽取过程到各个顶点关系生成框架的账户关联关系创建过程被循
环执行K次时,第一预定数目,其中,P为所创建的多个实体账户顶点(所有实体账
户顶点)的总出度数量。在另一示例中,P也可以是预定设置的用于指示需要创建的账户关
联关系总数的预定值。
具体地,在每次循环过程中,在852,基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从起点实体账户顶点集和终点实体账户顶点集中选择出至少一个起点实体账户顶点以及对应的终点实体账户顶点。在一个示例中,每次选择出一个起点实体账户顶点和一个终点实体账户顶点。在另一示例中,每次也可以选择出多个起点实体账户顶点以及对应的终点实体账户顶点。这里,实体账户顶点的选择过程是基于选中概率的随机选择过程。
在853,计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离。属性距离的计算过程可以参考上面参照图2的230描述的过程。
在854,基于所计算出的属性距离D,确定所选择的起点实体账户顶点和终点实体账户顶点之间的初始关系创建概率。初始关系创建概率的确定过程可以参考上面参照图2的240描述的过程。
接着,循环执行855到857,直到未创建出新的账户关联关系为止。在855,基于当前关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系。在856,判断当前是否创建出账户关联关系。如果当前创建出账户关联关系,则在857,对当前循环过程所使用的关系创建概率进行衰减处理得到下一循环过程的当前关系创建概率,然后返回到855,执行下一循环过程。
如果当前未创建出账户关联关系,则进行到858。在858,判断所创建的账户关联关系的关系数量是否达到第一预定数目M。如果达到第一预定数目M,则流程进行到图8的860。如果未达到第一预定数目M,则返回到852,执行下一循环过程。
如上参照图7到图9,描述了根据本说明书的第二实施例的图数据生成方法。要说明的是,上述参照附图描述的实施例仅仅是例示性的,在其它实施例中,还可以对上述实施例进行各种适应性修改。
例如,在其它实施例中,还可以经由各个顶点生成框架的对应数据分布接口获取社交网络出度/入度分布信息。然后,在各个顶点生成框架处,根据所获取的社交网络出度/入度分布信息来在实体顶点之间创建认识/从属关系。例如,在个人顶点和/组织顶点之间创建认识/从属关系。相应地,在确定初始关系创建概率时,除了考虑所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离之外,还需要考虑所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系。换言之,基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的初始关系创建概率。
此外,在图9的示例中,基于关系创建概率的账户关联关系的创建过程被示出为循环过程。在其它实施例中,也可以一次性创建出多条账户关联关系,而不执行循环过程。
下面将结合一个示例来说明根据本说明书的第二实施例的图数据生成过程。
在该示例中,假设存在10个顶点生成框架,10个顶点关系生成框架以及1个顶点分块框架。在10个顶点生成框架总共生成100个实体顶点后,执行5次循环过程来生成图数据。
在每次循环时,顶点分块框架将所有100个实体顶点随机分块为10个实体顶点分块,每个实体顶点分块包括10个实体顶点。然后,顶点分块框架向每个顶点生成框架分发一个实体顶点分块。在接收到实体顶点分块后,各个顶点生成框架根据各个实体顶点的顶点出度创建对应的实体账户顶点,并且在所创建的实体账户顶点和对应的实体顶点之间创建拥有关系。
随后,顶点分块框架将所创建的所有实体账户顶点随机分块为10个实体账户分块,每个实体账户分块包括一个起点实体账户顶点集和一个终点实体账户顶点集。所分块出的各个实体账户顶点集之间不具有公共实体账户顶点。然后,顶点分块框架向每个顶点关系生成框架分发一个实体账户顶点分块。在接收到实体账户顶点分块后,各个顶点关系生成框架根据起点实体账户顶点集和终点实体账户顶点集来创建实体账户顶点之间的账户关联关系。如此循环5次,直到创建出预定数目条账户关联关系。
利用根据本说明书的第二实施例的图数据生成方案,顶点生成过程和顶点关系生成过程被分发到多个顶点生成框架和多个顶点关系生成框架中执行,从而使得可以容易地生成任一数据规模的图数据。此外,在上述图数据生成方案中,通过将与应用场景相关的顶点生成过程、顶点关系生成过程、属性关系生成过程和与应用场景无关的顶点分块过程部署在不同的处理框架上执行,从而将与应用场景相关的顶点生成过程、顶点关系生成过程、属性关系生成过程和与应用场景无关的数据分块过程解耦,从而使得应用场景修改和扩展成为可能。而且,在进行账户关联关系创建时,从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集,这种抽取过程是随机抽取,从而确保分块与分块之间的顶点可以生成关系。
此外,利用上述图数据生成方案,在创建账户关联关系时,通过确定出初始关系创建概率,基于该初始关系创建概率来创建出账户关联关系,并且在创建出账户关联关系后,衰减该初始关系创建概率来进一步创建账户关联关系,如此循环多次,由此使得所创建出的账户关联关系更加符合实际的应用场景。
图10示出了根据本说明书的实施例的图数据生成装置1000的方框图。如图10所示,图数据生成装置1000包括多个(例如,M个)数据分布接口1010、多个(例如,M个)顶点生成框架1020、多个(例如,N个)顶点关系生成框架1030和顶点分块框架1040。这里,M和N的取值可以相同,也可以不同。每个数据分布接口1010和一个顶点生成框架1020部署在一个第一设备上,以及每个顶点关系生成框架1030部署在一个第二设备上。顶点分块框架1040部署在第三设备上。
数据分布接口1010被配置为获取实体顶点的顶点出度分布信息。各个顶点生成框架1020被配置为创建多个实体顶点,每个实体顶点的实体顶点属性包括顶点出度,其中,各个实体顶点的顶点出度可以基于所获取的顶点出度分布信息确定。
顶点分块框架1040被配置为从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点。然后,各个顶点生成框架1020还被配置为基于顶点分块框架所抽取的各个第一实体顶点的顶点出度为该各个第一实体顶点创建对应实体账户顶点,并且在各个实体账户顶点与对应的第一实体顶点之间创建拥有关系。
顶点分块框架1040还被配置为从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集。
各个顶点关系生成框架1030被配置为基于所抽取的起点实体账户顶点集和终点实体账户顶点集来创建实体账户顶点之间的账户关联关系。
数据分布接口1010还可以被配置为获取实体账户顶点的顶点出度/入度分布信息。相应地,各个顶点生成框架1020可以基于所获取的顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。
图11示出了根据本说明书的实施例的顶点生成框架1100的示例方框图。如图11所示,顶点生成框架1100包括实体顶点创建单元1110、实体顶点接收单元1120、关联顶点创建单元1130、账户属性顶点创建单元1140和关系创建单元1150。
实体顶点创建单元1110被配置为创建多个实体顶点。在一个示例中,可以经由数据分布接口获取实体顶点的顶点出度分布信息,并且实体顶点创建单元1110可以基于所获取的顶点分布信息确定各个实体顶点的顶点出度。
在顶点分块框架对所创建的多个实体顶点进行实体顶点抽取后,实体顶点接收单元1120被配置为从顶点分块框架接收对应的多个第一实体顶点。在顶点分块框架与顶点生成框架位于同一设备主体时,可以无需实体顶点接收单元1120。
关联顶点创建单元1130被配置为基于从顶点分块框架接收的各个第一实体顶点的顶点出度为该各个第一实体顶点创建对应的实体账户顶点。关系创建单元1150被配置为在所创建的实体账户顶点与对应的实体顶点之间创建拥有关系。
此外,在存在业务申请顶点的情况下,关联顶点创建单元1130被配置为基于从顶点分块框架接收的各个第一实体顶点的顶点出度为该各个第一实体顶点创建对应的实体账户顶点和业务申请顶点。相应地,关系创建单元1150被配置为在所创建的实体账户顶点与对应的实体顶点之间创建拥有关系以及在各个业务申请顶点与对应的实体顶点之间创建申请关系。
在实体账户顶点具有账户关联属性的情况下,账户属性顶点创建单元1140被配置为基于各个实体账户顶点的账户关联属性创建账户属性顶点。相应地,关系创建单元1150被配置为根据账户关系属性在各个账户属性顶点以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。在实体账户顶点不具有账户关联属性的情况下,可以无需账户属性顶点创建单元1140。
要说明的是,在其它实施例中,实体顶点创建单元1110、关联顶点创建单元1130和账户属性顶点创建单元1140中的部分单元或全部单元可以采用同一单元实现。
图12示出了根据本说明书的实施例的顶点关系生成框架1200的示例方框图。如图12所示,顶点关系生成框架1200包括选中概率确定单元1210、实体账户顶点选择单元1220、属性距离计算单元1230、关系创建概率确定单元1240和关系创建单元1250。
选中概率确定单元1210被配置为根据起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率。
实体账户顶点选择单元1220、属性距离计算单元1230、关系创建概率确定单元1240和关系创建单元1250循环执行操作,直到所创建的账户关联关系达到第一预定数目M。
具体地,在每次循环过程中,实体账户顶点选择单元1220被配置为基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从起点实体账户顶点集和终点实体账户顶点集中选择出至少一个起点实体账户顶点以及对应的终点实体账户顶点。
属性距离计算单元1230被配置为计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离。
关系创建概率确定单元1240被配置为基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的初始关系创建概率。
关系创建单元1250被配置为循环执行下述过程,直到未创建出新的账户关联关系为止:基于当前关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系,其中,每次循环过程所使用的关系创建概率通过对上一循环过程的关系创建概率进行衰减处理得到。
此外,可选地,数据分布接口可以被配置为获取社交网络出度/入度分布信息。在这种情况下,关系创建单元1250可以被配置为根据所获取的社交网络出度/入度分布信息来在实体顶点之间创建认识/从属关系。此外,关系创建概率确定单元1240被配置为基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的初始关系创建概率。
在本说明书中,在一个示例中,顶点生成框架与顶点关系生成框架之间可以具有一一对应关系。在顶点生成框架与顶点关系生成框架之间具有一一对应关系的情况下,该顶点生成框架可以与对应的顶点关系生成框架部署在同一设备处。在这种情况下,关系创建单元1150也可以作为顶点关系生成框架的组件包含在顶点关系生成框架中,而不作为顶点生成框架的组件。
如上参照图1到图12,对根据本说明书实施例的图数据生成方法、图数据生成装置和图数据生成***进行了描述。上面的图数据生成装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图13示出了根据本说明书的实施例的基于计算机***实现的图数据生成装置1300的示意图。如图13所示,图数据生成装置1300可以包括至少一个处理器1310、存储器(例如,非易失性存储器)1320、内存1330和通信接口1340,并且至少一个处理器1310、存储器1320、内存1330和通信接口1340经由总线1360连接在一起。至少一个处理器1310执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1310:创建多个实体顶点以及各个实体顶点的对应实体账户顶点;在各个实体顶点以及对应的实体账户顶点之间创建拥有关系;根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,起点实体账户顶点集和终点实体账户顶点集之间不具有重合的实体账户顶点;以及基于起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
在另一实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1310:经由各个顶点生成框架,分别创建多个实体顶点;经由顶点分块框架,从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;经由各个顶点生成框架,分别创建所抽取的各个第一实体顶点的对应实体账户顶点,并且在各个实体账户顶点与对应的实体顶点之间创建拥有关系;经由顶点分块框架来从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集;以及经由各个顶点关系生成框架,分别基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1310进行本说明书的各个实施例中以上结合图1-图12描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-图12描述的各种操作和功能。具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
根据一个实施例,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序当被处理器执行时,使得处理器执行本说明书的各个实施例中以上结合图1-图12描述的各种操作和功能。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (32)
1.一种用于生成应用于基准测试的图数据的方法,包括:
创建多个实体顶点以及各个实体顶点的对应实体账户顶点;
在各个实体顶点以及对应的实体账户顶点之间创建拥有关系;
根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,所述起点实体账户顶点集和所述终点实体账户顶点集之间不具有重合的实体账户顶点;以及
基于所述起点实体账户顶点集和所述终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
2.如权利要求1所述的方法,其中,每个实体账户顶点的账户顶点属性包括账户关联属性,所述方法还包括:
基于各个实体账户顶点的账户关联属性创建账户属性顶点;以及
根据账户关联属性来在各个账户属性顶点之间和/或各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。
3.如权利要求2所述的方法,其中,所述实体顶点包括个人顶点和组织顶点,所述实体账户顶点包括个人账户顶点和组织账户顶点,以及所述账户属性顶点包括账户注册地址、注册电话、登录网络地址和登录物理地址中的至少一个,
其中,所述账户属性关系包括位于关系、电话注册关系、登录网络地址关系和登录物理地址关系中的至少一个。
4.如权利要求1所述的方法,还包括:
获取实体顶点的顶点出度分布信息,
创建各个实体顶点的对应实体账户顶点包括:
根据所述顶点出度分布信息,创建各个实体顶点的对应实体账户顶点。
5.如权利要求1所述的方法,其中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度,基于所述起点实体账户顶点集和所述终点实体账户顶点集创建实体账户顶点之间的账户关联关系包括:
根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;
基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点;
计算所选择的起点实体账户顶点和对应的终点实体账户顶点之间的属性距离;
基于所计算出的属性距离,确定所选择的起点实体账户顶点和对应的终点实体账户顶点之间的关系创建概率;以及
根据所述关系创建概率,在所选择的起点实体账户顶点和对应的终点实体账户顶点之间创建账户关联关系。
6.如权利要求5所述的方法,其中,所述账户关联关系的创建过程被循环执行,直到未创建出新的账户关联关系为止,其中,每次循环过程所使用的关系创建概率通过对上一循环过程的关系创建概率进行衰减处理得到。
7.如权利要求5所述的方法,其中,从所述起点实体账户顶点和对应的终点实体账户顶点的选择过程到所述账户关联关系的创建过程被循环执行,直到所创建的账户关联关系的数目达到预定数目。
8.如权利要求5所述的方法,还包括:
获取实体账户顶点的顶点出度/入度分布信息;以及
根据所述顶点出度/入度分布信息,确定各个实体账户顶点的顶点出度和顶点入度。
9.如权利要求5所述的方法,还包括:
获取社交网络出度/入度分布信息;以及
根据所述社交网络出度/入度分布信息来在所述实体顶点之间创建认识/从属关系,
基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率包括:
基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
10.如权利要求4所述的方法,其中,根据所述顶点出度分布信息,创建所述多个实体顶点的对应实体账户顶点包括:
根据所述顶点出度分布信息,创建各个实体顶点的对应实体账户顶点以及业务申请顶点;以及
在各个业务申请顶点与对应的实体顶点之间创建申请关系。
11.如权利要求1所述的方法,还包括:
从所述多个实体顶点中抽取多个第一实体顶点;
创建各个实体顶点的对应实体账户顶点包括:
创建各个第一实体顶点的对应实体账户顶点。
12.一种用于生成应用于基准测试的图数据的方法,包括:
经由各个顶点生成框架,分别创建多个实体顶点;
经由顶点分块框架,从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;
经由各个顶点生成框架,分别创建所抽取的各个第一实体顶点的对应实体账户顶点,并且在各个实体账户顶点与对应的实体顶点之间创建拥有关系;
经由所述顶点分块框架,从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集;以及
经由各个顶点关系生成框架,分别基于所抽取的起点实体账户顶点集和终点实体账户顶点集创建实体账户顶点之间的账户关联关系。
13.如权利要求12所述的方法,其中,每个实体账户顶点的账户顶点属性包括账户关联属性,所述方法还包括:
经由各个顶点生成框架,基于各自的实体账户顶点的账户关联属性创建账户属性顶点;并且根据账户关联属性来在各个账户属性顶点之间以及各个账户属性顶点与对应的实体账户顶点之间创建账户属性关系。
14.如权利要求12所述的方法,其中,从所述顶点分块框架的实体顶点抽取过程到所述各个顶点关系生成框架的账户关联关系创建过程被循环执行。
15.如权利要求12所述的方法,其中,所述顶点分块框架的顶点抽取过程是不放回抽取过程,并且直到所有顶点被抽取完毕为止。
16.如权利要求12或14所述的方法,其中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度,
经由各个顶点关系生成框架,基于所述起点实体账户顶点集和所述终点实体账户顶点集创建实体账户顶点之间的账户关联关系包括:
根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;
循环执行下述过程,直到所创建的账户关联关系达到第一预定数目M:
基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点;
计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离;
基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率;以及
基于所述关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系。
18.如权利要求16所述的方法,其中,所述账户关联关系的创建过程被循环执行,直到未创建出新的账户关联关系为止,其中,每次循环过程所使用的关系创建概率通过对上一循环过程的关系创建概率进行衰减处理得到。
19.如权利要求16所述的方法,还包括:
经由各个顶点生成框架的对应数据分布接口获取实体账户顶点的顶点出度/入度分布信息;以及
经由各个顶点生成框架,根据所获取的顶点出度/入度分布信息确定各个实体账户顶点的顶点出度和顶点入度。
20.如权利要求16所述的方法,还包括:
经由各个顶点生成框架的对应数据分布接口获取社交网络出度/入度分布信息;以及
经由各个顶点生成框架,根据所获取的社交网络出度/入度分布信息在所述实体顶点之间创建认识/从属关系,
基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率包括:
基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
21.如权利要求12所述的方法,还包括:
经由各个顶点生成框架的对应数据分布接口获取实体顶点的顶点出度分布信息,以及
经由各个顶点生成框架,根据所获取的顶点出度分布信息确定各个实体顶点的顶点出度,
经由各个顶点生成框架,分别创建所抽取的各个第一实体顶点的对应实体账户顶点包括:
经由各个顶点生成框架,分别基于所抽取的各个第一实体顶点的顶点出度,创建所述各个第一实体顶点的对应实体账户顶点。
22.一种用于生成应用于基准测试的图数据的图数据生成装置,包括:
顶点生成单元,创建多个实体顶点以及各个实体顶点的对应实体账户顶点;
拥有关系生成单元,在各个实体顶点以及对应的实体账户顶点之间创建拥有关系;
顶点分块单元,根据所创建的实体账户顶点确定起点实体账户顶点集和终点实体账户顶点集,所述起点实体账户顶点集和所述终点实体账户顶点集之间不具有重合的实体账户顶点;以及
关联关系生成单元,基于所述起点实体账户顶点集和所述终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
23.一种用于生成应用于基准测试的图数据的图数据生成装置,包括:
至少两个顶点生成框架,每个顶点生成框架部署在一个第一设备处;
至少两个顶点关系生成框架,每个顶点关系生成框架部署在一个第二设备处;以及
顶点分块框架,部署在第三设备处,
其中,各个顶点生成框架被配置为:
创建多个实体顶点;
创建所述顶点分块框架所抽取的各个第一实体顶点的对应实体账户顶点;以及
在各个实体账户顶点和对应的实体顶点之间创建拥有关系;
所述顶点分块框架被配置为从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;以及从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集;
各个顶点关系生成框架被配置为基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
24.如权利要求23所述的图数据生成装置,还包括:
部署在各个第一设备处的数据分布接口,获取顶点出度信息,
其中,各个实体顶点的顶点出度基于对应的顶点出度分布信息确定。
25.如权利要求23所述的图数据生成装置,其中,每个实体账户顶点的账户顶点属性包括顶点出度和顶点入度,
各个顶点关系生成框架被配置为:
根据所述起点实体账户顶点集中的各个起点实体账户顶点的顶点出度以及所述终点实体账户顶点集中的各个终点实体账户顶点的顶点入度,确定各个起点实体账户顶点和各个终点实体账户顶点的选中概率;
循环执行下述过程,直到所创建的账户关联关系达到第一预定数目M:
基于各个起点实体账户顶点和各个终点实体账户顶点的选中概率,从所述起点实体账户顶点集和所述终点实体账户顶点集中选择至少一个起点实体账户顶点以及对应的终点实体账户顶点;
计算所选择的起点实体账户顶点和终点实体账户顶点之间的属性距离;
基于所计算出的属性距离,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率;以及
基于所述关系创建概率来在所选择的起点实体账户顶点和终点实体账户顶点之间创建账户关联关系。
26.如权利要求25所述的图数据生成装置,还包括:
部署在各个第一设备处的数据分布接口,获取实体账户顶点的顶点出度/入度分布信息;
其中,各个实体账户顶点的顶点出度和顶点入度根据对应的顶点出度/入度分布信息确定。
27.如权利要求25所述的图数据生成装置,还包括:
部署在各个第一设备处的数据分布接口,获取社交网络出度/入度分布信息;
各个顶点生成框架根据所获取的社交网络出度/入度分布信息来在所述实体顶点之间创建认识/从属关系,并且各个顶点关系生成框架基于所计算出的属性距离以及所选择的起点实体账户顶点和终点实体账户顶点各自所属实体顶点之间的认识/从属关系,确定所选择的起点实体账户顶点和终点实体账户顶点之间的关系创建概率。
28.如权利要求23所述的图数据生成装置,其中,所述多个第一设备中的部分第一设备或每个第一设备分别与所述多个第二设备中的一个第二设备相同,和/或所述第三设备与所述多个第一设备和/或所述多个第二设备中的一个设备相同。
29.一种用于生成应用于基准测试的图数据的***,包括:
至少两个第一设备,每个第一设备部署有顶点生成框架;
至少两个第二设备,每个第二设备部署有顶点关系生成框架;以及
第三设备,部署有顶点分块框架,
其中,各个顶点生成框架被配置为:
创建多个实体顶点;
创建所述顶点分块框架所抽取的各个第一实体顶点的对应实体账户顶点;以及
在各个实体账户顶点与对应的实体顶点之间创建拥有关系,以及;
所述顶点分块框架被配置为从所创建的实体顶点中为各个顶点生成框架抽取多个第一实体顶点;以及从所创建的实体账户顶点中为各个顶点关系生成框架抽取起点实体账户顶点集和终点实体账户顶点集;
各个顶点关系生成框架被配置为基于所抽取的起点实体账户顶点集和终点实体账户顶点集,创建实体账户顶点之间的账户关联关系。
30.一种用于生成应用于基准测试的图数据的图数据生成装置,包括:
至少一个处理器,
与所述至少一个处理器耦合的存储器,以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如权利要求1到11中任一所述的方法或者实现如权利要求12到21中任一所述的方法。
31.一种计算机可读存储介质,其存储有可执行指令,所述指令当被执行时使得处理器执行如权利要求1到11中任一所述的方法或者实现如权利要求12到21中任一所述的方法。
32.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如权利要求1到11中任一所述的方法或者实现如权利要求12到21中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702337.7A CN113254351B (zh) | 2021-06-24 | 2021-06-24 | 图数据生成方法及装置 |
PCT/CN2022/093771 WO2022267769A1 (zh) | 2021-06-24 | 2022-05-19 | 图数据生成的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702337.7A CN113254351B (zh) | 2021-06-24 | 2021-06-24 | 图数据生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254351A true CN113254351A (zh) | 2021-08-13 |
CN113254351B CN113254351B (zh) | 2022-02-15 |
Family
ID=77189434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110702337.7A Active CN113254351B (zh) | 2021-06-24 | 2021-06-24 | 图数据生成方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113254351B (zh) |
WO (1) | WO2022267769A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688068A (zh) * | 2021-10-25 | 2021-11-23 | 支付宝(杭州)信息技术有限公司 | 图数据加载方法及装置 |
WO2022267769A1 (zh) * | 2021-06-24 | 2022-12-29 | 支付宝(杭州)信息技术有限公司 | 图数据生成的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120129A1 (en) * | 2006-05-13 | 2008-05-22 | Michael Seubert | Consistent set of interfaces derived from a business object model |
CN107018000A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 账户关联方法和装置 |
CN110287688A (zh) * | 2019-06-28 | 2019-09-27 | 京东数字科技控股有限公司 | 关联账号分析方法、装置和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171519A (zh) * | 2016-12-07 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 业务数据的处理、账户识别方法及装置、计算机终端 |
US10320833B2 (en) * | 2017-04-14 | 2019-06-11 | Microsoft Technology Licensing, Llc | System and method for detecting creation of malicious new user accounts by an attacker |
CN110517097B (zh) * | 2019-09-09 | 2024-02-02 | 广东莞银信息科技股份有限公司 | 识别异常用户的方法、装置、设备及存储介质 |
CN113254351B (zh) * | 2021-06-24 | 2022-02-15 | 支付宝(杭州)信息技术有限公司 | 图数据生成方法及装置 |
-
2021
- 2021-06-24 CN CN202110702337.7A patent/CN113254351B/zh active Active
-
2022
- 2022-05-19 WO PCT/CN2022/093771 patent/WO2022267769A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080120129A1 (en) * | 2006-05-13 | 2008-05-22 | Michael Seubert | Consistent set of interfaces derived from a business object model |
CN107018000A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 账户关联方法和装置 |
CN110287688A (zh) * | 2019-06-28 | 2019-09-27 | 京东数字科技控股有限公司 | 关联账号分析方法、装置和计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022267769A1 (zh) * | 2021-06-24 | 2022-12-29 | 支付宝(杭州)信息技术有限公司 | 图数据生成的方法及装置 |
CN113688068A (zh) * | 2021-10-25 | 2021-11-23 | 支付宝(杭州)信息技术有限公司 | 图数据加载方法及装置 |
CN113688068B (zh) * | 2021-10-25 | 2022-02-15 | 支付宝(杭州)信息技术有限公司 | 图数据加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113254351B (zh) | 2022-02-15 |
WO2022267769A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111213340B (zh) | 选择用于密码功能的证明委托并使其安全 | |
RU2727552C1 (ru) | Ситема цепочек блоков, поддерживающая открытые и закрытые транзакции согласно моделям счетов | |
KR20200054131A (ko) | 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호 | |
US11328093B1 (en) | Protecting sensitive data | |
CN113254351B (zh) | 图数据生成方法及装置 | |
Mellado et al. | Applying a security requirements engineering process | |
CN111880746A (zh) | 一种向区块链***中写入业务数据的方法和装置 | |
CN111095326A (zh) | 在分布式账本***中进行交易的并行执行 | |
CN111046237B (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
JP2023532959A (ja) | 許可制ブロックチェーンのためのプライバシー保護アーキテクチャ | |
CN107527222B (zh) | 信息处理方法和装置及*** | |
CN110263580B (zh) | 基于区块链的数据处理方法、装置和区块链节点 | |
WO2020015594A1 (zh) | 信息修复方法、装置、电子设备及计算机可读介质 | |
CN112559635B (zh) | 以太坊联盟链节点的业务处理方法、装置、设备及介质 | |
US20210174350A1 (en) | System to enable utilization and movement of digital assets without access to the private key for enabling complex operations | |
CN109614263B (zh) | 一种容灾数据处理方法、装置及*** | |
TWI736608B (zh) | 便於支付主體擴展的方法和裝置 | |
US9652766B1 (en) | Managing data stored in memory locations having size limitations | |
KR102528925B1 (ko) | 사용자의 nft 데이터를 관리하기 위한 블록체인 시스템 | |
US20220311595A1 (en) | Reducing transaction aborts in execute-order-validate blockchain models | |
CN113327002B (zh) | 一种数据资产管理模型的构建方法以及装置 | |
CN113032036B (zh) | 业务数据处理方法、装置、***、计算机设备和存储介质 | |
CN114969832A (zh) | 一种基于无服务器架构的隐私数据管理方法和*** | |
KR102181493B1 (ko) | 블록체인 실시간 생태계를 이용한 암호화폐 거래 중개 방법 및 시스템 | |
CN114492647A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056971 Country of ref document: HK |