当前位置: 首页 > news >正文

计算机网络入侵检测技术研究

摘 要

随着网络技术的发展,全球信息化的步伐越来越快,网络信息系统己成为一个单位、一个部门、一个行业,甚至成为一个关乎国家国计民生的基础设施,团此,网络安全就成为国防安全的重要组成部分,入侵检测技术是一种重要的动态防护技术,继防火墙、数据加密等传统网络安全措施之后的又一道安全闸门,网络入侵检测系统,可以从海量的网络数据中发现正常的通讯和异常的入侵行为,不仅可以减少人工分析和解码带来的繁重工作,而且可以提高入侵检测系统的适应性。基于此,本文对计算机网络入侵检测技术进行详细的论述。

关键词:计算机, 网络入侵, 检测技术

目 录

一、引言 1
二、入侵检测技术概述 2
(一)入侵检测简介 2
(二)入侵检测系统的架构 2
(三)入侵检测分类及技术分析 3
三、入侵检测系统的局限性 6
(一)入侵技术在不断发展 6
(二)入侵活动可以具有很大的时间跨度和空间跨度 6
(三)非线性的特征还没有有效的识别模型 6
四、入侵检测技术的发展方向 7
(一)分布式入侵检测 7
(二)智能化入侵检测 7
(三)全面的安全防御方案 7
(四)应用层入侵检测技术 7
(五)互操作性亟待提高 8
五、入侵检测系统在银行中的应用 9
(一)银行网络安全分析 9
(二)系统设计思想 10
(三)银行入侵检测系统结构 10
(四)银行入侵检测系统功能 13
六、结论 14
致谢 15
参考文献 16

一、引言

进入二十一世纪以来,信息和网络技术持续高速发展,互联网规模的不断扩大,网络的影响渗透到社会生活的各个的角落。黑客们受政治、经济或者军事利益的驱动,对计算机和网络基础设施,特别是各种官方机构的网站,展开了越演越烈,无孔不入的入侵攻击。与此同时,后果重大且影响恶劣的网络事件。比如前两年的熊猫烧香一每年都有发生,这一切给人们的工作和生活带来诸多不便甚至是重大且无可挽回的损失。近年来电子商务与其它网络经济行为的繁荣,更加激化了入侵事件的增长.如何应对这一趋势是人们无法回避的严峻考验[1]。通过高效的入侵检测,可以及时得识别出网络流量中的入侵行为,在此基础上,或触发自动响应步骤,或提醒系统管理员采取措施及时应对,从而有效得阻断恶意行为,避免遭受进一步损失。所以,入侵检测技术在当今社会具备非常重要的意义。

二、入侵检测技术概述

(一)入侵检测简介
入侵检测作为一种主动地安全防护技术,提供了对内部攻击、外部攻击和用户误操作的实时保护,在网络或系统受到危害之前拦截和响应入侵。因此入侵检测被认为是防火墙之后的第二道安全闸门,能够在不影响网络性能的情况下对网络或系统进行监测。入侵检测的实现一般通过执行以下任务:监视并分析用户及系统活动;系统构造和弱点的审计:识别已知进攻的活动模式并向相关人士及时报警;异常行为模式的统计分析;评估重要系统和重要数据文件的完整性;操作系统的审计及跟踪管理。入侵检测是防火墙的合理补充,帮助操作系统应对网络攻击,增强操作系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。
(二)入侵检测系统的架构
一般而言,入侵检测系统的分类有两种标准。一种是按系统所处理的数据的来源来分,另外一种按照检测非法事件的方法来分。根据所处理的数据来源的不同,可以将入侵检测系统分为基于主机的((HIDS)与基于网络的((NiDS)。如图2-1所示,NIDS通过监控网络流量来检测入侵行为。一般来说它是通过抓取并分析流经网络上某些关键设备(路由器,交换机等)处于混杂模式的网卡上的包来监控网络行为。
在这里插入图片描述

图2-1 NIDS示意图
而如图2-2所示,HIDS驻存于主机上,只负责保证该台主机的安全,它监控的数据包括着经过该台主机处于非混杂模式的网卡的所有数据包和本机的系统日志,系统调用等本机信息,这里要强调的是HIDS监控的网络数据包都是针对它所驻存主机的。
这两种IDS各有长处。相对来说,由于获得的数据非常丰富详细,HIDS有相对很高的检测率和很低的误报率,但毕竟HIDS只监控一台计算机的行为,而完全无视网络中其他计算机的存在,因而存在对威胁反应迟钝的问题,当它在本机上发现入侵迹象时,攻击者针对目标网络的意图往往已经部分实现。此外,高水平的攻击者可以通过诸如修改本机的日志文件等手段来逃避检测。所以HIDS一般来说是作为网络纵深防御体系的最后一段防线[3]。而NIDS则是防火墙之后的第二道安全防线。由于NIDS只监控网络数据包,可供其分析的数据远不如HIDS获得的数据丰富,所以NIDS对整个网络系统的监控在某种意义上是粗粒度的,其检测率相对较低,而误报率相对较高。但NIDS对入侵的整体状态敏感,能够在入侵发生的早期做出及时反应,一般作为防火墙之后的第二道安全防线。
在这里插入图片描述

图2-2 HIDS位置示意图
(三)入侵检测分类及技术分析
根据检测的方法可将入侵检测分为两大类型:误用入侵检测和异常入侵检测。误用入侵检测又称为特征检测或滥用检测,其是根据已知攻击的知识建立攻击特征库,通过用户或系统行为与特征库中各种攻击模式的比较确定是否有入侵发生。该检测系统的优点是误报少,准确率高;局限是它对未知的攻击无能为力,对具体的系统依赖性太强。异常检测是假定所有入侵检测行为都是与正常行为不同的。对“正常”行为特征轮廓的确定、更新和特征量的选取是异常检测技术的关键。异常检测技术的局限在于:并非所有的入侵都表现为异常,而且系统的轨迹难于计算和更新。
1.误用入侵检测
基于误用的检测技术大致有专家系统、模式匹配与协议分析,基于模型、键盘监控、模型推理、状态转换分析、Petri网状态转换等方法。下面就专家系统、状态转换分析进行分析论述。
(1)基于专家系统的误用检浏方法。现有多数采用基于规则的专家系统来检测系统中的入侵行为,即将入侵行为编码成专家系统的规则,每个规则具有“IF条件THEN动作”的形式,其中条件为在某一入侵发生的条件、动作表示规则被触发时入侵检测系统所采取的处理动作。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性,这种方法的缺陷是规则库的全面性问题以及专家知识的获取和规则的动态更新间题;专家系统运行时需要分析所有的审计数据,这存在效率问题;另外如何在大型系统上获得实时连续的审计数据也是个问题。
(2)基于状态转换分析的误用检刻方法。状态转换分析是将攻击表示成一系列被监控的系统状态转
移,攻击模式状态对于与系统状态同时有状态转移的条件判断,事件类型无需与审计记录一一对应。但攻击模式只是说明事件序列,因此不适合描述更复杂的事件,没有通用方法来剪除部分攻击匹配,所以不善于分析过分复杂的事件,而且不能检测与系统状态无关的入侵。
2.异常入侵检测
基于数据挖掘、神经网络、支持向量机的异常入侵检测是近几年的研究热点。
(1)基于数据挖掘的异常入俊检测。通过从审计记录中提取隐含的、潜在的有用知识,主要是利用数据挖掘中的聚类分析、序列模式分析、分类分析等方法提取与入侵活动相关的系统特征属性,并根据系统特征属性生成入侵事件的分类模型,用于入侵事件的自动识别。基于数据挖掘的方法适用于处理大量数据的情况,但其实现需要大量的审计数据作为基础,系统学习过程较慢,难以做到实时入侵检测。另外数据挖掘是建立在大样本的基础上的,而对于入侵检测来说,得到足够的样本是非常困难和昂贵的
(2)基于神经网络的异常入侵检测。神经网络由大量的处理单元组成,单元间通过带有权值的连接来进行交互。来自审计日志或正常网络访问行为的信息,经数据信息预处理模块的处理后作为输人向量,使用神经网络对输人向量进行处理,从中提取用户正常行为的模式特征,并以此创建用户的行为特征轮廓。这要求系统事先对大量实例进行训练,具有每一个用户行为模式特征的知识,从而可以找出偏离这些轮廓的用户行为,否则就会使系统性能变差阁。神经网络的缺点是:训练时间长,依赖于训练数据集,建模代价高,而且对判断为异常的事件不能提供解释或说明。通过训练各个功能专一、结构简单的小神经网络,联合构建功能强大的神经网络也是目前解决此问题的办法。当有新的数据加人时,只需对小型网进行调整,无需对整个神经网络进行重新学习。
(3)基于支持向童机的异常入侵检测。目前为止应用于入侵检测的SVM有二分类SVM,N分类SVM,针对无标签数据分类以及大量训练样本的SVM。基于支持向量机的异常入侵检测分为两步:(1)训练:在某种SVM训练算法下利用样本数据进行分类器训练,结束时可得到SVM决策函数。(2)检测:先将待检测数据转换成SVM接受的输入向量格式,然后利用训练阶段得到的决策函数对输入的向量进行分类,得到的结果即为检测结论。SVM应用于入侵检测取得了良好的效果,但SVM的性能在很大程度上依赖于核函数的选择,目前没有很好的方法来指导核函数选择;SVM的训练速度受数据集规模的影响极大;现有SVM理论仅讨论具有固定惩罚系数的情况,而实际上正负样本的两种误判往往造成损失是不同的。

三、入侵检测系统的局限性

(一)入侵技术在不断发展
入侵检测技术以网络攻击技术研究为依托,通过跟踪入侵技术的发展增强入侵检测能力。在因特网上有大量的黑客站点。发布大量系统漏洞资料和探讨攻击方法。更为令人担优的是有组织的活动,国外己将信息战手段同核生化武器等列在一起,作为战略威慑加以讨论。破坏者所具备的能力,对我们是很大的未知数,入侵技术的发展给入侵检测造成了很大的困难,预先了解所有可能的入侵方法是困难的,因此一个有效的入侵检测系统不仅需要识别已知的入侵摸式,还要有能力对付未知的入侵模式。
(二)入侵活动可以具有很大的时间跨度和空间跨度
有预谋的入侵活动往往有较周密的策划、试探性和技术性准备。一个入侵活动的各个步骤有可能在一段相对长的时间跨度和相当大的空间跨度之七分别地完成。给预警带来困难。一个检测模型总会有一个有限的时间窗口,从而忽略滑出时间窗口的某些事实。同时,检测模型对子在较大空间范围中发生的的异常现象的综合、联想能力也是有限的。
(三)非线性的特征还没有有效的识别模型
入侵检测技术的难度不仅仅在于入侵模式的提取,更在于入侵模式的检测策略和算法。因为入侵模式是一个静态的事物.而现实的入侵活动则是灵活多变的。从技术上说,入侵技术已经发展到一定阶段,而入侵检测技术在理论上、模型上和实践上还都没有真正发展起来。在市场上能看得到的入侵检测系统也都处在同一水平。面对复杂的网络入侵活动,网络入侵检测技术的研究不仅仅包括入侵技术的研究,更要重视建立入侵检测策略和摸型的理论研究。

四、入侵检测技术的发展方向

在入侵检测技术发展的同时,入侵技术也在日新月异。高速网络,尤其是交换技术的发展以及通过加密信道的数据通信,使得通过共享网段侦听的网络数据采集方法显得不足,而大量的通信量对数据分析也提出了新的要求.近年对入侵检测技术有几个主要发展方向:
(一)分布式入侵检测
分布式入侵检测包含两层含义:一是针对分布式网络攻击的检测方法;二是使用分布式的方法来检测入侵攻击,其关键技术为检测信息的协同处理与入侵攻击全局信息的提取,传统的IDS一般局限于单一的主机或网络架构,对异构系统及大规模网络的监测明显不足,同时不同的IDS系统之间不能协同工作能力.为解决这一问题,需要分布式入侵检测技术与通用入侵检测技术架构。
(二)智能化入侵检测
智能化入侵检测,即使用智能化的方法与手段来进行入侵检测。利用专家系统的思想来构建入侵检测系统也是常用的方法之一,特别是具有自学能力及自适应能力的专家系统,它实现了知识库的不断更新与扩展,使设计的入侵检测系统的防范能力不断增强,具有更广泛的应用前景。入侵方法越来越多样化与综合化,尽管已经有智能体、神经网络与遗传算法在入侵检测技术领域应用研究,但是这只是一些尝试性的研究工作,需要对智能化的IDS加以进一步的研究以解决其自学习与自适应能力。
(三)全面的安全防御方案
全面的安全防御方案,使用安全工程风险管理的思想与方法来处理网络安全问题,将网络安全作为一个整体工程来处理,从管理、网络结构、加密通道、防火墙、病毒防护和入侵检测等多方位对所关注的网络作全面的评估,然后提出可行的全面解决方案.
(四)应用层入侵检测技术
许多入侵的语义只有在应用层才能理解,而目前的IDS仅能检测如Web之类的通用协议,而不能处理如Lotus-Notes、数据库系统等其他的应用系统.许多基于客户、服务器结构与中间件技术及对象技术的大型应用,需要应用层的入侵检测技术保护。
(五)互操作性亟待提高
目前,IDS的研究基本上还处于各自为政的山大王纷争时代.不同的IDS之间及与其他安全产品之间的互操作性很差。为了推动IDS产品及部件之间的互操作性,DARPA和IETF入侵检测工作组分别制订了CIDF和IDMEF标准,从体系结构、API、通信机制、语言格式等方面规范IDS.

五、入侵检测系统在银行中的应用

(一)银行网络安全分析
1.银行网络安全风险
银行网络上的系统一般包括综合业务系统、清算系统、企业内部网系统等,DDN, X.25,帧中继、PSTN相互连接在一起,除了部分业务系统是通过加密传输之外,儿乎没有其他安全措施,就目前的网络结构而言,银行网络系统存在的安全风险有以下儿种:
(1)缺乏安全认证手段
银行各系统的登录及远程操作目前的安全手段是用户的帐号与密码,缺乏有效的安全认证手段,一旦密码被盗用,就可以轻而易举地进入银行的业务系统。
(2)银行外联网络缺乏安全防护
目前各银行中间业务及各种代理业务发展迅速,与外单位联网大都是和内部网络共用同一设备,内外网络之间缺乏清晰的界限和隔离手段,这是非常大的安全隐患。
(3)缺乏安全审计及监控机制
对于银行内部员工的违规操作和恶意侵入没有有效的监控机制。实际上在系统入侵事件中,最大的一部分往往来自于系统内部。
(4)银行业务系统间缺乏有效的访问控制措施
银行的各业务系统虽然在逻辑上相互隔离,但一般是共用一个物理网络,没有有效隔离,存在安全隐患。
(5)银行业务系统面临Internet黑客攻击
很多银行已经开始或即将开始为客户提供网上信息服务和网上银行业务服务,电了商务的发展要求银行提供网上支付服务,这样大量的黑客会蜂拥而入!企图通过Internet对系统进行攻击。
2.银行的网络安全现状
目前银行计算机系统的系统级和应用级所采用的安全防范措施,主要包括以下方面:
(1)在数据库中数据存储的安全性上,银行的业务系统核心数据记录都采用了对关键字段加密形成保护字段,来保证数据记录修改的合法性和防止数据的非法篡改;
(2)访问权限控制:对数据库的访问,前后台应用系统和操作系统针对不同级别的用户设置不同级别的权限;对计算机后台主机各种口令的保管、移交和修改等制度;
(3)在通讯安全方面,通过支节点向中心节点向中心节点签到的方式来确认通讯对等方的身份,由中心节点分发密钥,并在交易报文的传输过程中设置消息认证字段来保证数据在传输过程中的安全,保证数据不至于在数据交换和传输过程中被非法篡改;对所有本地的交易采用密码校验;通过程序设计来屏蔽非法请求,此外在系统与外部连接都用防火墙和拒绝服务技术,禁止外部系统通过网络系统提供的服务访问到核心系统;
(4)在应用系统运行过程中,采用签到的方式对操作员的身份进行识别,并根据操作员的权限表对操作员进行权限控制。但应用系统建设中普遍存在设计不规范,没有安全设计、缺少平台支持的问题;
(二)系统设计思想
入侵检测系统作为防火墙的合理补充。在银行网络安全防御系统应用中提供了主动保护网络的作用,它能够白动探测网络流量中可能涉及潜在入侵、攻击和滥用的模式.入侵检测同时在很大程度上降低了管理和确保网络安全所需要的培训级别和时问,通过这些功能,入侵检测解决了网络总体安全性与策略兼容的大部分难题。从理论上说,入侵检测系统可以分为基于网络的入侵检测和基于主机的入侵检测。基于网络的入侵检测安装于网络信息集中通过的地方,如中心交换机、集线器等上面,对所有通过的网络数据进行收集、分析,并对攻击行为做出响应。基于主机的入侵检测安装于受保护的主机上,收集信息,对主机攻击行为做出响应。但是目前主要的商业系统大多是混合使用多种技术,不能简单地把它们分类为基于网络或基于主机,或基于误用还是基于异常,而且很多系统也不只是具有入侵检侧和响应功能,还具有很强的网络管理和网络通信统计的功能。
(三)银行入侵检测系统结构
如图5.1所示的入侵检测系统。在每个网段和重要服务器上都安装了入侵检测系统,以保护整个银行系统的安全。为了弥补常规入侵检测系统在对抗特定类型的攻击时所存在的不足,同时在银行网络安全防御系统中配置了基于网络安全日志的入侵检测系统,在保障本单位网络不受外来攻击的情况下,更避免我们的机器成为攻击者的傀儡主机。
在这里插入图片描述

图5.1 银行入侵检测系统拓扑结构
如上所示的入侵检测系统的工作包括信息收集、信息分析和响应三部分:
1.信息收集
入侵检测系统的第一步工作是信息收集,内容包括系统、网络、数据及用户活动的状态和行为。而且,需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息。信息的来源一般来白四个方面:系统和网络日志文件;目录和文件中的不期望的改变;程序执行中的不期望行为,物理形式的入侵信息。
2.信息分析
对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。模式匹配就是将收集到的信息与已知的网络入侵和系统滥用模式数据库进行比较,从而发现违背安全策略的行为。模式数据库可以不断的升级,将最新的入侵模式加入到系统,使系统能对最新的入侵做出响应。统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法等等。完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊木马感染的应用程序方面特别有效。
3.响应
入侵检测系统一旦发现有符合已知的攻击行为模式或可疑的攻击行为,就做出响应。主要的响应方式有:记录日志;发出报警声;发送电了邮件通知管理员;切断连接等安全控制入侵检测系统就是执行误用检测或异常检测的系统。银行入侵检测系统要能通过实时的检测,检查特定的攻击模式、系统配置、系统漏洞、存在缺陷的程序版本以及系统或用户的行为模式,监控与安全有关的活动。它主要有探测器、分析器、管理器等儿个部分,各部分间的关系如图5.2所示:
在这里插入图片描述

图5.2 银行入侵检测系统结构
数据源为入侵检测系统提供最初的数据来源,入侵检测系统利用这些数据来检测入侵。数据来源包括网络包、审计日志、系统日志和应用程序日志等,其中网络数据包是首要需检测数据。探侧器从数据源提取出与安全相关的数据和活动,如不希望的网络连接或系统日志中用户的越权访问等,将这些数据传送给分析器做进一步分析。分析器的职责是对探测器传来的数据进行分析,如果发现未授权或不期望的活动,就产生警报并报告管理器。管理器是入侵检测系统的管理部件,其主要功能有配置探测器、分析器;通知操作员发生了入侵;采取应对措施等。管理器接收到分析器的替报后,便通知操作员并向其报告情况,通知的方式有声音、E-mail, SNMP Trap等。同时管理器还可以主动地采取应对措施,如结束进程、切断连接、改变文件和网络的访问权等。操作员利用管理器来管理入侵检测系统,并根据管理器的报告采取进一步的措施.管理员是网络和信息系统的管理者,负责根据具体情况制定安全策略和部署入侵检测系统。安全策略是预先定义好的一些规则,这些规则规定了银行网络中哪些活动可以允许发生或者外部的哪些主机可以访问内部的网络等。安全策略通过应用到探测器、分析器和管理器上来发挥作用。
(四)银行入侵检测系统功能
该入侵检测系统的主要功能有:监控、分析用户和系统的活动;核查系统配置和漏洞;评估关键系统和数据文件的完整性;识别攻击的活动模式并向网络管理人员报警;对异常活动的统计分析;操作系统审计跟踪管理,识别违反政策的用户活动;评估重要系统和数据文件的完整性。该入侵检测系统采用分布式的体系结构,系统分为两层:传感器和管理器。传感器包括网络传感器、服务传感器和系统传感器三类,其中网络传感器主要是对网络数据的分析检测,服务传感器主要是对服务器中进出的网络数据、系统日志和重要系统文件的检测,系统传感器主要是对系统日志和系统文件信息的检测。管理器则包括控制台、事件收集器、事件数据库和告警数据库四个部分。此系统比较适合银行这种大型网络使用,所以将它应用在实际工作中。

六、结论

入侵检测技术一直是计算机网络安全领域热点与难点。随着接入Internet的计算机的数目不断增加,网络的影响已经并将继续深入政治、经济、军事、民生等人类社会的各个角落。而受经济利益或者政治动机的趋势,针对网络的黑客行为对社会的负面影响越来越大,动则导致数目巨大的经济损失,甚至造成人心的动荡不安。如何及时准确的检测出海量网络流量中隐藏的少数异常流量,将网络威胁控制在初始阶段从而化解于无形,是入侵检测技术要达成的目标。由于网络本身的复杂性,攻击的手段多样性与不断进化,使用单一的入侵检测技术很难达到准确高效的识别出异常行为的目的。本文在分析了入侵检测技术的原理、系统架构、以及入侵检测不可避免的基本问题。总结了国内外研究成果,并对其优缺点进行了简要阐述。

致谢

本课题研究是在老师的悉心指导下完成的。从论文的选题到论点的确立、论据的选取,老师均给予了认真详细地指导,老师渊博的知识,认真踏实的工作态度,特别是以及平易近人的高贵品德勇于创新的治学风范让我受益匪浅。在此,谨向老师致以最诚挚的谢意。

参考文献

[1]黄慧.针对黑客攻击网络的预防措施[[J].网络安全技术与应用,2006.
[2]宋劲松.网络入侵检测:分析、发现和报告攻击[M].北京:国防工业出版社,,2005.
[3]唐正军,网络入侵检测系统的设计与实现,北京,电子工业出版社,2002
[4]闰巧,基于免疫机理的入侵检测系统研究,西安电子科技大学博士学位论文,2003,TP393.08
[5]马丹,基于生物免疫学的入侵监测及在计算机安全中的应用,南京理工大学硕士学位论文2003 TP393.08
[6] 俞晓雯,高强,赵振兵. 一种基于CORBA的分布式入侵检测系统设计构想[J]. 电力系统通信. 2005(01)
[7] 王兴旺,曹美明. 一种基于免疫的入侵检测系统框架[J]. 企业技术开发. 2010(19)
[8] 邹莹,李陶深. 基于资源的分布式入侵检测系统模型研究[J]. 广西科学院学报. 2004(04)
[9] 夏煜,郎荣玲,戴冠中. 入侵检测系统的智能检测技术研究综述[J]. 计算机工程与应用. 2001(24)
[10] 王鸿鹏. 入侵检测技术概述[J]. 信息安全与通信保密. 2002(03)

相关文章:

计算机网络入侵检测技术研究

摘 要 随着网络技术的发展,全球信息化的步伐越来越快,网络信息系统己成为一个单位、一个部门、一个行业,甚至成为一个关乎国家国计民生的基础设施,团此,网络安全就成为国防安全的重要组成部分,入侵检测技术…...

深入学习锁--Synchronized各种使用方法

一、什么是synchronized 在Java当中synchronized通常是用来标记一个方法或者代码块。在Java当中被synchronized标记的代码或者方法在同一个时刻只能够有一个线程执行被synchronized修饰的方法或者代码块。因此被synchronized修饰的方法或者代码块不会出现数据竞争的情况&#x…...

pycharm中绘制一个3D曲线

import numpy as np import matplotlib.pyplot as plt # 中文的设置 import matplotlib as mp1 from mpl_toolkits.mplot3d import Axes3D mp1.rcParams["font.sans-serif"] ["kaiti"] mp1.rcParams["axes.unicode_minus"] False # 数据创建 X…...

人工智能_AI服务器安装清华开源_CHATGLM大语言模型_GLM-6B安装部署_人工智能工作笔记0092

看到的这个开源的大模型,很牛,~关键让我们自己也可以部署体验一把了,虽然不知道具体内部怎么构造的但是,也可以自己使用也挺好. 可以部署在自己的机器上也可以部署在云服务器上. 安装以后,是可以使用python代码进行提问,然后返回结果的,这样就可以实现我们自己的chat应用了, …...

用户反馈组件实现(Vue3+ElementPlus)含图片拖拽上传

用户反馈组件实现&#xff08;Vue3ElementPlus&#xff09;含图片拖拽上传 1. 页面效果1.1 正常展示1.2 鼠标悬浮1.3 表单 2. 代码部分1.2 html、ts1.2 less部分 3. 编码过程遇到的问题 1. 页面效果 1.1 正常展示 1.2 鼠标悬浮 1.3 表单 2. 代码部分 1.2 html、ts <templ…...

K8S部署nginx并且使用NFS存储数据

安装NFS 在master安装NFS systemctl start nfs-server修改配置 /etc/exports /data *(rw,no_root_squash,no_all_squash,sync)目录为 /data 允许所有地址访问 验证下 [rootmaster nginx]# showmount -e 192.168.57.61 Export list for 192.168.57.61: /data *共享可以正常…...

Homework 3: Higher-Order Functions, Self Reference, Recursion, Tree Recursion

Q1: Compose 编写一个高阶函数composer&#xff0c;它返回两个函数func和func_adder。 func是一个单参数函数&#xff0c;它应用到目前为止已经组合的所有函数。这些函数将首先应用最新的函数&#xff08;参见doctests和示例&#xff09;。 func_adder用于向我们的组合添加更多…...

(C++)有效三角形的个数--双指针法

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://le…...

11.30BST理解,AVL树操作,定义;快速幂,二分求矩阵幂(未完)

完全二叉树结点的度可能有1&#xff0c;满二叉树的度只能为0或2 BST构建 BST是左孩子都比根节点小&#xff0c;右孩子都比根节点大 二叉搜索树的插入&#xff0c;删除&#xff0c;调整 平衡树理解 任何一个平衡二叉树&#xff0c;它的中序遍历都是一样的&#xff0c;都是有…...

深入理解Java核心技术:Java工程师的实用干货笔记

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在Java工程师的职业生涯中&#xff0c;深入理解…...

大学里面转专业介绍

目录 个人情况转专业过程中的经验分享转专业后的学习建议和心态调整转专业后的时间平衡 个人情况 信息科学与工程学院计算机科学与技术专业2019级本科生&#xff0c;曾从物理与微电子科学学院后转入信息科学与技术学院。学习成绩连续三年专业前10% 项目&#xff1a;爬虫项目、…...

MySQL_1. mysql数据库介绍

shell脚本差不多快完结了接下来会为大家更新MySQL系列的相关的基础知识笔记&#xff0c;希望对大家有所帮助&#xff0c;好废话不多说&#xff0c;接下来开始正题&#xff01; 1.mysql数据库介绍 mysql 是一款安全、跨平台、高效的&#xff0c;并与 PHP、Java 等主流编程语言…...

TimeGPT:时间序列预测模型实例

时间序列预测领域正在经历一个非常激动人心的时期。在过去的三年里&#xff0c;我们见证了许多重要的贡献&#xff0c;如N-BEATS、N-HiTS、PatchTST和TimesNet等。同时&#xff0c;大型语言模型&#xff08;LLM&#xff09;近来在流行度方面取得了很大的成功&#xff0c;例如Ch…...

【JavaEE】多线程 (1)

目录 1. 认识线程&#xff08;Thread&#xff09; 1) 线程是什么 2) 为啥要有线程 3) 进程和线程的区别 2.第⼀个多线程程序 3.多线程的其他创建方式 方法二:实现 Runnable 接⼝ 方法三:匿名内部类 方法四:实现Runable, 重写run, 匿名内部类 方法五:使用lambda表达式…...

linux 应用层同步与互斥机制之条件变量

2、条件变量 互斥量防止多个线程同时访问同一共享变量。&#xff08;我们称为互斥&#xff09; 有一种情况&#xff0c;多个线程协同工作。一个线程的消费需要等待另一个线程的产出。必须线程B完成了应有的任务&#xff0c;满足了某一个条件&#xff0c;线程A才能继续执行。&…...

3.5毫米音频连接器接线方式

3.5毫米音频连接器接线方式 耳机插头麦克风插头 绘制电路图注意事项 3.5毫米音频连接器分为单声道开关型和无开关型如下图&#xff1a; sleeve&#xff08;套筒&#xff09; tip&#xff08;尖端&#xff09; ring&#xff08;环&#xff09; 耳机插头 麦克风插头 绘制电路图…...

智慧农田可视化大数据综合管理平台方案,EasyCVR助力农业高质量发展

一、背景需求 我国是农业大国&#xff0c;农业耕地面积达到20亿亩。随着物联网、大数据、人工智能等新一代信息技术与农业农村加速融合&#xff0c;以及国家对农业的重视&#xff0c;智慧农业对于我国农业现代化建设和实施乡村振兴战略具有重大引领与推动作用。在传统农田生产…...

python超详细基础文件操作【建议收藏】

文章目录 前言1 文件操作1.1 文件打开与关闭1.1.1 打开文件1.1.2 关闭文件 1.2 访问模式及说明 2 文件读写2.1 写数据&#xff08;write&#xff09;2.2 读数据&#xff08;read&#xff09;2.3 读数据&#xff08;readlines&#xff09;2.3 读数据&#xff08;readline&#x…...

华为变革进展指数TPM的五​个级别:试点级、推行级、功能级、集成级和世界级

华为变革进展指数TPM的五​个级别&#xff1a;试点级、推行级、功能级、集成级和世界级 TPM&#xff08;Transformation Progress Metrics&#xff0c;变革进展指标&#xff09;用来衡量管理体系在华为的推行程度和推行效果&#xff0c;并找出推行方面的不足与问题&#xff0c;…...

vue el-select多选封装及使用

使用了Element UI库中的el-select和el-option组件来构建多选下拉框。同时&#xff0c;也包含了一个el-input组件用于过滤搜索选择项&#xff0c;以及el-checkbox-group和el-checkbox组件用于显示多选项。 创建组件index.vue (src/common-ui/selectMultiple/index.vue) <tem…...

大模型上下文学习(ICL)训练和推理两个阶段31篇论文

大模型都火了这么久了&#xff0c;想必大家对LLM的上下文学习&#xff08;In-Context Learning&#xff09;能力都不陌生吧&#xff1f; 以防有的同学不太了解&#xff0c;今天我就来简单讲讲。 上下文学习&#xff08;ICL&#xff09;是一种依赖于大型语言模型的学习任务方式…...

WordPress(安装比子主题文件)zibll-7.5.1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、新建网站二、配置ssl三.配置伪静态四.上传文件五.添加本地访问前言 提示:这里可以添加本文要记录的大概内容: 首先,我们要先理解什么是授权原理。 原理就是我们大家运营网站,点击授权…...

蓝桥杯 动态规划

01 数字三角形 #include<bits/stdc.h> using namespace std; const int N105; using lllong long; ll a[N][N],dp[N][N]; int main(){int n;cin>>n;for(int i1;i<n;i){for(int j1;j<i;j){cin>>a[i][j];}}for(int i5;i>1;i--){for(int j1;j<i;j){…...

【图论】重庆大学图论与应用课程期末复习资料2-各章考点(计算部分)(私人复习资料)

图论各章考点 二、树1、避圈法&#xff08;克鲁斯克尔算法&#xff09;2、破圈法3、Prim算法 四、路径算法1、Dijkstra算法2、Floyd算法 五、匹配1、匈牙利算法&#xff08;最大权理想匹配&#xff08;最小权权值取反&#xff09;&#xff09; 六、行遍性问题1、Fleury算法&…...

整数和浮点数在内存中的存储​(大小端详解)

目录 一、整数在内存中的存储 二、大小端字节序和字节序判断 2.1为什么有大小端?​ 2.2请简述大端字节序和小端字节序的概念&#xff0c;设计一个小程序来判断当前机器的字节序。&#xff08;10分&#xff09;-百度笔试题 方法一&#xff08;char*强制类型转换&#xff09…...

SpringBoot 集成 ChatGPT,实战附源码

1 前言 在本文中&#xff0c;我们将探索在 Spring Boot 应用程序中调用 OpenAI ChatGPT API 的过程。我们的目标是开发一个 Spring Boot 应用程序&#xff0c;能够利用 OpenAI ChatGPT API 生成对给定提示的响应。 您可能熟悉 ChatGPT 中的术语“提示”。在 ChatGPT 或类似语…...

数据结构——希尔排序(详解)

呀哈喽&#xff0c;我是结衣 不知不觉&#xff0c;我们的数据结构之路已经来到了&#xff0c;排序这个新的领域&#xff0c;虽然你会说我们还学过冒泡排序。但是冒泡排序的性能不高&#xff0c;今天我们要学习的希尔排序可就比冒泡快的多了。 希尔排序 希尔排序的前身是插入排…...

C++ day53 最长公共子序列 不相交的线 最大子序和

题目1&#xff1a;1143 最长公共子序列 题目链接&#xff1a;最长公共子序列 对题目的理解 返回两个字符串的最长公共子序列的长度&#xff0c;如果不存在公共子序列&#xff0c;返回0&#xff0c;注意返回的是最长公共子序列&#xff0c;与前一天的最后一道题不同的是子序…...

ubuntu中删除镜像和容器、ubuntu20.04配置静态ip

1 删除镜像 # 短id sudo docker rmi 镜像id # 完整id sudo docker rmi 镜像id# 镜像名【REPOSITORY:TAG】 sudo docker rmi redis:latest2 删除容器 # 删除某个具体容器 sudo docker rm 容器id# 删除Exited状态/未运行的容器&#xff0c;三种命令均可 sudo docker rm docker …...

华为手环 8 五款免费表盘已上线,请注意查收

华为手环 8&#xff0c;作为一款集时尚与实用于一体的智能手环&#xff0c;不仅具备强大的功能&#xff0c;还经常更新的表盘样式&#xff0c;让用户掌控时间与健康的同时&#xff0c;也能展现自己的时尚品味。这不&#xff0c;12 月官方免费表盘又上新了&#xff0c;推出了五款…...

怎么做淘宝客导购网站/渠道推广策略

最近的工程需要搞一下并行&#xff0c;打算用一下cuda。开这个系列希望能够把这个过程中学到的有关并行的知识以及一些问题。 这一次主要介绍下如何在cuda并行中使用vector&#xff0c;包括空间分配与使用。 vector其实是可以被看做一个动态数组的&#xff0c;其存储的分配也…...

海南州公司网站建设/色盲测试卡

默认的&#xff0c;httpd和php结合方式分为两大类&#xff0c;DSO和FCGI。* DSO方式&#xff0c;php作为httpd的模块* FCGI方式&#xff0c;使用php-fpm单独管理php进程池[PHP-FPM][1]简单可靠的 FastCGI 进程管理器(FastCGI Process Manager)&#xff0c;从 [PHP 5.3.3][2] 开…...

贵阳建设厅网站/杭州seo网站哪家好

概述 之前做了k8s CSI相关组件的源码分析《 kubernetes ceph-csi分析 目录导航》&#xff0c;接下来一段时间&#xff0c;将对k8s的核心组件kube-controller-manager中的一些关键controller做源码分析。 导航链接 1.《 k8s garbage collector源码分析&#xff08;1&#xff…...

设计师网址导航 优设/福州短视频seo服务

1.直接使用定义好的颜色 \usepackage{color} \textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text} 其中textcolor{...}中包含的是系统定义好的颜色 2.组合red、green和blue的值合成我们想要的颜色 \usepackage{color} \textcolor[rgb]{r,g,b}{text} 其中{r,g,b}…...

wordpress 房产插件/百度投广告怎么收费

第二章 2.1 class文件的生成 java文件为源代码文件 class为程序. class文件实时修改. eclipse自动生成. project下面clean.2.2 jar文件 如何将有用的类传给别人使用. 1.把*.java文件发给对方. 2.把*.class打包发给对方.导出为jar文件. 右键export Java JAR file 2.3使用jar文…...

java和web前端哪个好找工作/深圳网站营销seo费用

元素设置disabled属性后便无法向后台传值转载于:https://www.cnblogs.com/lxcmyf/p/5904160.html...