一,设计目标
以ES为核心建立数据集中处理平台,支持从各个应收系统采集数据,进行清洗与转换,之后可以进行聚合操作,对外提供API查询;
全平台支持数据集自建,支持转换,查询规则自由配置。
二,设计需求
1.系统支持自由建立数据集,每个数据集对应一个ES的一个索引的别名。(不要直接用索引名,以后更改名称会很复杂)
2.数据集的数据收集可以支持多种,1.物联网实时消息 2.业务日志 3.开放API供其它系统提交 4.连接MYSQL数据库,执行查询定时抽取 5.Excel或CSV导入。
3.数据集在清洗完数据后,通过kafka消息通道推送给应用,支持配置多个通道。
4.平台开放管理API,支持动态建立与维护数据集信息。
5.数据集支持动态建立,数据在导入时如有指定数据集模板与代码信息时,如果平台中无相关数据集,平台将自动建立,模板中不存在的字段支持丢失,自动建立,返回异常等多种处理规则。
6.可以为数据集或数据集模板,动态添加列,可以为列指定转换表达式或匹配表达式,表达式中可以使用字符串相似度,调用其它数据集数据等各种API来组合配置,带表达式的列可以指定实时执行与延时执行。
7.对于匹配结果大于1的记录,系统将自动通知人工界入处理,人工匹配结果时,可以更新模板规则或数据集规则,以便之后使用。
8.可以建立批处理任务,主要针对模板或数据集规则变更后,重新进行匹配需求。
9.可以设置各数据集的字段的类型,是否支持分词检索,聚合等功能;
10.支持数据集查询,可以自定义数据集的显示字段与查询条件,显示与查询条件的快照可以存储,也可以生成API接口,供其它的应用程序调用。
11.查询到的数据可以导出为csv,excel,json,xml等多种格式
12.在基本查询无法满足需求时,可以自定义各数据集的查询表达式(主要考虑跨数据集查询的需要)
13.需要支持为数据集设置权限,设置人工验证方式:1.匹配结果不为1的记录。2.所有记录
三,概要设计
A.平台核心业务模型
1.数据集模板
2.数据集模板字段
3.数据集
4.数据集字段
5.数据集数据:其为es表
6.数据集授权
B.平台主要功能
1.用户场景
a.用户登录后列出ES中所有该用户可访问的数据索引表(除了以db_开头的索引,该类索引用于存储配置数据),对照数据集配置,显示其相关的名称等信息,
b.用户选择一个数据集进入,系统将分以下几块显示数据集的信息:
b1.基本信息:包括数据集的概览,如:总记录数,查询api数,列数,名称等
b2.查询:列出该数据集配置的所有自定义查询,API查询,API脚本查询。
b3.字段:列出该数据集所有的字段,并提供配置参作,可以进行变更配置。
b4.数据:以表格方式列出所有数据,支持各类搜索。(从查询处点击查询后以将自动设置参数显示该页面.)
b5.审核:
b6.日志:
1.平台设计以数据集为核心,一个数据集对应ES的一个索引表,数据集的字段对应索引表的字段,数据也存放在该索引表中。
2.每个数据集有唯一的主键列,由系统自动生成与维护,除了主键外,每个字段可以设置
转换表达式,该表达式为python脚本,可以调用API来进行数据标准化,可以调用查询与对照API从其它数据集获取数据返回。
3.在完成数据