一种扫码登记信息数据在线实时统计方法技术

技术编号:31505501 阅读:28 留言:0更新日期:2021-12-22 23:35
本发明专利技术涉及扫码登记信息数据统计领域,具体提供了一种扫码登记信息数据在线实时统计方法,该方法分为两部分,分别为初步统计和最终统计;在初步统计中将生成两种表,商户场所每日访问次数记录表存放所有商户场所每日用户访问次数;商户场所每日用户访问时间记录表存储商户场所中每个用户最后访问此商户场所的时间;接收kafka数据,将商户场所和用户信息初步统计后更新到这两种表,最终统计通过关联这两种表进行统计得到最终的四个维度的商户统计数据存放到mongodb集合中。与现有技术相比,本发明专利技术采用Kafka+MySql+Mongodb架构,既可以降低数据库性能消耗降低高并发带来的风险,提高统计模块的稳定性和扩展性,又可以进行在线实时统计结果数据展示。线实时统计结果数据展示。线实时统计结果数据展示。

【技术实现步骤摘要】
一种扫码登记信息数据在线实时统计方法


[0001]本专利技术涉及扫码登记信息数据统计领域,具体提供一种扫码登记信息数据在线实时统计方法。

技术介绍

[0002]当前对于扫码登记增量数据的统计方案有两种,第一种方案是将原数据存储在数据库中,然后根据需要利用统计查询语句进行统计;第二种方案就是在固定时间采用离线全量的方式进行统计,将统计结果放入表里,方便前端进行查询。
[0003]这两种方案都有很大缺陷,第一种方案根据原数据采用统计语句进行统计,当数据量很大或者并发查询量很高的时候,对数据库的性能要求很高,并且会出现查询时间长,甚至会有数据库挂掉的风险。第二种方案减轻了数据库的负担,但是统计结果不是实时的,得不到当前实时数据统计结果。如何选择可以在线实时统计并提高数据库稳定性降低数据库性能要求是本专利技术要解决的问题。

技术实现思路

[0004]本专利技术进一步的技术任务是提供一种实用性强的扫码登记信息数据在线实时统计方法。
[0005]本专利技术解决其技术问题所采用的技术方案是:
[0006]一种扫码登记信息数据在线实时统计方法,该方法分为两部分,一部分是进行初步统计,另一部分是最终统计;
[0007]在初步统计中将生成两种表,第一种表为商户场所每日访问次数记录表,商户场所每日访问次数记录表存放所有商户场所每日用户访问次数,第二个表为商户场所每日用户访问时间记录表,商户场所每日用户访问时间记录表存储商户场所中每个用户最后访问此商户场所的时间;
[0008]接收kafka数据,将商户场所和用户信息初步统计后更新到这两种表,最终统计通过关联这两种表进行统计得到最终的四个维度的商户统计数据存放到mongodb集合中。
[0009]作为优选,第一种表包括商户ID、入户ID、统计日期和访问量。
[0010]作为优选,第二种表是以商户场所为单位建的表,表名为商户 ID,包括入口ID、用户ID和最后一次访问时间。
[0011]作为选优,所述方法采用Kafka+MySql+Mongodb架构,独立扫码登记系统之外,与所述扫码登记系统是松耦合关系。
[0012]进一步的,从Kafka中接收到数据,数据字段标准有商户场所 ID、入口ID、用户ID、登记时间四个字段信息,进行更新MySql表。
[0013]进一步的,所述商户场所每日访问次数记录表和商户场所每日用户访问时间记录表通过接收Kafka数据进行数据的初步统计,分别去更新这个两种表的累计次数信息和最后一次访问信息,MySql库采用的是分表的策略,通过按照商户场所水平切分,一个商户场
所维护一个数据表。
[0014]进一步的,根据接收到的商户数据,对这个商户的四个统计维度信息进行最终统计,将统计后的结果更新到mongodb集合中,使前端进行查询展示。
[0015]进一步的,mongodb集合按照商户字段进行分片,集合数据均匀分布在每个分片节点上,有效的将数据读写任务均匀的分配到每个机器上,mongodb采用分片集群模式,有数据备份和容灾机制,后续可以根据业务量,通过增加分片的方式对数据库进行横向扩展。
[0016]本专利技术的一种扫码登记信息数据在线实时统计方法和现有技术相比,具有以下突出的有益效果:
[0017]采用松耦合Kafka+MySql+Mongodb架构的在线实时统计方案,将统计模块在扫码登记系统中剥离,有效的提高了扫码登记系统和统计模块的稳健性;采用Kafka+MySql+Mongodb架构,既可以降低数据库性能消耗降低高并发带来的风险,提高统计模块的稳定性和扩展性,又可以进行在线实时统计结果数据展示。扫码登记统计模块可以实时准确的记录商户场所每日人流量和累计人流量。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]附图1是一种扫码登记信息数据在线实时统计方法的流程示意图。
具体实施方式
[0020]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0021]下面给出一个最佳实施例:
[0022]如图1所示,本实施例的一种扫码登记信息数据在线实时统计方法,该方法分为两部分,一部分是进行初步统计,另一部分是最终统计。
[0023]在初步统计中将生成两种表,第一种表为商户场所每日访问次数记录表,商户场所每日访问次数记录表存放所有商户场所每日用户访问次数(hospital_entrance_time),表结构如下:
[0024]表1
[0025]hospitalidentranceidstatisticsDatenumbers商户ID入口ID统计日期访问量
[0026]第二个表为商户场所每日用户访问时间记录表,商户场所每日用户访问时间记录表存储商户场所中每个用户最后访问此商户场所的时间,表结构如下:
[0027]表2
[0028]entranceiduseridlast_time
入口ID用户ID最后一次访问时间
[0029]接收kafka数据,将商户场所和用户信息初步统计后更新到这两种表,最终统计通过关联这两种表进行统计得到最终的四个维度的商户统计数据存放到mongodb集合中,mongodb集合结构如下:
[0030]表3
[0031]recordId统计记录IDhospitalId场所IDentranceId入口IDstatisticsDate统计日期lastUpdate最后更新时间todayUserCount今日扫码用户数todayScanCount今日扫码次数totalUserCount累计扫码用户数totalScanCount累计扫码次数
[0032]首先,第一部分接受Kafka数据,数据字段标准有商户场所ID、入口ID、用户ID、登记时间四个字段信息,更新MySql表:商户场所每日访问次数记录表和商户场所每日用户访问时间记录表,通过接受Kafka数据,进行数据的初步统计,分别去更新这个两种表的累计次数信息和最后一次访问信息,MySql库采用的是分表的策略,通过按照商户场所水平切分,一个商户场所维护一个数据表,可以解决单表数据量很大时,即使添加从库、优化索引也解决不了查询性能差的问题。
[0033]利用Kafka作为数据流的传输通道,可以根据数据量来控制 topic分区数量,从而应对不通环境下的数据量变化,有很好的扩展性和稳定性。
[0034]第二部分是通过接收到商户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种扫码登记信息数据在线实时统计方法,其特征在于,该方法分为两部分,一部分是进行初步统计,另一部分是最终统计;在初步统计中将生成两种表,第一种表为商户场所每日访问次数记录表,商户场所每日访问次数记录表存放所有商户场所每日用户访问次数,第二个表为商户场所每日用户访问时间记录表,商户场所每日用户访问时间记录表存储商户场所中每个用户最后访问此商户场所的时间;接收kafka数据,将商户场所和用户信息初步统计后更新到这两种表,最终统计通过关联这两种表进行统计得到最终的四个维度的商户统计数据存放到mongodb集合中。2.根据权利要求1所述的一种扫码登记信息数据在线实时统计方法,其特征在于,第一种表包括商户ID、入户ID、统计日期和访问量。3.根据权利要求2所述的一种扫码登记信息数据在线实时统计方法,其特征在于,第二种表是以商户场所为单位建的表,表名为商户ID,包括入口ID、用户ID和最后一次访问时间。4.根据权利要求3所述的一种扫码登记信息数据在线实时统计方法,其特征在于,所述方法采用Kafka+MySql+Mongodb架构,独立扫码登记系统之外,与所述扫码登记系统是松耦合关系。5.根据权利要求4所...

【专利技术属性】
技术研发人员:许再涛石兴磊张谦
申请(专利权)人:山东健康医疗大数据有限公司
类型:发明
国别省市:

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

1