CN109947425B - 一种信息流处理方法及装置 - Google Patents
一种信息流处理方法及装置 Download PDFInfo
- Publication number
- CN109947425B CN109947425B CN201910160634.6A CN201910160634A CN109947425B CN 109947425 B CN109947425 B CN 109947425B CN 201910160634 A CN201910160634 A CN 201910160634A CN 109947425 B CN109947425 B CN 109947425B
- Authority
- CN
- China
- Prior art keywords
- component
- rendering
- list
- article
- page
- 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
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种信息流处理方法及装置,所述方法包括:封装所述用于进行渲染前事务处理的要素以得到事务处理组件;封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系;根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式;构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转;基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。本发明实现了文章业务逻辑的解耦,减少开发量,提升代码的复用性与可控性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种信息流处理方法及装置。
背景技术
现有的信息流客户端,列表业务逻辑直接依赖于文章类型,业务逻辑扩展多以“继承”的方式进行,例如:一种文章类型对应一种文章样式,一对一绑定,当业务场景复杂时,会出现一种文章类型需要显示成不同文章样式、多种文章类型需要显示同一种文章样式的需求;某种文章样式下的UI(User Interface,用户界面)逻辑固定,对于逻辑的扩展普遍采用“继承”的方式,当列表样式逐渐增多时,由于Java语言只支持单继承的特性,会出现UI逻辑难以复用的情况;一种文章类型,对应到一种文章底层页,映射关系一对一绑定。当出现多种文章类型需要公用同一种底层页,或某种文章类型需要实验多种底层页效果时,需要额外开发量。
由此可以看出,现有技术中对于信息流的处理方法解耦程度以及动态控制能力均不足。
发明内容
本发明所要解决的技术问题在于,提供一种信息流处理方法及装置,能够通过构建相关组件实现相关功能,以此实现文章类型与文章样式解耦、列表样式与UI逻辑解耦以及文章类型与文章底层页跳转解耦。
为了解决上述技术问题,一方面,本发明提供了一种信息流处理方法,包括:
将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素;
封装所述用于进行渲染前事务处理的要素以得到事务处理组件;
封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系;
根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式;
构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;
构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转;
基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
另一方面,本发明还提供了一种信息流处理装置,包括:
要素抽象模块,用于将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素;
事务处理组件封装模块,用于封装所述用于进行渲染前事务处理的要素以得到事务处理组件;
渲染组件封装模块,用于封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系;
业务逻辑组件构建模块,用于根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式;
列表样式组件构建模块,用于构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;
页面跳转组件构建模块,用于构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转;
信息流处理模块,用于基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
实施本发明实施例,具有如下有益效果:
本发明通过对用于进行渲染前事务处理的要素进行封装得到事务处理组件,通过对用于渲染页面的要素进行封装得到渲染组件,其中,所述渲染组件中包括多个渲染子组件;根据所述事务处理组件和所述渲染组件得到业务逻辑组件,以用于渲染待显示列表的列表样式;构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转;基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。本发明的同类文章可动态配置不同列表样式,不同文章可复用相同样式功能,实现文章类型与文章样式的解耦;对于不同的列表样式、不同业务逻辑的创建,通过组合不同界面业务逻辑的方式来实现,实现列表样式与UI逻辑解耦;针对某种文章类型,支持动态控制其跳转到不同的底层页,实现文章类型与文章底层页跳转解耦。本发明实现了文章业务逻辑的解耦,减少开发量,提升代码的复用性与可控性。
附图说明
图1是本发明实施例提供的应用场景示意图;
图2是本发明实施例提供的一种信息流处理方法流程图;
图3是本发明实施例提供的一种文章样式获取方法示意图;
图4是本发明实施例提供的一种列表样式渲染方法示意图;
图5是本发明实施例提供的一种页面跳转方法流程图;
图6是本发明实施例提供的一种依赖关系示意图;
图7是本发明实施例提供的文章类型与文章样式解耦的示例图;
图8是本发明实施例提供的另一种信息流处理方法流程图;
图9是本发明实施例提供的数据绑定过程示意图;
图10是本发明实施例提供的数据绑定示例图;
图11是本发明实施例提供的全局化列表架构示意图;
图12是本发明实施例提供的一种信息流处理装置示意图;
图13是本发明实施例提供的列表样式组件示意图;
图14是本发明实施例提供的业务逻辑组件示意图;
图15是本发明实施例提供的页面跳转组件示意图;
图16是本发明实施例提供的另一种信息流处理装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
首先对本发明实施例中涉及的相关术语作以下说明:
UI:指应用程序中的显示界面。
UI逻辑:指应用内与显示界面相关的业务逻辑。
文章:应用程序中,展示资讯信息的载体。
信息流:资讯类应用程序中一种常用的表现形式,以列表的方式展示一系列文章信息。
文章底层页:用于展示文章详情的页面,通过点击列表上的文章可以进入底层页。
模块文章:列表中一组文章的聚合体,样式上表现为列表中一块小区域内显示多篇文章。
文章类型(articleType):标识一篇文章的固有类型信息。
文章样式(picShowType):标识一篇文章在列表上的显示样式。
文章跳转类型(pageJumpType):标识一篇文章与底层页的跳转关系。
请参见图1,其示出了本发明实施例的应用场景示意图,包括:若干终端设备110和服务器120,所述终端设备可以为移动终端设备,包括但不限于智能手机、平板电脑等,其中,所述移动终端设备中安装有信息流客户端,用户可通过所述信息流客户端进行信息的浏览,服务器120根据信息数据结构进行相关列表的创建,并将创建的各个列表返回到信息流客户端中以展示给用户。另外,服务器120响应于用户通过信息流客户端发送的信息获取请求,根据所述信息获取请求将相关信息返回给信息流客户端,以供用户阅览,客户端根据用户的阅览情况进行数据采集,对采集的数据进行汇总处理之后,将数据上报给服务器120,以便于服务器120对上报的信息进行分析。
请参见图2,其示出了一种信息流处理方法,可应用于服务器侧,所述方法包括:
S210.将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素。
S220.封装所述用于进行渲染前事务处理的要素以得到事务处理组件。
S230.封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系。
这里的多个渲染子组件可用于,根据实际的应用场景,从中选取多个渲染子组件进行组合,来得到需要实现的目标业务逻辑。本实施例中,可通过组合不同的渲染子组件来得到不同的列表样式,即列表样式的创建支持动态配置。
S240.根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式。
S250.构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式。
请参见图3,其示出了一种文章样式获取方法示意图,所述列表样式组件包括显示类型接口,所述方法包括:
S310.通过所述显示类型接口从文章数据结构中获取文章样式字段的参数值。
所述文章数据结构中包括文章的基本信息,包括但不限于文章类型、文章样式、文章跳转类型等相关字段,并且在具体实施时,会为每个字段配置一个参数值,对于同一字段,不同参数值对应不同的操作方式或形式。例如,对于文章跳转类型字段,当该字段的参数值为1,可配置其对应的操作是跳转到图文底层页,当该字段的参数值为2时,可配置其对应的操作是跳转到组图底层页。
S320.根据所述文章样式字段的参数值确定待显示列表的目标列表样式。
文章样式字段的参数值不同,其对应的显示样式便不同,本实施例中的文章样式包括但不限于单图、大图、模块等,多个文章样式组成了待显示的列表样式。
这里的动态配置不同的列表样式是指,服务器对于文章样式字段下发不同的参数值,所述列表样式组件获取不同的文章样式字段参数值,便可配置不同的列表样式。
本实施例通过抽象出IArticleShowType接口,对应的实现类会读取文章数据结构中的picShowType字段,在创建列表样式时,只依赖于IArticleShowType接口,文章显示样式的创建与文章数据结构Item解耦,因此文章样式逻辑也可以移植到其他数据结构。
在确定了待显示的列表样式之后,通过上述的业务逻辑组件来得到所述列表样式,请参见图4,其示出了一种列表样式渲染方法,所述方法包括:
S410.通过所述事务处理组件确定实现所述目标列表样式的目标业务逻辑。
在获得了待显示的列表样式之后,通过事务处理组件对所述目标列表样式进行分析,以确定实现所述列表样式所需要的目标业务逻辑。
S420.从所述渲染组件中选取若干所述渲染子组件进行组合,以实现所述目标业务逻辑。
其中,所述渲染组件还包括外显信息接口,通过所述外显信息接口获取与相应界面业务逻辑对应的外显信息。
为了具体实现相关界面业务逻辑,需要获取相应的外显信息来具体实现相应的界面,这里的外显信息是指生成用户界面的界面显示数据,包括:标题、图片、摘要、详情信息等相关信息。
具体地,抽象出IBehavior和IArticleModel接口,对于每一种UI逻辑,抽取出一套接口,称之为IBehavior,对于上述的标题、图片、摘要、详情信息逻辑,都抽象为一个IBehavior,采取接口+实现类的方式,将文章样式的扩展由“继承”改为“组合”。不同样式之间无需继承,通过组合不同IBehavior的方式构建新样式。同时IBehavior的创建支持动态配置,无需发版即可切换业务逻辑。
列表样式内持有多个IBehavior对象,用于实现对应的UI业务逻辑,不同UI业务逻辑只需提供各自的IBehavior实现类;另一方面,IBehavior对象依赖于IArticleModel提供的相关UI外显信息实现其业务逻辑,与文章数据结构Item解耦。
S260.构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转。
在列表创建完成之后,用户可通过列表发送相应的信息获取请求,请参见图5,其示出了一种页面跳转方法流程图,所述方法包括:
S510.响应于通过所述列表发起的信息获取请求,在文章数据结构中查找文章跳转类型字段的参数值。
本实施例中引入了pageJumpType字段,通过配置该字段可以调整文章与底层页的映射关系,这里的参数值都是服务器进行下发的。抽象出IPageJump接口,优先根据文章跳转类型字段pageJumpType进行跳转派发,其次根据文章类型字段ArticleType进行跳转派发,需要说明的是,对于每个跳转请求,只跳转一次,即要么根据pageJumpType进行跳转派发,要么根据ArticleType进行跳转派发。具体实施过程如下:
S520.判断是否存在所述文章跳转类型的参数值。
S530.当存在所述文章跳转类型字段的参数值时,根据所述文章跳转类型进行跳转。
S540.当不存在所述文章跳转类型字段的参数值时,根据所述文章类型字段的参数值进行跳转。
由此,页面跳转功能与文章数据结构Item解耦,可移植到其他数据结构。
请参见图6其示出了一种依赖关系示意图对于IArticleShowType接口,通过getViewType()获取相应的文章样式picShowType字段,GlobalViewHolderCreator在创建列表样式时,只依赖于IArticleShowType接口,其中,GlobalViewHolderCreator是全局列表通用的ViewCreator,负责根据ViewType创建ViewHolder。文章显示样式的创建与文章数据结构Item解耦,因此文章样式逻辑也可以移植到其他数据结构。
IBehavior为样式中UI逻辑的基类,IBehavior对象的创建依赖于BehaviorFactory,通过IBehaviorConfig接口与Item解耦。BehaviorFactory的作用是支持动态切换IBehavior逻辑。具体地,IBehaviorConfig接口是用于选取业务逻辑的实现形式,比如,对于标题来讲,有若干种显示标题的方式,有显示成一行的,也有显示成两行的等等,IBehaviorConfig接口要做的就是选择该标题的显示形式,BehaviorFactory是用于具体创建改标题的显示形式的。
对于IPageJump接口,其用于配置底层页跳转关系,其对应PageJumpTypeDispatcher和ArticleTypeDispatcher,分别对应根据PageJumpType跳转底层页以及根据ArticleType跳转底层页。
S270.基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
本发明中,上述的各类接口均是为了实现相关功能而抽象出来的,每种接口均有与其对应的、并可实现相应功能的实现类。
请参见图7,其给出了文章类型与文章样式解耦的示例图,由图7可以看出,同类文章可以对应不同的文章样式,不同的模块可以对应相同的文章样式,以及同类的模块可以对应不同的文章样式。
通过本实施例的上述信息流处理方法,实现了:
1.文章类型与文章样式解耦:同类文章可动态配置不同列表样式,不同文章可以复用相同样式功能。进行样式相关灰度实验时无需客户端二次开发;解决了随着样式的增加,需要不断扩展文章类型的问题,以及随着文章类型的增加,会出现多个文章类型指代的同一类文章,需要进入同一种文章底层页的问题;
2.列表样式与UI逻辑解耦:针对某种文章样式,其标题、图片、描述等UI业务逻辑支持动态可控。新样式开发模块由继承转变为组合,做到业务逻辑级别的复用;解决了由于列表样式中UI逻辑复杂,为了继承某种UI逻辑,很容易引入其他不相关的UI逻辑,导致耦合进一步加剧,以及某种样式下,UI逻辑固定,难以动态控制的问题;
3.文章类型与文章底层页跳转解耦:针对某种文章类型,支持动态控制其跳转到不同的底层页,进行底层页相关灰度实验时无需客户端二次开发。
请参见图8,其示出了另一种信息流处理方法,所述方法包括:
S810.抽取出各个列表的公共上报接口。
通过设置公共的数据上报接口,列表提供通用的数据上报逻辑,上报事件全局统一。
S820.响应于底层页数据获取请求,向客户端返回所述底层页的网络数据,以使得所述客户端将所述网络数据与其所属页面信息、所属模块信息进行绑定,以及,对所述网络数据、所述网络数据与其所属页面信息的绑定关系、所述网络数据与其所属模块信息的绑定关系进行汇总处理,生成信息公共参数。
在用户拉取底层页数据时,客户端向服务器发送底层页数据获取请求,服务器接收到所述数据获取请求后,将待获取的底层页的文章数据结构绑定到数据获取请求上并返回给客户端;客户端在接收到网络数据后,拦截数据的json的解析过程,通过IProcessItemsProvider接口识别需要绑定数据的文章,完成数据绑定,具体的数据绑定过程可参见图9。
所述信息公共参数包括但不限于:
(1)文章基本信息:articleType(文章类型)、picShowType(文章样式)、alg_version(文章算法桶号)、transparam(文章透传字段);
(2)文章所在页面信息:在文章基本信息前添加page前缀,标识当前文章所在页面的文章信息,例如:pageArticleType(当前页面的类型)、pagePicShowType(当前页面的文章样式)等等;
(3)文章所在模块的信息:在文章基本信息前添加parent前缀,标识当前文章所在的模块文章信息,例如:parentArticleType(当前模块的类型)、parentPicShowType(当前页面的样式)等等;
(4)文章所在位置的信息:page_type(宏观标识文章所在类别的类型)、contextType(细分同一个页面内存在的多个列表)。
通过文章数据的不同字段值区分文章信息、操作场景等信息。
具体地,请参见图10,以“热点精选”模块为例,该模块的文章类型为articleType=525,picShowType=20,文章样式为进入热点精选底层页后,页内的文章会被绑定上参数pageArticleType=525,picShowType=20,通过上述参数即可识别页面。
S830.通过所述公共上报接口接收客户端上报的所述信息公共参数。
通过上述数据上报流程,应用内所有列表的文章曝光、文章点击等数据上报统一到一组事件,由列表提供通用的上报能力,实现了模块、页面两个级别的数据绑定,可以追踪文章与其所属模块、所属页面之间的关联关系;解决了现有数据上报体系分散,不同列表都有独立的事件上报,缺乏统一规范,当列表业务扩展后,数据上报功能需要二次开发,难以做到自动化的问题。
需要说明的是,步骤S810~步骤S830所提供的信息流处理方法可以和步骤S210~步骤S270所提供的信息流处理方法进行组合,得到另一种信息流处理方法,其具体实施细节可参见上述两种信息流处理方法,同时具备上述两种信息流处理方法的有益效果,在此不再赘述。
对于以上所述的各种信息流处理方法,均还可以包括:
创建全局列表样式生成器,将所述全局列表样式生成器绑定到应用中的各个列表中。
请参见图11,其示出了全局化列表架构示意图,具体地,应用内的所有列表统一使用BaseRecyclerAdapter(或其子类)实现列表功能,BaseRecyclerAdapter处理数据逻辑,通过数据驱动UI显示;数据结构由BaseDataHolder承载,BaseDataHolder数据实体,与具体数据结构解耦,支持异构混排重写getViewType,样式逻辑由BaseViewHolder承载,BaseViewHolder为view实体,负责绑定数据写具体的业务逻辑;同时约定样式的复用类型(viewType)直接使用安卓布局文章的id值,在编译时保证样式类型全局范围内不冲突。二者通过GlobalDataHolderCreator和GlobalViewHolderCreator创建,两种creator在应用内全局共享,其中,GlobalDataHolderCreator为全局列表通用的DataCreator,将具体数据结构转换成DataHolder,GlobalViewHolderCreator为全局列表通用的ViewCreator,负责根据viewType创建ViewHolder。某些列表的独有样式逻辑,可以通过扩展自己私有的creator进行实现。
通过上述的全局化方法,引入了GlobalViewHolderCreator负责全局所有样式的创建,并将该creator绑定到各个列表中,实现了列表样式能力的全局公用,当增加一种新文章样式时,只需开发一次即可做到应用内所有列表页面都能展示,可以做到样式级别的全局复用,减少了重复工作量,这里的列表包括:新闻频道列表、专题列表、话题列表、热点精选列表、收藏、关注等,解决了现有技术中当新增一种文章样式时,需要对客户端内的各个列表独立支持,每次新增一种样式类型,需要对每个列表分别适配的问题。
本实施例还提供了一种信息流处理装置,请参见图12,所述装置包括:
要素抽象模块1210,用于将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素。
事务处理组件封装模块1220,用于封装所述用于进行渲染前事务处理的要素以得到事务处理组件。
渲染组件封装模块1230,用于封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系。
业务逻辑组件构建模块1240,用于根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式。
列表样式组件构建模块1250,用于构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式。
页面跳转组件构建模块1260,用于构建页面跳转组件,所述页面跳转组件用于动态控制页面跳转。
信息流处理模块1270,用于基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
进一步地,所述列表样式组件包括显示类型接口,请参见图13,所述列表样式组件还包括:
参数获取模块1310,用于通过所述显示类型接口从文章数据结构中获取文章样式字段的参数值。
样式确定模块1320,用于根据所述文章样式字段的参数值确定待显示列表的目标列表样式。
请参见图14,所述业务逻辑组件包括:
分析模块1410,用于通过所述事务处理组件确定实现所述目标列表样式的目标业务逻辑。
组合模块1420,用于从所述渲染组件中选取若干所述渲染子组件进行组合,以实现所述目标业务逻辑。
请参见图15,所述页面跳转组件包括:
查找模块1510,用于响应于通过所述列表发起的信息获取请求,在文章数据结构中查找文章跳转类型字段的参数值。
第一跳转模块1520,用于当存在所述文章跳转类型字段的参数值时,根据所述文章跳转类型进行跳转。
第二跳转模块1530,用于当不存在所述文章跳转类型字段的参数值时,根据所述文章类型字段的参数值进行跳转。
请参见图16,其示出了另一种信息流处理装置,所述装置包括:
上报接口抽取模块1610,用于抽取出各个列表的公共上报接口。
网络数据返回模块1620,用于响应于底层页数据获取请求,向客户端返回所述底层页的网络数据,以使得所述客户端将所述网络数据与其所属页面信息、所属模块信息进行绑定,以及,对所述网络数据、所述网络数据与其所属页面信息的绑定关系、所述网络数据与其所属模块信息的绑定关系进行汇总处理,生成信息公共参数。
上报信息接收模块1630,用于通过所述公共上报接口接收客户端上报的所述信息公共参数。
需要说明的是,图12中所述的信息流处理装置和图16中所述的信息流处理装置可以组合成另一种信息流处理装置,具备两者相应的技术细节和有益效果,在此不再赘述。
另外,对于上述的所有信息流处理装置,还可以包括:
全局样式创建模块1710,用于创建全局列表样式生成器,将所述全局列表样式生成器绑定到应用中的各个列表中。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并执行上述实施例提供的任意方法。
本实施例还提供了一种服务器,包括处理器和存储器,其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行本实施例提供的任意方法。
本发明实现了文章业务逻辑的解耦、文章列表能力的全局化以及列表数据的统一上报,有效减少了客户端需求的开发量,减少了需求个数,部分需求通过接入层下发配置字段即可实现直接上线,无需客户端发版修改;构建了统一的数据上报体系和规范,数据上报需求减少,数据报表更加规范。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种信息流处理方法,其特征在于,包括:
将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素;
封装所述用于进行渲染前事务处理的要素以得到事务处理组件;
封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系;通过组合不同的渲染子组件来得到不同的列表样式;
根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式;通过所述事务处理组件确定实现目标列表样式的目标业务逻辑;从所述渲染组件中选取若干所述渲染子组件进行组合,以实现所述目标业务逻辑;
构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;所述列表样式组件包括显示类型接口,所述列表样式组件用于动态配置不同的列表样式包括:通过所述显示类型接口从文章数据结构中获取文章样式字段的参数值;根据所述文章样式字段的参数值确定待显示列表的目标列表样式;
构建页面跳转组件,所述页面跳转组件用于动态控制文章与底层页的跳转关系;
基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
2.根据权利要求1所述的一种信息流处理方法,其特征在于,所述页面跳转组件用于动态控制文章与底层页的跳转关系包括:
响应于通过所述列表发起的信息获取请求,在文章数据结构中查找文章跳转类型字段的参数值;
当存在所述文章跳转类型字段的参数值时,根据所述文章跳转类型进行跳转;
当不存在所述文章跳转类型字段的参数值时,根据所述文章类型字段的参数值进行跳转。
3.根据权利要求1所述的一种信息流处理方法,其特征在于,所述方法还包括:
抽取出各个列表的公共上报接口;
响应于底层页数据获取请求,向客户端返回所述底层页的网络数据,以使得所述客户端将所述网络数据与其所属页面信息、所属模块信息进行绑定,以及,对所述网络数据、所述网络数据与其所属页面信息的绑定关系、所述网络数据与其所属模块信息的绑定关系进行汇总处理,生成信息公共参数;
通过所述公共上报接口接收客户端上报的所述信息公共参数。
4.根据权利要求1所述的一种信息流处理方法,其特征在于,所述方法还包括:
创建全局列表样式生成器,将所述全局列表样式生成器绑定到应用中的各个列表中。
5.一种信息流处理装置,其特征在于,包括:
要素抽象模块,用于将用于进行信息渲染的各个要素抽象为用于进行渲染前事务处理的要素和用于渲染页面的要素;
事务处理组件封装模块,用于封装所述用于进行渲染前事务处理的要素以得到事务处理组件;
渲染组件封装模块,用于封装所述用于渲染页面的要素以得到渲染组件;所述渲染组件中包括多个渲染子组件,各个渲染子组件之间为组合关系;通过组合不同的渲染子组件来得到不同的列表样式;
业务逻辑组件构建模块,用于根据所述事务处理组件和所述渲染组件得到业务逻辑组件,所述业务逻辑组件用于渲染待显示列表的列表样式;
列表样式组件构建模块,用于构建列表样式组件,所述列表样式组件用于动态配置不同的列表样式;通过所述事务处理组件确定实现目标列表样式的目标业务逻辑;从所述渲染组件中选取若干所述渲染子组件进行组合,以实现所述目标业务逻辑;所述列表样式组件包括显示类型接口,所述列表样式组件用于动态配置不同的列表样式包括:通过所述显示类型接口从文章数据结构中获取文章样式字段的参数值;根据所述文章样式字段的参数值确定待显示列表的目标列表样式;
页面跳转组件构建模块,用于构建页面跳转组件,所述页面跳转组件用于动态控制文章与底层页的跳转关系;
信息流处理模块,用于基于所述列表样式组件、所述业务逻辑组件和所述页面跳转组件处理信息流。
6.根据权利要求5所述的一种信息流处理装置,其特征在于,所述页面跳转组件包括:
查找模块,用于响应于通过所述列表发起的信息获取请求,在文章数据结构中查找文章跳转类型字段的参数值;
第一跳转模块,用于当存在所述文章跳转类型字段的参数值时,根据所述文章跳转类型进行跳转;
第二跳转模块,用于当不存在所述文章跳转类型字段的参数值时,根据所述文章类型字段的参数值进行跳转。
7.根据权利要求5所述的一种信息流处理装置,其特征在于,所述装置还包括:
上报接口抽取模块,用于抽取出各个列表的公共上报接口;
网络数据返回模块,用于响应于底层页数据获取请求,向客户端返回所述底层页的网络数据,以使得所述客户端将所述网络数据与其所属页面信息、所属模块信息进行绑定,以及,对所述网络数据、所述网络数据与其所属页面信息的绑定关系、所述网络数据与其所属模块信息的绑定关系进行汇总处理,生成信息公共参数;
上报信息接收模块,用于通过所述公共上报接口接收客户端上报的所述信息公共参数。
8.根据权利要求5所述的一种信息流处理装置,其特征在于,所述装置还包括:
全局样式创建模块,用于创建全局列表样式生成器,将所述全局列表样式生成器绑定到应用中的各个列表中。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并执行如权利要求1-4任一项所述的信息流处理方法。
10.一种服务器,其特征在于,包括处理器和存储器,其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-4任一项所述的信息流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910160634.6A CN109947425B (zh) | 2019-03-04 | 2019-03-04 | 一种信息流处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910160634.6A CN109947425B (zh) | 2019-03-04 | 2019-03-04 | 一种信息流处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947425A CN109947425A (zh) | 2019-06-28 |
CN109947425B true CN109947425B (zh) | 2023-10-17 |
Family
ID=67006571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910160634.6A Active CN109947425B (zh) | 2019-03-04 | 2019-03-04 | 一种信息流处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947425B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818266B (zh) * | 2019-10-31 | 2024-05-03 | 北京国双科技有限公司 | 渲染方法、装置、存储介质及电子设备 |
CN111538556A (zh) * | 2020-06-24 | 2020-08-14 | 成都西加云杉科技有限公司 | 一种信息显示方法、装置、设备及计算机可读存储介质 |
CN112306489A (zh) * | 2020-11-13 | 2021-02-02 | 成都中科大旗软件股份有限公司 | 一种用于ios系统复杂详情界面的实现方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291462A (zh) * | 2017-06-13 | 2017-10-24 | 成都四方伟业软件股份有限公司 | 交互式数据系统自定义编排方法、系统及编译、运行方法 |
CN107402747A (zh) * | 2016-05-20 | 2017-11-28 | 中国科学院声学研究所 | 一种支持多终端类型的应用页面动态生成方法 |
CN108334387A (zh) * | 2017-01-20 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 动态界面渲染方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924845B2 (en) * | 2008-02-20 | 2014-12-30 | Lsi Corporation | Web application code decoupling and user interaction performance |
-
2019
- 2019-03-04 CN CN201910160634.6A patent/CN109947425B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402747A (zh) * | 2016-05-20 | 2017-11-28 | 中国科学院声学研究所 | 一种支持多终端类型的应用页面动态生成方法 |
CN108334387A (zh) * | 2017-01-20 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 动态界面渲染方法及装置 |
CN107291462A (zh) * | 2017-06-13 | 2017-10-24 | 成都四方伟业软件股份有限公司 | 交互式数据系统自定义编排方法、系统及编译、运行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109947425A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
CN111045655B (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
US8122292B2 (en) | Debugging of business flows deployed in production servers | |
CN109947425B (zh) | 一种信息流处理方法及装置 | |
CN114064024B (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
CN102902528A (zh) | 具有脚本代码的标记内容的快速呈现 | |
CN106598591A (zh) | 一种网页动态菜单生成方法及装置 | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
US20070033570A1 (en) | Method and system for transforming a process flow | |
JP7366664B2 (ja) | オフラインブリーフケース同期 | |
US6842905B2 (en) | Method and system for implementing collection program interface for accessing a collection of data associated with a legacy enumeration application interface | |
CN113434063B (zh) | 一种信息显示方法、装置及设备 | |
US9164817B2 (en) | Mobile communication terminal to provide widget expansion function using message communication, and operation method of the mobile communication terminal | |
US10083407B2 (en) | Ad hoc task creation and process modification | |
CN103186386A (zh) | 应用加载方法及系统 | |
CN106383705A (zh) | 在应用瘦客户端中设置鼠标显示状态的方法及装置 | |
CN106371848A (zh) | 一种web开发框架支持Odata的实现方法 | |
CN110704041A (zh) | 软件开发方法及装置 | |
US20110041069A1 (en) | User interface for aggregating services in a data processing system | |
CN101599010A (zh) | 流程处理方法和装置 | |
CN111459484B (zh) | 网页前后端分离开发时后端数据模拟方法 | |
US6219717B1 (en) | Method and apparatus for implementing object transparent invocation | |
CN110166272A (zh) | 提供终端设备指标仲裁服务的方法、装置及系统 | |
CN113050962B (zh) | 移动服务升级方法、装置和终端 | |
KR100764472B1 (ko) | 이동통신 단말기에서의 url 처리 방법 및 이를 위한이동통신 단말기 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221115 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518100 Applicant after: Shenzhen Yayue Technology Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |