CN107273264B - 对象实例关键属性及其关联属性的跟踪方法及装置 - Google Patents
对象实例关键属性及其关联属性的跟踪方法及装置 Download PDFInfo
- Publication number
- CN107273264B CN107273264B CN201710426621.XA CN201710426621A CN107273264B CN 107273264 B CN107273264 B CN 107273264B CN 201710426621 A CN201710426621 A CN 201710426621A CN 107273264 B CN107273264 B CN 107273264B
- Authority
- CN
- China
- Prior art keywords
- attribute
- tracking
- key
- value
- key attribute
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Abstract
本发明提供一种对象实例关键属性及其关联属性的跟踪方法及装置,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,所述追踪方法包括:生成一数据跟踪记录器并初始化;以及当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置。本发明提供的对象实例关键属性及其关联属性的跟踪方法及装置能够追踪关键属性和关联属性的变化并定位关键属性变化的代码段。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种对象实例关键属性及其关联属性的跟踪方法及装置。
背景技术
信息系统对应用程序对象实例跟踪是重要常见的,多数情况下,我们会对实例序列化记录日志来跟踪,但这个序列化是最后的结果,对实例内部属性的变化过程缺少跟踪,实例内部属性的变化过程影响最终结果,如果缺少中间过程的跟踪,对最终结果的产生的原因判断就缺少信息,定位问题的效率不高,也可能导致后续的判断及改进存在误差。
对实例的跟踪,由于实例存在多个属性,在业务层面考虑,会侧重关注实例的关键属性的变化过程,但和关键属性关联的其他属性会影响关键属性值,这种情况同时关注与关键属性相关联的属性的变化也可能会给整体的准确判断带来帮助。
在对属性的变化进行跟踪时,由于属性存在重复的可能性,不同代码位置用到相同的属性值,这种情况如果简单的输出属性变化过程也可能难以精确定位到属性变化的上下文。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种对象实例关键属性及其关联属性的跟踪方法及装置,其能够追踪关键属性和关联属性的变化并定位关键属性变化的代码段。
根据本发明的一个方面,提供一种对象实例关键属性及其关联属性的跟踪方法,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,所述追踪方法包括:生成一数据跟踪记录器并初始化;以及当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置。
可选地,至少一关联属性被赋值后,所述关键属性被赋值。
可选地,所述数据跟踪记录器在一对象实例内初始化,该所述数据跟踪记录器仅针对该对象实例,记录跟踪该对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
可选地,所述数据跟踪记录器在对象实例外初始化,该所述数据跟踪记录器针对多个对象实例,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
可选地,所述数据跟踪记录器按多个对象实例的关键属性的值变化的时间顺序,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
可选地,所述数据跟踪记录器的数量为多个,每个所述数据跟踪记录器对应记录的多个对象实例组成一记录单元,每个所述记录单元中的多个对象实例具有相同的属性。
可选地,所述数据跟踪记录器的数量为多个,各所述数据跟踪记录器以次为单位所记录的平均属性数量的差值小于1。
可选地,所述数据跟踪记录器作为所述对象实例的构造函数的参数。
可选地,所述位置标识的赋值为所述关键属性被赋值的代码段所在的函数的函数名。
可选地,自定义命名各对所述关键属性赋值的代码语句,所述位置标识的赋值所述关键属性被赋值的代码语句。
可选地,所述位置标识作为所述对象实例的关联属性。
可选地,所述数据跟踪记录器为字符串集合。
可选地,所述关键属性的值多次变化时,所述数据跟踪记录器累积记录所述关键属性的值每次变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
可选地,所述数据跟踪记录器还记录所述关键属性的值变化时的时间戳。
可选地,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,所述追踪装置包括:处理器;计算机可读存储介质,其上储存有计算机程序,所述计算机程序被所述处理器运行时执行如下步骤:生成一数据跟踪记录器并初始化;以及当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置。
可选地,至少一关联属性被赋值后,所述关键属性被赋值。
可选地,所述计算机程序被所述处理器运行时还执行如下步骤:所述数据跟踪记录器在一对象实例内初始化,该所述数据跟踪记录器仅针对该对象实例,记录跟踪该对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
可选地,所述计算机程序被所述处理器运行时还执行如下步骤:所述数据跟踪记录器在对象实例外初始化,该所述数据跟踪记录器针对多个对象实例,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
相比现有技术,本发明的优势在于:利用数据跟踪记录器跟踪记录对象实例的关键属性及其关联属性的变化过程,且关键属性发生变化时的代码位置可快速定位。此外,记录跟踪数据的载体,根据是否需要跨实例的跟踪可在实例外初始化,实现信息更为全面的跨实例跨类型的跟踪。数据跟踪记录器的记录了关键属性、关联属性的变化及关键属性变化时代码位置,这些数据可以用于后续大数据分析、机器学习等分析模型,以有效利用对象实例中关键属性的变化过程。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的一种对象实例关键属性及其关联属性的跟踪方法的流程图。
图2示出了根据本发明实施例的数据跟踪记录器于对象实例内初始化的示意图。
图3示出了根据本发明实施例的数据跟踪记录器于对象实例外初始化的示意图。
图4示出了根据本发明实施例的对象实例关键属性及其关联属性的跟踪装置的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员应意识到,没有所述特定细节中的一个或更多,或者采用其它的方法、组元、材料等,也可以实践本发明的技术方案。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了解决现有技术的缺陷,能够追踪关键属性和关联属性的变化并定位关键属性变化的代码段,本发明提供一种对象实例关键属性及其关联属性的跟踪方法及装置。
本发明提供一种对象实例关键属性及其关联属性的跟踪方法,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,所述追踪方法包括:生成一数据跟踪记录器并初始化;以及当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置。
下面结合附图说明本发明提供的对象实例关键属性及其关联属性的跟踪方法及装置。在本发明的各个实施例中,所述的对象实例包括多个属性,该多个属性包括至少一个关键属性及至少一个关联属性。关键属性可以是针对不同应用场景主要用于描述对象实例的关键属性。关联属性的值的变化引起关键属性的值的变化。例如,在一些电商平台的实施例中,一个对象实例为商品,其关键属性可以是其价格,诸如保质期限、商品重量等引起价格变化的属性作为关联属性。商品的不影响价格的属性,例如商品名称、商品种类等可以作为该对象实例的其他属性。又例如,在一些快递系统的实施例中,一个对象实例为快递物品,其关键属性可以是其物品是否送达,诸如物品当前位置等引起关键属性变化的属性作为关联属性。物品的不影响是否送达的属性,例如快递员、快递公司、快递单号等可以作为该对象实例的其他属性。以上对象实例的距离仅仅是示意性的,本领域技术人员可以实现更多的变化例,在此不予赘述。
首先参见图1,图1示出了根据本发明实施例的一种对象实例关键属性及其关联属性的跟踪方法的流程图。图1中共示出两个步骤
步骤S110,生成一数据跟踪记录器并初始化。
步骤S120,当关键属性被赋值而使关键属性的值变化时,数据跟踪记录器记录关键属性的当前值、关联属性的当前值及一位置标识。其中,位置标识表示关键属性被赋值的代码段位置。
具体地,对象实例的各个属性在被函数调用或赋值。在各个函数或具有先后的函数中,关键属性的赋值在关联属性的赋值之后。当对象实例包括多个关联属性时,关键属性的赋值在至少一关联属性赋值之后,并保证在一函数中,没有关联属性在关键属性的赋值之后赋值。
具体而言,上述步骤S120中,当关键属性被赋值使其值变化时,触发数据跟踪记录器来记录关键属性的当前值、关联属性的当前值及位置标识。在引用对象实例的应用程序中,对象实例的关键属性的值会多次变化,则数据跟踪记录器累积记录关键属性的值每次变化时,关键属性的当前值、关联属性的当前值及位置标识。换言之,数据跟踪记录器只进行增加的操作而不进行删除或修改的操作。在一些优选地实施例中,数据跟踪记录器为字符串集合。字符串类型可保证可适应各种类型场景的数据记录。在又一些实施例中,数据跟踪记录器还记录关键属性的值变化时的时间戳,以作后续数据分析使用。若考虑数据跟踪记录器的最终数据大小,也可不对时间戳进行记录。
进一步地,为了表示关键属性被赋值的代码段位置,位置标识的赋值可以关键属性被赋值的代码段所在的函数的函数名。这样操作无需自定义代码段位置,采用已有的函数名便于后续的查找和定位。在又一些实施例中,为了表示关键属性被赋值的代码段位置,需自定义命名各对所述关键属性赋值的代码语句,位置标识的赋值所述关键属性被赋值的代码语句。在这样的实施例中,若同一函数对关键属性进行两次赋值也可以定位到具体的赋值语句,定位更为准确。在一些优选例中,位置标识可以作为对象实例的关联属性而被数据跟踪记录器记录,在这样的实施例中,位置标识需在关键属性被赋值后赋值。
在本发明的各实施例中,数据跟踪记录器可以在对象实例内初始化或在对象实例化初始化,下面分别通过图2和图3说明数据跟踪记录器不同初始化情况。
首先参见图2,图2示出了根据本发明实施例的数据跟踪记录器于对象实例内初始化的示意图。若数据跟踪记录器220在一对象实例210内初始化,则数据跟踪记录器220仅针对该对象实例210,记录跟踪该对象实例210的关键属性231的值变化时,关键属性231的当前值、关联属性232的当前值及位置标识233。对象实例210的属性230中的其他属性233无需记录。
在图2所示的实施例中,T轴表示时间轴。数据跟踪记录器220在一对象实例210内初始化。对象实例210的关键属性231在T1时间被赋值,其值KP为1。此时,对象实例210的关联属性232其值RP为2,位置标识234作为关联属性之一,其值LT为3。在T1时间触发数据跟踪记录器220记录关键属性231的当前值KP:1、关联属性232的当前值RP:2及位置标识234的当前值LT:3。
之后,对象实例210的关键属性231在T2时间被赋值,其值KP为4。此时,对象实例210的关联属性232其值RP为5,位置标识234作为关联属性之一,其值LT为6。在T2时间触发数据跟踪记录器220记录关键属性231的当前值KP:4、关联属性232的当前值RP:5及位置标识234的当前值LT:6。
对象实例210中各属性不再变化,则将数据跟踪记录器220序列化以进行储存。在一些变化例中,若数据跟踪记录器220中的数据总量具有一定限制,若数据跟踪记录器220中的数据总量达到限制,则将数据跟踪记录器220序列化以进行储存,同时再次在对象实例210中初始化数据跟踪记录器220,以记录对象实例210后续的属性变化。
下面参见图3,图3示出了根据本发明实施例的数据跟踪记录器于对象实例外初始化的示意图。若数据跟踪记录器320在对象实例(如310A及310B)外初始化,则数据跟踪记录器320可对多个对象实例(如310A及310B),记录跟踪对象实例(如310A及310B)的关键属性(如331A及331B)的值变化时,关键属性(如331A及331B)的当前值、关联属性(如332A及332B)的当前值及位置标识(如334A及334B)。对象实例(如310A及310B)的属性(如330A及330B)中的其他属性(如333A及333B)无需记录。在这样的实施例中,数据跟踪记录器320可作为对象实例的构造函数的参数。
在图3所示的实施例中,T轴表示时间轴。数据跟踪记录器320在对象实例外初始化。对象实例310A的关键属性331A在T1时间被赋值,其值KP为1。此时,对象实例310A的关联属性332A其值RP为2,位置标识334A作为关联属性之一,其值LT为3。在T1时间触发数据跟踪记录器320记录关键属性331A的当前值KP:1、关联属性332A的当前值RP:2及位置标识334A的当前值LT:3。
之后,对象实例310A的关键属性331A在T2时间被赋值,其值KP为4。此时,对象实例310A的关联属性332A其值RP为5,位置标识334A作为关联属性之一,其值LT为6。在T2时间触发数据跟踪记录器320记录关键属性331A的当前值KP:4、关联属性332A的当前值RP:5及位置标识334A的当前值LT:6。
然后,对象实例310B的关键属性331B在T3时间被赋值,其值KP为7。此时,对象实例310B的关联属性332B其值RP为8,位置标识334B作为关联属性之一,其值LT为9。在T3时间触发数据跟踪记录器320记录关键属性331B的当前值KP:7、关联属性332B的当前值RP:8及位置标识334B的当前值LT:9。
对象实例310A及310B中各属性不再变化,则将数据跟踪记录器320序列化以进行储存。在一些变化例中,若数据跟踪记录器320中的数据总量具有一定限制,若数据跟踪记录器320中的数据总量达到限制,则将数据跟踪记录器320序列化以进行储存,同时再次初始化数据跟踪记录器320,以记录对象实例310A及310B后续的属性变化。
可选地,在上述实施例中,还可以在数据跟踪记录器320中将不同对象实例的标识作为关联属性记录在数据跟踪记录器320中。
在一些实施例中,若有多个数据跟踪记录器,每个数据跟踪记录器对应记录的多个对象实例组成一记录单元。例如,数据跟踪记录器320对应记录的对象实例310A及310B组成一记录单元,该记录单元中中的多个对象实例具有相同的属性。换言之,对象实例310A与对象实例310B中具有相同的属性。优选地,对象实例310A与对象实例310B具有相同的关键属性。在一些变化例中,对象实例310A与对象实例310B具有相同的关联属性。这样,由于对象实例310A与对象实例310B中具有相同的属性(例如关键属性),对象实例310A与对象实例310B具有关联,同一数据跟踪记录器320对应记录关联的对象实例310A与对象实例310B以便于后续数据分析时增加一些维度的考量。
在又一些变化例中,数据跟踪记录器的数量也为多个。在该多个数据跟踪记录其中,一个数据跟踪记录可以只跟踪一个关键属性;一个数据跟踪记录也可以跟踪几个关键性属性;甚至可以多个数据跟踪记录只跟踪一个关键属性。这个在符合使用原则时,可以根据业务需要使用。在一个变化例中,各数据跟踪记录器以次为单位所记录的平均属性数量的差值小于1。例如,一个数据跟踪记录器第一次记录一对象实例的一个关键属性,两个关联属性及一个位置标识,第二次记录另一对象实例的一个关键属性,一个关联属性及一个位置标识。这样,该数据跟踪记录器以次为单位所记录的平均属性数量为3.5。而另一个数据跟踪记录器第一次记录一对象实例的一个关键属性,一个关联属性及一个位置标识,第二次记录另一对象实例的一个关键属性,一个关联属性及一个位置标识。这样,该另一数据跟踪记录器以次为单位所记录的平均属性数量为3。该两个数据跟踪记录器以次为单位所记录的平均属性数量的差值小于1。这样,可以便于数据跟踪记录器的统一管理。优选地,各数据跟踪记录器以次为单位所记录的平均属性数量相等。
下面以一些具体的实施例来说明本发明的对象实例关键属性及其关联属性的跟踪方法的应用。
在一些应用场景中,我们要跟踪一对象实例的价格的变化,在应用程序计算过程中,会存在多个逻辑对这个价格计算,增加或减少等,对价格这个关键的信息,我们会关心价格是什么情况下做了改变,也希望知道其变化时的关联值是什么,如可能是销售政策,这时关联属性可记录对应的销售政策。
在另一些应用场景中,如航空公司的值机选座业务,是否可选座是一个布尔值,这是一个关键属性,会存在多个逻辑对这个布尔值设置为true或false,和其关联的有几个属性,如航空公司,运价渠道等,我们希望记录布尔值变化,同时也记录对应的关联属性的值,以及可以方便得到关键属性发生改变时的代码位置。
下面以航空公司的值机选座业务为例,一对象实例如下:
以FlightBookSeatEntity为实例,该对象实例包括的属性字段如上,对航班查询返回是否可预约座位(IsSupportBookSeat)是一个布尔值,可作为本实施例中描述中的关键属性;而SeatError及Message可作为关联属性。
于该对象实例内创建并初始化一数据跟踪记录器:
List<string>changeLog=new List<string>();
数据跟踪记录器为集合类型,字符串类型可保证可适应各种类型场景的数据记录,在实例初始化时建立,关键属性赋值时,触发数据记录跟踪器,数据跟踪记录器的数据只新增,不做修改和删除。
在该对象实例内增加LogTag属性(位置标识),用于记录对关键属性赋值时的代码位置,对LogTag的赋值,可根据代码的上下文进行自定义赋值,LogTag的赋值用来准确定位代码的位置。LogTag可以作为关联属性的地位来处理。
应用程序运行时,IsSupportBookSeat为关键属性,在其关联属性(SeatError及Message)赋值后再赋值,关键属性赋值(关联属性的值变化)时,触发数据跟踪记录器记录关键属性及关联属性的当前值;
例如,当对象实例运行到第一时间点(如2017-05-02 08:55:28.743),关键属性IsSupportBookSeat的值为false,同时其关联属性SeatError值为“PNRError”,Message为“状态不支持预约座位”,LogTag为“FilterTicketNo”(其可以是函数名或自定义名称),对IsSupportBookSeat赋值时,数据跟踪记录器的值新增“SupportBookSeat:false;SeatError:PNRError;Message:状态不支持预约座位;LogTag:FilterTicketNo”的字符串记录。
当对象实例运行到第二时间点(如2017-05-02 08:55:28.745),关键属性IsSupportBookSeat值为false,同时其关联属性SeatError值为“AirlineError”,Message为“暂未开放东航选座”,LogTag为“FliterPNR”,对IsSupportBookSeat赋值时,数据跟踪记录器在原来值上增加对应记录:“SupportBookSeat:false;SeatError:AirlineError;Message:暂未开放东航选座;LogTag:FliterPNR”的字符串记录。
当对象实例运行完毕,数据跟踪记录器累计记录到的内容为
SupportBookSeat:false;SeatError:PNRError;Message:状态不支持预约座位;LogTag:FilterTicketNo SupportBookSeat:false;SeatError:AirlineError;Message:暂未开放东航选座;LogTag:FliterPNR
将对象实例及数据跟踪记录器序列化保存,最终记录了实例的属性值的最后状态及由数据跟踪记录器记录的关键属性及其关联属性变化的值。
下面同样以航空公司的值机选座业务为例,提供两个对象实例如下:
对象实例1:
对象实例2:
如以上对象实例1和对象实例2,如果同一个对象类(class)有不同的实例,多数情况下会有属性值不一样,比如上面对象实例1和对象实例2的OrderID(对象实例1和对象实例2的标识)。
当数据追踪记录器在对象实例1和对象实例2外实例化,以追踪记录对象实例1和对象实例2的关键属性IsSupportBookSeat的变化时,对象实例1和对象实例2的OrderID可以作为关联属性,当关键属性IsSupportBookSeat变化时,也将OrderID记录在数据追踪记录器内。
在这样的情况下,当对象实例1和对象实例2关键属性的值在相同的时间变化时,由于拿对象实例的不相同值(或者说是实例的标识值)来作为关键属性的关联属性,因此,在记录时无需判断变化的先后亦可分辨不同的对象实例。
以上仅仅是示意性的示出本发明提供的一个对象实例内初始化数据跟踪记录器的实施例,本发明并非以此为限。
下面结合图4描述本发明提供的对象实例关键属性及其关联属性的跟踪装置。跟踪装置410可以是一电子设备,如计算机、服务器、移动终端、平板电脑等,本发明并非以此为限。跟踪装置410包括处理器411及计算机可读存储介质412。计算机可读存储介质412上储存有计算机程序,该计算机程序被处理器411运行时执行如图1所示的两个步骤:生成一数据跟踪记录器并初始化;以及当关键属性被赋值而使关键属性的值变化时,数据跟踪记录器记录关键属性的当前值、关联属性的当前值及一位置标识,位置标识表示关键属性被赋值的代码段位置。此外,该计算机程序被处理器411运行时执行也可以实现上述任一实施例的步骤。
以上各个实施例的描述仅仅是示意性地,本领域技术人员还可以实现更多的变化例,在不背离本发明构思的前提下,步骤、模块的增加和省略都落入本发明的保护范围之内,在此不予赘述。
相比现有技术,本发明的优势在于:利用数据跟踪记录器跟踪记录对象实例的关键属性及其关联属性的变化过程,且关键属性发生变化时的代码位置可快速定位。此外,可根据对象实例的大小使得数据跟踪记录器在对象实例内和对象实例外初始化,以实现大数据量及跨实例的跟踪。数据跟踪记录器的记录了关键属性、关联属性的变化及关键属性变化时代码位置,这些数据可以用于后续大数据分析、机器学习等分析模型,以有效利用对象实例中关键属性的变化过程。
通过以上的实施方式的描述,本领域的技术人员易于理解,本公开实施例可以通过硬件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员可以理解,附图只是示例实施方式的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。
Claims (16)
1.一种对象实例关键属性及其关联属性的跟踪方法,其特征在于,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,
所述跟踪方法包括:
生成一数据跟踪记录器并初始化;以及
当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置,所述位置标识的赋值为所述关键属性被赋值的代码段所在的函数的函数名。
2.如权利要求1所述的跟踪方法,其特征在于,至少一关联属性被赋值后,所述关键属性被赋值。
3.如权利要求1所述的跟踪方法,其特征在于,所述数据跟踪记录器在一对象实例内初始化,该所述数据跟踪记录器仅针对该对象实例,记录跟踪该对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
4.如权利要求1所述的跟踪方法,其特征在于,所述数据跟踪记录器在对象实例外初始化,该所述数据跟踪记录器针对多个对象实例,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
5.如权利要求4所述的跟踪方法,其特征在于,所述数据跟踪记录器按多个对象实例的关键属性的值变化的时间顺序,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
6.如权利要求4所述的跟踪方法,其特征在于,所述数据跟踪记录器的数量为多个,每个所述数据跟踪记录器对应记录的多个对象实例组成一记录单元,每个所述记录单元中的多个对象实例具有相同的属性。
7.如权利要求4所述的跟踪方法,其特征在于,所述数据跟踪记录器的数量为多个,各所述数据跟踪记录器以次为单位所记录的平均属性数量的差值小于1。
8.如权利要求4所述的跟踪方法,其特征在于,所述数据跟踪记录器作为所述对象实例的构造函数的参数。
9.如权利要求1至8任一项所述的跟踪方法,其特征在于,所述位置标识作为所述对象实例的关联属性。
10.如权利要求1至8任一项所述的跟踪方法,其特征在于,所述数据跟踪记录器为字符串集合。
11.如权利要求1至8任一项所述的跟踪方法,其特征在于,所述关键属性的值多次变化时,所述数据跟踪记录器累积记录所述关键属性的值每次变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
12.如权利要求1至8任一项所述的跟踪方法,其特征在于,所述数据跟踪记录器还记录所述关键属性的值变化时的时间戳。
13.一种对象实例关键属性及其关联属性的跟踪装置,其特征在于,所述对象实例包括多个属性,所述多个属性包括至少一个关键属性及至少一个关联属性,至少一个所述关联属性的值的变化引起所述关键属性的值的变化,
所述跟踪装置包括:
处理器;
计算机可读存储介质,其上储存有计算机程序,所述计算机程序被所述处理器运行时执行如下步骤:
生成一数据跟踪记录器并初始化;以及
当所述关键属性被赋值而使所述关键属性的值变化时,所述数据跟踪记录器记录所述关键属性的当前值、所述关联属性的当前值及一位置标识,所述位置标识表示所述关键属性被赋值的代码段位置,所述位置标识的赋值为所述关键属性被赋值的代码段所在的函数的函数名。
14.如权利要求13所述的跟踪装置,其特征在于,至少一关联属性被赋值后,所述关键属性被赋值。
15.如权利要求13所述的跟踪装置,其特征在于,所述计算机程序被所述处理器运行时还执行如下步骤:
所述数据跟踪记录器在一对象实例内初始化,该所述数据跟踪记录器仅针对该对象实例,记录跟踪该对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
16.如权利要求13所述的跟踪装置,其特征在于,所述计算机程序被所述处理器运行时还执行如下步骤:
所述数据跟踪记录器在对象实例外初始化,该所述数据跟踪记录器针对多个对象实例,记录跟踪所述多个对象实例的关键属性的值变化时,所述关键属性的当前值、所述关联属性的当前值及所述位置标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710426621.XA CN107273264B (zh) | 2017-06-08 | 2017-06-08 | 对象实例关键属性及其关联属性的跟踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710426621.XA CN107273264B (zh) | 2017-06-08 | 2017-06-08 | 对象实例关键属性及其关联属性的跟踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273264A CN107273264A (zh) | 2017-10-20 |
CN107273264B true CN107273264B (zh) | 2020-09-11 |
Family
ID=60066031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710426621.XA Active CN107273264B (zh) | 2017-06-08 | 2017-06-08 | 对象实例关键属性及其关联属性的跟踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273264B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961374B (zh) * | 2017-12-22 | 2021-08-06 | 北京金风科创风电设备有限公司 | 风力发电机组运行数据的处理方法及装置 |
WO2020062097A1 (en) * | 2018-09-28 | 2020-04-02 | Nokia Shanghai Bell Co., Ltd. | Managed object instance identification for object management |
CN110400184B (zh) * | 2019-07-31 | 2022-07-05 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7359915B1 (en) * | 1999-07-02 | 2008-04-15 | Microsoft Corporation | Dynamic multi-object collection and comparison and action |
CN101515248A (zh) * | 2008-02-21 | 2009-08-26 | 国际商业机器公司 | 面向对象程序的跟踪方法和系统 |
CN105701006B (zh) * | 2014-11-28 | 2018-04-27 | 国际商业机器公司 | 用于程序调试中的变量跟踪的方法和系统 |
CN106093321B (zh) * | 2016-07-04 | 2018-09-04 | 中国农业科学院农业信息研究所 | 一种农产品市场监测系统及方法 |
CN106776935A (zh) * | 2016-12-01 | 2017-05-31 | 携程旅游网络技术(上海)有限公司 | 一种多维综合关联数据查询方法 |
-
2017
- 2017-06-08 CN CN201710426621.XA patent/CN107273264B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107273264A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273264B (zh) | 对象实例关键属性及其关联属性的跟踪方法及装置 | |
CN112463991B (zh) | 历史行为数据的处理方法、装置、计算机设备及存储介质 | |
US20210209624A1 (en) | Online platform for predicting consumer interest level | |
US20130086434A1 (en) | Configuration fault localization in shared resource environments | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN106547646B (zh) | 一种数据备份及恢复方法、数据备份及恢复装置 | |
US11366641B2 (en) | Generating microservices for monolithic system using a design diagram | |
US20210158076A1 (en) | Determining Model-Related Bias Associated with Training Data | |
WO2022042126A1 (en) | Fault localization for cloud-native applications | |
US11645279B2 (en) | Index selection for database query | |
WO2023078078A1 (en) | Unified data security labeling framework | |
US9460190B1 (en) | Attribute value dependent classification of items | |
US20230177052A1 (en) | Performance of sql execution sequence in production database instance | |
CN113992664B (zh) | 一种集群通信的方法、相关装置及存储介质 | |
US20220036006A1 (en) | Feature vector generation for probabalistic matching | |
CN111352824B (zh) | 测试方法、装置及计算机设备 | |
US20190095513A1 (en) | System and method for automatic data enrichment from multiple public datasets in data integration tools | |
JP2019128616A (ja) | 評価プログラム、評価方法及び情報処理装置 | |
CN113836186B (zh) | 基于es搜索引擎的仿真数据查询方法及装置 | |
JP7196757B2 (ja) | 分析支援プログラム、分析支援方法、分析支援装置および分析支援システム | |
US11928117B2 (en) | Live comment management | |
CN115167909B (zh) | 一种变更文件的管理方法及装置 | |
CN107844485A (zh) | 测试脚本文件的更新方法和装置 | |
CN117708114A (zh) | 资源处理方法、装置、计算机设备和存储介质 | |
CN105763363A (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 |