CN111666298A - 基于flink的用户服务类别检测方法、装置、计算机设备 - Google Patents

基于flink的用户服务类别检测方法、装置、计算机设备 Download PDF

Info

Publication number
CN111666298A
CN111666298A CN202010356623.8A CN202010356623A CN111666298A CN 111666298 A CN111666298 A CN 111666298A CN 202010356623 A CN202010356623 A CN 202010356623A CN 111666298 A CN111666298 A CN 111666298A
Authority
CN
China
Prior art keywords
user
event
behavior
behaviors
text
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
CN202010356623.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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202010356623.8A priority Critical patent/CN111666298A/zh
Publication of CN111666298A publication Critical patent/CN111666298A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请属于数据处理领域,公开了一种基于flink的用户服务类别检测方法、装置、计算机设备及可读存储介质。所述方法包括通过页面埋点的方式获取用户的用户行为,并为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。本方法解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。本案还涉及区块链技术,所述用户行为集可存储于区块链节点中。

Description

基于flink的用户服务类别检测方法、装置、计算机设备
技术领域
本申请涉及数据处理领域,特别是涉及一种基于flink的用户服务类别检测方法、装置、计算机设备和存储介质。
背景技术
传统技术中的用户行为的检测通常是通过模板的方式进行,一般将用户行为数据与异常模板进行匹配,若匹配,则说明该用户行为数据对应的用户存在异常的可能。例如现有技术对用户行为数据的处理方法通常采用获取用户行为数据,其中,用户行为数据包括用户行为数据对应的事件类型信息,根据预先存储的时间类型与数据匹配策略的对应关系,确定用户行为数据中事件类型信息对应的数据匹配策略,最后再按照数据匹配策略对用户行为数据进行匹配操作,得到匹配结果。该方式虽然可以解决对用户进行分类的目的,但是分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
发明内容
基于此,有必要针对上述技术问题,本申请提供一种基于flink的用户服务类别检测方法、装置、计算机设备及存储介质,以解决现有技术中无法对特征进行准确提取,导致的对用户分类不准确的目的。
一种基于flink的用户服务类别检测方法,所述方法包括:
建立flink广播流,并通过所述广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,所述事件筛选文本中包括事件触发条件、行为事件;
将通过页面埋点实时收集的用户行为写入kafka,并根据所述用户行为为每一用户生成用户行为集;
将用户的当前用户行为与所述事件触发条件进行对比,得到对比结果;
若所述对比结果为当前用户行为满足所述事件触发条件,则将所述用户的用户行为集中的所有用户行为与所述事件筛选文本中的行为事件进行匹配,得到匹配结果;
若所述匹配结果为所述用户行为集中存在满足所述事件筛选文本的用户行为,则根据所述事件筛选文本为所述用户生成服务类型标签。
一种基于flink的用户服务类别检测装置,所述装置包括:
文本读取模块,用于建立flink广播流,并通过所述广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,所述事件筛选文本中包括事件触发条件、行为事件;
行为集构建模块,用于将通过页面埋点实时收集的用户行为写入kafka,并根据所述用户行为为每一用户生成用户行为集;
行为对比模块,用于将用户的当前用户行为与所述事件触发条件进行对比,得到对比结果;
行为匹配模块,用于若所述对比结果为当前用户行为满足所述事件触发条件,则将所述用户的用户行为集中的所有用户行为与所述事件筛选文本中的行为事件进行匹配,得到匹配结果;
标签生成模块,用于若所述匹配结果为所述用户行为集中存在满足所述事件筛选文本的用户行为,则根据所述事件筛选文本为所述用户生成服务类型标签。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于flink的用户服务类别检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于flink的用户服务类别检测方法的步骤。
上述基于flink的用户服务类别检测方法、装置、计算机设备和存储介质,通过为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于flink的用户服务类别检测方法的应用环境示意图;
图2为基于flink的用户服务类别检测方法的流程示意图;
图3为图2中步骤204的流程示意图;
图4为另一实施例中基于flink的用户服务类别检测方法的流程示意图;
图5为基于flink的用户服务类别检测装置的示意图;
图6为一个实施例中计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于flink的用户服务类别检测方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络以及服务端104,网络用于在终端102和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102通过网络与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于flink的用户服务类别检测方法一般由服务端/终端执行,相应地,基于flink的用户服务类别检测装置一般设置于服务端/终端设备中。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信。开发者或设定者通过终端102写入的事件筛选文本,终端102接收到后会将其发送到TiDB,并在TiDB中将其解析成json格式的文档保存以便读取、增删改查的操作。服务端104从TiDB获取经由终端102输入的事件筛选文本,并与收集到的用户行为进行对比,并根据对比结果为用户生成服务类型标签。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于flink的用户服务类别检测方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:
步骤202,建立flink广播流,并通过广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,事件筛选文本中包括事件触发条件、行为事件。
Flink由于是分布式计算引擎,当分布式的计算节点共同需要一份数据量较小的数据集时,通常会采用广播流的方式,即另起一个进程定时读取广播流定义的数据源,读取后通过广播连接的方式发送到各个分布式的计算节点上。本提案中,由于我们需要在每次用户完成一次事件(用户行为)后就判断用户的行为是否满足事件触发条件,那么就需要在每次处理用户行为时,从广播中读取到事件触发条件,从而能判断该用户行为是否满足事件筛选文本中的事件触发条件。其具体流程是:开启一个Flink广播流,并在广播流中指定需要广播的数据来源,读取后存储到事件数据库,以供给后续条件判断获取。
比如,解析为json格式文档的事件筛选文本可以为:
用户发生HCZ_H00010802事件后一小时内发生PACX_H00018745事件:
[{"eventType":2,事件触发条件的事件类型;
"timeWindow":"1h",相隔时间;
"eventName":"PACX_H00018745",事件触发条件的事件名称;
"sequence":[{"eventName":"HCZ_H00010802"},执行HCZ_H00010802后顺序执行PACX_H00018745;{"eventName":"PACX_H00018745"}]}]
事件筛选文本是开发者或设定者通过终端写入的用户筛选信息,终端可以是客户端。比如是某产险、保险的后台管理软件。客户端接收到事件筛选文本后会将其发送到TiDB,并在TiDB中将其解析成json格式的文档以便于后续的读取、增删改查的操作。事件筛选文本中包括事件触发条件、行为事件,其中,事件触发条件也是行为事件中的一种。比如,用户发生HCZ_H000108002事件后一小时内发生PACX_H00018745事件。那么可以将ID为PACX_H00018745的行为事件作为事件触发条件。其中,HCZ_H、PACX_H表示用户在不同模块中的动作,00010、00018表示用户在对应模块不同页面或者链接等元素上动作,8或7表示在某元素上的点击、滑动或跳转等操作,02或45可以表示距离上一用户行为之间的时长。当然,具体的事件触发条件的ID可以根据具体场景而定,并不局限于一种。进一步地,事件触发条件一般是位于事件筛选文本中的行为事件的最后一位。
步骤204,将通过页面埋点实时收集的用户行为写入kafka,并根据用户行为为每一用户生成用户行为集。
页面埋点是网站分析的一种常用的数据采集方式,一般主要采集用户行为数据,例如页面的访问路径、点击模块等等。现有的页面埋点一般分为三个类型:手动埋点、可视化埋点以及无埋点。其中,手动埋点是手动在代码里埋点,比较常见,需要调用埋点的业务方在需要采集数据的地方调用埋点的实现方式,优点是流量可控,业务方可以根据需要在任意地点任意场景进行数据采集,采集信息也完全由业务方控制。
无埋点是前端自动采集全部的事件,上报埋点数据,由后端过滤和计算出有用的数据,优点是前端只需要加载埋点脚本即可。通常是指用户通过设备连接用户行为分析工具的数据接入管理界面,对可交互且交互后有效果的页面元素(如:图片、按钮、链接等),直接在界面上进行操作实现数据埋点,下发采集代码生效回数的埋点方式。这种方式所见即所得,跳过代码部署、测试验证和发版过程,极大提升了生产力。
本实施例因为是基于设定的事件筛选文本,所以可以采用手动埋点的方式,获取自己所需要的用户行为数据,减少数据传输的量,提高运算效率。
用户行为是用户在客户端或者对应的页面上的操作行为,比如在网站的某页面上停留的时间、点击某元素的动作、搜索某关键词的操作等等,一个用户行为中可以包括点击某元素的动作、用户在某元素上的停留时间、与上一用户行为之间相隔的时长以及点击某元素时的时间信息等等,这些信息都可以判断用户是否符合事件筛选文本的依据,这些通过页面埋点的方式得到的用户行为一般都被自动保存在日志文件中,并写入kafka中进行同步,形成用户数据流,以便于后续对用户行为数据进行处理和分析。
Kafka是一个应用非常广泛的消息队列,是一个生产者&消费者模型的存储引擎,我们的APP通常会收集用户在APP上的行为事件,一条条发送到Kafka存储中,这是生产者。而此场景中我们的FLINK作为消费者,将已经存储到Kafka的用户数据,按照顺序读取出来。
用户数据流中保存有不同用户的用户行为,可以按照用户类别对用户数据流进行分类,将与同一用户对应的用户行为整合出来作为该用户的用户行为集,方便处理和分析,其中,用户行为集中的用户行为是按照用户的操作时间进行排序。
用户行为集中包括若干用户行为,不同的用户行为对应有不同的行为ID。具有相同事件触发条件的事件筛选文本的触发ID可以相同,不同用户的同一用户行为的行为ID设置为相同,用户降低对事件筛选文本中的事件ID类型的数量,减少数据处理量,和数据对比的量。
步骤206,将用户的当前用户行为与事件触发条件进行对比,得到对比结果。
在进行用户行为与事件触发条件的匹配时,只需要将采集到的用户行为的ID与事件触发条件的ID进行对比即可。若用户的当前用户行为与事件触发条件的ID相同,则得到该用户满足该事件触发条件的对比结果,若ID不相同,则得到该用户的用户行为不满足事件触发条件的对比结果,则继续对该用户的用户行为进行检测,直到该用户停止用户行为。对于不符合任何事件筛选文本的用户可以为其生成无有效操作标签,并在下一次数据检测时降低对该类用户的行为的检测,减少数据处理量。
步骤208,若对比结果为当前用户行为满足事件触发条件,则将用户的用户行为集中的所有用户行为与事件筛选文本中的行为事件进行匹配,得到匹配结果。
在对获取用户行为的行为ID与行为事件的事件ID对比时,要查询与行为事件的事件ID的相同,且顺序一致的行为ID对应的用户行为进行匹配。
对比结果是当前用户行为满足事件触发条件,则需要对用户行为集中的所有用户行为进行匹配判断,看当前用户行为之前的用户行为是否符合事件筛选文本中的其他行为事件。比如,当前用户行为是发生了PACX_H00018745事件,则在PACX_H00018745事件之前一个小时内是否存在事件HCZ_H000108002。
其中,如果HCZ_H000108002事件在当前用户行为PACX_H00018745事件发生的一个小时之前,则就算用户行为集中存在用户行为HCZ_H000108002事件,那么该用户也不符合事件筛选文本。
若不匹配,则说明该用户不符合该事件筛选文本,则不会对其进行生成服务类型标签的处理。
比如,如果当前用户行为为PACX_H00018745事件,但在在PACX_H00018745事件之前的一个小时内该用户的没有HCZ_H000108002事件,则说明该用户不符合该事件筛选文本。
可选地,如果因为网络延迟、拥堵等原因无法及时对当前用户行为进行对比,则可以直接扫描用户行为集中是否存在符合事件触发条件的用户行为进行判断。
同一个用户可以符合多个事件筛选文本,且不同事件筛选文本之间并不互相干扰,比如某用户的用户行为的行为ID为03满足事件触发条件的事件ID为03,该用户的用户行为01满足行为事件01,而行为事件01/02/03构成一个事件筛选文本a,则说明该用户满足事件筛选文本a;若该用户一连串的用户行为为:01/02/03/04,但同时该用户还可以满足事件筛选文本b(01/03/04,事件筛选文本中行为事件的时间ID的排序),其中,事件ID为04所对应的行为事件为事件筛选文本b的事件触发条件。
即,只要用户的操作不停止,得到的用户行为还在增加,就会不断地进行对比,以期获得更多该用户符合的事件筛选文本。进一步地,同一用户符合的事件筛选文本的数量可以叠加,作为判断该用户为某一类型的程度,比如一个用户的事件筛选文本的数量叠加的越多,则获得的同一类型的卡券也越多。
具体地,在某APP的许愿树的这个应用下,我们将用户定位的事件筛选文本作为一个条件流,用户实际产生的APP时间即用户行为是行为流,我们如何判断用户的行为流是否满足条件,则需要将这两个流进行连接,每当读取到条件流的数据后,我们将事件触发条件存入一个flink的mapstate结构中(mapstate是一种全局数据存储容器,可以在流中操作map,并传入另一个流中),然后行为流读取mapstate,即可获取用户定义的条件,同时可以在这个流中读取用户行为,实现用户行为与事件筛选文本中行为事件的对比,结合mapstate中的事件触发条件判断用户行为是否满足事件触发条件,通过事件触发条件再进行匹配判断,减少对比时的数据,也能提高效率。
步骤210,若匹配结果为用户行为集中存在满足事件筛选文本的用户行为,则根据事件筛选文本为用户生成服务类型标签。
一个用户行为满足的事件筛选文本可以是零个,也可以是多个。可以根据该用户满足的事件筛选文本为该用户生成服务类型标签。具体地,可以采用Flink connect算子实现用户行为与事件筛选文本之间的连接。Flink connect算子是Flink对两个流,即datastream对象提供的连接操作,主要是为了合并两种或者多种不同数据类型的数据集,合并之后会保留原来数据集的数据类型,其中,datastream是Flink编写流处理作业的API,是一个JAVA对象,当处理流数据时,流被抽象为这个对象。其包含一系列操作方式,如map,filter等。当用户需要将两个流数据进行合并时,比如以上的事件筛选文本组成的广播流以及包括用户行为的行为流,通过Flink Connect算子重写其processfunction方法,可以自定义连接的内容。
具体地,比如在许愿树活动中,我们重写了processfunction,其主要包含4个部分:
(1)定义存储用户行为的哈希表即mapstate;
(2)复写processBroadcastElement,处理广播流中返回的值,即所有条件;
(3)复写processElement,也是最复杂的,是处理用户事件;
(4)并判断是否满足事件筛选文本的实现部分。
逻辑步骤为:将用户行为***到哈希表该用户的事件列表中,拿到当前用户的所有用户行为的集合,判断是否触发事件触发条件,若不触发,则结束该轮计算进入下一条数据,若触发,则将用户的行为列表和时间筛选文本进行判断,若用户满足某事件筛选文本,比如输出对应该事件筛选文本约定的积分值,以及该用户名称到下游,若不满足,进行下一个事件筛选文本的判断,直到轮询完所有的事件筛选文本。
例如,在某APP许愿树活动中,其事件触发条件的主要内容为:用户完成某些固定的任务,则可以领取相应的积分,达到提高用户兴趣的应用效果。如果用户点击“去完成任务-查违章”后在一个小时内,发生了查违章的这一用户行为,说明该用户满足对应的事件筛选文本,则可以根据该事件筛选文本为该用户生成领取相应积分的标签,拥有该服务类型标签的用户可以领取若干积分,相应积分可以兑换一些服务。
该方式作为许愿树活动的后端数据支持,通过监控用户的埋点数据,达到实时判定用户行为是否满足发积分要求的目的。
进一步地,在根据事件筛选文本为用户生成服务类型标签之后,还包括:
根据服务类型标签为所述用户生成服务类型,其中,服务类型用于指示用户对服务类型标签进行更新。
具体地可以通过配置三类条件,因为事件筛选文本是多种多样的,例如有三种:(1)在XX时间内用户发生某个固定事件XX次,(2)用户发生某个事件(3)用户发生A事件后X时间内发生B事件。对满足相应事件筛选文本的用户生成指定的服务类型标签,最后根据服务类型标签发送指定的服务类型,如实体卡券,服务,提醒等,这些服务类型用于指示用户进行对应的操作,比如消费卡券、完成服务、执行提醒的操作,从而对自身的服务类型标签进行更新,每当用户完成某项服务,则说明该用户的已失去一个对应的服务类型标签。比如,当用户得到服务类型为卡券时,若使用了该卡券,则对应的该用户的服务类型标签可以被减去,当用户只有一个卡券对应的服务类型标签时,且已被减去时,则需要对该用户重新进行判断是否属于服务类型标签后,才能够重新为该用户生成服务类型。通过此方式实现对用户类别精准检测的目的。
上述基于flink的用户服务类别检测方法中,通过为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
在一个实施例中,步骤204,包括:获取用户点击和/或滑动页面元素的动作以及在页面元素上的停留时长,并根据动作、停留时长以及页面元素的编号生成用户行为写入kafka。
具体地,可以用户点击获取“查违章”的操作,在检测该用户的具体操作时,还需要获取该动作与上一动作之间的时长,作为停留时长。
若在用户点击“去完成任务”与“查违章”的动作之间还存在“领取1积分”的动作,且“领取1几分”的动作与“查违章”的动作之间相隔10秒,与点击“去完成任务”的动作间相隔5秒,则可以确认“去完成任务”与“查违章”的动作之间相隔15秒,则该停留时长为15秒。
本实施例将通过埋点的方式精确的获取用户的动作、动作时长、前后两动作之间的相隔的时长写入kafka中,kafka具有高吞吐量、低延迟的优点,每秒可以处理几十万条消息,延迟最低只有几毫秒,可以实现快速处理埋点数据,达到对用户进行快速分类的目的,提高了数据处理的效率。
在一个实施例中,如图3所示,步骤204还包括:
步骤302,为每一用户的设置一个唯一用户ID。
步骤304,构建以用户ID为key值的数据表。
步骤306,根据用户ID收集用户行为,并将用户行为写入数据表,作为用户行为集。
步骤308,定时从数据表中删除预设时间之前的用户行为以更新用户行为集。
具体地,定义一个mapstate的数据结构,它是一个全局的哈希表,当读取到用户的一条用户行为数据,便会将这条行为数据加入到以该用户id为Key的值中(值是一个list结构的容器)。该数据表中保存有多个用户id以及用户id对应的用户行为数据。定时判断过期(超过3小时之前的数据)的用户行为数据并进行移除,降低服务端的数据存储量,因此我们可以从这个哈希表中取到所有用户近3个小时内的所有操作记录,作为用户行为集。
本实施例通过定时判断过期(超过3小时之前的数据)的用户行为数据并进行移除,降低服务端的数据存储量,提高了数据存储效率,以及数据对比的数据量,提高了对比速度。
在一个实施例中,如图4所示,在步骤206之前,还包括:
步骤402,检测事件筛选文本是否包括离线标签;
步骤404,若包括离线标签,则获取用户的用户离线标签,并对比用户离线标签与离线标签对用户进行筛选,得到筛选后的用户。
具体地,离线标签是事件触发条件中对用户的限定的条件标签,比如限定用户年龄20-30岁之间,性别为男等。若检测结果中包括以上的离线标签中任意一个,则需要根据离线标签对用户进行筛选。每一个用户所对应的除了行为流之外,还包括用户离线数据,用户离线数据中包括用户的离线标签,与用户进行映射,一般保存在离线数据库中,服务端若检测到事件筛选文本中存在离线标签,则会从离线数据库中获取用户的用户离线标签进行判断,看是否该用户符合离线标签的要求。比如用户的性别、年龄、籍贯、职业等用户的固有属性;若离线标签限定用户的性别为男,则只要整合用户离线数据中的用户离线标签对用户进行筛选,得到性别为男的用户的行为再进行是否满足事件触发条件的判断。通过本实施例提高了对用户筛选的精准度,减小行为数据对比的数量,提高了对比效率。
应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于flink的用户服务类别检测装置,该基于flink的用户服务类别检测装置与上述实施例中基于flink的用户服务类别检测方法一一对应。该基于flink的用户服务类别检测装置包括:
文本读取模块502,用于建立flink广播流,并通过广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,事件筛选文本中包括事件触发条件、行为事件;
行为集构建模块504,用于将通过页面埋点实时收集的用户行为写入kafka,并根据用户行为为每一用户生成用户行为集;
行为对比模块506,用于将用户的当前用户行为与事件触发条件进行对比,得到对比结果;
行为匹配模块508,用于若对比结果为当前用户行为满足事件触发条件,则将用户的用户行为集中的所有用户行为与事件筛选文本中的行为事件进行匹配,得到匹配结果;
标签生成模块510,用于若匹配结果为用户行为集中存在满足事件筛选文本的用户行为,则根据事件筛选文本为用户生成服务类型标签。
进一步地,行为集构建模块504,包括:
ID生成子模块,用于为每一用户的设置一个唯一用户ID;
数据构建子模块,用于构建以用户ID为key值的数据表;
行为收集子模块,用于根据用户ID收集用户行为,并将用户行为写入数据表,作为用户行为集;
行为集更新子模块,用于定时从数据表中删除预设时间之前的用户行为以更新用户行为集。
进一步地,行为对比模块506,包括:
第一ID获取子模块,用于获取当前用户行为的行为ID与事件触发条件的事件ID;
ID对比子模块,用于对比行为ID与事件ID是否一致,得到对比结果。
进一步地,在行为对比模块506之前,还包括:
标签检测子模块,用于检测事件筛选文本是否包括离线标签;
用户筛选子模块,用手若包括,则获取用户的用户离线标签,并对比用户离线标签与离线标签对用户进行筛选,得到筛选后的用户。
进一步地,行为匹配模块508,包括:
第二ID获取子模块,用于获取用户行为的行为ID与行为事件的事件ID;
行为匹配子模块,用于查询与行为事件的事件ID的相同,且顺序一致的行为ID对应的用户行为进行匹配。
上述基于flink的用户服务类别检测装置,通过为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于flink的用户服务类别检测方法。通过为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于flink的用户服务类别检测方法的步骤,例如图2所示的步骤202至步骤210,或者,处理器执行计算机程序时实现上述实施例中基于flink的用户服务类别检测装置的各模块/单元的功能,例如图5所示模块502至模块510的功能。为避免重复,此处不再赘述。通过为用户建立用户行为集,并判断收集到的当前用户行为是否满足事件筛选文本的事件触发条件,若满足则将用户行为集中的所有用户行为与事件筛选文本中的事件进行匹配操作,得到匹配结果。并根据匹配结果的类型为用户生成服务类型标签。解决了现有技术中分类的判断条件过于单一,无法满足复杂的用户行为数据的判断,造成对用户分类准确度不高的技术问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于flink的用户服务类别检测方法,其特征在于,所述方法包括:
建立flink广播流,并通过所述广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,所述事件筛选文本中包括事件触发条件、行为事件;
将通过页面埋点实时收集的用户行为写入kafka,并根据所述用户行为为每一用户生成用户行为集;
将用户的当前用户行为与所述事件触发条件进行对比,得到对比结果;
若所述对比结果为当前用户行为满足所述事件触发条件,则将所述用户的用户行为集中的所有用户行为与所述事件筛选文本中的行为事件进行匹配,得到匹配结果;
若所述匹配结果为所述用户行为集中存在满足所述事件筛选文本的用户行为,则根据所述事件筛选文本为所述用户生成服务类型标签。
2.根据权利要求1所述的方法,其特征在于,所述将通过页面埋点实时收集的用户行为写入kafka,包括:
获取用户点击和/或滑动页面元素的动作以及在所述页面元素上的停留时长,并根据所述动作、停留时长以及页面元素的编号生成用户行为写入kafka。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户行为为每一用户生成用户行为集,包括:
为每一用户的设置一个唯一用户ID;
构建以用户ID为key值的数据表;
根据所述用户ID收集用户行为,并将所述用户行为写入数据表,作为所述用户行为集;
定时从所述数据表中删除预设时间之前的用户行为以更新所述用户行为集。
4.根据权利要求3所述的方法,其特征在于,所述将用户的当前用户行为与所述事件触发条件进行对比,得到对比结果,包括:
获取当前用户行为的行为ID与所述事件触发条件的事件ID;
对比所述行为ID与所述事件ID是否一致,得到所述对比结果。
5.根据权利要求3所述的方法,其特征在于,所述将所述用户的用户行为集中的所有用户行为与所述事件筛选文本中的行为事件进行匹配,包括:
获取用户行为的行为ID与所述行为事件的事件ID;
查询与所述行为事件的事件ID的相同,且顺序一致的行为ID对应的用户行为进行匹配。
6.根据权利要求1所述的方法,其特征在于,在所述将用户的当前用户行为与所述事件触发条件进行对比之前,还包括:
检测所述事件筛选文本是否包括离线标签;
若包括所述离线标签,则获取用户的用户离线标签,并对比所述用户离线标签与所述离线标签对所述用户进行筛选,得到筛选后的用户。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述事件筛选文本为所述用户生成服务类型标签之后,还包括:
根据所述服务类型标签为所述用户生成服务类型。
8.一种基于flink的用户服务类别检测装置,其特征在于,包括:
文本读取模块,用于建立flink广播流,并通过所述广播流定时从预设数据库读取事件筛选文本,并解析为json文件,其中,所述事件筛选文本中包括事件触发条件、行为事件;
行为集构建模块,用于将通过页面埋点实时收集的用户行为写入kafka,并根据所述用户行为为每一用户生成用户行为集;
行为对比模块,用于将用户的当前用户行为与所述事件触发条件进行对比,得到对比结果;
行为匹配模块,用于若所述对比结果为当前用户行为满足所述事件触发条件,则将所述用户的用户行为集中的所有用户行为与所述事件筛选文本中的行为事件进行匹配,得到匹配结果;
标签生成模块,用于若所述匹配结果为所述用户行为集中存在满足所述事件筛选文本的用户行为,则根据所述事件筛选文本为所述用户生成服务类型标签。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010356623.8A 2020-04-29 2020-04-29 基于flink的用户服务类别检测方法、装置、计算机设备 Pending CN111666298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010356623.8A CN111666298A (zh) 2020-04-29 2020-04-29 基于flink的用户服务类别检测方法、装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010356623.8A CN111666298A (zh) 2020-04-29 2020-04-29 基于flink的用户服务类别检测方法、装置、计算机设备

Publications (1)

Publication Number Publication Date
CN111666298A true CN111666298A (zh) 2020-09-15

Family

ID=72383024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010356623.8A Pending CN111666298A (zh) 2020-04-29 2020-04-29 基于flink的用户服务类别检测方法、装置、计算机设备

Country Status (1)

Country Link
CN (1) CN111666298A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579408A (zh) * 2020-10-29 2021-03-30 上海钱拓网络技术有限公司 一种埋点信息的分类方法
CN112800047A (zh) * 2021-03-03 2021-05-14 百果园技术(新加坡)有限公司 用户关联数据处理方法、装置、设备和存储介质
CN113326292A (zh) * 2021-06-25 2021-08-31 深圳前海微众银行股份有限公司 一种数据流合并方法、装置、设备和计算机存储介质
CN116385102A (zh) * 2023-03-15 2023-07-04 中电金信软件有限公司 信息推荐方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729407A (zh) * 2017-09-26 2018-02-23 平安科技(深圳)有限公司 用户行为分析方法及服务器
WO2018192496A1 (zh) * 2017-04-20 2018-10-25 腾讯科技(深圳)有限公司 热度信息的生成方法和装置、存储介质以及电子装置
CN109740091A (zh) * 2018-12-26 2019-05-10 武汉大学 一种基于行为认知的用户网络行为的预测***及方法
CN109948077A (zh) * 2018-08-20 2019-06-28 平安普惠企业管理有限公司 用户行为数据采集方法、装置、设备和计算机存储介质
CN110147821A (zh) * 2019-04-15 2019-08-20 中国平安人寿保险股份有限公司 目标用户群体确定方法、装置、计算机设备及存储介质
WO2020079861A1 (ja) * 2018-10-15 2020-04-23 克秀 浅沼 イベント管理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018192496A1 (zh) * 2017-04-20 2018-10-25 腾讯科技(深圳)有限公司 热度信息的生成方法和装置、存储介质以及电子装置
CN107729407A (zh) * 2017-09-26 2018-02-23 平安科技(深圳)有限公司 用户行为分析方法及服务器
CN109948077A (zh) * 2018-08-20 2019-06-28 平安普惠企业管理有限公司 用户行为数据采集方法、装置、设备和计算机存储介质
WO2020079861A1 (ja) * 2018-10-15 2020-04-23 克秀 浅沼 イベント管理システム
CN109740091A (zh) * 2018-12-26 2019-05-10 武汉大学 一种基于行为认知的用户网络行为的预测***及方法
CN110147821A (zh) * 2019-04-15 2019-08-20 中国平安人寿保险股份有限公司 目标用户群体确定方法、装置、计算机设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579408A (zh) * 2020-10-29 2021-03-30 上海钱拓网络技术有限公司 一种埋点信息的分类方法
CN112800047A (zh) * 2021-03-03 2021-05-14 百果园技术(新加坡)有限公司 用户关联数据处理方法、装置、设备和存储介质
CN112800047B (zh) * 2021-03-03 2024-04-05 百果园技术(新加坡)有限公司 用户关联数据处理方法、装置、设备和存储介质
CN113326292A (zh) * 2021-06-25 2021-08-31 深圳前海微众银行股份有限公司 一种数据流合并方法、装置、设备和计算机存储介质
CN113326292B (zh) * 2021-06-25 2024-06-07 深圳前海微众银行股份有限公司 一种数据流合并方法、装置、设备和计算机存储介质
CN116385102A (zh) * 2023-03-15 2023-07-04 中电金信软件有限公司 信息推荐方法、装置、计算机设备及存储介质
CN116385102B (zh) * 2023-03-15 2024-05-31 中电金信软件有限公司 信息推荐方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111666298A (zh) 基于flink的用户服务类别检测方法、装置、计算机设备
CN109344170B (zh) 流数据处理方法、***、电子设备及可读存储介质
CN111782943A (zh) 基于历史数据记录的信息推荐方法、装置、设备及介质
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN111311136A (zh) 风控决策方法、计算机设备及存储介质
CN112613917A (zh) 基于用户画像的信息推送方法、装置、设备及存储介质
CN113254320A (zh) 记录用户网页操作行为的方法及装置
CN112286815A (zh) 一种接口测试脚本的生成方法及其相关设备
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN110807050B (zh) 性能分析方法、装置、计算机设备及存储介质
CN112307464A (zh) 诈骗识别方法、装置及电子设备
CN110336791B (zh) 一种断点数据传输方法、装置、设备及计算机存储介质
CN110659435A (zh) 页面数据采集处理方法、装置、计算机设备和存储介质
CN113595886A (zh) 即时通讯消息的处理方法、装置、电子设备及存储介质
CN117114909A (zh) 一种核算规则引擎构建方法、装置、设备及存储介质
CN115757075A (zh) 任务异常检测方法、装置、计算机设备及存储介质
CN115794545A (zh) 运维数据的自动化处理方法及其相关设备
CN111786991B (zh) 基于区块链的平台认证登录方法及相关装置
CN112069807A (zh) 文本数据的主题提取方法、装置、计算机设备及存储介质
CN115314404B (zh) 服务优化方法、装置、计算机设备及存储介质
CN116663003A (zh) 攻击检测方法、装置、计算机设备及存储介质
CN117407420A (zh) 数据构建方法、装置、计算机设备及存储介质
CN116263679A (zh) 数据处理方法、装置、计算机设备和存储介质
CN115080045A (zh) 链路生成方法、装置、计算机设备及存储介质
CN116796133A (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