CN113836454A - 一种内容展示页面的展示方法、装置、介质及设备 - Google Patents
一种内容展示页面的展示方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN113836454A CN113836454A CN202111081302.2A CN202111081302A CN113836454A CN 113836454 A CN113836454 A CN 113836454A CN 202111081302 A CN202111081302 A CN 202111081302A CN 113836454 A CN113836454 A CN 113836454A
- Authority
- CN
- China
- Prior art keywords
- data source
- target data
- rendering
- display
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000009877 rendering Methods 0.000 claims abstract description 119
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 230000001419 dependent effect Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 239000002131 composite material Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本申请实施例公开了一种内容展示页面的展示方法、装置、介质及设备。本发明涉及人工智能技术,该方法包括:若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;目标数据源的执行得到的执行结果为渲染展示组件的数据;若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染展示组件。本技术方案,可以通过根据数据源之间的依赖关系,有序获取数据,并且基于展示组件与数据源之间的监听机制,一旦监听到展示所需的数据源执行完成,就可以对展示组件进行快速渲染的目的。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种内容展示页面的展示方法、装置、介质及设备。
背景技术
随着互联网的快速发展,在日常的内容展示页面,如Web页面开发过程中,都是用发送请求,到获取数据,到渲染组件这样的开发逻辑来展示最终的内容展示页面给用户的。
然而当内容展示页面中组件较多的情况下,例如某个门户网站,多个组件同时向后端发起数据请求,加之数据请求并发数的限制,这不仅会造请求无法及时被发送的拥堵现象,同时还有可能存在部分数据请求的请求对象是相同的,会造成数据重复请求的问题。导致了数据返回速度和内容展示页面组件的渲染速度受到了极大的影响。
发明内容
本申请实施例提供一种内容展示页面的展示方法、装置、介质及设备,可以通过根据数据源之间的依赖关系,有序获取数据,并且基于展示组件与数据源之间的监听机制,一旦监听到展示所需的数据源执行完成,就可以对展示组件进行快速渲染的目的。
第一方面,本申请实施例提供了一种内容展示页面的展示方法,所述内容展示页面包括至少一个展示组件,所述展示组件预先声明渲染所需的数据源,所述方法包括:
若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
进一步的,根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,包括:
读取预先确定的各数据源之间的依赖关系;
根据所述各数据源之间的依赖关系,确定是否存在目标数据源所依赖的基础数据源;
若存在,则获取目标数据源所依赖的基础数据源,以及所述目标数据源与所述基础数据源之间的依赖关系;
根据所述目标数据源,所述基础数据源以及所述目标数据源与所述基础数据源之间的依赖关系构建有向无环图;
根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序。
进一步的,根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序,包括:
确定所述有向无环图的根节点和子节点;其中,所述根节点包括基础数据源和无依赖基础数据源的目标数据源;所述子节点包括依赖于基础数据源的目标数据源;
获取网络请求的并发数,根据网络请求的并发数与所述有向无环图的根节点的数量和子节点的数量,确定所述根节点和子节点的执行顺序。
进一步的,若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,包括:
若检测到内容展示页面启动事件,根据预先保存的内容展示页面的注册信息,确定所述内容展示页面注册的所有展示组件。
进一步的,获取展示组件预先声明的渲染所需的目标数据源,包括:
读取各展示组件的预先声明数据;其中,所述预先声明数据包括展示组件预先声明的渲染所需的数据源;
根据各展示组件的预先声明的渲染所需的数据源,汇总得到内容展示页面渲染所需的所有目标数据源。
进一步的,在读取各展示组件的预先声明数据之前,所述方法还包括:
通过展示组件发出注册请求,以声明所述展示组件渲染所需的数据源;其中,所述展示组件的注册信息中包括展示组件渲染所需的数据源。
进一步的,在通过展示组件发出注册请求之前,所述方法还包括:
通过展示组件发出监听请求,以建立所述展示组件对所述展示组件渲染所需的数据源之间的监听关系。
进一步的,若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件,包括:
开启各展示组件的监听功能,以供各展示组件对存在监听关系的目标数据源的执行结果进行监听;其中,所述监听关系是预先建立的;
若识别到存在展示组件渲染所需的目标数据源全部执行完成,则确定该展示组件具备渲染条件;
对具备渲染条件的展示组件基于目标数据源的执行结果进行渲染。
进一步的,所述数据源是基于所述数据请求地址和所述数据请求参数封装得到的数据源对象。
第二方面,本申请实施例提供了一种内容展示页面的展示装置,所述内容展示页面包括至少一个展示组件,所述展示组件预先声明渲染所需的数据源,所述装置包括:
目标数据源获取模块,用于若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
执行顺序确定模块,用于根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
展示组件渲染模块,用于若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的内容展示页面的展示方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的内容展示页面的展示方法。
本申请实施例所提供的技术方案,通过确定各个页面的展示组件,并确定各展示组件渲染所需的目标数据源,基于已有的数据源之间的依赖关系,确定各目标数据源的执行顺序,以得到展示组件渲染所需的数据,并进行展示组件的渲染。本方案这样设置不仅可以提高展示组件的渲染速度,同时还能够对发出的数据请求进行避免重复的设计,降低网络请求负担和对网络访问资源的占用,提高页面的渲染速度。
附图说明
图1是本申请实施例一提供的内容展示页面的展示方法的流程图;
图2是本申请实施例二提供的内容展示页面的展示方法的流程图;
图3是本申请实施例三提供的有向无环图的示意图;
图4是本申请实施例四提供的内容展示页面的展示装置的结构框图;
图5是本申请实施例六提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的内容展示页面的展示方法的流程图,本实施例可适用于页面展示的场景,该方法可以由本申请实施例所提供的内容展示页面的展示装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于电子设备中。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
如图1所示,所述内容展示页面的展示方法包括:
S110,若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源。
其中,所述内容展示页面可以是浏览器的某一个页面,如某个门户网站的首页页面,还可以是应用程序的页面,例如应用程序由一个页面跳转到另一个页面时,也需要内容的展示。本方案中,内容展示页面包括至少一个展示组件,其中,内容展示页面可以根据页面布局来确定其包括多少个展示组件,例如某个门户网站的首页,则可以将每个内容展示区域,例如房屋租赁信息区域、共享车辆骑行区域、二手物品售卖区域等分别作为一个展示组件。可以理解的,例如购物网站的首页包括限时优惠功能区域,购物车功能区域、产品推荐功能区域和个人主页功能区域等,其中每个功能区域都可以看作是一个展示组件。
内容展示页面启动事件,可以是内容展示页面被打开或者被跳转的事件。由于内容展示页面被打开或者被跳转之后,需要对该内容展示页面进行展示组件的显示,因此需要确定展示组件渲染所需的目标数据源。
对于每个组件来说,如果需要正常的显示数据,就需要从数据库中拉取到数据,并且将数据渲染出来。
所述展示组件预先声明渲染所需的数据源,具体的,可以是在展示组件注册的过程中声明渲染所需的数据源。其中,数据源可以通过执行得到展示组件的数据,进而完成对展示组件的渲染。
以往的数据拉取方式是每个组件固定关联有一个或者多个请求,每个请求可以包括请求地址和请求参数,通过请求地址和请求参数,可以明确所拉取的数据。本方案中,由于各个组件需要渲染都是基于数据源来实现的,因此,可以构建展示组件与数据源之间的依赖关系,即渲染展示组件所需的数据源。例如某一个展示组件A需要渲染就需要执行数据源a,因此可以将A依赖于a全局存储起来,这样只要该展示组件需要渲染时,就读取到全局存储的“A依赖于a”,进而获取到相应的数据即可。
S120,根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据。
其中,各数据源之间的依赖关系,可以是预先确定的,例如数据源a依赖于a自身,数据源b依赖于数据源a,数据源c依赖于数据源c,数据源d依赖于数据源b和c。确定各个数据源的依赖关系,可以是由被依赖的数据源经过依赖关系的计算能够得到依赖的数据源,则可以在得到被依赖数据源的执行结果之后,依据依赖关系的计算得到依赖数据源的执行结果,因此依赖数据源就无需在单独发送请求,从而降低网络请求负担。
可以理解的,当前的内容展示页面中所有的展示组件展示所需的目标数据源,可以是预先构建依赖关系的数据源中的一部分。因此可以通过确定各目标数据源在预先构建依赖关系的数据源中的依赖关系,确定各目标数据源的执行顺序。具体的,执行顺序可以是优先执行被依赖的数据源,再去执行依赖的数据源。
可以知道的,执行数据源的过程,可以是向服务器发送数据源的数据请求的过程,并得到数据源的执行结果。本方案中,在得到执行结果之后,可以发布执行结果,供展示组件能够根据预先订阅的目标数据源得知该结果。此处具体的,可以采用发布订阅机制,从展示组件得到渲染所需的目标数据源的执行结果数据。
S130,若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
其中,当存在一个或者多个展示组件渲染所需的目标数据源已被执行时,可以直接对该展示组件进行渲染。具体的,可以获取展示组件渲染所需的目标数据源的执行结果,并渲染该展示组件。
可以理解的,数据源之间的依赖关系,可以构建成有向无环图。其中所有的起始节点都是基础数据源,所有的中间节点或者结束节点都是符合数据源。由基础数据源可以通过一定的运算规则得到符合数据源。本方案中,所有数据源之间的依赖关系也可以是全局存储的,只要明确待展示页面,则可以明确其中所有的组件依赖的数据源,并根据被依赖的数据源在整个有向无环图中的位置确定其中哪些是基础数据源,哪些是复合数据源。
如果待展示页面中存在某一个目标组件,它所需要的数据源包括复合数据源,且复合数据源所依赖的基础数据源已经被响应,则可以直接对该组件进行渲染。例如某一个组件X,渲染所需的数据源为a和c,其中c依赖于b,而如果监听到b已经被响应,则可以直接调取b的数据,生成c数据后直接渲染组件X。
本方案通过这样的设置,实现组件和请求的解耦,直接从请求处理层拿数据,或者按照新定义的数据源进行渲染,就能够实现页面的展示。极大的减少了页面展示时所需要发送的数据请求,降低了网络负荷,同时减小了渲染时间,提高页面的展示速度。
本实施例,通过提供的数据源作为实体,以实体之间的依赖属性,明确各个数据源之间的依赖关系,并明确各个数据源的依赖规则,从而可以得到任何页面的各个组件的目标数据源的执行顺序。通过这样的设置,可以充分利用人工智能+的手段来实现依赖关系的建立和使用,降低页面中各组件的数据请求的重复度,提高页面的展示组件的渲染速度。
本申请实施例所提供的技术方案,通过确定各个页面的展示组件,并确定各展示组件渲染所需的目标数据源,基于已有的数据源之间的依赖关系,确定各目标数据源的执行顺序,以得到展示组件渲染所需的数据,并进行展示组件的渲染。本方案这样设置不仅可以提高展示组件的渲染速度,同时还能够对发出的数据请求进行避免重复的设计,降低网络请求负担和对网络访问资源的占用,提高页面的渲染速度。
在本实施例中,可选的,若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,包括:
若检测到内容展示页面启动事件,根据预先保存的内容展示页面的注册信息,确定所述内容展示页面注册的所有展示组件。
其中,内容展示页面的注册信息,可以是建立内容展示页面时确定的,可以通过注册,确定当前建立的内容展示页面中包括哪些展示组件。该注册信息可以存储在应用终端,还可以存储在服务器当中,因此可以通过本地读取或者发送请求来获取注册信息。具体的,注册信息中可以记录当前内容展示页面的唯一标识,以及当前内容展示页面中所有展示组件的唯一标识。由此,可以基于当前内容展示页面的唯一标识来发出请求,确定所有展示组件的唯一标识,进而确定当前内容展示页面中所有的展示组件。
本方案通过这样的设置,可以快速并且准确的读取到页面中所包括的展示组件,为后续的确定目标数据源和展示组件的渲染提供基础。
在本实施例中,可选的,所述数据源是基于所述数据请求地址和所述数据请求参数封装得到的数据源对象。
具体的,数据源的执行,可以是基于数据请求地址和请求数据时的数据请求参数,以得到数据源的唯一的执行结果,即得到数据源所指向的具体数据。
本方案通过这样的设置,可以提高具体数据获取过程的准确性,基于地址和请求参数,可以得到唯一的且确定的具体数据,为展示组件的渲染提供真实所需的数据。
实施例二
图2是本申请实施例二提供的内容展示页面的展示方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,包括:读取预先确定的各数据源之间的依赖关系;根据所述各数据源之间的依赖关系,确定是否存在目标数据源所依赖的基础数据源;若存在,则获取目标数据源所依赖的基础数据源,以及所述目标数据源与所述基础数据源之间的依赖关系;根据所述目标数据源,所述基础数据源以及所述目标数据源与所述基础数据源之间的依赖关系构建有向无环图;根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序。
如图2所示,本实施例的方法具体包括如下步骤:
S210,若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源。
S220,读取预先确定的各数据源之间的依赖关系。
其中,各数据源之间的依赖关系,可以存储与徐彤的独立配置的映射表中。映射表中可以用来构建数据源在系统内唯一的表示与执行请求的应答之间的键值对,这样,就可以做到依赖的键信息使用值信息执行时能够运行出结果。
S230,根据所述各数据源之间的依赖关系,确定是否存在目标数据源所依赖的基础数据源。
示例性的,以数据表的形式进行存储,例如将数据包的键信息中存储当前数据源,值信息中存储当前数据源所依赖的数据源。例如,对于基础数据源,可以依赖于自身,对于复合数据源,可以依赖于基础数据源,具体的,基础数据源a依赖于a,基础数据源b依赖于b,复合数据源c依赖于b。
S240,若存在,则获取目标数据源所依赖的基础数据源,以及所述目标数据源与所述基础数据源之间的依赖关系。
其中,由于目标数据源和基础数据源之间可能是直接依赖关系,也可能是间接依赖关系,例如c依赖于b,b依赖于a,则b为直接依赖于基础数据源a,c为间接依赖于基础数据源a。因此需要确定目标数据源与所述基础数据源之间的依赖关系,如果是间接依赖关系的,需要基于依赖关系的转换来确定。
S250,根据所述目标数据源,所述基础数据源以及所述目标数据源与所述基础数据源之间的依赖关系构建有向无环图。
可以基于依赖关系,确定待展示页面的有向无环图,即待展示页面中需要哪些数据源,并将这些数据源的节点提取出来,构建成所有目标数据源的有向无环图。
其中,有向无环图的概念为:如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图。
有向无环图的好处就是可以把重复依赖的部分做去重,防止同一个请求多次发送,同时可以在每个数据源的数据获取到就去渲染依赖于它的页面组件,比如D模块,在A执行出结果后就可以处理出它的数据了,而原始的数据请求方式为需要等A模块、B模块和C模块的请求都完成才会发送D模块的请求。本方案这样设计就可以避免多请求一起扎堆,然后请求阻塞,造成可以先渲染出来的展示组件还是在加载中,影响用户体验。
S260,根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序。
例如网络请求的最大并发数为6,则可以根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序。
S270,发布执行结果。
S280,若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
本申请实施例所提供的技术方案,可以把大量公共的数据做聚合,按最基础的数据结果向后依次生成,节省了请求数量,展示模块渲染也更加合理,展示模块也可在部分数据出来后就能渲染出来了,提升了用户的体验。
在上述各实施例的基础上,可选的,根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序,包括:
确定所述有向无环图的根节点和子节点;其中,所述根节点包括基础数据源和无依赖基础数据源的目标数据源;所述子节点包括依赖于基础数据源的目标数据源;
获取网络请求的并发数,根据网络请求的并发数与所述有向无环图的根节点的数量和子节点的数量,确定所述根节点和子节点的执行顺序。
其中,根节点为基础数据源,可以理解的,基础数据源也可以是目标数据源。子节点可以是依赖于基础数据源的目标数据源。
网络请求的并发数,可以是根据预先设置的信息或者当前网络环境确定的。本方案中,可以根据网络请求的并发数,和有向无环图的根节点的数量和子节点的数量,来确定各个节点的执行顺序。例如根节点的数量大于网络请求的并发数,则可以优先执行部分根节点基础数据源,再执行其他根节点和部分子节点的基础数据源和目标数据源,并依次执行直至整个有向无环图所有的节点都执行完成。
本技术方案通过这样的设置,可以明确根据有向无环图对各个基础数据源和目标数据源进行有序的执行,从而确保数据请求不会存在重新发送以占用网络资源的问题,提高内容展示页面中各展示组件的渲染效率。
在本实施例中,可选的,获取展示组件预先声明的渲染所需的目标数据源,包括:
读取各展示组件的预先声明数据;其中,所述预先声明数据包括展示组件预先声明的渲染所需的数据源;
根据各展示组件的预先声明的渲染所需的数据源,汇总得到内容展示页面渲染所需的所有目标数据源。
本方案中,各展示组件由以前的直接访问数据请求,改成每个组件只声明渲染所需的数据源,同时监听依赖数据源的状态,数据源执行出结果后执行渲染逻辑。
其中,具体的,预先声明数据可以是在展示组件进行注册时就声明的,而且可以存储在一个固定的位置。在确定内容展示页面中包括的所有展示组件之后,可以根据各展示组件的预先声明数据确定所有的目标数据源。
本方案通过这样的设置,基于各个展示组件的声明数据确定所有的目标数据源,进而作为构建有向无环图的基础。
本方案中,可以进一步优化的,若检测数据源变动事件,则确定数据源的变动类型;其中,所述变动类型包括数据源增加,数据源替换和数据源删除;
若为数据源增加,则将增加的数据源作为基础数据源,并根据数据源的衍生规则确定依赖于所述基础数据源的复合数据源;
若为数据源替换,则将替换的数据源作为替换目标;
若为数据源删除,则将依赖于所删除的数据源复合数据源删除。
本方案还提供了一种数据源更新的情况,由于数据源存在需要更新的情况,可以针对不同的更新类型,选择不同的处理策略,以保证全局维护的有向无环图是实时更新的,确保所渲染组件的准确型。
在本实施例中,可选的,在读取各展示组件的预先声明数据之前,所述方法还包括:
通过展示组件发出注册请求,以声明所述展示组件渲染所需的数据源;其中,所述展示组件的注册信息中包括展示组件渲染所需的数据源。
具体的,每个展示组件在注册时,可以声明展示组件的基础信息,以及展示组件渲染所需的数据源。本方案可以针对这一部分进行单独的保存,以得到预先声明数据。
在上述各技术方案的基础上,可选的,在通过展示组件发出注册请求之前,所述方法还包括:
通过展示组件发出监听请求,以建立所述展示组件对所述展示组件渲染所需的数据源之间的监听关系。
本方案中,声明的是展示组件渲染所需的数据源,实则可以基于此来构建展示组件与渲染所需的数据源执行结果之间的监听关系,即若展示组件渲染所需的数据源执行完成,并发布执行完成的信息,则展示组件可以监听到该信息,如果展示组件监听的所有的数据源都执行完成,则可以直接提取执行结果数据来进行渲染。本方案通过这样的设置,可以提高各展示组件的渲染效率。
本实施例在上述实施例的基础上,提供了一种展示组件的渲染监听机制,以实现展示组件的快速渲染,并配合有向无环图完成快速的内容展示页面的展示方式,提高了用户的使用体验。
在上述各技术方案的基础上,可选的,若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件,包括:
开启各展示组件的监听功能,以供各展示组件对存在监听关系的目标数据源的执行结果进行监听;其中,所述监听关系是预先建立的;
若识别到存在展示组件渲染所需的目标数据源全部执行完成,则确定该展示组件具备渲染条件;
对具备渲染条件的展示组件基于目标数据源的执行结果进行渲染。
本方案中,首先需要开启各展示组件的监听功能,并对存在监听关系的目标数据源的执行结果进行监听。此处存在监听关系,即为前文中所述的当前的展示组件渲染所需的目标数据源,其执行结果需要被当前展示组件监听到。如果监听到当前展示组件监听到所有的存在监听关系的目标数据源执行结果,则可以认为当前具备当前展示组件的渲染条件,并对当前展示组件进行渲染。本方案通过这样的设置,可以基于监听关系,确定展示组件能够进行渲染的时间,并快速完成渲染和展示,提高了页面的展示速度。
实施例三
本实施例是在上述两个实施例的基础上,提供的优选实施例。图3是本申请实施例三提供的有向无环图的示意图,如图3所示,节点1为根节点,节点2和节点3都依赖于节点1,且节点3依赖于节点2,节点4依赖于节点3,节点5依赖于节点3,节点6依赖于节点2和节点5。
因此,在执行时,执行顺序可以优先执行根节点,即节点1,最后执行节点4和节点6,从而可以确保每个节点代表的数据源的数据访问请求不会存在重复。
本方案特别适合做大型报表系统,或者大型的portal(门户网站)网站。往往这些系统的页面会有大量的独立图表或者模块,通常模块化的设计会在模块内部独立处理请求。这样就会造成单页面几十甚至上百个数据请求的发送。这个方案可以把大量公共的数据做聚合,按最基础的数据结果向后依次生成,节省了请求数量,页面模块渲染也更加合理,模块也可在部分数据出来后就能渲染出来了,大大提升了用户的体验。
实施例四
图4是本申请实施例四提供的内容展示页面的展示装置的结构框图,该装置可执行本申请任意实施例所提供的内容展示页面的展示方法,具备执行方法相应的功能模块和有益效果。
如图4所示,所述内容展示页面包括至少一个展示组件,所述展示组件预先声明渲染所需的数据源,所述装置包括:
目标数据源获取模块410,用于若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
执行顺序确定模块420,用于根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
展示组件渲染模块430,用于若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
上述产品可执行本申请实施例所提供的内容展示页面的展示方法,具备执行方法相应的功能模块和有益效果。
实施例五
本申请实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的内容展示页面的展示方法:
若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
实施例六
本申请实施例六提供了一种电子设备。图5是本申请实施例六提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本申请实施例所提供的内容展示页面的展示方法,该方法包括:
若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
当然,本领域技术人员可以理解,处理器520还实现本申请任意实施例所提供的内容展示页面的展示方法的技术方案。
图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的内容展示页面的展示方法对应的程序指令。
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
本申请实施例提供的电子设备,通过确定各个页面的展示组件,并确定各展示组件渲染所需的目标数据源,基于已有的数据源之间的依赖关系,确定各目标数据源的执行顺序,以得到展示组件渲染所需的数据,并进行展示组件的渲染。本方案这样设置不仅可以提高展示组件的渲染速度,同时还能够对发出的数据请求进行避免重复的设计,降低网络请求负担和对网络访问资源的占用,提高页面的渲染速度。
上述实施例中提供的内容展示页面的展示装置、介质及电子设备可执行本申请任意实施例所提供的内容展示页面的展示方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的内容展示页面的展示方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (12)
1.一种内容展示页面的展示方法,其特征在于,所述内容展示页面包括至少一个展示组件,所述展示组件预先声明渲染所需的数据源,所述方法包括:
若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
2.根据权利要求1所述的方法,其特征在于,根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,包括:
读取预先确定的各数据源之间的依赖关系;
根据所述各数据源之间的依赖关系,确定是否存在目标数据源所依赖的基础数据源;
若存在,则获取目标数据源所依赖的基础数据源,以及所述目标数据源与所述基础数据源之间的依赖关系;
根据所述目标数据源,所述基础数据源以及所述目标数据源与所述基础数据源之间的依赖关系构建有向无环图;
根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序。
3.根据权利要求2所述的方法,其特征在于,根据各基础数据源和各目标数据源在所述有向无环图中的节点位置,确定各基础数据源和各目标数据源的执行顺序,包括:
确定所述有向无环图的根节点和子节点;其中,所述根节点包括基础数据源和无依赖基础数据源的目标数据源;所述子节点包括依赖于基础数据源的目标数据源;
获取网络请求的并发数,根据网络请求的并发数与所述有向无环图的根节点的数量和子节点的数量,确定所述根节点和子节点的执行顺序。
4.根据权利要求1所述的方法,其特征在于,若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,包括:
若检测到内容展示页面启动事件,根据预先保存的内容展示页面的注册信息,确定所述内容展示页面注册的所有展示组件。
5.根据权利要求1所述的方法,其特征在于,获取展示组件预先声明的渲染所需的目标数据源,包括:
读取各展示组件的预先声明数据;其中,所述预先声明数据包括展示组件预先声明的渲染所需的数据源;
根据各展示组件的预先声明的渲染所需的数据源,汇总得到内容展示页面渲染所需的所有目标数据源。
6.根据权利要求5所述的方法,其特征在于,在读取各展示组件的预先声明数据之前,所述方法还包括:
通过展示组件发出注册请求,以声明所述展示组件渲染所需的数据源;其中,所述展示组件的注册信息中包括展示组件渲染所需的数据源。
7.根据权利要求6所述的方法,其特征在于,在通过展示组件发出注册请求之前,所述方法还包括:
通过展示组件发出监听请求,以建立所述展示组件对所述展示组件渲染所需的数据源之间的监听关系。
8.根据权利要求1所述的方法,其特征在于,若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件,包括:
开启各展示组件的监听功能,以供各展示组件对存在监听关系的目标数据源的执行结果进行监听;其中,所述监听关系是预先建立的;
若识别到存在展示组件渲染所需的目标数据源全部执行完成,则确定该展示组件具备渲染条件;
对具备渲染条件的展示组件基于目标数据源的执行结果进行渲染。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述数据源是基于所述数据请求地址和所述数据请求参数封装得到的数据源对象。
10.一种内容展示页面的展示装置,其特征在于,所述内容展示页面包括至少一个展示组件,所述展示组件预先声明渲染所需的数据源,所述装置包括:
目标数据源获取模块,用于若检测到内容展示页面启动事件,则获取内容展示页面的展示组件,并获取展示组件预先声明的渲染所需的目标数据源;
执行顺序确定模块,用于根据预先确定的各数据源之间的依赖关系确定目标数据源的执行顺序,并发布执行结果;其中,所述目标数据源的执行得到的执行结果为渲染展示组件的数据;
展示组件渲染模块,用于若识别到展示组件渲染所需的目标数据源已被执行,则获取目标数据源的执行结果,以渲染所述展示组件。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的内容展示页面的展示方法。
12.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-9中任一项所述的内容展示页面的展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081302.2A CN113836454A (zh) | 2021-09-15 | 2021-09-15 | 一种内容展示页面的展示方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081302.2A CN113836454A (zh) | 2021-09-15 | 2021-09-15 | 一种内容展示页面的展示方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836454A true CN113836454A (zh) | 2021-12-24 |
Family
ID=78959452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111081302.2A Pending CN113836454A (zh) | 2021-09-15 | 2021-09-15 | 一种内容展示页面的展示方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836454A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546534A (zh) * | 2022-02-28 | 2022-05-27 | 百果园技术(新加坡)有限公司 | 一种应用页面启动方法、装置、设备及介质 |
CN114697398A (zh) * | 2022-03-23 | 2022-07-01 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191439A1 (en) * | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Managing script file dependencies and load times |
WO2016192604A1 (zh) * | 2015-06-05 | 2016-12-08 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
CN110309314A (zh) * | 2018-03-23 | 2019-10-08 | 中移(苏州)软件技术有限公司 | 一种血缘关系图的生成方法、装置、电子设备及存储介质 |
CN110795649A (zh) * | 2019-09-18 | 2020-02-14 | 北京你财富计算机科技有限公司 | 目标页面展示方法、装置、系统及电子设备 |
CN111143725A (zh) * | 2019-11-15 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置和电子设备 |
CN112100550A (zh) * | 2019-06-17 | 2020-12-18 | 北京京东尚科信息技术有限公司 | 一种页面构建方法和装置 |
CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
-
2021
- 2021-09-15 CN CN202111081302.2A patent/CN113836454A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191439A1 (en) * | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Managing script file dependencies and load times |
WO2016192604A1 (zh) * | 2015-06-05 | 2016-12-08 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
CN110309314A (zh) * | 2018-03-23 | 2019-10-08 | 中移(苏州)软件技术有限公司 | 一种血缘关系图的生成方法、装置、电子设备及存储介质 |
CN112100550A (zh) * | 2019-06-17 | 2020-12-18 | 北京京东尚科信息技术有限公司 | 一种页面构建方法和装置 |
CN110795649A (zh) * | 2019-09-18 | 2020-02-14 | 北京你财富计算机科技有限公司 | 目标页面展示方法、装置、系统及电子设备 |
CN111143725A (zh) * | 2019-11-15 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置和电子设备 |
CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
Non-Patent Citations (1)
Title |
---|
朱永生;王军;: "基于Web内容的一种数据自动抽取方法", 计算机技术与发展, vol. 22, no. 05, 10 May 2012 (2012-05-10), pages 87 - 89 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546534A (zh) * | 2022-02-28 | 2022-05-27 | 百果园技术(新加坡)有限公司 | 一种应用页面启动方法、装置、设备及介质 |
CN114546534B (zh) * | 2022-02-28 | 2023-11-24 | 百果园技术(新加坡)有限公司 | 一种应用页面启动方法、装置、设备及介质 |
CN114697398A (zh) * | 2022-03-23 | 2022-07-01 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
CN114697398B (zh) * | 2022-03-23 | 2023-10-17 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220035600A1 (en) | API Specification Generation | |
US20190163524A1 (en) | Method and apparatus for processing task in smart device | |
CN109491989B (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
US9471211B2 (en) | Chaining applications | |
CN109194714B (zh) | 一种文案推送方法、装置、终端设备及存储介质 | |
CN113836454A (zh) | 一种内容展示页面的展示方法、装置、介质及设备 | |
CN112130993A (zh) | 基于图形化建模的电力边缘物联代理边缘计算方法及系统 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN107665170B (zh) | 一种流程测试方法及装置 | |
CN111124379A (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN114090162A (zh) | 一种多租户系统的前端界面展示方法及相关装置 | |
CN103324567A (zh) | 一种应用引擎的调试方法和调试系统 | |
CN114168853A (zh) | 一种数据可视化展示方法、装置、介质及电子设备 | |
CN113127413A (zh) | 一种运营商数据处理方法、装置、服务器及存储介质 | |
WO2021093672A1 (zh) | 外部系统的嵌入方法、工作流系统、设备及计算机可读存储介质 | |
CN113378346A (zh) | 模型仿真的方法和装置 | |
CN113468342B (zh) | 基于知识图谱的数据模型构建方法、装置、设备和介质 | |
CN111124858A (zh) | 无埋点插码数据处理方法、系统、终端设备及存储介质 | |
CN116401025A (zh) | 一种数据处理系统及数据处理方法 | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
CN115291872A (zh) | 数据处理方法及电子设备和存储介质 | |
CN111367500A (zh) | 数据的处理方法和装置 | |
CN113590985A (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 |