一种动态扩展软件流程的方法和系统技术方案

技术编号:16499527 阅读:47 留言:0更新日期:2017-11-04 11:07
本发明专利技术公开了一种动态扩展软件流程的方法和系统,属于软件技术领域。该方法包括:接收并存储用户定制的动作序列以及针对动作编写的脚本文件;针对动作序列中的每一个动作,获取当前动作对应的脚本文件,根据脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;根据脚本特征值查找当前动作对应的脚本可执行程序;如果查找成功,则构造操作系统命令启动脚本可执行程序,监测并分析脚本可执行程序的错误流和标准输出流,将当前动作的执行结果作为下一个动作的输入参数。采用本发明专利技术,用户能使用任意脚本语言快速定制流程,并通过监控脚本执行结果在不同脚本间传递信息,快速融合多个脚本形成处理链,能与异构系统集成,从而提升了灵活性。

Method and system for dynamically extending software flow

The invention discloses a method and a system for dynamically expanding software flow, belonging to the field of software technology. The method includes receiving and storing custom action sequences as well as action script file; for each action in the sequence, to obtain the current action corresponding to the script file, according to the prefix, suffix and / or script files in the file header information extracting characteristic values according to the script script; eigenvalue search the corresponding action script executable; if the search is successful, it constructs an operating system command to start the script executable program, monitor and analyze the script executable program error flow and standard output stream, the current act as input parameters for the next action. According to the invention, the user can use any scripting language for rapid customization process, and transmit information in different scripts by monitoring script execution results, rapid integration of multiple scripts form processing chain, can be integrated with heterogeneous systems, so as to enhance the flexibility of.

【技术实现步骤摘要】
一种动态扩展软件流程的方法和系统
本专利技术涉及计算机软件
,尤其涉及一种动态扩展软件流程的方法和系统。
技术介绍
各行各业的计算机信息系统都存在工作流程,比如,通讯网络包括网元实体和网管软件两部分,网管软件中的操作流程都基本是固定的,很难动态扩展。但用户的需求又是多变的,例如在版本升级的过程中,用户希望加入对性能指标的对比。目前,计算机信息系统也可以执行用户编写的脚本,从而组合运行这些脚本,达到灵活定制子流程和流程的目的。然而,执行脚本方式是将脚本文件编译成系统的一部分,通过类加载器等技术运行脚本逻辑。这种方法是在软件发布之前进行,对编写脚本的人员技能要求较高,且支持的脚本语言数量有限,不能与异构系统集成,扩展的灵活性不高。
技术实现思路
本专利技术的主要目的在于提出一种动态扩展软件流程的方法和系统,旨在解决对用户灵活定制流程和子流程时对编写脚本技能要求高,且支持的脚本语言数量有限,不能与异构系统集成的技术问题。根据本专利技术的一个方面,提供的一种动态扩展软件流程的方法包括:接收并存储用户定制的动作序列以及针对动作编写的脚本文件;针对动作序列中的每一个动作,获取当前动作对应的脚本文件,根据脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;根据脚本特征值,查找当前动作对应的脚本可执行程序;如果查找成功,则构造操作系统命令启动脚本可执行程序,操作系统命令携带脚本可执行程序名称及其路径、脚本文件名称和参数;监测并分析脚本可执行程序的错误流和标准输出流,将执行结果作为下一个动作的输入参数。优选的,根据脚本特征值,查找当前动作对应的脚本可执行程序进一步包括:根据脚本特征值,在本地脚本引擎仓库查找当前动作对应的脚本可执行程序;如果查找失败,如果查找失败,则根据所述脚本特征值向则向服务器脚本引擎仓库查询当前动作对应的脚本引擎安装包和脚本引擎安装程序,下载并在本地安装查询到的脚本引擎安装包和脚本引擎安装程序。优选的,监测并分析脚本可执行程序的错误流和标准输出流进一步包括:监测脚本可执行程序的错误流,如果有错误信息,则判定执行结果为失败;监测脚本可执行程序的标准输出流,提取其中的执行结果信息。优选的,上述方法还包括:接收用户定制的脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序;在本地安装脚本引擎安装包和脚本引擎安装程序,并在本地关联存储脚本特征值、脚本可执行程序名称及其路径。优选的,上述接收用户定制的脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序之后还包括:向服务器的脚本引擎仓库发送脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序。根据本专利技术的另一个方面,提供一种动态扩展软件流程的系统包括:接收模块,用于接收用户定制的动作序列以及针对动作编写的脚本文件;存储模块,用于存储用户定制的动作序列以及针对动作编写的脚本文件;脚本引擎仓库,用于关联存储脚本特征值及对应的可执行程序名称及其路径;调度模块,用于向脚本执行体调度执行动作序列中的每一个动作;执行模块,用于获取当前动作对应的脚本文件,根据脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;根据脚本特征值,查找当前动作对应的脚本可执行程序;如果查找成功,则构造操作系统命令启动脚本可执行程序,操作系统命令携带脚本可执行程序名称及其路径、脚本文件名称和参数;监测模块,用于监测并分析脚本可执行程序的错误流和标准输出流,将执行结果作为下一个动作的输入参数反馈给调度模块。优选的,执行模块包括:第一获取单元,用于获取当前动作对应的脚本文件,根据脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;第二获取单元,用于根据脚本特征值,查找当前动作对应的脚本可执行程序;启动单元,用于当查找成功时,构造操作系统命令启动脚本可执行程序,操作系统命令携带脚本可执行程序名称及其路径、脚本文件名称和参数;其中,第二获取单元具体用于:根据脚本特征值,在本地脚本引擎仓库查找当前动作对应的脚本可执行程序;如果查找失败,则根据所述脚本特征值向则向服务器脚本引擎仓库查询当前动作对应的脚本引擎安装包和脚本引擎安装程序,下载并在本地安装查询到的脚本引擎安装包和脚本引擎安装程序。优选的,监测模块具体用于:监测脚本可执行程序的错误流,如果有错误信息,则判定执行结果为失败反馈给调度模块;监测脚本可执行程序的标准输出流,提取其中的执行结果信息反馈给调度模块。优选的,上述系统还包括引擎入库模块,具体用于:接收用户定制的脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序;在本地安装脚本引擎安装包和脚本引擎安装程序,并本地关联存储脚本特征值和脚本可执行程序名称。优选的,引擎入库模块还用于:向服务器的脚本引擎仓库发送脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序。本专利技术实施例提供的动态扩展软件流程的方法和系统,用户能根据需要采用自己熟悉的任意脚本语言快速定制流程需求,通过监控脚本处理过程,不同脚本间可传递信息,快速融合多个脚本,形成脚本处理链,能与异构系统集成,提升了定制流程的灵活性。附图说明图1为本专利技术实施例一提供的一种动态扩展软件流程的方法的流程图;图2为本专利技术实施例一提供的一种获取脚本可执行程序的方法的流程图;图3为本专利技术实施例二提供的一种基站版本升级的扩展软件流程的方法的流程图;图4为本专利技术实施例三提供的一种动态扩展软件系统的模块结构示意图;图5为本专利技术实施例三提供的另一种动态扩展软件系统的模块结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一如图1所示,本专利技术实施例提供的一种动态扩展软件流程的方法包括以下步骤:S10、接收并存储用户定制的动作序列以及针对动作编写的脚本文件。具体的,用户可以通过人机界面定制动作序列,并通过脚本文件定制其中自定义的动作要实现的功能。S20、针对动作序列中的每一个动作,获取当前动作对应的脚本文件,根据脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值。具体的,按照动作序列中顺序,依次调度每一个动作,调度功能可以是应用程序客户端,也可以是计算机系统的一个调度进程。S30、根据脚本特征值,查找当前动作对应的脚本可执行程序。具体的,本步骤S30可以从本地的脚本引擎仓库查找对应的脚本可执行程序,也可以从服务器的脚本引擎仓库查找对应的脚本可执行程序。作为一种优选方案,为了既能提高执行效率,又能在本地没有配置脚本引擎时能共享各用户的脚本引擎仓库,本步骤S30进一步包括:根据脚本特征值,在本地脚本引擎仓库查找当前动作对应的脚本可执行程序;如果查找失败,则根据所述脚本特征值向则向服务器脚本引擎仓库查询当前动作对应的脚本引擎安装包和脚本引擎安装程序,下载并在本地安装查询到的脚本引擎安装包和脚本引擎安装程序。请参考图2,本步骤S30具体包括:S301、根据脚本特征值,在本地脚本引擎仓库查找当前动作对应的脚本可执行程序。S302、判断查找是否成功,如果是,则结束流程,否则执行步骤S303。S303、向脚本引擎仓本文档来自技高网...
一种动态扩展软件流程的方法和系统

【技术保护点】
一种动态扩展软件流程的方法,其特征在于,该方法包括:接收并存储用户定制的动作序列以及针对动作编写的脚本文件;针对所述动作序列中的每一个动作,获取当前动作对应的脚本文件,根据所述脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;根据所述脚本特征值,查找当前动作对应的脚本可执行程序;如果查找成功,则构造操作系统命令启动脚本可执行程序,所述操作系统命令携带脚本可执行程序名称及其路径、脚本文件名称和参数;监测并分析所述脚本可执行程序的错误流和标准输出流,将执行结果作为下一个动作的输入参数。

【技术特征摘要】
1.一种动态扩展软件流程的方法,其特征在于,该方法包括:接收并存储用户定制的动作序列以及针对动作编写的脚本文件;针对所述动作序列中的每一个动作,获取当前动作对应的脚本文件,根据所述脚本文件的前缀、后缀和/或文件头中的信息提取脚本特征值;根据所述脚本特征值,查找当前动作对应的脚本可执行程序;如果查找成功,则构造操作系统命令启动脚本可执行程序,所述操作系统命令携带脚本可执行程序名称及其路径、脚本文件名称和参数;监测并分析所述脚本可执行程序的错误流和标准输出流,将执行结果作为下一个动作的输入参数。2.根据权利要求1所述的动态扩展软件流程的方法,其特征在于,所述根据所述脚本特征值,查找当前动作对应的脚本可执行程序进一步包括:根据所述脚本特征值,在本地脚本引擎仓库查找当前动作对应的脚本可执行程序;如果查找失败,则根据所述脚本特征值向则向服务器脚本引擎仓库查询当前动作对应的脚本引擎安装包和脚本引擎安装程序,下载并在本地安装查询到的脚本引擎安装包和脚本引擎安装程序。3.根据权利要求1所述的动态扩展软件流程的方法,其特征在于,所述监测并分析所述脚本可执行程序的错误流和标准输出流进一步包括:监测所述脚本可执行程序的错误流,如果有错误信息,则判定执行结果为失败;监测所述脚本可执行程序的标准输出流,提取其中的执行结果信息。4.根据权利要求1所述的动态扩展软件流程的方法,其特征在于,所述方法还包括:接收用户定制的脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序;在本地安装所述脚本引擎安装包和脚本引擎安装程序,并在本地关联存储所述脚本特征值、脚本可执行程序名称及其路径。5.根据权利要求4所述的动态扩展软件流程的方法,其特征在于,所述接收用户定制的脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序之后,该方法还包括:向服务器的脚本引擎仓库发送脚本特征值、以及对应的脚本可执行程序名称、脚本引擎安装包和脚本引擎安装程序。6.一种动态扩展软件流程的系统,其特征在于,该系统包括:接收模块,用于接收用户定制的动作序列以及针对动作编写的脚本文件;存储模块,用于存储用户定制的动作序列以及针对动作编写的脚本文件;脚本引擎仓库,用于关联存储脚本特...

【专利技术属性】
技术研发人员:邬春会
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1