一种在C-RAN中对层1进行加速的方法和装置转让专利

申请号 : CN201810941435.4

文献号 : CN110838990A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王碧

申请人 : 上海诺基亚贝尔股份有限公司

摘要 :

本发明的目的是提供一种在C-RAN中对层1进行加速的方法与设备。与现有技术相比,本发明接收用户所发送的层1加速云任务,将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列,触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果,输出所述执行结果至下一级目标,采用一种统一的方式来加速层1的处理,其对层1处理来说是云化的、灵活的且经济的。

权利要求 :

1.一种在C-RAN中对层1进行加速的方法,其中,该方法包括:接收用户所发送的层1加速云任务;

将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列;

触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果;

输出所述执行结果至下一级目标。

2.根据权利要求1所述的方法,其中,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。

3.根据权利要求1或2所述的方法,其中,所述下一级目标包括以下至少任一项:天线;

天线数据转换器;

射频拉远单元(RRU);

监听所述执行结果的接收器;

所述队列中的至少一个。

4.根据权利要求3所述的方法,其中,所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,所述输出所述执行结果至下一级目标的步骤包括:将所述至少一个新任务分配至所述队列中的至少一个。

5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括:解析所述层1加速云任务所对应的数据包,确定所述优先级设置。

6.根据权利要求1至5中任一项所述的方法,其中,该方法还包括:根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。

7.根据权利要求1至6中任一项所述的方法,其中,该方法还包括:获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。

8.一种在C-RAN中对层1进行加速的加速装置,其中,该加速装置包括:接收装置,用于接收用户所发送的层1加速云任务;

分配装置,用于将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列;

触发装置,用于触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果;

输出装置,用于输出所述执行结果至下一级目标。

9.根据权利要求8所述的加速装置,其中,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。

10.根据权利要求8或9所述的加速装置,其中,所述下一级目标包括以下至少任一项:天线;

天线数据转换器;

射频拉远单元(RRU);

监听所述执行结果的接收器;

所述队列中的至少一个。

11.根据权利要求10所述的加速装置,其中,所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,所述输出装置用于:将所述至少一个新任务分配至所述队列中的至少一个。

12.根据权利要求8至11中任一项所述的加速装置,其中,该加速装置还包括:解析装置,用于解析所述层1加速云任务所对应的数据包,确定所述优先级设置。

13.根据权利要求8至12中任一项所述的加速装置,其中,该加速装置还包括:调整装置,用于根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。

14.根据权利要求8至13中任一项所述的加速装置,其中,该加速装置还包括:判断装置,用于获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。

说明书 :

一种在C-RAN中对层1进行加速的方法和装置

技术领域

[0001] 本发明涉及技术领域,尤其涉及一种用于在C-RAN中对层1进行加速的技术。.背景技术
[0002] 对于C-RAN(Cloud-Radio Access Network,云无线接入网),其目标是将所有的基带处理移至云计算环境中。一部分诸如控制平面(control plane)、管理平面(management plane),是很容易被移至云计算环境的,因为它们对时间的要求不严格,且没有专门的操作。
[0003] 然而,对于层1用户平面(Layer1user plane),如FFT(快速傅里叶变换)/iFFT(快速傅里叶逆变换)等运算,由于其计算量大,在传统的基站中通常利用专用SOC(System On Chip,片上系统)/DSP(数字信号处理器)芯片来进行加速。在诸如X86的通用处理器上,没有对应加速指令,无法有效进行层1用户平面数据运算。
[0004] 在现有的C-RAN中,层1用户平面仍然位于RAP(Radio Access Point,无线接入点)中,其应用DSP芯片来加速层1的处理。然而,RAP专用于指定天线和指定VNF(Virtualized network function,虚拟网络功能),其不能由所有用户进行共享,也不能进行容量伸缩。层1处理并没有被云化。
[0005] 现有技术目前有一些在云环境对层1进行加速的想法,诸如:
[0006] 采用在Xeon CPU中SIMD(Single Instruction Multiple Data,单指令多数据结构)指令来优化代码;
[0007] 采用Xeon Phi的纯软件进行层1计算;
[0008] 采用DSP芯片制作加速板卡(acceleration board)并采用PCIe(Peripheral Component Interface Express,总线和接口标准)接口连接至云服务器。
[0009] 然而,上述这些想法无论在效率方面还是灵活性方面都存在缺陷。

发明内容

[0010] 本发明的目的是提供一种在C-RAN中对层1进行加速的方法与设备。
[0011] 根据本发明的一个方面,提供了一种在C-RAN中对层1进行加速的方法,其中,该方法包括:
[0012] 接收用户所发送的层1加速云任务;
[0013] 将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列;
[0014] 触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果;
[0015] 输出所述执行结果至下一级目标。
[0016] 优选地,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。
[0017] 优选地,所述下一级目标包括以下至少任一项:
[0018] 天线;
[0019] 天线数据转换器;
[0020] 射频拉远单元(RRU);
[0021] 监听所述执行结果的接收器;
[0022] 所述队列中的至少一个。
[0023] 更优选地,所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,所述输出所述执行结果至下一级目标的步骤包括:
[0024] 将所述至少一个新任务分配至所述队列中的至少一个。
[0025] 优选地,该方法还包括:
[0026] 解析所述层1加速云任务所对应的数据包,确定所述优先级设置。
[0027] 优选地,该方法还包括:
[0028] 根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。
[0029] 优选地,该方法还包括:
[0030] 获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。
[0031] 根据本发明的另一方面,还提供了一种在C-RAN中对层1进行加速的加速装置,其中,该加速装置包括:
[0032] 接收装置,用于接收用户所发送的层1加速云任务;
[0033] 分配装置,用于将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列;
[0034] 触发装置,用于触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果;
[0035] 输出装置,用于输出所述执行结果至下一级目标。
[0036] 优选地,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。
[0037] 优选地,所述下一级目标包括以下至少任一项:
[0038] 天线;
[0039] 天线数据转换器;
[0040] 射频拉远单元(RRU);
[0041] 监听所述执行结果的接收器;
[0042] 所述队列中的至少一个。
[0043] 更优选地,所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,所述输出装置用于:
[0044] 将所述至少一个新任务分配至所述队列中的至少一个。
[0045] 优选地,该加速装置还包括:
[0046] 解析装置,用于解析所述层1加速云任务所对应的数据包,确定所述优先级设置。
[0047] 优选地,该加速装置还包括:
[0048] 调整装置,用于根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。
[0049] 优选地,该加速装置还包括:
[0050] 判断装置,用于获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。
[0051] 与现有技术相比,本发明接收用户所发送的层1加速云任务,将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列,触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果,输出所述执行结果至下一级目标,采用一种统一的方式来加速层1的处理,其对层1处理来说是云化的、灵活的且经济的。
[0052] 进一步地,本发明通过将现有的SOC/DSP芯片整合在一起,作为一个异构的云环境,可以建立一个层1处理资源池。
[0053] 对用户来说,其提供了一种统一的无状态的层1处理服务接口,层1处理可以被分为多个小的无状态的作业(job),诸如CRC(Cyclic Redundancy Check,循环冗余码校验)、编码、解码、iFFT(快速傅里叶逆变换)、FFT(快速傅里叶变换)等。
[0054] 对天线数据来说,一些转换器,诸如CPRI(Common Public Radio Interface,通用公共无线接口)转换器等被引入,以将天线数据分配至不同的RRU(Remote Radio Unit,射频拉远设备)

附图说明

[0055] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0056] 图1示出根据本发明一个方面的一种在C-RAN中对层1进行加速的方法流程图;
[0057] 图2示出根据本发明一个优选实施例的一种在C-RAN中对层1进行加速的架构图;
[0058] 图3至6示出根据本发明另一个优选实施例的一种在C-RAN中对层1进行加速的示意图;
[0059] 图7示出根据本发明又一个优选实施例的一种在C-RAN中对层1进行加速的示意图;
[0060] 图8示出根据本发明再一个优选实施例的一种在C-RAN中对层1进行加速的示意图;
[0061] 图9示出根据本发明再一个优选实施例的一种在C-RAN中对层1进行加速的示意图。
[0062] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0063] 下面结合附图对本发明作进一步详细描述。
[0064] 这里所使用的术语“基站”可以被视为与以下各项同义并且在后文中有时可以被称作以下各项:B节点、演进型B节点、eNodeB、eNB、收发器基站(BTS)、RNC等等,并且可以描述在可以跨越多个技术世代的无线通信网络中与移动端通信并且为之提供无线资源的收发器。除了实施这里所讨论的方法的能力之外,这里所讨论的基站可以具有与传统的众所周知的基站相关联的所有功能。
[0065] 后面所讨论的方法可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0066] 这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0067] 应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
[0068] 这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0069] 还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0070] 除非另行定义,否则这里使用的所有术语(包括技术和科学术语)都具有与示例性实施例所属领域内的技术人员通常所理解的相同的含义。还应当理解的是,除非在这里被明确定义,否则例如在通常使用的字典中定义的那些术语应当被解释成具有与其在相关领域的上下文中的含义相一致的含义,而不应按照理想化的或者过于正式的意义来解释。
[0071] 图1示出根据本发明一个方面的一种在C-RAN中对层1进行加速的方法流程图。
[0072] 该方法包括步骤S101、S102、S103和S104。
[0073] 在步骤S101中,加速装置1接收用户所发送的层1加速云任务。
[0074] 具体地,用户例如通过图2所示的作业入口,发送该层1加速云任务,在此,该图2示出了根据本发明一个优选实施例的一种在C-RAN中对层1进行加速的架构图。在该架构中,包括一个作业入口,N个队列以及与该N个队列对应的N个工作器,此外,工作器的输出可以至天线、天线数据转换器、接收器或仍旧重新回到队列中。
[0075] 在步骤S101中,加速装置1通过约定的通信方式,接收该用户所发送的层1加速云任务。该层1加速云任务可以是一个简单的作业,如附着(attaching)CRC(Cyclic Redundancy Check,循环冗余码校验),也可以是一个大型的作业,如包括从附着CRC到OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)信号生成的全部处理。该层1加速云任务还可以包括编码、解码、iFFT(快速傅里叶逆变换)、FFT(快速傅里叶变换)等作业。该层1加速云任务例如可以是来自层2的执行结果、数据包等。
[0076] 本领域技术人员应能理解,上述层1加速云任务仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的层1加速云任务,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0077] 在步骤S102中,加速装置1将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列。
[0078] 具体地,加速装置1将接收自用户的层1加速云任务拆分成至少一个子任务,例如,将该层1加速云任务拆分成多个小的无状态的作业(job),诸如拆分成CRC(Cyclic Redundancy Check,循环冗余码校验)、编码、解码、iFFT(快速傅里叶逆变换)、FFT(快速傅里叶变换)等子任务。
[0079] 在此,无状态是指没有前后顺序的依赖,不依赖于用户是否建立上下文,层1运算可以和用户无关,而只与编码、资源映射和该层1加速云任务中的描述有关。
[0080] 随后,加速装置1再根据优先级设置,将该至少一个子任务分配至不同的队列。例如,假设加速装置1接收自作业入口的层1加速云任务共被拆分成了6个子任务,加速装置1根据优先级设置,将该6个子任务分配至6个不同的队列,或者,也可以根据优先级设置,将该6个子任务分配至4个不同的队列,其中2个队列分别有2个子任务。在此,一个队列可以分配多个子任务,也可以只有一个子任务。
[0081] 在此,加速装置1将优先级高的子任务分配给优先级高的队列,或将优先级高的子任务分配给所对应的工作器性能高的队列,或将该优先级高的子任务分配给所对应的工作器数量较多的队列,或者,将该优先级高的子任务进行全映射。
[0082] 本领域技术人员应能理解,上述所拆分成的子任务以及分配的方式仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的子任务以及分配的方式,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0083] 优选地,该方法还包括步骤S105(未示出)。在步骤S105中,加速装置1解析所述层1加速云任务所对应的数据包,确定所述优先级设置。随后,在步骤S102中,加速装置1再根据在该步骤S105中确定的优先级设置,将该至少一个子任务分配至不同的队列。
[0084] 具体地,在步骤S105中,加速装置1解析层1加速云任务所对应的数据包,在该数据包的描述文件中定义了该层1加速云任务的优先级设置,加速装置1通过解析该数据包来确定该层1加速云任务对应的各个子任务的优先级,即,确定哪些子任务分配给哪些队列。
[0085] 例如,该层1加速云任务包括来自层2的作为执行结果的数据包,在步骤S105中,加速装置1解析该层1加速云任务对应的数据包,通过该数据包的描述文件,获得有关优先级的设置信息。
[0086] 例如,假设在步骤S101中,加速装置1自作业入口接收了层1加速云任务,该层1加速云任务例如包含了6个子任务;在步骤S105中,加速装置1解析该层1加速云任务对应的数据包,确定了有关优先级设置,例如,该优先级设置表示该层1加速云任务所包含的6个子任务的优先级一致,并没有高低之分;则在步骤S102中,加速装置1将该层1加速云任务拆分成6个子任务,再根据优先级设置,将该6个子任务分配至6个不同的队列,该6个不同的队列可以是优先级一致的。
[0087] 在步骤S103中,加速装置1触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果。
[0088] 具体地,在步骤S103中,加速装置1触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,例如,工作器1的工作配置为从队列1、2和3中获取任务,则在步骤S103中,加速装置1触发该工作器1根据该工作配置,从队列1、2和3中获取对应的子任务并执行,获得执行结果。在此,一个工作器可以被配置来从一个或多个队列中获取任务。
[0089] 该各个队列可以是对应不同优先级的,例如,上述队列1、2和3的优先级依次从高到低排列,则该工作器1也可以被配置为根据优先级的高低,依次从该队列1、2和3中获取对应的子任务。
[0090] 优选地,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。
[0091] 在此,通过将现有的SOC和/或DSP芯片整合在一起,作为一个异构的云环境,可以建立一个层1处理资源池,从用户层面来看,并不需要区分这些SOC或DSP芯片,而仅将这些硬件看作是一个个工作器即可,在步骤S103中,加速装置1触发这些工作器中的至少一个,根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果。
[0092] 在步骤S104中,加速装置1输出所述执行结果至下一级目标。
[0093] 具体地,在步骤S104中,加速装置1输出执行结果至下一级目标,或者,触发上述各个工作器将其执行结果输出至下一级目标,例如,将工作器的输出结果输出至天线或天线数据转换器,如图2中的工作器1和2所示,其将执行结果输出至天线数据转换器,再由天线数据转换器输出至天线;或者,将工作器的输出结果输出至监听执行结果的接收器,如图2中的工作器N所示,其可以将执行结果输出至天线,也可以将执行结果输出至接收器。
[0094] 优选地,所述下一级目标包括以下至少任一项:
[0095] 天线;
[0096] 天线数据转换器;
[0097] 射频拉远单元(RRU);
[0098] 监听所述执行结果的接收器;
[0099] 所述队列中的至少一个。
[0100] 本领域技术人员应能理解,上述下一级目标仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的下一级目标,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0101] 图3至6示出根据本发明另一个优选实施例的一种在C-RAN中对层1进行加速的示意图。
[0102] 在图3中,用户发送的层1加速云任务包括6个子任务。
[0103] 在图4中,该层1加速云任务被拆分成了6个子任务,其中,子任务1和2被分配给了队列1,子任务3被分配给了队列2,子任务4被分配给了队列3,子任务5和6被分配给了队列N。
[0104] 在图5中,工作器1根据工作配置,自队列1中获取子任务1并执行;工作器2根据工作配置,自队列2中获取子任务3并执行,工作器N自队列N中获取子任务5并执行。
[0105] 在图6中,工作器1将执行子任务1所获得的执行结果1经由天线数据转换器输出至一个天线,该工作器1继续从队列1中获得子任务2并执行;工作器2将执行子任务3所获得的执行结果3经由天线数据转换器输出至另一个天线,该工作器2继续从队列3中获得子任务4并执行;工作器N将执行子任务5所获得的执行结果5输出至另一个天线,该工作器N继续从队列N中获得子任务6并执行。
[0106] 优选地,当所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,在步骤S104中,加速装置1将所述至少一个新任务分配至所述队列中的至少一个。
[0107] 具体地,在步骤S103中,工作器从队列中获取对应的子任务并执行,所获得的执行结果可以是又生成了至少一个新任务;在步骤S104中,加速装置1将该至少一个新任务分配至队列中的至少一个,并由工作器中的至少一个再从该队列中获取该新任务并执行。
[0108] 例如,如图7所示,工作器1从队列1中获取子任务2并执行,所获得的执行结果是一个新任务2’,该新任务2’又被分配至队列1,后续可继续由其中一个工作器获取该新任务2’并执行,当然,该新任务2’也可以被分配至其他队列,例如,也可以被分配至队列2;而其他工作器,如工作器2,从队列3中获取子任务4并执行,将执行结果4经由天线数据转换器输出至一个天线;工作器N从队列N获取子任务6并执行,将执行结果6输出至监听执行结果的接收器。
[0109] 优选地,该方法还包括步骤S106(未示出)。在步骤S106中,加速装置1根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。
[0110] 具体地,在步骤S106中,加速装置1可以获知各个队列中子任务的分配情况,以及各个工作器的负载情况,例如,获知各个队列中都被分配到了多少子任务,各个队列的优先级,各个工作器根据工作配置都要去哪些队列中获取子任务并执行等情况,加速装置1根据这些队列中子任务的分配情况,再结合各个工作器的负载情况,来调整各个工作器对队列的执行支持,例如,当某个队列中被分配到了多个子任务,而某个工作器处于空闲状态时,加速装置1可以触发该工作器去获取该队列中的子任务并执行,从而缓解其他工作器的负载压力,使得各个工作器负载均衡。
[0111] 例如,如图8所示,所有的子任务1至6都被分配至了队列2,而根据各个工作器的负载情况,工作器1和2被配置为从该队列2中获取子任务并执行。
[0112] 优选地,该方法还包括步骤S107(未示出)。在步骤S107中,加速装置1获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。
[0113] 具体地,在步骤S107中,加速装置1可以获取各个工作器的负载情况,若其中某个工作器的负载低于预定阈值,则加速装置1可以休眠或关闭该工作器。在此,该预定阈值可以是系统预置的,用来判断工作器的负载情况,也可以根据实际情况进行调整。
[0114] 例如,如图9所示,当工作器N的负载低于预定阈值,休眠或关闭该工作器N。
[0115] 根据本发明的另一方面,还提供了一种在C-RAN中对层1进行加速的加速装置。其中,该加速装置1包括接收装置201(未示出),用于接收用户所发送的层1加速云任务;分配装置202(未示出),用于将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列;触发装置203(未示出),用于触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果;输出装置204(未示出),用于输出所述执行结果至下一级目标。
[0116] 其中,接收装置201接收用户所发送的层1加速云任务。
[0117] 具体地,用户例如通过图2所示的作业入口,发送该层1加速云任务,在此,该图2示出了根据本发明一个优选实施例的一种在C-RAN中对层1进行加速的架构图。在该架构中,包括一个作业入口,N个队列以及与该N个队列对应的N个工作器,此外,工作器的输出可以至天线、天线数据转换器、接收器或仍旧重新回到队列中。
[0118] 接收装置201通过约定的通信方式,接收该用户所发送的层1加速云任务。该层1加速云任务可以是一个简单的作业,如附着(attaching)CRC(Cyclic Redundancy Check,循环冗余码校验),也可以是一个大型的作业,如包括从附着CRC到OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)信号生成的全部处理。该层1加速云任务还可以包括编码、解码、iFFT(快速傅里叶逆变换)、FFT(快速傅里叶变换)等作业。该层1加速云任务例如可以是来自层2的执行结果、数据包等。
[0119] 本领域技术人员应能理解,上述层1加速云任务仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的层1加速云任务,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0120] 分配装置202将所述层1加速云任务拆分为至少一个子任务,并根据优先级设置,将所述至少一个子任务分配至不同的队列。
[0121] 具体地,分配装置202将接收自用户的层1加速云任务拆分成至少一个子任务,例如,将该层1加速云任务拆分成多个小的无状态的作业(job),诸如拆分成CRC(Cyclic Redundancy Check,循环冗余码校验)、编码、解码、iFFT(快速傅里叶逆变换)、FFT(快速傅里叶变换)等子任务。
[0122] 在此,无状态是指没有前后顺序的依赖,不依赖于用户是否建立上下文,层1运算可以和用户无关,而只与编码、资源映射和该层1加速云任务中的描述有关。
[0123] 随后,分配装置202再根据优先级设置,将该至少一个子任务分配至不同的队列。例如,假设接收装置201接收自作业入口的层1加速云任务共被拆分成了6个子任务,分配装置202根据优先级设置,将该6个子任务分配至6个不同的队列,或者,也可以根据优先级设置,将该6个子任务分配至4个不同的队列,其中2个队列分别有2个子任务。在此,一个队列可以分配多个子任务,也可以只有一个子任务。
[0124] 在此,分配装置202将优先级高的子任务分配给优先级高的队列,或将优先级高的子任务分配给所对应的工作器性能高的队列,或将该优先级高的子任务分配给所对应的工作器数量较多的队列,或者,将该优先级高的子任务进行全映射。
[0125] 本领域技术人员应能理解,上述所拆分成的子任务以及分配的方式仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的子任务以及分配的方式,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0126] 优选地,该加速装置1还包括解析装置205(未示出)。解析装置205解析所述层1加速云任务所对应的数据包,确定所述优先级设置。随后,分配装置202再根据该解析装置205确定的优先级设置,将该至少一个子任务分配至不同的队列。
[0127] 具体地,解析装置205解析层1加速云任务所对应的数据包,在该数据包的描述文件中定义了该层1加速云任务的优先级设置,解析装置205通过解析该数据包来确定该层1加速云任务对应的各个子任务的优先级,即,确定哪些子任务分配给哪些队列。
[0128] 例如,该层1加速云任务包括来自层2的作为执行结果的数据包,解析装置205解析该层1加速云任务对应的数据包,通过该数据包的描述文件,获得有关优先级的设置信息。
[0129] 例如,假设接收装置201自作业入口接收了层1加速云任务,该层1加速云任务例如包含了6个子任务;解析装置205解析该层1加速云任务对应的数据包,确定了有关优先级设置,例如,该优先级设置表示该层1加速云任务所包含的6个子任务的优先级一致,并没有高低之分;则分配装置202将该层1加速云任务拆分成6个子任务,再根据优先级设置,将该6个子任务分配至6个不同的队列,该6个不同的队列可以是优先级一致的。
[0130] 触发装置203触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果。
[0131] 具体地,触发装置203触发至少一个工作器根据工作配置,自至少一个队列中获取对应的子任务并执行,例如,工作器1的工作配置为从队列1、2和3中获取任务,则触发装置203触发该工作器1根据该工作配置,从队列1、2和3中获取对应的子任务并执行,获得执行结果。在此,一个工作器可以被配置来从一个或多个队列中获取任务。
[0132] 该各个队列可以是对应不同优先级的,例如,上述队列1、2和3的优先级依次从高到低排列,则该工作器1也可以被配置为根据优先级的高低,依次从该队列1、2和3中获取对应的子任务。
[0133] 优选地,所述至少一个工作器通过整合片上系统(SOC)和/或数字信号处理器(DSP)芯片所获得。
[0134] 在此,通过将现有的SOC和/或DSP芯片整合在一起,作为一个异构的云环境,可以建立一个层1处理资源池,从用户层面来看,并不需要区分这些SOC或DSP芯片,而仅将这些硬件看作是一个个工作器即可,触发装置203触发这些工作器中的至少一个,根据工作配置,自至少一个队列中获取对应的子任务并执行,获得执行结果。
[0135] 输出装置204输出所述执行结果至下一级目标。
[0136] 具体地,输出装置204输出执行结果至下一级目标,或者,触发上述各个工作器将其执行结果输出至下一级目标,例如,将工作器的输出结果输出至天线或天线数据转换器,如图2中的工作器1和2所示,其将执行结果输出至天线数据转换器,再由天线数据转换器输出至天线;或者,将工作器的输出结果输出至监听执行结果的接收器,如图2中的工作器N所示,其可以将执行结果输出至天线,也可以将执行结果输出至接收器。
[0137] 优选地,所述下一级目标包括以下至少任一项:
[0138] 天线;
[0139] 天线数据转换器;
[0140] 射频拉远单元(RRU);
[0141] 监听所述执行结果的接收器;
[0142] 所述队列中的至少一个。
[0143] 本领域技术人员应能理解,上述下一级目标仅为举例说明,而并不对本发明造成实际限制,其他现有或今后可能出现的下一级目标,如可适用于本发明,也应包含在本发明保护范围以内,并通过引用的方式包含于此。
[0144] 图3至6示出根据本发明另一个优选实施例的一种在C-RAN中对层1进行加速的示意图。
[0145] 在图3中,用户发送的层1加速云任务包括6个子任务。
[0146] 在图4中,该层1加速云任务被拆分成了6个子任务,其中,子任务1和2被分配给了队列1,子任务3被分配给了队列2,子任务4被分配给了队列3,子任务5和6被分配给了队列N。
[0147] 在图5中,工作器1根据工作配置,自队列1中获取子任务1并执行;工作器2根据工作配置,自队列2中获取子任务3并执行,工作器N自队列N中获取子任务5并执行。
[0148] 在图6中,工作器1将执行子任务1所获得的执行结果1经由天线数据转换器输出至一个天线,该工作器1继续从队列1中获得子任务2并执行;工作器2将执行子任务3所获得的执行结果3经由天线数据转换器输出至另一个天线,该工作器2继续从队列3中获得子任务4并执行;工作器N将执行子任务5所获得的执行结果5输出至另一个天线,该工作器N继续从队列N中获得子任务6并执行。
[0149] 优选地,当所述下一级目标包括所述队列中的至少一个,则所获得执行结果包括生成至少一个新任务,输出装置204将所述至少一个新任务分配至所述队列中的至少一个。
[0150] 具体地,触发装置203触发工作器从队列中获取对应的子任务并执行,所获得的执行结果可以是又生成了至少一个新任务;输出装置204将该至少一个新任务分配至队列中的至少一个,并由工作器中的至少一个再从该队列中获取该新任务并执行。
[0151] 例如,如图7所示,工作器1从队列1中获取子任务2并执行,所获得的执行结果是一个新任务2’,该新任务2’又被分配至队列1,后续可继续由其中一个工作器获取该新任务2’并执行,当然,该新任务2’也可以被分配至其他队列,例如,也可以被分配至队列2;而其他工作器,如工作器2,从队列3中获取子任务4并执行,将执行结果4经由天线数据转换器输出至一个天线;工作器N从队列N获取子任务6并执行,将执行结果6输出至监听执行结果的接收器。
[0152] 优选地,该加速装置1还包括调整装置206(未示出)。调整装置206根据所述队列中子任务的分配情况,并结合所述至少一个工作器的负载情况,调整所述至少一个工作器对所述队列的执行支持。
[0153] 具体地,调整装置206可以获知各个队列中子任务的分配情况,以及各个工作器的负载情况,例如,获知各个队列中都被分配到了多少子任务,各个队列的优先级,各个工作器根据工作配置都要去哪些队列中获取子任务并执行等情况,调整装置206根据这些队列中子任务的分配情况,再结合各个工作器的负载情况,来调整各个工作器对队列的执行支持,例如,当某个队列中被分配到了多个子任务,而某个工作器处于空闲状态时,调整装置206可以触发该工作器去获取该队列中的子任务并执行,从而缓解其他工作器的负载压力,使得各个工作器负载均衡。
[0154] 例如,如图8所示,所有的子任务1至6都被分配至了队列2,而根据各个工作器的负载情况,工作器1和2被配置为从该队列2中获取子任务并执行。
[0155] 优选地,该加速装置1还包括判断装置207(未示出)。判断装置207获取所述至少一个工作器的负载情况,若所述工作器的负载低于预定阈值,休眠或关闭所述工作器。
[0156] 具体地,判断装置207可以获取各个工作器的负载情况,若其中某个工作器的负载低于预定阈值,则判断装置207可以休眠或关闭该工作器。在此,该预定阈值可以是系统预置的,用来判断工作器的负载情况,也可以根据实际情况进行调整。
[0157] 例如,如图9所示,当工作器N的负载低于预定阈值,休眠或关闭该工作器N。
[0158] 需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0159] 另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
[0160] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。