CN101483576B - 一种分布式系统中的版本管理实现方法 - Google Patents
一种分布式系统中的版本管理实现方法 Download PDFInfo
- Publication number
- CN101483576B CN101483576B CN2008100325807A CN200810032580A CN101483576B CN 101483576 B CN101483576 B CN 101483576B CN 2008100325807 A CN2008100325807 A CN 2008100325807A CN 200810032580 A CN200810032580 A CN 200810032580A CN 101483576 B CN101483576 B CN 101483576B
- Authority
- CN
- China
- Prior art keywords
- file
- version
- client
- server end
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式系统中的版本管理实现方法。该方法将主控制板作为被动的SERVER端,线卡及备用控制板作为CLIENT端;包括线卡的BOOTROM主动向主控制板请求版本文件同步机制;主控制板强制同步线卡版本文件和BOOTROM文件机制;主备板之间版本文件同步机制。该方法目前应用在博达系列机架式交换机上,包括主控制板、备用控制板、若干线卡及用于上述单板连接的网络。以主控制板为版本管理的服务中心,集中存放了所有线卡的版本文件,所述方法实现了线卡的BOOTROM主动向主控制板请求同步版本文件、主控制板强制同步线卡版本文件和BOOTROM、主备板之间版本文件更新。其优点为不仅保证了文件同步的准确性、及时性,而且使得文件同步的系统更简单灵活、易于扩充。
Description
技术领域:
本发明涉及数据通信领域,特别涉及一种分布式系统中的版本管理实现方法。
背景技术:
随着数据通信设备的复杂程度不断提高,一些由单一CPU的单板系统已无法胜任复杂繁重的任务,因此出现了由多个单板组成的多CPU的复杂分布式嵌入式设备,这种复杂设备通常包括主控制板、备用控制板、若干线卡及用于上述单板连接的网络。对于单CPU层次架构的系统,没有版本管理的概念,而现在分布式架构的多CPU系统中,单板数量不固定,每个单板上都有自己的CPU及CPU运行所需的BOOTROM、可执行的应用程序版本文件,这些单板上的BOOTROM及版本文件在设备使用过程中经常需要更新升级,并且所有单板的版本文件需要匹配一致;若没有好的版本管理机制,容易造成各单板的版本文件管理混乱。因此对于经常需要扩充、更新版本的分布式多CPU系统,高效、简单的管理这些版本文件,满足各单板的版本文件的更新需求,成为该系统一个非常重要的部分。
发明内容:
鉴于上述技术问题,本发明的目的是提供一种分布式系统中的版本管理实现方法。该方法将主控制板作为被动的SERVER端,线卡及备用控制板作为CLIENT端。这种SERVER与CLIENT的架构解决了CLIENT数量的扩充问题。方法中所涉及的所有的版本都是集中存放在主控制板上,主要通过线卡及时了解到版本是否与主控制板上的版本是否统一,来实现线卡与主控制板之间版本的文件同步。该方法主要包括以下三个机制:
(一)线卡的BOOTROM主动向主控制板请求版本文件同步机制;
(二)主控制板强制同步线卡版本文件和BOOTROM文件机制;
(三)主备板之间版本文件同步机制。
(一)线卡的BOOTROM主动向主控制板请求版本文件同步机制;
线卡在BOOTROM启动后,自动寻找最新的版本文件,线卡主动向主控制板请求同步版本文件。在BOOTROM中,线卡主动向主控SERVER端发送文件同步请求,并携带版本信息及同步的文件名。主控的SERVER端在收到文件同步请求后,将本地保存的版本文件信息与CLIENT端发送的版本文件信息进行比较,并将比较结果发回给CLIENT端;线卡CLIENT端收到文件信息比较结果,若文件相同,说明CLIENT端上的版本文件和SERVER端上的版本文件是一致的,则不需要进行文件同步,线卡的CPU直接执行应用程序版本文件;若文件不同,则CLIENT端向SERVER端发送文件数据传输请求,继续文件同步过程。
(二)主控制板强制同步线卡版本文件和BOOTROM文件机制;
主控的SERVER端发送强制同步CLIENT端版本文件的命令,CLIENT端收到该命令后转入LINK KEEP状态,此时进入一次文件同步过程,CLIENT端向SERVER端发送自己的版本文件信息;SERVER端的不同类型的强制同步文件命令,可以指定所同步的文件是版本文件还是BOOTROM文件;对应SERVER端的不同类型强制同步文件命令,达到同步指定的文件至CLIENT端。
(三)主备板之间版本文件同步机制;
主备控制板中都同时有SERVER和CLIENT程序,因此控制板作为SERVER端,同时也是一个CLIENT端,该CLIENT端平常是处于睡眠态,系统可以对其进行唤醒,使其转入LINK KEEP状态,开始一个同步过程。主备板之间版本文件同步,是指主用控制板上的文件来同步更新备用控制板上的文件,主用控制板的SERVER端发送强制同步文件命令给备用控制板的CLIENT端,备用控制板的CLIENT端收到该命令后转入LINK KEEP状态,此时备用控制板的CLIENT端向主用控制板SERVER端发送自己的版本文件信息,开始一个文件同步的过程。
本发明方法的具体步骤(参见图1)以下:
1)SERVER端无限等待CLIENT端发送的版本文件同步请求,若收到CLIENT端发送的文件同步请求,则建立一个与此CLIENT端对应的SESSION;
2)CLIENT端向SERVER端发送文件同步请求,并携带版本文件信息;
3)SERVER端将本地保存的版本文件信息与步骤2)中CLIENT端发送的版本文件信息进行比较,并将比较结果发回给CLIENT端;
4)CLIENT端根据比较结果决定是否进行文件更新,若比较结果为不相同,需要进行文件更新,跳转至下一步;若比较结果相同,则不需要进行文件更新,跳转至步骤10);
5)CLIENT端向SERVER端发送文件数据传输请求,然后转入接收文件传输状态;
6)SERVER端收到CLIENT端的文件数据传输请求,顺序发送文件数据给CLIENT端;
7)CLIENT端接收到文件数据,若校验核对OK,则对本地文件进行更新,相应文件指针也进行更新,并再向SERVER端发送文件数据请求,流程转至步骤6),直至最后一包文件数据;若校验核对有ERROR,则向SERVER端发送重新传输该文件数据请求;
8)SERVER端发送最后一包文件数据给CLIENT端;CLIENT端收到并更新文件,同时识别出是最后一包文件数据,向SERVER端发送文件传输完毕命令;
9)SERVER端收到文件传输完毕命令,释放对应CLIENT端的SESSION,流程转至步骤1),重新进入等待CLIENT端发送文件同步请求状态;
10)CLIENT端完成一次文件同步过程。
该文件同步过程中,SERVER端本身设计成一个被动的过程,所有的动作都根据CLIENT端发过来的命令来进行,因此CLIENT是一个主发端,对CLIENT端的文件同步过程设计了几种状态,用来决定程序流程(参见图2),包括以下状态:
1.LINK LOST状态表明当前CLIENT端与SERVER端的链路还没有建立起来,等待链路建立;
2.LINK KEEP状态表明当前与SERVER端的链路已经建立起来,此时应当向SERVER端发送自己的版本文件信息,并进入WAIT SYN ACK状态;
3.WAIT SYN ACK状态表明已把自己的版本信息发送给SERVER端,等待SERVER端的回应,如果在指定时间内还停留在这个状态的话,则回到LINKKEEP状态;若收到SERVER端要求文件同步的要求,则进入READY UPDATE状态;若收到SERVER端不进行文件同步的要求,则进入VER OK状态;
4.READY UPDATE状态表明已到SERVER端要求更新的要求,进行更新前的准备工作;
5.UPDATE状态表明处于接收文件的状态,收到文件数据后,如果检查无误,则对文件进行更新,否则丢掉;
6.COMPLETE状态表明已经收到SERVER端发过来的结束报文;
7.VER OK状态表明文件更新已结束。
本发明其有益效果为,以主控制板为版本管理的服务中心,集中存放了所有线卡的版本文件,实现了线卡上电后BOOTROM主动向主控制板请求同步版本文件、主控制板强制同步线卡版本文件和BOOTROM、主备板之间版本文件同步的多种版本文件管理方法。所述方法不仅保证了主控制板与各线卡之间版本文件的一致性、及时性,而且使得该分布式系统的版本文件管理更简单灵活、易于扩展。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明方法中文件同步流程图
图2为本发明方法中CLIENT端状态变迁图。
图3为本发明方法中实施例的流程图a。
图4为本发明方法中实施例的流程图b。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
根据本发明技术方案,这里以一数据通信设备为例,本实施例中的数据通信设备包括了一块主控制板、一块备用控制板、若干线卡及用于上述单板连接的网络。所有上述单板都包括了CPU、EPROM、FLASH、CPU运行所需的BOOTROM、可执行的应用程序文件等必要资源,FLASH存储有可执行的程序文件,通过FLASH文件系统,可以读写FLASH上的文件。各单板上电后CPU首先开始从EPROM处执行BOOTROM程序,在执行各自应用程序之前,需要进行一次文件同步,以达到版本更新后能及时生效。
参见图3,方案中的文件同步包括以下三部分:
1、线卡的BOOTROM主动向主控制板请求版本文件同步,线卡主动同步过程。
线卡上电后CPU从EPROM处执行BOOTROM程序,运行CLIENT端程序,CLIENT端从SLEEP状态进入LINK LOST状态,等待主控SERVER端与其建立链路,待链路建立好后,线卡进入LINK KEEP状态。开始一个文件同步过程,在LINK KEEP状态下,线卡向主控发送文件同步请求,并携带文件版本信息及需同步的文件名。主控在收到文件同步请求后,将本地保存的文件信息与线卡发送的版本文件信息进行比较,并将比较结果发回给线卡;线卡收到文件信息比较结果,若文件相同,则不需要进行文件同步,线卡的CPU直接执行保存在本地FLASH上的应用程序版本文件;若文件不同,线卡转入接收文件传输状态,并向主控发送文件数据传输请求;主控收到线卡的文件数据传输请求,顺序发送文件数据给线卡;端接收到文件数据,对文件进行更新;该过程一直重复,直到主控发送最后一包文件数据给线卡,线卡收到并更新文件后,向主控发送文件传输完毕命令。完成一个文件同步过程后,线卡的BOOTROM程序将执行本地FLASH上的应用程序文件。
2、主控强制同步线卡版本文件和BOOTROM,主控强制同步线卡文件。
主控的SERVER端发送强制同步文件的命令给线卡的CLIENT端,线卡收到该命令后从SLEEP状态转入LINK KEEP状态,此时开始一个文件同步过程,线卡向主控发送自己的版本文件信息;主控不同类型的强制同步文件命令,可以指定所同步的文件是版本文件还是BOOTROM文件;主控的不同类型强制同步文件命令,可以指定同步不同的版本文件至线卡。
3、主备板之间的文件同步,主用控制板同步备用控制板上的版本文件。
主备板之间版本文件同步。主备控制板中都同时有SERVER和CLIENT程序,因此控制板作为SERVER端,同时也是一个CLIENT端,该CLIENT端平常是处于SLEEP状态,系统可以对其进行唤醒,使其转入LINK KEEP状态,开始一个同步过程。主备板之间版本文件同步,是指主用控制板上的文件来同步更新备用控制板上的文件,主用控制板的SERVER端发送强制同步文件命令给备用控制板的CLIENT端,备用控制板的CLIENT端收到该命令后转入LINK KEEP状态,此时备用控制板的CLIENT端向主用控制板SERVER端发送自己的版本文件信息,开始一个文件同步的过程。
另外,主控板SERVER端为文件同步的服务中心,集中存放了所有CLIENT端的版本文件,可对多个CLIENT同时进行文件同步,且易于扩展(参见图4)。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (6)
1.一种分布式系统中的版本管理实现方法,该方法将主控制板作为被动的SERVER端,线卡及备用控制板作为CLIENT端;所述方法包括:
a.线卡的BOOTROM主动向主控制板请求版本文件同步机制;
b.主备板之间版本文件同步机制;
其特征在于,所述方法的具体步骤为:
(1)SERVER端无限等待CLIENT端发送的版本文件同步请求,若收到CLIENT端发送的文件同步请求,则建立一个与此CLIENT端对应的SESSION;
(2)CLIENT端向SERVER端发送文件同步请求,并携带版本文件信息;
(3)SERVER端将本地保存的版本文件信息与步骤(2)中CLIENT端发送的版本文件信息进行比较,并将比较结果发回给CLIENT端;
(4)CLIENT端根据比较结果决定是否进行文件更新,若比较结果为不相同,需要进行文件更新,跳转至下一步;若比较结果相同,则不需要进行文件更新,跳转至步骤(10);
(5)CLIENT端向SERVER端发送文件数据传输请求,然后转入接收文件传输状态;
(6)SERVER端收到CLIENT端的文件数据传输请求,顺序发送文件数据给CLIENT端;
(7)CLIENT端接收到文件数据,若校验核对OK,则对本地文件进行更新,相应文件指针也进行更新,并再向SERVER端发送文件数据请求,流程转至步骤(6),直至最后一包文件数据;若校验核对有ERROR,则向SERVER端发送重新传输该文件数据请求;
(8)SERVER端发送最后一包文件数据给CLIENT端;CLIENT端收到并更新文件,同时识别出是最后一包文件数据,向SERVER端发送文件传输完毕命令;
(9)SERVER端收到文件传输完毕命令,释放对应CLIENT端的SESSION,流程转至步骤(1),重新进入等待CLIENT端发送文件同步请求状态;
(10)CLIENT端完成一次文件同步过程;
所述机制b具体过程为:主控制板的SERVER端发送强制同步文件命令给备用控制板的CLIENT端,备用控制板的CLIENT端收到该命令后转入LINKKEEP状态,此时备用控制板的CLIENT端向主控制板SERVER端发送自己的版本文件信息,开始一个文件同步的过程;
所述LINK KEEP状态表明当前与SERVER端的链路已经建立起来,此时CLIENT端向SERVER端发送自己的版本文件信息,LINK KEEP状态是一次文件同步过程的开始。
2.根据权利要求1的分布式系统中的版本管理实现方法,其特征在于,所述机制a具体过程为:线卡在BOOTROM启动后,自动寻找最新的版本文件,线卡主动向主控制板请求同步版本文件;在BOOTROM中,线卡主动向主控制板SERVER端发送文件同步请求,并携带版本信息及同步的文件名;主控制板的SERVER端在收到文件同步请求后,将本地保存的版本文件信息与CLIENT端发送的版本文件信息进行比较,并将比较结果发回给CLIENT端;线卡CLIENT端收到文件信息比较结果,若文件相同,说明CLIENT端上的版本文件和SERVER端上的版本文件是一致的,则不需要进行文件同步,线卡的CPU直接执行应用程序版本文件;若文件不同,则CLIENT端向SERVER端发送文件数据传输请求,继续文件同步过程。
3.根据权利要求1的分布式系统中的版本管理实现方法,其特征在于,所述机制b中主控制板和备用控制板中都同时有SERVER和CLIENT程序,因此主控制板作为SERVER端,同时也是一个CLIENT端,该CLIENT端平常是处于睡眠态,系统可以对其进行唤醒,使其转入LINK KEEP状态,开始一个同步过程。
4.根据权利要求1的分布式系统中的版本管理实现方法,其特征在于,所述CLIENT端的文件同步过程中的状态,用来决定程序流程,其状态包括:
(1)LINK LOST状态表明当前CLIENT端与SERVER端的链路还没有建立起来,等待链路建立;
(2)LINK KEEP状态表明当前与SERVER端的链路已经建立起来,此时应当向SERVER端发送自己的版本文件信息,并进入WAIT SYNACK状态;LINK KEEP状态是一次文件同步过程的开始;
(3)WAIT SYN ACK状态表明已把自己的版本信息发送给SERVER端,等待SERVER端的回应,如果在指定时间内还停留在这个状态的话,则回到LINK KEEP状态;若收到SERVER端要求文件同步的要求,则进入READY UPDATE状态;若收到SERVER端不进行文件同步的要求,则进入VER OK状态;
(4)READY UPDATE状态表明已到SERVER端要求更新的要求,进行更新前的准备工作;
(5)UPDATE状态表明处于接收文件的状态,收到文件数据后,如果检查无误,则对文件进行更新,否则丢掉;
(6)COMPLETE状态表明已经收到SERVER端发过来的最后一包文件数据报文;
(7)VER OK状态表明文件更新已结束。
5.根据权利要求1的分布式系统中的版本管理实现方法,其特征在于,所述方法中SERVER端本身设计成一个被动的过程,所有的动作都根据CLIENT端发过来的命令来进行。
6.根据权利要求1的分布式系统中的版本管理实现方法,其特征在于,所述方法以主控制板SERVER端为文件同步的服务中心,集中存放了所有CLIENT端的版本文件,可对多个CLIENT端进行文件同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100325807A CN101483576B (zh) | 2008-01-11 | 2008-01-11 | 一种分布式系统中的版本管理实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100325807A CN101483576B (zh) | 2008-01-11 | 2008-01-11 | 一种分布式系统中的版本管理实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101483576A CN101483576A (zh) | 2009-07-15 |
CN101483576B true CN101483576B (zh) | 2012-07-25 |
Family
ID=40880517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100325807A Expired - Fee Related CN101483576B (zh) | 2008-01-11 | 2008-01-11 | 一种分布式系统中的版本管理实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483576B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604284B (zh) * | 2009-07-24 | 2012-05-23 | 杭州华三通信技术有限公司 | 一种保存启动信息的方法及多单板设备 |
CN101631044B (zh) * | 2009-08-24 | 2012-05-09 | 中兴通讯股份有限公司 | 通信设备平滑升级方法及系统 |
CN102043644B (zh) * | 2009-10-12 | 2015-07-22 | 中兴通讯股份有限公司 | 一种线卡主程序的升级方法及装置 |
CN102238020A (zh) * | 2010-04-21 | 2011-11-09 | 杭州华三通信技术有限公司 | 实现多设备统一管理的方法、汇聚交换机以及接入交换机 |
CN101964820B (zh) * | 2010-10-08 | 2014-04-09 | 中兴通讯股份有限公司 | 一种保持数据一致性的方法及系统 |
CN102073523B (zh) * | 2011-01-19 | 2016-07-06 | 中兴通讯股份有限公司 | 实现软件版本同步的方法及装置 |
CN103763087B (zh) * | 2014-01-20 | 2020-05-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104883271B (zh) * | 2015-04-20 | 2018-11-06 | 南车株洲电力机车研究所有限公司 | 一种列车整车程序单点更新方法 |
CN106682040A (zh) * | 2015-11-11 | 2017-05-17 | 中兴通讯股份有限公司 | 数据管理方法及装置 |
CN107948220B (zh) * | 2016-10-12 | 2021-01-08 | 百度在线网络技术(北京)有限公司 | 通讯录云服务的同步方法和装置 |
CN106878379B (zh) * | 2016-12-26 | 2020-05-12 | 新华三技术有限公司 | 一种启动控制方法及装置 |
CN109189467B (zh) * | 2018-07-24 | 2022-05-20 | 南京航空航天大学金城学院 | 一种分布式环境下软件版本控制方法 |
CN109992570A (zh) * | 2019-03-11 | 2019-07-09 | 上海博达数据通信有限公司 | 一种嵌入式系统的文件同步方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489047A (zh) * | 2002-10-09 | 2004-04-14 | 华为技术有限公司 | 嵌入式系统中软件补丁的加载与同步的方法 |
CN101035326A (zh) * | 2007-04-24 | 2007-09-12 | 中兴通讯股份有限公司 | 一种通讯系统主备板存储版本自动同步的方法 |
-
2008
- 2008-01-11 CN CN2008100325807A patent/CN101483576B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489047A (zh) * | 2002-10-09 | 2004-04-14 | 华为技术有限公司 | 嵌入式系统中软件补丁的加载与同步的方法 |
CN101035326A (zh) * | 2007-04-24 | 2007-09-12 | 中兴通讯股份有限公司 | 一种通讯系统主备板存储版本自动同步的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101483576A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101483576B (zh) | 一种分布式系统中的版本管理实现方法 | |
US11520808B2 (en) | System and method for synchronizing data between communication devices in a networked environment without a central server | |
CN101573940B (zh) | 用于tcp高可用性的方法和装置 | |
US9979784B2 (en) | Method for cloud data backup and recovery | |
CN102185718B (zh) | 一种系统升级方法及其装置 | |
CN101883108B (zh) | 动态认证的文件传输方法及系统 | |
CN101227428B (zh) | 一种应用服务器及其远程控制方法 | |
CN105677380B (zh) | 一种双主控隔离的逐板升级的方法及装置 | |
WO2017024688A1 (zh) | 一种可在系统升级过程中不中断业务的控制方法及系统 | |
CN102811136A (zh) | 软件升级系统及方法 | |
CN103023988A (zh) | 文件同步方法、服务器、客户端及终端设备 | |
CN101267341A (zh) | 一种分布式网络管理系统、网管服务器和方法 | |
CN104615455A (zh) | 一种atca架构的ipmc程序远程升级方法及装置 | |
CN101472050A (zh) | 一种软件升级方法、系统、数字电视接收终端及服务器 | |
CN101114941A (zh) | 主从设备中从设备获得配置数据的方法 | |
CN100512474C (zh) | 一种通讯系统主备板存储版本自动同步的方法 | |
CN100527661C (zh) | 一种实现多时钟同步的方法及系统 | |
FI120286B (fi) | Menetelmä ja laitejärjestely palvelin-asiakaslaite-ympäristön hallitsemiseksi | |
CN105635222A (zh) | 云终端升级方法、系统、网管服务器及代理服务器 | |
CN102707976A (zh) | 一种atca系统及其管理固件版本的方法 | |
CN101739406A (zh) | 双控制器上文件服务操作的同步方法 | |
CN101707785A (zh) | 移动通讯终端的数据同步方法 | |
CN107147651B (zh) | 一种灰度发布系统及其发布方法 | |
CN105743669A (zh) | 一种数据通信方法和装置 | |
CN114138895A (zh) | 多数据源的数据同步方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20220111 |