CN1177152A - 对一个存储文件的若干文件拷贝进行协调的方法 - Google Patents
对一个存储文件的若干文件拷贝进行协调的方法 Download PDFInfo
- Publication number
- CN1177152A CN1177152A CN97104979A CN97104979A CN1177152A CN 1177152 A CN1177152 A CN 1177152A CN 97104979 A CN97104979 A CN 97104979A CN 97104979 A CN97104979 A CN 97104979A CN 1177152 A CN1177152 A CN 1177152A
- Authority
- CN
- China
- Prior art keywords
- file
- dki
- data recording
- document copying
- log file
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
对一个存储文件(D)的若干文件拷贝(DKi)进行协调的方法,所述文件拷贝至少存储在一台计算机(Ri)内,每个文件拷贝分配一个记录文件(PDi),文件拷贝的修改被存储到已分配给所述经过修改的文件拷贝的记录文件内,根据记录文件确定对文件拷贝进行协调的建议,而且协调始于对数据记录的清除操作或建立操作的比较,所述的数据记录是存储在记录文件内的关于文件或文件拷贝的数据记录。
Description
本发明涉及一种方法,应用于分布式协同工作环境,即所谓组件(Groupware)***和所谓CSCW(计算机支持的协同工作)***。这些***当然可以支持在计算机上的不同工作组中的不同用户的各种各样的协同工作。
有效地使用CSCW***的条件是,***可以支持***内不同用户的同步和异步协同工作之间的简单过渡。
就以上条件而言,用户之间的协同工作意味着由CSCW***的某个用户发出的所有信息能即时传递给当时与CSCW***相连的所有其他用户。
这在同步协同工作的情况下是实时进行的。如果不能实时处理,即实时发送和接收信息对CSCW***中的所有用户不能实现,则表示用户处在所谓异步协同工作状态。
以上所述协同工作涉及由通信网络连接的计算机之间进行的所有电子数据交换方式。其中例如包括音频/视频会议,所谓的数据共享或者应用共享,电子邮件或所谓分布式日历工具。以上所列的项目并不是全部交换方式。
以上情况的一个非常简单的实例是,设想2个CSCW***上的用户处在不同的地点,他们共同开发一个文件,例如某种软件工具的帮助文件。每个用户以异步方式开发该文件分配给他的那部分,也就是与另一个用户毫不相关。但是在这2个用户之间经常有必要交换信息,甚至需要请第三个用户加入进来,以便将独立开发的文件的各部分组成一个完整的文件。为此例如需要使用电视会议和应用共享这些非常有效的方法,从而在其支持下将上述文件的各部分最终开发成一个完整的文件。
为了使流动的和无固定地点的用户也能有效地协同工作,十分重要的一点是工作环境,例如用户的CSCW***与整个工作环境中的个别用户的临时物理连接没有关系。为此必须为协同工作阶段以及非协同工作阶段之间提供一种简单的过渡方式。
上述非协同工作应当理解为以下状态,整个工作环境中至少有一个用户或者不向其他用户发送信息,或者不从其他用户接收信息。
这种非协同工作的可能性也被称为独立工作,它特别能够改善整个组织内的协同工作,如果组织内的各个部分分布在不同的地点,而且数据的传输成本很高或者所利用的网络处于高负荷状态或容易出现故障的话。
这种工作环境的实例是分布式办公工作环境和按照所谓远距离居家办公原则工作的开发小组,还包括分布式开发工具。
复制或拷贝公用的数据是为协同工作以及非协同工作之间提供一种简单的、不会感到较长时间延迟的过渡方式的重要前提。这样例如可使一个共同工作环境中的用户能够在出现通信故障时,自行对自己的那份数据拷贝继续进行处理,而没有任何限制。
如果与其他用户又重新建立了通信,则在非协同工作期间修改的数据必须重新并入公用的完整数据结构中。所以需要对一个文件的至少存储在一台计算机内的若干独立文件拷贝进行协调。
对若干独立文件拷贝进行协调的各种公知方法的概览见参考文献1。
参考文献2中描述了一种用于被称为GINA***的方法。该方法为各个数据拷贝分配了记录文件。根据GINA的方法,在独立阶段对各个数据拷贝进行处理时,可通过执行修改操作产生不同的版本。通过这种方法可在记录文件中形成一个所谓双分枝树。数据拷贝的协调然后按以下方式进行,将一个分枝挂在另一个分枝的端部。所以对一个分枝进行的操作同样也在另一侧执行。该方法没有柔性。此外该方法既没有考虑个别的冲突,也没有考虑消除冲突的顺序。
上述方法意味着在数据协调期间对相关的计算机增加了不必要的计算开销。此外该方法仅能用于2个数据拷贝的直接协调。
另一种方法被用在称为COCOON的***内,见参考文献3的介绍。在该方法中,也为文件拷贝分配了记录文件。但该方法应用了一种快速时序文件拷贝协调,其中对记录文件从开始至结束进行“处理”,对文件中进行的修改按时序完成处理。该方法隐含的缺点是,由于对记录文件的修改操作知识有限,所以不必要地进行了某些协调,或者以后必须重新修订,例如对以后清除的数据记录进行的结构性修改协调。
这意味着增加了计算机对计算时间的需求,以完成参考文献3描述的方法。
本发明的任务是,提供一种计算机支持的对一个文件的若干独立文件拷贝进行协调的方法,所述文件拷贝至少存储在一台计算机内,并大大减少所需的计算时间。
以上任务的解决方案有如下四个:
其一,为每个文件拷贝分配一个记录文件,对文件拷贝所做的修改被存储到记录文件内,该记录文件已分配给所述经过修改的文件拷贝;根据记录文件确定对文件拷贝进行协调的建议,而且协调开始于对数据记录的清除操作(delete)或建立操作(create)的比较,所述数据记录是存储在记录文件内的关于文件或文件拷贝的数据记录;根据用户的决定,将建议转换为对文件和文件拷贝的修改。
其二,文件具有数据记录,其形式为关系数据库结构;为每个文件拷贝分配一个记录文件;对文件拷贝所做的修改被存储到记录文件内,该记录文件已分配给所述经过修改的文件拷贝;根据记录文件确定对文件拷贝进行协调的建议,而且协调开始于对数据记录的清除操作(delete)或建立操作(create)的比较,所述数据记录是存储在记录文件内的关于文件或文件拷贝的数据记录;从记录文件中各选择出至少一个参考记录文件,以对预定的清除操作(delete)或建立操作(create)进行比较;根据用户的决定,将建议转换为对文件和文件拷贝的修改。
其三,文件具有数据记录,其形式为分级关系数据库结构;给数据记录分配至少一个信息空间;为每个文件拷贝分配一个记录文件;对文件拷贝所做的修改被存储到记录文件内,该记录文件已分配给所述经过修改的文件拷贝;根据记录文件确定对文件拷贝进行协调的建议,而且协调开始于对全部信息空间的比较;根据用户的决定,将建议转换为对文件和文件拷贝的修改。
其四,文件具有数据记录,其形式为分级关系数据库结构;给数据记录分配至少一个信息空间;为每个文件拷贝分配一个记录文件;对文件拷贝所做的修改被存储到记录文件内,该记录文件已分配给所述经过修改的文件拷贝;从记录文件中各选择出至少一个参考记录文件,以对预定的清除操作(delete)和/或建立操作(create)进行比较;根据参考记录文件内的修改,将建议转换为对文件和文件拷贝的修改。
根据权利要求1所述方法,对文件拷贝所做的修改被存储到分配给文件拷贝的记录文件内。对文件拷贝进行协调时,将各个记录文件加以比较。按照本发明,考察各个记录文件中的修改操作的顺序按照以下方式确定,协调过程开始于对数据记录的清除操作(delete)或建立操作(create)的比较,所述数据记录均是关于文件或文件拷贝的数据记录。
在进行全部计算机支持的文件拷贝协调时,只有对记录文件中的所有清除操作或建立操作考虑完毕后,才能进行其他操作,例如结构修改操作(createLink,deleteLink)或对数据记录本身的属性的修改操作(changeAttribute)。
如果在记录文件之间的各个修改操作中发现了冲突,例如在第1个记录文件中发现的清除操作(delete)并没有在第2个记录文件内找到,则将提出一个建议,例如对数据记录的清除适用于所有用户使用的文件。根据用户是否一致认可最终协调的情况,此建议在最后的步骤中,根据用户的决定转换成对文件和文件拷贝修改的形式。
权利要求2所述方法,其步骤原理和上述方法相同,但区别在于,关于协调的最终决定不必由每条数据记录的用户分别进行,而是通过定义一个参考记录文件建立起一个决定等级结构。这意味着在参考记录文件和另一个记录文件之间出现冲突时,只有处在参考记录文件内的修改才能产生文件拷贝对文件的最终协调。其中对预定的修改操作可以确定不同的参考记录文件。
本发明权利要求7所述方法基于同样的发明思想,即避免对修改操作做不必要的协调。
根据权利要求7所述方法,给各个数据记录分配了信息空间。在此要强调,使用该方法的前提是数据库内的数据记录采用分级式结构。
进行数据拷贝的协调时,建议的产生首先基于全部信息空间,然后再从数据树的根部出发,分级发展到所有的所谓树叶数据。
通过以上方法也可以避免不必要的协调操作,这是因为就一项协调进行统一时,处在整个信息空间内的许多数据记录的修改操作是不需要考虑的。这样就能大大节约计算时间。
以上所述发明思想也体现在权利要求8所述方法的解决方案中。权利要求8和权利要求7所述方法之间的差别类似于权利要求1和2所述方法之间的差别,即建立一个参考记录文件,其功能见上所述。
本发明的其他细节是:
对存储在记录文件内的关于文件或文件拷贝的数据记录的清除操作(delete)和/或建立操作(create)的协调完毕后,进行记录数据内存储的结构修改操作(CreateLink,deleteLink)的协调。
数据记录的形式为分级关系数据库结构。
对文件或文件拷贝的数据记录考虑的清除操作(delete)或建立操作(create)的顺序是通过分级数据库结构中的数据记录位置确定的,并且协调开始于对文件的根数据记录的修改操作,然后继续进行与已处理完毕的数据记录相关的数据记录的修改操作。
对文件或文件拷贝的每个信息空间内的数据记录考虑的修改操作顺序是通过分级数据库结构中的数据记录位置确定的,并且协调开始于对文件的根数据记录的修改操作,然后继续进行与已处理完毕的数据记录相关的数据记录的修改操作。
在所述某个信息空间内,协调开始于对存储在记录文件内的关于文件或文件拷贝的数据记录的清除操作(delete)和/或建立操作(create)的协调。
对存储在记录文件内的关于文件或文件拷贝的数据记录的清除操作(delete)和/或建立操作(create)的协调完毕后,在一个信息空间内进行记录数据内存储的结构修改操作的协调。
用户参加CSCW***内的一个会议时,给其所做的每个修改建立一个新的用单义名称标出的会议顺序,用以标出记录文件内的操作顺序。
在协调中考虑括号结构,所述括号结构包括各个修改操作组成的所有操作,进行其协调时不需要对其他修改操作进行协调。
协调修改操作时考虑修改操作的语义。
考虑语义的方式是,根据可选择的修改操作数据在协调时确定时间优先顺序,该顺序在一特定的可预定时间段内执行。
考虑语义的另一种方式是,根据可选择的修改操作数据在协调时确定时间优先顺序,该顺序和特定的可预定数据记录和/或信息空间相关。
一种有利的方式是,对所有清除操作和/或建立操作协调完毕后,再进行所有结构修改操作的协调,然后再考虑各个数据记录属性的修改操作。在一台计算机上实施本发明所述方法时,使用这种方式可进一步节约计算时间。
另一种有利的方式是,协调修改操作时考虑修改操作的语义,例如修改所处的特定时间段或者在协调文件拷贝时执行修改操作的特定用户的优先顺序。
下面对照附图所示的四个实施例对本发明作进一步的说明。其中:
图1表示权利要求1所述方法的各个步骤的流程图;
图2表示权利要求2所述方法的各个步骤的流程图;
图3a和3b表示权利要求6所述方法的各个步骤的流程图;
图4a和4b表示权利要求7所述方法的各个步骤的流程图;
图5a和5b是一个示意图,表示各用户在两个不同的时刻、在小组工作环境中的会议上所作修改的各个顺序的单义名称;
图6表示一个包括若干数据记录的文件实例,数据记录以关系数据库的方式相互连接;
图7表示若干台计算机的布置方案,利用这些计算机进行各个文件拷贝的协调。
图1表示的是一个流程图,描述了本发明所述方法第1个实施例的具体步骤。
该方法的出发点是,一个包括有数据记录的文件,所述数据记录以关系数据库的方式相互连接,步骤11。
这种文件的例子见图6所示,其内部连接由数据记录之间的箭头表示,数据记录则用椭圆表示。其中的2个数据记录之间的分级连接关系是通过一个实线箭头表示的,通过该箭头将建立了分级连接关系P。所述分级表示所述某个对象属于某个母数据记录。
此外集合数据记录C可在所述数据记录内具有一个下级子数据记录,两者之间同样通过等级连接P相连。
文件内仅包括经等级连接P相互联系在一起的数据记录,所以整个文件形成了一个所谓的树结构,即严格按等级划分的结构。
然而数据记录可以经二次连接S相互连接在一起。通过二次连接,各个数据记录可在树状结构内建立横向联系,从而使等级树状结构“消失”,产生出一个由数据记录一般地交织在一起的结构。
图6中表示出了各个数据记录,包括集合数据记录C,分级连接P,以及所述集合数据记录C在分级结构下面所属的数据记录。另一种类型的数据记录是树叶数据记录B,它在树状结构内处在“最低的等级”上,所以和相应的母数据记录相关。该数据记录仅包括一个与其母数据记录相连的分级连接P。该母数据记录是一个集合数据记录C。
数据记录的各自的范围如下所述被分成信息空间IU。
图7中描述了不同计算机Ri的一种布置方案。
在该专门的实施例中,有一个中央服务器SE,该服务器包括存储文件D的存储器SP。该计算机的标记Ri中的i是一个顺序号,单义地标出每台计算机Ri,它可以是任意的自然数,各计算机分别经线路Li与服务器SE相连。
该实例仅表示出使用本方法的硬件框架。但是一个一般性的限制是,使用本方法时至少要有2台计算机Ri,这2台计算机要连在一起,即没有中央服务器SE,这是使用本方法的最低方式。即便在这种情况下使用本方法,也无需改变本方法的各个步骤。
在上述同步连接的协作中,如果所有计算机Ri或者直接相互连接,和/或经服务器SE相互连接,均可以将各个修改,即关于文件拷贝DKi修改的信息存储在所述计算机Ri的所述存储器SPi内,并且立刻以执行修改同样的时序传输给所有其他计算机Ri。
相互不联系的协作产生的时刻是,如果计算机Ri中的某一台与其他计算机Ri的联系中断,而且在任意长的时间内对脱离连网的计算机Ri中的文件拷贝DKi的数据记录进行了修改。在至少一台计算机Ri脱离了共同的工作环境后,然后在文件拷贝DKi内进行了修改,所述计算机将重新与共同的工作环境相互连接。
本方法不仅限于所述唯一一台计算机脱离连接的情况,同样也适用于若干台计算机在特定的时间脱离连接的情况。
在所述计算机重新建立连接时,共同的工作环境中将出现以下问题,所述重新连接上的计算机Ri内的文件拷贝DKi的数据记录有了变化,即和原始文件D或其他文件拷贝DKi中的数据记录相比出现了不同,为了确定适用于所有计算机的某个文件也适用于重新连接上的计算机Ri,即为了确定一致的数据记录和数据记录的相同结构,必须对不同的文件拷贝DKi进行相互协调。
在协调文件拷贝DKi时,将确定出不一致的数据记录或文件结构。这种所谓的冲突识别可以采用不同方式进行,例如通过对不相同的文件拷贝DKi中的数据记录进行完整的比较来进行。因为这种方式非常麻烦,所以本发明所述方法选择了一种简单的方式。
在该方法中,为每一个文件拷贝DKi分配一个记录文件PDi(步骤12),所有对文件拷贝DK i进行的修改都存储到记录文件内(步骤13)。协调是通过对不同记录文件PDi的比较进行的。这种方式见对比文献3所述。
贯穿在所有实施例中的总的发明思想是,按以下方式进行记录文件PDi的比较,即避免不必要的协调。″不必要″这一概念的含义将在后面详细说明。
以上总的发明思想例如产生了以下方案,即该方法形成一种“自上而下”的处理分级数据树的工作方式。所以以尽最大可能详细分级和数据树尽最大可能分级的方式达到了解决冲突的目的。
在本发明所述方法中,给存储在计算机Ri的存储器SPi内的文件拷贝DKi分配一个记录文件PDi(步骤12)。在每个记录文件PDi内存储着文件拷贝DK i的所有修改(步骤13),所述记录文件PDi是分配给所述文件拷贝DKi的记录文件。
步骤11-13在所有实施例中都是相似的,区别仅在于,权利要求6和7所述方法是采用文件的分级数据库结构(步骤30),参见图3a和4a。
对文件拷贝DKi的修改,即对各个文件拷贝DKi的数据记录所做的修改可以通过不同的修改操作进行。
在所述实施例中列举了5种不同形式的修改操作。其他修改操作对专业人员是熟知,所以能毫无困难地放在本发明所述方法中考虑。
上述5种修改操作如下:
—数据记录的建立操作(create object):建立操作是在数据记录网,即在文件D中增加数据记录,它通过一个数据记录指示器单义标出;
—数据记录的清除操作(delete object):清除操作是在所有数据记录网,即在文件D中清除数据记录,它通过一个数据记录指示器单义标出;此外通过清除操作还可将所有被清除数据记录下级的数据记录清除;另外还可清除所有联系被清除数据记录的分级连接P和所有二次连接S;
—结构修改操作(create link,delete link):建立或清除由数据记录指示器单义给出的数据记录之间的分级连接P和/或二次连接S;
—属性修改操作(chanre attribute):属性修改操作用于改变数据记录的各种属性。
在第一个实例中,按以下方式确定了记录文件PDi中存储的修改操作的处理顺序(参见图1)。首先对所有清除操作或所有建立操作进行相互比较(步骤14)。
协调通过确定协调建议进行(步骤15)。为此例如可简单地将应协调的各个记录文件PDi的内容进行相互比较。
如果在至少2个被比较的记录文件PDi之间识别出冲突,则所述修改建议将提供给在存储了所述记录文件PDi的计算机上的用户。该用户例如可以将脱离联系的文件拷贝DKi生成的数据记录引入整个文件,从而在所有文件拷贝DKi中建立该修改,或者在相反的情况中从所有文件拷贝DKi中清除该修改操作,其方式是利用至少一台新连接的计算机Ri及其记录文件PDi进行协调。
在第1个实例中,由用户对该建议做出决定。
如果用户同意建议的修改,则建议以修改的形式在文件和所有“相连的”文件拷贝DKi中执行(步骤16)。如果用户不采纳该建议,则本发明所述方法推荐的另一种方式是,重新使用数据记录以前的一致结构作为新的全部文件D。
对以上建议也要由相应的用户独立做出决定。
在2个用户对建议进行协调做出决定的情况下,对清除操作和建立操作同时还有所属的连接P、S,均作为清除操作(delete)和建立操作(create)的参数给出,并与最后执行的所有文件拷贝DKi的修改一同由计算机考虑。
这种进行方式的优点是,不必再考虑所有存储在各个记录文件PDi内的涉及数据记录的结构修改操作和所有属性修改操作,所述数据记录已经通过清除操作从整个数据结构中删除。所以本发明避免了不必要的附加协调,大大加快了计算机执行全部协调操作的速度。
所有清除操作和所有建立操作“处理”完毕后,在步骤17中可对所有存储但尚未完成的结构修改操作通过待处理的修改操作(delete)或建立操作(create)进行处理。
上文中的“尚未完成”表示涉及完全不存在的数据记录的结构修改操作,因为它们例如通过清除操作已经从文件D中除掉。
在考虑属性修改操作之前就对结构修改操作进行处理,也可缩短本方法所需的计算时间。
如果所有结构修改操作均通过步骤15的协调建议以及将建议转换成步骤16的修改进行,则要考虑剩余的“相关”属性修改操作,这些操作已存储在记录文件PDi中(步骤18)。对属性修改操作的处理同样通过步骤15的协调建议以及将建议转换成步骤16的修改进行。
第2个实施例描述的方法和第1个实施例所述方法稍有不同。2个实施例之间的区别首先在于,虽然协调的顺序和第1个实施例建议的相同,但是并不是如第1个实施例那样,根据用户的决定将所述协调建议转换成文件的修改(步骤16),而是如图2所示,将该步骤以从记录文件PDi中选择出的参考记录文件代替(步骤21)。
在参考记录文件和其他记录文件PDi之间发生冲突时,识别文件D的修改是按以下方式确定的,存储在参考记录文件中的修改或只存储在记录文件PDi中,而没有存储在参考记录文件中的修改分别从参考记录文件中得出或获得决定(步骤22),参见图2。
图3a和3b是一个流程图,表示本发明所述方法的第3个实施例。如上所述,该实施例也包括一个文件,其数据记录以分级数据库结构相互联系在一起(步骤30)。这表示数据库结构内出现的完全是分级连接P,参见图6。
对所有实施例适用的发明思想也体现在本例中,即将数据记录集中成数据记录的集合,将其称为信息空间IU(步骤32)。
在本例中,也给每个文件拷贝DKi分配了一个记录文件PDi(步骤12),而且所有修改均存储在所述记录文件PDi中(步骤13)。
在本例中,协调的方式是,首先尝试在最高的等级,即在信息空间IU的所述等级上进行整体的协调(步骤32)。
其中本方法的另一个方案是,在查找记录文件PDi之前先对信息空间记录文件IUPDj进行查找。
所查找的是,在信息空间IU之间作为整体是否产生了冲突,并且相应地提供一个建议,将一个信息空间IU作为整体纳入待协调的文件D。该建议也提供给用户,如果用户一致同意将冲突信息空间作为全新使用的信息空间IU纳入文件D,则所述信息空间IU将作为整体拷贝到文件内,即整体替换原来的信息空间。
通过这种在分级数据库结构内部自上而下的操作方式可大大节约公知方法所必须执行的协调操作。
在本方法所述第3个实施例的另一个方案中,如果对一个作为整体的信息空间IU不能一致决定纳入文件内,则协调重新转到个别的信息空间IU内的数据记录修改的等级上进行,最好是按照第1个实施例所述方式进行,即顺序为,首先处理清除操作(delete)或者建立操作(create),然后处理结构修改操作,最后处理剩余的属性修改操作。
第4个实施例(参见图4a和4b)和图3所示的第3个实施例相比,其差别和第2个实施例与第1个实施例之间的差别一样。
所有步骤和第3个实施例中的步骤类似,但是文件的修改不取决于用户的决定,而是从记录文件PDi中选择一个参考记录文件(步骤41),并且修改是根据参考记录文件进行的(步骤42)。
图5a和5b是以上所有实施例所述方法的进一步发展。
在图5a和5b中表示了一个例子,其中3个用户处在一个共同的工作环境内。这3个用户是,第1用户T1,第2用户T2,第3用户T3以及其他用户Ti。用户T1、T2、T3分别在第一计算机R1、第二计算机R2、第三计算机R3以及其他计算机Ri上工作。
在计算机R1、R2、R3、Ri的各个存储器SP1、SP2、SP3、SPi内存储了各个文件拷贝DK1、DK2、DK3、DKi以及分配给它们的记录文件PD1、PD2、PD3、PDi。这是第1时刻t=1时的情况。
这一情况用第1顺序号S1明确标出。所有在记录文件PDi内存储的修改在本发明所述方法的该方案中均包括在第1顺序号S1内。
在第2个时刻t=2时,整个工作环境只剩下第1用户T1和第3用户T3。此时第2用户已经从共用的工作环境中脱离。
通过该脱离,组成的新的共同工作环境用第2顺序号S2表示,也就是说,所有在记录文件PD1和PD3内的修改自第2用户T2脱离开始均用第2顺序号S2表示。
在图5a和5b中表示了以下一般性的情况。由于某个用户的脱离或加入,引起共同工作环境组成的任何变化均由一个单独的顺序号标出。这可大大简化各个记录文件和文件拷贝DKi的协调操作方式。换句话说,如果至少有一个用户加入或至少有一个用户脱离了共同的工作环境,则便生成对应的顺序号。所生成的顺序号也是实际顺序,所有在此顺序内出现的和应存储的修改操作都属于该顺序,并存储在该顺序名下。
在本发明所述方法的另一个方案是,在文件拷贝DKi的协调过程中考虑括号结构,以便定义所组成的修改操作。
通过括号结构可将“不可分割的”修改操作组合成修改操作的顺序。这样可以对组合修改操作进行定义,该定义在记录文件PDi的比较中作为一个组合修改操作处理。
这样也可以做到,将一个“不可分割的”修改操作的顺序作为一个整体修改操作进行处理,而不致被其他修改操作打断。
其中有必要使用在***范围内是单义的可识别括号信息,至少是一对括号信息,它包括一个括号起始信息和一个括号结束信息。修改操作之间没有执行其他未包括在括号结构内的修改操作时,其顺序是允许的,并从每对括号信息中明确地产生每个修改操作所分配的信息识别符。
对具有至少一对括号信息的修改操作括号,不仅可以在中央服务器SE上评价,也可以在计算机Ri上评价。
如果评价是在中央分配计算机上进行的,则从一台计算机Ri收到括号开始信息后,所有其他属于该括号开始信息的修改操作和括号开始信息本身以及其他括号信息均继续传输给所有“相连的”计算机Ri。所有其他修改操作由中央分配计算机保留,并不继续传输给计算机Ri,直到属于括号开始信息的括号结束信息被中央分配计算机收到为止。
在评价由计算机Ri进行的情况中,收到一个括号开始信息后,所有属于该括号开始信息的修改操作立刻以相应的顺序,例如由括号顺序号确定的顺序被执行,其中的括号顺序号标在每个括号信息上。所有其他信息即修改操作虽然均被存储,但不执行,直到收到括号结束信息为止。
通过上述方式,可以保证加括号的“不可分割的”修改操作被作为一个修改操作的整体执行,而不会由于其他不属于括号内的修改操作而中断。
放在括号内的若干括号信息也可以用简单的方法处理。
在本发明所述方法的另一种方案中,考虑了各个修改操作的语义。
该考虑的方式例如是,根据可选择的数据,修改操作具有优先顺序,它们在特定的预定时间内予以执行。
另一种考虑方式是,根据可选择的数据,修改操作优先顺序,它们和特定的预定数据记录和/或信息空间IU相关,该方式属于本方法的另一个方案。
为确定修改操作的处理顺序,其他规定应当考虑的语义标准是:
—修改操作所生成的用户;
—产生修改操作的计算机;
—被修改的对象的对象等级;
—修改操作对象的所有人;
—对象所有人在小组内的角色,所述小组可以存取共有的对象,而该存取受修改操作的影响;
—修改操作生成的用户在小组内的角色,所述小组可以存取共有的对象,而该存取受修改操作的影响;
—在调整中应当考虑的文件拷贝数量,其中不仅包括重新“连接”的文件拷贝数量,也包括在连接时已经存在与工作组内的拷贝数量;
—特定用户执行的修改的顺序;
—对某个“脱离连接”的文件拷贝执行的修改数量。
在本方法所述另一种方案中,规定了一个空间管理器RM,它在所有计算机中以相同的方式存在。在信息空间IU内发生的修改操作通过信息的帮助,登记在空间管理器RM内,并存储在分配给空间管理器RM的空间管理器-记录文件内。通过记录将所有涉及整个信息空间的修改操作标记出来。以这种方式可以增加或删除信息空间IU,即根据空间管理器-记录文件自动或半自动地进行协调。这样可使不一致性的识别和消除在操作基础上成为可一般支配的信息空间对象。此外,通过该空间管理器RM可以对修改操作进行授权。其实现方式是,执行每个修改操作前,空间管理器RM要审查修改操作的发出者是否对相应的信息空间IU有修改权,所述信息空间内有待修改的数据记录。
在另一个方案中,给每个信息空间都分配了一个单义的信息空间-记录文件IUPDj,其中的字母j表示每个信息空间-记录文件IUPDj的名称,可以是一个自然数。在信息空间-记录文件IUPDj中存储对数据记录的修改,该数据记录位于相应的信息空间IU内。
Claims (15)
1、计算机支持的对一个存储文件(D)的若干文件拷贝(DKi)进行协调的方法,所述文件拷贝至少存储在一台计算机(Ri)内,其特征是,
-存储文件(D)具有数据记录,其形式为关系数据库结构(11),
-为每个文件拷贝(DKi)分配一个记录文件(PDi)(12),
-对文件拷贝(DKi)所做的修改被存储到记录文件(PDi)内,该记录文件已分配给所述经过修改的文件拷贝(DKi)(13),
-根据记录文件(PDi)确定对文件拷贝(DKi)进行协调的建议(15),而且协调开始于对数据记录的清除操作(delete)或建立操作(create)的比较,所述的数据记录是存储在记录文件内的关于文件(D)或文件拷贝(DKi)的数据记录(14),
-根据用户的决定,将建议转换为对文件(D)和文件拷贝(DKi)的修改(16)。
2、计算机支持的对一个存储文件(D)的若干文件拷贝(DKi)进行协调的方法,所述文件拷贝至少存储在一台计算机(Ri)内,其特征是,
-文件(D)具有数据记录,其形式为关系数据库结构(11),
-为每个文件拷贝(DKi)分配一个记录文件(PDi)(12),
-对文件拷贝(DKi)所做的修改被存储到记录文件(PDi)内,该记录文件已分配给所述经过修改的文件拷贝(DKi)(13),
-根据记录文件(PDi)确定对文件拷贝(DKi)进行协调的建议(15),而且协调开始于对数据记录的清除操作(delete)或建立操作(create)的比较,所述的数据记录是存储在记录文件内的关于文件(D)或文件拷贝(DKi)的数据记录(14),
-从记录文件(PDi)中各选择出至少一个参考记录文件,以对预定的清除操作(delete)或建立操作(create)进行比较(21),
-根据用户的决定,将建议转换为对文件(D)和文件拷贝(DKi)的修改(16)。
3、如权利要求1或2所述的方法,其特征是,对存储在记录文件内的关于文件(D)或文件拷贝(DKi)的数据记录的清除操作(delete)和/或建立操作(create)的协调完毕后,进行记录数据(PDi)内存储的结构修改操作(CreateLink,deleteLink)的协调。
4、如权利要求1至3中任何一项所述的方法,其特征是,数据记录的形式为分级关系数据库结构(30)。
5、如权利要求4所述的方法,其特征是,对文件(D)或文件拷贝(DKi)的数据记录考虑的清除操作(delete)或建立操作(create)的顺序是通过分级数据库结构中的数据记录位置确定的,并且协调开始于对文件(D)的根数据记录的修改操作,然后继续进行与已处理完毕的数据记录相关的数据记录的修改操作。
6、计算机支持的对一个存储文件(D)的若干文件拷贝(DKi)进行协调的方法,所述文件拷贝至少存储在一台计算机(Ri)内,其特征是,
-文件(D)具有数据记录,其形式为分级关系数据库结构(30),
-给数据记录分配至少一个信息空间(IU)(31),
-为每个文件拷贝(DKi)分配一个记录文件(PDi)(12),
-对文件拷贝(DKi)所做的修改被存储到记录文件(PDi)内,该记录文件已分配给所述经过修改的文件拷贝(DKi)(13),
-根据记录文件(PDi)确定对文件拷贝(DKi)进行协调的建议(15),而且协调开始于对全部信息空间(IU)的比较(32),
-根据用户的决定,将建议转换为对文件(D)和文件拷贝(DKi)的修改(16)。
7、计算机支持的对一个存储文件(D)的若干文件拷贝(DKi)进行协调的方法,所述文件拷贝至少存储在一台计算机(Ri)内,其特征是,
-文件(D)具有数据记录,其形式为分级关系数据库结构(11),
-给数据记录分配至少一个信息空间(IU)(31),
-为每个文件拷贝(DKi)分配一个记录文件(PDi)(12),
-对文件拷贝(DKi)所做的修改被存储到记录文件(PDi)内,该记录文件已分配给所述经过修改的文件拷贝(DKi)(13),
-根据记录文件(PDi)确定对独立文件拷贝进行协调的建议(15),而且协调开始于对全部信息空间(IU)的比较(32),
-从记录文件(PDi)中各选择出至少一个参考记录文件,以对预定的清除操作(delete)和/或建立操作(create)进行比较(21),
-根据参考记录文件内的修改,将建议转换为对文件和文件拷贝的修改(22)。
8、如权利要求6或7所述的方法,其特征是,对文件(D)或文件拷贝(DKi)的每个信息空间(IU)内的数据记录考虑的修改操作顺序是通过分级数据库结构中的数据记录位置确定的,并且协调开始于对文件(D)的根数据记录的修改操作,然后继续进行与已处理完毕的数据记录相关的数据记录的修改操作。
9、如权利要求6至8中任何一项所述的方法,其特征是,在所述某个信息空间(IU)内,协调开始于对存储在记录文件(PDi)内的关于文件(D)或文件拷贝(DKi)的数据记录的清除操作(delete)和/或建立操作(create)的协调(14)。
10、如权利要求6至9中任何一项所述的方法,其特征是,对存储在记录文件(PDi)内的关于文件(D)或文件拷贝(DKi)的数据记录的清除操作(delete)和/或建立操作(create)的协调完毕后,在一个信息空间(IU)内进行记录数据(PDi)内存储的结构修改操作的协调(17)。
11、如权利要求1至10中任何一项所述的方法在CSCW***(计算机支持的协同工作),其特征是,用户参加CSCW***内的一个会议时,给其所做的每个修改建立一个新的用单义名称标出的会议顺序(S1,S2),用以标出记录文件(PDi)内的操作顺序。
12、如权利要求1至11中任何一项所述的方法,其特征是,在协调中考虑括号结构,所述的括号结构包括各个修改操作组成的所有操作,进行其协调时不需要对其他修改操作进行协调。
13、如权利要求1至12中任何一项所述的方法,其特征是,协调修改操作时考虑修改操作的语义。
14、如权利要求13所述的方法,其特征是,考虑语义的方式是,根据可选择的修改操作数据在协调时确定时间优先顺序,该顺序在一特定的可预定时间段内执行。
15、如权利要求13或14所述的方法,其特征是,考虑语义的方式是,根据可选择的修改操作数据在协调时确定时间优先顺序,该顺序和特定的可预定数据记录和/或信息空间(IU)相关。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19607149.6 | 1996-02-26 | ||
DE19607149A DE19607149A1 (de) | 1996-02-26 | 1996-02-26 | Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1177152A true CN1177152A (zh) | 1998-03-25 |
CN1130656C CN1130656C (zh) | 2003-12-10 |
Family
ID=7786451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97104979A Expired - Fee Related CN1130656C (zh) | 1996-02-26 | 1997-02-26 | 对一个存储文件的若干文件拷贝进行协调的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5948057A (zh) |
EP (1) | EP0791884A3 (zh) |
CN (1) | CN1130656C (zh) |
DE (1) | DE19607149A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461684C (zh) * | 2005-02-21 | 2009-02-11 | 华东师范大学 | 基于标记和状态向量的带冲突检测的并发控制方法 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249786B1 (en) * | 1997-03-21 | 2001-06-19 | Rolf Wadewitz | Data-conversion method |
DE19845043C1 (de) * | 1998-09-30 | 2000-03-30 | Siemens Ag | Verfahren und dessen Verwendung sowie Datenverarbeitungsvorrichtung zum Abgleichen von in verschiedenen Anwenderdateien gespeicherten Daten |
US6947903B1 (en) * | 1999-08-06 | 2005-09-20 | Elcommerce.Com.Inc. | Method and system for monitoring a supply-chain |
US6505233B1 (en) | 1999-08-30 | 2003-01-07 | Zaplet, Inc. | Method for communicating information among a group of participants |
US6523063B1 (en) | 1999-08-30 | 2003-02-18 | Zaplet, Inc. | Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier |
US6507865B1 (en) | 1999-08-30 | 2003-01-14 | Zaplet, Inc. | Method and system for group content collaboration |
US6457045B1 (en) | 1999-08-30 | 2002-09-24 | Zaplet, Inc. | System and method for group choice making |
US6463461B1 (en) | 1999-08-30 | 2002-10-08 | Zaplet, Inc. | System for communicating information among a group of participants |
US6691153B1 (en) | 1999-08-30 | 2004-02-10 | Zaplet, Inc. | Method and system for process interaction among a group |
US6453337B2 (en) | 1999-10-25 | 2002-09-17 | Zaplet, Inc. | Methods and systems to manage and track the states of electronic media |
US7013313B1 (en) * | 1999-11-24 | 2006-03-14 | Pumatech, Inc. | System and methods for inheriting information into a dataset |
CA2389586A1 (en) * | 1999-11-29 | 2001-11-22 | Britt H. Park | Method for enforcing workflow processes for website development and maintenance |
US6678821B1 (en) | 2000-03-23 | 2004-01-13 | E-Witness Inc. | Method and system for restricting access to the private key of a user in a public key infrastructure |
US6981019B1 (en) | 2000-05-02 | 2005-12-27 | International Business Machines Corporation | System and method for a computer based cooperative work system |
AU2001296866A1 (en) | 2000-09-05 | 2002-03-22 | Zaplet, Inc. | Methods and apparatus providing electronic messages that are linked and aggregated |
US6668254B2 (en) * | 2000-12-21 | 2003-12-23 | Fulltilt Solutions, Inc. | Method and system for importing data |
US20030112273A1 (en) * | 2001-12-17 | 2003-06-19 | Workshare Technology, Ltd. | Document collaboration suite using a common database |
WO2003069467A1 (en) * | 2002-02-13 | 2003-08-21 | Horizon, A Glimpse Of Tomorrow, Inc. | Distributed execution system |
US6684372B2 (en) | 2002-03-15 | 2004-01-27 | Sun Microsystems, Inc. | Method, system and computer product to translate electronic schematic files between computer aided design platforms |
US7277940B2 (en) * | 2002-08-29 | 2007-10-02 | Sap Ag | Managing uneven authorizations in a computer data exchange |
US7269665B2 (en) * | 2002-08-29 | 2007-09-11 | Sap Ag | Isolated mapping point |
US7613773B2 (en) * | 2002-12-31 | 2009-11-03 | Rensselaer Polytechnic Institute | Asynchronous network audio/visual collaboration system |
US7996673B2 (en) | 2004-05-12 | 2011-08-09 | Echoworx Corporation | System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient |
US8326926B2 (en) * | 2005-09-13 | 2012-12-04 | Mentor Graphics Corporation | Distributed electronic design automation architecture |
US7792875B2 (en) * | 2006-03-30 | 2010-09-07 | International Business Machines Corporation | Method for representing and recreating object dependencies from one database system to another |
US8386733B1 (en) * | 2008-02-15 | 2013-02-26 | Symantec Corporation | Method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device |
US9519631B2 (en) | 2012-03-30 | 2016-12-13 | Microsoft Technology Licensing, Llc | Semantic diff and automerge |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4714996A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Impact calculation for version management in a distributed information service |
US5261094A (en) * | 1991-04-08 | 1993-11-09 | International Business Machines Corporation | Asynchronous replication of data changes by distributed update requests |
US5317742A (en) * | 1991-06-21 | 1994-05-31 | Racal-Datacom, Inc. | Dynamic translation of network management primitives to queries to a database |
US5630116A (en) * | 1993-08-11 | 1997-05-13 | Nec Corporation | Automatic delivery system for master files in a distributed processing system |
US5588147A (en) * | 1994-01-14 | 1996-12-24 | Microsoft Corporation | Replication facility |
-
1996
- 1996-02-26 DE DE19607149A patent/DE19607149A1/de not_active Ceased
-
1997
- 1997-02-21 EP EP97102891A patent/EP0791884A3/de not_active Withdrawn
- 1997-02-25 US US08/805,454 patent/US5948057A/en not_active Expired - Lifetime
- 1997-02-26 CN CN97104979A patent/CN1130656C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461684C (zh) * | 2005-02-21 | 2009-02-11 | 华东师范大学 | 基于标记和状态向量的带冲突检测的并发控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US5948057A (en) | 1999-09-07 |
EP0791884A3 (de) | 1998-12-09 |
EP0791884A2 (de) | 1997-08-27 |
DE19607149A1 (de) | 1997-08-28 |
CN1130656C (zh) | 2003-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1177152A (zh) | 对一个存储文件的若干文件拷贝进行协调的方法 | |
CN1280716C (zh) | 计算机处理方法、分布式计算方法和网络计算方法 | |
Loeliger et al. | Version Control with Git: Powerful tools and techniques for collaborative software development | |
US5909689A (en) | Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created | |
US20030037114A1 (en) | System, method and apparatus for updating electronic mail recipient lists | |
CN1199104C (zh) | 往返式软件设计的方法与装置 | |
AU2005248741B2 (en) | Methods for sharing groups of objects, synchronising, and synchronising between three or more devices | |
CN1215415C (zh) | 文件管理方法和存储信息记录重放装置 | |
CN1961313A (zh) | 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和*** | |
CN1208482A (zh) | 分布式处理 | |
CN102187359B (zh) | 使用标签的动态内容分类 | |
CN1946075A (zh) | 确定消息的用户特定关联性得分的方法和*** | |
CN1701326A (zh) | 合作电子邮件 | |
CN1914602A (zh) | 文件名生成装置 | |
CN1298509A (zh) | 在分布式***中租用委派证的方法、装置和产品 | |
CN1224200A (zh) | 数据通信设备和方法 | |
CN1298503A (zh) | 分布式***中的动态查找服务 | |
CN1920866A (zh) | 电子公告板***及服务器、及其客户线索显示方法及程序 | |
WO2005050402B1 (en) | A method and apparatus for matter-centric document management | |
CN1151796A (zh) | 一个实时***的数据管理*** | |
CN1764901A (zh) | 用于将计算机中的文件、目录和面向应用的文件的至少一个恢复成先前状态的设备 | |
CN1277210C (zh) | 一种文件同步的方法 | |
WO2000057275A1 (en) | Removing duplicate objects from an object store | |
CN1200606A (zh) | 资料传送***和资料传送方法 | |
CN1549178A (zh) | 分配和更新杂散资源的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1049872 Country of ref document: HK |
|
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |