【技术实现步骤摘要】
资源限流方法、装置、电子设备及存储介质
本专利技术涉及软件开发
,尤其涉及资源限流方法、装置、电子设备及存储介质。
技术介绍
目前,为了保证一些网络业务在实现时能够承受一定的流量压力,通常需要向组织业务代码的机构接入限流工具,使得业务代码在执行时能够按照限流工具中预设的限流策略进行,以实现业务代码中特定资源的限流操作。服务端为了实现各种场景下的业务,通常保存着大量的业务代码。目前在服务端对代码资源进行限流时,先要对代码资源进行一系列的配置,具体包括:需要在代码中找出需要被保护的代码资源,即方法业务逻辑;然后标注每一个代码资源的资源名称,这里的资源名称能够作为代码资源的唯一标识,并且在服务端的代码编译阶段,会通过AspectJ工具为代码资源织入限流工具字节码,为代码资源提供执行时的限流策略。完成配置后,在服务端启动时,需要首先找到需要保护的代码资源,并拉取该代码资源对应的限流策略,然后再按照限流策略执行该代码资源,完成资源的限流操作。但是,上述这种资源限流方法,需要技术人员人工地在各种代码中找到需要被保护 ...
【技术保护点】
1.一种资源限流方法,其特征在于,包括:/n利用包路径从字节码中获取目标资源的资源名,所述包路径为获取目标资源所指定的路径,所述字节码为具有业务逻辑的代码编译后的内容;/n利用所述资源名,获取与所述目标资源对应的配置信息,所述配置信息中保存了关于所述目标资源的限流策略和限流参数,以及所述配置信息与所述资源名一一对应保存;/n利用所述配置信息,执行所述目标资源对应的内容。/n
【技术特征摘要】
1.一种资源限流方法,其特征在于,包括:
利用包路径从字节码中获取目标资源的资源名,所述包路径为获取目标资源所指定的路径,所述字节码为具有业务逻辑的代码编译后的内容;
利用所述资源名,获取与所述目标资源对应的配置信息,所述配置信息中保存了关于所述目标资源的限流策略和限流参数,以及所述配置信息与所述资源名一一对应保存;
利用所述配置信息,执行所述目标资源对应的内容。
2.根据权利要求1所述的资源限流方法,其特征在于,所述利用包路径从字节码中获取目标资源的资源名的步骤包括:
依据所述包路径,扫描字节码中所述包路径下对应的所有内容;
获取所述包路径下所有内容中的所有类;
遍历所有的类,获得所有方法的方法名作为所述资源名。
3.根据权利要求1所述的资源限流方法,其特征在于,所述利用包路径从字节码中获取目标资源的资源名之前,还包括:
确定每一个需要定制限流策略的方法;
为每一个需要定制限流策略的方法生成一个具有限流策略和限流参数的配置信息。
4.根据权利要求3所述的资源限流方法,其特征在于,所述确定每一个需要定制限流策略的方法的步骤包括:
执行字节码中的所有方法,获得每一个方法对应的测试业务量,所述测试业务量用于表示执行所述方法所处理业务的数量;
将所述测试业务量与真实业务场景下的真实业务量进行对比,如果所述测试业务量小于所述真实业务量,则确定所述方法需要定制限流策略,所述限流策略用于指示所述目标资源在执行时需要进行限流操作。
5.根据权利要求4所述的资源限流方法,其特征在于,所述为每一个需要定制限流策略的方法生成一个具有限流策略和限流参数的配置信息的步骤包括:
如果所述方法需要定制限流策略,则将所述测试业务量确定为所述方法的限流参数,所述限流参数用于指示所述目标资源在执行时所能处理的最大业务量。
6.根据权利要求4所述的资源限流方法,其特征在于,所述确定每一个需要定制限流策略的方法的步骤还包括:
如果所述测试业务量为零,则确定所述方法需要进行熔断操作,所述熔断操作用于表示为所述目标资源提供预设的执行结果。
7.一种资源限流装置,其特征在于,包括:
资源名获取模块,用于利用包路径从字节码中获取目标资源的资源名,所述包路径为获取目标资源所指定的路径,所述字节码为具...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。