CN103678485B - 虚拟试验流程节点驱动与活动封装系统 - Google Patents
虚拟试验流程节点驱动与活动封装系统 Download PDFInfo
- Publication number
- CN103678485B CN103678485B CN201310533528.0A CN201310533528A CN103678485B CN 103678485 B CN103678485 B CN 103678485B CN 201310533528 A CN201310533528 A CN 201310533528A CN 103678485 B CN103678485 B CN 103678485B
- Authority
- CN
- China
- Prior art keywords
- data
- script
- file
- script file
- encapsulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种虚拟试验流程节点驱动与活动封装系统,包括:脚本文件定义模块、数据显示模块、活动封装校验模块、活动封装执行模块、活动封装文件库;将固定动作进行封装,形成脚本文件并作为流程中的节点,在数据管理系统中完成上传数据到数据库、查询数据库提取数据、调用具体程序等功能,提高代码的通用性和重用性。
Description
技术领域
本发明涉及一种将试验流程进行封装和调用的系统,属于虚拟试验技术领域。
背景技术
随着仿真和数字化技术的发展,在产品研制过程中会产生大量的仿真和试验数据,为高效利用和充分共享这些数据,需要通过数据管理平台对这些数据进行统一管理。在数据管理或流程管理系统中,有部分较为复杂操作的需要频繁使用,比如数据的存储、软件调用等。因此,有必要将这些操作进行封装,以实现代码的重用,方便用户操作。将数据存储接口或者软件调用接口等接口按照AE(Application Encapsulation,活动封装)的编写标准进行封装,形成相应的活动封装脚本文件。用户需要存储仿真数据或调用软件时,直接调用这些活动封装脚本,即可实现将数据存储在关系型数据库和文件仓库中或完成软件的调用,而不必了解具体调用过程更不用编写调用代码。从而,用户使用更加便捷,即使不熟悉编程和接口的用户也能方便地进行相关操作。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种虚拟试验流程节点驱动与活动封装系统,将固定动作进行封装,形成脚本文件并作为流程中的节点,在数据管理系统中完成上传数据到数据库、查询数据库提取数据、调用具体程序等功能,提高代码的通用性和重用性。
本发明的技术解决方案:一种虚拟试验流程节点驱动与活动封装系统,包括:脚本文件定义模块、数据显示模块、活动封装校验模块、活动封装执行模块、活动封装文件库;其中:
脚本文件定义模块:依据用户的业务需求,按照活动封装脚本规范编写活动封装脚本文件,在脚本文件中定义文件属性、输入输出参数、执行过程和用户界面;活动封装脚本文件编写完成后,如果用户需要上传至活动封装脚服务器发布,活动封装校验模块会自动对脚本文件进行语法检查,校验无误后上传至活动封装脚服务器发布,脚本文件存储于活动封装脚本文件库供用户调用,如果用户不发布则可选择在本地进行存储;
活动封装校验模块:对从脚本文件定义模块得到的脚本文件进行语法检查,检查内容包括脚本字段名是否为空,上传的脚本文件名称与活动封装服务器端的脚本文件是否重名,如果校验出现错误就提示相应的错误信息,显示脚本文件发布不成功,用户需要再在脚本文件定义模块进行修改,修改完成后再次提交发布;
活动封装执行模块:从活动封装服务器中提取并解析脚本文件,同时从数据显示模块获取用户提交的数据,调用外部程序或数据库接口完成相应任务;通过该模块能够执行的任务包括:查询数据库提取数据、执行某段程序、自动上传仿真数据到数据库、将输出的仿真数据作为对象存储到数据库中四类任务;
数据显示模块:依据脚本文件中的用户界面设置参数生成用户交互界面,用户通过交互界面能够获取脚本运行状态、设定活动封装相关参数并提交用户数据,数据显示模块将这些数据提交给活动封装执行模块运行完成相应任务。
活动封装文件库:活动封装文件库是该系统中活动封装文件的存储区,通过脚本文件定义模块编辑生成的脚本文件,在通过活动封装校验模块的校验后,会自动存储在服务器上的脚本文件库中。用户需要使用脚本文件时,通过活动封装执行模块从活动封装文件库中取出脚本文件并进行解析和执行,从而完成相应功能。
本发明与现有技术相比的优点在于:
(1)本发明通过将数据存储接口或者软件调用接口等接口按照活动封装的编写标准进行封装,形成相应的活动封装脚本文件,让用户使用更加方便。
(2)本发明通过活动封装实现了查询数据库提取数据、执行某段程序、自动上传仿真数据到数据库等功能,为数据管理提供支持。
(3)本发明通过活动封装的方式能够实现在仿真流程中对商业软件、自研软件等进行自动调用,能够有效提高设计人员工作效率。
附图说明
图1为本发明系统的组成框图;
图2为脚本定义模块的实现过程;
图3为脚本校验模块的实现过程;
图4为活动封装执行模块的实现过程;
图5为数据显示模块的实现过程;
图6为活动封装文件库的实现过程;
具体实施方式
该系统包括脚本定义模块、脚本校验模块、活动封装执行模块和数据显示模块等四个模块。其中脚本定义模块将仿真数据存储接口封装在活动封装中,脚本校验模块在活动封装执行前对脚本进行语法检查等校验,活动封装执行模块负责动作的实现,数据的存储是通过显示模块提供浏览器交互界面来实现的,如图1所示。
(1)脚本文件定义:一个活动封装对应一个脚本文件或一个流程文件,而一个流程文件是由两个或两个以上的脚本文件组成,流程文件本身没有输出,它只能通过调用脚本文件,使其按照某种特定的顺序(平行、循环和分支等)执行,从而产生输出。因此脚本文件就是活动封装的基本组成单位。一个脚本文件一般由以下六部分组成Definition、Inputs、Outputs、Resources、ExecInstruction和UILayout。
①Definition:定义脚本的基本属性。其中,“name”为名称,必须包含脚本在活动封装中的全路径,例如:脚本的路径为
“ae\directory\MyActivity.xml”,则name=“directory.MyActivity”;“label”为在系统页面中展示的标签;“image”为页面显示图标的名称;“showOnProject”表示是否将此脚本显示在项目进程中;“interactive”表示脚本是否只由创建者执行;“templateType”为模板类型;“outputFilter”表示运用表达式进行输出过滤;“execMode”为脚本执行模式,包括四种模式:Remote(排队执行)、Local(在服务器上执行)、LocalImmediate(在服务器上立即执行)和Client-Side(在客户端上执行)。
②Inputs:定义输入。其中,“name”为名称;“label”为在页面中展示的标签;type为输入数据的类型(包括双精度浮点类型、布尔型、整型、实体、字符串、文件、对象、XML、列表和多级映射对象),“required”表示是否是必须的,若为“true”,则在输入UI界面中必须输入。
③Outputs:定义输出。Resources:脚本使用的外部文件,它允许脚本重复使用同一个源文件。每个Resources必须含有的属性值是:“name”用以区别系统库中不同的资源;“targetFile”目标文件的名称。Resources是自动下载到工作目录,从而被执行的。Resources可能是任何类型的的文件,例如PCL、JAR、JavaScript程序。
④ExecInstruction:执行程序。其中“ScriptType”为执行程序的类型,
包括ANT、JavaScript和Python。<![CDATA[…]]>标签中为执行程序的代码,通过调用系统自身的API完成数据的存储。
⑤UILayout:用户界面设置,是用户操作数据库的接口。其中包含两部分内容:<Constraints>和<Page>。<Constraints>中主要说明输入项中的一些约束条件,<Page>主要说明输入项的格式,“param”为输入的参数名,“label”为页面显示的标签,“type”为页面显示的参数类型,包含文本列表、下拉列表、数据对象列表等。
(2)活动封装脚本校验模块:脚本编辑器定义好可执行脚本后,点击上传定义脚本,将定义脚本上传至服务器端。上传时会对执行脚本进行验证,验证内容包括脚本字段名是否为空,上传的脚本文件名称与服务器端的脚本文件是否重名,若出现错误就提示相应的错误信息。
(3)活动封装执行模块:从数据流的角度来看,活动封装主要实现以下四种功能:查询数据库提取数据、执行某段程序、自动上传仿真数据到数据库、将输出的仿真数据作为对象(Object)存储到数据库中。
①查询数据库提取数据:通过调用ExportFile方法将从数据库查询到仿真数据自动下载到本地。
②执行某段程序:在活动封装中可以执行Java、JavaScript程序,并且可以通过这些程序启动仿真软件。
③自动上传仿真数据到数据库:将仿真完成的数据保存到指定的文件夹下之后,活动封装可以将其自动上传到指定的数据库中。
④将输出数据作为对象(Object)存储到数据库中:活动封装可以将某个流程的仿真数据作为一个整体对象存储到数据库中。
(4)数据显示模块:该模块主要向用户提供交互界面,用户界面可在脚本文件中定制。用户界面的定制包含两部分内容:<Constraints>和<Page>。<Constraints>中主要说明输入项中的一些约束条件,<Page>主要说明输入项的格式,“param”为输入的参数名,“label”为页面显示的标签,“type”为页面显示的参数类型,包含文本列表、下拉列表、数据对象列表等。通过交互页面用户能够向活动封装提供输入参数支持脚本文件的运行,也可读取输出参数和脚本运行状态。
(5)活动封装文件库部署于服务器,作为该系统中活动封装文件的存储区统一存储全部活动封装脚本文件。由脚本文件定义模块编辑生成的脚本文件,在通过活动封装校验模块的校验后,会自动存储在服务器上的脚本文件库中。用户需要使用脚本文件时,通过活动封装执行模块从活动封装文件库中取出脚本文件并进行解析和执行,从而完成相应功能。
通过活动封装脚本完成一项任务需要经过活动封装脚本文件定义、脚本文件校验、脚本文件存储、活动封装文件执行和数据结果显示等阶段,其具体过程如下:
(1)脚本文件定义:首先明确用户相关业务需求,再通过脚本文件编辑器按照脚本文件编写规则编制脚本文件,定义好的脚本文件可在脚本文件库中保存,也可以正式发布。在脚本文件正式发布之前,需要通过脚本校验模块进行检查校验,校验完成后才能成功发布。具体过程见图2。
(2)脚本文件校验:脚本文件校验模块的功能是按照活动封装的组成和语法规则对脚本文件进行检查,确保正式发布的脚本文件格式和语法正确无误,能够正常使用。用户定义完脚本文件后如果选择上传文件,则文件将被提交至脚本文件校验模块进行校验,主要包括两方面的校验:脚本字段是否为空和脚本文件是否与已有文件重名,校验通过脚本文件将上传至服务器发布,校验不能通过将会返回脚本定义模块重新编辑。具体过程见图3。
(3)脚本文件存储:活动封装文件库是该系统中活动封装文件的存储区,通过脚本文件定义模块编辑生成的脚本文件,在通过活动封装校验模块的校验后,会自动存储在服务器上的脚本文件库中,用户需要使用脚本文件时,通过活动封装执行模块从活动封装文件库中提取脚本文件。具体过程见图4。
(4)活动封装脚本执行:活动封装执行模块是脚本执行引擎,通过该引擎能够完成查询数据库提取数据、执行某段程序、自动上传仿真数据到数据库、将输出的仿真数据作为对象(Object)存储到数据库中等功能。图5中展示了通过脚本完成自动上传仿真数据至数据库的过程,具体说明如下:
①输入设置:在浏览器中的数据管理视图区调用AE,首先查询数据库,将已知的变量赋值到页面上,然后将相关的仿真分析参数和结果录入到页面上对应的输入框中。
②实例化:启动活动封装脚本进行实例化,将输入设置参数传递给动作执行程序作为初始参数。
③执行:执行JavaScript程序,完成将文件存入文件仓库的动作。
④数据导入:将交互页面上输入的参数通过转化存储到关系数据库和文件仓库中,可供查询。
⑤输出清理:最后清理存储过程中产生的缓存文件,释放内存,完成数据的存储过程。
(5)数据显示:该模块主要向用户提供交互界面,用户界面通过脚本文件定义模块进行定制。通过交互页面用户能够向活动封装提供输入参数支持脚本文件的运行,也可读取输出参数和脚本运行状态。具体过程见图6:数据显示模块首先通过活动封装执行模块获取脚本文件中的用户界面定义参数,并依据用户界面定义参数生成用户交互界面,用户通过交互界面填写脚本文件的输入参数,数据显示模块将输入参数提交给活动封装执行模块作为脚本执行过程中的输入。
本发明未详细描述的部分属于本领域公知技术。
Claims (1)
1.一种虚拟试验流程节点驱动与活动封装系统,其特征在于包括:脚本文件定义模块、数据显示模块、活动封装校验模块、活动封装执行模块、活动封装文件库;其中:
脚本文件定义模块:依据用户的业务需求,按照活动封装脚本规范编写活动封装脚本文件,在脚本文件中定义文件属性、输入输出参数、执行过程和用户界面;活动封装脚本文件编写完成后,如果用户需要上传至活动封装脚服务器发布,活动封装校验模块会自动对脚本文件进行语法检查,校验无误后上传至活动封装脚服务器发布,脚本文件存储于活动封装脚本文件库供用户调用,如果用户不发布则可选择在本地进行存储;
活动封装校验模块:对从脚本文件定义模块得到的脚本文件进行语法检查,检查内容包括脚本字段名是否为空,上传的脚本文件名称与活动封装服务器端的脚本文件是否重名,如果校验出现错误就提示相应的错误信息,显示脚本文件发布不成功,用户需要再在脚本文件定义模块进行修改,修改完成后再次提交发布;
活动封装执行模块:从活动封装服务器中提取并解析脚本文件,同时从数据显示模块获取用户提交的数据,调用外部程序或数据库接口完成相应任务;通过该模块能够执行的任务包括:查询数据库提取数据、执行某段程序、自动上传仿真数据到数据库、将输出的仿真数据作为对象存储到数据库中四类任务,具体如下:
①查询数据库提取数据:通过调用ExportFi le方法将从数据库查询到仿真数据自动下载到本地;
②执行某段程序:在活动封装中可以执行Java、JavaScript程序,并且可以通过这些程序启动仿真软件;
③自动上传仿真数据到数据库:将仿真完成的数据保存到指定的文件夹下之后,活动封装可以将其自动上传到指定的数据库中;
④将输出数据作为对象(Object)存储到数据库中,活动封装可以将某个流程的仿真数据作为一个整体对象存储到数据库中;
数据显示模块:依据脚本文件中的用户界面设置参数生成用户交互界面,用户通过交互界面能够获取脚本运行状态、设定活动封装相关参数并提交用户数据,数据显示模块将这些数据提交给活动封装执行模块运行完成相应任务;
活动封装文件库:活动封装文件库是该系统中活动封装文件的存储区,通过脚本文件定义模块编辑生成的脚本文件,在通过活动封装校验模块的校验后,会自动存储在服务器上的脚本文件库中;用户需要使用脚本文件时,通过活动封装执行模块从活动封装文件库中取出脚本文件并进行解析和执行,从而完成相应功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533528.0A CN103678485B (zh) | 2013-12-26 | 2013-12-26 | 虚拟试验流程节点驱动与活动封装系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310533528.0A CN103678485B (zh) | 2013-12-26 | 2013-12-26 | 虚拟试验流程节点驱动与活动封装系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678485A CN103678485A (zh) | 2014-03-26 |
CN103678485B true CN103678485B (zh) | 2017-05-10 |
Family
ID=50316030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310533528.0A Active CN103678485B (zh) | 2013-12-26 | 2013-12-26 | 虚拟试验流程节点驱动与活动封装系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678485B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345639B (zh) * | 2018-01-10 | 2021-05-18 | 武汉天喻教育科技有限公司 | 一种任务管理系统和任务管理方法 |
CN109308285A (zh) * | 2018-10-11 | 2019-02-05 | 平安科技(深圳)有限公司 | 数据库脚本管理方法、装置、计算机设备及存储介质 |
CN109359245A (zh) * | 2018-11-14 | 2019-02-19 | 北京汉迪移动互联网科技股份有限公司 | 信息推送方法、装置、服务器及存储介质 |
CN109800258B (zh) * | 2018-12-10 | 2024-01-26 | 平安科技(深圳)有限公司 | 数据文件部署方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123616A (zh) * | 2007-09-28 | 2008-02-13 | 北京金山软件有限公司 | 一种服务器管理的方法及一种服务器管理系统 |
CN101901265A (zh) * | 2010-07-29 | 2010-12-01 | 中国运载火箭技术研究院 | 一种虚拟试验数据对象化管理系统 |
EP1901211A3 (en) * | 2006-09-07 | 2011-05-11 | Samsung Electronics Co., Ltd. | Software robot apparatus |
CN102662770B (zh) * | 2012-04-28 | 2014-02-19 | 中国人民解放军国防科学技术大学 | 分布式虚拟试验系统中的节点同步方法 |
-
2013
- 2013-12-26 CN CN201310533528.0A patent/CN103678485B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1901211A3 (en) * | 2006-09-07 | 2011-05-11 | Samsung Electronics Co., Ltd. | Software robot apparatus |
CN101123616A (zh) * | 2007-09-28 | 2008-02-13 | 北京金山软件有限公司 | 一种服务器管理的方法及一种服务器管理系统 |
CN101901265A (zh) * | 2010-07-29 | 2010-12-01 | 中国运载火箭技术研究院 | 一种虚拟试验数据对象化管理系统 |
CN102662770B (zh) * | 2012-04-28 | 2014-02-19 | 中国人民解放军国防科学技术大学 | 分布式虚拟试验系统中的节点同步方法 |
Non-Patent Citations (1)
Title |
---|
虚拟试验支撑平台试验流程设计及运行控制软件开发;王世魁;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20120315(第03期);第3-4章,图3-1至3-11 * |
Also Published As
Publication number | Publication date |
---|---|
CN103678485A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825362B (zh) | 低代码应用软件开发系统及方法 | |
CN110928529B (zh) | 辅助算子开发的方法和系统 | |
WO2023071075A1 (zh) | 机器学习模型自动化生产线构建方法及系统 | |
US9804837B2 (en) | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries | |
US9021419B2 (en) | System and method for supporting intelligent design pattern automation | |
CN110825369A (zh) | 一种基于java语言的代码自动生成的方法 | |
WO2019072110A1 (zh) | 应用程序的生成方法、装置、系统、设备和介质 | |
CN101488085A (zh) | 软件接口测试方法和装置 | |
CN103678485B (zh) | 虚拟试验流程节点驱动与活动封装系统 | |
US8661356B2 (en) | Time application having an intergrated check engine | |
CN113064593B (zh) | 移动app动态化的方法、装置、计算机设备及存储介质 | |
CN110362490B (zh) | 融合iOS与Android移动应用的自动化测试方法及系统 | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
CN112835584B (zh) | 基于ReactNative实现组件扩展和管理的方法 | |
CN107506190A (zh) | 基于Spring框架的XML文件修改方法及装置 | |
CN115357289A (zh) | 寄存器应用信息生成方法、装置、电子设备和存储介质 | |
CN106484452A (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN104317580A (zh) | 虚拟试验应用集成开发环境 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
Sasidharan | Full stack development with JHipster: build full stack applications and microservices with Spring Boot and modern JavaScript frameworks | |
CN112506943B (zh) | 一种异构数据服务提供方法、装置、设备和介质 | |
Jaber et al. | A high-level modeling language for the efficient design, implementation, and testing of Android applications | |
CN114253546A (zh) | 代码的生成方法、装置、存储介质及电子装置 | |
Rodríguez-Echeverría et al. | Model driven extraction of the navigational concern of legacy web applications | |
Bhattacharjee et al. | Cloudcamp: A model-driven generative approach for automating cloud application deployment and management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |