System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于多模態數據傳輸,特別涉及一種多模態數據傳輸方法、系統和裝置。
技術介紹
1、sse(server-sent?events),是基于http協議的一種服務器推送技術,能夠實現服務器主動向客戶端實時推送數據。通過建立持久連接,服務器能夠直接向客戶端發送數據,無需等待客戶端請求。然而sse協議設計之初主要是為了傳輸文本數據,因此它在處理二進制數據傳輸方面存在多方面的限制。第一、sse僅支持文本數據流:sse協議規定服務器發送的數據必須是文本格式,這意味著二進制數據(如圖像、視頻等)不能直接通過sse進行傳輸。第二、數據編碼問題:為了通過sse傳輸二進制數據,必須先將二進制數據轉換為文本格式,如使用base64編碼。這種轉換會增加數據的大小,從而增加傳輸的負擔。第三、性能問題:由于二進制數據需要轉換為文本格式,這會導致數據傳輸效率降低,特別是在傳輸大文件或高頻率的數據流時,這種性能問題尤為明顯。第四、解碼復雜性、客戶端接收到編碼后的二進制數據后,需要對其進行解碼才能還原為原始的二進制格式,這增加了客戶端的處理復雜性和延遲。
2、隨著人工智能技術的飛速發展,特別是以chatgpt為代表的大型語言模型的出現,在處理純文本的ai問答場景中,sse協議提供了一種高效、低延遲的數據推送方式,與這些場景的需求完美契合。sse協議的單向通信特性,使得服務器能夠主動、持續地向客戶端發送最新的數據,而無需客戶端不斷地輪詢請求,從而顯著提高了應用的響應速度和用戶體驗。然而,隨著ai技術的不斷演進,下一代ai正朝著多模態交互的方向發
技術實現思路
1、為了解決上述技術問題,本專利技術提出了一種多模態數據傳輸方法、系統和裝置。根據實時網絡狀態選擇最佳傳輸方式,提高傳輸效率,減少了服務器和客戶端的負載,提高了系統的穩定性。
2、為實現上述目的,本專利技術采用以下技術方案:
3、一種多模態數據傳輸方法,包括以下步驟:
4、接收來自客戶端的連接請求;
5、根據連接請求組裝多模態數據得到待發送的數據序列;組裝的過程為:對需要拼接的多模態數據分別進行動態閾值判斷得到編碼數據和云端地址;將不需拼接的多模態數據、編碼數據和云端地址拼接成待發送的數據序列;
6、將所述數據序列切割成多個數據片段后得到最終發送的數據數組;
7、使用不同的請求頭標注所述數據數組的不同數據類型;
8、為每個數據片段分配唯一的標識符后將數據數組發送至客戶端。
9、進一步的,所述方法還包括:
10、客戶端在接收到發送的數據數組之后,利用所述標識符進行數據重排,同時根據請求頭解析數據類型;
11、利用排序后的數據片段,按照預定的重組邏輯將數據片段組裝成完整的數據單元。
12、進一步的,所述客戶端在接收到發送的數據數組之后還包括:構建重組數據緩沖區;所述數據緩沖區用于暫存從服務器接收到的數據片段。
13、進一步的,在組裝成完整的數據單元之后,還包括對所述數據單元進行完整性檢查,如果檢測到數據缺失或者錯誤,觸發重傳請求,使用標識符定位服務器數據緩沖區需要重傳的數據片段。
14、進一步的,所述對需要拼接的多模態數據分別進行動態閾值判斷得到編碼數據和云端地址的過程包括:
15、對需要拼接的多模態數據轉換成二進制數據,以及根據當前的網絡狀態設置基礎閾值;
16、如果二進制數據的大小低于所述基礎閾值,則對二進制數據進行base64編碼得到編碼數據;
17、如果二進制數據的大小高于所述基礎閾值,則將二進制數據進行云存儲,獲取對應的云端地址。
18、進一步的,所述基礎閾值確定的公式為:t_base=k*f;
19、其中,t_base為基礎閾值;k為閾值系數;f為多模態數據的字節數。
20、進一步的,所述方法還包括根據客戶端網速、服務器占用率和歷史傳輸效率動態調整基礎閾值;
21、調整的基礎閾值的計算方法為:
22、t_adjusted=t_base+α*c+β*(1-s)+γ*h;
23、其中,t_adjusted為調整后的基礎閾值;c為客戶端網速;α為客戶端網速的權重系數;s為服務器占用率;β為服務器占用率的權重系數;h為歷史傳輸效率;γ為歷史傳輸效率的權重系數;且α+β+γ=1。
24、進一步的,將所述數據序列切割成多個數據片段的過程包括:
25、設定最小數據塊大小mbs和最大數據塊大小mxs;計算網絡環境狀態nes系數ntc:
26、ntc?=?(w1?*?(1?/?(1?+?latency))?+?w2?*?(bandwidth?/?max?bandwidth)?+w3?*?(1?-?packet?loss?rate));
27、其中,latency為網絡延遲;bandwidth為帶寬;max?bandwidth為預設最大帶寬;packet?loss?rate為丟包率;w1為網絡延遲的權重系數;w2為帶寬的權重系數;w3為丟包率的權重系數;且w1+w2+w3=1。
28、根據網絡環境狀態nes系數ntc調整分塊大小bs;
29、其中,bs=mbs+(mxs?-?mbs)*ntc;
30、將數據塊整體大小gds劃分為n個大小為bs的數據塊;為每個數據塊分配唯一的編號bn,bn為遞增的序列號1至n。
31、本專利技術還提出了一種多模態數據傳輸系統,包括接收模塊、組裝模塊、切割模塊、標注模塊和發送模塊;
32、所述接收模塊用于接收來自客戶端的連接請求;
33、所述組裝模塊用于根據連接請求組裝多模態數據得到待發送的數據序列;組裝的過程為:對需要拼接的多模態數據分別進行動態閾值判斷得到編碼數據和云端地址;將不需拼接的多模態數據、編碼數據和云端地址拼接成待發送的數據序列;
34、所述切割模塊用于將所述數據序列切割成多個數據片段后得到最終發送的數據數組;
35、所述標注模塊用于使用不同的請求頭標注所述數據數組的不同數據類型;
36、所述發送模塊用于為每個數據片段分配唯一的標識符后將數據數組發送至客戶端。
37、本專利技術還提出了一種多模態數據傳輸裝置,包括服務器和客戶端;
38、所述服務器用于接收來自客戶端的連接請求;根據連接請求組裝多模態數據得到待發送的數據序列;組裝的過程為:對需要拼接的多模態數據分別進行動態閾值判斷得到編碼數據和云端地址;將不需拼接的多模態數據、編碼數據和云端地址拼接成待發送的數據序列;將所述數據序列切割成多個數據片段本文檔來自技高網...
【技術保護點】
1.一種多模態數據傳輸方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種多模態數據傳輸方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的一種多模態數據傳輸方法,其特征在于,所述客戶端在接收到發送的數據數組之后還包括:構建重組數據緩沖區;所述數據緩沖區用于暫存從服務器接收到的數據片段。
4.根據權利要求3所述的一種多模態數據傳輸方法,其特征在于,在組裝成完整的數據單元之后,還包括對所述數據單元進行完整性檢查,如果檢測到數據缺失或者錯誤,觸發重傳請求,使用標識符定位服務器數據緩沖區需要重傳的數據片段。
5.根據權利要求1所述的一種多模態數據傳輸方法,其特征在于,所述對需要拼接的多模態數據分別進行動態閾值判斷得到編碼數據和云端地址的過程包括:
6.根據權利要求5所述的一種多模態數據傳輸方法,其特征在于,所述基礎閾值確定的公式為:T_base=K*F;
7.根據權利要求6所述的一種多模態數據傳輸方法,其特征在于,所述方法還包括根據客戶端網速、服務器占用率和歷史傳輸效率動態調整基礎閾值;
< ...【技術特征摘要】
1.一種多模態數據傳輸方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種多模態數據傳輸方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的一種多模態數據傳輸方法,其特征在于,所述客戶端在接收到發送的數據數組之后還包括:構建重組數據緩沖區;所述數據緩沖區用于暫存從服務器接收到的數據片段。
4.根據權利要求3所述的一種多模態數據傳輸方法,其特征在于,在組裝成完整的數據單元之后,還包括對所述數據單元進行完整性檢查,如果檢測到數據缺失或者錯誤,觸發重傳請求,使用標識符定位服務器數據緩沖區需要重傳的數據片段。
5.根據權利要求1所述的一種多模態數據傳輸方法,其特征在于,所述對需要...
【專利技術屬性】
技術研發人員:王志發,陳清雷,許強,隆龍,王光永,
申請(專利權)人:海看網絡科技山東股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。