推广项目之接口文件存储
1、背景:
数据方请求后台数据存储项目(xx-cookie-catchs)上传文件,后台接收原始加密文件后存储到指定路径(存储不同数据方的加密文件),定时解密文件到指定路径(存储不同数据方的解密文件),再定时存储加密文件到数据库(存储不同数据的数据)。
2、问题:
数据方上传的文件个数不匹配,例如某天上传96个后台接收存储只有92个
3、分析:
后台接收文件后生成的新的文件名(原始文件名+当前时间yyyyMMddHHmmss),数据方上传的文件有4个节点组成,节点与节点之间的文件名有相同,4个节点同时上传相同文件的时候有几率在同一时间点在后台生成的新文件名相同。
4、解决方案:
4.1、新文件名的生产精确到毫秒(yyyyMMddHHmmssSSS)可以解决问题,但是文件名中的时间关联到多个模块的业务逻辑,改动影响很大。
4.2、新文件名在时间前新增了随机数,即新文件结构:原始文件名+随机3位数字_+yyyyMMddHHmmss。这个方案对关联其他模块的业务逻辑不会产生影响,并且能很快的解决现有问题。