Communication channel optimization method and apparatus, electronic device, and storage medium
Patent Information
- Application Number
- IN202217073501
- Authority / Receiving Office
- IN · IN
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-05-19
- Filing Date
- 2022-12-19
- Publication Date
- 2026-09-21
- Estimated Expiration
- 2041-05-19
AI Technical Summary
Existing methods for optimizing WiFi channels suffer from low precision due to inadequate detection of optimal channels during busy periods, leading to network interruptions and suboptimal performance, as they either reduce transmission performance or cannot switch channels during service busy periods without affecting user experiences.
A method that acquires channel availability and usage information within a cycle to determine busy and idle periods, allowing for optimal channel selection based on historical usage patterns, ensuring channel switching only during idle periods to maintain service efficiency and reduce interference.
This approach improves channel optimization precision by ensuring the optimal channel is used during busy periods without disrupting services, enhancing transmission performance and user experiences by minimizing network interruptions.
Smart Images

Figure 00000028_0000
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of communication technology, andparticularly relates to a method and an apparatus for optimizing a communicationchannel, an electronic device, and a computer readable storage medium.BACKGROUND
[0002] Since the Institute of Electrical and Electronics Engineers (IEEE) releases thewireless standard 801.11 in 1997, the wireless local area network (WLAN) has beenwidely accepted by the market and rapidly developed as the mainstream technology ofhome networks, intra-enterprise networks, and public access networks.
[0003] The WLAN, also known as WiFi, uses two frequency bands, including 2.4G and5.8G, which are both unlicensed frequency bands that can be used without a license, aslong as national regulations are complied. In short, a wireless router can be installed athome without any approval from any unit, and can be used without a license. That is, anair channel is to be shared with a neighbor, and thus is easy to be interfered.SUMMARY
[0004] In a first aspect, an embodiment of the present disclosure provides acommunication channel optimization method for optimizing a communication channel,including: acquiring channel availability and channel usage information of part or allchannels in an operating frequency band within at least one cycle; determining,according to the channel usage information of the part or all channels acquired within theat least one cycle, a busy period of service; and determining, according to the channelavailability and channel usage information of the part or all channels acquired within thebusy period in the at least one cycle, an optimal channel of the busy period.
[0005] In a second aspect, an embodiment of the present disclosure further provides anelectronic device, including: at least one processor; and a memory having at least oneprogram stored thereon, the at least one program, when executed by the at least oneprocessor, causes the at least one processor to perform method for optimizing thecommunication channel described above.
[0006] In a third aspect, an embodiment of the present disclosure further provides acomputer readable storage medium storing a computer program thereon, the computerprogram, when executed by a processor, implements the method for optimizing thecommunication channel described above.
[0007] In a fourth aspect, an embodiment of the present disclosure further provides anapparatus for optimizing a communication channel, including: an acquisition moduleconfigured to acquire channel availability and channel usage information of part or allchannels in an operating frequency band within at least one cycle; a dividing moduleconfigured to determine, according to the channel usage information of the part or allchannels acquired within the at least one cycle, a busy period of service; and adetermining module configured to determine, according to the channel availability andchannel usage information of the part or all channels acquired within the busy period inthe at least one cycle, an optimal channel of the busy period.BRIEF DESCRIPTION OF DRAWINGS
[0008] FIG. 1 is a flowchart of a method for optimizing a communication channelaccording to an embodiment of the present disclosure;
[0009] FIG. 2 is a block diagram of an apparatus for optimizing a communicationchannel according to an embodiment of the present disclosure;
[0010] FIG. 3 is a block diagram of an apparatus for optimizing a communicationchannel in a first example of an embodiment of the present disclosure; and
[0011] FIG. 4 is a block diagram of an apparatus for optimizing a communicationchannel in a second example of an embodiment of the present disclosure.DETAIL DESCRIPTION OF EMBODIMENTS
[0012] In order to make those skilled in the art better understand technical solutionsof the present disclosure, the following describes the method and apparatus foroptimizing the communication channel, the electronic device, and the computerreadable storage medium according to the present disclosure in detail with referenceto the accompanying drawings.
[0013] Example embodiments will be described more sufficiently below withreference to the accompanying drawings, but they may be embodied in differentforms and should not be construed as limited to the embodiments set forth herein.These exemplary embodiments are provided so that the present disclosure will bethorough and complete, and will fully convey the scope of the present disclosure tothose skilled in the art.
[0014] The embodiments of the present disclosure and features thereof may becombined with each other as long as they are not contradictory.
[0015] As used herein, the term "and / or" includes any and all combinations of atleast one of the associated listed items.
[0016] The terminology used herein is for the purpose of describing specificembodiments only and is not intended to limit the present disclosure. As used herein,the singular forms "a", "an" and "the" are intended to include the plural forms aswell, unless the context clearly indicates otherwise. It will be further understood thatas used herein, the terms "comprise / include" and / or "consist of ..." specify thepresence of specific features, integers, steps, operations, elements, and / orcomponents, but do not preclude the presence or addition of at least one anotherfeature, integer, step, operation, element, component, and / or group thereof.
[0017] Unless otherwise defined, all terms (including technical and scientific terms)used herein have the same meaning as commonly understood by one of ordinary skillin the art. It will be further understood that terms, such as those defined incommonly used dictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the related art and the presentdisclosure, and will not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.
[0018] In view of a problem of severe adjacent channel and co-channel interferencesof WiFi, related technologies have been developed in the industry for optimizing aWiFi channel, such as a function for diagnosing a neighbor access point (AP), whichenables an AP to discover related information of a neighbor AP and select a channelaccording to an occupancy of channel of the neighbor AP. However, since thediagnosing the neighbor AP affects WiFi services, each AP generally detects theneighbor AP at startup or during boot and then selects an optimal channel, which hasan evident disadvantage since the optimal channel at startup or during boot will notbe always optimal.
[0019] In view of above defects, there is further proposed a dynamic channelselection (DCS) in the industry, in which during operating, the AP detects thesurrounding radio environment according to a predetermined rule, and then switchesa channel according to a result of detecting. Specifically, there are two methods fordetecting. In a first method, the AP may extract part of time slots for detecting aneighbor AP during normally using services. The first method has the defect thatWiFi transmission performance of the AP is reduced since part of time slots areextracted for detecting the neighbor AP. In a second method, a dedicated antenna isused to detect the surrounding radio environment, and then the channel is to beswitched according to the result of detecting. The second method has the defect thatthe dedicated antenna cannot be used for data transmission.
[0020] Both above methods aim to detect a current idlest channel in real time, and ifthe channel currently used is not the optimal channel and the service is idle, thechannel is switched. Since the switching of channel will inevitably cause aninterruption of network, the channel cannot be switched during the service beingbusy so as not to affect user service experiences. However, the optimal channeldetected during the WiFi service being idle may be not optimal during the WiFiservice being busy.
[0021] In conclusion, the above methods for optimizing a WiFi channel each have arelatively low precision.
[0022] Although based on problems existing in the methods for optimizing a WiFichannel, the method according to any embodiment of the present disclosure is alsoapplicable to optimizing other communication channels.
[0023] FIG. 1 is a flowchart of a method for optimizing a communication channelaccording to an embodiment of the present disclosure.
[0024] In a first aspect, referring to FIG. 1, an embodiment of the present disclosureprovides a method for optimizing a communication channel, and the methodincludes following operations 100 to 102.
[0025] At operation 100, acquiring channel availability and channel usageinformation of part or all channels in an operating frequency band within at least onecycle.
[0026] At operation 101, determining, according to the channel usage information ofthe part or all channels acquired within the at least one cycle, a busy period ofservice.
[0027] At operation 102, determining, according to the channel availability andchannel usage information of the part or all channels acquired within the busy periodin the at least one cycle, an optimal channel of the busy period.
[0028] According to the method for optimizing the communication channel in theembodiment of the present disclosure, the busy period of service is firstly obtainedfrom the channel usage information of part or all channels acquired within at leastone cycle, that is, a historical usage regular pattern of a user on the channels issummarized, and then the optimal channel of the busy period is obtained from thechannel availability and channel usage information of the part or all channelsacquired within the busy period in the at least one cycle, that is, the optimal channelis obtained based on actual occupancy of channels by the user and the historicalusage regular pattern of the user on the channels. Since the process for optimizingthe channel is based on the actual occupancy of channels by the user during the busyperiod, the precision of optimizing the channel is improved.
[0029] In some implementations, after acquiring the channel availability and channelusage information of the part or all channels in the operating frequency band withinat least one cycle, the method further includes:determining, according to the channel usage information of the part or all channelsacquired within the at least one cycle, an idle period of service, and switching, in theidle period, an operating channel to an optimal channel of a next busy period.
[0030] In some implementations, the operating channel is to be switched to theoptimal channel of the next busy period at any time in the idle period.
[0031] In some implementations, in response to that an optimal channel of aprevious busy period in the idle period is different from the optimal channel of thenext busy period in the idle period, the operating channel is switched to the optimalchannel of the next busy period in the idle period; and in response to that an optimalchannel of a previous busy period in the idle period is the same as the optimalchannel of the next busy period in the idle period, the operating channel is notswitched in the idle period.
[0032] In some implementations, in response to that no device is attached to the AP,the operating channel is switched to the optimal channel of the next busy period inthe idle period.
[0033] In some implementations, in response to that a sum number of bytes receivedand sent during a period of time within the idle period is less than a second presetthreshold, the operating channel is switched to the optimal channel of the next busyperiod in the idle period.
[0034] According to the embodiment of the present disclosure, switching of theoperating channel is performed merely in idle periods and not in busy periods, whichensures that each busy period is operated over the optimal channel withoutinfluencing normal services, thereby further improving an efficiency of optimizingthe communication channel.
[0035] In some implementations, the channel may refer to a WiFi channel.
[0036] Certainly, the channel may refer to any other communication channel.
[0037] In some implementations, the channel may refer to any channel within theoperating frequency band. For example, for the frequency band of 2.4G, there areeleven WiFi channels, and the channel in the embodiment of the present disclosuremay include any one or more of the eleven WiFi channels.
[0038] In some implementations, the channel may refer to a critical channel withinthe operating frequency band, and the critical channel here refers to a channelwithout any adjacent channel interference within the operating frequency band. Forexample, for the frequency band of 2.4G, there are eleven WiFi channels, and thechannels numbered 1, 6 and 11 are not mutually interfered. The usage of the criticalchannel for optimizing effectively reduces a probability of channel conflict as wellas co-channel and adjacent channel interferences, and improves service transmissionperformance and user service experiences.
[0039] In some implementations, the channel usage information may include a flowrate.
[0040] In some implementations, the channel usage information may include abandwidth utilization rate.
[0041] Certainly, the channel usage information may further include otherinformation.
[0042] In some implementations, the channel availability is a difference between 1and a channel utilization rate.
[0043] In some implementations, the channel utilization rate refers to a ratio that anair channel cannot be used by a current device due to noise interference oroccupancy by other devices. That is, the channel utilization rate does not include anoccupancy rate of the air channel by the current device.
[0044] In some implementations, the channel availability refers to channelavailability of the channel in an operating state. In some implementations, instead ofoperating alone, each channel (i.e., primary operating channel) often operates inconjunction with at least one adjacent channel (i.e., secondary operating channel),for example, for the eleven WiFi channels of 2.4G, in general, during channel 1being in the operating state, channel 2 and channel 3 are also in the operating state,with the channel 1 being the primary operating channel, and the channel 2 and thechannel 3 being secondary operating channels; similarly, during channel 6 is in theoperating state, channel 4, channel 5, and channel 7 are also in the operating state,with the channel 6 being the primary operating channel, and the channel 4, thechannel 5, and the channel 7 being secondary operating channels; similarly, duringchannel 11 being in the operating state, channel 8, channel 9, and channel 10 (insome scenarios, further including channel 12 and channel 13) are also in theoperating state, with the channel 11 being the primary operating channel, and thechannel 8, the channel 9, and the channel 10 (in some scenarios, further includingthe channel 12 and the channel 13) being secondary operating channels, andtherefore the channel availability may refer to a sum channel availability of theprimary operating channel and the secondary operating channel(s).
[0045] In some implementations, the channel usage information may refer to channelusage information of the channel in the operating state. In some implementations,instead of operating alone, each channel (i.e., primary operating channel) oftenoperates in conjunction with at least one adjacent channel (i.e., secondary operatingchannel), and therefore the channel usage information may refer to usageinformation of the primary operating channel and the secondary operatingchannel(s).
[0046] In some implementations, the channel usage information includes channelusage information corresponding to all service types. In some implementations, thechannel usage information includes channel usage information corresponding to atleast one service type. Implementations of above two cases will be respectivelydescribed below.
[0047] In a first case, the channel usage information includes channel usageinformation corresponding to all service types.
[0048] For the first case, the service type of data packets is not identified duringacquiring the channel usage information.
[0049] For the first case, in some implementations, the acquiring channel availabilityand channel usage information of part or all channels in an operating frequency bandwithin at least one cycle is implemented by: periodically collecting a channelutilization rate of the part or all channels and a sum number of bytes received and sentthrough the part or all channels within the operating frequency band in each cycle; anddetermining corresponding channel availability (i.e., corresponding to a collection forcollecting the channel utilization rate) according to the channel utilization ratecollected, and determining corresponding channel usage information (i.e.,corresponding to a collection for collecting the sum number of bytes received and sent)according to the sum number of bytes received and sent collected.
[0050] In some implementations, the sum number of bytes received and sent may bereferred to as traffic.
[0051] In some implementations, a collection time for collecting the channelutilization rate and the sum number of bytes received and sent is recorded.
[0052] In some implementations, the channel availability corresponding to an ithcollection is equal to a difference between 1 and the channel utilization rate of the ithcollection, where i is an integer greater than or equal to 1.
[0053] In some implementations, the channel usage information includes a flow rate,the flow rate Vi corresponding to the ith collection is Vi = Wi-Wi-1 / Ti-Ti-1, Wi is a sumnumber of bytes received and sent collected in the ith collection, Wi-1 is a sumnumber of bytes received and sent collected in the (i-1)th collection, Ti is thecollection time corresponding to the ith 20 collection, and Ti-1 is the collection timecorresponding to the (i-1)th collection.
[0054] In some implementations, the channel usage information includes abandwidth utilization rate, the bandwidth utilization rate corresponding to the ithcollection is a ratio of the flow rate corresponding to the ith collection to a maximumbandwidth, and the maximum bandwidth may be any one of a maximum linkbandwidth, a maximum physical bandwidth, a maximum actual bandwidth, or anyother maximum bandwidth.
[0055] For the first case, in some implementations, determining, according toacquired channel usage information of part or all channels, the busy period ofservice and the idle period of service may be implemented by: calculating an averagevalue of the channel usage information of the part or all channels corresponding to asame collection time in different cycles; determining, in response to that the averagevalue of the channel usage information of the part or all channels corresponding to thecollection time is greater than or equal to a first preset threshold value, that thecollection time is in the busy period; and determining that a time period between anytwo adjacent collection times in the busy period is within the busy period; determining,in response to that the average value of the channel usage information of the part orall channels corresponding to the collection time is less than the first presetthreshold value, that the collection time is in the idle period; and determining that atime period between any two adjacent collection times in the idle period is in theidle period; and determining that a time period between the collection time in the busyperiod and the collection time in the idle period, adjacent to the collection time in thebusy period, is in the busy period, or in the idle period, or partially in the busy periodand partially in the idle period.
[0056] For the first case, in some implementations, the determining, according to thechannel availability and channel usage information of the part or all channelsacquired within the busy period of the at least one cycle, an optimal channel of thebusy period may be implemented by: calculating, according to the channel availabilityand channel usage information of the channels acquired within the busy period of the atleast one cycle, an average value of the channel availability of each channel acquiredwithin the busy period of at least one cycle; and determining the channel with amaximum average value of the channel availability as the optimal channel of the busyperiod.
[0057] In some implementations, the calculating, according to the channelavailability and channel usage information of the channels acquired within the busyperiod of the at least one cycle, an average value of the channel availability of thechannels acquired within the busy period of at least one cycle includes: taking thechannel usage information as a weight to calculate a weighted average value of thechannel availability of the channels acquired within the busy period of at least onecycle.
[0058] In some implementations, an average value Pkn of the channel availability ofthe channel k acquired in an nth busy period of at least one cycle is Pkn = ∑m ∑i Bknmi x Uknmi / Qn / M, where Bknmi is the channel usage information of the channelk corresponding to the ith collection in the nth busy period of an mth cycle, Uknmi isthe channel availability of the channel k corresponding to the ith collection in the nthbusy period of the mth cycle, Qn is the number of collections in the nth busy period,and M is the number of cycles.
[0059] In a second case, the channel usage information includes channel usageinformation corresponding to at least one service type.
[0060] For the second case, the service type of data packets is identified duringacquiring the channel usage information.
[0061] For the second case, in some implementations, the acquiring channelavailability and channel usage information of part or all channels in an operatingfrequency band within at least one cycle may be implemented by: periodicallycollecting a channel utilization rate of the part or all channels and a sum number ofbytes received and sent corresponding to the service type within the operatingfrequency band in each cycle; determining corresponding channel availability (i.e.,corresponding to a collection for collecting the channel utilization rate) according tothe channel utilization rate collected; and determining, according to the sum number ofbytes received and sent corresponding to the service type, corresponding channel usageinformation of the service type (i.e., corresponding to a collection for collecting thesum number of bytes received and sent).
[0062] In some implementations, the sum number of bytes received and sent may bereferred to as traffic.
[0063] In some implementations, a collection time for collecting the channelutilization rate and the sum number of bytes received and sent is recorded.
[0064] In some implementations, the channel availability corresponding to an ithcollection is equal to a difference between 1 and a channel utilization rate of the ithcollection, where i is an integer greater than or equal to 1.
[0065] In some implementations, the channel usage information includes a flow rate,the flow rate Vij of an jth service type corresponding to the ith collection is Vij = Wij - W(i-1)j / Ti-Ti-1, where Wij is a sum number of bytes received and sent of the jthservice type collected in the ith collection, W(i-1)j is a sum number of bytes receivedand sent of the jth service type collected in the (i-1)th collection, Ti is the collectiontime corresponding to the ith 30 collection, and Ti-1 is the collection time correspondingto the (i-1)th collection.
[0066] In some implementations, the channel usage information includes abandwidth utilization rate, the bandwidth utilization rate of an jth service typecorresponding to the ith collection is equal to a ratio of the flow rate of the jth servicetype corresponding to the ith collection to a maximum bandwidth, the maximumbandwidth may be any one of a maximum link bandwidth, a maximum physicalbandwidth, a maximum actual bandwidth, or any other maximum bandwidth.
[0067] For the second case, in some implementations, determining, according to thechannel usage information of the part or all channels acquired within at least onecycle, the busy period of service and the idle period of service may be implementedby: calculating an average value of the channel usage information corresponding to allservice types of the part or all channels corresponding to a same collection time indifferent cycles; determining, in response to that the average value of the channel usageinformation corresponding to all service types of the part or all channels correspondingto the collection time is greater than or equal to a first preset threshold value, that thecollection time is in the busy period; and determining that a time period between anytwo adjacent collection times in the busy period is within the busy period; determining,in response to that the average value of the channel usage information corresponding toall service types of the part or all channels corresponding to the collection time is lessthan the first preset threshold value, that the collection time is in the idle period; anddetermining that a time period between any two adjacent collection times in the idleperiod is in the idle period; and determining that a time period between the collectiontime in the busy period and the collection time in the idle period adjacent to thecollection time in the busy period is in the busy period, or in the idle period, or partiallyin the busy period and partially in the idle period.
[0068] In some implementations, during calculating the average value of the channelusage information corresponding to all service types of the part or all channels, aweighted average value of the channel usage information corresponding to allservice types of each channel is calculated first, and then an average value ofweighted average values of all the channels is calculated. For example, ∑k∑jAj x Bkj, where Aj is a weight for a jth service type, and Bkj is the channelusage information of the jth 30 service type of the channel k.
[0069] For the second case, in some implementations, the determining, according tothe channel availability and channel usage information of the part or all channelsacquired within the busy period of the at least one cycle, an optimal channel of thebusy period may be implemented by: calculating, according to the channel availabilityand the channel usage information corresponding to all service types of the channelsacquired within the busy period of the at least one cycle, an average value of thechannel availability of each channel acquired within the busy periods of at least onecycle; and determining the channel with a maximum average value of the channelavailability as the optimal channel of the busy period.
[0070] In some implementations, calculating, according to the channel availabilityand the channel usage information corresponding to all service types acquired withinthe busy period of the at least one cycle, the average value of the channelavailability acquired within the busy period of at least one cycle includes: taking aweighted average value of the channel usage information corresponding to allservice types as a weight to calculate a weighted average value of the channelavailability acquired within the busy period of at least one cycle.
[0071] In some implementations, an average value Pkn of the channel availability ofthe channel k acquired in an nth 15 busy period of at least one cycle isPkn = ∑m ∑i (∑j Aj x Bknmij) x Uknmi / Qn / M, where Aj is a weight of the jth service type,Bknmi is the channel usage information of the jth service type of the channel kcorresponding to the ith collection in the nth busy period of an mth cycle, Uknmi is thechannel availability of the channel k corresponding to the ith collection in the nthbusy period of the mth cycle, Qn is the number of collections in the nth 20 busy period,and M is the number of cycles.
[0072] In a second aspect, an embodiment of the present disclosure further providesan electronic device, including: at least one processor; and a memory storing at leastone program thereon, the at least one program, when executed by the at least oneprocessor, causes the at least one processor to implement the method for optimizing acommunication channel (i.e., a WiFi channel) described above.
[0073] The processor is a device with a data processing capability, including but notlimited to a central processing unit (CPU), or the like; and the memory is a devicewith a data storage capability, including but not limited to, a random access memory(RAM, more specifically SDRAM, DDR or the like), a read-only memory (ROM),an electrically erasable programmable read-only memory (EEPROM), or a flash.
[0074] In some implementations, the processor and the memory are connected toeach other via a bus, and further connected to other components of a computingdevice.
[0075] In a third aspect, an embodiment of the present disclosure further provides acomputer readable storage medium storing a computer program thereon, thecomputer program, when executed by a processor, causes the method for optimizinga communication channel (i.e., a WiFi channel) described above to be implemented.
[0076] FIG. 2 is a block diagram of an apparatus for optimizing a communicationchannel according to an embodiment of the present disclosure.
[0077] In a fourth aspect, referring to FIG. 2, an embodiment of the presentdisclosure provides an apparatus for optimizing a communication channel, whichmay be disposed in an access point (AP), or outside the AP as an independent device.The apparatus includes: an acquisition module 201 configured to acquire channelavailability and channel usage information of part or all channels in an operatingfrequency band within at least one cycle; a dividing module 202 configured todetermine, according to the channel usage information of the part or all channelsacquired within the at least one cycle, a busy period of service; and a determiningmodule 203 configured to determine, according to the channel availability and channelusage information of the part or all channels acquired within the busy period of the atleast one cycle, an optimal channel of the busy period.
[0078] In some implementations, the dividing module 202 is further configured to:determine, according to the channel usage information of the part or all channelsacquired within the at least one cycle, an idle period of service; and the apparatusfurther includes: a switching module 204 configured to switch an operating channel toan optimal channel of a next busy period in the idle period.
[0079] In some implementations, the switching module 204 is further configured to:switch the operating channel, in response to that an optimal channel of a previous busyperiod in the idle period is different from the optimal channel of the next busy period inthe idle period, to the optimal channel of the next busy period in the idle period.
[0080] In some implementations, the channel usage information includes a flow rate,or a bandwidth utilization rate.
[0081] In some implementations, the channel is a critical channel.
[0082] In some implementations, the channel usage information includes channelusage information corresponding to at least one service type; and the acquisitionmodule 201 is configured to: periodically collect a channel utilization rate and a sumnumber of bytes received and sent corresponding to the service type of the part or allchannels within the operating frequency band in each cycle; determine correspondingchannel availability (i.e., corresponding to a collection for collecting the channelutilization rate) according to the channel utilization rate collected; and determine,according to the sum number of bytes received and sent corresponding to the servicetype, corresponding channel usage information of the service type (i.e., correspondingto a collection for collecting the sum number of bytes received and sent correspondingto the service type).
[0083] In some implementations, the acquisition module 201 is configured to:periodically collect a channel utilization rate and a sum number of bytes received andsent of part or all channels within the operating frequency band in each cycle; anddetermine corresponding channel availability (i.e., corresponding to a collection forcollecting the channel utilization rate) according to the channel utilization ratecollected, and determine corresponding channel usage information (i.e., correspondingto a collection for collecting the sum number of bytes received and sent) according tothe sum number of bytes received and sent collected.
[0084] In some implementations, the dividing module 202 is configured to: calculatean average value of the channel usage information of the part or all channelscorresponding to a same collection time in different cycles; determine, in response tothat the average value of the channel usage information of the part or all channelscorresponding to the collection time is greater than or equal to a first preset thresholdvalue, that the collection time is in the busy period; and determine that a time periodbetween any two adjacent collection times in the busy period is within the busy period;
[0085] In some implementations, the determining module 203 is configured to:calculate, according to the channel availability and channel usage information of thechannels acquired within the busy period of the at least one cycle, an average value ofthe channel availability of each channel acquired within the busy periods of at least onecycle; and determine the channel with a maximum average value of the channelavailability as the optimal channel of the busy period.
[0086] In some implementations, the determining module 203 is configured tocalculate, according to the channel availability and channel usage information of thechannels acquired within the busy period of the at least one cycle, the average valueof the channel availability of each channel acquired within the busy periods of atleast one cycle by: taking the channel usage information as a weight to calculate aweighted average value of the channel availability of each channel acquired within thebusy period of at least one cycle.
[0087] A process for implementing the apparatus for optimizing a communicationchannel described above is the same as that for implementing the method foroptimizing a communication channel in the foregoing embodiment, and thus is notdescribed in detail here again.
[0088] Examples are listed below to describe in detail an implementation of themethod for optimizing a communication channel according to the embodiment of thepresent disclosure, and the examples are merely for convenience of description,rather than limit the scope of the present disclosure.First Example
[0089] As shown in FIG. 3, a wireless module of the AP has a single antenna, anddue to a limitation of hardware capability, can monitor merely a channel utilizationrate of a WiFi channel used by itself. In this case, channel utilization rates ofdifferent channels are acquired by periodically switching the channel used.
[0090] A data collection module and an analysis module may be implemented by amanagement device of the AP, such as an auto configuration server (ACS), and thedata collection module performs data collection and configuration modification onthe AP through a TR-069 protocol.
[0091] Relevant parameters are configured as follows: 1, a data analysis cycle (i.e.,the cycle described above) is a natural day (24 hours); 2, a list of critical channelsincludes channels C1, C2, …, Cn; 3, a data collection cycle (not given in the abovedescription) is a duration of about 60 seconds; and 4, a monitoring cycle (i.e., a cyclefor optimizing the channel, which is not given in the above description) is a duration of7 days.
[0092] The process for optimizing the WiFi channel is described below.
[0093] 1. Data acquisition: the data collection module performs parameterconfiguration and data collection through a TR-069 protocol by following (1) to (3).
[0094] (1) A channel of the AP is set to Ck (k=1).
[0095] (2) A channel utilization rate and a sum number of bytes received and sent ofthe AP are acquired once per minute, and the collection time Ti (where i is acollection sequence number for collecting the channel) is recorded; a WiFi flow rateof the ith collection of the channel k is calculated according to an equation Vki = Wki - Wk(i-1) / Ti-Ti-1, where Wki is a sum number of bytes received and sent of thechannel k collected in the ith collection, Wk(i-1) is a sum number of bytes received andsent of the channel k collected in the (i-1)th collection, Ti is the collection time of the ithcollection, and Ti-1 is the collection time of the (i-1)th collection; the channelavailability Uki of the channel k collected the ith 5 collection is a difference between 1and the channel utilization rate of the channel k of the ith collection.
[0096] (3) The channel is set as a next critical channel Ck+1 after collections of 7days, and (2) is repeated, until all N critical channels are collected.
[0097] Through the above collections, data of 7 days (WiFi flow rates and channelavailability) of the N critical channels are finally obtained.
[0098] Data samples collected in the 2.4G frequency band are shown in table 1.Table 1
[0099] 2. Data analysis is performed as following (1) and (2) by the analysis module.
[0100] (1) Habits of a user using the WiFi are analyzed; WiFi flow rates obtained in7xN days are aligned according to the collection time; an average value of the WiFiflow rates at a same collection time is calculated to obtain changes of an average WiFiflow rate within each day; for the collection time, in response to that the average WiFiflow rate of the collection time is greater than or equal to a first preset threshold, thecollection time is determined in the busy period, and a time period between any twoadjacent collection times in the busy period is determined in the busy period; for thecollection time, in response to that the average WiFi flow rate of the collection time isless than the first preset threshold, the collection time is determined in the idle period,and a time period between any two adjacent collection times in the idle period isdetermined in the idle period; a time period between the collection time in the busyperiod and the collection time in the idle period, adjacent to the collection time in thebusy period, is determined in the busy period; and based on above analysis, 24 hourseach day are divided into a plurality of time periods, with each time period being thebusy period or the idle period.
[0101] (2) An optimal channel of each busy period is analyzed; data of the channel k,including a collection time, a WiFi flow rate and channel availability, is acquired, andeach piece of data is classified into busy periods or idle periods according to thecollection time; a weighted average value Pkmn of the channel availability of the channelk acquired in an nth busy period of the mth day is calculated as Pknm = ∑i Vknmi x Uknmi / Qn,where Vknmi is a WiFi flow rate of the channel k corresponding to the ith collection inthe nth busy period of an mth cycle, Uknmi is the channel availability of the channel kcorresponding to the ith collection in the nth busy period of the mth cycle, and Qn is thenumber of collections in the nth 15 busy period, which may be a difference between amaximum collection sequence number and a minimum collection sequence number ofthe channel k in the nth busy period of the mth cycle; an average value Pkn of weightedaverage values of the channel availability of the channel k acquired in the nth busyperiods of the 7 days is calculated as Pkn = Pknm / M where M is a monitoring cycle,that is, a duration of 7 days; by comparing average channel availability Pkn of the Ncritical channels in a same busy period, and the critical channel with a highest Pkn istaken as the optimal channel of the busy period; and above operations are repeated toobtain the optimal channel of each busy period, that is, a table of optimal channels ofthe busy periods is obtained. For example, a table of optimal channels in the 2.4Gfrequency band is shown in table 2.Table 2
[0102] If any two adjacent busy periods have a same optimal channel, the two busyperiods and the idle period between the two busy periods are merged into a longerbusy period. For example, above table of optimal channels of the busy periods in the2.4G frequency band is merged into that shown in table 3.Table 3
[0103] 3. Channel switching: an operating channel of the AP is set according to theoptimal channel obtained above, and a strategy to be periodically executed isgenerated. For example, the current time is 5 o'clock and in the idle period, thecurrent channel is 11, and the optimal channel of the next busy period (from 6: 00 to8: 00) is 1, and thus the operating channel is switched to channel 1.Second Example
[0104] As shown in FIG. 4, a wireless module of the AP has multiple antennas, andsupports detecting a channel utilization rate of any channel not used by the currentAP through any antenna.
[0105] A data collection module and an analysis module are implemented by asoftware module of the AP, and data collection and configuration modification onthe wireless module of the AP are carried out through a C or Java ApplicationProgramming Interface (API).
[0106] Relevant parameters are configured as follows: 1, a data analysis cycle is anatural day (24 hours); 2, a list of critical channels includes channels C1, C2, …, Cn; 3,a data collection cycle is a duration of about 60 seconds; and 4, a monitoring cycle is aduration of 7 days.
[0107] The process for optimizing the WiFi channel is described below.
[0108] 1. Data collection is performed by following (1) to (3).
[0109] (1) One or more antennas are set to be dedicatedly configured to monitor achannel utilization rate of a channel not used by the AP.
[0110] (2) Channel utilization rates and a sum number of bytes received and sent ofall monitored channels of the AP are collected once per minute, and the collectiontime Ti (where i is a collection sequence number for collecting the channel) isrecorded; a WiFi flow rate of the channel k of the ith 30 collection is calculated accordingto an equation Vki = Wkj - Wk(i-1) / Ti-Ti-1, where Wki is a sum number of bytes received andsent of the channel k collected in the ith collection, Wk(i-1) is a sum number of bytesreceived and sent of the channel k collected in the (i-1)th collection, Ti is the collectiontime of the ith collection, and Ti-1 is the collection time of the (i-1)th collection; thechannel availability Uki of the channel k collected in the ith 5 collection is a differencebetween 1 and the channel utilization rate of the channel k of the ith collection.
[0111] 3) After acquisitions of 7 days, data (WiFi flow rates and channel availability)of the N critical channels in the 7 days are obtained.
[0112] Data samples collected in the 2.4G frequency band are shown in table 4.Table 4
[0113] 2. Data analysis is performed as following (1) and (2) by the analysis module.
[0114] (1) Habits of a user using the WiFi are analyzed; WiFi flow rates obtained inthe 7xN days are aligned according to the collection time; an average value of the WiFiflow rates at a same collection time is calculated to obtain changes of an average WiFiflow rate within each day; for the collection time, in response to that the average WiFiflow rate of the collection time is greater than or equal to a first preset threshold, thecollection time is determined in the busy period, and a time period between any twoadjacent collection times in the busy period is determined in the busy period; for thecollection time, in response to that the average WiFi flow rate of the collection time isless than the first preset threshold, the collection time is determined in the idle period,and a time period between any two adjacent collection times in the idle period isdetermined in the idle period; a time period between the collection time in the busyperiod and the collection time in the idle period, adjacent to the collection time in thebusy period, is determined in the busy period; and based on above analysis, 24 hourseach day are divided into a plurality of time periods, with each time period being thebusy period or the idle period.
[0115] (2) An optimal channel of each busy period is analyzed; data of the channel k,including a collection time, a WiFi flow rate and channel availability, is acquired, andeach piece of data is classified into busy periods or idle periods according to thecollection time; a weighted average value Pkmn of the channel availability of the channelk acquired in an nth busy period of the mth 10 day is calculated as Pknm = ∑i Vknmi x Uknmi / Qn, where Vknmi is a WiFi flow rate of the channel kcorresponding to the ith collection in the nth busy period of the mth day, Uknmi is thechannel availability of the channel k corresponding to the ith collection in the nth busyperiod of the mth day, Qn is the number of collections in the nth busy period, which maybe a difference between a maximum collection sequence number and a minimumcollection sequence number in the nth busy period; an average value Pkn of weightedaverage values of the channel availability of the channel k acquired in the nth busyperiods of the 7 days is calculated as Pkn = Pknm / M , where M is a monitoring cycle,that is, a duration of 7 days; by comparing average channel availability Pkn of the Ncritical channels in a same busy period, the critical channel with a highest Pkn is takenas the optimal channel of the busy period; and above operations are repeated to obtainthe optimal channel of each busy period, that is, a table of optimal channels of the busyperiods is obtained. For example, a table of optimal channels in the 2.4G frequencyband is shown in table 5.Table 5
[0116] 3. Channel switching: an operating channel of the AP is set according to theoptimal channel obtained, and a strategy to be periodically executed is generated.For example, the current time is 5 o'clock and in the idle period, the current channelis 11, and the optimal channel of the next busy period (from 6: 00 to 8: 00) is 1, inresponse to that no device is attached to the AP, or the sum number of bytes receivedand sent is less than a second preset threshold, the operating channel is switched tochannel 1.
[0117] Those of ordinary skill in the art will appreciate that all or some operations ofthe method described above, functional modules / units in the device and apparatusmay be implemented as software, firmware, hardware, and suitable combinationsthereof. In a hardware implementation, a division between the functionalmodules / units mentioned in the above description does not necessarily correspond toa division of physical components; for example, one physical component may havemultiple functions, or one function or operation may be performed cooperatively byseveral physical components. Part or all physical components may be implementedas software executed by a processor, such as a CPU, a digital signal processor ormicroprocessor, or implemented as hardware, or implemented as an integratedcircuit, such as an application specific integrated circuit. Such software may bedistributed on a computer readable medium which may include a computer storagemedium (or non-transitory medium) and communication medium (or transitorymedium). The computer storage medium includes volatile and nonvolatile,removable and non-removable media implemented in any method or technology forstoring information such as computer readable instructions, data structures, programmodules or other data, as is well known to those of ordinary skill in the art. Thecomputer storage medium includes, but is not limited to, RAM, ROM, EEPROM,flash memory or other memory, CD-ROM, digital versatile disc (DVD) or otheroptical disc, magnetic cartridge, magnetic tape, magnetic disk or other magneticstorage devices, or may be any other medium used for storing desired informationand accessible by a computer. Moreover, it is well known to those ordinary skilledin the art that the communication medium typically includes a computer readableinstruction, a data structure, a program module, or other data in a modulated datasignal, such as a carrier wave or other transport mechanism, and may include anyinformation delivery medium.
[0118] The present disclosure has disclosed example embodiments, and althoughspecific terms are employed, they are used and should be interpreted merely in ageneric and descriptive sense, not for purposes of limitation. In some instances,features, characteristics and / or elements described in connection with a particularembodiment may be used alone, or may be used in combination with features,characteristics and / or elements described in connection with other embodiments,unless expressly stated otherwise, as would be apparent to one skilled in the art. Itwill, therefore, be understood by those skilled in the art that various changes in formand details may be made without departing from the scope of the present disclosureas set forth in the appended claims.
Claims
1. A method for optimizing a communication channel, comprising: acquiring channel availability and channel usage information of part or all channels in an operating frequency band within at least one cycle; determining, according to the channel usage information of the part or all channels acquired within the at least one cycle, a busy period of service ; and determining, according to the channel availability and channel usage information of the part or all channels acquired within the busy period of the at least one cycle, an optimal channel of the busy period.
2. The method according to claim 1, further comprising: after acquiring the channel availability and channel usage information of the part or all channels in the operating frequency band within at least one cycle, determining, according to the channel usage information of the part or all channels acquired within the at least one cycle, an idle period of service; and switching an operating channel to an optimal channel of a next busy period in the idle period.
3. The method according to claim 2, wherein in response to that an optimal channel of a previous busy period in the idle period is different from the optimal channel of the next busy period in the idle period, the operating channel is switched to the optimal channel of the next busy period in the idle period.
4. The method according to any of claims 1 to 3, wherein the channel usage information comprises a flow rate or a bandwidth utilization rate.
5. The method according to any of claims 1 to 3, wherein the channel is a critical channel.
6. The method according to any of claims 1 to 3, wherein the channel usage information comprises channel usage information corresponding to at least one service type; and the acquiring channel availability and channel usage information of part or all channels in an operating frequency band within at least one cycle comprises: periodically collecting a channel utilization rate and a sum number of bytes received and sent corresponding to the service type of the part or all channels within the operating frequency band in each cycle; determining corresponding channel availability according to the channel utilization rate collected; and determining, according to the sum number of bytes received and sent corresponding to the service type, corresponding channel usage information of the service type.
7. The method according to any of claims 1 to 3, wherein the acquiring channel availability and channel usage information of part or all channels in an operating frequency band within at least one cycle comprises: periodically collecting a channel utilization rate and a sum number of bytes received and sent of the part or all channels within the operating frequency band in each cycle; and determining channel availability corresponding to a collection for collecting the channel utilization rate according to the channel utilization rate collected, and determining channel usage information corresponding to a collection for collecting the sum number of bytes received and sent according to the sum number of bytes received and sent collected.
8. The method according to claim 7, wherein the determining, according to the channel usage information of the part or all channels acquired within the at least one cycle, a busy period of service comprises: calculating an average value of the channel usage information of the part or all channels corresponding to a same collection time in different cycle s; determining, in response to that the average value of the channel usage information of the part or all channels corresponding to the collection time is greater than or equal to a first preset threshold value, that the collection time is in the busy period; and determining that a time period between any two adjacent collection times in the busy period is within the busy period.
9. The method according to any of claims 1 to 3, wherein the determining, according to the channel availability and channel usage information of the part or all channels acquired within the busy period of the at least one cycle, an optimal channel of the busy period comprises: calculating, according to the channel availability and channel usage information of the channels acquired within the busy period of the at least one cycle, an average value of the channel availability of each channel acquired within the busy periods of at least one cycle; and determining the channel with a maximum average value of the channel availability as the optimal channel of the busy period.
10. The method according to claim 9, wherein the calculating, according to the channel availability and channel usage information of the channels acquired within the busy period of the at least one cycle, an average value of the channel availability of each channel acquired within the busy periods of at least one cycle comprises: taking the channel usage information as a weight to calculate a weighted average value of the channel availability of each channel acquired within the busy period of at least one cycle.
11. An electronic device, comprising: at least one processor; and a storage component storing at least one program thereon, the at least one program, when executed by the at least one processor, causes the at least one processor to implement the method according to any one of claims 1 to 10.
12. A computer readable storage medium storing a computer program thereon, the computer program, when executed by a processor, causes the method according to any one of claims 1 to 10 to be implemented.
13. An apparatus for optimizing a communication channel, comprising: an acquisition module configured to acquire channel availability and channel usage information of part or all channels in an operating frequency band within at least one cycle; a dividing module configured to determine, according to the channel usage information of the part or all channels acquired within the at least one cycle, a busy period of service; and a determining module configured to determine, according to the channel availability and channel usage information of the part or all channels acquired within the busy period of the at least one cycle, an optimal channel of the busy period.
14. The apparatus according to claim 13, wherein the dividing module is further configured to: determine, according to the channel usage information of the part or all channels acquired within the at least one cycle, an idle period of service; and the apparatus further comprises: a switching module configured to switch an operating channel to an optimal channel of a next busy period in the idle period.
15. The apparatus according to claim 13 or 14, wherein the channel usage information comprises a flow rate or a bandwidth utilization rate.