基于CHSQL的sql语句生成方法、装置及电子设备制造方法及图纸

技术编号:37814032 阅读:13 留言:0更新日期:2023-06-09 09:44
本申请实施例提供了一种基于CHSQL的sql语句生成方法、装置及电子设备。所述方法包括:获取用户输入的告警表达式语句;对所述告警表达式语句进行解析,得到目标数据对象;根据所述目标数据对象,确定告警时间范围;对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段;根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。本申请实施例可以实现自动将自然语言转换为CHSQL的sql语句的目的,从而使使用者能够从繁琐的sql语言熟悉编写中脱离出来,降低学习成本,提高平台开放及可用性。性。性。

【技术实现步骤摘要】
基于CHSQL的sql语句生成方法、装置及电子设备


[0001]本申请涉及互联网
,特别是涉及一种基于CHSQL的sql语句生成方法、装置及电子设备。

技术介绍

[0002]在自研系统中,大量的监控告警需要开放给运营人员自主配置,由于运营人员对于sql语言技术储备不足,配置门槛较高,配置风险较大,自研系统无法将告警配置开放出去,导致监控团队成员需要更多投入线上告警配置对接中。
[0003]从而需要提供一种接近自然语言的告警配置形式,来支持数据过滤、聚合、统计、排除等场景并且满足低学习使用成本、低风险的要求,进而催生CHCQL投入专利技术的必要性。

技术实现思路

[0004]本申请实施例所要解决的技术问题是提供一种基于CHSQL的sql语句生成、装置及电子设备,以实现自动将自然语言转换为CHSQL的sql语句的目的,从而使使用者能够从繁琐的sql语言熟悉编写中脱离出来,降低学习成本,提高平台开放及可用性。
[0005]第一方面,本申请实施例提供了一种基于CHSQL的sql语句生成方法,所述方法包括:
[0006]获取用户输入的告警表达式语句;
[0007]对所述告警表达式语句进行解析,得到目标数据对象;
[0008]根据所述目标数据对象,确定告警时间范围;
[0009]对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段;
[0010]根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。
[0011]可选地,所述对所述告警表达式语句进行解析,得到目标数据对象,包括:
[0012]对所述告警表达式语句进行解析,得到DataScan对象和AggFunction对象;
[0013]将所述DataScan对象和所述AggFunction对象作为所述目标数据对象。
[0014]可选地,所述根据所述目标数据对象,确定告警时间范围,包括:
[0015]根据所述目标数据对象中的字段信息,确定所述告警时间范围。
[0016]可选地,所述对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段,包括:
[0017]将所述DataScan对象中的filter函数转换为where条件字段;
[0018]将所述AggFunction对象中的filter函数转换为from字段、group by字段和having字段;
[0019]将所述where条件字段、所述from字段、所述group by字段和所述having字段作为所述数据字段。
[0020]可选地,所述根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告
警表达式语句对应的sql语句,包括:
[0021]根据所述告警时间范围、所述where条件字段、所述from字段、所述group by字段和所述having字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。
[0022]可选地,所述根据所述告警时间范围、所述where条件字段、所述from字段、所述group by字段和所述having字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句,包括:
[0023]根据所述告警时间范围和所述where条件字段,生成whereClause字段;
[0024]根据所述from字段,生成fromClause字段;
[0025]根据所述group by字段,生成groupByClause字段;
[0026]根据所述having字段,生成derivedColumns字段;
[0027]根据所述whereClause字段、所述fromClause字段、所述groupByClause字段和所述derivedColumns字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。
[0028]可选地,所述根据所述whereClause字段、所述fromClause字段、所述groupByClause字段和所述derivedColumns字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句,包括:
[0029]获取预先定义的字段顺序;
[0030]根据所述字段顺序将所述whereClause字段、所述fromClause字段、所述groupByClause字段和所述derivedColumns字段转换为字符串,得到所述CHSQL的与所述告警表达式语句对应的sql语句。
[0031]第二方面,本申请实施例提供了一种基于CHSQL的sql语句生成装置,所述装置包括:
[0032]表达式语句获取模块,用于获取用户输入的告警表达式语句;
[0033]目标数据对象获取模块,用于对所述告警表达式语句进行解析,得到目标数据对象;
[0034]告警时间范围确定模块,用于根据所述目标数据对象,确定告警时间范围;
[0035]数据字段获取模块,用于对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段;
[0036]sql语句生成模块,用于根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。
[0037]可选地,所述目标数据对象获取模块包括:
[0038]对象获取单元,用于对所述告警表达式语句进行解析,得到DataScan对象和AggFunction对象;
[0039]目标对象获取单元,用于将所述DataScan对象和所述AggFunction对象作为所述目标数据对象。
[0040]可选地,所述告警时间范围确定模块包括:
[0041]告警时间范围确定单元,用于根据所述目标数据对象中的字段信息,确定所述告警时间范围。
[0042]可选地,所述数据字段获取模块包括:
[0043]where字段转换单元,用于将所述DataScan对象中的filter函数转换为where条件
字段;
[0044]having字段转换单元,用于将所述AggFunction对象中的filter函数转换为from字段、group by字段和having字段;
[0045]数据字段获取单元,用于将所述where条件字段、所述from字段、所述group by字段和所述having字段作为所述数据字段。
[0046]可选地,所述sql语句生成模块包括:
[0047]sql语句生成单元,用于根据所述告警时间范围、所述where条件字段、所述from字段、所述group by字段和所述having字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。
[0048]可选地,所述sql语句生成单元包括:
[0049]whereClause字段生成子单元,用于根据所述告警时间范围和所述where条件字段,生成whereClause字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CHSQL的sql语句生成方法,其特征在于,所述方法包括:获取用户输入的告警表达式语句;对所述告警表达式语句进行解析,得到目标数据对象;根据所述目标数据对象,确定告警时间范围;对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段;根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。2.根据权利要求1所述的方法,其特征在于,所述对所述告警表达式语句进行解析,得到目标数据对象,包括:对所述告警表达式语句进行解析,得到DataScan对象和AggFunction对象;将所述DataScan对象和所述AggFunction对象作为所述目标数据对象。3.根据权利要求2所述的方法,其特征在于,所述根据所述目标数据对象,确定告警时间范围,包括:根据所述目标数据对象中的字段信息,确定所述告警时间范围。4.根据权利要求2所述的方法,其特征在于,所述对所述目标数据对象进行转换处理,得到所述目标数据对象对应的数据字段,包括:将所述DataScan对象中的filter函数转换为where条件字段;将所述AggFunction对象中的filter函数转换为from字段、group by字段和having字段;将所述where条件字段、所述from字段、所述group by字段和所述having字段作为所述数据字段。5.根据权利要求4所述的方法,其特征在于,所述根据所述告警时间范围和所述数据字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句,包括:根据所述告警时间范围、所述where条件字段、所述from字段、所述group by字段和所述having字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。6.根据权利要求5所述的方法,其特征在于,所述根据所述告警时间范围、所述where条件字段、所述from字段、所述group by字段和所述having字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句,包括:根据所述告警时间范围和所述where条件字段,生成whereClause字段;根据所述from字段,生成fromClause字段;根据所述group by字段,生成groupByClause字段;根据所述having字段,生成derivedColumns字段;根据所述whereClause字段、所述fromClause字段、所述groupByClause字段和所述derivedColumns字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句。7.根据权利要求6所述的方法,其特征在于,所述根据所述whereClause字段、所述fromClause字段、所述groupByClause字段和所述derivedColumns字段,生成所述CHSQL的与所述告警表达式语句对应的sql语句,包括:获取预先定义的字段顺序;根据所述字段顺序将所述whereClause字段、所述fromClause字段、所述
groupByClause字段和所述derivedColumns字段转换为字符串,得到所述CHSQL的与所述告警表达式语句对应的sql语句。8.一种基于CHSQL的sql语句...

【专利技术属性】
技术研发人员:黄全新苏泽峰
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1