请求的统计方法、装置及存储介质制造方法及图纸

技术编号:22471058 阅读:23 留言:0更新日期:2019-11-06 12:55
本发明专利技术提供了一种请求的统计方法、装置及存储介质,包括:在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识;在第一服务器上将目标服务模块的标识,以及在预定时间内目标服务模块接收的目标CGI的标识发送给统计服务器;通过统计服务器对目标服务模块所接收的目标请求进行统计。通过本发明专利技术,解决了现有技术中无法得到特定的业务对整个分布式系统的影响的问题。

Requested statistical method, device and storage medium

【技术实现步骤摘要】
请求的统计方法、装置及存储介质
本专利技术涉及计算机领域,具体而言,涉及一种请求的统计方法、装置及存储介质。
技术介绍
现代大型分布式系统一般提供多个业务。每个业务由多个公共网关接口CGI(CommonGatewayInterface,简称CGI)提供服务。分布式系统中包含多个模块,每个模块会为不同业务的多个CGI提供服务。业务使用者的每个动作都会产生一个请求,目前对业务的请求的统计方案有Dapper和zipkin。Dapper和zipkin对请求的统计均是基于请求ID,而仅基于请求的ID是无法知晓由某个CGI下发的请求是由哪个模块为其提供服务的,以及某个模块所接收的请求分别是由哪些CGI下发的。针对相关技术中,无法得到特定的业务对整个分布式系统的影响,尚不存在一个有效的解决方案。
技术实现思路
本专利技术实施例提供了一种请求的统计方法、装置及存储介质,以至少解决相关技术中无法得到特定的业务对整个分布式系统的影响的问题。根据本专利技术的一个实施例,提供了一种请求的统计方法,包括:在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,其中,所述目标请求是所述第一服务器上的目标服务模块接收到的请求,所述目标请求是请求目标业务时生成的一组请求中的请求,所述目标业务是由包括所述目标CGI在内的一组CGI提供服务;在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器其中,所述统计服务器用于获取包括所述第一服务器在内的多个服务器发送的服务模块的标识和服务模块接收到的CGI的标识,其中,所述服务模块包括所述目标服务模块,所述CGI的标识包括所述目标CGI的标识;通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计。可选地,所述在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,包括:在所述目标服务模块接收到所述目标请求的情况下,调用所述第一服务器上的目标进程向所述第一服务器上的共享内存中写入所述目标服务模块的标识和所述目标请求中携带的所述目标CGI的标识。可选地,所述调用所述第一服务器上的目标进程向所述第一服务器上的共享内存中写入所述目标服务模块的标识和所述目标请求中携带的所述目标CGI的标识,包括:在所述第一服务器包括多个服务模块、且所述共享内存包括多个内存区间的情况下,每个所述服务模块调用对应的进程向对应的一个所述内存区间中写入所述服务模块的标识和对应的CGI的标识,其中,所述多个服务模块中被划分得到的多个模块分组中的每个模块分组被设置为共用一个所述内存区间,所述多个服务模块中包括所述目标服务模块。可选地,所述在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,包括:调用所述第一服务器上的统计进程从所述共享内存中读取所述目标服务模块的标识和预定时间内所述目标服务模块接收的所述目标CGI的标识;将所述目标服务模块的标识和预定时间内所述目标服务模块接收的所述目标CGI的标识发送给所述统计服务器。可选地,所述在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,包括:在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给第一层统计服务器,其中,所述第一层统计服务器中包括多个第一统计服务器;所述第一层统计服务器中的所述多个第一统计服务器被划分得到的多个统计分组中的每个统计分组将其获取的所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给第二层统计服务器中对应的第二统计服务器。可选地,通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计,包括:根据所述目标CGI的标识确定在所述预定时间内,由第一目标CGI发送至所述目标服务模块的第一目标CGI的标识,其中,所述目标CGI包括所述第一目标CGI;根据所述第一目标CGI的标识,确定在所述目标服务模块接收到的所有目标请求中,由所述第一目标CGI发送的第一目标请求。可选地,在通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计之后,所述方法还包括:在所述第一目标CGI发送的第一目标请求的数量大于第一预定阈值的情况下,在所述第一服务器上将第一预定数量的所述第一目标请求发送至所述第一服务器所包括的多个服务模块中,除了所述目标服务模块之外的其他服务模块;在所述第一目标CGI发送的第一目标请求的数量小于第二预定阈值的情况下,在所述第一服务器上将预定数量的第二目标请求转移至所述目标服务模块,其中,所述第二目标请求是由所述第一服务器中除了所述第一目标CGI之外的其他CGI发送的。可选地,在通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计之后,所述方法包括以下之一:所述统计服务器将所述统计得到的统计结果发送至区块链节点,其中,所述区块链节点用于记录所述统计结果,并将所述统计结果广播给位于同一区块链中的其他区块链节点;或者,所述统计服务器记录所述统计得到的统计结果,并将所述统计结果广播给与所述统计服务器位于同一区块链中的其他区块链节点,其中,所述统计服务器为所述同一区块链中的节点。根据本专利技术的另一个实施例,提供了一种请求的统计装置,包括:获取模块,用于在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,其中,所述目标请求是所述第一服务器上的目标服务模块接收到的请求,所述目标请求是请求目标业务时生成的一组请求中的请求,所述目标业务是由包括所述目标CGI在内的一组CGI提供服务;发送模块,用于在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器其中,所述统计服务器用于获取包括所述第一服务器在内的多个服务器发送的服务模块的标识和服务模块接收到的CGI的标识,其中,所述服务模块包括所述目标服务模块,所述CGI的标识包括所述目标CGI的标识;统计模块,用于通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计。可选地,所述获取模块包括:调用单元,用于在所述目标服务模块接收到所述目标请求的情况下,调用所述第一服务器上的目标进程向所述第一服务器上的共享内存中写入所述目标服务模块的标识和所述目标请求中携带的所述目标CGI的标识。可选地,所述调用单元还用于在所述第一服务器包括多个服务模块、且所述共享内存包括多个内存区间的情况下,每个所述服务模块调用对应的进程向对应的一个所述内存区间中写入所述服务模块的标识和对应的CGI的标识,其中,所述多个服务模块中被划分得到的多个模块分组中的每个模块分组被设置为共用一个所述内存区间,所述多个服务模块中包括所述目标服务模块。根据本专利技术的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本专利技术本文档来自技高网...

【技术保护点】
1.一种请求的统计方法,其特征在于,包括:在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,其中,所述目标请求是所述第一服务器上的目标服务模块接收到的请求,所述目标请求是请求目标业务时生成的一组请求中的请求,所述目标业务是由包括所述目标CGI在内的一组CGI提供服务;在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,其中,所述统计服务器用于获取包括所述第一服务器在内的多个服务器发送的服务模块的标识和服务模块接收到的CGI的标识,其中,所述服务模块包括所述目标服务模块,所述CGI的标识包括所述目标CGI的标识;通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计。

【技术特征摘要】
1.一种请求的统计方法,其特征在于,包括:在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,其中,所述目标请求是所述第一服务器上的目标服务模块接收到的请求,所述目标请求是请求目标业务时生成的一组请求中的请求,所述目标业务是由包括所述目标CGI在内的一组CGI提供服务;在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,其中,所述统计服务器用于获取包括所述第一服务器在内的多个服务器发送的服务模块的标识和服务模块接收到的CGI的标识,其中,所述服务模块包括所述目标服务模块,所述CGI的标识包括所述目标CGI的标识;通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计。2.根据权利要求1所述的方法,其特征在于,所述在第一服务器上获取目标请求中携带的目标公共网关接口CGI的标识,包括:在所述目标服务模块接收到所述目标请求的情况下,调用所述第一服务器上的目标进程向所述第一服务器上的共享内存中写入所述目标服务模块的标识和所述目标请求中携带的所述目标CGI的标识。3.根据权利要求2所述的方法,其特征在于,所述调用所述第一服务器上的目标进程向所述第一服务器上的共享内存中写入所述目标服务模块的标识和所述目标请求中携带的所述目标CGI的标识,包括:在所述第一服务器包括多个服务模块、且所述共享内存包括多个内存区间的情况下,每个所述服务模块调用对应的进程向对应的一个所述内存区间中写入所述服务模块的标识和对应的CGI的标识,其中,所述多个服务模块中被划分得到的多个模块分组中的每个模块分组被设置为共用一个所述内存区间,所述多个服务模块中包括所述目标服务模块。4.根据权利要求2所述的方法,其特征在于,所述在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,包括:调用所述第一服务器上的统计进程从所述共享内存中读取所述目标服务模块的标识和预定时间内所述目标服务模块接收的所述目标CGI的标识;将所述目标服务模块的标识和预定时间内所述目标服务模块接收的所述目标CGI的标识发送给所述统计服务器。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给统计服务器,包括:在所述第一服务器上将所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给第一层统计服务器,其中,所述第一层统计服务器中包括多个第一统计服务器;所述第一层统计服务器中的所述多个第一统计服务器被划分得到的多个统计分组中的每个统计分组将其获取的所述目标服务模块的标识,以及在预定时间内所述目标服务模块接收的所述目标CGI的标识发送给第二层统计服务器中对应的第二统计服务器。6.根据权利要求1所述的方法,其特征在于,通过所述统计服务器对所述目标服务模块所接收的目标请求进行统计,包括:根据所述目标CGI的标识确定在所述预定时间内,由第一目标CGI发送至所述目标服务模块的第一目标CGI的标识...

【专利技术属性】
技术研发人员:卓达城
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1