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

对象属性的处理方法、装置和电子设备与流程

2022-07-27 22:50:14 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其是涉及一种对象属性的处理方法、装置和电子设备。


背景技术:

2.在游戏后端通常具有复杂的数据关系,对于数据的查改,游戏中存在许多共性的需求。比如,虚拟武器具有射速、后坐力、子弹容量、散射、伤害等数据属性,这些数据属性之间具有一定的关联关系,例如伤害可能会和子弹速度成正比,散射大小和后坐力大小成反比等。随着虚拟武器的改装,这些数据属性也会随之改变。相关技术中,以单层结构的方式将数据的属性信息记录在实例中,并以变量的方式存在,或者直接记录在数据库或者数据表格之中,当接收到更改数据属性的请求时,直接修改该数据的基础数值,针对需要动态修改的场景,经常需要灵活修改数据属性,甚至需要在每次修改后恢复到初始的数值,当数据属性较为复杂,或者需要大量修改数据属性时,需要频繁更改基础数值,不利于数据管理和拓展,且较难维护。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种对象属性的处理方法、装置和电子设备,以避免频繁更改基础数值,提高数据管理和数据拓展的灵活性,同时便于数据维护。
4.第一方面,本发明实施例提供了一种对象属性的处理方法,方法包括:响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;其中,更新记录包括目标属性的更新参数的参数值,用于计算目标属性的属性值;根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。
5.进一步的,根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值的步骤,包括:根据属性关联关系,确定依赖属性的属性值;根据第一关联关系和依赖属性的属性值,确定目标属性的初始属性值;根据初始属性值,目标属性的更新记录,以及属性值计算公式,更新目标属性的属性值。
6.进一步的,根据初始属性值,目标属性的更新记录,以及属性值计算公式,更新目标属性的属性值的步骤,包括:从更新记录中,获取目标属性的更新参数的参数值;将更新参数的参数值和初始属性值带入目标属性的属性值计算公式,计算得到更新后的目标属性的属性值。
7.进一步的,对象的每个属性具有对应的更新记录集;从更新记录中,获取目标属性的更新参数的参数值的步骤,还包括:如果更新记录指示撤销历史更新记录,在目标属性的更新记录集中删除历史更新记录,得到更新后的更新记录;从更新后的更新记录中,获取目标属性的更新参数的参数值。
8.进一步的,目标属性的属性值计算公式为:f(x)=(x abs)*(1 rel)*mul;其中,x
为目标属性的初始属性值,f(x)为目标属性更新后的属性值;abs为属性值计算公式的第一更新参数;rel为属性值计算公式的第二更新参数;mul为属性值计算公式的第三更新参数。
9.进一步的,根据属性关联关系,确定依赖属性的属性值的步骤,包括:根据属性关联关系,通过拓扑排序的方式,确定对象的基础属性的属性值;从基础属性的属性值中,确定依赖属性的属性值。
10.进一步的,根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值的步骤之后,方法还包括:根据属性关联关系,确定依赖目标属性的第一属性,第一属性的依赖属性中除目标属性以外的目标依赖属性的属性值,以及第一属性与依赖的目标属性和目标依赖属性的第二关联关系;根据第二关联关系,更新后的目标属性的属性值,以及目标依赖属性的属性值,更新第一属性的属性值。
11.第二方面,本发明实施例提供了一种对象属性的处理装置,装置包括:保存模块,用于响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;其中,更新记录包括目标属性的更新参数的参数值,用于计算目标属性的属性值;确定模块,用于根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;更新模块,用于根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。
12.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现第一方面任一项的对象属性的处理方法。
13.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面任一项的对象属性的处理方法。
14.本发明实施例带来了以下有益效果:
15.本发明提供了一种对象属性的处理方法、装置和电子设备,响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;该更新记录包括目标属性的更新参数的参数值;根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。该方式中,将所有针对目标属性的更新记录进行保存,通过保存的目标属性的更新记录,可以灵活根据更新参数的参数值,属性值计算公式和第一关联关系更新目标属性,避免了频繁更改基础数值的问题,提高了数据管理和数据拓展的灵活性,同时有利于数据维护。
16.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
17.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
18.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体
实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明实施例提供的一种对象属性的处理方法的流程图;
20.图2为本发明实施例提供的一种属性关联关系示意图;
21.图3为本发明实施例提供的一种对象属性的处理装置的结构示意图;
22.图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.目前大部分的游戏中,游戏实体的后端通常具有复杂的数据关系,对于数据的查改,游戏中存在许多共性的需求。比如,虚拟武器具有射速、后坐力、子弹容量、散射、伤害等数据属性,这些数据属性之间具有一定的关联关系,例如伤害可能会和子弹速度成正比,散射大小和后坐力大小成反比等。当然这些数据属性值不是一成不变的,随着虚拟武器的改装,相关数据属性也会随之改变。
25.相关技术中,以单层结构的方式将数据的属性信息记录在实例中,并以变量的方式存在,或者直接记录在数据库或者数据表格之中,当接收到更改数据属性的请求时,直接修改该数据的基础数值,针对需要动态修改的场景,经常需要灵活修改数据属性,甚至需要在每次修改后恢复到初始的数值,当数据属性较为复杂,或者需要大量修改数据属性时,需要频繁更改基础数值,不利于数据管理和拓展,且较难维护。一旦更换了开发工程师,数据的管理往往更加困难,可能会导致项目难以继续进行。
26.基于此,本发明实施例提供的一种对象属性的处理方法、装置和电子设备,该技术可以应用于具有游戏数据管理功能的设备。
27.为便于对本实施例进行理解,首先对本发明实施例所公开的一种对象属性的处理方法进行详细介绍,如图1所示,该方法包括如下步骤:
28.步骤s102,响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;其中,更新记录包括目标属性的更新参数的参数值,用于计算目标属性的属性值;
29.上述对象可以是游戏场景中的虚拟对象,比如虚拟枪械、虚拟车辆、虚拟英雄、虚拟装备等能够更改其中某个属性的对象。上述对象属性通常是指虚拟对象的某个属性,比如虚拟枪械的弹匣容量、射速、射程等,还比如虚拟车辆的最大速度、承载量等,还比如虚拟英雄的伤害能力和抗伤害能力、移动速度、攻击范围等,还比如虚拟装备中望远镜的倍数等。上述更新请求是指增加或者减少对象的某个属性的属性值,比如,增加虚拟枪械的射速,或者增加射程等,其中的更新请求包括对应的目标属性以及更新该目标属性的具体更新数值。
30.实际实现时,用户可以控制对象的属性,比如,当用户想要提升虚拟枪械的弹匣容
量时,可以通过安装额外的弹匣配件的方式,或者针对虚拟枪械的弹匣性能充钱的方式等,向游戏后端发送更新请求,当接收到更新请求后,先确定更新请求对应的目标属性,即上述虚拟枪械的弹匣容量的属性,然后根据更新请求确定针对目标属性的更新记录,并将该更新记录保存在目标属性的更新记录集中。其中的更新记录包括针对目标属性的更新参数的参数值,即针对虚拟枪械的弹匣容量的增加该虚拟枪械的弹匣容量,其中包括增加的具体数值。
31.需要说明的是,上述更新请求可以是更新目标属性的多个更新参数的参数值,也可以是更新一个更新参数的参数值。另外,游戏中虚拟对象的对象属性通常包括多个,且这些对象属性之间具有层级关系,比如,虚拟对象包括三级对象属性,其中一级对象属性为基础属性,二级对象属性依赖一级对象属性,三级对象属性依赖二级对象属性,或者即依赖二级对象属性又依赖一级对象属性。
32.步骤s104,根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;
33.上述预先建立的属性关联关系实际上是指不同对象属性之间的数据关系,如图2所示的属性关联关系,其中的“a”、“b”、“c”、“d”、“a”、“b”、“α”为上述对象属性,其中的α=a-c;a=a b;b=b c
×
d为上述对象属性之间的属性关联关系。举例说明,如果上述目标属性为“a”,则上述依赖属性为“a”和“b”,上述目标属性与依赖属性的第一关联关系为a=a b。如果上述目标属性为“a”,则根据属性关联关系确定目标属性没有依赖属性,同时也没有第一关联关系。如果上述目标属性为“α”,则上述依赖属性为“a”和“c”,上述目标属性与依赖属性的第一关联关系为α=a-c。实际实现时,可以根据属性关联关系遍历各个对象属性,然后确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系。
34.需要说明的是,如图2所示,第一层对象属性为“a”、“b”、“c”、“d”,第二层对象属性为“a”、“b”,第三层对象属性为“α”。其中属性关联关系中以及游戏后端中存储a时,不是存储a b的结果,而是存储a,b的数据地址以及操作符“ ”,依次类推可以得到第二层对象属性“b”和第三层对象属性“α”。另外,图2中的属性关联数据的具体逻辑用代码表示为:
[0035][0036]
其中,const代表的就是常量,用以表示原本的属性值,即“a”=1、“b”=2、“c”=3、“d”=4。variable就是对之前已经定义过得属性的引用。每个属性对应的就是一个operation,每个operation并不会马上计算出结果,只有当使用operation的get_value()函数时,才会实时计算出结果。
[0037]
步骤s106,根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。
[0038]
实际上每个对象属性都有对应的属性值计算公式,该公式中包括至少一个更新参数,因此可以根据上述更新记录中的更新参数的参数值,通过属性值计算公式得到目标属性的属性值。如果上述目标属性具有依赖属性,则首先需要根据第一关联关系和依赖属性计算得到目标属性的属性值,然后再根据目标属性的更新记录和属性值计算公式,计算得到更新后的目标属性的属性值。
[0039]
可以理解的是,当目标属性为基础属性时,可以直接根据更新记录和预设的属性值计算公式,更新目标属性的属性值。当目标属性不为基础属性时,则需要根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。
[0040]
本发明实施例提供了一种对象属性的处理方法,响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;该更新记录包括目标属性的更新参数的参数值;根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。该方式中,将所有针对目标属性的更新记录进行保存,通过保存的目标属性的更新记录,可以灵活根据更新参数的参数值,属性值计算公式和第一关联关系更新目标属性,避免了频繁更改基础数值的问题,提高了数据管理和数据拓展的灵活性,同时有利于数据维护。
[0041]
本发明实施例提供了另一种对象属性的处理方法,该实施例在上述实施例的基础上实现,本实施例重点描述根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值的步骤的具体实现过程(通过步骤203-205实现),该方法包括如下步骤:
[0042]
步骤201,响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;其中,更新记录包括目标属性的更新参数的参数值,用于计算目标属性的属性值;
[0043]
步骤202,根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;
[0044]
步骤203,根据属性关联关系,确定依赖属性的属性值;
[0045]
具体的,可以对属性关联关系中的所有对象属性进行拓扑排序,然后遍历各个对象属性,得到依赖属性的属性值,即基础属性的属性值。比如目标属性为“a”,则可以得到依赖属性“a”=1,“b”=2。
[0046]
具体的,根据属性关联关系,通过拓扑排序的方式,确定对象的基础属性的属性值;从基础属性的属性值中,确定依赖属性的属性值。
[0047]
实际实现时,对对象属性进行拓补排序,然后依次更新数据。用伪代码可以表示为:
[0048]
topologicalsort(properties);首先对properties进行拓补排序;
[0049]
result={};更新后的结果集数据;
[0050]
for propname,property in propties;按顺序遍历属性;
[0051]
basevalue=property.get_value(result);获取属性的基础属性的属性值;即上
述“a”=1、“b”=2、“c”=3、“d”=4。
[0052]
从基础属性的属性值中,确定依赖属性的属性值,即“a”=1、“b”=2。另外,上述的拓扑排序的结果为“a”、“b”、“c”、“d”、“a”、“b”、“α”。
[0053]
上述方式中,通过拓扑排序的方式确定属性关联关系中依赖属性的属性值,保证了属性值的准确性。
[0054]
步骤204,根据第一关联关系和依赖属性的属性值,确定目标属性的初始属性值;
[0055]
比如,目标属性为“a”,第一关联关系为a=a b,则可以确定目标属性的初始属性值为a=a b=1 2=3。
[0056]
步骤205,根据初始属性值,目标属性的更新记录,以及属性值计算公式,更新目标属性的属性值。
[0057]
上述目标属性的属性值计算公式为:f(x)=(x abs)*(1 rel)*mul;其中,x为目标属性的初始属性值,f(x)为目标属性更新后的属性值;abs为属性值计算公式的第一更新参数;rel为属性值计算公式的第二更新参数;mul为属性值计算公式的第三更新参数。具体的,可以根据目标属性的更新记录,确定上述第一更新参数、第二更新参数和第三更新参数的参数值,最后可以根据目标属性的属性值计算公式确定更新后的目标属性的属性值。
[0058]
上述步骤s210一种可能的实施方式:从更新记录中,获取目标属性的更新参数的参数值;将更新参数的参数值和初始属性值带入目标属性的属性值计算公式,计算得到更新后的目标属性的属性值。
[0059]
举例说明,以上述目标属性的第一更新参数的参数值为5、第二更新参数的参数值为0、第一更新参数的参数值为1.2为例,可以将abs=5,rel=0,mul=1.2带入f(x)=(x abs)*(1 rel)*mul,可以得到f(x)=f(a)=f(3)=(3 5)*(1 0)*1.2=9.6,计算得到更新后的目标属性的属性值。
[0060]
可以理解,本实施例记录的对象属性全部都是以代数函数的方式记录的,在需要使用目标属性的具体属性值的时候,会根据保存的更新记录以及关联关系计算最终的属性值,否则平时的时候更新或增加的都是一个计算代数式。该方式中,在需要目标属性的属性值时,可以通过更新记录中的参数值直接计算得到更新后的目标属性的属性值,进一步提高了数据管理的灵活性。
[0061]
上述方式中,对象属性之间预先建立属性关联关系,如果某一个目标属性被更新了,首先需要确定依赖属性的属性值,才可以根据第一关联关系计算目标属性的初始属性值,最后根据更新记录的参数值,计算更新后的目标属性的属性值,保证了对象属性整体的正确性,极大提高了数据管理的灵活性。
[0062]
另外需要说明的是,上述步骤204,如果基础属性的属性值也发生了更新,需要根据第一关联关系和更新后的依赖属性的属性值,确定目标属性的初始属性值;具体的,在获得依赖属性也就是基础属性的时候,需要根据基础属性的更新记录和属性值计算公式,确定基础属性的计算公式,然后根据基础属性的计算公式代替基础属性的属性值,确定目标属性的初始属性值,即a=f(a) f(b)并不是a b=1 2=3,也就是说f(x)=(x abs)*(1 rel)*mul中,x=f(a) f(b),并不是x=a b=1 2=3。
[0063]
另外,为了进一步提高数据管理的灵活性,上述对象的每个属性具有对应的更新记录集;具体的,上述更新记录集也可以称为modfamility,这里会记录针对一个对象属性
的所有修改记录。比如说,虚拟枪械安装一个配件以后,需要对射速提升50%,那么提升50%就会记录在这个modfamily中。
[0064]
目前支持三种修改方式,即三个更新参数:abs:加减,比如:要对枪械的弹匣增加2发子弹,rel:百分比增加,比如:希望枪械的射速增加20%;mul:连乘,比如:希望射程在原基础上乘上1.2的系数,假设有基础数据x,那么modfamility可以抽象成函数f,那么有f(x)=(x abs)*(1 rel)*mul,这个就是modfamily在实际计算机计算过程中对应的计算公式。
[0065]
具体的,根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值,用伪代码可以表示为:
[0066]
modfamily=modfamilies.get(propname);根据属性名称获取改属性的修改记录;
[0067]
result[propname]=modfamily.calculate(basevalue);根据修改记录计算出最终结果,记录在result。按照该代码最后计算出的result就是最后的结果。
[0068]
下面具体描述从更新记录中,获取目标属性的更新参数的参数值的步骤:如果更新记录指示撤销历史更新记录,在目标属性的更新记录集中删除历史更新记录,得到更新后的更新记录;从更新后的更新记录中,获取目标属性的更新参数的参数值。
[0069]
首先需要说明的是,对于两个更新事件的管理,一般的方法并不太在乎之前的修改事件,发生了就发生了,再用新的修改事件去还原之前的结果。比如,对a加了5,如果再产生一个新的更新,对a减5,这样也算是还原了。但是这种方式在实际过程中会产生管理问题,最大的问题就是,需要产生一个新的对冲事件。这样的复杂程度可以想象为:比如对a进行了上百次修改,然后需要对其中的一个修改进行还原,该过程是极其复杂的。
[0070]
为了解决这个问题,本实施例中引入了modfamily的概念,modfamily中会记录每次对象属性的更新,对于使用者而言,每次更新就保存有一个更新记录,当想还原的时候,只需要撤销这个记录就好。比如,对a先加5,再乘上1.5,那如果想撤销加5的更新,那么可以从修改记录中删除加5。由于a的修改记录已经发生改变,就会重新计算a=f(a),这样就达到了撤销修改的目的。当然如果再结合之前说到的拓补结果,由于a的数值也是收到a的影响的,所以a的数值变化之后,a的数值也需要联动改变,这些都是在计算拓补排序中需要去管理的逻辑。
[0071]
上述方式中,每个属性的更新都拥有自己的记录,这样可以使得修改更加灵活,每个修改之间独立存在,每个需要修改的数据之间可以互不干扰,也就是说如果某个修改需要撤回,只需要撤回该记录即可,无需担心结果不对的情况。进一步提高了数据管理的灵活性。
[0072]
上述对象包括多个属性,其中还包括依赖目标属性的对象属性,由于目标属性发生更新,因此依赖目标属性的对象属性也需要进行更新,具体的,根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值的步骤之后,上述方法还包括:
[0073]
根据属性关联关系,确定依赖目标属性的第一属性,第一属性的依赖属性中除目标属性以外的目标依赖属性的属性值,以及第一属性与依赖的目标属性和目标依赖属性的第二关联关系;根据第二关联关系,更新后的目标属性的属性值,以及目标依赖属性的属性值,更新第一属性的属性值。
[0074]
继续上述的举例说明,如果上述目标属性为“a”,则依赖目标属性a的第一属性为“α”,那么第一属性“α”的依赖属性包括“a”和“c”,该第一属性的依赖属性中除目标属性“a”以外的目标依赖属性为“c”,则该目标依赖属性为“c”的属性值为3。上述第一属性与依赖的目标属性和目标依赖属性的第二关联关系为α=a-c;根据第α=a-c,更新后的目标属性“a”的属性值9.6,以及目标依赖属性“c”的属性值3,更新第一属性的属性值α=a-c=9.6-3=6.6。
[0075]
上述方式中,如果目标属性被更新了,那么依赖目标属性的第一属性也会随之修改,根据属性关联性关系确定第一属性的属性值,保证了数据整体的正确性。
[0076]
另外,对于对象属性的使用者而言,只要属性关系建立正确以后,并不用考虑其他属性的属性值的变化,只需要关注自己需要关注的属性即可。且,每个属性的修改都拥有自己的记录,这样可以使得修改更加灵活,每个修改之间独立存在,每个需要修改该数据之间可以互不干扰,同时如果某个修改需要撤回,只需要撤回该记录即可,无需担心结果不对的情况。
[0077]
对应上述的方法实施例,本发明实施例提供了一种对象属性的处理装置,如图3所示,该装置包括:
[0078]
保存模块31,用于响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;其中,更新记录包括目标属性的更新参数的参数值,用于计算目标属性的属性值;
[0079]
确定模块32,用于根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;
[0080]
第一更新模块33,用于根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。
[0081]
本发明实施例提供了一种对象属性的处理装置,响应于对象属性的更新请求,确定更新请求对应的目标属性,并保存目标属性的更新记录;该更新记录包括目标属性的更新参数的参数值;根据预先建立的属性关联关系,确定目标属性的依赖属性,以及目标属性与依赖属性的第一关联关系;根据目标属性的更新记录,第一关联关系,以及预设的属性值计算公式,更新目标属性的属性值。该方式中,将所有针对目标属性的更新记录进行保存,通过保存的目标属性的更新记录,可以灵活根据更新参数的参数值,属性值计算公式和第一关联关系更新目标属性,避免了频繁更改基础数值的问题,提高了数据管理和数据拓展的灵活性,同时有利于数据维护。
[0082]
进一步的,上述第一更新模块还用于:根据属性关联关系,确定依赖属性的属性值;根据第一关联关系和依赖属性的属性值,确定目标属性的初始属性值;根据初始属性值,目标属性的更新记录,以及属性值计算公式,更新目标属性的属性值。
[0083]
进一步的,上述第一更新模块还用于:从更新记录中,获取目标属性的更新参数的参数值;将更新参数的参数值和初始属性值带入目标属性的属性值计算公式,计算得到更新后的目标属性的属性值。
[0084]
进一步的,上述对象的每个属性具有对应的更新记录集;上述第一更新模块还用于:如果更新记录指示撤销历史更新记录,在目标属性的更新记录集中删除历史更新记录,得到更新后的更新记录;从更新后的更新记录中,获取目标属性的更新参数的参数值。
[0085]
进一步的,上述目标属性的属性值计算公式为:f(x)=(x abs)*(1 rel)*mul;其中,x为目标属性的初始属性值,f(x)为目标属性更新后的属性值;abs为属性值计算公式的第一更新参数;rel为属性值计算公式的第二更新参数;mul为属性值计算公式的第三更新参数。
[0086]
进一步的,上述更新模块还用于:根据属性关联关系,通过拓扑排序的方式,确定对象的基础属性的属性值;从基础属性的属性值中,确定依赖属性的属性值。
[0087]
进一步的,上述装置还包括第二更新模块,用于:根据属性关联关系,确定依赖目标属性的第一属性,第一属性的依赖属性中除目标属性以外的目标依赖属性的属性值,以及第一属性与依赖的目标属性和目标依赖属性的第二关联关系;根据第二关联关系,更新后的目标属性的属性值,以及目标依赖属性的属性值,更新第一属性的属性值。
[0088]
本发明实施例提供的对象属性的处理装置,与上述实施例提供的对象属性的处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
[0089]
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述对象属性的处理方法。该电子设备可以是服务器,也可以是终端设备。
[0090]
参见图4所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的计算机可执行指令,该处理器100执行计算机可执行指令以实现上述对象属性的处理方法。
[0091]
进一步地,图4所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
[0092]
其中,存储器101可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0093]
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
[0094]
本实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述对象属性的处理方法。
[0095]
本发明实施例所提供的对象属性的处理方法、装置、电子设备以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0096]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0097]
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0098]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0099]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0100]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献