專利名稱:一種數據發送方法及系統的制作方法
技術領域:
本發明涉及移動業務處理技術領域,尤其涉及一種數據發送方法及系統。
背景技術:
目前消息隊列系統大多部署在單個物理節點上,這種實現方式無論該物理節點的性能如何好,軟件實現如何科學,都無法保證在數據傳輸過程中不出現故障。而為了提高數據傳輸的可靠性,在現有技術中還可以采用雙機熱備份的方式來實現,這種實現方式雖然可以在一定程度上提高數據傳輸的可靠性,但是吞吐量上受到很大的限制,因此該實現方式并不適合在大數據量環境中使用。而由于現有的很多應用系統規模越來越龐大,系統內部的關系越來越復雜,在系統內數據流轉的步驟也非常的多,數據在傳輸的過程中極易出現不一致或丟失的問題,因此如何通過一種可靠的機制來保證在大數據量的環境中,數據傳輸的可靠性,是各個系統急需解決的一個問題。
發明內容
有鑒于此,本發明實施例提供一種數據發送方法及系統,用以解決現有技術中在大數據量的環境中,數據傳輸可靠性差的問題。本發明實施例提供的一種數據發送方法,包括接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節點;當該第一節點接收到至少一個其他節點返回的成功接收響應后,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點;監控節點確定的進行數據發送的第二節點的接收到該成功接收響應后,將該待發送數據發送到外部接收節點。本發明實施例提供的一種數據發送系統,包括客戶端,用于發送待發送數據;第一節點,用于接收所述客戶端發送的待發送數據,并將該待發送數據同步到至少一個其他節點,接收至少一個其他節點返回的成功接收響應,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點;第二節點,用于接收所述第一節點同步的待發送數據,并向所述第一節點返回成功接收響應,接收到所述第一節點同步的成功接收響應后,將接收到的待發送數據發送到外部接收節點;監控節點,用于確定進行數據發送的第二節點;外部接收節點,用于接收所述第二節點發送的待發送數據。本發明實施例提供了一種數據發送方法及裝置,該方法中接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節點,并且在接收到至少一個其他節點返回的成功接收響應后將成功接收響應同步到控節點確定的進行數據發送的第二節點,第二節點接收到該成功接收響應后,將該待發送數據發送到外部接收節點。由于在本發明實施例中,在進行數據發送的過程中,該待發送數據備份了至少兩份,因此可以有效的保證數據傳輸的可靠性。
圖1為本發明實施例提供的數據發送系統的結構示意圖;圖2為本發明實施例提供的數據發送的過程;圖3A為本發明實施例提供的數據發送系統的細化結構圖;圖IBB為本發明實施例提供的以該系統中包括三個進行數據發送的節點為例,對數據發送過程進行的說明;圖4為本發明實施例提供的以進行數據接收和發送的節點包括三個為例,對數據發送過程的詳細描述;圖5為本發明實施例提供的包括多個隊列的數據傳輸系統的結構示意圖。
具體實施例方式本發明實施例為了在大吞吐量下,提高數據發送的可靠性,提供了一種數據發送方法及系統,該數據發送系統包括發送待發送數據的客戶端、進行數據接收和發送的至少兩個節點,對進行數據接收和發送的節點進行監控的監控節點以及接收待發送數據的外部接收節點。圖1為本發明實施例提供的數據發送系統的結構示意圖,該系統包括客戶端11,用于發送待發送數據;第一節點12,用于接收所述客戶端發送的待發送數據,并將該待發送數據同步到至少一個其他節點,接收至少一個其他節點返回的成功接收響應,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點;第二節點13,用于接收所述第一節點同步的待發送數據,并向所述第一節點返回成功接收響應,接收到所述第一節點同步的成功接收響應后,將接收到的待發送數據發送到外部接收節點;監控節點14,用于確定進行數據發送的第二節點;外部接收節點15,用于接收所述第二節點發送的待發送數據。在本發明實施例中進行待發送數據接收的第一節點和對待發送數據進行發送的第二節點,可以是同一個節點,也可以是不同的節點,在這里為了表述方便,分別用第一節點和第二節點表述。另外,第一節點和第二節點的功能完全相同。并且為了保證數據傳輸的可靠性,在本發明實施例中進行待發送數據接收和發送的節點可以包括至少兩個,例如可以為三個,或者更多個。當客戶端存在待發送數據需要發送時,根據向自身提供的每個進行數據發送的節點的地址,任一選擇一個進行待發送數據的發送。接收到該待發送數據的第一節點,具體為該第一節點的接收模塊接收該待發送數據。當該第一節點的接收模塊接收到該待發送數據后,將該待發送數據發送到自身的發送模塊中,并且將該待發送數據發送到至少一個其他節點的發送模塊中。接收到該第一節點的接收模塊發送的待發送數據的每個發送模塊后,向該第一節點的接收模塊返回成功接收響應。當該第一節點的接收模塊接收到至少兩個發送模塊返回的成功接收響應后,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點。 其中該第一節點將成功接收響應同步到第二節點,可以為監控節點在確定了進行數據發送的第二節點的信息后,將該第二節點的信息通知每個其他節點,當第一節點接收到至少一個其他節點返回的成功接收響應后,將該成功接收響應同步到第二節點。或者也可以是當第一節點接收到至少一個其他節點返回的成功接收響應后,將該成功接收響應同步到接收到該待發送數據的每個其他節點,因為該第二節點由于沒有宕機,其一定可以成功接收該待發送數據,并向第一節點返回成功接收響應,并可以接收到第一節點同步的成功接收響應。由于在本發明實施例中,該接收到待發送數據的第一節點,在接收到該待發送數據,并自身保存了該待發送數據后,同時將該待發送數據同步到至少一個其他節點,當該系統中包含的進行數據接收和發送的其他節點比較多時,為了有效保證數據傳輸的可靠性, 該第一節點可以將該待發送數據一一同步到每個節點中。當該第一節點將該待發送數據同步到至少一個待發送節點后,為了保證數據傳輸的可靠性,需要存在設定數量的節點接收到該待發送數據,并且在進行數據發送的第二節點出現故障時,其他接收到該待發送數據的節點可以繼續進行后續數據的發送。因此第一節點需要判斷是否有滿足要求的設定數量的節點接收到該待發送數據,當存在設定數量的節點接收到該待發送數據時,該第一節點可以向客戶端返回成功接收響應,并且向接收到該待發送數據的每個其他節點同步該成功接收響應,以便進行數據發送的第二節點開始進行數據的發送。其中該設定數量為至少一個,針對該第一節點的接收模塊而言,應該為至少兩個接收模塊向其返回到了成功接收響應,因為當該第一節點能夠接收到其他節點反饋的信息時,說明該第一節點運行正常,一般情況下該第一節點的接收模塊應該可以接收到自身的發送模塊返回的成功接收響應,因此此時該第一節點只需要再接收到至少一個其他節點返回的成功接收響應即可。當然,為了保證數據傳輸的高可靠性,當該系統中包含的進行數據發送和接收的節點比較多時,例如4個或5個以上時,該設定數量可以為2個或者3個,這里可以根據需要靈活設定,該設定數量越大,則整個數據傳輸系統的可靠性越高。這里為了進一步提高數據傳輸的可靠性,客戶端11還用于,判斷在設定的時間長度內是否接收到所述第一節點12返回的成功接收響應,當在設定的時間長度內未接收到所述第一節點12返回的成功接收響應時,重新發送該待發送數據。也就是說該客戶端向第一節點發送該待發送數據后,為了保證該待發送數據能夠被第一節點同步到設定數量的其他節點上,該客戶端在發送該待待發送數據后,需要開啟自身的計時器,判斷在該計時器的設定時間長度內,是否能夠接收到第一節點返回的成功接收響應。當該客戶端在該設定的時間長度內接收到第一節點返回的成功接收響應后,說明該第一節點已經將該待發送數據同步到了設定數量的其他節點上,當該設定時間長度內該客戶端未接收到第一節點返回的成功接收響應時,說明該第一節點未將該待發送數據同步到設定數量的其他節點上,該客戶端需要重新發送該待發送數據,該客戶端可以重新向第一節點發送該待發送數據,可以向其他節點重新發送該待發送數據。
監控節點確定的進行數據發送的第二節點的接收模塊接收到該成功接收響應后, 該第二節點的發送模塊將該待發送數據發送到外部接收節點。該外部接收節點15還用于, 在接收成功時,向所述第二節點返回接收成功響應信息,該第二節點還用于,接收所述外部接收節點發送的接收成功響應信息,并將所述接收成功響應信息同步到該返回成功接收響應的每個其他節點。在本發明實施例中該監控節點用于確定進行數據發送的第二節點,監控節點具體在確定該第二節點時,該監控節點14具體用于,接收每個進行數據發送的節點上線后上報的信息,根據接收的信息,及查詢到的每個節點是否宕機的信息,選擇進行數據發送的第二節點。每個進行待發送數據接收和發送的節點在上線后,將自身上線后的信息上報監控節點,并且監控節點還會按照設定的時間間隔監控每個節點的狀態信息,即監控每個節點是否宕機的信息,監控節點根據接收到的每個節點上報的信息,以及監控到的每個節點的狀態信息進行數據送的第二節點的選擇。當該監控節點確定了進行數據發送的第二節點后,當第二節點進行數據發送之前,或者該第二節點進行數據發送的過程中,或者在該第二節點進行數據發送后,當該監控節點識別到第二節點出現故障時,需要重新選擇進行數據發送的第三節點。具體的在第二節點在進行數據發送之前、以及該第二節點在數據發送之后,由于監控節點采用設定的時間間隔監控每個節點的狀態,因此當該監控節點識別到該第二節點出現故障時,該監控節點根據保存的每個已上線的節點的信息,及當前每個節點是否處于正常狀態,選擇進行數據發送的第三節點。而當該第二節點在進行數據發送的過程中出現故障時,為了保證數據的正常發送,需要監控節點確定進行數據發送的第三節點,而為了保證監控節點確定的第三節點可以進行后續數據的發送,即該第三節點必須得保存了該相應的待發送數據,因此此時,該第一節點還用于,向所述客戶端發送成功接收響應,并將成功接收到該待發送數據的每個節點的信息上報監控節點。只有監控節點獲得了當前有哪些節點已經接收到了該待發送數據,才能夠保證在第二節點出現故障時,繼續進行該客戶端的待發送數據的發送。當該監控節點識別到該第二節點出現故障,并根據第一節點上報的成功接收到該待發送數據的每個節點的信息,確定進行數據發送的第三節點后,該第三節點可以直接根據自身保存該待發送數據的信息,重新進行數據的發送。當然為了提高數據傳輸的效率,該第三節點也可以根據第二節點已成功發送的數據長度的信息,發送后續數據。當該第三節點可以根據第二節點已發送的待發送數據的長度信息,繼續進行后續數據的發送時,該第二節點還用于,記錄已發送數據的長度信息,并將該長度信息同步到該至少一個其他節點。因此,當監控節點在識別到第二節點出現故障時,在保存的每個成功接收該待發送數據的節點中確定進行數據發送的第三節點,該第三節點,用于根據保存的所述第二節點已發送數據的長度信息,發送后續數據。由于在本發明實施例中對數據進行接收和發送的節點包括多個,并且接收到待發送數據的第一節點,將該待發送數據同步到至少一個其他節點,并接收到至少一個其他節點的成功接收響應后,該進行數據發送的第二節點才進行數據的發送,因此可以保證在整個系統中至少存在兩個節點備份了該待發送數據,當該進行數據發送的第二節點出現故障時,至少還存在一個第三節點可以進行后續數據的發送,因此有效的保證了數據傳輸的可靠性。下面結合說明書附圖,對本發明實施例進行詳細說明。圖2為本發明實施例提供的數據發送的過程,該過程包括以下步驟S201 客戶端將該待發送數據發送到第一節點。S202:接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節點。S203:接收到該發送數據的至少一個其他節點向該第一節點返回成功接收響應。S204:當該第一節點接收到至少一個其他節點返回的成功接收響應后,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點。S205:監控節點確定的進行數據發送的第二節點的接收到該成功接收響應后,將該待發送數據發送到外部接收節點。具體的在本發明實施例中在每個進行數據接收和發送的節點,即對于第一節點和第二節點,其包括接收模塊和發送模塊。其中第一節點中接收客戶端發送的待發送數據的為該第一節點的接收模塊,第二節點進行待發送數據發送的模塊為該第二節點的發送模塊。圖3A為本發明實施例提供的數據發送系統的細化結構圖,每個進行數據發送的節點包括接收模塊rd和發送模塊ds,接收模塊rd接收客戶端發送的待發送數據,并接收監控節點發送的確定是否為進行數據發送的節點的信息,并且接收模塊還用于在接收到待發送數據時,將該待發送數據發送到發送模塊。發送模塊用于向監控節點反饋自身所在節點的狀態信息,并且還用于向外部接收節點發送待發送數據,在該系統中為了保證系統的安全性,監控節點可以采用主備方式,即采用監控節點master和監控節點slave,在監控節點 master正常時,由監控節點master監控各個進行數據發送的節點的狀態,并將檢測到的節點的狀態信息同步到監控節點slave,當監控節點master出現故障時,可以進行主備切換, 由監控節點slave切換為主用監控節點,監控各個進行數據發送的節點的狀態。圖IBB為以該系統中包括三個進行數據發送的節點為例,對本發明實施例中的數據發送過程進行說明,該過程包括以下步驟S301 客戶端向進行數據接收和發送的節點發送待發送數據。S302 第一節點的接收模塊接收到該待發送數據后,將該待發送數據發送到自身的發送模塊中,并將該待發送數據同步到第二節點以及第三節點的發送模塊中。在該過程中,當第一節點的接收模塊在向自身的發送模塊發送該待發送數據時, 當其自身的發送模塊因為故障暫時接收不到該待發送數據時,該接收模塊會持續重試,直到自身的接收模塊成功接收到該待發送數據為止。因此一般情況下認為,該第一節點的接收模塊可以接收到該待發送數據,該第一節點本身沒有故障,其發送模塊未接收到自身的接收模塊發送的待發送數據也只是暫時, 通過持續重試,該第一節點的發送模塊還是可以接收到該待發送數據的。S303 第一節點、第二節點以及第三節點的發送模塊接收到該待發送數據后,向第一節點的接收模塊返回成功接收響應。在本發明實施例第一節點的接收模塊向將待發送數據統一發送到每個發送模塊中,再統一接收每個發送模塊返回的成功接收響應,可以有效的提高數據發送的效率。當然第一節點的接收模塊也可以在接收到自身的發送模塊返回的成功接收響應后,再向第二節點或第三節點的發送模塊發送待發送數據也是可以的,發送和返回成功接收響應的時機, 可以根據需要靈活設定。S304:第一節點的接收模塊在設定的時間長度內,判斷是否接收到至少兩個發送模塊返回的成功接收響應,當判斷結果為是時,進行步驟S305,否則,進行步驟S307。例如,此時該第一節點、第二節點以及第三節點的發送模塊都成功接收到該待發送數據時,則第一節點、第二節點以及第三節點的發送模塊都向該第一節點的接收模塊返回成功接收響應。S305:第一節點的接收模塊將該成功接收響應同步到第二節點以及第三節點的接收模塊。或者,在該步驟中,第一節點的接收模塊根據對自身返回成功接收響應的每個發送模塊所在的節點,向對應節點的接收模塊同步該成功接收響應,以便節省信令的開銷。并且由于其他節點此時并沒有接收到該第一節點發送的待發送數據,即使第一節點將該成功接收響應同步到該其他節點,其他節點也不能進行數據的發送。另外,其他節點沒有接收到該第一節點發送的待發送數據,很可能是該其他節點出現了故障,因此,此時第一節點的接收模塊也無法將該成功接收響應同步到該出現了故障的節點中。S306:監控節點確定的進行數據發送的第二節點的接收模塊接收到該成功接收響應后,通知自身的發送模塊將接收到的待發送數據發送到外部接收節點。S307:第一節點的接收模塊向客戶端返回接收失敗響應,并且客戶端接收到該接收失敗響應后,重新選擇進行數據接收的節點,將該節點作為第一節點返回步驟S302。客戶端本身也保存一個設定的時間長度,該客戶端也會在該設定的時間長度內判斷是否接收到第一節點的接收模塊返回的成功接收響應,以此來判斷第一節點以及第一節點進行待發送數據同步的其他節點是否故障。當該客戶端未在設定的時間長度內接收到該第一節點返回的成功接收響應時,客戶端重新向進行數據接收和發送的節點發送該待發送數據,可以選擇第一節點,也可以選擇其他節點。當客戶端接收到該第一節點返回的成功接收響應后,可以確定第一節點,及接收到該待發送數據的每個節點運行正常,此時監控節點確定的進行數據發送的第二節點就可以進行該發送數據的發送了。由于第二節點是監控節點根據每個進行數據發送的節點上線后上報的信息、以及查詢到的每個節點是否宕機的信息選擇的。當該監控節點確定了進行數據發送的第二節點后,監控節點還會按照設定的時間間隔,監控每個節點的狀態信息,即監控每個節點是否宕機的信息,當在每次監控的過程中,只要該第二節點為正常狀態,則進行數據發送的節點依然是該第二節點。當該監控節點監控到第二節點宕機的信息后,在檢測到的以上線的、未宕機的節點中重新選擇進行數據發送的第三節點。之后該對數據進行發送的第三節點進行監控的過程,與之前對第二節點進行監控的過程相同,在這里就不一一贅述。監控節點在監控到第二節點在發送完待發送數據后,或者在發送待發送數據前宕機時,該監控節點確定任意一個上線未宕機的節點進行數據的發送,都不會對之前及之后的數據發送造成影響。但是當該第二節點在發送數據的過程中宕機時,為了保證數據發送
9的可靠性,以及數據發送的效率,該第二節點需要按照設定的時間間隔,將自身已發送數據的長度信息同步到每個接收到該待發送數據的節點中,以便當該第二節點宕機時,接收到該待發送數據的其他節點可以根據該第二節點已發送數據的長度信息,繼續進行后續數據的發送。在本發明實施例中第二節點將該待發送數據發送到外部接收節點后,當該外部接收節點接收到該待發送數據后,向第二節點的發送模塊返回接收成功響應,為了保證該每個節點對再接收到的數據進行準確的處理,該第二節點的發送模塊要將該接收成功響應返回自身的接收模塊中,該第二節點的接收模塊將該成功接收響應返回第一節點的接收模塊時,該第一節點的接收模塊將該成功接收響應同步到,接收到該待發送數據的其他節點的接收模塊中。圖4為本發明實施例提供的以進行數據接收和發送的節點包括三個為例,對數據發送過程的詳細描述,該過程包括以下步驟S401 客戶端向進行數據接收和發送的節點發送待發送數據。S402 第一節點的接收模塊接收到該待發送數據后,將該待發送數據發送到自身的發送模塊中,并將該待發送數據同步到第二節點以及第三節點的發送模塊中。S403:第一節點的接收模塊在設定的時間長度內,判斷是否接收到至少兩個發送模塊返回的成功接收響應,當判斷結果為是時,進行步驟S404,否則,進行步驟S411。S404:第一節點的接收模塊向客戶端發送成功接收響應,將該成功接收響應同步到第二節點以及第三節點的接收模塊,并將成功接收到該待發送數據的每個節點的信息上報監控節點。S405:監控節點確定的進行數據發送的第二節點的接收模塊接收到該成功接收響應后,通知自身的發送模塊將接收到的待發送數據發送到外部接收節點。S406:第二節點的發送模塊將接收到的待發送數據發送到外部接收節點,記錄已發送數據的長度信息,并將該長度信息同步到該至少一個其他節點。該第二節點的發送模塊將該長度信息同步到至少一個其他節點的過程包括第二節點的發送模塊將該長度信息發送到自身的接收模塊,自身的接收模塊將該長度信息發送到第一節點的接收模塊,第一節點的接收模塊根據接收到該待發送數據的節點的信息,將該長度信息同步到每個節點的接收模塊。S407 監控節點按照設定的時間間隔,監控每個上線的節點是否宕機,當監控到第二節點宕機時,根據第一節點發送的成功接收到該待發送數據的節點的信息,確定進行數據發送的第三節點,向該第三節點發送進行數據發送的控制命令。S408 第三節點接收到進行數據發送的控制命令后,根據自身保存的該第二節點已發送數據的長度信息,發送后續數據。S409 外部接收節點接收到該待發送數據后,向第三節點的發送模塊返回接收成功響應,第三節點將接收到的該接收成功響應發送到自身的接收模塊,并由自身的接收模塊將該接收成功響應同步到第一節點。S410:第一節點的接收模塊接收到該接收成功響應后,根據成功接收到該待發送數據的節點的信息,將該接收成功響應同步到每個節點。S411 第一節點的接收模塊向客戶端返回接收失敗響應,并且客戶端接收到該接收失敗響應后,重新選擇進行數據接收的節點,將該節點作為第一節點返回步驟S402。在本發明實施例中為了保證數據發送的可靠性,該監控節點采用雙機熱備的方式,即采用兩個監控節點,其中一個作為主監控節點,一個為備用監控節點。主監控節點正常時,有其監控每個節點的狀態,并將監控到的結果實時的同步到備用監控節點,當該主監控節點出現故障時,備用監控節點切換為主監控節點,實現對每個節點狀態的監控。另外,當監控節點確定的進行數據發送的第二節點因為宕機,該監控節點確定了進行數據發送的第三節點后,當該第二節點從故障中恢復,重新上線時,由于該第二節點在宕機之前為進行數據發送的節點,為了避免上線后的第二節點和第三節點同時進行數據的發送,保證數據發送的準確性,在本發明實施例中,當被確定為數據發送的第二節點宕機, 并恢復上線后,該第二節點主動向監控節點發送是否繼續發送待發送數據的請求,接收到該請求的監控節點,由于已經重新確定了進行數據發送的第三節點,因此監控節點向第二節點返回不繼續發送待發送數據的信息,接收到該信息的第二節點停止進行數據的發送。為了同時處理針對多個客戶端,發送每個客戶端的待發送數據,或者為了提高對該客戶端的所有待發送數據發送的效率,在本發明實施例中可以設置多個隊列,每個隊列中包括至少兩個進行數據接收和發送的節點。如圖5所示的包括多個隊列的數據傳輸系統
的結構示意圖,在該圖5中包括多個隊列,分別為第一隊列、第二隊列、第三隊列........
每個隊列中包括三個節點,分別為第一節點、第二節點和第三節點,監控節點實現對每個隊列中的每個節點的監控,客戶端用于發送待發送數據,外部接收節點用于接收待發送數據。 其中在該系統中,隊列與隊列之間是平等的。當某一隊列中的第一節點接收到客戶端發送的待發送數據后,例如該第一隊列的第一節點接收到該待發送數據后,在該第一隊列內部,第一節點將該待發送數據同步到第二節點和第三節點,并且確定為數據發送節點的第二節點進行該待發送數據的發送。同時該第二隊列可以用來發送其他客戶端的待發送數據,或者發送該客戶端的其他待發送數據,同時該系統中包含的隊列的數量可以根據需要靈活的設置,從而有效的提高了系統的吞吐量。另外,在每個隊列的每個節點中都可以設置標準化的接口,在每個節點下可以級聯多個子節點,當該節點進行數據的發送時,可以通過該節點級聯的子節點實現,因此當包括多個外部接收節點時,可以有效的加快數據同步的速度。本發明實施例提供了一種數據發送方法及系統,該方法中接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節點,并且在接收到至少一個其他節點返回的成功接收響應后,將成功接收響應同步到控節點確定的進行數據發送的第二節點,第二節點接收到該成功接收響應后,將該待發送數據發送到外部接收節點。由于在本發明實施例中,在進行數據發送的過程中,該待發送數據備份了至少兩份,因此可以有效的保證數據傳輸的可靠性。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種數據發送方法,其特征在于,包括接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節占.^ \\\ 當該第一節點接收到至少一個其他節點返回的成功接收響應后,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點;監控節點確定的進行數據發送的第二節點接收到該成功接收響應后,將該待發送數據發送到外部接收節點。
2.如權利要求1所述的方法,其特征在于,監控節點確定進行數據發送的第二節點包括所述監控節點接收每個進行數據發送的節點上線后上報的信息; 根據接收的信息,及查詢到的每個節點是否宕機的信息,選擇進行數據發送的第二節點ο
3.如權利要求1所述的方法,其特征在于,所述當該第一節點接收到至少一個其他節點返回的成功接收響應后,所述方法還包括所述第一節點向所述客戶端發送成功接收響應,并將成功接收到該待發送數據的每個節點的信息上報監控節點。
4.如權利要求3所述的方法,其特征在于,所述方法還包括當所述客戶端在設定的時間長度內未接收到所述第一節點返回的成功接收響應時,重新發送該待發送數據。
5.如權利要求1所述的方法,其特征在于,所述第二節點將該待發送數據發送到外部接收節點之后,所述方法還包括所述第二節點的接收所述外部接收節點發送的接收成功響應信息,并將所述接收成功響應信息同步到該返回成功接收響應的每個其他節點。
6.如權利要求1所述的方法,其特征在于,第二節點將該待發送數據發送到外部接收節點包括所述第二節點的記錄已發送數據的長度信息,并將該長度信息同步到該返回成功接收響應的每個其他節點。
7.如權利要求6所述的方法,其特征在于,當所述監控節點識別到該第二節點出現故障時,在保存的每個成功接收該待發送數據的節點中確定進行數據發送的第三節點,所述第三節點根據保存的所述第二節點已發送數據的長度信息,發送后續數據。
8.一種數據發送系統,其特征在于,所述系統包括 客戶端,用于發送待發送數據;第一節點,用于接收所述客戶端發送的待發送數據,并將該待發送數據同步到至少一個其他節點,接收至少一個其他節點返回的成功接收響應,將該成功接收響應同步到監控節點確定的進行數據發送的第二節點;第二節點,用于接收所述第一節點同步的待發送數據,并向所述第一節點返回成功接收響應,接收到所述第一節點同步的成功接收響應后,將接收到的待發送數據發送到外部接收節點;監控節點,用于確定進行數據發送的第二節點;外部接收節點,用于接收所述第二節點發送的待發送數據。
9.如權利要求8所述的系統,其特征在于,所述監控節點具體用于,接收每個進行數據發送的節點上線后上報的信息,根據接收的信息,及查詢到的每個節點是否宕機的信息,選擇進行數據發送的第二節點。
10.如權利要求8所述的系統,其特征在于,所述系統中, 所述第一節點還用于,向所述客戶端發送成功接收響應,并將成功接收到該待發送數據的每個節點的信息上報監控節點。
11.如權利要求10所述的系統,其特征在于,所述客戶端還用于,判斷在設定的時間長度內是否接收到所述第一節點返回的成功接收響應,當在設定的時間長度內未接收到所述第一節點返回的成功接收響應時,重新發送該待發送數據。
12.如權利要求8所述的系統,其特征在于,所述系統中,所述外部接收節點還用于,在接收成功時,向所述第二節點返回接收成功響應信息;所述第二節點還用于,接收所述外部接收節點發送的接收成功響應信息,并將所述接收成功響應信息同步到該返回成功接收響應的每個其他節點。
13.如權利要求8所述的系統,其特征在于,所述系統中,所述第二節點還用于,記錄已發送數據的長度信息,并將該長度信息同步到該返回成功接收響應的每個其他節點。
14.如權利要求13所述的系統,其特征在于,所述系統中,所述監控節點還用于,識別到該第二節點出現故障時,在保存的每個成功接收該待發送數據的節點中確定進行數據發送的第三節點;所述系統還包括第三節點,用于根據保存的所述第二節點已發送數據的長度信息,發送后續數據。
全文摘要
本發明公開了一種數據發送方法及系統,用以解決現有技術中在大數據量的環境中,數據傳輸可靠性差的問題。該方法接收到客戶端發送的待發送數據的第一節點,將該待發送數據同步到至少一個其他節點,并且在接收到至少一個其他節點返回的成功接收響應后,將成功接收響應同步到控節點確定的進行數據發送的第二節點,第二節點接收到該成功接收響應后,將該待發送數據發送到外部接收節點。由于在本發明實施例中,在進行數據發送的過程中,該待發送數據備份了至少兩份,因此可以有效的保證數據傳輸的可靠性。
文檔編號H04W24/04GK102547809SQ20101060659
公開日2012年7月4日 申請日期2010年12月24日 優先權日2010年12月24日
發明者蘭建明, 孫少陵, 錢嶺, 韓金宇 申請人:中國移動通信集團公司