一种大数据的分表数据展示方法技术

技术编号:32578567 阅读:9 留言:0更新日期:2022-03-09 17:08
本发明专利技术公开了一种大数据的分表数据展示方法,在实现快速展示时不是去缓存数据,而是只缓存数据的点位和分段信息,通过点位和分段信息去查询数据所在位置,在能正确查询出数据并展示的同时,不会造成缓存数据冗余和缓存量庞大,实现了系统的优化。实现了系统的优化。实现了系统的优化。

【技术实现步骤摘要】
一种大数据的分表数据展示方法


[0001]本专利技术涉及大数据
,尤其涉及一种大数据的分表数据展示方法。

技术介绍

[0002]在质量平台这种需要对大量数据进行分析的平台,大数据量或者超大数据量是很正常的现象。但是,当一个数据表的数据量达到上千万甚至几千万后,会出现两个问题。一个是查询速度慢导致的页面展示数据非常慢,甚至于数据库加了索引都无济于事;二是更严重的问题,数据量大了直接撑爆了单表,导致系统直接瘫痪。前者还可以用加缓存的办法来解决,但是表被撑爆的问题却不能用一般的方法来解决。目前在
通常有两种办法来处理表的问题,一是会直接购买价格更昂贵的大数据处理系统来避开这些难题,但是,直接上大数据处理系统工具,一是系统价格高,很多的公司无法承受这样的价格,二是本身大数据处理需要进行技术的学习,学习成本也高。第二种办法,是直接先将数据库分表,即同时建立多个一模一样的表,按照创建时间或者创建公司来对表进行后缀命名,然后将数据按照创建时间或者创建公司来区分,分别存储到各个表,解决了数据的存储问题,再利用缓存来解决数据处理慢的问题。但是,在分表后,数据的衔接问题就很重要,比如当某页按照查询条件,需要将第一个表的最后3条数据和第二张表的第2到第5条数据和第四张表的第3条到第5条数据组合展示成10条数据展示给用户时,实时计算需要的数据的位置、剩余数据不够后计算需要续上的数据量和数据的位置,并实时实现切换表并查询表就成了难题,目前在
还没找到相应的解决办法。

技术实现思路

[0003]本专利技术的目的就在于为了解决上述问题而提供一种大数据的分表数据展示方法,本专利技术采用数据点位标记的原理加上缓存机制,解决大数据量分表存储后正确展示数据的问题,从而解决本在分表后出现多数据源,如何正确的按照查询条件查询各个表需要的数据并组合展示的问题。
[0004]本专利技术通过以下技术方案来实现上述目的:
[0005]一种大数据的分表数据展示方法,包括以下步骤:
[0006]首先为了解决数据量大了直接撑爆了单表的问题,先将数据进行分表存储,为了分表存储数据,要针对表的类型进行分类,如公司A、公司B、公司C的数据量最大,其他的公司的数据量加起来才抵得上一个公司的数据量,这种情况下,就先按公司名进行分类,就分成4个表,分别存A、B、C和其他公司的数据。如果各个子公司的数据量都很小,但是总的来看每个月的所有公司的总数据量很大,就可以按月份进行分类,将数据以月份进行区分,分别建立月份数据表,依次导入数据。
[0007]其次,将实现数据的点位标记,就是在数据进入表后,将数据的分段条件(如创建时间、数据类型、所属公司)和位置进行点位标记处理,依次对分出去的每个表进行操作,将表内的数据按分段条件进行分段,并对这些分成多段的数据段进行段命名,然后遍历每一
个表的每一个段,依次拿到段的首尾数据的点位,将再按照表名加上段数据名再加上首尾数据点位组合在一起,组合成多个缓存数据,将所有的缓存数据依次存到缓存中。
[0008]最后,查询的部分,当遇到某类查询条件组合(公司集合、创建时间开始时间、创建时间结束时间、数据类型集合)时,首先按照查询条件组合的要求,在缓存里对数据进行全点位搜索,比如将公司集合加上创建时间开始时间加上数据类型作为起始条件,将公司集合加上创建时间结束时间加上数据类型作为结束条件,去缓存里获取到起始点位到结束点位的段,段的个数可能是0个,可能是1个,可能是多个,这个是根据查询条件组合出来的结果。如果是0个,直接返回空数据串给前端展示。如果是大于0个的段,根据分页的要求获取需要的数据的所有的点位,即将查询出的所有的段内的缓存数据按照页面大小(pageSize)重新进行组合,段内点位数据总数除以pageSize的值再向上取整得到总页数,建立总页数个数的页对象,每个页对象里面设置pageSize个位置,将点位数据按顺序排到各个页对象里面,再按照页数(pageNumber)得到对应页的所有点位数据,再算出本次需要的真实数据在各个表里面的点位分布,最后在数据库表里集中根据点位分别同时去各个表拿数据,在集中数据合并进行展示。
[0009]本专利技术的有益效果在于:
[0010]本专利技术的一种大数据的分表数据展示方法,在实现快速展示时不是去缓存数据,而是只缓存数据的点位和分段信息,通过点位和分段信息去查询数据所在位置,在能正确查询出数据并展示的同时,不会造成缓存数据冗余和缓存量庞大,实现了系统的优化。在不对数据本身进行缓存的情况下,实现对大数据量的问题进行正确展示,即实现了大数据的低成本存储,又实现了在小缓存的情况下数据能正确展示。
附图说明
[0011]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本专利技术流程图。
具体实施方式
[0013]为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。
[0014]在任一实施例中,如图1所示,本专利技术的一种大数据的分表数据展示方法,包括:
[0015]1、按照数据所属的时间或者公司,将数据分别存储在各个分表里面;(如总数据量4000万条数据,其中公司A、公司B、公司C的数据量最大,其他的公司的数据量加起来才抵得上一个公司的数据量,就分成4个表,分别存A、B、C和其他公司的数据,分别对表进行命名data_company_a,data_company_b,data_company_c,data_company_other);
[0016]各个表按照数据的另一种分类方式(如表按公司分,那表内数据就按时间分,反之
亦然),分别记下各个段(此例子为时间段)数据的起始点位(如a

20210101
‑1‑
13243,a

20210102

13244

27643,b

20210101
‑1‑
13,b

20210102

14

22,other

20210101
‑1‑
124,other

20210102

125

227等,a表示A公司表,中间时间是段的时间,后续的第一个数字是段数据在当前表的起始的id位置,最后的数字是段数据在当前表的结束的id位置),将数据点位存到缓存;
[0017]数据查询时:
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数据的分表数据展示方法,其特征在于,包括以下步骤:步骤1,将数据进行分表存储,并针对表的类型进行分类,分别建立数据表,依次导入数据;步骤2,根据数据的分段条件和位置进行点位标记处理,依次对分出去的每个表进行操作,将表内的数据按分段条件进行分段,并对这些分成多段的数据段进行段命名,然后遍历每一个表的每一个段,依次拿到段的首尾数据的点位,将再按照表名加上段数据名再加上首尾数据点位组合在一起,组合成多个缓存数据,将所有的缓存数据依次存到缓存中;步骤3,当遇到某类查询条件组合时,按照查询条件组合的要求,在缓存里对数据进行全点位搜索,在缓存里获取到起始点位到结束点位的段,段的个数可能是0个、1个或多个,如果是0个,直接返回空数据串给前端展示;如果是大于0个的段,根据分页的要求获取需要的数据的所有...

【专利技术属性】
技术研发人员:马越
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

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

1