数据处理方法及装置制造方法及图纸

技术编号:9935397 阅读:59 留言:0更新日期:2014-04-18 07:09
一种数据处理方法,其特征在于:所述方法包括以下步骤:同步接收数据更新请求以及数据处理请求,所述数据更新请求用于将待写入数据替换待删除数据;所述数据处理请求用于对所述待删除数据进行相应的处理;将待写入数据存储至第一存储空间;将待删除数据存储至第二存储空间;判断符合释放条件的数据处理请求是否执行完毕;若符合释放条件的数据处理请求执行完毕,则将所述第二存储空间的待删除数据释放。

【技术实现步骤摘要】
数据处理方法及装置
本专利技术涉及数据处理
,特别是涉及一种数据处理方法及装置。
技术介绍
全内存索引广泛运用于需要实时更新的信息检索系统,如搜索广告播放系统、实时搜索等。其中索引的数据结构决定着索引的数据更新方式和检索方式。为了提升服务并发性能,全内存索引运行在多核多线程环境下,即由一个更新线程更新索引,同时多个读线程读取索引。现有技术中,主要存在以下几种索引方式:第一、阻塞型同步索引;当读线程或者写线程需要访问更新索引时,因另外一个线程已经持有访问该共享数据的锁,因此不能获取锁资源而阻塞,直到另外一个线程释放锁。该方式极易造成死锁(deadlock),活锁(livelock)和优先级反转(priorityinversion)以及效率低下等问题。第二、免锁结构索引;利用指针切换的原子性,在内存中维护两份内存缓冲(buffer):读缓冲和写缓冲,并通过一指针标示当前执行的为读缓冲还是写缓冲。譬如当更新线程将写缓冲更新完毕后,切换至读缓冲进行读写。但是该方式由于使用双缓冲,造成内存的浪费,而且索引数据本来就占用大量内存,如果用双缓冲,内存占用增加一倍。综上,需要解决现有技术中,在更新线程和读写线程同步时,占用内存空间大,以及处理效率低下的技术问题。
技术实现思路
本专利技术的一个目的在于提供一种数据处理方法,旨在解决现有技术在更新线程和读写线程同步时,占用内存空间大,以及处理效率低下的技术问题。为解决上述技术问题,本专利技术构造了一种数据处理方法,:所述方法包括以下步骤:同步接收数据更新请求以及数据处理请求,所述数据更新请求用于将待写入数据替换待删除数据;所述数据处理请求用于对所述待删除数据进行相应的处理;将待写入数据存储至第一存储空间;将待删除数据存储至第二存储空间;判断符合释放条件的数据处理请求是否执行完毕;若符合释放条件的数据处理请求执行完毕,则将所述第二存储空间的待删除数据释放。在本专利技术一实施例中:同步接收数据更新请求以及数据处理请求之前,所述方法还包括以下步骤:预先设置内存索引,所述内存索引包括第一索引空间以及第二索引空间;所述第一索引空间用于存储待写入数据的指针;所述第二索引空间用于存储待删除数据索引。在本专利技术一实施例中:将待删除数据存储至第二存储空间时,所述方法还包括以下步骤:在所述第一索引空间中将所述待写入数据指针替换待删除数据指针;将所述待删除数据索引存储至所述第二索引空间。在本专利技术一实施例中:判断符合释放条件的数据处理请求是否执行完毕的步骤具体包括:在接收到数据处理请求时,获取对应该数据处理请求的第一时间标识;在所述第一索引空间中将所述待写入数据指针替换待删除数据指针时,获取第二时间标识;若所述第二时间标识早于所有的第一时间标识,且所述第一时间标识对应的数据处理请求执行完毕,则将所述数据处理请求对应的待删除数据释放。在本专利技术一实施例中:所述内存索引还包括第三索引空间,所述第三索引空间用于存储当前正在运行的数据更新请求的时间标识。本专利技术的一个目的在于提供一种数据处理装置,旨在解决现有技术在更新线程和读写线程同步时,占用内存空间大,以及处理效率低下的技术问题。为解决上述技术问题,本专利技术构造了一种数据处理装置,所述装置包括:请求接收模块,用于同步接收数据更新请求以及数据处理请求,其中所述数据更新请求用于将待写入数据替换待删除数据;所述数据处理请求用于对所述待删除数据进行相应的处理;数据存储模块,用于将待写入数据存储至第一存储空间;以及将待删除数据存储至第二存储空间;判断模块,用于判断符合释放条件的数据处理请求是否执行完毕;数据释放模块,用于在所述判断模块判断符合释放条件的数据处理请求执行完毕时,将所述第二存储空间的待删除数据释放。在本专利技术一实施例中:所述装置还包括:设置模块,用于预先设置内存索引,所述内存索引包括第一索引空间以及第二索引空间;所述第一索引空间用于存储待写入数据的指针;所述第二索引空间用于存储待删除数据索引。在本专利技术一实施例中:所述装置还包括:控制模块,用于在所述第一索引空间中将所述待写入数据指针替换待删除数据指针,并将所述待删除数据索引存储至所述第二索引空间。在本专利技术一实施例中:所述装置还包括:时间标识获取模块,用于在接收到数据处理请求时,获取对应该数据处理请求的第一时间标识;以及在所述第一索引空间中将所述待写入数据指针替换待删除数据指针时,获取第二时间标识;所述数据释放模块,还用于在所述第二时间标识早于所有的第一时间标识,且所述第一时间标识对应的数据处理请求执行完毕时,将所述数据处理请求对应的待删除数据释放。在本专利技术一实施例中:所述内存索引还包括第三索引空间,所述第三索引空间用于存储当前正在运行的数据更新请求的时间标识。相对于现有技术,本专利技术采用延迟释放待删除数据的方式,处理更新线程和读写线程同步的问题,即在同时接收到数据更新请求和数据处理请求时,先申请第一存储单元用于存储待写入数据,并将待删除数据存储至第二存储单元,知道符合释放条件的数据处理请求都执行完毕后,才将第二存储单元内的待删除数据释放,整个过程无需加锁,而且占用内存小,处理效率高。为让本专利技术的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:【附图说明】图1为本专利技术提供的数据处理方法的较佳实施例流程示意图;图2为本专利技术中内存索引的较佳实施例结构示意图;图3为本专利技术提供的数据处理装置的较佳实施例结构示意图。【具体实施方式】以下各实施例的说明是参考附加的图式,用以例示本专利技术可用以实施的特定实施例。本专利技术所提到的方向用语,例如「上」、「下」、「前」、「后」、「左」、「右」、「内」、「外」、「侧面」等,仅是参考附加图式的方向。因此,使用的方向用语是用以说明及理解本专利技术,而非用以限制本专利技术。在图中,结构相似的单元是以相同标号表示。请参阅图1,图1为本专利技术提供的数据处理方法的较佳实施例流程示意图。在步骤S101中,同步接收数据更新请求以及数据处理请求。其中所述数据更新请求用于将待写入数据替换待删除数据,即进行数据的更新。而所述数据处理请求用于对所述待删除数据进行相应的处理,譬如对待删除数据进行读写处理等。本专利技术主要用于处理更新线程和读写线程同步的问题,因此该步骤S101中的数据更新请求和数据处理请求同步接收。在步骤S102中,将待写入数据存储至第一存储空间。该步骤即在更新数据时,首先申请第一存储空间,将待写入数据写入该第一存储空间。在步骤S103中,在预先设置的内存索引中将待写入数据指针替换待删除数据指针。在具体实施过程中,本专利技术预设一内存索引,譬如请参阅图2,图2为本专利技术提供的内存索引的较佳实施例结构示意图,该内存索引包括第一索引空间21、第二索引空间22以及第三索引空间23。所述第一索引空间21用于存储待写入数据的指针;所述第二索引空间22用于存储待删除索引数据索引,每条待删除数据索引包括有数据内存指针及该待删除索引数据加入所述第二索引空间22的时间标识。所述第三索引空间23用于存储当前正在运行的数据更新请求的时间标识。在步骤S104中,将待删除数据存储至第二存储空间。在具体实施过程中,同时还将待删除数据索引写入第二索引空间22,并记录当前时间标识(譬如时间戳)到该待删除数据索引本文档来自技高网...
数据处理方法及装置

【技术保护点】
一种数据处理方法,其特征在于:所述方法包括以下步骤:同步接收数据更新请求以及数据处理请求,所述数据更新请求用于将待写入数据替换待删除数据;所述数据处理请求用于对所述待删除数据进行相应的处理;将待写入数据存储至第一存储空间;将待删除数据存储至第二存储空间;判断符合释放条件的数据处理请求是否执行完毕;若符合释放条件的数据处理请求执行完毕,则将所述第二存储空间的待删除数据释放。

【技术特征摘要】
1.一种数据处理方法,其特征在于:所述方法包括以下步骤:预先设置内存索引,所述内存索引包括第一索引空间、第二索引空间以及第三索引空间;所述第一索引空间用于存储待写入数据的指针;所述第二索引空间用于存储待删除数据索引;所述第三索引空间用于存储当前正在运行的数据更新请求的时间标识;同步接收数据更新请求以及数据处理请求,所述数据更新请求用于将待写入数据替换待删除数据;所述数据处理请求用于对所述待删除数据进行相应的处理;将待写入数据存储至第一存储空间;将待删除数据存储至第二存储空间;判断符合释放条件的数据处理请求是否执行完毕;若符合释放条件的数据处理请求执行完毕,则将所述第二存储空间的待删除数据释放。2.根据权利要求1所述的数据处理方法,其特征在于:将待删除数据存储至第二存储空间时,所述方法还包括以下步骤:在所述第一索引空间中将所述待写入数据指针替换待删除数据指针;将所述待删除数据索引存储至所述第二索引空间。3.根据权利要求2所述的数据处理方法,其特征在于:判断符合释放条件的数据处理请求是否执行完毕的步骤具体包括:在接收到数据处理请求时,获取对应该数据处理请求的第一时间标识;在所述第一索引空间中将所述待写入数据指针替换待删除数据指针时,获取第二时间标识;若所述第二时间标识早于所有的第一时间标识,且所述第一时间标识对应的数据处理请求执行完毕,则将所述数据处理请求对应的待删除数据释放。4.一种数据处理装置,其特征在于:所述装...

【专利技术属性】
技术研发人员:樊华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1