CN111814089B - 一种页面渲染的方法、装置、渲染服务器和存储介质 - Google Patents
一种页面渲染的方法、装置、渲染服务器和存储介质 Download PDFInfo
- Publication number
- CN111814089B CN111814089B CN202010617484.XA CN202010617484A CN111814089B CN 111814089 B CN111814089 B CN 111814089B CN 202010617484 A CN202010617484 A CN 202010617484A CN 111814089 B CN111814089 B CN 111814089B
- Authority
- CN
- China
- Prior art keywords
- service
- page
- container
- target
- component
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012216 screening Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000012938 design process Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 15
- 241000209140 Triticum Species 0.000 description 13
- 235000021307 Triticum Nutrition 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种页面渲染的方法、装置、渲染服务器和存储介质。其中,该方法包括:从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件;在所述目标容器中筛选出用于响应所述业务事件的目标业务组件;通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。本发明实施例提供的技术方案,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
Description
技术领域
本发明实施例涉及客户端界面显示技术领域,尤其涉及一种页面渲染的方法、装置、渲染服务器和存储介质。
背景技术
随着客户端业务的迭代,客户端的用户界面(User Interface)上会设置有不同显示功能的业务组件,而每个业务组件在不同业务场景下会存在各种不同的表现形式,每种表现形式都需要通过一个界面View来承接。
目前,现有的客户端业务组件的设计方案中,通常采用一个ViewGroup来表示一块业务区域,每个业务场景的业务组件采用一个View表示,然后添加到ViewGroup中,从而根据不同的业务场景,对各个View进行操作,以展示不同的界面内容。
此时,由于业务场景不断增加,而业务组件与业务逻辑堆积在一起,使得业务组件变得过于复杂,难以维护,而且ViewGroup中的各个业务组件之间存在较强的耦合关系,难以拆分,因此在业务状态发生变化时,整个ViewGroup中的业务组件均会作出业务响应,极大增加了ViewGroup中业务组件的复杂性。
发明内容
本发明实施例提供了一种页面渲染的方法、装置、渲染服务器和存储介质,实现页面容器库中容器及其业务组件的多样化定制,降低业务组件的复杂性,提高页面渲染的灵活性。
第一方面,本发明实施例提供了一种页面渲染的方法,该方法包括:
从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件;
在所述目标容器中筛选出用于响应所述业务事件的目标业务组件;
通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
第二方面,本发明实施例提供了一种页面渲染的装置,该装置包括:
目标容器加载模块,用于从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件;
目标组件筛选模块,用于在所述目标容器中筛选出用于响应所述业务事件的目标业务组件;
页面渲染模块,用于通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
第三方面,本发明实施例提供了一种渲染服务器,该渲染服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的页面渲染的方法。
第四方面,本发明实施例提供了一种页面渲染系统,该系统包括:本发明第三方面中所述的渲染服务器以及与所述渲染服务器通信连接的客户端;其中,
所述客户端用于在待渲染页面中发起指向目标容器的当前业务请求。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的页面渲染的方法。
本发明实施例提供的一种页面渲染的方法、装置、渲染服务器和存储介质,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件来执行该业务事件,从而实现该待渲染页面的渲染,此时不同待渲染页面可以在页面容器库中加载相同容器,并通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1A为本发明实施例一提供的一种页面渲染的方法的流程图;
图1B为本发明实施例一提供的页面渲染过程的原理示意图;
图2A为本发明实施例二提供的一种页面渲染的方法的流程图;
图2B为本发明实施例二提供的页面渲染过程的原理示意图;
图3A为本发明实施例三提供的一种页面渲染的方法的流程图;
图3B为本发明实施例三提供的页面渲染过程的原理示意图;
图4A为本发明实施例四提供的一种页面渲染的方法的流程图;
图4B为本发明实施例四提供的页面渲染过程的原理示意图;
图5为本发明实施例五提供的一种页面渲染系统的原理示意图;
图6为本发明实施例六提供的一种页面渲染的装置的结构示意图;
图7为本发明实施例七提供的一种渲染服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1A为本发明实施例一提供的一种页面渲染的方法的流程图,本实施例可适用于对任一种互联网页面进行渲染的情况中。本实施例提供的一种页面渲染的方法可以由本发明实施例提供的页面渲染的装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的渲染服务器中,该渲染服务器可以是预先配置有各个页面可能存在的各类容器的后台服务端。
具体的,参考图1A,该方法可以包括如下步骤:
S110,从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成目标容器的业务事件。
具体的,在互联网中显示某一互联网页面时,通常会在该互联网页面中渲染对应的控件效果来实现页面的多样化显示,而在某一互联网页面内,根据不同的业务场景可能会设置不同的显示区域,以便同时显示不同业务场景下的内容,例如在某一多人直播间页面内可能会设置多个麦位,各个麦位窗口上会分别显示不同上麦用户的视频直播画面;此时,根据互联网页面的显示特性可以将互联网页面划分出多个不同的显示区域,每一显示区域内均存在对应的业务渲染要求,因此同一互联网页面内的每一显示区域均需要定制并开发对应的业务组件,使得业务组件与业务逻辑相关联,导致业务组件变得过于复杂;因此,为了降低业务组件的复杂性,避免同一业务组件在不同页面渲染下的重复定制,本实施例通过自定义的容器来表示各个互联网页面中根据不同业务场景下的显示特性所划分出的各个显示区域,此时可以根据各个显示区域的渲染要求设计对应的容器,并确定该容器的属性信息,同时会预先构建一个页面容器库,用于添加预先设计的各个容器,并在设计容器时,通过分析在不同业务场景下的互联网页面中所存在的容器内可能需要显示的控件信息,来定制开发具备相应显示功能的业务组件,并添加至该容器内,如图1B所示,预先配置的页面容器库中会存在可适用于不同业务场景下的容器,每一容器中添加有具备不同业务功能的多个业务组件,同时容器通过BaseContainerView命名,可以继承约束布局特性(ConstraintLayout),具备较好的性能且布局能力强;后续在每次渲染某一互联网页面时,均可以从该页面容器库中加载对应的容器进行渲染,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制。此时,本实施例中的待渲染页面可以是指互联网或各类业务应用中需要展示相应业务活动样式的页面。
可选的,某一用户在客户端显示的某一页面上执行相应的业务触发操作时,如在直播间页面的某一麦位上执行上麦操作,会相应触发该页面的渲染操作,此时该页面为本实施例中的待渲染页面,同时生成面向该待渲染页面的当前业务请求,此时由于待渲染页面中的不同显示区域可能会在不同时刻分别进行渲染,而业务触发操作能够指示本次是对待渲染页面中的哪些特定显示区域进行渲染,因此该当前业务请求能够指示待渲染页面所属的业务场景,以及在该业务场景下待渲染页面中指向的需要进行本次渲染操作的容器信息,进而通过分析待渲染页面下的当前业务请求中携带的指向本次渲染的容器信息,可以从预先配置的页面容器库中对应的目标容器,同时分析该当前业务请求下的业务操作类型,可以生成该目标容器的业务事件,例如在某一麦位下执行上麦操作时,可以生成该麦位对应的目标容器的上麦事件;以便后续采用该目标容器中的某些特定业务组件执行该业务事件,来实现待渲染页面的渲染。
此外,为了保证页面容器库中容器的实时更新,本实施例会在页面容器库中的每一容器上预先配置对应的组装接口和删除接口,通过组装接口可以向容器中添加不同业务功能下新的业务组件,通过删除接口可以删除容器中某些已有的业务组件,从而实现页面容器库中容器的多样化定制,因此本实施例中还可以包括:通过目标容器上配置的组装接口和删除接口,更新目标容器内的业务组件。
同时,为了保证页面容器库中容器的调用,本实施例还会在页面容器库中的每一容器上提供对外的公开接口(IContainer),具体接口由具体业务定义,例如为麦位场景下的容器设置的上麦接口和下麦接口等,此时容器接口的实现和响应均由容器内的业务组件完成,把业务功能内聚在容器的各个业务组件下,对外只暴露容器的各个接口,从而确保容器接口和业务功能的完全分离。
S120,在目标容器中筛选出用于响应业务事件的目标业务组件。
可选的,由于页面渲染的主要功能体现在容器中各个业务组件的渲染配置,而容器中的各个业务组件在不同业务场景可能会存在不同的业务响应需求,例如某一麦位下的容器内存在的加好友组件在执行上麦操作时不显示,而在执行关注查找操作时显示,因此在从页面容器库中加载出目标容器,并生成目标容器的业务事件时,首先需要判断该目标容器中已添加的各个业务组件是否支持响应该业务事件,而在每一业务组件的预先设计过程中会指定该业务组件所支持的各项业务操作,进而从目标容器内添加的全部业务组件中筛选出能够支持响应该业务事件的目标业务组件,以便后续采用目标业务组件对该业务事件的响应结果来渲染待渲染页面,排除目标容器中不支持响应该业务事件的其他业务组件的影响。
需要说明的是,本实施例中页面容器库内每一容器中所添加的业务组件可以为自定义或第三方提供的组件,通过拥有一定业务功能的视图View表示,可以响应不同业务事件来处理不同的业务,本实施例中的业务组件可以采用现有的模型视图交互的三层模式(Model-View-ViewModel,简称为MVVM)来设计,其中Model层用于解析当前业务请求,ViewModel层为Model层和View层的中间层,负责发起对应的业务处理请求,并通知View层进行页面刷新,View层对变化的视图数据作出相应展示。
此外,由于页面容器库中定制开发的各类容器均存在对应的生命周期,以确保容器的可使用时限,因此对于各个容器中添加的每一业务组件也会绑定对应的生命周期组件,此时本实施例中还可以包括:实时监听目标业务组件的生命周期。通过各个目标业务组件绑定的生命周期组件来实时监听该目标业务组件的生命周期,以判断该目标业务组件的可使用时限,避免目标业务组件的超时使用所导致的内存泄漏或页面无效渲染,例如待渲染页面在执行渲染操作后使得页面不可见,从而防止业务组件的资源浪费。
S130,通过目标业务组件执行业务事件,以渲染待渲染页面。
可选的,在从目标容器中筛选出用于响应该业务事件的目标业务组件之后,可以通过各个目标业务组件来执行该业务事件,从而响应该业务事件,使目标业务组件按照该响应结果生成对应的页面渲染特性,并对应显示在目标容器中,此时目标容器已经加载至待渲染页面中,也就可以将待渲染页面渲染出符合当前业务场景下的渲染效果。
此时,根据不同待渲染页面下的当前业务请求可以在页面容器库中选择加载对应的容器,此时所加载的容器可以相同,从而通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,提高业务组件的复用性。
本实施例提供的技术方案,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件来执行该业务事件,从而实现该待渲染页面的渲染,此时不同待渲染页面可以在页面容器库中加载相同容器,并通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
实施例二
图2A为本发明实施例二提供的一种页面渲染的方法的流程图,图2B为本发明实施例二提供的页面渲染过程的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,如图2A所示,本实施例中对于目标业务组件的筛选过程和目标业务组件对业务事件的执行过程进行详细的解释说明。
可选的,如图2A所示,本实施例中可以包括如下步骤:
S210,从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成目标容器的业务事件。
S220,向目标容器中的每一业务组件分发业务事件,确定该业务组件面向业务事件的响应标识。
可选的,由于在定制开发每一容器中的业务组件时,会根据该业务组件所适应的业务场景分别设定各个业务组件所支持响应的业务类型,此时该业务组件所支持响应的业务类型可以通过面向不同业务场景下业务事件的响应标识来表示,因此在从页面容器库中加载出各个目标容器,并生成目标容器的业务事件之后,为了准确判断目标容器中的每一业务组件是否支持该业务事件的响应,可以向该目标容器中的每一业务组件分发该业务事件,从而确定每一业务组件面向该业务事件预先设定的响应标识,该响应标识可以指示该业务组件是否支持该业务事件的响应。
S230,根据目标容器中的每一业务组件面向业务事件的响应标识,从目标容器中筛选出目标业务组件。
可选的,通过分析目标容器中的每一业务组件面向业务事件的响应标识,可以判断该业务组件是否支持该业务事件的响应,进而从目标容器中筛选出可响应该业务事件的目标业务组件,以便后续通过该目标业务组件来执行该业务事件,实现待渲染页面的渲染。
S240,在目标业务组件上配置业务事件对应的业务接口,以接收所分发的业务事件。
可选的,为了确保目标业务组件执行业务事件的准确性,本实施例会在目标容器中筛选出目标业务组件之后,根据该业务事件的业务类型为该目标业务组件配置对应的业务接口,以使目标业务组件通过该业务接口来接收目标容器所分发的业务事件,而避免接收其他业务场景下的业务事件;例如,如果目标容器的业务事件为上麦事件,则会为目标容器中筛选出的目标业务组件配置对应的上麦接口,而不会配置下麦接口,防止目标业务组件接收到所分发的下麦事件,从而保证目标业务组件执行业务事件和页面渲染的准确性。
S250,通过目标业务组件执行业务事件,以渲染待渲染页面。
本实施例提供的技术方案,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件上配置的与该业务事件对应的业务接口来执行该业务事件,从而实现该待渲染页面的渲染,避免目标业务组件执行其他业务场景下的业务事件,保证目标业务组件执行业务事件和页面渲染的准确性;此时无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
实施例三
图3A为本发明实施例三提供的一种页面渲染的方法的流程图,图3B为本发明实施例三提供的页面渲染过程的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,本实施例主要对于待渲染页面的具体渲染过程进行详细的解释说明。
可选的,如图3A所示,本实施例中可以包括如下步骤:
S310,从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成目标容器的业务事件。
S320,根据目标容器在待渲染页面中的渲染位置,确定目标容器面向待渲染页面的第二配置声明。
可选的,在从页面容器库中加载当前业务请求在待渲染页面中指向的目标容器时,该当前业务请求中会携带有在待渲染页面中本次渲染指向的容器位置信息,此时通过分析当前业务请求可以确定出本次加载的目标容器在待渲染页面中的渲染位置,例如在直播间页面的1号麦位上执行上麦操作时,由于在对直播间麦位进行布局时便设定了直播间内各个麦位的配置信息,因此在1号麦位上执行上麦操作时,可以直接获取该1号麦位的配置信息,从而确定该1号麦位对应的目标容器在该直播间页面上的渲染位置;在确定出目标容器在待渲染页面中的渲染位置之后,可以采用该目标容器在待渲染页面中的渲染位置对该目标容器在定制开发时所定义的原始配置信息进行对应更新,从而得到该目标容器面向待渲染页面的第二配置声明,该第二配置声明可以定义该目标容器在待渲染页面中的页面渲染属性,从而保证待渲染页面的渲染效果。
S330,在目标容器中筛选出用于响应业务事件的目标业务组件。
S340,根据目标业务组件面向目标容器的第一配置声明以及目标容器面向待渲染页面的第二配置声明,为目标业务组件配置对应的页面渲染属性。
在本实施例中,由于业务组件在不同业务场景下存在不同的渲染要求,因此在定制开发各个业务组件时,会为该业务组件设定对应的配置信息,并通过业务组件面向所在容器的第一配置声明来表示,该第一配置声明用于描述业务组件在待渲染页面中的表现特性、数据表现以及交互表现等不同业务场景下的渲染要求;因此,在目标容器中筛选出用于响应业务事件的目标业务组件之后,首先需要获取各个目标业务组件面向目标容器设定的第一配置声明以及该目标容器面向待渲染页面设定的第二配置声明,并对该第一配置声明中目标业务组件在目标容器中的显示特点和第二配置声明中目标容器在待渲染页面中的显示特点进行分析,以修改各个目标业务组件和目标容器在不同待渲染页面下的自定义配置,从而为各个目标组件配置符合该待渲染页面下的目标容器的渲染要求的页面渲染属性,以便后续通过更新该页面渲染属性来渲染该待渲染页面。
需要说明的是,本实施例在定义各个业务组件的第一配置声明时,可以将业务组件抽象为配置接口,通过IDecorate表示,通过该IDecorate借口来定义包含该业务组件的布局参数和标识信息等的第一配置声明,同时也可以用于回调业务组件的生命周期onViewAttach,来表示业务组件被添加到布局显示,同时通过接口IDecorate的抽象类来实现业务组件的一些基础的业务功能,通过BaseDecorateView来命名。
S350,通过目标业务组件执行业务事件,更新页面渲染属性,并在待渲染页面中将目标业务组件更新后的页面渲染属性绑定至对应的目标业务组件上。
可选的,在为目标容器中的各个目标业务组件配置对应的页面渲染属性之后,由于不同业务场景下的待渲染页面会存在不同的渲染要求,因此需要根据当前所处的业务场景来适应性调整预先为各个目标业务组件配置的页面渲染属性,此时通过目标业务组件执行该业务事件,来对该业务事件进行响应,进而根据该响应结果来更新预先为该目标业务组件配置的页面渲染属性,使得目标业务组件对应更新后的页面渲染属性能够准确表示待渲染页面在当前所处的业务场景下对于目标容器的渲染要求,因此可以在待渲染页面中直接将各个目标业务组件更新后的页面渲染属性绑定至对应的目标业务组件上,从而实现待渲染页面在目标容器中各个目标业务组件下的多样化页面渲染。
本实施例提供的技术方案,从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,从而筛选出目标容器中可用于响应该业务事件的目标业务组件,并根据目标业务组件面向目标容器的第一配置声明以及目标容器面向待渲染页面的第二配置声明,为目标业务组件配置对应的页面渲染属性,同时通过目标业务组件执行该业务事件来对目标业务组件的页面渲染属性进行更新,从而实现待渲染页面的多样化页面渲染,此时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
实施例四
图4A为本发明实施例四提供的一种页面渲染的方法的流程图,图4B为本发明实施例四提供的页面渲染过程的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,本实施例主要对于待渲染页面中目标容器的加载过程和目标业务组件的筛选过程进行详细的解释说明。
可选的,如图4A所示,本实施例中可以包括如下步骤:
S410,预先为页面容器库中的每一容器配置对应的容器业务交互层,并为该容器中的每一业务组件配置对应的组件业务交互层。
可选的,在页面容器库中定制开发各个容器以及该容器内的各个业务组件时,为了保证后续容器和业务组件处理业务事件的便捷性,本实施例会预先为页面容器库中的每一容器(以BaseContainerView来表示)分别配置一个对应的容器业务交互层(以BaseContainerViewModel来表示),此时该容器业务交互层可以作为后续为该容器生成的各个业务事件的事件中心,用于执行该容器下业务事件的分发操作,该容器业务交互层也实现对外提供的公开接口(以IContainer表示),例如上麦接口和下麦接口等;同时,也会为各个容器内添加的每一业务组件(以BaseDecorateView表示)配置一个对应的组件业务交互层(以BaseDecorateViewModel表示),该组件业务交互层主要用于发起对应的业务处理请求,并通知业务组件进行页面刷新,从而保证后续页面渲染的准确性。
S420,根据当前业务请求在待渲染页面中指向的容器类型,从页面容器库中筛选出对应的目标容器。
本实施例中,某一用户在客户端显示的某一页面上执行相应的业务触发操作时,如在直播间页面的某一麦位上执行上麦操作,会相应触发该页面的渲染操作,此时通过分析该业务触发操作所属的业务场景,可以使所生成的当前业务请求中携带在待渲染页面中本次渲染指向的容器类型,进而按照该容器类型调用预先为该容器类型下的目标容器所设置的该业务场景下的业务接口,以从页面容器库中筛选出对应的目标容器,例如如果在直播间页面中的多个麦位下执行上麦操作,则会从页面容器库中筛选出与麦位显示所匹配的目标容器,并根据各个麦位在该直播间页面中的布局,来复用该目标容器,从而提高已有容器的复用性。
S430,将目标容器加载至目标容器在待渲染页面中的渲染位置处。
可选的,在从页面容器库中筛选出对应的目标容器之后,通过分析当前业务请求中携带的在待渲染页面中本次渲染指向的容器位置信息,确定各个目标容器在待渲染页面中的渲染位置,进而在各个目标容器在待渲染页面中的渲染位置处分别加载对应的目标容器,从而实现待渲染页面中目标容器的渲染。
S440,通过目标容器对应的容器业务交互层生成目标容器的业务事件。
可选的,为了确保待渲染页面在不同业务场景下的渲染准确性,本实施例需要对当前业务请求所处的业务场景进行分析,因此在待渲染页面中加载出目标容器后,可以通过预先为该目标容器配置的容器业务交互层对用户触发的当前业务操作进行分析,从而生成该目标容器的业务事件,此时该业务事件能够准确指示该目标容器所处的业务场景。
S450,在目标容器中筛选出用于响应业务事件的目标业务组件。
S460,通过目标业务组件对应的组件业务交互层为目标业务组件配置与业务事件对应的业务接口,以使目标业务组件采用该业务接口获取业务事件。
可选的,在目标容器中筛选用于响应业务事件的目标业务组件时,目标容器对应的容器业务交互层会向该目标容器内添加的每一业务组件分发该目标容器的业务事件,以判断该目标容器内的各个业务组件是否支持对该业务场景下业务事件的响应,此时目标容器对应的容器业务交互层会将该目标容器在当前所处的业务场景下的业务接口按照该目标容器内的每一业务组件进行拆分,在确定目标业务组件支持该业务事件的响应后,则在目标业务组件对应的组件业务交互层上为目标业务组件配置与业务事件对应的业务接口,使得该目标业务组件能够通过该业务接口接收到目标容器对应的容器业务交互层所分发的业务事件,该目标容器内未配置该业务接口的其他业务组件则不会接收到所分发的业务事件,从而避免业务事件的分发浪费。
S470,通过目标业务组件执行业务事件,以渲染待渲染页面。
本实施例提供的技术方案,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件来执行该业务事件,从而实现该待渲染页面的渲染,此时不同待渲染页面可以在页面容器库中加载相同容器,并通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
实施例五
图5为本发明实施例五提供的一种页面渲染系统的原理示意图。本实施例中主要对页面渲染的整体过程进行详细描述。参照图5,本实施例的页面渲染系统中可以包括渲染服务器50以及与渲染服务器50通信连接的客户端51。
其中,客户端51用于在待渲染页面中发起指向目标容器的当前业务请求;渲染服务器50用于执行本发明任意实施例提供的页面渲染的方法。
本实施例提供的技术方案,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件来执行该业务事件,从而实现该待渲染页面的渲染,此时不同待渲染页面可以在页面容器库中加载相同容器,并通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
实施例六
图6为本发明实施例六提供的一种页面渲染的装置的结构示意图,具体的,如图6所示,该装置可以包括:
目标容器加载模块610,用于从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件;
目标组件筛选模块620,用于在所述目标容器中筛选出用于响应所述业务事件的目标业务组件;
页面渲染模块630,用于通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
本实施例提供的技术方案,在页面容器库中预先配置不同页面上存在的多种容器,同时每一容器中添加有可用于渲染页面的各类业务组件,面向任一待渲染页面上的当前业务请求,均可以从页面容器库中加载出该当前业务请求指向的目标容器,并生成目标容器的业务事件,并通过目标容器中可用于响应该业务事件的目标业务组件来执行该业务事件,从而实现该待渲染页面的渲染,此时不同待渲染页面可以在页面容器库中加载相同容器,并通过复用该容器中的对应业务组件执行不同的业务事件,实现不同的页面渲染效果,无需将业务组件与业务逻辑堆积在一起,降低了业务组件的复杂性,实现页面容器库中容器及其业务组件的多样化定制,提高业务组件的复用性,同时通过页面容器库中已有容器的加载及其业务组件的业务执行,提高了页面渲染的灵活性。
本实施例提供的页面渲染的装置可适用于上述任意实施例提供的页面渲染的方法,具备相应的功能和有益效果。
实施例七
图7为本发明实施例七提供的一种渲染服务器的结构示意图,如图7所示,该渲染服务器包括处理器70、存储装置71和通信装置72;渲染服务器中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;渲染服务器中的处理器70、存储装置71和通信装置72可以通过总线或其他方式连接,图7中以通过总线连接为例。
本实施例提供的一种渲染服务器可用于执行上述任意实施例提供的页面渲染的方法,具备相应的功能和有益效果。
实施例八
本发明实施例八还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的页面渲染的方法。该方法具体可以包括:
从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件;
在所述目标容器中筛选出用于响应所述业务事件的目标业务组件;
通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的页面渲染的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述页面渲染的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种页面渲染的方法,其特征在于,包括:
从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件,其中,所述预先配置的页面容器库中存在可适用于不同业务场景下的容器,每一容器中添加有具备不同业务功能的多个业务组件;
在所述目标容器中筛选出用于响应所述业务事件的目标业务组件,其中,从所述页面容器库中加载出所述目标容器,并生成所述目标容器的业务事件时,首先需要判断所述目标容器中已添加的各个业务组件是否支持响应所述业务事件,而在每一业务组件的预先设计过程中会指定所述业务组件所支持的各项业务操作,进而从所述目标容器内添加的全部业务组件中筛选出能够支持响应所述业务事件的目标业务组件;
通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标容器中筛选出用于响应所述业务事件的目标业务组件,包括:
向所述目标容器中的每一业务组件分发所述业务事件,确定该业务组件面向所述业务事件的响应标识;
根据所述目标容器中的每一业务组件面向所述业务事件的响应标识,从所述目标容器中筛选出目标业务组件。
3.根据权利要求2所述的方法,其特征在于,在从所述目标容器中筛选出目标业务组件之后,还包括:
在所述目标业务组件上配置所述业务事件对应的业务接口,以接收所分发的业务事件。
4.根据权利要求1所述的方法,其特征在于,所述通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面,包括:
根据所述目标业务组件面向所述目标容器的第一配置声明以及所述目标容器面向所述待渲染页面的第二配置声明,为所述目标业务组件配置对应的页面渲染属性;
通过所述目标业务组件执行所述业务事件,更新所述页面渲染属性,并在所述待渲染页面中将所述目标业务组件更新后的页面渲染属性绑定至对应的目标业务组件上。
5.根据权利要求4所述的方法,其特征在于,在从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器时,还包括:
根据所述目标容器在所述待渲染页面中的渲染位置,确定所述目标容器面向所述待渲染页面的第二配置声明。
6.根据权利要求1所述的方法,其特征在于,所述从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,包括:
根据所述当前业务请求在待渲染页面中指向的容器类型,从所述页面容器库中筛选出对应的目标容器;
将所述目标容器加载至所述目标容器在所述待渲染页面中的渲染位置处。
7.根据权利要求1-6任一项所述的方法,其特征在于,在从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器之前,还包括:
预先为所述页面容器库中的每一容器配置对应的容器业务交互层,并为该容器中的每一业务组件配置对应的组件业务交互层;
相应的,所述生成所述目标容器的业务事件,包括:
通过所述目标容器对应的容器业务交互层生成所述目标容器的业务事件;
在所述通过所述目标业务组件执行所述业务事件之前,还包括:
通过所述目标业务组件对应的组件业务交互层为所述目标业务组件配置与所述业务事件对应的业务接口,以使所述目标业务组件采用该业务接口获取所述业务事件。
8.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
通过所述目标容器上配置的组装接口和删除接口,更新所述目标容器内的业务组件。
9.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
实时监听所述目标业务组件的生命周期。
10.一种页面渲染的装置,其特征在于,包括:
目标容器加载模块,用于从预先配置的页面容器库中加载当前业务请求在待渲染页面中指向的目标容器,并生成所述目标容器的业务事件,其中,所述预先配置的页面容器库中存在可适用于不同业务场景下的容器,每一容器中添加有具备不同业务功能的多个业务组件;
目标组件筛选模块,用于在所述目标容器中筛选出用于响应所述业务事件的目标业务组件,其中,从所述页面容器库中加载出所述目标容器,并生成所述目标容器的业务事件时,首先需要判断所述目标容器中已添加的各个业务组件是否支持响应所述业务事件,而在每一业务组件的预先设计过程中会指定所述业务组件所支持的各项业务操作,进而从所述目标容器内添加的全部业务组件中筛选出能够支持响应所述业务事件的目标业务组件;
页面渲染模块,用于通过所述目标业务组件执行所述业务事件,以渲染所述待渲染页面。
11.一种渲染服务器,其特征在于,所述渲染服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的页面渲染的方法。
12.一种页面渲染系统,其特征在于,包括权利要求11所述的渲染服务器以及与所述渲染服务器通信连接的客户端;其中,
所述客户端用于在待渲染页面中发起指向目标容器的当前业务请求。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的页面渲染的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617484.XA CN111814089B (zh) | 2020-06-30 | 2020-06-30 | 一种页面渲染的方法、装置、渲染服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617484.XA CN111814089B (zh) | 2020-06-30 | 2020-06-30 | 一种页面渲染的方法、装置、渲染服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814089A CN111814089A (zh) | 2020-10-23 |
CN111814089B true CN111814089B (zh) | 2023-02-17 |
Family
ID=72856445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010617484.XA Active CN111814089B (zh) | 2020-06-30 | 2020-06-30 | 一种页面渲染的方法、装置、渲染服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814089B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761415A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种页面展示方法和装置 |
CN112579237B (zh) * | 2020-12-17 | 2024-06-11 | 百果园技术(新加坡)有限公司 | 基于mvvm模式的事件响应方法、装置、设备和介质 |
CN112579084A (zh) * | 2020-12-17 | 2021-03-30 | 深圳集智数字科技有限公司 | 一种页面的拼装方法及装置 |
CN112612539B (zh) * | 2020-12-18 | 2024-02-13 | 北京达佳互联信息技术有限公司 | 数据模型卸载方法、装置、电子设备及存储介质 |
CN112635034A (zh) * | 2020-12-30 | 2021-04-09 | 微医云(杭州)控股有限公司 | 一种业务权限系统、权限分配方法、电子设备及存储介质 |
CN112882709B (zh) * | 2021-03-10 | 2024-05-24 | 百度在线网络技术(北京)有限公司 | 基于容器引擎系统的渲染方法、装置、设备以及存储介质 |
CN112835580B (zh) * | 2021-03-10 | 2024-05-28 | 百度在线网络技术(北京)有限公司 | 指令处理方法、装置、设备以及存储介质 |
CN113672829B (zh) * | 2021-07-20 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 页面展示方法、装置、电子设备及存储介质 |
CN113553133B (zh) * | 2021-07-26 | 2022-11-04 | 上海哔哩哔哩科技有限公司 | 页面展示方法及系统 |
CN116095053B (zh) * | 2023-04-12 | 2023-06-27 | 广州此声网络科技有限公司 | 虚拟空间麦位资源处理方法、装置、计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159999A (zh) * | 2015-09-08 | 2015-12-16 | 百度在线网络技术(北京)有限公司 | 动态页面的展现方法及装置 |
CN107479861B (zh) * | 2016-06-07 | 2021-04-06 | 阿里巴巴集团控股有限公司 | 页面处理方法及其系统 |
CN110888635B (zh) * | 2019-11-28 | 2023-07-04 | 百度在线网络技术(北京)有限公司 | 同层渲染方法、装置、电子设备和存储介质 |
-
2020
- 2020-06-30 CN CN202010617484.XA patent/CN111814089B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111814089A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814089B (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
CN111045655B (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
EP4087258A1 (en) | Method and apparatus for displaying live broadcast data, and device and storage medium | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
CN109683892B (zh) | 页面展示方法、装置、计算机设备及存储介质 | |
CN109618176B (zh) | 一种直播业务的处理方法、设备和存储介质 | |
CN109542878B (zh) | 一种列表创建方法及装置 | |
CN112925520A (zh) | 可视化页面的搭建方法、装置及计算机设备 | |
WO2023103759A1 (zh) | 服务调用方法、系统、装置、设备及存储介质 | |
CN112231690A (zh) | 一种权限管理方法及相关装置 | |
CN115688715A (zh) | 一种报表生成方法、装置和计算机可读介质 | |
CN110554885A (zh) | 子应用生成方法、装置、电子设备及存储介质 | |
CN112035555B (zh) | 一种信息展示方法、装置及设备 | |
CN111459571A (zh) | 一种配置方法、处理方法及装置 | |
CN111736825A (zh) | 一种信息展示方法、装置、设备和存储介质 | |
CN112181409A (zh) | 一种应用构建方法、应用渲染方法及装置 | |
CN114579128A (zh) | 一种可视化页面搭建方法及装置、存储介质、计算机设备 | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
CN106934555B (zh) | 工作流的组织方法及装置、计算机设备及存储介质 | |
CN113568687A (zh) | 展示Web页面的方法、相关设备和计算机可读存储介质 | |
CN113595872B (zh) | 消息组件配置方法、装置、系统、设备和存储介质 | |
CN108874371B (zh) | 直播间样式的扩展方法及系统、服务器及存储介质 | |
CN112433821B (zh) | 业务模型的搭建方法、装置、电子设备及介质 | |
CN112511405B (zh) | 用于社交应用的分享方法、装置、服务器和存储介质 | |
CN117348862A (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 |