CN111694848B - 使用引用计数更新数据缓冲的方法及装置 - Google Patents

使用引用计数更新数据缓冲的方法及装置 Download PDF

Info

Publication number
CN111694848B
CN111694848B CN201910196044.9A CN201910196044A CN111694848B CN 111694848 B CN111694848 B CN 111694848B CN 201910196044 A CN201910196044 A CN 201910196044A CN 111694848 B CN111694848 B CN 111694848B
Authority
CN
China
Prior art keywords
buffer
data
reference count
count value
read buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910196044.9A
Other languages
English (en)
Other versions
CN111694848A (zh
Inventor
范超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910196044.9A priority Critical patent/CN111694848B/zh
Publication of CN111694848A publication Critical patent/CN111694848A/zh
Application granted granted Critical
Publication of CN111694848B publication Critical patent/CN111694848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种使用引用计数更新数据缓冲方法及装置,该方法应用于对实时交通数据的处理,基于双缓冲机制,引入引用计数技术,在用户请求和退出访问对外提供数据的缓冲区时,相应的改变缓冲区的引用计数,基于引用计数值和初始化值的比较,判断是否执行读缓冲区和写缓冲区的交换,动态的、准确的确定数据更新的时间,从而避免出现用户正在读取缓冲区的数据时进行缓冲区数据更新的操作,导致用户读取操作的中断和实时交通数据的丢失。

Description

使用引用计数更新数据缓冲的方法及装置
技术领域
本发明涉及数据处理领域,更具体地说,涉及一种使用引用计数更新数据缓冲方法及装置。
背景技术
驾车出行是人们的生活中重要的一部分。目前,全国大部分城市交通压力较大,尤其是大型城市的交通拥堵情况严重,为了能够节省交通出行的时间,使用交通导航系统逐渐成为驾车出行的必选项。随着导航技术的发展,导航应用为用户的出行提供了极大的方便。导航应用能够基于实时的路况信息,为用户规划导航路线,并基于规划的导航路线引导用户出行。
目前,基于云端的动态电子地平线技术(EHP)可为车辆提供前方道路准确的实时信息,其能够整合限速信息、交通指示灯、建筑工地、障碍物等各类动态数据和实际道路数据等实时交通信息,供导航应用使用,或提示驾驶者。
在EHP服务下发交通信息数据时,为了保证下发的交通信息数据都在同一批次下,可以使用双缓冲区机制进行数据的控制。双缓冲机制,一个缓冲区用于从服务器数据更新,一个缓冲区用于对外提供数据。传统的数据更新方案都是定时更新,首先对用于数据更新的缓冲区进行实时交通数据的更新,数据更新完毕,定时交换缓冲区,使用更新完毕的缓冲区对外提供数据,而原先用于对外提供数据的缓冲区开始准备数据更新。这种数据更新方式节约了数据缓存时间,但是由于更新的时间是静态的,不能确定缓冲区交换时用户是否正在使用这块缓冲区的数据,进而可能会导致执行更新后会有脏数据产生。可以说,何时更新数据成为了制约双缓冲机制的瓶颈。
发明内容
有鉴于此,本发明的目的在于提供一种使用引用计数更新数据缓冲方法,用于解决现有技术缓冲区数据更新交换时不能确定用户是否正在使用缓冲区数据的问题,确保在交换更新缓冲区时不会有用户正在读取原缓冲区的数据,避免交通实时信息的丢失和脏数据的产生。
为了解决上述技术问题,现提出的方案如下:
一种使用引用计数更新数据缓冲的方法,应用于双缓冲区结构,包括:
初始化所述双缓冲区的引用计数值;
接收用户发送的获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区;
响应于所述读缓冲区向所述用户发送所述第一数据,将所述读缓冲区的引用计数值增加或者减少;
更新所述写缓冲区中的第二数据;
响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
响应于所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换。
优选的,所述将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换,具体包括:
当所述读缓冲区的所述引用计数值与所述初始值相同时,执行所述读缓冲区和所述写缓冲区的交换;
当所述读缓冲区的所述引用计数值与所述初始值不同时,不执行所述读缓冲区和所述写缓冲区的交换,设置定时器确定比较时限,在所述比较时限内定期执行所述读缓冲区的所述引用计数值与所述初始值的比较,超出所述比较时限后停止所述比较,初始化所述读缓冲区的所述引用计数值。
优选的,所述执行所述读缓冲区和所述写缓冲区的交换,具体包括,切换所述读缓冲区和所述写缓冲区的状态标识,向所述用户发送所述切换后的所述读缓冲区的所述缓冲区标识ID,使得所述用户获取所述第二数据。
优选的,所述第一数据和所述第二数据均为交通信息。
优选的,所述响应于所述第一数据传输的完成,将所述读缓冲区的所述引用计数值相应的减少或者增加,具体包括,当接收到所述用户退出请求时,将所述读缓冲区的所述引用计数值相应的减少或者增加,其中所述退出请求中包括退出确认码。
一种使用引用计数更新数据缓冲的装置,包括:
控制模块,用于接收用户发送的获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区,以及响应于所述写缓冲区的所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换;
引用计数控制模块,用于初始化所述双缓冲区的引用计数值,响应于所述第一数据的开始发送,将所述读缓冲区的引用计数值增加或者减少,以及响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
所述读缓冲区,用于向所述用户发送所述第一数据;
所述写缓冲区,用于更新第二数据。
一种在电子地平线系统EHP中使用引用计数更新数据缓冲的方法,应用于双缓冲区结构,包括:
初始化所述双缓冲区的引用计数值;
接收所述EHP获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区;
响应于所述读缓冲区向所述用户发送所述第一数据,将所述读缓冲区的引用计数值增加或者减少;
更新所述写缓冲区中的第二数据;
响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
响应于所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换。
一种使用引用计数更新数据缓冲装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述使用引用计数更新数据缓冲方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述使用引用计数更新数据缓冲方法的步骤。
从上述的技术方案可以看出,本申请实施例提供的使用引用计数更新数据缓冲方法,基于双缓冲机制,引入引用计数技术,在用户请求和退出访问对外提供数据的缓冲区时,相应的改变缓冲区的引用计数,基于引用计数值和初始化值的比较,判断是否执行缓冲区的交换操作,动态地确定缓冲区的交换时间,从而避免出现用户正在读取对外提供数据的缓冲区的数据时进行缓冲区数据更新的操作,导致用户读取操作的中断和实时交通数据的丢失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明的使用引用计数更新数据缓冲方法的技术架构图。
图2是本发明的使用引用计数更新数据缓冲方法的流程图。
图3是本发明的的使用引用计数更新数据缓冲装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的使用引用计数更新数据缓冲方法适用于导航数据的处理,尤其是对实时交通数据的处理。
根据导航数据的功能,预先将导航数据划分成三类数据:第一类、基本导航数据,该基本导航数据为实现基础导航所需的数据,如实现路径规划、基础地图元素显示,即基本导航数据包括POI数据和道路数据;第二类、附加导航数据,该附加导航数据用于导航引导,如包括DTM(DigitalTerrain Model,数字地面模型),数字地面模型数据、卫星图数据、POI深度信息、导航引导数据等;第三类、实时交通数据。
实时交通数据包括但不限于限速信息、交通指示灯、建筑工地、障碍物等各类动态数据和实际道路数据等,供导航应用使用。该方法可以在终端设备(如智能手机、平板电脑等)中执行也可以在车载端执行。
如图1所示,目前的道路导航系统中,需要使用实时道路交通数据。用户需要获取道路信息,通过导航应用接入服务,向云端的数据集群服务器发送请求。本发明为了保证数据更新的速度,使用的更新数据方式为双缓冲机制,一个缓冲区为对外数据缓冲区,用于根据用户的请求向用户提供数据的输出,另一个缓冲区为更新缓冲区,用于从后台数据服务器下载更新数据备用。在用户从对外数据缓冲区读取数据的同时,更新缓冲区从数据服务器中下载更新数据。当用户完成了从对外数据缓存区读取数据的操作后,即对外数据缓冲区的全部数据均被传输至用户前端时,交换对外数据缓冲区和更新缓冲区的位置,使得用户能够继续读取原更新缓冲区中的数据,而原对外数据缓冲区与后台数据服务器联系下载更新数据备用。这种交换缓冲区向用户提供数据的方式周而复始,能够有效地避免数据传输的中断,减少用户等待数据的时间,提高数据传输的效率。
此处的双缓冲区可以是设置在单机的缓冲区,也可以是设置在分布式集群中的多个缓冲区的集合,还可以是物理上分布在不同区域位置的多个缓冲区组成的逻辑上的缓冲区集合。
在使用双缓冲机制进行数据更新的过程中,何时进行缓冲区的交换,是制约整个过程的核心问题。通常的一种做法是定时更新,即预设一个固定的时间间隔T,每隔T时间交换缓冲区一次。这种方式对时间T的选取有较高的要求。如果T的时间选择的较长,可能会导致数据传输的中断,增加用户的数据等待时间,造成导航信息的中断;而如果T时间选择的较短,可能会导致缓冲区交换操作发生在用户正在读取数据的过程中,也就是说,可能会出现用户还没有完全读取缓冲区的全部数据,但是缓冲区突然发生切换,导致用户读取数据操作的中断,部分数据丢失,进而导致后续更新的数据无法和之前读取的数据有效衔接,产生没有实际使用意义的脏数据等。
为了能够确定数据更新时用户并没有在使用这块缓冲区的数据,在使用双缓冲机制的同时,引入引用计数来确定缓冲区交换的时间节点。
引用计数是计算机编程语言中的一种内存管理技术,是指将对象、内存或磁盘空间等资源的被引用次数保存起来,当被引用次数变为零时就将其释放的过程。使用引用计数技术可以实现自动资源管理的目的。同时引用计数还可以指使用引用计数技术回收未使用资源的垃圾回收算法。在这个方案中把数据缓冲区当作引用计数对象,而引用计数为0,就可以开始更新缓冲区了。
具体来说,本发明提供的使用引用计数更新数据缓冲方法如图2所示,应用于双缓冲区结构,包括:
步骤101,初始化双缓冲区的引用计数值。
使用引用计数标引双缓冲区结构的每一个缓冲区,可以在在接收用户请求之前,初始化双缓冲区的引用计数值均为0。这个初始化的过程也可以在系统初始化时完成。
步骤102,接收用户发送的获取第一数据的请求,请求中包括缓冲区标识ID,设置缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区。
通过状态标识flag将双缓冲区标记为读缓冲区和写缓冲区,读缓冲区对用户提供数据,写缓冲区准备数据更新。
用户在进行道路导航时,向缓冲区提出获取实时交通信息的请求。在接收到用户的请求后,读缓冲区响应用户请求,传输缓冲区的数据。
更具体地,每个用户获取道路交通信息数据前先获取当前缓冲区ID,根据缓冲区ID读取数据。请求方获取数据先获取当前可提供数据的缓冲区的唯一标识,之后每次获取数据都带着这个标识,直到获取数据完毕,可以保证客户端在一段时间内从一个缓冲区获取数据。缓冲区的ID是预先为每个缓冲区设置的,尤其是当多个缓冲区是位于分布式服务器中的缓冲区集群时,预设每个缓冲区的ID,或者以缓冲区服务IP作为标识。用户在进行数据读取前能够获取到缓冲区ID,便于对接收的数据进行归类管理,同时能够便于区分不同批次的数据。
步骤103,响应于读缓冲区向用户发送第一数据,将读缓冲区的引用计数值增加或者减少。
当接收到用户请求时,向用户发送请求的数据,将缓冲区的引用计数值加1;用户在读取数据的过程中,引用计数值不改变。
这里可以是将读缓冲区和写缓冲区的引用计数值同时改变,也可以是仅仅改变作为对外提供数据的缓冲区的引用计数值。
当接收到用户请求时,对引用计数值的改变可以是加1、加n,也可以是减1、减n。
步骤104,更新写缓冲区中的第二数据。
在读缓冲区向用户提供数据的同时,写缓冲区与后台数据库,服务器,或者云端数据库通信,下载更新数据。
第一数据和第二数据均为实时交通信息。
步骤105,响应于第一数据的发送完成,将读缓冲区的引用计数值相应的减少或者增加。
当用户请求的数据读取完成时,或者收到用户退出的请求时,即用户完成该缓冲区数据读取操作后,将缓冲区的引用计数值减1。
这里的退出请求中包括退出确认码,可以是将读缓冲区和写缓冲区的引用计数值同时改变,也可以是仅仅改变作为对外提供数据的缓冲区的引用计数值。
同理,当收到用户的退出请求时,对引用计数值的改变可以是减1、减n,也可以是加1、加n。
步骤106,响应于第二数据的更新完成,将读缓冲区的引用计数值与初始值的比较,确定是否执行读缓冲区和写缓冲区的交换。
必须更新完毕才会交换,但更新数据的前提是确保当前缓冲区没有请求访问。
具体来说,当读缓冲区的引用计数值与初始值相同时,执行所述读缓冲区和所述写缓冲区的交换。具体的切换方式是,切换读缓冲区和写缓冲区的状态标识,向用户发送切换后的读缓冲区的缓冲区标识ID,使得用户获取第二数据。
当读缓冲区的引用计数值与初始值不同时,不执行读缓冲区和写缓冲区的交换,设置定时器确定比较时限,在比较时限内定期执行读缓冲区的引用计数值与初始值的比较,超出比较时限后停止比较,初始化读缓冲区的引用计数值。
设置定时器,如果该缓冲区在较长一段时间没有更新,把引用计数初始值设为0,执行更新。因为客户端有可能出现问题(客户端出现问题需要重试处理等),所以引用计数可能不能及时清零,需要借助定时器处理。
这里,两个缓冲区可能出现同时提供服务的情况,只不过有一个缓冲区不再增加新的请求处理。
本发明实施例中,前述步骤103和步骤104的执行顺序没有严格限制,可以是先执行步骤103再执行步骤104,也可以是先执行步骤104再执行步骤103。
同时,前述步骤105和步骤106的执行顺序没有严格限制,可以是先执行步骤105再执行步骤106,也可以是先执行步骤106再执行步骤105。
基于前文本发明提供的一种使用引用计数更新数据缓冲方法的相同构思,本发明还提供一种使用引用计数更新数据缓冲装置,如图3所示,所述装置包括:控制模块100、引用计数控制模块200、读缓冲区300和写缓冲区400,其中:
控制模块100,用于接收用户发送的获取第一数据的请求,请求中包括缓冲区标识ID,设置缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的状态标识为写缓冲区。
以及响应于写缓冲区的第二数据的更新完成,将读缓冲区的引用计数值与初始值的比较,确定是否执行读缓冲区和写缓冲区的交换。
引用计数控制模块200,用于初始化双缓冲区的引用计数值,响应于第一数据的开始发送,将读缓冲区的引用计数值增加或者减少,以及响应于第一数据的发送完成,将读缓冲区的引用计数值相应的减少或者增加。
读缓冲区300,用于向用户发送所述第一数据。
写缓冲区400,用于更新第二数据。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句″包括一个......″限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
附图中的流程图和框图显示了根据本发明的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句″包括一个......″限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明,上述实施例仅是为说明所作的举例,而并非对实施方式的限定。对于本领域技术人员来说,在上述说明的基础上,还可以做出其它不同形式的变化或变动,而这些变化或变动将是显而易见的,处于本发明的保护范围之中。

Claims (9)

1.一种使用引用计数更新数据缓冲的方法,应用于双缓冲区结构,其特征在于,所述方法包括:
初始化所述双缓冲区的引用计数值;
接收用户发送的获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区;
响应于所述读缓冲区向所述用户发送所述第一数据,将所述读缓冲区的引用计数值增加或者减少;
更新所述写缓冲区中的第二数据;
响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
响应于所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换。
2.根据权利要求1所述的方法,其特征在于:所述将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换,具体包括:
当所述读缓冲区的所述引用计数值与所述初始值相同时,执行所述读缓冲区和所述写缓冲区的交换;
当所述读缓冲区的所述引用计数值与所述初始值不同时,不执行所述读缓冲区和所述写缓冲区的交换,设置定时器确定比较时限,在所述比较时限内定期执行所述读缓冲区的所述引用计数值与所述初始值的比较,超出所述比较时限后停止所述比较,初始化所述读缓冲区的所述引用计数值。
3.根据权利要求1或2所述的方法,其特征在于:所述执行所述读缓冲区和所述写缓冲区的交换,具体包括,切换所述读缓冲区和所述写缓冲区的状态标识,向所述用户发送所述切换后的所述读缓冲区的所述缓冲区标识ID,使得所述用户获取所述第二数据。
4.根据权利要求1所述的方法,其特征在于:所述第一数据和所述第二数据均为交通信息。
5.根据权利要求1所述的方法,其特征在于:所述响应于所述第一数据传输的完成,将所述读缓冲区的所述引用计数值相应的减少或者增加,具体包括,当接收到所述用户退出请求时,将所述读缓冲区的所述引用计数值相应的减少或者增加,其中所述退出请求中包括退出确认码。
6.一种使用引用计数更新数据缓冲的装置,其特征在于,所述装置包括:
控制模块,用于接收用户发送的获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区,以及响应于所述写缓冲区的第二数据的更新完成,将所述读缓冲区的所述引用计数值与初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换;
引用计数控制模块,用于初始化双缓冲区的引用计数值,响应于所述第一数据的开始发送,将所述读缓冲区的引用计数值增加或者减少,以及响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
所述读缓冲区,用于向所述用户发送所述第一数据;
所述写缓冲区,用于更新第二数据。
7.一种在电子地平线系统EHP中使用引用计数更新数据缓冲的方法,应用于双缓冲区结构,其特征在于,所述方法包括:
初始化所述双缓冲区的引用计数值;
接收所述EHP获取第一数据的请求,所述请求中包括缓冲区标识ID,设置所述缓冲区标识ID指示的缓冲区的状态标识为读缓冲区,设置另一个缓冲区的所述状态标识为写缓冲区;
响应于所述读缓冲区向用户发送所述第一数据,将所述读缓冲区的引用计数值增加或者减少;
更新所述写缓冲区中的第二数据;
响应于所述第一数据的发送完成,将所述读缓冲区的所述引用计数值相应的减少或者增加;
响应于所述第二数据的更新完成,将所述读缓冲区的所述引用计数值与所述初始值的比较,确定是否执行所述读缓冲区和所述写缓冲区的交换。
8.一种使用引用计数更新数据缓冲装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
CN201910196044.9A 2019-03-15 2019-03-15 使用引用计数更新数据缓冲的方法及装置 Active CN111694848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910196044.9A CN111694848B (zh) 2019-03-15 2019-03-15 使用引用计数更新数据缓冲的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910196044.9A CN111694848B (zh) 2019-03-15 2019-03-15 使用引用计数更新数据缓冲的方法及装置

Publications (2)

Publication Number Publication Date
CN111694848A CN111694848A (zh) 2020-09-22
CN111694848B true CN111694848B (zh) 2023-04-25

Family

ID=72475800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910196044.9A Active CN111694848B (zh) 2019-03-15 2019-03-15 使用引用计数更新数据缓冲的方法及装置

Country Status (1)

Country Link
CN (1) CN111694848B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204573B (zh) * 2021-05-21 2023-07-07 珠海金山数字网络科技有限公司 一种数据读写访问系统及方法
US20230030241A1 (en) * 2021-07-29 2023-02-02 International Business Machines Corporation Intersystem processing employing buffer summary groups

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814045A (zh) * 2010-04-22 2010-08-25 华中科技大学 一种用于备份服务的数据组织方法
CN107315761A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 一种数据更新方法、数据查询方法及装置
CN107992489A (zh) * 2016-10-26 2018-05-04 腾讯科技(北京)有限公司 一种数据处理方法及服务器
CN109284305A (zh) * 2018-08-23 2019-01-29 阿里巴巴集团控股有限公司 一种数据的更新方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112100A1 (en) * 1999-08-19 2002-08-15 Myron Zimmerman System and method for data exchange

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814045A (zh) * 2010-04-22 2010-08-25 华中科技大学 一种用于备份服务的数据组织方法
CN107992489A (zh) * 2016-10-26 2018-05-04 腾讯科技(北京)有限公司 一种数据处理方法及服务器
CN107315761A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 一种数据更新方法、数据查询方法及装置
CN109284305A (zh) * 2018-08-23 2019-01-29 阿里巴巴集团控股有限公司 一种数据的更新方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐尤南.数据缓冲技术在客户/服务器环境下的应用.计算机应用.2001,(第04期),全文. *

Also Published As

Publication number Publication date
CN111694848A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
JP7206371B2 (ja) 地図データ更新方法、地図データ更新装置、地図データ更新システムおよびコンピュータ可読記憶媒体
CN110517533A (zh) 一种自主泊车方法及系统
EP3113998A1 (en) Dynamic communication data usage
US11159644B2 (en) Named-data networks for vehicle-to-infrastructure communication
CN111694848B (zh) 使用引用计数更新数据缓冲的方法及装置
US10578444B2 (en) Guidance device, guidance method, and guidance program
CN109640294B (zh) 无人车数据传输方法、装置、系统及存储介质
CN110103987B (zh) 应用于自动驾驶车辆的决策规划方法和装置
US10681639B2 (en) Systems and methods for receiving sensor data from a mobile device
CN103561095A (zh) 一种数据同步方法、节点及存储服务集群
WO2022134365A1 (zh) 车辆调度方法、装置、系统、设备及存储介质
CN112885112B (zh) 车辆行驶检测的方法、车辆行驶预警的方法和装置
JP2021009688A (ja) 無人走行車両の巡回方法、無人走行車両及び記憶媒体
US10999719B1 (en) Peer-to-peer autonomous vehicle communication
US11908253B2 (en) Dynamic data preservation based on autonomous vehicle performance needs
US20220262248A1 (en) Vehicle navigation method and terminal
CN111930874A (zh) 一种数据采集方法及电子设备
CN106710272B (zh) 提供实时路况信息的方法与装置
CN104977016A (zh) 导航处理方法及移动智能终端
CN109367542B (zh) 一种控制车辆行驶的方法和装置
CN115503693A (zh) 一种车辆泊车地图动态管理方法及装置
US20210168190A1 (en) Communication device, user terminal, communication system, controlling method of same, and program
US10467829B1 (en) Leveraging wireless connections for automated mileage tracking
CN114969223A (zh) 一种地图更新方法、装置及系统
CN111292138A (zh) 一种车载广告的更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant