一种基于CMSP的文件同步系统、同步方法及文件系统与流程

专利2022-06-29  78


本发明涉及文件同步领域,具体地说是一种基于cmsp的文件同步系统、同步方法及文件系统。



背景技术:

云消息服务平台(简称cmsp)是浪潮自研的一种高性能消息中间件,它可以将某topic(映射为消息队列)中的消息可靠地发送到其它的topic中。

不同系统包括异地的两个系统经常需要同步文件,即一个系统某目录中的文件发生变化(增加新文件、修改已有文件、删除已有文件、批量删除文件夹、批量增加文件夹)时,另一个系统某目录中的文件也要发生同样变化,且要有一定的实时性,文件属性保持不变。文件同步涉及一端文件变化监测及变化数据传输和通知机制,在广域网或复杂的网络中,数据传输经常会出现问题,导致文件同步很困难。

鉴于分析,如何实现异地系统之间的文件同步,是需要解决的技术问题。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种基于cmsp的文件同步系统、同步方法及文件系统,来解决如何实现异地系统之间的文件同步的问题。

第一方面,本发明提供一种基于cmsp的文件同步系统,包括:

文件发现模块,用于监测源端目录并获取文件同步信息,所述文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息和/或基于文件扫描机制获取的文件信息;

文件传送模块,配置有基于消息服务平台的消息队列,用于从文件发现模块获取文件同步信息并以消息队列的方式存储文件同步信息,并用于加密压缩所述文件同步信息并以消息队列的方式存储加密压缩后的文件同步信息;

文件接收更新模块,用于从文件传送模块获取加密压缩后的文件同步信息,并将加密压缩后的文件同步信息同步更新至目的端目录。

作为优选,所述文件发现模块包括:

文件同步检查模块,用于基于文件扫描机制监测并扫描源端目录,得到文件信息,并将文件信息发送至文件传送模块;

和/或,

文件同步通知模块,用于基于新型文件通知机制监测源端目录中文件的变化,得到文件变化信息,并将文件变化信息发送至文件传送模块。

更优的,所述文件同步信息还包括ftp文件信息;

所述文件发现模块还包括ftp接收模块,用于监测源端目录中ftp文件,得到ftp文件信息,并将ftp文件信息发送至文件传送模块。

作为优选,所述文件传送模块配置有:

消息发送节点,用于从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息;

消息传输节点,用于从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;

消息接收节点,用于从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

作为优选,所述文件同步信息以消息的形式存储于消息队列。

第二方面,本发明提供一种基于cmsp的文件同步方法,基于如第一方面任一项所述的一种基于cmsp的文件同步系统,实现源端目录与目的端录制之间文件的同步,所述方法包括如下步骤:

通过文件发现模块监测源端目录并获取文件同步信息,所述文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息和/或基于文件扫描机制获取的文件信息

通过文件传送模块获取文件同步信息,以消息队列的方式存储文件同步信息,并对文件同步信息进行加密压缩,以消息队列的方式存储加密压缩后的文件同步信息;

通过文件接收更新模块从文件传送模块获取加密压缩后的文件同步信息,并将加密压缩后的文件同步信息同步更新至目的端目录。

作为优选,通过文件传送模块获取文件同步信息,以消息队列的方式存储文件同步信息,并对文件同步信息进行加密压缩,以消息队列的方式存储加密压缩后的文件同步信息,包括如下步骤:

通过消息发送节点从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息;

通过消息传输节点从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;

通过消息接收节点从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

作为优选,通过文件发现模块监测源端目录并获取文件同步信息,包括:

通过文件同步检查模块、基于文件扫描机制监测并扫描源端目录,得到文件信息,并将文件信息发送至文件传送模块;

和/或,

通过文件同步通知模块、基于新型文件通知机制inotify监测源端目录中文件的变化,得到文件变化信息,并将文件变化信息发送至文件传送模块。

更优的,所述文件同步信息还包括ftp文件信息;

通过文件发现模块监测源端目录并获取文件同步信息,还包括:通过ftp接收模块监测源端目录中ftp文件,得到ftp文件信息,并将ftp文件信息发送至文件传送模块。

第三方面,本发明提供一种基于cmsp的文件系统,包括源端服务器、目的端服务器和如权利要求1-5任一项所述的一种基于cmsp的文件同步系统,文件发现模块与源端服务器数据互连,文件接收更新模块与目的端服务器数据互连。

本发明的一种基于cmsp的文件同步系统、同步方法及文件系统具有以下优点:

1、通过消息队列将文件同步信息发送至目的端目录,实现了文件同步的实时可靠性和准确性;

2、监测的文件同步信息涉文件信息、文件变化信息和ftp文件信息,同步文件范围广,且支持同步小文件、大文件以及大于4gb的超大文件,并能够确保文件和文件夹的权限一致。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

附图1为实施例1一种基于cmsp的文件同步系统的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

本发明实施例中的属于“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”关系。

本发明实施例中,术语如“数据互连”、“连接”等应做广义理解,表示可以是有线连接,也可以是无线连接;可以是直接相连,也可以通过中间传输媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。

本发明实施例提供一种基于cmsp的文件同步系统、同步方法及文件系统,用于解决如何实现异地系统之间的文件同步的技术问题。

实施例1:

如附图1所示,本发明的一种基于cmsp的文件同步系统,包括依次数据连接的文件发现模块、文件传送模块和文件接收更新模块。

其中,文件发现模块用于监测源端目录并获取文件同步信息,文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息、基于文件扫描机制获取的文件信息以及ftp文件信息。

相应的,文件发现模块包括文件同步检查模块、文件同步通知模块和ftp接收模块,文件同步检查模块用于基于文件扫描机制监测并扫描源端目录,得到文件信息,并将文件信息发送至文件传送模块;文件同步通知模块用于基于新型文件通知机制inotify监测源端目录中文件的变化,得到文件变化信息,并将文件变化信息发送至文件传送模块,ftp接收模块用于监测源端目录中ftp文件,得到ftp文件信息,并将ftp文件信息发送至文件传送模块。

文件传送模块配置有消息发送节点、消息传输节点和消息接收节点,消息发送节点从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息,文件同步信息以消息的形式存储在消息队列中;消息传输节点从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;消息接收节点从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

本发明的一种基于cmsp的文件同步系统,实现了异地两个系统之间文件的同步,工作方式为:

文件同步检查模块基于文件扫描机制监测并扫描源端目录,得到文件信息,文件同步通知模块基于新型文件通知机制监测源端目录中文件的变化,得到文件变化信息,ftp接收模块监测源端目录中ftp文件,得到ftp文件信息;

消息发送节点从文件发现模块中获取将上述文件信息、文件变化信息以及ftp文件信息并存储至其消息队列;

消息传输节点从消息发送节点获取文件同步信息,对文件同步信息进行加密压缩后传输至消息接收节点,消息接收节点通过其消息队列存储加密压缩后的文件同步信息,并将加密压缩后的文件同步信息发送至文件接收更新模块;

文件接收更新模块将上述加密压缩后的文件同步信息发送至目的端目录,从而实现文件同步。

在实际应用中,文件发现模块的配置不限于上述方式,可对文件同步检测模块以及文件通知模块进行选择性配置。

如果仅配置有文件同步检查模块。工作方式为:文件同步检查模块基于文件扫描机制监测并扫描源端目录,得到文件信息;将上述文件信息存储至消息队列,并通过消息队列发送至本地的文件接收更新模块;文件接收更新模块将上述文件同步信息发送至目的端目录,从而实现文件同步。

如果仅配置有文件同步通知模块,工作方式为:文件同步通知模块基于新型文件通知机制监测并扫描源端目录,得到文件变化信息;将上述文件变化存储至消息队列,并通过消息队列发送至本地的文件接收更新模块;文件接收更新模块将上述文件同步信息发送至目的端目录,从而实现文件同步。

实施例2:

本发明的一种基于cmsp的文件同步方法,基于实施例1公开的一种基于cmsp的文件同步系统,实现源端目录与目的端录制之间文件的同步。

该方法步骤为:

s100、通过文件发现模块监测源端目录并获取文件同步信息,文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息、基于文件扫描机制获取的文件信息,以及通过ftp接收模块得到ftp文件信息;

s200、通过文件传送模块获取文件同步信息,以消息队列的方式存储文件同步信息,并对文件同步信息进行加密压缩,以消息队列的方式存储加密压缩后的文件同步信息;

s300、通过文件接收更新模块从文件传送模块获取加密压缩后的文件同步信息,并将加密压缩后的文件同步信息同步更新至目的端目录。

其中步骤s200包括如下分步骤:

s210通过消息发送节点从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息;

s220通过消息传输节点从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;

s230通过消息接收节点从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

其中,文件传送模块将文件同步信息通过消息队列发送至文件接收更新模块的同时,将文件同步信息同步缓冲至其它消息队列中,最终达到文件同步的目的。

作为本实施例的改进,文件发现模块的配置可为文件同步检查模块、文件同步通知模块以及ftp接收模块择一或者多个组合。

如果文件发现模块包括文件同步检查模块和文件同步通知模块;对应的文件同步信息包括:基于文件扫描机制获取的文件信息、基于新型文件通知机制获取的文件变化信息。如果文件发现模块包括文件同步检查模块;对应的文件同步信息为基于文件扫描机制获取的文件信息。

实施例3:

本发明的一种基于cmsp的文件系统,包括源端服务器、目的端服务器和如实施例1公开的一种基于cmsp的文件同步系统,文件发现模块与源端服务器数据互连,文件接收更新模块与目的端服务器数据互连。

本实施例的一种基于cmsp的文件系统,源端服务器与目的端服务器之间文件同步。

如果文件发现模块包括文件同步检查模块、文件同步通知模块和ftp接收模块,工作方式为:

文件同步检查模块基于文件扫描机制监测并扫描源端目录,得到文件信息,文件同步通知模块基于新型文件通知机制监测源端目录中文件的变化,得到文件变化信息,ftp接收模块监测源端目录中ftp文件,得到ftp文件信息;

将上述文件信息、文件变化信息以及ftp文件信息存储至消息队列,并通过消息队列发送至本地的文件接收更新模块;

文件接收更新模块将上述文件同步信息发送至目的端目录,从而实现文件同步。

在实际应用中,文件发现模块的配置不限于上述方式,可对文件同步检测模块以及文件通知模块进行选择性配置。

如果仅配置有文件同步检查模块。工作方式为:文件同步检查模块基于文件扫描机制监测并扫描源端目录,得到文件信息;将上述文件信息存储至消息队列,并通过消息队列发送至本地的文件接收更新模块;文件接收更新模块将上述文件同步信息发送至目的端目录,从而实现文件同步。

如果仅配置有文件同步通知模块,工作方式为:文件同步通知模块基于新型文件通知机制监测并扫描源端目录,得到文件变化信息;将上述文件变化存储至消息队列,并通过消息队列发送至本地的文件接收更新模块;文件接收更新模块将上述文件同步信息发送至目的端目录,从而实现文件同步。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。


技术特征:

1.一种基于cmsp的文件同步系统,其特征在于包括:

文件发现模块,用于监测源端目录并获取文件同步信息,所述文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息和/或基于文件扫描机制获取的文件信息;

文件传送模块,配置有基于消息服务平台的消息队列,用于从文件发现模块获取文件同步信息并以消息队列的方式存储文件同步信息,并用于加密压缩所述文件同步信息并以消息队列的方式存储加密压缩后的文件同步信息;

文件接收更新模块,用于从文件传送模块获取加密压缩后的文件同步信息,并将加密压缩后的文件同步信息同步更新至目的端目录。

2.根据权利要求1所述的一种基于cmsp的文件同步系统,其特征在于所述文件发现模块包括:

文件同步检查模块,用于基于文件扫描机制监测并扫描源端目录,得到文件信息,并将文件信息发送至文件传送模块;

和/或,

文件同步通知模块,用于基于新型文件通知机制监测源端目录中文件的变化,得到文件变化信息,并将文件变化信息发送至文件传送模块。

3.根据权利要求1或2所述的一种基于cmsp的文件同步系统,其特征在于所述文件同步信息还包括ftp文件信息;

所述文件发现模块还包括ftp接收模块,用于监测源端目录中ftp文件,得到ftp文件信息,并将ftp文件信息发送至文件传送模块。

4.根据权利要求1或2所述的一种基于cmsp的文件同步系统,其特征在于所述文件传送模块配置有:

消息发送节点,用于从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息;

消息传输节点,用于从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;

消息接收节点,用于从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

5.根据权利要求4所述的一种基于cmsp的文件同步系统,其特征在于所述文件同步信息以消息的形式存储于消息队列。

6.一种基于cmsp的文件同步方法,其特征在于基于如权利要求1-5任一项所述的一种基于cmsp的文件同步系统,实现源端目录与目的端录制之间文件的同步,所述方法包括如下步骤:

通过文件发现模块监测源端目录并获取文件同步信息,所述文件同步信息包括:基于新型文件通知机制inotify获取的文件变化信息和/或基于文件扫描机制获取的文件信息;

通过文件传送模块获取文件同步信息,以消息队列的方式存储文件同步信息,并对文件同步信息进行加密压缩,以消息队列的方式存储加密压缩后的文件同步信息;

通过文件接收更新模块从文件传送模块获取加密压缩后的文件同步信息,并将加密压缩后的文件同步信息同步更新至目的端目录。

7.根据权利要求6所述的一种基于cmsp的文件同步方法,其特征在于通过文件传送模块获取文件同步信息,以消息队列的方式存储文件同步信息,并对文件同步信息进行加密压缩,以消息队列的方式存储加密压缩后的文件同步信息,包括如下步骤:

通过消息发送节点从文件发现模块获取文件同步信息,并通过其消息队列保存文件同步信息;

通过消息传输节点从消息发送节点获取文件同步信息,并对文件同步信息进行加密压缩传输;

通过消息接收节点从消息传输节点获取加密压缩后的文件同步信息,通过其消息队列保存加密压缩后的消息队列,并将加密压缩后的文件同步信息传输至文件接收更新模块。

8.根据权利要求6、7或8所述的一种基于cmsp的文件同步方法,其特征在于通过文件发现模块监测源端目录并获取文件同步信息,包括:

通过文件同步检查模块、基于文件扫描机制监测并扫描源端目录,得到文件信息,并将文件信息发送至文件传送模块;

和/或,

通过文件同步通知模块、基于新型文件通知机制inotify监测源端目录中文件的变化,得到文件变化信息,并将文件变化信息发送至文件传送模块。

9.根据权利要求7或8所述的一种基于cmsp的文件同步方法,其特征在于所述文件同步信息还包括ftp文件信息;

通过文件发现模块监测源端目录并获取文件同步信息,还包括:通过ftp接收模块监测源端目录中ftp文件,得到ftp文件信息,并将ftp文件信息发送至文件传送模块。

10.一种基于cmsp的文件系统,其特征在于包括源端服务器、目的端服务器和如权利要求1-5任一项所述的一种基于cmsp的文件同步系统,文件发现模块与源端服务器数据互连,文件接收更新模块与目的端服务器数据互连。

技术总结
本发明公开了一种基于CMSP的文件同步系统、同步方法及文件系统,属于文件同步领域,要解决的技术问题为如何实现异地系统之间的文件同步。系统包括:文件发现模块,用于监测源端目录并获取文件同步信息;文件传送模块,用于从文件发现模块获取文件同步信息并以消息队列的方式存储文件同步信息,并用于加密压缩所述文件同步信息并以消息队列的方式存储加密压缩后的文件同步信息;文件接收更新模块,用于从文件传送模块获取加密压缩后的文件同步信息,并将文件同步信息同步更新至目的端目录。方法为通过上述系统,实现源端目录与目的端目录之间文件的同步。文件系统包括源端服务器、目的端服务器和上述文件同步系统。

技术研发人员:刘勇;李朝铭
受保护的技术使用者:浪潮软件股份有限公司
技术研发日:2020.02.28
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19052.html

最新回复(0)