上云无忧 > 文档中心 > 百度智能云对象存储BOS CDN动态加速上传数据到BOS
对象存储BOS
百度智能云对象存储BOS CDN动态加速上传数据到BOS

文档简介:
本文主要介绍如何利用 CDN 的动态加速特性来提升客户端数据上传 BOS 过程的传输速度和稳定性。 BOS 联合 CDN 推出数据上传动态加速功能,主要是为了满足用户在使用 BOS 上传数据场景中的加速需求。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

本文主要介绍如何利用 CDN 的动态加速特性来提升客户端数据上传 BOS 过程的传输速度和稳定性。

应用场景

BOS 联合 CDN 推出数据上传动态加速功能,主要是为了满足用户在使用 BOS 上传数据场景中的加速需求。该功能充分发挥百度云 CDN 业界领先的架构优势,通过上传链路优化、私有协议、实时适配、智能路径切换等手段,极大地缩短了数据上行传输的时间,提高文件上传到 BOS 的速率。

BOS 的 CDN 动态加速加速功能可以满足客户在音频、视频、图片等多种数据上行传输应用场景下的加速需求,如:

  • 普通文件上传加速场景
  • 小文件上传场景
  • 远距离的文件上传场景
  • 网络拥塞等弱网环境下文件上传场景
  • 跨网跨运营商文件上传场景

优势

使用 CDN 动态加速上传数据到 BOS 有以下优势:

  • 通过百度遍布全球的优质 CDN 节点,为用户解决跨运营商、跨国、网络不稳定等因素导致的上传 BOS 速度慢、数据丢包、服务不稳定等问题,为用户提供快速、可靠和流畅的数据上传体验;
  • 百度自研的专门针对文件上行传输全程的综合优化加速方案,通过链路优化、协议层优化、路由优化、传输优化、智能路径切换等核心技术,中心节点多线接入,实时探测和智能选择回源链路,获取用于传输的最优路径以显著提升上传加速效果;
  • CDN 动态加速上传支持动态 HTTPS 请求加速,快速传输加密数据,同时具备 DDoS、CC 攻击抵御能力,保障数据上传过程的可用性和安全性。

使用方式

以用户上传视频、图片等二进制文件为例,使用 CDN 动态加速上传数据到 BOS 的存储方案可以对上传过程优化,在有限增加成本的情况下提升上传速度和上传体验。具体的解决方案和步骤如下:

开启CDN上行加速功能

  1. 登录控制台并打开需要开通上行加速的 Bucket 发布管理页面,开启该 Bucket 的 CDN 官方加速,并开通 CDN 动态加速功能,开启后会产生 CDN 动态加速费用。
  2. 详细的开启方法请参考 控制台操作指南-数据发布-CDN上行加速。

使用CDN加速上传数据

BOS 提供了 console 上传、使用 API 或 SDK 上传、使用 BOS CLI 上传等多种上传文件的方案,目前对于 CDN 加速上传功能您可以选择使用 API 或 SDK 上传。

通过API加速上传文件

通过 BOS API 的 PutObject 接口上传数据到 BOS 时,只需要将 API 请求的 HOST 替换为 CDN 加速域名(即您自定义的加速域名或者官方 CDN 加速域名+'/'+'文件名'),即通过 CDN 加速上传。例如: 原上传请求:

PUT /<ObjectName> HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Date: <Date>
Authorization: <AuthorizationString>
Content-Type: text/plain
Content-Length: <Content_Length>

CDN加速上传请求:

PUT /<ObjectName> HTTP/1.1
Host: <BucketName>.cdn.bcebos.com
Date: <Date>
Authorization: <AuthorizationString>
Content-Type: text/plain
Content-Length: <Content_Length>

通过SDK加速上传文件

不同语言版本的 SDK 配置使用CDN加速上传的方式不同,本例以通过 Go SDK 上传一个文件为例,其它语言 SDK 使用方式参考对应的 SDK 文档。

  1. SDK 配置 CDN 加速上传的加速域名作为 ENDPOINT,例如cdn-test.cdn.bcebos.com是在控制台开通 CDN 加速上传功能之后得到的 cdn-test 这个 bucket 对应的 CDN 加速域名,代码如下:
AK, SK := "xxx", "yyy" ENDPOINT := "cdn-test.cdn.bcebos.com" bosClient, _ := bos.NewClient(AK, SK, ENDPOINT)
  1. 配置开启 CDN 加速上传开关,需要注意的是,CnameEnabled 这个配置项表示的是是否使用自定义域名上传文件到 BOS,如果你的 ENDPOINT 是官方提供的以.cdn.bcebs.com为后缀的加速域名,可以不配置该开关;如果你的 ENDPOINT 是自定义加速域名,那么一定要把 CnameEnabled 设置为 true 才会生效。
bosClient.Config.CnameEnabled = true
  1. 使用配置后的 bosClient 进行文件上传操作体验 CDN 加速,上传完成后检查文件是否上传成功。
bosClient.PutObjectFromFile(bucketName, objectName, filePath, nil)

配置重试备用域名

在支持配置 CDN 域名加速上传文件到 BOS 的基础上,考虑到上传过程的稳定性,SDK 进一步支持了主域名上传失败时重试备用域名机制,使用方式如下:

// 如果使用ENDPOINT上传文件失败,SDK会自动重试BackupEndpoint域名
 bosClient.Config.BackupEndpoint = "cdn-test.bj.bcebos.com"

相似文档
  • A网站将自己的静态资源如图片或视频等存放在百度智能云存储的BOS上。B网站在未经A允许的情况下,使用A网站的图片或视频资源,放置到自己的网站中。由于BOS是按照使用量收费,这样网站B盗取了网站A的空间和流量,而A没有获取任何利益却承担了资源使用费。B盗用A资源放到自己网站的行为即为盗链。
  • 同源策略是Netscape公司在1995年引入浏览器的一个著名安全策略,它是浏览器最核心也最基本的安全功能,可以概括为本域脚本只能读写本域内的资源,而无法访问其它域的资源,以防止信息泄露。
  • 客户端加密,是指由用户在本地自行完成文件的加密和解密过程,百度智能云对象存储不参与加密和解密过程,只负责文件的上传、存储、下载过程,明文密钥由用户自行保管在本地。客户端加密增强了文件安全性,即使文件意外泄露,别人也无法解密得到原始数据。
  • 基于BOS的使用情况来看,目前移动端上传的问题主要集中在如下几个方面: DNS解析失败,请求出错; 域名劫持,数据在传输中有篡改,给用户带来诸如网络钓鱼、隐私窃取等网络访问风险;
  • AWS 的S3接口协议具有广泛的开源工具支持,BOS兼容AWS S3主要常用接口,对于基于S3接口协议开发的各类应用及服务,可以轻松迁移到BOS。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部