[发明专利]数据拦截方法和装置有效
申请号: | 201110403645.6 | 申请日: | 2011-12-07 |
公开(公告)号: | CN103150155A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 杨刚 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平 |
地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 拦截 方法 装置 | ||
【技术领域】
本发明涉及计算机应用领域,特别涉及一种数据拦截方法和装置。
【背景技术】
传统技术中,为了降低数据管理系统(如ERP系统)中业务模块之间的耦合度,通常采用数据拦截方法使用拦截器将业务模块分离。拦截器为包含了预设的拦截逻辑的对象。传统技术中,往往设置多个静态类型的拦截器与希望被拦截的目标对象产生映射,拦截器的类型与目标对象的类型对应。目标对象则与具体的业务请求对应。目标对象的类型也是静态的。
当业务请求调用应用系统中的某个目标对象时,可以拦截业务请求,然后在调用该目标对象的某个方法之前或之后执行预设在拦截器中的业务逻辑。在使用了拦截器之后,应用系统中的功能模块得到了一定程度的解耦,从而降低了功能模块的耦合度。
但是传统的数据拦截方法中的拦截器的声明类型为静态类型,只能拦截声明类型为静态类型的目标对象。从而使得静态类型的目标对象和拦截器只能对应一类业务请求,使得目标对象和拦截器与业务请求必须具有较强的关联,从而导致数据管理系统的扩展性较低。
【发明内容】
基于此,有必要提供一种提高数据管理系统扩展性的数据拦截方法。
一种数据拦截方法,包括以下步骤:
获取业务请求;
根据预设的业务请求与目标对象的映射关系,获取与所述业务请求对应的目标对象,并获取所述目标对象在运行时的实际类型;
根据预设的声明类型为动态类型的拦截器与目标对象的映射关系,以及目标对象在运行时的实际类型,得到实际类型与目标对象的实际类型相同的拦截器;
根据所述实际类型与目标对象的实际类型相同的拦截器,调用预设的动态链接库中对应的库函数。
优选的,所述预设的拦截器与目标对象的映射关系是通过将预设的拦截器和目标对象封装成动态类型的代理对象,然后通过所述代理对象实现映射关系。
优选的,所述预设的拦截器与目标对象的映射关系是通过采用元数据标注将预设的拦截器和目标对象封装成动态类型的代理对象,然后通过所述代理对象实现映射关系。
优选的,所述实际类型与目标对象的实际类型相同的拦截器为多个;
所述得到实际类型与目标对象的实际类型相同的拦截器之后还包括:
将所述多个实际类型与目标对象的实际类型相同的拦截器按预设的顺序排列成拦截器链;
所述调用预设的动态链接库中对应的库函数的步骤具体为:
依次从所述拦截器链中提取所述拦截器,根据所述实际类型与目标对象的实际类型相同的拦截器调用预设的动态链接库中对应的库函数。
优选的,所述得到实际类型与目标对象的实际类型相同的拦截器的步骤具体为:
获取所述缓存中的拦截器链,根据预设的拦截器与目标对象的映射关系在所述拦截器链中弹栈提取所述实际类型与目标对象的实际类型相同的拦截器;
所述将所述多个实际类型与目标对象的实际类型相同的拦截器按预设的顺序排列成拦截器链之后还包括:
将所述拦截器链以栈的形式缓存。
此外,还有必要提供一种提高数据管理系统扩展性的数据拦截装置。
一种数据拦截装置,包括以下模块:
请求获取模块,用于获取业务请求;
目标对象获取模块,用于根据预设的业务请求与目标对象的映射关系,获取与所述业务请求对应的目标对象,并获取所述目标对象在运行时的实际类型;
拦截器获取模块,用于根据预设的声明类型为动态类型的拦截器与目标对象的映射关系,以及目标对象在运行时的实际类型,得到实际类型与目标对象的实际类型相同的拦截器;
调用模块,用于根据所述实际类型与目标对象的实际类型相同的拦截器,调用预设的动态链接库中对应的库函数。
优选的,还包括拦截器预定义模块,用于将预设的拦截器和目标对象封装成动态类型的代理对象,通过代理对象建立目标对象与预设的拦截器的映射关系。
优选的,所述拦截器预定义模块还用于通过元数据标注将预设的拦截器和目标对象封装成动态类型的代理对象。
优选的,所述实际类型与目标对象的实际类型相同的拦截器为多个;
还包括拦截器链组装模块,用于将所述多个实际类型与目标对象的实际类型相同的拦截器按预设的顺序排列成拦截器链;
所述调用模块还用于依次从所述拦截器链中提取所述拦截器,根据所述实际类型与目标对象的实际类型相同的拦截器调用预设的动态链接库中对应的库函数。
优选的,所述拦截器链组装模块还用于将所述拦截器链以栈的形式缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110403645.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种精密齿轮模具结构
- 下一篇:滚动式粮面粘杂器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置