移动互联网开发技术研究

2019-12-02 04:09孙浩然
中国科技纵横 2019年17期
关键词:数据库技术计算机网络

要:随着移动互联网的快速发展,移动APP和网站的使用呈爆发式的增长。由于屏幕大小、网络情况的不同,导致移动互联网用户的使用习惯和传统互联网有很大不同,也由此导致移动互联网开发的方式和传统互联网有很大区别。本文从前端、后端、数据库和网络四个方面综合描述了移动互联网的开发要点。最后通过实验,重点分析的HTTP网络请求以及数据库性能优化方案,为移动互联网开发者提供有益参考。

关键词:移动互联网开发;数据库技术;计算机网络;传统互联网

中图分类号:TN915  文献标识码:A  文章编号:1671-2064(2019)17-0000-00

0 引言

网络时代日新月异,在我国互联网的发展过程中,PC互联网已日趋饱和,而移动互联网却呈现井喷式发展。截止2018年底,中国手机网民超过8亿,在我国人口比例占比达70%以上。随着移动互联网的高速发展,智能手机的大量普及,以前的传统媒体、购物、电视电影都逐渐转向移动端,手机APP逐渐在国民生活中占据越来越重要的位置[1]。各大互联网巨头和创业公司纷纷转战移动互联网,通过各种创新方式提升用户体验,更进一步渗透到老百姓生活中,并获得相应利润。目前为止APP开发已经成为商家的战略目标与必争之地,同时随着技术和产业的发展,国内的移动互联网产业逐渐从native APP(原生APP)独占市场变成web APP(H5页面)和native APP分庭抗礼的局面,特别是基于微信、今日头条、支付宝的小程序的兴起,一些厂商逐渐放弃传统的native APP方式,开始转移到微信小程序从而获取更多的流量[2]。本文旨在全面介绍移动互联网的主流开发方式和核心思路,为从业者快速对移动互联网开发入门提供有益参考。

1 移动互联网开发综述

1.1前端开发技术介绍

移动端开发可以大致分为两个方向:native APP开发(原生APP)与web APP开发(H5页面)。Native开发是移动互联网早期的主流,最开始native开发是分为java语言的安卓版和object-c的IOS版,因此开发同一款APP需要维护不同语言的两个版本,在开发上效率较低;之后由Facebook等公司逐渐提供了跨平台框架,能实现一份代码发布到不同平台,从而大大简化了开发流程[3]。Native APP具有加载迅速,交互流畅等优势,但是由于native APP的页面都是写在本地,因此缺乏动态更新的功能,如果APP上存在bug则只能通过重新发布新APP的方式来实现,具有一定的不便性。而与之对应的移动web APP的优势在于,开发的H5是运行在手机端浏览器中的,只要把服务器上的程序升级,用户重新访问,就能快速更新APP的内容,即快速热更,迅速纠错,这类H5开发最大的优势就是技术相对统一成熟,天然具有跨平台的优势[4]

1.2數据库

数据库是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API接口用于创建、访问、管理、搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢,所以现在我们使用关系型数据库管理系统(Relational Database Management System,简称RDBMS)来存储和管理的大数据量[5]。MySQL是当前最流行的关系型数据库管理系统,大量的互联网公司都基于MySQL作为数据存储,同时许多云服务厂商例如亚马逊、阿里云也在MySQL原有的基础上开发出了Aurora等高性能数据库,实现了动态切换、自动升降配等功能,拓宽了MySQL的应用场景。

1.3服务端开发

服务器端编程技术相对比较成熟,也经历了多年的更新换代,在互联网的早期,C语言是互联网开发的主要语言之一,但是这类面向过程的语言在维护,学习门槛上具有较高的要求,因此对从业者而言难度较大,在此基础上面向对象的语言C++诞生,该语言是C语言的一个大型的优化与扩展[6],兼容了大部分C语言的内容,在面向对象的思想越来越流行之后,C#、java、python、php、go等语言如雨后春笋涌现出来。其中java技术由于丰富的工具链、简洁的语法、强大的社区,迅速占领了互联网开发的份额,成为了很多互联网公司的首选编程语言[7]

2 计算机网络

互联网发展到4G时代,手机看视频玩游戏成为了现实,从而大大拓宽了移动互联网的应用场景,各种各样的移动互联网的应用如雨后春笋一样涌现,为老百姓的生活带来了非常多的便利,同时由于4G时代流量费用更加便宜,进一步地提高了用户的使用率[8]。即将到来的5G时代,能实现高速低延迟的网络通信,提供更加便宜的流量费用,可以为人工智能、VR更新型产业提供更好的支持。计算机网络主要基于5层网络结构,从上到下分别是应用层、传输层、网络层、数据链路层和物理层,五层网络模型如图1所示:

3 服务器实验

在移动开发过程中,服务器技术是其中十分重要的一环,特别是随着用户的增加,数据库和服务器的压力都不断增大,如何设计更加高效的策略提升服务器稳定性、防止高并发,为企业节约硬件成本,是十分重要的问题。由此本节分别就服务器的数据库优化和高并发的主要策略进行分析和实验。

3.1数据库索引优化策略

数据库优化中最重要的一环也是最基础的工作就是索引的添加。在本次实验中,我们建立一个数据库db_test,以及一个用户表property,通过脚本插入了1000w条数据(代表1000万用户),然后通过property中property字段来进行查询。

图2可以看到在没有索引的情况下,数据库用了接近10秒来查询。接下来通过sql语句,create index pindex on property(property);创建索引,再进行相同操作。

图3可以看到查询只花了0.00sec,几乎没有花时间。实验证明索引的加入大幅提升了性能。

3.2分布式系统

当前最主流的防止高并发的技术方案就是分布式系统,分布式系统的原理比较简单,就是基于服务器的压力分担以及灾备策略,由于测试环境的限制,本文采用3台服务器组成分布式系统,每台服务器都搭载2核2.4GHZ cpu,内存为16G的系统,分别对单台服务器以及三台服务器组成的分布式系统进行压测。本文采用php的ci框架,用python实现了一个高并发脚本对其压测,最后结果如表1。

可以看到,3台服务器在分布式的条件下,处理能力基本上是单台的3倍,符合预期。在实验过程中将3台分布式服务器中的一台取下,模拟单点失效的场景,在这种情况下剩下两台依然能正常工作,证明分布式系统能实现单点故障的兜底。

4 总结

本文从前端、后端、数据库和网络四个方面综合描述了移动互联网的开发要点,重点分析移动互联网服务器技术,再通过两个实验分别介绍研究了数据库和服务器的优化策略,通过实验结果证明优化策略的有效性,为移动互联网开发者提供了有益的参考。

参考文献

[1]顾文彬,刘浩然.2018中国产业互联网发展白皮书[J].互联网经济,2019,46(Z1):63-70.

[2]王鑫.Native APP与Web APP移动应用发展[J].计算机系统应用,2016,25(9):250-253.

[3]Japikse P, Grossnicklaus K,Dewey B. React[M].Building Web APPlications with Visual Studio,2017.

[4]劉斌.HTML5-未来网络应用的核心技术研究[J].自动化与仪器仪表,2010(4):30-33.

[5]梁勇,阳国贵.MySQL数据库的事务一致性研究[C].全国青年通信学术会议,2009.

[6]肖戈林.HTTP协议技术探析[J].江西通信科技,2001(1):17-24.

[7]邓昶.常用计算机编程语言的分析和选用技巧探析[J].计算机光盘软件与应用,2014, 5(19):75-76.

[8]Ekstrom H, Furuskar A, Karlsson J, et al. Technical solutions for the 3G long-term evolution[J].Communications Magazine IEEE,2006,44(3):38-45.

收稿日期:2019-07-22

作者简介:孙浩然,男,汉族,山东枣庄人。

Research on Mobile Internet Development Technology

SUNHao-ran

(Shandong Experimental HighJinanShandong 250001)

AbsrtactWith the rapid development of mobile internet, the use of mobile APP and website is explosive growth. Because of the different screen size and network conditions, the usage habits of mobile Internet users are quite different from traditional internet,which also leads to the great difference between the development of mobile Internet and traditional internet. This paper describes the main points of mobile Internet development from four aspects: front-end, back-end, database and network.It focuses on the difference between mobile Internet technology and traditional Internet technology, which provides useful reference for mobile Internet developers.

Key words:mobile Internet development; database technology; computer network; traditional Internet

猜你喜欢
数据库技术计算机网络
基于模式匹配的计算机网络入侵防御系统
关于计算机网络存储技术分析
计算机网络信息安全及防护策略
新形势下数据库原理的双语教学
基于项目驱动的《SQLServer数据库应用》教学思考
计算机网络技术的应用探讨
计算机网络维护工作的思考
计算机网络管理技术及其应用