本发明的主要目的是提出一种具有SNS功能的移动Widget引擎架构,该架构是对原始移动Widget引擎的扩展,使得依赖于移动Widget引擎运行的各种移动Widget应用具备SNS的属性,在根本上解决了在移动互联网环境下轻量级移动应用的SNS化,在移动互联网环境下以提供和承载丰富的移动社交网络服务,同时由于在移动终端底层增加了SNS相关的固有能力,所以也减少了应用开发者的开发工作量,简化了MSNS应用的开发过程,增强了开发者体验。
根据本发明的一方面,提出一种实现具有SNS功能的移动Widget引擎的方法,包括以下步骤:在移动Widget门户实体选择需要添加的移动Widget应用后,将要添加移动Widget应用的
请求发送给本地移动Widget管理控件;本地移动Widget管理控件获取要添加移动Widget应用的用户信息,并将要添加移动Widget应用的用户信息和请求发送给服务端;服务端对
数据库进行更新,在数据库中记录要添加的移动Widget应用以及要添加移动Widget应用的用户信息,完成移动Widget应用以及用户的注册过程。
进一步,还包括自动登录过程,具体为:启动已加载的移动Widget应用时,由移动Widget应用自动向本地移动Widget管理控件发送登录请求;本地移动Widget管理控件获取启动移动Widget应用的用户信息,并将启动移动Widget应用的用户信息和登录请求发送给服务端;服务端根据用户信息获取到移动Widget应用的注册信息,认为移动Widget应用已完成自动登录过程,在数据库中记录为已登录。
本发明在注册以及之后的登录过程中,通过读取并解析移动Widget引擎本地配置文件获取用户信息,并根据该用户信息进行注册以及登录过程。因此,只需要根据用户信息,即唯一帐号就可以实现自动注册和自动登录。操作简单、方便。
进一步,还包括监听的过程,具体为:移动Widget门户实体向本地移动Widget管理控件发送订阅好友动态信息的请求;本地移动Widget管理控件获取要订阅好友动态信息的用户信息,并将订阅好友动态信息的用户信息和请求发送给服务端;服务端根据用户信息获取好友列表,在监测到列表中好友产生新动态时,将动态信息以及好友信息推送给本地移动Widget管理控件,并呈现在移动Widget门户实体。
本发明实现了用户动态信息,包括事件和状态的自动发布和自动广播的能力。在移动Widget引擎中采用动态信息监听控制,从而实现服务端将用户好友的更新信息迅速推送至客户端,以适应SNS中对状态信息实时性和自动化的要求。
进一步,将订阅好友动态信息的用户信息和请求发送给服务端的操作,包括以下步骤:本地移动Widget管理控件通过HTTP协议长连接或者Socket监听技术与服务端建立连接,将订阅好友动态信息的用户信息和请求发送给服务端,好友动态信息包括事件信息以及状态信息,状态信息为在线或离线。本发明实现了主动推送动态信息的方法。
根据本发明的另一方面,还提出一种实现具有SNS功能的移动Widget引擎的系统,其中:移动Widget门户实体,提供添加移动Widget应用的界面;移动Widget应用,将要添加移动Widget应用的请求发送给本地移动Widget管理控件;本地移动Widget管理控件包括:Widget管理模
块,接收要添加移动Widget应用的请求;MSNS管理实体,获取要添加移动Widget应用的用户信息,并通过定义的
接口将要添加移动Widget应用的用户信息和请求发送给服务端;服务端包括:社交网络
基础服务模块,通知数据库进行更新;数据库,记录要添加移动Widget应用以及要添加移动Widget应用的用户信息,完成移动Widget应用以及用户的注册过程。
进一步,MSNS管理实体在接收到登录请求时,获取启动移动Widget应用的用户信息,并将启动移动Widget应用的用户信息和登录请求发送给社交网络基础服务模块;社交网络基础服务模块根据用户信息从数据库获取到移动Widget应用的注册信息,认为移动Widget应用已完成自动登录过程,并通知数据库记录为已登录。
进一步,还包括设置在本地移动Widget管理控件的HTTP服务请求转发实体、动态广播信息监听实体,以及设置在服务端的实时信息推送模块,其中:HTTP服务请求转发实体,从MSNS管理实体接收到订阅好友动态信息的用户信息以及请求,并转发给动态广播信息监听实体,以及将动态信息以及好友信息发送给Widget管理模块;动态广播信息监听实体,与实时信息推送模块建立连接,并将动态信息以及好友信息发送给HTTP服务请求转发实体;实时信息推送模块,根据用户信息获取好友列表,向数据库发送数据监测通知,在监测到列表中好友产生新动态时,从数据库获取动态信息,将动态信息以及好友信息推送给动态广播信息监听实体。
进一步,动态广播信息监听实体通过HTTP协议长连接或者Socket监听技术与实时信息推送模块建立连接,好友动态信息包括事件信息以及状态信息,所述状态信息为在线或离线。
根据本发明的另一方面,还提出一种实现具有SNS功能的移动Widget引擎的服务端,包括:社交网络基础服务模块,从本地移动Widget管理控件接收到要添加移动Widget应用的用户信息和注册请求时,通知数据库进行更新;数据库,记录要添加移动Widget应用以及要添加移动Widget应用的用户信息,完成移动Widget应用以及用户的注册过程。
进一步,还包括:实时信息推送模块,从本地移动Widget管理控件接收到订阅好友动态信息的用户信息以及请求,根据用户信息获取好友列表,向数据库发送数据监测通知,在监测到列表中好友产生新动态时,从数据库获取动态信息,将动态信息以及好友信息推送给本地移动Widget管理控件。
本发明公开提出了一种具有SNS(Social Network Service,社交网络服务)功能的移动Widget引擎架构,该架构是对原始移动Widget引擎的扩展,在移动Widget引擎中扩展了相关的模块和交互接口用以使得移动Widget引擎具备下述通用能力:1)用户安装任意移动Widget应用之后都可利用唯一账号完成对该应用的自动注册和自动登录;2)用户动态信息,包括事件和状态自动发布和自动广播的能力。通过上述能力的扩展,最终实现通过该引擎承载各种移动Widget应用,并将其SNS化,在移动互联网环境下可以提供和承载丰富的移动社交网络业务,并且减少了应用的开发工作量,增强了应用开发者的开发体验。
附图说明
图1是本发明的基于SNS功能的移动Widget引擎架构图。
图2是本发明的移动Widget应用和用户自动注册
流程图。
图3是本发明的移动Widget引擎启动流程图。
图4是本发明的用户自动登录移动Widget应用流程图。
图5是本发明的用户订阅好友事件及事件信息广播流程图。
图6是本发明的用户订阅好友状态及状态信息广播流程图。
本发明通过对原始移动Widget引擎进行扩展,增加本地移动Widget管理控件,实现对本地移动Widget的统一管理,使用户利用同一ID即可实现对本地所有移动Widget的管理和控制,从而实现利用唯一ID自动登陆注册本地所有的移动Widget;利用实时信息推送功能,实时监听用户的行为动态,将用户的行为信息自动在
服务器端和客户端进行传送,实现自动广播好友状态的功能。
为了达到上述目的,本发明提供一种基于SNS的移动Widget引擎架构,包括:
首先,定义需要在原始移动Widget引擎中扩展的SNS能力:
1.用户安装移动Widget应用的同时完成在服务端的应用程序自动注册;
2.用户加载任意一个移动Widget应用后,只需要统一的ID自动登录该应用;
3.事件信息广播:1)客户端自动发布用户最新动态信息;2)服务端自动向用户好友推送该用户的最新动态信息;
4.用户状态信息广播:1)客户端启动Widget引擎后自动发布上线(Online)状态,关闭引擎后自动发布下线(Offline)状态;2)服务端自动向用户好友推送该用户的最新状态(Online/Offline)信息。
其次,在原始的移动Widget引擎中扩展相应的SNS功能实体:
现有的移动Widget引擎是基于标准的浏览器引擎进行的扩展,其核心除了基本的浏览器引擎之外还包含:1)浏览器引擎的扩展模块,主要是为了支持对移动终端能力和资源的调用和访问;2)Widget管理模块,主要是管理Widget的浏览、下载、安装、运行、卸载;3)Widget运行环境,主要是管理Widget的运行、认证及呈现
渲染;4)浏览器
用户界面,主要管理浏览器和移动Widget应用的用户界面控制;5)对于某些Widget引擎还包含对手机底层接口的适配封装层,以适配不同的手机操作系统。
基于这样的移动Widget引擎架构,若需要扩展SNS相关的能力,需要对现有的移动Widget引擎架构进行如下的扩展,请参考图1:
1.定义移动Widget门户实体
是一个位于移动Widget引擎之上的移动Widget应用程序,其主要功能是作为移动Widget应用的门户,负责管理对移动Widget应用浏览、安装、运行、卸载等操作的前端界面,同时负责订阅、呈现好友动态以及好友状态等这样的社交信息。另外作为门户,该移动Widget门户实体也能控制移动Widget引擎的启动和关闭,完成用户在该引擎平台上的自动注册与登录。
2.定义MSNS管理实体
作为Widget管理模块的扩展,其主要完成以下几个功能:
将用户安装、卸载、运行某个移动Widget应用的信息通过该MSNS管理实体中定义的接口以HTTP请求的方式发送到服务端,完成在数据库中的记录。
读取和解析某个移动Widget应用配置文件以及移动Widget引擎本地配置文件,调用MSNS管理实体定义的接口,完成该移动应用程序的用户自动登录。
读取和解析移动Widget引擎本地配置文件,调用MSNS管理实体定义的接口,完成移动Widget引擎和移动Widget门户实体的用户自动登录。
该MSNS管理实体中的接口定义:
接口名称 输入参数 输出参数 交互对象 接口说明 AppRegister (appid,userid) appid: 应用程序id userid: 用户id success: 成功 failure: 失败 社交网络基础服务 模块 移动Widget应用 程序和用户的自动 注册 UserLogin (userid,appid) userid: 用户id appid: 应用程序id success: 成功 failure: 失败 社交网络基础服务 模块 移动Widget应用 的用户自动登录 EngineLogin (userid) userid: 用户id success: 成功 failure: 失败 社交网络基础服务 模块 移动Widget引擎 的用户自动登录 SubscribePrese nce (userid) userid: 用户id 好友状态 信息列表 HTTP服务请求转 发实体+动态广播 信息监听实体 订阅好友状态信息 SubscribeBroa dcast (userid) Userid: 用户id 好友广播 信息列表 HTTP服务请求转 发实体+动态广播 信息监听实体 订阅好友动态信息
3.定义HTTP服务请求转发实体
该HTTP服务请求转发实体为移动Widget引擎的扩展模块之一,在浏览器本地实现某些通信协议栈,主要是HTTP的协议栈,并在移动Widget引擎本地实现一个模拟的HTTP服务器环境,负责解析和发送HTTP请求,根据请求内容将请求分发到其它的相应扩展模块进行处理并向请求对象返回处理结果。
4.定义动态广播信息监听实体
该动态广播信息监听实体为移动Widget引擎的扩展模块之一,动态广播信息监听实体作为移动Widget引擎的HTTP长连接(Socket连接)客户端代理,负责移动Widget引擎与服务端的实时数据交互。动态广播信息监听实体与Web服务端建立HTTP长连接(Socket连接),监听Web服务端的状态变化,Web服务端可以实时地将数据主动推送到移动Widget引擎中,从而可以实现好友动态自动广播的功能。
5.定义Web服务端实体
Web服务端实体主要实现服务提供端与SNS相关的一些功能,比如,用户注册、登录、应用加载信息的管理、好友动态信息广播推送,并实现与移动Widget引擎的无缝连接和数据交互。其中,包含两个主要模块:
实时信息推送模块,实现服务端信息的主动推送,实现好友动态广播的功能,包括好友事件信息和状态信息。
社交网络基础服务模块,实现SNS服务提供端的基础功能,比如用户鉴权管理、好友管理、用户信息管理、应用加载信息管理等。
下面将结合附图具体说明,本发明定义的各个实体所执行的功能以及交互过程,以更清楚的理解本发明的工作原理。
实现具有SNS功能的移动Widget引擎的系统,可以实现移动Widget应用以及用户的注册过程,下面将说明各个模块的功能,具体流程将在下面结合图2进行详细说明。该系统包括:
移动Widget门户实体,提供添加移动Widget应用的界面。
移动Widget应用,将要添加移动Widget应用的请求发送给本地移动Widget管理控件。
本地移动Widget管理控件包括:Widget管理模块,接收要添加移动Widget应用的请求;MSNS管理实体,获取要添加移动Widget应用的用户信息,并通过定义的接口将要添加移动Widget应用的用户信息和请求发送给服务端。
服务端包括:社交网络基础服务模块,通知数据库进行更新;数据库,记录要添加移动Widget应用以及要添加移动Widget应用的用户信息,完成移动Widget应用以及用户的注册过程。
通过上述模块,本发明还可以实现移动Widget应用的登录过程。具体流程将在下面结合图4进行详细说明。
MSNS管理实体在接收到登录请求时,获取启动移动Widget应用的用户信息,并将启动移动Widget应用的用户信息和登录请求发送给社交网络基础服务模块;社交网络基础服务模块根据用户信息从数据库获取到移动Widget应用的注册信息,认为移动Widget应用已完成自动登录过程,并通知数据库记录为已登录。
本发明还可以实现监听过程。具体流程将在下面结合图5、图6进行详细说明。此时,本系统在本地移动Widget管理控件设置HTTP服务请求转发实体、动态广播信息监听实体,以及在服务端设置实时信息推送模块,其中:
HTTP服务请求转发实体,从MSNS管理实体接收到订阅好友动态信息的用户信息以及请求,并转发给动态广播信息监听实体,以及将动态信息以及好友信息发送给Widget管理模块。
动态广播信息监听实体,与实时信息推送模块建立连接,并将动态信息以及好友信息发送给HTTP服务请求转发实体。动态广播信息监听实体通过HTTP协议长连接或者Socket监听技术与实时信息推送模块建立连接,好友动态信息包括事件信息以及状态信息,所述状态信息为在线或离线。
实时信息推送模块,根据用户信息获取好友列表,向数据库发送数据监测通知,在监测到列表中好友产生新动态时,从数据库获取动态信息,将动态信息以及好友信息推送给动态广播信息监听实体。
图2是本发明移动Widget应用和用户自动注册流程图,描述了当用户加载一个新的移动Widget应用后,该Widget应用在服务端数据库上的自动加载并完成用户对该Widget应用的注册过程。其中,移动Widget应用指用户当前新加载的具体的移动Widget应用,移动Widget门户实体、Widget管理模块、MSNS管理实体、Web服务端实体和数据库分别对应图1中的具
体模块。
下面结合图2详细描述移动Widget应用和用户在平台上的加载注册过程:
1)当用户加载新的移动Widget应用后,首先向Widget管理模块发送AppInstall请求,表示客户端新添加了一个Widget组件;
2)Widget管理模块收到AppInstall请求后,向MSNS管理实体发送请求ParseConfigFile,MSNS管理实体收到请求后首先读取并解析该移动Widget应用配置文件中的参数Appid和isMSNSApp,若参数isMSNSApp为TRUE,则表示该应用是MSNS应用,然后读取并解析移动Widget引擎本地配置文件,获取用户信息(Userid)并继续进行后续操作3);若判断为FALSE,则认为该应用不是MSNS应用,不进行后续MSNS应用注册过程,直接启动;
3)MSNS管理实体验证配置文件后,通过扩展接口向Web服务端社交网络基础服务模块发送“Http请求:AppRegister(userid,appid)”命令,表明客户端新添加了一个MSNS移动Widget应用;
4)步骤3)后,社交网络基础服务模块向数据库发送请求OperateDB,表示数据库需要更新;
5)数据库操作完成后,向社交网络基础服务模块返回结果result;
6)社交网络基础服务模块收到结果后,对result进行鉴权认证,若认证成功,则继续后续步骤7);若认证失败,则提示错误信息;
7)在经社交网络基础服务模块认证并表明认证通过后,向MSNS管理实体发送认证成功信息OK,通知MSNS管理实体该App已注册成功,同时向数据库发送请求RecordEvent,在数据库中记录该注册事件以用于好友实时动态广播;
8)MSNS管理实体向Widget管理模块发送移动Widget应用和相应用户注册成功信息success,通知Widget管理模块该移动Widget应用和该用户均在平台上注册成功。
9)Widget管理模块向移动Widget门户实体发送注册成功信息success,移动Widget应用和相应用户的注册完成。
图3是本发明的移动Widget引擎启动流程图,描述了当用户启动移动Widget引擎(如用户开机,则认为自动运行移动Widget引擎;或者当启动移动Widget门户实体时,启动Widget引擎)后,该移动Widget引擎的启动流程,移动Widget引擎启动后用户的状态由不在线(Offline)变为在线(Online)。其中移动Widget门户实体、Widget管理模块、MSNS管理实体、Web服务端实体和数据库分别对应图1中的具体模块。
下面结合图3详细描述用户的移动Widget引擎中的启动流程:
1)用户User在打开移动设备或者启动移动Widget门户实体后,Widget管理模块收到移动Widget引擎启动的请求消息StartEngine;
2)Widget管理模块向MSNS管理实体发送ParseCongfigFile消息,通知MSNS管理实体读取移动Widget引擎本地配置文件;
3)MSNS管理实体接收Widget管理模块发送的消息,读取并解析移动Widget引擎本地配置文件,从配置文件中读取已经预设的用户信息(Userid);
4)获取Userid之后,MSNS管理实体通过扩展接口向Web服务端的社交网络基础服务模块发送“Http请求:EngineLogin(userid)”命令,表明用户名为Userid的用户在客户端启动了移动Widget引擎;
5)社交网络基础服务模块收到请求命令后,向数据库发送查询请求Operate DB,获取该用户的移动Widget引擎已注册过的信息;
6)数据库向社交网络基础服务模块端返回结果result,即该用户的移动Widget引擎是否已注册过的信息;
7)社交网络基础服务模块收到后,对result进行鉴权认证,若认证成功,则继续后续步骤8);若认证失败,则提示错误信息;
8)在经社交网络基础服务模块认证并表明认证通过后,向MSNS管理实体发送认证成功信息OK,通知MSNS管理实体该移动Widget引擎已在服务端通过认证并可成功启动,同时向数据库发送请求UpdatePresence和RecordEvent,在数据库中更新用户状态为在线(Online)以及记录该登录事件以用于好友实时动态广播;
9)MSNS管理实体向Widget管理模块发送引擎启动成功信息success;
10)Widget管理模块向移动Widget门户实体发送登录成功信息success,并在界面上显示成功登录的信息,移动Widget引擎登录启动完成。
图4是本发明的用户自动登录移动Widget应用流程图,描述了当用户启动某一个已注册过的Widget应用后,该应用在平台上的启动登录流程。其中移动Widget应用指已经在平台上注册过的移动Widget应用,Widget管理模块、MSNS管理实体、Widget运行环境、Web服务端实体和数据库分别对应图1中的具体模块。
下面结合图4详细描述当用户启动某一个已注册过的Widget应用后,该应用在平台上的启动登录流程:
1)当用户启动一个移动Widget应用时,自动向Widget管理模块发送Login消息,通知Widget管理模块用户已经启动一个移动Widget应用;
2)Widget管理模块收到Login信息后,向MSNS管理实体发送ParseConfigFile消息,表明客户端启动了一个移动Widget应用;
3)MSNS管理实体收到Widget管理模块发送的请求信息后,首先读取并解析所要启动的移动Widget应用配置文件中的参数Appid和isMSNSApp,若参数isMSNSApp为TRUE,则表示该应用是MSNS应用,然后读取并解析移动Widget引擎本地配置文件,获取用户信息(Userid)并继续进行后续操作4);若判断为FALSE,则认为该应用不是MSNS应用,不进行后续MSNS应用登录过程,直接启动;
4)MSNS管理实体通过扩展接口向Web服务端的社交网络基础服务模块发送“Http请求:UserLogin(userid,appid)”命令,表明用户名为Userid的用户在客户端启动了一个新的MSNS移动Widget应用,应用名称为Appid;
5)社交网络基础服务模块收到请求命令后,向数据库发送查询请求Operate DB,获取该用户注册过该移动Widget应用的注册信息;
6)数据库向社交网络基础服务模块返回结果result,即该用户是否注册过该移动Widget应用的注册信息;
7)社交网络基础服务模块收到返回结果后,对result进行认证鉴权认证,若认证成功,则继续后续步骤8);若认证失败,则提示错误信息;
8)在经社交网络基础服务模块认证并表明认证通过后,向MSNS管理实体发送认证成功信息OK,通知MSNS管理实体该移动Widget应用是用户已经注册过的应用并已在服务端成功登录,同时向数据库发送请求RecordEvent,在数据库中记录该登录事件以用于好友实时动态广播;
9)MSNS管理实体向Widget管理模块发送用户登录该移动Widget应用成功信息success;
10该用户完成该移动Widget应用的登录。
11)用户登录完成后,Widget管理模块向Widget运行环境发送请求startWidget,请求开始运行该移动Widget应用;
12)Widget运行环境接收到请求后,进行运行环境中的本地鉴权认证,以判断是否可以运行该应用;若验证通过,则继续步骤13);若验证失败,则发送提示失败信息;
13)Widget运行环境验证成功后,向Widget管理模块发送该应用可以运行的消息(okToRun),表明可以在Widget运行环境中进行该应用的运行;
14)Widget管理模块收到该应用可以运行消息(okToRun)后,选择(selectWidget)相应的移动Widget应用,程序启动。
图5是本发明的用户订阅好友事件及事件信息广播流程图,描述了用户订阅好友的事件广播信息流程以及当用户好友产生某种广播事件行为时,系统自动向广播对象发送该用户事件信息的流程。其中移动Widget门户实体、Widget管理模块、MSNS管理实体、HTTP服务请求转发实体、动态广播信息监听实体、Web服务端实体和数据库分别对应图1中的具体模块。
下面结合图5详细描述用户订阅好友动态广播信息流程以及当用户好友产生某种广播事件行为时,系统自动向广播对象发送该用户事件信息流程:
第一步:用户订阅好友的事件广播信息流程
1)默认当启动移动Widget门户实体后就开始订阅好友事件广播信息,这时由移动Widget门户实体向Widget管理模块发送启动信息start,通知Widget管理模块订阅好友事件广播信息;
2)Widget管理模块向MSNS管理实体发送消息ParseConfigFile,通知MSNS管理实体读取移动Widget引擎本地配置文件中的用户信息;
3)MSNS管理实体读取移动Widget引擎本地配置文件中的用户信息(Userid);
4)MSNS管理实体获得Userid后,向HTTP服务请求转发实体发送“Http请求:SubscribeBroadcast(userid)”命令,订阅用户为userid的所有好友的事件信息;
5)HTTP服务请求转发实体向动态广播信息监听实体分发请求;
6)动态广播信息监听实体收到转发后同Web服务端的实时信息推送模块建立HTTP长连接或者Socket连接,以监听服务端的状态;
7)实时信息推送模块根据userid向数据库发送请求获取好友列表(Friend List);
8)根据好友列表信息(Friend List),实时信息推送模块向数据库发送数据监测通知(Detect DB),实时监测数据库中的好友动态信息,当好友产生新的广播事件时,进行步骤9);
第二步:当用户好友产生某种广播事件行为时,系统自动向广播对象发送该用户事件信息的流程
9)若8)中好友产生新的广播事件,实时信息推送模块从数据库中获取最新的广播信息;
10)实时信息推送模块将需广播的事件信息和好友列表中的好友信息推送(Push broadcast message)给动态广播信息监听实体;
12)动态广播信息监听实体将广播的事件信息发送(Broadcastmessage)给HTTP服务请求转发实体;
13)HTTP服务请求转发实体将广播的事件信息发送(Broadcastmessage)给Widget管理模块;
14)Widget管理模块将广播的事件信息发送(Broadcastmessage)给移动Widget门户实体,通知用户订阅的好友产生了新的事件信息,并将新的好友事件信息呈现在界面中。
图6是本发明的用户订阅好友状态及状态信息广播流程图,描述了用户订阅好友状态广播信息流程,以及当用户的状态信息发生改变时(online/offline),系统自动向广播对象发送该用户状态信息的流程。其中移动Widget门户实体、Widget管理功能、MSNS管理实体、HTTP服务请求转发实体、动态广播信息监听实体、Web服务端实体和数据库分别对应图1中的具体模块。
下面结合图6详细描述用户订阅好友状态信息流程:
第一步:用户订阅好友的状态信息流程
1)默认当启动移动Widget门户实体后就开始订阅好友状态广播信息,这时由移动Widget门户实体向Widget管理模块发送启动信息start,通知Widget管理模块订阅好友状态广播信息;
2)Widget管理模块向MSNS管理实体发送消息ParseConfigFile,通知MSNS管理实体读取移动Widget引擎本地配置文件中的用户信息;
3)MSNS管理实体读取移动Widget引擎本地配置文件中的用户信息(Userid);
4)MSNS管理实体获得Userid后,向HTTP服务请求转发实体发送“Http请求:SubscribeBroadcast(userid)”命令,订阅用户为userid所有好友的状态信息;
5)HTTP服务请求转发实体向动态广播信息监听实体分发请求;
6)动态广播信息监听实体收到转发后同Web服务端的实时信息推送模块建立HTTP长连接或者Socket连接,以监听服务端的状态;
7)实时信息推送模块根据userid向数据库发送请求获取好友列表(Friend List);
8)根据好友列表信息(Friend List),实时信息推送模块向数据库发送数据监测通知(Detect DB),实时监测数据库中的好友状态信息,当好友的状态变化(Online变为Offline或者Offline变为Online)时,进行步骤9);
第二步:当用户更新状态时(Online/Offline),系统自动向广播对象发送该用户事件信息的流程
9)若8)中好友的状态变化(Online变为Offline或者Offline变为Online)时,实时信息推送模块从数据库中获取最新的好友状态信息;
10)实时信息推送模块将需广播的好友状态信息和好友列表中的好友信息推送(Push broadcast message)给动态广播信息监听实体;
12)动态广播信息监听实体将广播的状态信息发送(Broadcastmessage)给HTTP服务请求转发实体;
13)HTTP服务请求转发实体将广播的状态信息发送(Broadcastmessage)给Widget管理模块;
14)Widget管理模块将广播的状态信息发送(Broadcastmessage)给移动Widget门户实体,通知用户订阅的好友状态变化,并将新的好友状态信息呈现在界面中。
上述说明只描述了在好友动态信息变化时,向订阅该好友动态信息的客户端推送动态信息的过程。当然,本发明还可以实现将客户端的动态信息推送给好友的过程,具体实现方式与上述流程类似,比如,对于事件信息广播:1)客户端自动发布用户最新动态信息;2)服务端自动向用户好友推送该用户的最新动态信息;对于用户状态信息广播:1)客户端启动Widget引擎后自动发布上线(Online)状态,关闭引擎后自动发布下线(Offline)状态;2)服务端自动向用户好友推送该用户的最新状态(Online/Offline)信息。
本发明提出了一种具有SNS功能的移动Widget引擎架构,该架构可以在终端平台侧实现SNS功能,以使移动Widget引擎成为具有SNS功能特性的移动Widget引擎。而通过本发明所提出的这种基于移动Widget引擎的扩展,能够达到方便开发的目的。应用开发者只用专注于开发具体的应用而不必关注SNS相关功能的实现,通过在移动Widget引擎中进行SNS功能的扩展,不仅使得任何的移动Widget应用都可以SNS化,也达到了提高实现和部署效率的目的,同时社交业务的相关数据不需通过具体的应用交互,通过该引擎进行交互即可,而基于这样的架构最终扩大了MSNS应用的
覆盖范围和适用范围。