[发明专利]一种基于Elastic Search的血缘关系表示方法有效
申请号: | 202110728893.1 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113590610B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 谭巍;田浩兵;张奎;陈卫 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/2455;G06F16/28;G06F16/21 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 蒋秀清 |
地址: | 610094 四川省成都市成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 elastic search 血缘关系 表示 方法 | ||
1.一种基于Elastic Search的血缘关系表示方法,其特征在于:包括以下步骤:
步骤1:解析单元获取待解析的SQL语句,并对SQL语句进行解析得到表名、字段以及表与表之间的相互依赖数据结构;
其中对SQL语句的解析通过递归的方式进行解析,解析步骤如下:
步骤1.1:通过开源的动态数据管理框架获得要解析的SQL的抽象语法树;
步骤1.2:用一个List结构存放每次递归访问的数据,通过递归遍历步骤1.1中的抽象语法树,得到一条SQL语句中的表、字段以及表与表之间的相互关系;
步骤1.3:用一个List结构存放每次递归访问的数据,通过递归遍历步骤1.1中的抽象语法树,获得SQL语句中的中间表,将中间表加上一个符号“”;非中间表不包含“”;
步骤2:分析单元遍历步骤1中得到的结果,并将结果中的关系依次存入到ElasticSearch 中;
步骤2.1:在Elastic Search中创建一个关联类型的索引,该索引存储了血缘具体数据;索引的结构主要由属性信息组成;
步骤2.2:根据步骤2.1的索引组成结构,设计索引写入id,保证id的唯一性;
步骤2.3:创建索引,创建索引时指定一个主分片,并设置副分片的个数为0;
步骤2.4:将步骤1.2中遍历的结果写入到索引中;
步骤3:展示单元查询Elastic Search中索引,得到血缘关系数据,前端进行血缘关系展示。
2.根据权利要求1所述的一种基于Elastic Search的血缘关系表示方法,其特征在于:步骤1中的所述SQL语句位于SQL中,所述SQL包括SQL语句、任务名以及集群名称;所述SQL通过HTTP的POST方式上传。
3.根据权利要求1所述的一种基于Elastic Search的血缘关系表示方法,其特征在于:定义一种用于存储步骤1.2获得的数据结果的数据结构LinegeTable,解析LinegeTable,解析后的数据物理存储为Elastic Search中的一个索引。
4.根据权利要求1所述的一种基于Elastic Search的血缘关系表示方法,其特征在于:所述步骤2.4包括以下步骤:
步骤2.41:依次遍历步骤1.2中的列表结果,过滤掉中间表,得到List数组;
步骤2.42:遍历步骤2.41中得到的List数组,得到表数据,形成一条待写入索引的记录;待写入索引的记录中的id写入的_id相同;记录中的table_join_field的值取值为parentTable;记录下文档写入的id号标记为PId;
步骤2.43:判断步骤2.42中的表数据是否有依赖其他列表的列表,如果没有则执行步骤2.41;如果存在则遍历具备依赖关系的列表数据,按照步骤2.42的方法进行处理,形成的记录中,table_join_field取值为childTable,同时将步骤2.42中的PId写入其中;
步骤2.44:判断是否读取完成,读取未完成时执行步骤2.41,读取完成的,则完成步骤1.2中遍历的结果写入到索引中。
5.根据权利要求4所述的一种基于Elastic Search的血缘关系表示方法,其特征在于:所述步骤3包括以下步骤:
步骤3.1:后端获取前端填写的表名和集群名,并解析得到表名和集群名,通过ElasticSearch的查询语句查询:表名@集群名@ parentTable 和表名@集群名@ childTable的记录,得到List数组;
步骤3.2:依次递归调用步骤3.1中获取的List数组,递归的深度等于查询深度;
步骤3.3:最终查询得到的结果将放入Map中,将Map转为Json格式返回给前端;
步骤3.4:前端拿到返回的json数据,即可以实现数据血缘关系的展示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110728893.1/1.html,转载请声明来源钻瓜专利网。