一种机票搜索流量异常的检测方法与流程

文档序号:22577723发布日期:2020-10-20 16:49阅读:215来源:国知局
一种机票搜索流量异常的检测方法与流程

本发明属于机票查询技术领域,具体涉及一种机票搜索流量异常的检测方法。



背景技术:

目前,在多数机票购买平台上,机票搜索的流量一般来自多个渠道,如手机客户端,网页端,微信端等。由于系统出错或遭到黑客攻击,经常出现一个或多个渠道的流量在某一时段急剧增大或减小的现象。系统出错的原因很多,如代码bug、网络、服务器资源异常等等。当发生错误时,产生的结果可能是搜索请求得不到及时返回,不断地重复发起请求,导致流量产生较大增加;也可能是搜索请求达不到后端,导致流量减少。遭受攻击的情况最可能的就是有第三方利用爬虫技术来获取航线航班数据,不断地发起各种搜索请求,导致流量增大。流量的异常增大并不会带来额外的订单量,相反可能影响正常用户的购票;特别是被爬虫爬取数据,几乎无法带来订单转化订单减少收益就会减少,流量增大却没有带来更多的订单就会造成资源浪费。

对于流量产生较大变化的情况,工作人员需要确认其原因,判断是否为系统错误或是遭受攻击等,以避免资源的浪费。



技术实现要素:

为了解决现有技术中存在的上述问题,本发明提出一种机票搜索流量异常的检测方法。

为实现上述目的,本发明采用如下技术方案:

一种机票搜索流量异常的检测方法,包括以下步骤:

步骤1,从流量日志的搜索请求中获取请求时间及请求来源即渠道;

步骤2,选取第一时段,将第一时段划分成n个区间,统计每个渠道在每个区间内的请求次数,得到每个渠道的请求数据xi={xi-1,xi-2,…,xi-n},i=1,2,…,m,m为渠道总数;

步骤3,选取起止时刻与第一时段均相同的第二时段,将第二时段划分成与第一时段相同的n个区间,统计每个渠道在每个区间内的请求次数,得到每个渠道的请求数据yi={yi-1,yi-2,…,yi-n};

步骤4,分别针对第一时段和第二时段计算任意两个渠道请求数据的相关系数r(xi,xj)和r(yi,yj),并计算差值δr(i,j)=|r(xi,xj)-r(yi,yj)|,1≤i<j≤m;

步骤5,分别统计大于设定阈值的δr(i,j)中各个渠道i、j出现的次数,出现次数最多的k个渠道为异常渠道,k≧1。

与现有技术相比,本发明具有以下有益效果:

本发明通过从流量日志中的搜索请求中获取渠道参数,选取第一时段,将第一时段划分成n个区间,统计每个渠道在每个区间内的请求次数,得到第一时段每个渠道的请求数据,按照相同方法得到第二时段每个渠道的请求数据,分别针对第一时段和第二时段计算任意两个渠道请求数据的相关系数r(xi,xj)和r(yi,yj),并计算二者差的绝对值δr(i,j),分别统计大于设定阈值的δr(i,j)中各个渠道i、j出现的次数,出现次数最多的k个渠道为异常渠道,实现了异常渠道的自动检测。本发明能够基于流量日志中的搜索请求数据自动检测发生异常的渠道,有助于业务人员及时发现并采取措施,避免资源的浪费。

附图说明

图1为本发明实施例一种机票搜索流量异常的检测方法的流程图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

本发明实施例一种机票搜索流量异常的检测方法,流程图如图1所示,所述方法包括以下步骤:

s101、从流量日志的搜索请求中获取请求时间及请求来源即渠道;

s102、选取第一时段,将第一时段划分成n个区间,统计每个渠道在每个区间内的请求次数,得到每个渠道的请求数据xi={xi-1,xi-2,…,xi-n},i=1,2,…,m,m为渠道总数;

s103、选取起止时刻与第一时段均相同的第二时段,将第二时段划分成与第一时段相同的n个区间,统计每个渠道在每个区间内的请求次数,得到每个渠道的请求数据yi={yi-1,yi-2,…,yi-n};

s104、分别针对第一时段和第二时段计算任意两个渠道请求数据的相关系数r(xi,xj)和r(yi,yj),并计算差值δr(i,j)=|r(xi,xj)-r(yi,yj)|,1≤i<j≤m;

s105、分别统计大于设定阈值的δr(i,j)中各个渠道i、j出现的次数,出现次数最多的k个渠道为异常渠道,k≧1。

在本实施例中,步骤s101主要用于获取搜索请求的时间和渠道。流量日志中记录了搜索请求信号的时间及请求来源,也就是渠道,比如微信端、手机客户端等。除搜索请求参数之外,流量日志还有其它许多业务人员记录的各类参数,这些参数主要是用来排查问题,或是用作统计。本实施例只关心请求来源即渠道和请求次数。日志的条数即可代表请求次数,请求来源包含在请求参数里。渠道参数是用约定的字符串表示,用来表示搜索请求来自哪里,如“hbgj”表示航班管家app。下面给出一个具体的流量日志:

2020-06-2909:58:56-analysesourceentry=gwc_r_3_2_6_3_4&channelcode=hbgj&date=2020-07-01&dst=nkg&from=hbgj&org=cqs_c&p=bchwzhihuiyun,android.9,hbgj,7.8.2,vky-al00&st=6&traceid=01ab5a63f3827001&transfer_msg=28,200&triptype=tb&uid=218898645043328&userid=109443828&xxxid=bky27894

其中的“from=hbgj”表示这个请求的渠道参数为“hbgj”,即搜索请求来自航班管家app。

在本实施例中,步骤s102主要用于统计选取的第一时段内各渠道的请求数据。首先,选取第一时段。选取的时段一般是一天中的一个时间段,比如从上午09:00到夜间23:00,也可以是一整天,如从00:00到24:00。当然也可以是跨天的,如晚上20:00到第二天早晨08:00。然后,将所选时段划分成n个区间。这n个区间的长度可以是相等的,也可以是不等的,比如间隔长度构成等差数列。最后,统计每个渠道在每个区间内的请求次数,得到每个渠道的请求数据,比如,第i个渠道请求数据为xi={xi-1,xi-2,…,xi-n},xi-n为第i个渠道在第n个区间的请求次数。

在本实施例中,步骤s103主要用于统计选取的第二时段内各渠道的请求数据。由于渠道的请求次数与时间是紧密相关的,比如工作日每天同一时段内同一渠道的请求次数近似相等,因此第二时段的起止时间应该与第一时段相同,区间划分也相同,相当于第一时段在不同日期的一个copy。第二时段与第一时段可以是相邻的两个日期,也可以是不相邻的两个日期,比如相邻的两个周一。选取时应遵循的原则是:一是这两个时段的特点一定要尽量接近,比如,不能一个是节假日,一个是工作日;二是相隔的日期要尽量近,比如最好能够是相邻两个日期。为了提高检测精度,还可以采用多个时段同一渠道请求数据的平均值作为一个时段的请求数据。第二时段第i个渠道请求数据记为yi={yi-1,yi-2,…,yi-n}。

在本实施例中,步骤s104主要用于计算不同渠道请求数据的相关性及不同时段相关性的变化量。首先,针对两个时段分别计算任意两个渠道请求数据的相关系数,比如第一时段第i个渠道请求数据xi与第j个渠道请求数据xj的相关系数r(xi,xj)。根据排列组合原理,每个时段都有个相关系数。因为r(xi,xj)=r(xj,xi),所以取1≤i<j≤m。正常情况下r(xi,xj)与r(yi,yj)应该比较接近,当第i个渠道或第j个渠道出现异常时,r(xi,xj)与r(yi,yj)的差值将会突变,因此可以通过考察差值δr(i,j)=|r(xi,xj)-r(yi,yj)|的大小判断出现异常的渠道,这就是本实施例检测异常渠道的原理。相关系数可以利用皮尔逊相关系数的计算公式进行计算。

在本实施例中,步骤s105主要用于确定异常渠道。由于异常渠道可能多于一个,而且只根据δr(i,j)异常无法确定i和j哪个渠道异常,为此,本实施例采取了如下方法:将δr(i,j)与设定的阈值进行比较,统计大于所述阈值的δr(i,j)中的渠道i、j(第i、j个渠道)出现的次数,出现次数最多的k个渠道为异常渠道。比如,大于所述阈值的δr(i,j)为δr(1,3)、δr(1,4)、δr(2,4)、δr(3,4)、δr(1,5),第1、2、3、4、5渠道出现的次数分别为3、1、2、3、1,如果k=2,则第1、4渠道为异常渠道。为了提高检测精度,也可以对次数进行加权求和。由于δr(i,j)的值越大,渠道i或j是异常渠道的可能性也越大,因此,加权系数就是包含所统计渠道的δr(i,j)值。比如,如果δr(i,j-1)、δr(i,j-2)、…、δr(i,j-l)均大于所述阈值,则第i个渠道出现次数由l个改为:

作为一种可选实施例,所述渠道包括:微信端,手机端,网页端。

本实施例给出了几种具体的搜索请求渠道。微信端、手机端和网页端等都是常见的搜索请求渠道。渠道参数是以约定的字符串表达的,如:wexin(微信端);web(网页端);手机客户端,如hbgj(航班管家app),gtgj(高铁管家app)等。还有许多有特殊用途的请求,如calendar(价格日历,刷新数据需求),fenxiao(分销商的请求),recommend(机票推荐需要获取各类航线航班数据)等等。

作为一种可选实施例,第一时段起于08:00,止于18:00,等分成10个区间;第二时段滞后第一时段24小时。

本实施例给出了第一时段和第二时段的一种具体划分方法。值得说明的是,本实施例只是给出一种具体实例,以供参考,并不排斥和限制其它可行的选取方法。

作为一种可选实施例,r(xi,xj)的计算公式如下:

本实施例给出了计算任意两个渠道请求数据的相关系数的公式。本实施例采用的是皮尔逊积矩相关系数,简称皮尔逊相关系数,用于度量两个变量之间的相关程度,其值介于-1与1之间,大于0为正相关,小于0为负相关。

上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1