一种圈选对象的方法和装置制造方法及图纸

技术编号:25958860 阅读:48 留言:0更新日期:2020-10-17 03:51
一种圈选对象的方法和装置,本发明专利技术的实施例设置与对象相关的标签、标签条件,并设置不同标签条件之间的逻辑关系,以形成标签条件包然后使用所述标签条件包,从所述数据源中圈选出所述特定对象。本发明专利技术的实施例能够提高对象圈选的效率。

【技术实现步骤摘要】
一种圈选对象的方法和装置
本专利技术涉及数据分析领域,尤其涉及一种圈选对象的方法和装置。
技术介绍
互联网上的用户会产生数量巨大的行为数据。以电商网站为例,行为数据是指有哪些用户浏览过该电商网站,购买过哪些商品。可以通过行为数据圈选出满足预定条件的人群。从一个大的人群群体中圈选出满足预定条件的人群的操作又称为“圈人”。现有技术中存在利用微软公司的Excel软件的表格来圈人的方案,其缺陷是需要人工输入指定条件来筛选人群,然后再利用数据分析系统来分析被筛选出的人群,因此需要较高的人工参与度,效率低下,准确率不高。
技术实现思路
针对现有技术中存在的问题,本专利技术的目的在于提供一种能够实现高效圈选出特定对象的方法和装置。本专利技术的一方面涉及一种通过计算机从数据源中圈选出特定对象的方法,包括:通过计算机设置与对象相关的标签;通过计算机设置所述标签的标签条件;通过计算机设置不同标签条件之间的逻辑关系,以形成标签条件包;和通过计算机使用所述标签条件包,从所述数据源中圈选出所述特定对象。本专利技术的又一方面涉及一种通过计算机从数据源中圈选出特定对象的方法,包括:用于设置与对象相关的标签的装置;用于设置所述标签的标签条件的装置;用于设置不同标签条件之间的逻辑关系,以形成标签条件包的装置;和用于使用所述标签条件包,从所述数据源中圈选出所述特定对象的装置。本专利技术的实施例能够降低人工参与度,大大提升对象圈选的效率。附图说明图1为实施本专利技术的实施例的系统的示意图。图2为实施本专利技术的实施例的方法的流程图。具体实施方式现在将参照若干示例性实施例来说明本专利技术的内容。应当理解,说明这些实施例仅是为了使得本领域普通技术人员能够更好地理解并且因此实现本专利技术的内容,而不是暗示对本专利技术的范围进行任何限制。如本文中所使用的,术语“包括”及其变体应当解读为意味着“包括但不限于”的开放式术语。术语“基于”应当解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”应当解读为“至少一个实施例”。术语“另一个实施例”应当解读为“至少一个其他实施例”。以下的内容是以圈人为例进行描述的。但如本领域技术人员能够认识到的,本专利技术也可以用于许多类型的对象(例如动物、植物、商品等等)的范围缩小的选择操作(即圈选操作)。标签可以基于基础数据(如访问记录、订单信息、用户信息等)通过人工定义来获得。可以把基础数据中的无规则的单个字段(可以理解为用户的一次操作,例如购买、结算等)或者多个字段组合在一起形成(或称之为“定义”)标签。例如,假设要定义标签“活跃用户”,可以基于行为数据中的登录时间LoginTime来进行定义。具体地,可以定义登录时间在5天以内(即,LoginTime<5)的为“活跃用户”。类似地,可以定义标签“饮品类别次数”为“饮品类别次数=喝A草莓类的次数+喝B芒果类的次数”。可以对标签设置条件,例如“年龄=18”或“年龄>18”。还可以根据业务需求,将定义好的标签条件组合成标签条件包,例如“年龄=18且性别=男”。标签条件包包含了多个标签的条件以及不同标签条件之间的逻辑关系。图1示出了示例性的实施本专利技术的数据获取方法的系统的示意图。该系统总体上可以包括三个层次,应用层、圈人引擎层和计算集群层。在应用层,用户可以在客户端通过可视化的界面来配置标签或者组合标签条件,这样能为用户提供更直观的检视效果。也可以通过程序来自动化地配置标签或者组合标签条件,以实现更高的效率。如上所述,标签可以基于基础数据通过人工定义来获得。可以通过标签的设置来提供足够适应于各种场景的标签,然后通过标签条件包的组合来实现符合条件的对应人群的精准圈选。组合后的标签条件包可以下发到的圈人引擎。圈人引擎中的标签解析模块对标签条件包的标签条件和标签的逻辑关系进行解析,SparkSQL任务模块基于标签包解析出来的SQL语句创建SparkSQL查询任务并将所创建的SparkSQL任务提交到计算集群中的执行代理模块来执行。用SparkSQL来实现本专利技术的从标签条件包解析出来的SQL语句的效率较高。资源调度模块调度执行代理发来的资源请求。理想情况下,圈人系统对服务器资源的请求应该立刻得到满足。但现实情况服务器资源往往是有限的(例如面对一个很繁忙的Hadoop集群),如果机器资源不足,请求经常需要等待一段时间才能的到相应的资源。资源调度模块按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的任务进行分配资源,待最头上的任务需求满足后再给下一个分配,以此类推,如此能实现查询任务的有效调度。圈人模块可以是底层基于Hadoop搭建的一套分布式集群,其根据标签条件包对数据源(图1中未示出)执行SparkSQL任务,得到对应人群结果数据,并且将生成的人群包存储到Hive人群表(即Hive数据源)中。圈人引擎中的数据同步模块可以建立数据同步任务(例如DataX任务),基于本地数据库与Hive数据库源的映射关系,将Hive数据源中的人群结果数据同步到本地数据库(圈人系统数据库)中。被同步到圈人系统数据库中的人群结果数据(即目标数据)可以由用户手动导出。在一个实施例中,可以将查询任务的实时日志及任务状态发送至客户端,以便于用户更好地监测状态和进度。在一个实施例中,上述查询任务可以按预设周期执行(例如每周执行一次),从而更新人群结果数据,如此能实现更好的自动化,提高效率。图2示出了根据本专利技术的一个实施例的圈人引擎的工作流程,其包括以下步骤:步骤1:用户在应用层组合标签,自由配置标签组合,包括且、或非等逻辑;步骤2:确定标签逻辑,下发圈人请求;步骤3:解析标签逻辑,生成SQL语句;步骤4:通过SQL调用开发平台接口创建Spark任务;步骤5:通过任务调度算法将Spark任务调度到执行代理;步骤6:执行代理将任务提交到YARN队列中;步骤7:等待分配计算资源;步骤8:分配到计算资源,开始执行任务,从数据源计算出圈人数据,并将圈人数据导入到Hive数据源中;步骤9:建立Hive数据源和圈人数据库MySQL之间的映射关系,创建DataX任务;步骤10:执行DataX任务,将人群结果数据同步到MySQL中,提供给圈人应用,以可下载人群包。Hive、MySQL和DataX的配合实现起来很简单,执行效率也较高。本专利技术各实施例的步骤、方法和装置可以实现为纯粹的软件模块(例如用Java语言来编写的软件程序),也可以根据需要实现为纯粹的硬件模块(例如专用ASIC芯片或FPGA芯片),还可以实现为结合了软件和硬件的模块(例如存储有固定代码的固件系统)。本专利技术的另一个方面是一种计算机可读介质,其上存储有计算机可读指令,所述指令被执行时可实施本专利技术各实施例的方法。本领域普通技术人员可以意识到,以上所述仅为本专利技术的示例性实施例,并不用于限制本专利技术。本专利技术还可以包本文档来自技高网...

【技术保护点】
1.一种通过计算机从数据源中圈选出特定对象的方法,包括:/n通过计算机设置与对象相关的标签;/n通过计算机设置所述标签的标签条件;/n通过计算机设置不同标签条件之间的逻辑关系,以形成标签条件包;和/n通过计算机使用所述标签条件包,从所述数据源中圈选出所述特定对象。/n

【技术特征摘要】
1.一种通过计算机从数据源中圈选出特定对象的方法,包括:
通过计算机设置与对象相关的标签;
通过计算机设置所述标签的标签条件;
通过计算机设置不同标签条件之间的逻辑关系,以形成标签条件包;和
通过计算机使用所述标签条件包,从所述数据源中圈选出所述特定对象。


2.根据权利要求1所述的方法,其中所述通过计算机使用所述标签条件包,从所述数据源中圈选出所述特定对象的操作包括:
解析所述标签条件包,生成SQL语句;
基于所述SQL语句,创建查询任务;
针对所述数据源,调度所述查询任务以用于执行。


3.根据权利要求2所述的方法,其中所述查询任务是SparkSQL任务。


4.根据权利要求1所述的方法,还包括:
将表示所圈选出所述特定对象的数据导入到第二数据源中;以及
建立所述第二数据源和本地数据库之间的映射关系;
基于所述映射关系,将所述数据从所述第二数据源同步到所述本地数据库。


5.根据权利要求4所述的方法,其中所述第二数据源是Hive数据源,所述本地数据库是MySQL数据库,并且所述同步操作使用DataX...

【专利技术属性】
技术研发人员:梁爽江敏
申请(专利权)人:杭州数澜科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1