跟踪网络请求的方法、装置、计算机设备和存储介质与流程

文档序号:17757361发布日期:2019-05-24 21:24阅读:259来源:国知局
跟踪网络请求的方法、装置、计算机设备和存储介质与流程

本发明涉及到数据处理的技术领域,特别是涉及到一种跟踪网络请求的方法、装置、计算机设备和存储介质。



背景技术:

网络请求(http请求)是指从客户端到服务器端的请求消息,服务端根据请求信息响应客户端的请求。目前,多数公司后端关联的子系统较为众多,而客户端一个网络请求可能会涉及到多个子系统的相互调用才能完成响应,当想要知道完成网络请求的过程,由于调用的子系统较多,导致跟踪该网络请求的难度也增大,现有技术中一般通过用户ip来跟踪,不但精度低容易异常且效率慢。另一方面,当网络请求出现问题时,调用子系统的增多就导致了在排查网络问题的时候难度增大,现在排查过程一般只依据用户ip和请求的大概时间来排除,但是通过用户ip和请求时间从服务端日志进行排查,例如同一个用户,在相隔不久的时段内多次请求,如果其中一次请求异常,那么通过用户ip和请求的大概时间进行排查不但工作量大效率慢,且很容易出错。



技术实现要素:

本发明的主要目的为提供一种对网络请求跟踪精准且效率快的跟踪网络请求的方法、装置、计算机设备和存储介质。

本发明提出一种跟踪网络请求的方法,包括:

接收用户发送的网络请求,并触发生成指令;

依据所述生成指令生成对应所述网络请求的请求标识码;

将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;

依据所述目标网络请求调用多个不同的子系统;

将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

进一步,所述依据所述目标网络请求调用多个不同的子系统的步骤,包括:

依据所述目标网络请求按一定顺序依次调用多个不同的所述子系统,其中,在调用过程中,当通过前一个所述子系统处理所述目标网络请求时,生成响应请求,依据所述响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应所述目标网络请求,且每次调用子系统的事件以及所述请求标识码均记录在对应的子系统日志中。

进一步,所述依据所述生成指令生成对应所述网络请求的请求标识码的步骤,包括:

依据所述生成指令获取所述网络请求的请求信息;

将所述请求信息通过md5算法计算得到对应所述网络请求的md5值;

在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码。

进一步,所述在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码的步骤,包括:

获取对应所述网络请求的请求时刻;

将所述请求时刻添加至所述md5值的结尾处,以形成所述请求标识码。

进一步,所述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:

接收用户上报的对应所述目标网络请求的异常信息,所述异常信息为用户在发送所述网络请求后接收到所述网络请求执行异常的反馈信息;

依据所述异常信息找到所述目标网络请求;

依据所述目标网络请求获取所述请求识别码;

依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

进一步,所述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:

获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息;

依据所述网络异常信息获取所述目标网络请求;

依据所述目标网络请求获取所述请求识别码;

依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

进一步,所述获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息的步骤,包括:

判断所述监控平台监控到所述目标网络请求的异常率是否大于预设阀值,所述异常率为所述目标网络请求的异常环节占所有环节的比值;

若是,则获取对应所述目标网络请求的网络异常信息

本发明还提供一种跟踪网络请求的装置,包括:

接收请求单元,用于接收用户发送的网络请求,并触发生成指令;

生成识码单元,用于依据所述生成指令生成对应所述网络请求的请求标识码;

加入识码单元,用于将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;

调用系统单元,用于依据所述目标网络请求调用多个不同的子系统;

记录日志单元,用于将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明的有益效果为:在网络请求发起时生成对应的唯一请求识别码,在调用子系统时,将该请求识别码记录在各子系统的日志中,通过请求识别码可对当前网络请求进行全链路追踪,当网络请求出现问题,排查问题时只需要依据请求识别码从各子系统日志中查看对应的网络请求的信息,即可清晰的定位了问题发生的环节,方便快捷。

附图说明

图1为本发明一实施例中跟踪网络请求的方法的步骤示意图;

图2为本发明一实施例中跟踪网络请求的装置的结构示意框图;

图3为本发明一实施例的计算机设备的结构示意框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,本实施例中的跟踪网络请求的方法,包括:

步骤s1:接收用户发送的网络请求,并触发生成指令;

步骤s2:依据所述生成指令生成对应所述网络请求的请求标识码;

步骤s3:将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;

步骤s4:依据所述目标网络请求调用多个不同的子系统;

步骤s5:将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

如上述步骤s1所述,上述网络请求即为http请求(指从客户端到服务器端的请求消息),该网络请求由用户从客户端发出,例如用户在客户端的某个app向服务端发出人脸识别请求,当服务端接收到该人脸识别请求,则触发生成指令,该生成指令用于生成请求标识码(requestid),在步骤s2中,执行上述生成指令,从而生成对应上述网络请求的请求标识码,具体生成方式可以将网络请求数据通过md5算法(messagedigestalgorithmmd5,消息摘要算法第五版)来生成,每一个网络请求均可对应唯一的一个请求标识码。

如上述步骤s3所述,生成上述请求标识码之后,将该请求标识码加入到对应的网络请求的请求头中,并将该加入请求标识码的网请求记为目标网络请求,具体的说,每个网络请求均至少包括请求头和请求体,其中请求头包括请求方法、版本、使用的协议等信息,请求体包括服务端的参数、请求内容等信息,本实施例中,将请求标识码加入到请求头中,使得该网络请求在请求过程中一直携带该请求标识码。

如上述步骤s4所述,上述目标网络请求调用多个不同的子系统,可以理解的是,一个从客户端发出的网络请求,服务端要完成该网络请求,可能需要调用多个不同的子系统,举例地:业务流程比较复杂的公司,其服务端每个子系统会负责业务流程的一个模块,而完成整个业务流程会涉及到多个子系统的调用,所以一个网络请求从客户端发起会经过多个子系统调用后才能得到最终的返回结果,如上述例子中的人脸识别请求,服务端完成该请求可能需要调用后端数据系统、rm系统、上传图片的隐线平台系统等,经过这些系统的处理才能得到最终的结果,然后才返回请求结果。

如上述步骤s5所述,上述目标网络请求调用各子系统的事件都会分别记录在对应的子系统日志中,即上述子系统处理目标网络请求的过程都会记录在子系统的日志,同时该网络请求的信息(如上述请求头和请求体的信息)对应上述事件也会被记录在子系统的日志中,因而上述请求标识码也可在子系统日志中找到。另外,如果上述网络请求在请求过程中通过cdn(contentdeliverynetwork,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络),那么也会生成对应的cdn日志,该cdn日志也记录有对应的请求事件以及网络请求的信息。

由于上述各子系统、cdn日志中记录有网络请求的请求识别码,所以跟踪该网络请求时,依据对应的请求识别码即可进行全网跟踪,当知道该网络请求出现错误时,可以通过请求识别码在子系统日志、cdn日志中找出该网络请求在各子系统、cdn中的信息,从而找异常误的地方,便利快捷。

在一个实施例中,上述步骤s4,包括:

步骤s40:依据所述目标网络请求按一定顺序依次调用多个不同的所述子系统,其中,在调用过程中,当通过前一个所述子系统处理所述目标网络请求时,生成响应请求,依据所述响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应所述目标网络请求,且每次调用子系统的事件以及所述请求标识码均记录在对应的子系统日志中。

本实施例中,上述多个不同的子系统中,并不限制个数,可依据目标网络请求需要而调用,具体而言,可先依据目标网络请求按一定顺序调用子系统,如先调用当前需要的子系统,然后通过该子系统处理之后,若还需要另一子系统进一步处理,可以依据生成的响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应上述目标网络请求,当然,在调用处理的过程中,每次调用子系统的事件以及请求标识码均记录在对应的子系统日志中。

例如,上述多个不同的子系统包括第一子系统、第二子系统以及第三子系统,则上述步骤s4,包括:

步骤s41:依据所述网络请求调用所述第一子系统,并通过所述第一子系统响应所述网络请求以生成第一响应请求,所述第一子系统对应的第一子系统日志中记录有所述网络请求调用所述第一子系统事件以及所述请求标识码;

步骤s42:依据所述第一响应请求调用第二子系统,并通过所述第二子系统响应所述第一响应请求以生成第二响应请求,所述第二子系统对应的第二子系统日志中记录有依据所述第一响应请求调用第二子系统事件以及所述请求标识码;

步骤s43:依据所述第二响应请求调用第三子系统,并通过所述第三子系统响应所述第二响应请求,所述第三子系统对应的第三子系统日志中记录有依据所述第二响应请求调用第三子系统事件以及所述请求标识码。

本实施例中,上述网络请求调用的子系统有三个,分别为第一子系统、第二子系统以及第三子系统,具体而言,上述网络请求需要通过第一子系统、第二子系统以及第三子系统处理才能得到响应结果,首先依据网络请求调用第一子系统,而第一子系统完成上述网络请求的请求内容需要用到第二子系统,这时会依据第一响应请求调用第二子系统来处理,而第二子系统完成上述请求内容需要通过第三子系统,这时会依据第二响应请求调用第三子系统来处理,从而通过该三个子系统相互协调处理完成上述网络请求,得到响应结果。而且,在调用第一子系统时,第一子系统从网络请求的的请求头中获取到上述请求识别码,调用第二子系统时,第二子系统从第一子系统获取上述请求标识码,调用第三子系统时,第三子系统从第二子系统中获取上述请求标识码,同时分别将该请求标识码以及对应的调用事件记录在日志中。

在一个实施例中,上述步骤s2,包括:

步骤s20:依据所述生成指令获取所述网络请求的请求信息;

步骤s21:将所述请求信息通过md5算法计算得到对应所述网络请求的md5值;

步骤s22:在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码。

本实施例中,上述请求识别码的生产过程由通过步骤s20-s22来实现,执行上述生成指令时,依据生成指令获取网络请求的请求信息,该请求信息包括网络请求的所有信息,如上述请求头以及请求体,如一个上传图片的请求,则请求信息可以包括图片大小等信息。将这些请求信息通过md5算法(messagedigestalgorithmmd5,讯息摘要演算法)进行计算,上述md5算法是一种密码杂凑函数,可以通过相应的信息产生出一个128位元(16位元组)的散列值,本实施例中,将上述网络请求通过md5算法计算得到对应的md5值,该md5值即为上述散列值,其表现形式可以为字符串。为了保证请求识别码的唯一性,在上述md5值的基础上加入网络请求的请求时刻(发起请求的时刻)。

在一个实施例中,上述步骤s22,包括:

步骤s220:获取对应所述网络请求的请求时刻;

步骤s221:将所述请求时刻添加至所述md5值的结尾处,以形成所述请求标识码。

本实施例中,由于需要在上述md5值的基础上加入网络请求的请求时刻,故而先获取对应网络请求的请求时刻,当用户发起网络请求,在触发上述生成指令的同时可将该请求时刻记录下来,然后再获取。上述md5值的表现形式为字符串,则可在字符串结尾处添加请求时刻,从而生成上述请求识别码。在另一实施例中,也可以在md5值的字符串起始位置添加上述请求时刻。

在一个实施例中,上述步骤s5之后,包括:

步骤s6:接收用户上报的对应所述目标网络请求的异常信息,所述异常信息为用户在发送所述目标网络请求后接收到所述网络请求执行异常的反馈信息;

步骤s7:依据所述异常信息找到所述目标网络请求;

步骤s8:依据所述目标网络请求获取所述请求识别码;

步骤s9:依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

如上述步骤s6及s7所述,由于用户的网络请求均对应唯一的请求识别码,故而可以在排查网络问题的时候通过请求识别码来快速查找,已知的是,用户发出的网络请求,通过加入请求识别码形成目标网络请求之后,需要经过多个子系统的处理才会得到响应结果,而在这个过程,若某一个环节出错,则会导致整个结果出错,例如用户可能没有收到预期的响应结果或者收到了404,502,500等错误返回码或者没有接收到任何服务端的返回,这时用户可能会将错误上报,本实施例中,服务端接收到用户上报的异常信息,该异常信息即为用户在发送网络请求后接收到该网络请求执行异常的反馈信息,上报方式可以通过自助网上反馈或直接反馈给客服,该异常信息对应相应的目标网络请求,故而得到了异常信息,也就可以依据异常信息找到对应的目标网络请求。

如步骤s8及s9所述,由于目标网络请求的请求头中有上述请求识别码,所以找到了当前异常的目标网络请求,即可以在其请求头中获取到对应的请求识别码,而上述目标网络请求在调用子系统的时候也记录了上述请求识别码,所以可以在依据该请求识别码,在各个子系统日志进行排查,如从第一子系统日志对应上述目标网络请求的位置开始排查,再到第二个子系统日志对应上述目标网络请求的位置进行排查,直至找出该目标网络请求的异常环节,与现有的不能精确排查异常网络请求相比,本方案只需知道请求识别码,即可以快速进行排查,相当于通过请求识别码对当前网络请求进行了全链路追踪。

在一个实施例中,上述步骤s5之后,包括:

步骤s50:获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息;

步骤s51:依据所述网络异常信息获取所述目标网络请求;

步骤s52:依据所述目标网络请求获取所述请求识别码;

步骤s53:依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

本实施例中,在服务端后台中可设置监控平台,通过监控平台来监控网络请求的异常情况,如预设网络异常的报警条件,达到报警条件即进行报警以提醒开发人员,这时服务端后台会获取到对应目标网络请求的网络异常信息,该网络异常信息可包括网络请求的请求信息以及异常事件,由监控平台在监控到网络请求异常时自动触发反馈,这时可以依据网络异常信息获取到上述请求识别码,通过请求识别码在各子系统日志中查找该网络请求的异常环节,排除过程与上述步骤s9一致。

在一个实施例中,上述步骤s50,包括:

步骤s501:判断所述监控平台监控到所述目标网络请求的异常率是否大于预设阀值;

步骤s502:若是,则获取对应所述目标网络请求的网络异常信息。

本实施例中,在上述步骤s50中获取的网络异常时发出的网络异常信息可以为通过上述步骤s501-s502实现,可先判断上述网络请求的异常率是否大于预设的阀值,由于一个网络请求可能出现多个环节异常,则该异常率由目标网络请求的异常环节占所有环节的比值得到,当异常率大于预设阀值,即该目标网络请求出现了大量的异常情况,这时会触发报警,同时发出上述网络异常信息,以便提醒开发人员对该这些异常情况进行处理,并依据该网络异常信息进而查找出异常环节。

参照图2,本实施例中提供的跟踪网络请求的装置,包括:

接收请求单元100,用于接收用户发送的网络请求,并触发生成指令;

生成识码单元200,用于依据所述生成指令生成对应所述网络请求的请求标识码;

加入识码单元300,用于将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;

调用系统单元400,用于依据所述目标网络请求调用多个不同的子系统;

记录日志单元500,用于将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

如上述接收请求单元100所述,上述网络请求即为http请求(指从客户端到服务器端的请求消息),该网络请求由用户从客户端发出,例如用户在客户端的某个app向服务端发出人脸识别请求,当服务端接收到该人脸识别请求,则触发生成指令,该生成指令用于生成请求标识码(requestid),在生成识码单元200中,执行上述生成指令,从而生成对应上述网络请求的请求标识码,具体生成方式可以将网络请求数据通过md5算法(messagedigestalgorithmmd5,消息摘要算法第五版)来生成,每一个网络请求均可对应唯一的一个请求标识码。

如上述加入识码单元300所述,生成上述请求标识码之后,将该请求标识码加入到对应的网络请求的请求头中,并将该加入请求标识码的网请求记为目标网络请求,具体的说,每个网络请求均至少包括请求头和请求体,其中请求头包括请求方法、版本、使用的协议等信息,请求体包括服务端的参数、请求内容等信息,本实施例中,将请求标识码加入到请求头中,使得该网络请求在请求过程中一直携带该请求标识码。

如上述调用系统单元400所述,上述目标网络请求调用多个不同的子系统,可以理解的是,一个从客户端发出的网络请求,服务端要完成该网络请求,可能需要调用多个不同的子系统,举例地:业务流程比较复杂的公司,其服务端每个子系统会负责业务流程的一个模块,而完成整个业务流程会涉及到多个子系统的调用,所以一个网络请求从客户端发起会经过多个子系统调用后才能得到最终的返回结果,如上述例子中的人脸识别请求,服务端完成该请求可能需要调用后端数据系统、rm系统、上传图片的隐线平台系统等,经过这些系统的处理才能得到最终的结果,然后才返回请求结果。

如上述记录日志单元500所述,上述目标网络请求调用各子系统的事件都会分别记录在对应的子系统日志中,即上述子系统处理目标网络请求的过程都会记录在子系统的日志,同时该网络请求的信息(如上述请求头和请求体的信息)对应上述事件也会被记录在子系统的日志中,因而上述请求标识码也可在子系统日志中找到。另外,如果上述网络请求在请求过程中通过cdn(contentdeliverynetwork,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络),那么也会生成对应的cdn日志,该cdn日志也记录有对应的请求事件以及网络请求的信息。

由于上述各子系统、cdn日志中记录有网络请求的请求识别码,所以跟踪该网络请求时,依据对应的请求识别码即可进行全网跟踪,当知道该网络请求出现错误时,可以通过请求识别码在子系统日志、cdn日志中找出该网络请求在各子系统、cdn中的信息,从而找异常误的地方,便利快捷。

在一个实施例中,上述调用系统单元400,包括:

调用子单元,用于依据所述目标网络请求按一定顺序依次调用多个不同的所述子系统,其中,在调用过程中,当通过前一个所述子系统处理所述目标网络请求时,生成响应请求,依据所述响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应所述目标网络请求,且每次调用子系统的事件以及所述请求标识码均记录在对应的子系统日志中。

本实施例中,上述多个不同的子系统中,并不限制个数,可依据目标网络请求需要而调用,具体而言,可先依据目标网络请求按一定顺序调用子系统,如先调用当前需要的子系统,然后通过该子系统处理之后,若还需要另一子系统进一步处理,可以依据生成的响应请求调用与前一个子系统关联的下一子系统,以此类推直至完成响应上述目标网络请求,当然,在调用处理的过程中,每次调用子系统的事件以及请求标识码均记录在对应的子系统日志中。

例如,上述多个不同的子系统包括第一子系统、第二子系统以及第三子系统,则上述调用系统单元400,包括:

第一子单元,用于依据所述网络请求调用所述第一子系统,并通过所述

第一子系统响应所述网络请求以生成第一响应请求,所述第一子系统对应的

第一子系统日志中记录有所述网络请求调用所述第一子系统事件以及所述请求标识码;

第二子单元,用于依据所述第一响应请求调用第二子系统,并通过所述

第二子系统响应所述第一响应请求以生成第二响应请求,所述第二子系统对应的第二子系统日志中记录有依据所述第一响应请求调用第二子系统事件以及所述请求标识码;

第三子单元,用于依据所述第二响应请求调用第三子系统,并通过所述第三子系统响应所述第二响应请求,所述第三子系统对应的第三子系统日志中记录有依据所述第二响应请求调用第三子系统事件以及所述请求标识码。

本实施例中,上述网络请求调用的子系统有三个,分别为第一子系统、第二子系统以及第三子系统,具体而言,上述网络请求需要通过第一子系统、第二子系统以及第三子系统处理才能得到响应结果,首先依据网络请求调用第一子系统,而第一子系统完成上述网络请求的请求内容需要用到第二子系统,这时会依据第一响应请求调用第二子系统来处理,而第二子系统完成上述请求内容需要通过第三子系统,这时会依据第二响应请求调用第三子系统来处理,从而通过该三个子系统相互协调处理完成上述网络请求,得到响应结果。而且,在调用第一子系统时,第一子系统从网络请求的的请求头中获取到上述请求识别码,调用第二子系统时,第二子系统从第一子系统获取上述请求标识码,调用第三子系统时,第三子系统从第二子系统中获取上述请求标识码,同时分别将该请求标识码以及对应的调用事件记录在日志中。

在一个实施例中,上述生成识码单元200,包括:

获取信息子单元,用于依据所述生成指令获取所述网络请求的请求信息;

计算请求子单元,用于将所述请求信息通过md5算法计算得到对应所述网络请求的md5值;

加入时刻子单元,用于在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码。

本实施例中,上述请求识别码的生产过程由通过上述获取信息子单元、计算请求子单元以及加入时刻子单元来实现,执行上述生成指令时,依据生成指令获取网络请求的请求信息,该请求信息包括网络请求的所有信息,如上述请求头以及请求体,如一个上传图片的请求,则请求信息可以包括图片大小等信息。将这些请求信息通过md5算法(messagedigestalgorithmmd5,讯息摘要演算法)进行计算,上述md5算法是一种密码杂凑函数,可以通过相应的信息产生出一个128位元(16位元组)的散列值,本实施例中,将上述网络请求通过md5算法计算得到对应的md5值,该md5值即为上述散列值,其表现形式可以为字符串。为了保证请求识别码的唯一性,在上述md5值的基础上加入网络请求的请求时刻(发起请求的时刻)。

在一个实施例中,上述加入时刻子单元,包括:

获取时刻模块,用于获取对应所述网络请求的请求时刻;

添加时刻模块,用于将所述请求时刻添加至所述md5值的结尾处,以形成所述请求标识码。

本实施例中,由于需要在上述md5值的基础上加入网络请求的请求时刻,故而先获取对应网络请求的请求时刻,当用户发起网络请求,在触发上述生成指令的同时可将该请求时刻记录下来,然后再获取。上述md5值的表现形式为字符串,则可在字符串结尾处添加请求时刻,从而生成上述请求识别码。在另一实施例中,也可以在md5值的字符串起始位置添加上述请求时刻。

在一个实施例中,上述跟踪网络请求的装置,还包括:

接收信息单元,用于接收用户上报的对应所述目标网络请求的异常信息,所述异常信息为用户在发送所述目标网络请求后接收到所述网络请求执行异常的反馈信息;

找到请求单元,用于依据所述异常信息找到所述目标网络请求;

获取请求单元,用于依据所述目标网络请求获取所述请求识别码;

查找异常单元,用于依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

如上述接收信息单元及找到请求单元所述,由于用户的网络请求均对应唯一的请求识别码,故而可以在排查网络问题的时候通过请求识别码来快速查找,已知的是,用户发出的目标网络请求,需要经过多个子系统的处理才会得到响应结果,而在这个过程,若某一个环节出错,则会导致整个结果出错,例如用户可能没有收到预期的响应结果或者收到了404,502,500等错误返回码或者没有接收到任何服务端的返回,这时用户可能会将错误上报,本实施例中,服务端接收到用户上报的异常信息,该异常信息即为用户在发送目标网络请求后接收到上述网络请求执行异常的反馈信息,上报方式可以通过自助网上反馈或直接反馈给客服,该异常信息对应相应的目标网络请求,故而得到了异常信息,也就可以依据异常信息找到对应的目标网络请求。

如获取请求单元及查找异常单元所述,由于目标网络请求的请求头中有上述请求识别码,所以找到了当前异常的目标网络请求,即可以在其请求头中获取到对应的请求识别码,而上述目标网络请求在调用子系统的时候也记录了上述请求识别码,所以可以在依据该请求识别码,在各个子系统日志进行排查,如从第一子系统日志对应上述目标网络请求的位置开始排查,再到第二个子系统日志对应上述目标网络请求的位置进行排查,直至找出该目标网络请求的异常环节,与现有的不能精确排查异常网络请求相比,本方案只需知道请求识别码,即可以快速进行排查,相当于通过请求识别码对当前网络请求进行了全链路追踪。

在一个实施例中,上述跟踪网络请求的装置,还包括:

监控异常单元,用于获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息;

获取异常单元,用于依据所述网络异常信息获取所述目标网络请求;

获取请码单元,用于依据所述目标网络请求获取所述请求识别码;

排查异常单元,用于依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

本实施例中,在服务端后台中可设置监控平台,通过监控平台来监控网络请求的异常情况,如预设网络异常的报警条件,达到报警条件即进行报警以提醒开发人员,这时服务端后台会获取到对应目标网络请求的网络异常信息,该网络异常信息可包括网络请求的请求信息以及异常事件,由监控平台在监控到网络请求异常时自动触发反馈,这时可以依据网络异常信息获取到上述请求识别码,通过请求识别码在各子系统日志中查找该网络请求的异常环节,排除过程与上述查找异常单元一致。

在一个实施例中,上述监控异常单元,包括:

判断子单元,用于判断所述监控平台监控到所述目标网络请求的异常率是否大于预设阀值;

获取子单元,用于判断所述监控平台监控到所述目标网络请求的异常率大于预设阀值时,获取对应所述目标网络请求的网络异常信息。

本实施例中,,可先判断上述网络请求的异常率是否大于预设的阀值,由于一个网络请求可能出现多个环节异常,则该异常率由目标网络请求的异常环节占所有环节的比值得到,当异常率大于预设阀值,即该目标网络请求出现了大量的异常情况,这时会触发报警,同时发出上述网络异常信息,以便提醒开发人员对该这些异常情况进行处理,并依据该网络异常信息进而查找出异常环节。

参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储跟踪网络请求时所需的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跟踪网络请求的方法。

上述处理器执行上述跟踪网络请求的方法的步骤:接收用户发送的网络请求,并触发生成指令;依据所述生成指令生成对应所述网络请求的请求标识码;将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;依据所述目标网络请求调用多个不同的子系统;将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

上述计算机设备,上述依据所述目标网络请求调用多个不同的子系统的步骤,包括:依据所述目标网络请求按一定的顺序依次调用多个不同的所述子系统,其中,在调用过程中,当通过前一个所述子系统处理所述目标网络请求时,生成响应请求,依据所述响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应所述目标网络请求,且每次调用子系统的事件以及所述请求标识码均记录在对应的子系统日志中。

在一个实施例中,上述依据所述生成指令生成对应所述网络请求的请求标识码的步骤,包括:依据所述生成指令获取所述网络请求的请求信息;将所述请求信息通过md5算法计算得到对应所述网络请求的md5值;在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码。

在一个实施例中,上述在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码的步骤,包括:获取对应所述网络请求的请求时刻;将所述请求时刻添加至所述md5值的结尾处,以形成所述请求标识码。

在一个实施例中,上述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:接收用户上报的对应所述目标网络请求的异常信息,所述异常信息为用户在发送所述目标网络请求后接收到所述网络请求执行异常的反馈信息;依据所述异常信息找到所述目标网络请求;依据所述目标网络请求获取所述请求识别码;依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

在一个实施例中,上述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息;依据所述网络异常信息获取所述目标网络请求;依据所述目标网络请求获取所述请求识别码;依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

在一个实施例中,上述获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息的步骤,包括:判断所述监控平台监控到所述目标网络请求的异常率是否大于预设阀值,所述异常率为所述目标网络请求的异常环节占所有环节的比值;若是,则获取对应所述目标网络请求的网络异常信息。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本发明一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种跟踪网络请求的方法,具体为:接收用户发送的网络请求,并触发生成指令;依据所述生成指令生成对应所述网络请求的请求标识码;将所述请求标识码加入到所述网络请求的请求头中,并将加入所述请求标识码的网络请求记为目标网络请求;依据所述目标网络请求调用多个不同的子系统;将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中,每个所述子系统日志记录的事件都包含有所述请求标识码。

上述计算机可读存储介质,上述依据所述目标网络请求调用多个不同的子系统的步骤,包括:依据所述目标网络请求按一定顺序依次调用多个不同的所述子系统,其中,在调用过程中,当通过前一个子系统处理所述目标网络请求时,生成响应请求,依据所述响应请求调用与前一个子系统关联的下一个子系统,以此类推直至完成响应所述目标网络请求,且每次调用子系统的事件以及所述请求标识码均记录在对应的子系统日志中。

在一个实施例中,上述依据所述生成指令生成对应所述网络请求的请求标识码的步骤,包括:依据所述生成指令获取所述网络请求的请求信息;将所述请求信息通过md5算法计算得到对应所述网络请求的md5值;在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码。

在一个实施例中,上述在所述md5值中加入所述网络请求的请求时刻,以形成所述请求标识码的步骤,包括:获取对应所述网络请求的请求时刻;将所述请求时刻添加至所述md5值的结尾处,以形成所述请求标识码。

在一个实施例中,上述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:接收用户上报的对应所述目标网络请求的异常信息,所述异常信息为用户在发送所述目标网络请求后接收到所述网络请求执行异常的反馈信息;依据所述异常信息找到所述目标网络请求;依据所述目标网络请求获取所述请求识别码;依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

在一个实施例中,上述将所述目标网络请求调用各所述子系统的事件分别记录在对应的子系统日志中的步骤之后,包括:获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息;依据所述网络异常信息获取所述目标网络请求;依据所述目标网络请求获取所述请求识别码;依据所述请求识别码在各所述子系统日志中查找所述目标网络请求的异常环节。

在一个实施例中,上述获取监控平台监控到执行所述目标网络请求异常时发送的网络异常信息的步骤,包括:判断所述监控平台监控到所述目标网络请求的异常率是否大于预设阀值,所述异常率为所述目标网络请求的异常环节占所有环节的比值;若是,则获取对应所述目标网络请求的网络异常信息。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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