Method for controlling application function and related equipment

By using the router to identify and intercept data packets that do not conform to the pure mode, the problem of controlling terminal application functions is solved, and the effects of user time management and youth protection are achieved.

CN120750844APending Publication Date: 2025-10-03HONOR DEVICE CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202410973531.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-18
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

When using terminal applications, users are easily attracted by non-core functions, resulting in a waste of time. In particular, teenagers are exposed to unfavorable information in a variety of applications and lack effective means of function control.

Method used

The router identifies the characteristic information of the data packet and intercepts the data packets that do not match the list of pure mode applications, thereby restricting the functions of specific applications.

Benefits of technology

Effectively control terminal application functions, reduce the time users spend on non-core functions, and protect young people from the influence of adverse information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120750844A_ABST
    Figure CN120750844A_ABST
Patent Text Reader

Abstract

The invention discloses a method for controlling an application function and related equipment. The method for controlling the application function can be applied to the router. According to the method, the router can identify the feature information of the data packet sent by the controlled device, and intercepts the data packet when identifying that the feature information corresponding to the data packet belongs to the controlled feature information corresponding to the application in the pure mode application list. According to the method, the specific function of the specific application in the terminal connected to the router can be controlled, and the use requirement of a user for the function of the application is met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a method for controlling application functions and related equipment. Background Art

[0002] With the development of internet and wireless communication technologies, mobile phones, tablets, laptops, and other terminals are becoming increasingly popular, and their functions are becoming increasingly diverse. For example, the functions of a single application on a terminal are no longer just a single function, but are becoming increasingly diverse. Take communication applications as an example. Originally, communication applications only functioned for communication, but now they integrate communication, live streaming, short videos, games, and other functions. However, when using terminal applications, users are easily attracted to functions other than the core functions, resulting in them spending a lot of time on these other functions. Moreover, for adolescents and children, the diverse functions of applications also expose them to a wide variety of information, making them very likely to be deceived or exposed to information that is detrimental to their physical and mental health.

[0003] Therefore, how to control application functions is an urgent problem to be solved. Summary of the Invention

[0004] This application provides a method and related device for controlling application functions. Using this method, a router can identify the characteristics of data packets sent by a controlled device and intercept the packet if the corresponding characteristics match the controlled characteristics of an application in a list of pure mode applications. This method can limit the functions of specific applications on terminals connected to the router, satisfying user needs for application functionality.

[0005] In a first aspect, the present application provides a method for controlling application functions. The method can be applied to a router, wherein a communication connection is established between the router and a first terminal (or a communication connection exists between the router and the first terminal). The method may include: the router may receive a first data packet sent by the first terminal when the first terminal runs a first application, and, if the first terminal is a controlled device, based on the fact that the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application, and the first application is a target application, the router may intercept the first data packet.

[0006] Optionally, the present application provides a method for controlling application functions. The method can be applied to a router, wherein a communication connection is established between the router and a first terminal (or a communication connection exists between the router and the first terminal). The method may include: the router may receive a first data packet sent by the first terminal; and if characteristic information corresponding to the first data packet is first-category characteristic information corresponding to a target application, intercepting the first data packet.

[0007] In the solution provided in the present application, after the router receives the data packet sent by the controlled device, it can determine whether the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to the target application. If the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to the target application, the router can intercept the data packet. However, if the characteristic information corresponding to the data packet is not the first type of characteristic information corresponding to the target application, for example, the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to other applications other than the target application, or for example, the characteristic information corresponding to the data packet is the second type of characteristic information corresponding to the target application, the router can continue to send the data packet until the data packet is sent to the corresponding server, that is, the network server of the application corresponding to the data packet. Through this method, the router can intercept the data packet sent when a specific terminal device runs a specific application, thereby realizing the control of the function of the specific application in the specific terminal and meeting the user's demand for the use of the application function.

[0008] In some embodiments of the present application, after receiving a data packet sent by an uncontrolled device, the router may continue to send the data packet until the data packet is sent to the corresponding server.

[0009] In some embodiments of the present application, after receiving a data packet sent by a terminal device, the router can determine whether the terminal device sending the data packet is a controlled device based on the identifier of the terminal device carried in the data packet (for example, physical address, name, etc.).

[0010] In some embodiments of the present application, the control device itself can also act as a router. For example, the control device can enable a hotspot when using a mobile network. In this case, other devices can establish a communication connection (such as a WiFi connection) with the control device. Furthermore, the control device can determine the controlled device and the target application (i.e., the application with restricted functionality) and intercept data packets sent by the controlled device using the above method.

[0011] It should be noted that when the control device itself acts as a router, the target application can be pre-stored in the control device, or the control device can also obtain the target application from other devices (for example, external servers, other terminal devices, etc.). This application does not impose any restrictions on this.

[0012] It is understandable that the first application may be an application with limited functions, such as Figure 6E The first communication application, the second communication application and the first learning guidance application shown, for example Figure 6F A second communication application and a first study tutoring application are shown.

[0013] In some embodiments of the present application, when the first terminal is an uncontrolled device, the router may send the first data packet to the first network server, that is, the server corresponding to the first application.

[0014] In some embodiments of the present application, when the first terminal is a controlled device, if the characteristic information corresponding to the first data packet is not the first type of characteristic information of the target application, the router may send the first data packet to the server corresponding to the first application.

[0015] In a possible implementation, the characteristic information corresponding to the first data packet is not the first type of characteristic information of the target application, which may specifically include: the first application is the target application, and the characteristic information corresponding to the first data packet is the second type of characteristic information corresponding to the first application.

[0016] In another possible implementation, the characteristic information corresponding to the first data packet is not the first type of characteristic information of the target application, which may specifically include: the first application is not the target application.

[0017] In a possible implementation, the first application is not a target application, which may specifically include: the first application is not a function-controllable application. In this case, the feature database does not include feature information corresponding to the first application.

[0018] In another possible implementation, the first application is not the target application, which may specifically include: the first application is a function-controllable application, but the control device is not configured with a function to control the first application. In this case, the feature database may include feature information corresponding to the first application.

[0019] In some embodiments of the present application, the first terminal may be a controlled device (or controlled terminal) mentioned below, such as terminal 200.

[0020] In some embodiments of the present application, the first type of feature information may be the controlled feature information mentioned below, and the second type of feature information may be the uncontrolled feature information mentioned below.

[0021] In some embodiments of the present application, the target application can be an application determined by the router itself (such as the case where the control device itself acts as a router as mentioned above), or the target application can be an application determined by other devices (such as the case where the control device mentioned below sends a list of pure mode applications to the router).

[0022] It is understandable that the communication connection can be a wired communication connection (for example, via an optical fiber connection) or a wireless communication connection (for example, a WiFi connection). For a specific description, please refer to the following text, which will not be elaborated in this application.

[0023] In conjunction with the first aspect, in one possible implementation, a communication connection is established between the router and the second terminal. The target application is an application in a first application list. Before the router receives a first data packet sent by the first terminal when running the first application, the method may further include: in response to an operation to start the router, the router may read characteristic information in a first file; and the router may also receive the first application list sent by the second terminal. The characteristic information in the first file may include characteristic information corresponding to all applications in the first application list.

[0024] In the solution provided in this application, when the router starts up, it can read the feature information in the feature database. The feature database can originally be stored in the router's memory. When the router starts up, it can be parsed (for example, decrypted, converted to a different format, etc.) and read into the memory for immediate access, without having to wait until a data packet is received to read the feature information. This can improve message processing to a certain extent and reduce the time it takes to intercept or forward data packets. In addition, the control device connected to the router can send a set list of controlled applications (i.e., the pure mode application list mentioned below, such as the first application list, the second application list, etc.) to the router. In this way, after the router receives a data packet sent by the terminal device, it can determine whether the data packet needs to be intercepted based on the controlled application list. It is understandable that the control device connected to the router can also send the set identifier of the controlled device to the router. In this way, after the router receives a data packet sent by the terminal device, it can determine whether the data packet is sent by the controlled device. The above method can realize the setting of controlled devices and controlled applications through the control device, which can meet the needs of users in specific scenarios (for example, in a family scenario, a parent can use the terminal device they use to set the terminal device used by the child as a controlled device and set the controlled application).

[0025] In some embodiments of the present application, the second terminal may be the control device (or control terminal) mentioned below, such as terminal 100.

[0026] In some embodiments of the present application, the first application list may be the pure mode application list mentioned below.

[0027] In some embodiments of the present application, the first application list may be as follows: Figure 6E As shown in the pure mode application list, in this case, the first application list may include a first communication application, a second communication application, and a first study tutoring application.

[0028] In some embodiments of the present application, the first file may be the feature database mentioned below. According to the relevant description below, in one possible implementation, the feature database may be an encrypted file. In other words, the first file may be stored in the router in the form of an encrypted file.

[0029] It is understood that the first file may include feature information corresponding to one or more applications, specifically including first-category feature information (i.e., controlled feature information referred to below) and second-category feature information (i.e., uncontrolled feature information referred to below) corresponding to the one or more applications. This allows for greater convenience when subsequently updating the first file (or upgrading the feature database) by directly updating the original second-category feature information to the first-category feature information without the need to add additional feature information.

[0030] In some embodiments of the present application, the first file may include only the controlled feature information corresponding to the one or more applications, and not the uncontrolled feature information corresponding to the one or more applications. In this way, the router needs to read less feature information from the memory, which can reduce memory usage and, to a certain extent, improve the efficiency of subsequent determination of whether to intercept data packets.

[0031] It should be noted that the first file may include not only the characteristic information corresponding to all applications in the controlled application list, but also the characteristic information corresponding to other applications. In the case where the controlled application list includes all applications with controllable functions, the characteristic information in the first file is the characteristic information corresponding to all applications in the controlled application list. In the case where the controlled application list includes applications with some controllable functions (i.e., not all applications with controllable functions are set as controlled applications), in addition to the characteristic information corresponding to all applications in the controlled application list, the first file may also include the characteristic information corresponding to other applications (i.e., applications that can be set as controlled applications but are not set as controlled applications, or applications with controllable / restricted functions but are not set as controlled applications).

[0032] In conjunction with the first aspect, in one possible implementation, after the router intercepts the first data packet, the method may further include: the router may receive a second application list sent by the second terminal, the second application list not including the first application; the router may also receive a second data packet sent by the first terminal when the first terminal is running the first application; and if the first terminal is a controlled device, the router may, based on the fact that the second application list does not include the first application, send the second data packet to a first network server. The first network server is a server corresponding to the first application.

[0033] In the solution provided in the present application, the control device can update the list of controlled applications (ie, the pure mode application list mentioned below), thereby more flexibly controlling the controlled device and the applications in the controlled device.

[0034] In some embodiments of the present application, the second application list may be the pure mode application list mentioned below. Compared with the first application list, the second application list may be understood as an updated pure mode application list.

[0035] In some embodiments of the present application, the second application list can be as follows: Figure 6F As shown in the pure mode application list, in this case, the first application list may include the second communication application and the first study tutoring application.

[0036] In some embodiments of the present application, the first network server may be as follows: Figure 2 The server (or network server) shown.

[0037] It should be noted that the first data packet and the second data packet can be understood as data packets sent by the first terminal to the router when the user uses the first application of the first terminal.

[0038] In some embodiments of the present application, the first application may be a first communication application. For example, the first application list may be as follows: Figure 6E As shown in the pure mode application list, the second terminal can cancel the first communication application as a controlled application, and accordingly, the second application list can be as follows Figure 6F The list of pure mode apps shown.

[0039] It is understood that after receiving the second data packet, the router can determine that the characteristic information corresponding to the second data packet does not correspond to the first type of characteristic information corresponding to an application in the second application list, and then send the second data packet to the first network server. In other words, the aforementioned determination that the second application list does not include the first application can be achieved by determining that the characteristic information corresponding to the second data packet does not correspond to an application in the second application list.

[0040] In combination with the first aspect, in a possible implementation, when the first terminal is a controlled device, the router intercepts the first data packet based on that the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application, and the first application is the target application. Specifically, it may include: when the first terminal is a controlled device, the router may determine whether the first data packet is a data packet of a preset category; when the first data packet is a data packet of the preset category, the router may intercept the first data packet based on that the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application, and the first application is the target application.

[0041] In the solution provided by the present application, after the router receives the data packet sent by the terminal device, it can first determine whether the terminal device that sent the data packet is a controlled device. If the terminal device that sent the data packet is not a controlled device, the router can continue to send the data packet (that is, send the data packet to the next-level device according to the network topology as mentioned below). If the terminal device that sent the data packet is a controlled device, the router can then determine whether the data packet is a data packet of a preset category. If the data packet is not a data packet of a preset category, the router can continue to send the data packet. If the data packet is a data packet of a preset category, the router can determine whether the characteristic information corresponding to the data packet is the first category of characteristic information corresponding to the target application. In this way, the router can first determine the data packet category, that is, first perform a screening based on the data packet category, thereby reducing the amount of data in the subsequent process of identifying characteristic information.

[0042] It is understandable that the relevant description of the preset categories can be found below, and this application will not elaborate on it here.

[0043] In some embodiments of the present application, after determining that the terminal device sending a data packet is a controlled device, the router can directly determine whether the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to the target application, without having to determine the type of the data packet. This method is simple and convenient, reducing the complexity of the processing flow and the error rate of intercepted data packets.

[0044] In combination with the first aspect, in one possible implementation, the preset category of data packets includes any one or more of data packets transmitted based on a connection-oriented network transmission protocol, data packets transmitted based on a connectionless network transmission protocol, and data packets carrying key domain names.

[0045] In the solution provided in this application, the preset category can be set based on the network transmission protocol, so that the router can first identify and filter the data packets sent based on the specific network transmission protocol when the user uses the controlled device.

[0046] It is understandable that the preset category of data packets may also include data packets transmitted based on other network transmission protocols, and this application does not limit this.

[0047] In conjunction with the first aspect, in one possible implementation, each characteristic information may correspond to an identifier. The router intercepting the first data packet based on the characteristic information corresponding to the first data packet being first-category characteristic information corresponding to the first application, and the first application being the target application, may specifically include: the router determining a first identifier, where the first identifier is an identifier included in the characteristic information corresponding to the first data packet; the router determining whether the first identifier is an identifier included in the first-category characteristic information corresponding to the target application; and the router intercepting the first data packet based on the first identifier being an identifier included in the first-category characteristic information corresponding to the target application.

[0048] In the solution provided in the present application, when the router identifies the characteristic information corresponding to the data packet, it can first search for the corresponding characteristic information in the characteristic information it reads into the memory (for example, characteristic information that partially overlaps with the specific message field of the data packet, or characteristic information that completely overlaps with the specific message field of the data packet, etc.), determine the identifier corresponding to the characteristic information (its meaning is the same as the characteristic identifier mentioned below, which is used to uniquely identify the characteristic information), and then determine whether the identifier is the identifier of the first type of characteristic information corresponding to the application in the controlled application list. If the identifier is the identifier of the first type of characteristic information corresponding to the application in the controlled application list, the router can intercept the data packet it receives. However, if the identifier is not the identifier of the first type of characteristic information corresponding to the application in the controlled application list, the router can continue to send the data packet it receives. This method can determine whether the data packet needs to be intercepted based on the identifier corresponding to the characteristic information, which can reduce the data that needs to be processed in the subsequent judgment process, thereby simplifying the process.

[0049] In some embodiments of the present application, the router determines the first identifier, which may specifically include: the router may determine the first characteristic information from the characteristic information included in the first file, the first characteristic information being characteristic information corresponding to the message of the preset field in the first data packet (i.e., the specific message field mentioned below); the router may also determine the first identifier based on the first characteristic information, the first identifier being the identifier corresponding to the first characteristic information.

[0050] In some embodiments of the present application, each piece of characteristic information may correspond to an identifier, specifically including: each piece of characteristic information may include an identifier, and the identifiers included in different characteristic information are different.

[0051] In some embodiments of the present application, each feature information may correspond to multiple identifiers, for example, one feature information may correspond to a feature identifier and an application identifier. The feature identifier is used to uniquely identify the feature information, and the application identifier is used to identify the application corresponding to the feature information. In one possible implementation, the feature information may include a feature identifier, an application identifier, and a message feature. In this case, the router may first search for the corresponding feature information in the feature information it reads into the memory, determine the feature identifier and application identifier corresponding to the feature information, and then determine whether the application identifier is the identifier corresponding to the application in the controlled application list, and whether the feature identifier is the identifier corresponding to the first type of feature information. If the application identifier is the identifier corresponding to the application in the controlled application list, and the feature identifier is the identifier corresponding to the first type of feature information, the router may intercept the data packet it receives. However, if the application identifier is not the identifier corresponding to the application in the controlled application list, or if the application identifier is the identifier corresponding to the application in the controlled application list, but the feature identifier is not the identifier corresponding to the first type of feature information, the router may continue to send the data packet it receives.

[0052] In conjunction with the first aspect, in one possible implementation, before the router receives a first data packet sent by a first terminal when running a first application, the method may further include: the router may receive a preset physical address sent by a second terminal. Where the preset physical address includes the physical address of the first terminal carried in the first data packet, the first terminal is a controlled device.

[0053] In the solution provided by this application, after the control device sets the controlled device, it can send its corresponding identifier to the router. After receiving the data packet, the router can compare the identifier corresponding to the controlled device with the identifier of the terminal device carried in the received data packet to determine whether the received data packet is sent by the controlled device. This method can first filter out data packets sent by non-controlled devices, eliminating the need to identify the characteristic information of data packets sent by non-controlled devices. This can reduce the amount of data that needs to be processed when identifying the characteristic information, simplifying the process to a certain extent.

[0054] It is understandable that the identifier corresponding to the controlled device can be its corresponding physical address (ie, MAC address), its name, or other content, and this application does not impose any restrictions on this.

[0055] In some embodiments of the present application, the preset physical address may be a physical address corresponding to the controlled device.

[0056] In combination with the first aspect, in a possible implementation, the method may further include: the router may detect whether the feature information in the first file is updated through the OTA server; when the feature information in the first file is updated, the router may receive the updated version information sent by the OTA server; when the updated version information is inconsistent with the version information corresponding to the currently used first file, the router may download the upgrade package and update the feature information in the first file based on the upgrade package.

[0057] In the solution provided by this application, the router can update the feature information through the OTA server. When the OTA server determines that the feature information has been updated, it can send the updated version information to the router. After receiving the updated version information, the router can compare the updated version information with the version information of the feature database (for example, the first file) currently used by the router. If the updated version information is inconsistent with the version information of the feature database currently used by the router, the router will download the upgrade package and update the feature information in the feature database based on the upgrade package.

[0058] In some embodiments of the present application, the router may detect whether the feature database is updated through the OTA server at preset intervals. The specific implementation method can be referred to below and will not be described in detail in this application.

[0059] In some embodiments of the present application, the OTA server may update the feature database based on historical feature information and / or user feedback.

[0060] In some embodiments of the present application, the OTA server may use an AI model or other methods to update the feature database, which is not limited in this application.

[0061] In the second aspect, the present application provides a method for controlling application functions. The method can be applied to a second terminal, and a communication connection is established between the second terminal and the router. The method may include: the second terminal may display a first interface, the first interface is the user interface of the second application, and the second application is used to manage the connection between the router and other devices; in response to a first operation on the first interface, the second terminal may display a second interface, and send an identifier corresponding to the application in the first application list to the router. The second interface may include a first control corresponding to the application in the first application list, and, in the second interface, the first control corresponding to the application included in the first application list is in a first state. Among them, for a data packet sent by the first terminal to the router, when the first terminal is a controlled device and the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to the application in the first application list, the data packet is intercepted by the router. A communication connection is established between the first terminal and the router.

[0062] In the solution provided in the present application, the control device connected to the router can set a controlled application list (i.e., the pure mode application list mentioned below). Accordingly, the router can intercept the data packets sent by a specific terminal device when running a specific application based on the controlled application list, thereby realizing the control of the functions of the specific application in the specific terminal and meeting the user's requirements for the use of the application functions.

[0063] In some embodiments of the present application, the first state may be the selected state mentioned below.

[0064] In some embodiments of the present application, the second application may be the router management application mentioned below.

[0065] In some embodiments of the present application, in response to clicking the clean mode app list setting control (e.g., Figure 6C and Figure 6D The second terminal may display the first interface by operating the pure mode application list setting control 32 shown.

[0066] In one possible implementation, the first interface may include an activation list switch (e.g., activation list switch 41), and the activation list switch is in an off state. In this case, the first operation may be an operation on the activation list switch, such as clicking, double-clicking, or long pressing the activation list switch. The second interface may include an activation list switch in an on state. For example, the second interface may be as follows: Figure 6E The user interface shown.

[0067] In another possible implementation, the first interface may include an enable list switch, and the enable list switch is in an on state, and the first interface may also include one or more first controls corresponding to applications. In this case, the first operation may be an operation on the first control corresponding to the application. The second interface may include an enable list switch in an on state. And the first interface and the second interface include at least one first control in different states. For example, the first interface may be as follows Figure 6E The user interface shown in FIG. 1 may be a second interface such as Figure 6F The user interface shown.

[0068] In some embodiments of the present application, the first controls corresponding to different applications are different controls. The first control can be used to select a controlled application. For example, Figure 6E As shown, the first control corresponding to the first communication application is the first communication application control 421 , the first control corresponding to the second communication application is the second communication application control 422 , and the first control corresponding to the first learning guidance application is the first learning guidance application control 423 .

[0069] In some embodiments of the present application, the identifier corresponding to the application may be the application identifier mentioned below. In one possible implementation, the identifier corresponding to the application may be the application name of the application. Of course, the identifier corresponding to the application may also be represented in other ways, which are not limited by the present application.

[0070] In conjunction with the second aspect, in one possible implementation, the first application list includes a first application, and the second interface includes a first control corresponding to the first application, and the first control corresponding to the first application in the second interface is in a first state. After the second terminal sends an identifier corresponding to the application in the first application list to the router, the method may further include: in response to a second operation on the first control corresponding to the first application in the first state, the first control corresponding to the first application in the second state may be displayed on the second interface, and the router may send the identifier corresponding to the application in the second application list to the router. The second application list does not include the first application.

[0071] In the solution provided in the present application, the control device can update the list of controlled applications and send the updated list of controlled applications to the router. Accordingly, the router can intercept the data packets sent by a specific terminal device when running a specific application based on the updated list of controlled applications, thereby achieving control over the functions of the specific application in the specific terminal and meeting the user's requirements for the use of the application functions.

[0072] In some embodiments of the present application, the second state may be the unselected state mentioned below.

[0073] In some embodiments of the present application, the first application may be a first communication application, and the first control corresponding to the first application may be a first communication application control. For example, before receiving the second operation, the second interface may be as follows: Figure 6E The user interface shown in FIG. 1 may be configured as follows after receiving the second operation and responding to the second operation. Figure 6F In this case, the first application list can be as follows Figure 6E The pure mode application list shown, the second application list can be as follows Figure 6F The list of pure mode apps shown.

[0074] In combination with the second aspect, in a possible implementation, the method may further include: the second terminal may display a third interface, the third interface may include a second control in a first state, and the second control may be used to control the function of the target application in the first terminal; in response to a third operation on the second control in the first state, the second control in the second state may be displayed on the third interface, and the second terminal may send the physical address of the first terminal to the router.

[0075] In the solution provided in the present application, the control device can set a controlled device and send the identification of the controlled device to the router. Accordingly, the router can distinguish between data packets sent by the controlled device and data packets sent by uncontrolled devices based on the identification of the controlled device, which can reduce the amount of data that the router needs to process when subsequently identifying feature information to a certain extent.

[0076] In some embodiments of the present application, the second state may be the unselected state mentioned below, and the first state may be the selected state mentioned below.

[0077] In some embodiments of the present application, the second control may be a switch corresponding to a terminal device connected to the router. For example, the second control may be Figure 6C and Figure 6D The third operation can be for example Figure 6C Before receiving the third operation, the third interface may be as follows Figure 6C The user interface shown in FIG. 1 may be a second control in the second state. Figure 6C The switch 311 shown in FIG. 31 may, after receiving the third operation and responding to the third operation, display the third interface as follows: Figure 6D The user interface shown in FIG. 1 may be a second control in the first state. Figure 6D Switch 311 is shown.

[0078] In some embodiments of the present application, the first terminal may be Figure 6C and Figure 6D The terminal device corresponding to the switch 311 shown is the terminal 200.

[0079] In a third aspect, the present application provides an electronic device. The electronic device includes one or more memories and one or more processors; the one or more memories are coupled to the one or more processors, the memories are used to store computer program code, the computer program code includes computer instructions, and the one or more processors invoke the computer instructions to cause the electronic device to perform the method described in the first aspect or any possible implementation of the first aspect, or the one or more processors invoke the computer instructions to cause the electronic device to perform the method described in the second aspect or any possible implementation of the second aspect.

[0080] It should be noted that the electronic device involved in this application can be a terminal device or a router, and this application does not impose any specific restrictions on this.

[0081] In a fourth aspect, the present application provides a computer storage medium. The computer storage medium includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method described in the first aspect or any one of its implementations; or, when executed on an electronic device, cause the electronic device to perform the method described in the second aspect or any one of its possible implementations.

[0082] In a fifth aspect, embodiments of the present application provide a chip. The chip can be applied to an electronic device, and the chip includes one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the method described in the first aspect or any possible implementation of the first aspect, or the processors being configured to invoke computer instructions to cause the electronic device to perform the method described in the second aspect or any possible implementation of the second aspect.

[0083] In a sixth aspect, embodiments of the present application provide a chip system that can be applied to an electronic device. The chip system includes one or more processors configured to invoke computer instructions to cause the electronic device to perform the method described in the first aspect or any possible implementation of the first aspect, or to invoke computer instructions to cause the electronic device to perform the method described in the second aspect or any possible implementation of the second aspect.

[0084] In some embodiments of the present application, the chip system may be an application processor (AP) or a system on chip (SoC) including an AP. The method described in the first aspect or any one of the implementations of the first aspect may be implemented by an AP, and the method described in the second aspect or any one of the implementations of the second aspect may be implemented by an AP.

[0085] In some other embodiments of the present application, the chip system may include an AP and other modules, wherein the other modules may be a modem processor (also referred to as a baseband processor).

[0086] In a seventh aspect, an embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on an electronic device, the electronic device executes the method described in the first aspect or any possible implementation of the first aspect, or when the computer program product is run on an electronic device, the electronic device executes the method described in the second aspect or any possible implementation of the second aspect.

[0087] It is understood that the electronic device provided in the third aspect, the computer storage medium provided in the fourth aspect, the chip provided in the fifth aspect, the chip system provided in the sixth aspect, and the computer program product provided in the seventh aspect are all used to execute the method described in the first aspect or any one of the implementations of the first aspect, or the method described in the second aspect or any one of the implementations of the second aspect. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects of any possible implementation of the first aspect or any possible implementation of the second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0088] Figure 1A and Figure 1B A set of user interface schematic diagrams provided for embodiments of the present application;

[0089] Figure 2 A schematic diagram of a communication architecture provided in an embodiment of the present application;

[0090] Figure 3 A schematic diagram of a home network provided in an embodiment of the present application;

[0091] Figure 4A A schematic diagram of the hardware structure of a router provided in an embodiment of the present application;

[0092] Figure 4B A schematic diagram of the software structure of a router provided in an embodiment of the present application;

[0093] Figure 5A A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;

[0094] Figure 5B A schematic diagram of the software structure of a terminal device provided in an embodiment of the present application;

[0095] Figures 6A-6F Another set of user interface schematic diagrams provided for embodiments of the present application;

[0096] Figure 7 A flow chart of a method for controlling application functions provided in an embodiment of the present application;

[0097] Figure 8 A schematic diagram of a feature database provided in an embodiment of the present application;

[0098] Figure 9 A flow chart of another method for controlling application functions provided in an embodiment of the present application;

[0099] Figure 10 A schematic diagram of software and hardware interaction provided in an embodiment of the present application;

[0100] Figure 11 A flowchart for upgrading a feature database provided in an embodiment of the present application. DETAILED DESCRIPTION

[0101] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0102] It should be understood that the terms "first," "second," and the like in the specification, claims, and drawings of this application are used to distinguish between different objects, rather than to describe a particular order. Furthermore, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements, but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or apparatus.

[0103] It should be understood that the term "user interface" in the specification, claims, and drawings of this application refers to the media interface for interaction and information exchange between an application or operating system and a user. A common form of user interface is a graphical user interface (GUI), which refers to a user interface related to computer operations that is displayed graphically. It can be an interface element such as an icon, window, or control displayed on the display screen of a terminal device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.

[0104] References to "embodiments" in this application mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described in this application may be combined with other embodiments.

[0105] With the development of Internet technology and wireless communication technology, the popularity of terminals such as mobile phones, tablet computers, and laptops has increased, and the functions of these terminals have become more and more diversified. For example, the function of a single application in a terminal is no longer a single function, but is becoming more and more diversified. In this case, on the one hand, when users use an application (which can be referred to as an application), they are easily attracted by other functions besides the core function, which causes them to spend a lot of time on the other functions. For example, the core function of a communication application in a terminal is the communication function. In addition, other functions such as short videos and live broadcasts are also integrated. Figure 1A The user interface of a communication application is shown, which may include a circle of friends control, a video number control, a live broadcast control, a scan control, and a mini-program control. Users can watch short videos by clicking on the video number control, watch live broadcasts by clicking on the live broadcast control, and play games, book tickets, rent houses, etc. by clicking on the mini-program control. In some scenarios, users want to limit these functions of the communication application. On the other hand, for minors, due to the diversity of application functions, the information they are exposed to in the process of using the application is also diverse, and guardians hope to control the functions of some applications. For example, a learning tutoring application in the terminal integrates search and answering functions, homework grading functions, exam simulation functions, and online class functions. Figure 1B The user interface of a learning tutoring app is shown. This app may include controls for searching and answering questions, grading homework, practicing exams, and taking online classes. For some guardians, restricting certain features of the app (such as searching and answering questions) in certain scenarios (such as completing online homework via a terminal) may be more helpful for minors to learn independently.

[0106] Based on the above, embodiments of the present application provide a method for controlling application functions and related devices. This method for controlling application functions can be applied to routers. According to this method, the router can identify the characteristic information of a data packet sent by a controlled device and intercept the data packet if the characteristic information corresponding to the data packet is identified as the controlled characteristic information corresponding to an application in the list of pure mode applications. This method can control specific functions of specific applications in terminals connected to the router, meeting user needs for application functions.

[0107] The following introduces the concepts of the control device, controlled device and pure mode involved in the embodiments of the present application.

[0108] 1. Control equipment

[0109] The control device is also called the control terminal. The control device involved in the embodiments of the present application can manage the controlled devices and the list of pure mode applications. That is to say, the control device refers to a device that can control the application functions in other terminals. In some embodiments of the present application, the control device can manage the controlled devices (for example, setting the controlled devices, canceling the originally set controlled devices, etc.) and the list of pure mode applications (for example, adding or removing applications that can be in pure mode in the controlled devices) through the router management application.

[0110] 2. Controlled equipment

[0111] A controlled / controlled device is also referred to as a controlled / controlled terminal. The controlled device involved in the embodiments of the present application refers to a device whose application functions can be controlled by the controlling device, that is, the functions of the applications in the controlled device can be controlled by the controlling device. In some embodiments of the present application, the controlling device can control one or more applications in the controlled device to be in pure mode by setting a list of controlled devices and pure mode applications, thereby limiting the functions of the one or more applications.

[0112] 3. Pure Mode

[0113] If an application in a device enters pure mode (or is in pure mode), the functionality of the application may be restricted. Pure mode is only an exemplary name provided in the embodiments of this application, and this application does not limit this. For example, pure mode can also be called simple mode, healthy mode, underage mode, child mode, or youth mode. For another example, pure mode can also be called preset mode.

[0114] The following describes the communication architecture involved in the embodiments of the present application.

[0115] See also Figure 2 , Figure 2 This is a schematic diagram of a communication architecture provided in an embodiment of the present application. Figure 2 The communication architecture shown may include a terminal device (referred to as a terminal), a router, an optical network access device, and a server (or network server). The terminal device establishes a communication connection with the router, and the router is connected to the server via the optical network access device.

[0116] Understandable, Figure 2The terminal device in the communication architecture shown can be a mobile phone, tablet computer, personal computer (PC), wearable device, vehicle-mounted device, augmented reality (AR) / virtual reality (VR) device, laptop computer, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA) or a dedicated camera (e.g., SLR camera, card camera) and other devices. The embodiment of the present application does not limit the specific type of terminal device. For example, Figure 2 The terminal device shown may include terminal 100 and terminal 200 mentioned below.

[0117] In some embodiments of the present application, the optical network access device may be an optical network terminal (ONT).

[0118] Understandable, Figure 2 The optical network access device in the communication architecture shown can be an optical modem, a switch or other device. The embodiment of the present application does not limit the specific type of the optical network access device.

[0119] Understandable, Figure 2 The servers in the communication architecture shown can be content service provider servers. Content service provider servers are servers owned and operated by network content providers (NCPs) or network service providers. These servers are dedicated to storing, processing, and distributing various types of digital content, including but not limited to text, images, audio, video, applications, and online services. For example, when a user engages in a video chat through a communication application on a terminal device, they ultimately connect to the server corresponding to the communication application.

[0120] In some embodiments of the present application, the communication connection established between the terminal device and the router is a wireless communication connection, and the router can send a wireless network signal to the terminal connected to the router (or the terminal that establishes a communication connection with the router). In some embodiments of the present application, the communication connection established between the router and the optical network access device is a wired communication connection. For example, the optical network access device can be an optical modem. In this case, the router can be connected to the optical modem via a network cable. For example, one end of the network cable can be connected to the wide area network interface of the router (usually marked with "WAN" or "Internet", which can be simply referred to as the WAN port), and the other end can be connected to the local area network interface of the optical modem (usually marked with "LAN" or "Ethernet", which can be simply referred to as the LAN port). Among them, the full name of WAN is Wide Area Network, which means wide area network in Chinese. Wide area network is also called external network or public network. It is a remote network that connects local area networks or metropolitan area networks in different regions for computer communication. Wide area network can span a large physical range. The full name of LAN is Local Area Network, which means local area network in Chinese. Local area network is a regional network formed in a local area. Its characteristic is that its distribution area is limited.

[0121] In some embodiments of the present application, the router can also ultimately access the server through multiple optical network access devices. For example, the router can be connected to the optical modem via a network cable, the optical modem can be connected to the optical line terminal (OLT) via an optical fiber, the OLT is then connected to the broadband remote access server (BRAS), the BRAS is connected to the backbone network (such as the operator backbone network), and then connected to the content service provider server through the backbone network. Among them, OLT is the core terminal device in the passive optical network (PON). BRAS plays a core role in access control, management and policy execution in PON and other broadband network architectures. It is the link between the PON network and the wider Internet world, and ensures that PON users can access Internet services efficiently and securely by providing functions such as authentication, billing, business control and security. In one possible implementation method, the process of the optical modem connecting to the optical line terminal can pass through a fiber splitter box and an optical junction box (or optical cable junction box).

[0122] In some embodiments of the present application, Figure 2The router in the illustrated communication architecture can be a mobile wireless router. In this case, the router accesses the network through a base station, rather than an optical network access device. Specifically, the router receives mobile network signals from carrier base stations and converts them into wireless fidelity (WiFi or Wi-Fi) signals (referred to as wireless signals or WiFi signals for short), allowing multiple devices to connect and share the network connection.

[0123] It should be noted that users can use a terminal device (referred to as a control device or control terminal) to manage the connection between the router and other devices, wireless network passwords, controlled terminal devices (referred to as controlled / controlled devices or controlled / controlled terminals), and the list of pure mode applications. The control terminal and controlled terminal are both connected to the router, which can also be referred to as establishing wireless communication connections between the control terminal and the controlled terminal.

[0124] It is understandable that in a home networking scenario, one or more terminals can be connected to a router wirelessly or wired to a router, the router can be connected to an optical modem via a network cable, and the optical modem can access a wide area network and finally connect to a server. For example, Figure 3 As shown, in the home networking scenario, the optical modem is connected to the home optical fiber, and the optical modem is connected to the router via a network cable. The mobile phone, tablet computer and laptop computer are wirelessly connected to the router, and the smart screen is connected to the router via a network cable. The devices connected to the router share the wireless network.

[0125] The following describes the device involved in the embodiments of the present application.

[0126] The following describes the hardware structure of the router involved in the embodiments of the present application.

[0127] See also Figure 4A , Figure 4A The hardware structure diagram of a router provided in the embodiment of the present application is shown in FIG. Figure 4AAs shown, the router may include a processor, a memory, and a communication interface. The processor may include one or more processing units. The processor may make routing and forwarding decisions based on the routing table and the forwarding table, and send the data packet to the correct output interface. The memory may be used to store the routing table and the forwarding table, and may also be used to store computer executable program code, and the executable program code includes instructions. The processor executes various functional applications and data processing of the router by running the instructions stored in the memory. The memory may include a high-speed random access memory, and may also include a non-volatile memory, for example, at least one disk storage device, a flash memory device, a universal flash memory (UFS), etc. The communication interface is used to receive data sent from the outside and / or send data to the outside, and may include a wired link interface such as an Ethernet cable, or may include a wireless link (for example, WiFi, Bluetooth, universal wireless transmission, etc.) interface. Optionally, the communication interface may also include a transmitter (for example, a radio frequency transmitter, an antenna, etc.) coupled to the interface, or a receiver, etc.

[0128] It is understandable that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the router. It is understandable that the illustrated components can be implemented in hardware, software, or a combination of software and hardware. In some embodiments of the present application, the router may include more components than shown in the diagram. For example, the router may include a mobile communication module. The mobile communication module may be coupled to an antenna and interact with a base station through the coupled antenna. In some other embodiments of the present application, the router may include fewer components than shown in the diagram, or combine certain components, or split certain components, or arrange the components differently. The interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration and does not constitute a structural limitation on the router.

[0129] The following describes the software structure of the router involved in the embodiments of the present application.

[0130] See also Figure 4B , Figure 4B A schematic diagram of the software structure of a router provided in an embodiment of the present application.

[0131] like Figure 4B As shown in the figure, the software structure of the router is divided into the application layer (or application layer), hardware abstraction layer (HAL), kernel layer (Kernel) and driver layer from top to bottom. The details are as follows:

[0132] The application layer may include a message system, a framework system, protocol components, and application components.

[0133] The message system can provide basic communication capabilities between different module services. The framework system can provide an application programming interface (API) for the application layer. The framework system can include some predefined functions.

[0134] The protocol component mainly provides the ability to provide network protocol application layer services. The protocol component may include a service management module, a Dynamic Host Configuration Protocol (DHCP) module, and an Internet Protocol version 6 (IPv6) module. Among them, the service management module can be used to manage the upgrade of the feature database, as well as the application layer logic of the application control service. The DHCP module is a related protocol component of the DHCP protocol. DHCP is a network management protocol used to automatically assign IP addresses and other network configuration parameters (such as subnet masks, gateways, and domain name system servers) to devices in the network so that they can communicate. The IPv6 module is a related protocol component of the IPv6 protocol. That is to say, if a DHCP module is provided in a router, the router can work based on DHCP. Similarly, if an IPv6 module is provided in a router, the router can work based on IPv6.

[0135] Application components can be basic business application modules, including applications such as upgrades, log collection, and device connectivity. Application components can also include Over-The-Air (OTA) modules. OTA modules can be used to upgrade feature databases. In mobile and IoT devices, OTA refers to software or firmware updates performed over wireless networks. Users can complete updates over Wi-Fi or a mobile network without connecting their devices to a computer.

[0136] The Hardware Abstraction Layer (HAL) is an abstract interface for device kernel drivers, used to implement an application programming interface (API) that provides upper-layer software with access to underlying devices. The HAL may include pure mode control HAL middleware. The pure mode control HAL middleware enables intercommunication between the application layer and the kernel layer. In some embodiments of the present application, the pure mode control HAL middleware may include an interface for providing the application layer with access to the kernel layer for control policy management and service feature identification.

[0137] The kernel layer manages hardware resources, such as memory management, process scheduling, virtual file systems, network interfaces, and inter-process communication. The kernel layer runs directly on top of the hardware, interacting with it and providing a unified interface for upper layers to use, thus hiding the complexity of the hardware.

[0138] The kernel layer may include a kernel protocol stack, a control policy management module, and a service feature recognition engine. The kernel protocol stack may include an Internet Protocol version 4 (IPv4) protocol stack and an IPv6 protocol stack. The control policy management module may be used to decrypt, read, and update feature information in the data stream feature database, as well as control data packet forwarding. The service feature recognition engine may be used to identify feature information corresponding to data packets.

[0139] The driver layer is an extension of the kernel, primarily responsible for hardware connectivity and control. Drivers run in kernel space and communicate with other kernel programs to control hardware. Drivers need to communicate with the kernel layer so that the kernel can properly manage and control hardware devices. The driver layer can include WiFi drivers, Ethernet (ETH) drivers, and other drivers.

[0140] The following introduces the hardware structure of the terminal device involved in the embodiments of the present application.

[0141] See also Figure 5A , Figure 5A A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application.

[0142] like Figure 5A As shown, the terminal device may include: a processor, an external memory interface, an internal memory, a Universal Serial Bus (USB) interface, a charging management module, a power management module, a battery, antenna 1, antenna 2, a mobile communication module, a wireless communication module, a sensor module, a button, a motor, an indicator, a camera, a display, and a Subscriber Identity Module (SIM) card slot, etc. Among them, the audio module may include a speaker, a receiver, a microphone, an earphone interface, etc., and the sensor module may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc.

[0143] It is understandable that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device. It is understandable that the components illustrated can be implemented in hardware, software, or a combination of software and hardware. In some embodiments of the present application, the terminal device may include more components than shown. For example, the terminal device may include other types of sensors. In other embodiments of the present application, the terminal device may include fewer components than shown, or combine certain components, or split certain components, or arrange the components differently. The interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration and does not constitute a structural limitation on the terminal device.

[0144] A processor may include one or more processing units, such as an application processor (AP), a modem (also known as a baseband processor), a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), and / or a neural-network processing unit (NPU). The AP is responsible for running the operating system and applications, while the modem is responsible for processing various communication protocols.

[0145] The wireless communication function of the terminal device can be implemented through antenna 1, antenna 2, a mobile communication module, a wireless communication module, and a modem. The modem can interact with the base station through antennas (e.g., antenna 1, antenna 2, etc.). In some embodiments, antenna 1 of the terminal device is coupled to the mobile communication module, and antenna 2 is coupled to the wireless communication module, allowing the terminal device to communicate with the network and other devices using wireless communication technologies.

[0146] Terminal devices can achieve display functions through GPU, display, and application processor.

[0147] A GPU is a microprocessor for image processing that connects the display screen to the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. A processor may include one or more GPUs, which execute program instructions to generate or modify display information. A display screen is used to display images, videos, and the like. In some embodiments, a terminal device may include one or more display screens.

[0148] A camera captures still images or video. The ISP processes the data from the camera. Light passes through the lens and is transmitted to the camera's photosensitive element, where it is converted into an electrical signal. The camera's photosensitive element then transmits this electrical signal to the ISP for processing, transforming it into a visible image. A terminal device may include one or more cameras.

[0149] Internal memory can include one or more random access memories (RAM) and one or more non-volatile memories (NVM). RAM can be directly read and written by the processor and can be used to store executable programs (e.g., machine instructions) for the operating system or other running programs, as well as user and application data. NVM can also store executable programs and user and application data and can be pre-loaded into RAM for direct reading and writing by the processor.

[0150] In the embodiment of the present application, the code for implementing the method described in the embodiment of the present application can be stored in a non-volatile memory. When running the camera application, the terminal device can load the executable code stored in the non-volatile memory into the random access memory.

[0151] The external memory interface can be used to connect to an external non-volatile memory to expand the storage capacity of the terminal device.

[0152] The terminal device can implement audio functions through audio modules, speakers, receivers, microphones, headphone jacks, and application processors.

[0153] The operating system of the terminal device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a microservice architecture, or a cloud architecture. The embodiment of the present application takes the Android operating system with a layered architecture as an example to illustrate the software structure of the terminal device. It should be noted that although the embodiment of the present application is described using the Android operating system (which may be referred to as the Android system) as an example, its basic principles are also applicable to terminal devices based on operating systems such as iOS or Windows.

[0154] See also Figure 5B , Figure 5B A schematic diagram of the software structure of a terminal device provided in an embodiment of the present application.

[0155] The software structure of the terminal device adopts a layered architecture, which divides the software into several layers, each of which has a clear role and division of labor. The layers communicate with each other through software interfaces. Taking the Android system running on the AP as an example, in some embodiments of the present application, the software structure of the Android system is divided into five layers: from top to bottom, the application layer, the framework layer (Framework), the Android runtime (Android runtime) and system library, the hardware abstraction layer (HAL), and the kernel layer (Kernel).

[0156] Among them, the application layer may include a series of application packages. The application package may include applications such as camera, gallery, calendar, call, map, WLAN, Bluetooth, music, video, short message, etc. The application layer may also include a router management application. The router management application can be used to manage connected devices, set wireless signal connection passwords, and can also be used to set a list of pure mode applications, etc. The pure mode application list includes applications for setting pure mode. In some embodiments of the present application, the router management application may be a system application. In some embodiments of the present application, the router management application may be a third-party application. It is understandable that the name of the router management application is only an example given in this application, and this application does not limit this. The application layer may also include a system UI (System User Interface, system UI). The system UI is used to display the interface of the terminal device, such as displaying a note interface, displaying the signal icon corresponding to the SIM card, displaying a call interface, etc.

[0157] The framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The framework layer may include some predefined functions. For example, the framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc. The phone manager is used to provide terminal device call functions, such as call status management (including connection and hang-up).

[0158] The runtime is responsible for system scheduling and management. It consists of a core library and a virtual machine. The core library consists of two parts: one containing the functions called by the programming language (for example, Java) and the other containing the system's core library. The application layer and framework layer run in the virtual machine. The virtual machine executes application and framework layer programming files (for example, Java files) as binary files. The virtual machine manages object lifecycles, stacks, threads, security, exception management, and garbage collection.

[0159] The system library can include multiple functional modules, such as the Surface Manager, Media Libraries, 3D graphics processing libraries (e.g., OpenGL ES), and 2D graphics engines (e.g., SGL). The specific meanings and functions of these functional modules can be found in the relevant technical documentation and will not be explained in detail here.

[0160] The Hardware Abstraction Layer (HAL) is an interface layer between the operating system kernel and upper-level software. Its purpose is to abstract the hardware. The HAL is an abstract interface driven by the device kernel, used to implement application programming interfaces (APIs) that provide access to the underlying device to higher-level Java API frameworks. The HAL provides a standard interface that exposes device hardware capabilities to higher-level Java API frameworks. The HAL includes multiple library modules (for example, camera, audio, Bluetooth, etc.). When the system framework API requests access to the portable device's hardware, the operating system loads the library module for that hardware component.

[0161] The kernel layer is the foundation of the Android system. It is responsible for hardware drivers, networking, power, system security, and memory management. The kernel layer acts as an intermediate layer between hardware and software, relaying application requests to the hardware. The kernel layer may include audio drivers, display drivers, camera drivers, and sensor drivers.

[0162] It should be noted that the application provides Figure 5B The software structure diagram of the terminal device shown is only an example and does not limit the specific module division in different layers of the Android system. For details, please refer to the introduction of the Android system software structure in conventional technology. In addition, the method provided in this application can also be implemented based on other operating systems, and this application will not give examples one by one.

[0163] It is understood that the hardware structure and software structure of the terminal 100 and the terminal 200 mentioned below can refer to Figure 5A and Figure 5B It should be noted that the controlled device may not include Figure 5B The router management application shown, for example, terminal 200 may not include a router management application.

[0164] The following takes the terminal 100 connected to the router as the control device and the terminal 200 connected to the router as the controlled device as an example to introduce some scenarios of control application functions provided by this application.

[0165] Terminal 100 and terminal 200 can both establish a communication connection with the router. It is understood that the communication connection can be a wired communication connection (for example, via a network cable) or a wireless communication connection (for example, by logging into the wireless network password corresponding to the router to connect).

[0166] In some embodiments of the present application, a user may use a router management application in the terminal 100 to set parameters such as the network name, password, and Internet access method of the wireless network corresponding to the router. For example, the terminal 100 may be installed with a router management application. In this case, the user may use the router management application to set parameters such as the network name, password, and Internet access method of the wireless network corresponding to the router. For another example, the user may enter the management address of the router in the browser of the terminal 100, and the terminal 100 may display a management interface accordingly. In this case, the user may use the management interface to set parameters such as the network name, password, and Internet access method of the wireless network corresponding to the router.

[0167] In some embodiments of the present application, the user can set the list of controlled devices and pure mode applications through the terminal 100. For example, the terminal 100 may be installed with a router management application. In this case, the user can set the list of controlled devices and pure mode applications through the router management application.

[0168] 1. Set up the controlled device ( Figures 6A-6D )

[0169] In some embodiments of the present application, terminal 100 may display a desktop interface. The desktop interface may include a router management application icon. In response to clicking the router management application icon, terminal 100 may display a main interface of the router management application. The main interface of the router management application may include a clean mode management control.

[0170] For example, the desktop interface can be as follows: Figure 6A The desktop interface 1a shown, the main interface of the router management application can be as follows Figure 6B The router management main interface 1b shown in FIG. The desktop interface 1a may include multiple application icons (e.g., a weather application icon, a calendar application icon, an email application icon, a settings application icon, an application store application icon, a note application icon, an album application icon, a router management application icon 11, etc.). These application icons may be used to trigger the terminal 100 to start the corresponding application. In response to the operation of clicking the router management application icon 11, the terminal 100 may display the following: Figure 6BThe router management main interface 1b is shown. The router management main interface 1b may include a control device display area 21, a router connection management control 22, and a pure mode management control 23. The control device display area 21 may display the device icon and name corresponding to the currently controlled device, i.e., the device icon and name corresponding to the terminal device 100. The control device display area 21 may also include an exit control 211. The exit control 211 may be used to change the control device. The router connection management control 22 may be used to set parameters such as the network name, password, and Internet access method of the wireless network corresponding to the router. The pure mode management control 22 may be used to set a list of controlled devices and pure mode applications.

[0171] In some embodiments of the present application, in response to clicking the clean mode management control, the terminal 100 may display a clean mode management interface. The clean mode management interface may include icons corresponding to devices connected to the router. The user can set the controlled terminal by clicking the icon.

[0172] For example, the clean mode management interface can be as follows: Figure 6C In response to clicking the operation of the pure mode management control 23, the terminal 100 may display the following Figure 6C The pure mode management interface 1c shown. The pure mode management interface 1c may include a controlled device setting area 31 and a pure mode application list setting control 32. The controlled device setting area 31 may include a switch corresponding to the terminal device connected to the router, such as switch 311. It can be understood that the terminal device connected to the router is a terminal device connected to the wireless network corresponding to the router, or a terminal device that establishes a communication connection with the router. In some embodiments of the present application, the controlled device setting area 31 may display the device icon and name corresponding to the terminal device connected to the router. In response to the operation of clicking the switch 311, the terminal 100 may display the following: Figure 6D The controlled device setting interface 1d shown. The controlled device setting interface 1d may also include a switch 311. Figure 6C The switch 311 shown is distinguished by Figure 6C The switch 311 is in the off state, which means that the terminal device corresponding to the switch 311, that is, the terminal 200 is not set as a controlled device. Figure 6D The switch 311 shown is in an on state, which means that the terminal device corresponding to the switch 311, ie, the terminal 200, has been set as a controlled device.

[0173] In some embodiments of the present application, when the terminal 100 is no longer a control device, another terminal device connected to the router can be set as a control device. Exemplarily, in response to clicking the exit control 211, the terminal 100 exits the management of the router, that is, the terminal 100 is no longer a control device. In this case, the user can select another terminal device connected to the router as a control device.

[0174] In some embodiments of the present application, regardless of whether a control device currently exists, a terminal device connected to a router can preempt the management of the router. In one possible implementation, if a control device exists, and other terminal devices connected to the router preempt the management of the router, the control device can exit the management of the router, and the terminal device that first preempts the management of the router is set as the control device. In one possible implementation, if a control device exists, and other terminal devices connected to the router preempt the management of the router, if the terminal device that preempts the management of the router is successfully verified, or if the control device agrees to other terminal devices connected to the router preempting the management of the router, the control device can exit the management of the router, and the terminal device that preempts the management of the router is set as the control device.

[0175] 2. Set the pure mode application list ( Figure 6E-6F )

[0176] After launching the router management application, the terminal 100 may display a clean mode application list setting interface. This clean mode application list setting interface may include switches corresponding to one or more applications that can be set to clean mode. The user can trigger the application in clean mode on the controlled device by clicking the corresponding switch.

[0177] For example, the clean mode application list setting interface can be as follows: Figure 6E The clean mode application list setting interface 1e shown in FIG. Figure 6D When the operation of clicking the pure mode application list setting control 32 is shown, the terminal 100 may display the following Figure 6E The pure mode application list setting interface 1 e shown in FIG. The pure mode application list setting interface 1 e may include an activation list switch 41 and a list display area 42 . Figure 6E The list display area 42 may include a first communication application control 421, a second communication application control 422, and a first learning guidance application control 423, which means that the terminal 100 can control the functions of the first communication application, the second communication application, and the first learning guidance application in the controlled device, and Figure 6EThe first communication application control 421, the second communication application control 422 and the first learning tutoring application control 423 shown are all in the selected state, which means that the first communication application, the second communication application and the first learning tutoring application in the controlled device are all in pure mode (or entering pure mode).

[0178] For example, in response to clicking Figure 6E The operation of the first communication application control 421 shown in FIG. 100 can display the following Figure 6F The modified pure mode application list setting interface 1f is shown. Figure 6F The modified pure mode application list setting interface 1f shown may also include a first communication application control 421, a second communication application control 422 and a first learning guidance application control 423, and, Figure 6F The first communication application control 421 is shown in an unselected state, and Figure 6F The second communication application control 422 and the first learning tutoring application control 423 are shown in a selected state, which means that the first communication application in the controlled device is not in pure mode, and both the second communication application and the first learning tutoring application in the controlled device are in pure mode.

[0179] For example, the terminal device 200 may display Figure 1A The user interface shown in FIG. 1 may be a user interface of the first communication application. The terminal 200 is set as a controlled device at the terminal 100, and the user interface is enabled as shown in FIG. Figure 6E In the case of the pure mode application list shown in FIG, the user clicks on the terminal 200 displayed as shown in FIG. Figure 1A After the video number control in the user interface shown in the figure is clicked, the terminal 200 does not respond to the click operation. Figure 6F In the case of the pure mode application list shown, in response to clicking the video number control, the terminal 200 can display a short video.

[0180] In another possible implementation, in response to Figure 6D As shown, by clicking the clean mode app list setting control 32, the terminal 100 can display the clean mode app list setting interface, and the enable list switch in the clean mode app list setting interface is turned off. When the enable list switch is turned off, the terminal 100 does not respond to operations on the list display area.

[0181] It is understandable that the operations and user operations involved in this application can also be other touch operations (for example, double-click, long press, etc.), or voice, gesture and other operations, and this application does not limit this.

[0182] The following takes the terminal 100 connected to the router as the controlling device and the terminal 200 connected to the router as the controlled device as an example to introduce a method for controlling application functions provided by an embodiment of the present application.

[0183] See also Figure 7 , Figure 7 This is a flow chart of a method for controlling application functions provided in an embodiment of the present application. The method involves both terminal 100 and terminal 200 establishing a communication connection with a router, and the router establishing a communication connection with an optical network access device. The method may include, but is not limited to, the following steps:

[0184] S101: When the router starts, it reads characteristic information, which includes controlled characteristic information and uncontrolled characteristic information.

[0185] When the router is powered on and booted up, the characteristic information can be read. In one possible implementation, the characteristic information can be stored in the router's non-volatile memory (e.g., flash memory). In this case, when the router boots up, the characteristic information stored in its non-volatile memory can be read into the memory. It is understood that memory (e.g., RAM) is a volatile memory used to temporarily store programs and data currently running on a computer. It has extremely fast read and write speeds and is suitable for temporary data operations.

[0186] In some embodiments of the present application, feature information may be stored in a feature database, which may be stored in a memory of a router. In this case, upon startup, the router may read the feature information in the feature database. In one possible implementation, upon startup, the router may read all feature information in the feature database and store all feature information in the feature database in memory.

[0187] A feature database is a database used to store and manage feature information. A database provides a centralized, organized way to store large amounts of data over a long period of time. This data can be structured (e.g., tables in a relational database) or unstructured (e.g., documents, images, etc.).

[0188] In some embodiments of the present application, the feature database may exist in the form of a file. In a possible implementation, the feature database is stored as an encrypted file in a memory of the router.

[0189] It is understood that feature information may include controlled feature information and uncontrolled feature information. In some embodiments of the present application, the feature database may include controlled feature information and uncontrolled feature information corresponding to one or more applications. The one or more applications are applications whose functions may be restricted.

[0190] For example, the terminal 100 can control the function of the first communication application in the terminal 200 through the router, that is, the first communication application is an application whose functions can be restricted. The router can store the feature information corresponding to the first communication application (which can be referred to as the feature information of the first communication application). The feature information of the first communication application can include controlled feature information and uncontrolled feature information. Figure 8 As shown, the controlled feature information corresponding to the first communication application (which may be referred to as the controlled feature information of the first communication application) may include any one or more of the following feature information: mini-game feature information, live broadcast account feature information, video account feature information, watch feature information, mini-program feature information, picture message feature information, video message feature information, and file message feature information. The uncontrolled feature information corresponding to the first communication application (which may be referred to as the uncontrolled feature information of the first communication application) may include one or more of the following feature information: text message feature information, voice message feature information, voice call feature information, and video call feature information.

[0191] It is understood that the characteristic information involved in this application can also be simply referred to as characteristics. The characteristic information may include an identifier and message characteristics. The message characteristics may include any one or more of connection-oriented message characteristics, connectionless message characteristics, and application-layer message characteristics. In other words, each characteristic information corresponds to an identifier and any one or more of the three message characteristics: a connection-oriented message characteristic, a connectionless message characteristic, and an application-layer message characteristic.

[0192] In some embodiments of the present application, the identifier corresponding to the feature information (or the identifier included in the feature information) may be a feature identifier, which may uniquely represent the feature information.

[0193] In some other embodiments of the present application, the identifier corresponding to the feature information may include a feature identifier and an application identifier, wherein the feature identifier can uniquely represent the feature information, and the application identifier can uniquely represent the application corresponding to the feature information.

[0194] It is understandable that the identifier can be represented in the form of numbers, characters, etc., and this application does not impose any restrictions on this.

[0195] It is understood that when the characteristic information corresponds to only one identifier, the corresponding identifier can specifically be a characteristic identifier. For example, the video number characteristic information of the first communication application includes the identifier 254, that is, 254 can be used to uniquely represent the video number characteristic information of the first communication application.

[0196] In some embodiments of the present application, the connection-oriented message features, the connectionless message features, and the application layer message features can be character strings. Of course, similar to the representation of the identifier, the above message features can also be represented in other forms, and the present application does not limit this.

[0197] In some embodiments of the present application, the feature information may further include a category. In some embodiments of the present application, the category may represent the category of the application corresponding to the feature information, such as a game application, a communication application, a learning tutoring application, etc.

[0198] It is understood that the category can be represented by words, numbers, characters, etc., and this application does not limit this. For example, the communication application corresponds to category 4. In this case, the characteristic information of the first communication application includes category 4.

[0199] S102: In response to the operation of setting the pure mode application list, the terminal 100 sends the pure mode application list to the router.

[0200] The user can set the pure mode application list through the terminal 100. For example, Figure 6E As shown, users can enable the pure mode application list and specifically set the applications in the pure mode application list.

[0201] In response to the operation of setting the pure mode application list, the terminal 100 may send the pure mode application list to the router. Correspondingly, the router may receive the pure mode application list sent by the terminal 100.

[0202] For example, Figure 6E As shown, the user can enable the pure mode application list, and accordingly, the terminal 100 can Figure 6E The clean mode application list shown is sent to the router. It can be understood that the clean mode application list includes the first communication application, the second communication application and the first learning guidance application.

[0203] For example, in response to Figure 6E Click the first communication application control 421 as shown, the terminal 100 can display the following Figure 6F The user interface shown in the Figure 6F The clean mode application list shown is sent to the router. It can be understood that the clean mode application list includes the second communication application and the first learning guidance application.

[0204] In some embodiments of the present application, the terminal 100 may send the name of the application set to pure mode to the router.

[0205] In some embodiments of the present application, a user may set a controlled device through the terminal 100. Accordingly, in response to the operation of setting the controlled device, the terminal 100 may send a physical address (Media Access Control Address, MAC address) of the controlled device to the router.

[0206] For example, in response to Figure 6C By clicking the switch 311 as shown, the terminal 100 can display the following Figure 6D The user interface shown in FIG. 200 is used to send the MAC address of the terminal 200 to the router. For example, the MAC address of the terminal 200 may be a4:3d:78:89:15:6f.

[0207] In some embodiments of the present application, the control device may send the MAC address of the controlled device and the list of pure mode applications to the router. For example, in response to the operation of setting the pure mode application list, the terminal 100 may send the list of pure mode applications and the MAC address of the controlled device to the router.

[0208] In some embodiments of the present application, the terminal 100 may not only send the MAC address of the controlled device to the router, but also send the name of the controlled device to the router.

[0209] In some embodiments of the present application, after the user sets up the controlled device, the control device can send the MAC address of the controlled device to the router. Similarly, the control device can send the pure mode application list to the router. There is no need to send the pure mode application list and the MAC address of the controlled device to the router together every time.

[0210] It should be noted that, in addition to the name and MAC address of the controlled device, the controlled device can also be identified by other means (for example, a unique identifier can be set for the controlled device), and this application does not impose specific restrictions on this.

[0211] S103: While the application in the terminal 200 is running, the terminal 200 sends a data packet to the router.

[0212] The user can use the terminal 200. During the user's use of the terminal 200 (for example, an application in the terminal 200 is running), the terminal 200 can send a data packet to the router. Correspondingly, the router can receive the data packet sent by the terminal 200.

[0213] It should be noted that after receiving the data packet sent by the terminal 200, the router can determine whether the terminal 200 is a controlled device.

[0214] In some embodiments of the present application, the router may store the MAC address of the controlled device. The data packet sent by the terminal 200 to the router may carry the MAC address of the terminal 200. After receiving the data packet sent by the terminal 200, the router can determine whether the terminal 200 is a controlled device based on the MAC address of the terminal 200.

[0215] In some other embodiments of the present application, the router may store the name of the controlled device. The data packet sent by the terminal 200 to the router may carry the name of the terminal 200. After receiving the data packet sent by the terminal 200, the router may determine whether the terminal 200 is a controlled device based on the name of the terminal 200.

[0216] Of course, the router may also use other methods to determine whether the data packet it receives is a data packet sent by the controlled device, and this application does not impose any restrictions on this.

[0217] S104: The router identifies whether the data packet is a data packet of a preset category.

[0218] After receiving a data packet sent by terminal 200, the router can identify whether the data packet is of a preset category. If the data packet received by the router is of a preset category, the router can proceed to step S106, i.e., determine whether the controlled feature information corresponding to the data packet exists in the controlled feature information corresponding to the application in the pure mode application list. If the data packet received by the router is not of the preset category, the router can forward the data packet. For example, the router can proceed to step S105, i.e., the router can send the received data packet to the optical network access device.

[0219] It is understandable that the preset categories can be configured according to actual needs, and this application does not impose any restrictions on this. In some embodiments of the present application, the data packets of the preset categories may include: data packets transmitted based on a connection-oriented network transmission protocol, data packets transmitted based on a connectionless network transmission protocol, and data packets carrying key domain names. Among them, the data packets transmitted based on a connection-oriented network transmission protocol may be business network data packets in the form of a Transmission Control Protocol (TCP), and the data packets transmitted based on a connectionless network transmission protocol may be business network data packets in the form of a User Datagram Protocol (UDP). It is understandable that the key domain names can be set according to actual needs, and this application does not impose any restrictions on this. For example, the key domain names may include relevant domain names of the Hypertext Transfer Protocol (HTTP), such as a User Agent (USER AGENT), a Uniform Resource Locator (URL), etc.

[0220] S105: The router sends a data packet to the optical network access device.

[0221] When the router recognizes that the data packet it receives is not a data packet of the preset category, the router can forward the data packet step by step according to the network topology until the data packet is forwarded to the corresponding server (such as Figure 2 As shown), for example, the router can send the data packet to the optical network access device, and correspondingly, the optical network access device can receive the data packet sent by the router. It is understandable that the optical network access device can continue to forward the data packet until it is sent to the server (such as Figure 2 shown).

[0222] S106: The router determines whether the controlled feature information corresponding to the data packet exists in the controlled feature information corresponding to the application in the pure mode application list.

[0223] When the router identifies that the data packet it receives is a data packet of a preset category, the router can continue to identify the data packet and determine whether the controlled feature information corresponding to the application in the pure mode application list contains controlled feature information corresponding to the data packet. If the controlled feature information corresponding to the application in the pure mode application list contains controlled feature information corresponding to the data packet received by the router, the router can continue to execute step S108, that is, the router can intercept the data packet and not forward the data packet. If the controlled feature information corresponding to the application in the pure mode application list does not contain controlled feature information corresponding to the data packet received by the router, the router can forward the data packet, for example, the router can continue to execute step S107, that is, the router can send the data packet it receives to the optical network access device.

[0224] In some embodiments of the present application, the router determines whether there is controlled feature information corresponding to the data packet received by it in the controlled feature information corresponding to the application in the pure mode application list, which may specifically include: the router determines whether there is controlled feature information corresponding to the application in the pure mode application list that overlaps with the message part in the data packet.

[0225] In some embodiments of the present application, the router determines whether there is controlled feature information corresponding to the data packet received by it in the controlled feature information corresponding to the application in the pure mode application list. Specifically, the router can determine whether the message in the data packet it receives contains the controlled feature information corresponding to the application in the pure mode application list.

[0226] In one possible implementation, the controlled feature information corresponding to the application in the pure mode application list contains the controlled feature information corresponding to the data packet received by the router. Specifically, this may include: a specific message field included in the data packet received by the router partially overlaps with the controlled feature information corresponding to the application in the pure mode application list. It is understood that this specific message field can be set as needed, and this application does not impose any restrictions on this.

[0227] For example, the list of pure mode applications may include APP1, the controlled feature information corresponding to APP1 may include feature information identified as 100, and the message features in the feature information identified as 100 include 05010598000009830000095a. After receiving the data packet sent by terminal 200, the router may parse it, for example, to determine whether the data packet is of a preset category and to determine that the Data message field in the data packet includes 05010598000009830000095a000008ec0000373e0000000c6696608. The router can compare the message in the data packet with the controlled feature information corresponding to the application in the pure mode application list, and determine that the Data message field in the data packet partially overlaps with the message feature in the feature information identified as 100, both include 05010598000009830000095a, and the feature information identified as 100 is the controlled feature information corresponding to APP1, and APP1 is an application in the pure mode application list, then the router can intercept the data packet.

[0228] In another possible implementation, the controlled feature information corresponding to the application in the pure mode application list contains the controlled feature information corresponding to the data packet received by the router. Specifically, this may include: a specific message field included in the data packet received by the router completely overlaps with the controlled feature information corresponding to the application in the pure mode application list. It is understood that this specific message field can be set as needed, and this application does not impose any restrictions on this.

[0229] For example, the clean mode application list may include APP2, and the controlled feature information corresponding to APP2 may include feature information identified as 200, and the message features in the feature information identified as 200 include apis.sdk.mobileztgame.com. After the router receives the data packet sent by terminal 200, it can parse it and determine that the Server Name message field in the data packet is apis.sdk.mobileztgame.com. The router can compare the Server Name message field in the data packet with the controlled feature information corresponding to the application in the clean mode application list, and determine that the message in the data packet completely overlaps with the message features in the feature information identified as 200, both of which are apis.sdk.mobileztgame.com, and the feature information identified as 200 is the controlled feature information corresponding to APP2, and APP2 is an application in the clean mode application list, then the router can intercept the data packet.

[0230] It is understood that the identifier mentioned in the above example can refer to an identifier used to represent feature information, that is, the feature identifier mentioned above. Of course, in the above example, the controlled feature information corresponding to APP1 can also include an application identifier, that is, an identifier used to represent APP1. For example, the application identifier can be APP1, that is, the application name of APP1. Similarly, the controlled feature information corresponding to APP2 can also include an application identifier, that is, an identifier used to represent APP2. For example, the application identifier can be APP2, that is, the application name of APP2.

[0231] In some embodiments of the present application, a specific implementation of step S106 may include steps S206 to S208 mentioned below.

[0232] S107: The router sends a data packet to the optical network access device.

[0233] When the router determines that the controlled feature information corresponding to the application in the pure mode application list does not contain the controlled feature information corresponding to the data packet received by the router, the router can forward the data packet step by step according to the network topology until the data packet is forwarded to the corresponding server (such as Figure 2 As shown), for example, the router can send the data packet to the optical network access device, similar to step S105, and accordingly, the optical network access device can receive the data packet sent by the router. It is understandable that the optical network access device can continue to forward the data packet until it is sent to the server (such as Figure 2 shown).

[0234] S108: The router intercepts the data packet.

[0235] When the router determines that the controlled feature information corresponding to the application in the pure mode application list contains controlled feature information corresponding to the data packet received by the router, the router can intercept the data packet (or drop the data packet), that is, not forward the data packet, for example, the router does not send the data packet to the network switching device, so that the data packet will not be sent to the server.

[0236] Optionally, after the router executes step S103 , it can execute steps S106 to S108 without executing steps S104 to S105 .

[0237] It should be noted that the present application can also be applied in other communication architectures, which means that the optical network access device mentioned in the present application can also be a base station or other network access device.

[0238] The following combination Figure 4B The software structure of the router shown and Figure 5BA specific implementation of the above embodiment is introduced with reference to the software structure of the terminal device shown in FIG.

[0239] See also Figure 9 , Figure 9 A flow chart of another method for controlling application functions provided in an embodiment of the present application. Figure 7 similar, Figure 9 The terminal 100 and the terminal 200 shown in the figure both establish a communication connection with the router, and the router establishes a communication connection with the optical network access device. The method may include but is not limited to the following steps:

[0240] S201: When the router starts, the control policy management module in the router reads the characteristic information.

[0241] It is understandable that the specific implementation of step S201 can refer to step S101, and this application will not go into details here.

[0242] S202: In response to the operation of setting the pure mode application list, the router management application in the terminal 100 sends the pure mode application list to the router.

[0243] Accordingly, the control policy management module in the router can receive the pure mode application list sent by the router management application in the terminal 100 .

[0244] It is understandable that the specific implementation of step S202 can refer to step S102, and this application will not go into details here.

[0245] S203: The application in the terminal 200 sends a data packet to the router.

[0246] It is understood that the user can use the terminal 200, such as using an application in the terminal 200, and accordingly, the application in the terminal 200 can send a data packet to the router. In this case, the service feature recognition engine in the router can receive the data packet sent by the terminal 200 and recognize and parse it.

[0247] It is understandable that the specific implementation of step S203 can refer to step S103, and this application will not go into details here.

[0248] S204: The service feature recognition engine in the router identifies whether the data packet is a data packet of a preset category.

[0249] S205: The service feature recognition engine in the router sends a data packet to the optical network access device.

[0250] It is understandable that the specific implementation of steps S204-S205 can refer to steps S104-S105, and this application will not go into details here.

[0251] S206: The service feature recognition engine in the router determines the identifier included in the feature information corresponding to the data packet.

[0252] When the service feature recognition engine identifies that the received data packet is a data packet of a preset category, the service feature recognition engine can determine the identifier included in the feature information corresponding to the received data packet. It is understood that the relevant description of the identifier can be referred to above and will not be repeated in this application.

[0253] In some embodiments of the present application, the identifier mentioned in steps S206 to S208 may refer to an identifier used to represent feature information, that is, the feature identifier mentioned above.

[0254] In some other embodiments of the present application, the identifiers mentioned in steps S206-S208 may include an identifier for representing feature information (i.e., the feature identifier mentioned above) and an identifier for representing the application corresponding to the feature information (i.e., the application identifier mentioned above).

[0255] S207: The service feature recognition engine in the router sends the identifier to the control policy management module in the router.

[0256] After the service feature recognition engine determines the identifier included in the feature information corresponding to the received data packet, it can send the identifier to the control policy management module. Correspondingly, the control policy management module can receive the identifier sent by the service feature recognition engine.

[0257] S208: The control policy management module in the router determines whether the characteristic information corresponding to the identifier is the controlled characteristic information corresponding to the application in the pure mode application list.

[0258] After receiving the identifier sent by the service feature recognition engine, the control policy management module can determine whether the feature information corresponding to the identifier is the controlled feature information corresponding to an application in the pure mode application list. If the feature information corresponding to the identifier is the controlled feature information corresponding to an application in the pure mode application list, the control policy management module can proceed to step S210, i.e., intercepting the data packet received by the router. If the feature information corresponding to the identifier is not the controlled feature information corresponding to an application in the pure mode application list, the control policy management module can proceed to step S09, i.e., sending the data packet received by the router to the optical network access device.

[0259] In some embodiments of the present application, the control policy management module determines whether the characteristic information corresponding to the identifier is the controlled characteristic information corresponding to the application in the pure mode application list, which may specifically include: the control policy management module determines whether there is controlled characteristic information containing the identifier in the controlled characteristic information corresponding to the application in the pure mode application list. If there is controlled characteristic information containing the identifier in the controlled characteristic information corresponding to the application in the pure mode application list, it means that the characteristic information corresponding to the identifier is the controlled characteristic information corresponding to the application in the pure mode application list. If there is no controlled characteristic information containing the identifier in the controlled characteristic information corresponding to the application in the pure mode application list, it means that the characteristic information corresponding to the identifier is not the controlled characteristic information corresponding to the application in the pure mode application list.

[0260] S209: The control policy management module in the router sends a data packet to the optical network access device.

[0261] S210: The control policy management module in the router intercepts the data packet.

[0262] It is understandable that the specific implementation of steps S209-S210 can refer to steps S107-S108, and this application will not go into details here.

[0263] The following combination Figure 4B The software structure of the router shown and Figure 5B The software structure of the terminal device shown takes the control device as the terminal 100 as an example, and introduces a specific implementation method of the above embodiment from the perspective of software and hardware interaction.

[0264] In some embodiments of the present application, the control policy management module may include a feature database management module and an application function control module. The feature database management module may be used to decrypt, read, and update feature information in the data flow feature database, and the application function control module may be used to control the forwarding of data packets.

[0265] In some embodiments of the present application, the service feature identification engine may include an interactive service identification engine, a domain name identification engine, and a connectionless service identification engine. Among them, the interactive service identification engine can identify feature information of data packets transmitted based on a connection-oriented network transmission protocol, that is, for data packets transmitted based on a connection-oriented network transmission protocol, determine whether the corresponding feature information is controlled feature information. The domain name identification engine can identify feature information of data packets carrying key domain names, that is, for data packets carrying key domain names, determine whether the corresponding feature information is controlled feature information. The connectionless service identification engine can identify feature information of data packets transmitted based on a connectionless network transmission protocol, and determine whether the corresponding feature information of data packets transmitted based on a connectionless network transmission protocol is controlled feature information.

[0266] like Figure 10 As shown, the terminal 100 may be a control device, the terminal 200 may be a controlled device, and both the terminal 100 and the terminal 200 are connected to a router.

[0267] On the one hand, when the router is powered on and started, the feature database management module can read the feature information in the feature database into the memory.

[0268] On the other hand, in response to the operation of setting the pure mode application list, the router management application in the terminal 100 can send the pure mode application list to the router. Correspondingly, the application function control module in the router can receive the pure mode application list.

[0269] On the other hand, when a user uses an application in terminal 200, the application in terminal 200 may send a data packet to the router. Accordingly, the router may receive the data packet. In some embodiments of the present application, the router may determine whether the data packet is a data packet of a preset category using a service feature recognition engine at the kernel layer. In still other embodiments of the present application, the router may determine whether the data packet is a data packet of a preset category using other modules at the kernel layer.

[0270] Furthermore, when it is determined that the data packet received by the router is a data packet of a preset category, the router can determine the identifier included in the characteristic information corresponding to the data packet through the engine corresponding to the category of the data packet among the interactive service identification engine, the domain name identification engine, and the connectionless service identification engine. For example, if the data packet is a data packet transmitted based on a connection-oriented network transmission protocol, the router can determine the characteristic information corresponding to the data packet and the identifier included in the characteristic information through the interactive service identification engine based on the characteristic information read from the memory. For another example, if the data packet is a data packet carrying a key domain name, the router can determine the characteristic information corresponding to the data packet and the identifier included in the characteristic information through the domain name identification engine based on the characteristic information read from the memory. For another example, if the data packet is a data packet transmitted based on a connectionless network transmission protocol, the router can determine the characteristic information corresponding to the data packet and the identifier included in the characteristic information through the connectionless service identification engine based on the characteristic information read from the memory.

[0271] Furthermore, after the router determines the identifier included in the characteristic information corresponding to the data packet through the corresponding engine in the service characteristic recognition engine, the router can send the identifier to the application function control module. Correspondingly, the application function control module can receive the identifier sent by the corresponding engine in the service characteristic recognition engine.

[0272] Furthermore, the application function control module can determine, based on the characteristic information read from the memory, whether the controlled characteristic information corresponding to the applications in the pure mode application list contains controlled characteristic information containing the identifier. If the controlled characteristic information corresponding to the applications in the pure mode application list contains controlled characteristic information containing the identifier, the application function control module can intercept the data packet received by the router, i.e., not forward the data packet. If the controlled characteristic information corresponding to the applications in the pure mode application list contains controlled characteristic information containing the identifier, the application function control module can release the data packet, i.e., send the data packet to the next-level device according to the network topology.

[0273] Based on the above embodiment, the embodiment of the present application also provides a method for upgrading a feature database.

[0274] According to the method for upgrading the feature database, the router can detect whether the feature database is updated through the OTA server once every preset time interval. If the feature database is updated, the OTA server can return the updated version information. After the router receives the updated version information and determines that the feature database has been updated, it can download the feature database upgrade package from the OTA server and update the feature database based on the feature database upgrade package.

[0275] It is understandable that the preset duration can be set according to actual needs, and this application does not limit this. In some embodiments of this application, the preset duration can be 24 hours.

[0276] It is understood that the OTA server is an external server that can be used to detect updates to the feature database, store feature database upgrade packages, and send feature database upgrade packages to the router.

[0277] The following combination Figure 4B The software structure of the router shown in FIG. 1 is used to specifically introduce the above method for upgrading the feature database.

[0278] See also Figure 11 , Figure 11 This is a flow chart of a method for upgrading a feature database provided in an embodiment of the present application. The method for upgrading a feature database may include but is not limited to the following steps:

[0279] S301: The OTA module in the router detects whether the feature database is updated through the OTA server once every preset time interval.

[0280] The OTA module can detect whether the feature database is updated once every preset time interval, for example, by using an OTA server to detect whether the feature database is updated. In other words, the interval length of the OTA module detecting the feature database is the preset time interval.

[0281] If the feature database is updated, the OTA server may execute step S302, i.e., the OTA server may return the updated feature database version information, or the version information corresponding to the updated feature database, to the OTA module. In some embodiments of the present application, if the feature database is not updated, the OTA server may not respond. In other embodiments of the present application, if the feature database is not updated, the OTA server may send a not updated message to the OTA module.

[0282] In some embodiments of the present application, the OTA module may send a detection message to the OTA server at a preset interval. The detection message is used to notify the OTA server to detect whether the feature database is updated. Accordingly, the OTA server may receive the detection message and detect whether the feature database is updated.

[0283] S302: If the feature database is updated, the OTA server returns the version information of the updated feature database to the OTA module.

[0284] If the feature database is updated, the OTA server can return the updated feature database version information, or the version information corresponding to the updated feature database, to the OTA module. Correspondingly, the OTA module can receive the updated feature database version information sent by the OTA server.

[0285] In some embodiments of the present application, the version information may include a version number. For example, the version information of an updated feature database may include the version number corresponding to the updated feature database. Of course, the version information may also include other content, which is not limited by the present application.

[0286] S303: The OTA module determines whether the version information of the updated feature database is consistent with the version information of the current feature database.

[0287] After the OTA module receives the updated feature database version information sent by the OTA server, it can determine whether the updated feature database version information is consistent with the current feature database version information. If the updated feature database version information is consistent with the current feature database version information, this indicates that the feature database has not been updated, and the OTA module can continue to execute step S301 and subsequent steps. If the updated feature database version information is inconsistent with the current feature database version information, this indicates that the feature database has been updated, and the OTA module can continue to execute step S304 and subsequent steps.

[0288] In some embodiments of the present application, the OTA module determines whether the version information of the updated feature database is consistent with the version information of the current feature database. Specifically, it may include: the OTA module may determine whether the version number included in the version information of the updated feature database (that is, the version number corresponding to the updated feature database) is consistent with the version number corresponding to the current feature database.

[0289] In some embodiments of the present application, after the OTA module receives the version information of the updated feature database sent by the OTA server, it can determine whether there is a higher version of the feature database in the router, such as determining whether the version of the feature database currently used in the router is higher than the version of the updated feature database.

[0290] In some embodiments of the present application, the interval duration of the OTA module detecting the feature database is calculated from the last detection time, that is, it starts from the last detection time, and the next detection is performed when the preset duration is reached, rather than starting to calculate after determining that the version information of the updated feature database is consistent with the version information of the current feature database.

[0291] In some embodiments of the present application, the interval duration of the OTA module detecting the feature database is calculated starting from the execution of step S303.

[0292] S304: The OTA module downloads the feature database upgrade package from the OTA server.

[0293] After the OTA module determines that the version information of the updated feature database is inconsistent with the version information of the current feature database, the feature database upgrade package can be downloaded from the OTA server.

[0294] In some embodiments of the present application, the OTA may send a download request to the OTA server, where the download request may be used to request downloading of a feature database upgrade package. Correspondingly, the OTA server may return the feature database upgrade package to the OTA module.

[0295] S305: The OTA module sends a feature database upgrade package to the service management module.

[0296] After the OTA module downloads the feature database upgrade package, it can send the feature database upgrade package to the service management module. Correspondingly, the service management module can receive the feature database upgrade package sent by the OTA module.

[0297] S306: The service management module updates the feature database based on the feature database upgrade package.

[0298] After receiving the feature database upgrade package, the service management module may parse the package to obtain an updated feature database, and replace the currently used feature database with the updated feature database.

[0299] In some embodiments of the present application, step S306 may be executed when the router is restarted, that is, after the service management module receives the feature database upgrade package, it needs to wait until the router is restarted and then update the feature database based on the feature data upgrade package.

[0300] In some other embodiments of the present application, the service management module updates the feature database based on the feature database upgrade package without having to wait until the router is restarted.

[0301] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for controlling application functions, characterized in that: The method is applied to a router, a communication connection is established between the router and a first terminal, and the method includes: receiving a first data packet sent by the first terminal when the first application is running; In the case where the first terminal is a controlled device, based on the fact that the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application and the first application is a target application, the first data packet is intercepted.

2. The method according to claim 1, wherein A communication connection is established between the router and the second terminal; the target application is an application in the first application list; before receiving the first data packet sent by the first terminal when running the first application, the method further includes: In response to starting the operation of the router, reading characteristic information in a first file, the characteristic information in the first file including characteristic information corresponding to all applications in the first application list; Receive the first application list sent by the second terminal.

3. The method according to claim 2, wherein After intercepting the first data packet, the method further includes: receiving a second application list sent by the second terminal; the second application list does not include the first application; receiving a second data packet sent by the first terminal when the first application is running; In the case where the first terminal is a controlled device, based on the fact that the second application list does not include the first application, the second data packet is sent to a first network server; the first network server is a server corresponding to the first application.

4. The method according to any one of claims 1 to 3, wherein The method of intercepting the first data packet, when the first terminal is a controlled device, based on the fact that the characteristic information corresponding to the first data packet is first type of characteristic information corresponding to the first application and the first application is a target application, includes: In a case where the first terminal is a controlled device, determining whether the first data packet is a data packet of a preset category; In the case that the first data packet is a data packet of the preset category, based on the fact that the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application, and the first application is a target application, the first data packet is intercepted.

5. The method according to claim 4, wherein The preset category of data packets includes any one or more of data packets transmitted based on a connection-oriented network transmission protocol, data packets transmitted based on a connectionless network transmission protocol, and data packets carrying key domain names.

6. The method according to any one of claims 1 to 5, wherein Each characteristic information corresponds to an identifier; the characteristic information corresponding to the first data packet is the first type of characteristic information corresponding to the first application, and the first application is a target application, and intercepting the first data packet includes: Determine a first identifier; the first identifier is an identifier included in the characteristic information corresponding to the first data packet; Determining whether the first identifier is an identifier included in the first type of characteristic information corresponding to the target application; Based on the first identifier being an identifier included in the first type of characteristic information corresponding to the target application, the first data packet is intercepted.

7. The method according to any one of claims 1 to 6, wherein Before receiving the first data packet sent by the first terminal when running the first application, the method further includes: receiving a preset physical address sent by the second terminal; Wherein, when the preset physical address includes the physical address of the first terminal carried by the first data packet, the first terminal is a controlled device.

8. The method according to any one of claims 1 to 7, wherein The method further comprises: Detecting whether the feature information in the first file is updated through an online upgrade OTA server; When the feature information in the first file is updated, receiving updated version information sent by the OTA server; When the updated version information is inconsistent with the version information corresponding to the currently used first file, an upgrade package is downloaded, and the feature information in the first file is updated based on the upgrade package.

9. A method for controlling application functions, characterized in that: The method is applied to a second terminal, where a communication connection is established between the second terminal and a router, and the method includes: Displaying a first interface; the first interface is a user interface of a second application, and the second application is used to manage the connection between the router and other devices; In response to a first operation on the first interface, a second interface is displayed, and identifiers corresponding to applications in the first application list are sent to the router; the second interface includes first controls corresponding to the applications in the first application list, and in the second interface, the first controls corresponding to the applications in the first application list are in a first state; Among them, for the data packet sent by the first terminal to the router, when the first terminal is a controlled device and the characteristic information corresponding to the data packet is the first type of characteristic information corresponding to the application in the first application list, the data packet is intercepted by the router; and a communication connection is established between the first terminal and the router.

10. The method according to claim 9, wherein The first application list includes a first application, the second interface includes a first control corresponding to the first application, and the first control corresponding to the first application in the second interface is in the first state; After sending the identifiers corresponding to the applications in the first application list to the router, the method further includes: In response to a second operation on the first control corresponding to the first application in the first state, the first control corresponding to the first application in the second state is displayed on the second interface, and identifiers corresponding to applications in the second application list are sent to the router; The second application list does not include the first application.

11. The method according to claim 9 or 10, wherein: The method further comprises: displaying a third interface, the third interface including a second control in the second state; the second control is used to control a function of a target application in the first terminal; In response to a third operation on the second control in the second state, the second control in the first state is displayed on the third interface, and the physical address of the first terminal is sent to the router.

12. An electronic device, characterized in that: The electronic device includes one or more memories and one or more processors; the one or more memories are coupled to the one or more processors, the memories are used to store computer program code, the computer program code includes computer instructions, and the processor calls the computer instructions to execute the method described in any one of claims 1-8 or the method described in any one of claims 9-11.

13. A computer-readable storage medium, characterized in that Used to store computer instructions, when the computer instructions are executed on an electronic device, the electronic device executes the method according to any one of claims 1 to 8 or the method according to any one of claims 9 to 11.

Citation Information

Patent Citations

  • Network detection method and device of router, equipment and storage medium

    CN112953794A

  • Multi-operating system permission configuration method, terminal device and MDM device

    CN113176898A

  • Device-side intelligent gateway and system thereof, and embedded device adaptation control method

    CN115208718A

  • Network access information management method and device and computer readable storage medium

    CN115941224A

  • Terminal access control method, cloud gateway, electronic equipment and storage medium

    CN115967682A