移动终端海量数据存储技术研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xiaoyao2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文将研究移动终端大数据的文件存储技术,以电子邮件和短彩信消息文件的存储为实例,提出了一种在移动终端大数据环境下的消息文件存储和操作的算法,实现精确控制读写数据正确位置,避免了重写所有数据,极大减少IO操作负担,提升移动终端大数据读写操作性能。
  关键词:移动终端;数据存储
  中图分类号:TP3         文献标识码:A
  文章编号:1009-3044(2021)30-0037-03
  开放科学(资源服务)标识码(OSID):
  互联网数据中心(IDC)报告指出,2012 年全球已经开始进入大数据时代,并在2013 年全面引爆大数据。大数据,最具有代表性的是其“4V”的特点:Volume-數据规模大;Velocity-数据的产生速度很快,处理速度快;Variety-多样性,包括各种不同的类型和编码格式,数据类型繁多;Veracity-真实性,只有真准确的数据才使得对数据的分析有意义。在移动互联大数据时代,用户要求有更好的网络体验,基本需求是能在任意时间、任意地点通过移动指端移动终端接入网络,既是移动大数据的产生者,又是移动大数据的使用者,因此大数据服务一方面将推动管道技术演进,另一方面也推动移动终端的技术演进。
  1移动大数据的特性
  移动互联大数据导致移动终端从功能型移动终端向智能型移动终端。作为移动大数据的重要输入输出者,用户通过智能移动终端使用移动应用程序,产生各种与用户消费、出行以及娱乐等与生活密切相关的海量数据,这些海量数据如果完全存储在中心服务器上,会导致中心服务器负载过大,网络交互过于频繁,因此利用智能移动终端进行数据存储及性能优化,不仅能够减轻中心服务器端的数据存储及运算负担,还能充分发挥智能移动终端的硬件性能,特别是在离线情况下,通过缓存在智能移动终端的应用数据,仍能为用户及时地提供部分应用服务。移动互联大数据具有以下特性:
  1.1 时空性
  智能移动终端都具备GPS定位功能,因此数据的时空特性是移动大数据固有的鲜明特征。即使智能移动终端关闭了GPS定位服务功能,仍然可以通过基站位置粗略地推断出用户的位置。多维时空数据包含用户行动信息,在基于位置服务的智能打车、智能驾驶、网络商城、游戏、社交网络等各种应用中具有广泛的潜力。
  1.2 个人定制性
  从智能移动终端产生的数据始终包含用户身份信息。这些数据通常具有高度个人定制性。通过对这些包含个人信息的移动大数据进行分析和预测,预测出用户的个人行为偏好和习惯,通过专业的推荐系统,为每个用户提供精准的个人定制化服务。如浏览器个性推荐功能,网上购物个性推荐服务等。当然,任何事物都具有双面性,如果移动数据保密性不够,导致用户个人信息泄露,将在很大程度上侵犯用户的隐私并导致用户的生命财产受到侵害,因此数据安全性和保密性值得引起重视。
  1.3 实时性
  移动互联网的一个典型需求是应用程序服务端需要实时地向用户提供数据交互和服务,即数据必须具有实时性。如网络游戏、社交通讯、智能打车、金融 等应用程序,如果不能实现数据的实时交互,不仅影响用户体验,而且会造成用户的信息交流的延误和财产损失。然而,移动应用服务器端如果承担所有数据的存储、处理和分发,受硬件设备计算能力、存储空间和网络带宽的限制,难以满足海量数据的实时交互需求。因此,充分利用智能移动终端的计算能力和存储空间,存储一部分移动数据,减轻服务器端和网络带宽的负载,是一种可行且高效的解决方案。
  2主流大数据框架和技术
  为了存储和处理海量大数据,很多企业和高校开发了多种大数据处理框架和平台,主流的框架和技术包括:MapReduce、GFS、BigTable、Spark和Hadoop等技术。
  2.1 Hadoop框架
  Hadoop是一个包含开源代码的分布式文件系统和一个并行处理的MapReduce框架。HDFS为海量数据提供存储服务,而MapReduce则为海量数据提供计算引擎。HDFS设计思想有以下几点:1)在数据中心,硬件异常应被视作常态;2)流式数据访问:满足批处理而不是交互式处理需求;3)HDFS设计的重点是支持大文件;4)HDFS提供的访问模型是一次写入多次读取的简单数据一致性模型;5)移动计算优于移动数据:读取和计算采取就近原则;6)兼容各种硬件和软件平台。HDFS有其缺陷,不适合的场景包括:1)大量小文件;2)低延迟数据访问;3)多用户写入。
  2.2 分布式文件系统HDFS
  其中,HDFS为海量数据提供存储服务,而MapReduce则为海量数据提供计算引擎。HDFS设计思想有以下几点:1)在数据中心,硬件异常应被视作常态;2)流式数据访问:满足批处理而不是交互式处理需求;3)HDFS设计的重点是支持大文件;4)HDFS提供的访问模型是一次写入多次读取的简单数据一致性模型;5)移动计算优于移动数据:读取和计算采取就近原则;6)兼容各种硬件和软件平台。HDFS有其缺陷,不适合的场景包括:1)大量小文件;2)低延迟数据访问;3)多用户写入。
  2.3 MapReduce模型
  MapReduce是Google公司的核心计算模型,它将复杂的运行于大规模集群上的并行计算过程高度地抽象到两个函数:Map和Reduce。这两个函数由用户负责实现,功能是按一定的映射规则将输入的<key,value>对转换成另一个或一批<key,value>对输出。MapReduce的基本运行流程包括:1)作业启动;2)作业初始化;3)作业、任务调度;4)Map任务执行;5)shuffle;Reduce任务执行;7)作业完成。MapReduce作为分布式并行计算框架,主要由JobClient、JobTracker、TaskTracker等组件构成。核心设计思想:分而治之、分合结合、衔接有序、就近处理、可靠容错。   MapReduce的目标是解决海量数据的并行计算问题。它屏蔽了分布式计算框架的细节,将计算高度抽象成map和reduce两函数,其中map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。reduce则对中间结果中相同“键”的所有“值”进行合并,以得到最终结果。
  2.4 Spark框架
  Spark是在2009年由加州大学伯克利分校的AMPLab开发,提供了一个全面、统一的框架,用于大数据处理的需求。Spark的架构中的基本组件包括:Cluster Manager、Worker、Driver、Executor、SparkContext、RDD、DAG Scheduler、TaskScheduler以及SparkEnv。Spark的运行流程如下:
  1)构建Spark Application的运行环境,启动SparkContext;
  2)SparkContext向资源管理器(可以是Standalone,Mesos,Yarn)申请运行Executor资源,并启动StandaloneExecutorbackend;
  3)Executor向SparkContext申请Task;
  4)SparkContext将应用程序分发给Executor;
  5)SparkContext构建成DAG图,将DAG图分解成Stage、将Taskset发送给Task Scheduler,最后由Task Scheduler将Task发送给Executor运行;
  6)Task在Executor上运行,运行完释放所有资源。
  Spark与Hadoop相比,有如下差异:1)Spark与Hadoop有两个核心模块,分布式存储模块HDFS和分布式计算模块MapReduce;2)Spark本身并没有提供分布式文件系统,因此Spark的分析大多依赖于Hadoop的分布式文件系统HDFS;3)相比于MapReduce,Spark的速度更快并且提供的功能更加丰富。
  尽管国内外学者在服务器端大数据存储、大数据处理、数据集共享方面开展了一些研究,并取得了很多研究成果,但是基于移动终端的数据存储,特别是基于移动终端的大数据存储及优化问题,迄今未见有相关报道。
  本文将研究移动终端大数据的文件存储技术,以电子邮件和短彩信消息的文件存储为实例,提出了一种移动终端大数据环境下的索引文件偏移量存储算法,实现精确控制读写数据正确位置,避免了重写所有数据,极大减少IO操作负担,提升移动终端大数据读写操作性能,提出移动终端大数据环境下多级索引存储算法,移动终端具体数据和相对位置分离即索引头和位置关系分开存储,实现移动终端环境下大数据存储索引有序。构建一个移动终端通用、高性能、可推广存储模型,充分发挥移动终端性能,有效减轻服务端数据存储、运算负担,降低移动终端和服务器端不必要的數据交互。
  3消息文件的存储设计
  移动终端大数据环境下,移动终端中一个消息文件不能是一维扁平的存储,因为这样会极大降低海量消息文件的操作性能。因此,我们将消息文件的结构设计成三种组成部分,包括消息体、消息头和消息头索引,如图1所示。其中:
  1)消息体:包括消息的具体内容,该部分数据量较大不需要频繁操作和访问。
  2)消息头:包括各种消息的头信息:如主题,发件人,收件人,时间等内容,这部分被划分出来的依据为,该项内容会被频繁使用,比如消息列表需要展现该部分数据,并且需要列表告诉滑动,就要求获取数据迅速。
  3)消息头索引:该部分为最高层结构,提取出了各个消息之间的相对位置,维护了各种位置序列。
  3.1 消息管理方法
  移动终端大数据环境下,消息文件管理主要通过系统中维护的几条链表实现,包括:索引头链表、消息头链表和空闲消息头链表,如图2所示。
  其中,索引头链表维护消息的前后顺序,比如:时间,状态顺序等,序列化为索引头文件;消息头链表维护着有效消息的头结点,空闲消息头链表维护着无效消息的头结点,两条链表序列化为消息头文件,如果需要删除一条消息,则从消息头链表中移除一个结点,放入空闲消息头链表,如果增加一条消息,则首先在空闲消息头链表中寻找是否有空闲结点,若找到转化为有效结点并加入有效消息头链表中。
  3.2消息链表管理方法
  由于消息包含不同状态,并且对应着不同的业务逻辑,因此会产生大量链表管理起来非常麻烦,因此消息链表也需要管理起来,这里使用单例模式维护唯一链表指针,并使用工厂模式进行管理,用户只需输入key值便能得到对应链表头指针,无须知道构造细节。而各链表常驻内存,使用惰性初始化,当第一次被使用时进行初始化。
  由于消息模块箱子较多,消息数量也较多,一直常驻内存对于某些内存较小低端机负担较大,因此也需要定期置换出部分不使用的链表以释放内存。
  3.3 链表管理置换算法—LRU算法
  LRU(Least Recently Used)即最近最久未使用页面置换算法,算法的思路就是认为最久未使用链表为最不常用的链表,因此优先级最低将其置换出去,从而换入新的链表进入。
  在这里我们的具体算法为:(1)将所有链表头指针存于一个链表管理器中(使用链表实现);(2)每次新请求对应key值的链表头,则先在管理链表中寻找是否存在,若存在直接返回,若不存在则添加入对应Key值的链表头入该链表管理器中;(3)添加新链表时候需要检查是否超过管理器最大上限,若超过最大上限,则置换出链表管理器末尾最后一个最老链表,并释放掉该链表头指针指向的整条链表。
  3.4海量消息文件存储的操作原理
  海量消息文件存储中,包括几个重要操作的原理及流程,如:消息增加、消息删除、消息加载等。   1) 消息新增管理
  对于新增消息需要找到合适的位置插入且生成有效id号,首先寻找对应的空闲消息头链表是否有空闲结点,若有则摘取一个转到有效链表中,并在对应位置写入消息记录,若无则获得链表最大结点数加1后得到新的id号,然后把生成的新结点添加到链表恰当位置处,具体流程如图3所示。
  2) 海量消息文件删除的原理
  对于删除操作并不真正将消息记录从文件系统中直接清除掉,而是在对应记录中写入无效标示,这样只需要找到适当位置写入少量字节即可。
  看起来每删除一条消息,仿佛在索引文件上挖一个坑,然后用空闲链表idleList将这些坑串联起来,如果新来一条消息,就优先把这样的坑分给它。
  3) 消息装载原理
  消息文件的装载过程即为一个反序列化过程,从文件系统读取各种数据和关系,转化为数据结构供上层使用的过程。
  此为存储的一个反过程,读取分为有序读取和无序读取,如果无序读取只需要加载索引文件,而读取有序消息索引则需要首先读取索引头文件,获得索引头结点,再查询索引结点组装成完整的索引结点信息。
  4结论
  向单个智能移动终端存储分别存储1000和5000条消息,每存储一条打印出该条消息存储消耗时间,这样可横向可以比较随着消息的增多,性能衰减情况,纵向可以比较新旧两种方式的效率。采用本文提出的文件存储操作方法,与整个消息文件存储的方法进行比对,结果本文提出的文件存儲操作方法在总体时间消耗比后者低,并且操作效率与测试数据规模的相关性低,而第二种方式会随着数据规模增加,效率急剧衰减。
  新方案由于实现了性能对数据规模的依赖相关性,因此在时间消耗上不会随着数据规模增加而增加,提升了还是消息文件的存储和操作性能。但其仍存在一些待改进的地方,如在文件系统中增删消息会在多个文件中读写,因此如果在中途发生意外就容易形成数据破坏,而这多个操作是原子的,需要事务来保证,因此在设计的时候需要加入对事务的考虑,若一个事务未来完成,需要进行回滚处理。移动互联大数据环境下,移动终端数据急剧增长,导致网络出现延迟和丢包现象,服务器 端超负荷运行。研究移动终端大数据存储,可提升移动软件应用性能及用户体验质量移动,降低服务器端存储和运算数据量,充分发挥移动终端硬件性能。因此,如何存储这些数量骤升的移动终端数据将成为企业和学术界的研究热点。
  参考文献
  [1] 陈博,顾旻霞.移动终端HTML5Web应用技术与标准[J].电信网技术,2012(5):5-9.
  [2] Ghemawat S,Gobioff H,Leung S T.The Google file system[C]//Proceedings of the nineteenth ACM symposium on Operating systems principles - SOSP '03.October 19-22,2003.Bolton Landing,NY,USA.New York:ACM Press,2003:29-43.
  [3] ZhongL Z,WangB Z,WangZ Y,et al.Research and application of massive data processing technology[C]//20138th International Conference on Computer Science & Education.April26-28,2013,Colombo,SriLanka.IEEE,2013:829-833.
  [4] Kaushik R T,Bhandarkar M,Nahrstedt K.Evaluation and analysis of GreenHDFS:a self-adaptive,energy-conserving variant of the hadoop distributed file system[C]//2010 IEEE SecondInternational Conference on Cloud Computing Technology and Science.November30 - December3,2010,Indianapolis,IN,USA.IEEE,2010:274-287.
  【通联编辑:朱宝贵】
其他文献
该文分析了聚类分析算法的基本思想、原理、数学模型及实现过程,详细地分析了几种经典的聚类分析算法的优缺点,最后介绍了常用的聚类分析算法的有效性分析方法。
摘要:在科技迅速发展的背景下计算机大数据技术得到了长足的发展,当前计算机大数据技术的应用范围越来越广阔。为了促进电力的节能,很多城市都引入了计算机大数据技术。计算机大数据的应用在很大程度上推动了城市电力节能的发展。该文通过分析计算机大数据技术在城市中的应用方法,为推动城市电力节能的发展提出了一些建议。  关键词:计算机;大数据;城市能源;节能;应用  中图分类号:TP311 文献标识码:A  
摘要:目前高校的智慧教室主要用于慕课和翻转课堂的教学实践,在国家新政策的指导下,智慧教室在教学中发挥着日益重要的作用。该文以具体项目为例,从建设目标、市场调研入手,确定项目的技术特点,根据用途对智慧教室进行分类,从软硬件配置、环境改造等方面来探索智慧教室的架构、建设及应用。  关键词:智慧教室;智能化;架构设计;建设及应用;学习环境  中图分类号:G642 文献标识码:A  文章编号:100
摘要:数据库的使用频度和使用规模已成为国家现代化的重要标志之一。大学生应该具有使用数据库知识解决本专业问题的能力。此网站可以辅助学生巩固理论知识、提高实践能力。该网站分为管理员、教师、学生三个角色,主要实现对课堂、课件视频等学习资料、学生、练习与测试、个人信息等管理功能。网站设计基于 SpringBoot和Vue 框架,采用SQL Server数据库进行数据存储、管理。该系统具有界面简洁、使用方便
摘要:随着物联网、车联网、泛在电力物联网的迅猛发展,海量的传感数据需要被记录下来并用于大数据分析,所以对这类和时间序列强相关数据的存储和检索也提出了更高的要求,尤其在智能驾驶、运输、消防、电力等特殊业务更为突出。在这种背景下,时序数据库逐步发展并得到了广泛的应用。相对于传统关系型数据库它的存储空间减半,查询速度极大提高,是解决海量数据处理的一项重要技术。该文分析了时序数据的存储与数据查询原理,并对
摘要:近十年来,我国信息技术不断发展,无线网络已经广泛应用到各个行业和人们日常生活中,对于无线网络安全提出更高的要求,由于无线网络具有开放性特点,而如何提高无线网络的安全性已经亟须解决问题。本文从无线网络中的安全问题、不同地点的无线网络存在的安全隐患以及提高无线网络安全的具体措施等几个方面进行分析,如何提升无线网络安全防,为我国无线网络技术发展提供参考。  关键词:无线网络;安全防护技术;安全问题
摘要:抢票软件的出现,在一定程度上缓解了铁路12306官方购票系统的售票压力,并被人们加上“买票快”,“买票方便”的标签,但其实抢票软件类似于生活中的一种插队现象,不仅没有抢票率的保证,而且从用户隐私安全和系统操作性能而言,抢票软件存在泄漏用户隐私、隐形收费、对服务器资源造成破坏等问题。  关键词:多线程并发;模拟分析危害  中图分类号:TP393 文献标识码:A  文章编号:1009-304
摘要:随着高职院校在宣传手段、影响力范围、信息公开程度等方面的拓展需求不断增多,站群管理应更加注重意识形态的积累和沉淀,传统的单站单人采编、审核、发布已经无法满足高速信息时代碎片化信息的高频率展示需求,针对高职院校网站内容质量、服务器管理、意识形态等保障性工作无法得到长期有效落实的问题, 该文基于站群系统建设与应用,充分利用先进的站群管理和采编中心技术,从站群管理层面提升新闻质量、加强队伍建设、强
摘要:数据治理系统作为大数据平台的核心基础支撑系统,旨在为数据仓库、数据服务平台、大数据基础平台以及实时共享交换平台,提供统一、便捷、高质量和价值最大化的数据资源,是数据应用和实现数据跨部门联通的基本保障。该文提出基于大数据平台的数据治理系统建设方案,为降低后续数据治理的改造成本、实现各部门互联互通和达到数据资源价值最大化,提供有效基础支撑。  关键词:数据治理系统;大数据平台;数据仓库;数据服务
随着三维点云数据在计算机视觉任务的逐渐流行,合成或重建高分辨率、高保真点云的能力变得至关重要。虽然深度学习模型最近在点云识别和点云分类任务中取得了成功,但点云生成任务还困难重重。本文提出了一种基于流模型的点云生成模型,使用深度学习技术训练好该模型之后,只需要从简单的高斯分布随机采样数据,然后通过我们的模型就可以产生全新的高质量的点云形状。基于我们模型生成的点云的质量比大多数现存的模型都要好,可以为