(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 102999319 A
(43)申请公布日 2013.03.27
(21)申请号 CN201110266778.3
(22)申请日 2011.09.09
(71)申请人 北京大学;北大方正集团有限公司;方正国际软件(北京)有限公司
    地址 100871 北京市海淀区颐和园路5号
(72)发明人 乐以长 梁学勇 陈永华
(74)专利代理机构 北京天悦专利代理事务所(普通合伙)
    代理人 田明
(51)Int.CI
     
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种基于AOP技术缓存函数执行结果的方法及系统
springboot实现aop(57)摘要
      本发明公开了一种基于AOP技术缓存函数执行结果的方法及系统,该方法及系统利用Spring开发框架提供的AOP功能实现,在需要缓存执行结果的业务逻辑处理函数前后执行Spring AOP的缓存处理通知,拦截被执行的业务逻辑处理函数,将业务逻辑处理函数的执行结果存入数据缓存装置。另外,该方法在业务逻辑处理函数更新目标数据(如追加、修改、删除数据)之后执行Spring AOP的缓存清除通知,清空数据缓存装置的数据。使用该方法将缓存功能模块和业务逻辑功能模块彻底解耦,实现可插拔的缓存机制,灵活地通过配置文件给业务逻辑处理函数增加或去除缓存功能。
法律状态
法律状态公告日
法律状态信息
法律状态
2023-06-27
专利权的转移IPC(主分类):G06F 9/44专利号:ZL2011102667783登记生效日:20230615变更事项:专利权人变更前权利人:北京大学变更后权利人:北京大学变更事项:地址变更前权利人:100871 北京市海淀区颐和园路5号变更后权利人:100871 北京市海淀区颐和园路5号变更事项:专利权人变更前权利人:北大方正集团有限公司 方正国际软件(北京)有限公司变更后权利人:新方正控股发展有限责任公司 方正国际软件(北京)有限公司
专利申请权、专利权的转移
权 利 要 求 说 明 书
1.一种基于AOP技术缓存函数执行结果的方法,包括以下步骤:           
步骤1、调用业务逻辑处理函数,并由特征码生成装置生成该业务逻辑            处理函数唯一的实例特征码;           
步骤2、根据业务逻辑处理函数的实例特征码,在数据缓存装置中检索            是否存在该函数的函数执行结果,若是则进入步骤3,若否则进入步骤4;           
步骤3、从数据缓存装置中得到缓存的函数执行结果,进入步骤5;           
步骤4、执行所述业务逻辑处理函数,并将得到的函数执行结果缓存到            数据缓存装置;           
步骤5、将函数执行结果返回给业务逻辑处理函数的调用方。           
2.如权利要求1所述的一种基于AOP技术缓存函数执行结果的方法,其            特征在于:如
果步骤1中所调用的业务逻辑处理函数为更新目标数据的函数,            会将数据缓存装置中该函数所在类对应的缓存数据进行清除。           
3.如权利要求2所述的一种基于AOP技术缓存函数执行结果的方法,其            特征在于:清除函数所在类对应的数据的具体步骤为:           
1)调用修改目标数据的业务逻辑处理函数;           
2)执行所调用的更新目标数据的业务逻辑处理函数,并获取被执行函数            所在类名;           
3)获取数据缓存装置的函数实例特征码列表,将实例特征码列表中的每            个函数实例特征码与步骤2)被执行函数所在类名进行对比,并删除数据缓            存装置中以被执行函数所在类名开头的实例特征码所对应的缓存数据。           
4.如权利要求1或2或3所述的一种基于AOP技术缓存函数执行结果的            方法,其特征在于:步骤1中,所述业务逻辑处理函数为面向对象开发语言            Java语言的对象成员函数。           
5.如权利要求1或2或3所述的一种基于AOP技术缓存函数执行结果的            方法,其特征在于:步骤1中,所述的实例特征码是根据函数实例的类名、            函数名和参数信息生成的,以类名开头的唯一的函数实例特征码。           
6.如权利要求5所述的一种基于AOP技术缓存函数执行结果的方法,其            特征在于:所述参数是Java语言的基本数据类型、数组或对象类型,参数的                            个数为一个、多个或者没有。           

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。