CN113110826A - 一种云接口聚合层统一管控api的方法 - Google Patents
一种云接口聚合层统一管控api的方法 Download PDFInfo
- Publication number
- CN113110826A CN113110826A CN202110348472.6A CN202110348472A CN113110826A CN 113110826 A CN113110826 A CN 113110826A CN 202110348472 A CN202110348472 A CN 202110348472A CN 113110826 A CN113110826 A CN 113110826A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- user
- development
- flink
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000002776 aggregation Effects 0.000 title claims abstract description 8
- 238000004220 aggregation Methods 0.000 title claims abstract description 8
- 238000011161 development Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000000007 visual effect Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000013461 design Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000565370 Fraxinus pennsylvanica var. subintegerrima Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/328—Computer systems status display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种云接口聚合层统一管控API的方法,所述方法主要包括如下步骤:步骤一、构建数据开发模块;步骤二、构建数据处理;所述构建数据处理包括构建数据源、数据接入、数据处理、数据存储;步骤三、构建数据应用模块,所述构建数据应用模块包括构建数据服务模块和构建数据展现模块。
Description
技术领域
本发明涉及一种云接口聚合层统一管控API的方法,属于大数据计算领域,具体涉及一种集成数据开发、测试、部署上线全链路的数据中台构建方法。
背景技术
云计算的快速发展以及标准化的推进,各云厂商为抢占市场势必会推送大量云产品,这些产品的底层研发有可能来自不同的团队,或者是基于第三方的产品。
各产品的研发,他们可能来自不同团队,有时候并不会有同样的规章约束,或由于一些客观原因,如赶进度、开发水平不齐、缺少代码审查等,以至于已经交付的产品代码,除非功能方面的原因才会进行代码更新迭代,如果是基于第三方产品,可控性更低。
这样难免存在接口风格各异、术语不统一、监控不完善或无、接口文档形式各异、没有SDK、地域与版本调度等。
云厂商的前端团队如果直接与各个产品进行对接,会带来大量问题,效率低下,代码臃肿繁琐难以维护。
发明内容
为了适应目前大多数企业对于Flink平台的部署使用,本发明提出一套完整的可用于企业级生产的数据处理链路即数据中台,包括数据开发、数据服务、数据展现;可以满足企业在多种复杂条件下的计算任务需求、对分析后的数据提供对外API及数据展现的需求。
一种云接口聚合层统一管控API的方法,其特征在于,所述方法主要包括如下步骤:
步骤一、构建数据开发模块;
步骤二、构建数据处理;所述构建数据处理包括构建数据源、数据接入、数据处理、数据存储;
步骤三、构建数据应用模块,所述构建数据应用模块包括构建数据服务模块和构建数据展现模块;
所述步骤一构建数据开发模块,包括Flink SQL开发模块、作业调度设计模块、作业运维监控模块;其中Flink SQL开发模块为用户提供Flink SQL开发界面,支持Flink SQL开发和调试;作业调度设计模块允许用户自定义多个作业之间的执行依赖和调度顺序;作业运维监控模块用于对作业的运行过程进行监控。
所述步骤二构建数据服务模块,包括自定义API生成模块、自定义API注册模块;其中自定义API生成模块用于根据用户的数据处理需求生成SQL查询接口以供用户直接使用;自定义API注册模块用于对生成的自定义API进行注册并根据用户权限为用户提供相应的注册服务。
所述步骤二构建数据展现模块,包括可视化报表展示模块、动态大屏展示模块;其中可视化报表展示模块用于对分析处理后的数据提供可视化报表展现的能力;动态大屏展示模块用于对分析处理后的数据提供实时动态大屏展示的能力。
Flink SQL开发模块基于Codemirror为用户提供开发界面,支持多用户对同一项目工程的开发和版本管理;用户可以将Flink作业以PerJob模式提交至kubernetes集群,并基于Filebeat获取Flink作业日志,便于用户在Flink SQL调试过程中提供实时和或历史的日志。
附图说明
附图1本申请实施例所述方法流程示意图。
有益效果
通过一个独立的接口聚合层管理配置并定义与底层产品接口的1对1、1对多映射关系,存在以下优点:
容易统一术语无需更改底层实现;灵活变更请求体、响应体,以适应特殊应用;一个对外API实际为聚合多个底层产品接口;选择性屏蔽底层接口,避免安全等问题;底层的变化,仅需聚合层调整,不影响上层应用;新增同一类型的服务,对上层仅需变化参数;灵活映射多版本底层接口;聚合层无状态,高效,可横向扩容;统一监控、日志分析等通用功能。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
大数据技术近年来受到各行各业的广泛关注和应用,各种传统企业也纷纷开始转型之路,数据中台作为新兴的数据集成架构也走进了大众视野。附图1给出了数据中台架构图,针对企业级应用而言,由于企业生产过程涉及到的数据源多种多样,因此数据中台需要兼容结构化、非结构化和半结构化的数据源,并分别采用Sqoop、Flume、Kafka进行数据接入、采用Hdfs、Hbase、GreenPlum进行数据存储、基于Hadoop、Spark、Flink等技术进行数据处理。在上层则针对不同的用户提供不同的数据开发和数据应用服务。通过数据中台架构,实现了对海量数据的采集、计算、存储、加工一体化处理,也实现了数据标准的统一。同时,构建数据中台过程中的所需要模型服务,算法服务以及建设数据中台系统需要的组织、流程、标准、规范和管理制度等与企业生产紧密相连,形成企业级别的大数据资产,通过数据挖掘和分析工具实现数据服务能力,为企业的创新和生产提供有效保障。
Flink是基于Java实现的高效通用大数据分布式处理引擎。Flink将所有任务(批处理数据视作具备有限边界的数据流)当作流来处理。开源的Flink编程开发的成本较大,学习成本高,调试复杂,上线周期长,对每一种数据源连接都要采用不同的开发方式。Flink的SQL支持基于实现SQL标准的Apache Calcite。无论输入是批输入(DataSet)还是流输入(DataStream),任一接口中指定的查询都具有相同的语义并指定相同的结果。将Flink应用在对SQL数据的实时处理上时,若要实现数据查询和维护等功能都需要用户继承Flink的各种函数进行开发,需要用户编写大量的代码,实现较为复杂。
为了解决上述问题,本实施例涉及一套完整的可用于企业级生产的数据处理链路即数据中台,旨在以低成本提升企业在实际生产中对大数据开发、应用的效率。包括数据开发、数据服务、数据展现;可以满足企业在多种复杂条件下的计算任务需求、对分析后的数据提供对外API及数据展现的需求。该架构还包括一套完整的元数据存储、数据质量监督、核心数据保护、数据权限控制等策略方案以保证数据质量规范和数据资产的安全。
具体地,上述可用于企业级生产的数据中台的构建方法主要包括构建数据开发模块、构建数据服务模块和构建数据展现模块这三个步骤。
其中数据开发模块包括:Flink SQL开发模块、作业调度设计模块、作业运维监控模块;其中Flink SQL开发模块为用户提供Flink SQL开发界面,支持Flink SQL开发和调试;作业调度设计模块允许用户自定义多个作业之间的执行依赖和调度顺序;作业运维监控模块用于对作业的运行过程进行监控。
其中数据服务模块包括:自定义API生成模块、自定义API注册模块;其中自定义API生成模块用于根据用户的数据处理需求生成SQL查询接口以供用户直接使用;自定义API注册模块用于对生成的自定义API进行注册并根据用户权限为用户提供相应的注册服务。
其中数据展现模块包括:可视化报表展示模块、动态大屏展示模块;其中可视化报表展示模块用于对分析处理后的数据提供可视化报表展现的能力;动态大屏展示模块用于对分析处理后的数据提供实时动态大屏展示的能力。
进一步地,Flink SQL开发模块基于Codemirror为用户提供开发界面,支持多用户对同一项目工程的开发和版本管理;用户可以将Flink作业以PerJob模式提交至kubernetes集群,并基于Filebeat获取Flink作业日志,便于用户在Flink SQL调试过程中提供实时和或历史的日志。
在一个实施例中,Flink SQL开发模块提供的版本管理不同于其他版本控制系统(例如CVS、Subversion、Perforce、Bazaar等等),大部分版本控制系统以文件变更列表的方式存储文件信息,将文本保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。而Flink SQL开发模块中的版本管理则将文本信息看作快照,并保存对应的快照索引,如果文本在当前时刻没有发生改变,则不需要保存当前时刻的文本实体,如果当前时刻文本发生改变,则将改变后的文本实体保存下来。
此外,在本实施例中,绝大多数操作都可以在本地进行操作,不同的用户可以在本地开发并上传版本信息到服务器。如果当前无法连接互联网,用户仍然可以提交已经编辑好的版本,保存在本地,直到有网络连接时在上传至服务器。当用户需要浏览过去时刻保存的某一版本信息,可以不用连接外网服务器,直接从本地读取。
在一个实施例中,作业调度设计模块基于Quarz平台为用户提供可视化作业调度管理功能,其中不同作业之间的执行顺序可以以任务列表的形式展现,也可以以有向无环图的形式展现,用户可以通过鼠标拖拽的方式改变作业之间的执行顺序,并自定义不同作业的执行次数。例如,在任务列表中依次列出任务A、任务B、任务C三条作业,用户可以设置每项任务的开始时间、下次触发时间、执行次数等参数信息。默认情况下任务A、任务B、任务C三条是按顺序执行,用户可以通过鼠标拖拽的方式改变任务A-C的执行顺序,改变执行顺序后各项任务的开始时间、下次触发时间也发生改变。此外,用户也可以通过有向无环图的方式来调整作业之间的执行顺序,可以根据具体需要在任务列表与有向无环图二者之间进行切换。
此外,作业调度设计模块还用于当用户改变作业之间的执行顺序时,对改变后作业之间的依赖关系进行校验,当校验不通过时,在界面中提示用户当前改变操作无效,并恢复此次改变操作之前的作业执行顺序。
进一步地,作业调度设计模块还用于将多个作业按照定义好的执行顺序提交至kubernetes集群以实现作业的自动执行。
进一步地,作业运维监控模块用于将执行中的Flink作业上报至Prometheus中,并以可视化的界面展示给用户,以供用户实时掌握作业的运行情况。
进一步地,自定义API生成模块允许用户对企业使用的数据源连接进行封装,基于Flink SQL开发模块的用户定义的Flink SQL语句生成查询计划,不同的查询计划与不同的数据源组合生成自定义API;当用户请求某一自定义API时,可以根据该API获取对应的查询计划,并在相应的数据源上执行作业,返回结果给用户。
进一步地,自定义API注册模块在根据用户权限为用户提供相应的注册服务之前,需要在用户集合和权限集合之间建立角色集合,角色与权限具有一一对应的关系,当用户被赋予某一角色后,该用户就可以在所述角色对应的权限范围内使用注册服务。
进一步地,可视化报表展示模块和动态大屏展示模块从kubernetes集群获取作业执行结果,并以可视化组件的方式展示给用户;同时支持二次开发功能,为用户提供代码编辑界面,以供用户对Flink SQL语句进行二次开发并将执行结果实时更新在可视化组件中;用户可以对可视化报表展示模块中生成的报表进行分享,并设定报表更新周期。
在一个实施例中,可视化报表展示模块基于Redash平台实现二次开发功能,动态大屏展示模块基于DataV平台实现二次开发功能。
通过上述实施例方案,所构建的用于企业级生产的数据中台极大的加快了数据价值获取利用的开发周期,并且为市场运营人员、及公司高层领导做出市场决策提供更强机动性的数据支撑,更快响应市场需求变化,及时获取商机。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本申请所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本申请型的保护范围之中。
Claims (5)
1.一种云接口聚合层统一管控API的方法,其特征在于,所述方法主要包括如下步骤:
步骤一、构建数据开发模块;
步骤二、构建数据处理;所述构建数据处理包括构建数据源、数据接入、数据处理、数据存储;
步骤三、构建数据应用模块,所述构建数据应用模块包括构建数据服务模块和构建数据展现模块。
2.根据权利要求1所述的方法,其特征在于,所述步骤一构建数据开发模块,包括FlinkSQL开发模块、作业调度设计模块、作业运维监控模块;其中Flink SQL开发模块为用户提供Flink SQL开发界面,支持Flink SQL开发和调试;作业调度设计模块允许用户自定义多个作业之间的执行依赖和调度顺序;作业运维监控模块用于对作业的运行过程进行监控。
3.根据权利要求1所述的方法,其特征在于,所述步骤二构建数据服务模块,包括自定义API生成模块、自定义API注册模块;其中自定义API生成模块用于根据用户的数据处理需求生成SQL查询接口以供用户直接使用;自定义API注册模块用于对生成的自定义API进行注册并根据用户权限为用户提供相应的注册服务。
4.根据权利要求1所述的方法,其特征在于,所述步骤二构建数据展现模块,包括可视化报表展示模块、动态大屏展示模块;其中可视化报表展示模块用于对分析处理后的数据提供可视化报表展现的能力;动态大屏展示模块用于对分析处理后的数据提供实时动态大屏展示的能力。
5.根据权利要求2所述的方法,其特征在于,Flink SQL开发模块基于Codemirror为用户提供开发界面,支持多用户对同一项目工程的开发和版本管理;用户可以将Flink作业以PerJob模式提交至kubernetes集群,并基于Filebeat获取Flink作业日志,便于用户在Flink SQL调试过程中提供实时和或历史的日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348472.6A CN113110826A (zh) | 2021-03-31 | 2021-03-31 | 一种云接口聚合层统一管控api的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348472.6A CN113110826A (zh) | 2021-03-31 | 2021-03-31 | 一种云接口聚合层统一管控api的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113110826A true CN113110826A (zh) | 2021-07-13 |
Family
ID=76713248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110348472.6A Pending CN113110826A (zh) | 2021-03-31 | 2021-03-31 | 一种云接口聚合层统一管控api的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110826A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459844A (zh) * | 2018-02-06 | 2018-08-28 | 福建星瑞格软件有限公司 | 基于大数据处理框架的任务分类处理方法以及计算机设备 |
CN111026432A (zh) * | 2019-12-06 | 2020-04-17 | 中国建设银行股份有限公司 | 一种大数据处理平台、平台构建方法和存储介质 |
CN111881223A (zh) * | 2020-08-06 | 2020-11-03 | 网易(杭州)网络有限公司 | 数据管理方法、设备、系统及存储介质 |
CN112148718A (zh) * | 2020-10-28 | 2020-12-29 | 云赛智联股份有限公司 | 一种用于城市级数据中台的大数据支撑管理系统 |
-
2021
- 2021-03-31 CN CN202110348472.6A patent/CN113110826A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459844A (zh) * | 2018-02-06 | 2018-08-28 | 福建星瑞格软件有限公司 | 基于大数据处理框架的任务分类处理方法以及计算机设备 |
CN111026432A (zh) * | 2019-12-06 | 2020-04-17 | 中国建设银行股份有限公司 | 一种大数据处理平台、平台构建方法和存储介质 |
CN111881223A (zh) * | 2020-08-06 | 2020-11-03 | 网易(杭州)网络有限公司 | 数据管理方法、设备、系统及存储介质 |
CN112148718A (zh) * | 2020-10-28 | 2020-12-29 | 云赛智联股份有限公司 | 一种用于城市级数据中台的大数据支撑管理系统 |
Non-Patent Citations (1)
Title |
---|
阿里云云栖号: "OPPO数据中台之基石:基于Flink SQL构建实数据仓库", pages 1 - 12, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/65818783?utm_id=0> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534773B2 (en) | Intelligent query parameterization of database workloads | |
US10372492B2 (en) | Job-processing systems and methods with inferred dependencies between jobs | |
US9800675B2 (en) | Methods for dynamically generating an application interface for a modeled entity and devices thereof | |
US9927992B2 (en) | Segmented database migration | |
US9280568B2 (en) | Zero downtime schema evolution | |
CN107103064B (zh) | 数据统计方法及装置 | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
US20130166602A1 (en) | Cloud-enabled business object modeling | |
CN114925045B (zh) | 大数据集成和管理的PaaS平台 | |
CN102542382A (zh) | 业务规则的管理方法和装置 | |
US7437277B2 (en) | Model independent simulation | |
AU2013371448A1 (en) | System and method for distributed database query engines | |
US9569722B2 (en) | Optimal persistence of a business process | |
CN105577475A (zh) | 自动化性能测试系统及方法 | |
CN102663543A (zh) | 一种用于企业数据统一平台的调度系统 | |
CN109299074B (zh) | 一种基于模板化数据库视图的数据校验方法及系统 | |
CN115374102A (zh) | 数据处理方法及系统 | |
CN111966692A (zh) | 针对数据仓库的数据处理方法、介质、装置和计算设备 | |
CN115335821A (zh) | 卸载统计收集 | |
CN112988705B (zh) | 一种可用于企业级生产的数据中台构建方法 | |
CN114528270A (zh) | 云环境下实时流数据与业务维度信息自动关联系统及方法 | |
US11615061B1 (en) | Evaluating workload for database migration recommendations | |
US9305066B2 (en) | System and method for remote data harmonization | |
CN113110826A (zh) | 一种云接口聚合层统一管控api的方法 | |
CN114281494A (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 |