一種接入點設備與服務器交互的接口通信方法
【專利摘要】一種接入點設備與服務器交互的接口通信方法,基于SOAP協(xié)議和長連接機制實現,接入點設備啟動后主動連接服務器,與服務器之間建立起長連接,接入點設備向服務器發(fā)送周期性狀態(tài)報文,并接收服務器發(fā)送的數據報文,接入點設備向服務器發(fā)送心跳包,保持和服務器之間的長連接,只有在服務器主動斷開連接或者接入點設備的廣域網口斷開時,長連接才會斷開,接入點設備會重新與服務器建立長連接。本發(fā)明的擴展性好,靈活性高,減少了網絡堵塞和響應時間,提高了通信質量,減少了資源消耗。
【專利說明】一種接入點設備與服務器交互的接口通信方法
【技術領域】
[0001]本發(fā)明涉及一種接入點設備與服務器交互的接口通信方法。
【背景技術】
[0002]目前AP(Access Point接入點設備)與服務器接口協(xié)議主要分兩大類:基于TR069等規(guī)范的公共協(xié)議接口和大量的私有協(xié)議接口。TR069協(xié)議是基于SOAP協(xié)議(簡單對象訪問協(xié)議Simple Object Access Protocol)的,具有非常好的擴展性,可維護性,并且在管理大量網絡設備中有很好的表現,但是基于短連接,每次交互結束都會斷開連接,因為基于短連接的機制對服務器負擔相對較小,相對于長連接能夠支持并管理更多的設備,但是當網絡設備較少,并發(fā)數不大的情況下,經常性的TCP (傳輸控制協(xié)議Transmiss1n ControlProtocol)請求和握手過程會降低通信質量,加大網絡資源和設備資源的開銷,這種情況下使用基于長連接的通信接口就顯得非常必要。私有協(xié)議有的支持長連接,但是擴展性,靈活性不足,新增功能比較繁瑣,有的則支持SOAP但是不支持長連接。
【發(fā)明內容】
[0003]本發(fā)明提供一種接入點設備與服務器交互的接口通信方法,基于SOAP協(xié)議和長連接機制實現,擴展性好,靈活性高,減少了網絡堵塞和響應時間,提高了通信質量,減少了資源消耗。
[0004]為了達到上述目的,本發(fā)明提供一種接入點設備與服務器交互的接口通信方法,該方法基于SOAP協(xié)議和長連接機制實現,該方法包含以下內容:
連接機制:接入點設備啟動后主動連接服務器,向服務器發(fā)送連接報文,服務器收到連接報文后,向接入點設備發(fā)送回應報文,接入點設備接收到服務器發(fā)送的回應報文后,設置長連接參數,接入點設備與服務器之間建立起長連接;所述的長連接參數包含:信道空閑時間、心跳包間隔時間和心跳包未回應數;所述的信道空閑時間規(guī)定了信道上無報文交互多長時間后開始發(fā)送心跳包;所述的心跳包間隔時間規(guī)定了兩個心跳包之間間隔的時間;所述的心跳包未回應數規(guī)定了累計多少個心跳包未收到回復,會認為是服務器主動斷開長連接;
報文交互機制:接入點設備向服務器發(fā)送周期性狀態(tài)報文,服務器收到周期性狀態(tài)報文后,向接入點設備發(fā)送狀態(tài)回應報文,并向接入點設備發(fā)送數據報文,接入點設備收到數據報文后,向服務器發(fā)送收到數據回應報文;
保持連接機制:如果接入點設備和服務器之間沒有報文交互的時間超過信道空閑時間,則接入點設備會按照心跳包間隔時間向服務器發(fā)送心跳包,服務器接收到心跳包后,向接入點設備發(fā)送心跳包確認包,以此來保持接入點設備和服務器之間的長連接。
[0005]該方法還包含重新連接機制:如果接入點設備檢測到和服務器之間的長連接斷開,則接入點設備會根據不同的長連接斷開情況,重新與服務器建立長連接。
[0006]在所述的重新連接機制中,長連接斷開情況包含:服務器主動斷開長連接或接入點設備的廣域網接口斷開導致長連接斷開。
[0007]在所述的重新連接機制中,當服務器主動斷開長連接時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置;然后接入點設備向服務器發(fā)送連接報文以重新連接服務器,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數,所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
[0008]在所述的重新連接機制中,當接入點設備的廣域網接口斷開導致長連接斷開時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置,當接入點設備檢測到廣域網接口重新連接上時,接入點設備向服務器發(fā)送重新連接報文,通知服務器本設備已重新連上,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數,所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
[0009]接入點設備和服務器之間所有的交互報文都是基于SOAP協(xié)議。
[0010]在所述的報文交互機制中,若接入點設備接收數據報文出錯,接入點設備與服務器保持長連接,所述接入點設備丟棄錯誤報文且不向服務器發(fā)送收到數據回應報文,服務器未接收到接入點設備發(fā)送的收到數據回應報文時,主動重發(fā)數據報文;若服務器接收周期性狀態(tài)報文出錯時,接入點設備與服務器保持長連接,服務器丟棄錯誤報文且不向接入點設備發(fā)送狀態(tài)回應報文,當接入點設備未接收到服務器發(fā)送的發(fā)送狀態(tài)回應報文時,主動重發(fā)周期性狀態(tài)報文。
[0011]所述的服務器向接入點設備發(fā)送的數據報文包含多種RPC遠程過程調用協(xié)議方法。
[0012]在所述的報文交互機制中,接入點設備按照間隔周期向服務器發(fā)送周期性狀態(tài)報文。
[0013]本發(fā)明基于SOAP協(xié)議和長連接機制實現,擴展性好,靈活性高,減少了網絡堵塞和響應時間,提高了通信質量,減少了資源消耗。
【專利附圖】
【附圖說明】
[0014]圖1是本發(fā)明的一個實施例中,接入點設備和服務器之間交互報文的示意圖。
【具體實施方式】
[0015]以下根據圖1具體說明本發(fā)明的較佳實施例。
[0016]本發(fā)明提供一種接入點設備與服務器交互的接口通信方法,該方法基于SOAP協(xié)議和長連接機制實現,該方法包含以下內容:
連接機制:接入點設備(AP)啟動后主動連接服務器(Server),向服務器發(fā)送連接報文,服務器收到連接報文后,向接入點設備發(fā)送回應報文,接入點設備接收到服務器發(fā)送的回應報文后,設置長連接參數,接入點設備與服務器之間建立起長連接。
[0017]所述的長連接參數包含:信道空閑時間、心跳包間隔時間和心跳包未回應數。
[0018]所述的信道空閑時間規(guī)定了信道上無報文交互多長時間后開始發(fā)送心跳包;
所述的心跳包間隔時間規(guī)定了兩個心跳包之間間隔的時間; 所述的心跳包未回應數規(guī)定了累計多少個心跳包未收到回復,會認為是服務器主動斷開長連接。
[0019]如圖1所示,本實施例中,接入點設備向服務器發(fā)送的連接報文為O BOOTSTRAP和I BOOT報文,服務器發(fā)送給接入點設備的回應報文為InformResponse報文。
[0020]報文交互機制:接入點設備向服務器發(fā)送周期性狀態(tài)報文,服務器收到周期性狀態(tài)報文后,向接入點設備發(fā)送狀態(tài)回應報文,并向接入點設備發(fā)送數據報文,接入點設備收到數據報文后,向服務器發(fā)送收到數據回應報文。
[0021]接入點設備按照間隔周期向服務器發(fā)送周期性狀態(tài)報文,所述的間隔周期周期時間可配置,本實施例中,間隔周期默認為30分種。
[0022]所述的服務器向接入點設備發(fā)送的數據報文包含多種RPC (遠程過程調用協(xié)議Remote Procedure Call)方法,例如恢復出廠設置、重新啟動、獲取參數、修改參數、添加參數、刪除參數等等。
[0023]若接入點設備接收數據報文出錯,接入點設備與服務器保持長連接,所述接入點設備丟棄錯誤報文且不向服務器發(fā)送收到數據回應報文,服務器未接收到接入點設備發(fā)送的收到數據回應報文時,主動重發(fā)數據報文;若服務器接收周期性狀態(tài)報文出錯時,接入點設備與服務器保持長連接,服務器丟棄錯誤報文且不向接入點設備發(fā)送狀態(tài)回應報文,當接入點設備未接收到服務器發(fā)送的發(fā)送狀態(tài)回應報文時,主動重發(fā)周期性狀態(tài)報文。
[0024]如圖1所示,本實施例中,接入點設備向服務器發(fā)送的周期性狀態(tài)報文為2PER1DIC報文,服務器向接入點設備發(fā)送的狀態(tài)回應報文為InformResponse報文,服務器向接入點設備發(fā)送的數據報文為設置參數報文,即,SetParameterValues報文,接入點設備向服務器發(fā)送的數據回應報文為SetParameterValuesResponse報文。
[0025]保持連接機制:如果接入點設備和服務器之間沒有報文交互的時間超過信道空閑時間,則接入點設備會按照心跳包間隔時間向服務器發(fā)送心跳包,服務器接收到心跳包后,向接入點設備發(fā)送心跳包確認包,以此來保持接入點設備和服務器之間的長連接。
[0026]如圖1所示,在本實施例中,接入點設備向服務器發(fā)送的心跳包為KeepAlive報文,服務器向接入點設備發(fā)送的心跳包確認包為Ke印AliveACK報文。
[0027]重新連接機制:如果接入點設備檢測到和服務器之間的長連接斷開,則接入點設備會根據不同的長連接斷開情況,重新與服務器建立長連接。
[0028]長連接斷開情況包含:服務器主動斷開長連接;接入點設備的廣域網(WAN)接口斷開導致長連接斷開。
[0029]當服務器主動斷開長連接時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置,然后接入點設備向服務器發(fā)送連接報文,重新連接服務器,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數(信道空閑時間、心跳包間隔時間和心跳包未回應數),所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
[0030]當接入點設備的廣域網接口斷開導致長連接斷開的時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置,當接入點設備檢測到廣域網接口重新連接上時,接入點設備向服務器發(fā)送重新連接報文,通知服務器本設備已重新連上,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數(信道空閑時間、心跳包間隔時間和心跳包未回應數),所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
[0031]本實施例中,接入點設備向服務器發(fā)送重新連接報文為M RECONETT1N報文。
[0032]本發(fā)明中,接入點設備和服務器之間所有的交互報文都是基于SOAP協(xié)議,服務器和接入點設備之間通過遵循TR069和TR098規(guī)范的SOAP協(xié)議進行交互。遵循TR069協(xié)議定義的所有RPC方法,并支持所有已明確定義的報文。所用到TR069規(guī)范的報文有:0BOOTSTRAP, I BOOT, 2 PER1DIC,M Reboot (TR069協(xié)議中已定義的報文,用于重啟設備),M FactoryReset (TR069協(xié)議中已定義的報文,設備恢復出廠設置)?;赥R069協(xié)議擴展的SOAP報文有:M RECONNECT1N,M CLIENTIN (TR069協(xié)議中有定義擴展報文的事件格式:以“M”開頭,后面接上有意義的英語表示報文作用,M RECONNECT1N報文的作用是通知服務器端設備已重新連接上,M CLIENTIN報文的作用是通知服務器有新的無線終端連接接入點設備)。
[0033]本發(fā)明基于SOAP協(xié)議,并且沿用TR098協(xié)議中關于data_model的定義(接入點設備上報參數和服務器下發(fā)配置都是基于data-model的數據模型),在保證擴展性和靈活性的同時加入長連接的機制。SOAP協(xié)議會使得擴展性非常好,只要符合規(guī)范,有新需求時,在原有的機制框架下擴展新的接口就非常容易,接口的擴展性好可以節(jié)約大量的后續(xù)維護的工作量。而長連接減少了 TCP (傳輸控制協(xié)議Transmiss1n Control Protocol)請求,可以減少網絡的堵塞,后續(xù)請求不需要建立TCP,也不需要TCP握手等過程,可以減少請求的響應時間,當發(fā)生錯誤時,可以在不關閉連接的情況下進行提示。
[0034]盡管本發(fā)明的內容已經通過上述優(yōu)選實施例作了詳細介紹,但應當認識到上述的描述不應被認為是對本發(fā)明的限制。在本領域技術人員閱讀了上述內容后,對于本發(fā)明的多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護范圍應由所附的權利要求來限定。
【權利要求】
1.一種接入點設備與服務器交互的接口通信方法,其特征在于,該方法基于SOAP協(xié)議和長連接機制實現,該方法包含以下內容: 連接機制:接入點設備啟動后主動連接服務器,向服務器發(fā)送連接報文,服務器收到連接報文后,向接入點設備發(fā)送回應報文,接入點設備接收到服務器發(fā)送的回應報文后,設置長連接參數,接入點設備與服務器之間建立起長連接;所述的長連接參數包含:信道空閑時間、心跳包間隔時間和心跳包未回應數;所述的信道空閑時間規(guī)定了信道上無報文交互多長時間后開始發(fā)送心跳包;所述的心跳包間隔時間規(guī)定了兩個心跳包之間間隔的時間;所述的心跳包未回應數規(guī)定了累計多少個心跳包未收到回復,會認為是服務器主動斷開長連接; 報文交互機制:接入點設備向服務器發(fā)送周期性狀態(tài)報文,服務器收到周期性狀態(tài)報文后,向接入點設備發(fā)送狀態(tài)回應報文,并向接入點設備發(fā)送數據報文,接入點設備收到數據報文后,向服務器發(fā)送收到數據回應報文; 保持連接機制:如果接入點設備和服務器之間沒有報文交互的時間超過信道空閑時間,則接入點設備會按照心跳包間隔時間向服務器發(fā)送心跳包,服務器接收到心跳包后,向接入點設備發(fā)送心跳包確認包,以此來保持接入點設備和服務器之間的長連接。
2.如權利要求1所述的接入點設備與服務器交互的接口通信方法,其特征在于,該方法還包含重新連接機制:如果接入點設備檢測到和服務器之間的長連接斷開,則接入點設備會根據不同的長連接斷開情況,重新與服務器建立長連接。
3.如權利要求2所述的接入點設備與服務器交互的接口通信方法,其特征在于,在所述的重新連接機制中,長連接斷開情況包含:服務器主動斷開長連接或接入點設備的廣域網接口斷開導致長連接斷開。
4.如權利要求3所述的接入點設備與服務器交互的接口通信方法,其特征在于,在所述的重新連接機制中,當服務器主動斷開長連接時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置;然后接入點設備向服務器發(fā)送連接報文以重新連接服務器,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數,所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
5.如權利要求3所述的接入點設備與服務器交互的接口通信方法,其特征在于,在所述的重新連接機制中,當接入點設備的廣域網接口斷開導致長連接斷開時,接入點設備停止向服務器發(fā)送周期性狀態(tài)報文和心跳包,并保存接入點設備的當前設置,當接入點設備檢測到廣域網接口重新連接上時,接入點設備向服務器發(fā)送重新連接報文,通知服務器本設備已重新連上,如果接入點設備接收到服務器發(fā)送的回應報文,則設置長連接參數,所述接入點設備與服務器之間重新建立起長連接,根據報文交互機制和保持連接機制,恢復向服務器發(fā)送周期性狀態(tài)報文和心跳包。
6.如權利要求4或5所述的接入點設備與服務器交互的接口通信方法,其特征在于,接入點設備和服務器之間所有的交互報文都是基于SOAP協(xié)議。
7.如權利要求6所述的接入點設備與服務器交互的接口通信方法,其特征在于,在所述的報文交互機制中,若接入點設備接收數據報文出錯,接入點設備與服務器保持長連接,所述接入點設備丟棄錯誤報文且不向服務器發(fā)送收到數據回應報文,服務器未接收到接入點設備發(fā)送的收到數據回應報文時,主動重發(fā)數據報文;若服務器接收周期性狀態(tài)報文出錯時,接入點設備與服務器保持長連接,服務器丟棄錯誤報文且不向接入點設備發(fā)送狀態(tài)回應報文,當接入點設備未接收到服務器發(fā)送的發(fā)送狀態(tài)回應報文時,主動重發(fā)周期性狀態(tài)報文。
8.如權利要求7所述的接入點設備與服務器交互的接口通信方法,其特征在于,所述的服務器向接入點設備發(fā)送的數據報文包含多種RPC遠程過程調用協(xié)議方法。
9.如權利要求8所述的接入點設備與服務器交互的接口通信方法,其特征在于,在所述的報文交互機制中,接入點設備按照間隔周期向服務器發(fā)送周期性狀態(tài)報文。
【文檔編號】H04L29/06GK104468380SQ201410644239
【公開日】2015年3月25日 申請日期:2014年11月14日 優(yōu)先權日:2014年11月14日
【發(fā)明者】杭旭 申請人:上海斐訊數據通信技術有限公司