一种微型网络日志消息处理方法及其装置 技术领域
本发明涉及计算机技术领域, 尤其涉及一种应用于微型网络日志系统的微型网络日志 消息处理方法及其装置。
背景技术
网络即时通信 (Instant Messaging, IM) 工具发展到今天, 已经被大多数的网民所接 受, 成为用户必不可少的软件工具, 不但在平时的休闲娱乐中, 而且在用户的工作中得到 广泛的使用, 因此用户对 IM软件的易用性、 稳定性、 安全性等方面提出了较高的要求。 在 IM软件中, 主要实现的是一对一的好友单独聊天以及一对多的群或者讨论组的消息聊天模 式。 随着互联网应用的不断发展, 类似 twitter ( twitter网站所使用的一种即时通信方式 的变种, 允许用户将自己的最新动态和想法以短信息的形式发送给无线终端和个性化网站 群) 的微型博客 (博客是指 Web log, blog, 又称网络日志) 应用也不断发展壮大, 这类微 型博客 (简称微博) 服务允许用户发布 140个字左右的信息, 这种方式可以非常快速的进 行信息传播与传递, 实现用户消息聊天模式从一对一、 一对多到一对无穷的一种跨越。 正 是一对无穷的模式也意味着一个人可以对无穷多个人进行消息的传播, 同时一个人同时也 可以接收万级以上的用户发布的信息, 因此这种技术对大用户量的应用提出了新的要求。
IM是对话式的, 其交互方式最原始也最自然, 但是效率低, 通常需要很多对话才能表 示一个完整的意思。 博客是文档形式的, 没有明确对象, 意思相对比较完整, 但是发布博 客的门槛比较高。 微博也是短消息形式的, 也没有明确对象, 但意思相对完整, 发布微博 的门槛较低, 如可以发布一句话或是表情符号。 所以相比于 IM消息和博客而言, 微博的信 息传递效率更高而门槛更低。 微博作为一种扩展 IM消息传播机制的新产品、 新应用得到了 快速的增长。
微博客户端软件呈现的信息是以消息为主的, 在现有的微博客户端产品中, 信息呈现 的方式都是以消息为主的, 而对于诸如图片、 音乐、 视频等富媒体信息的展现相对较少。 在现有的微博客户端产品中, 有各种页面如主页等, 都是按照各种各样的维度将微博内容 分类呈现给用户阅读。 除此之外还有一些其它类型页面, 如列表页面 (包括 "搜索微博用 户页"、 "我的收听人列表消息页"等), 也需要展示微博消息内容。
现有微博系统中的消息页 (如前所述的各种页面或主页) 和列表页等各种页面对微博 消息内容的表现形式不同, 且彼此之间缺乏复用。 这样, 对于携带有富媒体信息的微博消 息, 如果需要在各种页面中进行处理, 则需要在各个页面都分别执行相应的逻辑, 势必带 来代码逻辑的冗余、 降低微博系统效率、 难于维护等诸多问题。 另外, 随着微博客户端软件产品的不断发展, 势必需要将微博应用与各种业务 (如下 载业务) 进行结合, 微博系统为各个业务逻辑的展示提供公共的平台承载区, 并在其上能 够进行一些对于各个业务逻辑的控制策略, 从而可以使各个业务为微博的更进一步发展起 到促进作用。 发明内容
本发明实施例提供了一种微型网络日志消息处理方法及其装置, 用以实现微型网络日 志系统客户端消息页中针对富媒体信息的相同或相似处理逻辑的复用。
本发明实施例提供的微型网络日志消息处理方法中, 微型网络日志系统的各客户端中 配置有统一的富媒体控件, 所述富媒体控件是根据富媒体信息操作类型和媒体类型对富媒 体信息处理逻辑进行封装得到的, 该方法包括:
微型网络日志系统客户端接收对微型网络日志消息中的富媒体信息进行处理的操作请 求;
所述微型网络日志系统客户端根据操作类型和所请求的富媒体信息的媒体类型调用相 应的富媒体控件, 并通过运行该控件对所述富媒体信息进行相应处理。
本发明实施例提供的微型网络日志消息处理装置, 包括:
配置模块, 用于配置有统一的富媒体控件, 所述富媒体控件是根据富媒体信息操作类 型和媒体类型对富媒体信息处理逻辑进行封装得到的;
接收模块, 用于接收对微型网络日志消息中的富媒体信息进行处理的操作请求; 处理模块, 用于根据操作类型和所请求的富媒体信息的媒体类型调用相应的富媒体控 件, 并通过运行该控件对所述富媒体信息进行相应处理。 本发明的上述实施例, 通过预先根据富媒体信息操作类型和媒体类型对富媒体信息处 理逻辑进行封装得到统一的富媒体控件, 并将富媒体控件配置在微型网络日志系统的各客 户端, 这样, 微型网络日志系统客户端接收对微型网络日志消息中的富媒体信息进行处理 的操作请求时, 可根据操作类型和所请求的富媒体信息的媒体类型调用相应的富媒体控件, 并通过运行该控件对所述富媒体信息进行相应处理, 从而一方面实现了对微型网络日志消
息中的富媒体信息进行处理, 另一方面由于富媒体控件是在客户端统一配置的, 因而实现 了可在不同页面中进行复用, 即通过相应逻辑的封装达到微型网络日志系统客户端各个消 息页的复用, 可以让用户有更多的信息表现途径。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明 的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以 根据这些附图获得其他的附图。
图 1为本发明实施例中的微博消息中的业务逻辑区示意图;
图 2为本发明实施例中的微博消息处理方法流程示意图;
图 3为本发明实施例中的缩略图的下载流程示意图;
图 4为本发明实施例中的显示原图的流程示意图;
图 5 为本发明实施例中的微博消息处理方法在基于微博的富媒体导出过程的流程示意 图;
图 6为本发明实施例中的消息列表的显示示意图;
图 7 为本发明实施例中的微博消息处理方法在基于微博的富媒体导出过程的另一流程 示意图;
图 8为本发明实施例中的微型网络日志消息处理装置的结构示意图;
图 9为本发明实施例中的在基于微博的富媒体导出时处理模块的结构示意图; 图 10为本发明实施例中的消息列表管理子模块结构示意图;
图 11为本发明实施例中的消息筛选子模块结构示意图;
图 12为本发明实施例中的富媒体导出子模块结构示意图。
具体实施方式
本发明实施例提供了一种实现可复用微博富媒体消息的技术实现方案, 在微博消息中, 除了支持用户发表 140个字以内的传统文字信息外, 还可以支持诸如图片、 音乐、 视频等 多种表现形式的富媒体信息, 可以让用户有多种选择来展现微博消息内容, 从而满足用户 的多元化需求。 当在微博客户端有多个场景需要展示用户的微博消息内容时, 可对富媒体 信息进行有效的封装并对富媒体信息的展示逻辑实现良好的控制。 通过实现该技术方案, 可以让多个消息页面以及列表页面复用相同的处理逻辑。
下面结合附图对本发明实施例进行详细描述。
本发明实施例中, 一方面为了使微博消息能够承载富媒体信息, 另一方面为了方便对 微博消息中的富媒体信息进行处理, 可在微博消息中设置特定的业务逻辑区, 专门用于承 载诸如图片、 音乐、 视频等业务的富媒体信息。 如图 1 所示, 在微博消息中设置业务逻辑 区 RichMediaCtrl , 用于承载图片 1、 图片 2、 视频 1、 视频 2和音乐 3的媒体相关信息, 如媒体类型、 链接地址、 图片显示大小、 音 /视频的播放时长等, 以便在后续需要对其中的 富媒体信息进行处理时, 通过 CWBlogMsgData变量传递相应富媒体信息的相关信息, 从而 决定所调用的控件或 /和用于控件的执行过程。
如图 2所示, 本发明实施例提供的微博消息处理方法可包括两个阶段,在开发阶段(步 骤 201 ), 预先根据微博消息中的富媒体操作类型 (如点击音频链接、 点击缩略图、 加载图 片等) 和媒体类型 (如图片、 音频、 视频等), 将富媒体信息处理逻辑封装为相应的控件, 该控件可设置在客户端 (如将该控件封装在客户端安装程序中, 当安装客户端后即可完成 在客户端设置该控件); 在应用阶段(步骤 202), 当微博系统客户端接收到对页面中的富媒 体信息进行处理的操作请求后, 根据操作类型和所请求的富媒体信息的媒体类型, 调用相 应的富媒体控件, 并通过运行该控件对该富媒体信息进行相应处理。
具体的, 在开发阶段, 可将用户在微博页面上的操作的处理逻辑封装到富媒体控件内。 在富媒体控件内部, 还可包含更为细粒度的子控件, 各子控件相对独立。 如, 可根据用户 在页面上的操作类型, 诸如鼠标移入、 移出、 点击等, 设置对应的处理逻辑并作为子控件 封装在富媒体控件内; 和 /或, 可以根据微博页面加载操作设置对应的处理逻辑并作为子控 件封装在富媒体控件内。 为了支持多种类型富媒体信息的处理, 可以针对每一种操作类型, 根据媒体类型的不同, 将不同类型的富媒体信息的处理逻辑分别封装为对应的富媒体控件。
例如, 对于鼠标点击图片缩略图的操作和鼠标点击音 /视频链接的操作分别设置处理逻 辑并进行封装。 这样, 在微博消息页、 列表页等页面, 针对页面中的每一个与富媒体信息 处理相关的页面元素, 可只需保存 RichMediaCtrl 的实例变量, 以便当用户对该页面元素 操作时, 调用相应控件以创建实例, 根据该实例变量传递的参数, 通过运行该实例来实现 相应富媒体信息的处理。 又例如, 可针对加载图片、 音频或视频的操作分别设置处理逻辑 并进行封装。
进一步的, 在富媒体控件内部, 还可以进行之一或任意组合的功能设置- ( 1 ) 根据各个业务的优先等级维护各个业务逻辑的显示顺序。 这里的业务是相对平台 而言的, 微博做为承载的平台存在音乐、 视频、 图片等的处理, 这些都是具体的业务, 各 个业务优先级可以不相同, 优先级属于业务属性。 具体的, 可根据富媒体信息类型设置不
同的显示优先级, 该优先级的高低表示显示顺序的先后。 例如, 对实现加载图片的控件设 置为最高优先级, 这样在微博客户端初始化微博页面时, 可优先显示图片内容。
( 2 ) 根据需要在一次登录过程中控制某一种富媒体信息的显示或隐藏。 具体的, 可为 微博客户端提供设置界面, 供用户针对某类型或某些类型的富媒体信息设置其显示或隐藏 属性 (也可系统默认进行设置); 相应的, 在客户端初始化微博页面时, 可根据该属性设置 决定是否调用相应媒体类型的加载控件, 这样每当微博客户端初始化微博页面时, 可根据 该设置对相应类型的富媒体信息进行显示或隐藏。
( 3 ) 支持在内部维护对于同一种富媒体信息的展示个数控制。
( 4) 根据需要对已发布的各版本客户端同时生效本发明实施例所提供的功能。
以上这些配置信息的配置方式可以是: 将上述相应功能的控制参数以配置文件的形式 加密后随客户端版本打包, 如与各版本的客户端安装程序或版本更新程序打包, 以便在客 户端的安装或版本更新过程中, 将这些配置信息配置到客户端中。 通过这种方式还可以实 现服务器端的漫游控制, 支持随时更新控制参数设置的功能。
下面以图片处理为例, 具体说明在富媒体控件内部图片控件的实现逻辑。
通常, 如果微博消息正文或者原文有图片, 则会在微博页面展示该图片的缩略图, 缩 略图的下载流程可如图 3所示, 包括:
步骤 301, 客户端在初始化页面时, 如果确定微博消息正文或原文有图片, 则调用实现 加载图片缩略图的控件。
该步骤中, 在初始化页面时, 客户端可根据微博消息的逻辑控制区域获知该微博消息 中有图片,因此调用加载图片缩略图的控件,创建对应的实例,并且可以通过 CWBlogMsgData 变量将该逻辑控制区域中的图片的链接地址传递给该实例, 作为该实例的输入参数。
以下操作由客户端调用的控件所创建的实例执行:
步骤 302,判断缩略图是否下载完成,如果下载完成则执行步骤 307,否则执行步骤 303。 步骤 303, 在显示缩略图的位置显示默认图片, 将微博消息中的图片链接加入到下载列 表中以下载该图片, 并启动显示下载进度的动画。
步骤 304, 判断是否下载成功, 若下载成功, 则执行步骤 306, 否则执行步骤 305。 步骤 305, 定位到下载列表中的该下载失败的图片链接, 并转入步骤 306。
步骤 306, 停止下载进度动画的显示, 将该微博消息中的图片链接从下载列表中移除, 并转入步骤 307。
步骤 307, 将已下载完成的缩略图放置到相应位置。
上述流程中, 判断是否已经下载缩略图的步骤为可选步骤, 通过该判断以及相应的处
理, 可以在已经下载该缩略图的情况下不用再重复下载, 从而提高处理效率, 并节省网络 开销。
当微博客户端用户执行 "查看原图"、 "复制"或 "另存为"等操作时, 会触发原图下 载流程, 其中, 设微博页面中设置有 "查看原图" 图标, 该图标的属性中的媒体类型属性 为 "图片", 媒体标识为 "图片 1 ", 对图片进行鼠标右键点击的逻辑处理操作所对应的控件 为 Shel lExeCute。 如图 4所示, 该流程可包括:
步骤 401, 当微博客户端用户用鼠标右键点击页面中的 "查看原图"图标时, 客户端根 据该页面元素的属性确定是对图片进行处理, 根据该媒体类型以及根据该鼠标操作类型调 用 Shel lExecute控件, 并可进一步记录用户当前对该图片的操作, 如记录图片标识 (或链 接等信息) 和鼠标操作类型 (右键点击)。
该步骤中, 客户端调用 Shel lExecute 控件后创建对应的实例, 并且可以通过 CWBlogMsgData变量将微博消息的逻辑控制区域中的该图片的链接地址传递给该实例,作为 该实例的输入参数。
以下操作由客户端调用的 Shel lExecute控件所创建的实例执行:
步骤 402,判断该图片是否已经下载,若已经下载,则转入步骤 407,否则转入步骤 403。 步骤 403, 将图片链接加入到下载列表中以便下载该图片, 还可以进一步启动下载进度 动画。
步骤 404, 判断是否下载成功, 若下载成功, 则转入步骤 406, 否则转入步骤 405。 步骤 405, 定位到下载列表中的该下载失败的图片链接, 并转入步骤 406。
步骤 406, 停止下载进度动画的显示, 将该微博消息中的图片链接从下载列表中移除, 并转入步骤 407。
步骤 408, 显示已经下载的该图片。
上述流程中, 判断是否已经下载图片的步骤为可选步骤, 通过该判断以及相应的处理, 可以在已经下载该图片的情况下不用再重复下载, 从而提高处理效率, 并节省网络开销。
当客户端用户对图片进行多次的 "查看原图"、 "复制"或 "另存为"操作时, 会触发 多次图片下载过程, 导致系统资源开销。 对此, 本发明实施例进行了如下处理:
( 1 ) 在控件内部增加以下功能: 用 map保存正在下载的图片列表, 根据该图片列表可 判断出客户端用户的操作是否引起对相同图片的重复下载, 若发生重复下载, 则可屏蔽图 片的重复下载, 即拒绝执行对相同图片的重复下载操作。
( 2 ) 在控件内部增加以下功能: 用 map保存该图片对应的最后的操作, 当图片下载完 成后, 仅进行最后一种操作。 比如用户先选择了 "查看原图", 又立刻选择了 "另存为",
则会先后调用实现 "查看原图"功能的控件和实现 "另存为"功能的控件, 那么最后的执 行以 "另存为"为准, 即, 仅执行根据最后一次操作所调用的控件。
以上两种处理过程既可单独使用, 也可结合使用, 即在图片处理的控件中增加以上两 种功能。
进一步的, 针对客户端没有合适的图片查看器支持微博消息中的图片格式的情况, 本 发明实施例通过在图片处理的控件中增加功能或者增加选择图片查看器的控件, 以实现图 片的显示。 以增加选择图片查看器控件为例, 该处理流程可包括:
在被调用的控件执行图片显示处理时, 如果未找到与图片格式对应的图片查看器, 则 向客户端返回特定值 (如 ShellExecute控件返回值小于 32), 这时客户端可调用选择图片 查看器的控件, 通过该控件实现以下流程: 打开 "打开方式"选择框, 以供用户选择图片 查看器, 根据用户选择的图片查看器显示图片。
需要说明的是, 对于其它媒体类型的富媒体信息也可进行类似处理。 具体的, 通过运 行富媒体控件对所述富媒体信息进行相应处理的过程中, 若发生微型网络日志系统客户端 不支持富媒体信息格式的情况, 则允许客户端用户选择富媒体信息播放器对该富媒体信息 进行显示。
本发明实施例可通过软件方式实现, 软件开发环境可以采用 VS2005的 ATL工程。
通过以上描述可以看出, 运用本发明实施例提出的实现可复用微博富媒体消息的技术 实现方案, 可以让用户有更多的信息表现途径, 并通过相应逻辑的封装达到微博客户端各 个消息页的复用。
请参见图 5, 步骤 202在基于微博的富媒体导出过程中, 具体包括- S101 , 当检测到用户对当前消息列表进行筛选操作时, 微博终端向微博服务器端发送 分类筛选指令;
具体实现中, 用户可通过图 6所示的筛选方式对当前消息列表进行筛选操作; S101中, 当检测到用户对当前消息列表进行筛选操作时, 微博终端对所述当前消息列表的消息索引 ID列表进行封装, 生成分类筛选指令, 然后将所述分类筛选指令发送至微博服务器端。 所 述微博服务器端接收到所述分类筛选指令后,根据所述分类筛选指令中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消息体, 分析各消息索引 ID对应的消息 体, 确定所述当前消息列表中各消息的消息类型, 根据所述当前消息列表中包含的所有消 息类型, 向所述微博终端返回所述当前消息列表中可供筛选的富媒体类型; 其中, 所述消
息类型包括: 文本类型和 /或富媒体类型; 所述富媒体类型包括: 图片类型、 音乐类型和视 频类型中至少一种。
5102, 所述微博终端接收所述微博服务器端返回的所述当前消息列表中可供筛选的富 媒体类型, 并显示所述可供筛选的富媒体类型;
具体实现中, S102步骤中可以图 6虚线框所示的方式显示所述可供筛选的富媒体类型。
5103, 当所述用户在所述可供筛选的富媒体类型中选择任一种富媒体类型时, 所述微 博终端向所述微博服务器端发送消息获取指令;
具体实现中, 所述 S103, 当检测到所述用户在所述可供筛选的富媒体类型中选择任一 种富媒体类型时, 所述微博终端对所述当前消息列表的消息索引 ID列表与所选择的富媒体 类型的标识进行封装, 生成消息获取指令, 并将所述消息获取指令发送至所述微博服务器 端。 所述微博服务器端接收到所述消息获取指令后, 根据所述消息获取指令中的消息索引
ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消息体; 根据所述消息获取指 令中的所选择的富媒体类型的标识, 从拉取到的消息体中查询出包含所述标识的消息体, 并根据查询出的消息体更新所述消息获取指令中的消息索引 ID列表; 然后将更新后的消息 索引 ID列表, 以及查询出的消息体一并返回给所述微博终端。
S104, 所述微博终端接收所述微博服务器端返回的所述当前消息列表中的所有所选择 的富媒体类型的消息, 并显示所选择的富媒体类型的消息列表;
所述 S104中, 所述微博终端接收所述微博服务器端返回的所述富媒体类型的消息 (包 括更新后的消息索 ID列表和消息体), 解析所述消息体, 将其与消息接收到的更新后的索 引 ID列表一一对应, 并通过每个消息的 Item控件形成富媒体类型的消息列表, 并显示该 富媒体类型的消息列表。
S105, 当检测到所述用户对所选择的富媒体类型的消息列表进行导出操作时, 所述微 博终端向所述微博服务器端发送导出请求消息;
具体实现中,所述 S105中, 当检测到所述用户对所选择的富媒体类型的消息列表进行 导出操作时, 所述微博终端对所述富媒体类型的消息列表的消息索引 ID列表进行封装, 生 成导出请求消息, 并将所述导出请求消息发送至所述微博服务器端。 所述微博服务器端接 收到所述微博终端发送的导出请求消息后, 根据所述导出请求消息中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消息体, 解析所述拉取的消息体中包含 的富媒体 URL地址, 对所述 URL地址进行处理, 获得富媒体导出地址, 然后向所述微博终
端返回所述富媒体导出地址, 其中, 所述富媒体包括: 图片、 音乐和视频中至少一种。 针对不同的富媒体类型, 所述微博服务器端的处理过程也存在差异, 若用户选择富媒 体类型为图片类型, 由于微博消息中的图片均存储于微博服务器端的图片服务器中, 所述 微博服务器端解析出图片 URL地址后, 根据解析得到的图片 URL地址, 从图片服务器中下 载出图片 URL地址对应的所有图片, 并对所有图片进行压缩、 打包处理, 形成图片导出包 并存储, 将所述图片导出包的存储地址作为图片导出地址, 并向所述微博终端返回所述图 片导出地址。 若用户选择的富媒体类型为音乐或视频类型, 由于微博消息中的音乐或视频 并不进行实际的存储, 因此, 所述微博服务器端解析出音乐鳳地址或视频 URL地址后, 直接将解析得到的音乐 URL地址或视频 URL地址进行压缩、 打包处理, 得到音乐导出地址 或视频导出地址, 并向所述微博终端返回所述音乐导出地址或视频导出地址。
S106, 所述微博终端接收所述微博服务器端返回的富媒体导出地址, 并根据所述富媒 体导出地址下载所选择的富媒体类型的消息列表中的所有富媒体;
如前述, 针对不同类型的富媒体, 所述微博服务器端的处理方式存在差异, 因此, 本 步骤中, 若所述微博终端接收到所述微博服务器端返回的图片导出地址, 则根据所述图片 导出地址下载图片导出包。 若所述微博终端接收到所述微博服务器端返回的音乐导出地址 或视频导出地址, 则根据所述音乐导出地址或视频导出地址中所有的 URL地址, 到对应的 站点下载音乐或视频。
本发明实施例用户仅需要进行简单操作, 即可实现消息列表中的富媒体类型的消息的 筛选、 列表显示及打包导出, 使微博功能更为丰富, 使微博消息中的富媒体信息得以充分 利用, 同时使用户对微博的使用更加便捷。
请参见图 7, 本实施例以一个具体实例来说明本发明的步骤 202在基于微博的富媒体 导出时的实现过程。
用户在微博终端的 IM客户端中输入注册的用户账户和密码,微博终端则组装用户账户 密码, 并向微博服务器端发送登录请求, 微博服务器端的登录服务器对用户账户和密码进 行验证, 验证成功后, 微博终端与微博服务器端之间建立连接通道, 所述微博终端通过定 时向所述微博服务器端发送心跳包的形式保证与所述微博服务器端之间的连接。 所述微博 终端微可以显示用户的微博主页、 热门广播、 广播大厅或同城广播等消息列表。
用户选择查看自己的微博主页, 微博终端的消息列表管理模块对用户账户和主页标识 进行封装, 形成主页请求消息, 并将该主页请求消息发送至微博服务器端的索引服务器,
索引服务器接收到所述主页请求消息后, 根据用户账户查询该用户的所有收听人的账户, 并通过查询到的收听人的账户获取该收听人发表的消息索引 ID, 按照时间顺序排列各个消 息索引 ID, 形成消息索引 ID列表并返回给所述微博终端的消息列表管理模块; 所述微博终 端的消息列表管理模块对接收到的该消息索引 ID列表进行封装, 生成消息体请求消息, 并 发送至微博服务器端的消息服务器, 消息服务器接收到该消息索引 ID列表后, 根据该消息 索引 ID列表查询对应的消息体, 并将查询到的消息体分包返回给所述消息列表管理模块; 所述消息列表管理模块解析接收到的所述消息体, 将其与消息索引 ID列表一一对应, 并通 过每个消息的 Item控件形成主页消息列表并展示给所述用户。
用户在搜索栏中输入 "筛选"关键字, 所述消息列表管理模块将所述主页消息列表的 消息索引 ID列表封装为分类筛选指令, 并发送至消息服务器; 消息服务器根据所述分类筛 选指令中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消息体, 分析各消息索引 ID对应的消息体, 确定所述主页消息列表中各消息的消息类型, 然后向所 述消息列表管理模块返回主页消息列表中可供筛选的富媒体类型; 所述消息列表管理模块 将接收的主页消息列表中可供筛选的富媒体类型展示给所述用户。
用户选择图片类型,所述消息筛选管理模块对所述主页消息列表的消息索引 ID列表与 图片类型的标识进行封装, 生成消息获取指令, 并发送至消息服务器; 所述消息服务器根 据所述消息获取指令中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对 应的消息体; 根据所述消息获取指令中的图片类型的标识, 从拉取到的消息体中查询出包 含所述标识的消息体,并根据查询出的消息体更新所述消息获取指令中的消息索引 ID列表; 具体地, 所述消息索引 ID列表的更新过程为: 所述消息服务器解析查询出的消息体, 将其 对应的消息索引 ID从接收到的消息索引 ID列表中提取出, 将提取得到的所有消息索引 ID 按时间顺序处理为新的消息索引 ID列表。 所述消息服务器将更新后的消息索引 ID列表及 查询出的消息体一并返回给所述消息筛选管理模块; 所述消息筛选管理模块解析接收到的 所述消息体和新的消息索引 ID列表, 将二者一一对应, 并通过每个消息的 Item控件形成 图片类型的消息列表并展示给所述用户。
用户确认导出图片, 所述富媒体导出模块对所述图片类型的消息列表的消息索引 ID 列表进行封装, 生成导出请求消息, 并发送至所述消息服务器, 所述消息服务器根据所述 导出请求消息中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消 息体, 解析所述拉取的消息体中包含的图片 URL地址, 将解析出的图片 URL地址发送至导
出管理服务器, 由于微博消息中的图片均存储于微博服务器端的图片服务器中, 所述导出 管理服务器则根据接收到的图片 URL地址, 从图片服务器中下载出图片 URL地址对应的所 有图片, 并对所有图片进行压缩、 打包处理, 形成图片导出包并存储, 将所述图片导出包 的存储地址作为图片导出地址发送至所述富媒体导出模块; 所述富媒体导出模块根据接收 的所述图片导出地址下载图片导出包, 并将下载的图片导出包提供给所述用户。
需要说明的是, 若用户选择音乐或视频并确认导出, 由于微博消息中的音乐或视频并 不进行实际的存储, 因此, 所述导出管理服务器在接收到消息服务器发送的音乐 URL地址 或视频 URL地址后, 直接将解析得到的音乐 URL地址或视频 URL地址进行压缩、 打包处理, 得到音乐导出地址或视频导出地址发送至所述富媒体导出模块, 所述富媒体导出模块根据 接收的所述音乐导出地址或视频导出地址中所有的 URL地址, 到对应的站点下载音乐或视 频, 并将下载的音乐或视频提供给所述用户。
通过上述实施例的描述, 本发明实施例为用户显示当前消息列表, 当用户对当前消息 列表进行筛选操作时, 向用户展示可供筛选的类型; 当用户在可供筛选的类型中选择富媒 体类型时, 将当前消息列表中的所有富媒体类型的消息以列表形式展示给用户; 为用户提 供导出接口, 当检测到用户通过导出接口对富媒体类型的消息列表进行导出操作时, 将富 媒体类型的消息列表中包含的所有富媒体信息打包导出, 并提供给所述用户; 本发明实施 例中, 用户仅需要进行简单操作, 即可实现消息列表中的富媒体类型的消息的筛选、 列表 显示及打包导出, 使微博功能更为丰富, 使微博消息中的富媒体信息得以充分利用, 同时 使用户对微博的使用更加便捷。 基于相同的技术构思, 本发明实施例还提供了一种微型网络日志消息处理装置, 该装 置可位于微型网络日志系统客户端。
如图 8所示, 该装置可包括:
配置模块 501, 用于配置有统一的富媒体控件, 所述富媒体控件是根据富媒体信息操作 类型和媒体类型对富媒体信息处理逻辑进行封装得到的;
接收模块 502, 用于接收对微型网络日志消息中的富媒体信息进行处理的操作请求; 处理模块 503,用于根据操作类型和所请求的富媒体信息的媒体类型调用相应的富媒体 控件, 并通过运行该控件对所述富媒体信息进行相应处理。
上述装置中, 接收模块 501 可接收富媒体信息加载操作请求, 相应的, 处理模块 503 可通过调用富媒体控件, 根据如下配置信息之一或任意组合进行相应媒体信息的加载处理:
根据媒体类型所设置的显示优先级;
根据媒体类型所设置的显示 /隐藏属性;
根据媒体类型所设置的富媒体信息显示数量。
所述配置信息与微型网络日志系统各版本客户端的安装或更新程序分别绑定; 相应的, 配置模块 501 可在微型网络日志客户端的安装或更新过程中, 将所述配置信息配置到微型 网络日志客户端中。
上述装置中, 接收模块 502可接收微型网络日志系统客户端用户对页面元素进行操作 的请求; 相应的, 处理模块 503可根据用户所操作的页面元素确定媒体信息的媒体类型, 根据该媒体类型和用户的操作类型调用相应的富媒体控件, 并将所述页面元素对应的媒体 信息的属性参数作为该控件的输入参数, 通过运行该控件对该页面元素对应的媒体信息进 行相应处理。
上述装置中, 处理模块 503还可通过运行富媒体控件对富媒体信息进行相应处理的过 程中, 若发生需要对同一富媒体信息重复下载的情况, 则拒绝处理对该富媒体信息重复下 载的操作。
上述装置中, 处理模块 503还可通过运行富媒体控件对富媒体信息进行相应处理的过 程中, 若发生对同一富媒体信息先后调用不同富媒体控件的情况, 则仅执行最后一次调用 的富媒体控件。
上述装置中, 处理模块 503还可通过运行富媒体控件对所述富媒体信息进行相应处理 的过程中, 若发生微型网络日志系统客户端不支持富媒体信息格式的情况, 则允许客户端 用户选择富媒体信息播放器对该富媒体信息进行显示。
通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借助软件 加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更佳的 实施方式。 基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分 可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指 令用以使得一台终端设备 (可以是手机, 个人计算机, 服务器, 或者网络设备等) 执行本 发明各个实施例所述的方法。
请参见图 9, 处理模块 503在基于微博的富媒体导出时, 具体包括:
消息列表管理子模块 5031, 用于显示当前消息列表, 当检测到用户对当前消息列表进 行筛选操作时, 向微博服务器端发送分类筛选指令, 接收所述微博服务器端返回的所述当
前消息列表中可供筛选的富媒体类型, 并显示所述可供筛选的富媒体类型。
具体实现中,用户使用注册的用户账户和密码, 通过微博终端的 IM客户端登录到微博 服务器端进行验证, 验证成功后, 微博终端与微博服务器端之间建立连接通道, 所述微博 终端通过接入服务器接入到所述微博服务器端, 所述微博终端通过定时向所述微博服务器 端发送心跳包的形式保证与所述微博服务器端之间的连接。 所述微博终端可以显示用户的 微博主页、 热门广播、 广播大厅或同城广播等消息列表, 所述消息列表管理子模块 5031, 用于根据用户对显示内容的选择, 显示当前消息列表, 比如: 若用户选择查看微博主页, 所述消息列表管理子模块 5031将用户账户和主页标识进行封装, 形成主页请求消息并发送 至微博服务器端, 微博服务器端接收到所述主页请求消息后, 根据用户账户查询该用户的 所有收听人的账户, 并通过查询到的收听人的账户获取该收听人发表的消息索引 ID, 按照 时间顺序排列各个消息索引 ID, 形成消息索引 ID 列表并返回给所述消息列表管理子模块 5031; 所述消息列表管理子模块 5031接收到所述消息索引 ID列表后, 将该消息索引 ID列 表进行封装, 形成消息体请求消息并发送至微博服务器端, 微博服务器端接收到索引 ID列 表后, 根据该消息索引 ID列表查询对应的消息体, 并将查询到的消息体分包返回给所述消 息列表管理子模块 5031, 所述消息列表管理子模块 5031解析所述消息体, 将其与之前接收 到的消息索引 ID列表一一对应, 并通过每个消息的 Item控件形成主页消息列表, 将该主 页消息列表展示给用户。
本发明实施例中, 所述微博终端为用户提供搜索栏, 用户可在搜索栏中对当前消息列 表进行筛选操作, 请一并参见图 6, 为本发明的微博终端对消息列表的显示示意图; 如图 6 所示, 用户在微博终端提供的搜索栏中输入 "筛选"关键字, 即实现了用户对所述当前消 息列表的筛选操作。 所述消息列表管理子模块 5031检测到用户的上述筛选操作时, 向微博 服务器端发送分类筛选指令, 并接收所述微博服务器端返回的当前消息列表中可供筛选的 富媒体类型, 将所述可供筛选的富媒体类型展示给所述用户, 其中, 所述富媒体类型包括 但不限于: 图片类型、 音乐类型和视频类型中的至少一种。 图 6虚线框所示部分即为所述 消息列表管理子模块 5031显示的当前消息列表中可供筛选的富媒体类型; 需要说明的是, 所述可供筛选的富媒体类型为当前消息列表包括的富媒体类型, 如前述, 当前消息列表为 主页消息列表, 若主页消息列表中包括: 图片类型的消息、 音乐类型的消息和视频类型的 消息, 则此时主页消息列表中可供筛选的富媒体类型包括: 图片类型、 音乐类型和视频类 型。
可以理解的是, 由于微博消息包括文本消息和富媒体消息, 二者均可以为用户原创的 消息, 也可以为用户转播的消息, 所述消息列表管理子模块 5031还可以在分类显示可供筛 选的富媒体类型时, 一并显示文本类型; 也可以在分类显示可供筛选的富媒体类型时一并 显示其原创或转播的属性, 上述情况下可类似分析, 在此不赘述。 另外, 微博终端提供的 搜索栏为用户进行筛选操作提供了一个快捷通道, 这种方式利用了现有的微博终端的搜索 栏功能, 与现有的搜索过程类似, 但此方式仅为举例, 其他情况下, 比如: 微博终端还可 以在界面上增设一个筛选快捷键, 用户点击该筛选快捷键, 则可完成对当前消息列表的筛 选操作; 再如: 微博终端还可以为用户提供一个菜单, 该菜单中包括筛选快捷方式, 用户 可通过该筛选快捷方式完成对当前消息列表的筛选操作, 等等, 上述其他情况下可进行类 似分析, 在此不赘述。
消息筛选管理子模块 5032, 用于当所述用户在所述消息列表管理子模块 5031显示的 所述可供筛选的富媒体类型中选择任一种富媒体类型时, 向所述微博服务器端发送消息获 取指令, 接收所述微博服务器端返回的所述当前消息列表中的所有所选择的富媒体类型的 消息, 并显示所选择的富媒体类型的消息列表。
具体实现中, 依上述例子, 所述消息列表管理子模块 5031显示图 6虚线框所示的主页 消息列表中可供筛选的富媒体类型, 用户可选择其中任一富媒体类型, 所述消息筛选管理 子模块 5032检测用户选择了何种富媒体类型, 若所述消息筛选管理子模块 5032检测到用 户选择了图片类型, 则向所述微博服务器端发送消息获取指令, 接收所述微博服务器端返 回的主页消息列表中所有图片类型的消息, 并显示图片类型的消息列表。
富媒体导出子模块 5033, 用于当检测到所述用户对所述消息筛选管理子模块 5032显 示的所选择的富媒体类型的消息列表进行导出操作时, 向所述微博服务器端发送导出请求 消息, 接收所述微博服务器端返回的富媒体导出地址, 并根据所述富媒体导出地址下载所 选择的富媒体类型的消息列表中的富媒体。
具体实现中, 所述微博终端为用户提供导出接口, 该导出接口可以为导出按键, 也可 以为导出菜单, 用户通过点击该导出按键或点击导出菜单中的导出项, 可实现对当前显示 的所选择的富媒体类型的消息列表进行导出操作。 依上述例子, 所述消息筛选管理子模块 5032显示所选择的图片类型的消息列表,若所述富媒体导出子模块 5033检测到所述用户对 所选择的图片类型的消息列表进行导出操作, 则向所述微博服务器端发送导出请求消息, 接收所述微博服务器端返回的图片导出地址, 并根据所述图片导出地址下载出图片导出包,
下载的图片导出包被存储于微博终端的指定位置中, 下载完成后, 所述富媒体导出子模块
5033可以提示用户进行查看,用户也可主动到微博终端的指定位置对图片导出包进行查看、 编辑和处理等操作。
本发明实施例中, 用户仅需要通过微博终端进行简单操作, 即可实现消息列表中的富 媒体类型的消息的筛选、 列表显示及打包导出, 使微博功能更为丰富, 使微博消息中的富 媒体信息得以充分利用, 同时使用户对微博的使用更加便捷。
为了更清楚的说明本发明,下面将对本发明的上述微博终端中的各模块进行详细介绍。 请参见图 10, 为本发明的微博终端的消息列表管理模块的实施例的结构示意图; 所述 消息列表管理子模块 5031包括:
列表提供单元 11, 用于显示当前消息列表;
具体实现中, 所述微博终端可以显示用户的微博主页、 热门广播、 广播大厅或同城广 播等消息列表, 所述列表提供单元 11, 用于根据用户对显示内容的选择, 显示当前消息列 表, 比如: 若用户选择查看微博主页, 所述列表提供单元 11则将该用户的主页消息列表展 示给所述用户。
指令封装单元 12, 用于当检测到用户对所述列表提供单元 11提供的当前消息列表进 行筛选操作时, 对所述当前消息列表的消息索引 ID列表进行封装, 生成分类筛选指令; 如前述,用户通过图 6所示的方式对所述列表提供单元 11提供的主页消息列表进行筛 选操作。 所述指令封装单元 12检测到用户的上述筛选操作时, 将所述主页消息列表的消息 索引 ID列表进行封装, 生成分类筛选指令, 此处, 所述指令封装单元 12的封装过程与现 有技术中消息的封装过程类似, 在此不赘述。
收发单元 13, 用于将所述指令封装单元 12生成的分类筛选指令发送至微博服务器端, 并接收所述微博服务器端返回的所述当前消息列表中可供筛选的富媒体类型;
分类显示单元 14, 用于显示所述收发单元 13接收的所述可供筛选的富媒体类型; 具 体实现中, 所述可供筛选的富媒体类型为当前消息列表包括的富媒体类型, 如前述, 当前 消息列表为主页消息列表, 若主页消息列表中包括: 图片类型的消息、 音乐类型的消息和 视频类型的消息, 则此时主页消息列表中可供筛选的富媒体类型包括: 图片类型、 音乐类 型和视频类型。
下面将对所述消息列表管理子模块 5031中各单元的工作原理进行详细介绍。
如前述, 若所述列表提供单元 11确认用户选择查看微博主页, 所述指令封装单元 12
则对用户账户和主页标识进行封装, 形成主页请求消息, 并交由所述收发单元 13发送至微 博服务器端, 微博服务器端接收到所述主页请求消息后, 根据用户账户查询该用户的所有 收听人的账户, 并通过查询到的收听人的账户获取该收听人发表的消息索引 ID, 按照时间 顺序排列各个消息索引 ID, 形成消息索引 ID列表并返回给所述收发单元 13; 所述指令封 装单元 12对接收到的该消息索引 ID列表进行封装, 形成消息体请求消息, 并交由所述收 发单元 13发送至微博服务器端, 微博服务器端接收到索引 ID列表后, 根据该消息索引 ID 列表查询对应的消息体, 并将查询到的消息体分包返回给所述收发单元 13; 所述列表提供 单元 11解析接收到的所述消息体, 将其与之前接收到的消息索引 ID列表一一对应, 并通 过每个消息的 Item控件形成主页消息列表, 将该主页消息列表展示给所述用户。
用户通过图 6所示的方式对所述列表提供单元 11提供的主页消息列表的筛选操作, 所 述指令封装单元 12对所述主页消息列表的消息索引 ID列表进行封装为分类筛选指令, 交 由所述收发单元 13发送至所述微博服务器端, 所述微博服务器端根据所述分类筛选指令中 的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应的消息体, 分析各消 息索引 ID对应的消息体, 确定所述主页消息列表中各消息的消息类型, 然后向所述收发单 元 13返回主页消息列表中可供筛选的富媒体类型; 所述分类显示单元 14则将所述收发单 元 13接收的当前主页消息列表中可供筛选的富媒体类型展示给所述用户。
本发明实施例中, 用户仅需要通过微博终端进行简单操作, 即可实现消息列表中的富 媒体类型的消息的筛选, 使微博功能更为丰富, 使微博消息中的富媒体信息得以充分利用, 同时使用户对微博的使用更加便捷。
请参见图 11, 为本发明的微博终端的消息筛选管理模块的实施例的结构示意图; 所述 消息筛选子模块 5032包括:
消息封装单元 21,用于当检测到所述用户在所述消息列表管理子模块 5031显示的所述 可供筛选的富媒体类型中选择任一种富媒体类型时, 对所述当前消息列表的消息索引 ID列 表与所选择的富媒体类型的标识进行封装, 生成消息获取指令;
收发单元 22,用于将所述消息封装单元 21生成的所述消息获取指令发送至所述微博服 务器端, 并接收所述微博服务器端返回的所述当前消息列表中的所有所选择的富媒体类型 的消息索引 ID列表和消息体;
消息显示单元 23, 用于根据所述收发单元 22 接收的所选择的富媒体类型的消息索引 ID列表和消息体创建所选择的富媒体类型的消息列表, 并显示所选择的富媒体类型的消息
列表。
下面将对所述消息筛选管理子模块 5032中各单元的工作原理进行详细介绍。
依上述例子, 当用户在图 6所示的可供筛选的富媒体类型中选择了图片类型后, 所述 消息封装单元 21对所述主页消息列表的消息索引 ID列表与图片类型的标识进行封装, 生 成消息获取指令, 交由所述收发单元 22发送至所述微博服务器端, 所述微博服务器端根据 所述消息获取指令中的消息索引 ID列表, 拉取所述消息索引 ID列表中各消息索引 ID对应 的消息体; 根据所述消息获取指令中的图片类型的标识, 从拉取到的消息体中查询出包含 所述标识的消息体, 并根据查询出的消息体更新所述消息获取指令中的消息索引 ID列表; 具体地, 所述消息索引 ID列表的更新过程为: 所述服务器端解析查询出的消息体, 将其对 应的消息索引 ID从接收到的消息索引 ID列表中提取出, 将提取得到的所有消息索引 ID按 时间顺序处理为新的消息索引 ID列表。 所述服务器端将更新后的消息索引 ID列表, 以及 查询出的消息体一并返回给所述收发单元 22;所述消息显示单元 23解析接收到的所述消息 体和更新后的消息索引 ID列表, 将二者一一对应, 并通过每个消息的 Item控件形成图片 类型的消息列表展示给所述用户。
本发明实施例中, 用户仅需要通过微博终端进行简单操作, 即可实现消息列表中的富 媒体类型的消息的列表显示, 使微博功能更为丰富, 使微博消息中的富媒体信息得以充分 利用, 同时使用户对微博的使用更加便捷。
请参见图 12, 为本发明的微博终端的富媒体导出模块的实施例的结构示意图; 所述富 媒体导出子模块 5033包括- 导出封装单元 31, 用于当检测到所述用户对所述消息筛选管理子模块 5032展示的所 选择的富媒体类型的消息列表进行导出操作时, 对所选择的富媒体类型的消息列表的消息 索引 ID列表进行封装, 生成导出请求消息;
收发单元 32, 用于将所述导出封装单元 31生成的所述导出请求消息发送至所述微博 服务器端, 并接收所述微博服务器端返回的富媒体导出地址;
HTTP下载单元 33, 用于根据所述收发单元 32接收的所述富媒体导出地址下载所选择 的富媒体类型的消息列表中的所有富媒体。
下面将对所述富媒体导出子模块 5033中各单元的工作原理进行详细介绍。
依上述例子, 当用户利用微博终端提供的导出接口对主页消息列表中的图片类型的消 息列表进行导出操作时, 所述导出封装单元 31 对所述图片类型的消息列表的消息索引 ID
列表进行封装, 生成导出请求消息, 并交由所述收发单元 32发送至所述微博服务器端, 所 述微博服务器端根据所述导出请求消息中的消息索引 ID列表, 拉取所述消息索引 ID列表 中各消息索引 ID对应的消息体, 解析所述拉取的消息体中包含的图片 URL地址, 由于微博 消息中的图片均存储于微博服务器端的图片服务器中, 所述微博服务器端根据解析得到的 图片 URL地址, 从图片服务器中下载出图片 URL地址对应的所有图片, 并对所有图片进行 压缩、 打包处理, 形成图片导出包并存储, 将所述图片导出包的存储地址作为图片导出地 址发送至所述收发单元 32;所述 HTTP下载单元 33根据所述收发单元 32接收的所述图片导 出地址下载图片导出包。
需要说明的是, 若用户选择的富媒体类型为音乐或视频, 由于微博消息中的音乐或视 频并不进行实际的存储, 因此, 所述微博服务器端在解析出音乐 URL地址或视频 URL地址 后, 直接对解析得到的音乐 URL地址或视频 URL地址进行压缩、 打包处理, 得到音乐导出 地址或视频导出地址发送至所述收发单元 32, 所述 HTTP下载单元 33根据所述收发单元 32 接收的所述音乐导出地址或视频导出地址中所有的 URL地址, 到对应的站点下载音乐或视 频。
可以理解的是, 本实施例中采用 HTTP 下载方式仅为举例, 其还可以采用 FTP (File
Transfer Protocol , 文本传输协议) 方式或采用其他下载工具进行下载, 其他情况下可类 似分析, 在此不赘述。
本发明实施例中, 用户仅需要通过微博终端进行简单操作, 即可实现消息列表中的富 媒体类型的消息的打包导出, 使微博功能更为丰富, 使微博消息中的富媒体信息得以充分 利用, 同时使用户对微博的使用更加便捷。 以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人员来 说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应视 本发明的保护范围。