Data processing method and apparatus, storage medium, and electronic device

By using shared processing channels and caching mechanisms, the resource consumption problem caused by the increase in the number of channels in digital IC design is solved, achieving efficient resource utilization and performance improvement.

CN113126882BActive Publication Date: 2026-03-17SANECHIPS TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-12-30
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

In digital IC design, the increased resource consumption due to the increased number of channels affects chip area and power consumption, reducing economic efficiency and speed.

Method used

By adopting a shared processing channel approach, the source channel is shared with multiple designated processing channels. Data processing is managed through a caching mechanism, and data processing is allocated based on priority and idle status monitoring to reduce resource waste.

Benefits of technology

It effectively reduces resource consumption, lowers chip area and power consumption, and improves processing performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113126882B_ABST
    Figure CN113126882B_ABST
Patent Text Reader

Abstract

This invention provides a data processing method and apparatus, a storage medium, and an electronic device. Specifically, the method includes: after receiving data through a source channel, sending the data to one or more of a plurality of designated processing channels for data processing, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels. By configuring shared processing channels for the source channels, the problem of increased resource consumption due to the increase in the number of channels in related technologies can be solved, thereby effectively reducing resource consumption in the face of continuously increasing chip processing performance requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communications, and more specifically, to a data processing method and apparatus, a storage medium, and an electronic device. Background Technology

[0002] IC design, or integrated circuit design, is a discipline within electrical engineering and computer engineering. Its main focus is on designing integrated circuits using specialized logic and circuit design techniques. With the increasing number of companies engaged in SoC design, the design of multi-functional chips places higher demands on their system design capabilities.

[0003] In digital IC design, there are often storage requirements for multiple similar or repetitive channels. Figure 1 This is a schematic diagram of a channel data processing technique in related technologies. For example... Figure 1 As shown, in a DVB system, multiple PID channels, each need to process the received data, such as packet header detection, keyword filtering, descrambling, data verification, and storage. These channels consume a significant amount of physical space. As chip processing performance demands increase, the number of channels also gradually increases. However, with the increase in the number of channels, resource consumption also increases significantly. Therefore, chip design needs to consider increasing chip area and power consumption, thus affecting the chip's economic efficiency and speed. Summary of the Invention

[0004] This invention provides a data processing method and apparatus, a storage medium, and an electronic device to at least solve the problem of increased resource consumption caused by the increase in the number of channels in related technologies.

[0005] According to an embodiment of the present invention, a data processing method is provided, comprising: after receiving data through a source channel, sending the data to one or more of a plurality of designated processing channels for data processing, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels.

[0006] Optionally, sending the data to one or more of the multiple designated processing channels for processing includes: obtaining the data processing status of the multiple designated processing channels; if it is determined from the data processing status of the multiple designated processing channels that the multiple processing channels cannot meet the data processing requirements of the data, caching the data; or, if it is determined from the data processing status of the multiple designated processing channels that the multiple processing channels cannot meet the data processing requirements of the data, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to a first preset rule, and caching the unprocessed data in the data; or, if it is determined from the data processing status of the multiple designated processing channels that the multiple designated processing channels meet the data processing requirements of the data, allocating the data to one or more of the multiple designated processing channels for data processing according to a second preset rule.

[0007] Optionally, sending the data to one or more of the multiple designated processing channels for processing further includes: after caching the data, or after caching the unprocessed data in the data, monitoring the data processing status of the multiple designated processing channels, and when it is detected that there is a processing channel among the multiple designated processing channels with an idle data processing status, allocating the cached data to the idle processing channel for data processing according to a third preset rule.

[0008] Optionally, the step of allocating the cached data to the idle processing channel for data processing according to the third preset rule includes: if it is determined from the data processing status of the multiple specified processing channels that the idle processing channel cannot meet the data processing requirements of the cached data, the cached data is cached again; or, a portion of the cached data is sent to the idle processing channel, and the unprocessed data in the cached data is cached again.

[0009] Optionally, the plurality of designated processing channels can be determined to be unable to meet the data processing requirements of the data by one of the following methods: determining that the data processing state of the plurality of designated processing channels is non-idle; determining that the number of channels in the plurality of designated processing channels that are in the non-idle state is less than the number of data.

[0010] Optionally, sending a portion of the data to one or more of the plurality of designated processing channels for data processing according to the first preset rule includes: sending a portion of the data to one or more of the plurality of designated processing channels for data processing according to the priority of the data.

[0011] Optionally, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to the data priority includes: obtaining identification information carried in the data, wherein the identification information is used to indicate the priority of processing the data; sorting the data according to the identification information, and allocating a portion of the data to the processing channels for data processing in descending order of priority; or,

[0012] Optionally, the step of sending a portion of the data to one or more of the plurality of designated processing channels for data processing according to the priority of the data includes: prioritizing the data according to the attribute information of the data, and allocating a portion of the data to the processing channels for data processing in descending order of priority, wherein the attribute information of the data includes at least one of the following: the type information of the data, and the size information of the data.

[0013] Optionally, the method further includes: if it is determined that the cache time of a specified data in the cached data is greater than the pre-configured residence time, increasing the priority of the specified data.

[0014] Optionally, after sending the data to one or more of the multiple designated processing channels for data processing, the method further includes: mapping the processed data to a downstream transmission channel.

[0015] According to another embodiment of the present invention, a data processing apparatus is provided, comprising: a sending module, configured to send data to one or more of a plurality of designated processing channels for data processing after receiving data from a source channel, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels.

[0016] According to yet another embodiment of the present invention, a storage medium is also provided, wherein a computer program is stored therein, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.

[0017] According to yet another embodiment of the present invention, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0018] Through the embodiments of the present invention, after the source channel receives data, it sends the data to one or more of a plurality of designated processing channels for data processing. The plurality of designated processing channels are processing channels shared by the source channel. The number of designated processing channels shared by the source channel is less than the number of source channels. By configuring shared processing channels for the source channel, the problem of increased resource consumption caused by the increase in the number of channels in related technologies can be solved, thereby achieving the effect of effectively reducing resource consumption under the continuous increase in chip processing performance requirements. Attached Figure Description

[0019] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0020] Figure 1 This is a schematic diagram of a channel data processing technique in related technologies;

[0021] Figure 2 This is a flowchart of a data processing method according to an embodiment of the present invention;

[0022] Figure 3 This is a flowchart illustrating a multi-channel data processing method according to an optional embodiment of the present invention;

[0023] Figure 4 This is a flowchart illustrating a memory management method for multi-channel data according to an optional embodiment of the present invention;

[0024] Figure 5 This is a structural block diagram of a data processing apparatus according to an embodiment of the present invention. Detailed Implementation

[0025] The present invention will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present application can be combined with each other.

[0026] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0027] Example 1

[0028] This embodiment provides a data processing method. Figure 2 This is a flowchart of a data processing method according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps:

[0029] Step S202: After receiving data, the source channel sends the data to one or more of the multiple designated processing channels for data processing. The multiple designated processing channels are processing channels shared by the source channel, and the number of the multiple designated processing channels shared by the source channel is less than the number of the source channels.

[0030] Through the above steps, after the source channel receives data, it sends the data to one or more of the multiple designated processing channels for data processing. The multiple designated processing channels are processing channels shared by the source channel. The number of the designated processing channels shared by the source channel is less than the number of the source channels. By configuring shared processing channels for the source channel, the problem of increased resource consumption caused by the increase in the number of channels in related technologies can be solved, and the effect of effectively reducing resource consumption can be achieved under the continuous increase of chip processing performance requirements.

[0031] Optionally, sending the data to one or more of the multiple designated processing channels for processing includes: obtaining the data processing status of the multiple designated processing channels; if it is determined from the data processing status of the multiple designated processing channels that the multiple processing channels cannot meet the data processing requirements of the data, caching the data; or, if it is determined from the data processing status of the multiple designated processing channels that the multiple processing channels cannot meet the data processing requirements of the data, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to a first preset rule, and caching the unprocessed data in the data; or, if it is determined from the data processing status of the multiple designated processing channels that the multiple designated processing channels meet the data processing requirements of the data, allocating the data to one or more of the multiple designated processing channels for data processing according to a second preset rule.

[0032] It should be noted that, optionally, the first preset rule can be a rule used to indicate which parts of the cached data should be prioritized for data processing when the processing demand of the cached data exceeds the processing capacity of the current processing channel. The second preset rule can be a rule used to indicate how data is allocated to the processing channel.

[0033] Optionally, sending the data to one or more of the multiple designated processing channels for processing further includes: after caching the data, or after caching the unprocessed data in the data, monitoring the data processing status of the multiple designated processing channels, and when it is detected that there is a processing channel among the multiple designated processing channels in an idle state, allocating the cached data to the idle processing channel for data processing according to a third preset rule.

[0034] Optionally, the process of allocating the cached data to the idle processing channel according to the third preset rule includes: if it is determined from the data processing status of the multiple specified processing channels that the idle processing channel cannot meet the data processing requirements of the cached data, the cached data is cached again; or, a portion of the cached data is sent to the idle processing channel, and the unprocessed data in the cached data is cached again.

[0035] It should be noted that, optionally, the third preset rule can be a rule used to indicate which parts of the cached data should be prioritized for data processing when the processing demand for the re-cached data exceeds the processing capacity of the current processing channel. The third preset rule can be the same as the first preset rule, or it can be a different rule.

[0036] Optionally, the multiple specified processing channels may be determined to be unable to meet the data processing requirements of the data by one of the following methods: determining that the data processing status of the multiple specified processing channels is non-idle; or determining that the number of channels in the multiple specified processing channels that are in the non-idle state is less than the number of data.

[0037] Optionally, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to the first preset rule includes: sending a portion of the data to one or more of the multiple designated processing channels for data processing according to the priority of the data.

[0038] Optionally, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to the data priority includes: obtaining identification information carried in the data, wherein the identification information is used to indicate the priority of processing the data; prioritizing the data according to the identification information, and allocating portions of the data to the processing channels for data processing in descending order of priority; or,

[0039] Optionally, sending a portion of the data to one or more of the multiple designated processing channels for data processing according to the priority of the data includes: prioritizing the data based on the attribute information of the data, and allocating a portion of the data to the processing channel for data processing in descending order of priority, wherein the attribute information of the data includes at least one of the following: the type information of the data, and the size information of the data.

[0040] Optionally, the method further includes: if it is determined that the cache time of a specified data in the cached data is greater than the pre-configured residence time, increasing the priority of the specified data.

[0041] Optionally, after sending the data to one or more of the specified processing channels for data processing, the method further includes: mapping the processed data to a downstream transmission channel.

[0042] It should be noted that for a certain type of data used for the reminder function, there is data that is processed at a specific time but is not very urgent. Therefore, for this data, it can be cached according to its original priority order before the allowed residence time in the cache is reached. However, once the residence time is approaching or reached, the priority should be increased or raised to the highest level.

[0043] Optional implementation methods

[0044] This invention proposes a multiplexing method for multi-channel data processing, which can solve the problem of excessive resource consumption per channel, resulting in large area and high power consumption when there are many channels.

[0045] The technical solution adopted in this embodiment is as follows: for multi-channel data, instead of configuring an independent processing channel for each source channel, all source channels share a small number of processing channels. Furthermore, to avoid insufficient processing channels and situations where source channel data cannot be processed in time, several buffers are set between the source channels and the processing channels to store any unprocessed source channel data.

[0046] After each source channel receives data, it requests a processing channel for processing. If a processing channel is available, the data from the source channel will be processed through that channel. If all processing channels are full, the data from the source channel will be cached and stored. Once a free physical channel becomes available, the cached data will be processed through the processing channels in the order it was received.

[0047] Since the cache consumes far fewer resources than each processing channel, this approach saves significant resources, thus reducing the area and power consumption of this embodiment. A key feature of this embodiment is that instead of allocating independent processing channel space for each source channel's data, all source channel data reuses a small number of processing channels, and several channel caches are established between the source channels and the processing channels. This greatly reduces the number of processing channels required.

[0048] To better understand the content described in the above embodiments, the following scenario is also provided in this embodiment for illustrative purposes:

[0049] Figure 3 is a schematic flowchart of a multi-channel data processing method according to an optional embodiment of the present invention; as Figure 3 shown, the method includes the following steps:

[0050] In the figure, (1) is the input end of n source channels; (2) is to judge the usage of processing channels; (3) is caching; (4) is to allocate processing channels; (5) is the processing channels, and the number is k, where k < n; (6) is the output end of n source channels; among them, (2) judging the usage of processing channels is to determine whether there are idle processing channels according to the data of the source channels; optionally, it can be set that one processing channel processes the data of one source channel, then when the data volume of the source channel is less than the number of currently idle processing channels, it can be determined that there are idle processing channels at this time, and then the data of the source channel can be allocated to the idle processing channels for data processing; when the data volume of the source channel is greater than the number of currently idle processing channels, all the data of the source channel can be cached first and wait until there are enough idle processing channels before processing, or part of the data of the source channel can be processed first according to the number of currently idle processing channels, and only the remaining unprocessed data of the source channel needs to be cached. When there are idle processing channels, continue to allocate processing channels to the currently cached data of the source channel for data processing.

[0051] Optionally, after the data processing is completed, the channels can be mapped to downstream channels to continue other data processing processes.

[0052] For further illustration, the embodiments of the present invention are further explained below in combination with specific scenarios.

[0053] Scenario 1:

[0054] Assume that the number of PID processing channels is 10, and the PID processing channels in the chip are in an initial state without processing any data. At the same time, the number of received data is 30.

[0055] Step 1: Since no data is obtained, in the initial state, it is determined that the processing channels PID_0 to PID_9 are in an idle state.

[0056] Step 2: After receiving 30 data, according to the identification information in the data (for example, a field for indicating priority is carried in the data), analyze the priority order of data processing, and then allocate them to the PID_0 to PID_9 processing channels in sequence, and at the same time convert the ID_0 to PID_9 processing channels to a non-idle state.

[0057] Step 3: When the 11th data is allocated, it is found that the processing channels of PID_0 to PID_9 have not yet finished processing the first 10 data. Therefore, the 11th to 30th data are cached into the buffer_ according to priority.

[0058] Step 4: Monitor the idle status of the processing channels from PID_0 to PID_9. When the PID_0 processing channel finishes processing data, it is determined that the PID_0 processing channel has switched to an idle state. Therefore, the 11th data is assigned to the PID_0 processing channel for processing, and the remaining data continues to be kept in the buffer state.

[0059] Step 5: Repeat step 4 until all 30 data points have been processed, then end the process.

[0060] Scene 2:

[0061] Assuming there are 10 PID processing channels, the last 5 channels in the chip are in their initial state and are not processing any data. Meanwhile, the first 5 channels are processing data.

[0062] Meanwhile, the number of data received was 30.

[0063] Step 1: Since the last 5 processing channels in the PID processing channel are in the initial state and have not processed any data, while the other 5 processing channels are processing data, it is determined that the processing channels of PID_0 to PID_4 are in a non-idle state, and the processing channels of PID_5 to PID_9 are in an idle state.

[0064] Step 2: After receiving 30 data points, analyze the data processing priority based on the data's attribute information (e.g., data type, data size), and then sequentially allocate them to processing channels PID_5 through PID_9. Simultaneously, switch processing channels PID_5 through PID_9 to a non-idle state.

[0065] Step 3: When the 6th data is allocated, it is found that the processing channels of PID_0 to PID_9 have not yet finished processing the first 10 data. Therefore, the 6th to 30th data are cached into the buffer_ according to priority.

[0066] Step 4: Monitor the idle status of the processing channels from PID_0 to PID_9. When it is predicted that the processing channels from PID_0 to PID_5 will complete data processing (for example, within 10ms), the 6th to 10th data items are extracted from the buffer and pre-allocated to the processing channels from PID_0 to PID_5.

[0067] Step 5: Once it's determined that only PID_0 through PID_4 have finished processing data, they are switched to an idle state. Therefore, the 6th to 9th data items are assigned to PID_0 through PID_4 for processing, and then PID_0 through PID_4 are switched back to a non-idle state. Since PID_5 has not yet finished processing data, the pre-allocated 10th data item is re-cached and given the highest priority. The remaining data remains cached.

[0068] Step 6: Repeat steps 4 and 5 until all 30 data points have been processed, then end the process.

[0069] It should be noted that scenarios 1 and 2 are merely illustrative examples and not exhaustive. For instance, scenarios 1 and 2 can be used in combination. Furthermore, other special cases, such as data requiring priority processing at certain specific points in time, data priority adjustments based on instructions, and the insertion of urgently needed data midway through processing, are also within the scope of this embodiment and will not be elaborated upon here.

[0070] Scene 3:

[0071] Assuming there are 96 source channels, each source channel, upon receiving data, transmits the corresponding channel data to the processing channel usage judgment module. This module determines if there are any idle processing channels. If the system has 16 processing channels, and only 8 are currently in use, then there are idle processing channels, and we can directly transmit the data to the processing channel allocation module for allocation. If all 16 channels are in use, then there are no idle processing channels, and we cache the data. Upon receiving a transmission request from any source channel, the processing channel allocation module allocates processing channels. If a cached transmission request is received, it first checks if there is an idle channel. If so, it allocates the requested channel to the cached channel; otherwise, it temporarily suspends processing the cached channel request and checks again after a period of time. After processing is complete, the data from the processed channel is mapped to the downstream transmission channel, and then the downstream channel continues transmission to the next process or the final transmission channel.

[0072] Optionally, Figure 4 This is a flowchart illustrating a memory management method for multi-channel data according to an optional embodiment of the present invention, such as... Figure 4 As shown, it includes:

[0073] (1) is the input terminal of n source channels; (2) is the serial diagram of k standard processes; (3) is the output terminal of n source channels. Optionally, the entire process can be divided into multiple standard processes and connected in series according to rationality. In this way, after the previous process is completed, the next process can be entered, and the resources of the previous process can be released as soon as possible to receive the data of the next source channel. This also means that fewer processing processes can be set, thereby saving more resources.

[0074] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0075] This embodiment also provides a data processing apparatus for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0076] Figure 2 This is a flowchart of a data processing method according to an embodiment of the present invention, such as... Figure 5 As shown, the device includes:

[0077] The sending module 51 is used to send the data to one or more of a plurality of designated processing channels for data processing after receiving data from the source channel, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels.

[0078] Through the above module, after the source channel receives data, it sends the data to one or more of the multiple designated processing channels for data processing. The multiple designated processing channels are processing channels shared by the source channel. The number of the designated processing channels shared by the source channel is less than the number of the source channels. By configuring shared processing channels for the source channel, the problem of increased resource consumption caused by the increase in the number of channels in related technologies can be solved, and the effect of effectively reducing resource consumption can be achieved under the continuous increase of chip processing performance requirements.

[0079] Optionally, the sending module includes: an acquisition module, configured to acquire the data processing status of the plurality of designated processing channels; a first caching module, configured to cache the data when it is determined, based on the data processing status of the plurality of designated processing channels, that the plurality of processing channels cannot meet the data processing requirements of the data; or, a second caching module, configured to, based on the data processing status of the plurality of designated processing channels, send a portion of the data to one or more of the plurality of designated processing channels for data processing according to a first preset rule, and cache unprocessed data in the data when it is determined, based on the data processing status of the plurality of designated processing channels, that the plurality of designated processing channels meet the data processing requirements of the data; or, an allocation module, configured to, based on a second preset rule, allocate the data to one or more of the plurality of designated processing channels for data processing when it is determined, based on the data processing status of the plurality of designated processing channels, that the plurality of designated processing channels meet the data processing requirements of the data.

[0080] Optionally, the sending module further includes: a monitoring module, configured to monitor the data processing status of the plurality of designated processing channels after caching the data, or after caching the unprocessed data in the data, and when it is detected that there is a processing channel among the plurality of designated processing channels in an idle state, allocate the cached data to the idle processing channel for data processing according to a third preset rule.

[0081] Optionally, the monitoring module includes: a first caching submodule, configured to cache the cached data again when it is determined, based on the data processing status of the plurality of specified processing channels, that the idle processing channel cannot meet the data processing requirements of the cached data; or, a first sending submodule, configured to send a portion of the cached data to the idle processing channel and cache the unprocessed data in the cached data again.

[0082] Optionally, the plurality of designated processing channels can be determined to be unable to meet the data processing requirements of the data by one of the following methods: determining that the data processing state of the plurality of designated processing channels is non-idle; determining that the number of channels in the plurality of designated processing channels that are in the non-idle state is less than the number of data.

[0083] Optionally, the second caching module includes: a second sending submodule, configured to send a portion of the data to one or more of the plurality of designated processing channels for data processing according to the priority of the data.

[0084] Optionally, the second sending submodule includes: an acquisition unit, configured to acquire identification information carried in the data, wherein the identification information is used to indicate the priority of processing the data; a first allocation unit, configured to prioritize the data according to the identification information, and allocate portions of the data to the processing channels for data processing in descending order of priority; or,

[0085] Optionally, the second sending submodule includes: a second allocation unit, configured to prioritize the data based on the attribute information of the data, and allocate a portion of the data to the processing channel for data processing in descending order of priority, wherein the attribute information of the data includes at least one of the following: the type information of the data, and the size information of the data.

[0086] Optionally, if it is determined that the cache time of a specified data in the cached data is greater than the pre-configured residence time, the priority of the specified data is increased.

[0087] Optionally, the apparatus further includes a mapping module, configured to map the processed data to a downstream transmission channel after the data has been sent to one or more of a plurality of designated processing channels for data processing.

[0088] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0089] Example 3

[0090] Embodiments of the present invention also provide a storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.

[0091] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:

[0092] S1, after receiving data, the source channel sends the data to one or more of a plurality of designated processing channels for data processing, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels.

[0093] Through the above steps, after the source channel receives data, it sends the data to one or more of the multiple designated processing channels for data processing. The multiple designated processing channels are processing channels shared by the source channel. The number of the designated processing channels shared by the source channel is less than the number of the source channels. By configuring shared processing channels for the source channel, the problem of increased resource consumption caused by the increase in the number of channels in related technologies can be solved, and the effect of effectively reducing resource consumption can be achieved under the continuous increase of chip processing performance requirements.

[0094] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0095] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0096] Embodiments of the present invention also provide an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.

[0097] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0098] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0099] S1, after receiving data, the source channel sends the data to one or more of a plurality of designated processing channels for data processing, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of designated processing channels shared by the source channel is less than the number of source channels.

[0100] Through the above steps, after the source channel receives data, it sends the data to one or more of the multiple designated processing channels for data processing. The multiple designated processing channels are processing channels shared by the source channel. The number of the designated processing channels shared by the source channel is less than the number of the source channels. By configuring shared processing channels for the source channel, the problem of increased resource consumption caused by the increase in the number of channels in related technologies can be solved, and the effect of effectively reducing resource consumption can be achieved under the continuous increase of chip processing performance requirements.

[0101] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0102] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby storing them in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0103] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A data processing method, characterized by, The method comprises: after a source channel receives data, the data is sent to one or more processing channels in a plurality of designated processing channels for data processing, wherein the plurality of designated processing channels are processing channels shared by the source channel, and the number of the designated processing channels shared by the source channel is less than the number of the source channel; the sending of the data to one or more processing channels in the plurality of designated processing channels for processing further comprises: after the data is cached, or after the uncached data in the data is cached, the data processing states of the plurality of designated processing channels are monitored, and when it is monitored that there is a processing channel in the plurality of designated processing channels in an idle state, the cached data is allocated to the processing channel in the idle state according to a third preset rule for data processing; the third preset rule is a rule for indicating that the processing requirement of the cached data is higher than the processing capacity of the processing channel in the idle state monitored, and in this case, part of the data is preferentially sent to the processing channel for data processing; the allocation of the cached data to the processing channel in the idle state according to the third preset rule for data processing comprises: in the case where it is determined according to the data processing states of the plurality of designated processing channels that the processing channel in the idle state cannot meet the data processing requirement of the cached data, the cached data is cached again; or, part of the data in the cached data is sent to the processing channel in the idle state, and the uncached data in the cached data is cached again.

2. The method of claim 1, wherein, the sending of the data to one or more processing channels in the plurality of designated processing channels for processing comprises: obtaining the data processing states of the plurality of designated processing channels; in the case where it is determined according to the data processing states of the plurality of designated processing channels that the plurality of processing channels cannot meet the data processing requirement of the data, the data is cached; or, in the case where it is determined according to the data processing states of the plurality of designated processing channels that the plurality of processing channels cannot meet the data processing requirement of the data, part of the data is sent to one or more processing channels in the plurality of designated processing channels according to a first preset rule for data processing, and the uncached data in the data is cached; or, in the case where it is determined according to the data processing states of the plurality of designated processing channels that the plurality of designated processing channels meet the data processing requirement of the data, the data is allocated to one or more processing channels in the plurality of designated processing channels according to a second preset rule for data processing.

3. The method of claim 2, wherein, the determination that the plurality of designated processing channels cannot meet the data processing requirement of the data is made in one of the following ways: it is determined that the data processing states of the plurality of designated processing channels are all in a non-idle state; it is determined that the number of channels in the non-idle state in the plurality of designated processing channels is less than the number of the data.

4. The method of claim 2, wherein, The sending, according to the first preset rule, of part of the data to one or more processing channels of the plurality of specified processing channels for data processing comprises: The sending, according to the priority of the data, of part of the data to one or more processing channels of the plurality of specified processing channels for data processing.

5. The method of claim 4, wherein, The sending, according to the priority of the data, of part of the data to one or more processing channels of the plurality of specified processing channels for data processing comprises: obtaining identification information carried in the data, wherein the identification information is used to indicate the priority of processing the data; and performing priority sorting on the data according to the identification information, and distributing part of the data to the processing channels for data processing in order of priority from high to low; or, The sending, according to the priority of the data, of part of the data to one or more processing channels of the plurality of specified processing channels for data processing comprises: performing priority sorting on the data through attribute information of the data, and distributing part of the data to the processing channels for data processing in order of priority from high to low, wherein the attribute information of the data at least comprises one of the following: type information of the data, size information of the data.

6. The method according to claim 4 or 5, characterized in that, The method further comprises: In the case where the cache time of specified data in the cached data is greater than the pre-configured residence time, the priority of the specified data is increased.

7. The method of claim 1, wherein, After the sending of the data to one or more processing channels of a plurality of specified processing channels for data processing, the method further comprises: Mapping the data after data processing to a downstream transmission channel.

8. A data processing apparatus, characterized by, Comprises: A sending module, configured to, after receiving data at a source channel, send the data to one or more processing channels of a plurality of specified processing channels for data processing, wherein the plurality of specified processing channels are processing channels shared by the source channels, and the number of the specified processing channels shared by the source channels is less than the number of the source channels; The sending module is further configured to monitor data processing states of the plurality of designated processing channels after caching the data or after caching the unprocessed data in the data, and when it is monitored that there is a processing channel in the plurality of designated processing channels in an idle state, allocate the cached data to the processing channel in the idle state according to a third preset rule for data processing; in a case where the processing channel in the idle state cannot meet the data processing requirement of the cached data according to the data processing states of the plurality of designated processing channels, cache the cached data again; or send part of the cached data to the processing channel in the idle state and cache the unprocessed data in the cached data again; the third preset rule is used to indicate that the processing requirement of the cached data is higher than the processing capacity of the processing channel in the idle state monitored in the data processing state, and in this case, part of the data is preferentially sent to the processing channel for data processing.

9. A storage medium, characterized by The storage medium has a computer program stored therein, wherein the computer program is configured to execute the method in any one of claims 1 to 7 when running. 10.An electronic device comprising a memory and a processor, the electronic device characterized by, The memory has a computer program stored therein, and the processor is configured to execute the computer program to execute the method in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Service request processing method and device

    CN104572974A