A transmission channel allocation method and device, electronic equipment and storage medium
By dividing data into major and minor categories based on data characteristics before data transmission and dynamically adjusting channel allocation in PCIe Switch, the problems of data transmission efficiency and accuracy are solved, achieving more efficient data transmission.
Patent Information
- Application Number
- CN202310301797.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-24
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2043-03-24
AI Technical Summary
Existing technologies do not fully utilize the dynamic channel allocation function of the PCIe switch chip during data transmission, which affects data transmission efficiency and accuracy.
The target data is divided into multiple major and minor categories based on data characteristics, and a corresponding transmission channel is assigned to each minor category. The channel allocation is dynamically adjusted to cope with abnormal situations, and the dynamic allocation function of PCIe Switch is used for data transmission.
It improves data transmission rate and accuracy, ensures the balance and reliability of data transmission, and avoids delay conflicts caused by channel multiplexing.
Smart Images

Figure CN116301645B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and more specifically, to a transmission channel allocation method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] In the era of big data, higher demands are placed on the reliability of storage arrays, especially on the efficiency of data storage in storage systems. The exponential increase in business data puts pressure on data transmission in storage devices. Current data transmission links have been upgraded to PCIe (Peripheral Component Interconnect Express) 5.0. During transmission, the switching efficiency of the PCIe switch directly impacts data transmission efficiency. Traditional channel allocation only allocates channels at the physical layer, failing to utilize the dynamic channel allocation function of the PCIe switch chip to perform secondary allocation during data transmission to improve transmission rates. Furthermore, the channel allocation process does not adequately consider the storage data information. These problems severely affect the efficiency and accuracy of data transmission.
[0003] Therefore, how to improve data transmission efficiency is a technical problem that needs to be solved by those skilled in the art. Summary of the Invention
[0004] The purpose of this application is to provide a transmission channel allocation method, apparatus, electronic device, and computer-readable storage medium, which improves data transmission efficiency.
[0005] To achieve the above objectives, this application provides a transmission channel allocation method, comprising:
[0006] Determine the target data that needs to be transmitted in the current time period;
[0007] The target data is divided into multiple major categories according to the first data feature, and the data of the multiple major categories is divided into multiple minor categories according to the second data feature;
[0008] A corresponding stack is allocated for each major category of data, and one or more transmission channels in the corresponding stack are allocated for each minor category of data within each major category.
[0009] The step of dividing the target data into multiple categories according to the first data feature includes:
[0010] The target data is divided into several major categories according to the data transmission stage; wherein, the data transmission stage includes any one or a combination of any two of the following: the processor is processing the data, the server transmits the data to the processor, and the processor allocates the data to a storage device.
[0011] The step of dividing the data into multiple subcategories according to the second data feature includes:
[0012] The data from the multiple major categories are divided into multiple minor categories according to the data type and / or the purpose of the data.
[0013] Wherein, the step of allocating one or more transmission channels in a corresponding stack for the data of each subclass within each major category includes:
[0014] Based on the amount of data in each subclass within each major category, one or more transmission channels are allocated in a corresponding stack for the data of each subclass; wherein the number of allocated transmission channels is positively correlated with the amount of data.
[0015] Wherein, after allocating one or more transmission channels in a corresponding stack for each subclass within each major category, the method further includes:
[0016] Detect the data transmission status of all the aforementioned transmission channels;
[0017] If a blocked abnormal transmission channel is detected, the data transmitted through the abnormal transmission channel will be extended to a nearby transmission channel for transmission.
[0018] The process of extending the data transmitted through the abnormal transmission channel to a nearby transmission channel for transmission further includes:
[0019] Detect whether there is a target transmission channel with a data transmission rate lower than a preset value;
[0020] If so, the data transmitted through the abnormal transmission channel will be extended to the target transmission channel for transmission;
[0021] If not, reduce the amount of target data that needs to be transmitted in the current time period.
[0022] The process of extending the data transmitted through the abnormal transmission channel to a nearby transmission channel for transmission further includes:
[0023] Determine the target stack with the lowest current transmission pressure, and use the transmission channels in the target stack to redundantly transmit the data that was extended from the abnormal transmission channel to other transmission channels.
[0024] To achieve the above objectives, this application provides a transmission channel allocation device, comprising:
[0025] The determination module is used to determine the target data that needs to be transmitted in the current time period;
[0026] The segmentation module is used to divide the target data into multiple major categories according to a first data feature, and to divide the data of the multiple major categories into multiple minor categories according to a second data feature;
[0027] The allocation module is used to allocate a corresponding stack for each major category of data, and to allocate one or more transmission channels in the corresponding stack for each minor category of data within each major category.
[0028] To achieve the above objectives, this application provides an electronic device, comprising:
[0029] Memory, used to store computer programs;
[0030] A processor is used to implement the steps of the transmission channel allocation method described above when executing the computer program.
[0031] To achieve the above objectives, this application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the transmission channel allocation method described above.
[0032] As can be seen from the above scheme, the transmission channel allocation method provided in this application includes: determining the target data to be transmitted in the current time period; dividing the target data into multiple major categories according to a first data feature, and dividing the data of the multiple major categories into multiple minor categories according to a second data feature; allocating a corresponding stack for the data of each major category, and allocating one or more transmission channels in the corresponding stack for the data of each minor category in each major category.
[0033] The transmission channel allocation method provided in this application divides the transmission channels in each stack according to data characteristics before data transmission. Specifically, it divides the target data to be transmitted in the current time period into multiple major categories according to a first data characteristic, and further divides these major categories into multiple minor categories according to a second data characteristic. Then, it maps the data of each major category to each stack and the data of each minor category to each transmission channel. This method of allocating transmission channels based on data characteristics can improve data transmission rates. This application also discloses a transmission channel allocation device, an electronic device, and a computer-readable storage medium, which can achieve the same technical effects.
[0034] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this application. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. The drawings are used to provide a further understanding of this disclosure and constitute a part of the specification. They are used together with the following detailed description to explain this disclosure, but do not constitute a limitation of this disclosure. In the drawings:
[0036] Figure 1 This is a flowchart illustrating a transmission channel allocation method according to an exemplary embodiment;
[0037] Figure 2 This is a structural diagram of a stack according to an exemplary embodiment;
[0038] Figure 3 A flowchart illustrating another transmission channel allocation method according to an exemplary embodiment;
[0039] Figure 4 This is a flowchart of a transmission channel allocation method provided in the application embodiments of this application;
[0040] Figure 5 This is a flowchart of a real-time data allocation scheme provided in the application embodiments of this application;
[0041] Figure 6 This is a flowchart illustrating a data processing scheme for creating a copy, as provided in an application embodiment of this application.
[0042] Figure 7 This is a structural diagram of a transmission channel allocation device according to an exemplary embodiment;
[0043] Figure 8 This is a structural diagram of an electronic device according to an exemplary embodiment. Detailed Implementation
[0044] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. Furthermore, in the embodiments of this application, "first," "second," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0045] This application discloses a transmission channel allocation method that improves data transmission efficiency.
[0046] See Figure 1 A flowchart illustrating a transmission channel allocation method according to an exemplary embodiment is shown below. Figure 1 As shown, it includes:
[0047] S101: Determine the target data to be transmitted in the current time period;
[0048] S102: Divide the target data into multiple major categories according to the first data feature, and divide the data of the multiple major categories into multiple minor categories according to the second data feature;
[0049] In this embodiment, to ensure that each STACK has a balanced and efficient data processing capability during operation, each STACK is appropriately partitioned according to its function before data transmission. In specific implementation, the target data to be transmitted in the current time period is first determined, the data features of the target data are extracted, the target data is divided into multiple major categories according to the first data feature, and each major category is divided into multiple minor categories according to the second data feature, thereby establishing a transmission data model tree.
[0050] As a feasible implementation method, dividing the target data into multiple categories according to the first data feature includes: dividing the target data into multiple categories according to the data transmission stage; wherein, the data transmission stage includes any one or a combination of any two of the following: the processor is processing, the server transmits to the processor, and the processor allocates to the storage device.
[0051] In practice, the data transmission stage can be determined based on the instructions from the server front end. This stage can include the processor processing the data, the server transmitting the data to the processor, or the processor allocating the data to the storage device. The target data can then be divided into several categories according to the data transmission stage.
[0052] As a possible implementation method, dividing the data of multiple major categories into multiple minor categories according to the second data characteristics includes: dividing the data of multiple major categories into multiple minor categories according to data type and / or data usage.
[0053] In practice, each major category of data can be further subdivided according to data type and / or data purpose, dividing each major category into multiple subcategories. Data types here can include audio types, image types, etc., and data purposes can include finance, healthcare, internet, etc., without specific limitations.
[0054] S103: Allocate a corresponding stack for each major category of data, and allocate one or more transmission channels in the corresponding stack for each minor category of data within each major category.
[0055] In practice, each major category corresponds to one stack to ensure balanced data processing capabilities. The subcategories of data transmission are then mapped to one or more transmission channels within each stack. The stack structure diagram is as follows: Figure 2 As shown, a small class of data can correspond to multiple consecutive channels in the stack, such as channel × 4 or channel × 8 in the upper layer. This data model stack allocation method ensures balanced data transmission, data transmission accuracy, and avoids delay conflicts caused by channel multiplexing.
[0056] As a feasible implementation, the step of allocating one or more transmission channels in a corresponding stack for the data of each subclass within each major category includes: allocating one or more transmission channels in a corresponding stack for the data of each subclass within each major category based on the data volume of the data of each subclass within each major category; wherein the number of allocated transmission channels is positively correlated with the data volume.
[0057] In practice, if a certain type of data has a large volume, it will be allocated more transmission channels, such as 4 or 8 upper-layer channels. If a certain type of data has a small volume, it will be allocated 1 lower-layer channel.
[0058] The transmission channel allocation method provided in this application divides the transmission channels in each stack according to data characteristics before data transmission. That is, according to the first data characteristics, the target data to be transmitted in the current time period is divided into multiple major categories, and according to the second data characteristics, the data in the multiple major categories is divided into multiple minor categories. Then, the data in each major category is mapped to each stack, and the data in each minor category is mapped to each transmission channel. This method of allocating transmission channels according to data characteristics can improve the data transmission rate.
[0059] This application discloses a transmission channel allocation method. Compared with the previous embodiment, this embodiment further explains and optimizes the technical solution. Specifically:
[0060] See Figure 2 A flowchart illustrating another transmission channel allocation method according to an exemplary embodiment, such as... Figure 2 As shown, it includes:
[0061] S201: Determine the target data to be transmitted in the current time period;
[0062] S202: Divide the target data into multiple major categories according to the first data feature, and divide the data of the multiple major categories into multiple minor categories according to the second data feature;
[0063] S203: Allocate a corresponding stack for each major category of data, and allocate one or more transmission channels in the corresponding stack for each minor category of data within each major category.
[0064] S204: Detect the data transmission status of all the aforementioned transmission channels;
[0065] S205: If a blocked abnormal transmission channel is detected, the data transmitted through the abnormal transmission channel will be extended to a nearby transmission channel for transmission.
[0066] It is understandable that unexpected situations such as latency and data transmission errors can occur during PCIe channel data transmission. In such cases, the data transmission between channels becomes uneven, causing interference for large data transfers. To avoid this, dynamic channel allocation adjustments are made to the transmission channels within each stack of the PCIe switch during transmission. In practice, the data monitoring and verification unit inside the PCIe switch chip first tracks the current data transmission status in real time. When a delay or blockage is detected in the data transmission between channels, the abnormal transmission channel is quickly located, and an instruction is sent to the CPU (Central Processing Unit) to read the specific changes in the data flow of that channel. After the CPU reads the specific increase in the data flow within the channel, the data transmitted by the abnormal transmission channel is extended to a nearby transmission channel for transmission.
[0067] For example, the current PCIe switch channels can be adjusted according to the growth rate. When the data in the ×1 channel surges, the ×1 channel is extended to the ×2 channel in the current stack to ensure the data transfer rate is increased. Similarly, when the amount of data transferred in the ×2 channel surges, the amount of data in the ×2 channel is extended to the ×4 channel to transfer, and so on.
[0068] In a preferred embodiment, after extending the data transmitted through the abnormal transmission channel to a neighboring transmission channel for transmission, the method further includes: detecting whether there is a target transmission channel with a data transmission rate lower than a preset value; if so, extending the data transmitted through the abnormal transmission channel to the target transmission channel for transmission; if not, reducing the amount of target data to be transmitted in the current time period.
[0069] Understandably, when increasing the transmission rate by expanding the transmission channel upwards to handle surging data, allocating the surge to adjacent channels can alleviate the pressure of the current data surge. However, in the long run, this will increase the data pressure on the entire adjusted channel area. Therefore, during the upward expansion and adjustment of the channel, the CPU simultaneously monitors whether there are any target transmission channels with lower data transmission rates than expected. If such channels exist, some of the data processing traffic from the previous channel area is transferred to the target transmission channel. If not, the workload of data processing in the current STACK area is reduced, and the excess tasks are scheduled for the next time period.
[0070] S206: Determine the target stack with the lowest current transmission pressure, and use the transmission channels in the target stack to perform redundant transmission of data that has been extended from the abnormal transmission channel to other transmission channels.
[0071] In practice, to ensure that data transmission rates increase without errors during channel adjustments, when data transmission pressure exists, the PCIe Switch dynamically allocates channels upwards. The PCIe Switch then calculates the total data transmission pressure on each internal stack and selects the stack with the lowest current data transmission pressure—the target stack—for dedicated backup of the expanded transmission data. Through the PCIe Switch's dynamic channel allocation function, this target stack additionally backs up the data added after the channel expansion in the previous process. The backed-up data is then transferred to a separate area on the backend storage device—the replica data area. Once the replica data area is established, the current backup data is stored until the next time period. If the channel upward allocation process occurs again in the next time period, the replica process is repeated, storing the added data in this replica unit until the end of each time period. At this point, the replica unit stores the newly added storage data from each time period. After the data storage process is completed, the system automatically performs data verification. If errors are found during the verification process, the system first sends the consecutive fields containing the errors to the replica unit. Once the data segment and the error are located in the replica unit, the data segment in the replica unit is replaced with the data segment in the replica unit. This error is caused by the increased transmission rate after channel expansion, and the repair is complete. If the error in the data segment cannot be located in the replica unit, it means that the error is not caused by channel expansion. At this time, a data verification command is sent to the system, and the system locates and corrects the error.
[0072] Therefore, this embodiment implements the allocation of transmission channels, facilitating fast and accurate transmission and storage of data traffic through the PCIe Switch. It includes a cell allocation scheme based on data modeling, a real-time data allocation scheme, and a replica data processing scheme. Cell allocation before data transmission involves preliminary partitioning of the stacks within the PCIe Switch. This partitioning is based on the characteristics of the stored data. We provide a data modeling approach to perform feature analysis on the data, pre-distributing the stored data into each stack of the PCIe Switch and allocating channels accordingly. This method of channel allocation based on data characteristics improves data transmission speed. During data transmission, the current data traffic is recorded in real time, and secondary allocation of channels within the stacks is performed in real time based on the current data situation. The purpose of this allocation is to store the data in the backend storage device in the most efficient way based on the dynamic changes in data transmission. Replica data processing during data transmission involves retrieving and monitoring replica data in real time. This ensures efficient data storage while allowing for timely correction of errors, improving data transmission speed while guaranteeing the accuracy and reliability of data transmission.
[0073] The following describes an application embodiment of this application, which designs a method for dynamically allocating PCIe switch cells and channels on the controller in a unified storage array, facilitating fast and accurate data transmission and storage. Figure 4 As shown, it includes a unit allocation scheme based on data modeling before data transmission, a real-time data allocation scheme during data processing, and a scheme for creating replica data processing during the processing. The three schemes are coordinated and cooperate with each other, and schemes two and three are based on scheme one.
[0074] Prior to data transfer, unit allocation involves preliminary partitioning of the PCIe switch stacks to facilitate data transfer management. This partitioning method is based on the characteristics of the stored data, using a data modeling approach to analyze data features. Based on these features, the stored data is pre-allocated to various stacks on the PCIe switch and assigned to different channels. A certain amount of stack space is reserved in the PCIe switch for channel requirements during replica data transfer. During data transfer, the current data flow is recorded in real-time, and channels within the stacks are real-time real-time allocated based on the current data situation. The purpose of this allocation is to store data to the hard drive in the most efficient way possible, taking into account the dynamic changes in data transfer. Replica data processing during data transfer involves retrieving and monitoring replica data in real-time. This ensures efficient data storage and allows for timely correction of errors, improving data transfer rates while maintaining accuracy and reliability.
[0075] The specific process of Solution 1 is as follows: The first step is to classify and extract data features. Preprocessed data is classified and evaluated based on two characteristics: data volume and transmission stage. The data storage stage is determined according to the server front-end instruction requirements. Data is classified at each stage. After classification, the data in the current major categories is further subdivided according to data usage, data type, and other characteristics. At this point, a complete data model tree is established. The second step is to map the transmission data model tree to the internal stack structure of the PCIe switch. Major data transmission categories correspond to each stack within the stack to ensure balanced data processing capabilities. The subdivision results of the subcategories in data transmission are mapped to the subdivision results of channel transmission in each stack. A subcategory can correspond to multiple consecutive channels in the stack, such as upper-level channel × 4 or channel × 8. If a certain data type has a large data volume, more channels will be allocated, while for data types with smaller data volumes, lower-level × 1 channels will be allocated. This data model stack allocation mapping method ensures balanced data transmission, data transmission accuracy, and avoids latency conflicts caused by channel reuse.
[0076] The real-time data allocation scheme in data processing is a refinement and improvement of the previous stack partitioning and channel allocation scheme during data transmission. During PCIe channel data transmission, unexpected situations can cause latency, data transmission errors, etc., leading to uneven data transmission between channels and interference with large data transfers. To avoid such situations, a dynamic data transmission balancing scheme is provided based on the previous partitioning allocation. Within each stack of PCIeWITCH, the transmission channels can be dynamically adjusted according to our provided allocation algorithm during transmission. The specific algorithm process is as follows: Figure 5As shown, the data monitoring and verification unit inside the PCIe Switch chip first tracks the current data transmission status in real time. When a delay or blockage is detected in the data transmission between channels, the abnormal transmission channel block is quickly located, and an instruction is sent to the CPU to read the specific changes in the data flow of that channel. After the CPU reads the specific growth of the data flow in the channel, it adjusts the current PCIe Switch channel according to the growth rate. When the data in ×1 channel surges, ×1 channel is extended to the next level to ×2 channel in the current stack for transmission to ensure the data transmission rate is increased. Similarly, when the amount of data transmitted in ×2 channel surges, the amount of data in ×2 channel is extended to ×4 channel for transmission, and so on. In the process of increasing the transmission rate by expanding the transmission channel upwards, the surge in data can be distributed to adjacent channels to alleviate the pressure of the current data surge. However, in the long run, this will increase the data pressure of the entire channel area after the adjustment. Therefore, during the upward expansion and adjustment of the channel, the CPU also monitors whether there are any channels with a lower data transmission rate than expected. If so, some of the data processing traffic in the previous channel area is transferred to that area. If not, the workload of data processing in that STACK area is reduced in the current stage, and the excess tasks are arranged for the next transmission stage.
[0077] The data replication processing scheme is designed to ensure that no bit errors occur while the data transmission rate increases during channel adjustments. The flowchart for the data replication processing scheme is as follows: Figure 6As shown, when data transfer pressure exists, the PCIe switch dynamically allocates channels upwards. The PCIe switch then calculates the total data transfer pressure on each internal stack and selects the stack with the lowest current data transfer pressure. This selected stack is used specifically to back up the data transferred after the channel expansion. Through the PCIe switch's dynamic channel allocation function, this stack additionally backs up the data added after the channel expansion in the previous process, transferring the backed-up data to a separate area on the backend SSD, namely the replica data area. After the replica data area is established, the current backup data is stored until the next time period. If the channel upward allocation process occurs again in the next time period, the replica establishment process is repeated, storing the added data in the replica unit until the end of each time period. The replica unit then stores the newly added storage data from each time period. After the data storage process is completed, the system automatically performs data verification. If errors are found during the verification process, the system first sends the consecutive fields containing the errors to the replica unit. Once the data segment and the error are located in the replica unit, the data segment in the replica unit is replaced with the data segment in the replica unit. This error is caused by the increased transmission rate after channel expansion, and the repair is complete. If the error in the data segment cannot be located in the replica unit, it means that the error is not caused by channel expansion. At this time, a data verification command is sent to the system, and the system locates and corrects the error.
[0078] The following describes a transmission channel allocation device provided in an embodiment of this application. The transmission channel allocation device described below and the transmission channel allocation method described above can be referred to each other.
[0079] See Figure 7 A structural diagram of a transmission channel allocation device according to an exemplary embodiment is shown, such as... Figure 7 As shown, it includes:
[0080] The determination module 701 is used to determine the target data that needs to be transmitted in the current time period;
[0081] The segmentation module 702 is used to divide the target data into multiple major categories according to a first data feature, and to divide the data of the multiple major categories into multiple minor categories according to a second data feature;
[0082] The allocation module 703 is used to allocate a corresponding stack for each major category of data, and to allocate one or more transmission channels in the corresponding stack for each minor category of data in each major category.
[0083] The transmission channel allocation device provided in this application divides the transmission channels in each stack according to data characteristics before data transmission. That is, according to the first data characteristics, the target data to be transmitted in the current time period is divided into multiple major categories, and according to the second data characteristics, the data of multiple major categories is divided into multiple minor categories. Then, the data of each major category is mapped to each stack, and the data of each minor category is mapped to each transmission channel. This method of allocating transmission channels according to data characteristics can improve the data transmission rate.
[0084] Based on the above embodiments, as a preferred embodiment, the partitioning module 702 includes:
[0085] The first division unit is used to divide the target data into multiple categories according to the data transmission stage; wherein, the data transmission stage includes any one or a combination of any of the following: the processor is processing, the server transmits to the processor, and the processor allocates to the storage device;
[0086] The second division unit is used to divide the data of the multiple major categories into multiple minor categories according to the data type and / or data purpose.
[0087] Based on the above embodiments, as a preferred implementation, the allocation module 70 is specifically used to: allocate a corresponding stack for each major category of data, and allocate one or more transmission channels in the corresponding stack for each minor category of data according to the data volume of each minor category in each major category; wherein, the number of allocated transmission channels is positively correlated with the data volume.
[0088] Based on the above embodiments, as a preferred embodiment, it further includes:
[0089] The first detection module is used to detect the data transmission status of all the transmission channels;
[0090] The first extension module is used to extend the data transmitted through the abnormal transmission channel to a nearby transmission channel when a blocked abnormal transmission channel is detected.
[0091] Based on the above embodiments, as a preferred embodiment, it further includes:
[0092] The second detection module is used to detect whether there is a target transmission channel with a data transmission rate lower than a preset value;
[0093] The second extension module is used to extend the data transmitted through the abnormal transmission channel to the target transmission channel for transmission when a target transmission channel with a data transmission rate lower than a preset value is detected.
[0094] The reduction module is used to reduce the amount of target data that needs to be transmitted in the current time period when no target transmission channel with a data transmission rate lower than a preset value is detected.
[0095] Based on the above embodiments, as a preferred embodiment, it further includes:
[0096] The transmission module is used to determine the target stack with the lowest current transmission pressure, and to use the transmission channels in the target stack to perform redundant transmission of data that has been extended from the abnormal transmission channel to other transmission channels.
[0097] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0098] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide an electronic device. Figure 8 This is a structural diagram of an electronic device according to an exemplary embodiment, such as... Figure 8 As shown, the electronic device includes:
[0099] Communication interface 1 enables information exchange with other devices, such as network devices;
[0100] Processor 2 is connected to communication interface 1 to enable information exchange with other devices. When running a computer program, it executes the transmission channel allocation method provided by one or more of the above-mentioned technical solutions. The computer program is stored in memory 3.
[0101] Of course, in practical applications, the various components in an electronic device are coupled together through bus system 4. It can be understood that bus system 4 is used to achieve communication and connection between these components. In addition to the data bus, bus system 4 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 8 The general will label all buses as Bus System 4.
[0102] The memory 3 in this embodiment is used to store various types of data to support the operation of the electronic device. Examples of such data include any computer program used to operate on the electronic device.
[0103] It is understood that memory 3 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 3 described in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0104] The methods disclosed in the embodiments of this application can be applied to processor 2, or implemented by processor 2. Processor 2 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 2 or by instructions in the form of software. The processor 2 may be a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 2 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 3. Processor 2 reads the program in memory 3 and completes the steps of the aforementioned method in combination with its hardware.
[0105] When processor 2 executes the program, it implements the corresponding processes in the various methods of the embodiments of this application. For the sake of brevity, these will not be described in detail here.
[0106] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a memory 3 that stores a computer program, which can be executed by a processor 2 to complete the steps described in the aforementioned method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.
[0107] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0108] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device (which may be a personal computer, server, network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0109] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for allocating transmission channels, characterized in that, include: Determine the target data that needs to be transmitted in the current time period; The target data is divided into multiple major categories according to the first data feature, and the data of the multiple major categories is divided into multiple minor categories according to the second data feature; Allocate a corresponding stack for each major category of data, and allocate one or more transmission channels in the corresponding stack for each minor category of data within each major category. The step of dividing the target data into multiple categories according to the first data feature includes: The target data is divided into several major categories according to the data transmission stage; wherein, the data transmission stage includes any one or a combination of any two of the following: the processor is processing the data, the server transmits the data to the processor, and the processor allocates the data to a storage device. The step of dividing the data into multiple subcategories according to the second data feature includes: The data from the multiple major categories are divided into multiple minor categories according to the data type and / or the data purpose, and the data types include audio type and image type; Wherein, after allocating one or more transmission channels in a corresponding stack for each subclass within each major category, the method further includes: Detect the data transmission status of all the aforementioned transmission channels; If a blocked abnormal transmission channel is detected, the data transmitted through the abnormal transmission channel will be extended upwards to the adjacent transmission channel for transmission. Detect whether there is a target transmission channel with a data transmission rate lower than a preset value; If so, the data transmitted through the abnormal transmission channel will be extended to the target transmission channel for transmission; If not, reduce the amount of target data that needs to be transmitted in the current time period.
2. The transmission channel allocation method according to claim 1, characterized in that, The step of allocating one or more transmission channels in a corresponding stack for data of each subclass within each major category includes: Based on the amount of data in each subclass within each major category, one or more transmission channels are allocated in a corresponding stack for the data of each subclass; wherein the number of allocated transmission channels is positively correlated with the amount of data.
3. The transmission channel allocation method according to claim 1, characterized in that, After extending the data transmitted through the abnormal transmission channel to a neighboring transmission channel for transmission, the method further includes: Determine the target stack with the lowest current transmission pressure, and use the transmission channels in the target stack to redundantly transmit the data that was extended from the abnormal transmission channel to other transmission channels.
4. A transmission channel allocation device, characterized in that, include: The determination module is used to determine the target data that needs to be transmitted in the current time period; The segmentation module is used to divide the target data into multiple major categories according to a first data feature, and to divide the data of the multiple major categories into multiple minor categories according to a second data feature; The allocation module is used to allocate a corresponding stack for each major category of data, and to allocate one or more transmission channels in the corresponding stack for each minor category of data in each major category. Specifically, the partitioning module is used to: divide the target data into multiple major categories according to the data transmission stage; wherein the data transmission stage includes any one or a combination of any two of the following: the processor is processing the data, the server transmits the data to the processor, and the processor allocates the data to a storage device; and divide the data of the multiple major categories into multiple minor categories according to the data type and / or the data purpose, wherein the data type includes audio type and image type. The device further includes: The first detection module is used to detect the data transmission status of all the transmission channels; The first extension module is used to extend the data transmitted through the abnormal transmission channel to an adjacent transmission channel when a blocked abnormal transmission channel is detected. The second detection module is used to detect whether there is a target transmission channel with a data transmission rate lower than a preset value; The second extension module is used to extend the data transmitted through the abnormal transmission channel to the target transmission channel for transmission when a target transmission channel with a data transmission rate lower than a preset value is detected. The reduction module is used to reduce the amount of target data that needs to be transmitted in the current time period when no target transmission channel with a data transmission rate lower than a preset value is detected.
5. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the transmission channel allocation method as described in any one of claims 1 to 3 when executing the computer program.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the transmission channel allocation method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
PON multi-channel dynamic binding transmission method, PON node and storage medium
CN111601186A
Channel allocation method and device, storage system and equipment and medium
CN115712594A