CN106202470B - 脚本的处理方法及系统 - Google Patents

脚本的处理方法及系统 Download PDF

Info

Publication number
CN106202470B
CN106202470B CN201610564296.9A CN201610564296A CN106202470B CN 106202470 B CN106202470 B CN 106202470B CN 201610564296 A CN201610564296 A CN 201610564296A CN 106202470 B CN106202470 B CN 106202470B
Authority
CN
China
Prior art keywords
script
server
client
parameter information
set content
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
Application number
CN201610564296.9A
Other languages
English (en)
Other versions
CN106202470A (zh
Inventor
蒙安魁
方晓霖
屈可敏
张晓润
林绵程
程广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201610564296.9A priority Critical patent/CN106202470B/zh
Publication of CN106202470A publication Critical patent/CN106202470A/zh
Application granted granted Critical
Publication of CN106202470B publication Critical patent/CN106202470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种脚本的处理方法及系统。其中,该方法包括:客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;客户端将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果。本发明解决了相关技术中所提供的脚本构建方式需要耗费较高成本且构建效率较低的技术问题。

Description

脚本的处理方法及系统
技术领域
本发明涉及软件工程领域,具体而言,涉及一种脚本的处理方法及系统。
背景技术
脚本是批处理文件的延伸,其为一种纯文本保存的程序,通常而言的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。在计算机相关的工作中,往往需要开发编写脚本来执行一些功能操作并以此来提高工作效率。在开发实现具体功能逻辑的脚本时,通常需要根据执行脚本的用户输入的参数进行对应的逻辑处理;而用户需要通过命令行的方式进行脚本的执行,操作繁琐;并且,脚本的执行需要本地计算机系统安装并预先配置完成相应的脚本解释器以及相关功能库等环境。除非脚本开发者增加工作量专门对脚本参数说明进行额外处理,否则用户将无法直观地看到脚本需要输入的参数说明和规则等信息。
由此可见,在相关技术中所提供的响应用户输入脚本的方式中,不同的用户在执行一个相同的脚本时,存在以下问题:
(1)脚本的执行需要在本地安装相应的脚本解释器和相关功能库等环境,每个用户的系统都需要进行相关配置,由此需要耗费较大成本。
(2)用户在执行脚本时无法直观地看到脚本需要的参数说明和规则等信息。
(3)脚本内部代码需要对用户输入参数进行相关的处理,即脚本开发者需要针对脚本所使用到的参数单独写一段代码来展示如何使用该脚本,通常是在用户执行脚本时,后带一个名为“help”的字符串;以python脚本为例,脚本文件的名称为demo.py,那么用户通常通过python demo.py help来查看脚本参数使用信息,然后在控制台输出脚本使用到的各个参数的含义,由此易产生较多的冗余代码,从而降低脚本的构建效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种脚本的处理方法及系统,以至少解决相关技术中所提供的脚本构建方式需要耗费较高成本且构建效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种脚本的处理方法,包括:客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;客户端将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果。
可选地,在客户端接收与待执行脚本对应的脚本执行参数信息的设置内容之前,还包括:客户端根据脚本配置参数信息生成脚本模板,其中,脚本配置参数信息为预先配置完成,存储于服务器中并由服务器为脚本配置参数信息分配脚本标识信息;客户端接收与脚本模板匹配的处理逻辑代码,并根据处理逻辑代码和预设类型变量的取值生成待执行脚本,其中,预设类型变量包含在脚本模板的预设函数内。
可选地,客户端根据脚本配置参数信息使用预设类型脚本语言在显示页面中生成脚本模板;或者,客户端通过预设网络传输协议接收由服务器传递的脚本模板,其中,脚本模板是由服务器根据脚本配置参数信息生成的。
可选地,在客户端将设置内容推送至服务器之后,还包括:服务器根据待执行脚本的内容生成临时脚本文件;服务器将设置内容重新生成预设类型变量,并导入至预设函数;服务器执行预设函数并将执行结果返回至客户端。
可选地,在客户端将设置内容推送至服务器之后,还包括:服务器在执行预设函数的过程中捕获在执行期间发生的异常,或者,在预设函数的执行时间超过预设时长的情况下,向用户发出提示信息。
可选地,客户端接收与待执行脚本对应的脚本执行参数信息的设置内容包括:客户端将脚本执行参数信息渲染至显示页面,其中,显示页面中包含有脚本执行参数信息中每个参数对应的描述信息;客户端按照脚本执行参数信息中每个参数的参数类型设置对应的显示控件;客户端接收用户在显示控件中输入的设置内容。
可选地,在客户端将设置内容推送至服务器之前,还包括:客户端根据显示控件对应的参数类型对设置内容进行有效性判断。
根据本发明实施例的另一方面,还提供了一种脚本的处理系统,包括:客户端;客户端包括:获取模块,用于接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;处理模块,用于将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果。
可选地,客户端还包括:第一生成模块,用于根据脚本配置参数信息生成脚本模板,其中,脚本配置参数信息为预先配置完成,存储于服务器中并由服务器为脚本配置参数信息分配脚本标识信息;第二生成模块,用于接收与脚本模板匹配的处理逻辑代码,并根据处理逻辑代码和预设类型变量的取值生成待执行脚本,其中,预设类型变量包含在脚本模板的预设函数内。
可选地,第一生成模块,用于根据脚本配置参数信息使用预设类型脚本语言在显示页面中生成脚本模板。
可选地,上述系统还包括:服务器;服务器包括:第三生成模块,用于根据待执行脚本的内容生成临时脚本文件;第四生成模块,用于将设置内容重新生成预设类型变量,并导入至预设函数;执行模块,用于执行预设函数并将执行结果返回至客户端。
可选地,服务器还包括:监控模块,用于在执行预设函数的过程中捕获在执行期间发生的异常,或者,在预设函数的执行时间超过预设时长的情况下,向用户发出提示信息。
可选地,获取模块包括:渲染单元,用于将脚本执行参数信息渲染至显示页面,其中,显示页面中包含有脚本执行参数信息中每个参数对应的描述信息;设置单元,用于按照脚本执行参数信息中每个参数的参数类型设置对应的显示控件;接收单元,用于接收用户在显示控件中输入的设置内容。
可选地,客户端还包括:判断模块,用于根据显示控件对应的参数类型对设置内容进行有效性判断。
在本发明实施例中,采用客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容,再将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果的方式,由于用户只需要在浏览器页面中输入参数的值,而脚本的具体执行过程是在服务器端来进行的,由此可以避免执行脚本的用户需要在客户端本地安装解释器和相关功能库环境,从而实现了降低脚本的构建成本,提高脚本的构建效率的技术效果,进而解决了相关技术中所提供的脚本构建方式需要耗费较高成本且构建效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的脚本的处理方法的流程图;
图2是根据本发明优选实施例的通过页面快速构建响应用户输入的脚本方法的执行过程示意图;
图3是根据本发明实施例的脚本的处理系统的流程图;
图4是根据本发明优选实施例的脚本的处理系统的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种脚本的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的脚本的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S10,客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;
步骤S12,客户端将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果。
通过上述步骤,采用客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容,再将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果的方式,由于用户只需要在浏览器页面中输入参数的值,而脚本的具体执行过程是在服务器端来进行的,由此可以避免执行脚本的用户需要在客户端本地安装解释器和相关功能库环境,从而实现了降低脚本的构建成本,提高脚本的构建效率的技术效果,进而解决了相关技术中所提供的脚本构建方式需要耗费较高成本且构建效率较低的技术问题。
可选地,在步骤S10,客户端接收与待执行脚本对应的脚本执行参数信息的设置内容之前,还可以包括以下执行步骤:
步骤S13,客户端根据脚本配置参数信息生成脚本模板,其中,脚本配置参数信息为预先配置完成,存储于服务器中并由服务器为脚本配置参数信息分配脚本标识信息;
步骤S14,客户端接收与脚本模板匹配的处理逻辑代码,并根据处理逻辑代码和预设类型变量的取值生成待执行脚本,其中,预设类型变量包含在脚本模板的预设函数内。
在优选实施例中,可以在客户端上通过网页配置上述脚本配置参数信息,并将配置完成的脚本配置参数信息保存至服务器,其中,存储的方式可以包括但不限于:内存,文件,数据库;脚本配置参数信息可以包括但不限于:参数名称、参数类型、参数变量名、参数描述。
脚本模板是包含相关导入库的脚本代码段;特别地,代码段内包含一个规定名称的函数,该函数接收一个包含参数信息的字典类型变量;
其中,上述代码段即为一段脚本代码;规定名称的函数(相当于上述预设函数)表示不限定函数的具体名称,只要是合法函数名称即可,规定名称的目的在于:服务端在执行脚本时能够正确的执行到脚本开发的功能逻辑;字典类型变量(相当于上述预设类型变量)是编程语言的一种基本数据类型;
例如,上述脚本参数基本信息包括:字符串类型的参数和列表类型的参数:
那么,此处提到的字典类型变量即为:
其中,xxx为用户输入的值。
在生成的脚本模板的规定名称函数中,根据脚本逻辑需要(即研发人员在编写脚本时需要完成的特定功能)从字典类型变量中提取出相应的参数变量名的值来编写相应的脚本逻辑,并将编辑后的脚本保存到服务器,其保存的方式可以包括但不限于:内存、文件或者数据库;另外,上述规定名称可以是任何合法的函数变量名。
在通常情况下,脚本的执行流程是接收用户的输入,然后根据不同的输入分别进行不同的处理,例如:当前存在一个脚本能够查询用户的基本信息,那么,该脚本会接收使用脚本的用户所提供的参数,例如:姓名或是员工号,然后脚本具体逻辑便会根据用户提供的信息去数据库查询相关的数据,最后反馈给用户。
可选地,在步骤S13中,客户端根据脚本配置参数信息使用预设类型脚本语言在显示页面中生成脚本模板;或者,客户端通过预设网络传输协议接收由服务器传递的脚本模板,其中,脚本模板是由服务器根据脚本配置参数信息生成的。
在优选实施过程中,可以在web前端使用javascript脚本根据上述脚本参数信息在网页中生成脚本模板;或者,可以由服务端根据脚本基本参数信息生成,然后通过超文本传输协议(http)请求或ajax方式传递至前端web页面进行展示。
可选地,在步骤S12,客户端将设置内容推送至服务器之后,还可以包括以下执行步骤:
步骤S15,服务器根据待执行脚本的内容生成临时脚本文件;
步骤S16,服务器将设置内容重新生成预设类型变量,并导入至预设函数;
步骤S17,服务器执行预设函数并将执行结果返回至客户端。
用户通过页面设置相应的参数执行服务端脚本时,服务端根据先前存储的编辑后的脚本内容生成临时脚本文件,并在响应用户执行脚本的请求中动态导入该临时脚本文件内的规定名称函数以及执行该函数,最后将函数的执行结果呈现在页面,反馈给用户。
可选地,在步骤S12,客户端将设置内容推送至服务器之后,还可以包括以下执行步骤:
步骤S18,服务器在执行预设函数的过程中捕获在执行期间发生的异常,或者,在预设函数的执行时间超过预设时长的情况下,向用户发出提示信息。
在优选实施例中,为了避免上述预设函数在执行期间发生异常导致程序崩溃,可以将该预设函数的执行过程设置在异常捕获块中,以增强脚本执行的健壮性。另外,为了避免上述预设函数执行一些耗时特别长,甚至是无尽模式的脚本逻辑,可以通过多线程处理等方式对该预设函数进行超时处理,如果出现超时处理,则反馈用户脚本执行超时,从而增强脚本执行的健壮性。
可选地,在步骤S10中,客户端接收与待执行脚本对应的脚本执行参数信息的设置内容可以包括以下执行步骤:
步骤S101,客户端将脚本执行参数信息渲染至显示页面,其中,显示页面中包含有脚本执行参数信息中每个参数对应的描述信息;
步骤S102,客户端按照脚本执行参数信息中每个参数的参数类型设置对应的显示控件;
步骤S103,客户端接收用户在显示控件中输入的设置内容。
在优选实施例中,可以将保存到服务器的脚本配置参数信息渲染到显示页面提供给用户,以便接收执行脚本的用户编辑的与待执行脚本对应的脚本执行参数信息的设置内容,此处的与待执行脚本对应的脚本执行参数信息的设置内容可以包括但不限于:参数变量名、参数类型、参数的取值。
上述渲染是指在web前端通过javascript脚本所实现的一套逻辑(并非每新建一个脚本就需要重写一遍)。根据参数的不同类型显示不同的web页面控件来获得用户的输入,并在相应的控件旁边显示参数的描述等信息。
例如:如果参数类型为是字符串型,那么页面便会显示一个编辑框来获得这个参数的用户输入值,并在该编辑框旁边显示该参数的描述等信息。
由于用户在浏览器的web页面使用脚本的时候,便可以直观地观察脚本执行需要的参数描述等信息,输入参数后即可执行脚本,由此可以避免在执行脚本时无法直观地观察到脚本需要的参数说明和规则等信息。
此外,由于脚本参数已经通过web前端完成了展示和用户输入值的获取,且不需要每新建一个脚本都重编写一遍参数的展示与获取的逻辑,脚本开发人员只需在提供的脚本模板中规定的函数中提取参数进行相关的逻辑功能的编写即可,因此,脚本的开发人员无需关注用户的输入问题,从而可以集中精力关注如何实现相关逻辑,而并不会因需要对用户输入参数进行相关处理产生较多的冗余代码。
可选地,在步骤S12,客户端将设置内容推送至服务器之前,还可以包括以下执行步骤:
步骤S19,客户端根据显示控件对应的参数类型对设置内容进行有效性判断。
在优选实施例中,web前端页面可以根据参数的类型对用户输入进行有效性判断,例如:当参数为整型(int)时,可以在web前端通过javascript脚本检查用户输入的数据是否为整型,从而判断用户输入是否有效,以避免将错误或者无效的参数值传给服务器,造成网络资源的浪费。
下面将结合图2所示的优选实施方式对上述优选实施过程作进一步地描述。
图2是根据本发明优选实施例的通过页面快速构建响应用户输入的脚本方法的执行过程示意图。如图2所示,该方法包括以下步骤:
步骤S201,脚本开发人员通过网页配置脚本参数基本信息(相当于上述脚本配置参数信息),并将配置完成的脚本参数基本信息保存至服务器;
在优选实施过程中,上述脚本参数基本信息可以包括但不限于:参数名称、参数类型、参数变量名、参数描述;
可选地,在步骤S201中,需要在web前端提供参数名称和参数变量名以及参数描述的编辑入口,用以配置相关数据;而参数类型可以是脚本语言的预设数据类型或者是自定义的数据类型,作为参数类型列表或者参数类型选项供开发人员进行选择,或者由开发人员直接编辑填写数据类型;
可选地,在步骤S201中,当脚本参数基本信息被存储至服务器时,需要关联一个脚本标识(ID),用以区分不同的脚本,其中,脚本ID既可以是数据库自增的整型数值,也可以是其他能够区分不同的脚本的字符串,例如:全局唯一标识符;
可选地,在步骤S201中,脚本参数基本信息存储的方式可以包括但不限于:内存、文件、数据库等计算机相关存储。
步骤S202,生成脚本模板,即可以在web前端使用javascript脚本根据上述存储的脚本参数基本信息在网页中生成脚本模板,用于脚本开发人员编辑脚本内容;
可选地,在步骤S202中,脚本模板是包含相关导入库的脚本代码段,特别地,代码段内包含一个规定名称的函数,该函数接收一个包含参数信息的字典类型变量;在该优选实施例中,该规定名称的函数被命名为run,但其并不构成对本发明的不当限制,其可以是其他任何满足函数命名规则的名称;
可选地,在步骤S202中,脚本模板可以是在web前端通过javascript脚本根据上述脚本基本参数信息生成并直接在页面上展示,或者,由服务端根据脚本基本参数信息生成,然后通过超文本传输协议(http)请求或ajax方式传递至前端web页面进行展示。
步骤S203,脚本的编辑与存储,开发人员在步骤S202生成的脚本模板中名称为run的函数内,根据脚本逻辑需要从run函数的字典类型变量中选取相应的参数变量名的值来编写相应的脚本逻辑,并将编写完毕的脚本存储至服务器;
可选地,在步骤S203中,开发人员可以在web前端对脚本模板直接修改,然后将其保存到服务器;当然,也可以是开发人员将脚本模板拷贝到本地进行修改,然后将修改后的脚本文件保存到服务器;
可选地,在步骤S203中,脚本的存储方式可以包括但不限于:内存、文件、数据库。
步骤S204,脚本参数的设置,服务器将存储至自身的参数信息渲染页面显示提供给用户,以便接收执行脚本的用户编辑的参数信息(相当于上述与待执行脚本对应的脚本执行参数信息的设置内容);
可选地,在步骤S204中,用户能够观察到脚本所需各个参数的描述,且web前端页面可以根据参数类型的不同,使用不同的web控件来接收用户的输入,以便于用户对脚本参数的设置;
可选地,在步骤S204中,web前端页面可以根据参数的类型对用户输入进行有效性判断,例如:当参数为整型(int)时,可以在web前端通过javascript脚本检查用户输入的数据是否为整型,从而判断用户输入是否有效,以避免将错误或者无效的参数值传给服务器;
可选地,在步骤S204中,上述参数信息可以包括但不限于:参数变量名、参数类型以及参数的值。
步骤S205,脚本的执行与反馈,服务器根据用户提交的脚本参数信息执行脚本,并将执行结果返回至web前端;
可选地,在步骤S205中,服务器根据步骤S203中保存到服务器的脚本内容生成一个临时脚本文件,然后根据用户提交的参数信息生成步骤S202提到的包含参数信息的字典类型变量,并动态导入名为run的函数,最后将上述字典类型变量作为参数,调用run函数,然后将函数的返回结果返回给前端页面;
可选地,在步骤S205中,为了避免run函数发生异常导致程序崩溃,可以将run函数的执行设置在异常捕获块中,以增强脚本执行的健壮性;
可选地,在步骤S205中,为了避免run函数执行一些耗时特别长,甚至是无尽模式的脚本逻辑,可以通过多线程处理等方式对run函数进行超时处理,如果出现超时处理,则反馈用户脚本执行超时,从而增强脚本执行的健壮性。
根据本发明实施例,还提供了一种脚本的处理系统的实施例。图3是根据本发明实施例的脚本的处理系统的流程图,如图3所示,该系统可以包括:客户端1;客户端1可以包括:获取模块10,用于接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;处理模块12,用于将设置内容推送至服务器,并接收服务器返回的待执行脚本的执行结果。
可选地,图4是根据本发明优选实施例的脚本的处理系统的流程图,如图4所示,客户端1还可以包括:第一生成模块14,用于根据脚本配置参数信息生成脚本模板,其中,脚本配置参数信息为预先配置完成,存储于服务器中并由服务器为脚本配置参数信息分配脚本标识信息;第二生成模块16,用于接收与脚本模板匹配的处理逻辑代码,并根据处理逻辑代码和预设类型变量的取值生成待执行脚本,其中,预设类型变量包含在脚本模板的预设函数内。
在优选实施例中,可以在客户端上通过网页配置上述脚本配置参数信息,并将配置完成的脚本配置参数信息保存至服务器,其中,存储的方式可以包括但不限于:内存,文件,数据库;脚本配置参数信息可以包括但不限于:参数名称、参数类型、参数变量名、参数描述。
在生成的脚本模板的规定名称函数(相当于上述预设函数)中,根据脚本逻辑需要(即研发人员在编写脚本时需要完成的特定功能)从字典类型变量(相当于上述预设类型变量)中提取出相应的参数变量名的值来编写相应的脚本逻辑,并将编辑后的脚本保存到服务器,其保存的方式可以包括但不限于:内存、文件或者数据库;另外,上述规定名称可以是任何合法的函数变量名。
可选地,第一生成模块14,用于根据脚本配置参数信息使用预设类型脚本语言在显示页面中生成脚本模板。
在优选实施过程中,可以在web前端使用javascript脚本根据上述脚本参数信息在网页中生成脚本模板;或者,可以由服务端根据脚本基本参数信息生成,然后通过超文本传输协议(http)请求或ajax方式传递至前端web页面进行展示。
可选地,如图4所示,上述系统还可以包括:服务器2;服务器2可以包括:第三生成模块20,用于根据待执行脚本的内容生成临时脚本文件;第四生成模块22,用于将设置内容重新生成预设类型变量,并导入至预设函数;执行模块24,用于执行预设函数并将执行结果返回至客户端。
用户通过页面设置相应的参数执行服务端脚本时,服务端根据先前存储的编辑后的脚本内容生成临时脚本文件,并在响应用户执行脚本的请求中动态导入该临时脚本文件内的规定名称函数以及执行该函数,最后将函数的执行结果呈现在页面,反馈给用户。
可选地,如图4所示,服务器20还可以包括:监控模块26,用于在执行预设函数的过程中捕获在执行期间发生的异常,或者,在预设函数的执行时间超过预设时长的情况下,向用户发出提示信息。
在优选实施例中,为了避免上述预设函数在执行期间发生异常导致程序崩溃,可以将该预设函数的执行过程设置在异常捕获块中,以增强脚本执行的健壮性。另外,为了避免上述预设函数执行一些耗时特别长,甚至是无尽模式的脚本逻辑,可以通过多线程处理等方式对该预设函数进行超时处理,如果出现超时处理,则反馈用户脚本执行超时,从而增强脚本执行的健壮性。
可选地,如图4所示,获取模块10可以包括:渲染单元100,用于将脚本执行参数信息渲染至显示页面,其中,显示页面中包含有脚本执行参数信息中每个参数对应的描述信息;设置单元102,用于按照脚本执行参数信息中每个参数的参数类型设置对应的显示控件;接收单元104,用于接收用户在显示控件中输入的设置内容。
在优选实施例中,可以将保存到服务器的脚本配置参数信息渲染到显示页面提供给用户,以便接收执行脚本的用户编辑的与待执行脚本对应的脚本执行参数信息的设置内容,此处的与待执行脚本对应的脚本执行参数信息的设置内容可以包括但不限于:参数变量名、参数类型、参数的取值。
由于用户在浏览器的web页面使用脚本的时候,便可以直观地观察脚本执行需要的参数描述等信息,输入参数后即可执行脚本,由此可以避免在执行脚本时无法直观地观察到脚本需要的参数说明和规则等信息。
此外,由于脚本参数已经通过web前端完成了展示和用户输入值的获取,且不需要每新建一个脚本都重编写一遍参数的展示与获取的逻辑,脚本开发人员只需在提供的脚本模板中规定的函数中提取参数进行相关的逻辑功能的编写即可,因此,脚本的开发人员无需关注用户的输入问题,从而可以集中精力关注如何实现相关逻辑,而并不会因需要对用户输入参数进行相关处理产生较多的冗余代码。
可选地,如图4所示,客户端1还可以包括:判断模块18,用于根据显示控件对应的参数类型对设置内容进行有效性判断。
在优选实施例中,web前端页面可以根据参数的类型对用户输入进行有效性判断,例如:当参数为int时,可以在web前端通过javascript脚本检查用户输入的数据是否为整型,从而判断用户输入是否有效,以避免将错误或者无效的参数值传给服务器,造成网络资源的浪费。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种脚本的处理方法,其特征在于,包括:
客户端接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;
所述客户端将所述设置内容推送至服务器,并接收所述服务器返回的所述待执行脚本的执行结果;
其中,在所述客户端接收与所述待执行脚本对应的所述脚本执行参数信息的所述设置内容之前,还包括:所述客户端根据脚本配置参数信息生成脚本模板,其中,所述脚本配置参数信息为预先配置完成,存储于所述服务器中并由所述服务器为所述脚本配置参数信息分配脚本标识信息;所述客户端接收与所述脚本模板匹配的处理逻辑代码,并根据所述处理逻辑代码和预设类型变量的取值生成所述待执行脚本,其中,所述预设类型变量包含在所述脚本模板的预设函数内。
2.根据权利要求1所述的方法,其特征在于,所述客户端根据所述脚本配置参数信息使用预设类型脚本语言在显示页面中生成所述脚本模板;或者,所述客户端通过预设网络传输协议接收由所述服务器传递的所述脚本模板,其中,所述脚本模板是由所述服务器根据所述脚本配置参数信息生成的。
3.根据权利要求2所述的方法,其特征在于,在所述客户端将所述设置内容推送至所述服务器之后,还包括:
所述服务器根据所述待执行脚本的内容生成临时脚本文件;
所述服务器将所述设置内容重新生成所述预设类型变量,并导入至所述预设函数;
所述服务器执行所述预设函数并将所述执行结果返回至所述客户端。
4.根据权利要求3所述的方法,其特征在于,在所述客户端将所述设置内容推送至所述服务器之后,还包括:
所述服务器在执行所述预设函数的过程中捕获在执行期间发生的异常,或者,在所述预设函数的执行时间超过预设时长的情况下,向所述用户发出提示信息。
5.根据权利要求1所述的方法,其特征在于,所述客户端接收与所述待执行脚本对应的所述脚本执行参数信息的所述设置内容包括:
所述客户端将所述脚本执行参数信息渲染至显示页面,其中,所述显示页面中包含有所述脚本执行参数信息中每个参数对应的描述信息;
所述客户端按照所述脚本执行参数信息中每个参数的参数类型设置对应的显示控件;
所述客户端接收所述用户在所述显示控件中输入的所述设置内容。
6.根据权利要求5所述的方法,其特征在于,在所述客户端将所述设置内容推送至所述服务器之前,还包括:
所述客户端根据所述显示控件对应的参数类型对所述设置内容进行有效性判断。
7.一种脚本的处理系统,其特征在于,包括:客户端;
所述客户端包括:
获取模块,用于接收用户输入的与待执行脚本对应的脚本执行参数信息的设置内容;
处理模块,用于将所述设置内容推送至服务器,并接收所述服务器返回的所述待执行脚本的执行结果;
其中,所述客户端还包括:第一生成模块,用于根据脚本配置参数信息生成脚本模板,其中,所述脚本配置参数信息为预先配置完成,存储于所述服务器中并由所述服务器为所述脚本配置参数信息分配脚本标识信息;第二生成模块,用于接收与所述脚本模板匹配的处理逻辑代码,并根据所述处理逻辑代码和预设类型变量的取值生成所述待执行脚本,其中,所述预设类型变量包含在所述脚本模板的预设函数内。
8.根据权利要求7所述的系统,其特征在于,所述第一生成模块,用于根据所述脚本配置参数信息使用预设类型脚本语言在显示页面中生成所述脚本模板。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:所述服务器;
所述服务器包括:
第三生成模块,用于根据所述待执行脚本的内容生成临时脚本文件;
第四生成模块,用于将所述设置内容重新生成所述预设类型变量,并导入至所述预设函数;
执行模块,用于执行所述预设函数并将所述执行结果返回至所述客户端。
10.根据权利要求9所述的系统,其特征在于,所述服务器还包括:
监控模块,用于在执行所述预设函数的过程中捕获在执行期间发生的异常,或者,在所述预设函数的执行时间超过预设时长的情况下,向所述用户发出提示信息。
11.根据权利要求7所述的系统,其特征在于,所述获取模块包括:
渲染单元,用于将所述脚本执行参数信息渲染至显示页面,其中,所述显示页面中包含有所述脚本执行参数信息中每个参数对应的描述信息;
设置单元,用于按照所述脚本执行参数信息中每个参数的参数类型设置对应的显示控件;
接收单元,用于接收所述用户在所述显示控件中输入的所述设置内容。
12.根据权利要求11所述的系统,其特征在于,所述客户端还包括:
判断模块,用于根据所述显示控件对应的参数类型对所述设置内容进行有效性判断。
CN201610564296.9A 2016-07-14 2016-07-14 脚本的处理方法及系统 Active CN106202470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610564296.9A CN106202470B (zh) 2016-07-14 2016-07-14 脚本的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610564296.9A CN106202470B (zh) 2016-07-14 2016-07-14 脚本的处理方法及系统

Publications (2)

Publication Number Publication Date
CN106202470A CN106202470A (zh) 2016-12-07
CN106202470B true CN106202470B (zh) 2019-09-10

Family

ID=57492876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610564296.9A Active CN106202470B (zh) 2016-07-14 2016-07-14 脚本的处理方法及系统

Country Status (1)

Country Link
CN (1) CN106202470B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933856B (zh) * 2015-12-30 2020-02-07 北京国双科技有限公司 网页更新请求的生成方法和装置
CN110598259A (zh) * 2019-08-15 2019-12-20 杭州群核信息技术有限公司 一种基于参数化的2d铺贴设计方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197947A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 脚本处理方法及装置
CN105099739A (zh) * 2014-05-15 2015-11-25 中国移动通信集团公司 一种基于插件式软件部署方法、装置及应用服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197947A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 脚本处理方法及装置
CN105099739A (zh) * 2014-05-15 2015-11-25 中国移动通信集团公司 一种基于插件式软件部署方法、装置及应用服务器

Also Published As

Publication number Publication date
CN106202470A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN101122921B (zh) 基于ajax与html标记形成树形显示结构的方法
CN104484216B (zh) 服务接口文档和在线测试工具生成方法、装置
US8499237B2 (en) Method and apparatus for application enabling of websites
CN105959371B (zh) 网页分享系统
CN108595583A (zh) 动态图表类页面数据爬取方法、装置、终端及存储介质
US9747353B2 (en) Database content publisher
CN107885777A (zh) 一种基于协作式爬虫的抓取网页数据的控制方法及系统
US20190187961A1 (en) Chatbot builder user interface
CN110109817A (zh) 接口自动化测试方法、装置、设备及存储介质
CN112287015B (zh) 画像生成系统及其方法、电子设备及存储介质
CN110232162A (zh) 一种基于html5的流程定义方法及系统
CN105471968B (zh) 一种数据交换方法、系统以及数据平台服务器
US7613696B2 (en) Configuring search results using a layout editor
WO2005015440A3 (en) Extending service-oriented business frameworks
CN108008944A (zh) 规则引擎响应方法及系统、规则引擎、服务终端、存储器
CN104217270A (zh) 业务流程应用文件生成和执行方法、客户端、设备及系统
CN106951270A (zh) 一种代码处理方法、系统及服务器
CN106202470B (zh) 脚本的处理方法及系统
CN111031133B (zh) 业务引擎的运行方法和装置、存储介质、电子装置
Tsai et al. Service-oriented user interface modeling and composition
CN106911554A (zh) 一种历史信息展示方法及装置
CN103399968B (zh) 一种微博信息采集方法及系统
CN109995767A (zh) 账户单点登录方法、终端设备及存储介质
CN109327530A (zh) 一种信息处理方法、装置、电子设备和存储介质
US10505873B2 (en) Streamlining end-to-end flow of business-to-business integration processes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant