CN107229516B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN107229516B
CN107229516B CN201610173647.3A CN201610173647A CN107229516B CN 107229516 B CN107229516 B CN 107229516B CN 201610173647 A CN201610173647 A CN 201610173647A CN 107229516 B CN107229516 B CN 107229516B
Authority
CN
China
Prior art keywords
frame
data
change
frame image
module
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
Application number
CN201610173647.3A
Other languages
English (en)
Other versions
CN107229516A (zh
Inventor
王志杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201610173647.3A priority Critical patent/CN107229516B/zh
Priority to PCT/CN2017/075500 priority patent/WO2017162015A1/zh
Publication of CN107229516A publication Critical patent/CN107229516A/zh
Application granted granted Critical
Publication of CN107229516B publication Critical patent/CN107229516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种数据处理方法及装置,该数据处理方法应用于云会议服务器,该数据处理方法包括:接收终端设备传输的媒体数据文件,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值;确定与最大帧值相对应的内存页的容量值;读取与容量值对应的内存页,对媒体数据文件进行编码和/或解码。本发明解决了现有情况下,在不影响会议中音视频质量的前提下,难以实现优化云会议服务器CPU性能的问题。

Description

一种数据处理方法及装置
技术领域
本发明涉及通信领域,特别涉及一种数据处理方法及装置。
背景技术
云会议是基于云计算技术的一种高效、便捷、低成本的会议形式,使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前的云会议系统通常运行在公有云或私有云上,使用公有云一般是通过租赁方式,按照预约的资源(中央处理器的核数及内存)进行付费,使用私有云也需要考虑服务器的资源(中央处理器的核数及内存)是否够用,是否达到了系统的临界值。因此,服务器的中央处理器(CPU)性能是影响云会议质量的关键所在,而在云会议中,耗CPU性能最多的就是音视频媒体,目前优化服务器的CPU性能的方法主要包括:优化音视频编解码算法,或直接扩展CPU核数,或降低音视频质量;上述方法中,降低音视频质量会影响会议效果;而优化音视频编解码算法以及直接扩展CPU核数操作起来比较复杂,因此,在不影响会议中音视频质量的前提下,如何优化服务器CPU性能,成为一个难以解决的问题。
发明内容
本发明提供了一种数据处理方法及装置,其目的是为了解决现有情况下,在不影响会议中音视频质量的前提下,难以实现优化云会议服务器CPU性能的问题。
为了达到上述目的,本发明的实施例提供了一种数据处理方法,应用于云会议服务器,该数据处理方法包括:
接收终端设备传输的媒体数据文件,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值;
确定与最大帧值相对应的内存页的容量值;
读取与容量值对应的内存页,对媒体数据文件进行编码和/或解码。
优选地,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值的步骤,包括:
获取与终端设备交互时的会议能力,会议能力至少包括终端设备的上会速率以及终端设备与协议栈进行数据交互时的音频格式、视频格式;
根据会议能力确定最大帧值。
优选地,该方法还包括:
对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
优选地,对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理的步骤,包括:
对比第一帧图像的数据以及与第一帧图像相邻的第二帧图像的数据,第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量小于第一预设值,则删除第一帧图像;
若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量大于等于第一预设值,则保留第一帧图像。
优选地,该方法还包括:
当监测到系统代码发生变化时,调用编译模块编译变化代码;
若变化代码编译成功,则执行变化代码的测试用例,记录并输出测试用例的相关信息;相关信息至少包括:执行测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率;
若变化代码编译失败,则记录编译过程中发生错误的位置。
优选地,当监测到系统代码发生变化的步骤之后,还包括:
获取并记录变化代码的变化信息,变化信息至少包括:变化代码的变化时间以及变化位置,与变化代码相关的函数或模块,与变化代码相关的函数所调用的函数或模块。
为了实现上述目的,本发明的实施例还提供了一种数据处理装置,应用于云会议服务器,该数据处理装置包括:
接收模块,用于接收终端设备传输的媒体数据文件,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值;
确定模块,用于确定与最大帧值相对应的内存页的容量值;
读取模块,用于读取与容量值对应的内存页,对媒体数据文件进行编码和/或解码。
优选地,接收模块包括:
获取子模块,用于获取与终端设备交互时的会议能力,会议能力至少包括终端设备的上会速率以及终端设备与协议栈进行数据交互时的音频格式、视频格式;
帧值确定子模块,用于根据会议能力确定最大帧值。
优选地,该装置还包括:
抽帧模块,用于对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
优选地,抽帧模块包括:
对比子模块,用于对比第一帧图像的数据以及与第一帧图像相邻的第二帧图像的数据,第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
删除子模块,用于若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量小于第一预设值时,删除第一帧图像;
保留子模块,用于若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量大于等于第一预设值时,保留第一帧图像。
优选地,该装置还包括:
监测模块,用于当监测到系统代码发生变化时,调用编译模块编译变化代码;
执行模块,用于若变化代码编译成功,则执行变化代码的测试用例,记录并输出测试用例的相关信息;相关信息至少包括:执行测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率;
记录模块,用于若变化代码编译失败,则记录编译过程中发生错误的位置。
优选地,该装置还包括:
记录模块,用于在监测模块当监测到系统代码发生变化之后,
获取并记录变化代码的变化信息,变化信息至少包括:变化代码的变化时间以及变化位置,与变化代码相关的函数或模块,与变化代码相关的函数所调用的函数或模块。
本发明的上述方案至少包括以下有益效果:
本发明提供的数据处理方法及装置,通过预判媒体数据文件的最大帧值,根据最大帧值的大小,实时调整内存页的大小,合理利用系统内存,在不浪费内存的前提下,减少读取内存的次数,降低CPU占用率;通过抽帧处理选择性地抽取不必要的媒体帧,减少服务器处理的数据量,降低编码、解码的复杂度;系统代码发生变化时,直接调用编译模块进行编译并记录编译结果以及变化代码的相关信息,以方便工作人员进行代码优化以及错误定位,增强系统的可维护性;本发明在不影响云会议音视频质量的前提下,优化了云会议服务器CPU性能,使云会议系统运行在一个低负载、低能耗的环境下。
附图说明
图1表示本发明的第一实施例提供的数据处理方法的基本步骤流程图;
图2表示本发明的第二实施例提供的数据处理装置的框图;
图3表示本发明的第二实施例的编译管理模块执行的基本步骤流程图;
图4表示本发明的第二实施例的内存管理模块执行的基本步骤流程图;
图5表示本发明的第二实施例的编码算法模块执行的基本步骤流程图;
图6表示本发明的第三实施例提供的数据处理装置的框图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的问题,提供了一种数据处理方法及装置。
第一实施例
参见图1,本发明的第一实施例提供了一种数据处理方法,应用于云会议服务器,该数据处理方法包括:
步骤101,接收终端设备传输的媒体数据文件,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值。
其中,云会议过程中,服务器接收来自各个终端设备的媒体数据文件,并对媒体数据文件进行解码、编码等操作。在编码和/或解码的过程中,服务器需要反复读取内存来完成编码、解码的工作,因此,系统内存主要消耗在编码、解码的过程中,因此,减少系统读取内存的次数,可有效地减少CPU占用率。而各个终端设备的每个媒体数据文件的帧值的大小是不同的,因此,简单地通过扩大内存页,对于媒体数据文件帧值较小的终端设备,就会造成资源的浪费,因此,需要预判各个终端设备的媒体数据文件的帧值,得出对媒体数据文件进行编码和/或解码的最大帧值,根据最大帧值为该终端设备匹配最适应的内存页,合理地利用内存。
步骤102,确定与最大帧值相对应的内存页的容量值。
具体地,内存页的容量值即内存页的大小。可根据服务器的性能,配置与最大帧值相对应的内存页的容量值,比如服务器的内存页按照大小可分为大页、中页以及小页三种,那么对于分辨率较高的终端设备,可为其分配大页内存,避免内存页不足需要反复读取,增加CPU占用率;对于分辨率较低的终端设备,可为其分配小页内存,避免使用大页内存造成资源的浪费。
步骤103,读取与容量值对应的内存页,对媒体数据文件进行编码和/或解码。
其中,使服务器根据与容量值对应的大小的内存页,对媒体数据文件进行编码和/或解码,在不浪费内存的前提下,减少读取内存的次数,降低CPU占用率。需要说明的时,当服务器接收下一个终端设备的媒体数据文件时,再根据下一个终端设备的媒体数据文件的帧值,实时调整内存页的大小,避免增加系统内存,达到优化CPU性能的效果。
本发明的上述实施例中,步骤101包括:
获取与终端设备交互时的会议能力,会议能力至少包括终端设备的上会速率以及终端设备与协议栈进行数据交互时的音频格式、视频格式;
根据会议能力确定最大帧值。
具体地,可根据终端设备的会议能力预判终端设备传输的媒体数据文件的最大帧值,比如根据终端设备的上会速率、与协议栈进行数据交互时的音频格式、视频格式确定一个上述三个参数均能支持的最大帧值。
本发明的上述实施例中,该方法还包括:
对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
其中,抽帧处理的目的是为了降低媒体数据文件的帧率,减少服务器的工作量。
具体地,对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理的步骤,包括:
对比第一帧图像的数据以及与第一帧图像相邻的第二帧图像的数据,第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量小于第一预设值,则删除第一帧图像;
若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量大于等于第一预设值,则保留第一帧图像。
其中,第一预设数值可根据实际情况自行设定。对比相邻的两帧图像的数据,若两帧图像的数据中不同的数据的数量小于第一预设数值,则表明两帧图像组成的画面可能是静止画面,则可以删除其中一帧,反之,若两帧图像间数据变化量大于第一预设数值,则说明两帧图像组成的画面可能是运动画面,则需同时保留两帧图像,重复以上抽帧处理的动作,继续对比后面的图像,选择性地抽取不必要的媒体帧,可有效地减少服务器处理的数据量,降低编码、解码的复杂度。
本发明的上述实施例中,该方法还包括:
第一步,当监测到系统代码发生变化时,调用编译模块编译变化代码。
其中,当监测到系统代码发生变化时,为了更快地获得编译效果,直接调用编译模块编译相关代码。
第二步,若变化代码编译成功,则执行变化代码的测试用例,记录并输出测试用例的相关信息;相关信息至少包括:执行测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率。
其中,若变化代码编译成功,则执行测试用例,记录并输出测试用例的相关信息,以便工作人员对变化代码进行优化,有针对性的修改相关代码;比如若执行用例所用时长较长、或CPU占用率以及系统内存占用率较高时,则需更改相关代码,以对编译结果进行代码优化。
第三步,若变化代码编译失败,则记录编译过程中发生错误的位置。
其中,若编译错误,则记录发生错误的位置,以便工作人员进行相应修改。
具体地,上述第一步之后,该方法还包括:
获取并记录变化代码的变化信息,变化信息至少包括:变化代码的变化时间以及变化位置,与变化代码相关的函数或模块,与变化代码相关的函数所调用的函数或模块。
其中,获取并记录变化代码的变化信息,以方便工作人员进行代码优化以及错误定位,增强系统的可维护性。
本发明提供的数据处理方法,通过预判媒体数据文件的最大帧值,根据最大帧值的大小,实时调整内存页的大小,合理利用系统内存,在不浪费内存的前提下,减少读取内存的次数,降低CPU占用率;通过抽帧处理选择性地抽取不必要的媒体帧,减少服务器处理的数据量,降低编码、解码的复杂度;系统代码发生变化时,直接调用编译模块进行编译并记录编译结果以及变化代码的相关信息,以方便工作人员进行代码优化以及错误定位,增强系统的可维护性;本发明在不影响云会议音视频质量的前提下,使云会议系统运行在一个低负载、低能耗的环境下,优化了云会议服务器CPU性能。
第二实施例
第二实施例以一个具体实施例介绍本发明提供的数据处理方法。参见图2,图2为第二实施例提供的数据处理装置的框图,该数据处理装置应用于云会议系统,其中该数据处理装置包括以下模块:
编译管理模块201,其中,编译管理模块201采用边编写边编译策略,并上报编译结果;可选地,系统代码采用ICC编译器(Intel C++Compiler)进行编译,该编译器能够极大的提高应用程序的性能,提高应用程序的执行能力。
内存管理模块202,用于管理整个系统的内存,并根据媒体帧大小,实时调整内存页的大小,合理利用系统内存;
编码算法模块203,用于根据选择性抽帧,负责实时调整编码抽帧策略,供编码模块调用该策略来进行编码,把图像像素(YUV格式或RGB格式)编码成为H26*码流。
需要说明的是,三个模块之间并不是直接通讯,而是整个数据处理装置中的三个独立模块,本实施例通过增加这三个模块来优化整个云会议系统性能;
具体地,参见图3,编译管理模块201执行如下步骤:
步骤301,实时监测代码是否发生变化。
其中,需要代码编写人员严格按照ICC编译标准进行,且当有新增或修改某个功能函数后,需要代码编写人员补充或修改测试用例。
步骤302,当发现有代码改变,调用编译模块启动编译;
步骤303,判断编译是否完成:若未完成,则返回继续编译;若完成,则执行步骤304,反馈编译结果。
其中,编译结果包括变化代码的变化时间以及变化位置,与变化代码相关的函数或模块,与变化代码相关的函数所调用的函数或模块。代码编写人员可根据编译管理模块201上报的编译结果快速进行代码优化。
参见图4,内存管理模块202执行如下步骤:
步骤401,对媒体帧进行预判。
其中,在对媒体数据进行解码之前,需要预判该媒体帧的大小,预判媒体帧大小的依据是该路终端上会时与协议栈交互的会议能力(包括上会速率和音视频格式),通过该能力匹配一个最大可能的帧大小,来决定云会议服务器的解码模块读取内存时使用的页大小。
步骤402,根据预判的最大帧值,为终端设备分配内存页。
其中,云会议服务器的媒体模块需要反复读取内存来完成编码、解码,所以系统内存主要消耗在媒体的编解码部分上,内存管理模块202主要管理媒体的内存使用,通过透明大页内存技术,在不增加系统内存的情况下,减少YUV或RGB像素格式拷贝,减少媒体模块访问内存的次数,来提高系统性能,减少CPU占用率。而对于每个终端来说,每个媒体帧大小是不一样的,如果仅仅通过大页内存,简单地扩大页的大小,那么对于小的媒体帧,就会造成内存浪费,内存管理模块202还根据每路终端的媒体帧大小,负责实时调整内存的页大小,以适应不同大小的媒体帧,合理充分利用内存。
参见图5,编码算法模块203主要执行如下步骤:
步骤501,对媒体帧之间进行比较,获取相邻媒体帧之间变化的数据的数量。
具体地,编码算法模块203把前后相邻的媒体帧作比较,以得到两帧之间变化的数据的数量。
步骤502,当两帧数据之间无变化,说明该路终端在该时间段内是静止画面,则执行步骤503,将其中一帧数据抽取掉。
步骤504,当两帧数据之间变化很小(数据变化量小于一预设数值),说明该路终端在该时间段内是小运动画面,则执行步骤505,按照第一预设比例间隔性的抽取某帧。
步骤506,当两帧数据之间变化很大(数据变化量大于等于上述预设数值),说明该路终端在该时间段内是大运动画面,则执行步骤507,按照第二预设比例抽帧。
编码算法模块203可实现选择性的抽取某些不需要的媒体帧,从而减少了模块处理的数据量,降低编码复杂度。
本发明的上述实施例中,通过编译管理模块201加快了代码迭代速度,优化系统运行性能;在不降低音视频质量的前提下,内存管理模块202实时调整内存页大小,在不浪费内存的前提下,减少读取内存次数,降低了系统CPU占用率;编码算法模块203在不增加系统CPU核数的情况下,过抽帧处理选择性地抽取不必要的媒体帧,减少服务器处理的数据量,降低编码、解码的复杂度。
第三实施例
参见图6,本发明的第三实施例提供了一种数据处理装置,应用于云会议服务器,该数据处理装置包括:
接收模块601,用于接收终端设备传输的媒体数据文件,对媒体数据文件的帧值进行预判,得出对媒体数据文件进行编码和/或解码的最大帧值;
确定模块602,用于确定与最大帧值相对应的内存页的容量值;
读取模块603,用于读取与容量值对应的内存页,对媒体数据文件进行编码和/或解码。
优选地,接收模块601包括:
获取子模块,用于获取与终端设备交互时的会议能力,会议能力至少包括终端设备的上会速率以及终端设备与协议栈进行数据交互时的音频格式、视频格式;
帧值确定子模块,用于根据会议能力确定最大帧值。
优选地,装置还包括:
抽帧模块,用于对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
优选地,抽帧模块包括:
对比子模块,用于对比第一帧图像的数据以及与第一帧图像相邻的第二帧图像的数据,第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
删除子模块,用于若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量小于第一预设值时,删除第一帧图像;
保留子模块,用于若第一帧图像的数据与第二帧图像的数据中,内容不相同数据的数量大于等于第一预设值时,保留第一帧图像。
优选地,该装置还包括:
监测模块,用于当监测到系统代码发生变化时,调用编译模块编译变化代码;
执行模块,用于若变化代码编译成功,则执行变化代码的测试用例,记录并输出测试用例的相关信息;相关信息至少包括:执行测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率;
记录模块,用于若变化代码编译失败,则记录编译过程中发生错误的位置。
优选地,该装置还包括:
记录模块,用于在监测模块当监测到系统代码发生变化之后,
获取并记录变化代码的变化信息,变化信息至少包括:变化代码的变化时间以及变化位置,与变化代码相关的函数或模块,与变化代码相关的函数所调用的函数或模块。
本发明提供的数据处理装置,通过预判媒体数据文件的最大帧值,根据最大帧值的大小,实时调整内存页的大小,合理利用系统内存,在不浪费内存的前提下,减少读取内存的次数,降低CPU占用率;通过抽帧处理选择性地抽取不必要的媒体帧,减少服务器处理的数据量,降低编码、解码的复杂度;系统代码发生变化时,直接调用编译模块进行编译并记录编译结果以及变化代码的相关信息,以方便工作人员进行代码优化以及错误定位,增强系统的可维护性;本发明在不影响云会议音视频质量的前提下,使云会议系统运行在一个低负载、低能耗的环境下,优化了云会议服务器CPU性能。
需要说明的是,本发明实施例提供的数据处理装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种数据处理方法,应用于云会议服务器,其特征在于,所述数据处理方法包括:
对已接收的终端设备传输的媒体数据文件的帧值进行预判,得出对所述媒体数据文件进行编码和/或解码的最大帧值;
根据对所述媒体数据文件进行编码和/或解码的最大帧值,调整内存页的容量值;
读取与已调整的容量值对应的内存页,对所述媒体数据文件进行编码和/或解码。
2.根据权利要求1所述的数据处理方法,其特征在于,所述对已接收的终端设备传输的媒体数据文件的帧值进行预判,得出对所述媒体数据文件进行编码和/或解码的最大帧值的步骤,包括:
获取与所述终端设备交互时的会议能力,所述会议能力至少包括所述终端设备的上会速率以及所述终端设备与协议栈进行数据交互时的音频格式、视频格式;
根据所述会议能力确定所述最大帧值。
3.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
4.根据权利要求3所述的数据处理方法,其特征在于,所述对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理的步骤,包括:
对比第一帧图像的数据以及与所述第一帧图像相邻的第二帧图像的数据,所述第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
若所述第一帧图像的数据与所述第二帧图像的数据中,内容不相同数据的数量小于第一预设值,则删除所述第一帧图像;
若所述第一帧图像的数据与所述第二帧图像的数据中,内容不相同数据的数量大于等于所述第一预设值,则保留所述第一帧图像。
5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
当监测到系统代码发生变化时,调用编译模块编译变化代码;
若所述变化代码编译成功,则执行所述变化代码的测试用例,记录并输出所述测试用例的相关信息;所述相关信息至少包括:执行所述测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率;
若所述变化代码编译失败,则记录编译过程中发生错误的位置。
6.根据权利要求5所述的数据处理方法,其特征在于,所述当监测到系统代码发生变化的步骤之后,还包括:
获取并记录所述变化代码的变化信息,所述变化信息至少包括:所述变化代码的变化时间以及变化位置,与所述变化代码相关的函数或模块,所述与所述变化代码相关的函数所调用的函数或模块。
7.一种数据处理装置,应用于云会议服务器,其特征在于,所述数据处理装置包括:
接收模块,用于对已接收的终端设备传输的媒体数据文件的帧值进行预判,得出对所述媒体数据文件进行编码和/或解码的最大帧值;
确定模块,用于根据对所述媒体数据文件进行编码和/或解码的最大帧值,调整内存页的容量值;
读取模块,用于读取与已调整的容量值对应的内存页,对所述媒体数据文件进行编码和/或解码。
8.根据权利要求7所述的数据处理装置,其特征在于,所述接收模块包括:
获取子模块,用于获取与所述终端设备交互时的会议能力,所述会议能力至少包括所述终端设备的上会速率以及所述终端设备与协议栈进行数据交互时的音频格式、视频格式;
帧值确定子模块,用于根据所述会议能力确定所述最大帧值。
9.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括:
抽帧模块,用于对解码后的媒体数据文件中满足预设的抽帧条件的图像,进行抽帧处理。
10.根据权利要求9所述的数据处理装置,其特征在于,所述抽帧模块包括:
对比子模块,用于对比第一帧图像的数据以及与所述第一帧图像相邻的第二帧图像的数据,所述第一帧图像、第二帧图像均为解码后的媒体数据文件中的图像:
删除子模块,用于若所述第一帧图像的数据与所述第二帧图像的数据中,内容不相同数据的数量小于第一预设值时,删除所述第一帧图像;
保留子模块,用于若所述第一帧图像的数据与所述第二帧图像的数据中,内容不相同数据的数量大于等于所述第一预设值时,保留所述第一帧图像。
11.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括:
监测模块,用于当监测到系统代码发生变化时,调用编译模块编译变化代码;
执行模块,用于若所述变化代码编译成功,则执行所述变化代码的测试用例,记录并输出所述测试用例的相关信息;所述相关信息至少包括:执行所述测试用例所用时长、系统中央处理器CPU占用率以及系统内存占用率;
记录模块,用于若所述变化代码编译失败,则记录编译过程中发生错误的位置。
12.根据权利要求11所述的数据处理装置,其特征在于,所述装置还包括:
记录模块,用于在所述监测模块当监测到系统代码发生变化之后,
获取并记录所述变化代码的变化信息,所述变化信息至少包括:所述变化代码的变化时间以及变化位置,与所述变化代码相关的函数或模块,所述与所述变化代码相关的函数所调用的函数或模块。
CN201610173647.3A 2016-03-24 2016-03-24 一种数据处理方法及装置 Active CN107229516B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610173647.3A CN107229516B (zh) 2016-03-24 2016-03-24 一种数据处理方法及装置
PCT/CN2017/075500 WO2017162015A1 (zh) 2016-03-24 2017-03-02 一种数据处理方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610173647.3A CN107229516B (zh) 2016-03-24 2016-03-24 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN107229516A CN107229516A (zh) 2017-10-03
CN107229516B true CN107229516B (zh) 2020-12-29

Family

ID=59899184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610173647.3A Active CN107229516B (zh) 2016-03-24 2016-03-24 一种数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN107229516B (zh)
WO (1) WO2017162015A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021444B (zh) * 2017-11-06 2022-04-05 珠海格力智能装备有限公司 数据处理方法和装置
CN110189388B (zh) * 2019-05-28 2024-06-14 上海哔哩哔哩科技有限公司 动画检测方法、可读存储介质及计算机设备
CN110399204A (zh) * 2019-07-26 2019-11-01 苏州浪潮智能科技有限公司 一种kvm的内存配置方法、装置、设备及可读存储介质
CN113747159B (zh) * 2021-09-06 2023-10-13 深圳软牛科技有限公司 一种生成可变帧率视频媒体文件的方法、装置及相关组件

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801779A (en) * 1995-12-26 1998-09-01 C-Cube Microsystems, Inc. Rate control with panic mode
CN101021846A (zh) * 2006-02-14 2007-08-22 乐金电子(中国)研究开发中心有限公司 一种不定帧长结构数据流的存储方法
CN102118612A (zh) * 2009-12-31 2011-07-06 Tcl集团股份有限公司 一种音视频硬解码芯片内存资源的获取方法及系统
CN103024348A (zh) * 2012-11-06 2013-04-03 前卫视讯(北京)科技发展有限公司 视频监控的运维管理系统
CN103118273A (zh) * 2012-12-12 2013-05-22 张力 一种安防视频硬编码芯片内存资源分配的预测方法
CN103530225A (zh) * 2013-09-10 2014-01-22 武汉烽火网络有限责任公司 自动化编译测试方法及实现该方法的自动化编译测试平台
CN103546802A (zh) * 2013-10-15 2014-01-29 深圳Tcl新技术有限公司 动态调整缓存的方法及显示终端
CN103699447A (zh) * 2014-01-08 2014-04-02 北京航空航天大学 一个基于云计算的视频会议的转码分发系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617319B2 (en) * 2005-06-30 2009-11-10 Motorola, Inc. Method and system for optimizing transcoder resources
CN103888492A (zh) * 2012-12-20 2014-06-25 鸿富锦精密工业(深圳)有限公司 内存管理系统及方法
CN104038392A (zh) * 2014-07-04 2014-09-10 云南电网公司 一种云计算资源服务质量评估方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801779A (en) * 1995-12-26 1998-09-01 C-Cube Microsystems, Inc. Rate control with panic mode
CN101021846A (zh) * 2006-02-14 2007-08-22 乐金电子(中国)研究开发中心有限公司 一种不定帧长结构数据流的存储方法
CN102118612A (zh) * 2009-12-31 2011-07-06 Tcl集团股份有限公司 一种音视频硬解码芯片内存资源的获取方法及系统
CN103024348A (zh) * 2012-11-06 2013-04-03 前卫视讯(北京)科技发展有限公司 视频监控的运维管理系统
CN103118273A (zh) * 2012-12-12 2013-05-22 张力 一种安防视频硬编码芯片内存资源分配的预测方法
CN103530225A (zh) * 2013-09-10 2014-01-22 武汉烽火网络有限责任公司 自动化编译测试方法及实现该方法的自动化编译测试平台
CN103546802A (zh) * 2013-10-15 2014-01-29 深圳Tcl新技术有限公司 动态调整缓存的方法及显示终端
CN103699447A (zh) * 2014-01-08 2014-04-02 北京航空航天大学 一个基于云计算的视频会议的转码分发系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
扩展缩短CRC码研究和CRC_R_省略_C_Turbo的FPGA硬件实现;周秦英;《中国优秀博硕士学位论文全文数据库 (硕士)信息科技辑》;20040915(第3期);第49-52页 *

Also Published As

Publication number Publication date
CN107229516A (zh) 2017-10-03
WO2017162015A1 (zh) 2017-09-28

Similar Documents

Publication Publication Date Title
CN107229516B (zh) 一种数据处理方法及装置
CN102882829A (zh) 一种转码方法及系统
CN103179133B (zh) 基于实体类的客户端与服务器通信的方法
CN104685873B (zh) 编码控制设备以及编码控制方法
CN104469370A (zh) 一种视频转码的方法和装置
US11997314B2 (en) Video stream processing method and apparatus, and electronic device and computer-readable medium
CN105162809A (zh) 一种基于模块间通信的实时视频转码系统
CN105187845A (zh) 视频数据解码装置及解码方法
CN113225585A (zh) 一种视频清晰度的切换方法、装置、电子设备以及存储介质
CN114501025A (zh) 一种视频转码方法、装置、设备及介质
CN104202656A (zh) 网络音频mp3流乱序分段解码方法
CN111083408B (zh) 一种视频存储业务的处理方法、系统及设备
CN110891195B (zh) 花屏图像的生成方法、装置、设备和存储介质
CN202210851U (zh) 一种用于标清和高清音视频编解码的控制装置
CN104202659A (zh) 网络视频流乱序分段解码方法
CN105338371A (zh) 一种多媒体转码调度方法和装置
CN104333765A (zh) 一种视频直播流的处理方法及处理装置
CN111510715B (zh) 视频处理方法、系统、计算机设备及存储介质
CN106658154A (zh) 一种视频截图方法、装置和设备以及视频处理方法、装置和设备
CN105657540A (zh) 一种适配安卓系统的视频解码方法及其装置
EP2819013B1 (en) Automated adaption of a Codec
TWI735297B (zh) 具有初始化片段之視訊及音訊之寫碼
CN103139757B (zh) 一种移动终端应用程序的数据传输系统和方法
CN117938822B (zh) 一种基于wasm的实时语音通信方法、终端及摄像头
CN113691813B (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