System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,具体是指一种指标动态配置并生成数据的方法。
技术介绍
1、一般来说,指标数据基本上都是基于系统各类明细数据,通过统计分析得到指标数据并输出到前端界面进行展示。而这里的统计分析在传统的软件开发上需要明确指标所需要统计的数据来源、结构字段以及计算方式,并将其编码到程序中。这种方式一旦遇到指标数据来源改变或计算方式变更,就必须进行重新编码并部署程序,针对单个指标可能需要0.5-1天的时间进行调整开发,且一旦涉及到外部接口数据的调整,时间可能更长,影响业务开展。
2、所以,一种指标动态配置并生成数据的方法成为人们亟待解决的问题。
技术实现思路
1、本专利技术要解决的技术问题是提供一种指标动态配置并生成数据的方法,通过接入不同的数据源,定义指标更新周期并提供更新接口,同时嵌入动态脚本便于扩展,将指标计算结果存储,并对外提供方便的指标查询接口。
2、为解决上述技术问题,本专利技术提供的技术方案为:一种指标动态配置并生成数据的方法,包括以下步骤,
3、s1、数据来源管理
4、数据来源包括数据库和外部接口;
5、数据库管理用于管理存储连接信息,外部接口管理用于管理可访问的外部接口信息;
6、s2、指标定义配置
7、所述指标按照其值来源,分为基础指标和复合指标;分别配置基础指标和复合指标的基本信息;
8、s3、指标计算引擎
9、指标计算引擎定时发现待更新指标、根据指标调
10、指标计算引擎采用轮询的方式,从指标库中获取待更新指标,并在线程池中进行批量调用;
11、指标计算引擎在每个指标数据计算完毕得到结果后,根据指标的更新周期,更改指标下次应更新时间;
12、s4、指标数据接口
13、指标数据接口对外提供指标数据,所提供的指标数据根据实际配置,进行简单的聚合;
14、指标数据接口需要进行配置,并提供唯一的调用编码供外部调用,配置信息包括:调用编码、聚合的指标列表;
15、指标数据接口根据配置,在被外部调用时,查询聚合的指标列表中的所有指标数据,并将其返回。
16、进一步地,在步骤s1中的连接信息包括连接地址、用户名、密码、库名和其他所必须的参数;
17、在步骤s1中的外部接口信息包括接口的地址、请求方法、请求参数、是否分页、分页参数定义、前置脚本、认证资料。
18、进一步地,在步骤s1中数据库管理还对每个数据库提供动态连接和复用机制,即当需要使用数据库时,若未连接则获取连接信息进行连接,若已连接则复用该连接。
19、进一步地,在步骤s2中所述基础指标在定义时,配置指标名称、数据来源、单页统计脚本、数据整合脚本、更新周期;
20、所述复合指标在定义时,配置指标名称、依赖指标列表、计算脚本,更新周期。
21、进一步地,在步骤s2中针对基础指标进行定义时,若其数据来源为数据库来源,则配置数据库表,取数逻辑及分页参数;统计脚本则通过得到数据来源返回的数据后,传入脚本,并执行,获取最终单页统计数据;若有分页,则所有分页统计数据完成计算后,执行数据整合脚本,将统计的单页数据整合获取最终数据;指标数据获取后,应进行保存,便于下次直接读取。
22、进一步地,在步骤s3中基础指标根据数据来源不同,采用不同的方式进行调用。
23、进一步地,所述基础指标的数据来源为数据库来源时:
24、若基础指标配置的是取数逻辑,则根据取数逻辑生成sql脚本;若为sql脚本则直接获取;
25、将单页统计脚本进行初始化编译,供后续重复调用;
26、获取对应的数据库信息并获取连接,成功后,根据分页情况组装并执行sql脚本进行数据获取;
27、将获取到的数据传入编译好的单页统计脚本,得到计算结果,放入临时存储列表中;
28、进行下一页参数变更,并组装执行新的sql脚本进行数据获取,若有数据,则重复上一计算动作,若无数据则跳出下一页的循环;
29、将临时存储列表的数据传入数据整合脚本,得到计算结果,存入指标结果表及指标结果历史表。
30、进一步地,所述基础指标的数据来源为外部接口来源时:
31、若基础指标配置的认证方式为基本认证或密钥认证,则直接作为参数;若基础指标配置的认证方式为接口认证,则调用认证接口,得到返回数据作为参数,传入接口前置脚本,同时传入分页数据及完整的请求对象供脚本修改;
32、将单页统计脚本进行初始化编译,供后续重复调用;
33、使用脚本修改后的请求对象,发起数据请求,并获取数据;
34、将获取到的数据传入编译好的单页统计脚本,得到计算结果,放入临时存储列表中;
35、进行下一页参数变更,并作为分页数据重新传入接口前置脚本,调用接口获取新数据,若有数据则重复上一计算动作,若无数据则跳出下一页的循环;
36、将临时存储列表的数据传入数据整合脚本,得到计算结果,存入指标结果表及指标结果历史表。
37、进一步地,在步骤s3中复合指标计算调用方法如下:
38、获取复合指标所依赖的所有基础指标及对应结果,将基础指标与对应结果一一对应后,传入计算脚本中进行计算,并获得计算结果,存入指标结果表及指标结果历史表。
39、进一步地,指标定义允许被更新与删除;
40、在更新指标定义时,更新指标对应的配置信息,将原配置存入历史配置表,便于对历史配置快速查询或恢复;
41、在删除指标定义时,仅逻辑删除,该逻辑删除仅对定时计算起效,若查询接口传入指定参数仍可查询到该指标数据。
42、本专利技术与现有技术相比的优点在于:实施本专利技术的技术方案后,针对数据统计、指标展示相关的工作可不再独立开发,仅需通过本专利技术的方法实施的系统中进行相应配置即可完成。在指标开发、变更上可由原来的数天缩短为数小时甚至数分钟即可完成,极大地增加了业务对接效率和灵活性。且基于快速配置的能力,可减少试错成本,特别是对业务尚未完全明确的指标参数,可频繁快速变更而不影响系统稳定性和可访问性。
本文档来自技高网...【技术保护点】
1.一种指标动态配置并生成数据的方法,其特征在于:包括以下步骤,
2.根据权利要求1所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S1中的连接信息包括连接地址、用户名、密码、库名和其他所必须的参数;
3.根据权利要求2所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S1中数据库管理还对每个数据库提供动态连接和复用机制,即当需要使用数据库时,若未连接则获取连接信息进行连接,若已连接则复用该连接。
4.根据权利要求3所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S2中所述基础指标在定义时,配置指标名称、数据来源、单页统计脚本、数据整合脚本、更新周期;
5.根据权利要求4所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S2中针对基础指标进行定义时,若其数据来源为数据库来源,则配置数据库表,取数逻辑及分页参数;统计脚本则通过得到数据来源返回的数据后,传入脚本,并执行,获取最终单页统计数据;若有分页,则所有分页统计数据完成计算后,执行数据整合脚本,将统计的单页数据整合获取最终数据;指标数据获取后,应
6.根据权利要求5所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S3中基础指标根据数据来源不同,采用不同的方式进行调用。
7.根据权利要求6所述的一种指标动态配置并生成数据的方法,其特征在于:所述基础指标的数据来源为数据库来源时:
8.根据权利要求6所述的一种指标动态配置并生成数据的方法,其特征在于:所述基础指标的数据来源为外部接口来源时:
9.根据权利要求7或8所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤S3中复合指标计算调用方法如下:
10.根据权利要求9所述的一种指标动态配置并生成数据的方法,其特征在于:指标定义允许被更新与删除;
...【技术特征摘要】
1.一种指标动态配置并生成数据的方法,其特征在于:包括以下步骤,
2.根据权利要求1所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤s1中的连接信息包括连接地址、用户名、密码、库名和其他所必须的参数;
3.根据权利要求2所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤s1中数据库管理还对每个数据库提供动态连接和复用机制,即当需要使用数据库时,若未连接则获取连接信息进行连接,若已连接则复用该连接。
4.根据权利要求3所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤s2中所述基础指标在定义时,配置指标名称、数据来源、单页统计脚本、数据整合脚本、更新周期;
5.根据权利要求4所述的一种指标动态配置并生成数据的方法,其特征在于:在步骤s2中针对基础指标进行定义时,若其数据来源为数据库来源,则配置数据库表,取数逻辑及分页参数;统计脚本则通过得到数据...
【专利技术属性】
技术研发人员:徐昱琪,周丽华,何弈,柴思进,
申请(专利权)人:杭州西湖新基建数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。