论文部分内容阅读
随着智能终端和移动互联网的快速发展,人们纷纷把关注转向网络化应用,以便解决原生应用的多平台不兼容性及长尾效应等问题。但目前网络化应用发展尚不完善,存在一些亟待解决的问题,如:1)跨平台框架支持库问题;2)能耗问题;3)网络化应用管理问题等。针对这些问题,本文对网络化应用的承载技术进行了深入的研究,并实现了一款网络化应用承载平台。该平台为JavaScript调用本地资源提供了新的策略,并针对混合应用设计了特有的插件化开发机制,解决了网络化应用对支持库重复下载的问题,并为网络化应用提供了全周期的管理机制。此外,本文根据网络化应用的特性,设计了一种最优任务分割算法,并降低了传统0-1算法的时间复杂度。本文的主要工作如下:首先,对跨平台开发框架进行深入研究,由于Cordova框架对Web View组件进行了封装满足网络化应用对运行时环境及支持库的需求,最终本文确定基于Cordova框架对承载平台进行开发。此外,本文对现有的插件化开发机制进行研究,利用SharedUserId属性的设置实现了网络化应用在承载平台上的插件化开发,以此打破了应用之间的权限壁垒并提供全周期的管理方案。最终本文基于Android操作系统和Node.js,完成了承载平台的客户端和服务器端两部分的设计,最终实现以下两种功能:1)向网络化应用提供统一的运行时环境及支持库,避免了终端对支持库的重复安装。2)为网络化应用设计了全周期的管理机制,客户端实现对网络化应用的查找、安装、启动、更新、卸载等功能,服务器端实现对网络化应用的发布、更新、删除等功能,并实现客户端与服务器端的实时对接。针对网络化应用无合适的任务分割算法的问题,本文对网络化应用的特性及现有常规算法进行了研究,针对网络化应用建立了应用抽象模型和能量模型,根据聚类分析和图论提出最优任务分割算法,完成其详细设计及时间复杂度分析。本算法首先通过建立内部高聚集外部低耦合的单元来降低问题规模,再利用0-1算法进行任务分割。最后,本文模拟了具有14个节点16条边的人脸识别网络化应用的任务分割,本算法能获得与0-1算法相同的分割结果,而其时间复杂度从O(2n)降低至O(n2),加快了最优解的计算速度。此外,系统的功能验证结果说明网络化应用能够正常调用平台上的运行时环境及支持库,并在平台的全周期管理下,客户端具有查找、安装、启动、更新及卸载应用程序的功能,服务器端具有发布、更新及删除应用程序的功能,从而为用户提供了动态便捷的访问及管理方式。本文所设计的承载平台及任务分割算法对网络化应用的研究与开发,具有一定的参考价值和借鉴意义。