Hidden access point scanning driving method, terminal equipment and readable storage medium
By setting up storage space in the driver module to receive and store hidden access point information and generate scanning commands, the problem of the small number and low probability of terminal devices scanning hidden access points is solved, achieving more efficient scanning and a higher success rate.
Patent Information
- Application Number
- CN202511774085.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-28
- Publication Date
- 2026-02-27
AI Technical Summary
In existing technologies, terminal devices can only scan a small number of hidden access points with a low probability, are easily affected by environmental interference, and have low scanning efficiency.
By setting up storage space in the driver module, receiving and storing hidden access point information, identifying access points to be scanned, and generating scanning instructions to send to the media access control layer, the number of stored hidden access points and the effectiveness of scanning are improved.
It significantly increases the number of hidden access points in a single scan and the probability of scanning hidden access points, reduces the impact of environmental interference, and improves scanning efficiency.
Smart Images

Figure CN121585984A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, specifically to a hidden access point scanning driving method, terminal equipment, and computer-readable storage medium. Background Technology
[0002] In WiFi technology, terminal devices typically access the network by scanning and connecting to access points (APs). However, for security reasons, some APs are set as hidden APs. Terminal devices need to actively probe for these hidden APs and can only obtain their information and connect after receiving a response from one. Currently, the number of hidden APs a terminal device can scan at any given time is limited, and the probability of successfully scanning a hidden AP is low, making it susceptible to environmental influences. Summary of the Invention
[0003] To overcome the problems existing in the related technologies, an exemplary embodiment of this disclosure provides a hidden access point scanning driving method in a first aspect, for driving a module, the driving module including a storage space, the hidden access point scanning driving method comprising: receiving information of at least one hidden access point; determining access points to be scanned based on the information of the hidden access point and information already stored in the storage space; determining a scanning instruction based on all the access points to be scanned; and sending the scanning instruction to a media access control layer.
[0004] In some embodiments, determining the access point to be scanned based on the information of the hidden access point and the stored information in the storage space includes: determining the stored information in the storage space; if the number of stored information is 0, storing the information of all the hidden access points in the storage space and determining the hidden access point as the access point to be scanned; if the number of stored information is greater than 0, determining the access point to be scanned based on the information of each hidden access point and the stored information.
[0005] In some embodiments, determining the access point to be scanned based on the information of each hidden access point and the stored information includes: if all the stored information exists in a single stored information that is identical to the information of the hidden access point, then the update time of the stored information that is identical to the information of the hidden access point is determined as the current time; if none of the stored information is identical to the information of the hidden access point, then the hidden access point is determined as information to be stored; and the access point to be scanned is determined based on the stored information and the information to be stored.
[0006] In some embodiments, determining the access point to be scanned based on the stored information and the information to be stored includes: if the number of information to be stored is greater than the remaining space in the storage space, then according to the update time of the stored information, deleting one or more of the stored information and storing the information to be stored in the storage space; if the number of information to be stored is less than or equal to the remaining space in the storage space, then storing the information to be stored in the storage space; and determining all the stored information in the current storage space as the access point to be scanned.
[0007] In some embodiments, the hidden access point scanning driving method further includes: determining the update time of each stored information based on the stored information in the storage space; if the difference between the current time and the update time is greater than or equal to a preset time difference, then deleting the currently stored information from the storage space.
[0008] In some embodiments, determining a scanning instruction based on all the access points to be scanned includes: determining the minimum value between the total number of access points to be scanned and the maximum value of the media access control layer scanning the hidden access points in a single scan as the number of access points to be scanned; determining the scanning frequency based on the number of scans and the duration of each scan; and determining the scanning instruction according to the access points to be scanned, the number of scans, and the scanning frequency.
[0009] In some embodiments, determining the scanning instruction based on all the access points to be scanned further includes: sequentially extracting all the stored information from the storage list in the storage space and storing it into the scanning instruction; extracting all the stored information and storing it in reverse order into a temporary linked list; and connecting the temporary linked list to the storage list in the storage space.
[0010] In a second aspect, this disclosure also provides a terminal device, comprising: a driver module for executing the hidden access point scanning driver method as described in the first aspect; a core layer for sending information about at least one of the hidden access points to the driver module; and a media access control layer for receiving and executing the scanning instructions sent by the driver module.
[0011] In some embodiments, the capacity of the storage space of the driver module is greater than the maximum value of the hidden access point scanned by the media access control layer in a single operation.
[0012] Thirdly, this disclosure also provides a computer-readable storage medium storing a program for executing the hidden access point scanning driving method according to any one of the first aspects.
[0013] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure.
[0014] According to the hidden access point scanning driving method provided in this disclosure, a driver module containing storage space can receive and store information about hidden access points, determine the access points to be scanned within the storage space, thereby determining a scanning command, and sending the command to the media access control layer, enabling the media access control layer to scan the corresponding access points according to the scanning command. Therefore, the scanning command determined by the hidden access point scanning driving method provided in this disclosure, through the storage space of the driver module, can store more data on hidden access points, thereby further effectively increasing the number of hidden access points scanned by the media access control layer in a single scan, effectively increasing the probability of scanning hidden access points, effectively avoiding the influence of environmental interference, increasing the effective number of scanned hidden access points, and thus further increasing the probability of the terminal device scanning hidden access points. Attached Figure Description
[0015] The invention can be better understood by describing exemplary embodiments of the invention in conjunction with the accompanying drawings, in which:
[0016] Figure 1 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0017] Figure 2 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed embodiment;
[0018] Figure 3 This is an illustration of a storage chain representation within a storage space, based on an exemplary disclosed embodiment.
[0019] Figure 4 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0020] Figure 5 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0021] Figure 6 This is an illustration of a storage chain representation within a storage space, based on an exemplary disclosed embodiment.
[0022] Figure 7 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0023] Figure 8 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0024] Figure 9 This is a flowchart illustrating a hidden access point scanning driving method according to an exemplary disclosed invention;
[0025] Figure 10 This is an illustration of a storage chain representation within a storage space, based on an exemplary disclosed embodiment.
[0026] Figure 11 This is an illustration of a storage chain representation within a storage space, based on an exemplary disclosed embodiment.
[0027] Figure 12 This is a schematic diagram of a terminal device structure according to an exemplary embodiment disclosed in a book;
[0028] Figure 13 This is a schematic diagram of an electronic device structure shown according to an exemplary embodiment disclosed in a publication. Detailed Implementation
[0029] The following describes specific embodiments of the present invention. It should be noted that, in order to provide a concise description, this specification cannot exhaustively describe all features of the actual embodiments. It should be understood that, in the actual implementation of any embodiment, just as in any engineering or design project, various specific decisions are often made to achieve the developer's specific goals and to meet system-related or business-related constraints, and this can change from one embodiment to another. Furthermore, it is understood that although the efforts made in this development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this invention, some design, manufacturing, or production modifications based on the technical content disclosed herein are merely conventional technical means and should not be construed as insufficient content of this disclosure.
[0030] Unless otherwise defined, the technical or scientific terms used in the claims and description shall have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. The terms "first," "second," and similar terms used in the patent application description and claims of this invention do not indicate any order, quantity, or importance, but are merely used to distinguish different components. The terms "an" or "a" and similar terms do not indicate a quantity limitation, but rather indicate the presence of at least one. The terms "comprising" or "including" and similar terms mean that the element or object preceding "comprising" or "including" encompasses the element or object listed following "comprising" or "including" and its equivalents, and do not exclude other elements or objects. The terms "connected" or "linked" and similar terms are not limited to physical or mechanical connections, nor are they limited to direct or indirect connections.
[0031] For terminal devices, the process of scanning for hidden APs requires first sending probe request frames to detect hidden APs. When a hidden AP replies with a probe response frame, the terminal device can obtain relevant information about the hidden AP and select it for connection. For WiFi drivers, the number of hidden APs that can be scanned each time is affected by factors such as the scanning time of each channel. Specifically, since scanning for hidden APs requires the terminal device to actively send probe request frames, it typically sends these frames across multiple channels, including 2.4GHz and 5GHz. Therefore, the number of hidden APs that can be searched is limited by the scanning time, resulting in a smaller number of hidden APs that can be scanned each time. Furthermore, since the number of probe request frames that can be used to scan for hidden APs on each channel is generally fixed, the probability of detecting a hidden AP on each channel is also low. The probability of detecting a hidden AP is also affected by environmental interference, further reducing the efficiency of the scanning process.
[0032] Scanning for hidden access points typically involves a Station (STA) sending probe request frames on various channels. These frames may contain a location to store the SSID (Service Set Identifier). This location is empty when scanning non-hidden access points, indicating that all access points can respond with probe response frames to the STA. When a terminal device scans for hidden access points (APs), it includes the AP's SSID in the probe request frame. Upon receiving this frame, the hidden AP replies with its own SSID, and the STA, upon receiving this response, can then obtain information about the hidden AP. Current technology, due to time constraints, typically limits the number of probe response frames sent per channel to the number of hidden APs that the Media Access Control (MAC) layer can scan. This significantly restricts the number of hidden APs that a terminal device can store. Furthermore, since the number of probe request frames sent to each specific hidden AP in each channel is fixed, the probability of detecting a hidden AP is the same whether the number of hidden APs is small or large. Therefore, under the same scanning time, when the number of hidden APs is small, the total number of probe request frames sent across all channels is small, resulting in a waste of time and communication resources during the hidden AP scanning process.
[0033] An exemplary embodiment of this disclosure provides a hidden access point scanning driving method, used for a driving module, the driving module including a storage space. The terminal device may include a driving module, a core layer, and a media access control layer. The core layer can send relevant information about hidden access points (APs) to the driving module. The driving module can receive information such as the address of the hidden APs provided by the upper layer, and can store the hidden AP information in the storage space. Subsequently, based on the stored information in the storage space and the hidden access point information provided by the upper layer, it determines the access points to be scanned, and based on these access points to be scanned, determines and sends scanning instructions to drive the media access control layer to scan hidden access points. The media access control layer can receive and execute the scanning instructions sent by the driving module, and execute the corresponding scanning instructions to scan the hidden access points. The storage space can store a large amount of hidden access point information; specifically, the maximum number of hidden access points that the storage space can store can be greater than the maximum number of hidden access points that the media access control layer can scan each time it executes a scanning instruction. Figure 1 As shown, the hidden access point scanning driving method includes steps S110 to S140.
[0034] Step S110: Receive information from at least one hidden access point. The driver module can receive information from one or more hidden access points from the upper layer. This information may include the SSID of the hidden access point. Based on the SSID, during the execution of the scanning command at the media access control layer, when sending a probe request frame for the hidden access point, the probe request frame can include the SSID of the corresponding hidden access point. This allows the hidden access point to receive the probe request from the terminal device and reply with a probe response frame, thereby detecting the hidden access point and facilitating subsequent communication with it. By receiving information such as the SSID of the hidden access point, scanning of hidden access points can be achieved during subsequent access point scanning.
[0035] Step S120: Determine the access points to be scanned based on the information of the hidden access points and the stored information in the storage space. Since the driver module includes a storage space for storing access point information, some stored information may exist in this storage space. The stored information may include information such as the SSID of previously scanned access points, as well as information about access points that need to be detected and scanned in the next scan. Therefore, based on the hidden access point information received from the upper layer and the stored information in the storage space, the access points to be scanned in the next scan can be determined. The access points to be scanned may include all hidden access point information and stored information, or they may only include some hidden access point information and some stored information. The number of access points to be scanned may be less than or equal to the sum of the number of hidden access points and the number of access points with stored information.
[0036] Step S130: Determine the scanning command based on all access points to be scanned. Based on the determined access points to be scanned, the SSIDs and corresponding scanning channels of these access points stored in the storage space can be copied to the array corresponding to the scanning command, thereby determining the scanning command.
[0037] Step S140: Send a scan command to the Media Access Control (MAC) layer. The driver module can send its determined scan command to the MAC layer (Medium Access Control). Specifically, in this disclosure, the driver module can send the scan command to the LMAC layer (Lower Medium Access Control). The LMAC layer is mainly used to handle the data link layer protocol in WiFi, setting frame transmission and other functions. Therefore, the driver module can send a scan command to the LMAC layer, and subsequently, the scan command can be executed through the LMAC layer to send probe request frames in different channels and receive probe response frames replied by the hidden access point, thereby realizing the scanning and detection of the hidden access point.
[0038] Specifically, the maximum number of hidden access points that the storage space can store can be greater than the number of hidden access points that the media access control layer can scan in a single scan command. Furthermore, the number of hidden access points that the storage space can store is twice the number of hidden access points that the media access control layer can scan at once. During driver module initialization, the driver module can report the maximum number of hidden access points that the storage space can store to the upper layer. This allows the upper layer to use this number as the number of hidden access points that can be scanned, ensuring that the number of hidden access points sent by the upper layer to the driver module each time is less than or equal to the maximum number of hidden access points that the storage space can store. In this way, the number of hidden access points sent by the upper layer to the driver module can be effectively increased, thereby increasing the number of hidden access points stored in the storage space, and increasing the number of access points to be scanned included in the scan command during subsequent scan command determination. This increases the number of hidden access points that can be scanned in a single scan operation.
[0039] Specifically, when the number of hidden access points (HAPs) that the storage space can store is twice the number of HAPs that the Media Access Control (Media Access Control) layer can scan at once, since the number of HAPs in the storage space may be greater than the number of HAPs that the Media Access Control (Media Access Control) layer can scan all the HAPs stored in the storage space within two scanning operations, thus maximizing the number of HAPs scanned in each operation. Currently, commonly used technologies directly use the number of probe request frames that the Media Access Control (Media Access Control) layer can send in each channel as the number of HAPs that can be scanned, resulting in a smaller number of HAPs that the upper layer can store and send each time. The method provided in this embodiment increases the amount of HAP information sent by the upper layer each time. Therefore, it effectively increases the number of HAPs that the terminal device can scan in a single operation, further improving the efficiency of the terminal device in scanning HAPs.
[0040] According to the hidden access point scanning driving method provided in this embodiment, by setting up storage space within the driving module, the number of hidden access points that can be stored can be effectively increased. This allows for the scanning of more hidden access points within a limited scanning time window, thereby significantly increasing the number of hidden access points that can be detected in a single scan. The hidden access point scanning driving method provided in this embodiment can receive and store multiple hidden access point information provided by the upper layer. This enables the driving module to compare and integrate the existing hidden access point information in the storage space with newly issued hidden access point information from the upper layer to determine the access points to be scanned. Based on this, a corresponding scanning command is generated and sent to the media access control layer. Compared to existing technologies where the media access control layer can only perform scans based on a fixed number of SSIDs each time, this embodiment provides storage space for the driver module, allowing it to store a larger number of hidden access points. This allows the upper layer to send out more hidden access point information during a single configuration process, and the driver module can sequentially complete the detection of these access points in multiple scans, thereby significantly increasing the number of hidden access points detected in a single scan. This further increases the probability of detecting hidden access points, ensuring the effectiveness of the scan and improving the success rate of detecting hidden access points.
[0041] In some embodiments, such as Figure 2 As shown, step S120, which determines the access point to be scanned based on the information of the hidden access point and the information already stored in the storage space, may include the following steps.
[0042] Step S121: Determine the stored information in the storage space. Since the storage space is limited, it is necessary to first determine all the stored information in the storage space to ensure that newly received hidden access point information can be stored thereafter. First, all stored information in the storage space can be traversed to determine the number of stored information entries, i.e., the number of hidden access point entries within the stored information. Since the memory size of the storage space can be set during driver module initialization, the memory size represents the maximum number of hidden access point entries that can be stored in the storage space, and the memory size can be greater than the number of hidden access points that the media access control layer can scan at once. The number of hidden access points sent down from the upper layer is based on the memory size of the storage space; the number of hidden access points sent down from the upper layer can be less than or equal to the maximum number of hidden access point entries that the storage space can store. Therefore, it is necessary to first determine the number of stored information entries to facilitate storing all received hidden access point information in the storage space.
[0043] If the number of stored information points is 0, then step S122 is executed to store all hidden access point information into the storage space and determine the hidden access points as access points to be scanned. When the number of stored information points is 0, it can be determined that the storage space has sufficient remaining space to store the hidden access point information sent down from the upper layer. Specifically, the number of hidden access points sent down from the upper layer is based on the memory of the storage space, and the number of hidden access points sent down from the upper layer can be less than or equal to the maximum number of hidden access point information that the storage space can store. Therefore, when the number of stored information points is 0, the storage space can hold all the information of the hidden access points. When the number of stored information points is 0, all the information of the hidden access points can be directly stored into the storage space, and at this time, all the hidden access points sent down from the upper layer in the storage space can be determined as access points to be scanned. The access points to be scanned can be the hidden access points that the terminal device will scan and detect later.
[0044] If the number of stored information items is greater than 0, then step S123 is executed to determine the access points to be scanned based on the information of each hidden access point and the stored information. When the number of stored information items is greater than 0, some hidden access point information already exists in the storage space, while the remaining space that has not saved hidden access point information may be sufficient to store all hidden access point information received from the upper layer, or the remaining space may not be sufficient to store all hidden access point information received from the upper layer. Therefore, if it is determined that the number of stored information items is greater than 0, step S123 can be executed to further determine the information of each hidden access point and the stored information, and determine the access points to be scanned, thereby ensuring that all hidden access point information received from the upper layer can be stored in the storage space, avoiding the omission or loss of hidden access points.
[0045] Specifically, in the storage space, hidden access point information can be stored in the form of a linked list. For example... Figure 3 As shown, the storage space includes a stored linked list containing hidden access point information and a blank linked list containing no hidden access points. Each node in the stored linked list stores information about one hidden access point, while each node in the blank linked list stores information about one hidden access point. When it is necessary to store information about a new hidden access point in the storage space, the head node of the blank linked list can be retrieved, and the information about the new hidden access point can be stored in this node. Then, the number of hidden access points already stored in the storage space can be incremented by one. Finally, the node containing the hidden access point information is extracted from the blank linked list and linked to the tail of the stored linked list, thus completing the storage of a new hidden access point.
[0046] According to the hidden access point scanning driving method provided in this embodiment, by determining the amount of information already stored in the storage space, the occupancy of the storage space can be determined before receiving new hidden access point information, ensuring the security and stability of subsequent information storage and avoiding information overwriting or storage anomalies. When the storage space is empty, step S122 can directly write all hidden access point information into the storage space and determine it as the access point to be scanned, enabling the driving module to quickly determine the access point to be scanned and improving the response speed and execution efficiency of the scan command determination. When some hidden access point information already exists in the storage space, step S123 compares the newly received hidden access point information with the already stored information and reasonably allocates storage nodes, allowing the driving module to flexibly adjust the storage content according to the storage space occupancy, ensuring that all newly received hidden access point information can be safely stored, thereby avoiding omissions and information loss. Through this embodiment, when determining the scan command, it can be ensured that the access point information to be scanned contained in the command is the latest and valid information, avoiding invalid scanning of expired or duplicate access points, thereby improving the targeting and efficiency of the scan task execution. In summary, this embodiment can achieve efficient management and precise scheduling of hidden access point information in the storage space, effectively improve the storage density and utilization of hidden access point information, reduce the risk of memory occupation conflicts, and ultimately increase the number of hidden access points that the media access control layer can scan, and increase the probability of scanning hidden access points.
[0047] In some embodiments, such as Figure 4 As shown, step S123, which determines the access point to be scanned based on the information of each hidden access point and the stored information, may include the following steps.
[0048] If all stored information exists in the same stored information as the hidden access point, then step S1231 is executed, and the update time of the stored information with the same hidden access point information is determined as the current time. Since the hidden access point sent by the upper layer may already exist in the storage space, after traversing the stored information and the hidden access point information, the existence of the same hidden access point information is detected. Therefore, the stored information can be retained, and the data of the stored information can be updated, modifying the update time of the stored information to the current time. The update time of the stored information can be the time when the stored information was stored in the storage space, or the time when the hidden access point information corresponding to the stored information was last received from the upper layer, i.e., the time when the hidden access point information sent by the upper layer was most recently received. The upper layer may send hidden access point information with the same stored information again according to the hidden access point scanning requirements. The driver module can refresh the update time of the stored information according to the received hidden access point time, modifying the update time to the current time, while the stored information can be retained in the storage space.
[0049] If none of the stored information matches the information of the hidden access point, then step S1232 is executed to determine the hidden access point as information to be stored. In this case, the received hidden access point is different from any of the stored information, so it can be determined that the current hidden access point does not exist in the stored information. Therefore, the hidden access point can be stored in the storage space. Since the remaining space in the storage space that can be used to store new hidden access points may not be enough to store all of the above hidden access points, these hidden access points can be determined as information to be stored first, and then the access points to be scanned can be further determined later.
[0050] Step S1233: Determine the access points to be scanned based on the stored information and the information to be stored. The access points to be scanned can be determined based on the stored information in the storage space and the information to be stored that has not yet been stored. The stored information can include the information stored after the aforementioned refresh update time, and the information to be stored can include hidden access point information received from the upper layer that is different from any of the stored information. All stored information and all information to be stored can be determined as the access points to be scanned. The driver module can store all the information to be stored in the storage space to facilitate the subsequent extraction of these access points to be scanned to determine the scanning command. However, if the storage space is insufficient to store all stored information and information to be stored, some of the hidden access points in the stored information and information to be stored can also be used as the access points to be scanned.
[0051] According to the hidden access point scanning driving method provided in this embodiment, by determining whether the hidden access point information is the same as the information already stored in the storage space, if a match exists, there is no need to store it repeatedly. Instead, the update time of the stored information is refreshed. This ensures that the driving module always retains the latest hidden access point status information while maintaining a stable storage capacity. It also avoids resource waste and redundant data accumulation caused by repeatedly storing the same hidden access point information, improving storage space utilization and further increasing the number of hidden access points that the terminal device can scan. When the currently received hidden access point information does not exist in the storage space, it can be identified as information to be stored. Subsequently, based on the information to be stored and the already stored information, access points to be scanned are determined. This ensures that new hidden access points can also be stored in the storage space, further increasing the number of hidden access points that the terminal device can scan.
[0052] In some embodiments, such as Figure 5 As shown, step S1233, which determines the access point to be scanned based on the stored information and the information to be stored, may include the following steps.
[0053] If the number of information items to be stored exceeds the remaining space in the storage space, then step S12331 is executed: based on the update time of the stored information, one or more already stored information items are deleted, and the information to be stored is stored in the storage space. It can be determined that the remaining space in the storage space can be used to store new hidden access point information, and the number of information items to be stored is also determined. When the number of information items to be stored exceeds the remaining space in the storage space, the remaining space is too small to directly store all the information items to be stored. Therefore, some information needs to be deleted, thereby increasing the remaining space in the storage space so that the number of hidden access points that can be stored in the remaining space is greater than or equal to the number of information items to be stored. Thus, based on the update time of the stored information, one or more already stored information items can be deleted, thereby freeing up more remaining space to store the aforementioned information items to be stored. Specifically, based on the difference between the number of information items to be stored and the number of hidden access points that the remaining space can store, the number of already stored information items to be deleted can be determined, and the corresponding number of already stored information items can be deleted, and the information to be stored is stored in the storage space. In other embodiments, the remaining space and the number of information to be stored can be determined in real time. When the remaining space is not 0, some of the information to be stored is stored into the storage space in sequence. For each piece of information to be stored, the number of recorded information to be stored is reduced by 1. When it is detected that the remaining space is 0 and the number of information to be stored is greater than 0, one piece of stored information is deleted, and the information to be stored is stored into the storage space in sequence. The above operation can then be repeated until the number of information to be stored is equal to 0.
[0054] Based on the update time of the stored information, the information that needs to be deleted can be determined. For hidden access points corresponding to stored information whose update time is far from the current time, it can be determined that the upper layer has less intention to scan these hidden access points. Therefore, in order to ensure that all hidden access points received from the upper layer are saved to the storage space, the stored information with the earliest update time can be deleted first, and replaced with the new hidden access point, i.e., the hidden access point corresponding to the information to be stored, and its update time can be refreshed to the current time.
[0055] Specifically, because the hidden access point information can be stored in the storage space using a linked list, the process of deleting stored information in the storage space can be as follows: Figure 6 As shown, firstly, the node corresponding to the stored information is deleted from the storage linked list. After deleting the node's content, the number of hidden access points stored in the record storage space is incremented by 1. Then, the node after deletion is extracted from the storage linked list and linked to the end of the empty linked list. In this way, the deletion of a stored piece of information can be completed.
[0056] If the amount of information to be stored is less than or equal to the remaining space in the storage space, then step S12332 is executed to store the information to be stored in the storage space. When the amount of information to be stored is less than or equal to the remaining space in the storage space, it can be determined that the current remaining space is sufficient to store all the information to be stored. Therefore, the information to be stored can be directly stored in the storage space, thereby updating the data stored in the storage space.
[0057] Step S12333: All stored information in the current storage space is identified as access points to be scanned. Ultimately, all information stored in the storage space can be identified as access points to be scanned. The storage space must include at least all the aforementioned information to be stored. Specifically, if the number of information to be stored equals the maximum memory of the storage space, the storage space may contain only all the information to be stored. If the number of information to be stored is less than the maximum memory of the storage space but greater than the remaining space in the storage space, the storage space may include all the information to be stored as well as some of the information already stored in the storage space in the aforementioned steps. If the number of information to be stored is less than the remaining space in the storage space, the storage space may include all the information to be stored as well as all the information already stored in the storage space in the aforementioned steps. Therefore, all information in the current storage space can be identified as access points to be scanned.
[0058] According to the hidden access point scanning driving method provided in this embodiment, by judging the quantity of information to be stored and the remaining space in the storage space, when the quantity of information to be stored is greater than the available storage capacity, the system can automatically delete one or more of the earliest updated hidden access point information based on the update time of the stored information, and release the corresponding space for writing new hidden access point information. This update strategy is based on a time priority mechanism, enabling the driving module to always prioritize saving the most recently sent hidden access point information from the upper layer with a stronger scanning intention, thereby increasing the probability of scanning hidden access points. When the quantity of information to be stored is less than or equal to the remaining space, all information to be stored can be directly stored in the storage space, thereby ensuring that all hidden access points can be identified as access points to be scanned subsequently. This further increases the number of hidden access points that can be scanned.
[0059] In some embodiments, such as Figure 7 As shown, the hidden access point scanning driving method may further include steps S150 and S160.
[0060] Step S150: Based on the stored information in the storage space, determine the update time of each stored piece of information. All stored information in the storage space can be traversed, thus determining the update time corresponding to each piece of stored information. Based on the update time, the time when the driver module last received information about the hidden access point corresponding to the currently stored information can be determined.
[0061] If the difference between the current time and the update time is greater than or equal to a preset time difference, then step S160 is executed to delete the currently stored information from the storage space. For hidden access points corresponding to stored information whose update time is far from the current time, it can be determined that the upper layer has not issued instructions to scan the information of this hidden access point for a long time, so the hidden access point can be deleted from the storage space. Therefore, a preset time difference can be determined in advance. When the difference between the current time and the update time of the stored information is less than the preset time difference, the stored information can be retained. When the difference between the current time and the update time of the stored information is greater than or equal to the preset time difference, the stored information can be deleted from the storage space to avoid wasting storage space and maximize the utilization of storage space.
[0062] According to the hidden access point scanning driving method provided in this embodiment, by traversing all stored information in the storage space and extracting their respective update times, the time point when the driving module last received the relevant information of the hidden access point can be accurately determined. By comparing the time difference between the current time and the update time of each stored information, if the time difference is greater than or equal to a preset time difference threshold, the system automatically deletes the hidden access point information from the storage space. Through this cleanup strategy, hidden access point information that has not been called by upper-layer instructions for a long time or has become invalid can be actively eliminated, thereby preventing invalid data from occupying storage space for a long time. This allows the storage space to store more hidden access points sent down from the upper layer, thereby increasing the number of hidden access points scanned and increasing the probability of hidden access points being scanned.
[0063] In some embodiments, such as Figure 8 As shown, step S140, which determines the scanning instruction based on all access points to be scanned, may include steps S141 to S143.
[0064] Step S141: Based on the total number of access points to be scanned and the maximum value of the media access control layer's single scan of hidden access points, determine the minimum value between the two to be the number of access points to be scanned. Since the memory of the storage space is greater than the number of hidden access points that the media access control layer can scan in a single scan, there may be a situation where the number of access points to be scanned in the storage space is greater than the number of hidden access points that the media access control layer can scan in a single scan. To address this, during the process of determining the scan instruction, the total number of access points to be scanned and the maximum value of the media access control layer's single scan of hidden access points can be determined, and the minimum value between the two can be used as the number of access points to be scanned.
[0065] Step S142: Determine the scanning frequency based on the number of scans and the duration of each scan. The number of scans can be the number of hidden access points to be scanned in a single scan, as determined in step S141. The duration of each scan can be the maximum duration for executing a scan command within a single channel. The scanning frequency can be the number of probe request frames that the media access control layer can send within the duration of each scan command execution within a channel. Specifically, the scanning frequency can be determined by dividing the maximum duration of executing a scan command by the interval between each probe request frame, and then dividing by the number of hidden access points to be scanned. The interval between each probe request frame can be a preset value of the terminal device. By determining the scanning frequency using the above method, the scanning frequency can be increased when the number of access points to be scanned is small, i.e., the number of probe request frames sent in each channel can be increased, thereby increasing the probability of scanning hidden access points.
[0066] Step S143: Determine the scanning command based on the access points to be scanned, the number of scans, and the scanning frequency. The access points to be scanned, the number of scans, and the scanning frequency determined in the preceding steps can be stored in the scanning command so that the media access control layer can scan for hidden access points according to the scanning frequency and related information corresponding to the scanning command.
[0067] According to the hidden access point scanning driving method provided in this embodiment, by obtaining the total number of all access points to be scanned and the maximum value of hidden access points that the Media Access Control (MAC) layer can scan in a single scan, and taking the minimum of the two as the scan quantity, the execution range of the scanning command can be dynamically adjusted within the processing capability of the terminal device, thereby improving the stability of the terminal device operation. Since the storage space is larger than the maximum value of hidden access points that the MAC layer can scan in a single scan, the scan quantity for each scan can be maximized to reach the maximum value of hidden access points that the MAC layer can scan in a single scan, thereby increasing the number of hidden access points that can be scanned. By combining the scan quantity and the duration of each scan, the scan frequency is further determined, and the scan frequency of hidden access points in each channel can be dynamically determined while ensuring the single scan time limit. When the number of access points to be scanned is small, the system can automatically increase the sending frequency of probe request frames, thereby increasing the probability of hidden access points being detected. This can increase the likelihood of scanning hidden access points and reduce the impact of environmental interference.
[0068] In some embodiments, such as Figure 9 As shown, step S140, which determines the scanning instruction based on all access points to be scanned, may also include steps S144 to S146.
[0069] Step S144: Extract all stored information from the storage list in the storage space sequentially and store it into the scan instruction. For example... Figure 10 As shown, the stored information can be stored in the storage space in the form of a linked list. Therefore, the stored information can be retrieved and stored into the scan instruction sequentially according to the order of the storage linked list, thus realizing the determination of the scan instruction. Specifically, the stored information can be retrieved one by one from the head to the tail of the storage linked list.
[0070] Step S145: Extract all stored information and store it in reverse order to a temporary linked list. For example... Figure 10As shown, while sequentially retrieving the stored information from the storage list, a node can be retrieved starting from the head of the storage list. After copying the hidden access point information stored in the node to the scan command array via step S144, this node can be retrieved from the head of the storage list and placed at the head of the temporary list. By retrieving all nodes sequentially using this method, all stored information can be stored in reverse order in the temporary list.
[0071] Step S146: Connect the temporary linked list to the storage linked list in the storage space. Finally, as... Figure 11 As shown, a temporary linked list can be connected to the storage list in the storage space, thus allowing the linked list to store previously stored information in reverse order. This ensures that when a scan instruction is determined next time, this previously stored information is stored in reverse order in the next scan instruction, effectively preventing the omission of previously stored information in nodes at the end of the linked list.
[0072] Because the Media Access Control (Media Access Control) layer scans each hidden access point sequentially during the process of issuing and executing scan commands, and because there is a delay in the execution of scan commands by the Media Access Control (Media Access Control) layer, and the maximum duration of executing scan commands is fixed, the Media Access Control (Media Access Control) layer may miss some hidden access points during the execution of scan commands, causing hidden access points located at the end of the storage list to be missed. The method provided in this embodiment can reverse and re-save the stored information when the scan command is determined for the first time. During the next scan command determination, this stored information can be scanned in reverse order, effectively avoiding the missed scanning of hidden access points. Therefore, it can effectively avoid the missed scanning of hidden access points, thereby effectively improving the number and efficiency of hidden access point scanning.
[0073] Based on the same inventive concept, this disclosure also provides a terminal device 200, such as... Figure 12 As shown, it includes: a core layer 210, a driver module 220, and a media access control layer 230.
[0074] The core layer 210 is used to send information about at least one of the hidden access points to the driver module 220. The core layer 210 can be the control and signal core of the terminal device 200. The core layer 210 can send the hidden access point information to the driver module 220, thereby causing the driver module 220 to send a scan command to drive the media access layer to scan for hidden access points.
[0075] The driver module 220 is used to execute the hidden access point scanning driving method provided in any of the foregoing embodiments. The driver module 220 can receive hidden access point information issued by the core layer 210 and store the hidden access point information in its storage space. Based on the hidden access points in the storage space, the access point to be scanned can be determined. Based on the access point to be scanned, the scanning command to be issued to the media access control layer 230 can be determined, and finally, the scanning command can be sent to the media access control layer 230 through the driver module 220.
[0076] The Media Access Control (Media Access Control) layer 230 is used to receive and execute scanning commands sent by the driver module 220. After receiving the scanning command from the driver module 220, the Media Access Control (Media Access Control) layer 230 can send probe request frames in various channels to scan for hidden access points according to the scanning command. When the Media Access Control (Media Access Control) layer 230 receives a probe response frame from a hidden access point, it can obtain relevant information about the corresponding hidden access point and subsequently enable the terminal device 200 to connect to the detected hidden access point.
[0077] Specifically, the terminal device 200 can be a smart electronic device capable of connecting to WiFi, such as a mobile phone, computer, or smart head-mounted device, such as smart glasses or smart headphones. The terminal device 200 can perform hidden access point scanning through the operation of its core layer 210, driver module 220, and media access control layer 230.
[0078] Specifically, the user can input information about hidden access points in the client's UI. The client can then send all received information about hidden access points to the core layer 210. After the core layer 210 detects this information, it can send the information about the hidden access points to be scanned to the driver module 220 via an interface. The driver module 220 can receive the hidden access point information and store it in its storage space. The driver module 220 can also compare the number of hidden access points already saved (i.e., the number of access points to be scanned) with the number of hidden access points that the media access control layer 230 can scan at once to calculate the actual number of hidden access points to be scanned, save this number in a scan command, and send it to the media access control layer 230. The Media Access Control (Media Access Control) layer 230 constructs probe request frames for each access point to be scanned based on the scanning instructions sent by the driver module 220, and simultaneously sends probe request frames on different channels. When it receives a probe response frame from a corresponding hidden access point, the Media Access Control (Media Access Control) layer 230 packages the relevant information of these hidden access points and sends it back to the driver module 220. The driver module 220 receives this information and sends it to the core layer 210 for temporary storage. After the Media Access Control (Media Access Control) layer 230 has scanned all channels, it sends a scan completion message to the driver module 220. The driver module 220 then sends the scan completion message to the core layer 210. The core layer 210 transmits all the hidden access points scanned in this scan to the client, allowing the client to display the SSIDs of these hidden access points on the UI and connect or click on the SSID of the corresponding hidden access point to perform a connection operation.
[0079] According to the terminal device 200 provided in this embodiment, through the layered collaboration between the core layer 210, the driver module 220, and the media access control layer 230, efficient scanning and management of hidden access points can be achieved, thereby significantly improving the number of hidden access points scanned by the terminal device 200, the scanning efficiency, and the probability of scanning hidden access points. The core layer 210, through interaction with the client, can obtain and send hidden access point information to the driver module 220, enabling the terminal device 200 to actively trigger the scanning operation of hidden access points based on user input or upper-layer application requirements. The driver module 220, as an intermediate control layer connecting the core layer 210 and the media access control layer 230, can execute the hidden access point scanning driving method provided in any of the aforementioned embodiments, and can dynamically select the optimal number and frequency of scans based on storage space capacity. The driver module 220 can store more hidden access point information through storage space, thereby further increasing the amount of hidden access point information scanned by the terminal device 200. Simultaneously, the driver module 220 can optimize the scanning frequency, thereby improving the success rate of the terminal device 200 in scanning hidden access points. After receiving the scanning command issued by the driver module 220, the media access control layer 230 can send detection request frames in parallel or sequentially in multiple channels according to the preset number and frequency of scans to detect the target hidden access point, which can significantly improve the number of hidden access points scanned by the terminal and the success rate of scan.
[0080] In some embodiments, the storage capacity of the driver module 220 is greater than the maximum number of hidden access points that the media access control layer 230 can scan in a single scan. The storage capacity of the storage module refers to the maximum number of hidden access points that the storage space can store. During driver module 220 initialization, a maximum number of hidden access points that can be stored can be actively set according to requirements, and a corresponding number of spaces are allocated to store these hidden access points, i.e., storage space. Simultaneously, this maximum number of hidden access points that the storage space can store can be sent to the core layer 210 through the driver module 220. Thus, the core layer 210 can use the maximum number of hidden access points that the storage space can store as the number of hidden access points that the terminal device 200 can scan during a single scan. Therefore, to increase the number of hidden access points scanned in a single scan, the storage capacity can be greater than the maximum number of hidden access points that the media access control layer 230 can scan in a single scan. In this way, the number of hidden access points sent from the upper layer to the driver module 220 can be effectively increased, thereby increasing the number of hidden access points stored in the storage space, and increasing the number of access points to be scanned included in the scan command during the subsequent determination of the scan command. This allows the terminal device 200 to scan for more hidden access points.
[0081] Specifically, the storage capacity of the driver module 220 can be twice the maximum value of the hidden access points scanned by the media access control layer 230 in a single scan. This ensures that the media access control layer 230 can scan all hidden access points within two scans, increasing the storage and scanning capacity of hidden access points.
[0082] According to the hidden access point scanning driving method provided in this embodiment, by setting the storage capacity of the driving module 220 to be greater than the maximum value of the media access control layer 230 in a single scan of hidden access points, the number of hidden access points scanned by the terminal device 200 can be significantly increased. The core layer 210 can dynamically adjust the number of hidden access points sent to the driving module 220 based on the storage capacity information fed back by the driving module 220, thereby enabling the driving module 220 to store more hidden access points and subsequently detect more hidden access points.
[0083] Based on the same inventive concept, this disclosure also provides a computer-readable storage medium storing a program for executing the hidden access point scanning driving method of any of the foregoing embodiments. Figure 13 As shown, one embodiment of this disclosure provides an electronic device 300. The electronic device 300 includes one or more processors 310, a memory 320, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some alternative embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 13 Take the 310 processor as an example.
[0084] Processor 310 may be a central processing unit, a network processor, or a combination thereof. Processor 310 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GPA), or any combination thereof.
[0085] The memory 320 stores instructions executable by at least one processor 310 to cause the at least one processor 310 to perform the hidden access point scanning driving method shown in the above embodiments.
[0086] The memory 320 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 320 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 320 may optionally include memory remotely located relative to the processor 310, and these remote memories may be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0087] The memory 320 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 320 may also include a combination of the above types of memory.
[0088] The electronic device also includes an input device 330 and an output device 340. The processor 310, memory 320, input device 330, and output device 340 can be connected via a bus or other means. Figure 13 Taking the example of a connection between China and Israel via a bus.
[0089] Input device 330 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touchscreen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 340 may include display devices, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration motors). The aforementioned display devices include, but are not limited to, liquid crystal displays, light-emitting diodes, displays, and plasma displays. In some alternative embodiments, the display device may be a touchscreen.
[0090] This application uses specific terms to describe embodiments of the application. Terms such as "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of the application. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics in one or more embodiments of the application can be appropriately combined.
[0091] In the context of this application, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of explicitly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0092] Similarly, it should be noted that, in order to simplify the description of the present application and thus aid in the understanding of one or more embodiments, the foregoing description of the embodiments of the present application sometimes combines multiple features into a single embodiment, drawing, or description thereof. However, this disclosure method does not imply that the subject matter of the present application requires more features than those mentioned in the claims. In fact, the embodiments contain fewer features than all the features of the single embodiments disclosed above.
[0093] The basic concepts have been described above. Obviously, for those skilled in the art, the above disclosure is merely illustrative and does not constitute a limitation of this application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this application. Such modifications, improvements, and corrections are suggested in this application, and therefore remain within the spirit and scope of the embodiments of this application.
Claims
1. A method for driving a hidden access point scanning driver, the hidden access point scanning driver comprising a storage space, the method comprising: receiving information of at least one hidden access point; determining to-be-scanned access points according to the information of the hidden access points and stored information in the storage space; determining scanning instructions based on all the to-be-scanned access points; and sending the scanning instructions to a media access control layer. The determining to-be-scanned access points according to the information of the hidden access points and the stored information in the storage space comprises: determining the stored information in the storage space; if the number of the stored information is 0, storing the information of all the hidden access points to the storage space and determining the hidden access points as the to-be-scanned access points; and if the number of the stored information is greater than 0, determining the to-be-scanned access points based on the information of each hidden access point and the stored information. The determining the to-be-scanned access points based on the information of each hidden access point and the stored information comprises: if all the stored information exists in one stored information same as the information of the hidden access point, determining the update time of the stored information same as the information of the hidden access point as a current time; if all the stored information does not exist in the stored information same as the information of the hidden access point, determining the hidden access point as to-be-stored information; and determining the to-be-scanned access points based on the stored information and the to-be-stored information. The determining the to-be-scanned access points based on the stored information and the to-be-stored information comprises: if the number of the to-be-stored information is greater than a remaining space in the storage space, deleting one or more stored information according to the update time of the stored information and storing the to-be-stored information to the storage space; if the number of the to-be-stored information is less than or equal to the remaining space in the storage space, storing the to-be-stored information to the storage space; and determining all the stored information in the current storage space as the to-be-scanned access points. The method further comprises: determining an update time of each stored information based on the stored information in the storage space; and if a difference between a current time and the update time is greater than or equal to a preset time difference, deleting the current stored information from the storage space.
2. The hidden access point scanning driving method of claim 1, wherein, The determining scanning instructions based on all the to-be-scanned access points comprises: determining a minimum value between a number of all the to-be-scanned access points and a maximum value of a single scanning of the hidden access points by the media access control layer as a scanning number of the to-be-scanned access points; determining a scanning frequency based on the scanning number and a scanning duration of each time; and determining the scanning instructions according to the to-be-scanned access points, the scanning number and the scanning frequency. The determining scanning instructions based on all the to-be-scanned access points further comprises: 3. The hidden access point scanning driving method of claim 2, wherein, 4. The hidden access point scanning driving method of claim 3, wherein, 5. The hidden access point scanning driving method of claim 1, wherein, 6. The hidden access point scanning driving method of claim 1, wherein, 7. The hidden access point scanning driving method of claim 1, wherein, Extract all the stored information in the storage list in the storage space in sequence and store it into the scan instruction; Extract all the stored information and store it in reverse order to a temporary linked list; Connect the temporary linked list to the storage linked list of the storage space.
8. A terminal device, comprising: The driver module is used to execute the hidden access point scanning driver method as described in any one of claims 1-7; The core layer is used to send information about at least one of the hidden access points to the driver module; The media access control layer is used to receive and execute the scanning instructions sent by the driver module.
9. The terminal device of claim 8, wherein, The capacity of the storage space of the driver module is greater than the maximum value of the hidden access point scanned by the media access control layer in a single operation.
10. A computer-readable storage medium storing a program for performing the hidden access point scanning driving method according to any one of claims 1-7.