网络分析方法和装置与流程
未命名
09-13
阅读:66
评论:0

1.本技术涉及数据分析领域,尤其涉及一种网络分析方法和装置。
背景技术:
2.目前对物资需求计划(material requirement planning,mrp)、生产成本核算、预算控制等领域进行数据分析时,往往都只能将单个网络进行拆解并分别进行数据分析,无法体现不同网络之间的数据依赖关系,并且不利于加速数据分析。
技术实现要素:
3.本技术实施例提供一种网络分析方法和装置,用于加速数据分析。
4.为达到上述目的,本技术的实施例采用如下技术方案:
5.第一方面,提供了一种网络分析方法,包括:将多个网络融合得到有向图,其中,多个网络中分别包括不同第一数据之间的关联关系以及第一数据与第二数据之间的关联关系;有向图中每个顶点用于指示一个第一数据和一个第二数据之间的关联关系,有向图中从父顶点指向子顶点的边用于指示不同第一数据之间的关联关系;根据有向图中从根顶点至各个顶点的路径长度,得到各个顶点的分组码;对分组码相同的顶点并行进行数据分析。
6.本技术实施例提供的网络分析方法和装置,可以把复杂的多个网络叠加成有向图,有向图的每个顶点包括具有映射关系的两种数据,有向图的有向边指示同一种数据之间的关联关系,从有向图的根顶点遍历各个顶点得到各个顶点的分组码,将分组码相同的顶点并行进行数据分析。即按照不同的分组码将多个网络叠加的有向图拆解后进行数据分析,可以用于实现分布式处理,从而进行加速数据分析,并确保不同计算任务之间调度依赖的正确性。
7.在一种可能的实施方式中,该方法还包括:从目标顶点沿所在最长路径依次向前查找父顶点,直至再次查找到目标顶点,从而确定闭环路径,其中,目标顶点没有分组码或者分组码大于门限。
8.该实施方式可以提示用户存在闭环路径,以便核查原始数据是否有误。
9.在一种可能的实施方式中,该方法还包括:在计算一个父顶点的路径长度时,判断是否计算一个父顶点的子顶点的路径长度:如果一个父顶点满足预设条件,则计算一个父顶点的子顶点的路径长度,并将一个父顶点加入队列,否则不计算一个父顶点的子顶点的路径长度,满足预设条件包括:一个父顶点未被加入队列,一个父顶点路径长度大于其父顶点的路径长度。
10.该实施方式可以避免重复遍历某个父顶点的子顶点(即重复计算某个父顶点的子顶点的路径长度)。
11.在一种可能的实施方式中,在根据有向图中从根顶点至各个顶点的路径长度,得到各个顶点的分组码之前,方法还包括:添加根顶点,使得根顶点通过有向边指向有向图中入度为0的顶点,入度为0的顶点指在创建根顶点之前,没有其他有向边指向的顶点。
12.该实施方式便于通过一个根顶点遍历所有顶点。
13.在一种可能的实施方式中,子顶点的路径长度等于父顶点的路径长度加1,分组码为从根顶点至各个顶点的最大路径长度。
14.由于一个顶点可能存在多个父顶点,因此也可能存在多条路径以及对应多个路径长度,对于较短路径来说,对该顶点的数据分析仅是中间结果,并不是最终结果,因此从中选择最大路径长度,可以避免出现输出该结点的中间结果而非最终结果的情况。
15.在一种可能的实施方式中,如果多个网络分别包括第一数据a依赖于第一数据b的依赖关系,第一数据a映射至第二数据a的映射关系,以及,第一数据b映射至第二数据b的映射关系;则有向图包括第一顶点、第二顶点以及从第一顶点指向第二顶点的第一有向边,第一顶点包括第一数据a和第二数据a,第二顶点包括第一数据b和第二数据b,第一有向边用于指示:第一顶点中的第一数据a依赖于第二顶点中的第一数据b。
16.该实施方式使得本技术支持不同第一数据之间的依赖关系。
17.在一种可能的实施方式中,如果多个网络中还包括第一数据b等价于第一数据c的等价关系以及第一数据c映射至第二数据c的映射关系,则有向图还包括第三顶点以及从第一顶点指向第三顶点的第二有向边,第三顶点包括第一数据c和第二数据c,第二有向边用于指示:第一顶点中的第一数据a依赖于第三顶点中的第一数据c。
18.该实施方式使得本技术支持对包括互相替换数据的网络进行数据分析。
19.在一种可能的实施方式中,如果多个网络中还包括第二数据d依赖于第二数据b的依赖关系,第二数据d映射至第一数据d,则有向图还包括第四顶点以及从第四顶点指向第二节点的第三有向边,第四顶点包括第一数据d和第二数据d,第三有向边用于指示:第四顶点中的第二数据d依赖于第二节点中的第二数据b。
20.该实施方式使得本技术不仅支持不同第一数据之间的依赖关系,还支持不同第二数据之间的依赖关系
21.第二方面,提供了一种网络分析装置,包括处理器和存储器,存储器中存储指令,当处理器执行指令时,如第一方面及其任一实施方式所述的方法被执行。
22.第三方面,提供了一种计算机可读存储介质,包括指令,当指令在网络分析装置上运行时,使得网络分析装置执行如第一方面及其任一实施方式所述的方法。
23.第四方面,提供了一种包含指令的计算机程序产品,当指令在上述网络分析装置上运行时,使得该网络分析装置执行如第一方面及其任一实施方式所述的方法。
24.第五方面,提供了一种芯片系统,该芯片系统包括处理器,用于支持网络分析装置实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括接口电路,接口电路可用于从其它装置(例如存储器)接收信号,或者,向其它装置(例如通信接口)发送信号。该芯片系统可以包括芯片,还可以包括其他分立器件。
25.第二方面至第五方面的技术效果参照第一方面及其任一实施方式的技术效果,在此不再重复。
附图说明
26.图1为本技术实施例提供的一种有向图的示意图;
27.图2为本技术实施例提供的一种有向图对应的正向邻接表的示意图;
28.图3为本技术实施例提供的一种有向图对应的反向邻接表的示意图;
29.图4为本技术实施例提供的一种有向图对应的入度和出度的示意图;
30.图5为本技术实施例提供的一种网络分析装置的结构示意图;
31.图6为本技术实施例提供的一种网络分析方法的流程示意图;
32.图7为本技术实施例提供的第一种有向图的示意图;
33.图8为本技术实施例提供的第二种有向图的示意图;
34.图9为本技术实施例提供的第三种有向图的示意图;
35.图10为本技术实施例提供的第四种有向图的示意图;
36.图11为本技术实施例提供的第五种有向图的示意图;
37.图12为本技术实施例提供的一种最长路径的父顶点的路径长度的示意图;
38.图13为本技术实施例提供的第六种有向图及分组码的示意图;
39.图14为本技术实施例提供的一种闭环路径的示意图;
40.图15为本技术实施例提供的另一种闭环路径的示意图;
41.图16为本技术实施例提供的一种芯片系统的结构示意图。
具体实施方式
42.首先对本技术涉及的一些概念进行描述。
43.本技术实施例涉及的术语“第一”、“第二”等仅用于区分同一类型特征的目的,不能理解为用于指示相对重要性、数量、顺序等。
44.本技术实施例涉及的术语“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
45.首先对本技术涉及的概念进行描述:
46.有向图:有向图包括多个顶点(例如,图1中a/b/c/d/e/f/g/h)以及连接两个顶点之间的有向边(例如,图1中l1-l8),有向边指边是有方向的,例如,图1中从顶点a指向顶点b的有向边l1,顶点a为顶点b的父顶点(或称前驱顶点),顶点b为顶点a的子顶点(或称后继顶点)。
47.正向邻接表:正向邻接表包括当前顶点直接指向的相邻顶点的集合,本技术中的正向邻接表用于正向遍历有向图中的各个顶点。图1所示的有向图对应的正向邻接表见图2,例如,顶点b通过有向边l2/l3/l4指向顶点c/d/f,所以在正向邻接表中顶点b对应顶点c/d/f。
48.反向邻接表:反向邻接表包括直接指向当前顶点的相邻顶点的集合,本技术中的反向邻接表用于反向查找闭环路径。图1所示的有向图对应的反向邻接表见图3,例如,直接指向顶点f的相邻顶点有顶点b/e/h,所以在反向邻接表中顶点f对应顶点b/e/h。
49.入度和出度:入度指有多少条有向边指向当前顶点,出度指当前顶点指出多少条有向边。图1所示的有向图对应的入度和出度见图4,例如,有1条有向边指向顶点b,并且顶点b指出3条有向边,所以顶点b的入度为1,出度为3。
50.图5示出了本技术提供的网络分析装置的一种可能的结构,网络分析装置100可以
包括至少一个处理器101、通信线路102、存储器103以及至少一个通信接口104。通信线路102可包括一通路,在上述组件之间传送信息。通信接口104使用任何收发器一类的装置,用于与其他设备通信。
51.本技术实施例涉及的存储器103可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
52.本技术实施例涉及的处理器101可以是一个芯片。例如,可以是现场可编程门阵列(field programmable gate array,fpga)、专用集成芯片(application specific integrated circuit,asic)片上系统(system on chip,soc)、中央处理器(central processor unit,cpu)、网络处理器(network processor,np)、数字信号处理电路(digital signal processor,dsp)、微控制器(micro controller unit,mcu)、可编程控制器(programmable logic device,pld)或其他集成芯片。
53.存储器103中可以存储有指令,当处理器101执行上述指令时,可以执行本技术实施例提供的网络分析方法。
54.如前文所述的,现有技术中在对mrp、生产成本核算、预算控制等领域进行数据分析时,往往都只能将单个网络进行拆解并分别进行数据分析,无法体现不同网络之间的数据依赖关系,并且不利于加速数据分析。
55.本技术实施例提供的网络分析方法,可以把复杂的多个网络叠加成有向图,有向图的每个顶点包括具有映射关系的两种数据,有向图的有向边指示同一种数据之间的关联关系,从有向图的根顶点遍历各个顶点得到各个顶点的分组码,将分组码相同的顶点并行进行数据分析。即按照不同的分组码将多个网络叠加的有向图拆解后进行数据分析,可以用于实现分布式处理,从而进行加速数据分析,并确保不同计算任务之间调度依赖的正确性。该网络分析方法还支持对包括等价(可互相替换)数据的网络进行数据分析。该网络分析方法还可以识别有向图中的闭环路径(即死循环)。另外,通过并行进行数据分析,可以将垂直扩展(scaleup)的批量数据计算系统,改造为水平扩展(scaleout)的弹性系统,并且可以根据计算规模伸缩资源。
56.本技术实施例提供的网络分析方法可以应用于以下场景:在对mrp进行数据分析时,将供应链网络(例如客户-工厂-荣耀-央仓-供应商)和产品物料清单(bill of material,bom)网络(例如手机-裸机-主板-原材料)相叠加;在对生产成本核算进行数据分析时,将集团组织树和产品bom网络相叠加;在对预算控制进行数据分析时,将集团组织树
和科目体系树相叠加,等等。
57.具体的,如图6所示,该网络分析方法包括:
58.s101、将多个网络融合得到有向图。
59.其中,每个网络用于存储两个数据(可以为相同类型或不同类型)之间的关联关系(例如依赖关系、映射关系、等价关系等),网络的形式可以为表格、树等数据组织形式,本技术并不限定数据组织形式与网络之间的关系,只要能够表示两个数据之间的关联关系即可以称为一个网络,而不限定每个网络只属于一个表格或一个树,例如,后面涉及的表1中,物料父项与物料子项之间存在一种关联关系即为一种网络,物料子项与供应链之间存在另一种关联关系即为另一种网络,虽然这两种网络维护在同一表格中。
60.多个网络中分别包括不同第一数据之间的关联关系以及第一数据与第二数据之间的关联关系。有向图中每个顶点用于指示一个第一数据和一个第二数据之间的关联关系,有向图中从父顶点指向子顶点的边用于指示不同第一数据之间的关联关系。
61.如无特别说明,本技术中以第一数据为物料,第二数据为供应链为例进行说明,此时,不同第一数据之间的关联关系指不同物料之间的依赖关系或等价关系,例如在bom网络中,电路板包括电容、电阻等物料,则电路板与电容、电阻之间为依赖关系(电路板依赖于电容、电阻);再例如,在bom网络中,电路板包括等价(可互相替换)的电阻1和电阻2,则电阻1与电阻2之间为等价关系。第一数据与第二数据之间的关联关系指物料与供应链之间的映射关系,例如,物料需要由供应链来供货,所以物料与供应链之间为映射关系。在某些场景下中,不同第二数据之间也可以存在依赖关系,例如,在供应链网络中,供应链下游与供应链上游之间为依赖关系(供应链下游依赖于供应链上游)。
62.示例性的,表1所示为bom网络,其中,对于物料来说,由于物料父项由物料子项组成,因此物料父项依赖于物料子项,但是一种物料属于物料父项还是物料子项并不是固定的,而是由该物料与其他物料之间的包含关系决定的。例如电路板包括电容、电阻等物料,电路板为物料父项,电容、电阻等为物料子项,而手机包括电路板、壳体等物料,此时手机为物料父项,电路板、壳体等为物料子项。供应链指物料子项的供应地。
63.表2所示为bom替换物料网络,其中,可替换物料子项可以用于替换物料父项中的物料子项,供应链指可替换物料子项的供应地。
64.表3所示为供应链网络,其中,物料子项从供应链上游流动至供应链下游,所以供应链下游依赖于供应链上游。
65.表1
66.物料父项物料子项供应链物料a物料x1厂商1物料a物料x1中心仓物料b物料x2中心仓物料b物料x3中心仓物料m物料b中心仓
67.表2
68.物料父项物料子项可替换物料子项供应链物料a物料x1物料x2中心仓
69.表3
70.物料子项供应链上游供应链下游物料x1中心仓厂商1
71.如果多个网络分别包括第一数据a依赖于第一数据b的依赖关系,第一数据a映射至第二数据a的映射关系,以及,第一数据b映射至第二数据b的映射关系;则有向图包括第一顶点、第二顶点以及从第一顶点指向第二顶点的第一有向边,第一顶点包括第一数据a和第二数据a,第二顶点包括有第一数据b和第二数据b,第一有向边用于指示:第一顶点中的第一数据a依赖于第二顶点中的第一数据b,例如物料父项依赖于物料子项。第二数据a与第二数据b可以相同或不同。
72.示例性的,如图7所示,针对表1建立有向图。以表1中物料m这一行为例,物料m(第一数据a)和物料b(第一数据b)均映射至中心仓(即第二数据a与第二数据b相同,均为中心仓),所以建立第一顶点(物料m[中心仓])和第二顶点(物料b[中心仓]),并且建立从第一顶点至第二顶点的第一有向边,第一有向边用于指示第一顶点中的物料m依赖于第二顶点中的物料b。其他顶点的推导方式类似,在此不再赘述。
[0073]
如果多个网络中还包括第一数据b等价于第一数据c的等价关系,以及,第一数据c映射至第二数据c的映射关系,由于第一数据a依赖于第一数据b,因此,第一数据a也依赖于第一数据c。因此,该有向图还包括第三顶点以及从第一顶点(包括第一数据a)指向第三顶点的第二有向边,第三顶点包括第一数据c和第二数据c,第二有向边用于指示:第一顶点中的第一数据a依赖于第三顶点中的第一数据c,例如物料父项依赖于可替换物料子项。第二数据b与第二数据c可以相同或不同。
[0074]
示例性的,如图8所示,在图7所示的有向图基础上,针对表2进一步添加顶点或有向边。此时,第一顶点为物料a[中心仓],第二顶点为物料x1[中心仓],由于物料x1(第一数据b)等价于物料x2(第一数据c),所以添加第二有向边,第二有向边用于指示第一顶点中的物料a依赖于第二顶点中的物料x2。
[0075]
基于同样的原理,如图9所示,由于物料x1与物料x2是互相可替换的,又由于物料b依赖于物料x2,因此物料b也可以依赖于物料x1。此时,第一顶点为物料b[中心仓],第二顶点为物料x2[中心仓],添加第二有向边,第二有向边用于指示第一顶点中的物料b依赖于第二顶点中的物料x1。
[0076]
如果多个网络中还包括第二数据d依赖于第二数据b的依赖关系,第二数据d映射至第一数据d,则该有向图还包括第四顶点以及从第四顶点指向第二节点的第三有向边,第四顶点包括第一数据d和第二数据d,第三有向边用于指示:第四顶点中的第二数据d依赖于第二节点中的第二数据b。第一数据d与第一数据b可以相同或不同。
[0077]
或者,如果多个网络中还包括第二数据d依赖于第二数据a的依赖关系,第二数据d映射至第一数据d,则该有向图还包括第四顶点以及从第四顶点指向第一节点的第三有向边,第四顶点包括第一数据d和第二数据d,第三有向边用于指示:第四顶点中的第二数据d依赖于第一节点中的第二数据a。第一数据d与第一数据a可以相同或不同。
[0078]
示例性的,如图10所示,在图9所示的有向图基础上,针对表3进一步添加顶点或有向边。由于供应链下游依赖于供应链上游,此时,第一顶点为物料a[中心仓],第二顶点为物料x1[中心仓],第四顶点为物料x1[厂商1],添加第三有向边,第三有向边用于指示第四顶
点中的厂商1依赖于第二顶点中的物料中心仓。
[0079]
为了方便遍历有向图的所有顶点,可以添加根顶点(根顶点中不包括第一参数和第二参数),根顶点通过多条有向边指向有向图中入度为0的顶点,入度为0的顶点指在创建根顶点之前,没有其他有向边指向的顶点。如图11所示,入度为0的顶点包括物料m[中心仓]、物料a[中心仓]、物料a[厂商1]。
[0080]
另外,可以将有直接结果(例如包括停产的物料和对应的供应链)的顶点作为根顶点的子顶点(即根顶点通过有向边指向该顶点),以减少对该顶点的遍历深度,提高计算性能。
[0081]
s102、根据有向图中从根顶点至各个顶点的路径长度,得到各个顶点的分组码。
[0082]
具体的,可以根据正向邻接表,从根顶点开始按照广度优先搜索(breadth first search)原则遍历各个顶点,得到从根顶点至各个顶点的路径长度,子顶点的路径长度等于父顶点的路径长度加1,取从根顶点至各个顶点的最大路径长度作为各个顶点的分组码(也称低层码(low level code,llc))。由于一个顶点可能存在多个父顶点,因此也可能存在多条路径以及对应多个路径长度,对于较短路径来说,对该顶点的数据分析仅是中间结果,并不是最终结果,因此从中选择最大路径长度,可以避免出现输出该结点的中间结果而非最终结果的情况。
[0083]
为了避免重复遍历某个父顶点的子顶点(即重复计算某个父顶点的子顶点的路径长度),因此,在计算一个父顶点的路径长度时,判断是否计算一个父顶点的子顶点的路径长度:如果一个父顶点满足预设条件,则计算一个父顶点的子顶点的路径长度,并将一个父顶点加入队列,否则不计算一个父顶点的子顶点的路径长度,其中,满足预设条件包括:该一个父顶点未被加入队列,该一个父顶点路径长度大于其父顶点(例如最长路径的父顶点)的路径长度(示例性的,图12示出了各顶点所在最长路径的父顶点的路径长度)。然后按照相同方式依次判断该一个父顶点的子顶点是否满足预设条件,如果该一个父顶点的子顶点也满足预设条件,则将该子顶点也加入队列,依此类推。
[0084]
需要说明的是,由于一个顶点可能有多个父顶点,因此可以有多条路径,假设第一次通过第一路径遍历到某个顶点,并且将该顶点加入队列,当第二次通过第二路径遍历到该顶点时,虽然不会再遍历该顶点的子顶点,但是仍然会按照第二路径计算该顶点的路径长度。
[0085]
例如,如图13所示,根顶点的分组码为0,物料m[中心仓]、物料a[中心仓]、物料a[厂商1]的分级码为1,依此类推。物料x1[中心仓]在通过第一路径(根顶点-》物料a[中心仓]-》物料x1[中心仓])遍历时得到的路径长度为2,物料x1[中心仓]在通过第二路径(根顶点-》物料a[厂商1]-》物料x1[厂商1]-》物料x1[中心仓])遍历时得到的路径长度为3(即分组码=3)。则物料x1[中心仓]的分组码取路径长度的最大值为3。
[0086]
s103、对分组码相同的顶点并行进行数据分析。
[0087]
分组码相同的顶点互相之间不存在依赖关系,在进行数据分析时,分析结果互不影响,因此可以并行进行数据分析。例如,物料x1[中心仓]、物料x2[中心仓]、物料x3[中心仓]这几个顶点的分组码相同(均为3),互相之间不存在依赖关系,所以可以对这几个顶点并行进行数据分析。
[0088]
另外,如果目标顶点没有分组码或者分组码大于门限,则按照深度优先搜索
(depth first search)原则从目标顶点沿所在路径依次向前查找父顶点,直至再次查找到该目标顶点,即可以确定闭环路径,可以提示用户存在闭环路径,以便核查原始数据是否有误。从目标顶点沿所在路径向前查找父顶点时,可以按照反向邻接表进行查找,或者,进一步地,为了降低计算工作量,可以只记录最长路径的反向邻接表(例如图12所示),从目标顶点沿所在最长路径依次向前查找父顶点。
[0089]
例如,如图14所示,如果顶点c和顶点d(也可以更多顶点形成闭环路径)互为父子顶点,这两个顶点的入度不为0,则根顶点不会指向这两个顶点中的任意一个顶点,那么从根顶点遍历各个顶点时也不会遍历到这两个顶点,因此这两个顶点将没有分组码,因此可以从顶点c查找父顶点d,再从顶点d查找父顶点c,从而可以确定这两个顶点形成闭环路径。
[0090]
再例如,如图15所示,从根顶点遍历到顶点b和顶点c时,会循环遍历顶点b和顶点c,使得顶点b和顶点c的分组码无限递增,最终使得分级码大于门限(例如20),因此可以从顶点b查找父顶点c,再从顶点c查找父顶点b,从而可以确定这两个顶点形成闭环路径。
[0091]
本技术实施例提供的网络分析方法和装置,可以把复杂的多个网络叠加成有向图,有向图的每个顶点包括具有映射关系的两种数据,有向图的有向边指示同一种数据之间的关联关系,从有向图的根顶点遍历各个顶点得到各个顶点的分组码,将分组码相同的顶点并行进行数据分析。即按照不同的分组码将多个网络叠加的有向图拆解后进行数据分析,可以用于实现分布式处理,从而进行加速数据分析,并确保不同计算任务之间调度依赖的正确性。
[0092]
如图16所示,本技术实施例还提供一种芯片系统。该芯片系统60包括至少一个处理器601和至少一个接口电路602。至少一个处理器601和至少一个接口电路602可通过线路互联。处理器601用于支持网络分析装置实现上述方法实施例中的各个步骤,例如图6所示的方法,至少一个接口电路602可用于从其它装置(例如存储器)接收信号,或者,向其它装置(例如通信接口)发送信号。该芯片系统可以包括芯片,还可以包括其他分立器件。
[0093]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令,当指令在上述网络分析装置上运行时,使得该网络分析装置执行上述方法实施例中的各个步骤,例如执行图6所示的方法。
[0094]
本技术实施例还提供一种包括指令的计算机程序产品,当指令在上述网络分析装置上运行时,使得该网络分析装置执行上述方法实施例中的各个步骤,例如执行图6所示的方法。
[0095]
关于芯片系统、计算机可读存储介质、计算机程序产品的技术效果参照前面方法实施例的技术效果。
[0096]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0097]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0098]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0099]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0100]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个设备,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0101]
另外,在本技术各个实施例中的各功能模块可以集成在一个设备中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个设备中。
[0102]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0103]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种网络分析方法,其特征在于,包括:将多个网络融合得到有向图,其中,所述多个网络中分别包括不同第一数据之间的关联关系以及所述第一数据与第二数据之间的关联关系;所述有向图中每个顶点用于指示一个所述第一数据和一个所述第二数据之间的关联关系,所述有向图中从父顶点指向子顶点的边用于指示不同所述第一数据之间的关联关系;根据所述有向图中从根顶点至各个顶点的路径长度,得到所述各个顶点的分组码;对分组码相同的顶点并行进行数据分析。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:从目标顶点沿所在最长路径依次向前查找父顶点,直至再次查找到所述目标顶点,从而确定闭环路径,其中,所述目标顶点没有分组码或者分组码大于门限。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在计算一个父顶点的路径长度时,判断是否计算所述一个父顶点的子顶点的路径长度:如果所述一个父顶点满足预设条件,则计算所述一个父顶点的子顶点的路径长度,并将所述一个父顶点加入队列,否则不计算所述一个父顶点的子顶点的路径长度,所述满足预设条件包括:所述一个父顶点未被加入所述队列,所述一个父顶点路径长度大于其父顶点的路径长度。4.根据权利要求1-3任一项所述的方法,其特征在于,在所述根据所述有向图中从根顶点至各个顶点的路径长度,得到所述各个顶点的分组码之前,所述方法还包括:添加所述根顶点,使得所述根顶点通过有向边指向所述有向图中入度为0的顶点,所述入度为0的顶点指在创建所述根顶点之前,没有其他有向边指向的顶点。5.根据权利要求1-4任一项所述的方法,其特征在于,子顶点的路径长度等于父顶点的路径长度加1,所述分组码为从所述根顶点至所述各个顶点的最大路径长度。6.根据权利要求1-5任一项所述的方法,其特征在于,如果所述多个网络分别包括第一数据a依赖于第一数据b的依赖关系,所述第一数据a映射至第二数据a的映射关系,以及,所述第一数据b映射至第二数据b的映射关系;则所述有向图包括第一顶点、第二顶点以及从所述第一顶点指向所述第二顶点的第一有向边,所述第一顶点包括所述第一数据a和所述第二数据a,所述第二顶点包括所述第一数据b和所述第二数据b,所述第一有向边用于指示:所述第一顶点中的所述第一数据a依赖于所述第二顶点中的所述第一数据b。7.根据权利要求6所述的方法,其特征在于,如果所述多个网络中还包括所述第一数据b等价于第一数据c的等价关系以及所述第一数据c映射至第二数据c的映射关系,则所述有向图还包括第三顶点以及从所述第一顶点指向所述第三顶点的第二有向边,所述第三顶点包括所述第一数据c和所述第二数据c,所述第二有向边用于指示:所述第一顶点中的所述第一数据a依赖于所述第三顶点中的所述第一数据c。8.根据权利要求6或7所述的方法,其特征在于,如果所述多个网络中还包括第二数据d依赖于所述第二数据b的依赖关系,所述第二数据d映射至第一数据d,则所述有向图还包括第四顶点以及从所述第四顶点指向所述第二节点的第三有向边,所述第四顶点包括所述第一数据d和所述第二数据d,所述第三有向边用于指示:所述第四顶点中的所述第二数据d依赖于所述第二节点中的所述第二数据b。9.一种网络分析装置,其特征在于,包括处理器和存储器,所述存储器中存储指令,当
所述处理器执行所述指令时,如权利要求1-8任一项所述的方法被执行。10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在网络分析装置上执行时,使得所述网络分析装置执行如权利要求1-8任一项所述的方法。
技术总结
本申请公开了一种网络分析方法和装置,涉及数据分析领域,用于加速数据分析。网络分析方法,包括:将多个网络融合得到有向图,其中,多个网络中分别包括不同第一数据之间的关联关系以及第一数据与第二数据之间的关联关系;有向图中每个顶点用于指示一个第一数据和一个第二数据之间的关联关系,有向图中从父顶点指向子顶点的边用于指示不同第一数据之间的关联关系;根据有向图中从根顶点至各个顶点的路径长度,得到各个顶点的分组码;对分组码相同的顶点并行进行数据分析。同的顶点并行进行数据分析。同的顶点并行进行数据分析。
技术研发人员:付玉滨
受保护的技术使用者:荣耀终端有限公司
技术研发日:2022.09.27
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:人脸质量检测模型的训练方法及其相关设备与流程 下一篇:一种图像处理方法及终端与流程