System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据库动态SQL拼接的自动化计算系统技术方案_技高网

一种数据库动态SQL拼接的自动化计算系统技术方案

技术编号:45006739 阅读:0 留言:0更新日期:2025-04-15 17:22
本发明专利技术公开了一种数据库动态SQL拼接自动化计算系统,包括动态参数解析器、基础指标模型库、SQL模版库、SQL拼接器、SQL查询执行器、前台;首先针对实际业务,基于基础指标模型库构建指标体系;用户通过前台将需求输入,在系统中进行SQL拼接自动化计算,并将最终的结果输入到前台进行展示。本发明专利技术公开的系统,提高了数据库查询的灵活性和效率,同时增强代码的安全性和可维护性,实现了SQL查询语句的自动化构建和执行。

【技术实现步骤摘要】

本专利技术属于数据库查询优化与自动化,具体涉及一种数据库动态sql拼接自动化计算系统。


技术介绍

1、结构化查询语言(structured query language)简称sql,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2、在公司经营分析和业绩追踪中,经常需要根据不同的业务逻辑由科技人员在后台编写sql语句进行数据抽取,给技术人员带来了巨大而且重复的工作量,而且容易出错,造成数据混乱。因此,需要一种更加灵活且高效的动态sql拼接自动化计算方法来根据用户不同的需求,自动构建并生成sql语句,展示执行结果,无需科技人员介入,业务部门人员即可根据自己的需求获取所需要的数据集市。


技术实现思路

1、本专利技术的目的在于提供一种数据库动态sql拼接自动化计算系统,提高了数据库查询的灵活性和效率,同时增强代码的安全性和可维护性。

2、本专利技术提供一种数据库动态sql拼接自动化计算系统,包括动态参数解析器、基础指标模型库、sql模版库、sql拼接器、sql查询执行器、前台;

3、首先针对实际业务,基于基础指标模型库构建指标体系;用户通过前台将需求输入,然后前台将用户的输入数据输入到动态参数解析器中;动态参数解析器根据接收到的数据以及基础指标模型库和sql模版库对用户需求进行参数解析,得到的结果输入到sql查询执行器中;sql查询执行器根据接收到的数据和基础指标模型库进行sql查询执行,并将最终的结果输入到前台进行展示;

4、基础指标模型库根据实际业务需求,构建若干个基础指标模块,包括财务指标模块、运营指标模块、人力资源指标模块、客户类指标模块、风险管理指标模块;构建模块的过程采用统一的基础指标加工流程,包括指标体系定义、基础数据抽取、数据清理、数据加工与更新、数据仓库储存;

5、财务指标模块中的财务指标用于评估公司经营状况和盈利能力,包括保费收入统计、利润、成本、支出、以及分析比率统计;

6、运营指标模块中的运营指标用于表示公司日常运营过程中的效率和效果,包括保全项目和理赔的件数统计、完成时效统计、服务质量满意度评价统计;

7、人力资源指标模块中的人力资源指标用于表示公司员工队伍的稳定性和发展潜力,包括员工流失率,员工与业务员的培训情况统计、业务员参会参训数据统计,员工与业务员的晋升晋级情况统计;

8、客户类指标模块中的客户类指标用于表示对客户的基础情况和经营情况以及对客户未来发掘潜力的分析,包括客户基础信息统计,客户购买情况分析、客户各类账户统计、客户与公司触达情况分析、客户未来购买力分析;

9、风险管理指标模块中的风险管理指标用于对公司经营过程中可能出现的各类风险进行监控,包括业绩队伍真实性、队伍管理类、销售行为类、业务管理类、高质量发展类、市场分析类;

10、所述指标体系定义为对指标的具体释义,指标来源,计算方式,计算公式,更新频率进行说明;

11、所述基础数据抽取为从业务系统抽取原始数据,包括保单清单,收付费流水,客户基础信息,以及其他相关的基础数据;

12、所述数据清洗为对数据源中的数据进行清洗,根据指标定义,预设规则删除错误数据和非必要数据,并根据指标定义对数据进行转换;

13、数据加工与更新为整合基础数据,进行加工计算,根据指标定义由对应指标开发人员编写加工语句,从基础数据模块中整合计算出指标对应的结果,同时根据指标定义时设定的更新频率进行更新,数据加工与更新的结果存入数据仓库中;

14、所述数据仓库储存为对所有制备模型采用统一的数据仓库,数据仓库会根据指标的类别和用途将各个指标模型划分为不同的库表,每个库表都包含分析对象、分析对象类别、以及各类指标项;数据仓库中储存若干个映射关系,对应到库表、指标字段以及操作符的中文名词释义,动态参数解析器在进行处理的过程中会读取这些名词释义对应的实际值,将配置值转换为实际值之后再进行处理。

15、所述sql模板库用于储存预定义的sql模板,包括sql基本结构和查询占位符;sql模板库按照预设时间间隔进行更新与维护;

16、动态参数解析器中定义了参数接收类型,包括返回结果列类型、查询库表类型、查询条件类型、分组类型、分组后筛选类型、排序类型;同时根据参数接收类型对应定义了占位符,转换后的参数接收类型将会存入到对应的占位符;用户的输入会转存到各个参数接收类型中,再对参数进行解析;

17、动态参数解析器的解析过程包括以下步骤:

18、s1.处理查询库表类型;对于单表查询,直接替换单表位查询库表占位符;对于多表关联查询,针对每个表生成一个占位符,并赋予对应占位符排序值;排序值对应用户配置时的顺序;主表的排序值为0,直接设置为主库表占位符;

19、关联查询支持左关联和右关联,根据用户选择的关联类别、表名、关联字段组合为一个占位符;

20、动态参数解析器储存预设建议关联字段,并建立索引;处理完查询库表类型后,对每个表设置表别名;

21、s2.处理分组类型;分组类型为可选项,若用户在前台输入的需求中配置了分组类型,则根据用户选取的分组列,加上步骤s1得到的对应表别名前缀,整合为分组列占位符;若用户未再前台输入的需求中配置分组类型,跳过此步骤;

22、s3.处理查询条件类型;查询条件分为单查询条件和组合查询条件;动态参数解析器支持运算符类别和模糊匹配的查询条件;运算符类别包含等于、不等于、大于、小于、大于等于、小于等于、区间;模糊匹配包含类似模糊匹配和排除类似模糊匹配;每一个单条件或者组合条件设置一个查询条件占位符;单查询条件将查询字段、运算符和查询值组合为一个查询条件占位符;组合查询条件为单查询条件的or组合,两个或者多个单查询条件用or连接生成一个查询条件占位符;

23、s4.处理返回结果列类型;返回结果列分为直接展示列和整合计算列;若步骤s2处理为跳过,则在所有的列加上表别名前缀整合为返回结果列占位符;若步骤s2处理了分组类型,则直接展示列复用步骤s2的分组列,另外加上整合计算列,对所配置列进行sum、count函数计算,最后将直接展示列和整合计算列合并为最终的返回结果列占位符;

24、s5.处理排序类型;排序类型为可选项;若用户未再前台输入的需求中配置排序类型,跳过此步骤;若用户在前台输入的需求中配置了排序类型,根据用户配置的排序字段、排序规则整合为单排序条件,排序规则分为升序排列和降序排列,然后再根据用户配置的排序顺序将所有的单排序条件排列整合为最终的排序占位符。

25、sql拼接器根据动态参数解析器传入的占位符选择对应的sql模板进行处理;不同的占位符类别和数量对应不同的sql模板,其中查询库表占位符、返回结果列占位符为必要占位符,若只有这两个占位符,则构建器将会选择最简单的sql模板进行处理,将占位符内容替换进sql模板,生成sql本文档来自技高网...

【技术保护点】

1.一种数据库动态SQL拼接自动化计算系统,其特征在于,包括动态参数解析器、基础指标模型库、SQL模版库、SQL拼接器、SQL查询执行器、前台;

2.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,基础指标模型库根据实际业务需求,构建若干个基础指标模块,包括财务指标模块、运营指标模块、人力资源指标模块、客户类指标模块、风险管理指标模块;构建模块的过程采用统一的基础指标加工流程,包括指标体系定义、基础数据抽取、数据清理、数据加工与更新、数据仓库储存;

3.根据权利要求2所述的数据库动态SQL拼接自动化计算系统,其特征在于,所述基础数据抽取为从业务系统抽取原始数据,包括保单清单,收付费流水,客户基础信息,以及其他相关的基础数据;

4.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,所述SQL模板库用于储存预定义的SQL模板,包括SQL基本结构和查询占位符;SQL模板库按照预设时间间隔进行更新与维护。

5.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,动态参数解析器中定义了参数接收类型,包括返回结果列类型、查询库表类型、查询条件类型、分组类型、分组后筛选类型、排序类型;同时根据参数接收类型对应定义了占位符,转换后的参数接收类型将会存入到对应的占位符;用户的输入会转存到各个参数接收类型中,再对参数进行解析。

6.根据权利要求5所述的数据库动态SQL拼接自动化计算系统,其特征在于,动态参数解析器的解析过程包括以下步骤:

7.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,SQL拼接器根据动态参数解析器传入的占位符选择对应的SQL模板进行处理;不同的占位符类别和数量对应不同的SQL模板,其中查询库表占位符、返回结果列占位符为必要占位符,若只有这两个占位符,则构建器将会选择最简单的SQL模板进行处理,将占位符内容替换进SQL模板,生成SQL语句;对于查询库表占位符,按照占位符的顺序,先拼接在一起之后生成一个整体占位符再进行替换;对于查询条件占位符,需要将所有的查询条件进行and组合之后再替换进SQL模板的对应位置;其他占位符可根据解析器生成的结果直接替换进最终的SQL语句;

8.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,SQL查询执行器将SQL拼接器生成并输入的SQL语句存入执行计划列表;SQL查询执行器包括缓存模块与SQL优化模块;缓存模块储存执行次数前N位的SQL语句以及对应的查询结果;SQL查询执行器首先读取缓存模块中的缓存,根据查询SQL检索执行计划列表,如果匹配到了就直接读取对应的缓存,并根据SQL语句的具体内容进行适应性调整,以返回最终正确的结果集;若未匹配到对应缓存,则进行数据库查询,返回最终正确的结果集;每个SQL语句执行完成后,对应执行计划列表的执行数都会加上1;

9.根据权利要求1所述的数据库动态SQL拼接自动化计算系统,其特征在于,前台包括结果处理模块和需求配置模块;需求配置模块为客户提供基础指标库、所需要的指标表和计算项,占位符的配置选择,根据业务需求,查询和选择配置以及分组的字段和公式;

...

【技术特征摘要】

1.一种数据库动态sql拼接自动化计算系统,其特征在于,包括动态参数解析器、基础指标模型库、sql模版库、sql拼接器、sql查询执行器、前台;

2.根据权利要求1所述的数据库动态sql拼接自动化计算系统,其特征在于,基础指标模型库根据实际业务需求,构建若干个基础指标模块,包括财务指标模块、运营指标模块、人力资源指标模块、客户类指标模块、风险管理指标模块;构建模块的过程采用统一的基础指标加工流程,包括指标体系定义、基础数据抽取、数据清理、数据加工与更新、数据仓库储存;

3.根据权利要求2所述的数据库动态sql拼接自动化计算系统,其特征在于,所述基础数据抽取为从业务系统抽取原始数据,包括保单清单,收付费流水,客户基础信息,以及其他相关的基础数据;

4.根据权利要求1所述的数据库动态sql拼接自动化计算系统,其特征在于,所述sql模板库用于储存预定义的sql模板,包括sql基本结构和查询占位符;sql模板库按照预设时间间隔进行更新与维护。

5.根据权利要求1所述的数据库动态sql拼接自动化计算系统,其特征在于,动态参数解析器中定义了参数接收类型,包括返回结果列类型、查询库表类型、查询条件类型、分组类型、分组后筛选类型、排序类型;同时根据参数接收类型对应定义了占位符,转换后的参数接收类型将会存入到对应的占位符;用户的输入会转存到各个参数接收类型中,再对参数进行解析。

6.根据权利要求5所述的数据库动态sql拼接自动化计算系统,其特征在于,动态参数解析器的解析过程包括以下步骤:

7.根据权...

【专利技术属性】
技术研发人员:丁念
申请(专利权)人:中国人寿保险股份有限公司湖南省分公司
类型:发明
国别省市:

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

1