CN102355478B - Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software) - Google Patents

Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software) Download PDF

Info

Publication number
CN102355478B
CN102355478B CN 201110194215 CN201110194215A CN102355478B CN 102355478 B CN102355478 B CN 102355478B CN 201110194215 CN201110194215 CN 201110194215 CN 201110194215 A CN201110194215 A CN 201110194215A CN 102355478 B CN102355478 B CN 102355478B
Authority
CN
China
Prior art keywords
site
server
client
client site
formation
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.)
Expired - Fee Related
Application number
CN 201110194215
Other languages
Chinese (zh)
Other versions
CN102355478A (en
Inventor
郁莲
谢丹
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN 201110194215 priority Critical patent/CN102355478B/en
Publication of CN102355478A publication Critical patent/CN102355478A/en
Application granted granted Critical
Publication of CN102355478B publication Critical patent/CN102355478B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a cooperative processing method on the basis of semi-distributed CRES (collaborative real-time editing software). In the cooperative processing method, the causality maintenance and the convergence are realized by utilizing the characteristic of communication between semi-distributed CRES stations through numbering the operations; and once ergodic on a queue which only needs to be operated is realized by introducing a multiview queue and the intention maintenance is realized by only using include transformation. Due to the utilization of the technical scheme provided by the invention, the difficulty in implementing a cooperative processing algorithm can be reduced; in a convergence strategy, the undoing operation does not need to be carried out on a document; in a causality maintenance strategy, the complex state vector calculation is avoided; in an intention maintenance strategy, the operation of firstly reversely executing exclude transformation and then positively executing include transformation does not need to be carried out; meanwhile, information which needs to be added when each operation is sent to other stations is also reduced; and the semi-distributed CRES is beneficial for carrying out document management and edit permission management.

Description

Cooperative processing method based on half distributed real-time collaborative software for editing
Technical field
The invention provides a kind of cooperative processing method, be specifically related to the cooperative processing method of a kind of half distributed real-time collaborative software for editing.
Background technology
Real-time collaborative software for editing (Collaborative Real-time Editing Software is called for short CRES) supports the author who is distributed in diverse geographic location to come document is carried out collaborative editing, and very high requirement is arranged aspect real-time.CRES need keep the consistency of document and the conflict that occurs among the editor is handled it in the collaborative editing process.The consistency of document refers to need to satisfy in carrying out the collaborative editing process in the collaborative editing: convergence, and cause and effect keeps, and intention keeps.Wherein one group of execution sequence that operates on all websites of convergent requirement is identical; Cause and effect keeps then requiring to have causal operation to carry out at all websites according to the sequencing that they produce; Intention keeps then requiring to operate in the intention that produces according to them on all websites and changes document.
1997, people such as Sun are at paper " A Generic Operation Transformation Scheme for Consistency Maintenance in Real-time Cooperative Editing Systems " (Proceedings of the international ACM SIGGROUP conference on Supporting group work:the integration challenge ACM New York, NY, USA
Figure GDA00003241749600011
Generic Operation Transformation algorithm (being called for short GOT) is proposed 1997).GOT is the associated treatment algorithm at the CRES design of distributed frame.GOT has designed a kind of state vector computational algorithm and has realized restraining the requirement that keeps with cause and effect, and comprises conversion (Include Transformation) and get rid of conversion (Exclude Transformation) and realize the intention maintenance by definition.But state vector computation rule complexity in the GOT algorithm need be cancelled the operation that (Undo) carried out earlier when realizing the convergence strategy, need carry out traversal twice to operation queue simultaneously when realizing that intention keeps.Also there is problems such as being difficult to carry out document management, editing authority management in distributed CRES in addition.
Summary of the invention
For convenience of explanation, this paper agreement: the collaborative site of " half distributed CRES " expression CRES, be divided into client site and server site, (as Fig. 1) only carried out in communication between server site and client site.Participate in the client of collaborative editing (as the CC_1 among Fig. 1, CC_2) among " client site " expression half distributed CRES.Server end (as the CS among Fig. 1) among " server site " expression half distributed CRES.Operating in client site can be packaged into message after producing and send to server site and (use O or O iRepresent that wherein i is positive integer); Operate in and to be encapsulated as message after server site is handled again and to send to client site and (use EO or EO iRepresent that wherein i is positive integer), therefore, based on context " operation " can be equal to " message ".EO iExpression operation O iResult after server site is intended to keep handling, EO iTo be serviced the device website and send to client site; EO represents to operate the result of O after server site is intended to keep handling, and EO will be serviced device and send to client site.
The purpose of this invention is to provide a kind of new method, make it possible to utilize the feature of communication between half distributed CRES website not need to cancel the operation of having carried out by operation is numbered to realize cause and effect maintenance and convergence; Formation (is the formation of client site context by introducing from various visual angles, because the order of elements difference of the formation of seeing from each client, so this paper is referred to as the various visual angles formation) realize comprising conversion and realizing that intention keeps only needing operation queue once to travel through and only using.Make CRES when guaranteeing the document consistency, reduce number of operations and the processing speed of raising algorithm to operating to document.
Technical scheme provided by the invention is as follows:
A kind of cooperative processing method based on half distributed real-time collaborative software for editing is characterized in that, described associated treatment satisfies convergence, cause and effect keeps and intention keeps method is as follows:
A. realize the method that the server end cause and effect keeps:
A1. at server site all client sites are numbered, if N client site arranged, then the numbering of these websites is respectively 0,1 ..., N-1; Then at length of server site definition one-dimension array SV that is N as state vector (N is the website number), SV[k wherein] number (the k ∈ { 0 from the operation of the client site that is numbered k that accepts of record server site, 1, ..., N-1}), and SV[k] be initialized as SV[k]=0 (annotate: a=b represents to give a the b assignment, down with); Be numbered variable SV of client site definition of k kRecord the number of operations that this website has sent, SV kBe initialized as SV k=0;
A2. for the client site that is numbered k, if it produces operation O, then a SV k=SV k+ 1; O when being sent out with SV kAs additional information, i.e. O.SV k
A3. server site to accept the condition of O be SV[k]==O.SV k-1 (annotate: "==" represent to equate), otherwise this message will be handled these operations in order to guarantee server site according to the order that client site produces operation by delay process;
If A4. server site is accepted operation O, then SV[k]=O.SV k
B. realize the method that the client cause and effect keeps:
B1. record the number of server site transmit operation at variable SS of server site definition, and with SS initialization SS=0; Be numbered variable SS of client site definition of k kRecord this client site acceptance from the number of the operation of server site, SS kBe initialized as SS k=0;
If B2. server site transmit operation EO, then SS=SS+1; EO when being sent out with SS as additional information, i.e. EO.SS;
B3. the condition that the client site that is numbered k is accepted EO is SS k==EO.SS-1, otherwise this message will be handled these operations in order to guarantee client site according to the order of server site transmit operation by delay process;
Accept operation EO, then SS if B4. be numbered the client site of k k=EO.SS;
C. at server site and client site after defined method handles operation in according to steps A and step B, client site and server site just can be according to identical sequential processes operations, so also just satisfy constringent requirement;
D. realize the method that the server site intention keeps:
D1. server site is that each client site safeguards a context formation, and the context formation that is numbered the client site of i is HB[i], and HB[i] be initialized as HB[i]=Φ (namely being initialized as an empty queue); HB[i] [j] expression context formation HB[i] in j operation;
D2. the operation O that accepts for server uses O.id to represent to produce the numbering of the client site of this operation, the variable SS that defines on this client site when O.SS represents that client site produces operation O kValue;
D3. work as a server site according to A3, after step is handled operation among the A4, HB[O.id in the context formation] in each operation O ' of beginning from O.SS, if O ' .id ≠ O.id would carry out O earlier "=IT (O; O ') uses O then " '=IT (O ', O) replace operation O ' in the formation, carry out O=O at last ", and begin next operation in the formation is handled according to step D3;
Described IT is for comprising transforming function transformation function, IT (X, Y) influence of expression consideration operation Y and the original intention of realization operation X;
D4. will operate O joins in each context formation that server site safeguards;
E. realize the method that the client site intention keeps:
E1. use variable CC_ID to represent the numbering of this client site at client site; Client site is safeguarded a context formation HB, and HB is initialized as HB=Φ; Client is used variable MsgReturn to record by this client and is sent to server, and the number of the operation of returning from server;
E2. the operation EO of server transmission uses EO.SS to represent the value of server site transmit operation EO variations per hour SS; EO.id represents to operate the numbering of the website that EO produces;
If E3. EO.id==CC_ID, then MsgReturn=MsgReturn+1; Otherwise execution in step E4;
E4. for each the operation O ' that begins from MsgReturn among the context formation HB, execution EO "=IT (EO, O ') the uses O then " '=IT of elder generation (O ', EO) the operation O ' in the replacement formation carries out O=EO at last " and begins next operation in the formation is handled according to step e 4.
Comprising the function that transforming function transformation function IT realizes described in the step D3 is, the represented editor position of this operation is adjusted make this operation consider the influence of other operations and keep the original intention of this operation.The operation that sends in the collaborative editing process contains two master datas: 1. this operation editor's position; 2. content edited.When operation sends to a website since this website on document may change, so action need to editor position adjustment realize original intention.The realization of this function is relevant with the particular type of operation, defines according to the relation of concrete operations to comprise transforming function transformation function when specific implementation.For example for two insert characters operate in hereinafter concrete implementation mode part by case description comprise the specific implementation of transforming function transformation function.
Preferably, be that at server site each client site safeguards a context formation, the intention maintenance method that defines in according to step D after operation arrives server site is handled; Be the formation of server site maintaining context at client site, the operation that server site sends is handled according to the intention maintenance method that defines in the step e after arriving client site; Therefore being intended to the maintenance method does not need earlier reverse execution eliminating conversion and then forward execution to comprise conversion, and each operates in, and required additional information has reduced when sending to other websites.
Preferably, the structure with conforming requirement and real-time collaborative software for editing combines; The website of real-time collaborative software for editing is divided into client site and server site, and communication is only carried out between server site and client site; On this basis, realize the requirement that cause and effect keeps by the method among steps A and the step B.
Preferably, communication is only carried out between server site and client site, all satisfied at server site and client site on the basis of the requirement that cause and effect keeps, can guarantee server site and client site all according to identical order executable operations, thus satisfied the requirement of convergence and not needs define algorithm separately and satisfy the requirement that restrains.
Beneficial effect of the present invention: utilize technical scheme provided by the invention, can reduce the difficulty that the associated treatment algorithm is realized.GOT need cancel the operation of having carried out earlier when realizing the convergence strategy, and convergence strategy of the present invention does not need document is carried out destruction operation; The state vector computational algorithm that GOT has designed a kind of complexity realizes that cause and effect keeps, thereby and cause and effect of the present invention keeps strategy to calculate by operation being numbered the state vector of having avoided complicated; The reverse execution eliminating conversion of GOT elder generation when realizing that intention keeps and then forward are carried out and are comprised conversion, therefore need carry out traversal twice to the context formation, and the intent of the present invention keeps strategy only to need to carry out to comprise conversion, thereby only need the context formation once be traveled through; Simultaneously each operates in that required additional information also reduces when sending to other websites; Half distributed CRES is beneficial to and carries out document management, the editing authority management.
Description of drawings
The collaborative editing scene of Fig. 1 half distributed structure C RES.
The collaborative editing scene of Fig. 2 distributed frame CRES.
Embodiment
The explanation that the server site intention keeps algorithm:
Can be defined as follows the algorithm process step according to step D above for server site:
Figure GDA00003241749600051
Can be defined as follows the algorithm process step according to step e above for client site:
Comprise transforming function transformation function (Include Transformation, IT) explanation:
What Fig. 2 described is the collaborative editing scene of distributed frame CRES.Site0, Site1, Site2 are three collaborative site.Communication mutually between each website in distributed CRES.After an operation produced, this operation will be sent to other websites.For example operate O among the figure 1After generation, will be sent to website Site1, Site2.Suppose that the document content of all websites is initially " ABCDEF " most among Fig. 2.Suppose operation O 1Be intended that character " A " front inserts a character " 0 ", be designated as: O 1=insert[" 0 ", 0]; Operation O 2Be intended that in character " B " front and insert a character " 1 ", be designated as: O 2=insert[" 1 ", 1].The requirement that keeps according to intention, when Site0 and Site1 at executable operations O 1And O 2The result should be " 0A1BCDEF " afterwards.But as operation O 2If O when having arrived website Site0 2Not adding any processing and directly carry out at Site0, is " 01ABCDEF " in the result of Site0.This obviously is wrong.Therefore in order to guarantee O 2Intention can be accomplished on website Site0, then should be to O 2Comprise conversion.Operation O 2'=IT (O 2, O 1) be to operation O 2Execution comprises the result of conversion.Operation O 2' consider O 1Influence and realize O at website site0 2Intention.According to above concrete condition O as can be known 2'=IT (O 2, O 1)=insert[" 1 ", 2], then work as O 2' replacement operation O 2The result who carries out back Site0 at website Site0 is " 0A1BCDEF ".So just guaranteed that website site0 finally is consistent with document on the site1.Comprising transforming function transformation function as can be known by above analysis is to operation O 2Editor's position is a mobile character (because operation O backward 1At operation O 2A character has been inserted in the front of editor's position).
Client site context formation (i.e. various visual angles formation) illustrates:
Intention at this algorithm keeps in the strategy, and server station is named a person for a particular job and is context formation of each client site maintenance.The purpose of doing like this is to make server site only need carry out when handling an operation to comprise conversion to get final product.Each client site is carried out these operations according to the order of the operation in its context formation, but last document results is consistent.The order of operating in the context formation of client site is the order of seeing from the angle of this client site, and therefore this context formation is also referred to as the visual angle formation.For example: three different clients website CC_1, CC_2, CC_3 have carried out O respectively 1=Insert[" O ", 0], O 2=Insert[" 1 ", 1], O 3=Insert[" 2 ", 2] three operations, orders that these operations arrive server sites are O 1, O 2, O 3The order of carrying out in these operations of CC_1 is: Insert[" 0 ", 0], Insert[" 1 ", 2], Insert[" 2 ", 4] and, server station is named a person for a particular job to operate and is placed in the new formation the i.e. context formation of client site CC_1 according to this in proper order; The order of carrying out in these operations of CC_2 is: Insert[" 1 ", 1], Insert[" 0 ", 0], Insert[" 2 ", 4] and, server station is named a person for a particular job to operate and is placed in the new formation i.e. client site CC_2 context formation according to this in proper order; The order of carrying out in these operations of CC_3 is: Inset[" 2 ", 2], Insert[" 0 ", 0], Insert[" 1 ", 2] and, server station is named a person for a particular job to operate and is placed in the new formation i.e. client site CC_3 context formation according to this in proper order.Can learn by this example: the order of operating in the context formation of each client site is to be placed on the front of context formation in the original formation by the operation of this website generation, and other operation joins the context formation according to original order.Operate in when joining the context formation and need keep original intention.For example: the context formation of client site CC_2 is that second original operation (namely operated O 2) as hereinafter first operation of formation of CC_2, and original first, the 3rd operation joins in the context formation according to original order; Operation O 1O need considered when joining the context formation of CC_2 2Influence and keep original intention, namely second in the CC_2 context is operating as Insert[" 0 ", 0], in like manner the 3rd is operating as Insert[" 2 ", 4].The concrete enforcement of this process can be with reference to above being intended to keep the algorithmic descriptions part.
The purpose of doing like this be make when server site is being handled next operation, only need carry out comprise conversion and do not need with GOT in needs execution eliminating conversion earlier and then execution comprise conversion like that.For example: if need to handle the operation O from client site CC_1 now 4=insert[" 3 ", 4], according to describing among the above-mentioned steps D2, need be with O 4With second in the formation of CC_1 visual angle, the 3rd operation carried out and comprised conversion.Be last EO 4=insert[" 4 ", 6].After finishing dealing with, EO 4CC_1 can directly be put into, CC_2, the tail of the queue of CC_3 visual angle formation.Needing also that in the formation of the visual angle of CC_1 second in the original formation, the 3rd operation comprised conversion makes them can consider operation EO 4Influence.This is actually does an adjustment to the visual angle formation of CC_1, makes that the next one also can be according to O from the operation of CC_1 4Such order is handled.The operation principle that keeps algorithm below by bright intention for instance.
Intention keeps the policy instance explanation:
What describe among Fig. 1 is the collaborative editing scene of the CRES of half distributed frame.In the CRES of half distributed frame, website is divided into client site and server site.CC_1 among client site such as the figure, CC_2; CS among server site such as the figure.Communication modes between the CRES website of half distributed frame is that client site sends a message to server site, is pushed to client site by server site after server site is finished dealing with.For example: operate O among the figure 1After producing, website CC_1 sends to server site, the EO as a result that after server site is finished dealing with, will handle 1Send to client site.Be the processing procedure that example illustrates algorithm below with Fig. 1.
If O 2=insert[" 0 ", 0], O 3=insert[" 1 ", 3], O 1=insert[" 2 ", 2].
The step that server site is handled is as follows:
Server site is set up a context formation for each client site.The context of website CC_1 is HB[1], the context of CC_2 is HB[2].Initial value HB[] []=Φ.
Work as O 2When arriving server site, because HB[2]=Φ, O 2Do not need to comprise conversion, server site is carried out O 2(EO 2=O 2).While HB[1] .Add (EO 2), HB[2] .Add (EO 2).
Work as O 3When arriving server site, HB[2]=[EO 2], and O 3Be to depend on EO 2, according to describing in the algorithm, so O 3Do not comprise conversion yet, carry out EO at server site 3(EO 3=O 3).While HB[1] .Add (EO 3), HB[2] .Add (EO 3).
Work as O 1When arriving server site, HB[1]=[EO 2, EO 3], because O 1And EO 2There is not dependence, the first step: O 1'=IT (O 1, EO 2)=insert[" 2 ", 3]; EO 2'=IT (EO 2, O 1)=insert[" 0 ", 0]; Use EO 2' replace HB[1] and in EO 2Second step: the O 1"=IT (O 1', EO 3)=insert[" 2 ", 3]; EO 3'=IT (EO 3, O 1')=insert[" 1 ", 4]; Use EO 3' replace HB[1] and in EO 3The 3rd step: carry out O 1"; HB[2] .Add (EO 1), HB[1] .Add (EO 1) (annotate: EO 1=O 1").
Work as O 4When arriving server site, according to algorithm, O 4And HB[1] [0] (be formation HB[1] in operation EO 2), HB[1] [1] (be formation HB[1] in operation EO 3) carry out and to comprise conversion, processing procedure and O 1Processing procedure similar.In like manner can analyze O 5Processing procedure at server site.
Client site treatment step following (be example with website CC_1):
When CC_1 produces O 1, O 4Afterwards, at client site CC_1, HB=[O 1, O 4].As operation EO 2When arriving client site CC_1, in order to keep EO 2Intention, EO 2Need and O 1, O 4Comprise conversion respectively, adjust context simultaneously and guarantee EO 3When reaching still according to this sequential processes.
Work as EO 1When arriving CC_1, because EO 1Primitive operation O 1CC_1 produces at website, thereby EO 1Intention realize at this website.Therefore do not carry out conversion process, simultaneously MsgReturn++; Same EO 4During arrival, also according to such step process.
Work as EO 5During arrival because MsgReturn=2, according to the description in the algorithm, EO 5Do not need and O 1, O 4Carry out conversion, this is because EO 5When carrying out, server site considered O 1, O 4Influence.
The algorithm complex explanation:
Algorithm time complexity: suppose to have n collaborative site to participate in collaborative editing, CRES had handled m message, then for the operation of any one new generation, according to the algorithm that defines needs when handling this operation operation queue is once traveled through, so the time complexity of algorithm is O (m).
The algorithm space complexity: according to the algorithm of definition, because server site is safeguarded n visual angle for each collaborative site, therefore the memory space that needs is m*n.
Traditional GOT algorithm all needs complicated state vector to calculate when realizing cause and effect maintenance and convergence.For an operation, cause and effect keeps and the time complexity of convergence process is O (n), and intention keeps and need carry out traversal twice to formation, so time complexity is O (2m).Last overall time complexity is O (2m)+O (n).
The angle of the number of times that in the time of can also operating from one of two kinds of algorithm process in addition document is upgraded is come comparison.Only need after keeping, cause and effect once upgrade document during operation of this algorithm process.And the GOT algorithm be owing to need cancel operation in the formation earlier when realizing convergence, and then operation is updated to document, and GOT need carry out 2m time to document and operates when therefore handling an operation.In the application of reality, be most time-consuming part to the renewal of document.Be example with this proof of algorithm program Spreadsheet: delegation is equivalent to the element in the array is moved forward a position successively in the server end deletion.For the GOT algorithm, handle an action need document is carried out similar operation 2m time, and this algorithm only need carry out once.

Claims (4)

1. cooperative processing method based on half distributed real-time collaborative software for editing, described half distributed real-time collaborative software for editing represents that the collaborative site of real-time collaborative software for editing is divided into client site and server site, communication is only carried out between server site and client site, it is characterized in that described associated treatment satisfies convergence, cause and effect keeps and the method for intention maintenance is as follows:
A. realize the method that the server end cause and effect keeps:
A1. at server site all client sites are numbered, if N client site arranged, then the numbering of these websites is respectively 0,1 ..., N-1; Then at length of server site definition one-dimension array SV that is N as state vector, SV[k wherein] number from the operation of the client site that is numbered k accepted of record server site, and SV[k] be initialized as SV[k]=0; Be numbered variable SV of client site definition of k kRecord the number of operations that this website has sent, SV kBe initialized as SV k=0;
A2. for the client site that is numbered k, if it produces operation O, then a SV k=SV k+ 1; O when being sent out with SV kAs additional information, i.e. O.SV k
A3. server site to accept the condition of O be SV[k]==O.SV k-1, otherwise this message will be handled these operations in order to guarantee server site according to the order that client site produces operation by delay process;
If A4. server site is accepted operation O, then SV[k]=O.SV k
B. realize the method that the client cause and effect keeps:
B1. record the number of server site transmit operation at variable SS of server site definition, and with SS initialization SS=0; Be numbered variable SS of client site definition of k kRecord this client site acceptance from the number of the operation of server site, SS kBe initialized as SS k=0;
If B2. server site transmit operation EO, then SS=SS+1; EO when being sent out with SS as additional information, i.e. EO.SS;
B3. the condition that the client site that is numbered k is accepted EO is SS k==EO.SS-1, otherwise this message will be handled these operations in order to guarantee client site according to the order of server site transmit operation by delay process;
Accept operation EO, then SS if B4. be numbered the client site of k k=EO.SS;
C. at server site and client site after defined method handles operation in according to steps A and step B, client site and server site just can be according to identical sequential processes operations, so also just satisfy constringent requirement;
D. realize the method that the server site intention keeps:
D1. server site is that each client site safeguards a context formation, and the context formation that is numbered the client site of i is HB[i], and HB[i] be initialized as HB[i]=Φ; HB[i] [j] expression context formation HB[i] in j operation;
D2. the operation O that accepts for server uses O.id to represent to produce the numbering of the client site of this operation, the variable SS that defines on this client site when O.SS represents that client site produces operation O kValue;
D3. work as a server site according to A3, after step is handled operation among the A4, HB[O.id in the context formation] in each operation O ' of beginning from O.SS, if O ' .id ≠ O.id would carry out O earlier "=IT (O; O ') uses O then " '=IT (O ', O) replace operation O ' in the formation, carry out O=O at last ", and begin next operation in the formation is handled according to step D3;
Described IT is for comprising transforming function transformation function, IT (X, Y) influence of expression consideration operation Y and the original intention of realization operation X;
D4. will operate O joins in each context formation that server site safeguards;
E. realize the method that the client site intention keeps:
E1. use variable CC_ID to represent the numbering of this client site at client site; Client site is safeguarded a context formation HB, and HB is initialized as HB=Φ; Client is used variable MsgReturn to record by this client and is sent to server, and the number of the operation of returning from server;
E2. the operation EO of server transmission uses EO.SS to represent the value of server site transmit operation EO variations per hour SS; EO.id represents to operate the numbering of the website that EO produces;
If E3. EO.id==CC_ID, then MsgReturn=MsgReturn+1; Otherwise execution in step E4;
E4. for each the operation O ' that begins from MsgReturn among the context formation HB, execution EO "=IT (EO, O ') the uses O then " '=IT of elder generation (O ', EO) the operation O ' in the replacement formation carries out O=EO at last " and begins next operation in the formation is handled according to step e 4.
2. cooperative processing method as claimed in claim 1 is characterized in that, is that at server site each client site safeguards a context formation, and the intention maintenance method that defines in according to step D after operation arrives server site is handled; Be the formation of server site maintaining context at client site, the operation that server site sends is handled according to the intention maintenance method that defines in the step e after arriving client site; Intention maintenance method does not need earlier reverse execution to get rid of conversion and then the forward execution comprises conversion.
3. cooperative processing method as claimed in claim 1 is characterized in that, the structure of conforming requirement and real-time collaborative software for editing is combined; Realize the requirement that cause and effect keeps by the method among steps A and the step B.
4. cooperative processing method as claimed in claim 1, it is characterized in that, all satisfied at server site and client site on the basis of the requirement that cause and effect keeps, can guarantee server site and client site all according to identical order executable operations, thus satisfied the requirement of convergence and not needs define algorithm separately and satisfy the requirement that restrains.
CN 201110194215 2011-07-12 2011-07-12 Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software) Expired - Fee Related CN102355478B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110194215 CN102355478B (en) 2011-07-12 2011-07-12 Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110194215 CN102355478B (en) 2011-07-12 2011-07-12 Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software)

Publications (2)

Publication Number Publication Date
CN102355478A CN102355478A (en) 2012-02-15
CN102355478B true CN102355478B (en) 2013-08-14

Family

ID=45578972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110194215 Expired - Fee Related CN102355478B (en) 2011-07-12 2011-07-12 Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software)

Country Status (1)

Country Link
CN (1) CN102355478B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811260B (en) * 2012-08-10 2015-04-15 清华大学 File cloud synchronizing system and method
CN105955828B (en) * 2016-04-18 2019-01-29 武汉大学 A kind of Real-time co-authoring consistency maintaining method for supporting string operation
CN109446502A (en) * 2018-10-17 2019-03-08 南京垂宇网络科技有限公司 Method for canceling redo in collaborative graphic editing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308518B (en) * 2008-06-11 2011-11-02 武汉大学 Topology element name corresponding method for copy type synergic modeling system
CN101539960A (en) * 2009-04-27 2009-09-23 武汉大学 Undo/Redo method for maintaining user intention in replicated collaborative CAD system

Also Published As

Publication number Publication date
CN102355478A (en) 2012-02-15

Similar Documents

Publication Publication Date Title
Li et al. Coding for distributed fog computing
CN107491086B (en) Unmanned aerial vehicle formation obstacle avoidance method and system under time-varying network topology
CN109669477A (en) A kind of cooperative control system and control method towards unmanned plane cluster
Malik et al. A comparison of RESTful vs. SOAP web services in actuator networks
CN104077425B (en) A kind of text editing real-time collaborative method based on operation conversion
CN107392842A (en) Image stylization processing method, device, computing device and computer-readable storage medium
CN102170462B (en) Remote collaboration method of product design model
CN111260076B (en) Block chain-based edge node training method, block chain and storage medium
CN102355478B (en) Cooperative processing method on basis of semi-distributed CRES (collaborative real-time editing software)
CN102332174A (en) Collaborative sketch animation generation method and system
US20140310328A1 (en) Method for automated generation of minimal partitioning of a process specification for supporting its distributed execution
CN112001500A (en) Model training method, device and storage medium based on longitudinal federated learning system
JP7074306B2 (en) Collaborative processing system and method for multicentric biomedical data without patient data sharing
CN109709985B (en) Unmanned aerial vehicle task optimization method, device and system
CN111222628A (en) Method, device and system for optimizing recurrent neural network training and readable storage medium
WO2020243354A1 (en) Systems and methods for secure, low bandwidth replicated virtual worlds for shared space computing enabling vehicle flocking
CN111953520A (en) Method, apparatus, device and medium for implementing group control through group virtual device
CN115049071A (en) Federal learning method based on DAG block chain
CN107181774A (en) Data movement between distributive data center
CN109902182A (en) Knowledge data processing method, device, equipment and storage medium
CN107277112A (en) A kind of scalable and efficient address space transformation algorithm
CN103634385A (en) System, method and server for data synchronizing
CN109508243A (en) Service request processing method, device, computer equipment and storage medium
CN110662272A (en) Minimum-number pilot selection method based on swarm unmanned aerial vehicle
CN101894186A (en) Operation transformation method based on three-dimensional semantic in cooperative computer-aided design editing system

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130814

Termination date: 20160712

CF01 Termination of patent right due to non-payment of annual fee