CN111158653B - 基于sql语言的实时计算程序的集成开发及执行系统 - Google Patents
基于sql语言的实时计算程序的集成开发及执行系统 Download PDFInfo
- Publication number
- CN111158653B CN111158653B CN201911394328.5A CN201911394328A CN111158653B CN 111158653 B CN111158653 B CN 111158653B CN 201911394328 A CN201911394328 A CN 201911394328A CN 111158653 B CN111158653 B CN 111158653B
- Authority
- CN
- China
- Prior art keywords
- sql
- real
- time
- execution
- development
- 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
- 238000011161 development Methods 0.000 title claims abstract description 66
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 230000002452 interceptive effect Effects 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 238000012800 visualization Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于SQL语言的实时计算程序的集成开发及执行系统,包括部署在服务器中的开发平台,SQL解析引擎,SQL执行引擎,以及实时SQL语法规则模块,其中:所述开发平台包括数据表管理模块、任务开发模块、任务执行模块;该开发平台还提供web交互页面,且通过客户端访问该开发平台,完成各项交互操作;所述SQL解析引擎将SQL文件解析,以生成相对应的执行计划;所述SQL执行引擎获取所述执行计划,下发至分布式计算平台执行所述执行计划,以完成实时计算任务。本发明中定义了完整了实时SQL语法,通过所述集成开发及执行系统可实现实时计算程序的快速开发,且提供了相应的自动编译环境并借助高效的分布式计算平台实现实时计算,还能够进行任务监控。
Description
技术领域
本发明属于实时计算程序开发与执行系统领域,具体为一种基于SQL语言的实时计算程序的集成开发及执行系统。
背景技术
在一些场景下,需要对不断发生变化的数据进行各种逻辑计算,以在较短的时间内完成数据的统计、监控和分析功能,因此需要开发相应的实时计算程序。常见的实时程序都是使用底层程序设计语言进行开发,如C++语言、Java语言。
SQL语言是一种数据库查询和程序设计语言,用于开发数据库查询计算逻辑,是一种传播较广,使用人群较多,便于学习的编程语言。使用SQL语言来表达实时计算逻辑并开发实时计算程序可以极大地提高工作效率。
现有使用SQL语言进行实时计算程序开发的方法,没有完整的语法定义,例如只是开发一个简单的SQL识别器,只能识别简单的逻辑,不能进行复杂计算逻辑的处理,也不能形成自动化的编译环境。
发明内容
为了克服上述现有技术的缺陷,本发明提供了一种基于SQL语言的实时计算程序的集成开发及执行系统。
本发明解决其技术问题所采用的技术方案是:一种基于SQL语言的实时计算程序的集成开发及执行系统,包括部署在服务器中的开发平台,SQL解析引擎,SQL执行引擎,以及实时SQL语法规则模块,其中:
所述实时SQL语法规则配置模块用于配置实时SQL语法规则;
所述开发平台包括:
1)数据表管理模块,用于管理数据表;
2)任务开发模块,包括实时SQL编辑器,用于实时计算程序的代码编辑,通过实时SQL语法完成所述实时计算程序的代码开发后可生成SQL文件;
3)任务执行模块,用于调用所诉SQL执行引擎,或者调用所述SQL解析引擎及SQL执行引擎以执行实时计算任务;
该开发平台还提供web交互页面,且通过客户端访问该开发平台,完成各项交互操作;
所述SQL解析引擎包括语法检查单元、语法分析单元以及语法树分析单元;
所述语法检查单元用于执行步骤:
S1、获取所述SQL文件,并根据分隔符“;”将所述SQL文件拆分为若干语法步骤;
S2、根据所述实时SQL语法规则判断所述若干语法步骤是否符合实时SQL语法,若所有语法步骤均符合,则生成与所述若干语法步骤对应的若干SQL步骤文件;否则结束解析操作;
所述语法分析单元用于执行步骤:
S3、根据预设语法树将所述各SQL步骤文件的解析为对应的语法树对象,得到若干语法树;
所述语法树分析单元用于执行步骤:
S4、遍历所述若干语法树对象且将其转换为执行计划;
S5、判断执行计划是否符合预期设定,若符合,则输出所述执行计划;否则结束解析操作;
所述SQL执行引擎获取所述执行计划,并匹配分布式实时计算引擎,将所述计算任务下发至分布式计算平台,该分布式计算平台执行所述执行计划,以完成实时计算任务。
根据一个优选实施例,所述实时SQL语法,包括执行环境及全局变量定义语法、数据源定义语法、数据查询操作语法。
进一步的,所述开发平台还包括任务监控模块,该任务监控模块与所述分布式计算引擎进行信息交互,并获取所述执行计划的执行状态信息,用于所述实时计算任务的监控。
根据一个优选实施例,所述任务监控模块配置有可视化图表。
进一步的,所述开发平台还包括用户管理模块,用于用户信息的管理以及登录/登出操作。
进一步的,所述开发平台还包括在线测试模块,用于对所述实时计算程序进行测试。
进一步的,所述开发平台还包括程序发布模块,用于生成所述实时计算任务的可执行文件。
与现有技术相比,本发明的有益效果是:
1、不需要建立代码工程,仅需要根据实时SQL语法即可实现快速完成所述实时计算程序的开发。
2、通过web交互界面还可以完成在线测试、编译和执行等操作,提高了开发效率,便于使用。还能够通过可视化图表监控所述实时计算任务的运行。
3、可以支持若干客户端,无需在客户端中安装即可完成上述各项操作。
附图说明
图1为实施的基于SQL语言的实时计算程序的集成开发及执行系统的结构框图,其中虚线框表示web交互页面所提供的页面功能。
图2为实施例的SQL解析引擎的解析步骤的流程示意图。
图3为实施例的SQL解析引擎的解析步骤的详细流程示意图。
图号说明:
10.开发平台,11.数据表管理模块,12.任务开发模块,13.任务执行模块,14.任务监控模块,15.用户管理模块,16.在线测试模块,17.程序发布模块,20.SQL解析引擎,30.SQL执行引擎,31.分布式计算引擎,40.实时SQL语法规则配置模块,50.若干客户端,51.web交互页面。
具体实施方式
以下结合附图和具体实施例对本发明进一步说明。
如图1所示,本实施例的基于SQL语言的实时计算程序的集成开发及执行系统,包括部署在服务器中的开发平台10,SQL解析引擎20,SQL执行引擎30,以及实时SQL语法规则配置模块40,其中:
所述实时SQL语法规则配置模块40用于配置实时SQL语法规则;
所述开发平台10包括:
1)数据表管理模块11,用于管理数据表;所述数据表作为实时计算中的数据源;
2)任务开发模块12,包括实时SQL编辑器,用于实时计算程序的代码编辑,通过定义实时SQL语法完成所述实时计算程序的代码开发后可生成SQL文件;
3)任务执行模块13,用于调用所述SQL执行引擎30,或者调用所述SQL解析引擎20及SQL执行引擎30以执行实时计算任务;
该开发平台10还提供web交互页面51,且通过客户端50访问该开发平台10,完成各项交互操作,实际应用中,所述访问该开发平台10的客户端50的数量不受限制;
所述SQL解析引擎20包括语法检查单元、语法分析单元以及语法树分析单元;
结合图2和图3所示,所述语法检查单元用于执行步骤:
S1、获取所述SQL文件,并根据分隔符即分号“;”将所述SQL文件拆分为若干语法步骤;
S2、根据所述实时SQL语法规则判断所述若干语法步骤是否符合实时SQL语法,若所有语法步骤均符合,则生成与所述若干语法步骤对应的若干SQL步骤文件;否则结束解析操作;
所述语法分析单元用于执行步骤:
S3、根据预设语法树将所述各SQL步骤文件的解析为对应的语法树对象,得到若干语法树;
所述语法树分析单元用于执行步骤:
S4、遍历所述若干语法树对象且将其转换为执行计划;
S5、判断执行计划是否符合预期设定,若符合,则输出所述执行计划;否则结束解析操作;
所述SQL执行引擎30获取所述执行计划,并匹配分布式实时计算引擎31,将所述计算任务下发至分布式计算平台,该分布式计算平台执行所述执行计划,以完成实时计算任务,所述分布式实时计算引擎31为现有技术,例如Flink或Spark等,在本发明中不受限制。
所述预设SQL实时语法规则以及预设语法树对象为本领域的常规技术手段,本领域技术人员结合现有常规技术手段即可实施本发明,此处不再赘述。
用户使用客户端访问所述开发平台10,通过web交互界面51完成所述数据表的管理,所述实时计算程序的代码开发过程不需要建立代码工程,通过所述实时SQL语法即可实现快速完成所述实时计算程序的开发。所述任务执行模块13通过调用所述SQL解析引擎20将SQL逻辑转换为实时计算任务的执行计划,再调用所述SQL执行引擎30执行相应的实时计算任务,开发效率极高,使用方便。
优选的,所述实时SQL语法,包括执行环境及全局变量定义语法、数据源定义语法、数据查询操作语法。
所述实时执行环境及全局变量定义语法具体见表格1。
表格1
所述数据源定义语法为:
‘CREATE TABLE tableName(columnName dataType[,columnName dataType]*[,UNIQUE KEY(columnName)])
[WITH(propertyName=propertyValue[,propertyName=propertyValue]*)]
[STREAM OF(propertyName=propertyValue[,propertyName=propertyValue]*)]
[DIMENSION OF(propertyName=propertyValue[,propertyName=propertyValue]*)];’/该语法用于具体定义所需进行实时计算的数据源,其中数据源来自所述数据表管理模块11中的数据表。
所述数据查询操作语法包括:
用户在所述web交互页面51中,通过所述实时SQL语法完成实时计算程序的开发,使用非常方便。且所述实时SQL语法能够为各种逻辑复杂的计算提供开发支持。基于SQL语言,用户能快速掌握,学习成本极低。
回到图1,进一步的,所述开发平台10还包括任务监控模块14,该任务监控模块14与所述分布式计算引擎31进行信息交互,并获取所述执行计划的执行状态信息,用于所述实时计算任务的监控。优选的,该任务监控模块14配置有可视化图表。通过所述客户端访问所述开发平台10,借助所述web交互页面51,完成所述实时计算任务的监控。
进一步的,所述开发平台10还包括用户管理模块15,用于用户信息的管理以及登录/登出操作。该模块对所有访问所述开发平台10的用户进行身份识别,以保证数据和信息安全。
进一步的,所述开发平台10还包括在线测试模块16,用于对所述实时计算程序进行测试。
进一步的,所述开发平台10还包括程序发布模块17,用于生成所述实时计算程序的可执行文件。所述可执行文件可自由复制到其他客户端运行,或者用于备份。
通过本发明的实时计算程序的集成开发及执行系统进行实时计算程序的开发,不需要建立代码工程,工作人员仅需要使用SQL语言,根据定义的实时SQL语法即可快速编写出所需要的实时计算程序,而SQL语言也是一种使用非常广泛的语言,学习成本也比较低。
同时,在所述实时计算程序的集成开发及执行系统中,可实现所述实时计算程序的自动编译和执行,因此开发效率很高。与现有技术的创建代码工程进行编程,技术人员手动进行编译等繁琐的缺点相比,工作人员可以根据需要快速编写实时计算程序并完成在线测试、编译和执行,且可以监控所述实时计算任务的运行。
以上实施例详细介绍了本发明的集成开发及执行系统的工作原理和系统构成,但不应视为对本发明的限制。容易理解,根据本发明的技术方案,本领域技术人员还可以进一步修改,但任何简单修改或等同替换,都将落入本发明的权利要求书所要求的保护范围内。
Claims (7)
1.一种基于SQL语言的实时计算程序的集成开发及执行系统,其特征在于包括部署在服务器中的开发平台,SQL解析引擎,SQL执行引擎,以及实时SQL语法规则模块,其中:
所述实时SQL语法规则配置模块用于配置实时SQL语法规则;
所述开发平台包括:
1)数据表管理模块,用于管理数据表;
2)任务开发模块,包括实时SQL编辑器,用于实时计算程序的代码编辑,通过实时SQL语法完成所述实时计算程序的代码开发后可生成SQL文件;
3)任务执行模块,用于调用所诉SQL执行引擎,或者调用所述SQL解析引擎及SQL执行引擎以执行实时计算任务;
该开发平台还提供web交互页面,且通过客户端访问该开发平台,完成各项交互操作;
所述SQL解析引擎包括语法检查单元、语法分析单元以及语法树分析单元;
所述语法检查单元用于执行步骤:
S1、获取所述SQL文件,并根据分隔符“;”将所述SQL文件拆分为若干语法步骤;
S2、根据所述实时SQL语法规则判断所述若干语法步骤是否符合实时SQL语法,若所有语法步骤均符合,则生成与所述若干语法步骤对应的若干SQL步骤文件;否则结束解析操作;
所述语法分析单元用于执行步骤:
S3、根据预设语法树将所述各SQL步骤文件的解析为对应的语法树对象,得到若干语法树;
所述语法树分析单元用于执行步骤:
S4、遍历所述若干语法树对象且将其转换为执行计划;
S5、判断执行计划是否符合预期设定,若符合,则输出所述执行计划;否则结束解析操作;
所述SQL执行引擎获取所述执行计划,并匹配分布式实时计算引擎,将所述计算任务下发至分布式计算平台,该分布式计算平台执行所述执行计划,以完成实时计算任务。
2.根据权利要求1所述的集成开发及执行系统,其特征在于,所述实时SQL语法,包括执行环境及全局变量定义语法、数据源定义语法、数据查询操作语法。
3.根据权利要求1所述的集成开发及执行系统,其特征在于,所述开发平台还包括任务监控模块,该任务监控模块与所述分布式计算引擎进行信息交互,并获取所述执行计划的执行状态信息,用于所述实时计算任务的监控。
4.根据权利要求3所述的集成开发及执行系统,其特征在于,所述任务监控模块配置有可视化图表。
5.根据权利要求1所述的集成开发及执行系统,其特征在于,所述开发平台还包括用户管理模块,用于用户信息的管理以及登录/登出操作。
6.根据权利要求1所述的集成开发及执行系统,其特征在于,所述开发平台还包括在线测试模块,用于对所述实时计算程序进行测试。
7.根据权利要求1所述的集成开发及执行系统,其特征在于,所述开发平台还包括程序发布模块,用于生成所述实时计算任务的可执行文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394328.5A CN111158653B (zh) | 2019-12-30 | 2019-12-30 | 基于sql语言的实时计算程序的集成开发及执行系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394328.5A CN111158653B (zh) | 2019-12-30 | 2019-12-30 | 基于sql语言的实时计算程序的集成开发及执行系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158653A CN111158653A (zh) | 2020-05-15 |
CN111158653B true CN111158653B (zh) | 2023-04-18 |
Family
ID=70559049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911394328.5A Active CN111158653B (zh) | 2019-12-30 | 2019-12-30 | 基于sql语言的实时计算程序的集成开发及执行系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158653B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487017B (zh) * | 2020-11-30 | 2024-07-16 | 北京中亦安图科技股份有限公司 | 基于流程引擎的sql发布方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7614052B2 (en) * | 2004-01-09 | 2009-11-03 | Nexaweb Technologies Inc. | System and method for developing and deploying computer applications over a network |
US9779133B2 (en) * | 2014-11-25 | 2017-10-03 | Sap Se | Contextual debugging of SQL queries in database-accessing applications |
CN106383701A (zh) * | 2016-08-30 | 2017-02-08 | 西安美林数据技术股份有限公司 | 基于通用多协议数据访问接口技术的数据服务系统 |
CN110555032A (zh) * | 2019-09-09 | 2019-12-10 | 北京搜狐新媒体信息技术有限公司 | 一种基于元数据的数据血缘关系分析方法及系统 |
-
2019
- 2019-12-30 CN CN201911394328.5A patent/CN111158653B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111158653A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
CN106777101B (zh) | 数据处理引擎 | |
CN102375731B (zh) | 一种免编码集成应用软件平台系统 | |
CN109614432B (zh) | 一种基于语法分析的获取数据血缘关系的系统及方法 | |
CN112260877B (zh) | 基于ai的rpa机器人管理方法、平台及存储介质 | |
CN110427173B (zh) | 一种人工智能综合业务平台 | |
US8806452B2 (en) | Transformation of computer programs and eliminating errors | |
CN109408493A (zh) | 一种数据源的迁移方法及系统 | |
CN106293891B (zh) | 多维投资指标监督方法 | |
US8682935B2 (en) | System and method for application navigation | |
CN109241104B (zh) | 决策型分布式数据库系统中aisql的解析器及其实现方法 | |
CN106815027B (zh) | 一种用于电网多维业务复合计算的高弹性计算平台 | |
CN107358069A (zh) | 一种基于Hue的权限管理系统 | |
CN113590094A (zh) | 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质 | |
CN114238463A (zh) | 一种用于分布式指标计算的计算引擎控制方法和装置 | |
CN111158653B (zh) | 基于sql语言的实时计算程序的集成开发及执行系统 | |
CN113297081B (zh) | 一种持续集成流水线的执行方法和装置 | |
CN111090665A (zh) | 一种数据任务调度方法及调度系统 | |
CN111381811A (zh) | 一种适应于多类信息系统集成的软件资源整合平台 | |
Gawade et al. | Stethoscope: a platform for interactive visual analysis of query execution plans | |
CN107944288B (zh) | 一种数据访问控制方法和装置 | |
CN110580170B (zh) | 软件性能风险的识别方法及装置 | |
CN114596044A (zh) | 一种项目流程审批的工具及方法 | |
WO2017097125A1 (zh) | 一种执行代码生成方法及设备 | |
CN116431668A (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 | ||
CB02 | Change of applicant information |
Address after: 201203 No. 210, Liangjing Road, Free Trade Pilot Zone, Pudong New Area, Shanghai Applicant after: Shanghai Jinshida Software Technology Co.,Ltd. Address before: No. 210, Liangjing Road, Zhangjiang hi tech park, Pudong New Area, Shanghai, 201203 Applicant before: Shanghai Kingstar Software Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |