CN113626396B - 一种聚类检测方法、装置、电子设备、存储介质及产品 - Google Patents

一种聚类检测方法、装置、电子设备、存储介质及产品 Download PDF

Info

Publication number
CN113626396B
CN113626396B CN202110866819.6A CN202110866819A CN113626396B CN 113626396 B CN113626396 B CN 113626396B CN 202110866819 A CN202110866819 A CN 202110866819A CN 113626396 B CN113626396 B CN 113626396B
Authority
CN
China
Prior art keywords
data
crowd
data information
storage mode
user
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
CN202110866819.6A
Other languages
English (en)
Other versions
CN113626396A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110866819.6A priority Critical patent/CN113626396B/zh
Publication of CN113626396A publication Critical patent/CN113626396A/zh
Application granted granted Critical
Publication of CN113626396B publication Critical patent/CN113626396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种聚类检测方法、装置、电子设备、存储介质及产品,属于网络技术领域。本公开实施例中,可以获取聚类检测所需的数据信息;数据信息包括数据信息标识ID以及属于数据信息内的独立数据ID。根据数据信息中包含的独立数据ID数量,确定与数据信息适配的数据存储方式。按照数据存储方式存储数据信息,并基于存储后的数据信息,对数据信息进行聚类检测。相较于直接使用默认存储方式,本公开中按照数据信息中的独立数据ID数量,即,数据信息的数据规模,适应性的选择适配当前所需存储的数据信息的数据存储方式,并以该数据存储方式进行存储,一定程度上避免由于存储方式不适配导致存储空间浪费的问题,从而降低检测成本。

Description

一种聚类检测方法、装置、电子设备、存储介质及产品
技术领域
本公开属于网络技术领域,特别是涉及一种聚类检测方法、装置、电子设备、存储介质及产品。
背景技术
目前,为了实现网络平台的各项功能,经常需要进行聚类检测。为了实现检测,应用服务器需要先对从数据服务器中加载的数据信息进行存储,以便于检测。
现有方式中,往往是将数据信息先转发给远程存储引擎,然后由远程存储引擎采用默认的存储方式直接进行存储,然后由远程存储引擎基于存储的数据信息进行聚类检测,并将检测结果返回给应用服务器。这种方式中,有时会出现存储空间浪费的情况下,进而导致检测成本较高。
发明内容
为克服相关技术中存在的问题,本公开提供一种聚类检测方法、装置、电子设备、存储介质及产品。
依据本公开的第一方面,提供了一种聚类检测方法,该方法包括:
获取聚类检测所需的数据信息;所述数据信息包括数据信息标识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转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大;
将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
可选的,所述将所述人群文件中目标用户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转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大;
将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
可选的,第二确定模块,还具体被配置为:
为所述目标用户ID对应的各人群ID映射对应的人群序列号;其中,所述目标用户ID对应的各人群ID的人群序列号之间连续递增;
将所述人群ID的值设置为所述人群序列号。
可选的,所述数据信息为人群文件;所述第二确定模块,还具体被配置为:
基于存储后的所述人群文件,检测待检测用户是否属于所述人群文件所表征的人群。
依据本公开的第三方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的聚类检测方法。
依据本公开的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面中任一项所述的聚类检测方法。
依据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括可读性程序指令,所述可读性程序指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面中任一项所述的聚类检测方法
本公开相比于相关技术,具有如下的优点和积极效果:
本公开实施例提供的聚类检测方法,可以获取聚类检测所需的数据信息;数据信息包括数据信息标识ID以及属于数据信息内的独立数据ID。根据数据信息中包含的独立数据ID数量,确定与数据信息适配的数据存储方式。按照数据存储方式存储数据信息,并基于存储后的数据信息,对数据信息进行聚类检测。相较于直接使用默认存储方式,本公开中按照数据信息中的独立数据ID数量,即,数据信息的数据规模,适应性的选择适配当前所需存储的数据信息的数据存储方式,并以该数据存储方式进行存储,一定程度上避免由于存储方式不适配导致存储空间浪费的问题,从而降低检测成本。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本公开实施例提供的一种聚类检测方法的步骤流程图;
图2是本公开实施例提供的一种存储结构示意图;
图3是本公开实施例提供的一种处理流程示意图;
图4是本公开实施例提供的一种聚类检测装置的框图;
图5是根据一示例性实施例示出的一种用于聚类检测的装置的框图;
图6是根据一示例性实施例示出的一种用于聚类检测的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是本公开实施例提供的一种聚类检测方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、获取聚类检测所需的数据信息;所述数据信息包括数据信息标识ID以及属于所述数据信息内的独立数据ID。
本公开实施例中,聚类检测所需的数据信息可以是根据本次所需实现的业务以及预先为各业务指定的数据信息确定的。数据信息的数据信息标识(Identity,ID)以及独立数据的独立数据ID可以是网络平台预先为数据信息、独立数据分配的。其中,独立数据可以用于表征网络中的对象,示例的,独立数据可以用于表征网络中的视频,相应地,独立数据ID可以为视频ID,一个数据信息可以由具备相同视频特征的视频组成,即,一个数据信息可以表征一类视频,不同数据信息可以是通过视频聚类得到,基于数据信息进行聚类检测时,可以实现检测待检测独立数据是否属于该数据信息,即,检测待检测视频是否属于该数据信息表征的视频类别。或者,独立数据也可以用于表征网络中的用户,相应地,独立数据ID可以为用户ID,一个数据信息可以由具备相同人群特征的用户组成,即,一个数据信息可以表征一类人群,不同数据信息可以是通过用户聚类得到,基于数据信息进行聚类检测时,可以是检测待检测用户是否属于该数据信息表征的人群。
进一步地,数据信息ID以及独立数据ID的数据类型可以是预先指定的,例如,ID的类型可以为整型(long)。数据信息可以为一个或多个,不同数据信息中包含的独立数据ID往往会有重叠,即,获取到的数据信息中的独立数据ID可以对应多个数据信息的数据信息ID。由于不同业务的实现逻辑不同,因此,针对不同业务进行聚类检测时,所需的数据信息可能不同。示例的,以一个数据信息表征一类人群为例,对于会员登录业务,所需的数据信息可以为会员人群文件,以根据该会员人群文件确定待检测用户是否属于会员。对于会员购买业务,所需的数据信息可以为会员人群文件以及成年人人群文件,以根据该会员人群文件以及成年人人群文件,确定待检测用户是否属于会员以及是否为成年人。对于直播间打赏业务,所需的数据信息可以为成年人人群文件,以根据该成年人人群文件,确定待检测用户是否属于为成年人。对于优惠券发放业务,所需的数据信息可以为高购买力人群文件、成年人人群文件以及高消费频率人群文件,等等。其中,本公开实施例中的人群(Crowd)可以指的是符合某些条件的用户的集合。例如,成年人人群可以是符合条件:年龄大于18岁的用户的集合。相应地,成年人人群文件中可以包括成年人人群的人群ID以及该集合中用户的用户ID。各人群的人群ID以及用户的用户ID可以是预先指定,不同人群的人群ID可以不同,不同用户的用户ID可以不同。
进一步地,本公开实施例提供的聚类检测方法可以应用于应用服务器。这样,应用服务器直接将数据信息存储至本地,在本地直接进行聚类检测的方式,可以省去设置远端存储引擎的硬件成本以及与远端存储引擎之间的网络通信,提高加载存储效率以及检测效率,从而一定程度上可以进一步降低实现检测所需的成本。进一步地,应用服务器可以根据本次所需实现的业务,确定所需的数据信息。然后从数据服务器中加载这些数据信息。其中,数据服务器中可以存储有应用程序中所有业务对应的数据信息,本次所需实现的业务可以是根据用户端发送的检测请求确定的。示例的,假设检测请求是通过应用程序中的业务A触发的,那么本次所需实现的业务可以为业务A。
步骤102、根据所述数据信息中包含的独立数据ID数量,确定与所述数据信息适配的数据存储方式。
本公开实施例中,数据信息中包含的独立数据ID数量可以表征数据信息所表征的类别中包含的独立数据数量。即,数据信息中包含的独立数据ID数量可以表征数据信息的数据规模,表征数据信息所表征的类别中独立数据的大小。在数据规模不同的情况下,所需存储的数据的稀疏程度往往不同。例如,数据规模较大的情况下,独立数据ID往往较为稠密。反之,数据规模较小的情况下,独立数据ID往往较为稀疏。进一步地,在数据规模不同的情况下,数据信息中各独立数据ID对应的数据列表中的数据信息ID的数量可能不同。示例的,数据规模较大的情况下,这些数据信息中的独立数据往往会同时隶属多个数据信息,相应地,数据列表中的数据信息ID会较多,数据往往较为稠密。反之,数据规模较小的情况下,数据列表中的数据信息ID会较少,数据往往会较为稀疏。而同一存储方式在数据稀疏或者数据稠密的情况下,对于空间占用情况会有不同的表现。以位图(Bitmap)形式存储为例,在数据稠密的情况下,能对数据进行有效压缩,对数据的压缩率较高,进而可以较大程度的节省存储空间。但是在数据稀疏的情况下,会导致存储后的bitmap数据非常稀疏,从而会对空间造成浪费。
因此,本步骤中以数据规模确定适配的数据存储方式,一定程度上可以避免存储方式不适配当前所需存储的数据,进而导致空间浪费的问题。
步骤103、按照所述数据存储方式存储所述数据信息,并基于存储后的所述数据信息,对所述数据信息进行聚类检测。
本公开实施例中,由于数据存储方式是基于数据规模选择的与当前所需存储的数据信息适配的存储方式,因此,以该数据存储方式存储数据信息,一定程度上可以确保存储效果。其中,存储后的数据信息可以是以独立数据ID映射到该独立数据所属数据信息的数据信息ID的形式存在,也可以是以数据信息ID映射到该数据信息中独立数据的独立数据ID的形式存在。
综上所述,本公开实施例提供的聚类检测方法,可以获取聚类检测所需的数据信息;数据信息包括数据信息标识ID以及属于数据信息内的独立数据ID。根据数据信息中包含的独立数据ID数量,确定与数据信息适配的数据存储方式。按照数据存储方式存储数据信息,并基于存储后的数据信息,对数据信息进行聚类检测。相较于直接使用默认存储方式,本公开中按照数据信息中的独立数据ID数量,即,数据信息的数据规模,适应性的选择适配当前所需存储的数据信息的数据存储方式,并以该数据存储方式进行存储,一定程度上避免由于存储方式不适配导致存储空间浪费的问题,从而降低检测成本。
进一步地,以一个数据信息表征一类人群,数据信息为人群文件为例,本步骤可以具体包括:基于存储后的人群文件,检测待检测用户是否属于人群文件所表征的人群。即,通过聚类检测,检测待检测用户是否属于该数据信息表征的人群,从而实现进行人群判存。具体的,进行人群判存时,可以是检索该待检测用户的用户ID是否属于本次存储的人群文件中的用户ID。或者,也可以是获取该待检测用户所有所属人群的人群ID,然后,判断这些人群ID中是否存在本次存储的人群文件的人群ID。由于人群文件是是基于相适配的数据存储方式存储的,因此,一定程度上可以避免人群检测时出现存储空间浪费的问题,从而降低人群检测成本。
可选的,本公开实施例中上述根据所述数据信息中包含的独立数据ID数量,确定与所述数据信息适配的数据存储方式的操作,可以具体包括:
步骤S21、若所述数据信息中包含的独立数据ID数量大于预设数量阈值,则将第一存储方式确定为所述数据存储方式。
本步骤中,预设数量阈值可以是根据实际需求预先设置的,示例的,可以预先确定不同独立数据ID数量下数据的稠密程度。然后将稠密程度大于预设稠密程度阈值时,所对应的独立数据ID数量作为预设数量阈值。相应地,如果数据信息中包含的独立数据ID数量大于预设数量阈值,则可以确定当前所需存储的数据较为稠密,进而可以将对稠密数据的压缩率更大的第一存储方式确定为与需要存储的数据信息适配的数据存储方式。其中,第一存储方式对稠密数据的压缩率可以高于预设阈值,第一存储方式对稠密程度较高的数据进行存储时,能对数据有效压缩,对空间的占用率更少。
步骤S22、若所述数据信息中包含的独立数据ID数量不大于所述预设数量阈值,则将第二存储方式确定为所述数据存储方式;所述第一存储方式对稠密数据的压缩率大于所述第二存储方式对稠密数据的压缩率。
本步骤中,如果数据信息中包含的独立数据ID数量不大于预设数量阈值,则可以确定当前所需存储的数据较为稀疏,进而可以将第二存储方式确定为与需要存储的数据信息适配的数据存储方式。第二存储方式是与第一存储方式不同的存储方式。这样,通过避免在这种情况下将第一存储方式确定为与需要存储的数据信息适配的数据存储方式,可以进一步避免由于存储方式不适配导致存储后出现空间浪费的问题。需要说明的是,数据信息ID与独立数据ID在不同存储方式中的映射方式可以不同。示例的,以数据信息表征某类人群,数据信息为人群文件为例,相应地,在第一存储方式中可以是遵循以用户ID映射至该用户ID对应的人群ID的数据结构(User2Crowd),第二存储方式中可以是遵循以人群ID映射至该人群ID对应的用户ID的数据结构(Crowd 2User)。相应地,存储后的人群文件可以是以用户ID映射到该用户所属人群的人群ID的形式存在,也可以是以人群ID映射到该人群中用户的用户ID的形式存在。
由于第一存储方式对稠密数据的压缩率较高,本公开实施例中仅在目标数据信息中包含的独立数据ID数量大于预设数量阈值的情况下,即,在数据规模较大,数据较稠密的情况下,才将第一存储方式确定为与该数据信息适配的数据存储方式。在数据信息中包含的独立数据ID数量不大于预设数量阈值的情况下,即,在数据规模较小,数据较稀疏的情况下,将第二存储方式确定为与该数据信息适配的数据存储方式。这样,可以避免由于存储方式不适配导致存储后出现空间浪费的问题,从而一定程度上可以提高存储效果。
可选的,在一种实现方式中,上述数据信息为可以为人群文件,上述独立数据ID为用户ID;还可以在将第一存储方式确定为所述数据存储方式的步骤之前,执行下述操作:
步骤S31、检测所述人群文件中包含的用户ID与预设用户ID的重合度;所述预设用户ID用于表征预设周期内活跃度大于预设活跃度阈值的用户。
本公开实施例中,活跃度可以是通过用户的在线时长,登录次数,操作次数等相关信息确定的。预设周期以及预设活跃度阈值可以是根据实际需求设置的,示例的,预设周期可以为1个月。预设周期内活跃度大于预设活跃度阈值的用户可以为活跃用户,预设用户ID可以预设周期内的活跃用户ID。具体实施时,可以读取预先生成的当月或者前N个月内的活跃用户ID,然后将活跃用户ID与人群文件中包含的用户ID进行比对,以确定出人群文件内包含的活跃用户ID的数量。最后,计算该数量与人群文件中用户ID的总数量的比值,得到重合度。
步骤S32、在所述重合度大于预设重合度阈值的情况下,执行所述将第一存储方式确定为所述数据存储方式的步骤。
其中,预设重合度阈值可以是根据实际需求设置的,示例的,预设重合度阈值可以为80%,90%,等等,本公开实施例对此不作限定。实际应用场景中,如果用户越活跃,那么该用户所属的人群往往会越多。相应地,如果重合度越高,则可以说明人群文件中用户ID对应的人群ID会更多,人群ID数据可能会更加稠密。因此,可以在重合度大于预设重合度阈值的情况下,将第一存储方式确定为数据存储方式。
本公开实施例中,通过进一步检测人群文件中包含的用户ID与预设用户ID的重合度,预设用户ID用于表征预设周期内活跃度大于预设活跃度阈值的用户,然后,在重合度大于预设重合度阈值的情况下,即,人群中包含大量活跃用户的情况下,人群文件中的数据较大概率为稠密程度较大的数据的情况下,才将第一存储方式确定为数据存储方式,进而一定程度上可以避免由于误判导致所选的存储方式不适配,进而导致空间浪费的问题。
可选的,本公开实施例中的应用服务器可以包括多个预设数据分片,一个预设数据分片可以对应一个预设存储区,该预设存储区可以位于应用服务器的本地内存中。进一步地,上述按照所述数据存储方式存储所述数据信息的操作,可以具体包括:
步骤S41、在所述数据存储方式为第一存储方式的情况下,将所述人群文件中目标用户ID对应的人群ID转换为位图数据;将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片。
本步骤中,可以基于位图数据结构,以连续的二进制位(bit)的值表示人群ID,以便于后续步骤存储。其中,位图数据结构是一种高效的数据结构,可以用于对大量整型数据做查询和去重。这样,一个字节占用8位,那么就可以存储8个数字,进而可以有效降低存储人群ID所需的空间。在一种实现方式中,可以根据人群ID,将第M位的下标置为1。其中,M等于人群ID。例如,为了表示人群ID“5”,可以将第5位的下标置为1。每个二进制位对应的下标可以表示人群ID。进一步地,可以根据用户ID确定键(key),以用户ID对应的位图数据作为值(value),以键值对的方式在指定数据分片中进行存储。
其中,指定数据分片可以是用于存储该用户ID的预设数据分片。可选的,该指定数据分片可以通过下述方式预先确定:对于任一预设数据分片,基于预设的选择方式,选择该预设数据分片对应的用户ID。将该预设数据分片作为该用户ID的指定数据分片。其中,预设的选择方式可以为对用户ID取模的方式,具体的,可以先按照分片数量对用户ID进行取模,然后按照取模结果,为取模结果一致的用户ID设置一个预设数据分片,作为指定数据分片,即,相同余数的用户ID映射到相同分片中。其中,取模结果不一致的用户ID,对应的指定数据分片不同。或者,也可以直接采用动态分片模式,为各用户ID确定指定数据分片,本公开实施例对此不作限定。这样,通过在本地内存中采用数据分片机制进行存储,一定程度上可以提高所存储数据的稳定性,保证服务的水平拓展性。例如,在需要对应用服务器进行扩容时,可以对分片数量进行成倍扩容,新增的数据分片可以加载新数据,相应地,旧数据分片无需数据迁移,只需做相应地的数据清理即可。
步骤S42、在所述数据存储方式为第二存储方式的情况下,将所述人群ID与所述人群ID对应的用户ID对应存储至指定数据分片。
本公开实施例中,由于这种情况下,人群ID的数量往往较少,因此,可以直接使用预设的Map映射的形式,基于哈希Map的方式,对于人群文件中任一人群ID,将人群ID作为key,将人群ID对应的用户ID作为value,以键值对的方式在指定数据分片中进行存储,进而确保存储效率。需要说明的是,为了进一步降低存储空间,也可以对采用预设的拆分模式算法(例如,Roaring64NavigableMap),对用户ID列表进行压缩之后再存储。其中,用户ID列表可以是该人群ID对应的用户ID的集合,Roaring64NavigableMap算法对于稀疏大值和连续数据有较好的压缩效果。示例的,使用Roaring64NavigableMap算法时,所需的存储空间可以等于目标用户ID的数据量/2字节(B)。
进一步地,由于以User2Crowd数据结构存储时,需要构造目标用户ID到位图数据的映射,每新增一个规模较大的人群时,需要的存储空间是线性增长的(例如,所需的存储空间可以等于目标用户ID的数据量/8字节),且相较于以Crowd2User数据结构存储时,使用Roaring64NavigableMap算法可以节省一定量的存储空间。因此,在人群文件中用户ID数量较少时,可以使用Crowd2User模式,以在确保存储效率的同时,提高空间节省率。在人群文件中用户ID数量较大时,可以使用User2Crowd模式,以提高空间节省率。
本公开实施例中,在数据存储方式为第一存储方式的情况下,将人群文件中目标用户ID对应的人群ID转换为位图数据;将目标用户ID与目标用户ID对应的位图数据对应存储至指定数据分片。在数据存储方式为第二存储方式的情况下,将人群ID与人群ID对应的用户ID对应存储至指定数据分片。这样,在所需存储的人群文件的数据较为稠密的情况下,直接采用实现较为简单且对稠密数据的压缩较好的位图数据的形式,将其中的人群ID以位图数据的方式进行存储,进而可以较为高效的较大程度减少对存储空间的占用。
可选的,本公开实施例的,还可以在将所述目标用户ID对应的人群ID转换为位图数据之前,执行下述步骤:
步骤S51、为所述目标用户ID对应的各人群ID映射对应的人群序列号;其中,所述目标用户ID对应的各人群ID的人群序列号之间连续递增。
示例的,可以先设置一个初始为0的计数器,从该目标用户ID对应的人群ID中选择一个人群ID,并将该计数器的当前值设置为该人群ID对应的人群序列号,以实现映射。接着,将该计数器的值加1,并将当前值映射为下一人群ID对应的人群序列号,以此类推,实现映射。这样,相当于是对人群ID也进行了一次压缩。
步骤S52、将所述人群ID的值设置为所述人群序列号。
通过将人群ID的值设置为人群序列号,可以使得后续以位图数据的形式存储连续递增的人群序列号。
本公开实施例中,通过为目标用户ID对应的各人群ID映射对应的人群序列号;其中,目标用户ID对应的各人群ID的人群序列号之间连续递增,将人群ID更新为人群序列号。这样,这样可以将原本分散且数值较大的人群ID转换为连续且设置较小的值,进而可以使得转换后的位图数据通过连续的少量二进制位即可实现表征该用户ID对应的这些人群ID,进而一定程度上可以节省存储空间。
可选的,本公开实施例中的目标用户ID可以为人群文件中的任一用户ID,即,对人群文件的所有用户ID以及其中的人群ID,均按照第一存储方式,以User2Crowd数据结构存储。这样,无需进行额外处理即可实现存储,进而一定程度上确保存储效率。进一步地,由于人群文件中用户与活跃用户重合度往往较高,因此,目标用户ID也可以仅为人群文件中与预设用户ID重合的用户ID,相应地,本公开实施例中还可以执行以下操作:将所述人群文件中非目标用户ID以及所述非目标用户ID对应的人群ID,按照所述第二存储方式进行存储。具体的,可以直接基于哈希Map的方式,对于非目标用户ID对应的任一人群ID,将该人群ID作为key,将该人群ID对应的非目标用户ID作为value,以键值对的方式在指定数据分片中进行存储。即,对人群文件中活跃用户的用户ID及其对应的人群ID,按照第一存储方式,以User2Crowd数据结构存储。对剩余的非活跃用户的用户ID及其对应的人群ID,按照第二存储方式,以Crowd2 User数据结构存储。这样,可以进一步确保以第一存储方式存储的数据为稠密数据,进而确保存储效果。
可选的,上述将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片的操作,可以具体包括:
步骤S61、将所述目标用户ID转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大。
本公开实施例中,可以预先划分不同的数量区间,并为数量区间设置对应的N值。数量区间的端值越大设置的N值可以越大,即,可以在数量越多的情况下,划分更多级的数组结构。其中,端值可以是数量区间中的最大值,一个数量区间可以覆盖一个或多个数值。在目标用户ID的数量较大的情况下,如果采用单级数组结构,可能会导致数组下标较多,进而导致单个数组过长的问题。本公开实施例中,根据目标用户ID的数量,采用多级数组的形式进行存储,一定程度上可以避免单个数组过长的问题。
进一步地,N级数组下标可以包括1级地址,…,N级地址。具体实施时,从一级地址地址以依次向后,计算目标用户ID除以当前级地址的下一级地址的长度,得到当前级地址。以此类推,到最后一级地址时,计算目标用户ID取模最后一级地址的长度的值,作为最后一级地址、然后将这N个地址组合为N级数组下标。通过采用多级数组结构,可以在局部目标用户ID出现稀疏的情况下,弱化由于局部稀疏存在导致的地址浪费,例如,相较于仅采用一级结构,导致一级地址中稀疏的地方为空,在采用二级结构的情况下,由于二级地址是对一级地址的进一步细分,二级地址为空的浪费程度会小于一级地址为空的浪费程度,进而可以节省一部分空间。需要说明的是,本公开实施例中还可以在将目标用户ID转换为N级数组下标之前,按照指定数据分片的相关信息,对目标用户ID进行压缩。示例的,相关信息可以为指定数据分片的标识,该标识可以用于表征指定数据分片是所有预设数据分片中的第几片。示例的,由于采用数据分片的架构,每个分片只存储对预设数据分片的总数量取模一致的目标用户ID,因此可以通过下述方式实现压缩:计算(目标用户ID-指定数据分片标识)/预设数据分片的总数量,将目标用户ID的值设置为计算结果,以实现压缩。假设指定数据分片的标识为3,指定数据分片3中存储的目标用户ID为:3、11、19、35,那么这些目标用户ID在指定数据分片3中可以被压缩为:0,1,2,4。
步骤S62、将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
示例的,以N等于2为例,图2是本公开实施例提供的一种存储结构示意图,如图2所示,User2Crowd存储结构中可以使用二级数组下标进行目标用户ID到人群列表的映射。人群列表可以是该人群文件中目标用户ID对应的人群ID的集合。具体的,可以计算目标用户ID除以预设的二级地址长度,作为一级地址,然后基于目标用户ID取模二级地址长度,以作为二级地址。其中,计算过程中使用的目标用户ID可以是压缩后的目标用户ID。最后,将一级地址以及二级地址写入初始下标,得到二级数组下标。其中,初始下标可以表示为Bitmap[][],二级数组下标可以为Bitmap[一级地址][二级地址]。其中,一级地址表征的一级数组中可以存储二级地址表征的二级数组,二级数组中可以存储压缩后的人群ID,即,位图数据。
本公开实施例中,按照目标用户ID的数量,将目标用户ID转换为多级数组下标,并将目标用户ID对应的位图数据作为数组成员,将N级数组下标与数组成员对应存储。相较于直接使用Map结构的方式,本公开实施例中,通过采用N级数组结构,可以避免局部目标用户ID较为稀疏,导致空间浪费的问题。
同时,由于用户数量往往较多,用户ID往往为自增正整数,更符合数组下标的特性。因此,通过进一步将目标用户ID转化为数组下标,以数组下标的形式进行存储,进而可以进一步节省存储空间。
下面对本公开实施例涉及的一种应用场景进行说明,本公开实施例涉及数据存储与检索技术,目前,在较多业务场景中(例如,发券业务、问卷业务、红点业务、推送业务、会员业务等),需要判断某个用户是否属于指定的目标人群。如何高效的完成人群数据存储与检索,是需要解决的一个难点。在面对海量人群数据时,高压缩、低延迟、快加载的人群判存服务尤为关键。在一种现有方式中,往往是基于远端存储引擎:远程字典服务(RemoteDictionary Server,Redis),直接以用户ID作为Redis的键,以人群ID列表作为值。使用Redis客户端批量操作,将人群文件中的数据分批写入到Redis中,然后进行判存。这种方式中,由于Redis写入速度数据受网络带宽、集群负载等限制,因此无法满足时效性要求高的业务场景,数据加载速度较慢,延迟较高。例如,经测算,在从应用服务器将文件串行写入Redis时,规模为1亿的人群文件大约需要8分钟。且在出现短时间内人群大量创建,即,所需写入的人群文件较多的情况下,写入时会出现排队积压,可能造成业务崩溃。另外,直接使用用户ID映射到人群ID列表的形式,存在着较多的空间浪费,对数据的压缩效率较低。
示例的,图3是本公开实施例提供的一种处理流程示意图,如图3所示,在人群文件创建完成之后,应用服务器可以下载目标人群文件到本地内存,其中,目标人群文件即为本次聚类检测所需的人群文件。然后,判断目标人群文件是否满足“人群较大且与月活用户重合度高”,即,判断目标人群文件中包含的用户ID数量是否大于预设数量阈值且目标人群文件中包含的用户ID与预设用户ID的重合度大于预设重合度阈值。如果是,则可以使用User2Crowd模式,并将CrowdID映射到自增序列号。接着,可以遍历目标人群文件,根据当前数据分片过滤用户ID,即,为各个用户ID确定对应的指定数据分片。然后,对指定数据分片对应的用户ID进行压缩,计算压缩后的用户ID的一级地址、二级地址,最后,将压缩后的用户ID和CrowdID存储到User2Crowd Bitmap[][]中,即,以上述第一存储方式存储。在循环遍历结束时,结束处理流程。
如果不是,则可以使用Crowd2User模式。然后,可以遍历目标人群文件,根据当前数据分片过滤用户ID,即,确定指定数据分片。然后,执行构建Bitmap操作,即,采用Roaring64NavigableMap算法对用户ID进行压缩。最后,存储到Crowd2User Map结构中,即,以上述第二存储方式存储。在循环遍历结束时,结束处理流程。
本公开实施例中,不再使用远程存储引擎,而是采用本地内存的方式,因此省略了向远程存储引擎发送的过程,避免了网络传输造成的大量开销,因此,相比于第三方远程存储引擎所需的分钟级加载,一定程度上可以满足数据快速加载的需求,降低延迟,实现人群的秒级加载。同时,在存储时,融合多种数据结构,将基本数据结构灵活组合,某些组合在特定规模人群上有良好表现。基于此,根据人群规模大小,通过动态选择不同数据结构的组合,即,存储方式,可以实现高效的更为适配的数据结构来存储海量人群数据,进而降低空间浪费,提高数据的压缩效率,从而在提高数据存储效率的同时,降低存储开销。
且在关注存储空间的同时,也进一步兼顾到检索速度。具体的,存储好目标人群文件后,通过在在本地内存运算,即可实现人群判存,因此,一定程度上可以实现降低所需时间以及检索开销,实现以常量时间复杂度来进行判存逻辑的计算,进而实现微秒级处理速度,以及保证判存服务在海量数据下的快速响应,实现支持对于海量人群数据的判存服务。进一步地,通过使用本地内存加数据分片机制,同时解决了第三方存储引擎数据加载速度慢以及数据扩容的问题,从而实现了高压缩、低延迟、快加载的人群判存服务。
图4是本公开实施例提供的一种聚类检测装置的框图,如图4所示,该装置20可以包括:
获取模块201,被配置为获取聚类检测所需的数据信息;所述数据信息包括数据信息标识ID以及属于所述数据信息内的独立数据ID;
第一确定模块202,被配置为根据所述数据信息中包含的独立数据ID数量,确定与所述数据信息适配的数据存储方式;
第二确定模块203,被配置为按照所述数据存储方式存储所述数据信息,并基于存储后的所述数据信息,对所述数据信息进行聚类检测。
本公开实施例提供的聚类检测装置,可以获取聚类检测所需的数据信息;数据信息包括数据信息标识ID以及属于数据信息内的独立数据ID。根据数据信息中包含的独立数据ID数量,确定与数据信息适配的数据存储方式。按照数据存储方式存储数据信息,并基于存储后的数据信息,对数据信息进行聚类检测。相较于直接使用默认存储方式,本公开中按照数据信息中的独立数据ID数量,即,数据信息的数据规模,适应性的选择适配当前所需存储的数据信息的数据存储方式,并以该数据存储方式进行存储,一定程度上避免由于存储方式不适配导致存储空间浪费的问题,从而降低检测成本。
可选的,所述第一确定模块202,具体被配置为:
若所述数据信息中包含的独立数据ID数量大于预设数量阈值,则将第一存储方式确定为所述数据存储方式;
若所述数据信息中包含的独立数据ID数量不大于所述预设数量阈值,则将第二存储方式确定为所述数据存储方式;
其中,所述第一存储方式对稠密数据的压缩率大于所述第二存储方式对稠密数据的压缩率。
可选的,所述数据信息为人群文件,所述独立数据ID为用户ID;所述第一确定模块202,还具体被配置为:
检测所述人群文件中包含的用户ID与预设用户ID的重合度;所述预设用户ID用于表征预设周期内活跃度大于预设活跃度阈值的用户;
在所述重合度大于预设重合度阈值的情况下,执行所述将第一存储方式确定为所述数据存储方式的步骤。
可选的,所述第二确定模块203,具体被配置为:
在所述数据存储方式为第一存储方式的情况下,将所述人群文件中目标用户ID对应的人群ID转换为位图数据;将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片;
在所述数据存储方式为第二存储方式的情况下,将所述人群ID与所述人群ID对应的用户ID对应存储至指定数据分片。
可选的,所述目标用户ID为所述人群文件中的任一用户ID;
或者,所述目标用户ID为所述人群文件中与所述预设用户ID重合的用户ID;所述第二确定模块203,还具体被配置为:将所述人群文件中非目标用户ID以及所述非目标用户ID对应的人群ID,按照所述第二存储方式进行存储。
可选的,所述第二确定模块203,还具体被配置为:
将所述目标用户ID转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大;
将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
可选的,第二确定模块203,还具体被配置为:
为所述目标用户ID对应的各人群ID映射对应的人群序列号;其中,所述目标用户ID对应的各人群ID的人群序列号之间连续递增;
将所述人群ID的值设置为所述人群序列号。
可选的,所述数据信息为人群文件;所述第二确定模块203,还具体被配置为:基于存储后的所述人群文件,检测待检测用户是否属于所述人群文件所表征的人群。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本公开的一个实施例,提供了一种电子设备,包括:处理器、用于存储处理器可执行指令的存储器,其中,处理器被配置为执行时实现如上述任一个实施例中的聚类检测方法中的步骤。
根据本公开的一个实施例,还提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一个实施例中的聚类检测方法中的步骤。
根据本公开的一个实施例,还提供了一种计算机程序产品,该计算机程序产品包括可读性程序指令,可读性程序指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一个实施例中的聚类检测方法中的步骤。
图5是根据一示例性实施例示出的一种用于聚类检测的装置的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的聚类检测方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理***,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述聚类检测方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述聚类检测方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是根据一示例性实施例示出的一种用于聚类检测的装置的框图。例如,装置800可以被提供为一服务器。参照图6,装置800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述聚类检测方法。
装置800还可以包括一个电源组件826被配置为执行装置800的电源管理,一个有线或无线网络接口850被配置为将装置800连接到网络,和一个输入输出(I/O)接口858。装置800可以操作基于存储在存储器832的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种聚类检测方法,其特征在于,所述方法包括:
获取聚类检测所需的数据信息;所述数据信息包括数据信息标识ID以及属于所述数据信息内的独立数据ID;所述数据信息为人群文件,所述独立数据ID为用户ID;
根据所述数据信息中包含的独立数据ID数量,确定与所述数据信息适配的数据存储方式,包括:若所述数据信息中包含的独立数据ID数量大于预设数量阈值,则将第一存储方式确定为所述数据存储方式;若所述数据信息中包含的独立数据ID数量不大于所述预设数量阈值,则将第二存储方式确定为所述数据存储方式;其中,所述第一存储方式对稠密数据的压缩率大于所述第二存储方式对稠密数据的压缩率;
按照所述数据存储方式存储所述数据信息,并基于存储后的所述数据信息,对所述数据信息进行聚类检测;
所述将第一存储方式确定为所述数据存储方式之前,所述方法还包括:
检测所述人群文件中包含的用户ID与预设用户ID的重合度;所述预设用户ID用于表征预设周期内活跃度大于预设活跃度阈值的用户;
在所述重合度大于预设重合度阈值的情况下,执行所述将第一存储方式确定为所述数据存储方式的步骤。
2.根据权利要求1所述的方法,其特征在于,所述数据信息标识ID为人群ID;所述按照所述数据存储方式存储所述数据信息,包括:
在所述数据存储方式为第一存储方式的情况下,将所述人群文件中目标用户ID对应的人群ID转换为位图数据;将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片;
在所述数据存储方式为第二存储方式的情况下,将所述人群ID与所述人群ID对应的用户ID对应存储至指定数据分片。
3.根据权利要求2所述的方法,其特征在于,所述目标用户ID为所述人群文件中的任一用户ID;
或者,所述目标用户ID为所述人群文件中与所述预设用户ID重合的用户ID;所述方法还包括:将所述人群文件中非目标用户ID以及所述非目标用户ID对应的人群ID,按照所述第二存储方式进行存储。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片,包括:
将所述目标用户ID转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大;
将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
5.根据权利要求2或3所述的方法,其特征在于,所述将所述人群文件中目标用户ID对应的人群ID转换为位图数据之前,所述方法还包括:
为所述目标用户ID对应的各人群ID映射对应的人群序列号;其中,所述目标用户ID对应的各人群ID的人群序列号之间连续递增;
将所述人群ID的值设置为所述人群序列号。
6.根据权利要求1至3任一所述的方法,其特征在于,所述数据信息为人群文件;所述基于存储后的所述数据信息,对所述数据信息进行聚类检测,包括:
基于存储后的所述人群文件,检测待检测用户是否属于所述人群文件所表征的人群。
7.一种聚类检测装置,其特征在于,所述装置包括:
获取模块,被配置为获取聚类检测所需的数据信息;所述数据信息包括数据信息标识ID以及属于所述数据信息内的独立数据ID;
第一确定模块,被配置为根据所述数据信息中包含的独立数据ID数量,确定与所述数据信息适配的数据存储方式;
第二确定模块,被配置为按照所述数据存储方式存储所述数据信息,并基于存储后的所述数据信息,对所述数据信息进行聚类检测;其中,所述第一确定模块,具体被配置为:
若所述数据信息中包含的独立数据ID数量大于预设数量阈值,则将第一存储方式确定为所述数据存储方式;
若所述数据信息中包含的独立数据ID数量不大于所述预设数量阈值,则将第二存储方式确定为所述数据存储方式;
其中,所述第一存储方式对稠密数据的压缩率大于所述第二存储方式对稠密数据的压缩率;
所述数据信息为人群文件,所述独立数据ID为用户ID;所述第一确定模块,还具体被配置为:
检测所述人群文件中包含的用户ID与预设用户ID的重合度;所述预设用户ID用于表征预设周期内活跃度大于预设活跃度阈值的用户;
在所述重合度大于预设重合度阈值的情况下,执行所述将第一存储方式确定为所述数据存储方式的步骤。
8.根据权利要求7所述的装置,其特征在于,所述第二确定模块,具体被配置为:
在所述数据存储方式为第一存储方式的情况下,将所述人群文件中目标用户ID对应的人群ID转换为位图数据;将所述目标用户ID与所述目标用户ID对应的位图数据对应存储至指定数据分片;
在所述数据存储方式为第二存储方式的情况下,将所述人群ID与所述人群ID对应的用户ID对应存储至指定数据分片。
9.根据权利要求8所述的装置,其特征在于,所述目标用户ID为所述人群文件中的任一用户ID;
或者,所述目标用户ID为所述人群文件中与所述预设用户ID重合的用户ID;所述第二确定模块,还具体被配置为:将所述人群文件中非目标用户ID以及所述非目标用户ID对应的人群ID,按照所述第二存储方式进行存储。
10.根据权利要求8或9所述的装置,其特征在于,所述第二确定模块,还具体被配置为:
将所述目标用户ID转换为N级数组下标;其中,所述目标用户ID的数量所处的数量区间的端值越大,所述N越大;
将所述目标用户ID对应的位图数据作为数组成员,并将所述N级数组下标与所述数组成员对应存储。
11.根据权利要求8或9所述的装置,其特征在于,第二确定模块,还具体被配置为:
为所述目标用户ID对应的各人群ID映射对应的人群序列号;其中,所述目标用户ID对应的各人群ID的人群序列号之间连续递增;
将所述人群ID的值设置为所述人群序列号。
12.根据权利要求7至9任一所述的装置,其特征在于,所述数据信息为人群文件;所述第二确定模块,还具体被配置为:
基于存储后的所述人群文件,检测待检测用户是否属于所述人群文件所表征的人群。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的聚类检测方法。
14.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1至6中任一项所述的聚类检测方法。
CN202110866819.6A 2021-07-29 2021-07-29 一种聚类检测方法、装置、电子设备、存储介质及产品 Active CN113626396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110866819.6A CN113626396B (zh) 2021-07-29 2021-07-29 一种聚类检测方法、装置、电子设备、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110866819.6A CN113626396B (zh) 2021-07-29 2021-07-29 一种聚类检测方法、装置、电子设备、存储介质及产品

Publications (2)

Publication Number Publication Date
CN113626396A CN113626396A (zh) 2021-11-09
CN113626396B true CN113626396B (zh) 2024-03-12

Family

ID=78381651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110866819.6A Active CN113626396B (zh) 2021-07-29 2021-07-29 一种聚类检测方法、装置、电子设备、存储介质及产品

Country Status (1)

Country Link
CN (1) CN113626396B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636486A (zh) * 2018-12-28 2019-04-16 上汽通用五菱汽车股份有限公司 基于大数据定位意向购车用户的方法、设备及存储介质
CN109840792A (zh) * 2017-11-28 2019-06-04 蔚来汽车有限公司 基于电子地图的充电请求发起时间预测方法和装置
CN110209348A (zh) * 2019-04-17 2019-09-06 腾讯科技(深圳)有限公司 数据存储方法、装置、电子设备及存储介质
CN110535944A (zh) * 2019-08-29 2019-12-03 广州华多网络科技有限公司 用户活跃数据处理的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9356977B2 (en) * 2013-08-30 2016-05-31 Citrix Systems, Inc. Acquiring online meeting data relating to an online meeting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840792A (zh) * 2017-11-28 2019-06-04 蔚来汽车有限公司 基于电子地图的充电请求发起时间预测方法和装置
CN109636486A (zh) * 2018-12-28 2019-04-16 上汽通用五菱汽车股份有限公司 基于大数据定位意向购车用户的方法、设备及存储介质
CN110209348A (zh) * 2019-04-17 2019-09-06 腾讯科技(深圳)有限公司 数据存储方法、装置、电子设备及存储介质
CN110535944A (zh) * 2019-08-29 2019-12-03 广州华多网络科技有限公司 用户活跃数据处理的方法及装置

Also Published As

Publication number Publication date
CN113626396A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN106354840B (zh) 文件处理方法、装置及分布式文件***
CN112003893B (zh) 一种资源下载方法和装置
CN104462296B (zh) 文件的管理方法、装置及终端
CN114090575A (zh) 基于键值数据库的数据存储方法、检索方法及相应的装置
WO2021082486A1 (zh) 获取样本的方法、装置、设备、存储介质及程序
CN107402767B (zh) 显示推送消息的方法和装置
CN110647508B (zh) 数据压缩方法、数据解压缩方法、装置及电子设备
CN108804684B (zh) 一种数据处理方法和装置
US20210133505A1 (en) Method, device, and storage medium for retrieving samples
CN113626396B (zh) 一种聚类检测方法、装置、电子设备、存储介质及产品
CN115422203A (zh) 区块链分布式***的数据管理方法、装置、设备及介质
CN108345434B (zh) 数据写入方法、装置、计算机设备及可读存储介质
CN114428589B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115827763A (zh) 数据处理方法、装置和设备
CN112131999B (zh) 身份确定方法及装置、电子设备和存储介质
CN114239531A (zh) 模板推荐方法、装置、电子设备及存储介质
CN113378022A (zh) 一种站内搜索平台、搜索方法和相关装置
CN110990357A (zh) 数据处理方法及装置、***、电子设备和存储介质
CN115794853B (zh) 政务数据资源目录的更新方法、装置、电子设备及介质
CN110019358B (zh) 一种数据处理方法、装置及设备和存储介质
CN114020505B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113377780B (zh) 一种数据库分片方法、装置、电子设备和可读存储介质
CN110536269B (zh) 一种信息共享的方法和装置
CN112286609B (zh) 用于管理智能终端的快捷设置项的方法和装置
CN113689520B (zh) 图数据的处理方法、装置、电子设备及存储介质

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