一种实时的用户文件内容审计方法及系统的制作方法

文档序号:6522922阅读:150来源:国知局
一种实时的用户文件内容审计方法及系统的制作方法
【专利摘要】本发明公开了一种用户文件内容审计方法及系统,利用计算机操作系统中的应用程序接口,捕捉相应的文件消息,实现了对操作系统中文件系统下所管理的用户文件内容的实时备份,从而实现用户文件内容的审计。本发明方法随操作系统启动而加载消息捕捉线程,并在操作系统运行周期内驻留内存,实时监视目标目录的文件消息队列;当捕捉到文件消息后,实时对相应文件内容进行预处理后传送至远端主机备份,并与操作记录进行关联,实现了操作系统消息层的用户文件内容的审计。
【专利说明】一种实时的用户文件内容审计方法及系统
【技术领域】
[0001]本发明涉及一种计算机操作系统下用户文件内容备份方法,具体涉及一种实时的用户文件内容审计方法及系统。
[0002]
技术背景
[0003]目前,企业的信息化都得到了很大程度的普及,许多员工由于工作的需要都会新建、修改、复查一些重要的或核心的企业文件,文件的类型也比较多,有报表文件、图形文件、文本文件、设计文件等,在这种情况下,如果没有严格的管理制度配合,往往会导致企业文件内容的改变、遗漏、或涉及到重要环节内容的丢失,这对企业的发展和管理都是非常不利的。
[0004]在这种情况下,对用户文件内容进行审计将会很好的保护企业文件内容的安全,而要达到内容审计的目的,就需要在计算机操作系统下进行用户文件内容的备份,这在用户文件内容审计方面的应用中有重要意义。
[0005]传统的备份系统采用定时扫描文件路径等方法实现操作系统下用户文件的备份,在此模式下,即使可以将数据的备份时间间隔粒度精确到秒级,但仍然无法满足人们的需要,特别当用户在短时间内进行大量文件操作时,不可避免的会产生遗漏,从而损害用户文件备份的完整性。
[0006]对于持续数据保护方法,则可以实现对任意时间点的数据访问,它能够独立对主要数据的修改进行持续捕捉或跟踪,保存数据变化,从而实现从过去的任何非预设点恢复的方法。虽然持续数据保护技术具有强大的数据保护能力,但是文件级持续数据保护功能作用在文件系统上,通过在实现上采用的是捕捉文件系统数据或元数据的变化事件,及时记录文件的变动信息,以实现任意时间点的文件恢复。因此,文件级持续数据保护技术要求备份时间间隔粒度为用户对文件的每一个操作,即用户每对文件进行一次操作便要进行一次文件备份。
[0007]但是,文件系统在用户每次操作时在内部会触发多次操作,备份程序在操作系统底层捕获到大量的文件操作消息,对存储造成巨大的压力。并且在用户对单一文件进行频繁的修改时,文件级备份将对文件进行频繁的备份,影响用户的正常使用。
[0008]专利“一种文件实时监控和智能备份的方法”(申请号:201010169277.9),对这种问题提出了一种方法:它可以对目录和文件的新建、修改、重命名和删除等操作进行记录,保存发生变更的时间、位置、类型等信息,并对关键信息进行了提取和去重,避免了对用户一次操作的多次备份和对临时文件的备份,减轻了实时备份的压力。同时在实际的文件操作过程中,可以通过对文件的操作频率进行监控,智能的分辨出文件操作频率降低的瞬间进行文件备份。
[0009]此发明方法虽然实现了文件级持续数据保护功能作用,通过对操作进行记录来确定是否对文件进行备份,但是主要是针对备份的触发条件进行合理的规划安排,没有具体描述备份的方法,而且此发明方法没有把操作记录与数据备份进行关联,从而无法实现对重要的用户文件内容的审计作用。另外,此发明方法把对用户文件内容的备份保存在本地计算机,无法避免由于本地计算机存储设备损坏、失窃而造成的备份数据丢失等风险。
[0010]

【发明内容】

[0011]针对计算机操作系统下的用户文件,本发明基于计算机操作系统与网络技术,提出一种用户文件内容审计方法及系统,利用计算机操作系统中的应用程序接口,捕捉相应的文件消息,实现了对操作系统中文件系统下所管理的用户文件内容的实时备份,从而实现用户文件内容的审计。本发明方法随操作系统启动而加载消息捕捉线程,并在操作系统运行周期内驻留内存,实时监视目标目录的文件消息队列;当捕捉到文件消息后,实时对相应文件内容进行预处理后传送至远端主机备份,并与操作记录进行关联,实现了操作系统消息层的用户文件内容的审计。
[0012]本发明技术方案如下:
一种实时的用户文件内容审计方法,包括:
在宿主计算机部署发送子系统,在远端备份服务器端部署接收系统。其中,宿主计算机,在此处指新建、编辑企业重要文件的计算机。
[0013]发送子系统在初始化过程中创建消息捕捉线程,定位宿主计算机操作系统安装目录下的内核文件动态链接库,调用该动态链接库上所定义的应用程序接口创建文件通知对象,并设置监视目标路径。
[0014]消息捕捉线程将忽略监视目标路径以外的文件消息,只保存特定监视目标路径下的文件消息,通过文件通知对象返回的句柄截获操作系统消息层的文件消息。
[0015]当用户使用宿主计算机对目标路径下的文件进行操作时,操作系统内核将会收到文件更改通知,并通过文件通知对象返回更改该对象的句柄。此时,消息捕捉线程通过该通知对象返回的句柄截获操作系统消息层的文件消息,然后触发文件处理线程。
[0016]其中,对文件的操作类型共分四种:
(O新增,在目录中新增文件;
(2)删除,在目录中删除文件;
(3)修改,修改目录中的文件数据;
(4)重命名,将目录中原有文件的名称改变。
[0017]消息捕捉线程捕捉到宿主机算计目标路径下的文件消息,为文件在文件系统中的元数据(Meta-data),其中包括文件路径、文件大小、文件属性、创建时间、修改时间、访问时间等。
[0018]文件处理线程首先接收的文件消息,然后检查相应用户文件是否存在并可读,若是,则将相应用户文件内容读入内存,并调用第三方控件进行预处理,预处理是对其进行加密、压缩。当预处理完成之后,向备份服务器发送传输请求进行文件内容备份。
[0019]备份服务器端上的接收系统收到请求之后,响应该请求并与宿主机建立连接,开始接收文件。当文件内容传输成功之后,写入本地文件系统,同时,文件信息记录传送至备份服务器端,以数据库记录的形式持久化保存保存到服务器端文件系统中。[0020]其中,备份文件的文件名将被自动修改为其元数据的哈希值,通过哈希函数与数据库中对应记录建立映射关系。
[0021]一种实时的用户文件内容审计系统,包括:
发送子系统和接收子系统。其中,发送子系统由定位模块、获取模块、记录模块、文件检测模块、文件预处理模块、文件传输模块组成。接收子系统由响应模块、写入模块组成。
[0022]在发送子系统中,定位模块、获取模块、记录模块、文件检测模块、文件预处理模块、文件传输模块顺次连接。
[0023]在接收子系统中,响应模块、写入模块顺次连接。
[0024]并且,发送子系统中的文件传输模块与接收子系统中的响应模块连接。
[0025]在宿主计算机上部署发送子系统,发送子系统包含以下模块:
定位模块,用于确定宿主计算机操作系统应用程序接口的动态链接库入口,该入口位于操作系统安装目录下的内核文件动态链接库内。
[0026]获取模块,通过应用程序接口创建文件通知对象,并设置监视目标路径,通过该通知对象返回的句柄截获操作系统消息层的文件消息,保存特定监视目标路径下的文件消
肩、O
[0027]记录模块,对消息捕捉线程传入的文件路径、操作类型等信息进行记录,包括文件在文件系统中的元数据(Meta-data),其中包括文件路径、文件大小、文件属性、创建时间、修改时间、访问时间等。
[0028]文件检测模块,检查与文件消息相关的文件是否存在、是否可读,若文件存在且可读则将文件内容读入内存流。
[0029]文件预处理模块,调用程序外部第三方控件对已读入内存的文件内容进行压缩、加密。
[0030]文件传输模块,将已预处理的文件内容以及文件消息记录通过网络发送至备份服务器端。
[0031]在备份服务器端上部署接收系统,接收宿主机计算机所传输的文件内容和文件信息记录。
[0032]接收子系统包含以下模块:
响应模块,用以响应宿主机端文件传输请求,与宿主机建立连接。
[0033]写入模块,将宿主机传入的文件内容写入本地文件系统或数据库管理系统中。
[0034]本发明的这种处理方式与常规的备份相比,有以下几个优势:
(I)在备份服务器中,按备份文件与文件信息记录建立映射关系,便捷实现重要文件内容的审计。
[0035](2)实现了发送子系统在宿主计算机中自动部署与加载,具有使用方便和隐蔽性闻的优点。
[0036](3)宿主计算机发送子系统与备份服务器端接收子系统相配合,实现了用户文件内容的异地远程备份,避免了本地备份方法中由于本地计算机存储设备损坏、失窃而造成的备份数据丢失等风险。
[0037](4)发送子系统中的文件预处理模块可在数据发送前对其进行加密、压缩,即使在不安全的网络环境中进行文件传输,仍能在一定程度上保护数据的安全性和隐蔽性。[0038]
【专利附图】

【附图说明】
[0039]图1本发明实施例的硬件设备连接示意图。
[0040]图2本发明实施例的系统结构示意图。
[0041]图3本发明实施例的消息捕捉线程设置流程图。
[0042]图4本发明实施例的文件处理线程工作流程图。
[0043]图5本发明实施例的备份服务器接收工作流程图。
[0044]
【具体实施方式】
[0045]下面结合附图和实例对本发明进一步详细说明,所给出的实施例是为了说明本发明方法的技术特点和功能特点,而不是限制本发明的范围。
[0046]参阅图1所示,本发明实施例的硬件设备连接,包括
宿主计算机100、备份服务器101,以及数据库服务器102。宿主计算机100、备份服务器101,以及数据库服务器102三者顺次连接。
[0047]宿主计算机100,其上部署了发布子系统,在其中,用户可以对重要的文件进行操作,包括:
I新增,在目录中新增文件;
I删除,在目录中删除文件;
I修改,修改目录中的文件数据;
I重命名,将目录中原有文件的名称改变。
[0048]备份服务器101,其上部署了接收子系统,用于接收宿主计算机发来的备份文件,以及文件消息记录,并把文件消息记录传送给数据库服务器102。
[0049]数据库服务器102,用于接收备份服务器101上传递过来的文件消息记录,并放入数据库系统保存。
[0050]参阅图2所示,本发明实施例的系统结构,包括
发送子系统20和接收子系统21。其中,发送子系统由定位模块200、获取模块201、记录模块202、文件检测模块203、文件预处理模块204、文件传输模块205组成。接收子系统21由响应模块210、写入模块211组成。
[0051]在发送子系统中20,定位模块200、获取模块201、记录模块202、文件检测模块203、文件预处理模块204、文件传输模块205顺次连接。
[0052]在接收子系统21中,响应模块210、写入模块211顺次连接。
[0053]并且,发送子系统20中的文件传输模块205与接收子系统21中的响应模块210连接。
[0054]在宿主计算机100上部署发送子系统20,发送子系统20包含以下模块:
定位模块200,用于确定宿主计算机100操作系统应用程序接口的动态链接库入口,该入口位于操作系统安装目录下的内核文件动态链接库内。
[0055]获取模块201,通过应用程序接口创建文件通知对象,并设置监视目标路径,通过该通知对象返回的句柄截获操作系统消息层的文件消息,保存特定监视目标路径下的文件消息。
[0056]记录模块202,对消息捕捉线程传入的文件路径、操作类型等信息进行记录,包括文件在文件系统中的元数据(Meta-data),其中包括文件路径、文件大小、文件属性、创建时间、修改时间、访问时间等。
[0057]文件检测模块203,检查与文件消息相关的文件是否存在、是否可读,若文件存在且可读则将文件内容读入内存流。
[0058]文件预处理模块204,调用程序外部第三方控件对已读入内存的文件内容进行压缩、加密。
[0059]文件传输模块205,将已预处理的文件内容以及文件消息记录通过网络发送至备份服务器端。
[0060]在备份服务器101上部署接收子系统21,接收宿主机计算机100所传输的文件内容和文件信息记录。
[0061]接收子系统21包含以下模块:
响应模块210,用以响应宿主计算机100的文件传输请求,与宿主计算机100建立连接。
[0062]写入模块211,将宿主计算机100传入的文件内容写入备份服务器101的本地文件系统,以及把文件消息记录写入到数据库服务器102的数据库管理系统中。
[0063]参阅图3所示,本发明实施例的消息捕捉线程设置流程,包括:
步骤300:发送子系统在初始化过程中创建消息捕捉线程。
[0064]步骤301:定位宿主计算机操作系统安装目录下的内核文件动态链接库kernel32。
[0065]步骤302:调用该动态链接库上所定义的应用程序接口 ReadDirectoryChangesW创建文件通知对象。
[0066]步骤303:设置监视目标路径,例如“d:\secret”。消息捕捉线程将忽略“d: \secret"以外的文件消息,只保存特定监视目标路径“d: \secret”下的文件消息,通过该通知对象返回的句柄截获操作系统消息层的文件消息。
[0067]参阅图4所示,本发明实施例的文件处理线程工作流程,包括:
步骤400:消息捕捉线程监视目标路径,保存特定监视目标路径下的文件消息。
[0068]步骤401:户使用宿主计算机对目标路径下的文件进行操作。例如,当宿主计算机用户对目标路径下文件的文件“d:\secret\dem0.doc”进行修改。
[0069]步骤402:操作系统内核将会收到文件更改通知,并通过文件通知对象返回更改该对象的句柄。
[0070]步骤403:消息捕捉线程通过该通知对象返回的句柄截获操作系统消息层的文件消息。截获的消息类型为FILE_N0TIFY_INF0RMAT10N结构体,该结构体上的对象Action和Filename分别对应文件操作类型和文件路径。
[0071]步骤404:文件处理线程接收的文件消息,文件处理线程首先记录消息结构体上的对象Action和Filename,然后通过对象Filename的值查找文件系统中对应的文件“ d: \secret\dem0.doc ”,检查相应用户文件是否存在并可读。
[0072]步骤405:当该文件存在且可读时,文件处理线程将该文件读入内存流中。[0073]步骤406:调用第三方控件进行预处理,预处理是对其进行加密、压缩。
[0074]步骤407:当预处理完成之后,向备份服务器发送传输请求。
[0075]参阅图5所示,本发明实施例的备份服务器接收工作流程,包括:
步骤500:备份服务器端上的接收系统收到请求之后,响应该请求。
[0076]步骤501:备份服务器与宿主机建立连接.步骤502:开始接收文件。
[0077]步骤503:文件内容传输成功之后,写入本地文件系统,同时,备份文件信息记录传送至备份服务器端,以数据库记录的形式持久化保存保存到服务器端文件系统中。
[0078]步骤504:备份文件的文件名将被自动修改为其元数据的哈希值,通过哈希函数与数据库中对应记录建立映射关系。
[0079]以上实施例只是对于本发明的部分功能进行描述,但实施例和附图并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围,因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
【权利要求】
1.一种实时的用户文件内容审计方法,其特征在于:利用计算机操作系统中的应用程序接口,捕捉相应的文件消息,实现对操作系统中文件系统下所管理的用户文件内容的实时备份,从而实现用户文件内容的审计。
2.根据权利要求1所述的用户文件内容审计方法,其特征在于:随操作系统启动而加载消息捕捉线程,并在操作系统运行周期内驻留内存,实时监视目标目录的文件消息队列;当捕捉到文件消息后,实时对相应文件内容进行预处理后传送至远端主机备份,并与操作记录进行关联,实现操作系统消息层的用户文件内容的审计。
3.根据权利要求1或2所述的用户文件内容审计方法,其特征在于,其具体步骤: 步骤一、在宿主计算机部署发送子系统,在远端备份服务器端部署接收系统;其中,宿主计算机,指新建、编辑企业重要文件的计算机; 步骤二、发送子系统在初始化过程中创建消息捕捉线程,定位宿主计算机操作系统安装目录下的内核文件动态链接库,调用该动态链接库上所定义的应用程序接口创建文件通知对象,并设置监视目标路径; 步骤三、消息捕捉线程将忽略监视目标路径以外的文件消息,只保存特定监视目标路径下的文件消息,通过文件通知对象返回的句柄截获操作系统消息层的文件消息; 步骤四、当用户使用宿主计算机对目标路径下的文件进行操作时,操作系统内核将会收到文件更改通知,并通过文件通知对象返回更改该对象的句柄;此时,消息捕捉线程通过该通知对象返回的句柄截获操作系统消息层的文件消息,然后触发文件处理线程; 步骤五、消息捕捉线程捕捉到宿主机算计目标路径下的文件消息,为文件在文件系统中的元数据(Meta-data); 步骤六、文件处理线程首先接收的文件消息,然后检查相应用户文件是否存在并可读,若是,则将相应用户文件内容读入内存,并调用第三方控件进行预处理,预处理是对其进行加密、压缩;当预处理完成之后,向备份服务器发送传输请求进行文件内容备份; 步骤七、备份服务器端上的接收系统收到请求之后,响应该请求并与宿主计算机建立连接,开始接收文件;当文件内容传输成功之后,写入本地文件系统,同时,文件信息记录传送至备份服务器端,以数据库记录的形式持久化保存保存到服务器端文件系统中。
4.根据权利要求3所述的用户文件内容审计方法,其特征在于:消息捕捉线程流程,包括: 步骤300:发送子系统在初始化过程中创建消息捕捉线程; 步骤301:定位宿主计算机操作系统安装目录下的内核文件动态链接库(kernel32);步骤302:调用该动态链接库上所定义的应用程序接口(ReadDirectoryChangesW)创建文件通知对象; 步骤303:设置监视目标路径,消息捕捉线程将忽略该目标路径以外的文件消息,只保存特定监视目标路径下的文件消息,通过该通知对象返回的句柄截获操作系统消息层的文件消息。
5.根据权利要求3所述的用户文件内容审计方法,其特征在于:文件处理线程流程,包括: 步骤400:消息捕捉线程监视目标路径,保存特定监视目标路径下的文件消息; 步骤401:用户使用宿主计算机对目标路径下的文件进行操作;步骤402:操作系统内核将会收到文件更改通知,并通过文件通知对象返回更改该对象的句柄; 步骤403:消息捕捉线程通过该通知对象返回的句柄截获操作系统消息层的文件消息; 步骤404:文件处理线程接收的文件消息,文件处理线程首先记录消息结构体上的对象Action和Filename,然后通过对象Filename的值查找文件系统中对应的文件,检查相应用户文件是否存在并可读; 步骤405:当该文件存在且可读时,文件处理线程将该文件读入内存流中; 步骤406:调用第三方控件进行预处理,预处理是对其进行加密、压缩; 步骤407:当预处理完成之后,向备份服务器发送传输请求。
6.根据权利要求3所述的用户文件内容审计方法,其特征在于,备份服务器接收流程,包括: 步骤500:备份服务器端上的接收系统收到请求之后,响应该请求; 步骤501:备份服务器与宿主机建立连接; 步骤502:开始接收文件; 步骤503:文件内容传输成功之后,写入本地文件系统,同时,备份文件信息记录传送至备份服务器端,以数据库记录的形式持久化保存保存到服务器端文件系统中; 步骤504:备份文件的文件名将被自`动修改为其元数据的哈希值,通过哈希函数与数据库中对应记录建立映射关系。
7.根据权利要求3所述的用户文件内容审计方法,其特征在于:步骤四中,对文件的操作类型共分四种: (O新增,在目录中新增文件; (2)删除,在目录中删除文件; (3)修改,修改目录中的文件数据; (4)重命名,将目录中原有文件的名称改变。
8.根据权利要求3所述的用户文件内容审计方法,其特征在于:步骤五中,所述元数据包括文件路径、文件大小、文件属性、创建时间、修改时间、访问时间。
9.根据权利要求3所述的用户文件内容审计方法,其特征在于:步骤七中,备份文件的文件名将被自动修改为其元数据的哈希值,通过哈希函数与数据库中对应记录建立映射关系O
10.一种实时的用户文件内容审计系统,它包括宿主计算机、备份服务器和数据库服务器,其特征在于,它还包括: 发送子系统和接收子系统:所述发送子系统由定位模块、获取模块、记录模块、文件检测模块、文件预处理模块、文件传输模块组成;所述接收子系统由响应模块、写入模块组成; 在宿主计算机上部署所述发送子系统,在发送子系统中,定位模块、获取模块、记录模块、文件检测模块、文件预处理模块、文件传输模块顺次连接; 所述定位模块,用于确定宿主计算机操作系统应用程序接口的动态链接库入口,该入口位于操作系统安装目录下的内核文件动态链接库内;所述获取模块,通过应用程序接口创建文件通知对象,并设置监视目标路径,通过该通知对象返回的句柄截获操作系统消息层的文件消息,保存特定监视目标路径下的文件消息; 所述记录模块,对消息捕捉线程传入的文件路径、操作类型信息进行记录,包括文件在文件系统中的元数据(Meta-data); 所述文件检测模块,检查与文件消息相关的文件是否存在、是否可读,若文件存在且可读则将文件内容读入内存流; 所述文件预处理模块 ,调用程序外部第三方控件对已读入内存的文件内容进行压缩、加密; 所述文件传输模块,将已预处理的文件内容以及文件消息记录通过网络发送至备份服务器端; 在备份服务器端上部署所述接收子系统,接收宿主计算机所传输的文件内容和文件信息记录;在所述接收子系统中,响应模块、写入模块顺次连接;并且,发送子系统中的文件传输模块与接收子系统中的响应模块连接; 所述响应模块,用以响应宿主计算机端文件传输请求,与宿主计算机建立连接; 所述写入模块,将宿主计算机传入的文件内容写入本地文件系统或数据库管理器中。
【文档编号】G06F17/30GK103617099SQ201310661316
【公开日】2014年3月5日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】谢志超, 傅晓, 庄剑锋 申请人:焦点科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1