CN102571880A - 一种服务分发方法和系统以及一种服务分发节点 - Google Patents
一种服务分发方法和系统以及一种服务分发节点 Download PDFInfo
- Publication number
- CN102571880A CN102571880A CN2010106218416A CN201010621841A CN102571880A CN 102571880 A CN102571880 A CN 102571880A CN 2010106218416 A CN2010106218416 A CN 2010106218416A CN 201010621841 A CN201010621841 A CN 201010621841A CN 102571880 A CN102571880 A CN 102571880A
- Authority
- CN
- China
- Prior art keywords
- delivery
- services
- self
- node
- vip address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000008569 process Effects 0.000 claims description 66
- 238000007726 management method Methods 0.000 claims description 47
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 41
- 230000000295 complement effect Effects 0.000 claims description 39
- 238000011084 recovery Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Abstract
本发明公开了一种服务分发方法和系统以及一种服务分发节点:各服务分发节点根据自身的系统分发许可状态等来确定接收到的服务请求是否由自身负责分发,而系统分发许可状态可根据各服务分发节点的负载状态进行动态更新,因此避免了某些服务分发节点的负载过重,某些过轻的问题,从而提高了各服务分发节点的利用率,进而提高了系统吞吐量。
Description
技术领域
本发明涉及移动互联网技术,特别涉及一种服务分发方法和系统以及一种服务分发节点。
背景技术
移动互联网的用户数和网络流量正以几何级数增长,通过高性能网络或局域网互联的服务器集群代替传统的大型机服务器或UNIX商用服务器正成为实现高性价比、高可伸缩性、高可用网络服务的有效架构。
云计算数据中心即为采用这种架构的典型部署方式,其可将不同类型的业务服务平台大规模地集中化部署,在这种部署方式下,如何有效地实现服务分发,将会对系统性能存在很大影响。
现有技术中,通常会设置一个专门的服务分发子系统,该服务分发子系统可为分布式的,其中包括多个服务分发节点,每个服务分发节点能够支持一个或多个业务的服务请求。该服务分发子系统的各方面均为静态配置的,如每个服务分发节点固定对应哪些用户,即这些用户的服务请求固定由其对应的服务分发节点来进行分发,这样就会存在一个问题:不同时刻,可能有的服务分发节点的负载过重,而有的服务分发节点的负载过轻,从而降低了某些服务分发节点的利用率,进而降低了系统吞吐量。
发明内容
有鉴于此,本发明的主要目的在于提供一种服务分发方法,能够提升系统吞吐量。
本发明的另一目的在于提供一种服务分发系统,能够提升系统吞吐量。
本发明的又一目的在于提供一种服务分发节点,能够提升系统吞吐量。
为达到上述目的,本发明的技术方案是这样实现的:
一种服务分发方法,服务分发子系统中的各服务分发节点接收到来自任一用户的服务请求后,分别进行以下处理:
A、确定所述服务请求中携带的网络服务因特网协议IP地址是否与自身所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束流程,如果是,则执行步骤B;
B、确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束流程;如果是禁止,则结束流程;所述系统分发许可状态根据各服务分发节点的负载状态进行动态更新。
一种服务分发系统,包括:一个服务分发子系统以及两个以上业务服务平台;所述服务分发子系统中包括两个以上服务分发节点;
各服务分发节点,用于当接收到来自任一用户的服务请求后,确定所述服务请求中携带的网络服务因特网协议IP地址是否与自身所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束处理,如果是,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;所述系统分发许可状态根据各服务分发节点的负载状态进行动态更新。
一种服务分发节点,包括:分发模块和控制模块;
所述分发模块,用于当接收到来自任一用户的服务请求后,确定所述服务请求中携带的网络服务因特网协议IP地址是否与所在服务分发节点所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束处理,如果是,则从所述控制模块中获取相匹配的VIP地址对应的系统分发许可状态,如果为允许,则将所述服务请求分发到业务服务平台,结束处理,如果为禁止,则结束处理;
所述控制模块,用于保存所在服务分发节点所捆绑的各VIP地址对应的系统分发许可状态,并根据所在服务分发节点所在服务分发子系统中的各服务分发节点的负载状态对其进行动态更新。
可见,采用本发明的技术方案,各服务分发节点根据自身的系统分发许可状态等来确定接收到的服务请求是否由自身负责分发,而系统分发许可状态可根据各服务分发节点的负载状态进行动态更新,因此避免了某些服务分发节点的负载过重,某些过轻的问题,从而提高了各服务分发节点的利用率,进而提高了系统吞吐量。
附图说明
图1为本发明服务分发方法实施例的流程图。
图2为本发明对系统分发许可状态进行更新的流程图。
图3为本发明服务分发系统实施例的组成结构示意图。
图4为本发明服务分发节点实施例的组成结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的服务分发方案,当服务分发子系统中的各服务分发节点接收到来自任一用户的服务请求后,分别确定该服务请求中携带的网络服务因特网协议(IP)地址是否与自身所捆绑的虚拟因特网协议(VIP)地址中的一个相匹配,如果否,则结束处理,如果是,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将该服务请求分发到业务服务平台,结束处理;如果是禁止,则结束处理;系统分发许可状态可根据各服务分发节点的负载状态进行动态更新。
另外,当确定相匹配后,还可进一步确定该服务请求为用户数据包协议(UDP)连接还是传输控制协议(TCP)连接,根据确定结果的不同,后续具体处理方式也会有所不同。
其中,如果是UDP连接,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将该服务请求分发到业务服务平台,结束处理;如果是禁止,则结束处理。
如果是TCP连接,则进一步确定自身是否保存有该服务请求对应的连接条目,如果有,则确定该连接条目中是否标记由自身负责分发,如果是,则将该服务请求分发到业务服务平台,结束处理,否则,结束处理;如果没有,则创建连接条目,并确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则在所创建的连接条目中标记由自身负责分发,并将服务请求分发到业务服务平台,结束处理,如果是禁止,则在所创建的连接条目中标记不由自身负责分发,结束处理。
为使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
图1为本发明服务分发方法实施例的流程图。如图1所示,包括以下步骤:
步骤11:服务分发子系统中的各服务分发节点接收来自任一用户的服务请求。
所述服务请求中携带有网络IP地址、端口号以及内容参数等信息,服务请求中具体携带哪些信息以及各信息的具体作用为现有技术。
步骤12:各服务分发节点分别确定接收到的服务请求中携带的网络服务IP地址是否与自身所捆绑的VIP地址中的一个相匹配,如果是,则执行步骤13,否则,结束流程。
每个服务分发节点均支持一个或多个业务的服务请求,并动态支持捆绑多个VIP地址,每个VIP地址代表一组真正执行服务请求的业务服务平台。本步骤中,各服务分发节点分别确定接收到的服务请求中携带的网络服务IP地址是否与自身所捆绑的多个VIP地址中的一个相匹配,如何确定是否匹配为现有技术,并根据确定结果的不同后续执行不同的操作。
步骤13:确定接收到的服务请求为UDP连接还是TCP连接,如果是UDP连接,则执行步骤14,如果是TCP连接,则执行步骤16。
如何确定服务请求为UDP连接还是TCP连接为现有技术。
步骤14:确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则执行步骤15,如果是禁止,则结束流程。
在实际应用中,各服务分发节点针对自身所捆绑的每个VIP地址,分别保存一个系统分发许可状态,该状态可为允许或禁止(初始状态通常为允许),并可根据各服务分发节点的负载状态对其进行动态更新,如何进行动态更新后续将会介绍。
本步骤中,确定与接收到的服务请求中携带的网络服务IP地址相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则说明该服务请求由自身负责分发,后续执行步骤15,如果是禁止,则说明该服务请求不由自身负责分发,结束流程。
步骤15:将接收到的服务请求分发到业务服务平台,结束流程。
本步骤的具体实现为现有技术。
步骤16:确定自身是否保存有接收到的服务请求对应的连接条目,如果是,执行步骤17,否则,执行步骤18。
各连接条目组成一个连接表。
步骤17:确定所述连接条目中是否标记由自身负责分发,如果是,则执行步骤15,否则,结束流程。
步骤18:创建连接条目,并确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则执行步骤19,如果是禁止,则执行步骤20。
步骤19:在所创建的连接条目中标记由自身负责分发,然后执行步骤15。
步骤20:在所创建的连接条目中标记不由自身负责分发,然后结束流程。
如何创建连接条目以及连接条目中所包括的具体内容均为现有技术。
后续,所选择的业务服务平台接收到服务请求后,执行相应的任务,并将执行结果返回给相应的服务分发节点,进而返回给用户,或直接返回给用户。
依据之前的介绍可知,本发明所述方案中,可根据各服务分发节点的负载状态来对各服务分发节点所捆绑的各VIP地址对应的系统分发许可状态进行动态更新,具体实现如下。
图2为本发明对系统分发许可状态进行更新的流程图。如图2所示,包括以下步骤:
步骤21:管理系统平台周期性地向各服务分发节点发送系统状态收集通知。
管理系统平台为本发明所述方案中新增的一个网络实体。所述周期的具体取值可根据实际需要而定。另外,所述系统状态收集通知中可携带有时间戳信息,用于标识系统状态收集通知,即与其它系统消息进行区分。
步骤22:各服务分发节点接收到系统状态收集通知后,分别确定自身的系统负载值,并连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点。
本步骤中,各服务分发节点接收到来自管理系统平台的系统状态收集通知后,分别收集自身的系统负载状态,包括系统资源使用状况以及连接表中的连接条目数量等,并根据收集到的信息利用已有的公式或自定设定的公式计算出一个系统负载值;之后,将计算出的系统负载值、自身标识(即自身设备信息,如管理IP地址等)、所捆绑的VIP地址,以及时间戳等通过组播方式发送给其它服务分发节点。
需要说明的是,在实际应用中,各服务分发节点也可不用接收系统状态收集通知,而是按照统一配置,周期性地主动确定自身的系统负载值,并进行后续处理。具体实现方式不限。
步骤23:各服务分发节点接收到其它服务分发节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定捆绑有VIP地址X的所有服务分发节点,并确定自身的系统负载值在捆绑有VIP地址X的所有服务分发节点中是否最小,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
另外,本发明所述方案中的服务分发子系统具有良好的系统扩展性,当某一个服务分发节点达到系统能力瓶颈时,可将其负责的分发工作扩展到其它负载较轻的服务分发节点上,如果所有服务分发节点的负载均较重,还可增加新的服务分发节点。
具体来说,步骤22中,各服务分发节点在将自身的系统负载值,自身标识以及所捆绑的VIP地址发送给其它服务分发节点的同时,可将这些信息进一步发送给管理系统平台,并且,当自身的系统负载值大于预先设定的第一阈值时,可向管理系统平台进行报警。
管理系统平台接收到报警后,首先确定各服务分发节点中是否存在系统负载值小于预先设定的第二阈值的服务分发节点,第一阈值和第二阈值的具体取值均可根据实际需要而定,另外,两个阈值的具体取值可相同,也可不同,如果不同,第二阈值的取值需要小于第一阈值的取值,如果存在,则从中选择一个系统负载值最小的作为扩展节点,否则,增加一个新的服务分发节点作为扩展节点;之后,管理系统平台将进行报警的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给扩展节点。
相应地,扩展节点确定自身的系统负载值,将其连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点,还可发送给管理系统平台。
各服务分发节点接收到扩展节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定扩展节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于扩展节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
再有,本发明所述方案中,管理系统平台还可周期性地检测各服务分发节点的工作状态是否正常,即是否出现故障,如果发现出现故障的服务分发节点,则将其负责的分发工作迁移到其它负载较轻的服务分发节点上,如果所有服务分发节点的负载均较重,还可增加新的服务分发节点。
具体来说,管理系统平台可周期性地向各服务分发节点发送心跳消息,如果超过预定时长仍未接收到反馈消息,则认为服务分发节点出现故障;当有服务分发节点出现故障时,管理系统平台首先确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为恢复节点,否则,增加一个新的服务分发节点作为恢复节点;之后,将出现故障的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给恢复节点。
相应地,恢复节点确定自身的系统负载值,并连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点,还可发送给管理系统平台。
各服务分发节点接收到恢复节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定恢复节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于恢复节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
基于上述介绍,图3为本发明服务分发系统实施例的组成结构示意图。如图3所示,包括:一个分布式的服务分发子系统以及两个以上业务服务平台;服务分发子系统中包括两个以上服务分发节点,每个服务分发节点都是对等分布的,能够支持一个或多个业务的服务请求,可基于商用平台(Linux+x86)运行,各服务分发节点协同工作,将来自用户的服务请求分发到各业务服务平台,业务服务平台为真正执行服务请求的服务器;在实际应用中,一组对应于同一业务的业务服务平台组成一个服务平台池。
各服务分发节点,用于当接收到来自任一用户的服务请求后,确定该服务请求中携带的网络服务IP地址是否与自身所捆绑的VIP地址中的一个相匹配,如果否,则结束处理,如果是,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将该服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理,系统分发许可状态根据各服务分发节点的负载状态进行动态更新。
另外,各服务分发节点可进一步用于,当确定服务请求中携带的IP地址与自身所捆绑的VIP地址中的一个相匹配后,确定该服务请求为UDP连接还是TCP连接;
如果是UDP连接,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将该服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;
如果是TCP连接,则确定自身是否保存有该服务请求对应的连接条目,如果有,则进一步确定该连接条目中是否标记由自身负责分发,如果是,则将该服务请求分发到业务服务平台,结束处理,否则,结束处理;如果没有,则创建连接条目,并进一步确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则在所创建的连接条目中标记由自身负责分发,并将该服务请求分发到业务服务平台,结束处理,如果是禁止,则在所创建的连接条目中标记不由自身负责分发,结束处理。
各服务分发节点还可进一步用于,周期性地确定自身的系统负载值,连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点;并在当接收到其它服务分发节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定捆绑有VIP地址X的所有服务分发节点,并确定自身的系统负载值在捆绑有VIP地址X的所有服务分发节点中是否最小,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。图3所示系统中可进一步包括:管理系统平台,用于周期性地向各服务分发节点发送系统状态收集通知;相应地,各服务分发节点可在接收到系统状态收集通知后,确定自身的系统负载值。
再有,各服务分发节点还可将自身标识、所捆绑的VIP地址以及系统负载值发送给管理系统平台;并且,当自身的系统负载值大于预先设定的第一阈值时,向管理系统平台进行报警。相应地,管理系统平台接收到报警后,确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为扩展节点,否则,增加一个新的服务分发节点作为扩展节点,将进行报警的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给扩展节点。扩展节点确定自身的系统负载值,并连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点。各服务分发节点接收到扩展节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定扩展节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于扩展节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
管理系统平台还可周期性地向各服务分发节点发送心跳消息,如果超过预定时长仍未接收到反馈消息,则认为服务分发节点出现故障;当有服务分发节点出现故障时,确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为恢复节点,否则,增加一个新的服务分发节点作为恢复节点,将出现故障的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给恢复节点。相应地,恢复节点确定自身的系统负载值,并连同自身标识和所捆绑的VIP地址一起发送给其它服务分发节点。各服务分发节点接收管理系统平台周期性发送的心跳消息,向管理服务平台返回反馈消息,并在当接收到恢复节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定恢复节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于恢复节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
在实际应用中,图3所示系统中还可进一步包括云存储,用于为各服务分发节点和各业务服务平台提供一个共享的存储区,不仅可以提供海量的数据存储,而且能够保证数据存储的可靠性。
图4为本发明服务分发节点实施例的组成结构示意图。如图4所示,包括:分发模块和控制模块。
分发模块,用于当接收到来自任一用户的服务请求后,确定该服务请求中携带的网络服务IP地址是否与所在服务分发节点所捆绑的VIP地址中的一个相匹配,如果否,则结束处理,如果是,则从控制模块中获取相匹配的VIP地址对应的系统分发许可状态,如果为允许,则将该服务请求分发到业务服务平台,结束处理,如果为禁止,则结束处理;
控制模块,用于保存所在服务分发节点所捆绑的各VIP地址对应的系统分发许可状态,并根据所在服务分发节点所在服务分发子系统中的各服务分发节点的负载状态对其进行动态更新。
其中,分发模块可进一步用于,当确定服务请求中携带的IP地址与自身所捆绑的VIP地址中的一个相匹配后,确定该服务请求为UDP连接还是TCP连接;如果是UDP连接,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将该服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;如果是TCP连接,则确定自身是否保存有该服务请求对应的连接条目,如果有,则进一步确定该连接条目中是否标记由自身负责分发,如果是,则将该服务请求分发到业务服务平台,结束处理,否则,结束处理;如果没有,则创建连接条目,并进一步确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则在所创建的连接条目中标记由自身负责分发,并将该服务请求分发到业务服务平台,结束处理,如果是禁止,则在所创建的连接条目中标记不由自身负责分发,结束处理。
图4所示服务分发节点中还可进一步包括:管理模块,用于保存各业务服务平台的系统状态;分发模块从管理模块中获取各业务服务平台的系统状态,结合所在服务分发节点所保存的分发规则,将服务请求分发到相应的业务服务平台。
管理模块还用于周期性地确定所在服务分发节点的系统负载值,连同所在服务分发节点的标识以及所捆绑的VIP地址一起发送给其它服务分发节点以及控制模块;并接收其它服务分发节点发送来的自身标识、所捆绑的VIP地址以及系统负载值,发送给控制模块。控制模块针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定捆绑有VIP地址X的所有服务分发节点,并确定所在服务分发节点的系统负载值在捆绑有VIP地址X的所有服务分发节点中是否最小,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
另外,管理模块还可将所在服务分发节点的标识、所捆绑的VIP地址以及系统负载值发送给管理系统平台;并在当所在服务分发节点的系统负载值大于预先设定的第一阈值时,向管理系统平台进行报警;将扩展节点发送来的自身标识、所捆绑的VIP地址以及系统负载值发送给控制模块。相应地,控制模块针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定扩展节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定所在服务分发节点的系统负载值是否小于扩展节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
再有,管理模块还可接收管理系统平台周期性发送的心跳消息,并向管理服务平台返回反馈消息;并将恢复节点发送来的自身标识、所捆绑的VIP地址以及系统负载值发送给控制模块。相应地,控制模块针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定恢复节点是否捆绑有VIP地址X,如果否,则不作处理,如果是,则进一步确定所在服务分发节点的系统负载值是否小于恢复节点的系统负载值,如果是,则将VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
图3和4所示实施例中,分发模块和管理模块、分发模块和控制模块、控制模块和管理模块,以及管理系统平台和各服务分发节点等之间采用何种接口来进行信息交互不作限制,只要能够完成相应的功能即可。
图3和4所示实施例的具体工作流程请参照图1和2所示实施例中的相应说明,不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种服务分发方法,其特征在于,服务分发子系统中的各服务分发节点接收到来自任一用户的服务请求后,分别进行以下处理:
A、确定所述服务请求中携带的网络服务因特网协议IP地址是否与自身所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束流程,如果是,则执行步骤B;
B、确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束流程;如果是禁止,则结束流程;所述系统分发许可状态根据各服务分发节点的负载状态进行动态更新。
2.根据权利要求1所述的方法,其特征在于,所述执行步骤B之前,进一步包括:
确定所述服务请求为用户数据包协议UDP连接还是传输控制协议TCP连接,如果是UDP连接,则执行步骤B;
如果是TCP连接,则确定自身是否保存有所述服务请求对应的连接条目,如果有,则进一步确定所述连接条目中是否标记由自身负责分发,如果是,则将所述服务请求分发到业务服务平台,结束流程,否则,结束流程;如果没有,则执行步骤B。
3.根据权利要求2所述的方法,其特征在于,当是TCP连接时;
所述步骤B中确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止之前,进一步包括:创建连接条目;
所述步骤B中将所述服务请求分发到业务服务平台之前,进一步包括:在所创建的连接条目中标记由自身负责分发;
所述步骤B中如果是禁止,则结束流程之前,进一步包括:在所创建的连接条目中标记不由自身负责分发。
4.根据权利要求1、2或3所述的方法,其特征在于,所述系统分发许可状态根据各服务分发节点的负载状态进行动态更新包括:
各服务分发节点周期性地确定自身的系统负载值,并连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点;
各服务分发节点接收到其它服务分发节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:
确定捆绑有所述VIP地址X的所有服务分发节点,并确定自身的系统负载值在捆绑有所述VIP地址X的所有服务分发节点中是否最小,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
5.根据权利要求4所述的方法,其特征在于,所述各服务分发节点确定自身的系统负载值之前,进一步包括:管理系统平台周期性地向各服务分发节点发送系统状态收集通知;
各服务分发节点周期性地确定自身的系统负载值包括:各服务分发节点接收到所述系统状态收集通知后,确定自身的系统负载值。
6.根据权利要求5所述的方法,其特征在于,该方法进一步包括:
各服务分发节点将自身标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;并且,当自身的系统负载值大于预先设定的第一阈值时,向所述管理系统平台进行报警;
所述管理系统平台接收到所述报警后,确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为扩展节点,否则,增加一个新的服务分发节点作为扩展节点;
所述管理系统平台将进行报警的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给所述扩展节点;
所述扩展节点确定自身的系统负载值,连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点;
各服务分发节点接收到所述扩展节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:
确定所述扩展节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于所述扩展节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
7.根据权利要求5所述的方法,其特征在于,该方法进一步包括:
各服务分发节点将自身标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;
并且,所述管理系统平台周期性地向各服务分发节点发送心跳消息,如果超过预定时长仍未接收到反馈消息,则认为服务分发节点出现故障;
当有服务分发节点出现故障时,所述管理系统平台确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为恢复节点,否则,增加一个新的服务分发节点作为恢复节点;
所述管理系统平台将出现故障的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给所述恢复节点;
所述恢复节点确定自身的系统负载值,连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点;
各服务分发节点接收到所述恢复节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:
确定所述恢复节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于所述恢复节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
8.一种服务分发系统,其特征在于,包括:一个服务分发子系统以及两个以上业务服务平台;所述服务分发子系统中包括两个以上服务分发节点;
各服务分发节点,用于当接收到来自任一用户的服务请求后,确定所述服务请求中携带的网络服务因特网协议IP地址是否与自身所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束处理,如果是,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;所述系统分发许可状态根据各服务分发节点的负载状态进行动态更新。
9.根据权利要求8所述的系统,其特征在于,所述各服务分发节点进一步用于,当确定所述服务请求中携带的IP地址与自身所捆绑的VIP地址中的一个相匹配后,确定所述服务请求为用户数据包协议UDP连接还是传输控制协议TCP连接;
如果是UDP连接,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;
如果是TCP连接,则确定自身是否保存有所述服务请求对应的连接条目,如果有,则进一步确定所述连接条目中是否标记由自身负责分发,如果是,则将所述服务请求分发到业务服务平台,结束处理,否则,结束处理;如果没有,则创建连接条目,并进一步确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则在所创建的连接条目中标记由自身负责分发,并将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则在所创建的连接条目中标记不由自身负责分发,结束处理。
10.根据权利要求8或9所述的系统,其特征在于,所述各服务分发节点进一步用于,周期性地确定自身的系统负载值,连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点;并在当接收到其它服务分发节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定捆绑有所述VIP地址X的所有服务分发节点,并确定自身的系统负载值在捆绑有所述VIP地址X的所有服务分发节点中是否最小,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
11.根据权利要求10所述的系统,其特征在于,该系统中进一步包括:
管理系统平台,用于周期性地向各服务分发节点发送系统状态收集通知;
所述各服务分发节点接收到所述系统状态收集通知后,确定自身的系统负载值。
12.根据权利要求11所述的系统,其特征在于,
所述各服务分发节点进一步用于,将自身标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;当自身的系统负载值大于预先设定的第一阈值时,向所述管理系统平台进行报警;并在当接收到扩展节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定所述扩展节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于所述扩展节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止;
所述管理系统平台进一步用于,当接收到所述报警后,确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为扩展节点,否则,增加一个新的服务分发节点作为扩展节点,将进行报警的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给所述扩展节点;
所述扩展节点,用于确定自身的系统负载值,连同自身标识以及所捆绑的VIP地址一起发送给其它服务分发节点。
13.根据权利要求11所述的系统,其特征在于,
所述各服务分发节点进一步用于,将自身标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;接收所述管理系统平台周期性发送的心跳消息,向所述管理服务平台返回反馈消息;并在当接收到恢复节点发送来的信息后,针对自身所捆绑的每个VIP地址X,分别进行以下处理:确定所述恢复节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定自身的系统负载值是否小于所述恢复节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止;
所述管理系统平台进一步用于,周期性地向各服务分发节点发送心跳消息,如果超过预定时长仍未接收到反馈消息,则认为服务分发节点出现故障;当有服务分发节点出现故障时,确定是否存在系统负载值小于预先设定的第二阈值的服务分发节点,如果是,则从中选择一个系统负载值最小的作为恢复节点,否则,增加一个新的服务分发节点作为恢复节点,将出现故障的服务分发节点所捆绑的VIP地址以及其上所保存的信息发送给所述恢复节点;
所述恢复节点,用于确定自身的系统负载值,连同自身标识和所捆绑的VIP地址一起发送给其它服务分发节点。
14.一种服务分发节点,其特征在于,包括:分发模块和控制模块;
所述分发模块,用于当接收到来自任一用户的服务请求后,确定所述服务请求中携带的网络服务因特网协议IP地址是否与所在服务分发节点所捆绑的虚拟因特网协议VIP地址中的一个相匹配,如果否,则结束处理,如果是,则从所述控制模块中获取相匹配的VIP地址对应的系统分发许可状态,如果为允许,则将所述服务请求分发到业务服务平台,结束处理,如果为禁止,则结束处理;
所述控制模块,用于保存所在服务分发节点所捆绑的各VIP地址对应的系统分发许可状态,并根据所在服务分发节点所在服务分发子系统中的各服务分发节点的负载状态对其进行动态更新。
15.根据权利要求14所述的服务分发节点,其特征在于,所述分发模块进一步用于,当确定所述服务请求中携带的IP地址与自身所捆绑的VIP地址中的一个相匹配后,确定所述服务请求为用户数据包协议UDP连接还是传输控制协议TCP连接;
如果是UDP连接,则确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则结束处理;
如果是TCP连接,则确定自身是否保存有所述服务请求对应的连接条目,如果有,则进一步确定所述连接条目中是否标记由自身负责分发,如果是,则将所述服务请求分发到业务服务平台,结束处理,否则,结束处理;如果没有,则创建连接条目,并进一步确定自身所保存的相匹配的VIP地址对应的系统分发许可状态为允许还是禁止,如果是允许,则在所创建的连接条目中标记由自身负责分发,并将所述服务请求分发到业务服务平台,结束处理,如果是禁止,则在所创建的连接条目中标记不由自身负责分发,结束处理。
16.根据权利要求14或15所述的服务分发节点,其特征在于,该服务分发节点中进一步包括:管理模块,用于周期性地确定所在服务分发节点的系统负载值,连同所在服务分发节点的标识以及所捆绑的VIP地址一起发送给其它服务分发节点以及所述控制模块;并接收其它服务分发节点发送来的自身标识、所捆绑的VIP地址以及系统负载值,发送给所述控制模块;
所述控制模块针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定捆绑有所述VIP地址X的所有服务分发节点,并确定所在服务分发节点的系统负载值在捆绑有所述VIP地址X的所有服务分发节点中是否最小,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
17.根据权利要求16所述的服务分发节点,其特征在于,所述管理模块进一步用于,将所在服务分发节点的标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;当所在服务分发节点的系统负载值大于预先设定的第一阈值时,向所述管理系统平台进行报警;并将扩展节点发送来的自身标识、所捆绑的VIP地址以及系统负载值发送给所述控制模块;
所述控制模块进一步用于,针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定所述扩展节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定所在服务分发节点的系统负载值是否小于所述扩展节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
18.根据权利要求16所述的服务分发节点,其特征在于,所述管理模块进一步用于,将所在服务分发节点的标识、所捆绑的VIP地址以及系统负载值发送给所述管理系统平台;接收所述管理系统平台周期性发送的心跳消息,向所述管理服务平台返回反馈消息;并将恢复节点发送来的自身标识、所捆绑的VIP地址以及系统负载值发送给所述控制模块;
所述控制模块进一步用于,针对所在服务分发节点所捆绑的每个VIP地址X,分别进行以下处理:确定所述恢复节点是否捆绑有所述VIP地址X,如果否,则不作处理,如果是,则进一步确定所在服务分发节点的系统负载值是否小于所述恢复节点的系统负载值,如果是,则将所述VIP地址X对应的系统分发许可状态设置为允许,否则,设置为禁止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010621841.6A CN102571880B (zh) | 2010-12-27 | 2010-12-27 | 一种服务分发方法和系统以及一种服务分发节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010621841.6A CN102571880B (zh) | 2010-12-27 | 2010-12-27 | 一种服务分发方法和系统以及一种服务分发节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102571880A true CN102571880A (zh) | 2012-07-11 |
CN102571880B CN102571880B (zh) | 2014-11-05 |
Family
ID=46416351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010621841.6A Expired - Fee Related CN102571880B (zh) | 2010-12-27 | 2010-12-27 | 一种服务分发方法和系统以及一种服务分发节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571880B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144188A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 服务调度方法、系统与本地服务调度服务器 |
CN107211035A (zh) * | 2014-12-05 | 2017-09-26 | 瑞典爱立信有限公司 | 用于在内容递送网络中监测服务的方法和网络节点 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1611042A (zh) * | 2001-11-29 | 2005-04-27 | 阿尔卡特公司 | 用于保证服务质量的数据网络接入控制器 |
CN1653790A (zh) * | 2002-03-18 | 2005-08-10 | 普罗昆特系统公司 | 应用程序接口 |
CN101345641A (zh) * | 2008-08-21 | 2009-01-14 | 中兴通讯股份有限公司 | 一种组播接入设备及方法 |
CN101582773A (zh) * | 2008-05-13 | 2009-11-18 | 株式会社日立国际电气 | 冗余切换系统、冗余管理装置以及应用程序处理装置 |
-
2010
- 2010-12-27 CN CN201010621841.6A patent/CN102571880B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1611042A (zh) * | 2001-11-29 | 2005-04-27 | 阿尔卡特公司 | 用于保证服务质量的数据网络接入控制器 |
CN1653790A (zh) * | 2002-03-18 | 2005-08-10 | 普罗昆特系统公司 | 应用程序接口 |
CN101582773A (zh) * | 2008-05-13 | 2009-11-18 | 株式会社日立国际电气 | 冗余切换系统、冗余管理装置以及应用程序处理装置 |
CN101345641A (zh) * | 2008-08-21 | 2009-01-14 | 中兴通讯股份有限公司 | 一种组播接入设备及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144188A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 服务调度方法、系统与本地服务调度服务器 |
CN107211035A (zh) * | 2014-12-05 | 2017-09-26 | 瑞典爱立信有限公司 | 用于在内容递送网络中监测服务的方法和网络节点 |
CN107211035B (zh) * | 2014-12-05 | 2020-06-16 | 瑞典爱立信有限公司 | 用于在内容递送网络中监测服务的方法和网络节点 |
Also Published As
Publication number | Publication date |
---|---|
CN102571880B (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468648B (zh) | 数据处理系统及方法 | |
CN110209492B (zh) | 一种数据处理方法及装置 | |
JP5381998B2 (ja) | クラスタ制御システム、クラスタ制御方法、及びプログラム | |
CN103888277B (zh) | 一种网关容灾备份方法、装置和系统 | |
CN103609167A (zh) | 用于在地理冗余网关处的会话恢复的系统和方法 | |
CN110234140B (zh) | 一种通信方法、装置、实体及存储介质 | |
CN106953926A (zh) | 一种路由方法及装置 | |
CN113010313A (zh) | 一种负载均衡方法、装置、电子设备及计算机存储介质 | |
CN105656964B (zh) | 数据推送的实现方法及装置 | |
CN112039710A (zh) | 服务故障处理方法、终端设备及可读存储介质 | |
CN201985898U (zh) | 通讯服务负载平衡系统 | |
CN106850803B (zh) | 一种基于sdn的加权轮询系统及算法 | |
CN102724104A (zh) | 自动配置Java EE应用集群的装置和方法 | |
US20070294255A1 (en) | Method and System for Distributing Data Processing Units in a Communication Network | |
CN113326100A (zh) | 一种集群管理方法、装置、设备及计算机存储介质 | |
CN102571880B (zh) | 一种服务分发方法和系统以及一种服务分发节点 | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN103931138A (zh) | 可扩展的分布式多集群设备管理服务器架构及其操作的方法 | |
JP2008225740A (ja) | 情報処理装置および情報処理方法 | |
CN102316018A (zh) | 一种网络节点设备中路由表的更新方法以及网络节点设备 | |
CN112243243B (zh) | 网络切片实现方法、实体和系统 | |
CN102281580B (zh) | M2m系统及其业务处理方法 | |
CN116455817A (zh) | 一种软件定义云网融合架构及路由实现方法 | |
KR20070074867A (ko) | 분산환경의 망 감시 장치 및 시스템 | |
CN113190347A (zh) | 一种边缘云系统及任务管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |