发明名称 |
一种为数据库增加多语言动态编译执行引擎的方法和系统 |
摘要 |
本发明公开了一种为数据库增加多语言动态编译执行引擎的方法和系统,该方法在数据库数据操作过程中、自定义函数执行时或存储过程执行时,当执行扩展逻辑函数时,判断脚本仓库中是否有扩展逻辑函数对应的扩展脚本代码,若有,根据扩展脚本代码对应的参数标识值,检测内存是否已经编译存在扩展脚本代码对应的脚本扩展实例;若存在,从内存读取定位已编译的脚本扩展实例,将调用所述脚本扩展实例的上下文参数传入所述脚本扩展实例,判断脚本扩展实例是同步运行还是异步运行;若是同步运行,则由多语言动态脚本执行引擎驱动运行脚本扩展实例,若是异步运行,则由后台新的线程运行,或将运行脚本扩展实例的任务放入到任务队列。 |
申请公布号 |
CN106156353A |
申请公布日期 |
2016.11.23 |
申请号 |
CN201610599362.6 |
申请日期 |
2016.07.26 |
申请人 |
北京北森云计算股份有限公司 |
发明人 |
闫观涛;刘生权;张庆化;梅宝强;熊品卿;薛腾腾 |
分类号 |
G06F17/30(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
北京路浩知识产权代理有限公司 11002 |
代理人 |
李相雨 |
主权项 |
一种为数据库增加多语言动态编译执行引擎的方法,其特征在于,包括:S1:数据库数据操作过程中、自定义函数执行时或存储过程执行时,当执行扩展逻辑函数时,判断脚本仓库中是否有所述扩展逻辑函数对应的扩展脚本代码;S2:若所述脚本仓库中有所述扩展逻辑函数对应的扩展脚本代码,根据所述扩展脚本代码对应的参数标识值,检测内存是否已经编译存在所述扩展脚本代码对应的脚本扩展实例;S3:若已经编译存在所述脚本扩展实例,从内存读取定位已编译的脚本扩展实例,将调用所述脚本扩展实例的上下文参数传入所述脚本扩展实例,判断所述脚本扩展实例是同步运行还是异步运行;S4:若所述脚本扩展实例是同步运行,则由多语言动态脚本执行引擎驱动运行所述脚本扩展实例,若所述脚本扩展实例是异步运行,则由后台新的线程运行,或将运行所述脚本扩展实例的任务放入到任务队列等待运行;其中,所述扩展逻辑函数对应的扩展脚本代码是根据需要扩展的业务编写并存储至脚本仓库中的扩展脚本代码。 |
地址 |
100085 北京市海淀区上地东路35号颐泉汇7层 |