一种基于设备可用资源的算法套件调整方法及装置
文献发布时间:2023-06-19 19:16:40
技术领域
本申请涉及设备控制领域,尤其涉及一种基于设备可用资源的算法套件调整方法及装置。
背景技术
现有的网络设备在进行码流处理过程中,涉及到码流加解密模式时,一般是先建立连接获取算法套件完成密钥交换,之后不断地更新密钥信息。基于更新的密钥信息对码流数据进行持续加解密操作。
基于上述原理描述可知,如果包含拉流设备、推流设备在内的网络设备因业务变化而导致数据处理压力发生变化,无法对连接算法套件进行替换的方式对网络设备的处理能力进行动态调节。一旦网络设备使用的算法套件无法满足数据处理压力,会发生网络设备空闲,或是业务相应缓慢甚至停止服务的现象。
发明内容
基于此,有必要针对上述技术问题,提供一种基于设备可用资源的算法套件调整方法及装置,能够根据视频直播过程中推流设备、拉流设备的工作状态,对二者使用的算法套件进行调整,从而在确保直播业务质量的同时,防止推流设备、拉流设备处于压力过大或过低的极端工作状态。
第一方面,本申请提供了一种基于设备可用资源的算法套件调整方法,包括:
向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合;
从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理;
实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作。
在其中一个实施例中,所述向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合,包括:
向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息;
从所述反馈信息中提取所述推流设备支持的初始算法套件清单,选取所述初始算法套件清单与所述原始算法套件清单的交集作为算法套件集合;或
在所述反馈信息中将所述推流设备从所述原始算法套件清单中选出的算法套件作为算法套件集合。
在其中一个实施例中,所述从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理,包括:
确定当前时刻的设备可用资源的等级;
从所述算法套件中选取与所述等级对应的第一算法套件,将所述第一算法套件发送至所述推流设备;
从所述推流设备处接收动态密钥;
根据所述第一算法套件及所述动态密钥协同所述推流设备进行视频码流的加解密处理。
在其中一个实施例中,所述所述实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作,包括:
根据所述设备可用资源与预设资源阈值的对比结果,从所述算法套件集合中选取目标算法套件,使用所述目标算法套件对所述第一算法套件进行替换。
在其中一个实施例中,所述根据所述设备可用资源与预设资源阈值的对比结果,从所述算法套件集合中选取目标算法套件,使用所述目标算法套件对所述第一算法套件进行替换,包括:
如果所述设备可用资源高于预设资源阈值,则从所述算法套件集合中选取算法复杂度高于所述第一算法套件的算法套件作为目标算法套件;
如果所述设备可用资源低于预设资源阈值,则从所述算法套件集合中选取算法复杂度低于所述第一算法套件的算法套件作为目标算法套件。
在其中一个实施例中,当存在至少两台所述推流设备时,所述根据所述设备可用资源与预设资源阈值的对比结果,从所述算法套件集合中选取目标算法套件,使用所述目标算法套件对所述第一算法套件进行替换,包括:
根据所述设备可用资源与预设资源阈值的对比结果,分别从第一推流设备、第二推流设备各自使用的所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件。
在其中一个实施例中,所述根据所述设备可用资源与预设资源阈值的对比结果,分别从第一推流设备、第二推流设备各自使用的所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件,包括:
如果所述设备可用资源高于预设资源阈值,则同时从第一推流设备、第二推流设备各自使用的所述算法套件集合中选取算法复杂度高于所述第一算法套件的算法套件作为目标算法套件;
如果所述设备可用资源低于预设资源阈值,则同时从第一推流设备、第二推流设备各自使用的所述算法套件集合中选取算法复杂度低于所述第一算法套件的算法套件作为目标算法套件。
在其中一个实施例中,所述根据所述设备可用资源与预设资源阈值的对比结果,分别从第一推流设备、第二推流设备各自使用的所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件,包括:
当第一推流设备使用的第一算法套件的算法复杂度高于第二推流设备使用的第一算法套件的算法复杂度时;
如果所述设备可用资源高于预设资源阈值,则从所述第一推流设备对应的所述算法套件集合中选取算法复杂度高于所述第一算法套件的算法套件作为目标算法套件;
如果所述设备可用资源低于预设资源阈值,则从所述第二推流设备对应的所述算法套件集合中选取算法复杂度低于所述第一算法套件的算法套件作为目标算法套件。
第二方面,本申请还提供了一种基于设备可用资源的算法套件调整装置。所述装置包括:
算法套件生成模块,用于向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合;
业务处理模块,用于从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理;
算法套件替换模块,用于实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合;
从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理;
实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合;
从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理;
实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
向推流设备发送原始算法套件清单,接收所述推流设备基于所述原始算法套件清单的反馈信息,基于所述反馈信息生成算法套件集合;
从所述算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据所述第一算法套件协同所述推流设备进行视频码流的加解密处理;
实时监测所述设备可用资源,当所述设备可用资源相对于预设资源阈值发生变化时,触发从所述算法套件集合中选取用于替换所述第一算法套件的目标算法套件的操作。
上述基于设备可用资源的算法套件调整方法、装置、计算机设备、存储介质和计算机程序产品,控制拉流设备与推流设备从算法套件集合中选出第一算法套件用于视频码流的加解密处理;之后实时监测二者的设备可用资源,一旦满足预设条件则选取目标算法套件对第一算法套件进行替换。通过基于设备可用资源对二者使用的算法套件进行调整,能够有效平衡设备压力与视频码流处理业务之间的矛盾,使得推流设备与拉流设备在业务处理难度与自身设备压力两个维度实现动态平衡。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为一个实施例中基于设备可用资源的算法套件调整方法的应用环境图;
图2为一个实施例中基于设备可用资源的算法套件调整方法的流程示意图;
图3为另一个实施例中基于设备可用资源的算法套件调整方法的详细流程示意图;
图4为一个实施例中基于设备可用资源的算法套件调整装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的 基于设备可用资源的算法套件调整方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的 基于设备可用资源的算法套件调整 方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种基于设备可用资源的算法套件调整方法,图2是本实施例的基于设备可用资源的算法套件调整方法的流程图,如图2所示。由于本技术方案详细方案的执行方为拉流设备,因此本实施例以拉流设备为执行主体进行描述。该流程包括如下步骤:
步骤S20,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合。
其中,此处的原始算法套件清单,本质上是拉流设备与推流设备双方共同支持的算法套件集合,通过推流设备与拉流设备基于自身资源情况与设备性能的支持情况从原始算法套件清单中选出可用的算法套件,从而完成算法的调整,在满足业务需求的同时也不会对设备性能造成过高的压力。
步骤S40,从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理。
其中,在基于推流设备的反馈信息生成的算法套件集合中,选取与拉流设备当前可用资源匹配的第一算法套件。由于反馈信息中包含算法套件是推流设备基于当前设备性能选出的,因此只需要拉流设备从算法套件集合中选取自身支持的第一算法套件用于视频码流的加解密处理即可。
需要注意的是,这里的第一算法套件是指首次出现的算法套件,即在时间维度上第一次应用在推流设备或拉流设备中的算法套件。
步骤S60,实时监测设备可用资源,当设备可用资源相对于预设资源阈值发生变化时,触发从算法套件集合中选取用于替换第一算法套件的目标算法套件的操作。
其中,供拉流设备与推流设备所使用的算法套件并非一成不变,对两套设备的设备可用资源进行实时监视,根据可用资源对之前使用的算法套件进行调整,从而满足不同设备可用资源使用条件下算法套件的调整。
通过执行上述算法套件调整方法,能够令推流设备与拉流设备在进行业务处理过程中能够实时根据设备可用资源对当前使用的第一算法套件进行替换,从而以动态更新算法套件的方式在保证业务处理能力的同时降低推流设备与拉流设备的设备压力。
在其中一个实施例中,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合,即步骤S20包括:
步骤S22,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息;
步骤S24,从反馈信息中提取推流设备支持的初始算法套件清单,选取初始算法套件清单与原始算法套件清单的交集作为算法套件集合;或
步骤S26,在反馈信息中将推流设备从原始算法套件清单中选出的算法套件作为算法套件集合。
在实施中,拉流设备会根据已知的信息汇总自身与推流设备均支持的原始算法套件清单,将原始算法套件清单发送至推流设备后,接收推流设备针对该原始算法套件清单发送的反馈信息。该反馈信息包括推流设备基于原始算法套件清单选出的推流设备支持的算法套件。
在接收到反馈信息后,拉流设备有两种不同的处理方式,一种是从反馈信息中再次进行算法套件的选取;另一种是直接将反馈信息中包含的算法套件清单作为推流设备与拉流设备双方共同使用的算法套件。
具体的,针对第一类处理方式,具体为从拉流设备从反馈信息中提取推流设备支持的初始算法套件清单, 初始算法套件清单中包含的是推流设备从接收到的原始算法清单中挑选出自身设备支持的算法套件集合,接着将挑选出的算法套件集合再以反馈信息的形式发送至拉流设备处;使得拉流设备能够基于反馈信息选取初始算法套件清单与原始算法套件清单的交集作为算法套件集合,用于后续的业务处理。此种方式是由拉流设备确定算法套件集合。针对第二类处理方式,则是令拉流设备直接将推流设备基于原始算法套件清单中选取的算法套件作为后续业务使用的算法套件集合。此种方式则是由推流设备确定算法套件集合。
需要注意的是,本实施例中涉及到的算法套件,是指推流设备与拉流设备在进行数据处理过程中所使用的处理算法的统称,由于其中包含的处理算法并非本技术方案的主要内容,此处不再赘述。
在其中一个实施例中,从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理,即步骤S40包括:
步骤S42,确定当前时刻的设备可用资源的等级;
步骤S44,从算法套件中选取与等级对应的第一算法套件,将第一算法套件发送至推流设备;
步骤S46,从推流设备处接收动态密钥;
步骤S48,根据第一算法套件及动态密钥协同推流设备进行视频码流的加解密处理。
在实施中,为了完成根据设备可用资源从算法套件集合中选取第一算法套件的操作,首先要确定当前时刻对应推流设备、拉流设备的设备可用资源的等级。此处的设备可用资源典型的包括设备的CPU使用率、内存占用率等内容。
根据历史数据对设备可用资源进行分级,从而根据当前时刻的设备可用资源确定对应的等级。进而控制拉流设备从算法套件中选取与已确认等级对应的第一算法套件,并将第一算法套件发送至推流设备处,同时从推流设备处接收针对第一算法套件的动态密钥,以便控制拉流设备根据选取的第一算法套件和动态密钥在接下来的业务处理过程中协同推流设备进行直播视频处理在内的业务。
在其中一个实施例中,步骤S60,包括:
步骤S62,根据设备可用资源与预设资源阈值的对比结果,从算法套件集合中选取用于替换第一算法套件的目标算法套件,使用目标算法套件对第一算法套件进行替换。
在实施中,对设备可用资源进行实时监测,根据监测结果将设备可用资源与预设资源阈值进行对比,以便根据对比结果,判断是否需要从算法套件集合中选取目标算法套件对第一算法套件进行替换。
需要说明的是,上文中提出的对设备可用资源进行实时监测,可以是在一段时间内,拉流设备连续获取自身以及对应的推流设备的设备可用资源。
之所以进行上述对第一算法套件的替换操作,目的在于判断之前的第一算法套件带来的设备负载是否超过拉流设备、推流设备的承载限制。如果超过承载限制,表明之前的第一算法套件无法满足当前的业务需求,需要对第一算法套件进行替换。
相对于前述步骤S60中出现的预设条件,在此处则典型的则是根据设备可用资源与预设资源阈值的对比结果。具体的,步骤S62包括:
步骤S622,如果设备可用资源高于预设资源阈值,则从算法套件集合中选取算法复杂度高于第一算法套件的算法套件作为目标算法套件;
步骤S624,如果设备可用资源低于预设资源阈值,则从算法套件集合中选取算法复杂度低于第一算法套件的算法套件作为目标算法套件。
在实施中,前述步骤S62提及到的将设备可用资源与预设资源阈值对比的结果典型的分为两种情况,即设备可用资源高于预设资源阈值或设备可用资源低于预设资源阈值。
针对前一种情况,设备可用资源高于预设资源阈值的情况,表明第一算法套件对拉流设备、推流设备带来的压力比较小,并未能充分发挥二者的性能,因此可以从算法套件集合中选取比第一算法套件复杂度高的算法套件用于下一时刻的业务处理。一方面能够充分发挥设备性能,另一方面还能提供效果更好的服务水平。
针对第二种情况,设备可用资源低于预设资源阈值的情况,表明第一算法套件带来的设备压力过大,需要选取复杂度较低的算法套件对第一算法套件进行替换,以便降低对拉流设备、推流设备带来的设备压力。
需要注意的是,此处的算法复杂度,是指算法套件包含诸多算法的复杂程度,高算法复杂度的执行需要耗费很大的设备处理性能,因此当出现设备可用资源低于预设资源阈值的情况,需要选取相对于第一算法套件的算法复杂度较低的算法套件进行替换,从而实现降低设备压力的预期效果。
在其中一个实施例中,当存在至少两台推流设备时,步骤S62还包括:
步骤S626,根据设备可用资源与预设资源阈值的对比结果,分别从第一推流设备、第二推流设备各自使用的算法套件集合中选取用于替换第一算法套件的目标算法套件。
在实施中,前述步骤S62公开了基于设备可用资源与预设资源阈值的对比结果选取用于替换第一算法套件的目标算法套件的技术方案。前文已经针对单个推流设备的使用场景进行算法套件替换的陈述。而针对存在第一推流设备、第二推流设备的使用场景,选取目标算法套件的方式会有所不同,即上述步骤S626的详细执行内容如下:
步骤S6261,如果设备可用资源高于预设资源阈值,则同时从第一推流设备、第二推流设备各自使用的算法套件集合中选取算法复杂度高于第一算法套件的算法套件作为目标算法套件;
步骤S6263,如果设备可用资源低于预设资源阈值,则同时从第一推流设备、第二推流设备各自使用的算法套件集合中选取算法复杂度低于第一算法套件的算法套件作为目标算法套件。
在实施中,如果存在第一推流设备、第二推流设备,当出现设备可用资源高于预设资源阈值的情况时,表明当前两套推流设备的业务压力较低,因此可以选取算法复杂度高于第一算法套件的目标算法套件,通过使用目标算法套件的方式来适当提升设备工作强度,一方面能够充分发挥设备性能,另一方面还能提供效果更好的服务水平。
相对的,如果存在第一推流设备、第二推流设备,当出现设备可用资源低于预设资源阈值的情况时,表明当前推流设备的业务压力已经很高,此时需要选取算法复杂度低的目标算法套件来替换第一算法套件,从而降低两套推流设备的压力。此情况下对与当前拉流设备对应的多个推流设备的算法套件更新为一次性的全部更新。
进一步的,针对上述存在第一推流设备、第二推流设备的使用场景,在进行选取用于替换第一算法套件的目标算法套件时,还存在以下处理方式:
步骤S6265,当第一推流设备使用的第一算法套件的算法复杂度高于第二推流设备使用的第一算法套件的算法复杂度时,如果设备可用资源高于预设资源阈值,则从第一推流设备对应的算法套件集合中选取算法复杂度高于第一算法套件的算法套件作为目标算法套件;
步骤S6267,如果设备可用资源低于预设资源阈值,则从第二推流设备对应的算法套件集合中选取算法复杂度低于第一算法套件的算法套件作为目标算法套件。
在实施中,如果第一推流设备与第二推流设备各自使用的第一算法套件的算法复杂度不同,此时拉流设备会为每个推流设备单独创建一个算法套件集合。
进一步的,在第一推流设备使用的第一算法套件的算法复杂度高于第二推流设备使用的第一算法套件的算法复杂度时:
此时若出现设备可用资源高于预设资源阈值的情况,需要从第一推流设备对应的算法套件集合中选取算法复杂度高于第一算法套件的目标算法套件,从而使用目标算法套件对第一推流设备内的第一算法套件进行替换。该处理方式是在设备压力较低时,优先替换处理算法复杂度低的推流设备的算法套件。
对应的,如果出现设备可用资源低于预设资源阈值,则从第二推流设备对应的算法套件集合中选取算法复杂度低于第一算法套件的目标算法套件,从而使用目标算法套件对第二推流设备内的第一算法套件进行替换。该处理方式是为了在设备压力过高时,优先替换处理算法复杂度高的推流设备的算法套件。
需要注意的是,上述步骤S6265-步骤S6267提出的两个执行步骤,执行前提是第一推流设备使用的第一算法套件的算法复杂度高于第二推流设备使用的算法复杂度,此时在设备压力较低的情况下,优先降低第一推流设备内的算法复杂度,相对的,在设备压力较高的情况下,优先提升第二推流设备内的算法复杂度,这样的目的是尽可能实现两套推流设备内算法复杂度的一致性,令两套推流设备的压力趋向于平衡状态。
基于前述内容,下边给出一个基于设备可用资源的算法套件调整方法的详细执行过程,如图3所示,具体包括:
步骤S31,拉流设备向推流设备发送算法套件集合。
步骤S32,推流设备从算法套件集合中选取自身使用的算法套件,并反馈至拉流设备。
步骤S33,拉流设备根据接收到的反馈消息选取适合双方的算法套件,并与推流设备处获取密钥。
步骤S34,拉流设备与推流设备协同开展视频码流的加解密业务。
步骤S35,拉流设备实时监测自身与推流设备的设备可用资源。
步骤S36,如果设备可用资源高于预设资源阈值,则从算法套件集合中选取算法复杂度高于第一算法套件的算法套件作为目标算法套件。
步骤S37,如果设备可用资源低于预设资源阈值,则从算法套件集合中选取算法复杂度低于第一算法套件的算法套件作为目标算法套件。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,在本实施例中还提供了一种基于设备可用资源的算法套件调整装置,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,如图4所示,提供了一种基于设备可用资源的算法套件调整装置40,包括:算法套件生成模块42、业务处理模块44和算法套件替换模块46,其中:
算法套件生成模块42,用于向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合。
其中,此处的原始算法套件清单,本质上是拉流设备与推流设备双方共同支持的算法套件集合,通过推流设备与拉流设备基于自身资源情况与设备性能的支持情况从原始算法套件清单中选出可用的算法套件,从而完成算法的调整,在满足业务需求的同时也不会对设备性能造成过高的压力。
业务处理模块44,用于从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理。
其中,在基于推流设备的反馈信息生成的算法套件集合中,选取与拉流设备当前可用资源匹配的第一算法套件。由于反馈信息中包含算法套件是推流设备基于当前设备性能选出的,因此只需要拉流设备从算法套件集合中选取自身支持的第一算法套件用于视频码流的加解密处理即可。
需要注意的是,这里的第一算法套件是指首次出现的算法套件,即在时间维度上第一次应用在推流设备或拉流设备中的算法套件。
算法套件替换模块46,用于实时监测设备可用资源,当设备可用资源相对于预设资源阈值发生变化时,触发从算法套件集合中选取用于替换第一算法套件的目标算法套件的操作。
其中,供拉流设备与推流设备所使用的算法套件并非一成不变,对两套设备的设备可用资源进行实时监视,根据可用资源对之前使用的算法套件进行调整,从而满足不同设备可用资源使用条件下算法套件的调整。
通过执行上述算法套件调整方法,能够令推流设备与拉流设备在进行业务处理过程中能够实时根据设备可用资源对当前使用的第一算法套件进行替换,从而以动态更新算法套件的方式在保证业务处理能力的同时降低推流设备与拉流设备的设备压力。
上述基于设备可用资源的算法套件调整装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储算法套件调整过程中的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于设备可用资源的算法套件调整方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤S20,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合。
其中,此处的原始算法套件清单,本质上是拉流设备与推流设备双方共同支持的算法套件集合,通过推流设备与拉流设备基于自身资源情况与设备性能的支持情况从原始算法套件清单中选出可用的算法套件,从而完成算法的调整,在满足业务需求的同时也不会对设备性能造成过高的压力。
步骤S40,从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理。
其中,在基于推流设备的反馈信息生成的算法套件集合中,选取与拉流设备当前可用资源匹配的第一算法套件。由于反馈信息中包含算法套件是推流设备基于当前设备性能选出的,因此只需要拉流设备从算法套件集合中选取自身支持的第一算法套件用于视频码流的加解密处理即可。
需要注意的是,这里的第一算法套件是指首次出现的算法套件,即在时间维度上第一次应用在推流设备或拉流设备中的算法套件。
步骤S60,实时监测设备可用资源,当设备可用资源相对于预设资源阈值发生变化时,触发从算法套件集合中选取用于替换第一算法套件的目标算法套件的操作。
其中,供拉流设备与推流设备所使用的算法套件并非一成不变,对两套设备的设备可用资源进行实时监视,根据可用资源对之前使用的算法套件进行调整,从而满足不同设备可用资源使用条件下算法套件的调整。
通过执行上述算法套件调整方法,能够令推流设备与拉流设备在进行业务处理过程中能够实时根据设备可用资源对当前使用的第一算法套件进行替换,从而以动态更新算法套件的方式在保证业务处理能力的同时降低推流设备与拉流设备的设备压力。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤S20,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合。
其中,此处的原始算法套件清单,本质上是拉流设备与推流设备双方共同支持的算法套件集合,通过推流设备与拉流设备基于自身资源情况与设备性能的支持情况从原始算法套件清单中选出可用的算法套件,从而完成算法的调整,在满足业务需求的同时也不会对设备性能造成过高的压力。
步骤S40,从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理。
其中,在基于推流设备的反馈信息生成的算法套件集合中,选取与拉流设备当前可用资源匹配的第一算法套件。由于反馈信息中包含算法套件是推流设备基于当前设备性能选出的,因此只需要拉流设备从算法套件集合中选取自身支持的第一算法套件用于视频码流的加解密处理即可。
需要注意的是,这里的第一算法套件是指首次出现的算法套件,即在时间维度上第一次应用在推流设备或拉流设备中的算法套件。
步骤S60,实时监测设备可用资源,当设备可用资源相对于预设资源阈值发生变化时,触发从算法套件集合中选取用于替换第一算法套件的目标算法套件的操作。
其中,供拉流设备与推流设备所使用的算法套件并非一成不变,对两套设备的设备可用资源进行实时监视,根据可用资源对之前使用的算法套件进行调整,从而满足不同设备可用资源使用条件下算法套件的调整。
通过执行上述算法套件调整方法,能够令推流设备与拉流设备在进行业务处理过程中能够实时根据设备可用资源对当前使用的第一算法套件进行替换,从而以动态更新算法套件的方式在保证业务处理能力的同时降低推流设备与拉流设备的设备压力。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
步骤S20,向推流设备发送原始算法套件清单,接收推流设备基于原始算法套件清单的反馈信息,基于反馈信息生成算法套件集合。
其中,此处的原始算法套件清单,本质上是拉流设备与推流设备双方共同支持的算法套件集合,通过推流设备与拉流设备基于自身资源情况与设备性能的支持情况从原始算法套件清单中选出可用的算法套件,从而完成算法的调整,在满足业务需求的同时也不会对设备性能造成过高的压力。
步骤S40,从算法套件集合中选取与当前时刻的设备可用资源匹配的第一算法套件,根据第一算法套件协同推流设备进行视频码流的加解密处理。
其中,在基于推流设备的反馈信息生成的算法套件集合中,选取与拉流设备当前可用资源匹配的第一算法套件。由于反馈信息中包含算法套件是推流设备基于当前设备性能选出的,因此只需要拉流设备从算法套件集合中选取自身支持的第一算法套件用于视频码流的加解密处理即可。
需要注意的是,这里的第一算法套件是指首次出现的算法套件,即在时间维度上第一次应用在推流设备或拉流设备中的算法套件。
步骤S60,实时监测设备可用资源,当设备可用资源相对于预设资源阈值发生变化时,触发从算法套件集合中选取用于替换第一算法套件的目标算法套件的操作。
其中,供拉流设备与推流设备所使用的算法套件并非一成不变,对两套设备的设备可用资源进行实时监视,根据可用资源对之前使用的算法套件进行调整,从而满足不同设备可用资源使用条件下算法套件的调整。
通过执行上述算法套件调整方法,能够令推流设备与拉流设备在进行业务处理过程中能够实时根据设备可用资源对当前使用的第一算法套件进行替换,从而以动态更新算法套件的方式在保证业务处理能力的同时降低推流设备与拉流设备的设备压力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
- 一种基于区块链的可用资源配额的预兑换方法及装置
- 一种基于FP-Growth算法的潮流调整样本生成方法及装置
- 一种基于硬聚类算法的大数据分类方法、装置及设备
- 一种音响设备及其音效调整方法、装置、设备、介质
- 一种基于自调整离子运动算法的云计算资源调度方法
- 基于LRU算法的高可用缓存方法、存储装置以及电子设备