服务部署方法和系统与流程

文档序号:12067833阅读:423来源:国知局
服务部署方法和系统与流程

本发明属于通信技术领域,尤其是涉及一种服务部署方法和系统。



背景技术:

目前,软件服务的部署方式一般是以单机服务器+数据库的方式部署。

举例来说,用户选定一台服务器,在该服务器中部署软件服务,再选定另外的一台服务器安装数据库。进而,使用常用的配置工具去执行相关的数据库配置。执行数据库配置时,部署了软件服务的服务器会生成一些表和字段等信息,并将这些信息以脚本的形式导入数据库中。

上述服务部署中,是由人工手动实现服务的部署和配置等操作的,部署效率较低,而且,在用户访问数量很大的情况下,单机服务器的方式也不能满足用户的访问需求。



技术实现要素:

针对上述存在的问题,本发明提供一种服务部署方法和系统,用以提高服务部署效率、满足大量用户访问需求。

本发明提供了一种服务部署方法,包括:

管理节点接收各前端页面节点分别发送的第一节点属性信息,其中,前端页面节点是提供访问预设服务的访问页面的节点;第一节点属性信息包括对应前端页面节点的IP地址、端口号以及节点类型,所述前端页面节点的端口号是部署对应前端页面节点时,所述对应前端页面节点自动检测获得的未被占用端口的端口号;

所述管理节点将由各所述第一节点属性信息构成的第一列表分别发送给所述各前端页面节点;

所述管理节点接收各后端服务节点分别发送的第二节点属性信息;其中,后端服务节点是提供预设服务的节点;第二节点属性信息包括对应后端服务节点的IP地址、端口号,所述后端服务节点的端口号是部署对应后端服务节点 时,所述对应后端服务节点自动检测获得的未被占用端口的端口号;

所述管理节点将由各所述第二节点属性信息构成的第二列表分别发送给所述各后端服务节点;

所述管理节点根据预先生成的与所述预设服务对应的脚本文件,配置数据库节点,所述数据库节点是安装有数据库的节点。

本发明提供了一种服务部署系统,包括:

管理节点、各前端页面节点、各后端服务节点和数据库节点;

所述管理节点包括:

第一接收模块,用于接收各前端页面节点分别发送的第一节点属性信息,其中,前端页面节点是提供访问预设服务的访问页面的节点;第一节点属性信息包括对应前端页面节点的IP地址、端口号以及节点类型,所述前端页面节点的端口号是部署对应前端页面节点时,所述对应前端页面节点自动检测获得的未被占用端口的端口号;

第一发送模块,用于将由各所述第一节点属性信息构成的第一列表分别发送给所述各前端页面节点;

第二接收模块,用于接收各后端服务节点分别发送的第二节点属性信息;其中,后端服务节点是提供预设服务的节点;第二节点属性信息包括对应后端服务节点的IP地址、端口号,所述后端服务节点的端口号是部署对应后端服务节点时,所述对应后端服务节点自动检测获得的未被占用端口的端口号;

第二发送模块,用于将由各所述第二节点属性信息构成的第二列表分别发送给所述各后端服务节点;

配置模块,用于根据预先生成的与所述预设服务对应的脚本文件,配置数据库节点,所述数据库节点是安装有数据库的节点。

本发明提供的服务部署方法和系统,在部署完提供访问某服务的访问页面的各个前端页面节点时,每个前端页面节点自动检测获得自身未被占用的端口号,以该端口号作为对外的访问端口,并将自身节点属性信息:IP地址、该端口号以及节点类型上报给管理节点,管理节点生成第一列表,该第一列表中存储了各前端页面节点上报的节点属性信息,并将该第一列表发送给各个前端页面节点,以使得各个前端页面节点知道其他前端页面节点的节点属性信息,实现各个前端页面节点的互通。另外,在部署完提供某服务的各个后端服务节 点时,每个后端服务节点自动检测获得自身未被占用的端口号,以该端口号作为访问其提供的服务的访问端口,并将自身节点属性信息:IP地址、该端口号上报给管理节点,管理节点生成第二列表,该第二列表中存储了各后端服务节点上报的节点属性信息,并将该第二列表发送给各个后端服务节点,以使得各个后端服务节点知道其他后端服务节点的节点属性信息,实现各个后端服务节点的互通。而且,由管理节点预先生成的与后端服务节点提供的服务相对应的脚本文件,由管理节点实现对数据库的配置,使得数据库的配置与后端服务节点无关。该方案中,部署了多个前端页面节点和后端服务节点以满足大量用户的访问需求。上述各前端页面节点和各后端服务节点在部署好并与管理节点连通之后,通过自动检测端口、向管理节点上报节点属性信息的方式,实现了通过管理节点实现各前端页面节点间的互通以及各后端服务节点间的互通,实现了基于云架构的服务部署,在需要新增节点时,仅需安装完相应的前端页面或后端服务时,与管理节点电连接便可方便实现与其他相应节点间的互通,部署效率得到很大的提高。

附图说明

图1为本发明服务部署方法实施例一的流程图;

图2为本发明服务部署方法实施例二的流程图;

图3为本发明服务部署方法实施例三的流程图;

图4为本发明服务部署系统实施例一的结构示意图;

图5为本发明服务部署系统实施例二的结构示意图;

图6为本发明服务部署系统实施例三的结构示意图。

具体实施方式

图1为本发明服务部署方法实施例一的流程图,如图1所示,该方法包括如下步骤:

步骤101、管理节点接收各前端页面节点分别发送的第一节点属性信息。

步骤102、管理节点将由各所述第一节点属性信息构成的第一列表分别发送给所述各前端页面节点。

一般来说,为提供某种软件服务,服务提供者所设计的服务架构大都是 分为前端和后端的。前端即是呈现给用户可以观看、操作的前端页面节点,也就是说前端页面节点是提供访问该服务的访问页面的节点;后端即是提供该服务的后端服务节点。

其中,本实施例中所说的节点,可以理解为是比如服务器等硬件设备。

为了满足大量用户的访问需求,本实施例中,会设置多个前端页面节点,以用来接收用户的访问请求。

在部署各前端页面节点时,在各前端页面节点中安装与服务相关的访问页面等内容,在安装完成之后,各前端页面节点会自动检测获得其未被占用的端口号,以该端口号作为对外的访问接口,即用户的访问请求通过该端口号被接收到。各前端页面节点在自动检测获得其未被占用的端口号之后,将携带有该端口号以及自身IP地址和节点类型的第一节点属性信息上报给管理节点。

其中,前端页面节点的节点类型可以包括静态和动态页面节点两种类型,也可以是仅包含一种类型,每种节点类型相应的表征了对应前端页面节点所适用于处理的访问请求的类型,具体在后续实施例中详细介绍。

管理节点生成第一列表,该第一列表中存储有各前端页面节点上报的第一节点属性信息。进而,管理节点将该第一列表分别发送给各前端页面节点,从而,各前端页面节点能够基于该第一列表获知其他前端页面节点的节点属性情况,也就是说,各前端页面节点能够基于该第一列表实现与其他前端页面节点的互通,比如某前端页面节点在接收到用户的访问请求之后,如果自身无法处理,则可以基于该第一列表将访问请求转发给其他前端页面节点进行处理,保证了对用户访问请求处理的可靠性。

步骤103、管理节点接收各后端服务节点分别发送的第二节点属性信息。

其中,后端服务节点是提供预设服务的节点;第二节点属性信息包括对应后端服务节点的IP地址、端口号,所述后端服务节点的端口号是部署对应后端服务节点时,所述对应后端服务节点自动检测获得的未被占用端口的端口号。

步骤104、管理节点将由各所述第二节点属性信息构成的第二列表分别发送给所述各后端服务节点。

同样的,为了满足大量用户的访问需求,本实施例中,会设置多个后端 服务节点,以用来响应用户的访问请求,为用户反馈访问结果。

在部署各后端服务节点时,在各后端服务节点中安装提供该服务的相关软件、工具等内容,在安装完成之后,各后端服务节点会自动检测获得其未被占用的端口号,以该端口号作为与前端页面节点的交互接口。各后端服务节点在自动检测获得其未被占用的端口号之后,将携带有该端口号以及自身IP地址第二节点属性信息上报给管理节点。

管理节点生成第二列表,该第二列表中存储有各后端服务节点上报的第二节点属性信息。进而,管理节点将该第二列表分别发送给各后端服务节点,从而,各后端服务节点能够基于该第二列表获知其他后端服务节点的节点属性情况,也就是说,各后端服务节点能够基于该第二列表实现与其他后端服务节点的互通,比如某后端服务节点在接收到某前端页面节点发送的用户访问请求之后,如果自身无法处理,则可以基于该第二列表将访问请求转发给其他后端服务节点进行处理,保证了对用户访问请求处理的可靠性。

由上可知,本实施例中,安装了相关内容的各前端页面节点和各后端服务节点,在与管理节点连接之后,触发自动检测可用端口号、上报节点属性信息的过程,从而能够实现各前端页面节点之间、各后端服务节点之间的互通,大大提高了完成整个服务的部署效率。

步骤105、管理节点根据预先生成的与所述预设服务对应的脚本文件,配置数据库节点,所述数据库节点是安装有数据库的节点。

本实施例中,由于该管理节点的设置,可以由管理节点统筹管理服务的部署,相应的,也可以有该管理节点完成数据库节点的配置,可以在管理节点中预先生成配置数据库所需的脚本文件,在数据库节点与管理节点连接之后,由管理节点进行数据库的配置处理。

本实施例中,部署了多个前端页面节点和后端服务节点以满足大量用户的访问需求。上述各前端页面节点和各后端服务节点在部署好并与管理节点连通之后,通过自动检测端口、向管理节点上报节点属性信息的方式,实现了通过管理节点实现各前端页面节点间的互通以及各后端服务节点间的互通,实现了基于云架构的服务部署,在需要新增节点时,仅需安装完相应的前端页面或后端服务时,与管理节点电连接便可方便实现与其他相应节点间的互通,部署效率得到很大的提高。

图2为本发明服务部署方法实施例二的流程图,如图2所示,在图1所示实施例的基础上,在步骤105之后,还可以包括如下步骤:

步骤201、管理节点通过Redis节点将所述数据库节点中存储的数据读取至所述管理节点的内存中,管理节点中包括Redis节点。

步骤202、若所述管理节点监测到第一后端服务节点改变了所述内存中存储的数据,则所述管理节点将改变的数据同步到各第二后端服务节点。

其中,第一后端服务节点是所述各后端服务节点中的任一个,所述各第二后端服务节点是除所述第一后端服务节点之外的其他后端服务节点。

一般来说,对服务进行访问时,会需要访问数据库已获得相应的数据,但是频繁的访问数据库将导致大量的输入输出(I/O)操作,访问效率低。为此,本实施例中,通过在管理节点中设置Redis节点,通过Redis节点将数据库中存储的数据读取至管理节点的内存中,从而,对用户访问请求的处理,只需在管理节点的内存中读取相应的数据,可以提高访问处理速率。

另外,当用户的某些访问改变了内存中所存储的某个或某些数据时,管理节点会监测到处理该访问的后端服务节点对该数据的改变,从而管理节点将该改变同步发送给其他后端服务节点,从而,如果其他后端服务节点在处理其他用户的访问请求时需要用到该改变的数据,则可以获知该数据被改变的情况,以确定是否采用该改变后的数据进行用户访问响应。

图3为本发明服务部署方法实施例三的流程图,如图3所示,在图1或图2所示实施例的基础上,该方法还可以包括如下步骤:

步骤301、前端页面节点接收用户发送的访问请求,根据监听到的所述各后端服务节点广播的第二节点属性信息和服务负载信息,确定处理所述访问请求的目标后端服务节点,并将所述访问请求发送至所述目标后端服务节点。

步骤302、前端页面节点接收所述目标后端服务节点对所述访问请求的处理结果并显示。

本实施例将从对用户的访问请求进行处理的角度进行描述。

具体来说,当某前端页面节点接收到用户的访问请求时,其需要将该访问请求发送至某个后端服务节点,以由该后端服务节点对该访问请求进行处理 响应。该前端页面节点具体可以通过监听各个后端服务节点的广播消息的方式,以基于各后端服务节点的广播消息来确定处理用户访问请求的目标后端服务节点。

具体地,各个后端服务节点可以周期性发送携带有自身IP地址、端口号和服务负载信息的广播消息。接收到用户的访问请求的前端页面节点,根据各后端服务节点的广播消息,从中选择出具有最低服务负载的后端服务节点作为目标后端服务节点,将访问请求发至该目标后端服务节点。目标后端服务节点从管理节点内存中所存储的数据中获得相应的处理结果后,将处理结果反馈至该前端页面节点,该前端页面节点接收并显示。

前述实施例中提到,前端页面节点可以具有不同的节点类型,本实施例中,前端页面节点的节点类型包括前端静态页面节点和前端动态页面节点。

其中,前端静态页面节点是负责处理对应于静态页面的访问请求的,该前端静态页面节点比如可以是nginx服务器,前端动态页面节点是负责处理对应于动态页面的访问请求的,该前端动态页面节点比如可以是tomcat服务器。

本实施例中,对于用户来说,接收用户访问请求的可以都是前端静态页面节点,也就是说由前端静态页面节点接收用户的访问请求,当该前端静态页面节点确定访问请求是对应于静态页面的访问请求时,该前端静态页面节点进而确定自身的处理负载是否高于预设负载阈值,如果低于该负载阈值,则由该接收到用户的访问请求的前端静态页面节点处理该访问请求,即执行向后端服务节点转发该访问请求的处理。相反的,如果高于该负载阈值,则该前端静态页面节点根据从管理节点得到的第一列表,将访问请求转发至其他前端静态页面节点,其中,可以从其他前端静态页面节点中随机选择一个作为目标前端静态页面节点,将该访问请求发送给该目标前端静态页面节点。

另外,如果接收到用户的访问请求的前端静态页面节点确定该访问请求是对应于动态页面的访问请求,此时,该前端静态页面节点根据第一列表,将访问请求转发至前端动态页面节点。类似的,该前端静态页面节点也可以随机从各前端动态页面节点选择一个作为目标前端动态页面节点,将该访问请求发送给该目标前端动态页面节点。

本实施例中,前端页面节点在接收到用户的访问请求后,可以基于自身 的节点类型以及服务负载情况,在自身不能处理该访问请求时,可以基于从管理节点中获得的第一列表,完成访问请求向其他前端页面节点的转发,保证了用户访问请求能够得到处理。

图4为本发明服务部署系统实施例一的结构示意图,如图4所示,该系统包括:管理节点1、各前端页面节点2、各后端服务节点3和数据库节点4。

所述管理节点1包括:第一接收模块11、第一发送模块12、第二接收模块13、第二发送模块14和配置模块15。

第一接收模块11,用于接收各前端页面节点2分别发送的第一节点属性信息,其中,前端页面节点2是提供访问预设服务的访问页面的节点;第一节点属性信息包括对应前端页面节点的IP地址、端口号以及节点类型,所述前端页面节点的端口号是部署对应前端页面节点时,所述对应前端页面节点自动检测获得的未被占用端口的端口号。

第一发送模块12,用于将由各所述第一节点属性信息构成的第一列表分别发送给所述各前端页面节点2。

第二接收模块13,用于接收各后端服务节点3分别发送的第二节点属性信息;其中,后端服务节点3是提供预设服务的节点;第二节点属性信息包括对应后端服务节点的IP地址、端口号,所述后端服务节点的端口号是部署对应后端服务节点时,所述对应后端服务节点自动检测获得的未被占用端口的端口号。

第二发送模块14,用于将由各所述第二节点属性信息构成的第二列表分别发送给所述各后端服务节点3。

配置模块15,用于根据预先生成的与所述预设服务对应的脚本文件,配置数据库节点4,所述数据库节点是安装有数据库的节点。

本实施例的服务部署系统可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图5为本发明服务部署系统实施例二的结构示意图,如图5所示,在图4所示实施例的基础上,该管理节点中还包括Redis节点16。

所述Redis节点16,用于将所述数据库节点中存储的数据读取至所述管 理节点的内存中。

所述管理节点还包括:数据同步处理模块17。

数据同步处理模块17,用于在监测到第一后端服务节点改变了所述内存中存储的数据时,将改变的数据同步到各第二后端服务节点,其中,第一后端服务节点是所述各后端服务节点中的任一个,所述各第二后端服务节点是除所述第一后端服务节点之外的其他后端服务节点。

本实施例的服务部署系统可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图6为本发明服务部署系统实施例三的结构示意图,如图6所示,在图4或图5所示实施例的基础上,所述前端页面节点2用于:接收用户发送的访问请求,根据监听到的所述各后端服务节点3广播的第二节点属性信息和服务负载信息,确定处理所述访问请求的目标后端服务节点,并将所述访问请求发送至所述目标后端服务节点。

所述前端页面节点2还用于:接收所述目标后端服务节点对所述访问请求的处理结果并显示。

具体的,前端页面节点2的节点类型包括前端静态页面节点21和前端动态页面节点22。

其中,所述前端静态页面节点21用于:

接收所述访问请求,若所述访问请求是对应于静态页面的访问请求,且所述前端静态页面节点的处理负载高于预设负载阈值,则所述前端静态页面节点根据所述第一列表,将所述访问请求转发至其他前端静态页面节点;

或者,所述前端静态页面节21点还用于:

接收所述访问请求,若所述访问请求是对应于动态页面的访问请求,则所述前端静态页面节点根据所述第一列表,将所述访问请求转发至前端动态页面节点22。

本实施例的服务部署系统可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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