CN113064751B - 一种基于纠删池的编解码方法、装置、设备及存储介质 - Google Patents
一种基于纠删池的编解码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113064751B CN113064751B CN202110325954.XA CN202110325954A CN113064751B CN 113064751 B CN113064751 B CN 113064751B CN 202110325954 A CN202110325954 A CN 202110325954A CN 113064751 B CN113064751 B CN 113064751B
- Authority
- CN
- China
- Prior art keywords
- decoding
- encoding
- coding
- codec
- hard
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 238000012937 correction Methods 0.000 title claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 126
- 230000001133 acceleration Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 230000036541 health Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003862 health status Effects 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/325—Display of status information by lamps or LED's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/328—Computer systems status display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种基于纠删池的编解码方法、装置、设备及计算机可读存储介质,方法包括:当接收到需要进行数据编解码的原始数据时,将原始数据存储至共享内存中;向编解码进程发送编解码信号,以便编解码进程在接收到编解码信号后从共享内存中获取原始数据,并调用硬编解码插件进行硬编解码操作;若硬编解码操作失败,则控制编解码进程调用软编解码插件进行软编解码操作;在编解码进程完成编解码操作后,从共享内存中获取编解码结果。本方法是利用两个线程实现对原始数据进行编解码操作,当硬编解码操作失败时,纠删池中的进程可以继续调用编解码进程以实现软编解码操作,能够提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种基于纠删池的编解码方法、装置、设备及计算机可读存储介质。
背景技术
分布式***通常采用纠删码(erasure coding,EC)来实现数据的冗余,如果因磁盘故障等问题导致数据的丢失,可以通过纠删码实现数据的恢复。分布式***根据不同的开源代码实现了不同的纠删编解码插件,分布式***通过加载纠删编解码插件来调用对应的编解码函数,进而实现编解码操作。随着加速芯片的出现,在分布式***的架构上扩展了芯片加速插件,芯片加速插件可以直接调用加速芯片的驱动API(ApplicationProgramming Interface,应用编程接口)来实现编解码功能。但直接调用加速芯片的驱动API进行数据的编解码操作时,分布式***的稳定性和可靠性会严重依赖加速芯片。如果加速芯片出现故障或者热插拔等情况,这将导致编解码操作失败甚至导致分布式***的崩溃,给分布式***的稳定性和可靠性造成致命的影响。也就是说,目前的技术方案都是直接利用一个操作进程调用对应的插件进行编解码操作,而当某些因素导致该操作进程无法运行时,将直接导致编解码操作失败甚至导致分布式***崩溃,严重影响分布式***的稳定性和可靠性。
因此,如何提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性,是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于纠删池的编解码方法,能够提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性;本发明的另一目的是提供一种基于纠删池的编解码装置、设备及计算机可读存储介质,均具有上述有益效果。
为解决上述技术问题,本发明提供一种基于纠删池的编解码方法,包括:
当接收到需要进行数据编解码的原始数据时,将所述原始数据存储至共享内存中;
向编解码进程发送编解码信号,以便所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用硬编解码插件进行硬编解码操作;
若所述硬编解码操作失败,则控制所述编解码进程调用软编解码插件进行软编解码操作;
在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果。
优选地,所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用硬编解码插件进行硬编解码操作的过程,具体包括:
所述编解码进程在接收到所述编解码信号后,从所述共享内存中获取所述原始数据;
所述编解码进程通过调用硬编解码插件接口来调用加速芯片的驱动API,利用所述加速芯片调用对应的编解码函数进行所述硬编解码操作。
优选地,所述若所述硬编解码操作失败,则控制所述编解码进程调用软编解码插件进行软编解码操作的过程,具体包括:
若所述硬编解码操作失败,则控制所述编解码进程通过调用CPU命令的方式调用对应的编解码函数进行所述软编解码操作。
优选地,进一步包括:
接收所述编解码进程在编解码操作的过程中的健康状态。
优选地,所述健康状态包括编解码的内存占用情况、编解码速度、编解码的成功率以及编解码耗时。
优选地,进一步包括:
当所述健康状态异常时,对异常情况进行告警提示。
优选地,所述在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果的过程,具体包括:
在所述编解码进程完成所述编解码操作并接收到所述编解码进程发出的提示信息后,从所述共享内存中获取所述编解码结果。
为解决上述技术问题,本发明还提供一种基于纠删池的编解码装置,包括:
存储模块,用于当接收到需要进行数据编解码的原始数据时,将所述原始数据存储至共享内存中;
第一处理模块,用于向编解码进程发送编解码信号,以便所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用硬编解码插件进行硬编解码操作;
第二处理模块,用于若所述硬编解码操作失败,则控制所述编解码进程调用软编解码插件进行软编解码操作;
获取模块,用于在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果。
为解决上述技术问题,本发明还提供一种基于纠删池的编解码设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种基于纠删池的编解码方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于纠删池的编解码方法的步骤。
本发明提供的一种基于纠删池的编解码方法,是利用两个线程实现对原始数据进行编解码操作;其中,纠删池中的进程用于管理编解码进程,编解码进程用于调用对应的硬编解码插件/软编解码插件执行编解码操作,因此当加速芯片出现异常情况导致硬编解码操作失败时,纠删池中的进程可以继续调用编解码进程以实现软编解码操作,因此本方法能够提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性。
为解决上述技术问题,本发明还提供了一种基于纠删池的编解码装置、设备及计算机可读存储介质,均具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于纠删池的编解码方法的流程图;
图2为本发明实施例提供的一种基于纠删池的编解码装置的结构图;
图3为本发明实施例提供的一种基于纠删池的编解码设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的核心是提供一种基于纠删池的编解码方法,能够提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性;本发明的另一核心是提供一种基于纠删池的编解码装置、设备及计算机可读存储介质,均具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种基于纠删池的编解码方法的流程图。如图1所示,一种基于纠删池的编解码方法包括:
S10:当接收到需要进行数据编解码的原始数据时,将原始数据存储至共享内存中。
具体的,纠删池是存储池的一种实现方式,通过纠删码实现数据的冗余。在本实施例中,是在分布式***的纠删池运行一个处理进程,该处理进程用于维护管理编解码进程。并且,在编解码进程启动后,将与纠删池建立信令通道,用于传递编解码信号。
在分布式***启动后,纠删池会启动该处理进程;当需要进行编解码操作时,该处理进程接收需要进行数据编解码的原始数据,然后将原始数据存储至共享内存中。需要说明的是,共享内存指的是预设的用于存储数据信息的存储空间,通过将原始数据存储至共享内存中,以便后续编解码进程能够从共享内存中获取该原始数据进行编解码操作。
S20:向编解码进程发送编解码信号,以便编解码进程在接收到编解码信号后从共享内存中获取原始数据,并调用硬编解码插件进行硬编解码操作;
S30:若硬编解码操作失败,则控制编解码进程调用软编解码插件进行软编解码操作。
具体的,在处理进程将原始数据存储至共享内存中之后,向编解码进程发送编解码信号,即可以对原始数据进行编码或解码操作的命令;编解码进程在接收到该编解码信号后,从共享内存中获取对应的原始数据,然后调用硬编解码插件,以对原始数据进行硬编解码操作。
需要说明的是,硬编解码操作指的是通过加速芯片等硬件设备实现的编解码操作;而由于加速芯片可能存在故障或者热插拔等情况,将导致硬编解码操作失败,此时纠删池的处理进程需要再次控制编解码进程调用软编解码插件,对原始数据进行软编解码操作;其中,软编解码操作指的是通过调用CPU命令的方式进行编解码操作。
需要说明的是,在本实施例中,是先调用硬编解码插件进行硬编解码操作,在硬编解码操作失败时才调用软编解码插件进行软编解码操作,这是因为优先执行硬编解码操作能够降低分布式***的的CPU的利用率,提高分布式***的性能;在其他实施例中,也可以是先利用编解码进程调用软编解码插件进行软编解码操作,再利用编解码进程调用硬编解码插件进行硬编解码操作。
S40:在编解码进程完成编解码操作后,从共享内存中获取编解码结果。
具体的,编解码进程调用硬编解码插件/软编解码插件完成编解码操作后,得到对应的编解码结果,然后将该编解码结果存储至共享内存中,纠删池的处理进程从该共享内存中获取与原始数据对应的编解码结果,以便纠删池能够对该编解码结果进行下一步处理。
本发明实施例提供的一种基于纠删池的编解码方法,是利用两个线程实现对原始数据进行编解码操作;其中,纠删池中的进程用于管理编解码进程,编解码进程用于调用对应的硬编解码插件/软编解码插件执行编解码操作,因此当加速芯片出现异常情况导致硬编解码操作失败时,纠删池中的进程可以继续调用编解码进程以实现软编解码操作,因此本方法能够提高编解码操作的可靠性,从而提高分布式***的稳定性和可靠性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,编解码进程在接收到编解码信号后从共享内存中获取原始数据,并调用硬编解码插件进行硬编解码操作的过程,具体包括:
编解码进程在接收到编解码信号后,从共享内存中获取原始数据;
编解码进程通过调用硬编解码插件接口来调用加速芯片的驱动API,利用加速芯片调用对应的编解码函数进行硬编解码操作。
具体的,在本实施例中,编解码进程在接收都编解码信号后,先从共享内存中获取原始数据;然后调用硬编解码插件接口,以利用该硬编解码插件接口调用加速芯片的驱动API进而实现对加速芯片的调用,加速芯片运行时调用对应的编解码函数,对原始数据进行硬编解码操作。
作为优选的实施方式,若硬编解码操作失败,则控制编解码进程调用软编解码插件进行软编解码操作的过程,具体包括:
若硬编解码操作失败,则控制编解码进程通过调用CPU命令的方式调用对应的编解码函数进行软编解码操作。
具体的,在本实施例中,具体是在确定出硬编解码操作失败的情况下,进一步通过控制编解码进程调用CPU命令来调用对应的编解码函数,对原始数据进行软编解码操作。
可见,本实施例提供的实现硬编解码操作和软编解码操作的步骤更加便捷。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例进一步包括:
接收编解码进程在编解码操作的过程中的健康状态。
在本实施例中,编解码进程在编解码操作的过程中进一步获取对应的健康状态,并基于预先建立的信令通道,将获取到的健康状态发送给纠删池。需要说明的是,健康状态包括编解码的内存占用情况、编解码速度、编解码的成功率以及编解码耗时。
具体的,编解码的内存占用情况指的是在编解码的过程中,内存的使用情况、内容使用量与内存总量的比例关系等;编解码速度指的是通过硬编解码插件或软编解码插件进行编解码操作的处理速度;编解码的成功率指的是通过硬编解码操作或软编解码操作完成编解码得出正确的编解码结果的概率;编解码耗时指的是编解码进程从获取原始数据开始到得出编解码结果的总时长。
可见,本实施例通过编解码进程进一步上报健康状态,能使得用户更加清楚直观地知晓编解码操作状态,从而能够进一步提升用户的使用体验。
作为优选的实施方式,本实施例进一步包括:
当健康状态异常时,对异常情况进行告警提示。
需要说明的是,在本实施例中,是在根据编解码进程上报的健康状态进行分析,并确定出健康状态异常的情况下,进一步触发预设的提示装置发出对应的告警信息以进行告警提示。
具体的,健康状态异常的情况包括编解码的内存占用过高和/或编解码速度过低和/或编解码的成功率过低和/或编解码耗时过长等。提示装置可以具体是蜂鸣器和/或指示灯和/或显示器,通过触发蜂鸣器/指示灯/显示器等提示装置发出对应的告警信息,如蜂鸣音/闪烁灯/显示文字或图像等进行告警提示,以直观地提示用户当前编解码过程存在异常情况,并且可以根据不同的异常情况发出对应的告警信息,以便于用户可以根据告警信息类型确定出对应的异常情况,从而能够进一步提升用户的使用体验。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在编解码进程完成编解码操作后,从共享内存中获取编解码结果的过程,具体包括:
在编解码进程完成编解码操作并接收到编解码进程发出的提示信息后,从共享内存中获取编解码结果。
在一些实施例中,纠删池的处理进程按照预设周期向共享空间获取与原始数据对应的编解码结果,但是在这种方式中,设置预设周期的具体时长太长,将导致无法及时获取到对应的编解码结果,预设周期的具体时长太短,反复向共享空间发送获取请求将导致浪费处理资源。
在本实施例中,编解码进程完成编解码操作并得出编解码结果后,将编解码结果存储至共享内存中,并向纠删池发出对应的提示信息,纠删池在接收到对应的提示信息后再从共享内存中获取与原始数据对应的编解码结果。
可以理解的是,纠删池的处理进程是在获取到提示信息后才向共享空间发送请求以获取对应的编解码结果,在能够及时获取对应的编解码结果的基础上,能够相对减少纠删池处理进程向共享内存发送请求的次数,相对节约处理资源。
上文对于本发明提供的一种基于纠删池的编解码方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的基于纠删池的编解码装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种基于纠删池的编解码装置的结构图,如图2所示,一种基于纠删池的编解码装置包括:
存储模块21,用于当接收到需要进行数据编解码的原始数据时,将原始数据存储至共享内存中;
第一处理模块22,用于向编解码进程发送编解码信号,以便编解码进程在接收到编解码信号后从共享内存中获取原始数据,并调用硬编解码插件进行硬编解码操作;
第二处理模块23,用于若硬编解码操作失败,则控制编解码进程调用软编解码插件进行软编解码操作;
获取模块24,用于在编解码进程完成编解码操作后,从共享内存中获取编解码结果。
本发明实施例提供的基于纠删池的编解码装置,具有上述基于纠删池的编解码方法的有益效果。
作为优选的实施方式,另一种基于纠删池的编解码装置进一步包括:
接收模块,用于接收编解码进程在编解码操作的过程中的健康状态。
作为优选的实施方式,又一种基于纠删池的编解码装置进一步包括:
提示模块,用于当健康状态异常时,对异常情况进行告警提示。
图3为本发明实施例提供的一种基于纠删池的编解码设备的结构图,如图3所示,一种基于纠删池的编解码设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现如上述基于纠删池的编解码方法的步骤。
本发明实施例提供的基于纠删池的编解码设备,具有上述基于纠删池的编解码方法的有益效果。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述基于纠删池的编解码方法的步骤。
本发明实施例提供的计算机可读存储介质,具有上述基于纠删池的编解码方法的有益效果。
以上对本发明所提供的基于纠删池的编解码方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (9)
1.一种基于纠删池的编解码方法,其特征在于,利用两个线程实现对原始数据进行编解码操作,其中,所述两个进程包括纠删池中的进程以及编解码进程,所述纠删池中的进程用于管理所述编解码进程,所述编解码进程用于调用对应的硬编解码插件或者软编解码插件执行编解码操作,所述基于纠删池的编解码方法,包括:
当接收到需要进行数据编解码的原始数据时,将所述原始数据存储至共享内存中;
向所述编解码进程发送编解码信号,以便所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用所述硬编解码插件进行硬编解码操作;
若所述硬编解码操作失败,则所述纠删池中的进程控制所述编解码进程调用所述软编解码插件进行软编解码操作;
在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果;
所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用所述硬编解码插件进行硬编解码操作的过程,具体包括:
所述编解码进程在接收到所述编解码信号后,从所述共享内存中获取所述原始数据;
所述编解码进程通过调用硬编解码插件接口来调用加速芯片的驱动API,利用所述加速芯片调用对应的编解码函数进行所述硬编解码操作。
2.根据权利要求1所述的方法,其特征在于,所述若所述硬编解码操作失败,则所述纠删池中的进程控制所述编解码进程调用所述软编解码插件进行软编解码操作的过程,具体包括:
若所述硬编解码操作失败,则所述纠删池中的进程控制所述编解码进程通过调用CPU命令的方式调用对应的编解码函数进行所述软编解码操作。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
接收所述编解码进程在编解码操作的过程中的健康状态。
4.根据权利要求3所述的方法,其特征在于,所述健康状态包括编解码的内存占用情况、编解码速度、编解码的成功率以及编解码耗时。
5.根据权利要求3所述的方法,其特征在于,进一步包括:
当所述健康状态异常时,对异常情况进行告警提示。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果的过程,具体包括:
在所述编解码进程完成所述编解码操作并接收到所述编解码进程发出的提示信息后,从所述共享内存中获取所述编解码结果。
7.一种基于纠删池的编解码装置,其特征在于,利用两个线程实现对原始数据进行编解码操作,其中,所述两个进程包括纠删池中的进程以及编解码进程,所述纠删池中的进程用于管理所述编解码进程,所述编解码进程用于调用对应的硬编解码插件或者软编解码插件执行编解码操作,所述基于纠删池的编解码装置,包括:
存储模块,用于当接收到需要进行数据编解码的原始数据时,将所述原始数据存储至共享内存中;
第一处理模块,用于向所述编解码进程发送编解码信号,以便所述编解码进程在接收到所述编解码信号后从所述共享内存中获取所述原始数据,并调用所述硬编解码插件进行硬编解码操作;
第二处理模块,用于若所述硬编解码操作失败,则所述纠删池中的进程控制所述编解码进程调用所述软编解码插件进行软编解码操作;
获取模块,用于在所述编解码进程完成编解码操作后,从所述共享内存中获取编解码结果;
其中,所述第一处理模块,具体用于:
向所述编解码进程发送编解码信号,以便所述编解码进程在接收到所述编解码信号后,从所述共享内存中获取所述原始数据;所述编解码进程通过调用硬编解码插件接口来调用加速芯片的驱动API,利用所述加速芯片调用对应的编解码函数进行所述硬编解码操作。
8.一种基于纠删池的编解码设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的基于纠删池的编解码方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于纠删池的编解码方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110325954.XA CN113064751B (zh) | 2021-03-26 | 2021-03-26 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
PCT/CN2022/078231 WO2022199328A1 (zh) | 2021-03-26 | 2022-02-28 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
US18/271,437 US20240061743A1 (en) | 2021-03-26 | 2022-02-28 | Encoding and decoding method, apparatus and device based on erasure pool, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110325954.XA CN113064751B (zh) | 2021-03-26 | 2021-03-26 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064751A CN113064751A (zh) | 2021-07-02 |
CN113064751B true CN113064751B (zh) | 2023-04-25 |
Family
ID=76563693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110325954.XA Active CN113064751B (zh) | 2021-03-26 | 2021-03-26 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240061743A1 (zh) |
CN (1) | CN113064751B (zh) |
WO (1) | WO2022199328A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064751B (zh) * | 2021-03-26 | 2023-04-25 | 山东英信计算机技术有限公司 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
CN113672431B (zh) * | 2021-07-29 | 2023-12-22 | 济南浪潮数据技术有限公司 | 实现分布式存储的加速芯片纠删码插件的优化方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN109413432A (zh) * | 2018-07-03 | 2019-03-01 | 北京中科睿芯智能计算产业研究院有限公司 | 基于事件和共享内存机制的多进程编码方法、***及装置 |
CN111858129A (zh) * | 2019-04-28 | 2020-10-30 | 深信服科技股份有限公司 | 一种纠删码读请求处理方法、***、设备及计算机介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040046649A (ko) * | 2002-11-28 | 2004-06-05 | 삼성전자주식회사 | 에러 정정을 위한 부호화 장치 및 방법과 복호화 장치 및방법 |
US8209577B2 (en) * | 2007-12-20 | 2012-06-26 | Microsoft Corporation | Optimizing XOR-based codes |
CN102237090B (zh) * | 2010-04-20 | 2012-11-21 | 安凯(广州)微电子技术有限公司 | 一种多媒体***级芯片及其多媒体处理方法和多媒体装置 |
CN104159113B (zh) * | 2014-06-30 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 安卓***中视频编码方式的选择方法和装置 |
CN104768063A (zh) * | 2015-04-07 | 2015-07-08 | 天脉聚源(北京)教育科技有限公司 | 一种视频编码方法及装置 |
WO2018119955A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 跨***多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
CN107589916A (zh) * | 2017-09-29 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种基于纠删码的纠删池的创建方法及相关装置 |
CN110958468B (zh) * | 2019-12-11 | 2020-09-25 | 广州华多网络科技有限公司 | 编解码器的适配方法、装置、计算机可读介质及设备 |
CN113064751B (zh) * | 2021-03-26 | 2023-04-25 | 山东英信计算机技术有限公司 | 一种基于纠删池的编解码方法、装置、设备及存储介质 |
-
2021
- 2021-03-26 CN CN202110325954.XA patent/CN113064751B/zh active Active
-
2022
- 2022-02-28 WO PCT/CN2022/078231 patent/WO2022199328A1/zh active Application Filing
- 2022-02-28 US US18/271,437 patent/US20240061743A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN109413432A (zh) * | 2018-07-03 | 2019-03-01 | 北京中科睿芯智能计算产业研究院有限公司 | 基于事件和共享内存机制的多进程编码方法、***及装置 |
CN111858129A (zh) * | 2019-04-28 | 2020-10-30 | 深信服科技股份有限公司 | 一种纠删码读请求处理方法、***、设备及计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113064751A (zh) | 2021-07-02 |
WO2022199328A1 (zh) | 2022-09-29 |
US20240061743A1 (en) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113064751B (zh) | 一种基于纠删池的编解码方法、装置、设备及存储介质 | |
JP2019502947A (ja) | 音声ウェイクアップ実現方法、装置及び端末、コンピュータ記憶媒体 | |
CN107534592B (zh) | 用于保护数据总线收发器的配置数据的方法、数据总线收发器和数据总线*** | |
TW201032641A (en) | Radio link synchronization in a wireless communication device | |
CN110471790B (zh) | 计算机设备、产品及其数据任务的处理方法和装置 | |
CN112840663B (zh) | 视频编码方法、装置、电子设备及存储介质 | |
CN109871334B (zh) | 电缆调制解调器及操作方法 | |
CN107105100B (zh) | 移动终端游戏的监控方法和*** | |
CN111565236B (zh) | 一种火灾防护***的传感器自动编码方法及装置 | |
CN111880947A (zh) | 一种数据传输方法及装置 | |
CN105791514B (zh) | 一种应用启动监测方法及装置 | |
CN111241594A (zh) | 交易信息的加签方法、装置、计算机设备和存储介质 | |
CN116450386A (zh) | 看门狗检测方法、设备及存储介质 | |
CN116450390A (zh) | 看门狗检测方法及电子设备 | |
CN111158783B (zh) | 一种环境变量修改方法、装置、设备及可读存储介质 | |
CN114205801A (zh) | 一种设备找回方法、装置及相关设备 | |
CN111800227A (zh) | 虚检过滤方法及装置、存储介质、接收机 | |
CN108037942B (zh) | 一种嵌入式设备的自适应数据恢复与更新方法及装置 | |
CN109474382B (zh) | 一种数据传输方法、基站及终端 | |
CN111400094A (zh) | 一种服务器***恢复出厂设置的方法、装置、设备及介质 | |
CN108874454B (zh) | 一种目标驱动程序的自适应启动方法及装置 | |
CN114880164B (zh) | 一种管理存储页的方法和装置 | |
CN113703674B (zh) | 一种存储***的写数据方法及相关装置 | |
CN111475109A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN116450388A (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 |