一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ES的实时数据中心配置系统及其处理方法与流程

2022-03-09 00:19:43 来源:中国专利 TAG:

一种基于es的实时数据中心配置系统及其处理方法
技术领域
1.本发明涉及数据中心配置系统技术领域,具体是指一种基于es的实时数据中心配置系统及其处理方法。


背景技术:

2.随着大数据时代的来临,业务越来越重视数据的价值,对时效性的要求也越来越高,实时数据中心看板已逐渐成为每个业务产品的标配。现有的实时数据中心一般是将实时明细数据存储在elasticsearch集群,通过在elasticsearch客户端层添加dsl解析引擎,或解析sql以查询elasticsearch数据,进行各指标的统计,然后对数据结果进行解析转换,最后将数据展示在前端可视化界面上,如图1所示,业务a想打造一个实时数据中心,则第一步是查询es统计a的各项展示指标;第二步是对es查询出来的结果json串进行解析得到a的简单指标,比如当日交易额等kpi类型指标;第三步是定制化开发复杂指标,比如需要公式计算的毛利率,或是数据结构较复杂需要重新进行格式转换的趋势图、商品榜单等复杂图形指标,最后是将简单指标和复杂指标数据封装好通过接口的形式输出给前端数据中心页面进行展示。同样的,业务b再打造其数据中心时,也需要重复实现以上开发步骤。
3.因此,现有的实时数据中心存在可复用和可扩展性低、调整灵活性差的问题,开发一种不仅无需修改代码的情况下,便能随时调整各业务实时数据中心展示的指标名称、指标个数、指标口径计算逻辑等信息,还可实现指标复用、指标类型扩展的es的实时数据中心配置系统。


技术实现要素:

4.本发明的目的在于克服上述问题,提供一种不仅无需修改代码的情况下,便能随时调整各业务实时数据中心展示的指标名称、指标个数、指标口径计算逻辑等信息,还可实现指标复用、指标类型扩展的es的实时数据中心配置系统及其处理方法。
5.本发明的目的通过下述技术方案实现:基于es的实时数据中心配置系统,包括实时数据配置模块和统一数据接口服务模块,所述实时数据配置模块和统一数据接口服务模块均为独立构建,且实时数据配置模块与统一数据接口服务模块之间通过数据线连接;所述实时数据配置模包括以下四个子模块:
6.取数模板配置子模块,用于对查询条件接收和占位符替换,生成一个完整的查询语句,并能进行查询条件新增编辑或删除。
7.简单指标配置子模块,用于对查询结果配置简单指标名称和通过jsonpath路径对配置简单指标名称进行解析,并能进行动态新增编辑或删除。
8.复杂指标配置子模块,用于复杂指标或图形基于简单指标的二次计算脚本配置,复杂指标数据计算,并能进行动态新增编辑或删除。
9.预览子模块,用于对所述取数模板配置子模块、简单指标配置子模块、复杂指标配置子模块配置完后的共同作用结果预览,并将处理得到的结果呈现到前端页面上;
10.所述取数模板配置子模块与统一数据接口服务模块连接,且取数模板配置子模块还依次与简单指标配置子模块、复杂指标配置子模块、预览子模块连接。
11.所述统一数据接口服务模块用于一个或多个业务实时数据中心与实时数据配置模块的连接,且该统一数据接口服务模块能对业务实时数据中心传入的配置id查询数据库配置表生成配置记录,能根据配置记录自动生成取数语句,并能对取数模板配置子模块、简单指标配置子模块、复杂指标配置子模块的json串解析进行提取。
12.所述取数模板配置子模块配置的语法包括sql和dsl;该取数模板配置子模块支持直接替换和动态拼接两种占位符替换方式。
13.所述统一数据接口服务模块为api数据服务接口模块或cpi数据服务接口模块。
14.所述基于es的实时数据中心配置系统的处理方法,包括以下步骤:
15.步骤s1、一个或多个业务数据中心通过统一数据接口服务模块在取数模板配置子模块中选择查询es的一个或多个sql或dsl模板语法,并向取数模板配置子模块输入一个或多个查询条件。
16.步骤s2、将输入的查询条件与取数模板配置子模块的配置查询条件进行动态拼接或替换,得到一个完整的sql或es dsl查询语句,并通过得到的sql或es dsl查询语句从es集群执行这条查询语句得到查询结果。
17.步骤s3、判定得到查询结果中是否存在复杂指标或图形,是,通过简单指标配置子模块对步骤s2中得到查询结果配置简单指标名称后,简单指标配置子模块通过jsonpath路径对配置简单指标名称进行解析后,得到简单指标名称及其对应的指标值的键值对,并进入步骤s4;否,通过简单指标配置子模块对步骤s2中得到查询结果配置简单指标名称后,简单指标配置子模块通过jsonpath路径对配置简单指标名称进行解析后,得到简单指标名称及其对应的指标值的键值对,并进入步骤s5。
18.步骤s4、通过复杂指标配置子模块对复杂查询指标或图形进行复杂指标名称及复杂指标名称计算表达式进行配置,并将步骤s3得到的简单指标键值对注入到配置的计算表达式的变量中,通过计算表达式执行表达式得到复杂指标数据结果。
19.步骤s5、通过预览子模块将步骤s3中得到的简单指标值的键值对和步骤s4中得到的复杂指标数据结果通过预览子模块呈现到前端页面上,进行数据预览,确认数据无误后将配置持久化到数据库,统一数据接口服务模块还回数据结果。
20.所述步骤s1中的查询条件为键值对;步骤s1中查询条件输入没有勾选“支持模糊查询”时,sql语法使用in关键字,dsl语法使用terms关键字;查询条件输入有勾选“支持模糊查询”时,sql语法用like替换in,dsl语法用wildcard替换terms。
21.所述步骤s2中替换是指将配置查询条件与取数模板配置子模块中相同名称的占位符进行替换,该步骤s2中查询条件为多个时,sql语法用and拼接起来替换掉取数模板配置子模块里where条件后的$params$占位符,dsl语法用逗号拼接起来替换掉取数模板配置子模块里must里面的$params$占位符。
22.所述步骤s2中的动态拼接包括以下两种方式:
23.(1)将输入的查询条件名称与配置查询条件名称相同的,作为查询条件拼接在取数模板配置子模块里。
24.(2)将输入的查询条件名称与配置查询条件名称不同,且配置的查询条件配有默
认值的,将默认值作为查询条件拼接在取数模板配置子模块里。
25.所述步骤s4中的复杂指标名称计算表达式为开源的表达式引擎qlexpress,简单指标键值对通过qlexpress提供的iexpresscontext接口注入到表达式的变量中。
26.本发明较现有技术相比,具有以下优点及有益效果:
27.(1)本发明通过由配置子模块、简单指标配置子模块和复杂指标配置子模块组成的实时数据配置模块,即可实现随时对各业务实时数据中心展示的指标名称、指标个数、指标口径计算逻辑等的调整,无需修改代码走发布上线流程即可实时生效,快速响应业务需求。
28.(2)本发明的通过预览子模块和统一数据接口服务模块相配合,可实现处理返回数据的一致性,以及整套实时数据配置无需持久化即可在线预览的特性,每套业务实时数据中心配置完后都可以实时预览验证数据结果,无误后再将配置持久化到数据库,统一数据接口服务模块返回结果才会最终生效,极大提升了接口供数的质量,同时也减少了前后端数据接口联调成本,提高了开发效率。
29.(3)本发明针对不同业务实时数据中心的相同指标只需配置一次即可,复用性高,易修改,可维护性强,当业务快速扩张,指标类型急剧增多时,只需新增配置即可,无需修改统一数据接口服务,具有较高的可扩展性。
附图说明
30.图1为本发明的结构框图。
31.图2为本发明的实时数据配置模块的结构框图。
具体实施方式
32.下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式并不限于此。
33.实施例1
34.如图1所示,一种基于es的实时数据中心配置系统,包括实时数据配置模块和统一数据接口服务模块。具体的,实时数据配置模块和统一数据接口服务模块均为独立构建,可降低两个模块之间的耦合度。实时数据配置模块与统一数据接口服务模块之间通过数据线连接。实时数据配置模块还中外部的es明细数据库连接。部的业务数据中心连接,本实施例中统一数据接口服务模块同时与外部的业务a数据中心、业务b数据中心以及业务c据中心连接。统一数据接口服务模块在本实施例中优先采用api数据服务接口模块或cpi数据服务接口模块来实现。统一数据接口服务模块用于一个或多个业务实时数据中心与实时数据配置模块的连接,且该统一数据接口服务模块能对业务实时数据中心传入的配置id查询数据库配置表生成配置记录,能根据配置记录自动生成取数语句,并能对取数模板配置子模块、简单指标配置子模块、复杂指标配置子模块的json串解析进行提取。使用时,不同业务实时数据中心传入配置id,调用统一数据接口服务模块,统一数据接口服务模块根据该配置id通过实时数据配置模块找到对应的es实时数据中心配置信息,实时数据配置模块对配置信息进行统一处理后得到所需数据并呈现到前端页面上。
35.如图2所示,实时数据配置模包括取数模板配置子模块,简单指标配置子模块,复
杂指标配置子模块,以及预览子模块。
36.具体的,取数模板配置子模块与统一数据接口服务模块连接。取数模板配置子模块还依次与简单指标配置子模块、复杂指标配置子模块、预览子模块连接。实施时,预览子模块分别与外部es明细数据库和接,预览子模块同时通过统一数据接口服务模块与外部显示器设备连接。
37.其中,取数模板配置子模块,用于对查询条件接收和占位符替换,生成一个完整的查询语句,并能进行查询条件新增编辑或删除。该取数模板配置子模块的语法包括sql和dsl;该取数模板配置子模块支持直接替换和动态拼接两种占位符替换方式。在具体的使用时,当查询没有勾选“支持模糊查询”时,sql语法使用in关键字,dsl语法使用terms关键字;查询条件输入有勾选“支持模糊查询”时,sql语法用like替换in,dsl语法用wildcard替换terms。当查询条件为多个时,sql语法用and拼接起来替换掉取数模板配置子模块里where条件后的$params$占位符,dsl语法用逗号拼接起来替换掉取数模板配置子模块里must里面的$params$占位符。
38.简单指标配置子模块,用于对查询结果配置简单指标名称和通过jsonpath路径对配置简单指标名称进行解析,并能进行动态新增编辑或删除。该简单指标配置子模块采用的jsonpath路径,可以非常方便的获取json文档的内容,以此代替传统的硬编码方式解析es查询结果。
39.复杂指标配置子模块,用于复杂指标或图形基于简单指标的二次计算脚本配置,复杂指标数据计算,并能进行动态新增编辑或删除。使用时,某些复杂的指标或图形可能需要基于es的查询结果进行二次计算或结果格式转换返回新的指标,此时复杂指标配置子模块便可实现对复杂指标配置复杂指标名称,并通过计算表达式,完成复杂指标数据计算。本实施例中的计算表达式优先采用开源的表达式引擎qlexpress来实现。
40.预览子模块,用于对所述取数模板配置子模块、简单指标配置子模块、复杂指标配置子模块配置完后的共同作用结果预览,并将处理得到的结果呈现到前端页面上,即呈现在业务数据中心的页面上。
41.实施例2
42.所述的基于es的实时数据中心配置系统的处理方法,其特征在于,包括以下步骤:
43.步骤s1、一个或多个业务数据中心通过统一数据接口服务模块在取数模板配置子模块中选择查询es的一个或多个sql或dsl模板语法,并向取数模板配置子模块输入一个或多个查询条件。具体的,查询条件为键值对。查询条件输入没有勾选“支持模糊查询”时,sql语法使用in关键字,dsl语法使用terms关键字;查询条件输入有勾选“支持模糊查询”时,sql语法用like替换in,dsl语法用wildcard替换terms。
44.步骤s2、将输入的查询条件与取数模板配置子模块的配置查询条件进行动态拼接或替换,得到一个完整的sql或es dsl查询语句,并通过得到的sql或es dsl查询语句从es集群执行这条查询语句得到查询结果。替换是指将配置查询条件与取数模板配置子模块中相同名称的占位符进行替换,该步骤中查询条件如图1所示,为多个时,sql语法用and拼接起来替换掉取数模板配置子模块里where条件后的$params$占位符,dsl语法用逗号拼接起来替换掉取数模板配置子模块里must里面的$params$占位符。
45.其中,动态拼接包括以下两种方式:
46.(1)将输入的查询条件名称与配置查询条件名称相同的,作为查询条件拼接在取数模板配置子模块里。
47.(2)将输入的查询条件名称与配置查询条件名称不同,且配置的查询条件配有默认值的,将默认值作为查询条件拼接在取数模板配置子模块里。该步骤中的“默认值”是指跟在查询条件后的一个不会变化的静态值,如:1、2、3
······
或a、b、c、d
······
等静态值。
48.实际实施中,若配置的查询条件名称没有一个能与统一数据接口传入的查询参数名称匹配的上,且配置的查询条件没有配默认值,则该查询条件不会被拼接到取数模板里。
49.步骤s3、判定得到查询结果中是否存在复杂指标或图形,是,通过简单指标配置子模块对步骤s2中得到查询结果配置简单指标名称后,简单指标配置子模块通过jsonpath路径对配置简单指标名称进行解析后,得到简单指标名称及其对应的指标值的键值对,并进入步骤s4;否,通过简单指标配置子模块对步骤s2中得到查询结果配置简单指标名称后,简单指标配置子模块通过jsonpath路径对配置简单指标名称进行解析后,得到简单指标名称及其对应的指标值的键值对,并进入步骤s5。
50.步骤s4、通过复杂指标配置子模块对复杂查询指标或图形进行复杂指标名称及复杂指标名称计算表达式进行配置,并将步骤s3得到的简单指标键值对注入到配置的计算表达式的变量中,通过计算表达式执行表达式得到复杂指标数据结果。具体的,复杂指标名称计算表达式为开源的表达式引擎qlexpress,简单指标键值对通过qlexpress提供的iexpresscontext接口注入到表达式的变量中。
51.步骤s5、通过预览子模块将步骤s3中得到的简单指标值的键值对和步骤s4中得到的复杂指标数据结果通过预览子模块呈现到前端页面上,进行数据预览,确认数据无误后将配置持久化到数据库,并将数据结果呈现在前端页面上。
52.本发明通过取数模板配置子模块、简单指标配置子模块和复杂指标配置子模块相配合,即可实现随时对各业务实时数据中心展示的指标名称、指标个数、指标口径计算逻辑等的调整,无需修改代码走发布上线流程即可实时生效,快速响应业务需求。同时,通过预览子模块和统一数据接口服务模块相配合,可实现处理返回数据的一致性,以及整套实时数据配置无需持久化即可在线预览的特性,每套业务实时数据中心配置完后都可以实时预览验证数据结果,无误后再将配置持久化到数据库,统一数据接口服务模块返回结果才会最终生效,极大提升了接口供数的质量,同时也减少了前后端数据接口联调成本,提高了开发效率。
53.如上所述,便可很好的实现本发明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献