CN106708891A - 一种网管数据同步方法及装置 - Google Patents
一种网管数据同步方法及装置 Download PDFInfo
- Publication number
- CN106708891A CN106708891A CN201510790802.1A CN201510790802A CN106708891A CN 106708891 A CN106708891 A CN 106708891A CN 201510790802 A CN201510790802 A CN 201510790802A CN 106708891 A CN106708891 A CN 106708891A
- Authority
- CN
- China
- Prior art keywords
- record
- list
- field
- fields
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网管数据同步方法及装置,在进行数据同步的过程中,创建数据模型,该数据模型中存储至少一条记录,所述记录中包括一个表明数据来源的表名、一个数据的字段和一个数据对应的字段列表标识;将获取的数据生成记录并存入数据模型中,然后从数据模型中确定待同步记录,将该待同步记录还原成同步数据并下发。无需对不同字段格式的数据采用不同业务逻辑进行处理,只需通过简单的数据结构表示复杂的数据格式。因此,通过通用的数据模型对数据进行同步,业务逻辑与字段格式不具备依赖关系,该字段格式易于扩展为其他字段格式,从而提高了系统的可扩展性、可维护性及稳定性,相应的降低了开发的难度和维护成本。
Description
技术领域
本发明涉及一种网管数据同步领域,尤其涉及一种网管数据同步方法及装置。
背景技术
卫星移动系统中,需要将网管中配置数据同步到网元,同步类型包括整表同步和增量同步。整表同步表示将网管中的全部数据下发到网元,增量同步是首先获取网管整表数据和网元数据,接着对这两种数据进行比较,并把比较数据下发到网元。当前相关的网络同步技术都是关于整体同步流程方法及其改进,即获取到同步数据后如何对数据的同步流程进行改进,对于同步数据处理的模型却并未涉及。而在网管数据同步的过程中,会有多种来源(指存放存储介质,包括但不限于数据库和文件等)的数据参与同步。由于他们的存储方式不同,使得字段格式也很复杂,如:单一格式、列表格式和结构体格式等,不同字段格式的数据会存在不同的处理方式,程序语言对其定义方式也不同(即交互的接口不同),导致针对不同字段格式的数据都需要定义一个接口,在进行同步操作时也就需要调用各种不同的接口,不同字段格式的数据相应的也需要采用不同的业务逻辑进行处理,这种处理方式导致业务逻辑与字段格式出现依赖关系,使得系统的稳定性、可扩展性及可维护性相应的受到影响,从而提高维护成本和开发难度。
发明内容
本发明要解决的主要技术问题是,提供一种网管数据同步方法及装置,在进行数据同步时解决了现有技术中业务逻辑与字段格式存在依赖关系,导致系统可扩展性以及可维护性受到影响,提高了维护成本和开发难度的技术问题。
为解决上述技术问题,本发明提供一种网管数据同步方法,包括:
创建数据模型,所述数据模型存储至少一条记录,所述记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
将获取的数据生成所述记录,并保存在所述数据模型中;
从所述数据模型中确定待同步记录;
将所述待同步记录还原成同步数据并下发。
在本发明一种实施例中,所述数据模型包括至少一个字段库,所述字段库包括至少一个字段列表,所述字段列表包括至少一个所述数据的字段;所述字段库与所述表名一一对应,所述字段列表与所述字段列表标识一一对应。
在本发明一种实施例中,所述保存在所述数据模型中包括:
判断所述数据模型中是否存在所述记录的表名,若存在所述记录的表名,则判断该表名对应的字段库中是否存在所述记录的字段列表标识;若存在所述记录的字段列表标识,则查找所述字段列表标识对应的字段列表,并将所述记录的字段存入所述字段列表;若不存在所述记录的字段列表标识,则根据该字段列表标识新建字段列表并将所述记录的字段存入所述字段列表;
若不存在所述记录的表名,则根据所述表名新建另一字段库,在该字段库中根据所述字段列表标识新建字段列表,并将所述记录的字段存入该字段列表。
在本发明一种实施例中,所述记录还包括数据的表序号,所述表序号与所述表名一一对应;根据所述表序号在所述数据模型中查找对应的字段库。
在本发明一种实施例中,根据所述记录中的字段列表标识对所述字段列表进行排序,若所述字段列表标识一样,则按照所述记录的字段添加的先后顺序对该字段进行排序并保存在数据模型中。
在本发明一种实施例中,所述数据模型包括源头数据模型和目标数据模型,从所述数据模型中确定待同步记录包括以下方式中的任意一种:
将源头数据模型中的记录确定为待同步记录;
将源头数据模型中的记录与目标数据模型中的记录进行比较,得到增量比较记录,将所述增量比较记录确定为待同步记录,所述增量比较记录包括操作标志信息,所述操作标志信息包括删除标志、先删后增标志、插入标志和更新标志中的任意一种。
在本发明一种实施例中,将所述待同步记录还原成同步数据并下发包括:
判断所述待同步记录的字段格式;
根据所述字段格式将所述待同步记录还原成所述同步数据并下发。
在本发明一种实施例中,所述从所述数据模型中确定待同步记录之前还包括:删除或修改指定表名或指定表名中指定字段列表标识的记录。
本发明还提供了一种网管数据同步装置,包括:
存储模块,用于创建数据模型,所述数据模型存储至少一条记录,所述记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
判断模块,用于将获取的数据生成所述记录,并保存在所述数据模型中;
选择模块,用于从所述数据模型中确定待同步记录;
还原模块,用于将所述待同步记录还原成同步数据并下发。
在本发明一种实施例中,所述数据模型包括至少一个字段库,所述字段库包括至少一个字段列表,所述字段列表包括至少一个所述数据的字段;所述字段库与所述表名一一对应,所述字段列表与所述字段列表标识一一对应。
在本发明一种实施例中,所述判断模块包括:
判断子模块,用于判断所述数据模型中是否存在所述记录的表名,若存在所述记录的表名,则判断该表名对应的字段库中是否存在所述记录的字段列表标识;若存在所述记录的字段列表标识,则查找所述字段列表标识对应的字段列表,并将所述记录的字段存入所述字段列表;若不存在所述记录的字段列表标识,则根据该字段列表标识新建字段列表并将所述记录的字段存入所述字段列表中;若不存在所述记录的表名,则根据所述表名新建另一字段库,在该字段库中根据所述字段列表标识新建字段列表,并将所述记录的字段存入该字段列表中。
在本发明一种实施例中,所述记录还包括数据的表序号,所述表序号与所述表名一一对应;根据所述表序号在所述数据模型中查找对应的字段库。
在本发明一种实施例中,根据所述记录中的字段列表标识对所述字段列表进行排序,若所述字段列表标识一样,则按照所述记录的字段添加的先后顺序对该字段进行排序并保存在数据模型中。
在本发明一种实施例中,所述数据模型包括源头数据模型和目标数据模型,所述选择模块包括:
第一选择子模块,用于将源头数据模型中的记录确定为待同步记录;
第二选择子模块,用于将源头数据模型中的记录与目标数据模型中的记录进行比较,得到增量比较记录,将所述增量比较记录确定为待同步记录,所述增量比较记录还包括操作标志信息,所述操作标志信息包括删除标志、先删后增标志、插入标志和更新标志中的任意一种。
在本发明一种实施例中,所述还原模块包括:
第三判断子模块,用于判断所述待同步记录的字段格式;
还原子模块,用于根据所述字段格式将所述待同步记录还原成所述同步数据并下发。
在本发明一种实施例中,还包括处理模块,所述处理模块设置于所述选择模块之前,用于删除或修改指定表名或指定表名中指定字段列表标识的记录。
本发明的有益效果是:
本发明提供了网管数据同步方法及装置,在进行数据同步的过程中,创建数据模型,该数据模型中存储至少一条记录,所述记录中包括一个表明数据来源的表名、一个数据的字段和一个数据对应的字段列表标识;将获取的数据生成记录并存入数据模型中,就可将不同字段格式的数据统一适配为通用的数据模型进行表示,然后从数据模型中确定待同步记录,将该待同步记录还原成同步数据并下发。无需对不同字段格式的数据采用不同业务逻辑进行处理,只需通过简单的数据结构表示复杂的数据格式。因此,通过通用的数据模型对数据进行同步,业务逻辑与字段格式不具备依赖关系,只有将数据生成记录并存入数据模型中或者将数据模型中的记录还原成同步数据并下发时才会确定具体的字段格式,且该字段格式易于扩展为其他字段格式,从而提高了系统的可扩展性、可维护性及稳定性,相应的降低了开发的难度和维护成本。
附图说明
图1为本发明实施例一提供的网管数据同步方法流程图;
图2为本发明实施例一提供的保存记录到数据模型流程图;
图3为本发明实施例一提供的保存记录时排序流程图;
图4为本发明实施例一提供的字段列表标识排序流程图;
图5为本发明实施例一提供的将待同步记录写入文件流程图;
图6为本发明实施例一提供的将字段写入文件流程图;
图7为本发明实施例一提供的删除或插入记录流程图;
图8为本发明实施例二提供的网管数据同步装置示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
请参见图1,图1为本实施例提供的网管数据同步方法流程图。
在本实施例中,网管数据同步方法具体步骤如下:
S101,创建数据模型,该数据模型存储至少一条记录,该记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
S102,将获取的同步数据生成所述记录,并保存在所述数据模型中;
S103,从所述数据模型中确定待同步记录;
S104,将所述待同步记录还原成同步数据并下发。
通过上述步骤,将不同字段格式的数据统一采用记录的形式存放在数据模型中,然后对模型中的记录进行同步操作,使得业务逻辑与数据的字段格式不会产生依赖关系,从而提高了系统的可扩展性、稳定性和可维护性,也降低了维护成本和开发难度。
应该注意的是,创建的数据模型中包括至少一个字段库,该字段库中包括至少一个字段列表,该字段列表中包括至少一个字段,该字段是从存储介质(包括但不限于数据库和文件)中获取的;同时,字段库与表名一一对应,字段列表与字段列表标识一一对应,在对记录进行存储的时候,方便进行查找和排序。以数据库为例,从数据库中获取一行数据时,一行数据为一条记录,该记录包括表名、字段列表标识和字段,然后将记录存放在数据模型中。应该注意的是,这里字段列表标识与字段并非必须是一一对应的关系,这里的字段列表标识类似于字段名,他们之间存在多种字段格式:对于单一格式,一个字段列表标识对应一个字段;对于列表格式,一个字段列表标识对应多个字段;对于结构体格式,一个字段列表标识对应一个结构体,该结构体本身也是一个列表形式的字段;以及后续其他需要扩展的字段格式。此外,数据模型定义了一个通用的接口,模型只与该接口进行交互,通过接口,数据模型就不需要处理不同类型的字段。也即将不同字段格式的数据通过记录统一存放在数据模型中,在进行数据同步时,只需与数据模型进行交互。进一步的,所述记录中还包括表序号,该表序号与表名一一对应,且由所述数据模型生成,用于快速有效的查找指定的字段库。
进一步的,数据模型的数据结构是Hashmap<表名,Treemap<key,value>>,其中,Treemap等同于字段库,key等同于字段列表标识,value等同于字段列表,key与value一一对应,且value中包含一个或多个字段。本实施例通过hashmap进行索引,不需考虑表与表之间的顺序,只需按照预先设定好的表序号从小到大排序即可;通过表序号索引到Treemap后,也即字段库,根据key与value一一对应的关系,很快找到对应的字段。
请参见图2,在将生成的记录保存到数据模型中时,具体索引过程如下:
S201,判断数据模型中是否存在该记录的表名,若是执行步骤S202,若否执行步骤S202’;
S202,获取该表名对应的字段库;
S202’,根据该表名新建一个字段库,在该字段库中根据字段列表标识新建字段列表,并将该记录的字段存入该字段列表,同时将表序号和表名作为索引放入索引树中;
S203,判断该表名对应的字段库中是否存在该记录的字段列表标识,若是执行步骤S204,若否执行步骤S204’;
S204,查找该字段列表标识对应的字段列表,并将该记录的字段存入字段列表中;
S204’,根据该字段列表标识新建字段列表,并将该字段列表标识对应的字段存入所述字段列表中。
此外,请参见图3,在添加记录的过程中,在找到记录添加的位置后,需要通过表序号查找到指定的字段库,在该字段库中通过字段列表标识对记录进行排序,具体规则如下:
S301,根据表序号在数据模型中查找对应的字段库;
S302,在该字段库中判断所述记录的字段列表标识是否相同,若是执行S303,若否执行S303’;
S303,按照该记录添加的先后顺序进行排序;
S303’,将所述字段列表标识小的记录排在前面。
对于不相同的字段列表标识的排序,请参见图4,其具体排序过程如下:
S401,判断字段列表标识的长度是否一致,若是执行步骤S402,若否执行步骤S402’;
S402,将该字段列表标识拆开分别对每段进行比较,数值小的则认为字段列表标识小,并将字段列表标识小的排在前面;
S402’,将字段列表标识长度小的排在前面。
对于查找和排序两个过程,可以只执行通过表序号查找字段库的过程;也可以只执行通过字段列表标识对记录中的字段进行排序的过程;也可以先执行查找字段库的过程,再执行对字段排序的过程,该过程能更精准的对待添加记录进行排序。
将生成的记录添加到数据模型中后,需要从数据模型中确定待同步记录,从数据模型中确定待同步记录的具体方式如下:
从数据模型中获取指定的记录,从指定的记录中确定待同步记录。获取指定记录的方式包括以下任意一种:
获取数据模型中的所有记录:首先根据表序号索引到对应的表名以保证记录按表序号排序,接着遍历所有表名依次找出对应字段列表标识中的上所有记录;
获取数据模型中指定表名中的记录:首先获取对应表名下的字段库,接着遍历该字段库获取所有字段列表标识中的记录;
获取数据模型中指定表名中的指定字段列表标识的记录:首先获取对应表名的字段库,接着在字段库中获取对应字段列表标识中的所有记录。
从指定记录中确定待同步记录包括以下方式中的任意一种:
将获取的指定记录直接确定为待同步记录;
将网管数据模型中的指定记录与网元数据模型中的指定记录进行比较,得到增量比较记录,将该增量比较记录确定为待同步记录。
此外,所述增量比较记录中包括以下几种操作标志信息中的任意一种:删除标志、插入标志、先删后增标志、插入标志,也即增量比较记录的类型有删除记录、插入记录、先删后增记录或插入记录,所有的增量比较记录形成增量模型;通过该操作标志信息可以准确告知网元对同步数据执行什么操作。对于删除标志,是针对网管数据模型中不存在但网元数据模型中存在的记录,该记录中的操作标志信息为删除标志,说明网元数据模型中存在的记录需要被删除;对于插入标志,是针对网管数据模型中存在而网元数据模型中不存在的记录,该记录的操作标志信息为插入标志,说明网管新增了一条记录并通知网元模型中也添加该条记录;对于先删后增记录,是针对网管和网元的数据模型中均存在的记录,且若该记录中的关键字段有修改或者网管数据模型中的记录的父记录先删后增,也即由于记录引用了父记录中的关键字段,但是父记录对该关键字段进行修改,导致该记录也相应有修改,相应的网元中的关键字段也进行修改,则网管数据模型中存在的记录的操作标志信息为先删后增,网元数据模型中存在的记录的操作标志信息为删除,说明网元和网管模型中都存在的记录需要先被删掉,然后再将修改的记录添加到网管模型中并通知网元模型中也要添加该记录;对于更新标志,是针对网管与网元数据模型中均存在的记录,且不存在先删后增的情况,同时两个记录不相等,该记录的操作标志信息为更新标志,说明网管模型对该记录做了修改,通知网元也要对该记录进行修改。
进一步的,请参见图5,将待同步记录下发到网元时,通常会将待同步记录写入文件然后下发,具体写入流程如下:
S501,判断确定的待同步记录是否为增量模型,若是执行步骤S502,若否执行S502’;
S502,获取该增量模型中存在的删除记录、先删后增记录、插入记录和更新记录中的至少一种;
S502’,获取网管模型中指定记录作为待同步记录,然后执行步骤S503;
S503,依次遍历上述记录并写入文件中。
进一步的,请参见图6,在S503中,将上述记录写入文件时,需要判断字段格式才能正确的获取到字段并写入文件,具体步骤如下:
S601,判断所述待同步记录的字段格式是否为单一格式,若否执行步骤S602,若是执行步骤S602’;
S602,判断所述待同步记录的字段格式是否为列表格式,若否执行步骤S603,若是执行步骤S603’;
S602’,获取字段列表标识对应的唯一的字段,并按单一格式写入文件;
S603,判断所述待同步记录的字段格式是否为结构体格式,若是执行步骤S604;
S603’,获取字段列表标识对应的多个字段,并按列表格式写入文件;
S604获取字段列表标识对应的结构体,再获取结构体中所有的字段,并按结构体格式写入文件。
具体格式举例如下:
1.单一格式:
<Field name="SdrDeviceGroupId"value="1"/>;
该程序语言表明,一个字段名SdrDeviceGroupId(类似于字段列表标识)对应一个字段列表value,该字段列表中只包括一个字段1;
2.列表格式:
<Field name="radioMode">
<value>8</value>
<value>16</value>
</Field>
该程序语言表明,一个字段名radioMode(类似于字段列表标识)对应一个字段列表value,该字段列表中包括两个字段8和16;
3.结构体格式:
<Field name="productData">
<StructMember name="productNumber"value="14337"/>
<StructMember name="productName"value="FAB"/>
</Field>
该程序语言表明,一个字段名productData(类似于字段列表标识)对应两个结构体productNumber和productName,每个结构体中对应一个字段列表value,对于结构体productNumber中,该字段列表中包括一个字段14337;对于结构体productName中,该字段列表中包括一个字段FAB。
对于其他类型的字段格式,字段的获取方式类似,同样属于本实施例保护的范围,这里不再赘述。确定待同步记录的字段格式并获取对应的字段后,将待同步记录写入文件或其他载体中再然后下发。
此外,请参见图7,在确定待同步记录之前,也可以对数据模型中的记录进行删除或修改,对于增加的操作在添加记录到模型中已涵盖,故这里不再说明。本实施例对删除的操作进行说明,具体流程如下:
S701,判断数据模型中是否存在指定表名的记录,若是执行步骤S702;
S702,判断数据模型中是否存在指定表名中的指定字段列表标识的记录,若是执行步骤S703;
S703,删除指定表名中的指定字段列表标识的记录。
实施例二:
请参见图8,图8为本实施例提供的网管数据同步装置示意图。
在本实施例中,网管数据同步装置包括:
存储模块801,用于创建数据模型,所述数据模型存储至少一条记录,所述记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
判断模块802,用于将获取的数据生成所述记录,并保存在所述数据模型中;
选择模块803,用于从所述数据模型中确定待同步记录;
还原模块804,用于将所述待同步记录还原成同步数据并下发。
应该注意的是,创建的数据模型中包括至少一个字段库,该字段库中包括至少一个字段列表,该字段列表中包括至少一个字段,该字段是从存储介质(包括但不限于数据库和XML文件)中获取的;同时,字段库与表名一一对应,字段列表与字段列表标识一一对应,在对记录进行存储的时候,方便进行查找和排序。例如,在数据库中获取到一行数据时,一行数据为一条记录,该记录包括表名、字段列表标识和字段,然后将记录存放在数据模型中。应该注意的是,这里字段列表标识与字段并非必须是一一对应的关系,这里的字段列表标识类似于字段名,他们之间存在多种字段格式:对于单一格式,一个字段列表标识对应一个字段;对于列表格式,一个字段列表标识对应多个字段;对于结构体格式,一个字段列表标识对应一个结构体,该结构体本身也是一个列表形式的字段;以及后续其他需要扩展的字段格式。此外,数据模型定义了一个通用的接口,模型只与该接口进行交互,通过接口,数据模型就不需要处理不同类型的字段。也即将不同字段格式的数据通过记录统一存放在数据模型中,在进行数据同步时,只需与数据模型进行交互。进一步的,所述记录中还包括表序号,该表序号与表名一一对应,且由所述数据模型生成,用于快速有效的查找指定的字段库。
进一步的,进一步的,数据模型的数据结构是Hashmap<表名,Treemap<key,value>>,其中,Treemap等同于字段库,key等同于字段列表标识,value等同于字段列表,key与value一一对应,且value中包含一个或多个字段。本实施例通过hashmap进行索引,不需考虑表与表之间的顺序,只需按照预先设定好的表序号从小到大排序即可;通过表序号索引到Treemap后,也即字段库,根据key与value一一对应的关系,很快找到对应的字段。
具体的,判断模块802中包括:判断子模块8021;
其中,判断子模块8021,用于判断所述数据模型中是否存在所述记录的表名,若存在所述记录的表名,则判断该表名对应的字段库中是否存在所述记录的字段列表标识;若存在所述记录的字段列表标识,则查找所述字段列表标识对应的字段列表,并将所述记录的字段存入所述字段列表;若不存在所述记录的字段列表标识,则根据该字段列表标识新建字段列表并将所述记录的字段存入所述字段列表中;若不存在所述记录的表名,则根据所述表名新建另一字段库,在该字段库中根据所述字段列表标识新建字段列表,并将所述记录的字段存入该字段列表中。
进一步的,所述记录还包括数据的表序号,所述表序号与所述表名一一对应;根据所述表序号在所述数据模型中查找对应的字段库。
根据所述记录中的字段列表标识对所述字段列表进行排序,若所述字段列表标识相同,则按照所述记录的字段添加的先后顺序对该字段进行排序并保存在数据模型中。对于查找和排序两个过程,可以只执行通过表序号查找字段库的过程;也可以只执行通过字段列表标识对记录中的字进行排序的过程;也可以先执行查找字段库的过程,再执行对字段排序的过程,该过程能更精准的对待添加记录进行排序。
值得注意的是,对于不相同的字段列表标识,其排序规则如下:
首先判断两者字段列表标识长度是否一致,若不一致,则将长度短的字段列表标识排在前面;若一致,则将字段列表标识按逗号分开,分别比较每部分的大小,小的部分认为该字段列表标识短并排在前面。
进一步的,数据模型中包括源头数据模型和目标数据模型;选择模块803中包括第一选择子模块8031和第二选择子模块8032;
第一选择子模块8031用于将源头数据模型中的记录确定为待同步记录;
第二选择子模块8032用于将源头数据模型中的记录与目标数据模型中的记录进行比较,得到增量比较记录,将所述增量比较记录确定为待同步记录,所述增量比较记录还包括操作标志信息,所述操作标志信息包括删除标志、先删后增标志、插入标志和更新标志中的任意一种。
此外,在确定待同步记录时,首先要获取指定记录,获取到指定数据后才确定待同步记录。该指定记录包括以下方式中的任意一种:
获取数据模型中的所有记录:首先根据表序号索引到对应的表名以保证记录按表序号排序,接着遍历所有表名依次找出对应字段列表标识中的上所有记录;
获取数据模型中指定表名中的记录:首先获取对应表名下的字段库,接着遍历该字段库获取所有字段列表标识中的记录;
获取数据模型中指定表名中的指定字段列表标识的记录:首先获取对应表名的字段库,接着在字段库中获取对应字段列表标识中的所有记录。
此外,所述增量比较记录中包括以下几种操作标志信息中的任意一种:删除标志、插入标志、先删后增标志、插入标志,也即增量比较记录的类型有删除记录、插入记录、先删后增记录或插入记录,所有的增量比较记录形成增量模型。对于删除标志,是针对网管数据模型中不存在但网元数据模型中存在的记录,该记录中的操作标志信息为删除标志,说明网元数据模型中存在的记录需要被删除;对于插入标志,是针对网管数据模型中存在而网元数据模型中不存在的记录,该记录的操作标志信息为插入标志,说明网管新增了一条记录并通知网元模型中也添加该条记录;对于先删后增记录,是针对网管和网元的数据模型中均存在的记录,且若该记录中的关键字段有修改或者网管数据模型中的记录的父记录先删后增,也即由于记录引用了父记录中的关键字段,但是父记录对该该关键字段进行修改,导致该记录也相应有修改,相应的网元中的关键字段也进行修改,则网管数据模型中存在的记录的操作标志信息为先删后增,网元数据模型中存在的记录的操作标志信息为删除,说明网元和网管模型中都存在的记录需要先被删掉,然后再将修改的记录添加到网管模型中并通知网元模型中也要添加该记录;对于更新标志,是针对网管与网元数据模型中均存在的记录,且不存在先删后增的情况,同时两个记录不相等,该记录的操作标志信息为更新标志,说明网管模型对该记录做了修改,通知网元也要对该记录进行修改。
进一步的,还原模块804包括第三判断子模块8041和还原子模块8042;第三判断子模块8041用于判断所述待同步记录的字段格式;还原子模块8042用于根据所述字段格式将所述待同步记录还原成所述同步数据并下发。
将待同步记录下发到网元时,通常会将待同步记录写入文件然后下发,对该待同步记录进行判断,若为增量模型,则获取该增量模型中存在的删除记录、先删后增记录、插入记录和更新记录中的至少一种并写入文件;若为网管模型中指定记录,则直接遍历该记录并写入文件。但是在写入前首先判断待同步记录的字段格式,若字段格式为单一格式,则按照单一格式将待同步记录写入文件;若字段格式为列表格式,则按照列表格式将待同步记录写入文件;若字段格式为结构格式,则按照结构体格式将待同步记录写入文件。具体字段格式请参见实施例一,这里不再赘述。
对于其他类型的字段格式,字段的获取方式类似,同样属于本实施例保护的范围,这里不再赘述。确定待同步记录的字段格式并获取对应的字段后,将待同步记录写入文件或其他载体并下发至网元。
此外,在选择模块803之前还包括处理模块802’,用于删除或修改指定表名或指定表名中指定字段列表标识的记录。对于删除的操作流程,请参见实施例一,这里不再赘述。
显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (16)
1.一种网管数据同步方法,其特征在于,包括:
创建数据模型,所述数据模型存储至少一条记录,所述记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
将获取的数据生成所述记录,并保存在所述数据模型中;
从所述数据模型中确定待同步记录;
将所述待同步记录还原成同步数据并下发。
2.如权利要求1所述的网管数据同步方法,其特征在于,所述数据模型包括至少一个字段库,所述字段库包括至少一个字段列表,所述字段列表包括至少一个所述数据的字段;所述字段库与所述表名一一对应,所述字段列表与所述字段列表标识一一对应。
3.如权利要求2所述的网络数据同步方法,其特征在于,所述保存在所述数据模型中包括:
判断所述数据模型中是否存在所述记录的表名,若存在所述记录的表名,则判断该表名对应的字段库中是否存在所述记录的字段列表标识;若存在所述记录的字段列表标识,则查找所述字段列表标识对应的字段列表,并将所述记录的字段存入所述字段列表;若不存在所述记录的字段列表标识,则根据该字段列表标识新建字段列表并将所述记录的字段存入所述字段列表;
若不存在所述记录的表名,则根据所述表名新建另一字段库,在该字段库中根据所述字段列表标识新建字段列表,并将所述记录的字段存入该字段列表。
4.如权利要求3所述的网管数据同步方法,其特征在于,所述记录还包括数据的表序号,所述表序号与所述表名一一对应;根据所述表序号在所述数据模型中查找对应的字段库。
5.如权利要求3所述的网管数据同步方法,其特征在于,根据所述记录中的字段列表标识对所述字段列表进行排序,若所述字段列表标识一样,则按照所述记录的字段添加的先后顺序对该字段进行排序并保存在数据模型中。
6.如权利要求1-5任一项所述的网管数据同步方法,其特征在于,所述数据模型包括源头数据模型和目标数据模型,从所述数据模型中确定待同步记录包括以下方式中的任意一种:
将源头数据模型中的记录确定为待同步记录;
将源头数据模型中的记录与目标数据模型中的记录进行比较,得到增量比较记录,将所述增量比较记录确定为待同步记录,所述增量比较记录包括操作标志信息,所述操作标志信息包括删除标志、先删后增标志、插入标志和更新标志中的任意一种。
7.如权利要求1-5任一项所述的网管数据同步方法,其特征在于,将所述待同步记录还原成同步数据并下发包括:
判断所述待同步记录的字段格式;
根据所述字段格式将所述待同步记录还原成所述同步数据并下发。
8.如权利要求1-5任一项所述的网管数据同步方法,其特征在于,所述从所述数据模型中确定待同步记录之前还包括:删除或修改指定表名或指定表名中指定字段列表标识的记录。
9.一种网管数据同步装置,其特征在于,包括:
存储模块,用于创建数据模型,所述数据模型存储至少一条记录,所述记录包括一个表明数据来源的表名、一个数据的字段和一个与数据对应的字段列表标识;
判断模块,用于将获取的数据生成所述记录,并保存在所述数据模型中;
选择模块,用于从所述数据模型中确定待同步记录;
还原模块,用于将所述待同步记录还原成同步数据并下发。
10.如权利要求9所述的网管数据同步装置,其特征在于,所述数据模型包括至少一个字段库,所述字段库包括至少一个字段列表,所述字段列表包括至少一个所述数据的字段;所述字段库与所述表名一一对应,所述字段列表与所述字段列表标识一一对应。
11.如权利要求10所述的网管数据同步装置,其特征在于,所述判断模块包括:
判断子模块,用于判断所述数据模型中是否存在所述记录的表名,若存在所述记录的表名,则判断该表名对应的字段库中是否存在所述记录的字段列表标识;若存在所述记录的字段列表标识,则查找所述字段列表标识对应的字段列表,并将所述记录的字段存入所述字段列表;若不存在所述记录的字段列表标识,则根据该字段列表标识新建字段列表并将所述记录的字段存入所述字段列表中;若不存在所述记录的表名,则根据所述表名新建另一字段库,在该字段库中根据所述字段列表标识新建字段列表,并将所述记录的字段存入该字段列表中。
12.如权利要求11所述的网管数据同步装置,其特征在于,所述记录还包括数据的表序号,所述表序号与所述表名一一对应;根据所述表序号在所述数据模型中查找对应的字段库。
13.如权利要求11所述的网管数据同步装置,其特征在于,根据所述记录中的字段列表标识对所述字段列表进行排序,若所述字段列表标识一样,则按照所述记录的字段添加的先后顺序对该字段进行排序并保存在数据模型中。
14.如权利要求9-13任一项所述的网管数据同步装置,其特征在于,所述数据模型包括源头数据模型和目标数据模型,所述选择模块包括:
第一选择子模块,用于将源头数据模型中的记录确定为待同步记录;
第二选择子模块,用于将源头数据模型中的记录与目标数据模型中的记录进行比较,得到增量比较记录,将所述增量比较记录确定为待同步记录,所述增量比较记录还包括操作标志信息,所述操作标志信息包括删除标志、先删后增标志、插入标志和更新标志中的任意一种。
15.如权利要求9-13任一项所述的网管数据同步装置,其特征在于,所述还原模块包括:
第三判断子模块,用于判断所述待同步记录的字段格式;
还原子模块,用于根据所述字段格式将所述待同步记录还原成所述同步数据并下发。
16.如权利要求9-13任一项所述的网管数据同步装置,其特征在于,还包括处理模块,所述处理模块设置于所述选择模块之前,用于删除或修改指定表名或指定表名中指定字段列表标识的记录。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510790802.1A CN106708891A (zh) | 2015-11-17 | 2015-11-17 | 一种网管数据同步方法及装置 |
PCT/CN2016/097821 WO2017084410A1 (zh) | 2015-11-17 | 2016-09-01 | 一种网管数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510790802.1A CN106708891A (zh) | 2015-11-17 | 2015-11-17 | 一种网管数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106708891A true CN106708891A (zh) | 2017-05-24 |
Family
ID=58718041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510790802.1A Pending CN106708891A (zh) | 2015-11-17 | 2015-11-17 | 一种网管数据同步方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106708891A (zh) |
WO (1) | WO2017084410A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656970A (zh) * | 2017-08-31 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种数据同步方法、装置及服务器 |
CN108959381A (zh) * | 2018-05-29 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 数据的管理方法及装置和电子设备 |
CN110069561A (zh) * | 2019-04-29 | 2019-07-30 | 金瓜子科技发展(北京)有限公司 | 账务获取方法、系统、电子设备及计算机可读介质 |
CN111190898A (zh) * | 2019-11-25 | 2020-05-22 | 泰康保险集团股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
CN114398379A (zh) * | 2021-11-29 | 2022-04-26 | 平安科技(深圳)有限公司 | 一种数据更新方法、装置、设备及介质 |
CN115544006A (zh) * | 2022-09-23 | 2022-12-30 | 北京上里科技文化有限公司 | 一种通用数据库数据操作模型及其构建方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263050B (zh) * | 2019-05-06 | 2023-10-27 | 创新先进技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN110688302B (zh) * | 2019-08-27 | 2023-03-31 | 天津开心生活科技有限公司 | 一种字段库自动化测试方法及装置 |
CN111143450B (zh) * | 2019-12-13 | 2023-05-30 | 远光软件股份有限公司 | 导入数据的方法和装置 |
CN111241845B (zh) * | 2019-12-31 | 2024-01-16 | 上海犀语科技有限公司 | 一种基于语义匹配方法的财务科目自动识别方法及装置 |
CN111400407B (zh) * | 2020-04-10 | 2023-09-26 | 浙江大华技术股份有限公司 | 数据的同步方法及装置、存储介质及电子装置 |
CN111400408B (zh) * | 2020-04-13 | 2023-06-09 | 上海东普信息科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111611248B (zh) * | 2020-05-25 | 2023-07-25 | 浪潮软件科技有限公司 | 一种自动分析指标口径的方法、系统和装置 |
CN113507497A (zh) * | 2021-06-01 | 2021-10-15 | 常州皓鸣信息科技有限公司 | 一种多类型数据多节点异步下发与延迟集成的方法 |
CN113986909B (zh) * | 2021-12-24 | 2022-04-22 | 畅捷通信息技术股份有限公司 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
CN117421308B (zh) * | 2023-12-18 | 2024-04-02 | 国能(北京)商务网络有限公司 | 一种数据中台的数据重构方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067814A (zh) * | 2007-05-10 | 2007-11-07 | 浪潮集团山东通用软件有限公司 | 数据访问层Xml格式数据与关系数据间的映射转换方法 |
CN101697169A (zh) * | 2009-10-23 | 2010-04-21 | 中兴通讯股份有限公司 | 源数据库和目的数据库之间数据同步的方法、装置及系统 |
CN102202073A (zh) * | 2010-03-24 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种分布式系统及其数据同步方法 |
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN104778175A (zh) * | 2014-01-13 | 2015-07-15 | 世纪禾光科技发展(北京)有限公司 | 一种实现异构数据库数据同步的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873517B (zh) * | 2012-12-14 | 2017-07-14 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和系统 |
CN103761318B (zh) * | 2014-01-27 | 2017-08-18 | 中国工商银行股份有限公司 | 一种关系型异构数据库数据同步的方法及系统 |
-
2015
- 2015-11-17 CN CN201510790802.1A patent/CN106708891A/zh active Pending
-
2016
- 2016-09-01 WO PCT/CN2016/097821 patent/WO2017084410A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067814A (zh) * | 2007-05-10 | 2007-11-07 | 浪潮集团山东通用软件有限公司 | 数据访问层Xml格式数据与关系数据间的映射转换方法 |
CN101697169A (zh) * | 2009-10-23 | 2010-04-21 | 中兴通讯股份有限公司 | 源数据库和目的数据库之间数据同步的方法、装置及系统 |
CN102202073A (zh) * | 2010-03-24 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种分布式系统及其数据同步方法 |
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN104778175A (zh) * | 2014-01-13 | 2015-07-15 | 世纪禾光科技发展(北京)有限公司 | 一种实现异构数据库数据同步的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656970A (zh) * | 2017-08-31 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种数据同步方法、装置及服务器 |
CN108959381A (zh) * | 2018-05-29 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 数据的管理方法及装置和电子设备 |
CN108959381B (zh) * | 2018-05-29 | 2021-05-28 | 创新先进技术有限公司 | 数据的管理方法及装置和电子设备 |
CN110069561A (zh) * | 2019-04-29 | 2019-07-30 | 金瓜子科技发展(北京)有限公司 | 账务获取方法、系统、电子设备及计算机可读介质 |
CN111190898A (zh) * | 2019-11-25 | 2020-05-22 | 泰康保险集团股份有限公司 | 一种数据处理的方法及装置、电子设备、存储介质 |
CN114398379A (zh) * | 2021-11-29 | 2022-04-26 | 平安科技(深圳)有限公司 | 一种数据更新方法、装置、设备及介质 |
CN114398379B (zh) * | 2021-11-29 | 2024-03-01 | 平安科技(深圳)有限公司 | 一种数据更新方法、装置、设备及介质 |
CN115544006A (zh) * | 2022-09-23 | 2022-12-30 | 北京上里科技文化有限公司 | 一种通用数据库数据操作模型及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017084410A1 (zh) | 2017-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708891A (zh) | 一种网管数据同步方法及装置 | |
CN106997378B (zh) | 基于Redis的数据库数据聚合同步的方法 | |
CN102663076B (zh) | 文件数据处理方法 | |
US11481440B2 (en) | System and method for processing metadata to determine an object sequence | |
CN108399082B (zh) | 一种持续集成流水线的生成方法和系统 | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN106033436A (zh) | 一种数据库的合并方法 | |
CA2524033A1 (en) | Methods and systems for joining database tables using indexing data structures | |
CN105683940A (zh) | 处理混合流的数据流图 | |
CN110727687A (zh) | 一种物料清单转换方法及其系统 | |
CN107239468A (zh) | 任务节点管理方法及装置 | |
CN104252519A (zh) | 地形数据库增量更新方法 | |
CN114780138B (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
CN102857949A (zh) | 一种规划数据一致性保证的方法和装置 | |
CN112506939A (zh) | 一种基于Flink流式引擎的CEP规则更新方法 | |
CN109977128B (zh) | 基于时态维度的电网规划数据融合方法 | |
CN114416703A (zh) | 数据完整性自动监控方法、装置、设备及介质 | |
CN106250388A (zh) | 一种联动更新地理信息与地图制图数据的方法 | |
US20130086133A1 (en) | Method and apparatus for file revision tracking | |
CN106033452A (zh) | 一种数据更新方法及装置 | |
CN113934742B (zh) | 数据更新方法、节点信息存储方法、电子设备及介质 | |
Huang et al. | Ymir: A rapid data-centric development platform for vision applications | |
CN105354671A (zh) | 通用配置管理系统以及包含该系统的企业级信息系统 | |
CN111881323B (zh) | 基于排序字段与时间路由的表分离方法 | |
CN105302889A (zh) | 数据存储结构的转换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170524 |