混合型移动应用开发框架的设计与实现
这是一篇关于移动应用,单页结构,实时更新,框架的论文, 主要内容为随着宽带无线接入技术和移动终端技术的飞速发展,人们迫切希望能够随时随地都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。移动互联网的快速发展,颠覆了互联网世界以网页为核心的应用形态,催生了全新的应用服务体系,并重建了商业模式。移动应用已经成为移动互联网应用服务的主导形态。企业在向移动互联网进行业务扩展时,主要面临以下问题:(1)当前移动设备呈现出多样化的特点:不同的厂商,不同的型号,更重要的是不同的平台,即不同的移动操作系统。如果要开发—款运行在不同平台上的移动应用,就需要针对不同的平台开发不同的版本,这不仅加大了工作量,还增加了开发成本。(2)在开发原生应用时,UI设计和业务逻辑处理无法完整地分离开,使得UI设计与业务逻辑开发只能串行进行,降低了开发的效率。(3)企业希望将部分已经在WEB取得的成果快速移植到移动端之中。(4)现阶段对移动原生应用进行Bug修复和更新扩展的方式比较复杂,管理不便。为了解决上述问题,本课题设计并实现了一个混合型移动应用开发框架。通过对比现阶段移动应用开发模式(原生开发模式、Web开发模式和混合型开发模式)的优缺点,本框架最终决定采用混合型移动应用开发模式。现有的混合型移动应用开发框架都将重点放在了Web部分,并且对于企业的一些特定的需求没有涉及到。为了发挥Web和原生各自的优势,并将界面设计与业务逻辑实现进行完全的分离,本课题将框架分为两个部分:Web部分和原生部分。Web部分主要用于UI展示,原生部分主要用于业务逻辑处理。框架中对Web和原生之间的通信和指令分发进行了封装,为框架提供了一条向上和一条向下的通信通道,并对所有指令进行统一调度。为了对零散的HTML页面进行统一管理,并提高页面的加载、跳转效率,框架在Web部分整合了AngularJs和RequireJs两个Web前端框架。框架在结构上主要分为四层:展示层、移动中间件、服务层以及数据层。展示层包括视图页面和视图控制器,使用Web语言进行编写。移动中间件封装了Web与原生之间的通信通道与指令分发。服务层为框架和应用提供相关服务。数据层包括Web源文件和数据库。框架主要实现了五个功能模块:(1)分块。分块主要解决PC屏幕和移动屏幕在尺寸上的差异。分块用于将PC页面分割成若干小的视图片段,方便将其移植到移动端之中。分块算法基于HTMLDomm语义结构,主要思路是自下而上、从前向后遍历整个Dom树结构。从中找到符合要求的结点,然后将节点和与之相关的资源输出到指定的文件夹中,以方便快速移植到移动应用中。(2)控制器模块。控制器模块主要提供了两个服务:请求处理服务和广播服务。请求处理服务用于向原生部分发送请求,广播服用于将原生部分返回的数据发送到指定的模块。(3)路由管理模块。路由管理模块用于对Web页面的跳转模式进行管理,以使得前端Web页面在跳转模式上和移动原生应用保持一致。框架中提供了三种页面跳转模式:单例模式、一次性使用模式和标准模式。(4)逻辑处理模块。逻辑处理模块对向Web部分返回数据和指令分发进行统一管理。为了使指令分发和具体的指令处理对象进行完全的解耦,逻辑处理模块基于Java的反射机制实现了动态创建指令处理对象。(5)实时更新服务,实现了移动应用在特定场景下的实时、便捷更新,为应用的开发和使用提供更高的灵活性。框架设计完成以后,课题对框架的性能进行了分析。首先对框架中所采用的单页结构进行了测试与分析。然后对框架的传输效率进行了测试分析。在对单页结构进行测试分析后,得出如下结论:单页混合型移动应用的特点是路由配置和分页加载。单页混合型移动应用在进行路由配置时虽然有一定的时间损耗,但这是进行高效页面跳转的前提。路由配置提高了页面的跳转效率。单页混合型移动应用在配置完路由之后,实现了页面分块加载,将页面加载的时间细化,避免了页面整体加载,最终提高了页面跳转的效率。在对Web部分与原生部分的通信效率进行测试的过程中发现:由于框架在Web部分使用单线程,所以当原生部分以高频次向Web部分发送数据时,会造成应用的假死现象。在框架的使用过程中应当控制原生部分向Web部分发送数据的频率,以保障较好的用户体验。最后课题对框架所实现的功能模块进行测试,并通过二个实例对框架的实用性和扩展性进行了检测。
基于流式计算的实时推荐系统研究与设计
这是一篇关于Storm,协同过滤,集成学习,时间窗口,实时更新的论文, 主要内容为数据过载催生了推荐系统的产生,而随着互联网的飞速发展,传统的离线推荐越来越难以满足用户需求,用户对于推荐系统的实时性要求越来越高。当前国内外对于推荐系统的研究主要是基于离线数据对推荐系统模型进行更新,实时调用离线更新得到的推荐结果。本文在离线推荐系统的基础上实现了基于Storm的实时推荐系统。设计了基于Flume的数据收集模块,基于Kafka的数据缓存模块,基于协同过滤以及改进的集成算法的离线计算模块、基于Storm的实时计算模块以及数据存储模块。Flume是一个高可用的、分布式的海量日志采集系统,Flume兼容多种数据源并且可以将采集到的数据输出到多种外部存储系统中,通过对Flume的简单配置即可实现日志采集;而分布式的Kafka消息队列可以解决当实时数据过大时造成的数据堵塞,Kafka的生产者消费者模式比起消息的订阅发布者模式更易于实现数据缓存。在离线计算阶段,通过对比推荐系统的召回以及排序算法,选取了协同过滤算法以及改进的集成学习算法。在推荐的召回阶段,其决定了召回的上限,因此采用了业界使用最多的基于物品的协同过滤算法。考虑到离线数据的量级,所以基于Hadoop Map Reduce实现了离线物品相似度的计算,即通过计算物品的共现矩阵来增量更新物品的相似度。集成学习即Stacking算法主要包括两层,第一层为基于Boosting的GBDT算法以及基于深度学习的WD算法。Boosting提升方法的思想是,在实际的机器学习任务中,学习一个良好的模型是比较困难的,而学习很多弱分类模型是比较简单的。GBDT算法是梯度提升Gradient boosting和决策树Decision Tree的结合,Gradient boosting中的单个学习器为Decision Tree。WD模型通过对LR模型以及DNN模型的联合训练,既保证了推荐系统的泛化能力也保证了推荐系统的记忆能力。Stacking模型把GBDT以及WD模型的输出结果作为第二层模型LR的输入从而进行了最终推荐。在离线阶段会将离线计算好的物品的相似度矩阵以及最终的推荐结果保存到Redis中以便实时计算的调用。在实时阶段,通过对比当前的流式计算框架,选取了纯流式计算模型Storm,Storm在实时推荐阶段,会通过时间窗口保存用户行为,超过窗口规定时间的用户行为则不被计算,来结合更新规则实时更新物品相似度进行实时更新以及推荐。离线计算框架结合实时计算框架保证了推荐的准确性以及实时性。最终通过对推荐系统召回率、准确率以及推荐时间、各推荐算法的AUC的对比,证明了设计的可行性。
基于Web GIS的公共自行车实时统计监控系统研发
这是一篇关于实时数据获取,实时统计,实时监控,实时更新的论文, 主要内容为近年来,随着公共交通体系的不断完善,公共自行车服务体系作为解决市民出行“最后一公里问题”的优秀方案,逐渐开始被大家接受。但随着越来越多的人开始使用公共自行车,“无车可借”、“无桩可停”以及“调度不及时”等问题也开始逐渐显现出来。针对公共自行车服务体系扩张过程中出现的一系列问题,本文提出了需要对公共自行车服务体系建立实时统计监控机制,完成了公共自行车实时统计监控系统的研发。为了达到对现有公共自行车管理平台最新运营情况进行实时统计监控的目的,在充分了解公共自行车管理平台目前的工作方式之后,本文对实时统计监控系统的具体需求进行了深入的分析,并在此基础上针对涉及到的关键技术,包括:车辆空间信息实时获取技术、数据实时汇总技术、空间信息展示技术以及数据实时更新技术,进行了详细的技术预研,为系统的方案设计与具体开发奠定了良好的技术基础。本文的相关实现以Struts2、Spring、Mybatis三大开源框架为基础,结合后台技术(Socket通信、RESTful Web Service)、数据库技术(Oracle数据库、内存数据库)、交互技术(Ajax、HTML5最新特性Web Socket)以及前台技术(BootStrap、Echarts、百度地图API等开源工具包)进行具体的方案设计与系统研发,达到了对公共自行车管理平台所产生的庞大运营数据信息进行实时统计和监控的目的。论文具体的工作内容和成果如下:(1)分析了公共自行车实时统计监控系统的具体用户需求,同时针对实现该系统的关键技术进行了技术预研,明确其具体实现方式以及相关的适用范围;(2)针对用户需求,完成了系统的总体框架设计。同时,针对各模块实现功能和要求的不同,结合具体的关键实现技术,进行了详细的方案设计,确保该系统能够对公共自行车管理平台进行实时统计监控。(3)根据详细的设计方案,结合Web GIS强大的空间表现力,完成公共自行车实时统计监控系统的研发,帮助工作人员和决策人员更直观的获得相关的实时数据,从而提高工作效率,更好的完成工作目标。
混合型移动应用开发框架的设计与实现
这是一篇关于移动应用,单页结构,实时更新,框架的论文, 主要内容为随着宽带无线接入技术和移动终端技术的飞速发展,人们迫切希望能够随时随地都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。移动互联网的快速发展,颠覆了互联网世界以网页为核心的应用形态,催生了全新的应用服务体系,并重建了商业模式。移动应用已经成为移动互联网应用服务的主导形态。企业在向移动互联网进行业务扩展时,主要面临以下问题:(1)当前移动设备呈现出多样化的特点:不同的厂商,不同的型号,更重要的是不同的平台,即不同的移动操作系统。如果要开发—款运行在不同平台上的移动应用,就需要针对不同的平台开发不同的版本,这不仅加大了工作量,还增加了开发成本。(2)在开发原生应用时,UI设计和业务逻辑处理无法完整地分离开,使得UI设计与业务逻辑开发只能串行进行,降低了开发的效率。(3)企业希望将部分已经在WEB取得的成果快速移植到移动端之中。(4)现阶段对移动原生应用进行Bug修复和更新扩展的方式比较复杂,管理不便。为了解决上述问题,本课题设计并实现了一个混合型移动应用开发框架。通过对比现阶段移动应用开发模式(原生开发模式、Web开发模式和混合型开发模式)的优缺点,本框架最终决定采用混合型移动应用开发模式。现有的混合型移动应用开发框架都将重点放在了Web部分,并且对于企业的一些特定的需求没有涉及到。为了发挥Web和原生各自的优势,并将界面设计与业务逻辑实现进行完全的分离,本课题将框架分为两个部分:Web部分和原生部分。Web部分主要用于UI展示,原生部分主要用于业务逻辑处理。框架中对Web和原生之间的通信和指令分发进行了封装,为框架提供了一条向上和一条向下的通信通道,并对所有指令进行统一调度。为了对零散的HTML页面进行统一管理,并提高页面的加载、跳转效率,框架在Web部分整合了AngularJs和RequireJs两个Web前端框架。框架在结构上主要分为四层:展示层、移动中间件、服务层以及数据层。展示层包括视图页面和视图控制器,使用Web语言进行编写。移动中间件封装了Web与原生之间的通信通道与指令分发。服务层为框架和应用提供相关服务。数据层包括Web源文件和数据库。框架主要实现了五个功能模块:(1)分块。分块主要解决PC屏幕和移动屏幕在尺寸上的差异。分块用于将PC页面分割成若干小的视图片段,方便将其移植到移动端之中。分块算法基于HTMLDomm语义结构,主要思路是自下而上、从前向后遍历整个Dom树结构。从中找到符合要求的结点,然后将节点和与之相关的资源输出到指定的文件夹中,以方便快速移植到移动应用中。(2)控制器模块。控制器模块主要提供了两个服务:请求处理服务和广播服务。请求处理服务用于向原生部分发送请求,广播服用于将原生部分返回的数据发送到指定的模块。(3)路由管理模块。路由管理模块用于对Web页面的跳转模式进行管理,以使得前端Web页面在跳转模式上和移动原生应用保持一致。框架中提供了三种页面跳转模式:单例模式、一次性使用模式和标准模式。(4)逻辑处理模块。逻辑处理模块对向Web部分返回数据和指令分发进行统一管理。为了使指令分发和具体的指令处理对象进行完全的解耦,逻辑处理模块基于Java的反射机制实现了动态创建指令处理对象。(5)实时更新服务,实现了移动应用在特定场景下的实时、便捷更新,为应用的开发和使用提供更高的灵活性。框架设计完成以后,课题对框架的性能进行了分析。首先对框架中所采用的单页结构进行了测试与分析。然后对框架的传输效率进行了测试分析。在对单页结构进行测试分析后,得出如下结论:单页混合型移动应用的特点是路由配置和分页加载。单页混合型移动应用在进行路由配置时虽然有一定的时间损耗,但这是进行高效页面跳转的前提。路由配置提高了页面的跳转效率。单页混合型移动应用在配置完路由之后,实现了页面分块加载,将页面加载的时间细化,避免了页面整体加载,最终提高了页面跳转的效率。在对Web部分与原生部分的通信效率进行测试的过程中发现:由于框架在Web部分使用单线程,所以当原生部分以高频次向Web部分发送数据时,会造成应用的假死现象。在框架的使用过程中应当控制原生部分向Web部分发送数据的频率,以保障较好的用户体验。最后课题对框架所实现的功能模块进行测试,并通过二个实例对框架的实用性和扩展性进行了检测。
分布式异构数据库智能集成的研究
这是一篇关于异构数据库,数据库集成,实时更新的论文, 主要内容为由于数据库技术的发展,人们的工作也越来越离不开计算机技术。当前小到几十人的公司,大到几千几万人的跨国公司都运行着各种各样的应用系统。当不同的应用系统在有通信需求时,就不可避免的牵涉到异构数据库的通信、集成、数据同步等问题。对异构数据库系统的集成、数据同步等问题,前人已经有了大量的研究,并取得了丰富的研究成果。然而目前的异构数据库集成还需要或多或少的人工干预,因此异构数据库的智能集成是一个不可回避的课题。 在对当前的分布式异构数据库集成系统的研究现状及成果进行分析之后,综合考虑了当前已经成熟的异构数据库集成方案的优缺点,采用目前流行的B/S模式,在应用调用层和数据库层构建一中间层系统,屏蔽掉底层数据库的差异性,实现了异构数据库的集成。该中间层系统使用SOA架构的设计思想,将后台的业务处理逻辑均封装为webservice服务,为以后系统的升级、和其他系统的集成等未知需求提供充分的灵活性。同时,系统采用spring的quarzt任务调度框架,解决了异构数据库系统的智能更新问题。 经过系统架构设计、详细设计、系统实现等步骤之后,实现了一个基于SOA的分布式异构数据库智能集成系统,采用SOA的系统架构,实现了分布式异构数据库系统的集成。采用Spring的quarz任务调度框架,实现了集成系统的智能更新。通过中间件技术实现了一个分布式异构数据库的智能集成系统,实现了应用访问层对底层异构数据库的透明访问。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码工坊 ,原文地址:https://m.bishedaima.com/lunwen/49850.html