CN114003778A - 一种图数据的处理方法及装置 - Google Patents
一种图数据的处理方法及装置 Download PDFInfo
- Publication number
- CN114003778A CN114003778A CN202111307179.1A CN202111307179A CN114003778A CN 114003778 A CN114003778 A CN 114003778A CN 202111307179 A CN202111307179 A CN 202111307179A CN 114003778 A CN114003778 A CN 114003778A
- Authority
- CN
- China
- Prior art keywords
- entity
- layer
- points
- layers
- point
- 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.)
- Pending
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种图数据的处理方法及装置,可用于金融领域或其他技术领域。所述方法包括:获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。所述装置用于执行上述方法。本发明实施例提供的图数据的处理方法及装置,能够将原来具有K层关系的原始图数据处理成了具有M层布局的图数据,在前端对处理后的图数据进行展示时,各实体点按照层进行布局,解决了图数据展示时图形中的实体点杂乱无序的情况。
Description
技术领域
本发明涉及金融领域或其他技术领域,具体涉及一种图数据的处理方法及装置。
背景技术
目前业界流行的图数据可视化技术包括但不限于d3、canvas、vis.js、echarts等。其中d3灵活易上手但较为小众;canvas对前端压力小但是开发门槛高;echarts灵活普适度较高。另外还有一些厂商自己研发的组件,可谓包罗万象。
目前各前端布局框架,默认依据图数据里面点的展示顺序进行渲染显示,然而,这种依据原始图数据里面点的展示顺序进行渲染展示的方法,有时会出现展示的图形中实体点杂乱无序的情况(如图1)。
发明内容
针对现有技术中的问题,本发明实施例提供一种图数据的处理方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种图数据的处理方法,包括:获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
可选的,每层的实体点筛选条件包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。
可选的,所述根据筛选出的每层的实体点,构建具有M层布局的图数据包括:根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
可选的,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
可选的,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
可选的,所述方法还包括:利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
另一方面,本发明提出一种图数据的处理装置,包括:获取模块,用于获取具有K层关系的原始图数据中的实体点以及实体关系;筛选模块,用于按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;构建模块,用于根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
可选的,每层的实体点筛选条件包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。
可选的,所述构建模块具体用于:根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
可选的,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
可选的,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
可选的,所述装置还包括:展示模块,用于利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述图数据的处理方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述图数据的处理方法的步骤。
本发明实施例提供的图数据的处理方法及装置,通过获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。这样,将原来具有K层关系的原始图数据处理成了具有M层布局的图数据,在前端对处理后的图数据进行展示时,各实体点按照层进行布局,解决了现有技术中的图数据展示时图形中的实体点杂乱无序的情况,进而解决用户在看图过程中的困扰。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是现有技术中依据图数据里面点的展示顺序进行展示后呈现的图谱。
图2是根据本发明一实施例提供的图数据的处理方法的流程示意图。
图3是根据本发明一实施例提供的图数据的处理方法的部分流程示意图。
图4是根据本发明一实施例提供的图数据的处理方法的部分流程示意图。
图5是本发明一实施例提供的布局算法总揽示意图。
图6是本发明一实施例提供的点边判断流程示意图。
图7是本发明一实施例提供的单点数据存储流程示意图。
图8是本发明一实施例提供的重新布局后M1层的处理方法流程示意图。
图9是本发明一实施例提供的重新布局后M2层的处理方法流程示意图。
图10是本发明一实施例提供的布局计算流程示意图。
图11是应用本发明一实施例提供的图数据可视化布局算法后呈现出的图谱。
图12是本发明一实施例提供的图数据的处理装置的结构示意图。
图13是本发明另一实施例提供的图数据的处理装置的结构示意图。
图14是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供的图数据的处理方法的执行主体包括但不限于计算机。
图2是本发明一实施例提供的图数据的处理方法的流程示意图,如图2所示,本发明实施例提供的图数据的处理方法,包括:
S101、获取具有K层关系的原始图数据中的实体点以及实体关系;
本步骤,在获取具有K层关系的原始图数据中的实体点(节点)以及实体关系(边)之前,可在后台进行参数设置:提取图数据库中由发起节点向外扩展K层的相关原始数据,可为正整数;举例K=2,即由发起节点向外扩展2层的相关原始数据,其中,所述发起节点为所述原始图数据中的其中一个实体点。
在后台进行参数设置之后,根据后台设置的参数K,在图数据库中获取由发起节点向外扩展K层的原始图数据,并在所述具有K层关系的原始图数据中提取实体点以及实体关系。所述原始图数据可视为知识图谱基于图数据库的存储数据,可通过数据接口在图数据库中调取所述原始图数据,所述原始图数据中包括实体点(节点)和实体关系(边),所述实体点和所述实体关系可以分别带有属性。
具体的,可依据List<Map>接收K层原始图数据中实体点与实体关系的数据信息,其中实体点的信息中可包含标识ID、实体的基本信息,实体关系的信息中可包含来源编号、流向编号、描述。
以银行场景为例,所述原始图数据的建立过程可以如下:通过某个人客户向外1层拓展深度挖掘与其有数据关联的个人和企业信息;再通过这些关联出的个人和企业向外再1层拓展深度挖掘与其有数据关联的个人和企业信息;此示例总扩展层数为2层,也即具有2层关系。
其中深度挖据出的个人客户的属性信息可以包括:客编、私银客户编号、签约日期、姓名、年龄、五环标志、时点资产、客户经理编号、客户经理姓名、财富顾问编号A、财富顾问编号B、客户经理归属、客户归属、客户来源、推荐时间等。
深度挖掘出的企业客户的属性信息包可以括:企业编号、开户日期、名称、企业类型、企业规模、社会信用代码、经营范围、注册地、状态、成立时间、注册资本、注册资本币种、客户经理编号、客户经理姓名、客户经理归属、客户归属、客户来源等。
S102、按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;
本步骤,所述预设层数、预设层数中每层的实体点筛选条件可以是提前在后台设置的,所述预设层数是指对所述原始图数据中的实体点进行重新布局后的层数,举例预设层数为2,即重新布局后为2层扩展。所述预设层数可以与K相等,也可以大于K或者小于K,可根据具体需要设置。
所述预设层数中每层的实体点筛选条件可以包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。举例而言,
以银行场景为例:实体点的类型可包括:行内企业、行外企业、行内私银客户(个人)、行内潜力客户(个人)、行外客户(个人)。
每层实体点的筛选优先级为:
M1=K1行内企业+K2行内企业+K1行外企业+K2行外企业
M2=K1行内私银客户+K2行内私银客户+K1行内潜力客户+K2行内潜力客户+K1行外客户+K2行外客户
其中,M1表示预设层数中的第一层、M2表示预设层数中的第二层、K1表示原始图数据中的第一层、K2表示原始图数据中的第二层。
上述M1层实体点的筛选优先级表示,K1行内企业、K2行内企业、K1行外企业、K2行外企业的筛选优先级依次降低。
上述M2层实体点的筛选优先级表示,K1行内私银客户、K2行内私银客户、K1行内潜力客户、K2行内潜力客户、K1行外客户、K2行外客户的筛选优先级依次降低。
每层的实体点筛选条件中的实体点个数是指重新布局后每层所展现的最大实体点数;举例:
M1实体点个数=12,即重新布局后的第一层最多展现12个实体点,展现优先级按照上一步设定公式的排列顺序所展示,即为K1行内企业—K2行内企业—K1行外企业—K2行外企业,优先取前12个实体点。
M2实体点个数=30,即重新布局后的第二层最多展现30个实体点,展现优先级按照上一步设定公式的排列顺序所展示,即为K1行内私银客户—K2行内私银客户—K1行内潜力客户—K2行内潜力客户—K1行外客户—K2行外客户,优先取前30个实体点。
若K1层实体点总数少于M1层实体点个数的设定值,则以K1层总实体点数为M1层实体点的实际值,K2层同理。若所述具有K层关系的原始图数据中各层实体点总数之和小于M1层实体点个数的设定值,则将筛选出的各实体点布局在同一层即M1层中。
在所述筛选条件中涉及到实体点在原始图数据中所在的层数时,需根据获取的所述实体关系确定每个实体点在原始图数据中所在的层数。
S103、根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
本步骤,在筛选出预设层数每层的实体点之后,按照每层的实体点构建具有M层布局的图数据即可。M可以与所述预设层数相等,也可以小于所述预设层数,举例而言,在K=2,预设层数等于2时,若所述具有K层关系的原始图数据中各层实体点总数之和小于M1层实体点个数的设定值时,则将筛选出的各实体点布局在同一层即M1层中,构建具有一层布局的图数据;其他情况下,则可以按照预设层数中每层的实体点构建具有预设层数的图数据。
本发明实施例提供的图数据的处理方法,通过获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。这样,将原来具有K层关系的原始图数据处理成了具有M层布局的图数据,在前端对处理后的图数据进行展示时,各实体点按照层进行布局,解决了现有技术中的图数据展示时图形中的实体点杂乱无序的情况,进而解决用户在看图过程中的困扰。
如图3所示,可选的,所述根据筛选出的每层的实体点,构建具有M层布局的图数据包括:
S1031、根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;
本步骤,对于任一层筛选出的实体点,可以按照某种规律分布在发起节点的四周,例如以均布的方式布置在发起节点的四周,这时,可以以极坐标的方式表示每个实体点相对于发起节点的位置,其中发起节点位于极坐标系中的原点位置。
S1032、根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
本步骤,在确定预设层数中每个所述实体点在极坐标系中的坐标之后,即可确定每层的各实体点与发起节点之间的位置关系,也即构建了具有M层布局的图数据。
如图4所示,可选的,在上述实施例中,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:
S10311、根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;
本步骤,每层的实体点可以以均布的方式布置在发起节点的四周,这时,对于M1层的第i(0≤i≤M1.size-1)个实体点来说,该实体点在极坐标系中的极角θ=(360°/M1.size)×i,其中,M1.size表示M1层中的实体点个数;同理,可得到其他层的每个实体点的极角。另外,可按照筛选优先级对每层的实体点进行排序,例如将按照筛选规则筛选出的第一层的第一个实体点记为i=0、第二个实体点记为i=1;或者可以按照随机的方式对每层的实体点进行排序。
S10312、按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;
本步骤,每层实体点与发起节点的距离可以不同,以区分各层实体点,例如,层数越大,该层的实体点与发起节点的距离越远;对于在同一层的实体点,各实体点之间与发起节点的距离可以相同。这时,对于第j层的实体点来说,各实体点在极坐标系中的极轴长占比r=j/floors,其中,floor表示总层数。本实例中以极轴长占比代替极轴长来表示实体点的坐标,这样,在页面以图形化方式展示所述具有M层布局的图数据时,默认将依据自适应规则匹配极轴总长,但也可自定义设置定长。
S10313、根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
本步骤,每个所述实体点在极坐标系中的坐标可以以极轴长占比以及极角表示。
可选的,在上述实施例中,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标还可以包括:
若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;
将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;
根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
本实施例,若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则将筛选出的各实体点布局在第一层即M1层中,构建具有一层布局的图数据;这时,各所述实体点可以均布在发起节点的周围,各实体点与发起节点之间的距离可以等于第一层的实体点与发起节点的距离。各所述实体点中的第i(0≤i≤sum-1)个实体点的极角可以表示为θ=(360°/sum)×i,其中,sum表示各实体点的总数;各所述实体点中的每个实体点的极轴长占比可以等第一层的实体点的极轴长占比r=1/floors,其中,floor表示总层数,对应极坐标中的极轴总长,可以理解的是,在本具体实例中,floors=1。
可选的,所述方法还可以包括:利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
本实施例,在得到所述具有M层布局的图数据之后,可将所述具有M层布局的图数据传给前端,以使前端利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。例如前端利用Echarts(Enterprise Charts商业产品图表库)作展现,主要应用关系图、极坐标图等基础图,基础图之间可以相互结合使用,如使用关系图(graph)与极坐标图(polar)的结合图。展现出来的内容具有强大的兼容性。
为更好的理解本发明,下面通过一具体实施例对本发明提供的图数据的处理方法进行说明。
以银行场景为例:通过某个人客户向外1层拓展深度挖掘与其有数据关联的个人和企业信息;再通过这些关联出的个人和企业向外再1层拓展深度挖掘与其有数据关联的个人和企业信息;此示例总扩展层数为2层。
其中深度挖据出的个人客户信息包括:客编、私银客户编号、签约日期、姓名、年龄、五环标志、时点资产、客户经理编号、客户经理姓名、财富顾问编号A、财富顾问编号B、客户经理归属、客户归属、客户来源、推荐时间等。
深度挖据出的企业客户信息包括:企业编号、开户日期、名称、企业类型、企业规模、社会信用代码、经营范围、注册地、状态、成立时间、注册资本、注册资本币种、客户经理编号、客户经理姓名、客户经理归属、客户归属、客户来源等。
对上述图数据的具体实施操作如下:
1、后台参数设置
1)提取图数据库中K层扩展的层数;举例K=2,即由发起节点向外扩展2层的全部相关原始数据。
2)重新布局后的层数;举例M=2。
3)重新布局后每层出现的实体(每层实体的筛选条件);举例
初始化实体:行内企业、行外企业、行内私银客户(个人)、行内潜力客户(个人)、行外客户(个人)。
重新布局后的每层展现:
M1=K1行内企业+K2行内企业+K1行外企业+K2行外企业
M2=K1行内私银客户+K2行内私银客户+K1行内潜力客户+K2行内潜力客户+K1行外客户+K2行外客户
设定重新布局后每层所展现的最大节点数(实体个数);举例
M1节点数=12,即重新布局后的第一层最多展现12个节点,展现优先级按照上一步设定公式的排列顺序所展示,即为K1行内企业-K2行内企业-K1行外企业-K2行外企业,优先取前12个节点。
M2节点数=30,即重新布局后的第二层最多展现30个节点,展现优先级按照上一步设定公式的排列顺序所展示,即为K1行内私银客户-K2行内私银客户-K1行内潜力客户-K2行内潜力客户-K1行外客户-K2行外客户,优先取前30个节点。
若K1层节点总数少于M1层设定值,则以K1层总节点数为设定值。K2层同理。
若K各层节点总数之和小于M1层节点数,则M各层布局在同一层即M1层中。
2、后台运行算法
依据上一步参数设定,后台将运行如下算法,具体见流程图以附解。
运行点边关系判算法;
运行单点数据存储算法;
运行重新布局M1层算法;
运行重新布局M2层算法;
运行整体布局算法。
图5是布局算法总揽,通过后台预先设定的参数,套用参数的相关处理方法以及布局算法,再传给前端,利用Echarts(Enterprise Charts商业产品图表库)作展现,主要应用关系图、极坐标图等基础图,基础图之间可以相互结合使用,如本方法使用的是关系图(graph)与极坐标图(polar)的结合图。展现出来的内容具有强大的兼容性。
图6是点边判断示意图,依据List<Map>接收原K层中点与边的数据信息,其中点的信息中包含标识ID、客户基本信息(个人客户),边的信息中包含来源编号、流向编号、描述。
图7是单点数据存储,即初始化三个Set<String>去接收重新布局后M层数据,分别定义为setOne(第一层)、setTwo(第二层)、setTemp(临时层),这里setOne(第一层)用于存储符合M1层实体点筛选条件的点以及与该点相关的边,setTwo(第二层)用于存储符合M2层实体点筛选条件的点以及与该点相关的边,setTemp(临时层)用于存储原K层中点与边的数据信息,其中使用set是为了便于去除重复数据(set具有无序且不重复的特性)。
图8是重新布局后M1层的处理方法,包括如下
M1实体数据(setOne)确认,步骤:
a)移除点(nodesData)中的中心点(发起节点);
b)遍历点(nodesData),并同时判断该点属性(category)是否为企业若是则执行以下步骤c,否则执行以下M2实体数据(setTwo)确认中与中心点有关的个人客户的步骤c;
c)在满足对公客户的前提下,再判断此时的setOne中的点是否已经超过12个;若超出,则跳出循环,进行M2实体数据(setTwo)确认;若未超出,则执行步骤d;
d)遍历边(edgesObj),判断来源编号和流向编号是否对应着点的ID和中心点ID;若是,则在setOne中添加该点,同时跳出本次循环,若否则需循环执行判定直至本次结束。
图9是重新布局后M2层的处理方法,包括如下
M2实体数据(setTwo)确认,步骤:
(一)与中心点有关的个人客户
a)移除点(nodesData)中的中心点;
b)遍历点(nodesData),并同时判断该点属性(category)是否为个人客户;若是则执行以下步骤c,否则执行M1实体数据(setOne)确认中的步骤c;
c)在满足个人客户的前提下,再判断此时的setTwo是否已经超过30个的限制;若超出,则跳出循环,进行与K1层实体点有关的个人客户确认;若未超出,则执行以下步骤d;
d)遍历边(edgesData),判断来源编号和流向编号是否对应着点的ID和中心点ID;若是,则在setTwo中添加该点,同时跳出本次循环,若否则需循环执行判定直至本次结束。
(二)与K1层实体点有关的个人客户
a)将setTemp与setOne转换成String类型,分别为setTempStr与setOneStr;(为利用indexOf函数,减少循环与便捷判断);
b)遍历边(edgesData),分别判断setTempStr.indexOf与setOneStr.indexOf中所包含的边中的来源编号与流向编号是否与K1层实体点有关,(此处不分先后,即setTempStr匹配来源编号与流向编号均可);若是,则执行以下步骤c;若否,直接跳出本次循环;
c)遍历setTemp(临时层),遍历oneSet(第一层);
d)判断setTwo是否超过30。如果未超过,则执行(e);如果超过,则跳出循环;
e)判断边的来源编号和流向编号是否分别对应着setTemp中的点和setOne中的点;若是,则在setTwo中添加该点,同时跳出本次循环,若否则需循环执行判定直至本次结束。
图10是布局计算流程示意图,如下:
int sum=min{M1,12}+min{M2,30};M1,M2∈Ν+
int floors=sum≤12?1:[M1=0?1:2];
θ(i)=sum≤12?(360/sum)*i:[i<min{M1,12}:(360/min{M1,12})*i:(360/min{M2,30})*(i-min{M1,12})];i=0,1,2...
Φ(i)=floors/(M1>0&i<M1?1:[M1=0?1:2]);i=0,1,2...
P(i)=(Φ(i),θ(i));i=0,1,2...
其中M1,M2分别表示第一层点数与第二层点数,i表示当前层的第i个节点;
floors表示总层数;
θ(i)表示当前层第i个节点的极角;
Φ(i)表示当前层第i个节点的极轴长占比;
P(i)表示当前层第i个节点的极坐标。
结合上述结果,将setOne与setTwo的节点带入上述公式中,可得出相关θ(i)、Φ(i)以及P(i)。(在页面渲染时默认将依据自适应规则匹配极轴总长,但也可自定义设置定长)
通过计算可得出如下结果,分别是:
(其中依据平面360°进行分度)
a):M1+M2总节点个数小等于12,将360°按照总数12,进行均分,也即每个点的间隙均为30°;
b):M1+M2总节点数大于12且不超过42,同时M1不超过12,M2不超过30;M1点的间隙为:360/M1点数;M2点的间隙为:360/M2点数;
c):M1点数超过12,M2点数超过30;取M1点数12,M2点数30进行计算;即M1点的间隙为30°,M2点的间隙为12°。
图11是应用本实施例图数据可视化布局算法后呈现出的图谱。其中发起节点为工行某私银客户,布局后的第一层为3个工行企业客户+1个工行外企业客户,第二层为1个工行私银客户+13个工行潜力客户。上述实体间的关系都清晰明确标记在边上。
图12是本发明一实施例提供的图数据的处理装置的结构示意图,如图12所示,本发明实施例提供的图数据的处理装置包括:获取模块21,用于获取具有K层关系的原始图数据中的实体点以及实体关系;筛选模块22,用于按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;构建模块23,用于根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
本发明实施例提供的图数据的处理方法及装置,通过获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。这样,将原来具有K层关系的原始图数据处理成了具有M层布局的图数据,在前端对处理后的图数据进行展示时,各实体点按照层进行布局,解决了现有技术中的图数据展示时图形中的实体点杂乱无序的情况,进而解决用户在看图过程中的困扰。
可选的,每层的实体点筛选条件包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。
可选的,所述构建模块具体用于:根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
可选的,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
可选的,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
如图13所示,可选的,所述装置还包括:展示模块24,用于利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的图数据的处理方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对图数据的处理方法及装置的应用领域不做限定。
图14为本发明一实施例提供的电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取具有K层关系的原始图数据中的实体点以及实体关系;按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种图数据的处理方法,其特征在于,包括:
获取具有K层关系的原始图数据中的实体点以及实体关系;
按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;
根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
2.根据权利要求1所述的方法,其特征在于,每层的实体点筛选条件包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。
3.根据权利要求1所述的方法,其特征在于,所述根据筛选出的每层的实体点,构建具有M层布局的图数据包括:
根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;
根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
4.根据权利要求3所述的方法,其特征在于,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:
根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;
按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;
根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
5.根据权利要求3所述的方法,其特征在于,所述根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:
若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;
将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;
根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
7.一种图数据的处理装置,其特征在于,包括:
获取模块,用于获取具有K层关系的原始图数据中的实体点以及实体关系;
筛选模块,用于按照预设层数、预设层数中每层的实体点筛选条件以及所述实体关系,在所述实体点中筛选预设层数中每层的实体点;
构建模块,用于根据筛选出的每层的实体点,构建具有M层布局的图数据,其中,K、M分别为正整数。
8.根据权利要求7所述的装置,其特征在于,每层的实体点筛选条件包括以下至少一种:实体点的类型、各类型的实体点的筛选优先级、实体点在原始图数据中所在的层数、在原始图数据中不同层的实体点的筛选优先级、实体点的个数。
9.根据权利要求7所述的装置,其特征在于,所述构建模块具体用于:
根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标;
根据每个所述实体点在极坐标系中的坐标,构建具有M层布局的图数据。
10.根据权利要求9所述的装置,其特征在于,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:
根据预设层数中每层筛选出的实体点的个数,确定每层的各实体点在极坐标系中的极角;
按照筛选出的各所述实体点所在的层数,确定所述实体点在极坐标系中的极轴长占比;
根据所述实体点在极坐标系中的极角以及极轴长占比,确定所述实体点在极坐标系中的坐标。
11.根据权利要求9所述的装置,其特征在于,所述构建模块根据筛选出的每层实体点的个数和各实体点所在的层数,确定每个所述实体点在极坐标系中的坐标包括:
若筛选出的实体点的总数小于所述筛选条件中第一层实体点的个数,则根据筛选出的实体点的总数确定每个所述实体点在极坐标系中的极角;
将预设层数中第一层的实体点的极轴长占比作为筛选出的各所述实体点在极坐标系中的极轴长占比;
根据每个筛选出的所述实体点在极坐标系中的极角以及极轴长占比,确定每个所述实体点在极坐标系中的坐标。
12.根据权利要求7至11任一所述的装置,其特征在于,所述装置还包括:
展示模块,用于利用数据可视化图表库以图形化的方式展示所述具有M层布局的图数据。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307179.1A CN114003778A (zh) | 2021-11-05 | 2021-11-05 | 一种图数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307179.1A CN114003778A (zh) | 2021-11-05 | 2021-11-05 | 一种图数据的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003778A true CN114003778A (zh) | 2022-02-01 |
Family
ID=79928034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111307179.1A Pending CN114003778A (zh) | 2021-11-05 | 2021-11-05 | 一种图数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003778A (zh) |
-
2021
- 2021-11-05 CN CN202111307179.1A patent/CN114003778A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lv et al. | Parallel k-means clustering of remote sensing images based on mapreduce | |
CN113537508B (zh) | 联邦计算的处理方法、装置、电子设备和存储介质 | |
JP2018063504A (ja) | 生成モデル学習方法、装置及びプログラム | |
CN111522962A (zh) | 序列推荐方法、装置及计算机可读存储介质 | |
CN104995660B (zh) | 冗余像素减轻 | |
US20120092357A1 (en) | Region-Based Image Manipulation | |
US20170185835A1 (en) | Assisting people with understanding charts | |
CN111444410A (zh) | 一种基于知识图谱的关联交易挖掘识别方法及装置 | |
CN112241321A (zh) | 基于Kubernetes的算力调度方法和装置 | |
CN107729767B (zh) | 基于图基元的社会网络数据隐私保护方法 | |
CN109495513B (zh) | 无监督的加密恶意流量检测方法、装置、设备及介质 | |
US20140081881A1 (en) | Social network based mapping | |
US20230033019A1 (en) | Data processing method and apparatus, computerreadable medium, and electronic device | |
CN112214499B (zh) | 图数据处理方法、装置、计算机设备和存储介质 | |
CN112949973A (zh) | 一种结合ai的机器人流程自动化rpa流程的生成方法 | |
CN106446844B (zh) | 姿势估计方法和装置、计算机系统 | |
US20110161410A1 (en) | Massive-scale interactive visualization of data spaces | |
CN114595673A (zh) | 数字化作品协同创作方法、任务发布方法及装置 | |
CN114003778A (zh) | 一种图数据的处理方法及装置 | |
WO2020147601A1 (zh) | 用于对图进行学习的系统 | |
CN111368021A (zh) | 基于知识网络的智能决策方法及装置、终端、存储介质 | |
CN116524475A (zh) | 生成推荐妆容的方法及装置、车辆、电子设备和存储介质 | |
CN111582284A (zh) | 用于图像识别的隐私保护方法、装置和电子设备 | |
Dong et al. | An advanced pre-positioning method for the force-directed graph visualization based on pagerank algorithm | |
CN114091686B (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 |