基于离散分组的数据统计方法、系统、设备及存储介质技术方案

技术编号:26791490 阅读:15 留言:0更新日期:2020-12-22 17:06
本发明专利技术提供了基于离散分组的数据统计方法、系统、设备及存储介质,该方法包括:获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;将数据组根据数据处理设备的数量进行循环分组到对应的数据处理设备;获得统计请求方发送的数据统计条件,向每个数据处理设备发送数据统计条件;将数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。本发明专利技术能够提升程序的鲁棒性,避免流量峰值时的数据倾斜,并具有完备的状态管理,可以保证数据的精确一致。

【技术实现步骤摘要】
基于离散分组的数据统计方法、系统、设备及存储介质
本专利技术涉及数据统计领域,具体地说,涉及基于离散分组的数据统计方法、系统、设备及存储介质。
技术介绍
大数据情景下的实时数据统计是建设实时数仓体系的一个重要组成部分,无论是应用的业务系统展示还是应用的分析系统进行实时标签分析,实时汇总统计都是一个重要的技术场景,所以必须要保证大数据实时汇总统计程序的鲁棒性和灵活性。而对于集群系统,一般缓存是分布式的,即不同节点负责一定范围的缓存数据。通常把缓存数据分散度不够,导致大量的缓存数据集中到了一台或者几台服务节点上,称为数据倾斜。一般来说数据倾斜是由于负载均衡实施的效果不好引起的。因此,本专利技术提供了一种基于离散分组的数据统计方法、系统、设备及存储介质。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供基于离散分组的数据统计方法、系统、设备及存储介质,克服了现有技术的困难,能够提升程序的鲁棒性,避免流量峰值时的数据倾斜,并具有完备的状态管理,可以保证数据的精确一致。本专利技术的实施例提供一种基于离散分组的数据统计方法,包括以下步骤:S110、获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;S120、将所述数据组根据数据处理设备的数量进行循环分组到对应的所述数据处理设备;S130、获得统计请求方发送的数据统计条件,向每个所述数据处理设备发送数据统计条件;S140、将所述数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。优选地,所述步骤S110中将具有相同分组标签的实时数据分到同一数据组。优选地,所述步骤S120中,将所述数据组均匀分配到所述数据处理设备中。优选地,所述数据处理设备是服务器、数据存储单元、云储存单元中的任意一项。优选地,所述步骤S140中,所述数据统计条件为所述实时数据中一个属性值或者多个属性值的组合。优选地,所述步骤S140中,包括:每个所述数据处理设备根据所述数据统计条件进行搜索,获得作为数据统计信息子集并反馈;合并全部所述数据处理设备反馈的所述数据统计信息子集作为数据统计信息集合;向所述统计请求方反馈所述数据统计信息集合。优选地,所述实时数据是酒店运营数据,所述分组标签包括酒店名称和用户姓名。本专利技术的实施例还提供一种基于离散分组的数据统计系统,用于实现上述的基于离散分组的数据统计方法,所述基于离散分组的数据统计系统包括:数据离散模块,获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;循环分组模块,将所述数据组根据数据处理设备的数量进行循环分组到对应的所述数据处理设备;数据统计模块,获得统计请求方发送的数据统计条件,向每个所述数据处理设备发送数据统计条件;合并输出模块,将所述数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。本专利技术的实施例还提供一种基于离散分组的数据统计设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述基于离散分组的数据统计方法的步骤。本专利技术的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述基于离散分组的数据统计方法的步骤。本专利技术的目的在于提供基于离散分组的数据统计方法、系统、设备及存储介质,能够提升程序的鲁棒性,避免流量峰值时的数据倾斜,并具有完备的状态管理,可以保证数据的精确一致。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1是本专利技术的基于离散分组的数据统计方法的流程图。图2和3是本专利技术的基于离散分组的数据统计方法的过程示意图。图4是本专利技术的基于离散分组的数据统计系统的模块示意图。图5是本专利技术的基于离散分组的数据统计设备的结构示意图。以及图6是本专利技术一实施例的计算机可读存储介质的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本专利技术将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。图1是本专利技术的基于离散分组的数据统计方法的流程图。如图1所示,本专利技术的实施例提供一种基于离散分组的数据统计方法,包括以下步骤:S110、获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;S120、将数据组根据数据处理设备的数量进行循环分组到对应的数据处理设备;S130、获得统计请求方发送的数据统计条件,向每个数据处理设备发送数据统计条件;S140、将数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。在一个优选实施例中,步骤S110中将具有相同分组标签的实时数据分到同一数据组。在一个优选实施例中,步骤S120中,将数据组均匀分配到数据处理设备中。在一个优选实施例中,数据处理设备是服务器、数据存储单元、云储存单元中的任意一项。在一个优选实施例中,步骤S140中,数据统计条件为实时数据中一个属性值或者多个属性值的组合。在一个优选实施例中,步骤S140中,包括:每个数据处理设备根据数据统计条件进行搜索,获得作为数据统计信息子集并反馈;合并全部数据处理设备反馈的数据统计信息子集作为数据统计信息集合;向统计请求方反馈数据统计信息集合。在一个优选实施例中,实时数据是酒店运营数据,分组标签包括酒店名称和用户姓名。该方法的具体实现依赖于Flink的窗口及状态存储机制,窗口限定了需要进行实时统计的时间段及汇总结果的输出频率,状态存储机制保证的数据的精确一致性。(ApacheFlink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。)针对OTA行业来讲,对于数百万计的酒店合作方,精确的实时数据统计可以帮助公司为合作方提供更具时效性的流量投放展示。本专利技术解决了大数据实时统计中热点key导致的数据倾斜问题,提升了程序的鲁棒性及执行效率,并且通过两步化的处理,增加了业务逻辑的灵活性。并且该方法的实现仅基于Flink自身特性,减少了外部依赖,提升了程序的易维护性。图2和3是本专利技术的基于离散分组的数据统计方法的过程示意图。以下通过图2和3来具体介绍本专利技术的实施过程。如图2所示,获得本文档来自技高网...

【技术保护点】
1.一种基于离散分组的数据统计方法,其特征在于,包括以下步骤:/nS110、获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;/nS120、将所述数据组根据数据处理设备的数量进行循环分组到对应的所述数据处理设备;/nS130、获得统计请求方发送的数据统计条件,向每个所述数据处理设备发送数据统计条件;/nS140、将所述数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。/n

【技术特征摘要】
1.一种基于离散分组的数据统计方法,其特征在于,包括以下步骤:
S110、获得具有多个属性值的实时数据,基于实时数据中至少任意两项属性值的组合作为分组标签进行数据离散化,得到多个数据组;
S120、将所述数据组根据数据处理设备的数量进行循环分组到对应的所述数据处理设备;
S130、获得统计请求方发送的数据统计条件,向每个所述数据处理设备发送数据统计条件;
S140、将所述数据处理设备反馈的数据信息进行组合后作为数据统计结果输出。


2.根据权利要求1所述的基于离散分组的数据统计方法,其特征在于,所述步骤S110中将具有相同分组标签的实时数据分到同一数据组。


3.根据权利要求1所述的基于离散分组的数据统计方法,其特征在于,所述步骤S120中,将所述数据组均匀分配到所述数据处理设备中。


4.根据权利要求1所述的基于离散分组的数据统计方法,其特征在于,所述数据处理设备是服务器、数据存储单元、云储存单元中的任意一项。


5.根据权利要求1所述的基于离散分组的数据统计方法,其特征在于,所述步骤S140中,所述数据统计条件为所述实时数据中一个属性值或者多个属性值的组合。


6.根据权利要求1所述的基于离散分组的数据统计方法,其特征在于,所述步骤S140中,包括:
每个所述数据处理设备根据所述数据统计条件进行搜索,获得作为数据...

【专利技术属性】
技术研发人员:王旭郑浩华张延成吉聪睿
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海;31

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

1