一種負載均衡方法及裝置的制造方法
【技術領域】
[0001]本發明涉及互聯網應用技術領域,具體涉及一種負載均衡方法及裝置。
【背景技術】
[0002]在互聯網時代,面對數據量的爆炸式增長,很多互聯網公司內部都采用分布式系統,并且將大多數應用部署在多臺服務器組成的集群中。當有應用請求時,通過負載均衡方法對應用請求進行處理,判斷該請求應該被導向至哪一服務器上。現有技術中的負載均衡方法包括一致性哈希算法、一致性哈希改進算法、服務器總數取模算法。
[0003]—致性哈希算法中,當某臺服務器發生故障時,只能替換或者恢復原有故障服務器,無法把故障服務器上的數據迀移到集群中的其它服務器,否則部分應用請求無法找到對應的服務器;當集群服務器中的應用相互接近時,可能很多應用請求都被導向到了同一臺服務器上,導致集群服務器的負載分布不均衡。
[0004]—致性哈希改進算法,在一定程度上對一致性哈希算法的不足做了改進,但是還是存在如下一些局限性:在增加故障容錯能力方面,它主要通過增加備份服務器的方式來解決,顯然這樣會犧牲更多的服務器資源;在集群動態擴容導致部分應用請求無法正確導向到對應服務器時,其通過在環上的服務器集群順時針查找對應服務器的方式來彌補,這樣明顯會影響系統的處理速度;對于環上的集群服務器分配不均的情況,一致性哈希的改進算法也不能給出靈活合理的處理方案,不能隨時對負載情況進行調整。
[0005]服務器總數取模中,當某臺服務器發生故障時,同一致性哈希算法一樣,必須對原有服務器進行恢復或更換一臺服務器,否則,服務器數量減少,服務器總數取模的結果也會發生變化,會導致很多應用請求的導向都發生變化;當集群擴容的時候,要根據新的服務器總數重新取模計算,余數發生變化的服務器數據進行迀移,一般來說,通過取模做負載均衡一般都會選擇成倍擴容,也就是在原有服務器總數的倍數上進行擴容,這樣迀移的數據量會少些,但是造成了服務器資源的浪費。
【發明內容】
[0006]本發明要解決的技術問題是現有技術中的負載均衡方法,無法準確快速的得到服務應用對應于哪一臺服務器,因此當集群中的服務器更換或增加時,現有的負載均衡方法要從系統查詢某一應用請求該導向到哪臺服務器進行處理,導致的處理速度緩慢。
[0007 ]為解決上述技術問題,本發明提供以下技術方案:
[0008]本發明提供一種負載均衡方法,包括如下步驟:
[0009]獲取應用請求的數據標識;
[0010]對所述應用請求執行寫操作時,為所述應用請求的寫操作配置特定的寫入標識;
[0011]根據所述寫入標識將所述應用請求的寫操作分配至相應服務器,并獲取該相應服務器的預設標識;
[0012]根據相應服務器的預設標識更新所述應用請求的數據標識,得到與所述應用請求對應的新數據標識。
[0013]優選地,上述的負載均衡方法,還包括如下步驟:
[0014]存儲所述應用請求對應的新數據標識與所述應用請求的數據標識之間的對應關系O
[0015]優選地,上述的負載均衡方法,還包括如下步驟:
[0016]對應用請求執行讀操作時,獲取與所述應用請求對應的新數據標識;
[0017]解析所述新數據標識,得到與所述應用請求對應的服務器的預設標識;
[0018]根據對應的服務器的預設標識,將所述應用請求的讀操作分配至相應服務器。
[0019]優選地,上述的負載均衡方法,還包括如下步驟:
[0020]對應用請求執行讀操作時,獲取與所述應用請求對應的數據標識;
[0021]根據所述應用請求對應的新數據標識與所述應用請求的數據標識之間的對應關系獲取所述應用請求對應的新數據標識;
[0022]解析所述新數據標識,得到與所述應用請求對應的服務器的預設標識;
[0023]根據對應的服務器的預設標識,將所述應用請求的讀操作分配至相應服務器。
[0024]優選地,上述的負載均衡方法,根據所述寫入標識將所述應用請求的寫操作分配至相應服務器,并獲取該相應服務器的預設標識的包括:
[0025]判斷服務器是否為新添加的服務器;
[0026]若服務器為新添加的服務器則進一步判斷新添加的服務器上分配的應用請求量與原服務器上分配的應用請求量是否均衡;
[0027]若新添加的服務器上分配的應用請求量與原服務器上分配的應用請求量均衡則將所有服務器設置為具有處理能力;否則將新添加的服務器配置為具有處理能力的服務器,將原服務器配置為不具有處理能力的服務器;
[0028]根據所述寫入標識將所述應用請求的寫操作分配至具有處理能力的相應服務器,并獲取該相應服務器的預設標識。
[0029]優選地,上述的負載均衡方法,還包括如下步驟:
[0030]判斷服務器是否發生故障;
[0031]若是則將發生故障的服務器上的應用請求轉移至其他服務器,并獲取該其他服務器的預設標識;
[0032]根據該其他服務器的預設標識更新所述應用請求的新數據標識。
[0033]優選地,上述的負載均衡方法,還包括如下步驟:
[0034]存儲更新后的所述應用請求的新數據標識與所述應用請求的數據標識之間的對應關系。
[0035]優選地,上述的負載均衡方法,根據相應服務器的預設標識更新所述應用請求的數據標識,得到與所述應用請求對應的新數據標識的步驟中:
[0036]所述新數據標識為相應服務器的預設標識與所述應用請求的數據標識的組合。
[0037]基于同一發明構思,本發明還提供一種負載均衡裝置,包括如下步驟:
[0038]標識獲取單元,用于獲取應用請求的數據標識;
[0039]標識配置單元,在對所述應用請求執行寫操作時,為所述應用請求的寫操作配置特定的與入標識;
[0040]服務器分配單元,用于根據所述寫入標識將所述應用請求的寫操作分配至相應服務器,并獲取該相應服務器的預設標識;
[0041]處理單元,用于根據相應服務器的預設標識更新所述應用請求的數據標識,得到與所述應用請求對應的新數據標識。
[0042]優選地,上述的負載均衡裝置,還包括存儲單元,用于存儲所述應用請求對應的新數據標識與所述應用請求的數據標識之間的對應關系。
[0043]優選地,上述的負載均衡裝置,所述標識獲取單元,在對應用請求執行讀操作時,獲取與所述應用請求對應的新數據標識;
[0044]所述處理單元,還用于解析所述新數據標識,得到與所述應用請求對應的服務器的預設標識;
[0045]所述服務器分配單元,還用于根據對應的服務器的預設標識,將所述應用請求的讀操作分配至相應服務器。
[0046]優選地,上述的負載均衡裝置,所述標識獲取單元,在對應用請求執行讀操作時,獲取與所述應用請求對應的數據標識;并根據所述應用請求對應的新數據標識與所述應用請求的數據標識之間的對應關系獲取所述應用請求對應的新數據標識;
[0047]所述處理單元,還用于解析所述新數據標識,得到與所述應用請求對應的服務器的預設標識;
[0048]所述服務器分配單元,還用于根據對應的服務器的預設標識,將所述應用請求的讀操作分配至相應服務器。
[0049 ]優選地,上述的負載均衡裝置,所述服務器分配單元中包括:
[0050]第一判斷子單元,用于判斷服務器是否為新添加的服務器;
[0051]第二判斷子單元,用于在第一判斷子單元的判斷結果為是時,進一步判斷新添加的服務器上分配的應用請求量與原服務器上分配的應用請求量是否均衡;
[0052]分類子單元,用于在第二判斷子單元的判斷結果為是時,將所有服務器設置為具有處理能力;在第二判斷子單元的判斷結果為否時,將新添加的服務器配置為具有處理能力的服務器,將原服務器配置為不具有處理能力的服務器;
[0053]分配子單元,用于根據所述寫入標識將所述應用請求的寫操作分配至具有處理能力的相應服務器,并獲取該相應服務器的預設標識。
[0054]優選地,上述的負載均衡裝置,還包括:
[0055]故障判斷單元,用于判斷服務器是否發生故障;
[0056]轉移單元,用于在所述故障判斷單元的判斷結果為是時將發生故障的服務器上的應用請求轉移至其他服務器,并獲取該其他服務器的預設標識;
[0057]所述處理單元,還用于根據該其他服務器的預設標識更新所述應用請求的新數據標識O
[0058]優選地,上述的負載均衡裝置,所述存儲單元,還用于存儲更新后的所述應用請求的新數據標識與所述應用請求的數據標識之間的對應關系。
[0059]優選地,上述的負載均衡裝置,所述處理單元中,所述新數據標識為相應服務器的預設標識與所述應用請求的數據標識的組合。
[0060]本發明的上述方案與現有技術相比,至少具有以下有益效果:
[0061](I)本發明所述的負載均衡方法及裝置,對應用請求執行寫操作時,為應用請求的寫操作配置特定的寫入標識;根據寫入標識將應用請求的寫操作分配至相應服務器,并獲取該相應服務器的預設標識;根據相應服務器的預設標識更新應用請求的數據標識,得到與應用請求對應的新數據標識。本發明的上述方案中,每一應用請求的新數據標識都與對應的服務器