CN104317602B - 一种主机代码文件的开发方法及装置 - Google Patents
一种主机代码文件的开发方法及装置 Download PDFInfo
- Publication number
- CN104317602B CN104317602B CN201410610322.8A CN201410610322A CN104317602B CN 104317602 B CN104317602 B CN 104317602B CN 201410610322 A CN201410610322 A CN 201410610322A CN 104317602 B CN104317602 B CN 104317602B
- Authority
- CN
- China
- Prior art keywords
- file
- code
- script
- code file
- main frame
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种主机代码文件的开发方法及装置,应用于开发平台,开发平台上建立有目标进程,所述方法包括:将开发平台上撰写完成的代码文件上传到主机上;生成第一脚本文件,并将第一脚本文件上传到主机上;生成第二脚本文件,第二脚本文件中包括有多个编译及运行命令,第二脚本文件与第一脚本文件相关联;利用目标进程调用第二脚本文件以触发执行第一脚本文件,使得在开发平台上生成第一图形界面,第一图形界面上设置有多个编译及运行命令各自对应的控件;获取第一图形界面上被点击的第一控件信息,确定第一控件信息所对应的编译及运行命令,以触发执行第一脚本文件中相应命令的操作,完成对主机上代码文件的编译及运行。
Description
技术领域
本发明涉及软件工程技术领域,特别涉及一种主机代码文件的开发方法及装置。
背景技术
当前,为了开发在IBM等大型主机上运行的程序代码,需要在本地windows平台下将代码编写完成,再利用FTP(文件传输协议)上传到主机,然后在windows平台下利用IBM的个人通信终端字符工具如Pcomm中手工敲入复杂的命令,来完成编译和运行功能,在这一过程中,与主机的交互均是利用TELNET协议通过向主机传送命令字符来实现的。
但是,在上述实现方案中,不仅需要开发人员记住所有对应编译运行功能的命令,对开发人员的要求比较高,而且,在完成一个任务时可能需要开发人员依次手动输入多个命令,由此,减慢程序代码的编译及运行效率。
发明内容
本发明的目的在于提供一种主机代码文件的开发方法及装置,能够解决现有技术中需要开发人员记住所有编译运行命令并在完成某个任务时需要依次输入多个命令,导致对开发人员的要求较高,且减慢代码的编译及运行效率的技术问题。
本发明提供了一种主机代码文件的开发方法,应用于开发平台,所述开发平台上建立有目标进程,所述方法包括:
将所述开发平台上撰写完成的代码文件上传到所述主机上;
生成第一脚本文件,并将所述第一脚本文件上传到所述主机上;
生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联;
利用所述目标进程调用所述第二脚本文件以触发执行所述第一脚本文件,使得在所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件;
获取所述第一图形界面上被点击的第一控件信息,确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行。
上述方法,优选的,所述目标进程中能够执行文件传输协议FTP命令,并将FTP命令的返回信息重定向输出至预定处理函数中。
上述方法,优选的,所述将所述开发平台上撰写完成的代码文件上传到所述主机上,包括:
生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令;
利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件;
获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
上述方法,优选的,所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识;
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
上述方法,优选的,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
本发明还提供了一种主机代码文件的开发装置,应用于开发平台,所述开发平台上建立有目标进程,所述装置包括:
代码上传单元,用于将所述开发平台上撰写完成的代码文件上传到所述主机上;
第一脚本生成单元,用于生成第一脚本文件,并将所述第一脚本文件上传到所述主机上;
第二脚本生成单元,用于生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联;
脚本调用单元,用于利用所述目标进程调用所述第二脚本以触发执行所述第一脚本文件,使得所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件;
控件信息获取单元,用于获取所述第一图形界面上被点击的第一控件信息;
命令确定单元,用于确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行。
上述装置,优选的,所述目标进程中能够执行FTP命令,并将FTP命令的返回信息重新定向输出至预定处理函数中。
上述装置,优选的,所述代码上传单元包括:
第三脚本生成子单元,用于生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令;
脚本执行子单元,用于利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件;
命令执行子单元,用于获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
上述装置,优选的,所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识;
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
上述装置,优选的,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
由上述方案可知,本发明提供的一种主机代码文件的开发方法及装置,应用于如windows等开发平台中,该开发平台上设置有目标进程,在利用本发明实现代码编译及运行时,可以首先将撰写完成的代码文件上传到主机上,之后生成第一脚本文件,将该第一脚本文件上传到主机上,再生成第二脚本文件,这里的第二脚本文件与第一脚本文件具有关联性,进而利用上文中的目标进行调用第二脚本文件进而条用主机上的第一脚本文件,使得开发平台上生成设置有命令控件的第一图形界面的同时,开发人员能够通过点击该第一图形界面上的第一控件,进而能够触发执行主机上第一脚本上相应命令的操作,完成对主机上代码文件的远程编译及运行控制,实现本发明目的。本发明中无需用户开放人员去手工依次编辑多个命令,更加无需去记住每个命令代码,只需点击图像界面上相应命令的控件即可实现对主机上代码文件的命令控制,不仅降低对开发人员的要求,而且能够明显提高程序代码的编译及运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种主机代码文件的开发方法实施例一的流程图;
图2为本发明实施例的应用示例图;
图3为本发明提供的一种主机代码文件的开发方法实施例二的部分流程图;
图4为本发明实施例的另一应用示例图;
图5为本发明提供的一种主机代码文件的开发装置实施例三的结构示意图;
图6为本发明提供的一种主机代码文件的开发装置实施例四的部分结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明提供的一种主机代码文件的开发方法实施例一的流程图,其中,本实施例中的方法应用于开发平台中,所述开发平台可以为windows终端等实现,这里的主机可以为如IBM大型主机等终端,本实施例中的方法在于:开发人员在windows终端等平台下将代码文件编写完成之后,实现对代码文件的上传、编译及运行等控制。为实现这一目的,本实施例可以利用以下步骤实现:
步骤101:将所述开发平台上撰写完成的代码文件上传到所述主机上。
步骤102:生成第一脚本文件,并将所述第一脚本文件上传到所述主机上。
步骤103:生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联。
也就是说,所述第二脚本文件中的多个编译及运行命令,在所述第一脚本文件中同样有相应的命令,以使得位于所述开发平台的第二脚本文件被调用时,位于所述主机上的第一脚本文件被间接调用。
步骤104:利用所述目标进程调用所述第二脚本文件以触发执行所述第一脚本文件,使得在所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件。
其中,在所述开发平台上,所述第二脚本文件被调用时,其调用执行结果即为所述第一图形界面,所述第一图像界面显示给开发人员,需要说明的是,所述第一图形界面中显示有多个控件,每个所述控件分别对应一个编译命令或运行命令,简称编译及运行命令。开发人员可以通过点击其所需要控件,以达到触发执行相应命令的目的。
步骤105:获取所述第一图形界面上被点击的第一控件信息。
步骤106:确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行。
由上述方案可知,本发明提供的一种主机代码文件的开发方法实施例一,应用于如windows等开发平台中,该开发平台上设置有目标进程,在利用本发明实现代码编译及运行时,可以首先将撰写完成的代码文件上传到主机上,之后生成第一脚本文件,将该第一脚本文件上传到主机上,再生成第二脚本文件,这里的第二脚本文件与第一脚本文件具有关联性,进而利用上文中的目标进行调用第二脚本文件进而条用主机上的第一脚本文件,使得开发平台上生成设置有命令控件的第一图形界面的同时,开发人员能够通过点击该第一图形界面上的第一控件,进而能够触发执行主机上第一脚本上相应命令的操作,完成对主机上代码文件的远程编译及运行控制,实现本实施例目的。本实施例中无需用户开放人员去手工依次编辑多个命令,更加无需去记住每个命令代码,只需点击图像界面上相应命令的控件即可实现对主机上代码文件的命令控制,不仅降低对开发人员的要求,而且能够明显提高程序代码的编译及运行效率。
在上述实施例中,所述目标进程中能够执行文件传输协议FTP命令,并将FTP命令的返回信息重定向输出至预定处理函数中。在本发明中是指,利用所述目标进程中的异步输出机制处理FTP命令的返回信息。其中,所述异步输出机制利用输出重定向功能实现即可,区别于现有技术中输出到标准输出函数,在本发明中所述目标进程将FTP命令的返回信息输出至指定的处理函数中,由此,区别于现有技术中将FTP命令的返回信息反显在编写命令代码的工具如Pcomm字符工具上,行和列都受到限制,不利于查询的情况,本发明利用函数引用跳转定位,便于对代码的调试和查阅。
相应的,在上述实施例中,所述第一脚本文件可以为JCL脚本,在将所述第一脚本文件上传至所述主机上时,本发明可以通过FTP命令将JCL脚本上传到如IBM等大型主机上,所述第二脚本文件可以为FTP脚本,所述FTP脚本与所述JCL脚本具有关联关系,使得本发明在通过所述目标进程调用所述FTP脚本时能够间接触发执行所述JCL脚本,达到在IBM等大型主机上实现对应命令如编译及运行等命令功能的目的。
在具体实现中,为了达到能够调起所述主机上的JCL脚本的目的,在进行脚本调用之前,所述FTP脚本需要进行特定处理,例如,已上传至IBM主机的JCL脚本文件叫做CMPBAT,为了在IBM主机上调起CMPBAT,则需要在FTP脚本中加入如下命令:
QUOTE SITE FILETYPE=JES
PUT CMPBAT
此命令的意义是,指定FTP进入作业模式,而进入作业模式的PUT命令,则变成了提交作业功能的命令。
提交作业后,作业的反馈信息,可以由异步的函数接收并处理,反馈信息中有一项是该作业提交后分配到的作业编码JOBID,异步信息获得此JOBID后,可利用FTP脚本,获取该作业执行的所有详细信息,命令如下:
QUOTE SITE FILETYPE=SEQ
DIR JOBID
GET JOBID.*
由此,可以获得此作业所有的相关信息,开发人员即可在本地Windows平台下解析该作业,如图2中所示。
参考图3,为本发明提供的一种主机代码文件的开发方法实施例二中所述步骤101的实现流程图,其中,所述步骤101可以通过以下步骤实现:
步骤111:生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令。
其中,所述第三脚本文件在生成后可以设置在本实施例中的进行上传或下载文件的处理函数中,在开发人员准备上传或下载文件时,通过触发上传或下载的处理函数来触发执行,进行上传文件或下载文件等动作。
步骤112:利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件。
其中,在开发人员触发执行上传或下载的处理函数之后,利用所述目标进程执行所述第三脚本文件,所述第三脚本文件的执行结果即为生成第二图形界面,该第二图形界面显示给开发人员,需要说明的是,所述第二图形界面中显示有多个控件,每个控件分别对应FTP连接服务器、上传及下载的命令,开发人员可以通过点击相应控件,实现对应命令的触发执行,无需开发人员手动输入每个命令的代码,即可触发执行相应命令。
步骤113:获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
其中,在本实施例中,被点击的第二控件即为上传命令所对应的控件,开发人员在点击该控件之后,执行相应的上传命令,实现将代码文件传输到所述主机上的目的。
需要说明的是,上文中上传或下载完成之后返回的信息在异步的函数中处理,根据返回的信息判断是否上传或下载成功。
上述各个实施例中,所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识。
也就是说,为了实现项目化管理IBM主机上的文件,可在所述主机上建立一个任何用户都具有写权限的普通文件,即标识文件,该标识文件内容的前几行为标识行,包括代码文件所属项目的项目名称、项目属性等信息,然后所述标识文件的主要内容为一个目录结构,即该项目包含的文件的结构。在该目标结构的文件中,文件每行内容为一个节点,或者是文件(可以理解为子文件),或者是目录,其中每个文件都包含一个附加信息,附加信息的内容为此文件在IBM主机上的存储的真实位置(代码文件所在主机位置信息)。当访问这个标识文件的时候,可以把其当成项目文件,利用其中的目录结构中的内容可生成一个目录树,当双击树中的节点时,打开的文件,则是通过其注释(即此文件在IBM主机上的存储的真实位置)打开该文件。
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
也就是说,为了达到访问互斥的目的,每个文件节点的附加信息中还保存一个当前用户即当前编辑用户标识,如果该用户标识为空,则其他用户可以编辑,当某个用户编辑时,此文件的附加信息则为此用户的用户名;如果用户不为空,则其他用户只能浏览,不能编辑。
基于前文中所述内容,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
也就是说,利用项目文件将所有相关的文件加入到项目统一管理,这样就得到了IBM主机上文件的关系。本发明中将所有文件独立的处理,生成每个文件的变量和函数列表,统一存储在项目的索引文件中(与项目文件配套),当开发人员打开一个项目中的代码文件时,遍历项目索引文件,可确定当前文件是否引用了该项目中的其他文件的函数,这样,可以生成一颗函数调用树。树中的每个节点都是一个函数,该节点的附加信息为该函数所在的文件名和行数,这样,双击该函数节点,则可以定位到该函数的具体定义的位置了。
另外,当利用FTP(文件传输协议)进行文件传输时,本发明为了保证传输前后代码的一致性,可在上传或下载时,加入如下处理过程,如图4中流程所示,在文件下载后,将下载后的文件立刻备份,存到指定位置,取当前时间戳为其命名,同时在名中包含一个下载后备份的标识;在本地编辑完毕后,上传到主机前,将上传前的文件立刻备份,存到指定位置,取当前时间戳为其命名,同时在名中包含一个上传前备份的标识。通过此机制,保证了主机或者网络无论出现何种情况,都可恢复到开发者想要恢复的阶段,保证数据的一致性。
参考图5,为本发明提供的一种主机代码文件的开发装置实施例三的结构示意图,其中,所述装置应用于开发平台中,所述开发平台可以为windows终端等实现,这里的主机可以为如IBM大型主机等终端,本实施例中的装置在于:开发人员在windows终端等平台下将代码文件编写完成之后,实现对代码文件的上传、编译及运行等控制。为实现这一目的,本实施例可以利用以下结构实现:
代码上传单元501,用于将所述开发平台上撰写完成的代码文件上传到所述主机上。
第一脚本生成单元502,用于生成第一脚本文件,并将所述第一脚本文件上传到所述主机上。
第二脚本生成单元503,用于生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联。
也就是说,所述第二脚本文件中的多个编译及运行命令,在所述第一脚本文件中同样有相应的命令,以使得位于所述开发平台的第二脚本文件被调用时,位于所述主机上的第一脚本文件被间接调用。
脚本调用单元504,用于利用所述目标进程调用所述第二脚本以触发执行所述第一脚本文件,使得所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件。
其中,在所述开发平台上,所述第二脚本文件被调用时,其调用执行结果即为所述第一图形界面,所述第一图像界面显示给开发人员,需要说明的是,所述第一图形界面中显示有多个控件,每个所述控件分别对应一个编译命令或运行命令,简称编译及运行命令。开发人员可以通过点击其所需要控件,以达到触发执行相应命令的目的。
控件信息获取单元505,用于获取所述第一图形界面上被点击的第一控件信息。
命令确定单元506,用于确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行。
由上述方案可知,本发明提供的一种主机代码文件的开发装置实施例三,应用于如windows等开发平台中,该开发平台上设置有目标进程,在利用本发明实现代码编译及运行时,可以首先将撰写完成的代码文件上传到主机上,之后生成第一脚本文件,将该第一脚本文件上传到主机上,再生成第二脚本文件,这里的第二脚本文件与第一脚本文件具有关联性,进而利用上文中的目标进行调用第二脚本文件进而条用主机上的第一脚本文件,使得开发平台上生成设置有命令控件的第一图形界面的同时,开发人员能够通过点击该第一图形界面上的第一控件,进而能够触发执行主机上第一脚本上相应命令的操作,完成对主机上代码文件的远程编译及运行控制,实现本实施例目的。本实施例中无需用户开放人员去手工依次编辑多个命令,更加无需去记住每个命令代码,只需点击图像界面上相应命令的控件即可实现对主机上代码文件的命令控制,不仅降低对开发人员的要求,而且能够明显提高程序代码的编译及运行效率。
在上述实施例中,所述目标进程中能够执行文件传输协议FTP命令,并将FTP命令的返回信息重定向输出至预定处理函数中。在本发明中是指,利用所述目标进程中的异步输出机制处理FTP命令的返回信息。其中,所述异步输出机制利用输出重定向功能实现即可,区别于现有技术中输出到标准输出函数,在本发明中所述目标进程将FTP命令的返回信息输出至指定的处理函数中,由此,区别于现有技术中将FTP命令的返回信息反显在编写命令代码的工具如Pcomm字符工具上,行和列都受到限制,不利于查询的情况,本发明利用函数引用跳转定位,便于对代码的调试和查阅。
相应的,在上述实施例中,所述第一脚本文件可以为JCL脚本,在将所述第一脚本文件上传至所述主机上时,本发明可以通过FTP命令将JCL脚本上传到如IBM等大型主机上,所述第二脚本文件可以为FTP脚本,所述FTP脚本与所述JCL脚本具有关联关系,使得本发明在通过所述目标进程调用所述FTP脚本时能够间接触发执行所述JCL脚本,达到在IBM等大型主机上实现对应命令如编译及运行等命令功能的目的。
在具体实现中,为了达到能够调起所述主机上的JCL脚本的目的,在进行脚本调用之前,所述FTP脚本需要进行特定处理,例如,已上传至IBM主机的JCL脚本文件叫做CMPBAT,为了在IBM主机上调起CMPBAT,则需要在FTP脚本中加入如下命令:
QUOTE SITE FILETYPE=JES
PUT CMPBAT
此命令的意义是,指定FTP进入作业模式,而进入作业模式的PUT命令,则变成了提交作业功能的命令。
提交作业后,作业的反馈信息,可以由异步的函数接收并处理,反馈信息中有一项是该作业提交后分配到的作业编码JOBID,异步信息获得此JOBID后,可利用FTP脚本,获取该作业执行的所有详细信息,命令如下:
QUOTE SITE FILETYPE=SEQ
DIR JOBID
GET JOBID.*
由此,可以获得此作业所有的相关信息,开发人员即可在本地Windows平台下解析该作业,如图2中所示。
参考图6,为本发明提供的一种主机代码文件的开发装置实施例四中所述代码上传单元501的结构示意图,其中,所述代码上传单元501可以包括以下结构:
第三脚本生成子单元511,用于生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令。
其中,所述第三脚本文件在生成后可以设置在本实施例中的进行上传或下载文件的处理函数中,在开发人员准备上传或下载文件时,通过触发上传或下载的处理函数来触发执行,进行上传文件或下载文件等动作。
脚本执行子单元512,用于利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件。
其中,在开发人员触发执行上传或下载的处理函数之后,利用所述目标进程执行所述第三脚本文件,所述第三脚本文件的执行结果即为生成第二图形界面,该第二图形界面显示给开发人员,需要说明的是,所述第二图形界面中显示有多个控件,每个控件分别对应FTP连接服务器、上传及下载的命令,开发人员可以通过点击相应控件,实现对应命令的触发执行,无需开发人员手动输入每个命令的代码,即可触发执行相应命令。
命令执行子单元513,用于获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
其中,在本实施例中,被点击的第二控件即为上传命令所对应的控件,开发人员在点击该控件之后,执行相应的上传命令,实现将代码文件传输到所述主机上的目的。
需要说明的是,上文中上传或下载完成之后返回的信息在异步的函数中处理,根据返回的信息判断是否上传或下载成功。
上述各个实施例中,所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识。
也就是说,为了实现项目化管理IBM主机上的文件,可在所述主机上建立一个任何用户都具有写权限的普通文件,即标识文件,该标识文件内容的前几行为标识行,包括代码文件所属项目的项目名称、项目属性等信息,然后所述标识文件的主要内容为一个目录结构,即该项目包含的文件的结构。在该目标结构的文件中,文件每行内容为一个节点,或者是文件(可以理解为子文件),或者是目录,其中每个文件都包含一个附加信息,附加信息的内容为此文件在IBM主机上的存储的真实位置(代码文件所在主机位置信息)。当访问这个标识文件的时候,可以把其当成项目文件,利用其中的目录结构中的内容可生成一个目录树,当双击树中的节点时,打开的文件,则是通过其注释(即此文件在IBM主机上的存储的真实位置)打开该文件。
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
也就是说,为了达到访问互斥的目的,每个文件节点的附加信息中还保存一个当前用户即当前编辑用户标识,如果该用户标识为空,则其他用户可以编辑,当某个用户编辑时,此文件的附加信息则为此用户的用户名;如果用户不为空,则其他用户只能浏览,不能编辑。
基于前文中所述内容,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
也就是说,利用项目文件将所有相关的文件加入到项目统一管理,这样就得到了IBM主机上文件的关系。本发明中将所有文件独立的处理,生成每个文件的变量和函数列表,统一存储在项目的索引文件中(与项目文件配套),当开发人员打开一个项目中的代码文件时,遍历项目索引文件,可确定当前文件是否引用了该项目中的其他文件的函数,这样,可以生成一颗函数调用树。树中的每个节点都是一个函数,该节点的附加信息为该函数所在的文件名和行数,这样,双击该函数节点,则可以定位到该函数的具体定义的位置了。
另外,当利用FTP(文件传输协议)进行文件传输时,本发明为了保证传输前后代码的一致性,可在上传或下载时,加入如下处理过程,如图4中流程所示,在文件下载后,将下载后的文件立刻备份,存到指定位置,取当前时间戳为其命名,同时在名中包含一个下载后备份的标识;在本地编辑完毕后,上传到主机前,将上传前的文件立刻备份,存到指定位置,取当前时间戳为其命名,同时在名中包含一个上传前备份的标识。通过此机制,保证了主机或者网络无论出现何种情况,都可恢复到开发者想要恢复的阶段,保证数据的一致性。
由此,根据前文中所述的各个主机代码文件的开发方法及装置实施例中内容,本发明可完全抛弃字符命令操作,利用图形界面的方式,让开发人员利用鼠标点击按钮的方式去完成上传、远程编译、远程调试、远程执行、远程提交任务及主机任务信息查阅等功能,达到了开发快捷,高效的目的。
另外,本发明中可在主机建立项目文件,统一管理多文件代码的项目,代码文件互斥访问,便于项目的管理。在项目中,实现函数调用树的生成和函数引用跳转定位,便于对代码的调试和查阅。下载后和上传前的备份,可保证代码文件的一致性,可恢复到任意阶段的代码。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种主机代码文件的开发方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种主机代码文件的开发方法,其特征在于,应用于开发平台,所述开发平台上建立有目标进程,所述方法包括:
将所述开发平台上撰写完成的代码文件上传到所述主机上;
生成第一脚本文件,并将所述第一脚本文件上传到所述主机上;
生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联;
利用所述目标进程调用所述第二脚本文件以触发执行所述第一脚本文件,使得在所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件;
获取所述第一图形界面上被点击的第一控件信息,确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行;
所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识;
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
2.根据权利要求1所述的方法,其特征在于,所述目标进程中能够执行文件传输协议FTP命令,并将FTP命令的返回信息重定向输出至预定处理函数中。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述开发平台上撰写完成的代码文件上传到所述主机上,包括:
生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令;
利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件;
获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
4.根据权利要求1或2所述的方法,其特征在于,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
5.一种主机代码文件的开发装置,其特征在于,应用于开发平台,所述开发平台上建立有目标进程,所述装置包括:
代码上传单元,用于将所述开发平台上撰写完成的代码文件上传到所述主机上;
第一脚本生成单元,用于生成第一脚本文件,并将所述第一脚本文件上传到所述主机上;
第二脚本生成单元,用于生成第二脚本文件,所述第二脚本文件中包括有多个编译及运行命令,所述第二脚本文件与所述第一脚本文件相关联;
脚本调用单元,用于利用所述目标进程调用所述第二脚本以触发执行所述第一脚本文件,使得所述开发平台上生成第一图形界面,所述第一图形界面上设置有多个编译及运行命令各自对应的控件;
控件信息获取单元,用于获取所述第一图形界面上被点击的第一控件信息;
命令确定单元,用于确定所述第一控件信息所对应的编译及运行命令,以触发执行所述第一脚本文件中相应命令的操作,完成对所述主机上代码文件的编译及运行;
所述主机上的每个代码文件作为项目文件被访问,每个代码文件均具有各自的标识文件,所述标识文件中包括代码文件的项目标识信息及目录结构,所述项目标识信息包括所述代码文件所属项目的项目名称及项目属性,所述目录结构中包括代码文件所属项目位置信息、代码文件所在主机位置信息及其当前编辑用户标识;
其中,所述代码文件所属项目位置信息用于生成代码文件的项目树,所述代码文件所在主机位置信息用于访问代码文件,所述当前编辑用户标识用于控制对代码文件的访问权限。
6.根据权利要求5所述的装置,其特征在于,所述目标进程中能够执行FTP命令,并将FTP命令的返回信息重新定向输出至预定处理函数中。
7.根据权利要求5或6所述的装置,其特征在于,所述代码上传单元包括:
第三脚本生成子单元,用于生成第三脚本文件,所述第三脚本文件中包括文件传输协议FTP连接服务器、上传及下载的命令;
脚本执行子单元,用于利用所述目标进程执行所述第三脚本文件,使得所述开发平台上生成第二图形界面,所述第二图形界面上设置有FTP连接服务器、上传及下载的命令各自对应的控件;
命令执行子单元,用于获取所述第二图形界面上被点击的第二控件信息,执行所述第二控件信息所对应的上传命令,以将所述代码文件传输到所述主机上。
8.根据权利要求5或6所述的装置,其特征在于,所述主机上的每个项目文件均具有其项目索引文件,所述项目索引文件中包括项目函数树,所述项目函数树中包括多个树节点,每个所述树节点分别对应其所属项目文件内的一个函数及其所在代码文件的文件名和行数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410610322.8A CN104317602B (zh) | 2014-11-03 | 2014-11-03 | 一种主机代码文件的开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410610322.8A CN104317602B (zh) | 2014-11-03 | 2014-11-03 | 一种主机代码文件的开发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317602A CN104317602A (zh) | 2015-01-28 |
CN104317602B true CN104317602B (zh) | 2017-09-08 |
Family
ID=52372837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410610322.8A Active CN104317602B (zh) | 2014-11-03 | 2014-11-03 | 一种主机代码文件的开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317602B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101762283B1 (ko) * | 2016-05-19 | 2017-07-31 | 주식회사 티맥스 소프트 | 인코딩이 다른 환경에서 jcl을 재사용하기 위한 소트 스크립트 변환 방법 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램 |
CN106648789A (zh) * | 2016-12-28 | 2017-05-10 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN107249070A (zh) * | 2017-04-21 | 2017-10-13 | 努比亚技术有限公司 | 一种终端和伽玛调节方法 |
CN112632133B (zh) * | 2020-12-31 | 2023-10-10 | 中国农业银行股份有限公司 | 一种数据链路查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727316A (zh) * | 2008-10-22 | 2010-06-09 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
CN102520952A (zh) * | 2011-12-14 | 2012-06-27 | 北京佳讯飞鸿电气股份有限公司 | 软件代码版本自动构建及发布方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2588428A4 (en) * | 2010-06-30 | 2014-03-05 | Univ Saskatchewan | KINOME ANALYSIS METHODS |
-
2014
- 2014-11-03 CN CN201410610322.8A patent/CN104317602B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727316A (zh) * | 2008-10-22 | 2010-06-09 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
CN102520952A (zh) * | 2011-12-14 | 2012-06-27 | 北京佳讯飞鸿电气股份有限公司 | 软件代码版本自动构建及发布方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317602A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
US10831453B2 (en) | Connectors framework | |
US9465726B2 (en) | Abstract layer for automatic user interface testing | |
CN103514023B (zh) | 一种虚拟机离线自动软件安装的方法及系统 | |
CN103838584B (zh) | 一种移动终端应用的开发方法及装置 | |
CN108228228B (zh) | 应用软件发布方法及装置 | |
CN104317602B (zh) | 一种主机代码文件的开发方法及装置 | |
CN111126781A (zh) | Rpa业务流程的创建方法及系统 | |
Hamon et al. | Formal description of multi-touch interactions | |
Demuth et al. | The unicore rich client: Facilitating the automated execution of scientific workflows | |
CN109657177A (zh) | 升级后页面的生成方法、装置、存储介质及计算机设备 | |
CN101477485B (zh) | 一种基于ASP.net远程备份和还原MySQL数据库方法 | |
US11681961B2 (en) | Flexible work breakdown structure | |
CN115455329A (zh) | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 | |
Cai et al. | A pattern-based code transformation approach for cloud application migration | |
US20240080354A1 (en) | Providing bulk server-side custom actions for multiple rows of a client-side spread sheet | |
CN111796855B (zh) | 一种增量版本更新方法、装置、存储介质及计算机设备 | |
US10338891B2 (en) | Migration between model elements of different types in a modeling environment | |
CN108762765A (zh) | 基于contiki系统的开发板程序编译下载方法 | |
CN106446233A (zh) | 一种基于Web的Linux文件管理方法和装置 | |
US8719766B1 (en) | System and method for identifying and adding files to a project manifest | |
CN101976196B (zh) | 一种面向“服务质量”的代码自动生成方法 | |
CN116893807A (zh) | 使用浏览器设计机器人流程自动化机器人的系统和方法 | |
CN108038181A (zh) | 一种数据处理系统及数据处理方法 | |
CN112015560A (zh) | 一种用于构建it基础设施的装置 |
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 |