JAVAWeb开发(基于分片的网络状态查询方法、装置及存储介质)

news2024/11/15 11:25:32

本文基于分片的网络状态查询方法、装置及存储介质已是申请的专利。本人为第一发明人,这里给出来是提供一种写专利的范本,仅供参考。

专利申请号:CN202110346967.5

正文部分:

技术领域

本申请涉及但不限于计算机网络数据传输一致性领域,尤其是涉及一种基于队列的高性能跨域事务处理方法、装置及存储介质。

背景技术

在计算机网络状态监控领域中,对计算机网络状态进行监控是等于软件高可靠运行的保证,但当前的网络状态查询技术面临着延时性、无效性和不稳定的问题,当前的网络状态的查询方法的查询效率较低。

发明内容

本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种基于分片的网络状态查询方法,能够解决网络状态查询效率低的问题。

根据本申请第一方面实施例的基于分片的网络状态查询方法,所述方法包括:获取待查询网络的拓扑类型和网络复杂度;根据所述拓扑类型和所述网络复杂度对所述待查询网络进行分片处理,得到至少一个网络片区,每一所述网络片区至少包括一个网络节点,所述网络节点包括父节点;对所述每一网络片区进行遍历,得到每一所述网络片区中每一所述网络节点的节点信息;根据每一所述节点信息获取每一所述网络片区的临时状态报告,所述网络片区的临时报告汇总于所述父节点;根据每一所述网络片区的临时状态报告得到所述待查询网络的状态信息报告。

根据本申请实施例的基于分片的网络状态查询方法,至少具有如下技术效果:基于分片的网络状态查询方法对待查询网络进行分片处理和异步遍历,将复杂网络划分成多个简单的网络片区,减少了网络状态查询过程的延迟,在分片中由子节点向父节点汇总网络节点信息,增强了网络节点状态查询的实时性,进而整体上提升了网络状态查询的效率。

根据本申请的一些实施例,所述根据所述拓扑类型和所述网络复杂度对所述待查询网络进行分片处理,得到至少一个网络片区,包括:根据所述拓扑类型和所述网络复杂度构建识别算法和分片算法;根据所述识别算法和所述分片算法对所述待查询网络进行分片处理。

根据本申请的一些实施例,所述网络节点还包括子节点,所述对所述每一网络片区进行遍历,得到每一所述网络片区中每一所述网络节点的节点信息,包括:获取预设频率;获取所述父节点的节点信息;根据所述预设频率获取所述网络片区中所述子节点的节点信息。

根据本申请的一些实施例,所述对所述每一网络片区进行遍历,得到每一所述网络片区中每一所述网络节点的节点信息,还包括:若所述子节点的节点信息发生变化,则发送变化后的所述节点信息给所述父节点。

根据本申请的一些实施例,所述网络节点还包括子节点,所述根据每一所述节点信息获取每一所述网络片区的临时状态报告,包括:根据所述子节点的节点信息、所述父节点的节点信息得到所述网络片区的临时状态报告;将所述网络片区的临时状态报告存储于所述父节点。

根据本申请的一些实施例,所述根据每一所述网络片区的临时状态报告得到所述待查询网络的状态信息报告,包括:发送所述临时状态报告给所述网络片区的相邻片区;将所有网络片区的临时状态报告进行汇总融合,得到所述待查询网络的状态信息报告。

根据本申请第二方面实施例的基于分片的网络状态查询装置,包括:拓扑类型和网络复杂度获取模块,用于获取待查询网络的拓扑类型和网络复杂度;分片处理模块,用于根据所述拓扑类型和所述网络复杂度对所述待查询网络进行分片处理,得到至少一个网络片区,每一所述网络片区至少包括一个网络节点,所述网络节点包括父节点;网络节点遍历模块,用于对所述每一网络片区进行遍历,得到每一所述网络片区中每一所述网络节点的节点信息;临时报告汇总模块,用于根据每一所述节点信息获取每一所述网络片区的临时状态报告,所述网络片区的临时报告汇总于所述父节点;状态信息报告生成模块,用于根据每一所述网络片区的临时状态报告得到所述待查询网络的状态信息报告。

根据本申请第三方面实施例的基于分片的网络状态查询装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:本申请上述第一方面实施例的基于分片的网络状态查询方法。

根据本申请第四方面实施例的存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行上述第一方面实施例的所述的基于分片的网络状态查询方法。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过申请的实践了解到。

附图说明

下面结合附图和实施例对本申请做进一步的说明,其中:

图1是本申请一个实施例提供的基于分片的网络状态查询方法的流程图;

图2是本申请另一个实施例提供的基于分片的网络状态查询方法的流程图;

图3是本申请另一个实施例提供的基于分片的网络状态查询方法的流程图;

图4是本申请另一个实施例提供的基于分片的网络状态查询方法的流程图;

图5是本申请另一个实施例提供的基于分片的网络状态查询方法的流程图;

图6是本申请另一个实施例提供的基于分片的网络状态查询方法的流程图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。

本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

在计算机软件研发和网络部署的过程中,必不可少地要对计算机网络状态进行监控,以及时更新网络状态、及时排查网络节点的状态,以保证软件的可靠性运行。

要实现对网络状态的实时监控,就必须要了解计算机的网络架构。计算机网络架构的复杂度不一,对于较为简单的网络架构,如主机台数在100台以内的总线型、星型、环形拓扑架构模式,其监控网络状态的方式并不复杂;但对于大规模(100台主机以上)、多层次、深嵌套的混合型网络拓扑架构,要完成对整个网络中网络节点的状态监控就比较困难。对于这种复杂的混合型网络拓扑结构,如果选用任意一种简单的方式进行遍历,无论使用优先广度遍历方法,还是优先深度遍历方法,都会存在延迟的问题,即获取到的网络拓扑数据必然存在后遍历的主机落后于先遍历的主机的问题。

由于当前网络状态查询方法存在的缺陷,导致了以下问题:

(1)延时性问题,随着网络拓扑的复杂度增高,延时性呈指数增加;(2)无效性问题,网络状态瞬息万变,若在获取网络节点状态的过程中耗时较大,则先经查询的主机网络状态可能已经变化,从而导致节点的状态信息的不准确,不能反映实时的网络情况;(3)不稳定问题,对于复杂度较高的网络拓扑,其查询算法较复杂,对计算资源的使用较高,等待时长较长,容易造成拥堵。

当前的网络查询技术主要有以下几种:

Dijkstra(迪科斯彻)算法的步骤包括:(1)每个节点用从源节点沿已知最佳路径到该节点的距离来标注,标注分为临时性标注和永久性标注;(2)初始时,所有节点都为临时性标注,标注为无穷大。将源节点标注为0,且为永久性标注,并令其为工作节点;(3)检查与工作节点相邻的临时性节点,若该节点到工作节点的距离与工作节点的标注之和小于该节点的标注,则用新计算得到的和重新标注该节点;(4)在整个图中查找具有最小值的临时性标注节点,将其变为永久性节点,并成为下一轮检查的工作节点;(5)重复(3)(4)步骤,直到目的节点成为工作节点,完成拓扑遍历。Dijkstra算法存在的问题为计算资源消耗大,延时性较高。

泛洪算法是一种将数据包发送到所有网络节点的简单方法,每个节点通过将其发送到所有其他链接之外来泛洪在传入链接上接收到的新数据包,它属于静态算法。泛洪算法存在的问题:重复的数据包较多,容易造成网络拥堵和网络瘫痪,节点需要跟踪已泛洪的数据包以阻止洪泛,即使在跳数上使用限制也会成倍爆炸。

链路状态路由算法的计算思想为:每个节点都在LSP(链路状态数据包)中泛洪有关其邻居的信息,所有节点都学习完整的网络图,每个节点都运行Dijkstra的算法来计算到达其他目的地的路径。其算法步骤包括:(1)发现邻居节点,并知道其网络地址,路由器启动后,通过发送HELLO数据包发现邻居节点;(2)测量到每个邻居节点的延迟或开销;(3)创建链路状态数据包;(4)将这个数据包发送给所有其他路由器。链路状态路由算法存在的问题有:序号回转可能产生混淆;路由器崩溃后,如果它再从零开始,则下一个数据包被作为重复数据包而丢弃。

综上所述,当前的网络状态查询方法都没有很好解决查询网络拓扑状态的实时性和稳定性的问题。

鉴于此,本申请提出了一种基于分片的网络状态查询方法,对待查询网络进行分片处理和异步遍历,将复杂网络划分成多个简单的网络片区,减少了网络状态查询过程的延迟,在分片中由子节点向父节点汇总网络节点信息,增强了网络节点状态查询的实时性,进而整体上提升了网络状态查询的效率。

根据本申请实施例的基于分片的网络状态查询方法,方法包括:获取待查询网络的拓扑类型和网络复杂度;根据拓扑类型和网络复杂度对待查询网络进行分片处理,得到至少一个网络片区,每一网络片区至少包括一个网络节点,网络节点包括父节点;对每一网络片区进行遍历,得到每一网络片区中每一网络节点的节点信息;根据每一节点信息获取每一网络片区的临时状态报告,网络片区的临时报告汇总于父节点;根据每一网络片区的临时状态报告得到待查询网络的状态信息报告。

如图1所示,在一些实施例中,基于分片的网络状态查询方法包括:

S110,获取待查询网络的拓扑类型和网络复杂度;

S120,根据拓扑类型和网络复杂度对待查询网络进行分片处理,得到至少一个网络片区;

S130,对每一网络片区进行遍历,得到每一网络片区中每一网络节点的节点信息;

S140,根据每一节点信息获取每一网络片区的临时状态报告;

S150,根据每一网络片区的临时状态报告得到待查询网络的状态信息报告。

在步骤S110至S120中,每一网络片区至少包括一个网络节点,网络节点包括父节点和子节点,将网络片区中的网络节点进行区分,便于后续对节点信息的汇总和临时状态报告的汇总,从而提高了网络状态的查询效率。

在步骤S130中,遍历包括异步遍历,即分别对每个片区进行查询,当某个片区或节点的查询受阻时,可将查询进入挂起状态,待受阻条件满足后继续查询,因此提高了网络状态的查询效率。

在步骤S140中,网络片区的临时报告由子节点汇总于父节点,便于后续对节点信息的汇总和临时状态报告的汇总,从而提高了网络状态的查询效率。

在步骤S150中,通过对每个网络片区的临时状态报告进行拼接,得到整个网络的状态信息报告。

基于分片的网络状态查询方法对待查询网络进行分片处理和异步遍历,将复杂网络划分成多个简单的网络片区,减少了网络状态查询过程的延迟,在分片中由子节点向父节点汇总网络节点信息,增强了网络节点状态查询的实时性,进而整体上提升了网络状态查询的效率。

根据本申请的一些实施例,根据拓扑类型和网络复杂度对待查询网络进行分片处理,得到至少一个网络片区,包括:根据拓扑类型和网络复杂度构建识别算法和分片算法;根据识别算法和分片算法对待查询网络进行分片处理。

如图2所示,在一些实施例中,基于分片的网络状态查询方法包括:

S210,根据拓扑类型和网络复杂度构建识别算法和分片算法;

S220,根据识别算法和分片算法对待查询网络进行分片处理。

在步骤S210中,拓扑类型包括但不限于总线型、星型、环形、树形、混合型;网络复杂度为根据网络节点数量等因素评估出的量化值;识别算法用于对网络拓扑类型进行识别;分片算法用于对网络进行分片处理;根据不同的拓扑类型和网络复杂度为待查询网络构建与之匹配的识别算法和分片算法,能够有针对性地制定与待查询网络相适应的算法,从而提高分片处理的效率。

在具体的实施例中,分片算法包括最优分片算法,最优分片算法的核心思想是找出一个深度最浅,广度最窄的最优分片结构,深度最浅是指在对待查询网络进行分片时,尽量使得查询网络的深度最小,以树型网络为例,即尽量使得网络的分级较小;同理,广度最窄指的是网络的分支尽量最少。深度最浅为同一级拓扑节点划分依据,广度最窄即为拥有公共的父连接点节点划分依据。

具体地,最优分片算法为:(1)自上而下获取拓扑连接关系,先寻找一级拓扑连接图,划分为一个网络片区;(2)对一级网络片区的网络节点进行查找操作,查找其是否有子节点连接关系,若有,则把所有子节点划成一个网络片区;(3)将有多个层次节点连接关系的同一级节点划为一个片区。

根据本申请的一些实施例,网络节点还包括子节点,对每一网络片区进行遍历,得到每一网络片区中每一网络节点的节点信息,包括:获取预设频率;获取父节点的节点信息;根据预设频率获取网络片区中子节点的节点信息。

根据本申请的一些实施例,对每一网络片区进行遍历,得到每一网络片区中每一网络节点的节点信息,还包括:若子节点的节点信息发生变化,则发送变化后的节点信息给父节点。

在具体的实施例中,在将待查询网络片区处理后,对每一网络片区进行遍历,遍历的方式为异步遍历,遍历过程主要包括两种方式,第一种方式为自上而下的方式,即顶层管理节点定时从顶层节点递归其所有子节点,分层分级获取网络节点的节点信息;第二种方式为自下而上的方式,即某一片区节点信息发生变化时,异步推送节点信息到各自己父节点(管理节点),各自的父节点再把节点信息推向其上层管理节点,最后状态数据汇总到顶层节点。

如图3所示,在一些实施例中,自上而下的遍历步骤包括:

S310,获取预设频率;

S320,获取父节点的节点信息;

S330,根据预设频率获取网络片区中子节点的节点信息。

在步骤S310中,预设频率为上层节点(父节点)获取下层节点(子节点)的节点信息的获取频率,如每秒10次等,为网络的查询设置频率能够保证网络状态查询的效率。

在步骤S320至步骤S330中,按照预设频率,针对一个具体的网路片区而言,先获取父节点自身的节点信息,再将子节点的节点信息汇总至父节点处,即得到本网络片区内所有节点的节点信息。

自上而下的异步遍历方式的异步体现在,多个网络片区可同时进行子节点的节点信息的上报,从而提升了网络状态查询的效率。

在具体的实施例中,在对网络拓扑节点进行分片的过程中,本申请的最优分片方法,使计算能够快速异步执行,互不干扰,每个网络片区计算消耗资源相当,减少后续的计算等待;除此之外,对网络拓扑状态进行查询和数据交互也应支持异步计算和无阻塞式的数据获取,这样才能实现无需等待过长时间就能获取到分片的计算结果,减少后续数据集拼接汇总的等待时延。

如图4所示,在一些实施例中,自下而上的步骤包括:

S410,获取子节点的节点信息;

S420,判断子节点的节点信息是否变化;若判断结果为是,则执行步骤S430;若判断结果为否,则执行步骤S410。

S430,发送变化后的节点信息给父节点。

在步骤S410至步骤S430中,当子节点的节点信息发生变化后,会及时将变化的信息上传,以更新网络节点状态,通过自下而上的节点信息上传,极大地提高了网络的实时性,使得网络状态报告能够准确地反映真实的网络状态。

根据本申请的一些实施例,网络节点还包括子节点,根据每一节点信息获取每一网络片区的临时状态报告,包括:根据子节点的节点信息、父节点的节点信息得到网络片区的临时状态报告;将网络片区的临时状态报告存储于父节点。

如图5所示,在一些实施例中,基于分片的网络状态查询方法包括:

S510,根据子节点的节点信息、父节点的节点信息得到网络片区的临时状态报告;

S520,将网络片区的临时状态报告存储于父节点。

在步骤S510中,首先找到每一个网络片区(又称拼图)的入口节点,将该网络片区的入口节点设置为父节点(又称为父管理节点或标志节点),将该网络片区的其他节点设置为子节点(又称子管理节点),而节点信息由子节点汇聚父节点,进而,将父节点和子节点的节点信息汇聚得到该网络片区的临时状态报告。

在步骤S520中,临时状态报告存储于父节点,便于父节点与其他网络片区的父节点交换各自的临时状态报告,从而将多个临时状态报告进行拼接,得到整个网络的网络状态。

根据本申请的一些实施例,根据每一网络片区的临时状态报告得到待查询网络的状态信息报告,包括:发送临时状态报告给网络片区的相邻片区;将所有网络片区的临时状态报告进行汇总融合,得到待查询网络的状态信息报告。

如图6所示,在一些实施例中,基于分片的网络状态查询方法包括:

S610,发送临时状态报告给网络片区的相邻片区;

S620,将所有网络片区的临时状态报告进行汇总融合,得到待查询网络的状态信息报告。

在步骤S610中,每一个网络片区的临时状态报告生成之后,各自的父节点立即向相邻的网络片区和汇总整个拓扑的管理节点发送临时状态报告。

在步骤S620中,整个拓扑的管理节点对所有临时状态报告进行一致性计算,得到整个待查询网络的状态信息报告,从而实现了对整个待查询网络的网络状态的查询。

其中,汇总整个拓扑的管理节点为网络查询时查找到的第一个拓扑总入口。

其中,一致性计算指的是:由于网络片区的原理,分区的依据有两个,一个是同一等级的节点划分为一个网络片区,一个是同一父节点的子节点划分为一个网络片区,则必然存在网络片区的交叉,即某个节点的信息被重复采集,因此在汇总时需要采用一致性算法对这类网络节点的节点信息进行一致性计算,以保证数据的一致性,具体地,一致性算法包括但不限于raft算法、hash算法等。

根据本申请实施例的基于分片的网络状态查询装置,包括:拓扑类型和网络复杂度获取模块,用于获取待查询网络的拓扑类型和网络复杂度;分片处理模块,用于根据拓扑类型和网络复杂度对待查询网络进行分片处理,得到至少一个网络片区,每一网络片区至少包括一个网络节点,网络节点包括父节点;网络节点遍历模块,用于对每一网络片区进行遍历,得到每一网络片区中每一网络节点的节点信息;临时报告汇总模块,用于根据每一节点信息获取每一网络片区的临时状态报告,网络片区的临时报告汇总于父节点;状态信息报告生成模块,用于根据每一网络片区的临时状态报告得到待查询网络的状态信息报告。

基于分片的网络状态查询装置实现了基于分片的网络状态查询方法,对待查询网络进行分片处理和异步遍历,将复杂网络划分成多个简单的网络片区,减少了网络状态查询过程的延迟,在分片中由子节点向父节点汇总网络节点信息,增强了网络节点状态查询的实时性,进而整体上提升了网络状态查询的效率。

根据本申请实施例的基于分片的网络状态查询装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现:本申请上述任一实施例的基于分片的网络状态查询方法。

基于分片的网络状态查询装置实现了基于分片的网络状态查询方法,对待查询网络进行分片处理和异步遍历,将复杂网络划分成多个简单的网络片区,减少了网络状态查询过程的延迟,在分片中由子节点向父节点汇总网络节点信息,增强了网络节点状态查询的实时性,进而整体上提升了网络状态查询的效率。

根据本申请实施例的存储介质,存储有计算机可执行指令,计算机可执行指令用于:执行上述任一实施例的基于分片的网络状态查询方法。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。此外,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

opencv--颜色物体追踪 图片的形态学处理函数

目录 一、主要函数介绍 1. cv2.erode() 2. cv2.dilate() 3. cv2.findContours() 4. cv2.circle() 5. cv2.line() 二、代码 这里首先确定是否安装imutils库,这个库能让调整大小或者翻转屏幕等基本任务更加容易实现。这一次主要应用的是对于图片的形态学处理函…

【Android春招】Android基础day1

一、填空题 1.Android是基于__ 的移动端开源操作系统。 Linux 2.Android系统是由__公司推出的。 谷歌 3.Android 11对应的API编号是__。 30 4.App除了在手机上运行,还能在电脑的__上运行。 模拟器(AVD&…

测试之概念篇【需求、测试用例、Bug描述、产品的生命周期、开发模型、测试模型】

文章目录1. 什么是需求2. 测试用例是什么3. Bug 是描述4. 产品的生命周期5. 软件测试贯穿于软件的整个生命,如何贯穿?6. 开发模型(瀑布模型、螺旋模型、增量模型和迭代模型、敏捷模型)7. 测试模型(V模型、W模型&#x…

【Java寒假打卡】Java基础-BigDecimal

【Java寒假打卡】Java基础-BigDecimal构造方法四则运算BigDecimal的特殊方法基本数据类型包装类自动装箱与自动拆箱Integer的类型转换将数字字符串进行拆分成整数数组构造方法 package com.hfut.edu.test1;import java.math.BigDecimal;public class test3 {public static void…

Crontab命令详解

crontab命令是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行。crontab命令可以精确到分(精确到秒的一般写脚本),相当于闹钟。 如果不使用crontab,那么任…

GD32F103-TIMER模块

定时器是一个功能强大的外设。 一般功能: 定时中断,计时器,给定一个时间,到达时间后产生一个中断定时器输出比较的功能,用于PWM波形的产生,驱动电机定时器输入捕获,测频率 核心关键参数&#…

基于Java+SpringBoot+vue+element实现新冠疫情物资管理系统详细设计

基于JavaSpringBootvueelement实现新冠疫情物资管理系统详细设计 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录基于…

文件IO----(open、close、read、write、lseek)

1.文件IO 介绍:(系统IO、系统调用) POSIX(可移植操作系统接口)定义的一组函数,不提供缓冲机制,每次读写操作都引起系统调用,核心概念是文件描述符,访问各种文件类型,Lin…

Keychron 键盘指南

文章目录QQ1Q2Q3Q4Q5KK1K2k3 && k3proK3 VS K7k6 && K6prok7K8k10K12K14CVV1V2V3V4V5V6SQ Q1 Q1 是一款革命性的全金属键盘,每个开关、键帽、稳定器、旋钮甚至面板都具有可定制的功能。它专为个性化体验和卓越的打字舒适度而设计。 双垫片设计…

Cadence PCB仿真使用Allegro PCB SI配置仿真库的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,配置方法3,总结1,概述 本文简单介绍使用Allegro PCB SI软件选择需要仿真的网络的方法。 2,配置方法 第1步:打开待仿真的PCB文件,并确认软件为Allegro PCB SI 如果,打开软件不是Allegro PCB SI则可这样…

模型微调,低预算,高期望!

作为迁移学习中的常用技术,Fine-tuning(微调)已经成为了深度学习革命的重要部分。微调不需要针对新任务从头开始学习,只需要加载预训练模型的参数,然后利用新任务的数据进行一步训练模型即可。也可以说微调是对开放域任…

一文简单了解并部署Zookeeper集群

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:蟹黄瓜子文章来源:GreatSQL社区投稿 1.Zookeeper概述 Zookeeper对于很多人开始可能都有所耳闻&am…

基于Java+SpringBoot+vue+element实现爱心捐赠平台系统

基于JavaSpringBootvueelement实现爱心捐赠平台系统 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

排他思想的运用

思路简述 需求:桌子上有一排灯,点哪个亮哪个,但是要求每次只能点亮一盏。如果不使用排他思想,操作过程如下: 第一次打开一盏灯,记为 A,记录下来。第二次打开灯之前,先去找记录&…

[cpp进阶]C++智能指针

文章目录为什么需要智能指针?智能指针的原理及使用智能指针的原理智能指针的使用C中的智能指针C智能指针的发展历程std::auto_ptrstd::auto_ptr的使用std::auto_ptr的模拟实现std::unique_ptrstd::unique_ptr的使用std::unique_ptr的模拟实现std::shared_ptrstd::shared_ptr的…

Springboot @InitBinder处理from-data表单传参,指定参数默认新增前缀

前言 有兄弟突然找到我,江湖救急,我以为是啥问题呢? 一看这位小兄弟也是半路出家, 没有对springboot的常用注解有过研究。 不过没大碍,还是那句话, 学习的事情,只有先知和后知 现在你看完这篇…

纳米软件分享:光伏逆变器ATE测试系统,逆变器测试解决方案

光伏并网逆变器(以下简称“逆变器”)是光伏发电系统的核心部件之一,其主要功能是将光伏阵列的直流逆变为符合电网接入要求的交流电并入电网。并网逆变器ATE测试平台,主要是模拟光伏阵列特性输入的直流电源、模拟电网电源、系统控制…

Java垃圾分类查询管理系统源码+数据库,基于SpringBoot+mybatis-plus,垃圾分类查询及预约上门回收

垃圾分类查询管理系统 完整代码下载地址:Java垃圾分类查询管理系统源码数据库 1.介绍 垃圾分类查询管理系统,对不懂的垃圾进行查询进行分类并可以预约上门回收垃圾。 让用户自己分类垃圾, 按国家标准自己分类, 然后在网上提交订…

java学习之main方法

目录 一、main方法的注意事项 二、在IDEA中传入参数 一、main方法的注意事项 形式:public static void main(String[] args){},main方法是一个静态方法,访问修饰符是:public,形参是String数组 args 注意事项&#xf…

go语言--函数

package mainimport "fmt"func main(){//功能: 10 20var num1 int 10var num2 int 20var sum int 0sum num1sum num2fmt.Println(sum) }为什么使用函数 提高代码的复用性,减少代码冗余, 代码维护性也提高了 函数的定义 为完成摸一个功能的程序指令(…