当前位置: 首页 > 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。然而,这…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...