华为云用户手册

  • 结构仿真 结构仿真是一种利用计算机模拟和分析结构在各种物理载荷作用下的响应的技术。它可以帮助工程师在实际制造或测试之前预测结构的行为,从而优化设计,确保结构的安全性和可靠性。结构仿真通常包括以下几种类型: 静力学分析:用于计算在静态载荷作用下结构的位移、应力和应变,以评估结构的刚度和强度。当结构存在大变形、塑性应变、接触等情况时,需要同时考虑非线性效应,包括材料非线性、几何非线性和边界条件的非线性。 模态分析:模态分析用于确定结构的自然频率和振型。它对于预测结构在动态载荷下的响应非常重要,可以帮助避免共振现象。 谐响应分析:谐响应分析用于评估结构在周期性载荷作用下的动态响应。它可以帮助识别结构的共振频率和振幅,以及在这些频率下的应力和变形。 随机振动分析:这种分析用于评估结构在随机载荷(如风或地震)作用下的响应。它基于统计学方法,可以提供结构在这些不确定载荷下的可靠性评估。 显式动力学分析:显式动力学分析适用于短时间内发生的复杂动态事件,如碰撞、爆炸或高速冲击。它使用显式时间积分算法来解决动态平衡方程。 转子动力学分析:转子动力学分析专门用于评估旋转机械的动态特性,如轴承、叶片和转子的振动。它可以帮助设计更稳定和高效的旋转设备。 疲劳分析:疲劳分析用于预测材料在反复载荷作用下的寿命。它考虑了材料的疲劳特性和载荷历史,以评估结构可能发生疲劳失效的位置和时间。
  • 流体仿真 流体仿真是一种利用数值方法和计算机软件来模拟和分析流体流动的过程和现象的技术。流体仿真可以帮助工程师和科学家设计和优化各种涉及流体的设备和系统,如飞机、汽车、船舶、管道、泵、涡轮机、热交换器、反应器、电池等。流体仿真也可以用来研究基础的流体力学问题,如湍流、声学、燃烧、相变、多相流等。 流体仿真的类型可以根据流体的可压缩性、流动的复杂性、所采用的数值方法等因素进行分类。以下是一些常见的流体仿真的类型: 不可压缩流体仿真:不可压缩流体是指流体的密度在流动过程中保持不变或变化很小的流体,如水、空气等。不可压缩流体仿真通常基于不可压缩的纳维-斯托克斯方程(Navier-Stokes equations)来求解流体的速度和压力。不可压缩流体仿真适用于低速流动或者密度变化对流动影响不大的情况。 可压缩流体仿真:可压缩流体是指流体的密度在流动过程中会发生明显变化的流体,如高速气体、蒸汽等。可压缩流体仿真通常基于可压缩的纳维-斯托克斯方程或者欧拉方程(Euler equations)来求解流体的密度、速度和压力。可压缩流体仿真适用于高速流动或者密度变化对流动影响很大的情况。 传热仿真:传热仿真是指考虑流体和固体之间或者流体内部的温度和热量传递的流体仿真。传热仿真通常基于能量方程(Energy Equation)来求解流体和固体的温度和热流。传热仿真适用于涉及热交换、热传导、热对流、热辐射等现象的流体仿真。 多相流仿真:多相流仿真是指考虑两种或多种不同的流体相(如气、液、固)共存和相互作用的流体仿真。多相流仿真通常基于多相流模型(Multiphase Flow Models)来求解各个流体相的密度、速度、压力、体积分数等。多相流仿真适用于涉及气液、液液、气固、液固等界面现象的流体仿真。 粒子法仿真:粒子法仿真是指利用一些离散的粒子来代表流体的运动和性质的流体仿真。粒子法仿真通常基于粒子法模型(Particle Methods)来求解粒子的位置、速度、密度、压力等。粒子法仿真适用于涉及大变形、断裂、碎裂、自由表面等复杂现象的流体仿真。 格子玻尔兹曼方法仿真:格子玻尔兹曼方法仿真是指利用一种基于统计力学的方法来模拟流体的微观运动和宏观性质的流体仿真。格子玻尔兹曼方法仿真通常基于格子玻尔兹曼方程(lattice Boltzmann equation)来求解流体在离散的空间和时间上的分布函数和宏观量。格子玻尔兹曼方法仿真适用于涉及复杂的边界条件、噪声、多相流、多物理场耦合等问题的流体仿真。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 审计与日志 云审计 服务(Cloud Trace Service, CTS )是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录工业仿真云平台服务(SIM Space)的管理事件和数据事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 SIM Space支持审计的操作事件,请参见支持云审计的关键操作。 查看审计日志,请参见如何查看审计日志。 父主题: 安全
  • 产品功能 在使用工业仿真云平台服务(SIM Space)前,建议您先了解SIM Space平台的基本概念,以便更好地理解服务提供的各项功能。SIM Space平台主要提供了管理中心、仿真数据管理、仿真任务管理、仿真应用管理的能力,具体功能描述详见如下列表。 表1 管理中心 功能名称 功能描述 发布区域 登录授权 支持为成员授予登录权限、取消授权和查看已授权和未授权成员列表。 华南-广州 权限管理 支持角色管理,维护角色拥有的操作权限。 支持将用户加入角色,使其获得角色拥有的操作权限。 华南-广州 团队管理 支持管理团队和维护团队成员。 华南-广州 资源管理 支持管理资源队列和资源配额。 支持管理资源队列的优先码。 华南-广州 作业管理 支持对排队中和处理中的作业进行统一管理。 华南-广州 应用许可配置 支持管理应用的许可信息。 支持将许可指定给特定团队使用。 华南-广州 表2 仿真数据管理 功能名称 功能描述 发布区域 仿真数据生命周期管理 支持文件夹管理,包括新建、重命名、下载、移动、复制、删除文件夹。 支持文件管理,包括上传、重命名、下载、移动、复制、删除文件。 华南-广州 提交云端求解 支持直接使用云端仿真数据,提交云端求解任务。 华南-广州 表3 仿真任务管理 功能名称 功能描述 发布区域 仿真任务树管理 支持新建、重命名、删除仿真任务。 华南-广州 仿真作业管理 支持新建、停止和删除仿真作业。 支持实时查看仿真作业状态和作业运行日志。 支持下载和删除作业结果数据。 华南-广州 表4 仿真应用管理 功能名称 功能描述 发布区域 在线使用仿真应用 支持打开已集成的仿真求解计算类应用软件,提交求解作业。 华南-广州 父主题: 工业仿真云平台服务产品介绍
  • 身份认证与访问控制 身份认证 用户访问工业仿真云平台服务(SIM Space)的身份认证采取OrgID认证机制,用户需要经过认证才可以访问工业仿真云平台服务的业务,用户通过用户名/密码的方式进行认证来获取OrgID用户的Token。Token是系统颁发给用户的访问令牌,承载用户的身份信息。调用工业仿真云平台服务的接口时,可以用Token进行鉴权,云服务通过OrgID来验证和解析Token。OrgID的认证机制请参见OrgID身份认证。 访问控制 工业仿真云平台服务(SIM Space)权限策略将服务本身的权限,采用RBAC授权策略做了基于角色的细粒度划分,角色和策略明确定义了服务允许或者拒绝的用户操作,关于对工业仿真云平台服务(SIM Space)的访问权限,详细请参考权限管理。 父主题: 安全
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、虚拟主机和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 数据保护技术 工业仿真云平台服务(SIM Space)通过多种数据保护手段和特性,保障在存储和传输的数据安全可靠。 表1 数据保护手段和特性 数据保护手段 简要说明 详细介绍 传输加密(HTTPS) 支持HTTP和HTTPS两种传输协议,为保证数据传输的安全性,推荐您使用更加安全的HTTPS协议。 传输敏感数据(包含密码)时使用TLS1.2版本的HTTPS协议,支持完整性和机密性保护。 服务端存储加密 服务端对于敏感数据采取加密存储机制,使用SCC加密机制。 RDS高安全性。 数据备份 使用公有云RDS/OBS提供的数据备份恢复机制。 RDS/OBS高可靠性。 敏感操作保护 用户进行敏感操作时,会对操作用户进行风险提示,或者二次认证通过后进行操作。 敏感操作包括服务的启动、停止、部署与升级等。 父主题: 安全
  • 流体仿真场景 流体仿真是一种利用计算机模拟流体在不同的条件下的流动和传热的技术,可以帮助工程师和科学家探索流体的复杂性和多样性,解决各种流体问题,促进产品的创新和发展。流体仿真主要的应用场景如下: 汽车:汽车风阻、汽车风噪、汽车热管理和座舱舒适性。 电子:单板散热、整机热仿真和功率模组冷却。 装备:风机设计、空调设计和齿轮箱润滑。 图5 汽车风阻分析 图6 无人机气动分析 图7 汽车座舱舒适性 图8 电子散热分析 图9 功率模组冷却分析 图10 汽车风噪分析 图11 油箱润滑仿真分析
  • 产品架构 工业仿真云平台服务(SIM Space)脱胎于华为仿真研发最佳实践,面向工业制造领域的用户,提供软硬一体化的数字化仿真环境,并基于工业数字模型驱动引擎(iDME)和硬件工具链平台基础服务(IPDCenter-Base),面向生态伙伴开放,打造新一代工业仿真平台,使能生态构建面向各行各业的场景化仿真工具链解决方案,帮助企业实现从硬件资源到结构、流体、电磁等仿真专业工具的垂直整合,方便复杂仿真作业的协同开展,达成基于仿真的高效设计优化。产品结构如图1所示。 图1 工业仿真云平台服务(SIM Space)产品架构
  • 与其他服务的关系 数字化制造云平台(MBM Space)与周边服务的依赖关系如图1所示。 图1 MBM Space与其他服务的关系 表1 MBM Space其他云服务的关系 服务名称 MBM Space与其他服务的关系 主要交互功能 组织成员账号(OrgID) 通过OrgID服务,实现对MBM Space访问用户的身份认证。 MBM Space访问用户身份认证 云日志 服务(Log Tank Service,LTS) 记录MBM Space运行日志,方便用户查询进行问题定级定位。 日志收集记录 云审计服务(Cloud Trace Service,CTS) CTS记录MBM Space相关的操作事件,方便用户日后的查询、审计和回溯。 审计关键操作 应用性能管理 服务(Application Performance Management, APM ) 实时监控MBM Space组件运行状态、JVM状态、线程状态、API调用统计、Redis/RDS访问记录统计。 调用链管理,方便用户进行日常监控、问题定界定位。 调用链 调用指标统计 状态监控 应用运维管理 (Application Operations Management, AOM ) 统计与展示MBM Space运行环境状态指标,基于指标设置告警。 指标收集/展示 告警定义/发送告警 云容器引擎(Cloud Container Engine,CCE) 通过创建CCE集群及其上的主机组/主机,部署MBM的微服务。 创建CCE集群 创建节点 创建无状态负载(Deployment) 弹性云服务器(Elastic Cloud Server,E CS ) 通过创建CCE集群主机弹性云服务器,部署MBM Space Docker。 MBM Space Docker部署 容器镜像服务 (SoftWare Repository for Container,SWR) 通过SWR拉取执行集群中用于部署MBM Space的镜像软件。 上传镜像 下载镜像 关系型数据库(Relational Database Service,RDS) RDS for MySQL拥有稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点。 数据库连接 数据CRUD 对象存储服务 (Object Storage Service,OBS) 存储RDS的备份数据。 文件上传 文件下载 文件删除 NAT网关(NAT Gateway) 使用NAT网关能够为VPC内的容器实例提供 网络地址转换 服务,SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内的容器实例共享弹性公网IP访问Internet。 使用SNAT访问公网 弹性公网IP(Elastic IP) MBM Space通过EIP对外提供服务(DNS绑定改IP)。 请求转发 API网关(API Gateway,APIG) MBM Space内部和外部的API统一通过APIG进行调用。 API注册 API发布 API过载配置 弹性负载均衡( Elastic Load Balance,ELB) ELB对接APIG和CCE集群,完成MBM Space请求的负载转发均衡。独享型负载均衡实例资源独享,实例的性能不受其它实例的影响。 创建独享型负载均衡器 虚拟私有云(Virtual Private Cloud,VPC) 实现MBM Space隔离的私有云空间。 创建虚拟私有云和子网 分布式消息服务RocketMQ版(Distributed Message Service for RocketMQ) 通过分布式消息服务RocketMQ版完成消息的生产与消费。 创建RocketMQ实例 创建Topic 分布式缓存服务(Distributed Cache Service,DCS) 通过DCS(Redis)服务将热点数据放入缓存,加快用户端的访问速度,提升用户体验。 热点数据加载、访问 主机安全服务(Host Security Service,HSS) 通过HSS构筑MBM Space主机级别安全。 主机安全防护 Web应用防火墙 (Web Application Firewall,WAF) 通过WAF构筑MBM Space Web应用安全。 Web安全防护 Anti-DDoS流量清洗服务(Anti-DDoS traffic cleaning service,Anti-DDoS) 通过Anti-DDoS构筑MBM Space防DDoS攻击安全。 DDoS攻击防护 父主题: 数字化制造云平台产品介绍
  • 数据保护技术 数字化制造云平台(MBM Space)通过多种数据保护手段和特性,保障在MBM Space中存储和传输的数据安全可靠。 表1 MBM Space的数据保护手段和特性 数据保护手段 简要说明 详细介绍 传输加密(HTTPS) MBM Space支持HTTP和HTTPS两种传输协议,为保证数据传输的安全性,推荐您使用更加安全的HTTPS协议。 MBM Space传输敏感数据(包含密码)时使用TLS1.2版本的HTTPS协议,支持完整性和机密性保护。 服务端存储加密 服务端对于敏感数据采取加密存储机制,使用SCC加密机制。 RDS高安全性。 数据备份 使用公有云RDS提供的数据备份恢复机制。 RDS高可靠性。 敏感操作保护 MBM Space用户进行敏感操作时,会对操作用户进行风险提示,或者二次认证通过后进行操作。 敏感操作包含数据激活、数据删除等。 父主题: 安全
  • 使用默认SSL证书连接实例的示例代码 package mainimport ( "fmt" _ "github.com/influxdata/influxdb1-client" // this is important because of the bug in go mod client "github.com/influxdata/influxdb1-client/v2" "os")func main(){ c, err := client.NewHTTPClient(client.HTTPConfig{ Addr: "https://ip:port", // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 username = os.Getenv("EXAMPLE_USERNAME_ENV"), password = os.Getenv("EXAMPLE_PASSWORD_ENV"), Username:username, Password:password, InsecureSkipVerify: true, // true表示不验证服务端的信息,可能存在被攻击的风险,建议设为false,具体请参见使用CCM私有证书连接实例的示例代码。 }) if err != nil { fmt.Println("Error creating InfluxDB Client: ", err.Error()) } q := client.NewQuery("select * from cpu","databases","ns") if response, err := c.Query(q); err == nil && response.Error() == nil { fmt.Println(response.Results) }}
  • 使用CCM私有证书连接实例的示例代码 package mainimport ( "fmt" "io/ioutil" "crypto/tls" "crypto/x509" _ "github.com/influxdata/influxdb1-client" // this is important because of the bug in go mod client "github.com/influxdata/influxdb1-client/v2" "os")func main(){ pool := x509.NewCertPool() caCertPath := "/data/CA/agent/ca.crt" caCrt, err := ioutil.ReadFile(caCertPath) if err != nil { fmt.Println("ReadFile err:", err) return } pool.AppendCertsFromPEM(caCrt) // 此处是将ca.crt证书内嵌到程序中,也可以使用sudo cp {client}/ca.crt /etc/ssl/certs命令将证书添加到本机上。 c, err := client.NewHTTPClient(client.HTTPConfig{ Addr: "https://ip:port", // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 username = os.Getenv("EXAMPLE_USERNAME_ENV"), password = os.Getenv("EXAMPLE_PASSWORD_ENV"), Username: username, Password: password, TLSConfig: &tls.Config{ RootCAs: pool, InsecureSkipVerify: false, // false表示需要校验服务端的证书。 }, }) if err != nil { fmt.Println("Error creating InfluxDB Client: ", err.Error()) } q := client.NewQuery("select * from cpu","database","ns") if response, err := c.Query(q); err == nil && response.Error() == nil { fmt.Println("the result is: ",response.Results) }}
  • 使用非SSL方式连接实例的示例代码 package mainimport ( "fmt" _ "github.com/influxdata/influxdb1-client" // this is important because of the bug in go mod client "github.com/influxdata/influxdb1-client/v2" "os")func main(){ c, err := client.NewHTTPClient(client.HTTPConfig{ Addr: "http://ip:port", // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 username = os.Getenv("EXAMPLE_USERNAME_ENV"), password = os.Getenv("EXAMPLE_PASSWORD_ENV"), Username: username, Password: password, }) if err != nil { fmt.Println("Error creating InfluxDB Client: ", err.Error()) } q := client.NewQuery("select * from cpu","db0","ns") if response, err := c.Query(q); err == nil && response.Error() == nil { fmt.Println("the result is: ",response.Results) } }
  • 前提条件 已创建CCM私有证书。若未创建CCM私有证书,请参见《 云证书管理服务 用户指南》中“申请私有证书”章节先创建证书。 创建证书时需要将待连接的数据库IP信息添加到证书中,即“配置证书的AltName信息”。若不配置该信息,则会导致数据库连接失败。 若您在创建实例时选择证书功能,此处“证书的AltName信息”只能添加弹性公网IP,因为此时待连接的数据库实例尚未创建成功,无对应的内网IP地址生成,故无法将内网IP地址添加到证书的AltName信息处。 若您是在创建实例成功后,使用重置证书的功能来切换证书信息,此处“证书的AltName信息”可以添加数据库实例所有节点的内网IP地址或者弹性公网IP地址。 图1 创建CCM私有证书 其余参数配置,请参见《 云证书管理 服务用户指南》中“申请私有证书”章节进行设置。
  • 使用非SSL方式连接实例的Java代码示例 package influxdb;import okhttp3.OkHttpClient;import org.influxdb.InfluxDB;import org.influxdb.InfluxDBFactory;import org.influxdb.dto.Point;import org.influxdb.dto.Query;import org.influxdb.dto.QueryResult;import java.util.concurrent.TimeUnit;public class demoNoSSL { public static void main(String[] args) { OkHttpClient.Builder client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS) .retryOnConnectionFailure(true); // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 String username = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); final String serverURL = "http://127.0.0.1:8086", username = username, password = password; InfluxDB influxdb = InfluxDBFactory.connect(serverURL, username, password, client); // Create a database... String databaseName = "foo"; influxdb.query(new Query("CREATE DATABASE " + databaseName, databaseName)); influxdb.setDatabase(databaseName); // Write points to influxdb. influxdb.write(Point.measurement("bar") .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) .tag("location", "chengdu") .addField("temperature", 22) .build()); // Query your data using InfluxQL. QueryResult queryResult = influxdb.query(new Query("SELECT * FROM bar", databaseName)); // Close it if your application is terminating or you are not using it anymore. influxdb.close(); }}
  • 使用连接池方式连接实例的Java代码示例 package influxdb;import okhttp3.ConnectionPool;import okhttp3.OkHttpClient;import org.influxdb.InfluxDB;import org.influxdb.InfluxDBFactory;import org.influxdb.dto.Point;import org.influxdb.dto.Query;import org.influxdb.dto.QueryResult;import java.util.concurrent.TimeUnit;public class demoConnectionPool { public static void main(String[] args) { // 客户端连接池功能基于OkHttpClient实现 OkHttpClient.Builder client = new OkHttpClient().newBuilder(); client.connectTimeout(10, TimeUnit.SECONDS); client.readTimeout(10, TimeUnit.SECONDS); client.writeTimeout(10, TimeUnit.SECONDS); // 建议设为true,屏蔽部分连接错误,并自动进行重试 client.retryOnConnectionFailure(true); // maxIdleConnections指连接池最多维护的未使用的Idle连接数量,默认值是5 // 超过阈值的idle连接会由连接池关闭,关闭后sockets进入TIME_WAIT状态等待系统回收,该参数需根据实际连接数适当调整 client.connectionPool(new ConnectionPool(5, 30, TimeUnit.SECONDS)); // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 String username = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); final String serverURL = "http://127.0.0.1:8086", username = username, password = password; InfluxDB influxdb = InfluxDBFactory.connect(serverURL, username, password, client); // Create a database... String databaseName = "foo"; influxdb.query(new Query("CREATE DATABASE " + databaseName, databaseName)); influxdb.setDatabase(databaseName); // Write points to influxdb. influxdb.write(Point.measurement("bar") .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) .tag("location", "chengdu") .addField("temperature", 22) .build()); // Query your data using InfluxQL. QueryResult queryResult = influxdb.query(new Query("SELECT * FROM bar", databaseName)); // Close it if your application is terminating or you are not using it anymore. influxdb.close(); }}
  • 使用SSL方式连接实例的Java代码示例 package influxdb; import java.security.SecureRandom; import java.security.cert.X509Certificate; import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLContext; import okhttp3.OkHttpClient; import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Point; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; import org.apache.http.ssl.SSLContexts; import javax.net.ssl.*; public class demo { public static void main(String[] args) { OkHttpClient.Builder client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS) .retryOnConnectionFailure(true); client.sslSocketFactory(defaultSslSocketFactory(), defaultTrustManager()); client.hostnameVerifier(noopHostnameVerifier()); // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 String username = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); final String serverURL = "https://127.0.0.1:8086", username = username, password = password; InfluxDB influxdb = InfluxDBFactory.connect(serverURL, username, password, client); // Create a database... String databaseName = "foo"; influxdb.query(new Query("CREATE DATABASE " + databaseName, databaseName)); influxdb.setDatabase(databaseName); // Write points to influxdb. influxdb.write(Point.measurement("bar") .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) .tag("location", "chengdu") .addField("temperature", 22) .build()); // Query your data using InfluxQL. QueryResult queryResult = influxdb.query(new Query("SELECT * FROM bar", databaseName)); // Close it if your application is terminating or you are not using it anymore. influxdb.close(); } private static X509TrustManager defaultTrustManager() { return new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } }; } private static SSLSocketFactory defaultSslSocketFactory() { try { SSLContext sslContext = SSLContexts.createDefault(); sslContext.init(null, new TrustManager[] { defaultTrustManager() }, new SecureRandom()); return sslContext.getSocketFactory(); } catch (Exception e) { throw new RuntimeException(e); } } private static HostnameVerifier noopHostnameVerifier() { return new HostnameVerifier() { @Override public boolean verify(final String s, final SSLSession sslSession) { return true;//true 表示使用ssl方式,但是不校验ssl证书,建议使用这种方式 } }; } }
  • 约束与限制 按需计费云数据库绑定的资源(弹性公网IP)可能不支持随实例同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Influx按需转包年/包月 处理措施 弹性公网IP 按需计费 按带宽计费 独享带宽 是 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 按需计费 按流量计费 独享带宽 否 按需、按流量计费EIP不支持直接转为包年/包月EIP。变更方法如下: 先转为按需、按带宽计费的EIP。 再由按需、按带宽计费EIP转为包年/包月EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 约束与限制 包年/包月的云数据库绑定的资源(弹性公网IP)可能不支持随云数据库同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Influx包年/包月转按需 处理措施 弹性公网IP 包年/包月 按带宽计费 独享带宽 否 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 包年/包月 按流量计费 独享带宽 否 包年/包月EIP不支持直接转为按需、按流量计费EIP。变更方法如下: 先转为按需、按带宽计费EIP。 再由按需、按带宽计费EIP转为按需、按流量计费EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 典型应用 IoT传感器时序数据分析 物联网应用,规模和可靠性至关重要。GeminiDB Influx接口提供了高吞吐量和并发性,您可以通过快速的响应时间来支持大量的连接。因此非常适合要求苛刻的物联网应用。 优势: 超强写入 小批量写入场景性能为开源版本InfluxDB的4.5倍,大批量写入场景性能为开源版本InfluxDB的3.3倍。 弹性扩展 基于计算存储分离的分布式架构,分钟级计算节点扩容,应对业务高峰期。 证券及加密货币交易数据 GeminiDB Influx接口存储用户银行的银行流水,可应用于金融行业的风控体系,构建反欺诈系统。 优势: 高效查询 就近区域部署,快速响应查询。 实时分析 数据同步上云,支持云上时序数据分析。 软硬件设备实时监控 使用GeminiDB Influx接口保存用户行为数据,支撑精准营销和用户画像。 优势: 高效写入和查询 最高每天处理万亿级时间点写入能力,多节点多线程并行高性能查询。 实时分析 数据同步上云,支持云上时序数据分析。 都市环保数据采集 GeminiDB Influx接口支持海量时间线的写入,为环保采集点提供稳定可靠的数据库支撑。 优势: 高效写入和查询 向量化查询接口,高效的聚合、卷积等时序数据查询算子,可高效处理高并发大数据量写入和查询。
  • 计费场景 某用户于2023/03/18 15:30:00购买了一个按需计费的GeminiDB Influx实例,规格配置如下: 规格:2vCPUs,8GB 节点数量:3 冷存储空间:500GB 公网带宽:6Mbit/s 用了一段时间后,用户发现实例当前规格无法满足业务需要,于2023/03/20 9:00:00扩容规格为4vCPUs,16GB。因为该实例打算长期使用下去,于2023/03/20 10:30:00将实例转为包年/包月计费,购买时长为1个月。那么在3~4月份,该实例总共产生多少费用呢?
  • 计费构成分析 可以将GeminiDB Influx的使用阶段按照计费模式分为两段: 2023/03/18 15:30:00 ~ 2023/03/20 10:30:00:按需计费 2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间 实例规格:2vCPUs,8GB 节点数量:3 使用存储空间:100GB 使用备份空间:100GB 冷存储空间:500GB 公网带宽:6Mbit/s 在2023/03/20 9:00:00 ~ 2023/03/20 10:30:00期间 实例规格:4vCPUs,16GB 节点数量:3 使用存储空间:200GB 使用备份空间:210GB(备份按需计费时间:2023/03/20 10:00:00~2023/03/20 10:30:00) 冷存储空间:500GB 公网带宽:6Mbit/s 2023/03/20 10:30:00 ~ 2023/04/20 23:59:59:包年/包月计费 实例规格:4vCPUs,16GB 节点数量:3 使用存储空间:200GB 使用备份空间:300GB(备份按需计费时间:2023/04/10 23:59:59 ~ 2023/04/20 23:59:59) 冷存储空间:500GB 公网带宽:6Mbit/s 计费时长:1个月 此案例中的单价仅为示例,且计算出的费用为估算值。单价的变动和实际场景中计算出来的费用可能会有偏差。请以华为云官网发布的数据为准。 按需计费 在2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间按照2vCPUs 8GB规格计费,计费时长为41.5小时,费用计算如下: 在2023/03/20 9:00:00 ~ 2023/03/20 10:30:00期间按照4vCPUs 16GB规格计费,计费时长为1.5小时,费用计算如下: 包年/包月计费 在2023/03/20 10:30:00 ~ 2023/04/20 23:59:59期间为包年/包月计费,计费时长为1个月,费用计算如下: 由此可见,在3~4月份,GeminiDB Influx总共产生的费用为:261.71 + 17.89 + 4467.10 = 4746.70 元。
  • 使用须知 当有对应的补丁更新时(定期同步开源社区问题、漏洞修复),请及时进行升级。 当数据库版本为风险版本时,会提醒用户进行数据库补丁升级。 补丁升级会采用滚动升级的方式,升级过程中会依次重启每一个节点,重启期间业务会由其他节点接管,每次接管会产生5-10s闪断,请在业务低峰变更,避免实例过载,并建议业务添加自动重连机制,确保重启后连接及时重建。 基础组件升级约需15分钟,数据组件升级与节点数量有关,约1-2min每节点。
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图1 选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图2 添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。 父主题: 成本管理
  • 在费用中心续费 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。 图3 续费管理 所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。 手动续费资源。 单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。 图4 单个续费 批量续费:在资源页面勾选需要续费的资源,单击列表左上角的“批量续费”。 图5 批量续费 选择续费时长,判断是否勾选“统一到期日”,将到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 图6 续费确认 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 计费说明 GeminiDB Influx的计费项由实例规格费用、存储空间费用、备份空间费用和公网流量费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 GeminiDB Influx实例计费项 计费项 计费项说明 适用的计费模式 计费公式 * 实例规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 * 存储空间 计费因子:存储空间,按统一标准进行计费。 包年/包月、按需计费 存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 计费因子:备份空间,按统一标准进行计费。 按需计费 备份空间单价 * 备份收费容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息”。 说明: 计费时长:备份超过免费空间大小的使用时长。 冷存储空间 计费因子:冷存储空间,按统一标准进行计费。 包年/包月、按需计费 冷存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“冷存储空间计费信息”。 公网流量 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费和IP保有费。 包年/包月计费模式支持按带宽计费方式,收取带宽费。 按需计费模式支持按带宽计费、按流量计费和加入共享带宽三种计费方式,分别收取带宽费+IP保有费、流量费+IP保有费、带宽费+IP保有费。 包年/包月、按需计费 带宽费支持使用带宽加油包抵扣,流量费支持使用共享流量包抵扣。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性 云服务器价格 详情中的“带宽价格”,或者弹性公网IP价格详情。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月GeminiDB Influx实例(规格:2 vCPUs 8GB,节点数量:3,存储空间:100GB,备份空间:110GB(赠送100GB,后续收费空间10GB),冷存储空间:500GB),计费资源包括实例规格(vCPU、内存、节点数量)、存储空间、备份空间、公网带宽。购买时长为一个月,并在到期前手动续费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 2023/04/08 23:59:59~2023/05/01 23:59:59期间,使用免费备份空间50GB。 2023/05/01 23:59:59~2023/05/08 23:59:59期间,使用计费备份空间10GB,计费时长168小时。 图1给出了上述示例配置的费用计算过程。 图中价格仅为示例,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 图1 包年/包月GeminiDB Influx费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 兼容接口和版本 GeminiDB Influx支持的架构类型有:集群版、集群增强版、单节点。其中: 集群版,集群增强版,单机版相互之间不能转换、升级。 集群增强版不支持Flux语法,有强依赖Flux语法的建议使用集群版。 架构类型 兼容版本 适用场景 集群版 influxQL:1.7,1.8 Flux语法 集群是基于多个节点(至少是三节点)组成。集群的主要特点是横向扩展能力强,能满足不断增长的数据量需求。 集群增强版(推荐) influxQL:1.7,1.8 与集群版相比,进行了架构优化和调整,支持更大的集群规模,更高的读写性能,适用于更大规模的业务场景。 单节点 influxQL:1.7,1.8 Flux语法 单节点实例只有一个节点,无法保证SLA,建议仅用于测试和功能验证。 父主题: 产品介绍
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全