实例构建方法、装置及软件系统与流程

文档序号:12271742阅读:188来源:国知局
实例构建方法、装置及软件系统与流程
本发明实施例涉及计算机
技术领域
,尤其涉及一种实例构建方法、装置及软件系统。
背景技术
:目前,为了提高软件系统的性能及运行效率,通常对软件系统采用分层设计。在分层设计的软件系统中包括多个网元及多种服务,网元可以对软件系统中的服务进行调用,在网元对软件系统中的一个服务进行调用之前,需要先在网元中构建该服务对应的实例。在现有技术中,当需要在网元中构建实例时,通常由网元获取需要构建的实例对应的配置参数,并根据配置参数对需要构建的实例进行构建。然而,在现有技术中,由于由各个网元对需要构建的实例进行构建,这就使得每一个网元均需要具备构建实例的功能,导致网元的开发过程复杂。技术实现要素:本发明实施例提供一种实例构建方法、装置及软件系统,用于简化网元的开发过程。第一方面,本发明实施例提供一种实例构建方法,应用于软件系统,所述软件系统中包括实例构建装置和网元,所述方法包括:所述实例构建装置接收网元发送的实例构建请求,所述实例构建请求中包括待构建实例的标识;所述实例构建装置获取所述网元对应的配置数据源,并在所述配置数据源中获取所述待构建实例的标识对应的配置参数;所述实例构建装置根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例。在一种可能的实施方式中,所述实例构建装置在所述配置数据源中获取所述待构建实例的标识对应的配置参数,包括:所述实例构建装置获取所述待构建实例对应的待配置参数的参数类型;所述实例构建装置判断所述配置数据源中是否存在所述参数类型对应的配置参数;若是,则所述实例构建装置将所述配置数据源中的配置参数确定为所述待构建实例的标识对应的配置参数;若否,则所述实例构建装置获取所述待构建实例对应的默认配置参数,并将所述默认配置参数确定为所述待构建实例的标识对应的配置参数。在另一种可能的实施方式中,所述构建规则为预设程序代码;相应的,所述实例构建装置根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例,包括:所述实例构建装置获取所述预设程序代码;所述实例构建装置将所述配置参数确定为所述预设程序代码中对应类型参数的参数值;所述实例构建装置通过预设指令,对所述预设程序代码进行实例化。在另一种可能的实施方式中,所述实例构建装置根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之后,还包括:所述实例构建装置判断是否对所述待构建实例构建成功;若是,则所述实例构建装置生成所述待构建实例对应的实例句柄,并向所述网元发送所述实例句柄,以使所述网元根据所述实例句柄调用所述实例句柄对应的实例;若否,则所述实例构建装置向所述网元发送第一实例构建失败消息,所述第一实例构建失败消息中包括所述待构建实例的标识。在另一种可能的实施方式中,所述实例构建装置根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之前,还包括:所述实例构建装置根据所述配置参数的参数格式和参数取值,确定所述配置参数的参数校验结果;所述实例构建装置确定所述参数校验结果为正常状态。在另一种可能的实施方式中,若所述参数校验结果为异常状态,所述方法还包括:所述实例构建装置向所述网元发送第二实例构建失败消息,所述第二实例构建失败消息中包括所述待构建实例的标识和所述参数校验结果。第二方面,本发明实施例提供一种实例构建装置,包括:接收模块,用于接收网元发送的实例构建请求,所述实例构建请求中包括待构建实例的标识;获取模块,用于获取所述网元对应的配置数据源,并在所述配置数据源中获取所述待构建实例的标识对应的配置参数;构建模块,用于根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例。在一种可能的实施方式中,所述获取模块具体用于:获取所述待构建实例对应的待配置参数的参数类型;判断所述配置数据源中是否存在所述参数类型对应的配置参数;若是,则将所述配置数据源中的配置参数确定为所述待构建实例的标识对应的配置参数;若否,则获取所述待构建实例对应的默认配置参数,并将所述默认配置参数确定为所述待构建实例的标识对应的配置参数。在另一种可能的实施方式中,所述构建规则为预设程序代码;相应的,所述构建模块具体用于:获取所述预设程序代码;将所述配置参数确定为所述预设程序代码中对应类型参数的参数值;通过预设指令,对所述预设程序代码进行实例化。在另一种可能的实施方式中,所述装置还包括判断模块、生成模块和发送模块,其中,所述判断模块用于,在所述构建模块根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之后,判断是否对所述待构建实例构建成功;所述生成模块用于,在所述判断模块判断对所述待构建实例构建成功时,生成所述待构建实例对应的实例句柄,所述发送模块用于向所述网元发送所述实例句柄,以使所述网元根据所述实例句柄调用所述实例句柄对应的实例;所述发送模块还用于,在所述判断模块判断未对所述待构建实例构建成功时,向所述网元发送第一实例构建失败消息,所述第一实例构建失败消息中包括所述待构建实例的标识。在另一种可能的实施方式中,所述装置还包括确定模块,其中,所述确定模块用于,在所述构建模块根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之前,根据所述配置参数的参数格式和参数取值,确定所述配置参数的参数校验结果,并确定所述参数校验结果为正常状态。在另一种可能的实施方式中,若所述确定模块确定所述参数校验结果为异常状态,相应的,所述发送模块还用于,向所述网元发送第二实例构建失败消息,所述第二实例构建失败消息中包括所述待构建实例的标识和所述参数校验结果。第三方面,本发明实施例提供一种软件系统,所述软件系统包括网元和上述第二方面任一项所述的实例构建装置。本发明实施例提供的实例构建方法、装置及软件系统,在实例构建装置接收到网元发送的、包括待构建实例的标识的实例构建请求之后,实例构建装置获取网元对应的配置数据源,并在配置数据源中确定待构建实例的标识对应的配置参数,并根据配置参数和待构建实例对应的构建规则,构建待构建实例。在上述过程中,由实例构建装置为网元构建实例,无需网元进行实例构建,这样,网元也无需具备构建实例的功能,进而简化网元的开发过程。进一步的,实例构建装置和网元之间完全解耦,彼此没有依赖关系,不但可以提高网元部署的便利性,还可以提高对实例构建装置进行维护的便利性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的实例构建方法的应用场景示意图;图2为本发明提供的实例构建方法的流程示意图一;图3为本发明提供的确定配置参数方法的流程示意图;图4为本发明提供的实例构建方法的流程示意图二;图5为本发明提供的实例构建装置的结构示意图一;图6为本发明提供的实例构建装置的结构示意图二。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明提供的实例构建方法的应用场景示意图,请参见图1,软件系统中包括多个网元(分别记为101-1至101-N)、实例构建装置102及服务库103。其中,在服务库103中包括多个服务,当网元需要使用服务库103中的一种服务时,网元可以请求实例构建装置103为网元构建该服务对应的实例,并使用构建得到的实例,其中,构建得到的实例和服务具有相同的功能。在本申请中,可以由实例构建装置102为各个网元构建实例,无需各个网元进行实例构建,这样,网元也无需具备构建实例的功能,进而简化网元的开发过程;进一步的,实例构建装置102和各个网元之间完全解耦,彼此没有依赖关系,不但可以提高网元部署的便利性,还可以提高对实例构建装置进行维护的便利性。下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。图2为本发明提供的实例构建方法的流程示意图一,请参见图2,该方法可以包括:S201、实例构建装置接收网元发送的实例构建请求,实例构建请求中包括待构建实例的标识;S202、实例构建装置获取网元对应的配置数据源,并在配置数据源中获取待构建实例的标识对应的配置参数;S203、实例构建装置根据配置参数和待构建实例对应的构建规则,构建待构建实例。在本发明实施例中,在软件系统进行初始化时,需要对软件系统中的各个网元进行初始化,在每一个网元进行初始化时,需要为该网元构建该相应的实例。在网元运行的过程中,也可能需要为网元构建相应的实例。当然,实例构建装置也可能在其它应用场景为网元构建实例,本发明对实例构建装置为网元构建实例的应用场景不作具体限定。需要说明的是,实例构建装置为软件系统中每一个网元构建实例的过程相同。下面,以示例构建装置为软件系统中的任意一个网元构建实例的过程为例,对本申请所示的实例构建方法进行详细说明。在实际应用过程中,当网元需要进行实例构建时,网元向实例构建装置发送实例构建请求,该实例构建请求中包括待构建实例的标识,该实例构建请求用于请求实例构建装置对待构建实例进行构建。当然,在实例构建请求中还可以包括该网元的标识。可选的,网元可以为认证网元、中继网元等,当网元为认证网元时,待构建实例可以包括:获取认证Tonken的实例、获取具体网元信息的实例、与缓存层交互的实例、数据库连接池实例等。在实例构建装置接收到实例构建请求之后,实例构建装置获取网元对应的配置数据源。配置数据源中包括该网元对应的多种配置参数,可选的,配置数据源中的数据可以来自于预设配置文件、数据库、网络管理系统(NetworkManagementSystem,简称NMS),当然,在实际应用过程中,在网元的运行过程中,也可以根据实际需要动态变更网元对应的配置数据源。可选的,配置参数可以包括后台服务器的互联网协议(InternetProtocol,简称IP)地址、端口号、连接字符串和连接池配置信息等。可选的,网元对应的配置数据源可以存储在该网元对应的配置文件中,以使实例构建装置可以从该网元对应的配置文件中获取配置数据源。在实例构建装置获取得到网元对应的配置数据源之后,实例构建装置在配置数据源中确定待构建实例的标识对应的配置参数。实例构建装置还获取待构建实例对应的构建规则,可选的,实例构建装置中可以预设实例的标识与构建规则的对应关系,以使实例构建装置可以根据该对应关系获取待构建实例对应的构建规则。其中,构建规则可以为对待构建实例进行构建的方法,可选的,该构建方法可以通过函数指令、工厂方法、工厂类实例等实现。例如,当软件系统使用的编程语言为C++或者Java语言时,该构建规则可以为通过程序代码实现的类。实例构建装置根据获取得到的配置参数和待构建实例对应的构建规则,构建待构建实例。可选的,当构建规则为预设程序代码时,相应的,实例构建装置可以获取预设程序代码,并将配置参数确定为预设程序代码中对应类型参数的参数值,并通过预设指令,对预设程序代码进行实例化,以实现构建待构建实例。在实例构建装置构建完成一个实例之后,实例构建装置可以生成待构建实例对应的实例句柄,并向网元发送实例句柄,以使网元根据实例句柄调用实例句柄对应的实例。下面,通过具体示例,对图2实施例所示的方法进行详细说明。示例性的,假设网元1需要构建实例1时,网元1向实例构建装置发送实例构建请求,该实例构建请求中包括实例1的标识。在实例构建装置接收到网元1发送的实例构建请求之后,实例构建装置获取网元1对应的配置数据源,并在网元1对应的配置数据源中获取实例1对应的配置参数,假设配置参数为:最大连接数5、连接字符串:kla、端口号:145。实例构建装置还获取实例1对应的构建规则,假设实例1对应的构建规则如下:classA{public:A(intb,charc,longd);~A();}上述构建规则为通过C++语言实现的类,A(intb,charc,longd)为该类的构造函数,在对该类进行实例化时,默认调用该构造函数;其中,构造函数A中的b、c、d为需要为该构造函数传递的参数,构造函数可以实现某种预设功能,此处不再对构造函数的具体实现进行介绍。实例构建装置可以根据预设指令对该类进行实例化,得到一个对象,该对象即为一个实例。具体的,实例构建装置将获取得到的配置参数(5,kla,145)作为传递参数,并对该类进行实例化,具体为:Aa(5,kla,145),其中,实例化的a即为一个实例。在实例构建装置得到实例化的对象a之后,生成对象a的句柄,并向网元1发送对象a的句柄,以使网元1可以根据对象a的句柄,对对象a进行调用。本发明实施例提供的实例构建方法,在实例构建装置接收到网元发送的、包括待构建实例的标识的实例构建请求之后,实例构建装置获取网元对应的配置数据源,并在配置数据源中确定待构建实例的标识对应的配置参数,并根据配置参数和待构建实例对应的构建规则,构建待构建实例。在上述过程中,由实例构建装置为网元构建实例,无需网元进行实例构建,这样,网元也无需具备构建实例的功能,进而简化网元的开发过程。进一步的,实例构建装置和网元之间完全解耦,彼此没有依赖关系,不但可以提高网元部署的便利性,还可以提高对实例构建装置进行维护的便利性。在图2所示实施例的基础上,可选的,实例构建装置可以通过如下可行的实现方式在配置数据源中确定待构建实例的标识对应的配置参数(图2所示实施例中的S202),具体的,请参见图3所示的实施例。图3为本发明提供的确定配置参数方法的流程示意图,请参见图3,该方法可以包括:S301、实例构建装置获取待构建实例对应的待配置参数的参数类型;S302、实例构建装置判断配置数据源中是否存在参数类型对应的配置参数;若是,则执行S303;若否,则执行S304;S303、实例构建装置将配置数据源中的配置参数确定为待构建实例的标识对应的配置参数;S304、实例构建装置获取待构建实例对应的默认配置参数,并将默认配置参数确定为待构建实例的标识对应的配置参数。在图3所示的实施例中,当实例构建装置需要获取待构建实例对应的待配置参数时,实例构建装置先获取待构建实例对应的待配置参数的参数类型,可选的,待配置参数的参数类型可以包括后台服务的IP地址、端口号等。实例构建装置判断网元对应的配置数据源中是否存在待配置参数的参数类型对应的配置参数,若是,则实例构建装置将配置数据源中的配置参数确定为待构建实例的标识对应的配置参数;若否,则实例构建装置获取待构建实例对应的默认配置参数,并将默认配置参数确定为待构建实例的标识对应的配置参数。可选的,在实际应用过程中,可以根据实际需要设置待构建实例对应的默认参数,这样,可以避免由于获取不到待构建实例的配置参数而导致对待构建实例构建失败,当然,为了保证根据默认参数构建得到的实例可以正常运行,可以仅为待构建实例的部分参数类型设置默认参数。下面,通过具体示例,对图3实施例所示的方法进行详细说明。示例性的,假设待构建实例为实例1,假设实例1对应的参数类型、及各参数类型对应的默认值如表1所示:表1参数类型默认值IP地址/端口号/最大连接数10心跳参数(tcp_keepalive_intvl)75再假设网元对应的配置数据源中的参数类型、及各参数类型对应的参数值如表2所示:表2实例构建装置获取实例1对应的参数类型:IP地址、端口号、最大连接数和心跳参数(tcp_keepalive_intvl),实例构建装置判断网元对应的配置数据源中包括IP地址、端口号、最大连接数对应的配置参数,则实例构建装置在表2所示的配置数据源中获取IP地址、端口号、最大连接数对应的配置参数;实例构建装置判断表2所示的配置数据源中不包括心跳参数(tcp_keepalive_intvl),则实例构建装置将表1中的默认心跳参数确定为实例1的心跳参数,具体的,实例构建装置确定得到的实例对应的配置参数如表3所示:表3参数类型默认值IP地址123.139.1.1端口号135最大连接数12心跳参数(tcp_keepalive_intvl)75在上述过程中,通过为待构建实例设置默认参数,这样,可以避免实例构建装置由于获取不到待构建实例的配置参数而导致对待构建实例构建失败的问题。在上述任意一个实施例的基础上,可选的,为了提高实例构建的效率,在实例构建装置根据配置参数和构建规则构建待构建实例之前,可以先对配置参数进行校验,在配置参数正确的情况下,再对待构建实例进行构建。具体的,请参见图4所示的实施例。图4为本发明提供的实例构建方法的流程示意图二,请参见图4,该方法可以包括:S401、实例构建装置接收网元发送的实例构建请求,实例构建请求中包括待构建实例的标识;S402、实例构建装置获取网元对应的配置数据源,并在配置数据源中获取待构建实例的标识对应的配置参数;S403、实例构建装置根据配置参数的参数格式和参数取值,确定所述配置参数的参数校验结果;S404、实例构建装置判断参数校验结果是否为正常状态;若是,则执行S405-S407;若否,则执行S409;S405、实例构建装置根据配置参数和待构建实例对应的构建规则,构建待构建实例;S406、实例构建装置判断是否对待构建实例构建成功;若是,则执行S407;若否,则执行S408;S407、实例构建装置生成待构建实例对应的实例句柄,并向网元发送实例句柄,以使网元根据实例句柄调用实例句柄对应的实例;S408、实例构建装置向网元发送第一实例构建失败消息,第一实例构建失败消息中包括待构建实例的标识;S409、实例构建装置向网元发送第二实例构建失败消息,第二实例构建失败消息中包括待构建实例的标识和参数校验结果。S401-S402与S201-S202相同,此处不再进行赘述。在实例构建装置获取到配置参数之后,实例构建装置根据配置参数的参数格式和参数取值,确定所述配置参数的参数校验结果,并判断该参数校验结构是否为正常状态;可选的,若配置参数的参数格式正确且参数取值在预设范围内,则可以确定参数校验结果为正常状态,否则,则确定参数校验结构为异常状态。若实例构建装置判断参数校验结果为异常状态,则向网元发送第二实例构建失败消息,第二实例构建失败消息中包括待构建实例的标识和参数校验结果,以使用户可以根据第二实例构建失败消息,对配置参数进行调整。若实例构建装置判断参数校验结果为异常状态,则实例构建装置根据配置参数和待构建实例对应的构建规则,构建待构建实例,并判断是否对待构建实例构建成功。可选的,实例构建装置可以对构建完成的是的语法、语义进行判断,以确定是否对待构建实例构建成功,当然,实例构建装置也可以调用其它工具判断是否对待构建实例构建成功。若实例构建装置对待构建实例构建成功,则实例构建装置生成待构建实例对应的实例句柄,并向网元发送实例句柄,以使网元根据实例句柄调用实例句柄对应的实例;若实例构建装置对待构建实例构建失败,则实例构建装置向网元发送第一实例构建失败消息,第一实例构建失败消息中包括待构建实例的标识。在上述过程中,由实例构建装置统一为软件系统中所有网元构建实例,这样,可以统一实例构建装置对所有实例进行构建的过程中,便于对实例构建进行升级维护;进一步的,由于实例构建装置和网元之间完全解耦,彼此没有依赖关系,当对实例构建过程进行改变时,也无需对网元进行改变,进一步提高对实例构建进行维护的便捷性。图5为本发明提供的实例构建装置的结构示意图一,请参见图5,该装置可以包括:接收模块501,用于接收网元发送的实例构建请求,所述实例构建请求中包括待构建实例的标识;获取模块502,用于获取所述网元对应的配置数据源,并在所述配置数据源中获取所述待构建实例的标识对应的配置参数;构建模块503,用于根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例。本发明实施例所示的实例构建装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。在一种可能的实施方式中,所述获取模块502具体用于:获取所述待构建实例对应的待配置参数的参数类型;判断所述配置数据源中是否存在所述参数类型对应的配置参数;若是,则将所述配置数据源中的配置参数确定为所述待构建实例的标识对应的配置参数;若否,则获取所述待构建实例对应的默认配置参数,并将所述默认配置参数确定为所述待构建实例的标识对应的配置参数。在另一种可能的实施方式中,所述构建规则为预设程序代码;相应的,所述构建模块503具体用于:获取所述预设程序代码;将所述配置参数确定为所述预设程序代码中对应类型参数的参数值;通过预设指令,对所述预设程序代码进行实例化。图6为本发明提供的实例构建装置的结构示意图二,在图5所示实施例的基础上,请参见图6,所述装置还包括判断模504、生成模块505和发送模块506,其中,所述判断模块504用于,在所述构建模块503根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之后,判断是否对所述待构建实例构建成功;所述生成模块505用于,在所述判断模块504判断对所述待构建实例构建成功时,生成所述待构建实例对应的实例句柄,所述发送模块506用于向所述网元发送所述实例句柄,以使所述网元根据所述实例句柄调用所述实例句柄对应的实例;所述发送模块506还用于,在所述判断模块504判断未对所述待构建实例构建成功时,向所述网元发送第一实例构建失败消息,所述第一实例构建失败消息中包括所述待构建实例的标识。在另一种可能的实施方式中,所述装置还包括确定模块507,其中,所述确定模块507用于,在所述构建模块503根据所述配置参数和所述待构建实例对应的构建规则,构建所述待构建实例之前,根据所述配置参数的参数格式和参数取值,确定所述配置参数的参数校验结果,并确定所述参数校验结果为正常状态。在另一种可能的实施方式中,若所述确定模块507确定所述参数校验结果为异常状态,相应的,所述发送模块506还用于,向所述网元发送第二实例构建失败消息,所述第二实例构建失败消息中包括所述待构建实例的标识和所述参数校验结果。本发明实施例所示的实例构建装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。本发明实施例还提供一种软件系统,该软件系统包括网元和图5-图6任一实施例所述的实例构建装置。需要说明的是,软件系统中包括的实例构建装置和图5-图6任一实施例所述的实例构建装置的结构、实现原理、及可达到的有益效果类似,此处不再进行赘述。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1