CN117290076A - 一种易扩缩容的多并发任务派发的设备管理方法及系统 - Google Patents
一种易扩缩容的多并发任务派发的设备管理方法及系统 Download PDFInfo
- Publication number
- CN117290076A CN117290076A CN202311578614.3A CN202311578614A CN117290076A CN 117290076 A CN117290076 A CN 117290076A CN 202311578614 A CN202311578614 A CN 202311578614A CN 117290076 A CN117290076 A CN 117290076A
- Authority
- CN
- China
- Prior art keywords
- component
- unit
- machine
- management
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims description 122
- 238000012795 verification Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 16
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000035772 mutation Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008602 contraction Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及设备管理技术领域,公开了一种易扩缩容的多并发任务派发的设备管理方法及系统,包括:生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;Manage组件获得机台注册源的机台数据,创建本地缓存;当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量;获取设备任务,根据设备信息处理设备任务和数据。保证系统可靠性和高可用性。提高设备的管理成本和效率。提供完善的权限校验和安全校验。
Description
技术领域
本发明涉及设备管理技术领域,具体为一种易扩缩容的多并发任务派发的设备管理方法及系统。
背景技术
单体架构的设备管理系统存在一些显著的技术缺点,其中之一是无法提供足够弹性的扩缩容机制来管理设备。这意味着系统在面对设备规模的扩大或缩小时,无法自动调整资源以适应变化的需求。这种限制可能导致系统在设备数量激增或急剧减少时,无法高效地分配和利用资源,从而造成资源浪费或性能瓶颈。
此外,该单体架构系统还存在缺乏系统可靠性保障机制的问题。这意味着系统在面对硬件故障、网络中断或其他不可预见的情况时,无法提供有效的容错和恢复机制。这可能导致系统的不可用性和数据丢失,对设备管理的稳定性和可靠性造成严重影响。
发明内容
鉴于上述存在的问题,提出了本发明。
因此,本发明解决的技术问题是:现有的设备管理方法存在无法提供有效的容错和恢复机制;以及如何实现系统的水平扩展,提高系统的并发处理能力的优化问题。
为解决上述技术问题,本发明提供如下技术方案:一种易扩缩容的多并发任务派发的设备管理方法,包括:
生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;
Manage组件获得机台注册源的机台数据,创建本地缓存;
当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量;
获取设备任务,通过组件控制机台任务。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:所述机台数据包括,被控制的机台的数量信息,利用哈希映射的数据结构进程存储;
同步创建第二个本地缓存;利用哈希映射的数据结构存储,保存Unit组件的长链接数据;
所述长链接是保证Unit组件与Manage组件的通信是在线的,而建立的不会关闭的通道。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:所述Local组件为机台的本地组件,Local组件使用公钥对数据进行加密,Local组件向Manage组件发送连接请求;
Manage组件收到Local连接请求,并进行安全性校验,Manage组件使用私钥解密;若校验成功,Manage组件保持Local组件的长链接,同时返回Local组件数据;
当机台运行总数变化时,则更新Unit组件启动数量。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:所述返回Local组件数据包括,返回机台运行总数;
机台运行总数 = 多个机台数据源相加的结果;
设定每个Unit组件设置的可运行机台数量n;
通过Manage组件获取机台运行总数N;
Manage组件计算Unit组件实际启动的数量需求:
;
其中,是向上取整,表示不小于括号内数值的最小整数;
当正在运行的Unit组件数量y小于YUnit时,则启动YUnit-y数量的Unit组件;当正在运行的Unit组件数量y大于等于YUnit时,则关闭y-YUnit数量的Unit组件。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:所述Unit组件实际启动的数量还包括,对Unit组件的数量需求进行预测,并根据预测结果调整Unit组件数量;
所述预测包括,获取每个机台的任务清单,将任务清单中的每个时间段需要运行的机台数量进行统计,通过Manage组件计算Unit组件启动的数量需求并将统计结果汇总为时间与Unit组件启动的数量需求的折线;
在折线中若Unit组件启动的数量需求的极差超过阈值J时,则对折线的突变点进行分割,形成多个折线,使折线中不存在突变点;
其中,J=j/N;j表示极差大小,N表示能够开启的最多的Unit组件数量;
所述突变点包括,若折线中的Unit组件启动的数量需求的瞬时变化量达到阈值J,则将折线中的此变化发生的时间作为突变点;若每次变化都没达到阈值J但累计达到阈值,在折线上设置一个起点s,初始化为折线的开始,对于每一个时间点t,计算从起点s到时间点t的极差:
Rt=max(Ns,Ns+1,...,Nt)−min(Ns,Ns+1,...,Nt)
当Rt超过阈值J,则将时间点t标记为突变点,并将起点s更新为t,直到折线结束;
若检测到的突变点数量超过限制数量T,则取消所有的突变点;
对于分割后的每一段折线,计算稳定开启的Unit组件的数量的长链接:
;
其中,i表示分割后折线的横坐标时间;I表示分割后的折线横坐标的最大值;Qi表示第i个时间点的机台数量需求;td是每个时刻的时间占比,表示折线记录的最小单位时间与折线总时间的比值;
将每段折线按照时间进行排序,以每段折线的U作为每段折线持续开启Unit组件的基础数量,若在折线中的需求大于U,则继续开启Unit组件直到达到需求;若折线中的需求大于U,则保持开启Unit组件达到U的长链接数量;当每段折线的任务完成后,转入下一段折线,并更新持续开启Unit组件的基础数量U。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:启动所述Unit组件包括,Unit组件连接Manage组件, Unit组件上传可允许机台数量,Manage组件管理Unit组件生命周期、记录Unit组件可运行机台数量、管理Unit组件负载,下发机台基本信息至指定的Unit组件,Unit组件开启设备通信;
启动4个异步程序,机台启动程序异步、机台关闭程序异步、开启机台待启动队列异步、开启机台待关闭队列异步;
机台开启序列:
Unit接收新机台信息,发布机台待启动队列;
机台接收程序订阅机台待启动队列,启动具体机台;
机台关闭序列:
Unit接收关闭指定机台信息,发布机台待关闭队列;
机台关闭程序订阅机台待关闭队列,关闭机台通信连接、关闭机台异步任务,关闭机台。
作为本发明所述的易扩缩容的多并发任务派发的设备管理方法的一种优选方案,其中:获得具体机台数据包括,获取Manage组件派发机台数据;
进行机台设备通信开启,同步开启设备控制队列、设备报警管理、设备程式上传下载管理、设备运行时管理;
所述Local组件的多节点扩展能力包括,
Local组件计算 CPU核心数和内存大小,计算单节点设备承载总数,上报至Manage组件;
Manage组件记录每个Local节点设备承载总数,返回每个节点的Unit组件启动数量;
Unit组件启动,通过Manage组件的交互,获得机台下放权限;
所述Manage组件包括,双节点主从架构:
主从节点通信建立,确定主从分配;
当主节点宕机,从节点获得管理权。
另一方面,一种易扩缩容的多并发任务派发的设备管理系统,其特征在于:
信息获取模块,生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;Manage组件获得机台注册源的机台数据,创建本地缓存;
管理模块,当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量;
控制模块,获取设备任务,根据设备信息处理设备任务和数据。
一种计算机设备,包括:存储器和处理器;所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现本发明中任一项所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现本发明中任一项所述的方法的步骤。
本发明的有益效果:本发明提供的易扩缩容的多并发任务派发的设备管理方法将设备管理系统拆分为多个独立的模块或服务,每个模块或服务负责处理特定的功能或任务。通过分布式架构,可以实现系统的水平扩展,提高系统的并发处理能力。通过监控系统的负载情况,自动调整系统的资源分配,根据实际需求动态增加或减少系统的处理能力。这可以确保系统在高负载时能够自动扩展以应对压力,而在低负载时能够释放资源以节省成本。采用冗余设计和容错机制,确保系统的高可用性和容灾能力。例如,通过数据备份和分布式存储,可以防止数据丢失;通过故障转移和负载均衡,可以避免单点故障。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明第一个实施例提供的一种易扩缩容的多并发任务派发的设备管理方法的整体流程图;
图2为本发明第二个实施例提供的一种易扩缩容的多并发任务派发的设备管理方法中三个组件的加密的各组件的密钥存储位置图;
图3为本发明第二个实施例提供的一种易扩缩容的多并发任务派发的设备管理方法的各组件和机台设备的控制结构图;
图4为本发明第二个实施例提供的一种易扩缩容的多并发任务派发的设备管理方法服务器资源占用率图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
实施例1
参照图1,为本发明的一个实施例,提供了一种易扩缩容的多并发任务派发的设备管理方法,包括:
S1:生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件。
进一步的,一个公开的公钥和一个私有的私钥。公钥用于加密数据,而私钥用于解密数据。这种方法确保了只有知道私钥的实体才能解密由公钥加密的数据。使用强加密算法(如RSA、ECC等)生成密钥对。确保私钥在生成后立即安全存储,并且不会被外部访问。
还要说的是,Manage组件是整个系统的核心,负责管理和协调其他组件。由于它需要解密从Local组件和Unit组件发送的数据,因此需要私钥。私钥的传输和存储必须是安全的。它不应该在网络上明文传输,也不应该在没有安全措施的地方存储。在Manage组件中,私钥应该存储在一个安全的环境中,例如硬件安全模块(HSM)或使用加密的文件系统。
Local组件和Unit组件需要加密数据发送到Manage组件。为了确保只有Manage组件可以解密这些数据,它们需要使用Manage组件的公钥进行加密。公钥可以公开,但仍然需要确保它在传输过程中不被篡改。可以考虑使用数字签名或证书来验证公钥的完整性和真实性。当Local组件和Unit组件收到公钥后,它们应该存储在一个可靠的地方,并在使用前验证其完整性。
S2:Manage组件获得机台注册源的机台数据,创建本地缓存.
获得多个机台注册源的机台数据,创建本地缓存,保存机台信息数据,采用哈希映射的数据结构进程存储。这样可以保证数据的增删改查的时间复杂度为O(1)。同步创建第二个本地缓存,同样采用哈希映射的数据结构存储,保存Unit组件的长链接数据。其中,第二个本地缓存的作用为:快速查询,程序启动建立,退出时销毁,不占用资源。
进一步的,长链接数据是保证Unit组件与Manage组件的通信是在线的。长链接为不会关闭的通道。
S3:当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量。
Local组件向Manage组件发送连接请求,Manage组件收到Local连接请求,安全性校验(Local组件使用公钥对数据进行加密,Manage组件使用私钥解密),校验成功,Manage组件保持Local组件的长链接,同时返回Local组件数据(机台运行总数)。如果机台运行总数变化,也会更新Unit组件启动数量。
要说的是,所述返回Local组件数据包括,返回机台运行总数;机台运行总数 = 多个机台数据源相加的结果;设定每个Unit组件设置的可运行机台数量n;通过Manage组件获取机台运行总数N;Manage组件计算Unit组件实际启动的数量需求:
;
其中,是向上取整,表示不小于括号内数值的最小整数;当正在运行的Unit组件数量y小于YUnit时,则启动YUnit-y数量的Unit组件;当正在运行的Unit组件数量y大于等于YUnit时,则关闭y-YUnit数量的Unit组件。
要说的是,机台数据源注册到Manage管理组件,同步更新机台计数器; Local组件注册到Manage管理组件,同步更新Local组件队列;Local根据启动时自定义的机台数量和Manage获得的总机台数量计算。
机台总数量 / Unit单个可允许机台数量 = Unit实际启动数量
举例说明:
Local组件启动时,设置Unit组件设置的可运行机台数量为5
当前时间为10:00,Manage获得机台运行总数为200个,那么200 / 5 = 40 相当于Manage组件告诉Local组件,你需要启动40个Unit组件。
过半小时,Manage自维护的机台运行总数为190个,那么190/5=38,之前已经启动了40个Unit组件,那么相当于Manage组件告诉Local组件,需要关闭两个Unit组件。
而传统方法,需要关闭系统,配置机台信息,再启动系统。
还要知道的是,对Unit组件的数量需求进行预测,并根据预测结果调整Unit组件数量。
所述预测包括,获取每个机台的任务清单,将任务清单中的每个时间段需要运行的机台数量进行统计,通过Manage组件计算Unit组件启动的数量需求并将统计结果汇总为时间与Unit组件启动的数量需求的折线;在折线中若Unit组件启动的数量需求的极差超过阈值J时,则对折线的突变点进行分割,形成多个折线,使折线中不存在突变点;其中,J=j/N;j表示极差大小,N表示能够开启的最多的Unit组件数量。要知道的是,所述通过Manage组件计算Unit组件启动的数量需求并将统计结果汇总为时间与Unit组件启动的数量需求的折线,就是对折线进行降维的过程,能够使折线的数据得到简化,将纵坐标为大基数折线转化为纵坐标为小基数的折线。能够保证分析时更精确和简易。
所述突变点包括,若折线中的Unit组件启动的数量需求的瞬时变化量达到阈值J,则将折线中的此变化发生的时间作为突变点;若每次变化都没达到阈值J但累计达到阈值,在折线上设置一个起点s,初始化为折线的开始,对于每一个时间点t,计算从起点s到时间点t的极差:
Rt=max(Ns,Ns+1,...,Nt)−min(Ns,Ns+1,...,Nt)
当Rt超过阈值J,则将时间点t标记为突变点,并将起点s更新为t,直到折线结束;若检测到的突变点数量超过限制数量T,则取消所有的突变点;对于分割后的每一段折线,计算稳定开启的Unit组件的数量的长链接:
;
其中,i表示分割后折线的横坐标时间;I表示分割后的折线横坐标的最大值;Qi表示第i个时间点的机台数量需求;td是每个时刻的时间占比,表示折线记录的最小单位时间与折线总时间的比值;将每段折线按照时间进行排序,以每段折线的U作为每段折线持续开启Unit组件的基础数量,若在折线中的需求大于U,则继续开启Unit组件直到达到需求;若折线中的需求大于U,则保持开启Unit组件达到U的长链接数量;当每段折线的任务完成后,转入下一段折线,并更新持续开启Unit组件的基础数量U。通过这样的方式每个时间点可能都有其特定的机台需求和权重。通过乘积的累加,我们能够更精确地捕捉到每个时间点的具体需求,从而为整个时间段提供一个更准确的Unit组件数量估计。能够保证Unit组件开启的数量大部分是满足折线要求的;哪怕出现大波动的折线也能够直接用权重的计算得到相对均衡的数量。若一部分折线是稳定的,另一部分是大量波动的,这样不满足分段条件,利用本方法能够保证大波动的部分不会对稳定部分折线的影响,因为权重乘以数量较大的还是稳定的部分,波动较大位置的线呈现出来的结果也就是平均值,最终的结果Unit组件的数量还是会更稳定部分的数量接近。
要说的还有,若基础数量U不是整数,则向上取不小于U的最小正整数。
启动所述Unit组件包括,Unit组件连接Manage组件, Unit组件上传可允许机台数量,Manage组件管理Unit组件生命周期、记录Unit组件可运行机台数量、管理Unit组件负载,下发机台基本信息至指定的Unit组件,Unit组件开启设备通信。
启动4个异步程序,机台启动程序异步、机台关闭程序异步、开启机台待启动队列异步、开启机台待关闭队列异步。
机台开启序列: Unit接收新机台信息,发布机台待启动队列;机台接收程序订阅机台待启动队列,启动具体机台。
机台关闭序列:Unit接收关闭指定机台信息,发布机台待关闭队列;机台关闭程序订阅机台待关闭队列,关闭机台通信连接、关闭机台异步任务,关闭机台。
再进一步的,获得具体机台数据包括,获取Manage组件派发机台数据;机台设备通信开启,同步开启设备控制队列、设备报警管理、设备程式上传下载管理、设备运行时管理(设备通信开关)。
Local多节点扩展能力:
由单体服务器处理设备数演进至多节点部署处理,直接加入节点,运行相同的Local组件。在启动Local组件后,会与Manage组件相连,获得机台数据派发机会。从而提高系统设备承载数量。1. Local计算 CPU核心数和内存大小,计算单节点设备承载总数,上报至 Manage。2. Manage记录每个Local节点设备承载总数,返回 每个节点的Unit启动数量。3. Unit启动,Manage交互,获得机台下放权限。
要说的是,Manage双节点主从架构:
双节点主从架构,提高系统可靠性。
1. 主从节点通信建立,确定主从分配。
2. 当主节点宕机,从节点获得管理权。
S4:获取设备任务,根据设备信息处理设备任务和数据。
进一步的,通过Unit组件对机台下达控制指令,进行任务控制。机台在接收到指令后,应立即确认接收。机台在执行指令后,应发送执行结果或状态更新。机台可能同时接收到多个指令,需要合理地调度这些指令。使用指令队列来存储待执行的指令。使用调度算法(如先进先出、优先级调度等)来决定指令的执行顺序。
另一方面,一种易扩缩容的多并发任务派发的设备管理系统,其特征在于:信息获取模块,生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;Manage组件获得机台注册源的机台数据,创建本地缓存。管理模块,当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量。控制模块,获取设备任务,根据设备信息处理设备任务和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器、磁变存储器、铁电存储器、相变存储器、石墨烯存储器等。易失性存储器可包括随机存取存储器或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器或动态随机存取存储器等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。
本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
实施例2
参照图2-图4,为本发明的一个实施例,提供了一种易扩缩容的多并发任务派发的设备管理方法,为了验证本发明的有益效果,通过经济效益计算和仿真实验进行科学论证。
图2为三个组件的加密的各组件的密钥存储位置图。私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件。
图3为各组件和机台设备的控制结构图。其中,Manage组件获取机台注册源的机台数据。负责管理的Manage组件保持与本地的Local组件的长链接,同时返回Local组件数据(机台运行总数)。Unit组件连接Manage组件, Unit组件上传可允许机台数量(Local组件启动时设置的数量),Manage组件会管理Unit组件生命周期、记录Unit组件可运行机台数量、管理Unit组件负载,下发机台基本信息至指定的Unit组件,Unit组件开启设备通信。
图4为服务器资源占用率图,能够看出利用本发明能够使CPU的占用率维持在一个较低的水平,同时对电脑的memory的要求也比较低,不需要对计算机投入较大成本。最后允许机台的最大数量也较高,能够维持高强度运作。
通过模拟的控制测试,对比本发明的分布式架构(可通过组件进行扩容)和传统的集中式结构(只能通过开启新的计算机进行扩大控制)的对比,对比结果如下表。
表1对比项目数据表
可以看出,本发明支持的机台在线数量是高于传统方法的,这意味着在高流量情况下,本发明仍能保持稳定。本发明的CPU和内存使用率都比传统方法低,这意味着更高的效率和更低的硬件成本。通过冗余设计和容错机制,本发明的宕机率远低于传统方法,确保了业务的连续性和稳定性。本发明可以根据实际需求动态调整资源,这为业务的高峰期和低谷期提供了弹性,确保了资源的最大化利用。 由于硬件和维护成本的节省,本发明在长期运营中可以为企业节省大量成本。通过对比表格和优势说明展示了本发明在多个方面都优于传统方法,特别是在并发处理能力、资源优化和成本效益方面。
设计4种控制情况,分别包括:A控制少量机台且不对机台数量进行变化、B控制大量机台且不对机台数量进行变化、C对机台数量进行频繁变化、D对机台数量进行缓慢变化,通过对比四种控制情况的实验结果的平均值,可以进一步说明本发明的优势。
表2四种控制情况的实验结果对比表
能够看出,在四种不同的情况下,在机台在线数量较少的情况下,本发明跟传统发明差不大,但在操作大量机台时,本发明就显示出分布式控制的优势,能够减少当概率,缩短系统响应时间。在面对机台数量频繁变化时,本发明不需要重复地开机关机,能够大大节省系统响应时间,同时减少宕机率。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种易扩缩容的多并发任务派发的设备管理方法,其特征在于,包括:
生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;
Manage组件获得机台注册源的机台数据,创建本地缓存;
当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量;
获取设备任务,根据设备信息处理设备任务和数据。
2.如权利要求1所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:所述机台数据包括,被控制的机台的数量信息,利用哈希映射的数据结构进程存储;
同步创建第二个本地缓存;利用哈希映射的数据结构存储,保存Unit组件的长链接数据;
所述长链接是保证Unit组件与Manage组件的通信是在线的,而建立的不会关闭的通道。
3.如权利要求2所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:所述Local组件为机台的本地组件,Local组件使用公钥对数据进行加密,Local组件向Manage组件发送连接请求;
Manage组件收到Local连接请求,并进行安全性校验,Manage组件使用私钥解密;若校验成功,Manage组件保持Local组件的长链接,同时返回Local组件数据;
当机台运行总数变化时,则更新Unit组件启动数量。
4.如权利要求3所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:所述返回Local组件数据包括,返回机台运行总数;
机台运行总数 = 多个机台数据源相加的结果;
设定每个Unit组件设置的可运行机台数量n;
通过Manage组件获取机台运行总数N;
Manage组件计算Unit组件实际启动的数量需求:
;
其中,是向上取整,表示不小于括号内数值的最小整数;
当正在运行的Unit组件数量y小于YUnit时,则启动YUnit-y数量的Unit组件;当正在运行的Unit组件数量y大于等于YUnit时,则关闭y-YUnit数量的Unit组件。
5.如权利要求4所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:所述Unit组件实际启动的数量还包括,对Unit组件的数量需求进行预测,并根据预测结果调整Unit组件数量;
所述预测包括,获取每个机台的任务清单,将任务清单中的每个时间段需要运行的机台数量进行统计,通过Manage组件计算Unit组件启动的数量需求并将统计结果汇总为时间与Unit组件启动的数量需求的折线;
在折线中若Unit组件启动的数量需求的极差超过阈值J时,则对折线的突变点进行分割,形成多个折线,使折线中不存在突变点;
其中,J=j/N;j表示极差大小,N表示能够开启的最多的Unit组件数量;
所述突变点包括,若折线中的Unit组件启动的数量需求的瞬时变化量达到阈值J,则将折线中的此变化发生的时间作为突变点;若每次变化都没达到阈值J但累计达到阈值,在折线上设置一个起点s,初始化为折线的开始,对于每一个时间点t,计算从起点s到时间点t的极差:
Rt=max(Ns,Ns+1,...,Nt)−min(Ns,Ns+1,...,Nt)
当Rt 超过阈值J,则将时间点t标记为突变点,并将起点s更新为t,直到折线结束;
若检测到的突变点数量超过限制数量T,则取消所有的突变点;
对于分割后的每一段折线,计算稳定开启的Unit组件的数量的长链接:
;
其中,i表示分割后折线的横坐标时间;I表示分割后的折线横坐标的最大值;Qi表示第i个时间点的机台数量需求;td是每个时刻的时间占比,表示折线记录的最小单位时间与折线总时间的比值;
将每段折线按照时间进行排序,以每段折线的U作为每段折线持续开启Unit组件的基础数量,若在折线中的需求大于U,则继续开启Unit组件直到达到需求;若折线中的需求大于U,则保持开启Unit组件达到U的长链接数量;当每段折线的任务完成后,转入下一段折线,并更新持续开启Unit组件的基础数量U。
6.如权利要求5所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:启动所述Unit组件包括,Unit组件连接Manage组件, Unit组件上传可允许机台数量,Manage组件管理Unit组件生命周期、记录Unit组件可运行机台数量、管理Unit组件负载,下发机台基本信息至指定的Unit组件,Unit组件开启设备通信;
启动4个异步程序,机台启动程序异步、机台关闭程序异步、开启机台待启动队列异步、开启机台待关闭队列异步;
机台开启序列:
Unit接收新机台信息,发布机台待启动队列;
机台接收程序订阅机台待启动队列,启动具体机台;
机台关闭序列:
Unit接收关闭指定机台信息,发布机台待关闭队列;
机台关闭程序订阅机台待关闭队列,关闭机台通信连接、关闭机台异步任务,关闭机台。
7.如权利要求6所述的易扩缩容的多并发任务派发的设备管理方法,其特征在于:获得具体机台数据包括,获取Manage组件派发机台数据;
进行机台设备通信开启,同步开启设备控制队列、设备报警管理、设备程式上传下载管理、设备运行时管理;
所述Local组件的多节点扩展能力包括,
Local组件计算 CPU核心数和内存大小,计算单节点设备承载总数,上报至 Manage组件;
Manage组件记录每个Local节点设备承载总数,返回每个节点的Unit组件启动数量;
Unit组件启动,通过Manage组件的交互,获得机台下放权限;
所述Manage组件包括,双节点主从架构:
主从节点通信建立,确定主从分配;
当主节点宕机,从节点获得管理权。
8.一种采用如权利要求1-7任一所述方法的易扩缩容的多并发任务派发的设备管理系统,其特征在于:
信息获取模块,生成密钥对,私钥拷贝至Manage组件,公钥拷贝至Local组件和Unit组件;Manage组件获得机台注册源的机台数据,创建本地缓存;
管理模块,当Local组件向Manage组件发送连接请求时,Manage组件对请求内容进行安全性校验,若校验成功,则根据请求更新Unit组件启动数量;
控制模块,获取设备任务,根据设备信息处理设备任务和数据。
9.一种计算机设备,包括:存储器和处理器;所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578614.3A CN117290076B (zh) | 2023-11-24 | 2023-11-24 | 一种易扩缩容的多并发任务派发的设备管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311578614.3A CN117290076B (zh) | 2023-11-24 | 2023-11-24 | 一种易扩缩容的多并发任务派发的设备管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290076A true CN117290076A (zh) | 2023-12-26 |
CN117290076B CN117290076B (zh) | 2024-04-09 |
Family
ID=89257535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311578614.3A Active CN117290076B (zh) | 2023-11-24 | 2023-11-24 | 一种易扩缩容的多并发任务派发的设备管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290076B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150067135A1 (en) * | 2013-08-22 | 2015-03-05 | Inspur Electronic Information Industry Co., Ltd | Member-oriented hybrid cloud operating system architecture and communication method thereof |
CN111314241A (zh) * | 2020-01-17 | 2020-06-19 | 新华智云科技有限公司 | 一种任务调度方法及调度系统 |
CN111324571A (zh) * | 2020-01-22 | 2020-06-23 | 中国银联股份有限公司 | 一种容器集群管理方法、装置及系统 |
US20200304304A1 (en) * | 2019-03-20 | 2020-09-24 | Zettaset, Inc. | Data-at-rest Encryption and Key Management in Unreliably Connected Environments |
CN111769946A (zh) * | 2020-05-08 | 2020-10-13 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种面向联盟链的大规模节点扩容方法 |
CN112925653A (zh) * | 2021-05-11 | 2021-06-08 | 深圳市安软科技股份有限公司 | 虚拟化群集扩容方法、相关设备及计算机可读存储介质 |
CN114040221A (zh) * | 2021-11-25 | 2022-02-11 | 国芯科技(广州)有限公司 | 基于机顶盒服务器端双签名的安全认证的防拷贝方法 |
CN115639954A (zh) * | 2022-09-09 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、设备及介质 |
-
2023
- 2023-11-24 CN CN202311578614.3A patent/CN117290076B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150067135A1 (en) * | 2013-08-22 | 2015-03-05 | Inspur Electronic Information Industry Co., Ltd | Member-oriented hybrid cloud operating system architecture and communication method thereof |
US20200304304A1 (en) * | 2019-03-20 | 2020-09-24 | Zettaset, Inc. | Data-at-rest Encryption and Key Management in Unreliably Connected Environments |
CN111314241A (zh) * | 2020-01-17 | 2020-06-19 | 新华智云科技有限公司 | 一种任务调度方法及调度系统 |
CN111324571A (zh) * | 2020-01-22 | 2020-06-23 | 中国银联股份有限公司 | 一种容器集群管理方法、装置及系统 |
CN111769946A (zh) * | 2020-05-08 | 2020-10-13 | 贵阳信息技术研究院(中科院软件所贵阳分部) | 一种面向联盟链的大规模节点扩容方法 |
CN112925653A (zh) * | 2021-05-11 | 2021-06-08 | 深圳市安软科技股份有限公司 | 虚拟化群集扩容方法、相关设备及计算机可读存储介质 |
CN114040221A (zh) * | 2021-11-25 | 2022-02-11 | 国芯科技(广州)有限公司 | 基于机顶盒服务器端双签名的安全认证的防拷贝方法 |
CN115639954A (zh) * | 2022-09-09 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
阮晓龙;于冠军;: "基于弹性并发的文件校验模型", 计算机系统应用, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN117290076B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956276B2 (en) | System state recovery in a distributed, cloud-based storage system | |
CN103139302B (zh) | 考虑负载均衡的实时副本调度方法 | |
US8769055B2 (en) | Distributed backup and versioning | |
CN102591741B (zh) | 使用可缩放虚拟容量实现灾难恢复的方法和系统 | |
US7590672B2 (en) | Identification of fixed content objects in a distributed fixed content storage system | |
CN103218233B (zh) | Hadoop异构集群中的数据分配策略 | |
CN103150347A (zh) | 基于文件热度的动态副本管理方法 | |
US8713125B2 (en) | Method and system for scaling usage of a social based application on an online social network | |
JP6450330B2 (ja) | 並列計算処理装置および並列計算処理方法 | |
TWI725744B (zh) | 透過多層次相關性建立系統資源預測及資源管理模型的方法 | |
US10169166B2 (en) | Real-time fault-tolerant architecture for large-scale event processing | |
CN105069152B (zh) | 数据处理方法及装置 | |
WO2020134364A1 (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
Rajalakshmi et al. | An improved dynamic data replica selection and placement in cloud | |
WO2014135011A1 (zh) | 数据库系统以及数据同步方法 | |
CN106164888A (zh) | 用于最小化工作负荷空闲时间和工作负荷间干扰的网络和存储i/o请求的排序方案 | |
US11128708B2 (en) | Managing remote replication in storage systems | |
US9424133B2 (en) | Providing an eventually-consistent snapshot of nodes in a storage network | |
US20210049185A1 (en) | Preventing data loss in event driven continuous availability systems | |
CN117873719A (zh) | 基于DevOps的集群动态更新方法 | |
CN117290076B (zh) | 一种易扩缩容的多并发任务派发的设备管理方法及系统 | |
Jayalakshmi et al. | Dynamic data replication strategy in cloud environments | |
US20150088826A1 (en) | Enhanced Performance for Data Duplication | |
Naganandhini et al. | Optimizing replication of data for distributed cloud computing environments: techniques, challenges, and research gap | |
KR101718739B1 (ko) | 이기종 하둡을 위한 동적 데이터 복제 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |