一种办公文档管理方法和装置的制造方法_2

文档序号:9929600阅读:来源:国知局
Table);而$]\071'则由文件记录(File Record)数组构成,Record中存有文件名、时间戳等各种属性;所以,通过读取每个盘符下的$MFT文件内容,解析Record信息,即可得到磁盘上的所有文件。所述日志信息表可以是更新序列号USN(Update Service Number Journal or Change Journal),USN是对NTFS卷里所修改过的信息进行相关记录的功能。每当NTFS卷有改变的时候,所改变的信息会马上被添加到这个文件(站叉七611(1\$1]811介111);
[0039]所述办公文档数据库可以使用sqlite数据库存储相关的信息;
[0040]通过解析賴?!1和USN日志,实时监控文件变化情况,再从中筛选出办公文档文件,记录于办公文档数据库中,进而集中在软件界面进行呈现与管理;
[0041]进一步的,在步骤S103中,解析所述日志信息表的操作,包括:
[0042]定时解析所述日志信息表;
[0043]在解析过程中,若所述日志信息表出现新增日志ID,将该日志ID替换所述办公文档数据库中存储的所述日志ID;
[0044]并判断与所述新增日志ID相对应的文件更新信息是否为办公文档的更新信息;
[0045]若是,则将所述办公文档的变化存储于所述办公文档数据库中;
[0046]若否,则继续解析所述日志信息表;
[0047]进一步的,所述系统文件信息和/或所述文件更新信息包括文件后缀;则所述筛检出办公文档信息的操作,和/或,所述判断文件更新信息是否为办公文档的更新信息的操作,包括:
[0048]调取判定策略,所述判定策略包括多个办公文档的后缀;
[0049]将待判断的所述系统文件信息和/或所述文件更新信息中的文件后缀,与所述判定策略进行比对,若所述文件后缀记录于所述判定策略中,则判定该文件为办公文档;反之,则判定该文件为非办公文档;
[0050]其中,判定策略中:
[0051]判断一个文件是否属于办公文档,可以主要通过以下文件后缀来区分:
[0052]Execel^^jfj^ll:xlsxNxlsmNxlsbNxlsNxltxNxltmNxltNxlaniNxlaNetNett
[0053]PPI^i^^jf^1-pptx'pptnKppt'potx'potnKpot'ppsx'ppsnKpps'ppanKppa'dps、dpt
[0054]¥<^(1文件后缀:(100叉、(10011、(10(3、(10七叉、(101:111、(101:、'\^8、'\^七;
[0055]办公文档的判定策略可以是预设的或者是用户自定义的;
[0056]进一步的,所述办公文档数据库还包括:办公文档的ID及其父目录ID;
[0057]所述办公文档数据库还用于集中在用户界面进行呈现,以使用户对办公文档当前的状态进行查看与调用;
[0058]进一步的,所述更新所述办公文档数据库,包括:
[0059]重新建立办公文档数据库,将建立的办公文档数据库替换原所述办公文档数据库;
[0060]更新的方式也可以通过解析主文件表和日志信息表,将未添加到办公文档数据库中的信息补充到原办公文档数据库中。
[0061]采用上述实施例,可达到以下效果:
[0062]实时检测主文件表,获取用户电脑上所有的办公文档信息,便于集中显示与管理;
[0063 ]对办公文档的状态给予快速实时的更新与响应;
[0064]提升用户体验。
[0065]图2和图3分别示出了上述实施例方法中的解析主文件表(如賴FT)和解析日志信息表(如USN日志)的具体流程示意图;下面结合图2和图3,对上述实施例所述方法进行具体阐述:
[0066]可以通过解析NTFS卷的$MFT文件和USN日志,来实时监控文件变化情况,从而筛选出办公文档文件,进而集中的在软件界面进行呈现与管理;首先,建立数据库,步骤如下:
[0067]第一步、解析$MFT中的Record,获取文件信息;
[0068]第二步、解析USN日志,更新文件信息;
[0069]第三步、判断文件是否为办公文档;
[0070]第四步、保存办公文档信息和1、2的解析情况;
[0071]上述步骤中,通过使用sqlite数据库(即上述办公文档数据库)存储相关的信息;
[0072]程序在运行起来后,先检测是否存在相应的数据库和数据表,没有则进行创建,主要存储办公文档的全路径,自身ID,父目录ID,这两ID通过1、2的解析获得,也存储1、2的解析情况,包括每个NTFS盘符上次解析到的日志标识ID(USN ID和Journal ID),这两ID也通过1、2的解析获得;
[0073]完成数据库的检测或创建后,获取电脑上的所有NTFS盘符,逐个打开每个盘符,获取文件句柄,通过Device1Control操作查询USN_JOURNAL_DATA,如果USN日志记录功能没有开启,程序将自动开启USN日志记录功能,同时从数据库读取上次的解析情况(USN ID和Journal ID),将两处值进行对比,如果相同则直接解析USN日志,不同则先解析賴?!1信息,再解析USN日志。需要注意的是,主要是对比USN ID,对比的目的是查看数据库记录的解析位置和当前系统中USN日志记录的位置是否一致。
[0074]为了及时获取文件变更的情况,可以定时的去解析USN日志,如果读取USN日志失败,则重新解析$MFT。在解析的同时,及时的对数据库进行更新,将最新的USN ID和JournalID记录到数据库中,更重要的是对办公文档要进行及时的增删改;
[0075]上述解析主文件表$MFT和解析日志信息表USN日志的操作如图2和图3所示。
[0076]图4是一种办公文档管理装置400的功能结构框图;如图4所示,所述装置400,包括:
[0077]检测单元401,用于检测是否存在办公文档数据库;
[0078]其中,所述办公文档数据库包括:办公文档的全路径和对应于日志信息表解析位置的日志标识ID;所述日志信息表用于记录系统中所有文件的更新信息,每一次更新对应于一个日志ID;
[0079]建立单元402,用于若所述检测单元检测出不存在所述办公文档数据库,则建立所述办公文档数据库;则:
[0080]比对单元403,用于若所述检测单元401检测出存在所述办公文档数据库后,或,所述建立单元建立所述办公文档数据库后,从所述办公文档数据库中读取所述日志ID,并将所述日志ID与当前日志信息表中最近一次的日志ID进行对比;
[0081]解析单元404,用于若所述比对单元403比对结果为相同,则解析所述日志信息表,将新增的日志ID和办公文档的变化,记录到所述办公文档数据库中;
[0082]更新单元405,用于若所述比对单元403比对结果为不相同,则更新所述办公文档数据库,并在更新后触发所述解析单元404执行所述解析所述日志信息表的操作;
[0083]进一步的,所述建立单元402,包括:
[0084]第一建立子单元4021,用于解析主文件表,获取系统文件信息;所述主文件表记录系统所有文件的信息;
[0085]第二建立子单元4022,用于解析日志信息表,获取最新的日志ID;
[0086]第三建立子单元4023,用于从获取到的所述系统文件信息中筛检出办公文档信息;所述办公文档信息包括办公文档的全路径;
[0087]第四建立子单元4024,用于建立办公文档数据库,并将筛检出的所述办公文档信息和最新日志ID存储于所述办公文档数据库中;
[0088]进一步的,所述解析单元404,包括:
[0089]第一解析子单元4041,用于定时解析所述日志信息表;
[0090]第二解析子单元4042,用于在解析过程中,若所述日志信息表出现新增日志ID,将该日志ID替换所述办公文档数据库中存储的所述日志ID;
[0091 ]第三解析子单元4043,用于判断与所述新增日志ID相对应的文件更新信息是否为办公文档的更新信息;
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1