从4月13号开始,公司的一款产品突然出现了大面积瘫痪,经用户反馈为,其中的业务场景是安卓端打开office格式的各类型文档出现错误,无法下载出解析的tbs-sdk 导致无法解析出:
pdf、docx、pptx、doc、png、ppt、txt、xlsx 文档!
刚开始一脸懵逼,以为是用户网络不好,后来已测试,真的解析不出来。然后慌乱的查询,终于查到到了这个
不在免费了,也不让白嫖了,又变得很腾讯了!
没办法找可代替方案吧,要不如果使用因为我们的业务场景 一天就得打开几十万次按照这个程度一年都得几十上百万得费用,对于一个小公司而言完全承受不起啊!
后来操作一顿猛如虎的去百度,国内外方案全部尝试了!先说一下吧
先说免费的 微软的,简直不能用 放弃
腾讯的TBS比较X已经收费
金山的收费也不算低,
其余有名的如七牛、阿里等公司的没做调研,肯定也是收费的!
然后说一下其余的吧方案啊,基本就是个人或者一些小公司搭建的一些文档解析平台,诸如上传解析、或者地址解析,大差不差的最终都转换成了图片或者pdf格式进行的查看。
先不说能不能满足,但是费用也不算低,然后再说性能和实现原理,性能基本在4核8G的物理机下,同时转换5个不同文档就快卡死或者卡顿等待时间过长了。实现原理呢,基本就是基于Java中的awt或者其他io实现的转图或者pdf.
再说小公司的东西你敢用吗?
回归正题,到底如果去做呢?
首先我们得业务场景只是做预览,然后可能会每秒并发在5-2000左右,别小看并发只有5,你试试1M的文档转换耗费的时间吓人啊!!!
做法:
1.使用安卓原生解析 解析类型为:doc、docx、pdf
2.其余office文档类型使用我们自己搭建的技术解析方案
3.如果第2点在解析过程中出现错误或者时间等待时间过长(1分钟),那么直接切换成腾讯的TBS文档服务
关于第2点说的技术方案怎么获取代码呢,可以联系我获取或者自己百度去!网上有!
第1点我们可以解决掉80%的文档解析
第2点成本为长期占用一台服务器
第3点,基于第2点控制在1分钟内的话会排除掉用量98%甚至更多的用量费用
可能会问 为什么不全用第二点呢,看上边的测试(每秒并发在5-2000左右,别小看并发只有5,你试试1M的文档转换耗费的时间吓人啊!!!)所以能够用原生的优先原生解析,阻挡掉一部分再说!