Data transmission method and device
By receiving modal adjustment requests, collecting historical traffic data and resource information, and matching the target mode for data transmission, the problem of inaccurate modal adjustment in the existing technology is solved, data transmission efficiency is improved and network oscillation is avoided.
Patent Information
- Application Number
- CN202411116115.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-14
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-08-14
AI Technical Summary
The existing technology cannot accurately adjust the data transmission mode when network resources are tight or business demand increases, resulting in the transmission efficiency of other applications being affected and may cause network oscillation.
By receiving modal adjustment requests for target applications, collecting historical traffic data, determining the application information and resource information corresponding to the data flow, matching the appropriate target mode for data transmission, and avoiding large-scale modal adjustments.
Accurate adjustment of the mode is achieved, data transmission efficiency is improved, network oscillation is avoided, and data transmission efficiency is not affected by other applications.
Smart Images

Figure CN118646521B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technology, and in particular to a data transmission method and device. Background Art
[0002] In network data transmission, applications can use different modes to achieve data transmission. Applications refer to various services or data processing tasks running in a network environment, such as video streaming, large file transfer, web browsing, email sending, instant messaging, etc., while modes can be understood as different ways or modes of data transmission, which define how data is transmitted in the network, such as the direction of data transmission, synchronization method, number of bits sent simultaneously, and data transmission protocol.
[0003] However, when network resources are tight or some applications need to increase business requirements, the modes used by some applications need to be adjusted. The existing method will directly switch all applications that use a certain mode for data transmission to another mode for data transmission. However, this is unfair to other applications that do not need mode adjustment and may affect the transmission efficiency of other applications. In addition, adjusting the modes of a large number of applications at the same time is likely to cause network oscillation.
[0004] Based on this, how to accurately adjust the mode and improve the efficiency of data transmission tasks is an urgent problem to be solved. Summary of the invention
[0005] This specification provides a data transmission method and device to partially solve the above problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] This specification provides a data transmission method, including:
[0008] receiving a modality adjustment request for a target application;
[0009] According to the modal adjustment request, collecting historical traffic data within a historical period;
[0010] Determine application information of an application corresponding to each data flow in the historical traffic data;
[0011] Determine, according to the application information of the application corresponding to each data flow, a first feature of the target application, where the first feature is used to characterize a magnitude relationship between the flow of the target application in the historical time and the flow of other applications in the historical time;
[0012] Acquire historical resource information corresponding to the target application, and determine a second feature of the target application according to the historical resource information, wherein the historical resource information is used to characterize resources occupied by the target application when executing data transmission tasks in history;
[0013] Acquire each candidate modality, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature;
[0014] According to the target mode, the data transmission task of the target application is executed.
[0015] Optionally, determining application information of an application corresponding to each data flow in the historical traffic data specifically includes:
[0016] For each data flow in the historical traffic data, determining a data packet length sequence corresponding to the data flow;
[0017] Encoding the data packet length sequence according to a preset encoding method to obtain an encoded data packet length sequence;
[0018] The data stream characteristics corresponding to the encoded data packet length sequence are extracted, and application information of the application corresponding to the data stream is determined based on the data stream characteristics.
[0019] Optionally, extracting data stream features corresponding to the encoded data packet length sequence specifically includes:
[0020] Inputting the encoded data packet length sequence into a preset timing model to obtain a timing feature output by the timing model for the encoded data packet length sequence;
[0021] Inputting the encoded data packet length sequence into a preset spatial model to obtain a spatial feature output by the spatial model for the encoded data packet length sequence;
[0022] The temporal features and the spatial features are combined to obtain data stream features corresponding to the encoded data packet length sequence.
[0023] Optionally, determining application information of an application corresponding to the data flow according to the data flow characteristics specifically includes:
[0024] The data stream feature is input into a preset classification model to obtain application information of the application corresponding to the data stream output by the classification model.
[0025] Optionally, the historical resource information includes at least one of storage resource occupancy information, computing resource occupancy information, bandwidth resource occupancy information and data transmission time information corresponding to the target application.
[0026] Optionally, executing the data transmission task of the target application according to the target modality specifically includes:
[0027] According to the historical resource information, resource information corresponding to the target application in the future time is obtained as predicted resource information, and according to the predicted resource information, a target network link for executing the data transmission task of the target application is determined, wherein the target network link includes multiple network nodes;
[0028] The target modality is deployed in each network node corresponding to the target network link to perform the data transmission task of the target application.
[0029] Optionally, the method further comprises:
[0030] If a target modality suitable for the target application cannot be matched from the candidate modalities according to the first feature and the second feature, a predicted modality is generated according to the first feature and the second feature, and the predicted modality is used as the target modality.
[0031] This specification provides a data transmission device, including:
[0032] A receiving module, used for receiving a modality adjustment request for a target application;
[0033] A collection module, used for collecting historical traffic data within a historical period according to the modal adjustment request;
[0034] A determination module, used to determine application information of an application corresponding to each data flow in the historical traffic data;
[0035] A first feature module, used to determine a first feature of the target application according to application information of the application corresponding to each data flow, wherein the first feature is used to characterize a magnitude relationship between the flow of the target application in the historical time and the flow of other applications in the historical time;
[0036] A second feature module is used to obtain historical resource information corresponding to the target application, and determine a second feature of the target application according to the historical resource information, wherein the historical resource information is used to characterize the resources occupied by the target application when performing data transmission tasks in history;
[0037] A matching module, used to obtain each candidate modality, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature;
[0038] The execution module is used to execute the data transmission task of the target application according to the target mode. This specification provides a computer-readable storage medium, the storage medium stores a computer program, and the computer program implements the above data transmission method when executed by a processor.
[0039] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned data transmission method when executing the program.
[0040] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0041] In the data transmission method provided in this specification, a modal adjustment request for a target application is received, and according to the modal adjustment request, historical traffic data within a preset time is collected, and application information of the application corresponding to each data stream in the historical traffic data is determined to determine the first feature of the target application. Then, according to the historical resource information corresponding to the acquired target application, the second feature of the target application is determined. Each candidate modality is obtained, and according to the first feature and the second feature, a target modality suitable for the target application is matched from each candidate modality. Then, according to the target modality, a data transmission task is executed.
[0042] It can be seen from the above method that in the data transmission method provided in this specification, according to the first feature and the second feature of the target application, a suitable target mode is selected for the target application, rather than directly switching all applications that use a certain mode for transmission to another mode for transmission. This method can adjust the mode more accurately and avoid network oscillation caused by large-scale adjustment of the mode. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
[0044] Figure 1 A flowchart of a data transmission method provided in this specification;
[0045] Figure 2 A schematic diagram of a data transmission device provided in this specification;
[0046] Figure 3 A method provided in this specification corresponding to Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.
[0048] In network data transmission, multimodal networks realize the dynamic deployment of multiple network modes in the same network environment, providing diversified and customized network precision support capabilities for various applications. Among them, mode can be understood as different ways or modes of data transmission. However, as the number of modes in the network continues to increase, the network scale continues to grow, and network resources become increasingly tight, how to generate and control network modes while ensuring network performance is a key issue. Existing methods will directly switch all applications that use a certain mode for data transmission to another mode for data transmission. This means that once the mode is adjusted, all applications that use this mode will be adjusted to another mode regardless of what application is running on this mode.
[0049] Based on this, this specification provides a data transmission method, which receives a modal adjustment request for a target application, collects historical traffic data within a preset time according to the modal adjustment request, and determines the application information of the application corresponding to each data stream in the historical traffic data to determine the first feature of the target application. Then, based on the historical resource information corresponding to the acquired target application, determine the second feature of the target application. Obtain each candidate modality, and match a target modality suitable for the target application from each candidate modality according to the first feature and the second feature. Then, execute the data transmission task according to the target modality.
[0050] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0051] Figure 1 A schematic diagram of a data transmission method provided in this specification includes the following steps:
[0052] S101: Receive a modality adjustment request for a target application.
[0053] In this specification, the execution entity used to implement a data transmission method can be a terminal device such as a laptop computer, a tablet computer, or of course, a server. For the sake of ease of description, this specification only takes the server as an execution entity as an example to illustrate a data transmission method provided in this specification.
[0054] The server receives a modality adjustment request for a target application to adjust a modality adopted by the target application during data transmission.
[0055] S102: Collect historical traffic data within a historical period according to the modal adjustment request.
[0056] The server can set a sampling window t and collect historical traffic data at key network entrances, so that the collected historical traffic data is the historical traffic data within the historical time t.
[0057] S103: Determine application information of an application corresponding to each data flow in the historical traffic data.
[0058] The historical traffic data contains several data streams. The server can determine the application information of the application corresponding to each data stream, where the application can be a data processing task such as video streaming, large file transfer, web browsing, sending emails, instant messaging, etc. Specifically, the server can obtain the application information of the application corresponding to each data stream based on Deep Packet Inspection (OpenDPI), where OpenDPI is a method that consumes more resources but has higher accuracy. OpenDPI maintains an application feature library and determines the application information of the application corresponding to the data stream by detecting the payload part of the data packet.
[0059] The server can also infer the application information of the application corresponding to each data stream based on machine learning. For each data stream, the server can input the data stream into the feature extraction model so that the feature extraction model determines the data stream features of the data stream, and then input the data stream features into the preset classification model to obtain the application information of the application corresponding to the data stream output by the classification model.
[0060] The above method may not be accurate enough when obtaining the characteristics of the data stream. In this specification, the server can first process the data stream, and then use the feature extraction model to obtain the characteristics corresponding to the data stream. Specifically, for each data stream, determine the data packet length sequence corresponding to the data stream, encode the data packet length sequence according to a preset encoding method, obtain the encoded data packet length sequence, and then input the encoded data packet length sequence into the feature extraction model to obtain the data stream characteristics corresponding to the encoded data packet length sequence.
[0061] For example, if there is a data stream at this time, the data stream contains 4 data packets, the length of the first data packet is 200 bytes, the length of the second data packet is 550 bytes, the length of the third data packet is 1200 bytes, and the length of the fourth data packet is 800 bytes, then the data packet length sequence corresponding to the data stream is [200, 550, 1200, 800].
[0062] Furthermore, the server encodes the data packet length sequence, converting the one-dimensional data packet length sequence into a two-dimensional structure. In this specification, the server may first specify an encoding method, assuming that the data packet length range is between 0 and the maximum transmission unit (MTU), and the data packet length range is evenly divided into N segments to obtain N data packet length intervals. Using the above example, assuming that the data packet length range in the data stream is between 0 and 1500 bytes (ie, MTU=1500), the data packet length range is evenly divided into 4 segments (ie, N=4), and 4 data packet length intervals are obtained, namely [0, 375), [375, 750), [750, 1125), [1125, 1500].
[0063] Each packet length interval is encoded using one-hot encoding, which is a sparse data representation in which only a single valid bit can be 1 and the rest are 0. Specifically, for N packet length intervals, the one-hot encoding has a total of N bits. For the first packet length interval, the first bit of the one-hot encoding is 1 and the rest are 0; for the second packet length interval, the second bit of the one-hot encoding is 1 and the rest are 0; for the Nth packet length interval, the Nth bit of the one-hot encoding is 1 and the rest are 0.
[0064] Using the above example, for the packet length intervals [0, 375), [375, 750), [750, 1125), [1125, 1500], the unique hot encodings are 1000, 0100, 0010, and 0001. When the packet length sequence is [200, 550, 1200, 800], the 4 packets in the data stream are in the first packet length interval, the second packet length interval, the fourth packet length interval, and the third packet length interval, respectively. Therefore, when the data stream is converted into a two-dimensional structure, it can be represented in the following matrix form:
[0065]
[0066] Among them, the first row of the matrix represents the one-hot encoding corresponding to the first data packet of the data stream, the second row of the matrix represents the one-hot encoding corresponding to the second data packet of the data stream, the third row of the matrix represents the one-hot encoding corresponding to the third data packet of the data stream, and the fourth row of the matrix represents the one-hot encoding corresponding to the fourth data packet of the data stream.
[0067] Furthermore, the server uses the two-dimensional structure obtained above as a sequence of encoded data packet lengths, and inputs the sequence of encoded data packet lengths into a feature extraction model to obtain data stream features corresponding to the sequence of encoded data packet lengths.
[0068] This specification also provides another way to obtain the data stream features corresponding to the encoded data packet length sequence. Specifically, the encoded data packet length sequence is input into a preset timing model to obtain the timing features for the encoded data packet length sequence output by the timing model. Among them, the timing model can be a network structure module, including a time convolution layer, a maximum pooling layer and a batch normalization layer, the time convolution layer is used to extract the local time dependency features in the encoded data packet length sequence, the maximum pooling layer is used to downsample the feature map output by the time convolution layer to reduce the time dimension of the data while retaining important time features, and the batch normalization layer is used to maintain the consistency of data distribution, accelerate the training process, and improve the stability of the timing model. In this specification, the server can design 6 timing blocks in the timing model, each timing block can include a time convolution layer and a maximum pooling layer, and a batch normalization layer is designed after every two timing blocks.
[0069] At the same time, the server inputs the encoded data packet length sequence into a preset spatial model to obtain the spatial features of the encoded data packet length sequence output by the spatial model. The spatial model may include a graph convolutional network (GCNs) and a graph pooling layer. The convolution kernel in the GCNs slides on each element in the encoded data packet length sequence, aggregates the information of neighboring elements, and updates the feature representation of each element. The graph pooling layer downsamples the encoded data packet length sequence to reduce the number of elements while maintaining important structural information. In this specification, the server can design 4 graph convolutional networks and 4 graph pooling layers for the spatial model.
[0070] The server combines the temporal features and spatial features obtained by the above method to obtain the data stream features corresponding to the encoded packet length sequence. That is, after obtaining the temporal features and spatial features, the server can combine these features into a single feature vector. This process is usually called full connection or flattening. The temporal features and spatial features can be converted into vectors of fixed lengths, and then the two vectors corresponding to the two features can be concatenated to form a long vector as the data stream features corresponding to the encoded packet length sequence.
[0071] Then, the server inputs the data stream features into the preset classification model to obtain the application information of the application corresponding to the data stream output by the classification model. It should be noted that the preset classification model can be a neural network model such as a multilayer perceptron (MLP), which is not specifically limited here, and can meet the method in this specification.
[0072] Furthermore, before using the preset classification model to classify the data stream to obtain the application information of the application corresponding to the data stream, in order to obtain a more accurate classification result, the server may first train the preset classification model. Specifically, the data stream features corresponding to each data stream sample are obtained, and the data stream features are input into the classification model to obtain the application information of the application corresponding to the data stream features corresponding to each data stream sample, and the classification model is trained with the optimization goal of minimizing the deviation between the application information of the application corresponding to the data stream features corresponding to each data stream sample and the actual application information corresponding to each data stream sample.
[0073] S104: Determine a first feature of the target application according to the application information of the application corresponding to each data flow, where the first feature is used to characterize a size relationship between the traffic of the target application within the historical time and the traffic of other applications within the historical time.
[0074] There are multiple data flows in the historical traffic data. The server obtains application information of the application corresponding to each data flow in the historical traffic data, aggregates the data flows with the same application information together to calculate the data flow size corresponding to each application information, that is, obtains the mapping relationship between each application and the data flow size in the historical time, and obtains the first feature of the target application based on the mapping relationship between each application and the data flow size, wherein the first feature is used to characterize the size relationship between the flow of the target application in the historical time and the flow of other applications in the historical time.
[0075] S105: Acquire historical resource information corresponding to the target application, and determine a second feature of the target application based on the historical resource information, wherein the historical resource information is used to characterize resources occupied by the target application when executing data transmission tasks in the past.
[0076] The server obtains historical resource information corresponding to the target application, and determines a second feature of the target application based on the historical resource information, wherein the historical resource information is used to characterize the resources occupied by the target application when executing data transmission tasks in history.
[0077] The historical resource information includes at least one of storage resource occupancy information, computing resource occupancy information, bandwidth resource occupancy information and data transmission time information corresponding to the target application.
[0078] Specifically, storage resource usage information refers to the storage resource usage information of the switch when the target application is performing data transmission. During the data transmission process, the switch needs some storage space to cache temporary data (such as ARP tables, MAC address tables, routing tables, etc.) and log information. The storage resource requirements and configurations of switches of different brands and models will also be different.
[0079] Computing resource usage information refers to the computing resource usage information of the switch when the target application is transmitting data. The computing resources of the switch are mainly used to process tasks such as packet forwarding, routing decisions, spanning tree calculation, and security policy implementation. The computing resource usage of different applications depends on the network traffic generated, the complexity of the data packets, and the processing capacity of the switch.
[0080] The bandwidth resource of a switch is one of its most important resources, which directly determines the efficiency and performance of network transmission. For example, high-bandwidth applications include video streaming, large file transfer, database synchronization, cloud computing services, etc. These applications will generate a large amount of network traffic, thereby occupying a large amount of bandwidth resources; low-bandwidth applications include web browsing, email, instant messaging, etc., which have relatively low bandwidth usage.
[0081] The data transmission time information corresponding to the target application refers to the duration of the target application performing data transmission. The longer the duration is, the greater the occupation of various resources is to a certain extent.
[0082] S106: Acquire candidate modalities, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature.
[0083] The server obtains each candidate modality, each of which has a corresponding modality feature, and matches a target modality suitable for the target application from each candidate modality based on the first feature and the second feature of the target application and the modality features corresponding to each candidate modality. For example, the server can obtain the traffic size of the target application from the first feature and the second feature of the target application, and can also obtain the resources occupied by the target application in the historical time. Through the above features, the server matches the target application with a target modality that is suitable for the traffic size of the target application and can meet the resources occupied by the target application in the historical time.
[0084] It should be noted that if the target modality suitable for the target application cannot be matched from the candidate modalities according to the first feature and the second feature, the server can construct a predicted modality. Specifically, the server can generate a predicted modality according to the first feature and the second feature of the target application, and use the predicted modality as the target modality.
[0085] S107: Execute the data transmission task of the target application according to the target mode.
[0086] The server can perform the data transmission task of the target application according to the target mode and the original transmission path, or re-plan a better path for the target application to perform data transmission.
[0087] When re-planning the path for the data transmission task of the target application, the server first selects a certain degree of confidence based on the historical resource information corresponding to the target application to obtain the predicted resource information. For example, the historical resource information contains the resource information of the target application when performing 100 complete data transmissions. If a 90% confidence level is selected, then the predicted resource information of the target application when performing data transmission in the future only needs to meet 90 of the 100 historical resource information times. Because extreme or abnormal situations may occur in 100 complete data transmissions, in order to avoid predicting that the resource occupancy information of the target application for this data transmission includes the above extreme situations, it is necessary to select a certain degree of confidence to predict the resource occupancy of this time.
[0088] When the target application performs data transmission tasks, in addition to determining the target mode, it also needs to determine which network nodes (such as routers and switches) the data will pass through, that is, the target network link for data transmission. The server can collect the available resource information on each network node in real time, such as CPU idle rate, remaining memory, network bandwidth, etc., and determine which network nodes have the ability to meet the predicted resource occupancy requirements based on the available resource information and predicted resource information of each network node.
[0089] The server determines the target network link based on the network nodes that have the ability to meet the predicted resource occupancy requirements, the source address of the data flow (the starting point of the data flow), and the destination address of the data flow (the end point to which the data flow is to go). Specifically, the server uses a path planning algorithm (such as the Dijkstra algorithm) to calculate multiple possible paths, and evaluates these paths based on a series of evaluation criteria (such as path length, bandwidth utilization, delay, packet loss rate, cost, etc.), and selects the best one as the target network link for executing the data transmission task of the target application.
[0090] Furthermore, the server executes the data transmission task of the target application according to the target modality and the target network link. Specifically, the server sends instructions to each network node on the target network link to deploy the target modality in each network node corresponding to the target network link and execute the data transmission task corresponding to the target application.
[0091] In this specification, the server matches a suitable target modality from each candidate modality according to the first feature and the second feature of the target application, so as to perform the data transmission task of the target application based on the target modality. This method can avoid switching all applications that use the modality for data transmission to another modality for transmission when adjusting the modality used by a certain application. It can adjust the modality more accurately, further avoid network oscillation, and will not affect the data transmission efficiency of other applications.
[0092] In order to obtain more accurate application information corresponding to each data flow in the historical traffic data, the server can also first convert the data flow into a two-dimensional structure for representation (that is, encode the data flow) to extract more accurate timing features and spatial features through the timing model and the spatial model, and obtain the data flow features of each data flow through the timing features and the spatial features, and then obtain the application information of the application corresponding to each data flow.
[0093] Furthermore, the server may input the obtained spatiotemporal features corresponding to the data stream into a preset classification model to obtain application information of the application corresponding to the data stream output by the classification model. In this way, the application information corresponding to the data stream outputted is more accurate.
[0094] The method provided in this specification can also determine the target network link for executing the data transmission task of the target application, so as to provide more reliable and efficient network support for different applications, more effectively manage network resources and reduce the impact on data transmission tasks, thereby avoiding network shocks.
[0095] The above are one or more data transmission methods of this specification. Based on the same idea, this specification also provides corresponding data transmission devices, such as Figure 2 shown.
[0096] Figure 2 A schematic diagram of a data transmission device provided in this specification includes:
[0097] The receiving module 201 is used to receive a modality adjustment request for a target application;
[0098] A collection module 202, configured to collect historical traffic data within a historical period according to the modal adjustment request;
[0099] A determination module 203, configured to determine application information of an application corresponding to each data flow in the historical traffic data;
[0100] A first feature module 204, configured to determine a first feature of the target application according to the application information of the application corresponding to each data flow, wherein the first feature is used to characterize a magnitude relationship between the flow of the target application in the historical time and the flow of other applications in the historical time;
[0101] The second feature module 205 is used to obtain historical resource information corresponding to the target application, and determine the second feature of the target application according to the historical resource information, wherein the historical resource information is used to characterize the resources occupied by the target application when performing data transmission tasks in history;
[0102] A matching module 206 is used to obtain each candidate modality, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature;
[0103] The execution module 207 is used to execute the data transmission task of the target application according to the target mode.
[0104] Optionally, the determination module 203 is specifically used to determine, for each data flow in the historical traffic data, a data packet length sequence corresponding to the data flow; encode the data packet length sequence according to a preset encoding method to obtain an encoded data packet length sequence; extract data flow characteristics corresponding to the encoded data packet length sequence, and determine application information of the application corresponding to the data flow based on the data flow characteristics.
[0105] Optionally, the determination module 203 is specifically used to input the encoded data packet length sequence into a preset timing model to obtain the timing characteristics of the encoded data packet length sequence output by the timing model; input the encoded data packet length sequence into a preset spatial model to obtain the spatial characteristics of the encoded data packet length sequence output by the spatial model; and merge the timing characteristics and the spatial characteristics to obtain the data flow characteristics corresponding to the encoded data packet length sequence.
[0106] Optionally, the determination module 203 is specifically configured to input the data stream feature into a preset classification model to obtain application information of an application corresponding to the data stream output by the classification model.
[0107] Optionally, the historical resource information includes at least one of storage resource occupancy information, computing resource occupancy information, bandwidth resource occupancy information and data transmission time information corresponding to the target application.
[0108] Optionally, the execution module 207 is specifically used to obtain resource information corresponding to the target application in the future time based on the historical resource information as predicted resource information, and determine the target network link for executing the data transmission task of the target application based on the predicted resource information, the target network link including multiple network nodes; and deploy the target mode in each network node corresponding to the target network link to execute the data transmission task of the target application.
[0109] Optionally, the matching module 206 is further used to generate a predicted modality based on the first feature and the second feature, and use the predicted modality as the target modality, if a target modality suitable for the target application cannot be matched from the candidate modalities based on the first feature and the second feature.
[0110] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A data transmission method is provided.
[0111] This manual also provides Figure 3 The one shown corresponds to Figure 1 A schematic diagram of the electronic device. Figure 3 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0112] For the improvement of a technology, it can be clearly distinguished whether it is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0113] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
[0114] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0115] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0116] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0117] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks 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.
[0118] 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.
[0119] 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.
[0120] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0121] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0122] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0123] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0124] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0125] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0126] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0127] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims
1. A data transmission method, characterized in that: include: receiving a modality adjustment request for a target application, the modality adjustment request being used to adjust a modality of the target application, the modality defining at least one of a direction of data transmission, a synchronization mode, a number of bits sent simultaneously, and a data transmission protocol; According to the modal adjustment request, collecting historical traffic data within a historical period; Determine application information of an application corresponding to each data flow in the historical traffic data; Determine, according to the application information of the application corresponding to each data flow, a first feature of the target application, where the first feature is used to characterize a magnitude relationship between the flow of the target application in the historical time and the flow of other applications in the historical time; Acquire historical resource information corresponding to the target application, and determine a second feature of the target application according to the historical resource information, wherein the historical resource information is used to characterize resources occupied by the target application when executing data transmission tasks in history; Acquire each candidate modality, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature; According to the target mode, the data transmission task of the target application is executed.
2. The method according to claim 1, characterized in that Determining application information of an application corresponding to each data flow in the historical traffic data specifically includes: For each data flow in the historical traffic data, determining a data packet length sequence corresponding to the data flow; Encoding the data packet length sequence according to a preset encoding method to obtain an encoded data packet length sequence; The data stream characteristics corresponding to the encoded data packet length sequence are extracted, and application information of the application corresponding to the data stream is determined based on the data stream characteristics.
3. The method according to claim 2, characterized in that Extracting data stream features corresponding to the encoded data packet length sequence specifically includes: Inputting the encoded data packet length sequence into a preset timing model to obtain a timing feature output by the timing model for the encoded data packet length sequence; Inputting the encoded data packet length sequence into a preset spatial model to obtain a spatial feature output by the spatial model for the encoded data packet length sequence; The temporal features and the spatial features are combined to obtain data stream features corresponding to the encoded data packet length sequence.
4. The method according to claim 2, characterized in that Determine application information of an application corresponding to the data stream according to the data stream characteristics, specifically including: The data stream feature is input into a preset classification model to obtain application information of the application corresponding to the data stream output by the classification model.
5. The method according to claim 1, characterized in that The historical resource information includes at least one of storage resource occupancy information, computing resource occupancy information, bandwidth resource occupancy information, and data transmission time information corresponding to the target application.
6. The method according to claim 1, characterized in that According to the target mode, executing the data transmission task of the target application specifically includes: According to the historical resource information, resource information corresponding to the target application in the future time is obtained as predicted resource information, and according to the predicted resource information, a target network link for executing the data transmission task of the target application is determined, wherein the target network link includes multiple network nodes; The target modality is deployed in each network node corresponding to the target network link to perform the data transmission task of the target application.
7. The method according to claim 1, characterized in that The method further comprises: If a target modality suitable for the target application cannot be matched from the candidate modalities according to the first feature and the second feature, a predicted modality is generated according to the first feature and the second feature, and the predicted modality is used as the target modality.
8. A data transmission device, characterized in that: include: A receiving module, configured to receive a modality adjustment request for a target application, wherein the modality adjustment request is used to adjust the modality of the target application, wherein the modality defines at least one of a direction of data transmission, a synchronization mode, a number of bits sent simultaneously, and a data transmission protocol; A collection module, used for collecting historical traffic data within a historical period according to the modal adjustment request; A determination module, used to determine application information of an application corresponding to each data flow in the historical traffic data; A first feature module, used to determine a first feature of the target application according to application information of the application corresponding to each data flow, wherein the first feature is used to characterize a magnitude relationship between the flow of the target application in the historical time and the flow of other applications in the historical time; A second feature module is used to obtain historical resource information corresponding to the target application, and determine a second feature of the target application according to the historical resource information, wherein the historical resource information is used to characterize the resources occupied by the target application when performing data transmission tasks in history; A matching module, used to obtain each candidate modality, and match a target modality suitable for the target application from the candidate modalities according to the first feature and the second feature; An execution module is used to execute the data transmission task of the target application according to the target mode.
9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 7 is implemented.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method described in any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Network rate adjusting method and terminal device
CN110198554A
SDN-based service customization network resource self-adaptive allocation technology
CN112491619A
Flow limiting method and system
CN114567601A
Multi-dimensional time series data anomaly detection method
CN116361635A
