一种软件版本管理系统.pdf

上传人:大师****2 文档编号:971237 上传时间:2018-03-22 格式:PDF 页数:14 大小:503.88KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910025680.1

申请日:

2009.03.05

公开号:

CN101572724A

公开日:

2009.11.04

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04L 29/08申请公布日:20091104|||实质审查的生效|||公开

IPC分类号:

H04L29/08; H04L29/06; G06F9/44

主分类号:

H04L29/08

申请人:

国电南瑞科技股份有限公司

发明人:

徐漫江; 江 平; 郭 瑞; 张 昆; 张赛桥; 张 浩; 沈广泽

地址:

210061江苏省南京市高新技术开发区高新路20号

优先权:

专利代理机构:

南京纵横知识产权代理有限公司

代理人:

董建林;许婉静

PDF下载: PDF下载
内容摘要

本发明公开了一种软件版本管理系统,包括两台版本库服务器,所述版本库服务器安装有通用版本管理软件,其特征在于:在两台版本库服务器间通过可互相发送本服务器的状态信息的心跳线连接,在所述版本库服务器内还安装设置有服务检测模块、心跳检测模块和数据同步模块;两台版本库服务器设置一个可在两台版本库服务器间浮动的虚拟服务地址;每台版本服务器配置有数据同步地址,用于与对端版本服务器间进行数据发送与接收;每台服务器均包含一个用于记录以上各信息配置文件。本发明可以支持多种版本管理软件,既保留了集中式版本管理系统的优点,又避免了已有版本管理系统对故障处理的不足,可实现软件版本管理系统的高可用性。

权利要求书

1.  一种软件版本管理系统,包括两台版本库服务器,所述版本库服务器安装有通用版本管理软件,其特征在于:在两台版本库服务器间通过可互相发送本服务器的状态信息的心跳线连接,在所述版本库服务器内还安装设置有以下模块:
服务检测模块,用于检测本机上版本库服务是否可用;
心跳检测模块,用于通过心跳线发送本机状态信息、接收对端服务器状态信息、判断虚拟服务地址位置、根据需要配置或去除本机上的虚拟服务地址;
数据同步模块,用于监视本机版本库中发生的修改,并将修改的数据发送到对端服务器,由对端服务器将修改的数据写进对端服务器的版本库中。
两台版本库服务器设置一个可在两台版本库服务器间浮动的虚拟服务地址。
每台版本服务器配置有数据同步地址,用于与其它版本服务器间进行数据发送与接收,实现版本服务器间版本库数据的同步。
每台服务器均包含一个用于记录版本库服务器信息、心跳线信息、服务检测模块信息、心跳检测模块信息、数据同步模块信息、虚拟服务地址信息、数据同步地址信息的配置文件。

2.
  根据权利要求1所述的软件版本管理系统,其特征在于:所述心跳线为串口连接、单独网络连接、或串口连接与单独网络连接的组合连接。

3.
  根据权利要求1所述的软件版本管理系统,其特征在于:所述版本管理软件为CVS、Subversion等多种具有增量备份及导入功能的版本管理软件,并且在提供服务前具有相同的初始状态。

4.
  根据权利要求1所述的软件版本管理系统,其特征在于:所述服务检测模块的检测方法包括两种:对于开放开发接口的版本管理软件,通过模拟客户端向版本管理服务发送状态查询命令,根据是否得到正确返回决定版本服务状态;对于未开放开发接口的版本管理软件,通过判断该软件的进程是否存在决定版本服务状态,服务检测模块按配置周期运行,并将判断结果发送给心跳检测模块。

5、
  根据权利要求1所述的软件版本管理系统,其特征在于:所述心跳检测模块发送的本机状态信息包括:本服务器上版本库服务是否正常、本服务器同步地址、本服务器是否配置虚拟服务地址。

6、
  根据权利要求1所述的软件版本管理系统,其特征在于:所述心跳检测模块根据对端服务器及本服务器状态信息,决定将虚拟服务地址配置在哪台服务器上,且保证虚拟服务地址必须且仅能配置在一台服务器上。

7、
  根据权利要求1所述的软件版本管理系统,其特征在于:客户端通过虚拟服务地址访问版本库。

说明书

一种软件版本管理系统
技术领域
本发明涉及一种用于文件版本管理、工程配置管理、软件自动更新的软件版本管理系统,属于计算机技术领域
背景技术
随着各领域自动化水平的提高,版本管理系统(Version ManagementSystem)从最初主要应用于软件开发领域,到目前已经被自动化系统的各个领域所广泛使用,如工程配置管理(Configuration Management)、软件自动更新、协同设计、文档管理等。可以说在任何一个大中型的工程中,都有版本管理系统应用的位置。根据设计理念的不同,版本管理系统可以分为集中式与分布式两种,其中集中式版本管理系统具有概念简单,易于维护,使用方便等优点,得到了充分发展,目前比较成熟的这类版本管理系统主要有:Visual SourceSafe、CVS、Subversion、ClearCase等。
目前许多的集中式的版本管理系统无法提供高可用性支持,一旦版本管理服务器出现故障,必将导致依赖于其的许多工作出现停顿,如软件开发、软件自动升级等。
发明内容
本发明所要解决的技术问题是提供一种许多中低端版本管理软件不能提供的高可用性集群的软件版本管理系统。
为解决上述技术问题,本发明提供一种通用的构建高可用性的软件版本管理系统,包括两台版本库服务器,所述版本库服务器安装有通用版本管理软件,其特征在于:在两台版本库服务器间通过可互相发送本服务器的状态信息的心跳线连接,在所述版本库服务器内还安装设置有以下模块:
服务检测模块,用于检测本机版本库服务是否可用;
心跳检测模块,用于通过心跳线发送本机状态信息、接收对端服务器状态信息、判断虚拟服务地址位置、根据需要配置或去除本机上的虚拟服务地址;
数据同步模块,用于监视本机版本库中发生的修改,并将修改的数据发送到对端服务器,由对端服务器将修改的数据写进对端服务器的版本库中;
两台版本库服务器设置一个可在两台版本库服务器间浮动的虚拟服务地址;
每台版本服务器配置有数据同步地址,用于与其它版本服务器间进行数据发送与接收,实现版本服务器间版本库数据的同步。
每台服务器均包含一个用于记录版本库服务器信息、心跳线信息、服务检测模块信息、心跳检测模块信息、数据同步模块信息、虚拟服务地址信息、数据同步地址信息的配置文件。
本发明所达到的有益效果:本发明的软件版本管理系统可以支持多种版本管理软件,既保留了集中式版本管理系统的优点,又避免了现有版本管理软件对故障处理的不足,可实现软件版本管理系统的高可用性。
附图说明
图1为本发明的软件版本管理系统的组成示意图;
图2为本发明的服务检测模块的工作流程图;
图3为本发明的心跳检测模块的工作流程图;
图4为本发明的数据同步模块的工作流程图。
具体实施方式
本发明无需对版本管理软件的服务端或客户端部分做任何修改,因此具有比较好的兼容性。本发明中,分别在每台版本库服务器上安装相同的版本管理软件,并且建立相同的版本仓库。采用的版本管理软件可以为CVS或Subversion等,并且在提供服务前具有相同的初始状态。
本发明中,两台服务器间采用心跳线连接。心跳线主要用于在两台服务器间相互发送本服务器的状态信息,由于信息数据量很小,通常在100字节以内,因此可以采用可靠性高、支持双向数据发送的数据通讯方式,如串口、网络等。
当使用串口连接作为心跳线时,需要用Null-modem线缆(Null Modem Cable)连接两台服务器的RS232接口。当使用网络连接作为心跳线时,为了提高系统的可靠性,需要使用服务器上一个单独的网络接口,并确保两台服务器可以使用心跳地址互相传送数据。也可同时使用串口连接和网络连接的组合连接作为心跳线,此时需要两种连接方式都正确连接。
本发明中,两台服务器上分别运行各自的服务检测模块,用于检测本机上版本库服务是否可用。出于兼容性考虑,服务检测模块采用两种检测方法:对于开放开发接口的版本管理软件,通过模拟客户端向版本管理服务发送状态查询命令,根据是否得到返回决定版本服务状态;对于未开放开发接口的版本管理软件,通过判断该软件的进程是否存在决定版本服务状态。服务检测模块按配置周期运行,并将判断结果发送给心跳检测模块。
本发明中,心跳检测模块主要作用为:
(1)通过心跳线发送本机状态信息;
(2)接收对端服务器状态信息;
(3)判断虚拟服务地址位置;
(4)根据需要配置或去除本机上的虚拟服务地址。
本机状态信息包括:本服务器上版本库服务是否正常、本服务器同步地址、本服务器是否配置虚拟服务地址。心跳检测模块根据对端服务器及本服务器状态信息,通过预定算法决定将虚拟服务地址配置在哪台服务器上。所使用的算法可以是:优先级抢占、优先级非抢占、随机决定,算法的目标是保证虚拟服务地址必须且仅能配置在一台服务器上。
本发明中,数据同步模块负责监视本机版本库中发生的修改,并将修改的数据发送到对端服务器,由对端服务器将修改的数据写进对端服务器的版本库中。数据同步模块的根据所使用的版本管理软件采用不同的实现方式,但完成的功能相同。
本发明中,两台版本库服务器采用一个虚拟服务地址对外提供版本管理服务。虚拟服务地址可以在两台服务器间浮动,虚拟服务地址的浮动由心跳检测模块完成,但同一时刻只有一台服务器会配置虚拟服务地址。本发明中所有客户端均使用虚拟服务地址访问版本库,因此同一时刻只会对一台服务器上的版本库进行访问,保证了任一时刻只进行单向数据同步,避免了双向同步可能带来的数据不一致性。
本发明中,两台服务器均各自配置数据同步地址,并保证可以通过数据同步地址进行数据发送与接收。
本发明中,两台服务器均包含一个配置文件,用于记录提供高可用性服务所需的信息。配置文件格式如下:
[LOCAL]
HOST=本服务器名
SYNC_IP=本服务器数据同步地址
[REMOTE]
HOST=对端服务器名
SYNC_IP=对端服务器数据同步地址
[COM_HB]
HB_PORT=串口心跳线使用的端口
[NET_HB]
HB_LOCAL=本服务器用于心跳的IP地址
HB_REMOTE=对端服务器用于心跳的IP地址
[COMMON]
SRV_IP=虚拟服务地址
VMS=所使用的版本管理软件
HB_INTVERAL=心跳检测周期
HB_TYPE=使用的心跳检测方式
当客户端对版本库内容进行修改操作后,数据同步模块通过同步地址自动将版本库的修改向对端服务器进行同步。
在本发明中,客户端直接与虚拟服务地址相连通,客户端仅通过虚拟服务地址访问版本管理服务,此时配置有虚拟服务地址的服务器提供实际服务。
本发明,通过虚拟服务地址提供版本管理服务,并通过两台服务器实现故障屏蔽,客户端无需处理两台服务器实际工作状态,在提高可用性的同时,没有增加客户端的复杂性。
下面结合附图详细介绍本发明的一种实施例,此方案选用Subversion软件作为版本管理软件,采用串口连接作为心跳线。
1、软、硬件准备
准备两台计算机S1与S2,分别安装Linux操作系统与Subversion软件。S1与S2间通过Null-modem线缆连接。S1与S2网卡上分别配置数据同步地址192.168.1.101与192.168.1.102。
2、初始化版本库
在S1与S2上通过命令分别建立版本库:svnadmin create/sv_root/repos/test
3、编写配置文件
S1的配置文件内容为:
[LOCAL]
HOST=S1
SYNC_IP=192.168.1.101
[REMOTE]
HOST=S2
SYNC_IP=192.168.1.102
[COM_HB]
HB_PORT=/dev/ttyS0
[COMMON]
SRV_IP=192.168.2.10
VMS=Subversion
HB_INTVERAL=2
HB_TYPE=COM
S2的配置文件内容为:
[LOCAL]
HOST=S2
SYNC_IP=192.168.1.102
[REMOTE]
HOST=S1
SYNC_IP=192.168.1.101
[COM_HB]
HB_PORT=/dev/ttyS0
[COMMON]
SRV_IP=192.168.2.10
VMS=Subversion
HB_INTVERAL=2
HB_TYPE=COM
4、启动软件模块
在S1、S2上分别启动服务检测模块srv_test,心跳检测模块hb_test,数据同步模块data_sync。
5、客户端使用
在客户端上通过地址:svn://192.168.2.10/repos/test访问版本库。假设当192.168.2.10配置在S1上时,客户端实际访问的是S1上的版本库,并且所有修改操作都通过S1上的数据同步模块同步到S2的版本库中。
6、故障处理
假设当192.168.2.10虚拟服务地址配置在S1上时,S1发生故障,如果S1上运行的Subversion出现故障,则由S1上srv_test将故障信息通知S1上hb_test,S1上hb_test将192.168.2.10虚拟服务地址去除,并将故障信息发送至S2。S2收到S1的故障信息后,将192.168.2.10虚拟服务地址配置到S2上,S2的Subversion此时开始对外提供服务,客户端实际访问的是S2上的版本库,并且所有修改操作都通过S2上的数据同步模块同步到S1的版本库中。
上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

一种软件版本管理系统.pdf_第1页
第1页 / 共14页
一种软件版本管理系统.pdf_第2页
第2页 / 共14页
一种软件版本管理系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种软件版本管理系统.pdf》由会员分享,可在线阅读,更多相关《一种软件版本管理系统.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开了一种软件版本管理系统,包括两台版本库服务器,所述版本库服务器安装有通用版本管理软件,其特征在于:在两台版本库服务器间通过可互相发送本服务器的状态信息的心跳线连接,在所述版本库服务器内还安装设置有服务检测模块、心跳检测模块和数据同步模块;两台版本库服务器设置一个可在两台版本库服务器间浮动的虚拟服务地址;每台版本服务器配置有数据同步地址,用于与对端版本服务器间进行数据发送与接收;每台服务器。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1