CN113703645A - 图数据处理方法、装置、设备及存储介质 - Google Patents
图数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113703645A CN113703645A CN202110338604.7A CN202110338604A CN113703645A CN 113703645 A CN113703645 A CN 113703645A CN 202110338604 A CN202110338604 A CN 202110338604A CN 113703645 A CN113703645 A CN 113703645A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- aggregation
- group
- target
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000002776 aggregation Effects 0.000 claims abstract description 263
- 238000004220 aggregation Methods 0.000 claims abstract description 263
- 238000004458 analytical method Methods 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims description 54
- 230000002159 abnormal effect Effects 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 14
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000005484 gravity Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 abstract description 30
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000012800 visualization Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013079 data visualisation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种图数据处理方法、装置、电子设备及计算机可读存储介质;方法包括:在图分析界面中显示图数据的多个节点以及多个节点之间的边,多个节点分别对应一个组别,组别的数量小于多个节点的数量;响应于针对图分析界面中目标节点的聚合操作,确定目标节点所属组别包括的节点,其中,目标节点为多个节点中的至少一个节点,并将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。通过本申请,能够节约可视分析的资源并提高可视化分析性能。
Description
技术领域
本申请涉及计算机数据处理技术,尤其涉及一种图数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
图是一种强大的分析工具,它在帮助人类交流、理解世界、解决科学问题上有着悠久的历史。可视化分析也是数据可视化的三大主要研究领域之一,图可视分析通过展示实体、关系,帮助用户获取数据的洞悉能力。如今图可视分析已广泛应用在知识图谱、社交网络、金融风控、网络安全等领域。
申请人在具体实现过程中发现:相关技术对于图数据的处理比较简单粗暴,通常是直接在图分析界面中显示图数据的所有节点,大量的节点显示对资源(包括硬件资源和计算资源)造成了不必要的消耗,增加可视分析的复杂度。
发明内容
本申请实施例提供一种图数据处理方法、装置、电子设备及计算机可读存储介质,能够节约可视分析的资源并提高可视化分析性能。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种图数据处理方法,包括:
在图分析界面中显示图数据的多个节点以及所述多个节点之间的边,所述多个节点分别对应一个组别,所述组别的数量小于所述多个节点的数量;
响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,其中,所述目标节点为所述多个节点中的至少一个节点,并
将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
上述技术方案中,所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之后,所述方法还包括:
对所述多个节点中的未聚合节点、以及所述聚合节点应用不同的显示样式;
其中,所述显示样式包括以下至少之一:颜色、尺寸、效果。
本申请实施例提供一种图数据处理装置,包括:
第一显示模块,用于在图分析界面中显示图数据的多个节点以及所述多个节点之间的边,所述多个节点分别对应一个组别,所述组别的数量小于所述多个节点的数量;处理模块,用于响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,其中,所述目标节点为所述多个节点中的至少一个节点,并将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
上述技术方案中,所述第一显示模块还用于在所述图分析界面中显示图数据的多个候选节点;
响应于针对所述候选节点的选择操作,将被选择的所述候选节点作为所述图数据待显示的节点。
上述技术方案中,所述分组模块还用于响应于针对所述图数据的多个节点的分组操作,根据所述分组操作将所述多个节点划分至不同组别。
上述技术方案中,所述装置还包括:
分组模块,用于对所述图数据的多个节点进行分组,得到每个所述节点的组别。
上述技术方案中,所述分组操作包括触发操作以及选择操作;所述分组模块还用于响应于针对任一所述节点的所述触发操作,显示任一所述节点对应的多个候选组别;
响应于针对所述多个候选组别的所述选择操作,将被选择的所述候选组别作为任一所述节点的组别。
上述技术方案中,所述分组模块还用于显示针对所述图数据的多个节点的分组触发入口;
响应于针对所述分组触发入口的所述触发操作,对所述图数据的多个节点进行分组,得到每个所述节点的组别。
上述技术方案中,所述分组模块还用于针对任一所述节点执行以下处理:
基于所述节点的权重,确定所述节点指向任一组别的实际权重以及期望权重;
将所述实际权重与所述期望权重之间的差值作为所述节点与所述任一组别之间的模块度增益;
将最大的模块度增益所对应的组别作为任一所述节点的组别。
上述技术方案中,所述分组模块还用于将所述节点与所述任一组别之间的边的权重作为所述节点指向所述任一组别的实际权重;
确定所述节点的所有边的权重的第一加和;
确定其他节点与所述任一组别之间的边的权重的第二加和,所述其他节点为除所述节点之外的任意节点;
确定所有所述节点的权重的第三加和;
确定所述第一加和与所述第二加和的乘积与所述第三加和的比值,并作为所述节点指向所述任一组别的期望权重。
上述技术方案中,所述聚合操作包括选择操作和触发操作;所述处理模块还用于响应于针对所述多个节点中的至少部分节点的所述选择操作,将被选中的至少部分节点作为目标节点,并确定所述目标节点所属组别包括的节点;
响应于针对所述目标节点的所述触发操作,将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
上述技术方案中,所述装置还包括:
展开模块,用于响应于针对至少一个所述聚合节点的展开操作,将显示的所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
上述技术方案中,所述展开操作包括触发操作和选择操作;所述展开模块还用于响应于针对至少一个所述聚合节点的所述选择操作,显示针对被选择的至少一个所述聚合节点的展开入口;
响应于针对所述展开入口的所述触发操作,将被选择地至少一个所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
上述技术方案中,所述装置还包括:
第二显示模块,用于确定所述目标节点所属组别包括的节点的第一数量;
在所述聚合节点中显示所述第一数量。
上述技术方案中,所述第二显示模块还用于响应于针对所述目标节点所属组别中节点的触发操作,获取被触发的节点的第二数量;
在所述聚合节点中共同显示所述第一数量以及所述第二数量。
上述技术方案中,所述装置还包括:
第三显示模块,用于响应于针对所述节点的异常属性的设置操作,获取所述异常属性对应的异常阈值;
针对所述目标节点所属组别中任一节点执行以下处理:当所述节点的异常属性对应的值大于所述异常阈值时,将所述节点作为异常节点;
确定所述异常节点的第三数量,在所述聚合节点中显示所述第三数量。
上述技术方案中,所述处理模块还用于对所述多个节点中的未聚合节点、以及所述聚合节点应用不同的显示样式;
其中,所述显示样式包括以下至少之一:颜色、尺寸、效果。
上述技术方案中,所述处理模块还用于对所述图分析界面进行全部刷新,在刷新后的所述图分析界面中显示所述多个节点中的未聚合节点、所述聚合节点、所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;
其中,所述聚合节点是对所述目标节点所属组别包括的节点以及对应的边进行合并得到的。
上述技术方案中,所述处理模块还用于确定所述聚合操作对应的节点列表,并确定所述聚合操作对应的边列表;
其中,所述节点列表包括所述多个节点中的未聚合节点以及所述聚合节点,所述边列表包括所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;
基于所述聚合操作对应的节点列表以及所述边列表,重新渲染所述图分析界面。
上述技术方案中,所述处理模块还用于基于所述目标节点所属组别包括的节点,确定所述多个节点中的未聚合节点;
将所述目标节点所属组别包括的节点的重心作为所述聚合节点;
将所述多个节点中的未聚合节点以及所述聚合节点写入初始的节点列表,得到所述聚合操作对应的节点列表;
基于所述多个节点之间的边,确定所述多个节点中未聚合节点之间的边;
控制所述聚合节点继承所述目标节点所属组别包括的节点的边,得到所述未聚合节点和所述聚合节点之间的边;
将所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边写入初始的边列表,得到所述聚合操作对应的边列表。
本申请实施例提供一种用于图数据处理的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的图数据处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的图数据处理方法。
本申请实施例提供一种计算机程序,用于被处理器执行时,实现本申请实施例提供的图数据处理方法。
本申请实施例具有以下有益效果:
通过将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点,能够在图分析界面中显示聚合节点,从而能够节约可视分析的资源并提高可视化分析性能,并基于聚合后图分析界面中显示的少量的节点快速定位更有分析价值的图数据,同时图形处理硬件的相关计算的资源消耗得以显著节约。
附图说明
图1是本申请实施例提供的图分析系统的架构示意图;
图2是本申请实施例提供的用于图数据处理的电子设备的结构示意图;
图3A-图3B是本申请实施例提供的图数据处理方法的流程示意图;
图4A是本申请实施例提供的包括候选组别的可视化图像;
图4B是本申请实施例提供的包括分组触发入口的可视化图像;
图5A是本申请实施例提供的节点聚合前的可视化图像;
图5B是本申请实施例提供的节点聚合后的可视化图像;
图6是本申请实施例提供的聚合前的可视化图像;
图7是本申请实施例提供的聚合数据设置界面;
图8是本申请实施例提供的节点聚合后的可视化图像;
图9A-9D是本申请实施例提供的收起节点的示意图;
图9E-9G是本申请实施例提供的展开聚合节点的示意图;
图10A-10D是本申请实施例提供的收起全部节点的示意图;
图10E-10G是本申请实施例提供的展开全部聚合节点的示意图;
图11是本申请实施例提供的聚合节点的示意图;
图12是本申请实施例提供的聚合节点的示意图;
图13是本申请实施例提供的节点聚合的架构图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)云技术(Cloud Technology):在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云安全(CloudSecurity)是云技术的一个重要应用,指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称,在本申请实施例中,可以在云端进行告警处理,从而为业务提供云安全服务。
2)模块度:又称模块化度量值,用于衡量网络社区结构强度的指标。模块度值的大小主要取决于网络中节点的社区分配C,即网络的社区划分情况,可以用来定量的衡量网络社区划分质量,其值越接近1,表示网络划分出的社区结构的强度越强,也就是划分质量越好,因此可以通过最大化模块度Q来获得最优的网络社区划分。其中,模块度增益表示节点归属到某社区(或组别)的模块度变化量。
本申请实施例提供了一种图数据处理方法、装置、电子设备及计算机可读存储介质,能够降低可视分析的复杂度。
下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端。下面,将说明电子设备实施为终端时示例性应用,也可以实施为服务器。
参见图1,图1是本申请实施例提供的图分析系统100的架构示意图,终端200通过网络300连接服务器100,其中,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,以电子设备是终端为例,本申请实施例提供的图数据处理方法可以由终端实现。例如,终端200运行客户端210(如图分析客户端),用户对图分析界面中的目标节点进行聚合操作,客户端210响应于图分析界面中目标节点的聚合操作,确定目标节点所属组别包括的所有节点,并将显示的目标节点所属组别包括的所有节点以及对应的边合并为一个聚合节点,从而通过聚合操作简化客户端210的图分析界面中节点的复杂度,以便用户能在大量的图数据中快速定位有分析意义的数据,提升图分析系统的性能。
在一些实施例中,以电子设备是服务器为例,本申请实施例提供的图数据处理方法也可以由服务器和终端协同实现。例如,用户对客户端210中图分析界面的目标节点进行聚合操作,客户端210自动生成针对目标节点的聚合请求,客户端210将针对目标节点的聚合请求发送至服务器100,服务器100接收到针对目标节点的聚合请求后,确定目标节点所属组别包括的所有节点,并将显示的所述目标节点所属组别包括的所有节点以及对应的边合并为一个聚合节点,服务器100将聚合节点发送至客户端210,以在客户端210的界面中呈现。
在一些实施例中,终端200或服务器100可以通过运行计算机程序来实现本申请实施例提供的图数据处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
在一些实施例中,服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云服务可以是告警处理服务,供终端200进行调用。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,多个服务器可组成为一区块链,而服务器100为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。其中,本申请实施例提供的图数据处理方法所相关的数据(例如图数据处理的逻辑、聚合后所呈现的图像)可保存于区块链上。
下面说明本申请实施例提供的用于图数据处理的电子设备的结构,参见图2,图2是本申请实施例提供的用于图数据处理的电子设备500的结构示意图,以电子设备500是终端为例说明,图2所示的用于图数据处理的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的图数据处理装置可以采用软件方式实现,本申请实施例提供的图数据处理装置可以提供为各种软件实施例,包括应用程序、软件、软件模块、脚本或代码在内的各种形式。
图2示出了存储在存储器550中的图数据处理装置555,其可以是程序和插件等形式的软件,并包括一系列的模块,包括第一显示模块5551、分组模块5552、处理模块5553、展开模块5554、第二显示模块5555以及第三显示模块5556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
如前所述,本申请实施例提供的图数据处理方法可以由各种类型的电子设备实施。参见图3A,图3A是本申请实施例提供的图数据处理方法的流程示意图,结合图3A示出的步骤进行说明。
在下面步骤中,节点为待分析的图数据,例如,在知识图谱领域中,节点为待分析的文章信息;在社交网络中,节点为待分析的用户信息(例如用户画像信息);在金融风控领域中,节点为待分析的商品信息(例如股票信息);在网络安全领域中,节点为待分析的故障信息等。
在下面步骤中,在图分析界面中显示图数据的多个节点以及多个节点之间的边之前,在图分析界面中显示图数据的多个候选节点;响应于针对候选节点的选择操作,将被选择的候选节点作为图数据待显示的节点。
例如,在图分析界面中显示多个候选节点,用户通过选择操作在多个候选节点中选择多个节点以进行后续的显示图数据的多个节点,即从大量的候选节点中选择需要分析的少量节点进行显示,从而减小图数据显示的复杂度。
在步骤101中,在图分析界面中显示图数据的多个节点以及多个节点之间的边。
例如,在从多个候选节点中选择多个节点进行显示,以在图分析界面中显示图数据的多个节点以及多个节点之间的边,以便用户针对多个节点进行后续的聚合操作。
在步骤102中,对图数据的多个节点进行分组,得到每个节点的组别。
例如,当获取图数据时,自动执行分组的操作,以获取每个节点的组别。其中,该分组操作可以是由终端实现的,也可以是由服务器实现,服务器将分组结果发送至终端,由终端基于每个节点的组别进行后续聚合操作。
在一些实施例中,对图数据的多个节点进行分组,得到每个节点的组别,包括:响应于针对图数据的多个节点的分组操作,根据分组操作将多个节点划分至不同组别。
例如,在获取图数据的多个节点后,用户可以通过手动分组,得到每个节点的组别。在得到每个节点的组别之后,在图分析界面中通过不同的显示样式区别显示不同组别的节点,其中,显示样式包括以下至少之一:颜色、尺寸、效果,例如,如图9A所示,节点1采用阴影显示,节点2中的采用白色显示,节点1与节点2属于不同的组别。
在一些实施例中,分组操作包括触发操作以及选择操作;响应于针对图数据的多个节点的分组操作,根据分组操作将多个节点划分至不同组别,包括:响应于针对任一节点的触发操作,显示任一节点对应的多个候选组别;响应于针对多个候选组别的选择操作,将被选择的候选组别作为任一节点的组别。
例如,该分组操作用于通过手动操作控制节点的分组过程,如图4A所示,通过用户对任一节点401的触发操作(例如长按、点击等操作),在节点401的周围显示包括多个候选组别的候选菜单,以供用户选择,用户选择任一候选组别作为节点401的组别。
在一些实施例中,对图数据的多个节点进行分组,得到每个节点的组别,包括:显示针对图数据的多个节点的分组触发入口;响应于针对分组触发入口的触发操作,对图数据的多个节点进行分组,得到每个节点的组别。
其中,分组触发入口可以有多个层级,例如,分组触发入口总是显示在图分析界面的工具栏中;如图4B所示,分组触发入口也可以默认隐藏,点击右键可以呼出包括入口的菜单402。
在一些实施例中,对图数据的多个节点进行分组,得到每个节点的组别,包括:针对任一节点执行以下处理:基于节点的权重,确定节点指向任一组别的实际权重以及期望权重;将实际权重与期望权重之间的差值作为节点与任一组别之间的模块度增益;将最大的模块度增益所对应的组别作为任一节点的组别。
例如,通过社区发现算法对多个节点进行分组,即获取节点与任一组别之间的模块度增益,将最大的模块度增益所对应的组别作为该节点的组别。其中,实际权重表示节点指向任一组别的权重,即将节点与任一组别之间的边的权重作为节点指向任一组别的实际权重。期望权重表示平均意义下的节点指向任一组别的权重,期望权重的计算过程如下:确定其他节点与任一组别之间的边的权重的第二加和,其他节点为除节点之外的任意节点;确定所有节点的权重的第三加和;确定第一加和与第二加和的乘积与第三加和的比值,并作为节点指向任一组别的期望权重。
在步骤103中,响应于针对图分析界面中目标节点的聚合操作,确定目标节点所属组别包括的节点。
其中,目标节点为多个节点中的至少一个节点,响应于针对图分析界面中目标节点的聚合操作,确定目标节点所属组别包括的所有节点。
在步骤104中,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
例如,在图分析界面显示的目标节点所属组别包括的所有节点以及对应的边,合并为一个聚合节点,从而减小图分析界面中的节点数量,以简化图分析界面。其中,目标节点所属组别包括的所有节点对应的边,不是指图分析界面中所有节点对应的边,而是目标节点所属组别中的边。
在一些实施例中,聚合操作包括选择操作和触发操作;响应于针对图分析界面中目标节点的聚合操作,确定目标节点所属组别包括的节点,并将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点,包括:响应于针对多个节点中的至少部分节点(至少一个节点)的选择操作,将被选中的至少部分节点作为目标节点,并确定目标节点所属组别包括的节点;响应于针对目标节点的触发操作,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
例如,响应于针对多个节点中的至少部分节点的选择操作(例如点击、长按等操作),将被选中的至少部分节点作为目标节点,并确定目标节点所属组别包括的所有节点,响应于针对目标节点的触发操作(例如针对目标节点对应的收起入口的触发,也可以是其他形态,例如针对目标节点的特定触控手势、特定鼠标轨迹等触发),将显示的目标节点所属组别包括的所有节点以及对应的边合并为一个聚合节点。
其中,收起入口可以是自动显示,还可以是当显示有非聚合节点时,即显示收起入口;收起入口可以是针对图分析界面中所有节点,如图10C所示,针对图分析界面中所有节点的收起入口为菜单“收起全部聚合”1002;当显示多个未聚合节点时,收起入口也可以是针对每个未聚合节点,如图9B所示,针对图分析界面中节点2的收起入口为菜单“收起聚合”901。
例如,聚合操作不仅可以是复合操作,还可以是一个操作,例如特定轨迹的滑动;针对右键菜单中收起入口的触发(用于一次性收起全部节点)。
其中,当至少部分节点是不同组别中的节点时,可以依次呈现不同组别的收起入口,响应于针对组别的收起入口的触发操作,将对应组别的节点聚合为一个聚合节点;当至少部分节点是多个组别中的节点时,可以依次呈现针对该多个组别的收起入口,响应于针对该多个组别的收起入口的触发操作,将该多个组别的节点分别聚合为一个聚合节点。
参见图3B,图3B是本申请实施例提供的图数据处理方法的一个可选的流程示意图,图3B示出图3A还包括步骤105:在步骤105中,响应于针对至少一个聚合节点的展开操作,将显示的聚合节点展开为聚合节点对应的组别包括的节点以及对应的边。
例如,展开操作可以是复合操作,例如触发操作和选择操作,响应于针对所有聚合节点中的至少部分聚合节点的选择操作,确定被选中的至少部分聚合节点,响应于针对被选中的至少部分聚合节点的触发操作,将显示的聚合节点展开为聚合节点对应的组别包括的节点以及对应的边;展开操作还可以特定鼠标轨迹、特定触控手势、针对快捷工具栏的展开入口的触发,从而触发全部聚合节点一次性展开,或逐步展开(即操作一次展开一个或多个)。
在一些实施例中,展开操作包括触发操作和选择操作;响应于针对至少一个聚合节点的展开操作,将显示的聚合节点展开为聚合节点对应的组别包括的节点以及对应的边,包括:响应于针对至少一个聚合节点的选择操作,显示针对被选择的至少一个聚合节点的展开入口;响应于针对展开入口的触发操作,将被选择地至少一个聚合节点展开为聚合节点对应的组别包括的节点以及对应的边。
如图9E所示,选中聚合节点(社区1,某个组别),显示该聚合节点的菜单“展开聚合”903(展开入口),如图9F所示,点击菜单“展开聚合”903,如图9G所示,该聚合节点展开为聚合节点对应的组别包括的节点(包括节点2、节点4、节点5、节点7)以及对应的边(包括节点2指向节点4的边、节点2指向节点5的边、节点2指向节点7的边)。
在一些实施例中,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之后,方法还包括:确定目标节点所属组别包括的节点的第一数量;在聚合节点中显示第一数量。
如图11所示,目标节点所属组别包括的节点的数量为4,目标节点所属组别包括的节点合并为一个聚合节点(“社区1”),在该聚合节点中显示一个小圆1101,显示数量4。
在一些实施例中,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之前,方法还包括:响应于针对目标节点所属组别中节点的触发操作,获取被触发的节点的第二数量;在聚合节点中显示第一数量,包括:在聚合节点中共同显示第一数量以及第二数量。
承接上述示例,触发操作包括点击、双击、滑动等形态,被触发的节点是需要重点分析的节点。如图12所示,确定被触发的节点的第二数量为3,目标节点所属组别包括的节点合并为一个聚合节点(“社区1”),在该聚合节点中显示一个小圆1101,小圆1101中显示的数量3表示被触发的节点数量,小圆1101中显示的数量4表示聚合节点对应的组别包括的节点数量。
承接上述示例,响应于针对节点的异常属性的设置操作(例如输入操作、选择操作、点击操作等),获取异常属性对应的异常阈值,针对目标节点所属组别中任一节点执行以下处理:当节点的异常属性对应的值大于异常阈值时,将节点作为异常节点,确定异常节点的第三数量,在聚合节点中显示第三数量。
在一些实施例中,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之后,方法还包括:对多个节点中的未聚合节点、以及聚合节点应用不同的显示样式;其中,显示样式包括以下至少之一:颜色、尺寸、效果。
例如,未聚合节点显示为白色,聚合节点显示为红色;未聚合节点静态显示,聚合节点动态显示(例如闪动、跳动等);未聚合节点显示的尺寸为1mm*1mm,聚合节点显示的尺寸为5mm*5mm。
在一些实施例中,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点,包括:对图分析界面进行全部刷新,在刷新后的图分析界面中显示多个节点中的未聚合节点、聚合节点、未聚合节点之间的边、以及未聚合节点和聚合节点之间的边;其中,聚合节点是对目标节点所属组别包括的节点以及对应的边进行合并得到的。
例如,将显示的目标节点所属组别包括的节点以及对应的边合并为一个聚合节点可以通过局部刷新实现,即只刷新同组节点的显示区域,还可以通过全部刷新实现,即刷新整个图分析界面。
例如,对图分析界面进行全部刷新的过程如下:确定聚合操作对应的节点列表,并确定聚合操作对应的边列表;其中,节点列表包括多个节点中的未聚合节点以及聚合节点,边列表包括未聚合节点之间的边、以及未聚合节点和聚合节点之间的边;基于聚合操作对应的节点列表以及边列表,重新渲染图分析界面。
例如,聚合操作对应的节点列表的获取过程如下:基于目标节点所属组别包括的节点,确定多个节点中的未聚合节点;将目标节点所属组别包括的节点的重心作为聚合节点;将多个节点中的未聚合节点以及聚合节点写入初始的节点列表,得到聚合操作对应的节点列表。聚合操作对应的边列表的获取过程如下:基于多个节点之间的边,确定多个节点中未聚合节点之间的边;控制聚合节点继承目标节点所属组别包括的节点的边,得到未聚合节点和聚合节点之间的边;将未聚合节点之间的边、以及未聚合节点和聚合节点之间的边写入初始的边列表,得到聚合操作对应的边列表。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
图是一种强大的分析工具,它在帮助人类交流、理解世界、解决科学问题上有着悠久的历史。可视化分析也是数据可视化的三大研究领域之一,图可视分析通过展示实体、关系,帮助用户获取数据的洞悉能力。如今图可视分析已广泛应用在知识图谱、社交网络、金融风控、网络安全等领域。
申请人在实施本申请实施例的过程中发现:相关技术中的图可视化引擎仅提供了图结构数据渲染的能力,未提供大图简化的方案。
为了解决上述问题,本申请实施例提出了一种图数据处理方法。该方法通过社区发现算法将节点进行分组,结合用户实时交互产生的聚合节点展开的数据(即用户实时的收起或展开操作所对应的数据),以及节点的实时外观信息(节点的颜色、大小等),计算出聚合之后的聚合节点数据(节点列表)和聚合边数据(边列表),最后将聚合之后的聚合节点数据和聚合边数据渲染在用户界面(图分析界面)上。
通过将图中的节点进行分组,当用户需要收起图中的某节点时,将该节点所属组别下所有的节点收起为一个节点(聚合节点),形成小图;当用户需要展开图中的聚合节点时,将该聚合节点展开,形成大图,从而多样展示图中的节点,以便进行可视分析。
如图5A所示节点聚合前的可视化图像(大图),对图5B中的节点(例如节点501)进行聚合,以形成如图5B所示的节点聚合后的可视化图像(例如聚合节点502)。对比图5A和图5B,节点聚合大大简化大图的复杂度,使用户能在复杂数据中快速定位更有分析意义的数据,还简化了数据可视化渲染的成本,提升了可视分析系统的性能。
其中,交互是图可视分析中的核心要素,利用交互,用户可以获得与系统互动的能力,从而操作视图、理解数据,完成人与机器之间的信息交流。
下面具体说明本申请实施例提出的图数据处理方法:
其中,生成聚合数据的过程如下:
1)如图6所示的聚合前的可视化图像,在生成聚合数据之前,当鼠标移动到节点1上时,显示了节点1的标识(id)。其中,如表1所示,表格该聚合前的可视化图像的节点源数据,其中id表示节点唯一的标志,attributes表示节点的属性,此时节点没有任何属性,所以为空对象“{}:”
表1
id | attributes |
1 | {} |
2 | {} |
3 | {} |
4 | {} |
5 | {} |
6 | {} |
7 | {} |
8 | {} |
2)如图7所示,使用社区发现算法生成聚合数据设置界面,用户可以自定义边权重的属性(基于属性名称确定边权重的属性,当属性的值为空时,边权重默认为1),以及生成社区后的ID前缀。
3)如图8所示,聚合数据生成后,当鼠标移动到节点上时,除了显示节点的id,还增加显示@Louvin。其中,如表2所示,表2中的节点属性,每个节点都多了一个@Louvain的属性,而@Louvain的值表示节点所属的社区(组别)。
表2
id | attributes |
1 | {“@Louvain”:“community 0”} |
2 | {“@Louvain”:“community 1”} |
3 | {“@Louvain”:“community 0”} |
4 | {“@Louvain”:“community 1”} |
5 | {“@Louvain”:“community 1”} |
6 | {“@Louvain”:“community 0”} |
7 | {“@Louvain”:“community 1”} |
8 | {“@Louvain”:“community 0”} |
如图9A-图9D所示,收起节点,针对单个节点,将其所在聚合(组合、社区)下的所有节点收起,即是隐藏当前节点所在聚合下所有节点,显示当前节点所在的聚合节点。界面上的形态和交互主要有四个状态:1)如图9A所示,节点聚合前样式,所有节点处于展开状态;2)如图9B所示,用户鼠标选择节点2,点击鼠标右键,显示菜单“收起聚合”901;3)如图9C所示,点击右键菜单选“收起聚合”901;4)如图9D所示,显示节点聚合后样式,将节点2、4、5、7聚合为一个节点community1(聚合节点902)。
如图9D-9G所示,展开节点,针对单个聚合节点,将其下的所有节点展开,即是隐藏当前聚合节点,显示其下所有节点。界面上的形态和交互主要有四个状态:1)如图9D所示,聚合节点展开前样式;2)如图9E所示,用户鼠标选择节点community1,点击鼠标右键,显示菜单“展开聚合”903;3)如图9F所示,点击右键菜单选“展开聚合”903;4)如图9G所示,显示聚合节点展开后样式,将节点community1展开为节点2、4、5、7。
如图10A-图10D所示,收起全部节点,将所有已展开的节点收起。界面上的形态和交互主要有四个状态:1)如图10A所示,节点收起前样式,所有节点处于展开状态;2)如图10B所示,用户鼠标在空白处1001,点击鼠标右键,显示菜单“收起全部聚合;”3)如图10C所示,点击右键菜单选项“收起全部聚合”1002;4)如图10D所示,显示全部节点聚合后样式,将节点1、3、6、8聚合为一个节点community0(聚合节点1003),将节点2、4、5、7聚合为一个节点community1(聚合节点1004)。
如图10D-10G所示,展开全部聚合节点,将所有未展开的聚合节点下的所有节点展开。界面上的形态和交互主要有四个状态:1)如图10D所示,节点展开前样式,所有节点处于收起状态;2)如图10E所示,用户鼠标在空白处1005,点击鼠标右键,显示菜单“展开全部聚合;”3)如图10F所示,点击右键菜单选“展开全部聚合”1006;4)如图10G所示,显示全部聚合节点展开后样式,将节点community0展开为节点1、3、6、8,将节点community1展开为节点2、4、5、7。
如图11所示,使用双层边框的圆,带有透明度的圆作为背景,表示聚合节点主体,聚合节点主体带有数字的小圆1101表示该聚合节点下存在节点的数量,聚合节点主体下方文字表示该聚合节点的名称。
如图12所示,当该聚合节点下有部分节点被选中(当用户在节点收起之前,可以选中某些节点,并高亮),部分节点未被选中时,相对于图11,聚合节点主体带有数字的小圆1101有所变化,前一个数字表示该聚合节点下被选中节点的数量,后一个数字表示该聚合节点下存在节点的总数量,例如“2/4”表示community0下有2个节点被选中,community0下总共有4个节点。
如图13所示,本申请实施例提出了一种图数据处理方法,该方法通过社区发现算法将节点进行分组,结合用户实时交互产生的聚合节点展开的数据,以及节点的实时外观信息,计算出聚合之后的聚合节点数据和聚合边数据,最后将聚合之后的聚合节点数据和聚合边数据渲染在用户界面上。该方法包括以下4个步骤:
步骤(1):用户输入原始图数据(data),如下算法1所示。假设原始图数据为JOSN格式数据,图数据包括初始节点列表(nodes)以及初始边列表(edges)。其中,节点的属性有唯一标注id,边的属性包括起点(source)以及终点(target)。如下所示的用户输入原始图数据data,data包含了8个点7条边。
算法1:原始图数据
步骤(2):计算前置数据(包括聚合列表、聚合节点映射以及节点外观信息),用于后续计算聚合数据。
步骤(2.1):计算聚合列表(clusters)。根据原始图数据,使用社区发现(Louvain)算法为每一个节点生成一个社区(或组别)ID,得到聚合列表,其中clusters示例数据如算法2所示,其中,社区发现算法是基于模块度(Modularity)的算法,该算法在效率和效果上都表现比较好,并且能够发现层次性的结构,其优化的目标是最大化整个图结构的模块度。
算法2:聚合列表数据
步骤(2.2):计算聚合节点映射(expandClusterMap)。遍历用户交互产生的聚合节点id列表(expandClusters),如算法3所示,将expandClusters中的聚合节点id作为expandClusterMap的键,值设置为true,如算法4所示。
算法3:聚合节点id列表
const expandClusters=["社区名"]
算法4:聚合节点映射
const expandClusterMap={
"社区名":true,
}
步骤(2.3):计算当前已渲染节点的外观信息(例如位置坐标、颜色、大小)映射(nodeCacheMap),若当前可视化图像已渲染,则从可视化图像中实时获取nodeCacheMap,通过图可视化引擎提供的导出接口,可以得到实时的包含外观信息的图数据;若是第一次渲染,则nodeCacheMap为空映射。nodeCacheMap计算结果如算法5所示,其中,算法5中数据的键为节点的id、值为节点的外观信息、属性x、y为节点坐标、属性size为节点大小、属性color为节点颜色。
算法5:节点的外观信息
步骤(3):计算聚合后的节点列表,计算结果如算法6所示,计算过程如下:
步骤(3.1):计算初始的节点列表(aggregateNodes)。定义一个聚合后的节点列表,遍历聚合列表(clusters)。通过expandClusterMap判断(以聚合id为键,在expandClusterMap中值为true表示当前聚合是展开的,否则当前聚合是收起的),若当前聚合是展开的,则将当前聚合(组合或社区)下的所有节点加入aggregateNodes中;若当前聚合是收起的,则将当前聚合下的聚合节点加入aggregateNodes中。
步骤(3.2):计算聚合节点外观信息,以保证展开或收起后可视化界面的稳定性。遍历聚合节点列表,基于步骤(2.3)已计算的nodeCacheMap进行外观信息的写入操作,若已计算的nodeCacheMap中存在当前节点,则将nodeCacheMap中当前节点的外观信息写入aggregateNodes;若nodeCacheMap中不存在当前节点,且当前节点为普通节点(非聚合节点)时,则将当前节点所在聚合的位置信息写入aggregateNodes(展开操作的情况);若nodeCacheMap中不存在当前节点,且当前节点为聚合节点,则计算当前聚合节点下节点的重心,并作为位置信息写入aggregateNodes(收起操作的情况)。
算法6:聚合后的节点列表(聚合操作对应的节点列表)
步骤(4):计算聚合后的边列表,计算结果如算法7所示。
步骤(4.1):计算初始的聚合边列表aggregateEdges。定义一个聚合后的边列表,遍历聚合列表(clusters)。通过expandClusterMap进行以下处理:
若边的起点处于展开状态(起点为非聚合节点)、边的终点处于展开状态(终点为非聚合节点),则将这条边加入聚合后的边列表;
若边的起点处于展开状态(起点为非聚合节点),边的终点处于聚合状态(终点为聚合节点),则将这条边的终点id设置为当前终点所在的聚合节点id,再加入聚合后的边列表;
若边的起点处于聚合状态(起点为聚合节点),边的终点处于展开状态(终点为非聚合节点),则将这条边的起点id设置为边的起点所在的聚合节点id,再加入聚合后的边列表。
若边的起点所在聚合、边的终点所在聚合都处于聚合状态(起点和终点为非聚合节点),则将这条边的起点id设置为边的起点所在的聚合节点id,将这条边的终点id设置为边的终点所在的聚合节点id,再加入聚合后的边列表。
步骤(4.2):过滤掉聚合自环边。遍历聚合边列表aggregateEdges,若边的起点id和边的终点id是相同的,且边的起点或边的终点是一个聚合节点,则从聚合边列表aggregateEdges中删除该边。
算法7:聚合后的边列表(聚合操作对应的边列表)
步骤(5):渲染可视化图像。通过图可视化渲染引擎将聚合节点列表aggregateNodes,聚合边列表aggregateEdges渲染到界面上。常见的图可视化渲染引擎有G6、Echarts,渲染效果如图9D所示。
综上,在图可视分析场景下,本申请实施例提出的图数据处理方法具有以下有益效果:
(1)简化大图在可视分析中的复杂度,使用户在复杂数据中能快速定位更有分析意义的数据;
(2)简化数据可视化渲染的成本,提升可视分析系统的性能;
(3)在产品上,为用户提供了一种图数据分析手段;
(4)通过从已渲染可视化图形中获取节点实时外观信息,并计算节点展开和收起时初始位置,保证了可视化布局的稳定性,使用户交互时没有突兀的体验。
至此已经结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的图数据处理方法,下面继续说明本申请实施例提供的图数据处理装置555中各个模块配合实现图数据处理的方案。
第一显示模块5551,用于在图分析界面中显示图数据的多个节点以及所述多个节点之间的边;处理模块5553,用于响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,其中,所述目标节点为所述多个节点中的至少一个节点,并将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
在一些实施例中,所述第一显示模块5551还用于在所述图分析界面中显示图数据的多个候选节点;响应于针对所述候选节点的选择操作,将被选择的所述候选节点作为所述图数据待显示的节点。
在一些实施例中,所述装置还包括:分组模块5552,用于对所述图数据的多个节点进行分组,得到每个所述节点的组别。
在一些实施例中,所述分组模块5552还用于响应于针对所述图数据的多个节点的分组操作,根据所述分组操作将所述多个节点划分至不同组别。
在一些实施例中,所述分组操作包括触发操作以及选择操作;所述分组模块5552还用于响应于针对任一所述节点的所述触发操作,显示任一所述节点对应的多个候选组别;响应于针对所述多个候选组别的所述选择操作,将被选择的所述候选组别作为任一所述节点的组别。
在一些实施例中,所述分组模块5552还用于显示针对所述图数据的多个节点的分组触发入口;响应于针对所述分组触发入口的所述触发操作,对所述图数据的多个节点进行分组,得到每个所述节点的组别。
在一些实施例中,所述分组模块5552还用于针对任一所述节点执行以下处理:基于所述节点的权重,确定所述节点指向任一组别的实际权重以及期望权重;将所述实际权重与所述期望权重之间的差值作为所述节点与所述任一组别之间的模块度增益;将最大的模块度增益所对应的组别作为任一所述节点的组别。
在一些实施例中,所述分组模块5552还用于将所述节点与所述任一组别之间的边的权重作为所述节点指向所述任一组别的实际权重;确定所述节点的所有边的权重的第一加和;确定其他节点与所述任一组别之间的边的权重的第二加和,所述其他节点为除所述节点之外的任意节点;确定所有所述节点的权重的第三加和;确定所述第一加和与所述第二加和的乘积与所述第三加和的比值,并作为所述节点指向所述任一组别的期望权重。
在一些实施例中,所述聚合操作包括选择操作和触发操作;所述处理模块5553还用于响应于针对所述多个节点中的至少部分节点的所述选择操作,将被选中的至少部分节点作为目标节点,并确定所述目标节点所属组别包括的节点;响应于针对所述目标节点的所述触发操作,将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
在一些实施例中,所述装置还包括:展开模块5554,用于响应于针对至少一个所述聚合节点的展开操作,将显示的所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
在一些实施例中,所述展开操作包括触发操作和选择操作;所述展开模块5554还用于响应于针对至少一个所述聚合节点的所述选择操作,显示针对被选择的至少一个所述聚合节点的展开入口;响应于针对所述展开入口的所述触发操作,将被选择地至少一个所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
在一些实施例中,所述装置还包括:第二显示模块5555,用于确定所述目标节点所属组别包括的节点的第一数量;在所述聚合节点中显示所述第一数量。
在一些实施例中,所述第二显示模块5555还用于响应于针对所述目标节点所属组别中节点的触发操作,获取被触发的节点的第二数量;在所述聚合节点中共同显示所述第一数量以及所述第二数量。
在一些实施例中,所述装置还包括:第三显示模块5556,用于响应于针对所述节点的异常属性的设置操作,获取所述异常属性对应的异常阈值;针对所述目标节点所属组别中任一节点执行以下处理:当所述节点的异常属性对应的值大于所述异常阈值时,将所述节点作为异常节点;确定所述异常节点的第三数量,在所述聚合节点中显示所述第三数量。
在一些实施例中,所述处理模块5553还用于对所述多个节点中的未聚合节点、以及所述聚合节点应用不同的显示样式;其中,所述显示样式包括以下至少之一:颜色、尺寸、效果。
在一些实施例中,所述处理模块5553还用于对所述图分析界面进行全部刷新,在刷新后的所述图分析界面中显示所述多个节点中的未聚合节点、所述聚合节点、所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;其中,所述聚合节点是对所述目标节点所属组别包括的节点以及对应的边进行合并得到的。
在一些实施例中,所述处理模块5553还用于确定所述聚合操作对应的节点列表,并确定所述聚合操作对应的边列表;其中,所述节点列表包括所述多个节点中的未聚合节点以及所述聚合节点,所述边列表包括所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;基于所述聚合操作对应的节点列表以及所述边列表,重新渲染所述图分析界面。
在一些实施例中,所述处理模块5553还用于基于所述目标节点所属组别包括的节点,确定所述多个节点中的未聚合节点;将所述目标节点所属组别包括的节点的重心作为所述聚合节点;将所述多个节点中的未聚合节点以及所述聚合节点写入初始的节点列表,得到所述聚合操作对应的节点列表;基于所述多个节点之间的边,确定所述多个节点中未聚合节点之间的边;控制所述聚合节点继承所述目标节点所属组别包括的节点的边,得到所述未聚合节点和所述聚合节点之间的边;将所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边写入初始的边列表,得到所述聚合操作对应的边列表。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的图数据处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的图数据处理方法,例如,如图3A-图3B示出的图数据处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (20)
1.一种图数据处理方法,其特征在于,所述方法包括:
在图分析界面中显示图数据的多个节点以及所述多个节点之间的边,所述多个节点分别对应一个组别,所述组别的数量小于所述多个节点的数量;
响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,其中,所述目标节点为所述多个节点中的至少一个节点,并
将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
2.根据权利要求1所述的方法,其特征在于,所述在图分析界面中显示图数据的多个节点以及所述多个节点之间的边之前,所述方法还包括:
在所述图分析界面中显示图数据的多个候选节点;
响应于针对所述候选节点的选择操作,将被选择的所述候选节点作为所述图数据待显示的节点。
3.根据权利要求1所述的方法,其特征在于,所述响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点之前,所述方法还包括:
对所述图数据的多个节点进行分组,得到每个所述节点的组别。
4.根据权利要求3所述的方法,其特征在于,所述对所述图数据的多个节点进行分组,得到每个所述节点的组别,包括:
响应于针对所述图数据的多个节点的分组操作,根据所述分组操作将所述多个节点划分至不同组别。
5.根据权利要求4所述的方法,其特征在于,
所述分组操作包括触发操作以及选择操作;
所述响应于针对所述图数据的多个节点的分组操作,根据所述分组操作将所述多个节点划分至不同组别,包括:
响应于针对任一所述节点的所述触发操作,显示任一所述节点对应的多个候选组别;
响应于针对所述多个候选组别的所述选择操作,将被选择的所述候选组别作为任一所述节点的组别。
6.根据权利要求3所述的方法,其特征在于,所述对所述图数据的多个节点进行分组,得到每个所述节点的组别,包括:
显示针对所述图数据的多个节点的分组触发入口;
响应于针对所述分组触发入口的所述触发操作,对所述图数据的多个节点进行分组,得到每个所述节点的组别。
7.根据权利要求1、4或6所述的方法,其特征在于,所述对所述图数据的多个节点进行分组,得到每个所述节点的组别,包括:
针对任一所述节点执行以下处理:
基于所述节点的权重,确定所述节点指向任一组别的实际权重以及期望权重;
将所述实际权重与所述期望权重之间的差值作为所述节点与所述任一组别之间的模块度增益;
将最大的模块度增益所对应的组别作为任一所述节点的组别。
8.根据权利要求7所述的方法,其特征在于,所述确定所述节点指向任一组别的实际权重以及期望权重,包括:
将所述节点与所述任一组别之间的边的权重作为所述节点指向所述任一组别的实际权重;
确定所述节点的所有边的权重的第一加和;
确定其他节点与所述任一组别之间的边的权重的第二加和,所述其他节点为除所述节点之外的任意节点;
确定所有所述节点的权重的第三加和;
确定所述第一加和与所述第二加和的乘积与所述第三加和的比值,并作为所述节点指向所述任一组别的期望权重。
9.根据权利要求1所述的方法,其特征在于,
所述聚合操作包括选择操作和触发操作;
所述响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,并将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点,包括:
响应于针对所述多个节点中的至少部分节点的所述选择操作,将被选中的至少部分节点作为目标节点,并确定所述目标节点所属组别包括的节点;
响应于针对所述目标节点的所述触发操作,将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
10.根据权利要求1所述的方法,其特征在于,所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之后,所述方法还包括:
响应于针对至少一个所述聚合节点的展开操作,将显示的所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
11.根据权利要求10所述的方法,其特征在于,
所述展开操作包括触发操作和选择操作;
所述响应于针对至少一个所述聚合节点的展开操作,将显示的所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边,包括:
响应于针对至少一个所述聚合节点的所述选择操作,显示针对被选择的至少一个所述聚合节点的展开入口;
响应于针对所述展开入口的所述触发操作,将被选择地至少一个所述聚合节点展开为所述聚合节点对应的组别包括的节点以及对应的边。
12.根据权利要求1所述的方法,其特征在于,所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之后,所述方法还包括:
确定所述目标节点所属组别包括的节点的第一数量;
在所述聚合节点中显示所述第一数量。
13.根据权利要求12所述的方法,其特征在于,
所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之前,所述方法还包括:
响应于针对所述目标节点所属组别中节点的触发操作,获取被触发的节点的第二数量;
所述在所述聚合节点中显示所述第一数量,包括:
在所述聚合节点中共同显示所述第一数量以及所述第二数量。
14.根据权利要求1或12所述的方法,其特征在于,所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点之前,所述方法还包括:
响应于针对所述节点的异常属性的设置操作,获取所述异常属性对应的异常阈值;
针对所述目标节点所属组别中任一节点执行以下处理:当所述节点的异常属性对应的值大于所述异常阈值时,将所述节点作为异常节点;
确定所述异常节点的第三数量,在所述聚合节点中显示所述第三数量。
15.根据权利要求1所述的方法,其特征在于,所述将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点,包括:
对所述图分析界面进行全部刷新,在刷新后的所述图分析界面中显示所述多个节点中的未聚合节点、所述聚合节点、所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;
其中,所述聚合节点是对所述目标节点所属组别包括的节点以及对应的边进行合并得到的。
16.根据权利要求15所述的方法,其特征在于,所述对所述图分析界面进行全部刷新,包括:
确定所述聚合操作对应的节点列表,并确定所述聚合操作对应的边列表;
其中,所述节点列表包括所述多个节点中的未聚合节点以及所述聚合节点,所述边列表包括所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边;
基于所述聚合操作对应的节点列表以及所述边列表,重新渲染所述图分析界面。
17.根据权利要求16所述的方法,其特征在于,
所述确定所述聚合操作对应的节点列表,包括:
基于所述目标节点所属组别包括的节点,确定所述多个节点中的未聚合节点;
将所述目标节点所属组别包括的节点的重心作为所述聚合节点;
将所述多个节点中的未聚合节点以及所述聚合节点写入初始的节点列表,得到所述聚合操作对应的节点列表;
所述确定所述聚合操作对应的边列表,包括:
基于所述多个节点之间的边,确定所述多个节点中未聚合节点之间的边;
控制所述聚合节点继承所述目标节点所属组别包括的节点的边,得到所述未聚合节点和所述聚合节点之间的边;
将所述未聚合节点之间的边、以及所述未聚合节点和所述聚合节点之间的边写入初始的边列表,得到所述聚合操作对应的边列表。
18.一种图数据处理装置,其特征在于,所述装置包括:
第一显示模块,用于在图分析界面中显示图数据的多个节点以及所述多个节点之间的边,所述多个节点分别对应一个组别,所述组别的数量小于所述多个节点的数量;
处理模块,用于响应于针对所述图分析界面中目标节点的聚合操作,确定所述目标节点所属组别包括的节点,其中,所述目标节点为所述多个节点中的至少一个节点,并将显示的所述目标节点所属组别包括的节点以及对应的边合并为一个聚合节点。
19.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至17任一项所述的图数据处理方法。
20.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至17任一项所述的图数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110338604.7A CN113703645B (zh) | 2021-03-30 | 图数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110338604.7A CN113703645B (zh) | 2021-03-30 | 图数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703645A true CN113703645A (zh) | 2021-11-26 |
CN113703645B CN113703645B (zh) | 2024-06-28 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996791A (zh) * | 2022-08-01 | 2022-09-02 | 湖南高至科技有限公司 | 一种基于ear的人机交互仿真模型构建方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030011601A1 (en) * | 2001-06-19 | 2003-01-16 | International Business Machines Corporation | Graphics image creation apparatus, and method and program therefor |
US20110234595A1 (en) * | 2010-03-26 | 2011-09-29 | Bmc Software, Inc. | Graph Expansion Mini-view |
CN102332118A (zh) * | 2010-08-09 | 2012-01-25 | 微软公司 | It客户机管理中的关系可视化和图形交互模型 |
CN102483693A (zh) * | 2009-02-10 | 2012-05-30 | 阿雅斯迪公司 | 用于数据分析的可视化的系统和方法 |
US20130007658A1 (en) * | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | Grouping expanded and collapsed rows in a tree structure |
US8626835B1 (en) * | 2010-10-21 | 2014-01-07 | Google Inc. | Social identity clustering |
US20140354650A1 (en) * | 2013-05-30 | 2014-12-04 | Oracle International Corporation | Attribute-based stacking for diagrams |
CN110462583A (zh) * | 2017-03-20 | 2019-11-15 | 谷歌有限责任公司 | 自动化界面设计 |
CN110737380A (zh) * | 2019-09-05 | 2020-01-31 | 广州视源电子科技股份有限公司 | 思维导图展示方法、装置、存储介质及电子设备 |
CN111935026A (zh) * | 2020-08-07 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、处理设备及介质 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030011601A1 (en) * | 2001-06-19 | 2003-01-16 | International Business Machines Corporation | Graphics image creation apparatus, and method and program therefor |
CN102483693A (zh) * | 2009-02-10 | 2012-05-30 | 阿雅斯迪公司 | 用于数据分析的可视化的系统和方法 |
US20110234595A1 (en) * | 2010-03-26 | 2011-09-29 | Bmc Software, Inc. | Graph Expansion Mini-view |
CN102332118A (zh) * | 2010-08-09 | 2012-01-25 | 微软公司 | It客户机管理中的关系可视化和图形交互模型 |
US8626835B1 (en) * | 2010-10-21 | 2014-01-07 | Google Inc. | Social identity clustering |
US20130007658A1 (en) * | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | Grouping expanded and collapsed rows in a tree structure |
US20140354650A1 (en) * | 2013-05-30 | 2014-12-04 | Oracle International Corporation | Attribute-based stacking for diagrams |
CN110462583A (zh) * | 2017-03-20 | 2019-11-15 | 谷歌有限责任公司 | 自动化界面设计 |
CN110737380A (zh) * | 2019-09-05 | 2020-01-31 | 广州视源电子科技股份有限公司 | 思维导图展示方法、装置、存储介质及电子设备 |
CN111935026A (zh) * | 2020-08-07 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、处理设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996791A (zh) * | 2022-08-01 | 2022-09-02 | 湖南高至科技有限公司 | 一种基于ear的人机交互仿真模型构建方法 |
CN114996791B (zh) * | 2022-08-01 | 2022-11-22 | 湖南高至科技有限公司 | 一种基于ear的人机交互仿真模型构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106100880B (zh) | 一种云数据资源部署及可视化管理方法 | |
CN112019820B (zh) | 界面生成方法和装置 | |
US8849870B2 (en) | Method, apparatus and computer program product for providing context triggered distribution of context models | |
CN111931097A (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN112100450A (zh) | 一种图计算数据分割方法、终端设备及存储介质 | |
CN113515672A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN114417064A (zh) | 数据处理方法、装置、计算机设备、存储介质 | |
CN103530243B (zh) | 用于确定用于设备的设置的系统、方法 | |
CN113703645A (zh) | 图数据处理方法、装置、设备及存储介质 | |
CN115795203B (zh) | 菜单页面的构建方法、装置、电子设备及存储介质 | |
CN113703645B (zh) | 图数据处理方法、装置、设备及存储介质 | |
CN111427887A (zh) | 一种快速扫描HBase分区表的方法、装置、系统 | |
DE102022002707A1 (de) | Maschinell lernende Konzepte zur Schnittstellenmerkmalseinführung über Zeitzonen oder grafische Bereiche hinweg | |
CN107220273B (zh) | 一种动漫人物人脸搜索方法 | |
CN113419806B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN112800242A (zh) | 谱系挖掘方法、装置、电子设备及计算机可读存储介质 | |
CN116263659A (zh) | 数据处理方法、装置、计算机程序产品、设备及存储介质 | |
Chojnacki et al. | Random graph generative model for folksonomy network structure approximation | |
CN115705375A (zh) | 树形组件渲染方法、装置 | |
CN112148287A (zh) | 一种表格动态显示方法、装置以及电子设备 | |
CN110990515A (zh) | 电网图形浏览方法、系统、装置、计算机设备和存储介质 | |
Ma et al. | Block shuffle: a method for high-resolution fast style transfer with limited memory | |
CN108986198A (zh) | 图像映射方法、装置、硬件装置和计算机可读存储介质 | |
WO2023231207A1 (zh) | 一种基于层级压缩技术的图计算方法、装置及相关介质 | |
US11928123B2 (en) | Systems and methods for network explainability |
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 |