关系图绘制方法及装置与流程

文档序号:15399751发布日期:2018-09-11 17:12阅读:291来源:国知局
本公开涉及通信
技术领域
,尤其涉及一种关系图绘制方法及装置。
背景技术
:在一个复杂的系统或组织中,存在多个处于不同层级的节点,该多个处于不同层级的节点之间可以存在各种类型的关系。关系图可以指能够将节点以及节点之间的关系简洁清晰呈现的图形化表达形式。相关技术中,浏览器通过canvas(画布)实现绘制关系图。其中,canvas可以指能够通过脚本(例如javascript)绘制图形的html(hypertextmarkuplanguage,超级文本标记语言)元素。canvas能够实现逐个像素进行渲染。javascript可以指直译式脚本语言,其已经被广泛用于web(worldwideweb,全球广域网)应用程序的开发,用于为网页添加各式各样的动态功能,从而为用户提供更流畅美观的浏览效果。表1示出相关技术中的节点关系表。相关技术中,浏览器将表1所示的节点以及节点之间的关系转化为关系图的过程如下:确定中心节点,例如节点0。在确定中心节点之后,浏览器根据中心节点计算其他各个节点距离中心节点的层级。假设节点0为第0层,则节点1,节点2和节点3为第1层,节点11和节点12为第2层,节点21,节点22和节点23为第3层,以此类推计算出所有节点距离中心节点的层级。浏览器根据节点的层级关系对节点进行连接,并对节点进行随机分布,完成关系图的绘制。目前,在节点的数据量和数据复杂度较小时,绘制关系图的计算过程简单,浏览器可以快速的计算并绘制关系图。但是,随着节点的数据量和数据复杂度的增加,受到javascript计算能力的限制,绘制关系图的计算过程变得缓慢,导致浏览器绘制关系图的速度下降,造成用户的使用体验较差。表1节点的名称节点的名称关系的名称节点0节点1关系1节点0节点2关系2节点0节点3关系3节点1节点11关系4节点1节点12关系5节点12节点21关系6节点12节点22关系7节点12节点23关系8技术实现要素:有鉴于此,本公开提出了一种关系图绘制方法及装置,以解决相关技术中节点的数据量和数据复杂度较大时浏览器绘制关系图效率较低的问题。根据本公开的一方面,提供了一种关系图绘制方法,该方法应用于服务器,包括:从节点信息数据包括的各个节点中确定中心节点;选取处于第n层级的任一节点;其中,n为大于或等于0整数,在n等于0时,处于第0层级的节点为所述中心节点;根据所述节点信息数据,将与所述选取的节点存在直接关系的节点确定为处于第n+1层级的节点;将所述第n+1层级的节点分布在以所述选取的节点为圆心的圆周上。根据本公开的另一方面,提供了一种关系图绘制装置,该装置应用于服务器,包括:中心节点确定模块,用于从节点信息数据包括的各个节点中确定中心节点;选取模块,用于选取处于第n层级的任一节点;其中,n为大于或等于0整数,在n等于0时,处于第0层级的节点为所述中心节点;层级确定模块,用于根据所述节点信息数据,将与所述选取的节点存在直接关系的节点确定为处于第n+1层级的节点;分布模块,用于将所述第n+1层级的节点分布在以所述选取的节点为圆心的圆周上。根据本公开的另一方面,提供了一种关系图绘制装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。本公开的关系图绘制方法及装置,从节点信息数据包括的各个节点中确定中心节点,选取处于第n层级的任一节点,根据节点信息数据,将与选取的节点存在直接关系的节点确定为处于第n+1层级的节点,并将第n+1层级的节点分布在以选取的节点为圆心的圆周上,其中,n为大于或等于0整数,在n等于0时,处于第0层级的节点为中心节点,由于服务器相对于客户端具有较强的计算能力,一方面够增加客户端进行图像渲染的速度,另一方面能够提升数据量较大时关系图的绘制效率,从而提高用户的使用体验。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的关系图绘制方法的流程图。图2示出相关技术中的关系图的示意图。图3示出根据本公开一实施例的笛卡尔坐标系的示意图。图4示出根据本公开一实施例的笛卡尔坐标系的示意图。图5示出根据本公开一实施例的关系图的示意图。图6示出根据本公开一实施例的关系图的示意图。图7示出根据本公开一实施例的关系图绘制装置的框图。图8示出根据本公开一实施例的关系图绘制装置的框图。图9示出根据本公开一实施例的关系图绘制装置的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。图1示出根据本公开一实施例的关系图绘制方法的流程图。该方法应用于服务器。如图1所示,该方法包括步骤s11至s14。在步骤s11中,从节点信息数据包括的各个节点中确定中心节点。其中,节点信息数据可以指服务器获取的用来绘制关系图的原始数据。节点信息数据可以包括第一节点的标识、第二节点的标识以及第一节点和第二节点之间存在的直接关系。其中,节点的标识可以指能够唯一标识节点的信息。例如,节点的标识可以为节点的名称或节点的id(identification,身份标识号),本公开对此不作限制。作为一个示例,服务器获取如表1所示的节点信息数据。如表1所示,例如,节点信息数据包括节点0、节点1以及节点0和节点1之间存在的直接关系(即关系1);再例如,节点信息数据包括节点12、节点22以及节点12和节点22之间存在的直接关系(即关系7)。其中,节点可以用于表示具有特定含义的事物,本公开对节点能够表示的事物不作限制。节点之间存在的直接关系即为节点表示的事物之间存在的直接关系。节点表示的事物之间存在各种类型的直接关系,由此节点之间也存在各种类型的直接关系。图2示出相关技术中的关系图的示意图。如图2所示,在关系图中,节点可以表示企业(例如节点qa、节点qb和节点qc)或个人(例如节点pa、节点pb、节点pc、节点pd、节点pe和节点pf)。节点之间存在的直接关系可以包括抵押关系、投资关系、担保关系或任职关系等。例如,节点qb与节点pd之间存在抵押关系,节点qc与节点qa之间存在投资关系,节点qb与节点pa之间存在提供担保,以及节点pa与节点qa之间存在任职关系等。通过关系图可以简洁清晰呈现企业之间、个人之间,以及企业和个人之间的关系。在一种实现方式中,服务器将用户预先设定的节点作为中心节点。用户预先设定的节点可以为用户关注的节点。例如,如图1所示,用户预先设定节点pa,则服务器获取用户预先设定的节点pa,并将用户预先设定的节点pa作为中心节点。在一种实现方式中,服务器根据待绘制关系图的类型确定中心节点。例如,如图1所示,待绘制关系图的类型为信用类,则服务器根据信用类选取节点pa作为中心节点。需要说明的是,尽管以用户预先设定,或者根据经验选取作为示例介绍了如何确定中心节点如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定如何确定中心节点。在步骤s12中,选取处于第n层级的任一节点;其中,n为大于或等于0整数,在n等于0时,处于第0层级的节点为中心节点。在步骤s13中,根据节点信息数据,将与选取的节点存在直接关系的节点确定为处于第n+1层级的节点。在一种实现方式中,将与选取的节点存在直接关系的节点确定为处于第n+1层级的节点(步骤s13),可以包括:从未确定层级的各个节点中,确定与选取的节点存在直接关系的节点作为处于第n+1层级的节点。在一种实现方式中,任一第n+1层级的节点与中心节点之间的距离大于选取的节点与中心节点之间的距离。其中,节点信息数据包括的各个节点在笛卡尔坐标系中的坐标不相同。在一种实现方式中,获取节点信息数据,从节点信息数据包括的各个节点中确定中心节点。根据中心节点以及节点信息数据包括的各个节点之间存在的直接关系,确定节点信息数据包括的各个节点距离中心节点的层级。将节点信息数据包括的各个节点按照距离中心节点的层级由小到大进行保存,得到处理后的节点信息数据。其中,处理后的节点信息数据包括节点的标识、节点的源节点、节点与节点的源节点之间存在的直接关系以及节点距离中心节点的层级。其中,节点的源节点为与该节点之间存在直接关系,且距离中心节点的层级小于该节点距离中心节点的层级的节点。节点可以存在单一源节点,也可以存在多个源节点。在节点存在单一源节点时,将单一源节点记录在处理后的节点信息数据中。在节点存在多个源节点时,将多个源节点中距离中心节点的层级的数值最小的源节点记录在处理后的节点信息数据中。记录在节点信息数据中的源节点即为对应的节点所分布的圆周对应的圆心。作为一个示例,服务器获取如表1所示的节点信息数据。服务器对节点数据进行预处理,具体包括:服务器获取用户预先设定的节点0,并将用户预先设定的节点0作为中心节点。在确定中心节点为节点0之后,服务器计算各个节点距离节点0的层级。假设节点0为处于第0层级的节点。由于节点1,节点2和节点3与节点0之间存在直接关系,则节点1,节点2和节点3为处于第1层级的节点,其源节点为节点0。由于节点11和节点12与节点1之间存在直接关系,则节点11和节点12为处于第2层级的节点,其源节点为节点1。由于节点21,节点22和节点23与节点12之间存在直接关系,则节点21,节点22和节点23为处于第3层级的节点,其源节点为节点12。以此类推计算出所有节点距离中心节点的层级。服务器将各个节点按照距离中心节点的层级由小到大进行保存,得到处理后的节点信息数据。表2示出根据本公开一实施例的节点信息数据表。如表1和表2所示,表2为服务器对如表1所示的节点信息数据进行预处理后,得到的处理后的节点信息数据。表2节点的名称源节点关系的名称距离中心节点的层级节点0nullnull0节点1节点0关系11节点2节点0关系21节点3节点0关系31节点11节点1关系42节点12节点1关系52节点21节点12关系63节点22节点12关系73节点23节点12关系83在步骤s14中,将第n+1层级的节点分布在以选取的节点为圆心的圆周上。在一种实现方式中,处于第n层级的节点分布的圆周对应的半径与处于第n+1层级的节点分布的圆周对应的半径相等。作为一个示例,服务器获取如表1所示的节点信息数据。图3示出根据本公开一实施例的笛卡尔坐标系的示意图。如图3所示,在确定中心节点为节点0之后,服务器建立笛卡尔坐标系,并设置节点0在笛卡尔坐标系中的坐标为(0,0)。处于第n层级的节点分布的圆周对应的半径与处于第n+1层级的节点分布的圆周对应的半径相等。如图3所示,节点0为处于第0层级的节点,节点1,节点2和节点3与节点0之间存在直接关系,则节点1,节点2和节点3为处于第1层级的节点。圆周1以节点0的坐标(0,0)为圆心,以1为半径(即r=1)。服务器将节点1,节点2和节点3依次随机分布在圆周1上。假设分布后节点1,节点2和节点3在笛卡尔坐标系中的坐标分别为(0,1),(1,0),(-1,0)。如图3所示,节点1为处于第1层级的节点,节点11和节点12与节点1之间存在直接关系,则节点11和节点12为处于第2层级的节点。圆周2以节点1的坐标(0,1)为圆心,以1为半径(即r=1)。服务器将节点11和节点12依次随机分布在圆周2上,且满足节点11与节点0之间的距离,以及节点12与节点0之间的距离均大于节点1与节点0之间的距离。假设分布后节点11和节点12在笛卡尔坐标系中的坐标分别为(1,1)和(0,2)。如图3所示,节点12为处于第2层级的节点,节点21,节点22和节点23与节点12之间存在直接关系,则节点21,节点22和节点23为处于第3层级的节点。圆周3以节点12的坐标(0,2)为圆心,以1为半径(即r=1)。服务器将节点21,节点22和节点23依次随机分布在圆周3上,且满足节点21与节点0之间的距离,节点22与节点0之间的距离,以及节点23与节点0之间的距离均大于节点12与节点0之间的距离。假设分布后节点21,22和节点23在笛卡尔坐标系中的坐标分别为(1,2),(-1,2)和(0,3)。服务器将节点0,节点1,节点2,节点3,节点11,节点12,节点21,节点22和节点23在笛卡尔坐标系中的坐标保存到节点坐标表中,任意两个节点在笛卡尔坐标系中的坐标均不相同。表3示出根据本公开一实施例的节点坐标表。如表3所示,节点坐标表包括节点的标识(例如节点的名称),以及节点在笛卡尔坐标系中的坐标。表3节点的名称源节点节点0(0,0)节点1(0,1)节点2(1,0)节点3(-1,0)节点11(1,1)节点12(0,2)节点21(1,2)节点22(-1,2)节点23(0,3)在另一种实现方式中,处于第n层级的节点分布的圆周对应的半径与处于第n+1层级的节点分布的圆周对应的半径不相等。例如,处于第n层级的节点分布的圆周对应的半径小于处于第n+1层级的节点分布的圆周对应的半径,由此可以实现处于较大层级的节点发散分布。作为一个示例,服务器获取如表1所示的节点信息数据。图4示出根据本公开一实施例的笛卡尔坐标系的示意图。如图4所示,在确定中心节点为节点0之后,服务器建立笛卡尔坐标系,并设置节点0在笛卡尔坐标系中的坐标为(0,0)。处于第n层级的节点分布的圆周对应的半径小于处于第n+1层级的节点分布的圆周对应的半径。如图4所示,节点0为处于第0层级的节点,节点1,节点2和节点3与节点0之间存在直接关系,则节点1,节点2和节点3为处于第1层级的节点。圆周1以节点0的坐标(0,0)为圆心,以1为半径。服务器将节点1,节点2和节点3依次随机分布在圆周1上。假设分布后节点1,节点2和节点3在笛卡尔坐标系中的坐标分别为(0,1),(1,0),(-1,0)。如图4所示,节点1为处于第1层级的节点,节点11和节点12与节点1之间存在直接关系,则节点11和节点12为处于第2层级的节点。圆周2以节点1的坐标(0,1)为圆心,以1.2为半径(即r=1.2)。服务器将节点11和节点12依次随机分布在圆周2上,且满足节点11与节点0之间的距离,以及节点12与节点0之间的距离均大于节点1与节点0之间的距离。假设分布后节点11和节点12在笛卡尔坐标系中的坐标分别为(1.2,1)和(0,2.2)。如图4所示,节点12为处于第2层级的节点,节点21,节点22和节点23与节点12之间存在直接关系,则节点21,节点22和节点23为处于第3层级的节点。圆周3以节点12的坐标(0,2)为圆心,以1.4为半径。服务器将节点21,节点22和节点23依次随机分布在圆周3上,且满足节点21与节点0之间的距离,节点22与节点0之间的距离,以及节点23与节点0之间的距离均大于节点12与节点0之间的距离。假设分布后节点21,22和节点23在笛卡尔坐标系中的坐标分别为(1.4,2.2),(-1.4,2,2)和(0,3.6)。服务器将节点0,节点1,节点2,节点3,节点11,节点12,节点21,节点22和节点23在笛卡尔坐标系中的坐标保存到节点坐标表中,任意两个节点在笛卡尔坐标系中的坐标均不相同。表4示出根据本公开一实施例的节点坐标表。如表4所示,节点坐标表包括节点的标识(例如节点的名称),以及节点在笛卡尔坐标系中的坐标。表4节点的名称源节点节点0(0,0)节点1(0,1)节点2(1,0)节点3(-1,0)节点11(1.2,1)节点12(0,2.2)节点21(1.4,2.2)节点22(-1.4,2.2)节点23(0,3.6)在一种实现方式中,该方法还包括:确定节点信息数据包括的各个节点在笛卡尔坐标系中的坐标,各个节点在笛卡尔坐标系中的坐标不相同;将节点信息数据包括的各个节点在笛卡尔坐标系中的坐标和节点之间的直接关系发送给客户端,以使客户端在笛卡尔坐标系中的坐标展示节点信息数据包括的各个节点,并将存在直接关系的两个节点进行连接。作为一个示例,服务器向浏览器发送如表3所示的各个节点在笛卡尔坐标系中的坐标,以及如表2所示的节点之间的直接关系。图5示出根据本公开一实施例的关系图的示意图。如图5所示,浏览器通过canvas技术,根据如表3所示的各个节点在笛卡尔坐标系中的坐标,分别展示节点0,节点1,节点2,节点3,节点11,节点12,节点21,节点22和节点23。浏览器根据如表2所示的节点之间的直接关系,分别将具有直接关系的节点0和节点1,节点0和节点2,节点0和节点3,节点1和节点11,节点1和节点12,节点12和节点21,节点12和节点22,以及节点12和节点23连接,并标注节点之间的直接关系,得到包括各个节点的关系图。作为另一个示例,服务器向浏览器发送如表4所示的各个节点在笛卡尔坐标系中的坐标,以及如表2所示的节点之间的直接关系。图6示出根据本公开一实施例的关系图的示意图。如图6所示,浏览器通过canvas技术,根据如表4所示的各个节点在笛卡尔坐标系中的坐标,分别展示节点0,节点1,节点2,节点3,节点11,节点12,节点21,节点22和节点23。浏览器根据如表2所示的节点之间的直接关系,分别将具有直接关系的节点0和节点1,节点0和节点2,节点0和节点3,节点1和节点11,节点1和节点12,节点12和节点21,节点12和节点22,以及节点12和节点23连接,并标注节点之间的直接关系,得到包括各个节点的关系图。本公开的关系图绘制方法,服务器承担关系图绘制过程中节点关系、节点位置的计算,而客户端根据服务器发送的节点关系、节点位置绘制关系图,由于服务器相对于客户端具有较强的计算能力,一方面够增加客户端进行图像渲染的速度,另一方面能够提升数据量较大时关系图的绘制效率,从而提高用户的使用体验。此外,由于客户端不需要关注关系图绘制过程中节点关系、节点位置的计算,客户端能够更专注于关系图整体的美观。图7示出根据本公开一实施例的关系图绘制装置的框图。该装置应用于服务器。如图7所示,该装置包括:中心节点确定模块71,用于从节点信息数据包括的各个节点中确定中心节点;选取模块72,用于选取处于第n层级的任一节点;其中,n为大于或等于0整数,在n等于0时,处于第0层级的节点为所述中心节点;层级确定模块73,用于根据所述节点信息数据,将与所述选取的节点存在直接关系的节点确定为处于第n+1层级的节点;分布模块74,用于将所述第n+1层级的节点分布在以所述选取的节点为圆心的圆周上。在一种实现方式中,所述层级确定模块73用于:从未确定层级的各个节点中,确定与所述选取的节点存在直接关系的节点作为处于第n+1层级的节点。在一种实现方式中,任一所述第n+1层级的节点与所述中心节点之间的距离大于所述选取的节点与所述中心节点之间的距离。在一种实现方式中,处于第n层级的节点分布的圆周对应的半径与处于第n+1层级的节点分布的圆周对应的半径不相等或相等。图8示出根据本公开一实施例的关系图绘制装置的框图。如图8所示:坐标确定模块75,用于确定所述节点信息数据包括的各个节点在笛卡尔坐标系中的坐标,各个所述节点在笛卡尔坐标系中的坐标不相同;发送模块76,用于将所述节点信息数据包括的各个节点在笛卡尔坐标系中的坐标和节点之间的直接关系发送给客户端,以使客户端在笛卡尔坐标系中的坐标展示所述节点信息数据包括的各个节点,并将存在直接关系的两个节点进行连接。本公开的关系图绘制装置,服务器承担关系图绘制过程中节点关系、节点位置的计算,而客户端根据服务器发送的节点关系、节点位置绘制关系图,由于服务器相对于客户端具有较强的计算能力,一方面够增加客户端进行图像渲染的速度,另一方面能够提升数据量较大时关系图的绘制效率,从而提高用户的使用体验。此外,由于客户端不需要关注关系图绘制过程中节点关系、节点位置的计算,客户端能够更专注于关系图整体的美观。图9示出根据本公开一实施例的关系图绘制装置的框图。参照图9,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与关系图绘制逻辑对应的机器可执行指令以执行上文所述的关系图绘制方法。本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本
技术领域
的其它普通技术人员能理解本文披露的各实施例。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1