知识管理系统Data Solution研发日记之二 应用程序系列

在上一篇文章《知识管理系统Data Solution研发日记之一 场景设计与需求列出》中,提到了诸多的需求。这一篇文章来看一下,完成这些功能,所需要的软件。这些程序均已经写好,以C#.NET和SQL Server 2005完成。

先看一下软件Data Solution的体系。Data Solution由二个大的解决方案组成,File Solution和Segment Solution。前者是文档的解决方案,后者是片段式数据的解决方案。这其中又有很多应用程序组成,下面来看一下它们的模样。

Data Loader

这是个插件式的框架,它的框架代码是开放源码的,可以通过文章《Management Console 工具管理类软件通用开发框架(开放源码)》来获取代码。主界面效果如下图所示

image

从图中的Tas List窗口中可以看出,Data Loader由15个应用程序组成。

User ID Blog,Url Blog,Text Blog,Default Blog,这四个应用程序是应用于网页下载处理。在文章《工作多年的.NET程序员,是否建立了自己的开发知识库?也分享制作电子书的经验》中有部分描述,用于处理网页,不再赘述。

 

Bath Import用于扫描指定的路径,导入文档到数据库系统中。

image

Doc Scanner用于扫描指定的路径,导入到数据库系统中,与Bath Import的不同在于,可指定需要处理的文件格式。

image

如图所示,只对指定的目录E:\Document\Tecnhologies中的DOC格式进行处理。

Doc Scanner可以接受关键字路径。比如ALL表示所有的本机磁盘,C表示只表示C盘一个磁盘的所有文件夹,最后一种就是上图中所示的,选择指定的路径。

 

PDF Watcher监视指定的文件夹,如果有发生PDF文件的变更,转换并导入它到到数据库中。

image

 

Document Explorer用于显示Doc Scanner扫描进入的文档,如果不需要可以对它进行删除,或者归类整理

image

在左边选中一个或多个文档,点击右键Category Document,如图所示

image

打开Document Browser程序,在需要的类别节点中,点击右键Paste Document

image

再次打开Document Browser时,可以看到,文档已经放到指定的类型中

image

双击文档视图中的文件项,可打开查看窗口,如下图效果所示

image

这是个只读的应用程序,只能查看,不允许编辑文档,后面有介绍Editor工具,可以对数据库中的文档进行编辑。

 

Doc Loader程序把指定的文件,导入到数据库中,注意,它一次只处理一个指定的文件,而不是整个目录。

image

 

Database Cleanup是清空数据库。在测试程序或是练习时,数据库文件大小mdf/ldf经常会爆满到几个G的容量,所以需要一个工具来对它进行清理,把不需要的数据库清空。这个功能在实际应用中,应当谨慎使用。后面会提到一个选项,用于显示这个功能,一般是隐藏不显示的。

上面这几个程序,是对文件进行处理,转换,放到数据库中,下面介绍对片段式数据进行处理的程序。

 

Form Designer

片段式数据最大的不同是,它的格式是灵活的,自定义的。比如前一篇文章中提到的,招聘信息,它分为公司名称,职位要求,技术要求,联系方式,一共四个字段,再比如,IT公司速查数据库,它的格式是,公司名称,公司介绍,地址,评价,门户网站,一共五个字段,这是灵活的,可以随时变更的。

对这种格式数据的抓取,可以用正则表达式,要达到可以显示这种格式的数据,则要自定义窗体才行,所以有必要引入窗体设计器来灵活适应不同的数据格式。

image

来看一下Data Loader中Segment Explorer的界面,它就是解析上面的窗体设计文件了,把它显示出来

image

窗体的设计,显示与绑定数据,是比较复杂的主题,这在后面的文章中详细介绍,欢迎关注。

 

Rule Editor用于抓取互联网上不规则的数据,任何有规律的网页数据,都可以通过制定规则,在后台下载到本机中。

image

说白了,这就是个基于正则表达式的数据采集工具,专注于采集,Segment Run则是后台程序,负责分析规则,下载数据到本机磁盘中,Form Designer则专注于显示数据。这三个工具的配合,天衣无缝,以方便的抓取互联网数据。

 

Site Rebuild 用于下载网页到数据库系统中,这是个特殊程序,专用于下载一些好的站点的文章,而不用担心,过一段时间,这些站点发生变化或是升级,引起的查找不方便。毕竟数据在自己的电脑中,这才是最放心的数据。

image

如图所示,对Cnblogs按照博主Id来获取数据,基本上排名靠前的,文章的质量都放心。Codeproject按照分类来获取数据,它的质量也很不错,MSDN,CSDN,DotBlogs,则看到好的文章,把地址拷贝进来,或是拷贝一段html源码放进来,它会自动解析出文章的路径,并放它下载到本机SQL Server数据库中。

 

Editor

可以对本机文件,或是数据库系统中的文档进行编辑。支持格式DOC/DOXC,RTF,是对存放在SQL Server数据库系统的文档进行编辑和整理处理,有这个功能,系统的可用性大大增强。

image

在Editor中点击Open按钮,打开文件浏览对话框,这里可以打开本机磁盘的文件,也可以打开SQL Server服务器中的文件,所上图所示,Server结点的结构与Document Browser是完全相同的,选则文件,点击Open按钮。

image

这个效果与写字板WordPad相似,功能也相似。打开数据库中的文件,编辑整理之后,自然也是保存到SQL Server数据库中,当然,也可以通过导出功能,把它导出成本机磁盘文件,支持的格式为DOC/DOCX/PDF/RTF。

 

如你看到的,Data Solution是一组程序的组合,才使它在文档扫描,导入,编辑,分类方面有巨大的威力。这里面还省略了权限判断,文档分类的细化,文档的全文检索,文档版本管理,文档工作流,如果再加上这些内容,这个系统的代码量,工作量还要增长一倍多。做得越细,功能就越强,也需要付出更多的代价和耐心。欢迎提出改善意见。

posted @ 2011-10-24 13:57  信息化建设  阅读(2642)  评论(7编辑  收藏  举报