一种应用服务的管理方法及装置与流程

文档序号:11215969阅读:238来源:国知局
一种应用服务的管理方法及装置与流程

本发明涉及服务器领域,特别涉及一种应用服务的管理方法及装置。



背景技术:

在对服务器的管理中,上层负责的逻辑业务除了对用户数据报错,以及服务器设备状态记录外,对实现服务器的各种底层应用服务的管理也具有重要作用。

目前的应用服务管理方法,是通过将各种不同的拼接逻辑直接植入到主逻辑中,来实现各种应用服务操作的,从而进一步达到管理应用服务目的。

但是,在现有技术中,由于拼接代码没有逻辑的充斥在主代码中,导致了代码冗长,及代码易维护性差的问题。也因此,在现有技术的应用服务管理方法中,在进行代码维护时,也只能是将新的拼接代码再次直接杂乱的拼接到主代码中,由此,也进一步导致了代码冗长,从而为下一次的维护带来了更大的不便。此外,由于代码冗长,也使得上层负责的逻辑业务的业务效率随之降低,并降低了服务器计算资源的利用率。

因此,提高代码的易维护性是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种应用服务的管理方法及装置,用于提高代码的易维护性。

为了解决上述技术问题,本发明提供一种应用服务的管理方法,包括:

新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与所述应用服务对应的配置文件信息记录在所述应用服务注册表中;

抽离所述应用服务的服务操作的通用部分,并定义通用服务操作接口;

将所述通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与所述执行对象对应的通用服务操作接口。

优选地,进一步包括:

当执行初始化服务时,判断所述初始化服务是否出现异常;

如果是,则执行异常拦截操作和回滚操作。

优选地,进一步包括:

抽离所述应用服务的服务操作的个性化部分;

定义所述应用服务的特定配置指令及特定回滚指令,并将所述特定配置指令及所述特定回滚指令注入通用服务对象中。

优选地,进一步包括:

当所述通用服务操作接口无法满足所述应用服务的当前操作时,定义拓展操作接口;

将所述拓展操作接口封装成服务实体类,以依据所述执行对象确定与所述执行对象对应的所述拓展操作接口。

优选地,进一步包括:

定义流程控制逻辑,按照所述流程控制逻辑统一调度所述应用服务;

监控所述应用服务的执行过程中的异常信息,当产生所述异常信息时,将所述异常信息进行拦截,并终止所述应用服务的调度。

为了解决上述技术问题,本发明还提供了一种应用服务的管理装置,包括:

注册表模块,用于新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与所述应用服务对应的配置文件地址记录在所述应用服务注册表中;

通用服务操作接口模块,用于抽离所述应用服务的服务操作的通用部分,并定义通用服务操作接口;

通用服务类模块,用于将所述通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与所述执行对象对应的通用服务操作接口。

优选地,进一步包括:

异常处理模块,用于当执行初始化服务时,判断所述初始化服务是否出现异常;如果是,则进行异常拦截操作并回滚操作。

优选地,进一步包括:

动态构造第一模块,用于抽离所述应用服务的服务操作的个性化部分;

动态构造第二模块,用于定义所述应用服务的特定配置指令及特定回滚指令,并将所述特定配置指令及所述特定回滚指令注入通用服务对象中。

优选地,进一步包括:

拓展接口模块,用于当所述通用服务操作接口无法满足所述应用服务的当前操作时,定义拓展操作接口;

服务实体类模块,用于将所述拓展操作接口封装成服务实体类,以依据所述执行对象确定与所述执行对象对应的所述拓展操作接口。

优选地,进一步包括:

服务调度第一模块,用于定义流程控制逻辑,按照所述流程控制逻辑统一调度所述应用服务;

服务调度第二模块,用于监控所述应用服务的执行过程中的异常信息,当产生所述异常信息时,将所述异常信息进行拦截,并终止所述应用服务的调度。

相对于现有技术而言,本发明提供的应用服务的管理方法,通过将应用服务操作的通用部分进行抽离,并定义通用服务操作接口,然后将通用服务操作接口封装成通用服务类,使得在实现不同的应用服务操作时,其通用的服务操作的代码部分实现的功能,可以直接使用通用服务操作接口来实现,也就不需要再将实现通用的服务操作的代码向主代码中进行一次又一次的拼接,从而减少了拼接代码,有便于代码维护。而且,本方法还将通用服务操作接口进行了封装,这也为代码维护提供了便利。

由此可见,通过抽离应用服务操作的通用部分,定义通用服务操作接口并将通用服务接口封装成通用服务类,既简化了代码,又提高了代码的易维护性。尤其是当应用服务的操作过程中存在大量的通用服务操作时,其效果更为显著,进一步降低了需要杂乱拼接在主代码中的代码量,提高了代码的易维护性。

此外,本发明提供的应用服务的管理装置,效果如上。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种应用服务的管理方法的流程图;

图2为本发明实施例提供的一种应用服务管理装置的结构图。

具体实施方式

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

本发明的目的是提供一种应用服务的管理方法及装置,有效的减少了代码量,并提高了代码的易维护性。

为了使本领域的技术人员更好的理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种应用服务的管理方法的流程图。如图1所示,应用服务的管理方法包括:

s10:新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与应用服务对应的配置文件信息记录在应用服务注册表中。

s11:抽离应用服务的服务操作的通用部分,并定义通用服务操作接口。

s12:将通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与执行对象对应的通用服务操作接口。

其中,底层命令中包含的执行对象为封装后可在特定服务器上执行命令的对象,如java封装的远程ssh执行指令的对象等。

本实施例提供的应用服务的管理方法,首先新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与应用服务对应的配置文件地址记录在应用服务注册表中,为抽离应用服务操作的通用部分提供信息;然后抽离应用服务的服务操作的通用部分,并定义通用服务操作接口,为服务器控制应用服务提供基础;最后将通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与执行对象对应的通用服务操作接口,根据应用服务的不同执行对象,实现具体命令的区别执行。

由此可见,上述管理方法不仅能够实现对应用服务的管理,同时还能够将应用服务操作的通用部分抽离出来,统一管理,不仅减少了杂乱的拼接在主代码中的代码量,还提高了代码的易维护性。此外,随着杂乱充斥在主代码中的代码的减少,应用服务的服务操作效率也会随之提高,那么,上层负责的逻辑业务的业务效率就会随之提高,从而服务器计算资源的利用率也会进一步提高。

在上述实施例的基础上,作为优选地实施方式,还包括:

当执行初始化服务时,判断初始化服务是否出现异常;

如果是,则执行异常拦截操作和回滚操作。

可以理解的是,除了这两个步骤外,其他步骤与上述实施例相同,在此不再赘述。在服务器初始化过程中采用监控机制,能够有效的防止由于初始化异常,而导致的应用服务的其它服务操作执行失败的情况。

在上述实施例的基础上,作为优选地实施方式,还包括:

抽离应用服务的服务操作的个性化部分;

定义应用服务的特定配置指令及特定回滚指令,并将特定配置指令及特定回滚指令注入通用服务对象中。

其中,各应用服务的与通用服务操作不同的服务操作视为个性化服务操作;个性化服务操作与通用服务操作的不同部分视为服务操作的个性化部分。

其中,通用服务对象是指对通用服务对象类的一个扩展,规定了命令的执行语句。

可以理解的是,除了这两个步骤外,其他步骤与上述实施例相同,在此不再赘述。每个应用服务的不同服务操作都是通过其自身的配置文件的差异进行区分的,并且在实际应用中,每个应用服务都有其个性化的服务操作,甚至于当进行这些个性化的服务操作时,需要对应用服务的配置文件进行改写,通过为应用服务定义特定的配置指令和特定的回滚指令,并将特定配置指令和特定回滚指令注入到通用服务中,不仅可以实现对应用服务的个性化操作的统一管理的,同时也进一步避免了代码的杂乱拼接,提高了代码的易维护性。此外,由于避免了代码杂乱充斥在主代码中,应用服务的服务操作效率也会随之提高,那么,上层负责的逻辑业务的业务效率就会随之提高,从而服务器计算资源的利用率也会进一步提高。

在上述实施例的基础上,作为优选地实施方式,还包括:

当通用服务操作接口无法满足应用服务的当前操作时,定义拓展操作接口;

将拓展操作接口封装成服务实体类,以依据执行对象确定与执行对象对应的拓展操作接口。

其中,拓展操作接口用以满足通用服务操作接口无法完成的对应用服务的服务操作。

可以理解的是,除了这两个步骤外,其他步骤与上述实施例相同,在此不再赘述。作为优选地实施方式,拓展操作接口可以通过使用装饰者模式完成设计并实现,从而进一步获取应用服务的新的操作实体。本发明进一步使用装饰者模式,通过应用服务注册表获取应用服务的基本信息,继承通用服务操作接口,进行新操作接口的拓展,实现了拓展应用服务操作的效果,可容纳更多的服务操作,本实施例在无需进行代码的杂乱拼接的情况下,不仅满足了服务操作间的依赖、排斥等执行需求,还采用定义拓展操作接口和封装服务实体类实现功能,有利于增强代码的易维护性。

其中,装饰者模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象的。

在上述实施例的基础上,作为优选地实施方式,还包括:

定义流程控制逻辑,按照流程控制逻辑统一调度应用服务;

监控应用服务的执行过程中的异常信息,当产生异常信息时,将异常信息进行拦截,并终止应用服务的调度。

可以理解的是,除了这两个步骤外,其他步骤与上述实施例相同,在此不再赘述。在应用服务的服务操作中,通常大部分应用服务的服务操作时相互存在依赖的,即,需要一个服务操作先执行,另一个服务操作才能随之执行成功。甚至于,需要同时控制应用服务的服务操作执行前的检查及监控工作,以便于控制一系列服务操作逻辑正常运行。并且,作为优选地实施方式,定义流程控制逻辑,即,定义应用服务操作之间的执行规则,按照该执行规则完成对应用服务的统一调度。当然,在应用服务的统一调度过程中,如果出现异常信息,则不仅要进行异常信息的拦截,还要终止应用服务的调度。

由此可见,本实施例通过定义流程控制逻辑,并监控应用服务的服务操作按照该逻辑执行,并在出现异常时能进行及时拦截和回滚操作,使得所有应用服务的服务操作的执行够井然有序,进一步提高了上层负责的逻辑业务的业务效率,那么,服务器计算资源的利用率也会随之提高。

上文中对于应用服务的管理方法的实施例进行了详细描述,本发明还提供了一种与应用服务的管理方法对应的应用服务的管理装置。由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里不再赘述。

图2为本发明实施例提供的一种应用服务管理装置的结构图。如图2所示,包括:

注册表模块20,用于新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与应用服务对应的配置文件信息记录在应用服务注册表中;

通用服务操作接口模块21,用于抽离应用服务的服务操作的通用部分,并定义通用服务操作接口;

通用服务类模块22,用于将通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与执行对象对应的通用服务操作接口。

本实施例提供的应用服务的管理装置,首先通过注册表模块新建应用服务注册表,将与服务器控制的应用服务类型对应的应用服务的名称和与应用服务对应的配置文件地址记录在应用服务注册表中,为抽离应用服务操作的通用部分提供信息;然后通过通用服务操作接口模块抽离应用服务的服务操作的通用部分,并定义通用服务操作接口,为服务器控制应用服务提供基础;最后通过通用服务类模块将通用服务操作接口封装成通用服务类,以依据底层命令中包含的执行对象确定与执行对象对应的通用服务操作接口,根据应用服务的不同执行对象,实现具体命令的区别执行。

由此可见,上述管理装置不仅能够实现对应用服务的管理,同时还能够将应用服务操作的通用部分抽离出来,统一管理,不仅减少了代码量,还提高了代码的易维护性。

作为优选地实施方式,还包括:

异常处理模块,用于当执行初始化服务时,判断初始化服务是否出现异常;如果是,则进行异常拦截操作并回滚操作。

作为优选地实施方式,还包括:

动态构造第一模块,用于抽离应用服务的服务操作的个性化部分;

动态构造第二模块,用于定义应用服务的特定配置指令及特定回滚指令,并将特定配置指令及特定回滚指令注入通用服务对象中。

作为优选地实施方式,还包括:

拓展接口模块,用于当通用服务操作接口无法满足应用服务的当前操作时,定义拓展操作接口;

服务实体类模块,用于将拓展操作接口封装成服务实体类,以依据执行对象确定与执行对象对应的拓展操作接口。

作为优选地实施方式,还包括:

服务调度第一模块,用于定义流程控制逻辑,按照流程控制逻辑统一调度应用服务;

服务调度第二模块,用于监控应用服务的执行过程中的异常信息,当产生异常信息时,将异常信息进行拦截,并终止应用服务的调度。

以上对本发明所提供的应用服务的管理方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明都是与其它实施例的不用之处,各个实施例之间相同相似部分互相参加即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何变体意在涵盖非排他性的包含,从而使得包括一系列的要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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