CN116756201A - 客户画像分析方法、装置、设备及可读存储介质 - Google Patents

客户画像分析方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN116756201A
CN116756201A CN202310667279.8A CN202310667279A CN116756201A CN 116756201 A CN116756201 A CN 116756201A CN 202310667279 A CN202310667279 A CN 202310667279A CN 116756201 A CN116756201 A CN 116756201A
Authority
CN
China
Prior art keywords
data
query
engine
customer
portrait
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
CN202310667279.8A
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.)
China Merchants Bank Co Ltd
Original Assignee
China Merchants Bank 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 China Merchants Bank Co Ltd filed Critical China Merchants Bank Co Ltd
Priority to CN202310667279.8A priority Critical patent/CN116756201A/zh
Publication of CN116756201A publication Critical patent/CN116756201A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/2457Query processing with adaptation to user needs
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种客户画像分析方法、装置、设备及可读存储介质,该方法包括步骤:在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。本申请实现了将查询事件与ES引擎内的历史查询记录进行匹配,在匹配命中时,直接根据命中的结果,输出查询结果,在未匹配命中时,通过ES引擎索引,快速得到查询结果。

Description

客户画像分析方法、装置、设备及可读存储介质
技术领域
本申请涉及数据分析技术领域,尤其涉及一种客户画像分析方法、装置、设备及可读存储介质。
背景技术
客户画像分析引擎能够为应用系统提供基于主体属性及其行为数据的画像分析服务,例如,针对业务系统对应的客群进行客群属性查询、或按照一定标准将客群中的各个客户进行分类、筛选等操作,并输出客户的画像,将该画像作为查询结果。
但随着该业务系统中的客群不断增长、指标数据逐步增加,由客群和指标数据之间联系的复杂度、以及由客群和指标数据之间联系的复杂度所映射的查询维度均会以指数膨胀,使得画像分析引擎所需处理的数据量远超过其最大处理极限。
因此,在画像分析引擎对客户画像进行数据的分析和查询时,画像分析引擎的响应时长,和画像分析引擎输出处理结果的时延均会超出相关人员的预期需求,从而造成相关人员无法及时得到画像查询结果,进而使得相关人员的使用分析引擎的用户体验较差。
发明内容
有鉴于此,本申请提供一种客户画像分析方法、装置、设备及可读存储介质,旨在提高分析引擎处理海量数据时的效率,以提高用户使用分析引擎的用户体验。
为实现上述目的,本申请提供一种客户画像分析方法,所述客户画像分析方法包括以下步骤:
在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
示例性的,所述根据所述查询事件,匹配ES引擎内的历史查询记录的步骤之前,包括:
获取待分析的客群数据和所述客群数据对应的指标数据;
对所述客群数据和所述指标数据进行范式化转换;
将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内;
根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件。
示例性的,所述将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内的步骤,包括:
将转换后的非结构化数据拆分至多个初始文件;其中所述多个初始文件的数据体量大小不等,且其拆分所需的时长不等;
根据所述多个初始文件的拆分所需时长,依次将所述多个初始文件按流水线梯队的形式完成加载;
在任一初始文件加载完成后,将加载完成的初始文件拆分至数据体量大小相等的多个作业任务,并将所述多个作业任务并发同步加载至ES引擎内。
示例性的,所述并将所述多个作业任务并发同步加载至ES引擎内的步骤,包括:
将所述多个作业任务并发至预设调度实例,并根据所述预设调度实例,对每个作业任务进行属性定义,并将属性定义后的作业任务存储至所述ES引擎的数据库;
若确认到注册失败的作业任务,则根据所述预设调度实例,对所述注册失败的作业任务进行重注册,直至将所述每个作业任务均完成注册。
示例性的,所述根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件的步骤,包括:
根据已加载至所述ES引擎内的数据和预设查询模板,从所述ES引擎内的数据中抽取得到查询指标;
对所述查询指标进行交并差组合,并根据组合后的指标和所述预设查询模板,生成不同查询指标的查询事件。
示例性的,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之后,包括:
将通过ES引擎索引得到的画像查询结果加入至所述历史查询记录;
若通过所述ES引擎进行索引,且索引过程产生所述ES引擎内数据产生调用异常,则根据所述查询事件,在预设指标宽表中进行索引,得到画像查询结果。
示例性的,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之前,包括:
根据预设的主表和备表,加载数据至所述ES引擎;其中,通过所述主表将待加载数据写入至所述ES引擎,所述备表用于在所述主表写入数据时同步预先缓存剩余的待加载数据;
在上一阶段的主表完成数据加载后,将所述上一阶段中的主表作为下一阶段的备表,将上一阶段的备表作为下一阶段的备表,并返回所述根据预设的主备表,加载数据至所述ES引擎的步骤,直至完成所述查询事件中的全部待加载数据的数据写入动作。
示例性的,为实现上述目的,本申请还提供一种客户画像分析装置,所述装置包括:
匹配模块,用于在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
第一判断模块,用于若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
第二判断模块,用于若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
示例性的,为实现上述目的,本申请还提供一种客户画像分析设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户画像分析程序,所述客户画像分析程序配置为实现如上所述的客户画像分析方法的步骤。
示例性的,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有客户画像分析程序,所述客户画像分析程序被处理器执行时实现如上所述的客户画像分析方法的步骤。
与相关技术中,在分析引擎对客户画像进行分析和查询时,分析引擎的响应时长,使得相关人员的使用分析引擎的用户体验较差的情况相比,在本申请中,通过在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。即在建立起相应的查询事件后,采用与ES引擎内的历史查询记录进行匹配认证的方式,在匹配命中时,直接根据匹配得到的命中项,作为与当前查询事件相同的查询记录,并将该命中项直接作为画像查询结果,以此提高画像分析的效率,同时,若匹配未命中,则通过ES引擎进行索引,根据索引的结果,输出画像查询结果,即在匹配命中和匹配未命中的情况下,通过不同的处理方式,分别实现提高ES引擎对客户画像分析的效率,从而保证了用户使用分析引擎的用户体验。
附图说明
图1为本申请客户画像分析方法第一实施例的流程示意图;
图2为本申请客户画像分析方法的查询事件的流程示意图;
图3为本申请客户画像分析方法第二实施例的流程示意图;
图4本申请客户画像分析方法的数据范式化转换的流程示意图;
图5本申请客户画像分析方法的数据拆分的流程示意图;
图6本申请客户画像分析方法的数据拆分后注册的流程示意图;
图7本申请客户画像分析方法的查询指标交并差的流程示意图;
图8本申请客户画像分析方法的API画像工厂的流程示意图;
图9为本申请实施例方案涉及的硬件运行环境的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种客户画像分析方法,参照图1,图1为本申请客户画像分析方法第一实施例的流程示意图。
本申请实施例提供了客户画像分析方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。为了便于描述,以下省略执行主体描述客户画像分析方法的各个步骤,客户画像分析方法包括:
步骤S110:在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
在本实施例中,针对现有的客群画像分析的引擎和相关的分析方法,其所存在的高延时、响应慢等情况,提出提高分析效率的方法,该方法主要基于使用ES引擎(Elasticsearch,开源的高扩展的分布式全文检索引擎),设置相应的数据调度和数据分析的方法,以此实现提高分析效率的效果。
示例性的,ES具有以下优点:面向文档,支持非结构化的数据存储,满足画像标签的多维形态;能够通过倒排索引、丰富的过滤器和分布式分桶聚合实现亚秒级查询响应;多副本实现了集群的高可用;集群支持横向扩展、动态扩容,适用于画像引擎多维度量场景。因此,在本实施例中设计了基于ES的即席多维分析方法,其中,即席指的是即刻分析。
其中,集群指的是由一定数量的客户数据或一定数量的指标数据所组成的数据集合,该客户数据包括客户的基本信息(姓名、年龄、联系方式等)、客户所办理过的业务(购买的基金项目、持有的保险项目等),以及客户在金融方面的数据(持有的资产等);该指标数据为用于划分客户类别的数据,相当于客户数据对应的标签数据,例如,A客户的年龄、持有资产、购买的养老保险等业务项目,上述A客户对应的信息均可作为一个指标,或作为一个标签。
其中,可根据该标签的情况对不同的客户进行分类,例如,设定指标数据为年龄18-35周岁,即可从客户数据中抽取出相应符合该指标数据中的年龄段的客户。
其中,客户数据可对应生成相应的客户集群,例如,可直接将不同的客户生成相应的图像,以作为该客户对应的展示信息,与其对应的指标数据可作为该客户集群的标签,以下在实施例中所提及的画像均指的是客户的人物画像,即通过画像指代对应的客户。
综上,在建立对应的客户画像分析的查询事件时,通常为设置相应的指标数据,并根据该指标数据,从而一定数量的客户集群中,以查询(匹配、索引或筛选)的方式,确定出符合指标数据的客户集合,并输出该客户集合的画像,从而完成对客户集群的客户画像分析的查询动作。
在本实施中,根据查询事件,匹配ES引擎内的历史查询记录,即在每次建立起查询事件后,优先查询ES引擎中过去一段时间内的历史查询记录,例如,在当前时刻前几个小时内的查询事件的记录,或在当前时刻前几日的查询事件的记录,上述记录均作为历史查询记录,从而,在匹配到与当前查询事件相同的查询记录,即可使用历史查询记录中的结果作为本次查询时间的结果,进而大大降低画像分析过程所需的时间。
步骤S120:若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
在匹配命中时,即证明历史查询记录中与当前需要处理的查询事件相同,此时,则根据该命中的情况,输出画像的查询结果,即将历史查询记录中与当前的查询事件相同的记录抽取出来,并直接根据历史查询记录中的画像查询结果,输出相同的结果,作为本次查询事件的输出。
步骤S130:若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
在匹配未命中时,则证明历史查询记录中并不存在与当前查询事件相同的查询记录,因此,此时无法从历史查询记录中选取相应的历史查询记录的输出结果作为本次查询事件的输出,需要额外对当前查询事件进行正常查询任务。
在本实施例中,通过ES引擎进行索引,并根据该索引结果,输出相应的画像查询结果,以保证正常的索引进程。
示例性的,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之前,包括:
步骤a:根据预设的主表和备表,加载数据至所述ES引擎;其中,通过所述主表将待加载数据写入至所述ES引擎,所述备表用于在所述主表写入数据时同步预先缓存剩余的待加载数据;
步骤b:在上一阶段的主表完成数据加载后,将所述上一阶段中的主表作为下一阶段的备表,将上一阶段的备表作为下一阶段的备表,并返回所述根据预设的主备表,加载数据至所述ES引擎的步骤,直至完成所述查询事件中的全部待加载数据的数据写入动作。
在使用主表和备表的过程中,需要制定相应的主表和备表的切换策略,即在主表完成数据写入的任务后,需要将主表切换,使用备表中预先缓存的数据,此时的切换过程主要为以下步骤:在上一阶段的主表完成索引后,将上一阶段中的完成写入工作的主表作为下一阶段的备表,将上一阶段的备表作为下一阶段的备表。
示例性的,以主表为A表,B表为备表为例进行阐述,在A表完成数据写入后,将A表作为下一次数据写入进程的备表,将已预缓存了相应数据的B表作为主表,并以此循环,从而实现A表和B表之间的不断切换使用,在切换过程中A表和B表的名称和状态同时会产生变化,即主表和备表之间的名称和状态产生互换,并在互换后,分别执行对方的任务进程,例如,在A表和B表互换后,B表作为主表执行上一阶段内A表所执行的处理动作(写入数据至ES引擎),A表作为备表同步预缓存相应的剩余的待加载数据。
其中,上一阶段和下一阶段均为数据过程的阶段性表述方式,例如,以主表完成一次索引任务为例作为一个阶段,或以主表和备表产生两次切换动作时,两次切换动作之间的处理过程作为一个阶段,并按照时间顺存将其排列为上一阶段和下一阶段。
此外,在完成一次主表和备表之间的切换动作后,还需要返回所述根据预设的主备表,加载数据至所述ES引擎的步骤,直至完成所述查询事件中的全部待加载数据的数据写入动作。
示例性的,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之后,包括:
步骤c:将通过ES引擎索引得到的画像查询结果加入至所述历史查询记录;
步骤d:若通过所述ES引擎进行索引,且索引过程产生所述ES引擎内数据产生调用异常,则根据所述查询事件,在预设指标宽表中进行索引,得到画像查询结果。
在通过ES引擎进行索引后,会得到相应的索引结果,以及根据该索引结果可输出相应的画像查询结果,此时可将该画像查询结果加入至历史查询记录中,从而更新历史查询记录的数据情况,并将该记录保存一定时长,例如保存三个小时,进而在该三个小时内,若新建立的查询事件匹配历史查询记录,并匹配命中时,则可直接根据命中项的输出结果,直接输出查询结果。
需要说明的是,在上述更新历史查询记录时,每次更新的数据均会设定保存一定的时长,以此保证可用于后续查询事件的参考,同时避免同时存储大量的历史查询记录,占用太多的资源,该更新的效果可根据实际历史查询记录的保存时间,也可根据历史查询记录中的具体的记录数量保持恒定等方式,更新该历史查询记录。
此外,在通过ES引擎进行索引时,索引过程会由于调度数据的时延问题,或调度数据的响应问题出现异常,此时需要采用降低处理,即更换分析引擎,不再使用ES引擎,而使用其他快速查询的引擎,直接在预设指标宽表中进行索引,从而得到画像查询结果,具体过程可参照图2。
其中,该预设指标宽表作为原始数据,其中包含了客户集群和指标数据等,该原始数据可作为输入至ES引擎的待处理数据,此时,更换用Spark引擎,对该原始数据进行快速查询,同样可直接获取到相应的画像查询结果,即相当于在使用ES引擎之外,还使用Spark引擎作为备用方案,在ES引擎调用异常后,直接选用其他引擎进行画像分析,从而保证查询任务的完成率,避免由于调用异常而中断ES引擎的查询任务。
与相关技术中,在分析引擎对客户画像进行分析和查询时,分析引擎的响应时长,使得相关人员的使用分析引擎的用户体验较差的情况相比,在本申请中,通过在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。即在建立起相应的查询事件后,采用与ES引擎内的历史查询记录进行匹配认证的方式,在匹配命中时,直接根据匹配得到的命中项,作为与当前查询事件相同的查询记录,并将该命中项直接作为画像查询结果,以此提高画像分析的效率,同时,若匹配未命中,则通过ES引擎进行索引,根据索引的结果,输出画像查询结果,即在匹配命中和匹配未命中的情况下,通过不同的处理方式,分别实现提高ES引擎对客户画像分析的效率,从而保证了用户使用分析引擎的用户体验。
示例性的,参照图3,图3是本申请客户画像分析方法第二实施例的流程示意图,基于上述本申请客户画像分析方法第一实施例,提出第二实施例,所述方法还包括:
步骤S210:获取待分析的客群数据和所述客群数据对应的指标数据;
待分析的客群数据可根据实际情况逐步类增,例如,在一项服务类业务中,该业务的用户会随着该业务的不断推广而增加,因此,该客群数据为不断增加的集群数据,此时获取的过程即相当于更新集群数据的过程。
在获取到客群数据时,同时获取该客群数据对应的指标数据,该指标数据会随着业务开展、客户集群的不断积累而新增相应的指标,例如,增加对业务描述,或对客户描述的指标。
其中,该指标可由相关人员根据实际需求而制定。
步骤S220:对所述客群数据和所述指标数据进行范式化转换;
为避开ES在精确去重场景下的技术限制,有效避免数据爆炸问题,支持多维标签过滤聚合,即通过对客群数据和指标数据所对应生成的标签的结构化数据进行范式转换,将多维数据转化为以CUST_UID为主键的非结构化文档存储。
同时,为提升转换的效率,利用离线分析平台的分布式高性能计算能力进行范式化转换后,再将文档数据加载入ES。具体可参照图4中所展示的多维标签财富产品购买情况指标的转换过程。该指标既有具体产品交易信息,又有产品分类信息(上述信息可作为指标数据和标签),通过嵌套(Nested)类型存储在索引中。
步骤S230:将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内;
在本实施例中,以实际应用中的相应数据为例,画像分析引擎每日所需处理的数据量庞大,具体的,画像分析引擎每日计算上亿数量的客群指标离线数据;载入ES后的文档个数通常为十数亿篇;维度信息载入MySQL约一百多万条。数据流转的结果直接影响分析得到的画像查询结果的质量。为保障数据服务的准确性、时效性、稳定性、可用性方面的要求,设计了高吞吐数据同步机制,具体实现如下:多重数据校验,保障数据加载的完整性、准确性,并通过多路拆分进行数据并行加载,提高数据加载的时效性。同时,通过分片加载错误重试实现断点续传,避免因网络抖动造成的整个数据任务数据重载,降低重试成本、增加数据同步稳定性。
其中,需要说明的是,在对数据进行多路拆分时,即将客群数据和指标数据所对应的非结构化数据进行拆分处理,并将该拆分后的数据加载至ES引擎中,其主要目的是,将数据量庞大的客群数据和其对应的指标数据并发至ES引擎,若直接以较大体量的数据加载,会影响其加载效率。
示例性的,所述将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内的步骤,包括:
步骤e:将转换后的非结构化数据拆分至多个初始文件;其中所述多个初始文件的数据体量大小不等,且其拆分所需的时长不等;
步骤f:根据所述多个初始文件的拆分所需时长,依次将所述多个初始文件按流水线梯队的形式完成加载;
步骤g:在任一初始文件加载完成后,将加载完成的初始文件拆分至数据体量大小相等的多个作业任务,并将所述多个作业任务并发同步加载至ES引擎内。
其中,多路拆分机制详见图5,在多个数据输出环节对数据进行拆分,在拆分过程中,主要包括两部分,一部分为从指标宽表中抽取得到初始文件,并在对初始文件进行拆分,得到相应的作业任务。
示例性的,在拆分得到初始文件时,采用的是等差拆分,将一张指标宽表拆分成大小不等(1:2:3:4:5)的五份并行抽取标准文件。越小的文件越早完成抽取,优先创建调度加载任务,形成加载流水线梯队,而在对初始文件进行细化拆分时,则是将初始文件进行等量拆分,将初始文件拆分成数据体量大小相等的若干份作业任务。
同时,利用ES集群Bulk并发写入的特性,借助自研调度服务,对单个标准文件做行粒度逻辑拆分,加载任务根据文件大小水平拆分成多个子作业进行同步,拆分过程中通过完整行读保证数据的完整性。
示例性的,所述并将所述多个作业任务并发同步加载至ES引擎内的步骤,包括:
步骤h:将所述多个作业任务并发至预设调度实例,并根据所述预设调度实例,对每个作业任务进行属性定义,并将属性定义后的作业任务存储至所述ES引擎的数据库;
步骤i:若确认到注册失败的作业任务,则根据所述预设调度实例,对所述注册失败的作业任务进行重注册,直至将所述每个作业任务均完成注册。
画像分析引擎每天都会从数据仓库中同步大量的增、全量客群、标签(用于描述客群的特征)、维度离线数据(标签和客群之间的维度联系)到ES集群及MySQL数据库中,其中的大部分数据流转依靠定时任务监听发起。
为保障数据同步的时效性、准确性以及数据在线化服务的健壮性,基于Quartz框架及其生命周期概念二次封装,设计了微型服务调度系统。该系统支持定时任务的动态注册销毁,拆分并行,数据校验,失败重试,上下游依赖,以此保证数据流转的正常、高效执行。
该系统中调度服务执行的最小单元为任务(Task),是由多个Quartz框架中执行的最小单元作业(Job)构成。基本流程如下:
(1)注册任务:单个任务(Task)注册后,会被拆分成多个作业任务(Job),即批次作业组。
(2)执行作业:该调度服务通过Quartz的分布式调度机制选择空闲的预设调度实例,使得多个作业任务(Job)可同时执行,以此提高执行效率(主要体现在数据同步工作上)。具体如图6所示,在各个调度实例上设置线程限制和执行标识,同个任务下的作业不会重复在一个预设调度实例上执行,避免每个预设调度实例承载压力过大突发内存泄漏,导致作业任务执行失败。
(3)后置业务:一个作业任务执行完成将触发后置业务。
(4)任务校验:同一批次的所有作业任务均执行完成,将触发任务校验。
(5)唤起下游。若有上下游依赖,根据依赖关系执行作业任务。
示例性的,可仅依赖12个预设调度实例便能支撑每日的数据流转任务,并且支持水平扩展提升调度效率。此外,该服务还支持水平扩展,并能够通过配置的方式快速集成通用同步模板创建新的任务,有效减少重复编码。
其中,预设调度实例为应用实例,其主要用于对拆分后得到的多个作业任务进行属性定义,例如,通过该应用实例添加相应的时间属性、执行记录等内容至作业任务。
在通过应用实例对其进行属性定义之后,将属性定义后的作业任务存储至ES引擎的数据库,该ES引擎的数据库用于存储作业任务,以供后续从ES引擎的数据库中调用相应的作业任务的记录。即将所述多个作业任务并发至预设调度实例,并根据所述预设调度实例,对每个作业任务进行属性定义,并将属性定义后的作业任务存储至所述ES引擎的数据库。
在这一过程中,仍然存在相应注册失败的情况,即通过预设调度实例对作业任务定义属性时存在由网络波动所导致的时延影响、响应延迟等情况,此时,为保证将每个作业任务均完成注册,此时需要对失败的作业任务进行重试,直至将每个作业任务均为完成注册。
此外,根据上述内容可知,在从指标宽表中抽取得到多个数据体量不等的初始文件后,还需要对初始文件进行拆分,即会根据多个初始文件,拆分出多个批次的作业任务,每次并发加载至ES引擎内的数据时,会按照不同初始文件拆分出来的作业任务进行并发加载,但是在该加载过程中由于预设调度实例的数量有限,其数量存在小于作业任务的总量的情况,因此,还需要在并发加载过程中设置相应的调度算法,以保证将每一个作业任务完成属性定义。
其中,该调度算法在于以周期性尝试注册的方式,在确认到有可使用的预设调度实例,则可对作业任务进行属性定义,在确认到无可用的预设调度实例时,则等待,并在下一个周期重新尝试注册。
步骤S240:根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件。
根据已加载至ES引擎内的数据和预设查询模板,从而可生成不同查询指标的查询事件。
其中,预设查询模板为预设限制好的查询事件生成模板,其具体为设定相应的查询事件创建逻辑,根据每次查询事件中所对应的指标数据,根据该创建逻辑,对指标数据进行处理,从而生成不同查询指标的查询事件。
需要说明的是,在本实施例中主要使用ES引擎的索引和查询,因此,在根据上述创建逻辑,生成查询事件时,主要通过将查询请求转化为ES引擎可用的查询语句,例如,根据查询请求中的指标数据,生成相应的查询事件。
示例性的,所述根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件的步骤,包括:
步骤j:根据已加载至所述ES引擎内的数据和预设查询模板,从所述ES引擎内的数据中抽取得到查询指标;
步骤k:对所述查询指标进行交并差组合,并根据组合后的指标和所述预设查询模板,生成不同查询指标的查询事件。
根据已加载至ES引擎内的数据和预设查询模板,从ES引擎内的数据中抽取得到查询指标,该查询指标指的是生成当前查询事件时的查询请求的内容,该查询指标对应着相关人员通过索引后所得到的画像查询结果。
在ES引擎中已预先加载过相应的客群数据和指标数据,因此,可对应着从中直接抽取相应的指标数据,例如,抽取得到用于描述整个客群的全部指标数据,通过该指标数据可确定客群的属性,对该查询指标进行交并差组合,从而可得到不同的指标数据的组合,进而可得到不同查询事件的查询指标,继而可生成不同查询指标的查询事件。
其中,在对查询指标进行交并差组合时,查询指标还可包括来自外部设定的下钻条件,该下钻条件可作为生成交并差组合后的指标数据之后的限定条件,即通过该下钻条件,进一步缩小已交并差组合后的查询指标的查询范围。
同时,该下钻条件也可为从ES引擎内抽取的指标数据中选取。
此外,交并差组合的方式同样适用于客群数据,例如,不同业务对应着不同的客群,但同一个客户可能同时办理多项业务,因此,一个客户可同时存在与多个客群中,因此,可对不同的客群数据进行交并差处理,从而在一定程度上,降低待处理数据的总量,即在生成查询事件时,通过将指标数据和客群数据分别进行交并差处理,以不同指标组合的方式,对交并差组合后的客群数据进行筛选,从而可得到不同的输出的画像查询结果,具体可参照图7。
在本实施例中,获取待分析的客群数据和所述客群数据对应的指标数据;对所述客群数据和所述指标数据进行范式化转换;将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内;根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件,通过先将客群数据和指标数据进行范式化转换,从而将原本的结构式数据转化为非结构的数据,起到降低数据占用存储空间大小的效果,同时,在转换后的非结构化数据进行拆分处理,并将拆分后的数据同步加载至ES引擎内,起到了提高加载数据效率的效果,此外,还通过设定相应的查询模板,以起到快速生成查询事件的效果。
示例性的,基于上述本申请客户画像分析方法第一实施例和第二实施例,提出第三实施例,所述方法还包括:
在本实施例中,还提出一种策略组装的画像API工厂。
其中,API(Application Programming Interface,应用程序编程接口)。
为处理复杂分析场景,快速进行画像API构建,在画像查询体系设计上,画像分析引擎抽离出通用的查询命令模板构成命令工厂,命令模板支持复用和扩展。画像基本查询流程详见图8,缓存加速与异常降级处理流程详见图2。
基本画像查询流程如下:
(1)将客群组合和标签组合等查询命令解析成最小过滤单元(支持递归层级嵌套);
(2)通过布尔匹配组装各个过滤单元装饰命令模板,通过策略仓库(查询模板)将查询请求解释成ES的查询语句;
(3)查询历史查询记录。若匹配命中,则转(8);若缓存集群调用异常或匹配未命中,则转(4);
(4)判断ES集群是否异常。正常,转(5);异常,转(7);
(5)根据日期查询分区索引计算结果,从维度仓库中获取中文语义进行二次封装,转(6);
(6)将画像查询结果加入历史查询记录中(降低ES集群的统计分析压力),转(8);
(7)异常降级处理,通过异步调度执行离线Spark作业,当缓存集群正常时转(6);
(8)输出结果。
此外,基于组装策略,对于绝大多数的新增指标迭代能够做到数据服务层零开发、简单配置的方式提供新画像API。
在本实施例中,需要说明的是,上述步骤主要包括通过预设查询模板生成查询事件,以及通过两方面查询步骤完成查询事件,其重点在于应用预先设定的查询模板,从而起到快速生成查询事件的效果,以及通过两级查询方式,优化原本复杂查询过程,以提高查询事件的完成效率。
此外,本申请还提供一种客户画像分析装置,所述一种客户画像分析装置包括:
匹配模块,用于在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
第一判断模块,用于若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
第二判断模块,用于若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
示例性的,所述第二判断模块包括:
更新子模块,用于将通过ES引擎索引得到的画像查询结果加入至所述历史查询记录;
异常索引子模块,用于若通过所述ES引擎进行索引,且索引过程产生所述ES引擎内数据产生调用异常,则根据所述查询事件,在预设指标宽表中进行索引,得到画像查询结果;
索引子模块,用于根据预设的主表和备表,加载数据至所述ES引擎;其中,通过所述主表将待加载数据写入至所述ES引擎,所述备表用于在所述主表写入数据时同步预先缓存剩余的待加载数据;
切换子模块,用于在上一阶段的主表完成数据加载后,将所述上一阶段中的主表作为下一阶段的备表,将上一阶段的备表作为下一阶段的备表,并返回所述根据预设的主备表,加载数据至所述ES引擎的步骤,直至完成所述查询事件中的全部待加载数据的数据写入动作。
示例性的,所述装置还包括:
获取模块,用于获取待分析的客群数据和所述客群数据对应的指标数据;
转换模块,用于对所述客群数据和所述指标数据进行范式化转换;
拆分模块,用于将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内;
生成模块,用于根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件。
示例性的,所述拆分模块包括:
拆分子模块,用于将转换后的非结构化数据拆分至多个初始文件;其中所述多个初始文件的数据体量大小不等,且其拆分所需的时长不等;
第一加载子模块,用于根据所述多个初始文件的拆分所需时长,依次将所述多个初始文件按流水线梯队的形式完成加载;
第二加载子模块,用于在任一初始文件加载完成后,将加载完成的初始文件拆分至数据体量大小相等的多个作业任务,并将所述多个作业任务并发同步加载至ES引擎内。
示例性的,所述第二加载子模块包括:
定义单元,用于将所述多个作业任务并发至预设调度实例,并根据所述预设调度实例,对每个作业任务进行属性定义,并将属性定义后的作业任务存储至所述ES引擎的数据库;
注册单元,用于若确认到注册失败的作业任务,则根据所述预设调度实例,对所述注册失败的作业任务进行重注册,直至将所述每个作业任务均完成注册。
示例性的,所述生成模块包括:
抽取子模块,用于根据已加载至所述ES引擎内的数据和预设查询模板,从所述ES引擎内的数据中抽取得到查询指标;
生成子模块,用于对所述查询指标进行交并差组合,并根据组合后的指标和所述预设查询模板,生成不同查询指标的查询事件。
本申请客户画像分析装置具体实施方式与上述客户画像分析方法各实施例基本相同,在此不再赘述。
此外,本申请还提供一种客户画像分析设备。如图9所示,图9是本申请实施例方案涉及的硬件运行环境的结构示意图。
示例性的,图9即可为客户画像分析设备的硬件运行环境的结构示意图。
如图9所示,该客户画像分析设备可以包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901、通信接口902和存储器903通过通信总线904完成相互间的通信,存储器903,用于存放计算机程序;处理器901,用于执行存储器903上所存放的程序时,实现客户画像分析方法的步骤。
上述客户画像分析设备提到的通信总线904可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。该通信总线904可以分为地址总线、数据总线和控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口902用于上述客户画像分析设备与其他设备之间的通信。
存储器903可以包括随机存取存储器(Random Access Memory,RMD),也可以包括非易失性存储器(Non-Volatile Memory,NM),例如至少一个磁盘存储器。可选的,存储器903还可以是至少一个位于远离前述处理器901的存储装置。
上述的处理器901可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请客户画像分析设备具体实施方式与上述客户画像分析方法各实施例基本相同,在此不再赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有客户画像分析程序,所述客户画像分析程序被处理器执行时实现如上所述的客户画像分析方法的步骤。
本申请计算机可读存储介质具体实施方式与上述客户画像分析方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种客户画像分析方法,其特征在于,所述客户画像分析方法包括以下步骤:
在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
2.如权利要求1所述的客户画像分析方法,其特征在于,所述根据所述查询事件,匹配ES引擎内的历史查询记录的步骤之前,包括:
获取待分析的客群数据和所述客群数据对应的指标数据;
对所述客群数据和所述指标数据进行范式化转换;
将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内;
根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件。
3.如权利要求2所述的客户画像分析方法,其特征在于,所述将转换后的非结构化数据进行拆分处理,并将拆分后的数据加载至ES引擎内的步骤,包括:
将转换后的非结构化数据拆分至多个初始文件;其中所述多个初始文件的数据体量大小不等,且其拆分所需的时长不等;
根据所述多个初始文件的拆分所需时长,依次将所述多个初始文件按流水线梯队的形式完成加载;
在任一初始文件加载完成后,将加载完成的初始文件拆分至数据体量大小相等的多个作业任务,并将所述多个作业任务并发同步加载至ES引擎内。
4.如权利要求3所述的客户画像分析方法,其特征在于,所述并将所述多个作业任务并发同步加载至ES引擎内的步骤,包括:
将所述多个作业任务并发至预设调度实例,并根据所述预设调度实例,对每个作业任务进行属性定义,并将属性定义后的作业任务存储至所述ES引擎的数据库;
若确认到注册失败的作业任务,则根据所述预设调度实例,对所述注册失败的作业任务进行重注册,直至将所述每个作业任务均完成注册。
5.如权利要求2所述的客户画像分析方法,其特征在于,所述根据已加载至所述ES引擎内的数据和预设查询模板,生成不同查询指标的查询事件的步骤,包括:
根据已加载至所述ES引擎内的数据和预设查询模板,从所述ES引擎内的数据中抽取得到查询指标;
对所述查询指标进行交并差组合,并根据组合后的指标和所述预设查询模板,生成不同查询指标的查询事件。
6.如权利要求1所述的客户画像分析方法,其特征在于,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之后,包括:
将通过ES引擎索引得到的画像查询结果加入至所述历史查询记录;
若通过所述ES引擎进行索引,且索引过程产生所述ES引擎内数据产生调用异常,则根据所述查询事件,在预设指标宽表中进行索引,得到画像查询结果。
7.如权利要求1所述的客户画像分析方法,其特征在于,所述若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果的步骤之前,包括:
根据预设的主表和备表,加载数据至所述ES引擎;其中,通过所述主表将待加载数据写入至所述ES引擎,所述备表用于在所述主表写入数据时同步预先缓存剩余的待加载数据;
在上一阶段的主表完成数据加载后,将所述上一阶段中的主表作为下一阶段的备表,将上一阶段的备表作为下一阶段的备表,并返回所述根据预设的主备表,加载数据至所述ES引擎的步骤,直至完成所述查询事件中的全部待加载数据的数据写入动作。
8.一种客户画像分析装置,其特征在于,所述客户画像分析装置包括:
匹配模块,用于在建立客户画像分析的查询事件后,根据所述查询事件,匹配ES引擎内的历史查询记录;
第一判断模块,用于若匹配命中,则根据所述历史查询记录的命中项,输出画像查询结果;
第二判断模块,用于若匹配未命中,则通过所述ES引擎进行索引,并根据索引的结果,输出画像查询结果。
9.一种客户画像分析设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户画像分析程序,所述客户画像分析程序配置为实现如权利要求1至7中任一项所述的客户画像分析方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有客户画像分析程序,所述客户画像分析程序被处理器执行时实现如权利要求1至7中任一项所述的客户画像分析方法的步骤。
CN202310667279.8A 2023-06-06 2023-06-06 客户画像分析方法、装置、设备及可读存储介质 Pending CN116756201A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310667279.8A CN116756201A (zh) 2023-06-06 2023-06-06 客户画像分析方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310667279.8A CN116756201A (zh) 2023-06-06 2023-06-06 客户画像分析方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN116756201A true CN116756201A (zh) 2023-09-15

Family

ID=87955768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310667279.8A Pending CN116756201A (zh) 2023-06-06 2023-06-06 客户画像分析方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116756201A (zh)

Similar Documents

Publication Publication Date Title
CN109669925B (zh) 非结构化数据的管理方法及装置
US11055193B2 (en) Multi-version query retry in a database environment
US10812322B2 (en) Systems and methods for real time streaming
CN115114374B (zh) 事务执行方法、装置、计算设备及存储介质
US10467219B2 (en) Exporting subset of a database
US20240086397A1 (en) Identifying software regressions based on query retry attempts in a database environment
CN111488323B (zh) 一种数据处理方法、装置及电子设备
CN111858760A (zh) 一种异构数据库的数据处理方法及装置
CN112214505A (zh) 数据同步方法、装置、计算机可读存储介质及电子设备
US11836190B2 (en) Method and system for identifying, managing, and monitoring data dependencies
US20240078220A1 (en) Hyperparameter tuning in a database environment
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
EP2948871A1 (en) Method for accessing and automatically correlating data from a plurality of external data sources
CN112052259A (zh) 数据处理方法、装置、设备及计算机存储介质
US20230132117A1 (en) Handling system-characteristics drift in machine learning applications
CN116756201A (zh) 客户画像分析方法、装置、设备及可读存储介质
CN110781205A (zh) 一种基于jdbc的数据库直查方法、装置及系统
Bagga et al. A comparative study of NoSQL databases
CN113868249A (zh) 一种数据存储方法、装置、计算机设备以及存储介质
CN115544096B (zh) 数据查询方法、装置、计算机设备及存储介质
CN111459931A (zh) 数据查重方法和数据查重装置
US9916339B2 (en) Efficient sorting in a relational database
US20240232722A1 (en) Handling system-characteristics drift in machine learning applications
Lakhe et al. Lambda architecture for real-time Hadoop applications
CN117150112A (zh) 基于redis的推送消息生成方法、装置、设备和存储介质

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