论文部分内容阅读
近几年,由于移动网络速度的提高,网络技术的发展,相关移动端操作系统平台的出现,移动互联网发展迅速。与移动互联网相关的移动支付、移动购物、移动娱乐、移动社交等,给普通用户的生活,更是带来了方方面面的改变。之前人们需要PC才能完成的事情,现在依靠一个便携式的智能移动终端,便可以随时随地的开展。Android操作系统是目前阶段移动互联网最主要的入口平台,基于Android平台的用户数据收集,对于移动互联网公司,了解用户属性,从而提供个性化的服务,至关重要。文本在探讨了移动互联网发展问题的基础上,设计开发了一个基于Lua脚本的Android平台用户数据收集系统,主要的内容为:1.对移动互联网的盈利模式进行了探讨,明确了动态的收集用户数据系统的设计需求及其重要性。2.使用NDK技术实现了 Lua虚拟机以及LuaJava项目的Android平台移植。其完成的移植步骤重点体现在:使用NDK交叉编译环境,编写Makefile文件编译Lua虚拟机源代码以及LuaJava工程的原生层代码,生成Android工程对应平台下的动态链接库文件,并将LuaJava工程的Java层代码导入Android工程使用。3.使用LuaJava项目来完成Android平台的数据收集系统。设计实现包括两个部分:第一,使用Java语言操作LuaJava项目提供的Java接口,实现一个数据收集状态机来控制配置文件的下发,脚本文件的下发,Lua脚本的执行和执行结果的上传;第二,使用Lua脚本操作LuaJava项目提供的Lua函数来调用Java方法,来动态的获取Android系统的用户数据,实现了获取当前活动应用脚本,获取用户联系人列表脚本和获取应用程序列表脚本3个脚本文件。4.使用Java语言中利用Android平台特性,实现了一个数据收集状态机。该数据收集状态机由6个典型状态组成,在状态转换事件发生时,状态机会根据发生的具体事件做出状态转换。该状态机随系统开机而启动,长时间运行于后台,当被用户强制退出后,仍能自动恢复运行,从而实现更长时间的用户数据收集。5.使用加密技术、Https技术、Node.js以及数据库等技术开发并实现了数据收集系统的网络服务器端程序。该网络服务器端程序使用Node.js搭建而成,保证了服务器端程序的性能。使用Https来加密通信过程,保证了数据通信过程的安全性。在脚本中,使用维吉尼亚对称加密算法实现了 Lua脚本对于执行结果的加密,保证了写入到文件中的用户数据的安全性。本文从用户的业务陈述开始分析,先根据业务陈述建立需求模型、数据模型、过程模型,并根据需求选择了适当的技术;然后再将模型转换成整体架构的设计,并细化整体架构设计得到各个组件的设计;接着根据组件设计实现相关工程;最后根据需求,进行功能与性能测试。根据测试结果,本文实现了一个满足用户需求的基于Lua脚本的Android平台用户数据收集系统,该系统已经上线,为公司的带来了大量的用户数据。