用于存储数据的方法和装置制造方法及图纸

技术编号:18289658 阅读:42 留言:0更新日期:2018-06-24 04:26
本申请实施例公开了用于存储数据的方法和装置。该方法的一具体实施方式包括:读取目标数据集合包括的多个子数据集合,其中,子数据集合由目标数据集合划分得到;按照预先确定的第一格式,将多个子数据集合中的空集存储至第一存储空间;确定多个子数据集合中的每个数据的哈希值,得到多个哈希值集合;将多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间该实施方式提高了数据处理的灵活性。

【技术实现步骤摘要】
用于存储数据的方法和装置
本申请实施例涉及计算机
,具体涉及用于存储数据的方法和装置。
技术介绍
基数(Cardinality),是指一个数据集合中不同数据的数量。目前,在大数据(Bigdata)的基数统计过程中,一般需要对原始数据进行处理。对于不同的集合,每次计算集合的基数时,往往需要从原始数据出发,分别遍历执行同一算法,以求得集合的基数。当前,基数求解算法可以广泛应用于网站访问分析中的UV(访客数,指一段时间内访问网站的不同用户的数量)统计等领域。
技术实现思路
本申请实施例提出了用于存储数据的方法和装置。第一方面,本申请实施例提供了一种用于存储数据的方法,该方法包括:读取目标数据集合包括的多个子数据集合,其中,子数据集合由目标数据集合划分得到;按照预先确定的第一格式,将多个子数据集合中的空集存储至第一存储空间;确定多个子数据集合中的每个数据的哈希值,得到多个哈希值集合;将多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间。在一些实施例中,上述方法还包括:针对多个哈希值集合中的每个哈希值集合,确定该哈希值集合对应的字节数组,其中,字节数组中元素的位置基于哈希值集合中的各个哈希值中的前预定数量个比特位上的数据来确定,字节数组中的元素基于哈希值集合中的哈希值所表征的二进制数据中的首个1的位置来确定,字节数组的长度是预先确定的。在一些实施例中,上述方法还包括:将所确定的字节数组中符合第二预设存储条件的字节数组中的非0元素以及非0元素在字节数组中的位置,按照预先确定的第三格式,存储至第三存储空间。在一些实施例中,上述方法还包括:将所确定的字节数组中符合第三预设存储条件的字节数组,按照预先确定的第四格式,存储至第四存储空间。在一些实施例中,上述方法还包括:基于第一存储空间、第二存储空间、第三存储空间以及第四存储空间所存储的数据,创建物化视图。在一些实施例中,上述方法还包括:根据所确定的字节数组中最大的字节数组,确定目标数据集合的基数。第二方面,本申请实施例提供了一种用于存储数据的装置,该装置包括:读取单元,配置用于读取目标数据集合包括的多个子数据集合,其中,子数据集合由目标数据集合划分得到;第一存储单元,配置用于按照预先确定的第一格式,将多个子数据集合中的空集存储至第一存储空间;第一确定单元,配置用于确定多个子数据集合中的每个数据的哈希值,得到多个哈希值集合;第二存储单元,配置用于将多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间。在一些实施例中,上述装置还包括:第二确定单元,配置用于针对多个哈希值集合中的每个哈希值集合,确定该哈希值集合对应的字节数组,其中,字节数组中元素的位置基于哈希值集合中的各个哈希值中的前预定数量个比特位上的数据来确定,字节数组中的元素基于哈希值集合中的哈希值所表征的二进制数据中的首个1的位置来确定,字节数组的长度是预先确定的。在一些实施例中,上述装置还包括:第三存储单元,配置用于将所确定的字节数组中符合第二预设存储条件的字节数组中的非0元素以及非0元素在字节数组中的位置,按照预先确定的第三格式,存储至第三存储空间。在一些实施例中,上述装置还包括:第四存储单元,配置用于将所确定的字节数组中符合第三预设存储条件的字节数组,按照预先确定的第四格式,存储至第四存储空间。在一些实施例中,上述装置还包括:创建单元,配置用于基于第一存储空间、第二存储空间、第三存储空间以及第四存储空间所存储的数据,创建物化视图。在一些实施例中,上述装置还包括:第三确定单元,配置用于根据所确定的字节数组中最大的字节数组,确定目标数据集合的基数。第三方面,本申请实施例提供了一种用于存储数据的服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得该一个或多个处理器实现如上述用于存储数据的方法中任一实施例的方法。第四方面,本申请实施例提供了一种用于存储数据的计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述用于存储数据的方法中任一实施例的方法。本申请实施例提供的用于存储数据的方法和装置,通过读取目标数据集合包括的多个子数据集合,然后按照预先确定的第一格式,将多个子数据集合中的空集存储至第一存储空间,之后确定多个子数据集合中的每个数据的哈希值,得到多个哈希值集合,最后将多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间,从而提高了数据处理的灵活性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请实施例可以应用于其中的示例性系统架构图;图2是根据本申请的用于存储数据的方法的一个实施例的流程图;图3A是根据本申请的用于存储数据的方法的一个应用场景的示意图;图3B是图3A的应用场景中的数据存储示意图;图3C是根据本申请的用于存储数据的方法的又一个应用场景的示意图;图3D是图3C的应用场景中的数据存储示意图;图4是根据本申请的用于存储数据的方法的又一个实施例的流程图;图5是根据本申请的用于存储数据的方法的一个数据存储示意图;图6是根据本申请的用于存储数据的方法的又一个数据存储示意图;图7是根据本申请的用于存储数据的装置的一个实施例的结构示意图;图8是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于存储数据的方法或用于存储数据的装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如数据搜索类应用、数据统计类应用、网页浏览器应用、购物类应用等。终端设备101、102、103可以是具有显示屏并且支持数据处理的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。服务器105可以是提供各种服务的服务器,例如对终端设备101、本文档来自技高网...
用于存储数据的方法和装置

【技术保护点】
1.一种用于存储数据的方法,包括:读取目标数据集合包括的多个子数据集合,其中,子数据集合由所述目标数据集合划分得到;按照预先确定的第一格式,将所述多个子数据集合中的空集存储至第一存储空间;确定所述多个子数据集合中的每个数据的哈希值,得到多个哈希值集合;将所述多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间。

【技术特征摘要】
1.一种用于存储数据的方法,包括:读取目标数据集合包括的多个子数据集合,其中,子数据集合由所述目标数据集合划分得到;按照预先确定的第一格式,将所述多个子数据集合中的空集存储至第一存储空间;确定所述多个子数据集合中的每个数据的哈希值,得到多个哈希值集合;将所述多个哈希值集合中符合第一预设存储条件的哈希值集合中的各个哈希值以及哈希值的数目,按照预先确定的第二格式,存储至第二存储空间。2.根据权利要求1所述的方法,其中,所述方法还包括:针对所述多个哈希值集合中的每个哈希值集合,确定该哈希值集合对应的字节数组,其中,字节数组中元素的位置基于哈希值集合中的各个哈希值中的前预定数量个比特位上的数据来确定,字节数组中的元素基于哈希值集合中的哈希值所表征的二进制数据中的首个1的位置来确定,字节数组的长度是预先确定的。3.根据权利要求2所述的方法,其中,所述方法还包括:将所确定的字节数组中符合第二预设存储条件的字节数组中的非0元素以及非0元素在字节数组中的位置,按照预先确定的第三格式,存储至第三存储空间。4.根据权利要求3所述的方法,其中,所述方法还包括:将所确定的字节数组中符合第三预设存储条件的字节数组,按照预先确定的第四格式,存储至第四存储空间。5.根据权利要求4所述的方法,其中,所述方法还包括:基于第一存储空间、第二存储空间、第三存储空间以及第四存储空间所存储的数据,创建物化视图。6.根据权利要求2-5之一所述的方法,其中,所述方法还包括:根据所确定的字节数组中最大的字节数组,确定所述目标数据集合的基数。7.一种用于存储数据的装置,包括:读取单元,配置用于读取目标数据集合包括的多个子数据集合,其中,子数据集合由所述目标数据集合划分得到;第一存储单元,配置用于按照预先确定的第一格式,将所述多个子数据集合中的空集存储至第一存储空间;第一确定单元,配置用于...

【专利技术属性】
技术研发人员:陈浩牟宇航马如悦
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1