树形结构数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:26170852 阅读:40 留言:0更新日期:2020-10-31 13:40
本发明专利技术涉及大数据技术领域,公开了一种树形结构数据查询方法、装置、设备及存储介质,用于提高树形机构数据的查询效率。树形结构数据查询方法包括:接收数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;按照编码信息读取预置机构维表,得到目标机构结点的层级值;按照待查询机构结点的层级值、编码信息和目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;当待验证的编码信息不为空值时,将待验证的编码信息发送到终端;当待验证的编码信息为空值时,递归查询预置机构维表,得到待查询机构结点的编码信息,并记录到预置机构层级宽表中。本发明专利技术还涉及区块链技术,目标机构结点可存储于区块链节点中。

Tree structure data query method, device, equipment and storage medium

【技术实现步骤摘要】
树形结构数据查询方法、装置、设备及存储介质
本专利技术涉及大数据技术的树表查询领域,尤其涉及一种树形结构数据查询方法、装置、设备及存储介质。
技术介绍
随着数据多样性的增加,表的数量也日益增多,元数据管理平台是大数据领域的一个重要的管理工具,通过元数据管理平台可以根据表来查询表的字段名、注释信息、血缘关系以及用户自定义函数的查询。但在实际的开发使用中,通过机构上下级关系来获取一个机构的等级条线,通常表中存储各机构结点的编码信息、机构等级和上级机构结点,而各机构结点的编码信息需经过层层关联查询才能找到。目前在数据仓库中采用关联查询方式从机构维表中获取对应机构的编码信息,例如:业务需要获取二级机构的编码信息,若当前机构的编码信息属于三级机构,则需要通过上下层级关系获得二级机构的编码信息,同理,若当前机构结点的编码信息属于四级机构,则先查找三级机构的编码信息,再找到二级机构的编码信息。而在关系数据库oracle中机构树的原理,是通过指定当前机构与级联机构之间的关联字段就可以查询得到级联机构的编码信息。然而在数据仓库hive中并不支持该语法,因此从数据仓库中获取树形结构数据中指定层级的编码信息,通过一次关联是做不到的,导致在数据仓库hive中递归查询树形结构数据,存在查询效率低的问题。
技术实现思路
本专利技术的主要目的在于解决现有的在数据仓库hive中递归查询树形结构数据,存在查询效率低的问题。为实现上述目的,本专利技术第一方面提供了一种树形结构数据查询方法,包括:接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;当所述待验证的编码信息不为空值时,确定所述待验证的编码信息为所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端中;当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息。可选的,在本专利技术第一方面的第一种实现方式中,所述按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息,包括:按照预置前缀分别对所述目标机构结点的层级值和所述待查询机构结点的层级值进行字符串拼接,得到所述目标机构结点的字段名和所述待查询机构结点的字段名,并将所述目标机构结点的编码信息设置为所述目标机构结点的字段值;基于所述目标机构结点的字段名、所述目标机构结点的字段值、所述待查询机构结点的字段名和预置机构层级宽表生成查询语句;在预置数据仓库中执行所述查询语句,得到待验证的编码信息。可选的,在本专利技术第一方面的第二种实现方式中,所述当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息,包括:当所述待验证的编码信息为空值时,基于所述目标机构结点的编码信息从所述预置机构维表中读取所述目标机构结点的上级编码信息;基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息;对所述目标数据集进行层级数据筛选,得到至少一条机构数据记录,并将所述至少一条机构记录更新到所述预置机构层级宽表中;从所述预置机构层级宽表中读取所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端。可选的,在本专利技术第一方面的第三种实现方式中,所述基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息,包括:判断所述目标机构结点的上级编码信息是否存在;若所述目标机构结点的上级编码信息不存在,则使用所述目标机构结点的编码信息查找所述预置机构维表,得到下级机构结点的编码信息,并按照所述下级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第一机构数据集;若所述目标机构结点的上级编码信息存在,则将所述目标机构结点的上级编码信息设置为上级机构结点的编码信息,并按照上级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第二机构数据集;将所述第一机构数据集和所述第二机构数据集合并为目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息。可选的,在本专利技术第一方面的第四种实现方式中,所述对所述目标数据集进行层级数据筛选,得到至少一条机构数据记录,并将所述至少一条机构记录更新到所述预置机构层级宽表中,包括:按照所述多个机构结点的层级值和所述层级关联映射信息对所述多个机构结点的编码信息进行筛选,得到至少一条机构数据记录;基于预置时刻函数生成当前时刻,并对所述至少一条机构数据记录中各机构结点的层级值按照从大到小顺序进行排序并筛选,得到最大层级值;将所述至少一条机构数据记录、所述当前时刻和所述最大层级值按照预置字段映射关系写入到所述预置机构层级宽表中。可选的,在本专利技术第一方面的第五种实现方式中,在所述接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值之前,所述树形结构数据查询方法还包括:接收所述终端发送的建表请求,并从所述建表请求中获取待创建数据表的名称;按照所述待创建数据表的名称生成创建数据表的指令,并在所述预置数据仓库中执行所述创建数据表的指令,得到所述预置机构层级宽表。可选的,在本专利技术第一方面的第六种实现方式中,所述按照所述待创建数据表的名称生成创建数据表的指令,并在所述预置数据仓库中执行所述创建数据表的指令,得到所述预置机构层级宽表,包括:按照所述待创建数据表的名称从预置配置信息表中读取预设建表语句;将所述预设建表语句封装为创建数据表的指令;通过预置链接指令链接到所述预置数据仓库,并在所述预置数据仓库中执行所述创建数据表的指令,得到所述预置机构层级宽表,所述预置机构层级宽表的字段包括统计时刻、机构层级和各机构结点的编码信息。本专利技术第二方面提供了一种树形结构数据查询装置,包括:接收模块,用于接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;读取模块,用于按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;查询模块,用于按照所述待查询机本文档来自技高网...

【技术保护点】
1.一种树形结构数据查询方法,其特征在于,所述树形结构数据查询方法包括:/n接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;/n按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;/n按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;/n当所述待验证的编码信息不为空值时,确定所述待验证的编码信息为所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端中;/n当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息。/n

【技术特征摘要】
1.一种树形结构数据查询方法,其特征在于,所述树形结构数据查询方法包括:
接收终端发送的数据查询请求,并解析所述数据查询请求,得到目标机构结点的编码信息和待查询机构结点的层级值;
按照所述目标机构结点的编码信息读取预置机构维表,得到目标机构结点的层级值,所述预置机构维表为符合树形结构的数据表;
按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息;
当所述待验证的编码信息不为空值时,确定所述待验证的编码信息为所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端中;
当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息。


2.根据权利要求1所述的树形结构数据查询方法,其特征在于,所述按照所述待查询机构结点的层级值、所述目标机构结点的编码信息和所述目标机构结点的层级值查询预置机构层级宽表,得到待验证的编码信息,包括:
按照预置前缀分别对所述目标机构结点的层级值和所述待查询机构结点的层级值进行字符串拼接,得到所述目标机构结点的字段名和所述待查询机构结点的字段名,并将所述目标机构结点的编码信息设置为所述目标机构结点的字段值;
基于所述目标机构结点的字段名、所述目标机构结点的字段值、所述待查询机构结点的字段名和预置机构层级宽表生成查询语句;
在预置数据仓库中执行所述查询语句,得到待验证的编码信息。


3.根据权利要求1所述的树形结构数据查询方法,其特征在于,所述当所述待验证的编码信息为空值时,采用所述目标机构结点的编码信息递归查询所述预置机构维表,得到所述待查询机构结点的编码信息,将所述待查询机构结点的编码信息记录到所述预置机构层级宽表中,并向所述终端发送所述待查询机构结点的编码信息,包括:
当所述待验证的编码信息为空值时,基于所述目标机构结点的编码信息从所述预置机构维表中读取所述目标机构结点的上级编码信息;
基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息;
对所述目标数据集进行层级数据筛选,得到至少一条机构数据记录,并将所述至少一条机构记录更新到所述预置机构层级宽表中;
从所述预置机构层级宽表中读取所述待查询机构结点的编码信息,并将所述待查询机构结点的编码信息发送到所述终端。


4.根据权利要求3所述的树形结构数据查询方法,其特征在于,所述基于所述目标机构结点的上级编码信息和所述目标机构结点的编码信息递归查询所述预置机构维表,得到目标数据集,所述目标数据集包括多个机构结点的编码信息、所述多个机构结点的层级值和层级关联映射信息,包括:
判断所述目标机构结点的上级编码信息是否存在;
若所述目标机构结点的上级编码信息不存在,则使用所述目标机构结点的编码信息查找所述预置机构维表,得到下级机构结点的编码信息,并按照所述下级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第一机构数据集;
若所述目标机构结点的上级编码信息存在,则将所述目标机构结点的上级编码信息设置为上级机构结点的编码信息,并按照上级机构结点的编码信息对所述预置机构维表进行迭代查询,得到第二机构数据集;
将所述第一机构数据集和所...

【专利技术属性】
技术研发人员:陈润红
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1