[发明专利]DAO层降级方法和装置在审
申请号: | 202110142943.8 | 申请日: | 2021-02-02 |
公开(公告)号: | CN113778980A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 吴江;侯会满;肖翔 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F11/36;G06F9/50;G06F9/445 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张效荣;王志远 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dao 降级 方法 装置 | ||
本发明公开了一种DAO层降级方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在应用系统处理外部请求时,将所述应用系统中被预设的特定注解标注的DAO方法确定为目标方法;其中,所述特定注解的定义中包括目标方法对应的降级策略标识;依据目标方法对应的降级策略标识,从预设的、所述应用系统对应的降级配置文件中获取目标方法的当前降级策略;其中,所述当前降级策略中包括降级条件和降级比例;在判断所述外部请求满足所述当前降级策略中的降级条件时,根据所述当前降级策略中的降级比例对所述外部请求进行降级处理。该实施方式能够实现与应用系统解耦、并针对应用系统中DAO层任一方法的降级机制。
技术领域
本发明涉及计算机技术领域,尤其涉及一种DAO层降级方法和装置。
背景技术
在计算机技术领域,一般使用降级机制来应对服务端无法支撑短时间内涌入大量请求的情况。在目前的降级机制中,主要针对靠近用户的业务服务层执行降级,没有针对作用在数据库的DAO(Data Access Object,数据访问对象)层的降级方案,但是实际应用中DAO层同样存在因无法支撑巨大流量(即访问量)导致崩溃的问题。并且,在目前的降级机制中,应用系统代码往往与降级方案代码耦合在一起,这会影响业务执行效率,也使得降级方案难以调整同时不具备复用性。此外,目前的降级机制一般执行在应用系统层面或服务层面,无法针对应用系统内部的具体方法执行自定义的灵活降级。
发明内容
有鉴于此,本发明实施例提供一种DAO层降级方法和装置,能够实现与应用系统解耦、并针对应用系统中DAO层任一方法的降级机制。
为实现上述目的,根据本发明的一个方面,提供了一种DAO层降级方法。
本发明实施例的DAO层降级方法包括:在应用系统处理外部请求时,将所述应用系统中被预设的特定注解标注的DAO方法确定为目标方法;其中,所述特定注解的定义中包括目标方法对应的降级策略标识;依据目标方法对应的降级策略标识,从预设的、所述应用系统对应的降级配置文件中获取目标方法的当前降级策略;其中,所述当前降级策略中包括降级条件和降级比例;在判断所述外部请求满足所述当前降级策略中的降级条件时,根据所述当前降级策略中的降级比例对所述外部请求进行降级处理。
可选地,所述依据目标方法对应的降级策略标识,从预设的、所述应用系统对应的降级配置文件中获取目标方法的当前降级策略,包括:依据目标方法对应的降级策略标识,从所述降级配置文件中获取目标方法对应的降级策略集合;其中,所述降级策略集合中包括目标方法对应的多条降级策略,所述多条降级策略中的每一降级策略匹配于所述应用系统的一种负载状态;获取所述应用系统的当前负载状态,将所述降级策略集合中匹配于当前负载状态的降级策略确定为目标方法的当前降级策略。
可选地,所述降级条件为基于外部请求对应的IP地址、用户标识和/或请求来源的布尔表达式;以及,所述判断所述外部请求满足所述当前降级策略中的降级条件,包括:根据所述外部请求的参数计算所述布尔表达式;在计算结果为真时,确定所述外部请求满足所述当前降级策略中的降级条件。
可选地,所述根据所述当前降级策略中的降级比例对所述外部请求进行降级处理,包括:将所述外部请求中携带的用户标识转换为0与1之间的哈希值;在该哈希值小于所述降级比例时,返回默认数据以响应所述外部请求;在该哈希值不小于所述降级比例时,执行目标方法以响应所述外部请求。
可选地,所述方法进一步包括:在所述应用系统处理外部请求之前,预先将所述应用系统对应的降级配置文件从配置服务器拉取到所述应用系统所在的存储空间;其中,配置服务器中的降级配置文件由远程服务器下发、更新或删除。
可选地,所述DAO方法包括:增加、删除、更新和查询,应用系统的负载状态包括:轻载、满载和超载。
为实现上述目的,根据本发明的另一方面,提供了一种DAO层降级装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110142943.8/2.html,转载请声明来源钻瓜专利网。