CN101686121A - 一种数据同步方法、系统及装置 - Google Patents
一种数据同步方法、系统及装置 Download PDFInfo
- Publication number
- CN101686121A CN101686121A CN200810223003A CN200810223003A CN101686121A CN 101686121 A CN101686121 A CN 101686121A CN 200810223003 A CN200810223003 A CN 200810223003A CN 200810223003 A CN200810223003 A CN 200810223003A CN 101686121 A CN101686121 A CN 101686121A
- Authority
- CN
- China
- Prior art keywords
- node
- tree structure
- structure data
- data
- sequence
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据同步的方法,该方法为:第一系统对本系统存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给第二系统;所述第二系统根据所述路径的信息对本系统存储的树结构数据进行节点更新。本发明实施例还公开了数据同步的系统和装置。采用本发明,能够有效的降低两个系统之间进行数据同步所需要的工作量。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据同步方法、系统及装置。
背景技术
随着信息化的发展,企业中往往存在多个业务系统,为了提高办公效率,需要将某个业务系统的数据同步到另外一个系统,使得两个业务系统中的数据保持相同。
数据的组织结构有很多种,目前在业务系统中广泛存在的是树结构数据,树结构数据中包含一个根节点,根节点下可以包含一个或多个子节点,对于各个子节点,其下可以包含一个或多个孙节点,如此类推,一个树结构数据可以包含多级节点。若A节点包含B节点,则称A节点为B节点的父节点,B节点为A节点的子节点。
举例说明,如图1A所示,为一树结构的部门数据,该部门数据包含根部门,根部门下包含子部门A和子部门B,子部门A下又包含孙部门A1和孙部门A2,子部门B下又包含孙部门B1和孙部门B2,孙部门A1下包含曾孙部门A11,孙部门B2下包含曾孙部门B21,根部门为第一级部门,子部门A和子部门B为第二级部门,孙部门A1、A2、B1和B2为第三级部门,曾孙部门A11和B21为第四级部门。
目前,将业务系统A中的树结构数据同步到另外业务系统B中的方法主要有如下三种:
第一种,将A系统中的树结构数据重写到B系统中。
由于A系统和B系统中的数据表示逻辑、编程语言、数据库类型、数据存储规则等不同,在将A系统中的树结构数据重写到B系统之前,A系统的开发人员需要与B系统的开发人员进行沟通交流,在了解了B系统的数据表示逻辑、编程语言、数据库类型、数据存储规则等后,才能按照B系统的数据表示逻辑、编程语言、数据库类型、数据存储规则将A系统中的树结构数据重写到B系统中,开发人员的工作量非常大。
第二种,A系统实时的将本系统中的数据同步到B系统中:A系统中新增节点时,为该新增的节点分配唯一编号,将该节点的数据内容、该节点的唯一编号(新增节点编号)、该节点的名称和该节点的父节点的唯一编号(父节点编号)发送给B系统,B系统在本系统中存储的相应树结构数据中,查找父节点编号对应的节点,在该节点下创建新增节点,记录新增节点的名称、数据内容和新增节点编号;A系统中修改某一节点的数据内容时,将修改后的数据内容、该节点的唯一编号(修改节点编号)发送给B系统,B系统在本系统中存储的相应树结构数据中,查找修改节点编号对应的节点,将该节点的数据内容修改为接收到的数据内容;A系统中删除某一节点时,将该节点的唯一编号(删除节点编号)发送给B系统,B系统在本系统中存储的相应树结构数据中,查找删除节点编号对应的节点,并将该节点删除。
由于需要系统为每个节点分配、记录唯一编号,对于两个系统来说,实现数据同步所付出的工作量较大,并且,大量的唯一编号必然会占用系统较多的存储资源。
第三种,将系统A和系统B的数据使用相同的表示逻辑、编程语言、存储规则存储在第三方系统中,使系统A和系统B共享数据。
该种方法中开发人员也需要重写系统A和系统B的数据,对于开发人员来说需要付出的工作量十分大。
综上,现有的在两个系统中同步树结构数据的方法存在工作量大等缺陷。
发明内容
本发明实施例提供一种数据同步的方法、系统及装置,用于降低实现两个系统中树结构数据同步需要付出的工作量。
本发明实施例提供一种数据同步的方法,该方法包括:
第一系统对本系统存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给第二系统;
所述第二系统根据所述路径的信息对本系统存储的树结构数据进行节点更新。
本发明实施例提供一种数据同步的系统,该系统包括:
信息发送装置,用于对本装置中存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给数据同步装置;
数据同步装置,用于接收所述路径的信息,根据所述路径的信息对本装置存储的树结构数据进行节点更新。
本发明实施例提供一种信息发送装置,该装置包括:
节点更新单元,用于对本装置中存储的树结构数据进行节点更新;
信息发送单元,用于在所述节点更新单元进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给其他装置。
本发明实施例提供一种数据同步装置,该装置包括:
信息接收单元,用于接收其他装置发来的树结构数据中根节点到更新的节点间的路径的信息;
数据更新单元,用于根据所述路径的信息对本装置存储的树结构数据进行节点更新。
本发明中,第一系统在对本系统存储的树结构数据进行节点更新后,将树结构数据中根节点到更新的节点间的路径的信息发送给第二系统,第二系统根据接收到的路径的信息对本系统存储的树结构数据进行节点更新,以达到两个系统数据同步的目的。由于本发明实施例提供的方案中不需要将第一系统的树结构数据重写到B系统中,也不需要系统为每个节点分配并记录唯一编号,大大降低了实现系统间数据同步需要付出的工作量。
附图说明
图1A为现有技术中树结构数据的示例图;
图1B为本发明实施例提供的方法的流程示意图;
图2A为本发明实施例中第一系统存储的树结构数据的示意图;
图2B为本发明实施例中第一系统创建节点的示意图;
图2C为本发明实施例中第二系统存储的树结构数据的示意图;
图2D为本发明实施例中第二系统创建节点的示意图;
图3A为本发明实施例中第一系统修改节点的示意图;
图3B为本发明实施例中第二系统修改节点的示意图;
图4A为本发明实施例中第一系统删除节点的示意图;
图4B为本发明实施例中第二系统删除节点的示意图;
图5为本发明实施例提供的系统的结构示意图;
图6为本发明实施例提供的装置的结构示意图;
图7为本发明实施例提供的装置的结构示意图。
具体实施方式
为了减少在两个系统中同步树结构数据时的工作量并节省系统存储资源,本发明实施例提供一种数据同步的方法,实现采用树结构存储节点数据的两个系统间的数据同步,本方法中,第一系统在树结构数据中增加、删除或修改节点时,将树结构数据中根节点到增加、删除或修改的节点间的路径的信息发送给第二系统,第二系统根据接收到的路径信息对本系统中存储的相应树结构数据进行节点更新。
节点之间的路径的含义如下:如果树结构数据中存在一个节点序列:K1,K2,...,Kj,使得节点Ki是节点Ki+1的父节点(1≤i<j),则称该节点序列是树结构数据中从节点K1到节点Kj的一条路径。在树结构数据中,对于每个节点都会存在根节点到该节点的路径,若该节点为根节点,那么根节点到根节点的路径上的节点序列仅包含根节点本身。若A节点到B节点间存在路径,则称B节点为A节点的子孙节点。
参见图1B,本发明实施例提供的数据同步的方法,具体包括以下步骤:
步骤10:第一系统对本系统存储的树结构数据进行节点更新;
本步骤具有如下三种实施例:
实施例A1:
第一系统在本系统存储的树结构数据中创建新的节点。具体可以在树结构数据中任何已有的节点下创建新的节点,创建的节点即为已有的节点的子节点,已有的节点即为创建的节点的父节点;还可以不在已有的节点下创建新的节点,而是独立创建一个节点,该节点为新的根节点。创建新的节点后,第一系统记录该节点的数据内容,包括该节点的标识和属性信息。举例说明,如图2A所示,为第一系统存储的树结构数据,如图2B所示,在如图2A所示的树结构数据创建了新的节点B11,节点B11的父节点为B1。
实施例B1:
第一系统在本系统存储的树结构数据中对已有节点进行修改。具体可以修改节点的标识或属性内容等。如图3A所示,将如图2A所示的树结构数据中节点C1的标识修改为X。
实施例C1:
第一系统在本系统存储的树结构数据中对已有节点进行删除。如图4A所示,将如图2A所示的树结构数据中的节点B删除。
步骤11:第一系统将树结构数据中根节点到更新的节点间的路径的信息发送给第二系统;
对应于上一步骤的三个实施例,本步骤也有以下三个实施例:
实施例A2(与实施例A1相对应):
第一系统将树结构数据中根节点到创建的节点间的路径上的节点序列发送给第二系统。以图2B为例说明,第一系统发送的节点A到节点B11间的路径上的节点序列为A-B-B1-B11。若第一系统独立创建新的节点,则第一系统发送的节点序列仅包含创建的节点,因为创建的节点同时也是根节点。第一系统还可以将节点序列中各个节点的属性信息发送给第二系统,使得第二系统在创建节点序列中的某个节点后,可以记录该节点的属性信息。
实施例B2(与实施例B1相对应):
第一系统将树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容发送给第二系统。以图3A为例说明,第一系统发送的节点A到节点C1间的路径上的节点序列为A-C-C1,修改后的数据内容为X。若第一系统独立创建新的节点,则第一系统发送的节点序列仅包含创建的节点,因为修改的节点同时也是根节点。第一系统还可以将节点序列中各个节点的属性信息发送给第二系统,使得第二系统在创建节点序列中的某个节点后,可以记录该节点的属性信息。
实施例C2(与实施例C1相对应):
第一系统将树结构数据中根节点到删除的节点间的路径的信息发送给第二系统。以图4A为例说明,第一系统发送的节点A到节点B间的路径上的节点序列为A-B。若第一系统中删除的是根节点,则第一系统发送的节点序列仅包含该根节点,因为删除的节点同时也是根节点。第一系统还可以将节点序列中各个节点的属性信息发送给第二系统,使得第二系统在创建节点序列中的某个节点后,可以记录该节点的属性信息。
步骤12:第二系统根据接收到的路径的信息在本系统存储的相应的树结构数据中进行节点更新。
对应于上一步骤的三个实施例,本步骤也有以下三个实施例:
实施例A3(与实施例A1和A2相对应):
第二系统根据接收到的根节点到创建的节点间的路径上的节点序列,在本系统存储的相应的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本系统中存储的树结构数据中未包含的节点。具体如下:
对于所述节点序列中的第一个节点即根节点,第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;对于所述节点序列中的其他节点,将所述节点序列中与该其他节点相邻并在该其他节点之前的节点作为该其他节点的父节点,在本系统中所述父节点的子节点中查找所述其他节点,若未查找到,则在本系统中所述父节点下创建所述其他节点。
举例说明,如图2C所示,为第二系统存储的树结构数据的示意图,第二系统接收到节点序列A-B-B1-B11后,首先查找本系统是否保存根节点A,查找到根节点A,再在根节点A下查找节点B,查找到节点B,再在节点B下查找节点B1,未查找到,则在节点B下创建节点B1,由于新创建的节点B1下无任何节点,还需要在节点B1下创建节点B11,至此结束,如图2D所示,为第二系统根据接收到节点序列创建节点后的示意图。
实施例B3(与实施例B1和B2相对应):
第二系统根据接收到的根节点到修改的节点间的路径上的节点序列以及修改后的数据内容,在本系统存储的相应的树结构数据中创建或修改节点。具体如下:
若所述节点序列仅包含一个节点即根节点,则第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;若查找到,则根据接收到的修改后的数据内容对查找到的节点的数据内容进行修改,将查找到的节点的数据内容更新为接收到的修改后的数据内容。
若所述节点序列仅包含两个节点,即根节点和末节点,则第二系统首先在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点,并在创建的根节点下创建所述末节点;若查找到:
在查找到的根节点的子节点中查找所述末节点,若未查找到,则在查找到的根节点下创建所述末节点;若查找到,则根据接收到的修改后的数据内容对查找到的末节点的数据内容进行修改,将查找到的末节点的数据内容更新为所收到的修改后的数据内容。
若所述节点序列中包含至少三个节点,即包含根节点、末节点和至少一个中间节点,则第二系统对于所述节点序列中的根节点,在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;
对于所述节点序列中的各个中间节点,将所述节点序列中与该中间节点相邻并在该中间节点之前的节点作为该中间节点的父节点,在本系统中所述父节点的子节点中查找所述中间节点,若未查找到,则在本系统中所述父节点下创建所述中间节点;
对于所述节点序列中的末节点,将所述节点序列中与该末节点相邻并在该末节点之前的节点作为该末节点的父节点,在本系统中所述父节点的子节点中查找所述末节点,若未查找到,则在本系统中所述父节点下创建所述末节点;若查找到,则根据所述修改后的数据内容对查找到的节点的数据内容进行修改,将查找到的末节点的数据内容更新为接收到的修改后的数据内容。
举例说明,如图2C所示,为第二系统存储的树结构数据的示意图,第二系统接收到节点序列A-C-C1和修改后的数据内容X后,首先查找本系统是否保存根节点A,查找到根节点A,再在根节点A下查找节点C,查找到节点C,再在节点C下查找节点C1,查找到节点C1,将节点C1的标识修改为X,如图3B所示,为第二系统根据接收到节点序列修改节点后的示意图。
实施例C3(与实施例C1和C2相对应):
第二系统根据接收到的根节点到删除的节点间的路径上的节点序列,在本系统存储的相应树结构数据中创建或删除节点。具体如下:
若所述节点序列仅包含一个节点即根节点,则第二系统在本系统存储的树结构数据中查找所述根节点,若查找到,则删除查找到的节点以及该节点的所有子孙节点。
若所述节点序列仅包含两个节点,即根节点和末节点,则第二系统首先在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;若查找到,则在查找到的根节点的子节点中查找所述末节点,若查找到,则删除查找到的末节点以及该末节点的所有子孙节点。
若所述节点序列中包含至少三个节点,即包含根节点、末节点和至少一个中间节点,则第二系统对于所述节点序列中的根节点,在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;
对于所述节点序列中的各个中间节点,将所述节点序列中与该中间节点相邻并在该中间节点之前的节点作为该中间节点的父节点,在本系统中所述父节点的子节点中查找所述中间节点,若未查找到,则在本系统中所述父节点下创建所述中间节点;
对于所述节点序列中的末节点,将所述节点序列中与该末节点相邻并在该末节点之前的节点作为该末节点的父节点,在本系统中所述父节点的子节点中查找所述末节点,若查找到,则删除查找到的末节点以及该末节点的所有子孙节点。
举例说明,如图2C所示,为第二系统存储的树结构数据的示意图,第二系统接收到节点序列A-B后,首先查找本系统是否保存根节点A,查找到根节点A,再在根节点A下查找节点B,查找到节点B,删除节点B以及节点B的子孙节点B2,如图4B所示,为第二系统根据接收到节点序列删除节点后的示意图。
需要说明的是,第二系统在接收到路径的信息时,是根据该路径的信息执行实施例A3还是B3还是C3中的操作,可以根据路径的信息中包含的操作标识来确定,例如,在实施例A2中第一系统在向第二系统发送的路径的信息中携带操作标识1,那么第二系统在接收到路径的信息时根据其中的操作标识执行实施例A3;在实施例B2中第一系统在向第二系统发送的路径的信息中携带操作标识2,那么第二系统在接收到路径的信息时根据其中的操作标识执行实施例B3;在实施例C2中第一系统在向第二系统发送的路径的信息中携带操作标识3,那么第二系统在接收到路径的信息时根据其中的操作标识执行实施例C3。
参见图5,本发明实施例还提供一种数据同步的系统,该系统包括:
信息发送装置50,用于对本装置中存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给数据同步装置;
数据同步装置51,用于接收所述路径的信息,根据所述路径的信息对本装置存储的树结构数据进行节点更新。
所述信息发送装置用于:在本装置中存储的树结构数据中创建新的节点,将所述树结构数据中根节点到创建的节点间的路径上的节点序列发送给数据同步装置;所述数据同步装置用于:根据所述节点序列在本系统存储的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本装置中存储的树结构数据中未包含的节点。具体实现方法可以参见方法部分的实施例一,这里不再赘述。
所述信息发送装置用于:在本装置中存储的树结构数据中修改已有节点的数据内容,将所述树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容发送给数据同步装置;所述数据同步装置用于:根据所述节点序列在本系统存储的树结构数据中创建或修改节点。具体实现方法可以参见方法部分的实施例二,这里不再赘述。
所述信息发送装置用于:在本装置中存储的树结构数据中删除已有的节点,将所述树结构数据中根节点到删除的节点间的路径上的节点序列发送给数据同步装置;所述数据同步装置用于:根据所述节点序列在本系统存储的树结构数据中创建或删除节点。具体实现方法可以参见方法部分的实施例三,这里不再赘述。
参见图6,本发明实施例还提供一种信息发送装置,可以应用于数据同步的系统中,该装置包括:
节点更新单元60,用于对本装置中存储的树结构数据进行节点更新;
信息发送单元61,用于在所述节点更新单元进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给其他装置。
所述节点更新单元包括:创建单元601,用于在本装置中存储的树结构数据中创建新的节点;所述信息发送单元包括:第一单元611,用于在所述创建单元创建新的节点后,将所述树结构数据中根节点到创建的节点间的路径上的节点序列发送给其他装置。
所述节点更新单元包括:修改单元602,用于在本装置中存储的树结构数据中修改已有节点的数据内容;所述信息发送单元包括:第二单元612,用于在所述修改单元修改已有节点的数据内容后,将所述树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容发送给其他装置。
所述节点更新单元包括:删除单元603,用于在本装置中存储的树结构数据中删除已有的节点;所述信息发送单元包括:第三单元613,用于在所述删除单元删除已有节点后,将所述树结构数据中根节点到删除的节点间的路径上的节点序列发送给其他装置。
参见图7,本发明实施例还提供一种数据同步装置,可以应用于数据同步的系统中,该装置包括:
信息接收单元70,用于接收其他装置发来的树结构数据中根节点到更新的节点间的路径的信息;
数据更新单元71,用于根据所述路径的信息对本装置存储的树结构数据进行节点更新。
所述信息接收单元包括:第一单元701,用于接收其他装置发来的树结构数据中根节点到创建的节点间的路径上的节点序列;所述数据更新单元包括:创建单元711,用于根据所述节点序列在本系统存储的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本装置中存储的树结构数据中未包含的节点。具体实现方法可以参见方法部分的实施例一,这里不再赘述。
所述信息接收单元包括:第二单元702,用于接收其他装置发来的树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容;所述数据更新单元包括:修改单元712,用于根据所述节点序列以及修改后的数据内容在本系统存储的树结构数据中创建或修改节点。具体实现方法可以参见方法部分的实施例二,这里不再赘述。
所述信息接收单元包括:第三单元703,用于接收其他装置发来的树结构数据中根节点到删除的节点间的路径上的节点序列;所述数据更新单元包括:删除单元713,用于根据所述节点序列在本系统存储的树结构数据中创建或删除节点。具体实现方法可以参见方法部分的实施例三,这里不再赘述。
综上,本发明的有益效果在于:
本发明实施例提供的方案中,第一系统在对本系统存储的树结构数据进行节点更新后,将树结构数据中根节点到更新的节点间的路径的信息发送给第二系统,第二系统根据接收到的路径的信息对本系统存储的树结构数据进行节点更新,以达到两个系统数据同步的目的。由于本发明实施例提供的方案中不需要将第一系统的树结构数据重写到B系统中,也不需要系统为每个节点分配并记录唯一编号,大大降低了实现系统间数据同步需要付出的工作量。同时也节省了系统的存储资源。
同时,第一系统创建节点后,将根节点到创建的节点的路径上的节点序列而不是仅是创建的节点发送给第二系统,第二系统创建节点序列中本系统所没有的节点而不是仅创建第一系统创建的节点,一次操作可以完成多个节点的创建,提高了数据同步的效率。
第一系统修改节点后,将根节点到修改的节点的路径上的节点序列而不是仅是修改的节点发送给第二系统,第二系统若能够查找到需要修改的节点,则对其的数据内容进行修改,若查找不到,则通过创建的方式实现修改,不仅创建需要修改的节点,还创建节点序列中本系统所没有的节点,一次操作可以完成节点的创建或修改,提高了数据同步的效率。
第一系统删除节点后,将根节点到删除的节点的路径上的节点序列而不是仅是删除的节点发送给第二系统,第二系统若能够查找到需要删除的节点,则对其进行删除,若查找不到,还要创建节点序列中本系统所没有的除需要删除的节点之外的其他节点,一次操作可以完成节点的创建或删除,提高了数据同步的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (24)
1、一种数据同步的方法,其特征在于,该方法包括:
第一系统对本系统存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给第二系统;
所述第二系统根据所述路径的信息对本系统存储的树结构数据进行节点更新。
2、如权利要求1所述的方法,其特征在于,所述进行节点更新为创建新的节点时,所述更新的节点为创建的节点,所述树结构数据中根节点到创建的节点间的路径的信息包括所述路径上的节点序列;
所述第二系统根据所述路径的信息在本系统存储的相应树结构数据中进行节点更新包括:
所述第二系统根据所述节点序列在本系统存储的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本系统中存储的树结构数据中未包含的节点。
3、如权利要求2所述的方法,其特征在于,所述节点序列中包含根节点;所述第二系统根据所述节点序列在本系统中存储的树结构数据中创建节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点。
4、如权利要求3所述的方法,其特征在于,所述路径上还包含除根节点之外的其他节点;所述第二系统根据所述节点序列在本系统中存储的树结构数据中创建节点包括:
所述第二系统将所述节点序列中与所述其他节点相邻并在该其他节点之前的节点作为所述其他节点的父节点,在本系统中所述父节点的子节点中查找所述其他节点,若未查找到,则在本系统中所述父节点下创建所述其他节点。
5、如权利要求1-4中任一所述的方法,其特征在于,所述进行节点更新为修改已有节点的数据内容时,所述更新的节点为修改的节点,所述树结构数据中根节点到修改的节点间的路径的信息包括所述路径上的节点序列以及修改后的节点的数据内容;
所述第二系统根据所述路径的信息在本系统存储的树结构数据中进行节点更新包括:
所述第二系统根据所述节点序列以及修改后的节点的数据内容在本系统存储的树结构数据中创建或修改节点。
6、如权利要求5所述的方法,其特征在于,所述节点序列中仅包含根节点;所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或修改节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;若查找到,则根据所述修改后的节点的数据内容对查找到的节点的数据内容进行修改。
7、如权利要求5所述的方法,其特征在于,所述节点序列中仅包含根节点和末节点;所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或修改节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点,并在创建的根节点下创建所述末节点;若查找到:
在查找到的节点的子节点中查找所述末节点,若未查找到,则在查找到的根节点下创建所述末节点;若查找到,则根据所述修改后的节点的数据内容对查找到的末节点的数据内容进行修改。
8、如权利要求5所述的方法,其特征在于,所述节点序列中包含根节点、末节点和至少一个中间节点;所述第二系统根据所述节点序列在本系统存储的相应树结构数据中创建或修改节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;
对于各个中间节点,将所述节点序列中与该中间节点相邻并在该中间节点之前的节点作为所述中间节点的父节点,在本系统中所述父节点的子节点中查找所述中间节点,若未查找到,则在本系统中所述父节点下创建所述中间节点;
将所述节点序列中与所述末节点相邻并在该末节点之前的节点作为所述末节点的父节点,在本系统中所述父节点的子节点中查找所述末节点,若未查找到,则在本系统中所述父节点下创建所述末节点;若查找到,则根据所述修改后的节点的数据内容对查找到的末节点的数据内容进行修改。
9、如权利要求1-4、6-8中任一所述的方法,其特征在于,所述进行节点更新为删除已有的节点时,所述更新的节点为删除的节点,所述树结构数据中根节点到删除的节点间的路径的信息包括所述路径上的节点序列;
所述第二系统根据所述路径的信息在本系统存储的树结构数据中进行节点更新包括:
所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或删除节点。
10、如权利要求9所述的方法,其特征在于,所述节点序列中仅包含根节点;所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或删除节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若查找到,则删除查找到的节点以及该节点的所有子孙节点。
11、如权利要求9所述的方法,其特征在于,所述节点序列中仅包含根节点和末节点;所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或删除节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;若查找到:
在查找到的节点下查找所述末节点,若查找到,则删除查找到的末节点以及该末节点的所有子孙节点。
12、如权利要求9所述的方法,其特征在于,所述节点序列中包含根节点、末节点和至少一个中间节点;所述第二系统根据所述节点序列在本系统存储的树结构数据中创建或删除节点包括:
所述第二系统在本系统存储的树结构数据中查找所述根节点,若未查找到,则创建所述根节点;
对于所述节点序列中的各个中间节点,将所述节点序列中与该中间节点相邻并在该中间节点之前的节点作为该中间节点的父节点,在本系统中所述父节点的子节点中查找所述中间节点,若未查找到,则在本系统中的所述父节点下创建所述中间节点;
对于所述节点序列中的末节点,将所述节点序列中与该末节点相邻并在该末节点之前的节点作为该末节点的父节点,在本系统中所述父节点的子节点中查找所述末节点,若查找到,则删除查找到的节点以及该节点的所有子孙节点。
13、一种数据同步的系统,其特征在于,该系统包括:
信息发送装置,用于对本装置中存储的树结构数据进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给数据同步装置;
数据同步装置,用于接收所述路径的信息,根据所述路径的信息对本装置存储的树结构数据进行节点更新。
14、如权利要求13所述的系统,其特征在于,所述信息发送装置用于:
在本装置中存储的树结构数据中创建新的节点,将所述树结构数据中根节点到创建的节点间的路径上的节点序列发送给所述数据同步装置;
所述数据同步装置用于:
根据所述节点序列在本系统存储的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本装置中存储的树结构数据中未包含的节点。
15、如权利要求13所述的系统,其特征在于,所述信息发送装置用于:
在本装置中存储的树结构数据中修改已有节点的数据内容,将所述树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容发送给所述数据同步装置;
所述数据同步装置用于:
根据所述节点序列在本系统存储的树结构数据中创建或修改节点。
16、如权利要求13-15中任一所述的系统,其特征在于,所述信息发送装置用于:在本装置中存储的树结构数据中删除已有的节点,将所述树结构数据中根节点到删除的节点间的路径上的节点序列发送给数据同步装置;
所述数据同步装置用于:
根据所述节点序列在本系统存储的树结构数据中创建或删除节点。
17、一种信息发送装置,其特征在于,该装置包括:
节点更新单元,用于对本装置中存储的树结构数据进行节点更新;
信息发送单元,用于在所述节点更新单元进行节点更新后,将所述树结构数据中根节点到更新的节点间的路径的信息发送给其他装置。
18、如权利要求17所述的装置,其特征在于,所述节点更新单元包括:
创建单元,用于在本装置中存储的树结构数据中创建新的节点;
所述信息发送单元包括:
第一单元,用于在所述创建单元创建新的节点后,将所述树结构数据中根节点到创建的节点间的路径上的节点序列发送给其他装置。
19、如权利要求17所述的装置,其特征在于,所述节点更新单元包括:
修改单元,用于在本装置中存储的树结构数据中修改已有节点的数据内容;
所述信息发送单元包括:
第二单元,用于在所述修改单元修改已有节点的数据内容后,将所述树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容发送给其他装置。
20、如权利要求17-19中任一所述的装置,其特征在于,所述节点更新单元包括:
删除单元,用于在本装置中存储的树结构数据中删除已有的节点;
所述信息发送单元包括:
第三单元,用于在所述删除单元删除已有节点后,将所述树结构数据中根节点到删除的节点间的路径上的节点序列发送给其他装置。
21、一种数据同步装置,其特征在于,该装置包括:
信息接收单元,用于接收其他装置发来的树结构数据中根节点到更新的节点间的路径的信息;
数据更新单元,用于根据所述路径的信息对本装置存储的树结构数据进行节点更新。
22、如权利要求21所述的装置,其特征在于,所述信息接收单元包括:
第一单元,用于接收其他装置发来的树结构数据中根节点到创建的节点间的路径上的节点序列;
所述数据更新单元包括:
创建单元,用于根据所述节点序列在本系统存储的树结构数据中创建节点,创建的节点为所述节点序列中包含的、并且本装置中存储的树结构数据中未包含的节点。
23、如权利要求21所述的装置,其特征在于,所述信息接收单元包括:
第二单元,用于接收其他装置发来的树结构数据中根节点到修改的节点间的路径上的节点序列以及修改后的节点的数据内容;
所述数据更新单元包括:
修改单元,用于根据所述节点序列以及修改后的数据内容在本系统存储的树结构数据中创建或修改节点。
24、如权利要求21-23中任一所述的装置,其特征在于,所述信息接收单元包括:
第三单元,用于接收其他装置发来的树结构数据中根节点到删除的节点间的路径上的节点序列;
所述数据更新单元包括:
删除单元,用于根据所述节点序列在本系统存储的树结构数据中创建或删除节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810223003A CN101686121A (zh) | 2008-09-25 | 2008-09-25 | 一种数据同步方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810223003A CN101686121A (zh) | 2008-09-25 | 2008-09-25 | 一种数据同步方法、系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101686121A true CN101686121A (zh) | 2010-03-31 |
Family
ID=42049110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810223003A Pending CN101686121A (zh) | 2008-09-25 | 2008-09-25 | 一种数据同步方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101686121A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413154A (zh) * | 2010-09-21 | 2012-04-11 | 北大方正集团有限公司 | 一种系统之间数据信息同步的方法及装置 |
CN102867059A (zh) * | 2012-09-19 | 2013-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种树形结构中数据的处理方法和系统 |
CN106815346A (zh) * | 2017-01-18 | 2017-06-09 | 济南浪潮高新科技投资发展有限公司 | 一种分级码多级数据的同步迁移方法 |
CN108737487A (zh) * | 2018-03-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
-
2008
- 2008-09-25 CN CN200810223003A patent/CN101686121A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413154A (zh) * | 2010-09-21 | 2012-04-11 | 北大方正集团有限公司 | 一种系统之间数据信息同步的方法及装置 |
CN102413154B (zh) * | 2010-09-21 | 2014-04-09 | 北大方正集团有限公司 | 一种系统之间数据信息同步的方法及装置 |
CN102867059A (zh) * | 2012-09-19 | 2013-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种树形结构中数据的处理方法和系统 |
CN106815346A (zh) * | 2017-01-18 | 2017-06-09 | 济南浪潮高新科技投资发展有限公司 | 一种分级码多级数据的同步迁移方法 |
CN108737487A (zh) * | 2018-03-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464530B (zh) | 网络更新的动态调度的方法和系统 | |
CN106407430A (zh) | 一种基于阶段桶的复杂智能合约状态同步方法 | |
CN100454311C (zh) | 基于sql的数据同步方法及装置 | |
Zhao et al. | Version management in the business process change context | |
CN113836024B (zh) | 基于配置驱动的流量复用ab测试方法及系统 | |
CN104636286A (zh) | 用于数据访问的方法和设备 | |
CN101686121A (zh) | 一种数据同步方法、系统及装置 | |
CN101459469A (zh) | 网元设备的光层业务调度方法及网管控制系统 | |
CN105187499A (zh) | 一种基于zookeeper双平面数据架构的分布式调度方法及系统 | |
CN111506552B (zh) | 一种树状结构的动态数据库设计方法及系统 | |
CN100596087C (zh) | Ftn匹配管理方法 | |
CN100382542C (zh) | 一种数据通信设备中两级路由表的管理方法 | |
CN102541544A (zh) | 树形控件的处理方法、装置及系统 | |
CN101404541B (zh) | 一种网管拓扑链接分层关联多个业务对象的方法 | |
CN104123135A (zh) | 一种统一后台接口的方法及装置 | |
CN103095833A (zh) | 云服务系统更新方法和装置 | |
CN102468978A (zh) | 业务配置方法及装置 | |
CN102356394B (zh) | 文档更新方法和装置 | |
Aguado et al. | P systems with replicated rewriting and stream X-machines (Eilenberg machines) | |
CN114254048A (zh) | 一种降低频谱消耗量的数据实时合并方法 | |
CN103685013B (zh) | 一种基于内容的混合路由方法及其装置 | |
CN101286880A (zh) | 管理对象创建方法和装置 | |
CN101510827B (zh) | 路由交换装置、方法及在路由交换装置中更新业务的方法 | |
CN105471743A (zh) | 一种ip数据通信设备中硬件多级路由表的管理方法 | |
CN102292953B (zh) | 网络业务还原处理方法、装置以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100331 |