具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明一个实施例提供的用于实现网络意图的方法的流程图,本实施例所示的方法为第一终端设备上侧的处理流程,该用于实现网络意图的方法包括:
步骤11、第一用户代理模块发送广播消息,该广播消息用于发现安装有用户代理模块的终端设备。其中,第一用户代理模块可为浏览器,安装在上述第一终端设备上。第一终端设备可以是网络节点设备、家庭网络中的即插即用(Universal Plug and Play,UPnP)设备等。
进一步,第一用户代理模块发送广播消息,可包括:第一用户代理模块在客户端网页的触发下发送广播消息,该广播消息可包括代理请求头域,该代理请求头域的值用于指示安装有用户代理模块的终端设备接收到该广播消息后返回应答消息。代理请求头域可以是新增的头域如在广播消息中扩展请求(Require)头域,当Require头域中的值为浏览器(browser)时,表示该广播消息是用来发现安装有用户代理模块的终端设备的。那么收到该广播消息的终端设备如果安装有用户代理模块,可以返回应答消息,以告知第一用户代理模块。
该客户端网页首先声明一个intent对象,包括实例化intent对象中的action,type,data。然后调用startActivity()触发intent事件,通知用户代理模块其需要处理的intent的类型(action.type)。本实施例中,Action=http://webintents.org/edit type=image/jpeg.表示:需要处理一个编辑图片的功能。
或者,进一步,第一用户代理模块发送广播消息,可包括:第一用户代理模块在服务网页处理网络意图对象的过程中,在客户端网页触发下发送广播消息。该广播消息具体可见上述说明。
客户端网页在触发用户代理模块发送广播消息后,会将intent数据发送到用户代理模块,其数据结构如下所示:
广播消息可以是基于简单服务发现协议(Simple Service Discovery Protocol,SSDP)的M-SEARCH广播消息。
步骤12、第一用户代理模块接收安装有用户代理模块的终端设备返回的应答消息,该应答消息为上述广播消息的应答消息,该应答消息中包含有返回上述应答消息的终端设备的用户代理模块信息。
应答消息也可以基于SSDP。该应答消息中也可设置一个头域,用来携带本终端设备中用户代理模块的信息如通信地址等。
步骤13、第一用户代理模块根据上述用户代理模块信息与第二用户代理模块建立通信连接,以实现网络意图;其中,该第二用户代理模块为上述安装有用户代理模块的终端设备中的一个终端设备上的用户代理模块。
返回第一用户代理模块的应答消息可能有多个,或者说可能有多个终端设备向第一用户代理模块返回应答消息,第一用户代理模块会与其中一个返回应答消息的终端设备上安装的用户代理模块建立通信连接。
进一步,当第一用户代理模块在客户端网页的触发下发送广播消息时,第一用户代理模块根据上述用户代理模块信息与第二用户代理模块建立通信连接之后,还包括:
第一用户代理模块通过该通信连接,将待处理的网络意图对象发送给上述第二用户代理模块,以使该第二用户代理模块根据该网络意图对象获取相应的网络应用程序,并使获取的网络应用程序对该网络意图对象中的数据进行处理;其中,该待处理的网络意图对象至少包括行为(action)、类型(type)和数据(data)。
进一步,第一用户代理模块通过上述通信连接,将待处理的网络意图对象发送给上述第二用户代理模块,可包括:
第一用户代理模块通过上述通信连接,将该待处理的网络意图对象及上述客户端网页的资源统一定位符(Uniform Resource Locator,URL),发送给上述第二用户代理模块,以使上述第二用户代理模块根据该URL启动上述客户端网页后,将该网络意图对象中的数据发送给上述获取的网络应用程序进行处理。
进一步,第一用户代理模块通过上述通信连接,将待处理的网络意图对象发送给上述第二用户代理模块之前,还可包括:
第一用户代理模块创建上述客户端网页的镜像。
进一步,第一用户代理模块通过上述通信连接,将待处理的网络意图对象发送给上述第二用户代理模块,包括:
第一用户代理模块通过上述通信连接,将待处理的网络意图对象及上述客户端网页的镜像发送给上述第二用户代理模块,以使上述第二用户代理模块加载上述客户端网页的镜像后,将该网络意图对象中的数据发送给上述获取的网络应用程序进行处理。
进一步,第一用户代理模块通过所述通信连接,将待处理的网络意图对象发送给上述第二用户代理模块之后,还包括:
第一用户代理模块关闭上述客户端网页。
进一步,当第一用户代理模块在服务网页处理网络意图对象的过程中,在客户端网页触发下发送广播消息时,在客户端网页触发下发送广播消息之后,还可包括:
第一用户代理模块为该服务网页创建镜像;
第一用户代理模块通过上述通信连接,将创建的镜像发送到上述第二用户代理模块,以使上述第二用户代理模块加载该镜像。
进一步,所述第一用户代理模块通过通信连接,将创建的镜像发送到所述第二用户代理模块之后,还可包括:
第一用户代理模块向上述第二用户代理模块发送动作同步请求,以将上述第二用户代理模块上加载的镜像与第一用户代理模块上的服务网页绑定。
本实施例中,第一用户代理模块通过发现另一安装有用户代理模块的终端设备,并直接与第二用户代理模块之间建立通信连接,以此实现网络意图,简化了终端设备间实现网络意图的操作,提高了网络意图的处理效率。
图2为本发明另一个实施例提供的用于实现网络意图的方法的流程图,与图1所示方法相对应,本实施例提供的方法为第二终端设备侧的处理流程,第二终端设备可为网络节点、家庭网络中的UPnP设备等。该用于实现网络意图的方法包括:
步骤21、接收第一用户代理模块发送的第一广播消息,该第一广播消息用于发现安装有用户代理模块的终端设备。其中,第一广播消息具体详见图1中的广播消息的说明,第一用户代理模块具体详见图1中的说明。
步骤22、向第一用户代理模块返回上述第一广播消息的第一应答消息,该第一应答消息中包含有返回该第一应答消息的终端设备上的用户代理模块信息。第一应答消息详见图1中应答消息的说明。
步骤23、与第一用户代理模块之间建立通信连接,以实现网络意图。
进一步,与第一用户代理模块之间建立通信连接之后,还可包括:
通过上述通信连接,接收第一用户代理模块发送的待处理的网络意图对象;其中,该待处理的网络意图对象包括行为(action)、类型(type)和数据(data)等参数;
根据该action、type获取相应的网络应用程序;
将该data发送给一个获取的网络应用程序,以使该获取的网络应用程序对该data进行处理。
例如,第二用户代理模块根据收到的intent对象中的action、type参数去查询应用程序存储(app store),检查是否有适配的应用程序。如第二用户代理模块可以根据网络应用程序声明的action和type的值来确定其能提供的服务功能,以便提供给第二用户代理模块上加载的客户端网页(client page)进行选择。若第二用户代理模块检查到某一网络应用程序如下:
可获知该网络应用程序是一个可以编辑图片的web应用程序,如果正是处理data所需要的服务。
第二用户代理模块把检索到的网络(web)应用程序和已经在用户代理模块注册的符合条件的网络(web)应用程序,生成一个列表,供用户选择。用户代理模块把生成的列表如以网页的形式呈现给用户。用户在上述网页中选择一个web应用程序。第二用户代理模块得知用户选择的web应用程序之后,如果该应用程序在用户代理模块上面没有注册,先行把该应用程序注册在用户代理模块上,或者第二用户代理模块直接打开选定的web应用程序(即网页),并且传送需要处理的数据(intent.data)给选定的web应用程序。被选定的web应用程序处理第二用户代理模块传送过来的数据,并把处理结果传送给第二用户代理模块上加载的客户端网页。
进一步,获取的网络应用程序可为用户从所述相应的网络应用程序中选择的一个网络应用程序。
进一步,通过上述通信连接,接收第一用户代理模块发送的待处理的网络意图对象,可包括:
通过上述通信连接,接收第一用户代理模块发送的客户端网页的URL和待处理的网络意图对象;该客户端网页为触发第一用户代理模块发送上述第一广播消息的客户端网页。
进一步,通过上述通信连接,接收第一用户代理模块发送的客户端网页的URL和上述待处理的网络意图对象之后,还可包括:
根据该URL在第二用户代理模块上启动上述客户端网页,该第二用户代理模块为返回第一应答消息的终端设备(即第二终端设备)上的用户代理模块。
进一步,将上述data发送给一个获取的网络应用程序,以使该获取的网络应用程序对所述data进行处理之后,还可包括:
将处理结果返回给第一用户代理模块,以使第一用户代理模块将处理结果呈现给用户。
进一步,通过上述通信连接,接收第一用户代理模块发送的待处理的网络意图对象,可包括:
通过上述通信连接,接收第一用户代理模块发送的第一客户端网页的镜像和待处理的网络意图对象;该第一客户端网页为触发第一用户代理模块发送上述第一广播消息的客户端网页。
进一步,通过上述通信连接,接收第一用户代理模块发送的第一客户端网页的镜像和上述待处理的网络意图对象之后,还可包括:
加载该第一客户端网页的镜像。
进一步,将data发送给一个获取的网络应用程序,以使该获取的网络应用程序对该data进行处理之后,还可包括:
将处理结果发送给第二用户代理模块,以使该第二用户代理模块将处理结果呈现给用户,该第二用户代理模块为返回所述第一应答消息的终端设备(即第二终端设备)上的用户代理模块。
进一步,当接收的第一广播消息为第一用户代理模块在服务网页处理网络意图对象的过程中由客户端网页触发下发送的广播消息时,与第一用户代理模块之间建立通信连接之后,还可包括:
通过上述通信连接,接收第一用户代理模块发送的镜像,该镜像为第一用户代理模块为服务网页创建的镜像;
加载该镜像。
进一步,接收第一用户代理模块发送的镜像之后,还可包括:
接收第一用户代理模块发送的动作同步请求;
根据该动作同步请求,将加载的镜像与第一用户代理模块上的服务网页绑定。
进一步,第二终端设备安装的第二用户代理模块上,在用获取的网络应用程序对data进行处理的过程(此时获取的网络应用程序成为data的服务网页)中,本发明用于实现网络意图的方法还可包括:
在第二客户端网页的触发下发送第二广播消息,该第二广播消息用于发现安装有用户代理模块的终端设备;
接收安装有用户代理模块的终端设备返回的第二应答消息,该第二应答消息为第二广播消息的应答消息,该第二应答消息中包含有返回该第二应答消息的终端设备的用户代理模块信息;
根据第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接,以实现网络意图;其中,所述第三用户代理模块为返回第二应答消息的终端设备中的一个终端设备(即第三终端设备)上的用户代理模块。
也就是说,第二终端设备中,在服务网页处理data的过程中,用户也可选择第三终端设备对data进行处理,第二终端设备与第三终端设备之间的交互与第一终端设备与第二终端设备之间的交互类似。
进一步,根据第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接之后,还可包括:
为上述获取的网络应用程序的创建镜像;
通过第二通信连接,将上述获取的网络应用程序的镜像发送给第三用户代理模块,以使第三用户代理模块加载上述获取的网络应用程序的镜像。
进一步,通过第二通信连接,将上述镜像发送给第三用户代理模块之后,还可包括:
向第三用户代理模块发送动作同步请求,以将第三用户代理模块上加载的获取的网络应用程序的镜像与上述获取的网络应用程序绑定。
本实施例中,安装有用户代理模块的终端设备通过返回应答消息,使得第一用户代理模块发现了另一安装有用户代理模块的终端设备,并直接与第二用户代理模块之间建立通信连接,以此实现网络意图,简化了终端设备间实现网络意图的操作,提高了网络意图的处理效率。
图3为本发明另一实施例提供的用于实现网络意图的方法中发现安装有用户代理模块的终端设备的信令流程图。
本实施例中,第一用户代理模块为第一终端设备上的用户代理模块,第二用户代理模块为第二终端设备上的用户代理模块。同样,第一终端设备、第二终端设备均为Upnp设备,且支持网络意图机制。
参见图3,发现安装有用户代理模块的终端设备的过程包括:
步骤31、当第一终端设备中,客户端网页调用了startActivity()之后,支持UPnP功能的第一用户代理模块基于简单服务发现协议(Simple Service Discovery Protocol,SSDP)发送M-SEARCH广播消息:
M-SEARCH*HTTP/1.1
Host:239.255.255.250.1900
ST:urn:schemas-webintents-org:service:WebIntents:1
MAN:ssdp:discover
MX:3
Require:browser
Action:webintent.org.www.webintents.org/edit.
其中,对M-SEARCH消息进行了扩展,ST头域的值设定为urn:schemas-webintents-org:serice:WebIntents:1,表示UA需要支持web intent的UPnP设备提供服务。并且,扩展了Require头域,并设定其值为用户代理模块(browser),表明发送消息方需要一个安装有用户代理模块的终端设备。
步骤32、当第一用户代理模块发送了基于SSDP协议的M-SEARCH的广播消息之后,收到广播消息的第二终端设备由于安装了用户代理模块,因此返回应答消息:
HTTP/1.1200OK
ST:urn:schem as-webintents-org:service:WebIntents:1
CACHE-CONTROL:max-age=900
Require:browser
SERVER:uuid:67a89239-6ce9-4c6f-8527-aa457a481798::urn:schem as-webintens-org:service:webintents:1
Action.webintent.org.www.webintents.org/edit
LOCATION:http://192.168.1.1:4500
其中,ST头域复制了广播消息中的ST头域的内容,并且复制了广播消息中的Require头域,表示返回应答消息的终端设备(即第二终端设备)安装有用户代理模块。Location头域“http://192.168.1.1:4500”表明了用户代理模块通信的IP地址192.168.1.1和端口号4500。
由于第一用户代理模块发送的是广播消息,因而,家庭网络中安装有用户代理模块的终端设备都会返回应答消息给第一用户代理模块。这样,第一用户代理模块便发现了家庭网络中所有安装有用户代理模块的终端设备。当然,第一用户代理模块可以将所有安装有用户代理模块的终端设备都呈现给用户,以便用户从中选择一个,之后第一用户代理模块便与用户选择的终端设备中的用户代理模块建立通信连接,从而实现网络意图。
可选地,本实施例中,应答消息还提供了返回应答消息的终端设备所能提供的网络意图服务类型。如,应答消息中的“Action.webintent.org.www.webintents.org/edit”。这样,第一用户代理模块除了能够发现所有安装有用户代理模块的终端设备,还能够获知这些终端设备能够提供哪些网络意图服务,以便提供给用户,更便于用户选择终端设备。
本发明另一实施例与图3所示实施例类似,不同之处在于,第二终端设备返回的应答消息如下:
HTTP/1.1200OK
ST:urn:schem as-webintents-org:service:WebIntents:1
CACHE-CONTROL:max-age=900
Require:browser
SERVER:uuid:67a89239-6ce9-4c6f-8527-aa457a481798::urn:schem as-webintens-org:service:webintents:1
Action.webintent.org.www.webintents.org/edit
LOCATION:http://192.168.1.1:4500
Location.webintents.org:/webintents.html
其中,“LOCATION:http://192.168.1.1:4500”提供了网络意图文件(web intentdocument)“Location.webintents.org:/webintents.html”提供了网络意图文件的名称及该文件在http://192.168.1.1:4500中的路径即存放地址。其中,网络意图文件即用户代理模块信息文件,其形式和内容如下:
其中,在“Intent”标签中加入了用户代理模块的信息:用户代理模块的名称“chrome”、版本“21.0.0”、通信接口(IP+端口)“192.168.1.1:4501”。
图4为本发明另一实施例提供的用于实现网络意图的方法的信令流程图,本实施例中,第一用户代理模块为第一终端设备上的用户代理模块,第二用户代理模块为第二终端设备上的用户代理模块。同样,第一终端设备、第二终端设备均为Upnp设备,且支持网络意图机制。
参见图4,用于实现网络意图的方法包括:
步骤41、当第一用户代理模块中的client page触发了startactivity()时,说明该client page需要web intent服务。此时第一用户代理模块感知到client page调用了startactivity(),便发送广播消息--M-SEARCH消息。
步骤42、第二终端设备由于安装有第二用户代理模块,因此,收到广播消息之后,返回一个应答消息。该应答消息中包含有第二用户代理模块信息如通信地址、端口等。
步骤43、通过应答消息,第一用户代理模块能够取得第二终端设备上用户代理模块(即第二用户代理模块)的通信地址。并根据取得的通信地址与第二用户代理模块建立通信连接。其中,第二终端设备在返回应答消息的前后,启动第二用户代理模块。第一用户代理模块与第二用户代理模块之间可以建立基于网络插座(websocket)协议或可扩展标记语言超文本传输协议请求(XML Http Request,XHR)建立通信连接。其中,XML为可扩展标记语言(Extensible Markup Language),HTTP为超文本传输协议(Hypertext TransferProtocol)。
步骤44、第一用户代理模块通过通信连接,将网络意图对象及客户端网页的URL发送给第二用户代理模块网络意图对象包括action、type、data。
步骤45、第二用户代理模块收到第一用户代理模块发送的客户端网页的URL后,在后台加载并启动客户端网页。之后,找出能处理data的网络应用程序,生成一个网络应用程序列表,显示给用户,以使用户从网络应用程序列表中选择一个网络应用程序对data进行处理。第二用户代理模块可通过检索其网络应用程序存储(web application store)得到能处理data的网络应用程序。
经过用户的选择之后,第二用户代理模块加载用户选择的网络应用程序,并把data发送给上述加载的网络应用程序。
步骤46、加载的网络应用程序对data进行处理,该加载的网络应用程序成为data的服务应用程序。
步骤47、处理完成之后,上述服务应用程序调用postresult()或者postfailure(),将处理结果通知给第二用户代理模块。
步骤48、第二用户代理模块通过通信连接,将处理结果发送给第一用户代理模块。
步骤49、第一用户代理模块调用startactivity()中注册的回调函数,将处理结果展示给用户。当然,如果第二用户代理模块没有返回处理结果,则无本步骤的操作。
步骤410、第二用户代理模块关闭后台运行的客户端网页和服务应用程序。可选地,本步骤410可提前到步骤48的同时或之后执行。
图5为本发明另一实施例提供的用于实现网络意图的方法的信令流程图,本实施例中,第一用户代理模块为第一终端设备上的用户代理模块,第二用户代理模块为第二终端设备上的用户代理模块。同样,第一终端设备、第二终端设备均为Upnp设备,且支持网络意图机制。
参见图5,用于实现网络意图的方法包括:
步骤51、当第一用户代理模块中的客户端网页触发了startactivity()时,,说明该客户端网页需要网络意图服务。
步骤52、第一用户代理模块感知到客户端网页调用了startactivity()时,发送广播消息--M-SEARCH消息。
步骤53、第二终端设备由于安装有第二用户代理模块,因此,收到广播消息之后,返回一个应答消息。该应答消息中包含有第二用户代理模块信息如通信地址、端口等。
步骤54、通过应答消息,第一用户代理模块能够取得第二终端设备上用户代理模块(即第二用户代理模块)的通信地址。并根据取得的通信地址与第二用户代理模块建立通信连接。其中,第二终端设备在返回应答消息的前后,启动第二用户代理模块。本实施例中,第二终端设备在返回应答消息之后,启动第二用户代理模块。
步骤55、第一用户代理模块判定是否需要把网络意图处理流程转移到第二用户代理模块上。如果是,则执行步骤56。
步骤56、第一用户代理模块创建客户端网页的镜像,并把网络意图对象及创建的镜像发送给第二用户代理模块。
步骤57、第一用户代理模块结束第一用户代理模块中的网络意图处理流程。
步骤58、第二用户代理模块在后台加载客户端网页的镜像。
步骤59、第二用户代理模块查找出能处理网络意图对象中的data的网络应用程序,为用户提供一个网络应用程序列表(web application list)。当用户从网络应用程序列表中选择了某个网络应用程序之后,第二用户代理模块加载该网络应用程序,并将网络意图对象中的data(以下简称意图数据,即intent data)传送给该网络应用程序。本步骤可参见实施例二中的说明。
步骤510、加载的网络应用程序收到意图数据后,对意图数据进行处理。
步骤511、上述加载的网络应用程序对意图数据的处理结束后,调用postresult()或者postfailure(),把处理结果发送给第二用户代理模块。
步骤512、第二用户代理模块调用在startactivity()中注册的回调函数,把对意图数据的处理结果呈现给用户。
可选地,当加载的网络应用程序将处理结果发送给第二用户代理模块时,第二用户代理模块可关闭客户端网页镜像和加载的网络应用程序。第一用户代理模块可激活客户端网页。
图6为本发明另一实施例提供的用于实现网络意图的方法的信令流程图,本实施例中,第一用户代理模块为第一终端设备上的用户代理模块,第二用户代理模块为第二终端设备上的用户代理模块。同样,第一终端设备、第二终端设备均为Upnp设备,且支持网络意图机制。
与上述实施例不同的是,本实施例中,第一终端设备中的网络应用程序也对意图数据进行过处理。
参见图6,用于实现网络意图的方法包括:
步骤61、第一用户代理模块上运行的客户端网页触发了startactivity(),说明该客户端网页需要网络意图服务。
步骤62、第一用户代理模块为用户提供一个网络应用程序列表(web applicationlist),以供用户从网络应用程序列表中选择一个网络应用程序来处理客户端的意图数据。
步骤63、第一用户代理模块加载用户选的网络应用程序。
步骤64,第一用户代理模块将网络意图对象发送给加载的网络应用程序。该加载的网络应用程序接收第一用户代理模块发送的网络意图对象,并对网络意图对象中的data进行处理。此时,该加载的网络应用程序成为服务应用程序。
步骤65、在第一终端设备中的网络应用程序处理意图数据的过程中,如果用户想要更换到家庭网络设备上继续处理(例如,可能家庭网络设备的大屏幕更适合处理),则第一用户代理模块启动设备发现流程,之后与所选择的第二终端设备上的第二用户代理模块建立通信连接。其中,设备发现流程同上述实施例一~三中第一用户代理模块与第二用户代理模块建立连接的过程,这里不再赘述。
步骤66、第一用户代理模块为服务应用程序创建一个镜像。
步骤67、第一用户代理模块通过上述建立的通信连接,将创建的镜像发送给第二用户代理模块。
步骤68、第二用户代理模块接收第一用户代理模块发送的镜像,并加载。
步骤69、第一用户代理模块发送动作同步请求,则用户在第二用户代理模块上对intent数据的操作会实时的反应到第一用户代理模块上。
上述实施例所示的方法,通过发现家庭网络设备上运行的用户代理模块,并通过用户代理模块完成家庭网络内不同设备间的协作来实现web intent机制,解决了现有技术方案中UPnP设备需要对家庭网络设备做额外的处理的问题,有利于web intent机制在家庭网络内的应用推广。
图7为本发明另一实施例提供的用于实现网络意图的装置的结构示意图,本实施例所示的装置用于实现图1所示的方法,该用于实现网络意图的装置可为用户代理模块(如上述第一用户代理模块)、终端设备等,包括:广播模块71、应答接收模块72及连接模块73。
广播模块71用于发送广播消息,该广播消息用于发现安装有用户代理模块的终端设备。
应答接收模块72用于接收安装有用户代理模块的终端设备返回的应答消息,所述应答消息为所述广播消息的应答消息,所述应答消息中包含有返回所述应答消息的终端设备的用户代理模块信息。
连接模块73用于根据所述应答接收模块接收的应答消息中的用户代理模块信息与第二用户代理模块建立通信连接,以实现网络意图;其中,所述第二用户代理模块为所述安装有用户代理模块的终端设备中的一个终端设备上的用户代理模块。
进一步,所述广播模块71可包括:
第一广播子模块,用于在客户端网页的触发下发送广播消息,所述广播消息包括代理请求头域,所述代理请求头域的值用于指示安装有用户代理模块的终端设备接收到所述广播消息后返回应答消息。
进一步,用于实现网络意图的装置还可包括:
数据传输模块,用于在所述连接模块根据所述用户代理模块信息与第二用户代理模块建立通信连接之后,通过所述连接模块建立的通信连接,将待处理的网络意图对象发送给所述第二用户代理模块,以使所述第二用户代理模块根据所述网络意图对象获取相应的网络应用程序,并使获取的网络应用程序对所述网络意图对象中的数据进行处理;其中,所述待处理的网络意图对象至少包括行为action、类型type和所述数据data。
进一步,所述数据传输模块包括:
第一传输子模块,用于通过所述通信连接,将所述待处理的网络意图对象及所述客户端网页的资源统一定位符URL,发送给所述第二用户代理模块,以使所述第二用户代理模块根据所述URL启动所述客户端网页后,将所述网络意图对象中的数据发送给所述获取的网络应用程序进行处理。
进一步,用于实现网络意图的装置还可包括:
第一镜像创建模块,用于在所述数据传输模块通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块之前,创建所述客户端网页的镜像。
进一步,所述数据传输模块可包括:
第二传输子模块,用于通过所述通信连接,将所述待处理的网络意图对象及所述客户端网页的镜像发送给所述第二用户代理模块,以使所述第二用户代理模块加载所述客户端网页的镜像后,将所述网络意图对象中的数据发送给所述获取的网络应用程序进行处理。
进一步,用于实现网络意图的装置还可包括:
网页关闭模块,用于在所述数据传输模块通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块之后,关闭所述客户端网页。
进一步,所述广播模块71可包括:
第二广播子模块,用于在服务网页处理网络意图对象的过程中,在客户端网页触发下发送广播消息。
进一步,用于实现网络意图的装置还可包括:
第二镜像创建模块,用于所述第二广播子模块在客户端网页触发下发送广播消息之后,为所述服务网页创建镜像;
镜像发送模块,用于通过所述通信连接,将创建的镜像发送到所述第二用户代理模块,以使所述第二用户代理模块加载所述镜像。
进一步,用于实现网络意图的装置还可包括:
同步请求模块,用于在所述数据传输模块通过通信连接,将创建的镜像发送到所述第二用户代理模块之后,向所述第二用户代理模块发送动作同步请求,以将所述第二用户代理模块上加载的镜像与所述第一用户代理模块上的服务网页绑定。
本实施例中,用于实现网络意图的装置通过广播模块及应答接收模块发现另一安装有用户代理模块的终端设备,并通过连接模块直接与第二用户代理模块之间建立通信连接,以此实现网络意图,简化了终端设备间实现网络意图的操作,提高了网络意图的处理效率。
图8为本发明另一实施例提供的用于实现网络意图的装置的结构示意图,本实施例所示的装置用于实现图2所示的方法,该装置可为上述第二终端设备,包括:广播接收模块81、应答返回模块82及第一连接模块83。
广播接收模块81用于接收第一用户代理模块发送的第一广播消息,所述第一广播消息用于发现安装有用户代理模块的终端设备;
应答返回模块82用于向所述第一用户代理模块返回所述第一广播消息的第一应答消息,所述第一应答消息中包含有返回所述第一应答消息的终端设备上的用户代理模块信息;
第一连接模块83用于与所述第一用户代理模块之间建立通信连接,以实现网络意图。该第一连接模块83可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
数据接收模块,用于在所述第一连接模块83与所述第一用户代理模块之间建立通信连接之后,通过所述第一连接模块83建立的通信连接,接收所述第一用户代理模块发送的待处理的网络意图对象;其中,所述待处理的网络意图对象包括行为action、类型type和所述数据data;
应用程序获取模块,用于根据所述数据接收模块接收的action、type获取相应的网络应用程序;
数据发送模块,用于将所述数据接收模块接收的data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理。
其中,数据接收模块、应用程序获取模块及数据发送模块可通过终端设备中的用户代理模块实现。
进一步,所述应用程序获取模块获取的网络应用程序可为用户从所述相应的网络应用程序中选择的一个网络应用程序。
进一步,所述数据接收模块可包括:
第一接收子模块,用于通过所述通信连接,接收所述第一用户代理模块发送的客户端网页的资源统一定位符URL和所述待处理的网络意图对象;所述客户端网页为触发所述第一用户代理模块发送所述第一广播消息的客户端网页。
进一步,用于实现网络意图的装置还可包括:
网页启动模块,用于在所述第一接收子模块通过所述通信连接,接收所述第一用户代理模块发送的客户端网页的资源统一定位符URL和所述待处理的网络意图之后,根据所述URL在第二用户代理模块上启动所述客户端网页,所述第二用户代理模块为返回所述第一应答消息的终端设备上的用户代理模块。该网页启动模块可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
结果返回模块,用于在所述数据发送模块将所述data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理之后,将处理结果返回给所述第一用户代理模块,以使所述第一用户代理模块将所述处理结果呈现给用户。该结果返回模块可为所述获取的网络应用程序中的一个功能模块。
进一步,所述数据接收模块可包括:
第二接收子模块,用于通过所述第一连接模块建立的通信连接,接收所述第一用户代理模块发送的第一客户端网页的镜像和所述待处理的网络意图;所述第一客户端网页为触发所述第一用户代理模块发送所述第一广播消息的客户端网页。
进一步,用于实现网络意图的装置还可包括:
第一镜像加载模块,用于在所述第二接收子模块通过所述通信连接,接收所述第一用户代理模块发送的第一客户端网页的镜像和所述待处理的网络意图之后,加载所述第一客户端网页的镜像。该第一镜像加载模块可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
结果发送模块,用于在所述数据发送模块将所述data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理之后,将处理结果发送给第二用户代理模块,以使所述第二用户代理模块将所述处理结果呈现给用户,所述第二用户代理模块为返回所述第一应答消息的终端设备上的用户代理模块。该结果发送模块可为上述获取的网络应用程序中的功能模块,该获取的网络应用程序被用来对意图对象中的数据进行处理。
进一步,当所述第一接收模块接收的第一广播消息为所述第一用户代理模块在服务网页处理网络意图对象的过程中由客户端网页触发下发送的广播消息时,所述装置还包括:
镜像接收模块,用于通过所述第一连接模块建立的通信连接,接收所述第一用户代理模块发送的镜像,所述镜像为所述第一用户代理模块为所述服务网页创建的镜像;
第二镜像加载模块,用于加载所述镜像。
其中,镜像接收模块、第二镜像加载模块可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
请求接收模块,用于在所述镜像接收模块接收所述第一用户代理模块发送的镜像之后,接收所述第一用户代理模块发送的动作同步请求;
绑定模块,用于根据所述请求接收模块接收的动作同步请求,将加载的所述镜像与所述第一用户代理模块上的所述服务网页绑定。
进一步,所述装置还可包括:
第二广播模块,用于在所述获取的网络应用程序对所述data进行处理的过程中,在第二客户端网页的触发下发送第二广播消息,所述第二广播消息用于发现安装有用户代理模块的终端设备;
第二应答接收模块,用于接收安装有用户代理模块的终端设备返回的第二应答消息,所述第二应答消息为所述第二广播消息的应答消息,所述第二应答消息中包含有返回所述第二应答消息的终端设备的用户代理模块信息;
第二连接模块,用于根据所述第二应答接收模块接收的第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接,以实现网络意图;其中,所述第三用户代理模块为返回所述第二应答消息的终端设备中的一个终端设备上的用户代理模块。
其中,第二广播模块、第二应答接收模块及第二连接模块可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
镜像创建模块,用于在所述第二连接模块根据所述第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接之后,为所述获取的网络应用程序的创建镜像;
镜像发送模块,用于通过所述第二连接模块建立的第二通信连接,将所述获取的网络应用程序的镜像发送给所述第三用户代理模块,以使所述第三用户代理模块加载所述获取的网络应用程序的镜像。
其中,镜像创建模块、镜像发送模块可通过终端设备中的用户代理模块实现。
进一步,用于实现网络意图的装置还可包括:
同步请求模块,用于在所述镜像发送模块通过所述第二通信连接,将所述镜像发送给所述第三用户代理模块之后,向所述第三用户代理模块发送动作同步请求,以将所述第三用户代理模块上加载的获取的网络应用程序的镜像与所述获取的网络应用程序绑定。同步请求模块可通过终端设备中的用户代理模块实现。
本实施例中,用于实现网络意图的装置通过应答返回模块返回广播接收模块接收的广播消息的应答消息,使得第一用户代理模块发现了另一安装有用户代理模块的终端设备,并直接与第二用户代理模块之间建立通信连接,以此实现网络意图,简化了终端设备间实现网络意图的操作,提高了网络意图的处理效率。
本发明实施例还给出一种计算机程序产品,该计算机程序产品包括计算机可读介质,该可读介质包括第一组程序代码,用于执行上述图1所示方法中的步骤:
发送广播消息,所述广播消息用于发现安装有用户代理模块的终端设备;
接收安装有用户代理模块的终端设备返回的应答消息,所述应答消息为所述广播消息的应答消息,所述应答消息中包含有返回所述应答消息的终端设备的用户代理模块信息;
根据所述用户代理模块信息与第二用户代理模块建立通信连接,以实现网络意图;其中,所述第二用户代理模块为所述安装有用户代理模块的终端设备中的一个终端设备上的用户代理模块。
进一步,发送广播消息,包括:
在客户端网页的触发下发送广播消息,所述广播消息包括代理请求头域,所述代理请求头域的值用于指示安装有用户代理模块的终端设备接收到所述广播消息后返回应答消息。
进一步,根据所述用户代理模块信息与第二用户代理模块建立通信连接之后,还包括:
通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块,以使所述第二用户代理模块根据所述网络意图对象获取相应的网络应用程序,并使获取的网络应用程序对所述网络意图对象中的数据进行处理;其中,所述待处理的网络意图对象至少包括行为action、类型type和所述数据data。
进一步,通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块,包括:
通过所述通信连接,将所述待处理的网络意图对象及所述客户端网页的资源统一定位符URL,发送给所述第二用户代理模块,以使所述第二用户代理模块根据所述URL启动所述客户端网页后,将所述网络意图对象中的数据发送给所述获取的网络应用程序进行处理。
进一步,通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块之前,还包括:
创建所述客户端网页的镜像。
进一步,通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块,包括:
通过所述通信连接,将所述待处理的网络意图对象及所述客户端网页的镜像发送给所述第二用户代理模块,以使所述第二用户代理模块加载所述客户端网页的镜像后,将所述网络意图对象中的数据发送给所述获取的网络应用程序进行处理。
进一步,通过所述通信连接,将待处理的网络意图对象发送给所述第二用户代理模块之后,还包括:
关闭所述客户端网页。
进一步,发送广播消息,包括:
在服务网页处理网络意图对象的过程中,在客户端网页触发下发送广播消息。
进一步,在客户端网页触发下发送广播消息之后,还包括:
为所述服务网页创建镜像;
通过所述通信连接,将创建的镜像发送到所述第二用户代理模块,以使所述第二用户代理模块加载所述镜像。
进一步,通过通信连接,将创建的镜像发送到所述第二用户代理模块之后,还包括:
向所述第二用户代理模块发送动作同步请求,以将所述第二用户代理模块上加载的镜像与服务网页绑定。
另外,本发明实施例还给出另一种计算机程序产品,该计算机程序产品包括计算机可读介质,该可读介质包括第二组程序代码,用于执行上述图2所示方法中的步骤:
接收第一用户代理模块发送的第一广播消息,所述第一广播消息用于发现安装有用户代理模块的终端设备;
向所述第一用户代理模块返回所述第一广播消息的第一应答消息,所述第一应答消息中包含有返回所述第一应答消息的终端设备上的用户代理模块信息;
与所述第一用户代理模块之间建立通信连接,以实现网络意图。
进一步,与所述第一用户代理模块之间建立通信连接之后,还包括:
通过所述通信连接,接收所述第一用户代理模块发送的待处理的网络意图对象;其中,所述待处理的网络意图对象包括行为action、类型type和所述数据data;
根据所述action、type获取相应的网络应用程序;
将所述data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理。
进一步,所述获取的网络应用程序为用户从所述相应的网络应用程序中选择的一个网络应用程序。
进一步,通过所述通信连接,接收所述第一用户代理模块发送的待处理的网络意图对象,包括:
通过所述通信连接,接收所述第一用户代理模块发送的客户端网页的资源统一定位符URL和所述待处理的网络意图对象;所述客户端网页为触发所述第一用户代理模块发送所述第一广播消息的客户端网页。
进一步,通过所述通信连接,接收所述第一用户代理模块发送的客户端网页的资源统一定位符URL和所述待处理的网络意图对象之后,还包括:
根据所述URL在第二用户代理模块上启动所述客户端网页,所述第二用户代理模块为返回所述第一应答消息的终端设备上的用户代理模块。
进一步,将所述data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理之后,还包括:
将处理结果返回给所述第一用户代理模块,以使所述第一用户代理模块将所述处理结果呈现给用户。
进一步,通过所述通信连接,接收所述第一用户代理模块发送的待处理的网络意图对象,包括:
通过所述通信连接,接收所述第一用户代理模块发送的第一客户端网页的镜像和所述待处理的网络意图对象;所述第一客户端网页为触发所述第一用户代理模块发送所述第一广播消息的客户端网页。
进一步,通过所述通信连接,接收所述第一用户代理模块发送的第一客户端网页的镜像和所述待处理的网络意图对象之后,还包括:
加载所述第一客户端网页的镜像。
进一步,将所述data发送给一个获取的网络应用程序,以使所述获取的网络应用程序对所述data进行处理之后,还包括:
将处理结果发送给第二用户代理模块,以使所述第二用户代理模块将所述处理结果呈现给用户,所述第二用户代理模块为返回所述第一应答消息的终端设备上的用户代理模块。
进一步,当接收的第一广播消息为所述第一用户代理模块在服务网页处理网络意图对象的过程中由客户端网页触发下发送的广播消息时,与所述第一用户代理模块之间建立通信连接之后,还包括:
通过所述通信连接,接收所述第一用户代理模块发送的镜像,所述镜像为所述第一用户代理模块为所述服务网页创建的镜像;
加载所述镜像。
进一步,接收所述第一用户代理模块发送的镜像之后,还包括:
接收所述第一用户代理模块发送的动作同步请求;
根据所述动作同步请求,将加载的所述镜像与所述第一用户代理模块上的所述服务网页绑定。
进一步,在所述获取的网络应用程序对所述data进行处理的过程中,所述方法还包括:
在第二客户端网页的触发下发送第二广播消息,所述第二广播消息用于发现安装有用户代理模块的终端设备;
接收安装有用户代理模块的终端设备返回的第二应答消息,所述第二应答消息为所述第二广播消息的应答消息,所述第二应答消息中包含有返回所述第二应答消息的终端设备的用户代理模块信息;
根据所述第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接,以实现网络意图;其中,所述第三用户代理模块为返回所述第二应答消息的终端设备中的一个终端设备上的用户代理模块。
进一步,根据所述第二应答消息中的用户代理模块信息与第三用户代理模块建立第二通信连接之后,还包括:
为所述获取的网络应用程序的创建镜像;
通过所述第二通信连接,将所述获取的网络应用程序的镜像发送给所述第三用户代理模块,以使所述第三用户代理模块加载所述获取的网络应用程序的镜像。
进一步,通过所述第二通信连接,将所述镜像发送给所述第三用户代理模块之后,还包括:
向所述第三用户代理模块发送动作同步请求,以将所述第三用户代理模块上加载的获取的网络应用程序的镜像与所述获取的网络应用程序绑定。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。