通讯系统集群方法、装置及应用其的集群服务系统的制作方法

文档序号:7656009阅读:186来源:国知局
专利名称:通讯系统集群方法、装置及应用其的集群服务系统的制作方法
技术领域
本发明涉及通讯集群领域,特别涉及一种通讯系统集群方法和装置以及应 用该集群方法和装置的集群服务系统。
背景技术
目前,通讯业务如火如荼展开,通讯业务成了人们日常生活中不可或缺的 一部分。为了确保通信服务器的长期稳定运行,对其部分部件提供了冗余设计, 如电源、网卡的冗余备份,硬盘镜像等。但是,在系统层面,如果服务器的关键部件发生故障,如中央处理器CPU故障、内存故障、主板故障等,则整个 服务器停止运行,结果会严重影响整个通讯系统,如造成业务中断等;在应用 方面,如果应用程序发生故障,异常退出,停止提供应用服务,结果同样会严 重影响整个通讯系统的正常运行。在系统方面,现有技术提供了集群技术,其基本原理是利用两台服务器进 行双机备份,双机之间采用多种通讯方式进行检测监控,如双机之间采用串口 心跳连接,双机网卡连接到同一局域网上。在一台服务器发生故障时,另外一 台服务器能及时检测异常,并接管发生故障的服务器的业务。如图l所示,服 务器1和服务器2组成双机集群系统,它们共享存储介质,服务器1和服务器 2采用串口心跳连接,并通过路由器现局域网连接,在服务器l停止工作时, 服务器2能接管其业务,发生业务切换时,在接管业务的服务器2,集群系统 采用脚本启动应用程序,在发生故障的服务器l,集群系统采用脚本终止应用 程序。在应用方面,尽管集群系统提供监控脚本功能,但该功能很难用来实现对 应用程序的有效监控。因此,现有技术往往采用软件看门狗技术,其基本原理 是在服务器上运行看门狗程序,该程序负责监控管理应用进程,监控发现应用 进程异常时,能重启应用程序,从而保证应用的正常运行。但现有技术在应用和系统方面还存在如下问题
在应用方面,看门狗采用加锁机制,在单个服务器中唯一,占用专用的共 享内存等系统资源。看门狗的独享机制,导致在集群系统中,例如双机系统中, 同一时刻只能有一台服务器上运行看门狗及其监控的业务应用。为保证看门狗 的正常运行,看门狗监控的程序在看门狗启动时即已确定,并且监控的程序能 被看门狗程序正常启动。在系统方面,由于采用脚本难以检测业务进程的状态,例如业务进程吊死, 所以,为保证系统可靠性,需要采用看门狗软件管理业务进程。同时现有技术 在配置集群系统发生服务切换运行脚本时,一般通过启动和杀死看门狗程序实 现启动和停止业务应用。这种机制也决定了看门狗程序在集群系统服务器中唯综上,在现有技术集群系统中,对于多节点负荷分担通讯业务,看门狗的 特性决定了集群系统中双机中只能运行一个看门狗管理的业务应用,在双机上 运行单一类型应用时,只能采用主备方式,空闲备机,导致现有集群应用方式 在系统利用上的资源浪费。发明内容本发明所要解决的技术问题在于,提供一种通讯系统集群方法和装置以及 应用该集群方法和装置的集群服务系统,以实现通讯业务双机互备援或/和多 节点互备援集群,更有效的利用现有通讯设备资源。为达到上述目的,本发明提供的通讯系统集群方法,用于实现双机互备援 和/或多节点互备援集群,包括应用组划分步骤,用于将预定的一系列在同一台服务器运行的应用和资源 作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗程序启动步骤,用于获取看门狗进程所在应用组所需的系统资 源,启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置。上述通讯系统集群方法,所述业务看门狗程序启动步骤进一步包括步骤A,所述看门狗进程获取其所在应用组标识信息;步骤B,根据所述应用组标识信息应用命名算法生成所述看门狗进程所需 的系统资源名;步骤C,所述看门狗进程根据所述系统资源名检査并获取该看门狗进程所 需系统资源;步骤D,所述看门狗进程获取应用组配置信息启动被监控业务进程; 步骤E,所述看门狗进程完成看门狗的辅助启动设置。上述通讯系统集群方法,所述业务看门狗程序启动步骤还包括根据定时 器定时检査被监控业务进程状态的步骤。上述通讯系统集群方法,所述步骤C进一步包括一判断所述看门狗进程 是否成功获取系统资源的步骤,如成功继续执行所述歩骤D;否则,所述看门 狗进程记录错误日志信息并退出。上述通讯系统集群方法,所述.步骤D中,被监控业务进程的启动步骤进 一步包括步骤D1,所述业务进程获取其所在应用组标识信息; 步骤D2,根据所述应用组标识信息应用命名算法生成该业务进程所需的 系统资源名;步骤D3,所述业务进程根据所述系统资源名检查并获取所需系统资源, 获取资源成功执行步骤D4,否则,所述业务进程记录错误日志信息并退出;歩骤D4,所述业务进程定时与所述看门狗通讯,注册启动信息,并开始 运行业务应用。上述通讯系统集群方法,所述通讯业务分为数据库应用和业务应用,针对 所述数据库应用,所述应用组包括数据库用户、数据库软件、数据库、磁阵 资源及数据库进程监控脚本;针对所述业务应用,所述应用组包括业务应用用户、业务看门狗进程、应用进程、共享内存、互斥锁及配置信息。 上述通讯系统集群方法,所述命名算法是用于区分不同业务应用组,对于共享内存的业务应用组,所述命名算法采用资源固有名字附加业务应用组组名或附加用户信息的方法进行标识。上述通讯系统集群方法,所述采用附加业务应用组组名进行标识时,所述看门狗和业务程序通过配置文件或从系统注册表确定应用组组名,并将所述应用组组名嵌入到应用组所用资源名中。上述通讯系统集群方法,所述采用附加用户信息方法进行标识时,所述看门狗和业务程序获取当前用户信息作为所述应用组的标识以区分不同应用组,并将所述用户信息嵌入到所述应用组所用资源名中。
通讯系统集群方法,所述标识信息是应用组组名、当前用户名或当前用户ID。进一步的,本发明还提供了一种应用上述通讯系统集群方法的集群装置, 用于包括至少两台服务器实现双机互备援和/或多节点互备援集群,该集群装 置包括.-应用组设置模块,用于将预定的一系列在同一台服务器运行的应用和资源 作为 一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗模块,用于获取看门狗进程所在应用组所需的系统资源,启动 该看门狗进程监控的业务进程并完成该看门狗进程的启动设置;业务进程设置模块,用于获取该业务进程所在应用组所需系统资源来完成 启动设置,该业务进程启动由监控该业务进程的所述业务看门狗模块启动。更进一歩,本发明还提供了一种应用上述集群方法和集群装置的集群服务 系统,包括至少两台服务器,还包括实现双机互备援和/或多节点互备援的集 群装置,该集群装置进一步包括应用组设置模块,用于将预定的一系列在同一台服务器运行的应用和资源 作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗模块,用于获取看门狗进程所在应用组所需的系统资源,启动 该看门狗进程监控的业务进程并完成该看门狗进程的启动设置;业务进程设置模块,用于获取该业务进程所在应用组所需系统资源来完成 启动设置,该业务进程启动由监控该业务进程的所述业务看门狗模块启动。与现有技术相比,本发明引入应用组的概念,将通讯系统业务划分为多个 应用组,采用命名算法来管理业务应用组所需系统资源并采用重命名方式保证 双机软件能识别应用组。克服了现有技术集群系统中双机中只能运行一个看门 狗管理的业务应用,在双机上运行单一类型应用时,只能采用主备方式,空闲 备机的缺陷,实现了通讯业务双机互备援或/和多节点互备援集群,有效地利 用了现有通讯设备资源,为运营商提高效益。


图1是现有技术实现集群服务的系统组成图; 图2是本发明业务进程启动流程图;图3是本发明看门狗进程启动流程图; 图4是本发明集群装置400示意框图;图5是应用本发明实现2+1备份的集群服务系统组成图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述,以更进一歩了解本发明 之目的、方案及功效,但不作为对本发明所附权利要求保护范围的限制。本发明提供的通讯系统集群方法,采用两层结构,系统层通过双机软件实 现集群管理;应用层由应用组实现业务功能。用来实现通讯业务双机互备援和 /或多节点互备援集群,该集群方法包括应用组划分步骤,用于将预定的一系列在同一台服务器运行的应用和资源作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗程序启动步骤,用于获取看门狗进程所在应用组所需的系统资 源,启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置。通讯业务可以分为数据库应用和业务应用。对于数据库应用来说,应用组 包含数据库用户、数据库软件、数据库、磁阵资源、数据库进程监控脚本等; 对于业务应用来说,应用组包括业务应用用户、业务看门狗进程、应用进程、 共享内存、互斥锁、配置信息等一系列内容。不同应用组之间根据应用组名进 行区分。进一歩的,对于业务应用组资源的管理采用命名算法进行以在不同业务应 用组之间进行区分。例如,对于业务应用组共享内存的命名,采用资源固有名 字附加业务应用组组名或附加用户信息的方法来进行标识。在采用附加业务应 用组组名方法时,看门狗和业务程序通过配置文件或从系统注册表确定应用组 名,并将应用组名嵌入到应用组所用资源名中。例如,在资源固有名字前增加 应用组名前缀;在资源固有名字尾添加应用组名后缀。在采用附加用户信息方 法时,看门狗和业务程序首先获取当前用户信息,例如当前用户名或用户ID, 能作为应用组的标识以区分不同应用组,并将该用户信息嵌入到应用组所用资 源名中。例如,在资源固有名字前增加当前用户名前缀;在资源固有名字尾添 加当前用户名后缀;在资源固有名字前增加当前用户ID前缀;在资源固有名 字尾添加当前用户ID后缀。
如图2所示,本发明集群方法的业务进程启动流程如下步骤S201,业务进程获取所在应用组标识信息。例如应用组名,当前用户名或当前用户ID。步骤S202,根据命名算法生成业务进程所需系统资源名。对于属于应用组专用的资源,资源名带有应用组标识以在不同应用组间分区。 步骤S203,业务进程根据资源名检査并获取所需系统资源。 步骤S204,业务进程判断获取系统资源是否成功。成功则转歩骤S206。 步骤S205,检查或获取系统资源失败,业务进程记录错误日志信息并退出。歩骤S206,业务进程完成其他启动设置。采用共享内存技术定时与看门 狗通讯,注册启动信息,并开始运行业务应用。从上述业务进程启动流程可以看出,本发明的业务进程启动克服了现有技 术对于业务进程所用系统资源,采用固定应用资源名方式获取系统资源的缺 陷。如图3所示,本发明集群方法的看门狗进程启动流程如下步骤S301,看门狗进程获取所在应用组标识信息。例如应用组名,当前用户名或当前用户ID。步骤S302,根据命名算法生成看门狗进程所需系统资源名。对于属于应用组专用的资源,资源名带有应用组标识以在不同应用组间分区; 歩骤S303,看门狗进程根据资源名检査并获取所需系统资源。 歩骤S304,看门狗进程判断获取系统资源是否成功。成功则转步骤S306。 步骤S305,检査或获取系统资源失败,看门狗进程记录错误日志信息并退出。步骤S306,启动被监控业务进程。步骤S307,完成看门狗的辅助启动设置。设置定时器,并在定时到达时, 检査被监控业务进程状态。从上述看门狗进程启动流程可以看出,本发明的看门狗进程启动克服了现 有技术对于看门狗进程采用固定资源名方式获取所用系统资源,并且克服了看 门狗进程采用互斥锁机制,禁止启动一个以上的看门狗进程所带来的缺陷。参考图4,本发明还提供了一种应用上述通讯系统集群方法的集群装置
400,用于包括至少两台服务器实现双机互备援和/或多节点互备援集群,该集群装置400包括应用组设置模块401,用于将预定的一系列在同一台服务器运行的应用和资源作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗模块402,用于获取看门狗进程所在应用组所需的系统资源, 启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置;业务进程 设置模块403,用于获取该业务进程所在应用组所需系统资源来完成启动设 置,该业务进程启动由监控该业务进程的所述业务看门狗模块启动。本发明更 进一步提供了一种应用上述集群方法和装置的集群服务系统40,包括至少两 台服务器,还包括实现双机互备援和/或多节点互备援的集群装置400。 下面给出具体实施例进一步说明本发明所述方法及装置的具体应用 图5是所示为实现2+l备份的具体实施例,如图5所示,该实系统包括 服务器A、服务器B和服务器C,服务器之间互相建立心跳连接,并通过路由 器实现局域网的连接。三台服务器共享存储设备,包括存储接口设备,连接到 每个服务器。在服务器A上运行应用组1,在服务器B上运行应用组2,服务器C空闲 备份,作为备机。当服务器A发生故障时,服务器C接管服务器A的业务应用1;当服务器B发生故障时,服务器C接管服务器B的业务应用2;当服务器A和服务器B都发生故障时,服务器C同时接管服务器A的业 务应用1和服务器B的业务应用2;进一步的,服务器C的存在可选。在设备允许的情况下,可以由服务器A 和服务器B组成双机互备援系统,服务器A上运行业务应用1 ,同时作为服 务器B上的业务应用2的备机存在;服务器B上运行业务应用2,同时作为服 务器A上的业务应用1的备机存在。从该实施例可以看出,本发明的应用,克服了现有技术由于看门狗排他 特性和对系统资源访问方式的限制,不能在一台机器上同时运行两个看门狗监 控的业务应用的缺陷,从而可实现多节点互备援集群。再以Unix小型机双机应用为例说明双机互备援的实现对于Unix小型机 采用如下步骤运行双机互备援业务。首先在每台小型机上建立两个相同的用 户,以便在不同用户运行不同的业务应用组程序;其次安装业务应用组程序(包
括看门狗程序、业务程序、配置文件等)到每个用户下,并修改程序名。通过 重命名看门狗程序和业务程序,能在系统中识别出不同应用组进程,便于编写 双机软件脚本;然后进行系统互备援双机配置,并启动双机。该实施例给出了 同时在双机的主备机上运行业务应用,在一台服务器发生故障时,业务能切换 到另外一台服务器,提升了系统资源的利用。虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,在不 背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作 出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权 利要求的保护范围。
权利要求
1、一种通讯系统集群方法,用于实现双机互备援和/或多节点互备援集群,其特征在于,包括应用组划分步骤,用于将预定的一系列在同一台服务器运行的应用和资源作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗程序启动步骤,用于获取看门狗进程所在应用组所需的系统资源,启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置。
2、 根据权利要求1所述的通讯系统集群方法,其特征在于,所述业务看 门狗程序启动步骤进一步包括步骤A,所述看门狗进程获取其所在应用组标识信息;步骤B,根据所述应用组标识信息应用命名算法生成所述看门狗进程所需 的系统资源名;步骤C,所述看门狗进程根据所述系统资源名检査并获取该看门狗进程所 需系统资源;步骤D,所述看门狗进程获取应用组配置信息启动被监控业务进程; 步骤E,所述看门狗进程完成看门狗的辅助启动设置。
3、 根据权利要求2所述的通讯系统集群方法,其特征在于,所述业务看 门狗程序启动步骤还包括根据定时器定时检查被监控业务进程状态的步骤。
4、 根据权利要求2所述的通讯系统集群方法,其特征在于,所述步骤C 进一步包括一判断所述看门狗进程是否成功获取系统资源的步骤,如成功继续执行所述步骤D;否则,所述看门狗进程记录错误日志信息并退出。
5、 根据权利要求2所述的通讯系统集群方法,其特征在于,所述步骤D中,被监控业务进程的启动步骤进一步包括步骤Dl ,所述业务进程获取其所在应用组标识信息;步骤D2,根据所述应用组标识信息应用命名算法生成该业务进程所需的 系统资源名;步骤D3,所述业务进程根据所述系统资源名检查并获取所需系统资源, 获取资源成功执行步骤D4,否则,所述业务进程记录错误日志信息并退出; 步骤D4,所述业务进程定时与所述看门狗通讯,注册启动信息,并开始 运行业务应用。
6、 根据权利要求1所述的通讯系统集群方法,其特征在于,所述通讯业 务分为数据库应用和业务应用,针对所述数据库应用,所述应用组包括数据 库用户、数据库软件、数据库、磁阵资源及数据库进程监控脚本;针对所述业 务应用,所述应用组包括业务应用用户、业务看门狗进程、应用进程、共享 内存、互斥锁及配置信息。
7、 根据权利要求5所述的通讯系统集群方法,其特征在于,所述命名算 法是用于区分不同业务应用组,对于共享内存的业务应用组,所述命名算法采 用资源固有名字附加业务应用组组名或附加用户信息的方法进行标识。
8、 根据权利要求7所述的通讯系统集群方法,其特征在于,所述采用附加业务应用组组名进行标识时,所述看门狗和业务程序通过配置文件或从系统 注册表确定应用组组名,并将所述应用组组名嵌入到应用组所用资源名中。
9、 根据权利要求7所述的通讯系统集群方法,其特征在于,所述采用附 加用户信息方法进行标识时,所述看门狗和业务程序获取当前用户信息作为所 述应用组的标识以区分不同应用组,并将所述用户信息嵌入到所述应用组所用 资源名中。
10、 根据权利要求5所述的通讯系统集群方法,其特征在于,所述标识信 息是应用组组名、当前用户名或当前用户ID。
11、 一种应用权利要求1 10中任意一项所述通讯系统集群方法的集群装 置,用于包括至少两台服务器实现双机互备援和/或多节点互备援集群,其特 征在于,该集群装置包括应用组设置模块,用于将预定的一系列在同一台服务器运行的应用和资源 作为 一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗模块,用于获取看门狗进程所在应用组所需的系统资源,启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置;业务进程设置模块,用于获取该业务进程所在应用组所需系统资源来完成 启动设置,该业务进程启动由监控该业务进程的所述业务看门狗模块启动。
12、 一种应用权利要求11所述集群装置的集群服务系统,包括至少两台 服务器,其特征在于,还包括实现双机互备援和/或多节点互备援的集群装置, 该集群装置进一步包括 应用组设置模块,用于将预定的一系列在同一台服务器运行的应用和资源 作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗模块,用于获取看门狗进程所在应用组所需的系统资源,启动 该看门狗进程监控的业务进程并完成该看门狗进程的启动设置;业务进程设置模块,用于获取该业务进程所在应用组所需系统资源来完成 启动设置,该业务进程启动由监控该业务进程的所述业务看门狗模块启动。
全文摘要
本发明公开了一种通讯系统集群方法,用于实现双机互备援和/或多节点互备援集群,包括应用组划分步骤,用于将预定的一系列在同一台服务器运行的应用和资源作为一应用组,并根据通信业务功能将所述应用组进行区分;业务看门狗程序启动步骤,用于获取看门狗进程所在应用组所需的系统资源,启动该看门狗进程监控的业务进程并完成该看门狗进程的启动设置。本发明还提供了一种应用上述通讯系统集群方法的集群装置和集群服务系统。本发明的应用克服了现有集群应用方式在系统利用上资源浪费的问题。
文档编号H04L1/22GK101119242SQ20071012130
公开日2008年2月6日 申请日期2007年9月3日 优先权日2007年9月3日
发明者陈正光 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1