由于船舶、产品的纸质图纸扫描文件较大,又需要在总部集中存储,分社在审阅时下载较为缓慢。为了解决这一问题,我们引入了由福昕的LuraTech图纸压缩软件。 |
图纸压缩功能简介
由于该软件为windows版,且仅提供针对本机指定目录的自动压缩功能,我们构想了几种实现方式: |
图纸压缩的任务调度
任务调度模块的实现分为如下几个部分: 1)创建基于ServletContextListener的任务监听,并使用Timer计时器设置每分钟执行一次单次任务。代码如下: 2)基于TimerTask编制单次任务的执行内容: |
单次压缩任务的实现
对于单次压缩的实现,我们操作逻辑如下: 》》在一台windows2000服务器上安装了LuraTech软件,并使其定时扫描监听指定目录的文件传入,新文件传入后自动按设定好的压缩比执行压缩,并将成功和失败的文件分别放入不同目录; 》》在该服务器架设ftp服务,由部署在其他服务器的java应用在每次任务启动时传入文件,传入后到成功和失败两个文件夹检索之前传入文件的执行结果; 》》对于从成功文件夹找到的文件,下载保存并标记为压缩成功,对于从失败文件夹找到的文件,执行删除并标记为压缩失败。 针对以上逻辑,我们的压缩service实现三个业务方法:1)compressDraw():从任务表中取出最后添加的10个任务(每次传入图纸时自动插入新的任务),并执行图纸的下载和压缩服务器ftp上传。 2)uploadMini():检索压缩服务器成功和失败目录的文件,根据文件名称匹配历史任务,并进行相应标记。对于历史任务超过10小时未检索到结果的,也标记为失败。 3)autoCreatTask():如本次任务调度启动时,任务表中20分钟内没有未完成的任务,则自动从图纸表中抽取最后导入的10份未压缩历史图纸插入任务表。 |
结语
本功能有机整合了PDF压缩软件及任务调度和管理模块,实现了PDF图纸文件的自动压缩和历史文件自动处理,为图纸压缩管理带来了极大便利。 |
作品申报人:商雷博、张洋、吕萌
END ☞ 往期回顾: 信息中心成功举办第一届创新大赛 创新大赛作品 | 信息中心运维监控平台 创新大赛作品 | 自定义高级搜索的实现 创新大赛作品 | 区块链技术在数据共享平台的应用 创新大赛作品 | 移动应用创新“全家桶” 创新大赛作品 | 信息中心党建标准化规范化管理创新大赛作品 | CCS对外业务交互接口平台的研究与应用创新大赛作品 | 微信、论坛、自媒体多元化宣传渠道建设的探索