掌桥专利:专业的专利平台
掌桥专利
首页

信息流处理方法、装置以及计算机可读存储介质

文献发布时间:2023-06-19 09:29:07


信息流处理方法、装置以及计算机可读存储介质

技术领域

本申请涉及互联网技术领域,尤其涉及一种信息流处理方法、装置以及计算机可读存储介质。

背景技术

随着数据信息化的发展,数据增长快速,大数据呈现出多元化、分散化的趋势。在大规模数据的环境下,为用户构建包含最新新闻资讯或用户感兴趣内容的信息流,已经成为互联网内容提供商的一项基本要求。

现有技术中,信息流的构建可以采用全原生技术来实现,通过使用操作系统上的原生应用程序编程接口进行硬编码到客户端的安装包中,以实现信息流在客户端中的展示。由于全原生技术构建的信息流对信息数据的类型与信息数据的展示形式具有严格要求,造成信息流的展示形式单一;当信息流中增加信息类型时,需要对客户端的版本进行更新才能显示信息流中所包含的信息数据,进而增加了开发成本。

发明内容

本申请实施例提供一种信息流处理方法、装置以及计算机可读存储介质,可以降低开发成本,丰富信息流的展示形式。

本申请实施例一方面提供了一种信息流处理方法,应用于终端设备,包括:

向服务器发送信息拉取请求,以使所述服务器根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

其中,所述信息流包括多个单位信息数据;

所述接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据,包括:

接收所述信息流,在所述信息流中获取每个单位信息数据分别对应的数据类型标识;

若所述数据类型标识为原生标识,则确定所述单位信息数据为所述原生数据,并基于原生框架显示所述原生数据;

若所述数据类型标识为可扩展标识,则确定所述单位信息数据为所述可扩展代码包,并基于可扩展框架与所述原生框架显示所述可扩展代码包对应的可视化业务数据。

其中,所述若所述数据类型标识为原生标识,则确定所述单位信息数据为所述原生数据,并基于原生框架显示所述原生数据,包括:

若所述数据类型标识为原生标识,则将所述原生标识对应的单位信息数据确定为原生数据;

将所述原生数据分发至原生框架中,从所述原生框架中获取信息显示模板;所述信息显示模板用于规范所述原生数据的展示形式;

基于所述信息显示模板,对所述原生数据进行页面排版,在页面上显示页面排版后的原生数据。

其中,所述基于可扩展框架与所述原生框架显示所述可扩展代码包对应的可视化业务数据,包括:

将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架,将所述可扩展代码包进行加载,得到所述扩展代码包对应的可扩展业务数据;

根据所述可扩展框架与所述原生框架之间的通信机制,将所述可扩展业务数据所属的数据格式转换为原生数据所属的数据格式;

基于所述原生框架,对格式转换后的可扩展业务数据进行渲染,得到可视化业务数据,并在页面上显示所述可视化业务数据。

其中,所述可扩展代码包包括页面布局文件、逻辑脚本文件以及样式控制文件;

所述将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架,将所述可扩展代码包进行加载,得到所述扩展代码包对应的可扩展业务数据,包括:

将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架中的转译组件,将所述页面布局文件转换为布局脚本文件;

基于所述可扩展框架中的通信组件,将所述布局脚本文件发送至脚本加载组件;

基于所述脚本加载组件对所述布局脚本文件与所述逻辑脚本文件进行解析,根据解析结果与所述样式控制文件,生成所述可扩展代码包对应的可扩展业务数据。

其中,所述接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据,包括:

获取所述原生数据和所述可扩展代码包在所述信息流中的排列顺序;

基于所述排列顺序,在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

本申请实施例一方面提供了一种信息流处理方法,应用于服务器,包括:

接收终端设备发送的信息拉取请求,根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

将所述信息流发送至所述终端设备,以使所述终端设备对所述原生数据和所述可扩展代码包对应的可视化业务数据进行显示。

其中,所述信息流还包括原生标识可扩展标识;所述原生标识用于表征所述原生数据对应的数据类型,所述可扩展标识用于表征所述可扩展代码包对应的数据类型。

其中,该方法还包括:

通过程序编程接口获取第三方设备发送的代码文件,并将所述代码文件封装成可扩展代码包;所述代码文件是由所述第三方设备通过所述程序编程接口所提供的可扩展编码平台编写得到。

本申请实施例一方面提供了一种信息流处理装置,应用于终端设备,包括:

第一发送模块,用于向服务器发送信息拉取请求,以使所述服务器根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

显示模块,用于接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

其中,所述信息流包括多个单位信息数据;所述显示模块包括:

类型标识获取单元,用于接收所述信息流,在所述信息流中获取每个单位信息数据分别对应的数据类型标识;

原生数据确定单元,用于若所述数据类型标识为原生标识,则确定所述单位信息数据为所述原生数据,并基于原生框架显示所述原生数据;

可扩展代码包确定单元,用于若所述数据类型标识为可扩展标识,则确定所述单位信息数据为所述可扩展代码包,并基于可扩展框架与所述原生框架显示所述可扩展代码包对应的可视化业务数据。

其中,原生数据确定单元包括:

判断子单元,用于若所述数据类型标识为原生标识,则将所述原生标识对应的单位信息数据确定为原生数据;

第一分发子单元,用于将所述原生数据分发至原生框架中,从所述原生框架中获取信息显示模板;所述信息显示模板用于规范所述原生数据的展示形式;

排版子单元,用于基于所述信息显示模板,对所述原生数据进行页面排版,在页面上显示页面排版后的原生数据。

其中,可扩展代码包确定单元包括:

第二分发子单元,用于将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架,将所述可扩展代码包进行加载,得到所述扩展代码包对应的可扩展业务数据;

格式转换子单元,用于根据所述可扩展框架与所述原生框架之间的通信机制,将所述可扩展业务数据所属的数据格式转换为原生数据所属的数据格式;

渲染子单元,用于基于所述原生框架,对格式转换后的可扩展业务数据进行渲染,得到可视化业务数据,并在页面上显示所述可视化业务数据。

其中,所述可扩展代码包包括页面布局文件、逻辑脚本文件以及样式控制文件;

所述第二分发子单元包括:

转换子单元,用于将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架中的转译组件,将所述页面布局文件转换为布局脚本文件;

脚本发送子单元,用于基于所述可扩展框架中的通信组件,将所述布局脚本文件发送至脚本加载组件;

解析子单元,用于基于所述脚本加载组件对所述布局脚本文件与所述逻辑脚本文件进行解析,根据解析结果与所述样式控制文件,生成所述可扩展代码包对应的可扩展业务数据。

其中,所述显示模块包括:

排列顺序获取单元,用于获取所述原生数据和所述可扩展代码包在所述信息流中的排列顺序;

数据显示单元,用于基于所述排列顺序,在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

本申请实施例一方面提供了一种信息流处理装置,应用于服务器,包括:

接收模块,用于接收终端设备发送的信息拉取请求,根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

第二发送模块,将所述信息流发送至所述终端设备,以使所述终端设备对所述原生数据和所述可扩展代码包对应的可视化业务数据进行显示。

其中,在所述信息流处理装置中,所述信息流还包括原生标识可扩展标识;所述原生标识用于表征所述原生数据对应的数据类型,所述可扩展标识用于表征所述可扩展代码包对应的数据类型。

其中,所述装置还包括:

获取模块,用于通过程序编程接口获取第三方设备发送的代码文件,并将所述代码文件封装成可扩展代码包;所述代码文件是由所述第三方设备通过所述程序编程接口所提供的可扩展编码平台编写得到。

本申请实施例一方面提供了一种信息流处理装置,包括:处理器和存储器;

所述处理器和存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行如本申请实施例中一方面中的方法。

本申请实施例一方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本申请实施例中一方面中的方法。

本申请实施例通过发送信息拉取请求,以获取包含原生数据与可扩展代码包的信息流,并在页面上显示该信息流中所包含的原生数据以及可扩展代码包对应的可视化业务数据。可见,通过结合原生技术和可扩展技术构建信息流,使得信息流中既可以包含采用原生技术得到的原生数据,也可以包含采用可扩展技术得到的可扩展代码包,即在不更新客户端版本的前提下,可以增加信息流中的信息类型,不仅可以降低开发成本,还可以丰富信息流的展示形式。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种网络架构示意图;

图2是本申请实施例提供的一种信息流处理方法的场景示意图;

图3是本申请实施例提供的一种信息流处理方法的时序示意图;

图4是本申请实施例提供的一种信息流处理方法的流程示意图;

图5是本申请实施例提供的一种可扩展框架的结构示意图;

图6是本申请实施例提供的一种显示可视化业务数据的界面图;

图7是本申请实施例提供的一种信息流处理方法的框架示意图;

图8是本申请实施例提供的一种信息流处理装置的结构示意图;

图9是本申请实施例提供的另一种信息流处理装置的结构示意图;

图10是本申请实施例提供的又一种信息流处理装置的结构示意图;

图11是本申请实施例提供的有一种信息流处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参见图1,是本申请实施例提供的一种网络架构示意图。该网络架构可以包括服务器200a以及多个终端设备(如图1所示,具体包括终端设备100a、终端设备100b、终端设备100c),服务器200a可以通过网络与每个终端设备进行数据传输,每个终端设备均可以安装阅读类应用(如微信读书),服务器200a可以为阅读类应用对应的后台服务器,因此,每个终端设备均可以通过该阅读类应用对应的客户端与服务器200a进行数据传输,如服务器200a可以向每个终端设备发送信息流。终端设备可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)。每个终端设备都可以在该阅读类应用对应的客户端中显示信息流所包含的信息内容,其中,信息流可以理解为将若干消息源组合在一起形成的内容聚合器,帮助用户获取感兴趣的消息源内容。

其中,每个终端设备中显示的信息流所包含的信息内容可以是不同的,信息流所包含的具体信息可以由终端设备对应的用户历史行为或者用户画像或者信息供应商所发起的运营活动来确定。用户历史行为可以表示为用户在当前时刻之前,在阅读类应用对应的客户端中的每一次点击、阅读、阅读时间、下载等操作;用户画像可以表示为根据用户的属性、用户偏好、生活习惯、用户行为等信息抽象出来的标签化用户模型;运营活动可以表示为第三方应用的广告信息、投票活动等。

请参见图2,是本申请实施例提供的一种信息流处理方法的场景示意图。如图2所示,以图1所对应实施例中的终端设备100a为例,对如何构建信息流的具体过程进行说明。终端设备100a在打开阅读类应用后,首先在终端显示界面中可以显示阅读类应用的默认首页,在该首页中可以显示至少四个功能按钮,分别表示为“发现”按钮、“书架”按钮、“故事”按钮、“我”按钮,当用户选择“故事”按钮10b时,可以跳转到“故事”按钮10b对应的展示页面,此时展示页面中的显示区域10a中还未显示数据信息,因此终端设备100a可以响应用户针对该“故事”按钮10b的选择操作,向服务器200a发送信息拉取请求,以请求获取信息流。

服务器200a在接收到终端设备100a发送的信息拉取请求后,可以基于信息拉取请求中所包含的终端设备100a对应的设备标识,确定该终端设备100a对应的用户标识信息,即确定目标用户(终端设备100a可以与目标用户的用户标识信息进行绑定),服务器200a进一步获取目标用户对应的信息流,即从该目标用户对应的推荐信息中选择多个单位信息数据(单位信息数据是指推荐信息中的某一条独立的信息,如书籍A中的第一章节,热门话题B,应用C关于某件产品的广告信息等)作为终端设备100a此次信息拉取请求所请求的信息流。上述多个单位信息数据可以包括为目标用户推荐的原生数据和可扩展代码包,原生数据可以是服务器200a根据目标用户的历史行为数据或者用户画像确定的电子读物中的章节数据,可扩展代码包是服务器200a获取到的与运营类活动(如阅读类应用发起的关于某热门话题的投票活动、第三方应用的广告信息等)相关联的代码数据。可扩展代码包是开发人员基于第三方库(如React Native开发环境,React Native是一个跨平台移动应用开发框架)编写的程序代码,也可以是第三方应用(除上述阅读类应用之外的其余应用)通过程序编程接口所提供的编码平台进行编写的程序代码。

信息流如列表10c所示,该信息流中的每个单位信息数据均可以包括:项目编号、数据类型以及数据名称或内容(或代码)等。例如,列表10c中的第一个单位信息数据对应的项目编号为1,数据类型为类型1(可以为原生数据对应的数据类型标识,如书籍等),名称为名称1(具体可以为“围城第三章”等),内容为电子读物中的章节文本内容(具体可以为《围城》第三章所对应的文本内容等);列表10c中的第二个单位信息数据对应的项目编号为2,类型为类型2(可以表示为可扩展代码对应的数据类型标识,如React Native等),代码为运营类活动(具体可以为租房类应用的租房广告)对应的程序代码。

服务器200a将列表10c(即信息流)返回给终端设备100a,终端设备100a可以根据信息流中每个单位信息数据所对应的类型,基于不同的框架对单位信息数据进行处理(如原生数据可以基于原生框架直接进行渲染,可扩展代码需要进行基于可扩展框架进行加载解析后才能基于原生框架进行渲染),进而在终端设备100a的显示区域中对每个单位信息数据进行显示。例如,列表10c中的第一个单位信息数据进行渲染后,得到信息栏10d;列表10c中的第二个单位信息数据进行加载解析以及渲染后,可以得到信息栏10e。目标用户可以通过点击信息栏来查看该信息栏所对应的信息内容,如用户点击信息栏10d,可以查看《围城》第三章所对应的文本内容;用户点击信息栏10e,可以查看租房类应用所提供的租房广告信息等。

请参见图3,是本申请实施例提供的一种信息流处理方法的时序示意图。如图3所示,该信息流处理方法可以包括以下步骤:

步骤S101,发送信息拉取请求;

具体的,终端设备(对应于上述图2所对应实施例中的终端设备100a)可以根据目标用户的操作,生成信息拉取请求,例如,目标用户点击阅读类应用中的“故事”按钮(对应于上述图2所对应实施例中的“故事”按钮10b),或者下拉阅读类应用中的“故事”显示页面进行信息刷新时,终端设备可以生成信息拉取请求。终端设备在生成信息拉取请求后,可以将该信息拉取请求发送给服务器(对应于上述图2所对应实施例中的服务器200a)。

步骤S102,根据所述信息拉取请求获取针对目标用户的信息流;

具体的,服务器接收终端设备发送的信息拉取请求,并基于该信息拉取请求所携带的设备标识,确定与该终端设备对应的目标用户,进而可以从该目标用户的信息列表中选择出多个单位信息数据作为信息流,该信息流即为上述信息拉取请求所请求的信息数据的聚合。服务器可以根据信息列表中单位信息数据的排序为目标用户确定信息流,每次信息拉取请求所请求的单位信息数据的数量可以预先设置(如10条)。

需要说明的是,服务器可以为每个用户推荐出符合用户个性化的信息数据,并将推荐的信息数据添加至每个用户对应的信息列表中。用户个性化信息数据的确定方式可以包括:根据用户的历史阅读记录确定该用户正在阅读的书籍,将历史阅读记录所记载的最新进度确定用户正在阅读的章节数据,并将该章节数据添加至该用户对应的信息列表中;根据用户的历史行为(如用户点赞、评论、划线等行为)从近期热门话题或热门书籍中,为该用户推荐感兴趣的章节数据,并将该章节数据添加至该用户对应的信息列表中;获取阅读类应用正在进行的运营类活动,将每个运营类活动对应的信息数据添加至该用户对应的信息列表中。其中,对于为用户推荐的章节数据等信息数据,均是基于原生技术来实现的,即阅读类应用的开发人员基于终端设备所属操作系统的原生代码,进行开发实现的,因此该类数据也可以称为原生数据,原生数据的具体表示形式为:{itemid:1,type:‘book’,title:‘123’,image:‘222.jpg’,content:‘我是中国人’},即该原生数据对应的项目编号为“1”,类型为“书籍”,标题为“123”,图像为“222.jpg”,内容为“我是中国人”。对于运营类活动对应的信息数据,是阅读类应用的开发人员基于第三方库(如React Native)所提供的开发环境进行开发实现的,因此运营类活动对应的信息数据为可扩展代码包,可扩展代码包具体表示为:{itemid:2,type:‘RN’,code:‘xxx’},即该可扩展代码包对应的项目编号为“2”,类型为“RN(React Native的缩写)”,代码为“xxx(具体的程序代码)”。上述可知,信息流中不仅包括原生数据和可扩展代码包,还包括原生标识和可扩展标识,原生标识用于表征原生数据对应的数据类型,可扩展标识用于表征可扩展代码包对应的数据类型。

可选的,服务器可以通过程序编程接口获取第三方设备发送的代码文件,并将该代码文件封装成可扩展代码包。上述代码文件是由第三方设备通过该程序编程接口所提供的可扩展编码平台编写得到,即第三方设备(可以理解为第三方应用)通过程序编程接口所提供的可扩展编码平台进行开发,得到与该第三方设备有关的运营类活动所对应的代码文件。

步骤S103,发送所述信息流;

具体的,服务器将获取到的信息流返回至终端设备,以使该终端设备可以对该信息流中所包含的信息数据进行渲染并显示。

步骤S104,根据所述信息流在页面上显示所述原生数据与所述可扩展代码包对应的可视化业务数据。

具体的,终端设备可以根据信息流中每个单位信息数据所对应的数据类型,将单位信息数据分发至阅读类应用封装的不同框架中,如将原生数据分发至原生框架中,并基于原生框架对原生数据进行渲染,在终端设备的显示页面上显示渲染后的原生数据;将可扩展代码包分发至可扩展框架中,基于可扩展框架对可扩展代码包进行加载解析,然后基于原生框架对解析后的可扩展代码包进行渲染(经过原生框架渲染后的可扩展代码包可以称为可视化业务数据),并在终端设备的显示页面上进行显示。可以理解的是,原生数据的渲染过程与可扩展代码包的加载解析过程是独立处理的过程,即两者可以同时处理。

其中,对于信息流中所包含的原生数据与可扩展代码包对应的可视化业务数据,在终端设备的展示页面中的显示顺序可以根据原生数据与可扩展代码包在信息流中的排列顺序来决定。换言之,基于原生数据与可扩展代码包在信息流中的排列顺序,可以确定原生数据与可扩展代码包对应的可视化业务数据在终端设备的展示页面上的排列顺序。例如,可扩展代码包A在信息流中的排列顺序为1,则该可扩展代码包A在展示页面中的排列顺序同样为1。

本申请实施例通过发送信息拉取请求,以获取包含原生数据与可扩展代码包的信息流,并在页面上显示该信息流中所包含的原生数据以及可扩展代码包对应的可视化业务数据。可见,通过结合原生技术和可扩展技术构建信息流,使得信息流中既可以包含采用原生技术得到的原生数据,也可以包含采用可扩展技术得到的可扩展代码包,,即在不更新客户端版本的前提下,可以增加信息流中的信息类型,不仅可以降低开发成本,还可以丰富信息流的展示形式。

请参见图4,是本申请实施例提供的一种信息流处理方法的流程示意图。如图4所示,该信息流处理方法可以包括以下步骤:

步骤S201,向服务器发送信息拉取请求,以使所述服务器根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

其中,步骤S201的具体实现方式可以参见上述图3所对应实施例中的步骤S101和步骤S102,这里不在进行赘述。

步骤S202,接收所述信息流,在所述信息流中获取每个单位信息数据分别对应的数据类型标识;

具体的,终端设备接收服务器发送的信息流,由于信息流中包括多个单位信息数据,且每个单位信息数据均携带有相应的数据类型标签,因此终端设备可以在信息流中获取每个单位信息数据分别对应的数据类型标识。

步骤S203,若所述数据类型标识为原生标识,则将所述原生标识对应的单位信息数据确定为原生数据;

具体的,若终端设备从信息流中获取到单位信息数据对应的数据类型为原生标识,则可以将该单位信息数据确定为原生数据。例如,若单位信息数据对应的数据类型为“book(书籍)”,则可以将该单位信息数据确定为原生数据;若单位信息数据对应的数据类型为“video(视频)”,则该单位信息数据同样可以确定为原生数据;若单位信息数据对应的数据类型为“cartoon(漫画)”,则该单位信息数据也可以确定为原生数据。上述“book”、“video”以及“cartoon”均可以称为原生标识。

步骤S204,将所述原生数据分发至原生框架中,从所述原生框架中获取信息显示模板;所述信息显示模板用于规范所述原生数据的展示形式;

具体的,将确定为原生数据的单位信息数据分发至原生框架中,并从原生框架中获取信息显示模板,该信息显示模板可以用于规范原生数据的展示形式。换言之,信息显示模板规定了在终端设备的展示页面中,单位信息数据中的标题应该显示在什么位置,使用什么样的字体以及使用多大的字号等信息。在阅读类应用的开发过程中,对信息数据的展示形式进行了规范,信息数据在满足上述规范的前提下,方可在展示页面中进行信息展示。

步骤S205,基于所述信息显示模板,对所述原生数据进行页面排版,在页面上显示页面排版后的原生数据。

具体的,根据从原生框架中获取到的信息显示模板,对确定为原生数据的单位信息数据进行渲染,即对确定为原生数据的单位信息数据进行页面排版,在终端设备的页面上显示排版之后的单位信息数据(如上述图2所对应实施例中的信息栏10d和信息栏10e)。

步骤S206,若所述数据类型标识为可扩展标识,则确定所述单位信息数据为所述可扩展代码包;

具体的,若终端设备从信息流中获取到单位信息数据对应的数据类型为可扩展标识,则可以将该单位信息数据确定为可扩展代码包。例如,若单位信息数据对应的数据类型为“RN”,则可以将该单位信息数据确定为可扩展代码包,即该可扩展代码包为基于RN开发环境进行编写的。

步骤S207,将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架,将所述可扩展代码包进行加载,得到所述扩展代码包对应的可扩展业务数据;

具体的,终端设备可以将确定为可扩展代码包的单位信息数据分发至可扩展框架中,并基于可扩展框架,对可扩展代码包进行加载解析,得到该可扩展代码包对应可扩展业务数据。该可扩展代码包中可以包括页面布局文件、逻辑脚本文件以及样式控制文件,页面布局文件可以理解为JSX(JSX是可扩展框架抽象页面布局用的语法,是创建虚拟文档对象模型的一种语法格式)文件,逻辑脚本文件可以理解为JavaScript(JavaScript可以简称为JS,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言)脚本文件,样式控制文件可以理解为CSS(Cascading Style Sheets,层叠样式表,一种用于文件样式的计算机语言)文件,即可扩展代码包为JSX+JS+CSS形式的代码包。

请一并参见图5,是本申请实施例提供的一种可扩展框架的结构示意图。如图5所示,可扩展框架20a可以包括三个层次,分别为第一层20b、第二层20c以及第三层20d。第一层20b还可以称为Java(一种可以撰写跨平台应用软件的面向对象的程序设计语言)层,可以包括操作系统的界面管理器、图像加载组件以及网络请求处理组件等;第二层20c还可以称为C++(一种基于对象的程序设计语言)层,可以包括脚本加载组件、通信组件以及转译组件等;第三层20d还可以称为JS层,可以包括脚本组件、事件模块以及协调器等。JS层主要可以为开发者提供一些组件与工具库,即可扩展代码包可以基于脚本组件、事件模块以及协调器等组件来实现的。可扩展代码包的加载解析过程可以具体描述为:可以基于可扩展框架中的转译组件,将页面布局文件转换为布局脚本文件,即将JSX文件转换为JS脚本的形式,并基于可扩展框架中的通信组件,将布局脚本文件发送至脚本加载组件,并基于脚本加载组件对布局脚本文件和逻辑脚本文件进行加载解析,并在加载过程中调用样式控制文件,生成可扩展代码包对应的可扩展业务数据。换言之,通过对可扩展代码包进行加载解析后,将可扩展代码包转换成了可扩展业务数据。其中,可扩展框架中的通信组件可以用于各组件之间的通信,实现各组件处理结果之间的共享,脚本加载组件用于执行对JS的解析。

步骤S208,根据所述可扩展框架与所述原生框架之间的通信机制,将所述可扩展业务数据所属的数据格式转换为原生数据所属的数据格式;

具体的,由于可扩展框架解析得到的可扩展业务数据不符合阅读类应用中的数据格式,因此终端设备需要根据可扩展框架与原生框架之间的通信机制,将可扩展业务数据的数据格式转换为原生数据的数据格式,即将可扩展业务数据转换为如下形式:{itemid:1,type:‘xxx’,title:‘xxx’,image:‘xxx.jpg’,content:‘xxx’},具体说明数据的项目编号、标题、显示图片、具体内容等信息。

步骤S209,基于所述原生框架,对格式转换后的可扩展业务数据进行渲染,得到可视化业务数据,并在页面上显示所述可视化业务数据。

具体的,终端设备将格式转换后的可扩展业务数据发送至原生框架中,基于原生框架对格式转换后的可扩展业务数据进行渲染,渲染过程如同上述原生数据的渲染过程(步骤S204-步骤S205),这里不再进行赘述。

可以理解的是,终端设备安装的阅读类应用的底层中封装了原生框架和可扩展框架,原生框架为该阅读类应用的核心模块,可以高效率地为目标用户拉取信息流并进行渲染以向用户进行信息展示。可扩展框架可以用于运营类活动的信息展示,实现信息流的可扩展性以及动态性,可以有效提高信息流的兼容性。

请一并参见图6,是本申请实施例提供的一种显示可视化业务数据的界面图。以信息流为热门话题的投票活动所对应的的可扩展代码包为例,如图6所示,当目标用户点击“故事”按钮10b或者上划“故事”按钮10b所对应的展示页面或者下拉“故事”按钮10b所对应的展示页面进行刷新时,终端设备100a可以监听用户的行为操作,并响应用户的触发操作,生成信息拉取请求。通过向服务器发送该信息拉取请求,以使服务器可以根据该信息拉取请求从指定资源地址(如目标用户对应的信息列表中)获取信息流,并将获取到的信息流返回给终端设备100a,终端设备100a中根据该信息流所携带的可扩展标识,可以确定该信息流为可扩展代码包,由于阅读类应用中的原生框架无法直接对可扩展包进行渲染,因此终端设备100a可以将该可扩展代码包分发至可扩展框架中,基于可扩展框架,可以将可扩展代码包解析为对应的投票活动数据(即可扩展业务数据),并将该投票活动数据转换为原生数据对应的数据格式,进而可以基于阅读类应用中的原生框架对格式转换后的投票活动数据进行排版,并在终端设备100a的展示页面上进行显示,如信息栏30a所示,该信息栏30a可以包括投票活动数据中的主题(如“社会奉献着投票活动”)、参与评选的人选名字(如“小A”、“小B”、“小C”以及“小D”)、图片(如图片300b)、活动来源(如“全民投票活动”)等信息。

请一并参见图7,是本申请实施例提供的一种信息流处理方法的框架示意图。如图7所示,本申请实施例可以在服务器40b(相当于上述图1所对应实施例中的服务器200a)以及客户端40a(阅读类应用对应的客户端)所属的终端设备上实现,由于是混合原生技术与可扩展技术(如RN技术)构建的信息流,因此在服务器40b的信息流40f中可以包括原生数据40g和可扩展代码包40h(也可以称为RN代码包)。在客户端40a中,可以包括原生框架40c和可扩展框架40e以及信息流显示模块40d。

原生数据40g是指服务器为用户确定的推荐信息,原生数据中可以包括推荐信息的类型、标题、图片以及具体章节文本内容等。

可扩展代码包40h是指基于可扩展开发环境(如RN开发环境)编写的关于运营活动的程序代码。该可扩展代码包40h可以是指阅读类应用中基于可扩展开发环境编写的程序代码,也可以是指第三方应用40i调用可扩展开发环境中的程序编程接口进行运营活动开发,编写的可扩展程序代码。程序编程接口是指该阅读类应用中的可扩展开发环境为第三方应用40i提供的接口,第三方应用40i可以调用该程序编程接口进行开发,并将开发的可扩展程序代码发送给服务器40b,以便服务器40b可以将接收的可扩展程序代码封装为可扩展代码包40h。

原生框架40c用于对服务器40b返回的原生数据40g进行渲染,即将服务器40b返回的原生数据40g在原生框架40c下进行排版,使得原生数据40g对应的信息排版形式符合客户端信息流中的信息显示规范,并在信息流中显示该原生数据40g对应的信息。客户端40d中的信息流信息显示形式即为原生框架40c下生成的信息排版形式。信息显示规范规定了信息以何种形式进行展示。

可扩展框架40e用于对服务器40b返回的可扩展代码包40h进行加载解析,即在可扩展框架40e下对服务器40b返回的可扩展代码包40h进行加载解析,得到该可扩展代码包40h对应的数据(同样可以包括信息的标题、图片、内容等)。由于加载解析后的数据的格式(即数据格式)与原生数据40g的数据格式是不一样的,客户端40a无法直接对该数据进行渲染,因此还需要通过可扩展框架40e与原生框架40c之间的通信机制,将加载解析后的数据转换成原生框架40e所能识别和渲染的数据格式,以使可扩展框架40e下生成的数据能够在客户端40a中进行显示。

信息流显示40d用于显示原生框架40c渲染过后的原生数据40g和可扩展代码包40h对应的可视化业务数据。

本申请实施例通过发送信息拉取请求,以获取包含原生数据与可扩展代码包的信息流,并在页面上显示该信息流中所包含的原生数据以及可扩展代码包对应的可视化业务数据。可见,通过结合原生技术和可扩展技术构建信息流,使得信息流中既可以包含采用原生技术得到的原生数据,也可以包含采用可扩展技术得到的可扩展代码包,,即在不更新客户端版本的前提下,可以增加信息流中的信息类型,不仅可以降低开发成本,还可以丰富信息流的展示形式。

请参见图8,是本申请实施例提供的一种信息流处理装置的结构示意图。如图8所示,该信息流处理装置1可以应用于上述图2所对应实施例中的终端设备100a,该信息流处理装置1可以包括:第一发送模块11、显示模块12;

第一发送模块11,用于向服务器发送信息拉取请求,以使所述服务器根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

显示模块12,用于接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

其中,第一发送模块11、显示模块12的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101和步骤S104,这里不再进行赘述。

请一并参见图8,所述信息流包括多个单位信息数据;

显示模块12可以包括:类型标识获取单元121,原生数据确定单元122,可扩展代码包确定单元123,排列顺序获取单元124,数据显示单元125;

类型标识获取单元121,用于接收所述信息流,在所述信息流中获取每个单位信息数据分别对应的数据类型标识;

原生数据确定单元122,用于若所述数据类型标识为原生标识,则确定所述单位信息数据为所述原生数据,并基于原生框架显示所述原生数据;

可扩展代码包确定单元123,用于若所述数据类型标识为可扩展标识,则确定所述单位信息数据为所述可扩展代码包,并基于可扩展框架与所述原生框架显示所述可扩展代码包对应的可视化业务数据;

排列顺序获取单元124,用于获取所述原生数据和所述可扩展代码包在所述信息流中的排列顺序;

数据显示单元125,用于基于所述排列顺序,在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

其中,类型标识获取单元121,原生数据确定单元122,可扩展代码包确定单元123的具体功能实现方式可以参见上述图4所对应实施例中的步骤S202-步骤S209,排列顺序获取单元124,数据显示单元125的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。

请一并参见图8,原生数据确定单元122可以包括:判断子单元1221,第一分发子单元1222,排版子单元1223;

判断子单元1221,用于若所述数据类型标识为原生标识,则将所述原生标识对应的单位信息数据确定为原生数据;

第一分发子单元1222,用于将所述原生数据分发至原生框架中,从所述原生框架中获取信息显示模板;所述信息显示模板用于规范所述原生数据的展示形式;

排版子单元1223,用于基于所述信息显示模板,对所述原生数据进行页面排版,在页面上显示页面排版后的原生数据。

其中,判断子单元1221,第一分发子单元1222,排版子单元1223的具体功能实现方式可以参见上述图4所对应实施例中的步骤S203-步骤S205,这里不再进行赘述。

请一并参见图8,可扩展代码包确定单元123可以包括:第二分发子单元1231,格式转换子单元1232,渲染子单元1233;

第二分发子单元1231,用于将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架,将所述可扩展代码包进行加载,得到所述扩展代码包对应的可扩展业务数据;

格式转换子单元1232,用于根据所述可扩展框架与所述原生框架之间的通信机制,将所述可扩展业务数据所属的数据格式转换为原生数据所属的数据格式;

渲染子单元1233,用于基于所述原生框架,对格式转换后的可扩展业务数据进行渲染,得到可视化业务数据,并在页面上显示所述可视化业务数据。

其中,第二分发子单元1231,格式转换子单元1232,渲染子单元1233的具体功能实现方式可以参见上述图4所对应实施例中的步骤S207-步骤S209,这里不再进行赘述。

请一并参见图8,所述可扩展代码包包括页面布局文件、逻辑脚本文件以及样式控制文件;

第二分发子单元1231可以包括:转换子单元12311,脚本发送子单元12312,解析子单元12313;

转换子单元12311,用于将所述可扩展代码包分发至可扩展框架中,基于所述可扩展框架中的转译组件,将所述页面布局文件转换为布局脚本文件;

脚本发送子单元12312,用于基于所述可扩展框架中的通信组件,将所述布局脚本文件发送至脚本加载组件;

解析子单元12313,用于基于所述脚本加载组件对所述布局脚本文件与所述逻辑脚本文件进行解析,根据解析结果与所述样式控制文件,生成所述可扩展代码包对应的可扩展业务数据。

其中,转换子单元12311,脚本发送子单元12312,解析子单元12313的具体功能实现方式可以参见上述图4所对应实施例中的步骤S207,这里不再进行赘述。

本申请实施例通过发送信息拉取请求,以获取包含原生数据与可扩展代码包的信息流,并在页面上显示该信息流中所包含的原生数据以及可扩展代码包对应的可视化业务数据。可见,通过结合原生技术和可扩展技术构建信息流,使得信息流中既可以包含采用原生技术得到的原生数据,也可以包含采用可扩展技术得到的可扩展代码包,,即在不更新客户端版本的前提下,可以增加信息流中的信息类型,不仅可以降低开发成本,还可以丰富信息流的展示形式。

请参见图9,是本申请实施例提供的另一种信息流处理装置的结构示意图。如图9所示,该信息流处理装置2可以应用于上述图2所对应实施例中的服务器200a,该信息流处理装置2可以包括:接收模块21、第二发送模块22;

接收模块21,用于接收终端设备发送的信息拉取请求,根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

第二发送模块22,将所述信息流发送至所述终端设备,以使所述终端设备对所述原生数据和所述可扩展代码包对应的可视化业务数据进行显示。

其中,接收模块21、第二发送模块22的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102-步骤S103,这里不再进行赘述。

请一并参见图9,该信息流处理装置2还可以包括:获取模块23;

获取模块23,用于通过程序编程接口获取第三方设备发送的代码文件,并将所述代码文件封装成可扩展代码包;所述代码文件是由所述第三方设备通过所述程序编程接口所提供的可扩展编码平台编写得到。

其中,获取模块23的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。

本申请实施例通过发送信息拉取请求,以获取包含原生数据与可扩展代码包的信息流,并在页面上显示该信息流中所包含的原生数据以及可扩展代码包对应的可视化业务数据。可见,通过结合原生技术和可扩展技术构建信息流,使得信息流中既可以包含采用原生技术得到的原生数据,也可以包含采用可扩展技术得到的可扩展代码包,,即在不更新客户端版本的前提下,可以增加信息流中的信息类型,不仅可以降低开发成本,还可以丰富信息流的展示形式。

请参见图10,是本申请实施例提供的又一种信息流处理装置的结构示意图。如图10所示,该信息流处理装置1000可以对应于上述图2所对应实施例中的终端设备100a,该信息流处理装置1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述信息流处理装置1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在如图10所示的信息流处理装置1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

向服务器发送信息拉取请求,以使所述服务器根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

接收所述信息流,根据所述信息流在页面上显示所述原生数据和所述可扩展代码包对应的可视化业务数据。

应当理解,本申请实施例中所描述的信息流处理装置1000可执行前文图3、图4任一个所对应实施例中对所述信息流处理方法的描述,也可执行前文图8所对应实施例中对所述信息流处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的信息流处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3、图4任一个所对应实施例中对所述信息流处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。

请参见图11,图11是本申请实施例提供的又一种信息流处理装置的结构示意图。如图11所示,该信息流处理装置2000可以对应于上述图2所对应实施例中的服务器200a,该信息流处理装置2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述信息流处理装置2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在如图11所示的信息流处理装置2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

接收终端设备发送的信息拉取请求,根据所述信息拉取请求获取针对目标用户的信息流;所述信息流包括原生数据和可扩展代码包;

将所述信息流发送至所述终端设备,以使所述终端设备对所述原生数据和所述可扩展代码包对应的可视化业务数据进行显示。

应当理解,本申请实施例中所描述的信息流处理装置2000可执行前文图3所对应实施例中对所述信息流处理方法的描述,也可执行前文图9所对应实施例中对所述信息流处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的信息流处理装置2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3所对应实施例中对所述信息流处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储存储器(Read-Only Memory,ROM)或随机存储存储器(Random AccessMemory,RAM)等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 信息流处理方法、装置以及计算机可读存储介质
  • 信息流完整性攻击度量方法及其计算机装置、可读存储介质
技术分类

06120112181850