目前我司的一个产品,有一个功能是这样的: 1.web 端上传文件,文件的类型包括 视频,文档,音频(其中视频和文档( office 全家桶,pdf,txt 等)) 2.文件上传后会判定是否需要转换操作,然后启用新的进程去执行相关转换软件的 CLI 3.在转换操作前会执行数据库操作( oracle ),相关文件的操作记录,转换完成后更新记录操作 目前的问题: 1.文件上传后,我们是不知道转换的进度的,只知道有没有转换成功 或者失败,具体服务器是一个什么状态是不知道的。 2.服务器是 win 的,因为在 linux 下文档转换的效果达不到要求 3.这一个过程是是耦合在一起的 现在想要改成的样子: 1.想要将文件上传和文件转换拆分成单独的服务,文件上传已经单独搞成 nio 来提高性能,文件转换正在重构中 2.文件转换的服务 要求是可以查询到实时的进度,文件上传后可以触发文件转换服务器去转换,进度可以实时的在前端显示出来 目前难点: 文件上传服务和文件转换服务的通讯机制,我想了 http 的形式,mq 的形式(大材小用),观察者模式( watcher ) 都不是好方法,比如 http 的形式,因为转换肯定不是一个很快的过程,所以容易超时。 有什么方案可以解决这样的问题吗? 一个是通讯机制,一个是实时进度问题
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.