CN103488474A - 数据对象监听装置和数据对象监听方法 - Google Patents

数据对象监听装置和数据对象监听方法 Download PDF

Info

Publication number
CN103488474A
CN103488474A CN201310392072.0A CN201310392072A CN103488474A CN 103488474 A CN103488474 A CN 103488474A CN 201310392072 A CN201310392072 A CN 201310392072A CN 103488474 A CN103488474 A CN 103488474A
Authority
CN
China
Prior art keywords
data object
data
business procedure
service logic
described business
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.)
Pending
Application number
CN201310392072.0A
Other languages
English (en)
Inventor
张映祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
You Pu Information Technology Co., Ltd of UFSOFT
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN201310392072.0A priority Critical patent/CN103488474A/zh
Publication of CN103488474A publication Critical patent/CN103488474A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据对象监听装置,包括:绑定单元,在接收到来自业务程序的绑定请求时,绑定所述业务程序;监听单元,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,并进行存储;处理单元,根据所述监听单元监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。相应地,本发明还提供了一种数据对象监听方法。通过本申请的技术方案,可以把开始逻辑检查时数据对象的状态和数据记录下来,以保证在整个检查过程中出现业务逻辑不通过(或出现异常错误)时,能够恢复到之前的状态。

Description

数据对象监听装置和数据对象监听方法
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据对象监听装置和数据对象监听方法。
背景技术
在ERP(Enterprise Resource Planning,企业资源计划系统)的开发实现过程中,业务对象在维护过程中所需要执行的业务逻辑检查是非常复杂的,如物料清单产品中的物料清单业务对象,其所需要的数据有:版本信息、母件信息、子件信息、子件选项信息、子件替代料信息、子件定位符信息、子件阶梯损耗信息等等,这些信息组成了一个数据的树形结构,在维护时,修改树型结构上的任何一点,都会影响到其它点的数据,其它点数据在发生变化时又会产生联动变化,导致一系列的业务逻辑检查过程被触发;即最初的业务逻辑触发点无法预知整个数据对象会被哪些独立的业务检查过程所修改。
因此,需要一种新的技术方案,可以把开始逻辑检查时数据对象的状态和数据记录下来,以保证在整个检查过程中出现业务逻辑不通过(或出现异常错误)时,能够恢复到之前的状态。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以把开始逻辑检查时数据对象的状态和数据记录下来,以保证在整个检查过程中出现业务逻辑不通过(或出现异常错误)时,能够恢复到之前的状态。
有鉴于此,本发明提出了一种数据对象监听装置,包括:绑定单元,在接收到来自业务程序的绑定请求时,绑定所述业务程序;监听单元,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,进行存储;处理单元,根据所述监听单元监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
在该技术方案中,预定操作包括:接收变化和放弃变化。监听单元对数据对象进行监听,并记录数据对象上发生的所有变化,如新增、修改、删除等,并把变化信息保存,这样在业务逻辑执行通过或未通过时,可以进行确认修改、撤销修改等操作。
在上述技术方案中,优选地,所述处理单元包括:执行子单元,在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
在该技术方案中,在业务逻辑执行通过时,接受记录的数据对象的所有变化,并将记录的信息删除,在业务逻辑执行出现异常或未通过时,撤销对数据对象进行的所有修改,使数据对象回到原始状态,即回到此次业务逻辑过程的开始状态。
在上述技术方案中,优选地,还包括:解绑定单元,在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
在该技术方案中,在程序结束或数据对象销毁时,会解除与数据对象的绑定动作,当然也可以依据要求手工解除绑定。
在上述技术方案中,优选地,还包括:触发单元,在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则触发所述处理单元;以及所述处理单元还用于,根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
在数据对象销毁,造成意外解绑定动作时,可以依据业务程序的删除或撤销命令进行相应的提交确认变化数据或撤销回滚动作,这样,避免因意外解绑定而给用户带来使用上的不便。
在上述技术方案中,优选地,还包括:显示单元,对所述数据对象的变化数据进行显示。
在该技术方案中,用户还可以通过显示单元对数据对象的变化对象进行查看,从而根据查看结果进行其他的操作。
根据本发明的另一方面,还提供了一种数据对象监听方法,包括:步骤202,在接收到来自业务程序的绑定请求时,绑定所述业务程序;步骤204,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,并进行存储;步骤206,根据监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
在该技术方案中,预定操作包括:接收变化和放弃变化。监听单元对数据对象进行监听,并记录数据对象上发生的所有变化,如新增、修改、删除等,并把变化信息保存,这样在业务逻辑执行通过或未通过时,可以进行确认修改、撤销修改等操作。
在上述技术方案中,优选地,所述步骤206具体包括:在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
在该技术方案中,在业务逻辑执行通过时,接受记录的数据对象的所有变化,并将记录的信息删除,在业务逻辑执行出现异常或未通过时,撤销对数据对象进行的所有修改,使数据对象回到原始状态,即回到此次业务逻辑过程的开始状态。
在上述技术方案中,优选地,还包括:在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
在该技术方案中,在程序结束或数据对象销毁时,会解除与数据对象的绑定动作,当然也可以依据要求手工解除绑定。
在上述技术方案中,优选地,还包括:在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
在数据对象销毁,造成意外解绑定动作时,可以依据业务程序的删除或撤销命令进行相应的提交确认变化数据或撤销回滚动作,这样,避免因意外解绑定而给用户带来使用上的不便。
在上述技术方案中,优选地,还包括:步骤210,对所述数据对象的变化数据进行显示。
在该技术方案中,用户还可以通过显示单元对数据对象的变化对象进行查看,从而根据查看结果进行其他的操作。
通过以上技术方案,可以把开始逻辑检查时数据对象的状态和数据记录下来,以保证在整个检查过程中出现业务逻辑不通过(或出现异常错误)时,能够恢复到之前的状态。
附图说明
图1示出了根据本发明的实施例的数据对象监听装置的框图;
图2示出了根据本发明的实施例的数据对象监听方法的流程图;
图3示出了根据本发明的实施例的数据对象监听装置的交互用例示意图;
图4示出了根据本发明的实施例的数据对象监听装置的静态视图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面是对本发明中出现的名词的释义:
数据对象:对软件系统必须理解的复合信息的抽象,复合信息是指具有一系列不同性质或属性的事物,仅有单个值的事物(例如,宽度)不是数据对象。
DataSet:Microsoft软件公司实现的一种数据对象的封装方式,主要用于Visual Studio开发平台所设计实现的软件程序和系统。
定制化DataSet:使用面向对象软件技术实现的特殊化的数据对象,此对象是从DataSet继承的,并提供了特殊的、明确的数据信息,如销售订单、生产订单等。
绑定:把数据对象和本装置进行关联,使本装置能够对数据对象进行一系列的识别和相关操作。
监听:在数据对象发生变化时,本装置会立即得到通知,通知中包含数据对象变化的类型及其详细的变动数据。
提交:确认本装置监听到的所有变化时有效的。
回滚:在业务逻辑过程中,因部分业务逻辑不通过,导致整个业务逻辑过程中对数据对象做出的变化全部撤销,由本装置执行撤销所有变化,并恢复到开始监听时数据对象的状态和数值。
解绑:分离数据对象和本装置之间的关联关系,本装置不再对数据对象进行任何识别和相关操作。
变化列表:本装置用于存储数据对象变化过程中产生的所有数据,主要用于变化过程的展现和变化的回滚。
图1示出了根据本发明的实施例的数据对象监听装置的框图。
如图1所示,根据本发明的实施例的数据对象监听装置100,包括:绑定单元102,在接收到来自业务程序的绑定请求时,绑定所述业务程序;监听单元104,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,并进行存储;处理单元106,根据所述监听单元监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
在该技术方案中,预定操作包括:接收变化和放弃变化。监听单元对数据对象进行监听,并记录数据对象上发生的所有变化,如新增、修改、删除等,并把变化信息保存,这样在业务逻辑执行通过或未通过时,可以进行确认修改、撤销修改等操作。
在上述技术方案中,优选地,所述处理单元106包括:执行子单元1062,在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
在该技术方案中,在业务逻辑执行通过时,接受记录的数据对象的所有变化,并将记录的信息删除,在业务逻辑执行出现异常或未通过时,撤销对数据对象进行的所有修改,使数据对象回到原始状态,即回到此次业务逻辑过程的开始状态。
在上述技术方案中,优选地,还包括:解绑定单元108,在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
在该技术方案中,在程序结束或数据对象销毁时,会解除与数据对象的绑定动作,当然也可以依据要求手工解除绑定。
在上述技术方案中,优选地,还包括:触发单元110,在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则触发所述处理单元;以及所述处理单元还用于,根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
在数据对象销毁,造成意外解绑定动作时,可以依据业务程序的删除或撤销命令进行相应的提交确认变化数据或撤销回滚动作,这样,避免因意外解绑定而给用户带来使用上的不便。
在上述技术方案中,优选地,还包括:显示单元112,对所述数据对象的变化数据进行显示。
在该技术方案中,用户还可以通过显示单元对数据对象的变化对象进行查看,从而根据查看结果进行其他的操作。
其中,数据对象监听装置的实现要点:
1、数据对象监听装置能够监控的数据对象为基于Microsoft软件公司的DotNet Framework技术框架的<DataSet>对象,或者是定制化的DataSet对象;
2、在数据对象创建时,通过数据对象监听装置的<绑定>动作,把数据对象监听装置绑定的数据对象上;
3、通过参数的设置来决定,缺省情况下是否执行对数据对象的<立即监听>动作;
4、在数据对象存在期间,可以通过<开始监听>功能,监听数据对象的变化,并把详细的变化细节记录到<列表>中进行内存储存;
5、在数据对象的存在期间,可以通过<放弃监听>功能,把从<开始监听>监听到的所有的数据对象的变化情况全部删除(接受变化),释放内存中记录的所有变化细节列表;
6、在数据对象的存在期间,可以通过<撤销变化>功能,把从<开始监听>监听到的所有的数据对象的变化情况全部撤销(放弃变化),释放内存中记录的所有变化细节列表;
7、在数据对象的存在期间,可以通过<变化列表>功能,获取从<开始监听>监听到的所有的数据对象的变化列表;
8、在数据对象销毁时,自动进行数据对象监听装置的<解绑>动作,并依据预先设置参数进行数据的提交确认或撤销回滚动作。
图2示出了根据本发明的实施例的数据对象监听方法的流程图。
如图2所示,根据本发明的实施例的数据对象监听方法,包括:步骤202,在接收到来自业务程序的绑定请求时,绑定所述业务程序;步骤204,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,并进行存储;步骤206,根据监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
在该技术方案中,预定操作包括:接收变化和放弃变化。监听单元对数据对象进行监听,并记录数据对象上发生的所有变化,如新增、修改、删除等,并把变化信息保存,这样在业务逻辑执行通过或未通过时,可以进行确认修改、撤销修改等操作。
在上述技术方案中,优选地,所述步骤206具体包括:在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
在该技术方案中,在业务逻辑执行通过时,接受记录的数据对象的所有变化,并将记录的信息删除,在业务逻辑执行出现异常或未通过时,撤销对数据对象进行的所有修改,使数据对象回到原始状态,即回到此次业务逻辑过程的开始状态。
在上述技术方案中,优选地,还包括:在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
在该技术方案中,在程序结束或数据对象销毁时,会解除与数据对象的绑定动作,当然也可以依据要求手工解除绑定。
在上述技术方案中,优选地,还包括:在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
在数据对象销毁,造成意外解绑定动作时,可以依据业务程序的删除或撤销命令进行相应的提交确认变化数据或撤销回滚动作,这样,避免因意外解绑定而给用户带来使用上的不便。
在上述技术方案中,优选地,还包括:步骤210,对所述数据对象的变化数据进行显示。
在该技术方案中,用户还可以通过显示单元对数据对象的变化对象进行查看,从而根据查看结果进行其他的操作。
下面详细说明本发明的技术方案:
在应用软件系统运行过程中,当一个业务程序运行时,程序中使用的数据对象创建后,调用数据对象监听装置进行绑定动作,数据对象监听装置会分析识别数据对象的详细结构,并依据数据对象的结构自动构建数据对象监听装置内部的具体监听装置,来确保对数据对象进行全面的监听。
业务程序在开始执行一个业务逻辑过程时,调用数据对象监听装置提供的<开始监听>,数据对象监听装置即开始监听工作;业务逻辑过程中对数据对象做的所有变化都会被数据对象监听装置监听到,并记录到变化列表中;变化列表可以通过专门的显示窗口进行显示,使得用户可以查看在业务逻辑过程中的逐步变化情况。
业务逻辑执行过程通过,若当前的数据变化都符合业务要求,调用数据对象监听装置的<放弃监听>,清除所有监听的变化信息;若不符合业务要求,则调用数据对象监听装置的<撤销回滚>,数据对象监听装置就会对数据对象进行撤销回滚动作,把数据对象恢复到此次业务逻辑过程的开始状态。
程序结束时,或者数据对象销毁时,数据对象监听装置将解除和数据对象的绑定动作,也可以依据要求手工解除绑定。
图3示出了根据本发明的实施例的数据对象监听装置的交互用例示意图。
如图3所示,用户在执行“绑定本装置302”用例时,本装置的创建服务对象会创建一个本装置对象来与数据对象进行绑定,并分析识别数据对象的详细结构。
在执行“监听数据对象304”用例时,本装置首先清除原先的变化列表,然后开始接听数据对象的所有变化事件,并把监听到的所有变化逐个记录到变化列表中。
在执行“停止监听306”用例时,本装置首先取消对数据对象的监听动作,然后清除已经记录的变化列表,释放内存。
在执行“撤销回滚308”用例时,本装置首先取消对数据对象的监听动作,然后根据变化列表中记录的所有变化情况来恢复数据对象到本次监听开始时的状态,即依据变化列表中的记录以倒序的方式重新修改数据对象;修改完成后清除变化列表,释放内存。
图4示出了根据本发明的实施例的数据对象监听装置的静态视图。
如图4所示,根据本发明的实施例的数据对象监听装置的静态视图说明如下:
类之间的调用关系:RecorderHelper.Binding()方法创建IRecorder接口的具体实现类DataSetRecorder的实例,Recorder.Start()方法会监听数据对象,监听到数据变化时,会依据变化类型,创建IMemento接口的相应实现类:DataTableMemento(表变化记录单元)、DataRowMemento(数据行变化记录单元)或DataColumnMemento(数据行字段变化记录单元);通知会检查记录其对象本身是否被外部对象监听,若监听则创建RecordEventArgs事件参数对象并向外部对象发送通知。
2、RecorderHelper是本装置的创建服务类,此对象为单一实例模式,不可被外围代码创建,只允许使用其单一实例进行操作,其提供了两个方法:IRecorder Binding(DataSet ds)和void UnBinding(IRecorder recorder)。
Binding()为绑定方法,在业务程序创建后,调用此方法进行本装置与数据对象的绑定动作,本装置返回一个IRecoder对象实例用于识别和操作数据对象。
UnBinding()为解除绑定方法,在业务程序结束时,或者不需要本装置功能时,可以使用此方法来解除本装置与数据对象的绑定。
3、IRecorder是数据对象变化记录器的接口定义,此对象是本装置的主要核心实现。本记录器对象会监听数据对象的所有变化,并把变化信息封装成特定的记录对象,保存在内存变化列表对象中。本功能接口提供以下方法:
void Start(),开始监听方法,调用时本装置即执行数据对象的监听动作,把所有变化全部记录到变化列表中;
void Suspend(),挂起监听方法,在本次监听过程中,若需要临时挂起监听时调用此方法,此方法只是暂停记录变化,不执行其它操作;
void Resume(),恢复监听方法,即恢复之前所挂起的监听操作;
void Stop(),停止方法,在业务逻辑检查结束且业务逻辑符合时,调用此方法停止监听动作,并清除记录的变化列表;
void Undo(),撤销回滚方法,在业务逻辑过程中,逻辑检查不通过时,调用此方法执行撤销回滚动作,把数据对象恢复到开始监听时的状态。
4、RecordEventArgs为本装置的IRecorder功能对象产生对外通知时数据封装对象。IRecorder对象在监听到数据对象发生变化时,会把详细的变化信息进行封装并记录到变化列表中,同时也会通知外部对象,即告诉外部对象本记录器对象记录的信息发生了变化,如变化过程显示程序可以监听本记录器对象,用于显示数据对象的变化过程。本参数对象有三个成员数据:NewValue数据变化后数值;OldValue数据变化前数值;Object为数据对象中具体发生变化的子对象,如数据对象中的某个数据表、数据行,或者某个数据字段。
DataSetRecorder为针对Microsoft软件公司的DotNet Frameword技术框架下DataSet数据对象和定制化DataSet对象的IRecorder记录器实现类。本实现类主要是针对DataSet类型的数据对象进行分析、监听、回滚操作。本对象被创建时,会分析目标数据对象的结构,对DataSet对象进行事件绑定,对其中的DataTable(数据表)进行事件绑定;数据对象发生变化时,本装置会接收到通知并把变化数据进行封装并存放到内存中的变化列表中;在需要撤销回滚时,从变化列表中以倒序方式对数据对象进行修改,来恢复数据对象。本装置能够绑定的DataSet数据对象的变化动作有:
DataSet.Tables.CollectionChanging,数据表成员发生变化时事件;
DataSet.Tables.CollectionChanged,数据表成员发生变化后事件;
DataSet.Table.RowChanging,数据行发生变化时事件;
DataSet.Table.RowChanged,数据行发生变化后事件;
DataSet.Table.ColumnChanging,数据行中字段发生变化时事件;
DataSet.Table.ColumnChanged,数据行中字段发生变化后事件。
其中,具体的变化类型为:
数据表:新增数据表、删除数据表、更行所有数据表;
数据行:新增行、删除行、修改行、回滚行、提交行、恢复原始行;
数据行字段:字段值改变。
本装置在监听到数据对象时,把变化信息封装成IMomento对象,并存放到对象的成员数据m_mementos列表中,m_doing数据成员用于记录当前记录器对象是否是挂起的,即void Suspend()和void Resume()方法会改变此数据成员。void Start()、void Stop()、void Undo()是开始监听、停止监听和撤销回滚方法,都会对成员数据m_mementos进行操作。其中Undo方法会以倒序的方式依次从m_mementos列表中取出IMemento对象,并调用其Undo方法执行单个变化的撤销回滚动作。
6、IMemento是单个数据对象变化信息封装的变化单元功能接口,在记录器监听到数据对象变化后,会封装成相应的变化单元记录对象并存储在记录器对象的变化列表成员对象中,变化单元记录了单个变化前后的数据状态和对应数据对象中的子对象,提供的唯一方法void Undo()就是执行单据变化的撤销动作。
7、DataTableMemento是数据表成员变化的记录单元实现,用于封装数据对象中表成员变化是产生的单个记录,是IMemento变化单元记录的具体实现。
8、DataRowMemento是数据行变化的记录单元实现,用于封装数据对象中数据行变化产生的单个记录,是IMemento变化单元记录的具体实现。
9、DataColumnMemento是数据行字段变化的记录单元实现,用于封装数据对象中数据行上的字段变化产生的单个记录,是IMemento变化单元记录的具体实现。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以把开始逻辑检查时数据对象的状态和数据记录下来,以保证在整个检查过程中出现业务逻辑不通过(或出现异常错误)时,能够恢复到之前的状态。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据对象监听装置,其特征在于,包括:
绑定单元,在接收到来自业务程序的绑定请求时,绑定所述业务程序;
监听单元,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,进行存储;
处理单元,根据所述监听单元监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
2.根据权利要求1所述的数据对象监听装置,其特征在于,所述处理单元包括:
执行子单元,在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及
在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
3.根据权利要求1所述的数据对象监听装置,其特征在于,还包括:
解绑定单元,在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
4.根据权利要求3所述的数据对象监听装置,其特征在于,还包括:
触发单元,在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则触发所述处理单元;
以及所述处理单元还用于,
根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
5.根据权利要求1至4中任一项所述的数据对象监听装置,其特征在于,还包括:
显示单元,对所述数据对象的变化数据进行显示。
6.一种数据对象监听方法,其特征在于,包括:
步骤202,在接收到来自业务程序的绑定请求时,绑定所述业务程序;
步骤204,在所述业务程序开始执行业务逻辑时,触发对所述业务程序的监听操作,并获取所述业务逻辑执行过程中,所述业务程序中的数据对象的变化数据,并进行存储;
步骤206,根据监听到的所述业务逻辑的执行结果,对存储的所述数据对象的变化数据进行预定操作。
7.根据权利要求6所述的数据对象监听方法,其特征在于,所述步骤206具体包括:
在所述执行结果为所述业务逻辑执行通过时,确定所述数据对象的变化数据有效,并对所述数据对象的变化数据进行删除操作;以及
在所述执行结果为所述业务逻辑执行未通过时,确定所述数据对象的变化数据无效,并对存储的所述数据对象的变化数据进行撤销操作,以使所述业务程序的数据对象回到所述业务逻辑执行前的状态。
8.根据权利要求6所述的数据对象监听方法,其特征在于,还包括:
在接收到来自所述业务程序的解绑定请求,和/或在所述业务程序的数据对象销毁时,解除对所述业务程序的绑定。
9.根据权利要求8所述的数据对象监听方法,其特征在于,还包括:
在检测到解绑定单元解除对所述业务程序的绑定时,判断所述处理单元是否已对所述数据对象的变化数据进行所述预定操作,若判断结果为否,则根据来自所述业务程序的删除命令删除所述业务对象的变化数据,或根据来自所述业务程序的撤销命令撤销所述业务对象的变化数据。
10.根据权利要求6至9中任一项所述的数据对象监听方法,其特征在于,还包括:
步骤210,对所述数据对象的变化数据进行显示。
CN201310392072.0A 2013-09-02 2013-09-02 数据对象监听装置和数据对象监听方法 Pending CN103488474A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310392072.0A CN103488474A (zh) 2013-09-02 2013-09-02 数据对象监听装置和数据对象监听方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310392072.0A CN103488474A (zh) 2013-09-02 2013-09-02 数据对象监听装置和数据对象监听方法

Publications (1)

Publication Number Publication Date
CN103488474A true CN103488474A (zh) 2014-01-01

Family

ID=49828731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310392072.0A Pending CN103488474A (zh) 2013-09-02 2013-09-02 数据对象监听装置和数据对象监听方法

Country Status (1)

Country Link
CN (1) CN103488474A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975361A (zh) * 2016-04-27 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于oracle数据库的对象备份方法及装置
CN108427568A (zh) * 2018-04-28 2018-08-21 北京小米移动软件有限公司 用户界面的更新方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106501A (zh) * 2007-06-27 2008-01-16 中兴通讯股份有限公司 一种宽带接入系统中动态带宽调整方法
CN101576920A (zh) * 2009-06-19 2009-11-11 用友软件股份有限公司 搜索引擎系统
CN102317913A (zh) * 2011-07-30 2012-01-11 华为技术有限公司 一种事务恢复方法和事务恢复装置
CN102799426A (zh) * 2012-06-21 2012-11-28 华为技术有限公司 业务组件的处理方法和系统以及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106501A (zh) * 2007-06-27 2008-01-16 中兴通讯股份有限公司 一种宽带接入系统中动态带宽调整方法
CN101576920A (zh) * 2009-06-19 2009-11-11 用友软件股份有限公司 搜索引擎系统
CN102317913A (zh) * 2011-07-30 2012-01-11 华为技术有限公司 一种事务恢复方法和事务恢复装置
CN102799426A (zh) * 2012-06-21 2012-11-28 华为技术有限公司 业务组件的处理方法和系统以及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975361A (zh) * 2016-04-27 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于oracle数据库的对象备份方法及装置
CN108427568A (zh) * 2018-04-28 2018-08-21 北京小米移动软件有限公司 用户界面的更新方法及装置
CN108427568B (zh) * 2018-04-28 2021-04-27 北京小米移动软件有限公司 用户界面的更新方法及装置

Similar Documents

Publication Publication Date Title
CN107688531B (zh) 数据库集成测试方法、装置、计算机设备及存储介质
WO2018103216A1 (zh) 一种内存泄漏的检测方法和装置
US8245080B2 (en) Model-based testing of an application program under test
JP2008518295A5 (zh)
US20060075304A1 (en) Method, system, and apparatus for identifying unresponsive portions of a computer program
CN108776643B (zh) 一种基于版本控制流程的目标代码合并控制方法及系统
US11169896B2 (en) Information processing system
CN111258850B (zh) 一种基于Linux系统的更新软件信息的方法及装置
WO2017045436A1 (zh) 虚拟机故障处理方法和装置
WO2017148271A1 (zh) 一种Linux系统复位处理方法、装置及计算机存储介质
CN105528264A (zh) 防误操作的数据恢复方法及其系统
CN105930226A (zh) 一种数据处理方法及装置
CN103488474A (zh) 数据对象监听装置和数据对象监听方法
JP2005004723A (ja) 管理項目管理システム及び方法
KR20140134987A (ko) 데이터 프로세싱 시스템 보안 장치와 보안방법
CN108733567A (zh) 软件资源泄露情况的监测方法及系统
CN112905199A (zh) 代码更新检测方法及装置
CN109447750B (zh) 一种服务器、订单处理方法及系统
CN105303116A (zh) Erp产品安全保护装置和方法
US9183388B2 (en) Injustice detecting system, injustice detecting device and injustice detecting method
JP2001356946A (ja) ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体
WO2020177495A1 (zh) 一种数据库连接管理方法及装置、设备
CN114896021A (zh) 一种恶意容器检测方法、系统、装置及主机
CN109445951B (zh) 一种信息处理方法及装置
CN112817727A (zh) 基于微服务架构的任务管理方法、系统、设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160128

Address after: 100094 Beijing City, North Road, Haidian District, No. 68, building 2, floor 2

Applicant after: You Pu Information Technology Co., Ltd of UFSOFT

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Applicant before: UFIDA Software Co., Ltd.

RJ01 Rejection of invention patent application after publication

Application publication date: 20140101

RJ01 Rejection of invention patent application after publication