數據分配方法、裝置和系統的制作方法
【技術領域】
[0001]本發明涉及數據處理領域,特別是指一種數據分配方法、裝置和系統。
【背景技術】
[0002]數據處理是對數據的采集、儲存、檢索、加工、變換和傳輸。從大量的冗雜抽象的數據中抽取并推導出有某些特定價值或意義的數據。數據處理離不開軟件和服務器的支持,但是當前軟件技術中對于大數據量處理以及高并發處理是一個技術瓶頸,所以隨著數據量日益龐大,大數據處理以及高并發要求,對服務器的處理能力提出了更高的要求。
[0003]現有技術中,為了方便管理,增強數據并行處理能力,常采用并行數據處理結構,包括應用服務器、管理服務器、比對服務器。管理服務器與比對服務器進行通訊,應用服務器與管理服務器之間進行通訊。這種結構極大地提高了數據的處理能力,但由于比對服務器數量較多,極易造成各個比對服務器間的數據分配不合理,進而導致比對服務器超負荷運行或者性能得不到充分發揮。因此,如何能科學合理的分配各服務器的數據量,目前還沒有較好的解決方案。
【發明內容】
[0004]本發明要解決的技術問題是提供一種能夠實現數據的合理分配并有效提高數據處理效率的數據分配方法、裝置和系統。
[0005]為解決上述技術問題,本發明提供的技術方案如下:
[0006]一種數據分配方法,包括:
[0007]步驟1:獲取比對服務器的處理性能信息;
[0008]步驟2:根據所述處理性能信息,計算所有比對服務器的總處理性能,以及每個比對服務器的處理性能相對于所有比對服務器的總處理性能的占比;
[0009]步驟3:根據所述占比,將所有數據分配至每個比對服務器。
[0010]一種管理服務器,包括:
[0011]獲取模塊,用于獲取比對服務器的處理性能信息;
[0012]第一計算模塊,用于根據所述處理性能信息,計算所有比對服務器的總處理性能,以及每個比對服務器的處理性能相對于所有比對服務器的總處理性能的占比;
[0013]數據分配模塊,用于根據所述占比,將所有數據分配至每個比對服務器。
[0014]一種服務器系統,包括應用服務器、至少一個權利要求6所述的管理服務器、以及至少兩個比對服務器;所述應用服務器和管理服務器通過網絡連接,所述管理服務器和比對服務器也通過網絡連接;所述應用服務器和管理服務器為相同或不同的服務器。
[0015]本發明具有以下有益效果:
[0016]與現有技術相比,本發明的數據分配方法,首先根據比對服務器的處理性能信息,計算所有比對服務器的總處理性能,以及每個比對服務器的處理性能相對于所有比對服務器的總處理性能的占比,然后根據占比將所有數據分配至每個比對服務器。本發明依據比對服務器的處理性能,把數據分配到相應的比對服務器中,避免了比對服務器超負荷運行或者性能得不到充分發揮的情況,有效的解決了處理性能不同的多服務器協同工作的問題,使數據的分配具有合理性;本發明還有效的解決了大數據量和高并發數據的處理問題,提升了的數據處理能力,加快了數據處理速度,有效的提高了數據處理效率。
【附圖說明】
[0017]圖1為本發明的數據分配方法的流程示意圖一;
[0018]圖2為本發明的數據分配方法的流程示意圖二 ;
[0019]圖3為本發明的數據分配方法的流程示意圖三;
[0020]圖4為本發明的管理服務器的結構示意圖一;
[0021]圖5為本發明的管理服務器的結構示意圖二 ;
[0022]圖6為本發明的管理服務器的結構示意圖三;
[0023]圖7為本發明的服務器系統的結構示意圖;
[0024]圖8為本發明的服務器系統的流程示意圖。
【具體實施方式】
[0025]為使本發明要解決的技術問題、技術方案和優點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
[0026]名詞解釋
[0027]1、識別:用給定的生物特征從一定范圍的生物模板集合中找出一定數量的相符的生物模板,并根據生物模板獲取對應的用戶的過程,又稱1:N比對,即為生物特征與多用戶的生物特征模板比對。
[0028]2、認證:給定生物特征和用戶的唯一標識,用給定的生物特征和該用戶標識所關聯的生物模板進行比對判斷是否一致的過程;又稱1:1比對,即,生物特征與指定用戶的生物特征模板比對。
[0029]3、比對節點/比對服務器:一套運行生物特征比對算法的程序,即為生物特征的比對以及數據處理的服務器。
[0030]4、動態負載:實時動態的計算每個比對(包括新增、刪除)服務器的數據范圍。
[0031]5、管理節點/管理服務器:用于數據管理以及請求分發的服務器。
[0032]6、分片:數據范圍。
[0033]7、分片號:數據范圍的標識,比如分行號、網點號或者用戶身份證號等。
[0034]8、應用系統/應用服務器:提供系統對外的接口與業務邏輯的實現的服務器。
[0035]9、hash算法:將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為hash值。hash值是一段數據唯一且極其緊湊的數值表示形式。
[0036]一方面,本發明提供一種數據分配方法,如圖1所示,包括:
[0037]步驟1:獲取比對服務器的處理性能信息;
[0038]本步驟中,管理服務器可以通過主動獲取、被動接收或者第三方檢測等方式,獲取所有比對服務器的處理性能信息。
[0039]步驟2:根據處理性能信息,計算所有比對服務器的總處理性能,以及每個比對服務器的處理性能相對于所有比對服務器的總處理性能的占比;
[0040]本步驟中,管理服務器通過計算,得出每個比對服務器的處理性能相對于總處理性能所占的比例,為后續的數據分配提供依據。
[0041]步驟3:根據上述占比,將所有數據分配至每個比對服務器。
[0042]本步驟中,管理服務器把待處理的數據分成與占比相對應的份數,然后把分配好的數據分發給相應的比對服務器(例如,可以將這些數據的標識(如序號等)分發給比對服務器,由比對服務器到數據庫中讀取相應數據即可;或者,也可以直接指示數據庫將相應數據傳給比對服務器),達到對數據合理分配的目的。
[0043]本發明依據比對服務器的處理性能,把數據合理的分配到相應的比對服務器中,避免了比對服務器超負荷運行或者性能得不到充分發揮的情況,有效的解決了大數據量和高并發數據的處理問題,同時有效的解決了處理性能不同的多服務器協同工作的問題,提升了總體的數據處理能力,也加快了數據處理速度。
[0044]上述步驟I優選包括:接收比對服務器發送的注冊請求,其中所述注冊請求中包括比對服務器自身的處理性能信息。這樣使得管理服務器在獲取比對服務器注冊請求的同時也能獲得比對服務器的處理性能信息,管理服務器可以方便快捷的獲取比對服務器的處理性能信息,這些信息被作為管理服務器為比對服務器分配數據的依據,并可以存儲在管理服務器上。
[0045]當然,步驟I中管理服務器還可以通過各種其他方式獲取比對服務器的處理性能信息,例如:人工向管理服務器輸入比對服務器的處理性能信息、管理服務器通過第三方干預獲得比對服務器的處理性能信息和比對服務器向管理服務器單獨發送比對服務器的處理性能信息等,均不影響本發明技術方案的實現。
[0046]本發明中,優選的,對于每條用戶記錄,預先生成有分片號,其中每條用戶記錄中的一個或多個字段值經過hash運算計算得到hash值,對該hash值取靠前的一定位數得到所述分片號,所述一個或多個字段包括用戶ID字段。同時,步驟3進一步為:根據所述占比,將所述分片號分配至每個比對服務器。
[0047]本步驟中,采用hash運算對數據進行處理,進而得到分片號,由此判斷每個比對服務器的數據處理性能,為后續的數據分配提供依據。hash運算能夠使任意長度的數據轉換成固定長度的數據,方便數據的統一管理和查詢,另外,分片號是通過對hash值靠前一定位數的選取得到的,之后,管理服務器按照比對服務器處理性能的占比,把分片號分成與占比相對應的份數,然后將分配好的分片號分發給相應比對服務器。該方法通過分片號方便了數據的分配,沒有增加比對服務