一种关联节点确定方法及设备
技术领域
本申请涉及通信技术领域,特别涉及一种关联节点确定方法。本申请同时还涉及一种关联节点确定设备。
背景技术
随着移动互联网和电子商务的蓬勃发展,移动电子支付已经成为了完成资金交易的主要渠道之一,通过支付平台上衍生出来的关系网络也日益多样化和复杂化,如账户与账户间的资金关系,账户与手机号间的绑定关系,账号与银行卡间的绑定关系等,因此通过资金网络和媒介网络可以构成支付账号间的复杂关系网络。复杂网络为高度复杂性的网络,其节点数目巨大,网络结构呈现多种不同特征。社区结构是复杂网络的普遍特征,同一社区内的节点与节点之间的连接很紧密,而社区与社区之间的连接比较稀疏。
与此同时,随着移动互联网的迅速发展和支付平台产品服务的日益丰富,支付平台的用户间既可能存在直接的资金交易联系,同时可能通过其它媒介产生间接的联系,例如两个用户可能绑定相同的手机号。目标社团特指通过多个个体挖掘个体间潜在的社团群组。例如在反洗钱和风险团伙等分析领域中,为了研究多个风险个体之间是否存在联系并且发现该联系涉及的中间账号和网络结构,则需要在大规模的图网络中进行社区发现和关联查找。
目前,在迅速膨胀的支付平台关系网络中挖掘目标用户间的潜在的关联关系和进行目标社团发现时会面临非常严峻的挑战,因为传统的社区发现算法侧重挖掘整个网络的社区结构,在挖掘给定节点间潜在的社团群组时存在局限性,算法性能也较差。而与此同时越来越庞大的用户群体以及上亿的多样性节点信息已经超出了单台计算机的处理能力,在结构日益复杂的复杂网络中快速挖掘风险账号间潜在的关系和目标社团已经成为了各个支付平台需要面临的问题。
由此可见,如何在复杂网络中基于链接关系和节点快速定位各个节点之间潜在的关联节点以及关键节点,成为本领域技术人员亟待解决的技术问题。
发明内容
本申请提供了一种关联节点确定方法。用以在大规模的复杂网络结构中快速定位各个节点之间潜在的关联节点,该方法应用于包括多个节点的关系网络,所述关系网络中的各节点对应唯一的电子凭证传输账号,相互之间具有电子凭证传输记录的节点相互连接,该方法包括:
从所述关系网络中获取多个输入节点;
确定与各所述输入节点对应的扩展网络,所述扩展网络由与所述输入节点相邻以及间接相邻的节点组成;
确定所述扩展网络中的关键节点,所述关键节点为在各所述扩展网络中出现的次数大于预设阈值的节点;
获取各所述输入节点以及各所述关键节点之间的中间节点,将所述中间节点作为与所述输入节点对应的关联节点。
优选地,确定与各所述输入节点对应的扩展网络,具体为:
以所述输入节点为中心节点,记录与所述中心节点相邻的下一级节点,并在记录完成后将所述下一级节点作为新的中心节点,所述下一级节点为接收电子凭证传输的账号所对应的节点;
当所述中心节点不存在相邻的下一级节点或所述中心节点的下一级节点为所述输入节点时,根据已记录的节点以及已记录的节点之间的连接关系生成所述扩展网络。
优选地,获取所述扩展网络中的关键节点,具体为:
获取所述扩展网络中各个节点在所有的扩展网络中出现的次数;
将所述次数大于预设阈值的节点作为所述关键节点。
优选地,获取各所述输入节点以及各所述关键节点之间的中间节点,具体为:
为所述关键节点设置指定标识,并将所述关键节点设置为起始节点;
将所述指定标识携带在标签消息中沿所述起始节点的上一级节点的方向传递,所述上一级节点为发起电子凭证传输的账号所对应的节点;
根据所述标签消息的传播路径获取所述中间节点。
优选地,根据所述标签消息的传播路径获取所述中间节点,具体为:
判断是否存在接收到所述标签消息的节点;
若存在收到所述标签消息的节点,为所述节点设置所述指定标识,并判断所述节点是否存在上一级节点;
若存在收到所述标签消息的节点,且收到所述指定标识的节点存在上一级节点,为所述节点设置所述指定标识,并将所述所述标签消息传递至所述起始节点的上一级节点;
若存在收到所述标签消息的节点,且所述节点不存在上一级节点,为所述节点设置所述指定标识,并输出具有所述指定标识的节点作为所述中间节点;
若不存在收到所述标签消息的节点,输出具有所述指定标识的节点作为所述中间节点。
相应地,本申请还提出了一种关联节点确定设备,包括:
第一获取模块,从所述关系网络中获取多个输入节点,所述关系网络包括多个节点,所述关系网络中的各节点对应唯一的电子凭证传输账号,相互之间具有电子凭证传输记录的节点相互连接;
第一确定模块,确定与各所述输入节点对应的扩展网络,所述扩展网络由与所述输入节点相邻以及间接相邻的节点组成;
第二确定模块,确定所述扩展网络中的关键节点,所述关键节点为在各所述扩展网络中出现的次数大于预设阈值的节点;
第二获取模块,获取各所述输入节点以及各所述关键节点之间的中间节点,将所述中间节点作为与所述输入节点对应的关联节点。
优选地,所述第一确定模块具体用于:
以所述输入节点为中心节点,记录与所述中心节点相邻的下一级节点,并在记录完成后将所述下一级节点作为新的中心节点,所述下一级节点为接收电子凭证传输的账号所对应的节点;
当所述中心节点不存在相邻的下一级节点或所述中心节点的下一级节点为所述输入节点时,根据已记录的节点以及已记录的节点之间的连接关系生成所述扩展网络。
优选地,所述第二确定模块具体用于:
获取所述扩展网络中各个节点在所有的扩展网络中出现的次数;
将所述次数大于预设阈值的节点作为所述关键节点。
优选地,所述第二获取模块具体包括:
设置子模块,为所述关键节点设置指定标识,并将所述关键节点设置为起始节点;
传递子模块,将所述指定标识携带在标签消息中沿所述起始节点的上一级节点的方向传递,所述上一级节点为发起电子凭证传输的账号所对应的节点;
获取子模块,根据所述标签消息的传播路径获取所述中间节点。
优选地,所述获取子模块具体用于:
判断是否存在接收到所述标签消息的节点;
若存在收到所述标签消息的节点,为所述节点设置所述指定标识,并判断所述节点是否存在上一级节点;
若存在收到所述标签消息的节点,且收到所述指定标识的节点存在上一级节点,为所述节点设置所述指定标识,并将所述标签消息传递至所述起始节点的上一级节点;
若存在收到所述标签消息的节点,且所述节点不存在上一级节点,为所述节点设置所述指定标识,并输出具有所述指定标识的节点作为所述中间节点;
若不存在收到所述标签消息的节点,输出具有所述指定标识的节点作为所述中间节点。
由此可见,通过应用本申请的技术方案,在从相互之间具有电子凭证传输记录的节点相互连接的关系网络中获取多个输入节点后,确定与各输入节点对应的扩展网络,随后确定扩展网络中的关键节点,并获取各输入节点以及各关键节点之间的中间节点,将中间节点作为与输入节点对应的关联节点。从而能够在大规模的复杂网络快速地定位潜在的关联节点,同时大幅度降低了确定过程的运行时间和硬件需求。
附图说明
图1为现有技术中简单的社区发现算法示意图;
图2为本申请提出的一种关联节点确定方法的流程示意图;
图3为本申请具体实施例中节点网络扩展交集示意图;
图4为本申请具体实施例所提出的一种中间节点确定方法的流程图;
图5为本申请具体实施例中使用输入节点的N度网络所构建的结构示意图;
图6为本申请具体实施例中标签传播算法的流程示意图;
图7为本申请提出的一种关联节点确定设备的结构示意图。
具体实施方式
如背景技术所介绍的,由于交易便捷、成本低廉,同时监管乏力,基于网络支付的电子商务环境正逐渐被越来越多的不法分子所利用,干扰了正常的交易和金融秩序,严重危害电子商务和网络支付行业的健康发展。通常不法分子会借助多次电子支付操作来完成大量资金的转移,例如洗钱团伙会借助多次的资金转移来达到洗钱的目的,转移过程中可能涉及了多个不同的洗钱账号,而如何通过部分洗钱账号来识别完整的洗钱路线和洗钱网络已经成为了反洗钱活动的严峻挑战。
在打击洗钱网络时,通常只能获取到洗钱团伙中的部分高危账号,而如果以已经发现的洗钱账号为起点,在整个平台的关系网络中使用传统的路径搜索算法来发现洗钱团伙则会存在大规模计算问题,并且在发现所有的关联节点时存在局限性,无法提供实时的计算服务。以支付平台上的关系网络为例,账号与账号间的关系对已经达到百亿关系对级别,在现有的硬件环境中构建整个平台的关系网络不切实际;另一方面在使用最短路径搜索目标节点间潜在的连通路径时,整个网络的消息量非常大,因为在计算过程中每个节点都需要保留路径的前置节点信息,并且搜索出的许多路径并不是关联节点路线,也无法将所有潜在的关联节点挖掘出来。
如图1所示,为一种简单的社区发现算法示意图,节点N1和节点N2是已经发现的洗钱账号,若利用该路径搜索算法,节点N1会给所有的相邻节点发送路径探索消息,第一轮节点A、B、D都会收到消息[N1];在第二轮节点A、B、D同时往相邻的节点发送消息,则节点G会收到消息[N1->D],节点E会收到消息[N1->D],节点B会收到消息[N1->A]。在后续的每一轮迭代中,上一轮收到消息的节点都会将消息内容发送给自己的邻接节点,最终算法识别到洗钱账号N1和N2之间存在着洗钱团伙:节点A、B、C、D、E、F和相应的洗钱路线。但是算法在识别的过程中同时发现了大量的类似节点G、H、I的正常账号,在每轮的迭代过程中这些正常账号之间的消息传播浪费了大量的计算资源;另一方面如果想要挖掘出目标节点间所有潜在的社团群组时,算法需要保存路径信息则会耗费非常多的内存资源,消息迭代终止条件无法确定,有可能需要遍历网络中的所有路径,这样给计算设备带来了巨大的负担。
有鉴于此,本申请针对由多个电子凭证传输账号一一对应的节点所组成的关系网络提出了一种关联节点确定方法,用以在该相互之间具有电子凭证传输记录的节点相互连接的关系网络中挖掘发现已知的输入节点之间的关联节点。在此需要说明的是,由于本申请旨在针对关系网络进行关联节点的定位发现,因此该关系网络中各个节点必须是能唯一对应现实中的电子凭证传输账号的,该账号的展现形式可以为手机号码或者是邮箱地址,相应地电子凭证可以为金钱或是其他需要予以监控的货币或卡券的等,类型的不同并不影响本申请的保护范围。
如图2所示,为本申请提出的一种关联节点确定方法的流程示意图,包括如下步骤:
S201,从所述关系网络中获取多个输入节点。
在本申请的技术方案中,输入节点为一些显而易见的具有问题的电子凭证传输账号对应的节点,对于该类节点可由技术人员预先进行输入,或者是由系统根据一些预设的标准进行筛选获取,这些都属于本申请的保护范围。
S202,确定与各所述输入节点对应的扩展网络,所述扩展网络由与所述输入节点相邻以及间接相邻的节点组成。
基于对图1的分析,如果节点N1和节点N2存在链接关系和社团群组,那么分别以节点N1和节点N2为起点逐层向外扩展的网络中肯定存在交集,因此存在2种情况N1和N2间有链接联系:
(1)节点N1和节点N2直接相连,这种情况只需分析给定节点的相邻节点是否包含其它给定节点即可;
(2)在N1和N2的N度网络内肯定存在共同节点。如图3所示,以节点N3为中心的2度网络和以节点N4为中心的3度网络存在相交节点K,则利用节点K沿边的方向反向查找,就可识别节点N3和N4间的社团群组为:J、K、M、P,而从节点Q扩散出去的网络(包括Q和R)则不属于N3、N4间的关联节点群组,消息传播时可忽略Q衍生出去的路径。
因此,在获取输入节点的关系网络时,可以利用中间节点的统计信息来快速地识别出输入节点间的相交节点,从而大幅度地减少发现所有关联节点的成本。为此本申请的优选实施例首先通过以下步骤获取由与所述输入节点相邻以及间接相邻的节点组成的扩展网络:
步骤a)以所述输入节点为中心节点,记录与所述中心节点相邻的下一级节点,并在记录完成后将所述下一级节点作为新的中心节点,所述下一级节点为接收电子凭证传输的账号所对应的节点;
步骤b)当所述中心节点不存在相邻的下一级节点或所述中心节点的下一级节点为所述输入节点时,根据已记录的节点以及已记录的节点之间的连接关系生成所述扩展网络。
S203,确定所述扩展网络中的关键节点,所述关键节点为在各所述扩展网络中出现的次数大于预设阈值的节点。
在通过S202确定扩展网络后,该优选实施例即获取扩展网络中各个节点在所有的扩展网络中出现的次数,并将次数大于预设阈值的节点作为所述关键节点。该预设阈值可由技术人员根据实际情况灵活设置,数值的不同并不影响本申请的保护范围。
S204,获取各所述输入节点以及各所述关键节点之间的中间节点,将所述中间节点作为与所述输入节点对应的关联节点。
在通过S202确定扩展网络的扩展顺序和通过S203确定关键节点后,该步骤只需要线性的时间复杂度和较少的内存资源即可识别给定节点之间的所有中间节点,从而简化挖掘所有关联节点的复杂度。具体的中间节点的获取方式在本申请的优选实施例中如下:
步骤a)为所述关键节点设置指定标识,并将所述关键节点设置为起始节点;
步骤b)将所述指定标识携带在标签消息中沿所述起始节点的上一级节点的方向传递,所述上一级节点为发起电子凭证传输的账号所对应的节点;
步骤c)根据所述标签消息的传播路径获取所述中间节点。
如图4所示,为本申请具体实施例所提出的一种中间节点确定方法的流程图,大致步骤如下:
步骤a)输入待分析的节点列表,对应图1和图3的N1、N2、N3、N4节点;
步骤b)以输入节点为中心,逐步找出输入节点的N度关系网络,例如在图3中,节点J属于N3的第1层节点,节点K属于N3的第2层节点,节点Q属于N3的第3层节点,即对于节点N1来说节点J、K、Q的访问顺序是有序的;
步骤c)在获取输入节点的关系网络时,统计每个节点出现在多少个不同输入节点的N度网络中。例如对于图3的节点K来说,该节点出现在节点N3和N4的N度网络中,统计次数为2;图3中的其它节点则都只出现在N1或者N2的N度网络中,统计次数均为1;
步骤d)取出统计次数>=2的节点,这些节点即是输入节点间的关键节点,通过这些节点可以利用标签传播算法就可以找出输入节点间所有的关联节点。
在利用标签传播算法时,会使用输入节点的N度网络来构建图结构,例如使图3的链接信息来创建图5,在保持节点间的访问顺序的同时节点间的边是单向的,边的顺序反映了节点间的扩展顺序(为了便于后续说明,图5在图3的基础上增加了部分边关系)。
在图5中,节点K和节点M都是关键节点,此时用标签传播算法来识别N3、N4、N5间的关联节点时,节点K只会往节点J、M发送标签消息“Y”,“Y”表示当前节点是关联节点内的节点;节点M会往节点P、T发送消息“Y”,而节点S、Q、R是永远不会收到消息的,因为每个节点只会沿以本节点为终点的边发送消息,消息接收者为边对应的起点。这样整个网络在发现输入节点间的关联节点时消息量大幅度减小了,并且收到消息的节点肯定最终是关联节点的成员。因此,在本申请的优选实施例中,当需要根据所述标签消息的传播路径获取所述中间节点时,首先判断是否存在接收到所述标签消息的节点,随后按照以下不同的进行处理:
(1)若存在收到所述标签消息的节点,为所述节点设置所述指定标识,并判断所述节点是否存在上一级节点;
(2)若存在收到所述标签消息的节点,且收到所述指定标识的节点存在上一级节点,为所述节点设置所述指定标识,并将所述所述标签消息传递至所述起始节点的上一级节点;
(3)若存在收到所述标签消息的节点,且所述节点不存在上一级节点,为所述节点设置所述指定标识,并输出具有所述指定标识的节点作为所述中间节点;
(4)若不存在收到所述标签消息的节点,输出具有所述指定标识的节点作为所述中间节点。
如图6所示,为本申请具体实施例中标签传播算法的流程示意图,首先将将关键节点标记为起始节点,增加标签“Y”(每个节点在接收到这个标签后都会保存且继续后续的流程),随后起始节点传递标签“Y”给上游节点,并判断是否有节点收到消息,若无接收到消息的节点则说明处理完成,此时输出标记为“Y”节点。若存在接收到消息的节点则继续判断收到消息的节点是否有上游节点,若是则将“Y”标签传递给上游节点,并重新一轮判断是否有节点收到消息,若否则该节点结束处理,增加标签“Y”。
通过采取上述实施例的技术方案,技术人员可以实时地挖掘出风险账号间所有潜在的风险社团和风险成员,因为算法的时间复杂度是线性的仅为O(n),n为输入账号间潜在的关联节点节点数,而其它算法则都需要遍历整个关系网络,通常整个网络的节点数远远大于n,并且这些算法都需要大量的硬件资源和时间才能发现最终的关联节点群组,算法性能非常低。因此该方法能够有效的提高关联节点的确定时效,并且同时节省硬件资源。
为达到以上技术目的,本申请还提出了一种关联节点确定设备,如图7所示,包括:
第一获取模块710,从所述关系网络中获取多个输入节点,所述关系网络包括多个节点,所述关系网络中的各节点对应唯一的电子凭证传输账号,相互之间具有电子凭证传输记录的节点相互连接;
第一确定模块720,确定与各所述输入节点对应的扩展网络,所述扩展网络由与所述输入节点相邻以及间接相邻的节点组成;
第二确定模块730,确定所述扩展网络中的关键节点,所述关键节点为在各所述扩展网络中出现的次数大于预设阈值的节点;
第二获取模块740,获取各所述输入节点以及各所述关键节点之间的中间节点,将所述中间节点作为与所述输入节点对应的关联节点。
在具体的应用场景中,所述第一确定模块具体用于:
以所述输入节点为中心节点,记录与所述中心节点相邻的下一级节点,并在记录完成后将所述下一级节点作为新的中心节点,所述下一级节点为接收电子凭证传输的账号所对应的节点;
当所述中心节点不存在相邻的下一级节点或所述中心节点的下一级节点为所述输入节点时,根据已记录的节点以及已记录的节点之间的连接关系生成所述扩展网络。
在具体的应用场景中,所述第二确定模块具体用于:
获取所述扩展网络中各个节点在所有的扩展网络中出现的次数;
将所述次数大于预设阈值的节点作为所述关键节点。
在具体的应用场景中,所述第二获取模块具体包括:
设置子模块,为所述关键节点设置指定标识,并将所述关键节点设置为起始节点;
传递子模块,将所述指定标识携带在标签消息中沿所述起始节点的上一级节点的方向传递,所述上一级节点为发起电子凭证传输的账号所对应的节点;
获取子模块,根据所述标签消息的传播路径获取所述中间节点。
在具体的应用场景中,所述获取子模块具体用于:
判断是否存在接收到所述标签消息的节点;
若存在收到所述标签消息的节点,为所述节点设置所述指定标识,并判断所述节点是否存在上一级节点;
若存在收到所述标签消息的节点,且收到所述指定标识的节点存在上一级节点,为所述节点设置所述指定标识,并将所述标签消息传递至所述起始节点的上一级节点;
若存在收到所述标签消息的节点,且所述节点不存在上一级节点,为所述节点设置所述指定标识,并输出具有所述指定标识的节点作为所述中间节点;
若不存在收到所述标签消息的节点,输出具有所述指定标识的节点作为所述中间节点。
通过应用本申请的技术方案,在从相互之间具有电子凭证传输记录的节点相互连接的关系网络中获取多个输入节点后,确定与各输入节点对应的扩展网络,随后确定扩展网络中的关键节点,并获取各输入节点以及各关键节点之间的中间节点,将中间节点作为与输入节点对应的关联节点。从而能够在大规模的复杂网络快速地定位潜在的关联节点,同时大幅度降低了确定过程的运行时间和硬件需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。