首页 > 范文大全 > 正文

防泄密在线文档浏览系统的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇防泄密在线文档浏览系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘 要]本文提出一种在线文档浏览系统设计思路,一方面,不保留本地缓存,另一方面,通过添加动态水印机制,有效阻止了用户通过拍照或拷屏等手段泄露信息,并通过动态加载机制,提供了良好的用户体验。

[关键词]FlexPaper;SWFTools;动态水印;动态加载;无缓存

中图分类号:TP393.08 文献标识码:A 文章编号:1009-914X(2015)44-0209-02

0 引言

目前,许多网站都有在线的文档浏览系统,例如百度文库、豆丁网等。很多企业内部也建立了自己的文档浏览系统,方便员工查阅相关的资料。但是,对于企业内部的资料,往往都涉及到信息的保密,不允许外传。虽然能够通过技术手段防止用户直接拷贝文件或者复制其中的文字,但是对于用户通过拷屏或者拍照等手段将资料泄露,却没有有效的手段来防止或者追溯责任人。本文提出了一种在线文档浏览系统的设计思路,通过将用户的个人信息以数字水印的形式添加到文档浏览界面,为信息泄露的责任追溯提供了手段。同时,不保留用户浏览时的本地缓存,防止用户通过缓存文件拷贝信息。

1 系统设计

1.1 文档存储与转换

本文中的在线文档浏览系统采用IBM FileNet作为文档存储和管理的平台,因本文关注的是文档的展现而不是存储,故不再详细描述FileNet文档管理的机制。

为了达到动态加载和分页预览的效果,经过技术分析和比较选择了FlexPaper展现文档[1]。在线文档浏览系统中接收的文档格式主要是Office和PDF,而FlexPaper能够接收并显示的是swf文件。这样,我们还需要一个转换工具,就是SWFTools。这个工具的作用就是将pdf文件转换成swf文件。存储系统中文档数量较大,为了提高效率,将转换服务部署在另一台服务器上。转换服务定期扫描存储系统中的文档,发现未转换成swf的PDF文档则将其转换。整个工作流程如图1所示。

1.2 数字水印加入方法比较

方案1:在原始Office或PDF文档中写入水印,然后再进行swf文件的转换。

这种方案具有以下的缺点:一是PDF文档只能生成静态的水印,也就是事先写入固定的文字作为水印,不能动态显示当前登录人的信息,无法满足追溯登录人信息的目的;二是如果在Office文档中加入水印再实时转换,会消耗大量转换时间,用户浏览的体验会变差。

方案2:先将PDF文件转换成swf文件,在用户浏览时再将水印写入swf文件。

这种方案的缺点是:如果直接将水印信息写入swf文件,则需要考虑swf文件的版本问题,针对不同版本的swf文件,写入水印的格式有所不同,这将造成程序未来的兼容性问题,并且不能保证在flash升级后仍然能够写入成功。

方案3:在展现时,将水印写在预览窗口上。

当用户登录到文档浏览系统时,将当前登录人的姓名、所在部门和登录时间放在FlexPaper最上层的图层,用户浏览文档时把这个图层覆盖在swf文件之上。这样做,实际上文件中并不包含水印,所有用户访问的都是同样的swf文件。一方面,swf文件可以事先生成,减少了动态转换所带来的时间损耗,不会影响用户体验;另一方面,能够将登录人的信息实时显示在屏幕上,达到了防止通过拷屏或拍照泄露信息的目的。

1.3 在线浏览

在实际应用中,很多文档容量很大而且篇幅也比较长,少则几十页多则上百上千页,同时,文档的容量方面少的几MB多的几十甚至上百MB,如果等待整个文档都加载完毕之后再进行浏览,这对于用户体验来说是非常不好的。在文档转换成SWF文件的过程中对其进行分页,这样在线浏览加载时可以根据预设值来按照页数加载,既提高了文档加载效率,也改善了用户对文档的浏览效果。

2 系统实现

2.1 文档转换

1)安装office转pdf软件OpenOffice。

2)安装pdf转swf软件SWFTools中的pdf2swf。

3)拷贝字体文件xpdf-chinese-simplified。

4)配置转换程序,主要是三个配置文件的设定。

a)filenetlogin.properties文件,如图2所示。

参数说明:

ContentEngineURL:CE URL。

UserName:CE 用户名。

PassWord:CE 密码。

tmpFilePath:转换文件的文件夹路径。

SWFToolsPath: pdf2swf的安装路径。

languagedir:pdf转为swf指定中文字体的文件夹路径。

threadNumber:转换文档的线程个数。

logconverte:是否记录pdf转为swf时的转换信息。True为记录,false为不记录。

scan:指定转换程序每隔一定时间扫描CE中的新文档,扫描间隔单位为分。

converteAll:标识是否转换所有的文档还是转换converte.xml指定的文档类的文档。True为全部转换优先转换converte.xml中指定的文档类,false为转换指定文档。

b)converte.xml文件,如图3所示。

参数说明:

Domain:CE domain。

Name:objectStore Name。

Doc:CE要转换的文档类。

Mime:要转换的文档的mimeType。

c)编写start.bat

新建一个txt 写入Java -cp CE.converter,另存为start.bat。

2.2 在线浏览

2.2.1文档在线浏览

在文档从PDF转换SWF时,将其分解成一页一个SWF文件。对于每个文档,创建一个以文档ID(如{D76EA1CE-148A-447A-9063-58DB1591A16F})为名称的文件夹,将转换结果命名为Page{n}.swf,其中n为从1开始的自然数。在线预览时动态的按照每次5页的形式进行加载。当用户拖动滚动条时,会加载下面5页的文档,保证了用户的阅读效果和使用习惯。同时,一次性加载少量的文档,不会影响加载速度,使得在线浏览有相对较好的用户体验。

2.2.2动态水印

将当前屏幕斜分为三等分,将用户信息倾斜显示在三个部分,用户打开在线浏览时,将写有用户信息的图层覆盖在swf文件之上。效果如图4所示。

2.2.3本地缓存

服务器端在得到访问申请后,使用response向前台写入文件流,并在流中定义存储方式为“无缓存”。此时,文件流直接写入客户端内存,并在使用后由操纵系统释放。

3 结论

本文提出的在线文档浏览系统,一方面通过swf分页机制实现了文档的动态加载,提高了用户体验效果;另一方面,通过添加动态的数字水印,将用户信息嵌套在文档浏览界面,有效防止了用户通过拷屏或者拍照的方式造成信息泄露。同时,在线浏览时不保存本地缓存文件。该在线文档浏览系统可以从技术上全面防止信息泄露,为在线信息的保密使用提供了可能。

参考文献

[1] FlexPaper官网http:///

作者简介

李为冲(1983―),男,工程师,硕士,主要研究方向为信息与系统应用;

陈国青(1958―),男,高工,学士,主要研究方向为信息与系统应用;

丁宁(1986―),女,工程师,学士,主要研究方向为信息与系统应用;

侯明雨(1987―),男,工程师,学士,主要研究方向为信息与系统应用。