CN112308637A - 数据处理方法及系统 - Google Patents

数据处理方法及系统 Download PDF

Info

Publication number
CN112308637A
CN112308637A CN202011375991.3A CN202011375991A CN112308637A CN 112308637 A CN112308637 A CN 112308637A CN 202011375991 A CN202011375991 A CN 202011375991A CN 112308637 A CN112308637 A CN 112308637A
Authority
CN
China
Prior art keywords
sampling
estimated
database
user
data processing
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
Application number
CN202011375991.3A
Other languages
English (en)
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202011375991.3A priority Critical patent/CN112308637A/zh
Publication of CN112308637A publication Critical patent/CN112308637A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种数据处理方法,该方法包括:接收定向组合;根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数;根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数;将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。本申请还公开了一种数据处理系统、电子装置和计算机可读存储介质。由此,能够在超大数据量的情况下根据任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数,反馈迅速且预估结果准确,有效提升了用户体验。

Description

数据处理方法及系统
技术领域
本申请涉及数据分析技术领域,尤其涉及一种数据处理方法、系统、电子装置及计算机可读存储介质。
背景技术
在互联网媒体的推广系统(例如广告投放系统)中,会提供多种多样的定向条件供客户(广告主)选择,例如性别、年龄等。客户通过选择这些定向条件,可以生成相应的定向组合,指定自己的广告投放的目标人群,从而提升投放效果,降低投放成本。而对于媒体来说,也可以更精细的切分流量,获取更多的收入。
在选择定向条件的过程中,客户往往无法预期所选的定向组合是否能够达到自己满意的效果,因此主流的推广系统通常会提供定向预估的功能,即选择定向组合时,在投放页面上显示出该定向组合预计能覆盖多少用户数,从而给客户提供一个依据,用以判断该定向组合是否符合预期。
定向预估通常是根据客户选择的定向组合查询历史上的媒体访问情况,获取历史的定向覆盖用户数,以该用户数作为一个预估结果提供给客户。由于从长期来看,媒体的用户组成结构趋于稳定,因此按照历史的定向覆盖用户数可以比较准确的预估未来的定向覆盖用户数。
然而对于比较大型的媒体,单日的访问量可达到亿级至百亿级,数据量非常巨大,同时定向条件及其组合可能存在成千上万种,因此如何快速且准确的得到预估的定向覆盖用户数,成为一个难题。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请的主要目的在于提出一种数据处理方法、系统、电子装置及计算机可读存储介质,旨在解决如何在定向数量多且组合多变的情况下提供一种适用于超大数据量的快速准确的用户数量预估方式的问题。
为实现上述目的,本申请实施例提供了一种数据处理方法,所述方法包括:
接收定向组合;
根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数;
根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数;及
将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
可选地,所述方法在接收定向组合之前还包括:
根据原始用户数据集合和所述抽样比例生成所述抽样数据库。
可选地,所述根据原始用户数据集合和所述抽样比例生成所述抽样数据库包括:
获取所述原始用户数据集合;
获取所述抽样比例;
按照所述抽样比例从所述原始用户数据集合中进行随机抽样,得到抽样用户数据;
将所述抽样用户数据导入所述抽样数据库。
可选地,所述根据原始用户数据集合和所述抽样比例生成所述抽样数据库在获取所述抽样比例之前还包括:
根据实际需求配置所述抽样比例。
可选地,所述抽样数据库为分析型分布式数据库。
可选地,所述根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数包括:
根据所述定向条件组合生成相应的数据库查询语句;
根据所述查询语句从所述抽样数据库中查询符合要求的用户;
将查询得到的用户的数量确定为所述第一预估用户数。
可选地,所述根据所述第一预估用户数和所述抽样数据库的抽样比例计算第二预估用户数包括:
获取所述抽样比例;
将所述第一预估用户数除以所述抽样比例,得到所述第二预估用户数。
此外,为实现上述目的,本申请实施例还提供一种数据处理系统,所述系统包括:
接收模块,用于接收定向组合;
查询模块,用于根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数;
确定模块,用于根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数;
返回模块,用于将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上述的数据处理方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上述的数据处理方法。
本申请实施例提出的数据处理方法、系统、电子装置及计算机可读存储介质,能够通过所述抽样数据库查询符合所述定向组合的要求的数据,从而预估所述定向组合对应的用户数量,即使在每日百亿级的用户访问日志的数据量的情况下,也能根据任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数,反馈迅速且预估结果准确,有效提升了用户体验。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为本申请第一实施例提出的一种数据处理方法的流程图;
图3为图2中步骤S202的细化流程示意图;
图4为图2中步骤S204的细化流程示意图;
图5为本申请第二实施例提出的一种数据处理方法的流程图;
图6为图5中步骤S300的一种细化流程示意图;
图7为图5中步骤S300的另一种细化流程示意图;
图8为本申请第二实施例提出的一种数据处理方法的另一种形式的流程图;
图9为本申请第三实施例提出的一种电子装置的硬件架构示意图;
图10为本申请第四实施例提出的一种数据处理系统的模块示意图;
图11为本申请第五实施例提出的一种数据处理系统的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于客户端2、服务器4、网络6的应用环境中。
其中,所述客户端2用于接收第一用户(例如广告主)选择的定向组合,向第一用户显示根据所述定向组合预估的用户数量等。所述客户端2可以为PC(Personal Computer,个人电脑)、手机、平板电脑、便携计算机、可穿戴设备等终端设备。
所述服务器4用于根据所述定向组合计算预估的用户数量并向所述客户端2返回预估结果。所述服务器4可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述网络6可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。所述服务器4和一个或多个所述客户端2之间通过所述网络6通信连接,以进行数据传输和交互。
实施例一
如图2所示,为本申请第一实施例提出的一种数据处理方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,以所述服务器4为主要执行主体进行示例性描述。
该方法包括以下步骤:
S200,接收定向组合。
当第一用户(本实施例中主要是指广告主)访问推广系统(广告投放系统)时,可以在客户端2中为第一用户提供多个定向条件供第一用户选择,并根据第一用户所选择的定向条件形成所述定向组合,然后发送至所述服务器4。服务器4接收到所述定向组合后,需要根据所述定向组合为所述第一用户计算预估的用户数量。
S202,根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数。
为了解决在超大数据量的情况下,仍然能根据所选的不同定向组合快速得出预估的定向覆盖用户数的问题,业界通常有两种方案来达到目的:
第一种方案是离线预算,由于定向条件一般可以枚举的,例如性别(男、女)、年龄(17岁以下、18-24岁、25-30岁、30岁以上)、内容兴趣(游戏、电影)等,所有枚举值交叉组合之后,可以获得所有可能的定向组合。通过某个离线平台预算好所有定向组合对应的覆盖用户数并存入数据库,这样在第一用户选择某一个定向组合时,即可快速返回所需要的数据。但是,该方案仅在定向条件数量较少的情况下运行效果较好,随着定向条件数量的增加,定向组合的数量会呈指数级增加,假定每个定向条件仅包含两种枚举值,30个定向条件即可达到10亿级的定向组合规模,此时该方案显然无法适用。
第二种方案是同步转异步,以定向包或人群包的概念来包装一个定向组合。当第一用户选定一个定向组合后,可将其打包成一个定向包,为其定义计算中的状态,通过离线的方式计算其覆盖用户数。计算完成后,将定向包状态改为计算完成,此时第一用户可查看该定向包的覆盖用户数、用户人群分布等详细分析数据。该方案比较适合较为固定的定向组合,第一用户等待一段时间即可查看预估结果。但该方案对第一用户的体验损失较大,在定向组合非常多变的情况下无法适用。
本实施例采用大型的分析型分布式数据库来存储用户数据,根据所述定向组合在所述数据库中进行查询来得到预估结果。该类数据库通常可提供对百亿级别数据的任意维度的分组、聚合计算,并在秒级时间内返回结果。所述数据库例如可以是Clickhouse,也可以是ElasticSearch、AnalyticDB等,在此不做限制。
另外,强大的性能往往意味着高昂的成本,若需要使用几十上百台服务器来达到该定向预估的功能,从投入产出比的角度上不可接受。因此,本实施例采用抽样的机制来大幅缩减需要导入数据库的用户数据,从而降低达成预估功能需要使用的成本。也就是说,所述数据库中存储的是按照一定的抽样比例从原始用户数据中随机抽样后得到的抽样数据,即为抽样数据库。并且,所述抽样比例可以根据需求灵活调控,也即意味着成本可控,随着所述数据库中数据量的增加或减少,可灵活调控运行成本,提供始终如一的高性能定向预估服务。
具体而言,进一步参阅图3,为上述步骤S202的细化流程示意图。在本实施例中,所述步骤S202具体包括:
S2020,根据所述定向组合生成相应的数据库查询语句。
当服务器4接收到所述定向组合后,首先根据所述定向组合中包含的多个定向条件和各个定向条件之间的组合关系生成适用于所述抽样数据库的查询语句(例如SQL查询语句),用于后续从所述抽样数据库中进行查询。举例而言,假设所述抽样数据库采用的是Clickhouse,则根据所述定向组合生成Clickhouse对应的格式的查询语句。
S2022,根据所述查询语句从所述抽样数据库中查询符合要求的用户。
所述抽样数据库中包含抽样后得到的多条用户数据,每条用户数据包括但不限于用户标识(ID)和该用户对应的一个或多个定向条件。通过所述查询语句,可以从所述抽样数据库中查询到符合所述查询语句中的要求的用户数据,也就是满足所述定向组合中的各个定向条件的用户ID。
S2024,将查询得到的用户的数量确定为所述第一预估用户数。
根据所述查询语句从所述抽样数据库中查询得到的符合要求的用户数据(所述抽样数据库返回的查询结果)对应的用户的数量,即为所述定向组合在所述抽样数据库中对应的预估的覆盖用户数(例如2500),记为第一预估用户数。
回到图2,S204,根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数。
由于从所述抽样数据库中查询到的结果是已抽样后的结果,还需要根据对应的所述抽样比例计算出真实的结果,因此先获取所述抽样比例(可以是在生成所述抽样数据库时预先设定好的),然后根据所述第一预估用户数和所述抽样比例计算第二预估用户数,也就是真实的预估结果。
具体而言,进一步参阅图4,为上述步骤S204的细化流程示意图。在本实施例中,所述步骤S204具体包括:
S2040,获取预先设定的所述抽样数据库的抽样比例。
所述抽样比例在设定之后可以保存在配置数据表中,当后续需要时从所述配置数据表中获取。
S2042,将所述第一预估用户数除以所述抽样比例,得到所述第二预估用户数。
步骤S202已计算出抽样后的预估结果,即所述第一预估用户数,当获取到所述抽样比例后,可以进一步计算得到真实的预估结果,即所述第二预估用户数。
在本实施例中,由于所述抽样数据库是将真实的原始用户数据按照所述抽样比例抽样后得到的,因此所述第一预估用户数需要除以所述抽样比例,即可得到所述第二预估用户数。例如,假设所述第一预估用户数为2500,所述抽样比例为0.01,则所述第二预估用户数为2500/0.01=250000。
回到图2,S206,将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
当服务器4计算得到所述第二预估用户数(例如250000)后,返回至所述客户端2,以供所述第一用户查看所述定向组合对应的预估的覆盖用户数。
值得注意的是,本实施例的方案可行性依赖于一个基础条件,即对用户数据的随机抽样不会过多损失对覆盖用户数计算的精度。为了验证该项结论,对原始用户数据分别按照50%、10%、1%、0.1%的抽样比例进行随机抽样,并在各类定向组合下计算出相应的覆盖用户数。结果显示,对于百亿级别的数据量,即使抽样比例达到0.1%,预估准确率依然能达到95%以上,因此最终验证本实施例方案可行。
本实施例提出的数据处理方法,可以通过所述抽样数据库查询符合第一用户选择的定向组合的要求的数据,从而预估所述定向组合对应的用户数量,即使在每日百亿级的用户访问日志的数据量的情况下,也能根据第一用户选择的任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数,反馈迅速且预估结果准确,有效提升了用户体验。
实施例二
如图5所示,为本申请第二实施例提出的一种数据处理方法的流程图。在第二实施例中,所述数据处理方法在上述第一实施例的基础上,还包括步骤S300。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括以下步骤:
S300,根据原始用户数据集合和抽样比例生成抽样数据库。
在为第一用户提供定向预估功能之前,首先要建立该项预估所使用的数据来源。在本实施例中,由于采用了大型的分析型分布式数据库来存储用户数据,并且采用抽样的机制来缩减样本,则需要先生成所述抽样数据库。
具体而言,进一步参阅图6,为上述步骤S300的一种细化流程示意图。在本实施例中,所述步骤S300具体包括:
S3000,获取所述原始用户数据集合。
所述原始用户数据集合中包含多条原始用户数据,例如可能是亿级至百亿级别的数据量,每条原始用户数据包括但不限于用户ID和该用户对应的一个或多个定向条件。例如,所述原始用户数据的数据格式通常为:{用户ID|定向1|定向2|定向3|……}。在本实施例中,所述原始用户数据集合为根据所述推广系统(广告投放系统)之前投放的推广数据(广告)收集到的历史用户数据,且为离线数据,存储于hive(一种数据仓库工具)中。
S3002,获取所述抽样数据库的所述抽样比例。
在本实施例中,所述抽样比例可以是预先设定的一个较优的值(例如0.01,表示抽样1%的数据)。在设定好后可以保存在配置数据表中,当需要生成所述抽样数据库中从所述配置数据表中获取所述抽样数据库对应的所述抽样比例。
S3004,按照所述抽样比例从所述原始用户数据集合中进行随机抽样,得到抽样用户数据。
当获取到所述抽样比例后,可以按照所述抽样比例从所述原始用户数据集合中随机抽取相应的样本,得到的用户数据即为所述抽样用户数据。例如,当所述抽样比例为0.01时,从所述原始用户数据集合中随机抽样10%,这10%的用户数据组成所述抽样用户数据。
S3006,将所述抽样用户数据导入所述抽样数据库。
在得到所述抽样用户数据后,将所述抽样用户数据通过同步工具导入相应形式的分析型分布式数据库(例如Clickhouse,也可以是ElasticSearch、AnalyticDB等),即生成了所述抽样数据库。该类数据库通常可提供对百亿级别数据的任意维度的分组、聚合计算,并在秒级时间内返回结果。
进一步参阅图7,为上述步骤S300的另一种细化流程示意图。在图7中,所述步骤S300在S3002之前还可以包括:
S3001,根据实际需求配置所述抽样数据库的所述抽样比例。
所述配置可以是在首次生成所述抽样数据库之前配置,也可以是在后续执行过程中根据实际需求对原抽样比例进行修改。在该方法的应用过程中,出于成本和性能考虑,可能需要降低所述抽样数据库的存储成本,或降低推广系统处理请求的响应时间,又或者需要提升预估的精度,此时可相应调整所述抽样比例的具体数值。
在配置所述抽样比例之后,所述抽样比例保存至配置数据表中。然后服务器4在需要生成所述抽样数据库时执行所述步骤S3002,从所述配置数据表中获取最新配置的所述抽样比例。
值得注意的是,图7中所述步骤S3001是在S3000与S3002之间,实际上,上述步骤还可以采用其他可行的执行顺序,例如先执行所述步骤S3001,再执行所述步骤S3000等等。
回到图5,S302,接收定向组合。
当第一用户访问推广系统(广告投放系统)时,可以在客户端2中为第一用户提供多个定向条件供第一用户选择,并根据第一用户所选择的定向条件形成所述定向组合,然后发送至所述服务器4。服务器4接收到所述定向组合后,需要根据所述定向组合为所述第一用户计算预估的用户数量。
S304,根据所述定向组合查询所述抽样数据库,得到第一预估用户数。
首先,根据所述定向组合生成相应的数据库查询语句(例如SQL查询语句)。然后,根据所述查询语句从所述抽样数据库中查询符合要求的用户。所述抽样数据库中包含抽样后得到的多条所述抽样用户数据,每条所述抽样用户数据包括但不限于用户ID和该用户对应的一个或多个定向条件。通过所述查询语句,可以从所述抽样数据库中查询到符合所述查询语句中的要求的用户数据,也就是满足所述定向组合中的各个定向条件的用户ID。根据所述查询语句从所述抽样数据库中查询得到的符合要求的用户数据(所述抽样数据库返回的查询结果)对应的用户的数量,即为所述定向组合在所述抽样数据库中对应的预估的覆盖用户数(例如2500),记为第一预估用户数。
S306,根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数。
由于从所述抽样数据库中查询到的结果是已抽样后的结果,还需要根据对应的所述抽样比例计算出真实的结果,因此先获取所述抽样比例,然后根据所述第一预估用户数和所述抽样比例计算第二预估用户数(将所述第一预估用户数除以所述抽样比例,例如2500/0.01=250000),也就是真实的预估结果。
S308,将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
当服务器4计算得到所述第二预估用户数(例如250000)后,返回至所述客户端2,以供所述第一用户查看所述定向组合对应的预估的覆盖用户数。
参阅图8所示,为本申请第二实施例提出的所述数据处理方法的另一种形式流程图。可以看出,在本实施例中,所述数据处理方法分为离线部分和在线部分,其中,所述离线部分对应上述步骤S300,所述在线部分对应上述步骤S302-S308。
本实施例提出的数据处理方法,可以通过所述抽样数据库查询符合第一用户选择的定向组合的要求的数据,从而预估所述定向组合对应的用户数量,并且还可以根据实际需求配置或修改所述抽样数据库的抽样比例。采用分析型分布式数据库以及灵活的抽样配置,在尽量不损失预估精度的前提下,实现即使在每日百亿级的用户访问日志的数据量的情况下,也能根据第一用户选择的任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数。反馈迅速且预估结果准确,有效提升了用户体验,同时灵活的抽样配置也可以控制数据存储成本。
实施例三
如图9所示,为本申请第三实施例提出一种电子装置20的硬件架构示意图。本实施例中,所述电子装置20可包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23。需要指出的是,图9仅示出了具有组件21-23的电子装置20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置20可以是所述服务器4。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置20的内部存储单元,例如该电子装置20的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置20的外部存储设备,例如该电子装置20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置20的操作系统和各类应用软件,例如数据处理系统60的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置20的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述数据处理系统60等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置20与其他电子设备之间建立通信连接。
实施例四
如图10所示,为本申请第四实施例提出一种数据处理系统60的模块示意图。所述数据处理系统60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述数据处理系统60包括:
接收模块600,用于接收定向组合。
当第一用户访问推广系统(广告投放系统)时,可以在客户端2中为第一用户提供多个定向条件供第一用户选择,并根据第一用户所选择的定向条件形成所述定向组合,然后发送至接收模块600。接收模块600接收到所述定向组合后,触发其他模块根据所述定向组合为所述第一用户计算预估的用户数量。
查询模块602,用于根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数。
本实施例采用大型的分析型分布式数据库来存储用户数据,根据所述定向组合在所述数据库中进行查询来得到预估结果。该类数据库通常可提供对百亿级别数据的任意维度的分组、聚合计算,并在秒级时间内返回结果。所述数据库例如可以是Clickhouse,也可以是ElasticSearch、AnalyticDB等,在此不做限制。
另外,强大的性能往往意味着高昂的成本,若需要使用几十上百台服务器来达到该定向预估的功能,从投入产出比的角度上不可接受。因此,本实施例采用抽样的机制来大幅缩减需要导入数据库的用户数据,从而降低达成预估功能需要使用的成本。也就是说,所述数据库中存储的是按照一定的抽样比例从原始用户数据中随机抽样后得到的抽样数据,即为抽样数据库。
首先,根据所述定向组合生成相应的数据库查询语句(例如SQL查询语句)。然后,根据所述查询语句从所述抽样数据库中查询符合要求的用户。所述抽样数据库中包含抽样后得到的多条所述抽样用户数据,每条所述抽样用户数据包括但不限于用户ID和该用户对应的一个或多个定向条件。通过所述查询语句,可以从所述抽样数据库中查询到符合所述查询语句中的要求的用户数据,也就是满足所述定向组合中的各个定向条件的用户ID。根据所述查询语句从所述抽样数据库中查询得到的符合要求的用户数据(所述抽样数据库返回的查询结果)对应的用户的数量,即为所述定向组合在所述抽样数据库中对应的预估的覆盖用户数(例如2500),记为第一预估用户数。
确定模块604,用于根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数。
由于从所述抽样数据库中查询到的结果是已抽样后的结果,还需要根据对应的所述抽样比例计算出真实的结果,因此先获取所述抽样比例(可以是在生成所述抽样数据库时预先设定好的),然后根据所述第一预估用户数和所述抽样比例计算第二预估用户数(将所述第一预估用户数除以所述抽样比例,例如2500/0.01=250000),也就是真实的预估结果。
返回模块606,用于将所述第二预估用户数作为所述定向组合的预估结果返回给所述客户端。
当计算模块604计算得到所述第二预估用户数(例如250000)后,返回模块606将所述第二预估用户数返回至所述客户端2,以供所述第一用户查看所述定向组合对应的预估的覆盖用户数。
本实施例提出的数据处理系统,可以通过所述抽样数据库查询符合第一用户选择的定向组合的要求的数据,从而预估所述定向组合对应的用户数量,即使在每日百亿级的用户访问日志的数据量的情况下,也能根据第一用户选择的任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数,反馈迅速且预估结果准确,有效提升了用户体验。
实施例五
如图10所示,为本申请第五实施例提出一种数据处理系统60的模块示意图。在本实施例中,所述数据处理系统60除了包括第四实施例中的所述接收模块600、查询模块602、确定模块604、返回模块606之外,还包括生成模块608。
所述生成模块608,用于根据原始用户数据集合和抽样比例生成抽样数据库。
在为第一用户提供定向预估功能之前,首先要建立该项预估所使用的数据来源。在本实施例中,由于采用了大型的分析型分布式数据库来存储用户数据,并且采用抽样的机制来缩减样本,则需要先生成所述抽样数据库。
具体而言,该过程可以包括:
(1)获取所述原始用户数据集合。
所述原始用户数据集合中包含多条原始用户数据,例如可能是亿级至百亿级别的数据量,每条原始用户数据包括但不限于用户ID和该用户对应的一个或多个定向条件。例如,所述原始用户数据的数据格式通常为:{用户ID|定向1|定向2|定向3|……}。在本实施例中,所述原始用户数据集合为根据所述推广系统(广告投放系统)之前投放的推广数据(广告)收集到的历史用户数据,且为离线数据,存储于hive(一种数据仓库工具)中。
(2)获取所述抽样数据库的所述抽样比例。
在本实施例中,所述抽样比例可以是预先设定的一个较优的值(例如0.01,表示抽样1%的数据)。在设定好后可以保存在配置数据表中,当需要生成所述抽样数据库中从所述配置数据表中获取所述抽样数据库对应的所述抽样比例。
(3)按照所述抽样比例从所述原始用户数据集合中进行随机抽样,得到抽样用户数据。
当获取到所述抽样比例后,可以按照所述抽样比例从所述原始用户数据集合中随机抽取相应的样本,得到的用户数据即为所述抽样用户数据。例如,当所述抽样比例为0.01时,从所述原始用户数据集合中随机抽样10%,这10%的用户数据组成所述抽样用户数据。
(4)将所述抽样用户数据导入所述抽样数据库。
在得到所述抽样用户数据后,将所述抽样用户数据通过同步工具导入相应形式的分析型分布式数据库(例如Clickhouse,也可以是ElasticSearch、AnalyticDB等),即生成了所述抽样数据库。
另外,该过程在获取所述抽样比例之前还可以包括:
根据实际需求配置所述抽样数据库的所述抽样比例。
所述配置可以是在首次生成所述抽样数据库之前配置,也可以是在后续执行过程中根据实际需求对原抽样比例进行修改。在该系统的运行过程中,出于成本和性能考虑,可能需要降低所述抽样数据库的存储成本,或降低推广系统处理请求的响应时间,又或者需要提升预估的精度,此时可相应调整所述抽样比例的具体数值。
在配置所述抽样比例之后,所述抽样比例保存至配置数据表中。然后所述生成模块608在需要生成所述抽样数据库时可以从所述配置数据表中获取最新配置的所述抽样比例。
本实施例提出的数据处理系统,可以通过所述抽样数据库查询符合第一用户选择的定向组合的要求的数据,从而预估所述定向组合对应的用户数量,并且还可以根据实际需求配置或修改所述抽样数据库的抽样比例。采用分析型分布式数据库以及灵活的抽样配置,在尽量不损失预估精度的前提下,实现即使在每日百亿级的用户访问日志的数据量的情况下,也能根据第一用户选择的任意数量定向条件的任意组合,毫秒级地返回预估的覆盖用户数。反馈迅速且预估结果准确,有效提升了用户体验,同时灵活的抽样配置也可以控制数据存储成本。
实施例六
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据处理程序,所述数据处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
接收定向组合;
根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数;
根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数;及
将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法在接收定向组合之前还包括:
根据原始用户数据集合和所述抽样比例生成所述抽样数据库。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据原始用户数据集合和所述抽样比例生成所述抽样数据库包括:
获取所述原始用户数据集合;
获取所述抽样比例;
按照所述抽样比例从所述原始用户数据集合中进行随机抽样,得到抽样用户数据;
将所述抽样用户数据导入所述抽样数据库。
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据原始用户数据集合和所述抽样比例生成所述抽样数据库在获取所述抽样比例之前还包括:
根据实际需求配置所述抽样比例。
5.根据权利要求1-4任一项所述的数据处理方法,其特征在于,所述抽样数据库为分析型分布式数据库。
6.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数包括:
根据所述定向条件组合生成相应的数据库查询语句;
根据所述查询语句从所述抽样数据库中查询符合要求的用户;
将查询得到的用户的数量确定为所述第一预估用户数。
7.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述第一预估用户数和所述抽样数据库的抽样比例计算第二预估用户数包括:
获取所述抽样比例;
将所述第一预估用户数除以所述抽样比例,得到所述第二预估用户数。
8.一种数据处理系统,其特征在于,所述系统包括:
接收模块,用于接收定向组合;
查询模块,用于根据所述定向组合查询预先生成的抽样数据库,得到第一预估用户数;
确定模块,用于根据所述第一预估用户数和所述抽样数据库的抽样比例确定第二预估用户数;
返回模块,用于将所述第二预估用户数作为所述定向组合的预估结果返回给客户端。
9.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。
CN202011375991.3A 2020-11-30 2020-11-30 数据处理方法及系统 Pending CN112308637A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011375991.3A CN112308637A (zh) 2020-11-30 2020-11-30 数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011375991.3A CN112308637A (zh) 2020-11-30 2020-11-30 数据处理方法及系统

Publications (1)

Publication Number Publication Date
CN112308637A true CN112308637A (zh) 2021-02-02

Family

ID=74487219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011375991.3A Pending CN112308637A (zh) 2020-11-30 2020-11-30 数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN112308637A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563804A (zh) * 2017-08-24 2018-01-09 北京奇艺世纪科技有限公司 一种预测广告定向条件下覆盖的用户数量的方法和装置
CN108830636A (zh) * 2018-05-07 2018-11-16 北京奇艺世纪科技有限公司 一种活跃用户的询量方法和装置
WO2019169961A1 (zh) * 2018-03-06 2019-09-12 阿里巴巴集团控股有限公司 一种目标用户群体的确定方法和装置
CN111626796A (zh) * 2020-07-29 2020-09-04 北京搜狐新媒体信息技术有限公司 一种流量预估方法及装置
CN111951041A (zh) * 2020-07-20 2020-11-17 北京明略昭辉科技有限公司 一种广告投放方法、系统及互联网服务系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563804A (zh) * 2017-08-24 2018-01-09 北京奇艺世纪科技有限公司 一种预测广告定向条件下覆盖的用户数量的方法和装置
WO2019169961A1 (zh) * 2018-03-06 2019-09-12 阿里巴巴集团控股有限公司 一种目标用户群体的确定方法和装置
CN108830636A (zh) * 2018-05-07 2018-11-16 北京奇艺世纪科技有限公司 一种活跃用户的询量方法和装置
CN111951041A (zh) * 2020-07-20 2020-11-17 北京明略昭辉科技有限公司 一种广告投放方法、系统及互联网服务系统
CN111626796A (zh) * 2020-07-29 2020-09-04 北京搜狐新媒体信息技术有限公司 一种流量预估方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐拥军 等: "气象大数据存储体系设计与实现", 《电子测量技术》 *

Similar Documents

Publication Publication Date Title
CN110223186B (zh) 用户相似度确定方法以及信息推荐方法
CN110599354B (zh) 线上对账方法、系统、计算机设备和计算机可读存储介质
CN113220657B (zh) 数据处理方法、装置及计算机设备
CN111698303A (zh) 数据处理方法、装置、电子设备及存储介质
CN111369313A (zh) 订房失败订单的处理方法、装置、计算机设备及存储介质
CN113468199A (zh) 索引更新方法及系统
CN112395187A (zh) 测试方法、系统、计算机设备及存储介质
CN109446515A (zh) 群组信息分析方法、电子装置及计算机可读存储介质
CN111177121A (zh) 订单数据反馈方法、装置、计算机设备及存储介质
CN112560939B (zh) 模型验证方法、装置及计算机设备
CN112308637A (zh) 数据处理方法及系统
CN116776030A (zh) 灰度发布方法、装置、计算机设备、存储介质
CN112416648A (zh) 数据校验方法及装置
CN108959324B (zh) 多媒体展示资源库存量的预估方法、装置及存储介质
CN112560938B (zh) 模型训练方法、装置及计算机设备
CN113269370B (zh) 一种活跃用户预测方法、装置、电子设备及可读存储介质
CN113420236B (zh) 榜单数据展示方法、装置、电子设备及存储介质
CN115485676A (zh) 基于用户画像的数据处理方法、装置、设备、介质及程序
CN112491939B (zh) 多媒体资源调度方法及系统
CN114461895A (zh) 医疗资讯推送方法、装置、计算机设备和存储介质
CN109669668B (zh) 一种系统性能测试中实现模拟交易执行的方法和装置
CN109978247A (zh) 房屋价格排名预测方法、装置、设备及存储介质
CN112039992B (zh) 基于云计算架构的模型管理方法及系统
CN113742210A (zh) 一种测试数据生成方法、装置、电子设备及存储介质
CN112767096B (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