[发明专利]通过多语言云编译实现系统动态功能拦截扩展的方法有效
申请号: | 201610597848.6 | 申请日: | 2016-07-26 |
公开(公告)号: | CN106250179B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 闫观涛;刘生权;张庆化;熊品卿;徐东 | 申请(专利权)人: | 北京北森云计算股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种通过多语言云编译实现系统动态功能拦截扩展的方法,本发明通过拦截标签,实现业务逻辑拦截代码的编译和执行,具体为:检测是否存在扩展拦截,若存在确定拦截装置代码;利用拦截装置代码从内存中查找对应的实例,并利用多语言动态脚本执行引擎调用并运行对应的实例;若不存在对应的实例,则根据拦截装置代码的语言类型利用对应的脚本编译引擎进行编译,生成对应的实例,从而可以在系统运行中通过多语言云编译对拦截装置代码进行编译后直接引入并运行,对之前的代码毫无影响,实现了动态脚本引擎体系,继而实现了系统功能动态拦截扩展,提高了系统功能扩展的灵活性、开放性、可维护性以及可伸缩性。 | ||
搜索关键词: | 通过 语言 编译 实现 系统 动态 功能 拦截 扩展 方法 | ||
【主权项】:
1.一种通过多语言云编译实现系统动态功能拦截扩展的方法,其特征在于,所述方法包括以下步骤:S1、根据业务需求,在需要扩展的方法上标识对应的拦截标签;S2、对于每一个拦截标签,添加对应于所需要扩展的系统功能的业务逻辑拦截代码;其中所述业务逻辑拦截代码用于实现需要扩展的所述系统功能;S3、本地编译时根据所述拦截标签在对应的位置处添加拦截装置代码,其中所述拦截装置代码用于织入对应的业务逻辑拦截代码,根据所述拦截装置代码通过云编译再将脚本存储库中存储的对应的业务逻辑拦截代码进行编译并运行,其中按照以下步骤将对应的业务逻辑拦截代码编译并运行:S31、检测是否存在扩展拦截,若存在,则根据当前扩展拦截的标识信息确定对应的业务逻辑拦截代码;S32、利用所述步骤S31得到的业务逻辑拦截代码生成标识码,并根据所述标识码从内存中查找是否存在对应的实例;S33、若存在对应的实例,则利用多语言动态脚本执行引擎调用并运行对应的实例;若不存在对应的实例或已经发生变化,则从所述脚本存储库读取对应的所述业务逻辑拦截代码,并将所述业务逻辑拦截代码载入对应语言类型的脚本编译引擎进行编译,生成对应的实例,之后利用多语言动态脚本执行引擎调用并运行对应的实例;其中,所述拦截标签上的信息包括:是否生成拦截装置代码,拦截枚举:方法前拦截、方法后拦截、方法前后拦截,拦截标签的位置,已经决定方法代码的所在模块、功能、方法名字空间和类信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北森云计算股份有限公司,未经北京北森云计算股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610597848.6/,转载请声明来源钻瓜专利网。