分布式队列分配方法及分布式系统的制作方法

文档序号:7895865阅读:122来源:国知局
专利名称:分布式队列分配方法及分布式系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种分布式队列分配方法及分布式系统。
背景技术
在通信领域中,系统按照实现方式,可以分为集中式系统和分布式系统。在集中式系统中,物理队列和管理软件位于同一个系统中,队列分配由转发和控 制单元负责,队列原始数据包经转发和控制单元分配处理后,成为处理过的队列数据包,集 中式系统的队列使用和管理都比较容易,如图1所示。而在一个典型的分布式系统中,分布式系统中的处理流程分成上行和下行两个部 分;而且这两个处理可能在不同的转发单元上,如图2所示。上行流程负责进行转发业务判 断和处理,获取下行的队列号,下行流程根据队列号进行入队列操作,然后进行数据包的修 改,完成一次业务处理。在分布式系统中,如果转发单元类型都是一样的,那么队列分配方 式也是相同的。但是,如果存在不同类型的转发单元,则无法合理地分配和使用队列。

发明内容
本发明的主要目的在于提供一种分布式队列分配方法及分布式系统,以至少解决 上述的上分布式系统中存在不同类型的转发单元时,无法合理地分配和使用队列的问题。根据本发明的一个方面,提供了一种分布式队列分配方法,应用于分布式系统,包 括在接收到转发单元的上线消息后,根据转发单元的类型,从多个队列模板中选择与转发 单元的类型对应的队列模板;使用选择的队列模板分配队列。根据本发明的另一方面,提供了一种分布式系统,包括转发单元管理模块,用于 在接收转发单元的上线消息后,根据转发单元的类型,从多个队列模板中选择与转发单元 的类型对应的队列模板;队列分配模块,用于使用选择的队列模板分配队列。通过本发明,采用根据转发单元类型,选择不同的队列模板,使得在分布式系统中 存在多种不同的转发单元时,经不同转发单元分配的队列有适合于该转发单元的队列模 板,以使队列能够顺利分配,解决了现有分布式系统存在不同类型转发单元时,无法合理地 分配和使用队列的问题,进而达到了在分布式系统中,经不同类型的转发单元合理分配和 使用队列的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的一种集中式设备转发示意图;图2是根据相关技术的一种分布式设备转发示意图;图3是根据本发明实施例一的一种分布式队列分配方法的步骤流程图;图4是根据本发明实施例二的一种分布式队列分配方法的步骤流程图5是根据本发明实施例三的一种分布式系统的结构框图;图6是根据本发明实施例四的一种分布式系统的结构框图;图7是根据本发明实施例五的一种应用图6所示分布式系统进行分布式队列分配 的步骤流程图;图8是根据本发明实施例六的一种应用图6所示分布式系统进行分布式队列分配 的步骤流程图;图9是根据本发明实施例七的一种应用图6所示分布式系统进行分布式队列分配 的步骤流程图;图10是根据本发明实施例八的一种应用图6所示分布式系统进行分布式队列分 配的步骤流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。参照图3,示出了根据本发明实施例一的一种分布式队列分配方法的步骤流程图, 包括以下步骤步骤S302 在接收到转发单元的上线消息后,根据转发单元的类型,从多个队列 模板中选择与转发单元的类型对应的队列模板;分布式系统的上线消息用于业务队列的分配和处理,当分布式系统接收到某一个 或某几个转发单元的上线消息后,开始业务的分配和处理。分布式系统中存储有针对不同转发单元类型的多个队列模板,当分布式系统接收 到转发单元发送的上线消息时,依据发送该上线消息的转发单元的类型,从多个队列模板 中选择适用与该转发单元的队列模板。步骤S304 使用选择的队列模板分配队列。相关技术中,若分布式系统中存在不同类型的转发单元,如,转发单元的芯片类型 不同,则无法合理地分配和使用队列。通过本实施例,采用根据转发单元类型,选择不同的 队列模板,使得在分布式系统中存在多种不同的转发单元时,经不同转发单元分配的队列 有适合于该转发单元的队列模板,以使队列能够顺利分配,解决了现有分布式系统存在不 同类型转发单元时,无法合理地分配和使用队列的问题,进而达到了在分布式系统中,经不 同类型的转发单元合理分配和使用队列的效果。参照图4,示出了根据本发明实施例二的一种分布式队列分配方法的步骤流程图, 包括以下步骤步骤S402 分布式系统接收到队列分配消息,判断消息类型,若为转发单元的上 线消息,则执行步骤S404 ;若为特殊业务队列分配消息,则执行步骤S406。本实施例中,队列分配消息包括转发单元的上线消息和特殊业务队列分配消息, 分布式系统接收到队列分配消息后,首先判断消息的类型,根据不同的消息类型进行不同处理。步骤S404 当队列分配消息是转发单元的上线消息时,分布式系统根据转发单元 的线卡类型,从多个队列模板中选择与转发单元的线卡类型对应的队列模板,转步骤S408。
本实施例中,以线卡类型区分转发单元的类型,但不限于此,本领域技术人员可以 根据实际情况,使用任意可以区分转发单元类型的参数,以对转发单元类型进行区分。优选的,分布式系统中分别设有转发单元类型与模板类型的对应关系,和模板类 型与队列模板的对应关系,分布式系统首先根据转发单元的线卡类型确定其对应的模板类 型,然后与模板类型确定队列模板。转发单元类型与模板类型的对应关系,和模板类型与队 列模板的对应关系可以分别设置于不同的功能实体中,以减轻单个功能实体的存储负担, 并提高由转发单元类型确定队列模板的实现灵活性。当然,也可以设置转发单元的类型和 队列模板的对应关系,直接由转发单元类型确定队列模板。步骤S406 当队列分配消息是特殊业务队列分配消息时,分布式系统根据特殊业 务队列与队列模板的对应关系,从多个队列模板中选择与特殊业务队列对应的队列模板。本实施例中,分布式系统中还设有特殊业务队列与队列模板的对应关系,当系统 接收到特殊业务队列分配消息时,直接根据该对应关系,确定特殊业务队列适用的队列模 板,执行步骤S408。步骤S408 使用确定的队列模板分配队列。步骤S410 分布式系统接收到队列回收消息,判断消息类型,若为转发单元的下 线消息,则执行步骤S412 ;若为特殊业务队列回收消息,则执行步骤S414。本实施例中,队列回收消息包括转发单元的下线消息和特殊业务队列回收消息, 分布式系统接收到队列回收消息后,首先判断消息的类型,根据不同的消息类型进行不同处理。步骤S412 当队列回收消息是转发单元的下线消息,分布式系统根据队列模板的 类型,进行默认队列的回收处理,结束流程。步骤S414 当队列回收消息是特殊业务队列回收消息,分布式系统回收特殊业务 队列,结束流程。需要说明的是,系统有可能同时收到多个队列分配消息,表明有多个队列等待分 配。此时,可以根据队列分配消息(包括转发单元的上线消息和特殊业务队列分配消息)与 队列模板的对应关系,分别确定不同队列适用的不同队列模板。上述多个不同队列模板组 成一个队列模板组,多个不同的队列通过队列ID (标识)来标识,组成一个队列标识ID组, 多个队列模板中的每一个队列模板都与队列标识ID组中的一个队列ID对应,队列通过这 种队列ID和队列模板的对应关系,确定其使用的队列模板。参照图5,示出了根据本发明实施例三的一种分布式系统的结构框图,包括转发单元管理模块502,用于在接收转发单元的上线消息后,根据转发单元的类 型,从多个队列模板中选择与转发单元的类型对应的队列模板;队列分配模块504,用于使 用选择的队列模板分配队列。优选的,转发单元管理模块502包括第一确定模块5022,用于在接收到转发单元 的上线消息后,根据转发单元的类型,按照预先设定的转发单元类型与模板类型的对应关 系,确定与转发单元的类型对应的模板类型;第二确定模块50M,用于根据模板类型,按照 预先设定的模板类型与队列模板的对应关系,从多个队列模板中确定与模板类型对应的队 列模板。优选的,转发单元管理模块502还包括第三确定模块50 ,用于在接收到特殊业
6务队列分配消息后,根据预先设定的特殊业务队列与队列模板的对应关系,从多个队列模 板中选择与特殊业务队列对应的队列模板。优选的,本实施例的分布式系统还包括队列回收模块506,用于在接收到转发单 元的下线消息,或者,接收到特殊业务队列回收消息后,回收已分配的队列。优选的,本实施例的分布式系统还包括队列模板模块,用于保存多个队列模板; 根据转发单元的类型与队列模板的对应关系,或者,根据特殊业务队列与队列模板的对应 关系,为队列分配模块504提供队列模板。参照图6,示出了根据本发明实施例四的一种分布式系统的结构框图。本实施例的分布式系统包括转发单元管理模块602,队列模板模块604,队列分配 模块606和队列回收模块608。其中,转发单元管理模块602,用于接收队列管理消息,包括转发单元的上、下线消息,特 殊业务队列分配、回收消息等,识别和管理系统中所有的转发单元,对于不同的转发单元和 特殊业务,确定队列模板,调用队列分配模块606和队列回收模块608等;队列模板模块604,用于保存整个系统的队列模板,为其他模块提供查询接口,队 列模板模块中保存有支持多种转发单元的队列模板,当转发单元管理模块602确定了需要 的队列模板后,队列模板模块604提供队列模板,供队列分配模板606分配队列使用;队列分配模块606,用于接收转发单元管理模块602发送的队列分配请求(包括默 认队列分配请求,即收到转发单元的上线消息后进行队列分配的分配请求,和特殊业务队 列分配请求),执行转发单元的默认队列分配,保证正常业务的转发;以及,执行特殊业务 队列分配,对业务进行特殊处理,如HQOS(层次化的QOQ业务;提供系统运行的队列分配接 Π ;队列回收模块608,用于接收转发单元管理模块602发送的队列回收请求(包括默 认队列回收请求,和特殊业务队列回收请求),提供系统运行的队列回收接口,回收业务分 配的队列,供再次使用。优选的,本实施例的分布式系统还包括特殊业务模块610,其在有特殊业务需要 时,可以使用队列分配模块606分配的特殊业务队列,在业务进行特殊处理后,可以由队列 回收模块608对特殊业务队列进行回收。参照图7,示出了根据本发明实施例五的一种应用图6所示分布式系统进行分布 式队列分配的步骤流程图。本实施例的分布式系统中,不包括特殊业务模块。本实施例的分布式队列分配包括以下步骤步骤S702 转发单元管理模块管理分布式系统中的转发单元,接收队列分配消 息,根据不同的队列分配消息确定队列的模板类型。当转发单元管理模块接收到的是转发单元的上线消息,或者特殊业务队列分配消 息,则根据转发单元类型确定与其对应的模板类型,或者,根据特殊业务队列确定与其对应 的模板类型,保存在缓冲区。如果转发单元管理模块接收到的是转发单元上线消息,则根据转发单元类型,确 定对应的模板类型,进行缓冲保存,并通知队列分配模块分配默认转发队列;如果转发单元 管理模块接收到的是特殊业务队列分配消息,则根据特殊业务队列,确定对应的模板类型,进行缓冲保存,并通知队列分配模块分配默认转发队列。 步骤S704 队列模板模块根据转发单元管理模块确定的模板类型提供队列模板。
队列模板模块负责保存不同的队列模板,为其他模块提供接口查询。步骤S706 队列分配模块负责分配队列,处理业务的正常转发和特殊业务处理这 两种情况下的队列分配。若队列分配模块接收到默认队列分配消息,则根据转发单元管理模块确定的模板 类型,调用队列模板模块,获取队列模板,结合默认调度层次分配默认队列ID组;若队列分 配模块接收到特殊业务队列分配消息,则根据转发单元管理模块确定的模板类型,调用队 列模板模块,获取队列模板,然后结合特殊调度层次树,分配特殊队列ID组。步骤S708 转发单元管理模块接收队列回收消息,调用队列回收模块进行队列的 回收处理。步骤S710 队列回收模块负责回收队列,处理业务的正常转发和特殊处理这两种 情况下的队列回收。若转发单元管理模块如果接收到转发单元的下线消息,则根据转发单元类型,清 除缓冲区中与其对应的模板类型和队列模块,通知队列回收模块回收默认转发队列,队列 回收模块接收到默认队列回收消息,使用默认的队列层次回收默认队列ID组;若转发单元 管理模块如果接收到特殊业务队列回收消息,则根据特殊业务队列,清除缓冲区中与其对 应的模板类型和队列模块,通知队列回收模块回收特殊队列,队列回收模块接收到特殊业 务队列回收消息,使用特殊调度层次树,回收特殊队列ID组。通过本实施例的分布式系统,队列分配通过集中管理转发单元,并且提供不同转 发单元的队列模板管理,高效地解决了分布式系统的队列分配问题。参照图8,示出了根据本发明实施例六的一种应用图6所示分布式系统进行分布 式队列分配的步骤流程图。本实施例仅针对转发单元的上、下线消息进行分布式队列分配。本实施例的分布式队列分配包括以下步骤步骤S802 转发单元管理模块接收转发单元消息,判断消息类型,进行转发单元 的队列管理。步骤S804:如果接收的是上线消息,则转发单元管理模块根据线卡类型,调用队 列模板模块获取队列模板,然后调用队列分配模块进行默认队列的分配。步骤S806 如果接收的是下线消息,则转发单元管理模块根据队列模板类型,调 用队列回收模块进行默认队列的回收。参照图9,示出了根据本发明实施例七的一种应用图6所示分布式系统进行分布 式队列分配的步骤流程图。本实施例仅针对特殊业务模块的特殊业务队列分配、回收消息 进行分布式队列分配。本实施例的分布式队列分配包括以下步骤步骤S902 特殊业务模块接收特殊业务队列消息,判断消息类型,进行特殊业务 的队列管理。步骤S904 如果接收的是特殊业务队列分配消息,则特殊业务模块根据特殊业务 队列,调用队列模板模块获取队列模板,然后调用队列分配模块进行特殊业务队列的分配。步骤S906 如果接收的是特殊业务队列回收消息,则特殊业务模块根据队列模板
8类型,调用队列回收模块进行特殊业务队列的回收。需要说明的是,图8和图9所示的分布式队列分配方法可以分别进行,也可以同时 进行,队列分配模块和队列回收模块对接收到的指令作以判断,区分出是默认队列还是特 殊业务队列,进而做出不同处理即可。参照图10,示出了根据本发明实施例八的一种应用图6所示分布式系统进行分布 式队列分配的步骤流程图,包括以下步骤步骤S1002 转发单元管理模块接收转发单元消息,进行转发单元的队列管理。步骤S1004 如果步骤S1002中消息是上线消息,转发单元管理模块根据线卡类 型,调用队列模板模块获取队列模板类型,然后调用队列分配模块进行默认队列的分配。步骤S1006 如果步骤S1002中消息是下线消息,转发单元管理模块根据队列模板 类型,调用队列回收模块进行默认队列的回收。步骤S1008 队列分配模块接收特殊业务模块的队列分配消息,按照队列模板类 型和特殊队列层次树,分配相应的队列组,返回给特殊业务模块。步骤S1010 队列分配模块接收特殊业务模块的队列回收消息,按照队列模板类 型和特殊业务层次树,回收相应的队列组。需要说明的是,本发明的上述多个实施例中,特殊业务可以是任何队列有特殊需 要的业务,如HQOS业务等,也可以是任意有特殊需要的其它业务,本发明对此不作限制。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种分布式队列分配方法,其特征在于,应用于分布式系统,所述方法包括在接收到转发单元的上线消息后,根据所述转发单元的类型,从多个队列模板中选择 与所述转发单元的类型对应的队列模板; 使用所述选择的队列模板分配队列。
2.根据权利要求1所述的方法,其特征在于,所述根据所述转发单元的类型,从多个队 列模板中选择与所述转发单元的类型对应的队列模板的步骤包括根据所述转发单元的类型,按照预先设定的转发单元类型与模板类型的对应关系,确 定与所述转发单元的类型对应的模板类型;根据所述模板类型,按照预先设定的模板类型与队列模板的对应关系,从所述多个队 列模板中确定与所述模板类型对应的队列模板。
3.根据权利要求1或2所述的方法,其特征在于,在所述使用所述选择的队列模板分配 队列步骤之前,还包括若接收到特殊业务队列分配消息,则根据预先设定的特殊业务队列与队列模板的对应 关系,从所述多个队列模板中选择与所述特殊业务队列对应的队列模板。
4.根据权利要求3所述的方法,其特征在于,还包括在接收到所述转发单元的下线消息,或者,接收到特殊业务队列回收消息后,回收所述 已分配的队列。
5.根据权利要求3所述的方法,其特征在于,在所述队列包括多个,并且,所述选择的 队列模板包括多个的情况下,所述使用所述选择的队列模板分配队列的步骤包括当接收的是转发单元的上线消息时,使用所述选择的多个队列模板,根据默认调度层 次分配队列标识ID组,所述多个队列模板与所述队列ID组中的多个队列ID —一对应; 或者,当接收的是特殊业务队列分配消息时,使用所述选择的多个队列模板,根据特殊调度 层次树分配队列标识ID组,所述多个队列模板与所述队列ID组中的多个队列ID—一对应。
6.一种分布式系统,其特征在于,包括转发单元管理模块,用于在接收转发单元的上线消息后,根据所述转发单元的类型,从 多个队列模板中选择与所述转发单元的类型对应的队列模板; 队列分配模块,用于使用所述选择的队列模板分配队列。
7.根据权利要求6所述的分布式系统,其特征在于,所述转发单元管理模块包括 第一确定模块,用于在接收到所述转发单元的上线消息后,根据所述转发单元的类型,按照预先设定的转发单元类型与模板类型的对应关系,确定与所述转发单元的类型对应的 模板类型;第二确定模块,用于根据所述模板类型,按照预先设定的模板类型与队列模板的对应 关系,从所述多个队列模板中确定与所述模板类型对应的队列模板。
8.根据权利要求7所述的分布式系统,其特征在于,所述转发单元管理模块还包括 第三确定模块,用于在接收到特殊业务队列分配消息后,根据预先设定的特殊业务队列与队列模板的对应关系,从所述多个队列模板中选择与所述特殊业务队列对应的队列模 板。
9.根据权利要求8所述的分布式系统,其特征在于,还包括队列回收模块,用于在接收到所述转发单元的下线消息,或者,接收到特殊业务队列回 收消息后,回收所述已分配的队列。
10.根据权利要求6至9任一项所述的分布式系统,其特征在于,还包括队列模板模块,用于保存所述多个队列模板;根据所述转发单元的类型与队列模板的 对应关系,或者,根据特殊业务队列与队列模板的对应关系,为所述队列分配模块提供队列 模板。
全文摘要
本发明公开了一种分布式队列分配方法及分布式系统,其中,分布式队列分配方法应用于分布式系统,包括在接收到转发单元的上线消息后,根据转发单元的类型,从多个队列模板中选择与转发单元的类型对应的队列模板;使用选择的队列模板分配队列。通过本发明,达到了在分布式系统中,经不同类型的转发单元合理分配和使用队列的效果。
文档编号H04L12/56GK102065009SQ20101059311
公开日2011年5月18日 申请日期2010年12月16日 优先权日2010年12月16日
发明者曹登元 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1