软件包的发布方法及系统的制作方法

文档序号:6640073阅读:316来源:国知局
软件包的发布方法及系统的制作方法
【专利摘要】本发明提供了一种软件包的发布方法及系统。该系统包括:软件包制作客户端,用于制作符合同一软件打包标准的软件包,并将制作好的软件包发送至软件校验客户端;所述软件校验客户端,用于校验所述软件包制作客户端所制作的软件包,并将通过校验的软件包发送到源线上机;所述源线上机,用于接收通过所述软件校验的软件包并发布,以供用户下载。采用本发明能够实现自动化程度高,易于管理,后期维护升级也较为容易的目的,能够规范、系统、高效地对大量软件包进行管理。
【专利说明】软件包的发布方法及系统

【技术领域】
[0001]本发明涉及互联网【技术领域】,特别是涉及一种软件包的发布方法及系统。

【背景技术】
[0002]网络(Web)平台为众多的应用开发者提供了多样的软件环境,比如,开发语言类有:PHP、Python、JAVA、Node, js 等;网络服务器(Web Server)类有 Apache、Nginx、Tomcat等。每类开发环境对应具备其对应的下载服务器,开发环境多样,下载服务器也相应存在多个。
[0003]传统的软件管理方式一般采用如下步骤:
[0004]1、将编译好的软件打包并存放到下载服务器;
[0005]2、待该软件包需要安装时,从下载服务器下载该软件包,并解压安装。
[0006]现有的软件管理方式因开发环境的多样以及下载服务器的分散,存在诸多问题,例如,自动化程度低,缺少版本控制,管理松散混乱,后期维护升级困难等。


【发明内容】

[0007]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的软件包的发布系统和相应的软件包的发布方法。
[0008]基于本发明的一个方面,提供了一种软件包的发布系统,包括:
[0009]软件包制作客户端,用于制作符合同一软件打包标准的软件包,并将制作好的软件包发送至软件校验客户端;
[0010]所述软件校验客户端,用于校验所述软件包制作客户端所制作的软件包,并将通过校验的软件包发送到源线上机;
[0011]所述源线上机,用于接收通过所述软件校验的软件包并发布,以供用户下载。
[0012]可选地,所述软件包制作客户端进一步包括:
[0013]spec文件生成单元,用于依据预先设定规则生成初始spec文件;
[0014]spec文件修改单元,用于接收针对调整所述初始spec文件的输入以生成最终spec文件;以及
[0015]软件打包单元,用于依据所述最终spec文件制作符合同一软件打包标准的软件包。
[0016]可选地,所述软件包制作客户端进一步包括:
[0017]更新单元,用于更新软件包的元数据并向所述软件校验客户端和所述源线上机同步。
[0018]可选地,所述源线上机进一步包括:
[0019]线上软件仓库,用于存放通过软件校验并发布的软件包,以供用户下载。
[0020]可选地,所述源线上机进一步包括:
[0021]访问接口,用于与其他系统连通,以供所述其他系统通过该访问接口查询或调用所述线上软件仓库中的软件包的元数据。
[0022]可选地,所述软件包的元数据是通过所述访问接口并藉由HTTP指令调用。
[0023]可选地,所述软件包的元数据是以JSON的格式返回。
[0024]可选地,所述同一软件打包标准为RPM标准。
[0025]基于本发明的另一个方面,提供了一种软件包的发布方法,包括:
[0026]制作符合同一软件打包标准的软件包;
[0027]对制作好的所述软件包进行校验;
[0028]将通过校验的软件包发布到源线上机,以供用户下载。
[0029]可选地,所述制作符合同一软件打包标准的软件包,包括:
[0030]依据预先设定规则生成初始spec文件;
[0031]接收针对调整所述初始spec文件的输入以生成最终spec文件;以及
[0032]依据所述最终spec文件制作符合同一软件打包标准的软件包。
[0033]可选地,上述方法还包括:
[0034]更新软件包的元数据;以及
[0035]对于校验的软件包和/或所述源线上机发布的软件包,同步更新的元数据。
[0036]可选地,所述源线上机包括用于存放通过软件校验并发布的软件包的线上软件仓库。
[0037]可选地,上述方法还包括:
[0038]在所述线上软件仓库中增设与其他系统连接的访问接口,以供所述其他系统通过该接口查询或调用所述线上软件仓库中的软件包的元数据。
[0039]可选地,所述软件包的元数据是通过所述访问接口并藉由HTTP指令调用。
[0040]可选地,所述软件包的元数据是以JSON的格式返回。
[0041]可选地,所述同一软件打包标准为RPM标准。
[0042]在本发明实施例中,软件包制作客户端执行同一软件打包标准,使其生成的软件包为标准类软件包,通用性强。本实施例中,统一的是软件打包标准,对于开发环境(例如开发语言)并未进行限定,能够以较小的代价达到将多种不同的软件包统一为标准类软件包的目的。采用标准类软件包后,版本的更新、升级均采用相同的规则,容易被控制和管理。另外,当软件包制作客户端制作的软件包通过软件校验客户端校验之后,将其发布到源线上机。源线上机具备对用户公开的特性,用户可以查看源线上机中发布的软件包。并且,源线上机通常具备较大的容量,能够发布大量软件包,使其对于用户而言具备充足的资源,不需要分别到多个下载服务器上寻找不同的软件包。另外,源线上机具备一定的发布规则,例如对不同版本的更新,标记不同版本使得用户能够查看到软件包的更新历史,增加版本控制。因源线上机的公开、透明以及一定的发布规则,使其自动化程度大大增加,进而后期维护升级也变得较为容易。综上,本发明实施例提供的软件包的发布系统自动化程度高,易于管理,后期维护升级也较为容易,能够规范、系统、高效地对大量软件包进行管理。
[0043]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0044]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

【专利附图】

【附图说明】
[0045]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0046]图1示出了根据本发明一个实施例的软件包的发布系统的结构示意图;
[0047]图2示出了根据本发明一个实施例的软件包制作客户端的结构示意图;
[0048]图3示出了根据本发明一个实施例的软件包的发布系统的实例示意图;
[0049]图4示出了根据本发明一个实施例的软件包的发布系统的另一个结构示意图;
[0050]图5示出了根据本发明一个实施例的通过API进行元数据查询的界面示意图;
[0051]图6示出了根据本发明一个实施例的软件包的发布方法的流程示意图;以及
[0052]图7示出了根据本发明一个实施例的制作符合同一软件打包标准的软件包的流程不意图。

【具体实施方式】
[0053]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0054]为解决上述技术问题,本发明实施例提供了一种软件包的发布系统。图1示出了根据本发明一个实施例的软件包的发布系统的结构示意图。参见图1,软件包的发布系统至少包括:
[0055]软件包制作客户端110,用于制作符合同一软件打包标准的软件包,并将制作好的软件包发送至软件校验客户端120 ;
[0056]软件校验客户端120,用于校验至少一个软件包制作客户端110所制作的软件包,并将通过校验的软件包发送到源线上机130 ;
[0057]源线上机130,用于接收通过软件校验的软件包并发布,以供用户下载。
[0058]其中,源线上机130进一步包含线上软件仓库,用于存放通过软件校验并发布的软件包,以供用户下载。
[0059]在本发明实施例中,软件包制作客户端执行同一软件打包标准,使其生成的软件包为标准类软件包,通用性强。本实施例中,统一的是软件打包标准,对于开发环境(例如开发语言)并未进行限定,能够以较小的代价达到将多种不同的软件包统一为标准类软件包的目的。采用标准类软件包后,版本的更新、升级均采用相同的规则,容易被控制和管理。另外,当软件包制作客户端制作的软件包通过软件校验客户端校验之后,将其发布到源线上机。源线上机具备对用户公开的特性,用户可以查看源线上机中发布的软件包。并且,源线上机通常具备较大的容量,能够发布大量软件包,使其对于用户而言具备充足的资源,不需要分别到多个下载服务器上寻找不同的软件包。另外,源线上机具备一定的发布规则,例如对不同版本的更新,标记不同版本使得用户能够查看到软件包的更新历史,增加版本控制。因源线上机的公开、透明以及一定的发布规则,使其自动化程度大大增加,进而后期维护升级也变得较为容易。综上,本发明实施例提供的软件包的发布系统自动化程度高,易于管理,后期维护升级也较为容易,能够规范、系统、高效地对大量软件包进行管理。
[0060]其中,图1中为了示意,画出两个软件包制作客户端110和一个软件校验客户端120,三者作为一组,实际应用中软件包制作客户端110和软件校验客户端120的数量根据实际情况而定。例如,一个软件校验客户端120可以校验若干个软件包制作客户端110,而对于同一个源线上机130,可以有多个软件校验客户端120为其服务,将通过校验的软件包发布至源线上机130中。其中,软件制作客户端110、软件校验客户端120、源线上机130都包含有各自的软件仓库,用于存储不同阶段的软件包。
[0061]图2示出了根据本发明一个实施例的软件包制作客户端的结构示意图。参见图2,软件包制作客户端I1至少包括spec文件生成单元lll、spec文件修改单元112和软件打包单元113。
[0062]spec文件生成单元111,用于依据预先设定规则生成初始spec文件。
[0063]其中,spec文件为制作符合同一软件打包标准的软件包的说明书,能够指导软件包制作客户端110按照指定的步骤完成打包,其中,打包的过程可以使用rmpbuild命令。
[0064]spec文件修改单元112,与spec文件生成单元111親合,用于接收针对调整初始spec文件的输入以生成最终spec文件。
[0065]软件打包单元113,与spec文件修改单元112親合,用于依据最终spec文件制作符合同一软件打包标准的软件包。
[0066]为了良好的可维护性、软件的可持续发展,可以对spec文件进行统一规范,包括从命名、版本到文件内容等spec文件组成元素。例如,spec文件名,命名规范遵循:name-vers1n.spec,同一版本的同一软件只能有一个这样的spec文件,例如:nginx-1.2.9.spec。如果有多个版本,需要添加另外的文件,例如:nginx_l.4.2.spec。为了提高维护性、增加可移植性等诸多目的,优选地,spec文件可以较多的使用宏。
[0067]实施时,spec文件并不是固定不变的,并且其具备可视化、可编辑形式的特性,因此,软件包的发布系统的使用者可以根据实际情况修改初始spec文件,以生成符合要求的最终spec文件。
[0068]进一步,本发明实施例的软件包制作客户端110还包括更新单元114,用于更新软件包的元数据并向软件校验客户端120和源线上机130同步。
[0069]图3示出了根据本发明一个实施例的软件包的发布系统的实例示意图。参见图3:
[0070]Builder为打包机,其上部署了软件制作环境,即图1中能够制作符合同一软件打包标准的软件包的软件包制作客户端110,Builder通过在自身部署一套自动化工具,自动完成软件包打包等制作;
[0071]Checker为测试机,即图1中的软件校验客户端120,其中部署了新软件校验环境,新制作好的软件会先同步至Checker进行校验;
[0072]Mirror为源线上机,即图1中的源线上机130,通过校验的软件包,最终会自动发布到该环境。参见图3,其中的Mirror —部分为电信Mirror,一部分为网通Mirror,取决于具体的运营环境。Mirror可以利用IDC实现,其中,IDC即Internet Data Center,是基于Internet网络,为集中式收集、存储、处理和发送数据的设备提供运行维护的设施基地并提供相关的服务。IDC提供的主要业务包括域名注册查询主机托管(机位、机架、机房出租)、资源出租(虚拟主机业务、数据存储服务)、系统维护(系统配置、数据备份、故障排除服务)、管理服务(如带宽管理、流量分析、负载均衡、入侵检测、系统漏洞诊断),以及其他支撑、运行服务等。
[0073]为保证本发明实施例提供的软件包的发布系统运行的可靠性,可以通过整合现有成熟的技术(例如符合RPM (RedHat Package Manager,红帽子软件包管理工具)管理规则的技术),采用相应技术后,本系统的各方面参数与现有技术相比均有大幅提升。
[0074]上文提及,软件包制作客户端需要制作符合同一软件打包标准的软件包,但对于软件包的软件编写语言并未进行限定,即,不同的软件包制作客户端所使用的软件编写语言可以相同,也可以不同,取决于具体的编程人员或者软件包所更适宜的语言类(C、PHP、Python、JAVA、Node, js等多种语言中进行选择)。本实施例中的软件包制作客户端对编写语言并未进行限定,能够适应各种不同的编写语言,使其通用性较强,能够安装到任意客户端中。
[0075]在一个优选的实施例中,源线上机130还包括:访问接口 131,也可称为API (Applicat1n Programming Interface,全称应用程序编程接口),用于与其他系统连通,以供其他系统通过访问接口 131查询或调用源线上机130中的软件包的元数据。图4示出了根据本发明一个实施例的软件包的发布系统的另一个结构框图。其中,访问接口 131还可以用于对其他系统开放读和/或写权限。若开放读权项,其他系统可以查询线上软件仓库中的元数据,若开放写权限,则其他系统不但可以查询,还可以更改线上软件仓库中的元数据。优选地,软件包的元数据可以通过访问接口 131并藉由HTTP(HTTP-Hypertexttransfer protocol,超文本传送协议)指令调用。
[0076]图4中也画出API的示意标识。参见图4,用户可以通过HTTP指令的调用(比如curl (利用URL (Uniform Resource Locator,统一资源定位符)语法在命令行方式下工作的开源文件传输工具)就可以获取软件包的各项元数据,为系统间的集成奠定基础。图5示出了根据本发明一个实施例的通过API进行元数据查询的界面示意图。参见图5,界面中为其他系统提供了关键字的输入框,根据输入框中的关键字在线上软件仓库中进行查找,并将查找到的数据显示在搜索列表中。然而,列表形式的返回结果并非本发明的限制。在另一实施例中,调用访问接口 131(即API)也可以得到JSON格式的返回结果。应可理解,只要可以明确、具体地返回查询结果,本领域技术人员可以根据实际需要设计、规定返回结果的形式,相关方案皆应涵盖在本发明的范围内。
[0077]基于同一发明构思,本发明实施例还提供了一种软件包的发布方法,其中该方法可以利用上述任一实施例提供的软件包的发布系统实现。图6示出了根据本发明一个实施例的软件包的发布方法的处理流程图。参见图6,该软件包的发布方法至少包括步骤S602、步骤S604以及步骤S606:
[0078]步骤S602、制作符合同一软件打包标准的软件包;
[0079]步骤S604、对制作好的软件包进行校验;
[0080]步骤S606、将通过校验的软件包发布到源线上机,以供用户下载。
[0081]其中,源线上机进一步包含线上软件仓库,用于存放通过软件校验并发布的软件包,以供用户下载。
[0082]在一个优选的实施例中,实施步骤S602需要spec文件作为指导。图7示出了根据本发明一个实施例的制作符合同一软件打包标准的软件包的流程示意图。参见图7,该流程包括:
[0083]步骤S702、依据预先设定规则生成初始spec文件;
[0084]步骤S704、接收针对调整初始spec文件的输入以生成最终spec文件;以及
[0085]步骤S706、依据最终spec文件制作符合同一软件打包标准的软件包。
[0086]当软件包的元数据被更新时,对于处于校验状态的软件包,以及源线上机发布的软件包,均能够同步更新,保证数据的一致性。
[0087]其中,步骤S602在实施时,使用相同或不同的软件编写语言编写软件代码。并且,对不同的软件代码使用同一软件打包标准进行打包,生成软件包。同一软件打包标准为RPM标准。
[0088]在一个优选的实施例中,图6所示的软件发布的方法还包括:
[0089]步骤S608、在源线上机中增设与其他系统连接的访问接口,以供其他系统通过该接口查询或调用源线上机中的软件包的元数据。其中,访问接口对其他系统开放读和/或写权限,以为系统间的集成奠定基础。优选地,本步骤中,所述软件包的元数据是通过访问接口并藉由HTTP指令调用。需要说明的是,软件包的元数据优选以JSON的格式返回,利用JSON格式的通用性以达到与其他系统集成的目的。
[0090]采用本发明实施例提供的软件包的发布方法及系统能够达到如下有益效果:
[0091]在本发明实施例中,软件包制作客户端执行同一软件打包标准,使其生成的软件包为标准类软件包,通用性强。本实施例中,统一的是软件打包标准,对于开发环境(例如开发语言)并未进行限定,能够以较小的代价达到将多种不同的软件包统一为标准类软件包的目的。采用标准类软件包后,版本的更新、升级均采用相同的规则,容易被控制和管理。另外,当软件包制作客户端制作的软件包通过软件校验客户端校验之后,将其发布到源线上机。源线上机具备对用户公开的特性,用户可以查看源线上机中发布的软件包。并且,源线上机通常具备较大的容量,能够发布大量软件包,使其对于用户而言具备充足的资源,不需要分别到多个下载服务器上寻找不同的软件包。另外,源线上机具备一定的发布规则,例如对不同版本的更新,标记不同版本使得用户能够查看到软件包的更新历史,增加版本控制。因源线上机的公开、透明以及一定的发布规则,使其自动化程度大大增加,进而后期维护升级也变得较为容易。综上,本发明实施例提供的软件包的发布系统自动化程度高,易于管理,后期维护升级也较为容易,能够规范、系统、高效地对大量软件包进行管理。
[0092]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0093]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0094]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0095]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0096]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(039)来实现根据本发明实施例的软件包的发布系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0097]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0098]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
[0099]本发明公开了八1、一种软件包的发布系统,包括:
[0100]软件包制作客户端,用于制作符合同一软件打包标准的软件包,并将制作好的软件包发送至软件校验客户端;
[0101]所述软件校验客户端,用于校验所述软件包制作客户端所制作的软件包,并将通过校验的软件包发送到源线上机;
[0102]所述源线上机,用于接收通过所述软件校验的软件包并发布,以供用户下载。
[0103]八2、根据八1所述的系统,其中,所述软件包制作客户端进一步包括:
[0104]81)60文件生成单元,用于依据预先设定规则生成初始邓60文件;
[0105]81)60文件修改单元,用于接收针对调整所述初始邓60文件的输入以生成最终8?60文件;以及
[0106]软件打包单元,用于依据所述最终文件制作符合同一软件打包标准的软件包。
[0107]八3、根据八1或八2所述的系统,其中,所述软件包制作客户端进一步包括:
[0108]更新单元,用于更新软件包的元数据并向所述软件校验客户端和所述源线上机同步。
[0109]八4、根据八143中任一项所述的系统,其中,所述源线上机进一步包括:
[0110]线上软件仓库,用于存放通过软件校验并发布的软件包,以供用户下载。
[0111]八5、根据八4所述的系统,其中,所述源线上机进一步包括:
[0112]访问接口,用于与其他系统连通,以供所述其他系统通过该访问接口查询或调用所述线上软件仓库中的软件包的元数据。
[0113]46、根据八5所述的系统,其中,所述软件包的元数据是通过所述访问接口并藉由肌丁?指令调用。
[0114]八7、根据八5所述的系统,其中,所述软件包的元数据是以了30^的格式返回。
[0115]八8、根据八1至八5任一项所述的系统,其中,所述同一软件打包标准为标准。
[0116]本发明还公开了 89、一种软件包的发布方法,包括:
[0117]制作符合同一软件打包标准的软件包;
[0118]对制作好的所述软件包进行校验;
[0119]将通过校验的软件包发布到源线上机,以供用户下载。
[0120]810、根据89所述的方法,其中,所述制作符合同一软件打包标准的软件包,包括:
[0121]依据预先设定规则生成初始81)6。文件;
[0122]接收针对调整所述初始邓60文件的输入以生成最终邓60文件;以及
[0123]依据所述最终8?%文件制作符合同一软件打包标准的软件包。
[0124]811、根据89或10所述的方法,其中,还包括:
[0125]更新软件包的元数据;以及
[0126]对于校验的软件包和/或所述源线上机发布的软件包,同步更新的元数据。
[0127]812、根据89至811任一项所述的方法,其中,所述源线上机包括用于存放通过软件校验并发布的软件包的线上软件仓库。
[0128]813、根据812所述的方法,其中,还包括:
[0129]在所述线上软件仓库中增设与其他系统连接的访问接口,以供所述其他系统通过该接口查询或调用所述线上软件仓库中的软件包的元数据。
[0130]814、根据813所述的方法,其中,所述软件包的元数据是通过所述访问接口并藉由!III?指令调用。
[0131]815、根据813所述的方法,其中,所述软件包的元数据是以几的格式返回。
[0132]816、根据89至815任一项所述的方法,其中,所述同一软件打包标准为标准。
【权利要求】
1.一种软件包的发布系统,包括: 软件包制作客户端,用于制作符合同一软件打包标准的软件包,并将制作好的软件包发送至软件校验客户端; 所述软件校验客户端,用于校验所述软件包制作客户端所制作的软件包,并将通过校验的软件包发送到源线上机; 所述源线上机,用于接收通过所述软件校验的软件包并发布,以供用户下载。
2.根据权利要求1所述的系统,其中,所述软件包制作客户端进一步包括: spec文件生成单元,用于依据预先设定规则生成初始spec文件; spec文件修改单元,用于接收针对调整所述初始spec文件的输入以生成最终spec文件;以及 软件打包单元,用于依据所述最终spec文件制作符合同一软件打包标准的软件包。
3.根据权利要求1或2所述的系统,其中,所述软件包制作客户端进一步包括: 更新单元,用于更新软件包的元数据并向所述软件校验客户端和所述源线上机同步。
4.根据权利要求1-3中任一项所述的系统,其中,所述源线上机进一步包括: 线上软件仓库,用于存放通过软件校验并发布的软件包,以供用户下载。
5.根据权利要求4所述的系统,其中,所述源线上机进一步包括: 访问接口,用于与其他系统连通,以供所述其他系统通过该访问接口查询或调用所述线上软件仓库中的软件包的元数据。
6.根据权利要求5所述的系统,其中,所述软件包的元数据是通过所述访问接口并藉由HTTP指令调用。
7.根据权利要求5所述的系统,其中,所述软件包的元数据是以JSON的格式返回。
8.根据权利要求1至5任一项所述的系统,其中,所述同一软件打包标准为RPM标准。
9.一种软件包的发布方法,包括: 制作符合同一软件打包标准的软件包; 对制作好的所述软件包进行校验; 将通过校验的软件包发布到源线上机,以供用户下载。
10.根据权利要求9所述的方法,其中,所述制作符合同一软件打包标准的软件包,包括: 依据预先设定规则生成初始spec文件; 接收针对调整所述初始spec文件的输入以生成最终spec文件;以及 依据所述最终spec文件制作符合同一软件打包标准的软件包。
【文档编号】G06F9/44GK104461567SQ201410821698
【公开日】2015年3月25日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】王浩宇 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1