CN108833482B - Mdl文件自动下载方法、系统、计算机设备和存储介质 - Google Patents
Mdl文件自动下载方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108833482B CN108833482B CN201810486502.8A CN201810486502A CN108833482B CN 108833482 B CN108833482 B CN 108833482B CN 201810486502 A CN201810486502 A CN 201810486502A CN 108833482 B CN108833482 B CN 108833482B
- Authority
- CN
- China
- Prior art keywords
- mdl
- python
- mdl file
- downloading
- client
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及MDL文件自动下载方法、系统、计算机设备和存储介质,所述方法包括:通过执行configure脚本在运维业务系统的操作系统上自动安装Python程序,运维业务系统通过调用Python程序的Python功能脚本接收客户端发送的MDL文件名称,Python程序根据MDL文件名称获取配置库内对应的配置信息,拼接生成所述MDL文件名称对应的目录路径;Python程序通过调用Python功能脚本发送HTTP下载请求至MDL服务器,下载请求中包括MDL文件名称及对应的目录路径;Python程序通过调用Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端,提高MDL文件下载效率。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及MDL文件自动下载方法、系统、计算机设备和存储介质。
背景技术
目前对COGNOS平台的日常运维中,常常会需要协助开发的同事进行问题定位。这个过程需要操作者进行MDL文件的下载比对和上传验证等操作,每次定位MDL文件的目录都需要通过运行类型、模块等信息去确认。
当需要批量下载时,常常需要耗费运维同事大量的时间去提取需要的信息,这种落后的运维方式存在的弊端包括:现有的对于MDL文件的下载需要借助第三方,没有利用COGNOS平台来实现MDL文件的下载;对于COGNOS平台的日常运维需开发同事协助以进行问题定位;MDL文件下载时需经过比对和验证,当需要批量下载时,则需要耗费大量的人力物力;对MDL文件目录进行定位时,需确定运行类型、模块等信息。
发明内容
基于此,有必要针对在进行MDL文件下载时,现有的对于MDL文件的下载需借助第三方,下载过程繁琐的问题,提出一种MDL文件自动下载方法、系统、计算机设备和存储介质。
一种MDL文件自动下载方法,所述MDL文件自动下载方法,具体步骤如下:
运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;
所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
在一个实施例中,在将所述配置信息进行拼接前,还包括:
在运维业务系统上设置配置库和自动化部署程序,在所述MDL文件上线时,所述自动化部署程序根据所述MDL文件的模块信息将所述MDL文件部署在所述MDL服务器内与所述模块信息同名称的文件夹内,同时,将所述MDL文件的模块信息、版本信息、刷新频度在内的配置信息保存在所述配置库中。
在一个实施例中,所述生成MDL文件名称对应的目录路径包括:
在客户端上设置一获取界面和一发送界面,通过所述获取界面获取MDL文件名称,调用所述发送界面将所述MDL文件名称发送至所述Python程序,所述运维业务系统通过调用Python程序的所述Python功能脚本接收所述MDL文件名称后,根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径。
在一个实施例中,所述发送http下载请求包括:
在客户端的获取界面上获取MDL文件下载请求,Python程序通过调用Python功能脚本从所述客户端接收所述MDL文件下载请求,在所述Python程序的网页上生成HTTP下载请求,通过调用所述Python功能脚本将所述HTTP下载请求发送至MDL服务器上,所述HTTP下载请求中包含有MDL文件名称及对应的目录路径。
在一个实施例中,所述调用Python程序中的Python功能脚本将所述MDL文件下载至所述客户端包括:
MDL服务器通过执行configure脚本在所述MDL服务器的一操作界面上自动安装Python程序,调用所述Python程序自动下载并安装Django服务端,通过调用所述Django服务端接收HTTP下载请求,获取所述HTTP下载请求中包含的MDL文件名称及对应的目录路径,所述MDL服务器根据所述MDL文件名称及对应的目录路径获取MDL文件,所述MDL服务器将所述MDL文件返回至运维业务系统,所述运维业务系统通过调用所述Python程序中的Python功能脚本接收所述MDL文件后,利用StreamingHttpResponse类将所述MDL文件下载至所述客户端上。
在一个实施例中,所述MDL文件下载方式还包括并发下载:
所述运维业务系统接收到客户端发送所述MDL文件名称至少为两个时,Python功能脚本将依次读取配置信息并拼接,得到至少两项目录路径,所述Python功能脚本向MDL服务器发送至少两条下载请求,所述Python功能脚本调用Python程序中的gevent协程包,并发对MDL服务器返回的多个所述MDL文件进行下载。
在一个实施例中,所述客户端包括手机客户端、电脑客户端和第三方客户端。
基于相同的技术构思,本发明还提供一种MDL文件自动下载系统,所述MDL文件自动下载系统包括生成目录路径单元、发送下载请求单元和下载MDL文件单元;
所述生成目录路径单元,用于运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;
所述发送下载请求单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
所述下载MDL文件单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
上述MDL文件自动下载方法、系统、计算机设备和存储介质,运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。本技术方案实现了MDL文件自动下载,释放运维过程中重复手工操作的人力,在紧急问题处理时,支持MDL文件批量下载,提高下载效率,同时也防止了网络流量过大。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是本发明的限制。
图1为本发明一个实施例中一种MDL文件自动下载方法的流程图;
图2为本发明一个实施例中一种MDL文件自动下载方法的环境示意图;
图3为本发明一个实施例中一种MDL文件自动下载系统的示意图;
其中,1-MDL服务器,2-手机客户端,3-配置库,4-运维业务系统。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式″一″、″一个″、″所述″和″该″也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞″包括″是指存在所述特征、程序、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、程序、步骤、操作、元件、组件和/或它们的组。
图1为本发明一个实施例中一种MDL文件自动下载方法的流程图,所述MDL文件自动下载方法,可以包括如下步骤:
步骤S1:运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径。
本实施例中,根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接生成该MDL文件名称对应的目录路径还包括在将所述配置信息进行拼接前部署DML文件及将MDL文件的模块信息、版本信息、刷新频度在内的配置信息保存在所述配置库中,其具体实施方式如下:
在运维业务系统上设置Oracle数据库构建的配置库和用于部署MDL文件的自动化部署程序,在所述MDL文件上线时,所述自动化部署程序根据所述MDL文件的模块信息将该MDL文件部署在所述MDL服务器内与所述模块信息同名称的文件夹内,同时,将所述MDL文件的模块信息、版本信息、刷新频度在内的配置信息保存在所述配置库中。
本实施例中的模块信息是对MDL文件进行功能和业务划分的标识符,在MDL文件上线时,所述自动化部署程序会将MDL文件部署在所述MDL服务器内与所述模块信息同名称的文件夹内。
本实施例中的版本信息是指MDL文件按照其版本不同可以分成COGNOS 8MDL和COGNOS 10 MDL版本,不同版本的MDL文件其所处的基本目录会不一样,不同版本的MDL文件会对应存储至基本目录中。
本实施例中,刷新频度是指MDL文件分为日刷新和月刷新,不同刷新频度的MDL文件所处的文件夹也不一样。根据按照对MDL文件的日刷新和月刷新的分类,可将MDL文件分别归档至不同的文件夹内。
本实施例中,所述生成MDL文件名称对应的目录路径包括:
在客户端上设置一获取界面和一发送界面,通过所述获取界面获取MDL文件名称,调用所述发送界面将所述MDL文件名称发送至所述Python程序,所述运维业务系统通过调用Python程序的所述Python功能脚本接收所述MDL文件名称后,根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径。
所述客户端是指与服务器相对应,为客户提供本地服务的程序,其包括手机客户端、电脑客户端和第三方客户端。本实施例中的客户端可以选定为手机客户端,所述手机客户端是指在手机终端运行的软件,其能够为企业提供完善、便捷、多样、高效的移动营销。用户可以随时随地通过手机客户端的获取界面获取下载请求,通过调用发送界面发送所述下载请求。
本实施例中将所述MDL文件的配置信息拼接所述MDL文件名称对应的目录路径的拼接方式按照MDL文件的全路径拼接规则进行拼接。全路径拼接规则实例如下:
base_dir+mdl_version+mdl_type+′/mdl/′+module_name+′/′;
其中base_dir为基础目录,mdl_version为版本信息,mdl_type为刷新频度,module_name为模块信息;
按上述拼接规则,有如下路径拼接后的实例:
如某个MDL文件在MDL服务器上的路径如下:
/pamis/data5/cognos/createcubes10/day/mdl/netspds/
其中/pamis/data5/cognos/为基础目录;createcubes10为版本信息;day为刷新频度;netspds为模块信息。
步骤S2:所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
本实施例中,所述发送HTTP请求包括:
在客户端的获取界面上获取MDL文件下载请求,Python程序通过调用Python功能脚本从所述客户端接收所述MDL文件下载请求,在所述Python程序的网页上生成HTTP下载请求,通过调用所述Python功能脚本将所述HTTP下载请求发送至MDL服务器上,所述HTTP下载请求中包含有MDL文件名称及对应的目录路径。
本实施例中所述Python功能脚本从客户端的获取界面获取MDL文件下载请求后,通过发送HTTP下载请求至MDL服务器。通过客户端的获取界面采用command命令窗口来接收获取下载请求,其获取界面展示如下表1所示:
表1
在客户端的获取界面上,若要一次获取所述MDL文件名称至少为两个时,用逗号隔开,所述Python程序会根据获取解析出多个文件名,然后所述Python功能脚本将依次读取配置信息并进行拼接,得到至少两项目录路径;所述Python功能脚本向MDL服务器发送至少两条下载请求,所述下载请求中包括至少两项MDL文件名称及对应的目录路径。
步骤S3:所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
本实施例中,所述Python程序中的Python功能脚本将所述MDL文件下载至所述客户端包括:
MDL服务器通过执行configure脚本在所述MDL服务器的一操作界面上自动安装Python程序,调用所述Python程序自动下载并安装Django服务端,通过调用所述Django服务端接收HTTP下载请求,获取所述HTTP下载请求中包含的MDL文件名称及对应的目录路径,所述MDL服务器根据所述MDL文件名称及对应的目录路径获取MDL文件,所述MDL服务器将所述MDL文件返回至运维业务系统,所述运维业务系统通过调用所述Python程序中的Python功能脚本接收所述MDL文件后,利用StreamingHttpResponse类将所述MDL文件下载至所述客户端上。
python(计算机程序设计语言)是一种面向对象的解释型计算机程序设计语言。python语法简洁清晰,具有丰富和强大的库,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。基于Python功能脚本能够实现以字符流的形式将MDL服务器返回的所述MDL文件下载至客户端。
Django服务端是一个开放源代码的Web应用框架,需要通过调用python程序来下载并安装。通过所述Django服务端来接收所述HTTP请求,并获取所述HTTP请求中包含的MDL文件名称及对应的目录路径,所述MDL服务器根据所述MDL文件名称及对应的目录路径获取MDL文件,通过调用所述Python程序中的Python功能脚本接收所述MDL文件后,所述MDL服务器将所述MDL文件返回至运维业务系统,所述运维业务系统利用StreamingHttpResponse类将所述MDL文件下载至所述客户端上。
本实施例中,所述MDL文件下载至客户端时,所述客户端的下载结果将展示在页面上,其展示结果如下表2所示:
表2
本实施例中,所述MDL文件下载方式还包括并发下载,其下载方式包括:所述运维业务系统接收到客户端发送的所述MDL文件名称至少为两个时,Python功能脚本将依次读取配置信息并拼接,得到至少两项目录路径;所述Python功能脚本向MDL服务器发送至少两条下载请求;所述Python功能脚本调用Python程序中的gevent协程包,并发对MDL服务器返回的多个所述MDL文件进行下载。
本实施例中的gevent协程是一种并发的技术,可通过多路IO复用实现多任务的并发处理,比较适合IO密集型任务的并发。MDL文件在下载时主要耗时是在网络的传输(网络传输可以理解为一种IO),因此通过协程的方式能够实现MDL文件的并发式下载。
上述借助于Python实现MDL文件的自动下载释放运维过程中重复手工操作的人力,在紧急问题处理时,支持MDL文件批量下载,提高下载效率。
图2为本发明一个实施例中一种MDL文件自动下载方法的环境示意图,如图2所示,选定客户端为手机客户端,Python程序通过获取配置信息,并将所述配置信息进行拼接,生成MDL文件名称对应的目录路径,所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP请求下载至MDL服务器,所述下载请求中包含MDL文件名称及对应的目录路径;所述Python程序通过调用Python功能脚本以字符流的方式将MDL服务器返回的MDL文件下载至客户端。
运维业务系统4通过执行configure脚本在所述运维业务系统4的操作系统上设置配置库3和自动化部署程序,在MDL文件上线时,所述自动化部署程序将会根据所述MDL文件的模块信息将MDL文件部署在所述MDL服务器内与所述模块信息同名称的文件夹内,并将该MDL文件的模块信息、版本信息、刷新频度在内的配置信息保存在配置库3中。
运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述Python程序的Python功能脚本接收手机客户端2的获取界面获取的MDL文件名称,根据所述MDL文件名称获取配置库3内对应的配置信息,按照全路径拼接规则对配置信息进行拼接,生成所述MDL文件对应名称的目录路径。
所述全路径拼接规则实例如下:
base_dir+mdl_version+mdl_type+′/mdl/′+module_name+′/′;
其中base_dir为基础目录,mdl_version为版本信息,mdl_type为刷新频度,module_name为模块信息;
按上述拼接规则,有如下路径拼接后的实例:
如某个MDL文件在MDL服务器上的路径如下:
/pamis/data5/cognos/createcubes10/day/mdl/netspds/
其中/pamis/data5/cognos/为基础目录;createcubes10为版本信息;day为刷新频度;netspds为模块信息。
所述Python程度调用所述Python功能脚本接收客户端2的下载请求,通过发送HTTP下载请求至MDL服务器1,所述下载请求中包含有MDL文件名称及对应的目录路径。所述运维业务系统通过调用Python程序的所述Python功能脚本将MDL服务器1返回的所述MDL文件下载至手机客户端2。所述MDL服务器1在返回MDL文件时,需在MDL服务器1上安装Python程序,通过调用Python程序来自动下载并安装Django服务端,通过调用所述Django服务端接收HTTP下载请求,获取所述HTTP下载请求中包含的MDL文件名称及对应的目录路径,所述MDL服务器1根据所述MDL文件名称及对应的目录路径获取MDL文件,通过调用所述Python程序中的Python功能脚本接收所述MDL文件后,所述MDL服务器将所述MDL文件返回至运维业务系统,所述运维业务系统利用StreamingHttpResponse类将所述MDL文件下载至所述手机客户端2上。
本实施例中,所述MDL文件下载方式还包括并发下载,其下载方式如下:
所述手机客户端2一次获取的所述MDL文件名称至少为两个时,Python功能脚本将依次读取配置信息并拼接,得到至少两项目录路径;所述Python功能脚本向MDL服务器1发送至少两条下载请求;所述Python功能脚本调用Python程序中的gevent协程包,并发对MDL服务器1返回的多个所述MDL文件进行下载。
上述MDL文件自动下载方式,实现MDL文件在稳定的环境中下载,保证MDL文件下载正确率,提高了下载效率。
基于相同的技术构思,本发明实施例还提供了一种MDL文件自动下载系统,如图3所示,该系统包括生成目录路径单元、发送下载请求单元和下载MDL文件单元;
所述生成目录路径单元,用于运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;
所述发送下载请求单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
所述下载MDL文件单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
基于相同的技术构思,本发明提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现以下步骤:运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
基于相同的技术构思本发明还提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种MDL文件自动下载方法,其特征在于,所述方法包括:
运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并采用全路径拼接规则对所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;
所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
2.根据权利要求1所述的一种MDL文件自动下载方法,其特征在于,在将所述配置信息进行拼接前还包括:
在运维业务系统上设置配置库和自动化部署程序,在所述MDL文件上线时,所述自动化部署程序根据所述MDL文件的模块信息将所述MDL文件部署在所述MDL服务器内与所述模块信息同名称的文件夹内,同时,将所述MDL文件的模块信息、版本信息、刷新频度在内的配置信息保存在所述配置库中。
3.根据权利要求1所述的一种MDL文件自动下载方法,其特征在于,所述生成所述MDL文件名称对应的目录路径包括:
在客户端上设置一获取界面和一发送界面,通过所述获取界面获取MDL文件名称,调用所述发送界面将所述MDL文件名称发送至所述Python程序,所述运维业务系统通过调用Python程序的所述Python功能脚本接收所述MDL文件名称后,根据所述MDL文件名称获取配置库内对应的配置信息,并将所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径。
4.根据权利要求1所述的一种MDL文件自动下载方法,其特征在于,所述发送HTTP下载请求包括:
在客户端的获取界面上获取MDL文件下载请求,Python程序通过调用Python功能脚本从所述客户端接收所述MDL文件下载请求,在所述Python程序的网页上生成HTTP下载请求,通过调用所述Python功能脚本将所述HTTP下载请求发送至MDL服务器上,所述HTTP下载请求中包含有MDL文件名称及对应的目录路径。
5.根据权利要求1所述的一种MDL文件自动下载方法,其特征在于,所述调用Python程序中的Python功能脚本将所述MDL文件下载至所述客户端包括:
MDL服务器通过执行configure脚本在所述MDL服务器的一操作界面上自动安装Python程序,调用所述Python程序自动下载并安装Django服务端,通过调用所述Django服务端接收HTTP下载请求,获取所述HTTP下载请求中包含的MDL文件名称及对应的目录路径,所述MDL服务器根据所述MDL文件名称及对应的目录路径获取MDL文件,所述MDL服务器将所述MDL文件返回至运维业务系统,所述运维业务系统通过调用所述Python程序中的Python功能脚本接收所述MDL文件后,利用StreamingHttpResponse类将所述MDL文件下载至所述客户端上。
6.根据权利要求1所述的一种MDL文件自动下载方法,其特征在于,所述MDL文件下载方式还包括并发下载:
所述运维业务系统接收到客户端发送的所述MDL文件名称至少为两个时,Python程序的Python功能脚本将依次读取配置信息并拼接,得到至少两项目录路径,所述Python程序的Python功能脚本向MDL服务器发送至少两条下载请求,所述Python功能脚本调用Python程序中的gevent协程包,并发对MDL服务器返回的多个所述MDL文件进行下载。
7.根据权利要求1至6中任意一项所述的一种MDL文件自动下载方法,其特征在于,所述客户端包括手机客户端、电脑客户端和第三方客户端。
8.一种MDL文件自动下载系统,其特征在于,所述MDL文件自动下载系统包括生成目录路径单元、发送下载请求单元和下载MDL文件单元;
所述生成目录路径单元,用于运维业务系统通过执行configure脚本在所述运维业务系统的操作系统上自动安装Python程序,所述运维业务系统通过调用所述Python程序的Python功能脚本接收客户端在获取界面获取的MDL文件名称,所述Python程序根据所述MDL文件名称获取配置库内对应的配置信息,并采用全路径拼接规则对所述配置信息进行拼接,生成所述MDL文件名称对应的目录路径;
所述发送下载请求单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本发送HTTP下载请求至MDL服务器,所述下载请求中包括MDL文件名称及对应的目录路径;
所述下载MDL文件单元,用于所述运维业务系统通过调用Python程序的所述Python功能脚本将所述MDL服务器返回的所述MDL文件下载至所述客户端。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述MDL文件自动下载方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中的任一项权利要求所述MDL文件自动下载方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810486502.8A CN108833482B (zh) | 2018-05-21 | 2018-05-21 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
PCT/CN2018/104700 WO2019223176A1 (zh) | 2018-05-21 | 2018-09-08 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810486502.8A CN108833482B (zh) | 2018-05-21 | 2018-05-21 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833482A CN108833482A (zh) | 2018-11-16 |
CN108833482B true CN108833482B (zh) | 2020-12-08 |
Family
ID=64147839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810486502.8A Active CN108833482B (zh) | 2018-05-21 | 2018-05-21 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108833482B (zh) |
WO (1) | WO2019223176A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781181B (zh) * | 2019-09-06 | 2024-02-02 | 中国平安财产保险股份有限公司 | 基于mdl文件的数据提取方法、装置、设备及存储介质 |
CN111666745B (zh) * | 2020-06-03 | 2023-07-25 | 中国建设银行股份有限公司 | 一种文件下载方法、装置、服务器及介质 |
CN114745368B (zh) * | 2022-03-31 | 2024-04-09 | 广州极飞科技股份有限公司 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385626B2 (en) * | 2009-12-17 | 2013-02-26 | Dell Products L.P. | Replacement of build to order parts with post configured images in any manufacturing environment |
US8745267B2 (en) * | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
CN104717282B (zh) * | 2015-02-11 | 2018-07-24 | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) | 一种控制安卓操作系统智能终端的方法、装置与系统 |
CN104793946B (zh) * | 2015-04-27 | 2018-07-06 | 广州杰赛科技股份有限公司 | 基于云计算平台的应用部署方法和系统 |
CN105119757A (zh) * | 2015-09-14 | 2015-12-02 | 沈文策 | 一种企业服务器运维自动化的方法与系统 |
CN105511902B (zh) * | 2015-11-09 | 2019-11-12 | Tcl集团股份有限公司 | 一种安卓平台模块动态加载的方法及系统 |
CN105657191B (zh) * | 2016-03-29 | 2020-03-31 | Tcl集团股份有限公司 | 一种基于Android系统的应用增量升级方法及系统 |
CN107894891A (zh) * | 2017-11-17 | 2018-04-10 | 深圳市泉眼网络科技有限公司 | 程序打包方法及装置与程序安装方法及装置 |
-
2018
- 2018-05-21 CN CN201810486502.8A patent/CN108833482B/zh active Active
- 2018-09-08 WO PCT/CN2018/104700 patent/WO2019223176A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019223176A1 (zh) | 2019-11-28 |
CN108833482A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833482B (zh) | Mdl文件自动下载方法、系统、计算机设备和存储介质 | |
US9614730B2 (en) | Performing customized deployment scenarios in shared environments | |
CN104346184A (zh) | 应用打包装置及方法 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN107632829A (zh) | 一种基于iOS系统下的App自动化持续集成系统及方法 | |
CN110727503B (zh) | 容器部署方法、装置、设备、存储介质及容器部署系统 | |
WO2019029451A1 (zh) | 发布移动应用的方法和电子设备 | |
CN105653448A (zh) | 应用调试方法、应用调试装置和终端 | |
CN111414158A (zh) | 跨平台开发方法、跨平台开发系统及电子设备 | |
CN111142884A (zh) | 小程序的版本部署方法、装置、电子设备及存储介质 | |
CN112769706A (zh) | 组件化路由方法及系统 | |
CN110191176B (zh) | 一种快速电子取证方法及系统 | |
CN112035160A (zh) | 代码管理系统及其控制方法 | |
CN111596951A (zh) | 一种工程文件的配置方法及装置 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN105094787B (zh) | 企业互联网应用的处理方法及装置 | |
CN111722865A (zh) | 一种应用程序的资源数据处理方法和装置 | |
CN112181366A (zh) | 基于跨平台交互的移动应用开发框架 | |
CN111679828A (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN111610980A (zh) | 部署系统及方法 | |
CN105824674A (zh) | 一种应用程序部署方法及装置 | |
CN110825622A (zh) | 软件测试方法、装置、设备和计算机可读介质 | |
CN111026502B (zh) | 一种业务调试架构创建方法、装置及电子设备、存储介质 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN110502251B (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 |