一种基于Python开发的跨平台编译终端程序的系统及方法技术方案

技术编号:25755691 阅读:17 留言:0更新日期:2020-09-25 21:05
本发明专利技术公开了一种跨平台编译终端程序的系统,包括python语言环境支持的远程操作系统,远程操作系统分别连接SVN源码库、FTP服务器;不同的远程操作系统上均安装python语言环境、svn客户端、编译程序、执行程序、打包程序及ftp客户端,利用python的web框架创建http监听端口,http监听端口被访问触发后,远程操作系统从SVN源码库下载源码,并执行编译、打包、压缩程序,并将生成的文件到FTP服务器。本发明专利技术还公开了一种基于前述系统的跨平台编译终端程序的方法。基于python语言环境,将远程操作系统作为一个编译环境节点,统一创建http监听端口及传参标准,无论远程平台运行何种操作系统,都是通过http的request访问来执行编译任务,最终完成统一的触发和文件归档。

【技术实现步骤摘要】
一种基于Python开发的跨平台编译终端程序的系统及方法
本专利技术属于信息
,尤其涉及一种基于Python开发的跨平台编译终端程序的系统及方法。
技术介绍
随着快递业务的飞速发展,智能快递柜是随着快递业务不断发展新生的事物。智能快递柜的功能主要是协助快递员收寄业务,面对的用户是广大的快递员和收件人。作为24小时无人值守的快递暂存柜,通过物联卡与服务端交互,作为物联网技术在现代物流行业中的应用,智能快递柜是电子商务末端物流最后一公里最有效的解决方法,提高了快递员的派送效率,降低了派送成本,保障了用户的隐私和安全,逐步得到广泛认可和推广。作为智能快递柜的终端,常常由于不同供货商提供了不同的终端操作系统,或者用户本身用的终端操作系统不同,所以同一份源码要支持不同平台的安装程序,例如Windows是.exe的执行程序,mac是.dmg的执行程序,需要在不同的操作环境下,本地编译安装程序为不同操作系统的用户提供对应系统的版本程序和安装包。现有状况,往往是在不同的操作系统下,手工操作,执行编译命令和打包命令,完成打包后,上传ftp,容易出现命名错误等人为误操作,而且编译时长,耗费人力,为后续的测试重新打包带来了繁琐的流程和耗时,后续自动化下发版本编译包无法统一流程。
技术实现思路
针对上述技术问题,本专利技术提供一种基于Python开发的跨平台编译终端程序的系统,实现统一的接口下达编译任务并归档。为达到上述目的,本专利技术采用的技术方案为:一种基于Python开发的跨平台编译终端程序的系统,包括远程操作系统,远程操作系统分别连接SVN源码库、FTP服务器;各个不同的操作系统都是需要执行编译程序的工作节点,不同的远程操作系统上均安装python语言环境、svn客户端、编译程序、执行程序、打包程序及ftp客户端,用于执行编译程序的工作节点。利用python的web框架创建http监听端口,http监听端口被访问触发后,远程操作系统从SVN源码库下载源码,并执行编译、打包、压缩程序,并将生成的文件上传到FTP服务器供后续终端更新下载使用。利用python的web框架创建http监听端口,接收远程调用传递的参数。向不同操作系统下达任务的方式统一为http访问,不需要再考虑系统本身的执行命令。进一步的,不同的远程操作系统上的http监听端口随时等待被调用;通过request的get请求,传递参数,触发http监听端口后,远程操作系统执行后续编译、打包、压缩操作。进一步的,为提高简便性,保证系统运行的稳定,以统一自动化编译流程,web框架使用Flask模块。进一步的,通过http监听端口触发远程操作系统执行编译任务,并传递svn源码库的源码链接;触发远程操作系统执行编译任务的访问链接为:http://远程IP:Port/terminal/${Svn_url},其中${Svn_url}为传递的svn源码库的源码链接。进一步的,python程序语言包括下载方法、编译方法、打包方法、上传方法;所述下载方法通过传递过来的参数生成SVN源码库的${Svn_url},通过SVN客户端下载SVN源码库的源码文件;所述编译方法是根据执行当前的远程操作系统安装的编译程序,生成执行程序文件,所述打包方法通过ZIP压缩工具将执行程序文件打包;所述上传方法通过FTP客户端将打包后的执行程序文件上传至FTP服务器。本专利技术还公开了一种基于Python开发的跨平台编译终端程序的方法,基于上述系统,包括以下步骤:S1,远程操作系统利用python的web框架创建http监听端口,等待被远程触发调用,执行后续的编译等操作流程;S2,通过request访问:http://远程IP:Port/terminal/${Svn_url},实现http监听端口的调用,传递SVN源码库的源码链接${Svn_url}这个参数变量;S3,http监听端口被触发后,收到SVN源码库的源码链接,第一步下载源码文件到本地指定目录;S4,第二步在指定的源码目录里,依次执行编译,打包,压缩方法,通过python程序语言按次序执行操作流程,将压缩文件放在指定生成的目录;S5,第三步将生成目录里的文件通过ftp客户端上传到Ftp文件服务器上去。进一步的,远程执行S2中的远程调用,并传递参数$(Svn_url);所述参数$(Svn_url)中包括源码的名称及版本。进一步的,S3中,所述被触发的http监听端口接收到规范格式的参数$(Svn_url),通过访问$(Svn_url)下载源码文件;$(Svn_url)规范格式为:http://SVN服务器+APP名称+版本。进一步的,S4执行python程序语言,执行编译方法时,根据参数中的APP名称创建应用编译目录,再创建参数中的版本目录和时间戳临时目录,保证每次编译都是最新的版本,编译过后生成对应参数的终端安装程序,输出和当前远程操作系统对应的执行程序,使用压缩工具打包成压缩文件。进一步的,S4中,按照规范的命名方式打包执行编译方法生成的执行程序文件,规范的命名方式为:本地操作系统+APP名称+版本;在S5执行上传方法时,从指定目录上传打包的执行程序到Ftp服务器,同名压缩文件以最近更新的为准。终端按照FTP服务器的对应文件名下载安装包解压安装即可。本专利技术主要是基于python语言环境的跨平台安装及模块自启http端口的监听方式,达到自动化触发各平台编译、打包、上传的一系列操作流程,只要是支持python语言环境的远程操作系统,就可以通过启用的http端口来统一调用方式,这样无论什么平台,保证了其触发的方式都是http传参调用,而传参的格式也是统一的。由于每个操作系统的执行程序不同,可以通过python语言环境支持各平台运行命令的整合,达到一致的输入和输出,无论远程平台运行何种操作系统,都是通过http调用传参,将编译后的执行文件压缩打包传给FTP服务器归档,完成统一的触发和文件归档,为后续自动化生成跨平台产物做出了初步尝试和构建思想。附图说明图1为本专利技术实施例的跨平台编译终端程序示意图。图2为本专利技术实施例的跨平台编译终端程序流程图。图3为本专利技术实施例的远程操作系统下载源码、编译及打包流程图。具体实施方式为了便于本领域技术人员的理解,下面结合实施例与附图对本专利技术作进一步的说明。图1是本实施例的基于Python开发的跨平台编译终端程序的系统,该系统主要负责通过python语言把不同操作系统下的编译打包流程统一为端口传参调用的方式触发,上传到FTP服务器供用户更新下载使用的全过程。图1主要包括python语言支持的各种远程操作系统1,远程操作系统1分别连接SVN源码库2、FTP服务器3。远程操作系统1本地启用的python语言库的web框架创建http访问端口,通过python的flask_cors模块,启用http访问端口监听,接收远程调用传本文档来自技高网...

【技术保护点】
1.一种基于Python开发的跨平台编译终端程序的系统,其特征在于:包括远程操作系统,远程操作系统分别连接SVN源码库、FTP服务器;不同的远程操作系统上均安装python语言环境、svn客户端、编译程序、执行程序、打包程序及ftp客户端,利用python的web框架创建http监听端口,http监听端口被访问触发后,远程操作系统从SVN源码库下载源码,并执行编译、打包、压缩程序,并将生成的文件上传到FTP服务器。/n

【技术特征摘要】
1.一种基于Python开发的跨平台编译终端程序的系统,其特征在于:包括远程操作系统,远程操作系统分别连接SVN源码库、FTP服务器;不同的远程操作系统上均安装python语言环境、svn客户端、编译程序、执行程序、打包程序及ftp客户端,利用python的web框架创建http监听端口,http监听端口被访问触发后,远程操作系统从SVN源码库下载源码,并执行编译、打包、压缩程序,并将生成的文件上传到FTP服务器。


2.根据权利要求1所述的跨平台编译终端程序的系统,其特征在于:不同的远程操作系统上的http监听端口随时等待被调用;通过request的get请求,传递参数,触发http监听端口后,远程操作系统执行后续编译、打包、压缩操作。


3.根据权利要求1所述的跨平台编译终端程序的系统,其特征在于:web框架使用Flask模块。


4.根据权利要求1所述的跨平台编译终端程序的系统,其特征在于:通过http监听端口触发远程操作系统执行编译任务,并传递svn源码库的源码链接;触发远程操作系统执行编译任务的访问链接为:http://远程IP:Port/terminal/${Svn_url},其中${Svn_url}为传递的svn源码库的源码链接。


5.根据权利要求1至4中任一所述的跨平台编译终端程序的系统,其特征在于:远程操作系统上的python程序语言包括下载方法、编译方法、打包方法、上传方法;所述下载方法通过传递的参数生成SVN源码库的${Svn_url},通过SVN客户端下载SVN源码库的源码文件;所述编译方法是执行当前的远程操作系统安装的编译程序,生成执行程序文件;所述打包方法通过ZIP压缩工具将执行程序文件打包;所述上传方法通过FTP客户端将打包后的执行程序文件上传至FTP服务器。


6.一种基于Python开发的跨平台编译终端程序的方法,基于权利要求1-5中任一所述的系统,包括以下步骤:

【专利技术属性】
技术研发人员:闫妍杨博董嘉华张友平邵杰乔飞刘晓东徐坤
申请(专利权)人:江苏云柜网络技术有限公司
类型:发明
国别省市:江苏;32

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

1