保證數據交換可靠傳輸的方法
2023-05-02 17:35:51
專利名稱:保證數據交換可靠傳輸的方法
技術領域:
本發明涉及一種保證數據交換系統數據交換可靠傳輸的方法。
背景技術:
電子政務數據交換平臺為不同的系統、不同的數據源之間實現數據交換提供了支持,數據交換平臺中的數據交換系統主要完成具體的數據交換流程的控制,它可以使每個合法用戶將其所要傳輸的數據包安全可靠地傳輸到指定的地方,解決數據的上傳下達、綜合利用等問題。在數據交換系統完成數據交換的過程中,可能會出現系統癱瘓、網絡故障、軟體組件異常等情況,為了使數據交換系統在出現異常的情況下仍能可靠地完成數據傳送,通常,數據交換系統要採用可靠傳輸技術,將傳輸過程中出現的異常情況對數據傳輸的影響減少到最低程度,從而,提高數據交換系統的可靠性。
目前,國內許多大公司在其研製開發的電子政務數據交換平臺中均採用了各自提出的保證數據交換可靠傳輸的機制。例如易達訊網絡科技有限公司開發的致力於為政府、企業的信息化建設提供全面集成服務的網上一站式服務信息系統eStar3(基於網際網路業務流程共享的應用集成系列產品的總稱),通過採用安全可靠的實時信息通訊機制來保證數據交換的安全與質量,通過存儲管理服務保護數據在網絡或系統發生問題時的安全與不丟失;通過壓縮技術使網絡資源得到充分利用,提高網絡傳輸效率;通過對數據發送者和接收者全程監控來保證數據按發送者指定順序傳送,系統複雜而龐大。
東方通科技有限公司開發的中間件產品TongLINK/Q,它是基於消息隊列(Message Queuing)的消息中間件,主要功能是在應用程式之間提供可靠的消息傳送,這些消息可以在不同的網絡協議、不同的計算機系統和不同的應用軟體之間傳遞。TongLINK/Q通過多種機制來保證對網絡帶寬資源的有效利用,如滑動窗口機制、自適應機制等。在TongLINK/Q中消息的發送和接收都通過隊列實現,隊列的可靠性屬性決定了其消息的可靠性屬性,隊列空間的大小和可存放消息的個數由用戶自行定義。但是TongLINK/Q並未為系統故障的恢復提供有效的支持。
深圳黎明網絡公司則針對我國政府電子公文交換的具體需求,開發以XML信息交換技術為核心的iSwitch信息交換機,推出了iSwitch電子公文交換系統,電子公文交換中心處理系統是整個電子公文交換系統的中心樞紐,通過XML信息交換技術實現公文數據的可靠傳輸和交換。該系統在完成電子公文交換的同時,提供公文交換監控工具,可以監控電子公文的交換情況。在具體實現時綜合了B/S和C/S的體系結構之長,保證了數據傳輸的可靠性。而在具體的實現技術上,該系統並未提供完善的可靠性保障。
發明內容
鑑於上述原因,本發明的主要目的是提供一種新型且規範的保證數據交換可靠傳輸的方法。
為實現上述目的,本發明採用以下技術方案一種保證數據交換可靠傳輸的方法,該方法規定數據傳輸按照端到端的傳輸方式進行,所謂端到端的數據傳輸是指數據交換的流程只在進行數據交換的雙方執行,在交換過程中所經過的中間節點只負責消息的轉發,不參與任何的與數據交換有關的流程,具體的方法是A、在數據報文中寫入該數據報文的最終接收者的節點地址;B、每個節點在接收到該數據報文後均對目的地址解析;C、判斷數據報文的最終接收者是否是本節點;D、如果是本節點,則執行數據交換流程;如果不是,則將數據報文發給相應的目的節點,不參與任何數據交換流程;E、重複執行步驟B~D。
本發明提供的保證數據交換可靠傳輸的方法還包括採用消息確認和流量控制機制保證數據交換的可靠傳輸;所述消息確認機制是指發送方每發送一個請求報文,接收方接收後都要向發送方發送相應的響應報文,用於確認請求消息;所述流量控制是指通過數據切片和事務隊列機制,將一組大的數據按照事先協商好的切片大小切分成數個數據切片,按照事務隊列機制傳輸;具體方法包括以下步驟A、系統中某個節點需要與另一個節點進行數據交換時,創建一個新事務,由事務管理整個數據交換流程;該節點首先向目的節點發送一個數據交換請求消息,其中包含數據描述和期望的分片大小信息,事務完成發送操作後便掛起,回到隊列的尾部,等待響應到來後再次分配處理機;B、目的節點接收到請求消息後,也新建一個事務來完成數據交換,該事務首先判斷是否接受該請求,同時比較自己所期望的分片大小和接收到消息中的分片大小信息,取其中較小的值作最終採用的分片大小,連同是否接受請求信息一起作為響應發送給請求節點,之後事務掛起等待再次處理;C、若是請求節點向響應節點發送數據,請求節點在接收到響應報文,在處理機再次為負責該交換過程的事務分配時間時,事務恢復,從響應中提取切片大小信息,使用該值對需要發送的數據進行切片,並在同一個處理周期裡將第一片數據發送給響應節點,事務再次掛起等待;若是請求節點向響應節點請求數據,則響應節點在處理機再次為負責該交換的事務分配時間時,事務恢復,使用比較得出的切片大小值對需要發送的數據進行切片,將第一片數據發送給請求節點,事務再次掛起等待;D、節點接收到數據切片後,在處理機再次輪詢到相應的事務時,將接收到的數據信息和期望的下一個切片信息作為響應消息發送給數據發送方;數據發送方在接收到響應的前提下,當事務再次獲得執行時,發送響應消息中所期望的下一個數據切片,依次循環,直到數據發送完畢。
本發明提供的保證數據交換可靠傳輸的方法還包括採用故障恢復控制保證數據交換的可靠傳輸,具體步驟是A、在數據交換系統的處理流程中,定義一系列的故障恢復點;B、當流程執行到這些故障恢復點時,將當前事務信息保存到文件中;C、系統發生故障則流程回滾到最近的故障恢復點,一旦系統重新啟動之後,便從事務信息文件中讀取出相應的恢復點信息,繼續故障前的執行流程完成數據交換。
本發明提供的保證數據交換可靠傳輸的方法還包括對數據優先級的控制;即,根據所傳輸的數據類型、報文大小並結合應用系統設置的數據優先級,將事務隊列劃分成高、中、一般、低四個優先級當高優先級隊列中有事務時,處理機優先調度進行高優先級事務的處理,低優先級隊列中的事務只有在高優先級隊列內沒有事務的情況下才能得到調度。
本發明提出的數據交換可靠傳輸方法是為實現數據交換系統的數據可靠傳輸而提出的,它通過採用端到端的數據傳輸方法屏蔽中間節點對數據傳輸的影響,防止中間人攻擊的發生,提高數據交換的可靠性;它通過定義完善的消息確認機制,保證消息傳輸的完整流程;通過採用數據分片和事務隊列實現數據交換系統的流量控制,防止進行數據交換的節點由於處理能力和網絡狀況的差別產生的異常,提高系統的可靠性和處理效率;通過事務信息的持久化來實現系統的故障恢復,提高系統的容錯能力,並為進一步實現斷點續傳提供了基礎;對事務隊列進行優先級劃分,保證重要性高的應用能夠得到優先處理,更好地適應電子政務數據交換的需求。
圖1A為本發明發送數據消息確認過程示意1B為本發明請求數據消息確認過程示意2為本發明發送數據傳輸方式各消息報文結構圖3為本發明請求數據傳輸方式各消息報文結構圖4為本發明消息確認和流量控制處理流程示意5為本發明事務隊列優先級調度示意圖具體實施方式
本發明提供的保證數據交換可靠傳輸的方法主要應用於數據交換平臺中的數據交換系統。本發明通過採用端到端的數據傳輸、消息確認、流量控制、故障恢復和數據優先級控制等技術來控制數據交換的過程,保證數據交換的可靠性,支持數據交換平臺數據交換的可靠傳輸。下面我們依次介紹這五方面的內容一、端到端的數據傳輸本發明提出的數據交換可靠傳輸方法規定數據傳輸按照端到端的傳輸方式進行。所謂端到端的數據傳輸是指數據交換的流程只在進行數據交換的雙方執行,在交換過程中所經過的中間節點只負責消息的轉發,不參與任何的與數據交換有關的流程。
具體的方法是1、在數據報文中寫入該數據報文的最終接收者的節點地址;2、每個節點在接收到該數據報文後均對目的地址解析;3、判斷數據報文的最終接收者是否是本節點;4、如果是本節點,則執行數據交換流程;如果不是,則將數據報文發給相應的目的節點,不參與任何數據交換流程;5、重複執行步驟2~4。
本發明採用端到端的數據傳輸方法可以屏蔽中間節點對數據傳輸的影響,有效地防止中間人攻擊的發生,提高數據交換的可靠性。
二、消息確認和流量控制為了保證數據交換的可靠傳輸,本發明在數據交換的整個流程中均採用消息確認和流量控制機制。
在數據交換的流程中,發送方每發送一個請求報文,接收方接收後都要向發送方發送相應的響應報文,用於確認請求消息。如圖1A、圖1B所示,當應用系統1向應用系統2發送數據時,應用系統1先向應用系統2發送數據發送請求報文;應用系統2收到該請求報文後,向應用系統1發送數據發送請求響應報文進行消息確認;應用系統1收到該響應報文後,才向應用系統2發送數據報文;應用系統2收到數據報文後,立即向應用系統1發送數據確認報文,進行消息確認。同理,當應用系統1請求應用系統2發送數據時,應用系統1先向應用系統2發送數據請求報文;應用系統2收到該請求報文後,向應用系統1發送數據請求確認報文;然後,應用系統2向應用系統1發送數據報文;應用系統1收到應用系統2發送的數據報文後,向應用系統2發送數據確認報文,進行消息確認。
為了保證在數據交換過程中能夠可靠地傳輸大數據(如圖像、音樂、圖片等),防止數據丟包,本發明還對數據進行流量控制,即將一個大的數據切割成若干片數據,一片一片地傳輸。具體切片的大小、序號,在發送方、接收方進行消息確認時,雙方協商完畢。
圖2定義了當應用系統1向應用系統2發送數據時,各種消息報文的結構,並為報文結構定義了完整的語義信息。如圖所示,當應用系統1向應用系統2發送數據時,應用系統1向應用系統2發送的數據發送請求報文由消息ID、事務ID、數據媒體類型、數據類型標誌、數據大小、傳輸模式六部分構成。應用系統2向應用系統1發送的數據發送請求響應報文由消息ID、事務ID、數據媒體類型、數據類型標誌、分片大小、已收數據長度六部分構成。應用系統1向應用系統2發送的數據報文由消息ID、事務ID、數據片段的序號和是否最後一幀標誌四部分構成。應用系統2向應用系統1發送的數據確認報文由消息ID、事務ID和確認序號三部分構成。
圖3定義了當應用系統1請求應用系統2發送數據時,各種消息報文的結構,並為報文結構定義了完整的語義信息。如圖所示,當應用系統1請求應用系統2發送數據時,應用系統1向應用系統2發送的數據請求報文由消息ID、事務ID、數據媒體類型、數據類型標誌、傳輸模式、已收數據長度六部分構成。應用系統2向應用系統1發送的數據請求確認報文由消息ID、事務ID、數據媒體類型、數據類型標誌、數據大小、分片大小六部分構成。應用系統2向應用系統1發送的數據報文由消息ID、事務ID、數據片段的序號和是否最後一幀標誌四部分構成。應用系統1向應用系統2發送的數據確認報文由消息ID、事務ID和確認序號三部分構成。
響應信息報文結構和請求消息確認的定義組成了一套比較規範的消息確認機制。
流量控制通過數據切片和事務隊列來實現。數據切片機制要求交換雙方在進行數據交換之前即消息確認時完成數據切片大小的協商,一旦協商完畢,整個數據交換過程全部使用所協商的切片大小進行數據交換。事務隊列實現事務對分片的處理,系統主流程按照配置好的輪詢時間間隔對事務隊列進行輪詢,在每次分到的處理機時間內,事務完成對一個分片的處理,然後掛起等待下一次的處理機時間繼續進行下一個分片的處理。處理流程如圖4所示
1、系統中某個節點需要與另一個節點進行數據交換時,創建一個新事務,由事務管理整個數據交換流程。該節點首先向目的節點發送一個數據交換請求消息,其中包含數據描述和期望的分片大小信息,事務完成發送操作後便掛起,回到隊列的尾部,等待響應到來後再次分配處理機;2、目的節點接收到請求消息後,也新建一個事務來完成數據交換,該事務首先判斷是否接受該請求,同時比較自己所期望的分片大小和接收到消息中的分片大小信息,取其中較小的值作最終採用的分片大小,連同是否接受請求信息一起作為響應發送給請求節點,之後事務掛起等待再次處理;3、若是請求節點向響應節點發送數據,請求節點在接收到響應報文,在處理機再次為負責該交換過程的事務分配時間時,事務恢復,從響應中提取切片大小信息,使用該值對需要發送的數據進行切片,並在同一個處理周期裡將第一片數據發送給響應節點,事務再次掛起等待;若是請求節點向響應節點請求數據,則響應節點在處理機再次為負責該交換的事務分配時間時,事務恢復,使用比較得出的切片大小值對需要發送的數據進行切片,將第一片數據發送給請求節點,事務再次掛起等待;4、節點接收到數據切片後,在處理機再次輪詢到相應的事務時,將接收到的數據信息和期望的下一個切片信息作為響應消息發送給數據發送方;數據發送方在接收到響應的前提下,當事務再次獲得執行時,發送響應消息中所期望的下一個數據切片,依次循環,直到數據發送完畢。
三、故障恢復為降低系統故障對數據交換的影響,保證數據交換的可靠傳輸,本發明還採用了故障恢復技術。具體方法是1、在數據交換系統的處理流程中,定義一系列的故障恢復點;2、當流程執行到這些故障恢復點時,將當前事務信息保存到文件中;3、系統發生故障則流程回滾到最近的故障恢復點,一旦系統重新啟動之後,便從事務信息文件中讀取出相應的恢復點信息,繼續故障前的執行流程完成數據交換。
四、數據優先級為更好地適應電子政務數據交換的需求,使得政務信息中重要性高的數據可以優先進行交換,本發明提出的數據交換可靠傳輸方法採用了劃分數據優先級的策略。為事務隊列定義了四個優先級高、中、一般、低,根據所傳輸的數據類型、報文大小並結合應用系統設置的數據優先級,將事務劃分到不同的優先級隊列中。如圖5所示,當高優先級隊列中有事務時,處理機優先調度進行高優先級事務的處理,低優先級隊列中的事務只有在高優先級隊列內沒有事務的情況下才能得到調度。
本發明提出的數據交換可靠傳輸方法與其它的數據交換可靠傳輸實現機制相比,具有以下特點1、針對更複雜的網絡環境,可以適用於多hop、複雜網絡下的數據傳輸;同時,針對端對端的傳輸過程,為端對端的數據傳輸提供可靠性保障。
2、定義了使用SOAP協議的完整消息確認機制。在每個請求消息的響應中攜帶對請求消息的確認,本技術定義了各種消息響應的規範SOAP報文結構,並為該報文結構定義了完整的語義信息,形成一套比較規範的消息確認機制。SOAP協議位於HTTP協議之上,使用SOAP作為消息確認信息的傳輸協議,使得數據交換過程可以穿透防火牆,提高交換效率。
3、採取數據切片和事務隊列機制對數據交換雙方進行流量控制,交換雙方在建立連接的時候完成數據切片大小的協商,數據根據協商的切片大小進行分片傳輸;同時,為每個分片生成唯一的序列號,數據接收方根據分片序列號完成數據重組。處理機輪詢事務隊列,事務在每次分配的處理機時間內完成一個分片的處理。流量控制的採用在很大程度上解決了數據交換雙方處理速度不匹配的問題,同時提高了系統的處理效率。
4、本發明提出的數據交換可靠傳輸技術還定義了一套完善的故障恢復機制,通過在處理流程中定義一系列的故障恢復點,執行當前信息的持久化操作來保存故障恢復信息。故障恢復的實現在很大程度上提高了系統的可靠性,並為斷點續傳的實現提供了基礎。
5、為事務隊列劃分優先級,進行高優先級事務的優先調度,實現系統資源的高效利用,防止大數據量的應用長期佔用系統資源,同時保證小數據量的應用能夠得到執行,更好地滿足電子政務數據交換的要求。
權利要求
1.一種保證數據交換可靠傳輸的方法,該方法規定數據傳輸按照端到端的傳輸方式進行,所謂端到端的數據傳輸是指數據交換的流程只在進行數據交換的雙方執行,在交換過程中所經過的中間節點只負責消息的轉發,不參與任何的與數據交換有關的流程,具體的方法是A、在數據報文中寫入該數據報文的最終接收者的節點地址;B、每個節點在接收到該數據報文後均對目的地址解析;C、判斷數據報文的最終接收者是否是本節點;D、如果是本節點,則執行數據交換流程;如果不是,則將數據報文發給相應的目的節點,不參與任何數據交換流程;E、重複執行步驟B~D。
2.根據權利要求1所述的保證數據交換可靠傳輸的方法,其特徵在於該方法還包括採用消息確認和流量控制機制保證數據交換的可靠傳輸;所述消息確認機制是指發送方每發送一個請求報文,接收方接收後都要向發送方發送相應的響應報文,用於確認請求消息;所述流量控制是指通過數據切片和事務隊列機制,將一組大的數據按照事先協商好的切片大小切分成數個數據切片,按照事務隊列機制傳輸;具體方法包括以下步驟A、系統中某個節點需要與另一個節點進行數據交換時,創建一個新事務,由事務管理整個數據交換流程;該節點首先向目的節點發送一個數據交換請求消息,其中包含數據描述和期望的分片大小信息,事務完成發送操作後便掛起,回到隊列的尾部,等待響應到來後再次分配處理機;B、目的節點接收到請求消息後,也新建一個事務來完成數據交換,該事務首先判斷是否接受該請求,同時比較自己所期望的分片大小和接收到消息中的分片大小信息,取其中較小的值作最終採用的分片大小,連同是否接受請求信息一起作為響應發送給請求節點,之後事務掛起等待再次處理;C、若是請求節點向響應節點發送數據,請求節點在接收到響應報文,在處理機再次為負責該交換過程的事務分配時間時,事務恢復,從響應中提取切片大小信息,使用該值對需要發送的數據進行切片,並在同一個處理周期裡將第一片數據發送給響應節點,事務再次掛起等待;若是請求節點向響應節點請求數據,則響應節點在處理機再次為負責該交換的事務分配時間時,事務恢復,使用比較得出的切片大小值對需要發送的數據進行切片,將第一片數據發送給請求節點,事務再次掛起等待;D、節點接收到數據切片後,在處理機再次輪詢到相應的事務時,將接收到的數據信息和期望的下一個切片信息作為響應消息發送給數據發送方;數據發送方在接收到響應的前提下,當事務再次獲得執行時,發送響應消息中所期望的下一個數據切片,依次循環,直到數據發送完畢。
3.根據權利要求1或2所述的保證數據交換可靠傳輸的方法,其特徵在於該方法還包括採用故障恢復控制保證數據交換的可靠傳輸,具體步驟是A、在數據交換系統的處理流程中,定義一系列的故障恢復點;B、當流程執行到這些故障恢復點時,將當前事務信息保存到文件中;C、系統發生故障則流程回滾到最近的故障恢復點,一旦系統重新啟動之後,便從事務信息文件中讀取出相應的恢復點信息,繼續故障前的執行流程完成數據交換。
4.根據權利要求3所述的保證數據交換可靠傳輸的方法,其特徵在於該方法還包括對數據優先級的控制;即根據所傳輸的數據類型、報文大小並結合應用系統設置的數據優先級,將事務隊列劃分成高、中、一般、低四個優先級當高優先級隊列中有事務時,處理機優先調度進行高優先級事務的處理,低優先級隊列中的事務只有在高優先級隊列內沒有事務的情況下才能得到調度。
全文摘要
本發明公開了一種數據交換可靠傳輸方法,它是為實現數據交換系統的數據可靠傳輸而提出的,它通過採用端到端的數據傳輸方法屏蔽中間節點對數據傳輸的影響,防止中間人攻擊的發生,提高數據交換的可靠性;它通過定義完善的消息確認機制,實現消息傳輸的完整流程;通過採用數據分片和事務隊列實現數據交換系統的流量控制,防止進行數據交換的節點由於處理能力和網絡狀況的差別產生的異常,提高系統的可靠性和處理效率;通過事務信息的持久化來實現系統的故障恢復,提高系統的容錯能力,並為進一步實現斷點續傳提供了基礎;對事務隊列進行優先級劃分,保證重要性高的應用能夠得到優先處理,更好地適應電子政務數據交換的需求。
文檔編號H04L1/16GK1905518SQ20051008871
公開日2007年1月31日 申請日期2005年7月29日 優先權日2005年7月29日
發明者懷進鵬, 馬曉軒, 林學練, 黃子乘, 王麗鳳, 賀靜 申請人:北京航空航天大學