发明内容
本说明书一个或多个实施例描述了一种传播路径图生成方法、装置及服务器,可以提高传播路径展示的准确性。
第一方面,提供了一种传播路径图生成方法,包括:
获取与目标网络消息对应的网络节点集合;所述网络节点集合中的网络节点具有层级次序;
对所述网络节点集合中的当前网络节点,确定所述当前网络节点的父网络节点;
判断所述父网络节点在平面直角坐标系中是否已绘制完成;
如果是,则获取所述父网络节点的绘制参数;根据所述绘制参数,确定所述当前网络节点的目标绘制参数;根据所述目标绘制参数在所述平面直角坐标系中绘制所述当前网络节点,并对所述父网络节点与所述当前网络节点之间的传播路径进行绘制;
如果否,则计算所述父网络节点的绘制参数;根据所述父网络节点的绘制参数,在所述平面直角坐标系中绘制所述父网络节点并确定所述目标绘制参数;根据所述目标绘制参数,执行绘制所述当前网络节点以及所述传播路径的步骤。
第二方面,提供了一种传播路径图生成装置,包括:
获取单元,用于获取与目标网络消息对应的网络节点集合;所述网络节点集合中的网络节点具有层级次序;
确定单元,用于对所述获取单元获取的所述网络节点集合中的当前网络节点,确定所述当前网络节点的父网络节点;
判断单元,用于判断所述确定单元确定的所述父网络节点在平面直角坐标系中是否已绘制完成;
所述获取单元,还用于若所述判断单元判断已绘制完成,则获取所述父网络节点的绘制参数;
所述确定单元,还用于根据所述获取单元获取的所述绘制参数,确定所述当前网络节点的目标绘制参数;
绘制单元,用于根据所述确定单元确定的所述目标绘制参数在所述平面直角坐标系中绘制所述当前网络节点,并对所述父网络节点与所述当前网络节点之间的传播路径进行绘制;
计算单元,用于若所述判断单元判断未绘制完成,则计算所述父网络节点的绘制参数;
所述绘制单元,还用于根据所述计算单元计算的所述父网络节点的绘制参数,在所述平面直角坐标系中绘制所述父网络节点;
所述确定单元,还用于确定所述目标绘制参数;
执行单元,用于根据所述目标绘制参数,执行绘制所述当前网络节点以及所述传播路径的步骤。
第三方面,提供了一种服务器,包括:
接收器,用于获取与目标网络消息对应的网络节点集合;所述网络节点集合中的网络节点具有层级次序;
至少一个处理器,用于对所述网络节点集合中的当前网络节点,确定所述当前网络节点的父网络节点;判断所述父网络节点在平面直角坐标系中是否已绘制完成;如果是,则获取所述父网络节点的绘制参数;根据所述绘制参数,确定所述当前网络节点的目标绘制参数;根据所述目标绘制参数在所述平面直角坐标系中绘制所述当前网络节点,并对所述父网络节点与所述当前网络节点之间的传播路径进行绘制;如果否,则计算所述父网络节点的绘制参数;根据所述父网络节点的绘制参数,在所述平面直角坐标系中绘制所述父网络节点并确定所述目标绘制参数;根据所述目标绘制参数,执行绘制所述当前网络节点以及所述传播路径的步骤。
本说明书一个或多个实施例提供的传播路径图生成方法、装置及服务器,在平面直角坐标系中绘制当前网络节点时,首先判断父网络节点是否绘制完成。如果绘制完成,则根据父网络节点的绘制参数,确定当前网络节点的目标绘制参数。之后,根据目标绘制参数绘制当前网络节点,并绘制相应的传播路径。如果未绘制完成,则先计算父网络节点的绘制参数,并绘制父网络节点。再确定当前网络节点的目标绘制参数。根据目标绘制参数绘制当前网络节点,并绘制相应的传播路径;以此类推,直至绘制完成所有的网络节点,从而得到传播路径图。由此可以看出,本说明书是基于网络节点之间的层级次序,来生成传播路径图,这可以提高传播路径展示的准确性。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
本说明书一个或多个实施例提供的传播路径图生成方法适用于对网络消息的传播路径进行可视化的场景,尤其适用于对传播量较大的网络消息的传播路径进行可视化的场景。可以理解的是,在网络消息的传播过程中,会形成多个网络节点。该多个网络节点可以构成网络节点集合。需要说明的是,上述网络节点可以是在网络消息每次被传播时形成的,此时的网络节点可以与一条网络消息相对应。也可以是在网络消息被不同的用户传播时形成的,此时的网络节点可以与一个用户相对应。还需要说明的是,上述网络节点可以具有对应的传播时间,该传播时间可以是根据上述网络消息每次被传播的时间确定的。
图1为本说明书一个实施例提供的传播路径图生成方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置。如图1所示,所述方法具体可以包括:
步骤102,获取与目标网络消息对应的网络节点集合。
此处的目标网络消息可以是指在互联网中传播的任一网络消息,该网络消息可以包括但不限于微博消息以及新闻消息等。此外,与目标网络消息对应的网络节点集合可以是在上述目标网络消息每次被传播或者被不同的用户传播时形成的。可以理解的是,该网络节点集合中可以包括多个网络节点。
本说明书中的网络节点集合中的网络节点可以具有层级次序。举例来说,以网络节点与用户相对应来说,假设某一用户从另一用户转发了一条网络消息,那么与另一用户对应的网络节点可以为与某一用户对应的网络节点的父网络节点(或者上层节点)。相对应地,与某一用户对应的网络节点可以为与另一用户对应的网络节点的子网络节点(或者下层节点)。可以理解的是,任一网络节点的子网络节点数量越大,那么其对应的传播量越大。
步骤104,对网络节点集合中的当前网络节点,确定当前网络节点的父网络节点。
此处的当前网络节点可以为网络节点集合中的任一网络节点。
在一种实现方式中,可以按照传播时间先后顺序,对网络节点集合中的网络节点进行排序。之后,按照从左到右的顺序,依次从排序后的网络节点中选取各网络节点作为当前网络节点。
步骤106,判断父网络节点在平面直角坐标系中是否已绘制完成。如果是,则执行步骤108;否则执行步骤114。
需要说明的是,本说明书提供的传播路径图生成的过程可以为在平面直角坐标系中绘制网络节点集合中的网络节点以及绘制网络节点之间的传播路径的过程。在一个例子中,该网络节点集合中的网络节点的根节点可以为平面直角坐标系的原点,也即根节点的坐标值为:(0,0)。
在一种实现方式中,在平面直角坐标系中已绘制完成的网络节点可以存储在哈希表中。在一个例子中,网络节点在哈希表中可以是以键值对(key-value)的形式存储。如,哈希表的key可以为网络节点的标识信息,value可以包括父网络节点的标识信息、子网络节点数量(也称传播量)以及绘制参数(后续进行说明)等。
上述判断父网络节点在平面直角坐标系中是否已绘制完成的步骤可以为:获取父网络节点的标识信息。根据标识信息,从哈希表中查找父网络节点。若查找到,则父网络节点在平面直角坐标系中已绘制完成;否则未绘制完成。
步骤108,获取父网络节点的绘制参数。
此处的绘制参数可以包括但不限于横坐标值(xp)、纵坐标值(yp)以及偏移角度(angle)等。此处的偏移角度可以是指父网络节点的上层节点与x轴正方向之间的夹角。该偏移角度的取值范围可以为:[0°,359°]。
如,可以是根据父网络节点的标识信息,从哈希表中获取对应的绘制参数。
步骤110,根据绘制参数,确定当前网络节点的目标绘制参数。
此处的目标绘制参数可以包括但不限于横坐标值(xt)、纵坐标值(yt)以及偏移角度(anglet)等。为了对目标绘制参数与绘制参数进行相区分,绘制参数中各个参数可以分别称为:第一横坐标值、第一纵坐标值以及第一偏移角度;目标绘制参数中的各个参数可以分别称为:第二横坐标值、第二纵坐标值以及第二偏移角度。
可选地,在执行步骤110之前,可以先执行获取当前网络节点与父网络节点之间的距离量的步骤。通过该距离量可以避免网络节点重合,从而可以更清晰地展示传播路径。该步骤可以为:随机从预设的取值区间选择某一数值,将该数值作为上述距离量。此处的预设的取值区间可以为两个,其中,一个预设的取值区间中的数值较小,如,可以为:(5,10);另一个预设的取值区间中的数值较大,如,可以为:(10,15)。在本说明书中,上述一个预设的取值区间也可以称为较大取值区间,另一个预设的取值区间也可以称为较小取值区间。当有两个预设的取值区间时,上述选择数值的过程可以为:确定当前网络节点的子网络节点数量。如果子网络节点数量超过阈值,则随机从较大取值区间选择数值。如果子网络节点数量未超过阈值,则随机从较小取值区间选择数值。
当还获取上述距离量时,步骤110可以替换为:根据距离量以及绘制参数,确定当前网络节点的目标绘制参数。在一种实现方式中,该确定过程可以为:判断当前网络节点是否为最上层节点。由于最上层节点没有父网络节点,本说明书中,可以将根节点作为最上层节点的父网络节点。因此,如果当前网络节点为最上层节点,则可以根据根节点的绘制参数,确定最上层节点的目标绘制参数。具体地,因为根节点没有偏移角度,所以可以随机从预设的角度区间(如,[0°,359°])选择某一角度,将该角度作为第二偏移角度。之后可以根据距离量、根节点的横坐标值以及第二偏移角度,确定第二横坐标值。根据距离量、根节点的纵坐标值以及第二偏移角度,确定第二纵坐标值。此处,因为根节点的坐标值为:(0,0),所以上述根节点的横坐标值也可以称为固定横坐标值,上述根节点的纵坐标值称为固定纵坐标值。
如果当前网络节点不是最上层节点,则可以根据预设的调整角度,对第一偏移角度进行调整,得到第二偏移角度。根据距离量、第一横坐标值以及第二偏移角度,确定第二横坐标值。根据距离量、第一纵坐标值以及第二偏移角度,确定第二纵坐标值。
在一个例子中,如果当前网络节点不是最上层节点,则可以根据如下公式确定第二横坐标值、第二纵坐标值以及第二偏移角度。
其中,xt为第二横坐标值,xp为第一横坐标值,yt为第二纵坐标值,yp为第一纵坐标值,anglet为第二偏移角度,angle为第一偏移角度,s为距离量,delta为调整角度,该调整角度的取值范围可以为:[-30°,+30°]。
应理解,上述公式1仅为了示例性的目的,并且本说明书决不被限制于公式中明确示出和这里描述的特殊示例性实施例。如,还可以为上述第二横坐标值以及第二纵坐标值分配相应的权值等。
步骤112,根据目标绘制参数在平面直角坐标系中绘制当前网络节点,并对父网络节点与当前网络节点之间的传播路径进行绘制。
在一个例子中,通过本说明书实施例绘制的当前网络节点及当前网络节点与父网络节点之间的传播路径可以如图2所示。图2中,当前网络节点的的目标绘制参数可以为:(xt,yt,anglet),父网络节点的绘制参数可以为:(xp,yp,angle)。s可以为当前网络节点与父网络节点之间的距离量。delta的取值范围可以为:[-30°,+30°]。
在绘制完成当前网络节点及传播路径之后,可以将该当前网络节点存储到哈希表中。具体地,哈希表的key可以为当前网络节点的标识信息,value可以包括父网络节点的标识信息、子网络节点数量(也称传播量)以及目标绘制参数等。
步骤114,计算父网络节点的绘制参数。
如,可以是根据父网络节点的上层节点的绘制参数,来计算父网络节点的绘制参数。其计算方法可以参照上述步骤110,在此不复赘述。
步骤116,根据父网络节点的绘制参数,在平面直角坐标系中绘制父网络节点。
需要说明的是,在绘制上述当前网络节点或者父网络节点时,如果当前前网络节点或者父网络节点的传播量大于阈值,则可以对其进行放大显示,以突显关键的网络节点(也称领袖节点)。
在绘制完成父网络节点之后,可以将该父网络节点存储在哈希表中,其存储方法同上所述,在此不复赘述。
在执行完成步骤116之后,可以跳转至步骤110。
可以理解的是,当网络节点集合中的网络节点的个数为多个时,除了步骤102,其它各步骤可以是重复执行的,直至多个网络节点及传播路径均绘制完成,从而得到目标网络消息的传播路径图。
图3为本说明书提供的传播路径图示意图。图3中,传播量较少的网络节点展示在父网络节点的较近的范围内,传播量较多的网络节点展示在父网络节点的较远的范围内。也即通过本说明书实施例提供的传播路径图生成方法,可以保证传播量较多的网络节点尽量分布在外部,从而可以避免网络节点之间相互重合,由此可以更清晰地展示传播路径。此外,对于传播量大于阈值的网络节点,还可以对其进行放大显示,从而可以方便在舆情事件等场景下快速找到关键的网络节点。
综上,本说明书实施例提供的传播路径图生成方法,根据网络节点之间的层级次序,来绘制传播路径图,由此可以提高传播路径展示的准确性。再者,本说明书提供的方案仅对网络节点遍历一次,就可以完成传播路径图的绘制,从而可以提高传播路径图的绘制效率。最后,本说明提供的方案将传播量较少的网络节点展示在父网络节点的较近的范围内,传播量较多的网络节点展示在父网络节点的较远的范围内的方式,可以清晰地展示传播路径,从而可以方便在舆情事件等场景下快速找到关键的网络节点。
与上述传播路径图生成方法对应地,本说明书一个实施例还提供的一种传播路径图生成装置,如图4所示,该装置可以包括:
获取单元402,用于获取与目标网络消息对应的网络节点集合。该网络节点集合中的网络节点具有层级次序。
确定单元404,用于对获取单元402获取的网络节点集合中的当前网络节点,确定当前网络节点的父网络节点。
判断单元406,用于判断确定单元404确定的父网络节点在平面直角坐标系中是否已绘制完成。
判断单元406具体可以用于:
获取父网络节点的标识信息。
根据标识信息,从哈希表中查找父网络节点。
若查找到,则父网络节点在平面直角坐标系中已绘制完成;否则未绘制完成。
获取单元402,还用于若判断单元406判断已绘制完成,则获取父网络节点的绘制参数。
确定单元404,还用于根据获取单元402获取的绘制参数,确定当前网络节点的目标绘制参数。
绘制单元408,用于根据确定单元404确定的目标绘制参数在平面直角坐标系中绘制当前网络节点,并对父网络节点与当前网络节点之间的传播路径进行绘制。
绘制单元408具体可以用于:
判断当前网络节点的子网络节点数量是否超过阈值。
若是,则根据目标绘制参数在平面直角坐标系中绘制当前网络节点,并放大显示当前网络节点。
计算单元410,用于若判断单元406判断未绘制完成,则计算父网络节点的绘制参数。
绘制单元408,还用于根据计算单元410计算的父网络节点的绘制参数,在平面直角坐标系中绘制父网络节点。
确定单元404,还用于确定目标绘制参数。
执行单元412,用于根据确定单元404确定的目标绘制参数,执行绘制当前网络节点以及传播路径的步骤。
可选地,获取单元402,还可以用于随机从预设的取值区间选择某一数值,将该数值作为距离量。
确定单元404具体可以用于:根据距离量以及绘制参数,确定当前网络节点的目标绘制参数。
可选地,获取单元402具体可以用于:
确定当前网络节点的子网络节点数量。
如果子网络节点数量超过阈值,则随机从较大取值区间选择数值。
如果子网络节点数量未超过阈值,则随机从较小取值区间选择数值。
可选地,确定单元404还具体可以用于:
判断当前网络节点是否为最上层节点。
如果否,则根据预设的调整角度,对第一偏移角度进行调整,得到第二偏移角度。根据距离量、第一横坐标值以及第二偏移角度,确定第二横坐标值。根据距离量、第一纵坐标值以及第二偏移角度,确定第二纵坐标值。
如果是,则随机从预设的角度区间选择某一角度,将该角度作为第二偏移角度。根据距离量、固定横坐标值以及第二偏移角度,确定第二横坐标值。根据距离量、固定纵坐标值以及第二偏移角度,确定第二纵坐标值。
可选地,确定单元404还具体可以用于:根据如下公式确定目标绘制参数中的第二横坐标值、第二纵坐标值以及第二偏移角度:
其中,xt为第二横坐标值,xp为第一横坐标值,yt为第二纵坐标值,yp为第一纵坐标值,anglet为第二偏移角度,angle为第一偏移角度,s为距离量,delta为调整角度。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的传播路径图生成装置,获取单元402获取与目标网络消息对应的网络节点集合。确定单元404对网络节点集合中的当前网络节点,确定当前网络节点的父网络节点。判断单元406判断父网络节点在平面直角坐标系中是否已绘制完成。若已绘制完成,获取单元402获取父网络节点的绘制参数。确定单元404根据绘制参数,确定当前网络节点的目标绘制参数。绘制单元408根据目标绘制参数在平面直角坐标系中绘制当前网络节点,并对父网络节点与当前网络节点之间的传播路径进行绘制。若未绘制完成,计算单元410计算父网络节点的绘制参数。绘制单元408根据父网络节点的绘制参数,在平面直角坐标系中绘制父网络节点。确定单元404确定目标绘制参数。执行单元412根据目标绘制参数,执行绘制当前网络节点以及传播路径的步骤。由此,可以提高传播路径展示的准确性。
与上述传播路径图生成方法对应地,本说明书实施例还提供了一种服务器,如图5所示,该服务器可以包括:
接收器502,用于获取与目标网络消息对应的网络节点集合。该网络节点集合中的网络节点具有层级次序。
至少一个处理器504,用于对网络节点集合中的当前网络节点,确定当前网络节点的父网络节点。判断父网络节点在平面直角坐标系中是否已绘制完成。如果是,则获取父网络节点的绘制参数。根据绘制参数,确定当前网络节点的目标绘制参数。根据目标绘制参数在平面直角坐标系中绘制当前网络节点,并对父网络节点与当前网络节点之间的传播路径进行绘制。如果否,则计算父网络节点的绘制参数。根据父网络节点的绘制参数,在平面直角坐标系中绘制父网络节点并确定目标绘制参数。根据目标绘制参数,执行绘制当前网络节点以及传播路径的步骤。
本说明书一个实施例提供的服务器,可以提高传播路径展示的准确性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。