CN110599278A - 聚合设备标识符的方法、装置和计算机存储介质 - Google Patents
聚合设备标识符的方法、装置和计算机存储介质 Download PDFInfo
- Publication number
- CN110599278A CN110599278A CN201810602300.5A CN201810602300A CN110599278A CN 110599278 A CN110599278 A CN 110599278A CN 201810602300 A CN201810602300 A CN 201810602300A CN 110599278 A CN110599278 A CN 110599278A
- Authority
- CN
- China
- Prior art keywords
- data
- pairs
- ids
- map
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004931 aggregating effect Effects 0.000 title claims abstract description 22
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000002776 aggregation Effects 0.000 claims abstract description 28
- 238000004220 aggregation Methods 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 238000007781 pre-processing Methods 0.000 claims description 13
- 235000014510 cooky Nutrition 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000000379 polymerizing effect Effects 0.000 claims description 6
- 230000002547 anomalous effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 238000006116 polymerization reaction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Finance (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Development Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种用于聚合设备标识符的方法、装置和计算机存储介质,其中方法包括:从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID;和利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图。通过本发明提供的方法对同一设备上多个ID进行聚合,以便将该多个ID标识成同一物理设备,从而使得能够为用户推荐更加精确的个性化服务。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种聚合设备标识符的方法、装置、设备和计算机存储介质。
【背景技术】
当前全世界的互联网服务提供者都在向个性化服务转向。目前的主要个性化服务是根据用户的行为进行分析,从而对其实现相关的业务推送。而在用户行为的采集中最为主要的操作就是对用户进行识别。目前对用户的识别主要是以某种设备标识符(如IDFA,MAC地址,以下称为设备ID),或者服务提供者(服务器端)主动创建的ID来标识用户。当需要给用户个性化推荐时,服务器端会根据这些零散的硬件ID来识别用户。
设备ID或者服务器端创建的ID存在稳定性问题,即这种类型的ID是否是一成不变的。按照稳定性可以对这些ID设定偏序关系,例如MAC(媒体访问控制)地址>IDFA(广告标识符)>IMEI(国际移动设备识别码)。对于稳定性弱的ID可能会经常发生改变,那么以这些ID来标识用户就会出现偏差。例如,当用户的硬件标识符改变后,而又没有及时地收集到用户的新的硬件标识符,那么此时就可能丢失目标用户,不利于业务的扩展。另外若同时采集到同一台物理设别的多个ID标识符,则会认为每一种ID都是一台设备。这会引起设备的分割问题,从而无法全面分析用户行为,更无法为其提供真正的个性化服务。例如IDFA1标识符可能变为IDFA2(在iOS的设置应用中“清除所有的内容和设置”),那么此时若既收到IDFA1又收到IDFA2,则在给用户做推荐的时候,就会出现重复推荐的问题,使用户产生逆反心理,降低了用户体验。
因此,需要提供一种能够更加精确地识别用户的方法,从而给用户提供更加精准的个性化服务。
【发明内容】
有鉴于此,本发明提供了一种用于聚合设备标识符ID的方法、装置、设备和计算机存储介质,以便能够更准确地识别用户。
具体技术方案如下。
本发明提供了一种信息展现的方法,该方法包括:
-从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID;
-利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图,
其中所述多个ID对中的每个ID是设备ID图中的点,所述多个ID对中的每个ID对是设备ID图中连接该ID对的两个ID的边,每个连通图表示一个用户设备。
根据本发明一具体实施方式,原始ID数据来自浏览器端数据、APP端数据和/或跨端数据。
根据本发明一具体实施方式,原始ID数据包括以下数据中的一种或多种:被叫用户识别号CUID数据、媒体访问控制MAC地址数据、国际移动设备识别码IMEI数据和Cookie级别的ID数据。
根据本发明一具体实施方式,每个ID对还包括属性数据。
根据本发明一具体实施方式,属性数据包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
根据本发明一具体实施方式,上述方法包括预处理所述多个ID对,预处理包括根据属性数据判断所述多个ID对中的ID的有效性,删除无效的ID;和或对属性数据进行归一化。
根据本发明一具体实施方式,上述方法包括将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对,所述聚合步骤聚合经整合的ID对。
根据本发明一具体实施方式,聚合进一步包括:
利用属性数据检测所述至少一个连通图中的异常边;和
删除检测到的异常边。
根据本发明一具体实施方式,聚合包括以下步骤:
设备ID图中的每个点向其邻接的点发送其当前连通分量标识符;
设备ID图中的每个点根据其接收到的邻接点的连通分量标识符更新其自身的连通分量标识符。
根据本发明一具体实施方式,聚合包括以下步骤:
设备ID图中的每个点向其连通分量标识符发送连通消息;
设备ID图中的每个点向其邻接的点发送其当前的连通分量标识符;
设备ID图中的每个点根据其接收到的连通消息和连通分量标识符更新其自身的连通分量标识符以及其连通的点。
根据本发明一具体实施方式,聚合还包括从连通图中的设备ID中按照设备ID的稳定性的优先顺序选择一个设备ID,用于标识相应的连通图所表示的用户设备。
本发明还提供了一种用于聚合设备标识符(ID)的装置,其特征在于,该设备包括:
-采集单元,其被配置为从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID;
-聚合单元,其被配置为利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图,
其中所述多个ID对中的每个ID对应于设备ID图中的点,所述多个ID对中的每个ID对对应于设备ID图中连接该ID对的两个ID的边,每个连通图表示一个用户设备。
根据本发明一具体实施方式,原始ID数据来自浏览器端数据、APP端数据和/或跨端数据。
根据本发明一具体实施方式,所述ID数据包括以下数据中的一种或多种:CUID数据、MAC地址数据、IMEI数据和Cookie级别的ID数据。
根据本发明一具体实施方式,每个ID对还包括属性数据,属性数据包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
根据本发明一具体实施方式,上述装置进一步包括预处理单元,其被配置为预处理所述多个ID对,预处理包括根据属性数据判断所述多个ID对中的ID的有效性,删除无效的ID;和/或对属性数据进行归一化。
根据本发明一具体实施方式,上述装置进一步包括整合单元,其被配置为将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对,聚合单元被配置为聚合经整合的ID对。
根据本发明一具体实施方式,聚合包括:
-设备ID图中的每个点向其邻接的点发送其当前连通分量标识符;
-设备ID图中的每个点根据其接收到的邻接点的连通分量标识符更新其自身的连通分量标识符。
根据本发明一具体实施方式,上述方法进一步包括从连通图中的设备ID中按照设备ID的稳定性的优先顺序选择一个设备ID,用于标识相应的连通图所表示的用户设备。
本发明还提供了一种装置,其特征在于,所述装置包括:
-一个或多个处理器;
-存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
本发明还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述的方法。
由以上技术方案可以看出,本发明的方法能够对同一设备上多个ID进行聚合,以便将该多个ID标识成同一物理设备,使得服务提供者能够为用户推荐更加精确的个性化服务。
【附图说明】
图1为根据本发明实施例的主要方法的流程图;
图2图示了根据本发明实施例的原始ID数据的来源;
图3为根据本发明实施例的连通图聚合法的一个示例;
图4为根据本发明实施例的连通图聚合法的一个示例;
图5为根据本发明实施例的连通图聚合法的一个示例;
图6图示了根据本发明实施例的连通图中的异常边;
图7为根据本发明的实施例的用于聚合设备标识符的装置;
图8示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明核心思想在于,通过采集的ID的关系进行设备ID图的聚合,从而使同一设备上多个ID聚合成同一连通图,以便将该多个ID标识成同一物理设备,因而可以通过多个ID识别同一物理设备。因此,本发明的方法使得服务提供者能够为用户推荐更加精确的个性化服务。
图1示出了本发明实施例提供的用于聚合设备标识符(ID)的方法的步骤。
该方法包括从原始ID数据中采集101多个ID对,每个ID对包括相关联的两个ID。
根据本发明的实施例,原始ID数据可以来自APP(应用程序)端和浏览器端。事实上,大部分的服务提供者会提供两种形式的服务:一种是网站,用户可以通过用户设备上的浏览器访问服务;另一种是APP,用户通过安装在用户设备上的APP访问服务。根据操作系统的不同,APP通常分为安卓端、iOS端以及Windows端。在浏览器端,通常服务器端能够主动生成的都是cookie级别的ID。这种类型的ID不稳定,在不同的隐私设置的情况下不一定能够生效,并且当用户清除cookie时会发生改变。另外由于浏览器的cookie比较开放,ID容易遭受攻击而发生变化。冷启动的ID比例较高,因为会收集到较多新的且可信度不高的ID。另外,同一个设备,由于具有不同的浏览器(例如手机百度、微信、微博,这些应用都能开启网页,有浏览器的属性),cookie是不一致的。在APP端,通常可以获取到设备的CUID(被叫用户识别号)、MAC地址、IMEI等ID。这类主动生成的ID(XID)稳定性相对于cookie类的ID较强因此是优选的。
来自用户设备的原始ID数据(例如保存在用户的日志中)会包括多种ID。这些ID两两的关系是直接关联的ID对。这些直接关联的ID对是本发明的聚合104步骤的基础和依据。因此,可以从尽可能多的源头采集大量丰富的ID对。根据优选的实施例,原始ID数据来自用户设备的APP端数据、浏览器端数据以及跨端数据。如在图2中所示出的那样,跨端数据是设备上的浏览器端跨到APP端的数据,或者从APP端跨到浏览器端的数据。通过一定的技术手段(例如,通过从浏览器端调用APP端或者从APP端调用浏览器端)可以实现跨端的通信,从而获取跨端数据。因此,相关联的两个ID(ID对)可以是来自同一物理设备的两个ID,例如来自同一APP端的两个ID,来自同一浏览器端的两个ID或者跨APP端和浏览器端的两个ID(其中一个来自浏览器端,另一个来自APP端)。采集到的原始ID数据可以存储在存储器中供后续步骤使用。
APP端可以主要采集设备级别的以及主动生成在设备上的XID(可以根据硬件信息生成)。浏览器端可以主要采集cookie类以及YID等标识符。在采集这些ID的同时,可以获取到设备的其它属性信息,例如设备型号、操作系统等。在优选的实施例中,每个ID对包括属性数据。属性数据可以是从原始ID数据中获得的,并且可以包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
根据本发明的方法还包括利用连通图聚合算法在设备ID图中聚合104多个ID对中的ID,生成至少一个连通图。在该步骤中,采用连通图聚合算法对采集到的ID对进行计算。其中每个ID对应于设备ID图中的点,每个ID对对应于设备ID图中连接该ID对的两个ID的边。通过计算,得到至少一个连通图。每个连通图表示一个用户设备,可以按照ID稳定的优先级选择ID作为设备标识符。也就是说,可以从连通图中的设备ID中按照设备ID的稳定性的优先顺序选择一个设备ID,用于在标识该连通图所表示的用户设备。这样,就可以使用用户设备的多个设备ID中最稳定的设备ID来标识该用户设备。连通图算法的示例将结合图3,图4和图5介绍。
由于连通图算法是尽可能做ID聚合的,这样生成的连通图中可能存在错误的打通(即,错误的边)。这种错误的打通存在的原因是存在异常的直接关联的ID对,也就是说存在不可靠的ID对。而连通图会放大异常ID对的问题。因此,根据优选的实施例,聚合104步骤还可以利用ID对(即,连通图中的边)的属性数据进行反作弊操作。具体地,聚合104步骤可以包括利用属性数据检测连通图中的异常边,以及删除检测到的异常边。优选地,可以从最为置信可靠的边开始,采用贪心算法逐对连通,裁断掉那些破坏一定策略的ID对。例如,一般而言一个设备只会有一个操作系统,不可能既是安卓系统又是iOS系统。因此在图6中示出的连通图中的各点(ID)不可能是代表同一个物理设备。连接两个系统中的ID的边显然是异常的并且应当予以删除。对连通图的反作弊处理可以从阈值(例如某ID与过多其它ID关联)、时序(ID关联的时间顺序)、频度(偶然出现的关联可以不予考虑)、属性等多个维度进行,以便保证聚合结果的准确性。
为了加快连通图的计算,可以使用当天的全量ID对(全量数据)与前一天的全量聚合结果进行ID对的聚合,从而加快连通图算法的收敛速度。这种情况可能导致前一天连通的边在新的一天没有出现或者被反作弊删除。然而,由于前一天聚合结果包括了该连通的边,这种加快的算法生成的连通图仍然包括了该连通的边,而实际整个连通图不是应该是完全连通的(因为该连通的边在新的一天没有出现或者应该被删除)。因此,这种加快的算法还需要进行子图的拆分。
根据本发明的方法可选地还可以包括图1中以虚线示出的ID对的预处理步骤102和整合步骤103。
预处理102步骤可以包括对采集到的ID对中的“脏数据”进行清洗,也就是说根据ID对的属性数据判断ID对中的ID的有效性,删除无效的ID。事实上,每种ID都遵循一定的生成规则。若采集到的ID对中的ID不符合相应的规则,那么该ID很可能是一个无效的ID。对于硬件ID,通常使用同一的规则,而主动生成的XID,YID等,通常遵循规则基础上由服务提供商自由指定的值。例如,MAC地址通常标识为12个16进制数。其中每2个16进制数之间用冒号隔开。具体地,08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它是由IEEE分配,而后3位16进制数0A:8C:6D代表该制造厂商所制造的某个网络产品。
替换地或附加地,预处理102步骤还可以包括对属性数据进行归一化处理。事实上,由于采集到的属性数据较多,且每种属性的值不统一,这既不利于数据计算也不利于数据存储。因此优选地,在执行聚合步骤的计算前可以对属性的值分别进行归一化。例如,在系统维度上,采用0表示未采集到系统信息,1表示安卓,2表示iOS,3表示Windows等。这样,聚合步骤中的计算负荷得以缓解,同时数据存储的容量得以减小。
整合103步骤可以包括将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对。具体地,整合可以涉及对相同的ID对进行合并。例如今天采集到的ID对(称为增量ID对)与历史上采集到的全部ID对(称为全量ID对)进行合并,同时对历史全量ID对的属性添加新采集到的增量ID对的属性。此外,还可以在不同属性组合上进行活跃次数的累加,最终形成完整的ID对信息。整合103步骤最后生成经整合的ID对。在聚合104步骤中可以聚合经整合的ID对。整合103步骤可以缓解负责采集ID对的采集元件的压力。事实上,由于整合103步骤的实施,可以进行天级别的数据采集。这种采集方式是一个循序渐进,增量累积的过程。
除了合并历史全量ID对和增量ID对之外,在整合103步骤中还可以包括对新的全量ID对进行整理,以便通过一定技术手段进行反作弊处理,以去除作弊的数据。反作弊处理可以涉及利用属性数据检测全量ID对中的异常ID对,以及去除检测到的异常ID对。事实上,有时在增量ID对中被检测为正常的(合法的)ID对,可能在全量ID对中整体上看却是异常的(非法的)。因此在整合103步骤中,优选地可以全量ID对中的非法ID对进行清理,从而得到干净的全量ID对。
以下结合图3、图4和图5对根据本发明的实施例的连通图聚合算法进行介绍。
根据本发明的一个实施例的连通图算法,设备ID图中的每个点根据其邻接点的连通分量标识符,更新自己的连通分量标识符。其中设备ID图是由点和边组成的。每个ID对应于设备ID图中的一个点,而每个ID对对应于连接该ID对的两个ID的边。具体地,如表1中示出的那样,根据该连通图算法,每个点仅向邻接点发送自己当前的连通图分量标识符,然而每个点根据自己收到的消息更新自己的连通分量标识符。在表1中,符号x->y(x大于y)表示向邻接点x发送连通分量标识符y。例如2->1表示向邻接点2发送连通分量标识符1。在图3中示出了连通图分量随着表1中的迭代过程的变化。这种连通图算法的时间复杂度为O(n-1)。这里约定按照数字序,选择连通图里面最小的点标识整个连通图。
表1
从表1中的迭代过程可以看出,其实在第一轮,点5(ID 5)已经通过点4发送的消息(5->3)将连通分量标识符更新为3。在第二轮的时候,如果点3能直接将自己当前的连通分量标识符1发送给点5,那么点5就能直接将自己的连通分量标识符更新成1,而不需要再通过点4进行一轮消息传递。反过来讲,在第一轮中点4已经将(5->3)的消息发送给点5,使得点5将其连通分量标识符更新为3。如果此时点4还能将3->5(即,点5是连接到连通分量3的)的连接消息发送给3(当x小于y时,x->y表示y是连接到连通分量x的),使得3更新自己的连接关系,那么3在下一轮就能直接向5发送5->1的消息,从而加速整个进程。此外也不需要点4再向点5传递消息,也就是说不必再维持原始的邻接关系。
针对上面的问题,提供了根据本发明的另一个实施例的加速连通图算法,即使用新形成的连接关系(ID<->连通分量标识符)取代邻接关系,可以加速寻找连通分量的进程。如在表2中示出的那样,具体做法是每个点仅向自己当前的连通分量标识符发送连通消息(即关于该连通分量连通点的消息),向邻接点发送自己当前的连通分量标识符,然后每个点根据自己收到的消息更新其自身的连通分量标识符和其连通点。在图4中示出了连通图分量随着表2中的迭代过程的变化。此时的时间复杂度为O(log2(n-1))。详细的迭代步骤在表2中给出。
表2
表3中给出了根据本发明的连通图算法的另一个示例。在图5中示出了连通图分量随着表3中的迭代过程的变化。
表3
以上是对本发明所提供的方法进行的详细描述,下面结合实施例对本发明提供的装置进行详细描述。
图7为根据本发明实施例的用于聚合设备标识符的装置的结构图,该装置可以位于服务器端。如图7所示,该装置可以包括:采集单元701、聚合单元704,以及可选地预处理单元702和整合单元703。其中各组成单元的主要功能如下。
采集单元701被配置为从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID。原始ID数据可以来自浏览器端数据、APP端数据和/或跨端数据。原始ID数据可以包括以下数据中的一种或多种:CUID数据、MAC数据、IMEI数据和Cookie级别的ID数据。每个ID对还可以包括属性数据,所述属性数据包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
聚合单元704被配置为利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图。
其中多个ID对中的每个ID对应于设备ID图中的点,多个ID对中的每个ID对对应于设备ID图中连接该ID对的两个ID的边,每个连通图表示一个用户设备。
聚合可以包括以下步骤:
-设备ID图中的每个点向其邻接的点发送其当前连通分量标识符;
-设备ID图中的每个点根据其接收到的邻接点的连通分量标识符更新其自身的连通分量标识符。
替换地,聚合可以包括以下步骤:
设备ID图中的每个点向其连通分量标识符发送连通消息;
设备ID图中的每个点向其邻接的点发送其当前的连通分量标识符;
设备ID图中的每个点根据其接收到的连通消息和连通分量标识符更新其自身的连通分量标识符以及其连通的点。
聚合单元704还可以进一步被配置为执行以下步骤:
-利用属性数据检测至少一个连通图中的异常边;和
-删除检测到的异常边。
聚合单元704还可以进一步被配置为从连通图中的设备ID中按照设备ID的稳定性的优先顺序选择一个设备ID,用于标识相应的连通图所表示的用户设备。
预处理单元702被配置为预处理所述多个ID对,预处理可以包括根据属性数据判断多个ID对中的ID的有效性。替换地或附加地,预处理还可以包括对属性数据进行归一化。
整合单元703被配置为将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对,聚合单元被配置为聚合经整合的ID对。
图8示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图8显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的方法流程。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行本发明实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种用于聚合设备标识符ID的方法,其特征在于,所述方法包括:
从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID;
利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图,
其中所述多个ID对中的每个ID对应于设备ID图中的点,所述多个ID对中的每个ID对对应于设备ID图中连接该ID对的两个ID的边,每个连通图表示一个用户设备。
2.根据权利要求1所述的方法,其特征在于,所述原始ID数据来自浏览器端数据、APP端数据和/或跨端数据。
3.根据权利要求2所述的方法,其特征在于,所述原始ID数据包括以下数据中的一种或多种:被叫用户识别号CUID数据、媒体访问控制MAC地址数据、国际移动设备识别码IMEI数据和Cookie级别的ID数据。
4.根据权利要求1所述的方法,其特征在于,每个ID对还包括属性数据。
5.根据权利要求4所述的方法,其特征在于,属性数据包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
6.根据权利要求4或5所述的方法,其特征在于,所述方法包括预处理所述多个ID对,所述预处理包括:根据属性数据判断所述多个ID对中的ID的有效性,删除无效的ID;和/或对属性数据进行归一化。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对,所述聚合步骤聚合经整合的ID对。
8.根据权利要求4或5所述的方法,其特征在于,所述聚合进一步包括:利用属性数据检测所述至少一个连通图中的异常边;和
删除检测到的异常边。
9.根据权利要求1所述的方法,其特征在于,所述聚合包括以下步骤:
设备ID图中的每个点向其邻接的点发送其当前连通分量标识符;
设备ID图中的每个点根据其接收到的邻接点的连通分量标识符更新其自身的连通分量标识符。
10.根据权利要求1所述的方法,其特征在于,所述聚合包括以下步骤:
设备ID图中的每个点向其连通分量标识符发送连通消息;
设备ID图中的每个点向其邻接的点发送其当前的连通分量标识符;
设备ID图中的每个点根据其接收到的连通消息和连通分量标识符更新其自身的连通分量标识符以及其连通的点。
11.根据权利要求1所述的方法,其特征在于,聚合还包括:
从连通图中的设备ID中按照设备ID的稳定性的优先顺序选择一个设备ID,用于标识相应的连通图所表示的用户设备。
12.一种用于聚合设备标识符ID的装置,其特征在于,该装置包括:
采集单元,其被配置为从原始ID数据中采集多个ID对,每个ID对包括相关联的两个ID;
聚合单元,其被配置为利用连通图聚合算法在设备ID图中聚合所述多个ID对中的ID,生成至少一个连通图,
其中所述多个ID对中的每个ID对应于设备ID图中的点,所述多个ID对中的每个ID对对应于设备ID图中连接该ID对的两个ID的边,每个连通图表示一个用户设备。
13.根据权利要求12所述的装置,其特征在于,所述原始ID数据来自浏览器端数据、APP端数据和/或跨端数据。
14.根据权利要求13所述的装置,其特征在于,所述原始ID数据包括以下数据中的一种或多种:被叫用户识别号CUID数据、媒体访问控制MAC地址数据、国际移动设备识别码IMEI数据和Cookie级别的ID数据。
15.根据权利要求12所述的装置,其特征在于,每个ID对还包括属性数据,所述属性数据包括以下信息中的一种或多种:操作系统类型、操作系统版本、设备供应商、设备型号、浏览器类型、屏幕尺寸、运营商名称。
16.根据权利要求15所述的装置,其特征在于,所述装置进一步包括预处理单元,其被配置为预处理所述多个ID对,所述预处理包括根据属性数据判断所述多个ID对中的ID的有效性,删除无效的ID;和/或对属性数据进行归一化。
17.根据权利要求12所述的装置,其特征在于,所述装置进一步包括整合单元,其被配置为将采集到的多个ID对与历史上采集到的ID对进行整合,生成经整合的ID对,所述聚合单元被配置为聚合经整合的ID对。
18.根据权利要求12所述的装置,其特征在于,所述聚合包括:
设备ID图中的每个点向其邻接的点发送其当前连通分量标识符;
设备ID图中的每个点根据其接收到的邻接点的连通分量标识符更新其自身的连通分量标识符。
19.一种装置,其特征在于,所述装置包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至11中任一所述的方法。
20.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1至11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810602300.5A CN110599278B (zh) | 2018-06-12 | 2018-06-12 | 聚合设备标识符的方法、装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810602300.5A CN110599278B (zh) | 2018-06-12 | 2018-06-12 | 聚合设备标识符的方法、装置和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599278A true CN110599278A (zh) | 2019-12-20 |
CN110599278B CN110599278B (zh) | 2022-07-22 |
Family
ID=68848819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810602300.5A Active CN110599278B (zh) | 2018-06-12 | 2018-06-12 | 聚合设备标识符的方法、装置和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599278B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632336A (zh) * | 2020-12-16 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 实时流式图关系的处理方法及系统 |
CN114339729A (zh) * | 2020-09-30 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 设备标识的生成方法及装置、电子设备、存储介质 |
CN115051936A (zh) * | 2022-03-31 | 2022-09-13 | 中国电子科技集团公司第十五研究所 | 一种基于多图的连通分量增量计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615658A (zh) * | 2014-12-31 | 2015-05-13 | 中国科学院深圳先进技术研究院 | 一种确定用户身份的方法 |
US20160055244A1 (en) * | 2014-08-22 | 2016-02-25 | Adelphic, Inc. | Audience on Networked Devices |
CN106657429A (zh) * | 2016-10-24 | 2017-05-10 | 珠海市魅族科技有限公司 | 一种设备标识符生成方法以及装置 |
CN107113596A (zh) * | 2014-11-13 | 2017-08-29 | 黑莓有限公司 | 在多个物理和虚拟sim卡上提供服务许可聚合的系统和方法 |
CN107193894A (zh) * | 2017-05-05 | 2017-09-22 | 北京小度信息科技有限公司 | 数据处理方法、个体识别方法及相关装置 |
-
2018
- 2018-06-12 CN CN201810602300.5A patent/CN110599278B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160055244A1 (en) * | 2014-08-22 | 2016-02-25 | Adelphic, Inc. | Audience on Networked Devices |
CN107113596A (zh) * | 2014-11-13 | 2017-08-29 | 黑莓有限公司 | 在多个物理和虚拟sim卡上提供服务许可聚合的系统和方法 |
CN104615658A (zh) * | 2014-12-31 | 2015-05-13 | 中国科学院深圳先进技术研究院 | 一种确定用户身份的方法 |
CN106657429A (zh) * | 2016-10-24 | 2017-05-10 | 珠海市魅族科技有限公司 | 一种设备标识符生成方法以及装置 |
CN107193894A (zh) * | 2017-05-05 | 2017-09-22 | 北京小度信息科技有限公司 | 数据处理方法、个体识别方法及相关装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114339729A (zh) * | 2020-09-30 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 设备标识的生成方法及装置、电子设备、存储介质 |
CN112632336A (zh) * | 2020-12-16 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 实时流式图关系的处理方法及系统 |
CN115051936A (zh) * | 2022-03-31 | 2022-09-13 | 中国电子科技集团公司第十五研究所 | 一种基于多图的连通分量增量计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110599278B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102151862B1 (ko) | 서비스 처리 방법 및 장치 | |
CN105590055B (zh) | 用于在网络交互系统中识别用户可信行为的方法及装置 | |
CN109347787B (zh) | 一种身份信息的识别方法及装置 | |
JP6594988B2 (ja) | 住所テキストを処理する方法及び機器 | |
CN109885452B (zh) | 性能监控方法、装置及终端设备 | |
KR20190109427A (ko) | 침입 탐지를 위한 지속적인 학습 | |
KR20160147622A (ko) | 파일 식별 방법 및 장치 | |
EP3001332A1 (en) | Target user determination method, device and network server | |
CN110599278B (zh) | 聚合设备标识符的方法、装置和计算机存储介质 | |
CN104580075A (zh) | 一种用户登陆验证方法、装置及系统 | |
US11429698B2 (en) | Method and apparatus for identity authentication, server and computer readable medium | |
CN110781971A (zh) | 一种商户类型识别方法、装置、设备和可读介质 | |
CN108073707B (zh) | 金融业务数据更新方法、装置及计算机可读取存储介质 | |
CN108521402B (zh) | 一种输出标签的方法、装置及设备 | |
CN113792554A (zh) | 一种基于知识图谱的变更影响评估方法和装置 | |
CN115883187A (zh) | 网络流量数据中的异常信息识别方法、装置、设备和介质 | |
CN110162518B (zh) | 数据分组方法、装置、电子设备及存储介质 | |
CN115145587A (zh) | 一种产品参数校验方法、装置、电子设备及存储介质 | |
CN110995687B (zh) | 一种猫池设备识别方法、装置、设备及存储介质 | |
WO2019095569A1 (zh) | 基于微博财经事件的金融分析方法、应用服务器及计算机可读存储介质 | |
CN109325348B (zh) | 应用安全的分析方法、装置、计算设备及计算机存储介质 | |
CN112685799B (zh) | 设备指纹生成方法、装置、电子设备和计算机可读介质 | |
CN111343105B (zh) | 基于深度学习的断流识别方法及装置 | |
US20100077401A1 (en) | Automated identification of computing system resources based on computing resource dna | |
JP6835680B2 (ja) | 情報処理装置および信用度算出方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |