A message processing method and device, an optical line terminal, and a storage medium

By determining the target time slot of the message and performing encapsulation processing in the PON system, the problem of insufficient resource reservation for serial message processing between OLT and ONU is solved, enabling effective transmission of data streams with special delay requirements and improving the transmission efficiency and reliability of the network.

CN119449920BActive Publication Date: 2025-12-12CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310983248.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-07
Publication Date
2025-12-12
Estimated Expiration
2043-08-07

AI Technical Summary

Technical Problem

In existing PON systems, the downlink message processing method between the OLT and ONU is serial, lacking a resource reservation mechanism, which cannot meet the transmission requirements of data streams with special latency requirements.

Method used

In the TC frame of the PON downlink direction, the target time slot of the message to be processed is determined and encapsulated into the corresponding time slot, while other time slot resources are reserved, so as to realize the dynamic scheduling and reservation of resources.

Benefits of technology

It breaks through the limitations of sequential transmission, provides latency guarantees for data streams with special latency requirements, and improves the transmission efficiency and reliability of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119449920B_ABST
    Figure CN119449920B_ABST
Patent Text Reader

Abstract

The application provides a message processing method and device, an optical line terminal and a storage medium, and relates to the technical field of computers. According to the message type of a to-be-processed message, a target time slot corresponding to the to-be-processed message is determined in a plurality of time slots of an XGEM partition in a TC frame in a passive optical network (PON) downstream direction, and the to-be-processed message is encapsulated into the target time slot. The to-be-processed message is encapsulated into the corresponding target time slot, other time slots except the target time slot are reserved, the limitation of sequential transmission can be broken, time slot resources are reserved for a data stream with special delay requirements, and delay guarantee is provided for the data stream with special delay requirements.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computers, and particularly relates to a message processing method and device, an optical line terminal and a storage medium. BACKGROUND

[0002] Passive optical network (PON) technology is a point-to-multipoint optical fiber access technology. A PON system can include an optical line terminal (OLT), an optical distribution network (ODN) and at least one optical network unit (ONU). The OLT is connected to the ODN, and the ODN is connected to at least one ONU. The ONU includes a service interface through which a user device can be connected.

[0003] For a PON downlink between the OLT and the ONU, the existing message processing method is a serial mode, that is, messages are received sequentially and encapsulation processing is sequentially performed, and there is a lack of a corresponding resource reservation mechanism. SUMMARY

[0004] To solve the above problems in the prior art, the embodiments of the present application provide a message processing method and device, an optical line terminal and a storage medium, which can put a to-be-processed message into a corresponding target time slot for encapsulation processing, and reserve other time slots except the target time slot, thereby realizing a resource reservation mechanism.

[0005] In a first aspect, the embodiments of the present application provide a message processing method, and the method comprises the following steps:

[0006] receiving a to-be-processed message;

[0007] determining a target time slot corresponding to the to-be-processed message in a plurality of time slots of an XGEM partition in a TC frame according to a message type of the to-be-processed message; wherein the time of the XGEM partition of one TC frame includes a plurality of time slots; and each time slot supports encapsulating a message of a corresponding set message type;

[0008] encapsulating the to-be-processed message into the target time slot.

[0009] In a possible implementation, the step of determining the target time slot corresponding to the to-be-processed message in the plurality of time slots of the XGEM partition in the TC frame comprises the following steps:

[0010] taking a current time slot as a to-be-matched time slot;

[0011] repeating the following steps:

[0012] determining whether the to-be-matched time slot is available according to a message type of the to-be-processed message;

[0013] if the to-be-matched time slot is not available, taking a next time slot of the to-be-matched time slot as a new to-be-matched time slot; and taking the to-be-matched time slot as the target time slot until the to-be-matched time slot is available.

[0014] In a possible implementation, the determining whether the to-be-matched time slot is available according to the message type of the to-be-processed message comprises:

[0015] if the message type of the to-be-processed message is a marked type and the to-be-matched time slot supports transmission of the marked type, determining whether the to-be-matched time slot is available according to a slice identifier associated with the to-be-processed message; wherein some time slots in the plurality of time slots correspond to at least one slice identifier.

[0016] In a possible implementation, the determining whether the to-be-matched time slot is available according to the slice identifier associated with the to-be-processed message comprises:

[0017] determining whether the to-be-matched time slot is available according to a slice identifier carried by the to-be-processed message; or

[0018] determining whether the to-be-matched time slot is available according to a slice identifier mapped by the to-be-processed message.

[0019] In a possible implementation, the determining whether the to-be-matched time slot is available according to the slice identifier associated with the to-be-processed message comprises:

[0020] if at least one slice identifier corresponding to the to-be-matched time slot matches the slice identifier associated with the to-be-processed message and the to-be-matched time slot has an available duration, determining that the to-be-matched time slot is available.

[0021] In a possible implementation, the determining whether the to-be-matched time slot is available according to the message type of the to-be-processed message comprises:

[0022] if the message type of the to-be-processed message is an unmarked type, the to-be-matched time slot supports the unmarked type, and the to-be-matched time slot has an available duration, determining that the to-be-matched time slot is available.

[0023] In a possible implementation, the determining whether the to-be-matched time slot is available according to the message type of the to-be-processed message comprises:

[0024] If the message type of the to-be-processed message is an operation and maintenance type, the to-be-matched time slot supports the operation and maintenance type, and the to-be-matched time slot has an available duration, it is determined that the to-be-matched time slot is available.

[0025] In a possible implementation, the encapsulating the to-be-processed message into the target time slot includes:

[0026] If the target time slot has not started at the current moment, the to-be-processed message is saved into a cache corresponding to the target time slot.

[0027] After waiting for the target time slot to start, the to-be-processed message is encapsulated.

[0028] In a possible implementation, the encapsulating the to-be-processed message includes:

[0029] If the remaining available duration of the target time slot is greater than or equal to a duration required for transmitting the to-be-processed message, the to-be-processed message is encapsulated.

[0030] and / or,

[0031] If the remaining available duration of the target time slot is less than a duration required for transmitting the to-be-processed message and greater than a duration required for transmitting a frame header of an XGEM frame, the to-be-processed message is fragmented, a first message fragment obtained by fragmentation is encapsulated.

[0032] A next target time slot is determined for a second message fragment obtained by fragmentation, the second message fragment is put into a cache of the next target time slot, and after waiting for the next target time slot to start, the second message fragment is encapsulated.

[0033] In a possible implementation, the method further includes:

[0034] If the remaining available duration of the target time slot is greater than or equal to a duration required for transmitting the to-be-processed message, the available length of the target time slot is updated according to an encapsulation length of the to-be-processed message.

[0035] If the remaining available duration of the target time slot is less than a duration required for transmitting the to-be-processed message and greater than a duration required for transmitting a frame header of an XGEM frame, the available length of the target time slot is updated according to an encapsulation length of the first message fragment.

[0036] In a possible implementation, the XGEM partition is an XGEM partition in an FS frame in the TC frame.

[0037] In a second aspect, an embodiment of the present application provides a message processing device, which includes:

[0038] The receiving unit is configured to receive a to-be-processed packet.

[0039] The scheduling unit is configured to determine a target time slot corresponding to the to-be-processed packet in a plurality of time slots of an XGEM partition in a TC frame according to a packet type of the to-be-processed packet, wherein the time of the XGEM partition of one TC frame includes a plurality of time slots, and each time slot supports encapsulating a packet of a corresponding set packet type.

[0040] The encapsulating unit is configured to encapsulate the to-be-processed packet into the target time slot.

[0041] In a third aspect, an optical line terminal is provided, including a memory and a processor, and the memory stores a computer program capable of running on the processor. When the computer program is executed by the processor, the method in any one of the first aspect is implemented.

[0042] In a fourth aspect, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. When the computer program is executed by a processor, the method in any one of the first aspect is implemented.

[0043] The packet processing method, device, optical line terminal and storage medium provided in the embodiments of the present application can determine a target time slot corresponding to a to-be-processed packet in a plurality of time slots of an XGEM partition in a TC frame in a downstream direction of a passive optical network (PON), according to a packet type of the to-be-processed packet, and encapsulate the to-be-processed packet into the target time slot. Encapsulating the to-be-processed packet into the corresponding target time slot, reserving other time slots except the target time slot, can break through the limitation of sequential transmission, reserve time slot resources for data streams with special delay requirements, and be beneficial to providing delay guarantee for the data streams with special delay requirements. BRIEF DESCRIPTION OF DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0045] Figure 1 A schematic diagram of a PON system for the embodiments of the present application;

[0046] Figure 2 A schematic diagram of a PON protocol stack for the embodiments of the present application;

[0047] Figure 3Another schematic diagram of a PON protocol stack provided for an embodiment of the present application;

[0048] Figure 4 A flowchart of a message processing method provided for an embodiment of the present application;

[0049] Figure 5 A schematic diagram of message time slot allocation provided for an embodiment of the present application;

[0050] Figure 6 A flowchart of a message processing method provided for an embodiment of the present application;

[0051] Figure 7 A structural schematic diagram of a message processing device provided for an embodiment of the present application. DETAILED DESCRIPTION

[0052] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.

[0053] It should be noted that the terms "include" and "have" and their conjugations involved in the present application document are intended to cover the non-exclusive inclusion, for example, a process, method, system, product or device that includes a list of steps or units is not necessarily limited to those clearly listed steps or units, but can include other steps or units that are not clearly listed or inherent to such processes, methods, products or devices.

[0054] At present, with the development of network communication technology, the existing network can carry a variety of services, such as voice, video, network game, network browsing, etc. In recent years, the demand for network bandwidth grows exponentially, although the operators have improved the network carrying and data transmission capacity by continuously expanding the physical bandwidth and related technologies, but the increase of physical bandwidth is always behind the user's requirements for data transmission. Under the impact of large data volume, in order to ensure the reliability of network carrying a variety of service transmission and the QoS (quality of service) of the corresponding service, most of the major telecom operators have chosen PON (Passive Optical Network) as the broadband fiber access.

[0055] PON is a new type of fiber access network technology with low cost and high capacity, which adopts point-to-multipoint structure. The PON system can include an optical line terminal (OLT), an optical distribution network (ODN), and at least one optical network unit (ONU). The OLT is connected with the ODN, and the ODN is connected with at least one ONU. The ONU includes a service interface through which a user equipment can be connected.

[0056] However, for the PON downlink between the OLT and the ONU, the existing message processing method is in a serial manner, that is, the messages are received in sequence, and the encapsulation processing is performed in sequence, and there is a lack of corresponding resource reservation mechanism.

[0057] Based on this, an embodiment of the present application provides a message processing method. Through the message type of a to-be-processed message, a target time slot corresponding to the to-be-processed message is determined in a plurality of time slots of an XGEM partition in a TC frame in a passive optical network (PON) downlink direction, and the to-be-processed message is encapsulated into the target time slot. Encapsulating the to-be-processed message into the corresponding target time slot, and reserving other time slots except the target time slot, can break through the limitation of sequential transmission, reserve time slot resources for data streams with special delay requirements, and be beneficial to providing delay guarantee for data streams with special delay requirements.

[0058] The following briefly introduces the method for processing messages between the OLT optical line terminal and the ONU optical network unit of the existing PON system, as shown in Figure 1 As shown in the figure, the transmission convergence layer of the OLT optical line terminal in the PON system processes messages in a serial manner, that is, sequentially receives messages (SDU), sequentially encapsulates the messages as payloads of XGEM frames, adds a frame header H, encapsulates into XGEM frames, and then sends the XGEM frames into a framing sub-layer (FS). The XGEM frame is used as the payload of the FS frame, and TC frames are sequentially assembled. Since each TC frame has a period of 125us, if a certain message crosses two adjacent TC frames in the process of assembling the TC frames, the message is divided into two message fragments (SDU fragment1 and SDU fragment2) according to the actual remaining available length of the previous TC frame, encapsulated into two XGEM frames, and assembled into two adjacent TC frames (i.e., the end of the previous TC frame and the beginning of the next TC frame).

[0059] Figure 2This is a schematic diagram of a traditional PON protocol stack provided in the embodiments of this application. In a traditional PON protocol stack, the User Data Client sends data packets to the User Data Adapter and outputs data packets. The Optical Network Unit Management and Control Interface (OMCI Client) sends maintenance messages to the OMCI Adapter and outputs maintenance messages. Both data packets and maintenance messages are sent to the XGEM Encapsulation Engine for XGEM frame encapsulation. The encapsulated XGEM frames are then sent to the XGEM partition of the framing sublayer (FS frame / burst) for TC frame assembly. In the framing sublayer, a PLOAM partition (Physical Layer Operation, Management and Maintenance Control Information Partition) can be added before the XGEM partition, and header fields are embedded. Finally, the TC frame is transmitted through the Physical Layer (PHY burst timing and profile control). In the above process, XGEM frame encapsulation, TC frame assembly, and TC frame transmission are all performed sequentially, lacking a corresponding resource reservation mechanism.

[0060] Based on this, the embodiments of this application add a Slicing Schedule module to the traditional PON protocol stack, such as... Figure 3 As shown, the Slicing Schedule module can receive data packets output by the User Data Adapter and maintenance packets output by the Optical Network Unit Management and Control Adapter (OMCI Adapter). Within the pre-allocated time slots of the XGEM partition, it places the packets into the corresponding target time slots according to their packet type and associated slice identifier. In the target time slot, the packets are sent to the XGEM Encapsulation Engine for XGEM frame encapsulation. The encapsulated XGEM frames are then sent to the XGEM partition of the framing sublayer (FS frame / burst) for TC frame assembly processing, thereby reserving time slot resources.

[0061] like Figure 4 As shown in the embodiments of this application, the message processing method applied by the slice scheduling module may include the following steps:

[0062] Step S401: Receive the message to be processed.

[0063] The message to be processed received by the slice scheduling module can include various message types.

[0064] In an optional embodiment, the to-be-processed packet can include three packet types, the first packet type is a marked type, the marked type corresponds to a marked data packet, and the marked data packet has an associated slice identifier. The second packet type is an unmarked type, the unmarked type corresponds to an unmarked data packet without an associated slice identifier, and the third packet type is an operation and maintenance type, the operation and maintenance type corresponds to an operation and maintenance packet without an associated slice identifier. The slice scheduling module can determine the target time slot corresponding to the to-be-processed packet according to the packet type of the to-be-processed packet.

[0065] The slice identifier associated with the to-be-processed packet can be a slice identifier carried by the to-be-processed packet, or the slice identifier associated with the to-be-processed packet can be a slice identifier mapped by the to-be-processed packet.

[0066] Step S402, according to the packet type of the to-be-processed packet, determine the target time slot corresponding to the to-be-processed packet in the plurality of time slots of the XGEM partition in the TC frame.

[0067] The time of the XGEM partition of one TC frame includes a plurality of time slots, each time slot corresponds to at least one slice identifier, the number of time slots, the available length of each time slot, whether each time slot supports the transmission of operation and maintenance packets, and whether each time slot supports the transmission of unmarked data packets can be adaptively configured according to actual needs.

[0068] Exemplarily, the time slot configuration of the XGEM partition time can be as shown in Table 1 below, the XGEM partition can be divided into five time slots, namely time slot 1, time slot 2, time slot 3, time slot 4 and time slot 5. Among them, the length of time slot 1 is L1, the length of time slot 2 is L2, the length of time slot 3 is L3, the length of time slot 4 is L4, and the length of time slot 5 is L5. Further, time slot 1 can be set to support the transmission of data packets associated with slice identifier 1, and does not support the transmission of operation and maintenance packets and unmarked data packets. Time slot 2 can be set to support the transmission of data packets associated with slice identifier 2, and does not support the transmission of operation and maintenance packets and unmarked data packets. Time slot 3 can be set to support the transmission of data packets associated with slice identifier 1, operation and maintenance packets and unmarked data packets. Time slot 4 can be set to support the transmission of data packets associated with slice identifier 3, and does not support the transmission of operation and maintenance packets and unmarked data packets. Time slot 5 can be set to support the transmission of data packets associated with slice identifier 4, operation and maintenance packets and unmarked data packets. The slice scheduling module can determine the target time slot corresponding to the to-be-processed packet according to the type of packet supported by each of time slots 1 to 5.

[0069] It should be noted that the time slot configuration of the XGEM partition time includes but is not limited to the time slot configuration mode shown in Table 1, and the time slot configuration mode in Table 1 is only used for illustration and does not limit the time slot configuration of the XGEM partition time of the present application.

[0070]

[0071]

[0072] Table 1

[0073] In an optional embodiment, the message to be processed received by the slice scheduling module can be an identified data message, and the identified data message has an associated slice identifier corresponding to the slice identifier of the time slot. In order to distinguish the slice identifier associated with the message to be processed from the slice identifier in the time slot, the identifier associated with the message to be processed is referred to as the target slice identifier hereinafter.

[0074] For example, the slice scheduling module can first select the current time slot corresponding to the current time as the to-be-matched time slot in the plurality of time slots, and repeatedly perform the following steps: if the slice identifier corresponding to the to-be-matched time slot does not match the target slice identifier associated with the message to be processed, or the to-be-matched time slot does not have an available duration, the next time slot of the to-be-matched time slot can be selected as a new to-be-matched time slot, until the slice identifier corresponding to the to-be-matched time slot matches the target slice identifier associated with the message to be processed, and the to-be-matched time slot has an available duration, and the to-be-matched time slot is selected as the target time slot.

[0075] Specifically, taking the time slot configuration mode of Table 1 as an example, it is assumed that the target slice identifier associated with the message to be processed is identifier 1, and the time slot corresponding to the current time is time slot 1. It can be determined that the slice identifier 1 corresponding to the time slot 1 matches the target slice identifier, that is, the time slot 1 supports transmission of the message to be processed associated with the slice identifier 1. After determining that the current time slot 1 supports transmission of the message to be processed associated with the slice identifier 1, it can be determined whether the time slot 1 has an available duration. If the time slot 1 has an available duration, the time slot 1 can be determined as the target time slot.

[0076] Further, as shown in Figure 5 the message associated with identifier 1 (slice 1 SDU) can be placed in the time slot 1 of the current XGEM partition (XGEM partition) time, and the target time slot of the message associated with identifier 2 (slice 2 SDU) is time slot 2. Since the time slot 1 does not support transmission of the message associated with identifier 2, and the time slot 2 supports transmission of the message associated with identifier 2, and the time slot 2 has not started, the message associated with identifier 2 can be placed in the cache corresponding to the time slot 2, so that the time slot resources of the time slot 1 are not occupied, thereby reserving time slot resources for the message associated with identifier 1.

[0077] In an optional embodiment, the plurality of messages can be processed in a FIFO (first input first output) manner.

[0078] In some embodiments, if a message associated with identifier 1 is received during the time interval when time slot 1 is being processed, the message associated with identifier 1 can be placed in time slot 1 of the current XGEM partition time. Thus, even if the message associated with identifier 1 is received later than the messages associated with other identifiers, or later than the un-identified data messages and operation and maintenance messages, the message associated with identifier 1 can be transmitted earlier than the encapsulation of other messages, thereby improving the conventional message processing mechanism of sequentially receiving messages and sequentially encapsulating the messages, and providing priority guarantee for transmitting messages on the PON downlink.

[0079] In other embodiments, if no message associated with identifier 1 is received during the time interval when time slot 1 is being processed, the time slot resource of time slot 1 is still reserved and is not used by the messages associated with other identifiers, the un-identified data messages, and the operation and maintenance messages. If a message associated with identifier 1 is received in another time slot of the current XGEM partition time, for example, if a message associated with identifier 1 is received in time slot 2 of the current XGEM partition time, the time slot corresponding to the current time is time slot 2. It can be determined that the slice identifier corresponding to time slot 2 is identifier 2. Thus, the target slice identifier associated with the to-be-processed message does not match time slot 2, and the next time slot of time slot 2 is determined. The next time slot of time slot 2 is time slot 3, and the slice identifier corresponding to time slot 3 is identifier 1. Thus, the target slice identifier associated with the to-be-processed message matches time slot 3. It is determined whether time slot 3 has an available time length. If time slot 3 has an available time length, it is determined that time slot 3 is the target time slot, and the message associated with identifier 1 can be placed in time slot 3 for buffering.

[0080] For example, if the current time slot is time slot 4, it can be determined whether the target slice identifier associated with the to-be-processed packet matches the time slot 4. The slice identifier corresponding to the time slot 4 is identifier 3. Therefore, the target slice identifier associated with the to-be-processed packet does not match the time slot 4. It is further determined whether the next time slot of the time slot 4 matches the target slice identifier associated with the to-be-processed packet. The next time slot of the time slot 4 is time slot 5, and the slice identifier corresponding to the time slot 5 is identifier 4. Therefore, the target slice identifier associated with the to-be-processed packet does not match the time slot 5. It is further determined whether the next time slot of the time slot 5, i.e., the time slot 1 of the next XGEM partition, matches the target slice identifier associated with the to-be-processed packet. Since the time slot 1 matches the target slice identifier associated with the to-be-processed packet and the time slot 1 has a usable time length, the packet associated with the identifier 1 can be cached in the time slot 1 of the next XGEM partition. After the time slot 1 of the next XGEM partition starts, the packet is processed.

[0081] In another optional embodiment, the to-be-processed packet received by the slice scheduling module can be a no-identifier data packet.

[0082] The target time slot corresponding to the no-identifier data packet can be determined in the following manner:

[0083] The current time slot is taken as a to-be-matched time slot. The following steps are repeatedly performed: if the to-be-matched time slot does not support transmission of the no-identifier data packet or the to-be-matched time slot does not have a usable time length, the next time slot of the to-be-matched time slot is taken as a new to-be-matched time slot, until the to-be-matched time slot supports transmission of the no-identifier data packet and the to-be-matched time slot has a usable time length. The to-be-matched time slot is taken as a target time slot.

[0084] For example, the time slot configuration mode of Table 1 is taken as an example. It is assumed that the to-be-processed packet is a no-identifier data packet, and the current time corresponds to the time slot 1. It can be determined that the time slot 1 does not support transmission of the no-identifier data packet. It is further determined that the next time slot of the time slot 1 is the time slot 2. The time slot 2 also does not support transmission of the no-identifier data packet. It is further determined that the next time slot of the time slot 2 is the time slot 3. The time slot 3 supports transmission of the no-identifier data packet. It is further determined whether the time slot 3 has a remaining usable time length. Since the time slot 3 has a remaining usable time length, the time slot 3 is determined as a target time slot.

[0085] In another optional embodiment, the to-be-processed packet received by the slice scheduling module can be an operation and maintenance packet.

[0086] The target time slot corresponding to the operation and maintenance packet can be determined in the following manner:

[0087] The current time slot is taken as a to-be-matched time slot, and the following steps are repeatedly performed: if the to-be-matched time slot does not support transmission of the operation and maintenance message, or the to-be-matched time slot does not have an available time length, the next time slot of the to-be-matched time slot is taken as a new to-be-matched time slot until the to-be-matched time slot supports transmission of the operation and maintenance message and the to-be-matched time slot has an available time length, and the to-be-matched time slot is taken as a target time slot.

[0088] Exemplarily, continuing to take the time slot configuration mode of Table 1 as an example, it is assumed that the to-be-processed message is an operation and maintenance message, and the time slot corresponding to the current time is time slot 1. It can be determined that time slot 1 does not support transmission of the operation and maintenance message. The next time slot of time slot 1 is continued to be determined, which is time slot 2. Time slot 2 also does not support transmission of the operation and maintenance message. The next time slot of time slot 2 is continued to be determined, which is time slot 3. Time slot 3 supports transmission of the operation and maintenance message. Further, it can be determined whether time slot 3 has a remaining available time length. Time slot 3 has a remaining available time length. Therefore, it can be determined that time slot 3 is the target time slot.

[0089] It should be noted that any time slot can support transmission of both the non-identity data message and the operation and maintenance message, or any time slot can support transmission of only the non-identity data message and not support transmission of the operation and maintenance message, or any time slot can not support transmission of the non-identity data message and support transmission of only the operation and maintenance message. For each time slot, which type of message is supported for transmission can be freely set according to actual needs, and the present application does not limit this.

[0090] In step S403, the to-be-processed message is encapsulated into the target time slot.

[0091] After the slice scheduling module determines the target time slot corresponding to the to-be-processed message, the to-be-processed message can be encapsulated into the target time slot.

[0092] In an optional embodiment, if the target time slot has started, the to-be-processed message can be encapsulated.

[0093] Exemplarily, if the target time slot has started, a first judgment can be performed to determine whether the remaining available time length of the target time slot is greater than or equal to the time length required for transmission of the to-be-processed message.

[0094] If the remaining available time length of the target time slot is greater than or equal to the time length required for transmission of the to-be-processed message, the available length of the target time slot can be updated according to the encapsulation length of the to-be-processed message, and the to-be-processed message can be encapsulated.

[0095] Specifically, assuming that the target time slot is time slot 1, the remaining available duration of time slot 1 is L1, the duration required for transmitting the to-be-processed packet is L1', and L1>L1', the available length of time slot 1 can be updated as (L1-L1'), further, the to-be-processed packet can be taken as a payload part, and a frame header of an XGEM frame is added to obtain an XGEM frame. After obtaining the XGEM frame, the XGEM frame can be put into an XGEM partition for TC frame framing.

[0096] If the remaining available duration of the target time slot is less than the duration required for transmitting the to-be-processed packet, a second judgment can be performed to determine whether the remaining available duration of the target time slot is greater than the duration required for transmitting a frame header of an XGEM frame.

[0097] If the remaining available duration of the target time slot is greater than the duration required for transmitting a frame header of an XGEM frame, the to-be-processed packet can be fragmented, a first packet fragment obtained by fragmentation is encapsulated as an XGEM frame, the XGEM frame is processed for TC frame framing, the available length of the target time slot is updated according to the encapsulation length of the first packet fragment, a next target time slot is determined for a second packet fragment obtained by fragmentation, the second packet fragment is put into the buffer of the next target time slot, and after the next target time slot starts, the second fragment is processed for XGEM frame encapsulation and TC frame framing.

[0098] If the remaining available duration of the target time slot is less than or equal to the duration required for transmitting a frame header of an XGEM frame, a next target time slot can be determined for the to-be-processed packet, the to-be-processed packet is put into the buffer of the next target time slot, and after the next target time slot starts, the to-be-processed packet is processed for encapsulation.

[0099] Specifically, assuming that the target time slot is time slot 2, the remaining available duration of time slot 2 is L2, the duration required for transmitting the to-be-processed packet is L2', and L2≤L2', it can be determined whether L2 is greater than the duration required for transmitting a frame header of an XGEM frame.

[0100] If L2 is greater than the duration required for transmitting a frame header of an XGEM frame, the to-be-processed packet can be fragmented, a first packet fragment obtained by fragmentation is encapsulated as an XGEM frame, the XGEM frame is processed for TC frame framing, the available length of time slot 2 is updated as (L2-encapsulation length of the first packet fragment) according to the encapsulation length of the first packet fragment, a next target time slot is determined for a second packet fragment obtained by fragmentation, the second packet fragment is put into the buffer of the next target time slot, and after the next target time slot starts, the second fragment is processed for XGEM frame encapsulation and TC frame framing.

[0101] If the L2 is less than or equal to the time length required for transmitting a frame header of an XGEM frame, the next target time slot can be determined for the to-be-processed packet, the to-be-processed packet is put into a buffer of the next target time slot, and the to-be-processed packet is encapsulated after the next target time slot starts.

[0102] In another optional embodiment, if the target time slot has not started at the current time, the to-be-processed packet can be saved into a buffer corresponding to the target time slot, and the to-be-processed packet is encapsulated at the target time slot. The process of encapsulating the to-be-processed packet has been described in detail above, and will not be described here again.

[0103] Based on the same inventive concept, the present application also provides a packet processing method, as shown in Figure 6 The method can include the following steps:

[0104] In step S601, a to-be-processed packet is received.

[0105] In step S602, a target time slot corresponding to the to-be-processed packet is determined in a plurality of time slots of an XGEM partition in a TC frame according to a packet type of the to-be-processed packet.

[0106] In step S603, it is determined whether the target time slot starts.

[0107] If the target time slot starts, step S604 can be performed, and if the target time slot has not started, step S605 can be performed.

[0108] In step S604, it is determined whether a remaining available time length of the target time slot is greater than or equal to a time length required for transmitting the to-be-processed packet.

[0109] If the remaining available time length of the target time slot is greater than or equal to the time length required for transmitting the to-be-processed packet, step S606 can be performed. If the remaining available time length of the target time slot is less than the time length required for transmitting the to-be-processed packet, step S607 can be performed.

[0110] In step S605, the to-be-processed packet is saved into a buffer corresponding to the target time slot.

[0111] In step S606, encapsulation processing is performed.

[0112] In step S607, it is determined whether the remaining available time length of the target time slot is greater than a time length required for transmitting a frame header of an XGEM frame. If yes, step S608 can be performed. If no, step S610 can be performed.

[0113] In step S608, the to-be-processed packet is fragmented.

[0114] Step S609, determining whether the packet fragment is fragment 1. If yes, executing step S606. If no, executing step S610.

[0115] Step S610, matching the next target time slot.

[0116] Based on the same inventive concept, the present application also provides a structural diagram of a packet processing device, as shown in the figure, which comprises: Figure 7

[0117] The receiving unit 701 is configured to receive a to-be-processed packet.

[0118] The scheduling unit 702 is configured to determine a target time slot corresponding to the to-be-processed packet in a plurality of time slots of an XGEM (XGPON Encapsulation Method) partition in a TC (transmission convergence) frame according to a packet type of the to-be-processed packet, wherein the time of the XGEM partition of one TC frame comprises a plurality of time slots, and each time slot supports encapsulating a packet of a corresponding set packet type.

[0119] The encapsulating unit 703 is configured to encapsulate the to-be-processed packet into the target time slot.

[0120] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can adopt a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt a computer program product in the form of one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program codes.

[0121] The present application is described with reference to flowcharts and / or block diagrams according to the methods, devices (systems), and computer program products of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to produce a machine, so that the instructions executed by the computer or other programmable data processing devices produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one flow or multiple flows and / or blocks Figure 1 The functions specified in one flow or multiple flows and / or blocks

[0122] ​These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the flow Figure 1 The flow or flows and / or blocks Figure 1 The flow or flows and / or blocks

[0123] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 The flow or flows and / or blocks Figure 1 The flow or flows and / or blocks

[0124] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

Claims

1. A method of processing a packet, the method comprising: The method is applied to an optical line terminal, and the method comprises the following steps: receiving a to-be-processed packet; taking a current time slot as a to-be-matched time slot; determining whether the to-be-matched time slot is available according to a packet type of the to-be-processed packet; if the to-be-matched time slot is not available, taking a next time slot of the to-be-matched time slot as a new to-be-matched time slot, and determining a target time slot corresponding to the to-be-processed packet in a plurality of time slots of an XGEM partition in a TC frame; taking the to-be-matched time slot as the target time slot until the to-be-matched time slot is available; wherein a time of the XGEM partition of one TC frame comprises a plurality of time slots; each time slot supports encapsulating a packet of a corresponding set packet type; encapsulating the to-be-processed packet into the target time slot.

2. The method of claim 1, wherein, The step of determining whether the to-be-matched time slot is available according to the packet type of the to-be-processed packet comprises the following steps: if the packet type of the to-be-processed packet is a type with an identifier, and the to-be-matched time slot supports transmission of the type with an identifier, then determining whether the to-be-matched time slot is available according to a slice identifier associated with the to-be-processed packet; wherein some time slots in the plurality of time slots correspond to at least one slice identifier.

3. The method of claim 2, wherein, The step of determining whether the to-be-matched time slot is available according to the slice identifier associated with the to-be-processed packet comprises the following steps: determining whether the to-be-matched time slot is available according to a slice identifier carried by the to-be-processed packet; or determining whether the to-be-matched time slot is available according to a slice identifier mapped by the to-be-processed packet.

4. The method of claim 2, wherein, The step of determining whether the to-be-matched time slot is available according to the slice identifier associated with the to-be-processed packet comprises the following step: if at least one slice identifier corresponding to the to-be-matched time slot matches the slice identifier associated with the to-be-processed packet, and the to-be-matched time slot has an available duration, then determining that the to-be-matched time slot is available.

5. The method of claim 1, wherein, The step of determining whether the to-be-matched time slot is available according to the packet type of the to-be-processed packet comprises the following step: if the packet type of the to-be-processed packet is a type without an identifier, the to-be-matched time slot supports the type without an identifier, and the to-be-matched time slot has an available duration, then determining that the to-be-matched time slot is available.

6. The method of claim 1, wherein, The step of determining whether the to-be-matched time slot is available according to the packet type of the to-be-processed packet comprises the following step: if the packet type of the to-be-processed packet is an operation and maintenance type, the to-be-matched time slot supports the operation and maintenance type, and the to-be-matched time slot has an available duration, then determining that the to-be-matched time slot is available.

7. The method of claim 1, wherein, The step of encapsulating the to-be-processed packet into the target time slot comprises the following steps: if the target time slot has not started at a current time, then saving the to-be-processed packet into a buffer corresponding to the target time slot; waiting for the target time slot to start, and then performing encapsulation processing on the to-be-processed packet.

8. The method of claim 7, wherein, The step of performing encapsulation processing on the to-be-processed packet comprises the following step: if a remaining available duration of the target time slot is greater than or equal to a duration required for transmitting the to-be-processed packet, then performing encapsulation processing on the to-be-processed packet; and / or ​ If the remaining available duration of the target time slot is less than the duration required for transmitting the to-be-processed packet and greater than the duration required for transmitting a frame header of an XGEM frame, the to-be-processed packet is fragmented, and a first packet fragment obtained by fragmentation is encapsulated. A next target time slot is determined for a second packet fragment obtained by fragmentation, the second packet fragment is placed in a buffer of the next target time slot, and after the next target time slot starts, the second packet fragment is encapsulated.

9. The method of claim 8, wherein, The method further includes: If the remaining available duration of the target time slot is greater than or equal to the duration required for transmitting the to-be-processed packet, the available length of the target time slot is updated according to the encapsulation length of the to-be-processed packet. If the remaining available duration of the target time slot is less than the duration required for transmitting the to-be-processed packet and greater than the duration required for transmitting a frame header of an XGEM frame, the available length of the target time slot is updated according to the encapsulation length of the first packet fragment.

10. The method of any one of claims 1-9, wherein, The XGEM partition is an XGEM partition in an FS frame in the TC frame.

11. A packet processing device, characterized by, The apparatus includes: a receiving unit configured to receive a to-be-processed packet; a scheduling unit configured to take a current time slot as a to-be-matched time slot; determine whether the to-be-matched time slot is available according to a packet type of the to-be-processed packet; if the to-be-matched time slot is not available, take a next time slot of the to-be-matched time slot as a new to-be-matched time slot, and determine a target time slot corresponding to the to-be-processed packet in a plurality of time slots of an XGEM partition in a TC frame; and take the to-be-matched time slot as the target time slot until the to-be-matched time slot is available, wherein a time of the XGEM partition of one TC frame includes a plurality of time slots, and each time slot supports encapsulation of a packet of a corresponding set packet type. an encapsulating unit configured to encapsulate the to-be-processed packet into the target time slot.

12. An optical line termination, characterized by The computer program is executed by the processor to implement the method in any one of claims 1-10.

13. A computer readable storage medium having stored therein a computer program, characterized in that: The computer program is executed by the processor to implement the method in any one of claims 1-10.

Citation Information

Patent Citations

  • Message processing method and device

    CN113645005A