CN108363545A - 一种数据配置方法及数据配置装置 - Google Patents

一种数据配置方法及数据配置装置 Download PDF

Info

Publication number
CN108363545A
CN108363545A CN201710061740.XA CN201710061740A CN108363545A CN 108363545 A CN108363545 A CN 108363545A CN 201710061740 A CN201710061740 A CN 201710061740A CN 108363545 A CN108363545 A CN 108363545A
Authority
CN
China
Prior art keywords
back end
data
change
node
administrative model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710061740.XA
Other languages
English (en)
Other versions
CN108363545B (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 CN201710061740.XA priority Critical patent/CN108363545B/zh
Priority to PCT/CN2017/109369 priority patent/WO2018137373A1/zh
Priority to EP17894069.8A priority patent/EP3564808B1/en
Publication of CN108363545A publication Critical patent/CN108363545A/zh
Priority to US16/522,166 priority patent/US11163553B2/en
Application granted granted Critical
Publication of CN108363545B publication Critical patent/CN108363545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种数据配置方法及数据配置装置,涉及网络技术领域,能够根据升级前后的数据管理模型的差异,自动地对在模型升级时发生变更的配置数据进行配置,无需人工根据升级后的模型重新配置所有的配置数据,减少了由于数据管理模型升级带来的维护成本。该方法包括:根据原始数据管理模型以及更新数据管理模型确定升级说明(用于指示更新数据管理模型相对于原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及每一个变更数据节点的更新操作);根据每一个变更数据节点的路径信息以及每一个变更数据节点的更新操作,配置每一个变更数据节点对应的数据。

Description

一种数据配置方法及数据配置装置
技术领域
本发明实施例涉及网络技术领域,尤其涉及一种数据配置方法及数据配置装置。
背景技术
随着网络技术的发展和网络规模的不断扩大,对网络设备的管理和维护变的越来越重要。网络配置协议(英文:the network configuration protocol,简称:NETCONF)作为一种安全、高效的网络配置管理技术解决了很多当前的网络设备配置问题。其中,NETCONF以yang模型这一数据管理模型为基础进行数据管理。
NETCONF架构中,网络设备的初始原始配置数据保存在网络设备的数据库中,网络设备在启动时可以自动在从数据库中拷贝原始配置数据,并利用原始配置数据配置该网络设备。但在yang模型升级之后,如果yang模型不能保证向后兼容,新的yang模型与原始初始配置数据不匹配,新的yang模型无法读取到原始配置数据,则无法配置网络设备。这种情况下,必须由维护人员或者客户重新配置配置数据才能完成网络设备的配置恢复,保证网络设备后续的正常运行。如此,大大增加了网络设备的维护成本。
发明内容
本发明实施例提供一种数据配置方法及数据配置装置,在数据管理模型升级时,能够根据升级前后的数据管理模型的差异,自动地对在模型升级时发生变更的数据节点重新配置数据,无需人工根据升级后的模型重新配置数据,能够在一定程度上避免由于数据管理模型升级带来的维护成本。
为达到上述目的,本发明实施例采用如下技术方案:
本发明实施例的第一方面,提供一种数据配置方法,包括:
在数据管理模型升级以后,根据原始数据管理模型以及更新数据管理模型确定升级说明,该升级说明用于指示更新数据管理模型相对于原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作。进而,针对每一个变更数据节点,可以该变更数据节点的路径信息以及该变更数据节点的更新操作,配置该变更数据节点对应的数据。
可见,在数据管理模型升级后,本申请提供的方法,能够根据升级前后的数据管理模型的差异,生成升级说明。该升级说明定义了在数据管理模型升级时发生变更的节点的路径信息以及变更数据节点的更新操作,进而可以参照升级说明自动地对变更的节点对应的数据进行重新配置,无需维护人员根据升级后的模型重新配置数据,减少了由于数据管理模型升级带来的维护成本,同时能够实现数据管理模型的平滑升级。
结合第一方面,在第一方面的第一种可能的实现方式中,根据原始数据管理模型以及更新数据管理模型确定升级说明具体包括:根据原始数据管理模型以及更新数据管理模型,获得差异说明;差异说明用于指示更新数据管理模型相对于原始数据管理模型删除的第一类数据节点以及第一类数据节点在原始数据管理模型中的路径信息,和/或,更新数据管理模型相对于原始数据管理模型增加的第二类数据节点以及第二类数据节点在更新数据管理模型中的路径信息。此时,上述变更数据节点包括第一类数据节点和/或第二类数据节点。进一步,还可以根据差异说明,生成升级说明,升级说明中,第一类数据节点的更新操作为删除,第二类数据节点的更新操作为增加。
在此,可以将数据管理模型升级时,数据节点的变更分为两大类:删除、增加。升级说明中定义了原始数据模型相对于更新数据模型删除的数据节点在原始数据管理模型中的路径信息,因此,可以根据升级说明的指示获取删除的数据节点对应的数据,并删除该数据。另外,升级说明中定义了原始数据模型相对于更新数据模型增加的数据节点在更新数据管理模型中的路径信息,因此,可以根据升级说明的指示将增加的数据节点对应的数据按照更新后的路径存储。如此,可以在数据管理模型升级时,实现对配置数据的自动更新。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该方法还包括:若第一数据节点与第二数据节点相同(这里的第一数据节点是第一类数据节点中的一个,第二数据节点是第二类数据节点中的一个),即该数据节点在原始数据管理模型中删除且在更新数据管理模型中增加,也就是将该数据节点对应的数据迁移至新路径下。因此,需要确定变更说明,该变更说明用于指示第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系;根据变更说明在升级说明中增加第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系。
如此,根据升级说明中第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系,就可以将第一数据节点对应的数据迁移至第二数据节点下,即在更新的数据管理模型下重新配置了该数据,实现了变更节点的数据配置。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:将升级说明中的第一数据节点与第二数据节点合并为第三数据节点,记录第三数据节点对应的更新操作为迁移,记录第三数据节点的路径信息为升级说明中的第三数据节点在原始数据管理模型中的路径信息以及第三数据节点在更新数据管理模型中的路径信息;变更数据节点还包括第三数据节点。
这里,可以对升级说明进行调整,将其中记录的变更数据节点分为三类:删除、增加、迁移。需要说明的是,这里的“增加”是指除迁移之外的增加,类似的,这里的“删除”是指除迁移之外的删除。
结合第一方面的第三种可能的实现方式,在第一方面的第四种方法还包括:若第三数据节点对应的数据需要修改,则在升级说明中记录第三数据节点为第四数据节点,并在升级说明中记录第四数据的数据修改说明;变更数据节点还包括第四数据节点。
也就是说,可以对升级说明进行进一步调整,将其中记录的变更数据节点分为三类:删除、增加、迁移、修改。同样,这里的“增加”是指除迁移之外的增加,这里的“删除”是指除迁移之外的删除。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,根据至少一个变更数据节点中每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作,配置每一个变更数据节点对应的数据具体包括:确定变更数据节点为第一类数据节点且不为第三数据节点,则根据变更数据节点在原始数据管理模型中的路径信息获取变更数据节点对应的数据,并删除变更数据节点对应的数据。
也就是说,遍历升级说明定义的变更数据节点,对于删除类的数据节点,直接将该数据节点对应的数据删除,另外,还可以将删除的数据存储在一个特定的数据库中,可供用户参考。
结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式,根据至少一个变更数据节点中每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作,配置每一个变更数据节点对应的数据具体包括:确定变更数据节点为第三数据节点且不为第四数据节点,则根据变更数据节点在原始数据管理模型中的路径信息获取变更数据节点对应的数据,并根据变更数据节点在更新数据管理模型中的路径信息存储数据节点对应的数据;和/或,
确定变更数据节点为第四数据节点,则根据变更数据节点在原始数据管理模型中的路径信息获取变更数据节点对应的数据,根据升级说明中第四数据节点对应的数据修改说明对变更数据节点对应的数据进行修改,并根据变更数据节点在更新数据管理模型中的路径信息存储修改后的数据;和/或,
确定变更数据节点为第二类数据节点且不为第三数据节点,则根据变更数据节点在更新数据管理模型中的路径信息存储变更数据节点对应的数据。
也就是说,遍历升级说明定义的变更数据节点,对于迁移类的数据节点,可以根据升级说明中指示的路径信息完成该数据节点对应的数据的迁移;对于修改类的数据节点,可以根据升级说明中指示的路径信息以及数据修改说明,完成该数据节点对应的数据的修改,并存储修改后的数据;对于增加类的数据节点,可以根据升级说明存储该数据节点对应的数据。
结合第一方面或第一方面的第一至第六种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,根据原始数据管理模型以及更新数据管理模型确定升级说明之前,方法还包括:确定原始数据管理模型的版本信息以及更新数据管理模型的版本信息;根据原始数据管理模型以及更新数据管理模型确定升级说明,包括:在确定原始数据管理模型的版本信息与更新数据管理模型的版本信息不同的情况下,根据原始数据管理模型以及更新数据管理模型确定升级说明。
也就是说,在确定数据管理模型的版本变更之后,可以确定数据管理模型已经升级,需要对在数据管理模型升级过程中发生变更的数据节点对应的数据进行重新配置。
本发明实施例的第二方面,提供一种数据配置装置,包括:确定单元,用于根据原始数据管理模型以及更新数据管理模型确定升级说明;升级说明用于指示更新数据管理模型相对于原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作;配置单元,用于根据至少一个变更数据节点中每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作,为每一个变更数据节点配置对应的数据。
结合第二方面,在第二方面的第一种可能的实现方式中,确定单元,具体用于:根据原始数据管理模型以及更新数据管理模型,获得差异说明;差异说明用于指示更新数据管理模型相对于原始数据管理模型删除的第一类数据节点以及第一类数据节点在原始数据管理模型中的路径信息,和/或,更新数据管理模型相对于原始数据管理模型增加的第二类数据节点以及第二类数据节点在更新数据管理模型中的路径信息;变更数据节点包括第一类数据节点和/或第二类数据节点;根据差异说明,生成升级说明;
其中,第一类数据节点的更新操作为删除,第二类数据节点的更新操作为增加。
结合第二方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,确定单元,还用于若第一数据节点与第二数据节点相同,则确定变更说明;变更说明用于指示第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系;第一数据节点是第一类数据节点中的一个,第二数据节点是第二类数据节点中的一个;确定单元还用于,根据变更说明在升级说明中增加第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系。
结合第二方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,确定单元还用于,将第一数据节点与第二数据节点合并为第三数据节点,记录第三数据节点对应的更新操作为迁移,记录第三数据节点的路径信息为升级说明中的第三数据节点在原始数据管理模型中的路径信息以及第三数据节点在更新数据管理模型中的路径信息;变更数据节点还包括第三数据节点。
结合第二方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,确定单元还用于,若第三数据节点对应的数据需要修改,则在升级说明中记录第三数据节点为第四数据节点,并在升级说明中记录第四数据节点的数据修改说明;变更数据节点还包括第四数据节点。
结合第二方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,确定单元还用于,确定变更数据节点为第一类数据节点且不为第三数据节点,根据变更数据节点在原始数据管理模型中的路径信息获取变更数据节点对应的数据,并删除变更数据节点对应的数据。
结合第二方面的第三种可能的实现方式,在第一方面的第六种可能的实现方式中,配置单元,具体用于:确定变更数据节点为第三数据节点且不为第四数据节点,则根据第三数据节点在原始数据管理模型中的路径信息获取第三数据节点对应的数据,并根据第三数据节点在更新数据管理模型中的路径信息存储第三数据节点对应的数据;和/或,确定变更数据节点为第四数据节点,则根据第四数据节点在原始数据管理模型中的路径信息获取第四数据节点对应的数据,根据升级说明中第四数据节点对应的数据修改说明修改第四数据节点对应的数据,并根据第四数据节点在更新数据管理模型中的路径信息存储修改后的数据;和/或,确定变更数据节点为第二类数据节点且不为第三数据节点,则根据变更数据节点在更新数据管理模型中的路径信息存储变更数据节点对应的数据。
第三方面,提供一种设备,该设备包括存储器、处理器、系统总线和通信接口,存储器中存储代码和数据,处理器与存储器通过系统总线连接,处理器运行存储器中的代码,使得设备执行上述第一方面或者第一方面的第一方面的任一种可能的实现方式所提供的数据配置方法。
本发明实施例的第四方面,提供一种计算机存储介质,用于存储上述数据配置装置所用的计算机软件指令,该计算机软件指令包含用于执行上述数据配置方法所设计的程序。
附图说明
图1为本发明实施例提供的一种数据管理模型;
图2为本发明实施例提供的数据配置方法的原理图;
图3为本发明实施例提供的yang模型的组成示意图;
图4为本发明实施例提供的一种数据配置方法的流程图;
图5为本发明实施例提供的数据节点的变更示意图;
图6为本发明实施例提供的差异树的示意图;
图7为本发明实施例提供的差异树的另一示意图;
图8为本发明实施例提供的差异树的另一示意图;
图9为本发明实施例提供的目标树的示意图;
图10为本发明实施例提供的一种数据配置装置的流程图;
图11为本发明实施例提供的另一种数据配置装置的流程图;
图12为本发明实施例提供的又一种数据配置装置的流程图。
具体实施方式
目前,能够通过NETCONF架构实现对网络设备的安全、高效地配置管理。其中,NETCONF架构通常以yang模型为建模语言。NETCONF架构的原始配置数据保存在网络设备的startup数据库中,网络设备启动时自动将原始配置数据从startup数据库拷贝到running数据库,以配置网络设备。当前网络设备多样化,升级快,因此yang模型也在不断地被更新。在yang模型升级之后,如果新的yang模型不能保证向后兼容,那么无法使用该新模型获取原始配置数据,也就无法恢复网络设备的配置。这时,就需要维护人员或者客户根据新的yang模型重新配置配置数据,对维护人员的技能要求较高,维护工作量巨大,大大增加了网络设备的维护成本。其中,本申请中,将一次更新之前的旧的配置数据称为原始配置数据,原始配置数据可以是初始配置数据,也可以是经过至少一次更新的配置数据。
示例的,在虚拟机业务中,为了提供虚拟网络计算(英文:virtual networkcomputing,vnc)访问的安全性,增加了vnc密码(password),需要升级yang模型。原始yang模型中,虚拟机对应的端口号(英文:port-number)的存储路径如下:
leaf vnc-port{//节点名为“虚拟机端口号”的“叶节点”//
type int:port-number;//“虚拟机端口号”的数据类型//
}
升级后的yang模型中,增加了vnc密码,虚拟机对应的端口号以及vnc密码保存在文件夹vnc下,保存路径如下:
在yang模型进行升级时,维护人员可以通过先从数据库中删除vnc-port这个字段,然后再配置vnc,在vnc下存储port-number和password。这样,导致维护工作量巨大。
另外,在RFC6020协议中规定yang模型必须向后兼容。如果yang模型严格遵守向后兼容的规定,在升级过程中,需要在原始yang模型的数据结构基础上增加新的数据结构。如此,随着升级次数的增加,yang模型的可读性、逻辑性将会越来越差,最终失去yang模型本来的特性及优点,从而影响对网络设备的配置管理。
本发明实施例提供一种配置数据的更新方法,其基本原理是:当由于业务需求对数据管理模型进行升级后,确定原始的数据管理模型与更新后的数据管理模型之间的差异说明,进而可以根据该差异说明确定升级说明,然后可以根据升级说明对原始的配置数据自动进行更新,更新后的配置数据能够与更新的数据管理模型模板相匹配,无需人工重新配置配置数据,能够在一定程度上避免由于数据管理模型升级带来的维护成本。
首先,对本发明实施例涉及的术语做以下解释说明:
1.数据管理模型:是一种数据结构,在本发明实施例中用于实现对网络设备的管理配置,根据该数据管理模型存储网络设备的配置数据和状态数据,如:端口号等。本发明实施例中,数据管理模型可以是yang模型。
2.数据节点:是数据管理模型中最底端的节点,用于定义数据,如:树形数据结构中的叶子(leaf)节点。
所谓leaf节点对应一个数据,在模式(schema)树中没有子节点,是schema树中最底端的节点。
3.路径节点:是数据管理模型中除数据节点外的节点,可以用于指示数据节点在数据管理模型中的存储路径,如:树形数据结构中的容器(container)节点、列表(list)节点以及叶列表(leaflist)节点。
通常,通过模式(schema)树来定义数据树的结构,根据数据树可以明确yang模型的数据是如何存储的。
container节点、list节点、叶列表leaflist节点以及leaf节点是数据树中的节点。container节点、list节点、叶列表leaflist节点也可以是schema树中的节点。其中,container节点是schema树(或数据树)中的内部节点,container节点没有数据,在schema树中有子节点。list节点是schema树中的内部节点,list节点也没有数据,在schema树中有多个同类型的子节点,通过不同的键值标识list节点下不同的子节点。leaflist节点在schema树中有leaf类型的子节点,通过不同的标识符标识leaflist节点下不同的leaf节点。
另外,schema树中的节点还有choice、case、uses、anyxml以及augment。这些节点用于定义schema树。示例的,choice节点用于定义schema树中的“分支结构”,用于指示某个节点(如:container节点、list节点、leaflist节点)下有子节点。case节点用于声明choice节点的分支结构,如:choice节点下的某一个分支。anyxml节点是schema树的内部节点,用来定义一个未知的数据块。uses节点用来引入grouping节点,通过grouping名区分不同的grouping节点。augment节点用于在当前schema树中增加一个新的schema树。
以图1所示的数据管理模型为例,文件夹A下存储有文件夹B以及文件夹C,文件夹B下存储有文件D,文件夹C下存储有文件E。其中,文件夹A、B和C为路径节点,文件D以及文件E为数据节点。文件D的存储路径为A-B-D,文件E的存储路径为A-C-E。
如图2所示,是本发明实施例提供的数据配置方法的原理图。具体地,参考图2,在数据管理模型从schema(模式)A升级为schema B时,需要将数据A’(即data A’)转换成符合schema B的data B’。根据schema A与schema B的差异确定升级说明,根据升级说明转换原始的配置数据得到更新后的配置数据,实现配置数据在数据管理模型升级后的更新。另外,在更新配置数据时,将删除的配置数据保存在一个特定的文件中,如图2中的未恢复数据文件,以便供用户和维护人员参考。将更新后的配置数据存储在一个数据库(具体可以是不同于存储原始配置数据的数据库)中,直至更新配置数据的过程完成后,接收到用户下发的保存指令时,才覆盖原始配置数据。
进一步地,数据管理模型对应的信息可以包括版本信息、配置数据等。以yang模型为例,参考图3,yang模型包括以下信息:头部版本信息(header information)、联动说明(linkage statements)、类型定义(type definition)配置数据(configuration)、操作数据声明(operation data statement)以及功能通知声明(action&notificationstatement),其中,在yang模型升级后,只需要关注头部信息的版本信息以及配置数据。从数据管理模型角度来看,需要关注的节点有container、list、leaf list、leaf。
表1给出了数据管理模型进行升级时可能存在的几种变更情况,以及每种变更情况相应的处理方法。
表1
通过比较更新后的数据管理模型以及原始的数据管理模型,可以得出二者之间的差异说明。该差异说明包括原始数据管理模型相对于更新后的数据管理模型新增的数据节点、该新增的数据节点在更新后的数据模型中的路径、原始数据管理模型相对于更新后的数据管理模型删除的数据节点以及该删除的数据节点在原始数据管理模型中的路径。进一步地,可以用路径节点指示数据节点的路径。需要说明的是,表1中的节点迁移类变更,即改变了节点(如:container节点、list节点、leaflist节点、leaf节点)在原始数据管理模型中的路径,由于这些节点container节点、list节点、leaflist节点的子节点对应有数据,leaf节点对应有数据,因此需要将这些节点对应的数据迁移至新的路径下(即更新数据管理模型中的路径)。模板变更即schema树的结构发生变化,那么数据在原始数据管理模型中的路径就会有所变化,因此需要将container节点、list节点、leaflist节点、leaf节点对应的数据迁移至新的路径下。命名变更,实际上是对将数据从源节点迁移至新节点(即命名变更后的节点)下,实际也是进行数据迁移。节点迁移、模板变更、命名变更这三类变更在差异说明中表现为将数据节点在原始数据管理模型删除并且在更新后的数据管理模型中增加。
另外,表1中节点迁移、属性变更、命名变更是对数据树中的节点进行迁移,因此,这三类变更中不涉及choice、case、uses、anyxml、augment等节点的变更。
对于上述对数据节点进行迁移的变更,还需要提供变更说明,指示数据节点的源路径(数据节点在原始数据管理模型中的路径)以及目标路径(数据节点在更新后的数据管理模型中的路径)的对应关系,以结合差异说明以及变更说明了解数据节点在数据管理模型进行更新时如何变更,完成数据节点的迁移。
进而,可以在数据管理模型升级后,对原始的配置数据进行更新。具体地:删除动作对应的数据处理就是不需要原始数据。上节点迁移、模板变更、命名变更这三类变更的处理方法是一样的,都是需要参考差异说明以及变更说明将数据从原始的数据节点映射至新的数据节点。增加数据节点时,不存在原始数据,直接根据新的数据管理模型存储新增的数据即可。
图4为本发明实施例提供的一种数据配置方法的流程图,如图4所示,该方法可以包括:
401、确定数据管理模型的版本信息是否改变。
具体地,获取原始数据管理模型的版本信息与更新数据管理模型的版本信息,并确定原始数据管理模型的版本信息与更新数据管理模型的版本信息是否相同。如果确定原始数据管理模型的版本信息与更新数据管理模型的版本信息相同,则结束流程,也就是说数据管理模型的版本信息未改变,数据管理模型未进行升级,无需重新配置预存储的配置数据。若确定所述原始数据管理模型的版本信息与所述更新数据管理模型的版本信息不同,则证明数据管理模型的版本信息已经改变,或者数据管理模型已经被升级,需要根据数据管理模型的变更,对在数据管理模型升级时发生变更的数据节点重新配置数据,即进行步骤402。
402、使用原始数据管理模型校验原始数据管理模型的版本信息。
若检验不通过,则证明步骤402获取的原始数据管理模型的版本信息与原始数据管理模型不匹配,该版本信息有误,结束流程;若校验通过,则执行步骤403。
403、比较原始数据管理模型以及更新数据管理模型,获得差异说明。
具体实现中,获取原始数据管理模型的文本代码以及更新数据管理模型的文本代码;比较原始数据管理模型的文本代码以及更新数据管理模型的文本代码,获得差异说明。
其中,差异说明用于指示更新数据管理模型相对于原始数据管理模型删除的第一类数据节点、第一类数据节点在原始数据管理模型中的路径信息、更新数据管理模型相对于原始数据管理模型增加的第二类数据节点以及第二类数据节点在更新数据管理模型中的路径信息。需要说明的是,这里我们把数据管理模型的升级分为删除节点、增加节点。另外,可以通过路径节点来指示第一类数据节点以及第二类数据节点的路径信息。
404、根据差异说明确定升级说明,该升级说明用于指示更新数据管理模型相对于原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及至少一个变更数据节点中每一个变更数据节点的更新操作。
具体地,上述变更数据节点包括第一类数据节点和第二类数据节点。可以根据第一类数据节点、第一类数据节点的更新操作、第一类数据节点在原始数据管理模型中的路径信息、第二类数据节点、第二类数据节点的更新操作以及第二类数据节点在更新数据管理模型中的路径信息生成升级说明。
升级说明中,第一类数据节点的更新操作为删除,第二类数据节点的更新操作为增加。进一步地,第一类数据节点对应的路径节点对应的更新操作可以是修改或删除,第二类数据节点对应的路径节点对应的更新操作可以是修改或增加。其中,路径节点的更新操作为修改,指示该路径节点下的数据节点有修改,可以是删除或增加数据节点;路径节点的更新操作为删除,则指示删除该路径节点下的所有节点,包括路径节点和数据节点;路径节点的更新操作为增加,则需要在该路径节点下增加节点,可以包括数据节点和路径节点。
405、根据升级说明为每一个变更数据节点配置对应的数据。
具体实现中,如果升级说明中不包括某个数据节点,说明在数据模型升级时,该数据节点的路径未发生变化。如果升级说明中包含了某个数据节点,则表明该数据节点的路径在数据管理模型升级时发生了变化,即为变更数据节点,则根据升级说明中该数据节点对应的路径信息以及升级说明中该节点对应的更新操作对所述数据节点进行更新。
另外,升级过程中另建一个数据库,如果一个数据节点的路径没有改变,即升级说明中不包括这个数据节点,则将这个数据节点对应的数据直接拷贝到另建的这个数据库中。
其中,根据升级说明中该数据节点对应的路径信息以及升级说明中该数据节点对应的更新操作对该数据节点进行更新具体包括:如果变更数据节点为第一类数据节点,即升级说明中该数据节点的更新操作为删除,则根据该数据节点在原始数据管理模型中的路径信息获取该数据节点对应的数据,并删除该数据节点对应的数据。同时,可以将删除的该数据节点对应的数据存储在一个特定的文件中,如:未恢复数据文件。
另外,针对升级说明中更新操作为增加的第二类数据节点,根据该第二类数据节点在更新数据管理模型中的路径信息存储第二类数据节点对应的数据。
进一步地,对于需要进行迁移的数据节点,原始数据管理模型的文本代码与更新数据管理模型的文本代码更新数据管理模型的文本代码与原始数据管理模型的文本代码的比较结果(即上述差异说明)是在原始数据管理模型中删除一个节点(可以是数据节点或路径节点),在更新数据管理模型中增加一个节点,这要求原始数据管理模型中删除的节点对应的数据必须用在更新数据管理模型中增加的节点上,而根据上述比较结果得到的升级说明识别不了原始节点和新节点的对应关系。因此,需要定义变更说明。在数据管理模型升级后,通过变更说明明确原始节点和新节点的对应关系,进而也可以根据这个对应关系完成数据的迁移。在数据管理模型的升级过程中可能存在的数据迁移类变更包括:命名变更和模板变更。其中,命名变更即更改数据节点或路径节点的名称,这种情况下数据的存储路径没有改变。模板变更,即改变数据的存储路径,示例的,数据在原始数据管理模型中存储在文件A下,在更新数据管理模型中存储在文件B下,数据本身并没有改变。另外,在数据管理模型升级时,还可以修改数据节点对应的数据,在修改数据时,数据节点的路径可以不变,此时该数据节点不会体现在升级说明中,需要对该数据节点进行另外的处理,按照该数据节点的路径读取该数据节点对应的数据,对数据进行修改,并按照其路径存储修改后的数据。数据修改时,该数据节点的路径也可以改变,此时该数据节点会体现在升级说明中,属于数据迁移的情况。
通过上述变更说明,就可以实现变更前后对应节点的映射。具体实现中,若第一类数据节点中的第一数据节点与第二类数据节点中的第二数据节点相同,即在升级数据管理模型时,将一个数据节点在原始数据管理模型中删除,又在更新数据管理模型中增加了这个数据节点。则进一步确定变更说明;该变更说明可以指示该第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系。根据变更说明在升级说明中增加第一数据节点在原始数据管理模型中的路径信息与第二数据节点在更新数据管理模型中的路径信息之间的对应关系。如此,就可以根据升级说明完成数据的迁移,即按照数据节点在原始数据管理模型中的路径信息获取数据节点对应的数据,再按照数据节点在更新数据管理模型中的路径信息存储获取到的数据。在一种可能的实现方式中,可以进一步将第一类数据节点与第二类数据节点中相同的数据节点定义为第三数据节点,记录第三数据节点对应的更新操作为迁移,并在升级说明中记录第三数据节点的路径信息为该第三数据节点在原始数据管理模型中的路径以及该第三数据节点在更新数据管理模型中的路径。
进一步地,若第三数据节点对应的数据需要修改,则在升级说明中记录第三数据节点为第四数据节点,并在升级说明中记录第四数据节点的数据修改说明。以便按照第四数据节点在原始数据管理模型中的路径信息获取第四数据节点对应的数据,根据数据修改说明修改获取到的数据,再按照第四数据节点在更新数据管理模型中的路径信息存储获修改后的数据。
如图5所示,数据管理模型升级时数据节点的更新操作包括删除和增加。进一步地,如果在原始数据管理模型中删除了一个数据节点,并在更新数据管理模型中增加该数据节点,则表明需要迁移该数据节点对应的数据,那么数据节点的更新操作还可以包括迁移。更进一步,如果在数据迁移过程中还需要对数据进行修改,那么数据节点的更新操作还可以包括修改。
在具体实现中,可以用树形数据结构来表征升级说明,其中,数据节点可以是树形数据结构中最底端的叶子节点,数据节点的路径信息通过路径节点来描述。路径节点可以是树形结构中除叶子节点之外的节点。需要说明的是,该树形数据结构中,一旦叶子节点有修改(如:增加、删除、迁移、修改),指示其路径的路径节点对应的更新操作也为修改。
进一步地,可以对这个树形数据结构进行过滤。具体地,针对树形数据结构中更新操作为修改的路径节点,确定该树形数据结构中该路径节点的上级节点仅有该路径节点这一个子节点,则将该路径节点的上级节点与该路径节点合并。另外,针对该树形数据结构中更新操作为删除的路径节点,若该路径节点包括子节点,则删除该路径节点的所有下级节点,仅保留这个路径节点本身。
以下以虚拟机业务(相应的数据管理模型为yang模型)为例介绍本发明实施例提供的数据配置方法:
步骤一、虚拟机业务中,为了提供虚拟机访问的安全性,增加了vnc密码,所以升级需要变更yang模型。原始yang模型中,虚拟机对应的端口号(port-number)的存储路径如下:
leaf vnc-port{//节点名为“虚拟机端口号”的“叶节点”//
Type int:port-number;//“虚拟机端口号”的数据类型//
}
升级后的yang模型中,增加了vnc密码(password),虚拟机对应的端口号以及vnc密码保存在文件夹vnc下,保存路径如下:
上述差异说明中,A代表增加,D代表删除,M代表修改。由于数据节点发生变更,其对应的路径节点在差异说明中的更新操作为修改。
步骤二、解析差异说明,把差异说明转换成图6所示的差异树。
参考图6,差异树中指示了每个节点的节点名,以及每个节点相应的更新操作,如:增加、删除、迁移、修改。需要说明的是,这里的“增加”是指除迁移之外的增加,类似的,这里的“删除”是指除迁移之外的删除。其中,增加的节点(可以是数据节点,也可以是路径节点)在差异树中标注为A类节点,删除的节点(可以是数据节点,也可以是路径节点)在差异树中标注为D类节点,修改的节点(可以是数据节点,也可以是路径节点)在差异树中标注为M类节点。另外,下级节点发生更改时,上级节点的类型一定是M。
具体地,参考图6,节点1、2、3为数据节点,节点4、5、6路径节点,路径节点用于指示数据节点在yang模型中的路径。进一步,节点6为container类节点,节点名为“virtual-machine”,节点4为list类节点,节点名“virtual-machine”(节点6下类型相同的文件夹中的一个),节点1为leaf类节点,即数据节点,节点名为“vnc-port”。节点6->4->1为节点1(即“vnc-port”)在原始yang模型的路径。节点5为container类节点,节点名为“vnc”;节点2为leaf类节点,节点名为“vnc-port”,节点3为leaf类节点,节点名为“vnc-password”,节点6->4->5->2为节点2(即vnc-port)在更新yang模型中的路径,节点6->4->5->3为节点3(即vnc-password)在更新yang模型中的路径。
上述差异树中,vnc-port在原始yang模型中是删除的数据节点,在更新yang模型中是增加的数据节点,实际上就是将vnc-port从原始yang模型的路径下迁移至更新yang模型的路径下。对于迁移类的数据节点,需要确定变更说明,指示该数据节点在原始yang模型下的路径与该数据节点在更新yang模型下的路径之间的对应关系。
具体地,变更说明分为变更头部和变更体,其中变更头部描述yang模型的命名空间(英文:namespace),用于索引多个yang模型,变更体描述具体节点变更前的源路径与变更后的目的路径的映射关系。其中,源路径即节点在原始yang模型中的路径,目的路径即该节点在更新yang模型中的路径。
示例的,一个变更说明的变更头部可以是nm:″urn:ietf:params:xml:ns:yang:ietf-xx″,用于定义yang模型的命名空间,通过不同的命名空间区分不同的yang模型。一个变更说明中可以多有个命名空间,可以用不同的字符串定义。
1)节点迁移类的变更体示例如下:
源路径:/nm:path_xx/nm:nodename_xx
目的路径:/nm:path_xx/nm:nodename_xx
说明了说明节点迁移的源路径和目的路径成,源路径、目的路径包括从根节点到变更节点的全部路径。
2)模板组合类的变更体示例如下:
源路径:/nm:path_1/nm:nodename_1
/nm:path_2/nm:nodename_2
/nm:path_n/nm:nodename_n
目的路径:/nm:path_xx/nm:nodename_xx
模板组合,即多个变更节点组合到一个目的路径下,形成一个模板。这里给出了各个变更节点的源路径,和各个变更节点对应的同一个目的路径。
3)模板数据引用类的变更体示例如下:
当一个模板对应多组数据时,需要数据的引用关系。这个引用关系是可选的,如果用户不提供,按默认顺序进行引用。
引用:nm:xx_key被引用:nm:xx_key
在模板组合中,同一个变更节点被加入到多个模板中时,该变更节点对应的数据被多个模板引用,可以通过指定key来区别引用该数据的不同模板。
示例的,对于虚拟机增加vnc密码的例子,变更说明如下:
nm:“urn:huawei:params:xml:ns:yang:huawei-vm-management”命名空间
<source>nm:huawei-vm-management/virtual-machines
/virtual-machine/vnc-port变更节点“vnc-port”的源路径
<destination>nm:huawei-vm-management/virtual-machines
/virtual-machine/vnc/vnc-port变更节点“vnc-port”的目的路径
即,vnc-port是从virtual-machine迁移至vnc。
步骤三、根据变更说明可以在差异树中指示数据节点的迁移路径。
示例的,如图7所示,在图6所示的差异树中通过箭头指示数据节点的迁移方向,即将节点1对应的数据迁移到节点2下。
步骤四、过滤差异树,得到目标树。
具体实现中,过滤差异树,即对差异树中的节点进行合并,可以分为以下两种情况进行:
1)节点迁移:根据变更说明,可以得到节点迁移的源节点和目的节点,它们在差异树中被识别成了两个独立的动作,增加和删除。可以将在原始yang模型中删除的数据节点与在更新yang模型中相应增加的数据节点的合并为一个数据节点,记录这个数据节点对应的更新操作为迁移(T类型),记录该数据节点的路径信息为该数据节点在原始yang模型中的路径信息以及该数据节点在更新yang模型中的路径信息。如图8所示,将图7中的中的节点1、2合并为图8中的节点7,节点名为“vnc-port”,增加节点7对应的更新操作为迁移,记录节点7的路径信息为源路径信息以及目的路径信息。
2)模板更新:实际上是进行数据迁移,同时需要将差异树中迁移的数据节点的路径节点也进行更新。
差异树里面包含了每个相关变化的节点,但是container、list、choice等类型的节点(即本发明实施例所述的路径节点)并不存在对应的数据,他们的变更只是用于最终指示叶子节点的路径。其中,container节点包括一组子节点,且container节点不对应数据;list节点包括一组同类型的子节点,通过不同的key来索引不同的子节点;choice表示一个可以选择的路径,结合cease节点选择不同的分支。因此,可以把类型为M(即更新操作为修改)的路径节点过滤,只保留叶子节点。当某个路径节点的上级节点在没有其他子节点的情况下,这个路径节点可以与其上级节点合成一个节点,类型为path。示例的,如图9所示,是将图8中的6、4节点合成图9中的节点8,节点8的路径为6->4。
另外,针对删除和增加两种动作的处理,其中增加动作我们需要保留最末端的叶子节点;由于一旦删除了某个节点,该节点下的子节点就不用再处理,因此动作为删除的只保留删除中的最高父节点。示例的,图7中节点1对应的更新操作为删除且节点1是差异树最底端的节点,假设节点1下面还有子节点,进行处理时也只保留节点1。
过滤后的差异树形成目标树。这里的目标树是本发明所述的升级说明的一种实现方式。目标树中包含数据节点的更新操作,可以是增加、删除、迁移。并且目标树没有重复节点。
通过末端节点(即数据节点)以及path类型的节点(即路径节点),就可以描述出一个数据节点的整个映射路径(即迁移节点的路径)。示例的,根据图9在中节点7的更新操作以及节点7对应的path类型的节点8,可以实现图7中节点1对应的数据到节点2的映射。对于新增的节点3的数据,可以按照8->5->3的路径进行存储。
步骤五、根据startup数据库中的原始配置数据,遍历目标树,即可完成数据映射。
具体实现中,若目标树中包括数据节点,则根据目标树中数据节点对应的路径信息以及目标树中每个节点对应的更新操作对数据节点进行更新。
例如,数据节点为D类节点,则根据数据节点在原始数据管理模型中的源路径获取数据节点对应的数据,并删除数据节点对应的数据。
数据节点为T类数据节点,则根据数据节点源路径获取数据节点对应的数据,并根据数据节点的目的路径存储数据节点对应的数据。
数据节点为M类数据节点,则根据数据节点的源路径获取数据节点对应的数据,根据数据节点对应的数据修改说明修改数据节点对应的数据,并根据数据节点的目的路径存储修改后的数据。
针对目标树中的A类数据节点,根据该数据节点在yang模板中的路径信息存储该数据节点对应的数据。
完成映射的数据保存在candidate数据库中,待用户确认业务升级正常后,用户输入保存配置的命令,升级后的数据才会被拷贝到startup数据库,以覆盖原始数据,以确保在之前的流程中都可以回到升级前的数据。同时,升级过程中删除的数据,及映射失败的数据会输出到申请失败的数据文件中,以供用户参考。
本发明实施例提供的数据配置方法,在数据管理模型升级之后,能够根据升级前后的数据管理模型的差异,生成升级说明。该升级说明定义了在数据管理模型升级时变更数据节点的路径信息以及变更数据节点的更新操作,进而可以参照升级说明自动地对重新配置变更数据节点对应的数据,无需维护人员根据升级后的模型重新配置数据,减少了由于数据管理模型升级带来的维护成本,同时能够实现数据管理模型的平滑升级。
本发明实施例提供一种数据配置装置,如图10所示,该装置100包括:确定单元101、配置单元102。
其中,确定单元101,用于支持数据配置装置执行图4所示的数据配置方法中的步骤401。配置单元102,用于支持数据配置装置执行图4所示的数据配置方法中的步骤401~404。配置单元102用于支持数据配置装置执行图4所示的数据配置方法中的步骤405。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本发明实施例提供的数据配置装置,用于执行上述数据配置方法,因此可以达到与上述数据配置方法相同的效果。
在采用集成的单元的情况下,图11示出了上述实施例中所涉及的数据配置装置的另一种可能的组成示意图。如图11所示,该数据配置装置110包括:处理模块112和通信模块113。
处理模块111用于对数据配置装置的动作进行控制管理。通信模块113用于支持数据配置装置与其他网络实体的通信。数据配置装置还可以包括存储模块111,用于存储数据配置装置的程序代码和数据。
其中,处理模块112可以是处理器或控制器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块113可以是收发器、收发电路或通信接口等。存储模块111可以是存储器。
当处理模块112为处理器,通信模块113为收发器,存储模块111为存储器时,本发明实施例所涉及的数据配置装置可以为图12所示的数据配置装置。
参照图12所示,该数据配置装置120包括:处理器122、收发器123、存储器121以及总线124。其中,通信接口123、处理器122以及存储器121通过总线124相互连接;总线124可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种数据配置方法,其特征在于,包括:
根据原始数据管理模型以及更新数据管理模型确定升级说明;所述升级说明用于指示所述更新数据管理模型相对于所述原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作;
根据所述至少一个变更数据节点中每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作,为每一个变更数据节点配置对应的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据原始数据管理模型以及更新数据管理模型确定升级说明具体包括:
根据所述原始数据管理模型以及所述更新数据管理模型,获得差异说明;所述差异说明用于指示所述更新数据管理模型相对于所述原始数据管理模型删除的第一类数据节点以及所述第一类数据节点在所述原始数据管理模型中的路径信息,和/或,所述更新数据管理模型相对于所述原始数据管理模型增加的第二类数据节点以及所述第二类数据节点在所述更新数据管理模型中的路径信息;所述变更数据节点包括所述第一类数据节点和/或所述第二类数据节点;
根据所述差异说明,生成所述升级说明;
其中,所述第一类数据节点的更新操作为删除,所述第二类数据节点的更新操作为增加。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若第一数据节点与第二数据节点相同,则确定变更说明;所述变更说明用于指示所述第一数据节点在所述原始数据管理模型中的路径信息与所述第二数据节点在所述更新数据管理模型中的路径信息之间的对应关系;所述第一数据节点是所述第一类数据节点中的一个,所述第二数据节点是所述第二类数据节点中的一个;
根据所述变更说明在所述升级说明中增加所述第一数据节点在所述原始数据管理模型中的路径信息与所述第二数据节点在所述更新数据管理模型中的路径信息之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第一数据节点与所述第二数据节点合并为第三数据节点,记录所述第三数据节点对应的更新操作为迁移,记录所述第三数据节点的路径信息为所述升级说明中的所述第三数据节点在所述原始数据管理模型中的路径信息以及所述第三数据节点在所述更新数据管理模型中的路径信息;所述变更数据节点还包括所述第三数据节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第三数据节点对应的数据需要修改,则在所述升级说明中记录所述第三数据节点为第四数据节点,并在所述升级说明中记录所述第四数据节点的数据修改说明;所述变更数据节点还包括所述第四数据节点。
6.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个变更数据节点中每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作,为每一个变更数据节点配置对应的数据具体包括:
确定所述变更数据节点为所述第一类数据节点且不为所述第三数据节点,根据所述变更数据节点在所述原始数据管理模型中的路径信息获取所述变更数据节点对应的数据,并删除所述变更数据节点对应的数据。
7.根据权利要求5所述的方法,其特征在于,所述根据所述至少一个变更数据节点中每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作,为每一个变更数据节点配置对应的数据具体包括:
确定所述变更数据节点为所述第三数据节点且不为所述第四数据节点,则根据所述第三数据节点在所述原始数据管理模型中的路径信息获取所述第三数据节点对应的数据,并根据所述第三数据节点在所述更新数据管理模型中的路径信息存储所述第三数据节点对应的数据;和/或,
确定所述变更数据节点为所述第四数据节点,则根据所述第四数据节点在所述原始数据管理模型中的路径信息获取所述第四数据节点对应的数据,根据所述升级说明中所述第四数据节点对应的数据修改说明修改所述第四数据节点对应的数据,并根据所述第四数据节点在所述更新数据管理模型中的路径信息存储修改后的数据;和/或,
确定所述变更数据节点为所述第二类数据节点且不为所述第三数据节点,则根据所述变更数据节点在所述更新数据管理模型中的路径信息存储所述变更数据节点对应的数据。
8.一种数据配置装置,其特征在于,包括:
确定单元,用于根据原始数据管理模型以及更新数据管理模型确定升级说明;所述升级说明用于指示所述更新数据管理模型相对于所述原始数据管理模型的至少一个变更数据节点中的每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作;
配置单元,用于根据所述至少一个变更数据节点中每一个变更数据节点的路径信息以及所述至少一个变更数据节点中每一个变更数据节点的更新操作,为每一个变更数据节点配置对应的数据。
9.根据权利要求8所述的装置,其特征在于,所述确定单元,具体用于:
根据所述原始数据管理模型以及所述更新数据管理模型,获得差异说明;所述差异说明用于指示所述更新数据管理模型相对于所述原始数据管理模型删除的第一类数据节点以及所述第一类数据节点在所述原始数据管理模型中的路径信息,和/或,所述更新数据管理模型相对于所述原始数据管理模型增加的第二类数据节点以及所述第二类数据节点在所述更新数据管理模型中的路径信息;所述变更数据节点包括所述第一类数据节点和/或所述第二类数据节点;
根据所述差异说明,生成所述升级说明;
其中,所述第一类数据节点的更新操作为删除,所述第二类数据节点的更新操作为增加。
10.根据权利要求9所述的装置,其特征在于,
所述确定单元,还用于若第一数据节点与第二数据节点相同,则确定变更说明;所述变更说明用于指示所述第一数据节点在所述原始数据管理模型中的路径信息与所述第二数据节点在所述更新数据管理模型中的路径信息之间的对应关系;所述第一数据节点是所述第一类数据节点中的一个,所述第二数据节点是所述第二类数据节点中的一个;
所述确定单元还用于,根据所述变更说明在所述升级说明中增加所述第一数据节点在所述原始数据管理模型中的路径信息与所述第二数据节点在所述更新数据管理模型中的路径信息之间的对应关系。
11.根据权利要求10所述的装置,其特征在于,
所述确定单元还用于,将所述第一数据节点与所述第二数据节点合并为第三数据节点,记录所述第三数据节点对应的更新操作为迁移,记录所述第三数据节点的路径信息为所述升级说明中的所述第三数据节点在所述原始数据管理模型中的路径信息以及所述第三数据节点在所述更新数据管理模型中的路径信息;所述变更数据节点还包括所述第三数据节点。
12.根据权利要求11所述的装置,其特征在于,
所述确定单元还用于,若所述第三数据节点对应的数据需要修改,则在所述升级说明中记录所述第三数据节点为第四数据节点,并在所述升级说明中记录所述第四数据节点的数据修改说明;所述变更数据节点还包括所述第四数据节点。
13.根据权利要求11所述的装置,其特征在于,所述配置单元,具体用于:
确定所述变更数据节点为所述第一类数据节点且不为所述第三数据节点,根据所述变更数据节点在所述原始数据管理模型中的路径信息获取所述变更数据节点对应的数据,并删除所述变更数据节点对应的数据。
14.根据权利要求12所述的装置,其特征在于,所述配置单元,具体用于:
确定所述变更数据节点为所述第三数据节点且不为所述第四数据节点,则根据所述第三数据节点在所述原始数据管理模型中的路径信息获取所述第三数据节点对应的数据,并根据所述第三数据节点在所述更新数据管理模型中的路径信息存储所述第三数据节点对应的数据;和/或,
确定所述变更数据节点为所述第四数据节点,则根据所述第四数据节点在所述原始数据管理模型中的路径信息获取所述第四数据节点对应的数据,根据所述升级说明中所述第四数据节点对应的数据修改说明修改所述第四数据节点对应的数据,并根据所述第四数据节点在所述更新数据管理模型中的路径信息存储修改后的数据;和/或,
确定所述变更数据节点为所述第二类数据节点且不为所述第三数据节点,则根据所述变更数据节点在所述更新数据管理模型中的路径信息存储所述变更数据节点对应的数据。
15.一种设备,其特征在于,所述设备包括存储器、处理器、系统总线和通信接口,所述存储器中存储代码和数据,所述处理器与所述存储器通过所述系统总线连接,所述处理器运行所述存储器中的代码,使得所述设备执行上述权利要求1-7任一项所述的数据配置方法。
CN201710061740.XA 2017-01-26 2017-01-26 一种数据配置方法及数据配置装置 Active CN108363545B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710061740.XA CN108363545B (zh) 2017-01-26 2017-01-26 一种数据配置方法及数据配置装置
PCT/CN2017/109369 WO2018137373A1 (zh) 2017-01-26 2017-11-03 一种数据配置方法及数据配置装置
EP17894069.8A EP3564808B1 (en) 2017-01-26 2017-11-03 Data configuration method and data configuration apparatus
US16/522,166 US11163553B2 (en) 2017-01-26 2019-07-25 Data configuration method and data configuration apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710061740.XA CN108363545B (zh) 2017-01-26 2017-01-26 一种数据配置方法及数据配置装置

Publications (2)

Publication Number Publication Date
CN108363545A true CN108363545A (zh) 2018-08-03
CN108363545B CN108363545B (zh) 2021-12-03

Family

ID=62979019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710061740.XA Active CN108363545B (zh) 2017-01-26 2017-01-26 一种数据配置方法及数据配置装置

Country Status (4)

Country Link
US (1) US11163553B2 (zh)
EP (1) EP3564808B1 (zh)
CN (1) CN108363545B (zh)
WO (1) WO2018137373A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656585A (zh) * 2018-09-27 2019-04-19 深圳壹账通智能科技有限公司 流程实例的升级方法、装置、设备及存储介质
CN109947995A (zh) * 2019-02-14 2019-06-28 烽火通信科技股份有限公司 一种高级模型与低级模型的自动映射方法及系统
CN110287220A (zh) * 2019-07-24 2019-09-27 新华三大数据技术有限公司 一种生成配置逆向文本化的方法及装置
CN110784353A (zh) * 2019-10-30 2020-02-11 武汉虹信通信技术有限责任公司 网元设备配置数据迁移方法及装置
CN111652747A (zh) * 2020-05-29 2020-09-11 泰康保险集团股份有限公司 电子保单处理方法、装置、设备及计算机可读存储介质
CN112187525A (zh) * 2019-10-31 2021-01-05 华为技术有限公司 设备管理方法、装置、系统、设备及存储介质
CN113704917A (zh) * 2021-08-27 2021-11-26 清华大学 基于本体的机械产品数字孪生模型演化管理方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625598B (zh) * 2020-05-15 2023-08-25 南京东垚建筑科技研究院有限公司 一种工程协作区块链数据结构及应用方法
CN111666091B (zh) * 2020-06-12 2023-08-29 成都极米科技股份有限公司 系统更新方法、装置、电子设备和计算机可读存储介质
CN115529268B (zh) * 2021-06-24 2024-01-19 瞻博网络公司 处理配置网络设备的指令
CN115701042A (zh) * 2021-07-29 2023-02-07 华为技术有限公司 配置更新的方法、装置、系统及计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005031498A2 (en) * 2003-10-01 2005-04-07 Vibrasoft Pte. Ltd. A method of updating a data source from transformed data
CN101006424A (zh) * 2004-08-19 2007-07-25 艾利森电话股份有限公司 通用升级体系结构
US20090106459A1 (en) * 2007-10-17 2009-04-23 Dell Products, Lp Configuration identification tool and methods
CN102012899A (zh) * 2009-09-07 2011-04-13 中国移动通信集团公司 一种数据更新的方法、系统及设备
CN102364894A (zh) * 2011-10-21 2012-02-29 中兴通讯股份有限公司 一种配置数据文件的下发方法及网管设备
CN102929745A (zh) * 2012-09-26 2013-02-13 东软集团股份有限公司 一种虚拟设备状态数据的更新方法及装置
CN103430178A (zh) * 2013-01-30 2013-12-04 华为技术有限公司 数据更新方法及装置和产品
CN104137065A (zh) * 2011-11-28 2014-11-05 韦斯技术有限公司 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动
CN104317556A (zh) * 2014-10-22 2015-01-28 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407206C (zh) 2006-02-20 2008-07-30 华为技术有限公司 不同版本的配置数据间进行转换的方法和系统
US9678803B2 (en) * 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US20150074561A1 (en) * 2010-05-07 2015-03-12 Google Inc. Customizable themes for browsers and web content
US9887878B2 (en) * 2014-06-06 2018-02-06 Microsoft Technology Licensing, Llc Dynamic scheduling of network updates
US9712447B2 (en) * 2014-12-29 2017-07-18 Juniper Networks, Inc. Point-to-multipoint path computation for wide area network optimization
US9686130B2 (en) * 2015-06-29 2017-06-20 Landis+Gyr Innovations, Inc. Configuration management for nodes in a network
CN106059922B (zh) * 2016-05-26 2019-08-06 新华三技术有限公司 路由注入方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005031498A2 (en) * 2003-10-01 2005-04-07 Vibrasoft Pte. Ltd. A method of updating a data source from transformed data
CN101006424A (zh) * 2004-08-19 2007-07-25 艾利森电话股份有限公司 通用升级体系结构
US20090106459A1 (en) * 2007-10-17 2009-04-23 Dell Products, Lp Configuration identification tool and methods
CN102012899A (zh) * 2009-09-07 2011-04-13 中国移动通信集团公司 一种数据更新的方法、系统及设备
CN102364894A (zh) * 2011-10-21 2012-02-29 中兴通讯股份有限公司 一种配置数据文件的下发方法及网管设备
CN102364894B (zh) * 2011-10-21 2017-04-12 中兴通讯股份有限公司 一种配置数据文件的下发方法及网管设备
CN104137065A (zh) * 2011-11-28 2014-11-05 韦斯技术有限公司 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动
CN102929745A (zh) * 2012-09-26 2013-02-13 东软集团股份有限公司 一种虚拟设备状态数据的更新方法及装置
CN103430178A (zh) * 2013-01-30 2013-12-04 华为技术有限公司 数据更新方法及装置和产品
CN104317556A (zh) * 2014-10-22 2015-01-28 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656585A (zh) * 2018-09-27 2019-04-19 深圳壹账通智能科技有限公司 流程实例的升级方法、装置、设备及存储介质
CN109947995A (zh) * 2019-02-14 2019-06-28 烽火通信科技股份有限公司 一种高级模型与低级模型的自动映射方法及系统
CN109947995B (zh) * 2019-02-14 2020-12-15 烽火通信科技股份有限公司 一种高级模型与低级模型的自动映射方法及系统
CN110287220B (zh) * 2019-07-24 2021-08-24 新华三大数据技术有限公司 一种生成配置逆向文本化的方法及装置
CN110287220A (zh) * 2019-07-24 2019-09-27 新华三大数据技术有限公司 一种生成配置逆向文本化的方法及装置
CN110784353A (zh) * 2019-10-30 2020-02-11 武汉虹信通信技术有限责任公司 网元设备配置数据迁移方法及装置
CN110784353B (zh) * 2019-10-30 2022-06-28 中信科移动通信技术股份有限公司 网元设备配置数据迁移方法及装置
CN112187525A (zh) * 2019-10-31 2021-01-05 华为技术有限公司 设备管理方法、装置、系统、设备及存储介质
CN112187525B (zh) * 2019-10-31 2021-08-20 华为技术有限公司 设备管理方法、装置、系统、设备及存储介质
US12095637B2 (en) 2019-10-31 2024-09-17 Huawei Technologies Co., Ltd. Device management method, apparatus, system, and device, and storage medium
CN111652747A (zh) * 2020-05-29 2020-09-11 泰康保险集团股份有限公司 电子保单处理方法、装置、设备及计算机可读存储介质
CN111652747B (zh) * 2020-05-29 2023-08-29 泰康保险集团股份有限公司 电子保单处理方法、装置、设备及计算机可读存储介质
CN113704917A (zh) * 2021-08-27 2021-11-26 清华大学 基于本体的机械产品数字孪生模型演化管理方法及装置
CN113704917B (zh) * 2021-08-27 2024-07-09 清华大学 基于本体的机械产品数字孪生模型演化管理方法及装置

Also Published As

Publication number Publication date
EP3564808B1 (en) 2022-09-28
CN108363545B (zh) 2021-12-03
WO2018137373A1 (zh) 2018-08-02
EP3564808A4 (en) 2019-11-06
US20190347088A1 (en) 2019-11-14
EP3564808A1 (en) 2019-11-06
US11163553B2 (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN108363545A (zh) 一种数据配置方法及数据配置装置
US11418409B2 (en) System-on-chip (SoC) assembly, configurable IP generation and IP integration utilizing distributed computer systems
US9760589B2 (en) Mechanism for deprecating object oriented data
US20070106629A1 (en) System and method for accessing data
US7496890B2 (en) Generation of configuration instructions using an abstraction technique
JP4746091B2 (ja) ネットワーク設計処理装置,ネットワーク設計処理方法およびネットワーク設計処理用プログラム
CN104020997B (zh) 可扩展图形化规则应用系统
US7693699B2 (en) Incremental update of virtual devices in a modeled network
CN103593456B (zh) 表单自定义设计方法及装置
JP2015187873A (ja) グラフィック・プログラミング言語オブジェクトを編集及び報告する方法及び編集・報告システム
CN111061817A (zh) 自适应业务构建系统、方法及计算机可读介质
CN104573915A (zh) 高速列车产品结构树构建方法和装置
CN107273117A (zh) 一种编程友好型的敏捷代码自动生成系统
CN109670686A (zh) 构建业务流程模板的方法、设备及业务流程管理系统
CN106558105B (zh) 产品可配置bom在虚拟现实系统的使用方法
CN102801565B (zh) 一种在网络管理系统中对业务配置集中管理的方法
CN107294771A (zh) 一种适用于大数据集群的高效部署系统以及使用方法
CN114840223A (zh) 资源处理方法及装置
CN109491571A (zh) 一种配置项关联及其关联图展示方法和系统
CN106951593B (zh) 一种生成保护测控装置的配置文件的方法和装置
CN109981792A (zh) 一种基于云平台的业务处理方法和装置
CN109063223A (zh) Bim模型的轻量化方法和装置以及bim模型的处理方法和系统
CN102289448B (zh) 访问数据访问层的实体
JP2014038621A (ja) 製品の製品構成の変更を管理するためのモデル
CN115630436A (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
GR01 Patent grant
GR01 Patent grant