基于预定义计算规则的流式实时计算方法、存储介质技术

技术编号:19692311 阅读:37 留言:0更新日期:2018-12-08 11:18
本发明专利技术提供的提供一种基于预定义计算规则的流式实时计算方法、存储介质,方法包括:依据预设的接入数据源类型接收对应类型的数据;依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据;依据预设的计算方式表达式对所述目标计算数据进行计算;依据计算时间粒度存储所接收的数据的计算结果。本发明专利技术能够显著提高实时计算能力,快速得出精确的计算结果;并且不依赖于硬件要求;进一步的,还具备时间上的优势,能够体现时间段的数据趋势;再进一步的,支持多类型统计对象之间的逻辑运算,使方案更具备实用性。

【技术实现步骤摘要】
基于预定义计算规则的流式实时计算方法、存储介质
本专利技术涉及实时计算领域,具体说的是一种基于预定义计算规则的流式实时计算方法、存储介质。
技术介绍
随着互联网技术、游戏产业的快速发展,数据的快速增长导致传统数据库存储软件不足以支撑查询海量数据,针对特殊的统计业务场景,基于数据库的统计并没有时间上的优势,但是数据的快速反馈能给使用者带来良好的体验,使用者可以通过实时数据了解到系统的运行情况。在传统的统计中,基于数据库或者以hadoop平台,全量数据扫描的统计势必会带来系统资源的大量消耗,查询代价高、查询效率慢。提高计算效率通常以提升硬件资源为代价,因此,有需求能够提供一种在低硬件配置下同样能够获取良好查询效率的数据库统计方法。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于预定义计算规则的流式实时计算方法、存储介质,实现不依赖于硬件要求而提高实时计算能力,快速得出计算结果。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于预定义计算规则的流式实时计算方法,包括:依据预设的接入数据源类型接收对应类型的数据;依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据;依据预设的计算方式表达式对所述目标计算数据进行计算;依据计算时间粒度存储所接收的数据的计算结果。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种基于预定义计算规则的流式实时计算方法所包含的步骤。本专利技术的有益效果在于:区别于传统的基于数据库或以hadoop平台进行全量数据扫描的统计方法在应对不断飞速增长的数据时将带来的系统资源的大量消耗、查询代价高、查询效率慢,且只能通过不断提升硬件资源为代价的不足。本专利技术提供一种全新的流式实时计算方法,可以在低硬件配置下进行流式数据实时计算,依据匹配规则实现对固定业务规则进行统计,通过实时处理数据,对数据按照时间粒度保存,从而实现快速累加计算并分时间跨度进行存储的目的。本专利技术能够显著提高数据的统计计算能力,高效、准确地计算获取统计结果,同时降低硬件要求,提高实用性。附图说明图1为本专利技术一种基于预定义计算规则的流式实时计算方法的流程示意图;图2为本专利技术实施例一的方法流程示意图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:提供一种全新的流式实时计算方法,可以在低硬件配置下进行流式数据实时计算,依据匹配规则实现对固定业务规则进行统计,通过实时处理数据,对数据按照时间粒度保存,从而实现快速累加计算并分时间跨度进行存储的目的。请参照图1,本专利技术提供一种基于预定义计算规则的流式实时计算方法,包括:依据预设的接入数据源类型接收对应类型的数据;依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据;依据预设的计算方式表达式对所述目标计算数据进行计算;依据计算时间粒度存储所接收的数据的计算结果。进一步的,不同的目标计算数据分别对应不同的匹配规则;所述计算方式表达式对应不同目标计算数据之间的逻辑运算关系。由上述描述可知,支持对不同的统计目标的数据统计,以及不同统计目标之间的逻辑运算统计,更具备实用性,更符合实际运用场景的需求。进一步的,所述依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据,具体为:依据目标计算数据预设对应的数据类型和匹配规则;依据所述匹配规则对接收到的数据进行匹配,提取出目标计算数据,并将其按照所述数据类型进行表示。由上述描述可知,对计算结果的数据类型进行设定,保证参与运算的数据都是同一数据类型,避免在运算过程中丢失数据精度,从而显著提高计算统计结果的精度。进一步的,所述依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据,具体为:从每条数据单行存储的接入数据中逐行读取每一条数据;对所读取得到的当前条数据依据预设的时间正则表达式匹配获取其对应的时间,同时依据预设的对应目标计算数据的匹配规则从当前条数据中提取出目标计算数据。由上述描述可知,以逐行读取统计计算的方式进行处理,实现统计分析处理的有序性,确保数据统计的准确度。进一步的,所述依据计算时间粒度存储所述计算的结果,具体为:依据预设的时间粒度单位分别累加对应时间范围内接收的数据的计算结果。由上述描述可知,能够实现分时统计和存储,有利于统计结果的应用。进一步的,预设的接入数据源类型包括命令行、文本文件、KAFKA消息中间件、TCP、UDP和/或HTTP。由上述描述可知,同时支持多种类型的数据源接入,能实现对多种类型的数据进行统计,更具备实用性。进一步的,预设的接入数据源类型为TCP和/或KAFKA。由上述描述可知,针对上述两种类型的数据进行统计,系统将具备最高处理效率,获取最高效的统计分析过程。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种基于预定义计算规则的流式实时计算方法所包含的步骤。从上述描述可知,本专利技术的有益效果在于:对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。实施例一请参照图2,本实施例提供一种基于预定义计算规则的流式实时计算方法,用于对所接入的数据进行高效率地统计分析,获取按照时间粒度存储的统计结果,本实施例特别适用于对海量数据的统计分析,且适用于低硬件配置。本实施例的方法可以包括以下步骤:S1:在系统中设定接入的数据源类型,进行数据接收适配。数据源,在整个方法流程中扮演数据生产者的角色,是数据产生的源头,提供数据的地方,所提供的数据作为后续统计分析处理的原始数据。为了适应不同系统场景的不同数据类型,本实施例支持对接入进行统计的数据源类型进行自定义设置。具体的,可接入的数据源类型可以是命令行、文本文件、KAFKA消息中间件、TCP、UDP和HTTP等;特别的,数据源的设定影响最终数据处理的效果,为维持系统最高处理效率,优选将数据源设定为TCP、KAFKA,同时,对应设定的参数信息可根据实际需求设定,具体有批量消息总数、单条消息最大长度、监听端口信息。S2:依据预设的接入数据源类型接收对应类型的数据。依据S1设定的接入数据类型实时接收对应类型的数据,作为统计的原始数据。在此,为了最大限度的提高统计分析的数据处理效率,本实施例要求待处理的数据采用一条数据单独一行进行存储的方式,以此实现快速、准确地读取单条待处理数据。针对本实施例上述的所支持的各种类型的数据,数据本身均默认采用一条数据单独一行进行存储的方式,简称为“行化存储”,因此能够直接通过逐行读取的方式依次快速获取每一条待处理数据,不需要另外做“行化存储”处理。如命令行,默认一行一条数据,然后一个回车的存储形式;HTTP,一次请求对应一条数据单行进行存储;KAFKA,一条消息对应一个数据并单行进行存储。而针对本身并非默认使用“行化存储”的数据,还需要在接入数据以后,进行统计分析处理之前,将其“行化存储”。S3:标准化接收到的数据的格式。可接入的数据类型多种多样,为了方便处理,提本文档来自技高网
...

【技术保护点】
1.一种基于预定义计算规则的流式实时计算方法,其特征在于,包括:依据预设的接入数据源类型接收对应类型的数据;依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据;依据预设的计算方式表达式对所述目标计算数据进行计算;依据计算时间粒度存储所接收的数据的计算结果。

【技术特征摘要】
1.一种基于预定义计算规则的流式实时计算方法,其特征在于,包括:依据预设的接入数据源类型接收对应类型的数据;依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据;依据预设的计算方式表达式对所述目标计算数据进行计算;依据计算时间粒度存储所接收的数据的计算结果。2.如权利要求1所述的一种基于预定义计算规则的流式实时计算方法,其特征在于,不同的目标计算数据分别对应不同的匹配规则;所述计算方式表达式对应不同目标计算数据之间的逻辑运算关系。3.如权利要求1所述的一种基于预定义计算规则的流式实时计算方法,其特征在于,所述依据对应目标计算数据的匹配规则从接收到的数据中提取出目标计算数据,具体为:依据目标计算数据预设对应的数据类型和匹配规则;依据所述匹配规则对接收到的数据进行匹配,提取出目标计算数据,并将其按照所述数据类型进行表示。4.如权利要求1所述的一种基于预定义计算规则的流式实时计算方法,其特征在于,所述依据对应目标计算数据的匹配规则从接收到的数据中提取出目标...

【专利技术属性】
技术研发人员:刘德建高杨宋祥杨灿许凯杰陈宏展
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:福建,35

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

1