Method and apparatus for controlling network switching
By monitoring the micro-movement or static state in the terminal and delaying updates, setting a suppression timer, and controlling network switching, the problem of service interruption caused by terminal network switching is solved, achieving more stable network switching and service continuity.
Patent Information
- Application Number
- CN202310207428.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-24
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2043-02-24
AI Technical Summary
In existing technologies, network switching can easily cause service interruptions or disconnections, especially in latency-sensitive service scenarios, where network switching has a significant negative impact on services.
When a terminal supports multiple wireless communication networks, by monitoring the terminal's slight movement or stationary state, delaying the update of state changes, setting a suppression timer to prevent frequent switching, and attempting to return to a high-quality network when conditions are met, the negative impact of network switching on services can be reduced.
It effectively reduced the negative impact of network handover on latency-sensitive services, improved the stability and service continuity of network handover, and enhanced the user experience.
Smart Images

Figure CN118555622B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and particularly relates to a network switching control method and device. BACKGROUND
[0002] In a mobile communication scenario, a terminal implements a service based on a wireless mobile network. In the case that the quality of the network accessed by the terminal is poor, the terminal performs network switching.
[0003] The current network switching function still has room for improvement. SUMMARY
[0004] The present application provides a method and device, and aims to solve the problem of how to improve the network selection function of a terminal.
[0005] In order to achieve the above object, the present application provides the following technical solutions:
[0006] The first aspect of the present application provides a network switching control method, applied to a terminal supporting at least a first wireless communication network and a second wireless communication network, the communication standard of the first wireless communication network is higher than that of the second wireless communication network, and the network switching control method comprises the following steps: using the first wireless communication network to operate a service, in the process of operating the service, switching from the first wireless communication network to the second wireless communication network, in a micro-motion or static state, maintaining the state of using the second wireless communication network to operate the service, and after exiting the micro-motion or static state or stopping operating the service, attempting to return to the first wireless communication network. Because the first wireless communication network is used to operate the service, it indicates that the quality of the first wireless communication network can meet the demand of the service, and because in the micro-motion or static state, the position of the terminal changes less, the state of using the second wireless communication network to operate the service can meet the demand of the service, and can also reduce the possibility of service lag or even disconnection caused by network switching. After exiting the micro-motion or static state, the network quality may not meet the demand, so attempting to return to the first wireless communication network can obtain better network quality.
[0007] In some implementation modes, the micro-motion or static state is a specified state, and the process of listening to the terminal in the specified state comprises: based on sensor data, listening to the terminal entering the specified state, updating the state of the terminal to entering the specified state by processing an entering specified state delay message, and the entering specified state delay message is processed after being delayed for a first time length from being sent. It can be seen that after listening to entering the specified state, the state needs to be updated after a period of time, which can prevent frequent switching of the state.
[0008] In some implementations, the process of updating the state of the terminal to the entering specified state by processing the entering specified state delay message comprises: in the absence of the entering specified state delay message, sending the entering specified state delay message and setting a delay of a first duration, and in the presence of the entering specified state delay message, updating the state of the terminal to the entering specified state after the delay of the specified state delay message ends. In the presence of the entering specified state delay message, the message is not repeatedly sent, which can ensure accurate state updating and reduce the jitter of entering the specified state.
[0009] In some implementations, after listening to the terminal entering the specified state, the process further comprises: deleting the exiting specified state delay message, so as to ensure that the latest listened state is used to cover the previous state and improve the accuracy of the state updating result.
[0010] In some implementations, the process of listening to the terminal exiting the specified state based on the sensor data comprises: listening to the terminal exiting the specified state, updating the state of the terminal to the exiting specified state by processing the exiting specified state delay message, and processing the exiting specified state delay message after a delay of a second duration from the start of sending. After listening to the exiting specified state, the state is updated after a delay, which can prevent frequent switching of the state.
[0011] In some implementations, the first duration is less than the second duration. The first duration is the duration of entering the micro-motion or static state, and the second duration is the duration of exiting the micro-motion or static state. The first duration being less than the second duration indicates that the entering micro-motion or static state is updated more frequently, so that the entering micro-motion or static state has a higher priority than the exiting micro-motion or static state, so as to minimize the negative impact of network switching on the service.
[0012] In some implementations, the process of updating the state of the terminal to the exiting specified state by processing the exiting specified state delay message comprises: in the absence of the exiting specified state delay message, sending the exiting specified state delay message and setting a delay of a second duration, and in the presence of the exiting specified state delay message, updating the state of the terminal to the exiting specified state after the delay of the specified state delay message ends. This can ensure accurate state updating and reduce the jitter of exiting the specified state.
[0013] In some implementations, after listening to the terminal exiting the specified state, the process further comprises: deleting the entering specified state delay message, so as to delete the message that is contrary to the latest listened state in time and improve the accuracy of updating the state.
[0014] In some implementations, the terminal comprises an application processor and a modem, before maintaining the state of operating the service using the second wireless communication network in the micro-motion or static state, the terminal further comprises: the application processor sends a message of suppressing the first wireless communication network to the modem, and starts a first wireless communication network suppressing timer, and listens to the first wireless communication network timer timeout. The function of the timer is to suppress the first wireless communication network for a period of time, and the timeout of the timer indicates that the suppression time period ends, avoiding unlimited suppression.
[0015] In some implementations, the process of attempting to return to the first wireless communication network comprises: the application processor sends a message of releasing the suppression of the first wireless communication network to the modem, and the modem attempts to return to the first wireless communication network. The application processor realizes the switching of the network through the cooperation with the modem, and can take into account the demand of the service for the network.
[0016] In some implementations, the process of switching from the first wireless communication network to the second wireless communication network comprises: the application processor sends a message of switching from the first wireless communication network to the second wireless communication network to the modem, and the modem switches from the first wireless communication network to the second wireless communication network. The application processor realizes the switching of the network through the cooperation with the modem, and can take into account the demand of the service for the network.
[0017] The second aspect of the present application provides a terminal, comprising: a memory and at least one processor; the memory is used for storing an application program, and the at least one processor is used for executing the application program to realize the network switching control method provided by the first aspect of the present application.
[0018] The third aspect of the present application provides a computer storage medium, used for storing a computer program, when the computer program is executed, used for realizing the network switching control method provided by the first aspect of the present application.
[0019] The fourth aspect of the present application provides a computer program product, when the computer program product runs on a computer, makes the computer execute the network switching control method provided by the first aspect of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0020] Figure 1 A scene example diagram for a mobile phone running a real-time battle game;
[0021] Figure 2 A structure example diagram of a terminal provided by an embodiment of the present application;
[0022] Figure 3 A frame example diagram of a terminal provided by an embodiment of the present application;
[0023] Figure 4A flow chart of a control method of network switching provided by an embodiment of the present application is shown in FIG. 1.
[0024] Figure 5 A flow chart of monitoring the state of a terminal provided by an embodiment of the present application is shown in FIG. 2. DETAILED DESCRIPTION
[0025] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. The terms used in the following embodiments are only for the purpose of describing the specific embodiments and are not intended to be limiting to the present application. As used in the specification and the appended claims of the present application, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that “one or more” as used in the embodiments of the present application means one, two, or more than two; “and / or” describes the associated relationship of associated objects, which means that there can be three relationships; for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural. The character “ / ” generally represents an “or” relationship between the associated objects.
[0026] In the present specification, the reference to “one embodiment” or “some embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, the appearance of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in additional embodiments,” and so on, in various places in the specification is not necessarily all referring to the same embodiment, unless otherwise specifically noted. The terms “comprise,” “include,” “have,” and their conjugates, mean “including but not limited to,” unless otherwise specifically noted.
[0027] The plurality referred to in the embodiments of the present application means greater than or equal to two. It should be noted that in the description of the embodiments of the present application, the terms “first,” “second,” and the like are used only for the purpose of distinguishing the described objects, and cannot be understood as indicating or implying relative importance or indicating or implying an order.
[0028] For ease of explanation, the technical terms involved in the embodiments of the present application are first explained:
[0029] The wireless communication system can be understood as a system including a terminal and a network (wireless communication network).
[0030] The wireless communication system includes, but is not limited to, a Global System of Mobile Communication (GSM) system, a Code Division Multiple Access (CDMA) system, a Wideband Code Division Multiple Access (WCDMA) system, a Long Term Evolution (LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, a Universal Mobile Telecommunication System (UMTS), and a Fifth Generation Mobile Communication System (5G).
[0031] The GSM system can also be referred to as a 2nd generation communication system, i.e., 2G. The CDMA system and the WCDMA system can also be referred to as a 3rd generation communication system, i.e., 3G. The LTE system, the LTE TDD system, and the like, can also be referred to as a 4th generation communication system, i.e., 4G. The 5G network includes a 5G Standalone (SA) network.
[0032] The terminal includes, but is not limited to, a mobile phone, a tablet computer, a desktop computer, a laptop computer, an Ultra-mobile Personal Computer (UMPC), a handheld computer, a netbook, a Personal Digital Assistant (PDA), a wearable electronic device, a smart watch, and the like, which can support wireless communication.
[0033] The terminal can also be referred to as a Terminal Equipment, a User Equipment, a Mobile Station (MS), a Mobile Terminal, and the like.
[0034] Subsequent (high) standards and previous (low) standards: The sequence is obtained by ordering the development of network standards: 2G, 3G, 4G, 5G. The earlier (low) standards in this sequence are called the predecessor standards of the later (high) standards, and the later (high) standards are called the successors of the earlier (low) standards. For example, 5G is the successor standard of 2G, 3G and 4G, 3G is the successor standard of 2G, and 3G is the predecessor standard of 4G.
[0035] Figure 1 This is an example diagram of a mobile phone running a game app via a wireless communication network. Figure 1 In this game, a game app is running on the phone. The game app currently displays a real-time battle interface, and the user controls the phone interface to engage in real-time battles with other users.
[0036] Understandably, real-time multiplayer games fall into the category of services that are highly sensitive to latency (i.e., latency-sensitive services). High latency sensitivity means a high demand for low latency; in other words, increased latency in communication between the wireless network and the mobile phone will have a significant negative impact on latency-sensitive services. Figure 1 Taking the scenario shown as an example, if the quality of the 5G network the user is currently on is poor during a real-time battle, it will cause the real-time battle to lag or even disconnect.
[0037] To mitigate the negative impact of poor wireless communication network quality on services, when a mobile phone supports multiple wireless communication network standards, it can switch between networks. For example, Figure 1 In the scenario shown, the phone uses a 5G network to play real-time online games. If the phone detects that the signal strength of the 5G cell is below a threshold, it switches from 5G to 4G. After a short period of time in 4G, the phone will revert to the 5G network.
[0038] During their research, the inventors discovered that switching between wireless communication network standards could negatively impact services, such as causing service interruptions. In conjunction with this... Figure 1 As shown in the scenario, after a period of time, the mobile phone switches from a 5G network to a 4G network, and then switches back to a 5G network. This may cause lag or even disconnection in real-time battles. To address the above problem, embodiments of this application provide a network switching control method. The purpose is to set conditions for the switching of wireless communication networks in latency-sensitive service scenarios. Switching is only allowed when the conditions are met, and switching is suppressed when the conditions are not met, thereby reducing the negative impact of wireless communication network switching on latency-sensitive services.
[0039] The embodiments of this application disclose a network switching control method, which is applied to a terminal in a wireless communication system.
[0040] Taking mobile phones as an example, such as Figure 2 As shown, the terminal includes a processor 310, an external memory interface 320, an internal memory 321, a display screen 330, a camera 340, an antenna 1, an antenna 2, a mobile communication module 350, and a wireless communication module 360, etc.
[0041] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the terminal. In other embodiments, the terminal may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0042] The processor 310 may include one or more processing units, such as an application processor (AP), a modem, 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). These different processing units may be independent devices or integrated into one or more processors.
[0043] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a structural limitation. In other embodiments of this application, different interface connection methods or combinations of multiple interface connection methods as described above may also be used.
[0044] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0045] The mobile communication module 350 can provide a solution for wireless communication including 2G / 3G / 4G / 5G, etc. applied to the terminal. The mobile communication module 350 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 350 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transfer the processed signals to the modem processor for demodulation. The mobile communication module 350 can also amplify the signals modulated by the modem processor, and radiate the signals as electromagnetic waves through the antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module 350 can be disposed in the processor 310. In some embodiments, at least part of the functional modules of the mobile communication module 350 can be disposed in the same device as at least part of the modules of the processor 310.
[0046] In some embodiments, the terminal initiates or receives a call request through the mobile communication module 350 and the antenna 1.
[0047] The wireless communication module 360 can provide a solution for wireless communication including wireless local area networks (WLAN) (e.g., wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, etc. applied to the terminal. The wireless communication module 360 can be one or more devices integrated with at least one communication processing module. The wireless communication module 360 receives electromagnetic waves via the antenna 3, performs frequency modulation and filtering on the electromagnetic wave signals, and transmits the processed signals to the processor 310. The wireless communication module 360 can also receive signals to be transmitted from the processor 310, perform frequency modulation and amplification on the signals, and radiate the signals as electromagnetic waves through the antenna 2.
[0048] On top of the above-described components (e.g., application processor), an operating system is executed. For example, an iOS operating system, an Android operating system, a Windows operating system, etc. Application programs can be installed and executed on the operating system.
[0049] The operating system includes a layered structure, Figure 3 Examples of the layered structure are included in the middle.
[0050] A layered architecture divides software into several layers, each with a clear role and division of labor. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom, the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
[0051] The application layer can include a series of application packages. As shown in Figure 3 , the application package can include camera, gallery, call, map, navigation, etc.
[0052] The application framework layer provides application programming interface (API) and programming framework for the application of the application layer. The application framework layer includes some pre-defined functions. As shown in Figure 3 , the application framework layer can include window manager, content provider, phone manager, etc. The application framework layer also includes a network switching control module that performs the control method of network switching provided by the embodiments of the present application. The network switching control module includes a state monitoring module for monitoring the state of the terminal, which will be described in detail in Figure 5 .
[0053] The window manager is used to manage the window program. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, and intercept the screen, etc.
[0054] The content provider is used to store and obtain data, and make these data accessible to the application. The data can include video, image, audio, dialed and received calls, browsing history and bookmarks, phonebook, etc.
[0055] The phone manager is used to provide the communication function of the terminal. For example, the management of call state (including call connection, call hang-up, etc.).
[0056] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for the scheduling and management of the Android system. The core library contains two parts: one part is the function function that the java language needs to call, and the other part is the core library of Android.
[0057] The application layer and the application framework layer run in the virtual machine. The virtual machine executes the java file of the application layer and the application framework layer into binary file. The virtual machine is used to perform the management of object life cycle, stack management, thread management, security and exception management, and garbage collection, etc.
[0058] The system library can include a plurality of functional modules. For example, a surface manager, media libraries, and the like.
[0059] The kernel layer is a layer between hardware and software. For example, the kernel layer includes modem drivers and sensor drivers, and the like. Figure 3
[0060] The hardware layer is also shown, which includes a modem and a sensor, for example. Hardware in the hardware layer communicates with software modules through corresponding drivers in the kernel layer. Sensors related to the present application include, but are not limited to, a gyroscope, a speed sensor, and an acceleration sensor, and the like. Sensors related to the present application can also be sensors improved on the basis of the above-mentioned sensors, which are capable of sensing the state of a user, such as a stationary, a micro-motion, a walking, a running, a cycling, a taking a vehicle, a taking an elevator, and the like. Figure 3 It should be noted that although the embodiments of the present application are described by taking the Android system as an example, the basic principles are also applicable to terminals based on iOS, Windows, and the like operating systems.
[0061] In the embodiments of the present application, the terminal supports at least a first network and a second network, and the first network and the second network are wireless communication networks of different standards in a wireless communication system. In the following embodiments, it is assumed that the first network is a high-standard wireless communication network, such as a 5G SA network (hereinafter referred to as an SA network), and the second network is a low-standard wireless communication network, such as a 4G network. The "high standard" and "low standard" described herein are relative concepts, and can be understood as the communication standard of the first network being higher than that of the second network, and the network with a high communication standard being a descendant network of the network with a low communication standard.
[0062] It can be understood that the control method of network switching provided by the present application is applicable but not limited to a time delay sensitive type service running in the terminal. In the following embodiments, a real-time battle game is taken as an example of a time delay sensitive type service.
[0063]
[0064] The control method of network switching of the terminal shown in Figure 4 and Figure 2 is executed by the network switching control module shown in Figure 3 , which runs in the application processor. Figure 3
[0065] Figure 4 The control method of network switching of the terminal shown in includes the following steps:
[0066] S101, based on the parameters of the SA network, issuing a message of switching from the SA network to the 4G network to the modem.
[0067] The parameters include but are not limited to: time delay and signal strength.
[0068] It can be understood that, assuming that the terminal accesses to the SA network before S1, that is, the terminal needs to perform services, the SA network is used to perform services. The network switching module can obtain the parameters of the SA network and / or the performance parameters of the services (which can reflect the performance of the services), and trigger the measurement-based network switching based on the parameters of the SA network and / or the performance parameters of the services (that is, triggering the switching in the case that the parameters reflect that the quality of the SA network is poor), that is, issuing a message of switching from the SA network to the 4G network to the modem, instructing the modem to switch from the SA network to the 4G network.
[0069] After receiving the message, the modem attempts to switch from the SA network to the 4G network. In this embodiment, it is assumed that the switching from the SA network to the 4G network is successful.
[0070] It can be understood that the network switching control module receives the network parameters and sends the message to the modem based on the framework shown in FIG. 1. Figure 3
[0071] S102, issuing a SA suppression message to the modem and starting a SA suppression timer.
[0072] The function of the SA suppression message is to prohibit switching from the 4G network to the SA network. The purpose of the SA suppression timer is to set the time length of prohibiting switching from the 4G network to the SA network. It can be understood that the purpose of S102 is to prevent the network from frequently switching in a short time, that is, to prevent network jitter.
[0073] In some implementations, the SA suppression message includes the identification of the 4G network but does not include the identification of the SA network, and the identification does not allow access to the SA network.
[0074] In some implementations, the SA suppression timer is a positive timer, for example, starting from 0. In other implementations, the SA suppression timer is a countdown timer, for example, counting down from a first time length to 0. The first time length can be pre-configured in the terminal.
[0075] It can be understood that the order of S101 and S102 is not limited.
[0076] S103, listening to the timeout of the SA suppression timer.
[0077] In some implementations, the SA timer is suppressed to start from an initial value, for example, 0, and to time out after a first time duration, and the SA timer is suppressed to time out. In other implementations, the SA timer is suppressed to start from the first time duration and to count down to an end value, for example, 0, and the SA timer is suppressed to time out.
[0078] It can be understood that, based on the role of suppressing the SA message and the SA timer, after the SA timer times out, the suppression of switching to the SA network should be released, but in the embodiment, in order to prevent the real-time battle game from being stuck or even disconnected due to network switching, the following steps are performed:
[0079] S104, judging whether the terminal is in a specified state and in a real-time battle game.
[0080] The specified state includes a micro-motion state or a static state.
[0081] The static state refers to absolute static state, which can be understood as that the position and pose (referred to as pose for short) of the terminal are both unchanged.
[0082] The micro-motion state refers to relative static state, which can be understood as that the position of the user using the terminal is unchanged. For example, if the user uses the terminal to play a game in a fixed position, the terminal is in the micro-motion state. That is, the position of the user is unchanged, and the pose of the terminal is changed in the process of being operated, but from the perspective of the user, the terminal is not moved from the current position of the user to another position.
[0083] In some implementations, whether the terminal is in the micro-motion state or the static state is judged based on data collected by a sensor in the terminal. For specific implementation manners, refer to Figure 5 In other implementations, the latest state is obtained from a state monitoring module as a basis for judging whether the terminal is in the specified state. The specific monitoring process of the state monitoring module will be described in Figure 5
[0084] In some implementations, different interfaces in the game are configured with unique identifiers. For example, the identifier of the main interface is 0, the identifier of the real-time battle interface is 1, and the identifier of the battle result display interface is 2. In this case, whether the terminal is in the real-time battle game is judged by the identifier of the game interface.
[0085] It can be understood that the order of judging whether the terminal is in the specified state and judging whether the terminal is in the real-time battle game is not limited.
[0086] If the terminal is in a real-time battle game, because the real-time battle game has a higher demand for lower latency, and the switching process of the first aspect network will cause the business to be blocked or even dropped, on the other hand, although the SA network has lower latency under normal circumstances, but as mentioned before, it has been switched from the SA network to the 4G network, which means that the quality of the SA network may still be poor, therefore, in order to reduce the negative impact of network switching on the real-time battle game, the terminal is inhibited from switching from the 4G network to the SA network, so S105 is executed.
[0087] If the terminal is in a specified state, it means that the user using the terminal is not moving, because the quality of the 4G network can support switching from the 5G network to the 4G network, which means that the quality of the 4G network at the location of the terminal (the location of the user) is good, therefore, in order to reduce the negative impact of network switching on the real-time battle game, the terminal is inhibited from switching from the 4G network to the SA network, so S105 is executed.
[0088] If the terminal is not in a real-time battle game, it means that the current business is not sensitive to latency, so there is no need to inhibit switching from the 4G network to the SA network, so S107 is executed.
[0089] If the terminal is not in a specified state, it means that the user using the terminal is moving, so it is possible that the network signal at the location where the user moves to is poor and affects the business, so it is necessary to release the switching from the 4G network to the SA network, that is, S107 is executed.
[0090] S105, listen to the state of the terminal and the business state, and obtain a listening result.
[0091] In some implementations, the receiving sensor is based on Figure 3 The sensor data transmitted by the framework is listened to. In other implementations, the listening result of the state listening module is called.
[0092] Based on the identification of the interface displayed in the terminal, the business state running in the terminal is listened to.
[0093] S106, judge whether the listening result is to exit the specified state or end the real-time battle game, if yes, execute S107, if not, execute S105.
[0094] S107, issue a message to release the inhibition of SA to the modem.
[0095] In some implementations, the message to release the inhibition of SA indicates the identification of SA, indicating that the SA network can be accessed.
[0096] It can be understood that after the modem receives the message of releasing the inhibition of SA, the terminal user can try to return to the SA network, which can be understood as switching to the SA network (such as the scenario of running business) or accessing the SA network (such as the scenario of displaying the desktop and running no business in the background).
[0097] From Figure 4 As can be seen from the flowchart shown in the embodiment, when the terminal user plays a real-time battle type game or a network delay sensitive type game under a high mode network and encounters a large application delay, a weak signal or the like, which leads to game lag, it is generally considered that the SA network environment is poor or the signal is weak during the game, and the 4G network environment is good. The network performance is improved by changing the mode (S101), and when it is detected that the terminal user is in a real-time battle game and the terminal user is in a micro-motion or static state (S104-S105), the network mode is not switched after the mode is changed, until the terminal user exits the micro-motion or static state, or the real-time battle game is ended, and then the inhibition of returning to the high mode network is released (S106-S107). It can be seen that the flowchart described in the embodiment is optimized in combination with the scenario in which the terminal user is located, which can improve the network environment performance with a high probability, and can also reduce the multiple lags caused by the possible triggering of multiple mode switching, thereby improving the game experience of the terminal user.
[0098] Figure 5 A flowchart for monitoring the state is disclosed in the embodiments of the present application.
[0099] For ease of understanding, the concepts to be used and the preprocessing flow are first described.
[0100] The sensor data is data collected by a sensor on the terminal, and the sensor includes but is not limited to a gyroscope and an acceleration sensor.
[0101] The sensor data includes a first parameter and a second parameter, the first parameter indicates micro-motion and / or static, and the second parameter indicates exit or entry. It can be understood that the sensor data at the same time may include multiple first parameters, and the multiple first parameters may include a value indicating micro-motion and a value indicating static. The value indicating micro-motion (the value of the first parameter) is referred to as micro-motion state data, and the value indicating static (the value of the first parameter) is referred to as static state data.
[0102] Before executing the flowchart shown in Figure 5 , the micro-motion state data and the static state data need to be registered (i.e., the preprocessing flow). In some implementations, in the case that the terminal screen is on, the state monitoring module obtains and stores the micro-motion state data and the static state data from the sensor, so as to identify the micro-motion state data and the static state data in the flowchart described in Figure 5 .
[0103] The entering micro-motion delay message is a message indicating a micro-motion state, and after the message is sent, the first time length is delayed for processing. The exiting micro-motion delay message is a message indicating an exiting micro-motion state, and after the message is sent, the second time length is delayed for processing. The entering static state delay message is a message indicating a static state, and after the message is sent, the first time length is delayed for processing. The exiting static state delay message is a message indicating an exiting static state, and after the message is sent, the second time length is delayed for processing.
[0104] The above messages are stored in a pre-configured storage space after being sent, and are processed by the state monitoring module after the delay time length is reached.
[0105] Figure 5 The method comprises the following steps:
[0106] S201, based on the received sensor data, a micro-motion state is monitored.
[0107] In some implementations, the micro-motion state data is monitored.
[0108] S202, it is judged whether to enter the micro-motion state or to exit the micro-motion state, if it is to exit the micro-motion state, S203 is executed, and if it is to enter the micro-motion state, S208 is executed.
[0109] As described above, it is judged whether to enter or exit based on the second parameter in the sensor data.
[0110] S203, it is judged whether there is an entering micro-motion delay message, if not, S204 is executed, and if yes, S206 is executed.
[0111] S204, it is judged whether there is an exiting micro-motion delay message, if not, S205 is executed, and if yes, S207 is executed.
[0112] S205, an exiting micro-motion delay message is sent, and the delay is set to 10 seconds.
[0113] The delay of 10 seconds means that the message is processed after being sent for 10 seconds. It can be understood that the 10 seconds is the second time length described above.
[0114] S206, the entering micro-motion delay message is deleted. After S206, S204 is executed.
[0115] S207, after the delay ends, the latest state is updated to be the exiting micro-motion.
[0116] From S201-S207, it can be known that after listening to the exit micro-motion state, it is firstly judged whether there is an entering micro-motion delay message. If yes, it is explained that the message is previously sent, and the message is deleted after listening to the exit micro-motion state, and the state listened to is updated in time. If there is no entering micro-motion delay message, it is judged whether there is an exit micro-motion delay message. If yes, it is explained that the exit micro-motion delay message has been sent previously, and it is not necessary to send repeatedly, but waits for the exit micro-motion delay message sent previously to update the latest state as the exit micro-motion after the delay ends. If there is no exit micro-motion delay message, the exit micro-motion delay message is sent and the delay is set, and the latest state is updated as the exit micro-motion after the delay ends.
[0117] After listening to the entering micro-motion, S208-S212 are executed.
[0118] S208, it is judged whether there is an exit micro-motion delay message. If no, S211 is executed, and if yes, S209 is executed.
[0119] S209, it is judged whether there is an entering micro-motion delay message. If no, S210 is executed, and if yes, S212 is executed.
[0120] S210, the entering micro-motion delay message is sent, and the delay is set for 5 seconds.
[0121] The delay for 5 seconds means that the message is processed after the message is sent for 5 seconds. It can be understood that the 5 seconds is the first time length. The purpose of the first time length being less than the second time length is to shorten the delay time length of the entering micro-motion delay message, so that the entering micro-motion delay message can be processed faster, that is, the priority of the entering micro-motion is higher than that of the exit micro-motion, so as to better guarantee the stability of the real-time service.
[0122] S211, the exit micro-motion delay message is deleted. After S211, S209 is executed.
[0123] S212, the latest state is updated as the entering micro-motion after the delay ends.
[0124] From S208-S212, it can be known that after listening to the entering micro-motion state, it is firstly judged whether there is an exit micro-motion delay message. If yes, it is explained that the message is previously sent, and the message is deleted after listening to the exit micro-motion state, and the state listened to is updated in time. If there is no exit micro-motion delay message, it is judged whether there is an entering micro-motion delay message. If yes, it is explained that the entering micro-motion delay message has been sent previously, and it is not necessary to send repeatedly, but waits for the entering micro-motion delay message sent previously to update the latest state as the entering micro-motion after the delay ends. If there is no entering micro-motion delay message, the entering micro-motion delay message is sent and the delay is set, and the latest state is updated as the entering micro-motion after the delay ends.
[0125] As mentioned before, it is possible to listen to both the micro-motion state and the still state. The process of listening to the still state is as follows:
[0126] S213, based on the received sensor data, listen to the still state.
[0127] In some implementations, listening to the still state data is listening to the still state.
[0128] S214, determine whether to enter the still state or exit the still state. If it is to exit the still state, execute S215, and if it is to enter the still state, execute S220.
[0129] As mentioned before, based on the second parameter in the sensor data, determine whether to enter or exit.
[0130] S215, determine whether there is an entry still delay message. If not, execute S218, if yes, execute S216.
[0131] S216, determine whether there is an exit still delay message. If not, execute S217, if yes, execute S219.
[0132] S217, send an exit still delay message and set a delay of 10 seconds.
[0133] The delay of 10 seconds means that the message is processed after a delay of 10 seconds after sending the message. It can be understood that the 10 seconds is the aforementioned second time length.
[0134] S218, delete the entry still delay message. After S218, execute S216.
[0135] S219, after the delay ends, update the latest state to exit still.
[0136] From S213-S219, it can be seen that after listening to the exit still state, if there is an entry still delay message sent before, delete the message, and update the state listened to in time. If there is no entry still delay message, determine whether there is an exit still delay message. If there is, it means that the exit still delay message has been sent before, and it is not necessary to send it again, but to wait for the exit still delay message sent before to update the latest state to exit still after the delay ends. If there is no exit still delay message, send the exit still delay message and set a delay, and update the latest state to exit still after the delay ends.
[0137] After listening to the entry still, execute S220-S224:
[0138] S220, determine whether there is an exit still delay message. If not, execute S221, if yes, execute S223.
[0139] S221, determining whether there is an entering static delay message, if not, performing S222, if yes, performing S224.
[0140] S222, issuing an entering static delay message and setting a delay of 5 seconds.
[0141] The delay of 5 seconds means that the message is processed after a delay of 5 seconds after the message is issued. It can be understood that the 5 seconds is the first time length mentioned above. The purpose of the first time length being less than the second time length is to shorten the delay time of the entering static delay message, so that the entering static delay message can be processed faster, that is, the priority of entering static is higher than that of exiting static, so as to better guarantee the stability of real-time services.
[0142] S223, deleting the exiting static delay message. After S223, S221 is performed.
[0143] S224, updating the latest state to entering static after the delay ends.
[0144] As can be seen from S220-S222, after listening to the entering static state, it is first determined whether there is an exiting static delay message. If there is, it means that the previously sent message is contrary to the current state listened to, and then the previously sent message is deleted, so as to update the state listened to in time.
[0145] If there is an entering static delay message that has been sent before, it is not necessary to send it again, but to wait for the entering static delay message sent before to update the latest state to entering static after the delay ends. If there is no entering static delay message, an entering static delay message is sent and a delay is set, and the latest state is updated to entering static after the delay ends.
[0146] As can be seen from the flowchart shown in Figure 5 The flowchart shown in
[0147] Taking entering micro-motion as an example, the state of entering micro-motion represented by the sensor data offsets the exiting micro-motion delay message issued in the previous 10 seconds, and the entering micro-motion delay message sent in the previous 5 seconds offsets the state of entering micro-motion represented by the sensor data. Based on the offset, the latest state is processed and obtained, which is beneficial to avoid frequent switching of the state (i.e. state jitter), so as to obtain a relatively stable state.
[0148] It can be understood that, based on the flowchart shown in Figure 5 Taking listening to the entering micro-motion state as an example after S211, and Figure 4Compared with the shown flow, an alternative solution is: after performing S211, in addition to continuing to perform S209, the latest state is updated to entering micro-motion based on the state of the entering micro-motion monitored, that is, the latest state is first updated to entering micro-motion regardless of whether there is an entering micro-motion delay message, so that the latest state is more synchronized with the result of the monitoring, that is, the updating is more real-time. In this case, after the (existing or generated in S210) entering micro-motion delay message delay ends, the latest state is again updated to entering micro-motion. It can be seen that this alternative solution has higher real-time performance.
[0149] The embodiment of the present application also provides a computer storage medium for storing a computer program, when the computer program is executed, the computer program is used for realizing The shown network switching control method.
Claims
1. A control method of network handover, characterized by, The application is applied to a terminal, the terminal supports at least a first wireless communication network and a second wireless communication network, the communication mode of the first wireless communication network is higher than that of the second wireless communication network, and the method comprises: using the first wireless communication network to operate a service; during the operation of the service, switching from the first wireless communication network to the second wireless communication network; in a micro-motion or static state, maintaining the state of using the second wireless communication network to operate the service; after exiting the micro-motion or static state, attempting to return to the first wireless communication network, the micro-motion or static state is a specified state, and the process of exiting the specified state comprises: if there is an entering specified state delay message, deleting the entering specified state delay message, if there is an exiting specified state delay message, updating the latest state to the exiting specified state after the delay of the exiting specified state delay message ends, and if there is no exiting specified state delay message, issuing an exiting specified state delay message and updating the latest state to the exiting specified state after the delay of the issued exiting specified state delay message ends.
2. The method of claim 1, wherein, The process of monitoring that the terminal is in the specified state comprises: monitoring that the terminal enters the specified state based on sensor data; updating the state of the terminal to enter the specified state by processing an entering specified state delay message, the entering specified state delay message being processed after a first time period of delay from sending.
3. The method of claim 2, wherein, The process of updating the state of the terminal to enter the specified state by processing the entering specified state delay message comprises: if there is no entering specified state delay message, sending the entering specified state delay message and setting the delay for the first time period; if there is an entering specified state delay message, updating the state of the terminal to enter the specified state after the delay of the specified state delay message ends.
4. The method according to claim 2 or 3, characterized in that, After the monitoring that the terminal enters the specified state, the process further comprises: deleting an exiting specified state delay message.
5. The method of claim 2, wherein, Before the process of exiting the specified state, the process further comprises: monitoring that the terminal exits the specified state based on the sensor data; the delay of the exiting specified state delay message ending comprises: the delay of the exiting specified state delay message ending after a second time period of delay from sending.
6. The method of claim 5, wherein, The first time period is less than the second time period.
7. The method according to any one of claims 1 to 6, characterized in that, The terminal comprises an application processor and a modem; Before the maintaining the state of using the second wireless communication network to operate the service in the micro-motion or static state, the process further comprises: the application processor sending a message of suppressing the first wireless communication network to the modem and starting a first wireless communication network timer; monitoring that the first wireless communication network timer times out.
8. The method of claim 7, wherein, The attempting to return to the first wireless communication network comprises: the application processor sending a message of releasing the suppression of the first wireless communication network to the modem; the modem attempting to return to the first wireless communication network.
9. The method according to claim 7 or 8, characterized in that, The switching from the first wireless communication network to the second wireless communication network comprises: The application processor sends a message to the modem for switching from the first wireless communication network to the second wireless communication network. The modem switches from the first wireless communication network to the second wireless communication network.
10. A terminal, characterized by comprising: Comprise: A memory and at least one processor; The memory is configured to store an application program, and the at least one processor is configured to execute the application program to implement the network switching control method according to any one of claims 1-9.
11. A computer storage medium, configured to store a computer program, wherein the computer program is executed to implement the network switching control method according to any one of claims 1-9.
Citation Information
Patent Citations
Network switching method and device and electronic equipment
CN112533261A