首页> 中国专利> 基于移动软件代理的跨网络文件同步方法

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

摘要

本发明公开了一种基于移动软件代理的跨网络文件同步方法,首先由用户在同步点两端确定文件同步点及相关设置,然后探测源点文件系统变化信息,使用移动软件代理跨网段迁移框架进行网络穿透;文件同步代理在两同步设备之间比较文件变动情况,最后由文件同步代理进行数据传输,同步个人文件。本发明使用移动软件代理技术,网络拓扑结构适应性强,在同步过程中网络智能降低网络负载,达到高效同步。

著录项

  • 公开/公告号CN101534480A

    专利类型发明专利

  • 公开/公告日2009-09-16

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN200910029496.4

  • 发明设计人 吕建;马骏;陶先平;

    申请日2009-04-14

  • 分类号

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人柏尚春

  • 地址 210093 江苏省南京市汉口路22号

  • 入库时间 2023-12-17 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-05

    未缴年费专利权终止 IPC(主分类):H04W 4/12 专利号:ZL2009100294964 申请日:20090414 授权公告日:20101208

    专利权的终止

  • 2010-12-08

    授权

    授权

  • 2009-11-11

    实质审查的生效

    实质审查的生效

  • 2009-09-16

    公开

    公开

说明书

一、技术领域

本发明涉及一种计算机网络间文件同步的方法,属于计算机应用领域,特别是使用了移动软件代理技术,实现了跨网络的文件同步。

二、背景技术

随着个人计算设备的大量普及和移动办公的需求越来越广泛,在各类异构的网络中进行个人文件系统共享的需求日益突出。人们已不再满足于“打包->网络传输—>解压”的手工同步文件系统的方式,期望有一种自动化的过程完成这一工作。此外,虽然现存很多文件同步工具,但都只具备本地同步或局域网内同步能力,不能适应如办公室和家庭计算设备之间的跨网络远程同步需要。

一种好的文件同步系统,不仅能适应复杂的网络拓扑结构,完成跨网络文件同步功能,同时还要具备高效,易用的特点。

三、发明内容

本发明的目的是针对现有文件同步软件能力的不足,提供了一种基于移动软件代理的网络文件同步方法。该方法可以探测用户相关文件的变化,并利用移动软件代理将文件的变化反应到网络上需同步的计算机。该系统对网络结构具有较好的适应能力,并能智能的减少同步时的网络负载,提高同步效率。

本系统提供一种基于移动软件代理技术的文件同步方案,它包括:

同步源主机:同步文件被读取的主机,亦即接受同步软件代理的主机。

同步目的主机:同步文件被写入的主机,亦即用户提出同步请求的主机,以及发送同步软件代理的主机。

同步区:用户指定的两台同步主机之间需要保持一致的文件或文件夹,同步点需要在两台主机上一一对应。用户可以建立多个同步点。

同步源点:同步源主机上的同步区。

同步目的点:同步目的主机上的同步区。

文件同步代理:一种可以进行跨网络移动,进行指定个人文件同步的软件代理。

系统监控并同步用户指定的同步区,具体步骤包括:

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地址直接访问用户家庭中的电脑也难以实现(虽然可以通过动态域名的方式予以解决,但或者不甚稳定,或者需要支付额外的费用)。

为了解决上述两个主要问题,本发明提出了移动代理跨网段迁移框架,它主要由以下两个部分组成:

●路由信息服务(Routing Information Service,RIS)

该服务包括计算机名服务和基于该名服务的路由信息注册/查询服务。与DNS类似,这里将网络划分为多个域(Domain);这里Domain可定义如下:设计算机A具有m个(物理的或虚拟的)网络Interface,其中具有一个Interface与A的网关连接,称为upIF,设Ifi为则所有除去upIF之外的一个Interface(0=<i<=m-1),且与某物理或虚拟局域网LANi相连,则LANi中以A为网关的所有计算机的集合为MSeti,则DomainA可定义为集合(当m=1时,即A只具有upIF时,DomainA只包括一台计算机:A);此时,计算机A称为DomainA的Domain Routing Information Service Master——DRISM。

从上述定义可以看出,系统中每一台计算机都是一个DRISM,负责管辖整个Domain(可能是多台计算机,也可能就只有其自身);当一个DRISM是网关的时候,则其同时具有另一个身份,即其自身upIF所连网络所属Domain的成员;由此我们引入直接子域(Direct Child Domain,DCD)和父域(Parent Domain)的概念:以DomainA中除了A以外的其它计算机作为DRISM的Domain称为DomainA的直接子域,相应的DomainA为这些Domain的父域;设DCDSet(A)为DomainA所有直接子域的集合,则DomainA所有子域的集合CDSet(A)(则可定义为:

CDSet(A)=DCDSet(A)∪{∪{CDSet(SCDi)|DCDi∈DCDSet(A)}}

和DNS类似,每个Domain具有一个名(DomainName,DN),用于唯一的标识一个Domain;由于每个Domain都具有一个DRIM,所以将该Domain的名来命名对应的DRIM,这样系统中的每台计算机就都具有一个DN,该DN可以唯一标识该计算机或者它所管辖的Domain;而且,类似DNS,每个子域的名必须以其父域的名作为后缀;如果DRISM为网关,则它保存着其所管辖的所有直接子域的DRISM所对应的DomainName/Address映射记录(DN/Addr record),即路由信息记录(Routing Information Record,RIR),这些记录存放在“管辖域列表”(Dominate DomainList——DDL)中。由于一个DRISM可以管理多个(物理的或虚拟的)局域网或局域网联盟(即多个通过路由可互相访问的局域网所组成的整体,联盟中所有计算机可以直接互访),所以每个局域网或局域网联盟对应与一个DDL;与此同时,DRISM还保存着其父域DRISM所保存的与其逻辑上直接连接(属于同一局域网或局域网联盟)的所有DRISM所对应的RIR记录,保存在“等层域列表”(Same Level Domain List——SLDL)。

在计算机名服务建立的基础上,DRISM向其所管辖的计算机,即该Domain直接子域的DRISM提供注册新Domain的服务(图3),子Domain的注册过程如下:

1)设置直接子域的DRISM配置文件,指定该新Domain的DN以及其父域的DRISM的IP地址或DNS域名;

2)启动直接子域的DRISM上的Domain Routing Information Service,读取配置文件,获取DN以及父域DRISM的IP地址或DNS域名;

3)直接子域的DRISM上的Domain Routing Information Service向父域DRISM发送注册信息。信息包括两个内容:新DN和对应的Addr(IP地址或DNS域名);

4)父域DRISM收到注册信息,如果某个DDL中存有记录R,且R.DN=DN、R.Addr≠Addr,则返回错误“域名已被使用”;否则在本地查询获取该直接子域所对应的局域网相应的DDL,按照以下步骤进行注册更新:

a)如果DDL中存有记录R,且R.DN=DN、R.Addr=Addr,转e);否则转b)

b)如果DDL中存有记录R,且R.DN≠DN、R.Addr=Addr,则更新该记录(R.DN=DN),转d);否则转c)

c)DDL中不存在上述记录,则添加新的记录R,且R.DN=DN、R.Addr=Addr,转d)

d)通知DDL中其它DRISM有新的DRISM加入,即将更新的RIR记录R发给DDL列表中的各个DRISM;

e)将DDL发送给新注册的DRISM;

f)结束

5)各个DRISM在收到更新消息后采取4)中b)c)f)的步骤进行更新(此时不需执行d)e));

6)发送注册请求的直接子域的DRISM如果收到“域名已被使用”的错误,则重新回到1),设置其DN,然后再次注册;如果收到父域DRISM返回的DDL,则将其设为自身的SLDL;

7)注册完成

与此同时,DRISM向同一主机的其它应用提供Domain查询服务(图4)。具体过程如下:

Input:待查域名DN;Output:转发Address

1)检查其各个DDL,若找到合适RIR记录则返回对应IP或DNS域名,否则转2)

2)如果SLDL存在则检查SLDL,若找到合适RIR记录则返回对应IP或DNS域名,否则转3)

3)无法找到合适的RIR记录,如果该机具有父域,则直接返回父域的DRISM的IP或DNS域名,否则返回“目标域不存在”的错误;

注:这里所谓“合适的RIR记录”是指待查域名DN与记录中的DN名相同或以记录中的DN名结尾。当有多个匹配时,以最长匹配为准。

和DNS直接返回目标域名所对应的IP不同,Domain查询服务只有在待查DN所对应计算机和本机在与其逻辑上直接连接时才返回待查DN所对应的IP或DNS域名。

●移动迁移服务

拥有了路由信息服务(RIS)之后,就可以利用其来实现移动代理的跨网段迁移。迁移过程可以简单概括为“查询—>转发”(图5),具体过程如下:

1)移动代理请求迁移,请求中包括迁移目标计算机的DN;

2)根据目标Domain名查询本机Domain Routing Information Service

3)根据查询结果分别进行以下操作:

3.1)如果查询结果为“目标域不存在”的报错,则:

a)如果本机是移动代理迁移的出发端,则直接报错

b)如果本机是移动代理迁移的中转站,则向上一中转返回该报错

3.2)如果查询结果为某个Addr

a)如果移动代理来至upIF,且Addr和upIF所对应网络DRISM的地址相同,转c);

b)如果该Addr所对应的计算机可到达,将移动代理发送至Addr所对应计算机,并等待其回复,转5);否则,转c)

c)报错“目标域不可达”:

①如果本机是移动代理迁移的出发端,则直接报错

②如果本机是移动代理迁移的中转站,则向上一中转返回该报错

4)当一台计算机收到一个移动代理后,首先判断是否本机就是迁移目标。如果是,则恢复移动代理运行,并则向上一中转返回“成功到达”信息;否则进行上述2)3)步骤。

5)当计算机收到下一中转返回的“目标域不存在”/“目标域不可达”的报错或“成功到达”的信息时,则:

a)如果本机是移动代理迁移的出发端,则报错或返回成功信息

b)如果本机是移动代理迁移的中转站,则向上一中转返回该报错或成功信息至此,Agent就可以通过各个DRISM实现跨网段迁移。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号