Flow control method and device, electronic equipment, storage medium and program product
The flow control method optimizes DPU chip operations by determining transmission control information and timing based on message length and bandwidth, reducing delays and improving network efficiency.
Patent Information
- Application Number
- CN202411268458.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-10
- Publication Date
- 2024-12-31
AI Technical Summary
The existing flow control methods using DPU chips suffer from transmission delays due to the accumulation of control messages, which is exacerbated by real-time and bursty characteristics, leading to inefficient network performance.
A flow control method that determines transmission control information based on message length and bandwidth, uses a current time series to compare and schedule message transmission, ensuring timely and efficient delivery of control messages.
This approach reduces the likelihood of delayed transmissions, enhances transmission accuracy and efficiency, and maintains network stability by optimizing resource allocation and timing.
Smart Images

Figure CN119232346A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a flow control method, device, electronic device, storage medium and program product. Background Art
[0002] DPU (Data Processing Unit) chip is a chip specifically used for data processing.
[0003] In the related art, when flow control is performed based on the DPU chip, it is controlled by polling scheduling. Since the control flow has the characteristics of real-time and burstiness, the polling method may cause the transmission delay to be too long due to the accumulation of too many control messages. Therefore, a method that can reduce the delay in sending control messages is urgently needed. Summary of the invention
[0004] In view of this, the present disclosure provides a flow control method, device, electronic device, storage medium and program product to solve the problem of delayed transmission of control messages due to flow bursts.
[0005] In a first aspect, the present disclosure provides a flow control method, the method comprising:
[0006] Determine the control message to be transmitted in the control flow queue;
[0007] Determining transmission control information of the control message based on the message length of the control message and the control traffic bandwidth information;
[0008] Obtaining a current time series of the system, wherein the current time series is determined based on the current system time;
[0009] Based on the comparison result of the transmission control information and the current time sequence, the transmission timing of the control message is determined.
[0010] In a second aspect, the present disclosure provides a flow control device, the device comprising:
[0011] A first processing module, used for determining a control message to be transmitted in a control flow queue;
[0012] A second processing module, configured to determine transmission control information of the control message based on a message length of the control message and control flow bandwidth information;
[0013] An acquisition module, used for acquiring a current time series of a system, wherein the current time series is determined based on a current system time;
[0014] The third processing module is used to determine the transmission timing of the control message based on the comparison result between the transmission control information and the current time sequence.
[0015] In a third aspect, the present disclosure provides an electronic device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the flow control method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0016] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the flow control method of the first aspect or any corresponding embodiment thereof.
[0017] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the flow control method of the first aspect or any corresponding embodiment thereof.
[0018] The flow control method provided in this embodiment can determine the transmission control information of the control message based on the message length of the control message and the control flow bandwidth information to ensure the rationality of the allocation of network resources, and then determine the transmission timing of the control message based on the comparison result between the transmission control information and the current time series corresponding to the current system time, which can effectively reduce the possibility of delayed transmission of the control message, thereby improving the transmission accuracy and efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0020] Figure 1 is a flow chart of a flow control method provided according to an embodiment of the present disclosure;
[0021] Figure 2 is a flow chart of another flow control method provided according to an embodiment of the present disclosure;
[0022] Figure 3 is a scheduling schematic diagram of flow control provided according to an embodiment of the present disclosure;
[0023] Figure 4 is a transmission timing diagram provided according to an embodiment of the present disclosure;
[0024] Figure 5 is a schematic diagram of a process for determining transmission control information provided according to an embodiment of the present disclosure;
[0025] Figure 6 is a structural block diagram of a flow control device provided according to an embodiment of the present disclosure;
[0026] Figure 7 It is a schematic diagram of the hardware structure of the electronic device according to the embodiment of the present disclosure. DETAILED DESCRIPTION
[0027] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0028] In the related art, when the DPU chip performs flow control, it controls the transmission of each message in the flow in order through polling scheduling. Since the control flow is real-time and bursty, a large number of control messages will be generated in a short period of time. Therefore, when the polling time interval is long or the processing speed cannot keep up with the message generation speed, some control messages may not be transmitted in time and messages may accumulate. However, as the accumulated number of control messages continues to increase, the delay time of sending will also increase accordingly, which will affect the performance of the DPU chip.
[0029] In view of this, the embodiments of the present disclosure provide a flow control method to effectively manage and control the transmission of control messages so that they can be transmitted at the appropriate time while meeting bandwidth restrictions, thereby effectively reducing the possibility of delayed transmission of control messages and improving transmission accuracy and efficiency.
[0030] According to an embodiment of the present disclosure, a flow control method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0031] In this embodiment, a flow control method is provided, which can be used for electronic devices such as mobile phones and tablet computers that deploy the above-mentioned DPU. Figure 1 is a flow chart of a flow control method according to an embodiment of the present disclosure, such as Figure 1 As shown, the process includes the following steps:
[0032] Step S101, determining control messages to be transmitted in a control traffic queue.
[0033] Control messages refer to messages used to control and manage data transmission in communication networks, such as establishing connections, transmitting control information, etc. To ensure that control messages can be transmitted in a timely manner, control messages to be transmitted are identified and determined from the control traffic queue so that the transmission control information of the control messages can be clarified later, thereby enabling better targeted control.
[0034] In some optional examples, the control message to be transmitted may be determined according to the corresponding priority. That is, the priority is set in advance according to the importance or urgency of the control message, and then the control message with a higher priority is selected as the message to be transmitted in the control flow queue, thereby helping to ensure that important control information can be transmitted first. In some other optional examples, the control message to be transmitted may be determined according to the order in which the control message enters the control flow queue. That is, the control message that enters the control flow queue first is selected as the control message to be transmitted first, thereby helping to improve the determination efficiency. The specific determination process of the control message can be determined by selecting a combination of one or more methods according to the specific scenario and needs, and is not limited here.
[0035] Step S102: determining transmission control information of the control message based on the message length of the control message and the control flow bandwidth information.
[0036] According to the message length, the data volume of the control message can be clearly determined. According to the control traffic bandwidth information, the relevant information of the bandwidth resources used when transmitting the control message can be clearly determined. The relevant information includes but is not limited to any one or more combinations of the following: the ratio between the bandwidth resources used when transmitting the control message and the overall bandwidth resources, the bandwidth amount that can be allocated to the control message, the upper limit of the transmission rate of the control message, and the bandwidth allocation of control messages of different priorities. Among them, by determining the ratio between the bandwidth resources used when transmitting the control message and the overall bandwidth resources, the bandwidth management and allocation can be better performed. By determining the bandwidth amount that can be allocated to the control message, it can be ensured that there are sufficient resources for transmission when transmitting the control message. By determining the upper limit of the transmission rate of the control message, it can be understood how fast the control message can be transmitted under specific bandwidth conditions to avoid exceeding the bandwidth limit and causing network congestion. By determining the bandwidth allocation of control messages of different priorities, it can help determine the bandwidth share that can be obtained by the control message of each priority, so as to ensure that the control message of high priority can be transmitted first.
[0037] Transmission control information is information used to perform targeted control on the transmission of control messages, including but not limited to the transmission duration and transmission rate of control messages. When the message length and control traffic bandwidth information are clear, the transmission control information of the control message is determined, which can ensure the reliability of the transmission control information, and then when the transmission of the control message is subsequently controlled based on the transmission control information, it can ensure that the control message can be transmitted in a timely manner within a reasonable bandwidth range.
[0038] Step S103, obtaining the current time series of the system.
[0039] The current time sequence is determined based on the current system time and is used to indicate the order of time. In order to determine the transmission timing of the control message, the current system time is converted into the current time sequence so that it can be read and recognized by the DPU chip. Then, the current time sequence can be used as a time reference to perform targeted control on the transmission of the control message.
[0040] Step S104: determining the transmission timing of the control message based on the comparison result between the transmission control information and the current time sequence.
[0041] Based on the comparison results of the transmission control information and the current time series, it can be determined whether the control message can be effectively transmitted under the current system time, and then the transmission timing of the control message can be determined in a targeted manner, which can not only ensure the normal operation of the network and the effective transmission of data, but also avoid unnecessary delays and waste of resources.
[0042] The flow control method provided in this embodiment can determine the transmission control information of the control message based on the message length of the control message and the control flow bandwidth information to ensure the rationality of the allocation of network resources, and then determine the transmission timing of the control message based on the comparison result between the transmission control information and the current time series corresponding to the current system time, which can effectively reduce the possibility of delayed transmission of the control message, thereby improving the transmission accuracy and efficiency.
[0043] In some optional embodiments, the current time series of the system is increased according to a preset step size, and the preset step size is determined based on the bus width of the system, thereby ensuring the time synchronization of various components or modules in the system, avoiding errors or anomalies caused by time inconsistencies, and making the increase method of the current time series more precise, which helps to improve the reliability and stability of the system.
[0044] In other optional implementations, the ratio between the preset step size and the bus width is a positive integer, which helps to improve the efficiency of determining the next time series. In addition, by determining the preset step size in this way, hardware resources can be better utilized to avoid waste of resources or uneven allocation, thereby better improving the resource utilization and overall performance of the system.
[0045] In some optional implementation scenarios, if the bus width of the system is 68 Byte, the preset step size may be 16 times the bus width, that is, the preset step size may be 1024 Byte. Preferably, the ratio between the preset step size and the bus width is an exponential multiple of 2, so that the binary characteristics of the computer system can be better utilized to improve the performance, efficiency and scalability of the system.
[0046] In this embodiment, a flow control method is provided, which can be used for electronic devices such as mobile phones and tablet computers that deploy the above-mentioned DPU. Figure 2 is a flow chart of a flow control method according to an embodiment of the present disclosure, such as Figure 2 As shown, the process includes the following steps:
[0047] Step S201: Determine the control message to be transmitted in the control flow queue. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0048] Step S202: determining transmission control information of the control message based on the message length of the control message and the control flow bandwidth information.
[0049] Specifically, the transmission control information includes a first start time sequence and a first end time sequence, and the above step S202 includes:
[0050] Step S2021, obtaining a first starting time sequence corresponding to the control message.
[0051] By acquiring the first start time sequence corresponding to the control message, the start sending time of the control message can be clarified, and then targeted control can be performed during subsequent transmission.
[0052] Among them, the first start time sequence is the same as the second end time sequence of the previous message, and the previous message is a message that is adjacent to the control message and has been transmitted. The second end time sequence can be understood as the stop time when the transmission of the previous message is completed. By determining the second end time sequence of the previous message as the first start time sequence corresponding to the control message, it can be ensured that the transmission of the control message is continuous in time, thereby effectively avoiding the occurrence of erroneous transmission or missed transmission.
[0053] Step S2022, based on the ratio of the message length and the control flow bandwidth information, obtain the time series interval.
[0054] Among them, the control traffic bandwidth information is used to characterize the transmission bandwidth ratio corresponding to the control traffic queue. The transmission bandwidth ratio can be predetermined or determined based on the actual quality of service (QoS) of the network, and can be determined specifically according to demand. Through the transmission bandwidth ratio, the available bandwidth resources corresponding to the control traffic queue can be clearly defined. For example, if the transmission bandwidth ratio is 20% and the total bandwidth is 100Mbps, then the bandwidth resources available to the control traffic queue are 20Mbps.
[0055] In order to determine the time taken to transmit the control message, the ratio between the message length and the transmission bandwidth ratio is determined, and then the time series interval required from the start of transmitting the control message to the stop of transmitting the control message is determined based on the ratio. This can ensure that the obtained time series interval meets the current network transmission performance, so that the reliability of the first termination time sequence corresponding to the control message can be guaranteed when it is subsequently determined.
[0056] In some examples, the numerical value corresponding to the ratio can be directly used as the time series interval, thereby helping to improve the efficiency of determining the time series interval. In other examples, the time series interval corresponding to the ratio can be obtained by performing analysis based on the ratio through a pre-trained model. The trained model is a model for analyzing the mapping relationship between the ratio between the message length and the transmission bandwidth ratio and the time series interval.
[0057] Step S2023: Obtain a first end time sequence corresponding to the control message based on the sum of the first start time sequence and the time sequence interval.
[0058] The first start time sequence can be understood as the transmission time sequence for starting to transmit the control message. The time sequence interval can be understood as the duration required to transmit the control message. By adding the first start time sequence to the time sequence interval and taking the sum as the first end time sequence corresponding to the control message, the transmission time sequence for stopping the transmission of the control message can be clearly determined. Then, combined with the transmission control information of the control message formed by the determined first start time sequence, it can be clearly determined when the control message should start to be transmitted and when the transmission should end, thereby achieving precise control of the control message transmission.
[0059] In some optional implementation scenarios, the expression of the first termination time sequence Finish_Time corresponding to the control message may be as follows:
[0060] Finish_Time=Start_Time+(Length / crtl_weight);
[0061] Among them, Start_Time represents the first starting time sequence corresponding to the control message, Length represents the message length of the control message, and crtl_weight represents the transmission bandwidth ratio.
[0062] Step S203, obtain the current time series of the system. For details, see Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.
[0063] Step S204: determining the transmission timing of the control message based on the comparison result between the transmission control information and the current time sequence.
[0064] Specifically, the above step S204 includes:
[0065] Step S2041, if the first starting time sequence is greater than the current time sequence, a control message is sent;
[0066] Step S2042: Update the first start time sequence to the first end time sequence to obtain a second start time sequence corresponding to the next message.
[0067] Specifically, to ensure the timeliness of message transmission, the first start time sequence is compared with the current time sequence. If the first start time sequence is greater than the current time sequence, it indicates that the current system time is a suitable time and can be used to transmit the control message. Therefore, the control message is sent to ensure that the control information corresponding to the control message can be transmitted at the appropriate time.
[0068] To ensure the continuity of message sending, the first start time sequence is updated to the first end time sequence, and it is used as the second start time sequence corresponding to the next message to ensure the orderliness and continuity of the time sequence. Subsequently, control messages are sent according to the time sequence, which can better plan and allocate network resources and improve the management effectiveness of control message sending.
[0069] In some other optional implementations, the above step S204 further includes:
[0070] Step S2043: If the first starting time sequence is less than or equal to the current time sequence, wait for the transmission opportunity of the control message.
[0071] If the first starting time sequence is less than or equal to the current time sequence, it indicates that the current system time is relatively lagging. If the control message is transmitted at this time, it may affect the normal control logic of the system. Therefore, when it is determined that the first starting time sequence is less than or equal to the current time sequence, wait for the transmission opportunity of the control message and do not send the control message until the first starting time sequence is greater than the current time sequence, then send the control message, thereby improving the transmission effectiveness of the control message and ensuring the stability of the system performance.
[0072] The flow control method provided in this embodiment determines the transmission control information of the control message according to the message length and the transmission bandwidth ratio corresponding to the control flow queue, which helps to reasonably arrange the transmission order and time of the message, and then determines the transmission timing of the control message based on the comparison result between the transmission control information and the current time series, which can effectively improve the transmission efficiency and accuracy of the control flow, thereby effectively reducing the accumulation and delay of the control message and ensuring the stable operation of the system.
[0073] In some optional implementations, the above method further includes:
[0074] Step b1: If the first starting time sequence is less than or equal to the current time sequence, then determine the service message to be transmitted in the service traffic queue.
[0075] If the first starting time sequence is less than or equal to the current time sequence, it indicates that the control message is temporarily not transmitted in the current period. In order to improve the utilization rate of network resources, the business messages to be transmitted in the business traffic queue are determined to determine whether there is any pending business information that needs to be transmitted. Among them, the type of business message may include but is not limited to network messages or storage messages. Network messages are messages used to transmit various types of data and information in the network to ensure the normal operation of network communication; storage messages are messages used to perform operations related to data storage.
[0076] By determining the service messages to be transmitted in the service traffic queue, the allocation of network resources can be better planned and managed, which helps to improve the overall operation efficiency and performance of the network.
[0077] In some optional implementations, the service traffic queue includes multiple types of service traffic sub-queues, so the service packets to be transmitted in the service traffic queue can be determined by the following process:
[0078] Step b11, determining a first service traffic sub-queue to be processed currently from multiple types of service traffic sub-queues;
[0079] Step b12: extracting service messages from the first service traffic sub-queue.
[0080] Specifically, in network communications, there are multiple types of service traffic subqueues, which carry service traffic of corresponding service types. In order to effectively process these service traffic, it is necessary to determine the first service traffic subqueue that needs to be processed currently from the numerous service traffic subqueues. For example, it can be determined by polling, priority screening, or the load of each service traffic subqueue.
[0081] If the determination is made in a polling manner, each service traffic subqueue can be checked in a certain order. When it is the turn of a service traffic subqueue, it will be determined as the first service traffic subqueue to be processed to ensure that each service traffic subqueue has a chance to be processed. If the determination is made in a priority screening manner, the corresponding priority can be configured in advance for each service traffic subqueue, and then the service traffic subqueue with the highest priority is first selected as the first service traffic subqueue to be processed, so that network resources can be more reasonably allocated. If the determination is made based on the load conditions of each service traffic subqueue, the service traffic subqueue with a smaller load can be selected as the first service traffic subqueue for processing by evaluating the load conditions of each subqueue, which helps to balance the system load and improve the overall processing efficiency of the message.
[0082] After the first service traffic sub-queue is determined, service messages are extracted from the sub-queue so that the service messages can be processed in a timely manner to meet corresponding service requirements.
[0083] Step b2: sending a service message based on the service traffic bandwidth information.
[0084] Among them, the service traffic bandwidth information is used to characterize the transmission bandwidth ratio corresponding to the service traffic queue. According to the transmission bandwidth ratio corresponding to the service traffic queue, the broadband resources that can be occupied when transmitting service messages can be clearly identified, and then the transmission of service messages can be controlled by using this part of the broadband resources, which can ensure the rationality of network resource allocation and improve the utilization of network resources, thereby helping to improve the overall network performance.
[0085] Moreover, based on the comparison result between the first starting time sequence and the current time sequence, the transmission of control messages or business messages can be controlled, which can effectively isolate control traffic and business traffic, avoid mutual response, and effectively reduce the accumulation of control traffic, thereby effectively reducing delayed transmission and achieving the purpose of ensuring the transmission effectiveness of control traffic.
[0086] As one or more specific application embodiments of the embodiments of the present disclosure, the scheduling diagram of flow control can be as follows: Figure 3 As shown in the figure, the system can transmit control traffic and business traffic through the DPU chip. Business traffic includes network traffic and storage traffic.
[0087] For control traffic, the transmission control information of the control message can be determined based on the message length of the control message to be transmitted in the control traffic queue and the control traffic bandwidth information, and then the transmission timing of the control message can be determined based on the comparison result of the first starting time sequence in the transmission control information and the current time sequence of the system, so that the control message is sent when the first starting time sequence is greater than the current time sequence.
[0088] For example, assuming that the preset step size of the system time is 1024 bytes, the message length of the control message is 1024 bytes, and the transmission bandwidth ratio is 0.1, the transmission timing diagram of the control message can be as follows: Figure 4 As shown. Among them, the horizontal axis is the time sequence corresponding to the system time, and the vertical axis is the control traffic queue. For the control message in the control message, if the first start time sequence is 0, the first end time sequence is 10240. Among them, the first end time sequence = the first start time sequence + (message length / transmission bandwidth ratio) = 0 + 1024 / 0.1 = 10240. If the current system time is 1024, wait for the transmission opportunity of the control message and do not send the control message. If the current system time is 10240, send the control message, and update the first start time sequence to 10240 as the second start time sequence corresponding to the next control message. If the message length corresponding to the next control message is still 1024Byte, it can be determined that the second end time sequence corresponding to the next control message is 20480. By analogy, the transmission timing of each control message is determined respectively, and when the corresponding first starting time sequence is greater than the current time sequence, the corresponding control message is sent. This not only enables targeted control of the control message and ensures the orderly transmission of the control message, but also reduces the delay of the control message.
[0089] Combination Figure 4 The transmission timing diagram shown in FIG. 1 shows, the process of determining the transmission control information of the control message can be as follows: Figure 5 As shown in FIG. , each ellipse in the figure represents a control message.
[0090] If the first starting time sequence is less than or equal to the current time sequence, a polling method is adopted to determine the service message to be transmitted from the network traffic or storage traffic, and then the service message is sent based on the service traffic bandwidth information.
[0091] Through the above-mentioned traffic control method, not only can the bandwidth resources for control traffic be guaranteed, the occurrence of delayed transmission can be reduced, and the risk of network congestion can be reduced, but also the transmission isolation of control traffic and business traffic can be achieved, avoiding the transmission of control traffic from being interfered by business traffic, and ensuring that control information can be transmitted accurately and timely, which is conducive to ensuring that the entire network system can operate more reliably and provide better support for various applications and services.
[0092] In this embodiment, a flow control device is also provided, which is used to implement the above-mentioned embodiments and preferred embodiments, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0093] This embodiment provides a flow control device, such as Figure 6 As shown, including:
[0094] The first processing module 601 is used to determine the control message to be transmitted in the control flow queue;
[0095] The second processing module 602 is used to determine the transmission control information of the control message based on the message length of the control message and the control flow bandwidth information;
[0096] An acquisition module 603 is used to acquire a current time series of the system, where the current time series is determined based on the current system time;
[0097] The third processing module 604 is used to determine the transmission timing of the control message based on the comparison result between the transmission control information and the current time sequence.
[0098] In some optional implementations, the second processing module 602 includes:
[0099] A sequence acquisition unit, used to acquire a first start time sequence corresponding to the control message, the first start time sequence is the same as the second end time sequence of a previous message, and the previous message is a message that is adjacent to the control message and has been transmitted;
[0100] A first processing unit is used to obtain a time series interval based on a ratio of a message length and control traffic bandwidth information, where the control traffic bandwidth information is used to characterize a transmission bandwidth ratio corresponding to a control traffic queue;
[0101] The second processing unit is used to obtain a first termination time sequence corresponding to the control message based on the sum of the first start time sequence and the time sequence interval, and the transmission control information includes the first start time sequence and the first termination time sequence.
[0102] In some optional implementations, the third processing module 604 includes:
[0103] A first control unit, configured to send a control message if the first starting time sequence is greater than the current time sequence;
[0104] The updating unit is used to update the first starting time sequence to the first ending time sequence to obtain a second starting time sequence corresponding to the next message.
[0105] In some optional implementations, the third processing module 604 further includes:
[0106] The second control unit is used to wait for the transmission opportunity of the control message if the first starting time sequence is less than or equal to the current time sequence.
[0107] In some optional embodiments, the device further comprises:
[0108] A fourth processing module, configured to determine a service message to be transmitted in the service traffic queue if the first starting time sequence is less than or equal to the current time sequence;
[0109] The sending module is used to send service messages based on the service traffic bandwidth information, where the service traffic bandwidth information is used to characterize the transmission bandwidth ratio corresponding to the service traffic queue.
[0110] In some optional implementations, the service traffic queue includes multiple types of service traffic sub-queues, and the fourth processing module includes:
[0111] A screening unit, configured to determine a first service flow sub-queue to be processed currently from multiple types of service flow sub-queues;
[0112] The extraction unit is used to extract the service message in the first service flow sub-queue.
[0113] In some optional implementations, the current time sequence of the system is increased according to a preset step size, and the preset step size is determined based on the bus width of the system.
[0114] In some optional implementations, the ratio between the preset step size and the bus width is a positive integer.
[0115] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0116] The flow control device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0117] The present disclosure also provides an electronic device having the above Figure 6 Flow control device shown.
[0118] See also Figure 7 , Figure 7 is a schematic diagram of the structure of an electronic device provided by an optional embodiment of the present disclosure, such as Figure 7 As shown, the electronic device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.
[0119] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0120] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0121] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0122] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0123] The electronic device further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 7 The example of connecting through bus is taken in the following.
[0124] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator rod, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0125] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0126] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0127] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0128] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0129] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0130] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0131] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A flow control method, characterized in that: The method comprises: Determine the control message to be transmitted in the control flow queue; Determining transmission control information of the control message based on the message length of the control message and the control traffic bandwidth information; Obtaining a current time series of the system, wherein the current time series is determined based on the current system time; Based on the comparison result of the transmission control information and the current time sequence, the transmission timing of the control message is determined.
2. The method according to claim 1, characterized in that The determining, based on the message length of the control message and the control traffic bandwidth information, the transmission control information of the control message comprises: Acquire a first start time sequence corresponding to the control message, where the first start time sequence is the same as a second end time sequence of a previous message, and the previous message is a message that is adjacent to the control message and has been transmitted; Based on the ratio of the message length and the control traffic bandwidth information, a time series interval is obtained, wherein the control traffic bandwidth information is used to characterize the transmission bandwidth ratio corresponding to the control traffic queue; Based on the sum of the first start time sequence and the time sequence interval, a first end time sequence corresponding to the control message is obtained, and the transmission control information includes the first start time sequence and the first end time sequence.
3. The method according to claim 2, characterized in that The determining, based on a comparison result between the transmission control information and the current system control information, a transmission timing of the control message, comprises: If the first starting time sequence is greater than the current time sequence, sending the control message; The first start time sequence is updated to the first end time sequence to obtain a second start time sequence corresponding to the next message.
4. The method according to claim 2, characterized in that: The determining the transmission timing of the control message based on the comparison result between the transmission control information and the current system control information further includes: If the first starting time sequence is less than or equal to the current time sequence, wait for the transmission opportunity of the control message.
5. The method according to claim 4, characterized in that The method further comprises: If the first starting time sequence is less than or equal to the current time sequence, determining the service message to be transmitted in the service traffic queue; The service message is sent based on service traffic bandwidth information, where the service traffic bandwidth information is used to characterize the transmission bandwidth ratio corresponding to the service traffic queue.
6. The method according to claim 5, characterized in that The service traffic queue includes multiple types of service traffic sub-queues, and determining the service message to be transmitted in the service traffic queue includes: Determine, from the multiple types of service traffic sub-queues, a first service traffic sub-queue to be processed currently; Extract the service message in the first service traffic sub-queue.
7. The method according to claim 1, characterized in that The current time sequence of the system is increased according to a preset step size, and the preset step size is determined based on the bus width of the system.
8. The method according to claim 7, characterized in that The ratio between the preset step length and the bus width is a positive integer.
9. A flow control device, characterized in that: The device comprises: A first processing module, used for determining a control message to be transmitted in a control flow queue; A second processing module, configured to determine transmission control information of the control message based on a message length of the control message and control flow bandwidth information; An acquisition module, used for acquiring a current time series of a system, wherein the current time series is determined based on a current system time; The third processing module is used to determine the transmission timing of the control message based on the comparison result between the transmission control information and the current time sequence.
10. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the flow control method according to any one of claims 1 to 8 by executing the computer instructions.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the flow control method according to any one of claims 1 to 8.
12. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the flow control method according to any one of claims 1 to 8.
