华为云Stack的学习(七)
八、华为云Stack存储服务介绍
1.云硬盘EVS
云硬盘(Elastic Volume Service,EVS),又名磁盘,是一种虚拟块存储服务,主要为ECS(Elastic Cloud Server)和BMS(Bare Metal Server)提供块存储空间。用户可以在线创建云硬盘并挂载给实例,云硬盘的使用方式与传统服务器硬盘完全一致。同时,云硬盘具有更高的数据可靠性,更高的I/O吞吐能力和更加简单易用等特点,适用于文件系统、数据库或者其他需要块存储设备的系统软件或应用。
1.1 EVS的功能
EVS提供多样化持久性存储设备,用户可灵活选择磁盘类型,并自行在磁盘上进行文件存储、搭建数据库等操作。EVS主要功能特性如下:
- 支持弹性挂载/卸载
EVS磁盘就像原始未经格式化的外部数据块存储设备,可挂载到单个实例。磁盘始 终不受实例运行时间的影响。将磁盘挂载到实例后,可以像使用其他物理硬盘一样使用它。用户也可以将磁盘从实例中卸载,并将其挂载到另一个实例。
- 支持多种磁盘类型
一个磁盘类型对应一组磁盘所使用的。用户可以根据接入的不同后端存储类型划 分云硬盘的磁盘类型,以便满足业务不同性能要求。当业务与所在存储的读写性 能配置不匹配时,用户可以通过变更磁盘类型调整磁盘所在存储介质的类型来改变 读写性能,以应对实例存储业务性能调整的诉求。
- 支持弹性可扩展
单磁盘容量最大支持64TB,用户可以自由配置存储容量,按需扩容,以满足用户的业务数据扩容需求。
- 支持快照功能
用户可以通过拍摄磁盘的时间点快照来备份用户的数据,防止因篡改和误删导致的 数据丢失,保证在业务故障时能够快速回退。同时用户可以从快照创建新的磁盘, 并将其挂载到其他实例,以便为多种业务提供数据资源,例如数据挖掘、报表查 询和开发测试等业务。这种方式既保护了原始数据,又能通过快照创建的新磁盘 快速部署其他业务,满足企业对业务数据的多元化需求。
- 支持共享盘
支持多个实例并发读写访问同一个共享盘,以满足集群、HA能力的关键企业需要多个实例同时访问一个磁盘的应用场景。
1.2 EVS的价值
- 规格丰富
提供各种不同性能的硬盘,可根据应用诉求,配置和选择不同服务等级的云硬盘 类型,满足不同业务场景的需求。
- 弹性扩展
提供超大容量块存储,单盘最大可支持64TB,可在线弹性扩容,满足业务增长需 要。 – 按需扩容 按需扩容,最小步长1GB。 – 性能线性增长 支持在线扩容,并且性能线性增长,满足业务需求。
- 安全可靠
分布式存储技术,多副本保存,保障数据不丢失。数据持久性高达 99.9999999%。
- 备份恢复
支持云硬盘备份、云硬盘快照等功能,防止应用异常、黑客攻击等导致的数据错误。
云硬盘备份
可为云硬盘创建备份,利用备份数据回滚云硬盘,最大限度保障数据的安全 性和正确性,确保业务安全。
云硬盘快照
可为云硬盘创建快照,利用快照回滚数据,恢复快照创建时间点的云硬盘数 据,最大限度保障数据的安全性和正确性,确保业务安全。
1.3 EVS逻辑架构
云硬盘相关组件
1.4 EVS业务流
各步骤对应的任务如下:
-
VDC管理员或VDC业务员通过EVS控制台申请存储资源。
-
EVS控制台通过ECS UI(EVS),将请求下发给组合API(EVS)。
-
组合API将请求分发到Cinder。
-
Cinder根据申请存储资源的策略在存储池创建卷。Cinder主要包括三个组件:
Cinder API,接受外部请求。
Cinder Scheduler,选择合适的后端存储主机,确定创建的卷最终落在哪个存储。
Cinder Volume,对接各种不同的存储设备驱动,下发请求到具体的存储设备。
- VDC管理员或VDC业务员通过EVS控制台将申请的存储资源挂载至云服务器。
a)EVS控制台通过ECS UI(ECS),将请求下发给组合API(ECS)。
b)组合API将请求分发到Nova。
c)Nova通过运行于计算节点上的Nova-compute处理挂载。
- Nova通知Cinder挂载云硬盘。
a)Nova获取云硬盘信息,并通知Cinder保留云硬盘。
b)Nova获取主机启动器信息并传递给Cinder。
c)Cinder通知存储阵列做启动器和目标器映射,并返回Nova目标器信息。 d. Nova完成挂载。
1.7 与其他云服务的关系
-
**ECS:**将云硬盘挂载至弹性云服务器,提供可弹性扩展的块存储设备。
-
**BMS:**将SCSI类型的云硬盘挂载至裸金属服务器,提供可弹性扩展的款存储设备。
-
**VBS:**VBS可为云硬盘创建备份,可通过备份恢复云硬盘数据;EVS可从备份创建新的云硬盘。
-
**IMS:**EVS可从数据盘镜像创建数据盘,从系统盘镜像创建系统盘。IMS可用于创建数据盘镜像或系统盘镜像。
1.6 关键指标
1.7 应用场景
用户可以根据应用诉求,配置和选择不同服务等级的磁盘类型,灵活选择部署。
a.关系型数据库
业务核心数据库需要支持应用高峰期的密集访问,要求磁盘具有持续稳定的高性能和 低时延,通过选用超高性能的磁盘类型,可以实现超强性能与超高可靠性的集合,满 足关系型数据库等数据密集型场景下低时延、高I/O性能密度的严苛性能要求。场景架构如下图所示。超高性能服务等级的磁盘可以满足如下性能要求:
-
时延<1ms
-
性能密度在2000 IOPS/TB~20000 IOPS/TB之间
-
典型配置:后端存储选择企业存储OceanStor Dorado 5000 V3,每双控25盘, 1TB/2TB/4TB SSD, 配置RAID 6,开启重删压缩,单套系统最大4控50盘 (30TB/60TB/120TB)
b.数据仓库
对于数据读密集型应用场景,部署数据仓库,建议选用高性能的磁盘类型,满足低延 迟、高读写速率以及大吞吐量的应用需求。场景架构如下图所示。高性能服务等级的磁盘可以满足如下性能要求:
-
时延在1ms~3ms之间
-
性能密度在500 IOPS/TB~4000 IOPS/TB之间
-
典型配置一:后端存储选择OceanStor 6800 V5,每双控50盘,1.92TB/3.84TB/ 7.68TB SSD,配置RAID 5,单套系统最大8控200盘(300TB/600TB/1200TB)
-
典型配置二:后端存储选择华为分布式块存储,硬件采用RH2288H V5服务器, 12 * 4TB/6TB/8TB/10TB SATA,3副本,1 * 1.6TB/3.2TB SSD,每节点可用容量 共约15.2TB/22.8TB/30.4TB/38TB
c.企业应用系统
该场景部署企业关键应用程序。建议选用中等性能的磁盘类型,满足性能要求不高, 但是要求具有丰富的企业级特性场景,例如普通数据库、应用VM、中间件VM。场景架构如下图所示。中等性能服务等级的磁盘可以满足如下性能要求:
-
时延在3ms~10ms之间
-
性能密度在250 IOPS/TB~1000 IOPS/TB之间
-
典型配置一:后端存储选择OceanStor 5500 V5,每双控<250盘(含10块 SSD),其中<240 * 600GB/1.2TB/1.8TB SAS,配置RAID 5,10 * 1.92TB/ 3.84TB/7.68TB SSD,配置RAID 5,单套系统最大6控750盘(360TB/720TB/ 1116TB)
-
典型配置二:后端存储选择华为分布式块存储,硬件采用5288 V3服务器,36 * 2TB/4TB/6TB/8TB SATA,3副本,2 * 1.6TB/3.2TB SSD,每节点可用容量约 22.8TB/45.6TB/68.4TB/91.2TB
d.开发测试
该场景部署开发测试应用程序。建议选用普通性能的磁盘类型,满足开发、测试、部署、运维的需求。场景架构如下图所示。普通性能服务等级的磁盘可以满足如下性能要求:
-
时延在10ms~20ms之间
-
性能密度在5 IOPS/TB~25 IOPS/TB之间
-
典型配置:后端存储选择OceanStor 5300 V5,每双控<396盘, 2TB/4TB/6TB/8TB/10TB NLSAS,配置RAID 6,单套系统最大2控(612TB/ 1224TB/1840TB/2460TB/3060TB)
2.弹性文件服务SFS
弹性文件服务(Scalable File Service,SFS),为用户的弹性云服务器(ECS)提供 一个按需扩展、弹性伸缩的高性能共享文件系统,符合标准文件协议(NFS和CIFS),能够弹性伸缩至PB规模,具备可扩展的性能,为海量数据、高带宽型应用提供有力支持。
2.1 SFS的功能
SFS主要提供以下功能:
- 创建文件系统
使用弹性文件服务前,必须要创建一个文件系统。
- 挂载文件系统
创建文件系统后,用户需要将文件系统挂载至云服务器才能使用。
- 管理文件系统
用户可以对文件系统进行管理,包括容量调整、查看、卸载、还原、删除文件系统等。
2.2 SFS相关概念
- 可用分区
AZ(Availability Zone),即可用分区,是同一服务区内,电力和网络互相独立的地理区域,这样可以保证可用分区的独立性。一个区域内有多个可用分区,一个可用分 区发生故障后不会影响同一区域内的其它可用分区,可用分区间通过内网访问。弹性云服务器可在同一区域内跨多个AZ共享一个文件系统。
- NFS
NFS(Network File System),即网络文件系统。一种使用于分布式文件系统的协议,通过网络让不同的机器、不同的操作系统能够彼此分享数据。
- CIFS
CIFS(Common Internet File System),通用Internet文件系统,是一种网络文件系统访问协议。CIFS是公共或开放的SMB协议版本,它使程序可以访问远程Internet计算 机上的文件并要求此计算机提供服务。通过CIFS协议,可实现Windows系统主机之间的网络文件共享。
- 文件系统
文件系统通过标准的NFS协议或CIFS协议为客户提供文件存储服务,用于网络文件远程访问,用户通过管理控制台创建共享路径后,即可在多个云服务器上进行挂载,并通过标准的POSIX接口对文件系统进行访问。
- 文件系统双活
双活存储设备上一对文件系统形成双活Pair,互为备份,且都处于运行状态。当一个存储设备发生故障,业务自动切换到另一个存储设备,解决了传统灾备业务无法自动切换的问题,提供给用户高级别的数据可靠性以及业务连续性。
- 存储 SLA
存储SLA(Service Level Agreement),即文件存储服务等级协议,是在申请文件存储资源时,可供选择的一组服务能力定义。用户可以基于文件存储服务等级申请文件系统。
- VPC
VPC(Virtual Private Cloud),即虚拟私有云,是一套为弹性云服务器构建的逻辑隔离的、由用户自主配置和管理的虚拟网络环境,旨在提升用户资源的安全性,简化用 户的网络部署。
用户可以在VPC中自由选择IP地址范围、创建多个子网、自定义安全组以及配置路由表 和网关等,方便地管理和配置网络,进行安全、快捷的网络变更。同时,通过自定义安全组内与组间弹性云服务器的访问规则以及防火墙等多种安全层,加强对子网中弹性云服务器的访问控制。
此外,用户也可以在公司数据中心或私有网络和VPC之间创建VPN(Virtual Private Network)即虚拟专用网络,而无需通过外网IP进行端口转发。
2.3 SFS的价值
- 简单易用
提供简单易用的操作界面,用户可以快捷地创建和管理文件系统,无需操心文件 系统的部署、扩展和优化等运维事务。
- 文件共享
支持多个及多种类型的弹性云服务器并发访问视频、图片。
- 支持主流文件协议
支持NFS和CIFS主流协议,保持用户在常用操作系统环境中的文件访问习惯,实现 应用无缝集成。
- 容量按需分配
弹性伸缩 用户可以根据业务需要配置文件系统初始存储容量,可以根据业务的变化扩大或 者缩小文件存储容量。
- 高性能
高可靠性 文件系统的总带宽可随容量扩展而增长,适合高带宽型应用。同时保障数据的高 持久度,满足业务增长需求。
- 自动挂载
用户在虚拟机安装自动挂载插件后,可在弹性文件服务界面选择共享文件系统, 自动挂载给虚拟机。
2.4 SFS逻辑架构
弹性文件服务相关组件
2.5 SFS业务流
各步骤对应的任务如下:
- 用户在SFS Console上申请文件存储资源。
- SFS Console调用OceanStor DJ(Manila)的API接口,下发请求到存储设备。
- OceanStor DJ(Manila)调用存储设备的API接口创建和管理文件系统。
2.6 关键指标
2.7 应用场景
a.视频云
弹性文件服务适用于视频云场景,主要用于存储视频文件和图片。 视频云场景架构如下图所示。
-
视频文件根据各个ISV(Independent Software Vendors)不同,一般是 1GB~4GB左右的大文件。
-
图片分为卡口图片和分析图片,一般图片为海量(一年文件个数约20亿)的小图 片(大小为30KB-500KB)。
b.媒体处理
使用高带宽、大容量的弹性文件服务,满足视频编辑、转码、合成以及高清视频和4K 视频点播场景对共享文件存储的需求,支持多层高清视频编辑及4K视频编辑。
3.对象存储服务OBS
对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠的数据存储能力,包括:创建、修改、删除桶,上传、 下载、删除对象等。
OBS系统和单个桶都没有总数据容量和对象/文件数量的限制,为用户提供了超大存储容量的能力,适合存放任意类型的文件,适合普通用户、网站、企业和开发者使用。 OBS提供了基于HTTP/HTTPS协议的接口,用户可以通过OBS管理控制台或客户端访问和管理存储在OBS中的数据。此外,OBS支持OBS API接口,可使用户方便管理自己存储在OBS上的数据,以及开发多种类型的上层业务应用。
云服务实现了在多区域部署基础设施,具备高度的可扩展性和可靠性,用户可根据自身需要指定区域使用OBS,由此获得更快的访问速度。
3.1 OBS相关概念
a.对象
对象(Object)是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其 相关属性信息(元数据)的集合体。用户上传至OBS的数据都以对象的形式保存在桶中。
对象包括了Key,Metadata,Data三部分:
-
Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
-
Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元 数据以键值对(Key-Value)的形式被上传到OBS中。
– 系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Contentlength,Last-modify,ETag等。
– 用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。
- Data:数据,即文件的数据内容。
通常,我们将对象等同于文件来进行管理,但是由于OBS是一种对象存储服务,并没 有文件系统中的文件和文件夹概念。为了使用户更方便进行管理数据,OBS提供了一 种方式模拟文件夹。通过在对象的名称中增加“/”,例如“test/123.jpg”。此时, “test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名 了,而实际上,对象名称(Key)仍然是“test/123.jpg”。
在OBS管理控制台上,用户均可直接使用文件夹的功能,符合文件系统下的操作习惯。
b.桶
桶(Bucket)是OBS中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。
每个桶都有自己的访问权限、所属区域等属性,用户可以在不同区域创建不同访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。
在OBS中,桶名必须是全局唯一的且不能修改,即用户创建的桶不能与自己已创建的其他桶名称相同,也不能与同帐号、其他帐号及帐号下的所有IAM用户创建的桶名称相同。桶所属的区域在创建后也不能修改。每个桶在创建时都会生成默认的桶ACL (Access Control List,访问控制列表),桶ACL的每项包含了对被授权用户授予什么 样的权限,如读取权限、写入权限等。
用户只有对桶有相应的权限,才可以对桶进行 操作,如创建、删除、显示、设置桶ACL等。
一个租户可创建的桶+并行文件系统的上限为100个。每个桶中存放的对象的数量和大 小总和没有限制,用户不需要考虑数据的可扩展性。
由于OBS是基于REST风格HTTP和HTTPS协议的服务,可以通过URL(Uniform Resource Locator)来定位资源。
OBS中桶和对象的关系如下图
c.并行文件系统
并行文件系统(Parallel File System)是对象存储服务(Object Storage Service, OBS)提供的一种经过优化的高性能文件系统,提供毫秒级别访问时延,以及TB/s级 别带宽和百万级别的IOPS,能够快速处理高性能计算(HPC)工作负载。
作为对象存储服务的子产品,并行文件系统支持用户按照标准的OBS接口读取数据。
d.访问密钥(AK/SK)
OBS支持通过AK/SK认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。当用户使用OBS提供的API进 行二次开发并通过AK/SK认证方式完成认证鉴权时,需要按照OBS定义的签名算法来计 算签名并添加到请求中。
-
**Access Key Id(AK):**访问密钥ID。与私有访问密钥关联的唯一标识符;访问密 钥ID和私有访问密钥一起使用,对请求进行加密签名。
-
**Secret Access Key(SK):**与访问密钥ID结合使用的私有访问密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
e.终端节点Endpoint
终端节点(Endpoint):OBS为每个区域提供一个终端节点,终端节点可以理解为 OBS在不同区域的区域域名,用于处理各自区域的访问请求。
服务的Endpoint信息由服务名、Region ID、外部域名三部分组成。格式为: service_name.region0_id.external_global_domain_name 其中:
-
service_name:服务名缩写,OBS 3.0的缩写为obsv3,不区分大小写。
-
region0_id:请在安装时导出的汇总文件《xxx_export_all_v2_CN.xlsx》的“基本参数”页签中查找region0_id。
-
external_global_domain_name:请在安装时导出的汇总文件 《xxx_export_all_v2_CN.xlsx》的“基本参数”页签中查找 external_global_domain_name。
f.访问域名
**访问域名:**OBS会为每一个桶分配默认的访问域名。访问域名是桶的域名地址,可应 用于直接通过域名访问桶的场景,比如:云应用开发、数据分享等。
OBS桶访问域名的结构为:BucketName.Endpoint。其中BucketName为桶名称, Endpoint为桶所在区域的终端节点(区域域名)。
除了桶访问域名外,下图列出了与OBS相关的其他域名的结构、协议类型等信息, 以便用户全面地了解OBS域名。
g.区域和可用区
我们用区域和可用区来描述数据中心的位置,用户可以在特定的区域、可用区创建资源。
- 区域(Region)指物理的数据中心。每个区域完全独立,这样可以实现最大程度 的容错能力和稳定性。资源创建成功后不能更换区域。
- 可用区(AZ,Availability Zone)是同一区域内,电力和网络互相隔离的物理区域,一个可用区不受其他可用区故障的影响。一个区域内可以有多个可用区,不同可用区之间物理隔离,但内网互通,既保障了可用区的独立性,又提供了低价、低时延的网络连接。
下图阐述了区域与可用区之间的关系。
3.2 OBS的价值
- 数据稳定,业务可靠
OBS支撑数亿用户访问,稳定可靠。
- 多重防护,授权管理
OBS支持多版本控制、服务端加密、防盗链、VPC网络隔 离、访问日志审计以及细粒度的权限控制,保障数据安全可信。
- 千亿对象,千万并发
OBS通过智能调度和响应,优化数据访问路径,并结合传 输加速、大数据垂直优化等,为各场景下用户的千亿对象提供千万级并发、超高 带宽、稳定低时延的数据访问体验。
- 简单易用,便于管理
OBS支持标准REST API,让业务快速上云。无需事先规划 存储容量,存储资源可线性无限扩展,不用担心存储资源扩容、缩容问题。
- OBS与自建存储服务器对比
3.3 应用场景
**OBS主要的应用场景为:**视频监控、视频点播、备份归档、HPC(High-performance computing,高性能计算)、企业云盘(网盘)等。
-
OBS可用于存取任何格式、海量的对象/文件数据,用户可以随时执行对OBS的存取操作。对任何应用程序而言,包括web网站、视频应用、SaaS应用、网盘、移动APP等,开发人员均可以将其作为数据存储的理想选择。此外,对于备份、大数 据存储、归档等近线、离线存储场景,OBS也是节省投资的存储方式。
-
OBS的主要特点是海量(容量巨大、线性扩展)、省钱(零初始投资,用多少算多少,用得越多越经济)、可靠、安全(访问、传输、保存端到端安全)。使用 OBS后,开发人员可以无须关注底层存储技术,而是专注于业务创新,因为无论 业务如何发展,开发人员都无须规划存储容量,数据可以快速访问、线性扩容, 且具有高可靠性和高安全性。最重要的是业务使用IT的成本可以大大降低。
4.EVS与SFS
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/a18f6b607120430d56b5861d943e4751.jpeg)
华为云Stack的学习(七)
八、华为云Stack存储服务介绍 1.云硬盘EVS 云硬盘(Elastic Volume Service,EVS),又名磁盘,是一种虚拟块存储服务,主要为ECS(Elastic Cloud Server)和BMS(Bare Metal Se…...
![](https://www.ngui.cc/images/no-images.jpg)
安装k8s集群
一、前置环境配置 安装两台centos 实验环境,一台pc配有docker环境,有两个centsos7容器,其中一个容器作为master,一个作为node。如果master与node都是用默认端口,会存在冲突,所以在此基础上做细微的调整。…...
![](https://www.ngui.cc/images/no-images.jpg)
C++中编写没有参数和返回值的函数
C中编写没有参数和返回值的函数 返回值为 void 函数不需要将值返回给调用者。为了告诉编译器函数不返回值,返回类型为 void。例如: #include <iostream>// void means the function does not return a value to the caller void printHi() {std…...
![](https://img-blog.csdnimg.cn/da988ade4d9f4b76afac2387ca116a0d.png)
SWC 流程
一个arxml 存储SWC (可以存多个,也可以一个arxml存一个SWC)一个arxml 存储 composition (只能存一个)一个arxml 存储 system description (通过import dbc自动生成system) 存储SWC和composition的arxml文件分开&#…...
![](https://img-blog.csdnimg.cn/ed1a562cca2d4b06a134f4e30e0d403b.png)
怒刷LeetCode的第10天(Java版)
目录 第一题 题目来源 题目内容 解决方法 方法一:两次拓扑排序 第二题 题目来源 题目内容 解决方法 方法一:分治法 方法二:优先队列(Priority Queue) 方法三:迭代 第三题 题目来源 题目内容…...
![](https://img-blog.csdnimg.cn/76436d3b7f9c4f25944d3082da6eeb4c.png)
java框架-Springboot3-场景整合
文章目录 java框架-Springboot3-场景整合批量安装中间件NoSQL整合步骤RedisTemplate定制化 接口文档远程调用WebClientHttp Interface 消息服务 java框架-Springboot3-场景整合 批量安装中间件 linux安装中间件视频 NoSQL 整合redis视频 整合步骤 RedisTemplate定制化 Re…...
![](https://img-blog.csdnimg.cn/3cb16de5423c49c5a666ba4386b9943d.png)
在Bat To Exe Converter,修改为当异常结束或终止时,程序重新启动执行
在Bat To Exe Converter,修改为当异常结束或终止时,程序重新启动执行 .bat中的代码部分: .bat中的代码echo offpython E:\python\yoloProjectTestSmallLarge\detect.pypause,我想你能帮在Bat To Exe Converter,修改成…...
![](https://img-blog.csdnimg.cn/c949854929534e73a6a4dc3c0ad6a6d9.png)
PythonWeb服务器(HTTP协议)
一、HTTP协议与实现原理 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在网络上传输超文本数据的协议。它是Web应用程序通信的基础,通过客户端和服务器之间的请求和响应来传输数据。在HTTP协议中连接客户与服务器的…...
![](https://img-blog.csdnimg.cn/4aef066debe84fcaaa0d1797eddadd6c.png)
Northstar 量化平台
基于 B/S 架构、可替代付费商业软件的一站式量化交易平台。具备历史回放、策略研发、模拟交易、实盘交易等功能。兼顾全自动与半自动的使用场景。 已对接国内期货股票、外盘美股港股。 面向程序员的量化交易软件,用于期货、股票、外汇、炒币等多种交易场景ÿ…...
![](https://img-blog.csdnimg.cn/317e7a72d4024881a5441e8c0be53d0c.png)
c语言进阶部分详解(经典回调函数qsort()详解及模拟实现)
大家好!上篇文章(c语言进阶部分详解(指针进阶2)_总之就是非常唔姆的博客-CSDN博客)我已经对回调函数进行了初步的讲解和一个简单的使用事例,鉴于篇幅有限没有进行更加详细的解释,今天便来补上。…...
![](https://www.ngui.cc/images/no-images.jpg)
win下 lvgl模拟器codeblocks配置
链接: 官方lvgl的codeblocks官方例子 下载慢的话,可能需要点工具。 需要下载的东西 https://github.com/lvgl/lv_port_win_codeblocks https://github.com/lvgl/lv_drivers/tree/4f98fddd2522b2bd661aeec3ba0caede0e56f96b https://github.com/lvgl/lvgl/tree/7a23…...
![](https://img-blog.csdnimg.cn/img_convert/da0902ca0b5274d681301e795ea5396c.gif)
Quartus出租车计价器VHDL计费器
名称:出租车计价器VHDL计费器 软件:Quartus 语言:VHDL 要求: 启动键start表示汽车启动,起步价7元,同时路程开始计数,停止键stop表示熄火,车费和路程均为0,当暂停键pa…...
![](https://img-blog.csdnimg.cn/84ceb1af8b364c1caf8f641a9a9637a3.png)
浅谈单元测试:测试和自动化中的利用
【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 浅谈单元测试是一件棘手的事情。我很确定测试人员在某个时候会抱怨开发人员没有正确地进行单元测试&…...
![](https://www.ngui.cc/images/no-images.jpg)
深度详解Java序列化
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux下的网络编程——B/S模型HTTP(四)
前言: HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令…...
![](https://img-blog.csdnimg.cn/205b782db9254a2292f3307a16d1dd84.png)
Go语言入门篇
目录 一、基础数据类型 1.1 变量的定义方式 1.2 用%T输出变量的类型 二、复合数据类型 2.1 数组 2.1.2、数组的遍历 2.1.3 数组传参 2.2. 切片slice 2.2.1. 初始化切片 2.2.2. append向切片中追加元素 2.2.3. 切片的截取 2.3. map 2.3.1. map初始化 2.3.2. 添加和…...
![](https://img-blog.csdnimg.cn/49ed4c4348a34ff6a43a8eeb3b0c3162.png)
基于springboot+vue的青年公寓服务平台
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring-ImportSelector接口功能介绍
ImportSelector接口是至spring中导入内部类或者外部类的核心接口,只需要其定义的方法内返回需要创建bean的class字符串就好了,比如:当我们引入一个外部share包,我们拿到里面的Class返回出去,就能得到这个bean,是多么神…...
![](https://img-blog.csdnimg.cn/53b7c293b2f94eb293caae3b0317ce6e.png)
YOLOv5如何训练自己的数据集
文章目录 前言1、数据标注说明2、定义自己模型文件3、训练模型4、参考文献 前言 本文主要介绍如何利用YOLOv5训练自己的数据集 1、数据标注说明 以生活垃圾数据集为例子 生活垃圾数据集(YOLO版)点击这里直接下载本文生活垃圾数据集 生活垃圾数据集组成&…...
![](https://img-blog.csdnimg.cn/3b3e03b17a1c481ca3478f97aff593e1.png)
李航老师《统计学习方法》第1章阅读笔记
1.1 统计学习 统计学习的特点 统计学习:计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析 现在人们提及机器学习时,往往指统计机器学习,所以可以认为本书介绍的是机器学习方法 统计学习的对象 统计学习研究的对象是数据(data)…...
![](https://img-blog.csdnimg.cn/img_convert/5b51d24960a4533a68f4ed38059b1ca1.png)
基于微信小程序的背单词学习激励系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言用户微信端的主要功能有:管理员的主要功能有:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉…...
![](https://img-blog.csdnimg.cn/d79ca58777464d128bfeb5f1f11320e1.png)
VScode调试复杂C/C++项目
以前都是用的VScode调试c/cpp的单个文件的编译和执行, 但是一遇到大型项目一般就用gdb了, gdb的调试效率和VScode差距还是比较大的, 但最近发现VScode其实也能调试复杂的cpp项目, 所以记录一下. 首先明确一下几点: 首先cpp文件需要经过编译, 生成可执行文件, 然后通过运行/调…...
![](https://img-blog.csdnimg.cn/img_convert/a08571f736dc04b5bef51cd09e8e3a0a.gif#pic_center)
【Hash表】字母异位词分组-力扣 49 题
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...
![](https://img-blog.csdnimg.cn/631ca6ecb5214151a9843065aaa4669c.png)
展示日志log4.properties
log4.properties 1.log4.properties 此时文件主要用于展示日志的输出的级别的信息。 # Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategoryINFO, CONSOLE debug info warn error fatal log4j.rootCategoryinfo, CONSO…...
![](https://img-blog.csdnimg.cn/581de8804ad843ce8f9a4cff02c9225a.png)
基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ............................................................... for Num_xb Num_xb2Num_…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp项目实践总结(十九)版本更新和热更新实现方法
导语:当一个 APP 应用开发完成以后,就要上架应用商店,但有时候修改一些小问题或者推出一些活动,又不想频繁地提交应用商店审核,那么就可以使用应用内更新功能来进行应用的版本升级更新或热更新,下面就介绍一下实现的方法。 目录 准备工作原理分析实战演练案例展示准备工作…...
一起学数据结构(8)——二叉树中堆的代码实现
在上篇文章中提到,提到了二叉树中一种特殊的结构——完全二叉树。对于完全二叉树,在存储时,适合使用顺序存储。对于非完全二叉树,适合用链式存储。本文将给出完全二叉树的顺序结构以及相关的代码实现: 1. 二叉树的结构…...
![](https://img-blog.csdnimg.cn/dc40b1fe379a454899b5b64093898e50.png)
Linux环境变量配置说明(配置jdk为例-摘录自尚硅谷技术文档)
配置环境变量的不同方法 Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/.sh,~/.bashrc,~/.bash_profile等,下面说明上述几个文件之间的关系和区别。 bash的运行模式可分为login shell和non-login shell。 例…...
![](https://www.ngui.cc/images/no-images.jpg)
idea常用插件笔记
文章目录 Free Mybatis Toollombok插件idea插件导出导入 idea提供了很多好用的插件,之前都装了的,但是换了下电脑,什么都没了,所以记录下方便以后用。 Free Mybatis Tool mybatis跳转插件,再也不用费力的找xml了。 l…...
![](https://img-blog.csdnimg.cn/5a45a112f0f1444ca73ee630d5a35c6b.png)
搜索二叉树【C++】
文章目录 二叉搜索树二叉搜索树的模拟实现构造函数拷贝构造函数赋值运算符重载函数析构函数Insert循环递归 Erase循环递归 Find循环递归 二叉搜索树的应用K模型KV模型 完整代码普通版本递归版本 二叉搜索树 二叉搜索树又称为二叉排序树,它或者是一棵空树࿰…...
![](/images/no-images.jpg)
网站建设服务介绍/seo海外
C实现生产guid唯一号 在日常软件开发中,我们经常需要一个唯一标识来标识一个对象或编码文件,下面是C实现的方法,其中sgi_log_t.h头文件定义在log4cplus应用 -日志管理类接口文章中有说明,为了更好的记录生产的guid;#in…...
![](http://foggry.com/images/article4/run_search_path.png)
网站建设访问对象/好的产品怎么推广语言
WWDC2014上发布的Xcode6 beta版有了不少更新,其中令我惊讶的一个是苹果在iOS上开放了动态库,在Xcode6 Beta版的更新文档中是这样描述的: Frameworks for iOS. iOS developers can now create dynamic frameworks. Frameworks are a collectio…...
![](https://img-blog.csdnimg.cn/20210927134551336.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA44K344Kb55Sc6Jm-,size_20,color_FFFFFF,t_70,g_se,x_16)
怎么建立免费的网站/专业网站建设
感谢M_Studio的无私分享,下面是他的主页 M_Studio的个人空间_哔哩哔哩_Bilibili Photon: https://www.photonengine.com/zh-CN/Photon 游戏素材: https://assetstore.unity.com/publishers/44925 一、注册创建应用 创建 导入Photon和游…...
![](https://images2015.cnblogs.com/blog/534303/201605/534303-20160530223657821-1599264675.png)
网站排名突然下降解决/谷歌seo优化怎么做
ThinkPHP 3.2.3 自带的验证码类位于 /ThinkPHP/Library/Think/Verify.class.php,字体文件位于 /ThinkPHP/Library/Think/Verify/ 可以在 Verify.class.php 文件内进行修改,也可以单独写一个类继承自带的验证码类。如果单独写一个继承的类,可以…...
![](/images/no-images.jpg)
网网站制作/seo搜索引擎优化业务
视频是一帧帧的图像,视频处理的是运动图像,而不是静止图像。视频资源可以是一个专用摄像机、网络摄像头、视频文件或图像文件序列。 OpenCV 中,VideoCapture 类和 VideoWriter 类为视频处理中所涉及的捕获和记录任务提供了一个易用的 C++API。 下方的 recVideo 示例是一…...
![](https://img-blog.csdnimg.cn/20210303103913472.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NDY4OTE5,size_16,color_FFFFFF,t_70)
php动态网站/贵阳网站优化公司
最直接的方式 1, $arr []; foreach ($arr as $val) {$arr[] $val[name]; } dump(arr);2, $arr array_column($arr, name); dump(arr);...