一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种对象数据的分层更新方法、装置、设备和存储介质与流程

2023-01-16 22:16:39 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体而言,涉及一种对象数据的分层更新方法、装置、设备和存储介质。


背景技术:

2.对于以往基于面向对象技术开发的组态软件中,针对业务对象的建模并未完全体现“派生-继承”方面的设计思想,尤其是面对模板到对象的数据更新过程,往往采用简单直接的覆盖式更新方式,这样在面对大数量级的对象更新时往往效率低下、派生过程耗时巨大,且子对象的更新原则难以确定;此外,父子对象之间的差异性区分方式单一,尤其在多层级派生关系中,顶层父对象的数据改变信息在向下传递时,无法实现派生属性的按需更新同步,满足父子对象间的差异需求,给处理模板与对象之间的差异性带来困难。


技术实现要素:

3.本发明的目的在于提供一种对象数据的分层更新方法、装置、设备和存储介质,通过在对象中增加确定派生子对象的属性是否随其父对象进行更新的属性字段及标识,以此解决派生对象更新过程中的效率问题,以及多层级派生关系中,多级对象数据的差异化数据更新问题。
4.本发明的实施例通过以下技术方案实现:一种对象数据的分层更新方法,该方法包括如下步骤:a、业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;b、根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;c、当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
5.根据一种优选实施方式,步骤c中,当顶层模板对象数据改变时,依据父对象中的第二属性字段、派生子对象的属性的第二同步标识以及派生子对象的类型,以完成父子对象的更新。
6.根据一种优选实施方式,所述派生子对象的类型包括实例子对象和模板子对象。
7.根据一种优选实施方式,步骤c包括以下步骤:当顶层模板对象中第一属性字段isdatachanged为true,遍历顶层模板所有的派生子对象;获取父对象第二属性字段中对应派生子对象属性的第一同步标识islocked,若islocked为true,则置派生子对象属性的第二同步标识isparentlocked为true,若islocked为false,则置派生子对象属性的isparentlocked为false;
遍历过程中,若派生子对象属性的isparentlocked为true,则在该属性与父对象对应属性不同时基于父对象的属性对该属性进行更新,若派生子对象属性的isparentlocked为false,则不更新该属性。
8.根据一种优选实施方式,步骤c还包括以下步骤:若当前派生子对象为实例子对象,则在该派生子对象更新后跳转至下一平级派生子对象进行更新;若当前派生子对象为模板子对象,则在该模板子对象的第一属性字段isdatachanged为true时,将当前派生子对象作为顶层模板对象,对其派生的子对象进行更新,直至更新至实例子对象;完成所有派生子对象的更新后,将顶层模板对象中第一属性字段isdatachanged置为false。
9.本发明还提供一种对象数据的分层更新装置,应用到如上述所述的对象数据的分层更新方法,包括:第一处理模块,用于在业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;第二处理模块,用于根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;更新模块,用于当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
10.本发明还提供一种电子设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述所述的对象数据的分层更新方法。
11.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的对象数据的分层更新方法。
12.本发明实施例的技术方案至少具有如下优点和有益效果:本发明所提供的一种对象数据的分层更新方法、装置、设备和存储介质,可高效、准确地实现派生对象数据信息的向下传递更新,同时通过在对象中增加确定派生子对象的属性是否随其父对象进行更新的属性字段及标识,可实现数据差异化继承更新,确保完成对象具有目的性的进行数据派生更新。
附图说明
13.图1为本发明实施例1提供的对象数据的分层更新方法的流程示意图;图2为本发明实施例1提供的对象数据的分层更新方法的原理图。
具体实施方式
14.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
15.实施例1图1是本发明实施例提供的一种对象数据的分层更新方法的流程示意图,本实施例可适用于对工业监控系统中的业务对象进行对象数据更新的情况,尤其适用于对多层级派生继承对象数据进行更新的情况。本实施例中的业务对象由上至下分别为顶层模板对象、实例子对象和/或模板子对象。
16.本实施例提供的方法可以由工业监控系统中的更新装置来执行,该装置可以由硬件和/或软件构成,并一般集成在电子设备中。该电子设备可以是工业监控系统中的一个节点设备,也可以是独立于工业监控系统之外的设备,与工业监控系统通信连接。
17.结合图1本发明实施例提供的对象数据的分层更新方法具体包括如下操作:a、业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变。随着工业监控系统中多种业务的开展,在业务变化过程中难免对业务对象的数据结构进行调整,例如增加字段、更改字段和删除字段。遵循“派生-继承-更新”的原则,派生子对象的数据应与模板对象即父对象保持一致,才能保证业务的顺利开展,因此需要确定顶层模板对象数据是否改变。
18.b、根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新。其中,派生子对象的属性随其父对象进行更新指在当前数据结构的基础上,需要执行的操作,包括删字段、增加字段和更改字段中的至少一种。具体到本实施例中,对父对象增加的第二属性字段为islocked的第一同步标识字段,islocked字段用于指示派生子对象中需要与模板对象(父对象)的更新进行同步的属性或无需同步的属性,若需要进行同步,则islocked为true,若无需进行同步,则islocked为false;与第二属性字段对应的第二同步标识为isparentlocked,isparentlocked用于指示派生子对象中需要与模板对象同步进行更新的属性,其中,若需要进行同步,则isparentlocked为true,若无需进行同步,则isparentlocked为false。
19.通过上述设置,在当顶层模板对象数据改变的情况下,执行步骤c即可完成父子对象的更新。
20.c、当顶层模板对象数据改变时,依据父对象中的第二属性字段、派生子对象的属性的第二同步标识以及派生子对象的类型,以完成父子对象的更新。
21.具体到本发明实施例中,参考图2,数据更新步骤c包括以下步骤:当顶层模板对象中第一属性字段isdatachanged为true,即指示顶层模板对象数据发生了变化,派生子对象需与其变化保持一致;因此本发明实施例遍历顶层模板所有的派生子对象,对其执行更新操作。
22.首先,获取父对象(此处即顶层模板对象)第二属性字段中对应派生子对象属性的islocked第一同步标识标记,若islocked标记为true,则置派生子对象属性的isparentlocked为true,若islocked标记为false,则置派生子对象属性的isparentlocked为false。
23.遍历过程中,若派生子对象属性的isparentlocked为true,则在该属性与父对象对应属性不同时基于父对象的属性对该属性进行更新,若派生子对象属性的isparentlocked为false,则不更新该属性。通过上述更新方式进行对象数据的更新,以第二同步标识维护父子对象部分特异的属性,可实现数据差异化继承更新,确保完成对象具有目的性的进行数据派生更新。
24.进一步地,考虑到还需要对派生子对象中模板子对象的子对象进行更新,因此此处还需要进行顶层模板对象派生子对象类型的判断,针对不同类型的派生子对象,执行相应的操作,具体如下:若当前派生子对象为实例子对象,则在该派生子对象更新后跳转至下一平级派生子对象进行更新;若当前派生子对象为模板子对象,则在该模板子对象的第一属性字段isdatachanged为true时,将当前派生子对象作为顶层模板对象,对其派生的子对象进行更新,直至更新至实例子对象;完成所有派生子对象的更新后,将顶层模板对象中第一属性字段isdatachanged置为false。综上所述,通过上述更新方式,本发明可高效、准确地实现派生对象数据信息的向下传递更新。更新的对象数据可被需要的派生子对象同步,无需重新编译子对象,减少人力资源消耗,提高项目开发进度。
25.本发明实施例还提供一种对象数据的分层更新装置,应用到如上述所述的对象数据的分层更新方法,包括:第一处理模块,用于在业务对象建模中对顶层模板对象增加第一属性字段,所述第一属性字段用于指示顶层模板对象数据是否改变;第二处理模块,用于根据派生子对象的需求,在业务对象建模中对父对象增加第二属性字段并为派生子对象的属性增加与第二属性字段对应的第二同步标识,所述第二属性字段以及第二同步标识用于确定派生子对象的属性是否随其父对象进行更新;更新模块,用于当顶层模板对象数据改变时,依据父对象中的第二属性字段以及派生子对象的属性的第二同步标识,以完成父子对象的更新。
26.本发明实施例还提供一种电子设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述所述的对象数据的分层更新方法。
27.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的对象数据的分层更新方法。
28.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献