CN116056245A - Data scheduling method, device and computer readable storage medium - Google Patents

Data scheduling method, device and computer readable storage medium Download PDF

Info

Publication number
CN116056245A
CN116056245A CN202210846595.7A CN202210846595A CN116056245A CN 116056245 A CN116056245 A CN 116056245A CN 202210846595 A CN202210846595 A CN 202210846595A CN 116056245 A CN116056245 A CN 116056245A
Authority
CN
China
Prior art keywords
data stream
network
source
quality
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210846595.7A
Other languages
Chinese (zh)
Other versions
CN116056245B (en
Inventor
冯现忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210846595.7A priority Critical patent/CN116056245B/en
Publication of CN116056245A publication Critical patent/CN116056245A/en
Application granted granted Critical
Publication of CN116056245B publication Critical patent/CN116056245B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a data scheduling method, a data scheduling device and a computer readable storage medium, wherein the method is applied to network equipment and comprises the following steps: identifying a source of each of the at least one data stream; and scheduling a first data stream in the at least one data stream to a target network path according to the source of each data stream in the at least one data stream, wherein the source of the first data stream meets a preset priority range, and the target network path is a network path with the optimal network quality in a plurality of network paths of the network equipment. According to the scheme, the source of the data stream is identified, the data stream meeting the priority condition is scheduled to the target network path with optimal network quality, so that the data stream with relatively important source preferentially uses a relatively good network, and the network utilization is more reasonable.

Description

Data scheduling method, device and computer readable storage medium
Technical Field
The present invention relates to the field of communications, and in particular, to a data scheduling method, apparatus, and computer readable storage medium.
Background
With the development of wireless router technology, networking schemes such as Mesh networks appear, and the networking is mainly formed by arranging main routes and sub routes according to a certain topological structure. And currently wireless routers may support dual networks, that is, wireless routers may access the internet through a mobile network or ethernet. Such as wireless routers that support SIM card insertion and network cable connection, may access both mobile networks and ethernet networks.
In a practical scenario, it is very common that multiple applications of multiple devices or multiple applications of one device access a wireless router at the same time. At this time, the network load is large, and situations such as blocking or disconnection may occur. Although the accessed wireless router can be a wireless router with double networks and can support a mobile network and an Ethernet, the current scheme still utilizes one of the networks or even utilizes two networks, so that the utilization of the two networks is unreasonable and the user surfing experience is affected.
That is, the current dual-network wireless router only has two capabilities of accessing the internet, but the capability does not play a good role, i.e. the network utilization is unreasonable, so that the requirement of diversified internet surfing cannot be met.
Therefore, how to more reasonably utilize the network of the wireless router to meet the diversified internet surfing requirements is a technical problem to be solved.
Disclosure of Invention
The application provides a data scheduling method, network equipment and a computer readable storage medium, which can more reasonably utilize a network so as to meet diversified internet surfing requirements.
In a first aspect, a data scheduling method is provided, applied to a network device, and the method includes: receiving at least one data stream; identifying a source of each of the at least one data stream; and scheduling a first data stream in the at least one data stream to a target network path according to the source of each data stream in the at least one data stream, wherein the source of the first data stream meets a preset priority range, and the target network path is a network path with the optimal network quality in a plurality of network paths of the network equipment.
According to the technical scheme, the source of the received data stream is identified, and the data stream meeting the priority condition is scheduled to the target network path with optimal network quality. It is understood that data streams of relatively important origin preferentially use relatively good networks. So that a plurality of network paths are considered and the network utilization is more reasonable. In addition, the data flow with relatively important source uses the network path with good quality preferentially, and the diversified internet surfing requirements of users are also considered.
With reference to the first aspect, in certain implementation manners of the first aspect, in identifying a source corresponding to each data stream in at least one data stream, the following operations may be performed: processing the at least one data stream using the identification model to obtain a source for each of the at least one data stream, the source including at least one of a traffic source or an application source. By identifying which class of traffic or which application the data stream originates from, then the data stream of some or some source with the highest priority can be preferentially scheduled on the target network path with the best network quality according to the priority of the source. The determination of the source is refined, which can make the scheduling of the data flow more in line with the internet requirements.
Alternatively, the recognition model may employ a pre-trained neural network model. For example, the neural network model may be trained using data streams with source tags (i.e., data streams of known sources), and the resulting trained neural network model may have the ability to identify the source of the data stream.
With reference to the first aspect, in certain implementations of the first aspect, when a first data stream of the at least one data stream is scheduled onto the target network path according to a source of each of the at least one data stream, the following operations may be performed: judging whether the source of each data stream in at least one data stream meets a preset priority range or not, and determining the data stream meeting the preset priority range as a first data stream; marking the first data stream; the marked first data stream is scheduled onto the target network path. The first data stream is marked and then scheduled, so that the scheduling is more convenient. It is understood that the first data stream is screened and marked, and then the marked data stream may be preferentially scheduled to the target network path during scheduling. In this implementation, after knowing the source of the received data stream and determining from it which data streams are first data streams, the first data stream is marked (locked) from the received data streams, in the manner of marking.
With reference to the first aspect, in certain implementations of the first aspect, when marking the first data stream, the following operations may be performed: analyzing the IP information of each data stream in at least one data stream, and converting the IP information into quintuple information; and determining the first data stream from the at least one data stream according to the quintuple information and marking. This implementation can be understood as an example of one way of marking. The five-tuple information can be used for distinguishing each data stream, and the source address, the destination address and other five-tuple information of each data stream are known, so that whether each data stream is a first data stream or not can be known, and marks can be marked.
Alternatively, the IP information may be obtained by feature extraction of the data stream using the recognition model described above. It is understood that it is the output in the process of identifying the source of the data stream. Thus, an extraction module or an extraction method of the IP information does not need to be independently designed to obtain the IP information.
With reference to the first aspect, in certain implementation manners of the first aspect, the method further includes: and determining the network quality of the plurality of network paths according to quality parameters of the plurality of network paths, wherein the quality parameters comprise at least one of signal quality indexes, rates or time delays, the signal quality indexes and the rates are respectively positively correlated with the network quality, and the time delays are negatively correlated with the network quality. The implementation is mainly to determine the network quality by means of quality parameters.
With reference to the first aspect, in certain implementations of the first aspect, in determining network qualities of the plurality of network paths according to quality parameters of the plurality of network paths, the following operations may be performed: obtaining network quality measurement values of a plurality of network paths in a plurality of time periods according to the quality parameters of the network paths in the plurality of time periods in the first time period; an average or weighted average of network quality metric values of the plurality of network paths over a plurality of time periods is taken as the network quality of the plurality of network paths over the first time interval. In this implementation, by averaging the evaluation values (metric values) of the network quality for a plurality of time periods, the metric results can be made more accurate and can be a long-term metric. The first time interval may be one day, one month, one quarter, or even one year. When the first time interval is one day, the plurality of time periods may be determined within 24 hours of a day. By calculating a weighted average, for example, increasing the weight of the surfing peak period and decreasing the weight of the surfing valley period, the accuracy of the measurement result can be further improved.
With reference to the first aspect, in certain implementation manners of the first aspect, the plurality of network paths may include a mobile network path and an ethernet path. In the implementation mode, the network path comprises a mobile network and an Ethernet, and various Internet surfing modes are realized. It should be understood that the multiple network paths may be the same type of network path or different types of network paths in possible implementations of embodiments of the present application.
Alternatively, different signal quality indicators may also be set for different kinds of network paths. For example, the signal quality indicator for the mobile network path includes a received signal strength indication, RSSI, indicator and the signal quality indicator for the ethernet path includes a negotiated rate. Different kinds of network paths adopt different signal quality indexes, so that the measurement of the network quality can be more accurate.
With reference to the first aspect, in certain implementation manners of the first aspect, the method further includes: a second data stream of the at least one data stream is scheduled onto a non-target network path, the second data stream representing a data stream of the at least one data stream other than the first data stream, the non-target network path representing a network path of the plurality of network paths other than the target network path. According to the implementation mode, on the basis that the data streams with relatively important sources are preferentially scheduled to the network with better quality, other data streams are also scheduled to other network paths, so that all network paths can be fully utilized, the network utilization rate is improved, and the internet surfing rate is improved.
In a second aspect, a data scheduling apparatus is provided, the apparatus comprising means for performing any one of the methods of the first aspect, comprised of software and/or hardware.
In a third aspect, there is provided a network device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor being capable of implementing any one of the methods of the first aspect when the computer program is executed.
With reference to the third aspect, in certain implementations of the third aspect, the network device is a wireless router.
In a fourth aspect, there is provided a chip comprising a processor for reading and executing a computer program stored in a memory, the computer program being capable of implementing any one of the methods of the first aspect when executed by the processor.
Optionally, the chip further comprises a memory, the memory being electrically connected to the processor.
Optionally, the chip may further comprise a communication interface.
In a fifth aspect, there is provided a computer readable storage medium storing a computer program capable of implementing any one of the methods of the first aspect when the computer program is executed by a processor.
In a sixth aspect, there is provided a computer program product comprising a computer program capable of implementing any one of the methods of the first aspect when the computer program is executed by a processor.
Drawings
Fig. 1 is a schematic diagram of an applicable network scenario according to an embodiment of the present application.
Fig. 2 is a schematic flow chart of a data scheduling method according to an embodiment of the present application.
Fig. 3 is a schematic flow chart of a marker data flow of an embodiment of the present application.
Fig. 4 is a schematic diagram of a deployment location of an identification module of an embodiment of the present application.
Fig. 5 is a schematic diagram of a data stream source identification process according to an embodiment of the present application.
Fig. 6 is a schematic flow chart of a network quality metric method of a mobile network according to an embodiment of the present application.
Fig. 7 is a schematic flow chart of a network quality metric method of an ethernet network of an embodiment of the present application.
Fig. 8 is a schematic flow chart of another data scheduling method of an embodiment of the present application.
Fig. 9 is a schematic diagram of a data scheduling apparatus according to an embodiment of the present application.
Detailed Description
The following describes embodiments of the present application with reference to the drawings. The data scheduling method provided by the application can be applied to network equipment such as routers and the like capable of carrying out wireless network communication, and mainly can be applied to routing equipment with a plurality of network paths.
Fig. 1 is a schematic diagram of an applicable network scenario according to an embodiment of the present application. As shown in fig. 1, the scenario includes at least one network device 110 and at least one underhung device 120.
Network device 110 may provide a wireless network and off-hook device 120 may access the internet through network device 110. The off-hook device 120 may include a terminal device and a network device, i.e., the off-hook device 120 may be capable of accessing a wireless network provided by the network device 110. The underhung device 120 of fig. 1 includes terminal devices 121, 127-129 and network devices 122-126 as examples. It should be understood that when the downhanging device is a network device, there may be a terminal device or other network device that is downhanging on the network device. As shown in fig. 1, the under-hook device 122 is a router that also has an under-hook device router 125, and the router 125 also has an under-hook device, i.e., a terminal device 128. At this time, the terminal device 128 accesses the network device 110 through the network devices 125 and 122, and then accesses one of the network paths through the network device 110, and finally accesses the internet.
In fig. 1, network devices 123 and 126 are also included, and terminal device 129, where terminal device 129 is an underhung device of network device 126, network device 123 is an underhung device of network device 126, network device 126 is an underhung device of network device 110, and a wired connection is between network device 126 and network device 110. Terminal device 129 is shown as a notebook computer.
In fig. 1, the system further includes a network device 124 and a terminal device 127, where the terminal device 127 is an underhung device of the network device 124, the network device 124 is an underhung device of the network device 110, and a wireless connection is between the network device 124 and the network device 110.
It can be seen that the under-hung device of the network device 110 may be a terminal device or a network device, and the under-hung network device connected to the network device 110 may be a wired connection or a wireless connection. I.e. the network devices may be wired or network connected. The network devices may or may not be routers of the same type.
It will be appreciated that the origin of the final data can be traced back to the end device, whether the down device is a network device or an end device, whether several layers of network devices are connected.
The terminal device may also be called a user device, and may be a mobile terminal such as a mobile phone, a computer, a tablet computer, an intelligent terminal, a projection device, a network television device, a vehicle-mounted terminal, or other terminal devices capable of connecting to a network. The intelligent terminal can be, for example, an intelligent television, an intelligent sound box, an intelligent bracelet or an intelligent screen.
The network device 110 may access the internet through the first network path 130 or the second network path 140. In the scenario shown in fig. 1, the network path may be either a mobile network or an ethernet network. In fig. 1, the first network path 130 is a mobile network, and the second network path 140 is an ethernet network. It should be understood that the first network path 130 and the second network path 140 may or may not be homogeneous network paths, and are not limited. Further, more network paths may be included between network device 110 and the internet.
Taking the first network path 130 as a mobile network path and the second network path 140 as an ethernet path as an example, as shown in fig. 1, the mobile network path includes an access node 131, and fig. 1 takes the access node 131 as an example of a base station, for providing mobile network signals, where the mobile network may be various mobile networks such as a long term evolution (long term evolution, LTE) network or a fifth generation (5G) network. The ethernet path includes a switch 141 and an access server 142, and the internet can be accessed through the switch 141 and the access server 142. Ethernet is understood to be a wired network, but does not refer exclusively to the network path accessed through a network cable. For ease of understanding, in some cases, accessing the internet through a mobile network path may be considered as utilizing traffic to access the internet, while accessing the internet through an ethernet path may be considered as utilizing broadband networking.
In the scenario shown in fig. 1, the underhung device 120 of the network device 110 may be accessed through both the first network path 130 and the second network path 140 when accessing the internet through the network device 110. For example, network device 110 receives the data stream of the on-hook device 120 and then uploads to the internet via either first network path 130 or second network path 140; alternatively, the network device 110 receives the data stream of the internet through the first network path 130 or the second network path 140, and then transmits the received data stream to the hanging device 120.
In the scenario shown in fig. 1, a wireless connection is indicated by a dotted line, and a wired connection is indicated by a solid line. It can be seen that the first network path 130, i.e. the mobile network path, is a wireless connection and the second network path 140, i.e. the ethernet path, is a wired connection. The connection between the underhung device 120 and the network device 110 may also be wireless or wired. The underhung devices can also be connected in a wireless or wired mode, for example, the underhung routers can be connected in a wireless or wired mode.
Taking the Mesh networking scenario shown in fig. 1 as an example. The network device 110 may be a master route (or parent route) in the Mesh network, and may be used as a customer premise equipment (customer premise equipment, CPE) that uniformly manages the entire Mesh network, such as channels, topology, access of the down-link devices, and access to the external network. In Mesh networking, the CPE combines the network access characteristics of the CPE, can meet the requirements of mobile network access and Ethernet network access, and simultaneously can uniformly manage the functions of channel optimization, topology change, parameter configuration and the like in the network, so that the main route of the Mesh network can be used as CPE equipment.
The drop device 120 includes terminal devices 121, 127-129 and network devices 122-126, where the network devices 122-126 are sub-routes (agents), which may also be called sub-routes, and mainly execute commands sent by the main routes, and periodically report network usage and capability information to the main routes, such as information of how many terminal devices are connected or how much bandwidth of which frequency bands are used.
It should be appreciated that the child route may access the parent route by wired (e.g., a network cable connection) or wireless (e.g., WIFI) means.
In the data interaction process of fig. 1, since there may be a difference in network quality between two network paths, the data transmission quality or rate of accessing the internet through different network paths is different, that is, the user's internet surfing experience is different. The embodiment of the application is mainly aimed at the multi-network scene (namely, the scene that the network equipment supports the internet surfing of a plurality of network paths), so that the network utilization rate is improved.
Fig. 2 is a schematic flow chart of a data scheduling method according to an embodiment of the present application. The method shown in fig. 2 may be used for the network device 110 shown in fig. 1, and for convenience of understanding, the following description will mainly take an example that the network device is a main route in the Mesh network, and the terminal device is a mobile phone.
S201, receiving a data stream.
The data stream received in step S201 may be directly from the terminal device or may be from the sub-route. When the received data stream comes from the sub-route, the data stream can still be traced back to the specific terminal device. For example, at least one data stream may be received. The at least one data flow may originate from the end device of the main route or from the end device of the sub-route.
When a user logs on to the network through the terminal device, for example, chatting, video, referring to materials, etc. by using a mobile phone. That is, the internet is connected by using one or more application programs (APP). Step S201 can receive a data stream generated by the APP used. It is also possible that multiple terminal devices are simultaneously connected to the internet, for example, in a certain scenario, the internet television plays a program, the mobile phone plays a video call, and the intelligent sound box plays a weather forecast.
S202, identifying the source of the data stream.
That is, the source of each of the at least one data stream received in step S201 is identified.
In the embodiment of the application, the source may specifically be from which APP, and may also classify APPs according to service types, and then the source may refer to which type of service is from. Thus, the source may comprise at least one of a business source or an application source (i.e., APP source).
The service source can be regarded as classifying the APPs by service type, and the source of the data flow from an APP of a certain service type is called the service source of that service type. For example, the service source is office type, that is, the APP related to office can be classified into office type APP (i.e., the service source is office), and the APP related to office can include e-mail or office software which is independently developed by an enterprise, etc. That is, the data stream from office-related APP is referred to as a data stream whose service source is office-like.
The service sources may include, for example: at least one of application markets, games, video, live, news, social, shopping, payment, life, lessons, video calls, downloads, or uploads. The audio-visual may also include interactive audio-visual and non-interactive audio-visual. Other division methods may be used for the service source, for example, the method may be divided into: consumption, entertainment, life, work, study, and others.
APP sources may be represented by APP names, such as electronic dictionary, weather, application market, or email names, to name a few.
At least one APP source is included in each service source.
In one example, the service sources include: application markets, games, short videos, live broadcasts, news, social chat, office, shopping, payments, life, web lessons, and downloads. The APP sources included in the application market are the application markets of various vendors, such as application centers, application treasures, etc. The game comprises a plurality of specific game APP. The short video includes each short video platform APP. Video includes APP used by users to watch movies, television, and other audiovisual programs. The news comprises APP of each news platform, and the social chat comprises APP with social function. Office applications include video calls, conferences, and the like. Shopping includes all shopping APP. The payment comprises payment platforms APP or mobile wallet and the like. Life may include various types of APP such as food, take-away, weather, etc. The net lesson may include various types of learning APP. The downloading may include various types of downloading APP, web disk or browser, etc.
It can be seen that the classification modes of service sources can be various, and the same APP can be sometimes divided into different service sources, so that for convenience, the main functions of the APP can be used as the classification basis. Such as a payment APP with chat functionality, the main function is payment, which is classified into payment classes.
In one implementation, the source includes at least one of a business source or an application source (i.e., APP source). In identifying the source of the data stream, the data stream may be processed through the identification model to obtain the source of the data stream. By identifying which type of traffic or which application the data stream originates from, then the data stream of some or some source with a high priority can be preferentially scheduled on the target network path with the best network quality according to the priority of the source. The determination of the source is finer, so that the scheduling of the data streams more meets the internet requirements.
Alternatively, the at least one data stream may be processed using the recognition model to obtain a source for each of the at least one data stream, the source including at least one of a business source or an application source. By identifying which class of traffic or which application the data stream originates from, then the data stream of some or some source with the highest priority can be preferentially scheduled on the target network path with the best network quality according to the priority of the source. The determination of the source is refined, which can make the scheduling of the data flow more in line with the internet requirements.
Alternatively, the recognition model may employ a pre-trained neural network model or other big data analysis model. For example, the neural network model may be trained using data streams with source tags (i.e., data streams of known sources), and the resulting trained neural network model may have the ability to identify the source of the data stream.
In one example, the recognition model is trained using a convolutional neural network (convolution neural network, CNN) model. The training data includes a data stream and a source tag corresponding to the data stream, the source tag including a traffic source and a program source. After the CNN processes the data stream, a predicted value and a confidence level of the source are obtained. Identifying the source of the data stream can be regarded as a task of sorting, i.e. sorting the data stream by source, the output result, i.e. the category, being the source of the data stream. In the training process, the data stream is input into the CNN, the obtained source category is compared with the actual source, namely the source label, and the weight of the CNN is adjusted, so that the trained CNN has the capability of identifying the source of the data stream. Alternatively, it is understood that CNNs have the ability to identify the source of a data stream by learning the data stream of a known source. The trained CNN model can identify the source of the data stream of unknown origin to the input model.
Since port information, official configuration information, etc. of different APP are different, and network transmission characteristics of different APP types are also different. For example, for a download-like APP, there is more downstream; for search class APP, the number of uplink times is relatively large, and the number of data streams generated by one interaction is also different. And other characteristic parameters that enable distinguishing between the sources of different data streams. Thus, by extracting such features and classifying based on them, the APP sources of the different data streams can be distinguished.
The process of identifying the model to the data stream can be seen as comprising two steps of feature extraction and classification. The feature extraction part converts the data stream into feature vectors, and the feature vectors comprise the features capable of distinguishing different sources. Classification of these feature vectors can result in a source.
It should be understood that the foregoing description is given by taking CNN as an example, and those skilled in the art may also use other neural networks or other deep learning models or machine learning models to train to obtain the recognition model. For example, deep neural networks, recurrent neural networks, etc., may be employed, not listed one by one.
The service source and/or APP source of the data stream are identified, and then the subsequent scheduling is carried out, so that when a plurality of services or a plurality of applications are used for network simultaneously, the scheduling and forwarding can be carried out in a primary-secondary mode, and the diversified internet surfing requirements of users are met. For example, in one scenario, when a user opens three types of services, i.e. audio-visual, payment and office, on a downhook device of the router, after the router executes step S201 to receive the data stream from the downhook device, the router executes step S202 to identify that the data stream of the three types of services, i.e. the source is the three service sources, and then the data stream of the payment type service can be scheduled through subsequent steps, for example, the data stream of the payment type service is preferentially scheduled to a network path with better quality as a first data stream described below. In this example, if the office is more important, the data stream of the office service may be preferentially scheduled as the first data stream described below to the network path with better quality. For another example, in another scenario, after a user opens a total of 5 APPs from APP1-APP5 on a downhook device of the router, and the router executes step S201 to receive the data streams from the downhook device, and then executes step S202 to identify that the data streams of the 5 APPs, i.e. the source is the above 5 APP sources, the data streams of one or more APPs with the highest priority in APP1-APP5 may be scheduled through a subsequent step, for example, as the first data stream described below, to be preferentially scheduled to a network path with better quality.
In another implementation, the sources may also include device sources, that is, identifying from which of the off-hook devices the data stream originated. Only the method of identifying the source of the device is different from the method of identifying the source of the service and the APP source, that is, an identification module capable of identifying the address of the device needs to be additionally employed to identify the source of the device. This may be to identify which type of device the data stream originates from or which device the data stream originates from, the two identifications also being different. In this way, when the priority is set, the priority of the down-hanging device may be set, for example, in an office scenario, the priority of the down-hanging device for office may be set higher than the priority of the down-hanging device for leisure, for example, the priority of the office computer may be set higher than the priority of the television, and the office computer and the television are the down-hanging devices of the same router. The three sources of the service source, the APP source and the device source may be combined with each other or only one or more sources may be used. In one example, the source may be a device source, a service source, or an APP source. In another example, the source is a combination of a device source and a service source, i.e. which service of which device the data stream originates from, or which device under which service the data stream originates from. In yet another example, the source is a combination of a device source and an APP source, i.e. which APP of which device the data stream originates from. In yet another example, the source is a combination of traffic sources and APP sources, i.e. from which APP under which traffic the data stream originates. In yet another example, the source is a combination of device source, service source and APP source, i.e. which APP under which service of which device the data stream originates.
S203, according to the source of the data flow, the first data flow is scheduled to the target network path.
That is, the first data stream of the at least one data stream received in S201 is scheduled onto the target network path according to the data stream source identified in S202. Wherein the source of the first data stream satisfies a predetermined priority range. The target network path is a network path of the plurality of network paths having an optimal network quality.
The plurality of network paths may include a mobile network path and an ethernet path. I.e. the network path comprises both a mobile network and an ethernet network, so that a plurality of internet modes can be realized. It should be understood that in the embodiments of the present application, the multiple network paths may be the same kind of network paths, or may be different kinds of network paths.
Step S203 may be considered as screening out data streams whose sources meet a preset priority range, and then scheduling the data streams on the target network path. Illustrating:
for example, assuming that the preset priority range is divided according to service sources, the service sources include: payment, office, consumption, life and others, priority decreases in turn, and the preset priority range is the first 2 sources of service in order. The first data stream is the data stream of both payment and office service sources.
Example two, assuming that the preset priority range is partitioned according to APP sources, the APP sources include: APP#1-APP#X, X is positive integer, and the priority reduces in proper order, and preset priority scope is the APP source of 3 top orders. The first data stream is the data stream of 3 APP sources app#1-app#3. For example, the priority of payment services on a tablet is higher than the priority of life services on a cell phone.
Example three, assuming that the preset priority range is divided according to a combination of service sources and APP sources, the service sources include: payment, office, consumption, life and others, payment includes 3 APP sources, office includes 2 APP sources, consumption includes 4 APP sources, life includes 7 APP sources and others includes 10 APP sources, priority decreases in order. That is, 3 APP sources in the payment are prioritized first 3, followed by 2 APP sources in the office, prioritized 4 and 5, respectively, and so on. The preset priority range may be, for example, the first 10 of APP sources. The first data stream is from 3 services of payment, office and consumption, and APP that orders the first in life.
Example four, assuming that the preset priority range is divided according to device sources, the device sources include: the priority of the notebook computer, the mobile phone, the intelligent screen and the intelligent sound box is reduced in sequence, and the preset priority range is the equipment source with the highest priority. The first data stream is the data stream from the notebook computer, and the service source and the APP source of the data stream do not need to be considered. But this case requires the additional use of an identification module capable of identifying the device address to identify the source of the device.
Other cases are not listed individually, and it should be understood that examples of sources of service sources, examples of APP sources, examples of equipment sources, and specific values in the above examples are merely for convenience of understanding the scheme, and are not limiting.
In one possible implementation, step S203 in fig. 2 may include the following operations: judging whether the source of each data stream in at least one data stream meets a preset priority range or not, and determining the data stream meeting the preset priority range as a first data stream; marking the first data stream; the marked first data stream is scheduled onto the target network path.
The first data stream is marked and then scheduled, so that the scheduling is more convenient. It is understood that the first data stream is screened and marked, and then the marked data stream may be preferentially scheduled to the target network path during scheduling. In this implementation, after knowing the source of the received data stream and determining from it which data streams are first data streams, the first data stream is marked (locked) from the received data streams, in the manner of marking.
In one implementation, network quality of a plurality of network paths may be determined based on quality parameters of the plurality of network paths. The quality parameter may be understood as a parameter that can have an impact on the quality of the network. The quality parameter may comprise at least one of a signal quality indicator, a rate, or a time delay. Wherein, the signal quality index and the rate are respectively positively correlated with the network quality, and the time delay is negatively correlated with the network quality. That is, the higher the signal quality indicator, the faster the rate, and the smaller the delay, the higher the network quality. The detailed metrology process is presented below in fig. 6 and 7, and is not further developed herein.
In one example, different signal quality indicators may also be set for different kinds of network paths. For example, the signal quality indicator for the mobile network path may include a received signal strength indicator (received signal strength indication, RSSI) indicator and the signal quality indicator for the ethernet path may include a negotiation rate. Different kinds of network paths adopt different signal quality indexes, so that the measurement of the network quality can be more accurate.
In one example, the measurement result of the network quality can be more accurate by means of averaging multiple measurements. For example, network quality measurement values of the plurality of network paths in a plurality of time periods can be obtained according to quality parameters of the plurality of network paths in a plurality of time periods in a first time period; an average or weighted average of network quality metric values of the plurality of network paths over a plurality of time periods is taken as the network quality of the plurality of network paths over the first time interval. The method can make the measurement result more accurate and can be a long-term measurement by averaging the evaluation values (also called measurement values and measurement values) of the network quality in a plurality of time periods. The first time interval may be one day, one month, one quarter, or even one year. When the first time interval is one day, the plurality of time periods may be determined within 24 hours of a day. By calculating a weighted average, for example, increasing the weight of the surfing peak period and decreasing the weight of the surfing valley period, the accuracy of the measurement result can be further improved.
The following is a specific example, assuming the following five time points in the day: 9:00, 12:00, 17:00, 19:00, 21:00 are measurement start moments, counted every 15 minutes, 3 times per time period, 15 times in total in a day, that is, 9:00-9:45, 12:00-12:45, 17:00-17:45, 19:00-19:45, 21:00-21:45 measures 3 network quality in 5 time intervals, obtains 3 network quality measurement values, measures 15 network quality in one day (one example of the first time interval) and obtains 15 network quality measurement values, and an average value or weighted average value of the 15 network quality measurement values can be used as a measurement result of the network quality of the day. The average or weighted average may also be taken as the average network quality over a month by counting the daily network quality metrics over a month. It should be understood that the numerical values in this example are for convenience of understanding, and there is no limitation, and the above 5 time points may be regarded as one specific example of taking a plurality of time points of the peak period of the internet in one day.
The method shown in fig. 2 mainly includes identifying the source of the received data stream, and scheduling the data stream meeting the priority condition to the target network path with optimal network quality. It is understood that data streams of relatively important origin preferentially use relatively good networks. So that a plurality of network paths are considered and the network utilization is more reasonable. In addition, the data flow with relatively important source uses the network path with good quality preferentially, and the diversified internet surfing requirements of users are also considered.
In one possible implementation, the method shown in fig. 2 may further include: a second data stream of the at least one data stream is scheduled onto a non-target network path, the second data stream representing a data stream of the at least one data stream other than the first data stream, the non-target network path representing a network path of the plurality of network paths other than the target network path. According to the implementation mode, on the basis that the data streams with relatively important sources are preferentially scheduled to the network with better quality, other data streams are also scheduled to other network paths, so that all network paths can be fully utilized, the network utilization rate is improved, and the internet surfing rate is improved.
In one implementation, the first data stream may be marked using the method shown in FIG. 3. Fig. 3 is a schematic flow chart of a marker data flow of an embodiment of the present application. Fig. 3 may be regarded as an example of marking the first data stream in step S203.
S301, analyzing the IP information of each data stream in at least one data stream, and converting the IP information into quintuple information.
In this embodiment of the present application, an independent module may be disposed in the kernel IP protocol stack to identify a corresponding source according to an input data flow, which may be referred to as an identification module or a Service Aware (SA) module for brevity.
In the kernel IP protocol stack, the netfilter framework has 5 key hook points for the data stream, which may be referred to as detection points, key points, or hook points. The forwarding data of the hanging device passes through three hook points, namely a front node (pre-routing), a key node (forward) and a back node (post-routing).
Typically, the recognition module works at forward of netfilter, and the module parses out the IP information of the data stream in units of the data stream and converts the IP information into quintuple information. The five-tuple information includes: source IP, destination IP, source port, destination port, protocol TCP/UDP. The device or application to which the stream corresponds can be identified.
For ease of understanding, the structure of the netfilter framework is described below in connection with fig. 4. As shown in fig. 4, a pre-route processing node (pre-route), a route decision node, a critical node (forward), a post-route processing node (post-route), and an ingress (local_in) and egress (local_out) node are included in the netfilter framework. The PRE-route processing node, pre_routing in the figure, mainly processes destination address conversion, and adds a specific mark to a data packet (i.e., a data packet or a data stream). The routing decision node, i.e. the routing decision shown in the figure, is used for deciding whether the data message is forwarded or used by the router local service. The four or more layers of the protocol stack of fig. 4 may also be referred to as a top layer protocol stack. In this embodiment of the present application, the identification module is disposed at the key node, and is configured to identify a source of the data packet. The POST-route processing node, namely POST_ROUTING in the graph, mainly completes the source address conversion. The ingress of the processing node of the router LOCAL traffic is local_in IN the figure, and the egress of the processing node of the router LOCAL traffic is local_out IN the figure.
Alternatively, the IP information may be obtained by feature extraction of the data stream using the recognition model described above. It is understood that it is the output in the process of identifying the source of the data stream. Thus, an extraction module or an extraction method of the IP information does not need to be independently designed to obtain the IP information.
S302, determining a first data stream from at least one data stream according to the quintuple information and marking.
Since the quintuple information includes information such as source IP and source port, the source of the data stream can be inferred.
Optionally, a data flow information table of the identification module may also be established, where the data flow information table includes whether the received data flow is identified to be complete and the identification result.
The method shown in fig. 3 can be understood as an example of one way of marking. The five-tuple information can be used for distinguishing each data stream, and the source address, the destination address and the like of each data stream are known, so that whether each data stream is a first data stream or not can be known, and then marks are marked. If the process of identifying the first data stream by the identification module is considered to be classifying the received data streams, the source class of each data stream is known. The process of marking the data streams is to find one or more data streams from among the data streams so that the data streams are locked by marking. It is understood that the identification procedure is a procedure for obtaining a list of the first data stream and the tagging procedure is a procedure for locking the first data stream according to the list.
Fig. 5 is a schematic diagram of a data stream source identification process according to an embodiment of the present application. It should be understood that the identification of the source of the data stream shown in fig. 5 is for marking the first data stream, and may be regarded as a process of finding (locking/calibrating) the first data stream according to the identification result, not a process of identifying the source of each data stream by the identification module.
S501, receiving a data stream to be identified through a stream identification entry.
The entry function may be represented by atp_sc_input and the corresponding interface may be represented by S.
S502, analyzing the IP information of the data stream and converting the IP information into quintuple information.
The parsing function may be represented by atp_sc_ct_to_complete and the corresponding interface may be represented by S1.
S503, searching the flow table information corresponding to the service identification module according to the quintuple information.
The lookup function may be represented by atp_sc_data_reset and the corresponding interface may be represented by S2.
The flow table information may include whether the identification is complete, the result of the identification, such as the source of the game, video, etc., or the specific APP source of the principals glowing, peaceful elite, paymate, etc.
S504, judging whether the flow identification is completed, executing step S505 when the judgment result is yes, and executing step S506 when the judgment result is no.
S505, counting flow statistics.
The statistical function may be represented by atp_sc_serv_stats_add.
S506, identifying the data flow.
That is, if it is found from the flow table information that it has not been identified, the data flow is identified and the flow table information is filled.
The execution function of this step may be denoted by atp_sc_eng_input, and the corresponding interface may be denoted by S3.
This step may also include specific identification by the pre-identification construction parameters and the identification engine.
The identified data stream can be marked accordingly.
Fig. 5 may be regarded as a specific example of the method shown in fig. 3, S502 may be regarded as an example of S301, and S503 to S506 may be regarded as an example of S302.
As described above, the network quality may be determined according to the quality parameters of the network path, and the measurement methods for the network quality of the mobile network and the ethernet network are described below with reference to fig. 6 and 7, respectively.
Fig. 6 is a schematic flow chart of a network quality metric method of a mobile network according to an embodiment of the present application. The steps of fig. 6 are described below.
S601, the AT module collects signal quality indexes of the modem module.
Fig. 6 is an example of the RSSI as the signal quality indicator. The modem module is mainly responsible for real-time communication with transmission equipment in a mobile network path such as a base station and the like, receives base station instruction information in real time, actively inquires information to the base station, belongs to a mobile network wireless core module of the CPE, and provides an interface for the AT module with the interface represented by M.
S602, the AT module sends a signal quality index to the quality measurement module.
And the AT module is used for collecting signal data of the modem module in real time through the interface M and reporting indexes such as RSSI of the modem signal to the quality measurement module. For example, in the situations of position movement, signal interference and the like of the CPE, the quality of the signal is reported in time for the quality measurement module to update the network quality in time, and it is assumed that the reporting interface for the quality measurement module is interface a.
S603, the rate statistics module counts rate and time delay information.
The rate statistics module collects data rate and time delay sent by the network interface layer.
S604, the rate statistics module sends rate and time delay information to the quality measurement module.
The rate statistics module sends the acquired rate and time delay information to the quality measurement module. For example, may be sent over interfaces T1 and T2, respectively.
S605, the quality measurement module evaluates the network quality according to the received quality parameter information.
Alternatively, the network quality (Q) may be calculated from the rate (V), the delay (T) and the signal quality indicator (R).
In one implementation, Q may satisfy the following formula: q= (av+br)/(cT 2 +d), wherein a, b, c, d are all calculation factors, which can be determined by tuning. That is, the value of the calculation factor can be determined by means of mathematical modeling by acquiring a sufficient amount of history data of V, T, R and Q.
As can be seen from the above implementation, V, R is positively correlated with Q and T is negatively correlated with Q. It should be understood that the formula of this implementation is only an example, and those skilled in the art can design other formulas, for example, a multiplication relationship between V and R is adopted, or T does not perform squaring operation, so long as the requirement is satisfied, and there is no limitation.
In one example, N times a day, N being a positive real number, is measured with Q i Then the metric representing the network quality at the ith time, i.e., the measurement result, 1.ltoreq.i.ltoreq.N, then Q d The signal quality of the day is Q d =∑Q i N. The signal quality Q of the month can also be calculated by the signal quality of each day m =∑Q d M, M is the number of days measured in the month.
Fig. 7 is a schematic flow chart of a network quality metric method of an ethernet network of an embodiment of the present application. The steps of fig. 7 are described below.
S701, the signal quality acquisition module sends the negotiation rate to the quality measurement module.
Fig. 7 exemplifies the negotiation rate with the signal quality indicator.
S702, the rate statistics module counts rate and time delay information.
The rate statistics module collects data rate and time delay sent by the network interface layer.
S703, the rate statistics module sends rate and time delay information to the quality measurement module.
The rate statistics module sends the acquired rate and time delay information to the quality measurement module. For example, may be sent over interfaces T1 and T2, respectively.
And S704, the quality measurement module evaluates the network quality according to the received quality parameter information.
Alternatively, the network quality (Q) may be calculated from the rate (V), the delay (T) and the signal quality indicator (N).
In one implementation, Q may satisfy the following formula: q= (av+br)/(cT 2 +d), wherein a, b, c, d are all calculation factors, which can be determined by tuning. That is, the value of the calculation factor can be determined by means of mathematical modeling by acquiring a sufficient amount of history data of V, T, R and Q.
As can be seen from the above implementation, V, R is positively correlated with Q and T is negatively correlated with Q. It should be understood that the formula of this implementation is only an example, and those skilled in the art can design other formulas, for example, a multiplication relationship between V and R is adopted, or T does not perform squaring operation, so long as the requirement is satisfied, and there is no limitation.
In one example, N times a day, N being a positive real number, is measured with Q i Then the metric representing the network quality at the ith time, i.e., the measurement result, 1.ltoreq.i.ltoreq.N, then Q d The signal quality of the day is Q d =∑Q i N. The signal quality Q of the month can also be calculated by the signal quality of each day m =∑Q d M, M is the number of days measured in the month.
It can be seen that the measurement of ethernet is similar to the measurement of mobile networks. And through experimental statistics, it is found that in some scenes, the network quality of the mobile network and the network quality of the ethernet have a certain correlation, and through experiments, it is found that in certain situations, a, c and d can inherit corresponding values of the mobile network, and b can be a weight coefficient obtained by multiplying b in the mobile network by a weight coefficient, and the weight coefficient can be, for example, 0.2 or 0.3 equivalent.
Fig. 8 is a schematic flow chart of another data scheduling method of an embodiment of the present application. Fig. 8 may be regarded as a specific example of the method shown in fig. 2. The steps of fig. 8 are described below.
S801, a receiving unit sends a received data stream to an identification module.
That is, the receiving unit receives the data stream from the hanging device and then transmits the data stream to the identification module.
This step can be regarded as one example of S201.
S802, the identification module identifies the source of the data stream.
This step can be regarded as one example of S202.
S803, the identification module sends the data stream with the identified source to the marking module.
S804, marking the high-priority data stream by a marking module.
That is, the tagging module tags data streams that satisfy a preset priority range.
For example, the marking module adds the characteristic mark X to the data stream of the high priority service such as the game service and the payment service according to the identification result of the identification module.
S805, the marking module sends the marked data stream to the scheduling module.
Either only the marked data stream is transmitted or all the data streams are transmitted, but the marked data stream is contained therein.
S806, the measurement module measures the network quality of the network path.
Taking the example of network paths including mobile networks and ethernet. The measurement module may obtain the network quality of the mobile network path by using the method shown in fig. 6, or may obtain the network quality of the ethernet path by using the method shown in fig. 7. When the plurality of network paths are all mobile networks or all ethernet networks, the network quality of the plurality of network paths is measured using the method of fig. 6 or fig. 7. When a plurality of network paths simultaneously include a mobile network and an ethernet network, the network quality of the mobile network path is measured by the method of fig. 6, and the network quality of the ethernet path is measured by the method of fig. 7.
S807, the scheduling module receives the network quality sent by the measuring module.
Taking the example of network paths including mobile networks and ethernet. In one example, the measurement module comprehensively compares the network quality of the mobile network and the ethernet according to the network measurement result, selects a target network path, that is, a path with better network quality, and reports the selected target network path to the scheduling module, that is, the measurement module sends related information such as the network quality determined to be the target network path. In another example, the metrics module sends the quality of all network paths for the scheduling module to determine the target network path based on the network quality of all network paths.
S808, the scheduling module updates the target network path.
That is, the scheduling module may delete the old route configuration information according to the report result of the measurement module, and establish new route configuration information at the same time, where the new route is the target network route.
It can be seen that S806-S808 are not affected by whether any of steps S801-S805 is performed.
S809, the scheduling module schedules the marked data flow to the target network path.
For example, a data stream with a label X is scheduled onto the target network path.
S803-S809 can be regarded as one example of S203.
The data scheduling method of the embodiment of the present application is mainly described above with reference to the accompanying drawings. It should be understood that, although the steps in the flowcharts related to the embodiments described above are shown in order, these steps are not necessarily performed in the order shown in the figures. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages. The following describes a data scheduling apparatus according to an embodiment of the present application with reference to the accompanying drawings.
Fig. 9 is a schematic diagram of a data scheduling apparatus according to an embodiment of the present application. As shown in fig. 9, the apparatus 1000 includes a receiving unit 1100 and a processing unit 1200. The apparatus 1000 may be integrated into a network device or may be a network device. The network device may be, for example, a wireless router supporting multiple networks.
In one implementation, the apparatus 1000 may be the network device 110 of fig. 1, or disposed in the network device 110.
The apparatus 1000 can be used to perform any of the data scheduling methods described above. For example, the receiving unit 1100 may be used to perform step S201, and the processing unit 1200 may be used to perform steps S202 and S203. As another example, the processing unit 1200 may also be used to perform various steps in fig. 3, 5, 6, or 7. For another example, the receiving unit 1100 may be the receiving unit in fig. 8, and may be used to perform step S801, and the processing unit 1200 may be used to perform steps S802-S809.
As shown in fig. 9, the processing unit 1200 may include an identification module 1210 and a scheduling module 1220. The identification module 1210 may be an identification module (SA module) as described above for identifying the source of the data stream. The identification module 1210 may be used to perform step S202, as well as S802, S803.
The scheduling module 1220 is configured to schedule the data stream according to the source of the data stream, and may perform steps S203, S807-S809, for example.
In one implementation, the processing unit 1200 further includes a metrics module 1230, the metrics module 1230 being coupled to the scheduling module 1220 for measuring network quality of each network path. The metric module 1230 may be the metric module shown in fig. 8, may be used to perform the steps in fig. 6 and 7, and may also be used to perform S806 and S807.
In one example, metrics module 1230 includes a mobile network metrics module 1231 and an ethernet metrics module 1232, wherein mobile network metrics module 1231 is used to measure the network quality of the mobile network path and ethernet metrics module 1232 is used to measure the quality of the ethernet path.
The mobile network metrics module 1231 may be used to perform the various steps shown in fig. 6.
As shown in fig. 9, the mobile network metrics module 1231 may include four sub-modules, sub-module 1 through sub-module 4. The four sub-modules may correspond to the respective modules in fig. 6: the system comprises a modem module, an AT module, a rate statistics module and a quality measurement module.
The ethernet metrics module 1232 may be used to perform the various steps shown in fig. 7.
As shown in fig. 9, the ethernet metric module 1232 may include three sub-modules, sub-module 5 through sub-module 7. The three sub-modules may correspond to the respective modules in fig. 7: the system comprises a signal quality acquisition module, a rate statistics module and a quality measurement module.
In one implementation, the processing unit 1200 further includes a marking module 1240, coupled to the scheduling module 1220, for marking the data stream, which may be used to perform steps S803, S804, and S805, for example. The marking module 1240 may be the marking module of fig. 8. The labeling module 1240 may also be used to perform the various steps shown in fig. 3 and 5.
In one implementation, the processing unit 1200 may also be used to perform the following operations: a second data stream of the at least one data stream is scheduled onto a non-target network path, the second data stream representing a data stream of the at least one data stream other than the first data stream, the non-target network path representing a network path of the plurality of network paths other than the target network path.
In one implementation, the apparatus 1000 may further include a storage unit, configured to store data such as a data stream. The storage unit may be integrated in the processing unit 1200 or may be a unit independent of the receiving unit 1100 and the processing unit 1200.
It should be noted that, because the content of information interaction and execution process between the above devices/units is based on the same concept as the method embodiment of the present application, specific functions and technical effects thereof may be referred to in the method embodiment section, and will not be described herein again.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
The embodiment of the application also provides a network device, which comprises: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, which when executed by the processor performs the steps of any of the various method embodiments described above.
Embodiments of the present application also provide a computer readable storage medium storing a computer program which, when executed by a processor, implements steps that may implement the various method embodiments described above.
Embodiments of the present application provide a computer program product which, when run on a mobile terminal, causes the mobile terminal to perform steps that may be performed in the various method embodiments described above.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present application implements all or part of the flow of the method of the above embodiments, and may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, where the computer program, when executed by a processor, may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing device/terminal apparatus, recording medium, computer memory, read-only memory (ROM), random access memory (random access memory, RAM), electrical carrier signals, telecommunications signals, and software distribution media. Such as a U-disk, removable hard disk, magnetic or optical disk, etc. In some jurisdictions, computer readable media may not be electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other manners. For example, the apparatus/network device embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
It should be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
As used in this specification and the appended claims, the term "if" may be interpreted as "when..once" or "in response to a determination" or "in response to detection" depending on the context. Similarly, the phrase "if a determination" or "if a [ described condition or event ] is detected" may be interpreted in the context of meaning "upon determination" or "in response to determination" or "upon detection of a [ described condition or event ]" or "in response to detection of a [ described condition or event ]".
In addition, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used merely to distinguish between descriptions and are not to be construed as indicating or implying relative importance.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
The above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (19)

1. A data scheduling method applied to a network device, comprising:
receiving at least one data stream;
identifying a source of each of the at least one data stream;
and according to the source of each data stream in the at least one data stream, scheduling a first data stream in the at least one data stream onto a target network path, wherein the source of the first data stream meets a preset priority range, and the target network path is a network path with optimal network quality in a plurality of network paths of the network equipment.
2. The method of claim 1, wherein the identifying the source of each of the at least one data stream comprises:
processing the at least one data stream using the identification model to obtain a source for each of the at least one data stream, the source including at least one of a business source or an application source.
3. The method of claim 1, wherein the scheduling the first data stream of the at least one data stream onto the target network path based on the source of each data stream of the at least one data stream comprises:
Judging whether the source of each data stream in the at least one data stream meets the preset priority range or not, and determining the data stream meeting the preset priority range as the first data stream;
marking the first data stream;
the first data stream with the tag is scheduled onto the target network path.
4. A method according to claim 3, wherein said marking said first data stream comprises:
analyzing the IP information of each data stream in the at least one data stream, and converting the IP information into quintuple information;
and determining the first data stream from the at least one data stream according to the quintuple information and marking.
5. The method according to any one of claims 1 to 4, further comprising:
and determining network quality of the plurality of network paths according to quality parameters of the plurality of network paths, wherein the quality parameters comprise at least one of signal quality indexes, rates or time delays, the signal quality indexes and the rates are respectively positively correlated with the network quality, and the time delays are negatively correlated with the network quality.
6. The method of claim 5, wherein determining the network quality of the plurality of network paths based on the quality parameters of the plurality of network paths comprises:
Obtaining network quality measurement values of the network paths in a plurality of time periods according to the quality parameters of the network paths in the plurality of time periods in the first time period;
and taking an average value or a weighted average value of network quality measurement values of the plurality of network paths in the plurality of time periods as network quality of the plurality of network paths in the first time interval.
7. The method of any one of claims 1 to 4, wherein the plurality of network paths includes a mobile network path and an ethernet path.
8. The method according to any one of claims 1 to 4, further comprising:
scheduling a second data stream of the at least one data stream to a non-target network path, the second data stream being used to represent a data stream of the at least one data stream other than the first data stream, the non-target network path being used to represent a network path of the plurality of network paths other than the target network path.
9. A data scheduling apparatus provided in a network device, comprising:
a receiving unit for receiving at least one data stream;
A processing unit for identifying a source of each of the at least one data stream;
the processing unit is further configured to schedule a first data stream of the at least one data stream onto a target network path according to a source of each data stream of the at least one data stream, where the source of the first data stream meets a preset priority range, and the target network path is a network path with optimal network quality among a plurality of network paths of the network device.
10. The apparatus according to claim 9, wherein the processing unit is specifically configured to:
processing the at least one data stream using the identification model to obtain a source for each of the at least one data stream, the source including at least one of a business source or an application source.
11. The apparatus according to claim 9, wherein the processing unit is specifically configured to: judging whether the source of each data stream in the at least one data stream meets the preset priority range or not, and determining the data stream meeting the preset priority range as the first data stream; marking the first data stream; the first data stream with the tag is scheduled onto the target network path.
12. The apparatus according to claim 11, wherein the processing unit is specifically configured to:
analyzing the IP information of each data stream in the at least one data stream, and converting the IP information into quintuple information;
and determining the first data stream from the at least one data stream according to the quintuple information and marking.
13. The apparatus according to any one of claims 9 to 12, wherein the processing unit is further configured to:
and determining network quality of the plurality of network paths according to quality parameters of the plurality of network paths, wherein the quality parameters comprise at least one of signal quality indexes, rates or time delays, the signal quality indexes and the rates are respectively positively correlated with the network quality, and the time delays are negatively correlated with the network quality.
14. The apparatus according to claim 13, wherein the processing unit is specifically configured to:
obtaining network quality measurement values of the network paths in a plurality of time periods according to the quality parameters of the network paths in the plurality of time periods in the first time period;
and taking an average value or a weighted average value of network quality measurement values of the plurality of network paths in the plurality of time periods as network quality of the plurality of network paths in the first time interval.
15. The apparatus of any of claims 9 to 12, wherein the plurality of network paths comprises a mobile network path and an ethernet path.
16. The apparatus according to any one of claims 9 to 12, wherein the processing unit is further configured to:
scheduling a second data stream of the at least one data stream to a non-target network path, the second data stream being used to represent a data stream of the at least one data stream other than the first data stream, the non-target network path being used to represent a network path of the plurality of network paths other than the target network path.
17. A network device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of any one of claims 1 to 8 when executing the computer program.
18. The network device of claim 17, wherein the network device is a wireless router.
19. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the method according to any one of claims 1 to 8.
CN202210846595.7A 2022-07-19 2022-07-19 Data scheduling method, device and computer readable storage medium Active CN116056245B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210846595.7A CN116056245B (en) 2022-07-19 2022-07-19 Data scheduling method, device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210846595.7A CN116056245B (en) 2022-07-19 2022-07-19 Data scheduling method, device and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN116056245A true CN116056245A (en) 2023-05-02
CN116056245B CN116056245B (en) 2023-10-20

Family

ID=86118731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210846595.7A Active CN116056245B (en) 2022-07-19 2022-07-19 Data scheduling method, device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN116056245B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013070152A2 (en) * 2011-11-07 2013-05-16 Binary Bio Ab Dynamic dataflow network
US20170093648A1 (en) * 2015-09-28 2017-03-30 Wi-Lan Labs, Inc. System and method for assessing streaming video quality of experience in the presence of end-to-end encryption
WO2018121237A1 (en) * 2016-12-29 2018-07-05 中兴通讯股份有限公司 Network quality detection method and device
CN110290178A (en) * 2019-05-30 2019-09-27 厦门网宿有限公司 A kind of dispatching method of data flow, electronic equipment and storage medium
US20200366717A1 (en) * 2019-05-17 2020-11-19 Juniper Networks, Inc. Classification of unknown network traffic
CN112532466A (en) * 2019-09-17 2021-03-19 华为技术有限公司 Flow identification method and device and storage medium
CN112949739A (en) * 2021-03-17 2021-06-11 中国电子科技集团公司第二十九研究所 Information transmission scheduling method and system based on intelligent traffic classification
CN113037624A (en) * 2019-12-25 2021-06-25 华为技术有限公司 Data flow control method and device
CN113163449A (en) * 2021-02-25 2021-07-23 腾讯科技(深圳)有限公司 Application program control method, device, equipment and storage medium
CN113378961A (en) * 2021-06-23 2021-09-10 中移(杭州)信息技术有限公司 Network traffic identification method, device, equipment and computer program product
CN113392607A (en) * 2020-03-12 2021-09-14 华为技术有限公司 Method for determining configuration parameters and related equipment
CN113574836A (en) * 2019-04-19 2021-10-29 三星电子株式会社 Electronic device and method for controlling data transmission

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013070152A2 (en) * 2011-11-07 2013-05-16 Binary Bio Ab Dynamic dataflow network
US20170093648A1 (en) * 2015-09-28 2017-03-30 Wi-Lan Labs, Inc. System and method for assessing streaming video quality of experience in the presence of end-to-end encryption
WO2018121237A1 (en) * 2016-12-29 2018-07-05 中兴通讯股份有限公司 Network quality detection method and device
CN113574836A (en) * 2019-04-19 2021-10-29 三星电子株式会社 Electronic device and method for controlling data transmission
US20200366717A1 (en) * 2019-05-17 2020-11-19 Juniper Networks, Inc. Classification of unknown network traffic
CN110290178A (en) * 2019-05-30 2019-09-27 厦门网宿有限公司 A kind of dispatching method of data flow, electronic equipment and storage medium
CN112532466A (en) * 2019-09-17 2021-03-19 华为技术有限公司 Flow identification method and device and storage medium
CN113037624A (en) * 2019-12-25 2021-06-25 华为技术有限公司 Data flow control method and device
CN113392607A (en) * 2020-03-12 2021-09-14 华为技术有限公司 Method for determining configuration parameters and related equipment
CN113163449A (en) * 2021-02-25 2021-07-23 腾讯科技(深圳)有限公司 Application program control method, device, equipment and storage medium
CN112949739A (en) * 2021-03-17 2021-06-11 中国电子科技集团公司第二十九研究所 Information transmission scheduling method and system based on intelligent traffic classification
CN113378961A (en) * 2021-06-23 2021-09-10 中移(杭州)信息技术有限公司 Network traffic identification method, device, equipment and computer program product

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APPLE INC: "S4-100610 "On HTTP Streaming"", 3GPP TSG_SA\\WG4_CODEC, no. 4 *
原源;曹先彬;范梅梅;: "动态服务质量的多信道媒体接入控制传输机制", 国防科技大学学报, no. 02 *

Also Published As

Publication number Publication date
CN116056245B (en) 2023-10-20

Similar Documents

Publication Publication Date Title
CN109921941B (en) Network service quality evaluation and optimization method, device, medium and electronic equipment
CN108028778B (en) Method, system and apparatus for generating information transmission performance warning
Stankiewicz et al. QoX: What is it really?
CN104919757B (en) System and method for estimating effective bandwidth
CN101005381B (en) System and method for realizing flow statistic based user's service on terminal
WO2019184640A1 (en) Indicator determination method and related device thereto
US11558769B2 (en) Estimating apparatus, system, method, and computer-readable medium, and learning apparatus, method, and computer-readable medium
CN103081403A (en) Method and apparatus for analysis of the operation of a communication system using events
CN107786992B (en) Method and device for detecting quality of mobile communication network
CN110876123A (en) Flow acquiring, providing, sharing, calibrating and transferring method and equipment
CN109982293A (en) Flow product method for pushing, system, electronic equipment and storage medium
CN115632939B (en) Automatic network selection and routing method for achieving multi-target achievement of computational power network
Qaiyum et al. Analysis of big data and quality-of-experience in high-density wireless network
Yan et al. Fuzzy and Utility Based Network Selection for Heterogeneous Networks in High‐Speed Railway
US20210058303A1 (en) Data Collection for the Evaluation of the Quality of Experience of a Service Over a Communications Network
El-Saleh et al. Measurements and analyses of 4G/5G mobile broadband networks: an overview and a case study
CN116056245B (en) Data scheduling method, device and computer readable storage medium
CN109994128B (en) Voice quality problem positioning method, device, equipment and medium
Bhering et al. Network performance estimator with applications to route selection for IoT multimedia applications
Walelgne et al. Clustering and predicting the data usage patterns of geographically diverse mobile users
WO2023045434A1 (en) Access detection method, system, and apparatus
CN114866790B (en) Live stream scheduling method and device
Khokhar et al. A methodology for performance benchmarking of mobile networks for internet video streaming
Weissberger et al. Background service QoS in a UMTS network
CN113517990B (en) Method and device for predicting net recommendation value NPS (network performance indicator)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant