CN117453150A - 录像存储调度服务多实例的实现方法 - Google Patents
录像存储调度服务多实例的实现方法 Download PDFInfo
- Publication number
- CN117453150A CN117453150A CN202311786497.XA CN202311786497A CN117453150A CN 117453150 A CN117453150 A CN 117453150A CN 202311786497 A CN202311786497 A CN 202311786497A CN 117453150 A CN117453150 A CN 117453150A
- Authority
- CN
- China
- Prior art keywords
- video
- scheduling
- instance
- service
- video storage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000000694 effects Effects 0.000 claims abstract description 12
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic software techniques for error detection or fault masking through recovery blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明涉及一种录像存储调度服务多实例的实现方法,根据系统数据库中录像计划表里的录像计划,启动相应数量的多实例录像存储调度服务调度组;调度组内的多个多实例录像存储调度服务采用多实例多活模式进行管理;每一个多实例录像存储调度服务调度组各自进行录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成;每一个多实例录像存储调度服务调度组负责管理多个录像计划;由于本发明采用了分组管理的录像计划模式,因此不存在业务量超过单服务管理能力的风险。当业务量增长时,只需新调度组,实现水平扩容;由于组内是多实例且采用多活模式,单个服务的崩溃离线不会对业务产生影响,从而解决了单实例OSS_S方案中的可靠性不足的问题。
Description
技术领域
本发明属于视频监控行业录像存储调度服务集群架构设计技术领域,具体涉及一种录像存储调度服务多实例的实现方法。
背景技术
视频监控平台通常具备录像存储功能,对平台中的几千甚至上万个摄像头进行录像就需要很多录像存储服务(即OSS)。这其中每个摄像头的视频流应由哪个录像存储服务去存、何时开始录像、何时停止录像以及录像的保留时间,这些问题需要一个录像存储调度服务(OSS_Scheduler,即OSS_S)进行统一的管理和调度。
单实例OSS_S方案:
该方案中只有一个OSS_S实例在系统中运行。服务启动后,它会读取数据库中的所有录像计划,并识别系统中正在运行的OSS。然后,根据预定的调度策略(如轮询或最小负载原则),所有的录像计划将被分配给现有的OSS。然后,OSS开始执行录像存储。
然而,单实例OSS_S方案存在一些显著的缺点:
1. 可靠性问题:如果服务崩溃,录像业务将受到影响。
2. 调度能力限制:单个服务的调度能力存在上限,可能无法满足持续增长的录像存储业务量。
多实例OSS_S(主备)方案:
与单实例方案类似,但系统中会有多个OSS_S实例运行。其中一个是主OSS_S,其他是备用OSS_S。当主OSS_S因不可预知的原因崩溃退出时,备用OSS_S将自动进行内部选举,选出一个新的主OSS_S,以确保系统正常运行。
然而,多实例OSS_S(主备)方案虽然部分解决了可靠性问题,但在主OSS_S崩溃和其他OSS_S选举恢复期间,仍然存在短暂的时间无法对外提供服务。此外,由于同一时间只有主OSS_S可以对外提供服务,它仍然无法解决调度能力限制的问题。
发明内容
有鉴于目前相关现有技术存在的不足,本发明提供一种录像存储调度服务多实例的实现方法,以满足录像存储业务的水平扩容。
为实现上述目的,本发明采用的技术方案为:录像存储调度服务多实例的实现方法,包括如下步骤:
根据系统数据库中录像计划表里的录像计划,启动相应数量的多实例录像存储调度服务调度组;
每一个多实例录像存储调度服务调度组中包括多个多实例录像存储调度服务,调度组内的多个多实例录像存储调度服务采用多实例多活模式进行管理;
系统中部署有Redis公共组件,每一个多实例录像存储调度服务调度组各自进行录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成;
每一个多实例录像存储调度服务调度组负责管理多个录像计划;若录像计划数量增多,存储调度管理的业务量增大,通过增加多实例录像存储调度服务调度组数量满足水平扩容。
进一步的,所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
每一个多实例录像存储调度服务调度组都进行录像计划调度权的抢占;
每一个多实例录像存储调度服务管理中的多实例录像存储调度服务都尝试向Redis执行写入操作,写入操作成功的多实例录像存储调度服务代表对录像计划中对应的录像计划调度权抢占成功。
进一步的,若某个多实例录像存储调度服务调度组中的某个多实例录像存储调度服务异常崩溃退出,则该多实例录像存储调度服务调度组中的剩余多实例录像存储调度服务接替其任务继续执行既定策略。
进一步的,系统运行时至少包括如下步骤:
S1、所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
S2、每一个多实例录像存储调度服务从录像计划中的首个计划开始,根据Redis公共组件上已有数据,判断该录像计划的调度权是否已经被自己所属调度组抢占;
S3、若该录像计划的调度权已经被自己所属调度组抢占,则选择下一条录像计划;
S4、若该录像计划的调度权没有被自己所属调度组抢占,则进行录像计划调度权的抢占;
S5、每个多实例录像存储调度服务都尝试向Redis公共组件执行写入操作,写入的数据为“录像计划ID:所属组号”的键值对;
S6、由Redis公共组件的特性所决定,不同的多实例录像存储调度服务同一时刻向Redis公共组件写入相同的键,有且仅有一个服务会写入成功,其余的多实例录像存储调度服会写入失败,即写入原子性;
尝试向Redis公共组件写入一个已存在的键,也会失败,即键唯一性;这两个特性保证了同一个录像计划,在Redis公共组件上只会有一个键,该键对应的值代表了该条录像计划所属的调度组;写入操作成功的多实例录像存储调度服务代表对该条录像计划的调度权抢占成功;
S7、若抢占成功,则将该录像计划,按既定策略分配给对应的多实例录像存储调度服务,开始执行录像;否则,直接进入步骤S8;
S8、根据Redis公共组件上本调度组已经抢占到的录像计划条数,判断当前所属调度组抢占的录像计划是否大于等于管理上限;若是,则停止抢占;
若否,则重复2-8的步骤,继续下一条录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成,则停止抢占;
S9、每个多实例录像存储调度服务内部设置定时器,设置间隔时候,重复步骤S1-S8,以确保所有计划都有所属的调度组,所有计划包括既有的录像计划和新增的录像计划。
本发明采用以上技术方案,至少具有如下如下有益效果:
由于本发明采用了分组管理的录像计划模式,因此不存在业务量超过单服务管理能力的风险。当业务量增长时,只需新调度组,实现水平扩容,从而有效地解决了单实例OSS_S方案中的性能瓶颈问题以及调度能力限制问题。此外,由于组内是多实例且采用多活模式,单个服务的崩溃离线不会对业务产生影响,从而解决了单实例OSS_S方案中的可靠性不足的问题。本发明基于Redis的组内多活机制,调度组中某个多实例录像存储调度服务崩溃离线后,同管理组中其余的一个或者多个多实例录像存储调度服务接替任务,不会对录像存储业务造成中断影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明录像存储调度服务多实例的实现方法流程图;
图2是本发明录像存储调度服务多实例具体实施例示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
请参阅图1,本实施例提供一种录像存储调度服务多实例的实现方法,包括如下步骤:
根据系统数据库中录像计划表里的录像计划,启动相应数量的多实例录像存储调度服务调度组;
每一个多实例录像存储调度服务调度组中包括多个多实例录像存储调度服务,调度组内的多个多实例录像存储调度服务采用多实例多活模式进行管理;
系统中部署有Redis公共组件,每一个多实例录像存储调度服务调度组各自进行录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成;
每一个多实例录像存储调度服务调度组负责管理多个录像计划;若录像计划数量增多,存储调度管理的业务量增大,通过增加多实例录像存储调度服务调度组数量满足水平扩容。
作为一种优选的实施例,本实施例中所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
每一个多实例录像存储调度服务调度组都进行录像计划调度权的抢占;
每一个多实例录像存储调度服务管理中的多实例录像存储调度服务都尝试向Redis执行写入操作,写入操作成功的多实例录像存储调度服务代表对录像计划中对应的录像计划调度权抢占成功。
作为一种优选的实施例,本实施例中若某个多实例录像存储调度服务调度组中的某个多实例录像存储调度服务异常崩溃退出,则该多实例录像存储调度服务调度组中的剩余多实例录像存储调度服务接替其任务继续执行既定策略。
进一步的,系统运行时至少包括如下步骤:
S1、所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
S2、每一个多实例录像存储调度服务从录像计划中的首个计划开始,根据Redis公共组件上已有数据,判断该录像计划的调度权是否已经被自己所属调度组抢占;
S3、若该录像计划的调度权已经被自己所属调度组抢占,则选择下一条录像计划;
S4、若该录像计划的调度权没有被自己所属调度组抢占,则进行录像计划调度权的抢占;
S5、每个多实例录像存储调度服务都尝试向Redis公共组件执行写入操作,写入的数据为“录像计划ID:所属组号”的键值对;
S6、由Redis公共组件的特性所决定,不同的多实例录像存储调度服务同一时刻向Redis公共组件写入相同的键,有且仅有一个服务会写入成功,其余的多实例录像存储调度服会写入失败,即写入原子性;
尝试向Redis公共组件写入一个已存在的键,也会失败,即键唯一性;这两个特性保证了同一个录像计划,在Redis公共组件上只会有一个键,该键对应的值代表了该条录像计划所属的调度组;写入操作成功的多实例录像存储调度服务代表对该条录像计划的调度权抢占成功;
S7、若抢占成功,则将该录像计划,按既定策略分配给对应的多实例录像存储调度服务,开始执行录像;否则,直接进入步骤S8;
S8、根据Redis公共组件上本调度组已经抢占到的录像计划条数,判断当前所属调度组抢占的录像计划是否大于等于管理上限;若是,则停止抢占;
若否,则重复2-8的步骤,继续下一条录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成,则停止抢占;
S9、每个多实例录像存储调度服务内部设置定时器,设置间隔时候,重复步骤S1-S8,以确保所有计划都有所属的调度组,所有计划包括既有的录像计划和新增的录像计划。
如图2所示,作为一种优选的实施例,OSS 为录像存储服务;OSS_S为录像存储调度服务。本实施例中假设当前系统数据库表中有10个录像计划,系统总共启动了6个OSS_S,通过传入不同的启动参数,将其分为3调度组,每调度组两个OSS_S服务,每调度组OSS_S最多管理4个录像计划,系统中部署有Redis公共组件,初始情况下无数据。
系统运行的流程步骤如下:
OSS_S_0~OSS_S_6同时读取数据库中的录像计划表,发现有RecPlan_0~9共10条录像计划。
然后每个OSS_S从录像计划RecPlan_0开始,先根据Redis上已有数据,判断该录像计划的调度权是否已经被自己所属组抢占。
是,返回步骤2,选择下一条录像计划。
否,则进行录像计划调度权的抢占。
每个OSS_S都尝试向Redis执行写入操作,写入的数据为“录像计划ID:所属组号”的键值对,如:OSS_S_0尝试写入“RecPlan_0:组0”, OSS_S_4尝试写入“RecPlan_0:组2”。
由公共组件Redis的特性所决定,不同的服务同一时刻向Redis写入相同的键,有且仅有一个服务会写入成功,其余的服务会写入失败,即写入原子性;尝试向Redis写入一个已存在的键,也会失败,即键唯一性。这两个特性保证了同一个录像计划,在Redis上只会有一个键,该键对应的值代表了该条录像计划所属的调度组。因此,写入操作成功的OSS_S代表对录像计划RecPlan_0的调度权抢占成功。
若抢占成功,则将该录像计划,按既定策略分配给OSS,开始执行录像;否则,直接进入步骤8。
根据Redis上本组已经抢占到的录像计划条数,判断当前所属组抢占的录像计划是否大于等于管理上限(这里为4条),是则停止抢占。
否,则重复2-8的步骤,继续下一条录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成,则停止抢占。
每个OSS_S内部设置定时器,如每隔10分钟,重复步骤1-9,以确保所有计划(包括既有的录像计划和新增的录像计划)都有所属的调度组。
若某组中的某个OSS_S(假设为OSS_S_0)异常崩溃退出时:
OSS_S_0所属组0,管理了4条录像计划。虽然此时OSS_S_0崩溃离线,但OSS_S_1还正常运行,而且组内管理的所有录像计划都记录在Redis上,所以并未对录像存储业务造成中断影响。
若录像计划数量增多,存储调度管理的业务量增大:则仅需要新增OSS_S组,即可满足水平扩容,原有录像存储业务不受影响。
以上方案推广到N个录像计划、启动M个OSS_S并分为K组、每组OSS_S最多管理L个录像计划的情况下仍然适用。
本实施例中基于Redis的录像计划任务抢占机制,从而高效的保证了多实例情况下,同一条录像计划不会被多个OSS_S抢占到;基于Redis的组内多活机制,保证只要不是组内所有OSS_S离线,都不会对业务产生影响;基于分组模式的多实例架构,保证在大业务量场景下可以方便的进行水平扩容。
由于本发明采用了分组管理的录像计划模式,因此不存在业务量超过单服务管理能力的风险。当业务量增长时,只需新调度组,实现水平扩容,从而有效地解决了单实例OSS_S方案中的性能瓶颈问题以及调度能力限制问题。此外,由于组内是多实例且采用多活模式,单个服务的崩溃离线不会对业务产生影响,从而解决了单实例OSS_S方案中的可靠性不足的问题。本发明基于Redis的组内多活机制,调度组中某个多实例录像存储调度服务崩溃离线后,同管理组中其余的一个或者多个多实例录像存储调度服务接替任务,不会对录像存储业务造成中断影响。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内包括可以对上述实施例进行变化、修改、替换和变型。
Claims (4)
1.录像存储调度服务多实例的实现方法,其特征在于:包括如下步骤:
根据系统数据库中录像计划表里的录像计划,启动相应数量的多实例录像存储调度服务调度组;
每一个多实例录像存储调度服务调度组中包括多个多实例录像存储调度服务,调度组内的多个多实例录像存储调度服务采用多实例多活模式进行管理;
系统中部署有Redis公共组件,每一个多实例录像存储调度服务调度组各自进行录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成;
每一个多实例录像存储调度服务调度组负责管理多个录像计划;若录像计划数量增多,存储调度管理的业务量增大,通过增加多实例录像存储调度服务调度组数量满足水平扩容。
2.根据权利要求1所述的方法,其特征在于:所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
每一个多实例录像存储调度服务调度组都进行录像计划调度权的抢占;
每一个多实例录像存储调度服务管理中的多实例录像存储调度服务都尝试向Redis执行写入操作,写入操作成功的多实例录像存储调度服务代表对录像计划中对应的录像计划调度权抢占成功。
3.根据权利要求2所述的方法,其特征在于:若某个多实例录像存储调度服务调度组中的某个多实例录像存储调度服务异常崩溃退出,则该多实例录像存储调度服务调度组中的剩余多实例录像存储调度服务接替其任务继续执行既定策略。
4.根据权利要求1至3任一项所述的方法,其特征在于:系统运行时至少包括如下步骤:
S1、所有的多实例录像存储调度服务同时读取系统数据库中的录像计划表,读取出录像计划总数;
S2、每一个多实例录像存储调度服务从录像计划中的首个计划开始,根据Redis公共组件上已有数据,判断该录像计划的调度权是否已经被自己所属调度组抢占;
S3、若该录像计划的调度权已经被自己所属调度组抢占,则选择下一条录像计划;
S4、若该录像计划的调度权没有被自己所属调度组抢占,则进行录像计划调度权的抢占;
S5、每个多实例录像存储调度服务都尝试向Redis公共组件执行写入操作,写入的数据为“录像计划ID:所属组号”的键值对;
S6、由Redis公共组件的特性所决定,不同的多实例录像存储调度服务同一时刻向Redis公共组件写入相同的键,有且仅有一个服务会写入成功,其余的多实例录像存储调度服会写入失败,即写入原子性;
尝试向Redis公共组件写入一个已存在的键,也会失败,即键唯一性;这两个特性保证了同一个录像计划,在Redis公共组件上只会有一个键,该键对应的值代表了该条录像计划所属的调度组;写入操作成功的多实例录像存储调度服务代表对该条录像计划的调度权抢占成功;
S7、若抢占成功,则将该录像计划,按既定策略分配给对应的多实例录像存储调度服务,开始执行录像;否则,直接进入步骤S8;
S8、根据Redis公共组件上本调度组已经抢占到的录像计划条数,判断当前所属调度组抢占的录像计划是否大于等于管理上限;若是,则停止抢占;
若否,则重复S2-S8的步骤,继续下一条录像计划的抢占操作,直到数据库中所有的录像计划都被抢占完成,则停止抢占;
S9、每个多实例录像存储调度服务内部设置定时器,设置间隔时候,重复步骤S1-S8,以确保所有计划都有所属的调度组,所有计划包括既有的录像计划和新增的录像计划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311786497.XA CN117453150B (zh) | 2023-12-25 | 2023-12-25 | 录像存储调度服务多实例的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311786497.XA CN117453150B (zh) | 2023-12-25 | 2023-12-25 | 录像存储调度服务多实例的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453150A true CN117453150A (zh) | 2024-01-26 |
CN117453150B CN117453150B (zh) | 2024-04-05 |
Family
ID=89591421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311786497.XA Active CN117453150B (zh) | 2023-12-25 | 2023-12-25 | 录像存储调度服务多实例的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453150B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591916A (zh) * | 2014-10-22 | 2016-05-18 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN109194678A (zh) * | 2018-09-25 | 2019-01-11 | 吉林省联宇合达科技有限公司 | 基于redis消息队列的分布式流媒体服务系统及方法 |
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
CN110225138A (zh) * | 2019-06-25 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种分布式架构 |
CN110351532A (zh) * | 2019-08-08 | 2019-10-18 | 杭州阿启视科技有限公司 | 视频大数据云平台云存储服务方法 |
US20190334907A1 (en) * | 2018-04-25 | 2019-10-31 | Steelcase Inc. | Resource optimization system and method |
CN110990200A (zh) * | 2019-11-26 | 2020-04-10 | 苏宁云计算有限公司 | 一种基于多活数据中心的流量切换方法及装置 |
CN112698961A (zh) * | 2020-12-31 | 2021-04-23 | 银盛支付服务股份有限公司 | 一种redis分布式锁在kafka分布式程序中的使用方法 |
CN113542068A (zh) * | 2021-07-15 | 2021-10-22 | 中国银行股份有限公司 | 一种Redis多实例的监控系统及方法 |
CN113992680A (zh) * | 2021-11-10 | 2022-01-28 | 中国工商银行股份有限公司 | 应用于分布式多活系统的调度方法、装置、设备及介质 |
CN115454606A (zh) * | 2022-09-27 | 2022-12-09 | 天翼数字生活科技有限公司 | 异地多活架构下的任务调度方法、装置、介质及相关设备 |
US20230188432A1 (en) * | 2020-06-16 | 2023-06-15 | Siemens Aktiengesellschaft | Method and Apparatus for Determining Resource Configuration of Cloud Service System |
CN117201496A (zh) * | 2022-05-30 | 2023-12-08 | 北京字跳网络技术有限公司 | 任务调度方法、任务提交方法、装置、设备及介质 |
-
2023
- 2023-12-25 CN CN202311786497.XA patent/CN117453150B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591916A (zh) * | 2014-10-22 | 2016-05-18 | 华为技术有限公司 | 一种报文传输方法及装置 |
US20190334907A1 (en) * | 2018-04-25 | 2019-10-31 | Steelcase Inc. | Resource optimization system and method |
CN109194678A (zh) * | 2018-09-25 | 2019-01-11 | 吉林省联宇合达科技有限公司 | 基于redis消息队列的分布式流媒体服务系统及方法 |
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
CN110225138A (zh) * | 2019-06-25 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种分布式架构 |
CN110351532A (zh) * | 2019-08-08 | 2019-10-18 | 杭州阿启视科技有限公司 | 视频大数据云平台云存储服务方法 |
CN110990200A (zh) * | 2019-11-26 | 2020-04-10 | 苏宁云计算有限公司 | 一种基于多活数据中心的流量切换方法及装置 |
US20230188432A1 (en) * | 2020-06-16 | 2023-06-15 | Siemens Aktiengesellschaft | Method and Apparatus for Determining Resource Configuration of Cloud Service System |
CN112698961A (zh) * | 2020-12-31 | 2021-04-23 | 银盛支付服务股份有限公司 | 一种redis分布式锁在kafka分布式程序中的使用方法 |
CN113542068A (zh) * | 2021-07-15 | 2021-10-22 | 中国银行股份有限公司 | 一种Redis多实例的监控系统及方法 |
CN113992680A (zh) * | 2021-11-10 | 2022-01-28 | 中国工商银行股份有限公司 | 应用于分布式多活系统的调度方法、装置、设备及介质 |
CN117201496A (zh) * | 2022-05-30 | 2023-12-08 | 北京字跳网络技术有限公司 | 任务调度方法、任务提交方法、装置、设备及介质 |
CN115454606A (zh) * | 2022-09-27 | 2022-12-09 | 天翼数字生活科技有限公司 | 异地多活架构下的任务调度方法、装置、介质及相关设备 |
Non-Patent Citations (1)
Title |
---|
翟明玉 等: "新一代调控系统分析决策中心业务多活框架与技术", 电力系统自动化, vol. 43, no. 22, 25 November 2019 (2019-11-25), pages 110 - 115 * |
Also Published As
Publication number | Publication date |
---|---|
CN117453150B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522501B (zh) | 磁盘阵列空间划分方法、装置、电子设备及存储介质 | |
JP4353005B2 (ja) | クラスタ構成コンピュータシステムの系切替方法 | |
CN111901422B (zh) | 一种集群中节点的管理方法、系统及装置 | |
EP1624375A2 (en) | Apparatus, method and program to handle an abnormality in a distributed information processing system | |
CN108600284B (zh) | 一种基于Ceph的虚拟机高可用实现方法及系统 | |
CN106708608A (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
US20150193305A1 (en) | Method and device for auto recovery storage of jbod array | |
CN108540315A (zh) | 分布式存储系统、方法和装置 | |
CN110995472A (zh) | 一种微服务业务熔断方法和系统 | |
CN108958991A (zh) | 集群节点故障业务快速恢复方法、装置、设备及存储介质 | |
CN111796959A (zh) | 宿主机容器自愈方法、装置及系统 | |
CN107544874A (zh) | 业务处理方法及装置 | |
CN115629901A (zh) | 日志回放方法及装置、数据恢复方法及装置、电子设备 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和系统 | |
CN111562971A (zh) | 分布式定时器的调度方法及系统 | |
CN117453150B (zh) | 录像存储调度服务多实例的实现方法 | |
CN109587218A (zh) | 一种集群选举的方法和装置 | |
JPH04266117A (ja) | 記憶装置及び記憶制御方法 | |
CN116360687A (zh) | 一种集群分布式存储的方法、装置、设备及介质 | |
CN115102862A (zh) | 一种用于sdn设备的自动同步方法及装置 | |
CN111949384A (zh) | 任务调度方法、装置、设备及计算机可读存储介质 | |
CN115878450A (zh) | 执行测试任务的方法及装置 | |
CN112596915A (zh) | 一种分布式锁调度方法、装置、设备及介质 | |
CN104580324A (zh) | 一种数据存储方法及装置 | |
CN107342905A (zh) | 一种集群存储系统故障转移的节点调度方法及系统 |
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 |