CN111314404B - FlexE-based data processing method, device, equipment and storage medium - Google Patents
FlexE-based data processing method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN111314404B CN111314404B CN201811521179.XA CN201811521179A CN111314404B CN 111314404 B CN111314404 B CN 111314404B CN 201811521179 A CN201811521179 A CN 201811521179A CN 111314404 B CN111314404 B CN 111314404B
- Authority
- CN
- China
- Prior art keywords
- service data
- group
- data processing
- data
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 156
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000001186 cumulative effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域technical field
本申请实施例涉及数据通信领域,涉及但不限于一种基于FlexE(Flex Ethernet,灵活以太网技术)的数据处理的方法及装置、设备及存储介质。The embodiments of the present application relate to the field of data communication, and relate to, but are not limited to, a method and apparatus, device, and storage medium for data processing based on FlexE (Flex Ethernet, flexible Ethernet technology).
背景技术Background technique
随着互联网技术的快速发展,特别是以“用户体验为中心”的5G时代的到来,多样化的场景对设备提出了超大带宽、灵活调度等差异化需求。如何在同一设备上实现不同业务的差异化以及如何提供可平滑升级、有成本竞争力的带宽提升方案成为5G的关键需求之一。With the rapid development of Internet technology, especially the arrival of the 5G era with "user experience as the center", diversified scenarios have put forward differentiated requirements for devices such as ultra-large bandwidth and flexible scheduling. How to realize the differentiation of different services on the same device and how to provide a smooth upgradeable and cost-competitive bandwidth enhancement solution has become one of the key requirements of 5G.
FlexE是承载网实现业务隔离承载和网络分片的一种接口技术,近两年发展迅速,被各大标准组织广泛接纳。回顾以太网的发展历程,第一代以太网Native Ethernet(本地以太网)诞生于1980年,广泛应用于园区、企业以及数据中心的互联。第二代以太网CarrierEthernet(电信级以太网)从2000年开始发展一直沿用到现在,主要面向运营商网络,广泛应用于电信级城域网、3G/4G移动承载网、专线接入等。随着5G时代的到来,云服务、AR/VR、车联网等新业务涌现,以太网技术进一步发展为第三代以太网,第三代以太网称为FlexEthernet(简称FlexE)。FlexE is an interface technology that implements service isolation and network slicing on the bearer network. It has developed rapidly in the past two years and has been widely accepted by major standards organizations. Looking back at the development of Ethernet, the first generation of Ethernet Native Ethernet (local Ethernet) was born in 1980 and is widely used in the interconnection of campuses, enterprises and data centers. The second-generation Ethernet CarrierEthernet (Carrier Ethernet) has been developed since 2000 and has been used until now. It is mainly for operator networks and is widely used in carrier-class metropolitan area networks, 3G/4G mobile bearer networks, and dedicated line access. With the advent of the 5G era, new services such as cloud services, AR/VR, and Internet of Vehicles have emerged, and Ethernet technology has been further developed into the third-generation Ethernet, which is called FlexEthernet (FlexE for short).
为了适用于更多的应用场景,传统的共享缓存的方式已经不能满足新型的FlexE技术的需求,因此需要设计一种新的基于FlexE的弹性管道以应对FlexE技术的需求。In order to be suitable for more application scenarios, the traditional shared cache method can no longer meet the needs of the new FlexE technology, so it is necessary to design a new FlexE-based elastic pipeline to meet the needs of the FlexE technology.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种基于FlexE的数据处理方法及装置、设备、存储介质。In view of this, the embodiments of the present application provide a FlexE-based data processing method, apparatus, device, and storage medium to solve at least one problem existing in the prior art.
本申请实施例提供一种基于FlexE的数据处理方法,所述方法包括:An embodiment of the present application provides a FlexE-based data processing method, the method comprising:
数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;The data processing device determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
数据处理装置根据所述每组业务数据的时隙数,确定当前时钟周期起下M时钟周期要调度的指定组业务数据的标识;其中,M为大于等于1的正整数;The data processing device determines, according to the time slot number of each group of service data, the identifier of the specified group of service data to be scheduled under M clock cycles from the current clock cycle; wherein, M is a positive integer greater than or equal to 1;
数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;The data processing device reads the specified group of service data according to the identifier of the specified service data;
数据处理装置将所述指定业务数据调度至FlexE日历。The data processing device schedules the specified business data to the FlexE calendar.
本申请实施例还提供一种基于FlexE的数据处理装置,所述装置包括:Embodiments of the present application further provide a FlexE-based data processing device, the device comprising:
第一确定单元,配置为确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;a first determining unit, configured to determine the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
第二确定单元,配置为根据所述每组业务数据的时隙数,确定当前时钟周期起下M时钟周期要调度的指定组业务数据的标识;其中,M为大于等于1的正整数;The second determining unit is configured to, according to the time slot number of each group of service data, determine the identifier of the specified group of service data to be scheduled in M clock cycles from the current clock cycle; wherein, M is a positive integer greater than or equal to 1;
读取单元,配置为根据所述指定业务数据的标识,读取所述指定组业务数据;a reading unit, configured to read the specified group of service data according to the identifier of the specified service data;
调度单元,配置为将所述指定业务数据调度至FlexE日历。A scheduling unit, configured to schedule the specified service data to the FlexE calendar.
本申请实施例还提供一种基于FlexE的数据处理设备,该设备包括:存储器、处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据处理方法。An embodiment of the present application further provides a FlexE-based data processing device, the device includes: a memory and a processor, where the memory stores a computer program that can be run on the processor, and the processor implements the computer program when executing the computer program The above data processing method.
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述数据处理方法。Embodiments of the present application further provide a computer-readable storage medium, where computer-executable instructions are stored in the computer-readable storage medium, and the computer-executable instructions are configured to execute the above data processing method.
本申请实施例的技术方案,提供了一种基于FlexE的弹性管道,能够灵活处理客户业务数据的调度,实现适应于FlexE的共享缓存的方案。避免因业务数量的提升导致缓存资源需求的成倍提升,合理利用缓存资源,实现有成本竞争力的带宽提升。The technical solutions of the embodiments of the present application provide an elastic pipeline based on FlexE, which can flexibly handle the scheduling of customer service data, and implement a shared cache solution suitable for FlexE. Avoid the doubled increase in the demand for cache resources due to the increase in the number of services, and make rational use of cache resources to achieve cost-competitive bandwidth improvement.
附图说明Description of drawings
图1为本申请实施例的FlexE进行客户业务数据的封装映射的原理示意图;FIG. 1 is a schematic diagram of the principle of encapsulation and mapping of customer service data performed by FlexE according to an embodiment of the application;
图2A为本申请实施例的基于FlexE的数据处理装置的结构原理示意图;2A is a schematic structural principle diagram of a FlexE-based data processing apparatus according to an embodiment of the present application;
图2B为本申请实施例的一种基于FlexE的数据处理方法的流程示意图;2B is a schematic flowchart of a FlexE-based data processing method according to an embodiment of the present application;
图3A为本申请实施例的一种弹性管道的结构原理示意图;3A is a schematic diagram of the structural principle of an elastic conduit according to an embodiment of the application;
图3B为本申请实施例弹性管道的时隙预测模块的结构原理示意图;3B is a schematic structural principle diagram of a time slot prediction module of an elastic pipeline according to an embodiment of the present application;
图4为本申请实施例的一种基于FlexE的数据处理装置的组成结构示意图;FIG. 4 is a schematic diagram of the composition and structure of a FlexE-based data processing apparatus according to an embodiment of the present application;
图5为本申请实施例的一种基于FlexE的数据处理设备的硬件实体示意图。FIG. 5 is a schematic diagram of a hardware entity of a FlexE-based data processing device according to an embodiment of the present application.
具体实施方式Detailed ways
FlexE是一种新的客户端接口,它是在MAC(Media Access Control,介质访问控制)与PCS(Physical coding sublayer,物理编码子层)之间的一种介质,实现业务和物理接口带宽之间的解耦。FlexE标准最早起源于接口物理层标准,因其具有带宽灵活可调、数据隔离、完美契合5G业务等特点,受到全球主流运营商、供应商的认可。FlexE is a new client interface, which is a medium between MAC (Media Access Control, media access control) and PCS (Physical coding sublayer, physical coding sublayer), realizes business and physical interface bandwidth. decoupling. The FlexE standard originated from the interface physical layer standard. It has the characteristics of flexible and adjustable bandwidth, data isolation, and perfect fit for 5G services. It is recognized by mainstream operators and suppliers around the world.
FlexE技术通过对以太网轻量级增强,在以太网的MAC层与PHY(Port PhysicalLayer,物理端口层)层之间的中间层增加FlexE Shim层(FlexE夹层),Flex Shim层基于时分复用分发机制,将多个Client(客户业务)接口的数据按照时隙方式调度并分发至多个不同的子通道。以100G(100Gbps)管道为例,通过FlexE Shim可以划分为20个5G速率的子通道,每个Client侧接口可指定使用某一个或多个子通道,实现业务隔离。FlexE technology adds FlexE Shim layer (FlexE mezzanine) to the middle layer between the MAC layer and PHY (Port Physical Layer, physical port layer) layer of Ethernet through lightweight enhancement of Ethernet. The Flex Shim layer is distributed based on time division multiplexing. A mechanism to schedule and distribute the data of multiple Client (customer service) interfaces to multiple different sub-channels in a time-slot manner. Taking a 100G (100Gbps) pipeline as an example, the FlexE shim can be divided into 20 sub-channels of 5G rate, and each client-side interface can be designated to use one or more sub-channels to achieve service isolation.
FlexE能够实现大端口的捆绑功能,有效地解决之前网络带宽升级面临的问题。比如接入层50G带宽能够满足5G初期的业务发展需求,随着5G的深入发展,接入层需升级至100G,通过FlexE绑定功能,只需再扩容一个50G端口,就能将接入层升级至100G,不用进行大量的业务调整和割接工作,也能保护前期的投资。FlexE can realize the bundling function of large ports, effectively solving the problems faced by previous network bandwidth upgrades. For example, the 50G bandwidth of the access layer can meet the business development needs in the early stage of 5G. With the further development of 5G, the access layer needs to be upgraded to 100G. Through the FlexE binding function, only one 50G port needs to be expanded to convert the access layer to 100G. Upgrading to 100G does not require a lot of business adjustment and cutover work, and can also protect the initial investment.
FlexE分片是基于时隙调度将一个物理以太网端口划分为多个以太网弹性硬管道,使得网络既具备类似于TDM(Time Division Multiplex,时分复用)独占时隙、隔离性好的特性,又具备以太网统计复用、网络效率高的双重特点,实现同一分片内业务统计复用,分片之间业务互不影响,相对于通过VPN(Virtual Private Network)实现的分片隔离性更好,为5G网络分片提供了更多选择。FlexE slicing divides a physical Ethernet port into multiple Ethernet flexible hard pipes based on time slot scheduling, so that the network has the characteristics of exclusive time slot and good isolation similar to TDM (Time Division Multiplex). It also has the dual characteristics of Ethernet statistical multiplexing and high network efficiency. It realizes statistical multiplexing of services within the same fragment, and services between fragments do not affect each other. Compared with the fragment isolation achieved by VPN (Virtual Private Network), it is more isolated. Well, more options for 5G network sharding.
FlexE技术通过使用FlexE Calendar(FlexE日历)来完成客户业务数据的封装映射处理,如图1所示,每个客户业务FIFO(First Input First Output,先进先出)队列1至N需要并行将66b切片数据块映射到日历模块11中,每个FlexE Calendar slot(时隙)支持的粒度为5Gbps,支持的客户业务数量为N,数量位宽为M×66b,M为1个时钟周期日历模块11调度的时隙数。这里的66b切片数据块是指利用66b编码技术编码得到的切片数据块,由66bit的数据位来传输。FlexE technology completes the encapsulation and mapping processing of customer business data by using FlexE Calendar (FlexE Calendar). As shown in Figure 1, each customer business FIFO (First Input First Output, first-in first-out) queue 1 to N needs to slice 66b in parallel The data block is mapped to the calendar module 11. The granularity supported by each FlexE Calendar slot (time slot) is 5Gbps, the number of supported customer services is N, the number bit width is M×66b, and M is one clock cycle. The calendar module 11 schedules number of time slots. The 66b slice data block here refers to the slice data block obtained by encoding using the 66b encoding technology, which is transmitted by 66 bits of data bits.
在上述情况下,为了适用于所有的应用场景,每个客户业务(Client)均需支持最大Client需求的带宽,FlexE Client封装映射处理部分的缓存资源与Client数量乘以单Client支持的最大带宽成正比,针对Client数量多、单Client带宽支持不一致的场景,仍需要保证有以最大的单Client需求带宽为准。如此,Client数量的提升会导致缓存资源成倍提成,缓存资源成为了Client数量提升的限制,无法实现有成本竞争力的带宽提升方案。由于FlexE Calendar每个周期需要调度M个时隙,最多可以对应M个Client,而传统的共享缓存的方式一个周期只能处理一个Client,也无法实现FlexE的特殊需求。基于上述问题,本申请实施例提供一种基于FlexE的数据处理方法及装置,实现基于时隙预测机制的灵活的Client弹性管道共享的方法。In the above case, in order to apply to all application scenarios, each client service (Client) needs to support the bandwidth required by the maximum client. The cache resources of the FlexE Client encapsulation and mapping processing part are calculated by multiplying the number of clients by the maximum bandwidth supported by a single client. Proportionally, for scenarios where the number of clients is large and the bandwidth support of a single client is inconsistent, it is still necessary to ensure that the maximum bandwidth required by a single client prevails. In this way, the increase in the number of Clients will lead to the double commission of the cache resources, and the cache resources become the limit of the increase in the number of Clients, and a cost-competitive bandwidth improvement solution cannot be realized. Since FlexE Calendar needs to schedule M time slots in each cycle, it can correspond to M clients at most, while the traditional shared cache method can only process one Client per cycle, and cannot meet the special requirements of FlexE. Based on the above problems, the embodiments of the present application provide a FlexE-based data processing method and device, to implement a flexible Client elastic pipe sharing method based on a time slot prediction mechanism.
下面结合实施例来进行说明:Describe below in conjunction with embodiment:
本申请实施例提供一种基于FlexE的数据处理方法,如图2A所示,本申请实施例中的Client弹性管道200包括FlexE的日历模块23和本实施例中的数据处理装置22。Client弹性管道200位于MAC层21与物理层24之间,其中,数据处理装置22位于MAC层21与日立模块23之间。数据处理装置22用于确定MAC层21处理后的每组业务数据中的指定组业务数据,并将指定组业务数据调度至FlexE的日历模块23的日历时隙,FlexE的日历模块23再将业务数据映射至物理层24。This embodiment of the present application provides a FlexE-based data processing method. As shown in FIG. 2A , the Client
如图2B所示,本实施例所述的方法包括:As shown in FIG. 2B , the method described in this embodiment includes:
步骤S101、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S101, the data processing device determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
这里,一个Client对应一组业务数据,每组业务数据在每个时钟周期所对应的时隙数是固定的,即,在每个时钟周期,每个Client业务所要处理的数据由业务本身的数据量来决定。数据处理装置要对下一时钟周期要调度哪一组业务数据进行预测,就要先确定当前时钟周期起的n个时钟周期每组业务数据所对应的时隙数。这里的当前时钟周期是当前数据处理装置正在准备进行数据调度的一个时钟周期,当前时钟周期起n个时钟周期是指从当前时钟周期起向后数的n个时钟周期,也就是未来要处理的n个时钟周期。比如,当n等于3时,则确定当前时钟周期、下一时钟周期和下下时钟周期每组业务数据所对应的时隙数。Here, one Client corresponds to a set of service data, and the number of time slots corresponding to each set of service data in each clock cycle is fixed, that is, in each clock cycle, the data to be processed by each Client service is determined by the data of the service itself. quantity to decide. In order to predict which set of service data to schedule in the next clock cycle, the data processing device must first determine the number of time slots corresponding to each set of service data in n clock cycles from the current clock cycle. The current clock cycle here is a clock cycle in which the current data processing device is preparing to perform data scheduling, and n clock cycles from the current clock cycle refer to n clock cycles counted backward from the current clock cycle, that is, the data to be processed in the future n clock cycles. For example, when n is equal to 3, the number of time slots corresponding to each group of service data in the current clock cycle, the next clock cycle, and the next clock cycle is determined.
步骤S102、数据处理装置根据所述每组业务数据的时隙数,确定当前时钟周期起下M时钟周期要调度的指定组业务数据的标识;其中,M为大于等于1的正整数;Step S102, the data processing device determines, according to the time slot number of each group of service data, the identification of the specified group of service data to be scheduled under M clock cycles from the current clock cycle; wherein, M is a positive integer greater than or equal to 1;
根据确定的每组业务数据的时隙数,就可以预测接下来的几个时钟周期要调度哪一组业务数据。比如,n为1时,数据处理装置确定当前时钟周期每组业务数据的时隙数,如果其中一组业务数据当前时钟周期对应的时隙数最多,那么下一时钟周期就可以先调度这一组业务数据。即,将这一组业务数据的标识确定为指定组业务数据的标识。这里的标识是指用于识别指定组业务数据的标志,比如业务编号。例如,共8组业务数据,确定其中第3组为指定组业务数据,那么第3组业务数据的业务编号即为指定组业务数据的标识。According to the determined number of time slots of each group of service data, which group of service data will be scheduled in the next several clock cycles can be predicted. For example, when n is 1, the data processing device determines the number of time slots for each group of service data in the current clock cycle. If one group of service data has the largest number of time slots in the current clock cycle, the next clock cycle can schedule this time slot first. Group business data. That is, the identification of this group of business data is determined as the identification of the specified group of business data. The identifier here refers to a sign used to identify a specified group of service data, such as a service number. For example, if there are 8 groups of service data in total, it is determined that the 3rd group is the specified group of service data, then the service number of the 3rd group of service data is the identifier of the specified group of service data.
步骤S103、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S103, the data processing device reads the specified group service data according to the identifier of the specified service data;
数据处理装置确定了指定组业务数据的标识之后,就可以根据指定组业务数据的标识来读取指定组业务数据。After the data processing apparatus determines the identifier of the service data of the designated group, it can read the service data of the designated group according to the identifier of the service data of the designated group.
步骤S104、数据处理装置将所述指定业务数据调度至FlexE日历。Step S104, the data processing apparatus schedules the specified service data to the FlexE calendar.
数据处理装置在预测的时钟周期将读取的指定组业务数据调度至FlexE日历,以便FlexE日历将业务数据映射到日历时隙,再通过日历时隙映射到物理层。The data processing apparatus schedules the read service data of the specified group to the FlexE calendar in the predicted clock cycle, so that the FlexE calendar maps the service data to the calendar time slot, and then maps the service data to the physical layer through the calendar time slot.
这样,基于预测机制数据处理装置就可以确定每一时钟周期需要调度哪一组业务数据至日历模块的日历时隙,从而合理利用资源。In this way, the data processing apparatus based on the prediction mechanism can determine which group of service data needs to be scheduled to the calendar time slot of the calendar module in each clock cycle, so as to utilize resources reasonably.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S201、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S201, the data processing device determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S202、数据处理装置根据当前时钟周期起n个时钟周期中所述每组业务数据的时隙数,和当前有效的寄存器数量,确定满足预设条件的一组业务数据的标识为所述指定组业务数据的标识。Step S202, the data processing device determines that the identification of a group of business data that meets the preset condition is the specified designation according to the number of time slots of each group of business data described in n clock cycles from the current clock cycle, and the current effective number of registers. The identity of the group business data.
上述步骤S202提供了步骤S102的一种实现方式:这里提供了一种缓存机制,将MAC层提供的每组业务数据分别保存在缓存模块中,根据预测结果再将缓存模块中的指定组业务数据调度至寄存器组中,以供FlexE日历进行调度。The above-mentioned step S202 provides an implementation of the step S102: a caching mechanism is provided here, each group of service data provided by the MAC layer is stored in the cache module respectively, and then the specified group of service data in the cache module is stored according to the prediction result. Scheduled into a register bank for scheduling by the FlexE calendar.
数据处理装置根据确定的当前时钟周期起的n个时钟周期每组业务数据的时隙数,以及当前有效的寄存器数量,就可以预测寄存器数量是否能够及时存储接下来几个时钟周期的业务数据以满足FlexE日历的调度需求,从而将不能及时存储的一组业务数据的标识确定为指定组业务数据的标识,并在下一时钟周期及时进行调度。这里,有效的寄存器,即保存有可供FlexE日历调度的业务数据的寄存器。每个寄存器组具有足够的有效的寄存器数量时,才能够保证FlexE日历的调度不断流。The data processing device can predict whether the number of registers can store the business data of the next several clock cycles in time according to the number of time slots of each group of business data in the n clock cycles from the current clock cycle and the current number of valid registers. To meet the scheduling requirements of the FlexE calendar, the identifier of a group of service data that cannot be stored in time is determined as the identifier of the specified group of service data, and scheduling is performed in time in the next clock cycle. Here, an effective register is a register that stores service data that can be scheduled by the FlexE calendar. Only when each register group has a sufficient number of valid registers can the scheduling of the FlexE calendar be guaranteed to flow continuously.
步骤S203、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S203, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S204、数据处理装置将所述指定业务数据调度至FlexE日历。Step S204, the data processing apparatus schedules the specified service data to the FlexE calendar.
本实施例中的数据处理装置提供寄存器,每一时钟周期的每组业务数据先缓存进入寄存器中,根据每组业务数据对应的有效的寄存器数量和即将要从寄存器组调度出的时隙数,就可以预测出如果不进行调度,哪一组业务数据最先可能被调空,从而出现断包的情况。由此,确定优先调度哪一组业务数据,以保证每组业务数据的有效的寄存器都能够及时得到补充。这里,即将要从寄存器组调度出的时隙数可以是下一时钟周期,也可以是接下来几个时钟周期要从寄存器组调度出的时隙数。The data processing apparatus in this embodiment provides registers, and each group of service data in each clock cycle is first buffered into the registers, and according to the number of valid registers corresponding to each group of service data and the number of time slots to be scheduled from the register group, It can be predicted that if scheduling is not performed, which group of business data may be conditioned first, resulting in packet breakage. Thereby, it is determined which group of service data is scheduled to be prioritized, so as to ensure that the valid registers of each group of service data can be replenished in time. Here, the number of time slots to be scheduled from the register set may be the next clock cycle, or may be the number of time slots to be scheduled from the register set in the next several clock cycles.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S301、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S301, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves the data in the corresponding cache module in groups;
步骤S302、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S302, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S303、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S303: The data processing apparatus determines the number of registers currently valid in the register group of each group of service data.
上述步骤S301至步骤S303提供了上一实施例中所提到的缓存机制的一种实现方式,即提供寄存器组。数据处理装置将从MAC层获取到的数据保存在对应的缓存模块中,再根据预测机制确定调度保存在缓存模块中的哪一组业务数据至对应的寄存器组。这样,当寄存器组即将被调空时,就能够及时将其中的业务数据调度至寄存器组,从而使寄存器组能够循环使用,有效的寄存器数量能够及时得到补充,保证不断流。The foregoing steps S301 to S303 provide an implementation manner of the caching mechanism mentioned in the previous embodiment, that is, providing a register set. The data processing device stores the data obtained from the MAC layer in the corresponding cache module, and then determines which group of service data stored in the cache module is scheduled to the corresponding register group according to the prediction mechanism. In this way, when the register group is about to be emptied, the service data in it can be dispatched to the register group in time, so that the register group can be used cyclically, and the effective number of registers can be replenished in time to ensure continuous flow.
步骤S304、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S304, the data processing device determines the time slot number of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S305、数据处理装置根据当前时钟周期起n个时钟周期中所述每组业务数据的时隙数,和当前有效的寄存器数量,确定满足预设条件的一组业务数据的标识为所述指定组业务数据的标识。Step S305, the data processing device determines that the identification of a group of business data that satisfies the preset condition is the specified designation according to the number of time slots of each group of business data described in n clock cycles from the current clock cycle, and the current effective number of registers. The identity of the group business data.
步骤S306、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S306, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S307、数据处理装置将所述指定业务数据调度至FlexE日历。Step S307: The data processing apparatus schedules the specified service data to the FlexE calendar.
上述步骤S304至步骤S307与步骤S201至步骤S204相同,这里不再赘述。本实施例中确定了数据处理装置的结构中包含缓存模块和寄存器组,数据处理装置从MAC层获取每个Client业务对应的每组业务数据,并依次保存在对应的缓存模块中,通过预测确定指定组业务数据,并调度至相应的寄存器组中。通过本实施例中的缓存机制,根据有效的寄存器数量,和每组业务数据的时隙数,即可确定出应该调度哪一组业务数据,以使得寄存器组能够得到合理的利用。The above steps S304 to S307 are the same as the steps S201 to S204, and are not repeated here. In this embodiment, it is determined that the structure of the data processing device includes a cache module and a register group. The data processing device obtains each group of service data corresponding to each Client service from the MAC layer, and stores them in the corresponding cache module in turn, and determines by prediction. The specified group of service data is dispatched to the corresponding register group. Through the buffer mechanism in this embodiment, which group of service data should be scheduled can be determined according to the number of valid registers and the number of time slots of each group of service data, so that the register group can be reasonably utilized.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S401、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S401, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves the data in the corresponding cache module in groups;
步骤S402、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S402, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S403、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S403: The data processing apparatus determines the number of currently valid registers in the register group of each group of service data.
步骤S404、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S404, the data processing device determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S405、数据处理装置依次确定当前时钟周期所述每组业务数据的时隙数是否大于等于所述寄存器数量;Step S405, the data processing device sequentially determines whether the number of time slots of each group of service data in the current clock cycle is greater than or equal to the number of registers;
步骤S406、当数据处理装置确定有至少一组业务数据的时隙数大于等于所述寄存器数量时,将时隙数大于等于所述寄存器数量的任一组业务数据的标识确定为所述指定组业务数据的标识;Step S406, when the data processing device determines that the number of time slots of at least one group of service data is greater than or equal to the number of registers, the identification of any group of service data whose number of time slots is greater than or equal to the number of registers is determined as the designated group. Identification of business data;
上述步骤S405和步骤S406提供了一种步骤S305的实现方式。这里实际上只使用到当前时钟周期每组业务数据的时隙数。当一组业务数据的时隙数大于等于有效的寄存器数量时,在下一时钟周期就会出现断包的情况,因此,就需要在下一时钟周期调度这一组业务数据,以保证这一组业务数据不会出现断包。The above steps S405 and S406 provide an implementation manner of step S305. Actually, only the number of time slots of each group of service data in the current clock cycle is used here. When the number of time slots of a group of service data is greater than or equal to the number of valid registers, the packet interruption will occur in the next clock cycle. Therefore, it is necessary to schedule this group of service data in the next clock cycle to ensure this group of services. Data will not be broken.
步骤S407数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S407, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S408、数据处理装置将所述指定业务数据调度至FlexE日历。Step S408: The data processing apparatus schedules the specified service data to the FlexE calendar.
本实施例根据当前时钟周期每组业务数据的时隙数,来确定需要调度的一组业务数据。如果每组业务数据的时隙数都小于寄存器数量时,也可以调度任一组业务数据,通过每一时钟周期的循环调度,来保证寄存器组中有效的寄存器及时得到补充,而不产生断流。In this embodiment, a group of service data to be scheduled is determined according to the number of time slots of each group of service data in the current clock cycle. If the number of time slots of each group of service data is less than the number of registers, any group of service data can also be scheduled, and through the cyclic scheduling of each clock cycle, it is ensured that the valid registers in the register group are replenished in time without interruption of flow. .
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S501、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S501, the data processing device obtains the service data of the current clock cycle from the MAC layer, and is grouped and stored in the corresponding cache module;
步骤S502、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S502, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S503、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S503: The data processing apparatus determines the number of currently valid registers in the register group of each group of service data.
步骤S504、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S504, the data processing device determines the time slot number of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S505、确定每组业务数据在当前时钟周期起的前k个时钟周期的时隙数之和,为第一累加和;其中,所述k为大于1且小于等于n的正整数;Step S505, determine the sum of the time slots of each group of service data in the first k clock cycles from the current clock cycle, which is the first accumulated sum; wherein, the k is a positive integer greater than 1 and less than or equal to n;
步骤S506、当数据处理装置确定有至少一组业务数据的第一累加和大于所述寄存器数量时,将第一累加和大于等于所述寄存器数量的任一组业务数据的标识确定为所述指定组业务数据的标识;Step S506, when the data processing device determines that the first accumulated sum of at least one group of business data is greater than the number of registers, the first accumulated sum is greater than or equal to the identification of any group of business data of the number of registers is determined as the specified number. The identification of the group business data;
上述步骤S505和步骤S506提供了另一种步骤S305的实现方式。确定当前时钟周期起的前k个时钟周期,每组业务数据的时隙数,并进行求和,分别得到第一累加和。当有一组业务数据的第一累加和大于等于寄存器数量时,说明这一组业务数据在k个时钟周期之内如果不进行调度,其对应的寄存器组就会被调空而出现断包,因此,可以优先调度这一组业务数据。当有多组业务数据的第一累加和都大于等于寄存器数量时,可以优先调度其中任意的一组业务数据,在下一时钟周期继续调度第一累加和大于等于寄存器数量的多组业务数据中的其他组,从而尽快将这几组业务数据调度完成。The above steps S505 and S506 provide another implementation manner of step S305. Determine the first k clock cycles from the current clock cycle, the number of time slots of each group of service data, and perform summation to obtain the first accumulated sum respectively. When the first accumulated sum of a group of business data is greater than or equal to the number of registers, it means that if this group of business data is not scheduled within k clock cycles, the corresponding register group will be emptied and packets will be broken. , this group of business data can be scheduled preferentially. When the first accumulated sum of multiple sets of service data is greater than or equal to the number of registers, any set of service data can be scheduled preferentially, and in the next clock cycle, the first accumulated sum of the multiple sets of service data whose first accumulated sum is greater than or equal to the number of registers can be scheduled. other groups, so that these groups of business data can be scheduled as soon as possible.
步骤S507、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S507, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S508、数据处理装置将所述指定业务数据调度至FlexE日历。Step S508: The data processing apparatus schedules the specified service data to the FlexE calendar.
在本实施例中,确定前k个时钟周期每组业务数据的时隙数,以及当前有效的寄存器数量,来预测如果不进行调度则可能寄存器组最先被调空的一组业务数据,从而及时进行调度。In this embodiment, the number of time slots of each group of service data in the first k clock cycles and the number of currently valid registers are determined to predict a group of service data whose register group may be emptied first if no scheduling is performed, so that Schedule in a timely manner.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S601、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S601, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves it in the corresponding cache module in groups;
步骤S602、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S602, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S603、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量;Step S603, the data processing device determines the currently valid number of registers in the register group of each group of service data;
步骤S604、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数。Step S604: The data processing apparatus determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1.
步骤S605、确定每组业务数据在当前时钟周期起的前k个时钟周期的时隙数之和,为第一累加和;其中,所述k为大于1且小于等于n的正整数;Step S605, determine the sum of the time slots of each group of service data in the first k clock cycles from the current clock cycle, which is the first accumulated sum; wherein, the k is a positive integer greater than 1 and less than or equal to n;
步骤S606、当数据处理装置确定有至少两组业务数据的所述第一累加和大于等于所述寄存器数量时,分别确定每组业务数据的所述n个时钟周期的时隙数之和,为第二累加和;Step S606, when the data processing device determines that the first accumulated sum of at least two groups of service data is greater than or equal to the number of registers, respectively determines the sum of the number of time slots of the n clock cycles of each group of service data, which is: the second cumulative sum;
步骤S607、数据处理装置确定每组业务数据的第二累加和减去所述寄存器数量之差,为第一差值;Step S607, the data processing device determines the difference between the second accumulated sum of each group of service data minus the number of the registers to be the first difference;
步骤608、当数据处理装置确定有至少一组业务数据的第一差值最小时,将所述第一差值最小的任一组业务数据的标识确定为所述指定组业务数据的标识。Step 608: When the data processing apparatus determines that there is at least one group of service data with the smallest first difference, determine the identifier of any group of service data with the smallest first difference as the identifier of the specified group of service data.
上述步骤S605至步骤S608提供了另一种步骤S506的实现方式。由于上一实施例中,可能出现至少两组业务数据的第一累加和都大于等于有效的寄存器数量,这里,不随机选取一组业务数据进行调度,而采取另一种实现方式:确定每组业务数据在n个时钟周期中的时隙数总的累加和为第二累加和,并进一步分别减去有效的寄存器的数量得到第一差值,从而确定其中最小的第一差值对应的至少一组业务数据。并从第一差值最小的业务数据中选择一组进行调度。The above steps S605 to S608 provide another implementation manner of step S506. Since in the previous embodiment, the first accumulated sum of at least two sets of service data may be greater than or equal to the number of valid registers, here, instead of randomly selecting a set of service data for scheduling, another implementation method is adopted: determine each set of service data. The cumulative sum of the total number of time slots of the service data in n clock cycles is the second cumulative sum, and the number of valid registers is further subtracted to obtain the first difference, so as to determine the minimum first difference corresponding to at least one. A set of business data. And select a group from the service data with the smallest first difference for scheduling.
这里,第一差值最小的一组业务数据对应在第n个时钟周期剩余寄存器数量最少的组,也就是在第n个时钟周期之后被调空风险最大的一组业务数据,因此,这里优先调度这样的一组业务数据。Here, the group of business data with the smallest first difference corresponds to the group with the smallest number of remaining registers in the nth clock cycle, that is, the group of business data with the greatest risk of being air-conditioned after the nth clock cycle. Therefore, priority is given here. Such a set of business data is scheduled.
实际上当有至少两组业务数据前k个时钟周期的第一累加和大于等于有效的寄存器数量时,还可以使k递增,直至只有一组业务数据的第一累加和大于等于有效的寄存器数量。当k递增到k等于n时,都还有至少两组业务数据的第一累加和大于等于有效的寄存器数量,那么就采用上述选择第一差值最小的任一组进行调度。如此,以保证下一时钟周期调度寄存器组最有可能最快被调空的一组业务数据,即,尽量最优的选择。In fact, when there are at least two sets of service data in the first k clock cycles of the first accumulated sum greater than or equal to the number of valid registers, k can also be incremented until only the first accumulated sum of one set of service data is greater than or equal to the number of valid registers. When k is incremented until k is equal to n, and the first accumulated sum of at least two groups of service data is greater than or equal to the number of valid registers, then any group with the smallest first difference is selected for scheduling. In this way, a set of service data that is most likely to be emptied the fastest in the next clock cycle is scheduled to be scheduled in the register set, that is, the best selection possible.
步骤S609、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S609, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S610、数据处理装置将所述指定业务数据调度至FlexE日历。Step S610: The data processing apparatus schedules the specified service data to the FlexE calendar.
本实施例中,在依次确认前k个时钟周期与当前有效的寄存器数量的关系后,仍然有至少两组业务数据的第一累加和大于寄存器数量;此时,加入了新的判断条件,即确定下一时钟周期调度第一差值最小的的一组业务数据,以保证调度的是寄存器组最有可能最快被调空的一组业务数据。In this embodiment, after confirming the relationship between the first k clock cycles and the currently valid number of registers in turn, the first accumulated sum of at least two sets of service data is still greater than the number of registers; at this time, a new judgment condition is added, that is, It is determined that a group of service data with the smallest first difference is scheduled in the next clock cycle, so as to ensure that a group of service data whose register group is most likely to be emptied the fastest is scheduled to be scheduled.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S701、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S701, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves the data in the corresponding cache module in groups;
步骤S702、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S702, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S703、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S703: The data processing apparatus determines the number of currently valid registers in the register group of each group of service data.
步骤S704、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S704, the data processing device determines the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S705、数据处理装置分别确定每组业务数据在当前时钟周期起的n个时钟周期的时隙数之和,为第三累加和;Step S705, the data processing device respectively determines the sum of the number of time slots of n clock cycles from the current clock cycle of each group of service data, which is the third accumulated sum;
步骤S706、当数据处理装置确定每组业务数据的所述第三累加和均小于所述寄存器数量时,确定每组业务数据的所述寄存器数量减去当前时钟周期的时隙数之差,为第二差值;Step S706, when the data processing device determines that the third accumulated sum of each group of service data is less than the number of registers, determines the difference between the number of registers of each group of service data minus the number of time slots of the current clock cycle, as second difference;
步骤S707、当数据处理装置确定有至少一组业务数据的所述第二差值小于等于业务数据的组数时,则将所述第二差值小于等于业务数据的组数的任一组业务数据的标识确定为所述指定业务数据的标识;Step S707, when the data processing device determines that the second difference of at least one group of business data is less than or equal to the number of groups of business data, then the second difference is less than or equal to the number of groups of business data for any group of business data. The identifier of the data is determined as the identifier of the specified service data;
上述步骤S705至步骤S707提供了步骤S305的另一种实现方式。当每组业务数据的第三累加和均小于寄存器数量时,说明如果不进行调度在第n个时钟周期所有的寄存器组仍然不会被调空。此时,可以通过另一种规则来找出优先被调度的一组业务数据。用每组业务数据对应有效的寄存器数量减去当前时钟周期的时隙数,得到第二差值;当有至少一组的第二差值小于等于业务数据的组数时,则确定调度其中的一组业务数据。这样,则选择调度了在未来最有可能最快调空的寄存器组的一组业务数据。The above steps S705 to S707 provide another implementation manner of step S305. When the third accumulated sum of each group of service data is less than the number of registers, it means that all register groups will not be emptied in the nth clock cycle if scheduling is not performed. At this time, another rule can be used to find out a group of business data to be scheduled preferentially. Subtract the number of time slots of the current clock cycle from the number of valid registers corresponding to each group of service data to obtain the second difference; when there is at least one group of the second difference less than or equal to the number of groups of service data, it is determined to schedule the A set of business data. In this way, a set of service data that schedules the register group that is most likely to be emptied the fastest in the future is selected.
步骤S708、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S708, the data processing device reads the specified group service data according to the identifier of the specified service data;
步骤S709、数据处理装置将所述指定业务数据调度至FlexE日历。Step S709: The data processing apparatus schedules the specified service data to the FlexE calendar.
本实施例中,每组业务数据的第三累加和均小于寄存器数量时,则在n个时钟周期之内,如果不进行调度,也没有寄存器组会被调空,可以不进行调度。但是为了避免n个时钟周期之后会被调空,这里加入了另一个判断条件,即找出第二差值小于等于总的业务组数的一组业务数据,以确定下一时钟周期可以调度在未来最有可能最快调空的寄存器组的一组业务数据。In this embodiment, when the third accumulated sum of each group of service data is less than the number of registers, within n clock cycles, if no scheduling is performed, no register group will be emptied, and scheduling may not be performed. However, in order to avoid air conditioning after n clock cycles, another judgment condition is added here, that is, to find a set of business data whose second difference is less than or equal to the total number of business groups, to determine that the next clock cycle can be scheduled in A set of business data for the register group that is most likely to be emptied the fastest in the future.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S801、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S801, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves the data in the corresponding cache module in groups;
步骤S802、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S802, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S803、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S803: The data processing apparatus determines the number of registers currently valid in the register group of each group of service data.
步骤S804、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S804, the data processing device determines the time slot number of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S805、数据处理装置分别确定每组业务数据在当前时钟周期起的n个时钟周期的时隙数之和,为第三累加和;Step S805, the data processing device respectively determines the sum of the number of time slots of n clock cycles from the current clock cycle of each group of service data, which is the third accumulated sum;
步骤S806、当数据处理装置确定每组业务数据的所述第三累加和均小于所述寄存器数量时,确定每组业务数据的所述寄存器数量减去当前时钟周期的时隙数之差,为第二差值;Step S806, when the data processing device determines that the third accumulated sum of each group of service data is less than the number of registers, it determines the difference between the number of registers of each group of service data minus the number of time slots of the current clock cycle, which is: second difference;
步骤S807、当数据处理装置确定有至少两组业务数据的所述第二差值小于所述组数时,确定所述第二差值小于所述组数的每一组业务数据的前k个时钟周期的时隙数之和,为第四累加和;其中,所述k为大于1小于n的正整数;Step S807, when the data processing apparatus determines that the second difference of at least two groups of service data is less than the number of groups, determine that the second difference is less than the first k of each group of service data of the number of groups. The sum of the number of time slots in the clock cycle is the fourth cumulative sum; wherein, the k is a positive integer greater than 1 and less than n;
步骤S808、确定所述第二差值小于所述组数的每一组业务数据的所述寄存器数量减去所述第四累加和之差,为第三差值;Step S808, determining that the second difference is less than the difference between the number of registers of each group of service data and the fourth accumulated sum less than the number of groups to be the third difference;
步骤S809数据处理装置确定有至少一组业务数据的所述第三差值最小,则将所述第三差值最小任一组业务数据的标识确定为所述指定组业务数据的标识;In step S809, the data processing apparatus determines that the third difference value of at least one group of service data is the smallest, and then the identifier of any group of service data that the third difference value is the smallest is determined as the identifier of the specified group of service data;
上述步骤S807至步骤S808提供了步骤S707的一种实现方式。当每组业务数据的第三累加和均小于寄存器数量时,且当有至少两组业务数据的第二差值小于等于业务数据的组数时,则确定调度其中的一组业务数据。确定的方法为:确定这至少两组业务数据的第四累加和,并分别用这至少两组业务数据的有效的寄存器数量减去第四累加和,得到第三差值。将其中第三差值最小的一组业务数据的标识确定为指定组业务数据的标识,也就是确定调度其中第三差值最小的一组业务数据。当第三差值最小的业务数据有至少两组时,还可以使k的值递增,重新求取第三差值,直到k+1等于n。The above steps S807 to S808 provide an implementation manner of step S707. When the third cumulative sum of each set of service data is less than the number of registers, and when the second difference of at least two sets of service data is less than or equal to the number of sets of service data, it is determined to schedule one set of service data. The determining method is as follows: determining the fourth accumulated sum of the at least two groups of service data, and subtracting the fourth accumulated sum from the valid register numbers of the at least two groups of service data respectively to obtain a third difference. The identifier of the group of service data with the smallest third difference is determined as the identifier of the specified group of service data, that is, the group of service data with the smallest third difference is determined to be scheduled. When there are at least two groups of service data with the smallest third difference, the value of k may also be incremented, and the third difference may be recalculated until k+1 is equal to n.
步骤S810、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S810, the data processing device reads the specified group of service data according to the identifier of the specified service data;
步骤S811、数据处理装置将所述指定业务数据调度至FlexE日历。Step S811, the data processing apparatus schedules the specified service data to the FlexE calendar.
当上一实施例有至少两组业务数据的第二差值小于总的业务数据的组数时,在本实施例中,加入了另一判断条件,将第三差值最小的一组业务数据确定为其中最适合尽快调度的一组业务数据。When the second difference of at least two sets of service data is smaller than the total number of sets of service data in the previous embodiment, in this embodiment, another judgment condition is added, and the set of service data with the smallest third difference is A set of business data identified as the most suitable for scheduling as soon as possible.
本申请实施例提供另一种基于FlexE的数据处理方法,该方法包括:The embodiment of the present application provides another FlexE-based data processing method, the method includes:
步骤S901、数据处理装置从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;Step S901, the data processing device obtains the service data of the current clock cycle from the MAC layer, and saves it in the corresponding cache module in groups;
步骤S902、数据处理装置从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;Step S902, after the data processing device reads the specified group of service data from the cache module, schedules it to the corresponding register group;
步骤S903、数据处理装置确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。Step S903: The data processing apparatus determines the number of currently valid registers in the register group of each group of service data.
步骤S904、数据处理装置确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;Step S904, the data processing device determines the time slot number of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
步骤S905、数据处理装置分别确定每组业务数据在当前时钟周期起的n个时钟周期的时隙数之和,为第三累加和;Step S905, the data processing device respectively determines the sum of the number of time slots of n clock cycles from the current clock cycle of each group of service data, which is the third accumulated sum;
步骤S906、当数据处理装置确定每组业务数据的所述第三累加和均小于所述寄存器数量时,确定每组业务数据的所述寄存器数量减去当前时钟周期的时隙数之差,为第二差值;Step S906, when the data processing device determines that the third accumulated sum of each group of service data is less than the number of registers, determine the difference between the number of registers of each group of service data minus the number of time slots of the current clock cycle, to be: second difference;
步骤S907、当数据处理装置确定有至少两组业务数据的所述第二差值小于所述组数时,确定所述第二差值小于所述组数的每一组业务数据的前k个时钟周期的时隙数之和,为第四累加和;其中,所述k为大于1小于n的正整数;Step S907, when the data processing apparatus determines that there are at least two groups of service data whose second difference is less than the number of groups, determine that the second difference is less than the first k of each group of service data of the number of groups. The sum of the number of time slots in the clock cycle is the fourth cumulative sum; wherein, the k is a positive integer greater than 1 and less than n;
步骤S908、确定所述第二差值小于所述组数的每一组业务数据的所述寄存器数量减去所述第四累加和之差,为第三差值;Step S908, determining that the second difference is less than the difference between the number of registers of each group of service data minus the fourth accumulated sum, which is the third difference;
步骤S909、当数据处理装置确定有至少两组业务数据的所述第三差值最小时,确定所述第三差值最小的每一组业务数据的n个时钟周期的时隙数之和,为第五累加和;Step S909, when the data processing device determines that there are at least two groups of service data with the smallest third difference, determine the sum of the number of time slots of n clock cycles of each group of service data with the smallest third difference, is the fifth cumulative sum;
步骤S910、确定所述第三差值最小的每一组业务数据的所述寄存器数量减去所述第五累加和之差,为第四差值;Step S910, determining that the difference between the number of registers of each group of service data with the smallest third difference minus the fifth accumulated sum is the fourth difference;
步骤S911、数据处理装置确定有至少一组业务数据的所述第四差值最小,则将所述第四差值最小的任一组业务数据的标识为所述指定组业务数据的标识;Step S911, the data processing device determines that the fourth difference of at least one group of service data is the smallest, then the identifier of any group of service data with the smallest fourth difference is the identifier of the specified group of service data;
上述步骤S909至步骤S911提供了步骤S809的一种实现方式。这里,当有至少两组业务数据的第三差值最小时,可以继续求这至少两组业务数据的n个时钟周期的时隙数之和,得到第五累加和,并继续求取有效的寄存器数量与第五累加和之差,得到第四差值。确定其中只有一组业务数据的第四差值最小时,则确定这一组业务数据的标识为指定组业务数据的标识。由于数据处理装置至此只确定了当前时钟周期起的n个时钟周期中每组业务数据的时隙数,所以,即使在这里有至少两组业务数据的第四差值最小时,也无法通过本实施例中的计算方法继续计算最优的一组业务数据。因此,这里如果有至少两组业务数据的第四差值最小时,可以选择其中任意一组业务数据的标识作为指定组业务数据的标识,从而调度其中的任意一组业务数据。The above steps S909 to S911 provide an implementation of step S809. Here, when the third difference of at least two groups of service data is the smallest, the sum of the number of time slots of n clock cycles of the at least two groups of service data can be continued to obtain the fifth accumulated sum, and the effective The fourth difference is obtained from the difference between the number of registers and the fifth accumulated sum. When it is determined that only one group of service data has the smallest fourth difference, the identifier of this group of service data is determined to be the identifier of the specified group of service data. Since the data processing device has only determined the number of time slots of each group of service data in the n clock cycles from the current clock cycle, even if the fourth difference of at least two groups of service data is the smallest, it cannot pass this time slot. The calculation method in the embodiment continues to calculate the optimal set of service data. Therefore, if there are at least two groups of service data with the smallest fourth difference, the identifier of any group of service data may be selected as the identifier of the specified group of service data, thereby scheduling any group of service data.
当然,这里也可以给出一种规则来选择一组业务数据。比如,确定这至少两组第四差值最小的业务数据中,编号最小的一组业务数据的标识为指定组业务数据的标识。Of course, a rule can also be given here to select a set of business data. For example, it is determined that among the at least two groups of service data with the smallest fourth difference, the identifier of the group of service data with the smallest number is the identifier of the specified group of service data.
步骤S912、数据处理装置根据所述指定业务数据的标识,读取所述指定组业务数据;Step S912, the data processing device reads the specified group of service data according to the identifier of the specified service data;
步骤S913、数据处理装置将所述指定业务数据调度至FlexE日历。Step S913: The data processing apparatus schedules the specified service data to the FlexE calendar.
当上一实施例中有至少两组业务数据的第三差值最小时,在本实施例中,又加入了另一判断条件,将第四差值最小的一组业务数据确定为其中最适合尽快调度的一组业务数据。When the third difference of at least two sets of service data in the previous embodiment is the smallest, in this embodiment, another judgment condition is added, and the set of service data with the smallest fourth difference is determined as the most suitable A set of business data scheduled as soon as possible.
本申请实施例中的基于FlexE的Client弹性管道300结构示意图,如图3所示,本实施例中的Client即客户业务,每个Client对应一组业务数据。本实施例中的弹性管道300包括日历模块31,该日历模块31将每个Client业务按照配置的时隙以66b切片的数据块形式分配到Calendar中,主要完成Client业务到Calendar时隙的映射以及Calendar时隙到PHY的映射,完成Client业务和PHY之间的解耦,日历模块31总的带宽处理能力为W,则对应的时隙数量S=W/5,每个周期调度的时隙数为M,对应1~M个Client,以S/M个时钟周期为一轮循环调度Calendar。A schematic structural diagram of the FlexE-based Client elastic pipeline 300 in the embodiment of the present application is shown in FIG. 3 , the Client in this embodiment is a client service, and each Client corresponds to a set of service data. The elastic pipeline 300 in this embodiment includes a calendar module 31. The calendar module 31 allocates each Client service to the Calendar in the form of 66b sliced data blocks according to the configured time slot, and mainly completes the mapping of the Client service to the Calendar time slot and The mapping of Calendar time slots to PHY completes the decoupling between Client services and PHY. The total bandwidth processing capability of the calendar module 31 is W, then the corresponding number of time slots S=W/5, the number of time slots scheduled in each cycle For M, corresponding to 1 to M clients, Calendar is scheduled cyclically with S/M clock cycles as a round.
本申请实施例中的弹性管道300还包括共享MAC模块32、分发模块33、共享RAM模块34、时隙预测模块35等。The elastic pipeline 300 in the embodiment of the present application further includes a shared MAC module 32, a distribution module 33, a shared RAM module 34, a time slot prediction module 35, and the like.
共享MAC模块32支持的总带宽为Y,数据处理位宽为M×66b,M×66b位宽的带宽处理能力大于等于Y;通过时分复用的方式实现Client业务的串行处理,包括数据缓存、包解析、IPG(Interpacket,帧间距)处理、CRC(Cyclic Redundancy Check,循环冗余校验)计算等。通过时隙调度的方式实现多Client业务基于带宽的精准调度,一个时钟周期的M×66b数据来自于同一Client。共享MAC模块32基于Client响应共享RAM模块34送来的单FlexEClient流控及总体流控。The total bandwidth supported by the shared MAC module 32 is Y, the data processing bit width is M×66b, and the bandwidth processing capability of the M×66b bit width is greater than or equal to Y; the serial processing of Client services is realized by time division multiplexing, including data buffering , packet parsing, IPG (Interpacket, interframe spacing) processing, CRC (Cyclic Redundancy Check, Cyclic Redundancy Check) calculation, etc. The bandwidth-based precise scheduling of multi-Client services is realized through time slot scheduling, and M×66b data in one clock cycle comes from the same Client. The shared MAC module 32 responds to the single FlexEClient flow control and overall flow control sent by the shared RAM module 34 based on the Client.
分发模块33,根据共享MAC模块32送来的有效标记及Client ID(Client编号),将M×66b Client切片数据分发到X(X=Y/5/M)个共享RAM模块34中进行缓存处理。The distribution module 33 distributes the M×66b Client slice data to X (X=Y/5/M) shared RAM modules 34 for cache processing according to the valid tag and Client ID (Client ID) sent by the shared MAC module 32 .
共享RAM模块34,此模块共有X个,通过VOQ(Virtual Output Queue,虚拟输出队列)的方式实现M个Client数据的共享缓存,每个Client维护一个队列深度,单Client队列深度达到Client队列流控门限时,对相应的Client进行流控;当整体缓存深度达到整体流控门限,对M个Client全部流控。单Client队列的流控门限根据单个Client业务的带宽来确定,整体流控门限根据全部业务的带宽来确定。共享RAM模块34的读操作及对应的Client调度队列选择取决于时隙预测模块35的输出选择。Shared RAM module 34, there are X modules in total, and the shared cache of M client data is realized by means of VOQ (Virtual Output Queue, virtual output queue). Each client maintains a queue depth, and the queue depth of a single client reaches the client queue flow control. When the threshold is reached, flow control is performed on the corresponding Client; when the overall buffer depth reaches the overall flow control threshold, all M clients are flow controlled. The flow control threshold of a single Client queue is determined according to the bandwidth of a single Client service, and the overall flow control threshold is determined according to the bandwidth of all services. The read operation of the shared RAM module 34 and the corresponding Client scheduling queue selection depend on the output selection of the time slot prediction module 35 .
时隙预测模块35,根据当前时刻日历模块31调度的M个时隙对应的Client情况,计算M个Client分别对应的时隙数am(m=1,2,…,M);根据下一时钟周期Calendar调度的M个时隙对应的Client情况,计算M个Client分别对应的时隙数bm(m=1,2,…,M);根据第三个时钟周期Calendar调度的M个时隙对应的Client情况,计算M个Client分别对应的时隙数cm(m=1,2,…,M);每个Client预留2个M×66b的寄存器组的数量为xm(m=1,2,…,M);根据am、bm、cm以及xm,预测出下一时钟周期应该调度共享RAM模块34的哪个Client。The time slot prediction module 35 calculates the number of time slots am (m=1, 2, . For the Client situation corresponding to the M timeslots scheduled by the periodic Calendar, calculate the number of timeslots bm corresponding to the M Clients respectively (m=1, 2, ..., M); the M timeslots scheduled according to the third clock cycle Calendar correspond to In the case of clients, calculate the number of time slots cm (m=1, 2, ..., M) corresponding to M clients respectively; the number of 2 M×66b register groups reserved for each client is xm (m=1, 2 , ..., M); according to am, bm, cm and xm, predict which Client of the shared RAM module 34 should be scheduled in the next clock cycle.
基于am、bm、cm以及xm的预测仅仅是RAM时隙预测调度的一种实现方式,可以在此基础上扩展到下n(n>2)个时钟周期。Prediction based on am, bm, cm, and xm is just one implementation of RAM slot prediction scheduling, which can be extended to the next n (n>2) clock cycles.
图3B是时隙预测模块35的结构示意图,包括寄存器组控制模块41、时隙计算模块42、预测调度模块43等。FIG. 3B is a schematic structural diagram of the time slot prediction module 35 , including a register group control module 41 , a time
寄存器组控制模块41,由2个M*66b寄存器组(RBG,Register Block Group)组成,用于缓存共享RAM模块34的调度输出暂存;同时计算每个Client对应的当前有效66b数据块的数量xm(m=1,2,…,M),并且将计算结果反馈给预测调度模块43;同时响应预测调度模块43的调度数量请求,将对应的am个有效66b块按时隙顺序调度给日历模块31进行处理;寄存器组控制模块41与日历模块31的数据接口位宽为M*66b,这里可以采用bitmap(位图)的方式区分数据是否有效。The register group control module 41 is composed of 2 M*66b register groups (RBG, Register Block Group), and is used to cache the scheduling output of the shared RAM module 34 temporarily; at the same time, calculate the number of currently valid 66b data blocks corresponding to each Client xm (m=1, 2, . 31 for processing; the bit width of the data interface between the register group control module 41 and the calendar module 31 is M*66b, and a bitmap can be used here to distinguish whether the data is valid.
时隙计算模块42,根据日历模块31送来的时隙信息,计算当前时刻、下一时钟周期以及第三个时钟周期日历模块31调度的M个时隙对应的Client情况,计算M个Client分别对应的时隙数am、bm、cm(m=1,2,…,M)。The time
预测调度模块43,对于任一Client m来说,为防止出现断流,在2×M×66b的寄存器组有效、且共享Client RAM中对应的Client m队列长度满足一定阈值,才开始启动预测机制。根据am、bm、cm和xm的值,每个时钟周期按优先级判断条件1~10(1的优先级最高,10的优先级最低)选择调度的共享Client RAM中的Client队列。The
上述方案中的时隙预测的判断条件如下:The judgment conditions for the time slot prediction in the above scheme are as follows:
条件1:如果只有Client m满足xm<am+bm,则下一时钟周期调度Client m队列。Condition 1: If only Client m satisfies xm<am+bm, the Client m queue is scheduled in the next clock cycle.
条件2:如果有多个Client满足xm<am+bm,且其中只有Client m满足am+bm+cm-xm值最小,则下一时钟周期调度Client m队列。Condition 2: If there are multiple Clients that satisfy xm<am+bm, and only Client m satisfies the minimum value of am+bm+cm-xm, the Client m queue is scheduled in the next clock cycle.
条件3:如果有多个Client满足xm<am+bm,且其中满足am+bm+cm-xm值最小的有多个,则下一时钟周期调度其中Client ID最小的队列。Condition 3: If there are multiple Clients that satisfy xm<am+bm, and there are multiple clients that satisfy the smallest value of am+bm+cm-xm, the queue with the smallest Client ID will be scheduled in the next clock cycle.
条件4:如果只有Client m满足xm<am+bm+cm,则下一时钟周期调度Client m队列。Condition 4: If only Client m satisfies xm<am+bm+cm, the queue of Client m is scheduled in the next clock cycle.
条件5:如果有多个Client满足xm<am+bm+cm,则下一时钟周期调度其中Client ID最小的队列。Condition 5: If there are multiple Clients satisfying xm<am+bm+cm, the queue with the smallest Client ID will be scheduled in the next clock cycle.
条件6:如果所有Client xm>=am+bm+cm,且其中只有1个Client满足xm-am<=8,则下一时钟周期调度此队列。Condition 6: If all Clients xm>=am+bm+cm, and only one of them satisfies xm-am<=8, the queue is scheduled in the next clock cycle.
条件7:如果所有Client xm>=am+bm+cm,且其中多个Client满足xm-am<=8,满足xm-am<=8的Client中只有1个Client满足xm-am-bm值最小,则下一时钟周期调度此队列。Condition 7: If all Clients xm>=am+bm+cm, and multiple Clients satisfy xm-am<=8, only 1 Client among the Clients satisfying xm-am<=8 satisfy the minimum value of xm-am-bm , the queue is scheduled in the next clock cycle.
条件8:如果所有Client xm>=am+bm+cm,且其中多个Client满足xm-am<=8,满足xm-am<=8的Client中有多个Client满足xm-am-bm值最小,满足xm-am<=8和xm-am-bm值最小的Client中只有1个Client满足xm-am-bm-cm最小,则下一时钟周期调度此队列。Condition 8: If all Clients xm>=am+bm+cm, and multiple Clients satisfy xm-am<=8, and among the Clients satisfying xm-am<=8, multiple Clients satisfy the minimum value of xm-am-bm , there is only one Client that satisfies xm-am<=8 and the minimum value of xm-am-bm satisfies the minimum value of xm-am-bm-cm, and the queue is scheduled in the next clock cycle.
条件9:如果所有Client xm>=am+bm+cm,且其中多个Client满足xm-am<=8,满足xm-am<=8的Client中有多个Client满足xm-am-bm值最小,满足xm-am<=8和xm-am-bm值最小的Client中有多个Client满足xm-am-bm-cm最小,则下一时钟周期调度其中Client ID最小的队列。Condition 9: If all Clients xm>=am+bm+cm, and multiple Clients satisfy xm-am<=8, and among the Clients satisfying xm-am<=8, multiple Clients satisfy the minimum value of xm-am-bm , there are multiple Clients that satisfy xm-am<=8 and the minimum value of xm-am-bm satisfies the minimum value of xm-am-bm-cm, and the queue with the smallest Client ID is scheduled in the next clock cycle.
条件10:不满足以上条件,不调度。Condition 10: If the above conditions are not met, no scheduling will be performed.
上述方案中调度的原则是保证2×M×66b的寄存器组能够及时得到补充,保证不出现断流。采用上述方案,能够解决Client数量提升带来的缓存资源成倍提升问题,FlexEClient资源约为相同情况的1/m,降低功耗,为FlexE支持Client数量大幅提升提供了解决方案。The principle of scheduling in the above scheme is to ensure that the 2×M×66b register group can be replenished in time to ensure that no current interruption occurs. The above solution can solve the problem of multiplying the cache resources caused by the increase in the number of clients. The FlexE client resource is about 1/m of the same situation, reducing power consumption and providing a solution for the substantial increase in the number of clients supported by FlexE.
本申请实施例提供一种数据处理的方法,该方法包括:The embodiment of the present application provides a data processing method, the method includes:
步骤S31、共享MAC模块将带有有效标记及Client ID的Client业务切片数据发送至分发模块;Step S31, the shared MAC module sends the Client service slice data with the valid mark and the Client ID to the distribution module;
步骤S32、分发模块根据共享MAC模块送来的有效标记及Client ID,将Client业务切片数据分发到共享RAM模块中进行缓存处理;Step S32, the distribution module distributes the Client service slice data to the shared RAM module for cache processing according to the valid mark and Client ID sent by the shared MAC module;
步骤S33、共享RAM模块对分发模块分发的Client业务切片数据进行缓存,并根据时隙预测模块提供的RAM读控制消息,读取时隙预测模块指示调度的Client业务切片数据并发送至时隙预测模块;Step S33, the shared RAM module caches the Client service slice data distributed by the distribution module, and reads the Client service slice data scheduled by the time slot prediction module according to the RAM read control message provided by the time slot prediction module and sends it to the time slot prediction module. module;
步骤S34、时隙预测模块根据当前日历模块的时隙调度情况,计算当前时钟周期、第二时钟周期以及第三时钟周期中每个Client业务对应的时隙数,并计算确定当前时钟周期时隙预测模块中可用寄存器组的数量;Step S34, the time slot prediction module calculates the time slot number corresponding to each Client business in the current clock cycle, the second clock cycle and the third clock cycle according to the time slot scheduling situation of the current calendar module, and calculates and determines the current clock cycle time slot. the number of available register banks in the prediction module;
步骤S35、根据上述三个时钟周期每个Client业务对应的时隙数,以及当前寄存器组的数量,依次判断是否满足预设条件,得到判断结果;Step S35, according to the number of timeslots corresponding to each Client service in the above-mentioned three clock cycles, and the number of the current register group, successively judge whether the preset conditions are met, and obtain a judgment result;
步骤S36、根据判断结果,预测下一时钟周期应该调度共享RAM模块的哪个Client业务切片数据。Step S36, according to the judgment result, predict which Client service slice data of the shared RAM module should be scheduled in the next clock cycle.
下面通过实例进行说明。The following is an example to illustrate.
本申请实施例提供了支持120个FlexE Client,FlexE Calendar每个时钟周期调度8个时隙的FlexE的灵活的弹性管道实现方法。FlexE支持Client总业务带宽为600G,总时隙数为120个,单Client最大支持带宽为5mG(m=1~120)。The embodiment of the present application provides a flexible and elastic pipeline implementation method for FlexE that supports 120 FlexE Clients, and the FlexE Calendar schedules 8 time slots per clock cycle. FlexE supports a total client service bandwidth of 600G, a total of 120 timeslots, and a maximum supported bandwidth of a single client of 5mG (m=1 to 120).
共享MAC模块32,支持的总带宽为600G,数据处理位宽为8×66b,通过时分复用的方式实现Client业务的串行处理,包括数据缓存、包解析、IPG(帧间距)处理以及CRC计算等。通过时隙调度的方式实现120个Client业务基于带宽的精准调度,一个时钟周期的8×66b数据来自于同一Client。共享RAM模块34基于Client响应共享Client RAM流控及总体流控。The shared MAC module 32 supports a total bandwidth of 600G and a data processing bit width of 8×66b. Serial processing of Client services is realized by time division multiplexing, including data buffering, packet parsing, IPG (frame spacing) processing and CRC. calculation etc. The bandwidth-based precise scheduling of 120 Client services is achieved through time slot scheduling, and the 8×66b data in one clock cycle comes from the same Client. The shared RAM module 34 shares the Client RAM flow control and overall flow control based on the Client response.
分发模块33,根据共享MAC模块送来的有效标记及Client ID,将8×66b Client切片数据分发到15个共享RAM中进行缓存处理。The distribution module 33 distributes the 8×66b Client slice data to 15 shared RAMs for cache processing according to the valid tag and Client ID sent by the shared MAC module.
共享RAM模块34,通过VOQ的方式实现8个Client数据的共享缓存,每个Client维护一个队列深度,单Client队列深度到达Client队列流控门限,对对应的Client进行流控;当整体缓存深度达到整体流控门限,对8个Client全部流控。共享Client RAM的读操作及对应的Client调度队列选择取决于时隙预测模块35的输出选择。The shared RAM module 34 realizes the shared cache of 8 Client data by means of VOQ. Each Client maintains a queue depth. When the queue depth of a single Client reaches the client queue flow control threshold, flow control is performed on the corresponding Client; when the overall cache depth reaches The overall flow control threshold is used to control the flow of all 8 clients. The read operation of the shared Client RAM and the corresponding Client scheduling queue selection depend on the output selection of the time slot prediction module 35 .
时隙预测模块35,根据当前时刻Calendar调度的8个时隙对应的Client情况,计算8个Client分别对应的时隙数a1至a8;根据下一时钟周期Calendar调度的8个时隙对应的Client情况,计算8个Client分别对应的时隙数b1至b8;根据第三个时钟周期Calendar调度的8个时隙对应的Client情况,计算8个Client分别对应的时隙数c1至c8;每个Client预留2个8×66b的寄存器组用于缓存共享Client RAM的调度输出,当前有效的寄存器数量为x1至x8。The time slot prediction module 35 calculates the number of time slots a1 to a8 corresponding to the 8 clients respectively according to the client situation corresponding to the 8 time slots scheduled by Calendar at the current moment; In this case, calculate the number of time slots b1 to b8 corresponding to the 8 Clients respectively; according to the Client situation corresponding to the 8 time slots scheduled by Calendar in the third clock cycle, calculate the number of time slots c1 to c8 corresponding to the 8 Clients respectively; The client reserves two 8×66b register groups for buffering the scheduling output of the shared client RAM. The current valid registers are x1 to x8.
由于1个周期调度8个时隙,总共120个时隙需15个时钟周期调度一轮,8个Client对应时隙在15个时钟周期Sm(m=1~15)分布如下,以8个1,4个2,2个4、2个3为例进行说明:Since 8 time slots are scheduled in one cycle, a total of 120 time slots require 15 clock cycles to schedule a round, and the corresponding time slots of 8 Clients are distributed in 15 clock cycles Sm (m=1~15) as follows, with 8 1 , 4 2s, 2 4s, and 2 3s as an example to illustrate:
根据判断条件1至10,每个周期Tm(m=1至15)的有效的66b寄存器组的数量xn(n=1至8),T1时为原始状态,可用的66b寄存器组为2×8=16个,每个循环调度一次:According to the judgment conditions 1 to 10, the number of valid 66b register groups xn (n=1 to 8) per cycle Tm (m=1 to 15), T1 is the original state, and the available 66b register groups are 2×8 = 16, scheduled once per cycle:
T1:16 16 16 16 16 16 16 16T1: 16 16 16 16 16 16 16 16
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T2:15 15 15 15 15 15 15 15T2: 15 15 15 15 15 15 15 15
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T3:14 14 14 14 14 14 14 14T3: 14 14 14 14 14 14 14 14
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T4:13 13 13 13 13 13 13 13T4: 13 13 13 13 13 13 13 13
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T5:12 12 12 12 12 12 12 12T5: 12 12 12 12 12 12 12 12
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T6:11 11 11 11 11 11 11 11T6: 11 11 11 11 11 11 11 11
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T7:10 10 10 10 10 10 10 10T7: 10 10 10 10 10 10 10 10
满足条件10,不调度共享Client RAM队列If condition 10 is met, the shared Client RAM queue is not scheduled
T8:9 9 9 9 9 9 9 9T8: 9 9 9 9 9 9 9 9
满足条件9,调度Client5队列Satisfy condition 9, schedule Client5 queue
T9:8 8 8 8 16 8 8 8T9: 8 8 8 8 16 8 8 8
满足条件9,调度Client6队列Satisfy condition 9, schedule Client6 queue
T10:8 8 8 8 14 14 6 6T10: 8 8 8 8 14 14 6 6
满足条件5,调度Client7队列Satisfy condition 5, schedule Client7 queue
T11:8 8 8 8 12 12 12 4T11: 8 8 8 8 12 12 12 4
满足条件1,调度Client8队列Satisfy condition 1, schedule Client8 queue
T12:8 8 8 8 10 10 10 10T12: 8 8 8 8 10 10 10 10
满足条件9,调度Client7队列Satisfy condition 9, schedule Client7 queue
T13:6 8 8 8 10 10 15 7T13: 6 8 8 8 10 10 15 7
满足条件4,调度Client8队列Satisfy condition 4, schedule Client8 queue
T14:4 8 8 8 10 10 12 12T14: 4 8 8 8 10 10 12 12
满足条件9,调度Client1队列Satisfy condition 9, schedule Client1 queue
T15:12 8 8 8 10 10 8 8T15: 12 8 8 8 10 10 8 8
满足条件9,调度Client7队列Satisfy condition 9, schedule Client7 queue
T16:12 8 8 8 10 10 12 4T16: 12 8 8 8 10 10 12 4
满足条件7,调度Client8队列Satisfy condition 7, schedule Client8 queue
T17:11 7 7 7 9 9 11 11T17: 11 7 7 7 9 9 11 11
.............
本申请实施例还提供一种基于FlexE的数据处理装置400,所述装置包括:Embodiments of the present application further provide a FlexE-based data processing apparatus 400, the apparatus comprising:
第一确定单元401,配置为确定在当前时钟周期起n个时钟周期中每组业务数据的时隙数;其中,n为大于等于1的正整数;The first determining unit 401 is configured to determine the number of time slots of each group of service data in n clock cycles from the current clock cycle; wherein, n is a positive integer greater than or equal to 1;
第二确定单元402,配置为根据所述每组业务数据的时隙数,确定当前时钟周期起下M时钟周期要调度的指定组业务数据的标识;其中,M为大于等于1的正整数;The second determination unit 402 is configured to determine, according to the time slot number of each group of service data, the identifier of the specified group of service data to be scheduled in M clock cycles from the current clock cycle; wherein, M is a positive integer greater than or equal to 1;
读取单元403,配置为根据所述指定业务数据的标识,读取所述指定组业务数据;The reading unit 403 is configured to read the specified group service data according to the identifier of the specified service data;
调度单元404,配置为将所述指定业务数据调度至FlexE日历。The scheduling unit 404 is configured to schedule the specified service data to the FlexE calendar.
在其他实施例中,所述第二确定单元,还配置为:In other embodiments, the second determining unit is further configured to:
数据处理装置根据当前时钟周期起n个时钟周期中所述每组业务数据的时隙数,和当前有效的寄存器数量,确定满足预设条件的一组业务数据的标识为所述指定组业务数据的标识。The data processing device determines, according to the number of time slots of each group of business data in n clock cycles from the current clock cycle, and the number of currently valid registers, the identification of a group of business data that satisfies the preset condition is the designated group of business data. 's identification.
在其他实施例中,所述装置还包括:In other embodiments, the apparatus further includes:
获取单元,配置为从MAC层获取当前时钟周期的业务数据,并分组保存在对应的缓存模块中;an acquisition unit, configured to acquire the service data of the current clock cycle from the MAC layer, and store it in a corresponding cache module in groups;
所述调度单元,还配置为从所述缓存模块中读取所述指定组业务数据后,调度至对应的寄存器组;The scheduling unit is further configured to, after reading the specified group of service data from the cache module, schedule it to the corresponding register group;
第三确定单元,配置为确定每组业务数据的所述寄存器组中,在当前有效的寄存器数量。The third determining unit is configured to determine the number of currently valid registers in the register group of each group of service data.
在其他实施例中,所述第二确定单元,包括:In other embodiments, the second determining unit includes:
第一确定模块,配置为依次确定当前时钟周期所述每组业务数据的时隙数是否大于等于所述寄存器数量;a first determining module, configured to sequentially determine whether the number of time slots of each group of service data in the current clock cycle is greater than or equal to the number of registers;
第二确定模块,配置为当所述第一确定模块确定有至少一组业务数据的时隙数大于等于所述寄存器数量时,将时隙数大于等于所述寄存器数量的任一组业务数据的标识确定为所述指定组业务数据的标识。The second determination module is configured to, when the first determination module determines that the number of time slots of at least one group of service data is greater than or equal to the number of registers, the number of time slots is greater than or equal to the number of registers of any group of service data. The identifier is determined to be the identifier of the specified group of service data.
在其他实施例中,所述第二确定单元,包括:In other embodiments, the second determining unit includes:
第一求和模块,配置为确定每组业务数据在当前时钟周期起的前k个时钟周期的时隙数之和,为第一累加和;其中,所述k为大于1且小于等于n的正整数;The first summation module, configured to determine the sum of the number of time slots of each group of service data in the first k clock cycles from the current clock cycle, is the first accumulated sum; wherein, the k is greater than 1 and less than or equal to n. positive integer;
第三确定模块,配置为当所述第三确定模块确定有至少一组业务数据的第一累加和大于等于所述寄存器数量时,将第一累加和大于等于所述寄存器数量的任一组业务数据的标识确定为所述指定组业务数据的标识。a third determination module, configured to, when the third determination module determines that the first accumulated sum of at least one group of service data is greater than or equal to the number of registers, determine any group of services whose first accumulated sum is greater than or equal to the number of registers The identifier of the data is determined as the identifier of the specified group of service data.
在其他实施例中,所述第三确定模块,包括:In other embodiments, the third determining module includes:
第一求和子模块,配置为当所述第三确定模块确定有至少两组业务数据的所述第一累加和大于等于所述寄存器数量时,分别确定每组业务数据的所述n个时钟周期的时隙数之和,为第二累加和;A first summation submodule, configured to respectively determine the n clock cycles of each set of service data when the third determination module determines that the first accumulated sum of at least two sets of service data is greater than or equal to the number of registers The sum of the number of time slots is the second accumulated sum;
第一求差子模块,配置为确定每组业务数据的第二累加和减去所述寄存器数量之差,为第一差值;a first difference submodule, configured to determine the difference between the second accumulated sum of each group of service data minus the number of the registers, which is the first difference;
第一确定子模块,配置为当有至少一组业务数据的第一差值最小时,将所述第一差值最小的任一组业务数据的标识确定为所述指定组业务数据的标识。The first determining submodule is configured to, when there is at least one group of service data with the smallest first difference, determine the identifier of any group of service data with the smallest first difference as the identifier of the specified group of service data.
在其他实施例中,所述第二确定单元,包括:In other embodiments, the second determining unit includes:
第二求和模块,配置为分别确定每组业务数据在当前时钟周期起的n个时钟周期的时隙数之和,为第三累加和;The second summation module is configured to respectively determine the sum of the number of time slots of each group of service data in n clock cycles from the current clock cycle, which is the third accumulated sum;
第一求差模块,配置为当每组业务数据的所述第三累加和均小于所述寄存器数量时,确定每组业务数据的所述寄存器数量减去当前时钟周期的时隙数之差,为第二差值;a first difference module, configured to determine the difference between the number of registers of each group of service data minus the number of time slots of the current clock cycle when the third accumulated sum of each group of service data is less than the number of registers, is the second difference;
第四确定模块,配置为当有至少一组业务数据的所述第二差值小于等于业务数据的组数时,则将所述第二差值小于等于业务数据的组数的任一组业务数据的标识确定为所述指定业务数据的标识。The fourth determination module is configured to, when the second difference of at least one group of business data is less than or equal to the number of groups of business data, then determine any group of services whose second difference is less than or equal to the number of groups of business data The identifier of the data is determined as the identifier of the specified service data.
在其他实施例中,所述第四确定模块,包括:In other embodiments, the fourth determining module includes:
第二求和子模块,配置为当有至少两组业务数据的所述第二差值小于所述组数时,确定所述第二差值小于所述组数的每一组业务数据的前k个时钟周期的时隙数之和,为第四累加和;其中,所述k为大于1小于n的正整数;The second summation submodule is configured to, when the second difference of at least two groups of service data is smaller than the number of groups, determine the top k of each group of service data whose second difference is smaller than the number of groups The sum of the number of time slots of the clock cycles is the fourth accumulated sum; wherein, the k is a positive integer greater than 1 and less than n;
第二求差子模块,配置为确定所述第二差值小于所述组数的每一组业务数据的所述寄存器数量减去所述第四累加和之差,为第三差值;a second difference submodule, configured to determine the difference between the number of registers of each group of service data whose second difference is less than the number of groups minus the fourth accumulated sum to be the third difference;
第二确定子模块,配置为确定有至少一组业务数据的所述第三差值最小,则将所述第三差值最小任一组业务数据的标识确定为所述指定组业务数据的标识。The second determination submodule is configured to determine that there is at least one group of service data with the smallest third difference, and then determine the identifier of any group of service data with the smallest third difference as the identifier of the specified group of service data .
在其他实施例中,所述第二确定子模块,包括:In other embodiments, the second determination submodule includes:
第三求和子模块,配置为当有至少两组业务数据的所述第三差值最小时,确定所述第三差值最小的每一组业务数据的n个时钟周期的时隙数之和,为第五累加和;A third summation submodule, configured to determine the sum of the number of time slots in n clock cycles of each group of service data with the smallest third difference when the third difference of at least two groups of service data is the smallest , is the fifth cumulative sum;
第三求差子模块,配置为确定所述第三差值最小的每一组业务数据的所述寄存器数量减去所述第五累加和之差,为第四差值;A third difference submodule, configured to determine the difference between the number of registers of each group of service data with the smallest third difference minus the fifth accumulated sum, as the fourth difference;
第三确定子模块,配置为确定有至少一组业务数据的所述第四差值最小,则将所述第四差值最小的任一组业务数据为所述指定组业务数据。The third determining submodule is configured to determine that there is at least one group of service data with the smallest fourth difference, and then use any group of service data with the smallest fourth difference as the designated group of service data.
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。The descriptions of the above apparatus embodiments are similar to the descriptions of the above method embodiments, and have similar beneficial effects to the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the descriptions of the method embodiments of the present application for understanding.
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台基于FlexE的数据处理设备(可以是个人计算机、移动终端、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。It should be noted that, in the embodiments of the present application, if the above data processing method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or in the parts that make contributions to the prior art. The computer software products are stored in a storage medium and include several instructions for A FlexE-based data processing device (which may be a personal computer, a mobile terminal, a server, or a network device, etc.) is caused to execute all or part of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a removable hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other mediums that can store program codes. As such, the embodiments of the present application are not limited to any specific combination of hardware and software.
对应地,本申请实施例提供一种基于FlexE的数据处理设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例提供的数据处理方法中的步骤。Correspondingly, an embodiment of the present application provides a FlexE-based data processing device, including a memory and a processor, where the memory stores a computer program that can be run on the processor, and the processor implements the above implementation when executing the program The steps in the data processing method provided by the example.
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的数据处理方法中的步骤。Correspondingly, the embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps in the data processing methods provided by the above embodiments.
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be pointed out here that the descriptions of the above storage medium and device embodiments are similar to the descriptions of the above method embodiments, and have similar beneficial effects to the method embodiments. For technical details not disclosed in the embodiments of the storage medium and device of the present application, please refer to the description of the method embodiments of the present application to understand.
需要说明的是,图5为本申请实施例中基于FlexE的数据处理设备的一种硬件实体示意图,如图5所示,该基于FlexE的数据处理设备500的硬件实体包括:处理器501、通信接口502和存储器503,其中It should be noted that FIG. 5 is a schematic diagram of a hardware entity of a FlexE-based data processing device in an embodiment of the application. As shown in FIG. 5 , the hardware entity of the FlexE-based
处理器501通常控制基于FlexE的数据处理设备500的总体操作。The
通信接口502可以使基于FlexE的数据处理设备500通过网络与其他终端或服务器通信。The
存储器503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及基于FlexE的数据处理设备500中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。The memory 503 is configured to store instructions and applications executable by the
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。It is to be understood that reference throughout the specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic associated with the embodiment is included in at least one embodiment of the present application. Thus, appearances of "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily necessarily referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation. The above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages or disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, herein, the terms "comprising", "comprising" or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements, It also includes other elements not expressly listed or inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented. In addition, the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical or other forms. of.
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。The unit described above as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit; it may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may all be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration The unit can be implemented either in the form of hardware or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by program instructions related to hardware, the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台基于FlexE的数据处理设备(可以是个人计算机、移动终端、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, if the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or in the parts that make contributions to the prior art. The computer software products are stored in a storage medium and include several instructions for A FlexE-based data processing device (which may be a personal computer, a mobile terminal, a server, or a network device, etc.) is caused to execute all or part of the methods described in the various embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only the embodiment of the present application, but the protection scope of the present application is not limited to this. Covered within the scope of protection of this application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims (12)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521179.XA CN111314404B (en) | 2018-12-12 | 2018-12-12 | FlexE-based data processing method, device, equipment and storage medium |
PCT/CN2019/110768 WO2020119235A1 (en) | 2018-12-12 | 2019-10-12 | Flexe-based data processing method and apparatus, device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521179.XA CN111314404B (en) | 2018-12-12 | 2018-12-12 | FlexE-based data processing method, device, equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314404A CN111314404A (en) | 2020-06-19 |
CN111314404B true CN111314404B (en) | 2022-08-02 |
Family
ID=71075702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811521179.XA Active CN111314404B (en) | 2018-12-12 | 2018-12-12 | FlexE-based data processing method, device, equipment and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111314404B (en) |
WO (1) | WO2020119235A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116171A (en) * | 2021-11-30 | 2022-03-01 | 新华三半导体技术有限公司 | Data processing method, device and system |
CN116418746B (en) * | 2021-12-30 | 2025-06-10 | 南京盛科通信有限公司 | Scheduling method, scheduling device, time-adaptive scheduler and storage medium |
CN116074260B (en) * | 2023-02-22 | 2024-08-09 | 国网山东省电力公司经济技术研究院 | A method for scheduling and arranging service slices in power networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888516A (en) * | 2016-09-29 | 2018-04-06 | 中兴通讯股份有限公司 | A kind of method, apparatus and system of bearer service |
WO2018120917A1 (en) * | 2016-12-26 | 2018-07-05 | 华为技术有限公司 | Flexible ethernet-based service flow transmission method and apparatus, and communication system |
WO2018121224A1 (en) * | 2016-12-27 | 2018-07-05 | 华为技术有限公司 | Method, network device, and system for transmitting wireless fronthaul interface signal |
WO2018149298A1 (en) * | 2017-02-16 | 2018-08-23 | 华为技术有限公司 | Flexible ethernet data transmission method and apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3393136B1 (en) * | 2015-06-30 | 2022-06-29 | Ciena Corporation | Flexible ethernet node and method for oam |
US10097480B2 (en) * | 2015-09-29 | 2018-10-09 | Ciena Corporation | Time transfer systems and methods over flexible ethernet |
JP2018046373A (en) * | 2016-09-13 | 2018-03-22 | 富士通株式会社 | Transmission equipment and transmission method |
CN108347317B (en) * | 2017-01-22 | 2020-11-10 | 华为技术有限公司 | A service transmission method, network device and network system |
CN111147298B (en) * | 2017-04-28 | 2022-04-05 | 华为技术有限公司 | A method and apparatus for capability discovery and state discovery |
-
2018
- 2018-12-12 CN CN201811521179.XA patent/CN111314404B/en active Active
-
2019
- 2019-10-12 WO PCT/CN2019/110768 patent/WO2020119235A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888516A (en) * | 2016-09-29 | 2018-04-06 | 中兴通讯股份有限公司 | A kind of method, apparatus and system of bearer service |
WO2018120917A1 (en) * | 2016-12-26 | 2018-07-05 | 华为技术有限公司 | Flexible ethernet-based service flow transmission method and apparatus, and communication system |
WO2018121224A1 (en) * | 2016-12-27 | 2018-07-05 | 华为技术有限公司 | Method, network device, and system for transmitting wireless fronthaul interface signal |
WO2018149298A1 (en) * | 2017-02-16 | 2018-08-23 | 华为技术有限公司 | Flexible ethernet data transmission method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2020119235A1 (en) | 2020-06-18 |
CN111314404A (en) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5863076B2 (en) | Method, apparatus, and system for reconstructing and reordering packets | |
WO2019085816A1 (en) | Service data transmission method and apparatus | |
CN112805971B (en) | Traffic shaping method and related equipment | |
KR101008510B1 (en) | Methods, systems, and computer products for high performance bonding resequencing | |
CN111314404B (en) | FlexE-based data processing method, device, equipment and storage medium | |
US10063478B2 (en) | Switching device and control method of switching device | |
CN105610729A (en) | Buffer allocation method, buffer allocation device and network processor | |
CN101159687A (en) | A system, device and method for multi-channel communication data transmission | |
CN116893983B (en) | Data caching methods, equipment and media | |
CN101146091A (en) | Multi-channel data output method and system | |
CN108462649A (en) | The method and apparatus for reducing high-priority data propagation delay time under congestion state in ONU | |
EP3461085B1 (en) | Method and device for queue management | |
CN105700940A (en) | Scheduler and dynamic multiplexing method thereof | |
CN119011508B (en) | A method for resolving message and host cache matching under virtio protocol | |
CN103297350A (en) | Implementing method and switching equipment of cell switching system | |
WO2018024173A1 (en) | Packet processing method and router | |
US7843940B2 (en) | Filling token buckets of schedule entries | |
US10079769B1 (en) | Methods and apparatus for implementing dynamic rate controllers using linked list of rate programs | |
JP2023523687A (en) | Device, method and system for virtualizing networks | |
CN101404609A (en) | Data exchange method, apparatus and system | |
US7565496B2 (en) | Sharing memory among multiple information channels | |
US9871733B2 (en) | Policer architecture | |
CN103368832A (en) | Hybrid switching network time slot assignment method based on sliding windows | |
CN210927788U (en) | Large-scale video display control matrix equipment based on Ethernet switching technology | |
CN116112829A (en) | Mapping and multiplexing method, device, electronic equipment and storage medium for optical transport network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |