CN108270604B - 一种业务数据变更的追踪方法和*** - Google Patents
一种业务数据变更的追踪方法和*** Download PDFInfo
- Publication number
- CN108270604B CN108270604B CN201611264685.6A CN201611264685A CN108270604B CN 108270604 B CN108270604 B CN 108270604B CN 201611264685 A CN201611264685 A CN 201611264685A CN 108270604 B CN108270604 B CN 108270604B
- Authority
- CN
- China
- Prior art keywords
- tracking
- data
- class
- attribute
- value
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0233—Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种业务数据变更的追踪方法和***,所述方法包括如下步骤:对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法;执行所述置换之后的被测业务应用的程序,截获到被测业务应用的程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息。
Description
技术领域
本发明属于程序调试技术领域,具体涉及一种面向对象的业务数据模型中单一属性数据变更的追踪方法和***。
背景技术
面向对象的业务数据模型中数据的描述通过大量的单一属性进行描述,这些单一属性数据的每一个值都代表了不同的业务意义,并且这些单一属性数据的值在整个业务处理的过程中会经过多次处理、多次变更,通常一个业务逻辑需要经过成千上万行的程序代码进行业务处理,当这些业务逻辑出问题的时候一般情况都由编程分析人员通过分析程序代码和查看程序执行日志的方式进行问题分析和程序调试,对编程分析人员的编程能力要求较高,花费时间也比较长,不及时分析又会出现日志找不到等情况,随着整个业务***功能和业务量的不断增长,对程序开发和测试人员都带来了很大的调试难度。
例如,申请号为201010274702.0的中国发明专利申请,提供了一种采集业务数据包日志信息的方法及业务逻辑处理***,通过入口业务逻辑处理模块为业务数据包添加数据标记和路由标记,将采集到的包含所述数据标记和路由标记的日志信息发送给日志服务器,后续业务逻辑处理模块,修改所述路由标记,并将采集到的包含所述数据标记和路由标记的日志信息发送给日志服务器。使得重复业务数据包在各个业务处理逻辑模块中采集的信息能够区分,而且在有多次交互的业务数据包处理过程中采集的信息也能够区分。
然而在以上专利中,由于业务数据日志文件内容大,不易查找,很难回溯当时场景。代码分析难度高,很难重现问题分析,即使修复问题仍然很难进行验证。
发明内容
为解决以上现有技术中存在的问题,本发明提出了一种业务数据变更的追踪方法和***,所述业务追踪可以细致到数据属性被多次变更的每次变更情况,新值与旧值均可追踪。
具体的,根据本发明的一个方面,本发明提供了一种业务数据变更的追踪方法,所述方法包括如下步骤:
对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致;
在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法;
执行所述置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息。
优选的,如上所述的业务数据变更的追踪方法,被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,包括:追踪业务数据类的追踪数据属性、变更操作对象的信息及所在业务应用程序的信息。
更优选的,如上所述的业务数据变更的追踪方法,所述追踪业务数据类的追踪数据属性至少包括:追踪数据属性变更操作前的原始值、变更操作后的最后值;变更操作的信息至少包括:变更操作对象的类名称、变更操作方法名称;所在业务应用程序的信息至少包括所在被测应用程序的行数。
优选的,如上所述的业务数据变更的追踪方法,在所述执行所述置换之后的被测业务应用程序的步骤之前,还包括以下步骤:
建立追踪帮助类,用于实现截获追踪业务数据类的追踪数据属性及其变更操作信息。
更优选的,如上所述的业务数据变更的追踪方法,在所述执行所述置换操作方法之后的被测业务应用程序的步骤之前,还包括以下步骤:
建立追踪记录类,用于记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,至少包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
更优选的,如上所述的业务数据变更的追踪方法,在所述执行所述置换操作方法之后的被测业务应用程序的步骤之前,还包括以下步骤:
建立追踪记录元素类,用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
更优选的,如上所述的业务数据变更的追踪方法,所述对追踪业务数据类的追踪数据属性的值进行变更并对变更来源进行截获的方法,通过以下方法实现:将“属性名”对应的数据属性的值变更为“属性值”,同时调用追踪帮助类的方法截获追踪数据的信息。
根据本发明的另一个方面,本发明还提供了一种业务数据变更的追踪***,所述***包括:
追踪业务数据模型建立模块,用于对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致;
操作方法置换模块,用于在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法;
追踪数据截获模块,用于执行所述置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息。
优选的,如上所述的业务数据变更的追踪***,追踪数据截获单元中所述被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,包括:追踪业务数据类的追踪数据属性、变更操作对象的信息及所在业务应用程序的信息。
更优选的,如上所述的业务数据变更的追踪***,所述追踪业务数据类的追踪数据属性至少包括:追踪数据属性变更操作前的原始值、变更操作后的最后值;变更操作的信息至少包括:变更操作对象的类名称、变更操作方法名称;所在业务应用程序的信息至少包括所在被测应用程序的行数。
优选的,如上所述的业务数据变更的追踪***,所述***还包括:
追踪帮助模块,用于建立追踪帮助类,实现截获追踪业务数据类的追踪数据属性及其变更操作信息;
追踪记录模块,用于建立追踪记录类,记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,至少包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
更优选的,如上所述的业务数据变更的追踪***,所述***还包括:
追踪记录元素模块,用于建立追踪记录元素类,用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
更优选的,如上所述的业务数据变更的追踪***,所述对追踪业务数据类的追踪数据属性的值进行变更并对变更来源进行截获的方法,通过以下方式实现:将“属性名”对应的数据属性的值变更为“属性值”,同时调用追踪帮助类的方法截获追踪数据的信息。
本发明提供的一种业务数据变更的追踪的方法及***具有如下的优势:通过建立追踪业务数据模型,将要追踪的业务数据以单一数据属性粒度集中在一个模型中,然后抓住追踪数据属性在业务应用场景中的变更情况,从而获得单一数据属性的追踪粒度,得到每一次数据变更的来源和历程信息。从而达到问题回溯和准确重现的效果;而根据需要可以随时发起业务追踪又表现出是一个很便捷的调试程序的方法。下列信息均可以准确的进行追踪和查询:在被测业务应用***中关键数据信息内容被修改过多少次,哪些位置被修改过,修改前的内容是什么,每次修改后的新内容,发生数据变更时被测业务应用***中业务模型的名称、所在程序代码行的位置等。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明优选实施例的一种业务数据变更的追踪方法流程图。
图2为本发明对业务数据进行补充形成通用追踪信息的方法流程图。
图3为本发明业务数据的来源示意图。
图4为本发明建立业务数据操作的类的原理示意图。
图5为本发明建立业务数据操作的类的处理流程图。
图6为本发明举例示意置换及变更操作、截获数据的具体过程示意图。
图7为根据本发明的一种业务数据变更的追踪***结构示意图。
图8为根据本发明的另一种业务数据变更的追踪***结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决使用面向对象的数据模型进行业务处理分析的管理***的程序调试问题,本发明提出一种业务数据变更的追踪方法,实施例流程图如图1 所示,所述追踪方法包括如下步骤:
S110、建立追踪业务数据模型:
对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致。
例如,安全防火墙的日志数据、网络管理***中的告警数据,人事管理***中的人员数据,在建立了面向对象的数据模型并进行处理分析的软件***后,关于对面向对象的日志数据、面向对象的告警数据、面向对象的人员数据,在***调试过程中,要跟踪这些数据的全生命周期中的变更情况。
如图3所示,业务数据的来源有多种方式,如数据库、高速缓存、配置数据、其他业务***等多个方面,经历的处理分析过程也是多种多样。所以要实现对这些业务实现过程中的业务数据的追踪,就要首先解决业务数据模型的统一。例如,如图2所示,告警业务数据可以包括:告警的设备信息、区域信息、网络信息、故障描述,故障级别,厂家信息、对端信息、工程信息、告警解释、工单信息、应急预案、维护信息等相关内容。
本步骤要建立一个面向对象的追踪业务数据类。
如建立通用告警信息类如下:
message CommonAlarm{
optional string province_name=1;//所在省名称
optional string city_name=2;//所在城市名称
optional string alarm_source=3;//告警来源
optional sint32vendor_id=4;//设备厂商标识
optional sint32sys_vendor_id=5;
optional string eqp_version=6;
optional string eqp_label=7;
optional string eqp_alias=8;
optional sint32eqp_object_class=9;
……
optional string alarm_unit=133;
optional string alarm_content=134;
optional string nms_name=135;
optional string vendor_name=136;//设备厂商名称
……
optional sint32area_type=271;
optional string township=272;
optional string ext_team_info=273;
setValue(“属性名”,”属性值”);//对追踪数据属性的值进行变更并同时截获数据的方法;
}
所述对追踪数据属性的值进行变更并对变更来源进行截获的方法,通过形如setValue(“属性名”,“属性值”)形式的方法实现,具体内容包括:将“属性名”对应的数据属性的值变更为“属性值”,同时会调用截获追踪数据的方法截获追踪数据的信息,并将追踪的信息另外保存。
因为所有的操作都是对追踪业务数据类中通用追踪信息的每个属性的操作设置和获取方法,这么使用完全符合语言封装的特点,但对于属性太多,并且在属性增加后同时进行相应拦截代码的添加,会为每一次的模型变动带来很大的麻烦和不稳定性,所以需要将操作入口统一,对模型的操作进行相应的简单建立。
例如,使用统一模型将告警业务操作集中到对追踪告警业务数据信息(CommonAlarm)对象进行设置。由此,将网络管理***中复杂的业务操作进行集中,便于下一步处理。该统一模型能够对平行的、互相之间不嵌套的单一属性进行定义。
S120、置换操作方法步骤:
在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法。
例如在被测业务应用的程序语句中检索到EqpInfoCommand类的setVendorInfo方法中,检索到ResourceInfoCommand类的changeVendor 方法中,有对追踪告警数据类的vendor_name进行变更。那么可以进行如下置换:
(1)EqpInfoCommand类的setVendorInfo方法中,对于原来某个类的 vendor_name的更改(由空值变更为HW)被置换为对CommonAlarm进行 vendor_name值的修改(由空值变更为HW),同时调用截获追踪数据的方法。
(2)ResourceInfoCommand类的changeVendor方法中,对于原来某个类的vendor_name的更改被置换为对CommonAlarm进行vendor_name值的修改(由空值变更为ZX),同时调用截获追踪数据的方法。
S130、执行所述置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息。
被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,包括:追踪业务数据类的追踪数据属性、变更操作对象的信息及所在业务应用程序的信息。所述追踪业务数据类的追踪数据属性包括:追踪数据属性变更操作前的原始值、变更操作后的最后值;变更操作的信息包括:变更操作对象的类名称、变更操作方法名称;所在业务应用程序的信息包括所在被测应用程序的行数。
关于实现面向对象的数据跟踪的又一实施例如下:
建立追踪帮助类,用于实现截获追踪业务数据类的追踪数据属性及变更操作信息,并截获追踪数据的方法。
例如关于告警数据的追踪帮助类关键信息说明如下:
AlarmTraceHelper类:用于分析和保存拦截操作和记录操作的详细数据。
setAlarmTraceInfo方法:用于记录拦截的信息中的属性,原始值和最后值及相应的操作者信息。setAlarmTraceInfo方法在CommonAlarm的 SetValue()中被调用。
建立追踪记录类,用于记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,至少包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
例如关于告警数据的追踪记录类关键信息说明如下:AlarmTrace类:保存拦截信息属性、原始值、最后值和每次的操作者信息。
Put方法:用于将每一次的操作信息记录到AlarmTraceElements集合中。
attrName:赋值的属性名称。
orgValue:原始的值。
finalValue:最终值。
alarmTraceElements:操作信息。
AlarmTracesElement类:记录操作的具体信息。
className:操作的类名称。
methodName:操作的方法名称。
orgValue:原始值。
newValue:新值。
如图4所示,为本发明建立业务数据操作的类的方法流程图。图5为本发明建立业务数据追踪相关操作的类的处理流程图。其中:
通用告警信息类(CommonAlarm),只开发设置值(setValue)的方法,所有操作均以设置值的方式进行业务字段的操作。通过修改厂家信息并调用设置值的方法得到追踪业务数据类。
追踪帮助类(AlarmTraceHelper),用于实现截获追踪业务数据类的追踪数据属性及其变更操作信息。并按照属性保存数据操作结果的列表,里面包含操作的所有数据。通过调用setAlarmTraceInfo方法,进行截获,获取追踪数据。
追踪记录类(AlarmTrace),用于记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。通过调用put命令保存拦截到的追踪数据属性相关信息,得到追踪记录类。
追踪记录元素类(AlarmTraceElement),用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
如图6所示,举例示意置换及变更操作、截获数据的具体过程如下:
(1)首先EqpInfoCommand类的setVendorInfo方法中,对于原来某个类的vendor_name的更改(由空值变更为HW)被置换为对CommonAlarm进行vendor_name值的修改(由空值变更为HW),同时调用AlarmTraceHelper 类的setAlarmTraceInfo方法。
(2)ResourceInfoCommand类的changeVendor方法中,对于原来某个类的vendor_name的更改被置换为对CommonAlarm进行vendor_name值的修改(由空值变更为ZX),同时调用AlarmTraceHelper类的setAlarmTraceInfo 方法。
(3)调用设备信息命令类(EqpInfoCommand)中设置厂商信息 (setVendorInfo)的方法对通用告警追踪信息类CommonAlarm进行厂商名称值(vendor_name)的修改,使得提供方名称属性由空值变更为HW。设备信息命令类在调用通用告警追踪信息类的上述值被修改为HW时通过调用追踪帮助类AlarmTraceHelper进行操作拦截,这就是说在setValue方法中,同时执行AlarmTraceHelper的setAlarmTraceInfo方法,将拦截的信息保存到追踪记录类中,这就是说在AlarmTraceHelper的setAlarmTraceInfo方法中,执行如下语句AlarmTrace.attrName=vendor_name等。对应关系如下:
AlarmTrace.attrName=vendor_name
AlarmTrace.orgValue=’’
AlarmTrace.finaleValue=HW
AlarmTrace.AlarmTraceElement.className=EqpInfoCommand.class
AlarmTrace.AlarmTraceElement.methodName=setVendorInfo
AlarmTrace.AlarmTraceElement.lineNumber=301
AlarmTrace.AlarmTraceElement.orgValue=’’
AlarmTrace.AlarmTraceElement.newValue=HW
(4)调用资源信息命令类(ResourceInfoCommand)的改变厂商 (changeVendor)的方法对通用告警追踪信息类CommonAlarm进行厂商名称值的修改,厂商名称属性由空值变更为ZX。资源信息命令类在调用通用告警信息类的上述值被修改为ZX时调用追踪帮助类AlarmTraceHelper进行操作拦截,将拦截的信息保存到追踪记录类中。对应关系如下:
AlarmTrace.attrName=vendor_name
AlarmTrace.orgValue=’’
AlarmTrace.finaleValue=ZX
AlarmTrace.AlarmTraceElement.className=ResourceInfoCommand.cl ass
AlarmTrace.AlarmTraceElement.methodName=changeVendor
AlarmTrace.AlarmTraceElement.lineNumber=108
AlarmTrace.AlarmTraceElement.orgValue=HW
AlarmTrace.AlarmTraceElement.newValue=ZX
由此可见,通过上述拦截操作,可以清晰记录两次是由哪个类的哪个方法发起的操作,操作方法在类中代码行数,修改之前的值是多少,修改之后的值是多少。
本发明的如下优选实施例,如表1所示,是通过对线程栈进行分析和过滤得到相应的操作类、方法、代码行。
表1
如图7所示,根据本发明的另一个方面,本发明还提供了一种业务数据变更的追踪***200,所述***包括:
追踪业务数据模型建立模块210,用于对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致。
操作方法置换模块220,用于在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法。
追踪数据截获模块230,用于执行所述置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息。
如图8所示,在本发明的另一个实施例中,所述***还可以包括:
追踪帮助模块240,用于建立追踪帮助类,实现截获追踪业务数据类的追踪数据属性及其变更操作信息。
追踪记录模块250,用于建立追踪记录类,记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
追踪记录元素模块260,用于建立追踪记录元素类,用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种业务数据变更的追踪方法,其特征在于,所述方法包括如下步骤:
对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致;
在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法;
建立追踪帮助类,用于实现截获追踪业务数据类的追踪数据属性及其变更操作信息;执行置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息;
对追踪业务数据类的追踪数据属性的值进行变更并对变更来源进行截获的方法,通过以下方法实现:将“属性名”对应的数据属性的值变更为“属性值”,同时调用追踪帮助类的方法截获追踪数据的信息。
2.如权利要求1所述的业务数据变更的追踪方法,其特征在于,被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,包括:追踪业务数据类的追踪数据属性、变更操作对象的信息及所在业务应用程序的信息。
3.如权利要求2所述的业务数据变更的追踪方法,其特征在于,所述追踪业务数据类的追踪数据属性至少包括:追踪数据属性变更操作前的原始值、变更操作后的最后值;变更操作的信息至少包括:变更操作对象的类名称、变更操作方法名称;所在业务应用程序的信息至少包括所在被测应用程序的行数。
4.如权利要求1所述的业务数据变更的追踪方法,其特征在于,在执行置换操作方法之后的被测业务应用程序的步骤之前,还包括以下步骤:
建立追踪记录类,用于记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,至少包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
5.如权利要求4所述的业务数据变更的追踪方法,其特征在于,在所述执行所述置换操作方法之后的被测业务应用程序的步骤之前,还包括以下步骤:
建立追踪记录元素类,用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
6.一种业务数据变更的追踪***,其特征在于,所述***包括:
追踪业务数据模型建立模块,用于对被测业务应用中被追踪的业务数据进行模型抽象,建立面向对象的追踪业务数据类,所述追踪业务数据类包括追踪数据属性及对追踪数据属性的值进行变更并对变更来源进行截获的方法;所述追踪数据属性的类型的定义与被追踪的业务数据在被测业务应用中的原业务数据类的对应数据属性类型保持一致;
操作方法置换模块,用于在被测业务应用的程序语句中检索被追踪业务数据在原业务数据类中的数据变更操作方法,将检索到的所述操作方法置换为所述追踪业务数据类的对追踪数据属性的值进行变更并对变更来源进行截获的方法;
追踪帮助模块,用于建立追踪帮助类,实现截获追踪业务数据类的追踪数据属性及其变更操作信息;
追踪数据截获模块,用于执行置换之后的被测业务应用程序,截获到被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,并记录相关信息;
对追踪业务数据类的追踪数据属性的值进行变更并对变更来源进行截获的方法,通过以下方式实现:将“属性名”对应的数据属性的值变更为“属性值”,同时调用追踪帮助类的方法截获追踪数据的信息。
7.如权利要求6所述的业务数据变更的追踪***,其特征在于,追踪数据截获单元中所述被测业务应用程序中追踪业务数据类的追踪数据属性的值进行变更的过程数据,包括:追踪业务数据类的追踪数据属性、变更操作对象的信息及所在业务应用程序的信息。
8.如权利要求7所述的业务数据变更的追踪***,其特征在于,所述追踪业务数据类的追踪数据属性至少包括:追踪数据属性变更操作前的原始值、变更操作后的最后值;变更操作的信息至少包括:变更操作对象的类名称、变更操作方法名称;所在业务应用程序的信息至少包括所在被测应用程序的行数。
9.如权利要求6所述的业务数据变更的追踪***,其特征在于,所述***还包括:
追踪记录模块,用于建立追踪记录类,记录追踪业务数据类的追踪数据属性及其变更操作,并按照数据属性名分别保存每个数据属性变更操作结果的列表,至少包括追踪数据的属性、每一次变更操作前的原始值和变更操作后的最终值,以及每一次变更操作的类相关信息。
10.如权利要求9所述的业务数据变更的追踪***,其特征在于,所述***还包括:
追踪记录元素模块,用于建立追踪记录元素类,用于至少记录变更追踪数据的操作对象的类名称、方法名称、操作的行号、原始值、最新值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611264685.6A CN108270604B (zh) | 2016-12-30 | 2016-12-30 | 一种业务数据变更的追踪方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611264685.6A CN108270604B (zh) | 2016-12-30 | 2016-12-30 | 一种业务数据变更的追踪方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108270604A CN108270604A (zh) | 2018-07-10 |
CN108270604B true CN108270604B (zh) | 2022-01-07 |
Family
ID=62770127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611264685.6A Active CN108270604B (zh) | 2016-12-30 | 2016-12-30 | 一种业务数据变更的追踪方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108270604B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562954B (zh) * | 2020-05-18 | 2024-04-19 | 网易(杭州)网络有限公司 | 数据的处理方法及装置、存储介质、处理器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727385A (zh) * | 2008-10-31 | 2010-06-09 | 国际商业机器公司 | 用于处理用户接口信息变化的方法和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160323160A1 (en) * | 2015-04-29 | 2016-11-03 | AppDynamics, Inc. | Detection of node.js memory leaks |
CN105656688B (zh) * | 2016-03-03 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 状态控制方法和装置 |
-
2016
- 2016-12-30 CN CN201611264685.6A patent/CN108270604B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727385A (zh) * | 2008-10-31 | 2010-06-09 | 国际商业机器公司 | 用于处理用户接口信息变化的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN108270604A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210352098A1 (en) | System for automatically discovering, enriching and remediating entities interacting in a computer network | |
US9672137B1 (en) | Shadow test replay service | |
US9697104B2 (en) | End-to end tracing and logging | |
US9465725B2 (en) | Software defect reporting | |
CN102880546B (zh) | 一种基于xml数据库的软件集成测试方法及*** | |
CN110928772A (zh) | 一种测试方法及装置 | |
WO2019085061A1 (zh) | 基金***自动化测试管理方法、装置、设备及存储介质 | |
US10177984B2 (en) | Isolation of problems in a virtual environment | |
US9122784B2 (en) | Isolation of problems in a virtual environment | |
CN105787364B (zh) | 任务的自动化测试方法、装置及*** | |
US10528456B2 (en) | Determining idle testing periods | |
CN107003931B (zh) | 将测试验证从测试执行分离 | |
US9632922B2 (en) | Workload mapper for potential problem areas using modules and defect data | |
CA2811617C (en) | Commit sensitive tests | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
US20170060577A1 (en) | Documentation notification | |
CN106126419A (zh) | 一种应用程序的调试方法及装置 | |
US20140250332A1 (en) | Log file reduction according to problem-space network topology | |
US11119899B2 (en) | Determining potential test actions | |
CN108270604B (zh) | 一种业务数据变更的追踪方法和*** | |
US20220337620A1 (en) | System for collecting computer network entity information employing abstract models | |
CN107885648B (zh) | 一种生成测试报告的方法和装置 | |
CN110968779A (zh) | 网页信息爬取的处理方法和装置 | |
US20200394129A1 (en) | Self healing software utilizing regression test fingerprints | |
US12026144B1 (en) | Populating multi-layer technology product catalogs |
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 |