[发明专利]一种基于即时通信进行数据存储的方法和设备有效
| 申请号: | 201610326451.3 | 申请日: | 2016-05-17 |
| 公开(公告)号: | CN107391388B | 公开(公告)日: | 2021-06-11 |
| 发明(设计)人: | 何佳荣 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 张恺宁 |
| 地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 即时 通信 进行 数据 存储 方法 设备 | ||
本申请涉及计算机技术领域,特别涉及一种基于即时通信进行数据存储的方法和设备,用以解决现有技术中存在的针对每个请求都需要分配存储空间,使得资源消耗比较严重,并且增加设备负荷,还有可能引起内存泄漏的问题。本申请实施例基于即时通信包括:确定承载待发送的数据的连接;确定分配给所述连接的存储空间中未存储数据的至少一个存储块;将所述数据存储到确定的存储块中。由于本申请实施例分配的存储空间中包括的每个存储块能够存储数据,不需要每次收到请求都分配存储空间,从而降低了资源消耗和设备负荷,进一步可以避免内存泄漏。
技术领域
本申请涉及计算机技术领域,特别涉及一种基于即时通信进行数据存储的方法和设备。
背景技术
目前发送方与接收方建立连接后,在一个连接上,每发送一个数据,如果收到针对该数据的ACK(ACKnowledge,正确应答指令)确认包,则确定传输成功,如果没有收到针对该数据的ACK确认包,就需要重传数据包,所以需要存储所有的数据。
目前如果有需要存储的数据,会针对该数据分配内存,并将该数据存储到分配的内存中。比如有16个数据,需要分配16次内存。
而每次分配内存都需要消耗资源,如果请求数量比较多,就会加重设备的负荷,还有可能引起内存泄漏。
发明内容
本申请提供一种基于即时通信进行数据存储的方法和设备,用以解决现有技术中存在的针对每个请求都需要分配存储空间,使得资源消耗比较严重,并且增加设备负荷,还有可能引起存储空间泄漏的问题。
本申请实施例提供的一种基于即时通信进行数据存储的方法,该方法包括:
确定承载待发送的数据的连接;
确定分配给所述连接的存储空间中未存储数据的至少一个存储块;
将所述数据存储到确定的存储块中。
由于本申请实施例分配的存储空间中包括的每个存储块能够存储数据,不需要每次收到请求都分配存储空间,从而降低了资源消耗和设备负荷;进一步可以避免存储空间泄漏。
可选的,所述分配给所述连接的存储空间中未存储数据的至少一个存储块,包括:
根据所述存储空间对应的索引队列中的存储块索引,确定所述连接对应的存储空间中未存储数据的至少一个存储块。
可选的,所述根据所述存储空间对应的索引队列中的存储块索引,确定所述连接对应的存储空间中未存储数据的至少一个存储块,包括:
确定第一指针当前指向的所述存储空间对应的索引队列中的存储块索引;
将所述存储块索引对应的存储块作为未存储数据的存储块;
其中,所述索引队列包括所述存储空间中的存储块对应的存储块索引。
由于通过第一指针确定未存储数据的存储块,从而能够更准确、更快速找到未存储数据的存储块。
可选的,所述将所述数据存储到确定的存储块中之后,还包括:
确定所述索引队列中位于所述第一指针当前指向的存储块索引的下一个存储块索引;
将所述第一指针移动到确定的下一个存储块索引。
由于能够根据索引队列确定位于所述第一指针当前指向的存储块的下一个存储块,并将第一指针移动到确定的下一个存储块,从而保证第一指针能够准确指向未存储数据的存储块。
可选的,该方法还包括:
在需要发送存储块中的数据时,确定第二指针当前指向的所述存储空间对应的索引队列中的存储块索引;
通过所述连接发送所述第二指针指向的存储块索引对应的存储块中的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610326451.3/2.html,转载请声明来源钻瓜专利网。





