CN110609712A - 网络请求离散化处理方法 - Google Patents
网络请求离散化处理方法 Download PDFInfo
- Publication number
- CN110609712A CN110609712A CN201910910138.8A CN201910910138A CN110609712A CN 110609712 A CN110609712 A CN 110609712A CN 201910910138 A CN201910910138 A CN 201910910138A CN 110609712 A CN110609712 A CN 110609712A
- Authority
- CN
- China
- Prior art keywords
- task
- upgrade
- state
- alarm
- processing method
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 54
- 239000010410 layer Substances 0.000 claims description 16
- 239000012792 core layer Substances 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 230000002618 waking effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种网络请求离散化处理方法,其包括如下步骤:S1:设备开机之后,向安卓系统Alarm提交一个循环定时任务;S2:系统在指定时间内,判定系统当前是否处于半休眠状态或者熄屏模式状态,若否则启动唤醒任务;S3:唤醒后,进程随机指定一个未来24小时的升级任务进程,并在指定时间后根据当前的系统状态决定是否唤醒升级任务进程;若唤醒,进入步骤S4;S4:唤醒后,进程指定一个未来24小时的升级请求进程,并在指定时间后根据当前的系统状态决定是否完成升级。本发明能够支撑更多设备的在线升级,提高了远程升级系统的效率。
Description
技术领域
本发明属于网络技术领域,具体来说涉及一种网络请求离散化处理方法。
背景技术
目前,随着科学技术的发展,人们生活水平的逐步提高,网络已经在社会生活中广泛应用,每个网络服务器提供者都希望他们的网站拥有广泛的用户群并且能够在同一时间为尽量多的用户提供服务。但是在高峰时段等需要较长时间处理的场合中很容易会产生网络服务拥堵,此时网络请求的响应时间比较长,客户端会长时间处于待处理状态,影响到用户的 网络体验,甚至使得网络陷入瘫痪状态。针对这种情况,传统的离散化请求是在一段时间内做简单的随机,当设备很多时,仍可能会有较大的并发出现。而且一般的请求就是简单的定时请求,当发起请求时,若系统资源占用很高,可能会影响升级的进行。
另一种方案被称为长轮询技术:如图1所示,其包括如下步骤:1. 客户端程序启动保持后台运行。2. 客户端以预设的时间间隔向服务器发送心跳包查询信息。3. 服务器每收到一条心跳包便立即做出回应。4. 客户端收到回应包。5. 重复2-4步骤直至客户端进程退出。上述各方案存在的问题是:当设备很多时,仍可能会有较大的多网络请求并发链接。当发起请求时,若系统资源占用很高,可能会影响升级的进行。其中,所述网络请求并发是指在服务器运行过程中产生的多个客户端向服务器发起请求,并建立了TCP链接。网络请求的并发会直接影响服务器性能,带来的负面影响有服务器内存消耗、CPU处理能力、物理链路的实际负载能力以及网络带宽的消耗,从而会影响服务器业务正常运行,使得远程升级任务失败率增加。抓拍机需要实现远程升级。当前业务中,某些抓拍机连入的是公有云,未来可能会有成千上万的在线设备,需要解决并发的问题。
因此,如何在现有技术的基础上研发出一种新型的网络请求离散化处理方法,以克服上述技术问题,是本领域技术人员需要研究的方向。
发明内容
本发明要解决的技术问题是提供一种网络请求离散化处理方法,能够支撑更多设备的在线升级,提高了远程升级系统的效率。
为解决上述技术问题,本发明采用的技术方案如下:
一种网络请求离散化处理方法,包括如下步骤:
S1:设备开机之后,向安卓系统Alarm提交一个循环定时任务;
S2:系统在指定时间内,判定系统当前是否处于半休眠状态或者熄屏模式状态,若否则启动唤醒任务;
S3:进程随机指定一个未来24小时的升级任务进程,并在指定时间后根据当前的系统状态决定是否唤醒升级任务进程;若唤醒,进入步骤S4;
S4:进程指定一个未来24小时的升级请求进程,并在指定时间后读取当前系统状态、根据系统发布业务完成升级请求。
作为本发明优选的技术方案,步骤S2所述指定时间为1-23小时内。
作为本发明优选的技术方案,步骤S2中采用全局定时器唤醒启动升级管理进程。
作为本发明优选的技术方案,所述全局定时器的系统架构包括应用层AlarmManager、系统层AlarmManagerService和核心层Driver。
作为本发明优选的技术方案,步骤S2包括如下步骤:
S21:将目标进程加入到闹钟任务中;
S22:全局定时器将该任务加入到指定时间段的内任务组中;
S23:检测系统状态是否处于半休眠状态或者熄屏模式,若否、进入步骤S24;
S24:全局定时器服务在整个任务组内所有任务的倒计时结束后执行唤醒任务;启动升级管理进程任务;
S25:全局定时器服务唤醒升级进程。
作为本发明优选的技术方案,步骤S3中所述唤醒升级任务进程,在以下情况不会唤醒升级任务进程:
当Alarm任务倒计时结束时,根据系统的设置,在休眠状态下不会唤醒;
当Alarm任务倒计时结束时,在同一个批次(batch)中的其他任务的倒计时还未结束,不会唤醒;
当Alarm任务倒计时结束时,系统状态处于低内存或CPU负载较大时不会唤醒;
除去以上特殊情况外,会唤醒进入步骤S4,则全局定时器会执行Alarm任务。
作为本发明优选的技术方案,所述应用层AlarmManager负责在设备启动时,将目标进程加入到Alarm任务中,并将该任务加入到指定时间段的内任务组中;所述系统层AlarmManagerService会在整个任务组内所有任务的倒计时结束后执行任务,如果系统状态处于半休眠状态或者熄屏模式,任务也不会立即执行;所述核心层Driver在执行Alarm任务时,会将升级进程唤醒。
作为本发明优选的技术方案,所述系统层AlarmManagerService和所述核心层Driver的交互为Android系统本身提供的功能,同时,通过在适当的时机将Alarm任务提交到所述应用层AlarmManager中。
在本发明中,部分术语解释如下:
安卓系统Alarm:Alarm是安卓系统提供的用于完成闹钟式定时任务的类,系统通过AlarmManager来管理所有的Alarm,Alarm支持一次性定时任务和循环定时任务,它的使用方式较简单。
AlarmManager实质上是一个全局定时器,是Android中常用的一种系统服务级别的提示服务,在指定时长或以周期形式执行某项操作。其有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作。
与现有技术相比,本发明的有益效果在于:本发明能够在同等资源下,可以支撑更多设备的在线升级,提高了远程升级系统的效率。同时,当系统状态不好时,会暂缓唤醒任务,保证系统核心功能的稳定运行。
附图说明
上面结合附图与具体实施方式对本发明作进一步详细的说明:
图1为传统的http长轮询示意图;
图2为本发明实施例1的工作原理流程图;
图3为本发明实施例1中采用的全局定时器的系统架构分层示意图。
图4为本发明实施例1的流程图。
具体实施方式
为了更清楚地说明本发明的技术方案,上面将结合各个实施例作进一步描述。
如图2-4所示为本发明的实施例1:
如图2所示,本发明一种网络请求离散化方法,其工作原理包括:
首先,设备开机之后,设定定时任务;
其次,定时任务启动,设定随机任务;
然后,随机任务启动。
此处,所述定时任务是指在指定的周期运行指定的任务。所述随机任务是指在随机的周期运行指定的任务。
如图4所示,本发明一种网络请求离散化方法,其包括如下步骤:
S1:设备开机之后,向安卓系统Alarm提交一个循环定时任务;
S2:系统在指定时间内,判定系统当前是否处于半休眠状态或者熄屏模式状态,若否则启动唤醒任务;步骤S2包括步骤S21- S25步骤:
S21:将目标进程加入到闹钟任务中;
S22:全局定时器(AlarmManager)将该任务加入到1-23小时的内任务组中;
S23:检测系统状态是否处于半休眠状态或者熄屏模式,若否、进入步骤S24;
S24:全局定时器服务在整个任务组内所有任务的倒计时结束后执行唤醒任务;启动升级管理进程任务;
S25:全局定时器服务唤醒升级进程。
S3:进程随机指定一个未来24小时的升级任务进程,并在指定时间后根据当前的系统状态决定是否唤醒升级任务进程;若唤醒,进入步骤S4;步骤S3中所述唤醒升级任务进程,在以下情况不会唤醒升级任务进程:
当Alarm任务倒计时结束时,根据系统的设置,在休眠状态下不会唤醒;
当Alarm任务倒计时结束时,在同一个批次(batch)中的其他任务的倒计时还未结束,不会唤醒;
当Alarm任务倒计时结束时,系统状态处于低内存或CPU负载较大时不会唤醒;
除去以上特殊情况外,会唤醒进入步骤S4,则全局定时器会执行Alarm任务。
S4:进程指定一个未来24小时的升级请求进程,并在指定时间后根据当前的系统状态决定是否完成升级请求。
在升级过程中,系统应用全局定时器(AlarmManager)负责唤醒升级管理进程,AlarmManager在Android中主要用来定时处理一个事件或是定期处理一个事件。如图3所示,本例中:所述全局定时器(AlarmManager)的系统架构包括应用层(AlarmManager)、系统层(AlarmManagerService)和核心层(Driver)。在设备启动时,要将目标进程加入到Alarm任务中。AlarmManager会将该任务加入到指定时间段的内任务组中。然后全局定时服务器(AlarmManagerService)会在整个任务组内所有任务的倒计时结束后执行任务,如果系统状态处于半休眠状态或者熄屏模式,任务也不会立即执行。核心层(Driver)在执行Alarm任务时,会将升级进程唤醒。在上述过程中:AlarmManagerService层和Kernel层的交互为Android系统本身提供的功能,同时,通过在适当的时机将Alarm任务提交到AlarmManager中,实现在同等资源下,支撑更多设备的在线升级,提高了远程升级系统的效率。
以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围以权利要求书的保护范围为准。
Claims (8)
1.一种网络请求离散化处理方法,其特征在于,包括如下步骤:
S1:设备开机之后,向安卓系统Alarm提交一个循环定时任务;
S2:系统在指定时间内,判定系统当前是否处于半休眠状态或者熄屏模式状态,若否则启动唤醒任务;
S3:进程随机指定一个未来24小时的升级任务进程,并在指定时间后根据当前的系统状态决定是否唤醒升级任务进程;若唤醒,进入步骤S4;
S4:进程指定一个未来24小时的升级请求进程,并在指定时间后读取当前系统状态、根据系统发布业务完成升级请求。
2.如权利要求1所述的网络请求离散化处理方法,其特征在于:步骤S2所述指定时间为1-23小时内。
3.如权利要求1所述的网络请求离散化处理方法,其特征在于:步骤S2中采用全局定时器唤醒启动升级管理进程。
4.如权利要求3所述的网络请求离散化处理方法,其特征在于:所述全局定时器的系统架构包括应用层AlarmManager、系统层AlarmManagerService和核心层Driver。
5.如权利要求3所述的网络请求离散化处理方法,其特征在于:步骤S2包括如下步骤:
S21:将目标进程加入到闹钟任务中;
S22:全局定时器将该任务加入到指定时间段的内任务组中;
S23:检测系统状态是否处于半休眠状态或者熄屏模式,若否、进入步骤S24;
S24:全局定时器服务在整个任务组内所有任务的倒计时结束后执行唤醒任务;启动升级管理进程任务;
S25:全局定时器服务唤醒升级进程。
6.如权利要求3所述的网络请求离散化处理方法,其特征在于:步骤S3中所述唤醒升级任务进程,在以下情况不会唤醒升级任务进程:
当Alarm任务倒计时结束时,根据系统的设置,在休眠状态下不会唤醒;
当Alarm任务倒计时结束时,在同一个批次中的其他任务的倒计时还未结束,不会唤醒;
当Alarm任务倒计时结束时,系统状态处于低内存或CPU负载较大时不会唤醒;
除去以上特殊情况外,会唤醒进入步骤S4,则全局定时器会执行Alarm任务。
7.如权利要求4所述的网络请求离散化处理方法,其特征在于:所述应用层AlarmManager负责在设备启动时,将目标进程加入到Alarm任务中,并将该任务加入到指定时间段的内任务组中;所述系统层AlarmManagerService会在整个任务组内所有任务的倒计时结束后执行任务,如果系统状态处于半休眠状态或者熄屏模式,任务也不会立即执行;所述核心层Driver在执行Alarm任务时,会将升级进程唤醒。
8.如权利要求7所述的网络请求离散化处理方法,其特征在于:所述系统层AlarmManagerService和所述核心层Driver的交互为Android系统本身提供的功能,同时,通过在适当的时机将Alarm任务提交到所述应用层AlarmManager中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910138.8A CN110609712A (zh) | 2019-09-25 | 2019-09-25 | 网络请求离散化处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910138.8A CN110609712A (zh) | 2019-09-25 | 2019-09-25 | 网络请求离散化处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110609712A true CN110609712A (zh) | 2019-12-24 |
Family
ID=68893042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910910138.8A Pending CN110609712A (zh) | 2019-09-25 | 2019-09-25 | 网络请求离散化处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110609712A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467792A (zh) * | 2021-06-28 | 2021-10-01 | 北京梧桐车联科技有限责任公司 | 安装包的更新方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168446A1 (en) * | 2007-01-10 | 2008-07-10 | Jinmei Shen | Method and Apparatus for Handling Service Requests in a Data Processing System |
CN104714620A (zh) * | 2013-12-12 | 2015-06-17 | 中兴通讯股份有限公司 | 一种调整智能终端唤醒频率的方法及装置 |
CN107391173A (zh) * | 2017-06-14 | 2017-11-24 | 北京康得新创科技股份有限公司 | 应用程序的更新方法、存储介质和终端 |
CN108021431A (zh) * | 2016-11-04 | 2018-05-11 | 广东亿迅科技有限公司 | 基于Web数据交互管理Hive的方法及其系统 |
CN109324879A (zh) * | 2017-07-28 | 2019-02-12 | 华为技术有限公司 | 管理触发器的方法及终端设备 |
CN110221907A (zh) * | 2019-05-24 | 2019-09-10 | 昆明理工大学 | 一种基于edf算法和模糊集的实时任务调度方法 |
-
2019
- 2019-09-25 CN CN201910910138.8A patent/CN110609712A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168446A1 (en) * | 2007-01-10 | 2008-07-10 | Jinmei Shen | Method and Apparatus for Handling Service Requests in a Data Processing System |
CN104714620A (zh) * | 2013-12-12 | 2015-06-17 | 中兴通讯股份有限公司 | 一种调整智能终端唤醒频率的方法及装置 |
CN108021431A (zh) * | 2016-11-04 | 2018-05-11 | 广东亿迅科技有限公司 | 基于Web数据交互管理Hive的方法及其系统 |
CN107391173A (zh) * | 2017-06-14 | 2017-11-24 | 北京康得新创科技股份有限公司 | 应用程序的更新方法、存储介质和终端 |
CN109324879A (zh) * | 2017-07-28 | 2019-02-12 | 华为技术有限公司 | 管理触发器的方法及终端设备 |
CN110221907A (zh) * | 2019-05-24 | 2019-09-10 | 昆明理工大学 | 一种基于edf算法和模糊集的实时任务调度方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467792A (zh) * | 2021-06-28 | 2021-10-01 | 北京梧桐车联科技有限责任公司 | 安装包的更新方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101475550B1 (ko) | 리소스 소비를 최적화하기 위한 순환 스케줄들의 집계 | |
CN110058889B (zh) | 一种应用唤醒方法及装置 | |
KR101875014B1 (ko) | 사용자 활동에 기초한 모바일 디바이스의 동적 조정 | |
WO2018210135A1 (zh) | 一种数据传输方法、基站及终端 | |
EP2342612B1 (en) | Conserving power using predictive modelling and signaling | |
EP2756389B1 (en) | Managing processes within suspend states and execution states | |
CN103561179B (zh) | 智能终端唤醒时间调整的方法和装置 | |
CN112530056B (zh) | 降低智能门锁功耗的方法、智能门锁和存储介质 | |
TW201502984A (zh) | 基於使用者活動起始背景更新 | |
EP3190771B1 (en) | Method and device for managing instant communication application program, and mobile terminal thereof | |
CN109429313B (zh) | 一种信息交互方法、功能设备、终端、服务器及存储介质 | |
WO2014101893A1 (zh) | 设备发现方法、装置及系统 | |
WO2017114241A1 (zh) | 一种获取资源的方法和装置 | |
WO2015172283A1 (zh) | 一种降低功耗的方法、装置及移动终端 | |
CN110609712A (zh) | 网络请求离散化处理方法 | |
CN114237896A (zh) | 分布式节点资源动态调度方法及装置 | |
CN103885871A (zh) | 一种耗电显示方法、装置及移动终端 | |
WO2021022926A1 (zh) | 基于网络的应用功耗调控方法、终端及存储介质 | |
TW201347578A (zh) | 一種資訊傳輸方法、系統及睡眠功能設備 | |
CN105357387A (zh) | 一种唤醒终端的方法、装置及系统 | |
WO2021093743A1 (zh) | 数据通信方法及相关设备 | |
US20100313046A1 (en) | Data processing system, method for processing data and computer program product | |
CN112835826A (zh) | 一种通信方法、装置、设备及可读存储介质 | |
CN113848783A (zh) | 用户连接单元休眠唤醒方法、装置和计算机可读存储介质 | |
CN113141626B (zh) | 事件发送方法、系统、终端设备以及相关装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191224 |
|
RJ01 | Rejection of invention patent application after publication |