一种大规模清单类数据管理方法及装置制造方法及图纸

技术编号:37422849 阅读:12 留言:0更新日期:2023-04-30 09:44
本发明专利技术提供的一种大规模清单类数据管理方法及装置,其方法包括:获取用户表,得到用户表上的用户序号所对应的用户标识;将每一份清单对应存储为一个字节序列,在字节序列上与用户序号对应的二进制位按照用户是否在清单内来置数,以得到每一份清单所分别对应的清单字符串。本发明专利技术减少了大规模清单类数据的存储空间,提高了检索性能和更新性能,且支持更多数量的并行检索。量的并行检索。量的并行检索。

【技术实现步骤摘要】
一种大规模清单类数据管理方法及装置


[0001]本专利技术涉及数据存储
,特别涉及一种大规模清单类数据管理方法及装置。

技术介绍

[0002]大规模清单类数据的特点是数据量大,数据结构相对简单。其中,一份清单记录的是具有某个共同属性的对象的一个数据集合,常见的业务场景如用户白名单、欠费用户、近三月活跃用户、用户标签等等,而同一批用户可以分属于不同的清单。
[0003]针对大规模清单类数据的存储和检索,现有的技术方案通常用使用基于磁盘存储的关系型数据库或者非关系型数据库来存储,检索也使用相应的数据库检索语句去实现。
[0004]以用户标签为例,存储方式一般是在数据库内建立多张数据表:用户表、标签表、用户标签关系表,其中用户标签关系表存储用户和标签的关系,不仅数据量最大,且数据量会随着业务增长不断的增加。
[0005]具体而言,在某个业务需求下,其清单示例如下:清单一包括有137****3512、137****3213、137****3225
……
192****2342;清单二包括有137****3451、137****3213、137****3214
……
。此时,传统数据库方式中的存储清单示例分别如表1和表2所示:
[0006]表1、用户表
[0007]序号用户标识1137****34512137****35123137****32134137****32145137****3225
…………
n192****2342r/>[0008]表2、用户清单关系表
[0009]序号清单标识用户标识1清单1137****35122清单1137****32133清单1137****32254清单1192****23425清单1 6清单2137****34517清单2137****32138清单2137****32149清单2
……
10
…………
[0010]由此,现有的使用基于磁盘的关系型数据库或者非关系型数据库存储清单类数据的技术有以下缺点:
[0011]1.清单类数据所占用的存储空间大。
[0012]2.存储的清单类数据的检索性能会因为数据量的持续增加而持续降低。
[0013]3.随着数据量的增加,更新清单数据变得越来越困难,更新需要花费的时间越来越多。
[0014]4.因检索性能随着数据量增大而持续降低,将导致能支持同时进行的检索数量减少。
[0015]因此,需要提供一种新的大规模清单类数据的管理方法来解决上述传统数据库方式存储清单类数据的问题。

技术实现思路

[0016]为了解决现有技术的上述问题,本专利技术提供一种大规模清单类数据管理方法及装置,减少了大规模清单类数据的存储空间,提高了检索性能和更新性能,且支持更多数量的并行检索。
[0017]为了达到上述目的,本专利技术采用的技术方案为:
[0018]第一方面,本专利技术提供一种大规模清单类数据管理方法,包括:
[0019]获取用户表,得到所述用户表上的用户序号所对应的用户标识;
[0020]将每一份清单对应存储为一个字节序列,在所述字节序列上与所述用户序号对应的二进制位按照用户是否在清单内来置数,以得到每一份清单所分别对应的清单字符串。
[0021]本专利技术的有益效果在于:将每一份清单对应存储为一个字节序列,且在字符串上对应用户的一个二进制位的数字来保存用户是否在清单内,完成清单存储,这样减少了传统方式中用户标识大量重复所造成的存储空间浪费的问题,从而减少了大规模清单类数据的存储空间;而多种清单和用户对应关系是按照字符串分开存储,互不影响,因此,随着数据量的持续增加,其存储性能、检索性能和更新性能也不受影响,此时,当多个检索同时进行时,响应时间大大减少,从而支持更多数量的并行检索。
[0022]可选地,还包括步骤:
[0023]获取更新第二清单的更新请求;
[0024]根据所述第二清单的旧清单内容和待更新的新清单内容分别得到旧清单集合和新清单集合,通过两个集合的差集方式更新所述第二清单所对应的第二字符串。
[0025]根据上述描述可知,采用集合差集方式更新清单,使得清单更新的耗时大大减少。
[0026]可选地,所述通过两个集合的差集方式更新所述第二清单所对应的第二字符串包括:
[0027]将旧清单集合减去新清单集合,得到第一用户集合;
[0028]将新清单集合减去旧清单集合,得到第二用户集合;
[0029]将所述第二字符串中与所述第一用户集合中每一个用户的用户序号对应的二进制位置为用户不在清单内的数字,且在与所述第二用户集合中每一个用户的用户序号对应的二进制位置为用户在清单内的数字。
[0030]根据上述描述可知,清单更新时,将新旧清单内容作为两个集合,以两个集合的差值取得应该从清单中删除以及需要新增到清单内的用户,从而实现增量更新,减少操作数据的次数,提高更新清单的性能。
[0031]可选地,还包括步骤:
[0032]获取检索第一清单所包含的所有用户的检索请求;
[0033]读取所述第一清单所对应的第一字符串,获取在所述第一字符串上所有表示用户在清单内的数字所在的二进制位,根据所在的二进制位所对应的用户序号在所述用户表中获取用户标识,得到所述第一清单内的所有用户。
[0034]根据上述描述可知,通过二进制位上是否为用户在清单内的数字来参照用户表进行检索,从而提高检索性能。
[0035]可选地,还包括步骤:
[0036]获取清单表,得到所述清单表上的清单序号所对应的清单标识;
[0037]将每一个用户对应存储为一个字节序列,且在所述字节序列上与所述清单序号对应的二进制位按照用户是否在清单内来置数,以得到每一个用户所分别对应的用户字符串。
[0038]根据上述描述可知,将用户所属清单也通过字符串来存储,同样也能减少存储空间,提高检索性能和更新性能,以及允许多个检索并行。
[0039]可选地,所述清单字符串均存储在内存中。
[0040]根据上述描述可知,使用内存存储,极大的提高的数据的存储,检索和速度。
[0041]可选地,所述按照用户是否在清单内来置数为:若用户在清单内则置1,若用户不在清单内则置0。
[0042]第二方面,本专利技术提供一种大规模清单类数据管理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的一种大规模清单类数据管理方法。
[0043]其中,第二方面所提供的一种大规模清单类数据管理装置所对应的技术效果参照第一方面所提供的一种大规模清单类数据管理方法的相关描述。
附图说明
[0044]图1为本专利技术实施例的一种大规模清单类数据管理方法的主要流程示意图;
[0045]图2为本专利技术实施例的一种大规模清单类数据管理装置本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种大规模清单类数据管理方法,其特征在于,包括:获取用户表,得到所述用户表上的用户序号所对应的用户标识;将每一份清单对应存储为一个字节序列,在所述字节序列上与所述用户序号对应的二进制位按照用户是否在清单内来置数,以得到每一份清单所分别对应的清单字符串。2.根据权利要求1所述的一种大规模清单类数据管理方法,其特征在于,还包括步骤:获取更新第二清单的更新请求;根据所述第二清单的旧清单内容和待更新的新清单内容分别得到旧清单集合和新清单集合,通过两个集合的差集方式更新所述第二清单所对应的第二字符串。3.根据权利要求2所述的一种大规模清单类数据管理方法,其特征在于,所述通过两个集合的差集方式更新所述第二清单所对应的第二字符串包括:将旧清单集合减去新清单集合,得到第一用户集合;将新清单集合减去旧清单集合,得到第二用户集合;将所述第二字符串中与所述第一用户集合中每一个用户的用户序号对应的二进制位置为用户不在清单内的数字,且在与所述第二用户集合中每一个用户的用户序号对应的二进制位置为用户在清单内的数字。4.根据权利要求1所述的一种大规模清单类数据管理方法,其特征在于,还包括步骤:获取检索第一清...

【专利技术属性】
技术研发人员:谢建国
申请(专利权)人:福建福诺移动通信技术有限公司
类型:发明
国别省市:

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

1