论文部分内容阅读
伴随着商业级移动App业务架构的逐渐繁琐,以及移动端应用工程研发技术的迅猛发展,如何搭一个高效、稳定、健全、可靠,能经受住千万级用户量考验,同时可以支持高强度开发迭代的移动端业务框架,已经成为了移动端App在研发过程和架构设计中的重中之重。在实际的移动App开发中,业务框架是否易用,直接关系着项目的研发效率,而业务框架是否稳定和健全,更是关乎App能否在线上表现优异,提供更好的用户体验。本文将主要通过深入探讨和解析线程调度策略,以线程服务为原子,搭建一个可拓展、高效率、线程安全,并可以支撑和满足大型商业级移动App研发需求的底层业务框架,为移动App的快速迭代和线上表现保驾护航。移动端CPU与计算机CPU的线程级调度策略类似,CPU通过授予线程使用权的形式来进行线程指令的执行,所谓的多线程并发执行,从微观上看,则是CPU按顺序轮流赋予各个线程使用权,使其在拥有使用权时可以执行所绑定的任务。在线程调度系统中,会有诸多处于就绪状态的线程,线程调度的概念就是制定一套科学有效的规则,使操作系统按照规则为线程分配CPU的使用权,以提高CPU的使用效率和提升系统的安全稳定性。在移动App的业务层面上,“线程”概念的表现则更为具体。对于移动App中所执行的各种任务和预埋能力,在内部都是以同步线程或异步线程的方式,把事件交由线程进行执行,按事件的执行顺序进行线程调用,最终将结果呈献给用户。但事与愿违的是,由于线程操作涉及到操作系统内核级调度,在移动App中,操作系统对于线程操作的能力支持相对薄弱,往往使开发者不能很快的熟悉和使用线程操作,快速进行项目迭代;更为危险的是,对于线程操作的滥用,将导致更严重的项目风险,很大程度上危害商业级移动App的线上表现,使用户体验大打折扣。本文中提出和应用的基于线程调度的商业级移动App业务框架,是通过对于线程调度策略的深入解析和优化,和原子服务的“锁处理”,辅以面向服务设计模式的加持,对于现存移动App的业务层级进行精确的拆分;以原子服务为基本单位,根据优先级和业务场景,将其置入相应线程操作队列,自主进行同步执行或异步执行的划分;同时提供多种安全方案的保护,使线程安全得到保障,最终产出具有强原子性和高拓展性的移动App底层业务框架,提高移动App的线程安全性和迭代开发效率的同时,也为开发人员深入了解移动App业务结构提供了便利。最终该业务框架已经嵌入某大型商业级移动App进行上线,并受到了团队各方的广泛关注和好评。