当前位置: 首页 > news >正文

<软考高项备考>《论文专题 - 7 论文的项目背景之技术架构》

1 技术架构概况

➢ 架构前端:HTML
➢ 后端:Java
➢ 数据库: Oracle
➢ 大数据:MapReduce
➢ 人工智能:Python
➢ 物联网:RFID识别,http传输,Java
➢ 开发APP: IOS、Android

2 常用开发语言

序号语言说明
1JavaJava是一种跨平台的编程语言,广泛应用于企业级应用开发、Android应用开发和大型系统开发等领域。
2C++C++是一种通用的高级编程语言,用于系统级开发、游戏开发和性能要求较高的应用程序。
3PythonPython是一种易学易用的编程语言,适用于Web开发、数据分析、人工智能和科学计算等许多领域。
4C#C#是微软开发的一种面向对象的编程语言,主要用于Windows平台应用程序开发和游戏开发。
5JavaScriptJavaScript是一种用于前端开发的脚本语言,广泛用于网页交互、动态效果和前端框架开发。
6PHPPHP是一种用于Web开发的脚本语言,特别适用于构建动态网站和服务器端应用程序。
7RubyRuby是一种简洁而优雅的动态编程语言,主要用于Web开发和脚本编写。
8SwiftSwift是苹果公司开发的一种用于iOS和macOS应用程序开发的编程语言。

当然,还有许多其他的编程语言,如Go、Rust、TypeScript等,具体选择哪种语言取决于项目的需求、团队的技术能力以及项目的规模和复杂度等因素。

3 常用技术架构

序号架构说明
1客户端-服务器架构(C/S)将系统分为客户端和服务器两部分,客户端负责提供用户接口和展示功能,服务器负责处理业务逻辑和数据存储。这种架构可实现分布式计算、资源共享和集中管理。
2B/S架构即Browser/Server(浏览器/服务器)结构是随着Internet技术的兴起,对C/S架构的一种变化或改进的结构。在B/S架构中,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务器端实现,形成所谓三层架构结构。
3分布式架构将系统拆分为多个独立的组件,这些组件可以部署在不同的物理或虚拟机器上,并通过网络进行通信和协作。分布式架构能够提高系统的可伸缩性和容错性。
4三层架构将系统划分为表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)三个层次。表示层处理用户界面,业务逻辑层处理业务规则,数据访问层负责与数据库进行交互。这种架构使得系统模块化、易于维护和扩展。
5服务导向架构(SOA)将系统设计为一组互相独立的服务,这些服务通过标准化的接口和协议进行通信。每个服务都提供特定的功能,并可以被其他服务调用。SOA架构能够实现系统的松耦合、灵活性和可重用性。
6微服务架构将系统拆分为一系列较小的、独立部署的服务,每个服务都专注于完成一个特定的业务功能。这些服务之间通过轻量级通信机制进行交互,可以独立开发、部署和扩展。微服务架构有助于加快开发速度、降低风险和实现灵活性。

4 常用服务器类型

序号服务器类型说明
1Web服务器专门用于处理Web应用程序和网站的请求和响应。常见的Web服务器包括Apache、Nginx、IIS等。
2应用服务器用于执行应用程序的服务器,主要用于处理业务逻辑和数据处理。常见的应用服务器有Tomcat、Jboss、WebLogic等。
3数据库服务器用于存储和管理数据的服务器,提供数据库服务。常见的数据库服务器有MySQL、Oracle、SQL Server等。
4文件服务器用于存储和共享文件的服务器,提供文件存储和访问的服务。常见的文件服务器包括FTP服务器、SMB服务器等。
5邮件服务器用于管理和传输电子邮件的服务器,支持收发邮件和邮件存储。常见的邮件服务器有Exchange、Sendmail、Postfix等。
6虚拟化服务器用于运行和管理虚拟机的服务器,提供虚拟化环境。常见的虚拟化服务器包括VMware ESXi、Hyper-V等。
7数据存储服务器用于集中存储和管理数据的服务器,提供高容量和可靠的数据存储。常见的存储服务器有NAS(网络附加存储)和SAN(存储区域网络)。
8DNS服务器用于解析域名和IP地址之间映射关系的服务器,提供域名解析服务。常见的DNS服务器有BIND、Windows DNS等。

以上是常见的服务器类型,根据项目需求和规模,可以选择合适的服务器类型来满足系统的功能和性能要求。

5 常用数据库类型

序号数据库类型说明
1Oracle数据库是一个强大的商业关系型数据库管理系统,由Oracle公司开发和提供。它是全球最流行和广泛使用的数据库之一,广泛应用于大型企业和组织的关键业务系统。
2MySQLMySQL是一种开源关系型数据库管理系统,广泛用于Web应用程序和小型企业。它具有良好的性能和可靠性。
3Microsoft SQL ServerMicrosoft SQL Server是一种领先的商业关系型数据库管理系统,适用于Windows操作系统。它具有强大的数据管理和安全功能。
4PostgreSQLPostgreSQL是一种强大的开源对象关系型数据库管理系统,具有高度可扩展性和完整性。它支持复杂的数据类型和高级功能。
5MongoDBMongoDB是一种非关系型数据库管理系统,使用文档存储模型。它适用于大规模数据和高度灵活的数据模式。
6IBM DB2IBM DB2是一种全面的关系型数据库管理系统,适用于企业级应用。它具有高度可靠性、可伸缩性和安全性。
7SQLiteSQLite是一种嵌入式关系型数据库管理系统,非常轻量级且易于集成到应用程序中。它被广泛应用于移动设备和桌面应用程序。
8MariaDBMariaDB是一个兼容MySQL的开源关系型数据库管理系统,由MySQL的原创开发者创建。它旨在提供更好的性能和可扩展性。
9Amazon RDSAmazon RDS是亚马逊提供的一种托管式关系型数据库服务,支持多个数据库引擎,如MySQL、PostgreSQL、SQL Server等。

6 技术部分参考写作范例

  1. 基于Spring Cloud 的微服务架构(常见政务系统)
    1、Spring Cloud Netflix
    例文:

本系统采用Java语言开发,使用Spring Cloud Netflix微服务架构来构建分布式的B/S应用;通过Eureka组件来实现服务注册与发现功能,Ribbon组件来提供服务调用和客户端负载均衡算法,Hystrik实现微服务的容错处理,避免在微服务架构中个别服务出现异常时引起的故障蔓延。Zuul组件实现服务网关,使用 RESTful API提供统一资源接口。

2、Spring Cloud Alibaba
例文:

本系统采用Java语言开发,使用Spring Cloud Alibaba微服务架构来构建分布式的B/S应用;通过Nacos组件来实现动态服务发现、配置管理和服务管理,Sentinel实现流量控制、熔断降级、系统负载保护,RocketMQ来实现分布式消息系统,Seata实现分布式事务处理框架,Spring Cloud Gateway实现服务网关,使用RESTful API提供统一资源接口。

  1. 大数据技术栈(大数据项目)
    例文:

本系统采用基于Hadoop 的大数据架构,使用Flumet Logstash+ Sqoop做数据采集和传输,对HDFS上的数据存入,Hive做离线分析,ZooKeeper中间件提供数据同步服务和资源、服务协调,ETL做数据抽取、数据清洗、数据校验、数据安全脱敏,Spark 做计算引擎,SparkSql做数据分析,Echarts做数据可视化。

  1. SOA案例(常见政务系统)
    例文:

本系统采用Java语言开发,技术路线基于J2EE及面向服务SOA开发,采用B/S架构和MVC模式,前端使用Vue + Element UI开发,服务端采用分层架构,持久层使用轻量级映射框架Mybatis,服务层使用代理模式,由Spring托管,DAO层使用Spring 提供的Mybatis模板访问数据库,由SpringMVC管理Conllection,Service层,DAO层的接口实现类。系统数据库使用Oracle 12c,并采用Redis 做数据缓存。

  1. 物联网架构(物联网系统)
    例文:

本系统采用分四层设计,感知层使用传感器、RFID射频识别、多媒体信息采集技术等进行数据感知服务,网络层使用光纤、Wifi、4G/5G通讯技术实现数据传输服务,平台层向下连接海量设备,向上提供云端API,主要包含设备接入、设备管理、安全管理、消息通信、监控运维以及数据应用等;应用层整体上基于SOA架构,将收集的数据进行汇总、分类、清理然后封装成服务提供给各种应用。

  1. GIS系统
    例文:

本系统采用开源WebGIS架构进行二次开发,C端使用Udig进行shp格式地图文件的编辑和查看,B端采用OpenLayers对数据进行可视化、空间分析、成果展示;Web服务器使用Apache
+Tomcat,GIS服务器使用Geoserver将地图数据发布为地图服务,实现地理空间数据在用户之间的共享,使用PostGIS 作为GIS数据库。

相关文章:

<软考高项备考>《论文专题 - 7 论文的项目背景之技术架构》

1 技术架构概况 ➢ 架构前端:HTML ➢ 后端:Java ➢ 数据库: Oracle ➢ 大数据:MapReduce ➢ 人工智能:Python ➢ 物联网:RFID识别,http传输,Java ➢ 开发APP: IOS、Android 2 常用开发语言 序号语言说明1JavaJava是一种跨平台的编程语言,广…...

6.3 C++11 原子操作与原子类型

一、原子类型 1.多线程下的问题 在C中&#xff0c;一个全局数据在多个线程中被同时使用时&#xff0c;如果不加任何处理&#xff0c;则会出现数据同步的问题。 #include <iostream> #include <thread> #include <chrono> long val 0;void test() {for (i…...

智能优化算法应用:基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.狮群算法4.实验参数设定5.算法结果6.参考文献7.MA…...

BERT、GPT学习问题个人记录

目录 1. 为什么过去几年大家都在做BERT, 做GPT的人少。 2. 但最近做GPT的多了以及为什么GPT架构的scaling&#xff08;扩展性&#xff09;比BERT好。 3.BERT是否可以用来做生成&#xff0c;如果可以的话为什么大家都用GPT不用BERT. 4. BERT里的NSP后面被认为是没用的&#x…...

HeartBeat监控Mysql状态

目录 一、概述 二、 安装部署 三、配置 四、启动服务 五、查看数据 一、概述 使用heartbeat可以实现在kibana界面对 Mysql 服务存活状态进行观察&#xff0c;如有必要&#xff0c;也可在服务宕机后立即向相关人员发送邮件通知 二、 安装部署 参照章节&#xff1a;监控组件…...

软件开发经常出现的bug原因有哪些

软件开发中出现bug的原因是多方面的&#xff0c;这些原因可能涉及到开发流程、人为因素、设计问题以及其他一系列因素。以下是一些常见的导致bug的原因&#xff1a; 1. 错误的需求分析&#xff1a; 不正确、不完整或者模糊的需求分析可能导致开发人员误解客户的需求&#xff0…...

代码随想录27期|Python|Day15|二叉树|层序遍历|对称二叉树|翻转二叉树

本文图片来源&#xff1a;代码随想录 层序遍历&#xff08;图论中的广度优先遍历&#xff09; 这一部分有10道题&#xff0c;全部可以套用相同的层序遍历方法&#xff0c;但是需要在每一层进行处理或者修改。 102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 层…...

鸿蒙开发组件之Web

一、加载一个url myWebController: WebviewController new webview.WebviewControllerbuild() {Column() {Web({src: https://www.baidu.com,controller: this.myWebController})}.width(100%).height(100%)} 二、注意点 2.1 不能用Previewer预览 Web这个组件不能使用预览…...

成绩分析。

成绩分析 题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100分&#xff0c;每个学生的得分都是一个0到100的整数。 请计算这次考试的最高分、最低分和平均分 输入描述 输入的第一行包含一个整数n(1n104)&#xff0c;表示考试人数。 接下来n行&#xff0c;每行包含…...

Excel实现字母+数字拖拉自动递增,步长可更改

目录 1、带有字母的数字序列自增加&#xff08;步长可变&#xff09; 2、仅字母自增加 3、字母数字同时自增 1、带有字母的数字序列自增加&#xff08;步长可变&#xff09; 使用Excel通常可以直接通过拖拉的方式&#xff0c;实现自增数字&#xf…...

Java之Stream流

一、什么是Stream流 Stream是一种处理集合&#xff08;Collection&#xff09;数据的方式。Stream可以让我们以一种更简洁的方式对集合进行过滤、映射、排序等操作。 二、Stream流的使用步骤 先得到一条Stream流&#xff0c;并把数据放上去利用Stream流中的API进行各种操作 中间…...

vue中element-ui日期选择组件el-date-picker 清空所选时间,会将model绑定的值设置为null 问题 及 限制起止日期范围

一、问题 在Vue中使用Element UI的日期选择组件 <el-date-picker>&#xff0c;当你清空所选时间时&#xff0c;组件会将绑定的 v-model 值设置为 null。这是日期选择器的预设行为&#xff0c;它将清空所选日期后将其视为 null。但有时后端不允许日期传空。 因此&#xff…...

使用模方时,三维模型在su中显示不了怎么办?

答&#xff1a;可以借助截图功能截取模型影像在su中绘制白模。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建模功能&#xff0c;支持一键自动提取房屋结构&#xff…...

AR-LDM原理及代码分析

AR-LDM原理AR-LDM代码分析pytorch_lightning(pl)的hook流程main.py 具体分析TrainSampleLightningDatasetARLDM blip mm encoder AR-LDM原理 左边是模仿了自回归地从1, 2, ..., j-1来构造 j 时刻的 frame 的过程。 在普通Stable Diffusion的基础上&#xff0c;使用了1, 2, .…...

MySQL常见死锁的发生场景以及如何解决

死锁的产生是因为满足了四个条件&#xff1a; 互斥占有且等待不可强占用循环等待 这个网站收集了很多死锁场景 接下来介绍几种常见的死锁发生场景。其中&#xff0c;id 为主键&#xff0c;no&#xff08;学号&#xff09;为二级唯一索引&#xff0c;name&#xff08;姓名&am…...

Leetcode 47 全排列 II

题意理解&#xff1a; 首先理解全排列是什么&#xff1f;全排列&#xff1a;使用集合中所有元素按照不同元素进行排列&#xff0c;将所有的排列结果的集合称为全排列。 这里的全排列难度升级了&#xff0c;问题在于集合中的元素是可以重复的。 问题&#xff1a;相同的元素会导致…...

C# 图解教程 第5版 —— 第18章 泛型

文章目录 18.1 什么是泛型18.2 C# 中的泛型18.3 泛型类18.3.1 声明泛型类18.3.2 创建构造类型18.3.3 创建变量和实例18.3.4 使用泛型的示例18.3.5 比较泛型和非泛型栈 18.4 类型参数的约束18.4.1 Where 子句18.4.2 约束类型和次序 18.5 泛型方法18.5.1 声明泛型方法18.5.2 调用…...

保障事务隔离级别的关键措施

目录 引言 1. 锁机制的应用 2. 多版本并发控制&#xff08;MVCC&#xff09;的实现 3. 事务日志的记录与恢复 4. 数据库引擎的实现策略 结论 引言 事务隔离级别是数据库管理系统&#xff08;DBMS&#xff09;中的一个关键概念&#xff0c;用于控制并发事务之间的可见性。…...

Docker导入导出镜像、导入导出容器的命令详解以及使用的场景

一、Docker 提供用于管理镜像和容器命令 1.1 docker save 与 docker load 这是一对操作&#xff0c;用于处理 Docker 镜像。这个操作会将所有的镜像层以及元数据打包到一个 tar 文件中。然后&#xff0c;你可以使用 docker load 命令将这个 tar 文件导入到任何 Docker 环境中…...

虚拟化嵌套

在理论上,可以在虚拟机(VM)内运行一个hypervisor,这个概念被称为嵌套虚拟化: 我们将第一个hypervisor称为Host Hypervisor,将VM内的hypervisor称为Guest Hypervisor。 在Armv8.3-A发布之前,可以通过在EL0中运行Guest Hypervisor来在VM中运行Guest Hypervisor。然而,这…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...