00:00
接下来我们就可以基于前面的一些分析判断,对于当前的项目做一个整体的规划了啊,那当前的项目呢,我们主要整整个模块的设计,就有两大模块,呃,就整个分类的话,一大模块就是实时的统计分析,对吧?呃,就类似于我们要呃有一些这些统计指标,统计需求,然后就就类似于从里边去提取啊,做做统计计算得到结果就可以了,实时的得到结果,然后另外还有一大类,那就是业务流程的控制了,这就是我们说的风控类的指标了,那具体来看的话,大家看有哪些指标呢?那就是统计分析这一部分,大家看主要就是有一些实时的热门统计,那这个就属于类似于top n了,Top n的一个需求对吧?另外还有就是实时的一些访问流量统计,PVUV对吧,类似于这些啊,日活其实也类似于是这样的一个相关的一个指标,对吧,我们这里边就不区分开,再去做更多的扩展了,那另外还有什么呢?比方。
01:00
比方说我们APP市场推广的时候,不同的推广渠道到底推广这个,呃推广出多少这个点击量下载量呢,也可以做统计对吧,实时统计这个都可以做到,另外还有一个常见的就是页面的广告点击量统计,这个都可以做到,然后接下来还有就是风控类的,风控类大家知道就是跟登录相关对吧,跟跟这个订单相关啊,那这里边我们主要是有一个就是大家会想到有一个刷单行为,我们这里边呢,呃,没有订单,那边的数据没那么多,所以说没办法做这个刷单,那我们结合前面的这个广告点击,给大家来做一个广告的黑名单过滤,那这个相当于也就是类似于刷单行为了啊,就是假如说一个用户啊,或者说我们检测到呃,某一个某一个广告被同一个用户点,点的次数特别多,对吧,短时间内点的特别多,我们就认为它类似于一个刷单行为啊,所以我们检测出来把它做一个报警提示,而且要把这个对应的这个做一个黑名。
02:00
单过滤对吧,把这个用户塞到黑名单里边做一个报警啊,这个这个应用我们就作为风风控类的一个指标放在这里,另外还有就是恶意登录,连续恶意的登录失败,对吧?我们检测出来要要做报警,还有就是说订单相关的一订单相关的呢,就是一个是订单超过一段时间之后,应该有一个失失效的一个操作,对吧?大家可能觉得传统来讲的话,我都应该是放在这个业务数据库里边做这个事情吧,现在我们就相当于把这部分功能剥离出来,然后用大数据实时流处理的大数据这个框架帮我们实现这个功能了。另外呢,还有一个就是实时对账,大家可能知道就是我们这里边做操作的时候,你这边做一个交易,哎,那可能另外我们在那个平台账户里边,应该还有一个一个数据,应该得给它对上,对吧,它就是有一个对账,相当于盘点结算的一个一个过程,那我们说银行银行业之前它都是到每一天晚上的时候才能做这个。
03:00
对照嘛,我们现在直接用flink做一个实时对照啊,这就是我们具体的一些呃拈块的设计啊,然后如果再细划分一下的话,两大类统计类指标和这个风控类指标呢,具体我们里边的这个小的指标的设计呢,又有这么啊,大家看统计一下的话,应该是有这样的九个指标对吧?呃,那首先有一个热门商品的top n的统计,另外流量统计这一部分呢,我们分开啊,这个叫热门页面的统计,这个其实也是一个top n网啊,然后另外还有PVUV分别去做一个统计,那后面这个市场营销类的指标呢,那就涉及到APP市场推广,还有页面广告的分析,对吧?这是市场市场营销类,另外还有一个模块,恶意登录啊,登录模块,我们主要就统计这个恶意登录的风险控制,还有一类呢,是订单相关的这个模块,哎,我们就把把它这个超时失效和实时对账都在这个模块里面做一个实现。
04:00
所以最终是两大类指标,然后五大模块九个具体的指标啊,这是我们当前的这个用户行为分析项目的具体的一个设置,然后另外还有就是我们看一下当前用到的数据源,我们用到的数据源其实也整体来讲比较简单啊,就是用户的行为数据主要就放在了这样一个user behavior csv文件里边,当然对于这个实际的场景而言啊,既然是做流处理,实时处理,其实应该是数据源源不断的来,对吧?啊,放到这个卡夫卡里边,然后从卡夫卡里边读进来,但是我们这里边,因为这个你要那么去产生数据的话,得有真实的系统才行,我们这里边呢,还是把这个已经收集好的数据放在了文件里边啊,那后续我们做测试的时候,可以在街上卡夫卡给大家做这个实时的测试啊,那这里边的数据呢,是真实的一个电商的行为数据,而且已经做过ETL之后。
05:00
的一个状态,大家看CSV文件吧,逗号分割对吧?那这里边有几个对应的字段,这个字段分别表示什么含义呢?哎,这个后面我们再具体来分析啊,然后另外还有一个主要的数据来源是服务器日志,因为大家想有时候,哎,我这里边用户行为数据,这应该是从哪儿能收集得到呢?那正常来讲应该是我们业务系统的那个买点日志对吧?啊,你不管是前端买点还是后台买点,那应该都是我们的日志系统里面收集到的这个数据,做ET把它提取出来,那假如说有时候我我这个收集不到这个买点日志呢,对吧?我业务系统里面就没做这个事儿呢,能不能做后续的这个分析呢?哎,其实也可以,那但是巧妇难为无米之炊嘛,那我总得有一个数据来源啊,我可以收集哪里的数据呢?直接收集我们web服务器的日志,这也是一个访问的一个数据啊,啊对吧,就相当于呃,某一个IP,大家看这个用户就可以用IP来代替了,对吧。
06:00
呃,它这个收集起来这个日志的格式就类似于这样的某一个IP,后面这两个横杠本来应该是用户ID和用户内容对吧?哎,那我们这里边你没有登录过的话,这里边可能它收集不到啊,然后这里边,呃,后面就来一个时间戳对吧?还有这个时区后面是get请求还是posts请求,后面是一个URL,所以我们通过这样的一个数据也可以代表,比方说我们访问流量要判断的时候用它也可以,对吧?诶,你判断这个用户对于某一个商品是否做了一次点击,做了一次浏览,也可以用它来判断,所以这就是退而求其次的一种方法啊,大家也可以掌握一下,那当然了,后面还有一些像风控类的指标,那些数据可能我们没有对应的,在这里边能提取出来的数据,那就只好自己生成测试数据源,对吧,或者说我们自己定义一些测试,测试数据啊,有一些测试文件啊,这个大家就是后面直接看一下数据格式就可以了,那具体来说的话,User behavior里边这里边的几个。
07:00
段分别代表什么含义呢?诶,我们可以把它包装成这样的一个数据类型user behavior对吧?这里边主要就是第一个是一个长景型的user ID,加密后之后的uz ID对吧,哪个哪个用户,然后呢,既然是用户行为嘛,我们这里边收集到主要是他的对商,对于商品的一些浏览操作的一些行为,对吧?这里边item ID,那是商品ID,后面还有一个category ID,这是商品的类别ID,然后这里还稍有不同,这个是个int,这个是个浪,对吧?啊,当然这个无所谓啊,你把后面这个定义成浪也是一样的,然后后面还有一个behavior啊,大家看到这里边的这个第四个字段PV,这代表用户的一个浏览行为啊,所以这是一个string类型,它的类型这里边收集的比较少啊,就只有这么四种,就是PVBY,还有这个cut收藏夹对吧?呃,这个添加到收收,呃,那个购物车啊,添加到购物车或者说收藏夹,还有一个这个费物就是喜欢对吧,类似于like一样的行为。
08:00
然后最后还有一个时间戳,大家看最后这个看着就像时间戳对吧,已经做过ETL转换,就是一个以秒为单位,大家看这是十位啊,以秒为单位的一个时间戳,好,那同样后边我们如果要是服务器日志这么提取的话,相当于自己还得做一个ETL对吧?哎,那我ETL之后得到的数据类型,比方说我这里边叫阿帕奇服务器日志的一个event,那这里边有一个IP对吧?然后可能关心的还有一个uz ID啊,没有的话,这里边就就可以给一个空嘛,那如果要空的话,大家可能想到这个类型可能给一个string比较好一点啊,然后下面还有访问时间,大家看这里边如果给一个浪的话,那就应该已经要转换成时间戳了,不能是前面这里边这样一个形式了,对吧,呃,年月年年月日十分秒的这个形式了,那后面还有这个对应的method访问方法,还有URL,这就是我们要面对的数据,然后从这些数据里边,然后我们要提取对应的。
09:00
呃,想要的那些字段,然后做分析、判断、处理,实现我们想要的这五大模块,九大需求,好,这就是接下来我们要做的内容。
我来说两句