【技术实现步骤摘要】
磁盘存储方法和装置、消息推送方法和装置及电子设备
本专利技术涉及数据存储
,尤其涉及一种磁盘存储方法和装置、消息推送方法和装置及电子设备。
技术介绍
在数据存储
,大多数存储引擎存储在文件中的内容都分为两部分:日志(Log)和索引(LogIndex)。其中,Log用于存储每条消息(Record)的详细内容;LogIndex用于存储Record的关键字(key)以及该Record在Log文件中的偏移量,有些还会存储Record的其它相关内容。如果存储引擎需要去重(在存储Record时,去除重复的Record),通常的方案是,直接通过LogIndex进行检索,其优势是可以做到针对整个Log全局去重。专利技术人在实现本专利技术的过程中,发现现有技术至少存在如下问题:在每次检索时,都需要读磁盘,运行速度很慢,性能差,不能适用于高并发场景
技术实现思路
本专利技术实施例提供一种磁盘存储方法和装置、消息推送方法和装置及电子设备,以解决现有技术在高并发场景无法去重的缺陷,实现高效的海量消息去重存储。为达到上述目的,本专利技术实施例提供了一种磁盘存储方法,包括:获取待存储消息的关键字;根据已存储消息的位图索引,采用布隆滤波器,对所述待存储消息和所述已存储消息进行基于所述关键字的判重操作,其中,所述已存储消息存储于磁盘中,所述已存储消息的位图索引存储于内存中;根据判重结果,对所述待存储消息进行处理。本专利技术实施例还提供了一种磁盘存储方法,包括:获取待存储消息的关键字;在内存中,对所述待存储消息和已存储消息进行基于所述关键字的判重操作;根据判重结果,对所述待存储消息 ...
【技术保护点】
1.一种磁盘存储方法,其特征在于,包括:获取待存储消息的关键字;根据已存储消息的位图索引,采用布隆滤波器,对所述待存储消息和所述已存储消息进行基于所述关键字的判重操作,其中,所述已存储消息存储于磁盘中,所述已存储消息的位图索引存储于内存中;根据判重结果,对所述待存储消息进行处理。
【技术特征摘要】
1.一种磁盘存储方法,其特征在于,包括:获取待存储消息的关键字;根据已存储消息的位图索引,采用布隆滤波器,对所述待存储消息和所述已存储消息进行基于所述关键字的判重操作,其中,所述已存储消息存储于磁盘中,所述已存储消息的位图索引存储于内存中;根据判重结果,对所述待存储消息进行处理。2.根据权利要求1所述的磁盘存储方法,其特征在于,所述根据已存储消息的位图索引,采用布隆滤波器,对所述待存储消息和所述已存储消息进行基于所述关键字的判重操作,包括:通过数个相互独立的随机映射函数,获取所述关键字的映射值;在所述已存储消息的位图索引中,查询与所述映射值对应的属性值;根据所述属性值判断所述待存储消息与所述已存储消息是否重复。3.根据权利要求1或2所述的磁盘存储方法,其特征在于,所述根据判重结果,对所述待存储消息进行处理,包括:当所述判重结果为不重复时,将所述待存储消息写入磁盘;当所述判重结果为重复时,根据所述已存储消息的磁盘索引,对所述待存储消息进行基于所述关键字的磁盘检索,并根据磁盘检索结果对所述待存储消息进行处理。4.根据权利要求3所述的磁盘存储方法,其特征在于,所述根据磁盘检索结果对所述待存储消息进行处理,包括:当所述磁盘检索结果为不重复时,将所述待存储消息写入磁盘;当所述磁盘检索结果为重复时,结束操作。5.根据权利要求4所述的磁盘存储方法,其特征在于,在将所述待存储消息写入磁盘的同时,还包括:更新所述位图索引和所述磁盘索引。6.一种磁盘存储方法,其特征在于,包括:获取待存储消息的关键字;在内存中,对所述待存储消息和已存储消息进行基于所述关键字的判重操作;根据判重结果,对所述待存储消息进行处理。7.根据权利要求6所述的磁盘存储方法,其特征在于,所述根据判重结果,对所述待存储消息进行处理,包括:当所述判重结果为不重复时,将所述待存储消息写入磁盘;当所述判重结果为重复时,根据所述已存储消息的磁盘索引,对所述待存储消息进行基于所述关键字的磁盘检索,并根据磁盘检索结果对所述待存储消息进行处理。8.根据权利要求7所述的磁盘存储方法,其特征在于,所述根据磁盘检索结果对所述待存储消息进行处理,包括:当所述磁盘检索结果为不重复时,将所述待存储消息写入磁盘;当所述磁盘检索结果为重复时,结束操作。9.一种消息推送方法,其特征在于,包括:获取待推送消息的关键字,所述关键字为所述待推送消息的目标用户ID;根据已推送消息的位图索引,采用布隆过滤器,对所述待推送消息和所述已推送消息进行基于所述关键字的判重操作,其中,所述已推送消息存储于磁盘中,所述已推送消息的位图索引存储于内存中;根据判重结果,对所述待推送消息进行推送处理。10.根据权利要求9所述的消息推送方法,其特征在于,所述根据已推送消息的位图索引,采用布隆过滤器,对所述待推送消息和所述已推送消息进行基于所述关键字的判重操作,包括:通过数个相互独立的随机映射函数,获取所述关键字的映射值;在所述已推送消息的位图索引中,查询与所述映射值对应的属性值;根据所述属性值判断所述待推送消息与所述已推送消息是否重复。11.根据权利要求9或10所述的消息推送方法,其特征在于,所述根据判重结果,对所述待推送消息进行推送...
【专利技术属性】
技术研发人员:刘振东,王小瑞,冯嘉,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。