【技术实现步骤摘要】
树形结构数据查询方法、装置、设备及存储介质
本专利技术涉及大数据技术的树表查询领域,尤其涉及一种树形结构数据查询方法、装置、设备及存储介质。
技术介绍
随着数据多样性的增加,表的数量也日益增多,元数据管理平台是大数据领域的一个重要的管理工具,通过元数据管理平台可以根据表来查询表的字段名、注释信息、血缘关系以及用户自定义函数的查询。但在实际的开发使用中,通过机构上下级关系来获取一个机构的等级条线,通常表中存储各机构结点的编码信息、机构等级和上级机构结点,而各机构结点的编码信息需经过层层关联查询才能找到。目前在数据仓库中采用关联查询方式从机构维表中获取对应机构的编码信息,例如:业务需要获取二级机构的编码信息,若当前机构的编码信息属于三级机构,则需要通过上下层级关系获得二级机构的编码信息,同理,若当前机构结点的编码信息属于四级机构,则先查找三级机构的编码信息,再找到二级机构的编码信息。而在关系数据库oracle中机构树的原理,是通过指定当前机构与级联机构之间的关联字段就可以查询得到级联机构的编码信息。然而在数据仓库hive中并不支持该语法,因此从数据仓库中获取树形结构数据中指定层级的编码信息,通过一次关联是做不到的,导致在数据仓库hive中递归查询树形结构数据,存在查询效率低的问题。
技术实现思路
本专利技术的主要目的在于解决现有的在数据仓库hive中递归查询树形结构数据,存在查询效率低的问题。为实现上述目的,本专利技术第一方面提供了一种树形结构数据查询方法,包括:接收终端发送的 ...
【技术保护点】
1.一种树形结构数据查询方法,其特征在于,所述树形结构数据查询方法包括:/n接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;/n按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;/n按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;/n当所述待验证的编码信息不为空值时,确定所述待验证的编码信息为所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端中;/n当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息。/n
【技术特征摘要】
1.一种树形结构数据查询方法,其特征在于,所述树形结构数据查询方法包括:
接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;
按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;
按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;
当所述待验证的编码信息不为空值时,确定所述待验证的编码信息为所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端中;
当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息。
2.根据权利要求1所述的树形结构数据查询方法,其特征在于,所述按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息,包括:
按照预置前缀分别对所述目标机构结点的层级值和所述待查询机构结点的层级值进行字符串拼接,得到所述目标机构结点的字段名和所述待查询机构结点的字段名,并将所述目标机构结点的编码信息设置为所述目标机构结点的字段值;
基于所述目标机构结点的字段名、所述目标机构结点的字段值、所述待查询机构结点的字段名和预置机构层级宽表生成查询语句;
在预置数据仓库中执行所述查询语句,得到待验证的编码信息。
3.根据权利要求1所述的树形结构数据查询方法,其特征在于,所述当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息,包括:
当所述待验证的编码信息为空值时,基于所述目标机构结点的编码信息从所述预置机构维表中读取所述目标机构结点的上级编码信息;
基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息;
对所述目标数据集进行层级数据筛选,得到至少一条机构数据记录,并将所述至少一条机构记录更新到所述预置机构层级宽表中;
从所述预置机构层级宽表中读取所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端。
4.根据权利要求3所述的树形结构数据查询方法,其特征在于,所述基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息,包括:
判断所述目标机构结点的上级编码信息是否存在;
若所述目标机构结点的上级编码信息不存在,则使用所述目标机构结点的编码信息查找所述预置机构维表,得到下级机构结点的编码信息,并按照所述下级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第一机构数据集;
若所述目标机构结点的上级编码信息存在,则将所述目标机构结点的上级编码信息设置为上级机构结点的编码信息,并按照上级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第二机构数据集;
将所述第一机构数据集和所...
【专利技术属性】
技术研发人员:陈润红,
申请(专利权)人:中国平安财产保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。