用户数据提取方法、装置、电子设备及计算机可读介质与流程

文档序号:24194689发布日期:2021-03-09 16:22阅读:111来源:国知局
用户数据提取方法、装置、电子设备及计算机可读介质与流程

1.本申请涉及大数据技术领域,更具体地,涉及一种用户数据提取方法、装置、电子设备及计算机可读介质。


背景技术:

2.伴随互联网与移动互联网时代的飞速发展,dt(data technology)时代已经到来,无论哪个行业领域,当下都会面临位于海量数据中而无处发力的困境,另一方面,由于数据分析师具有一定专业门槛,在人人都需要数据的时代,很难达到人人都能可自助使用数据的状态。


技术实现要素:

3.本申请提出了一种用户数据提取方法、装置、电子设备及计算机可读介质,以改善上述缺陷。
4.第一方面,本申请实施例提供了一种用户数据提取方法,包括:获取待提取的用户数据的数据标签;获取用户在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算逻辑;基于所述数据标签对应的数据库映射信息和运算逻辑生成数据库指令集;基于指定数据库运行所述数据库指令集得到所述用户数据。
5.第二方面,本申请实施例还提供了一种用户数据提取装置,包括:获取单元、确定单元、生成单元和提取单元。获取单元,用于获取待提取的用户数据的数据标签。确定单元,用于获取用户在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算逻辑。生成单元,用于基于所述数据标签对应的数据库映射信息和运算逻辑生成数据库指令集。提取单元,用于基于指定数据库运行所述数据库指令集得到所述用户数据。
6.第三方面,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述方法。
7.第四方面,本申请实施例还提供了一种计算机可读介质,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码被所述处理器执行时使所述处理器执行上述方法。
8.本申请提供的用户数据提取方法、装置、电子设备及计算机可读介质,获取待提取的用户数据的数据标签,并在预设界面内显示,获取用户在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算逻辑,基于所述数据标签和运算逻辑生成数据库指令集,基于指定数据库运行所述数据库指令集得到所述用户数据。因此,用户可以在预设界面内通过逻辑输入控件为数据标签配置运算逻辑,然后,再整合成数据库指令集,降低了该指令集的生成所需要的专业门槛,使得指令的生成更加简单编辑,而且更加自助化。
附图说明
9.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1示出了本申请实施例的应用场景的示意图;
11.图2示出了本申请一实施例提供的一种用户数据提取方法的方法流程图;
12.图3示出了本申请一实施例提供的预设界面的示意图;
13.图4示出了本申请另一实施例提供的预设界面的示意图;
14.图5示出了本申请又一实施例提供的预设界面的示意图;
15.图6示出了本申请一实施例提供的标签操作界面的示意图;
16.图7示出了本申请另一实施例提供的标签操作界面的示意图;
17.图8示出了本申请另一实施例提供的一种用户数据提取方法的方法流程图;
18.图9示出了本申请一实施例提供的一种用户数据提取装置的模块框图;
19.图10示出了本申请实施例提供的电子设备的模块框图;
20.图11出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的用户数据提取方法的程序代码的存储单元。
具体实施方式
21.为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
22.随着互联网的发展,各互联网公司越来越注重精细化运营,对用户群体做更精细的分层和画像,以指导决策和触达,提升产品效果。对用户群体特征的抽取可以基于筛选条件给定的一个人群,例如“高消费低粘性的使用iphone的女性白领群体”,返回这个人群的特征信息,例如群体数量、行为表现、兴趣偏好、搜索偏好、价值属性等等。
23.因此,伴随互联网与移动互联网时代的飞速发展,dt(data technology)时代已经到来,无论哪个行业领域,当下都会面临位于海量数据中而无处发力的困境,另外,由于数据分析师具有一定专业门槛,在人人都需要数据的时代,很难达到人人都能可自助使用数据的状态。
24.具体地,目前对用户群体特征进行查询计算的方式有,基于hadoop进行分布式查询计算,基于spark job server和位存储来进行查询计算以及基于es(elasticsearch,一种基于倒排索引的搜索引擎)抽样进行查询计算。其中,基于hadoop进行分布式查询计算的方式为,围绕hadoop体系,以hive来建设用户数据仓库,通过gui工具或者sql编辑器连接数据仓库,编写取数逻辑代码至数据仓库中获取数据,同时需要建设数据项指标为普通用户可以理解的画像属性,一并以表格(txt、csv等)文件的形式交付给需求方使用。基于spark job server和位存储来进行查询计算,对数据按照bitmap的格式进行存储(位存储),压缩数据量,在此基础上,结合spark jobserver节省集群调度时间。
25.然而,发明人在研究中发现,采用上述的方式均面临一个问题,即由于数据分析师具有一定专业门槛,在人人都需要数据的时代,很难达到人人都能可自助使用数据的状态。
如何让用户数据分析\提取更加灵活、便捷、自助化,是一个急需解决的难题。并且,上述方式比较繁琐,操作比较复杂,取数效率较低,管理维护成本高,存在诸多可以改善创新的地方。所述,上述方式流程很长,需要跨越很多不同的数据中间件介质和辅助软件,并且需要使用者具备一定的代码编写和开发能力。进而导致,目前的对用户群体特征进行查询计算的方式,用户画像的建模到提取的全流程不够智能化,参与门槛较高,遇到复杂的画像筛选逻辑时,取数效率低下,难以支持在线实时响应的服务,用户画像能力无法外放赋能,以hive为引擎所构建的数据仓库查询分析效率低下,难以达到秒级的需求效率。
26.因此,为了解决上述缺陷,本申请实施例提供了一种用户数据提取方法、装置、电子设备及计算机可读介质,用户可以在预设界面内通过逻辑输入控件为数据标签配置运算逻辑,然后,再整合成数据库指令集,降低了该指令集的生成所需要的专业门槛,使得指令的生成更加简单编辑,而且更加自助化。
27.另外,在介绍本申请实施例之前,先介绍下本申请的应用场景,如图1所示,用户终端10和服务器20位于无线网络或有线网络中,用户终端10和服务器20进行数据交互。
28.在一些实施例中,用户在电子设备通过帐号登录,则该帐号对应的所有信息可以存储在服务器20的存储空间内。服务器20可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器。
29.则电子设备内安装有多个应用程序,服务器能够向电子设备推送一些内容,具体地,可以是将该个推送至电子设备的某个应用程序,由该应用程序将该内容显示,从而能够将内容推送给到电子设备的用户。
30.具体地,服务器能够获取用户通过电子设备得到用户画像。于本申请实施例中,服务器能够综合移动终端的系统sdk与应用sdk埋点上报的用户数据,使用统计及数据挖掘技术,提取用户特征并规范化,构建全面且立体的用户画像。
31.则具体地,而用户画像是根据特征数据和特征标识得到的。于本申请实施例中,用户画像包括用户基础标签、用户兴趣偏好标签、用户设备属性及行为标签、用户应用行为标签、用户社交标签和心理价值观标签等。其中,用户基础标签对应用户身份信息,指的是用户基础人口属性标签(包括性别年龄、所在区域等),该标签对应的特征数据为用户身份数据,则该数据的获取方式包括用户上报、算法挖掘等。用户兴趣偏好标签对应用户兴趣信息,用户兴趣偏好标签对应用户的兴趣内容,其获取方式也可以是用户上报、算法挖掘等。用户设备属性标签对应的用户所使用的产品的属性信息,其对应的特征数据为用户所使用的产品的配置参数,例如,内存容量、电池容量或屏幕尺寸等,其获取方式可以是用户上报或者通过用户设备内的sdk组件采集。用户设备行为标签对应用户操作移动终端的操作数据,所对应的特征数据为用户操作移动终端所产生的数据,其获取方式可以是通过移动终端的操作系统内的sdk组件收集。用户应用行为标签对应用户操作安装在移动终端内的应用程序的操作数据,所对应的特征数据为用户操作移动终端内安装的应用程序所产生的数据,其获取方式可以是通过移动终端的应用程序内的sdk组件收集。用户社交标签对应用户的社交信息,可以是通过用户在各个社交网站或者社交app的社交数据而获得,该社交数据可以包括用户的好友数量、被评论的数量、被点赞的数量以及所关注的内容等。心理价值观标签为用户的价值观数据,该价值观数据可以是用户的性格和是非观等,具体地,可以通过获取用户在社交平台上的留言内容而确定,例如,用户对某个观点的评价,能够提取出用户
对该观点支持还是不支持的关键词,从而确定用户的是非观。
32.通过获取的用户的特征数据和标签,将该数据和标签作为用户画像,则用户画像数据能够反应出用户对应用程序的使用习惯以及用户的兴趣爱好等信息。作为一种实施方式,用户画像数据包括用户使用应用程序的记录,该记录包括用户使用应用程序的次数,从而能够统计出在一定时间段内的每个应用程序的使用次数,将使用次数满足指定次数条件的应用程序作为目标应用程序,其中,指定次数条件可以是使用次数最大的应用程序。作为另一种实施方式,用户画像数据包括用户兴趣爱好,该兴趣爱好可以包括美食、美妆、旅游、运动和自拍等,然后,确定多个应用程序的类型,有多个应用程序的类型中查找与用户的兴趣爱好匹配的应用程序作为目标应用程序。例如,用户的兴趣爱好是美食,则可以选择美食类应用程序作为目标应用程序。
33.服务器在获取到用户的用户画像之后,能够基于用户终端或其他终端发送的查询请求,反馈该查询请求对应的用户数据,例如,从该用户的用户画像中查找所需访问的数据作为用户数据。
34.如图2所示,图2为本申请实施例提供的一种用户数据提取方法,该方法的执行主体可以是上述服务器,也可以是上述的用户终端,作为一种实施方式,该方法的执行主体可以是上述的用户终端,则该用户终端可以是请求查询用户数据的终端,具体地,该方法包括:s201至s204。
35.s201:获取待提取的用户数据的数据标签。
36.作为一种实施方式,每个用户对应一个用户画像,该用户画像的含义可以参考前述描述。则该用户数据可以是用户画像内的数据,例如,可以是用户画像内的至少部分数据,例如,该用户数据可以是用户画像内的用户属性对应的数据。其中,数据标签可以是用户画像标签,即用户画像内的每个用户数据的标签,因此,用户的多个用户数据构成了用户的用户画像,而用户的每个用户数据对应一个数据标签。
37.其中,用户画像标签是对用户群体的某项特征进行抽象分类和概括的描述信息,例如男性、女性、android、iphone等。用户画像标签可以包括用户标签、行为标签、消费标签和内容分析标签等,其中,用户标签可以包括性别、年龄、收入、职业、学历和归属城市等中的至少一种;行为标签包括时间段、频次、时长和访问路径等中的至少一种;消费标签包括消费习惯、购买意向和是否对促销敏感等中的至少一种;内容分析标签是对用户平时浏览的内容,尤其是停留时间长、浏览次数多的内容进行分析,分析出用户对哪些内容感兴趣,例如,金融、娱乐、教育、体育、时尚、科技等。
38.作为一种实施方式,用户可以通过客户端的操作界面输入包括以至少一个用户画像标签表示的初始查询条件,客户端生成包括初始查询条件的数据查询请求;或者,用户也可以通过客户端的操作界面中显示的多个用户画像标签选择要使用的至少一个用户画像标签,从而基于用户选择的至少一个用户画像标签,确定以至少一个用户画像标签表示的初始查询条件,并生成包括初始查询条件的数据查询请求。客户端将数据查询请求发送至执行用户数据的查询操作的电子设备,例如,服务器,从而该电子设备获取到数据查询请求。其中,该数据查询请求内包括待提取的用户数据的数据标签,即前述的待查询的用户画像标签。
39.s202:获取用户在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算
逻辑。
40.作为一种实施方式,用户对数据库的访问需要特定的数据库指令,即用户需要基于该待提取的用户数据的数据标签生成数据库指令,从而才能够访问到该数据标签对应的用户数据。于本申请实施例中,为了方便用户基于该待提取的用户数据的数据标签生成数据库指令,从而使得专业能力(例如,编码数据库指令和操作数据库的能力)不足的用户也能够便捷且自助化的生成数据库指令。
41.作为一种实施方式,预先设置有预设界面,在该预设界面内显示有逻辑输入控件,用户能够在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算逻辑。在一些实施例中,所获取的待提取的用户数据的数据标签均能够在预设界面内显示,且通过逻辑输入控件能够为每个所显示的数据标签配置对应的运算逻辑,再将所有的数据标签以及每个数据标签的运算逻辑整合就能够得到待提取的用户数据的数据标签的运算逻辑组合。
42.作为一种实施方式,预设界面内显示有每个数据标签对应的逻辑操作按键,所述逻辑输入控件包括多个逻辑选项,每个逻辑选项对应一个运算逻辑;所述获取用户在所述预设界面内基于逻辑操作按键为所述数据标签配置的运算逻辑的实施方式可以是,获取用户在所述预设界面内在每个数据标签对应的逻辑输入控件内选中的逻辑选项,将该逻辑选项对应的运算逻辑作为该数据标签对应的运算逻辑。其中,运算逻辑可以包括逻辑与、或、非、亦或以及同或等。其中,且逻辑,表示两个标签的数据都需要被查询,即两个标签的数据相加,而或逻辑,表示两个标签是选择关系,即a或b,表示可以是a,要可以是b,非逻辑,表示要在最终查找到的数据中排除该逻辑对应的标签的数据。
43.在一些实施例中,该逻辑输入控件可以是一个选项控件,用户操作该逻辑输入控件时,该逻辑输入控件可以显示下拉菜单,在该下拉菜单内显示有多个逻辑选项,用户可以选中其中一个逻辑选项,作为该数据标签对应的逻辑选项。
44.如图3所示,该预设界面内显示有多个标签显示控件301,每个标签显示控件301内显示一个数据标签,每个标签显示控件301对应的位置显示有逻辑输入控件,如图4所示,操作该逻辑输入控件对应的下拉菜单内显示有多个运算逻辑303,用户能够在该数据标签对应的下拉菜单内的多个运算逻辑303选中一个运算逻辑作为该数据标签对应的运算逻辑。
45.作为一种实施方式,不同的数据标签对应的不同的用户数据类别,则该用户数据类别可以作为该数据标签对应的上级标签。例如,该用户数据类别包括用户数据类别和用户行为类别,则用户数据类别下的用户数据为与用户属性相关的数据。则在该预设界面内,可以根据用户数据类别分别为数据标签设置运算逻辑。如图3所示,该预设界面内包括用户数据类别和用户行为类别,用户在用户数据类别对应的区域内设置属于用户数据类别的数据标签对应的运算逻辑,用户在用户行为类别对应的区域内设置属于用户行为类别的数据标签对应的运算逻辑,从而能够获取每个用户数据类别对应的数据标签的运算逻辑,以便查询的时候,能够得到每个数据类别对应的数据。
46.作为一种实施方式,相同的运算逻辑的数据标签可以共同一个逻辑输入控件,如图5所示,标签2、标签3、标签4和标签5共用一个“非”运算逻辑的逻辑输入控件。作为一种实时方式,该预设界面内设置有逻辑添加按钮502,用户触发该逻辑添加按钮502能够新建一个逻辑操作事项,具体地,该逻辑操作事项为在该预设界面内新增一个逻辑输入控件以及该逻辑输入控件对应的至少一个标签显示控件,如图5所示,用户点击该标签1对应的逻辑
添加按钮502,则在该标签1的显示区域的下方,显示一个逻辑输入控件以及该逻辑输入控件对应的标签显示控件,例如,默认的方式为显示该逻辑输入控件对应的一个标签显示控件。
47.另外,该标签显示控件还对应显示有标签添加按钮503,用户操作该标签添加按钮503能够新建一个新的标签显示控件,且该新建的标签显示控件与标签添加按钮503对应的标签显示控件对应同一个逻辑输入控件。如图5所示,在操作“非”逻辑输入控件对应的显示有标签2的标签显示控件对应的标签添加按钮503的时候,所增加的新的标签显示控件,也对应“非”逻辑输入控件,则所对应的逻辑输入控件相同的标签显示控件内的标签的运算逻辑是相同的。如图5所示,标签2、标签3、标签4和标签5均对应“非”逻辑。
48.作为一种实时方式,不同的标签可以对应不同的用户数据类别,且每个用户数据类别对应一个标签配置区域,在标签配置区域内显示有逻辑添加按钮502、标签添加按钮503、标签显示控件以及逻辑输入控件,且不同的用户数据类别对应不同的标签配置区域,如图5所示,用户数据类别的配置区域包括“用户属性满足以下条件”和“用户行为满足以下条件”。作为一种实施方式,该用户数据类别的配置区域还对应有类别添加按钮501,用户触发该类别添加按钮501的行为被检测到的时候,能够在预设界面内增加新的用户数据类别的配置区域。
49.另外,该配置区域内还可以显示条件设置组件,用户用于通过该条件设置组件为标签设置筛选条件,例如,某个标签为用户的年龄,则可以通过条件设置组件设置筛选条件为大于20岁,从而来限定该标签对应的查询到的数据。
50.因此,通过上述的各个控件、组件或按钮,能够为多个标签分组,并且配置各个标签对应的运算逻辑。
51.s203:基于所述数据标签对应的数据库映射信息和运算逻辑生成数据库指令集。
52.其中,数据库映射信息为由指定人员预先为每个数据标签设置的信息,该数据库映射信息用于记录数据标签在数据库内的属性信息,该属性信息可以包括库名、分区字段,表明、分区提前天数、字段名、字段别名、字段类型、字段枚举等。其中,该指定人员可以是数据库的研发人员或其他能够操作数据库的人员。
53.作为一种实施方式,该数据库映射信息的录入方式可以是通过数据库接入方式,也可以是通过表视图录入方式。通过这两种方式,能够完全覆盖数据标签建设的所有要求。
54.作为一种实施方式,数据库接入方式为使用程序代码定义数据标签的数据库映射信息,如图6所示,图6示出了标签操作界面,该标签操作界面对应数据标签,如图6所示,在参数名称对应的输入框内可以输入数据标签的名称,例如,授信成功产品个数。并且在该界面内可以通过输入程序代码以及通过操作输入框的方式,输入该数据标签的属性信息。例如,该标签操作界面包括代码输入区,如图6所示的sql语句对应的代码输入区,用户在该代码输入区内输入程序代码(例如sql语句),通过该代码可以定义该数据标签的属性信息,另外,通过“参数变量名”、“变量类型”等也可以是输入该数据标签的属性信息。通过数据库接入方式能够通过代码直接定义数据库映射信息,能够灵活进行参数配置,效率比较高,但是对专业要求比较高。
55.作为另一种实施方式,表视图录入方式为通过自动拉取源数据库的库表字段,直接让数据分析师灵活地配置需要的数据标签。具体地,可以是在图表配置界面显示有多个
配置选项卡,例如,库名、分区字段,表明、分区提前天数、字段名、字段别名、字段类型、字段枚举等均对应配置选项卡,通过对每个配置选项卡的配置,能够配置数据标签。如图7所示,图7中所示的多个具有下拉菜单的组件均为配置选项卡。
56.作为一种实施方式,该数据库指令集可以是可执行的复合型sql指令集,基于各个数据标签之间的逻辑关系以及各个数据标签在数据库内的属性信息,转换为sql的程序代码,从而得到复合型sql指令集。具体地,可以实现定义各个逻辑对应的基础代码以及数据库映射信息对应的指令代码,然后,预先设置代码模板,该模板内包括头文件等各种函数以及各个函数的调用指令等,基于各个逻辑对应的基础代码确定各个数据标签之间的逻辑关系对应的逻辑代码,然后,再将逻辑代码和数据库映射信息对应的指令代码写入该代码模板,得到复合型sql指令集。
57.作为一种实施方式,上述的设置数据库映射信息的过程可以是在获取待提取的用户数据的数据标签之前,则在获取待提取的用户数据的数据标签之前,本申请实施例的方法还包括获取用户在标签操作界面内通过库表字段操作控件为数据标签配置的数据库映射信息,所述库表字段操作控件作为用户输入数据库内的库表字段的输入控件。具体的对标签操作界面的操作可以参考前述描述。
58.s204:基于指定数据库运行所述数据库指令集得到所述用户数据。
59.运算逻辑表征了各个数据标签之间的逻辑关系,表征了数据标签与数据库内的表字段的对应关系,即这个标签的数据在数据库内的哪个位置或者对应的是哪个数据段等,结合数据库映射信息和运算逻辑可以生成数据库指令集,也就是说,数据库指令集表征了各个数据标签之间的逻辑关系以及各个数据标签在数据库内的属性信息等,则运行该数据库指令集的时候,系统就能够获取各个数据标签之间的逻辑关系以及各个数据标签在数据库内的属性信息,从而基于在指定的数据库内查找到该各个数据标签对应的用户数据。
60.则在指定数据库内运行该数据库指令集,能够解析该数据库指令集得到指令集中的代码对应的数据库内的访问位置,得到该访问位置的数据,从而得到用户数据。
61.因此,本申请实施例提供的用户数据提取方法中,用户可以在预设界面内通过逻辑输入控件为数据标签配置运算逻辑,然后,再整合成数据库指令集,降低了该指令集的生成所需要的专业门槛,使得指令的生成更加简单编辑,而且更加自助化。
62.请参阅图8,图8为本申请实施例提供的一种用户数据提取方法,该方法的执行主体可以是上述服务器,也可以是上述的用户终端,作为一种实施方式,该方法的执行主体可以是上述的用户终端,则该用户终端可以是请求查询用户数据的终端,具体地,该方法包括:s801至s806。
63.s801:获取待提取的用户数据的数据标签。
64.s802:获取用户在所述预设界面内基于逻辑输入控件为所述数据标签配置的运算逻辑。
65.s803:基于所述数据标签对应的数据库映射信息和运算逻辑生成数据库指令集。
66.s804:基于指定数据库运行所述数据库指令集得到所述用户数据。
67.其中,指定数据库为clickhouse数据库。clickhouse是一个开源的列式数据库,主要用于在线分析处理查询。clickhouse相比hive体系架构,全流程提速近30倍。
68.另外,数据库指令集还可以被自动变更,具体地,数据库指令集会自动按照周期策
略分为单次和指定时间(通过更新的分区获取每天最新的数据)自动变更,以实现用户数据的动态更新。其中,单次更新可以是在服务器获取到新的查询指令的时候,该新的查询指令内的数据标签更新,或者数据标签的运算逻辑或数据库映射信息因为操作人员的操作而更新的时候,可以自动生成新的数据库指令集,从而实现数据库指令集的自动更新。
69.作为一种实施方式,该指定时间更新可以是定时更新,例如,每天更新。具体地,可以预先设置一个更新时段,在每天的该更新时段的时间内,执行更新操作。作为一种实施方式,可以是在每天的该更新时段的时间内,基于最新获取的用户数据更新用户画像内的用户数据的数据标签,然后,重新生成数据库指令集,从而实现对数据库指令集的自动更新。
70.作为又一种实施方式,上述的单次和指定时间自动变更还可以是对指定数据库的更新操作,具体地的更新方式可以参考前述,在此不再赘述。
71.因此,通过单次和指定时间自动变更能够实现所查询到的用户数据的动态更新。
72.s805:执行用户数据文件包的数据处理操作。
73.在所获取的用户数据的数据量比较庞大时,容易引起内存崩溃,程序中断。具体地,数据库内的imei(设备id号)和ssoid(会员id号)都是1-10亿级别的数据集,在处理很多人群特征的提取时,不免会遇到结果集过大的情况。例如:未开通nfc门禁卡的oppo会员用户群,约8000万左右,假设平均每个id数值长度为10位,至少需要分配700-800mb的内存空间,当有多个人群包进行处理时,就会有内存崩溃的风险。
74.因此,在处理内存中的字符集时,会使用文件流缓冲区进行数据读取写入的控制,分段进行处理,尽可能少地在内存中进行深拷贝,一方面节约内存本身的存储开销。同时也较少了程序语言的垃圾回收操作,避免内存的频繁读写,降低内存进一步崩溃的风险。
75.具体地,基于指定数据库运行所述数据库指令集得到所述用户数据之后,执行用户数据文件包的数据处理操作。具体地,该执行用户数据文件包的数据处理操作的实施方式为,将所述用户数据写入内存缓冲区,具体地,将所述用户数据写入文件缓冲区内存储。缓冲区(buffer)又称为缓存(cache),是内存空间的一部分。也就是说,在内存中预留了一定的存储空间,用来暂时保存输入或输出的数据,这部分预留的空间就叫做缓冲区。
76.由于所获取的用户数据是文件的格式,例如,txt格式,则可以将所述用户数据写入文件缓冲区内存储。从而避免了频繁的变量拷贝操作,节约了大量的垃圾回收操作,使得文件包的处理性能和吞吐量得到了极大的提升。
77.作为一种实施方式,可以采用golang的strings.builder,将所提取到的用户数据稳定的写入缓冲区内存。其中,golang是google开发的一种静态强类型、编译型语言。具有内存安全,垃圾回收,结构形态及并发计算等特点。
78.作为另一种实施方式,为了进一步减少提取到的用户数据的数据量,可以对数据压缩,具体地,将所述用户数据写入文件缓冲区内存储的实施方式可以是,对所述用户数据压缩;将压缩后的所述用户数据写入文件缓冲区内存储。作为一种实施方式,可以采用huffman编码将提取到的用户数据压缩,例如,压缩成zip文件(压缩率30%-50%),用以减少后续上传至文件服务器的网络带宽消耗,节约云存储资源和带宽的同时,提高了供应用方使用下载的速率。
79.作为一种实施方式,将所提取的用户数据命名为目标数据,可以根据当前请求获取该目标数据的请求端的信息确定压缩率,其中,该请求端可以是请求获取该目标数据的
终端或服务器,请求端的信息可以是请求端的数量或请求端所在网络的网络状态。
80.作为一种实施方式,该请求端的信息可以是请求端的数量,则压缩率和数量成正比,即请求端的数量越高,压缩率越大,从而能够在多个请求端请求数据的时候,减少服务器的输出传输量,从而能够减少服务器的负担。
81.作为另一种实施方式,该请求端的信息可以是请求端的网络状态,其中,该网络状态可以是网络参数,具体地,该网络参数可以是信道质量,其中,信道质量可以是信道的误差向量幅度、接入点个数、信号强度等。作为一种实施方式,该信道质量可以由误差向量幅度表征,其中,误差向量幅度(error vector magnitude,简称evm)指在给定时刻理想无误差基准信号与实际发射信号的向量差,用于衡量调制信号的幅度误差和相位误差,evm具体表示接收终端对信号进行解调时产生的iq分量与理想信号分量的接近程度,是考量调制信号质量的一种指标。evm越小,信道的信道质量越好。而接入点的个数也可以在信道扫描的时候,获取每个信道上的接入点,由此就能够确定每个信道上的接入点个数,接入点的个数越多,信道质量越差,反之,越好。同理,信号强度也可以在信道扫描的时候获得,信号强度越高,则信道质量越高,反之,越低。
82.确定每个请求端的网络参数,根据所有的请求端的网络参数确定指定网络参数,根据该指定网络参数确定压缩率,具体地,可以是指定网络参数所表征的网络状态越好,则压缩率越低,指定网络参数所表征的网络状态越差,则压缩率越高。其中,指定网络参数可以是所有请求端的网络参数的平均值,也可以是所有请求端的网络参数的最大值或最小值。
83.s806:对外提供画像服务。
84.画像服务主要分为对外共享服务和在线匹配服务。
85.作为一种实施方式,对外共享服务是指所查找到的用户数据以及数据库内的其他用户数据,,允许用户终端或其他服务器通过预设的访问接口范围前述数据。例如,以所查找的用户数据为人群包信息为例,该人群包信息包括多个不同用户的用户数据。对外共享服务可以是,将在画像圈取生成的人群包信息(目前只支持只包含ssoid/imei用户id属性的文件包)通过接口形式,外发给其他接入方。支持按照人群包名称模糊查询,遍历分页查询,按照执行周期性查询等。用途示例:智能营销系统定向组推(短信、手机push,ivr电话,钱包消息中心)。
86.作为另一种实施方式,在线匹配服务是指一种高性能、低延时的用户画像快速辨别服务,便于其他应用快速集成与用户画像强相关的能力。具体地,以所查找的用户数据为人群包信息为例,在线匹配服务为判断某个用户信息(ssoid/imei)是否匹配对应的人群特征包id,输入ssoid/imei,返回是否存在。用途示例:钱包业务后台的首页推荐定投配置,理财业务后台的理财产品定投配置,保险业务后台的保险产品定投配置,扶摇活动系统的活动人群配置等。
87.具体地,获取在线匹配请求,所述在线匹配请求包括指定用户的用户信息;确定所述用户信息与所述用户数据是否匹配;基于所述匹配结果确定待推送内容的用户。作为一种实施方式,该在线匹配请求可以是业务服务器发送的,该业务服务器用于基于数据库内的用户数据确定待推送内容的用户,从而将待推送内容推送至对该待推送内容感兴趣的用户。具体地,业务服务器在检测到用户端的触发请求的时候,获取该用户端对应的用户信
息,例如,是登录该用户端的用户账号对应的用户信息,将该用户信息作为指定用户的用户信息,然后,本申请实施例所获取的用户数据,可以作为满足指定推送需求的用户应当具备的用户数据,则将指定用户的用户信息与用户数据匹配,确定用户信息与所述用户数据是否匹配,如果匹配,则确定指定用户也满足指定需求,则确定该指定用户为待推送内容的用户。
88.作为一种实施方式,为了方便能够快速的完成匹配操作,则获取的用户数据存储在内存的缓冲区内,但是存放时间过久会对内存和服务器造成负担。于本申请实施例中,可以将查找到该用户数据的时刻记为起始时刻,以起始时刻的指定时间长度内,将该用户数据存储在文件缓冲区内,该指定时间长度之后,可以将该用户数据存储在内存或者硬盘内,其中,指定时间长度可以根据实际需求而设定,也可以根据发送该在线匹配请求对应的应用程序的类型而设定的。
89.具体地,预先设置不同的应用程序的类型对应的时间长度,然后,在确定发送该在线匹配请求对应的应用程序之后,将该应用程序作为目标应用程序,在应用程序的类型与时间长度的对应关系中,查找目标应用程序对应的时间长度,作为指定时间长度。作为一种实施方式,一些视频类的应用程序,指定时间长度可以较短,一些社交类的应用程序,指定时间长度可以较长。具体地,发送该在线匹配请求对应的应用程序的类型,决定了需要为待推送内容的用户推送内容的类型。例如,目标应用程序的类型为视频类,则推送的内容为视频,用户观看一部视频的时间往往比较长,所以,在需要推送的内容不必过多,一部电影或一部电视剧即可,而目标应用程序的类型为社交类,则推送的内容可能是广告或者文章等,用户浏览速度比较快,需要在一定时间内持续推送,所以,指定时间长度比较长。另外,在确定目标应用程序的类型为视频类之后,还可以进一步确定视频类是否为小视频类型,小视频类型的指定时间长度比非视频类型的指定时间长度长。
90.上述应用程序的类别,可以是应用程序的开发商在开发的时候为应用程序设定的类别,也可以是应用程序在安装在电子设备上之后,用户为应用程序设定的类别,例如,用户在电子设备上安装某个应用程序,在安装完成并进入该应用程序之后,会显示一个对话框,指示用户为应用程序设定类别。则应用程序具体属于哪个类别,可以由用户根据需求而设定,例如,用户可以将某社交软件设置为音频类,或者设置为视频类,或者设置为社交类。
91.另外,电子设备内安装有应用程序安装软件,例如ios系统内的appstore。则在该应用程序安装软件内设置有应用程序列表,在该列表内用户能够下载应用程序并且能够更新和打开应用程序,而且该应用程序安装软件可以将不同的应用程序按照类别现实,比如,音频类、视频类或者游戏类等。因此,用户在使用该应用程序安装软件安装应用程序的时候,就已经能够知道该应用程序的类别。
92.因此,本申请实施例的效果体现在取数需求响应更加及时,能实现秒级的提取效率,并通过更为智能的数据标签建设手段,能适应更多复杂的业务场景,并形成数据留存,加快用户画像的建设和赋能能力。具体地,图形化配置圈取策略(即前述的预设界面)映射为可执行的sql代码的提速(不需要分析师编写复杂的代码,分析师只需要将底层数据表和数据标签接入系统即可);基于clickhouse对sql执行时的提速;基于内存优化和文件流压缩优化对海量执行结果可被打包为方便下载和提取的提速。
93.请参阅图9,其示出了本申请实施例提供的一种用户数据提取装置900的结构框
processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
108.存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
109.请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
110.计算机可读存储介质1100可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
111.最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1