CN112882711A - 渲染方法、装置、设备以及存储介质 - Google Patents
渲染方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN112882711A CN112882711A CN202110262295.XA CN202110262295A CN112882711A CN 112882711 A CN112882711 A CN 112882711A CN 202110262295 A CN202110262295 A CN 202110262295A CN 112882711 A CN112882711 A CN 112882711A
- Authority
- CN
- China
- Prior art keywords
- container
- rendering
- rendered data
- module
- instruction
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013515 script Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 25
- 238000004364 calculation method Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了渲染方法、装置、设备以及存储介质,涉及智能设备、云服务、渲染等计算机技术领域。具体实现方案为:获取已渲染数据;向设备端的容器模块发送所述已渲染数据,以利用所述已渲染数据对应的容器引擎构建容器视图以及生成显示页面。本公开实施例,在渲染过程中,可以执行脚本获取已渲染数据,基于已渲染数据可以复用设备端的容器引擎等,可以减少渲染所需的计算量,提高渲染速度,优化渲染效果。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及智能设备、云服务、渲染领域。
背景技术
相关技术中,渲染过程主要包括对需要渲染的文件进行编译后转化为用户可见的结果。可以在云端对文件进行编译,再将编译后的代码发送至设备端显示渲染效果。在此过程中,云端和设备端之间需要传输大量的数据,网络、传输速度、数据丢失等因素会影响渲染效果。而设备端进行渲染需要的计算量大,也可能影响渲染效果。
发明内容
本公开提供了一种用于渲染方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种渲染方法,包括:接收需要渲染的脚本;执行所述脚本生成已渲染数据;发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
根据本公开的另一方面,提供了一种渲染装置,包括:接收单元,用于接收需要渲染的脚本;执行单元,用于执行所述脚本生成已渲染数据;发送单元,用于发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
根据本公开的技术,在渲染过程中,可以执行脚本获取已渲染数据,基于已渲染数据可以复用设备端的容器引擎等,可以减少渲染所需的计算量,提高渲染速度,优化渲染效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的渲染方法的流程示意图;
图2是根据本公开另一实施例的渲染方法的流程示意图;
图3是根据本公开一实施例的渲染装置的框图;
图4是根据本公开另一实施例渲染装置的框图;
图5是本公开一实施例的ACE系统设置于智能设备的示意图;
图6是本公开一实施例中渲染模块与设备中其他模块相互作用的示意图;
图7是本公开一实施例的渲染流程的示意图;
图8是用来实施本公开的实施例的示例电子设备的示意性框图;
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开一实施例的渲染方法的流程示意图。该方法可以包括:
S101、接收需要渲染的脚本;
S102、执行所述脚本生成已渲染数据;
S103、发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
示例性地,设备端可以包括能够显示的智能设备。例如,带有屏幕各种语音智能设备。设备端的操作系统中可以包括容器引擎系统,该系统可以包括跨进程处理模块、渲染模块、容器模块、设备端能力模块等。该系统的通信模块可以称为跨进程处理模块,能够与客户端通信。容器模块可以获取多种类型的容器引擎。例如,页面(Page)容器引擎、对话框(Dialog)容器引擎、小程序(Mini App)容器引擎等。容器引擎可以提供脚本运行环境等。容器引擎还可以称为应用容器引擎、应用容器、容器实例、应用容器实例、引擎实例、容器、引擎等。客户端可以包括应用程序、小程序等。客户端中可以包括通信模块、组件的描述信息的集合等。设备端可以包括通信模块、渲染模块、容器模块等。设备端能力模块可以提供各种端能力(也可以称为技能),支持设备端在渲染过程中各种调用端能力。例如麦克风、扬声器、摄像机、人脸识别、语音识别、手势识别、注视识别、云服务等。
本实施例的方法可以用于容器引擎系统中,例如,具体可以应用于渲染模块中。渲染模块获取已渲染数据的方式可以包括多种,示例如下:
例如,跨进程处理模块可以将需要渲染的脚本(例如,JavaScript,简称JS)通过指令处理模块发送至渲染模块。渲染模块接收到客户端需要渲染的脚本后,可以执行该脚本可以得到已渲染数据,进而将已渲染数据发送至容器模块。
容器模块从指令处理模块、渲染模块等获取已渲染数据后,可以基于已渲染数据在设备端支持的各种容器引擎中获取渲染所需的容器引擎。该容器引擎可以基于已渲染数据构建渲染所需的容器视图,并在容器视图中基于已渲染数据加载渲染所需的组件的可执行代码,生成能够在设备端的屏幕上展现渲染效果的显示页面。
本公开实施例中,利用设备端的容器引擎可以基于已渲染数据构建容器视图,进而生成设备端的显示页面,显示所需的渲染效果,由于设备端的容器引擎等可以复用,可以减少渲染所需的计算量,提高渲染速度,优化渲染效果。
图2是根据本公开另一实施例的渲染方法的流程示意图。该实施例的方法可以包括上述实施例的各步骤。在一种实施方式中,所述方法还包括:
S201、接收来自指令处理模块的所述已渲染数据,所述已渲染数据是所述指令处理模块对来自云端的渲染指令解析得到的。
在本实施例中,渲染模块还可以采用其他方式获取已渲染数据。指令处理模块可以将云端的渲染指令(commands)解析得到已渲染数据,并对解析得到的已渲染数据进行分发。例如,指令处理模块可以将已渲染数据分发至容器模块;或者分发至渲染模块,通过渲染模块透传至容器模块。容器模块可以基于已渲染数据获取容器引擎,利用容器引擎运行已渲染数据,构建容器视图,在容器视图中载入需要显示的组件以生成显示页面。
本公开实施例,收到指令处理模块解析渲染指令得到的已渲染数据,可以复用设备端的容器引擎等,实现所需的渲染效果,可以减少渲染所需的计算量,提高渲染速度,优化渲染效果。
在一种实施方式中,所述方法还包括:
S202、向设备端能力模块发送端能力调用指令,所述端能力调用指令用于调用所述设备端的服务能力;
S203、接收所述设备端能力模块返回的基于所述端能力调用指令所调用的服务能力对应的已渲染数据;
其中,所述服务能力对应的已渲染数据用于获取所述服务能力的容器引擎,利用所述服务能力的容器引擎构建所述服务能力的容器视图,以及生成所述服务能力的显示页面。
上述的S101、S201与S202可以没有时序关系,属于获取已渲染数据的几种情况,可以包括其中的一种或者多种,可以并行,也可以有先后顺序,具体根据实际情况确定。
示例性地,渲染模块可以从已渲染数据中获取端能力调用指令,并向对应的设备端能力模块发送该调用指令。如果设备端能力模块基于端能力调用指令所调用的设备端的服务能力具有特定的渲染效果,可以向渲染模块返回所调用的设备端的服务能力对应的脚本、渲染指令或已渲染数据等信息中至少之一。渲染模块可以对收到的信息进行相应的处理后发送至容器模块。由容器模块基于已渲染数据获取所调用的服务能力的容器引擎,利用该容器引擎构建所调用的服务能力的容器视图,以及生成所调用的服务能力的显示页面。例如,打开麦克风的调用指令的渲染效果包括带有麦克风图像的局部显示的动画,设备端能力模块可以向渲染模块发送该动画对应的已渲染数据。渲染模块可以获取该动画所需的容器引擎例如对话框容器引擎。在对话框容器引擎中可以基于已渲染数据中的视图信息构建容器视图,并基于组件信息运行组件的可执行代码,得到显示页面。
本实施例在渲染过程中,能够利用设备端的容器引擎,在设备端显示端能力对应的渲染效果,提高资源利用率,展现丰富的渲染效果。
在一种实施方式中,所述已渲染数据中包括引擎标识、容器视图信息和组件信息;
所述引擎标识用于查找对应的容器引擎;
所述容器视图信息用于构建容器视图;
所述组件信息具有对应的可执行代码,用于在所述容器视图中加载所述组件信息对应的图形组件,生成显示页面。
在本实施例中,渲染模块将已渲染数据发送至容器模块后,容器模块可以利用已渲染数据中包括的引擎标识查找所需的容器引擎,容器引擎利用容器视图信息可以构建容器视图,执行各个组件信息对应的可执行代码,可以在容器视图加载各个组件信息对应的图形组件,从而形成具有所需组件的显示页面。由于容器引擎、容器视图、组件等可以复用,可以明显减少设备端渲染所需的计算量,提高渲染速度,优化渲染效果。
在一种实施方式中,所述方法还包括:
构建指令执行器;
注册组件集,得到能够在所述容器视图中显示的各图形组件的描述信息。
渲染模块利用构建的指令执行器可以执行例如渲染指令等各种类型的指令或已渲染数据。渲染模块中还可以包括脚本引擎,用于执行脚本。设备端可以保存各种组件的可执行代码,注册组件集后,可以得到能够在容器视图中显示的各图形组件的描述信息。利用这些描述信息能够方便快速地查找到对应组件的可执行代码。
图3是根据本公开一实施例的渲染装置的框图。该装置可以包括:
接收单元301,用于接收需要渲染的脚本;
执行单元302,用于执行所述脚本生成已渲染数据;
发送单元303,用于发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
图4是根据本公开另一实施例渲染装置的框图。该实施例的装置可以包括上述装置实施例的各组件。在一种实施方式中,在一种实施方式中,所述装置还包括:
所述接收单元301还用于接收来自指令处理模块的所述已渲染数据,所述已渲染数据是所述指令处理模块对来自云端的渲染指令解析得到的。
在一种实施方式中,所述装置还包括:
所述发送单元303还用于向设备端能力模块发送端能力调用指令,所述端能力调用指令用于调用所述设备端的服务能力;
所述接收单元301还用于接收所述设备端能力模块返回的基于所述端能力调用指令所调用的服务能力对应的已渲染数据;
其中,所述服务能力对应的已渲染数据用于获取所述服务能力的容器引擎,利用所述服务能力的容器引擎构建所述服务能力的容器视图,以及生成所述服务能力的显示页面。
在一种实施方式中,所述已渲染数据还包括:引擎标识、容器视图信息和组件信息;
所述引擎标识用于查找对应的容器引擎;
所述容器视图信息用于构建容器视图;
所述组件信息具有对应的可执行代码,用于在所述容器视图中加载所述组件信息对应的图形组件,生成显示页面。
在一种实施方式中,所述装置还包括:
构建单元401,用于构建指令执行器;
注册单元402,用于注册组件集,得到能够在所述容器视图中显示的各图形组件的描述信息。
本公开实施例各装置中的各单元、子单元的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
在一种应用示例中,带有屏幕的智能设备例如:智能音箱等语音智能设备中可以包括应用容器引擎(Application Container Engine,ACE)系统。ACE系统可以是嵌入式应用系统。如图5所示,该系统主要包括以下几个部分:
一、客户端通信管理模块。例如图5的有屏语音智能设备中,客户端通信管理模块可以为跨进程渲染管理模块(也可以称为客户端渲染管理模块、客户端管理模块、跨进程管理模块等,是上述方法实施例中跨进程处理模块的示例)。该跨进程渲染管理模块可以与客户端进行通信。
可选地,该ACE系统也可以包括客户端(可以称为ACE系统客户端、客户端插件、客户端模块等)。ACE系统客户端可以设置在其他需要动态渲染内容的应用程序中。例如,第三方接入的应用(APP)的安装包例如APK中可以集成ACE系统客户端,该客户端可以安装或下载到设备端运行。客户端可以通过ACE系统的跨进程渲染管理模块与其他模块进行交互。客户端中可以包括通信模块(例如指令接收端)、组件集(组件的描述信息的集合)、指令执行模块(例如指令执行器)等。
二、指令解析分发模块(或者称为指令解析分发子系统、协议解析分发子系统等,是上述方法实施例中指令处理模块的示例),用于基于系统协议进行指令的解析与分发。例如,通过指令收发服务模块可以从云端(也可以称为云服务、云端服务等)或客户端接收渲染指令。指令解析分发模块对渲染指令进行解析得到已渲染数据后,可以将已渲染数据分发给容器模块进行处理。指令解析分发模块也可以通过渲染模块向容器模块透传已渲染数据。
例如,云端可以将需要渲染的内容编译成各个渲染指令,发送给设备端的指令收发服务模块。指令收发服务模块可以与云端通信,从云端接收渲染指令。渲染指令中可以为已编译代码,主要包括布局相关的信息等,数据量较少。指令收发服务模块将来自云端的渲染指令发送至指令处理模块。指令处理模块收到渲染指令后,可以对渲染指令进行解析,得到已渲染数据。这样,云端与设备端之间通过渲染指令实现渲染效果,不需要传输大量的数据内容,通过渲染指令传输较少的数据量即可实现所需的渲染效果。类似的,客户端也可以通过渲染指令,通过传输较少的数据量在设备端实现所需渲染效果。
三、设备端能力模块(或者称为端能力模块、设备端能力子系统、端能力子系统等)。渲染过程中,可能需要调用设备端的各种能力(也可以称为技能)。端能力模块可以从指令解析分发模块接收端能力调用指令,根据端能力调用指令向设备端系统服务模块发送对应的调用指令。例如,打开麦克风的指令,打开摄像头的指令等。端能力可以包括多种,例如硬件能力、智能服务和云端服务等。
进一步地,如果设备端能力模块基于端能力调用指令所调用的设备端的服务能力具有特定的渲染效果,可以向渲染模块返回所调用的设备端的服务能力对应的脚本、渲染指令或已渲染数据等信息中至少之一。渲染模块可以对收到的信息进行相应的处理后发送至容器模块。由容器模块基于已渲染数据获取所调用的服务能力的容器引擎,利用该容器引擎构建所调用的服务能力的容器视图,以及生成所调用的服务能力的显示页面。例如,打开麦克风的调用指令的渲染效果包括带有麦克风图像的局部显示的动画,设备端能力模块可以向渲染模块发送该动画对应的已渲染数据。渲染模块可以获取该动画所需的容器引擎例如对话框容器引擎。在对话框容器引擎中可以基于已渲染数据中的视图信息构建容器视图,并基于组件信息运行组件的可执行代码,得到显示页面。
此外,在设备端能力模块调用设备端系统服务时,设备端系统服务可以按照调用指令执行相应的操作。设备端系统服务可以通过设备端能力模块向云端上报所调用的服务能力执行相应的操作后,出现的状态和/或事件等。例如,响应于调用指令,音乐播放器开启并播放音乐。音乐播放器可以向设备端能力模块返回音乐播放记录等,由设备端能力模块上报至云端。
四、容器模块(或者称为容器子系统),用于对各种容器引擎进行管理。容器引擎可以包括页面容器引擎、对话框容器引擎、小程序容器引擎等。容器模块可以基于来自渲染模块、指令解析分发模块或跨进程渲染管理模块的已渲染数据,获取所需的容器引擎。例如,如果存在已经打开的页面容器引擎,可以使用该页面容器引擎构建容器页面。如果不存在已经打开的容器引擎,可以启动新的页面容器引擎,使用该新的页面容器引擎构建容器页面。再如,如果存在已经打开的对话框容器引擎,可以先关闭该对话框容器引擎,再基于已渲染数据启动新的对话框容器引擎构建容器页面。如果不存在已经打开的对话框容器引擎,可以直接启动新的对话框容器引擎。使用该新的对话框容器引擎构建容器页面。再如,如果存在已经打开的小程序容器引擎,可以使用该小程序容器引擎构建容器页面。如果不存在已经打开的小程序容器引擎,可以启动新的小程序容器引擎,使用该新的小程序容器引擎构建容器页面。
利用容器引擎构建容器页面后,在容器页面中加载渲染所需的组件的可执行代码,,生成能够在设备端的屏幕上展现渲染效果的显示页面。进而,在设备端的屏幕上,可以展现该显示页面。
五、渲染模块(或者称为渲染子系统),用于实现设备的屏幕渲染。
渲染模块可以执行脚本得到已渲染数据,或者从指令解析分发模块接收已渲染数据。然后,渲染模块可以向容器模块发送已渲染数据。
此外,渲染模块还可以从已渲染数据中解析确定是否需要调用端能力。如果需要调用端能力,可以向设备端能力模块发送端能力调用指令,以调用设备端的服务能力。如果设备端能力模块向渲染模块返回了基于端能力调用指令所调用的服务能力对应的已渲染数据,则设备端能力模块可以将该已渲染数据发送至容器模块进行处理。
此外,ACE系统中可以包括组件集。ACE系统的组件集中可以包括各组件的可执行代码的集合。ACE系统客户端中也可以包括组件集,客户端的组件集中可以包括部分自定义组件的描述信息的集合。客户端需要渲染的脚本中,可以包括容器引擎的标识、容器组件信息、组件的描述信息等。如果需要在ACE系统中注册自定义组件,客户端需要渲染的脚本中可以包括各自定义组件的描述信息。例如,某个视频网站的APP中,除了包括自身的各种组件、布局之外,还可以包括用于显示“新年快乐”、“中秋快乐”的渲染效果的自定义组件。
本实施例的渲染模块可以包括渲染装置的实施例的各单元、子单元,实现渲染装置的各个功能。
在一种示例中,该ACE系统可以应用于带有屏幕的语音智能设备,为设备的系统应用及第三方应用的内容展现提供高效的处理方式,作为智能语音交互的有益补充,能够提高语音智能设备的表现力,达到更好的用户体验。
该ACE系统可以提供多种通信方式的服务:1)基于客户端插件的第三方通信服务;2)基于注册协议的云服务通信;3)基于设备端本地系统的服务通信。具有约定的通信内容,应用容器引擎系统分配相应的容器,在容器中通过组件集及相关指令组织相关内容,完成屏幕内容的渲染,从而完成各个调用方(调用者)的服务目标。此外,该ACE系统还可以对相应服务的生命周期进行管理。
该ACE系统可以在语音智能设备中完成渲染,减少与外部例如云端需要传输的数据量;通过复用容器能够提高渲染处理速度和显示效果。
目前ACE系统可以支持以下类型的容器视图:Page(页面),Dialog(对话框)和小程序。其中,Page和Dialog的容器视图类似,可以是全屏幕、局部屏幕和悬浮窗口的视图显示。小程序的容器视图类似于微件(widget)或者其他类型的小程序的显示效果。例如,小程序可以包括时钟、记事本、天气预报、地图、游戏等。
如图6所示,渲染模块可以包括组件集、指令执行器(或称为指令解析器)以及脚本引擎等。脚本引擎可以运行脚本。指令执行器可以对渲染指令进行解析。容器模块可以为渲染模块提供容器视图。设备端能力模块可以为渲染模块的组件集中的各组件提供端能力。
渲染模块可以从指令解析分发模块接收已渲染数据,已渲染数据(也可以称为预渲染数据)中可以包括脚本的业务逻辑、引擎标识、组件信息、视图信息中的至少一项。渲染模块可以向容器模块发送已渲染数据,以构建容器视图(或操作容器视图),接收容器模块提供的容器视图。
渲染模块还可以从已渲染数据中获取端能力调用指令,向设备端能力模块发送端能力调用指令。然后设备端能力模块调用指令向渲染模块返回基于端能力调用指令所调用的服务能力对应的已渲染数据。渲染模块可以将收到的渲染数据发送至容器模块。容器模块可以基于服务能力对应的已渲染数据用于获取服务能力的容器引擎,利用该服务能力的容器引擎构建该服务能力的容器视图,以及生成该服务能力的显示页面。
如图7所示,在渲染流程中,指令解析分发模块可以将脚本或已渲染数据(也可以称为预渲染数据)发送至渲染模块中。已渲染数据中可以包括来自云端的指令的合集,或者对来自云端的指令进行解析后得到数据。渲染模块构建指令执行器,该指令执行器可以执行收到的已渲染数据渲染模块还可以注册组件集。渲染模块还可以通过脚本引擎运行脚本生成渲染指令和/或已渲染数据。
基于指令或已渲染数据,渲染模块判断是否需要调用端能力,如果需要调用端能力,可以向设备端能力模块发送调用指令。基于指令或已渲染数据,渲染模块也可以判断是否需要显示渲染效果,如果是,可以将已渲染数据的部分或全部发送至容器引擎。由容器引擎实现渲染效果。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如渲染方法。例如,在一些实施例中,渲染方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的渲染方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行渲染方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种渲染方法,包括:
接收需要渲染的脚本;
执行所述脚本生成已渲染数据;
发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收来自指令处理模块的所述已渲染数据,所述已渲染数据是所述指令处理模块对来自云端的渲染指令解析得到的。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向设备端能力模块发送端能力调用指令,所述端能力调用指令用于调用所述设备端的服务能力;
接收所述设备端能力模块返回的基于所述端能力调用指令所调用的服务能力对应的已渲染数据;
其中,所述服务能力对应的已渲染数据用于获取所述服务能力的容器引擎,利用所述服务能力的容器引擎构建所述服务能力的容器视图,以及生成所述服务能力的显示页面。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述已渲染数据中包括引擎标识、容器视图信息和组件信息;
所述引擎标识用于查找对应的容器引擎;
所述容器视图信息用于构建容器视图;
所述组件信息具有对应的可执行代码,用于在所述容器视图中加载所述组件信息对应的图形组件,生成显示页面。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
构建指令执行器;
注册组件集,得到能够在所述容器视图中显示的各图形组件的描述信息。
6.一种渲染装置,包括:
接收单元,用于接收需要渲染的脚本;
执行单元,用于执行所述脚本生成已渲染数据;
发送单元,用于发送所述已渲染数据,以基于所述已渲染数据在设备端中获取容器引擎,并利用所述容器引擎构建容器视图以及生成显示页面。
7.根据权利要求6所述的装置,其中,所述装置还包括:
所述接收单元还用于接收来自指令处理模块的所述已渲染数据,所述已渲染数据是所述指令处理模块对来自云端的渲染指令解析得到的。
8.根据权利要求6所述的装置,其中,所述装置还包括:
所述发送单元还用于向设备端能力模块发送端能力调用指令,所述端能力调用指令用于调用所述设备端的服务能力;
所述接收单元还用于接收所述设备端能力模块返回的基于所述端能力调用指令所调用的服务能力对应的已渲染数据;
其中,所述服务能力对应的已渲染数据用于获取所述服务能力的容器引擎,利用所述服务能力的容器引擎构建所述服务能力的容器视图,以及生成所述服务能力的显示页面。
9.根据权利要求6至8中任一项所述的装置,其中,所述已渲染数据还包括:引擎标识、容器视图信息和组件信息;
所述引擎标识用于查找对应的容器引擎;
所述容器视图信息用于构建容器视图;
所述组件信息具有对应的可执行代码,用于在所述容器视图中加载所述组件信息对应的图形组件,生成显示页面。
10.根据权利要求6至9中任一项所述的装置,其中,所述装置还包括:
构建单元,用于构建指令执行器;
注册单元,用于注册组件集,得到能够在所述容器视图中显示的各图形组件的描述信息。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110262295.XA CN112882711A (zh) | 2021-03-10 | 2021-03-10 | 渲染方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110262295.XA CN112882711A (zh) | 2021-03-10 | 2021-03-10 | 渲染方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112882711A true CN112882711A (zh) | 2021-06-01 |
Family
ID=76054114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110262295.XA Pending CN112882711A (zh) | 2021-03-10 | 2021-03-10 | 渲染方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882711A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836455A (zh) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | 特效渲染方法、装置、设备、存储介质及计算机程序产品 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140210850A1 (en) * | 2013-01-30 | 2014-07-31 | Darrell Bellert | Recursive application of group effects |
US20140337414A1 (en) * | 2013-05-13 | 2014-11-13 | Sina Sojoodi | Dynamic rendering for software applications |
US20140344664A1 (en) * | 2013-05-16 | 2014-11-20 | International Business Machines Corporation | Webpage Display System Leveraging OSGI |
CN106991096A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 动态页面渲染方法及装置 |
CN108595177A (zh) * | 2018-04-28 | 2018-09-28 | 广东电网有限责任公司 | 界面开发方法及装置 |
CN108846087A (zh) * | 2018-06-12 | 2018-11-20 | 恒生电子股份有限公司 | 一种页面渲染方法、装置、终端及服务器 |
US20190065442A1 (en) * | 2017-08-30 | 2019-02-28 | Sap Se | Snapping content header in scrolled document |
CN109697060A (zh) * | 2018-12-29 | 2019-04-30 | 广州华多网络科技有限公司 | 视频特效软件及其生成方法、装置、设备和存储介质 |
CN109697266A (zh) * | 2017-10-24 | 2019-04-30 | 中国电信股份有限公司 | 页面渲染系统、页面渲染方法及页面渲染装置 |
CN110020329A (zh) * | 2017-07-13 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用于生成网页的方法、装置和系统 |
CN110895481A (zh) * | 2018-09-13 | 2020-03-20 | 阿里巴巴集团控股有限公司 | 桌面应用的渲染方法、装置和系统 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN111274510A (zh) * | 2020-01-15 | 2020-06-12 | 平安银行股份有限公司 | 页面渲染方法、装置、设备及可读存储介质 |
CN111324376A (zh) * | 2020-02-28 | 2020-06-23 | 北京无限光场科技有限公司 | 功能配置方法、装置、电子设备及计算机可读介质 |
-
2021
- 2021-03-10 CN CN202110262295.XA patent/CN112882711A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140210850A1 (en) * | 2013-01-30 | 2014-07-31 | Darrell Bellert | Recursive application of group effects |
US20140337414A1 (en) * | 2013-05-13 | 2014-11-13 | Sina Sojoodi | Dynamic rendering for software applications |
US20140344664A1 (en) * | 2013-05-16 | 2014-11-20 | International Business Machines Corporation | Webpage Display System Leveraging OSGI |
US20140344666A1 (en) * | 2013-05-16 | 2014-11-20 | International Business Machinies Corporation | Webpage display system leveraging osgi |
CN106991096A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 动态页面渲染方法及装置 |
CN110020329A (zh) * | 2017-07-13 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用于生成网页的方法、装置和系统 |
US20190065442A1 (en) * | 2017-08-30 | 2019-02-28 | Sap Se | Snapping content header in scrolled document |
CN109697266A (zh) * | 2017-10-24 | 2019-04-30 | 中国电信股份有限公司 | 页面渲染系统、页面渲染方法及页面渲染装置 |
CN108595177A (zh) * | 2018-04-28 | 2018-09-28 | 广东电网有限责任公司 | 界面开发方法及装置 |
CN108846087A (zh) * | 2018-06-12 | 2018-11-20 | 恒生电子股份有限公司 | 一种页面渲染方法、装置、终端及服务器 |
CN110895481A (zh) * | 2018-09-13 | 2020-03-20 | 阿里巴巴集团控股有限公司 | 桌面应用的渲染方法、装置和系统 |
CN109697060A (zh) * | 2018-12-29 | 2019-04-30 | 广州华多网络科技有限公司 | 视频特效软件及其生成方法、装置、设备和存储介质 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN111274510A (zh) * | 2020-01-15 | 2020-06-12 | 平安银行股份有限公司 | 页面渲染方法、装置、设备及可读存储介质 |
CN111324376A (zh) * | 2020-02-28 | 2020-06-23 | 北京无限光场科技有限公司 | 功能配置方法、装置、电子设备及计算机可读介质 |
Non-Patent Citations (2)
Title |
---|
张忆楠;严正;姚莉;: "实时渲染引擎架构", 中兴通讯技术, no. 03 * |
杨俊峰;黎建辉;杨风雷;: "深层网站Ajax页面数据采集研究综述", 计算机应用研究, no. 06 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836455A (zh) * | 2021-09-18 | 2021-12-24 | 北京百度网讯科技有限公司 | 特效渲染方法、装置、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882709B (zh) | 基于容器引擎系统的渲染方法、装置、设备以及存储介质 | |
CN112416461B (zh) | 视频资源处理方法、装置、电子设备和计算机可读介质 | |
CN113849312A (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
EP4060496A2 (en) | Method, apparatus, device and storage medium for running inference service platform | |
CN113656124A (zh) | 登录页面的生成方法及其装置 | |
CN112835582A (zh) | 基于容器引擎的渲染方法、装置、设备以及存储介质 | |
CN114490116B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114244821B (zh) | 数据处理方法、装置、设备、电子设备和存储介质 | |
CN114035865B (zh) | 启动小程序的方法、装置、设备以及存储介质 | |
CN114490126A (zh) | 页面处理方法、装置、电子设备和存储介质 | |
CN112882711A (zh) | 渲染方法、装置、设备以及存储介质 | |
CN111240776B (zh) | 动态壁纸设置方法、装置、存储介质及电子设备 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN112835580B (zh) | 指令处理方法、装置、设备以及存储介质 | |
CN114374703B (zh) | 云手机信息的获取方法、装置、设备以及存储介质 | |
CN114546343A (zh) | 活动页面的生成方法和装置 | |
CN114386577A (zh) | 用于执行深度学习模型的方法、设备和存储介质 | |
CN112835581A (zh) | 端能力调用方法、装置、设备以及存储介质 | |
CN114090118A (zh) | 启动小程序的方法、装置、设备以及存储介质 | |
CN114138401A (zh) | 基于人工智能的容器配置方法、装置、设备及介质 | |
CN113407259A (zh) | 加载场景的方法、装置、设备以及存储介质 | |
CN112882710B (zh) | 基于客户端的渲染方法、装置、设备以及存储介质 | |
CN116431108B (zh) | 对象类型的处理方法、装置、电子设备及存储介质 | |
CN112882710A (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 |