用于业务分析的代码链路的生成方法、装置及业务服务器制造方法及图纸

技术编号:20915794 阅读:32 留言:0更新日期:2019-04-20 09:32
公开了一种用于业务分析的代码链路的生成方法、装置及业务服务器,该方法包括:接收来自客户端的业务请求;处理所述业务请求,并获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名;根据所述类的调用顺序、类名,以及方法名得到处理所述业务请求所经过的代码链路。

Generation Method, Device and Service Server of Code Link for Service Analysis

A code link generation method, device and service server for business analysis are disclosed. The method includes: receiving business requests from clients; processing the business requests and obtaining the calling order, class names and method names of the classes invoked in the process of processing the business requests; and according to the calling order and class of the classes. The name and the method name are the code links through which the service request is processed.

【技术实现步骤摘要】
用于业务分析的代码链路的生成方法、装置及业务服务器
本说明书实施例涉及数据处理
,尤其涉及一种用于业务分析的代码链路的生成方法、装置及业务服务器。
技术介绍
对于复杂的业务系统而言,其承载有较多的业务场景、业务域,当一个业务场景或业务域出现业务问题时,产生问题的原因有可能是代码级的,基于此,确定业务执行所经过的代码链路尤为重要。现有技术中,由分析人员根据开发人员留存的代码文档和数据库数据追溯出业务执行所经过的代码链路,以便于后续依据该代码链路进行业务分析。由此可见,现有技术中业务执行所经过的代码链路的确定依赖于分析人员的主观判断,从而难免出现遗漏或错误,继而也就将影响业务分析结果的准确性。
技术实现思路
针对上述技术问题,本说明书实施例提供一种用于业务分析的代码链路的生成方法、装置及业务服务器,技术方案如下:根据本说明书实施例的第一方面,提供一种用于业务分析的代码链路的生成方法,所述方法包括:接收来自客户端的业务请求;处理所述业务请求,并获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名;根据所述类的调用顺序、类名,以及方法名得到处理所述业务请求所经过的代码链路。根据本说明书实施例的第二方面,提供一种用于业务分析的代码链路的生成装置,所述装置包括:接收模块,用于接收来自客户端的业务请求;获取模块,用于处理所述业务请求,并获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名;链路确定模块,用于根据所述类的调用顺序、类名,以及方法名得到处理所述业务请求所经过的代码链路。根据本说明书实施例的第三方面,提供一种业务服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本说明书实施例提供的一种用于业务分析的代码链路的生成方法。本说明书实施例所提供的技术方案,通过接收来自客户端的业务请求,处理业务请求,并获取在处理该业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名,根据类的调用顺序、类名,以及方法名得到处理该业务请求所经过的代码链路,由于最终得到的代码链路是通过线上真实的运行数据确定的,从而该代码链路的准确性较高,进一步也就可以提高后续基于代码链路进行业务分析的准确性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本说明书一示例性实施例提供的一种用于业务分析的代码链路的生成方法的实施例流程图;图2为处理业务请求所经过的代码链路的一种示例;图3为本说明书一示例性实施例提供的一种用于业务分析的代码链路的生成装置的实施例框图;图4示出了本说明书实施例所提供的一种更为具体的业务服务器的硬件结构示意图。具体实施方式为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。为了解决现有技术中业务执行所经过的代码链路的确定依赖于分析人员的主观判断,从而难免出现遗漏或错误,继而也就将影响业务分析结果的准确性的问题,本说明书实施例提供一种用于业务分析的代码链路的生成方法,以实现根据真实的线上数据确定出业务执行所经过的代码链路,进一步提高后续基于代码链路进行业务分析的准确性。如下,示出下述实施例对该方法进行说明:请参见图1,为本说明书一示例性实施例提供的一种用于业务分析的代码链路的生成方法的实施例流程图,该方法包括以下步骤:步骤102:接收来自客户端的业务请求。步骤104:处理业务请求,并获取在处理该业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名。步骤106:根据类的调用顺序、类名,以及方法名得到处理该业务请求所经过的代码链路。如下,对步骤102至步骤106进行说明:在本说明书实施例中,在处理步骤102接收到的业务请求的过程中,可以监测业务系统所调用的类,每当监测到业务系统调用一个类时,则可以利用JAVA发射机制,例如利用JAVA拦截器获取该被调用的类的类名,与该类包括的方法的方法名。之后,可以按照获取顺序,将获取到的类名与方法名写入一个预先设置的有序列表中,例如,可以每获取到一个类的类名与该类包括的方法的方法名,则可以将获取到的类名与方法名写入该有序列表中。通过该种处理,则可以实现通过有序列表记录处理该业务请求的过程中依次调用的每一个类的调用顺序、类名,及其包括的方法的方法名。举例来说,假设处理业务请求的过程中,依次调用了ClassA,ClassB,ClassC,ClassD,ClassE,ClassF,通过如上处理,所得到的有序列表可以如下述表1所示:表1ClassAClassBClassCClassDClassFClassE需要说明的是,在上述表1中,仅仅示出了被调用的类的类名,实际上该有序列表里还记录有类包括的方法的方法名,本说明书对此不再作示例。后续,在步骤106中,则可以基于表1所示例的有序列表中所记录的类的调用顺序、类名及方法名得到处理该业务请求所经过的代码链路,例如,如图2所示,为处理业务请求所经过的代码链路的一种示例,图2所示例的代码链路为:ClassAMethodA>>ClassAMethodB>>ClassBMethodC>>ClassCMethodD>>ClassCMethodE>>ClassAMethodA>>ClassAMethodB此外,在本说明书实施例中,考虑到处理属于同一业务类型的业务请求时,所经过的代码链路一致,从而在针对一业务类型的业务请求,获取到处理该业务请求所经过的代码链路后,可以在本地存储该业务请求所属的业务类型与获取到的代码链路的对应关系,通过该种处理,可以实现后续再处理属于该同一业务类型的业务请求时,可以不再重复获取处理该业务请求所经过的代码链路,从而有效节省计算资源。在一实施例中,可以提取出业务请求所包括的特征维度,根据所提取出的特征维度确定该业务请求所属的业务类型,为了描述方便,将该业务类型称为目标业务类型。举例来说,假设客户端发起一条用于从银行卡转账至余额宝的业务请求,那么,该业务请求所包括的特征维度为:银行卡、转账、余额宝,基于该特征维度所确定出的目标业务类型可以为“银行卡转账至余额宝”;再举例来说,假设客户端发起一条用于从余额宝转账至银行卡的业务请求,那么,该业务请求所包括的特征维度为:余额宝、转账、银行卡,基于该特征维度所确定出的目标业务类型可以为“余额宝转账至银行卡”。通过上述描述可知,尽管业务请求所包括的特征维度相同,但其本文档来自技高网...

【技术保护点】
1.一种用于业务分析的代码链路的生成方法,所述方法包括:接收来自客户端的业务请求;处理所述业务请求,并获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名;根据所述类的调用顺序、类名,以及方法名得到处理所述业务请求所经过的代码链路。

【技术特征摘要】
1.一种用于业务分析的代码链路的生成方法,所述方法包括:接收来自客户端的业务请求;处理所述业务请求,并获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名;根据所述类的调用顺序、类名,以及方法名得到处理所述业务请求所经过的代码链路。2.根据权利要求1所述的方法,所述获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名,包括:在处理所述业务请求的过程中,每当监测到业务系统调用一个类时,则利用JAVA反射机制获取所述类的类名与其包括的方法的方法名;按照获取顺序,将获取到的类名与方法名写入预设的有序列表中。3.根据权利要求2所述的方法,在所述获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名之前,所述方法还包括:提取出所述业务请求包括的特征维度;根据所提取出的特征维度确定所述业务请求所属的目标业务类型;在所述按照获取顺序,将获取到的类名与方法名写入预设的有序列表中之后,所述方法还包括:对所述有序列表进行哈希运算,得到所述业务请求所经过的代码链路的哈希值;在本地存储所述目标业务类型与所述业务请求所经过的代码链路的哈希值的对应关系。4.根据权利要求3所述的方法,所述获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的方法名,包括:根据所述目标业务类型查找本地存储的业务类型与哈希值的对应关系;若未查找到所述目标业务类型,则获取在处理所述业务请求的过程中,所调用到的类的调用顺序、类名,以及其包括的方法的...

【专利技术属性】
技术研发人员:许扬
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1