The invention relates to the field of computer technology, particularly relates to a method and apparatus for data storage based on instant communication, in order to solve the problem existing in the prior art for each request to allocate storage space, the resource consumption is relatively serious, and increase the equipment load, but also may cause memory leak problem. The application example is based on instant communication, including determining the connection of the data to be transmitted; determining at least one storage block of the data not stored in the storage space allocated to the connection; storing the data into the determined storage block. Since each storage block included in the storage space allocated by this application can store data without allocating storage space each time the request is received, the resource consumption and device load are reduced, and memory leakage can be further avoided.
【技术实现步骤摘要】
一种基于即时通信进行数据存储的方法和设备
本申请涉及计算机
,特别涉及一种基于即时通信进行数据存储的方法和设备。
技术介绍
目前发送方与接收方建立连接后,在一个连接上,每发送一个数据,如果收到针对该数据的ACK(ACKnowledge,正确应答指令)确认包,则确定传输成功,如果没有收到针对该数据的ACK确认包,就需要重传数据包,所以需要存储所有的数据。目前如果有需要存储的数据,会针对该数据分配内存,并将该数据存储到分配的内存中。比如有16个数据,需要分配16次内存。而每次分配内存都需要消耗资源,如果请求数量比较多,就会加重设备的负荷,还有可能引起内存泄漏。
技术实现思路
本申请提供一种基于即时通信进行数据存储的方法和设备,用以解决现有技术中存在的针对每个请求都需要分配存储空间,使得资源消耗比较严重,并且增加设备负荷,还有可能引起存储空间泄漏的问题。本申请实施例提供的一种基于即时通信进行数据存储的方法,该方法包括:确定承载待发送的数据的连接;确定分配给所述连接的存储空间中未存储数据的至少一个存储块;将所述数据存储到确定的存储块中。由于本申请实施例分配的存储空间中包 ...
【技术保护点】
一种基于即时通信进行数据存储的方法,其特征在于,该方法包括:确定承载待发送的数据的连接;确定分配给所述连接的存储空间中未存储数据的至少一个存储块;将所述数据存储到确定的存储块中。
【技术特征摘要】
1.一种基于即时通信进行数据存储的方法,其特征在于,该方法包括:确定承载待发送的数据的连接;确定分配给所述连接的存储空间中未存储数据的至少一个存储块;将所述数据存储到确定的存储块中。2.如权利要求1所述的方法,其特征在于,所述分配给所述连接的存储空间中未存储数据的至少一个存储块,包括:根据所述存储空间对应的索引队列中的存储块索引,确定所述连接对应的存储空间中未存储数据的至少一个存储块。3.如权利要求2所述的方法,其特征在于,所述根据所述存储空间对应的索引队列中的存储块索引,确定所述连接对应的存储空间中未存储数据的至少一个存储块,包括:确定第一指针当前指向的所述存储空间对应的索引队列中的存储块索引;将所述存储块索引对应的存储块作为未存储数据的存储块。4.如权利要求3所述的方法,其特征在于,所述将所述数据存储到确定的存储块中之后,还包括:确定所述索引队列中位于所述第一指针当前指向的存储块索引的下一个存储块索引;将所述第一指针移动到确定的下一个存储块索引。5.如权利要求3所述的方法,其特征在于,该方法还包括:在需要发送存储块中的数据时,确定第二指针当前指向的所述存储空间对应的索引队列中的存储块索引;通过所述连接发送所述第二指针指向的存储块索引对应的存储块中的数据。6.如权利要求5所述的方法,其特征在于,所述通过所述连接发送所述第二指针指向的存储块索引对应的存储块中的数据之后,还包括:清空所述第二指针指向的存储块索引对应的存储块中的数据;确定所述索引队列中位于所述第二指针当前指向的存储块索引的下一个存储块索引;将所述第二指针移动到确定的下一个存储块索引。7.如权利要求6所述的方法,其特征在于,所述通过所述连接发送所述第二指针指向的存储块索引对应的存储块中的数据之后,清空所述第二指针指向的存储块索引对应的存储块中的数据之前,还包括:确定所述数据发送成功。8.如权利要求6所述的方法,其特征在于,所述将所述第二指针移动到确定的下一个存储块索引之前,还包括:确定所述第二指针当前指向的存储块索引的下一个存储块索引与所述第一指针当前指向的存储块索引不同。9.如权利要求6所述的方法,其特征在于,该方法还包括:若所述第二指针当前指向的存储块索引的下一个存储块索引与所述第一指针当前指向的存储块索引相同,释放分配给所述连接的存储空间。10.如权利要求5所述的方法,其特征在于,所述确定所述索引队列中位于所述第一指针当前指向的存储块索引的下一个存储块索引之后,将所述第一指针移动到确定的下一个存储块索引之前,还包括:确定所述第二指针当前指向的存储块索引与所述第一指针当前指向的存储块索引的下一个存储块索引不同。11.如权利要求10所述的方法,其特征在于,该方法还包括:若所述第二指针当前指向的存储块索引与所述第一指针当前指向的存储块索引的下一个存储块索引相同,则为所述连接分配新的存储空间;在所述索引队列中所述第一指针当前指向的存储块索引的下一个存储块索引与所述第二指针当前指向的存储块索引之间,增加所述新的存储空间中的存储块对应的存储块索引;确定增加存储块索引后的索引队列中位于所述第一指针当前指向的存储块索引的下一个存储块索引;将所述第一指针移动到确定的下一个存储块索引。12.如权利要求3~7任一所述的方法,其特征在于,所述将所述数据存储到确定的存储块中之后,还包括:若分配给所述连接的存储空间中没有未存储数据的存储块,则为所述连接分配新的存储空间;在所述索引队列的最后增加所述新的存储空间中的存储块对应的存储块索引;确定增加存储块索引后的索引队列中位于所述第一指针当前指向的存储块索引的下一个存储块索引;将所述第一指针移动到确定的下一个存储块索引。13.如权利要求2~11任一所...
【专利技术属性】
技术研发人员:何佳荣,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。