CN109597618B - 程序开发方法、装置、计算机设备及存储介质 - Google Patents
程序开发方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109597618B CN109597618B CN201811302706.8A CN201811302706A CN109597618B CN 109597618 B CN109597618 B CN 109597618B CN 201811302706 A CN201811302706 A CN 201811302706A CN 109597618 B CN109597618 B CN 109597618B
- Authority
- CN
- China
- Prior art keywords
- script
- program
- language
- original program
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000006870 function Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 239000010979 ruby Substances 0.000 claims description 5
- 229910001750 ruby Inorganic materials 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000010276 construction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000011990 functional testing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000004382 visual function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种程序开发方法,该方法包括:接收输入的原始程序,所述原始程序是采用脚本语言编写的;调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;运行所述目标程序完成相应的程序开发。该程序开发方法不需要进行编译,可直接运行,不需要重启服务器便可运行新的功能,大大提高了开发效率。此外,还提出了一种程序开发装置、计算机设备及存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种程序开发方法、装置、计算机设备及存储介质。
背景技术
随着计算机速度的提高,用户对应用程序的功能需求也处于不断变化中,所以应用程序开发者需要不断地基于用户的需求增加相应的功能。后台服务端一般都是以Java语言为基础的,但是由于Java语言本身的特点和限制,如果要修改后台的服务逻辑,则需要重新编译,并且需要重启服务器才能运行新的功能,导致功能的开发效率低。
发明内容
基于此,有必要针对上述问题,提供一种开发效率高的程序开发方法、装置、计算机设备及存储介质。
第一方面,本发明实施例提供一种程序开发方法,应用于基于Java语言的***,所述方法包括:
接收输入的原始程序,所述原始程序是采用脚本语言编写的;
调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行所述目标程序完成相应的程序开发。
在其中一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序,包括:通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行所述目标程序完成相应的程序开发,包括:获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
在其中一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序的步骤之前还包括:获取所述脚本语言的脚本类型;根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
在其中一个实施例中,所述方法还包括:获取输入参数和输出参数;根据所述输入参数和输出参数对所述原始程序进行功能测试。
在其中一个实施例中,在所述接收输入的原始程序,所述原始程序是采用脚本语言编写的步骤之后,还包括:接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;以所述字符串的形式将所述原始程序保存到数据库表中。
在其中一个实施例中,所述接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种;通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
第二方面,本发明实施例提供一种程序开发装置,应用于基于Java语言的***,所述装置包括:
接收模块,用于接收输入的原始程序,所述原始程序是采用脚本语言编写的;
转换模块,用于调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行模块,用于运行所述目标程序完成相应的程序开发。
在其中一个实施例中,所述转换模块还用于通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行模块还用于获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
在其中一个实施例中,所述装置还包括:引擎确定模块,用于获取所述脚本语言的脚本类型,根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
在其中一个实施例中,所述装置还包括:测试模块,用于获取输入参数和输出参数,根据所述输入参数和输出参数对所述原始程序进行功能测试。
在其中一个实施例中,所述装置还包括:保存模块,用于接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式,以所述字符串的形式将所述原始程序保存到数据库表中。
在其中一个实施例中,所述接收模块还用于接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种;通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
接收输入的原始程序,所述原始程序是采用脚本语言编写的;
调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行所述目标程序完成相应的程序开发。
第四方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
接收输入的原始程序,所述原始程序是采用脚本语言编写的;
调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行所述目标程序完成相应的程序开发。
上述程序开发方法、装置、计算机设备及存储介质,应用于基于Java语言的***,通过接收输入的采用脚本语言编写的原始程序,然后调用与脚本语言对应的目标脚本引擎对原始程序进行解析,转换为可执行的目标程序,运行该目标程序完成相应的程序开发。该程序开发方法通过在基于Java语言的***采用脚本语言进行程序开发,不需要进行编译,可直接运行,不需要重启服务器便可运行新的功能,大大提高了开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为一个实施例中程序开发方法的流程图;
图2为一个实施例中可视化的功能界面的示意图;
图3为另一个实施例中程序开发方法的流程图;
图4为一个实施例中选择基础信息的界面示意图;
图5为一个实施例中程序开发装置的结构框图;
图6为另一个实施例中程序开发装置的结构框图;
图7为又一个实施例中程序开发装置的结构框图;
图8为再一个实施例中程序开发装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,提出了一种程序开发方法,应用于基于Java语言的***,该程序开发方法既可以应用于终端,也可以应用于服务器,本实施例以应用于终端举例说明。该程序开发方法具体包括以下步骤:
步骤102,接收输入的原始程序,原始程序是采用脚本语言编写的。
其中,基于Java语言的***是指该***的开发是采用Java语言进行开发的。原始程序是指输入的用脚本语言编写的程序。原始程序中包括了实现相应功能的逻辑代码,用于执行该逻辑代码实现相应的功能逻辑。在一个实施例中,终端接收用户输入的用脚本语言编写的程序。
脚本语言有很多种,包括:sql(Structured Query Language结构化查询语言)语言、groovy(一种基于java虚拟机的敏捷开发语言)语言、JavaScript(一种直译式脚本语言)语言、ruby(一种简单快捷的面向对象脚本语言)语言等。由于Java语言本身的特点和限制,如果采用Java语言进行功能的开发,则需要重新编译,且需要重启服务器才能运行新的功能。本发明实施例中创新性地在基于java语言的***中采用脚本语言进行服务逻辑的编写,有利于提高开发效率。
在一个实施例中,基于java语言的***提供可以用于输入脚本语言的功能界面,用于通过该功能界面输入脚本语言的逻辑代码。即提供了一种可视化的功能界面便于输入相应的逻辑代码。如图2所示,为一个实施例中,可视化的功能界面的示意图,通过该功能界面接收输入的代码,图中“服务代码”对应的界面是接收代码输入的界面。
在一个实施例中,接收到输入的原始程序后,可以将原始程序进行压缩保存到数据库表中,比如,可以将原始程序转换为字符串的形式进行保存,当然也可以转换为其他占用空间少的形式进行保存。
步骤104,调用与脚本语言对应的目标脚本引擎对原始程序进行解析,转换为可执行的目标程序。
其中,脚本引擎是指用于将脚本语言进行解析转换为目标语言的工具。可以针对不同的脚本语言分别开发不同的脚本引擎。在接收到采用脚本语言编写的原始程序后,通过调用与脚本语言对应的目标脚本引擎来对原始程序进行解析转换为可执行的目标程序。
目标程序是指计算机可识别运行的程序。脚本引擎的主要功能是将用户编辑的脚本语言解析并转换为***能够读懂的语言。在一个实施例中,目标程序可以是Java对象,即将原始程序转换为Java对象,由于***为基于Java语言的***,所以Java对象可以直接在该***上运行。在另一个实施例中,目标程序也可以为能够被机器识别执行的其他脚本程序。
步骤106,运行目标程序完成相应的程序开发。
其中,在得到可执行的目标程序后,无需进行编译,直接便可运行该目标程序执行相应的功能,从而完成了相应的程序开发。通过在基于java语言的***上增加一个可以采用脚本语言编写开发程序的功能模块,不仅无需编译,也无需重新部署和重启服务器,便可以支持后台逻辑的编写,从而实现前台功能的开发。
上述程序开发方法、装置、计算机设备及存储介质,应用于基于Java语言的***,通过接收输入的采用脚本语言编写的原始程序,然后调用与脚本语言对应的目标脚本引擎对原始程序进行解析,转换为可执行的目标程序,运行该目标程序完成相应的程序开发。该程序开发方法通过在基于Java语言的***采用脚本语言进行程序开发,不需要进行编译,可直接运行,不需要重启服务器便可运行新的功能,大大提高了开发效率。
如图3所示,在一个实施例中,提出了一种序开发方法,该方法包括:
步骤302,接收输入的原始程序,原始程序是采用脚本语言编写的。
步骤304,调用与脚本语言对应的目标脚本引擎,通过目标脚本引擎将原始程序进行解析转换为Java对象,Java对象包括原始程序中定义的变量和方法。
其中,调用目标脚本引擎,将原始程序传递给该目标脚本引擎,目标脚本引擎用于将原始程序进行解析转换为Java对象。针对不同的脚本语言转换为Java对象的过程不同。比如,Groovy语言里通过‘def’关键字来判断并解析出具体的变量,通过‘import’关键字判断引入的外部类等。转换得到的java对象中包括有脚本逻辑里面(即原始程序)定义的变量和方法的集合。
步骤306,获取脚本参数,根据脚本参数替换Java对象中的变量执行Java对象中的方法以完成相应的程序开发。
其中,脚本参数是指运行原始程序需要代入的参数,在调用脚本引擎时,将脚本参数同时传递给该脚本引擎。使用该脚本参数替换Java对象中的变量,然后按照方法集合中方法顺序一一进行,最后把执行结果返回。通过执行相应的原始程序,即可完成相应的功能实现。脚本参数可以通过功能界面输入,即脚本参数与原始程序都可以通过功能界面输入。
在一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序的步骤之前还包括:获取所述脚本语言的脚本类型;根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
其中,脚本类型即脚本语言的类型。由于脚本语言有很多种,所以需要分别针对每一种脚本语言设置相应的脚本引擎。在一个实施例中,接收到输入的目标程序后,对目标程序的脚本语言进行识别得到目标脚本类型,然后获取与该目标脚本类型对应的目标脚本引擎。在另一个实施例中,在输入目标程序之前,首先获取选定的脚本类型,然后只接收与该选定的脚本类型对应的脚本语言。此时,可以直接获取相应的脚本类型。
在一个实施例中,上述程序开发方法还包括:获取输入参数和输出参数;根据所述输入参数和输出参数对所述原始程序进行功能测试。
其中,为了对输入的原始程序进行功能测试,还可以获取设置的出入参数,即输入参数和输出参数,根据该输入参数和输出参数对原始程序的逻辑进行功能测试。通过将输入参数作为原始程序中的变量,得到相应的输出值,根据输出值与输出参数确定相应的逻辑是否正确,当输出值与输出参数一致时,说明逻辑正确,如果不一致,则说明逻辑不准确,需要重新进行逻辑编辑。
在一个实施例中,在所述接收输入的原始程序,所述原始程序是采用脚本语言编写的步骤之后,还包括:接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;以所述字符串的形式将所述原始程序保存到数据库表中。
其中,在接收到输入的原始程序后,接收对原始程序的保存指令,然后将原始程序进行压缩,转换为字符串的形式,并以字符串的形式将原始程序保存到数据库表中。为了节约原始程序的占用空间,将原始程序转换为占用空间少的字符串形式。
在一个实施例中,所述接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种;通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
其中,在输入原始程序之前,首先接收输入的脚本基础信息,脚本基础信息包括;脚本名称、脚本类型和脚本描述中的至少一种。然后创建与脚本基础信息对应的脚本编辑界面,通过该脚本编辑界面接收输入的原始程序。如图4所示,为一个实施例中选择脚本名称、脚本类型和脚本描述等基础信息的界面,基础信息配置完成后可以点击列表中的小图标打开相应的脚本编辑界面。
如图5所示,在一个实施例中,提供一种程序开发装置,应用于基于Java语言的***,该装置包括:
接收模块502,用于接收输入的原始程序,所述原始程序是采用脚本语言编写的;
转换模块504,用于调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行模块506,用于运行所述目标程序完成相应的程序开发。
在一个实施例中,所述转换模块还用于通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行模块还用于获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
如图6所示,在一个实施例中,程序开发装置还包括:
引擎确定模块503,用于获取所述脚本语言的脚本类型,根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
如图7所示,在一个实施例中,程序开发装置还包括:
测试模块508,用于获取输入参数和输出参数,根据所述输入参数和输出参数对所述原始程序进行功能测试。
如图8所示,在一个实施例中,程序开发装置还包括:
保存模块509,用于接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式,以所述字符串的形式将所述原始程序保存到数据库表中。
在一个实施例中,所述接收模块还用于接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种,通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器,也可以是终端。如图9所示,该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现程序开发方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行程序开发方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的程序开发方法可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该程序开发装置的各个程序模块。比如,接收模块502、转换模块504和运行模块506。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:接收输入的原始程序,所述原始程序是采用脚本语言编写的;调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;运行所述目标程序完成相应的程序开发。
在一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序,包括:通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行所述目标程序完成相应的程序开发,包括:获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
在一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序的步骤之前,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取所述脚本语言的脚本类型;根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
在一个实施例中,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取输入参数和输出参数;根据所述输入参数和输出参数对所述原始程序进行功能测试。
在一个实施例中,在所述接收输入的原始程序,所述原始程序是采用脚本语言编写的步骤之后,所述计算机程序被所述处理器执行时,还用于执行以下步骤:接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;以所述字符串的形式将所述原始程序保存到数据库表中。
在一个实施例中,所述接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种;通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:接收输入的原始程序,所述原始程序是采用脚本语言编写的;调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;运行所述目标程序完成相应的程序开发。
在一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序,包括:通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行所述目标程序完成相应的程序开发,包括:获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
在一个实施例中,所述调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序的步骤之前,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取所述脚本语言的脚本类型;根据所述脚本语言的脚本类型确定与所述脚本类型对应的目标脚本引擎。
在一个实施例中,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取输入参数和输出参数;根据所述输入参数和输出参数对所述原始程序进行功能测试。
在一个实施例中,在所述接收输入的原始程序,所述原始程序是采用脚本语言编写的步骤之后,所述计算机程序被所述处理器执行时,还用于执行以下步骤:接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;以所述字符串的形式将所述原始程序保存到数据库表中。
在一个实施例中,所述接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种;通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种程序开发方法,应用于基于Java语言的***,所述程序开发方法应用于终端,其特征在于,所述方法包括:
提供一个功能界面,所述功能界面用于接收输入的原始程序;
接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种,通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序,所述脚本语言的脚本类型包括sql(Structured Query Language结构化查询语言)语言、groovy(一种基于java虚拟机的敏捷开发语言)语言、JavaScript(一种直译式脚本语言)语言、ruby(一种简单快捷的面向对象脚本语言)语言;
接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;
以所述字符串的形式将所述原始程序保存到数据库表中;
对所述原始程序的脚本语言进行识别得到目标脚本类型,获取与所述目标脚本类型对应的脚本引擎并确定为目标脚本引擎;所述目标脚本引擎至少包括解析sql(StructuredQuery Language结构化查询语言)语言的脚本引擎、解析groovy(一种基于java虚拟机的敏捷开发语言)语言的脚本引擎、解析JavaScript(一种直译式脚本语言)语言的脚本引擎、解析ruby(一种简单快捷的面向对象脚本语言)语言的脚本引擎;
调用与所述脚本语言的脚本类型对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行所述目标程序完成相应的程序开发。
2.根据权利要求1所述的方法,其特征在于,所述调用与所述脚本语言的脚本类型对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序,包括:
通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括原始程序中定义的变量和方法;
所述运行所述目标程序完成相应的程序开发,包括:
获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取输入参数和输出参数;
根据所述输入参数和输出参数对所述原始程序进行功能测试。
4.一种程序开发装置,应用于基于Java语言的***,所述程序开发装置应用于终端,其特征在于,所述装置包括:
接收模块,用于接收输入的原始程序,所述原始程序是采用脚本语言编写的,包括:接收输入的脚本基础信息,所述脚本基础信息包括:脚本名称、脚本类型、脚本描述中的至少一种,通过与所述脚本基础信息对应的脚本编辑界面接收输入的所述原始程序,所述脚本语言的脚本类型包括sql(Structured Query Language结构化查询语言)语言、groovy(一种基于java虚拟机的敏捷开发语言)语言、JavaScript(一种直译式脚本语言)语言、ruby(一种简单快捷的面向对象脚本语言)语言;
保存模块,用于接收对所述原始程序的保存指令,根据所述保存指令将所述原始程序转换为字符串的形式;以所述字符串的形式将所述原始程序保存到数据库表中;
引擎确定模块,用于对所述原始程序的脚本语言进行识别得到目标脚本类型,获取与所述目标脚本类型对应的脚本引擎并确定为目标脚本引擎;所述目标脚本引擎至少包括解析sql(Structured Query Language结构化查询语言)语言的脚本引擎、解析groovy(一种基于java虚拟机的敏捷开发语言)语言的脚本引擎、解析JavaScript(一种直译式脚本语言)语言的脚本引擎、解析ruby(一种简单快捷的面向对象脚本语言)语言的脚本引擎;
转换模块,用于调用与所述脚本语言对应的目标脚本引擎对所述原始程序进行解析,转换为可执行的目标程序;
运行模块,用于运行所述目标程序完成相应的程序开发。
5.根据权利要求4所述的装置,其特征在于,所述转换模块还用于通过所述脚本引擎将所述原始程序进行解析转换为Java对象,所述Java对象包括脚本逻辑中定义的变量和方法;所述运行模块还用于获取脚本参数,根据脚本参数替换所述Java对象中的变量执行所述Java对象中的方法以完成相应的程序开发。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有
计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至3中任一项所述方法的步骤。
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至3中任一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811236438 | 2018-10-23 | ||
CN2018112364384 | 2018-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597618A CN109597618A (zh) | 2019-04-09 |
CN109597618B true CN109597618B (zh) | 2020-06-23 |
Family
ID=65957383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811302706.8A Active CN109597618B (zh) | 2018-10-23 | 2018-11-02 | 程序开发方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597618B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275706A (zh) * | 2019-07-01 | 2019-09-24 | 拉扎斯网络科技(上海)有限公司 | 程序发布和加载方法、装置、计算机***及可读存储介质 |
CN110673934B (zh) * | 2019-08-22 | 2023-04-21 | 深圳市全通数码科技有限公司 | 一种基于大数据的智能管控平台运行方法 |
CN111240728A (zh) * | 2020-01-16 | 2020-06-05 | 中国建设银行股份有限公司 | 应用程序更新方法、装置、设备和存储介质 |
CN112269566B (zh) * | 2020-11-03 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | 脚本生成处理方法、装置、设备及*** |
CN113656037A (zh) * | 2021-07-27 | 2021-11-16 | 克拉玛依油城数据有限公司 | 基于微服务管控动态脚本快速开发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739277A (zh) * | 2009-12-08 | 2010-06-16 | 南京联创科技集团股份有限公司 | 基于自定义脚本方式管理业务监控***的方法 |
CN106126263A (zh) * | 2016-07-04 | 2016-11-16 | 傲讯全通科技(深圳)有限公司 | 一种快速定制用户界面和功能的方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现***动态功能在线拦截扩展的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219338B2 (en) * | 2003-03-25 | 2007-05-15 | Microsoft Corporation | Multi-language compilation |
CN100466556C (zh) * | 2007-03-30 | 2009-03-04 | 华为技术有限公司 | 一种网络设备管理的方法和*** |
CN102023856A (zh) * | 2010-10-21 | 2011-04-20 | 杭州万格网络科技有限公司 | 根据用户的需求格式化输出及操作伺服端业务数据的方法 |
KR101264615B1 (ko) * | 2011-06-17 | 2013-05-27 | (주)네오위즈게임즈 | 게임 서버의 작업 파일 실행 장치 및 방법 |
CN102999370A (zh) * | 2011-09-16 | 2013-03-27 | 腾讯科技(深圳)有限公司 | 脚本的执行方法及*** |
US9361070B1 (en) * | 2012-01-27 | 2016-06-07 | Andrew Nuss | Compiling regular expression side-effects to java or C# code |
CN104298495B (zh) * | 2013-07-19 | 2018-07-20 | 桥弘数控科技(上海)有限公司 | 一种基于脚本语言的程序开发方法及*** |
-
2018
- 2018-11-02 CN CN201811302706.8A patent/CN109597618B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739277A (zh) * | 2009-12-08 | 2010-06-16 | 南京联创科技集团股份有限公司 | 基于自定义脚本方式管理业务监控***的方法 |
CN106126263A (zh) * | 2016-07-04 | 2016-11-16 | 傲讯全通科技(深圳)有限公司 | 一种快速定制用户界面和功能的方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现***动态功能在线拦截扩展的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109597618A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN111176996A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN108804159B (zh) | javascript模块加载方法及其预处理方法、装置和计算机设备 | |
CN109684607B (zh) | Json数据解析方法、装置、计算机设备和存储介质 | |
CN111782330B (zh) | 一种基于Web应用的页面数据获取方法、装置及设备 | |
CN109032662B (zh) | 代码文件生成方法、装置、计算机设备和存储介质 | |
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
US9182953B2 (en) | Hybrid dynamic code compiling device, method, and service system thereof | |
CN106547527B (zh) | 一种JavaScript文件构建方法及装置 | |
CN109840083B (zh) | 网页组件模板构建方法、装置、计算机设备和存储介质 | |
CN111078555B (zh) | 一种测试文件的生成方法、***、服务器和存储介质 | |
CN111752571A (zh) | 程序升级方法、装置、设备及存储介质 | |
CN104991773A (zh) | 程序生成方法及装置 | |
CN112527415A (zh) | 小程序跨平台迁移方法、装置、设备和介质 | |
CN112187713B (zh) | 报文转换的方法、装置、计算机设备和存储介质 | |
CN110955434B (zh) | 软件开发包处理方法、装置、计算机设备和存储介质 | |
CN110347588B (zh) | 软件验证方法、装置、计算机设备和存储介质 | |
CN111309332A (zh) | 文件内容按需加载方法、装置及电子设备、存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN111596970B (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN114115900B (zh) | 一种脚本编译方法、装置及电子设备 | |
EP2721494B1 (en) | System and method to in-line script dependencies | |
CN114579141A (zh) | require框架转化为VUE框架的方法及装置 | |
CN112650502A (zh) | 批处理任务处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 503, North Automotive Building, No. 284 Baomin 1st Road, Wenhui Community, Xin'an Street, Bao'an District, Shenzhen City, Guangdong Province, 518100 Patentee after: Shenzhen Saimeite Information Technology Co.,Ltd. Country or region after: China Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Patentee before: SHENZHEN WEIXUN INFORMATION TECHNOLOGY CO.,LTD. Country or region before: China |