发明内容
本发明实施例一方面提供了一种通信处理方法,另一方面提供了一种管理服务器,另一方面提供了一种终端,另一方面提供了一种XMPP服务器,以降低管理服务器在与多个终端进行通信时的网络负荷。
第一方面,一种通信处理方法,包括:
接收终端发送的终端信息;
根据所述终端信息,为所述终端分配组参数,以使所述终端通过向可扩展通讯和表示协议XMPP服务器发送携带所述组参数的消息加入组标识对应的终端组;所述组参数中包括所述组标识;
向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息。
在第一方面的第一种可能的实现方式中,所述向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息之后,所述方法还包括:
若所述第二通信消息包括连接请求,则接收所述每个终端根据所述第二通信消息发送的建立管理会话请求,与所述每个终端建立管理会话;或者
若所述第一通信消息包括操作命令,则接收所述每个终端执行所述操作命令后返回的响应消息。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述终端信息,为所述终端分配组参数,包括:根据所述终端信息和预置的组规则,为所述终端分配组参数;所述组规则包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述终端信息,为所述终端分配组参数之后,所述方法还包括:
向所述终端发送携带所述组参数的参数设置消息;或者,
向所述XMPP服务器发送携带所述组参数和所述终端设备标识的邀请消息,以使所述XMPP服务器将所述组参数发送给所述终端。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式中,在第四种可能的实现方式中,所述向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息之前,所述方法还包括:向所述XMPP服务器发送携带所述组标识的呈现消息,以使所述XMPP服务器根据所述组标识创建所述组标识对应的所述终端组。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述向所述XMPP服务器发送携带所述组标识的呈现消息之后,所述方法还包括:向所述XMPP服务器发送用于配置所述终端组的组信息的配置消息。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述组信息包括以下任意一项或多项:组类型、组权限和第一组密码;所述组类型用于表示所述终端组中的终端的通信方式,所述组权限用于表示对所述终端组中的终端的权限要求,所述第一组密码用于表示终端加入所述终端组时所需的密码。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
第二方面,一种通信处理方法,包括:
终端向管理服务器发送终端信息;
所述终端接收所述管理服务器根据所述终端信息为所述终端分配的组参数;
所述终端向可扩展通讯和表示协议XMPP服务器发送携带所述组参数的消息,以加入所述组参数中包括的组标识对应的终端组;
所述终端接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息;所述第一通信消息为所述XMPP服务器从所述管理服务器接收的。
在第二方面的第一种可能的实现方式中,所述终端接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,所述方法还包括:
若所述第二通信消息包括连接请求,则所述终端根据所述第二通信消息与所述管理服务器建立管理会话;或者
若所述第二通信消息包括操作命令,则所述终端执行所述第二通信消息中的操作命令。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述终端接收所述管理服务器根据所述终端信息为所述终端分配的组参数,包括:
所述终端接收所述管理服务器发送的携带所述组参数的参数设置消息,所述组参数为所述管理服务器根据所述终端信息为所述终端分配的;或者
所述终端接收所述XMPP服务器发送的携带所述组参数的邀请消息,所述组参数为所述管理服务器根据所述终端信息为所述终端分配并发送给所述XMPP服务器的。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述组标识用于唯一标识所述终端组;所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
第三方面,一种通信处理方法,包括:
接收管理服务器发送的携带组标识的第一通信消息;
根据所述组标识和从至少一个终端接收到的终端信息,查找与所述组标识相匹配的终端;其中,与所述组标识相匹配的终端为:所述终端的终端信息中包括与所述组标识相同的内容;
根据所述第一通信消息,向查找到的与所述组标识相匹配的每个终端发送所述第二通信消息。
在第三方面的第一种可能的实现方式中,所述组标识包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本、设备厂商标识。
第四方面,一种管理服务器,包括:
信息接收模块,用于接收终端发送的终端信息;
参数分配模块,用于根据所述信息接收模块接收的所述终端信息,为所述终端分配组参数,以使所述终端通过向可扩展通讯和表示协议XMPP服务器发送携带所述组参数的消息加入组标识对应的终端组;所述组参数中包括所述组标识;
第一消息发送模块,用于向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息。
在第四方面的第一种可能的实现方式中,管理服务器还包括:
第一会话建立模块,用于在所述第一消息发送模块发送所述第一通信消息之后,若所述第一通信消息包括连接请求,则接收所述每个终端根据所述第二通信消息发送的建立管理会话请求,与所述每个终端建立管理会话;和/或
响应接收模块,用于在所述第一消息发送模块发送所述第一通信消息之后,若所述第一通信消息包括操作命令,则接收所述每个终端执行所述操作命令后返回的响应消息。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述参数分配模块,具体用于根据所述终端信息和预置的组规则,为所述终端分配组参数;所述组规则包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式,在第三种可能的实现方式中,第一参数发送模块,用于在所述参数分配模块根据所述终端信息,为所述终端分配组参数之后,向所述终端发送携带所述组参数的参数设置消息,或者,向所述XMPP服务器发送携带所述组参数和所述终端的终端设备标识的邀请消息,以使所述XMPP服务器将所述组参数发送给所述终端。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式或第四方面的第三种可能的实现方式,在第四种可能的实现方式中,管理服务器还包括:标识发送模块,用于在所述第一消息发送模块向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息之前,向所述XMPP服务器发送携带所述组标识的呈现消息,以使所述XMPP服务器根据所述组标识创建所述组标识对应的所述终端组。
结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,管理服务器还包括:配置消息发送模块,用于在所述标识发送模块向所述XMPP服务器发送携带所述组标识的呈现消息之后,向所述XMPP服务器发送用于配置所述终端组的组信息的配置消息。
结合第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述组信息包括以下任意一项或多项:组类型、组权限和第一组密码;所述组类型用于表示所述终端组中的终端的通信方式,所述组权限用于表示对所述终端组中的终端的权限要求,所述第一组密码用于表示终端加入所述终端组时所需的密码。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能的实现方式,在第七种可能的实现方式中,所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
第五方面,一种终端,包括:
信息发送模块,用于向管理服务器发送终端信息;
参数接收模块,用于接收所述管理服务器根据所述信息发送模块发送的所述终端信息为所述终端分配的组参数,并将所述组参数发送给第二参数发送模块;
所述第二参数发送模块,用于向可扩展通讯和表示协议XMPP服务器发送携带所述参数接收模块接收的所述组参数的消息,以加入所述组参数中包括的组标识对应的终端组;
第一消息接收模块,用于接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息;所述第一通信消息为所述XMPP服务器从所述管理服务器接收的。
在第五方面的第一种可能的实现方式中,所述终端还包括:
第二会话建立模块,用于在所述第一消息接收模块接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,若所述第二通信消息包括连接请求,则根据所述第一消息接收模块接收的所述第二通信消息与所述管理服务器建立管理会话;和/或
命令执行模块,用于在所述第一消息接收模块接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,若所述第二通信消息包括操作命令,则执行所述第二通信消息中的操作命令。
结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述参数接收模块包括:第一接收单元和/或第二接收单元;
所述第一接收单元,用于接收所述管理服务器发送的携带所述组参数的参数设置消息,所述组参数为所述管理服务器根据所述信息发送模块发送的所述终端信息为所述终端分配的;所述第二接收单元,用于接收所述XMPP服务器发送的携带所述组参数的邀请消息,所述组参数为所述管理服务器根据所述终端信息为所述终端分配并发送给所述XMPP服务器的。
结合第五方面或第五方面的第一种可能的实现方式或第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述组标识用于唯一标识所述终端组;所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
结合第五方面或第五方面的第一种可能的实现方式或第五方面的第二种可能的实现方式,在第三种可能的实现方式中,
第六方面,一种XMPP服务器,包括:
第二消息接收模块,用于接收管理服务器发送的携带组标识的第一通信消息;
匹配模块,用于根据从至少一个终端接收到的终端信息和所述第二消息接收模块接收的所述组标识,查找与所述组标识相匹配的终端;其中,与所述组标识相匹配的终端为:所述终端的终端信息中包括与所述组标识相同的内容;
第二消息发送模块,用于根据所述第一通信消息,向查找到的与所述组标识相匹配的每个终端发送所述第二通信消息。
在第六方面的第一种可能的实现方式中,所述组标识包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本、设备厂商标识。
本发明实施例中,管理服务器根据终端发送的终端信息,为终端分配组参数,终端根据该组参数通过XMPP服务器加入组参数对应的终端组;终端加入终端组之后,在管理服务器需要与终端组中的每个终端进行通信时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当本发明实施例提及“第一”、“第二”等序数词时,除非根据上下文其确实表达顺序之意,应当理解为仅仅是起区分之用。
图1为本发明实施例的一种通信处理方法流程图,如图1所示,该方法包括:
步骤101、终端向管理服务器发送终端信息。
本发明实施例提供的通信处理方法可以是管理服务器与一个或多个终端进行通信的方法。其中,管理服务器例如可以为自动配置服务器(Auto-Configuration Server,简称ACS)或OMA-DM服务器(开放移动联盟,Open Mobile Alliance,简称OMA;设备管理,Device Management,简称DM)。终端例如可以为用户驻地设备(Customer PremisesEquipment,简称CPE)或OMA-DM网关,CPE例如可以为网关(Gateway)或网关下的其他设备,网关下的其他设备如机顶盒、VoIP(Voice over Internet Protocol)电话等;其中,VoIP是将模拟声音讯号数字化,以数据封包(Data Packet)的形式在IP数据网络(IP Network)上做实时传递。
终端向管理服务器发送该终端的终端信息,该终端信息至少可以包括以下任意一项或多项:产品类别(ProductClass)、设备位置信息(Location)、序列号(SerialNumber)、硬件版本(FirmwareVersion)、软件版本(SoftwareVersion)和设备厂商标识(OUI,organizationally unique identifier,组织唯一标示符)。其中,终端信息中包括的具体内容可以由应用环境而定,例如:在某一应用环境中,可以预先设置终端信息中包括上述哪几项内容。
步骤102、管理服务器接收终端发送的终端信息。
管理服务器可以获得终端的终端信息。若有多个终端向管理服务器发送终端信息,则管理服务器可以获得多个终端各自的终端信息。
步骤103、管理服务器根据终端信息,为终端分配组参数,以使所述终端通过向XMPP服务器发送携带组参数的消息加入组参数中包括的组标识对应的终端组;即所述组参数包括组标识。
本实施例中,管理服务器可以创建多个终端组,每个终端组可以用来包括某一类终端,所以管理服务器根据一个终端的终端信息,可以将该终端分配到相应的终端组中;管理服务器为终端分配组参数后,该终端可以向XMPP服务器发送携带组参数的消息,由此使得终端可以加入该组参数中的组标识对应的终端组中。
步骤104、终端接收管理服务器根据终端信息为所述终端分配的组参数。
管理服务器为每个终端分配一个组参数,分配的组参数可以由管理服务器直接发送给每个终端,也可以由管理服务器通过XMPP服务器发送给每个终端,还可以由其它方式输入给每个终端,例如由用户把组参数输入给终端。
步骤105、终端向XMPP服务器发送携带组参数的消息,以加入组参数中包括的组标识对应的终端组。
每个终端向XMPP服务器发送携带组参数的呈现消息之后,XMPP服务器可以将该终端加入到相应的终端组中,其中组参数中至少包括组标识。
需要说明的是,该终端组可以是XMPP服务器根据管理服务器的指示预先创建的。
步骤106、管理服务器向XMPP服务器发送携带终端组对应的组标识的第一通信消息,以使XMPP服务器根据第一通信消息向终端组中的每个终端发送第二通信消息。
管理服务器需要向同一个终端组中的多个终端发送通信消息时,可以向XMPP服务器发送携带该终端组的组标识的第一通信消息;XMPP服务器接收到第一通信消息后,可以向该终端组中的每个终端都发送第二通信消息。其中第一通信消息的目的地址为XMPP服务器的地址;XMPP服务器发送的第二通信消息为多个,即XMPP服务器向每个终端发送一个第二通信消息,向某个终端发送的第二通信消息的目的地址为该终端的地址;第一通信消息和第二通信消息的消息主体相同。
需要说明的是:步骤101-步骤105,是管理服务器在接收到某一个终端发送的终端信息时执行的步骤,若管理服务器接收到多个终端发送的终端信息,则管理服务器与每一个终端之间都执行步骤101-步骤105。对于某一个终端而言,若已被管理服务器分配组参数,并加入相应的终端组,那么管理服务器就可以在后续通过XMPP服务器发送多个第一通信消息;管理服务器在通过XMPP服务器发送第一个第一通信消息之前,需要执行步骤101-步骤105;但是,管理服务器在通过XMPP服务器发送第二个或第三个或更多个第一通信消息时,则可以不执行步骤101-步骤105。
此外,上述步骤101-步骤105,也不一定是步骤106的触发条件。也就是说,步骤101-步骤105是对管理服务器如何让终端加入终端组的描述,让终端加入终端组的目的是为了能够实现步骤106,而在具体实现过程中,步骤105之后可以不必然触发步骤106,步骤106的执行可以是由管理服务器决定的,当管理服务器有通信消息需要发送给终端组中的每个终端时,可以执行步骤106。
步骤107、终端组中的每个终端接收XMPP服务器根据携带终端组对应的组标识的第一通信消息发送的第二通信消息;第一通信消息为XMPP服务器从管理服务器接收的。
每个终端可以接收XMPP服务器发送的第二通信消息。终端在接收到第二通信消息后,可以根据第二通信消息的内容进行相应的操作。例如:第二通信消息中可以包括连接请求,或者可以包括操作命令;当第二通信消息中包括连接请求时,终端可以根据第二通信消息向管理服务器发送建立管理会话请求,管理服务器接收终端发送的建立管理会话请求后,向终端返回建立管理会话响应,此时终端与管理服务器之间的管理会话被建立;当第二通信消息中包括操作命令时,终端也可以在接收到第二通信消息后,执行第二通信消息中的操作命令,并向管理服务器返回响应。
本发明实施例,管理服务器根据终端发送的终端信息,为终端分配组参数,终端根据该组参数通过XMPP服务器加入组参数对应的终端组;终端加入终端组之后,在管理服务器需要与终端组中的每个终端进行通信时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图2为本发明实施例的另一种通信处理方法流程图,在图1所示实施例的基础上,如图2所示,该方法包括:
步骤201、终端向管理服务器发送终端信息。
终端在首次连接管理服务器或在恢复出厂设置时,可以向管理服务器发送终端信息。具体参见图1所示实施例中的步骤101中的描述。
步骤202、管理服务器接收终端发送的终端信息。
步骤203、管理服务器根据终端信息和预置的组规则,为终端分配组参数。
管理服务器为每个终端分配组参数时,具体可以根据终端信息和预置的组规则为终端分配组参数。其中,组规则可以包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。需要说明的是,在预置组规则时,可以根据具体应用环境中终端信息包括的内容而定,组规则中包括的内容需要包括在终端信息中;例如:若具体的应用环境中,终端信息中包括以下四项内容:产品类别、设备位置信息、序列号和硬件版本,则组规则中可以包括这四项内容中的任意一项或多项。
管理服务器可以将终端信息与组规则相匹配的终端分在该组规则对应的终端组,为该终端分配该终端的组参数。例如:终端组X的组规则为:产品类别为X;管理服务器从终端的终端信息中查找产品类别,将产品类别为X的终端分配在终端组X,并为该终端分配终端组X的组参数。
其中,组参数至少包括组标识,组标识用于唯一标识一个终端组。组参数中还可以包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。其中,终端可以根据组标识、第二组密码和组用户名加入终端组,终端可以在与管理服务器进行连接时使用组连接用户名和组连接密码进行验证。
步骤204、管理服务器向终端发送携带组参数的参数设置消息。
在为终端分配组参数后,管理服务器可以将该组参数发送给终端,具体的,管理服务器可以通过参数设置消息将组参数发送给终端。
步骤205、终端接收管理服务器发送的携带组参数的参数设置消息。
上述步骤204、步骤205,组参数是由管理服务器直接发送给终端的。在另一实施方式中,组参数也可以由管理服务器通过XMPP服务器发送给终端,此时,上述步骤204、步骤205可以由步骤204’、步骤205’替代。
步骤204’、管理服务器向XMPP服务器发送携带组参数和终端的终端设备标识的邀请消息,以使XMPP服务器将组参数发送给终端。
管理服务器向XMPP服务器发送携带组参数和终端的终端设备标识的邀请消息后,XMPP服务器根据该终端设备标识向终端发送携带组参数的邀请消息。
步骤205’、终端接收XMPP服务器发送的携带组参数的邀请消息。
步骤206、管理服务器向XMPP服务器发送携带组标识的呈现(presence)消息,以使XMPP服务器根据组标识创建组标识对应的终端组。
管理服务器向XMPP服务器发送携带组标识的呈现消息后,XMPP服务器可以根据组标识创建对应的终端组。其中,该呈现消息也可以为其他类型的消息。
步骤207、管理服务器向XMPP服务器发送用于配置终端组的组信息的配置消息,以配置终端组。
其中,组信息包括以下任意一项或多项:组类型、组权限和第一组密码;组类型用于表示终端组中的终端的通信方式,组权限用于表示对终端组中的终端的权限要求,第一组密码用于表示终端加入终端组时所需的密码。
本实施例并不限定步骤206和步骤207在上述各步骤中的执行顺序,例如步骤206和步骤207可以在上述步骤201-步骤205任一步骤之前或之后执行。
步骤208、终端向XMPP服务器发送携带组参数的呈现消息,以加入组参数中包括的组标识对应的终端组。
在管理服务器指示XMPP服务器创建终端组,且管理服务器为终端分配了组参数之后,终端可以通过向XMPP服务器发送携带组参数的呈现消息来加入终端组。其中,该呈现消息也可以为其他类型的消息。
步骤209、管理服务器向XMPP服务器发送携带终端组对应的组标识的第一通信消息,以使XMPP服务器根据第一通信消息向终端组中的每个终端发送第二通信消息。该步骤具体可以参见图1所示实施例中步骤106中的描述。
步骤210、终端组中的每个终端接收XMPP服务器根据从管理服务器接收到的第一通信消息发送的第二通信消息。
需要说明的是,管理服务器可以通过第二通信消息管理多个终端,也可以通过第二通信消息指示多个终端执行相应的操作。
在一具体实施方式中,若第二通信消息包括连接请求,即第二通信消息为连接请求消息,则步骤210之后执行以下步骤211和步骤212。
步骤211、终端组中的每个终端根据第二通信消息,向管理服务器发送建立管理会话请求,以建立每个终端与管理服务器之间的管理会话。
步骤212、管理服务器接收每个终端根据第二通信消息发送的建立管理会话请求,与每个终端建立管理会话。
管理服务器接收终端发送的建立管理会话请求后,向终端返回建立管理会话响应,此时管理会话被建立,实现了管理服务器通过第二通信消息管理多个终端。在管理服务器与多个终端建立管理会话后,管理服务器可以无需通过XMPP服务器而直接向每个终端发送操作命令,以使终端进行相应操作。
在另一具体实施方式中,第二通信消息还可以为其他类型的消息,例如:第二通信消息可以包括操作命令,如设置参数值(SetParameterValue)的命令、获取参数值的命令、设置参数属性的命令等。
当第二通信消息包括操作命令时,在上述步骤210之后可以执行以下步骤:终端执行第二通信消息中的操作命令,并向管理服务器返回响应消息;实现了管理服务器通过第二通信消息指示多个终端执行相应的操作。
本发明实施例,管理服务器根据组规则和终端发送的终端信息,为终端分配组参数,终端根据该组参数通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图3为本发明实施例的另一种通信处理方法流程图,如图3所示,该方法包括:
步骤301、XMPP服务器接收管理服务器发送的携带组标识的第一通信消息。
本发明实施例提供的通信处理方法是管理服务器与一个或多个终端进行通信的方法。其中,管理服务器例如可以为ACS。终端例如可以为CPE,CPE例如可以为网关(Gateway)以及网关下的其他设备,网关下的其他设备如机顶盒、VoIP电话等。
其中,该组标识可以包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。管理服务器可以根据需要预先设置组标识,例如:若管理服务器需要向某一种产品类别的终端进行通信,则可以将该产品类别作为组标识。管理服务器向XMPP发送携带组标识的第一通信消息。
步骤302、XMPP服务器接收至少一个终端发送的终端信息。
一个或多个终端在与XMPP服务器建立连接时,XMPP服务器可以接收到每个终端发送的终端信息。其中该终端信息中可以包括但不限于以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。其中,终端信息中包括的具体内容可以由应用环境而定。
需要说明的是,管理服务器在根据需要预先设置组标识时,还可以根据具体应用环境中终端信息包括的内容而定,组标识中包括的内容需要包括在终端信息中;例如:若具体的应用环境中,终端信息中包括以下四项内容:产品类别、设备位置信息、序列号和硬件版本,则组标识中可以包括这四项内容中的任意一项或多项。
本实施例并不限定步骤301和步骤302的先后顺序。
步骤303、XMPP服务器根据管理服务器发送的组标识和从至少一个终端接收到的终端信息,查找与组标识相匹配的终端。
具体的,与组标识相匹配的终端为:终端的终端信息中包括与组标识相同的内容。例如:若组标识中包括产品类别X1、设备位置信息X2,则XMPP服务器查找当前与该XMPP服务器建立连接的终端的终端信息,若某一终端的终端信息中包括产品类别X1和设备位置信息X2,则该终端为与该组标识相匹配的终端。
XMPP服务器从与该XMPP服务器建立连接的所有终端中,查找出所有与该组标识相匹配的终端。
步骤304、XMPP服务器根据管理服务器发送的第一通信消息,向查找到的与组标识相匹配的每个终端发送第二通信消息。
XMPP服务器可以向查找出的所有与该组标识相匹配的终端发送第二通信消息。其中第一通信消息的目的地址为XMPP服务器的地址,第二通信消息的目的地址为每个终端的地址,第一通信消息和第二通信消息的消息主体相同。
进一步的,该方法还可以包括:
步骤305、若第二通信消息包括连接请求,则终端根据第二通信消息与所述管理服务器建立管理会话;若第二通信消息包括操作命令,则终端执行第二通信消息中的操作命令。
终端接收到第二通信消息后,可以根据第二通信消息的类型执行相应的操作。例如:第二通信消息包括连接请求时,终端可以向管理服务器发送建立管理会话请求,管理服务器接收到该建立管理会话请求,与终端建立管理会话;或者,第二通信消息包括操作命令时,终端可以执行第二通信消息中的操作命令。
本发明实施例,在管理服务器需要与某一类终端进行通信时,管理服务器可以向XMPP服务器发送携带与该类终端对应的组标识的通信消息,XMPP服务器根据该组标识,可以查找到与该组标识匹配的多个终端,然后XMPP服务器向查找到的多个终端分别发送通信消息,以实现管理服务器与某一类的多个终端进行通信。由此,管理服务器在与多个终端建立通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以建立与多个终端的通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
本发明各实施例可以基于多种协议,例如可以基于XMPP扩展协议--XEP-0045(Multi-User Chat,多用户聊天);管理服务器例如为ACS或OMA-DM服务器,终端例如为CPE或OMA-DM网关。XMPP是基于XML的通信协议,广泛地应用在即时通信领域。XMPP协议主要包括两个实体:XMPP客户端和XMPP服务器,XMPP客户端之间的通信需要通过XMPP服务器进行转发。本发明各实施例中可以将管理服务器和终端作为XMPP客户端,管理服务器发送的通信请求通过XMPP服务器转发给终端。下面以图4和图5所示的实施例进行详细说明。图4和图5所示实施例中,以ACS和CPE为例进行说明。
图4为本发明实施例的一种通信处理方法信令图,基于图1和图2所示的实施例,如图4所示,该方法包括:
步骤401、ACS创建房间规则。
在XMPP扩展协议--XEP-0045中,多个用户可以通过房间交互信息。
本实施例中的房间和房间规则分别相当于图1和图2所示实施例中的终端组和组规则。ACS可以创建一个或多个房间规则,该房间规则例如可以包括以下任意一项或多项要素:产品类别(ProductClass)、设备位置信息(Location)、序列号(SerialNumber)、硬件版本(FirmwareVersion)、软件版本(SoftwareVersion)和组织唯一标示符(OUI,organizationally uniqueidentifier);其中,产品类别用于表示设备类型,设备位置信息用于标识设备所处的位置,OUI为设备厂商标识,用于表示设备厂商。
当房间规则包括某个或某几个要素时,表示将具备这些要素的终端加入到该房间规则对应的房间,一般一个房间规则对应一个房间。
步骤402、ACS向CPE发送用于请求CPE的终端信息的消息。
CPE首次连接ACS或者CPE恢复出厂设置时,CPE会向ACS发送连接消息,建立CPE与ACS之间的连接,此时ACS可以获取CPE的终端信息。当有多个CPE向ACS发送连接消息时,ACS可以向每个CPE请求终端信息。
其中,ACS可以根据应用环境向CPE获取该应用环境下的终端信息。或者,ACS可以根据房间规则中的要素,请求获取CPE的相应的终端信息。例如:若房间规则中包括序列号和硬件版本,则ACS可以向CPE请求获取CPE的序列号和硬件版本。
步骤403、CPE向ACS发送CPE请求的终端信息。
需要说明的是,本实施例并不限定步骤401和步骤402的先后顺序。即在另一实施方式中,ACS可以先获取CPE的终端信息,然后再创建房间规则。
步骤404、ACS基于房间规则和CPE的终端信息为CPE分配一个房间,并为CPE设置房间参数。
房间参数相当于图1和图2所示实施例中的组参数。
ACS将CPE的终端信息和房间规则相比较,为符合某一房间规则的CPE分配该房间规则对应的房间。为了使CPE后续能加入相应的房间,ACS要为CPE设置房间参数。
其中,房间参数例如可以包括但不限于:房间标识(RoomJID),房间密码(RoomPassword),用户名(NickName);进一步的,还可以包括:房间连接用户名(Room CR(Connection Request)Username),房间连接密码(Room CR(Connection Request)Password)。房间标识用于标识为该CPE分配的房间,房间密码和用户名为CPE加入该房间是所需的密码和用户名,若CPE加入房间时无需密码和用户名,则房间参数可以只包括房间标识。当ACS向CPE发送连接请求时,CPE可以使用房间连接用户名和房间连接密码进行验证ACS。房间标识、房间密码、用户名、房间连接用户名和房间连接密码分别相当于图1和图2所示实施例中的组标识、第二组密码、组用户名、组连接用户名和组连接密码。
步骤405、ACS向CPE发送携带房间参数的参数设置命令。
具体的,ACS可以通过参数设置命令将该房间参数设置到CPE数据模型中。
步骤406、ACS向XMPP服务器发送携带房间标识(Room JID)的呈现(Presence)消息,用于创建房间。
步骤407、XMPP服务器接收到ACS发送的呈现消息后,根据房间标识创建房间,并将ACS设置为房间拥有者。
步骤408、ACS获取房间的初始配置信息,然后将初始配置信息发送给XMPP服务器,以使XMPP服务器配置房间;
房间的初始配置信息包括但不限于以下任意一项或多项:房间类型、房间权限、房间登陆密码。房间的初始配置信息、房间类型、房间权限和房间登陆密码分别相当于图1和图2所示实施例中的组信息、组类型、组权限和第一组密码。
例如:ACS可以设置房间类型为moderated(被主持的房间)类型,该类型的房间中,只有具有说话权的用户发送的消息才会被房间转发;ACS可以通过设置房间权限,来设置是否限制加入房间的用户的权限;ACS还可以通过设置房间登陆密码,来设置用户的加入房间时是否需要密码以及所需的具体密码值。
步骤409、CPE向XMPP服务器发送携带房间参数的呈现消息,从而加入相应的加入房间。
每个CPE被分配房间参数后,可以加入相应的房间。
步骤410、ACS向XMPP服务器发送携带房间标识的连接请求。
在ACS创建并配置好房间后,ACS可以根据需要执行步骤410,例如当ACS需要与某个房间的CPE进行通信时,就执行步骤410。
步骤411、XMPP服务器将该连接请求转发给房间内的所有CPE。
ACS负责创建房间并为CPE分配房间,由于ACS是房间的创建者,拥护最高权限,所以ACS发送给房间的消息将会被XMPP服务器转发给房间中的每一个CPE,从而可以实现ACS与多个CPE的通信,例如实现ACS对多个CPE的批量管理。
步骤412、CPE收到XMPP服务器转发的连接请求后,向ACS发送建立管理会话请求。
其中,CPE可以通过组连接用户名/密码(Room CR(Connection Request)Username/Password)验证连接连接。
步骤413、ACS返回建立管理会话响应,与CPE建立管理会话。
在ACS与CPE建立管理会话后,ACS可以直接向每个CPE发送操作命令,指示CPE进行相应的操作。
需要说明的是,在另一实施方式中,可以将上述步骤410-步骤413替换为:
步骤410’、ACS向XMPP服务器发送携带房间标识和操作命令的通信消息。
步骤411’、XMPP服务器将该通信消息转发给房间内的所有CPE。
步骤412’、CPE收到XMPP服务器转发的该通信消息后,根据该操作命令执行相应的操作,并在执行所述操作命令后向ACS返回响应消息。
图4所示实施例中,ACS为CPE分配房间参数后,直接将该房间参数发送给CPE。在另一实施方式中,ACS在为CPE分配房间参数后,可以通过其它方式将该房间参数发送给CPE,具体通过图5所示实施例来描述。图5与图4所示实施例的区别在于:向CPE发送房间参数的不同。下面具体描述图5所示的实施例。
图5为本发明实施例的另一种通信处理方法信令图,基于图1和图2所示的实施例,如图5所示,该方法包括:
步骤501、ACS创建房间规则。
步骤502、ACS向CPE发送用于请求CPE的终端信息的消息。
步骤503、CPE向ACS发送CPE请求的终端信息。
步骤504、ACS基于房间规则和CPE的终端信息为CPE分配一个房间,并为CPE设置房间参数。
步骤505、ACS向XMPP服务器发送携带房间标识(Room JID)的呈现(Presence)消息,用于创建房间。
步骤506、XMPP服务器接收到ACS发送的呈现消息后,根据房间标识创建房间,并将ACS设置为房间拥有者。
步骤507、ACS获取房间的初始配置信息,然后将初始配置信息发送给XMPP服务器,以使XMPP服务器配置房间。
上述步骤501-步骤504,分别与图4所示实施例中的步骤401-步骤404相同;步骤505-步骤507分别与图4所示实施例中的步骤406-步骤408相同。
步骤508、ACS向XMPP服务器发送携带房间参数和CPE的终端设备标识(DeviceJID)的邀请消息。也就是说,ACS向房间发送包含终端设备标识的邀请消息。其中,ACS在向XMPP服务器发送的邀请消息中,要包括待通信的CPE的终端设备标识,由此XMPP服务器才能完成向CPE的转发。
针对每个CPE,ACS发送一条邀请消息。
步骤509、XMPP服务器将携带房间参数的邀请消息转发给终端设备标识对应的CPE。
其中,在步骤508、步骤509中,ACS可以发送间接邀请消息,也可以发送直接邀请消息。XMPP服务器接收到的间接邀请消息中,邀请消息目的地址指向房间,即目的地址可以为房间标识;XMPP服务器在向CPE转发邀请消息时,将邀请消息目的地址修改为指向CPE,然后进行转发。XMPP服务器接收到的直接邀请消息中,邀请消息目的地址直接指向CPE,即目的地址为CPE的终端设备标识;XMPP服务器转发该邀请消息。
步骤510、CPE向XMPP服务器发送携带房间参数的呈现消息,从而加入相应的加入房间。
步骤511、ACS向XMPP服务器发送携带房间标识的连接请求。
步骤512、XMPP服务器将该连接请求转发给房间内的其他所有CPE。
步骤513、CPE收到XMPP服务器转发的连接请求后,向ACS发送建立管理会话请求。
步骤514、XMPP服务器返回建立管理会话响应,与CPE建立管理会话。
上述步骤510-步骤514,分别与图4所示实施例中的步骤409-步骤413相同。
JID是XMPP协议中XMPP实体(XMPP客户端/XMPP服务器)的标识方式。XMPP服务器通过JID转发消息。本发明实施例可以扩展JID,使得JID不仅可以标识一个设备,也可以标识多个设备,相应地,XMPP服务器需要识别扩展后的JID。通过扩展JID,可以实现ACS与多个CPE之间的通信,下面通过图6所示实施例进行详细说明。
图6为本发明实施例的另一种通信处理方法信令图,基于图3所示的实施例,如图6所示,该方法包括:
步骤601、ACS建立组JID。
该组JID相当于图3所示实施例中的组标识。组JID可以包括但不限于以下信息:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。例如:在组JID的用户名(JID username)部分,可以包括M-Type两个部分,M指示JID是单个设备还是多个设备,Type是具体值,其值可以为产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识等中的一个或多个。其中,该M部分为可选的,可以默认为多个设备。
步骤602、ACS向XMPP服务器发送呈现消息,以与XMPP服务器建立连接。
步骤603、CPE向XMPP服务器发送携带该CPE的终端信息的呈现消息,以与XMPP服务器建立连接。
一个或多个CPE可以主动与XMPP服务器建立连接,此时XMPP服务器就可以获取到每个CPE的终端信息。
步骤604、ACS向XMPP服务器发送携带组JID的通信消息,例如为XMPP消息,该XMPP消息中可以携带ACS的连接请求,其中的连接请求指向组JID,或者该XMPP消息中可以携带操作命令,该操作命令指向组JID。
步骤605、XMPP服务器收到ACS发送的通信消息后,解析出组JID,并与已经和XMPP服务器建立连接的CPE的终端信息进行匹配。
组JID的格式可以为:M-Type,M可以表示JID是单个终端的标识还是终端组的标识,Type是具体值。例如:组JID为:M-Type(OUI-ProductClass),具体为:1-FFFFFF-Gateway,1表示该JID为组标识,FFFFFF-Gateway为具体值;某一CPE的终端信息为:Type(OUI-ProductClass-SerialNumber),具体为:FFFFFF-Gateway-123456,此时,组JID的Type部分和终端信息一致,则该CPE与该组JID匹配成功。
步骤606、XMPP服务器将该通信消息转发给所有匹配成功的CPE。
需要说明的是,CPE收到该通信消息后,可以根据该通信消息的类型执行相应的操作。
若该通信消息包括连接请求,则CPE收到该通信消息后,向ACS发送建立管理会话请求,ACS返回建立管理会话响应,与CPE建立管理会话。
若该通信消息包括操作命令,则CPE收到该通信消息后,执行该操作命令。
本发明各实施例,实现了基于XMPP协议的批量设备拉起,降低了ACS的负担以及ACS网络的负担。本发明各实施例中ACS只需要发送一条连接请求,由XMPP服务器完成向多个CPE的转发,从而实现了批量拉起设备的功能。本发明各实施例可以用于设备的批量管理,ACS发送给多个CPE的命令可以通过XMPP服务器转发到多个CPE,从而实现了批量管理设备的功能。
图7为本发明实施例的一种终端的结构示意图,如图7所示,该终端700包括:信息发送模块71、参数接收模块73、第二参数发送模块75和第一消息接收模块77。
终端700例如可以为CPE,CPE例如可以为网关(Gateway)或网关下的其他设备,网关下的其他设备如机顶盒、VoIP电话等。
信息发送模块71,用于向管理服务器发送终端信息。
参数接收模块73,用于接收所述管理服务器根据信息发送模块71发送的所述终端信息为所述终端分配的组参数,并将所述组参数发送给第二参数发送模块75。
第二参数发送模块75,用于向XMPP服务器发送携带参数接收模块73接收的所述组参数的消息,以加入所述组参数中包括的组标识对应的终端组。
第一消息接收模块77,用于接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息;所述第一通信消息为所述XMPP服务器从所述管理服务器接收的。
进一步的,在上述实施例的基础上,在另一实施方式中,参数接收模块73具体可以包括:第一接收单元731和/或第二接收单元733。
第一接收单元731,用于接收所述管理服务器发送的携带所述组参数的参数设置消息,并将所述组参数发送给第二参数发送模块75,所述组参数为所述管理服务器根据所述信息发送模块发送的所述终端信息为所述终端分配的。第二接收单元733,用于接收所述XMPP服务器发送的携带所述组参数的邀请消息,并将所述组参数发送给第二参数发送模块75,所述组参数为所述管理服务器根据所述终端信息为所述终端分配并发送给所述XMPP服务器的。
进一步的,在另一实施方式中,该终端700还可以包括:第二会话建立模块79和/或命令执行模块72。
第二会话建立模块79,用于在第一消息接收模块77接收所述XMPP服务器根据从所述管理服务器接收到的第一通信消息发送的第二通信消息之后,若第二通信消息包括连接请求,则根据所述第一消息接收模块接收的所述第二通信消息与所述管理服务器建立管理会话。
命令执行模块72,用于在第一消息接收模块77接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,若所述第二通信消息包括操作命令,则执行所述第二通信消息中的操作命令。
具体的,所述组标识可以用于唯一标识所述终端组;所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
本发明实施例提供的终端用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,终端根据管理服务器为终端分配的组参数,通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图8为本发明实施例的一种管理服务器的结构示意图,如图8所示,该管理服务器800包括:信息接收模块81、参数分配模块83和第一消息发送模块85。
信息接收模块81,用于接收终端发送的终端信息。
参数分配模块83,用于根据信息接收模块81接收的所述终端信息,为所述终端分配组参数,以使所述终端通过向XMPP服务器发送携带所述组参数的消息加入组标识对应的终端组;所述组参数中包括所述组标识。
第一消息发送模块85,用于向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息。
进一步的,在上述实施例的基础上,在另一实施方式中,管理服务器800还可以包括:第一参数发送模块87。
第一参数发送模块87,用于在参数分配模块83根据所述终端信息,为所述终端分配组参数之后,向所述终端发送携带所述组参数的参数设置消息,或者,向所述XMPP服务器发送携带所述组参数和所述终端的终端设备标识的邀请消息,以使所述XMPP服务器将所述组参数发送给所述终端。
进一步的,管理服务器800还可以包括:标识发送模块89和配置消息发送模块80。
标识发送模块89,用于在所述第一消息发送模块85向所述XMPP服务器发送携带所述终端组对应的组标识的第一通信消息之前,向所述XMPP服务器发送携带所述组标识的呈现消息,以使所述XMPP服务器根据所述组标识创建所述组标识对应的所述终端组。
配置消息发送模块80,用于在所述标识发送模块89向所述XMPP服务器发送携带所述组标识的呈现消息之后,向所述XMPP服务器发送用于配置所述终端组的组信息的配置消息。
具体的,所述组信息可以包括以下任意一项或多项:组类型、组权限和第一组密码;所述组类型用于表示所述终端组中的终端的通信方式,所述组权限用于表示对所述终端组中的终端的权限要求,所述第一组密码用于表示终端加入所述终端组时所需的密码。
进一步的,管理服务器800还可以包括:第一会话建立模块82和/或响应接收模块84。
第一会话建立模块82,用于在第一消息发送模块85发送所述第一通信消息之后,若所述第一通信消息包括连接请求,则接收所述每个终端根据所述第二通信消息发送的建立管理会话请求,与所述每个终端建立管理会话。
响应接收模块84,用于在所述第一消息发送模块85发送所述第一通信消息之后,若所述第一通信消息包括操作命令,则接收所述每个终端执行所述操作命令后返回的响应消息。
具体的,所组参数还可以包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
进一步的,所述参数分配模块,具体可以用于根据所述终端信息和预置的组规则,为所述终端分配组参数。
所述组规则包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。
本发明实施例提供的管理服务器用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,管理服务器根据终端发送的终端信息和组规则,为终端分配组参数,使得终端可以根据该组参数通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图9为本发明实施例的一种XMPP服务器的结构示意图,如图9所示,该XMPP服务器900包括:第二消息接收模块91、匹配模块93和第二消息发送模块95。
第二消息接收模块91,用于接收管理服务器发送的携带组标识的第一通信消息。
匹配模块93,用于根据从至少一个终端接收到的终端信息和第二消息接收模块91接收的所述组标识,查找与所述组标识相匹配的终端;其中,与所述组标识相匹配的终端为:所述终端的终端信息中包括与所述组标识相同的内容。
第二消息发送模块95,用于根据第二消息接收模块91接收的第一通信消息,向匹配模块93查找到的与所述组标识相匹配的每个终端发送所述第二通信消息。
进一步的,组标识具体可以包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本、设备厂商标识。
本发明实施例提供的XMPP服务器用于实现上述图3、图6所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,在管理服务器需要与某一类终端进行通信时,管理服务器可以向XMPP服务器发送携带与该类终端对应的组标识的通信消息,XMPP服务器根据该组标识,可以查找到与该组标识匹配的多个终端,然后XMPP服务器向查找到的多个终端分别发送通信消息,以实现管理服务器与某一类的多个终端进行通信。由此,管理服务器在与多个终端建立通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以建立与多个终端的通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图10为本发明实施例提供的另一种终端的结构示意图,如图10所示,该终端1000包括:
一个或多个处理器1002;
存储器1004;以及
一个或多个程序,其中该一个或多个程序存储在存储器1004中并被配置为由所述一个或多个处理器1002执行,所述一个或多个程序包括:
向管理服务器发送终端信息的指令;
接收所述管理服务器根据所述终端信息为所述终端分配的组参数的指令;
向XMPP服务器发送携带所述组参数的消息,以加入所述组参数中包括的组标识对应的终端组的指令;
接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息的指令;所述第一通信消息为所述XMPP服务器从所述管理服务器接收的。
进一步的,所述一个或多个程序还可以包括:
接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,若第二通信消息包括连接请求,则根据所述第二通信消息与所述管理服务器建立管理会话的指令;或者,接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息之后,若所述第二通信消息包括操作命令,则所述终端执行所述第二通信消息中的操作命令的指令。
进一步的,所述接收所述管理服务器根据所述终端信息为所述终端分配的组参数的指令,具体可以包括:
接收所述管理服务器发送的携带所述组参数的参数设置消息的指令,所述组参数为所述管理服务器根据所述终端信息为所述终端分配的;或者
接收所述XMPP服务器发送的携带所述组参数的邀请消息的指令,所述组参数为所述管理服务器根据所述终端信息为所述终端分配并发送给所述XMPP服务器的。
具体的,所述组标识用于唯一标识所述终端组;所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
本发明实施例提供的终端用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,终端根据管理服务器为终端分配的组参数,通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图11为本发明实施例的另一种管理服务器的结构示意图,如图11所示,所示管理服务器1100包括:
一个或多个处理器1102;
存储器1104;以及
一个或多个程序,其中该一个或多个程序存储在存储器1104中并被配置为由所述一个或多个处理器1102执行,所述一个或多个程序包括:
接收至少一个终端发送的终端信息的指令;
根据所述终端信息,为所述终端分配组参数,以使所述终端通过向XMPP服务器发送携带所述组参数的消息加入组标识对应的终端组的指令;所述组参数包括所述组标识;
向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息的指令。
进一步的,所述一个或多个程序还可以包括:
向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息之后,若所述第一通信消息包括连接请求,则接收所述每个终端根据所述第二通信消息发送的建立管理会话请求,与所述每个终端建立管理会话的指令;或者
向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息之后,若所述第一通信消息包括操作命令,则接收所述每个终端执行所述操作命令后返回的响应消息的指令。
进一步的,所述根据所述终端信息,为所述终端分配组参数的指令,具体可以包括:
根据所述终端信息和预置的组规则,为所述终端分配组参数的指令;
所述组规则包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。
进一步的,所述一个或多个程序还可以包括:
根据所述终端信息,为所述终端分配组参数之后,向所述终端发送携带所述组参数的参数设置消息的指令;或者
根据所述终端信息,为所述终端分配组参数之后,向所述XMPP服务器发送携带所述组参数和所述终端的终端设备标识的邀请消息,以使所述XMPP服务器将所述组参数发送给所述终端的指令。
进一步的,所述一个或多个程序还可以包括:
向所述XMPP服务器发送携带所述终端组对应的组标识的第一通信消息之前,向所述XMPP服务器发送携带所述组标识的呈现消息,以使所述XMPP服务器根据所述组标识创建所述组标识对应的所述终端组的指令。
进一步的,所述一个或多个程序还可以包括:
向所述XMPP服务器发送携带所述组标识的呈现消息之后,向所述XMPP服务器发送用于配置所述终端组的组信息的配置消息的指令。
具体的,所述组信息包括以下任意一项或多项:组类型、组权限和第一组密码;所述组类型用于表示所述终端组中的终端的通信方式,所述组权限用于表示对所述终端组中的终端的权限要求,所述第一组密码用于表示终端加入所述终端组时所需的密码。
具体的,组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
本发明实施例提供的管理服务器用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,管理服务器根据终端发送的终端信息和组规则,为终端分配组参数,使得终端可以根据该组参数通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图12为本发明实施例的另一种XMPP服务器的结构示意图,如图12所示,该XMPP服务器1200包括:
一个或多个处理器1202;
存储器1204;以及
一个或多个程序,其中该一个或多个程序存储在存储器1204中并被配置为由所述一个或多个处理器1202执行,所述一个或多个程序包括:
接收管理服务器发送的携带组标识的第一通信消息的指令;
根据所述组标识和从至少一个终端接收到的终端信息,查找与所述组标识相匹配的终端的指令;其中,与所述组标识相匹配的终端为:所述终端的终端信息中包括与所述组标识相同的内容;
根据所述第一通信消息,向查找到的与所述组标识相匹配的每个终端发送所述第二通信消息的指令。
具体的,所述组标识可以包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本、设备厂商标识。
进一步的,所述一个或多个程序还可以包括:
根据所述组标识和终端信息,查找与所述组标识相匹配的终端之前,接收所述每个终端发送的所述终端信息的指令。
本发明实施例提供的XMPP服务器用于实现上述图3、图6所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,在管理服务器需要与某一类终端进行通信时,管理服务器可以向XMPP服务器发送携带与该类终端对应的组标识的通信消息,XMPP服务器根据该组标识,可以查找到与该组标识匹配的多个终端,然后XMPP服务器向查找到的多个终端分别发送通信消息,以实现管理服务器与某一类的多个终端进行通信。由此,管理服务器在与多个终端建立通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以建立与多个终端的通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图13为本发明实施例的另一种终端的结构示意图,如图13所示,该终端1300包括:接收器1302、发送器1304和处理器1306;处理器1306分别与接收器1302和发送器1304相连。
接收器1302,用于接收管理服务器和XMPP服务器发送的消息。
发送器1304,用于向管理服务器和XMPP服务器发送消息。
处理器1306,用于通过发送器1304向管理服务器发送终端信息;通过接收器1302接收所述管理服务器根据所述终端信息为所述终端分配的组参数;通过发送器1304向XMPP服务器发送携带所述组参数的消息,以加入所述组参数中包括的组标识对应的终端组;通过接收器1302接收所述XMPP服务器根据携带所述终端组对应的所述组标识的第一通信消息发送的第二通信消息;所述第一通信消息为所述XMPP服务器从所述管理服务器接收的。
进一步的,处理器1306还用于,通过接收器1302接收所述XMPP服务器根据从所述管理服务器接收到的第一通信消息发送的第二通信消息之后,若所述第二通信消息包括连接请求,则根据所述第二通信消息与所述管理服务器建立管理会话,或者,若所述第二通信消息包括操作命令,则执行所述第二通信消息中的操作命令。
进一步的,处理器1306通过接收器1302接收所述管理服务器根据所述终端信息为所述终端分配的组参数,具体可以包括:
处理器1306通过接收器1302接收所述管理服务器发送的携带所述组参数的参数设置消息,所述组参数为所述管理服务器根据所述终端信息为所述终端分配的;或者
处理器1306通过接收器1302接收所述XMPP服务器发送的携带所述组参数的邀请消息,所述组参数为所述管理服务器根据所述终端信息为所述终端分配并发送给所述XMPP服务器的。
具体的,所述组标识用于唯一标识所述终端组;所述组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
本发明实施例提供的终端用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,终端根据管理服务器为终端分配的组参数,通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图14为本发明实施例的另一种管理服务器的结构示意图,如图14所示,该管理服务器1400包括:接收器1402、发送器1404和处理器1406;处理器1406分别与接收器1402和发送器1404相连。
接收器1402,用于接收终端和XMPP服务器发送的消息。
发送器1404,用于向终端和XMPP服务器发送消息。
处理器1406,用于通过接收器1402接收终端发送的终端信息;根据所述终端信息,为所述终端分配组参数,以使所述终端通过向XMPP服务器发送携带所述组参数的消息加入所述组参数中包括的组标识对应的终端组;通过发送器1404向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息。
进一步的,处理器1406还用于,向所述XMPP服务器发送携带所述终端组对应的所述组标识的第一通信消息,以使所述XMPP服务器根据所述第一通信消息向所述终端组中的每个终端发送第二通信消息之后,若所述第一通信消息包括连接请求,则通过接收器1402接收所述每个终端根据所述第二通信消息发送的建立管理会话请求,与所述每个终端建立管理会话;或者,若所述第一通信消息包括操作命令,则通过接收器1402接收所述每个终端执行所述操作命令后返回的响应消息。
具体的,处理器1406根据所述终端信息,为所述终端分配组参数,具体可以包括:根据所述终端信息和预置的组规则,为所述终端分配组参数;所述组规则包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本和设备厂商标识。
进一步的,处理器1406还用于,在根据所述终端信息,为所述终端分配组参数之后,通过发送器1404向所述终端发送携带所述组参数的参数设置消息;或者,在根据所述终端信息,为所述终端分配组参数之后,通过发送器1404向所述XMPP服务器发送携带所述组参数和所述终端的终端设备标识的邀请消息,以使所述XMPP服务器将所述组参数发送给所述终端。
进一步的,处理器1406还用于,通过发送器1404向所述XMPP服务器发送携带所述终端组对应的组标识的第一通信消息之前,通过发送器1404向所述XMPP服务器发送携带所述组标识的呈现消息,以使所述XMPP服务器根据所述组标识创建所述组标识对应的所述终端组。
进一步的,处理器1406还用于,向所述XMPP服务器发送携带所述组标识的呈现消息之后,通过发送器1404向所述XMPP服务器发送用于配置所述终端组的组信息的配置消息。
具体的,所述组信息包括以下任意一项或多项:组类型、组权限和第一组密码;所述组类型用于表示所述终端组中的终端的通信方式,所述组权限用于表示对所述终端组中的终端的权限要求,所述第一组密码用于表示终端加入所述终端组时所需的密码。
具体的,组参数还包括以下任意一项或多项:第二组密码、组用户名、组连接用户名和组连接密码。
本发明实施例提供的管理服务器用于实现上述图1、图2、图4、图5所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,管理服务器根据终端发送的终端信息和组规则,为终端分配组参数,使得终端可以根据该组参数通过XMPP服务器加入组参数对应的终端组;在终端加入终端组之后,在管理服务器需要向终端组中的每个终端发送通信消息时,管理服务器可以通过向XMPP服务器发送携带该终端组的组标识的通信消息,使得XMPP服务器向该终端组中的每个终端转发该通信消息。由此,管理服务器在与多个终端进行通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以与多个终端进行通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
图15为本发明实施例的另一种XMPP服务器的结构示意图,如图15所示,该XMPP服务器1500包括:接收器1502、发送器1504和处理器1506;处理器1506分别与接收器1502和发送器1504相连。
接收器1502,用于接收终端和管理服务器发送的消息。
发送器1504,用于向终端和管理服务器发送消息。
处理器1506,用于通过接收器1502接收管理服务器发送的携带组标识的第一通信消息;根据所述组标识和从至少一个终端接收到的终端信息,查找与所述组标识相匹配的终端;其中,与所述组标识相匹配的终端为:所述终端的终端信息中包括与所述组标识相同的内容;根据所述第一通信消息,通过发送器1504向查找到的与所述组标识相匹配的每个终端发送所述第二通信消息。
具体的,所述组标识可以包括以下任意一项或多项:产品类别、设备位置信息、序列号、硬件版本、软件版本、设备厂商标识。
进一步的,处理器1506还用于,根据所述组标识和从至少一个终端接收到的终端信息,查找与所述组标识相匹配的终端之前,通过接收器1502接收所述至少一个终端发送的所述终端信息。
本发明实施例提供的XMPP服务器用于实现上述图3、图6所示的实施例中的方法,具体的工作流程和原理可以参见上述方法实施例,在此不再赘述。
本发明实施例,在管理服务器需要与某一类终端进行通信时,管理服务器可以向XMPP服务器发送携带与该类终端对应的组标识的通信消息,XMPP服务器根据该组标识,可以查找到与该组标识匹配的多个终端,然后XMPP服务器向查找到的多个终端分别发送通信消息,以实现管理服务器与某一类的多个终端进行通信。由此,管理服务器在与多个终端建立通信时,管理服务器无需向XMPP服务器发送多个通信请求,而只需向XMPP服务器发送一个携带组标识的通信请求就可以建立与多个终端的通信,从而减轻了管理服务器和XMPP服务器的网络负荷。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外,任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。