公开/公告号CN105471630A
专利类型发明专利
公开/公告日2016-04-06
原文格式PDF
申请/专利权人 武汉日电光通信工业有限公司;
申请/专利号CN201510792713.0
发明设计人 沈莹;
申请日2015-11-18
分类号H04L12/24(20060101);
代理机构42102 湖北武汉永嘉专利代理有限公司;
代理人王丹
地址 430074 湖北省武汉市武昌关山三路
入库时间 2023-12-18 15:29:11
法律状态公告日
法律状态信息
法律状态
2019-04-19
授权
授权
2019-03-15
著录事项变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20151118
著录事项变更
2016-05-04
实质审查的生效 IPC(主分类):H04L12/24 申请日:20151118
实质审查的生效
2016-04-06
公开
公开
技术领域
本发明涉及计算机及通信领域,尤其涉及一种大容量分组传送系统下的北向系统消息分发系统及方法。
背景技术
在大容量分组传送系统中,都会存在管理大量通信子网,每个通信子网都存在一个网管系统,其组成的传输网络也会非常巨大及复杂,在极端情况下其会并发产生大规模的消息。这种场景的特点是消息数量大,来自子网管理系统的消息并发程度大;且不同消息的特点不一样,有的消息优先级要求高,有的消息要求同一个消息源的存在时序逻辑。这种情况下要求系统能够应对上述场景提供一个高效的消息分发能力。
大容量分组传送系统是一个由多个分组传输网元及系统构成的网络传输系统。在极端情况下,如大规模网络升级,传输系统改造扩容等,会在一个极短的时间段内产生数量和规模巨大的消息风暴,且北向接口能够接入多个上层网管,且上层网管的用户权限,那么将对北向消息机制如下问题。第一,如何设计一个能够满足不同优先级消息能够合理的被发往上层网管,即可以。第二,根据上层网管的权限要求合理复制消息分发给上层网管。综上所述,需要设计一个适用于大容量分组传送系统的自适应消息处理机制。
现有技术的第一种方法所采用的实现方式是设计一个快速消息分发器,只要接收到消息就转发出去,如果存在多个上层接入网管,就复制多个消息,如果上层网管的权限不够就由上层过滤该消息。
如果采用上述第一种处理方式就会存在以下问题。首先,消息接收是随机的无法针对消息的优先级进行合理分发,并且一些要求时序的消息可能存在时序混乱。其次,无法针对上层接入网管的权限进行合理选择,导致一些不必要的消息复制。最后,消息权限的选择是在上层,这样导致一些潜在安全性的问题。
现有技术第二种方法是,设计一个消息分发队列,消息分发队列按消息的优先级排序,对于存在时序关系的消息通过将时序关系映射成优先次序。
如果采用上述第二种处理方式就会存在以下问题。首先,消息分发队列如果存在排序,那么队列在排序的时候就无法做其它操作,存在阻塞的潜在风险。其次,时序关系映射成优先次序本质上并没有解决时序问题,依旧存在接收时序的问题。最后,对于多个上层网管的情况,复制开销如何分配还是没有提出有效的解决方案。
发明内容
本发明要解决的技术问题在于针对现有技术中大容量分组传送系统下的北向系统无法合理的分发消息的缺陷,提供一种既能满足消息的发送效率,又能够合理按消息优先级分发消息,还能够保证消息的时序关系的大容量分组传送系统下的北向系统消息分发系统及方法。
本发明解决其技术问题所采用的技术方案是:
本发明提供一种大容量分组传送系统下的北向系统消息分发系统,包括用于接收并分发消息的消息分发模块,具体包括消息接入管理单元、消息复制管理单元和消息分发管理单元;用于分发控制策略的消息队列管理模块,具体包括消息规则管理器、消息优先队列、时序控制器和优先策略控制器;
所述消息接入管理单元,用于接收来自下层网管的消息,并将接收到的消息发送给消息优先队列管理的消息队列;
所述消息复制管理单元,根据接入的上层网管的权限,加载一个权限和资源映射表,然后用消息中的消息源查询该映射表,返回一个权限集合,再根据权限集合所对应的上层网管,进行复制消息;
所述消息分发管理单元,用于对消息进行分发控制,并行分发消息给上层网管;
所述消息规则管理器,用于将存在时序关系的消息映射成逻辑序偶,并将逻辑序偶按键值对的形式存储起来;
所述消息优先队列,根据系统定义的消息优先级分别创建若干个队列,每个消息优先级一个队列,当收到消息后根据消息的优先级从队列尾部插入队列中,出列的时候从队列首出列;
所述时序控制器,根据所述消息规则管理器生成的逻辑序偶,调整消息的时序,进行时序保障;
所述优先策略控制器,用于提供一个随机发生器,根据优先级的高低,设置一个发生概率,随机发生器来选择从哪一个队列里提取消息。
进一步地,本发明的所述消息分发管理单元首先根据所述优先策略控制器的选择从指定的消息队列中获取要分发的消息;然后判断该消息是否是时序敏感的消息,如果是就根据所述时序控制器的控制结果进行分发控制;最后,并行分发消息给上层网管。
进一步地,本发明的所述时序控制器根据所述消息规则管理器生成的逻辑序偶,当从消息队列中取得消息的时候,若是该消息源的第一个时序则创建一个向量;并在键值对中寻找,没有对应的值说明其是时序中的首个消息,则将消息存入向量;
否则,就用找到的值比较向量中的末尾消息是否相同,若相同则将消息存入向量,若不同则消息重新进入对应的消息队列,等待下一次处理;
经过若干次向量中的序列必然与时序一致,此时销毁向量结束本次时序保障。
本发明提供一种大容量分组传送系统下的北向系统消息分发方法,包括以下步骤:
S1、并发接收消息,根据消息的优先级进入不同的消息队列;
S2、提供一个随机发生器,随机发生器根据消息的优先级来设定消息的发生概率,优先级高的发生概率就高,当随机选择了队列后,就会从队列首部取出该消息;
S3、判断取出的消息是否对时序敏感,若是时序敏感的消息,则进行时序保障,然后进入步骤S4;若不是时序敏感的消息,则直接进入步骤S4;
S4、检索权限资源矩阵,从所获得的消息中取得消息源,并返回其对应的权限向量;
S5、根据上层网管的权限去权限向量中进行权限匹配,当具备权限的消息被匹配出来后,对消息进行并行复制分发。
进一步地,本发明的步骤S3中进行时序保障的方法具体为:
S31、接收存在时序敏感的消息;
S32、判断该消息对应的时序向量是否存在;
S33、若不存在就创建时序向量;
S34、查询逻辑序偶,将存在时序关系的消息映射成可以逻辑处理的消息规则,映射成若干个逻辑序偶,并将这个逻辑序偶按照键值对的形式存储起来,如果没有查询到该逻辑序偶就进入S37,查询到了就进入S35;
S35、比较向量,用S34中查询到的值去向量中的末尾消息比较,判断是否相同,相同说明是这个时序该转发的消息进入S37,否则其还未达到时序要求进入S36;
S36、返回队列,将还没有达到时序要求但是又接收到的消息返回到消息队列队尾,等待下一次处理;
S37、存入向量,是达到了时序要求的消息一方面要转发出去,一方面保存该向量,已记录当前向量完成的时序;
S38、一致比较,如果向量中存储的序列和时序要求的序列一致,则说明本次时序要求的消息都按时序转发完成;一致就去S39,否则就返回S31;
S39、时序完成,这一组消息的时序保障完成。
进一步地,本发明的步骤S4的具体方法为:检索权限资源矩阵,从所获得的消息中取得消息源,若上层存在多个网管且存在不同权限的情况下,系统根据接入的上层网管的权限,建立权限作为列,消息源作为行的关系映射矩阵,矩阵中0表示没有关系,1表示有关系,然后用消息中的消息源查询该矩阵,将会快速返回其对应的权限向量。
进一步地,本发明的步骤S5的具体方法为:当具备权限的消息被匹配出来后,就从线程池里根据1的个数选择若干个线程完成复制及分发操作。
本发明产生的有益效果是:本发明的大容量分组传送系统下的北向系统消息分发系统,通过设置用于接收并分发消息的消息分发模块,以及用于分发控制策略的消息队列管理模块,由系统提供一种合理的分发机制,使大容量分组传送系统下的北向系统消息分发系统既能够满足消息的发送效率,又能够合理按消息优先级分发消息,还能够保证消息的时序关系,通过本发明能够实现在大容量分组传送系统下的北向系统消息的高效分发。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的大容量分组传送系统下的北向系统消息分发系统的结构示意图;
图2是本发明实施例的大容量分组传送系统下的北向系统消息分发方法的流程图;
图3是本发明实施例的大容量分组传送系统下的北向系统消息分发方法的分发机制主流程图;
图4是本发明实施例的大容量分组传送系统下的北向系统消息分发方法的分发机制时序保障流程图;
图中1-消息分发模块,101-消息接入管理单元,102-消息复制管理单元,103-消息分发管理单元,2-消息队列管理模块,201-消息规则管理器,202-消息优先队列,203-时序控制器,204-优先策略控制器。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例的大容量分组传送系统下的北向系统消息分发系统,包括用于接收并分发消息的消息分发模块1,具体包括消息接入管理单元101、消息复制管理单元102和消息分发管理单元103;用于分发控制策略的消息队列管理模块2,具体包括消息规则管理器201、消息优先队列202、时序控制器203和优先策略控制器204;
消息接入管理单元101,用于接收来自下层网管的消息,并将接收到的消息发送给消息优先队列202管理的消息队列;
消息复制管理单元102,根据接入的上层网管的权限,加载一个权限和资源映射表,然后用消息中的消息源查询该映射表,返回一个权限集合,再根据权限集合所对应的上层网管,进行复制消息;
消息分发管理单元103,用于对消息进行分发控制,并行分发消息给上层网管;消息分发管理单元103首先根据优先策略控制器204的选择从指定的消息队列中获取要分发的消息;然后判断该消息是否是时序敏感的消息,如果是就根据时序控制器203的控制结果进行分发控制;最后,并行分发消息给上层网管。
消息规则管理器201,用于将存在时序关系的消息映射成逻辑序偶,并将逻辑序偶按键值对的形式存储起来;
消息优先队列202,根据系统定义的消息优先级分别创建若干个队列,每个消息优先级一个队列,当收到消息后根据消息的优先级从队列尾部插入队列中,出列的时候从队列首出列;
时序控制器203,根据所述消息规则管理器201生成的逻辑序偶,调整消息的时序,进行时序保障;时序控制器203根据消息规则管理器201生成的逻辑序偶,当从消息队列中取得消息的时候,若是该消息源的第一个时序则创建一个向量;并在键值对中寻找,没有对应的值说明其是时序中的首个消息,则将消息存入向量;
否则,就用找到的值比较向量中的末尾消息是否相同,若相同则将消息存入向量,若不同则消息重新进入对应的消息队列,等待下一次处理;
经过若干次向量中的序列必然与时序一致,此时销毁向量结束本次时序保障。
优先策略控制器204,用于提供一个随机发生器,根据优先级的高低,设置一个发生概率,随机发生器来选择从哪一个队列里提取消息。
如图2所示,本发明实施例的大容量分组传送系统下的北向系统消息分发方法用于实现本发明实施例的大容量分组传送系统下的北向系统消息分发系统,包括以下步骤:
S1、并发接收消息,根据消息的优先级进入不同的消息队列;
S2、提供一个随机发生器,随机发生器根据消息的优先级来设定消息的发生概率,优先级高的发生概率就高,当随机选择了队列后,就会从队列首部取出该消息;
S3、判断取出的消息是否对时序敏感,若是时序敏感的消息,则进行时序保障,然后进入步骤S4;若不是时序敏感的消息,则直接进入步骤S4;
S31、接收存在时序敏感的消息;
S32、判断该消息对应的时序向量是否存在;
S33、若不存在就创建时序向量;
S34、查询逻辑序偶,将存在时序关系的消息映射成可以逻辑处理的消息规则,映射成若干个逻辑序偶,并将这个逻辑序偶按照键值对的形式存储起来,如果没有查询到该逻辑序偶就进入S37,查询到了就进入S35;
S35、比较向量,用S34中查询到的值去向量中的末尾消息比较,判断是否相同,相同说明是这个时序该转发的消息进入S37,否则其还未达到时序要求进入S36;
S36、返回队列,将还没有达到时序要求但是又接收到的消息返回到消息队列队尾,等待下一次处理;
S37、存入向量,是达到了时序要求的消息一方面要转发出去,一方面保存该向量,已记录当前向量完成的时序;
S38、一致比较,如果向量中存储的序列和时序要求的序列一致,则说明本次时序要求的消息都按时序转发完成;一致就去S39,否则就返回S31;
S39、时序完成,这一组消息的时序保障完成;
S4、检索权限资源矩阵,从所获得的消息中取得消息源,并返回其对应的权限向量;
检索权限资源矩阵,从所获得的消息中取得消息源,若上层存在多个网管且存在不同权限的情况下,系统根据接入的上层网管的权限,建立权限作为列,消息源作为行的关系映射矩阵,矩阵中0表示没有关系,1表示有关系,然后用消息中的消息源查询该矩阵,将会快速返回其对应的权限向量;
S5、根据上层网管的权限去权限向量中进行权限匹配,当具备权限的消息被匹配出来后,对消息进行并行复制分发;
当具备权限的消息被匹配出来后,就从线程池里根据1的个数选择若干个线程完成复制及分发操作。
在本发明的另一个实施例中,系统中存在不同种类的消息,每一种消息在系统的优先级是不同,原则上优先级高的消息能够优先被分发,同时优先级低的消息也不会过多被延迟。在系统中存在一些必须满足时序关系的消息,这些种类的消息必须满足自身的时序要求。因为存在接入多个上层网管的需求,并且上层可能受权限的限制并非可以接受所有的消息,所以一个消息可能会根据接入的上层网管的情况进行复制,并分发给上层网管。由此可知,设计系统的关键是三点,第一,根据消息优先级设计消息队列方案方案;第二,针对存在时序的消息设计一个可以保证消息时序的方案;第三,将消息复制给那些有权限的上层的消息的复制控制方案。
适用于大容量分组传送系统下的北向系统消息高效分发机制,主要提供了两个模块,包括消息分发模块和消息队列管理模块。其处理流程包括:
消息分发模块1,是对外的接口模块,一方面用于接收来自下层网管的消息,另一方面要将消息分发到上层网管。其中,消息接入管理单元101用于接收来自下层网管的消息,其提供一个允许并发同时接入来自下层的并发消息的能力,并将所接收到的消息发给消息优先队列202管理的消息队列。消息复制管理单元102根据接入的上层网管的权限,加载一个权限和资源映射表,然后用消息中的消息源查询该映射表,将很快返回一个权限集合,再根据权限集合所对应的上层网管,进行复制消息。消息分发管理单元103用于分发消息,其首先根据优先策略控制器204的选择从指定的消息队列中获取要分发的消息;然后判断该消息是否是时序敏感的消息,如果是就根据时序控制器203的控制结果进行分发控制;最后,并行分发消息给上层网管。
消息队列管理模块2,该模块主要是被消息分发管理单元103调用,用于提供一组用于分发的控制策略。消息规则管理器201用于将存在时序关系的消息映射成可以逻辑处理的消息规则,如若一组消息存在时序<m1,m2,m3....mn>,其被映射成若干个逻辑序偶<mn,mn-1>、……、<m4,m3>、<m3,m2>、<m2,m1>,并将这个逻辑序偶按照key-value键值对的形式存储起来,这样做便于时序控制器203处理。消息优先队列202根据系统定义的消息优先级分别创建若干个队列,每个消息优先级一个队列,当收到消息后根据消息的优先级从队列尾部插入队列中,因此无需在队列中对优先级排序,出列的时候从队列首出列,因此整个队列不阻塞。时序控制器203根据消息规则管理器201生成的逻辑序偶,当从消息队列中取得消息的时候,若是该消息源的第一个时序则创建一个向量。并在键值对中寻找,没有对应的值说明其是时序中的首个消息,则将消息存入向量。否则,就用找到的值比较向量中的末尾消息是否相同,若是则将消息存入向量,否则消息重新进入对应的消息队列,等待下一次处理。经过若干次向量中的序列必然与时序一致,此时销毁向量结束本次时序保障。204优先策略控制器提供一个随机发生器,其根据优先级的高低,设置一个发生概率,即优先级高的被选中的概率会高一些,随机发生器来选择从哪一个队列里提取消息。
通过本发明可以在复杂的大容量分组传送系统中,由系统根据消息的优先级设计一个随机发生器,其优先级越高则被选中的概率越大,在足够随机的条件下从而保证了高级别的消息能够尽可能快被分发,低优先级的也不至于被延迟很多。
系统能够针对时序敏感的消息提供时序保障方案。通过将已知的时序关系,映射成一组序偶按键值对形式存储。当从消息队列中取得消息的时候,若是该消息源的第一个时序则创建一个向量。并在键值对中寻找,没有对应的值说明其是时序中的首个消息,则将消息存入向量。否则,就用找到的值比较向量中的末尾消息是否相同,若是则将消息存入向量,否则消息重新进入对应的消息队列,等待下一次处理。经过若干次向量中的序列必然与时序一致,此时销毁向量结束本次时序保障。
上层存在多个网管且存在不同权限的情况下,系统根据接入的上层网管的权限,从已有系统获得一个权限作为列和资源作为行的关系映射矩阵,矩阵中0表示没有关系,1表示有关系,然后用消息中的消息源(资源)查询该矩阵,将会快速返回其对应的权限向量,再用上层网管所具有的权限,去权限向量中匹配为1的值,凡是为1的就已并行方式进行复制及分发消息。
通过本发明能够在大容量分组传送系统下的北向系统中提供高效的消息分发机制。
如图3所示,本发明的另一个实施例中,大容量分组传送系统下的北向系统消息高效分发方法被分为以下几个步骤:
B1、并发接收消息,由于下层网管是并发异步的发送消息,所以提供一个可以并发接收来自下层网管消息的能力。
B2、进入消息队列,判断每个接收到的消息的优先级,根据其优先级进入不同的消息队列,由于是队列因此从队列尾部插入,不影响对队列首部进行的出列操作。
B3、优先级随机选择,通过一个足够随机的随机发生器,随机发生器根据消息的优先级来设定随机事件的发生概率,优先级高的发生概率就高反之既然。当随机选择了队列后,就会从队列首部取出消息。
B4、时序敏感,判断该消息是不是一个时序敏感的消息,即对时序有要求的消息。
B5、时序保障,保障消息时序,参考图3实现。
B6、检索权限资源矩阵,从所获得的消息中取得消息源。若上层存在多个网管且存在不同权限的情况下,系统根据接入的上层网管的权限,从已有系统获得一个权限作为列和资源作为行的关系映射矩阵,矩阵中0表示没有关系,1表示有关系,然后用消息中的消息源(资源)查询该矩阵,将会快速返回其对应的权限向量。
B7、权限匹配,再用上层网管所具有的权限,去权限向量中匹配为1的值,凡是为1的就准备复制及分发。
B8、并行复制分发,当具备权限的消息被匹配出来后,就从线程池里根据1的个数选择若干个线程完成复制及分发操作,起到并发效果。
如图4中所示,大容量分组传送系统下的北向系统消息高效分发方法时序保障流程被分为若干步骤,其步骤说明如下。
C1、获取消息,接收存在时序敏感的消息。
C2、存在向量,判断该消息对应的时序向量是否存在。
C3、创建向量,若不存在就创建,说明这是收到的第一个在这个时序保障过程中的消息。
C4、查询序偶,首先,将存在时序关系的消息映射成可以逻辑处理的消息规则,如一组消息存在时序<m1,m2,m3....mn>,其被映射成若干个逻辑序偶<mn,mn-1>、……、<m4,m3>、<m3,m2><mn2,m1>,并将这个逻辑序偶按照key-value键值对的形式存储起来。查询序偶就是将所收到的消息作为键去查找其对应的值。如果没有找到就C7说明是该时序中的第一个消息。否则就C5.
C5、比较向量,用C4中查询到的值去向量中的末尾消息比较,判断是否相同。相同说明是这个时序该转发的消息进入C7,否则其还未达到时序要求进入C6。
C6、返回队列,将还没有达到时序要求但是又接收到的消息返回到消息队列队尾,等待下一次处理。
C7、存入向量,是达到了时序要求的消息一方面要转发出去,一方面保存该向量,已记录当前向量完成的时序。
C8、一致比较,如果向量中存储的序列和时序要求的序列一致,则说明本次时序要求的消息都按时序转发完成。一致就去C9,否则就返回C1。
C9、时序完成,这一组消息的时序保障完成。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
机译: 分组传送系统,分组传送方法,分组传送程序和网络系统
机译: 消息分发系统,消息分发设备,消息分发方法和消息分发程序
机译: 消息分发系统,消息分发设备,消息分发方法和消息分发程序