[发明专利]使用引用计数更新数据缓冲的方法及装置有效
申请号: | 201910196044.9 | 申请日: | 2019-03-15 |
公开(公告)号: | CN111694848B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 范超 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455 |
代理公司: | 北京领科知识产权代理事务所(特殊普通合伙) 11690 | 代理人: | 张丹 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 引用 计数 更新 数据 缓冲 方法 装置 | ||
本发明提供了一种使用引用计数更新数据缓冲方法及装置,该方法应用于对实时交通数据的处理,基于双缓冲机制,引入引用计数技术,在用户请求和退出访问对外提供数据的缓冲区时,相应的改变缓冲区的引用计数,基于引用计数值和初始化值的比较,判断是否执行读缓冲区和写缓冲区的交换,动态的、准确的确定数据更新的时间,从而避免出现用户正在读取缓冲区的数据时进行缓冲区数据更新的操作,导致用户读取操作的中断和实时交通数据的丢失。
技术领域
本发明涉及数据处理领域,更具体地说,涉及一种使用引用计数更新数据缓冲方法及装置。
背景技术
驾车出行是人们的生活中重要的一部分。目前,全国大部分城市交通压力较大,尤其是大型城市的交通拥堵情况严重,为了能够节省交通出行的时间,使用交通导航系统逐渐成为驾车出行的必选项。随着导航技术的发展,导航应用为用户的出行提供了极大的方便。导航应用能够基于实时的路况信息,为用户规划导航路线,并基于规划的导航路线引导用户出行。
目前,基于云端的动态电子地平线技术(EHP)可为车辆提供前方道路准确的实时信息,其能够整合限速信息、交通指示灯、建筑工地、障碍物等各类动态数据和实际道路数据等实时交通信息,供导航应用使用,或提示驾驶者。
在EHP服务下发交通信息数据时,为了保证下发的交通信息数据都在同一批次下,可以使用双缓冲区机制进行数据的控制。双缓冲机制,一个缓冲区用于从服务器数据更新,一个缓冲区用于对外提供数据。传统的数据更新方案都是定时更新,首先对用于数据更新的缓冲区进行实时交通数据的更新,数据更新完毕,定时交换缓冲区,使用更新完毕的缓冲区对外提供数据,而原先用于对外提供数据的缓冲区开始准备数据更新。这种数据更新方式节约了数据缓存时间,但是由于更新的时间是静态的,不能确定缓冲区交换时用户是否正在使用这块缓冲区的数据,进而可能会导致执行更新后会有脏数据产生。可以说,何时更新数据成为了制约双缓冲机制的瓶颈。
发明内容
有鉴于此,本发明的目的在于提供一种使用引用计数更新数据缓冲方法,用于解决现有技术缓冲区数据更新交换时不能确定用户是否正在使用缓冲区数据的问题,确保在交换更新缓冲区时不会有用户正在读取原缓冲区的数据,避免交通实时信息的丢失和脏数据的产生。
为了解决上述技术问题,现提出的方案如下:
一种使用引用计数更新数据缓冲的方法,应用于双缓冲区结构,包括:
初始化所述双缓冲区的引用计数值;
接收用户发送的获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区;
响应于所述读缓冲区向所述用户发送所述第一数据,将所述读缓冲区的引用计数值增加或者减少;
更新所述写缓冲区中的第二数据;
响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
响应于所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换。
优选的,所述将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换,具体包括:
当所述读缓冲区的所述引用计数值与所述初始值相同时,执行所述读缓冲区和所述写缓冲区的交换;
当所述读缓冲区的所述引用计数值与所述初始值不同时,不执行所述读缓冲区和所述写缓冲区的交换,设置定时器确定比较时限,在所述比较时限内定期执行所述读缓冲区的所述引用计数值与所述初始值的比较,超出所述比较时限后停止所述比较,初始化所述读缓冲区的所述引用计数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910196044.9/2.html,转载请声明来源钻瓜专利网。