多云桶元数据服务
背景如前文所述,想要搭建一套云存储/处理体系,有很多小文件存储配置需要管理,因此,需要一套多云桶的元数据配置服务,以便做下一步业务逻辑。 功能梳理 功能点 说明 备注 url解析成uri 将文件url解析成cloud、bucket、key、操作指令,方便在多云环境下,获取对应的配置信息 多云下的bucket关联域名 bucket与host关联,提供url解析的元数据信息 域名打标签 任何一个域名,会关联多个标签,方便不同业务场景分发不同的域名 url重签 私有桶的url容易过期,需要一种方式重新对url重签 永久ak/sk bucket与ak/sk的关系,也是一对多,也需配置:标签的功能,标记在什么样的情况下,使用哪一组ak/sk 临时ak/sk 业务侧真正计算时,才会下发 备注:1、正常情况下,一个host只能找到唯一的bucket与之对应。但是,在多云迁移过程中,有可能出现:1个domain关联2个bucket的情况。2、ak/sk与标签的关系:一对一。3、host与标签...
说说报文
概念通信报文,说白了就是一串有规律的、易于理解的数据流,而“有规律”就是用技术规范、协议、标准、接口文档等来描述的。对于我们而言,一般就是接口文档; 为啥需要报文各个计算机设备之间,需要交换数据,数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有对数据进行编码,则这些数据没有人能够理解,属于没有用的数据。而经过一些协议、技术规范、接口文档等规范过的数据(有规律的数据流,也就是通讯报文),才是有用的数据,才能被别人理解。 分类按通讯报文的具体格式分,比较常用的有以下几种:1、定长报文2、ISO8583报文3、分隔符报文4、Xml报文5、Schema报文6、Json报文7、Swift:MT、MX报文8、混合报文9、pb报文10、hession报文 备注: 1、当前互联网的实际项目中主流用的是:http + json报文。
视频处理功能集
音视频处理功能音视频meta信息获取指定音频、视频资源的元信息,例如:宽、高、码率、帧率、文件大小、时长 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137{ "streams": [ { "index": 0, "codec_name": "aac", "codec_long_name&...
图片处理功能集
图片处理功能对存储在小文件系统中的图片资源进行在线处理,提供统一的能力层,屏蔽底层云厂商差异。所有处理均基于可直接访问 / 可正常下载的原始图片URL。 图片基本信息获取图片的基本信息,例如:图片格式、文件大小、色彩模型、宽、搞、帧个数,格式如下: 123456789{ "format": "JPEG", "width": 224, "height": 224, "orientation": "1", "colorModel": "sRGB", "frameNumber": "1", "fileSize": "6574B"} 说明 支持格式:JPEG、PNG、WEBP、GIF、BMP、TIFF 等 最大文件大小限制:20MB 多帧图片(GIF、WEBP)返回帧数 图片压缩在不显著影响视觉质量的前...
dag引擎
背景在实际媒体处理的业务场景中,复杂业务逻辑往往涉及多个步骤、多个模块、多个原子化动作,组合、协同工作,才能顺利完成。而任务编排通过将多个函数组织成有序的执行流程,使得开发者能够更自然地表达和管理复杂的业务逻辑。这种能力,业界称之为:工作流(Workflow)or dag引擎(本文无特殊说明,用dag引擎代表)。举些例子: 图片计算流程图 切片加速流程图 转码流程图 需求分析数据流向 -> 任务编排从数据流向来看,分为: 1、直线型pipeline:一个步骤的输出直接传递给下一个步骤的输入。 2、dag型pipeline:多个步骤的输出,当做下一个步骤的输入 + 一个步骤的输出,当做多个步骤的输入。 同步 or 异步在实际的媒体处理业务场景中,由于计算耗时长的原因,一般很少使用:dag引擎来编排同步处理业务。大部分都是走:异步回调的模式。因此,所实现的任务编排,需支持:异步回调的风格。 异步回调一般异步回调,都会有:notify_url字段 + 唯一id存在,建议:业务方不强依赖于:唯一id,而是通过:notify_url里带上业务自身的唯一id来处理。 例如:notify...
资源调度
背景云端图片、视频处理,非常费cpu or gpu,相对应的成本也非常的贵,因此,合理、有效、充分地调度好cpu、gpu资源显的尤为重要,毕竟,直接影响到成本。 痛点梳理监控指标不够细工欲善其事,必先利其器,要想做好:资源调度,必先收集好:相关的指标数据,以便:数据化决策。在实际项目中,资源调度与数据指标是相互完善的过程。 类别 类别 备注 pod指标 cpu利用率 pod指标 内存利用率 pod指标 集群的cpu核数 业务指标 图片处理个数 业务指标 视频处理个数 业务指标 输入视频时长 业务指标 处理时长/视频时长 业务指标 处理时长 业务指标 计算成功率 业务指标 错误码占比 队列指标 队列堆积数 带宽指标 上传带宽 带宽指标 下载带宽 带宽指标 下载耗时 带宽指标 上传耗时 小文件存储 结果文件容量 小文件存储 结果文件个数 小文件存储 中间结果文件容量 小文件存储 中间结果文件个数 小文件存储 输入文件容量 小文件存储 输入文件个...
