CN110945504A - 递送基于配置的工作流 - Google Patents

递送基于配置的工作流 Download PDF

Info

Publication number
CN110945504A
CN110945504A CN201880048861.3A CN201880048861A CN110945504A CN 110945504 A CN110945504 A CN 110945504A CN 201880048861 A CN201880048861 A CN 201880048861A CN 110945504 A CN110945504 A CN 110945504A
Authority
CN
China
Prior art keywords
command
computer
actions
verification
execution
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.)
Granted
Application number
CN201880048861.3A
Other languages
English (en)
Other versions
CN110945504B (zh
Inventor
A·格皮纳斯
S·库玛拉姆坎达斯
S·劳
R·C·帕撒克
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.)
Qindarui Co
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110945504A publication Critical patent/CN110945504A/zh
Application granted granted Critical
Publication of CN110945504B publication Critical patent/CN110945504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Abstract

提供了一种用于在IT系统中递送基于配置的工作流的方法。被启动以供执行的命令被标识为包括在命令列表中。确定与所识别的命令相关联的一组参数和预配置条件。确定验证命令并包括在基于配置的工作流中的验证动作。验证动作由与外部系统的相应交互指定。通过使用该组参数完成与外部系统的交互来执行包括在基于配置的工作流中的验证动作。确定验证动作是否成功完成。如果成功地完成了验证动作,则继续执行命令。如果至少一个验证动作没有成功完成,则中止命令的执行。

Description

递送基于配置的工作流
背景技术
本发明涉及管理信息技术(IT)系统,并且更具体地涉及在IT系统中递送基于配置的工作流。
响应于系统管理员在
Figure BDA0002376791870000011
环境中在IT系统中发出关机或重新引导命令,该IT系统启动相应的系统关机或系统重新引导。如果IT系统包括实时应用或数据库,则系统终止与实时应用或数据库相关联的处理。如果在关机或重新启动时发生任何数据库事务,则可能发生数据库中的数据损坏。因此,如果关机或重新启动命令由于人为错误而不知觉地被调用,则失去关键的商业功能。在已知的IT系统环境中,没有机制来控制由执行系统关闭、系统重启或其他关键系统活动的特权(即,根)用户无意地或无意地发布的命令。
Figure BDA0002376791870000012
是位于英国伯克郡的X/Open公司(X/Open Company,Ltd.)的注册商标。
基于角色的访问控制(RBAC)是控制对操作系统和软件的访问的已知模型。在RBAC模型内,基于个体用户在使用该系统的组织中具有的角色来准予访问。例如,利用RBAC,用户管理员可以添加、改变或删除用户,而无需访问系统管理员可以执行的更强大的命令,并且无需访问系统管理员可以访问的文件。RBAC解决了
Figure BDA0002376791870000013
系统可能具有的问题,其中“根”被用于获得完全访问以便进行不需要超级用户访问的最简单的管理任务。金融许可适用于RBAC,并且成本高。需要额外的训练以支持RBAC。在
Figure BDA0002376791870000014
市场中,难以找到具有RBAC知识的资源。此外,RBAC根用户仍可以发起关闭或其他破坏性命令,而不对命令应用任何其他严格控制。
用于
Figure BDA0002376791870000015
系统的另一个已知的访问控制系统是
Figure BDA0002376791870000016
访问控制,该访问控制通过检查从主机操作系统请求服务的用户是否被授权访问那些服务来保护计算机中心的信息资产。
Figure BDA0002376791870000017
访问控制可被配置为禁止调用某些命令,但是根用户可以停止eTrust服务,然后调用之前禁止的命令。此外,即使
Figure BDA0002376791870000021
访问控制服务正在运行,也可以从系统控制台执行命令。
发明内容
在一个实施例中,本发明提供了一种在IT系统中递送基于配置的工作流的方法。该方法包括计算机将命令标识为被包括在命令列表中。命令被发起用于执行。响应于识别命令的步骤,计算机确定与所识别的命令相关联的一组参数和预配置条件。基于该组参数和预配置条件,计算机确定一个或多个验证动作,其验证命令并且被包括在基于配置的工作流中。通过与一个或多个外部系统的相应的一个或多个交互来指定一个或多个验证动作。所述计算机通过使用所述参数集完成与所述一个或多个外部系统的所述一个或多个交互来执行包括在所述基于配置的工作流中的所述一个或多个验证动作,并确定所述一个或多个验证动作是否成功完成。进一步,如果所述一个或多个验证动作被成功完成,则所述计算机继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未被成功完成,则所述计算机停止所述命令的执行。
有利地,前述实施例提供安全集成层以解释操作系统命令和拦截来自任何源或工具(例如,应用程序编程接口(API)连接,恶意书写的克朗(cron)工作,软件代理,或者试图执行破坏性动作的软件工具),以及在所述命令到达所述OS内核之前,对照可定制的公司安全模型的配置规则和应用来评估所述命令。这防止或减少由系统管理员,系统操作员,以及复杂IT环境中的其他特权用户做出的故意和意外错误,从而保证IT系统的关键业务功能不会丢失。
优选地,本发明提供了一种方法,该方法包括:如果包括在该一个或多个验证动作中的验证动作未成功完成,则该计算机除了中断该命令的执行之外还执行一个或多个附加动作。执行一个或多个附加动作包括发送指示验证动作未成功完成的通知。有利地,该方法提供用于发送通知,该通知向管理员警告恶意发布的潜在破坏性命令。
优选地,本发明提供了一种方法,该方法包括:如果包括在该一个或多个验证动作中的验证动作被成功完成,则除了继续该命令的执行的步骤以外,计算机执行一个或多个附加动作。有利地,该方法提供在系统关闭或重新引导之前执行可关闭数据库实例的额外动作,这避免了数据损坏。
优选地,本发明提供了一种方法,该方法包括完成与一个或多个外部系统的该一个或多个交互的步骤,包括完成与一个外部系统的交互,该外部系统选自由以下各项组成的组:配置管理数据库系统、票务系统、作业调度系统、工作负荷自动化系统、以及操作管理系统。有利地,该方法提供了完成与外部系统的交互,使得由外部系统提供的关键业务功能不会受到不利影响。
优选地,本发明提供了一种方法,该方法包括执行该一个或多个验证动作的步骤,包括针对多个本地安全策略和多个外部系统的策略来验证该命令,这些外部系统将系统接口到该IT系统。有利地,该方法提供了针对本地安全策略和对接系统的策略两者验证命令,这提供了对系统管理员的活动的严格控制,从而保留对接系统提供的关键业务功能。
优选地,本发明提供了一种方法,该方法包括在识别该命令的步骤之前,该计算机(i)使用一个应用程序编程接口(API)连接从一个软件工具接收命令,(ii)接收作为在该IT系统中执行的一个作业的一部分的命令,其中该作业由一个基于时间的作业调度器调度,或(iii)从一个软件代理接收命令。有利地,该方法提供对命令的不同潜在源的严格控制,该命令可能导致破坏性动作或对关键系统活动产生不利影响,从而保持关键商业功能。
优选地,本发明提供了一种方法,该方法包括在识别该命令的步骤之前,该计算机从操作系统或该操作系统的子系统接收该命令。有利地,该方法提供对命令的子系统源的严格控制,该命令可能导致破坏性动作或者对关键系统活动产生不利影响,从而保留关键业务功能。
优选地,本发明提供了一种方法,该方法包括该计算机生成执行该IT系统的对应关键活动的命令列表,其中这些命令中的至少一个命令执行对该IT系统破坏性的动作。有利地,所述方法提供生成所述命令列表以有效地提供所接收的命令与之进行比较的预先配置的命令列表。列表中的命令的预配置允许通过前述方法仅对可影响关键系统活动的那些命令进行有效处理。
以上讨论的优点也适用于以下概述的计算机系统和计算机程序产品实施例。
在另一个实施例中,本发明提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质以及存储在该计算机可读存储介质中的计算机可读程序代码。所述计算机可读程序代码包含由计算机系统的中央处理单元(CPU)执行的指令,以实现在IT系统中递送基于配置的工作流的方法。该方法包括计算机系统将命令标识为被包括在命令列表中。命令被发起用于执行。响应于识别命令的步骤,计算机系统确定与所识别的命令相关联的一组参数和预配置条件,并且基于该组参数和预配置条件,计算机系统确定一个或多个验证动作,其验证命令并且被包括在基于配置的工作流中。通过与一个或多个外部系统的相应的一个或多个交互来指定一个或多个验证动作。计算机系统通过使用参数集完成与一个或多个外部系统的一个或多个交互来执行包括在基于配置的工作流中的一个或多个验证动作。计算机系统随后确定一个或多个验证动作是否成功完成。如果所述一个或多个验证动作被成功完成,则所述计算机系统继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未被成功完成,则所述计算机系统停止所述命令的执行。
优选地,本发明提供了一种方法,进一步包括以下步骤:如果包括在该一个或多个验证动作中的验证动作未成功完成,该计算机系统除了中断该命令的执行的步骤以外还执行一个或多个附加动作,其中,执行该一个或多个附加动作的步骤包括发送指示该验证动作未成功完成的通知。
优选地,本发明提供了一种计算机程序产品,其中,该方法进一步包括以下步骤:如果包括在该一个或多个验证动作中的验证动作被成功完成,该计算机系统除了继续执行该命令的步骤之外还执行一个或多个附加动作。
优选地,本发明提供了一种计算机程序产品,其中,完成与一个或多个外部系统的一个或多个交互的步骤,包括完成与选自下组的外部系统的交互,该组由以下各项组成:配置管理数据库系统、票务系统、作业调度系统、工作负荷自动化系统和操作管理系统。
优选地,本发明提供了一种计算机程序产品,其中,执行该一个或多个验证动作的该步骤包括针对多个本地安全策略和多个外部系统的策略来验证该命令,这些外部系统将系统与该IT系统接口。
优选地,本发明提供了一种计算机程序产品,其中,该方法进一步包括以下步骤:在识别该命令的步骤之前,该计算机系统(i)使用一个应用程序编程接口(API)连接从一个软件工具接收命令,(ii)接收作为在该IT系统中执行的一个作业的一部分命令,该作业由一个基于时间的作业调度器调度,或(iii)从一个软件代理接收。
优选地,本发明提供了一种计算机程序产品,其中,该方法进一步包括在识别该命令的步骤之前,该计算机系统从操作系统或该操作系统的子系统接收该命令的步骤。
优选地,本发明提供了一种计算机程序产品,其中,该方法进一步包括该计算机系统生成该命令列表,其中,这些命令执行该IT系统的相应关键活动,其中,这些命令中的至少一个命令执行对该IT系统破坏性的动作。
在另一个实施例中,本发明提供了一种计算机系统,该计算机系统包括:中央处理单元(CPU);存储器,其耦合到所述CPU;以及耦合到所述CPU的计算机可读存储媒质。计算机可读存储媒质包含由CPU经由存储器执行的指令,以实现在IT系统中递送基于配置的工作流的方法。该方法包括计算机系统将命令标识为被包括在命令列表中。命令被发起用于执行。响应于识别命令的步骤,计算机系统确定与所识别的命令相关联的一组参数和预配置条件。基于该组参数和预配置条件,计算机系统确定一个或多个验证动作,其验证命令并且被包括在基于配置的工作流中。通过与一个或多个外部系统的相应的一个或多个交互来指定一个或多个验证动作。计算机系统通过使用参数集完成与一个或多个外部系统的一个或多个交互来执行包括在基于配置的工作流中的一个或多个验证动作。计算机系统确定一个或多个验证动作是否成功完成。如果所述一个或多个验证动作被成功完成,则所述计算机系统继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未被成功完成,则所述计算机系统停止所述命令的执行。
优选地,本发明提供了一种计算机系统,该计算机系统包括以下步骤:如果包括在该一个或多个验证动作中的验证动作被成功完成,该计算机系统除了继续执行该命令的步骤之外还执行一个或多个附加动作。
优选地,本发明提供了一种计算机系统,其中,完成与一个或多个外部系统的一个或多个交互的步骤包括完成与选自下组的外部系统的交互,该组由以下各项组成:配置管理数据库系统、票务系统、作业调度系统、工作负荷自动化系统和操作管理系统。
优选地,本发明提供了一种计算机系统,其中,执行该一个或多个验证动作的步骤包括针对多个本地安全策略和多个外部系统的策略来验证该命令,这些外部系统将系统接口到该IT系统。
优选地,本发明提供了一种计算机系统,其中,该方法进一步包括以下步骤:在识别该命令的步骤之前,(i)使用应用程序编程接口(API)连接从软件工具接收该命令,(ii)作为在该IT系统中执行的作业的一部分接收该命令,该作业由基于时间的作业调度器调度,或(iii)从软件代理接收该命令。
在另一个实施例中,本发明提供了一种在IT系统中递送基于配置的工作流的方法。该方法包括计算机拦截来自软件工具的命令,该软件工具发起对IT系统有破坏性的动作。计算机将所拦截的命令标识为被包括在预先配置的命令列表中。所标识的命令随后被发起以供执行。响应于识别命令的步骤,计算机确定与所识别的命令相关联的一组参数和预配置条件。基于该组参数和预配置条件,计算机生成可扩展标记语言(XML)数据。计算机经由通用外部系统引擎通过使用基于超文本传输协议/传输安全层(HTTPS)的SOAP上的XML数据与外部系统通信。外部系统包括用于IT系统的票务系统和用于IT系统的作业调度系统。响应于该通信步骤,计算机与基于配置的工作流中的票务系统接口,该票务系统确定所识别的命令是否存在批准的改变控制。响应于所述通信步骤,所述计算机在基于配置的工作流中与作业调度系统接口,所述基于配置的工作流确定在拦截所识别的命令之前的预定时间段内的备份是否被验证。如果批准的变化控制存在并且备份被验证,则计算机继续执行识别的命令,或者如果批准的变化控制不存在,则计算机终止执行识别的命令,使得IT系统不受破坏性的动作影响,或者如果备份未被验证,则计算机终止执行识别的命令,使得IT系统受破坏性的动作影响。
在另一个实施例中,本发明提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质以及存储在该计算机可读存储介质中的计算机可读程序代码。所述计算机可读程序代码包含由计算机系统的中央处理单元(CPU)执行的指令,以实现在IT系统中递送基于配置的工作流的方法。该方法包括计算机系统拦截来自软件工具的命令,该软件工具发起对IT系统有破坏性的动作。该方法包括计算机系统将所拦截的命令标识为被包括在预先配置的命令列表中。为执行发起所标识的命令。响应于识别命令的步骤,计算机系统确定与所识别的命令相关联的一组参数和预配置条件。基于该组参数和预配置条件,计算机系统生成可扩展标记语言(XML)数据。该计算机系统通过通用外部系统引擎使用SOAP上的XML数据通过超文本传输协议(HTTPS)与外部系统通信。外部系统包括用于IT系统的票务系统和用于IT系统的作业调度系统。响应于该通信步骤,计算机系统与基于配置的工作流中的票务系统接口,该票务系统确定所识别的命令是否存在批准的改变控制。响应于所述通信步骤,所述计算机系统与基于配置的工作流中的作业调度系统接口,所述基于配置的工作流确定在拦截所识别的命令之前的预定时间段内的备份是否被验证。如果批准的变化控制存在并且备份被验证,计算机系统继续执行识别的命令,或者如果批准的变化控制不存在,计算机系统终止执行识别的命令,使得IT系统不受破坏性的动作影响,或者如果备份未被验证,计算机系统终止执行识别的命令,使得IT系统受破坏性的动作影响。
附图说明
图1是根据本发明的实施例的用于在与规则引擎集成的IT系统中递送基于配置的工作流的系统的框图。
图2是根据本发明的实施例的在在与规则引擎集成的IT系统中递送基于配置的工作流的过程的流程图。
图3A描绘了根据本发明的实施例的图2的过程中所使用的注册机构和API的实例。
图3B-3C描绘了根据本发明的实施例的使用图3A中的注册机构和API的图2的过程的示例。
图4是根据本发明的实施例的包括在图1的系统中并且实施图2的过程的计算机的框图。
具体实施方式
概述
本发明的实施例提供了IT系统中的用户与操作系统(OS)之间的安全集成层。安全集成层在内核模式下通过进程守护进程与OS进行交互。安全集成层作用于OS之上以解释每个用户,应用,以及执行关键系统活动(例如,系统关闭,系统重新启动,创建一个文件系统,格式化新分配的存储逻辑单元号(LUN);等)和拦截来自任何源或工具的命令,如API连接,恶意写入的cron作业,或者试图执行对IT系统破坏性的动作的软件工具或代理,以及基于预先配置的逻辑(即,配置规则)。安全集成层对命令的解释和拦截防止或减少操作者错误,包括故意错误和意外错误。安全集成层的组件包括(1)进程注册表,(2)配置注册表,(3)动作注册表,和(4)对外部系统的API,其在下面呈现的图1的讨论中更详细地描述。
Figure BDA0002376791870000091
环境中的独特挑战是缺乏由特权用户(即,根用户)控制活动的定义方式。在用户作为根用户登录到
Figure BDA0002376791870000092
系统之后,该用户获得对作为特权用户的所有命令的访问。特权用户的后续人为错误可发出关闭或重新引导命令,其可杀死现场应用和数据库进程。如果在关机或重新启动序列时数据库事务正在发生,则数据可能损坏。因此,无意中调用的命令可能导致关键业务功能丢失。在此披露的实施例通过用一组前提条件评估命令来避免上述人为错误问题。作为关于关闭命令的一个示例,该组前提条件可包括通过与票务系统交互来验证改变控制、通过与作业调度系统交互来验证最近的备份以及识别和关闭数据库实例。
在一个实施例中,在操作员命令到达OS内核之前,命令经受解析,并且针对配置规则和可定制的公司安全模型的应用被自动评估。
在一个实施例中,安全集成层与外部系统(例如,售票系统、变更管理数据库(CMDB)系统、维护/停机时间储存库、企业批量管理工具和系统监控代理)的API集成,以便提供关于是否允许和执行操作员命令以执行一个或多个动作或不允许和终止以使得一个或多个动作不被执行的智能和自动化决策。如果操作员命令不被允许和终止使得与命令相关联的动作不被执行,则安全集成层可作出智能和自动化决定以确定是否执行一个或多个其他动作。
本发明的实施例可作为标准系统提供商的一部分或与云提供商捆绑。
用于传递基于配置的工作流的系统
图1是根据本发明实施例的用于在IT系统中递送基于配置的工作流的系统100的框图。系统100包括执行安全集成层104(即,基于软件的安全集成系统)的计算机102。安全集成层104包括中央管理控制台106、高速缓存通道108、进程注册表110、配置注册表112、动作注册表114、通用外部系统引擎116和系统特定转换模块118。
安全集成层104接收和解释命令120-1、…、120-N,所述命令包括用户和/或应用命令,并且其中,N是大于或等于1的整数。安全集成层104通过内核模式中的进程守护进程与计算机102的操作系统(OS)(未示出)进行交互。安全集成层104作用在OS之上以解释命令120-1、…、120-N中的每一个,并且基于预配置的规则,做出关于验证命令120-1、…、120-N中的每一个以及是否继续执行命令120-1、…、120-N中的每一个的通知决定。
进程注册表110包括被指定为由安全集成层104管理和控制的进程和命令的列表。如果命令或进程被列在进程注册表110中,则安全集成层104将控制转移到配置注册表112。
配置注册表112包括可配置参数集和预配置条件,针对该可配置参数和预配置条件检查命令120-1、…、120-N中的每一个以验证命令120-1、…、120-N。例如,配置注册表112可以包括预配置条件,该预配置条件指示命令的验证必须包括与外部系统122-1、…、外部系统122-M中所包括的外部票务系统接口,其中M是大于或等于1的整数。与外部票务系统相面对确保了对于命令存在有效的改变管理。响应于配置注册表112针对所述参数集和预配置条件验证所述命令,安全集成层104将控制转移到动作注册表114。
动作注册表114包括响应于配置注册表112成功地验证命令120-1、…、120-N中所包括的命令而执行的可配置动作。动作注册表114可以多种方式配置:(1)执行命令;(2)中止所述命令;或(3)发起附加动作。
进程注册表110、配置注册表112和动作注册表114由中央管理控制台106集中管理,但是由高速缓存通道108本地地高速缓存。
通用外部系统引擎116包括用于与外部系统122-1、…、外部系统122-M进行通信的API,其中,M是大于或等于1的整数。与外部系统122-1、…、122-M的前述通信导致接收附加查询和传输附加响应以做出关于命令120-1、…、120-N中的每一个是否成功地被验证的最终决策。
安全集成层104在IT系统本地运行。安全集成层104利用高速缓存通道108来避免或减少任何传输延迟(即,在评估命令120-1、…、120-N或配置变化期间的等待时间)。中央管理控制台106提供集中管理能力,其允许控制其他系统(未示出),所述其他系统包括提供安全集成层104的功能的相应安全集成层(未示出)。
安全集成层104拦截来自任何源或软件工具(例如,API连接、恶意写入的cron作业、或尝试执行对系统100具有破坏性的动作的软件代理或工具)的命令120-1、…、120-N中所包括的破坏性命令。
在一个实施例中,安全集成层104在系统100的OS层处被集成到外部系统122-1、…、122-M上。在一个实施例中,外部系统122-1、……、122-M包括票务系统或其他许可驱动系统,以经由套接字或其他方式使用SOAP(原始简单对象访问协议)上的可扩展标记语言(XML)数据通过超文本传输协议(HTTPS)进行通信。在一个实施例中,安全集成层104可以使用XML数据来执行与外部系统122-1、…、122-M的配置的附加检查。
在一个实施例中,外部系统122-1、…、122-M包括票务系统、配置管理数据库系统、提供操作和网络管理的监控系统、和/或作业调度系统,该作业调度系统确保命令120-1、…、120-N之一的验证期间不运行作业、检查批准的停工时间、检查维护窗口等。
在一个实施例中,安全集成层104与外部系统122-1、…、122-M具有的通信被包裹到通用外部系统引擎116中以接收和传输附加查询和响应以做出关于验证和执行命令120-1、…、120-N中的每一个的最终决策。
在替代实施例中,安全集成层104经由任何传入协议(如开放数据库连接(ODBC))拦截OS命令和子系统命令(例如,来自数据库系统、中间件等)。
在以下呈现的图2和图4的讨论中更详细地描述了图1中所示的部件的功能性。
用于提供基于配置的工作流的方法
图2是根据本发明的实施例的在集成有规则引擎的IT系统中递送基于配置的工作流的过程的流程图。图2的过程在步骤200开始。在步骤202中,安全集成层104(见图1)从用户、操作系统或另一源接收命令120-1(见图1)。
在步骤204中,安全集成层104(参见图1)将在步骤202中接收的命令标识为包括在进程注册表110(参见图1)中的命令列表中的命令之一。
在步骤206中,安全集成层104(参见图1)确定与在步骤204中标识的命令相关联的一组参数和预配置条件。
在步骤208中,基于在步骤206中确定的参数集合和预配置条件,安全集成层104(参见图1)确定验证动作,该验证动作验证命令120-1(参见图1)并且包括在基于配置的工作流中。
在步骤210中,安全集成层104(参见图1)通过完成与包括在外部系统122-1、…、122-M(参见图1)中的外部系统的相应交互来执行在步骤208中确定的验证动作,其中,交互利用在步骤206中确定的参数集。
在步骤212中,安全集成层104(参见图1)确定步骤210中执行的验证动作是否成功完成。如果在步骤212中确定验证动作被成功完成,则进入步骤212的“是”分支,并执行步骤214。
在步骤214中,安全集成层104(参见图1)允许并继续执行命令120-1(参见图1)。在步骤214之后,图2的过程在步骤216结束。
返回到步骤212,如果安全集成层104(参见图1)确定验证动作中的至少一个未成功完成,那么采取步骤212的否分支并且执行步骤218。
在步骤218中,安全集成层104(参见图1)不允许并中断命令120-1(参见图1)的执行。在步骤218之后,图2的过程在步骤216结束。
实施例
图3A描绘了根据本发明的实施例的图2的过程中所使用的注册表和API的示例300。示例300包括进程注册表110、配置注册表112、外部系统API302和动作注册表114。进程注册表110包括用于完成进程S1P的关闭命令304和用于完成进程S2P的重启命令306。
配置注册表112包括分别用于以下验证动作的序列S1C1、S1C2和S1C3:验证改变控制308、验证最近的备份310、以及验证数据库实例312。
外部系统API包括用于与票务系统314、调度系统316和数据库管理系统318进行通信的API。用于与数据库管理系统318通信的API可包括JDBC或ODBC。
动作注册表114指定序列S1A1(即,中止命令并通知正被中止的命令的管理)和S1A2(即,继续执行命令),其与配置注册表112通过经由外部系统API302中所包括的API与票务系统314交互来执行验证改变控制308(即,序列S1C1)的结果相关联。
进一步地,动作注册表114指定序列S1A3(即,中止该命令)和S1A4(即,继续该命令的执行),这些序列与配置注册表112通过经由外部系统API 302中所包括的API与调度系统316进行交互来执行验证最近备份310(即,序列S1C2)的结果相关联。
更进一步,动作注册表114指定序列S1A5(即,关闭数据库)和S1A6(即,继续执行命令),这些序列与配置注册表112通过经由外部系统API302中所包括的API(例如,JDBC或ODBC)与数据库管理系统318交互来执行验证数据库实例312(即,序列S1C3)的结果相关联。
以下相对于图3B-3C中描绘的示例,描述使用注册表110、112和114和外部系统API302来标识和验证命令并且基于使用图2的过程对命令的验证的结果来执行动作。
图3B-3C描绘了根据本发明的实施例的使用图3A中的注册机构和API的图2的过程的实例330。示例330包括由动作注册表114(参见图3A)执行的动作332、由包括在通用外部系统引擎116(参见图1)中的API302(参见图3A)执行的动作334、以及由配置注册表112(参见图3A)执行的动作336。示例330中的过程开始于步骤350,系统管理员或IT系统的另一用户发出系统关闭命令(即,发起IT系统的关闭)。在下文中,在图3B-3C的讨论中,在步骤350中发出的系统关闭命令被简称为“命令”。安全集成层104(见图1)在步骤202(见图2)中接收命令。
在步骤351(即,序列S1)中,安全整合层104(参见图1)解释该命令并且针对进程注册表110(参见图3A)验证该命令。
在步骤352(即,进程S1P)中,安全集成层104(参见图1)确定步骤351中的验证是否成功(即,成功验证指示该命令是在包括在进程注册表110(参见图3A)中的命令的预配置列表中发现的)。步骤351和352被包括在步骤204中(参见图2)。
如果安全集成层104(参见图1)在步骤352中确定步骤351中的验证成功,那么遵循步骤352的‘是’分支并且执行步骤353。
步骤206(参见图2)在步骤353之前。在步骤353(即,序列S1C)中,安全集成层104(参见图1)保持对命令的处理的控制,并发起针对在配置注册表112(参见图1)中定义的预配置条件的对命令的验证。预条件包括验证(i)改变控制,(ii)最近的备份,和(iii)数据库实例。
在步骤354(即,序列S1C1)中,安全集成层104(参见图1)发起对命令的改变控制的验证,这试图验证存在批准的改变记录。在步骤355中,安全集成层104(见图1)经由外部系统API302(见图3A)中的API与票务系统314(见图3A)交互。步骤354和355包括在步骤210中(参见图2)。
在步骤356(即,序列S1A1或S1A2)中,安全集成层104(参见图1)确定是否存在批准变化记录。在步骤356中,如果安全集成层104(参见图1)确定不存在批准的改变记录,那么遵循步骤356的否分支,并执行步骤357和358以完成在动作注册表114(参见图3A)中配置的进一步动作。步骤356包括在步骤212中(参见图2)。
在步骤357(即,序列S1A1的一部分)中,响应于在步骤356中未发现批准变化控制,安全集成层104(参见图1)向管理发送指示未发现批准变化控制的通知。在步骤358中,响应于在步骤356中未发现批准的改变控制,安全集成层104(参见图1)中止命令的执行。步骤358包括在步骤218中(参见图2)。
返回到步骤356,如果安全集成层104(参见图1)确定存在批准的改变记录,那么遵循步骤356的“是”分支并且执行步骤359。
在步骤359(即,序列S1A2)中,响应于在步骤356中发现批准的改变控制,安全集成层104(参见图1)通过使用在步骤353中提到的剩余前提条件继续命令的验证来继续命令的执行。步骤359包括在步骤214中(参见图2)。
在步骤360(即,序列S1C2)中,在成功完成序列S1C1中的验证之后,安全集成层104(参见图1)发起对最近的备份(即,在紧接在当前时间之前的预定义时间段内发生的备份)的验证,该备份是配置注册表112(参见图3A)中的下一个预配置条件。
在步骤361中,安全集成层104(参见图1)经由外部系统API 302(参见图3A)中的API与调度系统316(参见图3A)进行交互。在步骤362(即,序列S1A3或S1A4)中,安全整合层104(参见图1)确定是否验证了最近的备份。步骤360和361包括在步骤210中(参见图2)。
在步骤362中,如果安全集成层104(参见图1)确定最近的备份未被验证,那么遵循步骤362的否分支,并且序列S1A3执行步骤358,该步骤中止命令的执行。在步骤362中,如果安全集成层104(参见图1)确定最近备份被验证,则遵循步骤362的‘是’分支,并且顺序S1A4中执行步骤359,这通过使用包括在配置注册表112(参见图3A)中的剩余前提条件继续命令的验证来继续命令的执行。步骤362包括在步骤212中(参见图2)。
在步骤363(即,序列S1C3)中,在成功完成序列S1C2中的验证之后,安全集成层104(参见图1)发起数据库实例的验证,其是配置注册表112(参见图3A)中的下一个预配置条件。
在步骤363之后,该过程继续图3C中的步骤364。图3C包括由动作注册表114(参见图3A)执行的动作332和由包括在通用外部系统引擎116(参见图1)中的API 302(参见图3A)执行的动作334。在图3C中的步骤364中,安全集成层104(见图1)经由外部系统API302(见图3A)中的API与数据库管理系统318(见图3A)交互。步骤363(参见图3B)和步骤364包括在步骤210(参见图2)中。
在步骤365(即,序列S1A5或S1A6)中,基于与数据库管理系统318(参见图3A)的交互,安全集成层104(参见图1)确定数据库实例是否正在运行和运行。在步骤365中,如果安全集成层104(参见图1)确定(多个)数据库实例正在运行和运行,那么遵循步骤365的‘是’分支并且执行步骤366。步骤365包括在步骤212中(参见图2)。
在步骤366中,响应于确定数据库实例在步骤365中启动并且运行,安全整合层104(参见图1)启动序列S1A5并且关闭数据库实例。在步骤367中,响应于在步骤365中确定数据库实例启动并且运行,安全集成层104(参见图1)启动序列S1A6并且允许完成命令的执行,这导致IT系统被关闭。步骤367包括在步骤214中(参见图2)。
返回到步骤365,如果安全集成层104(参见图1)确定没有数据库实例启动并运行,那么遵循步骤365的否分支并且执行步骤367,这允许完成命令的执行,这导致IT系统被关闭。
返回图3B中的步骤352,如果安全集成层104(参见图1)确定未在包括在进程注册表110(参见图3A)中的命令的预配置列表中找到该命令,则执行图3B中的步骤368。在步骤368中,安全集成层104(见图1)将对命令的控制传递到IT系统的操作系统,并且在步骤367中,安全集成层104(见图1)允许完成命令的执行。
虽然图3B-3C中的过程被呈现为示例,但图3B-3C中的过程中的逻辑和步骤是本发明的一个实施例。
计算机系统
图4是根据本发明的实施例的包括在图1的系统中并且实施图2的过程的计算机的框图。计算机102是通常包括中央处理单元(CPU)402、存储器404、输入/输出(I/O)接口406和总线408的计算机系统。进一步,计算机102耦合到I/O设备410和计算机数据存储单元412。CPU402执行计算机102的计算和控制功能,包括执行用于安全集成层104(参见图1)的程序代码414中所包括的指令,以执行在IT系统中递送基于配置的工作流的方法,其中,指令由CPU402经由存储器404执行。CPU402可以包括单个处理单元,或者跨一个或多个位置中的一个或多个处理单元分布(例如,在客户端和服务器上)。
存储器404包括如下所述的已知计算机可读存储介质。在一个实施例中,存储器404的高速缓冲存储器元件提供至少一些程序代码(例如,程序代码414)的临时存储,以便减少在执行程序代码的指令时必须从大容量存储中检索代码的次数。此外,类似于CPU402,存储器404可以驻留在单个物理位置,包括一个或多个类型的数据存储,或以不同形式分布在多个物理系统上。进一步,存储器404可包括分布在例如局域网(LAN)或广域网(WAN)上的数据。
I/O接口406包括用于交换去往或来自外部源的信息的任何系统。I/O设备410包括任何已知类型的外部设备,包括显示器、键盘等。总线408在计算机102中的每个部件之间提供通信链路,并且可以包括任何类型的传输链路,包括电、光、无线等。
I/O接口406还允许计算机102将信息(例如,数据或程序指令,如程序代码414)存储在计算机数据存储单元412或另一个计算机数据存储单元(未示出)上并且从计算机数据存储单元或另一个计算机数据存储单元检索信息。计算机数据存储单元412包括如下所述的已知计算机可读存储媒质。在一个实施例中,计算机数据存储单元412是非易失性数据存储设备,诸如磁盘驱动器(即,硬盘驱动器)或光盘驱动器(例如,接收CD-ROM盘的CD-ROM驱动器)。
存储器404和/或存储单元412可以存储计算机程序代码414,计算机程序代码414包括由CPU402经由存储器404执行以在IT系统中递送基于配置的工作流的指令。尽管图4将存储器404描绘为包括程序代码,但本发明设想其中存储器404不同时包括所有代码414,而是一次仅包括代码414的一部分的实施例。
进一步地,存储器404可以包括操作系统(未示出)并且可以包括图4中未示出的其他系统。
耦合至计算机102的存储单元412和/或一个或多个其他计算机数据存储单元(未示出)可以包括参数和预配置条件,这些参数和预配置条件是与命令120-1、…、命令120-N(参见图1)相关联的验证动作的基础。
如本领域技术人员将理解的,在第一实施例中,本发明可以是一种方法;在第二实施例中,本发明可以是一种系统;在第三实施例中,本发明可以是计算机程序产品。
本发明实施例的任何组件可以由服务提供商部署、管理、服务等,该服务提供商相对于在IT系统中递送基于配置的工作流来部署或集成计算基础设施。由此,本发明的实施例公开了一种用于支持计算机基础设施的过程,其中过程包括提供用于在包括一个或多个处理器(例如,CPU402)的计算机系统(例如,计算机102)中集成、托管、维护和部署计算机可读代码(例如,程序代码414)中的至少一个的至少一个支持服务,其中处理器执行代码中包含的使得计算机系统在IT系统中递送基于配置的工作流的指令。另一个实施例公开了一种用于支持计算机基础设施的过程,其中过程包括将计算机可读程序代码集成到包括处理器的计算机系统中。集成步骤包括通过使用处理器将程序代码存储在计算机系统的计算机可读存储设备中。在由处理器执行时,程序代码实施在IT系统中递送基于配置的工作流的方法。
虽然将理解的是用于在IT系统中递送基于配置的工作流的程序代码414可以通过经由加载计算机可读存储媒质(例如,计算机数据存储单元412)而手动地直接加载在客户端、服务器和代理计算机(未示出)中来部署,但程序代码414还可以通过向中央服务器或一组中央服务器发送程序代码414来自动地或半自动地部署到计算机102中。程序代码414然后被下载到将执行程序代码414的客户端计算机(例如,计算机102)中。可替代地,程序代码414经由电子邮件被直接发送到客户端计算机。程序代码414随后通过执行将程序代码414分离成目录的程序的电子邮件上的按钮被分离到客户端计算机上的目录或者被加载到客户端计算机上的目录中。另一个替代方案是将程序代码414直接发送到客户端计算机硬盘驱动器上的目录。在存在代理服务器的情况下,处理选择代理服务器代码,确定在哪些计算机上放置代理服务器代码,传输代理服务器代码,并且然后将代理服务器代码安装在代理服务器计算机上。程序代码414被传输至代理服务器,并且然后其被存储在代理服务器上。
本发明的另一个实施例提供了一种在订阅、广告和/或费用的基础上执行过程步骤的方法。即,诸如解决方案集成器之类的服务提供商可以提供创建、维护、支持等在IT系统中递送基于配置的工作流的过程。在这种情况下,服务提供商可以为一个或多个客户创建、维护、支持等执行处理步骤的计算机基础设施。反过来,服务提供商可以在订阅和/或费用协议下从客户接收支付,和/或服务提供商可以从广告内容向一个或多个第三方的销售接收支付。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令414的计算机可读存储介质(或多个介质)(即,存储器404和计算机数据存储单元412),用于使处理器(例如,CPU402)执行本发明的各方面。
计算机可读存储介质可以是能够保持和存储指令(例如,程序代码414)以供指令执行设备(例如,计算机102)使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令(例如,程序代码414)可以从计算机可读存储介质下载到相应的计算/处理设备(例如,计算机102),或者经由网络(未示出)例如因特网、局域网、广域网和/或无线网络下载到外部计算机或外部存储设备(例如,计算机数据存储单元412)。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡(未示出)或网络接口(未示出)从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令(例如,程序代码414)可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如,“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图(例如图2)和/或框图(例如图1和图4)描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可由计算机可读程序指令(例如,程序代码414)实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置(例如计算机102)的处理器(例如CPU402)以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质(例如,计算机数据存储单元412)中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
计算机可读程序指令(例如,程序代码414)还可以被加载到计算机(例如,计算机102)、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
尽管为了说明的目的,在此已经描述了本发明的实施例,但是对于本领域技术人员来说,许多修改和改变将变得显而易见。因此,所附权利要求旨在包括落入本发明的真实精神和范围内的所有这样的修改和改变。

Claims (25)

1.一种在IT系统中递送基于配置的工作流的方法,所述方法包括以下步骤:
计算机将命令识别为包括在命令列表中,所述命令被发起以用于执行;
响应于识别所述命令的步骤,所述计算机确定与所识别的命令相关联的一组参数和预先配置的条件;
基于所述一组参数和所述预配置条件,所述计算机确定验证所述命令并且被包括在所述基于配置的工作流中的一个或多个验证动作,所述一个或多个验证动作由与一个或多个外部系统的相应的一个或多个交互指定;
所述计算机通过使用所述一组参数完成与所述一个或多个外部系统的所述一个或多个交互来执行包括在所述基于配置的工作流中的所述一个或多个验证动作;
所述计算机确定所述一个或多个验证动作是否成功完成;以及
如果所述一个或多个验证动作成功完成,则所述计算机继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未成功完成,则所述计算机停止所述命令的执行。
2.如权利要求1所述的方法,还包括:如果所述一个或多个验证动作中所包括的一个验证动作未成功完成,则所述计算机除停止所述命令的执行的步骤以外还执行一个或多个附加动作,其中执行所述一个或多个附加动作包括发送指示所述验证动作未成功完成的通知。
3.如权利要求1所述的方法,还包括:如果包括在所述一个或多个验证动作中的一个验证动作成功完成,则所述计算机除继续执行所述命令的步骤之外还执行一个或多个附加动作。
4.根据权利要求1所述的方法,其中完成与一个或多个外部系统的所述一个或多个交互的步骤包括完成与外部系统的交互,所述外部系统选自由配置管理数据库系统、票务系统、作业调度系统、工作负载自动化系统和操作管理系统组成的组。
5.如权利要求1所述的方法,其中执行所述一个或多个验证动作的步骤包括对照多个本地安全策略和将系统与所述IT系统接口的外部系统的策略来验证所述命令。
6.如权利要求1所述的方法,还包括:在识别所述命令的步骤之前的步骤,所述计算机(i)使用应用编程接口(API)连接从软件工具接收所述命令,(ii)接收作为在所述IT系统中执行的作业的一部分的所述命令,所述作业由基于时间的作业调度器调度,或(iii)从软件代理接收所述命令。
7.如权利要求1所述的方法,还包括:在标识所述命令的步骤之前,所述计算机从操作系统或所述操作系统的子系统接收所述命令的步骤。
8.根据权利要求1所述的方法,还包括:所述计算机生成所述命令列表,其中所述命令执行所述IT系统的相应关键活动,其中所述命令中的至少一个命令执行对所述IT系统具有破坏性的动作。
9.根据权利要求1所述的方法,还包括以下步骤:
提供至少一个支持服务,用于在所述计算机中创建、集成、托管、维护和部署计算机可读程序代码中的至少一个,所述程序代码由所述计算机的处理器执行以实现以下步骤:识别所述命令,确定所述一组参数和所述预配置条件,确定所述一个或多个验证动作,执行所述一个或多个验证动作,使用所述一组参数完成与所述一个或多个外部系统的所述一个或多个交互,确定所述一个或多个验证动作是否成功完成,以及如果所述一个或多个验证动作成功完成则继续所述命令的执行,或者如果所述一个或多个验证动作中的任何一个未成功完成则中断所述命令的执行。
10.一种计算机程序产品,包括:
计算机可读存储介质和存储在该计算机可读存储介质中的计算机可读程序代码,该计算机可读程序代码包含由计算机系统的中央处理单元(CPU)执行以实现在IT系统中递送基于配置的工作流的方法,该方法包括以下步骤:
所述计算机系统将命令识别为包括在命令列表中,所述命令被发起以用于执行;
响应于识别所述命令的步骤,所述计算机系统确定与所识别的命令相关联的一组参数和预先配置的条件;
基于所述一组参数和所述预配置条件,所述计算机系统确定验证所述命令并且被包括在所述基于配置的工作流中的一个或多个验证动作,所述一个或多个验证动作由与一个或多个外部系统的相应的一个或多个交互指定;
所述计算机系统通过使用所述一组参数完成与所述一个或多个外部系统的所述一个或多个交互来执行包括在所述基于配置的工作流中的所述一个或多个验证动作;
所述计算机系统确定所述一个或多个验证动作是否成功完成;以及
如果所述一个或多个验证动作成功完成,则所述计算机系统继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未成功完成,则所述计算机系统停止所述命令的执行。
11.如权利要求10所述的计算机程序产品,其中所述方法还包括如下步骤:如果所述一个或多个验证动作中所包括的一个验证动作未成功完成,则所述计算机系统除停止所述命令的执行的步骤以外还执行一个或多个附加动作的步骤,其中执行所述一个或多个附加动作的步骤包括发送指示所述验证动作未成功完成的通知。
12.如权利要求10所述的计算机程序产品,其中所述方法还包括如下步骤:如果包括在所述一个或多个验证动作中的一个验证动作成功完成,则所述计算机除继续执行所述命令的步骤之外还执行一个或多个附加动作。
13.如权利要求10所述的计算机程序产品,其中完成与一个或多个外部系统的所述一个或多个交互的步骤包括完成与外部系统的交互,所述外部系统选自由配置管理数据库系统、票务系统、作业调度系统、工作负载自动化系统和操作管理系统组成的组。
14.如权利要求10所述的计算机程序产品,其中执行所述一个或多个验证动作的步骤包括对照多个本地安全策略和将系统与所述IT系统接口的外部系统的策略来验证所述命令。
15.如权利要求10所述的计算机程序产品,其中所述方法还包括:在识别所述命令的步骤之前的步骤,即所述计算机系统(i)使用应用编程接口(API)连接从软件工具接收所述命令,(ii)接收作为在所述IT系统中执行的作业的一部分的所述命令,所述作业由基于时间的作业调度器调度,或(iii)从软件代理接收所述命令。
16.如权利要求10所述的计算机程序产品,其中所述方法还包括在识别所述命令的步骤之前,所述计算机从操作系统或所述操作系统的子系统接收所述命令的步骤。
17.如权利要求10所述的计算机程序产品,其中所述方法还包括:所述计算机系统生成所述命令列表,其中所述命令执行所述IT系统的相应关键活动,其中所述命令中的至少一个命令执行对所述IT系统具有破坏性的动作。
18.一种计算机系统,包括:
中央处理器(CPU);
与CPU耦合的存储器;和
连接到CPU的计算机可读存储介质,该计算机可读存储介质包含CPU经由存储器执行的指令,以在IT系统中实现传递基于配置的工作流的方法,该方法包括以下步骤:
计算机系统将命令识别为包括在命令列表中,所述命令被发起以用于执行;
响应于识别所述命令的步骤,所述计算机系统确定与所识别的命令相关联的一组参数和预先配置的条件;
基于所述一组参数和所述预配置条件,所述计算机系统确定验证所述命令并且被包括在所述基于配置的工作流中的一个或多个验证动作,所述一个或多个验证动作由与一个或多个外部系统的相应的一个或多个交互指定;
所述计算机系统通过使用所述一组参数完成与所述一个或多个外部系统的所述一个或多个交互来执行包括在所述基于配置的工作流中的所述一个或多个验证动作;
所述计算机系统确定所述一个或多个验证动作是否成功完成;以及
如果所述一个或多个验证动作成功完成,则所述计算机系统继续所述命令的执行,或者如果所述一个或多个验证动作中的至少一个未成功完成,则所述计算机系统停止所述命令的执行。
19.如权利要求18所述的计算机系统,其中所述方法还包括如下步骤:如果所述一个或多个验证动作中所包括的一个验证动作未成功完成,则所述计算机系统除停止所述命令的执行的步骤以外还执行一个或多个附加动作的步骤,其中执行所述一个或多个附加动作的步骤包括发送指示所述验证动作未成功完成的通知。
20.如权利要求18所述的计算机系统,其中所述方法还包括如下步骤:如果包括在所述一个或多个验证动作中的验证动作成功完成,则所述计算机执行除继续执行所述命令的步骤之外的一个或多个附加动作。
21.如权利要求18所述的计算机系统,其中完成与一个或多个外部系统的所述一个或多个交互的步骤包括完成与外部系统的交互,所述外部系统选自由配置管理数据库系统、票务系统、作业调度系统、工作负载自动化系统和操作管理系统组成的组。
22.如权利要求18所述的计算机系统,其中执行所述一个或多个验证动作的步骤包括对照多个本地安全策略和将系统与所述IT系统接口的外部系统的策略来验证所述命令。
23.如权利要求18所述的计算机系统,其中所述方法还包括在识别所述命令的步骤之前的步骤,所述计算机系统(i)使用应用编程接口(API)连接从软件工具接收所述命令,(ii)接收作为在所述IT系统中执行的作业的一部分的所述命令,所述作业由基于时间的作业调度器调度,或(iii)从软件代理接收所述命令。
24.一种在IT系统中递送基于配置的工作流的方法,所述方法包括以下步骤:
计算机拦截来自软件工具的命令,所述命令发起对IT系统具有破坏性的动作;
所述计算机将所拦截命令识别为包含于预先配置的命令列表中,所述所识别命令被发起以用于执行;
响应于识别命令的步骤,计算机确定与所识别的命令相关联的一组参数和预先配置的条件;
基于所述一组参数和所述预配置的条件,所述计算机生成可扩展标记语言(XML)数据;
所述计算机通过使用基于传输安全层超文本传输协议(HTTPS)的SOAP上的XML数据经由通用外部系统引擎与外部系统通信,所述外部系统包括用于所述IT系统的票务系统和用于所述IT系统的作业调度系统;
响应于通信步骤,所述计算机与基于配置的工作流中的票务系统接口,其确定是否存在针对所识别的命令的批准的改变控制;
响应于通信步骤,所述计算机与基于配置的工作流中的作业调度系统接口,其确定在所识别的命令被拦截之前的预定时间段内的备份是否被验证;以及
如果批准的改变控制存在并且备份被验证,则计算机继续执行所识别的命令,或者如果批准的改变控制不存在,则计算机终止所识别的命令的执行,使得IT系统不受破坏性动作的影响,或者如果备份未被验证,则计算机终止所识别的命令的执行,使得IT系统受破坏性动作的影响。
25.一种计算机程序产品,包括:
一种计算机可读存储介质和存储在所述计算机可读存储介质中的计算机可读程序代码,所述计算机可读程序代码包含由计算机系统的中央处理单元(CPU)执行以实现在IT系统中递送基于配置的工作流的方法的指令,所述方法包括以下步骤:
所述计算机系统拦截来自软件工具的命令,所述命令发起对所述IT系统具有破坏性的动作;
所述计算机系统将所拦截命令识别为包含于预先配置的命令列表中,所述所识别命令被发起以用于执行;
响应于识别命令的步骤,计算机系统确定与所识别的命令相关联的一组参数和预配置条件;
基于所述一组参数和所述预配置的条件,所述计算机系统生成可扩展标记语言(XML)数据;
所述计算机系统通过使用基于传输安全层超文本传输协议(HTTPS)的SOAP上的XML数据经由通用外部系统引擎与外部系统通信,所述外部系统包括用于所述IT系统的票务系统和用于所述IT系统的作业调度系统;
响应于通信步骤,所述计算机系统与基于配置的工作流中的票务系统接口,其确定是否存在针对所识别的命令的批准的改变控制;
响应于通信步骤,所述计算机系统与基于配置的工作流中的作业调度系统接口,该基于配置的工作流确定在所识别的命令被拦截之前的预定时间段内的备份是否被验证;以及
如果批准的改变控制存在并且备份被验证,则所述计算机系统继续执行所标识的命令,或者如果批准的改变控制不存在,则计算机系统终止所标识的命令的执行,使得IT系统不受破坏性动作的影响,或者如果备份未被验证,则所述计算机系统终止所标识的命令的执行,使得IT系统受破坏性动作的影响。
CN201880048861.3A 2017-07-31 2018-07-27 递送基于配置的工作流 Active CN110945504B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/664,723 US10380345B2 (en) 2017-07-31 2017-07-31 Delivering configuration based security and process workflows
US15/664,723 2017-07-31
PCT/IB2018/055633 WO2019025921A1 (en) 2017-07-31 2018-07-27 DISTRIBUTING A WORKFLOW BASED ON A CONFIGURATION

Publications (2)

Publication Number Publication Date
CN110945504A true CN110945504A (zh) 2020-03-31
CN110945504B CN110945504B (zh) 2023-08-29

Family

ID=65038701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880048861.3A Active CN110945504B (zh) 2017-07-31 2018-07-27 递送基于配置的工作流

Country Status (6)

Country Link
US (2) US10380345B2 (zh)
JP (1) JP7291120B2 (zh)
CN (1) CN110945504B (zh)
DE (1) DE112018002954T5 (zh)
GB (1) GB2578411B (zh)
WO (1) WO2019025921A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985902A (zh) * 2020-08-25 2020-11-24 上海帜讯云计算科技有限公司 跨系统信息协同管理方法、装置、设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380345B2 (en) 2017-07-31 2019-08-13 International Business Machines Corporation Delivering configuration based security and process workflows
US20190102713A1 (en) * 2017-10-03 2019-04-04 Avaya Inc. Split enterprise/provider workflows
CN112541006B (zh) * 2019-09-23 2023-01-06 拉扎斯网络科技(上海)有限公司 数据库命令请求处理方法、装置、电子设备及存储介质
CN113254062B (zh) 2021-06-22 2021-11-09 苏州浪潮智能科技有限公司 一种bmc参数配置及生效的方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188217A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Method and apparatus for controlling the termination of processes in response to a shutdown command
US20140053072A1 (en) * 2012-08-20 2014-02-20 International Business Machines Corporation Automated, controlled distribution and execution of commands and scripts
CN105144092A (zh) * 2013-03-14 2015-12-09 微软技术许可有限责任公司 软件发布工作流管理
US20160260157A1 (en) * 2015-03-05 2016-09-08 International Business Machines Corporation Rapid service orchestration and management
CN106709283A (zh) * 2016-11-17 2017-05-24 上海斐讯数据通信技术有限公司 一种防止程序误操作的方法及系统
US20170180205A1 (en) * 2015-12-17 2017-06-22 International Business Machines Corporation Automatic generation of validators to validate deployment code used for configuring servers

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7240879B1 (en) * 2005-05-06 2007-07-10 United States of America as represented by the Administration of the National Aeronautics and Space Administration Method and associated apparatus for capturing, servicing and de-orbiting earth satellites using robotics
US7587724B2 (en) 2005-07-13 2009-09-08 Symantec Corporation Kernel validation layer
US8694322B2 (en) * 2005-08-05 2014-04-08 Microsoft Corporation Selective confirmation for execution of a voice activated user interface
CN1960273A (zh) 2005-11-01 2007-05-09 杭州帕拉迪网络科技有限公司 Unix终端用户输入逻辑命令动态实时捕获方法
JP2009003726A (ja) 2007-06-22 2009-01-08 Nec Corp 保守装置、保守システム、保守方法、およびプログラム
JP5141460B2 (ja) 2008-09-11 2013-02-13 富士通株式会社 制御プログラム、情報処理システム、および情報処理方法
US8561090B2 (en) 2009-02-26 2013-10-15 Red Hat, Inc. Method and an apparatus to implement secure system call wrappers
US8515763B2 (en) * 2009-11-24 2013-08-20 Honeywell International Inc. Methods and systems for utilizing voice commands onboard an aircraft
US9021178B2 (en) * 2011-05-02 2015-04-28 Western Digital Technologies, Inc. High performance path for command processing
US8893222B2 (en) 2012-11-13 2014-11-18 Auckland Uniservices Ltd. Security system and method for the android operating system
US10380345B2 (en) 2017-07-31 2019-08-13 International Business Machines Corporation Delivering configuration based security and process workflows

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188217A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Method and apparatus for controlling the termination of processes in response to a shutdown command
US20140053072A1 (en) * 2012-08-20 2014-02-20 International Business Machines Corporation Automated, controlled distribution and execution of commands and scripts
CN105144092A (zh) * 2013-03-14 2015-12-09 微软技术许可有限责任公司 软件发布工作流管理
US20160260157A1 (en) * 2015-03-05 2016-09-08 International Business Machines Corporation Rapid service orchestration and management
US20170180205A1 (en) * 2015-12-17 2017-06-22 International Business Machines Corporation Automatic generation of validators to validate deployment code used for configuring servers
CN106709283A (zh) * 2016-11-17 2017-05-24 上海斐讯数据通信技术有限公司 一种防止程序误操作的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985902A (zh) * 2020-08-25 2020-11-24 上海帜讯云计算科技有限公司 跨系统信息协同管理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20190034636A1 (en) 2019-01-31
DE112018002954T5 (de) 2020-04-02
US10885194B2 (en) 2021-01-05
GB2578411B (en) 2020-09-30
WO2019025921A1 (en) 2019-02-07
JP7291120B2 (ja) 2023-06-14
US20190318096A1 (en) 2019-10-17
GB202002264D0 (en) 2020-04-01
JP2020529661A (ja) 2020-10-08
CN110945504B (zh) 2023-08-29
GB2578411A (en) 2020-05-06
US10380345B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
CN110945504B (zh) 递送基于配置的工作流
US10965547B1 (en) Methods and systems to manage data objects in a cloud computing environment
US11102215B2 (en) Graphical user interface privacy, security and anonymization
US8843676B2 (en) Optimizing an operating system I/O operation that pertains to a specific program and file
US9009323B1 (en) Enforceable launch configurations
US8881224B2 (en) Method and system for providing masking services
US9122531B2 (en) Resource configuration for a network data processing system
US10296440B2 (en) Multi-tenant aware debugging methods and systems
US11470149B2 (en) State management for device-driven management workflows
US8190757B1 (en) Systems and methods for automatically binding client-side applications with backend services
US9940466B2 (en) Computer-implemented command control in information technology service environment
US11115348B2 (en) Virtual resource allocation for processing an event queue
US9438599B1 (en) Approaches for deployment approval
US8914013B2 (en) Device management macros
WO2014189749A1 (en) Systems, methods, and computer program products for managing service upgrades
US20160335421A1 (en) Information Handling System License Management Through NFC
US11170080B2 (en) Enforcing primary and secondary authorization controls using change control record identifier and information
US20230044720A1 (en) Systems and methods to transfer software entitlements between information handling systems
US20150169848A1 (en) User permissions based control of pooled features on demand activation keys
CN104360856A (zh) 云应用交付装置
US9178867B1 (en) Interacting with restricted environments
US10089261B2 (en) Discriminating dynamic connection of disconnectable peripherals
US11968177B2 (en) Systems and methods for verifying a firewall for a cloud provider
US20230144947A1 (en) Endpoint and remote server protection
US20210294909A1 (en) Real-time escalation and managing of user privileges for computer resources in a network computing environment

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
TA01 Transfer of patent application right

Effective date of registration: 20220127

Address after: USA New York

Applicant after: Qindarui Co.

Address before: New York grams of Armand

Applicant before: International Business Machines Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant