首页> 中国专利> 在软件系统环境中控制软件维护处理的方法和计算机系统

在软件系统环境中控制软件维护处理的方法和计算机系统

摘要

本发明涉及一种用于在具有多个逻辑系统(202)的软件系统环境(200)中的控制软件维护处理的方法,其中单独的维护软件组件(204)在中央控制系统(203)中执行并且用于执行用于服务逻辑系统(202)的软件维护处理的操作,其中维护软件组件(204)和状态控制器(205)通讯,所述状态控制器(205)协调维护软件组件(204)并且基于软件维护处理的状态(401、...、408)以及基于包括所允许和/或禁止的操作的状态定义来允许和拒绝操作。本发明还涉及对应的计算机系统(200)以及计算机程序产品,其在存储介质上包括当在计算机系统上执行时执行所述方法的计算机代码。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-08-27

    授权

    授权

  • 2006-10-25

    实质审查的生效

    实质审查的生效

  • 2006-09-06

    公开

    公开

说明书

技术领域

本发明分别涉及在软件系统环境(software system landscape)中控制软件维护处理的方法和计算机系统。

背景技术

复杂的软件如申请人的SAP R/3 4.5版(SAP)需要定制(即选择预先确定的功能)和修改(即功能的添加或修正),以及其它维护如程序和数据更新,参照2004年由A.Schneider-Neureither(Ed.)著作、SAP出版社出版的ISBN为1-59229-026-4的“SAP System Landscape Optimization”以及2004年德国波恩第四次再版的由Metzger和Rhrs著作、Galileo出版股份有限公司出版的ISBN为3-934358-42-X的“SAP R/3 nderungs-und Transportmanagement”。

为了避免由于所述维护而中断正运行软件的生产系统,这种复杂的软件可以以单独的逻辑系统的形式进行实施,这些单独的逻辑系统合起来形成系统环境。参照图1,上述SAP软件的典型实施例例如可以包括用于定制和开发工作的开发系统101,用于使用代表性的测试数据测试功能性的质量保证系统102,用于培训新用户的培训系统103,以及几个生产系统104,例如每个生产系统用于不同的工厂以用于实际的生产使用。可以根据具体要求定义其它或附加的用户和系统。

逻辑系统大部分是相同的、功能自主地并且可以运行在单个计算机上。例如,因为质量保证系统102提供所有的功能、它的当前数据以及另外的特殊测试数据,所以它类似于生产系统104。因此,可以在质量保证系统102中彻底地测试新的定制设置或修改,而不危害生产系统104。同样地,由于培训系统103提供某些功能和特殊测试数据,所以它也类似于生产系统104。因此,虽然无需干扰生产系统104,但是使用培训系统103的新用户可以习惯于所述功能以及观察他的操作效果。

通常,软件维护首先在像开发系统101和质量保证系统102之类的系统即非生产的系统中实现。一旦维护被认可,它们就可以被传输到生产系统104。系统环境100中的系统101、…、104之间的软件维护的这种传输使用传输管理系统来实施。所述传输管理系统逻辑上与逻辑系统101、…、104进行连接并且经过逻辑传播路径105来传输所述软件维护。维护例如可以在开发系统101中被许可以用于输出。然后把它转发到质量保证系统102的输入缓冲器中。操作员手动地许可到质量保证系统102的输入。一旦所述维护被输入到质量保证系统102,就可以把它转发到培训系统103和生产系统104的输入缓冲器中,其中它将随着操作员的手动许可被输入。

这种系统环境的维护是一项复杂的任务。它需要产生用于软件维护的传输请求,并且由经授权的各个系统的操作员批准输入传输请求到各自的系统。这就需要分析系统环境的布局,每个维护所通过的系统环境路径,在每个系统中定义各自的系统的可变性选项的项目状态转换,在每个维护中定义维护属性的属性等等。基于这些分析执行维护及其它任务的输入。

另外,必须考虑用于维护的时间帧。典型地,当维护变得可用时,它们不是被单独地传输到生产系统,而是在预定的时期内连同其它维护一起被绑定地传输到生产系统。然而,传输给非生产系统的系统,例如测试系统,可以在预定的时期以外实施。此外,为了确保在软件故障的情况下保证连续的功能性,紧急修复(hot fix)之类的某些维护需要立即进行传输。

因此,操作员通过大量分离的软件组件帮助进行维护,所述软件组件在中央控制系统中执行,或者在彼此连接以用于数据传输的不同的控制系统中执行。

SMI项目,即SAP的实施方案管理器(Solution Manager forImplementation)(SMI)的电子文件,定义了维护系统环境所需要的部分。例如,在2004年Galileo出版社出版的、由Gerhard Oswald著作的ISBN为3898425746的“SAP Service and Support”中给出的SAP的SMI的描述。在这部分中,传输请求实际采取的路径由系统环境的可用传播路径来确定,考虑到例如传输请求的属性如维护类型、目标系统和项目数据、以及例如每个系统中的状态转换如项目基础上的可变性选项等等。

调度管理器(Schedule Manager),例如在“Barbara Doerr:Fast Close-Geschwindigkeit und Transparenz im Abschluss,in Karlheinz Küting,NobertPfitzer,Claus-Peter Weber(Hrsg.):Herausforderungen und Chancen durchweltweite Rechnungslegungsstandards-Kapitalmarktorientierte Rechnungslegungund integrierte Unternehmenssteuerung,Schffer-Poeschel,Stuttgart,2004,ISBN 3791023446”中所描述的,定义了任务列表,在中央系统中执行所述任务列表以在所实施的系统中控制软件维护处理。所述任务列表包括诸如产生、许可以及输入传输请求之类的任务。操作员手动地实施任务列表的任务。

例如在www.itil.org或在2004年由Gerhard Oswald著作、Galileo出版社出版的ISBN为3898425746的“SAP Service und Support”中描述的,可以提供维护台(Service Desk)以产生更改请求,例如请求像紧急修复之类的紧急纠正、请求常规纠正、请求开发工作等等。然后,更改请求在软件系统中是电子可用的。存在一个许可步骤,其中更改管理器或顾问委员会(advisoryboard)决定是否应该实施或者不实施所述更改。基于被许可的更改请求,可以由开发者以及IT维护工程师执行调度管理器的任务。特别地,对于这些用户角色由维护台提供工作流程收件箱以及用户接口。

项目管理系统(Project Management System)如SAP的cProjects,例如在2004年由SAP出版社出版的、由Gerd Hartmann、Ulrich Schmidt著作的ISBN为3-89842-372-7的“mySAP Product Lifecycle Management”中描述的,可以提供用于寄存关于规划的软件维护的数据以及关于软件维护处理状态的数据。基于这些数据,可以产生用于企业管理控制的过程组织、处理流程、处理概述、帐单数据等等。

像SMI、调度管理器、维护台、项目管理系统等等的每一软件组件都依赖于另一个组件的数据,以及更进一步的数据处理,或相反更改至少一个其他组件所依赖的数据。例如,响应于维护台中产生的传输请求,调度管理器为该请求产生任务列表。这个任务列表取决于传输请求的细节以及关于SMI项目的细节。项目管理系统依赖于调度管理器的任务列表。每当完成了任务列表中的一个任务,例如当传输请求输入到具体的软件系统中时,必须更新所述任务列表并且必须通知项目管理系统。此外,不同任务列表的任务之间可能存在依赖性,例如,软件维护是否必须以特定顺序执行。如果执行了紧急软件维护,那么任务以及任务列表将发生更改。

因此,存在大量使用软件组件的操作员所必须考虑的依赖性。

鉴于SAP R/3实施可以包括许多系统并且在状态更改期间每月需要数以千计的维护这一事实,因为存在发生错误的风险,所以,操作员用于分析和考虑依赖性所需的时间变得相当长。

发明内容

因此,根据权利要求1和9的前序部分,本发明待解决的一个目标就是分别提供一种用于在软件系统环境中控制软件维护处理的方法以及计算机系统,其减少了软件维护的复杂性和操作员犯错误的风险。

这个目标是通过权利要求1和9的特征得到解决的。

因此,提供一种用于在具有多个逻辑系统的软件系统环境中控制软件维护处理的方法和一种计算机系统,而状态控制器协调软件维护组件并且基于软件维护处理的状态和基于包括所允许和/或禁止的操作的状态定义来允许和拒绝操作。因此,状态控制器提供了一种用于辅助软件维护处理的软件组件的集中协调,以便大大减少软件维护的复杂性。操作员发生失误的风险也大大降低,这是因为在这个阶段状态控制器阻止了一些操作,其中这些操作可能干扰维护处理的顺序执行。

本发明的更进一步的实施例可以从以下描述以及权利要求中加以推断。

附图说明

图1示出现有技术的系统环境。

图2示出计算机系统。

图3示出软件维护周期。

图4示出软件维护周期的状态。

具体实施方式

图2所示的计算机系统200包括系统环境201和中央控制系统203,类似于图1的系统环境,系统环境201具有逻辑系统202。中央控制系统203包括用于维护(servicing)逻辑系统202的维护软件组件204和协调维护软件组件204的状态控制器205。

维护软件组件204最好包括实施解决方案管理器、调度管理器、维护台和/或项目管理系统。每个维护软件组件204被设计来利用状态控制器205注册本身。最好使用身份识别执行注册。另外,附加信息可以被传输到状态控制器205,例如维护软件组件的配置数据、关于软件维护处理的数据、程序方法等等。

状态控制器205和维护软件组件204在中央逻辑控制系统203中运行。然而它们还可以运行在不同的逻辑控制系统上。逻辑控制系统和逻辑系统202可以在一台计算机上执行,或者如现有技术已知的在物理分离的计算机上执行。

参照图3,软件维护在软件维护周期301、302、303内执行。软件维护周期301、302、303通常是周期循环的,例如在每月的基础上,并且顺序地执行。

每个软件维护周期301、302、303被分成多个状态。所述多个状态在每个软件维护周期期间被顺序地执行。示例性状态模型400如图4所示,并且包括生成状态401、取消状态402、未经许可的开发状态403、开发状态404、测试状态405、紧急纠正状态406、周期耗尽(go-life)状态407和/或结束状态408。状态控制器205优选地提供大量预先确定的状态模型以及完整的适应性,即例如通过定制设置添加或删除或重新定义状态。

每个状态401、…、408通常定义可以执行的操作、需要执行的操作和/或不可以执行的操作。例如,产生传输请求典型地用于开发状态404、测试状态405和紧急纠正状态406,然而在结束状态407中,将不可再产生传输请求。通常描述的操作由维护软件组件204执行。例如,所述状态可以按如下定义。

产生状态401最好由项目管理系统或维护台来启动,启动软件维护周期并且定义为:

·可以产生和许可的变化位置如纠正和紧急纠正

·可以更改,但还没有在系统中实施

·不需要任务列表,但是如果存在任务列表,它不可以包括与状态“生成状态”相矛盾的任务

从产生状态401到取消状态402的变化是可能的,因为在这个阶段中,系统202中没有执行变化。软件维护周期在取消状态402中结束。

未经许可的开发状态403定义为:

·可以实施更改,例如可以产生传输请求和任务

·如果由于在先前维护周期内没有实施更改而存在更改位置,那么在其中可以产生列表

·可以允许像纠正和紧急纠正之类的更改位置

·可以更改,但还没有在系统中实施

在开发状态404中,可以实施更改,即传输请求可以从缓冲器输入到各自的系统中。

测试状态405定义为:

·可以实施更改,例如可以产生传输请求和任务

·许可输入到系统202的传输请求是可能的

·计划和/或执行传输

·可以产生测试数据和测试通知

·允许紧急和正常纠正

紧急纠正状态406定义为:

·可以实施更改,例如,只有在限制的基础上,例如由质量保证组可以产生传输请求和任务以结束纠正

·为了结束纠正,许可输入到系统202的传输请求是可能的

·不再允许像纠正和紧急纠正之类的更改位置

·不可以产生新的测试数据和测试报告

周期耗尽(Go-Life)状态407定义为:

·生产系统的缓冲器被输入到生产系统

·不保留任何改变位置

·激活下一个维护周期

结束状态408旨在结束该维护周期的所有任务

·不再允许许可传输请求

·不再允许传输

·所有缓冲器,包括生产系统的缓冲器,变为空

·必须取消仍然开放的更改位置或把它传输到下一个维护周期

·完成维护周期

为了保证完成所有的更改位置,周期耗尽状态407和结束状态408之间的更改包括分析所有开放的位置。因为请求没有被输出,所以,位置可以保持开放,例如因为在一定时期内不可能完成,由于关键性的请求仍然保留在所述输入缓冲器中并且妨碍着随后的请求,等等。在这个阶段没有被许可的请求可以被带到下一个维护周期中。在这个阶段被许可的请求可以利用完整的缓冲器输入或者从缓冲器中删除。

每一个维护软件组件204的状态模型可以包括比控制器205中的状态更少、更多和/或不同的状态。在这种情况下,提供维护软件组件状态模型到状态控制器205的状态模型之间的映射,并且最好保存在状态控制器205中。

使用上述或其它的状态,状态控制器205协调软件维护周期301、302、303和状态401、…、408的软件维护周期的执行。

如果维护软件组件204打算执行一种操作,则它在状态控制器205中询问当前状态是否允许该操作。如果,例如,调度管理器任务列表中的任务需要产生传输请求,则调度管理器在状态控制器205中询问是否可以产生传输请求。如果当前状态例如是开发状态404,那么状态控制器205将会允许产生,而如果当前状态是例如结束状态408,那么就将会拒绝产生。

更进一步,如果某个维护软件组件204打算启动状态变化,例如变成结束状态408,则它向状态控制器205发送相应的请求。状态控制器205请求所有的维护软件组件204以指示,从它们的观点来看所希望的状态变化是否可能。如果所有的维护软件组件204指示这是可能的,那么通过向所有的维护软件组件204发送请求以推进到下一个状态来实施状态的变化。另一方面,如果维护软件组件204之一还未完成例如属于开发阶段404的任务,那么它可以发送一个否决。因此,所请求的状态变化被拒绝。

最好,所打算的操作或状态变化以及实际变化是否是可能的检查可以通过一种方法实施,该方法是在特定维护软件组件的最初注册时置于所述状态控制器205中的。因此,每个维护软件组件可以具有集中存储在状态控制器205中的自定义的方法,并且由状态控制器205集中启动。该方法描述了待采取的操作,并且可以包括表格或程序的子规程等等。

尽管上文已经描述了本发明的优选实施例,然而对于本领域的技术人员来说显而易见的是基于回顾本发明可以对本发明做出很多变化和修改。例如,除了使用SAP R/34.5版,其它SAP和非SAP系统也可以受益于本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号