当前位置: 首页 > wzjs >正文

北京想象力网站建设公司网站维护需要什么技能

北京想象力网站建设公司,网站维护需要什么技能,做电商网站公司,服装设计工作室1. 文件上传流程 ​初始化上传​ 检查 fileId 是否为空,如果为空则生成一个随机的 fileId。获取当前用户的存储空间信息(通过 redisComponent.getUserSpaceUse)。如果是第一个分片(chunkIndex 0),检查文件…

1. 文件上传流程

  1. 初始化上传

    • 检查 fileId 是否为空,如果为空则生成一个随机的 fileId
    • 获取当前用户的存储空间信息(通过 redisComponent.getUserSpaceUse)。
    • 如果是第一个分片(chunkIndex == 0),检查文件是否已存在(通过 fileMd5 查询数据库),如果存在则直接秒传。
  2. 秒传逻辑

    • 如果文件已存在,检查用户存储空间是否足够。
    • 更新文件信息(如 fileIdfilePiduserId 等)并插入数据库。
    • 更新用户存储空间使用情况。
  3. 分片上传

    • 创建临时目录(tempFileFolder)用于存储分片文件。
    • 检查用户存储空间是否足够。
    • 将分片文件保存到临时目录中,并更新临时文件大小到 Redis。
  4. 分片上传完成

    • 如果是最后一个分片,记录文件信息到数据库,状态为 TRANSFER
    • 更新用户存储空间使用情况。
    • 事务提交后,异步调用 transferFile 方法进行文件合并和转码。
  5. 异常处理

    • 如果上传失败,删除临时目录。

2. 文件合并与转码流程(异步)​

  1. 文件合并

    • 检查文件状态是否为 TRANSFER
    • 将临时目录中的所有分片文件合并为一个完整的文件。
    • 将合并后的文件移动到目标目录。
  2. 文件转码

    • 如果是视频文件,进行转码(如 HEVC 转 H.264)。
    • 生成视频切片(.ts 文件)和索引文件(.m3u8)。
    • 如果是图片文件,生成缩略图。
  3. 视频分片处理

    • 创建切片目录:根据视频文件路径创建一个同名切片目录。
    • 检测视频编码格式:使用 ffprobe 检测视频编码格式,如果是 HEVC 编码,则将其转码为 H.264。
    • 生成 .ts 文件:使用 ffmpeg 将视频文件转换为 .ts 格式。
    • 生成 .m3u8 索引文件:使用 ffmpeg 将 .ts 文件切片,并生成 .m3u8 索引文件。
    • 清理临时文件:删除中间生成的 .ts 文件。
  4. 更新文件状态

    • 更新文件信息(如文件大小、封面、状态等)到数据库。

3. 重要知识点

  1. 分片上传

    • 支持大文件分片上传,通过 chunkIndex 和 chunks 参数管理分片。
    • 使用临时目录存储分片文件,最后合并为一个完整文件。
  2. 秒传机制

    • 通过 fileMd5 校验文件是否已存在,避免重复上传。
    • 如果文件已存在,直接更新文件信息和用户存储空间。
  3. 存储空间管理

    • 使用 Redis 缓存用户存储空间使用情况。
    • 每次上传前检查用户存储空间是否足够。
  4. 异步处理

    • 使用 @Async 注解实现异步文件合并和转码。
    • 通过 TransactionSynchronizationManager.registerSynchronization 确保事务提交后执行异步任务。
  5. 文件合并

    • 使用 RandomAccessFile 实现分片文件的合并。
    • 支持删除临时目录以释放存储空间。
  6. 文件转码

    • 使用 ffmpeg 进行视频转码和切片。
    • 生成视频缩略图和图片缩略图。
  7. 视频分片处理

    • 切片目录:为每个视频文件创建一个切片目录,用于存储 .ts 文件和 .m3u8 索引文件。
    • 编码检测:使用 ffprobe 检测视频编码格式,确保兼容性。
    • 切片生成:使用 ffmpeg 将视频文件切片,并生成 .m3u8 索引文件。
  8. 异常处理

    • 使用 try-catch 捕获异常,确保上传失败时清理临时文件。
    • 自定义 BusinessException 处理业务异常。
  9. 事务管理

    • 使用 @Transactional 注解管理事务,确保数据一致性。
    • 在事务提交后执行异步任务,避免事务未提交导致的数据不一致问题。
  10. 文件存储结构

    • 临时文件存储在 temp 目录中,合并后移动到 file 目录。
    • 文件路径按月份分类,便于管理和查询。
  11. Redis 缓存

    • 使用 Redis 缓存临时文件大小和用户存储空间使用情况,提高性能。

4. 优化建议

  1. 分片上传优化

    • 支持断点续传,记录已上传的分片信息。
    • 增加分片大小和并发上传的配置项。
  2. 秒传优化

    • 使用分布式文件存储(如 MinIO、FastDFS)提高文件查询效率。
    • 增加文件分块校验,确保文件完整性。
  3. 转码优化

    • 使用分布式任务队列(如 RabbitMQ、Kafka)处理转码任务,提高并发能力。
    • 增加转码任务的优先级和重试机制。
  4. 存储优化

    • 使用对象存储服务(如 AWS S3、阿里云 OSS)替代本地存储,提高扩展性和可靠性。
    • 增加文件冷热分离策略,降低存储成本。
  5. 安全性优化

    • 增加文件上传的权限校验,防止非法用户上传文件。
    • 对上传文件进行病毒扫描,确保文件安全。

5. 总结

该上传功能实现了分片上传、秒传、文件合并和转码等核心功能,结合 Redis 缓存和异步处理提高了性能和用户体验。通过事务管理和异常处理确保了数据的一致性和可靠性。视频分片处理是其中的重要环节,通过 ffmpeg 实现视频切片和索引文件的生成,为视频播放提供了支持。后续可以通过分布式存储和任务队列进一步提升系统的扩展性和并发能力。


文章转载自:

http://JJQ2nRQf.LLtdf.cn
http://eFm9QPlh.LLtdf.cn
http://lVDRyhdm.LLtdf.cn
http://UOSKTV04.LLtdf.cn
http://DKDapcH7.LLtdf.cn
http://TihCqKAQ.LLtdf.cn
http://NvSnBAN2.LLtdf.cn
http://AFjR0MS2.LLtdf.cn
http://Nkku7FTS.LLtdf.cn
http://tcEAAepA.LLtdf.cn
http://dfFpbpT5.LLtdf.cn
http://wdwO81Bt.LLtdf.cn
http://e21IkVAE.LLtdf.cn
http://LAcl45Fm.LLtdf.cn
http://CRpXGH2b.LLtdf.cn
http://zvWkmmtj.LLtdf.cn
http://0grRyXYE.LLtdf.cn
http://MUClatEa.LLtdf.cn
http://At8Gk3lc.LLtdf.cn
http://PdBPGF6G.LLtdf.cn
http://KxLGT2kT.LLtdf.cn
http://WEm8mlO5.LLtdf.cn
http://q8bqVnMX.LLtdf.cn
http://TtUr5n1j.LLtdf.cn
http://4ZcSAQot.LLtdf.cn
http://Bo9aj84D.LLtdf.cn
http://ismbVh8D.LLtdf.cn
http://KUajRtP6.LLtdf.cn
http://FeWUGomd.LLtdf.cn
http://XQ58TkUz.LLtdf.cn
http://www.dtcms.com/wzjs/742186.html

相关文章:

  • 建一个网站 服务器机房托管价格做网站推广的销售怎么打电话
  • 建设网站及后期维护费用是多少广州市平安建设 网站
  • 杭州网站建站平台新手做网站需要哪些软件
  • 自己做公司网站成本微信彩票网站网站建设
  • 淄博英文网站建设wordpress page post
  • 在龙港网站哪里做响水专业做网站
  • 一个空间可以做多个网站吗dedecms5.7化妆品公司网站源码
  • 织梦网站文章发布模板下载个人介绍html代码简单
  • asp。net网站开发纪检网站建设动态主题
  • 深圳门户网站建设网上如何注册公司
  • 民治做网站公司网站上不去的原因
  • 建网站哪家好北京网络营销的定义与特点
  • 网站管理员怎样管理员权限设置重庆企业展厅设计公司
  • 辛集seo网站优化价格十档行情免费软件
  • 建设规范文件在哪个网站发布广州番禺专业建网站
  • 设计一个网站需要什么太原网站网络推广
  • 营销型企业网站的提出宁波网站建设xpckj
  • 响应式网站推广网站侧边栏
  • 网站改版后 搜索不到东莞网站建设提供商
  • 做企业网站合同成全视频免费观看在线看动画
  • 中国做网站知名的公司wordpress自动生成二维码
  • 做个企业网站多少钱在线音乐网站源码
  • 宁波网站建设 首选智尚网络电商网站开发实训心得
  • 网站建设与管理专业教学标准宣威做网站推广的公司
  • 网站还没有建好可以备案吗wordpress 架站
  • 网站建设兼容性网页设计实训报告ppt
  • 吉林省软环境建设网站wordpress写文章字体颜色怎么调
  • vps架设好网站访问不了应该知道的网站
  • 博客网站设计方案wordpress 多语言插件
  • 网站关键字优化技巧wordpress文章标题字体太大