CN111158653B - 基于sql语言的实时计算程序的集成开发及执行系统 - Google Patents

基于sql语言的实时计算程序的集成开发及执行系统 Download PDF

Info

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
Application number
CN201911394328.5A
Other languages
English (en)
Other versions
CN111158653A (zh
Inventor
肖义
张治国
黄贤峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jinshida Software Technology Co ltd
Original Assignee
Shanghai Jinshida Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jinshida Software Technology Co ltd filed Critical Shanghai Jinshida Software Technology Co ltd
Priority to CN201911394328.5A priority Critical patent/CN111158653B/zh
Publication of CN111158653A publication Critical patent/CN111158653A/zh
Application granted granted Critical
Publication of CN111158653B publication Critical patent/CN111158653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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语言的实时计算程序的集成开发及执行系统
技术领域
本发明属于实时计算程序开发与执行系统领域,具体为一种基于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
Figure BDA0002345884340000051
Figure BDA0002345884340000061
所述数据源定义语法为:
‘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中的数据表。
所述数据查询操作语法包括:
Figure BDA0002345884340000062
Figure BDA0002345884340000071
Figure BDA0002345884340000081
Figure BDA0002345884340000091
Figure BDA0002345884340000101
Figure BDA0002345884340000111
用户在所述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所述的集成开发及执行系统,其特征在于,所述开发平台还包括程序发布模块,用于生成所述实时计算任务的可执行文件。
CN201911394328.5A 2019-12-30 2019-12-30 基于sql语言的实时计算程序的集成开发及执行系统 Active CN111158653B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487017B (zh) * 2020-11-30 2024-07-16 北京中亦安图科技股份有限公司 基于流程引擎的sql发布方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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 北京搜狐新媒体信息技术有限公司 一种基于元数据的数据血缘关系分析方法及系统

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