本發明涉及計算機技術領域,特別涉及一種數據管理方法、數據發送裝置、數據接收裝置及系統。
背景技術:
隨著計算機技術的不斷發展,各種應用軟件應運而生;同時,各個應用軟件對應的業務數據也大量增加。
目前,為了提高數據管理效率,實現對相應應用軟件所對應的大量的業務數據進行,通常采用由多個服務器節點組成的服務器集群來管理各個應用軟件所對應的大量的業務數據。
但是,當服務器集群中的各個服務器節點發生宕機時,比如,部署服務器集群的指定地點因無法提供工作電源而導致服務器集群中的各個服務器節點發生掉電時,則可能導致外部應用軟件無法通過服務器集群來訪問相應的業務數據,影響業務數據的可用性。
技術實現要素:
本發明實施例提供了一種數據管理方法、數據發送裝置、數據接收裝置及系統,可提高業務數據的可用性。
第一方面,本發明提供了一種數據發送裝置,所述數據發送裝置安裝于設置在第一指定地點的第一服務器集群的一個第一主服務器節點中,所述第一服務器集群的每一個非主服務器節點均與所述主服務器節點相連,包括:時鐘模塊、數據采集模塊和數據發送模塊;其中,
所述時鐘模塊,用于確定至少一個觸發時間點,在每一個所述出發時間點均向所述數據采集模塊發送觸發指令;
所述數據采集模塊,用于在接收到所述時鐘模塊發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據;
所述數據發送模塊,用于將所述數據采集模塊采集的所述業務數據發送至數據接收裝置,以使所述數據接收裝置將所述業務數據同步到設置在第二指定地點的第二服務器集群中。
優選地,
還包括:第一設置模塊,用于在所述第一服務器集群的第一主服務器節點中設置存儲文件;
所述數據采集模塊,進一步用于將采集的所述業務數據寫入所述存儲文件;
所述數據發送模塊,用于讀取所述存儲文件中存儲的業務數據,并發送至數據接收裝置。
第二方面,本發明實施例提供了一種數據接收裝置,所述數據接收裝置安裝于設置在第二指定地點的第二服務器集群的一個第二主服務器節點中,所述第二服務器集群的每一個非主服務器節點均與所述第二主服務器節點相連,包括:數據接收模塊和數據同步模塊;其中,
所述數據接收模塊,用于接收數據發送裝置發送的業務數據;
所述數據同步模塊,用于將所述業務數據同步到所述第二服務器集群的各個服務器節點中。
優選地,
還包括:第二設置模塊,用于在所述第二服務器節點的第二主服務器節點中設置緩存文件;
所述數據接收模塊,進一步用于將接收的所述業務數據寫入所述緩存文件;
所述數據同步模塊,用于根據所述緩存文件中存儲的所述業務數據,對所述第二服務器集群的各個服務器節點中存儲的業務數據進行相應的業務處理。
第三方面,本發明實施例提供了一種利用第一方面中任一所述的數據發送裝置管理數據的方法,包括:
將所述數據發送裝置安裝于設置在第一指定地點的第一服務器集群的一個第一主服務器節點中,所述第一服務器集群的每一個非主服務器節點均與所述主服務器節點相連;
利用時鐘模塊確定至少一個觸發時間點,在每一個所述出發時間點均向所述數據采集模塊發送觸發指令;
利用所述數據采集模塊在接收到所述時鐘模塊發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據;
利用所述數據發送模塊將所述數據采集模塊采集的所述業務數據發送至數據接收裝置,以使所述數據接收裝置將所述業務數據同步到設置在第二指定地點的第二服務器集群中。
優選地,
還包括:預先在所述第一服務器集群的第一主服務器節點中設置存儲文件;
則,所述利用所述數據采集模塊在接收到所述時鐘模塊發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據,進一步包括:利用所述數據采集模塊將采集的所述業務數據寫入所述存儲文件;
所述利用數據發送模塊將所述數據采集模塊采集的所述業務數據發送至數據接收裝置,包括:利用數據發送模塊讀取所述存儲文件中存儲的業務數據,并發送至數據接收裝置。
第四方面,本發明實施例提供了一種利用第二方面中任一所述的數據接收裝置管理數據的方法,包括:
將所述數據接收裝置安裝于設置在第二指定地點的第二服務器集群的一個第二主服務器節點中,所述第二服務器集群的每一個非主服務器節點均與所述第二主服務器節點相連;
利用數據接收模塊接收數據發送裝置發送的業務數據;
利用數據同步模塊將所述業務數據同步到所述第二服務器集群的各個服務器節點中。
優選地,
還包括:預先在所述第二服務器節點的第二主服務器節點中設置緩存文件;
則,所述利用數據接收模塊接收數據發送裝置發送的業務數據,進一步包括:利用數據接收模塊將接收的所述業務數據寫入所述緩存文件;
所述利用數據同步模塊將所述業務數據同步到所述第二服務器集群的各個服務器節點中,包括:利用數據同步模塊根據所述緩存文件中存儲的所述業務數據,對所述第二服務器集群的各個服務器節點中存儲的業務數據進行相應的業務處理。
第五方面,本發明實施例提供了一種數據管理系統,包括:第一服務器集群、第二服務器集群、數據發送裝置和數據接收裝置;其中,
所述第一服務器集群設置在第一指定地點,包括一個第一主服務器節點和至少一個非主服務器節點;
所述第二服務器集群設置在第二指定地點,包括一個第二主服務器節點和至少一個非主服務器節點;
所述數據發送裝置設置在所述第一主服務器節點中;
所述數據接收裝置設置在所述第二主服務器節點中。
本發明實施例提供了一種數據管理方法、數據發送裝置、數據接收裝置及系統,該數據發送裝置安裝在設置于第一指定地點的第一服務器集群的主服務器節點中,可在各個觸發時間點下采集并發送第一服務器集群中存儲的業務數據至數據接收裝置,使得數據接收裝置將業務數據同步到設置在第二指定地點的第二服務器集群中。如此,則實現將第一服務器集群和第二服務器集群之間的數據互通,當設置在第一指定地點的第一服務器集群的各個服務器節點發送宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一實施例提供的一種數據發送裝置的結構示意圖;
圖2是本發明一實施例提供的另一種數據發送裝置的結構示意圖;
圖3是本發明一實施例提供的一種應用于數據發送裝置的數據管理方法的流程圖;
圖4是本發明一實施例提供的一種數據接收裝置的結構示意圖;
圖5是本發明一實施例提供的另一種數據接收裝置的結構示意圖;
圖6是本發明一實施例提供的一種應用于數據接收裝置的數據管理方法的流程圖;
圖7是本發明一實施例提供的一種數據管理系統的結構示意圖;
圖8是本發明實施例提供的一種應用于數據管理系統的數據管理方法的流程圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,本發明實施例提供了一種數據發送裝置,所述數據發送裝置安裝于設置在第一指定地點的第一服務器集群的一個第一主服務器節點中,所述第一服務器集群的每一個非主服務器節點均與所述主服務器節點相連,包括:時鐘模塊101、數據采集模塊102和數據發送模塊103;其中,
所述時鐘模塊101,用于確定至少一個觸發時間點,在每一個所述出發時間點均向所述數據采集模塊102發送觸發指令;
所述數據采集模塊102,用于在接收到所述時鐘模塊101發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據;
所述數據發送模塊103,用于將所述數據采集模塊102采集的所述業務數據發送至數據接收裝置,以使所述數據接收裝置將所述業務數據同步到設置在第二指定地點的第二服務器集群中。
本發明上述實施例中,該數據發送裝置安裝在設置于第一指定地點的第一服務器集群的主服務器節點中,可在各個觸發時間點下采集并發送第一服務器集群中存儲的業務數據至數據接收裝置,使得數據接收裝置將業務數據同步到設置在第二指定地點的第二服務器集群中。如此,則實現將第一服務器集群和第二服務器集群之間的數據互通,當設置在第一指定地點的第一服務器集群的各個服務器節點發送宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
進一步的,為了確保數據接收裝置接收到的業務數據具備完整性,如圖2所示,本發明一個實施例中,還包括:第一設置模塊201,用于在所述第一服務器集群的第一主服務器節點中設置存儲文件;
所述數據采集模塊102,進一步用于將采集的所述業務數據寫入所述存儲文件;
所述數據發送模塊103,用于讀取所述存儲文件中存儲的業務數據,并發送至數據接收裝置。
本發明上述實施例中,由于第一服務器集群可能包括多個服務器節點,數據采集模塊采集各個服務器節點下存儲的業務數據時,可能需要經過一定的時長才能實現完全采集第一服務器集群中存儲的業務數據,通過在第一服務器集群的第一主服務器節點中設置存儲文件,則可利用存儲文件來緩存業務數據,在數據采集模塊實現對第一服務器集群的各個服務器節點中存儲的業務數據實現完全采集之后,再由數據發送模塊將存儲文件中存儲的業務數據發送至數據接收裝置,可確保數據接收裝置接收的業務數據具備完整性。
需要說明的是,在實現將第一服務器集群中的業務數據同步至第二服務器集群時,具體還可以通過如下方法對兩個服務器集群中的第一主服務器節點和第二主服務器節點進行相應的環境配置:在第一主服務器集群的第一主服務器節點中安裝python2.7.3,且把python2.7設置為環境變量;安裝thrift使得thrift支持hbase框架的第一主服務器集群;把gen-py目錄復制到python相關目錄中,然后啟動thrift服務;然后則可在第一主服務器節點和第二主服務器節點中分別安裝python語言編寫的數據發送裝置和數據接收裝置。
如圖3所示,本發明實施例提供了一種利用本發明任意一個實施例中提供的數據發送裝置管理數據的方法,包括:
步驟301,將所述數據發送裝置安裝于設置在第一指定地點的第一服務器集群的一個第一主服務器節點中,所述第一服務器集群的每一個非主服務器節點均與所述主服務器節點相連;
步驟302,利用時鐘模塊確定至少一個觸發時間點,在每一個所述出發時間點均向所述數據采集模塊發送觸發指令;
步驟303,利用所述數據采集模塊在接收到所述時鐘模塊發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據;
步驟304,利用所述數據發送模塊將所述數據采集模塊采集的所述業務數據發送至數據接收裝置,以使所述數據接收裝置將所述業務數據同步到設置在第二指定地點的第二服務器集群中。
本發明上述實施例中,通過將該數據發送裝置安裝在設置于第一指定地點的第一服務器集群的主服務器節點中,則可利用該數據發送裝置在各個觸發時間點下采集并發送第一服務器集群中存儲的業務數據至數據接收裝置,使得數據接收裝置將業務數據同步到設置在第二指定地點的第二服務器集群中。如此,則實現將第一服務器集群和第二服務器集群之間的數據互通,當設置在第一指定地點的第一服務器集群的各個服務器節點發送宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
本發明一個實施例中,還包括:預先在所述第一服務器集群的第一主服務器節點中設置存儲文件;
則,所述利用所述數據采集模塊在接收到所述時鐘模塊發送的觸發指令時,采集所述第一服務器集群的每一個服務器節點中存儲的業務數據,進一步包括:利用所述數據采集模塊將采集的所述業務數據寫入所述存儲文件;
所述利用數據發送模塊將所述數據采集模塊采集的所述業務數據發送至數據接收裝置,包括:利用數據發送模塊讀取所述存儲文件中存儲的業務數據,并發送至數據接收裝置。
如圖4所示,本發明實施例提供了一種數據接收裝置,所述數據接收裝置安裝于設置在第二指定地點的第二服務器集群的一個第二主服務器節點中,所述第二服務器集群的每一個非主服務器節點均與所述第二主服務器節點相連,包括:數據接收模塊401和數據同步模塊402;其中,
所述數據接收模塊401,用于接收數據發送裝置發送的業務數據;
所述數據同步模塊402,用于將所述業務數據同步到所述第二服務器集群的各個服務器節點中。
本發明上述實施例中,通過數據接收裝置接收數據發送裝置發送的設置在第一指定地點的第一服務器集群中存儲的業務數據,并同步至設置在第二指定地點的第二服務器集群的各個服務器節點中,當設置在第一指定地點的第一服務器集群的各個服務器節點發生宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
進一步的,為了提高數據同步效率,如圖5所示,本發明一個優選實施例中,還包括:第二設置模塊501,用于在所述第二服務器節點的第二主服務器節點中設置緩存文件;
所述數據接收模塊401,進一步用于將接收的所述業務數據寫入所述緩存文件;
所述數據同步模塊402,用于根據所述緩存文件中存儲的所述業務數據,對所述第二服務器集群的各個服務器節點中存儲的業務數據進行相應的業務處理。
本發明上述實施例中,由于數據發送裝置在各個設定的觸發時間點均會采集并發送第一服務器集群中存儲的業務數據,數據接收裝置在第一次接收到數據發送裝置發送的業務數據時,可直接將接收的業務數據寫入第二服務器集群的各個服務器節點中,當數據接收裝置第n(n為不小于2的整數)次接收到業務數據時,第二服務器集群中可能已經存儲了一部分與第一服務器集群中相同或相似的業務數據,此時,僅需要根據緩存文件中存儲的業務數據對第二服務器集群中已經存儲的業務數據進行相應的業務數據即可,比如,對第二服務器集群中已經存儲的部分業務數據進行刪除或修改處理,不再將接收的業務數據直接寫入第二服務器集群,可快速實現將第一服務器集群的業務數據同步到第二服務器中,提高數據同步效率。
如圖6所示,本發明實施例提供了一種利用本發明任意一個實施例中提供的數據接收裝置管理數據的方法,包括:
步驟601,將所述數據接收裝置安裝于設置在第二指定地點的第二服務器集群的一個第二主服務器節點中,所述第二服務器集群的每一個非主服務器節點均與所述第二主服務器節點相連;
步驟602,利用數據接收模塊接收數據發送裝置發送的業務數據;
步驟603,利用數據同步模塊將所述業務數據同步到所述第二服務器集群的各個服務器節點中。
本發明上述實施例中,通過數據接收裝置接收數據發送裝置發送的設置在第一指定地點的第一服務器集群中存儲的業務數據,并同步至設置在第二指定地點的第二服務器集群的各個服務器節點中,當設置在第一指定地點的第一服務器集群的各個服務器節點發生宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
本發明一個優選實施例中,還包括:預先在所述第二服務器節點的第二主服務器節點中設置緩存文件;
則,所述利用數據接收模塊接收數據發送裝置發送的業務數據,進一步包括:利用數據接收模塊將接收的所述業務數據寫入所述緩存文件;
所述利用數據同步模塊將所述業務數據同步到所述第二服務器集群的各個服務器節點中,包括:利用數據同步模塊根據所述緩存文件中存儲的所述業務數據,對所述第二服務器集群的各個服務器節點中存儲的業務數據進行相應的業務處理。
如圖7所示,本發明實施例提供了一種數據管理系統,包括:第一服務器集群701、第二服務器集群702,以及本發明任意一個實施例中提供的數據發送裝置703和數據接收裝置704;其中,
所述第一服務器集群701設置在第一指定地點,包括一個第一主服務器7011節點和至少一個非主服務器節點7012;
所述第二服務器集群702設置在第二指定地點,包括一個第二主服務器節點7021和至少一個非主服務器節點7022;
所述數據發送裝置703設置在所述第一主服務器節點7011中;
所述數據接收裝置704設置在所述第二主服務器節點7021中。
為了更加清楚的說明本發明的技術方案,下面結合本發明實施例提供的數據管理系統,具體以該數據管理系統的第一服務器集群包括第一主服務器節點A和非主服務器節點A1、A2,第二服務器集群包括第二主服務器節點B和非主服務器節點B1、B2為例,實現對業務對相應業務軟件對應的業務數據進行管理時,如圖8所示,具體可以包括如下各個步驟:
步驟801,在第一指定點設置第一服務器集群,在第二指定地點設置第二服務器集群;以及在第一服務器集群的第一主服務器節點A中安裝數據發送裝置,在第二服務器集群的第二主服務器節點B中安裝數據接收裝置。
這里,第一服務器集群的非主服務器節點A1和A2均與A相連,第二服務器集群的非主服務器集節點B1和B2均與B相連。
步驟802,在A中設置存儲文件,以及在B中設置緩存文件。
本發明實施例中,A和B可分別設置獨立的緩存硬盤,在A的緩存硬盤上構建存儲文件,在B的緩存硬盤上構建緩存文件。
步驟803,數據發送裝置確定至少一個觸發時間點。
具體地,可通過數據發送裝置的時鐘模塊確定至少一個觸發時間點,且在每一個觸發時間點均向數據采集裝置的數據采集模塊發送觸發指令。
本發明實施例的下述各個步驟中,僅以數據發送裝置在一個觸發時間點下對應采集的業務數據同步至第二服務器集群為例。
步驟804,針對于一個觸發時間點,數據發送裝置在當前觸發時間點下采集A、A1、A2中存儲的業務數據。
舉例來說,數據發送裝置可通過時鐘模塊確定多個觸發時間點,相鄰兩個觸發時間點之間的時間間隔可以為24小時,時鐘模塊可在每一個觸發時間點下均向數據采集模塊發送觸發指令,以使數據采集裝置在各個觸發時間點下均采集當前時間點下A、A1、A2中存儲的全部業務數據。
步驟805,數據采集裝置將當前觸發時間點下采集的業務數據寫入設置在A中的存儲文件內。
步驟806,數據發送裝置在完整采集A、A1、A2中存儲的業務數據之后,則可讀取存儲文件中存儲的業務數據,并發送至數據接收裝置。
具體地,這里可以由數據發送裝置的數據采集模塊采集A、A1、A2中存儲的業務數據,并寫入存儲文件,數據采集模塊在完整采集A、A1、A2中存儲的業務數據之后,則可有數據發送裝置的數據發送模塊讀取并發送存儲文件中存儲的業務數據至數據接收裝置。
本發明實施例中,通過在第一服務器集群的第一主服務器節點中設置存儲文件,則可利用存儲文件來緩存業務數據,在數據采集模塊實現對第一服務器集群的各個服務器節點中存儲的業務數據實現完全采集之后,再由數據發送模塊將存儲文件中存儲的業務數據發送至數據接收裝置,可確保數據接收裝置接收的業務數據具備完整性。
步驟807,數據接收裝置接收數據采集裝置發送的業務數據,并存儲至B中的緩存文件下。
步驟808,數據接收裝置在完整接收數據發送裝置發送的對應當前觸發時間點的全部業務數據之后,判斷接收到業務數據的次數是否大于1,如果是,則執行步驟809;否則,執行步驟810。
步驟809,根據緩存文件中存儲的業務數據,對B、B1和B2中已經存儲的業務數據進行相應的業務數據。
具體地,則僅需要根據緩存文件中存儲的業務數據對B、B1和B2中存儲的相應業務數據進行刪除或修改即可。
步驟810,將緩存文件中存儲的業務數據存儲至B、B1或B2中。
本發明實施例提供了一種可讀介質,包括執行指令,當存儲控制器的處理器執行所述執行指令時,所述存儲控制器執行本發明任意一個實施例中提供的數據管理方法。
上述步驟807至步驟810中,由于數據發送裝置在各個設定的觸發時間點均會采集并發送第一服務器集群中存儲的業務數據,數據接收裝置在第一次接收到數據發送裝置發送的業務數據時,可直接將接收的業務數據寫入第二服務器集群的各個服務器節點中,當數據接收裝置第n(n為不小于2的整數)次接收到業務數據時,第二服務器集群中可能已經存儲了一部分與第一服務器集群中相同或相似的業務數據,此時,僅需要根據緩存文件中存儲的業務數據對第二服務器集群中已經存儲的業務數據進行相應的業務數據即可,比如,對第二服務器集群中已經存儲的部分業務數據進行刪除或修改處理,不再將接收的業務數據直接寫入第二服務器集群,可快速實現將第一服務器集群的業務數據同步到第二服務器中,提高數據同步效率。
本發明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
所述處理器和所述存儲器通過所述總線連接;
所述存儲器,當所述存儲控制器運行時,所述處理器執行所述存儲器存儲的所述執行指令,以使所述存儲控制器執行本發明任意一個實施例中提供的數據管理方法。
綜上所述,本發明各個實施例至少具有如下有益效果:
1、本發明一實施例中,數據發送裝置安裝在設置于第一指定地點的第一服務器集群的主服務器節點中,可在各個觸發時間點下采集并發送第一服務器集群中存儲的業務數據至數據接收裝置,使得數據接收裝置將業務數據同步到設置在第二指定地點的第二服務器集群中。如此,則實現將第一服務器集群和第二服務器集群之間的數據互通,當設置在第一指定地點的第一服務器集群的各個服務器節點發送宕機時,相應的應用軟件則可通過設置在第二指定地點的第二服務器集群來訪問相應的業務數據,可提高業務數據的可用性。
2、本發明一實施例中,通過在第一服務器集群的第一主服務器節點中設置存儲文件,則可利用存儲文件來緩存業務數據,在數據采集模塊實現對第一服務器集群的各個服務器節點中存儲的業務數據實現完全采集之后,再由數據發送模塊將存儲文件中存儲的業務數據發送至數據接收裝置,可確保數據接收裝置接收的業務數據具備完整性。
3、本發明一實施例中,當數據接收裝置第n(n為不小于2的整數)次接收到業務數據時,第二服務器集群中可能已經存儲了一部分與第一服務器集群中相同或相似的業務數據,此時,僅需要根據緩存文件中存儲的業務數據對第二服務器集群中已經存儲的業務數據進行相應的業務數據即可,比如,對第二服務器集群中已經存儲的部分業務數據進行刪除或修改處理,不再將接收的業務數據直接寫入第二服務器集群,可快速實現將第一服務器集群的業務數據同步到第二服務器中,提高數據同步效率。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
最后需要說明的是:以上所述僅為本發明的較佳實施例,僅用于說明本發明的技術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。