用来进行档案同步控制的方法与装置的制造方法

文档序号:10489288阅读:196来源:国知局
用来进行档案同步控制的方法与装置的制造方法【专利摘要】本发明公开了一种用来进行档案同步控制的方法与装置。所述方法包括有:产生且储存多个档案的元数据于所述电子装置中的一储存模块,其中所述多个档案的档案内容是储存于至少一服务器,所述电子装置与所述至少一服务器通过至少一网络彼此沟通,所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作;以及依据所述元数据,控制所述电子装置与所述至少一服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。通过本发明,系统管理者可正确地将具有复杂的档案访问权限的档案同步至各个同步客户端,而不必担心用户对所述档案做出超越其档案访问权限的档案操作。【专利说明】用来进行档案同步控制的方法与装置
技术领域
[0001]本发明涉及档案同步技术,尤其涉及一种用来进行档案同步控制的方法与装置。【
背景技术
】[0002]依据相关技术,一传统的同步架构对于档案访问控制权限(FileAccessControlPermiss1n)的支持度通常是不足的。尤其是,在专门针对企业用户开发的传统的同步软件中,仅可粗略地针对某一目录(Directory)或档案夹(Folder)的整体的档案访问控制权限进行同步,使此档案访问控制权限可在数个同步端点之间被传输与同步。然而,所述传统的同步架构无法正确地根据客户端(ClientSide)或用户实际拥有的档案访问权限(FileAccessPermiss1n)进行读取(或下载)、建立(Create)、修改(Modify)…等档案操作。[0003]更具体而言,在用户较多且同步规模较大的一企业用户使用情境(诸如用户的总数达百人以上、且可能被同步的档案的总数达十万以上的使用情境)中,若存在某个同步挂载点、且这个同步挂载点的子档案夹(Sub-folder)及其内的档案有针对不同用户设定的不同的档案访问权限,则会出现某些问题。例如:所述传统的同步架构并不会遵循这些子档案夹内的档案的档案访问权限,若一用户具有所述子档案夹的下载权限,这会导致所述用户均可下载、建立、以及修改所述子档案夹下的所有档案。于是,系统管理者就无法在不产生副作用的状况下轻松地管理整个系统,其中若系统管理者期望此同步挂载点被同步至每一用户的装置上,则所述传统的同步架构会错误地将过多或额外的权限赋予一些用户。[0004]由以上可知,所述传统的同步架构无法在没有副作用的状况下提供适当的同步服务予用户。如此,需要一种新颖的方法以提升档案同步控制系统的效能。【
发明内容】[0005]本发明的目的在于公开一种用来进行档案同步控制的方法与装置,以解决上述问题。[0006]本发明的至少一较佳实施例中公开一种用来进行档案同步控制的方法,其中所述方法应用于一电子装置。所述方法包括有下列步骤:自一服务器接收多个档案的元数据,并且将所述元数据储存于所述电子装置中的一储存模块,其中所述多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过至少一网络彼此沟通,以及所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作;以及依据所述元数据,控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。[0007]本发明于公开上述方法的同时,也对应地公开一种计算器程序产品,其中所述计算器程序产品包括程序代码以指示至少一处理器进行上述的方法,以及所述电子装置包括上述的至少一处理器。[0008]本发明的至少一较佳实施例中公开一种用来进行档案同步控制的方法,其中此方法应用于一服务器,且此方法包括有下列步骤:自所述服务器传送多个档案的元数据至一电子装置,以容许所述电子装置将所述元数据储存于所述电子装置中的一储存模块,其中所述多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过至少一网络彼此沟通,以及所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作;以及依据所述元数据,利用所述电子装置控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。[0009]本发明于公开上述方法的同时,也对应地公开一种用来进行档案同步控制的装置,其中所述装置包括一服务器的至少一部分。所述装置包括有:一网络接口电路,设置于所述服务器;以及一处理电路,耦接至所述接口电路且设置于所述服务器。所述网络接口电路是用来通过至少一网络提供一存取服务予一电子装置,其中多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过所述至少一网络彼此沟通。另外,所述处理电路是用来自所述服务器传送所述多个档案的元数据至所述电子装置,以容许所述电子装置将所述元数据储存于所述电子装置中的一储存模块,其中所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作。此外,所述处理电路依据所述元数据利用所述电子装置控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。[0010]本发明的好处的一是,基于本发明的实施例所示的方法与装置,系统管理者可正确地将子档案夹下的具有复杂的档案访问权限的档案同步至各个同步客户端,而不必担心用户对所述档案做出超越其档案访问权限的档案操作。另外,本发明的实施例所示的方法与装置可公开兼容于主从式同步系统的架构,并且可跨平台地实现于现有产品的同步架构中。此外,本发明的实施例所示的方法与装置可在用户权力更动或群组变动之后维持同步档案的正确性,并可通过对同步流程的谨慎设计,降低伺服端在用户群组变动时所需的运算及档案系统读取次数。【附图说明】[0011]图1为依据本发明一实施例的一种用来进行档案同步控制的装置的示意图。[0012]图2为依据本发明一实施例的一种用来进行档案同步控制的方法的流程图。[0013]图3绘示图2所示的方法于一实施例中所涉及的一同步控制方案。[0014]图4绘示图2所示的方法于一实施例中所涉及的一「档案访问权限变更」处理流程。[0015]图5绘示图2所示的方法于一实施例中所涉及的一「客户端档案操作权限不足」处理流程。[0016]图6绘示图2所示的方法于一实施例中所涉及的一「用户群组权限变更」处理流程。[0017]图7绘示图2所示的方法于一实施例中所涉及的一档案同步权限控制流程,其中所述档案同步权限控制流程控制操作系统的档案存取规则以及预先定义的四种同步权限之间的对应关系。[0018]图8为依据本发明另一实施例的一种用来进行档案同步控制的方法的流程图。[0019]其中,附图标记说明如下:[0020]100装置[0021]110处理电路[0022]IlOB程序代码[0023]120网络接口电路[0024]200、700方法[0025]210、220、312、314、316、步骤[0026]318、322、324、326、412、[0027]414、416、422、424、426、[0028]512、514、516、518、522、[0029]524、612、614、622、624、[0030]626、628、632、634、636、[0031]638、710、720[0032]600流程[0033]NAS_1,NAS_2,NAS_3网络附加储存[0034]User_A,User_B,User_C可携式电子装置【具体实施方式】[0035]图1为依据本发明一实施例的一种用来进行档案同步控制的装置100的示意图,其中装置100可包括一电子装置的至少一部分(例如一部分或全部)。例如:装置100可为所述电子装置中的电路系统。又例如:装置100可为所述电子装置的整体。又例如:装置100可为包括所述电子装置的一档案同步控制系统,而所述档案同步控制系统可包括至少一服务器(例如一个或多个服务器)。所述电子装置的例子可包括(但不限于):多功能移动电话(Multifunct1nalMobilePhone)、平板计算机(Tablet)、以及个人计算机(PersonalComputer)诸如桌面计算机(DesktopComputer)或膝上型计算机(LaptopComputer)。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,所述电子装置的例子可包括一服务器,诸如上述的至少一服务器中的一者。[0036]如图1所示,装置100包括一处理电路110与一网络接口电路120,而处理电路110与网络接口电路120是彼此耦接,其中处理电路110与网络接口电路120均设置于所述电子装置。依据本实施例,网络接口电路120是用来提供一网络服务予装置100,以维持所述电子装置的运作。尤其是,网络接口电路120可用来通过至少一网络存取(Access)上述的至少一服务器。另外,处理电路110可包括至少一处理器以执行程序代码110B,并且执行程序代码110B的处理电路110是用来控制所述电子装置的运作,以基于所述网络服务进行固定网址存取管理。尤其是,处理电路110包括一档案暨存取规则同步控制模块(未显示于图1),用来进行档案同步控制。例如:所述档案暨存取规则同步控制模块可为程序代码110B中的至少一程序模块,诸如至少一软件模块,其中程序代码110B可代表执行于上述至少一电子装置的程序。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,程序代码110B可内嵌于处理电路110,并且所述档案暨存取规则同步控制模块可为一硬件电路,诸如处理电路110的至少一部分(例如一部分或全部)。[0037]图2为依据本发明一实施例的一种用来进行档案同步控制的方法200的流程图。所述方法可应用于图1所示的装置100,尤其是上述的处理电路110,诸如通过上述至少一处理器执行上述程序代码IlOB的处理电路110。例如:通过利用一计算器程序产品,诸如储存有程序代码IlOB(尤其是其安装版本)的光盘片,所述电子装置的用户或所述档案同步控制系统的系统管理人员可将程序代码IlOB安装于装置100,其中所述计算器程序产品包括程序代码I1B(尤其是其安装版本)以指示上述至少一处理器进行图2所示的方法200。于是,本实施例的处理电路110(尤其是所述档案暨存取规则同步控制模块)可控制所述电子装置的运作,以基于所述网络服务进行图2所示的方法200。这只是为了说明的目的而已,并非对本发明的限制。方法200说明如下:[0038]于步骤210中,处理电路110自一服务器(诸如上述的至少一服务器中的一者)接收多个档案的元数据(Metadata),并且将所述元数据储存于所述电子装置中的一储存模块,其中所述多个档案的档案内容(FileContent)是储存于所述服务器,而所述电子装置与所述服务器通过上述的至少一网络彼此沟通。例如:所述元数据可被储存于所述储存模块中的同一个档案。又例如:所述元数据可被储存于所述储存模块中的多个档案。又例如:所述元数据可被储存于所述储存模块中的一数据库。[0039]实作上,所述元数据可包括分别对应于所述多个档案的存取规则(AccessRule),以分别指出所述电子装置的用户是否有权限对所述多个档案进行档案操作,诸如读取(或下载)档案、建立(Create)档案、修改档案、删除档案…等。[0040]于步骤220中,处理电路110依据所述元数据控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合(Synchronizat1nFileSet)。于一实施例中,所述同步档案集合中的档案对应于所述多个档案中的一部分档案。例如:所述同步档案集合中的所述档案对应于所述多个档案中的所述部分档案,而非所述多个档案中的全部档案。尤其是,所述同步档案集合中的所述档案的档案内容分别等同于所述多个档案中的所述部分档案的档案内容,而非所述多个档案中的全部档案的档案内容。[0041]请注意,所述电子装置与所述服务器之间的档案同步关可视为一客户-伺服关系(Client-ServerRelat1nship)。所述电子装置可视为所述客户-伺服关系中的同步客户端(Synchronizat1nClientSide),而所述服务器可视为所述客户-伺服关系中的同步伺服端(Synchronizat1nServerSide)。为了简明起见,于以下说明中,同步客户端可简称为客户端(ClientSide),而同步伺服端可简称为伺服端(ServerSide)。[0042]基于图2所示的方法200,伺服端中的所述多个档案的总数可予以变化,并且客户端中的所述同步档案集合中的档案的总数可予以变化。一般状况下,所述同步档案集合中的档案的总数小于或等于所述多个档案的总数,其中本发明的实施均不受阻碍。[0043]依据某些实施例,所述电子装置(尤其是处理电路110)可周期性地询问所述服务器是否所述多个档案中的任一档案的存取规则被改变,其中在所述多个档案中的所述档案的存取规则被改变的状况下,依据所述存取规则中的至少一改变,处理电路110可更新所述元数据。例如:所述电子装置(尤其是处理电路110)可进行轮询(Polling)运作,而所述轮询运作可包括:每隔一段时间就自动送出一个请求(Request)给所述服务器,以获取最新的资料,诸如所述存取规则的最新版本。于是,当所述多个档案中的所述档案的存取规则被改变时,所述服务器可将所述存取规则中的上述至少一改变通知所述电子装置。这只是为了说明的目的而已,并非对本发明的限制。实作上,在所述服务器的所述档案的存取规则被改变的状况下,所述服务器可利用其所在的操作系统所提供的系统呼叫(SystemCall),实时地取得所述档案修改后的存取规则,诸如一用户群组对所述档案的档案访问权限及目录访问权限的信息。相似地,在所述电子装置的任一档案的存取规则被改变的状况下,所述电子装置也可利用其所在的操作系统所提供的系统呼叫,取得所述档案修改后的存取规则。[0044]依据某些实施例,所述电子装置(尤其是处理电路110)可进行长时间轮询(Long-Polling)运作,其中所述电子装置(尤其是处理电路110)仍然可周期性地询问所述服务器是否所述多个档案中的任一档案的存取规则被改变,但是所述长时间轮询运作的周期可以远大于所述轮询运作的周期。所述服务器在接收到所述电子装置所送出一请求之后,可等待一段时间,而不立即回应所述电子装置。若在这段时间里面所述服务器有新的数据,诸如所述存取规则的最新版本(也就是说,上述至少一改变存在),则所述服务器可把所述新的存取规则传回给所述电子装置;否则,所述服务器可传送一响应给所述电子装置,以告知所述电子装置目前所述存取规则并没有更新。如此,当所述多个档案中的所述档案的存取规则被改变时,所述服务器可将所述存取规则中的上述至少一改变通知所述电子装置。然后,依据所述存取规则中的上述至少一改变,处理电路110可更新所述元数据。例如:依据所述存取规则中的上述至少一改变,处理电路110可更新所述元数据,以于所述同步档案集合中新增或删除至少一档案,其中上述的至少一档案是由所述服务器同步(Synchronized)至所述电子装置的至少一同步档案(Synchronizat1nFile)。于是,处理电路110可更新所述元数据,以改变所述同步档案集合中的档案数。[0045]依据某些实施例,当所述电子装置送出一请求、且所述请求是用来对所述多个档案中的所述部分档案中的一特定档案进行一档案操作时,所述服务器可检查所述用户是否有对所述特定档案进行所述档案操作的权限。当侦测到所述用户没有对所述特定档案进行所述档案操作的权限时,所述服务器可拒绝所述档案操作。另外,依据所述特定档案,处理电路110可对所述电子装置进行一回复(Rollback)运作,以复原所述同步档案集合当中对应于所述特定档案的一档案。所述回复运作的实施细节为同业所熟知,故不在此重复赘述。请注意,所述请求可视为用来将所述电子装置上的档案操作的变动(例如:所述用户修改所述同步档案集合当中对应于所述特定档案的所述档案)同步至所述服务器的请求。[0046]依据某些实施例,所述电子装置(尤其是处理电路110)可周期性地询问所述服务器是否所述用户的权限被改变,当所述用户的权限被改变时,所述服务器可将所述用户的权限的至少一改变通知所述电子装置。例如:所述用户的权限的改变可为用户群组的变更所致,其中用户可以原本属于一用户群组、且之后可变成属于另一用户群组,使得所述用户的权限被改变。另外,依据所述用户的权限的上述至少一改变,处理电路110可更新所述元数据。例如:依据所述用户的权限的上述至少一改变,处理电路110可更新所述元数据,并依据更新后的所述元数据于所述同步档案集合中新增或删除至少一档案。[0047]于某些实施例中,依据所述多个档案中的至少一档案(例如:一个或多个档案)在一操作系统(OperatingSystem)中的属性(Attribute),所述服务器(尤其是其内的处理电路)可针对所述多个档案中的一特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果。另外,依据上述的至少一检查结果,所述服务器(尤其是其内的处理电路)决定所述特定档案的元数据,以供进行所述特定档案的档案同步控制。例如:所述特定档案不是目录(Directory)、也不是档案夹(Folder)。其中,若某一(些)档案没有经过设置访问权限,则所述(些)档案可继承其所在的档案夹的访问权限、或可被设定成具备某一(些)预设的访问权限。请注意,所述多个检查运作的例子可包括(但不限于):基于所述特定档案中的所述属性的逻辑判断。上述的至少一检查结果指出所述特定档案的同步权限,其中所述至少一检查结果的例子可包括(但不限于):所述特定档案是否「可移除(Removable)」、所述特定档案是否「可建立(Creatable)且可移除」、所述特定档案是否「可修改(Modifiable)且可下载(Downloadable)」、以及所述特定档案是否「可下载」。实作上,所述至少一档案的属性可包括(但不限于)所述至少一档案的访问权限、附档名、档案大小等属性。[0048]在这些实施例中,所述至少一档案包括所述特定档案。例如:在所述至少一档案代表单一档案的状况下,所述至少一档案是所述特定档案,且上述至少一检查运作可依据所述特定档案的属性来进行。又例如:在所述至少一档案代表多个档案的状况下,所述至少一档案可还包括所述特定档案的父(Parent)目录,且上述至少一检查运作可依据所述特定档案的属性以及所述父目录的属性来进行。又例如:在所述至少一档案代表多个档案的状况下,所述至少一档案可还包括所述特定档案的所有的祖系体(Ancestor),且上述至少一检查运作可依据所述特定档案的属性以及所述祖系体的属性来进行,其中所述父目录可为所述祖系体的一例。实作上,上述的所述父目录与所述祖系体的属性可分别包括(但不限于)所述父目录与所述祖系体的访问权限,而所述至少一档案的属性可包括(但不限于)所述至少一档案的访问权限、附档名、档案大小等属性。[0049]依据某些实施例,所述多个档案中的一特定档案的元数据可包括所述特定档案在一操作系统中的属性。另外,依据所述特定档案在所述操作系统中的所述属性,所述服务器(尤其是其内的处理电路)可针对所述特定档案进行多个检查运作(诸如前面的实施例中的所述多个检查运作)中的至少一检查运作,以产生至少一检查结果,以供进行所述特定档案的档案同步控制。例如:所述元数据可包括(但不限于)各档案的访问权限及/或其父档案夹(或父目录)与祖体系的访问权限。又例如:所述元数据可包括(但不限于)各档案的附档名、档案大小等属性。其中在所述电子装置每次要对档案进行操作时,所述服务器(尤其是其内的处理电路)可进行所述多个检查运作中的上述至少一检查运作,以决定用户对所述特定档案的同步权限。这只是为了说明的目的而已,并非对本发明的限制。于其它实施例中,所述多个检查运作中的上述至少一检查运作可由所述电子装置来进行。也就是说,依据所述特定档案在所述操作系统中的所述属性,所述电子装置(尤其是其内的处理电路110)可针对所述特定档案进行所述多个检查运作中的上述至少一检查运作,以产生上述至少一检查结果,以供进行所述特定档案的档案同步控制。[0050]图3绘示图2所示的方法200于一实施例中所涉及的一同步控制方案。依据本实施例的使用情境,所述同步控制方案可保证各种不同的客户端对所有的档案的存取都符合各自的档案存取规则的规范,并可分别将这些存取规则在多个网络储存装置诸如网络附加储存(NetworkAttachedStorage,NAS)NAS_1、NAS_2、与NAS_3之间进行同步,以保证其它相关的档案服务都符合最新的档案存取规则,其中网络附加储存NAS_1、NAS_2、与NAS_3可为上述的至少一服务器的一例,而用户A、B、与C各自的可携式电子装置(PortableElectronicDevice){User_A}、User_B、与User_C中的任一可携式电子装置(诸如多功能移动电话)可为所述电子装置的一例。[0051]依据本实施例,网络附加储存NAS_1、NAS_2、与NAS_3可同步多个档案及它们的存取规则,尤其是同步所述多个档案以及对应所述多个档案的存取规则。另外,不论用户A通过任一网页浏览器或桑巴(Samba;请参阅网页:http://www.samba.0rg/)软件来存取一组档案,用户A的可携式电子装置{User_A}可依据专为用户A的对应于这组档案的一组存取规则来存取这组档案。此外,用户A、B、与C可使用各自的同步用户端(诸如用户A、B、与C各自的可携式电子装置{User_A}、User_B、与User_C)分别同步一第一组档案、一第二组档案、与一第三组档案,而所述第一组档案、所述第二组档案、与所述第三组档案中的任两组档案可以部分地(Partially)相同或完全不同,其中用户A可使用可携式电子装置{USer_A}中的任一者依据专为用户A的对应于所述第一组档案的第一组存取规则来存取所述第一组档案,而用户B可使用可携式电子装置User_B依据专为用户B的对应于所述第二组档案的第二组存取规则来存取所述第二组档案,并且用户C可使用可携式电子装置User_C依据专为用户C的对应于所述第三组档案的第三组存取规则来存取所述第三组档案。其中,所述第一组档案、所述第二组档案与所述第三组档案可分别为上述的同步档案集合的例子。此外,所述第一组存取规则、所述第二组存取规则、所述第三组存取规则分别可为上述的所述元数据的例子。依据上述的所述第一组存取规则、所述第二组存取规则与所述第三组存取规则,网络附加储存NAS_1、NAS_2、与NAS_3可分别执行上述的所述多个检查运作中的至少一检查运作,以分别产生至少一检查结果,并依据各所述至少一检查结果将所述第一组档案、所述第二组档案与所述第三组档案分别同步至用户A、B、与C各自的同步客户端。图4绘示图2所示的方法于一实施例中所涉及的一「档案访问权限变更」处理流程,其中图4左上角所示的「客户」(Client)可代表客户端装置诸如所述电子装置。这个处理流程可说明如下。[0052]于步骤312中,所述客户端装置周期性地检查远程档案系统(RemoteFileSystem)的改变。此改变例如:上述的至少一服务器中的所述多个档案中的任一档案的存取规则的改变。[0053]于步骤314中,所述客户端装置套用最新的存取规则至所述电子装置中的数据库及/或本地(Local)档案系统。例如:所述客户端装置可通过修改所述元数据,套用最新的存取规则。[0054]于步骤316中,所述客户端装置计算相关档案的同步权限。[0055]于步骤318中,所述客户端装置依据最新的同步权限来建立或删除(Delete)至少一档案(或至少一目录)。[0056]于步骤322中,因应某一用户(诸如一研发团队的主管)的控制,上述的至少一服务器改变一档案的存取规则。[0057]于步骤324中,上述的至少一服务器将档案系统的改变推送(Push)至其内的版本数据库(Vers1ningDatabase)。[0058]于步骤326中,上述的至少一服务器将最新的存取规则通知所述客户端装置。[0059]依据本实施例,于此用户通过伺服端修改某一档案的档案访问权限之后,所述客户端装置可根据此档案的最新访问权限,分析出此档案的同步权限,并依据此同步权限正确地对所述同步档案集合进行对应的档案操作,诸如建立(Create)档案或目录、移除(Remove;或删除(Delete))档案或目录、或修改此档案或目录的访问权限。[0060]例如:若某一客户端对此档案原本是没有读取的访问权限,则客户端的所述档案暨存取规则同步控制模块并不会在这个客户端的档案系统上建立此档案的同步版本,因此,此档案可以正确地保持不被这个客户端的用户看到。在某时间点之后,此档案的档案访问权限被修改,使得此客户端拥有对此档案写入的访问权限。此后,当下次客户端与伺服端沟通时,伺服端将回传最新的档案访问权限(例如:回传此档案的访问权限的变动)给客户端,而客户端在正确地接收最新的档案访问权限之后,就将最新的档案存取信息写入其内的数据库及/或档案系统。于是,客户端的所述档案暨存取规则同步控制模块于分析最新的档案访问权限之后,依据分析结果可得知此档案的同步权限包括有可下载与可修改的同步权限。随后,客户端从伺服端下载此档案,使得此档案的同步版本可正确出现在客户端,并且可供用户写入新信息。[0061]承上所述,若在某时间点后,此档案的档案访问权限再次被修改,使此客户端对此档案的读取与写入的访问权限被撤销(Revoke),则当下次客户端与伺服端沟通时,客户端接收到最新的档案访问权限,就将最新的档案存取信息写入其内的数据库及/或档案系统。于是,客户端的所述档案暨存取规则同步控制模块于分析最新的档案访问权限之后(例如:经过上述的至少一检查运作,以产生至少一检查结果之后),依据分析结果可得知客户端目前对此档案已没有下载的同步权限,并且从客户端的档案系统移除此档案的同步版本,使得整个同步档案集合正确地根据最新的档案访问权限被同步。[0062]图5绘示图2所示的方法于一实施例中所涉及的一「客户端档案操作权限不足」处理流程,其中图5左上角所示的「客户」可代表客户端装置诸如所述电子装置。这个处理流程是:当客户端进行没有权限的档案操作时,整个同步系统的相关处理流程。[0063]于步骤412中,因应所述客户端装置的用户(诸如所述研发团队的成员)的控制,所述客户端装置对其内的一档案File_A’进行一档案操作File_op,其中档案File_A’是档案File_A的同步版本,而档案File_A是位于服务器。于是,所述客户端装置送出一请求(Request)诸如上述者、且所述请求是用来对档案File_A进行一档案操作File_op。[0064]于步骤414中,所述客户端装置接收对应于所述档案操作File_op的「操作回绝」(Operat1n-rejected)通知。[0065]于步骤416中,所述客户端装置进行一回复运作诸如上述者。于是,所述客户端装置复原档案File_A’。[0066]于步骤422中,因应某位人士(诸如所述研发团队的主管)的控制,上述的至少一服务器撤销所述用户(或所述客户端装置)对档案File_A进行档案操作File_op的访问权限。[0067]于步骤424中,依据某一数据库诸如上述的版本数据库,上述的至少一服务器检查所述用户(或所述客户端装置)是否有对档案File_A进行档案操作File_op的同步权限。[0068]于步骤426中,上述的至少一服务器回绝(Reject)所述档案操作File_op,尤其是送出上述的「操作回绝」(Operat1n-rejected)通知。[0069]依据本实施例,用户先在客户端对档案File_A’进行档案操作File_op,随后,客户端中的所述档案暨存取规则同步控制模块(诸如一同步软件)会将此操作File_op传送至伺服端,以期将修改套用至伺服端中的档案File_A。然而,在此请求传送到伺服端之后,若此客户端的用户对此档案File_A的操作权限不足时,伺服端会在确认操作权限时发现权限不足的事实,并将此状况回传给客户端并拒绝此请求。例如:伺服端可通过上述的多个检查运作中的至少一检查运作,以产生至少一检查结果。另外,依据上述的至少一检查结果,伺服端可检查所述用户(或所述客户端装置)是否有对档案File_A进行档案操作File_op的同步权限。随后,客户端再依据这个处理流程,做必要的回复运作。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,客户端可选择性地先进行一次同步权限的判断,而不需等到伺服端回报同步权限不足的错误。如此,伺服端的操作负担可被降低。另外,伺服端的同步权限的判断仍可进行,以避免因为时间差的故造成错误运作。例如:在步骤412的运作被进行早于步骤422的运作被进行的状况下(也就是说,客户端先对档案File_A’进行档案操作File_op、且送出所述请求,然后服务器才撤销所述用户对档案File_A进行档案操作File_op的权限),若伺服端未进行同步权限的检查,则会让此客户端成功进行其权限不足的操作;否则,此错误运作可避免。此外,为了进一步加强安全性,伺服端的同步权限的确认应为必要,以防止客户端中的所述档案暨存取规则同步控制模块(诸如所述同步软件)及/或数据库中所储存的元数据遭恶意窜改。[0070]图6绘示图2所示的方法于一实施例中所涉及的一「用户群组权限变更」处理流程,其中图6左上角所示的「客户」可代表客户端装置诸如所述电子装置。这个处理流程是客户端的用户群组权限变更后的相关处理流程。[0071]于步骤512中,所述客户端装置周期性地检查远程档案系统的改变。[0072]于步骤514中,所述客户端装置套用最新的存取角色(AccessRole)的信息。例如:所述客户端装置可通过修改所述元资料,套用最新的存取角色的信息。[0073]于步骤516中,所述客户端装置扫描本地数据库,以找出有待建立或有待删除的档案及目录。尤其是,所述客户端装置可通过分析所述客户端装置中的数据库的内容(例如:修改所述元数据之后所产生的最新的元数据),以找出有待建立或有待删除的档案及目录,并找出有待修改访问权限的档案及目录。[0074]于步骤518中,所述客户端装置依据最新的访问权限来进行运作。[0075]于步骤522中,因应某一用户(诸如所述研发团队的主管)的控制,上述的至少一服务器改变所述客户(诸如所述客户端装置)的存取角色。[0076]于步骤524中,上述的至少一服务器将存取角色的改变通知所述客户端装置。尤其是,上述的至少一服务器将最新的存取角色的信息传送至所述客户端装置。[0077]依据图4所示的处理流程,在档案的存取规则变更时,伺服端会将档案的最新的存取规则传回至客户端,以进行相对应的处理。然而,在客户端的用户所属的用户群组变更时,所有客户端上的档案及目录都有可能被影响。例如:可能某个目录及/或档案因着一用户离开某一群组,而变得对此用户而言没有下载的同步权限;又例如:可能某个档案因此用户加入某一新群组,而变得对此用户而言从没有下载的同步权限变成有下载的同步权限。在这些情况中的任一者下,基于图6所示的处理流程,所述客户端装置可正确地将那些变成没有下载的同步权限的档案及目录从客户端的档案系统中移除,也可正确地将新得到下载的同步权限的档案及目录下载至客户端。[0078]依据一实施例,于用户群组变更之后,依据伺服端的所有档案及目录的档案存取规则及变更后的用户群组的信息,伺服端可重新扫描其内的整个数据库及整个档案系统,以分析出所述客户端的用户对每个档案的访问权限及/或同步权限的变更情况,并将此信息传回至客户端以进行同步。然而,此举会需要伺服端极大的硬盘读取带宽及大量的运算资源;这对于一主从式同步架构而言,可能会加重伺服端的负担。因此,为了不过度地增加伺服端的负荷,图6所示的实施例提出不需由伺服端重新扫描的同步方法,以大幅地减少服务器的运算及硬盘读取带宽的需求,并增进同步架构的稳定性。[0079]依据图6所示的实施例,由于客户端会自伺服端接收储存于伺服端的所有档案及目录的档案存取规则,并将其记录至客户端的数据库内,其中上述的伺服端的所有档案及目录的档案存取规则包括有所述客户端的用户没有访问权限的档案的档案存取规则。如此,当用户的群组权限变更时,客户端可由伺服端得知最新的用户及其群组的信息(也就是说,步骤524中所述的存取角色的改变)。在此情形下,依据伺服端的所有档案及目录的档案存取规则及更新后的用户群组的访问权限,客户端可重新扫描整个客户端内的数据库,以分析并找出有哪些档案及目录应该要被新建立起来的、以及找出有哪些档案及目录应该要从本地档案系统中被删除的。由于客户端的本地数据库拥有伺服端的所有档案的档案存取规则,此设计可避免伺服端重新扫描整个档案系统,而只需于客户端执行重新扫描即可。[0080]图7绘示图2所示的方法于一实施例中所涉及的一档案同步权限控制流程600,其中档案同步权限控制流程600可控制任一操作系统上的档案存取规则以及一预定同步权限集之间的对应关系。例如:在一同步系统中,各同步客户端可在各个不同的操作系统上运行。为了让本发明公开的同步架构可兼容于各操作系统上不同的档案存取规则,所述预定同步权限集可包括预先定义的同步权限,其可分别对应于各操作系统上不同的档案存取规贝1J。于此实施例中,预先定义的同步权限可包括(但不限于):可建立、可移除、可下载、以及可修改,其中图7最下方所示的四个子路径中的一子路径可对应于这些同步权限中的一个或多个同步权限。请注意,步骤612与步骤622至628的检查运作可作为所述特定档案的所述多个检查运作的一例,而步骤632至638的检查结果中的任一者可作为上述的至少一检查结果的一例。[0081]于步骤612中,针对某用户诸如所述电子装置的用户,依据一档案(或目录)于一操作系统(诸如所述电子装置的操作系统)上的档案存取规则,所述客户端装置(诸如所述电子装置)检查是否所述档案(或目录)的所有的祖系体(Ancestor)可被通过(Traversed)。若是,以任意顺序分别进入步骤624与步骤626,以检查是否这四种同步权限中的任一者可成立的各种可能;否则,进入步骤614。[0082]于步骤614中,所述客户端装置判定此用户对所述档案(或目录)没有同步权限。[0083]于步骤622中,针对此用户,依据所述档案(或目录)本身于此操作系统上的这些档案存取规则,所述客户端装置检查是否所述档案(或目录)可被移除。若是,进入步骤632;否则,等待这四个子路径中的其它子路径的检查结果。[0084]于步骤624中,针对此用户,依据所述档案(或目录)于此操作系统上的这些档案存取规则,所述客户端装置检查是否所述档案(或目录)的父(Parent)目录可被写入。若是,进入步骤634;否则,进入步骤622。[0085]于步骤626中,针对此用户,依据所述档案(或目录)本身于此操作系统上的这些档案存取规则,所述客户端装置检查是否所述档案(或目录)本身可被写入。若是,进入步骤636;否则,进入步骤628。[0086]于步骤628中,针对此用户,依据所述档案(或目录)于此操作系统上的这些档案存取规则,所述客户端装置检查是否所述档案(或目录)可被读取。若是,进入步骤638;否则,等待这四个子路径中的其它子路径的检查结果。[0087]于步骤632中,所述客户端装置产生「可移除」的检查结果。于是,所述客户端装置可记录所述档案(或目录)的同步权限为「可移除」。[0088]于步骤634中,所述客户端装置产生「可建立且可移除」的检查结果。于是,所述客户端装置可记录所述档案(或目录)的同步权限为「可建立且可移除」。[0089]于步骤636中,所述客户端装置产生「可修改且可下载」的检查结果。于是,所述客户端装置可记录所述档案(或目录)的同步权限为「可修改且可下载」。[0090]于步骤638中,所述客户端装置产生「可下载」的检查结果。于是,所述客户端装置可记录所述档案(或目录)的同步权限为「可下载」。[0091]依照档案访问权限控制流程600,所述档案暨存取规则同步控制模块可将Linux系统上的档案访问权限分别转换至所述四种同步权限,并且也可将Windows系统上的档案访问权限诸如访问控制列表(AccessControlList,ACL)转换至所述四种同步权限。因此,依据本实施例所实现的同步架构可同时适用于多种操作系统及其不同的档案存取规则。[0092]图8为依据本发明另一实施例的一种用来进行档案同步控制的方法700的流程图。如前面所述,依据某些实施例,所述电子装置的例子可包括所述服务器,诸如上述的至少一服务器中的一者。此状况下,方法700可应用于图1所示的装置100,尤其是上述的处理电路110,诸如通过上述至少一处理器执行上述程序代码IlOB的处理电路110。例如:通过利用一计算器程序产品,诸如储存有程序代码I1B(尤其是其安装版本)的光盘片,所述服务器或所述档案同步控制系统的系统管理人员可将程序代码IlOB安装于装置100,其中所述计算器程序产品包括程序代码I1B(尤其是其安装版本)以指示上述至少一处理器进行图8所示的方法700。于是,本实施例的处理电路110可控制所述服务器的运作,以基于所述网络服务进行图8所示的方法700。这只是为了说明的目的而已,并非对本发明的限制。方法700说明如下:[0093]于步骤710中,于本实施例的处理电路110的控制下,自所述服务器传送所述多个档案的所述元数据至一电子装置(诸如上述的电子装置),以容许所述电子装置将所述元数据储存于所述电子装置中的所述储存模块,其中所述多个档案的所述档案内容是储存于所述服务器,而所述电子装置与所述服务器通过上述的至少一网络彼此沟通,以及所述元数据包括分别对应于所述多个档案的所述存取规则以分别指出所述电子装置的所述用户是否有权限对所述多个档案进行档案操作。[0094]于步骤720中,依据所述元数据,本实施例的处理电路110利用所述电子装置控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的所述同步档案集合,其中所述同步档案集合中的所述档案对应于所述多个档案中的所述部分档案。请注意,所述同步档案集合中的所述档案对应于所述多个档案中的所述部分档案,而非所述多个档案中的全部档案。[0095]依据针对所述服务器的一观点,图2所示实施例中的描述可以应用于此。另外,前面描述的实施例(诸如图2所示实施例与图3所示实施例之间的某些实施例)中的描述可以应用于此。[0096]依据某些实施例,所述电子装置可周期性地询问所述服务器是否所述多个档案中的任一档案的存取规则被改变。在所述多个档案中的所述档案的存取规则被改变的状况下,本实施例的处理电路110可将所述存取规则中的至少一改变通知所述电子装置,以容许所述电子装置依据所述存取规则中的所述至少一改变更新所述元数据。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,当所述多个档案中的一档案的存取规则被改变时,本实施例的处理电路110可将所述存取规则中的至少一改变通知所述电子装置,以容许所述电子装置依据所述存取规则中的所述至少一改变更新所述元数据。[0097]依据某些实施例,当所述电子装置送出一请求、且所述请求是用来对所述多个档案中的所述部分档案中的一特定档案进行一档案操作时,本实施例的处理电路110可检查所述用户是否有对所述特定档案进行所述档案操作的权限。尤其是,当侦测到所述用户没有对所述特定档案进行所述档案操作的权限时,本实施例的处理电路110可拒绝所述档案操作,以容许所述电子装置依据所述特定档案对所述电子装置进行一回复运作诸如上述者,以复原所述同步档案集合当中对应于所述特定档案的一档案。[0098]依据某些实施例,所述电子装置可周期性地询问所述服务器是否所述电子装置的用户的权限被改变,当所述用户的权限被改变时,本实施例的处理电路110可将所述用户的权限的至少一改变通知所述电子装置,以容许所述电子装置依据所述用户的权限的所述至少一改变更新所述元数据。[0099]依据某些实施例,依据所述多个档案中的至少一档案在一操作系统中的属性,本实施例的处理电路110可针对所述多个档案中的一特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果,其中这些实施例中的所述至少一档案包括所述特定档案。另外,依据所述至少一检查结果,这些实施例的处理电路110可决定所述特定档案的元数据,以供进行所述特定档案的档案同步控制。例如:所述特定档案不是目录、也不是档案夹。[0100]本发明的实施例所示的方法(例如:图2所示的方法200;又例如:图8所示的方法700)和相关装置(例如:装置100)可依照所述用户对某档案的档案存取规则进行正确的同步运作,并可跨平台地支持不同档案系统(诸如各种操作系统的档案系统)及不同格式的档案存取规则。另外,本发明的实施例所示的方法和相关装置可在客户端的用户权力或其用户群组变更后,正确地根据新的档案访问权限进行档案同步。在用户权力或用户群组经变更后,伺服端可不需重新扫描数据库或档案系统;因此,系统整体效能可大幅提升。[0101]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。【主权项】1.一种用来进行档案同步控制的方法,所述方法应用于一电子装置,其特征在于:包括有下列步骤:自一服务器接收多个档案的元数据,并且将所述元数据储存于所述电子装置中的一储存模块,其中所述多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过至少一网络彼此沟通,以及所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作;以及依据所述元数据,控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。2.如权利要求1所述的方法,其特征在于,还包括:周期性地询问所述服务器是否所述多个档案中的任一档案的存取规则被改变;以及在所述多个档案中的所述档案的存取规则被改变的状况下,依据所述存取规则中的至少一改变,更新所述元数据。3.如权利要求2所述的方法,其特征在于,当所述多个档案中的所述档案的存取规则被改变时,所述服务器将所述存取规则中的所述至少一改变通知所述电子装置。4.如权利要求2所述的方法,其特征在于,依据所述存取规则中的所述至少一改变更新所述元数据的步骤还包括:依据所述存取规则中的所述至少一改变,更新所述元数据,以于所述同步档案集合中新增或删除至少一档案,其中所述至少一档案是由所述服务器同步至所述电子装置的至少一同步档案。5.如权利要求1所述的方法,其特征在于,当所述电子装置送出一请求、且所述请求是用来对所述多个档案中的一特定档案进行一档案操作时,所述服务器检查所述用户是否有对所述特定档案进行所述档案操作的权限;当侦测到所述用户没有对所述特定档案进行所述档案操作的权限时,所述服务器拒绝所述档案操作;以及所述方法还包括:依据所述特定档案,对所述电子装置进行一回复运作,以复原所述同步档案集合当中对应于所述特定档案的一档案。6.如权利要求1所述的方法,其特征在于,当所述用户的权限被改变时,所述服务器将所述用户的权限的至少一改变通知所述电子装置;以及所述方法还包括:依据所述用户的权限的所述至少一改变,更新所述元数据。7.如权利要求6所述的方法,其特征在于,依据所述用户的权限的所述至少一改变更新所述元数据的步骤还包括:依据所述用户的权限的所述至少一改变,更新所述元数据,以于所述同步档案集合中新增或删除至少一档案。8.如权利要求1所述的方法,其特征在于,依据所述多个档案中的至少一档案在一操作系统中的属性,所述服务器针对所述多个档案中的一特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果,其中所述至少一档案包括所述特定档案;以及依据所述至少一检查结果,所述服务器决定所述特定档案的元数据,以供进行所述特定档案的档案同步控制。9.如权利要求8所述的方法,其特征在于,所述特定档案不是目录、也不是档案夹。10.如权利要求1所述的方法,其特征在于,所述多个档案中的一特定档案的元数据包括所述特定档案在一操作系统中的属性;以及所述方法还包括:依据所述特定档案在所述操作系统中的所述属性,针对所述特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果,以供进行所述特定档案的档案同步控制。11.一种用来进行档案同步控制的方法,所述方法应用于一服务器,其特征在于包括有下列步骤:自所述服务器传送多个档案的元数据至一电子装置,以容许所述电子装置将所述元数据储存于所述电子装置中的一储存模块,其中所述多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过至少一网络彼此沟通,以及所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作;以及依据所述元数据,利用所述电子装置控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。12.如权利要求11所述的方法,其特征在于,所述电子装置周期性地询问所述服务器是否所述多个档案中的任一档案的存取规则被改变;以及所述方法还包括:在所述多个档案中的所述档案的存取规则被改变的状况下,将所述存取规则中的至少一改变通知所述电子装置,以容许所述电子装置依据所述存取规则中的所述至少一改变更新所述元数据。13.如权利要求11所述的方法,其特征在于,还包括:当所述多个档案中的一档案的存取规则被改变时,将所述存取规则中的至少一改变通知所述电子装置,以容许所述电子装置依据所述存取规则中的所述至少一改变更新所述元数据。14.如权利要求11所述的方法,其特征在于,还包括:当所述电子装置送出一请求、且所述请求是用来对所述多个档案中的一特定档案进行一档案操作时,检查所述用户是否有对所述特定档案进行所述档案操作的权限;以及当侦测到所述用户没有对所述特定档案进行所述档案操作的权限时,拒绝所述档案操作,以容许所述电子装置依据所述特定档案对所述电子装置进行一回复运作,以复原所述同步档案集合当中对应于所述特定档案的一档案。15.如权利要求11所述的方法,其特征在于,还包括:当所述用户的权限被改变时,将所述用户的权限的至少一改变通知所述电子装置,以容许所述电子装置依据所述用户的权限的所述至少一改变更新所述元数据。16.如权利要求11所述的方法,其特征在于,还包括:依据所述多个档案中的至少一档案在一操作系统中的属性,针对所述多个档案中的一特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果,其中所述至少一档案包括所述特定档案;以及依据所述至少一检查结果,决定所述特定档案的元数据,以供进行所述特定档案的档案同步控制。17.如权利要求16所述的方法,其特征在于,所述特定档案不是目录、也不是档案夹。18.如权利要求11所述的方法,其特征在于,所述多个档案中的一特定档案的元数据包括所述特定档案在一操作系统中的属性;以及所述方法还包括:依据所述特定档案在所述操作系统中的所述属性,针对所述特定档案进行多个检查运作中的至少一检查运作,以产生至少一检查结果,以供进行所述特定档案的档案同步控制。19.一种用来进行档案同步控制的装置,所述装置包括一服务器的至少一部分,其特征在于:包括有:一网络接口电路,设置于所述服务器,用来通过至少一网络提供一存取服务予一电子装置,其中多个档案的档案内容是储存于所述服务器,而所述电子装置与所述服务器通过所述至少一网络彼此沟通;以及一处理电路,耦接至所述接口电路且设置于所述服务器,用来自所述服务器传送所述多个档案的元数据至所述电子装置,以容许所述电子装置将所述元数据储存于所述电子装置中的一储存模块,其中所述元数据包括分别对应于所述多个档案的存取规则以分别指出所述电子装置的一用户是否有权限对所述多个档案进行档案操作,其中所述处理电路依据所述元数据利用所述电子装置控制所述电子装置与所述服务器之间的档案同步,以更新所述电子装置中的一同步档案集合。【文档编号】G06F17/30GK105844171SQ201510724132【公开日】2016年8月10日【申请日】2015年10月29日【发明人】朱百,朱百一,李文诵,吴奕圻,郭青桦【申请人】群晖科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1