有向无环图的生成方法、装置、设备及介质与流程

allin2022-07-27  148



1.本技术的实施例涉及有向无环图领域,特别涉及一种有向无环图的生成方法、装置、设备及介质。


背景技术:

2.在工程管理中,习惯采用有向无环图调控项目进度和项目预算。有向无环图显示出父节点与子节点之间的包容关系、以及子节点之间的并列关系。
3.相关技术中,采用逐一判断的方式对节点存储的业务数据进行归类,如,节点a存储的业务数据为“项目开始时间:七月份”,节点b存储的业务数据为“项目开始时间:七月份第一周”,则节点b指示的业务数据范围落入节点a指示的业务数据范围,则节点a是节点b的父节点,存储的业务数据为“项目开始时间:七月份第二周”的节点c和节点b之间存在并列关系(同属于节点a的子节点)。
4.然而,在有向无环图的业务数据数量巨大的情况下,相关技术耗费时间长,无法高效生成有向无环图。


技术实现要素:

5.本技术实施例提供了一种有向无环图的生成方法、装置、设备及介质,提高了有向无环图的生成效率。所述技术方案如下:
6.根据本技术的一个方面,提供了一种有向无环图的生成方法,所述方法包括:
7.获取n个业务数据,n个业务数据是有向无环图的初始节点存储的数据;业务数据在目标属性维度上具有属性取值;
8.在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果;将m1个聚类结果设置为有向无环图的m1个一级节点,设置初始节点是m1个一级节点的父节点;
9.在目标属性维度上基于属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;将mi个聚类结果设置为有向无环图的mi个i级节点;设置与第j个聚类结果对应的第j个i-1级节点是mi个i级节点的父节点;
10.显示有向无环图;
11.其中,n为正整数,i为大于1的整数,j为正整数,m为大于1的整数。
12.根据本技术的另一方面,提供了一种有向无环图的生成装置,所述装置包括:
13.获取模块,用于获取n个业务数据,n个业务数据是有向无环图的初始节点存储的数据;业务数据在目标属性维度上具有属性取值;
14.聚类模块,用于在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果;将m1个聚类结果设置为有向无环图的m1个一级节点,设置初始节点是m1个一级节点的父节点;
15.聚类模块,还用于在目标属性维度上基于属性取值,针对m
i-1
个聚类结果中的第j
个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;将mi个聚类结果设置为有向无环图的mi个i级节点;设置与第j个聚类结果对应的第j个i-1级节点是mi个i级节点的父节点;
16.显示模块,用于显示有向无环图;
17.其中,n为正整数,i为大于1的整数,j为正整数,m为大于1的整数。
18.根据本技术的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的有向无环图的生成方法。
19.根据本技术的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的有向无环图的生成方法。
20.根据本技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的有向无环图的生成方法。
21.本技术实施例提供的技术方案带来的有益效果至少包括:
22.通过多次聚类,逐级确定有向无环图的父节点和子节点,进而显示完整的有向无环图。上述方法通过聚类生成有向无环图,在业务数据的数量较多的情况下,大大提高了有向无环图的生成效率,且针对不同的业务数据均可通过聚类生成有向无环图,通过聚类生成有向无环图具有普遍性。
附图说明
23.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术一个示例性实施例提供的有向无环图的示意图;
25.图2是本技术一个示例性实施例提供的有向无环图的生成系统的示意图;
26.图3是本技术一个示例性实施例提供的有向无环图的生成方法的流程图;
27.图4是本技术一个示例性实施例提供的有向无环图的结构示意图;
28.图5是本技术另一个示例性实施例提供的有向无环图的生成方法的流程图;
29.图6是本技术另一个示例性实施例提供的有向无环图的生成方法的流程图;
30.图7是本技术一个示例性实施例提供的有向无环图的显示过程的示意图;
31.图8是本技术另一个示例性实施例提供的有向无环图的显示过程的示意图;
32.图9是本技术一个示例性实施例提供的有向无环图的生成装置的结构框图;
33.图10是本技术一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
34.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
35.首先,对本技术实施例涉及的主要名词进行简单介绍:
36.有向无环图:是一个无回路的有向图,假设一个图中,从a节点出发的有向线段,依次遍历图中的其他节点,若不存在回到a节点的有向线段,则该图即为有向无环图。示意性的,图1示出了一种有向无环图,节点a表示“起床”,b表示“交通”,c表示“到岗”,则顺序包括“a-b-c”和“a-c”。
37.在本技术中,涉及的有向无环图更为具体的为树状图,树状图是一种特殊的有向无环图,树节点和叶节点之间存在包容关系,同级别的叶节点之间存在并列关系。
38.k-means:是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。示意性的,k-means算法过程如下:(1)选择k个初始中心点,例如c[0]=data[0],

,c[k-1]=data[k-1];(2)对于data0.…
data[n],分别与c0.…
c[k-1]比较,假定当前数据与c[i]差值最少,就将当前数据标记为第i族;(3)对于所有标记为第i族的数据,重新计算c[i],c[i]=(所有标记为第i族的data[j]之和)/(标记为第i族的个数);(4)重复(2)(3),直到所有c[i]值的变化小于给定阈值。
[0039]
层次聚类算法:层次聚类算法是基于每次聚类两个数据,最终实现所有数据聚为一类的算法。示意性的,层次聚类算法的过程如下:(1)初始化,将每个样本分别视为一个簇;(2)计算各个簇之间的距离;(3)寻找距离最近的两个簇,合并为一类;(4)重复步骤(2)和步骤(3),直至所有样本归为一类,或直至满足输出条件。
[0040]
基于上述,已完成对本技术中涉及的名词的简单介绍,接下来介绍本技术实施例所处的实施环境。
[0041]
图2是本技术一个示例性实施例提供的有向无环图的生成系统200的示意图,图2示出了有向无环图的获取系统210、聚类系统220和显示系统230;
[0042]
如图2所示,有向无环图的获取系统210获取业务数据,并将业务数据发送至聚类系统220,聚类系统220对业务数据在目标属性维度上的属性取值进行聚类,将得到的聚类结果设置为有向无环图的节点,聚类系统220将各个节点发送至显示系统230,显示系统230基于有向无环图的各个节点显示有向无环图。
[0043]
其中,上述获取系统210、聚类系统220和显示系统230可以运行于同一个计算机设备,或者,上述获取系统210、聚类系统220和显示系统230也可以运行不同的计算机设备。并且,当获取系统210、聚类系统220和显示系统230运行于不同的计算机设备时,获取系统210、聚类系统220和显示系统230运行于同一类型的设备,比如获取系统210、聚类系统220和显示系统230可以运行于终端;或者,获取系统210、聚类系统220和显示系统230运行于不同类型的设备。比如,获取系统210和显示系统230运行于终端,聚类系统220运行于服务器。
[0044]
上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式设备,还可以是提供云服务、云统计数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大统计数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智
能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。在下述实施例中,以获取系统210、聚类系统220和显示系统230均运行于终端展开论述。
[0045]
上述已完整论述了有向无环图的主要名词和实施环境,接下来通过一些具体实施例进行展开介绍。
[0046]
为通过聚类算法生成有向无环图,图3是本技术一个示例性实施例提供的有向无环图的生成方法的流程图,图3所示的方法包括:
[0047]
步骤320,获取n个业务数据;
[0048]
其中,n个业务数据是有向无环图的初始节点存储的数据,业务数据在目标属性维度上具有属性取值;n为正整数。
[0049]
业务数据:在本技术中,主要指在日常生活和工作中运用的数据,可选的,在工程管理中,业务数据包括项目进度数据和项目预算数据,示意性的,项目进度数据包括但不限于项目的开始时间、结束时间、暂停时间和历经时长中的至少一种;项目预算数据包括但不限于项目的预计支出、预计收入和预计净利润中的至少一种。
[0050]
示意性的,业务数据为“项目开始时间:7月1日”。
[0051]
示意性的,业务数据为“项目预计支出:120k”。
[0052]
在一个实施例中,业务数据的类型包括但不限于文字、图像、语音和视频中的至少一种。
[0053]
目标属性维度:指业务数据用于提取出属性取值的属性维度;示意性的,业务数据为“项目开始时间:7月1日”,目标属性维度为时间,示意性的,业务数据在目标属性维度上的属性取值为7.1;示意性的,业务数据为“项目预计支出:120k”,目标属性维度为金钱,示意性的,业务数据在目标属性维度上的属性取值为120k。
[0054]
在一个实施例中,在业务数据的类型是文字的情况下,提取业务数据在目标属性维度上的属性取值的方法包括:将业务数据输入文字转向量模型,提取文字向量,通过对文字向量的聚类,终端可生成有向无环图。
[0055]
在一个实施例中,在业务数据的类型是图像或视频的情况下,提取业务数据在目标属性维度上的属性取值的方法包括:将业务数据输入图像识别模型,提取图像特征向量,通过对图像特征向量的聚类,终端可生成有向无环图。
[0056]
在一个实施例中,在业务数据类型是语音的情况下,提取业务数据在目标属性维度上的属性取值的方法包括:将业务数据输入语义识别模型,提取语音特征向量,通过对语音特征向量的聚类,终端可生成有向无环图。
[0057]
在一个实施例中,终端获取n个业务数据的方法包括但不限于:
[0058]
第一、终端获取用户输入的n个业务数据;
[0059]
用户通过终端逐一输入n个业务数据,如,用户输入“第一个项目开始时间:7月1日”、“第二个项目开始时间:7月15日”。
[0060]
第二、终端获取数据库中存储的n个业务数据;
[0061]
终端获取数据库中已存储的n个业务数据。
[0062]
第三、终端通过网络获取n个业务数据;
[0063]
终端通过有线网络或无限网络,获取n个业务数据。
[0064]
步骤340,在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果;将m1个聚类结果设置为有向无环图的m1个一级节点,设置初始节点是m1个一级节点的父节点;
[0065]
示意性的,初始节点存储的n个业务数据为“第一个项目开始时间:7月1日”、“第二个项目开始时间:7月15日”、“第三个项目开始时间:7月20日”、“第四个项目开始时间:10月2日”、“第五个项目开始时间:10月6日”、“第六个项目开始时间:10月30日”、“第七个项目开始时间:12月6日”、“第八个项目开始时间:12月10日”、“第九个项目开始时间:12月25日”。
[0066]
在一个实施例中,在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果:【第一个项目开始时间:7月1日、第二个项目开始时间:7月15日、第三个项目开始时间:7月20日】、【第四个项目开始时间:10月2日、第五个项目开始时间:10月6日、第六个项目开始时间:10月30日】、【第七个项目开始时间:12月6日、第八个项目开始时间:12月10日、第九个项目开始时间:12月25日】,将m1个聚类结果设置为m1个一级节点:七月份项目开始时间,十月份项目开始时间、十二月份项目开始时间。
[0067]
设置初始节点为m1个一级节点的父节点,初始节点与一级节点之间存在唯一映射关系,初始节点和一级节点之间为包含关系、m1个一级节点之间为并列关系。
[0068]
在一个实施例中,第1次聚类是采用聚类算法k-means、层次聚类算法、高斯混合模型gmm中的至少一种完成的。
[0069]
步骤360,在目标属性维度上基于属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;将mi个聚类结果设置为有向无环图的mi个i级节点;设置与第j个聚类结果对应的第j个i-1级节点是mi个i级节点的父节点;
[0070]
其中,i为大于1的整数,j为正整数,m为大于1的整数。
[0071]
在一个实施例中,当i=2时,在目标属性维度上基于属性取值,针对m1个聚类结果中的第j个聚类结果进行第2次聚类,得到与第j个聚类结果对应的m2个聚类结果;将m2个聚类结果设置为有向无环图的m2个二级节点;设置与第j个聚类结果对应的第j个一级节点是m2个二级节点的父节点;
[0072]
示意性的,m1个聚类结果中的第j个聚类结果为【第一个项目开始时间:7月1日、第二个项目开始时间:7月15日、第三个项目开始时间:7月20日】,进行第2次聚类,得到与第j个聚类结果对应的m2个聚类结果:【第一个项目开始时间:7月1日】、【第二个项目开始时间:7月15日】和【第三个项目开始时间:7月20日】。将m2个聚类结果设置为有向无环图的m2个二级节点:“第一个项目开始时间:七月一日”、“第二个项目开始时间:七月十五日”和“第三个项目开始时间:七月二十日”。
[0073]
其中,第j个一级节点是m2个二级节点的父节点。
[0074]
示意性的,图4示出了当聚类满足聚类结束条件时,完成聚类,此时得到的尚未进行显示的有向无环图的结构图。图4所示的有向无环图的结构图中,当i=2时即满足聚类结束条件。
[0075]
可选的,图4所示的初始节点401可表示为“第一年的项目开始时间”、第1个一级节点402-1可表示为“七月份的项目开始时间”、第2个一级节点402-2“十月份的项目开始时间”、第3个一级节点402-3“十二月份的项目开始时间”,第1个一级节点的第1个二级节点
403-1可表示为“第一个项目开始时间7月1日”、第1个一级节点的第2个二级节点403-2“第二个项目开始时间:7月15日”和第1个一级节点的第3个二级节点403-3“第三个项目开始时间:7月20日”。
[0076]
其中,3个第1个一级节点的二级节点是第1个一级节点402-1的子节点,通过将第1个一级节点402-1存储的聚类结果【第一个项目开始时间:7月1日、第二个项目开始时间:7月15日、第三个项目开始时间:7月20日】,进行第2次聚类,得到3个聚类结果:【第一个项目开始时间:7月1日】、【第二个项目开始时间:7月15日】和【第三个项目开始时间:7月20日】,将三个聚类结果分别作为3个第1个一级节点的二级节点存储的聚类结果。
[0077]
在一个实施例中,第i次聚类是采用聚类算法k-means、层次聚类算法、高斯混合模型gmm中的至少一种完成的。
[0078]
步骤380,显示有向无环图。
[0079]
终端根据上述生成的有向无环图所有节点,显示有向无环图。
[0080]
综上所述,通过多次聚类,逐级确定有向无环图的父节点和子节点,进而显示完整的有向无环图。上述方法通过聚类生成有向无环图,在业务数据的数量较多的情况下,大大提高了有向无环图的生成效率,且针对不同的业务数据均可通过聚类生成有向无环图,通过聚类生成有向无环图具有普遍性。
[0081]
为通过聚类生成有向无环图,基于图3所示的实施例中,步骤340可替换为下述s1;
[0082]
s1:在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;
[0083]
其中,m
i-1
个聚类结果是采用第i-1聚类粒度进行聚类得到的,且,第一业务数据范围大于第二业务数据范围,第一业务数据范围是m
i-1
个聚类结果中的第j个聚类结果的业务数据范围,第二业务数据范围是mi个聚类结果中的任意一个聚类结果的业务数据范围。
[0084]
聚类粒度指在目标属性维度上聚类的粒度。在一个实施例中,聚类粒度指在目标属性维度上进行聚类的次数;如,第i次聚类采用k-means算法聚类进行k=3的聚类,即第i次聚类将m
i-1
个聚类结果中的第j个聚类结果聚类得到3个聚类结果。
[0085]
在一个实施例中,聚类粒度指在目标属性维度上进行聚类的跨度。如,m
i-1
个聚类结果指示项目开始时间的粒度为“月”,采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到的mi个聚类结果指示项目开始时间的粒度为“天”。
[0086]
业务数据范围:指节点存储的业务数据的数量范围。第一业务数据范围是m
i-1
个聚类结果中的第j个聚类结果的业务数据范围,第二业务数据范围是所述mi个聚类结果中的任意一个聚类结果的业务数据范围。
[0087]
示意性的,m
i-1
个聚类结果中的第j个聚类结果为【第一个项目开始时间:7月1日、第二个项目开始时间:7月15日、第三个项目开始时间:7月20日】,则i-1级节点包括的业务数据的数量为3,进行第i次聚类,得到与第j个聚类结果对应的m2个聚类结果:【第一个项目开始时间:7月1日】、【第二个项目开始时间:7月15日】和【第三个项目开始时间:7月20日】,则i级节点中的任意一个节点包括的业务数据的数量为1。即,第一业务数据范围大于第二业务数据范围。
[0088]
在一个实施例中,步骤s1可替换为步骤361、步骤362、步骤363和步骤364。示意性的,图5示出了本技术一个示例性实施例提供的有向无环图的生成方法的流程图。
[0089]
步骤361,在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;
[0090]
终端在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果。
[0091]
在一个实施例中,第i次聚类是采用聚类算法k-means、层次聚类算法、高斯混合模型gmm中的至少一种完成的。
[0092]
步骤362,第i次聚类是否满足聚类结束条件;
[0093]
若第i次聚类满足聚类结束条件,执行步骤363;若第i次聚类不满足聚类结束条件,执行步骤364;
[0094]
其中,聚类结束条件包括聚类的次数达到聚类次数阈值,即i达到预设的次数阈值;和/或,mi个聚类结果达到预设的聚类结果,即mi个聚类结果中的任意一个聚类结果所包含的业务数据范围达到预设的粒度。示意性的,预设的聚类结果为mi个聚类结果中的任意一个聚类结果所包含的业务数据范围的粒度为“天”。
[0095]
步骤363,在第i次聚类满足聚类结束条件的情况下,完成聚类;
[0096]
在第i次聚类满足聚类结束条件的情况下,终端结束聚类,之后显示有向无环图。
[0097]
步骤364,在第i次聚类不满足聚类结束条件的情况下,将i+1更新为i,再次执行步骤:在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果。
[0098]
在第i次聚类不满足聚类结束条件的情况下,终端将i+1更新为i,再次执行步骤:在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果。
[0099]
综上所述,通过设置聚类的聚类粒度,实现了采用不同的聚类方法生成有向无环图,并且,基于第i次聚类是否满足聚类条件确定是否结束聚类,更为具体地提供了通过聚类生成有向无环图的方法,大大提高了有向无环图的生成效率。
[0100]
基于图3所示的实施例中,步骤380可替换为步骤381、步骤382和步骤383。示意性的,图6示出了本技术一个示例性实施例提供的有向无环图的生成方法的流程图。
[0101]
步骤381,显示有向无环图的初始节点;
[0102]
终端显示有向无环图的初始节点。
[0103]
步骤382,响应于针对初始节点的第1展开操作,显示初始节点的m1个一级节点;
[0104]
响应于第1展开操作,终端显示初始节点的m1个一级节点。
[0105]
步骤383,响应于针对第j个i-1级节点的第i展开操作,通过替换第j个i-1级节点,显示第j个i-1级节点的mi个i级节点;
[0106]
响应于第i展开操作,通过替换第j个i-1级节点,终端显示第j个i-1级节点的mi个i级节点。
[0107]
示意性的,图7示出了一个示例性实施例提供的有向无环图的显示过程。
[0108]
图7示出了第1个一级节点的第1个二级节点403-1、第1个一级节点的第2个二级节点403-2和第1个一级节点的第3个二级节点403-3替换了原来的第1个一级节点402-1。
[0109]
可选的,响应于用户触控或点击第1个一级节点402-1,终端通过替换第1个一级节点402-1,显示为三个第1个一级节点的二级节点。
[0110]
步骤384,响应于针对mi个i级节点的第i合并操作,通过替换mi个i级节点,显示mi个i级节点的第j个i-1级节点。
[0111]
响应于第i合并操作,通过替换mi个i级节点,终端显示mi个i级节点的第j个i-1级节点。
[0112]
示意性的,图8示出了一个示例性实施例提供的有向无环图的显示过程。
[0113]
图8示出了一个示例性实施例提供的有向无环图的显示过程。图8示出了原来的第1个一级节点402-1替换了第1个一级节点的第1个二级节点403-1、第1个一级节点的第2个二级节点403-2和第1个一级节点的第3个二级节点403-3。
[0114]
可选的,响应于用户触控或点击撤回按钮,即实现了第i合并操作,终端通过替换3个第1个一级节点的二级节点,显示第1个一级节点402-1。
[0115]
综上所述,通过设置mi个i级节点替换显示第j个i-1级节点,和,第j个i-1级节点替换显示mi个i级节点,减少了显示界面上显示的节点数量,提高了终端渲染子节点(或父节点)的速度,仅在欲展开(或合并)的节点上计算其子节点(或父节点),并不基于广度优先的方式展开(或合并)子节点(或父节点),加快了终端生成子节点(或父节点)的速度。
[0116]
图9示出了本技术一个示例性实施例提供的有向无环图的生成装置的结构框图,该装置包括:
[0117]
获取模块901,用于获取n个业务数据,n个业务数据是有向无环图的初始节点存储的数据;业务数据在目标属性维度上具有属性取值;
[0118]
聚类模块902,用于在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果;将m1个聚类结果设置为有向无环图的m1个一级节点,设置初始节点是m1个一级节点的父节点;
[0119]
聚类模块902,还用于在目标属性维度上基于属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;将mi个聚类结果设置为有向无环图的mi个i级节点;设置与第j个聚类结果对应的第j个i-1级节点是mi个i级节点的父节点;
[0120]
显示模块903,用于显示有向无环图;
[0121]
其中,n为正整数,i为大于1的整数,j为正整数,m为大于1的整数。
[0122]
在一个可选的实施例中,聚类模块902还用于在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果;
[0123]
其中,m
i-1
个聚类结果是采用第i-1聚类粒度进行聚类得到的,且,第一业务数据范围大于第二业务数据范围,第一业务数据范围是m
i-1
个聚类结果中的第j个聚类结果的业务数据范围,第二业务数据范围是mi个聚类结果中的任意一个聚类结果的业务数据范围。
[0124]
在一个可选的实施例中,聚类模块902还用于在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果。
[0125]
在一个可选的实施例中,聚类模块902还用于在第i次聚类满足聚类结束条件的情况下,完成聚类。
[0126]
在一个可选的实施例中,聚类模块902还用于在第i次聚类不满足聚类结束条件的
情况下,将i+1更新为i,再次执行步骤:在目标属性维度上基于属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与第j个聚类结果对应的mi个聚类结果。
[0127]
在一个可选的实施例中,聚类结束条件包括:聚类的次数达到聚类次数阈值;和/或,mi个聚类结果达到预设的聚类结果。
[0128]
在一个可选的实施例中,显示模块903还用于显示有向无环图的初始节点。
[0129]
在一个可选的实施例中,显示模块903还用于响应于针对初始节点的第1展开操作,显示初始节点的m1个一级节点。
[0130]
在一个可选的实施例中,显示模块903还用于响应于针对第j个i-1级节点的第i展开操作,通过替换第j个i-1级节点,显示第j个i-1级节点的mi个i级节点。
[0131]
在一个可选的实施例中,显示模块903还用于响应于针对mi个i级节点的第i合并操作,通过替换mi个i级节点,显示mi个i级节点的第j个i-1级节点。
[0132]
综上所述,上述装置通过多次聚类,逐级确定有向无环图的父节点和子节点,进而显示完整的有向无环图。上述装置通过聚类生成有向无环图,在业务数据的数量较多的情况下,大大提高了有向无环图的生成效率,且针对不同的业务数据均可通过聚类生成有向无环图,通过聚类生成有向无环图具有普遍性。
[0133]
请参考图10,其示出了本技术一个示例性实施例提供的计算机设备1000的结构框图。该计算机设备1000可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器。计算机设备1000还可能被称为用户设备、便携式终端等其他名称。
[0134]
通常,计算机设备1000包括有:处理器1001和存储器1002。
[0135]
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的统计数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的统计数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0136]
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本技术中提供的有向无环图的生成方法。
[0137]
在一些实施例中,计算机设备1000还可选包括有:外围设备接口1003和至少一个外围设备。具体地,外围设备包括:射频电路1004、触摸显示屏1005、摄像头1006、音频电路
1007、定位组件1008和电源1009中的至少一种。
[0138]
外围设备接口1003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0139]
射频电路1004用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0140]
触摸显示屏1005用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1005还具有采集在触摸显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。触摸显示屏1005用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1005可以为一个,设置计算机设备1000的前面板;在另一些实施例中,触摸显示屏1005可以为至少两个,分别设置在计算机设备1000的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1005可以是柔性显示屏,设置在计算机设备1000的弯曲表面上或折叠面上。甚至,触摸显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1005可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0141]
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0142]
音频电路1007用于提供用户和计算机设备1000之间的音频接口。音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类
听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
[0143]
定位组件1008用于定位计算机设备1000的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1008可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0144]
电源1009用于为计算机设备1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0145]
在一些实施例中,计算机设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
[0146]
加速度传感器1011以检测以计算机设备1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011可以用于游戏或者用户的运动统计数据的采集。
[0147]
陀螺仪传感器1012可以检测计算机设备1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011同采集用户对计算机设备1000的3d动作。处理器1001根据陀螺仪传感器1012采集的统计数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0148]
压力传感器1013可以设置在计算机设备1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在计算机设备1000的侧边框时,可以检测用户对计算机设备1000的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,可以根据用户对触摸显示屏1005的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0149]
指纹传感器1014用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置计算机设备1000的正面、背面或侧面。当计算机设备1000上设置有物理按键或厂商logo时,指纹传感器1014可以与物理按键或厂商logo集成在一起。
[0150]
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
[0151]
接近传感器1016,也称距离传感器,通常设置在计算机设备1000的正面。接近传感器1016用于采集用户与计算机设备1000的正面之间的距离。在一个实施例中,当接近传感
器1016检测到用户与计算机设备1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与计算机设备1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
[0152]
本领域技术人员可以理解,图10中示出的结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0153]
本技术还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的有向无环图的生成方法。
[0154]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0155]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0156]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种有向无环图的生成方法,其特征在于,所述方法包括:获取n个业务数据,所述n个业务数据是所述有向无环图的初始节点存储的数据;所述业务数据在目标属性维度上具有属性取值;在所述目标属性维度上基于所述属性取值,对所述n个业务数据进行第1次聚类,得到m1个聚类结果;将所述m1个聚类结果设置为所述有向无环图的m1个一级节点,设置所述初始节点是所述m1个一级节点的父节点;在所述目标属性维度上基于所述属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果;将所述m
i
个聚类结果设置为所述有向无环图的m
i
个i级节点;设置与所述第j个聚类结果对应的第j个i-1级节点是所述m
i
个i级节点的父节点;显示所述有向无环图;其中,n为正整数,i为大于1的整数,j为正整数,m为大于1的整数。2.根据权利要求1所述的方法,其特征在于,所述在所述目标属性维度上基于所述属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果,包括:在所述目标属性维度上基于所述属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果;其中,所述m
i-1
个聚类结果是采用第i-1聚类粒度进行聚类得到的,且,第一业务数据范围大于第二业务数据范围,所述第一业务数据范围是所述m
i-1
个聚类结果中的第j个聚类结果的业务数据范围,所述第二业务数据范围是所述m
i
个聚类结果中的任意一个聚类结果的业务数据范围。3.根据权利要求2所述的方法,其特征在于,所述在所述目标属性维度上基于所述属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果,包括:在所述目标属性维度上基于所述属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果;在所述第i次聚类满足聚类结束条件的情况下,完成所述聚类;在所述第i次聚类不满足所述聚类结束条件的情况下,将i+1更新为i,再次执行步骤:所述在所述目标属性维度上基于所述属性取值采用第i聚类粒度,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果。4.根据权利要求3所述的方法,其特征在于,所述聚类结束条件包括:所述聚类的次数达到聚类次数阈值;和/或,所述m
i
个聚类结果达到预设的聚类结果。5.根据权利要求1至4任一所述的方法,其特征在于,所述显示所述有向无环图,包括:显示所述有向无环图的初始节点;响应于针对所述初始节点的第1展开操作,显示所述初始节点的m1个一级节点;响应于针对所述第j个i-1级节点的第i展开操作,通过替换所述第j个i-1级节点,显示所述第j个i-1级节点的m
i
个i级节点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:响应于针对所述m
i
个i级节点的第i合并操作,通过替换所述m
i
个i级节点,显示所述m
i
个i级节点的第j个i-1级节点。7.一种有向无环图的生成装置,其特征在于,所述装置包括:获取模块,用于获取n个业务数据,所述n个业务数据是所述有向无环图的初始节点存储的数据;所述业务数据在目标属性维度上具有属性取值;聚类模块,用于在所述目标属性维度上基于所述属性取值,对所述n个业务数据进行第1次聚类,得到m1个聚类结果;将所述m1个聚类结果设置为所述有向无环图的m1个一级节点,设置所述初始节点是所述m1个一级节点的父节点;聚类模块,还用于在所述目标属性维度上基于所述属性取值,针对m
i-1
个聚类结果中的第j个聚类结果进行第i次聚类,得到与所述第j个聚类结果对应的m
i
个聚类结果;将所述m
i
个聚类结果设置为所述有向无环图的m
i
个i级节点;设置与所述第j个聚类结果对应的第j个i-1级节点是所述m
i
个i级节点的父节点;显示模块,用于显示所述有向无环图;其中,n为正整数,i为大于1的整数,j为正整数,m为大于1的整数。8.根据权利要求7所述的装置,其特征在于,所述显示模块,还用于显示所述有向无环图的初始节点;所述显示模块,还用于响应于针对所述初始节点的第1展开操作,显示所述初始节点的m1个一级节点;所述显示模块,还用于响应于针对所述第j个i-1级节点的第i展开操作,通过替换所述第j个i-1级节点,显示所述第j个i-1级节点的所述m
i
个i级节点。9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至6所述的任一项所述的有向无环图的生成方法。10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至6任一项所述的有向无环图的生成方法。

技术总结
本申请公开了一种有向无环图的生成方法、装置、设备及介质,属于有向无环图领域。所述方法包括:获取n个业务数据;在目标属性维度上基于属性取值,对n个业务数据进行第1次聚类,得到m1个聚类结果;将m1个聚类结果设置为有向无环图的m1个一级节点,设置初始节点是m1个一级节点的父节点;在目标属性维度上基于属性取值,针对m


技术研发人员:陈冠辉 谢皓
受保护的技术使用者:上海远景科创智能科技有限公司
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-1754.html

最新回复(0)