一种微服务调整方法、装置、服务器及计算机存储介质
技术领域
本发明实施例涉及软件开发,尤其涉及一种微服务调整方法、装置、服务器及计算机存储介质。
背景技术
随着用户的集中化程度越来越高,在进行业务的整合时,会出现各种问题,例如,将集团的业务与集团下的省公司的业务进行整合,会出现业务压力大使得服务不稳定、业务代码混乱以及无法灵活处理新业务等问题。
目前,主要是将业务中的各服务进行集中部署,但是,这种部署方式会造成一系列的问题,首先,当单一服务的调用负载过大时,会对处理中心的稳定运行会造成影响,其次,各服务不能进行快速的扩展,无法满足互联网化的营销活动快速上线的要求,而且,各服务代码混合在一起,代码量过于庞大,不够灵活,任何的代码修改都会使得整个应用程序需要重新构建,服务耦合严重,此外,只要一个服务出现问题,整个服务都会出现问题,并且,所有的开发人员必须使用相同的开发语言及开发工具,使得开发不灵活。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种微服务调整方法、装置、服务器及计算机存储介质,对服务进行微服务调整,能够使服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种微服务调整方法,所述应用于子服务器,所述方法包括:
接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
根据所述服务请求,调用与所述服务请求对应的微服务;
获取所述被调用的微服务的第一属性以及第二属性;
根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;
相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
向所述主服务器发送所述微服务扩展指令;
接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;
根据所述开启指令,开启所述需要扩展的微服务。
进一步地,所述根据所述服务请求,调用与所述服务请求对应的微服务,包括:
根据所述用于指示服务请求类型的参数,确定所述服务请求的类型;
调用与所述服务请求的类型对应的微服务。
进一步地,所述获取所述被调用的微服务的第一属性以及第二属性,包括:
记录所述被调用的微服务在预设时长内的状态信息;
根据所述状态信息,获取所述被调用的微服务的成功率;
根据所述预设时长,获取所述被调用的微服务的效率。
进一步地,所述获取所述被调用的微服务的第一属性以及第二属性,包括:
记录所述被调用的微服务的服务请求数目以及时长;
根据所述被调用的微服务的服务请求数目,获取被调用的微服务在预设时间段内的服务请求数目;
根据所述被调用的微服务的时长,获取被调用的微服务在预设时间段内的服务请求的总时长。
进一步地,所述根据所述第一属性以及第二属性确定所述被调用的微服务是否正常,包括:
确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件;
若所述第一属性不满足预设的第一条件,或所述第二属性不满足预设的第二条件,则确定所述被调用的微服务不正常;
若所述第一属性满足预设的第一条件,且所述第二属性满足预设的第二条件,则确定所述被调用的微服务正常。
进一步地,所述确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件,包括:
相应于所述第一属性是所述被调用的微服务的成功率,所述第二属性是所述被调用的微服务的效率,将所述被调用的微服务的成功率与预设的比例阈值进行比较,并且将所述被调用的微服务的效率与预设的时间段进行比较,若所述被调用的微服务的成功率大于所述预设的第一比例阈值,则所述被调用的微服务的成功率满足所述预设的第一条件,若所述被调用的微服务的效率小于所述预设的时间段,则所述被调用的微服务的成功率满足所述预设的第二条件。
进一步地,所述确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件,包括:
相应于所述第一属性是所述被调用的微服务在预设时间段内的服务请求数目,所述第二属性是所述被调用的微服务在预设时间段内的服务请求的总时长,将所述被调用的微服务在预设时间段内的服务请求数目与前一预设时间段内的服务请求数目进行比较,并且将所述被调用的微服务在预设时间段内的服务请求的总时长与预设的时长进行比较,若所述被调用的微服务在预设时间段内的服务请求数目与所述前一预设时间段内的服务请求数目的比值小于等于第二比例阈值,则所述被调用的微服务在预设时间段内的服务请求数目满足所述预设的第一条件,若所述被调用的微服务在预设时间段内的服务请求的总时长小于等于所述预设的时长,则所述被调用的微服务在预设时间段内的服务请求的总时长满足所述预设的第二条件。
进一步地,所述相应于确定所述被调用的微服务不正常,生成微服务扩展指令,包括:
相应于确定所述被调用的微服务不正常,则确定要增加所述被调用的微服务数量,生成相应的微服务扩展指令。
第二方面,本发明实施例提供一种微服务调整方法,所述方法应用于主服务器,所述方法包括:
接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
根据所述服务请求,确定所述服务请求的类型;
根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;
接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
根据所述微服务扩展指令,确定需要扩展的微服务;
向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
进一步地,所述根据所述服务请求,确定所述服务请求的类型,包括:
根据所述服务请求中的所述用于指示服务请求类型的参数,确定所述服务请求的类型。
进一步地,所述根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求,包括:
根据所述服务请求的类型,确定具有与所述服务请求的类型对应的微服务的子服务器,并通过轮询的方式向所述子服务器转发服务请求。
进一步地,所述根据所述微服务扩展指令,确定需要扩展的微服务,包括:
根据所述微服务扩展指令中的需要扩展的微服务数量以及需要扩展的微服务类型,通过自动化脚本确定需要扩展的微服务。
第三方面,本发明实施例提供一种微服务调整装置,所述装置包括:
第一接收单元,用于接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
调用单元,用于根据所述服务请求,调用与所述服务请求对应的微服务;
获取单元,用于获取所述被调用的微服务的第一属性以及第二属性;
第一确定单元,用于根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;
生成单元,用于相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
第一发送单元,用于向所述主服务器发送所述微服务扩展指令;
第二接收单元,用于接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;
执行单元,用于根据所述开启指令,开启所述需要扩展的微服务。
第四方面,本发明实施例提供一种微服务调整装置,所述装置包括:
第三接收单元,用于接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
第二确定单元,用于根据所述服务请求,确定所述服务请求的类型;
第二发送单元,用于根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;
第四接收单元,用于接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
第三确定单元,用于根据所述微服务扩展指令,确定需要扩展的微服务;
第三发送单元,用于向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
第五方面,本发明实施例提供一种服务器,所述服务器包括第一通信总线、第一存储器和第一处理器;其中,
所述第一通信总线,配置为实现组件之间的连接通信;
所述第一存储器,配置为存储能够在所述处理器上运行的计算机程序;
所述第一处理器,配置为在运行所述计算机程序时,执行第一方面所述的步骤。
第六方面,本发明实施例提供一种服务器,所述服务器包括第二通信总线、第二存储器和第二处理器;其中,
所述第二通信总线,配置为实现组件之间的连接通信;
所述第二存储器,配置为存储能够在所述处理器上运行的计算机程序;
所述第二处理器,配置为在运行所述计算机程序时,执行第二方面所述的步骤。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有微服务调整程序,当所述微服务调整程序被至少一个处理器执行时实现上述第一方面所述的微服务调整方法的步骤或者实现上述第二方面所述的微服务调整方法的步骤。
本发明实施例提供的一种微服务调整方法、装置、服务器及计算机存储介质,首先接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,调用与所述服务请求对应的微服务;获取所述被调用的微服务的第一属性以及第二属性;根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;向所述主服务器发送所述微服务扩展指令;接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;根据所述开启指令,开启所述需要扩展的微服务。这样就能够减少服务的负载,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,服务之间彻底解耦,开发更灵活。
附图说明
图1为本发明实施例提供一种微服务拆解示意图;
图2为本发明实施例提供一种微服务部署示意图;
图3为本发明实施例提供一种示例性的网络架构示意图;
图4为本发明实施例提供的一种微服务调整方法的示意图;
图5为本发明实施例提供的一种微服务调整方法的示意图;
图6为本发明实施例提供的一种统一门户认证系统功能架构示意图;
图7A为本发明实施例提供的一种微服务调整方法的示意图;
图7B为本发明实施例提供的又一种微服务调整方法的示意图;
图8为本发明实施例提供的一种微服务调整装置的结构示意图;
图9为本发明实施例提供的一种微服务调整装置的结构示意图;
图10为本发明实施例提供的一种服务器的结构示意图;
图11为本发明实施例提供的又一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例中的微服务是将原服务按照最小的业务功能进行拆分,其中,原服务是包含了所有微服务的服务,一个原服务一般可以拆分为多级微服务。如图1所示,图中的登录服务可以拆分为接口登录服务、单点登录服务、web登录服务,然而,接口登录服务又可拆为短信登录、免认证登录,票据查询三个微服务,短信微服务包括短信随机码发送和短信随机码校验,因为短信随机码的发送是短信微服务的最小事件,不可再拆分,短信随机码验证是验证短信随机码的正确性,也是短信微服务的最小事件,短信随机码的发送和短信随机码验证是短信微服务不可分割的最小事件,因此短信微服务就不可再次拆分,也就是原登录服务拆分成短信登录微服务、免认证登录微服务、票据查询微服务、单点登录微服务、web登录微服务。
需要说明的是,将原服务按照最小的业务功能进行拆分后,基于分布式服务框架对单体架构进行微服务化架构改造,形成微服务集群,也就是将同一微服务部署在多个子服务器上,其中,所述集群是一组相互独立的、通过高速网络互联的服务器,它们构成了一个组,并以单一系统的模式加以管理,一个用户与集群相互作用时,集群就是一个独立的服务器,集群配置是用于提高可用性和可缩放性。如图2所示,可以将微服务1分别部署在多个服务器上,也就是将微服务1分别部署在服务器1、服务器2、服务器3等服务器上,还可以将微服务2分别部署在另外的多个服务器上,也就是将微服务2分别部署在服务器11、服务器12、服务器13等服务器上,并且每台子服务器上可部署一至多个微服务,比如服务器1中可以有微服务1、微服务2等多个微服务,也可以有多个同一微服务,比如服务器1中可以有5个微服务1。另外,利用应用容器引擎Docker将多个微服务独立部署在服务器上,这样可以减少各个微服务之间的影响,从而大大缩小了故障出现的概率,并且使得微服务之间彻底解耦,解决了原服务功能集中,耦合严重的问题,其中Docker可以让开发者打包应用以及将包移植到一个可移植的容器中,然后发布到任何流行的Linux机器上,Docker容器是完全使用沙箱机制的,相互之间不会有任何接口,Docker由dockerClient客户端、Docker Daemon守护进程、Docker Image镜像以及DockerContainer容器组成,将微服务部署在Docker上后,每个微服务就是一个独立的模块,每个微服务独立编译、独立打包、独立测试、独立运行,相互之间不会有影响,实现彻底解耦。
图3为本发明实施例提供一种示例性的网络架构示意图,如图3所示,该网络架构包括一个主服务器、至少一个子服务器,其中,所述主服务器可以与所述至少一个子服务器进行连接。所述主服务器可以向所述子服务器发送消息,所述子服务器也可以向所述主服务器发送消息。例如,主服务器可以向子服务器转发短信登录请求,子服务器接收短信登录请求后,可以调用相应的短信登录微服务进行处理,若子服务器中的短信登录微服务不正常,子服务器还可以向主服务器发送微服务扩展请求。本发明实施例中的网络架构还可以应用于其他的电渠业务场景,本发明实施例不作限制。
实施例一
本发明实施例提供一种通信方法,所述方法应用于子服务器,图4为本发明实施例提供的一种微服务调整方法的示意图,如图4所示,该方法主要包括以下步骤:
步骤401、接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
步骤402、根据所述服务请求,调用与所述服务请求对应的微服务;
步骤403、获取所述被调用的微服务的第一属性以及第二属性;
步骤404、根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;
步骤405、相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
步骤406、向所述主服务器发送所述微服务扩展指令;
步骤407、接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;
步骤408、根据所述开启指令,开启所述需要扩展的微服务。
通过图4所示的技术方案,当子服务器接收到主服务器发送的服务请求后,可以调用与所述服务请求对应的微服务,并获取所述被调用的微服务的第一属性以及第二属性,从而确定所述被调用的微服务是否正常,相应于被调用的微服务不正常,则生成微服务扩展指令,并向主服务器发送所述微服务扩展指令,当接收到主服务器发送的微服务确定指令后,根据微服务确定指令扩展需要扩展的微服务,从而实现了微服务的自动扩展。
对于图4所示的技术方案,在一种可能的实现方式中,步骤402所述的根据所述服务请求,调用与所述服务请求对应的微服务,包括:
根据所述用于指示服务请求类型的参数,确定所述服务请求的类型;
调用与所述服务请求的类型对应的微服务。
需要说明的是,当子服务器接收到主服务器发送的服务请求后,可以根据服务请求中的用于指示服务请求类型的参数,确定服务请求类型,调用与所述服务请求的类型对应的微服务,并进行相应的处理。例如,当子服务器接收到登录请求后,根据登录请求中携带的短信随机码等参数,确定接收到的登录请求是短信登录请求,从而调用短信登录微服务,进行相应的短信登录处理。
对于图4所示的技术方案,在一种可能的实现方式中,步骤403所述的获取所述被调用的微服务的第一属性以及第二属性,包括:
记录所述被调用的微服务在预设时长内的状态信息;
根据所述状态信息,获取所述被调用的微服务的成功率;
根据所述预设时长,获取所述被调用的微服务的效率。
举例来说,当接收到短信登录服务请求后,调用相应的短信登录微服务进行处理,记录在预设时长内是否成功调用短信登录微服务的状态信息,并根据状态信息,获取短信登录微服务的成功率,例如短信登录微服务的成功率为98%,还可以根据预设时长,获取短信登录微服务的效率,例如短信登录微服务的效率为3秒。
对于图4所示的技术方案,在一种可能的实现方式中,步骤403所述的获取所述被调用的微服务的第一属性以及第二属性,包括:
记录所述被调用的微服务的服务请求数目以及时长;
根据所述被调用的微服务的服务请求数目,获取被调用的微服务在预设时间段内的服务请求数目;
根据所述被调用的微服务的时长,获取被调用的微服务在预设时间段内的服务请求的总时长。
举例来说,当接收到短信登录服务请求后,调用相应的短信登录微服务进行处理,记录调用短信登录微服务的服务请求数目是第200个,以及时长是0.5秒,并根据记录调用短信登录微服务的服务请求数目,获取调用短信登录微服务在第4分钟内的服务请求数目,例如调用短信登录微服务在第4分钟内的服务请求数目是100个,还可以根据记录的时长,获取调用短信登录微服务在第4分钟内的服务请求总时长,例如调用短信登录微服务在第4分钟内的服务请求总时长是5秒。
对于图4所示的技术方案,在一种可能的实现方式中,步骤404所述的根据所述第一属性以及第二属性确定所述被调用的微服务是否正常,包括:
确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件;
若所述第一属性不满足预设的第一条件,或所述第二属性不满足预设的第二条件,则确定所述被调用的微服务不正常;
若所述第一属性满足预设的第一条件,且所述第二属性满足预设的第二条件,则确定所述被调用的微服务正常。
对于图4所示的技术方案,需要说明的是,通过确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件,从而确定所述被调用的微服务是否正常,因此,在一种可能的实现方式中,所述确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件,包括:
相应于所述第一属性是所述被调用的微服务的成功率,所述第二属性是所述被调用的微服务的效率,将所述被调用的微服务的成功率与预设的比例阈值进行比较,并且将所述被调用的微服务的效率与预设的时间段进行比较,若所述被调用的微服务的成功率大于所述预设的第一比例阈值,则所述被调用的微服务的成功率满足所述预设的第一条件,若所述被调用的微服务的效率小于所述预设的时间段,则所述被调用的微服务的成功率满足所述预设的第二条件。
或者,相应于所述第一属性是所述被调用的微服务在预设时间段内的服务请求数目,所述第二属性是所述被调用的微服务在预设时间段内的服务请求的总时长,将所述被调用的微服务在预设时间段内的服务请求数目与前一预设时间段内的服务请求数目进行比较,并且将所述被调用的微服务在预设时间段内的服务请求的总时长与预设的时长进行比较,若所述被调用的微服务在预设时间段内的服务请求数目与所述前一预设时间段内的服务请求数目的比值小于等于第二比例阈值,则所述被调用的微服务在预设时间段内的服务请求数目满足所述预设的第一条件,若所述被调用的微服务在预设时间段内的服务请求的总时长小于等于所述预设的时长,则所述被调用的微服务在预设时间段内的服务请求的总时长满足所述预设的第二条件。
举例来说,当所述第一属性是短信登录微服务的成功率,所述第二属性是短信登录微服务的效率,所述预设的第一比例阈值是99%,所述预设的时间段是3秒,则将所述短信登录微服务的成功率与比例阈值99%进行比较,并且将短信登录微服务的效率与预设的时间段3秒进行比较,若短信登录微服务的成功率大于99%,则短信登录微服务的成功率满足所述预设的第一条件,若短信登录微服务的效率小于3秒,则短信登录微服务的成功率满足所述预设的第二条件。
或者,当所述第一属性是短信登录微服务在5分钟内的服务请求数目,所述第二属性是短信登录微服务在5分钟内的服务请求的总时长,所述前一预设时间段内的服务请求数目是在4分钟内的服务请求数目,所述预设的时长是3秒,则将所述短信登录微服务在5分钟内的服务请求数目与在4分钟内的服务请求数目进行比较,并且将所述短信登录微服务在5分钟内的服务请求的总时长与预设的时长进行比较,若所述短信登录微服务在5分钟内的服务请求数目与在4分钟内的服务请求数目的比值小于等于115%,则短信登录微服务在5分钟内的服务请求数目满足所述预设的第一条件,若所述短信登录微服务在5分钟内的服务请求的总时长小于3秒,则短信登录微服务在5分钟内的服务请求的总时长满足所述预设的第二条件。
对于图4所示的技术方案,在一种可能的实现方式中,步骤405所述的相应于确定所述被调用的微服务不正常,生成微服务扩展指令,包括:
相应于确定所述被调用的微服务不正常,则确定要增加所述被调用的微服务数量,生成相应的微服务扩展指令。
举例来说,相应于所述被调用的微服务为短信登录微服务,当确定短信登录微服务不正常,则说明短信登录服务请求过多,短信登录微服务处理短信登录的能力不够,需要增加短信登录微服务的数量,并生成相应的短信登录微服务扩展指令,其中,所述短信登录微服务扩展指令为增加相应数量的短信登录微服务,例如短信登录微服务在5分钟内的服务请求数目与在4分钟内的服务请求数目的比值大于115%且小于130%,或短信登录微服务在5分钟内的服务请求的总时长大于3秒且小于4秒,则增加15%的短信登录微服务;短信登录微服务在5分钟内的服务请求数目与在4分钟内的服务请求数目的比值大于130%且小于150%,或短信登录微服务在5分钟内的服务请求的总时长大于4秒且小于5秒,则增加30%的短信登录微服务;短信登录微服务在5分钟内的服务请求数目与在4分钟内的服务请求数目的比值大于150%,或短信登录微服务在5分钟内的服务请求的总时长大于5秒,则增加50%的短信登录微服务,这样就可以解决短信登录微服务处理短信登录能力不够的问题。
本发明实施例提供了一种微服务调整方法,接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,调用与所述服务请求对应的微服务;获取所述被调用的微服务的第一属性以及第二属性;根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;向所述主服务器发送所述微服务扩展指令;接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;根据所述开启指令,开启所述需要扩展的微服务。从而实现服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
实施例二
本发明实施例提供一种通信方法,所述方法应用于主服务器,图5为本发明实施例提供的一种微服务调整方法的示意图,如图5所示,该方法主要包括以下步骤:
步骤501、接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
步骤502、根据所述服务请求,确定所述服务请求的类型;
步骤503、根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;
步骤504、接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
步骤505、根据所述微服务扩展指令,确定需要扩展的微服务;
步骤506、向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
通过图5所示的技术方案,当主服务器接收到服务请求后,确定所述服务请求的类型,并向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求,接收所述子服务器发送的微服务扩展指令,根据所述微服务扩展指令,确定需要扩展的微服务,并向所述子服务器发送微服务确定指令,从而实现了微服务的自动扩展。
对于图5所示的技术方案,在一种可能的实现方式中,步骤502所述的根据所述服务请求,确定所述服务请求的类型,包括:
根据所述服务请求中的所述用于指示服务请求类型的参数,确定所述服务请求的类型。
举例来说,当主服务器接收到服务请求后,可以根据服务请求中的用于指示服务请求类型的参数,确定服务请求类型。例如,当主服务器接收到登录请求后,根据登录请求中携带的短信随机码等参数,确定接收到的登录请求是短信登录请求。以一种统一门户认证系统为例,可以将统一门户认证系统分为几个部分,其每一部分的服务请求也不同,图6为本发明实施例提供的一种统一门户认证系统功能架构示意图,如图6所示,统一门户认证系统分为用户交互层、应用处理层、接口层以及数据层,所述用户交互层由可分为用户登录页面和运维登录页面,所述应用处理层可分为登录服务、认证服务、用户中心、安全中心以及运维管理等部分,所述登录服务又可分为登录页面管理、登录会话管理以及单点登录服务,所述认证服务又可分为客户身份验证、登录会话管理以及单点登录服务,所述用户中心又可分为账号注册、账号绑定以及账号解绑,所述安全中心又可分为密码稽核、密码管理、登录查询、密保管理以及登录提醒,所述运维管理又可分为系统管理、安全管理、监控管理以及统计管理,所述接口层可分为电子渠道与统一门户认证的接口以及统一门户认证系统与省CRM的接口,所述数据层可分为账号数据、配置数据、日志数据以及会话数据,因此,一种统一门户认证系统可分为多个部分,其对应的服务请求的类型也是不同的,可根据服务请求中携带的参数确定服务请求类型,例如当接收到认证服务请求后,可根据认证服务请求中携带的客户身份验证参数,确定认证服务请求是一种客户身份验证请求。
对于图5所示的技术方案,在一种可能的实现方式中,步骤503所述的根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求,包括:
根据所述服务请求的类型,确定具有与所述服务请求的类型对应的微服务的子服务器,并通过轮询的方式向所述子服务器转发服务请求。
需要说明的是,确定服务请求的类型后,可能具有与所述服务请求的类型对应的微服务的子服务器有多个,因此,需要通过轮询的方式向所述子服务器转发服务请求。例如,当主服务器接收到第一个短信登录请求后,确定具有短信登录微服务的子服务器有子服务器1、子服务器2、以及子服务器3,首先向子服务器1转发第一个短信登录请求,当接收到第二个短信登录请求后,向子服务器2转发第二个短信登录请求。
对于图5所示的技术方案,在一种可能的实现方式中,步骤505所述的根据所述微服务扩展指令,确定需要扩展的微服务,包括:
根据所述微服务扩展指令中的需要扩展的微服务数量以及需要扩展的微服务类型,通过自动化脚本确定需要扩展的微服务。
举例来说,当主服务器接收到微服务扩展指令后,根据微服务扩展指令中增加3个短信登录微服务,通过自动化脚本确定需要扩展所述子服务器中的短信登录微服务6、短信登录微服务7、短信登录微服务8。
本发明实施例提供了一种微服务调整方法,接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,确定所述服务请求的类型;根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;根据所述微服务扩展指令,确定需要扩展的微服务;向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。从而实现服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
实施例三
本发明实施例提供一种微服务调整方法,图7A为本发明实施例提供的一种微服务调整方法的示意图,如图7A所示,该方法主要包括以下步骤:
步骤701、主服务器获取服务请求;其中,所述服务请求包括用于指示服务请求类型的参数。
需要说明的是,所述服务请求是用户通过PC或者手机APP发出的请求,其中,服务请求包括用于指示服务请求类型的参数。例如当用户需要通过短信进行登录,可以通过点击PC或者手机APP上的登录按钮,并发送短信随机码,则用户通过PC或者手机APP发送了短信登录服务请求,PC或者手机APP的后台服务器将短信登录服务请求进行封装发送给主服务器,其中短信登录服务请求包括用于指示服务请求是短信登录服务请求的参数,也就是短信随机码等参数。
步骤702、主服务器根据服务请求中的参数,确定服务请求类型。
这里,主服务器根据服务请求中的用于指示服务请求类型的参数,确定服务请求类型。例如,当主服务器接收到登录请求后,根据登录请求中携带的短信随机码等参数,确定接收到的登录请求是短信登录请求;当主服务器接收到登录请求后,根据登录请求中携带的免认证登录请求参数,确定接收到的登录请求是免认证登录请求。
步骤703、主服务器根据服务请求类型,向具有与所述服务请求的类型对应的微服务的子服务器转发服务请求。
这里,主服务器可以根据服务请求类型,确定具有对应微服务的子服务器,并通过轮询的方式向具有对应微服务的子服务器转发服务请求。由于具有对应微服务的子服务器可以有多个,因此,需要通过轮询的方式向子服务器转发服务请求,例如当主服务器接收到第一个短信登录请求后,向第一个具有短信登录微服务的子服务器转发第一个短信登录请求,当主服务器接收到第二个短信登录请求后,向第二个具有短信登录微服务的子服务器转发第二个短信登录请求,依次进行转发短信登录请求。
步骤704、子服务器接收到服务请求后,调用与服务请求对应的微服务。
需要说明的是,子服务器接收到服务请求后,根据服务请求中用于指示服务请求类型的参数,调用与服务请求参数对应的微服务,还可以调用微服务对服务请求进行相应的处理。例如,当子服务器接收到第一个短信登录请求后,调用第一个短信登录微服务,并将短信登录请求发送给第一个短信登录微服务,当子服务器接收到第二个短信登录请求后,可以调用第二个短信登录微服务,并将短信登录请求发送给第二个短信登录微服务,依次调用短信登录微服务。
需要说明的是,主服务器向子服务器转发服务请求后,子服务器根据接收到的服务请求,调用与服务请求对应的微服务,子服务器可以获取被调用微服务的成功率以及效率,或者被调用的微服务在预设时间段内的服务请求数目以及总时长,并通过被调用微服务的成功率以及效率,或者被调用的微服务在预设时间段内的服务请求数目以及总时长判断被调用的微服务是否正常。本发明实施例中,步骤705A-707A是子服务器通过获取的被调用微服务的成功率以及效率,判断被调用的微服务是否正常的过程,图7B为本发明实施例提供的又一种微服务调整方法的示意图,如图7B所示步骤705B-707B是子服务器通过获取的被调用的微服务在预设时间段内的服务请求数目以及总时长,判断被调用的微服务是否正常的过程,如下所述:
步骤705A、子服务器根据所述被调用的微服务,记录所述被调用的微服务在预设时长内的状态信息。
如图7A所示,当子服务器根据服务请求,调用与服务请求对应的微服务之后,将记录所述被调用的微服务在预设时长内的状态信息,其中所述状态信息可以是用于标识是否成功调用微服务的状态信息,可将状态信息存储在数据库或者缓存中。例如,当子服务器接收到短信登录请求后,调用短信登录微服务,若在3分钟内成功调用短信登录微服务,则记录成功调用短信登录微服务的状态信息,可将状态信息存储在数据库或者缓存中。
步骤706A、子服务器根据记录的状态信息,获取所述被调用的微服务的成功率,且根据所述预设时长,获取所述被调用微服务的效率。
需要说明的是,所述被调用微服务的成功率以及效率可以用来衡量用户使用微服务的稳定性,并且被调用微服务的成功率以及效率还可以根据具体的业务进行量化。其中,所述调用微服务的成功率是通过记录的状态信息获得的,所述调用微服务的效率是通过预设时长获得的。
步骤707A、子服务器根据被调用微服务的成功率以及效率,判断所述被调用的微服务是否正常。
这里,子服务器获取所述被调用微服务的成功率以及效率之后,可以通过获取的被调用微服务的成功率以及效率,判断所述被调用的微服务是否正常,也就是判断微服务处理业务的能力是否正常。当获取的被调用微服务的成功率大于99%,并且被调用微服务的效率小于3秒,则确定被调用的微服务是正常的,否则确定被调用的微服务是不正常的,也就是当获取的被调用微服务的成功率小于等于99%,或被调用微服务的效率大于等于3秒时,确定被调用的微服务不正常。例如当短信登录微服务的成功率为99.8%,并且短信登录微服务的效率是2秒时,则确定短信登录微服务是正常的,当短信登录微服务的成功率为98%,则确定短信登录微服务是不正常的,或者当短信登录微服务的效率是4秒时,则确定短信登录微服务是不正常的。
需要说明的是,以上步骤705A-707A是子服务器通过获取被调用微服务的成功率以及效率,判断被调用的微服务是否正常的过程,以下步骤705B-707B是子服务器通过获取被调用的微服务在预设时间段内的服务请求数目以及总时长,判断被调用的微服务是否正常的过程,如下所述:
步骤705B、子服务器根据所述被调用的微服务,记录所述被调用的微服务的服务请求数目以及时长。
如图7B所示,子服务器根据所述被调用的微服务,可以记录所述被调用的微服务的服务请求数目以及时长。例如,由于子服务器中可能具有多个短信登录微服务,当调用短信登录微服务时,可以按照轮询的方式调用短信登录微服务,因此,当子服务器调用第一个短信登录微服务处理接收到的第一个短信登录请求,将记录下第一个短信登录微服务0.5秒处理了1个短信登录请求,按照轮询的方式调用短信登录微服务处理短信登录请求,当子服务器调用第一个短信登录微服务处理接收到的第五个短信登录请求,将记录下第一个短信登录微服务0.6秒处理了2个短信登录请求,依次记录短信登录服务请求数目以及时长。
步骤706B、子服务器根据所述被调用的微服务的服务请求数目,获取被调用的微服务在预设时间段内的服务请求数目,且根据所述被调用的微服务的时长,获取被调用的微服务在预设时间段内的服务请求的总时长。
需要说明的是,子服务器根据所述记录的被调用的微服务的服务请求数目,可以获取被调用的微服务在预设时间段内的服务请求数目,且根据所述记录的被调用的微服务的时长,可以获取被调用的微服务在预设时间段内的服务请求的总时长。例如,当子服务器根据记录的服务请求数目,可以获取第一个短信登录微服务在第五分钟内有100个短信登录服务请求,总时长是4秒,在第六分钟内有150个短信登录服务请求,总时长是5秒。
步骤707B、子服务器根据被调用的微服务在预设时间段内的服务请求数目以及总时长,判断所述被调用的微服务是否正常。
这里,子服务器通过被调用的微服务在预设时间段内的服务请求数目以及总时长,判断所述被调用的微服务是否正常,也就是判断被调用的微服务处理业务的能力是否正常。当获取的在预设时间段内的服务请求数目与前一预设时间段内的服务请求数目的比值大于115%,或在预设时间段内的服务请求的总时长大于3秒,则确定微服务不正常,说明当前用户并发量大,微服务处理能力不足。例如该第一个短信登录微服务在第六分钟内获取了130个短信登录服务请求,且第五分钟内获取了100个短信登录服务请求,则确定短信登录微服务不正常,或者短信登录请求总时长是4秒,则确定短信登录微服务不正常。
步骤708、若确定所述被调用的微服务不正常,则子服务器生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型。
这里,若通过获取的被调用的微服务的成功率以及效率,确定微服务不正常时,子服务器会生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型。例如,当确定短信登录微服务是不正常的,则子服务器会生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展5个短信登录微服务。
另外,若通过获取的被调用的微服务在预设时间段内的服务请求数目以及总时长,确定微服务不正常时,子服务器会生成微服务扩展指令。当预设时间段内的服务请求数目与前一预设时间段内的服务请求数目比值大于150%或总时长大于5秒,说明当前用户并发量大,超过当前的服务能力,生成增加50%微服务的扩展指令;当预设时间段内的服务请求数目与前一预设时间段内的服务请求数目的比值大于130%且小于150%,或总时长大于4秒且小于5秒,则生成增加30%微服务的扩展指令;当预设时间段内的服务请求数目与前一预设时间段内的服务请求数目的比值大于115%且小于130%,或总时长大于3秒且小于4秒,则生成增加15%微服务的扩展指令;当预设时间段内的服务请求数目与前一预设时间段内的服务请求数目的比值小于115%,或总时长小于3秒,则不生成微服务扩展指令,说明当前用户并发量不大,服务能力足够处理相应的服务。
步骤709、子服务器向主服务器发送所述微服务扩展指令。
步骤710、主服务器接收到所述微服务扩展指令后,确定需要扩展的微服务。
需要说明的是,当主服务器接收到所述微服务扩展指令之后,可以根据所述微服务扩展指令中的需要扩展的微服务数量以及需要扩展的微服务类型,通过自动化脚本确定需要扩展的子服务器中的微服务。例如,主服务器根据微服务扩展指令中需要增加3个短信登录微服务,通过自动化脚本确定需要扩展所述子服务器中的短信登录微服务6、短信登录微服务7、短信登录微服务8。
步骤711、向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
步骤712、子服务器根据所述开启指令,开启所述需要扩展的微服务。
这里,子服务器接收到主服务器发送的开启指令后,根据开启指令,开启所述需要扩展的子服务器中的微服务。例如,子服务器根据开启指令,开启子服务器中的短信登录微服务6、短信登录微服务7、短信登录微服务8。
本发明实施例提供了一种微服务调整方法,子服务器接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,调用与所述服务请求对应的微服务;获取所述被调用的微服务的第一属性以及第二属性;根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;向所述主服务器发送所述微服务扩展指令;接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;根据所述开启指令,开启所述需要扩展的微服务。从而实现服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
实施例四
本发明实施例提供一种微服务调整装置,图8为本发明实施例提供的一种微服务调整装置的结构示意图,如图8所示,该微服务调整装置800主要包括:第一接收单元801、调用单元802、获取单元803、第一确定单元804、生成单元805、第一发送单元806、第二接收单元807和执行单元808;其中,
所述第一接收单元801,用于接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
所述调用单元802,用于根据所述服务请求,调用与所述服务请求对应的微服务;
所述获取单元803,用于获取所述被调用的微服务的第一属性以及第二属性;
所述第一确定单元804,用于根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;
所述生成单元805,用于相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
所述第一发送单元806,用于向所述主服务器发送所述微服务扩展指令;
所述第二接收单元807,用于接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;
所述执行单元808,用于根据所述开启指令,开启所述需要扩展的微服务。
示例性地,所述调用单元802还用于:
根据所述用于指示服务请求类型的参数,确定所述服务请求的类型;
调用与所述服务请求的类型对应的微服务。
相应地,所述获取单元803还用于:
记录所述被调用的微服务在预设时长内的状态信息;
根据所述状态信息,获取所述被调用的微服务的成功率;
根据所述预设时长,获取所述被调用的微服务的效率。
可选地,所述获取单元803还用于:
记录所述被调用的微服务的服务请求数目以及时长;
根据所述被调用的微服务的服务请求数目,获取被调用的微服务在预设时间段内的服务请求数目;
根据所述被调用的微服务的时长,获取被调用的微服务在预设时间段内的服务请求的总时长。
相应地,所述第一确定单元804还用于:
确定所述第一属性是否满足预设的第一条件,或所述第二属性是否满足预设的第二条件;
若所述第一属性不满足预设的第一条件,或所述第二属性不满足预设的第二条件,则确定所述被调用的微服务不正常;
若所述第一属性满足预设的第一条件,且所述第二属性满足预设的第二条件,则确定所述被调用的微服务正常。
相应地,所述第一确定单元804还用于:
相应于所述第一属性是所述被调用的微服务的成功率,所述第二属性是所述被调用的微服务的效率,将所述被调用的微服务的成功率与预设的比例阈值进行比较,并且将所述被调用的微服务的效率与预设的时间段进行比较,若所述被调用的微服务的成功率大于所述预设的第一比例阈值,则所述被调用的微服务的成功率满足所述预设的第一条件,若所述被调用的微服务的效率小于所述预设的时间段,则所述被调用的微服务的成功率满足所述预设的第二条件。
相应地,所述第一确定单元804还用于:
相应于所述第一属性是所述被调用的微服务在预设时间段内的服务请求数目,所述第二属性是所述被调用的微服务在预设时间段内的服务请求的总时长,将所述被调用的微服务在预设时间段内的服务请求数目与前一预设时间段内的服务请求数目进行比较,并且将所述被调用的微服务在预设时间段内的服务请求的总时长与预设的时长进行比较,若所述被调用的微服务在预设时间段内的服务请求数目与所述前一预设时间段内的服务请求数目的比值小于等于第二比例阈值,则所述被调用的微服务在预设时间段内的服务请求数目满足所述预设的第一条件,若所述被调用的微服务在预设时间段内的服务请求的总时长小于等于所述预设的时长,则所述被调用的微服务在预设时间段内的服务请求的总时长满足所述预设的第二条件。
可选地,所述生成单元805用于:
相应于确定所述被调用的微服务不正常,则确定要增加所述被调用的微服务数量,生成相应的微服务扩展指令。
本发明实施例提供了一种微服务调整装置,接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,调用与所述服务请求对应的微服务;获取所述被调用的微服务的第一属性以及第二属性;根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;向所述主服务器发送所述微服务扩展指令;接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;根据所述开启指令,开启所述需要扩展的微服务。从而实现服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
实施例五
本发明实施例提供一种微服务调整装置,图9为本发明实施例提供的一种微服务调整装置的结构示意图,如图9所示,该微服务调整装置900主要包括:第三接收单元901、第二确定单元902、第二发送单元903、第四接收单元904、第三确定单元905和第三发送单元906;其中,
所述第三接收单元901,用于接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
所述第二确定单元902,用于根据所述服务请求,确定所述服务请求的类型;
所述第二发送单元903,用于根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;
所述第四接收单元904,用于接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
所述第三确定单元905,用于根据所述微服务扩展指令,确定需要扩展的微服务;
所述第三发送单元906,用于向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
可选地,所述第二确定单元902还用于:
根据所述服务请求中的所述用于指示服务请求类型的参数,确定所述服务请求的类型。
相应地,所述第二发送单元903还用于:
根据所述服务请求的类型,确定具有与所述服务请求的类型对应的微服务的子服务器,并通过轮询的方式向所述子服务器转发服务请求。
示例性地,所述第三确定单元905还用于:
根据所述微服务扩展指令中的需要扩展的微服务数量以及需要扩展的微服务类型,通过自动化脚本确定需要扩展的微服务。
本发明实施例提供了一种微服务调整装置,接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;根据所述服务请求,确定所述服务请求的类型;根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;根据所述微服务扩展指令,确定需要扩展的微服务;向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。从而实现服务之间彻底解耦,提高业务稳定性,通过弹性扩展微服务,使得服务可以快速扩展,减少微服务的负载,开发更灵活。
实施例六
本发明实施例提供一种服务器,图10为本发明实施例提供的一种服务器的结构示意图,如图10所示,所述终端1000至少包括一个处理器1001、一个通信总线1002和存储器1003。其中,通信总线1002配置为实现这些组件之间的连接通信;
存储器1003存储在所述处理器1001上运行的计算机程序;
处理器1001,运行所述计算机程序时,执行:
接收主服务器发送的服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
根据所述服务请求,调用与所述服务请求对应的微服务;
获取所述被调用的微服务的第一属性以及第二属性;
根据所述第一属性以及第二属性确定所述被调用的微服务是否正常;
相应于确定所述被调用的微服务不正常,生成微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
向所述主服务器发送所述微服务扩展指令;
接收主服务器发送的开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务;
根据所述开启指令,开启所述需要扩展的微服务。
相应地,本发明实施例再提供一种计算机存储介质,所述计算机可读存储介质上存储有微服务调整程序,所述微服务调整程序被处理器执行时实现本实施例提供的微服务调整方法的步骤。
实施例七
本发明实施例提供一种服务器,图11为本发明实施例提供的又一种服务器的结构示意图,如图11所示,所述终端1100至少包括一个处理器1101、一个通信总线1102和存储器1103。其中,通信总线1102配置为实现这些组件之间的连接通信;
存储器1103存储在所述处理器1101上运行的计算机程序;
处理器1101,运行所述计算机程序时,执行:
接收服务请求;其中,所述服务请求包括用于指示服务请求类型的参数;
根据所述服务请求,确定所述服务请求的类型;
根据所述服务请求的类型,向具有与所述服务请求的类型对应的微服务的子服务器转发所述服务请求;
接收所述子服务器发送的微服务扩展指令;其中,所述微服务扩展指令包括需要扩展的微服务数量以及需要扩展的微服务类型;
根据所述微服务扩展指令,确定需要扩展的微服务;
向所述子服务器发送开启指令;其中,所述开启指令用于指示开启所述需要扩展的微服务。
相应地,本发明实施例再提供一种计算机存储介质,所述计算机可读存储介质上存储有微服务调整程序,所述微服务调整程序被处理器执行时实现本实施例提供的微服务调整方法的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。