CN111177199B - 基于结构化流的流式计算指标生成系统 - Google Patents
基于结构化流的流式计算指标生成系统 Download PDFInfo
- Publication number
- CN111177199B CN111177199B CN201911406514.6A CN201911406514A CN111177199B CN 111177199 B CN111177199 B CN 111177199B CN 201911406514 A CN201911406514 A CN 201911406514A CN 111177199 B CN111177199 B CN 111177199B
- Authority
- CN
- China
- Prior art keywords
- index
- output
- management module
- streaming
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于结构化流的流式计算指标生成系统,该系统包括:数据源管理模块、指标逻辑定义模块、输出渠道管理模块以及流式计算上下文模块;所述数据源管理模块用于根据用户的流式计算指标生成指令输出对应的数据源;所述指标逻辑定义模块用于根据用户的流式计算指标生成指令输出对应的处理逻辑;所述输出渠道管理模块用于根据用户的流式计算指标生成指令输出对应的输出渠道;所述流式计算上下文模块用于根据所述数据源管理模块输出的数据源、所述指标逻辑定义模块输出的处理逻辑以及所述输出渠道管理模块输出的输出渠道生成流式计算指标。本发明提高了流式计算指标的开发效率,降低了开发成本。
Description
技术领域
本发明涉及一种显示方法,具体而言,涉及一种基于结构化流的流式计算指标生成系统。
背景技术
随着计算机技术的快速发展,互联网数据正在呈指数级增长,如何将这些数据利用起来,将数据转换为价值就变得至关重要。在现在的互联网环境下,大量具有时效性的数据需要在有效期内将其转换为价值,这对数据开发的效率提出了更高一步的要求。
传统的结构化流计算指标的开发是包含从数据的接入、处理、输出的完整实现。每个指标都是独立的个体,不存在任何的关系。指标越多,整个工程就越复杂。由于指标的独立,因此即使是同样的步骤,也无法实现代码复用,一旦公共部分发生变动时(例如某一数据源发生改变),涉及的所有指标都需要进行维护,极大的提高了维护成本。此外现有方案指标独立,无法进行统一管理,为后期工程的维护管理提高了难度。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种基于结构化流的流式计算指标生成系统。
为了实现上述目的,本发明提供了一种基于结构化流的流式计算指标生成系统,该系统包括:数据源管理模块、指标逻辑定义模块、输出渠道管理模块以及流式计算上下文模块;
所述数据源管理模块用于根据用户的流式计算指标生成指令输出对应的数据源;所述指标逻辑定义模块用于根据用户的流式计算指标生成指令输出对应的处理逻辑;所述输出渠道管理模块用于根据用户的流式计算指标生成指令输出对应的输出渠道;所述流式计算上下文模块用于根据所述数据源管理模块输出的数据源、所述指标逻辑定义模块输出的处理逻辑以及所述输出渠道管理模块输出的输出渠道生成流式计算指标。
可选的,所述流式计算上下文模块还用于生成流式计算指标的引用,并根据各流式计算指标的引用监控各流式计算指标的运行状态。
可选的,所述流式计算上下文模块还用于根据各流式计算指标的引用对各流式计算指标进行管理。
可选的,所述数据源管理模块、所述指标逻辑定义模块、所述输出渠道管理模块以及所述流式计算上下文模块中的任意两者之间通过抽象接口进行数据交互。
可选的,所述数据源管理模块还用于对多种数据渠道进行整合,并对各个渠道提供的数据进行解析。
可选的,所述指标逻辑定义模块还用于提供至少一种逻辑编写接口,以使业务开发人员编写处理逻辑。
可选的,所述逻辑编写接口包括图形化编辑界面。
可选的,所述数据源管理模块输出的数据源包括Kafka。
可选的,所述指标逻辑定义模块输出的处理逻辑的格式包括SQL语句或Scala代码。
可选的,所述输出渠道管理模块输出的输出渠道包括:Web、Hive以及Mongodb。
本发明的有益效果为:本发明业务开发人员通过数据源管理模块、指标逻辑定义模块、输出渠道管理模块选择想要的数据源、处理逻辑和输出渠道,并通过流式计算上下文模块进行组合,即可完成一个完整的流式计算指标,由于数据源管理模块、指标逻辑定义模块、输出渠道管理模块均屏蔽了底层实现,因此整个流程仅需要关注处理逻辑的开发即可,极大的提高了开发效率,降低成本。且有相应的模块对组件进行维护,也降低了日后工程的维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例基于结构化流的流式计算指标生成系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本发明说明书及权利要求书中的一些术语进行解释。
流计算:对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。
结构化流(structured streaming):结构化流(structured streaming)是一种基于spark-sql引擎的可扩展容错流处理引擎。流计算的表示方法与静态数据的批计算的表示方法相同,spark sql引擎将负责以增量方式连续运行流计算,并在流数据继续到达时更新最终结果。可以使用scala、java或python中的dataset/dataframe api来表示流聚合、事件时间窗口、流到批联接等。计算在同一个优化的spark sql引擎上执行。最后,系统通过检查点和预写日志确保了端到端的精确容错。简而言之,结构化流提供了快速、可扩展、容错、端到端的精确的一次流处理,而用户无需对流进行推理。
流式计算指标:即为通过“流式计算”技术构建的基于实时数据的业务指标,指标具有实时更新的特性。例如:实时统计某系统每分钟收到的交易请求数量。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是本发明实施例基于结构化流的流式计算指标生成系统结构示意图,如图1所示,本实施例的基于结构化流的流式计算指标生成系统包括:数据源管理模块、指标逻辑定义模块、输出渠道管理模块以及流式计算上下文模块。
数据源管理模块,对多种数据渠道进行整合,并对各个渠道提供的数据进行解析,用于提供流式计算指标的数据源。
指标逻辑定义模块,用于提供多种处理逻辑,并提供逻辑编写接口,以使业务开发人员编写新的处理逻辑。逻辑编写接口包括:图形化编辑界面、代码输入接口等。
输出渠道管理模块,对多种数据渠道进行整合,用于提供流式计算指标的输出渠道。
流式计算上下文模块,用于生成流式计算指标,并对现有的流式计算指标进行管理。
在本发明实施例中,数据源管理模块、指标逻辑定义模块、输出渠道管理模块以及流式计算上下文模块中的任意两者之间通过抽象接口进行数据交互。在本发明实施例中每个模块可能存在多种实现方式,抽象接口的存在可以屏蔽各种实现方式的差异,保证了各个模块在有多种实现方式共存的情况下也可以相互调用。
在生成流式计算指标时,数据源管理模块根据用户的选择输出对应的数据源、指标逻辑定义模块用于根据用户的选择输出对应的处理逻辑,输出渠道管理模块根据用户的选择输出对应的输出渠道。流式计算上下文模块根据数据源管理模块输出的数据源、指标逻辑定义模块输出的处理逻辑以及输出渠道管理模块输出的输出渠道组合生成流式计算指标。
在本发明实施例中,流式计算上下文模块还用于生成流式计算指标的引用(Query)。Query为结构化流框架中org.apache.spark.sql.streaming.Streaming Query为流式计算指标的引用。通过操作Query可以实现对流计算指标的状态监听和停止。
流式计算上下文模块对各流式计算指标的Query进行储存,并提供对Query的新增、删除、停止、启动等管理功能。在本发明实施例中,Query的本质是java对象,因此存储于流式计算上下文模块中。Query可以对流式计算指标进行操作,因此流式计算上下文模块可以通过对Query进行操作,即可实现对流计算指标的管理。
如图1所示,在本发明可选实施例中数据源管理模块输出的数据源包括Kafka以及Socket等。
如图1所示,在本发明可选实施例中指标逻辑定义模块输出的处理逻辑的格式包括SQL语句或Scala代码等。
如图1所示,在本发明可选实施例中输出渠道管理模块输出的输出渠道包括:Web、Hive以及Mongodb等。
由以上描述可以看出,本发明至少实现了以下有益效果:
1、指标逻辑定义模块提供多种逻辑编写方式,并且屏蔽了结构化流的特性,业务开发人员无需掌握结构化流技术也能完成指标的开发。
2、代码可以得到充分的复用,并且对公共部分进行了抽象,降低了开发成本和维护成本。
3、抽象的API提供了更高的扩展性,使得指标的编写不在局限于硬编码。
4、编写的指标得到统一的管理,可以提供完善的维护管理功能,降低项目的维护成本。
需要说明的是,以下所使用的术语“模块”为可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于结构化流的流式计算指标生成系统,其特征在于,包括:数据源管理模块、指标逻辑定义模块、输出渠道管理模块以及流式计算上下文模块;
所述数据源管理模块用于根据用户的流式计算指标生成指令输出对应的数据源;所述指标逻辑定义模块用于根据用户的流式计算指标生成指令输出对应的处理逻辑;所述输出渠道管理模块用于根据用户的流式计算指标生成指令输出对应的输出渠道;所述流式计算上下文模块用于根据所述数据源管理模块输出的数据源、所述指标逻辑定义模块输出的处理逻辑以及所述输出渠道管理模块输出的输出渠道生成流式计算指标。
2.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述流式计算上下文模块还用于生成流式计算指标的引用,并根据各流式计算指标的引用监控各流式计算指标的运行状态。
3.根据权利要求2所述的基于结构化流的流式计算指标生成系统,其特征在于,所述流式计算上下文模块还用于根据各流式计算指标的引用对各流式计算指标进行管理。
4.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述数据源管理模块、所述指标逻辑定义模块、所述输出渠道管理模块以及所述流式计算上下文模块中的任意两者之间通过抽象接口进行数据交互。
5.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述数据源管理模块还用于对多种数据渠道进行整合,并对各个渠道提供的数据进行解析。
6.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述指标逻辑定义模块还用于提供至少一种逻辑编写接口,以使业务开发人员编写处理逻辑。
7.根据权利要求6所述的基于结构化流的流式计算指标生成系统,其特征在于,所述逻辑编写接口包括图形化编辑界面。
8.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述数据源管理模块输出的数据源包括Kafka。
9.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述指标逻辑定义模块输出的处理逻辑的格式包括SQL语句或Scala代码。
10.根据权利要求1所述的基于结构化流的流式计算指标生成系统,其特征在于,所述输出渠道管理模块输出的输出渠道包括:Web、Hive以及Mongodb。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406514.6A CN111177199B (zh) | 2019-12-31 | 2019-12-31 | 基于结构化流的流式计算指标生成系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406514.6A CN111177199B (zh) | 2019-12-31 | 2019-12-31 | 基于结构化流的流式计算指标生成系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177199A CN111177199A (zh) | 2020-05-19 |
CN111177199B true CN111177199B (zh) | 2023-05-02 |
Family
ID=70655761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911406514.6A Active CN111177199B (zh) | 2019-12-31 | 2019-12-31 | 基于结构化流的流式计算指标生成系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177199B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095425A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 一种流式处理装置及流式处理系统 |
CN106775689A (zh) * | 2016-12-05 | 2017-05-31 | 广发证券股份有限公司 | 一种大数据应用开发的系统及方法 |
CN107944012A (zh) * | 2017-12-08 | 2018-04-20 | 北京百度网讯科技有限公司 | 知识数据计算系统、方法、服务器及存储介质 |
CN109408347A (zh) * | 2018-09-28 | 2019-03-01 | 北京九章云极科技有限公司 | 一种指标实时分析系统及指标实时计算方法 |
CN109725899A (zh) * | 2019-01-04 | 2019-05-07 | 中国银行股份有限公司 | 数据流式处理方法及装置 |
CN110427293A (zh) * | 2019-08-01 | 2019-11-08 | 北京百度网讯科技有限公司 | 应用处理方法、装置、设备和介质 |
CN110609852A (zh) * | 2019-07-16 | 2019-12-24 | 招联消费金融有限公司 | 流式数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11334589B2 (en) * | 2018-03-27 | 2022-05-17 | Paypal, Inc. | System and platform for computing and analyzing big data |
-
2019
- 2019-12-31 CN CN201911406514.6A patent/CN111177199B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095425A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 一种流式处理装置及流式处理系统 |
CN106775689A (zh) * | 2016-12-05 | 2017-05-31 | 广发证券股份有限公司 | 一种大数据应用开发的系统及方法 |
CN107944012A (zh) * | 2017-12-08 | 2018-04-20 | 北京百度网讯科技有限公司 | 知识数据计算系统、方法、服务器及存储介质 |
CN109408347A (zh) * | 2018-09-28 | 2019-03-01 | 北京九章云极科技有限公司 | 一种指标实时分析系统及指标实时计算方法 |
CN109725899A (zh) * | 2019-01-04 | 2019-05-07 | 中国银行股份有限公司 | 数据流式处理方法及装置 |
CN110609852A (zh) * | 2019-07-16 | 2019-12-24 | 招联消费金融有限公司 | 流式数据处理方法、装置、计算机设备和存储介质 |
CN110427293A (zh) * | 2019-08-01 | 2019-11-08 | 北京百度网讯科技有限公司 | 应用处理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111177199A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108519914B (zh) | 大数据计算方法、系统和计算机设备 | |
US10387426B2 (en) | Streaming microservices for stream processing applications | |
Gorton et al. | Distribution, data, deployment: Software architecture convergence in big data systems | |
US20170302758A1 (en) | Systems and processes for computer log analysis | |
US8738767B2 (en) | Mainframe management console monitoring | |
CN112527899A (zh) | 数据同步的方法、装置、设备以及存储介质 | |
US11288258B2 (en) | Dedicated audit port for implementing recoverability in outputting audit data | |
CN107330098B (zh) | 一种自定义报表的查询方法、计算节点及查询系统 | |
US20150370842A1 (en) | Analyzing log streams based on correlations between data structures of defined node types | |
CN111966677A (zh) | 数据报表的处理方法、装置、电子设备及存储介质 | |
US20120254313A1 (en) | Multiple Destinations for Mainframe Event Monitoring | |
CN111382155A (zh) | 一种数据仓库的数据处理方法、电子设备及介质 | |
US11573790B2 (en) | Generation of knowledge graphs based on repositories of code | |
US20210263920A1 (en) | Rapid importation of data including temporally tracked object recognition | |
Gyapay et al. | Graph transformation with time: Causality and logical clocks | |
US11157267B1 (en) | Evaluation of dynamic relationships between application components | |
CN111177199B (zh) | 基于结构化流的流式计算指标生成系统 | |
US20090064092A1 (en) | Visual programming language optimization | |
US10628423B2 (en) | Stream processing in search data pipelines | |
CN116521664A (zh) | 数据仓库的数据监控方法及装置、计算设备、存储介质 | |
CN116155689A (zh) | 一种基于ClickHouse的高可用Kong网关日志分析方法及系统 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
CN115714807A (zh) | 工业场景数据中台的设计系统 | |
KR20220115859A (ko) | 프로세스의 에지 테이블 표현 | |
CN114936026B (zh) | 一种半结构化数据的解析方法、系统、存储介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |