发明名称 |
一种基于AOP技术缓存函数执行结果的方法及系统 |
摘要 |
本发明公开了一种基于AOP技术缓存函数执行结果的方法及系统,该方法及系统利用Spring开发框架提供的AOP功能实现,在需要缓存执行结果的业务逻辑处理函数前后执行Spring AOP的缓存处理通知,拦截被执行的业务逻辑处理函数,将业务逻辑处理函数的执行结果存入数据缓存装置。另外,该方法在业务逻辑处理函数更新目标数据(如追加、修改、删除数据)之后执行Spring AOP的缓存清除通知,清空数据缓存装置的数据。使用该方法将缓存功能模块和业务逻辑功能模块彻底解耦,实现可插拔的缓存机制,灵活地通过配置文件给业务逻辑处理函数增加或去除缓存功能。 |
申请公布号 |
CN102999319B |
申请公布日期 |
2016.08.10 |
申请号 |
CN201110266778.3 |
申请日期 |
2011.09.09 |
申请人 |
北京大学;北大方正集团有限公司;方正国际软件(北京)有限公司 |
发明人 |
乐以长;梁学勇;陈永华 |
分类号 |
G06F9/44(2006.01)I;G06F12/0802(2016.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
北京天悦专利代理事务所(普通合伙) 11311 |
代理人 |
田明;任晓航 |
主权项 |
一种基于AOP技术缓存函数执行结果的方法,包括以下步骤:步骤1、调用业务逻辑处理函数,并由特征码生成装置生成该业务逻辑处理函数唯一的实例特征码;所述的实例特征码是根据函数实例的类名、函数名和参数信息生成的,以类名开头的唯一的函数实例特征码;步骤2、根据业务逻辑处理函数的实例特征码,在数据缓存装置中检索是否存在该函数的函数执行结果,若是则进入步骤3,若否则进入步骤4;在数据缓存装置中检索函数执行结果是以函数的实例特征码为依据进行的,在缓存时是以实例特征码为主键将函数执行结果存入到数据缓存装置的;步骤3、从数据缓存装置中得到缓存的函数执行结果,进入步骤5;步骤4、执行所述业务逻辑处理函数,并将得到的函数执行结果缓存到数据缓存装置;步骤5、将函数执行结果返回给业务逻辑处理函数的调用方;如果步骤1中所调用的业务逻辑处理函数为更新目标数据的函数,会将数据缓存装置中该函数所在类对应的缓存数据进行清除,清除函数所在类对应的数据的具体步骤为:1)调用修改目标数据的业务逻辑处理函数;2)执行所调用的更新目标数据的业务逻辑处理函数,并获取被执行函数所在类名;3)获取数据缓存装置的函数实例特征码列表,将实例特征码列表中的每个函数实例特征码与步骤2)被执行函数所在类名进行对比,并删除数据缓存装置中以被执行函数所在类名开头的实例特征码所对应的缓存数据。 |
地址 |
100871 北京市海淀区颐和园路5号 |