Message flow management method and device, equipment and storage medium

By filtering and replacing priority messages in the message flow, the cost increase caused by floating bandwidth consumption in the prior art is solved, and more efficient data transmission service stability and cost reduction are achieved.

CN119484425APending Publication Date: 2025-02-18TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311014121.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-10
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

When ensuring the stability of data transmission services, the prior art needs to set floating bandwidth, resulting in additional consumption of network resources and increasing the cost of data transmission services.

Method used

By filtering out messages with information rates exceeding the preset rate threshold from the message stream to be sent, and filtering out target messages with priority sending permissions based on their priority identification, the cumulative message size of historical shelved messages reaches the When the target message is sized, the historical shelved message is discarded and the target message is sent.

Benefits of technology

Without consuming floating bandwidth, the transmission rate of packets with priority transmission permissions is improved, the stability of data transmission services is improved, and the cost of data transmission services is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484425A_ABST
    Figure CN119484425A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a message flow management method and device, equipment and a storage medium, and relates to the technical field of data transmission, and the method comprises the steps: obtaining a plurality of to-be-screened messages with information rates exceeding a preset rate threshold from a to-be-sent message flow; based on the priority identifiers of a plurality of messages to be screened, screening out at least one first target message from the messages, obtaining the first message size of the at least one first target message with the priority sending permission, obtaining the accumulated message size of the recorded at least one historical shelving message, and when the accumulated message size is not smaller than the first message size, sending the at least one historical shelving message to the first target message; discarding the historically shelved message conforming to the size of the first message, and sending the first target message; wherein the historical shelving message is a message which is intercepted from a historical message flow which does not exceed an information rate threshold value and does not have the priority sending authority. The method is used for ensuring the stability of data transmission service on the premise of not consuming network resources for floating bandwidth.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data transmission, and in particular to a message flow management method, device, equipment and storage medium. Background Art

[0002] Remote desktop connection is a mode of remote computer operation. It can be used to visually access the desktop environment of the remote computer and to manage the remote computer on the other end from a controlling computer. In the process of remote desktop connection, it is generally necessary to obtain the interface data of the remote computer and display it on the controlling computer, and send the control data generated by the mouse, keyboard, etc. of the controlling computer to the controlling computer. Therefore, the user of the remote desktop needs to purchase network bandwidth to transmit interface data and control data during the remote desktop connection. However, in actual use, the information rate of the message flow generated during the remote desktop connection is elastic, so it is necessary to formulate a reasonable bandwidth speed limit plan to balance the relationship between bandwidth resources and information rate.

[0003] In the related art, there are two main bandwidth speed limiting schemes, the single-level speed limiting method and the two-level speed limiting method. Taking remote desktop connection as an example, the following high-priority message flow and low-priority message flow distinction method generally sets the control data and interface data that play a key role in remote desktop display and control as high-priority message flow, and sets the video data and image data that do not have a great impact on remote desktop display and control as low-priority message flow.

[0004] Specifically, the so-called single-level speed limiting method refers to the use of a single-level speed limiter to allow the message flow that does not exceed the network bandwidth carrying capacity to be sent, and to discard the message flow that exceeds the floating bandwidth carrying capacity, and to divide the message flow that exceeds the network bandwidth carrying capacity but does not exceed the floating bandwidth floating value carrying capacity into high-priority message flow and low-priority message flow, and discard the low-priority message flow and allow the high-priority message flow to be sent.

[0005] When using the above method, it is necessary to set a floating bandwidth so that even if the floating degree of the information rate exceeds the existing network bandwidth, it is still possible to ensure that part of the high-priority traffic in the floating bandwidth floating value is released and sent to ensure the stability of the data transmission service. However, this method requires additional resources for the floating bandwidth, thereby increasing the cost of the data transmission service.

[0006] For example, assuming that the purchased network bandwidth is 10 bit / s and the floating bandwidth is +1 bit / s, setting the floating bandwidth to +1 bit / s can allow the information rate to fluctuate to a certain extent above 10 bit / s to provide a relatively reliable data transmission service. The single-level speed limit method uses a single-level speed limiter to allow the message flow with an information rate not exceeding 10 bit / s to be sent, discard the message flow with an information rate exceeding 10+1 bit / s, intercept the message flow with an information rate of +1 bit / s, and distinguish high-priority message flows from low-priority message flows from the intercepted message flows, and discard the low-priority message flows and allow the high-priority message flows to be sent. Obviously, in the above process, the floating bandwidth will consume certain network resources, thereby increasing the cost of data transmission services.

[0007] The so-called two-level speed limiting method refers to using the first-level speed limiter to release the message flow that does not exceed the network bandwidth carrying capacity, classify the message flow that exceeds the network bandwidth carrying capacity, obtain high-priority message flow and low-priority message flow, then discard the low-priority message flow and only obtain the high-priority message flow, and then use the second-level speed limiter to release the high-priority message flow that does not exceed the floating bandwidth carrying capacity, and discard the high-priority message flow that exceeds the floating bandwidth carrying capacity.

[0008] When using the above method, floating bandwidth also needs to be set. The two speed limits make the floating bandwidth carry high-priority message flows. Although compared with the single-level speed limit method, more high-priority message flows are released and the stability of data transmission services is better. However, using floating bandwidth still consumes additional resources, thereby increasing the cost of data transmission services.

[0009] For example, the first-level rate limiter is used to release the message flow with an information rate not exceeding 10 bit / s, and the message flow with an information rate exceeding 10 bit / s is intercepted. The intercepted message flow is classified to obtain high-priority message flow and low-priority message flow. Then, the second rate limiter is used to release the high-priority message flow with an information rate not exceeding +1 bit / s in the intercepted message flow. Obviously, in the above process, floating bandwidth will still consume certain network resources, thereby increasing the cost of data transmission services.

[0010] In summary, both of the above two solutions are configured with floating bandwidth, which represents the floating carrying capacity that allows the network bandwidth to exceed the carrying capacity. It is used to ensure the stability of data transmission services to a certain extent when the information rate exceeds the carrying capacity of the network bandwidth. It can be seen that the above two solutions cannot ensure the stability of data transmission services without consuming network resources for floating bandwidth.

[0011] Therefore, it is now urgent to redesign a message flow management method and overcome the above-mentioned defects. Summary of the invention

[0012] The embodiments of the present application provide a message flow management method, apparatus, device and storage medium, which are used to ensure the stability of data transmission services without consuming network resources for floating bandwidth.

[0013] In a first aspect, an embodiment of the present application provides a method for managing a message flow, the method comprising:

[0014] Obtaining at least one message to be screened whose information rate exceeds a preset rate threshold from the message flow to be sent;

[0015] Based on the priority identifier of the at least one message to be screened, at least one first target message is screened out from the at least one message to be screened, and a first message size of the at least one first target message is obtained; wherein the first target message is a message with priority sending authority;

[0016] Obtain the cumulative message size of at least one recorded historical pending message, and when the cumulative message size is not less than the first message size, discard the historical pending message that meets the first message size from the at least one historical pending message, and send the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

[0017] In a second aspect, an embodiment of the present application provides a message flow management device, including:

[0018] A first screening unit, configured to obtain, from the message stream to be sent, at least one message to be screened whose information rate exceeds a preset rate threshold;

[0019] A second screening unit, configured to screen out at least one first target message from the at least one message to be screened based on the priority identifier of the at least one message to be screened, and obtain a first message size of the at least one first target message; wherein the first target message is a message with priority sending authority;

[0020] A message replacement unit, used for obtaining the cumulative message size of at least one recorded historical pending message, and when the cumulative message size is not less than the first message size, discarding the historical pending message that meets the first message size from the at least one historical pending message, and sending the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

[0021] Optionally, the message replacement unit is further configured to discard the at least one message to be screened when the accumulated message size is smaller than the first message size.

[0022] Optionally, the first screening unit is further used to obtain, from the message flow to be sent, at least one message to be shelved whose information rate does not exceed the preset rate threshold;

[0023] The message replacement unit is further used to obtain a current cumulative message size, and when the current cumulative message size is less than a preset cumulative threshold, determine a difference between the current cumulative message size and the cumulative threshold as a second message size;

[0024] The second screening unit is further used to screen out a second target message that meets the second message size from the at least one message to be put on hold based on the priority identifier of the at least one message to be put on hold; wherein the second target message is a message that does not have priority sending authority;

[0025] The message replacement unit is further configured to shelve the second target message as a historical shelved message, and use the sum of the second message size and the current accumulated message size as a new current accumulated message size.

[0026] Optionally, the message replacement unit is further used to, based on the priority identifier of the at least one message to be put on hold, filter out and send a message with priority sending authority from the at least one message to be put on hold.

[0027] Optionally, the message replacement unit is further used to obtain a current accumulated message size, and when the current accumulated message size is not less than the preset accumulated threshold, send the at least one to-be-pending message.

[0028] Optionally, the message replacement unit is further used to send the second target message if the information rate of a previous message of the second target message does not exceed the preset rate threshold.

[0029] Optionally, the priority identifier is an IP address identifier or a port identifier; then the second screening unit is specifically used to screen out the at least one first target message from the at least one message to be screened based on the priority identifier and authority record of the at least one message to be screened, and the authority record contains an IP address identifier or port identifier with priority sending authority.

[0030] In a third aspect, an embodiment of the present application provides an editable device, wherein the editable device is a dedicated integrated circuit or a field programmable logic gate array, comprising a memory, a register, a processor, and a computer program stored in the memory and executable on the processor;

[0031] The editable device implements the steps of any one of the message flow management methods in the first aspect when executing the computer program, wherein the register is used to calculate and record the accumulated message size of the at least one historical pending message.

[0032] In a fourth aspect, an embodiment of the present application provides a computer device, comprising a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes any one of the message flow management methods in the above-mentioned first aspect.

[0033] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which includes a computer program. When the computer program is run on a computer device, the computer program is used to enable the computer device to execute any one of the message flow management methods in the above-mentioned first aspect.

[0034] In a sixth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising a computer program, and the computer program is stored in a computer-readable storage medium; when a processor of a computer device reads the computer program from the computer-readable storage medium, the processor executes the computer program, so that the computer device executes any one of the message flow management methods in the above-mentioned first aspect.

[0035] The beneficial effects of this application are as follows:

[0036] In the embodiment of the present application, a message flow is transmitted between a terminal device and a server. In the terminal device or the server, a message flow management method can be set, including: intercepting messages that do not have priority sending authority from historical message flows that do not exceed the information rate threshold as historical pending messages, and replacing network bandwidth resources with first target messages that exceed the preset rate threshold and have priority sending authority. Thus, the network bandwidth resources of historical pending messages that do not have priority sending authority are used to send the first target message with priority sending authority, that is, to ensure that the network bandwidth of the message flow does not exceed the preset rate threshold, and to increase the sending rate of messages with priority sending authority; wherein, when the cumulative message size of the historical pending messages is not less than the first message size of the first target message, message replacement is performed to ensure the feasibility of message replacement.

[0037] Compared with the related art, in which a floating bandwidth is set to send a message flow with priority sending rights in the floating bandwidth, the above method can improve the sending rate of messages with priority sending rights without consuming network resources for the floating bandwidth, thereby improving the stability of data transmission services.

[0038] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0040] Figure 1 A schematic diagram of a double token bucket provided in a rate limiter of a programmable device provided in an embodiment of the present application;

[0041] Figure 2 A schematic diagram of a single-stage speed limiting method provided in an embodiment of the present application;

[0042] Figure 3 A schematic diagram of a two-stage speed limiting method provided in an embodiment of the present application;

[0043] Figure 4 An optional schematic diagram of an application scenario provided by an embodiment of the present application;

[0044] Figure 5 An optional schematic diagram of an application scenario provided by an embodiment of the present application;

[0045] Figure 6 A schematic diagram of a message flow management method provided in an embodiment of the present application;

[0046] Figure 7 A schematic diagram of a message flow to be sent, a preset rate threshold and messages to be screened provided in an embodiment of the present application;

[0047] Figure 8 A schematic diagram of a historical message flow and historical pending messages therein provided in an embodiment of the present application;

[0048] Fig. 9 A schematic diagram of a method for putting historical pending messages into a cache provided in an embodiment of the present application;

[0049] Fig.10 A schematic diagram of a first target message sending method provided in an embodiment of the present application;

[0050] Fig.11A schematic diagram of a method for failing to send a first target message provided in an embodiment of the present application;

[0051] Fig.12 A schematic diagram of a message flow management method provided in an embodiment of the present application;

[0052] Fig.13 A schematic diagram of a message flow to be sent including a second target message provided in an embodiment of the present application;

[0053] Fig.14 A schematic diagram of a message flow to be sent including a second target message provided in an embodiment of the present application;

[0054] Fig.15 A schematic diagram of a method for obtaining a second target message provided in an embodiment of the present application;

[0055] Fig.16 A schematic diagram of another method for obtaining a second target message provided in an embodiment of the present application;

[0056] Fig.17 A schematic diagram of the structure of an editable device provided in an embodiment of the present application;

[0057] Fig.18 A schematic diagram of the structure of another editable device provided in an embodiment of the present application;

[0058] Fig.19 A schematic diagram of a message flow management scenario provided in an embodiment of the present application;

[0059] Fig. 20 A schematic diagram of another message flow management scenario provided in an embodiment of the present application;

[0060] Fig.21 A schematic diagram of a message flow management device provided in an embodiment of the present application;

[0061] Fig. 22 A schematic diagram of a hardware structure of a computer device to which an embodiment of the present application is applied;

[0062] Fig.23 A schematic diagram of the hardware composition structure of another computer device to which the embodiment of the present application is applied. DETAILED DESCRIPTION

[0063] In order to make the purpose, technical scheme and advantages of the present application clearer, the technical scheme in the embodiment of the present application will be clearly and completely described below in conjunction with the drawings in the embodiment of the present application. Obviously, the described embodiment is only a part of the embodiment of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application. In the absence of conflict, the embodiments in the present application and the features in the embodiments can be combined with each other arbitrarily. In addition, although the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in an order different from that here.

[0064] It is understandable that in the following specific implementations of the present application, data related to the message flow to be sent, the first target message, etc., are involved. When the various embodiments of the present application are applied to specific products or technologies, relevant licenses or consents need to be obtained, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions. For example, when it is necessary to obtain relevant data, relevant volunteers can be recruited and relevant agreements for volunteer authorization data can be signed, and then the data of these volunteers can be used for implementation; or, by implementing within the scope of the authorized organization, the following implementation methods are implemented by using the data of internal members of the organization to make relevant recommendations to internal members; or, the relevant data used in the specific implementation are all simulated data, such as simulated data generated in a virtual scene.

[0065] To facilitate understanding of the technical solutions provided in the embodiments of the present application, some key terms used in the embodiments of the present application are explained here:

[0066] The function of register is to store binary code. It is composed of a combination of latches or triggers with storage function. Registers can be set inside the CPU as a small storage area to store data, and are used to temporarily store data involved in the operation and the results of the operation. In fact, registers are a commonly used sequential logic circuit, but this sequential logic circuit only contains storage circuits. The storage circuit of the register is composed of latches or triggers. Because a latch or trigger can store 1 binary number, an N-bit register can be formed by N latches or triggers. Registers are high-speed storage components with limited storage capacity. They can be used to temporarily store instructions, data and addresses. In the computer field, registers can be divided into two categories: basic registers and shift registers according to their different functions. Basic registers can only input data in parallel and can only output data in parallel. The data in the shift register can be shifted right or left bit by bit under the action of the shift pulse. The data can be input and output in parallel, or input and output in series, or input and output in parallel, which is very flexible and has a wide range of uses. Registers are components inside the CPU, and they include general registers, special registers, and control registers. Registers have very high read and write speeds, so data transfer between registers is very fast.

[0067] The trigger of the register is an edge-sensitive storage unit. The data storage action is synchronized with the rising or falling edge of a certain signal. The Q output of the trigger will be updated at every clock edge, while the latch can only be updated when the enable level is valid.

[0068] Latch is a storage unit circuit that is sensitive to pulse level. It can change state under the action of specific input pulse level. Latching is to temporarily store the signal to maintain a certain level state. The main function of latch is cache, followed by solving the synchronization problem between high-speed controller and slow peripherals, and then solving the problem of driving. Finally, it solves the problem of an I / O port being able to output and input. Latch uses level to control the input of data. It includes latches without enable control and latches with enable control.

[0069] Network bandwidth refers to the amount of data that can be transmitted per unit time (generally 1 second). A network is similar to a highway. The larger the bandwidth, the more lanes a highway has, and the greater its capacity. Bandwidth is the abbreviation of "bandwidth". It was originally a term in communications and electronic technology, referring to the range of signals that a communication line or device can transmit. The bandwidth in a network refers to the amount of information that flows from one end to the other within a specified time, that is, the data transmission rate. Network bandwidth is an important indicator for measuring network characteristics. It is not only an important basis for governments or units to formulate network communication development strategies, but also one of the main factors for Internet users and units to choose Internet access service providers.

[0070] Rate Limiter, in the network system, the rate limiter can control the speed at which the client sends traffic, such as TCP, QUIC and other protocols. In the HTTP world, the rate limiter can limit the number of requests sent by the client within a period of time. If it exceeds the set threshold, the excess requests will be discarded. There are many such examples in life. In a session, a user can only send 5 texts in a minute. If a user logs in 5 times in an hour, he needs to wait for a while before trying again.

[0071] Bit is the basic unit of information in computer science and is usually used to represent binary data.

[0072] Committed Information Rate (CIR) indicates the average rate of allowed information flow, in bit / s.

[0073] Committed Burst Size (CBS) is used to define the maximum burst flow when some traffic exceeds the CIR. The unit is bit.

[0074] Peak Information Rate (PIR) indicates the maximum rate of burst traffic allowed, in bit / s. This value must be no less than the CIR setting.

[0075] Peak Burst Size (PBS) is used to define the maximum burst flow allowed by a burst, in bits.

[0076] Network traffic, the amount of data transmitted on the network. The size of network traffic is of great significance to the design of network architecture, just like designing the width and connection method of the road according to the number and direction of vehicles passing by, it is very necessary to design the network according to the network traffic. Flow refers to the amount of fluid flowing through the effective cross-section of a closed pipe or open channel per unit time, also known as instantaneous flow. It can be understood that the flow in this application refers to the flow of data volume, the amount of data in the data flow flowing through a certain section of the transmission channel per unit time.

[0077] A message is a unit of data exchanged and transmitted in a network, that is, a block of data to be sent by a station at one time. A message contains the complete data information to be sent, and its length is very inconsistent, unlimited and variable.

[0078] A repeater (RP repeater) is a connection device that works at the physical layer. It is suitable for interconnecting two identical networks. Its main function is to extend the distance of network transmission by retransmitting or forwarding data signals. A repeater is a network device that regenerates and restores signals: a physical layer device in the OSI model.

[0079] The present application relates to the field of data transmission technology. Data transmission technology has applications in many fields such as network technology, communication technology and cloud computing technology. For example, technologies such as cloud conferencing, cloud gaming and cloud storage involved in the field of cloud computing can be applied to conference data transmission in the field of cloud conferencing, game data transmission in the field of cloud gaming and storage data transmission in the field of cloud storage in the present application.

[0080] Cloud computing refers to the delivery and use model of IT infrastructure, which means obtaining required resources through the network in an on-demand and easily scalable manner; in a broad sense, cloud computing refers to the delivery and use model of services, which means obtaining required services through the network in an on-demand and easily scalable manner. This service can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage, virtualization, and load balancing. With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the promotion of search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly.

[0081] Among them, cloud conferencing is an efficient, convenient and low-cost conference format based on cloud computing technology. Users only need to use the Internet interface to perform simple and easy-to-use operations to quickly and efficiently share voice, data files and videos with teams and customers around the world, while the cloud conferencing service provider helps users to operate complex technologies such as data transmission and processing in the meeting. At present, domestic cloud conferencing mainly focuses on service content based on the Software as a Service SaaS (Software as a Service, SaaS) model, including telephone, network, video and other service forms. Video conferencing based on cloud computing is called cloud conferencing. In the era of cloud conferencing, data transmission, processing and storage are all handled by the computer resources of video conferencing manufacturers. Users no longer need to purchase expensive hardware and install cumbersome software. They only need to open the browser and log in to the corresponding interface to conduct efficient remote conferencing. In this process, in order to ensure the stability of the conference data transmission service of the remote conferencing service, the message flow management method in this application can be applied.

[0082] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In a cloud gaming scenario, the game is not played on the player's game terminal, but on a cloud server, which renders the game scene as a video and audio stream and transmits it to the player's game terminal over the network. The player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input commands and send them to the cloud server. In this process, in order to ensure the stability of the game data transmission service of the cloud gaming service, the message flow management method in this application can be applied.

[0083] Cloud storage is a new concept that extends and develops from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as storage system) refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to bring together a large number of storage devices of various types (storage devices are also called storage nodes) in the network to work together through application software or application interfaces to provide data storage and business access functions. At present, the storage method of the storage system is to create a logical volume. When creating a logical volume, a physical storage space is allocated to each logical volume. The physical storage space may be composed of disks of a storage device or several storage devices. The client stores data on a logical volume, that is, the data is stored on the file system. The file system divides the data into many parts, each of which is an object. The object contains not only data but also additional information such as data identifiers. The file system writes each object into the physical storage space of the logical volume, and the file system records the storage location information of each object. When the client requests to access the data, the file system can allow the client to access the data according to the storage location information of each object. In this process, assuming that the online document editing client accesses the document data in the file system, in order to ensure the stability of the document data of the online document editing service and the access data transmission service, the message flow management method in this application can be applied.

[0084] The following is a brief introduction to the design concept of the embodiment of the present application:

[0085] Internet speed limit generally refers to the speed limit of data upload and download when using terminal devices to access the Internet. The speed limit is to limit the information rate of the transmission message flow between the data sending device and the data receiving device. The network bandwidth resources between the data sending and data receiving devices can be set by setting the network bandwidth to achieve network restrictions. Among them, the uplink information rate is the rate at which the terminal device accesses the server, and the downlink rate is the download rate at which the terminal device downloads data from the server.

[0086] In the related technology, there are mainly two bandwidth speed limiting schemes, single-level speed limiting method and two-level speed limiting method. Both methods set floating bandwidth to ensure that during the message flow transmission process, if the information rate exceeds the network bandwidth, some high-priority message flows with priority sending rights are allowed to be sent through the floating bandwidth to ensure the stability of data transmission.

[0087] Specifically, in the single-stage speed limit method, Figure 1As shown, the rate limiter of the programmable device is provided with dual token buckets, one token bucket is the P bucket, whose allowed information rate is PIR, and the allowed information size is PBS, and one token bucket is the C bucket, whose allowed information rate is CIR, CIR is the network bandwidth, and the allowed information size is CBS. The dual-rate dual-bucket is used for message flow evaluation, and the evaluation rule is to compare the P bucket first, and then compare the C bucket. It can be seen that in the single-stage rate limiting method, the floating bandwidth = PIR-CIR.

[0088] Specifically, Tc(t) and Tp(t) are used to represent the number of tokens in bucket C and bucket P at time t, respectively. Tc and Tp are initialized to be equal to the size of CBS and PBS, that is, Tc(0)=CBS, Tp(0)=PBS.

[0089] In color-blind mode, the packet arriving at time t (assuming that the packet size is x) is evaluated according to the following rules:

[0090] 1) If Tp(t)-x<0, the message is marked in red, and Tc and Tp remain unchanged;

[0091] 2) If Tp(t)-x>=0 and Tc(t)-x<0, the message is marked in yellow and Tp(t)=Tp(t)-x;

[0092] 3) If Tc(t)-x>=0, the message is marked green, and Tp(t)=Tp(t)-x, Tc(t)=Tc(t)-x;

[0093] Assuming that CIR is set as the committed information rate of the network bandwidth purchased by the user, and PIR is set as 1.1 times of CIR (the setting value of PIR is greater than the setting value of CIR), the above scheme can be obtained as follows: Figure 2 In the process shown, red packets are packets that exceed PBS and cannot be released for transmission; yellow packets are packets that do not exceed PBS but exceed CBS, and yellow packets with higher priority can be released for transmission; green packets are packets that do not exceed CBS and can be released for transmission normally. It can be seen that the single-level rate limit method can allow high-priority packets with priority transmission rights to pass when the burst message flow is large, but the bandwidth cost of this high-priority traffic needs to be borne by the network bandwidth provider.

[0094] In the two-level speed limit method, Figure 3As shown in the figure, two speed limiters are set, and all messages enter the first-level speed limiter. By setting the PIR and CIR of the first-level speed limiter to be equal to the set network bandwidth, the messages passing through the first-level speed limiter will only be marked as red or green. The messages marked as green are directly released and sent. The messages marked as red are judged for priority. If they are high-priority messages with priority sending rights, they enter the second-level speed limit. Otherwise, if they are low-priority messages without priority sending rights, they are directly discarded. The second-level speed limiter re-evaluates the high-priority messages that exceed the first-level speed limit. The PIR and CIR of the second-level speed limiter are set to be equal to the floating bandwidth. Then, after passing through the second-level speed limiter, the messages will be marked twice. The messages with priority sending rights that exceed the information rate and the floating bandwidth will be marked twice as red and discarded, and the messages with priority sending rights that do not exceed the floating bandwidth will be marked twice as green and sent.

[0095] However, it can be seen from the above two solutions that in order to ensure the stability of burst data transmission, the network bandwidth providers of the above two solutions set floating bandwidth to provide additional floating bandwidth for the network bandwidth purchased by the user to transmit high-priority messages to ensure the stability of data transmission services. This method actually requires the consumption of additional floating bandwidth resources.

[0096] In view of this, the embodiment of the present application provides a message flow management method, device, computer equipment and storage medium. The message flow is transmitted between the devices at the message sending end and the message receiving end. In the server that sends the message flow, or in the repeater or intermediate server of the message flow between the two end devices, a message flow management method can be set, wherein a preset overspeed threshold is set, and the message flow to be sent can be preliminarily screened according to the preset rate threshold: obtaining at least one message to be screened that exceeds the preset rate threshold; performing a second screening: using the priority identifier of at least one message to be screened, screening out a first target message with priority sending authority; obtaining a first message size of the first target message, and when the cumulative message size of at least one recorded historical pending message is not less than the first message size, discard the historical pending message that meets the first message size from at least one historical pending message, and send the first target message. Wherein, the historical pending message is: a message that does not have priority sending authority obtained by intercepting from a historical message flow that does not exceed the information rate threshold.

[0097] Therefore, the network bandwidth resources of the historical pending messages that do not have the priority sending authority in the historical message flow can be replaced with the first target message that has the priority sending authority, so as to utilize the network bandwidth resources of the historical pending messages that do not have the priority sending authority to send the first target message that has the priority sending authority, that is, to ensure that the network bandwidth of the message flow does not exceed the preset rate threshold, and to improve the sending rate of the message that has the priority sending authority. Compared with the related art, in which a floating bandwidth is set to send the message flow that has the priority sending authority in the floating bandwidth, the present application can improve the sending rate of the message that has the priority sending authority without consuming network resources for the floating bandwidth, thereby improving the stability of the data transmission service.

[0098] The preferred embodiments of the present application are described below in conjunction with the drawings in the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application, and are not used to limit the present application. In addition, the embodiments and features in the embodiments of the present application may be combined with each other if there is no conflict.

[0099] like Figure 4 As shown, it is a schematic diagram of an application scenario of an embodiment of the present application. The application scenario diagram includes any terminal device 410 among multiple terminal devices and any server 420 among multiple servers.

[0100] In the embodiment of the present application, the terminal device 410 includes but is not limited to mobile phones, tablet computers, laptop computers, desktop computers, e-book readers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals and other devices; a client related to the management of message flows can be installed on the terminal device, and the client can be software (for example, a browser, communication software, etc., or a corresponding data transmission service involving the management of message flows, such as remote desktop, online document editing, etc.), or a web page, a small program, etc., and the server 420 is a background service corresponding to the software or web page, small program, etc., or a background service specifically used to manage the message flow transmitted between the client, and the present application does not make specific restrictions. The server 420 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and basic cloud computing services such as big data and artificial intelligence platforms.

[0101] It should be noted that the message flow management method in the embodiment of the present application can be executed by a computer device, which can be a server 420 or a terminal device 410, that is, the method can be executed by the server 420 or the terminal device 410 alone, or can be executed jointly by the server 420 and the terminal device 410.

[0102] For example, when the terminal device 410 or the server 420 executes the method alone, the terminal device 410 or the server 420 obtains at least one to-be-screened message whose information rate exceeds a preset rate threshold from the message stream to be sent, and based on the priority identifier of at least one to-be-screened message, screens out at least one first target message with priority sending authority from at least one to-be-screened message, obtains the first message size of at least one first target message, and when the cumulative message size of at least one historical pending message is not less than the first message size, discards the historical pending message that meets the first message size from at least one historical pending message, and sends the first target message. The historical pending message is a message that is intercepted from a historical message stream that does not exceed the information rate threshold and does not have priority sending authority. If the terminal device 410 and the server 420 execute the method together, the terminal device 410 and the server 420 respectively perform the above steps for the message stream to be sent when there is a message stream to be sent, and obtain the corresponding first target message to be sent.

[0103] Based on the above Figure 4 Schematic diagram of application scenarios in Figure 5 As shown, it is another application scenario schematic diagram of an embodiment of the present application. The application scenario diagram includes any terminal device 510 among multiple terminal devices, an intermediate server 520 and any server 530 among multiple servers. Among them, the terminal device 510 or the server 530 can forward the message flow to the corresponding server 530 or the terminal device 510, wherein the intermediate server 520 (the intermediate server 520 can be an intermediate server or a repeater or other device that forwards the message flow) can forward the message flow sent by the terminal device 510 or the server 530. After receiving the message flow to be sent, the intermediate server 520 adopts the management method of the message flow of the above-mentioned terminal device 410 or server 420, obtains the first target message from the message flow to be sent and sends it.

[0104] Based on the above architecture, the present application can be applied to elastic IP network bandwidth speed limiting to provide differentiated network speed limiting, thereby improving user experience. The present application embodiment provides a relatively typical application scenario, which is the remote desktop of Windows server and remote login of Linux server.

[0105] Among them, Windows Remote Desktop Connection provides a mode similar to operating a local computer, and the development object can visually access the desktop environment of the remote computer for operation. Assuming that the network bandwidth purchased by the user is 2Mbit / s, since the remote desktop needs to transmit back certain graphics or video interfaces, which occupy a lot of bandwidth, plus other service traffic, it may exceed the purchased network bandwidth of the user. At this time, the remote desktop traffic will be squeezed, resulting in network packet loss, connection jams, inability to operate, etc., which seriously affects the user experience. In the embodiment of the present application, the image data and video data that have little impact on the remote desktop service can be set as messages without priority sending authority, and the control data and interface data can be set as messages with priority sending authority. Then, within the network bandwidth, an overspeed message with priority sending authority is used to replace the historical pending message that is not overspeeded and does not have priority sending authority, so that the overspeed message with priority sending authority occupies the network bandwidth resources of the historical pending message to send, that is, the information rate of the message flow can be limited within the network bandwidth, and the stability of the remote desktop service can also be guaranteed.

[0106] The remote login of Linux cloud servers is similar. Generally, Linux servers provide services to the outside world, and operation and maintenance personnel log in to the server through the remote secure login protocol (Secure Shell, SSH) to perform related operation and maintenance, upgrades, or deployment tasks. Whether providing services to the outside world or SSH remote login, it will occupy network bandwidth. If the traffic of the service provided to the outside world exceeds the network bandwidth purchased by the user, it will cause network packet loss, and then SSH remote login will become very slow and basically unusable. The operation and maintenance object hopes to give priority to SSH remote login traffic, so as to ensure the smooth execution of related operation and maintenance tasks.

[0107] In the embodiment of the present application, the relevant data of the services provided by the Linux server to the outside world can be set as messages without priority sending authority, and the relevant data of SSH remote login can be set as messages with priority sending authority. Similarly, within the network bandwidth, overspeed messages with priority sending authority are used to replace historically pending messages that are not overspeeding and do not have priority sending authority, so that the overspeed messages with priority sending authority occupy the network bandwidth resources of the historically pending messages to be sent, that is, the information rate of the message flow can be limited within the network bandwidth, and the stability of SSH remote login can also be guaranteed.

[0108] It should be noted that Figure 4 and Figure 5 What is shown is just an example. In fact, the number and communication mode of terminal devices and servers are not limited and are not specifically limited in the embodiments of the present application.

[0109] In addition, the message flow management method of the embodiment of the present application can be applied to various scenarios, such as remote desktop, live broadcast, remote conference, online document editing and other scenarios.

[0110] The following describes the message flow management method provided by the exemplary embodiment of the present application in combination with the application scenario described above and with reference to the accompanying drawings. It should be noted that the above application scenario is only shown to facilitate understanding of the spirit and principles of the present application, and the implementation of the present application is not limited in this respect.

[0111] See also Figure 6 As shown, it is a flow chart of the message flow management method provided in the embodiment of the present application. Here, an example is given with a server as the execution subject. The specific implementation process of the method is as follows:

[0112] Step 601: Obtain at least one message to be screened whose information rate exceeds a preset rate threshold from the message flow to be sent;

[0113] In one embodiment, the message stream to be sent may be different message streams in different application scenarios. For example, in the application scenario of online document editing service, the message stream to be sent may be a message stream of document data and control data. In the application scenario of remote desktop, the message stream to be sent may be control data, interface data or image data, etc. This application does not limit the specific data involved in the message stream to be sent.

[0114] In one embodiment, the preset rate threshold may be the network bandwidth purchased by the network bandwidth user, or the network bandwidth set by the network service corresponding to the message flow management method, for example, the preset rate threshold may be the network bandwidth purchased by the remote desktop user, or may be the network bandwidth supported by the remote desktop service. The specific setting method of the preset rate threshold is not limited here, and it can be specifically set according to application needs.

[0115] In one embodiment, when the information rate of the message flow to be sent exceeds the preset rate threshold, at least one message to be screened whose information rate exceeds the preset rate threshold can be obtained from the message flow to be sent. For example, if the message flow to be sent is 11 bit / s, but the preset rate threshold is 10 bit / s, then there is a message of 1 bit / s that is a message to be screened whose information rate exceeds the preset rate threshold. Figure 7 As shown, it is a schematic diagram of a message flow to be sent, a preset rate threshold and messages to be screened provided in an embodiment of the present application. It should be noted that Figure 7 It is only used to clearly explain this solution and does not limit the message flow to be sent, the preset rate threshold and the messages to be screened in this solution.

[0116] In one embodiment, the messages whose information rate does not exceed the preset rate threshold in the message stream to be sent can be sent. For example, if the message stream to be sent is 11 bit / s and the preset rate threshold is 10 bit / s, then there are messages of 10 bit / s in the message stream to be sent whose information rate does not exceed the preset rate threshold, and the messages of 10 bit / s can be sent.

[0117] Step 602: based on the priority identifier of at least one message to be screened, screen out at least one first target message from at least one message to be screened, and obtain a first message size of at least one first target message; wherein the first target message is a message with priority sending authority;

[0118] In one embodiment, the priority identifier can be set in the upper-level protocol of the IP address - the data link layer. If the data packet format of the message stream adopts protocols such as TCP or UDP, in the corresponding protocols at the sending and receiving ends of the message stream, the identifier of high-priority messages for which the protocol has priority sending authority, and the identifier of low-priority messages for which the protocol does not have priority sending authority, can be recorded in the packet header.

[0119] based on Figure 6 The method flow of the present application embodiment provides a priority identifier, that is, the priority identifier is an IP address identifier or a port identifier; then in step 602, based on the priority identifier of the at least one message to be filtered, filtering out at least one first target message from the at least one message to be filtered includes:

[0120] At least one first target message is screened out from at least one message to be screened based on a priority identifier and an authority record of at least one message to be screened, wherein the authority record includes an IP address identifier or a port identifier with priority sending authority.

[0121] In one embodiment, an authority record may be set in a terminal device, server, intermediate server or other device of the message flow to be sent, for recording IP address identifiers or port identifiers with priority sending authority, and may also record IP address identifiers or port identifiers that do not have priority sending authority. Based on the IP address identifier or port identifier in the authority record, a match is performed with the priority identifier carried by the message flow to filter out at least one first target message with priority sending authority.

[0122] Step 603: obtain the cumulative message size of at least one recorded historical pending message. When the cumulative message size is not less than the first message size, discard the historical pending message that meets the first message size from at least one historical pending message, and send the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

[0123] In one embodiment, the historical pending message is a message that is intercepted from a historical message flow that does not exceed the information rate threshold and does not have priority to send, such as Figure 8 As shown, it is a schematic diagram of a historical message flow and historical pending messages therein provided by an embodiment of the present application, wherein. The historical message flow may include historical message flows exceeding a preset rate threshold and historical message flows not exceeding a preset rate threshold, historical pending messages that do not have priority sending rights in the historical message flow that does not exceed the speed, and messages that do not exceed the speed and have priority sending rights are sent normally.

[0124] In one embodiment, the historical pending messages can be placed in a preset buffer pool. If the volume of the preset buffer pool is a preset cumulative threshold, such as Fig. 9 As shown, it is a schematic diagram of putting historical pending messages into a cache provided by an embodiment of the present application. When the cumulative message size of the historical pending messages cached in the preset cache pool is less than the preset cumulative threshold, newly intercepted historical pending messages can continue to be stored in the preset cache pool.

[0125] In one embodiment, after obtaining a first target message that exceeds a preset rate threshold and has priority to send, a historical pending message of the same size as the first target message can be discarded from a preset buffer pool, so as to utilize the network bandwidth resources of the discarded historical pending message to send the first target message. In general, the sending time of the historical pending message is close to that of the first target message, at the ms level, so that the network bandwidth resources of the historical pending message can be utilized by the first target message. And the historical pending messages in the preset buffer pool may not be obtained once, but may be obtained multiple times by screening from messages before the first target message.

[0126] In one embodiment, if Fig.10As shown, a schematic diagram of a first target message sending method provided by an embodiment of the present application. The message flow to be sent includes a message flow that is not overspeeding and a message flow that is overspeeding (overspeeding or not overspeeding in the present application is reflected by the information rate of the message flow relative to the preset rate threshold). The preset rate threshold is used to obtain at least one message to be screened whose information rate exceeds the preset rate threshold from the message flow to be sent, and then based on the priority identifier of at least one message to be screened, the first target message with priority sending authority is screened out, and it is determined whether the first message size of the first target message is not greater than the cumulative message size. If so, the first target message is sent, and the historical pending messages of the first message size in the preset buffer pool are discarded. Among them, if there is a message that does not have priority sending authority in at least one message to be screened, the message is discarded.

[0127] In the above method, the network bandwidth resources of the historical pending messages that do not have the priority sending authority in the historical message flow are replaced with the first target message that has the priority sending authority, so that the network bandwidth resources of the historical pending messages that do not have the priority sending authority are used to send the first target message that has the priority sending authority, that is, to ensure that the network bandwidth of the message flow does not exceed the preset rate threshold, and to improve the sending rate of the message with the priority sending authority. Compared with the related art, in which a floating bandwidth is set to send the message flow with the priority sending authority in the floating bandwidth, the present application can improve the sending rate of the message with the priority sending authority without consuming network resources for the floating bandwidth, thereby improving the stability of the data transmission service.

[0128] based on Figure 6 In the method flow, the embodiment of the present application provides a method for managing a message flow. In step 601, based on the priority identifier of at least one message to be screened, at least one first target message is screened out from at least one message to be screened, and after obtaining the first message size of at least one first target message, the method further includes:

[0129] When the accumulated message size is smaller than the first message size, at least one message to be screened is discarded.

[0130] In one embodiment, based on the above Fig.10 The method schematic diagram in the embodiment of the present application provides a method schematic diagram in which a first target message cannot be sent, such as Fig.11 As shown, when the accumulated message size is smaller than the first message size, at least one message to be screened is discarded.

[0131] based on Figure 6 The method flow in the present application embodiment provides another method for managing a message flow, such as Fig.12 As shown, it also includes:

[0132] Step 1201: Obtain at least one to-be-pending message whose information rate does not exceed a preset rate threshold from the message flow to be sent;

[0133] Step 1202: obtaining a current cumulative message size, and when the current cumulative message size is less than a preset cumulative threshold, determining a difference between the current cumulative message size and the cumulative threshold as a second message size;

[0134] Step 1203: based on the priority identifier of at least one message to be put on hold, select a second target message that meets the second message size from at least one message to be put on hold; wherein the second target message is a message that does not have priority sending authority;

[0135] Step 1204: The second target message is shelved as a historical shelved message, and the sum of the second message size and the current accumulated message size is used as the new current accumulated message size.

[0136] In one embodiment, if Fig.13 As shown, it is a schematic diagram of a message flow to be sent including a second target message of an embodiment of the present application, the second target message may be a message after the first target message, and when the current cumulative message size is less than a preset cumulative threshold, a message that does not have priority sending authority is obtained from at least one message to be put on hold, wherein, if the message size of the obtained message is greater than or equal to the difference between the current cumulative message size and the cumulative threshold = the second message size, then the second target message of the second message size in the obtained message is placed in the preset cache pool as a historical put-on message; in addition, if the message size of the obtained message is less than the difference between the current cumulative message size and the cumulative threshold = the second message size, then the subsequent message can be obtained from the messages that are not overspeeded and do not have priority sending authority in the subsequent message flow of the message flow to be sent, so that the sum of the message sizes of the subsequent message and the obtained message is the second message size. For example, if the second message size = 10 bits, and the message without priority sending authority obtained from at least one pending message is 5 bits, then a subsequent message of 5 bits that is not overspeeded and does not have priority sending authority can be obtained from the subsequent message flow.

[0137] In one embodiment, if Fig.14 As shown, it is a flow diagram of the to-be-sent message including the second target message of an embodiment of the present application. The second target message may be a message before the first target message. When the current cumulative message size is less than a preset cumulative threshold, a message that does not have priority sending authority is obtained from at least one to-be-pending message, and a second target message of a second message size is obtained (which may include a message that is not overspeeding and does not have priority sending authority obtained from the to-be-sent message flow, and may also include a subsequent message that is not overspeeding and does not have priority sending authority obtained from a subsequent message flow), and the second target message is stored in a preset cache pool as a historical pending message.

[0138] In one embodiment, if Fig.15 As shown, it is a schematic diagram of a method for obtaining a second target message according to an embodiment of the present application, wherein at least one to-be-pending message that has not exceeded the speed limit is obtained from the message flow to be sent, and when the current cumulative message size (the cumulative message size of historically pending messages in the current preset buffer pool) is less than the preset cumulative threshold, messages that do not have priority sending authority are screened out from at least one to-be-pending message until the message size is equal to the difference between the current cumulative message size and the preset cumulative threshold - the second message size, and the second target message of the obtained second message size is stored in the preset buffer pool as a historically pending message, and the current cumulative message size in the new preset buffer pool is obtained by statistics. Among them, if the message size of the message that does not have the priority sending authority screened out from at least one message to be put on hold is smaller than the difference between the current cumulative message size and the preset cumulative threshold - the second message size, in other words, the messages that do not have the priority sending authority screened out from at least one message to be put on hold cannot fill the preset buffer pool, then you can continue to screen from the subsequent message flow to obtain subsequent messages that do not exceed the speed limit and do not have the priority sending authority, and use them as historical put-on messages to fill the preset buffer pool.

[0139] In the above method, at least one to-be-pended message that is not overspeeding is screened out from the message stream to be sent, and a second target message that is not overspeeding and does not have priority sending authority is screened out, and the second target message is stored in a preset buffer pool as a historical pending message. Then, when there is a first target message with priority sending authority that is overspeeding in the message stream to be sent, the network broadband resources of the historical pending message in the preset buffer pool can be replaced with the first target message for sending, so that the transmission stability of the message with priority sending authority can be guaranteed, and then the stability of the corresponding network service can be guaranteed. In fact, during the message stream transmission process, the second target message is stored in the preset buffer pool as a historical pending message, and the first target message is sent using the network resources of the historical pending message in a very short time. The first target message and the historical pending message can instantly complete the replacement and sending process, so that in the message stream to be sent, the replacement of the first target message and the second target message can be realized, and the network service using the message stream management method in the present application has significantly improved stability.

[0140] Based on the above Fig.12 The method flow in Fig.15 The method in the embodiment of the present application provides a method for managing a message flow. In step 1201, after obtaining at least one to-be-pended message whose information rate does not exceed a preset rate threshold from the message flow to be sent, the method further includes:

[0141] Based on the priority identifier of at least one message to be put on hold, a message with priority sending authority is screened out from the at least one message to be put on hold and sent.

[0142] In one embodiment, if Fig.15 As shown, if at least one of the pending messages also includes a message with priority sending authority, it will be sent. In turn, it is ensured that the messages that are not overspeeded and have priority sending authority are sent normally, without affecting the stability of the network service.

[0143] Based on the above Fig.12 The method flow in Fig.15 The method in the embodiment of the present application provides a method for managing a message flow. In step 1201, after obtaining at least one to-be-pended message whose information rate does not exceed a preset rate threshold from the message flow to be sent, the method further includes:

[0144] The current accumulated message size is obtained, and when the current accumulated message size is not less than a preset accumulated threshold, at least one to-be-pending message is sent.

[0145] In one embodiment, based on the above Fig.13 and Fig.14 , when the current accumulated message size is not less than the preset accumulated threshold, the historical pending messages in the preset buffer pool are full, and there is no need to obtain messages and put them in the preset buffer pool. Therefore, as mentioned above Fig.15 Schematic diagram of the method in which, when the current accumulated message size is not less than a preset accumulated threshold, at least one pending message is sent.

[0146] Based on the above Fig.12 In the method flow, the embodiment of the present application provides another message flow management method. In step 1204, before the second target message is shelved as a historical shelved message, the method further includes:

[0147] If the information rate of the previous message of the second target message does not exceed the preset rate threshold, and the previous message is not a message with priority sending authority, the second target message is sent.

[0148] In one embodiment, if Fig.16As shown, a schematic diagram of another method for obtaining a second target message provided in an embodiment of the present application can also set a preset condition, that is, the preset condition is not exceeding the speed limit. Then, after obtaining at least one pending message that has not exceeded the speed limit from the message flow to be sent, a message that does not have priority sending authority is obtained from at least one pending message, and it is determined whether the previous message of this message meets the preset condition, that is, whether the previous message of this message is a message that has not exceeded the speed limit. If so, the message that does not have priority sending authority obtained from at least one pending message is directly sent. If not, the judgment of whether to put the second target message into the preset cache pool is continued.

[0149] In the above method, in the process of processing at least one to-be-pending message that has not exceeded the speed limit, the judgment logic for the previous message is added, which can prevent the situation where, when the information rate of the message flow to be sent does not exceed the preset rate threshold, the message that has not exceeded the speed limit and does not have the priority to send permission is still treated as a historical pending message and placed in the preset buffer pool, resulting in unnecessary message shelving, thereby ensuring the integrity of the message flow transmission when the information rate of the message flow is within the preset number threshold.

[0150] Based on the above Figure 6 and Fig.12 The method flow, and the corresponding methods and embodiments thereof, the embodiment of the present application provides an editable device, the editable device is a dedicated integrated circuit or a field programmable logic gate array, characterized in that it includes a memory, a register, a processor, and a computer program stored in the memory and executable on the processor;

[0151] The above is achieved when the editable device executes the computer program Figure 6 and Fig.12 The method flow steps and corresponding methods and embodiments thereof, wherein the register is used to calculate and record the cumulative message size of at least one historical shelved message.

[0152] In one embodiment, if Fig.17 and Fig.18 As shown, they are schematic diagrams of the structure of an editable device provided in an embodiment of the present application, wherein the register can be in the processor of the editable device, or can also be set independently of the processor.

[0153] In one embodiment, the editable device is a dedicated integrated circuit or a field programmable logic gate array. Accordingly, if the editable device is a dedicated integrated circuit, the above Figure 6 and Fig.12The method flow steps, and the computer programs of the corresponding methods and embodiments can be stored in a dedicated integrated circuit, and the corresponding circuits of the computer program can be set. If the editable device is a field programmable logic gate array, the computer program can be semi-customized. For example, a non-customized circuit can be used for the computer program for the recognition and judgment part of the priority identifier, and the corresponding priority identifier can be set according to the needs, based on the category and criticality of the message flow to be managed. For example, the computer program for the recognition and judgment part of the priority identifier in the field programmable logic gate array can be loaded into the corresponding storage area of ​​the memory of the field programmable logic gate array. In the remote desktop service, the interface data and control data are set to high priority data (messages with priority sending authority), and the image and video data are set to low priority data (messages without priority sending authority). Or, in the online conference service, the document data and voice data are set to high priority data, and the video data is set to low priority data, etc.

[0154] Based on the above methods and embodiments, the present application embodiment provides three message flow management scenarios, specifically,

[0155] Scenario 1: The information rate of the message flow to be sent does not exceed the preset rate threshold;

[0156] like Fig.19 As shown, when the message flow to be sent does not exceed the preset rate threshold, the message flow to be sent is further prioritized, and messages with priority sending authority are obtained and sent. When messages without priority sending authority are obtained, it is determined whether the cumulative message size of each historical pending message in the preset buffer pool is less than the preset cumulative threshold. If so, all or part of the messages without priority sending authority are put into the preset buffer pool until the cumulative message size of the historical pending messages in the preset buffer pool is equal to the preset cumulative threshold (the preset buffer pool is filled). When messages without priority sending authority are obtained subsequently, the cumulative message size is not less than the preset cumulative threshold, and the messages without priority sending authority are sent.

[0157] Scenario 2: The information rate of the message flow to be sent does not exceed the preset rate threshold (add the previous message judgment process);

[0158] like Fig. 20As shown, when the message flow to be sent does not exceed the preset rate threshold, the message flow to be sent is further prioritized, and messages with priority sending authority are obtained and sent. When a message without priority sending authority is obtained, it is determined whether the previous message meets the set conditions (not exceeding the speed limit). If so, the obtained message without priority sending authority is sent. In this way, there is no need to suspend the message process when the network is stable and the information rate of the message flow to be sent does not exceed the preset rate threshold, resulting in that there will always be messages of the preset cumulative threshold size that cannot be sent because they are shelved in the preset buffer pool. For example, in scenario 1, it can be seen that if the preset buffer pool is not filled, the message without priority sending authority that has not exceeded the speed limit cannot be sent. If the previous message is an overspeed message, it can be determined that the network situation of the current message flow to be sent is unstable, and the message replacement process can be started to obtain messages that are not overspeeding and do not have priority sending authority as historical pending messages, and replace them with overspeeding messages with priority sending authority. This allows the overspeeding messages with priority sending authority to be sent using the network bandwidth resources of the historical pending messages, thereby ensuring data transmission stability.

[0159] That is, if the previous message does not meet the set conditions (not speeding), and the previous message is an overspeeding message, then it is determined whether the cumulative message size of each historical pending message in the preset buffer pool is less than the preset cumulative threshold. If so, all or part of the messages that do not have priority sending authority are placed in the preset buffer pool until the cumulative message size of the historical pending messages in the preset buffer pool is equal to the preset cumulative threshold (the preset buffer pool is filled). When a message that does not have priority sending authority is obtained subsequently, the cumulative message size is not less than the preset cumulative threshold, and the message that does not have priority sending authority is sent.

[0160] Scenario 3: The information rate of the message flow to be sent is unstable (the information rate of the message flow to be sent may exceed the preset rate threshold);

[0161] like Fig.16 As shown, at least one message to be filtered that exceeds a preset rate threshold is obtained from the message flow to be sent, and the message that does not have priority sending authority obtained from at least one message to be filtered is directly discarded; the first target message with priority sending authority obtained from at least one message to be filtered is sent when the first message size is not greater than the cumulative message size, otherwise, the first target message is discarded.

[0162] If at least one pending message exceeding a preset rate threshold is obtained from the message flow to be sent, and if at least one pending message includes a message with priority sending authority, it is sent; if at least one pending message includes a message without priority sending authority, then when the previous message of this message does not exceed the speed limit, this message is sent; if the previous message of this message exceeds the speed limit, a second target message is obtained from this message; when the cumulative message size of historical pending messages in a preset buffer pool is less than a preset cumulative threshold, the second target message is put into the buffer pool as a historical pending message.

[0163] Based on the above methods and embodiments, in order to prove that the message flow management method provided in the embodiment of the present application has obvious effects compared with the existing single-level speed limit method and two-level speed limit method, an experimental comparison was carried out. The following is a description of the experimental process and data comparison.

[0164] Experiment 1:

[0165] Assume that the preset rate threshold is 10Mbit / s, and the information rate of the message flow to be sent is 20Mbits / s, of which the high priority (with priority sending authority) message flow has 1Mbit / s and the low priority (without priority sending authority) message flow has 19Mbit / s.

[0166] The single-level speed limiting method and the message flow management method of the present application are used respectively to limit the speed of the message flow to be sent, and the total message flow and the high-priority message flow size after the speed limiting are compared.

[0167] Experimental results analysis:

[0168] Comparison Dimensions Single-stage speed limit method This application Total message flow 10.05Mbit / s 10Mbit / s High priority message flow 0.55Mbit / s 1Mbit / s

[0169] Table 1

[0170] Let's look at the total message flow first. Using a single-stage speed limit method with a floating bandwidth of 10% of the preset rate threshold, the message flow that finally passes is equal to the message flow within the network bandwidth that does not exceed the speed limit, and the sum of the high-priority message flow after exceeding the speed limit, that is, 10.05Mbit / s = 10M + (10M*10%)*(1 / 20). The message flow management method of this application is 10Mbit / s, and the total message flow does not exceed the preset rate threshold.

[0171] Looking at the high-priority message flow, in the single-stage rate limiting method, the high-priority message flow that finally passes is equal to the high-priority message flow within the network bandwidth and the high-priority message flow that passes in the floating bandwidth part, that is, 0.55Mbit / s=10Mbit / s*(1+10%)*(1 / 20). The message flow management method of the present application is 1Mbit / s, which ensures that all high-priority message flows pass.

[0172] Experiment 2:

[0173] Assume that the preset rate threshold is 10 Mbit / s.

[0174] The information rate of the message flow to be sent is 32 Mbit / s, of which the information rate of the high-priority message flow is 8 Mbit / s and the information rate of the low-priority message flow is 24 Mbit / s.

[0175] Then, the two-level speed limiting method and the message flow management method of the present application are used to limit the speed of the above message flow respectively, and the sizes of the total message flow and the high-priority message flow after the speed limiting are compared.

[0176] Experimental results analysis:

[0177] Comparison Dimensions Two-level speed limit method This application Total message flow 12Mbit / s 10Mbit / s High priority message flow 4.5Mbit / s 8Mbit / s

[0178] Table 2

[0179] First, let's look at the total message flow. Because the second level of the two-level speed limit method will release more messages, the message flow that finally passes is the sum of the two speed limiters, that is, 12Mbit / s = 10Mbit / s + 10Mbit / s * 20%. However, the message flow management method of this application has only one speed limit, that is, the preset rate threshold, so the final total message flow is 10Mbit / s.

[0180] Looking at the high-priority message flow, to count the high-priority message flow in the two-level speed limit method, it is necessary to calculate the first-level speed limit and the second-level speed limit separately. The ratio of high-priority and low-priority message flows in the entire message flow is 1:3, so the 10Mbit / s passing through the first-level speed limit has 1 / 4 of the high-priority message flow, that is, 2.5Mbit / s. The second-level speed limit is 20% of the floating bandwidth (20% of the preset rate threshold), that is, 2Mbit / s. Because the total high-priority message flow exceeds 2Mbit / s, after the second-level speed limit, the high-priority message flow that finally passes is only 2Mbits. The total high-priority message flow that passes after the two-level speed limit is 4.5Mbit / s=2.5Mbit / s+2Mbit / s. In summary, the message flow management method of the present application can limit the information rate of the message flow within the preset rate threshold, and can send more high-priority messages.

[0181] Based on the same concept, Fig.21 As shown, a message flow management device 2100 is provided for an embodiment of the present application, including:

[0182] The first screening unit 2101 is used to obtain at least one to-be-screened message whose information rate exceeds a preset rate threshold from the message flow to be sent;

[0183] The second screening unit 2102 is used to screen out at least one first target message from the at least one message to be screened based on the priority identifier of the at least one message to be screened, and obtain a first message size of the at least one first target message; wherein the first target message is a message with priority sending authority;

[0184] The message replacement unit 2103 is used to obtain the cumulative message size of at least one recorded historical pending message, and when the cumulative message size is not less than the first message size, discard the historical pending message that meets the first message size from the at least one historical pending message, and send the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

[0185] Optionally, the message replacement unit 2103 is further configured to discard the at least one message to be screened when the accumulated message size is smaller than the first message size.

[0186] Optionally, the first screening unit 2101 is further configured to obtain, from the message flow to be sent, at least one message to be shelved whose information rate does not exceed the preset rate threshold;

[0187] The message replacement unit 2103 is further configured to obtain a current cumulative message size, and when the current cumulative message size is less than a preset cumulative threshold, determine a difference between the current cumulative message size and the cumulative threshold as a second message size;

[0188] The second screening unit 2102 is further configured to screen out a second target message that meets the second message size from the at least one message to be put on hold based on the priority identifier of the at least one message to be put on hold; wherein the second target message is a message that does not have priority sending authority;

[0189] The message replacement unit 2103 is further configured to shelve the second target message as a historical shelved message, and use the sum of the second message size and the current accumulated message size as a new current accumulated message size.

[0190] Optionally, the message replacement unit 2103 is further configured to, based on a priority identifier of the at least one message to be put on hold, filter out a message with priority sending authority from the at least one message to be put on hold and send the message.

[0191] Optionally, the message replacement unit is further used to obtain a current accumulated message size, and when the current accumulated message size is not less than the preset accumulated threshold, send the at least one to-be-pending message.

[0192] Optionally, the message replacement unit 2103 is further used to send the second target message if the information rate of the previous message of the second target message does not exceed the preset rate threshold.

[0193] Optionally, the priority identifier is an IP address identifier or a port identifier; then the second screening unit 2102 is specifically used to screen out the at least one first target message from the at least one message to be screened based on the priority identifier and the authority record of the at least one message to be screened, wherein the authority record contains an IP address identifier or a port identifier with priority sending authority.

[0194] The message flow management method and the above method embodiment are based on the same inventive concept, and the present application embodiment also provides a computer device. In one embodiment, the computer device can be a server, such as Figure 4 and Figure 5 The server 420 shown is server 520 and server 530. In this embodiment, the structure of the computer device can be as follows Fig. 22 As shown, it includes a memory 2201 , a communication module 2203 and one or more processors 2202 .

[0195] The memory 2201 is used to store computer programs executed by the processor 2202. The memory 2201 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and programs required for running the instant messaging function, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.

[0196] The memory 2201 may be a volatile memory, such as a random-access memory (RAM); the memory 2201 may also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); or the memory 2201 may be any other medium that can be used to carry or store a desired computer program in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 2201 may be a combination of the above memories.

[0197] The processor 2202 may include one or more central processing units (CPU) or a digital processing unit, etc. The processor 2202 is configured to implement the above-mentioned message flow management method when calling the computer program stored in the memory 2201 .

[0198] The communication module 2203 is used to communicate with terminal devices and other servers.

[0199] The specific connection medium between the memory 2201, the communication module 2203 and the processor 2202 is not limited in the embodiment of the present application. Fig. 22 In the embodiment, the memory 2201 and the processor 2202 are connected via a bus 2204. The bus 2204 is connected to the processor 2202 via a bus 2204. Fig. 22 The connections between the other components are only for illustration and are not intended to be limiting. The bus 2204 can be divided into an address bus, a data bus, a control bus, etc. For ease of description, Fig. 22 The diagram shows that only one thick line is used, but this does not mean that there is only one bus or only one type of bus.

[0200] The memory 2201 stores a computer storage medium, and the computer storage medium stores computer executable instructions, and the computer executable instructions are used to implement the message flow management method of the embodiment of the present application. The processor 2202 is used to execute the above-mentioned message flow management method, such as Figure 6 , Fig.10 , Fig.11 , Fig.12 , Fig.15 , Fig.16 , Fig.19 , Fig. 20 shown.

[0201] In another embodiment, the computer device may also be other computer devices, such as Figure 4 and Figure 5 The terminal device 410 and the terminal device 510 shown in FIG. Fig.23 As shown, it includes: a communication component 2310, a memory 2320, a display unit 2330, a camera 2340, a sensor 2350, an audio circuit 2360, a Bluetooth module 2370, a processor 2380 and other components.

[0202] The communication component 2310 is used to communicate with the server. In some embodiments, a circuit wireless fidelity (Wireless Fidelity, WiFi) module may be included. The WiFi module belongs to a short-range wireless transmission technology. The computer device can help the user to send and receive information through the WiFi module.

[0203] The memory 2320 can be used to store software programs and data. The processor 2380 executes various functions and data processing of the terminal device 410 and the terminal device 510 by running the software programs or data stored in the memory 2320. The memory 2320 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. The memory 2320 stores an operating system that enables the terminal device 410 and the terminal device 510 to run. In the present application, the memory 2320 can store an operating system and various application programs, and can also store a computer program for executing the management method of the message flow in the embodiment of the present application.

[0204] The display unit 2330 may also be used to display information input by a user or information provided to a user and a graphical user interface (GUI) of various menus of the terminal device 410 and the terminal device 510. Specifically, the display unit 2330 may include a display screen 2332 disposed on the front of the terminal device 410 and the terminal device 510. The display screen 2332 may be configured in the form of a liquid crystal display, a light emitting diode, etc. The display unit 2330 may be used to display a management user interface of a message flow in an embodiment of the present application, etc.

[0205] The display unit 2330 can also be used to receive input digital or character information and generate signal input related to user settings and function control of the terminal device 110. Specifically, the display unit 2330 may include a touch screen 2331 arranged on the front of the terminal device 410 and the terminal device 510, which can collect user touch operations on or near it, such as clicking a button, dragging a scroll box, etc.

[0206] The touch screen 2331 can be covered on the display screen 2332, or the touch screen 2331 and the display screen 2332 can be integrated to realize the input and output functions of the terminal device 410 and the terminal device 510, and the integrated touch screen can be referred to as a touch display screen. In this application, the display unit 2330 can display the application and the corresponding operation steps.

[0207] The camera 2340 can be used to capture still images, and users can post comments on the images taken by the camera 2340 through the application. The camera 2340 can be one or more. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the processor 2380 to convert it into a digital image signal.

[0208] The terminal device may further include at least one sensor 2350, such as an acceleration sensor 2351, a distance sensor 2352, a fingerprint sensor 2353, and a temperature sensor 2354. The terminal device may also be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, a light sensor, and a motion sensor.

[0209] The audio circuit 2360, the speaker 2361, and the microphone 2362 can provide an audio interface between the user and the terminal device 410 and the terminal device 510. The audio circuit 2360 can transmit the electrical signal converted from the received audio data to the speaker 2361, which is converted into a sound signal for output. The terminal device 410 and the terminal device 510 can also be equipped with a volume button for adjusting the volume of the sound signal. On the other hand, the microphone 2362 converts the collected sound signal into an electrical signal, which is received by the audio circuit 2360 and converted into audio data, and then the audio data is output to the communication component 2310 to be sent to, for example, another terminal device 410 and the terminal device 510, or the audio data is output to the memory 2320 for further processing.

[0210] The Bluetooth module 2370 is used to exchange information with other Bluetooth devices having Bluetooth modules through the Bluetooth protocol. For example, the terminal device can establish a Bluetooth connection with a wearable computer device (such as a smart watch) that also has a Bluetooth module through the Bluetooth module 2370 to exchange data.

[0211] The processor 2380 is the control center of the terminal device. It uses various interfaces and lines to connect various parts of the entire terminal. It executes various functions of the terminal device and processes data by running or executing software programs stored in the memory 2320 and calling data stored in the memory 2320. In some embodiments, the processor 2380 may include one or more processing units; the processor 2380 may also integrate an application processor and a baseband processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the baseband processor mainly processes wireless communications. It is understandable that the above-mentioned baseband processor may not be integrated into the processor 2380. In the present application, the processor 2380 can run the operating system, application programs, user interface display and touch response, as well as the message flow management method of the embodiment of the present application. In addition, the processor 2380 is coupled to the display unit 2330.

[0212] In some possible implementations, various aspects of the message flow management method provided in the present application may also be implemented in the form of a program product, which includes a computer program. When the program product is run on a computer device, the computer program is used to enable the computer device to execute the steps of the message flow management method according to various exemplary embodiments of the present application described above in this specification. For example, the computer device may execute the following steps: Figure 6 , Fig.10 , Fig.11 , Fig.12 , Fig.15 , Fig.16 , Fig.19 , Fig. 20 Follow the steps shown in .

[0213] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0214] The program product of the embodiment of the present application may adopt a portable compact disk read-only memory (CD-ROM) and include a computer program, and can be run on a computer device. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with a command execution system, apparatus, or device.

[0215] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein a readable computer program is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with a command execution system, apparatus, or device.

[0216] The computer program embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0217] The computer program for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The computer program may be executed entirely on the user's computer device, partially on the user's device, as a separate software package, partially on the user's computer device and partially on a remote computer device, or entirely on a remote computer device or server. In the case of a remote computer device, the remote computer device may be connected to the user's computer device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer device (e.g., via the Internet using an Internet service provider).

[0218] It should be noted that, although several units or subunits of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.

[0219] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0220] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0221] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0222] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0223] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0224] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method for managing a message flow, characterized in that: The method comprises: Obtaining at least one message to be screened whose information rate exceeds a preset rate threshold from the message flow to be sent; Based on the priority identifier of the at least one message to be screened, at least one first target message is screened out from the at least one message to be screened, and a first message size of the at least one first target message is obtained; wherein the first target message is a message with priority sending authority; Obtain the cumulative message size of at least one recorded historical pending message, and when the cumulative message size is not less than the first message size, discard the historical pending message that meets the first message size from the at least one historical pending message, and send the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

2. The method according to claim 1, characterized in that After filtering out at least one first target message from the at least one message to be filtered based on the priority identifier of the at least one message to be filtered, and obtaining a first message size of the at least one first target message, the method further includes: When the accumulated message size is smaller than the first message size, the at least one message to be screened is discarded.

3. The method according to claim 1, characterized in that Also includes: Obtaining, from the message stream to be sent, at least one message to be shelved whose information rate does not exceed the preset rate threshold; Obtaining a current cumulative message size, and when the current cumulative message size is less than a preset cumulative threshold, determining a difference between the current cumulative message size and the cumulative threshold as a second message size; Based on the priority identifier of the at least one message to be put on hold, a second target message that meets the size of the second message is screened out from the at least one message to be put on hold; wherein the second target message is a message that does not have priority sending authority; The second target message is put on hold as a historical put-on message, and the sum of the second message size and the current accumulated message size is used as a new current accumulated message size.

4. The method according to claim 3, characterized in that After obtaining at least one to-be-pending message whose information rate does not exceed the preset rate threshold from the message flow to be sent, the method further includes: Based on the priority identifier of the at least one message to be put on hold, a message with priority sending authority is screened out from the at least one message to be put on hold and sent.

5. The method according to claim 3, characterized in that After obtaining at least one to-be-pending message whose information rate does not exceed the preset rate threshold from the message flow to be sent, the method further includes: The current accumulated message size is obtained, and when the current accumulated message size is not less than the preset accumulated threshold, the at least one to-be-pending message is sent.

6. The method according to claim 3, characterized in that Before putting the second target message on hold as a historically put-on message, the method further includes: If the information rate of the previous message of the second target message does not exceed the preset rate threshold, the second target message is sent.

7. The method according to any one of claims 1 to 6, characterized in that: The priority identifier is an IP address identifier or a port identifier; Then, based on the priority identifier of the at least one message to be screened, screening out at least one first target message from the at least one message to be screened includes: Based on the priority identifier and the authority record of the at least one message to be filtered, the at least one first target message is filtered out from the at least one message to be filtered, and the authority record contains an IP address identifier or a port identifier with priority sending authority.

8. An editable device, the editable device being a dedicated integrated circuit or a field programmable gate array, characterized in that: A computer program including a memory, a register, a processor, and a computer program stored in the memory and executable on the processor; When the editable device executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented, wherein the register is used to calculate and record the accumulated message size of the at least one historical pending message.

9. A message flow management device, characterized in that: The device comprises: A first screening unit, configured to obtain, from the message stream to be sent, at least one message to be screened whose information rate exceeds a preset rate threshold; A second screening unit, configured to screen out at least one first target message from the at least one message to be screened based on the priority identifier of the at least one message to be screened, and obtain a first message size of the at least one first target message; wherein the first target message is a message with priority sending authority; A message replacement unit, used for obtaining the cumulative message size of at least one recorded historical pending message, and when the cumulative message size is not less than the first message size, discarding the historical pending message that meets the first message size from the at least one historical pending message, and sending the first target message; wherein the historical pending message is: a message that does not have priority sending authority and is intercepted from a historical message flow that does not exceed the information rate threshold.

10. The device according to claim 9, characterized in that The message replacement unit is further used for: When the accumulated message size is smaller than the first message size, the at least one message to be screened is discarded.

11. The device according to claim 9, characterized in that The first screening unit is further used to obtain, from the message flow to be sent, at least one message to be shelved whose information rate does not exceed the preset rate threshold; The message replacement unit is further used to obtain a current cumulative message size, and when the current cumulative message size is less than a preset cumulative threshold, determine a difference between the current cumulative message size and the cumulative threshold as a second message size; The second screening unit is further used to screen out a second target message that meets the second message size from the at least one message to be put on hold based on the priority identifier of the at least one message to be put on hold; wherein the second target message is a message that does not have priority sending authority; The message replacement unit is further configured to shelve the second target message as a historical shelved message, and use the sum of the second message size and the current accumulated message size as a new current accumulated message size.

12. The device according to claim 11, characterized in that The message replacement unit is further used for: Based on the priority identifier of the at least one message to be put on hold, a message with priority sending authority is screened out from the at least one message to be put on hold and sent.

13. A computer-readable non-volatile storage medium, characterized in that: The computer-readable non-volatile storage medium stores a program, and when the program is run on a computer, the computer is enabled to implement the method according to any one of claims 1 to 7.

14. A computer device, characterized in that: include: Memory for storing computer programs; A processor, configured to call a computer program stored in the memory, and execute the method according to any one of claims 1 to 7 according to the obtained program.

15. A computer program product, characterized in that The method comprises a computer program, wherein the computer program is stored in a computer-readable storage medium; when a processor of a computer device reads the computer program from the computer-readable storage medium, the processor executes the computer program, so that the computer device executes the method according to any one of claims 1 to 7.