CN112632196A - 一种数据可视化方法、装置及存储介质 - Google Patents
一种数据可视化方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112632196A CN112632196A CN202110012664.XA CN202110012664A CN112632196A CN 112632196 A CN112632196 A CN 112632196A CN 202110012664 A CN202110012664 A CN 202110012664A CN 112632196 A CN112632196 A CN 112632196A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- graph
- betweenness
- layout
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013079 data visualisation Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000003993 interaction Effects 0.000 claims abstract description 22
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 238000006073 displacement reaction Methods 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000000007 visual effect Effects 0.000 claims description 16
- 239000003086 colorant Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005484 gravity Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000010276 construction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012800 visualization Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000011068 loading method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005483 Hooke's law Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005433 particle physics related processes and functions Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
- G06F16/287—Visualization; Browsing
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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/24—Querying
- G06F16/248—Presentation of query results
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种数据可视化方法、装置及存储介质,可以应用于大数据处理技术领域。包括:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示,使金融数据有更高效率的可视化呈现。
Description
技术领域
本说明书实施例涉及大数据处理技术领域,特别涉及一种数据可视化方法、装置及存储介质。
背景技术
网络是一种描述对象(实体)及其相互联系(关系)的数据结构。可以等价表述为由节点(实体)和边(关系)构成的图形G=(V,E),其中V表示网络中的节点,E为网络中的边。网络可视化是信息可视化的一个重要分支。
在网络可视化领域,力导向算法是使用和研究最为广泛的网络布局技术。力导向布局算法最早由Eades(Ezdes P.Aheuristitc for graph drawing[J].CongressusNumerantium,1984,42:149-160)提出,其基本思想是将网络看成一个点为钢环、边为弹簧的物理系统,系统被赋予某个初始状态以后,钢环会在弹簧弹力作用下移动,直到系统总能量减少至最小值时停止运动。Kamada和Kawai(KamadaT,Kawai S.An algorithm fordrawing general undirected graphs[J].Information Processing Letters,1989,31(1):7-15)改进了Eades的弹簧模型,在模型中引入的胡克定律的偏微分方程,并且定义了两点间的理想距离(正比于图上两点间的最短路径),认为在系统的最终稳定状态下,节点间的距离都将接近于它们的理想距离。该算法取得了更好的收敛性和布局效果。Fruchterman和Reingold(Fruchterman TM J,Reingold E M.Graph drawingbyforcedirectedplacement[J].Software-Practice andExperirnce,1991,21(11):1129-1164)基于再次改进的弹性模型提出了FR算法,该算法建立在粒子物理理论的基础上,将无向图中的节点模拟成原子,通过模拟原子间的力场来计算节点间的相互作用力,依照类似原子或行星的运动规律,使系统最终达到动态平衡,进而得到节点的布局结果。
然而,这些算法在实际应用于金融领域的大数据的可视化中时,却在很多方面受到了挑战。首先,由于力导向算法的时间复杂度高以及容易陷入局部最小值等缺点,在处理大规模的点边集合时,绘制效率和呈现效果明显下降;其次,金融网络大数据不像天体系统或是其他的网络拓扑结构那样,是一个实体与关系相对均匀分布的体系,金融网络往往节点度分布容易集中在极少数节点。很典型的例如大型金融机构或关键的金融中介,这类的实体会频繁与外界发生资金往来,而普通公司或客户则不是这样。传统的力导向算法在处理此类特征的网络时效果并不理想;最后,以上的力导向模型中只考虑了网络的拓扑结构,而与数据的实际含义无关,这些信息的缺失使图像在特定场景下的可解读性较差。
发明内容
本说明书实施例的目的是提供一种数据可视化方法、装置及存储介质,以解决传统力导向算法节点易簇集的问题,使金融数据能有更高效率的可视化呈现。
为解决上述问题,本说明书实施例提供一种数据可视化方法,所述方法包括:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
为解决上述问题,本说明书实施例还提供一种数据可视化装置,所述装置包括:转换模块,用于对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;计算模块,用于根据各个边的权重计算各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;生成模块,用于基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;确定模块,用于将各个节点抽象为物理模型,基于各个节点在初始布局坐标下的相互作用力确定各个节点在受力平衡时的位置坐标;绘制模块,用于根据各个节点在受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
为解决上述问题,本说明书实施例还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
为解决上述问题,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。本说明书实施例提供的方法,将数据层面的信息加入到物理模型的构建中,从而优化布局算法,使交叉性金融数据能有更高效率的可视化呈现。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种数据可视化系统的结构示意图;
图2为本说明书实施例数据可视化系统中数据处理单元的结构图;
图3为本说明书实施例数据可视化系统中图分析单元的结构图;
图4为本说明书实施例数据可视化系统中布局构建单元的结构图;
图5为本说明书实施例数据可视化系统中绘图优化单元的结构图;
图6为本说明书实施例一种数据可视化方法的流程图;
图7为本说明书实施例一种电子设备的功能结构示意图;
图8为本说明书实施例一种数据可视化装置的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
交叉性金融分析,是指对金融市场上的不同金融机构或一般公司之间经由不同的金融工具(包括理财、债券、基金、同业、票据等)所产生的金融活动进行穿透性的多层次、多维度的分析,从而发现风险、发掘产品和客户等。交叉性金融数据由于其关联广泛、资金传递链条长,给金融分析增加了极大的难度。传统的关系型数据库只能看到局部的或某一两类业务的一度投资关系,无法从多个业务角度、跨越多层链路去探查风险可能的辐射范围。这就需要引入图数据库及网络可视化,达到简化分析难度,挖掘风险信息的目的。
传统的力导向模型是将网络的拓扑结构嵌入到弹簧引力-电子斥力的物理系统中,模拟合力下实体在该物理系统内不断位移达到静态平衡的过程来进行绘图和最终布局呈现。在交叉性金融数据的可视化中,这种模型的效果并不理想。首先,在复杂的金融网络大规模的数据呈现中,算法耗时过高;其次,因为图的节点度分布不平均,布局时容易出现簇集,影响可视化质量;最后,因为该模型只考虑了网络拓扑结构而没有考虑数据的其他信息,图像的可解读性较差。
针对以上金融信息可视化中的实际问题,考虑到如果通过对图谱进行信息挖掘,将数据层面的信息加入到物理模型的构建中,从而优化布局算法,则有望解决解决传统力导向算法节点易簇集的问题,使金融数据能有更高效率的、质量更高的、解读性更强的可视化呈现。
请参阅图1,本说明书提供了一种数据可视化系统。所述数据可视化系统可以包括数据处理单元1、图分析单元2、布局构建单元3和绘图优化单元4。
在一些实施例中,所述数据处理单元1可以连接两种类型的数据存储平台,是两种类型的数据存储平台中数据库数据结构转换的桥梁。所述两种类型的数据存储平台可以为HIVE和图数据库。其中,HIVE是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。HIVE数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。图数据库,也可称为面向/基于图的数据库,对应的英文是GraphDatabase。图数据库的基本含义是以“图”这种数据结构存储和查询数据,而不是存储图片的数据库。它的数据模型主要是以节点和关系(边)来体现,也可处理键值对。图数据库中的图数据具有如下特征:包含节点和边;节点上有属性(键值对);边有名字和方向,并总是有一个开始节点和一个结束节点;边也可以有属性。
所述数据处理单元1可以将HIVE中存储的原始关系型数据库表加工处理为符合图意义和规范的点边格式文件,并定义边权重,然后传递给图数据库进行存储。
图2为数据处理单元1的结构图。所述数据处理单元1可以包括:实体-关系抽取单元101、属性筛选单元102、边权重计算单元103、点边文件生成单元104。这些单元之间依次串行执行,负责完成关系型数据库表向图数据结构的转换。
所述实体-关系抽取单元101,用于从关系型数据库表中抽取出实体与关系,并将实体与关系映射为图数据库中的节点与边。在交叉性金融数据中,一种抽取方式为将机构、公司等抽取为客户类实体;将股票、债券、基金、票据、理财等抽取为产品类实体;将涉及实际资金流动的关系定义为投资(融资)关系,然后定义隶属、担保等多种客户与客户间、客户与产品间的非资金流关系。实体-关系定义完成后,将其映射为图中的节点与边,并在图的SCHEMA中定义。这样,图的框架就搭建完成了。
所述属性筛选单元102,用于筛选节点和边的属性。由于与图有关的属性往往是关系型数据库表中属性的子集,特指对图数据进行分析时所需要的属性,所以需要对源数据的属性进行筛选,有选择性的加入图数据库中。具体的,可以从关系型数据库表的多个属性中筛选出目标属性作为节点和边的属性。举例来说,针对交易场景,关系型数据库表的多个属性可以为交易时间、交易金额、交易对象等,可以筛选出交易金额为目标属性作为节点和边的属性;针对转账场景,关系型数据库表的多个属性可以为转账时间、转账金额、转账对象等,可以筛选出转账金额为目标属性作为节点和边的属性。
所述边权重计算单元103,用于根据筛选的属性计算各个边的权重。具体的,可以根据以下方式计算各个边的权重:
其中,λ为常数,WEij表示节点i到节点j的边的权重,AMTij表示节点i和节点j之间的属性值,所述属性值例如可以为交易金额。
所述点边文件生成单元104,可以基于所述实体-关系抽取单元101搭建的图的框架和所述边权重计算单元103计算的计算生成图配置文件和点边文件,并基于图配置文件和点边文件生成图数据,将图数据存储至图数据库中。其中,所述图配置文件描述节点和边的连接关系,所述点边文件描述节点个数、边个数和边的权重。
在一些实施例中,所述图分析单元2与图数据库和所述布局构建单元3相连,用于对图数据进行分析。在图加载完成后,基于图论,并行运行一系列的节点重要性排序、中心性度量算法,其计算结果为后续布局构建模块所需要。
图3为所述图分析单元2的结构图。所述图分析单元2可以包括:图数据加载单元201,节点权重计算单元202,节点带权中心性计算单元203。
所述图数据加载单元201,用于从图数据库中加载图数据。
所述节点权重计算单元202,用于在图数据加载完成后,计算各个节点在图数据的所有节点中的权重。具体的,可以根据以下方式计算各个节点的权重:
其中,j∈Π(i)为节点i的邻接点,WVi表示节点i的权重,D(i)表示节点i的入度,AMTij表示节点i和节点j之间的属性值,λ为常数。
所述节点带权中心性计算单元203,用于根据各个边的权重计算各个节点的介数;所述介数表征节点在所述图数据中的关键程度。具体的,所述节点的介数可以被定义为网络中所有最短路径中经过该节点的路径数目占最短路径总数的比例,它反映了节点在整个网络中的作用和影响力。所述根据各个边的权重计算各个节点的介数包括:
在一些实施例中,所述布局构建单元3,用于构建图数据的布局呈现。所述布局构建单元3可以根据数据处理单元1和图分析单元2的数据,基于改进的力导向算法,生成节点与边的布局坐标,然后将其交给绘图优化单元4。具体的,通过所述布局构建单元3构建的图数据布局,可以在布局初始化阶段,采用利用带权网络的介数指标生成初始化布局的方法取代传统的随机布局;在布局构建阶段,将节点权重加入FR斥力模型中,优化布局呈现。
图4为所述布局构建单元3的结构图。所述布局构建单元3可以包括:初始化布局计算单元301、引力计算单元302、斥力计算单元303、合力计算单元304、位移计算单元305、系统平衡判断单元306和绘图单元307。
其中,所述初始化布局计算单元301可以基于各个节点的介数大小确定各个节点的布局等级;不同布局等级对应有不同的布局系数;根据各个节点的布局等级对应的布局系数计算得到各个节点在画布中的初始布局坐标。
具体的,可以基于介数的值将各个节点切分为三个等级。
如果Cc(i)>α×MaxCC,则:
CLASS(i)=1,r(i)=β (4)
如果β×MaxCC<Cc(i)<α×MaxCC,则:
CLASS(i)=2,r(i)=β+λ1 (5)
如果Cc(i)<β×MaxCC,则:
CLASS(i)=3,r(i)=α+λ2 (6)
其中,CLASS(i)表示节点i的布局等级,r(i)表示节点i的布局系数,MaxCC表示所有节点的介数最大值,α,β为0-1之间的常数,λ1,λ2为常数,用于控制节点等级分类和布局。
其中,所述根据各个节点的布局等级对应的布局系数计算得到各个节点在画布中的初始布局坐标包括:
根据以下公式计算各个节点距离画布中心半径:
R(i)=r(i)×random(0,1)×min(width,height) (7)
基于各个节点距离画布中心半径计算各个节点在画布中的初始布局坐标:
其中,R(i)表示节点i距离画布中心半径,width表示画布的宽,height表示画布的高,x(i)表示节点i初始横坐标,y(i)表示节点i初始纵坐标。
在一些实施例中,可以基于力导向模型,将所有的节点看做是电子或原子,每个节点受到两个力的作用:1.其他节点的库伦力(斥力);2.边对点的胡克力(引力)。那么在力的相互作用之下,整个布局最终会称为一个平衡的状态。具体的,所述力导向模型(ForceDirectedModel,FDM)是一种网络图形节点自动布局研究中的算法,其基本思想为:将图形假象为一个物理系统,每个节点都受到其他节点的引力和斥力,所有节点在相互作用力下运动,当系统达到力平衡而静止时,即获得最佳布局。
所述引力计算单元302,用于得到各个节点在画布中的初始布局坐标后,计算各个节点受到的引力。具体的,在经典的FR算法中,给定有向加权图G=(V,E),节点集合为V,有向边集合为E,节点u,v∈V,若节点u,v之间存在边euv,则存在引力为:
计算伪代码如下
for e in E do begin
v.dispa:=0
Δ:=e.v.pos-e.u.pos
end
其中,v.dispa为节点v受到的引力总和,e.v.pos为边e的顶点v的坐标,e.u.pos为边e的顶点u的坐标,Δ为向量,e.v.dispα为边e的顶点v受到的来自另一顶点u的引力,e.u.dispα同理。
所述斥力计算单元303,用于得到各个节点在画布中的初始布局坐标后,计算各个节点受到的斥力。传统的力导向模型斥力定义为:
但传统的斥力计算方法有其局限性,在处理交叉性金融数据构建的网络时,算法对节点一视同仁,由于网络节点度分布极不均匀,容易出现数个簇聚集到一起,视图混乱。本步骤提供一种新的计算斥力的方法,在计算时考虑节点的权重排名,使图上相对重要的点布局相对分散。重新定义斥力为:
其中,节点u和节点v之间存在边,Fr(u,v)表示节点u和节点v之间的斥力,WVu表示节点u的权重,WVv表示节点v的权重,dist(u,v)表示二维坐标距离,kr表示斥力计算常数。
计算伪代码如下:
其中,v.dispγ为节点v受到的斥力,v.pos为节点v的坐标,u.pos为节点u的坐标,Δ为向量。
所述合力计算单元304,用于根据所述各个节点受到的引力和各个节点受到的斥力确定各个节点的合力。
具体的,可以对节点收到的引力和收到的斥力进行矢量相加,计算得到各个节点的合力。计算伪代码如下:
for v in V do begin
v.disp:=v.dispa+v.dispr
end
其中,v.disp为点v受到的合力。
所述位移计算单元305,用于根据各个节点的合力计算节点趋于平衡时各个节点的位移量。
具体的,计算伪代码如下:
for v in V do begin
v.pos:=v.pos+(v.disp/|v.disp|)×min(v.disp,t)
v.pos.x:=min(width/2,max(-width/2,v.pos.x))
v.pos.y:=min(heigth/2,max(-heigth/2,v.pos.y))
end
其中,v.pos为节点v的坐标,v.disp为节点v受到的合力,v.pos.x为节点v的x坐标,v.pos.y为节点v的y坐标。
所述系统平衡判断单元306,用于判断各个节点是否达到受力平衡状态。具体的,可以通过模拟退火算法计算系统能量,在系统完成一次迭代后,计算t:=cool(t),判断t是否达到迭代终止下界,即一次最小位移量,如果达到下界,则停止迭代过程,根据各个节点的位移量确定各个节点在受力平衡时的位置坐标;否则继续执行下一轮迭代,返回到流程的初始化布局计算单元301结束后的位点继续执行迭代。其中,t可以为0,即节点趋于平衡时的位移量为零,则可以确定各个节点达到受力平衡状态。理想情况下引力和斥力会在某个位置使节点受力平衡,但实际应用中,由于节点移动布局是一个动态过程,所以应当将其理解为动态平衡。考虑到提高计算的效率,t也可以接近0的某个值,例如可以为0.01、0.05、0.08等,在节点趋于平衡时的位移量小于接近零的某个值的情况下,可以确定各个节点达到受力平衡状态。
所述绘图单元307,用于根据所述系统平衡判断单元306输出的各个节点在受力平衡时的位置坐标,在画布中绘制图形,以便于对原始关系型数据库表进行可视化展示。
在一些实施例中,所述绘图优化单元4,用于对所述布局构建单元3绘制的图形进行优化,定义图形的可视化参数如节点半径、节点颜色、边透明度等,并绘制图形,将网络可视化结果最终呈现给用户。
图5为所述绘图优化单元4的结构图。所述绘图优化单元4可以包括:节点颜色设置单元401、节点大小设置单元402和边透明度设置单元403。
其中,所述节点颜色设置单元401,可以用于基于节点的类型设置节点的颜色;不同类型的节点设置的颜色不同。具体的,所述节点颜色设置单元401可以采用节点类型与色彩空间的映射方法设置节点颜色。交叉性金融数据涉及的产品、客户范围广泛,因而节点类型繁多。为了能让节点在绘图时能有协调、美观的色彩搭配,同时又能有很好的色彩区分度,需要对颜色进行一系列的设置。例如,对于交叉性金融数据,可以划分节点类型集合为4个大类,分别为:一般公司、金融机构、底层产品、组合产品。这四个大类对应HSV(Hue,Saturation,Value)颜色空间中颜色分量Hue的四个扇形区域:(30,90)、(100,160)、(170,230)、(240,300)。然后,将大类下的n种节点类型哈希线性再散列到对应的颜色区域下,取得相应的颜色分量编码,从而实现节点颜色的设置。
所述节点大小设置单元402,用于基于节点的权重设置节点的半径。具体的,除了颜色外,节点的大小也能直观的表现节点的重要性。所述节点大小设置单元402可以采用对节点权重值取对数,然后套一个线性函数的方法来设置节点的半径。
所述边透明度设置单元403,用于基于边的权重设置边的透明度。具体的,在节点度分布较为密集的子图中,如果将所有的边设置为同一透明度,图形展示会较为混乱。本单元在绘图时动态计算所展示数据的平均出入度,如果超过一定阈值,就根据边的权重以一定比例下调透明度。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以通过对关系型数据进行分析转换和对图结构数据进行挖掘,得到不同维度的节点特征值,将这些信息加入到网络布局的初始化、力导向建模计算、绘图等阶段,从而优化时间效率和布局效果,增强直观性和可解读性,使基于力导向模型的算法更适合交叉性金融数据的展现,从而使交叉性金融数据能有更高效率的可视化呈现。
请参阅图6。本说明实施例还提供一种数据可视化方法。在本说明书实施例中,执行所述数据可视化方法的主体可以是具有逻辑运算功能的电子设备,所述电子设备可以是服务器。所述服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信单元、处理器和存储器等。当然,所述服务器并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。所述方法可以包括以下步骤。
S610:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系。
在一些实施例中,服务器可以连接两种类型的数据存储平台。所述两种类型的数据存储平台可以为HIVE和图数据库。其中,HIVE是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。HIVE数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。图数据库,也可称为面向/基于图的数据库,对应的英文是Graph Database。图数据库的基本含义是以“图”这种数据结构存储和查询数据,而不是存储图片的数据库。它的数据模型主要是以节点和关系(边)来体现,也可处理键值对。图数据库中的图数据具有如下特征:包含节点和边;节点上有属性(键值对);边有名字和方向,并总是有一个开始节点和一个结束节点;边也可以有属性。
在一些实施例中,可以将HIVE中存储的原始关系型数据库表加工处理,转换为符合图意义和规范的点边格式文件,并定义边权重,然后传递给图数据库进行存储。
在一些实施例中,所述对获取的关系型数据库表进行转换处理,得到图数据可以包括以下步骤。
S611:从所述关系型数据库表中抽取出多个实体和所述多个实体的关系。
具体的,服务器可以从关系型数据库表中抽取出实体与关系在交叉性金融数据中,一种抽取方式为将机构、公司等抽取为客户类实体;将股票、债券、基金、票据、理财等抽取为产品类实体;将涉及实际资金流动的关系定义为投资(融资)关系,然后定义隶属、担保等多种客户与客户间、客户与产品间的非资金流关系。
S612:将所述多个实体和所述多个实体的关系映射为图数据的多个节点和连接所述多个节点的边,生成图配置文件;所述图配置文件描述节点和边的连接关系。
具体的,服务器可以将抽取的所述多个实体和所述多个实体的关系映射为图数据库中的节点与边,并生成描述节点和边的连接关系的图配置文件。
S613:从所述关系型数据库表的多个属性中筛选出目标属性作为节点和边的属性。
由于与图有关的属性往往是关系型数据库表中属性的子集,特指对图数据进行分析时所需要的属性,所以需要对源数据的属性进行筛选,有选择性的加入图数据库中。具体的,可以从关系型数据库表的多个属性中筛选出目标属性作为节点和边的属性。举例来说,针对交易场景,关系型数据库表的多个属性可以为交易时间、交易金额、交易对象等,可以筛选出交易金额为目标属性作为节点和边的属性;针对转账场景,关系型数据库表的多个属性可以为转账时间、转账金额、转账对象等,可以筛选出转账金额为目标属性作为节点和边的属性。
S614:根据所述属性计算各个边的权重,生成点边文件;所述点边文件描述节点个数、边个数和边的权重。
在一些实施例中,可以根据公式(1)计算各个边的权重,并生成点边文件。通过公式(1)的方式计算各个边的权重,考虑到了节点之间的属性值,提高了边的权重计算的准确性。
S615:根据所述图配置文件和所述点边文件生成图数据。
具体的,可以根据点边文件得到节点个数、边个数和边的权重,根据图配置文件得到节点和边的连接关系,从而生成对应的图数据。进一步的,还可以将所述生成的图数据存储至图数据库中。
通过上述对获取的关系型数据库表进行转换处理的方式,可以将关系型数据库表转换为对应的图数据,为交叉性金融数据的分析提供了前提条件。
S620:根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例。
在一些实施例中,所述介数可以表征节点在所述图数据中的关键程度。所述节点的介数可以被定义为网络中所有最短路径中经过该节点的路径数目占最短路径总数的比例,它反映了节点在整个网络中的作用和影响力。服务器可以从得到的图数据中获得各个边的权重,并根据公式(3)计算得到各个节点的介数。在公式(3)中,运用到最短路径算法Dijkstra算法计算最短路径数,能够提高介数计算的准确性和效率。
S630:基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标。
在一些实施例中,可以基于各个节点的介数大小确定各个节点的布局等级;不同布局等级对应有不同的布局系数;根据各个节点的布局等级对应的布局系数计算得到各个节点的初始布局坐标。通过表征节点在所述图数据中的关键程度的介数来生成各个节点的初始布局坐标,使得各个节点的初始布局层次分明,便于阅读。
在一些实施例中,可以将可以基于介数的值将各个节点切分为三个等级。
如果Cc(i)>α×MaxCC,则根据公式(4)确定布局等级和布局等级对应的布局系数。
如果β×MaxCC<Cc(i)<α×MaxCC,则根据公式(5)确定布局等级和布局等级对应的布局系数。
如果Cc(i)<β×MaxCC,则根据公式(6)确定布局等级和布局等级对应的布局系数。
其中,MaxCC表示所有节点的介数最大值,α,β为0-1之间的常数。
在一些实施例中,所述根据各个节点的布局等级对应的布局系数计算得到各个节点在画布中的初始布局坐标包括:根据公式(7)计算各个节点距离画布中心半径,根据公式(8)和公式(9)计算各个节点的初始布局坐标。通过采用利用带权网络的介数指标生成初始化布局的方法取代传统的随机布局,能够优化布局的呈现,提高后续生成的图形的可读性。
S640:基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标。
在一些实施例中,可以基于力导向模型,将所有的节点看做是电子或原子,每个节点受到两个力的作用:1.其他节点的库伦力(斥力);2.边对点的胡克力(引力)。那么在力的相互作用之下,整个布局最终会称为一个平衡的状态。具体的,所述力导向模型(ForceDirectedModel,FDM)是一种网络图形节点自动布局研究中的算法,其基本思想为:将图形假象为一个物理系统,每个节点都受到其他节点的引力和斥力,所有节点在相互作用力下运动,当系统达到力平衡而静止时,即获得最佳布局。
在一些实施例中,所述基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标可以包括以下步骤。
S641:基于FR算法,计算各个节点在初始布局坐标下受到的引力。
在一些实施例中,FR算法(Fruchterman-Reingold)是一种网络图布局算法,在经典的FR算法中,给定有向加权图G=(V,E),节点集合为V,有向边集合为E,节点u,v∈V,若节点u,v之间存在边euv,则存在引力可以根据公式(10)计算得到。基于FR算法,可以准确计算出节点所受到的引力。
S642:根据各个节点的权重计算各个节点在初始布局坐标下受到的斥力。
在一些实施例中,可以根据公式(2)计算各个节点的权重,在公式(2)中,不仅考虑到了节点间的属性值,还考虑到节点的入度,使得节点的权重的计算更加准确。
在一些实施例中,可以根据公式(12)计算得到各个节点受到的斥力。由于FR算法计算斥力有其局限性,在处理交叉性金融数据构建的网络时,算法对节点一视同仁,由于网络节点度分布极不均匀,容易出现数个簇聚集到一起,视图混乱。通过公式(12)计算得到各个节点受到的斥力,在计算时考虑节点的权重排名,可以使图上相对重要的点布局相对分散。
S643:根据各个节点的受到的引力和斥力计算节点趋于受力平衡时各个节点的位移量。
具体的,可以对节点收到的引力和收到的斥力进行矢量相加,计算得到各个节点的合力,再根据各个节点的合力计算节点趋于平衡时各个节点的位移量。
其中,各个节点的合力计算伪代码如下:
for v in V do begin
v.disp:=v.dispa+v.dispr
end
其中,各个节点的位移量计算伪代码如下:
for v in V do begin
v.pos:=v.pos+(v.disp/|v.disp|)×min(v.disp,t)
v.pos.x:=min(width/2,max(-width/2,v.pos.x))
v.pos.y:=min(heigth/2,max(-heigth/2,v.pos.y))
end
S644:在各个节点的位移量小于预设值的情况下,确定各个节点之间的相对影响力处于平衡状态,根据各个节点的位移量确定各个节点在受力平衡时的位置坐标。
在一些实施例中,在各个节点的位移量不小于预设值的情况下,循环执行以下步骤直至所述位移量小于预设值:计算位移量不小于预设值的节点在位移后受到的引力和斥力;基于在位移后受到的引力和斥力计算位移量不小于预设值的节点在位移后受到合力;根据在位移后受到合力计算节点趋于平衡时位移量不小于预设值的节点的位移量。
具体的,可以通过模拟退火算法计算系统能量来判断各个节点是否达到受力平衡状态。在系统完成一次迭代后,计算t:=cool(t),判断t是否达到迭代终止下界,即一次最小位移量,如果达到下界,则停止迭代过程,根据各个节点的位移量确定各个节点在受力平衡时的位置坐标;否则继续执行下一轮迭代,返回到流程的计算节点受到的斥力和节点受到的引力继续执行迭代。其中,t可以为0,即节点趋于平衡时的位移量为零,则可以确定各个节点达到受力平衡状态。理想情况下引力和斥力会在某个位置使节点受力平衡,但实际应用中,由于节点移动布局是一个动态过程,所以应当将其理解为动态平衡。考虑到提高计算的效率,t也可以接近0的某个值,例如可以为0.01、0.05、0.08等,在节点趋于平衡时的位移量小于接近零的某个值的情况下,可以确定各个节点达到受力平衡状态。通过迭代的方式确定各个节点在受力平衡时的位置坐标,使得该位置坐标的计算更为准确。
S650:根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
具体的,可以基于各个节点在受力平衡时的位置坐标,将各个节点和连接各个节点的边绘制在画布中,以便于对所述关系型数据库表进行可视化展示。
在一些实施例中,所述方法还可以包括根据以下方式中的至少一种对绘制的图形进行优化:基于节点的类型设置节点的颜色;不同类型的节点设置的颜色不同;基于节点的权重设置节点的半径;基于边的权重设置边的透明度。
在一些实施例中,可以采用节点类型与色彩空间的映射方法设置节点颜色。交叉性金融数据涉及的产品、客户范围广泛,因而节点类型繁多。为了能让节点在绘图时能有协调、美观的色彩搭配,同时又能有很好的色彩区分度,需要对颜色进行一系列的设置。例如,对于交叉性金融数据,可以划分节点类型集合为4个大类,分别为:一般公司、金融机构、底层产品、组合产品。这四个大类对应HSV(Hue,Saturation,Value)颜色空间中颜色分量Hue的四个扇形区域:(30,90)、(100,160)、(170,230)、(240,300)。然后,将大类下的n种节点类型哈希线性再散列到对应的颜色区域下,取得相应的颜色分量编码,从而实现节点颜色的设置。
在一些实施例中,除了颜色外,节点的大小也能直观的表现节点的重要性。基于节点的权重设置节点的半径的方式。例如可以为采用对节点权重值取对数,然后套一个线性函数的方法来设置节点的半径。
在一些实施例中,在节点度分布较为密集的子图中,如果将所有的边设置为同一透明度,图像展示会较为混乱,为使图形的展示更为清晰,有层次,可以在绘图时动态计算所展示数据的平均出入度,如果超过一定阈值,就根据边的权重以一定比例下调透明度。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。本说明书实施例提供的方法,将数据层面的信息加入到物理模型的构建中,从而优化布局算法,使金融数据能有更高效率的、质量更高的、解读性更强的可视化呈现。
图7为本说明书实施例一种电子设备的功能结构示意图,所述电子设备可以包括存储器和处理器。
在一些实施例中,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现数据可视化方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用户终端的使用所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(APPlication Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器可以执行所述计算机指令实现以下步骤:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
在本说明书实施例中,该电子设备具体实现的功能和效果,可以与其它实施例对照解释,在此不再赘述。
图8为本说明书实施例一种故障原因确定装置的功能结构示意图,该装置具体可以包括以下的结构模块。
转换模块810,用于对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;
确定模块820,用于根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;
生成模块830,用于基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;
计算模块840,用于基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;
绘制模块850,用于根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
本说明书实施例还提供了一种数据可视化方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
在本说明书实施例中,上述存储介质包括但不限于随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(HardDisk Drive,HDD)或者存储卡(Memory Card)。所述存储器可用于存储所述计算机程序和/或模块,所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据用户终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器。在本说明书实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
需要说明的是,本说明书实施例提供的数据可视化方法、装置及存储介质,可以应用于大数据处理技术领域。当然,也可以应用于金融领域,或者除金融领域之外的任意领域,本说明书实施例对所述数据可视化方法、装置及存储介质的应用领域不做限定。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽取数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种数据可视化方法,其特征在于,所述方法包括:
对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;
根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;
基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;
基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;
根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
2.根据权利要求1所述的方法,其特征在于,所述对获取的关系型数据库表进行转换处理,得到图数据包括:
从所述关系型数据库表中抽取出多个实体和所述多个实体的关系;
将所述多个实体和所述多个实体的关系映射为图数据的多个节点和连接所述多个节点的边,生成图配置文件;所述图配置文件描述节点和边的连接关系;
从所述关系型数据库表的多个属性中筛选出目标属性作为节点和边的属性;
根据所述属性计算各个边的权重,生成点边文件;所述点边文件描述节点个数、边个数和边的权重;
根据所述图配置文件和所述点边文件生成图数据。
5.根据权利要求1所述的方法,其特征在于,所述基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标包括:
基于各个节点的介数大小确定各个节点的布局等级;不同布局等级对应有不同的布局系数;
根据各个节点的布局等级对应的布局系数计算得到各个节点的初始布局坐标。
7.根据权利要求1所述的方法,其特征在于,所述基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标包括:
基于FR算法,计算各个节点在初始布局坐标下受到的引力;
根据各个节点的权重计算各个节点在初始布局坐标下受到的斥力;
根据各个节点的受到的引力和斥力计算节点趋于受力平衡时各个节点的位移量;
在各个节点的位移量小于预设值的情况下,确定各个节点之间的相对影响力处于平衡状态,根据各个节点的位移量确定各个节点在受力平衡时的位置坐标。
9.根据权利要求7所述的方法,其特征在于,在各个节点的位移量不小于预设值的情况下,循环执行以下步骤直至所述位移量小于预设值:
计算位移量不小于预设值的节点在位移后受到的引力和斥力;
根据位移后受到的引力和斥力计算节点趋于受力平衡时,位移量不小于预设值的节点的位移量。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括根据以下方式中的至少一种对绘制的图形进行优化:
基于节点的类型设置节点的颜色;不同类型的节点设置的颜色不同;
基于节点的权重设置节点的半径;
基于边的权重设置边的透明度。
13.一种数据可视化装置,其特征在于,所述装置包括:
转换模块,用于对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;
确定模块,用于根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;
生成模块,用于基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;
计算模块,用于基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;
绘制模块,用于根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现:对获取的关系型数据库表进行转换处理,得到图数据;其中,所述图数据包括多个节点和连接所述多个节点的边;所述节点表示所述关系型数据库表中的实体,所述边表示实体之间的关系;根据各个边的权重确定各个节点的介数;节点的介数为所述图数据中最短路径中经过该节点的路径的数目占最短路径总数的比例;基于各个节点的介数大小,选择相应的生成规则生成各个节点的初始布局坐标;基于力导向模型计算位于初始布局坐标的各个节点在力的相互作用下处于受力平衡时的位置坐标;根据各个节点处于受力平衡时的位置坐标绘制图形,以便于对所述关系型数据库表进行可视化展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110012664.XA CN112632196B (zh) | 2021-01-06 | 2021-01-06 | 一种数据可视化方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110012664.XA CN112632196B (zh) | 2021-01-06 | 2021-01-06 | 一种数据可视化方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632196A true CN112632196A (zh) | 2021-04-09 |
CN112632196B CN112632196B (zh) | 2024-05-28 |
Family
ID=75290787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110012664.XA Active CN112632196B (zh) | 2021-01-06 | 2021-01-06 | 一种数据可视化方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632196B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721894A (zh) * | 2021-09-14 | 2021-11-30 | 福韵数据服务有限公司 | 一种基于力导向算法模型的关联关系图绘制方法 |
CN114036700A (zh) * | 2021-10-27 | 2022-02-11 | 中南大学 | 一种网络资产图的布局方法 |
CN116109414A (zh) * | 2023-02-14 | 2023-05-12 | 中国科学院软件研究所 | 一种基于力作用的资金交易桑基图可视化布局方法 |
CN116579288A (zh) * | 2023-07-12 | 2023-08-11 | 中山大学 | 一种模拟集成电路版图布局方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009146382A (ja) * | 2007-11-19 | 2009-07-02 | Nippon Telegr & Teleph Corp <Ntt> | グラフ可視化座標計算装置、方法、プログラム並びにそのプログラムを記録した記録媒体 |
WO2011143154A2 (en) * | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Automated social networking graph mining and visualization |
US20110289207A1 (en) * | 2010-03-30 | 2011-11-24 | International Business Machines Corporation | Method and apparatus for processing network visualization |
WO2013112628A1 (en) * | 2012-01-24 | 2013-08-01 | Ayasdi, Inc. | Systems and methods for graph rendering |
CN105912562A (zh) * | 2016-03-21 | 2016-08-31 | 华南理工大学 | 基于层次化模型的数据可视化方法及其系统 |
CN106685716A (zh) * | 2016-12-29 | 2017-05-17 | 平安科技(深圳)有限公司 | 网络拓扑自适应的数据可视化方法及装置 |
CN111585825A (zh) * | 2020-05-22 | 2020-08-25 | 中国人民解放军国防科技大学 | 分簇Ad hoc网络的网络拓扑动态布局的方法及装置 |
-
2021
- 2021-01-06 CN CN202110012664.XA patent/CN112632196B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009146382A (ja) * | 2007-11-19 | 2009-07-02 | Nippon Telegr & Teleph Corp <Ntt> | グラフ可視化座標計算装置、方法、プログラム並びにそのプログラムを記録した記録媒体 |
US20110289207A1 (en) * | 2010-03-30 | 2011-11-24 | International Business Machines Corporation | Method and apparatus for processing network visualization |
WO2011143154A2 (en) * | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Automated social networking graph mining and visualization |
WO2013112628A1 (en) * | 2012-01-24 | 2013-08-01 | Ayasdi, Inc. | Systems and methods for graph rendering |
CN105912562A (zh) * | 2016-03-21 | 2016-08-31 | 华南理工大学 | 基于层次化模型的数据可视化方法及其系统 |
CN106685716A (zh) * | 2016-12-29 | 2017-05-17 | 平安科技(深圳)有限公司 | 网络拓扑自适应的数据可视化方法及装置 |
US20190273660A1 (en) * | 2016-12-29 | 2019-09-05 | Ping An Technology (Shenzhen) Co., Ltd. | Network topology self-adapting data visualization method, device, apparatus, and storage medium |
CN111585825A (zh) * | 2020-05-22 | 2020-08-25 | 中国人民解放军国防科技大学 | 分簇Ad hoc网络的网络拓扑动态布局的方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘风剑 等: "基于改进力导向模型和局部密度的聚类算法", 信息技术, 31 October 2019 (2019-10-31) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721894A (zh) * | 2021-09-14 | 2021-11-30 | 福韵数据服务有限公司 | 一种基于力导向算法模型的关联关系图绘制方法 |
CN114036700A (zh) * | 2021-10-27 | 2022-02-11 | 中南大学 | 一种网络资产图的布局方法 |
CN116109414A (zh) * | 2023-02-14 | 2023-05-12 | 中国科学院软件研究所 | 一种基于力作用的资金交易桑基图可视化布局方法 |
CN116109414B (zh) * | 2023-02-14 | 2023-10-24 | 中国科学院软件研究所 | 一种基于力作用的资金交易桑基图可视化布局方法 |
CN116579288A (zh) * | 2023-07-12 | 2023-08-11 | 中山大学 | 一种模拟集成电路版图布局方法及系统 |
CN116579288B (zh) * | 2023-07-12 | 2024-03-22 | 中山大学 | 一种模拟集成电路版图布局方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112632196B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632196B (zh) | 一种数据可视化方法、装置及存储介质 | |
US11281596B2 (en) | Mapping attributes of keyed entities | |
US11036695B1 (en) | Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources | |
US11847113B2 (en) | Method and system for supporting inductive reasoning queries over multi-modal data from relational databases | |
US7774191B2 (en) | Virtual supercomputer | |
US8269777B2 (en) | Method and system for system visualization | |
CN112699249B (zh) | 基于知识图谱的信息处理方法、装置、设备及存储介质 | |
CN111427971B (zh) | 用于计算机系统的业务建模方法、装置、系统和介质 | |
CN109739844A (zh) | 基于衰减权重的数据分类方法 | |
CN112912872A (zh) | 用于多维数据库环境中的依赖性分析的系统和方法 | |
CN108428200A (zh) | 一种基于案例推理的电商领域专利侵权判定系统及判定方法 | |
CN110427991A (zh) | 一种字符串匹配方法及装置 | |
CN111563187A (zh) | 关系确定方法、装置、系统和电子设备 | |
CN113806560A (zh) | 一种电力数据知识图生成方法及系统 | |
CN114566233A (zh) | 分子筛选的方法、装置、电子设备及存储介质 | |
US20130096967A1 (en) | Optimizer | |
Gavval et al. | CUDA-Self-Organizing feature map based visual sentiment analysis of bank customer complaints for Analytical CRM | |
CN113837307A (zh) | 数据相似度计算方法、装置、可读介质及电子设备 | |
CN117291722A (zh) | 对象管理方法、相关设备及计算机可读介质 | |
Mandivarapu et al. | Efficient document image classification using region-based graph neural network | |
Wang et al. | Clustering by differencing potential of data field | |
Zhou et al. | A strip dilated convolutional network for semantic segmentation | |
CN112446777A (zh) | 一种信用评估方法、装置、设备及存储介质 | |
CN109902720A (zh) | 基于子空间分解进行深度特征估计的图像分类识别方法 | |
CN114187096A (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 |