CN1828599B - 用于幻影同步的系统和方法 - Google Patents

用于幻影同步的系统和方法 Download PDF

Info

Publication number
CN1828599B
CN1828599B CN2006100092935A CN200610009293A CN1828599B CN 1828599 B CN1828599 B CN 1828599B CN 2006100092935 A CN2006100092935 A CN 2006100092935A CN 200610009293 A CN200610009293 A CN 200610009293A CN 1828599 B CN1828599 B CN 1828599B
Authority
CN
China
Prior art keywords
file
project
version
metadata
group
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.)
Active
Application number
CN2006100092935A
Other languages
English (en)
Other versions
CN1828599A (zh
Inventor
B·S·拉曼
I·胡迪斯
L·诺维克
O·C·埃齐鲁
R·M·饶
吴蕴新
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1828599A publication Critical patent/CN1828599A/zh
Application granted granted Critical
Publication of CN1828599B publication Critical patent/CN1828599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于同步具有元数据和原始数据的数据库的系统和方法。元数据可在两个系统之间完全同步,而使其副本储存在两个系统上。原始数据可被选择性地同步,使得客户机系统无需本地储存所有原始数据。当断开连接时,客户机系统可标识原始数据中要本地储存的某些部分,且这些数据可在重新连接到服务器时同步。

Description

用于幻影同步的系统和方法
技术领域
本发明一般涉及计算机数据库,尤其涉及数据库的同步。
背景技术
同步的数据库是可单独使用,但有时可相对彼此更新的数据库。例如,便携式计算机上的文件系统可以与办公室中的服务器上的文件系统连接。当便携式计算机在办公室外使用时,某些数据可储存在便携式计算机上,使得用户可继续工作。某些文件可在便携式计算机上以及同样地在服务器上改变和更新。
便携式计算机和服务器上的文件结构可以在便携式计算机被带回办公室时同步。来自便携式计算机的更新的文件可以被传输到服务器,同样,来自服务器的更新的文件可以被传输到便携式计算机。当文件结构包含非常大量的数据时,同步可以是非常漫长的,且可能要求便携式和服务器计算机上大量的存储空间。
因此,有利的是提供一种系统和方法,其中可在连接和未连接的情况下在数据库上执行有用的工作,而无需漫长和耗费空间的同步。
发明内容
本发明提供了一种用于同步具有元数据和原始数据的数据库的系统和方法。元数据可以完全在两个系统之间同步,而使其副本储存在两个系统上。原始数据可以被选择性地同步,使得客户机系统无需本地储存所有的原始数据。当断开连接时,客户机系统可以标识要本地储存的原始数据的某些部分,且这些数据可以在重新连接到服务器时同步。元数据可包含涉及原始数据的各种项目。由此,即使不存在原始数据,那些元数据也可向客户机系统提供各种有用的功能。元数据的操纵,包括操纵原始数据或导致对原始数据的改变的某些功能,可以“离线”执行,而无需原始数据存在。当最后的重新同步事件发生时,那些改变可被传播到原始数据。
附图说明
附图中:
图1是示出同步的数据库系统的实施例的图示。
图2是示出显示用于创建涉及文件的项目的方法的实施例的流程图。
图3是示出用于同步幻影文件的事件序列的实施例的图示。
图4是示出用于同步幻影文件的方法的实施例的流程图。
图5是示出用于同步对原始数据文件和元数据的改变的方法的实施例的流程图。
具体实施方式
尽管本发明容许各种修改和替换形式,在附图中作为示例示出了本发明的具体实施例,且将在此详细描述。然而应当理解,并不意图将本发明限于所揭示的具体形式,相反,本发明旨在覆盖落入由权利要求书定义的精神和范围内的所有修改、等效技术方案和替换方案。一般而言,选择这些实施例以强调本发明的特定发明性方面或特征。
贯穿本说明书,在所有附图的描述中,相同的标号表示相同的元素。
当元素被称为“连接的”或“耦合的”时,元素可以直接连接或耦合在一起,或者也可存在一个或多个介于中间的元素。
本发明可以被实施为设备、系统、方法和/或计算机程序产品。因此,本发明的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来实施。此外,本发明可采用计算机可使用或计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品具有包含在介质中的计算机可使用或计算机可读程序代码,以供指令执行系统使用或结合其一起使用。在本文档的上下文中,计算机可使用或计算机可读介质可以是可包含、储存、通信、传播或传输程序以供指令执行系统、装置或设备使用或结合其一起使用的任何介质。
计算机可使用或计算机可读介质可以是,例如但不限于,电、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。作为示例,而非局限,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由指令执行系统访问的任一其它介质。注意,计算机可使用或计算机可读介质可以是其上可打印程序的纸张或另一合适的介质,因为程序可以例如通过对纸张或其它介质的光学扫描,然后在需要时编译、解释或以其它合适的方式处理,然后储存在计算机存储器中来电子地捕捉。
通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
当本发明在计算机可执行指令的通用上下文中实施时,该实施例可包括由一个或多个系统、计算机或其它设备执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能可以如各实施例中所需的组合或分布。
图1示出了显示同步的数据库系统的本发明的实施例100。服务器系统102和客户机系统104通过通信路径106连接。
服务器系统102具有包含项目存储库110的存储系统108。项目112、114和116由分别由参数118、122和124组成。项目112涉及文件120。类似地,项目116涉及文件126。
客户机系统104具有包含项目存储库130的存储系统128。项目132、134和136分别由参数138、142和144组成。项目132涉及幻影文件140。项目144涉及同步的文件146。
服务器系统102和客户机系统104可以是可储存和操纵数据的计算机系统或任何其它设备。在一个实施例中,服务器系统102可以是服务器计算机,而客户机系统104可以是客户机计算机,诸如便携式膝上型计算机。在其它实施例中,客户机系统104可以是便携式媒体播放器、个人信息管理器、或至少具有某一数据存储的其它设备。
通信路径106可以是服务器102和客户机104用于通信的任何类型的通信机制。示例包括,但不限于,诸如以太网、令牌环、串行或并行通信等各种有线通信协议、各种无线协议、电话技术或任何其它通信介质。在其中客户机系统104是膝上型计算机的一个示例中,通信路径106可以是互联网连接。在某些情况下,可使用各种加密协议。
存储设备108和128可以是硬盘存储系统,或者可以是任何其它类型的存储介质,包括诸如闪存等固态存储器。在某些情况下,存储介质可以是非易失性存储器,而在其它情况下,可使用易失性存储器。可使用任何类型的数据存储介质。
项目112、114和116可包含元数据,以及对于各种应用程序有用的数据。在典型的通用计算机系统的示例中,各种项目可涉及可由在计算机系统上操作的应用程序使用的任何类型的数据。例如,可创建项目来储存涉及电话联系人、日历上的事件、要执行的任务等的信息。
每一项目包含各种参数,参数可以是对该类型的项目专用的值。例如,联系人项目可包含储存联系人的名字、公司、地址和电话号码的参数。不同类型的项目可具有不同的参数,取决于项目的目的和功能。
其它项目可涉及特定的原始数据文件,诸如分别具有与文件120和126的关系的项目112和116。在这些情况下,项目可使其部分或所有参数从文件中导出。这些项目可以被称为文件后援项目(file backed item)。例如,包含音频唱片的文件可具有包含诸如艺术家名字、曲目名、唱片长度和其它参数等元数据的文件后援项目。类似地,包含文字处理程序文档的文件可具有包含文档标题、作者名字、主题和其它分类参数的相关联的文件后援项目。
具有相关文件的文件后援项目可包含关于该文件的各种元数据。这些元数据可包括可通过直接分析文件来确定的导出数据,以及非导出数据。导出数据可通过执行从原始数据文件中精选特定信息并确定各种参数值的分析例程来创建。这些例程可以对于各种类型的文件不同。例如,与文字处理程序文档相关联的文件后援项目可以通过扫描文档来确定标题、目录、关键词、作者或其它参数来创建。这些元数据直接包含在原始数据中。
在某些情况下,信息可从原始数据文件中精选、对照外部数据库来查询、或以其它方式处理来确定适当的参数值。例如,音频唱片可具有可对照在线数据库来检查以确定艺术家、曲名、专辑、流派和原始发行日期的标识符。该元数据是基于原始数据的内容导出的,即使所导出的元数据不包含在原始数据本身中也是如此。
在某些实施例中,数据库中的每一文件具有一个相关的文件后援项目。在其它实施例中,单个文件后援项目可涉及若干原始数据文件,或者单个原始数据文件可具有若干相关联的文件后援项目。
非导出数据可包括不是从原始数据本身派生的其它信息。例如,涉及音频唱片的参数可包括用户对唱片的分级或播放该唱片的次数。
可配置系统,使得对导出元数据或原始数据文件的改变被传播到对方。例如,如果改变是在编辑文档时对文字处理程序文档的标题做出的,则标题改变随后可以在相关联的文件后援项目的元数据中更新。类似地,如果用新的标题改变来更新文件后援项目,则文档的标题可被传播回原始数据文件。
为本说明书的目的,术语“文件后援项目”是一般术语“项目”的子集。文件后援项目的所有描述和限制都应适用于所有项目,且一般项目的某些但非全部描述和限制可应用于术语文件后援项目。术语文件后援项目应指的是包含以某种方式从至少一个相关联的文件的原始数据中导出的至少某些元数据的项目。
客户机系统104与服务器系统102同步。当被同步时,服务器的项目存储库110与客户机的项目存储库130同步。在初始同步时。服务器系统102可仅将整个项目存储库110复制到客户机系统104。
后续的同步事件可以涉及检测自从最后一次同步事件以来哪些项目被更新或改变。如果自从最后一次同步以来有项目被更新,但是对方系统上的对应项目没有改变,则更新的项目可被复制到对方系统。如果项目及其对方系统上对应的项目都被更新,则必须决定选择一个还是另一个项目。在某些实施例中,可使用规则用于确定要保留哪些项目,而在其它实施例中,可查询用户。文件的同步可遵循与项目同步相同的方法。
在某些实施例中,可在同步时向每一元数据项目或原始数据文件分配指示符。指示符可用于确定是否更新了项目或原始数据。在某些实施例中,可使用递增计数器作为版本标识符。在每次更新元数据或原始数据之后,可递增计数器,使得当同步事件发生时,可将服务器的版本标识符与客户机元数据或原始数据进行比较,以确定自从同步以来是否发生了更新。
在其它实施例中,可使用时间标记作为版本指示符。时间标记可以包括日期和时间,或者可以是诸如已编码的时间信号等另一时间指示符。在另外一些实施例中,简单的标志可指示是否已更新了项目或原始数据集。
在本图中,项目118、122和124分别与项目132、134和136同步。类似地,文件126与文件146同步。
文件140不与文件120同步,而是被示出为“幻影”。文件140可具有文件的某些属性,诸如目录系统中的占位符,但是在文件140之下的原始数据可能不在客户机系统104上可用。当客户机系统104与服务器系统102断开连接时,涉及文件140的项目138可能可用,但是文件140中的原始数据可能不可用。
由于涉及文件140的元数据包含在文件后援项目132中,因此某些功能可操作可对客户机系统104的用户可用。使用包含在文件140中的音频文件的示例,客户机系统104可能能够显示各种音频曲目、对各个曲目进行分级、将曲目组合成播放列表或其它有用的分组、以及仅使用项目132中包含的元数据来执行其它操作。
另外,包含在项目138中的元数据可用于操纵文件140的各方面。例如,项目132可以用于指示文件140要被同步而非建立幻影。这一指示可使得文件120在下一同步事件被复制到文件140。在另一示例中,项目132可用于将文件移至不同的目录或分层结构中。类似地,项目132可用于指示文件140要被删除。
可使用项目132作为要在其上采取动作的数据以及可用于储存动作以供稍后执行的一种机制,来指示许多其它动作。使用音频唱片的示例,项目132可被显示,作为某一流派的音乐查询的结果。用户可选择项目132以从数据库中删除。由于仅文件140被建立幻影而非原始数据文件,因此对应的项目118和文件120的删除在下一同步之前并不会发生。由此,删除操作可作为参数储存在项目132中,直到下一同步发生。
诸如文件140等幻影文件的一个实际的好处是具有许多原始数据文件的大数据库可以比客户机存储128能够包含的容量大得多。然而,由于包含在储存在项目存储库130中的各种项目中的元数据,仍存在很多无用的数据。
在某些实施例中,包含在文件120和126中的原始数据可以被分类,或者对仅在存在特定的得知需求时才同步的原始数据文件加密。涉及文件的元数据可在低于原始数据的级别上取消分类或分类。例如,包含竞争性敏感信息、机密的军事信息或其它敏感信息的原始数据文件可保存在服务器系统102上,而不被传输到客户机系统104,除非有必要。
在其它实施例中,原始数据可以是格外大的文件,该文件可能需要长时间以在服务器系统102和客户机系统104之间传输。例如,如果原始数据文件仅是大小为若干千兆字节的几个电影文件,则同步电影库可能需要花费好几分钟或甚至是几个小时,取决于通信路径106的吞吐量等等。
项目存储库110和130可以是可用于储存元数据和其它数据的任何类型的数据存储。在某些实施例中,项目存储库110和130可以是目录中的单个文件,或者可以是多个目录中的多个文件。在其它实施例中,项目存储库110和130可以与原始数据一起储存在任何其它类型的数据存储模式中。
图2是可用于从文件生成元数据的方法的实施例200的流程图。该过程在框202开始。文件在框204储存在文件系统中。在框206创建涉及文件的项目。如果在框208文件是特殊类型,则在框210运行分析程序来生成元数据。在框212,元数据储存在项目中。如果在框208文件不是特殊类型,或在框212当元数据储存在项目中时,在框214项目被储存在存储库中。该过程在框216结束。
实施例200示出了其中可从原始数据生成元数据的一种方法。在实施例200中,原始数据可以是计算机系统中的文件的形式。如果文件是预定的类型,则对原始数据的分析可以确定一个或多个元数据参数的值。这些参数储存在项目中。
实施例200在一个应用程序创建原始数据文件,但是元数据可以在第二种应用中有用时是有用的。例如,如果原始数据文件是由文字处理程序创建的,则诸如作者、标题、主题等各种元数据参数可从原始数据中提取。元数据可由文档管理应用程序用于查询、显示和操纵涉及文档的各种参数。
在另一实施例中,包含数值测试数据的原始数据文件可以由测试装置创建。在框210,分析程序可操作以从数据中提取测量概要参数,诸如最大和最小值。诸如标识测试装置、测试主题、样本大小的参数等附加元数据或其它元数据可被单独地添加到项目。
图3是用于同步的序列的实施例300的图示。该过程示出了初始连接301、系统断开连接的时间段325以及重新连接时的动作326。
在初始连接301中,服务器302和客户机304被连接在一起。服务器302具有包含项目存储库310中的项目308的存储系统306。项目308中的某一些具有相关的文件312和314。在初始连接301期间,用包含项目320的同步的项目存储库318来填充客户机存储316,项目320是来自服务器302的项目308的副本。在客户机304上建立两个引用服务器的文件312和314的幻影,作为文件322和324。
在初始连接301期间,项目存储库310和318被同步,且在服务器上建立原始数据文件312和314的幻影作为幻影文件322和324。
框325示出当切断连接时系统的状态。服务器302维护存储306。客户机304具有包含项目存储库318的存储316,该项目存储库使得能够执行各种元数据和其它功能。当断开连接时,可选择幻影文件324以供未来的同步。
框326示出在重新连接之后的系统。服务器302和客户机304被重新连接。项目存储库310和318在存储系统306和316之间同步。作为同步例程的一部分,文件314替换幻影文件324,使得文件324的原始数据在断开连接后可用。
实施例300示出了将幻影文件切换到完全可使用的文件的一种方法。在实施例300中,可选择幻影文件以在下一次同步时“取消幻影”或制作全功能的文件。涉及原始数据文件的项目和元数据在离线模式中可用,如框325所示。这些项目和元数据可用于许多不同的功能,包括选择特定的原始数据文件以使其离线可用。
图4是用于同步幻影文件的方法的实施例400的流程图。在框402,连接客户机和服务器。在框404,同步客户机和服务器之间的改变。当连接时,在框406,客户机可操纵、编辑、添加和删除项目以及直接访问服务器上的原始数据文件。在框408,客户机可标识原始数据文件以供远程使用,且在框410,这些原始数据文件被同步到客户机。
当客户机和服务器在框412断开连接时,客户机可在框414使用项目存储库的本地副本来操纵、编辑、添加和删除项目,以及本地访问同步的原始数据文件。客户机也可在框416标识幻影原始数据文件以供远程使用。此外,客户机可在框418移除同步得到的原始数据文件。该动作可包括在框418实际从客户机数据存储中删除原始数据。
当客户机和服务器在框402重新连接时,在框404,对项目的任何改变以及对先前同步的原始数据文件的任何改变被同步。被“取消幻影”或标记为可以离线可用的任何文件也在框404被同步。
包含原始数据和元数据的数据库在两个阶段中同步。在第一阶段中,在服务器和客户机之间同步元数据,而原始数据保留在服务器系统上。当连接或断开连接时,客户机系统可使用并操纵该元数据用于任何目的,包括选择一个或多个要在客户机系统上可用的原始数据文件。同步的第二阶段是同步选择的原始数据到客户机系统。同步的原始数据可在断开连接时被操纵、改变并在客户机系统上使用。在重新连接时,对元数据或原始数据做出的任何改变在系统之间同步。
实施例300和400的一个示例可包括用于音乐文件的文件结构。文件312和314可以是诸如MP3格式或其它数字格式等数字化音频文件。每一音频文件的项目308可包含艺术家、曲目名以及唱片长度。项目可储存在项目存储库310中,且与项目存储库320完全同步。
当切断连接之后,如图3中的状态325,客户机系统304的用户能够浏览、操纵和改变存储库318中的项目。例如,用户可按照艺术家来对项目进行排序、选择若干项目、以及向项目排列成音频播放列表。即使音频文件不在数据存储316中存在,用户仍可对音频文件执行许多不同的任务。用户可另外标记要同步的文件324。
当系统在状态325断开连接时,可对文件322和324使用占位符。文件是“幻影”的,且在目录结构中可能可见或不可见。例如,幻影文件可以被显示为灰色的或半透明的。
当在状态326恢复连接时,对项目存储库310和318的任何改变被同步,然后所标记的任何幻影文件,如文件324被同步。完全同步的文件324然后被传输到客户机304,且在客户机304从服务器302断开连接时可使用。
图5是示出用于处理具有文件后援项目的同步系统的方法的实施例500的流程图。在框502,同步数据存储,然后在框504客户机和服务器断开连接。由于服务器包含用于文件后援项目的元数据和原始数据文件两者,因此可以在框506在服务器上做出对这两者的改变。由于客户机系统仅有文件后援项目的元数据部分,因此在框508仅在客户机上做出对元数据的改变。当客户机和服务器重新连接时,在框510同步所有的改变。对于框512中的每一文件,如果文件在框514中被更新,则在框516改变被传播到元数据。对于框518中的每一元数据,如果元数据在框520中被更新,则在框522改变被传播到元数据文件。在传播了所有改变之后,操作在框524中连接的状态中恢复。
实施例500是用于将对文件后援项目或与文件后援项目相关联的原始数据的改变保持最新的一种方法。对文件后援项目的原始数据或相关的元数据的改变用于更新对方。
例如,若干文字处理文档文件的每一个可与文件后援项目相关联。诸如章节标题、标题、关键词以及作者等参数可从原始数据文件中导出,并作为元数据储存在文件后援项目中。当同步数据存储时,具有元数据的文件后援项目被储存在客户机系统上,而文件后援项目以及原始数据都被储存在服务器上。
当客户机和服务器断开连接时,可在服务器上通过直接编辑文字处理程序文档来对原始数据文件做出改变。另外,对元数据的改变可通过编辑文件后援项目来做出。在客户机方,只能对元数据做出改变,因为原始数据不可用。在本示例中,一个文字处理程序文档可以在服务器上编辑以向该文档添加新的章节。章节标题可以从原始数据文件中导出,并添加到文件后援项目的元数据中。类似地,不同的文件后援项目中的作者参数可在客户机系统上改变。
当客户机和服务器重新连接时,对原始数据文件的改变,诸如在服务器上添加到文件的附加章节,被传播到相关的文件后援项目的元数据。在某些情况下,可在做出改变但未被传播到客户机时在服务器上传播改变,直到重新连接。
类似地,在客户机上对元数据的改变,诸如上例中的作者改变可以在客户机和服务器重新连接时被传播到服务器上的原始数据文件中。可打开文字处理程序文档,找出原始数据文件中包含作者值的部分,并用新的值覆盖旧的值。
以上本发明的描述是为了说明和描述的目的而呈现的。它并非旨在穷尽或将本发明限于所揭示的精确形式,且鉴于上述教导,其它修改和变体也是可能的。选择并描述该实施例是为了最佳地解释本发明的原理及其实际应用,由此使得本领域的技术人员能够在各种实施例以及适用于所构想的特定用于的各种修改中最好地利用本发明。所附权利要求书旨在被解释为包括由现有技术所限定的范围之外的本发明的其它替换实施例。

Claims (26)

1.一种用于同步的系统,包括:
第一组文件;
第一组项目,所述项目中的至少一个是文件后援项目,其中文件后援项目包括从与其相关联的所述第一组文件中的一个文件导出的元数据;
第一系统,所述第一系统具有第一数据存储,所述第一数据存储包括所述第一组文件和所述第一组项目;
第二系统,所述第二系统具有第二数据存储,并适用于:
当与所述第一系统连接时,在所述第一数据存储和所述第二数据存储之间同步所述第一组项目,并同步所述第一组文件的先前标识的子集;
当与所述第一系统断开连接时,标识所述第一组文件中要同步的至少一个文件,其中,所述第一组文件中要同步的所述至少一个文件不是所述子集的成员并且当前未存储在所述第二数据存储中;以及
当随后连接到所述第一系统时,将所述第一组文件中要同步的所述至少一个文件从所述第一数据存储同步到所述第二数据存储。
2.如权利要求1所述的系统,其特征在于,所述第一组文件中的每一文件具有与其相关联的至少一个文件后援项目。
3.如权利要求1所述的系统,其特征在于,所述第一系统适用于:
通过为所述第一组文件中的一个文件确定文件类型,并基于所述文件类型确定预定项目的元数据值,来导出文件后援项目的元数据。
4.如权利要求1所述的系统,其特征在于,所述第一系统适用于:
通过为所述第一组文件中的一个文件确定文件类型,并通过概括包含在所述第一组文件中的所述一个文件中的数据的至少一部分确定元数据值,来导出文件后援项目的元数据。
5.如权利要求1所述的系统,其特征在于,所述同步所述第一组文件中要同步所述至少一个文件包括:
标识对与所述文件后援项目相关联的所述文件的改变;以及
将所述改变传播到所述文件后援项目中的所述元数据。
6.如权利要求5所述的系统,其特征在于,所述同步所述第一组文件中要同步的所述至少一个文件包括:
标识对所述文件后援项目中的所述元数据的改变;以及
将该改变传播到与所述文件后援项目相关联的所述文件。
7.如权利要求1所述的系统,其特征在于,所述第一系统是服务器计算机。
8.如权利要求1所述的系统,其特征在于,所述第二系统是客户机计算机。
9.如权利要求1所述的系统,其特征在于,所述第二系统是移动设备。
10.如权利要求1所述的系统,其特征在于,当断开连接时,所述第二系统还适用于使用所述项目来标识所述第一组文件中要同步的所述至少一个文件。
11.如权利要求1所述的系统,其特征在于,当断开连接时,所述第二系统还适用于标识所述第一组文件中要从同步中移除的至少一个文件。
12.如权利要求1所述的系统,其特征在于,所述同步所述第一组项目的步骤包括以下方法:
找出所述第一系统上具有第一版本的项目,并找出所述第二系统上具有第二版本的对应项目;
标识所述第一版本或所述第二版本中的哪一个将成为保留版本;以及
复制所述保留版本,使得所述第一数据存储和所述第二数据存储均包含所述保留版本。
13.如权利要求12所述的系统,其特征在于,所述标识所述第一版本或所述第二版本中的哪一个将成为保留版本的步骤包括:
检查更新指示符,以确定自从最后一次同步以来所述第一版本或所述第二版本的其中一个已发生改变。
14.如权利要求13所述的系统,其特征在于,所述更新指示符是时间标记。
15.如权利要求13所述的系统,其特征在于,所述更新指示符是标志。
16.如权利要求13所述的系统,其特征在于,所述更新指示符是版本号。
17.一种用于同步的方法,包括:
在第一系统上的第一文件存储中储存文件;
在所述第一系统上的项目存储中创建与所述文件相关的元数据,所述元数据是从所述文件的内容中导出的,且包含在文件后援项目中;
将第二系统连接到所述第一系统,所述第二系统具有第二文件存储和第二项目存储,且当连接时,将所述第一项目存储与所述第二项目存储同步;
将所述第二系统与所述第一系统断开连接,且当断开连接时,标识在重新连接时要同步的文件,其中该文件当前未包含在所述第二文件存储中;以及
将所述第二系统重新连接到所述第一系统,且当连接时,将来自所述第一文件存储的被标识为要同步的文件同步到所述第二文件存储。
18.如权利要求17所述的方法,其特征在于,将所述第一项目存储与所述第二项目存储同步的步骤包括:
找出所述第一系统上具有第一版本的项目,并找出所述第二系统上具有第二版本的对应项目;
标识所述第一版本或所述第二版本中的哪一个将成为保留版本;以及
复制所述保留版本,使得所述第一项目存储和所述第二项目存储都包含所述保留版本。
19.如权利要求18所述的方法,其特征在于,所述标识所述第一版本或所述第二版本中的哪一个将成为保留版本的步骤包括:
检查更新指示符以确定自从最后一次同步以来所述第一版本和所述第二版本中的一个已经改变。
20.如权利要求19所述的方法,其特征在于,所述更新指示符是时间标记。
21.如权利要求19所述的方法,其特征在于,所述更新指示符是标志。
22.如权利要求19所述的方法,其特征在于,所述更新指示符是版本号。
23.如权利要求17所述的方法,其特征在于,所述元数据是通过以下方法导出的:
为所述文件确定文件类型;以及
基于所述文件类型确定预定项目的元数据值。
24.如权利要求17所述的方法,其特征在于,所述元数据是通过以下方法导出的:
为所述文件确定文件类型;以及
通过概括所述文件中包含的数据的至少一部分确定元数据值。
25.如权利要求17所述的方法,其特征在于,还包括:
标识对与所述文件后援项目相关联的所述文件的改变;以及
将所述改变传播到所述文件后援项目中的所述元数据。
26.如权利要求25所述的方法,其特征在于,还包括:
标识对所述文件后援项目中的所述元数据的改变;以及
将该改变传播到与所述文件后援项目相关联的所述文件。
CN2006100092935A 2005-02-22 2006-02-21 用于幻影同步的系统和方法 Active CN1828599B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/063,381 2005-02-22
US11/063,381 US7720890B2 (en) 2005-02-22 2005-02-22 Ghosted synchronization

Publications (2)

Publication Number Publication Date
CN1828599A CN1828599A (zh) 2006-09-06
CN1828599B true CN1828599B (zh) 2010-06-16

Family

ID=36084249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100092935A Active CN1828599B (zh) 2005-02-22 2006-02-21 用于幻影同步的系统和方法

Country Status (5)

Country Link
US (1) US7720890B2 (zh)
EP (1) EP1693771A1 (zh)
JP (1) JP5058495B2 (zh)
KR (1) KR101279763B1 (zh)
CN (1) CN1828599B (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156123B2 (en) * 2004-06-25 2012-04-10 Apple Inc. Method and apparatus for processing metadata
US9898517B2 (en) * 2006-04-21 2018-02-20 Adobe Systems Incorporated Declarative synchronization of shared data
JP4222404B2 (ja) * 2006-10-18 2009-02-12 船井電機株式会社 クライアント・サーバシステム
US20080162728A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Synchronization protocol for loosely coupled devices
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US9053113B2 (en) * 2007-03-28 2015-06-09 International Business Machines Corporation Autonomic generation of document structure in a content management system
US20090083441A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Synchronization of web service endpoints in a multi-master synchronization environment
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
KR101452725B1 (ko) * 2007-11-20 2014-10-21 삼성전자주식회사 휴대 단말기 및 그 데이터 동기화 방법
US8825758B2 (en) * 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8078957B2 (en) 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8631351B2 (en) * 2008-06-29 2014-01-14 Microsoft Corporation Providing multiple degrees of context for content consumed on computers and media players
US8527525B2 (en) 2008-06-30 2013-09-03 Microsoft Corporation Providing multiple degrees of context for content consumed on computers and media players
JP2010064336A (ja) * 2008-09-10 2010-03-25 Canon Inc 画像形成装置、情報処理システム、画像形成装置の制御方法、プログラム及び記憶媒体
JP5577623B2 (ja) * 2009-05-14 2014-08-27 リコーイメージング株式会社 撮像装置
US8219526B2 (en) * 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US20110029482A1 (en) * 2009-07-29 2011-02-03 Roger Brian Gimson Synchronizing a change of a modular document
US8972843B2 (en) * 2009-07-29 2015-03-03 Hewlett-Packard Development Company, L.P. Sending a subset of component documents of a modular document to an electronic device
CN102346740B (zh) * 2010-08-02 2016-08-10 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
KR101697979B1 (ko) * 2010-11-23 2017-01-19 삼성전자주식회사 네트워크로 연결 가능한 기기에서 데이터를 동기화하기 위한 장치 및 방법
US9134137B2 (en) 2010-12-17 2015-09-15 Microsoft Technology Licensing, Llc Mobile search based on predicted location
US8868500B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Data synchronization
US8332357B1 (en) * 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization
CN102289476A (zh) * 2011-07-29 2011-12-21 河南辉煌科技股份有限公司 事务日志的记录方法
US10706096B2 (en) 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
US9183546B2 (en) * 2011-10-07 2015-11-10 Hewlett-Packard Development Company, L.P. Methods and systems for a reminder servicer using visual recognition
US8965847B1 (en) * 2011-10-28 2015-02-24 Oxygen Cloud, Inc. Independent synchronization of file data and file metadata
US20130311597A1 (en) * 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
JP5674161B2 (ja) * 2012-05-21 2015-02-25 Necフィールディング株式会社 文書管理システム、文書閲覧装置、文書データ管理装置とプログラム
US9495377B2 (en) 2012-09-12 2016-11-15 International Business Machines Corporation Secure deletion operations in a wide area network
US9614932B2 (en) 2013-03-14 2017-04-04 Microsoft Technology Licensing, Llc Managing and implementing web application data snapshots
US9552363B2 (en) * 2013-04-30 2017-01-24 Microsoft Technology Licensing, Llc File management with placeholders
US9405767B2 (en) 2013-05-01 2016-08-02 Microsoft Technology Licensing, Llc Streaming content and placeholders
US20150052105A1 (en) * 2013-08-16 2015-02-19 Filelize, Inc. Cloud-based synchronization of related file sets
JP6337605B2 (ja) * 2014-05-14 2018-06-06 コニカミノルタ株式会社 更新管理装置、画像形成装置、更新管理装置の制御プログラム、および画像形成装置の制御プログラム
CN105224546B (zh) * 2014-06-04 2020-10-30 创新先进技术有限公司 数据存储和查询方法及设备
KR101634571B1 (ko) 2014-07-31 2016-07-08 주식회사 파수닷컴 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체
CA2952988C (en) * 2014-08-26 2023-03-21 Ctera Networks, Ltd. Method and system for routing data flows in a cloud storage system
CN106156094B (zh) * 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
WO2018027744A1 (zh) * 2016-08-11 2018-02-15 王志远 保持进度时的信息推送方法和保存系统
CN108076081B (zh) * 2016-11-09 2021-02-26 菜鸟智能物流控股有限公司 一种业务数据的同步方法、装置和系统
US10565168B2 (en) 2017-05-02 2020-02-18 Oxygen Cloud, Inc. Independent synchronization with state transformation
KR101939199B1 (ko) 2018-09-17 2019-01-16 주식회사 에이에스디코리아 로컬 단말 및 이를 포함하는 동기화 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553391B1 (en) * 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
CN1489052A (zh) * 2002-10-11 2004-04-14 鸿富锦精密工业(深圳)有限公司 多节点文件同步系统及方法
CN1542637A (zh) * 2003-02-28 2004-11-03 微软公司 同步在对等计算设备中共享的数据的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937414A (en) * 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US6493720B1 (en) 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
JP2002149464A (ja) * 2000-08-17 2002-05-24 Fusionone Inc データ転送および同期システム用のベースローリングエンジン
WO2002077862A1 (en) 2001-03-27 2002-10-03 British Telecommunications Public Limited Company File synchronisation
US7133933B2 (en) * 2002-08-28 2006-11-07 Hewlett-Packard Development Company, L.P. Content synchronization frameworks using dynamic attributes and file bundles for connected devices
US7406499B2 (en) * 2003-05-09 2008-07-29 Microsoft Corporation Architecture for partition computation and propagation of changes in data replication
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6553391B1 (en) * 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
CN1489052A (zh) * 2002-10-11 2004-04-14 鸿富锦精密工业(深圳)有限公司 多节点文件同步系统及方法
CN1542637A (zh) * 2003-02-28 2004-11-03 微软公司 同步在对等计算设备中共享的数据的方法和系统

Also Published As

Publication number Publication date
KR20060093672A (ko) 2006-08-25
US20060190506A1 (en) 2006-08-24
JP5058495B2 (ja) 2012-10-24
KR101279763B1 (ko) 2013-07-04
JP2006236350A (ja) 2006-09-07
EP1693771A1 (en) 2006-08-23
US7720890B2 (en) 2010-05-18
CN1828599A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
CN1828599B (zh) 用于幻影同步的系统和方法
US10755234B2 (en) System and method for offline synchronization of exception items of shared services for client applications
US8332357B1 (en) Identification of moved or renamed files in file synchronization
CN102207957B (zh) 部分项改变跟踪和同步
US8655840B2 (en) Method, apparatus and computer program product for sub-file level synchronization
JP5027874B2 (ja) ユーザー関心事項に基づく移動通信装置のアプリケーションのランチングパッド装置及び駆動方法
US11409835B1 (en) Systems for launching content for publication
CN104537076A (zh) 一种文件读写方法及装置
CN108780465A (zh) 用于操作排序的基于属性的依赖性识别
US20150019490A1 (en) Optimistic Concurrency Utilizing Distributed Constraint Enforcement
JP2009129017A (ja) 文書移行支援システム、監視装置、文書移行支援装置、方法、およびプログラム
US20200356445A1 (en) Efficient backup, search and restore
US7587446B1 (en) Acquisition and synchronization of digital media to a personal information space
US10037370B2 (en) Method, a server, a system and a computer program product for copying data from a source server to a target server
US6922707B2 (en) File management method and content recording/playback apparatus
US20190121502A1 (en) Display of a plurality of files from multiple devices
JP5718953B2 (ja) 情報処理装置およびキュー記憶方法
Veeraraghavan et al. Fidelity-aware replication for mobile devices
CN108763425B (zh) 存储和读取音频文件的方法和装置
JP2006113663A (ja) データ保管システム、その方法、ファイルサーバ、端末およびプログラム
JP2007199763A (ja) 情報管理方法及び情報管理システム
JP2009193383A (ja) コンテンツマネージメントサーバ、コンテンツマネージメントプログラム及びコンテンツマネージメント方法
JP2010044696A (ja) プログラムライセンス管理システム及び管理方法
JPH11224215A (ja) ファイル管理方法およびその装置
JP2009053858A (ja) ユーザデータ表示システムおよびクライアント端末

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.