System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种基于对象模型的差异化存储、动态生成方法及系统。
技术介绍
1、当前烟草行业竞争激烈,在工业自动化系统中,一般通过“对象”来管理数据。在不同的控制系统中,对象的形态也各不相同,比如有程序对象、工厂对象等不同类型。对象一般包含对象数据、对象逻辑(对象内部调用的方法)及对象接口(可供外部调用的方法)等。
2、为了实现对象的重用,通过创建的对象类可快速生成多个基于对象类的对象实例。如果对象实例全盘保存对象类的数据,当对象实例数量较多时,会导致所有的对象实例占用的存储空间巨大,对象的存取速率降低,对象类修改后对应的对象实例数据理应同步修改,数据同步的效率低。
技术实现思路
1、针对现有技术中存在的问题,本专利技术实施例提供一种基于对象模型的差异化存储、动态生成方法及系统。
2、本专利技术实施例提供一种基于对象模型的差异化存储、动态生成方法,包括:
3、获取待存储的对象实例,对比对象实例,根据对比结果确定对象实例对应的对象类数据以及对象实例之间的差异项;
4、基于所述差异项,建立与所述对象类数据、对象实例之间的映射表,并对所述映射表中的对象实例进行特征字符提取,得到所述映射表对应的特征字符集;
5、接收实时数据,判断所述实时数据为实时对象类数据或实时对象实例;
6、当所述实时数据为实时对象类数据时,将所述实时对象类数据进行最小语义可表达存储,并结合所述对象实例生成差异项列表,基于所述实时
7、当所述实时对象数据为实时对象实例时,对比所述实时对象实例与对象类数据,确定所述实时对象实例的实时特征字符;
8、对比所述实时特征字符与特征字符集,当所述实时特征字符属于所述特征字符集时,与所述特征字符集中的对应字符重复存储;
9、当所述实时特征不属于所述特征字符集时,将所述特征字符同步至所述特征字符集。
10、在其中一个实施例中,所述方法还包括:
11、接收到拓展请求时,根据所述拓展请求确定对应的待生成对象类数据,生成对应的待生成对象类数据,并判断所述特征字符是否符合所述待生成对象类数据的属性类型;
12、当所述特征字符符合所述待生成对象类数据的属性类型,将所述特征字符对应的对象实例保存根据属性类型对应保存至待生成对象类数据。
13、在其中一个实施例中,所述方法还包括:
14、接收到更改请求时,判断所述更改请求是否为对象类数据更改请求;
15、当所述更改请求为对象类数据更改请求时,根据所述更改请求对所述对象类数据进行更改。
16、在其中一个实施例中,所述方法还包括:
17、对比对象实例,获取对比结果中的共享属性和差异项,根据所述共享属性,结合预设的生成规则,生成所述对象类数据。
18、在其中一个实施例中,所述方法还包括:
19、当检测到存储空间内对象类数据发生变化时,生成对应的变化日志,并反馈至用户终端;
20、当检测到存储空间内对象实例发生变化时,生成对应的变化日志。
21、本专利技术实施例提供一种基于对象模型的差异化存储、动态生成系统,包括:
22、获取模块,用于获取待存储的对象实例,对比对象实例,根据对比结果确定对象实例对应的对象类数据以及对象实例之间的差异项;
23、提取模块,用于基于所述差异项,建立与所述对象类数据、对象实例之间的映射表,并对所述映射表中的对象实例进行特征字符提取,得到所述映射表对应的特征字符集;
24、接收模块,用于接收实时数据,判断所述实时数据为实时对象类数据或实时对象实例;
25、存储模块,用于当所述实时数据为实时对象类数据时,将所述实时对象类数据进行最小语义可表达存储,并结合所述对象实例生成差异项列表,基于所述实时对象类数据、对象实例、差异性列表生成实时映射表;
26、对比模块,用于当所述实时对象数据为实时对象实例时,对比所述实时对象实例与对象类数据,确定所述实时对象实例的实时特征字符;
27、重复存储模块,用于对比所述实时特征字符与特征字符集,当所述实时特征字符属于所述特征字符集时,与所述特征字符集中的对应字符重复存储;
28、同步模块,用于当所述实时特征不属于所述特征字符集时,将所述特征字符同步至所述特征字符集。
29、在其中一个实施例中,所述系统还包括:
30、拓展模块,用于接收到拓展请求时,根据所述拓展请求确定对应的待生成对象类数据,生成对应的待生成对象类数据,并判断所述特征字符是否符合所述待生成对象类数据的属性类型;
31、对应保存模块,用于当所述特征字符符合所述待生成对象类数据的属性类型,将所述特征字符对应的对象实例保存根据属性类型对应保存至待生成对象类数据。
32、在其中一个实施例中,所述系统还包括:
33、判断模块,用于接收到更改请求时,判断所述更改请求是否为对象类数据更改请求;
34、更改模块,用于当所述更改请求为对象类数据更改请求时,根据所述更改请求对所述对象类数据进行更改。
35、本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于对象模型的差异化存储、动态生成方法的步骤。
36、本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于对象模型的差异化存储、动态生成方法的步骤。
37、本专利技术实施例提供的一种基于对象模型的差异化存储、动态生成方法及系统,获取待存储的对象实例,对比对象实例,根据对比结果确定对象实例对应的对象类数据以及对象实例之间的差异项;基于差异项,建立与对象类数据、对象实例之间的映射表,并对映射表中的对象实例进行特征字符提取,得到映射表对应的特征字符集;接收实时数据,判断实时数据为实时对象类数据或实时对象实例;当实时数据为实时对象类数据时,将实时对象类数据进行最小语义可表达存储,并结合对象实例生成差异项列表,基于实时对象类数据、对象实例、差异性列表生成实时映射表;当实时对象数据为实时对象实例时,对比实时对象实例与对象类数据,确定实时对象实例的实时特征字符;对比实时特征字符与特征字符集,当实时特征字符属于所述特征字符集时,与特征字符集中的对应字符重复存储;当实时特征不属于所述特征字符集时,将特征字符同步至所述特征字符集。这样能够保证保存的速度快、存档内存占用空间小。并且动态构建完整对象实例数据,满足不同场景下数据实时同步要求,效率更高。
本文档来自技高网...【技术保护点】
1.一种基于对象模型的差异化存储、动态生成方法,其特征在于,包括:
2.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述对比对象实例,根据对比结果确定对象实例对应的对象类数据以及对象实例之间的差异项,包括:
5.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
6.一种基于对象模型的差异化存储、动态生成系统,其特征在于,所述系统包括:
7.根据权利要求6所述的基于对象模型的差异化存储、动态生成系统,其特征在于,所述系统还包括:
8.根据权利要求6所述的基于对象模型的差异化存储、动态生成系统,其特征在于,所述系统还包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述基于对象模型的差异化存储、动态生成方法的步骤。
...【技术特征摘要】
1.一种基于对象模型的差异化存储、动态生成方法,其特征在于,包括:
2.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述对比对象实例,根据对比结果确定对象实例对应的对象类数据以及对象实例之间的差异项,包括:
5.根据权利要求1所述的基于对象模型的差异化存储、动态生成方法,其特征在于,所述方法还包括:
6.一种基于对象模型的差异化存储、动态生成系统,其特...
【专利技术属性】
技术研发人员:李鹏,平志明,赵玉龙,王杰畅,
申请(专利权)人:中控技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。