【技术实现步骤摘要】
一种应用系统内嵌脚本的方法和装置
本专利技术涉及一种内嵌脚本的方法和装置,具体地涉及一种应用系统内嵌外部脚本 的方法和装置。
技术介绍
近年IT业迅猛发展,多种大型综合软件在各行业中涌现,大型综合软件会承载多 种业务,为了方便用户根据自身业务特点撰写不同的业务逻辑,提高系统灵活性,很多大型 综合软件提供了对外的API接口,专供用户调用,可执行用户自己编写不同业务逻辑的外 部脚本。所谓外部脚本,就是在系统既定的业务范围外,用户还需要其他辅助业务需要处 理,或者针对系统处理的内部数据,还需要精细加工或者特殊处理,而自行编写的程序化脚 本。该脚本能够独立依赖自身的脚本语言执行。当系统调用这些外部脚本后,根据脚本植 入系统配置的位置而依次调用。这样结合系统的业务功能和逻辑,就可以实现这种灵活的 功能或者业务扩展。内嵌方式不仅仅可以实现用户的自增逻辑扩展,同时也实现系统对外 部脚本的可控化,同时从性能角度出发,提升的效率也非常可观。 这种给用户提供调用自编脚本接口的方式,极大提高了系统的灵活性,但同时也 带来了一系列问题。其一由于用户编程语言习惯的不同可能会采用不同的语言撰写脚本, 当用户调用API接口试图运行这些脚本语言时,会调用系统资源执行其脚本,直接导致系 统处理效率降低,影响系统性能。其二,现有系统运行这些用户自编外部脚本的方式为通过 系统C程序调用SHELL脚本语言,SHELL语言再指向用户自编脚本程序包,这样几层调用关 系,会导致系统多语言混乱调用,降低系统处理能力,且调用语言脚本运行不可控,也无法 跟踪脚本程序包的运行情 ...
【技术保护点】
一种应用系统内嵌脚本的方法,其特征在于,所述方法包括:根据已编写好的外部各脚本语言程序包在所述应用系统中配置预先设定的脚本配置文件,以及为每种脚本语言类型配置相应的转换模型;所述应用系统加载所述脚本配置文件,根据所述脚本配置文件中的配置信息,获取各脚本语言程序包的存放路径,并在所述应用系统内部获取与所述各脚本语言类型相应的动态链接库;根据所述各转换模型,对与转换模型相同脚本语言类型的动态链接库完成初始化后,所述各动态链接库按照所述各脚本语言程序包的存放路径找到与其对应的脚本语言程序包,并对所述脚本语言程序包进行解析;根据所述各转换模型和所述脚本配置文件中的配置信息,在所述各动态链接库中植入与其相应的方法名和参数;所述应用系统调用所述动态链接库,执行所述动态链接库中植入的方法名和参数,返回执行结果。
【技术特征摘要】
1. 一种应用系统内嵌脚本的方法,其特征在于,所述方法包括: 根据已编写好的外部各脚本语言程序包在所述应用系统中配置预先设定的脚本配置 文件,以及为每种脚本语言类型配置相应的转换模型; 所述应用系统加载所述脚本配置文件,根据所述脚本配置文件中的配置信息,获取各 脚本语言程序包的存放路径,并在所述应用系统内部获取与所述各脚本语言类型相应的动 态链接库; 根据所述各转换模型,对与转换模型相同脚本语言类型的动态链接库完成初始化后, 所述各动态链接库按照所述各脚本语言程序包的存放路径找到与其对应的脚本语言程序 包,并对所述脚本语言程序包进行解析; 根据所述各转换模型和所述脚本配置文件中的配置信息,在所述各动态链接库中植入 与其相应的方法名和参数; 所述应用系统调用所述动态链接库,执行所述动态链接库中植入的方法名和参数,返 回执行结果。2. 根据权利要求1所述的方法,其特征在于,在所述通用语言动态链接库执行所述解 析后的与其对应的脚本语言程序包后,所述方法还包括: 清除所述动态链接库本次解析的内容,释放其所占系统资源。3. 根据权利要求1所述的方法,其特征在于,所述配置预先设定的脚本配置文件的方 法具体为: 在所述脚本配置文件中配置各脚本语言程序包的编写语言类型、存放路径、方法名和 执行该方法所需的参数,将每个脚本语言程序包的信息配置为一条记录。4. 根据权利要求1-3中任一所述的方法,其特征在于: 在每个所述转换模型中配置一种脚本语言类型的转换规则,所述转换规则包括与该脚 本语言类型相应的动态链接库初始化方法、生成解析器方法、外部传递参数方法、返回值方 法。5. 根据权利要求4之一所述的方法,其特征在于,在所述动态链接库初始化之前,所述 方法还包括: 根据所述脚本配置文件中配置各脚本语言程序包的方法名,与所述脚本程序包中的所 有方法名进行比对校验,如有方法名错误或未找到则提示错误报告并退出步骤。6. 根据权利要求5所述的方法,其特征在于: 根据所述转换规则中记载的动态链接库初始化方法对与该转换规则脚本语言类型相 应的动态链接库进行初始化; 读取所述脚本配置文件中记载的所述该脚本语言类型方法名和执行该方法所需的参 数,通过所述转换规则中的外部传递参数方法,将所述方法名和执行该方法所需的参数植 入相应的动态链接库。7. 根据权利要求5所述的方法,其特征在于: 所述脚本语言类型包括PERL语言、SHELL语言、PYTHON语言、LUA语言; 在所述应用系统内部获取与所述各脚本语言类型相应的动态链接库。8. 根据权利要求6所述的方法,其特征在于: 当出现新的脚本语言程序包时,可在脚本配置文件中增加新的记录,所述应用系统周 期性读取所述脚本配置文件中的信息,可根据实际操作需...
【专利技术属性】
技术研发人员:陈丹,张涛,张彦文,
申请(专利权)人:北京亿阳信通科技有限公司,亿阳信通股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。