用于分析网站服务请求的方法转让专利

申请号 : CN201910385264.6

文献号 : CN110266555B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 滕昭永

申请人 : 重庆八戒电子商务有限公司

摘要 :

本申请公开了一种用于分析网站服务请求的方法,其包括获取并存储网站分析的原始数据,并通过接口名称和对应项目等信息进行汇总,将请求根据接口名称进行汇总,接口名称再根据所属的项目进行汇总,最终得到某个项目的某个接口在某个时间段内的总的请求次数和接口请求耗时等数据;将经过加工后的数据封装成接口,分为请求总数、指定时间范围内请求耗时趋势提供给展示层调用,调用封装好的接口将最终结果呈现给用户。本申请能够更有利于对该项目进行性能和流量分析.对于开发人员来说,极大地提高了对接口请求的异常分析效率和准确性,更有利于对接口性能问题进行排查,在遇到异常报警时,能够帮助开发人员更快的解决导致出现警报的问题。

权利要求 :

1.一种用于分析网站服务请求的方法,其特征在于:该方法至少包括以下步骤,S1、获取原始服务请求数据,并将数据完整保存到数据库;

S2、对请求根据接口名称和所属项目进行分配汇总;

S3、分析请求的响应时间和类型;

S4、根据接口名称和项目名称统计请求总数和总耗时;

S5、将请求按照接口名和所属项目封装成接口;

S6、前端展示层调用封装好的接口,将最终结果呈现给用户;

步骤S3具体包括:利用大数据分析将所有接口的请求数据进行统计,分析每个请求的来源和去向,记录包括请求对应的接口名称,接口所属的项目名称,请求响应时间以及请求的类型;

所述步骤S3中分析每个请求的来源和去向,其中请求的来源表示该请求的上游地址,请求的去向表示该请求的下游地址;

所述步骤S4具体包括:将请求根据接口名称进行汇总,接口名称再根据所属的项目进行汇总,最终得到包括某个项目的某个接口在某个时间段内的总的请求次数和接口请求耗时数据;

所述步骤S3和/或中利用大数据分析对所有接口数据进行统计中的接口数据至少包括获取某个项目各个接口的总调用量,获取某个项目各个接口的平均耗时,获取某个项目各个接口的QPS/峰值QPS,获取某个项目各个接口的平均TOP50/最大TOP50,获取某个项目各个接口的平均TOP90/最大TOP90,获取某个项目各个接口的平均TOP95/最大TOP95,获取某个项目各个接口的平均TOP95/最大TOP99,获取某个项目各个接口的平均TOP999/最大TOP999,获取某个项目某接口的可用性趋势,获取某个项目某接口的调用量趋势,获取某个项目某接口的耗时趋势,获取某个项目某接口的QPS趋势,获取某个项目某接口QPS--50%耗时趋势,获取某个项目某接口QPS--90%耗时趋势,获取某个项目某接口QPS--99%耗时趋势,获取某个项目指定时间内的调用总量趋势,获取某个项目指定时间内的接口的QPS综述信息,获取某个项目指定时间内的性能指标面板的综述信息中的一个或多个;

其中,QPS表示对特定的查询服务器在规定时间内所处理流量多少的衡量标准;其中,TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数,N表示取值位数,N为大于0的正整数;其中,平均TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的平均值;其中,最大TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的最大值;其中,QPS--P%表示达到每秒查询率QPS的百分比P%时所需的时间,P表示百分比位数。

2.根据权利要求1所述的用于分析网站服务请求的方法,其特征在于,所述步骤S2具体包括:原始数据处理,根据请求数据分析请求的接口名,再根据接口名查询所属的项目名。

3.根据权利要求1所述的用于分析网站服务请求的方法,其特征在于,所述步骤S5具体包括:将经过加工后的数据封装成接口,分为请求总数、指定时间范围内请求耗时势提供给展示层调用。

4.根据权利要求1所述的用于分析网站服务请求的方法,其特征在于:所述步骤S1中所述的数据库采用Hbase。

5.根据权利要求1所述的用于分析网站服务请求的方法,其特征在于:所述步骤S1中获取原始服务请求数据的方法为通过数据采集探针采集应用服务的数据,并向数据库中进行写入操作。

6.根据权利要求2所述的用于分析网站服务请求的方法,其特征在于:所述步骤S2中对原始数据的处理过程是获取数据采集系统中接入项目所获取到的指标的分析结果,对所接入的数据采集系统的项目实现创建对应的需求分析模型,并将此模型ID提供给使用方,以供后续调用API使用。

7.根据权利要求3所述的用于分析网站服务请求的方法,其特征在于:所述步骤S5中的将经过加工后的数据封装成接口,接口需要提供项目名、接口名、环境、角色、事件范围中的一种或多种;所述环境包括测试环境、生产环境中的一种,所述角色指接口调用方、接口被调用方。

8.根据权利要求1所述的用于分析网站服务请求的方法,其特征在于:所述步骤S6中前端展示层调用封装好的接口,将最终结果呈现给用户中,前端展示层调用接口,用于通过选择接口中描述的任意字段作为筛选条件,然后查询到所需关注的请求数据,并分析请求数据。

9.根据权利要求8所述的用于分析网站服务请求的方法,其特征在于:所述前端展示层向用于呈现的结果包括查询开始时间、查询结束时间、显示的数据条数、慢请求的时长阀值中的一种或多种。

10.根据权利要求8所述的用于分析网站服务请求的方法,其特征在于:所述前端展示层设置有收藏夹,收藏夹至少可以保存查询条件。

说明书 :

用于分析网站服务请求的方法

技术领域

[0001] 本申请属于数据处理领域,具体地说,尤其涉及一种用于分析网站服务请求的方法。

背景技术

[0002] 随着社会科技水平的发展,互联网在人们的生活中扮演着越来越重要的角色,互联网与人们的生活息息相关。人们通过互联网获取信息的方法主要是通过架设在互联网上的不同类型的网站来实现的,通过上网设备,包括电脑、移动终端等,向网站发出服务请求,并通过网站反馈的内容来实现信息在上网设备上的接收和展示。
[0003] 不同用户的上网习惯和目的是不同的。互联网企业需要从访问信息中分析挖掘出用户的网络行为特点,为用户提供个性化的服务吸引用户,跟据用户活跃数对网站进行相应改进和升级。
[0004] 但是,传统的分析访问信息数据的方式在面对大数据时有着很多问题。例如,数据提取、转换和加载在处理大数据时,硬件开销过于庞大且性能一般,已经无法满足现在数据大爆炸时代的需求。
[0005] 因此,对网站的服务请求进行合理的分析,能够更好地便于网站管理者监控网站的运行状态和了解消费者的使用需求。但是,现有的网站服务请求一般通过各种监控工具来获取,这些监控工具虽然能够对各种各样的数据请求进行分析,但其分析的数据没有经过归纳整理,所有的数据没有经过分类就全部推送给分析人员,造成分析人员无法精确获取网站服务中某个接口的请求情况及某个接口的请求相应能力。

发明内容

[0006] 本申请的目的在于提供一种用于分析网站服务请求的方法,其能够精确定位某个接口的具体请求量以及请求耗时趋势变化的情况,并且能够通过前端层查看接口在某个时间段内请求的变化趋势,更有利于对该项目进行性能和流量分析。
[0007] 为达到上述目的,本申请是通过以下技术方案实现的:
[0008] 本申请中所述的用于分析网站服务请求的方法,该方法至少包括以下步骤:
[0009] S1、获取原始服务请求数据,并将数据完整保存到数据库;
[0010] S2、对请求根据接口名和所述项目进行分配汇总;;
[0011] S3、分析请求的响应时间和类型;
[0012] S4、根据接口名称和项目名称统计请求总数和总耗时;
[0013] S5、将请求按照接口名和所属项目封装成接口;
[0014] S6、前端展示层调用封装好的接口,将最终结果呈现给用户。
[0015] 进一步的,所述步骤S2具体包括:
[0016] 原始数据处理,根据请求数据分析请求的接口名,再根据接口名查询所属的项目名。
[0017] 进一步的,步骤S3具体包括:
[0018] 利用大数据分析将所有接口的请求数据进行统计,分析每个请求的来源和去向,记录请求对应的接口名称,接口所属的项目名称,请求响应时间以及请求的类型等。
[0019] 进一步的,所述步骤S4具体包括:
[0020] 将请求根据接口名称进行汇总,接口名称再根据所属的项目进行汇总,最终得到某个项目的某个接口在某个时间段内的总的请求次数和接口请求耗时等数据。
[0021] 进一步的,所述步骤S5具体包括:
[0022] 将经过加工后的数据封装成接口,分为请求总数、指定时间范围内请求耗时势提供给展示层调用。
[0023] 进一步的,所述步骤S1中所述的数据库采用Hbase。
[0024] 进一步的,所述步骤S1中获取原始服务请求数据的方法为通过数据采集探针采集应用服务的数据,并向数据库中进行写入操作。
[0025] 进一步的,所述步骤S2中对原始数据的处理过程是获取数据采集系统中接入项目所获取到的指标的分析结果,对所接入的数据采集系统的项目实现创建对应的需求分析模型,并将此模型ID提供给使用方,以供后续调用API使用。
[0026] 进一步的,所述步骤S3和/或中利用大数据分析对所有接口数据进行统计中的接口数据至少包括获取某个项目各个接口的总调用量,获取某个项目各个接口的平均耗时,获取某个项目各个接口的QPS/峰值QPS,获取某个项目各个接口的平均TOP50/最大TOP50,获取某个项目各个接口的平均TOP90/最大TOP90,获取某个项目各个接口的平均TOP95/最大TOP95,获取某个项目各个接口的平均TOP95/最大TOP99,获取某个项目各个接口的平均TOP999/最大TOP999,获取某个项目某接口的可用性趋势,获取某个项目某接口的调用量趋势,获取某个项目某接口的耗时趋势,获取某个项目某接口的QPS趋势,获取某个项目某接口QPS--50%耗时趋势,获取某个项目某接口QPS--90%耗时趋势,获取某个项目某接口QPS--99%耗时趋势,获取某个项目指定时间内的调用总量趋势,获取某个项目指定时间内的接口的QPS综述信息,获取某个项目指定时间内的性能指标面板的综述信息中的一个或多个;
[0027] 其中,QPS表示对特定的查询服务器在规定时间内所处理流量多少的衡量标准;
[0028] 其中,TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数,N表示取值位数,N为大于0的正整数;
[0029] 其中,平均TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的平均值;
[0030] 其中,最大TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的最大值;
[0031] 其中,QPS--P%表示达到每秒查询率QPS的百分比P%时所需的时间,P表示百分比位数。
[0032] 进一步的,所述步骤S3中分析每个请求的来源和去向,其中请求的来源表示该请求的上游地址,请求的去向表示该请求的下游地址。
[0033] 进一步的,所述步骤S5中的将经过加工后的数据封装成接口,接口需要提供项目名、接口名、环境、角色、事件范围中的一种或多种;所述环境包括测试环境、生产环境中的一种,所述角色指接口调用方、接口被调用方。
[0034] 进一步的,所述步骤S6中前端展示层调用封装好的接口,将最终结果呈现给用户中,前端展示层调用接口,用于通过选择接口中描述的任意字段作为筛选条件,然后查询到所需关注的请求数据,并分析请求数据。
[0035] 进一步的,所述前端展示层向用于呈现的结果包括查询开始时间、查询结束时间、显示的数据条数、慢请求的时长阀值中的一种或多种。
[0036] 进一步的,所述前端展示层设置有收藏夹,收藏夹至少可以保存查询条件。
[0037] 与现有技术相比,本申请的有益效果是:
[0038] 本申请中提供的用于分析网站服务请求的方法,其能够将请求按照对应项目以及对应的接口名称进行分类,并且可以分析项目中每个接口的请求次数和请求耗时进行统计分析,对于开发人员来说,极大地提高了对接口请求的异常分析效率和准确性,更有利于对接口性能问题进行排查,在遇到异常报警时,能够帮助开发人员更快的解决导致出现警报的问题。

附图说明

[0039] 图1是本申请中数据处理流程图。

具体实施方式

[0040] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0041] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
[0042] 实施例1:一种用来分析网站服务请求的方法,该方法至少包括以下步骤,[0043] S1、获取原始服务请求数据,并将数据完整保存到数据库;
[0044] S2、对请求根据接口名和所述项目进行分配汇总;;
[0045] S3、分析请求的响应时间和类型;
[0046] S4、根据接口名称和项目名称统计请求总数和总耗时;
[0047] S5、将请求按照接口名和所属项目封装成接口;
[0048] S6、前端展示层调用封装好的接口,将最终结果呈现给用户。
[0049] 可选的,所述步骤S2具体包括:
[0050] 原始数据处理,根据请求数据分析请求的接口名,再根据接口名查询所属的项目名。
[0051] 可选的,步骤S3具体包括:
[0052] 利用大数据分析将所有接口的请求数据进行统计,分析每个请求的来源和去向,记录请求对应的接口名称,接口所属的项目名称,请求响应时间以及请求的类型等。
[0053] 可选的,所述步骤S4具体包括:
[0054] 将请求根据接口名称进行汇总,接口名称再根据所属的项目进行汇总,最终得到某个项目的某个接口在某个时间段内的总的请求次数和接口请求耗时等数据。
[0055] 可选的,所述步骤S5具体包括:
[0056] 将经过加工后的数据封装成接口,分为请求总数、指定时间范围内请求耗时势提供给展示层调用。
[0057] 其中,其采用的存储原始服务请求数据的数据库采用Hbase数据库,Hbase数据库支持数据的读取和写入。Hbase数据库的写入是通过数据采集探针来采集与写入的。且对写入Hbase数据库的数据通过所需要创建的模型的需求来调用的,并将此模型的ID来提供给使用方,以供后续的API调用使用。
[0058] 其中,所述步骤S3和/或中利用大数据分析对所有接口数据进行统计中的接口数据至少包括获取某个项目各个接口的总调用量,获取某个项目各个接口的平均耗时,获取某个项目各个接口的QPS/峰值QPS,获取某个项目各个接口的平均TOP50/最大TOP50,获取某个项目各个接口的平均TOP90/最大TOP90,获取某个项目各个接口的平均TOP95/最大TOP95,获取某个项目各个接口的平均TOP95/最大TOP99,获取某个项目各个接口的平均TOP999/最大TOP999,获取某个项目某接口的可用性趋势,获取某个项目某接口的调用量趋势,获取某个项目某接口的耗时趋势,获取某个项目某接口的QPS趋势,获取某个项目某接口QPS--50%耗时趋势,获取某个项目某接口QPS--90%耗时趋势,获取某个项目某接口QPS--99%耗时趋势,获取某个项目指定时间内的调用总量趋势,获取某个项目指定时间内的接口的QPS综述信息,获取某个项目指定时间内的性能指标面板的综述信息中的一个或多个。
[0059] 其中,QPS表示对特定的查询服务器在规定时间内所处理流量多少的衡量标准;
[0060] 其中,TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数,N表示取值位数,N为大于0的正整数;
[0061] 其中,平均TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的平均值;
[0062] 其中,最大TOPN表示某个项目的某个接口在某个时间段内的总的请求次数排名前N的次数的最大值;
[0063] 其中,QPS--P%表示达到每秒查询率QPS的百分比P%时所需的时间,P表示百分比位数。
[0064] 其中,所述步骤S3中分析每个请求的来源和去向,其中请求的来源表示该请求的上游地址,请求的去向表示该请求的下游地址。所述步骤S5中的将经过加工后的数据封装成接口,接口需要提供项目名、接口名、环境、角色、事件范围中的一种或多种;所述环境包括测试环境、生产环境中的一种,所述角色指接口调用方、接口被调用方。所述步骤S6中前端展示层调用封装好的接口,将最终结果呈现给用户中,前端展示层调用接口,用于通过选择接口中描述的任意字段作为筛选条件,然后查询到所需关注的请求数据,并分析请求数据。所述前端展示层向用于呈现的结果包括查询开始时间、查询结束时间、显示的数据条数、慢请求的时长阀值中的一种或多种。所述前端展示层设置有收藏夹,收藏夹至少可以保存查询条件。
[0065] 本申请的目的在于提供一种用于分析网站服务请求的方法,其能够对系统监控所产生的若干信息进行有效的归纳整理,便于系统管理人员及时掌握相应的监控信息。
[0066] 具体来讲,在本申请中,所述的监控是通过数据采集探针采集应用服务的数据,并且该采集到的数据写入到Hbase数据库中,Hbase数据库能够对上述获取的监控数据(应用服务的数据)进行存储。该存储包括本地存储和云端存储。
[0067] 当需要对存储在Hbase数据库中的数据进行分析时,需要先通过请求数据分析请求的接口名称,并且根据接口名称查询到所属的项目名。也就是说,本申请中所述的数据整理是通过其接口名称进行分类的,接口名称与对应的项目事件对应。
[0068] 在对上述数据进行分析时,将所有接口的请求数据进行统计,并且同时对每个请求的来源和去向进行统计,将上述统计数据中的接口名称、接口名称对应的项目名称、发起请求的开始事件、结束事件以及相应该请求的事件、请求的类型等信息,生成大数据,并且将该大数据存储以便后续监控人员的调用。
[0069] 将上述加工完成后的数据进行封装,并且留有供他人或者端口调用的接口,分为请求总数、指定事件范围、请求耗时趋势等,上述封装后的信息经过展示层的调用接口实现展示,用于根据自己的需求在展示层选择对应的类型进行相关信息的查看。
[0070] 在本申请中,所述的接口数据包括接口名称、各个接口名称的调用总量、各个接口的平均耗时、各个接口的QPS以及对应的峰值QPS、在同一个项目中接口的调用量前50位、某个接口的可用性趋势、某个接口的调用趋势、某个接口的耗时趋势、某个接口的QPS趋势、某个项目下指定时间段内的调用总量趋势、指定时间段内的接口QPS综合信息等,上述信息经过封装后以展示层的方式向使用者提供项目名、接口名、环境、角色、事件范围中的一种或多种,展示层可以通过上述多个选项或者单一选项的组合或选择来实现向使用者展示不同的信息,并可将上述展示的信息在展示层进行存储,以便于后续人员的使用和直接浏览。
[0071] 本申请中提供的用于分析网站服务请求的方法,其能够将请求按照对应项目以及对应的接口名称进行分类,并且可以分析项目中每个接口的请求次数和请求耗时进行统计分析,对于开发人员来说,极大地提高了对接口请求的异常分析效率和准确性,更有利于对接口性能问题进行排查,在遇到异常报警时,能够帮助开发人员更快的解决导致出现警报的问题。
[0072] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。
[0073] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。