CN1794724A - Method of realizing data synchronization on SyncML layer - Google Patents

Method of realizing data synchronization on SyncML layer Download PDF

Info

Publication number
CN1794724A
CN1794724A CN 200510116802 CN200510116802A CN1794724A CN 1794724 A CN1794724 A CN 1794724A CN 200510116802 CN200510116802 CN 200510116802 CN 200510116802 A CN200510116802 A CN 200510116802A CN 1794724 A CN1794724 A CN 1794724A
Authority
CN
China
Prior art keywords
data
synchrodata
numbering
client
deletion
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.)
Pending
Application number
CN 200510116802
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200510116802 priority Critical patent/CN1794724A/en
Publication of CN1794724A publication Critical patent/CN1794724A/en
Priority to CN2006101095911A priority patent/CN1956452B/en
Priority to EP06805092.1A priority patent/EP1845688B1/en
Priority to JP2008536915A priority patent/JP5294867B2/en
Priority to ES06805092.1T priority patent/ES2458303T3/en
Priority to PCT/CN2006/002887 priority patent/WO2007048354A1/en
Priority to CN200680011960.1A priority patent/CN101160903B/en
Priority to US11/848,111 priority patent/US8015319B2/en
Pending legal-status Critical Current

Links

Images

Abstract

This invention discloses a method for realizing data synchronization on SyncML layer, which not only presents a concrete realization method for data sort synchronization but also delivers information of number and data kinds as much as possible to avoid delivering concrete data contents, besides, the synchronous data occupy a small physical space so as to reduce the existence of redundant data furthest and save the limited resources of devices and network.

Description

Realize the method for data sync at the SyncML layer
Technical field
The present invention relates to data sync standard (SyncML DataSynchronization) technical field of Open Mobile Alliance definition, be meant the method that realizes data sync at the SyncML layer especially.
Background technology
The SyncML iniative of industry group has created in order to work out the standard specification that can realize data sync in personal information and the enterprise between a plurality of platforms and network in companies such as IBM, Nokia, Palm, Psion in February, 2000.The purpose of exploitation SyncML is, make terminal use, equipment development merchant, basic component developer, metadata provider, use software developer and service provider's collaborative work, the real any terminal equipment of use of realizing all can be visited any network data whenever and wherever possible.Typical case's application of SyncML data sync is the data sync between mobile device or the application server and the webserver.In addition, SyncML also can be used for the data sync of equity, between two PC.
Figure 1 shows that and realize synchronous schematic diagram.SyncML client and server are through after the parameter negotiation in synchronous initiation stage, and terminal and server send the data that change separately mutually, to guarantee both sides' data synchronization.
Sync client (DS Client), it is an intelligent terminal such as PC software, mobile phone or PDA normally.DS Client comprises a client database (Client Database), is used for storing the required data of user, and these data comprise: address list, schedule, notepaper, note, Email etc.These data all have its form of standard specification definition, and client can become data transaction the form of standard to send to server, can preserve in the database of oneself after the server process.
Synchronization server (DS Server) can receive data synchronization message and synch command from DS Client, and can send synchronization message to sync client.This equipment can be a webserver or a PC.DS Server has comprised a server end database (Server Database), is used for data on the service device.
The client and server end all stores the sign that is used for identification data, uses LUID (Local Unique Identifier) as Data Identification in client; Use GUID (GlobalUnique Identifer) as Data Identification at server end.
Referring to Fig. 2, Figure 2 shows that the storage signal of client and server end.In client, only need safeguard the corresponding relation of LUID and concrete real data, not only need to safeguard the corresponding relation of GUID and concrete real data at server end, also to safeguard the corresponding relation of GUID and LUID.
Wheel synchronization type is divided into multiple, specifically referring to table 1.
Wheel synchronization type Descriptor
Bi-directional synchronization (Two-way sync) Bi-directional synchronization is usually employed a kind of method of synchronization.Adopt this mode, sync client and server end only exchange the data modification information (unmodified does not exchange) in the equipment each other mutually.Client at first sends its modification information.
Slow (Slow sync) synchronously Slow is a kind of specific type of bi-directional synchronization synchronously, and difference is to carry out one by one data, field compares processing one by one.This means, in the time of synchronously, the client and server end all must all send to the opposite end to all data in the local data base, and server end or client are carried out the synchronous analysis of field one by one to every data that receive every data and self preserve then.
Client one-way synchronization (One-way sync from client only) The client one-way synchronization is the synchronous of a kind of monolateral mode.Have only client to send its data modification information, and server is not issued client to the modification information of server end to server.
Client refreshes (Refresh sync from client only) Client refreshes also is the synchronous of a kind of monolateral mode.Client all sends to server end to all data in the local data base, and server covers all data in the server database with the data of client.Be the in full accord of data in the server and client, seldom, much, also do not have different records.
Service end one-way synchronization (One-way sync from server only) Service end one-way synchronization and client one-way synchronization are similar.Have only server to send its data modification information, and client is not issued server to its modification information to client.
Service end refreshes (Refresh sync from server only) Service end refreshes with client refreshes similar.Server all sends to subscription client to all data of user in the database, and client covers all data in the client database with data in server.Be the in full accord of data in the client and server, seldom, much, also do not have different records.
The service end notice is (Server Alerted Sync) synchronously The service end notice is meant synchronously by server at first reminds the client to bring in execution simultaneous operation.Promptly tell client to begin the simultaneous operation of a particular type by server.Only be the server notification terminal, require it to initiate that certain is synchronous, the subsequent synchronisation flow process may be above six kinds of methods of synchronization.
Table 1
The synchronous flow process of stipulating in the SyncML standard is divided into three phases usually:
1, the synchronous initiation stage, it is mainly finished identification authentication, needs the negotiation in data in synchronization storehouse, the negotiation of synchronizing capacity (support which data, support which wheel synchronization type etc.) synchronously.This reciprocal process may need to continue repeatedly just can finish.
2, synchronous phase, it is mainly used in the end in the client and server, according to the state of data the data that the change mode by operational order is sent to the other end in the client and server, carry out identical operations by the other end according to these orders and reach synchronous purpose.
3, finish the stage synchronously, it is mainly used in the mutual affirmation of client and server end and finishes synchronously.
In the prior art, for the data definition of reality Folder and two kinds of forms of File, it mainly is file and the such tree-shaped bibliographic structure of file on the simulation PC, and definition Folder and File have the such attribute of similar file system, as whether hiding (h), whether be system directory or file (s), whether compress (a), whether delete, if for the deletion state, catalogue or file can deleted (d), whether can write (w), whether readable (r), file can carry out (x) etc.And, when carrying out simultaneous operation, can only be used for the bibliographic structure of the such physics mode of synchronization file system.
Simultaneously, also provide filtration (Filtering) function in the prior art, its effect mainly is to indicate filtercondition at the initialization negotiation phase.For example: when the negotiation terminal ability, can be at treating synchrodata given filter condition, as:
A, given client end do not receive the PHOTO attribute among the vCard;
B, given client end only belong to the contact person of Business and Personal group synchronously;
Filtercondition B wherein can regard the only process of synchronous assigned catalogue of client and server end negotiation as.
But, even be used for the bibliographic structure of the such physics mode of synchronization file system, in existing standard, do not offer some clarification on concrete implementation method yet, do not have promptly that clear and definite how to use Folder and File to carry out recurrence synchronous, thereby current each manufacturer does not nearly all carry out synchronous implementation method to a certain catalogue.
Have again,, also can only realize the bibliographic structure of physics mode is realized synchronously, and can not the bibliographic structure of logical course be realized synchronously even adopt this method, can't distinguish recurrence synchronously and onrecurrent synchronous.For example, suppose to have had several bibliographic structures that exist with physics mode such as address list, note, Email in user's the mobile phone, in the prior art, the user is this big class of note synchronously, and short messages stored can not be divided into " joke " and " blessing " two logic class, more can not be only " joke " this logical directories synchronously.Simultaneously also do not support a data item to be present in simultaneously in two classification, for example for the user communication book, Zhang San both belonged to " co-workers group ", and the demand that belongs to " friend's group " again can't realize.
In addition, in existing address list (vCard) standard, the group attribute is arranged, can be used for classification, but itself and the binding of concrete synchronizing content are that synchronous designated directory depends on concrete data format, and same content can only belong to a classification and can not belong to a plurality of classification simultaneously, for example Zhang San's attribute is " colleague " in the address list, and it just can only belong to " colleague " this classification so, and can not belong to " good friend " this classification again.And other data formats as note, schedule etc., are not supported the attribute based on group.As seen, this kind classification is not general.Have again, need the user to open concrete data format based on the group attribute of vCard and come editor group name, like this may be because misoperation make " good friend " be considered to different groups with " good friend ", and case sensitive.And the group attribute only can support the first class catalogue structure, is unsupported for multistage catalogue.
In the prior art when client operation and server side operation clash, only be to adopt based on client data or based on the simple solution of server end data; After adopting bibliographic structure, it is complicated that the situation that conflict takes place will become, for example: user's mobile A catalogue on client makes it become the subdirectory of B catalogue, and server end is to have increased clauses and subclauses in the A catalogue, conflict has taken place in the operation of the two, if the employing prior art finally can only be the operation of adopting client, the newly-increased clauses and subclauses of server end are dropped; Perhaps the A catalogue increases clauses and subclauses newly on the client, and the operation that the A catalogue moves under the B catalogue is dropped; And the situation that the actual user wishes is to have increased clauses and subclauses under the A catalogue newly, and the A catalogue is moved under the B catalogue.
Summary of the invention
In view of this, the object of the present invention is to provide a kind of method, can specify any catalogue to carry out not only saving Internet resources synchronously, and strengthen user experience in SyncML layer realization data sync.
For achieving the above object, technical scheme of the present invention is achieved in that
A kind ofly realize the method for data sync at the SyncML layer, when the termination in SyncML client or the server end was received synchronization request from the user, the client and server end consulted to treat catalogue under the synchrodata; This method may further comprise the steps:
Treat the type of synchrodata in the request synch command that a end in a, SyncML client or the server end is at first determined to receive, if directory entry, execution in step b then is if data items, then execution in step c;
B, from the catalogue listing that has been provided with, obtain the current state that this treats synchrodata, if being designated as, current state do not change, then do not process, if current state is designated as variation, then make up corresponding with it data sync order, this data sync order is sent to the other end in client or the server end according to this variable condition;
C, from the data clauses and subclauses-catalogue mapping table that has been provided with, obtain the variable condition that this treats synchrodata, and make up corresponding with it data sync order according to this variable condition, this data sync order is sent to the other end in client or the server end;
At least comprise the data type for the treatment of synchrodata and treat the synchrodata numbering in the described constructed order;
After the other end in SyncML client or the server receives synch command from the opposite end, carry out following steps:
Action type is determined in the data sync order that d, basis receive, and changes the content of corresponding form, realizes data sync.
Preferably, described initiation synchronization request be client, described execution simultaneous operation be server end;
The described variable condition that this treats synchrodata is newly-increased N, and described is to increase the ADD synch command with the corresponding data sync order of this variable condition; The synchrodata numbering treated in described this order is the numberings of these data in client, and further comprises in this order: concrete synchrodata and the affiliated parent directory of this data treated;
Described server end determines that action type is increase; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, preserve the synchrodata for the treatment of that receives at local data base, for this treats the local numbering of synchrodata distribution server, this synchrodata of preservation is at the numbering of client and this synchrodata corresponding relation in the numbering of server end in the numbering in the SyncML client that has been provided with and the tabulation of the corresponding relation of the numbering in the server; And, according to the data type for the treatment of synchrodata in the synch command, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, increase respective entries, if data type is a data items, then increase respective entries in the data table of articles that has been provided with in this locality and the data clauses and subclauses-catalogue corresponding relation concordance list.
Preferably, described initiation synchronization request be server end, described execution simultaneous operation be client;
The described variable condition that this treats synchrodata is newly-increased N, and described is to increase the ADD synch command with the corresponding data sync order of this variable condition; The synchrodata numbering treated in described this order is the numberings of these data at server end, and further comprises in this order: concrete synchrodata and the affiliated parent directory of this data treated;
Described client determines that action type is increase; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, preserve the synchrodata for the treatment of that receives at local data base, treat synchrodata for this and distribute the client terminal local numbering, and, according to the data type for the treatment of synchrodata in the synch command, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, increase respective entries, if data type is a data items, then increase respective entries in the data table of articles that has been provided with in this locality and the data clauses and subclauses-catalogue corresponding relation concordance list; Afterwards, return the numbering in this data client and the corresponding relation of the numbering in the server to server end, the corresponding relation that receives is kept in numbering in the local SyncML client that has been provided with tabulates with the corresponding relation of the numbering in the server by server end.
Preferably, after step b is finished, further comprise: e judges under this directory entry that increases newly whether the data items that increases newly is arranged, if having, repeated execution of steps c then, up to all data items all synchronously till, execution in step f afterwards; If no, direct execution in step f then;
F, judge whether the subdirectory item that increases newly is arranged under this directory entry that increases newly, if having, repeated execution of steps b then, up to all directory entries all synchronously till, execution in step e if do not have, then finishes afterwards.
Preferably, after step b is finished, further comprise: e judges under this directory entry that increases newly whether the data items that increases newly is arranged, if having, repeated execution of steps c then, up to all data items all synchronously till.
Preferably, the described variable condition that this treats synchrodata is for upgrading U, described and the corresponding data sync order of this variable condition be for replacing the Replace synch command, and further comprise in this order: concrete synchrodata and the affiliated parent directory of these data treated;
The described other end determines that action type is renewal; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, upgrade and treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality, if data type is a data items, then in the data table of articles that this locality has been provided with, upgrades and treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
Preferably, after step b is finished, further comprise: g judges under this directory entry that has upgraded whether the data updated project is arranged, if having, repeated execution of steps c then, up to all data items all synchronously till, execution in step h afterwards; If no, direct execution in step h then;
H, judge the subdirectory item that whether has renewal under this directory entry that has upgraded, if having, repeated execution of steps b then, up to all directory entries all synchronously till, execution in step g if do not have, then finishes afterwards.
Preferably, after step b is finished, further comprise: g judges under this directory entry that has upgraded whether the data updated project is arranged, if having, repeated execution of steps c then, up to all data items all synchronously till.
Preferably, described this treats that the variable condition of synchrodata is mobile M, and the described and corresponding data sync order of this variable condition is mobile Move synch command; And further comprise in this order: parent directory under these data after changing;
The described other end determines that action type is mobile; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, this is treated that synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives, if data type is a data items, will treat in data clauses and subclauses-catalogue mapping table that this locality has been provided with that then synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives.
Preferably, the described current state of step b is designated as deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition; One end of then described initiation synchronization request further comprises: judge whether data items under the subdirectory of this data items under waiting to deltree and this catalogue exists only in this and wait to deltree down, if, then make up a delete command, and comprise the information of indicating permanent delet in this delete command; Otherwise, make up a delete command respectively at each data items and directory entry, and existing only in this data items under waiting to deltree or the pairing delete command of directory entry and comprise the information of indicating permanent delet, is not to exist only in this data items under waiting to deltree or the pairing delete command of directory entry to comprise the information of indicating impermanent deletion;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
Determine the deletion type according to the data sync order that receives, and the data type for the treatment of synchrodata, if data type is a directory entry, no matter be that the deletion type is permanent delet or impermanent deletion then, all deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the catalogue listing that this locality has been provided with; If data type is a data items, and the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If data type is a data items, and the deletion type be impermanent deletion, then in the data clauses and subclauses-catalogue mapping table of this locality the deletion treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
Preferably, the described current state of step b is designated as deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
Determine the deletion type according to the data sync order that receives, and the data type for the treatment of synchrodata, if data type is a directory entry, judge again then whether the subdirectory of this data items under waiting to deltree and this catalogue and the data items under the subdirectory exist only in this and wait to deltree down, if, then determine this wait to deltree and this catalogue under data items, be permanent delet with the data items under subdirectory and the subdirectory, otherwise, determining to wait to deltree and to exist only in this data items or directory entry under waiting to deltree at this is permanent delet, at being not that to exist only in this data items or directory entry under waiting to deltree be impermanent deletion;
If deletion is directory entry, no matter be that the deletion type is permanent delet or impermanent deletion then, all deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the catalogue listing that this locality has been provided with; If deletion is data items, and the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If data type is a data items, and the deletion type be impermanent deletion, then in the data clauses and subclauses-catalogue mapping table of this locality the deletion treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
Preferably, the described variable condition of step c is deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition; One end of then described initiation synchronization request further comprises: judge receive from whether indicating this data items of permanent delet in user's the delete command, if, the sign that further comprises permanent delet in the then described delete command, otherwise, judge that this treats whether the deleted data project is positioned under a plurality of catalogues, if in described delete command, further comprise the sign of impermanent deletion, otherwise further comprise the sign of permanent delet in the described delete command;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
After being data items according to the data sync order specified data type that receives, determine the deletion type again, if the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If the deletion type is impermanent deletion, then deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the data clauses and subclauses-catalogue mapping table of this locality.
Preferably, after the deletion simultaneous operation that is finished as the client of carrying out simultaneous operation or the server other end, further comprise: an end of initiating synchronization request is deleted the corresponding data project in the corresponding data table that this locality has been provided with.
Preferably, if described initiation synchronization request is client, what carry out simultaneous operation be server end, treats that it is the numberings of these data in client that synchrodata is numbered in the then described synch command; After described server end receives the data sync order, the specified data type takes a step forward and comprises: that obtains this renewal in the tabulation of the numbering in the SyncML client that has been provided with and the corresponding relation of the numbering in the server treats the numbering of synchrodata in server this locality, continues to carry out subsequent operation afterwards again.
If described initiation synchronization request is server end, what carry out simultaneous operation be client, and the synchrodata numbering for the treatment of in the then described synch command is the corresponding relation of numbering in the client that has been provided with according to self of server end and the numbering in the server these data of obtaining numbering in client of tabulating.
Preferably, in the described catalogue listing that in SyncML client and server, is provided with respectively, comprise the parent directory under directory entry numbering, directory name, this catalogue key name and the corresponding relation of this directory entry state at least;
In the described data clauses and subclauses-catalogue corresponding relation concordance list that in SyncML client and server, is provided with respectively, comprise the corresponding relation of data items numbering, parent directory and data items state at least.
Preferably, comprise at least in the described data table of articles that in SyncML client and server, is provided with respectively: the corresponding relation of data items numbering and concrete data content;
Described in the SyncML client that server end has been provided with numbering and the tabulation of the corresponding relation of the numbering in the server in comprise at least: the numbering of data in client and the corresponding relation of the numbering in the server.
Preferably, the initial phase that operates in of catalogue under the synchrodata is treated in described negotiation, and may further comprise the steps: the form to URI is made predefine, and the implication by URI in the target database element indicates treats synchronous directory.
Preferably, the initial phase that operates in of catalogue under the synchrodata is treated in described negotiation, may further comprise the steps: indicate by filtercondition in the filtercondition element and treat synchronous directory.
Preferably, this method further comprises: set up the arbitration result that merges processing (Win-Win) with server end and client;
When the retouching operation of server end and client clashed, client was carried out simultaneous operation according to the modification of server end, and server end is carried out simultaneous operation according to the modification of client;
That described modification comprises is newly-increased, upgrade, move, deletion, copy operation.
The method of the invention, not only provided in detail and realized the synchronous specific implementation of data qualification, make and carry out to be achieved synchronously at a certain catalogue, and, also in the process of specific implementation, transmit information such as numbering, data type as far as possible, avoided too much concrete data content to transmit, and the actual physical space that takies of synchrodata also less (each data has only portion), thereby reduced the existence of redundant data to greatest extent, saved limited device resource and Internet resources.The user can create physics or logical division according to the wish of oneself simultaneously, can data items be included into designated directory by drawing operation etc., does not need the manual editing data project of going; Can specify arbitrary catalogue promptly to classify to carry out recurrence or onrecurrent synchronous, strengthened the user experience sense.
Description of drawings
Figure 1 shows that and realize synchronous schematic diagram;
Figure 2 shows that the storage signal of client and server end;
Fig. 3 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention one;
Fig. 3 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention one;
Fig. 4 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention two;
Fig. 4 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention two;
Fig. 5 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention three;
Fig. 5 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention three;
Fig. 6 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention four;
Fig. 6 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention four;
Fig. 7 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention five;
Fig. 7 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention five;
Fig. 8 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention six;
Fig. 8 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention six.
Embodiment
Below in conjunction with drawings and the specific embodiments, the present invention is done detailed description further again.
In order to realize making the user to create physics or logical division catalogue according to the wish of oneself, and it is synchronous or onrecurrent is synchronous to specify any classified catalogue to carry out recurrence, need following three tables of data be set respectively at the client and server end:
1, data table of articles (Data Item Table): this table is used to preserve all data items information, and it comprises the corresponding relation of data items numbering and concrete data content (Data); Wherein, described data items numbering is represented with Item LUID in client, represents with Item GUID at server end
2, catalogue listing (Folder Table): this table is used to preserve all directory entry information, and it comprises the parent directory (Parent Source) under the directory entry numbering, directory name (Name), this catalogue key name and the corresponding relation of this directory entry state (Folder Satus).State wherein mainly comprises existing unmodified Existing (E), newly-increased New (N), upgrades Update (U), deletion Delete (D), mobile Move (M) and duplicates Copy (C) state; Wherein, Delete can be divided into permanent delet Delete permanetly (P-D) and impermanent deletion Delete non-permanetly (P-ND) two states again; Described directory entry numbering is represented with Folder LUID in client, represents with Folder GUID at server end.
3, data clauses and subclauses-catalogue corresponding relation concordance list (Index Table): this table is used to preserve the attaching relation of data items, and it comprises the corresponding relation of data items numbering, parent directory (Parent Source) and data items state (Data Satus); Wherein said data items numbering is represented with ItemLUID in client, represents with Item GUID at server end.
Have again, also need preserve the numbering of data in the SyncML client and the corresponding relation tabulation of the numbering in the server, i.e. corresponding relation between GUID and the LUID at server end.
As everyone knows, in SyncML, realize being divided into synchronously three phases: synchronous initiation stage, synchronous phase and finish the stage synchronously.The processing of finishing the stage in the present invention synchronously is identical with existing mode, therefore, below only is described with regard to synchronous initiation stage and synchronous phase.
In the synchronous initiation stage, except need consulting as prior art data in synchronization storehouse, the terminal capability, also to indicate and treating synchronous directory, the concrete following dual mode that can have is realized:
Mode one: in the target database element, indicate and treat synchronous directory.Be specially: the form to unified resource identifier (URI, Uniform Resource Identifier) is made predefine, specifies which rank of identification database address in advance, the address of which rank of expression catalogue, and the sign by URI indicates treats synchronous directory.Certainly, synchronous if desired a plurality of catalogues can provide a plurality of URI simultaneously and be indicated.
Mode two: in the filtercondition element, indicate and treat synchronous directory.Be specially: expand existing filtering function, in filtercondition (as Filter), indicate and treat synchronous directory.The described synchronous directory for the treatment of is other catalogue of SyncML level, does not rely on synchronization data types.Certainly, synchronous if desired a plurality of catalogues can be pointed out a plurality of catalogues simultaneously.
Below in conjunction with specific embodiment synchronous phase is described.Because the handling process that client is initiated synchronously and the server end initiation is synchronous is similar, only to initiate synchronously below with client, it is that example describes that server end is carried out data simultaneous operation.
Embodiment one: the user has increased a new catalogue " bless " under the root (./sms) of note, and, under " bless " catalogue, increased by two subdirectories again and be respectively " Spring Festival " and " Mid-autumn Festival ", simultaneously, data under each catalogue, have been increased respectively, promptly under " bless " catalogue, increased data N1, under " Spring Festival " catalogue, increase data N2, under " Mid-autumn Festival " catalogue, increased data N3.
Referring to Fig. 3 a and Fig. 3 b, Fig. 3 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention one, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that dotted line is represented is New.Fig. 3 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention one.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.The state of data that each tabulation increases all has corresponding reflection at Fig. 3 b.
When customer requirements synchronously during " bless " catalogue, client generates as follows step command in proper order:
At first, after client determines that according to the order from user's synchronous bless catalogue that receives synchrodata is a directory entry, determine that from Folder Table the state of this bless is N, afterwards, make up the synch command that increases (ADD), and, it is directory entry Folder that Meta field in the order of this structure indicates according to Folder Table established data type, the LUID field indicates the numbering 1006 for the treatment of synchrodata, it is bless that the Data field indicates concrete data, and it is root that the SourceParent field indicates its affiliated parent directory.
Afterwards, client is determined data items state under the bless catalogue, because in Index Table, data items 2001 pairing states are N, therefore, make up the ADD synch command, and after determining that from DataItem Table 2001 pairing concrete data contents are N1, it is data items Item that Meta field in this constructed ADD synch command indicates data type, the LUID field indicate treat synchrodata be numbered 2001, it is N1 that the Data field indicates concrete data, and it is 1006 that the SourceParent field indicates its affiliated parent directory.
Afterwards, behind the data items of determining not increase newly under the bless catalogue when client, the state of subdirectory under this bless catalogue of index, its concrete grammar is identical with the method for definite bless catalogue, repeats no more herein.Its result who determines makes up two ADD synch command, it is directory entry Folder that Meta field in one of them order indicates data type, the LUID field indicates the numbering 1007 for the treatment of synchrodata, it is Spring Festival that the Data field indicates concrete data, and it is 1006 that the SourceParent field indicates its affiliated parent directory; It is directory entry Folder that Meta field in another order indicates data type, the LUID field indicates the numbering 1008 for the treatment of synchrodata, it is Mid-autumnFestival that the Data field indicates concrete data, and it is 1006 that the SourceParent field indicates its affiliated parent directory.
Afterwards, behind the subdirectory of determining not increase newly under the bless catalogue when client, determine the state of the data items under SpringFestival catalogue and the Mid-autumn Festival catalogue again, its concrete grammar is identical with the method for definite N1, be that client can be distinguished and constructs two ADD synch command again, do not repeat them here.
By that analogy, till all sending the ADD synch command, just realized that so also recurrence is synchronous at the data of all increases.Certainly, if only synchronous a certain directory entry, and the data item under no longer synchronous this directory entry, reality is exactly to have realized that onrecurrent is synchronous.In addition, can also only synchronous a certain directory entry and this directory entry under data items, and the subdirectory item under this directory entry no longer synchronously.
Afterwards, the ADD synch command of being constructed is all sent to server.If the data volume of each ADD order is less, can in a message, comprise a plurality of ADD orders, disposablely get final product alternately; If data are more, need repeatedly mutual.In actual applications, can also only send an ADD synch command, but comprise a plurality of catalogues and data items in an ADD order, promptly it remains a plurality of ADD orders in logic.
After the following describes server end and receiving above-mentioned ADD order, carry out the process of simultaneous operation.Form is similar shown in the form that this process is related and Fig. 3 b, and therefore figure does not show.
Receive the synch command of increase bless directory entry when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is a directory entry, determine that according to the LUID field this treats that synchrodata is numbered 1006 in client, determine that according to the Data field its name is called bless, determines that according to the SourceParent field its parent directory is a root.Afterwards, for this treats the local numbering of synchrodata distribution server Folder GUID, as 100006.Then, in the catalogue listing that this locality has been provided with, increase respective entries, promptly increase by 100006, the corresponding relation clauses and subclauses of bless, root and this bless data current state.And, protect in the tabulation of numbering in the SyncML client that self has been provided with and the corresponding relation of the numbering in the server this synchrodata in the numbering LUID of client and this synchrodata at the corresponding relation of the numbering GUID of server end, promptly preserve the corresponding relation between 1006 and 100006.
Receive the synch command of increase N1 data items when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is a data items, determine that according to the LUID field this treats that synchrodata is numbered 2001 in client, determine that according to the Data field its concrete data content is N1, determine that according to the SourceParent field its parent directory is 1006.Afterwards, in local data base, preserve these N1 data, treat the local numbering of synchrodata distribution server Folder GUID for this then, as 200001, and in the data table of articles Data Item Table that this locality has been provided with, increase respective entries, promptly increase by 200001 and the corresponding relation clauses and subclauses of N1; In Index Table, increase respective entries, promptly increase by 200001,100006 and the corresponding relation clauses and subclauses of this N1 data current state, protect in the tabulation of numbering in the SyncML client that self has been provided with and the corresponding relation of the numbering in the server this synchrodata in the numbering of client and this synchrodata at the corresponding relation of the numbering of server end, promptly preserve the corresponding relation between 2001 and 200001.
The mode that server end increases Spring Festival directory entry and Mid-autumn Festival directory entry is identical with the mode that increases the bless directory entry, and the method that increases N2 and N3 data items is identical with the mode that increases the N1 data items, does not repeat them here.
In addition, there is any need to prove: if server end is initiated synchronization request, by client executing simultaneous operation, then server end sends to comprise in the synchronization request of client and treats the numbering of synchrodata at server end, after the intact simultaneous operation of client executing, to return numbering in this data client and the corresponding relation of the numbering in the server is the corresponding relation of LUID and GUID to server end, the corresponding relation that receives will be kept in numbering in the local SyncML client that has been provided with tabulates with the corresponding relation of the numbering in the server by server end.
So far, realized increase data synchronization operation, and these data can be concrete data items, can be the directory entry of creating according to user's wish, and this directory entry be subjected to the restriction of the data physical structure of system yet.As seen, using benefit of the present invention is: identical data only need be transmitted portion, and an end of execution simultaneous operation also only needs to preserve portion to identical data, has saved Internet resources and equipment own resources greatly.For example, suppose that N1 belongs under bless, Spring Festival and the Mid-autumn Festival catalogue simultaneously, so in the simultaneous operation process of server end, only need in Index Table, to increase again two respective entries, promptly increase by 200001,100007 and the corresponding relation clauses and subclauses and 200001 of this N1 data current state, 100008 and the corresponding relation clauses and subclauses of this N1 data current state get final product.
Embodiment two: the user has upgraded the attribute of catalogue " bless " under the root (./sms) of note, and has upgraded data U1 under " bless " catalogue, has only upgraded the data U2 under " Spring Festival " catalogue.In the present embodiment, U2 belongs under Spring Festival and two catalogues of Mid-autumn Festival simultaneously.
Referring to Fig. 4 a and Fig. 4 b, Fig. 4 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention two, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that dotted line is represented is Updata.Fig. 4 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention two.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.Each tabulation in the state of data at Fig. 4 b corresponding reflection is arranged all.
When customer requirements synchronously during " bless " catalogue, client generates as follows step command in proper order:
At first, after client determines that according to the order from user's synchronous bless catalogue that receives synchrodata is a directory entry, determine that from Folder Table the state of this bless is U, afterwards, make up the synch command of replacing (Replace), and, it is directory entry Folder that Meta field in the order of this structure indicates according to Folder Table established data type, the LUID field indicates the numbering 1006 for the treatment of synchrodata, it is bless that the Data field indicates concrete data, and it is root that the SourceParent field indicates its affiliated parent directory.
Afterwards, client is determined data items state under the bless catalogue, because in Index Table, 1006 pairing data items are 2001, and its state is U, therefore, make up the Replace synch command, and after determining that from Data Item Table 2001 pairing concrete data contents are U1, it is data items Item that Meta field in this constructed Replace synch command indicates data type, the LUID field indicate treat synchrodata be numbered 2001, it is U1 that the Data field indicates concrete data, the SourceParent field indicates that parent directory is 1006 under it.
Afterwards, after client determines do not have the data updated project under the bless catalogue, the state of subdirectory under this bless catalogue of index, its concrete grammar is identical with the method for definite bless catalogue, in this example, the state of subdirectory does not change under this bless catalogue, does not process.
Afterwards, behind the subdirectory of determining not have under the bless catalogue to upgrade when client, determine the state of the data items under the subdirectory Spring Festival again, its concrete grammar is identical with the method for definite U1.Be that its final result makes up the Replace synch command, and after determining that from Data Item Table 2002 pairing concrete data contents are U2, it is data items Item that Meta field in this constructed Replace synch command indicates data type, the LUID field indicate treat synchrodata be numbered 2002, it is U2 that the Data field indicates concrete data, and it is 1007 that the SourceParent field indicates its affiliated parent directory.
By that analogy, till all sending the Replace synch command, just realized that so also recurrence is synchronous at all data updated.Certainly, if only synchronous a certain directory entry, and the data item under no longer synchronous this directory entry, reality is exactly to have realized that onrecurrent is synchronous.In addition, can also only synchronous a certain directory entry and this directory entry under data items, and the subdirectory item under this directory entry no longer synchronously.
Afterwards, the Replace synch command of being constructed is all sent to server, concrete send mode is identical with the mode that sends the ADD synch command, does not repeat them here.
After the following describes server end and receiving above-mentioned Replace order, carry out the process of simultaneous operation.Form is similar shown in the form that this process is related and Fig. 4 b, and therefore figure does not show.
Receive the synch command of renewal bless directory entry when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is a directory entry, determine that according to the LUID field this treats that synchrodata is numbered 1006 in client, determine that according to the Data field its name is called bless, determines that according to the SourceParent field its parent directory is a root.That afterwards, obtains this renewal in the corresponding relation of numbering in the SyncML client that has been provided with and the numbering in the server tabulation treats the numbering of synchrodata in server this locality; As 100006.Then, in the catalogue listing that this locality has been provided with, upgrade respective entries, promptly upgrade 100006, the attribute information of the bless in the corresponding relation clauses and subclauses of bless, root and this bless data current state.
Receive the synch command of renewal U1 data items when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is a data items, determine that according to the LUID field this treats that synchrodata is numbered 2001 in client, determine that according to the Data field its concrete data content is U1, determine that according to the SourceParent field its parent directory is 1006.Afterwards, that obtains this renewal in the tabulation of the numbering in the SyncML client that has been provided with and the corresponding relation of the numbering in the server treats the numbering of synchrodata in server this locality, as 200001, in the data table of articles that this locality has been provided with, upgrade and treat synchrodata in the pairing clauses and subclauses of the numbering of this locality, promptly upgrade 200001 with the corresponding relation clauses and subclauses of U1 in the information of U1.
The method that server end upgrades U2 is identical with the method for upgrading U1, does not repeat them here.
Need explanation herein a bit, in this example, U2 had not only belonged to Spring Festival catalogue but also Mid-autumn Festival catalogue, but only need send a Replace order when upgrading U2, server end also only needs to upgrade a U2, just can make two U2 under the catalogue all obtain upgrading.This be because, only preserved a piece of data in server end reality, the membership of these data is shown to embody by Index Table.As seen, adopt method of the present invention can reduce the existence of redundant data to greatest extent, and then save Limited resources to greatest extent.
Embodiment three: the user moves to the data items " M1 " under " music " catalogue under " favoriate " catalogue; " mp3 " whole catalogue is moved under " favorite ".
Referring to Fig. 5 a and Fig. 5 b, Fig. 5 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention three, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that two-dot chain line is represented is Move.Fig. 5 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention three.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.The state of data all has corresponding reflection at Fig. 5 b in each tabulation.
When the synchronous root of customer requirements, client generates as follows step command in proper order:
At first, client according to the order that receives from user's synchronous root after, the state of all subdirectories under this root of index, in this example, the state of all subdirectories does not change under this root, thereby does not process.Then, whether the state of the data items under this root of client indexes changes, and in this example, the state of the data items under this root does not change yet, and does not process.
Afterwards, whether the client subdirectory state in each subdirectory of index successively changes, in this example, client determines that the state of " mp3 " subdirectory under the music catalogue is M, afterwards, makes up and moves (Move) synch command, and, it is directory entry Folder that Meta field in the order of this structure indicates according to FolderTable established data type, and the LUID field indicates the numbering 1006 for the treatment of synchrodata, the SourceParent field indicate its move the back under parent directory be 1004.
Afterwards, client is determined the state of data items under the music catalogue, because in Index Table, 1006 pairing data items are 2001, and its state is M, therefore make up the Move synch command, and, it is data items Item that Meta field in the order of this structure indicates data type, and the LUID field indicates the numbering 2001 for the treatment of synchrodata, the SourceParent field indicate its move the back under parent directory be 1004.
By that analogy, do not have other data that are moved in this example, therefore no longer handle.
Afterwards, the MOVE synch command of being constructed is all sent to server, concrete send mode is identical with the mode that sends the ADD synch command, does not repeat them here.
After the following describes server end and receiving above-mentioned Move order, carry out the process of simultaneous operation.Form is similar shown in the form that this process is related and Fig. 5 b, and therefore figure does not show.
Receive the synch command of mobile mp3 directory entry when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is a directory entry, the LUID field determines that this treats that synchrodata is numbered 1006 in client, the SourceParent field determines that it moves after parent directory is 1004 under the back, obtain this in numbering in the SyncML client that has been provided with and the tabulation of the corresponding relation of the numbering in the server and treat the numbering of mobile data in server this locality, as 100006, in the Folder Table that this locality has been provided with this is treated that synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives, the 100006 pairing parent directories that are about in this table change 1004 into by 1005.
Receive the synch command of mobile M1 data items when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is Item, the LUID field determines that this treats that synchrodata is numbered 2001 in client, the SourceParent field determines that it moves after parent directory is 1004 under the back, what this renewal was obtained in the tabulation of the numbering in the SyncML client that has been provided with and the corresponding relation of the numbering in the server treats the numbering of synchrodata in server this locality, as 200001, in the Index Table that this locality has been provided with this is treated that synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives, the 200001 pairing parent directories that are about in this table change 1004 into by 1005.
As seen, when adopting the simultaneous operation that method of the present invention moves, only need revise the corresponding relation in the corresponding data table, not need real data is moved, thereby saved Limited resources to greatest extent.
Need explanation in addition a bit: move certain catalogue and under subdirectory and during data items, during such as mobile mp3 directory entry, only need only to send a MOVE order at the mp3 directory entry, and do not need to send the MOVE order at subdirectory under the mp3 catalogue and data items again, because the parent directory under subdirectory under it and the data items is that any variation does not take place.
Embodiment four: the user has deleted " D1 " data items under " bless " catalogue, and the data " U2 " under " SpringFestival " catalogue have been selected permanent delet, and " D3 " selected impermanent deletion.In this example, only be that the deleted data item purpose is described.
Referring to Fig. 6 a and Fig. 6 b, Fig. 6 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention four, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that dotted line is represented is Delete.Fig. 6 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention four.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.The state of data all has corresponding reflection at Fig. 6 b in each tabulation.
When customer requirements synchronously during " bless " catalogue, client generates as follows step command in proper order:
Client is determined data items state under the bless catalogue, because in Index Table, data items is that 2001 state is permanent delet P-D, therefore, make up deletion Delete synch command, it is data items Item that Meta field in this constructed Delete synch command indicates data type, the LUID field indicate treat synchrodata be numbered 2001, and in this order, also need comprise the sign that indicates permanent delet.
Afterwards, after client determines there is not the data items of deletion under the bless catalogue, the state of subdirectory under this bless catalogue of index, in this example, the state of subdirectory does not change under this bless catalogue, does not process.
After client determines there is not the subdirectory of deletion under the bless catalogue, determine the state of the data items under the subdirectory SpringFestival again, its concrete grammar is identical with the method for definite D1.Be that its final result makes up two Delete synch command, wherein to indicate data type be data items Item to the Meta field in Delete synch command, the LUID field indicate treat synchrodata be numbered 2002, and in this order, also need comprise the sign that indicates permanent delet.It is data items Item that Meta field in another Delete synch command indicates data type, the LUID field indicate treat synchrodata be numbered 2003, and in this order, also need comprise the sign that indicates impermanent deletion.
In the constructed Delete order, do not need to comprise the data that to delete, only need indicate type, the numbering of wanting deleted data and be that permanent delet or impermanent deletion get final product.More than be a kind of implementation of Delete order, i.e. containing type, numbering and be permanent delet or three kinds of information of impermanent deletion in this order; Certainly, other implementation can also be arranged, such as, Delete is divided into two kinds of orders, a kind of permanent delet P-Delete order, another kind is non-permanent delet NP-Delete order, like this, only need comprise type, the numbering for the treatment of deleted data in every kind of delete command gets final product.
Afterwards, indicate the synch command of deletion all to send to server being used to of being constructed.
After the following describes server end and receiving above-mentioned Delete order, carry out the process of simultaneous operation.
Receive the synch command of deletion D1 data items when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is data items Item, determine that according to the LUID field this treats that synchrodata is numbered 2001 in client, and determine that deletion this time is permanent delet, afterwards, obtain this in numbering in the SyncML client that has been provided with and the tabulation of the corresponding relation of the numbering in the server and treat the numbering of deleted data in server this locality, as 200001, data table of articles and data clauses and subclauses-catalogue mapping table in this locality, deletion is treated synchrodata in the pairing clauses and subclauses of the numbering of this locality respectively, i.e. deletion is numbered 200001 whole clauses and subclauses.Simultaneously, deletion D1 data in local data base.
Receive the synch command of deletion D2 data items when server end after, promptly delete the whole clauses and subclauses in the corresponding data table, the method for its deletion D2 is identical with the method for deletion D1, does not repeat them here.
Receive the synch command of deletion D3 data items when server end after, determine to treat that by the Meta field in the synch command that receives the type of synchrodata is data items Item, determine that according to the LUID field this treats that synchrodata is numbered 2003 in client, and determine that deletion this time is impermanent deletion, afterwards, obtain this in numbering in the SyncML client that has been provided with and the tabulation of the corresponding relation of the numbering in the server and treat the numbering of deleted data in server this locality, as 200003, only deletion is treated synchrodata in the pairing clauses and subclauses of the numbering of this locality in the data clauses and subclauses-catalogue mapping table of this locality, promptly deletes and is numbered 200003 whole clauses and subclauses in this table.In local data base, do not delete the D3 data.
As seen, when adopting the simultaneous operation that method of the present invention deletes, only need between client and server end, to transmit sign, do not need to transmit concrete data content, saved Limited resources to greatest extent.
Embodiment five: the user has deleted whole " bless " catalogue.This be equivalent to delete simultaneously under it all subdirectories with and under all data items.In this example, D1 and D2 exist only under the bless catalogue, and D3 is present under bless and the joke catalogue, and this example only is the description to the item that deltrees.
Referring to Fig. 7 a and Fig. 7 b, Fig. 7 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention five, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that dotted line is represented is Delete.Fig. 7 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention five.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.The state of data all has corresponding reflection at Fig. 7 b in each tabulation.
When the synchronous root of customer requirements, client generates as follows step command in proper order:
At first, client according to the order that receives from user's synchronous root after, the state of all subdirectories under this root of index, in this example, from Folder Table table, determine that the state of bless is D, then client also will further comprise: judge whether data items under the subdirectory of this data items under waiting to deltree and this catalogue exists only in this and wait to deltree down, if, then make up a delete command, and comprise the information of indicating permanent delet in this delete command; Otherwise, make up a delete command respectively at each data items and directory entry, and existing only in this data items under waiting to deltree or the pairing delete command of directory entry and comprise the information of indicating permanent delet, is not to exist only in this data items under waiting to deltree or the pairing delete command of directory entry to comprise the information of indicating impermanent deletion.That is to say, if certain data items or directory entry, also be present in (other catalogues here do not comprise the bless subdirectory) under other catalogues, then impermanent deletion information will be comprised in the pairing delete command of such data, data then comprise permanent delet information in its pairing delete command if not so.Afterwards, all constructed deletion Delete synch command are all sent to server.Here, make up a delete command respectively at each data items and directory entry, actual is exactly the synchronous of a kind of recurrence.
After the following describes server end and receiving above-mentioned Delete order, carry out the process of simultaneous operation.
If server receives is delete command at data items, then identical with the processing mode described in the embodiment four, repeats no more.
If server receives is delete command at directory entry, then obtain this in the corresponding relation of numbering in the SyncML client that has been provided with and the numbering in the server tabulation and treat the numbering of deleted data in server this locality, and be permanent delet or impermanent deletion all in the catalogue listing that this locality has been provided with deletion treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
A bit need explanation in addition for the directory delete operation: as request initiator's client, when certain directory entry of deletion, as delete the bless directory entry, it can only make up a delete command at this directory entry, and its other performed operations, as " judging whether data items under the subdirectory of this data items under waiting to deltree and this catalogue exists only in this and wait to deltree down " etc., bring in execution by server, can simplify the operation of client like this.Certainly, on the contrary also be suitable for.
In actual applications, embodiment four, five-way regular meeting combine use simultaneously.
In addition, for deletion action, after server end was finished simultaneous operation, client also can be with the deletion of the clauses and subclauses in self corresponding data table.
Embodiment six: the user copies to the data items " M1 " under " music " catalogue under " favoriate " catalogue; " mp3 " catalogue is copied under " favorite " catalogue.
Referring to Fig. 8 a and Fig. 8 b, Fig. 8 a is depicted as the user-defined data structure schematic diagram of using the embodiment of the invention six, and wherein, box indicating Folder, circle represent data Item; The state that solid line is represented is Existing, and the state that heavy line is represented is Copy.Fig. 8 b is depicted as the storage schematic diagram of the client of using the embodiment of the invention six.In client storage data table of articles Data Item Table, catalogue listing Folder Table and " data clauses and subclauses-catalogue " corresponding relation concordance list Index Table are arranged.The state of data that each tabulation increases all has corresponding reflection at Fig. 3 b.
When the synchronous root of customer requirements, the operation basically identical of the operation of client and server end and embodiment one.Institute's difference is, in embodiment one, client will all send an ADD order at each data items and directory entry, and in this example, if client is sent the Copy order to a directory entry, then do not need subdirectory item and data items under this directory entry are said the word again, thereby further reduce the transmission of data volume, conserve network resources.And the processing procedure of server end is identical with processing procedure among the embodiment one in this example, and it also is to handle seriatim at each directory entry and data items.
Have again, when execution Copy is synchronous, the user can determine as required, whether duplicate a real data in instruction again, if, then carry out an end of simultaneous operation and realize that the operation of data sync further comprises: in local data base, duplicating a piece of data, and in the data directory table that this locality has been provided with, increasing respective entries.
If there is conflict in the retouching operation of client and server end,,, guarantee that the data of client and server end are synchronous fully by expanding existing contention mechanism as in the catalogue that is moved, increasing, upgrade or having deleted some clauses and subclauses.Specific implementation is: expanded based on client (Client-Win) with based on the arbitration result of server end (Server-Win) existing, increase a kind of arbitration result, guarantee that by the mode of doulbe-sides' victory the data of client and server end are in full accord with server end and client merging processing (Win-Win).
For example, user's mobile A catalogue on client makes it become the subdirectory of B catalogue, and server end is to have increased clauses and subclauses in the A catalogue, at this moment, make it become the subdirectory of B catalogue mobile A catalogue at server end, and, in the A catalogue, also increase clauses and subclauses in client, thereby the data of guaranteeing the client and server end are in full accord.
The above only is preferred embodiment of the present invention, and is in order to restriction the present invention, within the spirit and principles in the present invention not all, any modification of being done, is equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (19)

1, a kind ofly realizes it is characterized in that the method for data sync that when the termination in SyncML client or the server end was received synchronization request from the user, the client and server end consulted to treat catalogue under the synchrodata at the SyncML layer; This method may further comprise the steps:
Treat the type of synchrodata in the request synch command that a end in a, SyncML client or the server end is at first determined to receive, if directory entry, execution in step b then is if data items, then execution in step c;
B, from the catalogue listing that has been provided with, obtain the current state that this treats synchrodata, if being designated as, current state do not change, then do not process, if current state is designated as variation, then make up corresponding with it data sync order, this data sync order is sent to the other end in client or the server end according to this variable condition;
C, from the data clauses and subclauses-catalogue mapping table that has been provided with, obtain the variable condition that this treats synchrodata, and make up corresponding with it data sync order according to this variable condition, this data sync order is sent to the other end in client or the server end;
At least comprise the data type for the treatment of synchrodata and treat the synchrodata numbering in the described constructed order;
After the other end in SyncML client or the server receives synch command from the opposite end, carry out following steps:
Action type is determined in the data sync order that d, basis receive, and changes the content of corresponding form, realizes data sync.
2, method according to claim 1 is characterized in that, described initiation synchronization request be client, described execution simultaneous operation be server end;
The described variable condition that this treats synchrodata is newly-increased N, and described is to increase the ADD synch command with the corresponding data sync order of this variable condition; The synchrodata numbering treated in described this order is the numberings of these data in client, and further comprises in this order: concrete synchrodata and the affiliated parent directory of this data treated;
Described server end determines that action type is increase; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, preserve the synchrodata for the treatment of that receives at local data base, for this treats the local numbering of synchrodata distribution server, this synchrodata of preservation is at the numbering of client and this synchrodata corresponding relation in the numbering of server end in the numbering in the SyncML client that has been provided with and the tabulation of the corresponding relation of the numbering in the server; And, according to the data type for the treatment of synchrodata in the synch command, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, increase respective entries, if data type is a data items, then increase respective entries in the data table of articles that has been provided with in this locality and the data clauses and subclauses-catalogue corresponding relation concordance list.
3, method according to claim 1 is characterized in that, described initiation synchronization request be server end, described execution simultaneous operation be client;
The described variable condition that this treats synchrodata is newly-increased N, and described is to increase the ADD synch command with the corresponding data sync order of this variable condition; The synchrodata numbering treated in described this order is the numberings of these data at server end, and further comprises in this order: concrete synchrodata and the affiliated parent directory of this data treated;
Described client determines that action type is increase; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, preserve the synchrodata for the treatment of that receives at local data base, treat synchrodata for this and distribute the client terminal local numbering, and, according to the data type for the treatment of synchrodata in the synch command, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, increase respective entries, if data type is a data items, then increase respective entries in the data table of articles that has been provided with in this locality and the data clauses and subclauses-catalogue corresponding relation concordance list; Afterwards, return the numbering in this data client and the corresponding relation of the numbering in the server to server end, the corresponding relation that receives is kept in numbering in the local SyncML client that has been provided with tabulates with the corresponding relation of the numbering in the server by server end.
4, according to claim 2 or 3 described methods, it is characterized in that, after step b is finished, further comprise: e judges under this directory entry that increases newly whether the data items that increases newly is arranged, if have, repeated execution of steps c then, up to all data items all synchronously till, execution in step f afterwards; If no, direct execution in step f then;
F, judge whether the subdirectory item that increases newly is arranged under this directory entry that increases newly, if having, repeated execution of steps b then, up to all directory entries all synchronously till, execution in step e if do not have, then finishes afterwards.
5, according to claim 2 or 3 described methods, it is characterized in that, after step b is finished, further comprise: e judges under this directory entry that increases newly whether the data items that increases newly is arranged, if have, repeated execution of steps c then, up to all data items all synchronously till.
6, method according to claim 1 is characterized in that,
The described variable condition that this treats synchrodata is for upgrading U, and described and the corresponding data sync order of this variable condition be for replacing the Replace synch command, and further comprises in this order: concrete synchrodata and the affiliated parent directory of these data treated;
The described other end determines that action type is renewal; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, upgrade and treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality, if data type is a data items, then in the data table of articles that this locality has been provided with, upgrades and treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
7, method according to claim 6, it is characterized in that, after step b is finished, further comprise: g judges under this directory entry that has upgraded whether the data updated project is arranged, if have, repeated execution of steps c then, up to all data items all synchronously till, execution in step h afterwards; If no, direct execution in step h then;
H, judge the subdirectory item that whether has renewal under this directory entry that has upgraded, if having, repeated execution of steps b then, up to all directory entries all synchronously till, execution in step g if do not have, then finishes afterwards.
8, method according to claim 6 is characterized in that, after step b is finished, further comprise: g judges under this directory entry that has upgraded whether the data updated project is arranged, if have, repeated execution of steps c then, up to all data items all synchronously till.
9, method according to claim 1 is characterized in that,
Described this treats that the variable condition of synchrodata is mobile M, and the described and corresponding data sync order of this variable condition is mobile Move synch command; And further comprise in this order: parent directory under these data after changing;
The described other end determines that action type is mobile; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
According to the data sync order that receives, determine the type of this synchrodata, if data type is a directory entry, then in the catalogue listing that this locality has been provided with, this is treated that synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives, if data type is a data items, will treat in data clauses and subclauses-catalogue mapping table that this locality has been provided with that then synchrodata parent directory under the pairing clauses and subclauses of the numbering of this locality changes to the parent directory in the synch command that receives.
10, method according to claim 1 is characterized in that, the described current state of step b is designated as deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition; One end of then described initiation synchronization request further comprises: judge whether data items under the subdirectory of this data items under waiting to deltree and this catalogue exists only in this and wait to deltree down, if, then make up a delete command, and comprise the information of indicating permanent delet in this delete command; Otherwise, make up a delete command respectively at each data items and directory entry, and existing only in this data items under waiting to deltree or the pairing delete command of directory entry and comprise the information of indicating permanent delet, is not to exist only in this data items under waiting to deltree or the pairing delete command of directory entry to comprise the information of indicating impermanent deletion;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
Determine the deletion type according to the data sync order that receives, and the data type for the treatment of synchrodata, if data type is a directory entry, no matter be that the deletion type is permanent delet or impermanent deletion then, all deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the catalogue listing that this locality has been provided with; If data type is a data items, and the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If data type is a data items, and the deletion type be impermanent deletion, then in the data clauses and subclauses-catalogue mapping table of this locality the deletion treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
11, method according to claim 1 is characterized in that, the described current state of step b is designated as deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
Determine the deletion type according to the data sync order that receives, and the data type for the treatment of synchrodata, if data type is a directory entry, judge again then whether the subdirectory of this data items under waiting to deltree and this catalogue and the data items under the subdirectory exist only in this and wait to deltree down, if, then determine this wait to deltree and this catalogue under data items, be permanent delet with the data items under subdirectory and the subdirectory, otherwise, determining to wait to deltree and to exist only in this data items or directory entry under waiting to deltree at this is permanent delet, at being not that to exist only in this data items or directory entry under waiting to deltree be impermanent deletion;
If deletion is directory entry, no matter be that the deletion type is permanent delet or impermanent deletion then, all deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the catalogue listing that this locality has been provided with; If deletion is data items, and the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If data type is a data items, and the deletion type be impermanent deletion, then in the data clauses and subclauses-catalogue mapping table of this locality the deletion treat that synchrodata is in the pairing clauses and subclauses of the numbering of this locality.
12, method according to claim 1 is characterized in that, the described variable condition of step c is deletion D, and described is to delete the Delete synch command with the corresponding data sync order of this variable condition; One end of then described initiation synchronization request further comprises: judge receive from whether indicating this data items of permanent delet in user's the delete command, if, the sign that further comprises permanent delet in the then described delete command, otherwise, judge that this treats whether the deleted data project is positioned under a plurality of catalogues, if in described delete command, further comprise the sign of impermanent deletion, otherwise further comprise the sign of permanent delet in the described delete command;
The described other end determines that action type is deletion; The content of the corresponding form of described change, realize that the process of data sync may further comprise the steps:
After being data items according to the data sync order specified data type that receives, determine the deletion type again, if the deletion type is a permanent delet, then in local data base, delete these data, and in data table of articles and data clauses and subclauses-catalogue mapping table that this locality has been provided with, deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality respectively; If the deletion type is impermanent deletion, then deletion treats that synchrodata is in the pairing clauses and subclauses of the numbering of this locality in the data clauses and subclauses-catalogue mapping table of this locality.
13, according to claim 10,11 or 12 described methods, it is characterized in that, after the deletion simultaneous operation that is finished as the client of carrying out simultaneous operation or the server other end, further comprise: an end of initiating synchronization request is deleted the corresponding data project in the corresponding data table that this locality has been provided with.
14, according to claim 6,9,10,11 or 12 described methods, it is characterized in that,
If described initiation synchronization request is client, what carry out simultaneous operation be server end, treats that it is the numberings of these data in client that synchrodata is numbered in the then described synch command; After described server end receives the data sync order, the specified data type takes a step forward and comprises: that obtains this renewal in the tabulation of the numbering in the SyncML client that has been provided with and the corresponding relation of the numbering in the server treats the numbering of synchrodata in server this locality, continues to carry out subsequent operation afterwards again.
If described initiation synchronization request is server end, what carry out simultaneous operation be client, and the synchrodata numbering for the treatment of in the then described synch command is the corresponding relation of numbering in the client that has been provided with according to self of server end and the numbering in the server these data of obtaining numbering in client of tabulating.
15, method according to claim 1, it is characterized in that, in the described catalogue listing that in SyncML client and server, is provided with respectively, comprise the parent directory under directory entry numbering, directory name, this catalogue key name and the corresponding relation of this directory entry state at least;
In the described data clauses and subclauses-catalogue corresponding relation concordance list that in SyncML client and server, is provided with respectively, comprise the corresponding relation of data items numbering, parent directory and data items state at least.
16, according to claim 2,3 arbitrary described methods, it is characterized in that, comprise at least in the described data table of articles that in SyncML client and server, is provided with respectively: the corresponding relation of data items numbering and concrete data content;
Described in the SyncML client that server end has been provided with numbering and the tabulation of the corresponding relation of the numbering in the server in comprise at least: the numbering of data in client and the corresponding relation of the numbering in the server.
17, method according to claim 1, it is characterized in that, the initial phase that operates in of catalogue under the synchrodata is treated in described negotiation, and may further comprise the steps: the form to URI is made predefine, and the implication by URI in the target database element indicates treats synchronous directory.
18, method according to claim 1 is characterized in that, the initial phase that operates in of catalogue under the synchrodata is treated in described negotiation, may further comprise the steps: indicate by filtercondition in the filtercondition element and treat synchronous directory.
19, method according to claim 1 is characterized in that, this method further comprises: set up the arbitration result that merges processing (Win-Win) with server end and client;
When the retouching operation of server end and client clashed, client was carried out simultaneous operation according to the modification of server end, and server end is carried out simultaneous operation according to the modification of client;
That described modification comprises is newly-increased, upgrade, move, deletion, copy operation.
CN 200510116802 2005-10-27 2005-10-27 Method of realizing data synchronization on SyncML layer Pending CN1794724A (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN 200510116802 CN1794724A (en) 2005-10-27 2005-10-27 Method of realizing data synchronization on SyncML layer
CN2006101095911A CN1956452B (en) 2005-10-27 2006-08-14 Method, system, user terminal and server for implementing data synchronization
EP06805092.1A EP1845688B1 (en) 2005-10-27 2006-10-27 Method, system, client terminal and server for realizing data synchronization
JP2008536915A JP5294867B2 (en) 2005-10-27 2006-10-27 Method, system, client and server for performing data synchronization
ES06805092.1T ES2458303T3 (en) 2005-10-27 2006-10-27 Method, system, client terminal and server to perform data synchronization
PCT/CN2006/002887 WO2007048354A1 (en) 2005-10-27 2006-10-27 Method, system, client terminal and server for realizing data synchronization
CN200680011960.1A CN101160903B (en) 2005-10-27 2006-10-27 Method, system, client terminal and server for implementing data synchronization
US11/848,111 US8015319B2 (en) 2005-10-27 2007-08-30 Method, system, client and server for implementing data sync

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510116802 CN1794724A (en) 2005-10-27 2005-10-27 Method of realizing data synchronization on SyncML layer

Publications (1)

Publication Number Publication Date
CN1794724A true CN1794724A (en) 2006-06-28

Family

ID=36805991

Family Applications (2)

Application Number Title Priority Date Filing Date
CN 200510116802 Pending CN1794724A (en) 2005-10-27 2005-10-27 Method of realizing data synchronization on SyncML layer
CN200680011960.1A Active CN101160903B (en) 2005-10-27 2006-10-27 Method, system, client terminal and server for implementing data synchronization

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200680011960.1A Active CN101160903B (en) 2005-10-27 2006-10-27 Method, system, client terminal and server for implementing data synchronization

Country Status (1)

Country Link
CN (2) CN1794724A (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076812A1 (en) * 2007-12-12 2009-06-25 Huawei Technologies Co., Ltd. Method and device for realizing data synchronization
WO2009152708A1 (en) * 2008-06-16 2009-12-23 华为技术有限公司 Data soft deletion, recovery and synchronization method, terminal and system thereof
WO2010025677A1 (en) * 2008-09-04 2010-03-11 华为技术有限公司 Method, device and system for executing synchronization
CN101155018B (en) * 2006-09-28 2010-11-03 华为技术有限公司 Data synchronization method and its implementing device and system
CN101923571A (en) * 2010-07-29 2010-12-22 中兴通讯股份有限公司 Method and device for managing terminal data logging
CN101997829A (en) * 2009-08-18 2011-03-30 华为终端有限公司 Method and equipment for synchronizing hierarchical data
CN102291453A (en) * 2011-08-09 2011-12-21 中兴通讯股份有限公司 Data synchronization method and device
CN101610225B (en) * 2008-06-20 2012-01-25 华为技术有限公司 Method, system and device for synchronous processing
CN101102311B (en) * 2006-07-08 2012-04-04 华为技术有限公司 A method, client and system for negotiating data synchronization mechanism
CN101231656B (en) * 2007-01-26 2012-05-23 国际商业机器公司 Method and device for determining whether allowing specified modification in a configurable managed environment
CN101681320B (en) * 2007-06-05 2012-06-27 三星电子株式会社 Synchronizing content between content directory service and control point
CN102594874A (en) * 2008-06-20 2012-07-18 华为技术有限公司 Synchronization processing method and device
CN101552773B (en) * 2008-04-03 2012-08-22 华为技术有限公司 Method, equipment and system for processing data item identifier mapping in data synchronization
CN101707785B (en) * 2009-10-31 2013-01-09 青岛海信移动通信技术股份有限公司 Data synchronization method for mobile communication terminal
CN103220172A (en) * 2013-04-08 2013-07-24 杭州华三通信技术有限公司 Device and method based on LDAP (lightweight directory access protocol) user authorization management
CN103500129A (en) * 2013-10-16 2014-01-08 华为技术有限公司 Back-up object sending and back-up method, production end, backup-for-disaster-recovery end and system
CN104639613A (en) * 2015-01-06 2015-05-20 中国农业大学 Realizing method for mobile data synchronization middleware based on improved network protocol
WO2017076321A1 (en) * 2015-11-05 2017-05-11 中兴通讯股份有限公司 Database synchronization method and system, source data and target data synchronization device
CN107948220B (en) * 2016-10-12 2021-01-08 百度在线网络技术(北京)有限公司 Method and device for synchronizing address book cloud service

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988997B (en) * 2015-01-27 2019-11-26 珠海金山办公软件有限公司 A kind of method of data synchronization and device based on hierarchy
CN106913465A (en) * 2017-01-26 2017-07-04 杭州翼心信息科技有限公司 Medication monitoring management method and device
CN108255434B (en) * 2018-01-15 2021-11-02 腾讯科技(深圳)有限公司 Label management method, management device and computer readable storage medium
CN112148793B (en) * 2020-09-17 2024-02-20 广东睿住智能科技有限公司 Data synchronization method, system and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI114417B (en) * 2001-06-15 2004-10-15 Nokia Corp Select data for synchronization
US6721871B2 (en) * 2002-04-02 2004-04-13 Nokia Corporation Method and apparatus for synchronizing data stores with respect to changes in folders
MXPA04009737A (en) * 2002-04-30 2005-01-11 Nokia Corp Method and device for management of tree data exchange.

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102311B (en) * 2006-07-08 2012-04-04 华为技术有限公司 A method, client and system for negotiating data synchronization mechanism
CN101155018B (en) * 2006-09-28 2010-11-03 华为技术有限公司 Data synchronization method and its implementing device and system
CN101231656B (en) * 2007-01-26 2012-05-23 国际商业机器公司 Method and device for determining whether allowing specified modification in a configurable managed environment
CN101681320B (en) * 2007-06-05 2012-06-27 三星电子株式会社 Synchronizing content between content directory service and control point
WO2009076812A1 (en) * 2007-12-12 2009-06-25 Huawei Technologies Co., Ltd. Method and device for realizing data synchronization
CN101552773B (en) * 2008-04-03 2012-08-22 华为技术有限公司 Method, equipment and system for processing data item identifier mapping in data synchronization
WO2009152708A1 (en) * 2008-06-16 2009-12-23 华为技术有限公司 Data soft deletion, recovery and synchronization method, terminal and system thereof
CN102594874B (en) * 2008-06-20 2014-12-17 华为技术有限公司 Synchronization processing method and device
CN101610225B (en) * 2008-06-20 2012-01-25 华为技术有限公司 Method, system and device for synchronous processing
CN102594874A (en) * 2008-06-20 2012-07-18 华为技术有限公司 Synchronization processing method and device
WO2010025677A1 (en) * 2008-09-04 2010-03-11 华为技术有限公司 Method, device and system for executing synchronization
CN101572599B (en) * 2008-09-04 2011-12-21 华为技术有限公司 Method, device and system for timing execution of synchronization
CN101997829A (en) * 2009-08-18 2011-03-30 华为终端有限公司 Method and equipment for synchronizing hierarchical data
CN101707785B (en) * 2009-10-31 2013-01-09 青岛海信移动通信技术股份有限公司 Data synchronization method for mobile communication terminal
CN101923571A (en) * 2010-07-29 2010-12-22 中兴通讯股份有限公司 Method and device for managing terminal data logging
CN101923571B (en) * 2010-07-29 2013-05-01 中兴通讯股份有限公司 Method and device for managing terminal data logging
CN102291453B (en) * 2011-08-09 2017-04-26 中兴通讯股份有限公司 Data synchronization method and device
CN102291453A (en) * 2011-08-09 2011-12-21 中兴通讯股份有限公司 Data synchronization method and device
CN103220172A (en) * 2013-04-08 2013-07-24 杭州华三通信技术有限公司 Device and method based on LDAP (lightweight directory access protocol) user authorization management
CN103500129A (en) * 2013-10-16 2014-01-08 华为技术有限公司 Back-up object sending and back-up method, production end, backup-for-disaster-recovery end and system
CN103500129B (en) * 2013-10-16 2017-08-11 华为技术有限公司 A kind of transmission of backup object, backup method, the manufacturing side, the standby end of calamity and system
CN104639613A (en) * 2015-01-06 2015-05-20 中国农业大学 Realizing method for mobile data synchronization middleware based on improved network protocol
CN104639613B (en) * 2015-01-06 2017-10-24 中国农业大学 Implementation method based on the mobile data synchronization middleware for improving procotol
WO2017076321A1 (en) * 2015-11-05 2017-05-11 中兴通讯股份有限公司 Database synchronization method and system, source data and target data synchronization device
CN106682002A (en) * 2015-11-05 2017-05-17 中兴通讯股份有限公司 Database synchronization method and system, source data and target data synchronization device
CN107948220B (en) * 2016-10-12 2021-01-08 百度在线网络技术(北京)有限公司 Method and device for synchronizing address book cloud service

Also Published As

Publication number Publication date
CN101160903A (en) 2008-04-09
CN101160903B (en) 2013-03-20

Similar Documents

Publication Publication Date Title
CN1794724A (en) Method of realizing data synchronization on SyncML layer
CN1956452A (en) Method, system, user terminal and server for implementing data synchronous
CN1215415C (en) Files management method and storage information reproducing device and storage information recording medium
CN101047707A (en) Method and system for initiating equipment ability information consultation
CN1290041C (en) Method and apparatus to improve file management
CN102187359B (en) Dynamic content sorting using tags
CN1606300A (en) Image distribution for dynamic server pages
EP1942425A1 (en) Data synchronization with host device in accordance with synchronization preferences
CN1845032A (en) Method for realizing classification management of use right of mobile terminal user
CN1828599A (en) Ghosted synchronization
CN1961313A (en) Methods and systems for indexing files and adding associated metadata to index and metadata databases
US7991767B2 (en) Method for providing a shared search index in a peer to peer network
CN1536485A (en) Data maintenance, backup and recovery system and its method
CN1846207A (en) Type path indexing
CN1947120A (en) Methods and systems for managing data
CN1916894A (en) Metadata editing control
CN1277210C (en) Method of document synchronization
CN1656478A (en) File system for displaying items of different types and from different physical locations
WO2008086249A1 (en) Data synchronization with host device in accordance with synchronization preferences
WO2013112415A1 (en) Indexing structures using synthetic document summaries
US20060218163A1 (en) Rapid prototyping database
Cochrane et al. The future of DNA sequence archiving
CN1805446A (en) Method of data synchronization between mobile terminal and server
CN1374587A (en) Information management arrangement for obtaining data bank matching and medium for recording the same bank program
CN1853161A (en) System and method for the presentation of items stored on a computer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication