一种资源分配方法及系统与流程

文档序号:16464291发布日期:2019-01-02 22:42阅读:209来源:国知局
一种资源分配方法及系统与流程

本发明涉及通信领域,尤其涉及一种资源分配方法及系统。



背景技术:

在分布式数据中心交换机中,管理层面和转发层面是分开的,管理层管理着转发层业务所需要的各种资源,其中就包括对于转发芯片上的转发资源的管理,这些资源有不同的类型,每种资源的每个资源在业务转发流程中都是唯一存在使用的因此需要管理层来保证每一个转发资源在转发层的唯一性。

转发资源是对应到数据中心交换机转发单元的转发芯片上具体寄存器用于报文转发的具体值,在转发芯片中,转发资源有很多类型,每种类型对应转发芯片的一类寄存器,而每种资源的每个资源又对应着转发芯片的一条具体寄存器条目,每个寄存器条目用来存储对业务报文的处理动作,转发业务在建立自己的一条业务时需要用到多个不同或者相同的芯片转发资源,该业务的报文进入该业务流程后在芯片中根据报文特征查找对应的芯片转发资源并根据每个资源中的信息对报文做相关处理。

转发层的转发单元是对业务报文进行处理的单元,业务报文转发用到的转发资源以及每个转发资源对应的寄存器均存在于转发单元中,每个转发单元的转发资源使用情况均存储于转发单元内,整个数据中心交换机中有多个转发单元。

管理层是分布式数据中心交换机中管理业务转发报文所需的各种资源,管理层管理所有转发单元的各种芯片转发资源,当业务有资源请求时,管理层负责根据业务信息寻找符合业务条件的可用资源分配各业务使用,并把使用资源的转发单元和资源的使用情况记录,以便有相同的业务来申请资源时直接返回给业务,同时防止同一个资源分配不同的业务。

参见图1,图1为现有技术提供的一种分布式数据中心交换机资源分配的示意图,图1中,管理层包括管理分配模块和管理存储模块,转发层包括各个转发单元,每个转发单元包括转发存储模块和业务模块;

现有技术的方案中,当业务模块申请资源时向管理层发送同步消息,并等待管理层分配可用资源,业务模块在收到管理层的应答消息后,才能够根据管理层分配的资源来建立自己的业务;管理层接收来自各个业务和转发单元的业务资源申请同步消息,并且对于各种业务和各种资源的同步消息的处理优先级是相同的,管理层收到资源申请同步消息后依次处理各个同步消息,包括分配具体资源并做相关资源使用记录,然后依次发送应答消息到各个业务和各个转发单元。

对于目前的资源分配方案,在低业务密度和转发单元个数少的情况下,能够满足各业务的资源请求分配,但是随着用户需求的业务种类和业务数量的不断增加,目前的方案已经不能满足各业务的资源申请分配,对于目前的分配方案主要存在以下限制:1、目前采用发送同步消息进行资源申请分配,因为同步消息要依次发送并等待管理层依次应答,当多个转发单元同时发送大量或者存在大量非资源申请的同步消息时,转发单元和管理层的消息处理可能会超时,从而导致转发单元同步消息发送失败,或者管理层不能及时处理同步消息进而导致业务无法正常建立;2、当配置高密度业务环境时,由于各个业务要申请大量的转发资源,目前方案在能正常申请分配资源的同时会大量耗时,这对于一些业务是不能接受的。



技术实现要素:

本发明实施例主要解决的技术问题是,提供一种资源分配方法及系统,解决现有技术中的交换机资源分配方案无法满足增长的业务需求的问题。

为解决上述技术问题,本发明实施例提供一种资源分配方法,包括:

转发单元的同步分配模块接收资源申请请求,资源申请请求携带本转发单元业务的索引信息;转发单元位于交换机的转发层;同步分配模块中存储交换机管理层的管理分配模块定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

同步分配模块根据索引信息和本转发单元的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源,第一资源为未使用的、且符合索引信息的资源;

将第一资源自主分配给业务使用。

为解决上述技术问题,本发明实施例提供一种资源分配系统,包括:转发单元的同步分配模块和交换机管理层的管理分配模块,

转发单元的同步分配模块,用于接收资源申请请求,资源申请请求携带本转发单元业务的索引信息;转发单元位于交换机的转发层;同步分配模块中存储管理分配模块定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

并根据索引信息和本转发单元的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源,第一资源为未使用的、且符合索引信息的资源;

将第一资源自主分配给业务使用。

为解决上述技术问题,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行前述的资源分配方法。

本发明的有益效果是:

根据本发明实施例提供的一种资源分配方法及系统,该资源分配方法包括:转发单元的同步分配模块接收资源申请请求,资源申请请求携带本转发单元业务的索引信息;转发单元位于交换机的转发层;同步分配模块中存储交换机管理层的管理分配模块定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;同步分配模块根据索引信息和本转发单元的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源,第一资源为未使用的、且符合索引信息的资源;将第一资源自主分配给业务使用;采用上述方案,由转发单元的同步分配模块处理本转发单元业务的资源申请请求,实现了在交换机管理层中资源申请请求量过大而不能及时处理的情况下,仍能保证各业务的正常工作,不仅解决了现有技术方案中管理层不能及时处理同步消息导致资源不能正常分配的弊端,也能够大大提高在高密度转发业务中转发资源的分配速度,提高业务的创建、删除及更新效率。

附图说明

图1为现有技术提供的一种分布式数据中心交换机资源分配的示意图;

图2为本发明实施例一提供的一种资源分配方法的流程图;

图3为本发明实施例一、二提供的一种资源分配系统的示意图;

图4为本发明实施例一、二提供的一种资源分配方法的流程图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一

本实施例提供一种资源分配方法,参见图2,图2为本实施例提供的一种资源分配方法的流程图,该方法包括以下步骤:

s101:转发单元的同步分配模块接收资源申请请求,资源申请请求携带本转发单元业务的索引信息;转发单元位于交换机的转发层;同步分配模块中存储交换机管理层的管理分配模块定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

s102:同步分配模块根据索引信息和本转发单元的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源,第一资源为未使用的、且符合索引信息的资源;

同步分配模块在分配资源时,需考虑本转发单元的资源分配信息;

第一资源可以满足该业务需求。

s103:将第一资源自主分配给业务使用;

同步分配模块将第一资源暂时自主分配给该业务使用。

可选的,在s103将第一资源自主分配给业务使用之后,该方法还包括:同步分配模块以异步消息的方式将业务的索引信息和第一资源通知管理分配模块,无需等待管理分配模块的应答继续执行。

可选的,在同步分配模块以异步消息的方式将业务的索引信息和第一资源通知管理分配模块之后,该方法还包括:

管理分配模块接收到异步消息,且管理层空闲时,管理分配模块根据业务的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,第二资源为未使用的、且符合索引信息的资源;

释放第一资源,并将第二资源分配给业务使用;

管理分配模块在分配资源时,需考虑所有转发单元的资源分配信息。

可选的,在s103将第一资源自主分配给业务使用之后,该方法还包括:

将第一资源及业务的索引信息发送给转发单元的同步存储模块;

同步存储模块将第一资源及业务的索引信息进行记录并存储;

且同步存储模块中存储交换机管理层的管理存储模块定时同步过来的第二资源分配信息,第二资源分配信息包括各个转发单元的已有业务的索引信息及其对应分配到的资源。

可选的,在s101转发单元的同步分配模块接收资源申请请求之前,还包括:

同步存储模块接收资源申请请求;

根据索引信息,判断自身存储的第二资源分配信息中是否存在第一资源;

若是,则将第一资源返回给业务使用,并以异步消息的方式将该转发单元的该业务的索引信息和对应分配到的第一资源通知管理层的管理存储模块进行记录并存储;

若否,则进入s101转发单元的同步分配模块接收资源申请请求的步骤。

参见图3,图3为本实施例提供的一种资源分配系统的示意图,图3中,管理层包括管理分配模块和管理存储模块,转发层包括多个转发单元,依次编号为转发单元a、转发单元b……转发单元n(n代表一共有n个转发单元),每个转发单元包括同步分配模块、同步存储模块、转发存储模块和业务模块;

参见图4,图4为本实施例提供的另一种资源分配方法的流程图,图4中,该资源分配方法包括以下步骤:

s201:转发单元(此处假设为转发单元a)上的业务模块(此处假设为业务a)根据需要创建的该业务a的索引信息,向转发存储模块发送资源申请请求。

s202:转发存储模块根据业务a的索引信息,判断自身存储的资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s203,若是,则进入s204。

具体的,转发存储模块根据业务a的索引信息,与自身存储的业务索引一一进行比较。

转发存储模块,用于存储由管理层分配的和同步分配模块自主分配的转发资源,即已用于各转发业务的资源。

s203:同步存储模块根据业务a的索引信息,判断自身存储的第二资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s205,若是,则进入s206。

如果在转发存储模块没有查到可用资源,则将资源申请请求交由同步存储模块进行处理;

其中,同步存储模块中存储交换机管理层的管理存储模块定时同步过来的第二资源分配信息,第二资源分配信息包括各个转发单元的已有业务的索引信息及其对应分配到的资源。

管理层的管理存储模块会主动、定时向各个转发单元的同步存储模块同步第二资源分配信息。

s204:将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并把第一资源在本转发单元a内的引用计数加一。

s205:同步分配模块以同步消息的方式把业务a的索引信息发给管理层申请资源并等待应答,进入s207;

s206:同步存储模块将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并发送异步消息告知管理层的管理存储模块,第一资源被转发单元a上的业务a使用了,无需等待管理层的应答消息;管理层空闲时处理同步存储模块发送的异步消息,管理存储模块记录第一资源被转发单元a上的业务a使用了,无需应答异步消息;

s207:同步分配模块判断在同步消息设置的发送接收时间内是否接收到管理层的同步应答消息,若否,则进入s208,若是,则进入s212。

如果在设置的时间内接收到了同步应答消息则说明当前系统不忙,进入s212进行资源分配;如果不能在设置的时间内接收到应答消息则说明当前系统忙,需要发送异步消息申请资源,则进入s208;

s208:同步分配模块根据业务a的索引信息和本转发单元a的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源;

第一资源为未使用的、且符合索引信息的资源;

同步分配模块中存储交换机管理层的管理分配模块定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

管理分配模块侧以bit(比特)位的形式存储已分配的资源和未分配的资源;

管理层的管理分配模块会主动、定时向各个转发单元的同步分配模块同步第一资源分配信息。

s209:同步分配模块将第一资源自主分配给业务a使用,并以异步消息的方式把业务a的检索信息和分配的第一资源发送给管理层,无需等待应答继续执行;

s210:管理层空闲时,管理分配模块处理接收到的异步消息,根据业务a的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,以异步消息应答的方式把第二资源和业务a的索引信息发送给转发单元;并在管理存储模块中记录转发单元a的业务a申请使用了第二资源;

第二资源为未使用的、且符合索引信息的资源;

第一资源分配信息包括已分配的资源和未分配的资源;

s211:转发单元的同步分配模块接收到来自管理层的异步消息,则解析异步消息,释放第一资源并记录第二资源被使用;转发单元的同步存储模块释放第一资源并记录第二资源,并把第二资源返回给业务a替换第一资源。

s212:管理层接收处理来自转发单元a上业务a的同步消息,具体的,管理存储模块根据转发单元a上业务a的索引信息,判断自身存储的第二资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s213,若是,则进入s214。

s213:管理分配模块根据业务a的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,并将第二资源分配给业务a使用;并把第二资源和业务a的检索信息存储在管理存储模块中;并以同步消息应答的方式把第二资源和业务a的索引信息发送给转发单元的同步分配模块;同步分配模块把接收到的同步信息传给转发存储模块,转发存储模块记录接收到的同步信息并把第二资源返回给业务a;

s214:管理存储模块将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并记录第一资源被转发单元a上的业务a使用了;并以同步消息应答的方式把第一资源和业务a的索引信息发送给转发单元的同步分配模块;同步分配模块把接收到的同步信息传给转发存储模块,转发存储模块记录接收到的同步信息并把第一资源返回给业务a。

通过本实施例的实施,管理层把当前所有转发单元的芯片转发资源使用情况同步至各个转发单元,当管理层资源申请请求处理量过大不能及时处理芯片转发资源的同步消息时,各个转发单元可以自行分配使用资源并发送异步消息向管理层申请转发资源,管理层空闲时处理异步消息,分配转发资源,并发送异步应答消息到对应转发单元更新转发单元资源表项;不仅解决了现有技术方案中管理层不能及时处理同步消息导致资源不能正常分配的弊端,也能够大大提高在高密度转发业务中转发资源的分配速度,提高业务的创建、删除及更新效率。

实施例二

本实施例提供一种资源分配系统,参见图3,图3为本实施例提供的一种资源分配系统的示意图,图3中,管理层包括管理分配模块305和管理存储模块306,转发层包括多个转发单元,依次编号为转发单元a、转发单元b……转发单元n(n代表一共有n个转发单元),每个转发单元包括同步分配模块301、同步存储模块302、转发存储模块303和业务模块304;

该资源分配系统包括:

转发单元的同步分配模块301和交换机管理层的管理分配模块305,

转发单元的同步分配模块301,用于接收资源申请请求,资源申请请求携带本转发单元业务的索引信息;转发单元位于交换机的转发层;同步分配模块301中存储管理分配模块305定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

并根据索引信息和本转发单元的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源,第一资源为未使用的、且符合索引信息的资源;

同步分配模块301在分配资源时,需考虑本转发单元的资源分配信息;

第一资源可以满足该业务需求。

将第一资源自主分配给业务使用。

同步分配模块301将第一资源暂时自主分配给该业务使用。

可选的,同步分配模块301还用于在将第一资源自主分配给业务使用之后,以异步消息的方式将业务的索引信息和第一资源通知管理分配模块305。

可选的,管理分配模块305还用于在同步分配模块301以异步消息的方式将业务的索引信息和第一资源通知管理分配模块305之后,且接收到异步消息,以及管理层空闲时,根据业务的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,第二资源为未使用的、且符合索引信息的资源;并将第二资源分配给业务使用;

同步分配模块301还用于释放第一资源。

管理分配模块305在分配资源时,需考虑所有转发单元的资源分配信息。

可选的,该资源分配系统,还包括:转发单元的同步存储模块302和交换机管理层的管理存储模块306,

同步分配模块301还用于在将第一资源自主分配给业务使用之后,将第一资源及业务的索引信息发送给同步存储模块302;

同步存储模块302,用于在接收到第一资源后,将第一资源及业务的索引信息进行记录并存储;

且同步存储模块302还用于存储管理存储模块306定时同步过来的第二资源分配信息,第二资源分配信息包括各个转发单元的已有业务的索引信息及其对应分配到的资源。

可选的,同步存储模块302还用于在转发单元的同步分配模块301接收资源申请请求之前,接收资源申请请求;并根据索引信息,判断自身存储的第二资源分配信息中是否存在第一资源;

若是,则将第一资源返回给业务使用,并以异步消息的方式将该转发单元的该业务的索引信息和对应分配到的第一资源通知管理层的管理存储模块306进行记录并存储;

若否,则进入转发单元的同步分配模块301接收资源申请请求的步骤。

参见图4,图4为采用本实施例提供的资源分配系统来实现资源分配方法的流程图,图4中,该资源分配方法包括以下步骤:

s201:转发单元(此处假设为转发单元a)上的业务模块304(此处假设为业务a)根据需要创建的该业务a的索引信息,向转发存储模块303发送资源申请请求。

s202:转发存储模块303根据业务a的索引信息,判断自身存储的资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s203,若是,则进入s204。

具体的,转发存储模块303根据业务a的索引信息,与自身存储的业务索引一一进行比较。

转发存储模块303,用于存储由管理层分配的和同步分配模块301自主分配的转发资源,即已用于各转发业务的资源。

s203:同步存储模块302根据业务a的索引信息,判断自身存储的第二资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s205,若是,则进入s206。

如果在转发存储模块303没有查到可用资源,则将资源申请请求交由同步存储模块302进行处理;

其中,同步存储模块302中存储交换机管理层的管理存储模块306定时同步过来的第二资源分配信息,第二资源分配信息包括各个转发单元的已有业务的索引信息及其对应分配到的资源。

管理层的管理存储模块306会主动、定时向各个转发单元的同步存储模块302同步第二资源分配信息。

s204:将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并把第一资源在本转发单元a内的引用计数加一。

s205:同步分配模块301以同步消息的方式把业务a的索引信息发给管理层申请资源并等待应答,进入s207;

s206:同步存储模块302将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并发送异步消息告知管理层的管理存储模块306,第一资源被转发单元a上的业务a使用了,无需等待管理层的应答消息;管理层空闲时处理同步存储模块302发送的异步消息,管理存储模块306记录第一资源被转发单元a上的业务a使用了,无需应答异步消息;

s207:同步分配模块301判断在同步消息设置的发送接收时间内是否接收到管理层的同步应答消息,若否,则进入s208,若是,则进入s212。

如果在设置的时间内接收到了同步应答消息则说明当前系统不忙,进入s212进行资源分配;如果不能在设置的时间内接收到应答消息则说明当前系统忙,需要发送异步消息申请资源,则进入s208;

s208:同步分配模块301根据业务a的索引信息和本转发单元a的资源分配信息,从自身存储的第一资源分配信息中查找出第一资源;

第一资源为未使用的、且符合索引信息的资源;

同步分配模块301中存储交换机管理层的管理分配模块305定时同步过来的第一资源分配信息,第一资源分配信息包括已分配的资源和未分配的资源;

管理分配模块305侧以bit(比特)位的形式存储已分配的资源和未分配的资源;

管理层的管理分配模块305会主动、定时向各个转发单元的同步分配模块301同步第一资源分配信息。

s209:同步分配模块301将第一资源自主分配给业务a使用,并以异步消息的方式把业务a的检索信息和分配的第一资源发送给管理层,无需等待应答继续执行;

s210:管理层空闲时,管理分配模块305处理接收到的异步消息,根据业务a的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,以异步消息应答的方式把第二资源和业务a的索引信息发送给转发单元;并在管理存储模块306中记录转发单元a的业务a申请使用了第二资源;

第二资源为未使用的、且符合索引信息的资源;

第一资源分配信息包括已分配的资源和未分配的资源;

s211:转发单元的同步分配模块301接收到来自管理层的异步消息,则解析异步消息,释放第一资源并记录第二资源被使用;转发单元的同步存储模块302释放第一资源并记录第二资源,并把第二资源返回给业务a替换第一资源。

s212:管理层接收处理来自转发单元a上业务a的同步消息,具体的,管理存储模块306根据转发单元a上业务a的索引信息,判断自身存储的第二资源分配信息中是否存在与该业务a的索引信息相同的索引,若否,则进入s213,若是,则进入s214。

s213:管理分配模块305根据业务a的索引信息和每个转发单元的资源分配信息,从自身存储的第一资源分配信息中查询出第二资源,并将第二资源分配给业务a使用;并把第二资源和业务a的检索信息存储在管理存储模块306中;并以同步消息应答的方式把第二资源和业务a的索引信息发送给转发单元的同步分配模块301;同步分配模块301把接收到的同步信息传给转发存储模块303,转发存储模块303记录接收到的同步信息并把第二资源返回给业务a;

s214:管理存储模块306将与该业务a的索引信息相同的索引对应的第一资源分配给业务a使用,并记录第一资源被转发单元a上的业务a使用了;并以同步消息应答的方式把第一资源和业务a的索引信息发送给转发单元的同步分配模块301;同步分配模块301把接收到的同步信息传给转发存储模块303,转发存储模块303记录接收到的同步信息并把第一资源返回给业务a。

通过本实施例的实施,管理层把当前所有转发单元的芯片转发资源使用情况同步至各个转发单元,当管理层资源申请请求处理量过大不能及时处理芯片转发资源的同步消息时,各个转发单元可以自行分配使用资源并发送异步消息向管理层申请转发资源,管理层空闲时处理异步消息,分配转发资源,并发送异步应答消息到对应转发单元更新转发单元资源表项;不仅解决了现有技术方案中管理层不能及时处理同步消息导致资源不能正常分配的弊端,也能够大大提高在高密度转发业务中转发资源的分配速度,提高业务的创建、删除及更新效率。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储介质(rom/ram、磁碟、光盘)中由计算系统来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1