CN111090651B - 数据源的处理方法、装置、设备及可读存储介质 - Google Patents
数据源的处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111090651B CN111090651B CN201911312877.3A CN201911312877A CN111090651B CN 111090651 B CN111090651 B CN 111090651B CN 201911312877 A CN201911312877 A CN 201911312877A CN 111090651 B CN111090651 B CN 111090651B
- Authority
- CN
- China
- Prior art keywords
- directed edge
- traversing
- root node
- directed
- data source
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000010276 construction Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000012423 maintenance Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据源的处理方法、装置、设备及可读存储介质,涉及金融科技领域,该方法包括步骤:获取待处理数据源对应的有向边集合,遍历所述有向边集合中的各条有向边,以确定第一根节点;根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;将所述子节点确定为第二根节点,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据。本发明节省了在将数据源处理成树形结构形式数据过程中所需的存储空间,降低了在将数据源处理成树形结构形式数据过程中的难度。
Description
技术领域
本发明涉及金融科技(Fintech)的数据处理技术领域,尤其涉及一种数据源的处理方法、装置、设备及可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,数据处理技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
现有的树形结构组织关系,一般都是直接给出根节点,接着给出根节点下面的子节点以及子节点数据,然后又以这些子节点作为根节点,继续给出他们的子节点以及子节点数据,这样不停的往下添加。这种描述树形结构数据的方法,必须知道根节点,然后知道它的子节点,再知道子节点的子节点,需要原始的描述信息非常清晰,需要树形结构对应的数据源本身就具有了树形特征。比如一个公司组织树形结构的数据:在构建该树形结构数据的时候,要求明确的知道该公司有几个部门,每个部门有哪些小组,有哪些层级关系,不可以跳级给出层级关系,也不可以乱序地给出层级关系,否则会导致所构建的树形结构的数据错误。
由此可知,目前在将数据源处理成树形结构形式的数据过程中,需要的数据量大,所需要的存储空间大,处理难度大。
发明内容
本发明的主要目的在于提供一种数据源的处理方法、装置、设备及可读存储介质,旨在解决现有的在将数据源处理成树形结构形式的数据过程中,所需要的存储空间大,构建难度大的技术问题。
为实现上述目的,本发明提供一种数据源的处理方法,所述数据源的处理方法包括步骤:
获取待处理数据源对应的有向边集合,遍历所述有向边集合中的各条有向边,以确定第一根节点;
根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;
将所述子节点确定为第二根节点,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据。
优选地,所述遍历所述有向边集合中的各条有向边,以确定第一根节点的步骤包括:
遍历所述有向边集合中的各条有向边,以确定所述有向边集合中作为有向边起点,不作为有向边终点的目标节点;
将所述目标节点确定为第一根节点。
优选地,所述根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点的步骤包括:
根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述有向边集合中以所述第一根节点为起点的目标有向边;
将所述目标有向边终点对应的节点确定为所述第一根节点的子节点。
优选地,所述根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件的步骤包括:
根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边集合中的有向边未查找到子节点,确定所述有向边的遍历结果符合预设遍历条件。
优选地,所述根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点的步骤之后,还包括:
若检测到所述有向边集合中的有向边起点和终点处于已识别状态,则将起点和终点处于已识别状态的有向边从所述有向边集合中删除,得到处理后的有向边集合;
所述将所述子节点确定为第二根节点,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据的步骤包括:
将所述子节点确定为第二根节点,根据所述第二根节点重复遍历处理后的有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到遍历所述处理后的有向边集合中有向边的遍历结果为空集,确定所述有向边的遍历结果符合预设遍历条件,并基于确定的根节点和子节点,构建得到树形结构形式的数据。
优选地,所述获取待处理数据源对应的有向边集合,遍历所述有向边集合中的各条有向边,以确定第一根节点的步骤之前,还包括:
获取待处理数据源,以有向边的形式建立所述待处理数据源的父子关系,得到所述待处理数据源对应的有向边;
将所述待处理数据源对应的有向边组合得到以离散形式表示的有向边集合。
此外,为实现上述目的,本发明还提供一种数据源的处理装置,所述数据源的处理装置包括:
获取模块,用于获取待处理数据源对应的有向边集合;
遍历模块,用于遍历所述有向边集合中的各条有向边,以确定第一根节点;
所述遍历模块还用于根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;
确定模块,用于将所述子节点确定为第二根节点;
所述遍历模块还用于根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件;
构建模块,用于基于确定的根节点和子节点,构建得到树形结构形式的数据。
此外,为实现上述目的,本发明还提供一种数据源的处理设备,所述数据源的处理设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据源的处理程序,所述数据源的处理程序被所述处理器执行时实现如联邦学习服务器对应的数据源的处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据源的处理程序,所述数据源的处理程序被处理器执行时实现如上所述的数据源的处理方法的步骤。
本发明通过遍历预先设置的有向边集合中的各条有向边,来确定第一根节点,根据第一根节点遍历有向边集合中的各条有向边,以确定第一根节点的子节点,将子节点确定为第二根节点,根据第二根节点重复遍历有向边集合中的各条有向边,以确定第二根节点的子节点,直到遍历有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据。实现了在将数据源处理成树形结构形式的数据过程中,不需要获取树形结构对应数据源的明确、完整的层级关系,即不需要待处理数据源本身就具有树形结构,只需要获取存在层级关系的有向边即可,且由于不需要获取待处理数据源的明确、完整的层级关系,因此不需要存储该各个层级关系对应的树形结构信息,只需要存储各个有向边的信息即可,简化了层级关系的描述信息,消除了冗余信息,节省了在将数据源处理成树形结构形式数据过程中所需的存储空间,且由于不需要分析层级关系,可以乱序给出层级关系,降低了在将数据源处理成树形结构形式数据过程中的难度。
附图说明
图1是本发明数据源的处理方法第一实施例的流程示意图;
图2是本发明数据源的处理方法第二施例的流程示意图;
图3是本发明数据源的处理装置较佳实施例的功能示意图模块图;
图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据源的处理方法,参照图1,图1为本发明数据源的处理方法第一实施例的流程示意图。
本发明实施例提供了数据源的处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
数据源的处理方法应用于服务器或者终端中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等移动终端,以及诸如数字TV、台式计算机等固定终端。在数据源的处理方法的各个实施例中,为了便于描述,省略执行主体进行阐述各个实施例。数据源的处理方法包括:
步骤S10,获取待处理数据源对应的有向边集合,遍历所述有向边集合中的各条有向边,以确定第一根节点。
当侦测到处理待处理数据源的处理指令时,获取待处理数据源对应的有向边集合,并遍历有向边集合中的各条有向边,以确定待构建树形结构的根节点。为了便于区别,将第一次遍历有向边集合所得的根节点确定为第一根节点。该有向边集合是预先存储的,在有向边集合中,存储有至少一条有向边,有向边是包含两个端点的一条有向线,一个端点表示父节点,父节点为起点,一个端点表示子节点,子节点为终点,一条有向边,表示了两个节点间的父子关系。其中,处理指令可为用户根据需要触发的,也可为预先设置好的定时任务定时触发的。有向边集合中有向边对应的待处理数据源可以根据具体需要而设置,如有向边对应的待处理数据源可为A公司的组织架构,如以A公司作为父节点、IT部门作为该父节点的子节点得到一条有向边;以运维部作为父节点,IT部门作为该父节点的子节点得到一条有向边等。有向边对应的待处理数据源也可为某商场中的商品类型或者各个航空公司的航班信息等。
进一步地,所述遍历所述有向边集合中的各条有向边,以确定第一根节点的步骤包括:
步骤a,遍历所述有向边集合中的各条有向边,以确定所述有向边集合中作为有向边起点,不作为有向边终点的目标节点。
步骤b,将所述目标节点确定为第一根节点。
具体地,当获取到有向边集合后,遍历有向边集合中的各条有向边,在有向边集合中查找作为有向边起点,不作为有向边终点的目标节点,将该目标节点确定为树形结构的第一根节点。可以理解的是,该目标节点是只作为有向边的父节点,不作为有向边的子节点的节点。在遍历有向边集合确定第一根节点的过程中,要遍历有向边集合中的所有有向边,才能知道该有向边中的父节点是否为第一根节点。由此可知,本实施例中的第一根节点只为有向边的起点。
步骤S20,根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点。
当确定第一根节点后,重新遍历有向边集合中的各条有向边,以确定第一根节点的子节点。可以理解的是,第一根节点的子节点和第一根节点之间是存在父子关系的。
进一步地,步骤S20包括:
步骤c,根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述有向边集合中以所述第一根节点为起点的目标有向边。
步骤d,将所述目标有向边终点对应的节点确定为所述第一根节点的子节点。
具体地,根据第一根节点遍历有向边集合中的各条有向边,确定有向边集合中以第一根节点为起点的有向边,并将该以第一根节点为起点的有向边确定为目标有向边,将目标有向边的终点对应的节点确定为第一根节点的子节点。
步骤S30,将所述子节点确定为第二根节点,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据。
当确定第一根节点的子节点后,将第一根节点的子节点确定为树形结构第二根节点,根据第二根节点重复遍历有向边集合中的各条有向边,以确定第二根节点的子节点。需要说明的是,根据第二根节点重复遍历有向边集合中的各条有向边,以确定第二根节点的子节点的过程与根据第一根节点遍历有向边集合中的各条有向边,以确定第一根节点的子节点的过程一致,在此不再重复赘述。当确定第二根节点的子节点后,将第二根节点的子节点确定为第三根节点,根据第三根节点重复遍历有向边集合中的各条有向边,以确定第三根节点的子节点,依此循环,直到遍历有向边集合中有向边的遍历结果符合预设遍历条件。需要说明的是,根据第三根节点重复遍历有向边集合中的各条有向边,以确定第三根节点的子节点的过程与根据第一根节点遍历有向边集合中的各条有向边,以确定第一根节点的子节点的过程一致,在此不再重复赘述。当遍历有向边集合中有向边的遍历结果符合预设遍历条件时,表明树形结构构建成功,即基于确定根节点和子节点,构建得到树形结构形式的数据。
进一步地,所述根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件的步骤包括:
步骤e,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边集合中的有向边未查找到子节点,确定所述有向边的遍历结果符合预设遍历条件。
具体地,将第一根节点的子节点确定为树形结构的第二根节点,并根据第二根节点重复遍历有向边集合中的各条有向边,以确定第二根节点的子节点,直到遍历有向边集合中的有向边未查找到子节点,即在遍历有向边集合中的有向边未查找到子节点时,确定有向边的遍历结果符合预设遍历条件,此时可以根据所确定的根节点和子节点,构建得到树形结构形式的数据。
以下以构建A公司组织架构的树形结构形式数据为例解释本实施例。在A公司对应的有向边集合中,存在以下11条有向边,分别为:有向边1:A公司→IT部门、有向边2:运维部→硬件组、有向边3:运维部→集成组、有向边4:IT部→研发组、有向边5:运维部→软件组、有向边6:某公司→总裁办、有向边7:IT部→设计组、有向边8:IT部→测试组、有向边9:总裁办→财务、有向边10:总裁办→法务、有向边11:某公司→运维部。可以理解的是,在这11条有向边中,箭头左边的节点为有向边的父节点,即有向边的起点,箭头右边的节点为有向边的子节点,即有向边的终点,如在有向边4中,IT部门为有向边4的起点,研发组为有向边4的终点。当第一次遍历A公司对应有向边集合中的有向边时,发现“A公司”这个节点作为有向边的起点,不作为有向边的终点,因此可确定的第一根节点为“A公司”;然后以“A公司”作为根节点,遍历有向边集合,从而确定“A公司”对应的子节点分别有“运维部”、“总裁办”和“IT部”,即“运维部”、“总裁办”和“IT部”为第一根节点的子节点;然后将“运维部”、“总裁办”和“IT部”确定为第二根节点,继续遍历有向边集合中的有向边,得到“运维部”对应的子节点为“硬件组”、“软件组”和“集成组”,得到“总裁办”对应的子节点为“财务”和“法务”,得到“IT部”对应的子节点为“研发组”、“设计组”和“测试组”,此时遍历A公司对应的有向边集合中的有向边已经查找不到“硬件组”、“软件组”、“集成组”、“财务”、“法务”、“研发组”、“设计组”和“测试组”对应的子节点了,即遍历有向边集合中的有向边未查找到子节点,表明树形结构形式的数据构建成功,此时表明A公司组织架构的树形结构形式的数据已成功建立。在A公司组织架构对应树形结构形式的数据中,可得到的层级关系如下表所示。
本实施例遍历预先设置的有向边集合中的各条有向边,来确定第一根节点,根据第一根节点遍历有向边集合中的各条有向边,以确定第一根节点的子节点,将子节点确定为第二根节点,根据第二根节点重复遍历有向边集合中的各条有向边,以确定第二根节点的子节点,直到遍历有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据。实现了在将数据源处理成树形结构形式的数据过程中,不需要获取树形结构对应数据源的明确、完整的层级关系,即不需要待处理数据源本身就具有树形结构,只需要获取存在层级关系的有向边即可,且由于不需要获取待处理数据源的明确、完整的层级关系,因此不需要存储该各个层级关系对应的树形结构信息,只需要存储各个有向边的信息即可,简化了层级关系的描述信息,消除了冗余信息,节省了在将数据源处理成树形结构形式数据过程中所需的存储空间,且由于不需要分析层级关系,可以乱序给出层级关系,降低了在将数据源处理成树形结构形式数据过程中的难度。
进一步地,当有向边集合对应的待处理数据源对应至少两个树形结构时,即需要构建至少两棵树的时候,由于是采用有向边集合中的有向边来构建树形结构形式的数据,因此,不需要额外的描述信息来标识哪些待处理数据源是对应哪一树形结构形式的数据,即不需要用额外的描述信息来标识一颗颗独立的树,降低了在将数据源处理成多种树形结构形式数据过程中的难度。
进一步地,提出本发明数据源的处理方法第二实施例。所述数据源的处理方法第二实施例与所述数据源的处理方法第一实施例的区别在于,参照图2,所述数据源的处理方法还包括:
步骤S40,若检测到所述有向边集合中的有向边起点和终点处于已识别状态,则将起点和终点处于已识别状态的有向边从所述有向边集合中删除,得到处理后的有向边集合。
当确定第一根节点的子节点后,检测有向边集合中的有向边起点和终点是否处于已识别状态。需要说明的是,当有向边集合中的有向边起点被确定为树形结构的根节点或者子节点时,表明该起点处于已识别状态;当有向边集合中的有向边终点被确定为树形结构的根节点或者子节点时,表明该终点处于已识别状态。进一步地,在有向边集合中,也可为处于已识别状态的起点和终点添加识别标识,通过该识别标识来确定有向边集合中有向边的起点和终点是否处于已识别状态。在本实施例中,不限制识别标识的表现形式。
当检测到有向边集合中的有向边起点和终点都处于已识别状态时,将起点和终点都处于已识别状态的有向边从有向边集合中删除,得到处理后的有向边集合;当检测到有向边集合中的有向边起点和/或终点未处于已识别状态时,则不删除起点和/或终点未处于已识别状态的有向边,并在重新遍历有向边集合中的有向边后,重新检测有向边集合中的有向边起点和终点是否处于已识别状态。可以理解的是,处理后的有向边集合中有向边的数量小于处理前有向边集合中有向边的数量。
步骤S30包括:
步骤S31,将所述子节点确定为第二根节点,根据所述第二根节点重复遍历处理后的有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到遍历所述处理后的有向边集合中有向边的遍历结果为空集,确定所述有向边的遍历结果符合预设遍历条件,并基于确定的根节点和子节点,构建得到树形结构形式的数据。
当得到处理后的有向边集合,且将第一根节点的子节点确定为树形结构的第二根节点后,根据第二根节点遍历处理后的有向边集合中的各条有向边,以确定第二根节点的子节点,直到遍历处理后的有向边集合中有向边的遍历结果为空集,此时,可确定有向边的遍历结果符合预设遍历条件,并基于所确定的根节点和子节点,构建得到树形结构形式的数据。需要说明的是,在每遍历一次有向边集合中的有向边后,都会检测一次有向边集合中的有向边起点和终点是否处于已识别状态,从而决定是否删除有向边集合中的有向边,因此,当遍历有向边集合中有向边时,所得遍历结果为空集,即有向边集合中不存在有向边时,表明有向边的遍历结果符合预设遍历条件。
本实施例通过在遍历一次有向边集合中的有向边时,就检测一次有向边集合中的有向边起点和终点是否处于已识别状态,从而决定是否删除有向边集合中的有向边,以减少有向边集合中有向边的数量,降低构建树形结构过程遍历的数据量,从而提高将数据源处理成树形结构形式数据的处理效率。
进一步地,提出本发明数据源的处理方法第三实施例。
所述数据源的处理方法第三实施例与所述数据源的处理方法第一和/或第二实施例的区别在于,所述数据源的处理方法还包括:
步骤f,获取待处理数据源,以有向边的形式建立所述待处理数据源的父子关系,得到所述待处理数据源对应的有向边。
步骤g,将所述待处理数据源对应的有向边组合得到以离散形式表示的有向边集合。
获取待处理数据源,该待处理数据源可根据具体需要而设置,该待处理数据源可为预先存储的,也可为需要时用户手动输入,或者为其它终端发送的。当获取到待处理数据源后,以有向边的形式建立待处理数据源的父子关系,得到待处理数据源对应的有向边,将待处理数据源对应的有向边组合得到以离散形式表示的有向边集合,其中,离散的有向边集合是指集合中的有向边是一些相互独立的有向边。
本实施例通过根据待处理数据源得到以离散形式表示的有向边集合,以便于后续根据有向边集合得到根节点和子节点过程中,不需要知道待处理数据源得的完整结构,只需要知道父子关系即可,降低了将数据源处理成树形结构形式数据的难度。
此外,本发明还提供一种数据源的处理装置,所述数据源的处理装置包括:
获取模块10,用于获取待处理数据源对应的有向边集合;
遍历模块20,用于遍历所述有向边集合中的各条有向边,以确定第一根节点;
所述遍历模块20还用于根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;
确定模块30,用于将所述子节点确定为第二根节点;
所述遍历模块20还用于根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件;
构建模块40,用于基于确定的根节点和子节点,构建得到树形结构形式的数据。
进一步地,所述遍历模块20包括:
第一遍历单元,用于遍历所述有向边集合中的各条有向边,以确定所述有向边集合中作为有向边起点,不作为有向边终点的目标节点;
第一确定单元,用于将所述目标节点确定为第一根节点。
进一步地,所述遍历模块20还包括:
第二遍历单元,用于根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述有向边集合中以所述第一根节点为起点的目标有向边;
第二确定单元,用于将所述目标有向边终点对应的节点确定为所述第一根节点的子节点。
进一步地,所述遍历模块20还用于根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边集合中的有向边未查找到子节点,确定所述有向边的遍历结果符合预设遍历条件。
进一步地,所述数据源的处理装置还包括:
删除模块,用于若检测到所述有向边集合中的有向边起点和终点处于已识别状态,则将起点和终点处于已识别状态的有向边从所述有向边集合中删除,得到处理后的有向边集合;
所述遍历模块20还用于将所述子节点确定为第二根节点,根据所述第二根节点重复遍历处理后的有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到遍历所述处理后的有向边集合中有向边的遍历结果为空集,确定所述有向边的遍历结果符合预设遍历条件。
进一步地,所述获取模块10还用于获取待构建树形结构对应的数据源;
所述数据源的处理装置还包括:
建立模块,用于获取待处理数据源,以有向边的形式建立所述待处理数据源的父子关系,得到所述待处理数据源对应的有向边;
组合模块,用于将所述待处理数据源对应的有向边组合得到以离散形式表示的有向边集合。
本发明数据源的处理装置具体实施方式与上述数据源的处理方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种数据源的处理设备。如图4所示,图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图4即可为数据源的处理设备的硬件运行环境的结构示意图。本发明实施例数据源的处理设备可以是PC,便携计算机等终端设备。
如图4所示,该数据源的处理设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图4中示出的数据源的处理设备结构并不构成对数据源的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据源的处理程序。其中,操作系统是管理和控制数据源的处理设备硬件和软件资源的程序,支持数据源的处理程序以及其它软件或程序的运行。
在图4所示的数据源的处理设备中,用户接口1003主要用于连接其它终端,与其它终端进行数据通信,如接收其它终端发送的待构建树形结构对应的数据源;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的数据源的处理程序,并执行如上所述的数据源的处理方法的步骤。
本发明数据源的处理设备具体实施方式与上述数据源的处理方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据源的处理程序,所述数据源的处理程序被处理器执行时实现如上所述的数据源的处理方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据源的处理方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种数据源的处理方法,其特征在于,所述数据源的处理方法包括以下步骤:
获取待处理数据源,以有向边的形式建立所述待处理数据源的父子关系,得到所述待处理数据源对应的有向边,其中,所述待处理数据源不具有树形结构;
将所述待处理数据源对应的有向边组合得到以离散形式表示的有向边集合,其中,所述有向边集合中的有向边是相互独立的;
遍历所述有向边集合中的各条有向边,以确定所述有向边集合中作为有向边起点,不作为有向边终点的目标节点;
将所述目标节点确定为第一根节点;
根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;
若检测到所述有向边集合中的有向边起点和终点处于已识别状态,则将起点和终点处于已识别状态的有向边从所述有向边集合中删除,得到处理后的有向边集合;
将所述子节点确定为第二根节点,并基于已确定为根节点和子节点的识别标识,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件,基于确定的根节点和子节点,构建得到树形结构形式的数据;
所述根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件的步骤,包括:
根据所述第二根节点重复遍历处理后的有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到遍历所述处理后的有向边集合中有向边的遍历结果为空集,确定所述有向边的遍历结果符合预设遍历条件。
2.如权利要求1所述的数据源的处理方法,其特征在于,所述根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点的步骤包括:
根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述有向边集合中以所述第一根节点为起点的目标有向边;
将所述目标有向边终点对应的节点确定为所述第一根节点的子节点。
3.如权利要求1 所述的数据源的处理方法,其特征在于,所述根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件的步骤包括:
根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边集合中的有向边未查找到子节点,确定所述有向边的遍历结果符合预设遍历条件。
4.一种数据源的处理装置,其特征在于,所述数据源的处理装置包括:
建立模块,用于获取待处理数据源,以有向边的形式建立所述待处理数据源的父子关系,得到所述待处理数据源对应的有向边,其中,所述待处理数据源不具有树形结构;
组合模块,用于将所述待处理数据源对应的有向边组合得到以离散形式表示的有向边集合,其中,所述有向边集合中的有向边是相互独立的;
遍历模块,所述遍历模块包括:
第一遍历单元,用于遍历所述有向边集合中的各条有向边,以确定所述有向边集合中作为有向边起点,不作为有向边终点的目标节点;
第一确定单元,用于将所述目标节点确定为第一根节点;
所述遍历模块还用于根据所述第一根节点遍历所述有向边集合中的各条有向边,以确定所述第一根节点的子节点;
删除模块,用于若检测到所述有向边集合中的有向边起点和终点处于已识别状态,则将起点和终点处于已识别状态的有向边从所述有向边集合中删除,得到处理后的有向边集合;
确定模块,用于将所述子节点确定为第二根节点;
所述遍历模块还用于基于已确定为根节点和子节点的识别标识,根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边的遍历结果符合预设遍历条件;
构建模块,用于基于确定的根节点和子节点,构建得到树形结构形式的数据;
所述遍历模块还用于根据所述第二根节点重复遍历处理后的有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到遍历所述处理后的有向边集合中有向边的遍历结果为空集,确定所述有向边的遍历结果符合预设遍历条件。
5.如权利要求4所述的数据源的处理装置,其特征在于,所述遍历模块还用于根据所述第二根节点重复遍历所述有向边集合中的各条有向边,以确定所述第二根节点的子节点,直到所述有向边集合中的有向边未查找到子节点,确定所述有向边的遍历结果符合预设遍历条件。
6.一种数据源的处理设备,其特征在于,所述数据源的处理设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据源的处理程序,所述数据源的处理程序被所述处理器执行时实现如权利要求1至3任一项中所述的数据源的处理方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据源的处理程序,所述数据源的处理程序被处理器执行时实现如权利要求1至3任一项所述的数据源的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911312877.3A CN111090651B (zh) | 2019-12-18 | 2019-12-18 | 数据源的处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911312877.3A CN111090651B (zh) | 2019-12-18 | 2019-12-18 | 数据源的处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090651A CN111090651A (zh) | 2020-05-01 |
CN111090651B true CN111090651B (zh) | 2024-03-29 |
Family
ID=70396182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911312877.3A Active CN111090651B (zh) | 2019-12-18 | 2019-12-18 | 数据源的处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090651B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241474B (zh) * | 2020-11-24 | 2023-08-15 | 深圳前海微众银行股份有限公司 | 信息处理方法、装置和存储介质 |
CN115049493A (zh) * | 2022-06-29 | 2022-09-13 | 北京知帆科技有限公司 | 一种区块链数据追踪方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346367A (zh) * | 2013-07-30 | 2015-02-11 | 华为技术有限公司 | 一种数据集成的方法和装置 |
CN104461496A (zh) * | 2014-10-30 | 2015-03-25 | 华中科技大学 | 一种与或图的层次化显示方法 |
CN106599218A (zh) * | 2016-12-16 | 2017-04-26 | 北京奇虎科技有限公司 | 一种树形结构的处理方法和装置 |
CN109241355A (zh) * | 2018-06-20 | 2019-01-18 | 中南大学 | 有向无环图的可达性查询方法、系统及可读存储介质 |
CN109656798A (zh) * | 2018-12-26 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于顶点重排序的超级计算机大数据处理能力测试方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090090308A (ko) * | 2006-11-16 | 2009-08-25 | 소니 가부시끼 가이샤 | 정보처리장치 |
US10671581B2 (en) * | 2017-01-27 | 2020-06-02 | Sap Se | Hierarchical computations of nodes having non-tree topologies in relational database management systems |
-
2019
- 2019-12-18 CN CN201911312877.3A patent/CN111090651B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346367A (zh) * | 2013-07-30 | 2015-02-11 | 华为技术有限公司 | 一种数据集成的方法和装置 |
CN104461496A (zh) * | 2014-10-30 | 2015-03-25 | 华中科技大学 | 一种与或图的层次化显示方法 |
CN106599218A (zh) * | 2016-12-16 | 2017-04-26 | 北京奇虎科技有限公司 | 一种树形结构的处理方法和装置 |
CN109241355A (zh) * | 2018-06-20 | 2019-01-18 | 中南大学 | 有向无环图的可达性查询方法、系统及可读存储介质 |
CN109656798A (zh) * | 2018-12-26 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于顶点重排序的超级计算机大数据处理能力测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111090651A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089893B (zh) | 冗余资源的确定方法、装置、终端设备与存储介质 | |
CN111068328B (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN111090651B (zh) | 数据源的处理方法、装置、设备及可读存储介质 | |
AU2017268599B2 (en) | Method, device, server and storage medium of searching a group based on social network | |
CN110975293A (zh) | 建立资源引用关系表的方法、装置、服务器及介质 | |
CN111338693A (zh) | 基于模型构建的目标文件生成方法、服务器及存储介质 | |
US10033737B2 (en) | System and method for cross-cloud identity matching | |
CN114253995B (zh) | 数据溯源方法、装置、设备及计算机可读存储介质 | |
CN111400289B (zh) | 智能用户分类方法、服务器及存储介质 | |
CN111930891B (zh) | 基于知识图谱的检索文本扩展方法及相关装置 | |
CN109918389B (zh) | 基于消息流和图数据库的数据风控方法、装置及存储介质 | |
CN111078671A (zh) | 数据表字段的修改方法、装置、设备和介质 | |
CN110727436A (zh) | 操作界面的脚本执行方法、装置、终端设备及存储介质 | |
CN109948114B (zh) | 弧长曲线积分自动计算方法、设备、存储介质及装置 | |
CN112650791B (zh) | 字段处理方法、装置、计算机设备和存储介质 | |
CN114780589A (zh) | 多表连接查询方法、装置、设备及存储介质 | |
CN110704481A (zh) | 展示数据的方法和装置 | |
CN111694632B (zh) | 业务数据的显示方法、装置、设备及存储介质 | |
CN111151008B (zh) | 游戏运营数据的校验方法、装置、配置后台及介质 | |
KR102308521B1 (ko) | 정보 업데이트 방법 및 장치 | |
CN109542986B (zh) | 网络数据的要素归一化方法、装置、设备及存储介质 | |
CN112597760A (zh) | 文档中的领域词提取方法和装置 | |
CN114817793B (zh) | 页面生成方法、装置、设备及存储介质 | |
CN107861969B (zh) | 语句修改方法、扫描平台和计算机可读存储介质 | |
CN110852077A (zh) | 动态调整Word2Vec模型词典的方法、装置、介质及电子设备 |
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 |