【技术实现步骤摘要】
数据查询、存储方法及系统
本说明书涉及计算机数据存储技术。
技术介绍
目前,为了提高商品的日活动量,增强用户粘度,经常遇到以下应用场景:商户需要统计用户连续执行某个动作的信息,然后根据统计信息制定不同的策略进行推广或营销。比如:根据用户连续登录的次数赠送不同数量的积分,用户连续登录7天可获取Vip试用权限,用户连续签到10天可获取某产品的折扣券等等。然而,在传统的方案中,一次打卡记录对应一条数据(例如数据库中的一条记录,或日志文件中的一行数据),这条数据包括打卡人的标识、打卡时间等信息,导致数据量较大,不但浪费存储空间,同时还导致查询时加载数据过多,查询效率下降,并发吞吐降低。
技术实现思路
本说明书提供了一种数据查询、存储方法及系统,能够节省存储空间,减少延迟,提高查询的效率。本申请公开了一种数据存储方法,包括:当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;将修改后的位图写回所述存储设备,替换修改前的位图。在一个优选例中,所述约定事件是登录操作或打卡操作。在一个优选例中,所述存储设备是数据库服务器或文件存储服务器。在一个优选例中,所述当约定事件被触发时,从存储设备读取一个位图,进一步 ...
【技术保护点】
1.一种数据存储方法,包括:/n当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;/n根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;/n将修改后的位图写回所述存储设备,替换修改前的位图。/n
【技术特征摘要】
1.一种数据存储方法,包括:
当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;
根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;
将修改后的位图写回所述存储设备,替换修改前的位图。
2.如权利要求1所述的数据存储方法,其中,所述约定事件是登录操作或打卡操作。
3.如权利要求1所述的数据存储方法,其中,所述存储设备是数据库服务器或文件存储服务器。
4.如权利要求1所述的数据存储方法,其中,所述当约定事件被触发时,从存储设备读取一个位图,进一步包括:
指定接口被业务系统调用,该业务系统向该接口传入所述约定事件被触发的触发时间和该约定事件对应的执行主体的主体标识;
根据所述主体标识在所述存储设备中查询属于所述执行主体并在时间上覆盖所述触发时间的位图,并加载该位图。
5.一种数据查询方法,包括:
根据查询条件,从存储设备获取一个或多个位图;
将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发;
对所述数据结构中的数据进行查询,返回查询结果。
6.如权利要求1所述的数据查询方法,其中,所述数据结构是树集合。
7.如权利要求6所述的数据查询方法,其中,所述对所述数据结构中的数据进行查询,进一步包括:
通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内被触发的次数。
8.如权利要求7所述的数据查询方法,其中,所述对所述数据结构中的数据进行查询,进一步包括:
通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内最长连续被触发的次数和对应触发时间。
9.一种数据存储系统,包括:
读取模块,用于当约定事件被触发时从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;
修改模块,用于根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设...
【专利技术属性】
技术研发人员:黄文华,王帅,周家英,连文珑,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。