CN117112574B - 树形业务数据构建方法、装置、计算机设备及存储介质 - Google Patents

树形业务数据构建方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN117112574B
CN117112574B CN202311366670.0A CN202311366670A CN117112574B CN 117112574 B CN117112574 B CN 117112574B CN 202311366670 A CN202311366670 A CN 202311366670A CN 117112574 B CN117112574 B CN 117112574B
Authority
CN
China
Prior art keywords
service data
data
target
tree
slicing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311366670.0A
Other languages
English (en)
Other versions
CN117112574A (zh
Inventor
黄鸿彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meiyun Zhishu Technology Co ltd
Original Assignee
Meiyun Zhishu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Meiyun Zhishu Technology Co ltd filed Critical Meiyun Zhishu Technology Co ltd
Priority to CN202311366670.0A priority Critical patent/CN117112574B/zh
Publication of CN117112574A publication Critical patent/CN117112574A/zh
Application granted granted Critical
Publication of CN117112574B publication Critical patent/CN117112574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种树形业务数据构建方法、装置、计算机设备及存储介质,涉及数据处理技术领域。首先,通过包括树形结构表与业务数据表之间的连接关系的目标树形模型从源数据库中获取初始业务数据。然后,基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据。最后,根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,并对局部处理结果依次进行整合处理,得到目标树形业务数据。通过抽象出来一套目标树形模型,可定制化扩展点、支持异步分片计算,提升系统的运营效率。

Description

树形业务数据构建方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种树形业务数据构建方法、装置、计算机设备及存储介质。
背景技术
对于树形结构数据,需要实时计算各树节点的动态数据,并通过纵向层级方式全量或者批量展示给用户。但不同行业不同项目,数据结构差异较大。因此提出一种适应多类型数据结构的树形业务数据构建方法。
发明内容
本说明书实施方式旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本说明书实施方式提出一种树形业务数据构建方法、装置、计算机设备及存储介质。
本说明书实施方式提供一种树形业务数据构建方法,所述方法包括:
通过目标树形模型从源数据库中获取初始业务数据;其中,所述目标树形模型包括树形结构表与业务数据表之间的连接关系,所述树形结构表用于表征所述业务数据表中字段间的主从关系结构;所述树形结构表包括所述业务数据表的ID字段、所述ID字段的父节点的父级ID字段和层级字段;
基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据;
根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,并对所述局部处理结果依次进行整合处理,得到目标树形业务数据。
在其中一个实施方式,所述对所述局部处理结果依次进行整合处理,得到目标树形业务数据,包括:
根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据。
在其中一个实施方式,所述根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,包括:
根据所述后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到初始树形业务数据;
采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对所述初始树形业务数据进行数据清洗,得到所述目标树形业务数据。
在其中一个实施方式,通过以下方式获得所述目标树形模型:
确定目标模板;其中,所述目标模板适用于所述源数据库的数据库类型;所述目标模板中具有所述树形结构表的结构信息;
基于针对所述目标模板的表结构配置操作,确定目标业务表的结构信息;
基于所述树形结构表的结构信息和所述目标业务表的结构信息生成所述树形结构表和所述目标业务表;
基于所述目标业务表和所述树形结构表确定所述目标树形模型。
在其中一个实施方式,所述基于所述目标业务表和所述树形结构表确定所述目标树形模型,包括:
若检测到所述目标业务表的表名称已存在,则基于所述目标业务表和预先存储的所述树形结构表对已存在的树形模型进行更新,确定所述目标树形模型;
若检测到所述目标业务表的表名称不存在,则基于所述目标业务表和预先存储的所述树形结构表生成所述目标树形模型。
在其中一个实施方式,所述基于所述目标业务表和所述树形结构表生成所述目标树形模型,包括:
基于所述树形结构表中的外键字段以及所述目标业务表中主键字段,建立所述目标业务表与所述树形结构表之间的连接关系,得到所述目标树形模型;其中,所述外键字段采用所述主键字段的值。
在其中一个实施方式,所述初始业务数据为从所述源数据库中加载到缓存的业务数据;所述初始业务数据包括键值对映射数据和元素集合数据;
所述基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据,包括:
确定所述树形结构表对应的总层级数量;
根据所述总层级数量和任务队列对应的总任务数量对所述初始业务数据进行分片处理,得到所述若干份分片业务数据。
在其中一个实施方式,所述根据所述总层级数量和任务队列对应的总任务数量对所述初始业务数据进行分片处理,得到所述若干份分片业务数据,包括:
根据所述总层级数量与所述总任务数量之间的商值以及分片层级数量阈值确定分片层级数量;其中,所述分片层级数量为每份分片业务数据能够包括的层级的数量;所述分片层级数量阈值用于限定所述每份分片业务数据对应的分片层级数量的最小值;
基于所述分片层级数量,将所述初始业务数据划分为所述若干份分片业务数据。
在其中一个实施方式,所述若干份分片业务数据是按照所述树形结构表对应的层级顺序对所述初始业务数据进行分片得到的,所述若干份分片业务数据包括第一类分片业务数据和第二类分片业务数据;
所述根据所述总层级数量与所述总任务数量之间的商值以及分片层级数量阈值确定分片层级数量,包括:
针对所述第一类分片业务数据,将所述商值确定为所述第一类分片业务数据的分片层级数量;其中,若所述商值不小于所述分片层级数量阈值;
针对所述第二类分片业务数据,确定所述总层级数量与所述总任务数量之间的余数,将所述商值与所述余数之和确定为所述第二类分片业务数据的分片层级数量。
在其中一个实施方式,所述每份分片业务数据包括的层级具有位于开始处的起始层级和位于结尾处的末尾层级,所述每份分片业务数据具有分片序号;若所述第二类分片业务数据的数量为1,且排列在最后的分片业务数据为所述第二类分片业务数据,通过以下方式确定针对任一分片业务数据的起始层级和末尾层级:
确定所述任一分片业务数据的分片序号与1间的差值,确定所述任一分片业务数据的分片层级数量与所述差值的乘积,将所述乘积与1之和作为所述起始层级;
若所述任一分片业务数据是排列在最后的分片业务数据,将所述树形结构表对应的最后层级作为所述末尾层级;
若所述任一分片业务数据不是排列在最后的分片业务数据,将所述任一分片业务数据的分片层级数量与所述任一分片业务数据的分片序号的乘积作为所述末尾层级。
在其中一个实施方式,所述分片处理策略包括组装策略;所述分片业务数据在所述树形结构表中对应有多个目标节点;
所述根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,包括:
针对任一目标节点,根据所述组装策略查找与所述任一目标节点具有上级关系或者下级关系的关系节点,并按照所述上级关系或者所述下级关系对所述任一目标节点和所述关系节点进行异步组装,得到所述局部处理结果。
在其中一个实施方式,所述若干份分片业务数据包括相邻的第一分片业务数据和第二分片业务数据;所述第一分片业务数据的排列顺序早于所述第二分片业务数据的排列顺序;所述第一分片业务数据的末尾层级在所述第一分片业务数据的局部处理结果中对应有末尾处理结果,所述第二分片业务数据的起始层级在所述第二分片业务数据的局部处理结果中对应有起始处理结果;所述后置处理策略包括数据粘合策略和后置计算策略;
所述根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,包括:
根据所述数据粘合策略对所述末尾处理结果和所述起始处理结果进行数据粘合,得到数据粘合结果;
根据所述后置计算策略对所述数据粘合结果进行计算,得到所述目标树形业务数据;其中,所述后置计算策略为预先配置的所述数据粘合结果的处理过程或者计算方式。
在其中一个实施方式,所述末尾处理结果包括第一节点处理结果,所述起始处理结果包括第二节点处理结果;所述第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点为上级关系或者下级关系;
所述根据所述数据粘合策略对所述末尾处理结果和所述起始处理结果进行数据粘合,得到数据粘合结果,包括:
根据所述数据粘合策略在所述末尾处理结果和所述起始处理结果中查找所述第一节点处理结果和所述第二节点处理结果;
按照所述上级关系或者所述下级关系对所述第一节点处理结果和所述第二节点处理结果进行数据粘合,得到所述数据粘合结果。
本说明书实施方式提供一种树形业务数据构建装置,所述装置包括:
业务数据获取模块,用于通过目标树形模型从源数据库中获取初始业务数据;其中,所述目标树形模型包括树形结构表与业务数据表之间的连接关系,所述树形结构表用于表征所述业务数据表中字段间的主从关系结构;所述树形结构表包括所述业务数据表的ID字段、所述ID字段的父节点的父级ID字段和层级字段;
业务数据分片模块,用于基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据;
业务数据组装模块,用于根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,并对所述局部处理结果依次进行整合处理,得到目标树形业务数据。
本说明书实施方式提供一种计算机设备,所述电子设备包括:存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现上述任一项实施方式所述的方法的步骤。
本说明书实施方式提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施方式所述的方法的步骤。
本说明书实施方式提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被计算机设备的处理器执行时,使得所述计算机设备能够执行上述任一项实施方式所述的方法的步骤。
上述实施方式中,首先,通过包括树形结构表与业务数据表之间的连接关系的目标树形模型从源数据库中获取初始业务数据。然后,基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据。最后,根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,并对局部处理结果依次进行整合处理,得到目标树形业务数据。通过抽象出来一套目标树形模型,可定制化扩展点、支持异步分片计算,提升系统的运营效率。
附图说明
图1a为本说明书实施方式提供的树形业务数据构建方法的流程图;
图1b为本说明书实施方式提供的数据建模的示意图;
图1c为本说明书实施方式提供的数据组装和数据整合的示意图;
图1d为本说明书实施方式提供的数据清洗的示意图;
图1e为本说明书实施方式提供的树形业务数据构建方法的流程示意图;
图2为本说明书实施方式提供的树形结构表的结构示意图;
图3a为本说明书实施方式提供的得到目标树形业务数据的流程示意图;
图3b为本说明书实施方式提供的初始树形业务数据的示意图;
图3c为本说明书实施方式提供的队列任务拆分的示意图;
图4a为本说明书实施方式提供的获得目标树形模型的流程示意图;
图4b为本说明书实施方式提供的目标树形模型的示意图;
图5为本说明书实施方式提供的目标树形模型的示意图;
图6a为本说明书实施方式提供的得到若干份分片业务数据的流程示意图;
图6b为本说明书实施方式提供的业务数据从源数据库中加载到缓存的示意图;
图7为本说明书实施方式提供的得到若干份分片业务数据的流程示意图;
图8为本说明书实施方式提供的确定分片层级数量的流程示意图;
图9a为本说明书实施方式提供的确定起始层级和末尾层级的流程示意图;
图9b为本说明书实施方式提供的分片业务数据包括的起始层级和末尾层级的示意图;
图10a为本说明书实施方式提供的从根节点往末节点,自上而下进行查找的组装策略的示意图;
图10b为本说明书实施方式提供的从末节点往根节点,自下而上进行查找的组装策略的示意图;
图10c为本说明书实施方式提供的得到局部处理结果的示意图;
图11a为本说明书实施方式提供的得到目标树形业务数据的流程示意图;
图11b为本说明书实施方式提供的得到目标树形业务数据的示意图;
图12a为本说明书实施方式提供的得到数据粘合结果的流程示意图;
图12b为本说明书实施方式提供的得到数据粘合结果的示意图;
图12c为本说明书实施方式提供的得到数据粘合结果的示意图;
图13为本说明书实施方式提供的树形业务数据构建方法的流程示意图;
图14为本说明书实施方式提供的树形业务数据构建装置的示意图;
图15为本说明书实施方式提供的计算机设备的内部结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
系统业务中,涉及到物料、品类、权限、组织架构等业务数据都属于树形结构数据的范畴。对于树形结构数据,需要实时计算各树节点的动态数据,并通过纵向层级方式全量或者批量展示给用户。除此之外,在不同行业不同的项目还包括其他差异化需求,使处理树形结构数据的计算差异较大,且没有统一的定制化处理抽象能力。又或者数据量较大情况时,处理性能低于预期。在业务繁杂的情况下,各业务分而治之,数据繁杂使系统维护难,升级难,降低系统的运营效率低。
相关技术中,系统定制化程度高,没有统一的数据结构,没有规范化节点模板,缺乏灵活地根据不同客户、不同业务植入的扩展。面对KA客户(关键客户)数据量较大情况,数据处理较慢,达不到预期的性能。系统在搭建的过程中代码冗余,导致后续系统维护难。
本说明书实施方式将项目或业务需求中的共性、繁杂的数据维护、多层级、大数据量抽象出来一套独立的树形结构数据组装计算组件。其中该组件可以根据数据模板,统一建模;根据不同业务,选择根节点到子节点自上而下,或者子节点到根节点自下而上的计算策略;计算逻辑可根据不同业务定制化植入,预留扩展点;将树形数据按层级划分区域进行分片计算,实现数据异步计算,聚合。
基于此,本说明书实施方式提供一种树形业务数据构建方法。首先,通过包括树形结构表与业务数据表之间的连接关系的目标树形模型从源数据库中获取初始业务数据。然后,基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据。最后,根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,并对局部处理结果依次进行整合处理,得到目标树形业务数据。通过抽象出来一套目标树形模型,可定制化扩展点、支持异步分片计算,提升系统的运营效率。
请参阅图1a,本说明书实施方式提供的方法可以包括数据建模、数据组装、数据整合、数据清洗等步骤。具体地,请参阅图1b,数据建模可以先选择关系型数据库类型模板,当内置模板支持所选择的关系型数据库类型模板时,可以根据模板配置业务模型。当内置模板不支持所选择的关系型数据库类型模板时,可以根据实际需求自定义模板。然后,根据模板生成关系表、字段到数据库,得到目标业务表和树形结构表。根据目标业务表的表名称检测关系表是否存在。若检测到目标业务表的表名称已存在,则基于目标业务表和预先存储的树形结构表对已存在的树形模型进行更新,确定目标树形模型;若检测到目标业务表的表名称不存在,则基于目标业务表和预先存储的树形结构表生成目标树形模型。
请参阅图1c,可以先通过目标树形模型从源数据库中加载业务数据,接着将加载的业务数据写入缓存,得到初始业务数据。然后选择计算策略以及是否进行分片,当内置的计算策略不满足要求时,可以自定义计算策略。其次判断是否对初始业务数据进行分片处理,当选择的是进行分片处理,对初始业务数据进行分片计算,以异步任务执行方式对所得分片进行数据组装,得到局部处理结果,最后,对局部处理结果进行任务归并及后置处理,实现数据整合,得到初始树形业务数据。当选择的是不进行分片处理,对初始业务数据进行整体计算,对进初始业务数据进行同步任务执行,最后,对同步任务进行后置处理,实现数据整合,得到初始树形业务数据。
请参阅图1d,数据清洗可以先根据初始树形业务数据创建队列,根据创建的队列对初始树形业务数据进行异步任务拆分,接着采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对拆分后的初始树形业务数据进行数据清洗,得到局部结果。最后,对异步任务进行归并得到新树形数据即目标树形业务数据。
本说明书实施方式提供一种树形业务数据构建方法,请参阅图1e,该树形业务数据构建方法可以包括以下步骤:
S110、通过目标树形模型从源数据库中获取初始业务数据。
其中,目标树形模型包括树形结构表与业务数据表之间的连接关系。树形结构表用于表征业务数据表中字段间的主从关系结构;树形结构表包括业务数据表的ID字段、ID字段的父节点的父级ID字段和层级字段。目标树形模型使用邻接表方案,支持多继承,支持业务数据主从关系结构。
具体地,连接到源数据库,确保能够访问源数据表。根据目标树形模型的结构,执行查询操作,从源数据库中获取初始业务数据。
示例性地,请参阅图2,树形结构表102(Tree_Rel)包括主键字段104(PK rel_idint NOT NULL)、外键字段即业务数据表的ID字段106(FK1 id int NOT NULL)、ID字段的父节点的父级ID字段108(parent_id int NOT NULL)和层级字段110(level int NOT NULL)。
需要说明的是,API(Application Programming Interface,应用程序编程接口)接口导入数据时需要按照一定的规则和约定来指定父子关系和层级信息。通过API接口,根据目标树形模型结构将业务数据导入数据库,将业务数据填入业务数据表以及树形结构表。
可以下载SDK(Software Development Kit,软件开发工具包)操作树形结构,基于树形结构生成关系数据库SQL语句(结构化查询语言),直接通过后端web系统对相应的数据库实现数据的新增、查询、修改、删除。
S120、基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据。
S130、根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,并对局部处理结果依次进行整合处理,得到目标树形业务数据。
其中,分片处理可以是将大型任务或数据分割成更小的片段,以便分别处理或存储,从而提高效率和可扩展性的一种技术手段。分片处理策略可以包括局部处理策略、组装策略、后置计算策略。局部处理结果可以是每个节点对应的内部计算结果。
具体地,根据具体需求、数据特点以及树形结构表,可以确定分片策略。根据分片策略,将初始业务数据进行分片处理,可以得到若干份分片业务数据。然后,可以根据预先配置的分片处理策略,对每份分片业务数据进行组装,得到分片业务数据对应的局部处理结果。对组装后的分片处理结果进行局部整合处理。这意味着在父子节点关系中,根据业务逻辑对局部处理结果进行整合、合并或计算,得到目标树形业务数据。
上述实施方式中,首先,通过包括树形结构表与业务数据表之间的连接关系的目标树形模型从源数据库中获取初始业务数据。然后,基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据。最后,根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,并对局部处理结果依次进行整合处理,得到目标树形业务数据。通过抽象出来一套目标树形模型,可定制化扩展点、支持异步分片计算,提升系统的运营效率。
在一些实施方式中,对局部处理结果依次进行整合处理,得到目标树形业务数据,可以包括:根据分片处理策略中的后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据。
其中,分片处理策略可以包括组装策略、局部计算策略以及后置处理策略。后置处理过程中的具体计算和操作方式会根据业务需求而有所不同,可能预先进行设置,后置计算可以包括各种数据操作和运算,例如过滤、统计、合并、计算等。局部处理结果可以包括每个节点自身经过计算所得到的结果。
具体地,首先,将分片业务数据分配给多个计算节点或任务进行处理,每个节点根据分片处理策略独立地处理自己分配到的分片业务数据,实现对分片业务数据的组装和计算,得到局部处理结果。然后,根据分片处理策略中的后置处理策略将对局部处理结果按照顺序进行数据粘合,得到预备的数据集合。最后,根据分片处理策略中的后置处理策略,对数据集合进行后置计算,得到目标树形业务数据。
上述实施方式中,根据分片处理策略中的后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,可以根据后置计算实现更复杂的计算逻辑和业务需求。
在一些实施方式中,请参阅图3a,根据分片处理策略中的后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,可以包括以下步骤:
S310、根据后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到初始树形业务数据。
S320、采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对初始树形业务数据行数据清洗,得到目标树形业务数据。
其中,初始树形业务数据的每个节点包含该节点的全部信息。数据清洗可以是指对原始数据进行处理和转换,以去除数据中的错误、冗余、缺失、不一致等问题,使数据更加准确、一致和可用。目标树形业务数据可以是经过数据清洗使节点所包含的信息为当前业务所需信息的节点所构成的树形业务数据。
在一些情况下,未经数据清洗的数据,一般都存在敏感数据泄漏、数据量大、无效字段、字段类型不一致等问题。所以,当得到初始树形业务数据后,可以对得到初始树形业务数据进行数据清洗处理操作,以保护信息安全并降低浏览器负担。
具体地,依次对局部处理结果按照预先配置的后置处理策略进行数据粘合,将各个局部结果合并成一个整体处理结果。对整体处理结果按照预先配置的后置处理策略进行后置计算,根据预先配置的计算公式、算法或规则,进行进一步的数据处理和计算,得到初始树形业务数据。根据初始树形业务数据,创建队列,可以快速完成对初始树形业务数据的遍历。接着可以通过创建的队列对初始树形业务数据进行拆分,对任务中的树形业务数据执行筛选、转换、过滤、脱敏、压缩中的至少一种数据清洗方式,完成对树形业务数的清洗。将数据清洗完后的任务以及处理结果进行合并,得到目标树形业务数据。
示例性地,请参阅图3b,初始树形业务数据可以如图3b所示,共包括三层。第一层包括一个节点302,第二层包括两个节点304和306,第三层包括四个节点308、310、312、314。请参阅图3c,初始树形业务数据第一层包括一个节点,可以创建一个队列任务A1。将节点302输入至队列任务A1,在队列任务A1中可以对节点302所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S1。
节点302包括子节点304和子节点306,可以创建队列任务A2和队列任务A3。将节点304输入至队列任务A2,在队列任务A2中可以对节点304所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S2。将节点306输入至队列任务A3,在队列任务A3中可以对节点306所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S3。
节点304包括子节点308、子节点310和子节点312,节点306包括子节点314。可以创建队列任务A4、队列任务A5、队列任务A6和队列任务A7。将节点308输入至队列任务A4,在队列任务A4中可以对节点308所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S4。将节点310输入至队列任务A5,在队列任务A5中可以对节点310所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S5。将节点312输入至队列任务A6,在队列任务A6中可以对节点312所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S6。将节点314输入至队列任务A7,在队列任务A7中可以对节点314所包括的数据执行数据清洗操作(比如过滤),得到局部处理结果S7。
将队列任务A4、队列任务A5、队列任务A6进行归并,得到归并队列任务B2。将队列任务A7进行归并,得到归并队列任务B3。然后可以将局部处理结果S4、局部处理结果S5、局部处理结果S6进行合并得到合并结果M2。将局部处理结果S7进行合并得到合并结果M3。将归并队列任务B2和归并队列任务B3进行合并,得到归并队列任务B1。然后可以将合并结果M2和合并结果M3进行合并,得到合并结果M1。根据合并结果M1可以得到目标树形业务数据。
上述实施方式中,根据后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到初始树形业务数据,采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对初始树形业务数据进行数据清洗,得到目标树形业务数据。可以保障数据安全,并节约存储和传输成本,提升了数据的价值和可用性。
在一些实施方式中,请参阅图4a,可以通过以下方式获得目标树形模型:
S410、确定目标模板。
其中,目标模板适用于源数据库的数据库类型。目标模板中具有树形结构表的结构信息。树形结构表可以包括主键字段、业务数据表的ID字段、ID字段的父节点的父级ID字段和层级字段。
具体地,根据实际情况与具体需求,确定目标业务所需的关系型数据库类型以及业务数据表的数量。通过系统提供的统一的工具入口(比如UI交互界面),选择适用于目标业务的数据库类型的模板,若所需的模板已经内置存在,则可以确定该数据库类型的模板为目标模板。若所需的数据库类型的模板并未内置存在,则可以根据所需数据库类型以及业务需求,定制适用于所需数据库类型的模板,并将其作为目标模板。其中,该模板中需要包括树形结构表且树形结构表的表结构可以与内置模板的树形结构表的表结构一致。若目标业务所需的业务数据表的数量超过内置模板所包括的业务数据表的数量,也可以通过自定义的方式建立适用于目标业务数据表数量的关系数据库模板,将其作为目标模板。
S420、基于针对目标模板的表结构配置操作,确定目标业务表的结构信息。
S430、基于树形结构表的结构信息和目标业务表的结构信息生成树形结构表和目标业务表。
S440、基于目标业务表和树形结构表确定目标树形模型。
其中,表结构配置操作可以是定义关系型数据库中表的列、数据类型和约束条件的过程。结构信息描述了关系型数据库中表的列、数据类型、约束条件等详细信息。
具体地,根据目标业务需求,可以确定目标业务对应的业务表的表名、业务表中包括的列名以及各业务表之间的约束关系。确定目标模板后,根据目标业务所包括的信息,对目标模板的表结构进行配置操作,可以得到目标业务表的结构信息。然后,可以根据树形结构表的结构信息以及目标业务表的结构信息,生成树形结构表和目标业务表到数据库。最后,基于目标业务表和树形结构表确定目标树形模型。
示例性地,请参阅图4b,目标树形模型可以包括树形结构表102(Tree_Rel)、第一目标业务表404(Business)以及第二目标业务表406(Business_Line)。其中,第一目标业务表404可以称为主表或头表,第二目标业务表406可以称为行表。需要说明的是第一目标业务表404以及第二目标业务表406所包括的属性均可以根据业务进行自定义。第一目标业务表404对应配置有business_id int NOT NULL、example_other varchar NOT NULL、example_date date NOT NULL等信息,第二目标业务表406对应配置有PK business_line_id int NOT NULL、FK1 business_id int NOT NULL、example_other varchar NOT NULL等信息。
上述实施方式中,确定适用于源数据库的数据库类型的目标模板;目标模板中具有树形结构表的结构信息;基于针对目标模板的表结构配置操作,确定目标业务表的结构信息,基于树形结构表的结构信息和目标业务表的结构信息生成树形结构表和目标业务表,基于目标业务表和树形结构表确定目标树形模型,可以提高数据库的数据管理和查询能力,并提高数据操作的效率和灵活性。
在一些实施方式中,基于目标业务表和树形结构表确定目标树形模型,可以包括:
若检测到目标业务表的表名称已存在,则基于目标业务表和预先存储的树形结构表对已存在的树形模型进行更新,确定目标树形模型。
若检测到目标业务表的表名称不存在,则基于目标业务表和预先存储的树形结构表生成目标树形模型。
在一些情况下,由于业务环境的不断变化,可能需要对现有的树形模型进行更新以适应新的业务需求。或者在配置目标业务表的结构信息时,可能存在手误的情况,需要再一次进行目标业务表的配置,以实现目标业务表的修改。
具体地,在生成树形结构表和目标业务表到数据库后,通过查询数据库系统的表信息,判断目标业务表的表名称是否已在数据库中存在。若检测到目标业务表的表名称已存在,可以认为存在与目标业务表对应的树形模型。因此,可以根据新的目标业务表以及预先存储的树形结构表对已存在的树形模型进行更新,确定目标树形模型。若检测到目标业务表的表名称不存在,可以直接根据目标业务表和预先存储的树形结构表生成目标树形模型。
上述实施方式中,若检测到目标业务表的表名称已存在,则基于目标业务表和预先存储的树形结构表对已存在的树形模型进行更新,确定目标树形模,可以利用已有的树形结构表和目标业务表进行修改和更新,避免重新生成整个树形模型,节省了重复的工作量。若检测到目标业务表的表名称不存在,则基于目标业务表和预先存储的树形结构表生成目标树形模型,可以根据实际需求自由定义目标业务表的结构,而不需要考虑已存在表的限制。
在一些实施方式中,基于目标业务表和树形结构表生成目标树形模型,可以包括:基于树形结构表中的外键字段以及目标业务表中主键字段,建立目标业务表与树形结构表之间的连接关系,得到目标树形模型。
其中,外键字段采用主键字段的值。外键可以是数据库中用于建立表与表之间关联关系的一种约束。主键可以是一种数据库约束(Constraint),它确保表中的每条记录都能够被唯一标识和访问。在关系型数据库中,表之间可以通过不同的连接方式建立连接关系。
在一些情况下,当数据量大且复杂时,使用多个数据表可以更好地组织和管理数据。每个表可以专注于某个特定的数据领域或实体类型,使得数据结构更清晰、易于理解和维护。通过外键约束,可以确保数据之间的关联和一致性,提高查询性能和响应速度。
具体地,在树形结构表的外键字段上建立外键约束,确保外键字段引用目标业务表的主键字段,以建立目标业务表与树形结构表之间的连接关系。通过目标业务表与树形结构表之间的连接关系,以及目标业务表与树形结构表可以得到目标树形模型。
示例性地,请参阅图5,树形结构表102(Tree_Rel)中的外键字段106可以采用第一目标业务表404(Business)中的主键字段504的值。通过树形结构表Tree_Rel中的外键字段106以及第一目标业务表Business中的主键字段504之间的关系,可以建立第一目标业务表与树形结构表之间的连接关系,得到目标树形模型506。
上述实施方式中,基于树形结构表中的外键字段以及目标业务表中主键字段,建立目标业务表与树形结构表之间的连接关系,实现数据的连接与集成。通过连接相关表的外键字段和主键字段,可以方便地进行关联查询操作,获取跨表的相关数据。
在一些实施方式中,请参阅图6a,初始业务数据为从源数据库中加载到缓存的业务数据;初始业务数据包括键值对映射数据和元素集合数据;基于树形结构表对初始业务数据进行分片处理,得到若干份分片业务数据,可以包括以下步骤:
S610、确定树形结构表对应的总层级数量。
S620、根据总层级数量和任务队列对应的总任务数量对初始业务数据进行分片处理,得到若干份分片业务数据。
其中,总层级数量可以是层级字段中的最大数值。总任务数量可以根据实际情况进行设置,也可以是执行任务的系统的默认任务数量。
具体地,建立与源数据库的连接,通过执行相应的SQL查询语句或者调用数据库的API,可以从源数据库中将业务数据数读取出来并加载到缓存,得到初始业务数据。在读取数据时如果数据量大,可以自动选择分批处理,将业务数据加载到缓存。根据存储至缓存中的初始业务数据,可以确定树形结构表对应的总层级数量。根据总层级数量和任务队列对应的总任务数量,设置合理的分片规则。根据设置的分片规则对初始业务数据进行分片处理,得到若干份分片业务数据。
示例性地,请参阅图6b,通过SDK的API可以将存储在关系型数据库中的树形结构表(Tree_Rel)中的数据与业务数据表中的数据加载到redis(Remote Dictionary Server,远程字典服务)缓存中,得到初始业务数据。在redis缓存中,map(哈希表)以键值对(key-value)形式存储映射数据,set(集合)以集合形式存储元素。在map中的键(key)可以存储业务数据表中的ID字段,值(value)可以存储key存储的ID字段在业务数据表中所对应的其余字段。在set中的层级(level N)可以存储树形结构表(Tree_Rel)中的层级字段,节点信息(treeNode)可以存储层级字段对应的业务数据表的ID所对应的树形结构表(Tree_Rel)中的数据与业务数据表中的数据。其中,Redis(Remote Dictionary Server)即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
上述实施方式中,确定树形结构表对应的总层级数量,根据总层级数量和任务队列对应的总任务数量对初始业务数据进行分片处理,得到若干份分片业务数据,可以提高并行度、减少计算压力。
在一些实施方式中,请参阅图7,根据总层级数量和任务队列对应的总任务数量对初始业务数据进行分片处理,得到若干份分片业务数据,可以包括以下步骤:
S710、根据总层级数量与总任务数量之间的商值以及片层级数量阈值确定分片层级数量。
S720、基于分片层级数量,将初始业务数据划分为若干份分片业务数据。
其中,分片层级数量为每份分片业务数据能够包括的层级的数量。分片层级数量阈值用于限定每份分片业务数据对应的分片层级数量的最小值。
具体地,根据业务需求和系统性能等因素,设定一个合适的分片层级数量阈值。比如层级数量阈值可以为2、3、4等正整数中的任一。计算总层级数量与总任务数量之间的商值,当总层级数量与总任务数量之间的商值大于等于分片层级数量阈值时,可以根据总层级数量与总任务数量之间的商值确定分片层级数量。根据确定的分片层级数量对初始业务数据按顺序进行划分,可以将初始业务数据划分为若干份分片业务数据。
上述实施方式中,根据总层级数量与总任务数量之间的商值以及分片层级数量阈值确定分片层级数量,可以使得每个分片中包含适量的层级数量,从而更好地利用计算资源。
在一些实施方式中,请参阅图8,若干份分片业务数据是按照树形结构表对应的层级顺序对初始业务数据进行分片得到的,若干份分片业务数据包括第一类分片业务数据和第二类分片业务数据;根据总层级数量与总任务数量之间的商值以及分片层级数量阈值确定分片层级数量,可以包括以下步骤:
S810、针对第一类分片业务数据,将商值确定为第一类分片业务数据的分片层级数量。
S820、针对第二类分片业务数据,确定总层级数量与总任务数量之间的余数,将商值与余数之和确定为第二类分片业务数据的分片层级数量。
其中,第一类分片业务数据可以是分片层级数量为平均每片分片业务数据包含的层级的个数对应的分片业务数据。第二类分片业务数据可以是分片层级数量区别于平均每片分片业务数据包含的层级的个数对应的分片业务数据。
在一些情况下,由于总层级数量与总任务数量之间不一定满足倍数关系,因此并不能满足每片分片业务数据所包含的分片层级数量是一致的。
具体地,计算总层级数量与总任务数量之间的商值,当总层级数量与总任务数量之间的商值大于等于分片层级数量阈值时,可以将总层级数量与总任务数量之间的商值确定为第一类分片业务数据的分片层级数量。
当总层级数量与总任务数量之间不满足倍数关系时,计算总层级数量与总任务数量之间的商值,当总层级数量与总任务数量之间的商值大于等于分片层级数量阈值时,可以将总层级数量与总任务数量之间的商值确定为第一类分片业务数据的分片层级数量。计算总层级数量与总任务数量之间的商值与余数,将商值与余数进行相加处理,得到商值与余数之和。将商值与余数之和确定为第二类分片业务数据的分片层级数量。
示例性地,总层级数量可以是6,总任务数量可以是3,分片层级数量阈值可以是2。计算总层级数量与总任务数量之间的商值为2,且总层级数量与总任务数量之间的商值等于分片层级数量阈值,可以将总层级数量与总任务数量之间的商值2确定为第一类分片业务数据的分片层级数量。
总层级数量可以是7,总任务数量可以是3,分片层级数量阈值可以是2。计算总层级数量与总任务数量之间的商值为2,且总层级数量与总任务数量之间的商值等于分片层级数量阈值,可以将总层级数量与总任务数量之间的商值2确定为第一类分片业务数据的分片层级数量。计算总层级数量与总任务数量之间的商值与余数,将商值与余数进行相加处理,得到商值与余数之和为3,可以将总层级数量与总任务数量之间的商值3确定为第二类分片业务数据的分片层级数量。
上述实施方式中,针对第一类分片业务数据,将商值确定为第一类分片业务数据的分片层级数量,针对第二类分片业务数据,确定总层级数量与总任务数量之间的余数,将商值与余数之和确定为第二类分片业务数据的分片层级数量,可以发挥系统的并行处理能力和资源利用率,提高数据处理的效率和可扩展性,并保证任务的均衡分配和调度优化。
在一些实施方式中,请参阅图9a,每份分片业务数据包括的层级具有位于开始处的起始层级和位于结尾处的末尾层级,每份分片业务数据具有分片序号;若第二类分片业务数据的数量为1,且排列在最后的分片业务数据为第二类分片业务数据,通过以下方式确定针对任一分片业务数据的起始层级和末尾层级:
S910、确定任一分片业务数据的分片序号与1间的差值,确定任一分片业务数据的分片层级数量与差值的乘积,将乘积与1之和作为起始层级。
S920、若任一分片业务数据是排列在最后的分片业务数据,将树形结构表对应的最后层级作为末尾层级。
S930、若任一分片业务数据不是排列在最后的分片业务数据,将任一分片业务数据的分片层级数量与任一分片业务数据的分片序号的乘积作为末尾层级。
具体地,针对任一分片业务数据,可以先计算分片业务数据的分片序号与1间的差值,然后,计算分片业务数据的分片序号与1间的差值与分片层级数量之间的乘积,最后,将差值与分片层级数量之间的成乘积与1进行相加操作得到该分片业务数据的初始层级。
当任一分片业务数据是排列在最后的分片业务数据时,可以直接将树形结构表对应的最后层级作为该分片业务数据的末尾层级。当任一分片业务数据不是排列在最后的分片业务数据时,可以计算该分片业务数据的分片序号与分片层级数量之间的乘积,并将其作为该分片业务数据的末尾层级。
需要说明的是,步骤S910至步骤S930也适应于每份分片业务数据均为第一类分片业务数据的情形中。
示例性地,请参阅图9b,总层级数量可以是6,分片业务数据可以是3,分片层级数量可以是2。
针对第一分片业务数据即分片1,可以先计算分片业务数据的分片序号1与1间的差值为0,然后,计算差值0与分片层级数量2之间的乘积为0,最后,将乘积0与1进行相加操作得到第一分片业务数据的初始层级为1。第一分片业务数据不是排列在最后的分片业务数据时,可以计算该分片业务数据的分片序号1与分片层级数量之间2的乘积为2,并将乘积2作为该分片业务数据的末尾层级。因此,第一分片业务数据可以包括Level1和Level 2对应的初始业务数据。
针对第二分片业务数据即分片2,可以先计算分片业务数据的分片序号2与1间的差值为1,然后,计算差值1与分片层级数量2之间的乘积为2,最后,将乘积2与1进行相加操作得到第一分片业务数据的初始层级为3。第二分片业务数据不是排列在最后的分片业务数据时,可以计算该分片业务数据的分片序号2与分片层级数量之间2的乘积为4,并将乘积4作为该分片业务数据的末尾层级。因此,第二分片业务数据可以包括Level3和Level 4对应的初始业务数据。
针对第三分片业务数据即分片3,可以先计算分片业务数据的分片序号3与1间的差值为2,然后,计算差值2与分片层级数量2之间的乘积为4,最后,将乘积4与1进行相加操作得到第一分片业务数据的初始层级为5。第三分片业务数据是排列在最后的分片业务数据时,可以直接将树形结构表对应的最后层级6作为该分片业务数据的末尾层级。因此,第三分片业务数据可以包括Level 5和Level 6对应的初始业务数据。
上述实施方式中,确定任一分片业务数据的分片序号与1间的差值,确定任一分片业务数据的分片层级数量与差值的乘积,将乘积与1之和作为起始层级,若任一分片业务数据是排列在最后的分片业务数据,将树形结构表对应的最后层级作为末尾层级,若任一分片业务数据不是排列在最后的分片业务数据,将任一分片业务数据的分片层级数量与任一分片业务数据的分片序号的乘积作为末尾层级,可以灵活应用,并具有一定的可变性。
在一些实施方式中,分片处理策略包括组装策略;分片业务数据在树形结构表中对应有多个目标节点;根据预先配置的分片处理策略对分片业务数据进行组装,得到分片业务数据对应的局部处理结果,可以包括以下步骤:针对任一目标节点,根据组装策略查找与任一目标节点具有上级关系或者下级关系的关系节点,并按照上级关系或者下级关系对任一目标节点和关系节点进行异步组装,得到局部处理结果。
其中,上级关系可以表示对任一目标节点查找其父节点。下级关系可以表示对任一目标节点查找其子节点。
具体地,通过总任务数量创建队列。每个任务按照各自获取的分片,得到分片任务。每个分片任务根据预先配置的组装策略,针对该分片任务的任一目标节点,查找与目标节点具有上级关系或者下级关系的关系节点,并将关系节点加入到待组装的节点列表中。对于待组装的节点列表中的关系节点,使用异步方式进行组装,在异步组装的过程中,将目标节点和关系节点组装在一起。通过上述方式遍历该分片任务内的每一目标节点,得到局部处理结果。
示例性地,请参阅图10a,预先配置的组装策略可以是从根节点往末节点,自上而下进行查找。请参阅图10b,预先配置的组装策略可以是从末节点往根节点,自下而上进行查找。
请参阅图10c,通过总任务数量N可以创建N个队列。每个任务按照各自获取的分片,得到分片任务1、分片任务2、分片任务3、分片任务4、分片任务N。分片任务1根据预先配置的分片处理策略进行组装,得到局部结果1,分片任务2根据预先配置的分片处理策略进行组装,得到局部结果2,分片任务3根据预先配置的分片处理策略进行组装,得到局部结果3,分片任务4根据预先配置的分片处理策略进行组装,得到局部结果4,分片任务N根据预先配置的分片处理策略进行组装,得到局部结果N。
上述实施方式中,针对任一目标节点,根据组装策略查找与任一目标节点具有上级关系或者下级关系的关系节点,并按照上级关系或者下级关系对任一目标节点和关系节点进行异步组装,得到局部处理结果,为后续得到目标树形业务数据提供数据基础。
在一些实施方式中,请参阅图11a,若干份分片业务数据包括相邻的第一分片业务数据和第二分片业务数据;第一分片业务数据的排列顺序早于第二分片业务数据的排列顺序;第一分片业务数据的末尾层级在第一分片业务数据的局部处理结果中对应有末尾处理结果,第二分片业务数据的起始层级在第二分片业务数据的局部处理结果中对应有起始处理结果;后置处理策略包括数据粘合策略和后置计算策略;根据分片处理策略中的后置处理策略对局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,可以包括以下步骤:
S1110、根据数据粘合策略对末尾处理结果和起始处理结果进行数据粘合,得到数据粘合结果。
S1120、根据后置计算策略对数据粘合结果进行计算,得到目标树形业务数据。
其中,后置计算策略为预先配置的数据粘合结果的处理过程或者计算方式。
具体地,通过异步组装,得到局部结果后,按照数据粘合策略对相邻局部结果中排列顺序在前的局部结果中包括的末尾处理结果和排列顺序在后的局部结果中包括的起始处理结果进行数据粘合,得到数据粘合结果。然后,按照后置计算策略对数据粘合结果进行后置计算(比如后置分成、卷积计算),得到目标树形业务数据。
示例性地,请参阅图11b,根据数据粘合策略对局部结果1的末尾处理结果和局部结果2的起始处理结果进行数据粘合,对局部结果2的末尾处理结果和局部结果3的起始处理结果进行数据粘合,对局部结果3的末尾处理结果和局部结果4的起始处理结果进行数据粘合,对局部结果N-1的末尾处理结果和局部结果N的起始处理结果进行数据粘合,得到数据粘合结果。根据后置计算策略对数据粘合结果进行后置计算,得到目标树形业务数据。
需要说明的是,后置计算策略可以是预先封装的计算策略,若预先封装的计算策略不满足业务需求,可以自定义计算策略,一得到目标树形业务数据。
上述实施方式中,根据数据粘合策略对末尾处理结果和起始处理结果进行数据粘合,得到数据粘合结果,根据后置计算策略对数据粘合结果进行计算,得到目标树形业务数据,使目标数据包含了起始处理结果和末尾处理结果的相关信息,提供更完整的数据视图。
在一些实施方式中,请参阅图12a,末尾处理结果包括第一节点处理结果,起始处理结果包括第二节点处理结果;第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点为上级关系或者下级关系;根据数据粘合策略对末尾处理结果和起始处理结果进行数据粘合,得到数据粘合结果,可以包括以下步骤:
S1210、根据数据粘合策略在末尾处理结果和起始处理结果中查找第一节点处理结果和第二节点处理结果。
S1220、按照上级关系或者下级关系对第一节点处理结果和第二节点处理结果进行数据粘合,得到数据粘合结果。
其中,第一节点处理结果可以是指末尾处理结果中每个节点对应的局部处理结果。第二节点处理结果可以是起始处理结果中每个节点对应的局部处理结果。
具体地,第一分片业务数据的排列顺序早于第二分片业务数据的排列顺序。在得到局部处理结果后,对第一分片业务数据的末尾处理结果和第二分片业务数据的起始处理结果进行查找,确定第一分片业务数据的末尾处理结果包括的第一节点处理结果以及第二分片业务数据的起始处理结果包括的第二节点处理结果。然后,根据预先配置的数据粘合策略,将第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点按照确定的上级关系或下级关系进行数据粘合,得到数据粘合结果。
示例性地,请参阅图12b,分片1与分片2可以是相邻的分片业务数据,分片1的排列顺序早于分片2的排列顺序。Level 2为分片1的末尾层级且对应有末尾处理结果,Level 3为分片2的起始层级且对应有起始处理结果。矩形框1202内包括第一节点处理结果,矩形框1204内包括第二节点处理结果。根据预先配置的数据粘合策略,将第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点按照确定的上级关系进行数据粘合,得到数据粘合结果。
请参阅图12c,分片2与分片3可以是相邻的分片业务数据,分片2的排列顺序早于分片3的排列顺序。Level 4为分片2的末尾层级且对应有末尾处理结果,Level 5为分片3的起始层级且对应有起始处理结果。矩形框1206内包括第一节点处理结果,矩形框1208内包括第二节点处理结果。根据预先配置的数据粘合策略,将第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点按照确定的下级关系进行数据粘合,得到数据粘合结果。
上述实施方式中,根据数据粘合策略在末尾处理结果和起始处理结果中查找第一节点处理结果和第二节点处理结果,按照上级关系或者下级关系对第一节点处理结果和第二节点处理结果进行数据粘合,得到数据粘合结果。可以获得更全面、准确的信息。有助于避免信息丢失或不完整而导致的问题,并增强数据的可靠性和可用性。
本说明书实施方式还提供一种树形业务数据构建方法,初始业务数据包括键值对映射数据和元素集合数据。分片业务数据在树形结构表中对应有多个目标节点。若干份分片业务数据包括相邻的第一分片业务数据和第二分片业务数据;第一分片业务数据的排列顺序早于第二分片业务数据的排列顺序;第一分片业务数据的末尾层级在第一分片业务数据的局部处理结果中对应有末尾处理结果,末尾处理结果包括第一节点处理结果,第二分片业务数据的起始层级在第二分片业务数据的局部处理结果中对应有起始处理结果;起始处理结果包括第二节点处理结果;第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点为上级关系或者下级关系。示例性地,请参阅图13,该树形业务数据构建方法可以包括以下步骤:
S1302、确定目标模板。
其中,目标模板适用于源数据库的数据库类型;目标模板中具有树形结构表的结构信息。
S1304、基于针对目标模板的表结构配置操作,确定目标业务表的结构信息。
S1306、基于树形结构表的结构信息和目标业务表的结构信息生成树形结构表和目标业务表。
S1308、基于目标业务表和树形结构表确定目标树形模型。
具体地,基于树形结构表中的外键字段以及目标业务表中主键字段,建立目标业务表与树形结构表之间的连接关系,得到目标树形模型;其中,外键字段采用主键字段的值。若检测到目标业务表的表名称已存在,则基于目标业务表和预先存储的树形结构表对已存在的树形模型进行更新,确定目标树形模型;若检测到目标业务表的表名称不存在,则基于目标业务表和预先存储的树形结构表生成目标树形模型。
S1310、通过目标树形模型从源数据库中获取初始业务数据。
其中,初始业务数据为从源数据库中加载到缓存的业务数据;目标树形模型包括树形结构表与业务数据表之间的连接关系,树形结构表用于表征业务数据表中字段间的主从关系结构;树形结构表包括业务数据表的ID字段、ID字段的父节点的父级ID字段和层级字段。
S1312、确定树形结构表对应的总层级数量。
S1314、根据总层级数量和任务队列对应的总任务数量对初始业务数据进行分片处理,得到若干份分片业务数据。
具体地,针对第一类分片业务数据,将商值确定为第一类分片业务数据的分片层级数量;其中,若商值不小于分片层级数量阈值;针对第二类分片业务数据,确定总层级数量与总任务数量之间的余数,将商值与余数之和确定为第二类分片业务数据的分片层级数量。
若第二类分片业务数据的数量为1,且排列在最后的分片业务数据为第二类分片业务数据,确定任一分片业务数据的分片序号与1间的差值,确定任一分片业务数据的分片层级数量与差值的乘积,将乘积与1之和作为起始层级;若任一分片业务数据是排列在最后的分片业务数据,将树形结构表对应的最后层级作为末尾层级;若任一分片业务数据不是排列在最后的分片业务数据,将任一分片业务数据的分片层级数量与任一分片业务数据的分片序号的乘积作为末尾层级。
S1316、针对任一目标节点,根据组装策略查找与任一目标节点具有上级关系或者下级关系的关系节点,并按照上级关系或者下级关系对任一目标节点和关系节点进行异步组装,得到局部处理结果。
S1318、根据数据粘合策略在末尾处理结果和起始处理结果中查找第一节点处理结果和第二节点处理结果。
S1320、按照上级关系或者下级关系对第一节点处理结果和第二节点处理结果进行数据粘合,得到数据粘合结果。
S1322、根据后置计算策略对数据粘合结果进行计算,得到初始树形业务数据。
其中,后置计算策略为预先配置的数据粘合结果的处理过程或者计算方式。
S1324、采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对初始树形业务数据行数据清洗,得到目标树形业务数据。
本说明书实施方式提供一种树形业务数据构建装置1400,请参阅图14,树形业务数据构建装置1400包括:业务数据获取模块1410、业务数据分片模块1420、业务数据组装模块1430。
业务数据获取模块1410,用于通过目标树形模型从源数据库中获取初始业务数据;其中,所述目标树形模型包括树形结构表与业务数据表之间的连接关系,所述树形结构表用于表征所述业务数据表中字段间的主从关系结构;所述树形结构表包括所述业务数据表的ID字段、所述ID字段的父节点的父级ID字段和层级字段;
业务数据分片模块1420,用于基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据;
业务数据组装模块1430,用于根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,并对所述局部处理结果依次进行整合处理,得到目标树形业务数据。
关于树形业务数据构建装置的具体描述,可以参见上文中对树形业务数据构建方法的描述,在此不再赘述。
在一些实施方式中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种树形业务数据构建方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本说明书所公开方案相关的部分结构的框图,并不构成对本说明书所公开方案所应用于其上的计算机设备的限定,具体地,计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施方式中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施方式中的方法步骤。
本说明书实施方式提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施方式中的方法的步骤。
本说明书的一个实施方式提供一种计算机程序产品,计算机程序产品中包括指令,指令被计算机设备的处理器执行时,使得计算机设备能够执行上述任一项实施方式的方法的步骤。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

Claims (15)

1.一种树形业务数据构建方法,其特征在于,所述方法包括:
通过目标树形模型从源数据库中获取初始业务数据;其中,所述目标树形模型包括树形结构表与业务数据表之间的连接关系,所述树形结构表用于表征所述业务数据表中字段间的主从关系结构;所述树形结构表包括所述业务数据表的ID字段、所述ID字段的父节点的父级ID字段和层级字段;
基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据;其中,任一分片业务数据包括的层级具有位于开始处的起始层级和位于结尾处的末尾层级;所述若干份分片业务数据包括第二类分片业务数据,所述第二类分片业务数据的分片层级数量与平均每份分片业务数据包含的层级的个数不同;若排列在最后的分片业务数据为所述第二类分片业务数据,且所述第二类分片业务数据的数量为1,通过以下方式确定所述任一分片业务数据的起始层级和末尾层级:确定所述任一分片业务数据的分片序号与1间的差值,确定所述任一分片业务数据的分片层级数量与所述差值的乘积,将所述乘积与1之和作为所述起始层级;若所述任一分片业务数据是排列在最后的分片业务数据,将所述树形结构表对应的最后层级作为所述末尾层级;若所述任一分片业务数据不是排列在最后的分片业务数据,将所述任一分片业务数据的分片层级数量与所述任一分片业务数据的分片序号的乘积作为所述末尾层级;
根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,并对所述局部处理结果依次进行整合处理,得到目标树形业务数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述局部处理结果依次进行整合处理,得到目标树形业务数据,包括:
根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,包括:
根据所述后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到初始树形业务数据;
采用筛选、转换、过滤、脱敏、压缩中的至少一种方式对所述初始树形业务数据进行数据清洗,得到所述目标树形业务数据。
4.根据权利要求1所述的方法,其特征在于,通过以下方式获得所述目标树形模型:
确定目标模板;其中,所述目标模板适用于所述源数据库的数据库类型;所述目标模板中具有所述树形结构表的结构信息;
基于针对所述目标模板的表结构配置操作,确定目标业务表的结构信息;
基于所述树形结构表的结构信息和所述目标业务表的结构信息生成所述树形结构表和所述目标业务表;
基于所述目标业务表和所述树形结构表确定所述目标树形模型。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标业务表和所述树形结构表确定所述目标树形模型,包括:
若检测到所述目标业务表的表名称已存在,则基于所述目标业务表和预先存储的所述树形结构表对已存在的树形模型进行更新,确定所述目标树形模型;
若检测到所述目标业务表的表名称不存在,则基于所述目标业务表和预先存储的所述树形结构表生成所述目标树形模型。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标业务表和所述树形结构表生成所述目标树形模型,包括:
基于所述树形结构表中的外键字段以及所述目标业务表中主键字段,建立所述目标业务表与所述树形结构表之间的连接关系,得到所述目标树形模型;其中,所述外键字段采用所述主键字段的值。
7.根据权利要求1所述的方法,其特征在于,所述初始业务数据为从所述源数据库中加载到缓存的业务数据;所述初始业务数据包括键值对映射数据和元素集合数据;
所述基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据,包括:
确定所述树形结构表对应的总层级数量;
根据所述总层级数量和任务队列对应的总任务数量对所述初始业务数据进行分片处理,得到所述若干份分片业务数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述总层级数量和任务队列对应的总任务数量对所述初始业务数据进行分片处理,得到所述若干份分片业务数据,包括:
根据所述总层级数量与所述总任务数量之间的商值以及分片层级数量阈值确定分片层级数量;其中,所述分片层级数量为每份分片业务数据能够包括的层级的数量;所述分片层级数量阈值用于限定所述每份分片业务数据对应的分片层级数量的最小值;
基于所述分片层级数量,将所述初始业务数据划分为所述若干份分片业务数据。
9.根据权利要求8所述的方法,其特征在于,所述若干份分片业务数据是按照所述树形结构表对应的层级顺序对所述初始业务数据进行分片得到的,所述若干份分片业务数据还包括第一类分片业务数据;
所述根据所述总层级数量与所述总任务数量之间的商值以及分片层级数量阈值确定分片层级数量,包括:
针对所述第一类分片业务数据,将所述商值确定为所述第一类分片业务数据的分片层级数量;其中,所述商值不小于所述分片层级数量阈值;
针对所述第二类分片业务数据,确定所述总层级数量与所述总任务数量之间的余数,将所述商值与所述余数之和确定为所述第二类分片业务数据的分片层级数量。
10.根据权利要求1所述的方法,其特征在于,所述分片处理策略包括组装策略;所述分片业务数据在所述树形结构表中对应有多个目标节点;
所述根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,包括:
针对任一目标节点,根据所述组装策略查找与所述任一目标节点具有上级关系或者下级关系的关系节点,并按照所述上级关系或者所述下级关系对所述任一目标节点和所述关系节点进行异步组装,得到所述局部处理结果。
11.根据权利要求2所述的方法,其特征在于,所述若干份分片业务数据包括相邻的第一分片业务数据和第二分片业务数据;所述第一分片业务数据的排列顺序早于所述第二分片业务数据的排列顺序;所述第一分片业务数据的末尾层级在所述第一分片业务数据的局部处理结果中对应有末尾处理结果,所述第二分片业务数据的起始层级在所述第二分片业务数据的局部处理结果中对应有起始处理结果;所述后置处理策略包括数据粘合策略和后置计算策略;
所述根据所述分片处理策略中的后置处理策略对所述局部处理结果依次进行数据粘合和后置计算,得到目标树形业务数据,包括:
根据所述数据粘合策略对所述末尾处理结果和所述起始处理结果进行数据粘合,得到数据粘合结果;
根据所述后置计算策略对所述数据粘合结果进行计算,得到所述目标树形业务数据;其中,所述后置计算策略为预先配置的所述数据粘合结果的处理过程或者计算方式。
12.根据权利要求11所述的方法,其特征在于,所述末尾处理结果包括第一节点处理结果,所述起始处理结果包括第二节点处理结果;所述第一节点处理结果对应的第一节点和第二节点处理结果对应的第二节点为上级关系或者下级关系;
所述根据所述数据粘合策略对所述末尾处理结果和所述起始处理结果进行数据粘合,得到数据粘合结果,包括:
根据所述数据粘合策略在所述末尾处理结果和所述起始处理结果中查找所述第一节点处理结果和所述第二节点处理结果;
按照所述上级关系或者所述下级关系对所述第一节点处理结果和所述第二节点处理结果进行数据粘合,得到所述数据粘合结果。
13.一种树形业务数据构建装置,其特征在于,所述装置包括:
业务数据获取模块,用于通过目标树形模型从源数据库中获取初始业务数据;其中,所述目标树形模型包括树形结构表与业务数据表之间的连接关系,所述树形结构表用于表征所述业务数据表中字段间的主从关系结构;所述树形结构表包括所述业务数据表的ID字段、所述ID字段的父节点的父级ID字段和层级字段;
业务数据分片模块,用于基于所述树形结构表对所述初始业务数据进行分片处理,得到若干份分片业务数据;任一分片业务数据包括的层级具有位于开始处的起始层级和位于结尾处的末尾层级;所述若干份分片业务数据包括第二类分片业务数据,所述第二类分片业务数据的分片层级数量与平均每份分片业务数据包含的层级的个数不同;若排列在最后的分片业务数据为所述第二类分片业务数据,且所述第二类分片业务数据的数量为1,通过以下方式确定所述任一分片业务数据的起始层级和末尾层级:确定所述任一分片业务数据的分片序号与1间的差值,确定所述任一分片业务数据的分片层级数量与所述差值的乘积,将所述乘积与1之和作为所述起始层级;若所述任一分片业务数据是排列在最后的分片业务数据,将所述树形结构表对应的最后层级作为所述末尾层级;若所述任一分片业务数据不是排列在最后的分片业务数据,将所述任一分片业务数据的分片层级数量与所述任一分片业务数据的分片序号的乘积作为所述末尾层级;
业务数据组装模块,用于根据预先配置的分片处理策略对所述分片业务数据进行组装,得到所述分片业务数据对应的局部处理结果,并对所述局部处理结果依次进行整合处理,得到目标树形业务数据。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202311366670.0A 2023-10-20 2023-10-20 树形业务数据构建方法、装置、计算机设备及存储介质 Active CN117112574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311366670.0A CN117112574B (zh) 2023-10-20 2023-10-20 树形业务数据构建方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311366670.0A CN117112574B (zh) 2023-10-20 2023-10-20 树形业务数据构建方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN117112574A CN117112574A (zh) 2023-11-24
CN117112574B true CN117112574B (zh) 2024-02-23

Family

ID=88805874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311366670.0A Active CN117112574B (zh) 2023-10-20 2023-10-20 树形业务数据构建方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN117112574B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011150845A1 (zh) * 2010-11-01 2011-12-08 华为技术有限公司 验证流媒体内容完整性的方法、设备以及系统
EP2911118A1 (en) * 2014-02-19 2015-08-26 My Virtual Reality Software AS Method for selecting data files for downloading
WO2021139432A1 (zh) * 2020-10-13 2021-07-15 平安科技(深圳)有限公司 基于人工智能的用户等级预测方法、装置、终端及介质
CN113778976A (zh) * 2020-09-04 2021-12-10 北京沃东天骏信息技术有限公司 数据处理方法及装置、电子设备、存储介质
CN116703526A (zh) * 2023-07-07 2023-09-05 中国平安人寿保险股份有限公司 物品推荐方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582299B2 (en) * 2016-01-26 2023-02-14 Pure Storage, Inc. Allocating cache memory in a dispersed storage network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011150845A1 (zh) * 2010-11-01 2011-12-08 华为技术有限公司 验证流媒体内容完整性的方法、设备以及系统
EP2911118A1 (en) * 2014-02-19 2015-08-26 My Virtual Reality Software AS Method for selecting data files for downloading
CN113778976A (zh) * 2020-09-04 2021-12-10 北京沃东天骏信息技术有限公司 数据处理方法及装置、电子设备、存储介质
WO2021139432A1 (zh) * 2020-10-13 2021-07-15 平安科技(深圳)有限公司 基于人工智能的用户等级预测方法、装置、终端及介质
CN116703526A (zh) * 2023-07-07 2023-09-05 中国平安人寿保险股份有限公司 物品推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117112574A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN107370786B (zh) 一种基于微服务架构的通用信息管理系统
CN110032604B (zh) 数据存储装置、转译装置及数据库访问方法
JP4196579B2 (ja) ストレージ運用管理方法およびシステム
CN112650766B (zh) 数据库数据操作的方法、系统及服务器
US20110154339A1 (en) Incremental mapreduce-based distributed parallel processing system and method for processing stream data
CN106970958B (zh) 一种流文件的查询与存储方法和装置
JP2008009809A (ja) データベース同期処理プログラム
CN113986241B (zh) 一种基于知识图谱的业务规则的配置方法以及装置
CN112667860A (zh) 一种子图匹配方法、装置、设备及存储介质
US11615076B2 (en) Monolith database to distributed database transformation
CN111917834A (zh) 一种数据同步方法、装置、存储介质及计算机设备
CN114003569A (zh) 一种qcow2镜像文件增量更新方法及装置
CN114077602A (zh) 数据迁移方法和装置、电子设备、存储介质
CN115705313A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN117112574B (zh) 树形业务数据构建方法、装置、计算机设备及存储介质
CN111475602A (zh) 多版本知识图谱的存储方法、装置、存储介质及电子设备
CN113127490B (zh) 一种键名称生成方法、装置和计算机可读存储介质
CN115455006A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN106776704B (zh) 统计信息收集方法和装置
CN113076086B (zh) 元数据管理系统和使用其对模型对象进行建模的方法
CN112162731B (zh) 数据扩展方法、装置、存储介质及电子装置
CN115293365A (zh) 机器学习模型的管理方法、装置、管理平台和存储介质
CN113626510A (zh) 交易核对方法、装置、电子设备及存储介质
CN109117133B (zh) 菜单的配置方法、装置、电子设备及可读存储介质
CN115017185A (zh) 一种数据处理方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant