[發明專利]一種基于即時通信進行數據存儲的方法和設備有效
| 申請號: | 201610326451.3 | 申請日: | 2016-05-17 |
| 公開(公告)號: | CN107391388B | 公開(公告)日: | 2021-06-11 |
| 發明(設計)人: | 何佳榮 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 張愷寧 |
| 地址: | 英屬開曼群島大開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 即時 通信 進行 數據 存儲 方法 設備 | ||
本申請涉及計算機技術領域,特別涉及一種基于即時通信進行數據存儲的方法和設備,用以解決現有技術中存在的針對每個請求都需要分配存儲空間,使得資源消耗比較嚴重,并且增加設備負荷,還有可能引起內存泄漏的問題。本申請實施例基于即時通信包括:確定承載待發送的數據的連接;確定分配給所述連接的存儲空間中未存儲數據的至少一個存儲塊;將所述數據存儲到確定的存儲塊中。由于本申請實施例分配的存儲空間中包括的每個存儲塊能夠存儲數據,不需要每次收到請求都分配存儲空間,從而降低了資源消耗和設備負荷,進一步可以避免內存泄漏。
技術領域
本申請涉及計算機技術領域,特別涉及一種基于即時通信進行數據存儲的方法和設備。
背景技術
目前發送方與接收方建立連接后,在一個連接上,每發送一個數據,如果收到針對該數據的ACK(ACKnowledge,正確應答指令)確認包,則確定傳輸成功,如果沒有收到針對該數據的ACK確認包,就需要重傳數據包,所以需要存儲所有的數據。
目前如果有需要存儲的數據,會針對該數據分配內存,并將該數據存儲到分配的內存中。比如有16個數據,需要分配16次內存。
而每次分配內存都需要消耗資源,如果請求數量比較多,就會加重設備的負荷,還有可能引起內存泄漏。
發明內容
本申請提供一種基于即時通信進行數據存儲的方法和設備,用以解決現有技術中存在的針對每個請求都需要分配存儲空間,使得資源消耗比較嚴重,并且增加設備負荷,還有可能引起存儲空間泄漏的問題。
本申請實施例提供的一種基于即時通信進行數據存儲的方法,該方法包括:
確定承載待發送的數據的連接;
確定分配給所述連接的存儲空間中未存儲數據的至少一個存儲塊;
將所述數據存儲到確定的存儲塊中。
由于本申請實施例分配的存儲空間中包括的每個存儲塊能夠存儲數據,不需要每次收到請求都分配存儲空間,從而降低了資源消耗和設備負荷;進一步可以避免存儲空間泄漏。
可選的,所述分配給所述連接的存儲空間中未存儲數據的至少一個存儲塊,包括:
根據所述存儲空間對應的索引隊列中的存儲塊索引,確定所述連接對應的存儲空間中未存儲數據的至少一個存儲塊。
可選的,所述根據所述存儲空間對應的索引隊列中的存儲塊索引,確定所述連接對應的存儲空間中未存儲數據的至少一個存儲塊,包括:
確定第一指針當前指向的所述存儲空間對應的索引隊列中的存儲塊索引;
將所述存儲塊索引對應的存儲塊作為未存儲數據的存儲塊;
其中,所述索引隊列包括所述存儲空間中的存儲塊對應的存儲塊索引。
由于通過第一指針確定未存儲數據的存儲塊,從而能夠更準確、更快速找到未存儲數據的存儲塊。
可選的,所述將所述數據存儲到確定的存儲塊中之后,還包括:
確定所述索引隊列中位于所述第一指針當前指向的存儲塊索引的下一個存儲塊索引;
將所述第一指針移動到確定的下一個存儲塊索引。
由于能夠根據索引隊列確定位于所述第一指針當前指向的存儲塊的下一個存儲塊,并將第一指針移動到確定的下一個存儲塊,從而保證第一指針能夠準確指向未存儲數據的存儲塊。
可選的,該方法還包括:
在需要發送存儲塊中的數據時,確定第二指針當前指向的所述存儲空間對應的索引隊列中的存儲塊索引;
通過所述連接發送所述第二指針指向的存儲塊索引對應的存儲塊中的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610326451.3/2.html,轉載請聲明來源鉆瓜專利網。





