<软考高项备考>《论文专题 - 7 论文的项目背景之技术架构》
1 技术架构概况
➢ 架构前端:HTML
➢ 后端:Java
➢ 数据库: Oracle
➢ 大数据:MapReduce
➢ 人工智能:Python
➢ 物联网:RFID识别,http传输,Java
➢ 开发APP: IOS、Android
2 常用开发语言
序号 | 语言 | 说明 |
---|---|---|
1 | Java | Java是一种跨平台的编程语言,广泛应用于企业级应用开发、Android应用开发和大型系统开发等领域。 |
2 | C++ | C++是一种通用的高级编程语言,用于系统级开发、游戏开发和性能要求较高的应用程序。 |
3 | Python | Python是一种易学易用的编程语言,适用于Web开发、数据分析、人工智能和科学计算等许多领域。 |
4 | C# | C#是微软开发的一种面向对象的编程语言,主要用于Windows平台应用程序开发和游戏开发。 |
5 | JavaScript | JavaScript是一种用于前端开发的脚本语言,广泛用于网页交互、动态效果和前端框架开发。 |
6 | PHP | PHP是一种用于Web开发的脚本语言,特别适用于构建动态网站和服务器端应用程序。 |
7 | Ruby | Ruby是一种简洁而优雅的动态编程语言,主要用于Web开发和脚本编写。 |
8 | Swift | Swift是苹果公司开发的一种用于iOS和macOS应用程序开发的编程语言。 |
当然,还有许多其他的编程语言,如Go、Rust、TypeScript等,具体选择哪种语言取决于项目的需求、团队的技术能力以及项目的规模和复杂度等因素。
3 常用技术架构
序号 | 架构 | 说明 |
---|---|---|
1 | 客户端-服务器架构(C/S) | 将系统分为客户端和服务器两部分,客户端负责提供用户接口和展示功能,服务器负责处理业务逻辑和数据存储。这种架构可实现分布式计算、资源共享和集中管理。 |
2 | B/S架构即Browser/Server(浏览器/服务器)结构 | 是随着Internet技术的兴起,对C/S架构的一种变化或改进的结构。在B/S架构中,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务器端实现,形成所谓三层架构结构。 |
3 | 分布式架构 | 将系统拆分为多个独立的组件,这些组件可以部署在不同的物理或虚拟机器上,并通过网络进行通信和协作。分布式架构能够提高系统的可伸缩性和容错性。 |
4 | 三层架构 | 将系统划分为表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)三个层次。表示层处理用户界面,业务逻辑层处理业务规则,数据访问层负责与数据库进行交互。这种架构使得系统模块化、易于维护和扩展。 |
5 | 服务导向架构(SOA) | 将系统设计为一组互相独立的服务,这些服务通过标准化的接口和协议进行通信。每个服务都提供特定的功能,并可以被其他服务调用。SOA架构能够实现系统的松耦合、灵活性和可重用性。 |
6 | 微服务架构 | 将系统拆分为一系列较小的、独立部署的服务,每个服务都专注于完成一个特定的业务功能。这些服务之间通过轻量级通信机制进行交互,可以独立开发、部署和扩展。微服务架构有助于加快开发速度、降低风险和实现灵活性。 |
4 常用服务器类型
序号 | 服务器类型 | 说明 |
---|---|---|
1 | Web服务器 | 专门用于处理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(存储区域网络)。 |
8 | DNS服务器 | 用于解析域名和IP地址之间映射关系的服务器,提供域名解析服务。常见的DNS服务器有BIND、Windows DNS等。 |
以上是常见的服务器类型,根据项目需求和规模,可以选择合适的服务器类型来满足系统的功能和性能要求。
5 常用数据库类型
序号 | 数据库类型 | 说明 |
---|---|---|
1 | Oracle数据库 | 是一个强大的商业关系型数据库管理系统,由Oracle公司开发和提供。它是全球最流行和广泛使用的数据库之一,广泛应用于大型企业和组织的关键业务系统。 |
2 | MySQL | MySQL是一种开源关系型数据库管理系统,广泛用于Web应用程序和小型企业。它具有良好的性能和可靠性。 |
3 | Microsoft SQL Server | Microsoft SQL Server是一种领先的商业关系型数据库管理系统,适用于Windows操作系统。它具有强大的数据管理和安全功能。 |
4 | PostgreSQL | PostgreSQL是一种强大的开源对象关系型数据库管理系统,具有高度可扩展性和完整性。它支持复杂的数据类型和高级功能。 |
5 | MongoDB | MongoDB是一种非关系型数据库管理系统,使用文档存储模型。它适用于大规模数据和高度灵活的数据模式。 |
6 | IBM DB2 | IBM DB2是一种全面的关系型数据库管理系统,适用于企业级应用。它具有高度可靠性、可伸缩性和安全性。 |
7 | SQLite | SQLite是一种嵌入式关系型数据库管理系统,非常轻量级且易于集成到应用程序中。它被广泛应用于移动设备和桌面应用程序。 |
8 | MariaDB | MariaDB是一个兼容MySQL的开源关系型数据库管理系统,由MySQL的原创开发者创建。它旨在提供更好的性能和可扩展性。 |
9 | Amazon RDS | Amazon RDS是亚马逊提供的一种托管式关系型数据库服务,支持多个数据库引擎,如MySQL、PostgreSQL、SQL Server等。 |
6 技术部分参考写作范例
- 基于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提供统一资源接口。
- 大数据技术栈(大数据项目)
例文:
本系统采用基于Hadoop 的大数据架构,使用Flumet Logstash+ Sqoop做数据采集和传输,对HDFS上的数据存入,Hive做离线分析,ZooKeeper中间件提供数据同步服务和资源、服务协调,ETL做数据抽取、数据清洗、数据校验、数据安全脱敏,Spark 做计算引擎,SparkSql做数据分析,Echarts做数据可视化。
- SOA案例(常见政务系统)
例文:
本系统采用Java语言开发,技术路线基于J2EE及面向服务SOA开发,采用B/S架构和MVC模式,前端使用Vue + Element UI开发,服务端采用分层架构,持久层使用轻量级映射框架Mybatis,服务层使用代理模式,由Spring托管,DAO层使用Spring 提供的Mybatis模板访问数据库,由SpringMVC管理Conllection,Service层,DAO层的接口实现类。系统数据库使用Oracle 12c,并采用Redis 做数据缓存。
- 物联网架构(物联网系统)
例文:
本系统采用分四层设计,感知层使用传感器、RFID射频识别、多媒体信息采集技术等进行数据感知服务,网络层使用光纤、Wifi、4G/5G通讯技术实现数据传输服务,平台层向下连接海量设备,向上提供云端API,主要包含设备接入、设备管理、安全管理、消息通信、监控运维以及数据应用等;应用层整体上基于SOA架构,将收集的数据进行汇总、分类、清理然后封装成服务提供给各种应用。
- 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中,一个全局数据在多个线程中被同时使用时,如果不加任何处理,则会出现数据同步的问题。 #include <iostream> #include <thread> #include <chrono> long val 0;void test() {for (i…...

智能优化算法应用:基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于狮群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.狮群算法4.实验参数设定5.算法结果6.参考文献7.MA…...
BERT、GPT学习问题个人记录
目录 1. 为什么过去几年大家都在做BERT, 做GPT的人少。 2. 但最近做GPT的多了以及为什么GPT架构的scaling(扩展性)比BERT好。 3.BERT是否可以用来做生成,如果可以的话为什么大家都用GPT不用BERT. 4. BERT里的NSP后面被认为是没用的&#x…...

HeartBeat监控Mysql状态
目录 一、概述 二、 安装部署 三、配置 四、启动服务 五、查看数据 一、概述 使用heartbeat可以实现在kibana界面对 Mysql 服务存活状态进行观察,如有必要,也可在服务宕机后立即向相关人员发送邮件通知 二、 安装部署 参照章节:监控组件…...
软件开发经常出现的bug原因有哪些
软件开发中出现bug的原因是多方面的,这些原因可能涉及到开发流程、人为因素、设计问题以及其他一系列因素。以下是一些常见的导致bug的原因: 1. 错误的需求分析: 不正确、不完整或者模糊的需求分析可能导致开发人员误解客户的需求࿰…...

代码随想录27期|Python|Day15|二叉树|层序遍历|对称二叉树|翻转二叉树
本文图片来源:代码随想录 层序遍历(图论中的广度优先遍历) 这一部分有10道题,全部可以套用相同的层序遍历方法,但是需要在每一层进行处理或者修改。 102. 二叉树的层序遍历 - 力扣(LeetCode) 层…...

鸿蒙开发组件之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这个组件不能使用预览…...
成绩分析。
成绩分析 题目描述 小蓝给学生们组织了一场考试,卷面总分为 100分,每个学生的得分都是一个0到100的整数。 请计算这次考试的最高分、最低分和平均分 输入描述 输入的第一行包含一个整数n(1n104),表示考试人数。 接下来n行,每行包含…...

Excel实现字母+数字拖拉自动递增,步长可更改
目录 1、带有字母的数字序列自增加(步长可变) 2、仅字母自增加 3、字母数字同时自增 1、带有字母的数字序列自增加(步长可变) 使用Excel通常可以直接通过拖拉的方式,实现自增数字…...
Java之Stream流
一、什么是Stream流 Stream是一种处理集合(Collection)数据的方式。Stream可以让我们以一种更简洁的方式对集合进行过滤、映射、排序等操作。 二、Stream流的使用步骤 先得到一条Stream流,并把数据放上去利用Stream流中的API进行各种操作 中间…...

vue中element-ui日期选择组件el-date-picker 清空所选时间,会将model绑定的值设置为null 问题 及 限制起止日期范围
一、问题 在Vue中使用Element UI的日期选择组件 <el-date-picker>,当你清空所选时间时,组件会将绑定的 v-model 值设置为 null。这是日期选择器的预设行为,它将清空所选日期后将其视为 null。但有时后端不允许日期传空。 因此ÿ…...

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

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的基础上,使用了1, 2, .…...

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

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

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. 多版本并发控制(MVCC)的实现 3. 事务日志的记录与恢复 4. 数据库引擎的实现策略 结论 引言 事务隔离级别是数据库管理系统(DBMS)中的一个关键概念,用于控制并发事务之间的可见性。…...
Docker导入导出镜像、导入导出容器的命令详解以及使用的场景
一、Docker 提供用于管理镜像和容器命令 1.1 docker save 与 docker load 这是一对操作,用于处理 Docker 镜像。这个操作会将所有的镜像层以及元数据打包到一个 tar 文件中。然后,你可以使用 docker load 命令将这个 tar 文件导入到任何 Docker 环境中…...

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

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...