CN105740274B - 基于无向图的用户账号查找方法及装置 - Google Patents

基于无向图的用户账号查找方法及装置 Download PDF

Info

Publication number
CN105740274B
CN105740274B CN201410758186.7A CN201410758186A CN105740274B CN 105740274 B CN105740274 B CN 105740274B CN 201410758186 A CN201410758186 A CN 201410758186A CN 105740274 B CN105740274 B CN 105740274B
Authority
CN
China
Prior art keywords
key
value set
subset
value
new
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.)
Active
Application number
CN201410758186.7A
Other languages
English (en)
Other versions
CN105740274A (zh
Inventor
王骏龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Tmall Technology Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410758186.7A priority Critical patent/CN105740274B/zh
Publication of CN105740274A publication Critical patent/CN105740274A/zh
Application granted granted Critical
Publication of CN105740274B publication Critical patent/CN105740274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于无向图的用户账号查找方法及装置,其中,所述方法,包括:在无向图中识别存在连通路径的成对节点,并将每对节点分别放入一连通集合;分别根据每个连通集合生成key‑value集合,并将所有的key‑value集合放入待处理组,将待处理组中将key子集相同的key‑value集合合并;在待处理组中识别置换key‑value集合,根据置换key‑value集合将待处理组中key子集相同的key‑value集合合并;在待处理组中将key子集相同的key‑value集合合并,识别待处理组中目标key‑value集合。本申请通过对无向图进行连通路径的计算,可以在海量数据中实现准确查找和归类。

Description

基于无向图的用户账号查找方法及装置
技术领域
本申请涉及电视通信技术领域,具体涉及一种基于无向图的用户账号查找方法及装置。
背景技术
在目前,一些交易平台、网购平台、社交网站、门户网站等等,凡是针对用户提供用户账号注册申请业务的网站或者客户端软件,均普遍存在一个用户同时申请使用多个用户账号的情况,即“同人多账号”。在这种情况下,对于服务提供商有必要识别出哪些用户账号属于同一个用户,这样当同一个用户的多个用户账号之间发生频繁的异常操作时,例如购物网站中刷购买记录、信用值的情况,或者出现骗买骗卖的情况时,服务提供商可以及时监控管理。
但是当服务提供商拥有海量用户时,而一个用户又可以注册多个用户账号,总的用户账号的数量将变得极为庞大,这使得用户账号的管理变得相当复杂。现有技术中利用数据库中进行多次添加从而将一些用户账号连接起来进行识别“同人多账号”。这种方法非常容易发生遗漏,并不能将属于同一人的全部用户账号都连接起来,如果勉强使用,则会出现一个账号属于多个人或者属于同一人的两个账号但归为不同人。而如果希望多次迭代进行改善,则无法得知迭代算法是否收敛,而且海量数据迭代速度也非常慢,造成效率低下。
发明内容
本申请的目的在于提供一种基于无向图的用户账号查找方法及装置。
为了达到上述目的,本申请公开了一种基于无向图的用户账号查找方法,包括:在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,将所述待处理组中将key子集相同的key-value集合合并;在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
进一步地,分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,将所述待处理组中将key子集相同的key-value集合合并,包括:在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重。
进一步地,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,包括:在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合。
进一步地,在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换,包括:根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合。
进一步地,在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号,包括:在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
进一步地,识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重;根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
进一步地,根据所述新的连通集合形成多个新的key-value集合,包括:在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
进一步地,对每个新的连通集合中的节点进行去重,包括:对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
进一步地,识别所述待处理组中目标key-value集合,包括:识别所述待处理组中目标key-value集合,获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重;根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
进一步地,根据所述新的连通集合形成多个新的key-value集合,包括:在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
进一步地,对每个新的连通集合中的节点进行去重,包括:对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
为了达到上述目的,本申请公开了一种基于无向图的用户账号查找方法,还包括:在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重;在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合;在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
为了达到上述目的,本申请还公开了一种基于无向图的用户账号查找方法,包括:初始化模块,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别作为一连通集合,所述无向图中任一节点对应一用户账号;处理组分发模块,用于分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,将所述待处理组中将key子集相同的key-value集合合并;同组预处理模块,用于在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;合并查找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
进一步地,所述处理组分发模块,用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;还用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重。
进一步地,所述同组预处理模块,用于在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合。
进一步地,所述同组预处理模块,用于根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合。
进一步地,所述合并查找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次。
进一步地,还包括:账号输出模块,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
进一步地,所述合并查找模块,识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知所述处理组分发模块;所述处理组分发模块,用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
进一步地,所述处理组分发模块,用于在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
进一步地,所述合并查找模块,用于对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
进一步地,所述合并查找模块,用于识别所述待处理组中目标key-value集合,获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知所述处理组分发模块;所述处理组分发模块,用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,通知所述同组寻找模块继续迭代进行处理。
进一步地,所述处理组分发模块,用于在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
进一步地,所述合并查找模块,用于对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
为了达到上述目的,本申请还公开了一种基于无向图的用户账号查找方法,包括:初始化模块,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;处理组分发模块,用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;同组寻找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重;同组预处理模块,用于在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合;合并查找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;账号输出模块,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
与现有技术相比,本申请可以获得包括以下技术效果:
使用无向图对用户账号进行描述,通过对无向图进行连通路径的计算,从而将散落的连通路径联合成一个整体,所有相互连通的节点表示属于同一个用户的不同用户账号,可以在海量数据中实现准确查找和归类,同时迭代效率高,算法收敛速度快。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种基于无向图的用户账号查找方法的方法流程图;
图2是本申请实施例的另一种基于无向图的用户账号查找方法的方法流程图;
图3是本申请实施例的另一种基于无向图的用户账号查找方法的方法流程图;
图4是本申请实施例的另一种基于无向图的用户账号查找方法的方法流程图;
图5是本申请实施例的一种基于无向图的用户账号查找装置的装置结构图。
图6是本申请实施例的一种基于无向图的用户账号查找装置的装置结构图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
实施例描述
下面以一实施例对本申请方法的实现作进一步说明。如图1所示,为本申请实施例的一种基于无向图的用户账号查找方法的方法流程图,该方法包括:
步骤S100:在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;
步骤S102:分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,将所述待处理组中将key子集相同的key-value集合合并;
步骤S104:在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;
步骤S106:在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
下面以第二实施例对本申请方法的实现作进一步说明。如图2所示,为本申请实施例的另一种基于无向图的用户账号查找方法的方法流程图,该方法包括:
步骤S200:在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号。
对于存在连通路径的成对节点,一般认为是属于同一个用户的两个用户账号;如果将成对节点之间的连通路径叫做散落的连通路径,需要考量的是,这些散落的连通路径之间是否还会通过一些公共节点相互连通,这样就可以将散落的连通路径连成一个整体,这个整体内的所有节点都可以认为是属于同一个用户的多个不同的用户账号。
那为了便于操作,将每个散落的连通路径上的一对节点,作为节点对放入一连通集合,这样可以得到多个连通集合,以连通集合的形式将一些节点绑定,这些绑定的节点就是后面步骤的操作对象。
步骤S201:在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组。
对于步骤S200中从无向图中初始识别到的连通集合中,存放的是存在连通路径的成对节点,因此这些连通集合中只有两个节点,将两个节点中字典序最小的节点为key子集,将两个节点作为value子集,这样形成一个key-value集合;同时再以两个节点中字典序最大的节点为key子集,将字典序最小的节点为value子集,这样也形成一个key-value集合。这两个key-value集合都要放入待处理组。类似这样,将从无向图中初始识别到的所有连通集合都做这样的处理,得到若干key-value集合,将这些key-value集合也都要放入待处理组。
举例来说,步骤S200得到5个连通集合,分别是:
连通集合序号 节点
1 (a,b)
2 (b,c)
3 (d,e)
4 (f,c)
5 (b,g)
表1
他们分别代表节点a和节点b之间存在连通路径,节点b和节点c之间存在连通路径,节点d和节点e之间存在连通路径,节点f和节点c之间存在连通路径,节点b和节点g之间存在连通路径。
按字典序节点a<节点b<节点c<节点d<节点e<节点f<节点g,因此在本步骤中,对于每个连通集合进行处理会得到待处理组如下:
表2
步骤S202:在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重。
所述待处理组中包含很多key-value集合,其中有一部分key-value集合的key子集相同,说明这些key子集内都是同一个节点,也就是说,这部分key子集相同的key-value集合是一些起点相同的连通路径。对这些起点相同的连通路径进行合并,这部分key子集相同的key-value集合的value子集进行合并,合并后得到的新的value子集中会有重复出现的节点,对这些重复出现的节点进行去重,去重后得到的新的value子集会包含原来这部分key-value集合的value子集中所有的节点,也就是这部分key-value集合中所有的节点。新的key-value集合中的key子集,还是原来这部分key-value集合的key子集。这样得到的新的key-value集合会替换这部分key子集相同的key-value集合,放入所述待处理组中。
接续上例,对表2中得到的待处理组进行合并并去重,得到待处理组如下:
表3
步骤S203:在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点。
如果在所述待处理组中识别到置换key-value集合,执行步骤S204。如果在所述待处理组中识别不到置换key-value集合,直接执行步骤S205。
置换key-value集合中记录的主要是这样一种具有连通路径的节点对。这个连通路径的终点节点并没有再和其他节点有连通关系,也就是说这个终点节点没有再成为另一个连通路径的起点。
接续上例,对表3中得到的待处理组中,识别到置换key-value集合如下:
表4
步骤S204:在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合。
根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合。
接续上例,对表4中得到的置换key-value集合进行处理,识别到新的key-value集合如下:
表5
根据表5中对置换key-value集合进行处理后得到的新的key-value集合,替换表4中置换key-value集合,得到待处理组如下:
表6
步骤S205:在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;
这里在对所述待处理组的key-value集合合并时并不进行去重处理,因为后面需要判断其中所述待处理组的key-value集合中value子集内节点出现的次数。
接续上例,根据表6对所述待处理组的key-value集合进行合并,得到待处理组如下:
表7
显然,从表7的待处理组中可以识别出目标key-value集合(参见表8)。所述目标key-value集合中的value子集包括key子集的节点d和其他节点(e,e),所述其他节点(e,e)的每一个均出现两次:
d d,e,e
表8
步骤S206:对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
接续上例,对表8中value子集所包含的所有节点进行去重,得到value子集如下:
d,e
表9
这value子集(d,e)就可以确认是属于同一个用户的不同账号。
当然,从第二实例中可以看出,除了value子集(d,e)被识别出了,待处理组中的剩余key-value集合还没有完成查找,如下表10所示。所以上述流程还可以进行继续迭代,从而最终将梳理完成所有的key-value集合。
表10
下面以第三实施例对本申请方法的实现作进一步说明。如图3所示,为本申请实施例的另一种访问控制方法的方法流程图,基于图2相应的实施例的流程,在步骤S205之后,该方法包括:
步骤S207,识别所述待处理组中目标key-value集合,获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重。
步骤S200中也形成了连通集合,不同的是,步骤S200中的连通集合是从无向图中初始识别到的,初始连通集合存放的是存在连通路径的成对节点,因此这些初始连通集合中只有两个节点。而本步骤S207中的连通集合是经过步骤S201至S205的处理后再次形成的连通集合,本步骤S207中的连通集合存放的是存在连通路径关系的一系列节点,这一系列节点两两之间具有连通关系,从而组成一个更大更长的连通路径。
接续上例,对表10中每个剩余的key-value集合的value子集分别作为新的连通集合,得到多个新的连通集合,并对每个新的连通集合中的节点进行去重后如下:
新的连通集合序号 节点
1 (a,b)
2 (a,b,c,g)
3 (b,c,f)
表11
如表11所述,新的连通集合可以是存在连通路径的成对节点,例如(a,b),说明节点a和节点b之间具有连通路径;新的连通集合也可以是存在连通路径关系的一系列节点,例如(a,b,c,g),说明节点a、节点b、节点c和节点g之间具有连通路径;同样的,例如(b,c,f),说明节点b、节点c和节点f之间具有连通路径。
需要说明的是,对每个新的连通集合内的节点去重后,虽然表11的示例中没有示出,但是这些新的连通集合之间可能会出现完全相同的情况,这样需要再对新的连通集合进行去重,这样可以大大降低连通集合的个数,降低运算量。当然,如果不进行去重,并不会影响计算结果,只是运算量较大,效率相对较低。
步骤S208,根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,跳转到步骤S202,迭代进行处理。
根据所述新的连通集合形成多个新的key-value集合的方式,如同步骤S201中的操作,在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
接续上例,在本步骤中,对于每个新的连通集合进行处理会得到新的待处理组如下:
表12
对表12中得到的新的待处理组,跳转到步骤S202继续处理,形成多次迭代。从表12开始所进行的处理,依照步骤S202到步骤S205到步骤S207、S208的处理,可参考表2到表11变化过程,限于篇幅,本实施例中不对完整的迭代过程进行列出,但是本领域技术人员完全可以理解并复现这个迭代过程。
下面列出迭代完成前的最后一次处理过程,以便对本实施例做出更好地说明。
接续上例,在本步骤中,迭代多次后,对于最近一次迭代得到的每个新的连通集合进行处理会得到新的待处理组如下:
表13
依照步骤S202到步骤S203的处理,识别到表13中的置换key-value集合如下:
表14
依照步骤S204的处理,对表14中得到的置换key-value集合进行处理,识别到新的key-value集合如下:
表15
根据表15中对置换key-value集合进行处理后得到的新的key-value集合,替换表14中置换key-value集合,得到待处理组如下:
表16
依照步骤S205的处理,根据表16对所述待处理组的key-value集合进行合并,得到待处理组如下:
表17
显然,表17中的待处理组内的key-value集合就是目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点a和其他节点(b,c,f,g)的每一个均出现两次。
依据步骤S206的处理,对表17中value子集所包含的所有节点进行去重,得到value子集如下:
a,b,c,f,g
表18
这value子集(a,b,c,f,g)就可以确认是属于同一个用户的不同账号。
当然,从第二、三实例中还可以看出,步骤S205中也有可能识别不到所述待处理组中目标key-value集合,所以上述流程还可以进行继续迭代,从而最终将梳理完成所有的key-value集合。
下面以第四实施例对本申请方法的实现作进一步说明。如图4所示,为本申请实施例的另一种访问控制方法的方法流程图,基于图2和或图3相应的实施例的流程,在步骤S205之后,该方法包括:
步骤S209,识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重。
而本步骤S209中的连通集合是经过步骤S201至S205、甚至S207至S208的处理后再次形成的连通集合,本步骤S209中的连通集合存放的是存在连通路径关系的一系列节点,这一系列节点两两之间具有连通关系,从而组成一个更大更长的连通路径。
需要说明的是,对每个新的连通集合内的节点去重后,这些新的连通集合之间可能会出现完全相同的情况,这样需要再对新的连通集合进行去重,这样可以大大降低连通集合的个数,降低运算量。当然,如果不进行去重,并不会影响计算结果,只是运算量较大,效率相对较低。
步骤S210,根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,跳转到步骤S202,迭代进行处理。
根据所述新的连通集合形成多个新的key-value集合的方式,如同步骤S201中的操作,在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
迭代进行处理依照步骤S202到步骤S205和/或到步骤S207、S208的处理,可参考上述第二、第三实施例,限于篇幅,本实施例中不对完整的迭代过程进行列出,但是本领域技术人员完全可以理解并复现这个迭代过程。
在上述第三、第四实施例中,在步骤S208和步骤S210中,也可以不清空清空所述待处理组,这样清空所述待处理组中除了已经找出的目标key-value集合,还存在其他key-value集合,在迭代处理时,只需要处理其他key-value集合即可,那为了区分不需要处理的目标key-value集合和需要继续迭代处理的其他key-value集合,可以为key-value集合设置标志位,如用next表示待处理标志位,用ok表示已输出标志位。这样对于目标key-value集合直接置为next(待处理标志位),对于其他key-value集合置为ok(已输出标志位),在迭代处理重新生成待处理组时,只对标志位为next的进行处理就好了,直到待处理组中所有的key-value集合的标志位都为ok,就可以停止了,算法收敛。
下面以另一实施例对本申请装置的实现作进一步说明。如图5所示,为本申请实施例的基于无向图的用户账号查找装置的装置结构图,所述用户账号查找装置包括:初始化模块50、处理组分发模块52、同组预处理模块54和合并查找模块56;
初始化模块50,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别作为一连通集合,所述无向图中任一节点对应一用户账号;
处理组分发模块52,用于分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,将所述待处理组中将key子集相同的key-value集合合并;
同组预处理模块54,用于在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;
合并查找模块56,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
当然,还有一种情况,合并查找模块56可能会识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知处理组分发模块52;处理组分发模块52,进一步用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,通知同组预处理模块54继续迭代进行处理。
在迭代之后,连通集合存放的是存在连通路径关系的一系列节点,这一系列节点两两之间具有连通关系,从而组成一个更大更长的连通路径。对每个新的连通集合内的节点去重后,这些新的连通集合之间可能会出现完全相同的情况,需要合并查找模块56对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重,这样可以大大降低连通集合的个数,降低运算量。处理组分发模块52在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
另外,还有一种情况,合并查找模块56在识别所述待处理组中目标key-value集合之后,继续获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知处理组分发模块52。处理组分发模块52,进一步用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,通知同组预处理模块54继续迭代进行处理。
在迭代之后,连通集合存放的是存在连通路径关系的一系列节点,这一系列节点两两之间具有连通关系,从而组成一个更大更长的连通路径。对每个新的连通集合内的节点去重后,这些新的连通集合之间可能会出现完全相同的情况,需要合并查找模块56对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重,这样可以大大降低连通集合的个数,降低运算量。处理组分发模块52在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
具体来说,处理组分发模块52,进一步用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;还用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重,这样所述待处理组内的key-value集合就进行了更新,通知同组预处理模块54。
同组预处理模块54,进一步用于在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,这样处理后所述待处理组内的key-value集合再次发生了更新,通知同组预处理模块54识别置换key-value集合。
在识别置换key-value集合时,所述同组预处理模块54,进一步用于根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合,这样处理后所述待处理组内的key-value集合再次发生了更新,通知合并查找模块56。
合并查找模块56,进一步用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次。
当然,还需要对目标key-value集合进行处理才可以输出,如图5中,所示,所述用户账号查找装置还包括:
账号输出模块58,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
在另一实施例中,基于图6所示,所述用户账号查找装置包括:
初始化模块60,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;
处理组分发模块62,用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;
同组寻找模块64,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重;
同组预处理模块66,用于在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合;
合并查找模块68,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;
账号输出模块70,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
合并查找模块68,在识别不到所述待处理组中目标key-value集合时,或者对于目标key-value集合之外剩余的key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知处理组分发模块62;处理组分发模块62,进一步用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,通知同组寻找模块64继续迭代进行处理。
所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (25)

1.一种基于无向图的用户账号查找方法,其特征在于,包括:
在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;
分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,在所述待处理组中将key子集相同的key-value集合合并;
在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;
在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
2.如权利要求1所述的用户账号查找方法,其特征在于,分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,在所述待处理组中将key子集相同的key-value集合合并,进一步包括:
在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;
在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重。
3.如权利要求2所述的用户账号查找方法,其特征在于,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,进一步包括:
在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合。
4.如权利要求3所述的用户账号查找方法,其特征在于,在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换,进一步包括:
根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合。
5.如权利要求3所述的用户账号查找方法,其特征在于,在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号,进一步包括:
在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;
对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
6.如权利要求5所述的用户账号查找方法,其特征在于,
识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重;
根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
7.如权利要求6所述的用户账号查找方法,其特征在于,根据所述新的连通集合形成多个新的key-value集合,进一步包括:
在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
8.如权利要求6所述的用户账号查找方法,其特征在于,对每个新的连通集合中的节点进行去重,进一步包括:
对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
9.如权利要求5所述的用户账号查找方法,其特征在于,识别所述待处理组中目标key-value集合,进一步包括:
识别所述待处理组中目标key-value集合,获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重;
根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
10.如权利要求9所述的用户账号查找方法,其特征在于,根据所述新的连通集合形成多个新的key-value集合,进一步包括:
在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
11.如权利要求9所述的用户账号查找方法,其特征在于,对每个新的连通集合中的节点进行去重,进一步包括:
对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
12.一种基于无向图的用户账号查找方法,其特征在于,包括:
在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;
在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;
在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重;
在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;
在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合;
在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;
对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
13.一种基于无向图的用户账号查找装置,其特征在于,包括:
初始化模块,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别作为一连通集合,所述无向图中任一节点对应一用户账号;
处理组分发模块,用于分别根据每个连通集合生成key-value集合,并将所有的key-value集合放入待处理组,在所述待处理组中将key子集相同的key-value集合合并;
同组预处理模块,用于在所述待处理组中识别置换key-value集合,根据所述置换key-value集合将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合,其中,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;
合并查找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
14.如权利要求13所述的用户账号查找装置,其特征在于,
所述处理组分发模块,进一步用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;还用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重。
15.如权利要求14所述的用户账号查找装置,其特征在于,
所述同组预处理模块,进一步用于在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合。
16.如权利要求15所述的用户账号查找装置,其特征在于,
所述同组预处理模块,进一步用于根据所述置换key-value集合中key子集内的节点形成新的value子集,根据所述置换key-value集合中value子集内的节点形成新的key子集,根据所述新的key子集和新的value子集形成新的key-value集合,并替换所述置换key-value集合。
17.如权利要求15所述的用户账号查找装置,其特征在于,
所述合并查找模块,进一步用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次。
18.如权利要求17所述的用户账号查找装置,其特征在于,还包括:
账号输出模块,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
19.如权利要求17所述的用户账号查找装置,其特征在于,
所述合并查找模块,识别不到所述待处理组中存在所述目标key-value集合时,将所述待处理组中每个key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知所述处理组分发模块;
所述处理组分发模块,进一步用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,迭代进行处理。
20.如权利要求19所述的用户账号查找装置,其特征在于,
所述处理组分发模块,进一步用于在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
21.如权利要求19所述的用户账号查找装置,其特征在于,
所述合并查找模块,进一步用于对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
22.如权利要求17所述的用户账号查找装置,其特征在于,
所述合并查找模块,进一步用于识别所述待处理组中目标key-value集合,获取所述待处理组中所述目标key-value集合之外的每个剩余的key-value集合,将所述每个剩余的key-value集合分别作为新的连通集合,从而得到多个新的连通集合,并对每个新的连通集合中的节点进行去重,通知所述处理组分发模块;
所述处理组分发模块,进一步用于根据去重后的所述新的连通集合形成多个新的key-value集合,清空所述待处理组,并将所述多个新的key-value集合放入所述清空后的待处理组从而形成新的待处理组,通知所述同组寻找模块继续迭代进行处理。
23.如权利要求22所述的用户账号查找装置,其特征在于,
所述处理组分发模块,进一步用于在每个新的连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个新的key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个新的key-value集合。
24.如权利要求22所述的用户账号查找装置,其特征在于,
所述合并查找模块,进一步用于对每个新的连通集合中的节点进行去重后,还对去重后得到的所有新的连通集合进行去重。
25.一种基于无向图的用户账号查找装置,其特征在于,包括:
初始化模块,用于在无向图中识别所有存在连通路径的成对节点,并将每对节点分别放入一连通集合,所述无向图中任一节点对应一用户账号;
处理组分发模块,用于在每个连通集合内,以字典序最小的节点为key子集,所有节点为value子集,形成一个key-value集合,再分别以其他任一节点为key子集,字典序最小的节点为value子集,形成一个或多个key-value集合,并将所有key-value集合放入待处理组;
同组寻找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,并对新的key-value集合中所包含的所有节点进行去重;
同组预处理模块,用于在所述待处理组中识别置换key-value集合,所述置换key-value集合中key子集仅包含一个节点、value子集也仅包含一个节点;在所述待处理组中将所述置换key-value集合中key子集和value子集内的节点进行交换并替换形成新的key-value集合,将所述待处理组中key子集相同的key-value集合合并从而替换形成新的key-value集合;
合并查找模块,用于在所述待处理组中将key子集相同的key-value集合合并从而替换形成新的key-value集合,识别所述待处理组中目标key-value集合,所述目标key-value集合中的value子集包括key子集的节点和其他节点,所述其他节点的每一个均出现两次;
账号输出模块,用于对所述目标key-value集合中value子集所包含的所有节点进行去重,去重后的所述目标key-value集合中value子集所包含的所有节点为属于同一用户的不同用户账号。
CN201410758186.7A 2014-12-10 2014-12-10 基于无向图的用户账号查找方法及装置 Active CN105740274B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410758186.7A CN105740274B (zh) 2014-12-10 2014-12-10 基于无向图的用户账号查找方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410758186.7A CN105740274B (zh) 2014-12-10 2014-12-10 基于无向图的用户账号查找方法及装置

Publications (2)

Publication Number Publication Date
CN105740274A CN105740274A (zh) 2016-07-06
CN105740274B true CN105740274B (zh) 2019-06-18

Family

ID=56239023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410758186.7A Active CN105740274B (zh) 2014-12-10 2014-12-10 基于无向图的用户账号查找方法及装置

Country Status (1)

Country Link
CN (1) CN105740274B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213801A (zh) * 2018-08-09 2019-01-15 阿里巴巴集团控股有限公司 基于关联关系的数据挖掘方法和装置
CN113704566B (zh) * 2021-10-29 2022-01-18 贝壳技术有限公司 识别号主体识别方法、存储介质和电子设备
CN114077609B (zh) * 2022-01-19 2022-04-22 北京四维纵横数据技术有限公司 数据存储及检索方法,装置,计算机可读存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840417A (zh) * 2010-03-29 2010-09-22 中国科学院声学研究所 一种基于相关关系的物联网uid查询方法
CN102214214A (zh) * 2011-06-02 2011-10-12 广州市动景计算机科技有限公司 数据关系的处理方法、装置及移动通讯终端
CN103257983A (zh) * 2012-09-10 2013-08-21 苏州大学 一种基于唯一性约束的Deep Web实体识别方法
CN103729474A (zh) * 2014-01-23 2014-04-16 中国科学院计算技术研究所 用于识别论坛用户马甲账号的方法和系统
CN103823846A (zh) * 2014-01-28 2014-05-28 浙江大学 一种基于图论的大数据存储及查询方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400958B2 (en) * 2010-06-30 2016-07-26 Oracle International Corporation Techniques for display of information related to policies

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840417A (zh) * 2010-03-29 2010-09-22 中国科学院声学研究所 一种基于相关关系的物联网uid查询方法
CN102214214A (zh) * 2011-06-02 2011-10-12 广州市动景计算机科技有限公司 数据关系的处理方法、装置及移动通讯终端
CN103257983A (zh) * 2012-09-10 2013-08-21 苏州大学 一种基于唯一性约束的Deep Web实体识别方法
CN103729474A (zh) * 2014-01-23 2014-04-16 中国科学院计算技术研究所 用于识别论坛用户马甲账号的方法和系统
CN103823846A (zh) * 2014-01-28 2014-05-28 浙江大学 一种基于图论的大数据存储及查询方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"实体搜索与实体解析方法研究";姜丽丽;《中国博士学位论文全文数据库》;20120915;全文
"社交网络中的链接预测研究";魏超;《中国优秀硕士学位论文全文数据库》;20130715;全文

Also Published As

Publication number Publication date
CN105740274A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
Kumar et al. Linear-time approximation schemes for clustering problems in any dimensions
CN105051729B (zh) 数据记录的选择
US10504120B2 (en) Determining a temporary transaction limit
JP5864614B2 (ja) 分類された誤配置の識別
Ienco et al. Parameter-less co-clustering for star-structured heterogeneous data
CN111080304B (zh) 一种可信关系识别方法、装置及设备
CN106708844A (zh) 一种用户群体的划分方法和装置
CN105335855A (zh) 一种交易风险识别方法及装置
CN107515886A (zh) 一种数据表的识别方法、装置和系统
CN105740274B (zh) 基于无向图的用户账号查找方法及装置
US10579589B2 (en) Data filtering
Halibas et al. Determining the intervening effects of exploratory data analysis and feature engineering in telecoms customer churn modelling
CN108268565A (zh) 基于数据仓库处理用户浏览行为数据的方法及系统
CN109598484A (zh) 一种在建工程转固定资产数字化审计方法及装置
Rossi et al. Hone: Higher-order network embeddings
CN109117475A (zh) 一种文本改写的方法以及相关设备
CN108460038A (zh) 规则匹配方法及其设备
CN106469182B (zh) 一种基于映射关系的信息推荐方法及装置
CN108319626B (zh) 一种基于名称信息的对象分类方法与设备
CN107871055A (zh) 一种数据分析方法和装置
CN107391627A (zh) 数据的内存占用分析方法、装置及服务器
Joshi et al. Software clone detection using clustering approach
TW201828193A (zh) 一種用戶群體的劃分方法和裝置
US10430775B1 (en) Validation and lookup techniques for rule-based data categorization
CN110069529A (zh) 集合处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211117

Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang tmall Technology Co., Ltd

Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands

Patentee before: Alibaba Group Holdings Limited

TR01 Transfer of patent right