一种插件化脚本编程的方法及系统技术方案

技术编号:27934232 阅读:18 留言:0更新日期:2021-04-02 14:13
本发明专利技术提供了一种插件化脚本编程的方法及系统,包括:从目标项目的主应用程序抽离出功能操作点;引入核心脚本文件包,识别目标项目的功能操作点,获取调度配置文件;配置目标项目需要扫表的脚本文件包、文件服务地址;开启扫描目标项目,配置接口文件,识别功能操作点;调度配置处理个性化定制业务,根据调度配置执行需要个性化的脚本文件;通过文件服务,管理所有脚本文件及调度配置文件。本发明专利技术提高了代码的标准化、规范化;在不改变原有业务和代码的同时,通过编写脚本的形式用插件方式集成进来,每个不同业务应用通过不同脚本动态的发布,大幅提升了对产品多样性的支持;加快了产品快速更新迭代;增加了个性化定制能力,扩大了产品的宽度。

【技术实现步骤摘要】
一种插件化脚本编程的方法及系统
本专利技术涉及计算机软件编程
,具体而言,涉及一种插件化脚本编程的方法及系统。
技术介绍
对于许多创新创业型网络科技公司来说,项目量很大,功能复杂,业务变化太多、太快,开发周期较短,因此导致项目代码挤压式地堆积,而绝大部分的代码冗余,无法公用且重复度较高;开发过于以业务功能结果为导向,而忽略代码的抽象、公用等设计方式,致使代码可读性较差,加大了新进入同事的融入业务的时间,增加了公司成本。对于上架企业微信同一类型不同业务的多个应用,并且还有的不确定需要由实际客户需求及公司产品方向决定,而服务端不可能因有几个应用就生成几个指定的服务端服务,这样人力资源不够也会增加硬件成本,同时会导致服务端项目无法维护。另外,有的业务用的数据存储是mysql,目前由于数据量过大,可能导致mysql后期无法良好支撑,因此把该业务数据用cassandra存储,研发人员认为该业务代码不能一刀切,不能直接通过更改原来的方式把数据写入切换至cassandra,这时就需要不更改原来API,直接在原来API前后做处理。还有,SaaS平台产品里面有个文章功能,该功能是通用的标准产品功能,然而有的客户需要在发布文章的同时给该客户自己内部系统发送一个通知,由于不是标准产品功能属于定制化功能,如果单独修改该功能就会影响别的企业正常使用。
技术实现思路
鉴于此,本专利技术旨在实现代码插件化、脚本化;脚本动态化、热更新;解决代码冗余,无法公用且重复度高的问题;。为了实现上述目的,本专利技术提供了一种插件化脚本编程的方法,包括如下步骤:S1、从目标项目的主应用程序抽离出功能操作点;S2、引入核心脚本文件包,识别目标项目的功能操作点,获取调度配置文件;优选地,引入核心jar包;所述核心jar包含有脚本插件化关键组件;所述核心jar包用于:识别被引用目标项目的功能操作点;具体地,创建用户addUser,发布文章publishArticle;获取调度配置文件;具体地,发布文章前执行某个脚本publishArticle:before:testGroovy;通过调度配置处理个性化定制业务,根据调度配置执行需要个性化的业务脚本;具体地,在文章发布前给某企业管理人员推送一个通知;S3、配置所述目标项目需要扫表的脚本文件包、文件服务地址;集成脚本插件的各个项目,项目内含有需要插入操作或需要个性化处理的功能操作点,即具体某个方法;S4、开启扫描目标项目,配置接口文件,识别所述功能操作点;优选地,目标项目开启扫描,配置applicationContext.xml,和/或注册MethodInterceptorConfig配置;扫描识别需要集成项目里面的所有功能操作点,即需要处理的方法;S5、调度配置处理个性化定制业务,根据调度配置执行需要个性化的脚本文件;根据调度配置,把指定脚本在指定位置执行,功能操作点前后运行指定脚本;S6、通过所述文件服务,管理所有脚本文件及调度配置文件。进一步地,所述S3步骤中,配置所述目标项目需要扫表的脚本文件包的过程是:集成脚本文件的各个项目,项目内含有需要插入操作或需要个性化处理的功能操作点,即具体某个方法。。进一步地,所述目标项目里的功能操作点与所述脚本文件之间进行参数传递,相互并行。进一步地,所述S6步骤中,所述管理所有脚本文件及调度配置文件的方法包括保存记录调度配置文件、脚本文件。本专利技术还提供一种插件化脚本编程的方法的系统,其特征在于,包括:目标项目模块:用于抽离出所需功能操作点,配置目标项目需要扫表的包、文件服务地址;目标项目开启扫描,配置接口文件,识别目标项目里的功能操作点;优选地,目标项目开启扫描,配置applicationContext.xml,和/或注册MethodInterceptorConfig配置;脚本文件包模块:用于引入核心脚本文件包,识别被引用目标项目的方法;获取调度配置文件;通过调度配置处理个性化定制业务,根据调度配置执行需要个性化的业务脚本;优选地,引入核心jar包;文件服务模块:用于保存记录调度配置文件、执行的脚本文件,文件随时上传,随时编辑。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现所述插件化脚本编程的方法的步骤。本专利技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述插件化脚本编程的方法的步骤。与现有技术相比,本专利技术有益效果是:提高代码的标准化、规范化;在不改变原有业务和代码的同时,通过编写脚本的形式用插件的方式集成进来,每个不同业务的应用通过不同脚本动态的发布,既不影响原来应用使用,又能不停机的发布新功能,且服务端只有一个项目,大幅提升了对产品多样性的支持;加快了产品快速更新迭代;增加了个性化定制能力,扩大了产品的宽度。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。在附图中:图1为本专利技术一种插件化脚本编程的方法的流程图;图2为本专利技术一种插件化脚本编程的方法的工作框架图;图3为本专利技术实施例提供的一种计算机设备的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本专利技术实施例一种插件化脚本编程的方法,对于spring+struts2+hibernate项目框架,参阅附图图1所示,包括如下步骤:S1、从目标项目的主应用程序抽离出功能操作点;S2、引入核心脚本文件包,识别目标项目的功能操作点,获取调度配置文件;优选地,引本文档来自技高网...

【技术保护点】
1.一种插件化脚本编程的方法,其特征在于,包括如下步骤:/nS1、从目标项目的主应用程序抽离出功能操作点;/nS2、引入核心脚本文件包,识别目标项目的功能操作点,获取调度配置文件;/nS3、配置所述目标项目需要扫表的脚本文件包、文件服务地址;/nS4、开启扫描目标项目,配置接口文件,识别所述功能操作点;/nS5、调度配置处理个性化定制业务,根据调度配置执行需要个性化的脚本文件;/nS6、通过所述文件服务,管理所有脚本文件及调度配置文件。/n

【技术特征摘要】
1.一种插件化脚本编程的方法,其特征在于,包括如下步骤:
S1、从目标项目的主应用程序抽离出功能操作点;
S2、引入核心脚本文件包,识别目标项目的功能操作点,获取调度配置文件;
S3、配置所述目标项目需要扫表的脚本文件包、文件服务地址;
S4、开启扫描目标项目,配置接口文件,识别所述功能操作点;
S5、调度配置处理个性化定制业务,根据调度配置执行需要个性化的脚本文件;
S6、通过所述文件服务,管理所有脚本文件及调度配置文件。


2.根据权利要求1所述的方法,其特征在于,所述S2步骤,所述识别目标项目的功能操作点的方法包括创建用户addUser,发布文章publishArticle。


3.根据权利要求1所述的方法,其特征在于,所述S2步骤中,所述获取调度配置文件的方法包括发布文章前执行某个脚本publishArticle:before:testGroovy。


4.根据权利要求1所述的方法,其特征在于,所述S3步骤中,配置所述目标项目需要扫表的脚本文件包的过程是:集成脚本文件的各个项目,项目内含有需要插入操作或需要个性化处理的功能操作点。


5.根据权利要求1所述的方法,其特征在于,所述目标项目里的功能操作点与所述脚本文件之间进行参数传递,相互并行。


6....

【专利技术属性】
技术研发人员:张锦涛刘思进于洋贵玉婷
申请(专利权)人:上海向心云网络科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1