logo好方法网

版本管理系统、开发数据传输控制方法及相关装置


技术摘要:
本申请实施例公开了一种版本管理系统、开发数据传输控制方法及相关装置,系统包括开发者客户端、代理服务器和多个存储设备,开发者客户端与代理服务器通信连接,代理服务器与多个存储设备通信连接,其中,开发者客户端,用于记录用户的项目开发数据,并向代理服务器发  全部
背景技术:
如图1A所示的现有git(一种开源分布式版本管理系统)系统架构,开发者客户端 由开发者使用,所有的开发者客户端将用户针对程序开发项目的补丁上传至公共服务器, 公共服务器汇总所有开发者的补丁,并同步备份到所有的备份服务器中。 随着使用量的增加,单机会有频繁的并发I/O请求,该方案中一旦发生工作区文件 修改就需公共服务器要向所有备份服务器发送更新请求,无疑将会增加公共服务器I/O负 担。公共服务器负责存储I/O的同时还要按照备份服务器的数量发送大量的网络I/O传输更 新内容。最后主机异常必然进行全量故障切换,故障发生时如果存在大量I/O,那么主备之 间的差异将会难以控制和缩小,故障难以最小化。
技术实现要素:
本申请实施例提供了一种版本管理系统、开发数据传输控制方法及相关装置,以 期实现版本管理系统中服务端的高可用。 第一方面,本申请实施例提供一种版本管理系统,包括开发者客户端、代理服务器 和多个存储设备,所述开发者客户端与所述代理服务器通信连接,所述代理服务器与所述 多个存储设备通信连接,其中, 所述开发者客户端,用于记录用户的项目开发数据,并向所述代理服务器发送所 述项目开发数据; 所述代理服务器,用于接收所述项目开发数据,并向关联的目标存储设备发送所 述项目开发数据,所述多个存储设备包括所述目标存储设备; 所述目标存储设备,用于接收并存储所述项目开发数据。 第二方面,本申请实施例提供一种应用于如第一方面所述的版本管理系统中的代 理服务器,所述方法包括: 接收来自所述开发者客户端的项目开发数据; 向关联的目标存储设备发送所述项目开发数据。 第三方面,本申请实施例提供一种代理服务器,包括处理器、存储器、通信接口以 及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述 处理器执行,上述程序包括用于执行本申请实施例第二方面任一方法中的步骤的指令。 第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读 存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如 本申请实施例第二方面任一方法中所描述的部分或全部步骤。 第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品 4 CN 111596953 A 说 明 书 2/11 页 包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算 机执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。该计算机程序产品 可以为一个软件安装包。 可以看出,本申请实施例中,版本管理系统包括开发者客户端、代理服务器和多个 存储设备,开发者客户端与代理服务器通信连接,代理服务器与多个存储设备通信连接,其 中,开发者客户端用于记录用户的项目开发数据,并向代理服务器发送项目开发数据;代理 服务器用于接收项目开发数据,并向关联的目标存储设备发送项目开发数据,且多个存储 设备包括目标存储设备;目标存储设备,用于接收并存储项目开发数据。可见,本申请的版 本管理系统为开源分布式的系统架构,相对于原中心化服务器的系统架构,单个存储设备 发生的异常不会对其他存储设备的使用造成任何影响,从而能够迅速收敛单个存储设备发 生的异常,避免原中心化服务器架构中因公共服务期异常而导致所有用户无法正常使用的 情况发生,实现版本管理系统中的服务端的高可用。 附图说明 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附 图获得其他的附图。 图1A是本申请实施例提供的一种现有git系统架构图; 图1B是本申请实施例提供的一种版本管理系统10的系统架构图; 图1C是本申请实施例提供的一种代理服务器200的组成示例图; 图1D是本申请实施例提供的一种基于HTTP协议的开发者的代码推送过程的流程 示意图; 图1E是本申请实施例提供的一种基于SSH协议的开发者的代码推送过程的流程示 意图; 图2是本申请实施例提供的一种开发数据传输控制方法的流程示意图; 图3是本申请实施例提供的一种开发数据传输控制装置的功能单元组成框图; 图4是本申请实施例提供的一种开发数据传输控制装置的功能模块组成框图。
下载此资料需消耗2积分,
分享到:
收藏