CN113890905A - Channel switching method, electronic device and storage medium - Google Patents

Channel switching method, electronic device and storage medium Download PDF

Info

Publication number
CN113890905A
CN113890905A CN202111137133.XA CN202111137133A CN113890905A CN 113890905 A CN113890905 A CN 113890905A CN 202111137133 A CN202111137133 A CN 202111137133A CN 113890905 A CN113890905 A CN 113890905A
Authority
CN
China
Prior art keywords
network
channel
network channel
application
flow
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
CN202111137133.XA
Other languages
Chinese (zh)
Other versions
CN113890905B (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
Publication of CN113890905A publication Critical patent/CN113890905A/en
Application granted granted Critical
Publication of CN113890905B publication Critical patent/CN113890905B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application provides a channel switching method, an electronic device and a storage medium, wherein the electronic device comprises a first network channel, and the method comprises the following steps: starting a first application, wherein the first application comprises a first data flow, and the first data flow is borne on a first network channel; the first data stream comprises a plurality of messages; acquiring a first message from messages of a first data stream, wherein the first message is a message of which the preset position of the load comprises preset characteristic information; calculating preset parameters according to the first message; and when the preset parameter does not meet the preset condition, switching the network channel carrying the first data flow into a second network channel. The method and the device can reduce the problem of blocking of service operation in the application, and further improve the experience of a user.

Description

Channel switching method, electronic device and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a channel switching method, an electronic device, and a storage medium.
Background
With the rapid development of electronic technology and internet technology, mobile devices such as mobile phones and the like are increasingly applied in daily life of people, for example, mobile payment and games can be performed through the mobile phones. In order to ensure normal operation of common services (e.g., games, conversations, social software, etc.), a user's mobile phone is typically connected to a wireless network. However, in some scenarios, the current wireless network is not enough to meet the service requirement (e.g., the signal of the mobile phone is degraded), which may cause the service to be stuck, thereby possibly reducing the user experience.
Disclosure of Invention
The application provides a channel switching method, an electronic device and a storage medium, which can reduce the problem of blocking of service operation and improve user experience.
In a first aspect, an embodiment of the present application provides a channel switching method, which is applied to an electronic device, where the electronic device includes a first network channel and a second network channel, and the method includes: starting a first application, wherein the first application comprises a first data flow, and the first data flow is borne on a first network channel; the first data stream comprises a plurality of messages; acquiring a first message from messages of a first data stream, wherein the first message is a message of which the preset position of the load comprises preset characteristic information; calculating preset parameters according to the first message; and when the preset parameter does not meet the preset condition, switching the network channel carrying the first data flow into a second network channel. According to the method, the first message is obtained from the messages of the first data flow, whether the network quality of the first message is good or bad is judged according to whether the preset parameter of the first message meets the preset condition, namely whether the network quality of the first data flow is good or bad is judged, and when the preset parameter does not meet the preset condition, namely when the network quality is poor, the network channel bearing the first data flow is switched to the second network channel, so that the problem of blocking of service operation caused by the fact that the network quality of the first data flow is poor is solved, and user experience is improved.
In a possible implementation manner, the first application further includes a second data stream, and the second data stream is carried on the first network channel; obtaining a first packet from packets of a first data stream, including: acquiring a message of a first application from a first network channel; acquiring a message of a first data stream from a message of a first application; and acquiring a first message from messages of the first data stream.
In a possible implementation manner, the first network channel further carries a data stream of a second application, and the obtaining of the packet of the first application from the first network channel includes: acquiring a message loaded on a first network channel; the method comprises the steps of obtaining a message comprising a first identifier from a message carried on a first network channel, wherein the first identifier is an identifier of a first application.
In a possible implementation manner, the first application further includes a second data stream, and the second data stream is carried on the first network channel; the method further comprises the following steps: and when the preset parameter does not meet the preset condition, switching the network channel carrying the second data stream into a second network channel. In the method, the second data stream is switched to the second network channel together, so that the problem of blocking of service operation caused by the deterioration of the network quality of the second data stream is reduced, and the user experience is improved.
In one possible implementation, the first data stream and the second data stream are delay-sensitive data streams.
In a possible implementation manner, before switching the network channel carrying the first data flow and the second data flow to the second network channel, the method further includes: when the environment change is detected, network channels in an available state except the first network channel are obtained; respectively carrying out quality evaluation on the network channels in the available state; selecting a second network channel with the best quality as a standby network channel according to the evaluation result of the quality evaluation; the standby network channel is enabled.
In one possible implementation, switching a network channel carrying a first data flow and a second data flow to a second network channel includes: and when determining that the second network channel which is used as the standby network channel is enabled, switching the network channel carrying the first data flow and the second data flow into the second network channel.
In one possible implementation, switching a network channel carrying a first data flow and a second data flow to a second network channel includes: when determining that the network channel does not have the enabled standby network channel, acquiring the network channels which are in the available state except the first network channel; respectively carrying out quality evaluation on the network channels in the available state; selecting a second network channel with the best quality as a standby network channel according to the evaluation result of the quality evaluation; enabling a second network channel as a standby network channel; and switching the network channel carrying the first data stream and the second data stream to a second network channel.
In a possible implementation manner, before obtaining the packet of the first application carried on the first network channel, the method further includes: determining that the first application is an application in a preset white list.
In a possible implementation manner, the first message is a heartbeat flow message, and the preset parameter is a round-trip delay.
In one possible implementation, the first network channel is a WIFI channel or a cellular channel, and the second network channel is a WIFI channel or a cellular channel.
In one possible implementation, the first application is a game application, the first data stream is a voice stream, and the second data stream is a battle stream; alternatively, the first application is a video playback application, the first data stream is a voice stream, and the second data stream is a video stream.
In a second aspect, an embodiment of the present application provides an electronic device, including:
a processor; a memory; the memory is configured to store a computer program code, where the computer program code includes an instruction, the electronic device has a plurality of network channels, the electronic device runs a first application, and the first application is carried in the first network channel, and when the electronic device reads the instruction from the memory, the electronic device is enabled to execute the method according to any of the first aspect.
In a third aspect, embodiments of the present application provide a computer-readable storage medium, in which a computer program is stored, which, when run on a computer, causes the computer to perform the method of any one of the first aspect.
In a fourth aspect, the present application provides a computer program, which when executed by a computer, is configured to perform the method of any one of the first aspect.
In a possible design, the program in the fourth aspect may be stored in whole or in part on a storage medium packaged with the processor, or in part or in whole on a memory not packaged with the processor.
Drawings
Fig. 1a is a schematic diagram of a round-trip delay calculation method for a heartbeat flow packet;
FIG. 1b is a schematic diagram of a heartbeat flow message with an interval of 5 s;
fig. 1c is a schematic diagram of a heartbeat flow packet with an interval of 1s according to an embodiment of the present application;
fig. 2a is a schematic diagram of a flow switching according to an embodiment of the present application;
FIG. 2b is a schematic diagram of a flow switching according to an embodiment of the present application;
fig. 3a is a schematic view of a desktop display of a mobile phone according to an embodiment of the present application;
FIG. 3b is a schematic diagram of an application interface provided by an embodiment of the present application;
fig. 3c is a schematic view of an application interface of a mobile phone using a main network channel according to an embodiment of the present application;
fig. 3d is a schematic view of an application interface of a mobile phone using a standby network channel according to an embodiment of the present application;
fig. 4 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram of a software architecture of an electronic device according to an embodiment of the present application;
fig. 6 is a schematic diagram of another software architecture of an electronic device according to an embodiment of the present application;
fig. 7 is a schematic flowchart of an embodiment of a channel switching method provided in the present application;
fig. 8 is a schematic diagram of a heartbeat flow message structure provided in the embodiment of the present application;
fig. 9 is a schematic diagram illustrating statistics of a battle flow message according to an embodiment of the present application;
fig. 10 is a schematic view of a battle flow message structure provided in the embodiment of the present application;
11a-11c are schematic diagrams of flow switching provided by embodiments of the present application;
FIG. 12 is a timing diagram illustrating an interaction between components of an electronic device according to an embodiment of the present application;
FIG. 13 is a timing diagram illustrating another interaction between components of an electronic device according to an embodiment of the present application;
FIG. 14 is a timing diagram illustrating another interaction between components of an electronic device according to an embodiment of the present application;
fig. 15 is a schematic diagram illustrating an implementation principle of a traffic reporting component according to an embodiment of the present application;
FIG. 16 is a diagram illustrating a code implementation of a registration hook function according to an embodiment of the present application;
FIG. 17 is a diagram illustrating a code implementation of a registration hook function according to an embodiment of the present application;
FIG. 18 is a code implementation diagram of a matching feature according to an embodiment of the present application;
fig. 19 is a schematic diagram of a code implementation of message filtering according to an embodiment of the present application;
fig. 20 is a code implementation diagram of sending a target flow and a network quality evaluation result of the target flow according to an embodiment of the present application;
fig. 21 is a schematic code implementation diagram for acquiring a stream to be switched according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. In the description of the embodiments herein, "/" means "or" unless otherwise specified, for example, a/B may mean a or B; "and/or" herein is merely an association describing an associated object, and means that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone.
In the following, the terms "first", "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of the present application, "a plurality" means two or more unless otherwise specified.
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting.
The WIFI Network card is a device that supports internet access by a Wireless Local Area Network (WLAN) method.
The Data service network card is a device supporting internet Access through Mobile Communication technologies such as General Packet Radio Service (GPRS), Enhanced Data Rate for GSM Evolution (EDGE), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), High Speed Downlink Packet Access (HSDPA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), and fifth Generation Mobile Communication Technology (5th Generation Mobile Communication Technology, 5G).
A network path refers to any route between two or more nodes in a network, or a route from a source address to a destination address in a network.
In the embodiment of the present application, the network channel of the electronic device refers to a route established between a device accessing the internet by using the WIFI network card or the data service network card and other electronic devices, for example, a server. In the embodiment of the present application, a network channel established by using the WIFI network card is referred to as a WIFI channel, and a network channel established by using the data service network card is referred to as a cellular channel.
A plurality of network channels may be preconfigured in the electronic device, and may include, for example, a main WIFI channel, an auxiliary WIFI channel, a main cellular channel, and an auxiliary cellular channel, where the main WIFI channel and the auxiliary WIFI channel may operate in a 2.4GHz band or a 5GHz band, and for example, if the main WIFI channel operates in the 2.4GHz band, the auxiliary WIFI channel operates in the 5GHz band; if the main WIFI channel works in the 5GHz frequency band, the auxiliary WIFI channel works in the 2.4GHz frequency band. Further, the primary and secondary cellular pathways may correspond to an operator network, e.g., the primary cellular pathway may use sim card 1 (with sim card 1 being owned by operator a) and the secondary cellular pathway may use sim card 2 (with sim card 2 being owned by operator B). In a general case, the priority of the main WIFI channel is higher than that of the other three channels, and therefore, the main network channel is generally the main WIFI channel. In a typical case, the WIFI channel has a higher priority than the cellular channel in consideration of data traffic consumption of the electronic device. It is to be understood that the preset channels are only exemplary and are not meant to limit the embodiments of the present application, and in some embodiments, more or fewer channels may be included. In addition, taking the main WIFI channel as the main network channel is also only a preferred scheme, and does not constitute a limitation to the embodiments of the present application, and in some embodiments, other network channels may also be selected as the main network channel.
With the rapid development of electronic technology and internet technology, mobile devices such as mobile phones and the like are increasingly applied in daily life of people, for example, mobile payment and games can be performed through the mobile phones. In order to ensure normal operation of common services (e.g., games, conversations, social software, etc.), a user's mobile phone is typically connected to a wireless network. However, in some scenarios, the current wireless network is not enough to meet the service requirement (e.g., the signal of the mobile phone is degraded), which may cause the service to be stuck, thereby possibly reducing the user experience.
In order to solve the above problem, the electronic device may open an acceleration channel to meet the service requirement. The acceleration channel may be a standby network channel. In one example provided by the present application, when the network channel quality of a certain flow of a currently running application deteriorates, the electronic device may switch the flow or a plurality of flows including the flow to a standby network channel.
However, how to quickly evaluate the quality of the network channel of a certain flow, so as to quickly identify that the quality of the network channel of the flow is poor, and further quickly switch the network channel, and reduce the delay of service operation is a problem to be solved.
Therefore, an embodiment of the present application provides a channel switching method, where when an electronic device needs to evaluate the quality of a network channel of a certain flow, a heartbeat flow packet of the flow may be identified from the flow, and then, the electronic device may calculate a round-trip delay of the heartbeat flow packet according to the identified heartbeat flow packet, evaluate the quality of the network channel according to the round-trip delay, and switch the flow to a standby network channel when the quality of the network channel is poor, so that the network channel switching may be completed relatively more quickly, the occurrence of a stuck problem of service operation in an application is reduced, and user experience is improved.
A heartbeat flow message is a message that appears at certain time intervals in a certain flow.
Round-Trip Time (RTT) is an important performance indicator of a network, and indicates the total Time delay experienced from the Time when a sender sends data to the Time when the sender receives an acknowledgement from a receiver (the receiver immediately sends an acknowledgement after receiving the data).
Referring to fig. 1a, a schematic diagram of a method for calculating a round-trip delay of a heartbeat flow packet is shown. Taking the heartbeat flow message transmitted between the user mobile phone and the server as an example, the round-trip delay of the heartbeat flow message is as follows: the user mobile phone starts to send the heartbeat request message to the server, and the total time delay is experienced until the user mobile phone receives the heartbeat response message fed back by the server.
In one embodiment provided by the present application, the quadruple of the heartbeat flow packet of one flow is different from the quadruple of the non-heartbeat flow packet of the flow, so that for the flow, the heartbeat flow packet and the non-heartbeat flow packet can be distinguished through the quadruple of the packet. The quadruple may include: source port, destination port, source IP, destination IP.
For example, the quadruple of the heartbeat flow message may be: src ═ 100.100.3.90& & udp. src ═ 54277& & ip. dst ═ 180.163.25.34& & udp. dstport ═ 5010. The source ip is represented by ip.src, the source port number is represented by udp.srcport, the destination ip is represented by ip.dst, the destination port number is represented by udp.dstport, and the quadruple of the heartbeat flow message is different from the quadruple of other messages in the same flow.
Optionally, the four-tuple may also be replaced by a five-tuple, and the five-tuple of the packet may include: source port, destination port, source IP, destination IP, and protocol number.
In another embodiment provided in this embodiment, another implementation manner of a heartbeat flow packet is provided, specifically, the heartbeat flow packet referred to in this embodiment is a packet that appears at a certain time interval in a certain flow, preset feature information exists in a fixed position of a load of the heartbeat flow packet, and a quadruple (or a quintuple) of the heartbeat flow packet may be the same as or different from a quadruple (or a quintuple) of other packets in the certain flow.
For example, the heartbeat flow packet provided in the embodiment of the present application may have the following characteristics: (ip. src ═ 100.100.3.90& & udp. src ═ 60539& & ip. dst ═ 58.217.244.144& & udp. dstport & & (data [6] &. 64). Wherein ip.src represents a source ip, udp.src represents a source port number, ip.dst represents a destination ip, udp.dstport represents a destination port number, and data [6] represents the 6 th byte of the payload of the packet.
The time interval between the heartbeat messages is not limited in the embodiment of the application. It should be noted that the larger the time interval is, the lower the recognition efficiency of the heartbeat flow packet is, the lower the efficiency of calculating the round-trip delay is, the lower the quality evaluation efficiency of the network channel is, and the lower the efficiency of channel switching is, whereas the smaller the time interval is, the higher the recognition efficiency of the heartbeat flow packet is, the higher the efficiency of calculating the round-trip delay is, the higher the quality evaluation efficiency of the network channel is, and the higher the efficiency of channel switching is. For example, fig. 1b is a schematic diagram of a heartbeat flow message, where the time interval of the heartbeat flow message is 5s, and fig. 1c is a schematic diagram of another heartbeat flow message, where the interval of the heartbeat flow message is 1 s. The heartbeat flow message shown in fig. 1c has a smaller time interval than the heartbeat flow message shown in fig. 1b, the higher the identification efficiency of the heartbeat flow message is, the higher the efficiency of calculating the round-trip delay is, the higher the quality evaluation efficiency of the network channel is, the higher the channel switching efficiency is, the lower the possibility of occurrence of a stuck problem of service operation in application is, and the better the user experience is.
In an example provided by the embodiment of the present application, the network quality of each flow of a currently running application is monitored, and when the network quality of a certain flow becomes poor, the flow is switched to a standby network channel for transmission, so as to improve the network quality of the flow. For example, as shown in fig. 2a, taking the first device as a mobile phone as an example, an application of the mobile phone includes stream a and stream B, where stream a and stream B are both initially transmitted on a WiFI channel, and a stream of the application is not transmitted on a cellular channel, and when the network quality of stream B deteriorates, the mobile phone switches stream B to the cellular channel for transmission; after the handoff, stream a is transmitted over the WiFI channel and stream B is transmitted over the cellular channel. In this example, when the quality of the network channel is evaluated for the above-mentioned flow, the channel switching method according to the embodiment of the present application may be used, so as to quickly evaluate whether the quality of the network channel of the flow is poor, thereby quickly implementing the network channel switching.
In another example provided by the embodiment of the present application, when there is more than one flow in an application, if the network quality of one flow is degraded, multiple flows including the flow on the same network channel may be switched to a standby network channel, so that the quality evaluation result of a single flow may be applied to multiple flows including the single flow together, thereby implementing network channel switching of multiple flows, further reducing the possibility of traffic jam of the application, and improving user experience. Fig. 2b is a schematic diagram of channel switching for a currently applied flow in the embodiment of the present application. Taking the delay-sensitive flows to which the flow a and the flow B are applied as an example in fig. 2B, the flow a and the flow B are initially transmitted on a WIFI channel, and if the quality degradation of the flow B is detected (for example, the network delay state of the flow B is calculated to be degraded), the flow a and the flow B on the same WIFI channel are switched to a cellular channel together, so that the network quality evaluation result of the flow B is applied to the flow a and the flow B on the same network channel together. In this example, when performing network channel quality evaluation on a certain flow, the channel switching method according to the embodiment of the present application may also be used, so as to quickly evaluate whether the network channel quality of the flow is poor, and thus quickly complete network channel switching.
An application usually includes multiple streams, and some streams are difficult to monitor whether the network quality of the streams is degraded or not due to different transmission characteristics of different streams, so even if the electronic device monitors the network quality of all the streams of the application in real time, it may not be possible to monitor all the streams with degraded network quality in time. According to the embodiment of the application, when the network quality of a single flow is deteriorated, a plurality of flows including the flow on the same network channel are switched to the standby network channel, the plurality of flows can include the flow which cannot monitor the deterioration of the network quality in time, and therefore the problem of blocking of service operation caused by the flow which cannot monitor the deterioration of the network quality in time is solved. Still taking the above fig. 2B as an example, the stream a and the stream B are transmitted on the WIFI channel, if the transmission of the WIFI channel has a problem, the network quality of the stream a and the stream B becomes poor, and further the operation of the application service is stuck, but the mobile phone only monitors the network quality of the stream B in time and does not monitor the network quality of the stream a in time, and by switching the stream a and the stream B to the standby network channel (for example, the cellular channel) together, the problem of stuck service operation caused by the poor network quality of the stream B is solved, and the problem of stuck service operation caused by the poor network quality of the stream a is also solved, so that the stuck service operation problem can be reduced, and the user experience is improved.
Hereinafter, a channel switching method according to the present application is exemplarily described by taking another example as an example.
An example of a suitable scenario is illustrated by fig. 3a to 3 d.
Take the first device as a mobile phone for example. Fig. 3a is a schematic view of a desktop of a mobile phone. As shown in fig. 3a, the user may click on the video application icon on the desktop of the mobile phone to open a video application, so as to obtain the video display diagram shown in fig. 3 b.
Fig. 3c is a schematic diagram illustrating an effect of the mobile phone after using the main network channel (e.g., WIFI channel). As shown in fig. 3c, after the mobile phone acquires the path of the main network channel, the mobile phone can use the main network channel to watch the video.
It will be appreciated that current network applications (e.g., the video application in fig. 3 c) may include multiple streams (e.g., video and audio streams) that may be carried over the primary network channel described above.
Referring to fig. 2b, if one (e.g., video) of the plurality of streams (e.g., video and audio streams) is degraded, the plurality of streams are switched together to the standby network channel.
Fig. 3d is a diagram illustrating a handset using an alternate network channel (e.g., a cellular channel). As shown in fig. 3d, when the mobile phone receives the channel switching instruction, the mobile phone may switch the voice stream and the video stream from the current main network channel to the standby network channel, and may use the standby network channel to watch the video, so as to avoid video jamming.
The channel switching method provided by the application can be applied to the first equipment. The first device may be a mobile terminal, a terminal device, a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a User terminal, a wireless communication device, a User agent, or a User Equipment. The first device may be a Station (ST) in a WLAN, which may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA) device, a handheld device with Wireless communication capability, a computing device or other processing device connected to a Wireless modem, a vehicle mounted device, a vehicle networking terminal, a computer, a laptop, a handheld communication device, a handheld computing device, a satellite Wireless device, a Wireless modem card, a television Set Top Box (STB), a Customer Premises Equipment (CPE), and/or other devices for communicating over a Wireless system and a next generation communication system, e.g., a Mobile terminal in a 5G Network or a future evolved Public Land Mobile Network (Public Land Mobile Network, PLMN) mobile terminals in the network, etc. The first device 10 may also be a wearable device. Wearable equipment can also be called wearable intelligent equipment, is the general term of applying wearable technique to carry out intelligent design, develop the equipment that can dress to daily wearing, like glasses, gloves, wrist-watch, dress and shoes etc.. A wearable device is a portable device that is worn directly on the body or integrated into the clothing or accessories of the user. The wearable device is not only a hardware device, but also realizes powerful functions through software support, data interaction and cloud interaction. The generalized wearable intelligent device has the advantages that the generalized wearable intelligent device is complete in function and large in size, can realize complete or partial functions without depending on a smart phone, such as a smart watch or smart glasses, and only is concentrated on a certain application function, and needs to be matched with other devices such as the smart phone for use, such as various smart bracelets for monitoring physical signs, smart jewelry and the like.
An exemplary electronic device provided in the following embodiments of the present application is first described below. Fig. 4 shows a schematic structural diagram of the electronic device 100, and the electronic device 100 may be the first device.
The electronic device 100 may include a processor 110, an external memory interface 120B, an internal memory 120A, a Universal Serial Bus (USB) interface 130, a charging management module 140A, a power management module 140B, a battery 140C, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, a Subscriber Identification Module (SIM) card interface 195, and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It is to be understood that the illustrated structure of the embodiment of the present application does not specifically limit the electronic device 100. In other embodiments of the present application, electronic device 100 may include more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors. The controller may be, among other things, a neural center and a command center of the electronic device 100. The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution.
A memory may also be provided in processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor 110, thereby increasing the efficiency of the system.
The execution of the screen capture method provided by the embodiment of the present application may be controlled by the processor 110 or completed by calling other components, for example, calling the processing program stored in the internal memory 120A in the embodiment of the present application, so as to implement the screen capture operation of the user and improve the experience of the user.
In some embodiments, processor 110 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface, an integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a Mobile Industry Processor Interface (MIPI), a general-purpose input/output (GPIO) interface, a Subscriber Identity Module (SIM) interface, and/or a Universal Serial Bus (USB) interface, etc.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transmit data between the electronic device 100 and a peripheral device. And the earphone can also be used for connecting an earphone and playing audio through the earphone. The interface may also be used to connect other electronic devices, such as AR devices and the like.
It should be understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is only an illustration, and does not limit the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. The mobile communication module 150 may receive the electromagnetic wave from the antenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the same device as at least some of the modules of the processor 110.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then passes the demodulated low frequency baseband signal to a baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional modules, independent of the processor 110.
The wireless communication module 160 may provide a solution for wireless communication applied to the electronic device 100, including Wireless Local Area Networks (WLANs) (e.g., wireless fidelity (Wi-Fi) networks), bluetooth (bluetooth, BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), and the like. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through the antenna 2 to radiate the electromagnetic waves.
In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150 and antenna 2 is coupled to wireless communication module 160 so that electronic device 100 can communicate with networks and other devices through wireless communication techniques. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
The electronic device 100 implements display functions via the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 194 and an application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 194 is used to display images, video, and the like. The display screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the electronic device 100 may include 1 or N display screens 194, with N being a positive integer greater than 1.
The electronic device 100 may implement a shooting function through the ISP, the camera 193, the video codec, the GPU, the display 194, the application processor, and the like.
The ISP is used to process the data fed back by the camera 193. For example, when a photo is taken, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converting into an image visible to naked eyes. The ISP can also carry out algorithm optimization on the noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image to the photosensitive element. The photosensitive element may be a Charge Coupled Device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The light sensing element converts the optical signal into an electrical signal, which is then passed to the ISP where it is converted into a digital image signal. And the ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into image signal in standard RGB, YUV and other formats. In some embodiments, the electronic device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to perform fourier transform or the like on the frequency bin energy.
Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, and the like.
The NPU is a neural-network (NN) computing processor that processes input information quickly by using a biological neural network structure, for example, by using a transfer mode between neurons of a human brain, and can also learn by itself continuously. Applications such as intelligent recognition of the electronic device 100 can be realized through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, and the like.
The external memory interface 120B may be used to connect an external memory card, such as a Micro SD card, to extend the memory capability of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120B to implement a data storage function. For example, files such as music, video, etc. are saved in an external memory card.
The internal memory 120A may be used to store computer-executable program code, which includes instructions. The internal memory 120A may include a program storage area and a data storage area. The storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required by at least one function, and the like. The storage data area may store data (such as audio data, phone book, etc.) created during use of the electronic device 100, and the like. In addition, the internal memory 120A may include a high-speed random access memory, and may further include a nonvolatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (UFS), and the like. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 120A and/or instructions stored in a memory provided in the processor.
The electronic device 100 may implement audio functions via the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor. Such as music playing, recording, etc.
The touch sensor 180K is also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation applied thereto or nearby. The touch sensor can communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided through the display screen 194. In other embodiments, the touch sensor 180K may be disposed on a surface of the electronic device 100, different from the position of the display screen 194.
In this embodiment of the application, the touch sensor 180K may acquire touch screen data of a user, and may send the touch screen data to the processor 110 for processing.
The keys 190 include a power-on key, a volume key, and the like. The keys 190 may be mechanical keys. Or may be touch keys. The electronic apparatus 100 may receive a key input, and generate a key signal input related to user setting and function control of the electronic apparatus 100.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration cues, as well as for touch vibration feedback. For example, touch operations applied to different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects. The motor 191 may also respond to different vibration feedback effects for touch operations applied to different areas of the display screen 194. Different application scenes (such as time reminding, receiving information, alarm clock, game and the like) can also correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization.
Indicator 192 may be an indicator light that may be used to indicate a state of charge, a change in charge, or a message, missed call, notification, etc.
The SIM card interface 195 is used to connect a SIM card. The SIM card can be brought into and out of contact with the electronic apparatus 100 by being inserted into the SIM card interface 195 or being pulled out of the SIM card interface 195. The electronic device 100 may support 1 or N SIM card interfaces, N being a positive integer greater than 1. The SIM card interface 195 may support a Nano SIM card, a Micro SIM card, a SIM card, etc. The same SIM card interface 195 can be inserted with multiple cards at the same time. The types of the plurality of cards may be the same or different. The SIM card interface 195 may also be compatible with different types of SIM cards. The SIM card interface 195 may also be compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as communication and data communication. In some embodiments, the electronic device 100 employs esims, namely: an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
Next, a system block diagram of the first device will be described. As shown in fig. 5, the first device 10 includes an application layer 11, a service layer 12, a policy layer 13, and a kernel layer 14. Wherein the content of the first and second substances,
the application layer 11 may be used to provide a variety of network applications, which may be third-party applications or system applications, such as network applications for games, music, video, and the like. The application layer 11 is not particularly limited in the type of the network application provided by the application layer. A network application here refers to an application that needs to use a network channel of the first device 10 to obtain resources from the network.
The service layer 12 may include an environment probing component 121, a network probing component 122, a channel-level path management component 123, an application-level policy management component 124, and a channel and application quality assessment component 125. The environment detection component 121 may be configured to detect an application state, for example, the application state may include states of application exit, application open, application running, application installation, and application uninstallation, and it is understood that the above states are merely exemplary descriptions, and may also include more states, which are not described herein again. The network probing component 122 can be configured to probe an open state of a network channel. The channel-level path management component 123 may be responsible for requesting/closing a network channel, sensing a state change of the network channel, updating a selection policy of the network channel, and may also be used for storing paths of multiple network channels. The application-level policy management component 124 may generate different enforcement policies based on the input information, such as enabling acceleration functionality of the network channel, initiating traffic awareness (e.g., probing traffic of the network channel), and the like. The channel and application quality assessment component 125 can be used to assess the quality of a network channel. The service layer 12 may also include: the network connection management component 126 is configured to enable the network channel, i.e., convert the network channel from a sleep state to an awake state, in which the network channel can be directly used.
Policy layer 13 may include a flow level path management component 131, a flow level policy management component 132, and a traffic awareness component 133. The flow level path management component 131 may be configured to update selection of a network channel according to a policy change of an upper layer, trigger quality detection of the network channel, and dynamically select an optimal channel, and may also be configured to store paths of different network channels, for example, paths of a network channel currently used by an application (e.g., a main network channel) and a standby network channel may be stored. The flow level policy management component 132 may be used to instruct the switching of network channels and may also be used to store network channel switching policies for flows in the network application. The traffic sensing component 133 may be configured to count the reported traffic and evaluate the network quality of each flow.
The kernel layer 14 may include a traffic reporting component 141 and a policy enforcement component 142. The traffic reporting component 141 may be configured to collect and report traffic information. Policy enforcement component 142 may be used to perform a handover of a network channel.
It should be understood that the interface connection relationship between the components illustrated in the embodiments of the present application is only an exemplary illustration, and does not constitute a limitation on the structure of the first device. In other embodiments of the present application, the first device may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The system framework shown in fig. 5 above is only used to illustrate the implementation of the layered architecture of the first device. The system architecture shown in fig. 5 may also be implemented as part of an existing layered software architecture. Taking an Android (Android) system as an example, fig. 6 is a block diagram of a software structure of an electronic device of the Android system provided in the embodiment of the present application. The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In the embodiment of the present application shown in fig. 6, the Android system is divided into five layers, which are, from top to bottom, an application layer, an application framework layer (also referred to as a system framework layer), a system library, an Android runtime layer, a Hardware Abstraction Layer (HAL), and a kernel layer.
The application layer includes several applications (hereinafter simply referred to as applications), such as a camera, gallery, calendar, WLAN, etc. In one possible example, the application layer in the system architecture shown in fig. 5 may correspond to the application layer. The application layer of the electronic device shown in fig. 6 may include the network application described in the embodiments of the present application, such as a video playing application, a game application, and the like.
The Application framework layer provides an Application Programming Interface (API) and a Programming framework for applications of the Application layer, including various components and services to support android development by developers. The application framework layer also includes a number of predefined functions. For example, the application framework layer may include a window manager, content provider, resource manager, camera service, and the like. In one possible example, the service layer and policy layer in the system architecture shown in FIG. 5 may be located at the application framework layer.
The system library and Android Runtime layer comprises a system library and an Android Runtime (Android Runtime). The system library may include a plurality of functional modules. For example: surface managers, two-dimensional graphics engines, three-dimensional graphics processing libraries (e.g., OpenGL ES), media libraries, font libraries, and the like.
The HAL layer is an interface layer between the operating system kernel and the hardware circuitry. HAL layers include, but are not limited to: an Audio hardware abstraction layer (Audio HAL) and a Camera hardware abstraction layer (Camera HAL).
The kernel layer is a layer between hardware and software. The inner core layer may include: display drive, camera drive, audio drive, sensor drive, and the like. In one possible example, the kernel layer in the system architecture shown in fig. 5 may correspond to the kernel layer in the software architecture shown in fig. 6, and in this case, as shown in fig. 6, the kernel layer may include: a flow reporting component and a strategy executing component.
The following describes an exemplary channel switching method according to an embodiment of the present application with reference to the first device shown in fig. 4 to 6. In the following embodiments, the channel switching scenario shown in fig. 2b is taken as an example for explanation.
Fig. 7 is a schematic flowchart of an embodiment of a channel switching method provided in the embodiment of the present application, including:
step 301, responding to the operation of the user, starting the network application.
Specifically, the user may perform an opening operation in the electronic device 100 to open a web application. Illustratively, the user may click on an icon of the web application in the electronic device 100. In response to the operation of the user, the application layer 11 in the electronic apparatus 100 starts a web application. It is to be understood that the above example only illustrates a scenario in which the web application is started by clicking, and does not constitute a limitation to the embodiment of the present application, and in some embodiments, the web application may also be started by other operations (e.g., double-clicking, sliding, and the like). The network application can be network-type applications such as online games, online videos, online music and the like.
Fig. 3a is a schematic view of a desktop of a mobile phone. As shown in fig. 3a, the user may click on the video application icon on the desktop of the mobile phone to open a video application, so as to obtain the video display diagram shown in fig. 3 b.
In step 302, the environment detection component 121 detects that the network application is switched to the foreground or the network changes, and notifies the application level policy management component 124.
Specifically, the environment detection component 121 in the service layer 12 in the electronic device 100 may continuously detect the state of the network application or the environment of the network, and when the environment detection component 121 detects that any network application is switched to the foreground or the environment of the network changes, a first notification message may be sent to the application-level policy management component 124, where the first notification message may be used to notify the application-level policy management component 124 that the environment of the network application is switched to the foreground or the environment of the network changes. It is to be understood that the first notification message may further include an identity of the web application (for example, the identity of the web application may be the UID), and the identity may be used to identify a unique identity of the web application.
For example, the identity of the network application may be implemented by the following codes:
Figure BDA0003282749110000131
in step 303, the application-level policy management component 124 receives the first notification message sent by the environment detection component 121, and determines whether the current network application meets the condition of starting acceleration.
Specifically, after the application-level policy management component 124 receives the first notification message sent by the environment detection component 121, it may be determined from the first notification message that the network application has switched to the foreground. The application-level policy management component 124 may then further determine whether the network application is included in a preset application white list.
In a specific implementation, an application white list may be preset in the application-level policy management component 124, where the application white list may include a plurality of network applications, each network application may be identified by the above-mentioned identity, and the application white list may be used to characterize a network application that may start acceleration. The network application in the preset application white list may include a service type, for example, the service types of the network applications in the preset application white list may all be sensitive types, and the sensitive type service may include a delay sensitive type service, a packet loss rate sensitive type service, and the like. When the identity of the network application in the first notification message is compared with the identity of the network application in the preset application white list, it can be determined whether the network application in the first notification message is included in the preset application white list. If the web application in the first notification message is included in the preset application white list, it may be determined that the web application satisfies the condition for starting acceleration, and if the web application in the first notification message is not included in the preset application white list, it may be determined that the web application does not satisfy the condition for starting acceleration.
Illustratively, table 1 is a white list of web applications.
Application name Characteristic stream type Channel quality parameter
Baidu net disk Down-loading current Rate of speed
WeChat Video streaming Delay/packet loss
Game machine Fighting stream Delay/packet loss
TABLE 1
It can be understood that, if the current network application is not in the preset application white list, that is, the service type of the current network application is an insensitive service, the electronic device 100 may further detect other network channels with better quality when detecting that the main network channel is poor, so that the insensitive service may be directly switched to the network channel with better quality.
At step 304, the application-level policy management component 124 sends a channel enable message to the flow-level path management component 131 for enabling a network channel.
Specifically, if the application-level policy management component 124 determines that the current network application satisfies the condition for turning on acceleration, a channel enabling message may be sent to the flow-level path management component 131, where the channel enabling message is used to indicate that the flow-level path management component 131 may enable a network channel (e.g., a main network channel).
In step 305, the stream level path management component 131 requests the path of the primary network channel from the channel level path management component 123.
Specifically, after receiving the channel enabling message sent by the application-level policy management component 124, the stream-level path management component 131 may send a main network channel request to the channel-level path management component 123, where the main network channel request is used to request a path of the main network channel. Illustratively, the primary network channel may be a primary WIFI channel.
In step 306, the channel-level path management component 123 sends the path of the main network channel to the stream-level path management component 131.
Specifically, the channel-level path management component 123 may pre-configure paths of a plurality of network channels, which may include, for example, a main WIFI channel, an auxiliary WIFI channel, a main cellular channel, and an auxiliary cellular channel.
After the channel-level path management component 123 receives the main network channel request sent by the stream-level path management component 131, one network channel may be selected from the multiple network channels as the main network channel (for example, the main network channel is a main WIFI channel), and a path of the main network channel is sent to the stream-level path management component 131.
In step 307, the flow level path management component 131 stores the received path of the main network channel.
Specifically, when the stream-level path management component 131 receives the path of the main network channel sent by the channel-level path management component 123, the path of the main network channel may be stored. Illustratively, the path of the primary network channel may be characterized by WIFI 1.
Fig. 3c is a schematic diagram of the effect of the mobile phone after using the main network channel. As shown in fig. 3c, after the mobile phone acquires the path of the main network channel, the mobile phone can use the main network channel to watch the video.
It will be appreciated that current network applications (e.g., the video application in fig. 3 c) may include multiple streams (e.g., video and audio streams) that may be carried over the primary network channel described above.
At step 308, the application-level policy management component 124 sends a traffic probing request to the traffic awareness component 133.
In particular, the traffic probe request may be used to instruct the traffic awareness component 133 to start message statistics of the network application on the main network channel. The traffic probe request may include an identity (e.g., UID) of a network application to be currently probed, and is used to request to probe a flow of the network application on the primary network channel, where the flow corresponds to the identity UID. It will be appreciated that the flow of the network application described above may be in the form of a message.
It should be noted that, this step 308 may be executed simultaneously with the step 304, or may be executed at any time after the step 304, and this application is not limited to this.
In step 309, the traffic sensing component 133 sends a traffic reporting request to the traffic reporting component 141.
Specifically, after receiving the traffic detection request sent by the application-level policy management component 124, the traffic sensing component 133 may send a traffic reporting request to the traffic reporting component 141, where the traffic reporting request may be used to instruct the traffic reporting component 141 to detect a packet of a network application on the current main network channel, and report the detected packet. It will be appreciated that the traffic probe request may contain an identification (e.g., UID) of the web application.
In step 310, the traffic reporting component 141 performs traffic detection and reports the detected packet to the traffic sensing component 133.
Specifically, after receiving the traffic reporting request sent by the traffic sensing component 133, the traffic reporting component 141 may detect the message of the network application corresponding to the identifier of the network application according to the identifier (e.g., UID) of the network application in the traffic reporting request, so as to obtain the message of the network application in the main network channel, and report the detected message of the network application to the traffic sensing component 133.
In a specific implementation, the traffic reporting component 141 may call a component (e.g., a Netfilter component of an android system) to obtain a message of the network application on the main network channel. It is to be understood that the Netfilter component is merely an exemplary illustration and does not constitute a limitation to the embodiments of the present application, and in some embodiments, the detection of the message may also be completed through other components.
Illustratively, the parameters of the network channel may be implemented by the following codes:
Figure BDA0003282749110000151
Figure BDA0003282749110000161
it is understood that the detected messages may be messages of one or more feature flows in the current network application, where the feature flow may be the most sensitive flow in the network application, that is, the flow having a larger influence on the current network application. In addition, the quality of the network channel can be evaluated through the parameters of the network channel.
It should be noted that, if the message to be detected by the flow reporting component 141 is a heartbeat flow message in a certain flow, the message of the network application corresponding to the identifier of the network application may be detected according to the identifier (e.g., UID) of the network application in the flow reporting request, so as to obtain a message of the network application on the main network channel, and then the message of the network application may be matched according to the matching characteristics of the heartbeat flow message, so as to obtain a heartbeat flow message and report the heartbeat flow message to the flow sensing component 133.
In step 311, the traffic sensing component 133 receives the message reported by the traffic reporting component 141, analyzes the message to obtain a message analysis result, and sends the message analysis result to the stream level policy management component 132.
Specifically, the message may be a message of each flow of the network application on the main network channel. After receiving the network application message detected by the traffic reporting component 141, the traffic sensing component 133 may analyze the message, so as to obtain a message analysis result. The message analysis may be based on features of the message, so as to identify a plurality of feature flows. The feature stream may be the most sensitive stream in a network application. For example, in the case of a peace and elite game, the feature stream of the game may be a voice stream, that is, the voice stream has a relatively large influence on the game, and has the highest sensitivity, and when the voice stream quality is not good (for example, neither the delay nor the packet loss rate is satisfactory), the game experience of the user is seriously affected. Therefore, it is necessary to identify the voice stream and further count the voice stream packets in the packet. In a specific implementation, the packet analysis may be to count a packet loss rate and/or a time delay of the packet of the network application, so as to determine whether the quality of the feature stream is good or bad, and further determine whether the feature stream is switched. Illustratively, the packet loss rate and/or the time delay of the packet within a preset time period may be counted, if the counted packet loss rate and/or the counted time delay meet a preset requirement, channel switching may not be used, and if the counted packet loss rate and/or the counted time delay do not meet the preset requirement, channel switching may be performed on the feature stream.
In addition, the recognition of the voice stream message can be realized by heartbeat stream message statistics. Illustratively, taking a User Datagram Protocol (UDP) Protocol as an example, the heartbeat stream packet characteristics of the voice stream can be characterized by the following characteristics:
ascending: payload [6] ═ 0x 64;
descending: payload [6] ═ 0x 65.
Fig. 8 is a schematic diagram of a heartbeat flow message of a voice stream of the UDP protocol.
That is, reading the preset field in the payload in the uplink and downlink packet can identify whether the packet is a voice stream packet.
Next, if the feature stream includes a plurality of streams (e.g., a voice stream, a video stream, etc.), statistics may be performed on the packets of any one of the feature streams (e.g., a voice stream), so as to obtain the delay and/or the packet loss rate of the packets of the voice stream. In specific implementation, the messages of the voice stream with preset duration may be counted. Preferably, the preset time period may be 5s, so that whether the quality of the voice stream is degraded or not can be determined as soon as possible, and the voice stream can be switched to the standby network channel as soon as possible, so as to provide a high game experience. For example, if the delay and/or the packet loss rate of the packet of the voice stream do not meet the requirement, it may be determined that the quality of the voice stream is poor, and at this time, a handover may be triggered to handover the voice stream to a standby network channel.
It should be noted that, if the received message is a heartbeat flow message, the round-trip delay of the heartbeat flow message may be calculated according to the heartbeat flow message, and the round-trip delay of the heartbeat flow message may be used as the round-trip delay of the voice flow, so as to evaluate whether the network quality of the voice flow is degraded or not.
It should be noted that, the above example is only an example of a game, and in a specific application, other network applications may also be included, for example, a hundred-degree network disk, a feature flow of the network application is a download flow, that is, a message of the download flow may be found in the above message, and an influence factor of the message of the download flow may be a rate. In addition, the network application may also include a social network application such as WeChat, and the feature stream of the network application is a video stream, that is, a packet of the video stream may be found in the packet, and an influencing factor of the packet of the video stream may be a delay and/or a packet loss rate.
It will be appreciated that the feature stream may include, in addition to the voice stream, a play stream in a game. Taking peace elite as an example, whether the current message stream is a fighting stream can be judged by periodically counting the number of UDP messages. At present, the period adopted by peace and elite is 500ms, so the total number of messages in the period can be counted to determine whether the message is a fight stream, for example, if the total number of messages in the 500ms period is greater than 10, the message stream is a fight stream. Fig. 9 is a message statistical diagram of the fight flow of the UDP protocol. As shown in fig. 7, the horizontal axis represents time, and the vertical axis represents the total number of messages, and since there are basically 30 messages per second, it can be determined by calculation that there are 15 messages per 500ms, and thus it can be determined that the message flow is a battle flow.
Next, the royal glory is taken as an example, wherein the royal glory filters the fight message by using a filtering UDP protocol number and a message header characteristic payload of 0x 00010000. Fig. 10 is a schematic diagram of heartbeat messages of a challenge stream of the UDP protocol.
In step 312, the flow-level policy management component 132 determines a switch based on the packet analysis result and requests to obtain a path of the standby network channel.
Specifically, after receiving the message analysis result, the flow-level policy management component 132 may determine whether to perform handover. If the flow level policy management component 132 determines a switch, a path for the alternate network path may be requested.
Illustratively, the path requesting the backup network channel may be implemented by:
Figure BDA0003282749110000171
Figure BDA0003282749110000181
in addition, in a specific implementation, a path of the network channel (for example, the path may be characterized by a device number of a network card or a sim card) may be defined in the data structure, and examples of the code are as follows:
Figure BDA0003282749110000182
Figure BDA0003282749110000191
as shown in the above code, the sk _ bound _ dev _ if is the device number of the switched target network card or target sim card. It is understood that the message may be received through the network card or the sim card, and the code for receiving the message may refer to the following examples:
pktinfo.msg.flow_msg.dev_if=sk->sk_bound_dev_if;
wherein pktinfo is a received message, and msg.
In a specific implementation, the above-mentioned way of requesting the path of the standby network channel may be that the flow-level policy management component 132 sends a standby network channel request to the flow-level path management component 131 for requesting the standby network channel. When the flow level path management component 131 receives the backup network channel request, the backup network channel request may be forwarded to the channel level path management component 123. Next, when the channel-level path management component 123 receives the standby network request, it may send a channel status request to the network probing component 122, where the channel status request may be used to request to obtain the enabled status of each optional network channel. It will be appreciated that the enabled state may include available and unavailable. The available state may be used to characterize that the optional network channel is enabled, and the unavailable state may be used to characterize that the optional network channel is disabled. The selectable network channels may include an auxiliary WIFI channel, a main cellular channel, an auxiliary cellular channel, and the like.
When the network probing component 122 receives the channel status request sent by the channel-level path management component 123, it may detect the enabled status of each optional network channel. In a specific implementation, the network probing component 122 may be configured to manage switches of each selectable network channel, where any selectable network channel is in an available state when the selectable network channel is turned on, and the selectable network channel is in an unavailable state when the selectable network channel is turned off. Therefore, when the network probing component 122 detects the enabled status of all the optional network channels requested by the channel-level path management component 123, the enabled status of all the optional network channels may be sent to the channel-level path management component 123.
When the channel-level path management component 123 receives the enabled status of each optional network channel, it may select an available network channel (i.e., the optional network channel in the available status), and may further send a channel evaluation request to the channel and application quality evaluation component 125, where the channel evaluation request may be used to request to evaluate the quality of the available network channel.
When the channel and application quality evaluation component 125 receives the channel evaluation request sent by the channel-level path management component 123, the quality of each available network channel can be evaluated according to the channel evaluation request. Illustratively, the channel quality may include a delay, a packet loss rate, a bandwidth, a rate, and the like of the channel. The above evaluation may be to evaluate Round-Trip Time (RTT) of available network channels, and the network channel with the smallest Round-Trip Time is the best. Optionally, when there is a history selection record for the available network channel, that is, the available network channel is selected as a network channel once, at this time, the RTT and the history record may be combined to evaluate the channel quality, where the history record may include a history receiving rate, a history number of times that the channel quality is poor, and the like, and the evaluation manner of the channel quality is not particularly limited in the embodiment of the present application. When the channel and application quality evaluation component 125 completes the quality evaluation of all available network channels in the channel evaluation request, the evaluation result may be sent to the channel-level path management component 123.
When the channel-level path management component 123 receives the evaluation result, it may select the best available network channel as the standby network channel based on the evaluation result, and may send the path of the standby network channel to the flow-level path management component 131.
When the flow-level path management component 131 receives the path of the standby network channel sent by the channel-level path management component 123, a switching notification may be sent, where the switching notification includes the path of the standby network channel.
Now, the selection of the backup network channel will be described by taking a mobile phone as an example with reference to fig. 11a to 11 c. As shown in fig. 11a, the Mobile phone has the capability of 4 network channels, such as a main WIFI channel (e.g., WIFI1), a secondary WIFI channel (e.g., WIFI2), a main cellular channel (e.g., Mobile1), and a secondary cellular channel (e.g., Mobile 2). Assume that the handset currently runs a web application (e.g., WeChat) on the WIFI1 channel (the main network channel), which includes feature stream A (e.g., video stream), feature stream B (e.g., audio stream), and non-feature stream C. When the handset determines that the quality of the feature stream a is degraded and decides to switch, it may probe a backup network channel, where the backup network channel may be the best channel quality of the secondary WIFI channel (e.g., WIFI2), the primary cellular channel (e.g., Mobile1), and the secondary cellular channel (e.g., Mobile 2). After selecting one of the auxiliary WIFI channel (e.g., WIFI2), the main cellular channel (e.g., Mobile1), and the auxiliary cellular channel (e.g., Mobile2) as a backup network channel (e.g., Mobile1), switching can be performed. Then, both the feature stream a and the feature stream B can be switched to the standby network channel, i.e., Mobile1 channel. As shown in fig. 11B, at this time, the non-feature stream C may be continuously carried on the main network channel, i.e., WIFI channel, and the feature streams a and B may be carried on the standby network channel, i.e., Mobile1 channel.
Optionally, when the Mobile phone finds that the quality of the feature stream a does not meet the requirement through message analysis, at this time, the feature stream a, the feature stream B, and the non-feature stream C may all be switched to a standby network channel, that is, a Mobile1 channel. As shown in FIG. 11C, the feature stream A, the feature stream B and the non-feature stream C are carried on the Mobile1 channel.
In step 313, the flow level path management component 131 sends the path of the backup network tunnel to the flow level policy management component 132.
At step 314, flow level policy management component 132 sends a channel switch indication to policy enforcement component 142.
Specifically, after receiving the path of the standby network channel sent by the flow-level path management component 131, the flow-level policy management component 132 may send a channel switching instruction to the policy execution component 142, where the channel switching instruction may be used to instruct the policy execution component 142 to switch the multiple feature streams from the current main network channel to the standby network channel, so that channel switching may be completed faster, a time delay caused by channel switching may be reduced, and user experience may be improved.
In step 315, the policy enforcement component 142 enforces the channel switch.
Specifically, after the policy executing component 142 receives the channel switching indication sent by the flow level policy managing component 132, the multiple feature flows may be switched from the current main network channel to the standby network channel, that is, other flows of the network application may continue to be carried on the main network channel to run, and the multiple feature flows may be carried on the standby network channel to run, so that switching may be completed quickly, and quality of service and user experience may be ensured.
The channel switching method according to the embodiment of the present application is described in detail below with reference to the system framework diagram of the first device shown in fig. 5 through the timing diagrams of interaction of components in the first device shown in fig. 12 to 14.
Fig. 12 is a timing diagram illustrating interaction among components in a first device according to an embodiment of the present disclosure, where as shown in fig. 12, the method may include:
step 1201: and responding to the operation of the user, and starting the network application.
Step 301 may be referred to for implementation of this step, and details are not described here.
Step 1202: and carrying out streaming transmission between the network application and the server.
The user selects the service in the network application, and the network application transmits the stream required by the service according to the service and the server. Wherein the network application can use a network channel (e.g., a main network channel) to transmit the stream with the server. Taking the network application as a video application, and taking the case that a user selects to play a video, the stream required by the service may include a video stream and an audio stream, and the video stream and the audio stream may be carried on the main network channel.
It should be noted that, in the embodiment of the present application, attention is paid to how to implement switching of the network channel after the network application starts to use the main network channel to interact with the server, and how to start to interact with the server according to the use of the main network channel after the network application is initially started is not limited in the embodiment of the present application.
Step 1203: the context detection component 121 detects that the network application switches to the foreground, informing the application level policy management component 124.
The implementation of this step may refer to the description in step 302, which is not described herein.
Step 1204: the application-level policy management component 124 determines whether the network application satisfies the conditions for turning on acceleration.
The implementation of this step may refer to the description in step 303, which is not described herein.
The implementation of the network application white list is further described.
In the embodiment of the application, for example, the data of the network application is divided into streams according to types, and one type corresponds to one stream of the network application. As shown in table 2 below, in addition to the network application that needs to start acceleration, the network application white list may also record:
the type of target flow to be monitored in each network application; for example, the type field of the target stream in table 2;
the flow model corresponding to each type of target flow, for example, as shown in the flow model field in table 2 below;
a network quality evaluation parameter for evaluating the network quality of the target flow, for example, as indicated by a channel quality parameter field in table 2 below;
evaluating the network quality difference of the target flow and then performing channel switching on the flow applied by the network, wherein the strategy is referred to as a flow switching strategy in the following; such as shown in the stream switching policy field in table 2 below.
Figure BDA0003282749110000211
Figure BDA0003282749110000221
TABLE 2
Alternatively, the target flow may be a flow that can be quickly expressed on some or some network quality evaluation parameters when the quality of the network channel carrying the target flow is degraded, for example, one or more characteristic flows of the network application may be used.
Alternatively, the network quality evaluation parameter of the target flow may be a parameter that can quickly reflect the deterioration of the network quality of the target flow.
The stream that needs to be switched with the target stream is recorded in the stream switching policy, and optionally, the stream recorded in the stream switching policy is generally a stream that has a large impact on service processing in a network application, for example, the feature stream of the network application in the foregoing description, such as a video stream and an audio stream in a video playing application, a game fighting stream in a game application, a voice stream, and the like.
Alternatively, the stream recorded in the stream switching policy and required to switch the network channel together with the target stream may be a stream sensitive to the same network evaluation parameter as the target stream, for example, the target stream is a stream sensitive to delay (hereinafter referred to as delay-sensitive stream), and then the stream in the stream switching policy is a part or all of the delay-sensitive stream including the target stream in the network application; if the target flow is a flow sensitive to packet loss rate (hereinafter referred to as packet loss rate sensitive flow), the flow in the flow switching policy is a part or all of the packet loss rate sensitive flow including the target flow in the network application. Thus, the network quality of the target stream becomes poor, and a type of stream sensitive to the same network evaluation parameter in the network application is switched to the network channel.
Optionally, the flow model corresponding to the target flow type is used to record feature information of a packet that needs to be monitored in the target flow, for example, the feature information may be at least one of the following feature information: the quadruplets, the quintuple, the protocol number, the character string in the payload, etc. of the message.
It should be noted that, in the flow switching policy in the embodiment of the present application, when the quality of a certain flow of a network application is degraded, network channel switching may be performed on multiple flows of the network application including the flow on the same network channel, so as to switch the multiple flows from the current network channel to another network channel with relatively better quality, thereby preventing traffic congestion of the network application. For example, in table 2, if the video stream of the wechat is degraded and the video stream and the voice stream of the wechat are on the same network channel, the network channel switching is performed on both the video stream and the voice stream of the wechat, so that the video stream and the voice stream are switched from the current network channel to a network channel with relatively better quality, and the possibility of the video and voice playing of the wechat causing a stuck problem is reduced.
Step 1205: the application-level policy management component 124 sends an acceleration start message to the flow-level path management component 131.
Specifically, if the application-level policy management component 124 determines that the current network application satisfies the condition for turning on acceleration, acceleration traffic for the network application may be started, and an acceleration start message indicating that the flow-level path management component 131 may start acceleration traffic for the network application is sent to the flow-level path management component 131.
The acceleration service may include, but is not limited to:
when the environment of the electronic equipment or the system environment of the electronic equipment changes, starting a standby network channel to enable the standby network channel to be converted into an awakening state from a dormant state; and/or the presence of a gas in the gas,
the network quality of a plurality of flows in the network application is monitored, when the electronic equipment monitors that the quality of a certain flow of the network application is poor, a plurality of flows of the network application including the flow with poor quality are switched to a standby network channel, so that the plurality of flows of the network application are always borne on the network channel with relatively good quality, the transmission quality of the flows is ensured, the possibility of traffic jam of the network application is reduced, and the user experience is improved. It should be noted that, if the electronic device already activates the standby network channel when deciding to switch the multiple streams to the standby network channel, the multiple streams are switched to the activated standby network channel, and if the electronic device does not activate the standby network channel when deciding to switch the multiple streams to the standby network channel, the electronic device needs to activate one standby network channel first and then switch to the activated standby network channel.
Optionally, the accelerated start message may include information corresponding to the identity of the current web application in the web application white list, which may include, for example: the method comprises the steps of identification of current network application, a target flow type, a flow model corresponding to the target flow type, network quality evaluation parameter information and flow switching strategy information. Reference may be made to the foregoing description, which is not repeated herein.
Optionally, the flow level path management component 131 may store a path of a currently used network channel, where the path is a path of a used network channel of a network application; alternatively, if the path of the currently used network channel is not stored in the flow level path management component 131, that is, the path of the network channel used by the network application is not stored in the flow level path management component 131, the flow level path management component 131 may request the path of the network channel used by the network application from the channel level path management component 123, and the channel level path management component 123 may send the path of the network channel used by the network application to the flow level path management component 131.
Step 1206: the flow level path management component 131 sends the identity of the network application and the flow switching policy information to the flow level policy management component 132, sends a flow detection request to the flow sensing component 133, and the flow sensing component 133 sends a flow reporting request to the flow reporting component.
Optionally, the traffic probe request may include a first configuration file for the network application, and the first configuration file may include: the network application comprises an identity identification of the network application, a target flow type, a flow model corresponding to the target flow type, network quality evaluation parameter information and the like.
Optionally, the traffic reporting request may include a second configuration file for the network application, where the second configuration file may include: the identity of the network application, the target flow type and the flow model corresponding to the target flow type.
It should be noted that this step is performed to initialize various relevant information for the current network application to the flow-level policy management component 132, the traffic awareness component 133 and the traffic reporting component 141, and therefore, in other possible implementations, the flow-level path management component 131 may also directly send the second configuration file for the network application to the traffic reporting component 141, which is not limited herein.
Through the processing of the step, the flow reporting component can be triggered to start monitoring the flow in the network application, and further the subsequent network channel switching process aiming at the flow is triggered.
The electronic device enables the standby network channel and the channel switching process of the flow are described below with reference to fig. 13 and 14, respectively.
Fig. 13 is another timing diagram illustrating interaction among components in the first device according to the embodiment of the present application, and as shown in fig. 13, the method may include:
step 1301: the environment detection component 121 performs environment detection.
Specifically, the environment detected by the environment detection component may include a physical environment in which the first device is located, and may also include a system environment in the first device. For example, the physical environment may include: poor network scenes such as elevators, high-speed rails, garages and the like; the system environment may include: device temperature, etc.
Taking an elevator scenario as an example for explanation, when a user enters an elevator, the elevator rises or falls, which may cause the gravity of the user to change, for example, the elevator rises to cause overweight, and the elevator falls to cause weightlessness. Thus, detection may be performed by an acceleration sensor in the first device, when the acceleration sensor detects that the user is weightless or overweight, i.e. detects an acceleration of the first device in the vertical direction, whereby it may be determined that the user is in the elevator environment.
In addition, since the elevator stops according to the demands of different users (for example, different users may click different floors) during ascending or descending, the elevator may run continuously or stop in the vertical direction. Since the first device does not detect a movement in the horizontal direction during the lifting of the elevator, which can be detected by the acceleration sensor in the first device, it can still be determined that the first device is in the elevator. For example, if a horizontal acceleration is detected by the acceleration sensor, a horizontal movement can be determined.
When the first device detects that the first device has an acceleration in a horizontal direction, i.e. the first device is moving horizontally, it can be determined that the user has exited the elevator, in other words, that the first device has exited the elevator. At this time, it is not necessary to detect the standby network channel in advance, that is, it is not necessary to send a scene change notification message to the application-level policy management component 124, so that power consumption of the electronic device due to detection of the standby network channel can be saved.
Optionally, the electronic device may also determine whether the scene in which the user is located changes by detecting the strength of the signal strength of the mobile network. For example, when the signal strength of the mobile network becomes weak, it can be determined that the user has entered a poor network environment, and at this time, the first device can determine that a scenario change has occurred, and can send a scenario change notification message to the application-level policy management component 124 for advanced detection of the standby network path. When the signal strength of the mobile network becomes stronger, it can be determined that the user enters a better network environment, and at this time, it is not necessary to detect the standby network channel in advance, and it is not necessary to send a scene change notification message to the application level policy management component 124, so that power consumption of the electronic device due to detection of the standby network channel can be saved.
Step 1302: the environment probing component 121 sends a context change notification message to the application level policy management component 124.
Specifically, if the environment detection component 121 detects that the environment of the first device changes (e.g., the user enters an elevator), an environment change notification message can be sent to the application-level policy management component 124, wherein the environment change notification message is used to notify the application-level policy management component 124 that the environment where the user is located has changed, thereby triggering the application-level policy management component 124 to perform subsequent processing.
Step 1303: application-level policy management component 124 forwards the environment change notification message to flow-level path management component 131.
Step 1304: the flow level path management component 131 requests a backup network channel from the channel level path management component 123.
Specifically, since signals are generally poor in an elevator, selecting, enabling, and switching a network channel after entering the elevator may cause a large delay of service, resulting in poor user experience. Therefore, when the user is detected to enter the elevator, a standby network channel can be selected in advance, so that the channel switching speed can be increased, and the time delay brought to the service by the channel switching is reduced.
Step 1305: the channel level path management component 123 receives a backup network channel request requesting the enablement status of each of the optional network channels.
Specifically, after receiving the standby network channel request sent by the flow level path management component 131, the channel level path management component 123 may send a channel state request to the network probing component 122, where the channel state request may be used to request to obtain an enabled state of each optional network channel. It will be appreciated that the enabled state may include available and unavailable. The available state may be used to characterize that the optional network channel is enabled, and the unavailable state may be used to characterize that the optional network channel is disabled. The selectable network channels may include an auxiliary WIFI channel, a main cellular channel, an auxiliary cellular channel, and the like.
Step 1306: the network detecting component 122 detects the enabled status of each optional network channel and sends the enabled status of each optional network channel to the channel-level path managing component 123.
Specifically, when the network probing component 122 receives the channel status request sent by the channel-level path management component 123, the enabled status of each optional network channel may be detected. In a specific implementation, the network probing component 122 may be configured to manage switches of each selectable network channel, where any selectable network channel is in an available state when the selectable network channel is turned on, and the selectable network channel is in an unavailable state when the selectable network channel is turned off. Therefore, when the network probing component 122 detects the enabled status of all the optional network channels requested by the channel-level path management component 123, the enabled status of all the optional network channels may be sent to the channel-level path management component 123.
Step 1307: the channel-level path management component 123 requests the channel quality of each available network channel.
Specifically, after the channel-level path management component 123 receives the enabled status of each optional network channel, it may select an available network channel (i.e., an optional network channel in an available status), and may further send a channel evaluation request to the channel and application quality evaluation component 125, where the channel evaluation request may be used to request to evaluate the quality of the available network channel.
Step 1308: the channel and application quality evaluation component 125 evaluates the quality of each available network channel and sends the evaluation results to the channel level path management component 123.
Specifically, after the channel and application quality evaluation component 125 receives the channel evaluation request sent by the channel-level path management component 123, the quality of each available network channel may be evaluated according to the channel evaluation request.
For example, the quality of the network channel may be evaluated based on at least one of the following parameters of the network channel: time delay, packet loss rate, bandwidth and rate of the channel, etc. For example, the quality evaluation may be to evaluate a Round-Trip Time (RTT) of available network channels, and the network channel with the smallest Round-Trip Time is the best.
Optionally, when there is a history selection record for the available network channel, that is, the available network channel is selected as a network channel once, at this time, the RTT and the history record may be combined to evaluate the channel quality, where the history record may include a history receiving rate, a history number of times that the channel quality is poor, and the like, and the evaluation manner of the channel quality is not particularly limited in the embodiment of the present application.
When the channel and application quality evaluation component 125 completes the quality evaluation of all available network channels in the channel evaluation request, the evaluation result may be sent to the channel-level path management component 123.
Step 1309: the channel-level path management component 123 determines a backup network channel based on the evaluation result.
Specifically, after the channel-level path management component 123 receives the evaluation result, it may select the best available network channel as the standby network channel based on the evaluation result.
Step 1310: the channel-level path management component 123 requests the network connection management component 126 to enable the standby network channel.
Step 1311: the network connection management component 126 initiates the backup network path and feeds back a notification message to the path-level path management component 123 that the backup network path is enabled.
The network connection management component 126 enables the standby network channel in response to the request of the channel-level path management component 123, where enabling the standby network channel refers to making the standby network channel transition from the sleep state to the wake state, so that when a network channel needs to be switched subsequently, the current network channel can be quickly switched to the standby network channel.
It can be understood that, since only a scene change is detected in step 1301, that is, the current scene change may cause network quality to be degraded, and thus cause traffic congestion, but a handover condition is not reached, at this time, the electronic device does not handover to the standby network channel, that is, the electronic device still uses the original network channel.
Step 1312: the channel-level path management component 123 sends the path of the backup network channel to the flow-level path management component 131.
Thus, the flow-level path management component 131 can receive and store the path of the backup network channel sent by the channel-level path management component 123.
Through the processing, the electronic equipment can start the standby network channel after detecting the environment change, so that the network channel switching can be quickly completed when the network channel switching is determined to be performed subsequently, and the possibility of traffic jam of the network application is reduced.
Fig. 14 is another timing diagram illustrating interaction among components in the first device according to the embodiment of the present application, and as shown in fig. 14, the method may include:
step 1401: the traffic reporting component 141 performs traffic detection and reports the detected packet to the traffic sensing component 133.
Specifically, based on the foregoing step 1206, after receiving the traffic reporting request, the traffic reporting component 141 may perform detection on a packet of a target flow of the network application according to the traffic reporting request, and report a detection result to the traffic sensing component 133. The detection result may include: the message of the target flow, or the message of the target flow and the message statistical information of the target flow, etc.
In a specific implementation, the traffic reporting component 141 may obtain, through a calling component (e.g., a Netfilter component of an android system), a message of a target flow of a network application on a current network channel (e.g., a main network channel). It is to be understood that the Netfilter component is merely an exemplary illustration and does not constitute a limitation to the embodiments of the present application, and in some embodiments, the detection of the message may also be completed through other components.
Illustratively, the parameters of the network channel may be implemented by the following codes:
typedef struct{
bool available;
bool slowDevForbbiden;
uint64_t qoeBadTimeStamp;
uint64_t chQoeBadStartTime;
uint32_t rcvRate;
}
it is understood that the detected messages may be messages of one or more feature flows in the current network application, where the feature flow may be the most sensitive flow in the network application, that is, the flow having a larger influence on the current network application. In addition, the quality of the network channel can be evaluated through the parameters of the network channel.
Optionally, when the traffic reporting component 141 performs traffic detection, a hook function may be registered in the kernel netfilter framework to obtain a message of the target flow. As shown in fig. 15, for example, the Netfilter hooks a packet to the nf _ hook function of the traffic reporting component, a message carried on a current network channel enters the traffic reporting component 141, the traffic reporting component stores a message of a target flow into an SKB queue through flows such as message parsing, flow table creation, message content analysis, and the like, for a message in the SKB queue, according to a reporting policy of the target flow to which the message belongs, data (the message, or the message and statistical information) that needs to be reported at regular time is triggered and reported to the traffic sensing control 133 by a timer, and a message that needs to be reported immediately is reported to the traffic sensing control 133 by a NetLink thread.
It should be noted that the target flow may be one or more; when the traffic reporting component detects a message of a target flow, all or part of the message of the target flow may be reported to the traffic sensing component, which is not limited in the embodiments of the present application.
Taking the detection and reporting of the heartbeat flow message in the target flow as an example, a specific implementation flow of the message reporting component is described with reference to fig. 15.
The process comprises the following steps:
step S1, initialization;
when the network application starts to load, the traffic reporting component 141 receives the app launch message, and registers the nf _ hook function. Code examples are shown in fig. 16 and 17.
Step S2, message processing;
the method specifically comprises three steps of message analysis, flow table lookup and message analysis. The flow table records identification information of flows in each network application and statistical information of each flow, and the statistical information of each flow may include: the number of received messages of the flow, the total number of bytes of the received messages of the flow, the number of error packets and the like. The flow identification information may be calculated according to a quintuple or a quadruple of the packet in the flow, and the calculation may specifically use a hash algorithm, so that the flow identification information may be a hash value calculated by the quintuple or the quadruple of the packet.
When the message is analyzed, the traffic reporting component 141 obtains the message, and can analyze whether the UID of the network application exists in the message; if the message exists, the message is the message of the network application, the quadruple (or the quintuple) of the message is analyzed, and the subsequent flow table checking step is executed; if the message does not exist, the message is not the message of the network application, and the process is ended;
the quadruple may include: source IP, destination IP, source port, destination port; the quintuple can include: source IP, destination IP, source port, destination port, and protocol number.
When the flow table is searched, the identification information of the flow can be calculated according to the quadruplet (or quintuple) of the message, whether the identification information is recorded in the flow table is searched by using the calculated identification information, and if so, the statistical information corresponding to the identification information in the flow table is updated; if not, a flow node is created in the flow table according to the identification information of the flow, and the statistical information of the flow in the flow node is updated.
During message analysis, the traffic reporting component 141 may filter the received message through a preset flow model, so as to obtain all or a part of the message of the target flow, for example, if the flow model of the heartbeat flow message is used, the heartbeat flow message of the target flow may be obtained.
The flow model may be configured to the traffic reporting component through a configuration file, and the configuration file may be carried in the traffic reporting request sent by the traffic sensing component in step 1206. The flow model records the characteristics of the messages to be matched. For example, as shown in fig. 18, the heartbeat stream packet may have fixed feature information in the 6 th byte of the packet payload, for example, if the feature information in the uplink heartbeat stream packet is 0x64, and the feature information in the downlink heartbeat stream packet is 0x65, then the matching feature filterStr may be preset in the stream model, the matching feature is 0x64 in the uplink stream, the matching feature is 0x65 in the downlink stream, and the matching position is 6 bytes of the offset UDP payload.
As shown in fig. 19, the code logic may compare whether the message content is consistent with the configured matching feature filterStr by memcmp. The specific code is as follows: if (memcmp (rpt _ cfg- > filter _ str [ i ], payload + filter _ str _ offset, rpt _ cfg- > filter _ str _ len [ i ]) is 0), the memcmp compares to obtain a message consistent with the matching characteristic filter str, and thus the heartbeat stream message of the target stream is filtered.
And step S3, reporting the matched target flow and the statistical information of the target flow according to the flow reporting strategy.
Specifically, the filtered message of the target flow may be stored in the SKB queue, and periodically reported or immediately reported according to the reporting policy of the target flow.
If the reporting is performed periodically, part or all of the messages received by the target flow in the period (for example, the last message of the target flow received in the period) may be reported to the traffic sensing component at the end of each period, and optionally, the statistical information (for example, the number of messages, the number of bytes, and the like) of the messages of the target flow in the period may also be reported to the traffic sensing component.
If the report is reported immediately, the matched message can be directly reported to the flow sensing component.
Through the processing, the message of the target flow can be accurately matched and filtered in the flow reporting component, and the reported message is used for network quality evaluation in the flow sensing component.
Step 1402: the traffic sensing component 133 analyzes the message reported by the traffic reporting component 141 to obtain a message analysis result.
In this step, the traffic sensing component 133 may perform network quality evaluation at a flow level. The network quality evaluation parameters used for the network quality evaluation of each target flow may refer to the examples in table 2. The network quality assessment parameters for each target flow may be sent down to the traffic awareness component 133 in step 1206.
In this step, the obtained message analysis result may be a stream-level analysis result, for example, whether the quality of the target stream is good or bad.
For implementation of network quality evaluation on each flow, reference may be made to the corresponding description in step 311, which is not described herein again.
Step 1403: the traffic aware component 133 sends the message analysis results to the flow level path management component 131.
Specifically, the message analysis result may include: identification information of the target stream, and description information of good or bad quality of the target stream.
As shown in fig. 20, taking the network application as a game application as an example, a possible code implementation is shown in which the target flow and the network quality evaluation result of the target flow are sent to the flow-level path management component 131 for multi-flow path scheduling switching.
Step 1404: the flow level path management component 131 determines to perform channel switching according to the message analysis result, determines whether a standby network channel exists, if so, performs step 1414, and if not, performs step 1405.
The implementation of steps 1405 to 1413 can refer to steps 1304 to 1312, which are not described herein.
Step 1414: the flow-level path management component 131 sends the identification information of the target flow of poor quality and the path of the standby network channel to the flow-level policy management component 132.
Specifically, when determining that a certain target flow is poor in quality according to the packet analysis result of each target flow, the flow-level path management component 131 sends the identification information of the poor-quality target flow and the path of the standby network channel to the flow-level policy management component 132.
Step 1415: the flow level policy management component 132 sends a channel switch indication to the policy enforcement component 142.
Specifically, after the flow-level policy management component 132 receives the identification information of the target stream with poor quality and the path of the standby network channel, which are sent by the flow-level path management component 131, it may determine a flow switching policy corresponding to the target stream with poor quality, determine a to-be-switched flow of the network application from a flow carried on the same network channel as the target stream with poor quality according to the flow switching policy, and send a channel switching instruction to the policy execution component 142, where the channel switching instruction may be used to instruct the policy execution component 142 to switch the to-be-switched flow from the current network channel (e.g., the main network channel) to the standby network channel (e.g., the cellular channel), so that channel switching may be completed faster, latency caused by channel switching is reduced, and user experience is improved.
For example, referring to fig. 11a, a flow B, and a flow C of the network application are all carried on the WIFI1 channel, where the flow a is a target flow, and a flow switching policy corresponding to the flow a is: stream A and stream B; then, if the network quality of the flow a is poor, it may be determined that the flow a and the flow B of the network application are to be switched according to the flow switching policy corresponding to the flow a, so that, referring to fig. 11B, the flow-level policy management component 132 may instruct the policy execution component 142 to switch the flow a and the flow B to the standby network channel, that is, the Mobile1 channel in fig. 11B, through the channel switching indication. Continuing with this example, assume that the flow switching policy for flow a is: stream a, stream B and stream C; then, if the network quality of stream a is poor, it may be determined that stream a, stream B and stream C of the network application are streams to be switched according to the stream switching policy corresponding to stream a, so that, referring to fig. 11C, the stream-level policy management component 132 may instruct the policy execution component 142 to switch stream a, stream B and stream C to the standby network channel, that is, the Mobile1 channel in fig. 11C, through the channel switching indication.
As shown in fig. 21, the stream level policy management component 132 is shown to obtain possible code implementations of streams to be switched in a network application by traversing all stream types on a service, taking the network application as an example of a gaming application.
In step 1416, the policy enforcement component 142 enforces the channel switch.
Specifically, after the policy executing component 142 receives the channel switching indication sent by the stream-level policy managing component 132, the multiple streams to be switched of the network application may be switched from the current network channel to the standby network channel, that is, the other streams of the network application may continue to be carried on the current network channel to run, and the multiple streams to be switched may be carried on the standby network channel to run, so that switching may be completed quickly, and quality of service and user experience may be further ensured.
In the channel switching methods shown in fig. 12 to 14, the channel switching schedule at the stream level is expanded, and the schedule of a single stream is expanded to the schedule of multiple streams; in some embodiments, a network quality evaluation result of one flow of the network application can be quickly perceived, and the evaluation result is applied to a class of flows (e.g., a delay-sensitive flow) of the network application, so that the possibility that the class of flows causes traffic to run unsmooth is reduced, and the user experience is improved.
By way of example:
the method comprises the steps that a heartbeat flow message with a period of 1s exists in a peace and elite voice flow, the voice flow can be used as a target flow of the game application, a flow reporting component can detect the heartbeat flow message of the voice flow, a flow sensing component can calculate the network round-trip delay of the voice flow according to the heartbeat flow message of the voice flow so as to evaluate the network quality of the voice flow, after the network quality is poor, the evaluation result can be applied to all delay sensitive flows (such as a battle flow and the voice flow) of the whole game, and all delay sensitive flows of the game switch network channels together.
By using the channel switching method of the embodiment of the application, the network quality evaluation of each flow is performed without accurately acquiring the message of each flow in the network application, the flows needing to be monitored and evaluated by the electronic equipment can be reduced, and the data processing capacity of the electronic equipment is reduced; moreover, channel switching can be performed on multiple streams (for example, a class of streams) in time when the quality of a network channel is deteriorated, so that the possibility of traffic jam caused by the deterioration of the network quality of the multiple streams is reduced, the occurrence rate of the traffic jam is reduced, and the user experience is improved.
An electronic device is further provided in an embodiment of the present application, where the device includes a storage medium and a central processing unit, the storage medium may be a non-volatile storage medium, a computer executable program is stored in the storage medium, and the central processing unit is connected to the non-volatile storage medium and executes the computer executable program to implement the method provided in any one of fig. 7 to 15 of the present application.
An embodiment of the present application further provides an electronic device, including: one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprising instructions which, when executed by the apparatus, cause the apparatus to perform the method provided by any of the embodiments of fig. 7-15.
Embodiments of the present application further provide a computer-readable storage medium, in which a computer program is stored, and when the computer program runs on a computer, the computer is enabled to execute the method provided in any one of fig. 7 to 15 of the present application.
Embodiments of the present application further provide a computer program product, which includes a computer program, when the computer program runs on a computer, causing the computer to execute the method provided in any one of fig. 7 to fig. 15 of the present application.
It is to be understood that the electronic devices and the like described above include hardware structures and/or software modules for performing the respective functions in order to realize the functions described above. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware 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 embodiments of the present application.
In the embodiment of the present application, the electronic device and the like may be divided into functional modules according to the method example, for example, each functional module may be divided according to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
Through the above description of the embodiments, it is clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device may be divided into different functional modules to complete all or part of the above described functions. For the specific working processes of the system, the apparatus and the unit described above, reference may be made to the corresponding processes in the foregoing method embodiments, and details are not described here again.
Each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or make a contribution to the prior art, or all or part of the technical solutions may be implemented in the form of a software product stored in a storage medium and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) or a processor to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: flash memory, removable hard drive, read only memory, random access memory, magnetic or optical disk, and the like.
The above description is only an embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (15)

1. A channel switching method is applied to an electronic device, the electronic device comprises a first network channel and a second network channel, and the method is characterized by comprising the following steps:
starting a first application, wherein the first application comprises a first data flow, and the first data flow is carried on the first network channel; the first data stream comprises a plurality of messages;
acquiring a first message from messages of the first data stream, wherein the first message is a message of which the preset position of the load comprises preset characteristic information;
calculating preset parameters according to the first message;
and when the preset parameter does not meet the preset condition, switching the network channel carrying the first data stream to the second network channel.
2. The method of claim 1, wherein the first application further comprises a second data stream, and wherein the second data stream is carried on the first network channel; the obtaining a first packet from the packets of the first data stream includes:
acquiring a message of the first application from the first network channel;
acquiring the message of the first data flow from the message of the first application;
and acquiring the first message from the messages of the first data flow.
3. The method according to claim 2, wherein the first network channel further carries a data flow of a second application, and the obtaining the packet of the first application from the first network channel comprises:
acquiring a message loaded on the first network channel;
and acquiring a message comprising a first identifier from the message carried on the first network channel, wherein the first identifier is the identifier of the first application.
4. The method of any of claims 1 to 3, wherein the first application further comprises a second data stream, the second data stream being carried on the first network channel; the method further comprises the following steps:
and when the preset parameter does not meet the preset condition, switching the network channel carrying the second data stream to the second network channel.
5. The method of claim 4, wherein the first data stream and the second data stream are delay sensitive data streams.
6. The method of claim 4 or 5, wherein prior to switching the network channel carrying the first data flow and the second data flow to the second network channel, further comprising:
when the environment change is detected, acquiring network channels which are in an available state except the first network channel;
respectively carrying out quality evaluation on the network channels in the available state;
selecting the second network channel with the best quality as a standby network channel according to the evaluation result of the quality evaluation;
enabling the backup network channel.
7. The method of any of claims 4 to 6, wherein switching the network channel carrying the first data flow and the second data flow to the second network channel comprises:
and when determining that the second network channel which is enabled and is used as the standby network channel exists, switching the network channel carrying the first data flow and the second data flow to the second network channel.
8. The method of any of claims 4 to 7, wherein switching the network channel carrying the first data flow and the second data flow to the second network channel comprises:
when determining that the network channel does not have the enabled standby network channel, acquiring the network channels which are in the available state except the first network channel;
respectively carrying out quality evaluation on the network channels in the available state;
selecting the second network channel with the best quality as a standby network channel according to the evaluation result of the quality evaluation;
enabling the second network channel as the backup network channel;
and switching the network channel carrying the first data stream and the second data stream to the second network channel.
9. The method according to any one of claims 1 to 8, wherein before the obtaining the packet of the first application carried on the first network channel, further comprising:
determining that the first application is an application in a preset white list.
10. The method according to any one of claims 1 to 9, wherein the first packet is a heartbeat packet and the predetermined parameter is round trip delay.
11. The method of any one of claims 1 to 10, wherein the first network channel is a WIFI channel or a cellular channel and the second network channel is a WIFI channel or a cellular channel.
12. The method of any of claims 4 to 11, wherein the first application is a gaming application, the first data stream is a voice stream, and the second data stream is a battle stream; alternatively, the first and second electrodes may be,
the first application is a video playback application, the first data stream is a voice stream, and the second data stream is a video stream.
13. An electronic device, comprising: a memory for storing computer program code, the computer program code comprising instructions that, when read from the memory by the electronic device, cause the electronic device to perform the method of any of claims 1-12.
14. A computer readable storage medium comprising computer instructions which, when run on the electronic device, cause the electronic device to perform the method of any of claims 1-12.
15. A computer program product, characterized in that, when run on a computer, causes the computer to perform the method of any one of claims 1 to 12.
CN202111137133.XA 2021-06-16 2021-09-27 Channel switching method, electronic device and storage medium Active CN113890905B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110666482 2021-06-16
CN2021106664824 2021-06-16

Publications (2)

Publication Number Publication Date
CN113890905A true CN113890905A (en) 2022-01-04
CN113890905B CN113890905B (en) 2022-11-22

Family

ID=79007157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111137133.XA Active CN113890905B (en) 2021-06-16 2021-09-27 Channel switching method, electronic device and storage medium

Country Status (1)

Country Link
CN (1) CN113890905B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022262398A1 (en) * 2021-06-16 2022-12-22 荣耀终端有限公司 Channel switching method, and electronic device and storage medium
WO2023087850A1 (en) * 2021-11-18 2023-05-25 荣耀终端有限公司 Network acceleration method, electronic device, chip system, and readable storage medium

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015200611A1 (en) * 2014-06-27 2015-12-30 Cisco Technology, Inc. Multipath data stream optimization
WO2018045783A1 (en) * 2016-09-06 2018-03-15 中兴通讯股份有限公司 Method and system for switching between bluetooth and wi-fi, and client end and wireless access point device
CN108449771A (en) * 2018-06-29 2018-08-24 Oppo(重庆)智能科技有限公司 Method for switching network, device, terminal and storage medium
CN108834203A (en) * 2018-06-29 2018-11-16 Oppo(重庆)智能科技有限公司 Method for switching network, device, terminal and storage medium
CN109151954A (en) * 2018-10-16 2019-01-04 奇酷互联网络科技(深圳)有限公司 Mobile terminal and its double card method for switching network and storage medium
CN110072263A (en) * 2019-03-26 2019-07-30 华为技术有限公司 A kind of method and electronic equipment switching card of surfing Internet
CN111970683A (en) * 2020-09-04 2020-11-20 Oppo(重庆)智能科技有限公司 Method and device for switching SIM (subscriber identity Module) card, terminal equipment and storage medium
CN112243218A (en) * 2019-07-19 2021-01-19 华为技术有限公司 Data service transmission method and electronic equipment
WO2021017578A1 (en) * 2019-07-31 2021-02-04 华为技术有限公司 Packet sending method, device, and storage medium
CN112654069A (en) * 2019-10-11 2021-04-13 中国移动通信有限公司研究院 Non-independent networking switching method and network side equipment
CN112954749A (en) * 2019-12-11 2021-06-11 华为技术有限公司 Network switching method and electronic equipment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015200611A1 (en) * 2014-06-27 2015-12-30 Cisco Technology, Inc. Multipath data stream optimization
WO2018045783A1 (en) * 2016-09-06 2018-03-15 中兴通讯股份有限公司 Method and system for switching between bluetooth and wi-fi, and client end and wireless access point device
CN108449771A (en) * 2018-06-29 2018-08-24 Oppo(重庆)智能科技有限公司 Method for switching network, device, terminal and storage medium
CN108834203A (en) * 2018-06-29 2018-11-16 Oppo(重庆)智能科技有限公司 Method for switching network, device, terminal and storage medium
CN109151954A (en) * 2018-10-16 2019-01-04 奇酷互联网络科技(深圳)有限公司 Mobile terminal and its double card method for switching network and storage medium
CN110072263A (en) * 2019-03-26 2019-07-30 华为技术有限公司 A kind of method and electronic equipment switching card of surfing Internet
CN112243218A (en) * 2019-07-19 2021-01-19 华为技术有限公司 Data service transmission method and electronic equipment
WO2021017578A1 (en) * 2019-07-31 2021-02-04 华为技术有限公司 Packet sending method, device, and storage medium
CN112654069A (en) * 2019-10-11 2021-04-13 中国移动通信有限公司研究院 Non-independent networking switching method and network side equipment
CN112954749A (en) * 2019-12-11 2021-06-11 华为技术有限公司 Network switching method and electronic equipment
CN111970683A (en) * 2020-09-04 2020-11-20 Oppo(重庆)智能科技有限公司 Method and device for switching SIM (subscriber identity Module) card, terminal equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谷晨等: "多模终端切换管理模块的设计", 《电子测量技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022262398A1 (en) * 2021-06-16 2022-12-22 荣耀终端有限公司 Channel switching method, and electronic device and storage medium
WO2023087850A1 (en) * 2021-11-18 2023-05-25 荣耀终端有限公司 Network acceleration method, electronic device, chip system, and readable storage medium

Also Published As

Publication number Publication date
CN113890905B (en) 2022-11-22

Similar Documents

Publication Publication Date Title
CN113795040B (en) Channel switching method, electronic device and storage medium
CN114172791B (en) Channel switching method, electronic device and storage medium
CN114286402B (en) Channel switching method, electronic device and storage medium
CN113810938B (en) Channel switching method, electronic device and storage medium
US11736224B2 (en) Data transmission method and electronic device
WO2021115007A1 (en) Network switching method and electronic device
CN113890905B (en) Channel switching method, electronic device and storage medium
CN113316199A (en) Connection management method and related equipment
CN113810965B (en) Channel switching method, electronic device and storage medium
CN113243126B (en) Network management method for terminal and terminal
RU2802678C1 (en) Channel switching method, electronic device and storage medium
CN116405960B (en) Network quality detection method and related electronic equipment
RU2811567C1 (en) Channel switching method, electronic device and data media
WO2024082811A1 (en) Network acceleration method and apparatus
CN116661984B (en) Load control method, electronic equipment and storage medium
CN116709368B (en) Network acceleration method and device
WO2024001773A1 (en) Data migration method, electronic device and networking system
CN116155729A (en) Network acceleration method based on user traffic portrayal and related electronic equipment
CN116744329A (en) Network acceleration method and electronic equipment
CN117915356A (en) Network acceleration method and device

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