一種集群系統中車機數據的分發方法
【專利摘要】本發明公開一種集群系統中車機數據的分發方法,其具有更健壯的抗故障能力和負載均衡特性,在解決自動負載均衡和單點故障的同時,解決了由于接收方網絡拓撲的改變發生車機在不同接收方之間頻繁跳動的問題。這種集群系統中車機數據的分發方法,集群系統包括數據發送方、數據接收方、連接調度器,數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,數據發送方與數據接收方采用指定調度算法進行車機數據的分發。
【專利說明】一種集群系統中車機數據的分發方法
【技術領域】
[0001]本發明涉及車輛數據分發的【技術領域】,具體地涉及一種集群系統中車機數據的分發方法,主要針對這種分布式集群中車機GPS數據的發送方和接收方。
【背景技術】
[0002]在高并發GPS車輛數據后端接入的分布式集群系統中,如何保證系統的可靠性,負載均衡,動態可擴展性至關重要。在分布式集群中,發送方和接收方對車機GPS數據的處理尤其重要。
[0003]目前的發送方和接收方有以下幾種形式:
[0004]1.發送方和接收方,沒有采用多點集群或是只有一端實現了集群
[0005]缺點:容易出點單點故障,可靠性差。
[0006]2.接收方采用數據訂閱方式進行數據分發
[0007]優點:固定車機會固定的分到某個接收點上,方便后端業務處理。
[0008]缺點:存在業務參度高(需要維護訂閱關系);負載不易均衡;如果訂閱方出現宕機,車機不能及時轉發到其他的接收方上去。
[0009]3.發送方根據手機號進行hash數據分發
[0010]優點:負載均衡性高;單點故障時,車機數據能迅速選擇其他接收方進行分發。
[0011]缺點:接收方系統網絡拓撲發生改變時(接收方擴容,升級重啟時),會導致同一臺車機的數據在不同的接收方之間快速的跳動,為后面的一些特定業務造成很大不便。
【發明內容】
[0012]本發明的技術解決問題是:克服現有技術的不足,提供一種集群系統中車機數據的分發方法,其具有更健壯的抗故障能力和負載均衡特性,在解決自動負載均衡和單點故障的同時,解決了由于接收方網絡拓撲的改變發生車機在不同接收方之間頻繁跳動的問題。
[0013]本發明的技術解決方案是:這種集群系統中車機數據的分發方法,集群系統包括數據發送方、數據接收方、連接調度器,數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,數據發送方與數據接收方采用指定調度算法進行車機數據的分發。
[0014]由于數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,這樣配合后面的數據分發方式,具有更健壯的抗故障能力和負載均衡特性;由于數據發送方與數據接收方采用指定調度算法進行車機數據的分發,所以在解決自動負載均衡和單點故障的同時,解決了由于接收方網絡拓撲的改變發生車機在不同接收方之間頻繁跳動的問題。
【專利附圖】
【附圖說明】
[0015]圖1為根據本發明的集群系統的結構示意圖。
[0016]圖2為根據本發明的數據發送方與數據接收方采用指定調度算法進行車機數據的分發的一個優選實施例的流程圖。
【具體實施方式】
[0017]這種集群系統中車機數據的分發方法,集群系統包括數據發送方、數據接收方、連接調度器(參見圖1),數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,數據發送方與數據接收方采用指定調度算法進行車機數據的分發。
[0018]由于數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,這樣配合后面的數據分發方式,具有更健壯的抗故障能力和負載均衡特性;由于數據發送方與數據接收方采用指定調度算法進行車機數據的分發,所以在解決自動負載均衡和單點故障的同時,解決了由于接收方網絡拓撲的改變發生車機在不同接收方之間頻繁跳動的問題。
[0019]另外,所述指定調度算法是LVS調度算法。LVS調度算法(最小連接調度,Least-Connect1n Scheduling)是把新的連接請求分配到當前連接數最小的服務器。最小連接調度是一種動態調度算法,它通過服務器當前所活躍的連接數來估計服務器的負載情況。調度器需要記錄各個服務器已建立連接的數目,當一個請求被調度到某臺服務器,其連接數加I ;當連接中止或超時,其連接數減一。在系統實現時,也引入當服務器的權值為零時,表示該服務器不可用而不被調度。這種LVS調度算法在解決自動負載均衡和單點故障的同時,更好地解決了由于接收方網絡拓撲的改變發生車機在不同接收方之間頻繁跳動的冋題。
[0020]另外,所述網絡連接包括以下步驟:
[0021](a)數據發送方啟動后,向連接調度器告知自己的服務地址;
[0022](b)數據接收方啟動,向連接調度器獲取數據發送方的地址,并向每一個數據發送方建立網絡連接;
[0023](c)當有新的數據發送方加入到系統中來時,連接調度器實時告知數據接收方,數據接收方針對其發起新連接。
[0024]另外,數據發送方與數據接收方采用指定調度算法進行車機數據的分發時包括以下步驟:
[0025](I)數據發送方為收到的每一個車機在hash表中建立緩存,緩存中記錄上一次車機轉發目的地;數據發送方同時接受數據接收方的網絡連接,并記錄接收方的負載情況;
[0026](2)當車機數據到達數據發送方后,數據發送方在hash表緩存中查找該車,如果沒有該車緩存,在轉發列表中選擇負載最小的轉發,同時將轉發目的地記錄到緩存當中;
[0027](3)如果數據發送方在超時時間內沒有收到該車機數據,從hash表中將其剔除;當下次該車機數據到來時,按新車機轉發,選擇最小負載最小的數據接收方進行轉發;
[0028](4)當數據發送方發現與其中一個數據接收方服務的連接斷開時,將其從轉發列表中剔除;對于原先轉發到其的車機數據,根據最小負載原則,重新選擇新的目的地進行轉發。
[0029]或者,如圖2所示,數據發送方與數據接收方采用指定調度算法進行車機數據的分發時包括以下步驟:
[0030](I)數據接收方啟動;
[0031](II)數據接收方接受連接、維護目的列表;
[0032](III)數據接收方收到車機數據后,判斷該車是否第一次到來,是則執行步驟(IV),否則執行步驟(V);
[0033](IV)選擇負載最小的目標進行轉發,跳轉步驟(VII);
[0034](V)判斷是否超時,是則執行步驟(IV),否則執行步驟(IV);
[0035](VI)選擇上次目標進行轉發;
[0036](VII)結束。
[0037]以上所述,僅是本發明的較佳實施例,并非對本發明作任何形式上的限制,凡是依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發明技術方案的保護范圍。
【權利要求】
1.一種集群系統中車機數據的分發方法,其特征在于:集群系統包括數據發送方、數據接收方、連接調度器,數據發送方和數據接收方采用集群部署,數據接收方與每一個數據發送方建立網絡連接,數據發送方與數據接收方采用指定調度算法進行車機數據的分發。
2.根據權利要求1所述的集群系統中車機數據的分發方法,其特征在于:所述指定調度算法是LVS調度算法。
3.根據權利要求1所述的集群系統中車機數據的分發方法,其特征在于:所述網絡連接包括以下步驟: (a)數據發送方啟動后,向連接調度器告知自己的服務地址; (b)數據接收方啟動,向連接調度器獲取數據發送方的地址,并向每一個數據發送方建立網絡連接; (C)當有新的數據發送方加入到系統中來時,連接調度器實時告知數據接收方,數據接收方針對其發起新連接。
4.根據權利要求3所述的集群系統中車機數據的分發方法,其特征在于:數據發送方與數據接收方采用指定調度算法進行車機數據的分發時包括以下步驟: (1)數據發送方為收到的每一個車機在hash表中建立緩存,緩存中記錄上一次車機轉發目的地;數據發送方同時接受數據接收方的網絡連接,并記錄接收方的負載情況; (2)當車機數據到達數據發送方后,數據發送方在hash表緩存中查找該車,如果沒有該車緩存,在轉發列表中選擇負載最小的轉發,同時將轉發目的地記錄到緩存當中; (3)如果數據發送方在超時時間內沒有收到該車機數據,從hash表中將其剔除;當下次該車機數據到來時,按新車機轉發,選擇最小負載最小的數據接收方進行轉發; (4)當數據發送方發現與其中一個數據接收方服務的連接斷開時,將其從轉發列表中剔除;對于原先轉發到其的車機數據,根據最小負載原則,重新選擇新的目的地進行轉發。
5.根據權利要求3所述的集群系統中車機數據的分發方法,其特征在于:數據發送方與數據接收方采用指定調度算法進行車機數據的分發時包括以下步驟: (I)數據接收方啟動; (II)數據接收方接受連接、維護目的列表; (III)數據接收方收到車機數據后,判斷該車是否第一次到來,是則執行步驟(IV),否則執行步驟(V); (IV)選擇負載最小的目標進行轉發,跳轉步驟(VII); (V)判斷是否超時,是則執行步驟(IV),否則執行步驟(IV); (VI)選擇上次目標進行轉發; (VII)結束。
【文檔編號】H04L12/24GK104518912SQ201410779324
【公開日】2015年4月15日 申請日期:2014年12月16日 優先權日:2014年12月16日
【發明者】劉波, 鄧偉 申請人:北京中交興路車聯網科技有限公司