<软考高项备考>《论文专题 - 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。然而,这…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
