新四季網

一種跨系統數據及信號傳遞的方法與流程

2023-06-08 18:19:16 4


本發明涉及一種跨系統數據及信號傳遞的方法。



背景技術:

在目前ESB總線結構的並基於SOA面向服務的應用系統而言,數據消息的傳輸中,數據發送端為了快速有效地將數據發送到數據接收端,通常要採取很多措施,例如對待發送的數據進行編碼壓縮或加密編碼,對待發送的數據進行數據緩衝區的分配等處理。一種常見的處理方法是將數據按照重要性或預先確定的權值分類,確定發送優先級,再將優先級不同的數據分配優先等級不同的隊列發送。圖1是一個數據傳輸系統示例圖。圖1中,每一個伺服器都連接著多臺終端,一個終端通過網際網路發送到另一個終端的數據,需要通過與之連接的伺服器發送到數據處理設備,經過數據處理設備的處理髮送到對端的數據處理設備,進而發送到目的終端。圖1中,數據處理設備發送的數據需要經過適當的處理,而非簡單的按序發送。

圖2是圖1所示系統的數據處理設備的數據處理方法原理圖。按照圖2,匯集到數據處理設備的數據通常按照某種通信協議將數據包裝為具體的數據包,所述數據包經過伺服器匯集到數據處理設備,所述數據處理設備的優先級判斷單元按照預先設定的標準判斷所述數據包的優先級,然後將所述數據包送到數據緩衝區組中的相應優先級的數據緩衝區中,最後由所述數據發送單元調度發送。在大部分的數據傳輸系統中,數據發送前的處理,一是如圖2所示將數據包劃分優先級,然後按照優先級的順序發送。如果要壓縮數據包,減少發送的數據量,則要在優先級判斷單元的前面或後面增加一個編碼壓縮單元,將數據包分別編碼壓縮後再按照其優先級分配到所述的優先級隊列。在一個具體的應用中,所述優先級判斷裝置可以拆分為數據包輸入單元和數據包分配單元,而數據發送裝置可以拆分為數據輸出單元和輸出數據緩衝區。

因此現有的跨系統數據及信號傳遞的方法無論是優先級隊列的分配還是數據的編碼壓縮,都是順序進行的,由於數據的調度、壓縮等處理操作消耗的時間較多,使得優先級隊列的串行處理產生的延遲導致物理鏈路的大量傳輸資源要處理重複編碼的數據,並且大量相同類型的數據和信號要重複的處理。這樣,不但使得一些優先級較低數據包的發送延遲較大,即使對於優先級較高的數據來說,也可能導致數據發送的延遲,並且ESB企業中線結構中的每一個子 系統都要承載多次的同新握手,直接消耗了系統資源以及導致了響應延遲。

發明方案

本發明要解決的技術問題在於提供一種數據發送延遲較低的並且高效的支持超大規模並發響應的跨系統數據及信號傳遞的方法。

本發明提供的跨系統數據及信號傳遞的方法,包括:

設置處理數據信號的線程池,該線程池處理系統間數據的發送和接收;

所述線程池中集合了多個數據包處理線程;設置信號類型適配程序,根據已有的信號類型資料庫,判斷信號類型。

將所述數據包分別輸入多個數據存儲區或數據緩衝區,使每個數據緩衝區對應一個數據包處理線程;將所述數據包處理線程處理對應數據緩衝區中的數據包,按照對數據包的操作設置數據包處理線程,並且按照對數據包的操作將所述數據分別輸入到相應的數據存儲區。

利用上述的信號類型適配程序,將所述數據存儲區或緩衝區中的數據按照類型進行再編碼;將編碼後的數據通過任何的通信協議進行廣播傳送。

設置多個數據包處理線程;接收數據包,將所述數據包分別輸入多個數據緩衝區,使每個數據緩衝區對應一個數據包處理線程;利用所述數據包處理線程處理對應數據緩衝區中的數據包;將處理後的數據包送到輸出數據緩衝區中發送。

將處理後的數據包送到輸出數據緩衝區中發送。

其中,按照對數據包的操作設置數據包處理線程,以及,按照對數據包的操作將所述數據分別輸入到相應的數據緩衝區。

或者,按照數據包發送的目的地址設置數據包處理線程,以及,按照數據包的目的地址將所述數據包分別輸入到相應的數據緩衝區。

所述目的地址包括目的IP位址和目的埠號。

還可以按照數據包優先級的級數設置數據包處理線程,以及,按照數據包的優先級將所述數據包分別輸入到相應的數據緩衝區。

所述方法還包括:設置多個數據包分配線程,用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。

所述方法還包括:設置多個數據包發送線程,用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。

本發明提供的數據發送裝置,包括數據包輸入單元、數據包分配單元、數據緩衝區組、數據輸出單元和輸出數據緩衝區,其特徵在於還包括:第一線程存儲單元,用於存儲預先設置的多個數據包處理線程,所述數據包處理線程與所述數據緩衝區一一對應;

所述數據包分配單元,從所述數據包輸入單元接收數據包,將所述數據包分別輸入多個數據緩衝區;所述數據輸出單元,將所述數據包處理線程處理後的數據包送到所述輸出數據緩衝區中發送。

其中,按照對數據包的操作設置數據包處理線程,以及,按照對數據包的操作將所述數據分別輸入到相應的數據緩衝區。

或者,按照數據包發送的目的地址設置數據包處理線程,以及,按照數據包的目的地址將所述數據包分別輸入到相應的數據緩衝區。

所述目的地址包括目的IP位址和目的埠號。

還可以按照數據包優先級的級數設置數據包處理線程,以及,按照數據包的優先級將所述數據包分別輸入到相應的數據緩衝區。

所述裝置還包括:用於存儲多個數據包分配線程的第二線程存儲單元,所述數據包分配線程用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。

所述裝置還包括:用於存儲多個數據包發送線程的第三線程存儲單元,所述數據包發送線程用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。

由於本發明設置多個數據包處理線程,使每個數據緩衝區對應一個數據包處理線程,使得能夠利用所述數據包處理線程處理對應數據緩衝區中的數據包,由於線程具有並發處理的特性,能夠充分利用系統CPU資源處理數據包,因此能夠最大限度地提高數據包處理和數據包發送的效率,具有較低的數據發送延遲。

更進一步,由於本發明可以按照對數據包的操作設置數據包處理線程,或者按照數據包發送的目的地址設置數據包處理線程,或者按照數據包優先級的級數設置數據包處理線程,上述方案的單獨或組合使用,不但使本發明更具有應用的靈活性,還能夠更充分的利用系統CPU和存儲資源,進一步提高數據包處理的效率。

另外,本發明採取的設置多個數據包分配線程,以及為所述數據包處理線 程設置多個與所述子數據緩衝區對應的子線程,和設置多個數據包發送線程的改進方案,更能夠幫助促進系統資源的更充分的利用,從而最大限度地提高系統的數據傳輸性能。

附圖說明

圖1是一個數據傳輸系統示例圖;

圖2是圖1所示系統的數據處理設備的數據處理方法原理圖;

圖3是本發明所述跨系統數據及信號傳遞的方法的一個實施例的流程圖;

圖4是本發明一個實施例的數據包處理線程與數據緩衝區的關係圖;

圖5為本發明的實施例採用的數據包分配線程工作原理圖;

圖6是本發明所述數據發送方法的一個實施例的流程圖;

圖7是本發明所述數據發送裝置的第一實施例框圖;

圖8是本發明所述數據發送裝置的第二實施例框圖;

圖9是本發明所述數據發送裝置的第三實施例框圖。

具體實施方式

參考圖2,按照傳統方法處理數據包,數據包的發送延時幾乎是不可避免的,首先,數據包按照優先級輸入相應數據緩衝區的判斷要逐個進行;其次,從數據緩衝區中調度出來的數據包無論是否進行壓縮,都要按照優先級的原則發送或者混合編碼發送;延遲的主要原因是順序或串行的處理方式導致的。

本發明採用多線程處理的方式,充分利用系統的資源並行處理待發送的數據包,從而能夠減少數據發送的延遲。具體的實施例可以參考圖3。按照圖3,為了實現對數據包的並發處理,需要預先設置多個數據包處理線程,當所述設置的線程的個數與要處理的任務數量相適應時,能夠充分利用系統的資源。在本實施例中,由於要處理的數據包存儲在不同的數據緩衝區中,因此預先設置的數據包處理線程的個數與數據緩衝區的個數相同。事實上,所述數據包處理線程的個數與數據緩衝區的個數不相同,使一個數據包處理線程處理兩個數據緩衝區的數據包,或者,使二個數據包處理線程處理一個數據緩衝區的數據包,等等,也能夠實現本發明。

以所述預先設置的多個數據包處理線程為基礎,就可以在步驟31接收數據包,然後在步驟32將所述接受大數據包分別輸入多個數據緩衝區中對應數據緩衝區,使每個數據緩衝區對應一個數據包處理線程;最後在步驟33由所述數據包處理線程處理其對應的隊列中的數據包。在本例中,為了提高數據包的 發送效率,將具有相同目的地址的數據包採用同一個的數據包發送線程處理,因此,按照數據包發送的目的地址設置數據包處理線程,以及,按照數據包的目的地址將所述數據包分別輸入到相應的隊列。

由於緩衝區的最本質的任務是暫存等待處理的數據,因此,其設置的關鍵在於兼顧使用的靈活性、效率以及數據處理的需求,因此緩衝區的數量和每個緩衝區的容量應當根據系統的數據處理需求設置,例如,當系統的突發數據量較少時,每個緩衝區的容量可以小一些,數量也可以少一些;而在數據的種類或等級較多時,緩衝區的數量可以多一些,此時緩衝區的容量要根據突發數據量或數據的平均暫存時間設置,等等。因此,本實施例設置兩個以上的緩衝區。

其次,為了有效使用緩衝區,使緩衝區之間具有獨立和組合雙重性質,需要要對所述多個緩衝區進行有效的管理。本實施例將所述緩衝區組織成一個環形隊列(在本發明的另一個實施例中,將所述緩衝區組織成一個先進先出隊列),因此在本步驟還設置用於指示和標識所述緩衝區的數據表,用於對所述緩衝區進行管理。在所述數據表中至少設置用於標識緩衝區的名稱欄位,用於作為指向該緩衝區的地址指針欄位,以及指向所述緩衝區當前單元的、用於管理所述緩衝區的存儲單元欄位。在本發明的另外的實施例中,數據表設置為兩個,分別用於緩衝區的靜態和動態管理。實際上,將所述緩衝區組織成一個隊列進行管理也是通過對所述數據表的操作實現的。

當所述緩衝區正常使用時,按照預先設定的使用條件或數據處理的條件對緩衝區進行使用和管理。所述緩衝區的使用和管理時分不開的,因此要判斷所述緩衝區是否滿足數據處理的條件,如果滿足,就要對所述緩衝區進行數據處理,以及利用所述數據表對所述緩衝區進行管理,否則繼續其它的數據處理。

在通常的通信協議規定中,用於包裝數據的數據結構通常有發出數據的源終端和接收數據的目的終端的地址,以使終端能夠正確接收數據以及進行各種反饋。例如,IP協議規定的IP數據包,TCP協議規定的TCP數據包,UDP協議規定的UDP數據包,儘管它們由於不同的數據傳輸目的而設置,具有不同的結構,但是在數據包中,例如在包頭中,都記載有源地址和目的地址等信息。本實施例涉及的數據包,其中記載的目的地址就包括目的IP位址和目的埠號兩部分。因此,本實施例採用的數據緩衝區的個數與其涉及的目的地址的組數是相同的。例如,應用本實施例的數據處理設備涉及或連接著9個其它的能夠進行數據包收發的數據處理設備,因此,這十個數據處理設備中的任意一個, 都以其它9個數據處理設備作為目的端點,因此,對應設置的數據緩衝區的個數也是9個,每一個數據處理設備對應其中的一個數據緩衝區。在本實施例中,一個數據處理設備及其連接的所有終端的地址被視為相同的目的地址,這樣便於採用一個數據緩衝區處理到相同目的地數據處理設備的數據包。實際上,按照二個數據處理設備對應一個數據緩衝區,進而對應一個數據包處理線程的方法設置所述數據包處理線程,或者按照一個數據處理設備對應二個數據緩衝區,進而對應二個數據包處理線程的方法設置所述數據包處理線程,都可以實現本發明的思想。

在另外的實施例中,所述的數據緩衝區也可以是一組,這樣可以增加針對一個數據處理設備的數據包處理的靈活性。即,所述數據緩衝區包括多個並列的子數據緩衝區,同時,為所述數據包處理線程設置多個與所述子數據緩衝區對應的子線程,用於處理所述子數據緩衝區中的數據。實際中,每一個數據緩衝區需要設置多少個子數據緩衝區,以及是否需要設置子數據緩衝區根據實際的需要確定,例如目的數據處理裝置連接有5個終端,就可能在所述數據處理裝置對應的數據緩衝區中設置5個並列的子數據緩衝區,而另一個數據處理裝置連接有10個終端,就有可能在其對應的數據緩衝區中設置10個並列的子數據緩衝區。相應的,所述子數據緩衝區對應的子線程也要根據操作的需要預先設置。同理,也可以多個終端對應一個子數據緩衝區,進而對應一個子線程,或者,一個終端的數據包由於操作的不同等因素,而使一個終端對應多個子數據緩衝區,進而對應多個子線程。

需要指出的是,所述數據包處理線程及子線程的個數受系統內存空間大小的約束,實際中,可以通過隔離所述數據包處理線程的內存空間的方法輔助設置數據包處理線程或子線程,例如為一個具體的線程或子線程配置內存空間的地址範圍或標誌來實現所述隔離。

按照數據包的目的地址設置數據包處理線程只是實現數據包並發及並行處理的一種方式,在本發明另外的實施例中,按照對數據包的操作設置數據包處理線程,以及,按照對數據包的操作將所述數據分別輸入到相應的隊列,也是其中的一種方式。也就是說,劃分對數據包的不同操作,進行相同操作的數據包採用相同的線程處理,不同的操作對應不同的線程。在該實施例中,將數據包的處理分為拆包、數據轉換、編碼壓縮三個操作,其中,拆包是將接收到的IP數據包中的目的地址、目的埠號、具體的數據等等取出;所述數據轉 換是將上一步驟得到的有意義的數據轉換為便於壓縮編碼的無意義的數據;所述編碼壓縮是對轉換後的數據進行壓縮編碼,生成具體的傳輸數據。參考圖4。接收到的數據包首先在第一數據緩衝區中由線程1完成拆包操作,拆包後的數據被線程1送到第二數據緩衝區;所述第二數據緩衝區中的數據由線程2完成數據轉換操作,轉換後的數據被線程2送到第三數據緩衝區;線程3對所述第三數據緩衝區中的數據完成編碼壓縮後輸出。

根據常識可知,根據數據緩衝區的數據的不同,每一個數據緩衝區實際上可能是由具有更小存儲單元組成的串行存儲單元隊列,或者由較小存儲單元並列組成的空間更大的存儲單元。在本實施例中,這些數據緩衝區具有串行關係,而在圖3所示的實施例中,所述數據緩衝區具有並行的關係,對於本實施例來說,儘管物理上為串行關係,但在數據處理時確是多個線程構成的並行處理關係。

在本發明的第三個實施例中,按照數據包優先級的級數設置數據包處理線程,以及,按照數據包的優先級將所述數據包分別輸入到相應的隊列。該實施例在涉及服務質量(QoS)保證的傳輸中有重要意義。由於數據包具有傳輸效率的約定,因此,為不同終端或不同用戶的數據包設置優先級,以保證該數據包的傳輸效率。數據包傳輸效率的實現,一種措施是保證數據傳輸的優先,在本實施例中,體現的是數據處理的優先。因此,根據數據包具有的優先級,將優先級分組,即將所述數據包劃分為若干個等級,數據緩衝區的設置與所述等級相對應,在設置數據包處理線程時,使數據包處理線程的個數與所述數據緩衝區的個數相同,由於不同數據緩衝區中的數據包的優先等級不同,本實施例中,為優先等級高的數據緩衝區設置的數據包處理線程分配較多的系統資源,例如較長的CPU(中央處理器)的時間片,從而使優先等級高的數據緩衝區對應的線程佔有較多的CPU資源處理數據緩衝區中的數據包。

需要指出的是,在本發明的方法具體實施時,上述數據包處理線程的設置方案可以混合採用,例如,按優先級設置與按目的地址設置的方式就可以混合在一起,比如,目的地址相同的數據包,優先級可能不同,因此可以考慮將一個目的數據處理設備對應的數據緩衝區劃分為多個優先等級不同的子數據緩衝區,這樣能夠方便數據包輸出是按照優先級調度。同理,按優先級設置與按對數據包的操作設置的方式也可以混合在一起,在保證操作順序的前提下,需要較長時間處理的數據部分可以獲得高優先級的處理,從而實現整體數據包處 理過程中的協調。等等。

例如,本實施例中,數據包的優先級為5級,分別為a、b、c、d、e,將其分為三組,即三個等級,分別為A、B、C,其中,級別a、b對應等級A,級別c、d對應等級B,級別e對應等級C,為等級A、B、C設置的數據包處理線程分別為線程A、線程B、線程C,線程A佔用的CPU時間片最大,而線程C佔用的CPU時間片最小,從而保證對級別為a、b的數據包處理的速度最快,能夠優先處理完畢並通過發送數據緩衝區優先發送。在本實施例中,所述數據緩衝區物理上的關係為並行關係。

在上面提到的實施例中,可以更進一步的改進,將每一個數據緩衝區分為兩部分,第一部分用於存儲待處理的數據包,第二部分用於存儲處理後的數據包。上面所述數據包處理線程對應的是第一部分,而第二部分需要後續的線程處理,或者設置單獨的線程處理。

更進一步,對上述實施例還可以採用下述更進一步的改進:

1、將所述數據緩衝區設置為多個子數據緩衝區,所述子數據緩衝區物理上可以如前文所述的並行關係或串行關係,但是由於並行處理,其之間的關係實質上為並列關係。所述並列關係體現在為所述數據包處理線程設置多個與所述子數據緩衝區對應的子線程,這些子線程用於並行或並發處理所述子數據緩衝區中的數據包。

2、設置多個數據包分配線程,用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。這裡所述數據包分配線程具有相同的操作和功能,可以與上述提到的任何一個具體實施例結合起來處理數據包進入數據緩衝區前的分配數據緩衝區的處理。參考圖5,接收到的數據包首先被送入到輸入數據緩衝區中,並發操作的多個數據包分配線程從所述輸入數據緩衝區取出數據包進行判斷或其他規定的操作,進而將所述處理完畢的數據送入到相應的數據緩衝區中。或者,還可以採用另外的處理方式,首先採用一個數據包分配線程處理接收到的數據包,此時,其它數據包分配線程的CPU資源釋放給系統的其它線程使用,當一個數據包分配線程不足以處理接收到的數據包時,再啟動其它的數據包分配線程,從而通過線程的按需使用,實現系統資源的合理共享。

3、設置多個數據包發送線程,用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。在具有多個數據發送通道的前提下,設置多個數據包發送進 程能夠加快數據包的發送速度。與該思想相對應,可以將輸出數據緩衝區設置為多個並列的子緩衝區,以與多個數據包發送線程對應。在數據包發送過程中,也可以通過線程的按需使用,實現系統資源的合理共享。即,先採用一個數據包發送線程發送輸出緩衝區中的數據包,其它數據包發送線程的CPU資源釋放給系統的其它線程使用,當一個數據包發送線程不足以發送所述輸出數據緩衝區中的數據包時,再啟動其它的數據包發送線程發送數據包。

圖6是本發明所述數據發送方法的一個實施例的流程圖。圖6所示實施例包括4個步驟,同樣,為了實現圖4所示實施例,也需要預先設置多個數據包處理線程。在本實施例中,預先設置的數據包處理線程的個數與數據緩衝區的個數相同。同樣,所述數據包處理線程的個數與數據緩衝區的個數不相同,使一個數據包處理線程處理兩個數據緩衝區的數據包,或者,使二個數據包處理線程處理一個數據緩衝區的數據包等等,也能夠實現本發明。

按照圖6,首先在步驟61接收數據包,然後在步驟62將所述接受大數據包分別輸入多個數據緩衝區中對應數據緩衝區,使每個數據緩衝區對應一個數據包處理線程;在步驟63由所述數據包處理線程處理其對應的隊列中的數據包,最後在步驟64將處理後的數據包送到輸出數據緩衝區中,由後續的進程調度發送。

在本例中,為了提高數據包的發送效率,將具有相同目的地址的數據包採用同一個的數據包發送線程處理,因此,按照數據包發送的目的地址設置數據包處理線程,以及,按照數據包的目的地址將所述數據包分別輸入到相應的隊列。

所述的目的地址包括目的IP位址和目的埠號兩部分。通過接收到的要發送的數據包中的目的地址,將發送到同一個數據處理設備的數據包暫存到同一個數據緩衝區中,經過處理後,例如編碼壓縮,以新的數據包發送到目的數據處理設備,由該數據處理設備解碼解壓縮後再逐步分發到目的終端(可能經過多個中間節點)。

在本發明另外的實施例中,按照對數據包的操作設置數據包處理線程,以及,按照對數據包的操作將所述數據分別輸入到相應的數據緩衝區。即,劃分對數據包的不同操作,使進行相同操作的數據包採用相同的線程處理,不同的操作對應不同的線程。

在本發明的第三個實施例中,按照數據包優先級的級數設置數據包處理線 程,以及,按照數據包的優先級將所述數據包分別輸入到相應的隊列。

上述數據包處理線程的設置方案可以混合採用,例如,按優先級設置與按目的地址設置的方式就可以混合在一起,或者,按優先級設置與按對數據包的操作設置的方式也可以混合在一起,等等。

在上面提到的實施例中,可以更進一步的改進,將每一個數據緩衝區分為兩部分,第一部分用於存儲待處理的數據包,第二部分用於存儲處理後的數據包。上面所述數據包處理線程對應的是第一部分,而第二部分需要後續的線程處理,或者設置單獨的線程處理。

更進一步,對上述實施例還可以採用下述更進一步的改進:

1、將所述數據緩衝區實質為多個子數據緩衝區,並且為所述數據包處理線程設置多個與所述子數據緩衝區對應的子線程,這些子線程用於並行或並發處理所述子數據緩衝區中的數據包。

2、設置多個數據包分配線程,用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。這裡所述數據包分配線程具有相同的操作和功能,可以與上述提到的任何一個具體實施例結合起來處理數據包進入數據緩衝區前的分配數據緩衝區的處理。

3、設置多個數據包發送線程,用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。在具有多個數據發送通道的前提下,設置多個數據包發送進程能夠加快數據包的發送速度。

以圖6為例,由於本發明所述的數據發送方法中主要包括了跨系統數據及信號傳遞的方法,且所述跨系統數據及信號傳遞的方法前文已經有詳細的說明,因此,有關本發明所述的數據發送方法的實施例的詳細內容可以參考前文。

圖7是本發明所述數據發送裝置的第一實施例框圖。圖7所示的數據發送裝置,包括數據包輸入單元71、數據包分配單元72、數據緩衝區組73、數據包輸出單元75和輸出數據緩衝區76,以及第一線程存儲單元74,用於存儲預先設置的多個數據包處理線程,所述數據包處理線程與所述數據緩衝區組73中的數據緩衝區一一對應;

所述數據包分配單元72,從所述數據包輸入單元71接收數據包,根據預先設定的條件判斷,將所述數據包分別輸入數據緩衝區組73中的多個數據緩衝區;所述數據輸出單元75給出通知系統啟動第一線程存儲單元74中的相應線程處理所述數據緩衝區中的數據包,並將處理後的數據包送到所述輸出數據 緩衝區76中發送。

在圖7所示實施例中,對數據緩衝區組73中的數據緩衝區的監控以及通知系統啟動第一線程存儲單元74中的相應線程由數據輸出單元75完成,然而在另外的實施例中,這些操作由數據包分配單元72完成,或者由系統的另外線程完成,此時,所述數據輸出單元75僅僅用於處理後的數據打包以及將打包後的數據包向輸出數據緩衝區76中調度。

本實施例中,按照數據包發送的目的地址設置數據包處理線程,以及,按照數據包的目的地址將所述數據包分別輸入到相應的數據緩衝區。所述目的地址包括目的IP位址和目的埠號。在另外的實施例中,也可以按照對數據包的操作設置數據包處理線程,以及,按照對數據包的操作將所述數據分別輸入到相應的數據緩衝區。或者按照數據包優先級的級數設置數據包處理線程,以及,按照數據包的優先級將所述數據包分別輸入到相應的數據緩衝區。

上述數據包處理線程的設置方案可以混合採用,例如,按優先級設置與按目的地址設置的方式就可以混合在一起,比如,目的地址相同的數據包,優先級可能不同,因此可以考慮將一個目的數據處理設備對應的數據緩衝區劃分為多個優先等級不同的子數據緩衝區,這樣能夠方便數據包輸出是按照優先級調度。等等。

同樣,對上述裝置的實施例還可以採用下述更進一步的改進:

1、將所述數據緩衝區設置為多個子數據緩衝區,所述並列關係體現在為所述數據包處理線程設置多個與所述子數據緩衝區對應的子線程,這些子線程用於並行或並發處理所述子數據緩衝區中的數據包。

2、設置多個數據包分配線程,用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。

3、設置多個數據包發送線程,用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。這是在具有多個數據發送通道的前提下的改進方案,設置多個數據包發送進程能夠加快數據包的發送速度。同樣,也可以將輸出數據緩衝區設置為多個並列的子緩衝區,以與多個數據包發送線程對應。在數據包發送過程中,也可以通過線程的按需使用,實現系統資源的合理共享。即,先採用一個數據包發送線程發送輸出緩衝區中的數據包,其它數據包發送線程的CPU資源釋放給系統的其它線程使用,當一個數據包發送線程不足以發送所述輸出數據緩衝區中的數據包時,再啟動其它的數據包發送線程發送數據包

圖8示出了一個改進的方案,圖8所示的是本發明所述數據發送裝置的第二實施例框圖。與圖7不同的是,圖8所示裝置還包括一個用於存儲多個數據包分配線程的第二線程存儲單元77,所述數據包分配線程用於判斷接收到的數據包歸屬的數據緩衝區,以及將所判斷的數據包發送到相應的數據緩衝區。

圖9示出了另一個改進的方案,圖9所示的是本發明所述數據發送裝置的第三實施例框圖。與圖8不同的是,圖9所示裝置還包括用於存儲多個數據包發送線程的第三線程存儲單元78,所述數據包發送線程用於將輸出數據緩衝區中的數據包通過不同的數據通道發送。由於本實施例的具體實施細節在前文已經有詳細的表述,在此不再詳述。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀