一种基于自动代理和读写分离技术的统一制品管理系统技术方案

技术编号:24590625 阅读:91 留言:0更新日期:2020-06-21 02:35
本发明专利技术提供了一种基于自动代理和读写分离技术的统一制品管理系统,包括用户命令拦截器、读写流量控制器、私有制品管理模块和远程公共制品代理缓存模块;上传制品步骤如下:(1)用户向系统发送上传命令,将制品包及上传命令提交至统一制品管理系统;(2)用户命令拦截器截获命令,发现用户命令是上传命令,并将用户请求转发至读写流量控制器;(3)读写流量控制器将用户上传请求转发至私有制品管理模块,完成用户制品上传;(4)统一制品管理系统按顺序将制品上传结果返回至用户;本发明专利技术让用户只需要使用一个库就可以实现上传和下载制品,且下载制品时会自动缓存远程仓库制品,加速下载速度,用户使用便捷,操作方便,无需复杂的配置。

A unified product management system based on automatic agent and read-write separation technology

【技术实现步骤摘要】
一种基于自动代理和读写分离技术的统一制品管理系统
本专利技术涉及软件开发,具体是一种基于自动代理和读写分离技术的统一制品管理系统。
技术介绍
在现代软件开发中,制品管理系统已经成为一个基本的支撑系统,负责管理和存储构建产物。但是由于制品种类繁多,提供统一的制品管理平台就显得日趋重要,目前世界上主要有Jrog公司的Artifactory和Sonatype公司的Nexus两个统一制品管理系统。Sonatype公司的Nexus系统的制品库分为三种类型:一、Host类型:实际的具有制品实际存储和管理的实体库,可以用于制品上传和下载;二、Proxy类型:代理类型,可以代理远程的制品库,只能用于制品下载,不具有实际存储能力,一个Proxy类型库只能代理一个远程库;三、Group类型:虚拟类型,可以将多个Host类型和Proxy类型组合成Group类型,只能用以制品的下载,做用是对于制品下载的场景,用户只要配置一个Group类型即可,不需要配置多个库作为下载源。Jrog公司的Artifactory系统的制品库分为三种类型:一、Local类型:和Nexus的Host类型对应;二、Remote类型:和Nexus的Proxy类型对应;三、Virtual类型:和Nexus的Group类型对应。现有技术在使用过程中,如果构建过程中要实现如下企业研发过程中的基本功能和目标:一、可以上传制品;二、可以下载制品;三、下载公共镜像制品的时候具有自动镜像并自动缓存的能力用以加速;四、构建系统的机器没有外网权限,但是依然需要使用远程公共镜像。则存在如下明显缺点:一、用户配置复杂:例如Maven构建时就需要分别配置Repositories、DistributionManagement两种标签,甚至需要配置Mirrors标签三种标签,Docker用户则需要在dockerpull或者dockerpush命令进行不同的制品库指定;二、系统管理员配置复杂:系统管理员需要搭建三种不同类型的库,分别用于企业上传制品的库(NexusHost类型或ArtifactoryLocal类型)、缓存远程仓库镜像用以下载加速的库(NexusProxy类型或ArtifactoryRemote类型)、用以简化用户使用多个远程仓库进行下载的虚拟组(NexusGroup类型或ArtifactoryVirtual类型)。因此使用时较为复杂,存在较多不便,严重影响开发效率。
技术实现思路
本专利技术的目的在于提供一种基于自动代理和读写分离技术的统一制品管理系统,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于自动代理和读写分离技术的统一制品管理系统,包括用户命令拦截器、读写流量控制器、私有制品管理模块和远程公共制品代理缓存模块;上传制品步骤如下:(1)用户向系统发送上传命令,将制品包及上传命令提交至统一制品管理系统;(2)用户命令拦截器截获命令,发现用户命令是上传命令,并将用户请求转发至读写流量控制器;(3)读写流量控制器将用户上传请求转发至私有制品管理模块,完成用户制品上传;(4)统一制品管理系统按顺序将制品上传结果返回至用户;下载私有制品步骤如下:(1)用户向系统发送下载命令,将制品包名称、版本等信息及下载命令提交至统一制品管理系统;(2)用户命令拦截器截获命令,发现用户命令是下载命令,并将用户请求转发至读写流量控制器;(3)读写流量控制器将用户下载请求优先转发至私有制品管理模块;(4)如果私有制品管理模块中存在用户需要下载的制品,则将制品数据包沿数据通道回传至用户;如果私有制品管理模块中未发现用户需要下载的制品,则读写流量控制器将下载请求转发至远程公共制品代理缓存模块;(5)远程公共制品代理缓存模块逐个检索远程制品库的制品包数据;(6)如所有远程制品库中都不存在用户需要下载的制品包,则沿数据通道告知用户下载失败消息;如在某个远程制品库中发现了用户需要下载的制品包,则将该制品包下载至远程公共制品代理缓存模块,并将该制品包沿数据通道返回用户,下载过程结束。作为本专利技术进一步的方案:所述用户命令拦截器用以解析用户数据包,获取用户是上传命令还是下载命令、操作的制品包名、版本等制品信息数据。作为本专利技术进一步的方案:所述读写流量控制器根据用户是上传命令还是下载命令,将请求分发至私有制品管理模块或者是代理缓存模块。作为本专利技术进一步的方案:所述私有制品管理模块存储和管理用户私有制品,并向用户提供私有制品上传及私有制品下载服务。作为本专利技术进一步的方案:所述远程公共制品代理缓存模块用以自动缓存外网公共制品,并向用户提供公共制品下载服务。与现有技术相比,本专利技术的有益效果是:本专利技术采用上述方法后,系统内置私有制品管理模块及远程公共制品代理缓存模块,能支持对多个远程公共制品库进行代理缓存、且根据用户读写命令进行智能读写分流,对用户仅暴露一种制品库即可。让用户只需要使用一个库就可以实现上传和下载制品,且下载制品时会自动缓存远程仓库制品,加速下载速度,并且不需要外网权限。用户使用便捷,操作方便,仅需使用一个制品库即可实现Sonatype公司的Nexus和JrogArtifactory三种类型制品库同时使用的效果,无需复杂配置即可实现支持私有制品上传下载、又支持公共制品下载加速,解决企业构建系统无外网权限的问题,提高软件开发的效率。附图说明图1为一种基于自动代理和读写分离技术的统一制品管理系统的整体流程图。图2为一种基于自动代理和读写分离技术的统一制品管理系统中上传制品流程图。图3为一种基于自动代理和读写分离技术的统一制品管理系统中下载私有制品流程图。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。请参阅图1-3,一种基于自动代理和读写分离技术的统一制品管理系统,包括用户命令拦截器、读写流量控制器、私有制品管理模块和远程公共制品代理缓存模块,所述用户命令拦截器用以解析用户数据包,获取用户是上传命令还是下载命令、操作的制品包名、版本等制品信息数据;所述读写流量控制器根据用户是上传命令还是下载命令,将请求分发至私有制品管理模块或者是代理缓存模块;所述私有制品管理模块存储和管理用户私有制品,并向用户提供私有制品上传及私有制品下载服务;所述远程公共制品代理缓存模块用以自动缓存外网公共制品,并向用户提供公共制品下载服务(不提供上传服务);上传制品步骤如下:(1)用户向系统发送上传命令,将制品包及上传命令提交至统一制品管理系统,如附图2中的箭头1所示;(2)用户命令拦截器截获命令,发现用户命令是上传命令,并将用户请求转发至读写流量控制器,如附图2中的箭头2所示;(3)读写流量控制器将用户上传请求转发至私有制品管理模块,完成用户制品上传,如附图2中的箭头3所示;(4)统一制品管理系统按顺序将制品上传结本文档来自技高网
...

【技术保护点】
1.一种基于自动代理和读写分离技术的统一制品管理系统,其特征在于,包括用户命令拦截器、读写流量控制器、私有制品管理模块和远程公共制品代理缓存模块;/n上传制品步骤如下:/n(1)用户向系统发送上传命令,将制品包及上传命令提交至统一制品管理系统;/n(2)用户命令拦截器截获命令,发现用户命令是上传命令,并将用户请求转发至读写流量控制器;/n(3)读写流量控制器将用户上传请求转发至私有制品管理模块,完成用户制品上传;/n(4)统一制品管理系统按顺序将制品上传结果返回至用户;/n下载私有制品步骤如下:/n(1)用户向系统发送下载命令,将制品包名称、版本等信息及下载命令提交至统一制品管理系统;/n(2)用户命令拦截器截获命令,发现用户命令是下载命令,并将用户请求转发至读写流量控制器;/n(3)读写流量控制器将用户下载请求优先转发至私有制品管理模块;/n(4)如果私有制品管理模块中存在用户需要下载的制品,则将制品数据包沿数据通道回传至用户;/n如果私有制品管理模块中未发现用户需要下载的制品,则读写流量控制器将下载请求转发至远程公共制品代理缓存模块;/n(5)远程公共制品代理缓存模块逐个检索远程制品库的制品包数据;/n(6)如所有远程制品库中都不存在用户需要下载的制品包,则沿数据通道告知用户下载失败消息;/n如在某个远程制品库中发现了用户需要下载的制品包,则将该制品包下载至远程公共制品代理缓存模块,并将该制品包沿数据通道返回用户,下载过程结束。/n...

【技术特征摘要】
1.一种基于自动代理和读写分离技术的统一制品管理系统,其特征在于,包括用户命令拦截器、读写流量控制器、私有制品管理模块和远程公共制品代理缓存模块;
上传制品步骤如下:
(1)用户向系统发送上传命令,将制品包及上传命令提交至统一制品管理系统;
(2)用户命令拦截器截获命令,发现用户命令是上传命令,并将用户请求转发至读写流量控制器;
(3)读写流量控制器将用户上传请求转发至私有制品管理模块,完成用户制品上传;
(4)统一制品管理系统按顺序将制品上传结果返回至用户;
下载私有制品步骤如下:
(1)用户向系统发送下载命令,将制品包名称、版本等信息及下载命令提交至统一制品管理系统;
(2)用户命令拦截器截获命令,发现用户命令是下载命令,并将用户请求转发至读写流量控制器;
(3)读写流量控制器将用户下载请求优先转发至私有制品管理模块;
(4)如果私有制品管理模块中存在用户需要下载的制品,则将制品数据包沿数据通道回传至用户;
如果私有制品管理模块中未发现用户需要下载的制品,则读写流量控制器将下载请求转发至远程公共制品代理缓存模块;
(5)远程公共制品代理缓存模块逐个检索远程制品库的制品包数...

【专利技术属性】
技术研发人员:刘庆
申请(专利权)人:北京简单一点科技有限公司
类型:发明
国别省市:北京;11

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

1