CN115544046A - 一种对象数据的分层更新方法、装置、设备和存储介质 - Google Patents
一种对象数据的分层更新方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115544046A CN115544046A CN202211489155.7A CN202211489155A CN115544046A CN 115544046 A CN115544046 A CN 115544046A CN 202211489155 A CN202211489155 A CN 202211489155A CN 115544046 A CN115544046 A CN 115544046A
- Authority
- CN
- China
- Prior art keywords
- derived
- attribute
- child
- parent
- updating
- 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
Links
Images
Classifications
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,具体而言,涉及一种对象数据的分层更新方法、装置、设备和存储介质,包括如下步骤:业务对象建模中对顶层模板对象增加第一属性字段;根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识;当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。本发明可高效、准确地实现派生对象数据信息的向下传递更新,同时通过在对象中增加确定派生子对象的属性是否随其父对象进行更新的属性字段及标识,可实现数据差异化继承更新,确保完成对象具有目的性的进行数据派生更新。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种对象数据的分层更新方法、装置、设备和存储介质。
背景技术
对于以往基于面向对象技术开发的组态软件中,针对业务对象的建模并未完全体现“派生-继承”方面的设计思想,尤其是面对模板到对象的数据更新过程,往往采用简单直接的覆盖式更新方式,这样在面对大数量级的对象更新时往往效率低下、派生过程耗时巨大,且子对象的更新原则难以确定;此外,父子对象之间的差异性区分方式单一,尤其在多层级派生关系中,顶层父对象的数据改变信息在向下传递时,无法实现派生属性的按需更新同步,满足父子对象间的差异需求,给处理模板与对象之间的差异性带来困难。
发明内容
本发明的目的在于提供一种对象数据的分层更新方法、装置、设备和存储介质,通过在对象中增加确定派生子对象的属性是否随其父对象进行更新的属性字段及标识,以此解决派生对象更新过程中的效率问题,以及多层级派生关系中,多级对象数据的差异化数据更新问题。
本发明的实施例通过以下技术方案实现:一种对象数据的分层更新方法,该方法包括如下步骤:
A、业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;
B、根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;
C、当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
根据一种优选实施方式,步骤C中,当顶层模板对象数据改变时,依据父对象中的第二属性字段、派生子对象的属性的第二同步标识以及派生子对象的类型,以完成父子对象的更新。
根据一种优选实施方式,所述派生子对象的类型包括实例子对象和模板子对象。
根据一种优选实施方式,步骤C包括以下步骤:
当顶层模板对象中第一属性字段IsDataChanged为true,遍历顶层模板所有的派生子对象;
获取父对象第二属性字段中对应派生子对象属性的第一同步标识IsLocked,若IsLocked为true,则置派生子对象属性的第二同步标识IsParentLocked为true,若IsLocked为false,则置派生子对象属性的IsParentLocked为false;
遍历过程中,若派生子对象属性的IsParentLocked为true,则在该属性与父对象对应属性不同时基于父对象的属性对该属性进行更新,若派生子对象属性的IsParentLocked为false,则不更新该属性。
根据一种优选实施方式,步骤C还包括以下步骤:
若当前派生子对象为实例子对象,则在该派生子对象更新后跳转至下一平级派生子对象进行更新;
若当前派生子对象为模板子对象,则在该模板子对象的第一属性字段IsDataChanged为true时,将当前派生子对象作为顶层模板对象,对其派生的子对象进行更新,直至更新至实例子对象;
完成所有派生子对象的更新后,将顶层模板对象中第一属性字段IsDataChanged置为false。
本发明还提供一种对象数据的分层更新装置,应用到如上述所述的对象数据的分层更新方法,包括:
第一处理模块,用于在业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;
第二处理模块,用于根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;
更新模块,用于当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
本发明还提供一种电子设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述所述的对象数据的分层更新方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的对象数据的分层更新方法。
本发明实施例的技术方案至少具有如下优点和有益效果:本发明所提供的一种对象数据的分层更新方法、装置、设备和存储介质,可高效、准确地实现派生对象数据信息的向下传递更新,同时通过在对象中增加确定派生子对象的属性是否随其父对象进行更新的属性字段及标识,可实现数据差异化继承更新,确保完成对象具有目的性的进行数据派生更新。
附图说明
图1为本发明实施例1提供的对象数据的分层更新方法的流程示意图;
图2为本发明实施例1提供的对象数据的分层更新方法的原理图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
实施例1
图1是本发明实施例提供的一种对象数据的分层更新方法的流程示意图,本实施例可适用于对工业监控系统中的业务对象进行对象数据更新的情况,尤其适用于对多层级派生继承对象数据进行更新的情况。本实施例中的业务对象由上至下分别为顶层模板对象、实例子对象和/或模板子对象。
本实施例提供的方法可以由工业监控系统中的更新装置来执行,该装置可以由硬件和/或软件构成,并一般集成在电子设备中。该电子设备可以是工业监控系统中的一个节点设备,也可以是独立于工业监控系统之外的设备,与工业监控系统通信连接。
结合图1本发明实施例提供的对象数据的分层更新方法具体包括如下操作:
A、业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变。随着工业监控系统中多种业务的开展,在业务变化过程中难免对业务对象的数据结构进行调整,例如增加字段、更改字段和删除字段。遵循“派生-继承-更新”的原则,派生子对象的数据应与模板对象即父对象保持一致,才能保证业务的顺利开展,因此需要确定顶层模板对象数据是否改变。
B、根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新。其中,派生子对象的属性随其父对象进行更新指在当前数据结构的基础上,需要执行的操作,包括删字段、增加字段和更改字段中的至少一种。具体到本实施例中,对父对象增加的第二属性字段为IsLocked的第一同步标识字段,IsLocked字段用于指示派生子对象中需要与模板对象(父对象)的更新进行同步的属性或无需同步的属性,若需要进行同步,则IsLocked为true,若无需进行同步,则IsLocked为false;与第二属性字段对应的第二同步标识为IsParentLocked,IsParentLocked用于指示派生子对象中需要与模板对象同步进行更新的属性,其中,若需要进行同步,则IsParentLocked为true,若无需进行同步,则IsParentLocked为false。
通过上述设置,在当顶层模板对象数据改变的情况下,执行步骤C即可完成父子对象的更新。
C、当顶层模板对象数据改变时,依据父对象中的第二属性字段、派生子对象的属性的第二同步标识以及派生子对象的类型,以完成父子对象的更新。
具体到本发明实施例中,参考图2,数据更新步骤C包括以下步骤:
当顶层模板对象中第一属性字段IsDataChanged为true,即指示顶层模板对象数据发生了变化,派生子对象需与其变化保持一致;因此本发明实施例遍历顶层模板所有的派生子对象,对其执行更新操作。
首先,获取父对象(此处即顶层模板对象)第二属性字段中对应派生子对象属性的IsLocked第一同步标识标记,若IsLocked标记为true,则置派生子对象属性的IsParentLocked为true,若IsLocked标记为false,则置派生子对象属性的IsParentLocked为false。
遍历过程中,若派生子对象属性的IsParentLocked为true,则在该属性与父对象对应属性不同时基于父对象的属性对该属性进行更新,若派生子对象属性的IsParentLocked为false,则不更新该属性。通过上述更新方式进行对象数据的更新,以第二同步标识维护父子对象部分特异的属性,可实现数据差异化继承更新,确保完成对象具有目的性的进行数据派生更新。
进一步地,考虑到还需要对派生子对象中模板子对象的子对象进行更新,因此此处还需要进行顶层模板对象派生子对象类型的判断,针对不同类型的派生子对象,执行相应的操作,具体如下:
若当前派生子对象为实例子对象,则在该派生子对象更新后跳转至下一平级派生子对象进行更新;若当前派生子对象为模板子对象,则在该模板子对象的第一属性字段IsDataChanged为true时,将当前派生子对象作为顶层模板对象,对其派生的子对象进行更新,直至更新至实例子对象;完成所有派生子对象的更新后,将顶层模板对象中第一属性字段IsDataChanged置为false。综上所述,通过上述更新方式,本发明可高效、准确地实现派生对象数据信息的向下传递更新。更新的对象数据可被需要的派生子对象同步,无需重新编译子对象,减少人力资源消耗,提高项目开发进度。
本发明实施例还提供一种对象数据的分层更新装置,应用到如上述所述的对象数据的分层更新方法,包括:
第一处理模块,用于在业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;
第二处理模块,用于根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;
更新模块,用于当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
本发明实施例还提供一种电子设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述所述的对象数据的分层更新方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的对象数据的分层更新方法。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种对象数据的分层更新方法,其特征在于,该方法包括如下步骤:
业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;
根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;
当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
2.如权利要求1所述的对象数据的分层更新方法,其特征在于,父子对象的更新依据还包括派生子对象的类型。
3.如权利要求2所述的对象数据的分层更新方法,其特征在于,所述派生子对象的类型包括实例子对象和模板子对象。
4.如权利要求3所述的对象数据的分层更新方法,其特征在于,所述当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新包括以下步骤:
当顶层模板对象中第一属性字段为第一预设值时,遍历顶层模板所有的派生子对象;
获取父对象第二属性字段中对应派生子对象属性的第一标记,若第一同步标识为第一预设值,则置派生子对象属性的第二同步标识为第一预设值,若第一同步标识为第二预设值,则置派生子对象属性的第二同步标识为第二预设值;
遍历过程中,若派生子对象属性的第二同步标识为第一预设值,则在该属性与父对象对应属性不同时基于父对象的属性对该属性进行更新,若派生子对象属性的第二同步标识为第二预设值,则不更新该属性。
5.如权利要求4所述的对象数据的分层更新方法,其特征在于,所述当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新还包括以下步骤:
若当前派生子对象为实例子对象,则在该派生子对象更新后跳转至下一平级派生子对象进行更新;
若当前派生子对象为模板子对象,则在该模板子对象的第一属性字段为第一预设值时,将当前派生子对象作为顶层模板对象,对其派生的子对象进行更新,直至更新至实例子对象;
完成所有派生子对象的更新后,将顶层模板对象中第一属性字段置为第二预设值。
6.一种对象数据的分层更新装置,应用到如权利要求1至5任一项所述的对象数据的分层更新方法,其特征在于,包括:
第一处理模块,用于在业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;
第二处理模块,用于根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;
更新模块,用于当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
7.一种电子设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至5任一项所述的对象数据的分层更新方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的对象数据的分层更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489155.7A CN115544046B (zh) | 2022-11-25 | 2022-11-25 | 一种对象数据的分层更新方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489155.7A CN115544046B (zh) | 2022-11-25 | 2022-11-25 | 一种对象数据的分层更新方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115544046A true CN115544046A (zh) | 2022-12-30 |
CN115544046B CN115544046B (zh) | 2023-03-10 |
Family
ID=84722157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211489155.7A Active CN115544046B (zh) | 2022-11-25 | 2022-11-25 | 一种对象数据的分层更新方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544046B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262674A (zh) * | 2011-08-11 | 2011-11-30 | 大唐移动通信设备有限公司 | 一种分布式内存数据库的数据同步方法及系统 |
CN104838324A (zh) * | 2012-10-08 | 2015-08-12 | 费希尔-罗斯蒙特系统公司 | 动态可重用类 |
CN106202367A (zh) * | 2016-07-07 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种对象信息的处理方法及装置 |
CN112805679A (zh) * | 2018-09-28 | 2021-05-14 | 上海诺基亚贝尔股份有限公司 | 用于对象管理的被管理对象实例标识 |
US11055925B1 (en) * | 2020-01-31 | 2021-07-06 | Splunk Inc. | Techniques for placement of extended reality objects relative to physical objects in an extended reality environment |
CN114281335A (zh) * | 2021-12-28 | 2022-04-05 | 中国农业银行股份有限公司 | 视图生成方法和相关设备 |
CN115309756A (zh) * | 2022-06-13 | 2022-11-08 | 网易(杭州)网络有限公司 | 缓存数据的更新方法、装置和电子设备 |
-
2022
- 2022-11-25 CN CN202211489155.7A patent/CN115544046B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262674A (zh) * | 2011-08-11 | 2011-11-30 | 大唐移动通信设备有限公司 | 一种分布式内存数据库的数据同步方法及系统 |
CN104838324A (zh) * | 2012-10-08 | 2015-08-12 | 费希尔-罗斯蒙特系统公司 | 动态可重用类 |
CN106202367A (zh) * | 2016-07-07 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种对象信息的处理方法及装置 |
CN112805679A (zh) * | 2018-09-28 | 2021-05-14 | 上海诺基亚贝尔股份有限公司 | 用于对象管理的被管理对象实例标识 |
US11055925B1 (en) * | 2020-01-31 | 2021-07-06 | Splunk Inc. | Techniques for placement of extended reality objects relative to physical objects in an extended reality environment |
CN114281335A (zh) * | 2021-12-28 | 2022-04-05 | 中国农业银行股份有限公司 | 视图生成方法和相关设备 |
CN115309756A (zh) * | 2022-06-13 | 2022-11-08 | 网易(杭州)网络有限公司 | 缓存数据的更新方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
XIAOFENG WU 等: "Recovery control for the parent-child autonomous underwater vehicles via a master-slave synchronization scheme", 《PROCEEDINGS OF THE 33RD CHINESE CONTROL CONFERENCE》 * |
刘剑锋 等: "基于宗地变更的地籍时空数据库研究", 《测绘科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115544046B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8392873B2 (en) | Methods and apparatus for implementing model-based software solution development and integrated change management | |
US8224977B2 (en) | Using local locks for global synchronization in multi-node systems | |
CN112287007B (zh) | 基于Flink SQL引擎的工业生产数据实时处理方法、系统 | |
US11150896B2 (en) | Automated generation of service definitions for message queue application clients | |
CN111264048B (zh) | 用于定义用于ns的nsd并实例化ns的方法及相关网络节点 | |
CN107294750B (zh) | 一种云集群能自识别的分布配置管理方法和装置 | |
JPH08286918A (ja) | 手順トランザクション・コーディネータと相互動作するオブジェクト指向トランザクション・サービスを作成するためのシステムおよび方法 | |
CN111159177B (zh) | 一种基于异构数据的数据融合方法、装置、设备及介质 | |
JP2000504868A (ja) | 管理インターワーキング・ユニットおよびかかるユニットの形成方法 | |
CN109800161A (zh) | 一种用户界面的控件测试方法、电子设备和可存储介质 | |
Marie et al. | QoCIM: a meta-model for quality of context | |
CN105867930B (zh) | 一种函数调用关系的显示方法、装置及终端 | |
CN114691658A (zh) | 一种数据回溯方法、装置、电子设备及存储介质 | |
KR100311231B1 (ko) | 객체지향분석정보를이용한프레임워크모델링장치및그방법 | |
CN115544046B (zh) | 一种对象数据的分层更新方法、装置、设备和存储介质 | |
CN113191432B (zh) | 基于离群因子的虚拟机集群的异常检测方法、设备及介质 | |
CN115757304A (zh) | 一种日志存储方法、装置、系统、电子设备及存储介质 | |
CN112988407B (zh) | 数据处理方法和装置、电子设备及计算机可读存储介质 | |
CN109388400B (zh) | 一种页面自动生成方法及装置 | |
CN104572649B (zh) | 分布式存储系统的数据的处理方法、装置及系统 | |
CN115309397B (zh) | 一种数据解释模型的画布拓扑管理方法和系统 | |
CN107479837A (zh) | 云数据系统中虚拟机扩容的方法和装置 | |
KR100311232B1 (ko) | 칠비트스트링치환문을씨언어로변환하는방법 | |
CN112598535B (zh) | 一种svg转换为g文件时配电网设备量测保留方法 | |
CN117389839A (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 |