CN107635256B - 基于Android系统应用动态调整QoS的方法 - Google Patents
基于Android系统应用动态调整QoS的方法 Download PDFInfo
- Publication number
- CN107635256B CN107635256B CN201710868594.1A CN201710868594A CN107635256B CN 107635256 B CN107635256 B CN 107635256B CN 201710868594 A CN201710868594 A CN 201710868594A CN 107635256 B CN107635256 B CN 107635256B
- Authority
- CN
- China
- Prior art keywords
- service type
- application
- main service
- shell script
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
Abstract
本发明涉及动态调整QoS优先级技术。本发明解决了当前某些应用中一些实时性较高的业务类型没有一个较为人性化的优先级顺序,导致其运行时出现网络延迟及卡顿的问题,提出了一种基于Android系统应用动态调整QoS的方法,其技术方案可概括为:当打开系统应用时,向WiFi底层驱动声明该应用的主要业务类型,在WiFi底层驱动发送数据包前,调整QoS优先级为该主要业务类型;当关闭该系统应用时,向WiFi底层驱动声明该应用的主要业务类型为预设业务类型,在WiFi底层驱动发送数据包前,调整QoS优先级为预设优先级。本发明的有益效果是,向WiFi底层驱动声明应用的主要业务类型,保证了主要业务类型的所需的网络资源,杜绝或减少了网络延迟及卡顿现象,提高了用户体验。
Description
技术领域
本发明涉及Android系统应用技术,特别涉及动态调整QoS技术。
背景技术
电气和电子工程师协会(IEEE,全称是Institute of Electrical andElectronics Engineers)提出了802.11e标准,定义了无线局域网的服务质量(quality-of-service,QOS)。
Android提供了Android.os.SystemProperties可操作Android系统属性,其通过JNI调用Native的property_get和property_set方法获得和设置属性。
当前采用Android系统的产品存在的问题:
当前无线局域网虽然已经在协议上支持区分业务优先级的服务,但是要完全地按照协议来实现业务优先级服务难度很大。因此,基本所有的设备厂商对不同的业务没有优先级的区分,都以尽力而为的方式进行服务。这就致使一些对实时性要求较高的业务(比如视频、语音等业务)可能不能提供较好的带宽延时保障。一旦外界环境干扰,或竞争节点较多,就可能出现网络延迟、卡顿等现象,严重降低了用户体验。
发明内容
本发明的目的是提供一种基于Android系统应用动态调整QoS的方法,解决当前某些应用中一些实时性较高的业务类型没有一个较为人性化的优先级顺序,导致其运行时出现网络延迟及卡顿的问题。
本发明解决其技术问题,采用的技术方案是:基于Android系统应用动态调整QoS的方法,其特征在于,包括以下步骤:
步骤1、当打开系统应用时,向WiFi底层驱动声明该应用的主要业务类型;
步骤2、在WiFi底层驱动发送数据包前,调整QoS优先级为该主要业务类型;
步骤3、当该系统应用进入后台运行时,向WiFi底层驱动声明该应用的主要业务类型为预设业务类型;
步骤4、在WiFi底层驱动发送数据包前,调整QoS优先级为预设优先级。
具体的,步骤1中,打开系统应用之前,预先制作对应的shell脚本。
进一步的,所述shell脚本通过Linux的echo命令实现。
具体的,所述shell脚本存放在设备系统的/system/etc/script/目录下。
再进一步的,设计的脚本服务由控制台操作,不能通过启动一类服务来启动,只能单独以名字来启动,而且服务只运行一次,退出后不再重启。
具体的,步骤1中,所述声明该应用的主要业务类型的具体方法包括以下步骤:
步骤101、在WiFi底层驱动设计与shell脚本文件对应的接口命令,每个接口命令分别对应一个ioctl接口;
步骤102、通过SystemProperties.set()方法设置该应用的属性,调用对应的shell脚本文件,执行对应的接口命令;
步骤103、调用对应的ioctl接口,将主要业务类型写入标志字,所述写入的标志字值不为零,并将该主要业务类型的初始计数值加一,所述主要业务类型的初始计数值为零。
再进一步的,步骤103中,当ioctl接口被调用时,则调用其对应的操作函数。
具体的,步骤2中,在WiFi底层驱动发送数据包前,当检测到标志字值及计数值均不为零时,调整QoS优先级为该主要业务类型。
具体的,步骤3中,声明该应用的主要业务类型为预设业务类型的具体方法为:
步骤301、通过SystemProperties.set()方法设置该应用的属性,调用对应的shell脚本文件,执行对应的接口命令;
步骤302、调用对应的ioctl接口,将主业务类型的标志字值置为零,并该主业务类型的计数值减一,置为初始计数值。
再进一步的,步骤4中,在WiFi底层驱动发送数据包前,当检测到标志字值及计数值均为零时,调整QoS优先级为预设优先级。
本发明的有益效果是,通过上述基于Android系统应用动态调整QoS的方法,在WiFi底层驱动发送数据包前,向WiFi底层驱动声明应用的主要业务类型,调整QoS优先级为该主要业务类型,保证了主要业务类型的所需的网络资源,杜绝或减少了网络延迟及卡顿现象,提高了用户体验。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述基于Android系统应用动态调整QoS的方法,由以下步骤组成:当打开系统应用时,向WiFi底层驱动声明该应用的主要业务类型,在WiFi底层驱动发送数据包前,调整QoS优先级为该主要业务类型;当该系统应用进入后台运行时,向WiFi底层驱动声明该应用的主要业务类型为预设业务类型,在WiFi底层驱动发送数据包前,调整QoS优先级为预设优先级。
实施例
本发明实施例基于Android系统应用动态调整QoS的方法,包括以下步骤:
步骤1、当打开系统应用时,向WiFi底层驱动声明该应用的主要业务类型,本例以视频及语音为主要业务类型;
步骤2、在WiFi底层驱动发送数据包前,调整QoS优先级为该主要业务类型,即视频及语音;
步骤3、当该系统应用进入后台运行时,向WiFi底层驱动声明该应用的主要业务类型(视频及语音)为预设业务类型;
步骤4、在WiFi底层驱动发送数据包前,调整QoS优先级为预设优先级。
上述方法中,步骤1中,打开系统应用之前,预先制作对应的shell脚本,shell脚本通过Linux的echo命令实现,shell脚本存放在设备系统的/system/etc/script/目录下,需要在设备的/etc/目录下的系统初始化配置文件init.rc中定义对应的系统服务启动参数,为了对系统应用的主要业务类型(视频及语音)进行区分需要设置四个shell脚本,即视频的开启命令1及关闭命令1,语音的开启命令2及关闭命令2,并且,设计的脚本服务由控制台操作,不能通过启动一类服务来启动,只能单独以名字来启动,而且服务只运行一次,退出后不再重启。
步骤1中,声明该应用的主要业务类型的具体方法包括以下步骤:
步骤101、在WiFi底层驱动设计与shell脚本文件对应的接口命令,每个接口命令分别对应一个ioctl接口,本例中开启命令1对应ioctl接口1,关闭命令1对应ioctl接口2,开启命令2对应ioctl接口3,关闭命令2对应ioctl接口4;
步骤102、通过SystemProperties.set()方法设置该应用的属性,调用对应的shell脚本文件,执行对应的接口命令,命令的格式如下:
Android.os.SystemProperties.set(“ctl.start”,“xxx_xx:on”);
例如,当该系统应用的主要业务类型是视频业务时,则在打开该应用时,加入Android.os.SystemProperties.set(“ctl.start”,“开启命令1:on”)操作;在退出该应用时,则进行Android.os.SystemProperties.set(“ctl.start”,“关闭命令1:on”)操作;当该系统应用的主要业务类型是语音业务时,则在打开该应用时,加入Android.os.SystemProperties.set(“ctl.start”,“开启命令2:on”)操作;在退出该应用时,则进行Android.os.SystemProperties.set(“ctl.start”,“关闭命令2:on”)操作。
标志字值和计数值初始化值都默认为零,其对应的业务类型为尽力而为,对应的用户QoS优先级为零。当打开的系统应用主要的业务类型是视频业务时,通过ioctl接口1调用其对应的函数,设置标志字1的值为5(也可以为其它不为零的整数),计数器ANum1的值加一;退出该应用时,则通过ioctl接口2调用其对应的函数,设置标志字1的值为0,计数器ANum1的值减一;同样的,当打开的系统应用主要的业务类型是语音业务时,通过ioctl接口3调用其对应的函数,设置标志字2的值为7(也可以为其它不为零的整数),计数器ANum2的值加一;退出该应用时,则通过ioctl接口4调用其对应的函数,设置标志字2的值为0,计数器ANum2的值减一。
在每次WiFi底层驱动需要发送网络数据包时,检测标志字及计数器的值,以保障应用所需的网络资源,其中:
If(标志字值1==5){调整用户QoS优先级为视频};
If(标志字值2==7){调整用户QoS优先级为语音};
If(计数值ANum1>0){调整用户QoS优先级为视频};
If(计数值ANum2>0){调整用户QoS优先级为语音}。
根据本例的描述可见,本例中提到的选取的主要业务类型及标志字值与计数值的设定方法均为比较成熟的现有技术,此处不再详述。
Claims (1)
1.基于Android系统应用动态调整QoS的方法,其特征在于,包括以下步骤:
步骤1、打开系统应用之前,预先制作对应的shell脚本,所述shell脚本通过Linux的echo命令实现,所述shell脚本存放在设备系统的/system/etc/script/目录下,设计的脚本服务由控制台操作,不能通过启动一类服务来启动,只能单独以名字来启动,而且服务只运行一次,退出后不再重启,当该系统应用的主要业务类型是视频业务或者语音业务时,则在打开该应用时,向WiFi底层驱动声明该应用的主要业务类型,所述声明该应用的主要业务类型的具体方法包括:
步骤101、在WiFi底层驱动设计与shell脚本文件对应的接口命令,每个接口命令分别对应一个ioctl接口;
步骤102、通过SystemProperties.set()方法设置该应用的属性,调用对应的shell脚本文件,执行对应的接口命令;
步骤103、调用对应的ioctl接口,将主要业务类型写入标志字,所述写入的标志字值不为零,并将该主要业务类型的初始计数值加一,所述主要业务类型的初始计数值为零;
步骤103中,当ioctl接口被调用时,则调用其对应的操作函数;
步骤2、在WiFi底层驱动发送数据包前,当检测到标志字值及计数值均不为零时,调整QoS优先级为该主要业务类型;
步骤3、在退出该应用时,向WiFi底层驱动声明该应用的主要业务类型为预设业务类型,声明该应用的主要业务类型为预设业务类型的具体方法包括:
步骤301、通过SystemProperties.set()方法设置该应用的属性,调用对应的shell脚本文件,执行对应的接口命令;
步骤302、调用对应的ioctl接口,将主业务类型的标志字值置为零,并该主业务类型的计数值减一,置为初始计数值;
步骤4、在WiFi底层驱动发送数据包前,当检测到标志字值及计数值均为零时,调整QoS优先级为预设优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710868594.1A CN107635256B (zh) | 2017-09-22 | 2017-09-22 | 基于Android系统应用动态调整QoS的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710868594.1A CN107635256B (zh) | 2017-09-22 | 2017-09-22 | 基于Android系统应用动态调整QoS的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107635256A CN107635256A (zh) | 2018-01-26 |
CN107635256B true CN107635256B (zh) | 2021-06-04 |
Family
ID=61103661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710868594.1A Active CN107635256B (zh) | 2017-09-22 | 2017-09-22 | 基于Android系统应用动态调整QoS的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107635256B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614221B (zh) * | 2018-10-30 | 2024-01-09 | 北京技德系统技术有限公司 | 一种实时操作系统的应用框架及其方法 |
CN111813536A (zh) | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242659A (zh) * | 2008-03-06 | 2008-08-13 | 上海交通大学 | 基于自适应控制的多业务类型呼叫允许控制方法 |
CN101541048A (zh) * | 2009-04-03 | 2009-09-23 | 华为技术有限公司 | 服务质量控制方法和网络设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105263066A (zh) * | 2014-06-13 | 2016-01-20 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN104066045B (zh) * | 2014-06-30 | 2018-01-02 | 华为技术有限公司 | 一种支持多phone业务的安卓系统、方法及系统芯片 |
CN105050164A (zh) * | 2015-01-16 | 2015-11-11 | 中国矿业大学 | 基于数据重要性的降低wifi功耗方法 |
EP3106985B1 (en) * | 2015-06-16 | 2020-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus for classifying virtual activities of mobile users |
-
2017
- 2017-09-22 CN CN201710868594.1A patent/CN107635256B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242659A (zh) * | 2008-03-06 | 2008-08-13 | 上海交通大学 | 基于自适应控制的多业务类型呼叫允许控制方法 |
CN101541048A (zh) * | 2009-04-03 | 2009-09-23 | 华为技术有限公司 | 服务质量控制方法和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107635256A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8917625B2 (en) | Mapping quality of service (QOS) from a wireless network to a wired network | |
CN108886703B (zh) | 在5g系统中的情境感知qos/qoe策略供应和适配 | |
US20180013680A1 (en) | System and method for managing virtual radio access network slicing | |
CN107635256B (zh) | 基于Android系统应用动态调整QoS的方法 | |
US10461986B2 (en) | Data transmission method, apparatus, and system | |
CN112470525A (zh) | 无线网络中的网络切片约束的传输 | |
WO2021063840A1 (en) | Methods, apparatuses and systems directed to quality of experience data analytics for multiple wireless transmit and receive units | |
JP6561076B2 (ja) | ワイヤレス通信における機能更新のための装置および方法 | |
EP4007344A1 (en) | Sidelink data duplication function control method, information configuration method, and devices | |
JP7203209B2 (ja) | サイドリンクリソース特定方法及び機器 | |
WO2014190850A1 (zh) | 一种LTE与WiFi共存的控制方法及终端设备 | |
WO2019236083A1 (en) | Mobile edge computing applications management for wireless networks | |
EP3257218A1 (en) | System and method for managing bandwidth responsive to the duty cycle of an abr client | |
CN111183614A (zh) | 5g和非5g管理功能实体间的交互 | |
US20210258374A1 (en) | Application resource allocation for wireless services | |
US10484273B2 (en) | Notification for a prioritized media path for a communication session | |
CN111406437B (zh) | 多路径数据通信 | |
US9264320B1 (en) | Efficient network monitoring | |
US20160295301A1 (en) | Communication protocol control method and device in smart tv apparatus | |
CN109361616B (zh) | 一种提高网络性能的控制方法 | |
Andersson et al. | Mobile VoIP user experience in LTE | |
WO2017008576A1 (zh) | 网络服务质量策略的调整方法和装置 | |
CN106792904B (zh) | 小包数据的传输方法及基站 | |
US20080253285A1 (en) | Apparatus, method, and computer program product providing improved silence suppression detection | |
Masum et al. | End-to-end delay performance evaluation for VoIP in the LTE network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |