分布式服务配置系统及信息管理方法与流程

文档序号:13033810阅读:259来源:国知局
分布式服务配置系统及信息管理方法与流程
本发明涉及互联网
技术领域
,特别涉及一种分布式服务配置系统及信息管理方法。
背景技术
:在现代生活中,互联网给用户的生活带来了极大地便利。为了能够向用户提供各种各样的服务,互联网上分布着各种业务服务节点,每个业务服务节点能够为用户提供一种类型的服务。当前,每个业务服务节点在提供服务时,需要将访问外部服务器的接口地址及业务服务配置数据以配置文件的形式部署在当前业务服务目录下。当外部服务器的接口地址变更或业务服务配置数据变化时,需要修改该配置文件以及服务接口的配置信息,以确保能够顺利为用户提供服务。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:然而,一般情况下,多个业务服务节点通过同一服务接口提供服务,当服务接口的配置信息被修改后,需要逐个修改其他多个业务服务节点的配置文件,该过程操作较为繁琐。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种分布式服务配置系统及信息管理方法。所述技术方案如下:第一方面,提供了一种分布式服务配置系统,所述分布式服务配置系统包括:配置管理服务节点、配置管理接口和业务服务节点,所述配置管理服务节 点与所述业务服务节点之间具有连接关系;所述业务服务节点,用于向所述配置管理服务节点发送配置信息更改请求;所述配置管理服务节点,用于接收所述业务服务节点发送的配置信息更改请求,根据所述配置信息更改请求,更改所述配置信息,得到新的配置信息,向所述配置管理接口发送所述新的配置信息;所述配置管理接口,用于接收所述配置管理服务节点发送的所述新的配置信息,将所述新的配置信息发送至所述分布式服务配置系统中的其他配置管理服务节点,由所述其他配置管理服务节点进行更新。结合第一方面,在第一方面的第一种可能的实现方式中,所述业务服务节点,还用于在加入所述分布式服务配置系统时,将节点信息存储到第一数据库中,所述第一数据库为所述业务服务节点的本地数据库;所述配置管理服务节点,还用于从所述第一数据库中获取所述业务服务节点的节点信息,将所述节点信息存储在第二数据库中,所述第二数据库为所述配置管理服务节点的本地数据库。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述业务服务节点,还用于在停止提供服务时,将所述节点信息从所述第一数据库中删除;所述配置管理服务节点,还用于当监测到所述节点信息从所述第一数据库中被删除时,将所述节点信息从所述第二数据库中删除。结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述配置管理服务节点,还用于监测所述业务服务节点的运行状态,当监测到所述业务服务节点的运行状态变化时,获取当前的状态信息,根据所述当前的状态信息,对所述第二数据库中所存储的所述业务服务节点的节点信息进行更新。结合第一方面,在第一方面的第四种可能的实现方式中,所述配置管理服务节点,还用于向所述业务服务节点发送断开连接消息;所述业务服务节点,还用于接收所述断开连接消息,根据所述断开连接消息,向指定配置管理服务节点发送连接请求,所述连接请求用于建立所述业务服务节点与所述指定配置管理服务节点之间的连接关系,所述指定配置管理服务节点为所述其他配置管理服务节点中的任一个。第二方面,提供了一种信息管理方法,所述方法应用于所述分布式服务配置系统,所述分布式服务配置系统包括配置管理服务节点、配置管理接口和业务服务节点,所述配置管理服务节点与所述业务服务节点之间具有连接关系,所述方法包括:所述业务服务节点向所述配置管理服务节点发送配置信息更改请求;所述配置管理服务节点接收所述业务服务节点发送的配置信息更改请求,根据所述配置信息更改请求,更改所述配置信息,得到新的配置信息,向所述配置管理接口发送所述新的配置信息;所述配置管理接口接收所述配置管理服务节点发送的所述新的配置信息,将所述新的配置信息发送至所述分布式服务配置系统中的其他配置管理服务节点,由所述其他配置管理服务节点进行更新。结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:在加入所述分布式服务配置系统时,所述业务服务节点将节点信息存储到第一数据库中,所述第一数据库为所述业务服务节点的本地数据库;所述配置管理服务节点从所述第一数据库中获取所述业务服务节点的节点信息,将所述节点信息存储在第二数据库中,所述第二数据库为所述配置管理服务节点的本地数据库。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:在停止提供服务时,所述业务服务节点将所述节点信息从所述第一数据库中删除;当监测到所述节点信息从所述第一数据库中被删除时,所述配置管理服务节点将所述节点信息从所述第二数据库中删除。结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:所述配置管理服务节点监测所述业务服务节点的运行状态,当监测到所述业务服务节点的运行状态变化时,获取当前的状态信息,根据所述当前的状态信息,对所述第二数据库中所存储的所述业务服务节点的节点信息进行更新。结合第二方面,在第二方面的第四种可能的实现方式中,所述方法还包括:所述配置管理服务节点向所述业务服务节点发送断开连接消息;所述业务服务节点接收所述断开连接消息,根据所述断开连接消息,向指定配置管理服务节点发送连接请求,所述连接请求用于建立所述业务服务节点与所述指定配置管理服务节点之间的连接关系,所述指定配置管理服务节点为所述其他配置管理服务节点中的任一个。本发明实施例提供的技术方案带来的有益效果是:配置管理服务节点对配置信息进行更改后,通过配置管理接口将更改后的信息发送至其他配置管理服务节点,从而无需逐一修改每个配置管理服务节点上的配置信息,简化了操作复杂度。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例提供的一种分布式服务配置系统的架构图;图2是本发明另一个实施例提供的一种信息管理方法的流程图;图3是本发明另一个实施例提供的一种信息管理方法的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,其示出了分布式服务配置系统,该分布式服务配置系统包括:配置管理服务集群及业务服务节点103,配置管理服务集群由多个配置管理服务节点101及一个配置管理接口102组成。每个配置管理服务节点101可以为单独设置于一台计算设备上,也可以多个配置管理服务节点101设置于同一个计算设备上,在实际应用中,可根据计算设备的计算能力而定。每个业务服务节点103可以单独设置于一台计算设备上,可以多个业务服务节点103设置于同一台计算设备上,在实际应用中,可根据每个业务服务节点处理的业务量及计算设备的计算能力而定。该计算设备可以为服务器,也可以为计算机等。其中,配置管理服务节点101提供一个外部访问接口,通过该外部访问接口能够集中管理分布式服务配置系统的配置信息、自动发现系统中的服务节点103,在配置管理服务集群中同步配置信息。配置管理服务节点101还能够维护业务服务节点103在系统中的运行状态、维护业务服务节点103的节点信息等等。除此之外,配置管理服务节点101还能够随机监控配置管理服务集群中任一个配置管理服务节点,维护被监控的配置管理服务节点在配置管理服务集群中的运行状态,从而保证系统的高可用性。配置管理接口102用于对分布式服务配置系统的配置信息进行管理,将配置信息同步到配置管理服务集群中所有的配置管理服务节点中。业务服务节点103与配置管理服务节点101之间具有连接关系。该业务服务节点103能够完成与具体业务相关的功能性服务,并根据需求通过接口提供功能性服务,该接口可以为prc(programmableridecontrol,编程式的悬挂控制)接口。该业务服务节点103还能够监控与其相连的配置管理服务节点101的连接状态,以维持本节点在分布式服务管理系统中的运行状态。在本实施例中,每个配置管理服务节点101和每个业务服务节点103中均部署一个数据库,该数据库为mnesia数据库,该mnesia数据库为一个分布式数据库管理系统,用于存储分布式服务配置服务系统内信息,并保持分布式服务管理系统内数据的一致性。基于上述图1所示的分布式服务管理系统的架构图,本发明实施例提供了一种信息管理方法,该方法应用于分布式服务配置系统,该分布式服务配置系统包括配置管理服务节点、配置管理接口和业务服务节点,该配置管理服务节点与业务服务节点之间具有连接关系,参见图2,本实施例提供的方法流程包括:201、业务服务节点向配置管理服务节点发送配置信息更改请求。202、配置管理服务节点接收业务服务节点发送的配置信息更改请求,根据配置信息更改请求,更改配置信息,得到新的配置信息,向配置管理接口发送新的配置信息。203、配置管理接口接收配置管理服务节点发送的新的配置信息,将新的配置信息发送至分布式服务配置系统中的其他配置管理服务节点,由其他配置管理服务节点进行更新。本发明实施例提供的方法,配置管理服务节点对配置信息进行更改后,通过配置管理接口将更改后的信息发送至其他配置管理服务节点,从而无需逐一修改每个配置管理服务节点上的配置信息,简化了操作复杂度。在本发明的另一个实施例中,该方法还包括:在加入分布式服务配置系统时,业务服务节点将节点信息存储到第一数据库中,第一数据库为业务服务节点的本地数据库;配置管理服务节点从第一数据库中获取业务服务节点的节点信息,将节点信息存储在第二数据库中,第二数据库为配置管理服务节点的本地数据库。在本发明的另一个实施例中,该方法还包括:在停止提供服务时,业务服务节点将节点信息从第一数据库中删除;当监测到节点信息从第一数据库中被删除时,配置管理服务节点将节点信息从第二数据库中删除。在本发明的另一个实施例中,该方法还包括:配置管理服务节点监测业务服务节点的运行状态,当监测到业务服务节点的运行状态变化时,获取当前的状态信息,根据当前的状态信息,对第二数据库中所存储的业务服务节点的节点信息进行更新。在本发明的另一个实施例中,该方法还包括:配置管理服务节点向业务服务节点发送断开连接消息;业务服务节点接收断开连接消息,根据断开连接消息,向指定配置管理服务节点发送连接请求,连接请求用于建立业务服务节点与指定配置管理服务节点之间的连接关系,指定配置管理服务节点为其他配置管理服务节点中的任一个。上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。基于上述图1所示的分布式服务管理系统的架构图,本发明实施例提供了一种信息管理方法,该方法应用于分布式服务配置系统,该分布式服务配置系统包括配置管理服务节点、配置管理接口和业务服务节点,参见图3,本实施例提供的方法流程包括:301、配置管理服务节点与业务服务节点建立连接关系。在分布式服务管理系统中,系统中的每个配置管理服务节点和业务服务节点具有一个相同的cookie,基于该相同的cookie,系统内任意两个节点之间可以进行通信。当任一业务服务节点加入到系统时,该业务服务节点可从系统中获取该相同的cookie。当该业务服务节点需要与系统中的配置管理服务节点建立连接时,该业务服务节点可从系统中随机选取一个配置管理服务节点,并通过该相同的cookie向被选取的配置管理服务节点发送连接请求,该被选取的配置管 理服务节点接收到连接请求后,向该业务服务节点返回一个响应消息,当接收到被选取的配置管理服务节点发送的响应消息,配置管理服务节点和业务服务节点将建立连接关系。在分布式服务配置系统内,每个配置管理服务节点及每个业务服务节点均是可信任的,当任一配置管理服务节点和任一业务服务节点建立连接关系之后,该配置管理服务节点具有监控该业务服务节点的权限,基于该权限,配置管理服务节点可以实时或每隔预设时长(例如,1秒钟、2秒钟、3秒钟等)对业务服务节的运行状态、节点信息等进行监控;同时该业务服务节点也具有监控该配置管理服务节点的权限,基于该权限,业务服务节点也可以实时地或每隔预设时长对配置管理服务节点的运行状态进行监控。在分布式服务管理系统中,当任一业务服务节点加入到系统时,该业务服务节点还会将本节点的节点信息存储在本地数据库中,该本地数据库为一个mnesia数据库。为了将配置管理服务节点的本地数据库与业务服务节点的本地数据库进行区分,将业务服务节点的本地数据库称为第一数据库,将配置管理服务节点的本地数据库称为第二数据库,该第一数据库和第二数据库并不代表数据库的顺序。基于mnesia数据库的数据同步机制,与其建立连接关系的配置管理服务节点从第一数据库中获取业务服务节点的节点信息,并将节点信息存储在第二数据库中,该第二数据库也为一个mnesia数据库。在此过程中,基于mnesia数据库的数据同步机制,系统中其他配置管理服务节点以及其他业务服务节点也会从第一数据库中获取该业务服务节点的节点信息,并将节点信息存储在本地数据库中。302、业务服务节点向配置管理服务节点发送配置信息更改请求。在本实施例中,每个外部服务器接口地址或业务服务配置数据对应一种类型的服务,每种服务对应一种配置信息,该配置信息至少包括所提供服务的外部服务器接口地址、业务服务配置数据等。每种服务对应的配置信息仅存储在系统的各个配置管理服务节点中,未存储在系统中的各个业务服务节点中,且 仅系统的各个配置管理服务节点具有配置信息的修改权限。业务服务节点在提供服务的过程中,如果根据业务需求,需要变更所提供服务的外部服务器接口地址或业务服务配置数据时,该业务服务节点可向与其具有连接关系的配置管理服务节点发送配置信息更改请求,以触发配置管理服务节点更改该服务对应的配置信息。303、配置管理服务节点接收业务服务节点发送的配置信息更改请求,根据配置信息更改请求,更改配置信息,得到新的配置信息,向配置管理接口发送新的配置信息。在本实施例中,为了便于对业务服务节点的节点信息、节点状态信息以及系统中的配置信息进行管理,每个配置管理服务节点均维护三张数据表,这三种数据表分别为服务节点信息表、节点状态表及配置信息表。其中,服务节点信息表用于存储服务名称和每个业务服务节点的节点信息,节点状态信息表用于存储每个业务服务节点的连接状态,配置信息表用于存储系统的配置信息。对于服务节点信息表、节点状态信息表、配置信息表的表结构,可参见下述表1至表3。其中,表1为服务节点信息表的表结构,表2为节点状态信息表的表结构,表3为配置信息表的表结构。表1servicenodes其中,service表示服务名,nodes表示业务服务节点列表。表2nodestatusupdate_time其中,node表示业务服务节点的节点名称,status表示业务服务节点的节点状态,update_time表示业务服务节点的最新更新时间。表3idservicekeyvalueupdate_time其中,id表示服务的唯一标识,service表示服务名,key表示关键字,value表示值,update_time表示配置信息的最新更新时间。当接收到业务服务节点发送的配置信息更改请求时,配置管理服务节点根据该配置信息更改请求,更改配置信息表中相应服务对应的配置信息,得到一个新的配置信息。之后,配置管理服务节点向配置管理接口发送新的配置信息。304、配置管理接口接收配置管理服务节点发送的新的配置信息,将新的配置信息发送至分布式服务配置系统中的其他配置管理服务节点,由其他配置管理服务节点进行更新。当接收到配置管理服务节点发送的新的配置信息时,配置管理接口将新的配置信息发送至分布式服务配置系统中的其他配置管理服务节点。每个配置管理服务节点接收到新的配置信息后,根据新的配置信息,更新本地数据库的配置信息表中所存储的配置信息。至此,通过上述步骤301至304实现了对配置信息的自动更新,在此基础上,本实施例提供的方法支持配置管理服务节点对与其建立连接关系的业务服务节点进行监控。具体监控时,配置管理服务节点可实时或每隔预设时长对与其建立连接关系的业务服务节点进行监控。当监测到该业务服务节点的运行状态变化时,配置管理服务节点获取该业务服务节点当前的状态信息,并根据当前的状态信息,对第二数据库中所存储的业务服务节点的节点信息及节点状态信息进行更新更新。在本发明的另一个实施例中,当监测到业务服务节点的运行状态为未在线,将第二数据库的节点状态表中所存储的业务服务节点的状态更改为未在线状态。在本发明的另一个实施例中,当监测到业务服务节点的运行状态为断开连 接,将第二数据库的节点状态信息表中所存储的业务服务节点的状态更改为断开状态。在发明的另一个实施例中,当监测到业务服务节点的运行状态为断开连接,且在指定时长内未重新连接到配置管理服务节点,该配置管理服务节点可从第二数据库的服务节点信息表中该删除断开连接的业务服务节点的节点名称,从第二数据库的节点状态信息表中删除该断开连接的业务服务节点的节点状态信息。在本发明的一个实施例中,当监测到业务服务节点的节点信息不在服务节点信息表中,配置管理服务节点从第一数据库中获取该业务节点的节点信息,并将该业务节点的节点信息存储在第二数据库的服务节点信息表中。需要说明的是,上述在监测到业务服务节点的运行状态变化时,以与该业务服务节点具有连接关系的配置管理服务节点更新第二数据库中所存储的该业务服务节点的相关信息为例进行说明的,在实际应用中,在该配置管理服务节点对第二数据库中所存储的该业务服务节点的相关信息进行更新时,系统中的其他配置管理服务节点也会对本地数据库中所存储的该业务服务节点的相关信息进行更新。具体更新时,配置管理服务节点可将该业务服务节点的相关信息发送至配置管理接口,配置管理接口接收到该业务服务节点的相关信息后,将该业务服务节点的相关信息发送至其他各个配置管理服务节点,其他配置管理服务节点根据该业务服务节点的相关信息,更新本地数据库中所存储的该业务节点的相关信息。该相关信息包括节点信息、节点状态信息等等。如果该相关信息为节点信息,则更新本地数据库的服务节点信息表,如果该相关信息为节点状态信息,则更新本地数据库的节点状态信息表。在本实施例中,当任一业务服务节点停止提供服务时,该业务服务节点将本节点的节点信息从第一数据库中删除。基于mnesia数据库的自动同步数据的功能,当监测到该业务服务节点的节点信息从第一数据库中被删除时,与其具有连接关系的配置管理服务节点将该业务服务节点的节点信息从第二数据库中 删除。同时系统中的其他配置管理服务节点及其他业务服务节点也会将该业务服务节点的节点信息从本地数据库中删除。在本实施例中,配置管理服务节点还可随机订阅系统中任一个配置管理服务节点的节点信息,通过对所订阅的配置管理服务节点的节点信息进行监控,以维护该配置管理服务节点在系统中的运行状态,从而保证系统的高可用性。在本实施例中,配置管理服务节点具有自动发现功能,在与建立过连接关系的业务服务节点断开连接之后,配置管理服务节点启动自动发现功能,每隔预设时长探测添加到分布式服务管理系统中的业务服务节点,当探测到任一业务服务节点为之前建立过连接关系的业务服务节点,则与该业务服务节点建立连接关系。在本实施例中,业务服务节点可基于erlang的消息机制,监测与其具有连接关系的配置管理服务节点的连接状态。当监测到与该业务服务节点具有连接关系的配置管理服务节点断开网络连接,并接收到该配置管理服务节点发送的断开连接消息时,该业务服务节点根据断开连接消息,向指定配置管理服务节点发送连接请求,以保持本节点在分布式服务配置系统中的运行状态。其中,该连接请求用于建立该业务服务节点与指定配置管理服务节点之间的连接关系,该指定配置管理服务节点为其他配置管理服务节点中的任一个。为了更好地对分布式服务配置系统中的信息进行管理,本实施例提供的方法通常会选取分布式服务配置系统中的一个配置管理服务节点作为配置管理服务主节点,当在分布式服务配置系统内发生小的网络故障时,配置管理服务节点上的mnesia数据库中的信息彼此独立更新,当网络恢复正常时,各个配置管理服务节点上的mnesia数据库将本节点上存储的数据删除,并自动获取配置管理服务主节点的mnesia所存储的信息,从而保持系统数据一致性。本发明实施例提供的方法,配置管理服务节点对配置信息进行更改后,通过配置管理接口将更改后的信息发送至其他配置管理服务节点,从而无需逐一修改每个配置管理服务节点上的配置信息,简化了操作复杂度。本发明实施例提供了一种分布式服务配置系统,参见图1,分布式服务配置系统包括:配置管理服务节点101、配置管理接口102和业务服务节点103,配置管理服务节点101与业务服务节点103之间具有连接关系;业务服务节点103,用于向配置管理服务节点101发送配置信息更改请求;配置管理服务节点101,用于接收业务服务节点103发送的配置信息更改请求,根据配置信息更改请求,更改配置信息,得到新的配置信息,向配置管理接口102发送新的配置信息;配置管理接口102,用于接收配置管理服务节点101发送的新的配置信息,将新的配置信息发送至分布式服务配置系统中的其他配置管理服务节点,由其他配置管理服务节点进行更新。在本发明的另一个实施例中,业务服务节点103,还用于在加入分布式服务配置系统时,将节点信息存储到第一数据库中,第一数据库为业务服务节点的本地数据库;配置管理服务节点101,还用于从第一数据库中获取业务服务节点的节点信息,将节点信息存储在第二数据库中,第二数据库为配置管理服务节点的本地数据库。在本发明的另一个实施例中,业务服务节点103,还用于在停止提供服务时,将节点信息从第一数据库中删除;配置管理服务节点101,还用于当监测到节点信息从第一数据库中被删除时,将节点信息从第二数据库中删除。在本发明的另一个实施例中,配置管理服务节点101,还用于监测业务服务节点的运行状态,当监测到业务服务节点的运行状态变化时,获取当前的状态信息,根据当前的状态信息,对第二数据库中所存储的业务服务节点的节点信息进行更新。在本发明的另一个实施例中,配置管理服务节点101,还用于向业务服务节 点发送断开连接消息;业务服务节点103,还用于接收断开连接消息,根据断开连接消息,向指定配置管理服务节点发送连接请求,连接请求用于建立业务服务节点与指定配置管理服务节点之间的连接关系,指定配置管理服务节点为其他配置管理服务节点中的任一个。本发明实施例提供的系统,配置管理服务节点对配置信息进行更改后,通过配置管理接口将更改后的信息发送至其他配置管理服务节点,从而无需逐一修改每个配置管理服务节点上的配置信息,简化了操作复杂度。需要说明的是:上述实施例提供的分布式服务配置系统在管理信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将分布式服务配置系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分布式服务配置系统与信息管理实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1