基于移动软件代理的跨网络文件同步方法

文档序号:7945928阅读:220来源:国知局
专利名称:基于移动软件代理的跨网络文件同步方法
技术领域
本发明涉及一种计算机网络间文件同步的方法,属于计算机应用领域,特别是使用 了移动软件代理技术,实现了跨网络的文件同步。
背景技术
随着个人计算设备的大量普及和移动办公的需求越来越广泛,在各类异构的网络中 进行个人文件系统共享的需求日益突出。人们己不再满足于"打包->网络传输一>解压" 的手工同步文件系统的方式,期望有一种自动化的过程完成这一工作。此外,虽然现存 很多文件同步工具,但都只具备本地同步或局域网内同步能力,不能适应如办公室和家 庭计算设备之间的跨网络远程同步需要。
一种好的文件同步系统,不仅能适应复杂的网络拓扑结构,完成跨网络文件同步功 能,同时还要具备高效,易用的特点。

发明内容
本发明的目的是针对现有文件同步软件能力的不足,提供了一种基于移动软件代理 的网络文件同步方法。该方法可以探测用户相关文件的变化,并利用移动软件代理将文 件的变化反应到网络上需同步的计算机。该系统对网络结构具有较好的适应能力,并能 智能的减少同步时的网络负载,提高同步效率。
本系统提供一种基于移动软件代理技术的文件同步方案,它包括
同步源主机同步文件被读取的主机,亦即接受同步软件代理的主机。
同步目的主机同步文件被写入的主机,亦即用户提出同步请求的主机,以及发送 同步软件代理的主机。
同步区用户指定的两台同步主机之间需要保持一致的文件或文件夹,同步点需要 在两台主机上一一对应。用户可以建立多个同步点。
同步源点同步源主机上的同步区。
同步目的点同步目的主机上的同步区。
文件同步代理 一种可以进行跨网络移动,进行指定个人文件同步的软件代理。 系统监控并同步用户指定的同步区,具体步骤包括 1)由用户在同步点两端确定文件同步点及相关设置;2) 探测源点文件系统变化信息;
3) 使用移动软件代理技术进行网络穿透;
4) 文件同步代理在两同步设备之间比较文件变动情况;
5) 文件同步代理进行数据传输,同步个人文件;
此外,在同步过程中,对需要同步的大文件,同步软件代理会在出发前将这些大文 件划分成若干块,计算每一块的散列(如MD5),并携带这些散列到达同步源主机。在 源主机,同步软件代理页计算源文件相应每一块的散列,当且仅当散列值不符时,那一 块才被携带会目的主机,从而有效的减小网络负载,提高同步效率。
本发明与现有技术相比,优点在于使用移动软件代理技术,网络拓扑结构适应性 强;另外在同步过程中通过文件监控和大型文件散列技术,智能降低网络负载,达到高 效同步。


图1:系统在局域网上的布局;
图2:系统在互联网上的布局和支撑系统;
图3:新子域的注册流程;
图4:域名査找流程;
图5:移动代理迁移流程;
具体实施例方式
1. 环境要求
1) 两台可以某种网络连接方式直接或间接相连的个人电脑;
2) 两台个人电脑分别安装有个人文件同步服务代理;
3) 在同步过程中电脑必须都处于开启状态且代理服务必须处于开启状态。 所需设备和服务可以部署在局域网或互联网之中,如图1 (局域网)或图2 (互联网)所示。
2. 应用场景
用户在同步源点对苯些文件进行了修改,同步源主机上的文件同步代理会记录这些 被修改的文件。
当用户在目的主机要求进行同步时,目的主机会派遣一个文件同步代理到源主机, 与源主机文件同步代理进行交互,读取变化,携带这些变化的文件到目的主机,并将这些变化写入目的端文件系统,完成同步。 3. 技术描述
1) 文件变化监控
现代操作系统都提供文件系统发生变化时的通知,文件同步代理可以利用这些通知, 记录哪些文件被添加,删除或修改,从而在目的端提出同步请求时,略去未被修改过的 文件,从而减少网络负载和提高同步效率。
2) 大型文件同步优化策略
同步区中可能存在某些大型文件,如数据库文件等。如果在同步过程中将整个文件 通过网络同步,会占用大量网络资源,并降低同步效率。考虑到通常应用程序对这类大 文件的修改不会涉及整个文件,相反它们一般仅会修改文件中的某一块,所以可以采用 分块散列方式加以优化。
具体的说,对需要同步的大文件,同步软件代理会在出发前将这些大文件按一定大 小划分成块,计算每一块的散列(如MD5),并携带这些散列到达同步源主机。在源主 机,同步软件代理页计算源文件相应每一块的散列,当且仅当散列值不符时,那一块才 被携带会目的主机。由于散列大小相对于原有块尺寸大大减小,网络负载减小很多,效 率也大大提高。而在错误率方面,现有很多散列算法(如MD5)在不同数据下产生系 统散列的概率极小,这样进行文件同步也只有极小的概率出现错误。当然如果用户认为 文件十分重要,不允许任何错误,也可以设置完全同步,从而除非传输过程中出现问题, 不会出现同步错误。
3) 软件代理的网络穿透技术
当系统需要在互联网上进行同步时,软件代理的穿透是一个关键环节。其主要 的难题有
a)通常企业为了节省开支以及信息保护的需求,具有自身的局域网,用户使用的 计算机和企业局域网相连,可以直接访问企业局域网内的其它计算机或其它资 源,而当其要访问因特网的时候则必须通过企业网关访问;与此同时,企业外 部的计算机只能够直接访问企业的网关(因为只有它具有公网合法IP)。这样就
导致企业外部的计算机无法直接访问企业内部的计算机。当用户家中网络和办 公室网络都分属于不同的局域网的时候,情况更加复杂,两台计算机互相都不 可能互相直接访问。b)现如今家庭所使用的绝大部分网络都是ADSL,虽然拨通ADSL可以获得一个 公网IP,可以直接访问因特网,然而其IP地址却是不固定的,每次拨通所获得 的IP地址通常不一样,因此想通过固定的IP地址直接访问用户家庭中的电脑也 难以实现(虽然可以通过动态域名的方式予以解决,但或者不甚稳定,或者需 要支付额外的费用)。
为了解决上述两个主要问题,本发明提出了移动代理跨网段迁移框架,它主要由以 下两个部分组成
路由信息服务(*0"^ ^//1/< /"# < /< /|5^1^6 ^ezy)
该服务包括计算机名服务和基于该名服务的路由信息注册/査询服务。与DNS类似, 这里将网络划分为多个域fZ)owaf"人这里i)wimi'w可定义如下:设计算机^具有m个(物理 的或虚拟的)网络/"to,/flce,其中具有一个/"teryiice与^4的网关连接,称为"p/F,设识为则 所有除去wp/F之外的一个/"紐r/flce(0-^-m-l),且与某物理或虚拟局域网i^V/相连, 则LA/V/中以A为网关的所有计算机的集合为MS鴻,则Z)wiiai'iM可定义为集合 ^ULT^^(当m二1时,即^只具有"/JF时,"tf附fl^只包括一台计算机4);此 时,计算机/1称为Z)柳a^的D柳ai."及o",iitg in/0rma//o" 5"ervi'ce Master-iW /5"M。
从上述定义可以看出,系统中每一台计算机都是一个DifiSM,负责管辖整个 Z)wmif"(可能是多台计算机,也可能就只有其自身);当一个i)JWSM是网关的时候,则 其同时具有另一个身份,即其自身"/,/F所连网络所属i)wmii'i1的成员;由此我们引入 _^麥7^fZWrecZ Z)wim^1, DCC9和^^^fPfirren, Z)owflf/^的概念以Z)owfl&M中除 了 4以外的其它计算机作为ZMf/SM的Dwmw'"称为Z)wmi^4的直麥f裙,相应的 Dwiw&M为这些"wmif/i的义鍵;设DOXSe《4)为Z)owa^4所有直接子域的集合,则 Z)0Wflf^所有子域的集合Cftfo^4人则可定义为
和DNS类似,每个Dtww/"具有一个名(/)rwwf" iVflwie, DiV),用于唯一的标识一个 Z>w W ;由于每个Z)wfiafw都具有一个i)J /M,所以将该的名来命名对应的 Dif/M,这样系统中的每台计算机就都具有一个2)JV,该DiV可以唯一标识该计算机或 者它所管辖的"wiwif";而且,类似DNS,每个子域的名必须以其父域的名作为后缀;
6如果2W ZyM为网关,则它保存着其所管辖的所有直接子域的DJWSM所对应的Dwiw/ii iVawe^liWfeM映射记录(DiVZ4rf(/r wcw^),即蘑磁^^息记;^fKtfiift'iig/"/w附flftVwi及ecwrf, JWR,这些记录存放在"萝籍鍵;^表"(2)OTii^ite JL/rf——i)Z)I;)中。由于一个
DJUSM可以管理多个(物理的或虚拟的)局域网或局域网联盟(即多个通过路由可互相访 问的局域网所组成的整体,联盟中所有计算机可以直接互访),所以每个局域网或局域 网联盟对应与一个DZ)丄;与此同时,DJ /SM还保存着其父域ZM ZSM所保存的与其逻 辑上直接连接(属于同一局域网或局域网联盟)的所有1WMSM所对应的J /及记录,保存 在"雜凝身表"(S聽l麼'D國fw ——SZJ)I:) o
在计算机名服务建立的基础上,/W /SM向其所管辖的计算机,即该Z)wiwH'"直接 子域的ZWWSM提供注册新Doim^/i的服务(图3),子Domain的注册过程如下
1) 设置直接子域的2W /5M配置文件,指定该新Domain的DJV以及其父域的 的IP地址或DNS域名;
2 ) 启动直接子域的Z)^ffM上的Z)wiMr//1及o"rf/ig 5Wr/ce,读取配置
文件,获取DiV以及父域i)JMSM的IP地址或DNS域名;
3) 直接子域的ZWWSM上的Z)wfw/w及做rf"g/"/w附flftVw 5Wrfce向父域Z)^ffM
发送注册信息。信息包括两个内容新PiV和对应的^4rfrfr(IP地址或DNS域 名);
4) 父域2W /SM收到注册信息,如果某个ZM)l中存有记录及,且见Z)A^ZW、 及J(Wi"^^Wr,则返回错误"域名已被使用";否则在本地査询获取该直接 子域所对应的局域网相应的iM)z:,按照以下步骤进行注册更新
a) 如果Z)Z)丄中存有记录及,且及.Z)iV-Z)iV、及J<Wr=/4<W/s转e);否则转b)
b) 如果中存有记录及,且兄DiV^Z)iV、及^4rfrfi^/4rfrfr,则更新该记录 (兄/)Afe/)A0,转d);否则转c)
c) 中不存在上述记录,则添加新的记录及,且及./)^=/)^、 /L4rfrfr=^<Wi , 转d)
d) 通知/)1)£中其它ZWWSM有新的ZWWSM加入,即将更新的RIR记录及发 给2MWL列表中的各个Z)JMSM;e) 将2M)i:发送给新注册的2)iMSM;
f) 结束
5) 各个ZWfi5M在收到更新消息后采取4)中b)c)f)的步骤进行更新(此时不需执 行d)e));
6) 发送注册请求的直接子域的DiWSM如果收到"域名已被使用"的错误,则 重新回到1),设置其Z)iV,然后再次注册;如果收到父域Z)JWSM返回的ZM)£,
则将其设为自身的5x"z:;
7) 注册完成
与此同时,D/WSM向同一主机的其它应用提供Dfwwf/1査询服务(图4)。具体过程 如下
J"/W:待査域名2)iV; 0M尔lrf;转发4rfrffess
1) 检査其各个2M)丄,若找到合适i /及记录则返回对应IP或DNS域名,否则转 2)
2) 如果S丄2)丄存在则检査5XPi,若找到合适Jf/R记录则返回对应IP或DNS 域名,否则转3)
3) 无法找到合适的J /及记录,如果该机具有父域,则直接返回父域的/WWSM的 IP或DNS域名,否则返回"目标域不存在"的错误;
注这里所谓"合适的RIR记录"是指待査域名Z)iV与记录中的/)iV名相同或以 记录中的DiV名结尾。当有多个匹配时,以最长匹配为准。
和DNS直接返回目标域名所对应的IP不同,Z)wiw/"查询服务只有在待查Z)iV所对应 计算机和本机在与其逻辑上直接连接时才返回待查DiV所对应的IP或DNS域名。
*移动迁移服务
拥有了廯磁信〕唐J ^TJW0之后,就可以利用其来实现移动代理的跨网段迁移。迁 移过程可以简单概括为"査询一>转发"(图5),具体过程如下
1)移动代理请求迁移,请求中包括迁移目标计算机的Z)iV;2 )根据目标Domain名查询本机Doma/zi及0W/fg //i/o/7na//o/t Servfce
3) 根据査询结果分别进行以下操作
3.1) 如果査询结果为"目标域不存在"的报错,贝IJ:
a) 如果本机是移动代理迁移的出发端,则直接报错
b) 如果本机是移动代理迁移的中转站,则向上一中转返回该报错
3.2) 如果查询结果为某个^<Wr
a) 如果移动代理来至"p/F,且4<Wr和ii/jJF所对应网络/WWSM的地址相 同,转c);
b) 如果该^Wr所对应的计算机可到达,将移动代理发送至^Wr所对应计 算机,并等待其回复,转5);否则,转c)
c) 报错"目标域不可达"
① 如果本机是移动代理迁移的出发端,则直接报错
② 如果本机是移动代理迁移的中转站,则向上一中转返回该报错
4) 当一台计算机收到一个移动代理后,首先判断是否本机就是迁移目标。如果是, 则恢复移动代理运行,并则向上一中转返回"成功到达"信息;否则进行上述 2)3)步骤。
5) 当计算机收到下一中转返回的"目标域不存在"/ "目标域不可达"的报错或"成 功到达"的信息时,贝IJ:
a) 如果本机是移动代理迁移的出发端,则报错或返回成功信息
b) 如果本机是移动代理迁移的中转站,则向上一中转返回该报错或成功信息 至此,Agent就可以通过各个/)JMSM实现跨网段迁移。
权利要求
1、一种基于移动软件代理的跨网络文件同步方法,其特征在于包括同步源主机同步文件被读取的主机,亦即接受同步软件代理的主机;同步目的主机同步文件被写入的主机,亦即用户提出同步请求的主机,以及发送同步软件代理的主机;同步区用户指定的两台同步主机之间需要保持一致的文件或文件夹,同步点需要在两台主机上一一对应;同步源点同步源主机上的同步区;同步目的点同步目的主机上的同步区;文件同步代理一种进行跨网络移动,进行指定个人文件同步的软件代理;系统监控并同步用户指定的同步区,其步骤包括1)由用户在同步点两端确定文件同步点及相关设置;2)探测源点文件系统变化信息;3)使用移动软件代理跨网段迁移框架进行网络穿透;4)文件同步代理在两同步设备之间比较文件变动情况;5)文件同步代理进行数据传输,同步个人文件。
2、 根据权利要求1所述的基于移动软件代理的跨网络文件同步方法,其特征在于 步骤3)所述使用移动软件代理跨网段迁移框架进行网络穿透包括步骤31) 路由信息服务向子域提供注册新域的能力,向所在域的主机提供域名査询能力;32) 移动软件代理迁移服务。
3、 根据权利要求2所述的基于移动软件代理的跨网络文件同步方法,其特征在于 步骤32)移动软件代理迁移服务的过程包括a. 软件代理迁移请求;b. 査询本机路由信息服务;c. 软件代理传输。
4、 根据权利要求1所述的基于移动软件代理技术的跨网络文件同步系统,其特征在 于步骤3)使用了基于散列的同步优化。
全文摘要
本发明公开了一种基于移动软件代理的跨网络文件同步方法,首先由用户在同步点两端确定文件同步点及相关设置,然后探测源点文件系统变化信息,使用移动软件代理跨网段迁移框架进行网络穿透;文件同步代理在两同步设备之间比较文件变动情况,最后由文件同步代理进行数据传输,同步个人文件。本发明使用移动软件代理技术,网络拓扑结构适应性强,在同步过程中网络智能降低网络负载,达到高效同步。
文档编号H04W56/00GK101534480SQ20091002949
公开日2009年9月16日 申请日期2009年4月14日 优先权日2009年4月14日
发明者建 吕, 陶先平, 骏 马 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1