[發明專利]一種數據發送方法、接收方法及裝置有效
| 申請號: | 201810728010.5 | 申請日: | 2018-07-05 |
| 公開(公告)號: | CN109062708B | 公開(公告)日: | 2020-07-10 |
| 發明(設計)人: | 楊亮;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 發送 方法 接收 裝置 | ||
1.一種數據發送方法,其特征在于,所述方法包括:
在基于FiFo命名管道進行全雙工通信的過程中,當使用遠程命名管道發送數據時,調用FiFo消息的靜態分配方法創建FiFo消息數據結構;
在所述FiFo消息的容量不大于第一預置數值的條件下,使用所述FiFo消息包裝數據塊,所述數據塊中被所述FiFo消息包裝的數據塊稱為有效負載,所述有效負載的容量小于或等于所述數據塊的容量;
根據所述FiFo消息的FiFo消息數據結構判斷所述數據塊是否已被全部包裝完畢;
若所述數據塊已被全部包裝完畢,將所述FiFo消息的分段標識設置為0,表示所述FiFo消息為包裝所述數據塊的最后一個FiFo消息,并調用寫方法將用于包裝所述數據塊的全部FiFo消息寫入所述遠程命名管道,以使得接收端從本地命名管道獲取數據后,對獲取的所述數據進行處理后得到所述數據塊;
若所述數據塊未被全部包裝完畢,將所述分段標識設置為1,表示所述FiFo消息之后還有用于包裝所述數據塊的后續FiFo消息,并將剩余的所述數據塊寫入所述后續FiFo消息。
2.根據權利要求1所述的方法,其特征在于,所述根據所述FiFo消息數據結構判斷所述數據塊是否已被全部包裝完畢,包括:
將所述數據塊的容量減去偏移量的差值設置為所述FiFo消息數據結構的參數,所述偏移量表示在使用所述FiFo消息包裝所述數據塊之前,所述數據塊已被包裝在先前FiFo消息的總容量,所述偏移量的初始值為0;
判斷所述有效負載的容量是否等于所述差值;
若所述FiFo消息的有效負載的容量等于所述差值,確定所述數據塊已被全部包裝完畢;
若所述FiFo消息的有效負載的容量不等于所述差值,確定所述數據塊未被全部包裝完畢。
3.一種數據接收方法,其特征在于,所述方法包括:
在基于FiFo命名管道進行全雙工通信的過程中,當使用本地命名管道接收數據時,調用讀方法從所述本地命名管道中讀取數據,所述從所述本地命名管道中讀取的數據不大于第二預置數值;
將從所述本地命名管道中讀取的數據保存到序列化容器中;
將保存到所述序列化容器中的數據轉換為轉換FiFo消息;
判斷所述轉換FiFo消息是否為完整的FiFo消息,所述FiFo消息用于包裝數據塊,所述FiFo消息包括有效負載,所述有效負載為,在所述FiFo消息的容量不大于第一預置數值的條件下,所述數據塊中被所述FiFo消息包裝的數據塊,所述有效負載的容量小于或等于所述數據塊的容量;
若所述轉換FiFo消息為所述完整的FiFo消息,從所述轉換FiFo消息中獲取所述有效負載,并在所述序列化容器中刪除用于生成所述轉換FiFo消息的數據;
若所述轉換FiFo消息不是所述完整的FiFo消息,繼續執行所述調用讀方法從所述本地命名管道中讀取數據;
將與所述數據塊對應的全部有效負載進行拼接得到所述數據塊。
4.根據權利要求3所述的方法,所述判斷所述轉換FiFo消息是否為完整的FiFo消息,包括:
獲取保存在所述序列化容器中的用于生成所述轉換FiFo消息的數據的容量;
判斷所述用于生成所述轉換FiFo消息的數據的容量是否大于或等于所述完整的FiFo消息的總容量,所述完整的FiFo消息的總容量從所述轉換FiFo消息中得到;
若所述用于生成所述轉換FiFo消息的數據的容量大于或等于所述完整的FiFo消息的總容量,則確定所述轉換FiFo消息為所述完整的所述FiFo消息;
若所述用于生成所述轉換FiFo消息的數據的容量小于所述完整的FiFo消息的總容量,則確定所述轉換FiFo消息不是所述完整的FiFo消息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810728010.5/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





