CN117978907A - 一种数据处理方法、电子设备及介质 - Google Patents

一种数据处理方法、电子设备及介质 Download PDF

Info

Publication number
CN117978907A
CN117978907A CN202211321412.6A CN202211321412A CN117978907A CN 117978907 A CN117978907 A CN 117978907A CN 202211321412 A CN202211321412 A CN 202211321412A CN 117978907 A CN117978907 A CN 117978907A
Authority
CN
China
Prior art keywords
data
node
callback
pipeline
processed
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.)
Pending
Application number
CN202211321412.6A
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211321412.6A priority Critical patent/CN117978907A/zh
Publication of CN117978907A publication Critical patent/CN117978907A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提供一种数据处理方法、电子设备及介质,设计终端技术领域,该方法可以应用于电子设备,该方法包括:电子设备获取待处理数据的文件描述符,根据待处理数据的文件描述符,配置针对待处理数据的管线,然后在该管线中添加回调节点,并配置该回调节点与预先构建的监听器之间的对应关系,该回调节点用于将管线输出的数据处理结果回传给与回调节点对应的监听器,监听器拿到回传数据后,可以告知应用层的目标应用,目标应用再从监听器获取回传数据。如此,在数据处理过程中,无需目标应用持续监督管线输出的数据处理结果,而是由监听器进行监听,可见对于目标应用而言,是一种异步获取回传数据的方式,不影响用户使用手机的其他功能。

Description

一种数据处理方法、电子设备及介质
技术领域
本申请涉及终端技术领域,尤其涉及一种数据处理方法、电子设备及介质。
背景技术
随着终端技术的发展,电子设备如手机也飞速发展,手机的存储能力也逐渐提升。通常,手机上会存储有大量的多媒体数据,例如图片、视频和录音等。
一般的,手机可以对上述多媒体数据进行处理,例如,用户可以通过手机对多媒体数据进行剪辑等处理。图片和录音的数据大小通常会小于视频的数据大小,手机对数据量较小的数据(如图片)进行处理的速度较快,而对数据量较大的数据(如视频)进行处理的速度较慢,需要消耗的时间较长。
然而,手机对数据量较大的数据中进行处理的过程中,用户无法在数据处理期间使用手机的其他功能,影响用户的体验。
发明内容
本申请提供一种数据处理方法、电子设备及介质,能够使用户在数据处理期间使用手机的其他功能,提高用户的体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种数据处理方法,应用于电子设备,电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、手持计算机、上网本、可穿戴电子设备、智能手表等设备。具体地,该方法包括:电子设备获取待处理数据的文件描述符,根据待处理数据的文件描述符,配置针对待处理数据的管线,然后在该管线中添加回调节点,并配置该回调节点与预先构建的监听器之间的对应关系,该回调节点用于将管线输出的数据处理结果回传给与回调节点对应的监听器,监听器拿到回传数据后,可以告知应用层的目标应用,目标应用再从监听器获取回传数据。如此,在数据处理过程中,无需目标应用持续监督管线输出的数据处理结果,而是由监听器进行监听,可见对于目标应用而言,是一种异步获取回传数据的方式,不影响用户使用手机的其他功能。
在一些可能的实现方式中,电子设备可以在待处理数据的数据流大于预设阈值时,在管线中添加回调节点。
在一些可能的实现方式中,电子设备可以在管线的最后一个节点之后,添加回调节点。如此使得管线对数据进行处理后的数据处理结果给到回调节点,以进行数据的回传。
在一些可能的实现方式中,电子设备可以对待处理数据的文件描述符进行解析,得到针对待处理数据的处理节点以及处理节点的连接顺序;按照处理节点的连接顺序,对处理节点进行连接,得到针对待处理数据的管线。
在一些可能的实现方式中,电子设备可以展示目标应用的用户界面,该用户界面可以包括目标控件,例如可以是一键成片控件,该目标控件用于指示对待处理数据进行处理。电子设备可以是响应于针对目标控件的触发操作,获取待处理数据的文件描述符。
在一些可能的实现方式中,电子设备包括应用层和媒体中台后处理框架层,应用层包括目标应用,媒体中台后处理框架层包括解决方案层和核心框架层;在管线中添加回调节点,并配置回调节点与预先构建的监听器之间的对应关系,包括:目标应用向核心框架层发送配置监听指令;核心框架层基于配置监听指令,配置监听器;目标应用向解决方案层发送注册回调指令;解决方案层基于注册回调指令,向核心框架层发送配置回调指令;核心框架层基于配置回调指令,配置回调节点和监听器之间的对应关系。
在一些可能的实现方式中,从监听器处获取回传数据,包括:在监听器接收到回调节点的回传数据后,监听器向应用层的目标应用上报通知;目标应用基于监听器上报的通知,从监听器处获取回传数据。
在一些可能的实现方式中,核心框架层包括:节点管理模块、数据监听模块和管线模块;根据待处理数据的文件描述符,配置针对待处理数据的管线,包括:解决方案层向节点管理模块发送节点配置指令;节点配置模块基于节点配置指令对针对待处理数据的节点进行配置,向管线模块发送第一连接指令;管线模块基于第一连接指令,将针对待处理数据的节点连接成管线。
第二方面,本申请提供了一种电子设备,该电子设备包括存储器、处理器;存储器,用于存储有计算机程序;处理器,用于执行存储器中的计算机程序,以实现第一方面中任一种可能实现方式中的方法。
第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一种可能实现方式中所述的方法。
第四方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面中任一种可能实现方式中所述的方法。
本申请的技术方案具有如下有益效果:
本申请提供了一种数据处理方法,该方法包括:电子设备获取待处理数据的文件描述符,根据待处理数据的文件描述符,配置针对待处理数据的管线,然后在该管线中添加回调节点,并配置该回调节点与预先构建的监听器之间的对应关系,该回调节点用于将管线输出的数据处理结果回传给与回调节点对应的监听器,监听器拿到回传数据后,可以告知应用层的目标应用,目标应用再从监听器获取回传数据。如此,在数据处理过程中,无需目标应用持续监督管线输出的数据处理结果,而是由监听器进行监听,可见对于目标应用而言,是一种异步获取回传数据的方式,不影响用户使用手机的其他功能。该方法中,能够使用户在数据处理期间使用手机的其他功能,提高用户的体验。
附图说明
图1为本申请实施例提供的一种电子设备的组成示意图;
图2为本申请实施例提供的一种电子设备的软件结构示意图;
图3为本申请实施例提供的一种数据处理方法的流程图;
图4为本申请实施例提供的一种打开图库应用的示意图;
图5A为本申请实施例提供的一种图库界面的示意图;
图5B为本申请实施例提供的一种相册界面的示意图;
图5C为本申请实施例提供的一种显示图片界面的示意图;
图5D为本申请实施例提供的一种编辑界面的示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
媒体中台后处理框架是指集成了多种针对媒体数据处理功能的框架,不同的功能可以通过不同的节点体现,也就是说,不同的节点,所体现的功能不同。在一些示例中,不同的电子设备,媒体中台后处理框架的节点能力不同。应用层的应用可以通过媒体中台后处理框架进行查询电子设备所支持的能力,并对相关的能力进行调用,从而实现各种各样的功能,例如,视频剪辑、拍摄图像等。在一些示例中,电子设备可以动态显示功能控件,因此,针对不同的电子设备而言,不同的用户体验到的功能不同。
一般的,为了便于用户使用,电子设备如手机出厂后,手机上会配备有一些内置应用,例如相机、图库、电话、短信、浏览器、万能遥控器等。为了引发用户兴趣,提高手机的受欢迎程度,在上述图库应用中设计对图片和/或视频进行剪辑的功能。例如,可以在相册应用中设计一键成片的功能,基于一件成片的功能,用户仅需要对素材(图片和/或视频)进行选择,然后基于一键成片控件,手机将会自动地对素材进行剪辑处理,进而得到处理后的多媒体数据。
然而,在手机对素材进行剪辑处理过程中,用户无法在处理期间使用手机的其他功能,用户需要等待剪辑处理完成后,才能够使用手机的其他功能,并且当素材的数据较大时,手机进行剪辑处理过程中所需要的时间较长,增加用户的等待时间,影响用户的使用体验。
有鉴于此,本申请实施例提供了一种数据处理方法,该方法可以应用于电子设备,该电子设备在对数据进行处理过程中,可以先判断待处理数据的数据量大小,若待处理数据的数据量小于预设阈值,针对数据量较小的数据(例如图片),选择同步处理方式进行处理;若待处理数据的数据量大于或等于预设阈值,针对数据较大的数据(视频),选择异步处理方式进行处理。在异步处理方式中,以电子设备处理视频数据为例,电子设备仅需要在视频处理节点之后,注册回调节点,如此,在视频处理节点对视频进行处理过程中,得到视频数据处理结果后,回调节点会主动上报视频数据处理结果,用户在等待手机对数据进行处理的过程中,也能够使用手机的其他功能,提高用户的使用体验。
在一些实施例中,电子设备还可以是平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备,本申请对上述电子设备的具体形式不做特殊限制。在本实施例中,电子设备的结构可以如图1所示,图1为本申请实施例提供的一种电子设备的结构示意图。
如图1所示,电子设备可以包括处理器110,内部存储器121,天线1,天线2,移动通信模块150,无线通信模块160,传感器模块180,显示屏194等。其中传感器模块180可以包括触摸传感器180K等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,在本申请中,处理器110可以获取待处理数据的文件描述符;根据所述待处理数据的文件描述符,配置针对所述待处理数据的管线;在所述管线中添加回调节点,并配置所述回调节点与预先构建的监听器之间的对应关系,所述回调节点用于将所述管线输出的数据处理结果回传给与所述回调节点对应的监听器;从所述监听器处获取所述回传数据。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备的触摸功能。基于电子设备的触摸功能,在用户触摸电子设备所显示的应用图标后,电子设备可以启动该应用。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。
MIPI接口可以被用于连接处理器110与显示屏194等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serialinterface,DSI)等。在一些实施例中,处理器110和摄像头通过CSI接口通信,实现电子设备的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。例如,电子设备基于显示功能,能够显示相关界面。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头,显示屏194,无线通信模块160,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备的显示屏194上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备的主屏幕。一般来说,电子设备的显示屏194的尺寸是固定的,只能在该电子设备的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令,获取待处理数据的文件描述符;根据所述待处理数据的文件描述符,配置针对所述待处理数据的管线;在所述管线中添加回调节点,并配置所述回调节点与预先构建的监听器之间的对应关系,所述回调节点用于将所述管线输出的数据处理结果回传给与所述回调节点对应的监听器;从所述监听器处获取所述回传数据。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等。在该操作系统上可以安装运行应用程序。
电子设备的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
如图2所示,该图是本申请实施例提供的一种电子设备的软件结构示意图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统进行分层,从上至下分别为应用层、媒体中台后处理框架层、应用程序框架层、硬件抽象层以及内核层等。
应用层可以包括一系列应用,例如相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用。在本申请实施例中,上述图库应用中包括视频剪辑功能,可以是自动剪辑,也可以是手动剪辑。
媒体中台后处理框架层可以包括解决方案层和核心框架层。该媒体中台后处理框架层可以是位于应用层和应用程序框架层之间。
其中,解决方案层包括接口模块,接口模块用于管理视频分析接口、图片分析接口、主题分析接口等,不同的接口用于实现不同的功能。例如,视频分析接口用于实现对视频的处理、图片分析接口用于实现对图片的处理,主题分析接口用于实现对主题的分析等。
核心框架层包括管线模块、节点管理模块、数据监听模块,以及多个数据处理节点和回调节点。本申请实施例中以一键成片为例,与一键成片功能相对应的多个数据处理节点可以包括针对视频数据的处理节点和针对图片数据的处理节点。其中,针对视频数据的处理节点可以包括文件解析节点、视频解码节点以及降帧节点等,针对图片数据的处理节点可以包括图片分析节点。
管线模块用于将多个数据处理节点以及回调节点进行连接,得到多个节点连接的管线,在管线运行时,待处理数据会基于管线中的节点顺序,从管线初始节点流向管线的末节点。初始节点对待处理数据进行处理或加工,后续节点对前一个节点的输出节点进一步处理,直至末节点处理完毕。
节点管理模块用于对节点进行管理,例如可以包括生成节点等。节点可以是一种功能,节点可以是预先设定好的,节点管理模块生成节点,可以是对预先设定好的节点进行加载,如加载节点的资源。
数据监听模块用于监听节点管理模块所建立的回调节点是否有回传数据,回调节点可以在接收到数据后,将数据回传给节点管理模块,节点管理模块接收到回调节点回传的数据后,可以将数据传输给数据监听模块,数据监听模块可以通知应用层的应用来取回调节点回传的数据。
文件解析节点用于输出数据流,例如可以是音频流、视频流或者是音频流和视频流。在一些示例中,文件解析节点通过MediaExtractor解析器获取文件中的meta信息,并将meta信息传递给下一个节点,如传递给视频解码节点。文件解析节点的输入可以是文件描述符(file descriptor,fd)或文件路径,文件解析节点的输出可以是视频压缩数据、meta信息、数据多用途网络邮件扩展协议(Multipurpose Internet Mail Extension,MIME)类型等。
视频解码节点用于接收MIME类型和meta信息,构建音频解码器和视频解码器,将多媒体数据流通过编解码器组件(如MediaCodec)进行解码,并将解码后的数据传给下一个节点,如降帧节点。视频解码节点的输入可以是文件的meta信息和MIME类型,输出为多媒体数据流(例如视频流、音频流)。
降帧节点用于通过丢帧算法或降帧算法的方式,将视频流中的视频帧数据进行选择性丢弃,例如可以是将60fps的数据降帧到30fps。降帧节点的输入可以是视频帧数据,输出也是视频帧数据。
图片分析节点用于将送入的图片数据帧进行分析,并输出分析结果,例如可以是图片中的具体内容、场景、人物等信息。后续对相关模块及节点进行详细介绍。
应用程序框架层为应用层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。在一些示例中,视图系统可以基于手机自身所支持的节点,显示相对应的功能控件。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应用层和应用程序框架层运行在虚拟机中。虚拟机将应用层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS、Windows等操作系统的电子设备。
为了使得本申请的技术方案更加清楚、易于理解,下面结合图2和图3,对本申请实施例提供的一种数据处理方法进行介绍。如图3所述,该图为本申请实施例提供的一种数据处理方法的流程图,该方法包括:
S301、电子设备启动目标应用。
目标应用可以是上述应用层中的任一个应用,例如可以是图库应用,也可以是相机应用。为了便于理解,下文以电子设备为手机、目标应用为图库应用为例,对本申请的技术方案进行介绍。
在一些示例中,电子设备可以接收用户对主界面中目标应用的图标的触摸操作,启动目标应用。如图4所示,该图为本申请实施例提供的一种打开图库应用的示意图。手机的触摸传感器180K可以接收到用户在手机主界面中目标应用的图标的触摸操作,并上报给处理器110,处理器110可以响应于该触摸操作,在显示屏194中显示该目标应用的用户界面。此外,本申请实施例中还可以通过其它方式使得手机启动图库应用,并在显示屏194上图库应用的用户界面。例如,手机处于黑屏、锁屏或者某一应用的用户界面时,处理器110可以响应于用户的语音指令或者快捷操作等,启动图库应用,并在显示屏194中显示图库应用的用户界面。
为了便于理解,下面以用户使用图库应用的一键成片功能时,电子设备对数据的处理过程为例进行介绍。
S302、电子设备接收用户对一键成片控件的触发操作。
触发操作可以是点击、长按等操作。在目标应用启动后,电子设备可以呈现该目标应用的相关界面,如图5A所示,该图为本申请实施例提供的一种图库界面的示意图。该图库界面包括多个相册,如相册410、相册420和相册430。用户可以点击相册410,电子设备接收到用户针对相册410的点击操作后,电子设备可以展示该相册410包括的照片或视频。
如图5B所示,该图为本申请实施例提供的一种相册界面的示意图。该相册界面包括多个照片,如照片411、照片412和照片413。用户可以通过点击照片,以对照片进行选择,例如用户可以点击照片411,电子设备可以放大显示照片411并显示一键成片控件。
如图5C所示,该图为本申请实施例提供的一种显示照片界面的示意图。该显示照片界面包括一键成片控件440,用户点击该一键成片控件440后,电子设备接收用户对一键成片控件的触发操作,并展示针对照片的编辑界面。其中,目标应用的用户界面可以是图库的编辑界面,目标控件可以是上述一键成片控件440。
如图5D所示,该图为本申请实施例提供的一种编辑界面的示意图。电子设备可以在该编辑界面中展示已选素材、成片方式等,用户也可以在该编辑界面中对素材进行重新选择。
S303、目标应用将用户选择素材的fd发送给解决方案层。
在一些示例中,素材可以包括图片和/或视频。解决方案层维护有接口模块,用于管理视频分析接口、图片分析接口、主题分析接口等。用户选择的素材为图片时,目标应用可以将该图片的fd传递给图片分析接口;用户选择的素材为视频时,目标应用可以将该视频的fd传递给视频分析接口。当然,如果用户选择的素材既包括图片,也包括视频,则目标应用会分别将图片的fd发送给图片分析接口,视频分fd发送给视频分析接口。
需要说明的是,上述仅仅是以素材的fd为例,在一些示例中,目标应用还是将素材的标识、路径等发送给接口模块。
S304、解决方案层向节点管理模块发送节点配置指令。
节点配置指令是指用于指示节点管理模块配置节点的指令。接口模块接收到目标应用传递的素材的fd后,解决方案层可以指示节点管理模块配置相应的节点。上述目标应用可以是图库,并且该图库具有剪辑功能,如一键成片功能。节点配置指令中可以携带有与一键成片功能对应的配置信息,该配置信息用于指示需要对哪些节点进行配置。例如配置信息可以是指示配置针对视频数据的处理节点和针对图片数据的处理节点。
S305、节点管理模块基于节点配置指令,配置对应的节点。
如上述,节点配置指令用于指示节点管理模块配置相应的节点。延续上例,节点管理模块在接收到节点配置指令后,可以基于节点配置指令中携带的配置信息对视频数据的处理节点和图片数据的处理节点进行配置。例如,针对视频数据,节点管理模块可以配置文件解析节点、视频解码节点和降帧节点,针对图片数据,节点管理模块可以配置图片分析节点。
需要说明的是,上述文件解析节点、视频解码节点、降帧节点以及图片分析节点可以是预先构建的,节点管理模块对上述文件解析节点、视频解码节点、降帧节点以及图片分析节点的配置过程可以是加载节点的代码或者资源库。例如节点管理模块配置文件解析节点的过程可以是加载文件解析节点的代码或者资源库。
S306、节点管理模块向数据向管线模块发送第一连接指令。
第一连接指令是指用于指示将节点按照一定顺序进行连接的指令,第一连接指令中携带有各个节点的连接顺序。例如,第一连接指令中携带有上述文件解析节点的连接顺序、视频解码节点的连接顺序、降帧节点的连接顺序和图片分析节点的连接顺序,其中,各个节点的连接顺序可以是预先设定的,也可以是目标应用基于需要实现的功能对预先设定的顺序进行自适应调整后得到的。
S307、管线模块基于第一连接指令,将节点连接成管线。
管线是指由至少一个节点,按照一定顺序连接而成的节点线。管线中节点的顺序表示该节点对数据进行处理的顺序,管线中的节点依次对数据进行处理,进而得到处理后的数据。
管线模块接收到第一连接指令后,可以基于第一连接指令中携带的连接顺序,将上述文件解析节点、视频解码节点和降帧节点进行连接为视频处理管线,此时视频处理管线中节点的顺序依次为文件解析节点、视频加码节点、降帧节点。管线模块也可以基于第一连接指令中携带的连接顺序,将图片分析节点连接为图片处理管线;图片处理管线中节点的顺序依次为图片分析节点。
S308、管线模块向目标应用返回连接完成指令。
连接完成指令用于指示管线模块已完成对节点的连接,如管线模块将文件解析节点、视频解码节点和降帧节点进行连接为视频处理管线,将图片分析节点连接为图片处理管线。
S309、目标应用向数据监听模块发送配置监听指令。
配置监听指令是指用于指示配置监听器的指令。目标应用接收到管线模块返回的连接完成指令后,会配置监听器以及回调节点,已实现对处理完成后数据的监听以及回传。
S310、数据监听模块基于配置监听指令配置监听器。
数据监听模块接收到配置监听指令后,基于该配置监听指令,配置监听器。
S311、数据监听模块向目标应用返回监听器配置完成指令。
数据监听模块在完成对监听器的配置后,即向目标应用返回监听器配置完成指令,以告知目标应用已完成对监听器的配置。
S312、目标应用向解决方案层发送注册回调指令。
注册回调指令是指用于指示对回调节点进行注册的指令,其中,回调节点是指用于接收处理完成后的数据的节点,回调节点接收到处理完成的数据后,会将该数据进行回传到节点管理模块。数据监听模块完成对监听器的配置后,目标应用向解决方案层发送注册回调指令,以对回调节点进行注册。
S313、解决方案层基于注册回调指令,对回调节点进行查询。
回调节点可以是预先构建的,解决方案层在接收到注册回调指令后,可以对该预先构建的回调节点进行查询,如果未查询到预先构成的回调节点,则注册失败;如果查询到预先构建的回调节点,则对该预先构建的回调节点进行注册,即,让新配置的监听器与该回调节点关联起来。如此,节点管理模块得知有监听器的存在,在回调节点将数据传输给节点管理模块后,该节点管理模块会将数据转发给监听器,监听器接收到数据后,可以上报给目标应用,当前有新的数据产生,并通知目标应用来取新的数据。
S314、解决方案层向节点管理模块发送配置回调指令。
配置回调指令是指用于指示配置回调节点的指令,在解决方案层查找到回调节点后,解决方案层可以向节点管理模块发送配置回调指令,对该回调节点进行配置。
S315、节点管理模块基于配置回调指令,对回调节点进行配置。
节点管理模块对回调节点进行配置可以是加载该回调节点的代码或者资源库。节点管理模块还可以配置回调节点和监听器之间的对应关系,进而在节点管理模块中,可以维护有上述对应关系,以便后续节点管理模块对回调节点回传的数据进行处理或转发。
S316、节点管理模块向管线模块发送第二连接指令。
第二连接指令是指将回调节点添加到管线中的指令,该第二连接指令可以是包括回调节点的连接位置,连接位置可以是连接在视频处理管线中的降帧节点之后。节点管理模块可以向管线模块发送第二连接指令,以将该回调节点添加到视频处理管线中。
S317、管线模块基于第二连接指令,将回调节点连接在管线中。
管线模块接收到第二连接指令后,可以基于第二连接指令中携带的回调节点的连接位置,将回调节点连接在上述视频处理管线中。
S318、管线模块向目标应用返回连接完成指令。
管线模块完成对回调节点的添加后,向目标应用返回连接完成指令,以使目标应用得知已完成对回调节点的连接。
S319、目标应用向管线模块透传运行指令。
该运行指令是指用于指示管线模块运行管线的指令。在管线模块完成对回调节点的添加后,目标应用向管线模块发送运行指令。
S320、管线模块基于运行指令,运行管线。
管线可以包括视频处理管线和图片处理管线,可参见图2。其中,视频处理管线包括按照顺序连接的文件解析节点、视频解码节点以及降帧节点,回调节点连接在视频处理管线的最后,即,连接在降帧节点之后。
在该视频处理管线开始运行后,文件解析节点可以接收到目标应用通过视频分析接口传输的文件的fd或者是文件的路径等,以通过视频分析接口传输的为文件的fd为例,文件解析节点基于该文件的fd,确定该文件,然后通过MediaExtractor解析器获取文件中的meta信息,并将meta信息传递给下一个节点,如传递给视频解码节点。文件解析节点的输出还可以是视频压缩数据、MIME类型等。
视频解码节点可以接收到文件解析节点输出的MIME类型和meta信息,构建音频解码器和视频解码器,将多媒体数据流通过编解码器组件(MediaCodec)进行解码,并将解码后的数据传输给下一个节点,如降帧节点,例如可以是将多媒体数据流(音频流、视频流)传输给降帧节点。
降帧节点接收到视频解码节点发送的多媒体数据流后,可以通过丢帧算法或者降帧算法,将视频流中的视频帧数据进行选择性丢弃,从而实现降帧处理,然后将进行丢帧处理后的视频帧数据传输给回调节点。
回调节点接收到丢帧处理后的视频帧数据后,可以将该数据传输给节点管理模块,以告知节点管理模块,当前存在回传数据,即完成降帧处理后的视频帧数据。
图片处理管线包括图片分析节点,该图片分析节点用于对图片数据帧进行分析,并得到分析结果,例如可以采用图像处理算法,确定图片的具体内容、场景、人物等信息。
S321、节点管理模块将回传数据发送给数据监听模块。
数据监听模块中维护有监听器,在监听器和回调节点完成注册后,节点管理模块中会维护有回调节点和监听器之间的对应关系。当节点管理模块接收到回调节点的回传数据后,基于对应关系,将该回传数据发送给该回调节点对应的监听器。例如回调节点1与监听器1对应,回调节点2与监听器2对应,节点管理模块接收到回调节点1返回的回传数据后,将该回传数据发送给监听器1。
S322、数据监听模块通知目标应用取回传数据。
数据监听模块接收到节点管理模块回传的数据后,会向应用层上报通知,告知目标应用取回传数据。可见,在本申请中,在手机对数据进行处理过程中,由于设置了监听器和回调节点,回调节点用于接收视频处理管线处理后的数据,监听器能够实现对回调节点的回传数据的监控。也就是说,一旦存在回传数据,监听器能够自动向应用层上报,应用层的目标应用能够自动从监听器取走回传数据,在此过程中,用户可以使用手机的其他功能,无需一直等待手机对数据进行处理过程,提高了用户体验。
S323、目标应用从数据监听模块获取回传数据。
目标应用接收到数据监控模块的上报后,从数据监控模块获取回传数据。
S324、数据监听模块向节点管理模块返回接收完成指令。
接收完成指令指示用于指示完成数据接收的指令,数据监听模块完成对节点管理模块发送的回传数据的接收后,向节点管理模块发送接收完成指令。
S325、节点管理模块向管线模块发送回调完成指令。
回调完成指令是指用于指示当前数据完成回调的指令。节点管理模块接收到接收完成指令后,向管线模块发送回调完成指令,以告知管线模块,当前数据完成回调,即,当前数据处理完毕。
基于上述内容描述,本申请实施例提供了一种数据处理方法,该方法可以应用于电子设备,该电子设备对数据进行处理过程之前,设置了监听器和回调节点,回调节点用于接收完成处理后的数据,监听器用于对完成处理后的数据的监听,可见,本申请中,由监听器代替“用户”对数据是否完成处理进行监听,若数据完成处理后,回调节点的回传数据会传递到监听器,监听器向应用层上报,然后应用层的目标应用从监听器中取走回传数据。由此,手机在进行数据处理过程中,用户也能够使用手机的其他功能,提高用户体验。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在电子设备上运行时,使得该电子设备执行图3中的相关方法步骤,以实现上述实施例中的方法。
本实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如图3中的相关方法步骤,以实现上述实施例中的方法。

Claims (10)

1.一种数据处理方法,其特征在于,应用于电子设备,所述方法包括:
获取待处理数据的文件描述符;
根据所述待处理数据的文件描述符,配置针对所述待处理数据的管线;
在所述管线中添加回调节点,并配置所述回调节点与预先构建的监听器之间的对应关系,所述回调节点用于将所述管线输出的数据处理结果回传给与所述回调节点对应的监听器;
从所述监听器处获取所述回传数据。
2.根据权利要求1所述的方法,其特征在于,所述在所述管线中添加回调节点,包括:
若所述待处理数据的数据量大于预设阈值,在所述管线中添加回调节点。
3.根据权利要求1所述的方法,其特征在于,所述在所述管线中添加回调节点,包括:
在所述管线的最后一个节点之后,添加回调节点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述待处理数据的文件描述符,配置针对所述待处理数据的管线,包括:
对所述待处理数据的文件描述符进行解析,得到针对所述待处理数据的处理节点以及处理节点的连接顺序;
按照所述处理节点的连接顺序,对所述处理节点进行连接,得到针对所述待处理数据的管线。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述获取待处理数据的文件描述符之前,所述方法还包括:
展示目标应用的用户界面,所述用户界面包括目标控件,所述目标控件用于指示对待处理数据进行处理;
所述获取待处理数据的文件描述符,包括:
响应于针对所述目标控件的触发操作,获取待处理数据的文件描述符。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述电子设备包括应用层和媒体中台后处理框架层,所述应用层包括目标应用,所述媒体中台后处理框架层包括解决方案层和核心框架层;所述在所述管线中添加回调节点,并配置所述回调节点与预先构建的监听器之间的对应关系,包括:
所述目标应用向所述核心框架层发送配置监听指令;
所述核心框架层基于所述配置监听指令,配置监听器;
所述目标应用向所述解决方案层发送注册回调指令;
所述解决方案层基于所述注册回调指令,向所述核心框架层发送配置回调指令;
所述核心框架层基于所述配置回调指令,配置所述回调节点和所述监听器之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述从所述监听器处获取所述回传数据,包括:
在所述监听器接收到所述回调节点的回传数据后,所述监听器向所述应用层的目标应用上报通知;
所述目标应用基于所述监听器上报的通知,从所述监听器处获取回传数据。
8.根据权利要求7所述的方法,其特征在于,所述核心框架层包括:节点管理模块、数据监听模块和管线模块;所述根据所述待处理数据的文件描述符,配置针对待处理数据的管线,包括:
所述解决方案层向节点管理模块发送节点配置指令;
所述节点配置模块基于所述节点配置指令对针对待处理数据的节点进行配置,向所述管线模块发送第一连接指令;
所述管线模块基于所述第一连接指令,将针对所述待处理数据的节点连接成管线。
9.一种电子设备,其特征在于,包括:存储器和处理器;
在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述电子设备执如权利要求1至8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备运行时,所述电子设备执行如权利要求1至8中任一项所述的方法。
CN202211321412.6A 2022-10-26 2022-10-26 一种数据处理方法、电子设备及介质 Pending CN117978907A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211321412.6A CN117978907A (zh) 2022-10-26 2022-10-26 一种数据处理方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211321412.6A CN117978907A (zh) 2022-10-26 2022-10-26 一种数据处理方法、电子设备及介质

Publications (1)

Publication Number Publication Date
CN117978907A true CN117978907A (zh) 2024-05-03

Family

ID=90850080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211321412.6A Pending CN117978907A (zh) 2022-10-26 2022-10-26 一种数据处理方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117978907A (zh)

Similar Documents

Publication Publication Date Title
CN112291764B (zh) 一种内容接续系统
WO2021121052A1 (zh) 一种多屏协同方法、系统及电子设备
CN114741213B (zh) 通知处理方法、芯片、电子设备及计算机可读存储介质
WO2022078295A1 (zh) 一种设备推荐方法及电子设备
CN113835569A (zh) 终端设备、应用内部功能的快捷启动方法和存储介质
CN113709026B (zh) 即时通信消息的处理方法、设备、存储介质和程序产品
CN117278850A (zh) 一种拍摄方法及电子设备
CN116700601B (zh) 内存优化方法、设备及存储介质
CN114896097B (zh) 一种应用程序无响应处理方法及电子设备
CN111176766A (zh) 一种通信终端及组件显示方法
WO2023005711A1 (zh) 一种服务的推荐方法及电子设备
CN117978907A (zh) 一种数据处理方法、电子设备及介质
CN113835802A (zh) 设备交互方法、系统、设备及计算机可读存储介质
CN117971335A (zh) 一种展示方法、电子设备及介质
WO2023020339A1 (zh) 界面显示方法及电子设备
WO2023045774A1 (zh) 显示方法及电子设备
CN118075407A (zh) 一种管线图的创建方法、设备及存储介质
CN112929858B (zh) 一种门禁卡的模拟方法和终端
WO2023061298A1 (zh) 一种图片备份系统、方法与设备
WO2022161058A1 (zh) 一种全景图像的拍摄方法及电子设备
CN118075125A (zh) 一种节点管理方法、电子设备及介质
CN117724640A (zh) 分屏显示方法、电子设备及存储介质
CN118277003A (zh) 一种评论方法及电子设备
CN117950767A (zh) 内容分享方法、系统、电子设备及介质
CN117729561A (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