基于客户工程项目管理系统的事务处理方法和装置与流程

文档序号:11917691阅读:236来源:国知局
基于客户工程项目管理系统的事务处理方法和装置与流程

本发明涉及软件技术领域,具体而言,涉及一种基于客户工程项目管理系统的事务处理方法和装置。



背景技术:

在客户工程项目管理系统中,经常会涉及到更改数据操作的情形,当用户进行新增、修改、删除项目、方案、流程信息时需要进行日志记录操作,以保证数据完整、统一。以修改终端信息为例,当用户在页面中调整终端信息点击保存时需要先开启事物,然后进行修改终端操作,当修改完成后提交事物,如果修改过程中存在异常则回滚事物,恢复终端到未修改时的状态。现有技术针对更改数据的操作机制涉及到很多复杂、繁琐的事物处理过程,从而影响工作效率。

针对上述现有技术针对更改数据的操作机制涉及到很多复杂、繁琐的事物处理过程造成工作效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种基于客户工程项目管理系统的事务处理方法和装置,以至少解决现有技术针对更改数据的操作机制涉及到很多复杂、繁琐的事物处理过程造成工作效率低的技术问题。

根据本发明实施例的一个方面,提供了一种基于客户工程项目管理系统的事务处理方法,包括:如果监测到对应用程序中的对象进行更新操作,记录更新装置对象之前的第一数据和更新装置对象之后的第二数据;如果装置更新操作的过程中存在满足预定条件的事务,对装置对象执行如下任意一种或多种处理:定位装置对象、对装置对象进行恢复操作和对装置对象进行回滚操作。

根据本发明实施例的另一方面,还提供了一种基于客户工程项目管理系统的事务处理装置,包括:第一处理模块,用于如果监测到对应用程序中的对象进行更新操作,记录更新装置对象之前的第一数据和更新装置对象之后的第二数据;第二处理模块,用于如果装置更新操作的过程中存在满足预定条件的事务,对装置对象执行如下任意一种或多种处理:定位装置对象、对装置对象进行恢复操作和对装置对象进行回滚操作。

在本发明实施例中,通过如果监测到对应用程序中的对象进行更新操作,记录更新装置对象之前的第一数据和更新装置对象之后的第二数据;如果装置更新操作的过程中存在满足预定条件的事务,对装置对象执行如下任意一种或多种处理:定位装置对象、对装置对象进行恢复操作和对装置对象进行回滚操作,达到了将核心业务与事物处理或日志处理的横向业务进行分层处理,并将业务代码与横向逻辑分离的目的,从而实现了高效、便捷、准确的统一处理的技术效果,进而解决了现有技术针对更改数据的操作机制涉及到很多复杂、繁琐的事物处理过程造成工作效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种基于客户工程项目管理系统的事务处理方法流程图;

图2是根据本发明实施例的一种可选的基于客户工程项目管理系统的事务处理方法流程图;

图3是根据本发明实施例的一种可选的基于客户工程项目管理系统的事务处理方法流程图;

图4是根据本发明实施例的一种优选的AOP处理流程图;

图5是根据本发明实施例的一种可选的基于客户工程项目管理系统的事务处理方法流程图;以及

图6是根据本发明实施例的一种基于客户工程项目管理系统的事务处理装置示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种基于客户工程项目管理系统的事务处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种基于客户工程项目管理系统的事务处理方法流程图,如图1所示,该方法包括如下步骤:

步骤S102,如果监测到对应用程序中的对象进行更新操作,记录更新对象之前的第一数据和更新对象之后的第二数据;

步骤S104,如果更新操作的过程中存在满足预定条件的事务,对对象执行如下任意一种或多种处理:定位对象、对对象进行恢复操作和对对象进行回滚操作。

具体地,在上述步骤中,上述应用程序中的对象可以为项目、方案、流程等信息;上述更新操作可以为新增、修改、删除项目、方案、流程信息时需要进行的日志记录操作;上述第一数据可以为修改前的数据;上述第二数据可以为修改后的数据;上述满足预定条件的事务可以为误操作,系统漏洞等情况。

一种可选的实施例中,当用户进行新增、修改、删除项目、方案、流程信息时需要进行日志记录操作,利用面向方面编程的技术(AOP,Aspect Oriented Programming)可以很方便的记录修改前的数据和修改后的数据。在修改开始时记录修改前的对象信息,记录修改后信息,而修改过程则可以独立出来。对于误操作,系统漏洞等情况我们可以利用日志很方便的进行定位、恢复操作,以确保系统正常、稳定运行。

此处需要说明的是,SpringAOP是一种利用切面技术来动态代理应用程序中的各种事物处理规则、日志、及其他相关横向业务逻辑的方法。SpringAOP主要包含切面(Aspect)、连接点(Join point)、通知(Advice)、切入点(Point cut)、引入(Introduction)、目标对象(Target Object)、AOP代理(AOP Proxy)、织入(Weaving)等方面的内容。其工作原理是利用Java反射代理机制,在获取应用对象时不直接进行创建而是用反射机制来获取对象。利用反射机制,可以在方法执行前(Before)、执行中(Around)、执行后(After)加入自己的代码。因而,可以将方法执行前后的代码交给代理(Proxy)来处理,以减少核心业务逻辑与横向的通用逻辑的耦合度。解耦后的操作能提高代码的重复利用率,减少代码量,避免了因业务过长造成的代码混乱和错误。

由上可知,在本申请上实施例中,通过监测用户对应用程序中的对象进行的更新操作,在监测到用户对应用程序中的对象进行更新操作的情况下,记录更新对象之前的第一数据和更新对象之后的第二数据,一种可选的实例中,可以采用AOP来记录修改前的第一数据和修改后的第二数据,并在用户对应用程序中的对象进行更新操作的过程中,如果监测到存在满足预定条件的事务,则利用日志文件定位对象、对该对象进行恢复操作或回滚等操作,达到了将核心业务与事物处理或日志处理的横向业务进行分层处理,并将业务代码与横向逻辑分离的目的,从而实现了高效、便捷、准确的统一处理的技术效果。

在一种可选的实施例中,如图2所示,在如果监测到对日志记录中的对象进行更新操作,记录更新对象之前的第一数据和更新对象之后的第二数据之前,上述方法还可以包括如下步骤:

步骤S202,系统服务启动时,注册AOP监听模块,其中,AOP监听模块用于监听是否发生更新操作,并对更新操作进行分层处理;

步骤S204,配置与AOP监听模块对应的拦截控制规则,其中,拦截控制规则用于确定是否插入预设的代码。

具体地,在上述步骤中,AOP可以很方便的记录修改前的数据和修改后的数据,在修改开始时记录修改前的对象信息,记录修改后信息,而修改过程则可以独立出来;在AOP监听模块监听到发生更新操作的情况下,配置与AOP监听模块对应的拦截控制规则,以确定是否允许插入预设的代码。

一种可选的实施例中,上述拦截控制规则可以包括执行前拦截,执行后拦截,以及异常拦截。

通过上述实施例,可以降低误操作的概率。

在一种可选的实施例中,如图3所示,在记录更新对象之前的第一数据和更新对象之后的第二数据之前,上述方法还可以包括如下步骤:

步骤S302,在应用程序的对象进行更新操作的过程中,访问进行更新操作的资源;

步骤S304,判断资源的访问是否符合拦截控制规则;

步骤S306,如果符合,则插入预处理程序,其中,预处理程序用于执行记录更新对象之前的第一数据,以及执行记录更新对象之后的第二数据;

步骤S308,如果不符合,则执行对应用程序中的对象进行更新操作。

作为一种优选的实施例,图4是根据本发明实施例的一种优选的AOP处理流程图,如图4所示,包括如下步骤:

步骤402,服务启动时注册AOP监听模块。

步骤404,配置拦截控制规则。

步骤406,资源访问时判断是否符合拦截规则,符合则插入预设代码。

具体地,在上述步骤中,一种可选的实施例中,上述预设代码用于事物开启或日志插入等操作。

步骤408,执行对应方法。

步骤410,插入预设代码。

具体地,在上述步骤中,一种可选的实施例中,上述预设代码用于提交事物或日志插入等操作。

步骤412,完成AOP操作。

在一种可选的实施例中,如图5所示,在执行对应用程序中的对象进行更新操作之后,上述方法还可以包括如下步骤:

步骤502,判断执行更新操作是否成功;

步骤504,如果执行成功,则结束执行预处理程序,并将第一数据和第二数据写入日志;

步骤506,如果执行失败,则结束整个更新操作的流程。

具体地,在上述实施例中,在执行对应用程序中的对象进行更新操作之后,判断更新操作是否执行成功,如果执行成功,则结束执行预处理程序,并将第一数据和第二数据写入日志文件;如果执行失败,则结束整个更新操作的流程。

在一种可选的实施例中,在记录更新对象之前的第一数据和更新对象之后的第二数据之后,上述方法还可以包括:将第一数据和第二数据写入日志,并根据日志对更新前的对象和更新后的对象进行定位。

在一种可选的实施例中,上述预定条件包括如下至少之一:误操作、系统漏洞、操作异常和入侵。

通过上述实施例公开的方案,利用AOP的切面技术来动态代理应用程序中的各种事物处理规则、日志、及其他相关横向业务逻辑,很容易将数据库访问事物分离出来,制定自己的提交回滚机制,同时适应各操作模块。实现了统一事物、日志管理控制规则,并真正做到统一、高效的目的,从而使操作流程标准化,事物处理统一化,代码简洁明了,安全稳定,易于移植。

实施例2

根据本发明实施例,还提供了一种基于客户工程项目管理系统的事务处理装置实施例。本发明实施例1中的基于客户工程项目管理系统的事务处理方法可以在本发明实施例2的装置中执行。

图6是根据本发明实施例的一种基于客户工程项目管理系统的事务处理装置示意图,如图6所示,该装置包括:第一处理模块601和第二处理模块603。

其中,第一处理模块601,用于如果监测到对应用程序中的对象进行更新操作,记录更新对象之前的第一数据和更新对象之后的第二数据;

第二处理模块603,用于如果更新操作的过程中存在满足预定条件的事务,对对象执行如下任意一种或多种处理:定位对象、对对象进行恢复操作和对对象进行回滚操作。

由上可知,在本申请上实施例中,第一处理模块601通过监测用户对应用程序中的对象进行的更新操作,并在监测到用户对应用程序中的对象进行更新操作的情况下,记录更新对象之前的第一数据和更新对象之后的第二数据,一种可选的实例中,可以采用AOP来记录修改前的第一数据和修改后的第二数据,并在用户对应用程序中的对象进行更新操作的过程中,第二处理模块603用于如果监测到存在满足预定条件的事务,则利用日志文件定位对象、对该对象进行恢复操作或回滚等操作,达到了将核心业务与事物处理或日志处理的横向业务进行分层处理,并将业务代码与横向逻辑分离的目的,从而实现了高效、便捷、准确的统一处理的技术效果。

在一种可选的实施例中,上述装置还包括:注册模块,用于系统服务启动时,注册AOP监听模块,其中,AOP监听模块用于监听是否发生更新操作,并对更新操作进行分层处理;配置模块,用于配置与AOP监听模块对应的拦截控制规则,其中,拦截控制规则用于确定是否插入预设的代码。

在一种可选的实施例中,上述装置还包括:访问模块,用于在应用程序的对象进行更新操作的过程中,访问进行更新操作的资源;第一判断模块,用于判断资源的访问是否符合拦截控制规则;第一执行模块,用于如果符合,则插入预处理程序,其中,预处理程序用于执行记录更新对象之前的第一数据,以及执行记录更新对象之后的第二数据;第二执行模块,用于如果不符合,则执行对应用程序中的对象进行更新操作。

在一种可选的实施例中,上述装置还包括:第二判断模块,用于判断执行更新操作是否成功;第三执行模块,用于如果执行成功,则结束执行预处理程序,并将第一数据和第二数据写入日志;第四执行模块,用于如果执行失败,则结束整个更新操作的流程。

在一种可选的实施例中,上述装置还包括:第三处理模块,用于将第一数据和第二数据写入日志,并根据日志对更新前的对象和更新后的对象进行定位。

在一种可选的实施例中,上述预定条件包括如下至少之一:误操作、系统漏洞、操作异常和入侵。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1