文件处理方法与流程

文档序号:12596386阅读:382来源:国知局
文件处理方法与流程

本发明涉及分布式系统领域,具体而言,涉及一种文件处理方法。



背景技术:

在分布式系统中,一个重要的问题就是同步。同步包括数据的同步、信息的同步、文件的同步等,这其中比较重要的同步就是文件同步,因为很多内容的同步就是文件,或许需要基于文件同步。

现有技术中,当一个服务器中增加文件或者删除文件之后,该服务器会向系统中的其他服务器发送信息,其他服务器接收信息之后,也对文件进行相应的增加或者删除。这种文件的同步方式存在以下的问题:信息的交互非常频繁,数据量大,扩展性差;整个系统的稳定性差,尤其是文件非常多的时候。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种文件处理方法,以至少解决现有技术中文件同步时client端之间进行交互导致的系统扩展性差的技术问题。

根据本发明实施例的一个方面,提供了一种文件处理方法,包括:对第一文件执行预设操作;向Mongodb集群发送第一信息,以使所述Mongodb集群存储所述第一信息,其中,所述第一信息用于指示所述第一文件的内容信息和第一服务器对所述第一文件执行的操作的操作信息,当所述Mongodb集群存储所述第一信息之后,服务器能够通过监控所述Mongodb集群读取到所述第一信息。

进一步地,所述第一信息包括第一文件信息和第一操作信息,对第一文件执行预设操作包括:接收并存储所述第一文件,向Mongodb集群发送第一信息包括:向所述Mongodb集群发送所述第一文件信息和所述第一操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第一操作信息用于指示所述第一服务器增加了所述第一文件。

进一步地,所述第一信息包括第一文件信息和第二操作信息,对第一文件执行预设操作包括:删除所述第一文件,向Mongodb集群发送第一信息包括:向所述Mongodb集群发送所述第一文件信息和所述第二操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第二操作信息用于指示所述第一服务器删除了所述第一文件。

根据本发明实施例的另一方面,还提供了一种文件处理方法,包括:通过监控Mongodb集群读取第一信息,其中,所述第一信息用于指示第一服务器对第一文件执行的操作,所述第一信息存储于所述Mongodb集群中;根据读取到的第一信息对所述第一文件进行相应的操作。

进一步地,所述第一信息包括第一文件信息和第一操作信息,通过监控Mongodb集群读取第一信息包括:通过监控所述Mongodb集群读取所述第一文件信息和所述第一操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第一操作信息用于指示所述第一服务器增加了所述第一文件;根据读取到的第一信息对所述第一文件进行相应的操作包括:根据读取到的所述第一文件信息和所述第一操作信息增加所述第一文件。

进一步地,所述第一信息包括第一文件信息和第二操作信息,通过监控Mongodb集群读取第一信息包括:通过监控所述Mongodb集群读取所述第一文件信息和所述第二操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第二操作信息用于指示所述第一服务器删除了所述第一文件;根据读取到的第一信息对所述第一文件进行相应的操作包括:根据读取到的所述第一文件信息和所述第二操作信息删除所述第一文件。

根据本发明实施例的另一方面,还提供了一种文件处理方法,包括:接收第一服务器发送的第一信息,其中,所述第一信息用于指示所述第一服务器对第一文件执行的操作;存储所述第一信息,其中,在Mongodb集群存储所述第一信息之后,服务器能够通过监控所述Mongodb集群读取到所述第一信息。

进一步地,所述第一信息包括第一文件信息和第一操作信息,接收第一服务器发送的第一信息包括:接收所述第一服务器发送的所述第一文件信息和所述第一操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第一操作信息用于指示所述第一服务器增加了所述第一文件,存储所述第一信息包括:关联存储所述第一文件信息和所述第一操作信息。

进一步地,所述第一信息包括第一文件信息和第二操作信息,接收第一服务器发送的第一信息包括:接收所述第一服务器发送的所述第一文件信息和所述第二操作信息,其中,所述第一文件信息用于指示所述第一文件的内容,所述第二操作信息用于指示所述第一服务器删除了所述第一文件,存储所述第一信息包括:关联存储所述第一文件信息和所述第二操作信息。

进一步地,在存储所述第一信息之后,所述方法还包括:接收第二服务器发送的第二信息,其中,所述第二信息用于指示所述第二服务器根据所述第一信息对所述第一文件进行了相应的操作,所述第二信息中携带有所述第二服务器的标识信息;将所述第一信息与所述第二服务器的标识进行关联存储。

在本发明实施例中,当第一服务器对第一文件执行了某个操作之后,第一服务器向master端的Mongodb集群发送第一信息,master端的Mongodb集群接收第一信息之后,存储第一信息,第二服务器监控Mongodb集群,如果监控到第一信息,通过读取第一信息的内容,能够知道第一文件的内容是什么,以及,第一服务器对第一文件执行了什么操作,第二服务器也对第一文件执行相同的操作,在这个过程中,Mongodb集群与client端进行交互,多个client端之间没有交互,因此,达到了提高扩展性的技术效果,进而解决了现有技术中文件同步时client端之间进行交互导致的系统扩展性差的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例第一服务器执行文件处理方法的流程图;

图2是根据本发明实施例第二服务器执行文件处理方法的流程图;

图3是根据本发明实施例Master端执行文件处理方法的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先对本发明实施例所涉及的技术术语作如下解释:

Mangodb:是指分布式文档存储数据库,是一个介于关系数据库和非关系数据库之间的产品,支持的查询语言非常强大。

master端:主控服务器。

client端:客户端,可以是应用服务器。

根据本发明实施例,提供了一种文件处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供的文件处理方法由master端和client端共同执行。其中,Mongodb集群位于master端。client端有多个。

需要注意的是,下文所述的第一服务器和第二服务器均为client端。并且,第一服务器和第二服务器并非对立的。一个client端可以在一次操作中是第一服务器,在下一次操作中是第二服务器。

图1是根据本发明实施例第一服务器执行文件处理方法的流程图。第一服务器为上述多个client端中的一个。如图1所示,该方法包括如下步骤:

步骤S102,对第一文件执行预设操作。

步骤S104,向Mongodb集群发送第一信息,以使Mongodb集群存储第一信息,其中,第一信息用于指示第一文件的内容信息和第一服务器对第一文件执行的操作的操作信息,当Mongodb集群存储第一信息之后,服务器能够通过监控Mongodb集群读取到第一信息。

在本发明实施例中,当第一服务器对第一文件执行了某个操作之后,第一服务器向master端的Mongodb集群发送第一信息,master端的Mongodb集群接收第一信息之后,存储第一信息,第二服务器监控Mongodb集群,如果监控到第一信息,通过读取第一信息的内容,能够知道第一文件的内容是什么,以及,第一服务器对第一文件执行了什么操作,第二服务器也对第一文件执行相同的操作,在这个过程中,Mongodb集群与client端进行交互,多个client端之间没有交互,因此,解决了现有技术中文件同步时client端之间进行交互导致的扩展性差的技术问题,达到了提高扩展性的技术效果。

client之间不会有信息的同步,这样就保障了同步的过程简单,client只会同mongodb服务之间进行信息交互,理论上讲client可以无限扩展。

一个mongodb集群的并发很高,可以做到3w的写并发,读并发更高。同时mongodb本身的集群稳定性保障了文件信息服务的稳定性,mongodb也是非常快的PB级数据库。

mongodb是大容量内存数据库,保障了数据的及时性,PB的数据量下也是秒级速度,这样让文件的同步速度接近于及时同步速度,尤其是在client端比较多的时候,本发明实施例提供的文件处理方法在client端数量庞大时优势更加明显。相比于现有技术,本发明实施例提供的文件处理方法的文件的同步速度大大增加。

可选地,第一信息包括第一文件信息和第一操作信息,对第一文件执行预设操作包括:接收并存储第一文件,向Mongodb集群发送第一信息包括:向Mongodb集群发送第一文件信息和第一操作信息,其中,第一文件信息用于指示第一文件的内容,第一操作信息用于指示第一服务器增加了第一文件。

可选地,第一信息包括第一文件信息和第二操作信息,对第一文件执行预设操作包括:删除第一文件,向Mongodb集群发送第一信息包括:向Mongodb集群发送第一文件信息和第二操作信息,其中,第一文件信息用于指示第一文件的内容,第二操作信息用于指示第一服务器删除了第一文件。

第一操作信息是指新增文件的操作信息,第二操作信息是删除文件的操作信息。

文件增加时流程为:文件(第一文件)上传到某一文件服务器(第一服务器),第一服务器将文件信息(第一信息)发布到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

文件删除时流程为:client(第一服务器)监控文件夹,发现有文件(第一文件)删除,第一服务器将发布文件删除信息(第一信息)到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

client中的增加与删除都只会记录到mongodb中,如此以来保障了信息交互的简单,不用client之间进行交互。有新增client端的时候,只用同步最新的文件信息就是完整的文件信息。

在本发明实施例中,mongodb集群提供服务支持,为master端提供文件信息存储服务;node为client端提供文件同步程序。mongodb集群部署简单,node程序的开发和部署都简单,而且二者都有高并发的特性。

在本发明实施例中,mongodb集群本身是集群数据库,具有集群数据库的优点,例如分布式、稳定性强、易扩展、PB级数据库、成本低等,基于mongodb集群进行文件同步,更加稳定和安全。

图2是根据本发明实施例第二服务器执行文件处理方法的流程图,如图2所示,包括以下步骤:

步骤S202,通过监控Mongodb集群读取第一信息,其中,第一信息用于指示第一服务器对第一文件执行的操作,第一信息存储于Mongodb集群中;

步骤S204,根据读取到的第一信息对第一文件进行相应的操作。

在本发明实施例中,当第一服务器对第一文件执行了某个操作之后,第一服务器向master端的Mongodb集群发送第一信息,master端的Mongodb集群接收第一信息之后,存储第一信息,第二服务器监控Mongodb集群,如果监控到第一信息,通过读取第一信息的内容,能够知道第一文件的内容是什么,以及,第一服务器对第一文件执行了什么操作,第二服务器也对第一文件执行相同的操作,在这个过程中,Mongodb集群与client端进行交互,多个client端之间没有交互,因此,解决了现有技术中文件同步时client端之间进行交互导致的扩展性差的技术问题,达到了提高扩展性的技术效果。

client之间不会有信息的同步,这样就保障了同步的过程简单,client只会同mongodb服务之间进行信息交互,理论上讲client可以无限扩展。

一个mongodb集群的并发很高,可以做到3w的写并发,读并发更高。同时mongodb本身的集群稳定性保障了文件信息服务的稳定性,mongodb也是非常快的PB级数据库。

mongodb是大容量内存数据库,保障了数据的及时性,PB的数据量下也是秒级速度,这样让文件的同步速度接近于及时同步速度,尤其是在client端比较多的时候,本发明实施例提供的文件处理方法在client端数量庞大时优势更加明显。相比于现有技术,本发明实施例提供的文件处理方法的文件的同步速度大大增加。

可选地,第一信息包括第一文件信息和第一操作信息,通过监控Mongodb集群读取第一信息包括:通过监控Mongodb集群读取第一文件信息和第一操作信息,其中,第一文件信息用于指示第一文件的内容,第一操作信息用于指示第一服务器增加了第一文件;根据读取到的第一信息对第一文件进行相应的操作包括:根据读取到的第一文件信息和第一操作信息增加第一文件。

可选地,第一信息包括第一文件信息和第二操作信息,通过监控Mongodb集群读取第一信息包括:通过监控Mongodb集群读取第一文件信息和第二操作信息,其中,第一文件信息用于指示第一文件的内容,第二操作信息用于指示第一服务器删除了第一文件;根据读取到的第一信息对第一文件进行相应的操作包括:根据读取到的第一文件信息和第二操作信息删除第一文件。

第一操作信息是指新增文件的操作信息,第二操作信息是删除文件的操作信息。

文件增加时流程为:文件(第一文件)上传到某一文件服务器(第一服务器),第一服务器将文件信息(第一信息)发布到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

文件删除时流程为:client(第一服务器)监控文件夹,发现有文件(第一文件)删除,第一服务器将发布文件删除信息(第一信息)到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

client中的增加与删除都只会记录到mongodb中,如此以来保障了信息交互的简单,不用client之间进行交互。有新增client端的时候,只用同步最新的文件信息就是完整的文件信息。

在本发明实施例中,mongodb集群提供服务支持,为master端提供文件信息存储服务;node为client端提供文件同步程序。mongodb集群部署简单,node程序的开发和部署都简单,而且二者都有高并发的特性。

在本发明实施例中,mongodb集群本身是集群数据库,具有集群数据库的优点,例如分布式、稳定性强、易扩展、PB级数据库、成本低等,基于mongodb集群进行文件同步,更加稳定和安全。

图3是根据本发明实施例Master端执行文件处理方法的流程图,如图3所示,包括以下步骤:

步骤S302,接收第一服务器发送的第一信息,其中,第一信息用于指示第一服务器对第一文件执行的操作。

步骤S304,存储第一信息,其中,在Mongodb集群存储第一信息之后,服务器能够通过监控Mongodb集群读取到第一信息。

在本发明实施例中,当第一服务器对第一文件执行了某个操作之后,第一服务器向master端的Mongodb集群发送第一信息,master端的Mongodb集群接收第一信息之后,存储第一信息,第二服务器监控Mongodb集群,如果监控到第一信息,通过读取第一信息的内容,能够知道第一文件的内容是什么,以及,第一服务器对第一文件执行了什么操作,第二服务器也对第一文件执行相同的操作,在这个过程中,Mongodb集群与client端进行交互,多个client端之间没有交互,因此,解决了现有技术中文件同步时client端之间进行交互导致的扩展性差的技术问题,达到了提高扩展性的技术效果。

client之间不会有信息的同步,这样就保障了同步的过程简单,client只会同mongodb服务之间进行信息交互,理论上讲client可以无限扩展。

一个mongodb集群的并发很高,可以做到3w的写并发,读并发更高。同时mongodb本身的集群稳定性保障了文件信息服务的稳定性,mongodb也是非常快的PB级数据库。

mongodb是大容量内存数据库,保障了数据的及时性,PB的数据量下也是秒级速度,这样让文件的同步速度接近于及时同步速度,尤其是在client端比较多的时候,本发明实施例提供的文件处理方法在client端数量庞大时优势更加明显。相比于现有技术,本发明实施例提供的文件处理方法的文件的同步速度大大增加。

可选地,第一信息包括第一文件信息和第一操作信息,接收第一服务器发送的第一信息包括:接收第一服务器发送的第一文件信息和第一操作信息,其中,第一文件信息用于指示第一文件的内容,第一操作信息用于指示第一服务器增加了第一文件,存储第一信息包括:关联存储第一文件信息和第一操作信息。

可选地,第一信息包括第一文件信息和第二操作信息,接收第一服务器发送的第一信息包括:接收第一服务器发送的第一文件信息和第二操作信息,其中,第一文件信息用于指示第一文件的内容,第二操作信息用于指示第一服务器删除了第一文件,存储第一信息包括:关联存储第一文件信息和第二操作信息。

第一操作信息是指新增文件的操作信息,第二操作信息是删除文件的操作信息。

文件增加时流程为:文件(第一文件)上传到某一文件服务器(第一服务器),第一服务器将文件信息(第一信息)发布到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

文件删除时流程为:client(第一服务器)监控文件夹,发现有文件(第一文件)删除,第一服务器将发布文件删除信息(第一信息)到mongodb集群,各client端(第二服务器)监控到mongodb集群有新的信息(第一信息),根据第一信息进行同步任务。

client中的增加与删除都只会记录到mongodb中,如此以来保障了信息交互的简单,不用client之间进行交互。有新增client端的时候,只用同步最新的文件信息就是完整的文件信息。

在本发明实施例中,mongodb集群提供服务支持,为master端提供文件信息存储服务;node为client端提供文件同步程序。mongodb集群部署简单,node程序的开发和部署都简单,而且二者都有高并发的特性。

可选地,在存储第一信息之后,方法还包括:接收第二服务器发送的第二信息,其中,第二信息用于指示第二服务器根据第一信息对第一文件进行了相应的操作,第二信息中携带有第二服务器的标识信息;将第一信息与第二服务器的标识进行关联存储。

第二服务器通过监控Mongodb集群读取第一信息,根据读取到的第一信息对第一文件进行相应的操作,例如,第二服务器根据读取到的第一信息对第一文件进行了删除,之后,第二服务器将第二信息发送给master端的Mongodb集群,第二信息用于指示第二服务器根据第一信息对第一文件进行了删除,第二信息中携带有第二服务器的标识信息,这样,Mongodb集群通过读取第二信息,就能够知道哪些服务器对第一文件进行了删除。Mongodb集群将第一信息与第二服务器的标识进行关联存储,以方便查询。

再例如,第二服务器根据读取到的第一信息对第一文件进行了增加,之后,第二服务器将第二信息发送给master端的Mongodb集群,第二信息用于指示第二服务器根据第一信息增加了第一文件,第二信息中携带有第二服务器的标识信息,这样,Mongodb集群通过读取第二信息,就能够知道哪些服务器增加了第一文件。Mongodb集群将第一信息与第二服务器的标识进行关联存储,以方便查询。

服务器的标识可以是服务器的IP。因为针对服务器而言,IP地址具有唯一性,而且可以直接使用。Mongodb集群中,每条文件信息的记录以文件为主体,会记录每条信息有哪些client端进行了同步,以方便查询。

在本发明实施例中,mongodb集群本身是集群数据库,具有集群数据库的优点,例如分布式、稳定性强、易扩展、PB级数据库、成本低等,基于mongodb集群进行文件同步,更加稳定和安全。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1