华为云用户手册

  • 示例流程 本章节通过简单的用户组授权方法,将GES服务的策略授予用户组,并将用户添加至用户组中,从而使用户拥有对应的GES权限,操作流程如图1所示。 图1 给用户授权GES权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予GES服务普通用户权限“GES ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 使用新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择图引擎服务,进入GES主界面,单击右上角“创建图”,尝试创建一个新图,如果无法创建新图(假设当前权限仅包含GES ReadOnlyAccess),表示“GES ReadOnlyAccess”已生效。 在“服务列表”中选择除图引擎服务外(假设当前策略仅包含GES ReadOnlyAccess)的任一服务,若提示权限不足,表示“GES ReadOnlyAccess”已生效。
  • 自定义创建图 登录华为云账号,进入图引擎服务管理控制台,单击右上角的“创建图”按钮,进入创建图页面。 选择“区域”,即集群工作区域,可在页面左上角下拉栏选择。 在创建图页面单击“自定义创建”tab页进入自定义创图界面。 在“服务选型”页面设置以下参数: 图1 图名称和软件版本 参数 说明 图名称 可自行设置或使用系统默认名称。图创建后,不支持修改图名称。 图名称的长度需同时满足如下条件: 4~50个字符,且必须以字母开头。 字母不区分大小写。 只能包含字母、数字或下划线,不能包含其他特殊字符。 GES软件版本 系统默认当前最新版本,目前只能选择当前默认的版本号。 选择网络信息,包含“虚拟私有云”、“子网”、“安全组”、“公网访问”和“企业信息”。 图2 网络信息 参数 说明 虚拟私有云 VPC即虚拟私有云,是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。 选择需要创建集群的VPC,单击“查看虚拟私有云”,可进入VPC服务查看已创建的VPC名称和ID。 说明: 若您的账号下有vpc,则自动选择一个填充,您可自行更改;若无vpc,则需要创建一个新的vpc,创建成功后,可自动填充。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。 选择需要创建集群的子网,可进入VPC服务查看VPC下已创建的子网名称和ID。 安全组 安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。 单击“如何配置安全组”可了解配置安全组的具体操作。 单击“查看安全组”可了解安全组详情。 公网访问 选择公网访问的方式,用户可根据自身需求选择。 “暂不使用”:不使用弹性IP的图实例并且不能与互联网互通,仅可通过私有网络中已部署的弹性云服务器连接当前图实例使用。 “现在购买”:服务将自动为图实例分配独享带宽的弹性IP,以支持通过弹性IP从互联网对图实例进行访问。同时,服务将使用租户权限在当前项目下自动创建以ges_agency_default为前缀的授权委托以支持弹性IP的绑定处理。 “使用已有”:为图实例绑定指定的弹性IP,通过弹性IP可以从互联网对图实例进行访问。 单击“创建弹性IP”可进入VPC服务创建弹性公网IP。 企业项目 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 在页面上单击“新建企业项目”跳转至“企业项目管理”页面进行创建。 标签 为资源添加标签。在输入框中,输入标签键和标签值,单击“添加”按钮即可将标签添加在标签框中。 添加后您可以在“图管理”页面的图详情中查看到给该图添加的标签,也可以在“图管理”页面中筛选同一标签下的图。 说明: 如果您需要使用同一标签标识多种云资源,即所有服务均可在标签输入框下拉选择同一标签,建议在TMS中创建预定义标签。 安全模式 开启安全模式后,访问图实例将进行通讯加密(表示调用API时只能采用HTTPS协议),该功能开启后对性能有一定的影响。 密码算法 有两种方式可供选择。 通用加密算法(不支持SM系列商密算法):该状态下所有部件敏感数据存储、传输均使用通用加密算法。主要适用于国外局点和没有特殊算法需求的局点。 支持SM系列商密算法(兼容国际通用算法):该状态下所有部件敏感数据存储使用SM系列商密算法,数据传输兼容SM系列商密算法和国际算法。 填写图相关参数。 图3 图相关参数 参数 说明 是否支持跨AZ高可用 该选项表示是否支持跨可用区部署集群。 开启该选项,图实例分布在不同可用区(AZ)增强可靠性。 用途 创建图的用途。 “企业生产”:支持高可靠,高并发,适合企业生产及大规模应用时使用。 “开发学习”:完整功能体验,适合开发者学习使用。 产品类型 可选的产品类型。 内存版:容量有限,最大可支持到百亿边。基于内存存储和计算,预置丰富的算法,支持Gremlin和Cypher查询语言。 持久化版:容量无限。基于分布式KV数据库做存储和计算的新一代图数据库,有更高的性能,仅支持Cypher查询语言。 计算类型 计算类型。 弹性云服务器:是具有完整硬件、操作系统、网络功能,并且运行在一个完全隔离环境中的计算机系统。 CPU架构 CPU架构:目前支持“X86计算”和“鲲鹏计算”架构。 图规格(边数) 以边为单位,根据用户当前的配额,系统会提示可创建的图的数量以及边数。 “企业生产”和“开发学习”有不同的规格。 “开发学习”:目前只有“一万边”一种规格,无论在哪种产品类型下。 “企业生产”:产品类型不同,图规格不同。 “内存版”:目前可选择“一百万边”、“一千万边”、“一亿边”,“十亿边”,“十亿边-增强版”,“一百亿边”六种规格。 “持久化版”:目前可选择“十亿边”,“一百亿边”和“一千亿边”三种规格。 说明: 图的规模,以图的边数为依据,非精确值。如果图的点数和属性较多的话,建议您申请更大规模图。 点ID类型 持久化版目前支持固定长度String和哈希两种点ID类型。 固定长度String格式:实际点ID直接用于内部存储与计算,需指定一长度,实际点ID不可超过此长度。长度过大可能影响查询性能,建议根据数据集状态进行设置。 哈希格式下,内部计算时将实际点ID转换成哈希码进行存储与计算,对实际点ID长度无限制,但是存在极低的概率(约10^(-43))出现点ID碰撞。 说明: 若用户无法确定点ID的最大长度,建议选择哈希类型。 “高级配置”:包括“默认配置”或“自定义”。 “默认配置”:选择系统设定的默认值。 “自定义”: 当您选择产品类型为“内存版”时,自定义包括“加密图实例”“操作审计”和“启用细粒度权限控制”。 图4 内存版高级配置 参数 说明 加密图实例 是否对图实例进行加密。“密钥源”默认为“KMS”。“密钥名称”用于选择对应的密钥。 说明: KMS密钥的禁用或删除会影响实例的功能。 启用细粒度权限控制 开启后可对特定Label的特定属性设置遍历(traverse)、读、写权限。 操作审计 是否开启操作审计。 “LTS日志组”用于选择对应的日志组。单击“查看日志组列表”可以在日志管理中查看日志的相关信息。 说明: 日志存储到LTS会收取费用,具体可参考LTS收费标准。 多标签 开启该选项后,图中同一个点可以同时设置多个label。 说明: 仅内存版支持配置多标签开关。 不同label对应不同的属性,调用查询点详情API时会返回点上所有Label和对应属性的信息,属性过滤相关查询会对点上不同的Label都进行过滤。 多图 开启该选项后,默认支持多图集群,一个图集群下可以包含多个图实例,不同的图实例可以分配不同的数据,方便用户同时对多个图数据进行分析。 当您选择产品类型为“持久化版”时,自定义包括“是否支持HyG计算引擎”“启用细粒度权限控制”。 图5 持久化版高级配置 参数 说明 是否支持HyG计算引擎 HyG是一个高性能分布式图计算框架,支持了诸多图分析算法。如果用户有复杂的图分析场景,可以使用HyG引擎来完成。 启用细粒度权限控制 开启后可对特定Label的特定属性设置遍历(traverse)、读、写权限。 单击“确认创建”。进入“规格确认”页面。 在“规格确认”页面,确认信息无误后,单击“提交”开始创建图。 提交成功后系统将自动跳转到“完成”页面,单击“返回任务中心”可查看所创建图的状态及运行结果。 父主题: 创建图
  • 图状态 图状态展示了处于不同状态的图数量,当前系统支持的状态如下。 表1 状态说明 状态 说明 运行中 表示正在运行的图,处于该状态的图可访问。 准备中 表示正在创建或正在启动E CS 。 启动中 表示正在启动图。 停止中 表示正在停止的图。 升级中 表示正在升级的图。 导入中 表示正在导入的图。 导出中 表示正在导出的图。 回滚中 表示正在回滚的图。 清空中 表示正在清空的图。 扩容准备中 表示正在创建或正在启动扩容。 扩容中 表示正在扩容图。 已停止 表示已停止的图,处于该状态的图不可继续访问。停止状态的图可以重新启动。 已冻结 表示用户的账户和资源被冻结。详情可参考账号中心。 说明: 用户账户被冻结后,只能做删除操作。 故障 表示出现故障的图,处于该状态的图不可访问。 失败 表示创建失败的图。
  • 图规格 图规格展示了不同规格的图数量,当前系统支持8种规格。 当前图规格支持显示图名称及个数。 表2 规格介绍 规格 说明 一万 表示允许创建的图的边数不超过一万。 一百万 表示允许创建的图的边数不超过一百万。 一千万 表示允许创建的图的边数不超过一千万。 一亿 表示允许创建的图的边数不超过一亿。 十亿 表示允许创建的图的边数不超过十亿。 十亿增强 表示允许创建的图的边数不超过二十亿。 一百亿 表示允许创建的图的边数不超过百亿。 一千亿 表示允许创建的图的边数不超过千亿。
  • 续费相关的功能 包年/包月图实例续费相关的功能如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月图实例从购买到被自动删除之前,您可以随时登录管理控制台为使用的图实例续费,以延长图实例的使用时间。 在一个包年/包月图实例生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图1所示。 图1 GES图实例生命周期 图规格从购买到图实例成功创建后,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,图实例首先会进入宽限期,宽限期到期后仍未续费,资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。
  • 计费示例 假设您在2023/04/18 9:59:30创建了按需计费的一个百万边图规格的图,然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 您需要为每个计费周期付费,使用期间的 对象存储服务 (OBS),公网宽带等单独计费,计费公式如表2 计费公式所示。产品价格详情中标出了资源的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 图规格(边数) 实例图规格单价 * 计费时长 请参见图引擎服务器价格详情中的“规格价格”。 上述示例配置的费用计算如下: 按需计费一百万边图规格费用 =6.25 元/小时 * (( 30 + 2746 )/ 3600 )小时 = 4.81 元
  • 计费周期 按需计费图规格(边数)按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以GES图实例创建成功的时间点为准,终点以图实例删除时间为准。 图实例创建成功需要一定时长,计费的起点是创建成功的时间点,而非创建时间。您可以在图引擎服务控制台看到图实例创建成功的时间点。 例如,您在8:45:30成功创建一个了按需计费的百万边的图,然后在8:55:30将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 变更配置后对计费的影响 如果您在购买按需计费实例后变更了实例配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了实例配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00购买了按需计费的图规格为百万边的,并在9:30:00升级为千万边,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,实例规格按照百万边计费。 第二条对应9:30:00 ~ 10:00:00,实例规格按照千万边计费。
  • 适用计费项 以下计费项支持按需计费。 表1 适用计费项 计费项 计费说明 图规格(边数) 根据您选择的边数大小计费。 针对边数提供预付费实例和按需(小时)两种计费模式。 数据存储空间(可选) GES的数据通过对象存储服务(OBS)上传或导出,存储计费按照OBS的计费规则,详情可参考对象存储服务价格详情。 公网流量(可选) GES支持绑定公网IP,所需费用按照虚拟私有云(VPC)服务的EIP计费规则进行计费;GES在华为云内部网络产生的流量不计费。 公网带宽(可选) 按需计费图实例搭配“按带宽计费”的弹性公网IP时,带宽的计费模式同为按需计费。 假设您计划购买的图规格为百万边。在购买页面底部,您将看到所需费用,如图配置费用示例(不包括存储空间,公网流量和公网宽带)所示。 图1 配置费用示例 可单击一旁的“费用明细”进行查看,如下图所示: 图2 费用明细
  • 计费模式概述 图引擎服务提供包年/包月(实例按月/按年预付费)、按需计费两种计费模式,以满足不同场景下的用户需求。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照图实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费 后付费 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 适用计费项 图规格(边数)、数据存储空间、和公网带宽费用 图规格(边数)、数据存储空间、和公网带宽费用 变更规格 支持变更图实例规格。 支持变更图实例规格。 适用场景 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
  • 场景示例:核对资源用量是否与实际相符 假设用户在2023/09/20 14:12:00创建了一个图规格为百万边的图实例,并在2023/09/20 16:52:20时刻将其删除。 图引擎服务(GES)流水账单 按需计费图引擎服务按秒计费,每一个小时整点结算一次费用,您可以在流水账单中核对每一个计费周期的信息是否和实际相符,具体如表 图规格(边数)费用流水账单所示。 表1 图规格(边数)费用流水账单 产品类型 图引擎服务 GES 产品 图规格(边数) 计费模式 按需 消费时间 2023/09/20 14:12:00 ~ 2023/09/20 16:52:20时段计费系统将生成3笔流水账单,对应每一个计费周期,分别如下: 2023/06/19 14:12:02 ~2023/06/19 15:00:00 2023/06/19 15:00:00 ~ 2023/06/19 16:00:00 2023/06/19 16:00:00 ~ 2023/06/19 16:52:20 官网价 官网价=使用量*单价 本例中,在第一个计费周期内图实例的使用量为2878秒,单价可在图引擎服务价格详情中查询,以6.25元/小时为例,那么官网价=(2878 ÷ 3600) 小时 * 6.25 元/小时 = 4.9965278 元。同理,您可以计算剩余计费周期内资源的官网价。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 抹零金额 华为云产品 定价精度为小数点后8位(单位:元),因此在计费过程中会产生小数点后8位的资源使用费用。而在实际扣费时,仅扣除到小数点后2位,小数点后第3位到第8位部分金额会被舍弃,这种舍弃部分的金额称作抹零金额。 以第一个计费周期为例,抹零金额为:0.0065278 元 应付金额 应付金额=官网价-优惠金额-抹零金额 以第一个计费周期为例,假设优惠金额为0,那么应付金额=4.9965278 - 0 - 0.0065278 =4.99 元 图引擎服务(GES)明细账单 明细账单可以通过多维度展示客户账单的详细信息。一般通过设置统计维度为“按使用量”,统计周期为“按账期”来统计资源在某个月份的总开销,建议您核对表2所示的信息是否和实际相符。 表2 图规格(边数)费用明细账单 产品类型 图引擎服务 GES 产品 图规格(边数) 计费模式 按需 资源名称/ID 图实例的名称和ID 例如:ges-0001,70fd9db0-5e13-41af-8d2c-ee4a1858b13f 规格 图实例的规格(边数) 使用量类型 个 单价 按需计费模式为简单 定价 (使用量*单价)时提供单价信息,其他的定价(如EIP公网带宽的阶梯定价)等不提供单价。 按需计费GES属于简单定价,您可以在图引擎服务价格详情中查询单价。 单价单位 在图引擎服务价格详情中查询到的单价单位:元/GB/小时 使用量 按产品单价单位显示使用量,云硬盘的单价单位为元/GB/小时,因此使用量以小时为单位。例如:2023/04/08 10:09:06 ~ 2023/04/08 12:09:06时段总计使用量为2小时。 使用量单位 小时 官网价 官网价=使用量*单价 本例中,使用量为2小时,单价可在图引擎服务价格详情中查询,以6.25元/个/小时为例,那么官网价=2 * 6.25 = 12.50 元。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 应付金额 用户使用云服务享受折扣优惠后需要支付的费用金额。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月图规格,计费项选择为百万边。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59您需要为每个计费周期预先付费,计费公式如表1 计费公式所示。 表1 计费公式 资源类型 计费公式 资源单价 图规格(边数) 图规格单价 * 购买个数 * 购买时长 请参见图引擎服务价格详情中的“规格价格”。 上述示例配置的费用计算如下: 包年/包月百万边图规格费用 = 3000 * 1 * 2 = 6,000 元 图中价格仅供参考,实际计算请以图引擎服务价格详情中的价格为准。
  • 变更配置后对计费的影响 当前包年/包月ECS资源的规格不满足您的业务需要时,您可以在图引擎服务控制台发起变更规格操作,变更时系统将按照如下规则为您计算变更费用: 资源升配:新配置价格高于老配置价格,此时您需要支付新老配置的差价。 资源降配:新配置价格低于老配置价格,此时华为云会将新老配置的差价退给您。 资源降配会影响图实例性能,通常不建议您这样操作。这里以资源升配且无任何优惠的场景为例,假设您在2023/04/08创建了一个图规格为百万边,购买时长为1个月,计划在2023/04/18变更规格为千万边。旧配置价格为3000元/月,新配置价格为7000元/月。计算公式如下: 升配费用=新配置价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。本示例中,剩余周期=12(4月份剩余天数)/ 30(4月份最大天数)+ 8(5月份剩余天数)/ 31(5月份最大天数)=0.6581,代入公式可得升配费用=7000*0.6581-3000*0.6581=2632.4(元) 更多信息请参见变更资源规格费用说明。
  • 到期后影响 图1描述了包年/包月GES资源各个阶段的状态。购买后,在计费周期内资源正常运行,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图1 包年/包月GES资源生命周期 到期预警 包年/包月GES资源在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月GES资源到期未续费,首先会进入宽限期,资源状态变为“已过期”。宽限期内您可以正常访问图实例,但以下操作将受到限制: 变更图规格 包年/包月转按需 退订 如果您在宽限期内仍未续费包年/包月图规格,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期到期后,若包年/包月图规格仍未续费,那么图实例将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 服务支持使用哪些算法对图进行分析? 为满足用户各种场景需求,图引擎服务提供了丰富的基础图算法、图挖掘算法和图指标算法。 支持在查询编辑器页面使用算法对图进行分析,当前支持的算法列表如下图所示。 表1 算法一览表 算法 介绍 PageRank算法 又称网页排名,是一种由搜索引擎根据网页(节点)之间相互的超链接计算的技术,用来体现网页(节点)的相关性和重要性。 PersonalRank算法 PersonalRank算法又称Personalized PageRank算法。该算法继承了经典PageRank算法的思想,利用图链接结构来递归地计算各节点的重要性。与PageRank算法不同的是,为了保证随机行走中各节点的访问概率能够反映出用户的偏好,PersonalRank算法在随机行走中的每次跳转会以(1-alpha)的概率返回到source节点,因此可以基于source节点个性化地计算网络节点的相关性和重要性(PersonalRank值越高,对source节点的相关性/重要性越高)。 k核算法(k-core) k-core是图算法中的一个经典算法,用以计算每个节点的核数。其计算结果是判断节点重要性最常用的参考值之一,较好的刻画了节点的传播能力。 k跳算法(k-hop) 从起点出发,通过宽度优先搜索(BFS),找出k层与之关联的所有节点。找到的子图称为起点的ego-net。k跳算法会返回ego-net中节点的个数。 最短路径(Shortest Path) 用于解决图论研究中的一个经典算法问题,旨在寻找图中两节点之间的最短路径。 全最短路(All Shortest Paths) 用于解决图论研究中的一个经典算法问题,旨在寻找图中两节点之间的所有最短路径。 带一般过滤条件最短路径算法(Filtered Shortest Path) 寻找两点间满足过滤条件的最短路径,如有多条,返回任意一条最短路径。 单源最短路(SSSP) 图论中的经典问题,给定一个节点(称为源),该算法给出从该源节点出发到其余各节点的最短路径长度。 点集最短路(Shortest Path of Vertex Sets) 用于发现两个点集之间的最短路径。适用于互联网社交、金融风控、路网交通、物流配送等场景下的区块之间关系分析。 关联路径(n-Paths) 该算法用于寻找图中两节点之间在k层关系内的n条路径。适用于关系分析、路径设计、网络规划等场景。 紧密中心度(Closeness Centrality) 紧密中心度是一个节点到所有其他可达节点的最短距离的平均,该指标可以用来衡量信息从该节点传输到其他节点的时间长短。节点的“Closeness Centrality”越小,其所在图中的位置越中心。 标签传播(Label Propagation) 一种基于图的半监督学习方法,其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息。利用样本间的关系建图,节点包括已标注和未标注数据,其边表示两个节点的相似度,节点的标签按相似度传递给其他节点。标签数据就像是一个源头,可以对无标签数据进行标注,节点的相似度越大,标签越容易传播。 Louvain算法 基于模块度的社区发现算法,该算法在效率和效果上都表现较好,并且能够发现层次性的社区结构,其优化目标是最大化整个社区网络的模块度。 关联预测(Link Prediction) 给定两个节点,根据Jaccard度量方法计算两个节点的相似程度,预测节点之间的紧密关系。 Node2vec算法 通过调用word2vec算法,把网络中的节点映射到欧式空间,用向量表示节点的特征。Node2vec通过回退参数P和前进参数Q来生成从每个节点出发的随机步,它带有BFS和DFS的混合,回退概率正比于1/P,前进概率正比于1/Q,每个节点出发生成多个随机步,反映出网络的结构信息。 实时推荐(Real-time Recommendation) 一种基于随机游走模型的实时推荐算法,能够推荐与输入节点相近程度高、关系或喜好相近的节点。该算法可以基于历史购买或浏览数据进行相近商品推荐,也可以针对人进行相近喜好的潜在好友推荐。 共同邻居(Common Neighbors) 是一种常用的基本图分析算法,可以得到两个节点所共有的邻居节点,直观地发现社交场合中的共同好友、消费领域共同感兴趣的商品,进一步推测两个节点之间的潜在关系和相近程度。 连通分量(Connected Component) 连通分量代表图中的一个子图,当中所有节点都相互连接。考虑路径方向的为强连通分量(strongly connected component),不考虑路径方向的为弱连通分量(weakly connected component)。 说明: 本算法计算得到的是弱连通分量。 度数关联度(Degree Correlation) 度数关联度算法计算所有边上起点和终点度数之间的Pearson关联系数,常用来表征图中高度数节点是否和高度数节点相连。 三角计数(Triangle Count) 不考虑边的方向,统计图中三角形个数。三角形越多,代表图中节点关联程度越高,组织关系越严密。 聚类系数(Cluster Coefficient) 聚类系数是表示一个图中节点聚集程度的系数,证据显示,在现实的网络中,尤其是在特定的网络中,由于相对高密度连接点的关系,节点总是趋向于建立一组严密的组织关系。 点集共同邻居(Common Neighbors of Vertex Sets) 可以得到两个点集合(群体集合)所共有的邻居(即两个群体临域的交集),直观的发现与两个群体共同联系的对象,如发现社交场合中的共同好友、消费领域共同感兴趣的商品、社区群体共同接触过的人,进一步推测两点集合之间的潜在关系和联系程度。 点集全最短路(All Shortest Paths of Vertex Sets) 点集最短路算法用于发现两个点集之间的所有最短路径,可应用于互联网社交、金融风控、路网交通、物流配送等场景下的区块之间关系的分析。 带一般过滤条件环路检测(Filtered Circle Detection) 目的是寻找图中所有满足过滤条件的环路。适用于金融风控中循环转账检测、反洗钱,网络路由中异常链接检测,企业担保圈贷款风险识别等场景。 子图匹配(Subgraph Matching) 子图匹配(subgraph matching)算法的目的是在一个给定的大图里面找到与一个给定小图同构的子图,这是一种基本的图查询操作,意在发掘图重要的子结构。 带过滤全对最短路径(Filtered All Pairs Shortest Paths) 带过滤全对最短路径(Filtered All Pairs Shortest Paths)是寻找图中任意两点之间满足条件的最短路径。当前,考虑到实际应用场景,此算法需要用户指定起点集(sources)和终点集(targets),本算法将返回起点集合到终点集合之间满足条件的两两全最短路径。 带过滤全最短路径(Filtered All Shortest Paths) 带过滤全最短路径(Filtered All Shortest Paths)是在最短路径算法(Shortest Path)基础上支持条件过滤,寻找图中两节点之间满足条件的全最短路径。 TopicRank算法 TopicRank算法12345热线多维度话题排序算法之一,适用于政务12345热线投诉话题排序。 带过滤的n_paths算法(2.2.22) 带过滤的n_paths算法是给定起始点source、目的点target、跳数k、路径数n、过滤条件filters,找出source和target间不多于n条的k跳无环路径。 父主题: 客户咨询类
  • 创建实例或实例已创建,需绑定EIP时,页面提示“委托配额不足”如何处理? 用户在第一次使用GES服务的时候需要授权,授权过程会在IAM( 统一身份认证 )页面创建例如名为“ges_admin_trust”的委托。而一个用户最多只能创建10个委托,委托个数超限之后无法创建委托,所以页面会出现“委托配额不足”的提示。 按照以下步骤删除不用的委托,然后重新授权即可。 登录华为云官网或图引擎服务产品页,在右上角用户名下拉框中,单击进入“账号中心”页面。 图1 官网界面 在“账号中心”页面右上角用户名下拉框中,单击进入“统一身份认证”页面。 图2 账号中心界面 在“统一身份认证”服务页面左侧页签栏中选择“委托”选项,删除页面中不使用的委托,保证GES有创建的委托配额。 图3 统一认证服务界面 删除委托之后,重新授权进入GES页面创建实例即可。 父主题: API使用类
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 云服务之间的关系 如果多个云服务一起搭配使用,需要注意: 不同区域的弹性云服务器、关系型数据库、对象存储服务内网不互通。 不同区域的弹性云服务器不支持跨区域部署在同一负载均衡器下。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 什么是区域、可用区 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • AK/SK认证 Java import com.huawei.ges.graph.v1.GESGraphClient; import com.huawei.ges.graph.v1.auth.aksk.GesGraphAkSkCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.http.HttpConfig; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); // 此处需要输出您图所在区域和图实例IP String regionCode = "{regionCode}"; String graphEndpoint = "{graphEndpoint}"; ICredential auth = new GesGraphAkSkCredentials().withAk(ak).withSk(sk).withRegionCode(regionCode); HttpConfig httpConfig = new HttpConfig().withIgnoreSSLVerification(true); GESGraphClient client = GESGraphClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build(); Python from gesgraphsdk.v1 import GESGraphClient from gesgraphsdk.v1.aksk_credentials import GesGraphAkSkCredentials from huaweicloudsdkcore.http.http_config import HttpConfig # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK ak = os.getenv("HUAWEICLOUD_SDK_AK") sk = os.getenv("HUAWEICLOUD_SDK_SK") graph_endpoint = "{graphEndpoint}" region_code = "{regionCode}" auth = GesGraphAkSkCredentials(ak=ak, sk=sk, region_code=region_code) http_conf = HttpConfig(ignore_ssl_verification=True, timeout=60) client = GESGraphClient.new_builder().with_credentials(auth).with_endpoint(graph_endpoint).with_http_config(http_conf).build() 父主题: 初始化GES业务面客户端
  • 参数说明 表1 JDBC getConnection参数说明 参数 释义 url GES Cypher API的URL,添加前缀jdbc:ges:http(s)为前缀以方便JDBC Driver识别,是DriverManager.getConnection的第一个参数。 prop Properties对象,包含连接GES API所需的各项配置,详见表2。 表2 Properties参数说明 参数 释义 X-Auth-Token 通过iam鉴权接口获取到的token。 parse-json 是否转换点边对象,默认值为"false"。 取值为false时,cypher返回体中的点和边将以map形式返回。 为true时,以GesElement对象的形式返回。 deserializer-type 解析cypher响应的策略,可选项为lazy和eager,默认为lazy。 取值为lazy时,采用流式解析cypher的策略,cypher返回体不常驻内存。 取值为eager时为获取整个json后解析。 limit 流速控制,默认值100000,内核以批的形式返回给server侧的webapp,由webapp整理成流返回给前端。limit的含义为内核返回给webapp时的批的大小。对同一条查询,limit越小时,GES内核侧交互次数增多,jdbc client拿到第一条记录的时间越快,整体查询时间变长。
  • 使用示例 package org.example; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; public class App { static String ip = "${ip}"; static int port = 80; static String projectId = "${projectId}"; static String graphName = "${graphName}"; static String token = "${x_auth_token}"; public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException { Class.forName("com.huawei.ges.jdbc.Driver").newInstance(); String url = "jdbc:ges:http://{{graph_ip}}:{{graph_port}}/ges/v1.0/{{project_id}}/graphs/{{graph_name}}/action?action_id=execute-cypher-query"; url = url.replace("{{graph_ip}}", ip).replace("{{graph_port}}",port + "").replace("{{project_id}}", projectId).replace("{{graph_name}}", graphName); Properties prop = new Properties(); prop.setProperty("X-Auth-Token", token); prop.setProperty("deserializer-type","lazy"); prop.setProperty("parse-json","true"); prop.setProperty("limit","10000"); try(Connection conn = DriverManager.getConnection(url,prop)){ String query = "match (m) return m limit 1000"; try(PreparedStatement stmt = conn.prepareStatement(query)){ try(ResultSet rs = stmt.executeQuery()){ Object o = null; while(rs.next()) { o = rs.getObject("m"); processVertex(o); } } } } catch (SQLException e) { // here process exception. // ... } } }
  • 开发指南概述 图引擎服务软件开发工具包(GES SDK,Graph Engine Service Software Development Kit)是对GES提供的REST API进行的封装,以简化用户的开发工作。用户直接调用GES SDK提供的接口函数即可实现使用GES服务业务能力的目的。 和GES API区分管理面、业务面一样,GES SDK也区分为管理面SDK和业务面SDK,差异如下所示: SDK 是否开源(支持maven、pip等工具下载) 是否支持 API Explorer 动态生成代码 支持的语言 当前版本 管理面SDK 是 是 支持Java、Python、Go,其他语言后期逐步上线 v1和v2版本 业务面SDK 否(只能从GES连接管理界面下载) 否(可参考下载SDK压缩包中的样例代码) 支持Java和Python,其他语言后期逐步上线 v1版本
  • 内容导航 GES开发指南将指导您如何安装和配置开发环境、如何通过调用GES SDK提供的接口函数进行二次开发。 章节 内容 简介 简要介绍本服务和开发指南的概念。 准备工作 介绍使用GES SDK前的环境配置和下载SDK。 使用管理面SDK 介绍使用管理面GES SDK进行的常用操作。 使用业务面SDK 介绍使用业务面GES SDK进行的常用操作。 使用Cypher JDBC Driver访问GES 介绍使用JDBC访问业务面图实例并进行cypher查询。
  • Token认证 Java import com.huawei.ges.graph.v1.GESGraphClient; import com.huawei.ges.graph.v1.auth.token.GesGraphTokenCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.http.HttpConfig; //此处需要输出您的图实例IP String graphEndpoint = "{graphEndpoint}"; ICredential auth = new GesGraphTokenCredentials().withXAuthToken(authToken); HttpConfig httpConfig = new HttpConfig().withIgnoreSSLVerification(true); GESGraphClient client = GESGraphClient.newBuilder().withCredential(auth).withEndpoints(Arrays.asList(graphEndpoint)).withHttpConfig(httpConfig).build(); Python from gesgraphsdk.v1 import GESGraphClient from gesgraphsdk.v1.token_credentials import GesGraphTokenCredentials from huaweicloudsdkcore.http.http_config import HttpConfig graph_endpoint = "{graphEndpoint}" auth = GesGraphTokenCredentials(token="{token}") http_conf = HttpConfig(ignore_ssl_verification=True, timeout=60) client = GESGraphClient.new_builder().with_credentials(auth).with_endpoint(graph_endpoint).with_http_config(http_conf).build() 父主题: 初始化GES业务面客户端
  • 客户端连接参数 Java import com.huaweicloud.sdk.core.http.HttpConfig; // 使用默认配置 HttpConfig config = HttpConfig.getDefaultHttpConfig(); // 默认连接超时时间为60秒,可根据需要调整 config.withTimeout(60) // 根据需要配置是否跳过SSL证书验证 config.withIgnoreSSLVerification(true); // 或者自定义SSLSocketFactory和TrustManager,需要用户自行实现 config.withSSLSocketFactory(sslSocketFactory).withX509TrustManager(trustManager); Python # HttpConfig提供连接参数,可根据需要调整:proxy_protocol, proxy_host, proxy_port, proxy_user, proxy_password, ignore_ssl_verification, ssl_ca_cert, cert_file, key_file, timeout, retry_times, pool_connections, pool_maxsize, allow_redirects from huaweicloudsdkcore.http.http_config import HttpConfig http_conf = HttpConfig(ignore_ssl_verification=True, timeout=60) 父主题: 初始化GES业务面客户端
  • 在线生成SDK代码 API Explorer的代码示例能根据需要填写参数后动态生成SDK代码,降低您使用SDK的难度,推荐使用。 GES在API Explorer仅对接常用Region供用户调试,若动态生成代码的客户端初始化使用的Region不满足使用场景,可参考如下代码: // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "project_id"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk) .withIamEndpoint("{{iamEndpoint}}"); GesClient gesClient = GesClient.newBuilder() .withCredential(auth) .withEndpoints(Arrays.asList("{{gesEndpoint}}")) .build(); 父主题: 使用管理面SDK
  • 初始化参数获取 参数名 参数值说明 获取方式 备注 regionCode 当前区域,比如华北-北京四的区域为cn-north-4 您可以从地区和终端节点中查询服务的区域。 - projectId 创建图实例的项目ID 登录管理控制台后,在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 在页面的项目列表中查看项目ID。 - graphEndPoint 图实例的IP 通过内网访问时,endpoint为GES Console界面上的私网IP或者图详情查询API返回结果里面的“privateIp”字段。 通过公网访问时,endpoint为GES Console界面上的公网IP或者图详情查询API返回结果里面的“publicIp”字段。 - graphName 图实例的名称 GES控制台界面上的图名称。 - ak 访问密钥。 登录管理控制台后,在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 在页面左侧导航栏选择“访问密钥”中进行查看。 - sk 与访问密钥ID结合使用的密钥。 - userName 华为云用户名 登录管理控制台的IAM用户名。 如果用华为账号登录,这里的用户名即为账号名。 domainName 华为云账号 登录管理控制台的IAM账号。 - password 华为云用户密码 登录管理控制台的IAM用户密码。 - 父主题: 初始化GES业务面客户端
  • 元数据操作 包名 样例类名 对应的API com.huawei.ges.graph.sdk.v1.examples.schema AddLabelSample 添加Label UpdateLabelSample 更新Label QueryGraphSchemaDetailSample 查询元数据详情 DeleteLabelSample 删除Label BatchAddLabelSample 批量添加Label BuildSchemaStructureSample 生成Schema结构 QuerySchemaStructureSample 查询Schema结构 父主题: 样例参考
  • 点操作 包名 样例类名 对应的API com.huawei.ges.graph.sdk.v1.examples.vertex VertexsFilterQuerySample 点过滤查询 QueryVertexsDetailsSample 点详情查询 AddVertexSample 添加点 DeleteVertexSample 删除点 UpdateVertexPropertiesSample 更新点属性 BatchVertexsQuerySample 批量点查询 BatchAddVertexsSample 批量添加点 BatchDeleteVertexsSample 批量删除点 BatchUpdateVertexsPropertiesSample 批量更新点属性 AddVertexLabelSample 添加点label DeleteVertexLabelSample 删除点label ExportFilteredVertexsSample 导出过滤后的点 DeleteFilteredVertexsSample 删除过滤后的点 父主题: 样例参考
  • 边操作 包名 样例类名 对应的API com.huawei.ges.graph.sdk.v1.examples.edges EdgesFilterQuerySample 边过滤查询 QueryEdgeDetailsSample 边详情查询 AddEdgeSample 添加边 DeleteEdgeSample 删除边 UpdateEdgePropertiesSample 更新边属性 BatchEdgesQuerySample 批量边查询 BatchAddEdgesSample 批量添加边 BatchDeleteEdgesSample 批量删除边 BatchUpdateEdgesPropertiesSample 批量更新边属性 ExportFilteredEdgesSample 导出过滤后的边 DeleteFilteredEdgesSample 删除过滤后的边 父主题: 样例参考
共100000条