【技术实现步骤摘要】
一种增量索引数据的处理方法和装置
本专利技术涉及计算机
,尤其涉及一种增量索引数据的处理方法和装置。
技术介绍
搜索引擎中的索引数据分为全量索引数据和增量索引数据。比如,对于电商搜索数据而言,全量索引是对某一时刻商品库中所有商品数据构建的索引,一般全量索引数据的构建周期为几天或者几周;增量索引则是在两次全量索引构建期间,对商品库中新增或者实时修改的商品数据建立的索引,一般生成两条增量索引数据的时间间隔为几秒或者几毫秒。为了保证搜索服务的实时性,搜索引擎服务会持续不断地接收实时增量索引数据。当搜索引擎服务更新重启或者故障恢复重新启动时,需要重新依次加载增量索引数据,保证索引数据的完整性和实时性。增量索引通过磁盘文件的方式将一条或者多条增量索引数据存储在磁盘的增量索引文件中,并对每个文件进行压缩编码,减少对传输过程中的网络带宽以及存储资源的占用。搜索引擎服务启动时,依次加载每个增量索引文件,并根据业务需求对增量索引文件中的每条增量索引数据进行解析,以供搜索引擎服务使用。在实现本专利技术过程中,专利技 ...
【技术保护点】
1.一种增量索引数据的处理方法,其特征在于,包括:/n接收增量索引数据,并将所述增量索引数据存储到连续的缓存中;/n若所述缓存的空间已满,则将所述缓存中的增量索引数据存储到磁盘的临时子数据集中;/n每隔预设时间间隔或者每隔预设增量索引数据条数,将所述临时子数据集封装为只读的子数据集。/n
【技术特征摘要】
1.一种增量索引数据的处理方法,其特征在于,包括:
接收增量索引数据,并将所述增量索引数据存储到连续的缓存中;
若所述缓存的空间已满,则将所述缓存中的增量索引数据存储到磁盘的临时子数据集中;
每隔预设时间间隔或者每隔预设增量索引数据条数,将所述临时子数据集封装为只读的子数据集。
2.根据权利要求1所述的方法,其特征在于,将所述增量索引数据存储到连续的缓存中,包括:
将增量索引数据逐条存储到连续的数据缓存中,并将所述增量索引数据的文档ID和所述增量索引数据在所述数据缓存中的位置偏移量记录到索引缓存中。
3.根据权利要求2所述的方法,其特征在于,将所述缓存中的增量索引数据存储到磁盘的临时子数据集中,包括:
将所述数据缓存中的增量索引数据存储到磁盘的增量数据文件中;
根据所述增量索引数据在所述磁盘中的位置偏移量更新所述索引缓存,并将更新后的所述索引缓存中的数据存储到所述磁盘的数据库引擎文件中;
其中,所述临时子数据集中的文件对象包括增量数据文件和数据库引擎文件。
4.根据权利要求3所述的方法,其特征在于,针对每条增量索引数据,采用如下方法确定该条增量索引数据在所述磁盘中的位置偏移量:
将所述增量数据文件在所述磁盘中的起始位置与该条增量索引数据在所述数据缓存中的位置偏移量相加之和,作为该条增量索引数据在所述磁盘中的位置偏移量。
5.根据权利要求3所述的方法,其特征在于,将所述临时子数据集封装为只读的子数据集,包括:
判断所述缓存是否为空;
若是,则将所述临时子数据集封装为只读的子数据集;
若否,则将所述缓存中的增量索引数据存储到所述磁盘的临时子数据集中,并将所述临时子数据集封装为只读的子数据集。
6.根据权利要求5所述的方法,其特征在于,将所述临时子数据集封装为只读的子数据集,包括:
关闭所述临时子数据集中的所有文件对象;
为所述临时子数据集分配快照ID,用快照ID重命名所述临时子数据集,并将所述临时子数据集封装为只读的子数据集;
新建临时子数据集,打开新建的所述临时子数据集中的所有文件对象;
其中,所述快照ID随着封装次数的增加依次递增。
7.根据权利要求3所述的方法,其特征在于,在将所述临时子数...
【专利技术属性】
技术研发人员:薛耀宏,王春明,
申请(专利权)人:北京沃东天骏信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。