- 博客(151)
- 资源 (2)
- 收藏
- 关注
原创 【系统架构设计】数据库系统(三)
分布式数据库(Distributed DataBase ,DDB)是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。负责分布式数据库的建立、查询、更新、复制、管理和维护的软件,称为分布式数据库管理系统(Distributed DataBase Management System ,DDBMS),该系统保证分布式数据库中数据的物理分布对用户的透明性。
2024-07-19 14:12:13
1123
原创 【系统架构设计】数据库系统(二)
在多用户共享系统中,许多事务可能同时对同一数据进行操作,称为“并发操作",此时数据库管理系统DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,同时避免用户得到不正确的数据。的原则,将数据库设计过程分解为若干相互独立又相互依存的阶段,每一阶段采用不同的技术与工具,解决不同的问题,从而将问题局部化,减少了局部问题对整体设计的影响。分别对应的故障恢复,最常用的恢复方式是** 转储和登记日志文件**,可根据故障的不同类型,采用不同的恢复策略。封锁的粒度 是被封锁数据目标的大小。
2024-07-18 22:19:50
806
1
原创 【系统架构设计】数据库系统(一)
一般满足3NF的关系模型已能消除冗余和各种异常现象,但无论2NF和3NF 都没有涉及主属性间的函数依赖,所以有时仍会引起一些问题,由此引入BC范式,通常也认为是3NF的改进。其定义是:每个函数依赖关系中的决定因素都包含码,即主属性都有外键和主键。:元素不可再分,如以下例子。,但对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询速度。:如果一个关系R属于1NF,且所以的非主属性都完全依赖于主属性,则称为第二范式。:如果一个关系R属于2NF,且每个非主属性不传递依赖于主属性,则称为第三范式。
2024-07-16 22:39:17
784
原创 【系统架构设计】操作系统(三)
例如,对于用户编制的源程序,需经过对源程序的编译、连接编辑或连接装入及运行产生计算结果。这其中每一个步骤,常称为作业步,作业步的顺序执行即完成了一个作业。文件的物理结构涉及文件储存设备的组块策略和文件分配策略,决定文件信息在存储设备上的存储位置。而且,在批处理系统种,作业是占据内存的基本单元。ps: 用户接口还指操作环境,这个也是头回知道,个人理解为类似组态环境,用户通过程序块建立通讯和功能实现。,即文件内的信息划分成多个记录,以记录为单位组织和使用信息。从系统的角度,作业是一个比程序更广的概念。
2024-07-16 13:48:59
663
原创 【系统架构设计】操作系统(二)
段表中指出该段的页表存放位置和长度,页表中应指出该段的各页在磁盘上的位置以及页是否在内存中,如果在内存中则填上占用的内存块号。:进程执行时,其段表的首地址已在基本地址寄存器中,执行的指令访问虚存(s,d)时,首先根据段号s查段表,若段已经调入内存,则得到该段的内存起始地址,然后与段内相对地址(段内偏移量)相加得到实地址;页面调度: 当内存中无空闲块时,为了装入一个页面而必须按某种算法从已在内存的页中选择一页,将它暂时调出内存,让出内存空间以存放所需装入的页面。”)不考虑实际内存的大小和数据存取的实际地址,
2024-07-15 15:44:49
734
原创 【系统架构设计】计算机组成与体系结构(三)
当要读出数据时,不是给出其存储单元的地址,而是直接给出该数据或者该数据的一部分内容,CAM对所有存储单元中的数据同时进行比较,并标记符合条件的所有数据以供读取。如果以h 代表对Cache的访问命中率(1-h 称为失效率,或称为 未命中率),t1 表示Cache 的周期时间,t2 表示内存的周期时间,以读操作为例,使用”Cache +主存储器“的系统的平均周期是t3 ,则。如主存1区0页,由于在0组,所以只能进入Cache的0组中,至于进入Cache的0组0页还是0组1页,并无强制要求,可以任意放置。
2024-07-11 16:49:02
979
原创 【系统架构设计】计算机组成与体系结构(二)
存储器用来存放程序和数据的部件,是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。在计算机系统中,规模较大的存储器往往分成若干级,称为存储器系统。传统存储器系统一般分为高速缓冲存储器(Cache)、主存、辅存三级。主存:可由CPU直接访问,存取速度快,但容量小,一般用来存放当前正在执行的程序和数据。辅存:在主机外部,存储容量大,价格较低,但存取速度较慢,一般用来存放暂时不参与运行的程序和数据,CPU不可以直接访问辅存,辅存中的程序和数据在需要时才传送到主存,因此它是主存的补充和后援;
2024-07-09 20:34:22
1201
原创 【笔记】软件架构师要点记录(2)
隐式调用架构风格(典型示例:通过间接方式进行调用,如触发)的架构设计过程:首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数;在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。基于前10个架构案例场景,对用到的专业术语进行整理,方便后续查看。
2024-05-23 16:51:17
718
原创 【笔记】软件架构师要点记录(1)
每个迭代周期内的范围可以根据反馈和需求变化进行调整,以适应变化的情况。:在增量开发中,每个增量都有明确的范围和功能,并按照特定的功能顺序完成。可用性(availability):软件系统在投入使用时可操作和可访问的程度,或能实现其指定系统功能的概率。可靠性(reliability):在规格时间间隔内和规定条件下,系统或部件执行所要求功能的能力。功能内聚 > 顺序内聚 > 通信内聚 > 过程内聚> 瞬时内聚 > 逻辑内聚 > 偶然内聚。QA1:在客户端与服务器端通信时,如果网络故障,系统不能出现故障。
2024-05-17 10:48:08
732
原创 【算法】一类支持向量机OC-SVM(2)
在上则博文【算法】一类支持向量机OC-SVM(1)中,我们提及到了蜂群算法优化一类支持向量机超参数模型,采用的适应度函数是r方,用的python 自带的r2_score模块,后来想想,不太合适,效果不佳,索性简单粗暴,直接比较分类正确的数量,然后进行适应度判断。同时,增加散点图分布来提高查阅效果。基于以上情况,对编写过程进行一个记录,方便后续同样情况的适用。
2024-03-13 11:22:10
1224
原创 【算法】一类支持向量机OC-SVM(1)
由于之前毕设期间主要的工具就是支持向量机,从基础的回归和分类到后来的优化,在接触到支持向量机还有一类支持向量机的,对其产生了一定的兴趣,并对研究过程中的相关示例进行记录,主要是基础的一类支持向量机OC-SVM示例和蜂群算法优化一类支持向量机超参数示例,方便后续的查看。OC-SVM(One-Class Support Vector Machine)是一种支持向量机(Support Vector Machine,SVM)的变体,用于异常检测和异常检测问题。
2024-03-11 17:21:42
1761
原创 【NodeRed】一机多端口实例创建和无网部署
由于nodeJS 语言本身是单线程运行,而且通过测试发现,nodeRed 在单个端口的进程中,以多流程的形式进行创建,但是依据是有序运行的,由流程自左向右运行。因此,不得不考虑引入多端口跑多实例的情况。同时,由于在物联网现场,基于网络安全,一般都是内网环境或者无网,因此实现无网部署也是一个需要考虑的因素。基于以上2个因素,通过研究测试,对内容进行相关记录。
2024-03-05 13:44:54
1251
原创 【QT+JS】QT和JS 中的正则表达式 、QT跑JS语言
在看大佬的系统代码时候,对其中灵活用到的正则表达式和QT 跑JS 语言部分感觉很陌生,之前也不太常用,其中正则表达式虽然平时也有在用,但更多的是零零碎碎的,没有进行系统的整理。因此,花时间对这几个部分进行了专门的学习,写demo 进行了测试,并进行了测试,方便后续的翻阅。
2024-02-28 15:27:03
1187
原创 【NodeRed】常用节点记录(loop、PostgreSQL、子流程、日志)
在看了公司nodeRed 系统的设计,对涉及到的以下节点使用比较陌生,为了方便后续自己在编写过程中流畅性,对这些节点进行研究和示例编写消化,并在此进行记录,方便后续查阅。loop (测试使用)、PostgreSQL(测试几种sql、number of rows per message)、子流程(测试status)、日志(测试输出了什么)
2024-02-23 09:39:53
1440
原创 【Node-RED】安全登陆时,账号密码设置
Node-RED 在初始下载完成时,登录是无账号密码的。基于安全性考虑,本期博文介绍在安全登陆时,如何进行账号密码设置。当然,此处可以参考官方使用指南,里面有更为详细的介绍。而本博文只对用到的进行日志记录,方便后续回顾查看。
2024-02-18 14:50:28
1636
原创 【数据库】Unlogged 表使用
大神偶像在开会上提及了Unlogged 表,它的特点很不错,很适合实时数据保存,像之前类似这种数据,就目前接触到的项目,一般架构选型时候会用MongoDb存储实时数据,或者就单独的普通表。由于之前没有接触过这种类型的表,学习了一下,才发现原来表还有区分,分为普通表、临时表、Unlogged 表,在此对Unlogged 表使用进行一个记录。示例基于pg 数据库开始,数据库管理器用dbeaver,sql 指令中可以用指令输出运行时间。
2024-02-07 17:30:23
1668
原创 【数据库】索引的使用
在数据库设计过程中,常需要考虑性能,好的设计可以大大提高sql 语句的增删改查速度。在表的创建过程中,我们时常会用到主键,而主键又会自动构建索引。在数据库的学习过程中,大家都知道好的索引可以大大提高查询速度,那么到底什么是索引呢?好与坏能否形象点?其实在以前的博文中【SQL】基础知识整理,我们对这个索引概念是有介绍过的,但在实际使用过程中,除了主键自动创建的,也没有进行很好的应用。
2024-02-07 16:10:17
1371
原创 【QT】opcuaServer 的构建
在博文【opcua】从编译文件到客户端的收发、断连、节点查询等实现中,我们已经介绍了如何在QT 中创建opucaClient。在本期的博文中,我们基于之前的部署环境,介绍一下如何构建opcuaServer,所用的第三方库依旧是open62541。
2024-02-05 15:31:29
1065
原创 【Node-RED】node-red-contrib-opcua-server模块使用(4)
基于前几则博文的研究,经过偶像的点播,茅塞顿开。本期博文主要介绍如何实现openServer 信息的中转,获取各个plc的节点信息?在之前的介绍中,实现这个需求,我一直考虑的是,从客户端读写服务端信息出发,然后再服务端返回时,肯定会有一个返回信息的处理过程,只要在这个位置加入信息中转,就能实现需求。但是由于现有的一直无法实现,所以还萌生了修改底层代码的念头,这个在博文【Opcua】 客户端读写时,Opcua Server信息返回处追溯(1)中有所介绍。
2024-02-01 15:45:41
1095
原创 【Node-RED】node-red-contrib-opcua-server模块使用(3)
在前面博文【Node-RED】node-red-contrib-opcua-server模块使用(1)我们有提及过:二次开发注重使用node-red-contrib-opcua-server,当然还有其余的模块node-red-contrib-iiot-opcua、node-red-contrib-lativ,简单看了介绍,也是涉及opcua的。在博文【Node-RED】node-red-contrib-opcua-server模块使用(2)
2024-01-31 16:37:55
860
原创 【Opcua】 客户端读写时,Opcua Server信息返回处追溯(1)
基于前文【Node-RED】node-red-contrib-opcua-server模块使用(2)介绍,我们已经了解到NodeRed现有提供的组件已经无法满足服务端信息的再处理,同时根据前期的研究,Opcua Server提供的库中也不存在信号的回调。因此,目前想到的解决方案,是从修改底层代码出发,只要找到了客户端读写时,Opcua Server的信息返回处,那问题其实就简单了。在追溯开始前,我们已经在博文【opcua】从编译文件到客户端的收发、断连、节点查询等实现。
2024-01-31 14:39:51
1038
原创 【Node-RED】node-red-contrib-opcua-server模块使用(2)
上期博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们主要介绍了,模块安装过程中遇到的相关问题。本期博文,我们介绍node-red-contrib-opcua-server模块的使用,并以官方示例中流程为例展开介绍,主要涉及地址空间的配置和加密设置。博文所提示例已经上传资源中,期间设置的所有相关设置都保留在流程中,可以下载使用。示例主要由变量产生和opcuaServe配置两部分组成。});});});},
2024-01-29 20:59:31
840
原创 【Node-RED】node-red-contrib-opcua-server模块使用(1)
在Node-RED中,如果要进行opcuaServe 二次开发,使用模块中的组件,是不行的,它已经被封装,而且帮助文档中提供的指令,只有部分有效。基于以上的情况,我们采用模块。这里看了flowfuse涉及opcua的所有博文,以及现有的模块,有opcda的,但是不符合opcua需求,虽然opuca是opcda的升级版。因此opcuaServe二次开发注重使用,当然还有其余的模块,简单看了介绍,也是涉及opcua的,当时考虑是如果。
2024-01-25 19:07:38
1129
原创 【JavaScript】三元运算要点整理
三元运算,又称为三目运算符,可根据不同的条件来执行不同的操作,相当于简单的if else 语句。需要注意的是,在编写过程中,不能出现等关键词,否则。本博文以3个示例对三元运算使用进行介绍,demo代码已经上传,可直接下载使用。
2024-01-16 09:56:40
816
原创 【JavaScript】多种实现文件下载的工具类
示例以下载txt文件为例,代码已封装上传,可直接下载资源在服务器中使用。如有异常,可查看“异常处理”小节或评论区指出。
2024-01-15 20:32:18
1128
原创 【异常】 AJAX 跨域请求报:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource
本地环境下,直接打开html文件,用AJAX 方法`jQuery load() `加载**txt文件**时,报错如下:
2024-01-15 17:22:53
526
原创 【PostgreSQL】在DBeaver中实现序列、函数、视图、触发器设计、数据结构新增(持续更新于20240426)
当主键数据类型不是整型时,使用序列自增主要采用该种方法。首先,用SQL语句创建MINVALUE 1START 1CACHE 1NO CYCLE;为方便起见,也可在DBeaver数据库的序列中右键新建序列,在完成序列命名后,完成序列的创建。其次,根据需要将主键字段设置成所需数据类型,并与创建的序列绑定,设置默认值。
2024-01-08 18:17:48
3559
原创 【opcua】从编译文件到客户端的收发、断连、节点查询等实现
在进行opcua前,需要先下载opcua库,由于最终需要用于qt,因此有2个选择:用qt 自带的opcua 库,以及open62541库,博主是把2种都下载尝试了,考虑到封装的便捷性,最终采用open62541库。
2023-12-27 15:35:47
1042
原创 【pm2】pm2自启动Node-RED设置失败,报:Invalid or unexpected token
在对node-red进行自启动设置过程中,传统的。并不起作用,进程状态依旧是stopped,通过。pm2 list 打印所以进程。pm2 kill 杀死所有进程。pm2 logs 打印日志。,这样就可以解决问题。ps:pm2常用指令。
2023-12-05 14:18:34
856
2
原创 【Node-RED】用http request实现收发
这点很重要,也是写这篇博客的原因。由于是组态环境,初始认为这些参数应该都是在模块配置里面的,结果并没有找到,尝试了很久,才发现原来是需要我们自己定义注入的(当然这边不涉及function函数模块的使用,着重关注http reponse 模块实现http收发)。本博客重点介绍http response 的使用,当然实现http ,也可以用http in +http request 的组合,方法类似。,讲得很全,还包括了基本的面板介绍,以及windows /linux 下的相关配置。
2023-12-04 17:27:23
1209
原创 【算法】第二代遗传算法NSGA-II优化SVR超参数模型
NSGA-II(Non-dominated Sorting Genetic Algorithm II)是一种多目标优化算法,用于解决具有多个冲突目标的优化问题。它通过模拟进化过程中的自然选择和遗传操作,逐步改进种群中的解,以找到一组尽可能好的解,这些解在多个目标下都是非支配的(Pareto优解)。# 定义自变量的类self.x = x# 计算目标函数的值c = self.x#rmse。
2023-11-08 21:20:31
1282
原创 【wheel】超详细的wheel轮子下载和.whl文件安装
主要介绍wheel轮子的安装,以及.whl文件的安装,其中.whl文件以statsmodels为例。
2023-11-05 23:17:33
12060
5
原创 【DBeaver】建立连接报驱动问题can‘t load driver class ‘org.postgresql.Driver
在DBeaver中建立postgresql、sqlite连接,测试连接时,报。中下载sqlite最新版本的驱动,然后添加到DBeaver中,方法如上节所示。postgresql、sqlite数据库驱动与DBeaver版本不匹配。
2023-10-27 10:40:27
3441
原创 【matlab】使用OODACE实现三输入单输出的预测
OODACE是一种软件工程方法论,它代表面向对象设计、分析、编程和评估(Object-Oriented Design, Analysis, Programming, and Evaluation)。其目标是在软件开发过程中提供一种结构化的方法,帮助开发人员更好地理解和应用面向对象的概念。分析阶段旨在识别系统的需求和功能,并将其转化为对象模型。设计阶段涉及确定如何组织和设计这些对象以实现系统的期望功能。编程阶段涉及将设计转化为可执行的代码,并进行测试和调试。
2023-07-01 23:01:09
457
原创 【python】K近邻算法(k-Nearest Neighbors,KNN)解决分类问题
分类算法是一类机器学习算法,用于将不同的数据实例分到预定义的类别或标签中。以下是一些常见的分类算法:逻辑回归(Logistic Regression):通过对线性函数应用sigmoid函数,将数据映射到一个概率值,然后根据阈值对数据进行二分类。决策树(Decision Tree):构建一棵树状结构来表示特征之间的关系,并根据特征的取值分割数据,最终将数据分到不同的类别中。支持向量机(Support Vector Machine,SVM):寻找一个超平面来确保不同类别的数据之间的最大间隔。
2023-07-01 15:15:11
2154
原创 【python】Bayesian Optimization(贝叶斯优化)优化svm回归问题
贝叶斯优化(Bayesian Optimization)是一种用于黑盒函数优化的序列模型优化方法。它在较少的函数评估次数下,尝试寻找全局最优解。贝叶斯优化使用高斯过程(Gaussian Process)作为先验模型来建模未知的目标函数。通过对目标函数进行一系列评估和建模迭代,贝叶斯优化能够根据当前模型的置信度,选择下一个最有希望改善性能的输入点进行评估。
2023-06-30 21:18:26
6232
2
Node-REDnode-red-contrib-opcua-server模块使用(4)
2024-02-01
Node-REDnode-red-contrib-opcua-server模块使用(2)
2024-01-29
【Android studio】service在app直接退出下,整体输出情况,实现开机自启动,一直后台运行
2024-01-26
遗传算法GA优化支持向量机回归算法SVM
2022-08-22
粒子群优化算法PSO优化支持向量机回归算法SVM
2022-08-22
布谷鸟算法CS优化支持向量机回归算法SVM
2022-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人