项目文件部署方法及系统与流程

文档序号:13471958阅读:669来源:国知局
项目文件部署方法及系统与流程

本发明涉及数据通信技术领域,具体而言,涉及一种项目文件部署方法及系统。



背景技术:

在进行软件项目的部署过程中,需要将多个待部署的项目传输至目标电子终端,不同的待部署项目可能存在相同的共同依赖类,这些类都被每个待部署项目打包在程序中。这样就导致了不同待部署项目将相同的文件包重复打包了多次,传输的时候也就传输了多次。在待部署项目的数量较多时,这些重复打包重复传输的类包占用了大量的传输资源和部署资源。



技术实现要素:

为了克服现有技术中的上述不足,本发明的目的在于提供一种项目文件部署方法,应用于相互通信的第一终端及第二终端,所述方法包括:

第一终端获取多个待部署项目的文件包,所述文件包包括公共文件包及非公共文件包,所述公共文件包为至少两个所述待部署项目共同依赖的文件包;

提取各待部署项目的公共文件包并统一储存,针对每个待部署项目生成其公共文件包的存储路径;

所述第一终端将所述公共文件包及各待部署项目的非公共文件包传输给所述第二终端;

所述第二终端针对每个所述待部署项目,根据所述公共文件包的存储路径,从接收到的文件包中获取该待部署项目的公共文件包并存储至该待部署项目对应的文件夹。

进一步地,在上述方法中,所述提取各待部署项目的公共文件包并统一储存,针对每个待部署项目生成其公共文件包的存储路径的步骤,包括:

针对每个所述待部署项目,根据该待部署项目需要依赖的公共文件包生成该待部署项目的公共文件列表;

提取所述公共文件列表中的公共文件包并统一储存,并针对该待部署项目将提取出的所述公共文件包的记录存储路径至一存储路径列表。

进一步地,在上述方法中,所述第二终端针对每个所述待部署项目,根据所述公共文件包的存储路径获取该待部署项目的公共文件包并存储至该待部署项目对应的文件夹的步骤,包括:

所述第二终端针对每个待部署项目,根据所述存储路径列表确定该待部署项目的公共文件包的存储位置;

根据所述公共文件列表从所述存储位置获得该待部署项目的公共文件包,并将提取的公共文件包存储至该待部署项目制定的文件夹。

进一步地,在上述方法中,所述公共文件列表及所述存储路径列表为xml格式的数据文件。

进一步地,在上述方法中,所述公共文件包为多个所述待部署项目共同依赖的类打包生成的jar格式或war格式的文件包。

本发明的另一目的在于提供一种项目文件部署系统,包括相互通信的第一终端及第二终端,

所述第一终端包括:

获取模块,用于获取多个待部署项目的文件包,所述文件包包括公共文件包及非公共文件包,所述公共文件包为至少两个所述待部署项目共同依赖的文件包;

统一存储模块,用于提取各待部署项目的公共文件包并统一储存,针对每个待部署项目生成其公共文件包的存储路径;

传输模块,用于将所述公共文件包及各待部署项目的非公共文件包传输给所述第二终端;

所述第二终端包括:

提取模块,用于针对每个所述待部署项目,根据所述公共文件包的存储路径,从接收到的文件包中获取该待部署项目的公共文件包并存储至该待部署项目对应的文件夹。

进一步地,在上述系统中,所述统一存储模块提取公共文件包的方式,包括:

针对每个所述待部署项目,根据该待部署项目需要依赖的公共文件包生成该待部署项目的公共文件列表;

提取所述公共文件列表中的公共文件包并统一储存,并针对该待部署项目将提取出的所述公共文件包的记录存储路径至一存储路径列表。

进一步地,在上述系统中,所述提取模块获取该公共文件包的方式,包括:

所述第二终端针对每个待部署项目,根据所述存储路径列表确定该待部署项目的公共文件包的存储位置;

根据所述公共文件列表从所述存储位置获得该待部署项目的公共文件包,并将提取的公共文件包存储至该待部署项目制定的文件夹。

进一步地,在上述系统中,所述公共文件列表及所述存储路径列表为xml格式的数据文件。

进一步地,在上述系统中,所述公共文件包为多个所述待部署项目共同依赖的类打包生成的jar格式或war格式的文件包。

相对于现有技术而言,本发明具有以下有益效果:

本发明提供一种项目文件部署方法及系统,通过从多个不同的待部署项目提取出共同依赖的公共文件包进行统一传输,相比现有技术针对每个待部署项目单独传输的方式,减少的相同的公共文件包的传输次数,从而提高了文件传输效率,节约了部署时间。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的项目文件部署系统的交互示意图;

图2为本发明实施例提供的第一终端的示意框图;

图3为本发明实施例提供的第二终端的示意框图;

图4为本发明实施例提供的项目文件部署方法的步骤流程示意图;

图5为图4所示步骤s120的子步骤流程示意图;

图6为图4所示步骤s140的子步骤流程示意图;

图7为本发明实施例提供的第一项目文件部署装置及第二项目文件部署装置的示意框图。

图标:10-项目文件部署系统;100-第一终端;110-第一项目文件部署装置;111-获取模块;112-统一存储模块;113-传输模块;120-第一存储器;130-第一处理器;140-第一通信单元;200-第二终端;210-第二项目文件部署装置;211-提取模块;220-第二存储器;230-第二处理器;240-第二通信单元;300-网络。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

请参照图1,图1是本发明较佳实施例提供的项目文件部署系统10的交互示意图,所述项目文件部署系统10包括相互通信的第一终端100及第二终端200。所述第一终端100可通过网络300与所述第二终端200进行通信,以实现第一终端100与第二终端200之间的数据通信或交互。

所述网络300可以是,但不限于,有线网络或无线网络。

请参照图2,图2是图1所示的第一终端100的方框示意图。所述第一终端100包括第一项目文件部署装置110、第一存储器120、第一处理器130、第一通信单元140。

所述第一存储器120、第一处理器130以及第一通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述第一项目文件部署装置110包括至少一个可以软件或固件(firmware)的形式存储于所述第一存储器120中或固化在所述第一终端100的操作系统(operatingsystem,os)中的软件功能模块。所述第一处理器130用于执行所述第一存储器120中存储的可执行模块,例如所述第一项目文件部署装置110所包括的软件功能模块及计算机程序等。

其中,所述第一存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,第一存储器120用于存储程序,所述第一处理器130在接收到执行指令后,执行所述程序。

所述第一通信单元140用于通过所述网络300建立所述第一终端100与第二终端200之间的通信连接,并用于通过所述网络300收发数据。

请参照图3,图3是图1所示的第二终端200的方框示意图。所述第二终端200包括第二项目文件部署装置210、第二存储器220、第二处理器230、第二通信单元240。

所述第二存储器220、第二处理器230以及第二通信单元240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述第二项目文件部署装置210包括至少一个可以软件或固件(firmware)的形式存储于所述第二存储器220中或固化在所述第二终端200的操作系统(operatingsystem,os)中的软件功能模块。所述第二处理器230用于执行所述第二存储器220中存储的可执行模块,例如所述第二项目文件部署装置210所包括的软件功能模块及计算机程序等。

其中,所述第二存储器220可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,第二存储器220用于存储程序,所述第二处理器230在接收到执行指令后,执行所述程序。

所述第二通信单元240用于通过所述网络300建立所述第二终端200与第一终端100之间的通信连接,并用于通过所述网络300收发数据。

请参照图4,图4为应用于图1所示的项目文件部署系统的一种项目文件部署方法,下面对所述方法的各个步骤进行详细阐述。

步骤s110,第一终端100获取多个待部署项目的文件包,所述文件包包括公共文件包及非公共文件包,所述公共文件包为至少两个所述待部署项目共同依赖的文件包。

在本实施例中,所述待部署项目可以为java类型的程序项目,不同的java项目中,可能包含共同依赖的类,所述公共文件包为多个所述待部署项目共同依赖的类打包生成的jar格式或war格式的文件包。

步骤s120,提取各待部署项目的公共文件包并统一储存,针对每个待部署项目生成其公共文件包的存储路径。

进一步地,请参照图5,在本实施例中,步骤s120可以包括子步骤s121及子步骤s122。

子步骤s121,针对每个所述待部署项目,根据该待部署项目需要依赖的公共文件包生成该待部署项目的公共文件列表。

在本实施例中,所述第一终端100提前对待部署项目中共同依赖的公共文件包进行管理,把每个待部署项目中需要的公共文件包的名称写入一公共文件列表。可选的,在本实施例中,所述公共文件列表可以为xml格式的文件,例如,在一名为liblist.xml的文件中记录不同java项目共同依赖的jar类包。

子步骤s122,提取所述公共文件列表中的公共文件包并统一储存,并针对该待部署项目将提取出的所述公共文件包的记录存储路径至一存储路径列表。

在本实施例中,所述第一终端100将提取出的公共文件包同一至一个文件夹中,并针对每个待部署项目记录其公共文件包的存储位置至径列表。在本实施例中,所述存储路径列表可以为xml格式的文件,例如,将jar类包所在目录写在一名为libdir.xml文件中,把所有需要的jar包放到一名为all_lib文件夹中。所述libdir.xml中记录内容可以如下:

project1/lib

project1/var/lib

其中,project1为一待部署项目的名称。

步骤s130,所述第一终端100将所述公共文件包及各待部署项目的非公共文件包传输给所述第二终端200。

在本实施例中,将提取的公共文件包及各个待部署项目特有的非公共的文件包传输给第二终端200。如此,做到了同样的公共文件包至传输一次,减少了相同文件的传输次数,提高了传输效率,节约了部署时间。

步骤s140,所述第二终端200针对每个所述待部署项目,根据所述公共文件包的存储路径,从接收到的文件包中获取该待部署项目的公共文件包并存储至该待部署项目对应的文件夹。

在本实施例中,请参照图6,步骤s140可以包括子步骤s141及子步骤s142。

子步骤s141,所述第二终端200针对每个待部署项目,根据所述存储路径列表确定该待部署项目的公共文件包的存储位置。

子步骤s142,根据所述公共文件列表从所述存储位置获得该待部署项目的公共文件包,并将提取的公共文件包存储至该待部署项目制定的文件夹。

在本实施例中,所述第二终端200执行一文件包提取脚本,根据步骤s120中得出的存储路径列表及公共文件列表提取将各个待部署项目的公共文件包提取出来存储至待部署项目对应的文件夹。例如,所述第二终端200执行一名为getlib.sh的脚本,从all_lib文件夹中拷贝需要的jar文件到各待部署项目的目录中进行部署,getlib.sh脚本的内容可以如下:

其中,project1、project2、project3、project4为待部署项目的名称。

请参照图7,在本实施例提供的项目文件部署系统10中,所述第一项目文件部署装置110包括获取模块111、统一存储模块112及传输模块113。

所述获取模块111,用于获取多个待部署项目的文件包,所述文件包包括公共文件包及非公共文件包,所述公共文件包为至少两个所述待部署项目共同依赖的文件包。

本实施例中,所述获取模块111可用于执行图4所示的步骤s110,关于所述获取模块111的具体描述可参对所述步骤s110的描述。

所述统一存储模块112,用于提取各待部署项目的公共文件包并统一储存,针对每个待部署项目生成其公共文件包的存储路径。

本实施例中,所述统一存储模块112可用于执行图4所示的步骤s120,关于所述统一存储模块112的具体描述可参对所述步骤s120的描述。

进一步地,在本实施例中,所述统一存储模块112提取公共文件包的方式,包括:

针对每个所述待部署项目,根据该待部署项目需要依赖的公共文件包生成该待部署项目的公共文件列表;

提取所述公共文件列表中的公共文件包并统一储存,并针对该待部署项目将提取出的所述公共文件包的记录存储路径至一存储路径列表。

所述传输模块113,用于将所述公共文件包及各待部署项目的非公共文件包传输给所述第二终端200。

本实施例中,所述传输模块113可用于执行图4所示的步骤s130,关于所述传输模块113的具体描述可参对所述步骤s130的描述。

请再次参照图7,在本实施例提供的项目文件部署系统10中,所述第二项目文件部署装置210包括提取模块211。

所述提取模块211,用于针对每个所述待部署项目,根据所述公共文件包的存储路径,从接收到的文件包中获取该待部署项目的公共文件包并存储至该待部署项目对应的文件夹

本实施例中,所述提取模块211可用于执行图4所示的步骤s140,关于所述提取模块211的具体描述可参对所述步骤s140的描述。

进一步地,在本实施例中,所述提取模块211获取该公共文件包的方式,包括:

所述第二终端200针对每个待部署项目,根据所述存储路径列表确定该待部署项目的公共文件包的存储位置;

根据所述公共文件列表从所述存储位置获得该待部署项目的公共文件包,并将提取的公共文件包存储至该待部署项目制定的文件夹。

进一步地,在本实施例中,所述公共文件列表及所述存储路径列表为xml格式的数据文件。

进一步地,在本实施例中,所述公共文件包为多个所述待部署项目共同依赖的类打包生成的jar格式或war格式的文件包。

综上所述,本发明的目的在于提供一种项目文件部署方法及系统,通过从多个不同的待部署项目提取出共同依赖的公共文件包进行统一传输,相比现有技术针对每个待部署项目单独传输的方式,减少的相同的公共文件包的传输次数,从而提高了文件传输效率,节约了部署时间。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1