<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

文件處理方法與流程

文檔序號:12596386閱讀:531來源:國知局
文件處理方法與流程

本發明涉及分布式系統領域,具體而言,涉及一種文件處理方法。



背景技術:

在分布式系統中,一個重要的問題就是同步。同步包括數據的同步、信息的同步、文件的同步等,這其中比較重要的同步就是文件同步,因為很多內容的同步就是文件,或許需要基于文件同步。

現有技術中,當一個服務器中增加文件或者刪除文件之后,該服務器會向系統中的其他服務器發送信息,其他服務器接收信息之后,也對文件進行相應的增加或者刪除。這種文件的同步方式存在以下的問題:信息的交互非常頻繁,數據量大,擴展性差;整個系統的穩定性差,尤其是文件非常多的時候。

針對上述的問題,目前尚未提出有效的解決方案。



技術實現要素:

本發明實施例提供了一種文件處理方法,以至少解決現有技術中文件同步時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
韩国伦理电影