架构设计笔记-20-补充知识
知识产权
我国没有专门针对知识产权制定统一的法律(知识产权法),而是在民法通则规定的原则下,根据知识产权的不同类型制定了不同的单项法律及法规,如著作权法、商标法、专利法、计算机软件保护条例等,这些法律、法规共同构成了我国保护知识产权的法律体系。
根据《中华人民共和国著作权法》第十二条规定,改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编、翻译、注释、整理人享有,但行使著作权时不得侵犯原作品的著作权。
著作权包括人身权和财产权。其中,人身权包括发表权、署名权、修改权和保护作品完整权。复制权、出租权和发行权均属于财产权。
根据《著作权法》第十八条,报社、期刊社、通讯社、广播电台、电视台的工作人员创作的职务作品,除特定情况外,著作权的其他权利由法人或组织享有,作者仅享有署名权。
根据《中华人民共和国商标法》第五十七条,有下列行为之一的,均属侵犯注册商标专用权:
(一)未经商标注册人的许可,在同一种商品上使用与其注册商标相同的商标的;
(二)未经商标注册人的许可,在同一种商品上使用与其注册商标近似的商标,或者在类似商品上使用与其注册商标相同或者近似的商标,容易导致混淆的;
(三)销售侵犯注册商标专用权的商品的;
(四)伪造、擅自制造他人注册商标标识或者销售伪造、擅自制造的注册商标标识的;
(五)未经商标注册人同意,更换其注册商标并将该更换商标的商品又投入市场的;
(六)故意为侵犯他人商标专用权行为提供便利条件,帮助他人实施侵犯商标专用权行为的;
(七)给他人的注册商标专用权造成其他损害的。
根据《软件产品管理办法》第四条,软件产品的开发、生产、销售、进出口等活动应遵守我国有关法律、法规和标准规范。任何单位和个人不得开发、生产、销售、进出口含有以下内容的软件产品:
(一)侵犯他人知识产权的;
(二)含有计算机病毒的;
(三)可能危害计算机系统安全的;
(四)含有国家规定禁止传播的内容的;
(五)不符合我国软件标准规范的。
法律法规
我国标准根据适用范围分类,分为国家标准、行业标准、地方标准和企业标准等四类;根据标准的法律约束性可分为强制性标准和推荐性标准:标准的编号由标准代号、标准发布顺序号和标准发布年号构成。
(1) 国家标准的代号由大写汉语拼音字母构成,强制性国家标准代号为GB,推荐性国家标准的代号为GB/T。
(2) 行业标准代号由汉字拼音大写字母组成,再加上斜杠T组成推荐性行业标准(如××/T)。行业标准代号由国务院各有关行政主管部门提出其所管理的行业标准范围的申请报告,国务院标准化行政主管部门审查确定并正式公布该行业标准代号。已正式公布的行业代号有QJ(航天)、SI(电子)、JB(机械)和JR(金融)等。
(3) 地方标准代号由大写汉字拼音DB加上省、自治区、直辖市行政区划代码的前两位数字(如北京市11、天津市12、上海市31等),再加上斜杠T组成推荐性地方标准DB××/T,不加斜杠T为强制性地方标准,如DB××。
(4) 企业标准的代号由汉字大写拼音字母Q加斜杠再加企业代号组成(如Q/×××),企业代号可用大写拼音字母或阿拉伯数字,或者两者兼用所组成。
新技术
数字孪生体的三项核心技术:建模、仿真、基于数据融合的数字线程。
RMS(Rate Monotonic Scheduling)调度算法根据任务周期确定优先级,周期越短,优先级越高。 详见架构设计笔记-16-嵌入式系统架构设计理论与实践
与传统数据库相比,嵌入式数据库系统有以下几个主要特点:
- - 嵌入式:嵌入式是嵌入式数据库的基本特性。嵌入式数据库不仅可以嵌入到其他的软件当中,也可以嵌入到硬件设备当中。
- - 实时性:实时性和嵌入式是分不开的。只有具有了实时性的数据库才能够第一时间得到系统的资源,对系统的请求在第一时间内做出响应。但是,并不是具有嵌入式就一定具有实时性。要想嵌入式数据库具有很好的实时性,必须做很多额外的工作。
- - 移动性:移动性是目前在国内提得比较多的一个说法,这和目前国内移动设备的大规模应用有关。可以这么说,具有嵌入式的数据库一定具有比较好的移动性,但是具有比较好的移动性的数据库,不一定具有嵌入式。
- - 伸缩性:伸缩性在嵌入式场合显得尤为重要。首先嵌入式场合硬件和软件的平台都是千差万别,基本都是客户根据需要自己选择的结果。
嵌入式数据库中,SQLite和Berkeley DB是文件型数据库,Firebird是网络型数据库,eXtremeDB则是内存型数据库。Oracle是大型数据库,不是嵌入式数据库。(官方教材第二版P565)
宏内核和微内核的主要区别在于它们的架构和设计哲学。宏内核将所有系统服务(包括设备驱动程序、内存管理、进程管理等)都集成在单一的内核空间中,这通常能提供较高的性能,但降低了模块化和可维护性。相反,微内核只包含最基本的操作系统服务(如进程调度和通信),将其他服务(如设备驱动程序)放在用户空间或作为服务器进程运行,这提供了更高的模块化和安全性,但可能牺牲一些性能。 在微内核架构中,由于大部分系统服务都运行在用户空间,进程间通信(IPC)通常通过消息传递机制来实现。这种机制允许进程通过发送和接收消息来进行通信,而不需要直接访问对方的内存空间,从而提高了系统的安全性和模块化。
边缘计算的特点包括联接性、数据第一入口、约束性和分布性。实时性虽然是边缘计算的一个重要优势,但不是其特点的定义之一。(官方教材第二版P386)
边缘计算与云计算的协同包括资源协同、数据协同、智能协同、应用管理协同、业务管理协同和服务协同。网络安全协同不是直接列举的协同方面。(官方教材第二版P386)
信息物理系统(CPS)通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术,构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源配置和运行的按需响应、快速迭代、动态优化。(官方教材第二版P369)
人工智能的关键技术包括自然语言处理、计算机视觉、知识图谱、人机交互和机器学习等,不包括区块链。(官方教材第二版P376)
专业英语
A system's architecture is a representation of a system in which there is a mapping of functionality onto hardware and software components, a mapping of the (请作答此空) onto the hardware architecture, and a concern for the human interaction with these components. That is, system architecture is concerned with a total system, including hardware, software, and humans. Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show. 1) (请作答此空) embody decisions as a set of code or data units that have to be constructed or procured. 2) (请作答此空) embody decisions as to how the system is to be structured as a set of elements that have runtime behavior and interactions. 3) (请作答此空) embody decisions as to how the system will relate to nonsoftware structures in its environment (such as CPUs, file systems, networks, development teams, etc.).
系统架构是一个系统的一种表示,包含了功能到软硬件构件的映射、软件架构到硬件架构的映射以及对于这些组件人机交互的关注。也就是说,系统架构关注于整个系统,包括硬件、软件和使用者。软件架构结构根据其所展示元素的广义性质,可以被分为三个主要类别。①模块结构将决策体现为一组需要被构建或采购的代码或数据单元。②构件连接器结构将决策体现为系统如何被结构化成为一组具有运行时行为和交互的元素。③分配结构将决策体现为系统如何在其环境中关联到非软件结构,如CPU、文件系统、网络、开发团队等。
During the systems analysis phase, you must decide how data will be organized, stored, and managed. A data structure is a framework for organizing, storing, and managing data. Each file or table contains data about people, places, things, or events. One of the potential problems existing in a file processing environment is data redundency, which means that data common to two or more information systems is stored in several places. In a DBMS, the linked tables form a unified data structure that greatly improves data quality and access. A(n) entity-relationship diagram is a model that shows the logical relationships and interaction among system entities. It provides an overall view of the system and a blueprint for creating the physical data structures. Normalization is the process of creating table designs by assigning specific fields or attributes to each table in the database. A table design specifies the fields and identifies the primary key in a particular table or file. The three normal forms constitute a progression in which third nomal form represents the best design. Most business - related data bases must be designed in that form.
在系统分析阶段,必须决定如何组织、存储和管理数据。数据结构是组织、存储和管理数据的一个框架。每个文件或表都包含有关人物、地点、事物或事件的数据。文件处理环境中存在的潜在问题之一是数据冗余,这意味着两个或多个信息系统共用的数据存储在多个不同位置。 在数据库管理系统(DBMS)中,相互连接的表形成了一个统一的数据结构,极大地提高了数据质量和访问能力。实体关系图是显示系统实体之间的逻辑关系和交互的模型。它提供了系统的总体视图和用于创建物理数据结构的蓝图。规范化是通过为数据库中的每个表分配特定字段或属性来创建表设计的过程。表设计指定字段并标识特定表或文件中的主键。三种范式构成了一个渐进过程,其中第三范式代表了好的设计。大部分与业务相关的数据库都必须以这种形式设计。
System analysis is traditionally done top - down using structured analysis based on functional decomposition. Object - oriented analysis focuses on creation of models. The three types of the analysis model are class model / interaction model / state model. There are two substages of object - oriented analysis. Domain analysis focuses on real - world things whose semantics the application captures. The object constructedin the requirement analysis shows the static structure of the real - world system and organizes it intoworkable pieces. Application analysis addresses the computer aspects of the applicati on that are visible tousers. The objects are those which can be expected to vary from time to time quite rapidly.
传统的系统分析以功能分解为基础,利用结构化分析自顶向下完成。面向对象分析关注于模型的创建。该分析模型有三种类型:类模型、交互模型和状态模型。面向对象分析有两个子阶段。领域分析侧重于现实世界中那些语义被应用程序获取的事物。在需求分析中所构造的对象说明了现实世界系统的静态结构并将其组织为可用的片段。应用分析处理应用系统中用户可见的计算机问题。所分析的对象可能会被预计时不时地发生较快的变化。
A simple but essential architectural style used in high - quality architecture involves the separation of the domain and technical building blocks, according to the tenets of Quasar (Quality - Driven Software Architecture). Business building blocks are those that contain source code for the application domain, such as business rules, calculations, validations, and so on. Technical building blocks s olve purely technical problems, such as database connections, user interfaces, and so on. The basic principle of this architec tural style is that each building block contained in an architecture may only be responsible for either of these two aspects. This s eparation is postulated by Quasar because the domain and technical aspects of software systems usually have very different change cycles. If this separation can be maintained, the result will be a well modularized system. This Quasar - based idea became manageable with the introduction of “blood types” for software components. I think this mode l has not really become established because the blood - type analogy for software is pretty far-fetched. Nevertheless, this style pro vides some very important hints that should be obvious to every software architect.
根据Quasar(质量驱动软件架构)的原则,高质量架构中使用的一种简单但必不可少的架构风格涉及领域和技术构建块的分离。业务构建块是包含应用程序域源代码的构建块,如业务规则、计算、验证等。技术构建块解决纯粹的技术问题,如数据库连接、用户界面等。这种架构风格的基本原则是,架构中包含的每个构建块可能只负责这两个方面中的任何一个。这种分离是由Quasar提出的,因为软件系统的领域和技术方面通常具有非常不同的变更周期。如果能够保持这种分离,结果将是一个模块化良好的系统。 随着软件组件“血型”的引入,这种基于Quasar的想法变得易于管理。我认为这个模型还没有真正建立起来,因为软件的血型类比是相当牵强的。然而,这种风格提供了一些对每个软件架构师来说都应该显而易见的非常重要的提示。
The core purpose of architecture design is to ascertain the allocation of application software segments to respective hardware platforms. T his necessitates the identification of the key software components under development, followed by their assignment to the div erse hardware elements upon which the system will reside. All software systems can be categorized into four fundamental rol es. The initial role pertains to data storage. The majority of information systems necessitate the storage and retrieval of data, be it a miniscule file, akin to a word processor's memo, or an extensive database housing an organization's financial records. The su bsequent function is the data access logic, encompassing the procedures necessary for data access, often executed through Structured Query Language database queries. The third function revolves around the application logic, which encapsulates the logic articulated in DFDs, use cases, and functional specifications. Lastly, the presentation logic oversees the display of information to the user a nd the reception of user commands. The three fundamental hardware constituents of a system encompass clients、servers and network.
系统架构的核心目的是架构设计,以确定应用软件的哪些部分将被分配给哪些硬件。这需要对正在开发的系统的主要软件组件进行识别,然后将它们分配给系统将在其上运行的各种硬件。所有软件系统都可以分为四个基本角色。第一个角色涉及数据存储。大多数信息系统都需要存储和检索数据,无论是小到如文字处理器产生的备忘录文件,还是大到如存储组织会计记录的大型数据库。接下来的功能是数据访问逻辑,包括访问数据所需的过程,这通常通过结构化查询语言(SQL)的数据库查询来执行。第三个功能围绕应用逻辑展开,它封装了在数据流图(DFD)、用例和功能需求中阐述的逻辑。最后,表示逻辑负责向用户显示信息并接收用户的命令。系统的三个基本硬件组成部分包括客户端、服务器和网络。
In the context of designing robust and adaptable software systems, one of the key principles is the separation of concerns bet ween the domain and infrastructure aspects of the system. According to the principles of Domain - Driven Design (DDD), the core domain logic, wh ich includes business rules, processes, and data manipulation, should be separated from the technical? functionalities, such as data persistence, user interface, and external services integration. This separation ensures that the core domain logic remains f ocused and free from the complexities of infrastructure concerns. By adhering to this principle, developers can achieve a syst em that is more loosely coupled?, allowing for easier maintenance, scalability, and adaptability to changing requirements. However, impl ementing this separation effectively requires a clear understanding of the domain and technical boundaries, as well as the abil ity to define these boundaries in a way that minimizes coupling and maximizes cohesion. Despite the challenges, this approac h has been proven in many successful software projects.
在设计稳健且适应性强的软件系统时,一个关键原则是系统领域和技术方面之间的分离。根据领域驱动设计(DDD)的原则,核心领域逻辑(包括业务规则、流程和数据操作)应与基础设施功能(如数据持久化、用户界面和外部服务集成)分离。这种分离确保了核心领域逻辑保持专注,不受基础设施复杂性的影响。通过遵循这一原则,开发人员可以实现一个更加模块化的系统,从而更容易维护、扩展,并适应需求的变化。然而,有效实施这种分离需要对领域和技术边界有清晰的理解,以及在减少耦合和最大化内聚的同时明确定义这些边界的技能。尽管存在挑战,这种方法已在许多成功的软件项目中得到了验证。
相关文章:
架构设计笔记-20-补充知识
知识产权 我国没有专门针对知识产权制定统一的法律(知识产权法),而是在民法通则规定的原则下,根据知识产权的不同类型制定了不同的单项法律及法规,如著作权法、商标法、专利法、计算机软件保护条例等,这些法律、法规共同构成了我…...

scrapy 爬虫学习之【中医药材】爬虫
本项目纯学习使用。 1 scrapy 代码 爬取逻辑非常简单,根据url来处理翻页,然后获取到详情页面的链接,再去爬取详情页面的内容即可,最终数据落地到excel中。 经测试,总计获取 11299条中医药材数据。 import pandas as…...
PDH稳频技术粗谈
PDH(Plesiochronous Digital Hierarchy)是一种传输技术,主要用于数字通信中的传输系统。PDH稳频技术是指在PDH传输系统中,通过稳定频率来实现传输系统的稳定性和可靠性。 PDH传输系统中,时钟同步是非常重要的。传输系…...

[LeetCode] 130. 被围绕的区域
题目描述: 给你一个 m x n 的矩阵 board ,由若干字符 X 和 O 组成,捕获 所有 被围绕的区域: 连接:一个单元格与水平或垂直方向上相邻的单元格连接。区域:连接所有 O 的单元格来形成一个区域。围绕&#x…...
C语言位运算
目录 1.C语言位运算符表 2.C语言移位运算符详解(配实例作业) 3.C语言&按位与运算符详解 4.C语言|按位或运算符详解 5.C语言^按位异或运算符详解 6.C语言~取反运算符详解 C语言位运算这一章主要介绍C语言位运算符表、C语言移位运算符、C语言&按…...
Go 语言中格式化动词
当然,我很乐意为你提供 Go 语言中所有的格式化动词的完整列表。Go 语言的格式化动词非常丰富,可以满足各种打印和格式化需求。以下是完整的列表: 通用: %v - 以默认格式打印值 %v - 类似 %v,但对结构体会添加字段名 %#…...

CSS3 动画相关属性实例大全(四)(font、height、left、letter-spacing、line-height 属性)
CSS3 动画相关属性实例大全(四) (font、height、left、letter-spacing、line-height 属性) 本文目录: 一、font 属性(所有字体属性) 1.1、font-size属性(指定字体的大小) 1.2、f…...

大模型涌现判定
什么是大模型? 大模型:是“规模足够大,训练足够充分,出现了涌现”的深度学习系统; 大模型技术的革命性:延申了人的器官的功能,带来了生产效率量级提升,展现了AGI的可行路径&#x…...
LeetCode 1456.定长子串中元音的最大数目
题目: 给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为(a, e, i, o, u)。 思路:定长滑动窗口 入 更新 出 代码: class Solution {pub…...
freeswitch-esl 三方设备实现监听功能
使用场景: A和B在通话中,C想监听A和B通话内容 方法一: 修改拨号计划<extension name="global" continue="true"><condition><action application="info"/>...

【LeetCode】123.买卖股票的最佳时间
清晰明了的思路是解决问题的至上法宝。如何把一个复杂的问题拆成简单的问题,就是我们需要考虑的。 1. 题目 2. 思想 这道题虽然是难题,但是思想比较简单。 题目要求说至多买卖两次,也就是说,也可以买卖一次,这种情况…...

elk部署安装
elk部署 前提准备1、elasticsearch2、kibana3、logstash 前提准备 1、提前装好docker docker-compose相关命令 2、替换docker仓库地址国内镜像源 cd /etc/docker vi daemon.json # 替换内容 {"registry-mirrors": [ "https://docker.1panel.dev", "ht…...

使用 JAX 进行 LLM 分布式监督微调
LLM distributed supervised fine-tuning with JAX — ROCm Blogs (amd.com) 24年1月25日,Douglas Jia 发布在AMD ROCm 博客上的文章。 在这篇文章中,我们回顾了使用 JAX 对基于双向编码器表示(BERT)的大型语言模型(LL…...

【简单版】通过 Window.performance 实现前端页面(性能)监控
1 背景 前端监控系统告警xx接口fetchError 问题:前端监控系统没有更多的错误信息,查询该fetch请求对应的接口日志返回200状态码、无请求异常记录,且后台能查到通过该fetch请求成功发送的数据。那是前端页面的错误还是前端监控系统的问题&…...

微信小程序考试系统(lw+演示+源码+运行)
摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序考试系统的开发全过程。通过分析微信小程序考试系统管理的不足,创建了一个计算机管理微信小程序考试系统的方案。文章介绍了微信小程序考…...

手机摄影入门
感觉会摄影的人是能够从生活中发现美的人。 我不太会拍照,觉得拍好的照片比较浪费时间,而且缺乏审美也缺乏技巧,所以拍照的时候总是拍不好。但有时候还是需要拍一些好看的照片的。 心态和审美可能需要比较长时间提升,但一些基础…...
微信小程序手机号授权获取(aes加密手机号)
<view class="container"> <view class=topTabSwiper> <view class=tab {{currentData == 0 ? "tabBorer" : ""}} data-current = "0" bindtap=checkCurrent>一键授权<span class="tab_bor"><…...

asyn queueRequest使用实例
使用queueRequest读写端口驱动的示例,驱动驱动程序使用一个基于asyn实现了asynCommon和asynOctet的驱动程序-CSDN博客中编写的驱动程序,本程序的C代码如下: #include <stdlib.h> #include <stdio.h> #include <string.h>#…...

关于jmeter设置为中文问题之后无法保存设置的若干问题
1、jemeter如何设置中文模式 Options--->Choose Language--->Chinese(Simplifies), 如此设置后就可显示中文模式(缺点:下次打开还是英文);如下图所示: 操作完成之后: 但是下次重启之后依旧是英文; 2、在jmeter.…...

基于FPGA的信号发生器verilog实现,可以输出方波,脉冲波,m序列以及正弦波,可调整输出信号频率
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 输出方波 输出脉冲波 输出m随机序列 输出正弦波 2.算法运行软件版本 vivado2019.2 3.部分核心程序 (完整…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...