一种数据存储的方法和装置制造方法及图纸

技术编号:29614802 阅读:16 留言:0更新日期:2021-08-10 18:29
本发明专利技术公开了一种数据存储的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收待存储数据;根据所述待存储数据指示的用户标识,确定高频缓存中是否存储有所述用户标识对应的有效的已缓存数据;如果是,在所述高频缓存中利用Bitmaps对所述待存储数据进行存储;如果否,在数据库中利用int字段对所述待存储数据进行存储。该实施方式降低了数据存储量,提高了数据访问效率。

【技术实现步骤摘要】
一种数据存储的方法和装置
本专利技术涉及计算机
,尤其涉及一种数据存储的方法和装置。
技术介绍
随着计算机技术的发展,越来越多的用户通过电商平台进行购物,因此,电商平台的数据量(用户的活动签到数据、购物数据和点击数据等)也与日俱增。对于电商平台数据量的存储,现有技术通常采用逐条记录保存的方式。例如,对于用户的活动签到数据,每个用户每签到一次,则产生一条数据,数据库对大量用户产生的签到数据进行逐条保存。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:每个用户每天一条记录,每个用户10天就是10条记录,因此,大量用户在签到过程中会产生数据量庞大的签到数据,逐条对这些签到数据进行保存需要大量的存储空间。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据存储的方法和装置,能够利用Bitmaps将待缓存数据存储于高频缓存中,从而减少高频缓存中的数据存储量,并且,存储在高频缓存中的已缓存数据可便于访问,由此提高数据的访问效率。另外,在数据库中利用int字段对待存储数据进行存储,也可以减少数据库中的数据存储量,降低存储数据所占用的存储空间。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据存储的方法,包括:接收待存储数据;根据所述待存储数据指示的用户标识,确定高频缓存中是否存储有所述用户标识对应的有效的已缓存数据;如果是,在所述高频缓存中利用Bitmaps对所述待存储数据进行存储;如果否,在数据库中利用int字段对所述待存储数据进行存储。可选地,在所述确定高频缓存中是否存储有所述用户标识对应的有效已缓存数据之前,还包括:判断所述用户标识是否对应高频用户,如果是,根据所述用户标识在所述高频缓存中确定是否存在所述已缓存数据,并且确定所述已缓存数据有效。可选地,在判断出所述用户标识对应高频用户,且所述高频缓存中不存在所述用户标识对应的所述已缓存数据时,在数据库中确定所述用户标识对应的已存储数据,并在所述高频缓存中利用Bitmaps存储所述已存储数据。可选地,所述判断所述用户标识是否对应高频用户,包括:根据以下任意一个或多个要素,确定所述用户标识对应的频率;所述要素包括:预设时长内所述用户标识对应的已存储数据、所述已存储数据对应的总时长、所述已存储数据中的首个存储数据的存储时刻距离当前时刻的第一时长、预设时刻距离当前时刻的第二时长,所述预设时刻在所述首个存储的存储时刻之前;当所述频率大于预设频率阈值时,确定所述用户标识对应高频用户。可选地,当判断出所述用户标识不对应高频用户时,还包括:根据所述用户标识在所述高频缓存中确定是否存在所述已缓存数据,如果是,根据预设有效期限,确定所述已缓存数据是否有效。可选地,在所述在所述高频缓存中利用Bitmaps对所述待存储数据进行存储之后,还包括:在所述高频缓存中更新所述用户标识对应的已存储数据的缓存时长。可选地,当所述已缓存数据无效时,还包括:根据所述高频缓存中利用Bitmaps所存储的所述已存储数据,对所述数据库中利用int字段进行更新,并在更新后删除所述高频缓存中的已存储数据。可选地,所述数据库中利用int字段对所述待存储数据进行存储,包括:利用所述int字段的每一位存储每一个所述待存储数据,并根据所述用户标识设置所述int字段的存储标识。可选地,所述int字段存储于第一数据表中;当所述数据表中所存储的int字段的数量大于预设数量阈值时,还包括:将所述第一数据表中的多个所述int字段进行分组,并利用多个第二数据表分别存储分组后的所述int字段。可选地,利用哈希算法计算所述存储标识的摘要值,将所述摘要值与所述第二数据表的数量取模,根据取模结果,对所述多个int字段进行分组。根据本专利技术实施例的第二方面,提供了一种一种数据存储的装置,包括:接收模块、确定模块、第一存储模块和第二存储模块;其中,所述接收模块,用于接收待存储数据;所述确定模块,用于根据所述待存储数据指示的用户标识,确定高频缓存中是否存储有所述用户标识对应的有效的已缓存数据;如果是,触发所述第一存储模块;如果否,触发所述第二存储模块;所述第一存储模块,用于在所述高频缓存中利用Bitmaps对所述待存储数据进行存储;所述第二存储模块,用于在数据库中利用int字段对所述待存储数据进行存储。根据本专利技术实施例的第三方面,提供了一种数据存储的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面提供的一种数据存储的方法中任一所述的方法。根据本专利技术实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面提供的一种数据存储的方法中任一所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:当高频缓存中存储有与待存储数据对应的已缓存数据时,利用Bitmaps将待缓存数据存储于高频缓存中;由此,Bitmaps的每一位可用于存储一个待缓存数据,从而减少高频缓存中的数据存储量;进一步地,相对于存储于数据库中的已存储数据,存储在高频缓存中的已缓存数据可便于访问,由此提高数据的访问效率。另外,当高频缓存中未存储有与待存储数据对应的已存储数据时,在数据库中利用int字段对待存储数据进行存储,其中,int字段的每一位也可存储一个待存储数据,由此减少数据库中的数据存储量,降低存储数据所占用的存储空间。综上,通过高频缓存与数据库相结合的存储方式对数据进行缓存,一方面降低了数据存储量,节约的存储空间,另一方面有利于提高数据访问效率。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的数据存储方法的主要流程的示意图;图2是根据本专利技术实施例中利用int字段动态存储数据的示意图;图3是根据本专利技术实施例的一种int字段的数据存储结构的示意图;图4是根据本专利技术实施例的一种根据分表策略进行分表的示意图;图5是根据本专利技术实施例的一种利用哈希算法进行分表的示意图;图6是根据本专利技术实施例的数据存储装置的主要模块的示意图;图7是本专利技术实施例可以应用于其中的示例性系统架构图;图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中本文档来自技高网...

【技术保护点】
1.一种数据存储的方法,其特征在于,包括:/n接收待存储数据;/n根据所述待存储数据指示的用户标识,确定高频缓存中是否存储有所述用户标识对应的有效的已缓存数据;/n如果是,在所述高频缓存中利用Bitmaps对所述待存储数据进行存储;/n如果否,在数据库中利用int字段对所述待存储数据进行存储。/n

【技术特征摘要】
1.一种数据存储的方法,其特征在于,包括:
接收待存储数据;
根据所述待存储数据指示的用户标识,确定高频缓存中是否存储有所述用户标识对应的有效的已缓存数据;
如果是,在所述高频缓存中利用Bitmaps对所述待存储数据进行存储;
如果否,在数据库中利用int字段对所述待存储数据进行存储。


2.根据权利要求1所述的方法,其特征在于,在所述确定高频缓存中是否存储有所述用户标识对应的有效已缓存数据之前,还包括:
判断所述用户标识是否对应高频用户,如果是,根据所述用户标识在所述高频缓存中确定是否存在所述已缓存数据,如果是,确定所述已缓存数据有效。


3.根据权利要求2所述的方法,其特征在于,在判断出所述用户标识对应高频用户,且所述高频缓存中不存在所述用户标识对应的所述已缓存数据时,
在数据库中确定所述用户标识对应的已存储数据,并在所述高频缓存中利用Bitmaps存储所述已存储数据。


4.根据权利要求2所述的方法,其特征在于,所述判断所述用户标识是否对应高频用户,包括:
根据以下任意一个或多个要素,确定所述用户标识对应的频率;所述要素包括:
预设时长内所述用户标识对应的已存储数据、所述已存储数据对应的总时长、所述已存储数据中的首个存储数据的存储时刻距离当前时刻的第一时长、预设时刻距离当前时刻的第二时长,所述预设时刻在所述首个存储的存储时刻之前;
当所述频率大于预设频率阈值时,确定所述用户标识对应高频用户。


5.根据权利要求2所述的方法,其特征在于,当判断出所述用户标识不对应高频用户时,还包括:
根据所述用户标识在所述高频缓存中确定是否存在所述已缓存数据,如果是,根据预设有效期限,确定所述已缓存数据是否有效。


6.根据权利要求1所述的方法,其特征在于,在所述高频缓存中利用Bitmaps对所述待存储数据进行存储之后,还包括:
在所述高频缓存中更新所述用户标识对应的已存储数据的缓存时长。


7.根据权利要求5所述的方法,其...

【专利技术属性】
技术研发人员:牛旭
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:北京;11

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

1