CN109710584A - 一种利用云消息服务平台实现文件双向同步的方法及装置 - Google Patents

一种利用云消息服务平台实现文件双向同步的方法及装置 Download PDF

Info

Publication number
CN109710584A
CN109710584A CN201811562566.8A CN201811562566A CN109710584A CN 109710584 A CN109710584 A CN 109710584A CN 201811562566 A CN201811562566 A CN 201811562566A CN 109710584 A CN109710584 A CN 109710584A
Authority
CN
China
Prior art keywords
file
server system
service platform
messaging service
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811562566.8A
Other languages
English (en)
Inventor
李朝铭
刘瑞功
刘勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201811562566.8A priority Critical patent/CN109710584A/zh
Publication of CN109710584A publication Critical patent/CN109710584A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种利用云消息服务平台实现文件双向同步的方法,涉及同步方法技术领域,基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块;文件同步检查模块检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入该服务器***的文件同步控制模块,文件同步检查模块将发生变化的数据信息实时传递至其从属服务器***的云消息服务平台,另一个服务器***的文件接收更新模块获取上述云消息服务平台的消息,并同步修改到文件接收更新模块所部署服务器***的本地配置目录,由此实现两个服务器***间文件双向同步。本发明还公开一种利用云消息服务平台实现文件双向同步的方法。

Description

一种利用云消息服务平台实现文件双向同步的方法及装置
技术领域
本发明涉及同步方法技术领域,具体的说是一种利用云消息服务平台实现文件双向同步的方法及装置。
背景技术
云消息服务平台(简称CMSP)是浪潮的一种消息中间件产品,它可以将某Topic(映射为消息队列)中的消息可靠地发送到其它的Topic中。
不同服务器***包括异地的两个服务器***经常需要同步文件,这两个服务器***都有文件可能发生变化,即一个服务器***某目录中的文件发生变化(增加新文件、修改已有文件、删除已有文件)时,另一个服务器***某目录中的文件也要发生同样变化,且要有一定的实时性。文件双向同步涉及一端文件变化监测及变化数据传输和通知机制,还要防止循环同步(即A同步到B的文件B又同步到A,然后A再同步到B……)在广域网或复杂的网络中,数据传输经常会出现问题,导致文件同步很困难。目前市面上的文件工具多是单向的或是有使用环境限制,如限制在局域网、同步的文件数不能太多等。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种利用云消息服务平台实现文件双向同步的方法及装置。
首先,本发明公开一种利用云消息服务平台实现文件双向同步的方法,解决上述技术问题采用的技术方案如下:
一种利用云消息服务平台实现文件双向同步的方法,该方法基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块,部署于同一台服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块和部署于另一台服务器***的文件接收更新模块为一组,实现一个服务器***向另一个服务器***的文件同步;文件同步检查模块检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入该服务器***的文件同步控制模块,写入文件同步控制模块的数据信息包括新增、修改、删除、无变化四种状态,文件同步检查模块将处于新增、修改、删除任一状态的数据信息实时传递至其从属服务器***的云消息服务平台,另一个服务器***的文件接收更新模块获取上述云消息服务平台的消息,并同步修改到文件接收更新模块所部署服务器***的本地配置目录。
进一步的,所涉及文件同步检查模块检查其从属服务器***的指定目录文件,当文件同步检查模块所部署的服务器***处于首次启动状态时,写入文件同步控制模块的文件数据信息全部为新增状态;所述文件同步控制模块的内存创建MAP表,文件同步控制模块对比文件同步检查模块本次写入的数据信息和上一次写入的数据信息,通过MAP表显示本次和上一次写入文件的数据信息,并根据两次数据信息的变化标记为新增、修改、删除、无变化任一状态。
进一步的,所涉及云消息服务平台包括消息队列、消息发送节点、消息接收节点;
所述消息队列用于存储文件同步控制模块中处于新增、修改、删除任一状态的数据信息,所述消息队列和所述文件同步控制模块部署于同一服务器***;
所述消息发送节点用于获取所述消息队列的存储信息,并将获取的存储信息传送至所述消息接收节点,所述消息发送节点和所述消息队列部署于同一服务器***,所述消息发送节点和所述消息接收节点部署于不同服务器***;
所述消息接收节点用于将接收到的存储信息传送至部署于同一服务器***的消息队列,该消息队列再将信息传递至文件接收更新模块,所述消息队列和所述文件接收更新模块部署于同一服务器***。
进一步的,所涉及文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
优选的,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容。
优选的,当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容。
优选的,当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
其次,本发明还提供一种利用云消息服务平台实现文件双向同步的装置,该装置包括分别部署于两个服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块、文件接收更新模块;部署于同一台服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块和部署于另一台服务器***的文件接收更新模块为一组,实现一个服务器***向另一个服务器***的文件同步。
文件同步检查模块用于检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入其从属服务器***的文件同步控制模块。
文件同步控制模块用于读取所述文件同步检查模块写入的数据信息,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,用于将处于新增、修改、删除任一状态的数据信息实时传递至其部署服务器***的云消息服务平台。
文件接收更新模块用于获取部署在不同服务器***的云消息服务平台信息,并将获取的信息同步修改到文件接收更新模块所部署服务器***的本地配置目录。
进一步的,所涉及文件同步控制模块包括:
读取子模块,用于读取文件同步检查模块写入的文件数据信息;
MAP表子模块,用于详细显示每个写入文件的数据信息;
对比子模块,用于对比读取子模块本次读取信息和上一次读取信息,并将对比结果传送至标记子模块;
标记子模块,用于接收对比结果并根据对比结果在MAP表子模块中标记所读取文件数据信息的状态,所述状态包括新增、修改、删除、无变化四种,且在其所部署的服务器***处于首次启动状态时,标记子模块将读取子模块读取的文件数据信息全部标记为新增状态;
同步传输子模块,用于将处于新增、修改、删除任一状态的数据信息实时传输至部署在不同服务器***的云消息服务平台。
进一步的,所涉及云消息服务平台包括消息队列、消息发送节点、消息接收节点。消息队列用于存储文件同步控制模块中处于新增、修改、删除任一状态的数据信息,所述消息队列和所述文件同步控制模块部署于同一服务器***。消息发送节点用于获取所述消息队列的存储信息,并将获取的存储信息传送至所述消息接收节点,所述消息发送节点和所述消息队列部署于同一服务器***,所述消息发送节点和所述消息接收节点部署于不同服务器***。消息接收节点用于将接收到的存储信息传送至部署于同一服务器***的消息队列,该消息队列再将信息传递至文件接收更新模块。
进一步的,所涉及文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
优选的,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容。
优选的,当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容。
优选的,当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
另外,基于上述一种利用云消息服务平台实现文件双向同步的方法,本发明还可以公开一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述一种利用云消息服务平台实现文件双向同步的方法。
再者,基于上述一种利用云消息服务平台实现文件双向同步的方法,本发明还可以公开存储控制器,包括:处理器、存储器和总线。存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述一种利用云消息服务平台实现文件双向同步的方法。
本发明的一种利用云消息服务平台实现文件双向同步的方法及装置,与现有技术相比具有的有益效果是:
本发明的方法及装置基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块;文件同步检查模块检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入该服务器***的文件同步控制模块,写入文件同步控制模块的数据信息包括新增、修改、删除、无变化四种状态,文件同步检查模块将处于新增、修改、删除任一状态的数据信息实时传递至其从属服务器***的云消息服务平台,另一个服务器***的文件接收更新模块获取上述云消息服务平台的消息,并同步修改到文件接收更新模块所部署服务器***的本地配置目录,由此实现两个服务器***间文件双向同步,整个过程无需人工参与,通过部署的模块和平台自动完成,具有适应范围广、可靠性高、实时性强的优点,不仅可以同步小文件,也可以同步大文件和大于4GB的超大文件。
附图说明
附图1是本发明的流程框图;
附图2是本发明中文件同步控制模块的结构框图。
附图中各标号信息表示:
A、第一服务器***,B、第二服务器***;
A10、第一云消息服务平台,A20、第一文件同步检查模块,
A30、第一文件接收更新模块,A40、第一文件同步控制模块;
A11、第一消息队列,A12、第一消息发送节点,A13、第一消息接收节点;
B10、第二云消息服务平台,B20、第二文件同步检查模块,
B30、第二文件接收更新模块,B40、第二文件同步控制模块;
B11、第二消息队列,B12、第二消息发送节点,B13、第二消息接收节点;
41、读取子模块,42、MAP表子模块,43、对比子模块,
44、标记子模块,45、同步传输子模块。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例一:
参考附图1,本实施例提出一种利用云消息服务平台实现文件双向同步的方法,该方法基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块。
为了方便区分两个服务器***,我们将两个服务器***称为第一服务器***A和第二服务器***B。
为了方便区分上述平台和模块,分别称为第一云消息服务平台A10、第一文件同步检查模块A20、第一文件接收更新模块A30、第一文件同步控制模块A40,以及第二云消息服务平台B10、第二文件同步检查模块B20、第二文件接收更新模块B30、第二文件同步控制模块B40。
部署于第一服务器***A的第一云消息服务平台A10、第一文件同步检查模块A20、第一文件同步控制模块A40和部署于第二服务器***B服务器***的第一文件接收更新模块A30为一组。第一文件同步检查模块A20检查第一服务器***A的指定目录文件,并将指定目录文件的数据信息实时写入第一服务器***A的第一文件同步控制模块A40,写入第一文件同步控制模块A40的数据信息包括新增、修改、删除、无变化四种状态,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,第一文件同步检查模块A20将第一文件同步控制模块A40中处于新增、修改、删除任一状态的数据信息实时传递至第一服务器***A的第一云消息服务平台A10,第二服务器***B的第一文件接收更新模块A30获取第一云消息服务平台A10的消息,并同步修改到第一文件接收更新模块A30所部署第二服务器***B的本地配置目录,实现第一服务器***A向第二服务器***B的文件同步。
部署于第二服务器***B的第二云消息服务平台B10、第二文件同步检查模块B20、第二文件同步控制模块B40和部署于第一服务器***A服务器***的第二文件接收更新模块B30为一组。第二文件同步检查模块B20检查第二服务器***B的指定目录文件,并将指定目录文件的数据信息实时写入第二服务器***B的第二文件同步控制模块B40,写入第二文件同步控制模块B40的数据信息包括新增、修改、删除、无变化四种状态,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,第二文件同步检查模块B20将第二文件同步控制模块B40中处于新增、修改、删除任一状态的数据信息实时传递至第二服务器***B的第二云消息服务平台B10,第一服务器***A的第二文件接收更新模块B30获取第二云消息服务平台B10的消息,并同步修改到第一文件接收更新模块A30所部署第一服务器***A的本地配置目录,实现第二服务器***B向第一服务器***A的文件同步。
在本实施例中,针对第一服务器***A,所涉及第一文件同步检查模块A20检查第一服务器***A的指定目录文件,当第一文件同步检查模块A20所部署的第一服务器***A处于首次启动状态时,写入第一文件同步控制模块A40的文件数据信息全部为新增状态;第一文件同步控制模块A40的内存创建MAP表,第一文件同步控制模块A40对比第一文件同步检查模块A20本次写入的数据信息和上一次写入的数据信息,通过MAP表显示本次和上一次写入文件的数据信息,并根据两次数据信息的变化标记为新增、修改、删除、无变化任一状态。同样的,对第二服务器***B的第二文件同步检查模块B20和第二文件同步控制模块B40也进行相同的处理。
本实施例中,第一云消息服务平台A10和第二云消息服务平台B10可以均采用CMSP。
所涉及第一云消息服务平台A10包括第一消息队列A11、第一消息发送节点A12、第一消息接收节点A13。所述第一消息队列A11用于存储第一文件同步控制模块A40中处于新增、修改、删除任一状态的数据信息,所述第一消息队列A11和所述第一文件同步控制模块A40部署于第一服务器***A。所述第一消息发送节点A12用于获取所述第一消息队列A11的存储信息,并将获取的存储信息传送至所述第一消息接收节点A13,所述第一消息发送节点A12和所述第一消息队列A11部署于第一服务器***A。所述第一消息接收节点A13用于将接收到的存储信息传送至部署于第二服务器***B的第二消息队列B11,第二消息队列B11再将信息传递至第一文件接收更新模块A30,所述第二消息队列B11和所述第一文件接收更新模块A30部署于第二服务器***B。
所涉及第二云消息服务平台B10包括第二消息队列B11、第二消息发送节点B12、第二消息接收节点B13。所述第二消息队列B11用于存储第二文件同步控制模块B40中处于新增、修改、删除任一状态的数据信息,所述第二消息队列B11和所述第二文件同步控制模块B40部署于第二服务器***B。所述第二消息发送节点B12用于获取所述第二消息队列B11的存储信息,并将获取的存储信息传送至所述第二消息接收节点B13,所述第二消息发送节点B12和所述第二消息队列B11部署于第二服务器***B。所述第二消息接收节点B13用于将接收到的存储信息传送至部署于第一服务器***A的第一消息队列A11,该第一消息队列A11再将信息传递至第二文件接收更新模块B30,所述第一消息队列A11和所述第二文件接收更新模块B30部署于第一服务器***A。
通过在第一服务器***A端部署第一云消息服务平台A10,以及在第二服务器***B端部署第二云消息服务平台B10,其中,第一云消息服务平台A10包括第一消息队列A11、第一消息发送节点A12、第一消息接收节点A13,第二云消息服务平台B10包括第二消息队列B11、第二消息发送节点B12、第二消息接收节点B13,从而使得处于新增、修改、删除任一状态的数据信息能够实时的被消息发送节点发送至消息接收节点,从而实现两个服务器***文件同步的实时性以及可靠性。
在本实施例中,所涉及文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
在本实施例中,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容。当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容。当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
在本实施例中,以第一服务器***A、第二服务器***B为例,假设第一服务器***A的某文件被删除,那么当第二服务器***B的第一文件接收更新模块A30获取到被删除文件的信息后,可通过预设第一服务器***A目录和第二服务器***B目录的映射关系,以及根据获取到的被删除文件的全路径,从而能够找到所在的第二服务器***B相应的目录,从而接下来可将相应的目录中的相应文件进行删除,以此实现第一服务器***A与第二服务器***B的文件同步。
针对新增、修改的文件的同步与被修改文件的同步过程类似,此处不再过多赘述。
在本实施例中,不仅可以同步小文件,也可以同步大文件和大于4GB的超大文件。
实施例二:
参考附图1,本实施例提出一种利用云消息服务平台实现文件双向同步的装置,该装置包括分别部署于两个服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块、文件接收更新模块。
为了方便区分两个服务器***,我们将两个服务器***称为第一服务器***A和第二服务器***B。
为了方便区分上述平台和模块,分别称为第一云消息服务平台A10、第一文件同步检查模块A20、第一文件接收更新模块A30、第一文件同步控制模块A40,以及第二云消息服务平台B10、第二文件同步检查模块B20、第二文件接收更新模块B30、第二文件同步控制模块B40。
部署于第一服务器***A的第一云消息服务平台A10、第一文件同步检查模块A20、第一文件同步控制模块A40和部署于第二服务器***B服务器***的第一文件接收更新模块A30为一组。第一文件同步检查模块A20用于检查第一服务器***A的指定目录文件,并将指定目录文件的数据信息实时写入第一服务器***A的第一文件同步控制模块A40;第一文件同步检查模块A20检查第一服务器***A的指定目录文件,并将指定目录文件的数据信息实时写入第一服务器***A的第一文件同步控制模块A40,写入第一文件同步控制模块A40的数据信息包括新增、修改、删除、无变化四种状态,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,第一文件同步检查模块A20将第一文件同步控制模块A40中处于新增、修改、删除任一状态的数据信息实时传递至第一服务器***A的第一文件同步控制模块A40;第一文件接收更新模块A30用于获取第一云消息服务平台A10的消息,并同步修改到第一文件接收更新模块A30所部署第二服务器***B的本地配置目录,实现第一服务器***A向第二服务器***B的文件同步。
部署于第二服务器***B的第二云消息服务平台B10、第二文件同步检查模块B20、第二文件同步控制模块B40和部署于第一服务器***A服务器***的第二文件接收更新模块B30为一组。第二文件同步检查模块B20用于检查第二服务器***B的指定目录文件,并将指定目录文件的数据信息实时写入第二服务器***B的第二文件同步控制模块B40,写入第二文件同步控制模块B40的数据信息包括新增、修改、删除、无变化四种状态,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,第二文件同步检查模块B20将第二文件同步控制模块B40中处于新增、修改、删除任一状态的数据信息实时传递至第二服务器***B的第二云消息服务平台B10,第二文件接收更新模块B30用于获取第二云消息服务平台B10的消息,并同步修改到第一文件接收更新模块A30所部署第一服务器***A的本地配置目录,实现第二服务器***B向第一服务器***A的文件同步。
参考附图2,第一文件同步控制模块A40和第二文件同步控制模块B40分别包括:
读取子模块41,用于读取文件同步检查模块写入的文件数据信息;
MAP表子模块42,用于详细显示每个写入文件的数据信息;
对比子模块43,用于对比读取子模块41本次读取信息和上一次读取信息,并将对比结果传送至标记子模块44;
标记子模块44,用于接收对比结果并根据对比结果在MAP表子模块42中标记所读取文件数据信息的状态,所述状态包括新增、修改、删除、无变化四种,且在其所部署的服务器***处于首次启动状态时,标记子模块44将读取子模块41读取的文件数据信息全部标记为新增状态;
同步传输子模块45,用于将处于新增、修改、删除任一状态的数据信息实时传输至部署在不同服务器***的云消息服务平台。
本实施例中,第一云消息服务平台A10和第二云消息服务平台B10可以均采用CMSP。
所涉及第一云消息服务平台A10包括第一消息队列A11、第一消息发送节点A12、第一消息接收节点A13。所述第一消息队列A11用于存储文件同步控制模块中处于新增、修改、删除任一状态的数据信息,所述第一消息队列A11和所述第一文件同步控制模块A40部署于第一服务器***A。所述第一消息发送节点A12用于获取所述第一消息队列A11的存储信息,并将获取的存储信息传送至所述第一消息接收节点A13,所述第一消息发送节点A12和所述第一消息队列A11部署于第一服务器***A。所述第一消息接收节点A13用于将接收到的存储信息传送至部署于第二服务器***B的第二消息队列B11,第二消息队列B11再将信息传递至第一文件接收更新模块A30,所述第二消息队列B11和所述第一文件接收更新模块A30部署于第二服务器***B。
所涉及第二云消息服务平台B10包括第二消息队列B11、第二消息发送节点B12、第二消息接收节点B13。所述第二消息队列B11用于存储第二文件同步控制模块B40中处于新增、修改、删除任一状态的数据信息,所述第二消息队列B11和所述第二文件同步控制模块B40部署于第二服务器***B。所述第二消息发送节点B12用于获取所述第二消息队列B11的存储信息,并将获取的存储信息传送至所述第二消息接收节点B13,所述第二消息发送节点B12和所述第二消息队列B11部署于第二服务器***B。所述第二消息接收节点B13用于将接收到的存储信息传送至部署于第一服务器***A的第一消息队列A11,该第一消息队列A11再将信息传递至第二文件接收更新模块B30,所述第一消息队列A11和所述第二文件接收更新模块B30部署于第一服务器***A。
通过在第一服务器***A端部署第一云消息服务平台A10,以及在第二服务器***B端部署第二云消息服务平台B10,其中,第一云消息服务平台A10包括第一消息队列A11、第一消息发送节点A12、第一消息接收节点A13,第二云消息服务平台B10包括第二消息队列B11、第二消息发送节点B12、第二消息接收节点B13,从而使得处于新增、修改、删除任一状态的数据信息能够实时的被消息发送节点发送至消息接收节点,从而实现两个服务器***文件同步的实时性以及可靠性。
在本实施例中,所涉及文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
在本实施例中,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容。当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容。当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
在本实施例中,以第一服务器***A、第二服务器***B为例,假设第一服务器***A的某文件被删除,那么当第二服务器***B的第一文件接收更新模块A30获取到被删除文件的信息后,可通过预设第一服务器***A目录和第二服务器***B目录的映射关系,以及根据获取到的被删除文件的全路径,从而能够找到所在的第二服务器***B相应的目录,从而接下来可将相应的目录中的相应文件进行删除,以此实现第一服务器***A与第二服务器***B的文件同步。
针对新增、修改的文件的同步与被修改文件的同步过程类似,此处不再过多赘述。
在本实施例中,不仅可以同步小文件,也可以同步大文件和大于4GB的超大文件。
实施例三:
本实施例还可以公开一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行实施例一所述一种利用云消息服务平台实现文件双向同步的方法。
实施例四:
本实施例还可以公开一种存储控制器,包括:处理器、存储器和总线。存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述一种利用云消息服务平台实现文件双向同步的方法。
综上,本发明各个实施例至少具有如下有益效果:
1、本发明的方法及装置基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块;文件同步检查模块检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入该服务器***的文件同步控制模块,写入文件同步控制模块的数据信息包括新增、修改、删除、无变化四种状态,文件同步检查模块将处于新增、修改、删除任一状态的数据信息实时传递至其从属服务器***的云消息服务平台,另一个服务器***的文件接收更新模块获取上述云消息服务平台的消息,并同步修改到文件接收更新模块所部署服务器***的本地配置目录,由此实现两个服务器***间文件双向同步,整个过程无需人工参与,通过部署的模块和平台自动完成,具有适应范围广、可靠性高、实时性强的优点,不仅可以同步小文件,也可以同步大文件和大于4GB的超大文件。
2、本发明的方法及装置通过在第一服务器***A端部署第一云消息服务平台A10,以及在第二服务器***B端部署第二云消息服务平台B10,其中,第一云消息服务平台A10包括第一消息队列A11、第一消息发送节点A12、第一消息接收节点A13,第二云消息服务平台B10包括第二消息队列B11、第二消息发送节点B12、第二消息接收节点B13,从而使得处于新增、修改、删除任一状态的数据信息能够实时的被消息发送节点发送至消息接收节点,从而实现第一服务器***A和第二服务器***B文件同步的实时性以及可靠性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种利用云消息服务平台实现文件双向同步的方法,其特征在于,该方法基于部署在两个服务器***的云消息服务平台,以及文件同步检查模块、文件接收更新模块、文件同步控制模块,部署于同一台服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块和部署于另一台服务器***的文件接收更新模块为一组,实现一个服务器***向另一个服务器***的文件同步;文件同步检查模块检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入该服务器***的文件同步控制模块,写入文件同步控制模块的数据信息包括新增、修改、删除、无变化四种状态,文件同步检查模块将处于新增、修改、删除任一状态的数据信息实时传递至其从属服务器***的云消息服务平台,另一个服务器***的文件接收更新模块获取上述云消息服务平台的消息,并同步修改到文件接收更新模块所部署服务器***的本地配置目录。
2.根据权利要求1所述的一种利用云消息服务平台实现文件双向同步的方法,其特征在于,所述文件同步检查模块检查其从属服务器***的指定目录文件,当文件同步检查模块所部署的服务器***处于首次启动状态时,写入文件同步控制模块的文件数据信息全部为新增状态;所述文件同步控制模块的内存创建MAP表,文件同步控制模块对比文件同步检查模块本次写入的数据信息和上一次写入的数据信息,通过MAP表显示本次和上一次写入文件的数据信息,并根据两次数据信息的变化标记为新增、修改、删除、无变化任一状态。
3.根据权利要求1所述的一种利用云消息服务平台实现文件双向同步的方法,其特征在于,所述云消息服务平台包括消息队列、消息发送节点、消息接收节点;
所述消息队列用于存储文件同步控制模块中处于新增、修改、删除任一状态的数据信息,所述消息队列和所述文件同步控制模块部署于同一服务器***;
所述消息发送节点用于获取所述消息队列的存储信息,并将获取的存储信息传送至所述消息接收节点,所述消息发送节点和所述消息队列部署于同一服务器***,所述消息发送节点和所述消息接收节点部署于不同服务器***;
所述消息接收节点用于将接收到的存储信息传送至部署于同一服务器***的消息队列,该消息队列再将信息传递至文件接收更新模块,所述消息队列和所述文件接收更新模块部署于同一服务器***。
4.根据权利要求1或2或3所述的一种利用云消息服务平台实现文件双向同步的方法,其特征在于,所述文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
5.根据权利要求4所述的一种利用云消息服务平台实现文件双向同步的方法,其特征在于,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容;
和/或,
当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容;
和/或,
当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
6.一种利用云消息服务平台实现文件双向同步的装置,其特征在于,该装置包括分别部署于两个服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块、文件接收更新模块;部署于同一台服务器***的云消息服务平台、文件同步检查模块、文件同步控制模块和部署于另一台服务器***的文件接收更新模块为一组,实现一个服务器***向另一个服务器***的文件同步;
所述文件同步检查模块用于检查其从属服务器***的指定目录文件,并将指定目录文件的数据信息实时写入其从属服务器***的文件同步控制模块;
所述文件同步控制模块用于读取所述文件同步检查模块写入的数据信息,对比本次写入信息和上一次写入信息,进而根据对比结果标记数据信息为新增、修改、删除、无变化任一状态,同时,用于将处于新增、修改、删除任一状态的数据信息实时传递至其部署服务器***的云消息服务平台;
所述文件接收更新模块用于获取部署在不同服务器***的云消息服务平台信息,并将获取的信息同步修改到文件接收更新模块所部署服务器***的本地配置目录。
7.根据权利要求6所述的一种利用云消息服务平台实现文件双向同步的装置,其特征在于,所述文件同步控制模块包括:
读取子模块,用于读取文件同步检查模块写入的文件数据信息;
MAP表子模块,用于详细显示每个写入文件的数据信息;
对比子模块,用于对比读取子模块本次读取信息和上一次读取信息,并将对比结果传送至标记子模块;
标记子模块,用于接收对比结果并根据对比结果在MAP表子模块中标记所读取文件数据信息的状态,所述状态包括新增、修改、删除、无变化四种,且在其所部署的服务器***处于首次启动状态时,标记子模块将读取子模块读取的文件数据信息全部标记为新增状态;
同步传输子模块,用于将处于新增、修改、删除任一状态的数据信息实时传输至部署在不同服务器***的云消息服务平台。
8.根据权利要求6所述的一种利用云消息服务平台实现文件双向同步的装置,其特征在于,所述云消息服务平台包括消息队列、消息发送节点、消息接收节点;
所述消息队列用于存储文件同步控制模块中处于新增、修改、删除任一状态的数据信息,所述消息队列和所述文件同步控制模块部署于同一服务器***;
所述消息发送节点用于获取所述消息队列的存储信息,并将获取的存储信息传送至所述消息接收节点,所述消息发送节点和所述消息队列部署于同一服务器***,所述消息发送节点和所述消息接收节点部署于不同服务器***;
所述消息接收节点用于将接收到的存储信息传送至部署于同一服务器***的消息队列,该消息队列再将信息传递至文件接收更新模块。
9.根据权利要求6或7或8所述的一种利用云消息服务平台实现文件双向同步的装置,其特征在于,所述文件的数据信息除了包括新增、修改、删除、无变化四种状态,还包括文件名、文件大小、文件变化时间、文件属主、文件来源。
10.根据权利要求9所述的一种利用云消息服务平台实现文件双向同步的装置,其特征在于,当文件的数据信息处于新增状态时,该文件的变化信息包括新增文件的全路径、新增标识和新增文件的内容;
和/或,
当文件的数据信息处于修改状态时,该文件的变化信息包括被修改文件的全路径、修改标识和被修改文件的内容;
和/或,
当文件的数据信息处于删除状态时,该文件的变化信息包括被删除文件的全路径和删除标识。
CN201811562566.8A 2018-12-20 2018-12-20 一种利用云消息服务平台实现文件双向同步的方法及装置 Pending CN109710584A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811562566.8A CN109710584A (zh) 2018-12-20 2018-12-20 一种利用云消息服务平台实现文件双向同步的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811562566.8A CN109710584A (zh) 2018-12-20 2018-12-20 一种利用云消息服务平台实现文件双向同步的方法及装置

Publications (1)

Publication Number Publication Date
CN109710584A true CN109710584A (zh) 2019-05-03

Family

ID=66256957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811562566.8A Pending CN109710584A (zh) 2018-12-20 2018-12-20 一种利用云消息服务平台实现文件双向同步的方法及装置

Country Status (1)

Country Link
CN (1) CN109710584A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602226A (zh) * 2019-09-19 2019-12-20 浪潮软件集团有限公司 一种基于cmsp的消息转发及缓存的方法
CN110704389A (zh) * 2019-09-24 2020-01-17 武汉意畅智云科技有限公司 一种基于驱动和状态的双向文件同步方法
CN111262883A (zh) * 2020-02-28 2020-06-09 浪潮软件股份有限公司 一种基于cmsp的文件同步***、同步方法及文件***
CN111490902A (zh) * 2020-04-12 2020-08-04 上海兰鹤航空科技有限公司 664网络消息构建算法
CN111526198A (zh) * 2020-04-24 2020-08-11 深圳融安网络科技有限公司 服务器的数据同步方法、装置及计算机可读存储介质
CN111782619A (zh) * 2020-07-28 2020-10-16 上海爱数信息技术股份有限公司 一种服务端间文档增量同步方法、同步装置及存储介质
CN112052229A (zh) * 2020-08-31 2020-12-08 许继集团有限公司 辅助设备集中监控***的图形同步方法及图形同步***
CN113254032A (zh) * 2021-05-07 2021-08-13 杭州广立微电子股份有限公司 一种探针卡记录文件更新模组、***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595559A (zh) * 2013-11-05 2014-02-19 深圳市远行科技有限公司 一种大数据的传输***、传输方法及其业务***
US20140237024A1 (en) * 2013-02-19 2014-08-21 Acer Incorporated Network communication devices and file tracking methods thereof
CN108228733A (zh) * 2017-12-12 2018-06-29 浪潮软件股份有限公司 一种文件同步***及方法
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN109005218A (zh) * 2018-07-12 2018-12-14 浪潮软件集团有限公司 一种云消息服务平台跨网闸有序传输数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237024A1 (en) * 2013-02-19 2014-08-21 Acer Incorporated Network communication devices and file tracking methods thereof
CN103595559A (zh) * 2013-11-05 2014-02-19 深圳市远行科技有限公司 一种大数据的传输***、传输方法及其业务***
CN108228733A (zh) * 2017-12-12 2018-06-29 浪潮软件股份有限公司 一种文件同步***及方法
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN109005218A (zh) * 2018-07-12 2018-12-14 浪潮软件集团有限公司 一种云消息服务平台跨网闸有序传输数据的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
***等: "弱连接网络环境中的多主机文件同步", 《小型微型计算机***》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602226A (zh) * 2019-09-19 2019-12-20 浪潮软件集团有限公司 一种基于cmsp的消息转发及缓存的方法
CN110704389A (zh) * 2019-09-24 2020-01-17 武汉意畅智云科技有限公司 一种基于驱动和状态的双向文件同步方法
CN110704389B (zh) * 2019-09-24 2022-02-01 武汉意畅智云科技有限公司 一种基于驱动和状态的双向文件同步方法
CN111262883A (zh) * 2020-02-28 2020-06-09 浪潮软件股份有限公司 一种基于cmsp的文件同步***、同步方法及文件***
CN111490902A (zh) * 2020-04-12 2020-08-04 上海兰鹤航空科技有限公司 664网络消息构建算法
CN111490902B (zh) * 2020-04-12 2024-05-14 上海兰鹤航空科技有限公司 664网络消息构建算法
CN111526198A (zh) * 2020-04-24 2020-08-11 深圳融安网络科技有限公司 服务器的数据同步方法、装置及计算机可读存储介质
CN111782619A (zh) * 2020-07-28 2020-10-16 上海爱数信息技术股份有限公司 一种服务端间文档增量同步方法、同步装置及存储介质
CN112052229A (zh) * 2020-08-31 2020-12-08 许继集团有限公司 辅助设备集中监控***的图形同步方法及图形同步***
CN112052229B (zh) * 2020-08-31 2024-05-10 许继集团有限公司 辅助设备集中监控***的图形同步方法及图形同步***
CN113254032A (zh) * 2021-05-07 2021-08-13 杭州广立微电子股份有限公司 一种探针卡记录文件更新模组、***及方法

Similar Documents

Publication Publication Date Title
CN109710584A (zh) 一种利用云消息服务平台实现文件双向同步的方法及装置
CN101741911B (zh) 基于多副本协同的写操作方法、***及节点
CN104679772B (zh) 分布式数据仓库中删除文件的方法、装置、设备及***
US8620861B1 (en) Preserving file metadata during atomic save operations
CN1956452B (zh) 一种实现数据同步的方法、***、客户端及服务器
US9438546B2 (en) Attachment collaboration within message environments
CN105404679B (zh) 数据处理方法和装置
CN104714859A (zh) 一种海量文件的快速备份与恢复的方法
US7818293B2 (en) Method and system to synchronize updated versions of a document edited on a collaborative site that are under document management control
JP2009054142A (ja) 分散タスク処理
CN105868286A (zh) 基于分布式文件***小文件合并的并行追加方法及***
CN108228733A (zh) 一种文件同步***及方法
US20160088077A1 (en) Seamless binary object and metadata sync
CN104965835B (zh) 一种分布式文件***的文件读写方法及装置
CN106055723B (zh) 一种数据库数据同步装置、***及方法
CN109643302A (zh) 针对文件的存储虚拟化
CN106021207A (zh) 专利撰写***及其方法
US20160070720A1 (en) Versioned and hierarchical data structures and distributed transactions
CN106161193B (zh) 一种邮件处理方法、装置和***
CN109284273A (zh) 一种采用后缀数组索引的海量小文件查询方法及***
CN109885299A (zh) 模型开发中的模板处理方法、装置、计算机设备和存储介质
CN102402547A (zh) 一种信息处理方法及装置
CN107357920A (zh) 一种增量式的多副本数据同步方法及***
US10162720B2 (en) Copy-on-read process in disaster recovery
CN105407044B (zh) 一种基于nfs的云存储网关***的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190503

RJ01 Rejection of invention patent application after publication