Phone: 15534080002 Email: mail.min@163.com

互联网+时代下的软件开发架构发展现状分析

2021-11-05 10:13:58 1256 雪脉科技

“互联网+”时代的到来促进了应用软件开发在电子商务、电子政务、金融证券、电力通信等多个领域普及, 提高了人类社会的信息化、智能化、自动化和共享化。互联网应用软件开发架构也根据时代的发展得到了多次改进, 从最初的单机版软件开发发展到客户机/服务器架构、浏览器/服务器架构, 实现了数据的联网通信。目前, 随着软件开发部署运行、大数据处理、用户并发访问等需求, 计算机学者又提出了云服务架构, 利用云计算的虚拟化、透明化和分布式计算服务能力, 将数以亿计的终端服务器节点集成在一起部署应用软件开发, 为用户提供高性能、低成本、易管理的应用软件开发架构, 更是软件开发架构的一次革新, 具有重要的作用和意义。

1 概述

  互联网应用软件开发架构是一个从不同角度组合软件开发的模式, 其可以根据软件开发功能模块划分需求, 将软件开发的各个功能集成在一起, 同时对于程序员来讲, 软件开发架构是透明的, 组件的外部可见属性和组件之间具有交叉融合的关系[1]。一个软件开发架构最基本的内容是逻辑元件, 将逻辑元件安装到硬件上, 必须保证整个逻辑元件组成的系统具有可靠性、可扩展性、稳定性、灵活性、健壮性和鲁棒性;另外, 软件开发架构也是对用户端、服务器端、数据库端的独立划分, 其可以利用接口保证每一端的通信传输, 但是每一端的改动不需要涉及其他端, 此时就可以保证软件开发的逻辑映射独立[2]。本文基于笔者多年的研究, 描述了“互联网+”时代应用软件开发架构现状及未来发展趋势, 为互联网软件开发开发提供帮助。

2“互联网+”时代应用软件开发架构发展现状

  目前, 互联网应用软件开发常用的架构包括客户机/服务器 (C/S) 架构、浏览器/服务器 (B/S) 架构[3]。互联网应用软件开发诞生时, 人们结合传统的单机版软件开发进行改进, 实现了应用软件开发的联网功能, 也即是在客户端中添加服务器互联通信功能, 就提出了客户机/服务器架构, 这种架构的应用软件开发需要用户在台式机、笔记本电脑等终端上下载安装程序, 然后安装一个客户端, 客户端通过内部嵌入的TCP/IP协议与服务器进行通信, 实现远程的服务器访问。客户机/服务器架构的软件开发拥有一个较为精美、操作友好的运行界面, 服务器端集成了Web服务器和数据库服务器, 通过界面用户可以输入逻辑业务请求, 服务器接收到逻辑业务请求之后, 可以按照程序语言的语法规则进行解析, 查看逻辑业务请求包含的内容, 比如服务器业务请求或数据库请求, 如果仅仅包含服务器业务请求, 比如调取服务器的页面等, 只需要把页面信息反馈给客户端即可;如果还包括数据插入、修改、查询和删除等操作, 就可以利用数据库管理软件开发进行实现, 常用的数据库管理软件开发包括SQLServer数据库管理系统、My SQL数据库管理系统、DB2数据库管理系统、Oracle数据库管理系统等, 能够支持前台客户端程序的各类型业务请求, 并且可以将处理结果封装在一起反馈给用户。

“互联网+”时代开发的软件开发主要面向无计算机专业知识的人们, 客户机/服务器架构的软件开发需要下载、安装一个客户端, 后期运行升级过程中都需要重新安装, 如果用户的PC终端没有运行环境, 通常将会产生一些安装、升级不成功的问题, 没有经过专业培训计算机知识的人无法掌握安装方法, 因此不利于软件开发的普及使用。为了解决上述问题, 计算机学者经过多年研究, 提出了浏览器/服务器架构, 该架构划分为三个层次, 分别是浏览器、服务器和数据库服务器, 利用这个架构开发的软件开发不需要安装客户端, 用户只需要掌握软件开发服务器地址, 即可将其链接输入到IE浏览器, 即可进入登录界面, 用户输入用户名和密码即可进入到服务器, 应用软件开发的功能通过IE浏览器的表单显示出来, 只需要输入相关的逻辑业务请求即可, 系统自动化的将请求分发给服务器, 服务器将其分发给数据库, 数据库处理完毕之后将结果反馈服务器, 服务器封装之后将其反馈给用户浏览器, 通过表单输出操作结果。浏览器/服务器解放了用户, 不需要用户掌握计算机专业知识, 只需要在IE浏览器中输入链接地址进入系统就可以享受各个操作权限, 运行升级和维护中, 用户也不需要安装升级插件, 系统服务器自动升级完毕, 整个过程对用户端是透明的。因此, 浏览器/服务器应用架构一经提出便得到了广泛使用, 其也促进了应用软件开发的普及。

3“互联网+”时代应用软件开发架构发展趋势

  随着大数据、分布式计算、光纤通信等技术的普及和改进, 人们进入到了“互联网+”时代, 互联网应用软件开发已经在金融证券、在线学习、智能旅游、政企办公、社交通讯等领域得到广泛使用。因此, 如何根据人们的需求, 将底层的硬件服务器资源集中起来提供给用户, 按需分配给用户存储空间、CPU资源、带宽通信资源等, 尽可能的降低政企单位软硬件开发、部署费用。因此, 互联网应用软件开发开始向云架构发展, 提出了阿里云、百度云、腾讯云、谷歌云等商业应用模式。云服务架构应用架构包括以下几个方面:

3.1 硬件资源虚拟化

  云服务器架构的目标是在有限的硬件资源限制下, 尽可能的部署较多的应用软件开发, 同时还要支持数以亿计的用户并发访问。因此, 云服务架构下硬件资源虚拟化成为重要的研究课题。硬件资源虚拟化可以利用优先级、轮转法、先进先出方法等进行实现。首先, 为每一类应用软件开发赋予不同的优先级, 利用优先级方法可以分配硬件资源, 比如分配CPU资源, 尽可能的分配给优先级较高的软件开发, 此时这些软件开发的处理速度就很快;轮转法就是将硬件资源等量划分, 为每一个应用软件开发分配一个块, 如果这些块运行结束之后, 可以分配给另外一个软件开发, 每一个应用软件开发都可以享受同等的资源使用权限, 轮流使用资源块;先进先出方法是指按照应用软件开发的进出时间, 优先处理先进入的应用软件开发, 先进先出方法看似公平, 但是如果先进入的软件开发业务处理功能多, 占用资源的时间较长, 此时就可能产生拥塞, 造成后续进来的软件开发无法得到处理, 因此不能够提供更高的响应速度。目前, 优先级和轮转法结合在一起, 同时拥有优先级和轮转法的优势, 加快了应用软件开发的处理速度, 这种模式的虚拟化方法可以大规模的提高硬件资源的利用率, 得到了快速的普及和使用。

3.2 云计算处理的透明性

  云服务架构下, 由于硬件资源是有限的, 虚拟化是提供硬件空间利用率的最佳方法之一, 因此这就牵涉到云计算的分布式、透明化问题。目前, 云计算的分布式、透明化问题利用Mapreduce的技术等可以稍微缓解。Map Reduce是一个基于集群模式的高性能并行计算平台, 其可以利用当前腾讯、百度、阿里巴巴、谷歌、微软建设的数以千亿计的集群节点进行计算, 提高了系统的处理速度。Map Reduce是一个并行计算的应用软件开发框架, 其可以与当前的云服务架构相融合, 为用户提供设计精良、并行计算、模块操作的软件开发部署框架, 能够自动化的完成每一个模块的计算任务, 并且用户多用户并行访问处理, 自动化的将存储空间进行划分, 同时将计算任务划分为服务处理和数据处理, 在集群节点上自动化分配计算空间, 收集每一个服务器节点的处理结果, 实现云服务架构的底层交叉, 尽可能的简化云服务架构的底层负载, 减少应用软件开发开发人员部署、测试和运行的工作量, 能够实现数据分布存储、数据高速通信、高容错处理的功能。

  互联网软件开发架构设计是一个非常关键的工作, 也是应用软件开发未来运行的基础。软件开发架构未来发展的趋势是适应用户需求, 借助于函数式程序设计语言Lisp的基本思想, 实现一个轻量级的线程处理, 实现基本的并发计算任务, 完成大规模的数据编程和计算处理, 同时具有较强的可靠性、稳定性和鲁棒性。

 

APP、小程序、微网站定制开发-山西更新科技

ligengxin.com@2022 Powered by SIYUCMS
备案号:晋ICP备2021016272号