CN103595707A - 一种基于svn的文件自动网络同步方法 - Google Patents

一种基于svn的文件自动网络同步方法 Download PDF

Info

Publication number
CN103595707A
CN103595707A CN201310488067.XA CN201310488067A CN103595707A CN 103595707 A CN103595707 A CN 103595707A CN 201310488067 A CN201310488067 A CN 201310488067A CN 103595707 A CN103595707 A CN 103595707A
Authority
CN
China
Prior art keywords
file
client
server
version number
svn
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.)
Pending
Application number
CN201310488067.XA
Other languages
English (en)
Inventor
朱广名
陈宏辉
胡铁斌
邹剑
吴锡武
李文朝
任永伟
吴海勇
刘仲尧
孔海滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd
Dongfang Electronics Co Ltd
Original Assignee
Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd filed Critical Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd
Priority to CN201310488067.XA priority Critical patent/CN103595707A/zh
Publication of CN103595707A publication Critical patent/CN103595707A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的目的在于提供一种基于SVN的文件自动网络同步方法,包括服务器端处理流程和客户端处理流程。本方法能够实现文件在局域网内任一节点提交后,所有节点在需要时自动网络同步的一种文件自动网络同步方案。本发明能够实现文件实时同步,从而能实现快速本地打开文件的目的。

Description

一种基于SVN的文件自动网络同步方法
技术领域
本发明涉及电网系统文件数据传输技术领域,具体来说是一种电力系统自动化领域的图形文件和配置文件的网络同步的方法。
背景技术
SVN,(Subversion,即文件版本管理),是近年来崛起的文件版本管理软件,是cvs的接班人,是一个自由,开源的版本控制系统。在SVN管理下,文件和目录可以超越时空。Subversion可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。
SOA(service-oriented architecture即面向服务架构),面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
本发明在SVN提供的文件版本管理服务的基础上,在服务器端和客户端都采用内存映像文件记录仓库中各个文件的版本号和文件MD5值,以方便服务器和客户端进行文件的MD5值对比,在服务器端应用多线程和SOA接口响应客户端的请求,在客户端应用多线程和任务池技术提交请求,从而实现为所有需要提供文件网络同步的节点提供快速文件同步的服务。
发明内容
本发明的目的在于提供一种基于SVN的文件自动网络同步方法,能够实现文件在局域网内任一节点提交后,所有节点在需要时自动网络同步的一种文件自动网络同步方案。本发明能够实现文件实时同步,从而能实现快速本地打开文件的目的。
本发明的目的可通过以下的技术措施来实现:
本发明是一种基于SVN的文件自动网络同步方法,包括服务器端处理流程和客户端处理流程,具体步骤如下:
服务器端处理流程如下:
1.服务器端守护RFS(resource file system,即资源文件管理系统)服务。
2.RFS服务启动时,加载服务器端内存映像文件,映像文件中记录有服务器端文件系统的主版本号,还记录了服务器端所有需要网络同步的文件的基本资料,比如文件版本号,文件的MD5值,文件状态等。内存映像文件相当于一本书的目录,各个需要网络同步的文件相当于一本书的内容,当一本书的内容发生改变后,目录也会发生改变。
3.RFS服务启动后,会维持一个线程,负责处理并维护服务器的内存映像文件和日常事务,比如文件的网络删除,文件状态的改变,文件加锁解锁等。
4.当检测到客户端的请求后,RFS服务通过SOA接口响应客户端的请求,比如文件上传,文件下载,内存映像文件内容的下载等。当服务结束后,自动关闭连接。
5.对于文件上传等会改变文件内容或者文件状态的请求,RFS服务会首先把文件提交到SVN服务器,提交成功后会获取到SVN新生成的一个文件版本号,然后用这个版本号来更新自己的内存映像文件中的文件系统的主版本号和上传文件的版本号。由于主版本号更新,当客户端询问服务器,发现服务器上主版本号和自己的主版本号不一致,就会触发客户端主动去下载刚才被上传的文件。
客户端处理流程如下:
1.启动任意一个包含网络同步客户端模块的进程,比如绘图包或者调度员界面。
2.网络同步客户端模块在启动时,加载客户端内存映像文件,映像文件中记录了客户端文件系统主版本号,还记录了客户端所有需要网络同步的文件的基本资料,比如文件版本号,文件的MD5值,文件状态等。
3.客户端启动后,会维持一个线程,线程会每隔3秒检查自己的客户端文件系统主版本号和服务器上的服务器端文件系统主版本号是否一致,如果不一致,就会向服务器发起索要服务器端内存映像文件相对于自己变化内容的请求,也即增量的方式的请求。
4.请求返回后,客户端会把返回内容和本地内存映像文件中信息做对比,比较文件的版本号和文件的MD5值,如果不一致。就发起对不一致的文件的下载请求。
5.文件成功下载后,客户端会更新自己的内存映像文件,使之和服务器端一致。然后继续每隔3秒一次的轮询。
6.上面5个步骤是增量方式检查文件一致性,然后下载。线程还会每隔一个小时把自己的内存映像文件和服务器端的内存映像文件进行全局对比,检查是否有不一致的文件,然后下载。所述增量方式即只检查每次比对后新修改的内容。
7.客户端还可通过操作界面或者命令行方式进行文件网络保存,查看文件保存日志。下载指定文件的指定版本,网络删除指定文件等操作。
本发明对比现有技术具有如下优点:
1.文件网络同步实现高度自动化。
2.客户端节点不需要一直在线,当客户端节点在停机一端日子后重新开机,RFS客户端进程会自动把所有需要更新的文件自动更新一遍。
3.以SVN服务为基础,可方便的导出文件的任意一个版本。
4.采用SOA,使得网络交互服务接口和协议都很容易扩展。比如目前就采用了SOAP和THRIFT两种协议。
5.服务器端对被下载的文件建立内存缓存,从而能快速提供所有节点对同一个文件的集中式下载。
6.客户端节点不需要配置守护进程,文件会在需要查看时自动网络同步。
7.客户端请求采用线程任务池,实现兼顾效率和减轻服务器负荷。
8.模块化设计,可方便的嵌入有网络同步需求的应用程序中。
附图说明
图1是本发明的系统架构图。
具体实施方式
如图1所示,SVN服务器只需要一台。RFS服务器可以配置多台,一般情况下只需配置两台互为备用。主RFS服务器负责响应客户的请求,备RFS服务器作为热备用,维持自己的状态和主服务器一致,在主RFS服务器退出后,备RFS服务器立即升级为主RFS服务器,并立刻对客户端提供服务。
对于文件网络同步的客户端节点,不需要有专门守护的进程用来维持文件的同步。因为当任意一个调用了RFS客户端动态库的进程运行起来后,这个进程实际上就自动成为一个RFS客户端进程。当一个节点上有多个RFS客户端时,只有一个进程是主RFS客户端进程。主RFS客户端进程负责维护和服务器上文件的同步。
假定当前有三台节点:Service1,Client1,Client2。Service1上运行了SVN服务和RFS服务。在Client1上有一个文件名为checkin.svg的文件需要网络同步。当Client1对checkin.svg提交后,Client2需要实现自动同步。
1.客户端提交文件
Client1在RFS客户端进程对checkin.svg做提交操作(即网络保存),那么首先Client1的RFS客户端进程会对checkin.svg计算MD5值,然后用算出来的MD5值和客户端内存映像文件中checkin.svg的MD5值进行对比,如果不一致,表示文件有改动,那么就会通过SOA接口向Service1上的RFS服务提交该文件。
2.服务器端修改文件系统版本号
Service1接受请求,接收客户端发过来的checkin.svg文件,然后通过SVNAPI接口函数把checkin.svg文件提交到SVN得仓库里,文件成功提交后,SVN会把最新版本号加1后返回给RFS服务器。RFS服务器就会把这个返回的版本号作为自己的内存映像文件的主版本号,同时也会把这个版本号作为checkin.svg文件的版本号。
3.其它客户端下载文件
Client2上的RFS客户端进程,也包括Service1的RFS客户端进程,会每隔3秒向Service1的RFS服务器进程询问服务器文件系统主版本号,会发现服务器上主版本号比自己的主版本号要大。那么RFS客户端进程就会向服务器端请求所有大于自己主版本号的服务器端的文件列表。请求到被改动的文件列表后,就和自己内存映像文件的内容进行对比,会发现checkin.svg文件的MD5值和本地不一致或者本地根本没有这个文件的记录信息,那么RFS客户端就从Service1的RFS服务器进程哪儿请求下载checkin.svg文件,同时更新自己的客户端内存映像文件,使之和服务器端保持一致。
本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。

Claims (8)

1.一种基于SVN的文件自动网络同步方法,包括服务器端处理流程和客户端处理流程,其特征在于:
服务器端处理流程如下:
1.1)服务器端守护资源文件管理系统(resource file system,RFS)服务;
1.2)RFS服务启动时,加载服务器端内存映像文件,映像文件中记录有服务器端文件系统的主版本号,还记录了服务器端所有需要网络同步的文件的基本资料;
1.3)RFS服务启动后,会维持一个线程,负责处理并维护服务器的内存映像文件和日常事务;
1.4)当检测到客户端的请求后,RFS服务通过SOA接口响应客户端的请求,并进行相应的服务,当服务结束后,自动关闭连接;
客户端处理流程如下:
2.1)启动任意一个包含网络同步客户端模块的进程;
2.2)网络同步客户端模块在启动时,加载客户端内存映像文件,映像文件中记录了客户端文件系统主版本号,还记录了客户端所有需要网络同步的文件的基本资料;
2.3)客户端启动后,会维持一个线程,线程会每隔3秒检查自己的客户端文件系统主版本号和服务器上的服务器端文件系统主版本号是否一致,如果不一致,就会向服务器发起索要服务器端内存映像文件相对于自己变化内容的请求;
2.4)请求返回后,客户端会把返回内容和本地内存映像文件中信息做对比,如果不一致,则发起对不一致的文件的下载请求;
2.5)文件成功下载后,客户端会更新自己的内存映像文件,使之和服务器端一致;然后继续每隔3秒一次的轮询。
2.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述需要网络同步的文件的基本资料包括文件版本号、文件的MD5值、文件状态。
3.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述处理并维护服务器的内存映像文件和日常事务包括文件的网络删除、文件状态的改变、文件加锁解锁。
4.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述客户端的请求包括文件上传,文件下载,内存映像文件内容的下载。
5.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述服务器对客户端请求的服务过程包括:对于会改变文件内容或者文件状态的请求,RFS服务会首先把文件提交到SVN服务器,提交成功后会获取到SVN新生成的一个文件版本号,然后用这个版本号来更新自己的内存映像文件中的文件系统的主版本号和上传文件的版本号;由于主版本号更新,当客户端询问服务器,发现服务器上主版本号和自己的主版本号不一致,则触发客户端主动去下载刚才被上传的文件。
6.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述包含网络同步客户端模块的进程包括绘图包和调度员界面以及其它需要网络同步文件服务的进程。
7.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述客户端处理流程还包括以增量方式检查文件一致性,然后下载;所述线程还会每隔一个小时把自己的内存映像文件和服务器端的内存映像文件进行全局对比,检查是否有不一致的文件,然后下载;所述增量方式即只检查每次比对后新修改的内容。
8.根据权利要求1所述的基于SVN的文件自动网络同步方法,其特征在于:所述客户端还通过操作界面或者命令行方式进行文件网络保存,查看文件保存日志;下载指定文件的指定版本,网络删除指定文件。
CN201310488067.XA 2013-10-17 2013-10-17 一种基于svn的文件自动网络同步方法 Pending CN103595707A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310488067.XA CN103595707A (zh) 2013-10-17 2013-10-17 一种基于svn的文件自动网络同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310488067.XA CN103595707A (zh) 2013-10-17 2013-10-17 一种基于svn的文件自动网络同步方法

Publications (1)

Publication Number Publication Date
CN103595707A true CN103595707A (zh) 2014-02-19

Family

ID=50085689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310488067.XA Pending CN103595707A (zh) 2013-10-17 2013-10-17 一种基于svn的文件自动网络同步方法

Country Status (1)

Country Link
CN (1) CN103595707A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320469A (zh) * 2014-10-29 2015-01-28 北京思特奇信息技术股份有限公司 一种基于svn的增量变化数据分析下载方法及系统
CN106202461A (zh) * 2016-07-13 2016-12-07 广东电网有限责任公司 一种同步方法及装置
CN107451172A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
CN107861858A (zh) * 2017-12-04 2018-03-30 网易(杭州)网络有限公司 文件检测方法和装置、存储介质及处理器
CN108449415A (zh) * 2018-03-27 2018-08-24 深圳中兴网信科技有限公司 数据同步方法、数据同步装置、计算机设备和存储介质
CN109684283A (zh) * 2018-12-24 2019-04-26 国电南瑞科技股份有限公司 一种移动应用cim/g文件本地缓存方法、系统及设备
CN114553961A (zh) * 2022-01-06 2022-05-27 厦门游动网络科技有限公司 一种自动刷新全球cdn的方法、系统、装置和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064630A (zh) * 2006-04-24 2007-10-31 华为技术有限公司 一种数据同步方法及系统
CN101453418A (zh) * 2007-12-05 2009-06-10 高德软件有限公司 客户端与服务器同步的更新方法
WO2009127984A1 (en) * 2008-04-18 2009-10-22 International Business Machines Corporation Authentication of data communications
CN101572724A (zh) * 2009-03-05 2009-11-04 国电南瑞科技股份有限公司 一种软件版本管理系统
CN102195804A (zh) * 2011-03-10 2011-09-21 易程(苏州)软件股份有限公司 软件自动更新方法及其系统
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064630A (zh) * 2006-04-24 2007-10-31 华为技术有限公司 一种数据同步方法及系统
CN101453418A (zh) * 2007-12-05 2009-06-10 高德软件有限公司 客户端与服务器同步的更新方法
WO2009127984A1 (en) * 2008-04-18 2009-10-22 International Business Machines Corporation Authentication of data communications
CN101572724A (zh) * 2009-03-05 2009-11-04 国电南瑞科技股份有限公司 一种软件版本管理系统
CN102195804A (zh) * 2011-03-10 2011-09-21 易程(苏州)软件股份有限公司 软件自动更新方法及其系统
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BEN COLLINS-SUSSMAN,BRIAN W. FITZPATRICK,C. MICHAEL PILATO: "《Subversion 权威指南——针对 Subversion 1.5(根据 r3301 编译)》", 31 December 2008 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320469A (zh) * 2014-10-29 2015-01-28 北京思特奇信息技术股份有限公司 一种基于svn的增量变化数据分析下载方法及系统
CN104320469B (zh) * 2014-10-29 2018-04-17 北京思特奇信息技术股份有限公司 一种基于svn的增量变化数据分析下载方法及系统
CN107451172A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
CN107451172B (zh) * 2016-03-31 2021-05-28 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
CN106202461A (zh) * 2016-07-13 2016-12-07 广东电网有限责任公司 一种同步方法及装置
CN106202461B (zh) * 2016-07-13 2019-09-13 广东电网有限责任公司 一种同步方法及装置
CN107861858A (zh) * 2017-12-04 2018-03-30 网易(杭州)网络有限公司 文件检测方法和装置、存储介质及处理器
CN108449415A (zh) * 2018-03-27 2018-08-24 深圳中兴网信科技有限公司 数据同步方法、数据同步装置、计算机设备和存储介质
CN109684283A (zh) * 2018-12-24 2019-04-26 国电南瑞科技股份有限公司 一种移动应用cim/g文件本地缓存方法、系统及设备
CN114553961A (zh) * 2022-01-06 2022-05-27 厦门游动网络科技有限公司 一种自动刷新全球cdn的方法、系统、装置和介质

Similar Documents

Publication Publication Date Title
CN103595707A (zh) 一种基于svn的文件自动网络同步方法
US20200356448A1 (en) Manifest-based snapshots in distributed computing environments
KR102162872B1 (ko) 멀티 타스크 스케줄링 방법, 시스템, 애플리케이션 서버 및 컴퓨터 판독 가능한 저장매체
CN106685691B (zh) 物联网系统中终端设备的高效更新配置方法
CN105224351B (zh) 快速配置实现方法及快速配置服务器
CN111027921B (zh) 一种业务处理方法、装置及电子设备和存储介质
CN106681956A (zh) 一种大规模计算机集群的操作方法及装置
CN108345482A (zh) 动态页面自定义编辑方法、装置、电子设备及存储介质
CN102611745B (zh) 文件在线迁移方法、装置和系统
CN104994177B (zh) 网盘系统的同步方法、终端设备和网盘系统
CN104423960A (zh) 一种项目持续集成的方法及系统
CN103873502A (zh) 缓存更新方法及系统、提供更新资源的方法及系统
CN104065517A (zh) 分布式系统软件配置管理方法和系统
CN104657497A (zh) 一种基于分布式计算的海量用电信息并行计算系统及方法
CN102752394B (zh) 面向集群站点的发布控制方法和系统
CN105335472A (zh) 一种更新数据查询引擎配置列表的方法及装置
WO2019027597A1 (en) WORKFLOW MANAGEMENT FRAMEWORK
CN103036855A (zh) 一种权限管理的实现设备和方法
CN102422276B (zh) 在双向同步期间同步自引用字段
CN102281312A (zh) 一种数据加载方法、系统和数据处理方法、系统
CN110784347A (zh) 一种容器集群的节点管理方法、系统、设备及存储介质
CN103310304B (zh) 流程模型的管理方法和装置
JP6610189B2 (ja) 協働文書のオンライン文書管理システムとの同期
CN101834729A (zh) 一种业务流程分发处理系统
US20160098343A1 (en) System and method for smart framework for network backup software debugging

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: DONGFANG ELECTRONICS CORP.

Effective date: 20141009

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Ren Yongwei

Inventor after: Li Wenchao

Inventor after: Wu Haiyong

Inventor after: Zhu Guangming

Inventor after: Liu Zhongyao

Inventor after: Kong Haibin

Inventor after: Chen Honghui

Inventor after: Hu Tiebin

Inventor after: Zou Jian

Inventor after: Wu Xiwu

Inventor before: Zhu Guangming

Inventor before: Kong Haibin

Inventor before: Chen Honghui

Inventor before: Hu Tiebin

Inventor before: Zou Jian

Inventor before: Wu Xiwu

Inventor before: Li Wenchao

Inventor before: Ren Yongwei

Inventor before: Wu Haiyong

Inventor before: Liu Zhongyao

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHU GUANGMING CHEN HONGHUI HU TIEBIN ZOU JIAN WU XIWU LI WENCHAO REN YONGWEI WU HAIYONG LIU ZHONGYAO KONG HAIBIN TO: REN YONGWEI WU HAIYONG ZHU GUANGMING LIU ZHONGYAO KONG HAIBIN CHEN HONGHUI HU TIEBIN ZOU JIAN WU XIWU LI WENCHAO

TA01 Transfer of patent application right

Effective date of registration: 20141009

Address after: 525000 Guangdong Province, Maoming City, Guan Shan Road, No. four, No. 2

Applicant after: Maoming Power Supply Bureau, Guangdong Grid Co., Ltd.

Applicant after: Dongfang Electronics Corp.

Address before: 525000 Guangdong Province, Maoming City, Guan Shan Road, No. four, No. 2

Applicant before: Maoming Power Supply Bureau, Guangdong Grid Co., Ltd.

RJ01 Rejection of invention patent application after publication

Application publication date: 20140219

RJ01 Rejection of invention patent application after publication