CN114840565A - 抽样查询方法、装置、电子设备及计算机可读存储介质 - Google Patents
抽样查询方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114840565A CN114840565A CN202210236128.2A CN202210236128A CN114840565A CN 114840565 A CN114840565 A CN 114840565A CN 202210236128 A CN202210236128 A CN 202210236128A CN 114840565 A CN114840565 A CN 114840565A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- query
- event information
- sampling
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种抽样查询方法、装置、电子设备及计算机可读存储介质。该方法在获取包括用户内部标识的原始事件信息、预设的数据查询信息以及抽样比例后,根据用户内部标识确定用户分区标识,并将用户分区标识存储至原始事件信息中以得到分区事件信息,最后根据预设的数据查询信息和抽样比例在该分区事件信息中查询数据,并根据查询到的数据生成查询结果。该方法依据用户内部标识构建了一套用户分组的策略,使得不同组的用户可以采用不同的分区存储策略进行存储,以提高数据分析的效率和准确性。
Description
技术领域
本申请涉及数据分析技术领域,尤其涉及一种抽样查询方法、装置、电子设备及计算机可读存储介质。
背景技术
在大数据时代,每个产品都有着独一无二的核心指标用来衡量产品是否成功,而数据分析是计算产品指标的重要方法。
在关注和考核某些产品的数据指标时,一般采用全量查询的方式获取准确的数据从而进行分析,然而,在实际数据量非常大的情况下,全量查询的方式由于全量数据获取时间较长,单次查询的速度较慢,会严重影响数据分析的效率,不便于快速掌握用户行为在某些指标上的行为趋势。
因此,为了避免数据量非常大的情况下当前查询方式影响数据分析效率的问题,需要提出一种抽样查询方法以提高数据分析的效率和准确性。
发明内容
本申请提供一种抽样查询方法、装置、电子设备及计算机可读存储介质,用于提高数据分析的效率和准确性。
为了解决上述技术问题,本申请提供以下技术方案:
本申请提供一种抽样查询方法,包括:
获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
相应的,本申请还提供一种抽样查询装置,包括:
第一获取模块,用于获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
分区模块,用于根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
抽样计算模块,用于根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
同时,本申请提供一种电子设备,其包括处理器和存储器,存储器用于存储计算机程序,处理器用于运行所述存储器里的计算机程序,以执行上述抽样查询方法中的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述抽样查询方法中的步骤。
有益效果:本申请提供一种抽样查询方法、装置、电子设备及计算机可读存储介质。具体地,该方法先获取原始事件信息、预设的数据查询信息以及抽样比例,其中,原始事件信息包括用户内部标识,然后根据该用户内部标识确定用户分区标识,并将该用户分区标识存储至原始事件信息中以得到分区事件信息,最后根据预设的数据查询信息和抽样比例在该分区事件信息中查询数据,并根据查询到的数据生成查询结果。该方法依据用户内部标识构建了一套用户分组的策略,使得不同组的用户可以采用不同的分区存储策略进行存储,在进行抽样查询时,可以根据抽样比例快速的筛选出相应的组来进一步进行数据查询,从而提高数据分析的效率和准确性。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的抽样查询***的***架构示意图。
图2是本申请实施例提供的抽样查询方法的一种流程示意图。
图3是本申请实施例提供的抽样查询方法的另一种流程示意图。
图4是本申请实施例提供的抽样查询的界面示意图。
图5是本申请实施例提供的抽样查询装置的结构示意图。
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含;本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行。
在本申请中,原始事件信息即描述原始事件模型的信息,例如事件名称(event_id)、用户内部标识(user_id)、用户原始标识(distinct_id)、事件发生的日期(month_id、week_id、day等)以及事件发生的具体时间(time)等。
在本申请中,预设的数据查询信息即人工设置或者***默认的用于数据查询的信息,其包括数据查询条件(例如事件名称、事件发生的日期等)和数据查询指标(例如访客数量、页面浏览量、停留时长等计数指标,又例如跳出率、访问深度、转化率等复合指标)。
在本申请中,抽样比例的范围在抽样颗粒度至1之间,其中,抽样颗粒度由预设的区域数量决定。例如,预设的区域数量为64,则抽样颗粒度为1/64。
在本申请中,用户分区标识即用户分区存储的分区号,记作sample_group_id。
在本申请中,分区事件信息除原始事件信息外,还包含用户分区标识以及区域标识(event_bucket)。
本申请提供一种抽样查询方法、装置、电子设备及计算机可读存储介质。
请参阅图1,图1是本申请提供的抽样查询***的***架构示意图,如图1所示,该抽样查询***至少包括查询终端101和数据服务器102,其中:
查询终端101和数据服务器102之间设有通信链路,以实现信息交互。通信链路的类型可以包括有线、无线通信链路或者光纤电缆等,本申请在此不做限制。
查询终端101可以是智能手机、平板电脑、笔记本电脑等具有数据查询功能的终端设备。
数据服务器102可以是独立的服务器,也可以是服务器组成的服务器网络或者服务器集群;例如,本申请中所描述的服务器,其包括但不限于计算机、网络主机、数据库服务器以及应用服务器或者多个服务器构成的云服务器,其中云服务器由基于云计算(CloudComputing)的大量计算机或者网络服务器构成。
本申请提出了一种抽样查询***,该抽样查询***包括查询终端101和数据服务器102。具体地,该数据服务器102从查询终端101中获取原始事件信息、预设的数据查询信息以及抽样比例,其中,原始事件信息包括用户内部标识,然后根据该用户内部标识确定用户分区标识,并将该用户分区标识存储至原始事件信息中以得到分区事件信息,最后根据预设的数据查询信息和抽样比例在该分区事件信息中查询数据,并根据查询到的数据生成查询结果,然后由数据服务器102将查询结果反馈给查询终端101进行展示。
在上述抽样查询过程中,该抽样查询***依据用户内部标识构建了一套用户分组的策略,使得不同组的用户可以采用不同的分区存储策略进行存储,在进行抽样查询时,可以根据抽样比例快速的筛选出相应的组来进一步进行数据查询,从而提高数据分析的效率和准确性。
需要说明的是,图1所示的***架构示意图仅仅是一个示例,本申请实施例描述的服务器、终端以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着***的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
综合上述抽样查询***的***架构,下面将对本申请中抽样查询方法进行详细的介绍,请参阅图2所示,图2是本申请实施例提供的抽样查询方法的流程示意图。该方法至少包括以下步骤:
S201:获取原始事件信息、预设的数据查询信息以及抽样比例,原始事件信息包括用户内部标识。
通过数据服务器获取查询终端中的原始事件信息、预设的数据查询信息以及抽样比例。其中,原始事件信息即描述原始事件模型的信息,例如事件名称(event_id)、用户内部标识(user_id)、用户原始标识(distinct_id)、事件发生的日期(month_id、week_id、day等)以及事件发生的具体时间(time)等;预设的数据查询信息即人工设置或者***默认的用于数据查询的信息,其包括数据查询条件(例如事件名称、事件发生的日期等)和数据查询指标(例如访客数量、页面浏览量、停留时长等计数指标,又例如跳出率、访问深度、转化率等复合指标);抽样比例的范围在抽样颗粒度至1之间,其中,抽样颗粒度由预设的区域数量决定。例如,预设的区域数量为64,则抽样颗粒度为1/64。
具体的,事件模型(即Event模型)包括事件(event)和用户(user)两个核心实体。其中,事件实体简单来说就是描述了一个用户在某个时间点、某个地方,以某种方式完成了某个具体的事情。从这可以看出,一个完整的事件(event)包含如下的几个关键因素:参与这个事件的用户,在数据接口中,通常使用用户原始标识(distinct_id)来设置用户的唯一ID,对于未登录用户,这个ID可以是cookie、设备ID等匿名ID,对于登录用户,则一般使用后台分配的实际用户ID;事件发生的实际时间(month_id、week_id、day、time等),在数据接口中,一般使用time字段来记录精确到毫秒的事件发生时间,month_id为月,week_id为周,day为具体的XX年XX月XX日;事件发生的地点、用户从事这个事件的方式以及用户所做的这个事件的具体内容,由于在本申请中不涉及其具体内容,因此不再赘述。用户实体对应一个真实的用户,一般采取用户原始标识(distinct_id)进行标识,并通过用户原始标识(distinct_id)与这个用户所从事的行为(即event)进行关联,此外,在本申请中,对于每一个用户,***会首先基于用户的账号信息生成一个唯一的内部ID(即用户内部标识user_id),然后基于该用户内部标识计算该用户应该属于的分区信息,这一点将在下文中进行详细的阐述。
S202:根据用户内部标识确定用户分区标识,并将用户分区标识存储至原始事件信息中,得到分区事件信息。
在一种实施例中,在大数据量的用户行为数据导入过程中,为了保证单个用户行为序列的完整性,同时保证在大数据抽样情况下用户统计数据的准确性,本申请在用户行为数据导入的过程中构建了一套按照用户进行分区存储的用户分区存储策略,该用户分区存储策略是基于用户内部标识进行的,其具体步骤包括:获取预设的区域数量;根据用户内部标识和预设的区域数量,确定用户内部标识对应的用户分区标识。其中,预设的区域数量可以是人为设定也可以是***默认的。其中,区域数量即用户分区的区域的总数量,每一个用户区域也可以称作一个桶,区域数量也即桶的总数量,预设的区域数量可以是人为设置的,也可以是***默认的。
进一步的,根据用户内部标识和预设的区域数量得到用户内部标识的具体步骤包括:基于哈希算法和用户内部标识,计算用户内部标识的存储地址;基于预设的区域数量对存储地址进行取余运算,得到用户分区标识对应的用户分区标识。其中,哈希(Hash)算法可以采用MD4、MD5以及SHA-1等,MD5和SHA-1可以说是目前应用最广泛的哈希算法,而它们都是以MD4为基础设计的。具体地,计算用户分区标识的过程如公式1所示:
sample_group_id=Hash(user_id)%region_num(公式1);
其中,sample_group_id即用户分区存储的用户分区标识,user_id即用户内部标识,region_num即预设的区域数量(例如32、64等),%在计算机语言中表示取余,Hash(user_id)即表示通过哈希算法(哈希算法是只能加密,不能解密的密码学算法,可以将任意长度的信息转换成一段固定长度的字符串)对用户内部标识(user_id)进行运算,通过Hash函数和user_id计算出来的存储地址(这里的存储地址只是哈希表中的存储地址,并不是实际的物理地址)称作哈希地址。需要说明的是,用户内部标识(user_id)采用哈希表进行存储。
同时,计算得到用户分区标识(sample_group_id)后,***会自动的将用户分区标识(sample_group_id)存储到原始事件信息中,并作为单独的用户属性列存在,以得到包含用户分区标识列的分区事件信息。
S203:根据预设的数据查询信息和抽样比例在分区事件信息中查询数据,并根据查询到的数据生成查询结果。
基于S202已经将原始事件信息按照用户内部标识进行了分区,因此,可以按照预设的数据查询信息和抽样比例在分区后的分区事件信息中查询感兴趣的数据,具体过程将在下文中进行阐述。
在一种实施例中,对数据进行抽样查询的具体步骤包括:根据预设的数据查询信息和抽样比例,确定目标事件信息和数据计算方式;根据目标事件信息和数据计算方式在目标事件信息中查询数据,并根据查询到的数据生成查询结果。其中,预设的数据查询信息包括数据查询条件和数据查询指标,而数据查询条件包括预查询的事件名称(name)和预查询的事件发生的日期等;抽样比例即比例抽样方法中的一个抽样指标,比例抽样是指不考虑试样变异性的大小,都按照统一的比例进行抽样的方法,本申请中的抽样比例的范围与预设的用户区域数量有关,常见的抽样比例如1/2、1/4等。需要说明的是,预设的用户区域数量的倒数称为抽样颗粒度,若预设的用户区域数量为64,则抽样颗粒度为1/64。
其中,根据预设的数据查询信息和抽样比例确定目标事件信息和数据计算方式的具体步骤包括:解析预设的数据查询信息,得到数据查询条件和数据查询指标;根据数据查询条件从分区事件信息中筛选出目标事件信息;根据数据查询指标和抽样比例,确定数据计算方式。其中,数据查询条件包括预查询的事件名称(name)和预查询的事件发生的日期等,数据查询指标包括总次数(事件分析功能常用指标,指在选定的时间范围内,某一事件被触发的次数;例如选择页面浏览事件,按总次数查看时,计算出来的值即为页面浏览量)、触发用户数(事件分析功能常用指标,指在选定的时间范围内,触发某一事件的独立用户数;比如选择注册成功事件,按独立用户数查看时,计算出来的值即为选择时间范围内的注册成功人数)、人均次数(事件分析功能常用指标,指在选定的时间范围内,独立用户触发某一事件的平均次数;比如选择页面浏览事件,按人均次数查看时,计算出来的值即为人均页面浏览深度)等。
例如,查询事件1001在XX年-XX月-XX日的浏览的用户数量,其中,事件1001以及XX年-XX月-XX日即数据查询条件,而浏览的用户数量即数据查询指标。因此,根据数据查询条件即可从分区事件信息中筛选出满足事件名称为1001,事件发生时间为XX年-XX月-XX日的事件,并将筛选出来的目标事件的相关信息作为目标事件信息。
在一种实施例中,不同的数据查询指标其数据计算方式可能不同,因此需要根据数据查询指标的类型确定数据计算方式,其具体步骤包括:根据数据查询指标和抽样比例,确定比例系数;根据比例系数和抽样比例,确定数据计算方式。具体地,数据查询指标可以分为需要按照抽样比例放大类的指标和不需要按照抽样比例放大类的指标(例如人均次数(某个事件的人均触发次数)、人均值(某个数字类型属性的人均值)、最大值(某个数字类型属性的最大值)、最小值(某个数字类型属性的最小值)以及人均Session次数等);其中,若数据查询指标为需要按照抽样比例放大类的指标,则比例系数为抽样比例的倒数,数据计算方式为在按照抽样比例抽取对应的事件信息进行查询后,还需要乘以比例系数以保证最后的统计结果接近于实际数据结果;若数据查询指标为不需要按照抽样比例放大类的指标,则比例系数为1,数据计算方式为只需要按照抽样比例抽取对应的事件信息进行查询。
在一种实施例中,根据上述步骤和描述得到了数据计算方式的两种类型以及目标事件信息,基于此查询数据的具体步骤包括:根据数据计算方式对用户分区标识进行取余运算,得到抽样后的用户分区标识;根据抽样后的用户分区标识从目标事件信息中确定抽样事件信息,并根据抽样事件信息生成抽样结果;根据数据查询指标和数据计算方式对抽样结果进行计算,得到查询结果。
例如,若要查询XX年-XX月-XX日触发了浏览页面事件1001的用户数时,非抽样查询的逻辑下的计算方式SQL语句为:select count(distinc user_id)as uv from eventswhere day=’XX-XX-XX’and event_id=1001,其中,uv即Web端日活跃用户数(1天(00:00-24:00)之内,访问网站的不重复用户数(以浏览器Cookie为依据),一天内同一访客多次访问网站只被计算1次)。然而这种非抽样查询的逻辑对于数据量很大的情况并不适用,由于单次查询的速度很慢,这种非抽样查询的方式会严重影响分析效率。
采用本申请提出的抽样查询方式时,对于页面浏览量这种需要按照抽样比例放大类的指标,假设抽样比例为1/2,由于抽样过程中只抽取了一半的用户进入抽样统计结果,因此抽样后会导致该页面浏览量统计到的用户数减少一半,所以在最后的聚合结果中需要乘以比例系数(即抽样比例的倒数)以保证最后的统计结果接近于实际数据结果。具体地,若要查询XX年-XX月-XX日触发了浏览页面事件1001的用户数时,本申请提出的抽样查询的逻辑下的计算方式SQL语句为:select 2*count(distinct user_id)as uv from eventswhere day=’XX-XX-XX’and event_id=1001and sample_group_id%2=0,其中,通过“where day=’XX-XX-XX’and event_id=1001”语句筛选出满足数据查询条件的目标事件信息,通过“sample_group_id%2=0”语句对用户分区标识(sample_group_id)进行取余计算,因为抽样比例是1/2,因此取余计算中的除数为2,同理,若抽样比例为1/a(a为正整数),则取余计算中的除数为a,可以看出在where条件中增加此条件,可以保证有一半的用户数据进入了抽样统计结果,通过抽样查询可以快速的筛选出抽样事件,从而提高了数据分析的效率,最后通过“count(distinct user_id)”语句计算满足前述数据查询条件和抽样比例的抽样事件信息中涵盖的用户数量,由于页面浏览量这种指标抽样后会导致可以统计到的用户数减少,所以在最后计算时,通过乘以比例系数2得到最后的查询结果。
此外,采用本申请提出的抽样查询方式时,对于页面人均浏览量这种不需要按照抽样比例放大类的指标,假设抽样比例为1/2,由于抽样过程中虽然只抽取了一半的用户进入抽样统计结果,但是该抽样不会导致页面人均浏览量减少一半,因此其比例系数为1。具体地,若要查询XX年-XX月-XX日触发了浏览页面事件1001的人均用户数时,本申请提出的抽样查询的逻辑下的计算方式SQL语句为:select count(*)/count(distinct user_id)from events where day=’201-11-22’and event_id=1001and sample_group_id%2=0,其中,通过“where day=’XX-XX-XX’and event_id=1001”语句筛选出满足数据查询条件的目标事件信息,通过“sample_group_id%2=0”语句对用户分区标识(sample_group_id)进行取余计算,因为抽样比例是1/2,因此取余计算中的除数为2,同理,若抽样比例为1/a(a为正整数),则取余计算中的除数为a,可以看出在where条件中增加此条件,可以保证有一半的用户数据进入了抽样统计结果,通过抽样查询可以快速的筛选出抽样事件,从而提高了数据分析的效率,最后通过“count(*)/count(distinct user_id)”语句计算满足前述数据查询条件和抽样比例的抽样事件信息中的人均用户数量,同时,由于该指标是人均浏览量,属于不需要按照抽样比例进行放大类的指标,因此在最后计算时,通过乘以比例系数1即可得到最后的查询结果。
需要说明的是,本申请涉及的原始事件信息、分区事件信息、目标事件信息以及抽样事件信息都是采用典型的事件表结构进行存储的。
如图3所示,图3为本申请实施例提供的抽样查询方法的另一种流程示意图。本申请提供的抽样查询方法简单来讲分为以下几个步骤:
S301:事件导入。
即通过***将前端操作、后端日志以及业务数据等事件信息导入至数据服务器中进行存储。
S302:按照用户内部标识分区。
在大数据量的用户行为数据导入过程中,为了保证单个用户行为序列的完整性,同时保证在大数据抽样情况下用户统计数据的准确性,本申请在用户行为数据导入的过程中构建了一套按照用户进行分区存储的用户分区存储策略,该用户分区存储策略是基于用户内部标识进行的。通过构建哈希算法,使得同一个用户只能分配在一个组内,同时,不同组的用户采用不同的分区存储策略。
S303:得到用户分区0、用户分区1……用户分区N-1。
根据S302对事件进行分区,也即将用户进行分组后,得到用户分区0、用户分区1……用户分区N-1。其中,N为预设的区域数量。
S304:抽样查询。
对于分区好的事件信息进行抽样查询,其抽样计算方式主要分为两种:一种是需要按照抽样比例放大类指标的计算方式,另一种是不需要按照抽样比例放大类指标的计算方式。然而,不论对于哪一种指标,其抽样查询的步骤首先需要根据预设的数据查询信息中的数据查询条件确定目标事件信息,然后根据数据查询指标和抽样比例确定数据计算方式。
S305:还原指标。
对于两类不同的数据查询指标,其主要的区别是还原指标时的比例系数不同:对于需要按照抽样比例放大类指标,其数据计算方式为在按照抽样比例抽取对应的事件信息进行查询后,还需要乘以比例系数以保证最后的统计结果接近于实际数据结果;对于不需要按照抽样比例放大类指标,其数据计算方式为按照抽样比例抽取对应的事件信息进行查询即可,不需要进行其他计算。
S306:返回查询结果。
根据前述过程对事件信息进行处理后,得到最终的查询结果,并将查询结果反馈给查询终端。
如图4所示,图4为本申请实施例提供的查询终端的抽样查询的界面示意图。如图4所示,用户可以自行数据查询指标(例如:Web浏览页面的用户数),还可以通过滑动“抽样设置”的滑轨进行抽样比例的选择,同时还可以选择对于查询结果进行“近似计算”的展示。图4下半部分为查询结果的展示区,该区域主要用于展示数据查询指标的查询结果,用户可以自行选择查询结果的展示方式(例如折线图、柱状图以及扇形图等)。
本申请所提供的抽样查询方法可以应用在大数据用户行为分析的所有分析模型当中,典型的使用场景是当实际数据量非常大的情况下,单次查询的速度很慢,这个时候可以通过查询抽样的方式来选择少部分用户的数据来快速的验证猜想,观察趋势。在最终确定要关注和考核的具体指标时,则可以选择全量查询来获取准确的数值。当然,查询抽样反推出来的结果和真实的全量查询结果之间可能存在出入,当用户数据规模越大,数据分布越均匀的时候,这个出入就会越小。如果只是关注数据的趋势,则在少部分用户群上做抽样查询,则查询抽样带来的误差就不会有那么明显了。
基于上述实施例的内容,本申请实施例提供了一种抽样查询装置。该抽样查询装置用于执行上述方法实施例中提供的抽样查询方法,具体地,请参阅图5,该装置包括:
第一获取模块501,用于获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
分区模块502,用于根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
抽样计算模块503,用于根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
在一种实施例中,分区模块502包括:
第二获取模块,用于获取预设的区域数量;
分区标识确定模块,用于根据所述用户内部标识和所述预设的区域数量,确定所述用户内部标识对应的用户分区标识。
在一种实施例中,分区标识确定模块包括:
地址计算模块,用于基于哈希算法和所述用户内部标识,计算所述用户内部标识的存储地址;
标识计算模块,用于基于所述预设的区域数量对所述存储地址进行取余运算,得到所述用户分区标识对应的用户分区标识。
在一种实施例中,抽样计算模块503包括:
第一确定模块,用于根据所述预设的数据查询信息和所述抽样比例,确定目标事件信息和数据计算方式;
第一查询模块,用于根据所述目标事件信息和所述数据计算方式在所述目标事件信息中查询数据,并根据查询到的数据生成查询结果。
在一种实施例中,第一确定模块包括:
信息解析模块,用于解析所述预设的数据查询信息,得到数据查询条件和数据查询指标;
信息筛选模块,用于根据所述数据查询条件从所述分区事件信息中筛选出目标事件信息;
第二确定模块,用于根据所述数据查询指标和所述抽样比例,确定数据计算方式。
在一种实施例中,第二确定模块包括:
系数确定模块,用于根据所述数据查询指标和所述抽样比例,确定比例系数;
第三确定模块,用于根据所述比例系数和所述抽样比例,确定数据计算方式。
在一种实施例中,抽样查询装置还包括:
分区运算模块,用于根据所述数据计算方式对所述用户分区标识进行取余运算,得到抽样后的用户分区标识;
抽样模块,用于根据所述抽样后的用户分区标识从所述目标事件信息中确定抽样事件信息,并根据所述抽样事件信息生成抽样结果;
查询计算模块,用于根据所述数据查询指标和所述数据计算方式对所述抽样结果进行计算,得到查询结果。
本申请实施例的抽样查询装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
区别于当前的技术,本申请提供的抽样查询装置设置了分区模块,通过分区模块可以依据用户内部标识构建一套用户分组的策略,使得不同组的用户可以采用不同的分区存储策略进行存储,在进行抽样查询时,可以根据抽样比例快速的筛选出相应的组来进一步进行数据查询,从而提高数据分析的效率和准确性。
相应的,本申请实施例还提供一种电子设备,如图6所示,该电子设备可以包括有一个或者一个以上处理核心的处理器601、无线(WiFi,Wireless Fidelity)模块602、有一个或一个以上计算机可读存储介质的存储器603、音频电路604、显示单元605、输入单元606、传感器607、电源608、以及射频(RF,Radio Frequency)电路609等部件。本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器603内的软件程序和/或模块,以及调用存储在存储器603内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一种实施例中,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
WiFi属于短距离无线传输技术,电子设备通过无线模块602可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了无线模块602,但是可以理解的是,其并不属于终端的必需构成,完全可以根据需要在不改变发明的本质的范围内而省略。
存储器603可用于存储软件程序以及模块,处理器601通过运行存储在存储器603的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器603可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器603可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器603还可以包括存储器控制器,以提供处理器601和输入单元606对存储器603的访问。
音频电路604包括扬声器,扬声器可提供用户与电子设备之间的音频接口。音频电路604可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,扬声器将收集的声音信号转换为电信号,由音频电路604接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路609发送给比如另一电子设备,或者将音频数据输出至存储器603以便进一步处理。音频电路604还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
显示单元605可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元605可包括显示面板,在一种实施例中,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
输入单元606可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元606可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。在一种实施例中,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元606还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
电子设备还可包括至少一种传感器607,比如光传感器、运动传感器以及其他传感器。至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
电子设备还包括给各个部件供电的电源608(比如电池),优选的,电源可以通过电源管理***与处理器601逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源608还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
射频电路609可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器601处理;另外,将涉及上行的数据发送给基站。通常,射频电路609包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,射频电路609还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器603中,并由处理器601来运行存储在存储器603中的应用程序,从而实现以下功能:
获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现上述抽样查询方法的功能。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本申请实施例所提供的抽样查询方法、装置、电子设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种抽样查询方法,其特征在于,包括:
获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
2.根据权利要求1所述的抽样查询方法,其特征在于,所述根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息的步骤,包括:
获取预设的区域数量;
根据所述用户内部标识和所述预设的区域数量,确定所述用户内部标识对应的用户分区标识。
3.根据权利要求2所述的抽样查询方法,其特征在于,所述根据所述用户内部标识和所述预设的区域数量,确定所述用户内部标识对应的用户分区标识的步骤,包括:
基于哈希算法和所述用户内部标识,计算所述用户内部标识的存储地址;
基于所述预设的区域数量对所述存储地址进行取余运算,得到所述用户分区标识对应的用户分区标识。
4.根据权利要求1所述的抽样查询方法,其特征在于,所述根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果的步骤,包括:
根据所述预设的数据查询信息和所述抽样比例,确定目标事件信息和数据计算方式;
根据所述目标事件信息和所述数据计算方式在所述目标事件信息中查询数据,并根据查询到的数据生成查询结果。
5.根据权利要求4所述的抽样查询方法,其特征在于,所述根据所述预设的数据查询信息和所述抽样比例,确定目标事件信息和数据计算方式的步骤,包括:
解析所述预设的数据查询信息,得到数据查询条件和数据查询指标;
根据所述数据查询条件从所述分区事件信息中筛选出目标事件信息;
根据所述数据查询指标和所述抽样比例,确定数据计算方式。
6.根据权利要求5所述的抽样查询方法,其特征在于,所述根据所述数据查询指标和所述抽样比例,确定数据计算方式的步骤,包括:
根据所述数据查询指标和所述抽样比例,确定比例系数;
根据所述比例系数和所述抽样比例,确定数据计算方式。
7.根据权利要求6所述的抽样查询方法,其特征在于,所述根据所述目标事件信息和所述数据计算方式在所述目标事件信息中查询数据,并根据查询到的数据生成查询结果的步骤,包括:
根据所述数据计算方式对所述用户分区标识进行取余运算,得到抽样后的用户分区标识;
根据所述抽样后的用户分区标识从所述目标事件信息中确定抽样事件信息,并根据所述抽样事件信息生成抽样结果;
根据所述数据查询指标和所述数据计算方式对所述抽样结果进行计算,得到查询结果。
8.一种抽样查询装置,其特征在于,包括:
第一获取模块,用于获取原始事件信息、预设的数据查询信息以及抽样比例,所述原始事件信息包括用户内部标识;
分区模块,用于根据所述用户内部标识确定用户分区标识,并将所述用户分区标识存储至所述原始事件信息中,得到分区事件信息;
抽样计算模块,用于根据所述预设的数据查询信息和所述抽样比例在所述分区事件信息中查询数据,并根据查询到的数据生成查询结果。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于运行所述存储器里的计算机程序,以执行权利要求1至7任一项所述的抽样查询方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的抽样查询方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236128.2A CN114840565A (zh) | 2022-03-11 | 2022-03-11 | 抽样查询方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236128.2A CN114840565A (zh) | 2022-03-11 | 2022-03-11 | 抽样查询方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840565A true CN114840565A (zh) | 2022-08-02 |
Family
ID=82561737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210236128.2A Pending CN114840565A (zh) | 2022-03-11 | 2022-03-11 | 抽样查询方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840565A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701914A (zh) * | 2023-06-21 | 2023-09-05 | 广东星云开物科技股份有限公司 | 一种硬件设备异常使用识别方法、装置、存储装置及*** |
CN116703248A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 数据审核方法、装置、电子设备及计算机可读存储介质 |
-
2022
- 2022-03-11 CN CN202210236128.2A patent/CN114840565A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701914A (zh) * | 2023-06-21 | 2023-09-05 | 广东星云开物科技股份有限公司 | 一种硬件设备异常使用识别方法、装置、存储装置及*** |
CN116703248A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 数据审核方法、装置、电子设备及计算机可读存储介质 |
CN116703248B (zh) * | 2023-08-07 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 数据审核方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108471376B (zh) | 数据处理方法、装置及*** | |
WO2015081801A1 (en) | Method, server, and system for information push | |
CN107204964B (zh) | 一种权限管理的方法、装置和*** | |
WO2014169661A1 (en) | Method and system for processing report information | |
CN114840565A (zh) | 抽样查询方法、装置、电子设备及计算机可读存储介质 | |
CN112540996B (zh) | 一种业务数据的校验方法、装置、电子设备及存储介质 | |
CN113420051A (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
CN108809805B (zh) | 一种信息交互方法、***及公众账号客户端 | |
CN111090877B (zh) | 数据生成、获取方法及对应的装置、存储介质 | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
CN113537685A (zh) | 一种数据处理方法和装置 | |
CN108966340B (zh) | 一种设备定位方法及装置 | |
EP3582450A1 (en) | Message notification method and terminal | |
CN108632054B (zh) | 信息传播量的预测方法及装置 | |
CN114996369A (zh) | 一种数据仓库指标库的构建方法和装置 | |
CN114648336A (zh) | 人脸支付方法、装置、电子设备及存储介质 | |
CN108616552B (zh) | 网页访问方法、装置和*** | |
CN111191998A (zh) | 事项处理方法及装置 | |
CN114363406B (zh) | 推送消息处理方法、装置、设备及存储介质 | |
CN110610417B (zh) | 一种信息显示的方法、装置以及设备 | |
CN110390549B (zh) | 一种注册小号识别方法、装置、服务器及存储介质 | |
US20140310087A1 (en) | Method and system for processing report information | |
CN115543314A (zh) | 一种报表生成方法、装置、设备和存储介质 | |
CN115878457A (zh) | 一种测试数据校验方法、装置、电子设备和存储介质 | |
CN117807132A (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 |