一种实现聊天的方法、系统及装置的制作方法

文档序号:7663054阅读:114来源:国知局

专利名称::一种实现聊天的方法、系统及装置的制作方法
技术领域
:本发明涉及ZigBee网络中的应用技术,特别涉及一种在ZigBee网络中实现聊天的方法、系统及装置。
背景技术
:ZigBee是一种新兴的短距离、低速率的无线网络技术,主要用于近距离无线连接。ZigBee有自己的协议标准,在数万个微小的节点之间相互协调实现通信。这些节点只需要很少的能量,以接力的方式通过无线电波将数据从一个节点传到另一个节点。ZigBee网络能够由64k个节点组成,节点间的典型通信距离为75米,但是节点间的通信距离也可以扩展至几百米。ZigBee的基础是电气与电子工程师协会(IEEE,InstitutionofElectricalandElectronicsEngineers)802.15.4。由于IEEE仅涉及了介质访问控制(MAC,MediumAccessControl)层和物理层协议,因此ZigBee联盟扩展了IEEE,对其网络层协议、安全层以及应用层进行了标准化。对于ZigBee网络来说,其网络的层结构如图1所示,从底层到高层,依次包括基于IEEE802.15.4的物理层和MAC层、以及ZigBee联盟定义的网络层、安全层和应用程序接口。其中,网络层主要实现ZigBee网络中的节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持星形、树形以及网格等多种拓朴结构;安全层主要实现密钥管理以及存取等功能;应用程序接口用于向节点上层提供应用程序的接口,包括应用子层支持(APS)、ZigBee设备对象(ZDO)和应用程序规范(ApplicationProfile)的接口,实现上层对节点的管理,应用程序规范中定义了一些设备描述,以及这些设备之间传递的命令以及属性(消息)。6在ZigBee网络中对应不同应用有不同的应用工程组,比如家乡自动々t(HA,HomeAutomation)、家乡控制灯(HomeControlsLigting)以及电信应用(TA,TelecomApplicationsPTG)等。在ZigBee网络中,应用工程组中的一些的命令以及消息组成了一个簇(Cluster),如果网络中的不同节点支持相同的簇,则这些节点间就可以利用簇中定义的命令以及消息进行通信。例如,电〗言应用工作组就关注于ZigBee网纟备在电信上的应用,目前已经定义了电子支付簇,用于电子支付。但是,目前在电信应用工作组中还没有用于聊天的簇,也就无法在ZigBee网络中进行聊天。聊天实际上就是在不同网络实体之间传输即时消息的过程,例如采用开方欠移动耳关盟(OMA,OpenMobileAlliance)-即时消息(IM,InstantMessaging)技术进行聊天。以下对OMA-IM如何实现聊天进行简单介绍。OMA-IM是在多媒体子系统(IMS)架构上建立的,其利用初始会话协议(SIP,SessionInternetProtocoal)作为传输协议。由于OMA-IM是在IMS架构之上,因此可以兼容各种接入网。OMA-IM提供了三种类型的消息,分别为Pager-mode,利用SIP消息中的载荷部分发送短消息;Large-mode,当消息长度超过1300字节时使用,在该模式下,一旦消息传递完成则会话将立即结束;Session-mode,用于在网络实体之间建立一个会话,以传送即时消息,建立会话的网络实体之间可以传递公共消息,同时也可以在限定的网络实体之间发送秘密消息。但是,OMA-IM标准应用于处于大范围的不同地理位置的网络实体之间的聊天,而ZigBee网络只应用于小范围内的节点之间的通信。由于所应用的环境不同,所以无法将OMAIM应用在ZigBee网络中。例如,将商场范围内作为一个ZigBee网络中,采用OMA-IM标准就无法在商场内部通过聊天找到一个兴趣相似的使用节点的其他用户进行共同购物,这是因为OMA-IM标准是面向大范围的(如全球),不能在小范围内,如商场范围内实现小范围的聊天。因此,申请人发现目前在ZigBee网络中的节点间无法实现聊天。
发明内容本发明实施例提供一种实现聊天的方法,该方法能够在ZigBee网络中实现聊天。本发明实施例还提供一种实现聊天的系统,该系统能够在ZigBee网络中实现聊天。本发明实施例还提供一种实现聊天的装置,该装置能够在ZigBee网络中实现聊天。根据上述目的,本发明实施例的技术方案是这样实现的一种实现聊天的方法,该方法包括加入ZigBee网络中的节点支持聊天簇;所述节点根据支持的聊天簇获取ZigBee网络中的聊天会话信息,根据获取的聊天会话信息进行聊天会话。一种实现聊天的系统,包括支持聊天簇的服务器和一个以上的节点,其中,服务器,用于根据节点的请求建立聊天会话,或使节点加入聊天会话;维护聊天会话;节点,用于请求服务器建立聊天会话或加入聊天会话,在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。一种实现聊天的装置,所述装置支持聊天簇,包括收发模块和维护模块,其中,收发模块,用于接收节点发送的加入聊天会话请求,发送给维护模块;维护模块,用于根据从收发模块接收的加入聊天会话请求使节点加入维护的聊天会话。所述请求模块,用于请求建立聊天会话或加入聊天会话;所述聊天模块,用于请求建立聊天会话或加入聊天会话成功后,在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。从上述方案可以看出,本发明实施例在ZigBee网络的电信应用中定义了用于聊天的命令以及消息,组成了聊天簇,使ZigBee网络中的节点支持聊天簇,通过聊天簇采用集中服务器模式或Ad-Hoc模式的通信,实现这些节点之间的聊天。因此,本发明实施例提供的方法、系统以及装置可以在ZigBee网络中实现聊天。图1为现有技术ZigBee网络的层结构示意图2为本发明实施例采用集中服务器模式实现支持聊天簇的节点之间的聊天的网络结构示意图3为本发明实施例服务器的结构示意图4为本发明实施例采用Ad-Hoc模式实现支持聊天簇的节点之间的聊天的网络结构示意图5为本发明实施例主席节点的结构示意图6为本发明实施例建立的聊天簇的结构示意图7为本发明实施例节点采用集中服务模式建立聊天会话的方法流程图8为本发明实施例采用集中服务模式加入聊天会话的方法流程图;图9为本发明实施例采用集中服务模式退出聊天会话的方法流程图;图10为本发明实施例采用集中服务模式进行聊天会话的方法流程图图11为本发明实施例在Ad-Hoc模式下切换chairman的方法流程图;图12为本发明实施例节点进行聊天会话前获取服务器的Endpoint号的方法流程图13为本发明实施例在ZigBee网络中采用集中服务器模式实现聊天的系统示意图14为本发明实施例在ZigBee网络中采用Ad-Hoc模式实现聊天的系统示意图15为本发明实施例在ZigBee网络中实现聊天的装置示意图;图16为本发明实施例在ZigBee网络中实现聊天的节点示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施例作进一步的详细描述。为了在ZigBee网络中实现聊天,本发明实施例在ZigBee网络的电信应用中定义了用于聊天的命令以及消息,组成了聊天簇,使ZigBee网络中的节点支持聊天簇,通过聊天簇实现这些节点之间的聊天。在本发明实施例中,在ZigBee网络中的支持聊天簇的节点可以采用两种模式进行通信,即采用集中服务器模式或Ad-Hoc模式进行通信,实现聊天。以下分别对这两种方式进行介绍。采用集中服务器模式实现支持聊天簇的节点之间的聊天在这种模式下,服务器将提供聊天会话的管理,即服务器能够维护不同聊天主题的聊天会话,当支持聊天簇的节点加入ZigBee网络后,该节点就可以从服务器上查找并获取目前正在进行的聊天会话信息,从中选择一个聊天会话加入。多个节点可以加入相同的聊天会话,并进行聊天。图2为本发明实施例采用集中服务器模式实现支持聊天簇的节点之间的聊天的网络结构示意图,包括服务器和多个节点。其中,该服务器为商场中的服务器,这个服务器和一个ZigBee网络的接入点相连,这个接入点与运营商的网络相连。在聊天过程中或聊天结束后,服务器可以向接入点提供信息以便运营商通过运营商的网络进行管理,比如,当聊天结束后服务器通过接入点向运营商的网络发送计费信息等。在图3中,位于ZigBee网络中心的节点为服务器,其可以建立并维护聊天会话,ZigBee网络中的节点向该服务器查找并获取聊天会话的信息,加入聊天会话。接入点用三角表示。虛线圓圈表示了一个聊天会话组,该聊天会话组包括的节点。如图2所示为了实现聊天,在服务器包括聊天会话管理模块、用户列表管理模块以及ZigBee程序模块,如图3所示,其中,聊天会话管理模块,用于对当前聊天会话进行管理,向ZigBee程序模块发送对聊天会话的管理信息;用户列表管理模块,用于对参与当前聊天会话的节点进行管理,向ZigBee程序模块发送参与节点的管理信息;ZigBee程序模块,用于根据从聊天会话管理模块接收到的对聊天会话的管理信息以及从用户列表管理模块接收到的对参与节点的管理信息,构造ZigBee程序后,通过应用程序接口发送给底层,指示底层网络在ZigBee网络中对节点进行控制,完成对聊天会话的管理以及对参与节点的管理。采用Ad-Hoc模式实现支持聊天簇的节点之间的聊天在这种模式下,ZigBee网络中的任何节点(支持聊天簇)都可以发起并维护一个聊天会话。当发起一个聊天会话时,发起节点必须要为该聊天会话选择一个主题和会话标识,并保证会话标识在整个网络中的唯一性。图4为本发明实施例采用Ad-Hoc模式实现支持聊天簇的节点之间的聊天的网络结构示意图,包括多个节点,其中,大的实心园点表示ZigBee网络中的协调节点,大的空心园点表示维护聊天会话的节点(这里称之为主席节点),小的空心园点表示参与聊天会话的节点,小的实心园点表示未参与聊天会话的节点,实线表示节点间的通信链路,虚线围成的范围为不同的聊天会话范围。图5为本发明实施例主席节点的结构示意图,包括聊天信息模块,聊天会话管理模块、用户列表管理模块以及ZigBee程序模块,其中,聊天信息模块,用于存储建立的聊天会话的聊天信息;聊天会话管理模块,用于建立聊天会话并将聊天会话的聊天信息存储在聊天信息模块中,对已经建立的聊天会话进行管理,获取聊天信息模块中的聊天信息,根据聊天信息向ZigBee程序模块发送对聊式会话的管理信息;用户列表管理模块,用于对参与当前聊天会话的节点进行管理,向ZigBee程序模块发送参与节点的管理信息;ZigBee程序模块,用于根据从聊天会话管理模块接收到的对聊天会话的管理信息以及从用户列表管理模块接收到的对参与节点的管理信息,构造ZigBee程序后,通过应用程序接口发送给底层v指示底层网络在ZigBee网络中对节点控制,完成对聊天会话的管理以及对参与节点的管理。在本发明实施例中,需要在ZigBee网络中建立一个聊天簇,这里也可以称之为消息簇(MessagingCluster),并且使需要实现聊天的节点都支持聊天簇,即在节点上设置可以生成或识别聊天簇中的消息或命令能力。以下对这个聊天蔟进4于详细的介绍。图6为本发明实施例建立的聊天簇的结构示意图,该结构需要在实现聊天的主席节点或服务器上构造,包括U—ID:在聊天会话过程中节点使用的具有唯一性的用户标识,这个用户标识与节点加入ZigBee网络时所分配的地址相同。Nickname:用户在聊天会话中使用的昵称;C—ID:聊天会话标识,在同一聊天会话中的所有节点都属于同一个会话;C—ID在集中服务器模式中由服务器指定;在Ad-Hoc模式中由主席节点指定,并确保其唯一性;Name:聊天会话主题,比如"足球爱好者,,等;Message:聊天会话过程中发送的聊天消息;UserList:是一个结构类型的数据,其中包含U—ID和Nickname等信息,是服务器或主席节点用来通知新加入者已参与聊天会话节点的列表;ChatroomList:是一个结构类型的数据,其中包含有C—ID,Name等。这是服务器或主席节点响应其他节点查找聊天主题的。在本发明实施例中,还需要对聊天簇中采用的消息进行定义,根据所使用的目的不同,可以分为客户端消息和服务器端消息,以下分别进行介绍。12客户端—消息Join—Chat_Request,—般携带U—ID、Nickname和C—ID,为节点向服务器或主席节点发送的请求加入聊天会话的消息。Leave—Chat—Request,—般携带U—ID,为节点向服务器或是主席节点发送的退出聊天会话的消息。Search—Chat—Request,为在加入聊天之前,节点在网络中搜索聊天会话和主题,当收到返回的聊天会话主题列表后,能选择其中一个加入。Switch—Chairman—Request,为在Ad-Hoc模式下,当一个主席节点想要离开,其将利用此条消息来选择一个新的主席节点。Start—Chat—Request,一般携带Name和U—ID,节点向服务器发送创建聊天会话的请求。服务器端消息Join—Chat—Session—Response,—般携带UserList,由服务器或主席节点发出,作为Join—Chat—Session—Request的响应。消息返回参数包含了一个结构数据(nickname,U—ID等),将已经参加的人员列表打包发送给请求节点。User—left,—般携带U—ID和Nickname,为向聊天会话中的其他节点通告某一节点退出聊天会话消息。User—Joined,—般携带U—ID和Nickname,为向聊天会话中的其他节点通告新节点加入聊天会话消息。GMessage,—般携带C—ID、Nickname和Message,向同一聊天会话中的所有节点发送的多播消息,多播方法由ZigBee联盟定义的协议规定。Search—Chat—Response,—般携带ChatroomList,服务器或主席节点发送的作为Search—Chat—Request的响应,其数据结构中包含了当前所有的聊天主题。Start—Chat—Response。一般携带C—ID,作为Start—Chat_Request的响应,表明建立并维护了聊天会话。Switch—Chairman—Response,节点对主席节点的切换主席命令的响应。Switch—Chairman—Confirm,—般携带U—ID,主席节点通知其他节点主席切换结果。以下就对采用上述聊天簇中定义的消息在两种模式下ZigBee网络中的节点实现聊天的方法进行详细的说明。-节点采用集中服务模式实现聊天会话的具体实施例在以下的具体实施例中,将客户(Client)定义为一个ZigBee网络中的节点,该节点可以是具有ZigBee网络中通信能力的移动终端或个人数字助理(PDA);将服务器(Server)定义为ZigBee网络中的协调者,也就是服务器,负责维护整个ZigBee网络并对聊天会话进行管理;将聊天会话定义为ChatSession,包括一个或多个Client。图7为本发明实施例节点采用集中服务模式建立聊天会话的方法流程图,其具体步骤为步骤701、Client接入ZigBee网络后,向Server发送Start_Chat_Request消息,携带Name,用于指示要建立一个聊天会话并指示该聊天会话的主题。步骤702、Server接收到该消息后,建立主题为该消息携带的Name的聊天会话,即维护该聊天会话并为该聊天会话建立UserList和分配ZigBee网络中唯一的C—ID。步骤703、Server向Client返回Start—Chat—Response消息,携带为该聊天会话分配的C—ID。在该步骤后,Server就可以接受其他节点发送的加入该聊天会话的消息,并将Client的信息发送给其他节点,将其他节点的信息发送给该Client。这时,该聊天会话中的其他节点已经得知Client的信息,就可以将携带该Client的Nickname、该聊天会话的C—ID以及信息的GMessag发送给Client,Client也可以将携带其他节点的Nickname、该聊天会话的C一ID以及信息的GMessag发送给对应的在该聊天会话中的其他节点,其他节点和Client就可以在该聊天会话中进行聊天了。14图8为本发明实施例采用集中服务模式加入聊天会话的方法流程图,其具体步骤为步骤801、Client接入ZigBee网络后,向Server发送Search—Chat—Request消息,请求Server已经建立的聊天会话信息。步骤802、Server接收到该消息后,将已经建立的聊天会话列表,即Chatroomlist携带在Search—Chat—Response消息中发送给Client。步骤803、Client根据Chatroomlist选择自身希望加入的聊天会话,将希望加入的聊天会话的C—ID、自身加入聊天会话的Nickname以及4吏用的U—ID携带在Join—Chat—Request消息中发送给Server。步骤804、Server根据接收到的消息携带的Nickname和U—ID更新该C一ID对应的聊天会话的用户列表,将该用户列表设置在UserList中,携带在Join—Chat—Response消息发送给Client。相应地,Server也将新加入该C—ID对应的聊天会话的用户列表的Client的Nickname和U—ID发送给该用户列表中的其他节点,以便告知其他节点有新的节点加入并且确定新加入节点的信息,以-便新加入节点和该用户列表中的其他节点进行聊天。在该步骤后,该聊天会话中的其他节点已经得知Client的信息,就可以将携带该Client的Nickname、该聊天会话的C—ID以及信息的GMessag发送给Client,Client也可以将携带其他节点的Nickname、该聊天会话的C—ID以及信息的GMessag发送给对应的在该聊天会话中的其他节点,其他节点和Client就可以在该聊天会话中进行聊天了。图9为本发明实施例采用集中服务模式退出聊天会话的方法流程图,其具体步骤为步骤901、已经加入聊天会话的Client向Server发送Leave—Chat_Request消息,携带所加入聊天会话的C—ID,用于离开已经加入的聊天会话。步骤902、Server根据接收到的消息携带的C—ID确定对应的聊天会话的用户列表,更新该用户列表,即删除该Client的信息(包括Nick—Name以及U—ID)。在本步骤中,该Client的信息可以是Leave—Chat—Request消息携带的,也可以是Server采用其他方式获取的。步骤903、Server向Client发送Leave—Chat_Response消息,确定Client已经离开该聊天会话。相应地,Server也将在该C—ID对应的聊天会话的用户列表中删除的Client的Nickname和U—ID发送给该用户列表中的其他节点,以便告知其他节点有离开的节点并确定离开节点的信息。节点釆用Ad-Hoc模式实现聊天会话的具体实施例在以下的具体实施例中,将node定义为ZigBee网络中的节点,可以是具有ZigBee通信能力的移动终端或PDA,chairman定义为主席节点,是ZigBee网络中的任意节点,负责建立和维护聊天会话;ChatSession为一个聊天会话,至少包括chairman,以及一个或多个node。在该具体实施例中,一般由chuairman创建对应C—ID的聊天会话,且维护该聊天会话的用户列表以及记录该聊天会话的信息。图10为本发明实施例采用集中服务模式进行聊天会话的方法流程图,其具体步骤为步骤1001、node在ZigBee网络中组播Serach—Chat—Request消息,用于查找网络中已经建立的聊天会话。在该步骤中,node可以为一个或一个以上。步骤1002、接收到该消息的chairman将自身维护的聊天会话列表,即Chatroomlist携带在Serach—Chat—Response消息中发送给请求聊天会话的node。这里,chairman可以为一个或一个以上。步骤1003、node接收到该消息后,根据携带的Chatroomlist选择希望加入的聊天会话。步骤1004、node将希望加入的聊天会话的C—ID,自身加入聊天会话的Nickname以及使用的U—ID携带在Join—Chat—Request消息中发送给维护该聊天会"^舌的chairman。步骤1005、维护该聊天会话的chairman根据接收到的消息携带的Nickname和U—ID更新该C—ID对应的聊天会话的用户列表,将该用户列表设置在UserList中,携带在Join—Chat—Response消息发送给node。相应地,维护该聊天会话的chairman也将新加入该C一ID对应的聊天会话的用户列表的Client的Nickname和U_ID发送给该用户列表中的其他节点,以便告知其他节点有新的节点加入并it确定新加入节点的信息,以便新加入节点和该用户列表中的其他节点进行聊天。步骤1006、该聊天会话中的其他节点已经得知Client的信息,将携带该Client的Nickname、该聊天会话的C—ID以及信息的GMessag发送给Client,Client将携带其他节点的Nickname、该聊天会话的C—ID以及信息的GMessag发送给对应的在聊天会话中的其他节点,其他节点和Client就可以在该聊天会话中进行聊天了。这个步骤可以继续执行,并持续一段时间。步骤1007、node向维护该聊天会话的chairman发送Leave—Chat—Request消息,携带所加入聊天会话的U—ID,用于离开已经加入的聊天会话。步骤1008、维护该聊天会话的chairman根据接收到的消息携带的U_ID确定对应的聊天会话的用户列表,更新该用户列表,即删除node的信息(包括Mck_Name以及U一ID)。步骤1009、维护该聊天会话的chairman向node发送Leave—Chat—Response消息,确定node已经离开该聊天会话。相应地,维护该聊天会话的chairman也将在该C一ID对应的聊天会话的用户列表中删除的Client的Nickname和U—ID发送给该用户列表中的其他节点,以便告知其他节点有离开的节点并确定离开节点的信息。在Ad-Hoc模式下,切换chairman是非常必要的,当chairman想要离开所维护的聊天会话时,其应该指定一个节点作为chairman,以便对所要离开的聊天会话进行维护,其具体方法如图ll所示,图ll为本发明实施例在Ad-Hoc模式下切换chairman的方法流程图,其具体步骤为步骤1101、要离开所维护的聊天会话的Chairman在ZigBee网络中组播Switch—Chairman—Request消息,该消息可以携带要离开聊天会话的Chatroomlist或携带C—ID,用于查询替代其维护聊天会话的节点。步骤1102、ZigBee网络中的一个node对该消息做出响应,向Chairman发送Switch—Chairman—Response消息,携带U—ID,表示希望可以替代Chairman维护聊天会话。在该步骤中,发送该消息可以为一个或多个node,这一个或多个node分另'J向chairman发送该消息。步骤1103、chairman在设定的时间内接收到至少一个消息后,按照设置的规则选择一个node替代自己。在本步骤中,设定的时间可以根据用户需要或网络状况设置,设置的规则根据需要设置,这里不限制。步骤1104、chairman将所选4奪的node的U—ID携带在Switch—Chairman—Confirm消息中发送给所选4奪的node。在本步骤中,chairman采用单播的方式发送该消息。步骤1105、所选择的node接收到该消息后,替代chairman维护聊天会话,将在所要维护的聊天会话组内广播携带U—ID的Switch—Chairman—Confirm消息,以告知维护该聊天会话的新主席节点信息,该聊天会话组内的其他节点更新该聊天会话的主席节点信息。步骤1106、chairman接收到该消息后,向所选择的node发起退出该聊天会话的过程,该过程可以参考步骤1007~1009,这里不再累述。在该实施例中的步骤1103中,如果chairman在设定的时间内没有接收到4壬一node返回的Switch—Chairman—Response消息,贝'Jchairman可以4安照预先设定的指定规则在该聊天会话组中指定一个节点作为替代主席节点,向其单播发起请求,等待其同意后指定该节点为主席节点,或者为了快速切换chairman,chairman直接指定一个节点作为替代主席节点且直接指示切换,由指定的节点替代维护聊天会话。在本发明实施例中,当节点采用Ad-Hoc模式进行聊天时,由于主席节点将自身信息在ZigBee网络中组播,所以聊天会话中的其他节点就可以得知主席节点信息,并接入主席节点进行聊天会话。而当节点釆用集中服务器模式进行聊天时,由于服务器的信息不在ZigBee网络中组播,所以节点需要预先获知服务器的网络地址和Endpoint号,之后才能采用集中服务器模式进行聊天,以下对如何获知服务器的网络地址和Endpoint号进行详细杀又述。ZigBee联盟的一项任务就是分配应用标识(ProfileID),其中包括了/>共的和企业私有的ProfileID,以保证在ZigBee网络中使用ProfileID的唯一性。作为ZigBee应用的一个重要组成,ZigBee联盟为电信应用分配了公用ProfileID:0x0107。由于当前电信应用还未定义完成,因此在电信应用中的簇标识没有定义。因此,本发明在集中服务器模式下,节点加入ZigBee网络后,必须先要得到服务器的网络地址和EndPoint号,之后才能进行聊天会话的查询等一系列后续过程。和计算机通信相似,服务器将地址告知节点,并且在某一个端口上进行等待,在服务器中的应用软件(AO)在哪一个Endpoint上是不一定的,所以节点必须要通过一系列步骤以获得服务器的Endpoint号,在服务器模式下服务器的网络地址为网络协调者的地址(0x0000)。在ZigBee网络中为了获取节点对应的聊天蔟的EndPoint号,节点必须发送Match—Desc—req消息和4妻收Match—Desc—rsp消息,其格式分别如表1和表2所示。<table>tableseeoriginaldocumentpage19</column></row><table>表1<table>tableseeoriginaldocumentpage20</column></row><table>表2其中,Match—Desc—req消息可以通过广播或单播方式发送,包括NWKAddrOflnterest:服务器地址,可以是广播地址(Oxffffd);ProfileID:一个对应的Profile标识;InClusterList,OutClusterList:需要匹配的出、入蔟标识;N謹InClusters,NumOutClusters:分另'J表示InClusterList和OutClusterList的数量。当月良务器接收到Match—Desc_req消息后,就可以将Match—Desc—rsp消息作为响应返回给节点,包括Status:状态,状态可以为成功,设备未找到,无效的查询或没有匹配;NWKAddrOflnterest:服务器地址;MatchLength:包含的endpoint凄丈量;MatchList:endpoint号歹1)表。图12为本发明实施例节点进行聊天会话前获取服务器的Endpoint号的方法流程图,涉及的网络实体包括EndDevice以及Server,EndDevice为一个已经加入ZigBee网络中并获得服务器网络地址的节点,可以是移动终端或PDA等,Server为一个提供的服务器,该服务器可以是网络协调者,负责维护ZigBee网络,并对聊天会话进行管理,其具体步骤为步骤1201、节点接入ZigBee网络后,希望采用集中服务器模式进行聊天会话,向Server发送Match—Desc—req消息,用于获取该聊天会话的Endpoint号,在该消息中,4夺Server的i也址(0x0000)方文入,在ProfileID中》文入电信应用的ProfileID:0x0107,然后将聊天簇对应的簇标识》文入InClusterList域。步骤1202、当Server收到Match—Desc—req命令后,会产生Match—Desc—rsp命令作为响应,响应前进行步骤1203~1205。步骤1203、Server检查ProfileID是否有对应的,如果没有则确定没有匹配的应用,向节点发送Match—Desc—rsp消息,并将Status域置为"没有匹配",并结束匹配过程。步骤1204、如果Server找到有对应的ProfileID,则继续;险查InClusterList,如果没发现匹配的,则将Match—Desc—rsp的Status域置为"没有匹配,,发送给节点,并结束匹配过程。步骤1205、如果Server发现在InClusterList中的ClusterID与自己设备上的MessagingClusterID—才羊,则l夸Match—Desc—rsp的Statusi或置为"成功",并在MatchList中》文入对应的Endpoint号,发送给节点,并结束匹配过程。步骤1206、节点收到了Server的Endpoint号,则向Server的对应Endpoint号上发送响应的命令,可以在集中服务器模式下建立或加入已有的聊天会话了。本发明实施例还提供了在ZigBee网络中实现聊天的系统,如图13所示,图13为本发明实施例在ZigBee网络中采用集中服务器模式实现聊天的系统示意图包括支持聊天簇的服务器和一个以上的节点,其中,包括支持聊天簇的服务器和一个以上的节点,其中,服务器,用于根据节点的请求建立聊天会话,或使节点加入聊天会话;维护聊天会话;节点,用于请求服务器建立聊天会话或加入聊天会话,在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。在该实施例中,所述服务器,还用于接收节点发送的离开聊天会话请求,对维护的聊天会话的用户列表进行更新且通知该聊天会话的其他节点;所述节点,还用于向服务器发送离开聊天会话请求。在该实施例中,服务器还进一步用于接收节点的获取进行聊天会话的Endpoint号的请求,将匹配聊天会话的Endpoint号发送给节点;节点,进一步用于向服务器发送获取进行聊天会话的Endpoint号的请求,接收服务器发送的匹配聊天会话的Endpoint号,釆用该Endpoint号与服务器通信进行聊天会话。21图14为本发明实施例在ZigBee网络中采用Ad-Hoc模式实现聊天的系统示意图,包括一个以上的支持聊天簇的节点,包括作为主席节点的节点(称为主席节点)和参与聊天会话的节点(称为节点),其中,所述主席节点,用于建立并维护聊天会话,根据节点的请求使节点加入聊天会话;所述节点,用于请求所述主席节点加入聊天会话,在聊天过程中,和所述同一聊天会话中的其他节点或主席节点之间传送即时消息。在该实施例中,所述主席节点,还用于接收节点发送的离开聊天会话请求,对维护的聊天会话的用户列表进行更新且通知该聊天会话的其他节点;所述节点,还用于向主席节点发送离开聊天会话请求。在该实施例中,所述主席节点进一步用于向节点发送替代维护聊天会话的请求,接收所述参与聊天会话的节点返回的替代维护聊天会话的响应后,从发送响应的参与聊天会话的节点中选4奪一个节点替代维护聊天会话。本发明实施例还提供一种实现聊天的装置,该装置可以为服务器或主席节点,图15为本发明实施例在ZigBee网络中实现聊天的装置示意图,所述装置支持聊天簇,包括收发模块和维护模块,其中,收发模块,用于接收节点发送的加入聊天会话请求,发送给维护模块;维护模块,用于根据从收发模块接收的加入聊天会话请求使节点加入维护的聊天会话。在该实施例中,所述收发模块还包括第一收发子模块,所述维护模块还包括第一维护子模块,其中,当该装置为服务器时,所述第一收发子模块,用于接收节点发送的建立聊天会话请求,发送给第一维护子模块;所述第一维护子模块,用于根据从第一收发子模块发送的建立聊天会话请求建立并维护聊天会话;或者当该装置为主席节点时,所述第一维护子模块,用于主动建立或维护聊天会话。在该实施例中,所述收发模块还包括第二收发子模块,所述维护模块还包括第二维护子模块,其中,所述第二收发子模块,用于接收节点发送的离开聊天会话请求,并发送给第二维护子模块;所述第二维护子模块,用于对维护的聊天会话的用户列表进行更新且通过所述第二收发子模块通知该聊天会话的其他节点。在该实施例中,当所述装置为主席节点时,所述收发模块还包括第三收发子模块,所述维护模块还包括第三维护子模块,其中,第三收发子模块,用于向节点发送替代维护聊天会话的请求,接收所述参与聊天会话的节点返回的替代维护聊天会话的响应后,发送给第三维护子模块,第三维护子模块,用于从发送响应的参与聊天会话的节点中选择一个节点替代维护聊天会话。本发明实施例还提供一种实现聊天的节点,图16为本发明实施例在ZigBee网络中实现聊天的节点示意图,该装置支持聊天簇,包括请求模块和聊天模块,其中,所述请求模块,用于请求建立聊天会话或加入聊天会话;所述聊天模块,用于在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。在该实施例中,所述请求模块还进一步包括第一请求子模块,用于发送离开聊天会话请求;或/和所述节点还包括接收模块,用于接收聊天会话的用户列表的更新通知。在该实施例中,所述接收模块还包括接收子模块,用于接收替代维护聊天会话的请求,返回替代维护聊天会话的响应。在ZigBee网络中实现聊天可以应用在以下场景中l)商场购物,将商场范围内构造ZigBee网络,商场购物的消费者使用移动终端进行通信,移动终端作为ZigBee网络中的节点。在商场购物的消费者能利用ZigBee网络采用集中服务器模式的聊天,在商场中的服务器能向消费者提供不同主题的聊天会话,并管理这些聊天会话,这些聊天会话可以向消费者提供的便利有大量购买,消费者能够通过聊天会话找到一些兴趣相同或相似的其他消费者共同购买商品,以获得更高的折扣;信息收集,23消费者能通过聊天会话得到其他消费者的建议和反馈,以帮助选择到心仪的商品;约会,消费者通过聊天会话找到约会对象。2)旅游,在旅行途中,同一旅途建立ZigBee网络,旅客采用移动终端进行通信,移动终端作为ZigBee网络中的节点,建立Ad-Hoc冲莫式的聊天会话,其中,建立的聊天会话提供的便利有信息收集,同一旅途中的游客建立聊天会话,进行有用旅游信息的收集;消磨时间,旅途中的游客建立聊天会话,进行聊天或游戏,消磨旅行的时间。以上是对本发明具体实施例的说明,在具体的实施过程中可对本发明的方法进行适当的改进,以适应具体情况的具体需要。因此可以理解,根据本发明的具体实施方式只是起示范作用,并不用以限制本发明的保护范围。权利要求1、一种实现聊天的方法,其特征在于,该方法包括加入ZigBee网络中的节点支持聊天簇;所述节点根据支持的聊天簇获取ZigBee网络中的聊天会话信息,根据获取的聊天会话信息进行聊天会话。2、如权利要求l所述的方法,其特征在于,所述获取ZigBee网络的聊天会话信息,过程为所述节点发送查找聊天会话信息的查询请求,接收携带有聊天会话列表的查询响应,该列表至少包括聊天会话的标识和主题;所述节点根据聊天会话列表选择要加入的聊天会话,发送携带聊天会话标识、自身昵称以及自身标识的加入请求后,接收携带聊天会话的用户列表的响应,所述用户列表携带该聊天会话中的每个节点的昵称和标识。3、如权利要求2所述的方法,其特征在于,所述获取ZigBee网络的聊天会话信息为所述节点向服务器发送携带聊天会话主题、自身标识和昵称的建立聊天会话请求,接收服务器发送的携带为该聊天会话分配的标识的建立聊天会话响应。4、如权利要求2或3所述的方法,其特征在于,所述进行聊天的过程为所述节点接收该聊天会话中的其他节点发送的携带该节点的昵称和信息的该聊天会话的即时消息,或/和发送携带该聊天会话中的其他节点的昵称和信息的该聊天会话的即时消息给该聊天会话中的其他节点。5、如权利要求4所述的方法,其特征在于,该方法进一步包括所述节点退出聊天会话的过程所述节点发送携带节点标识的离开聊天会话请求后,接收离开聊天会话响应,所述该聊天会话的用户列表被更新,将该聊天会话的用户列表中的所述节点的标识和昵称在用户列表中删除。6、如权利要求5所述的方法,其特征在于,在进行所述该聊天会话过程之前或退出聊天会话过程之后,该方法还包括聊天会话中的其他节点接收更新用户列表的消息,该消息携带所更新的该聊天会话中的节,泉标识和昵称。7、如权利要求2所述的方法,其特征在于,所述节点获取ZigBee网络中的聊天会话信息为所述节点通过服务器获取ZigBee网络中的聊天会话信息;或所述节点通过主席节点获取ZigBee网络中的聊天会话信息。8、如权利要求7所述的方法,其特征在于,所述主席节点建立和维护聊天会话,在进行该聊天会话的过程中,该方法还包括所述主席节点组播切换主席节点请求,从发送切换主席节点响应的节点中选择一个节点,向该节点发送切换主席节点确认消息,该节点维护该聊天会话,向该聊天会话的参与节点发送携带自身标识的切换主席节点确认消白9、如权利要求1所述的方法,其特征在于,所述支持聊天簇为支持收发实现聊天的消息或命令的能力。10、一种实现聊天的系统,其特征在于,包括支持聊天簇的服务器和一个以上的节点,其中,服务器,用于根据节点的请求建立聊天会话,或使节点加入聊天会话;维护聊天会话;节点,用于请求服务器建立聊天会话或加入聊天会话,在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。11、如权利要求10所述的系统,其特征在于,所述服务器,还用于接收节点发送的离开聊天会话请求,对维护的聊天会话的用户列表进行更新且通知该聊天会话的其他节点;所述节点,还用于向服务器发送离开聊天会话请求。12、一种实现聊天的系统,其特征在于,包括一个以上的支持聊天簇的节点,所述节点包括主席节点和参与聊天会话的节点,其中,所述主席节点,用于建立并维护聊天会话,根据节点的请求使节点加入聊天会话;所述节点,用于请求所述主席节点加入聊天会话,在聊天过程中,和所述同一聊天会话中的其他节点或主席节点之间传送即时消息。13、如权利要求12所述的系统,其特征在于,所述主席节点,还用于接收节点发送的离开聊天会话请求,对维护的聊天会话的用户列表进行更新且通知该聊天会话的其他节点;所述节点,还用于向主席节点发送离开聊天会话请求。14、如权利要求12所述的系统,其特征在于,所述主席节点进一步用于向节点发送替代维护聊天会话的请求,接收所述参与聊天会话的节点返回的替代维护聊天会话的响应后,从发送响应的参与聊天会话的节点中选择一个节点替代维护聊天会话。15、一种实现聊天的装置,其特征在于,所述装置支持聊天蔟,包括收发模块和维护模块,其中,收发模块,用于接收节点发送的加入聊天会话请求,发送给维护模块;维护模块,用于根据从收发模块接收的加入聊天会话请求使节点加入维护的聊天会话。16、如权利要求15所述的装置,其特征在于,所述收发模块还包括第一收发子模块,所述维护模块还包括第一维护子模块,其中,所述第一收发子模块,用于接收节点发送的建立聊天会话请求,发送给第一维护子模块;所述第一维护子模块,用于根据从第一收发子模块发送的建立聊天会话请求建立并维护聊天会话;或者所述第一维护子模块,用于主动建立或维护聊天会话。17、如权利要求15所述的装置,其特征在于,所述收发模块还包括第二收发子模块,所述维护模块还包括第二维护子模块,其中,所述第二收发子模块,用于接收节点发送的离开聊天会话请求,并发送给第二维护子模块;所述第二维护子模块,用于对维护的聊天会话的用户列表进行更新且通过所述第二收发子模块通知该聊天会话的其他节点。18、如权利要求15所述的装置,其特征在于,所述收发模块还包括第三收发子模块,所述维护模块还包括第三维护子模块,其中,第三收发子模块,用于向节点发送替代维护聊天会话的请求,接收所述参与聊天会话的节点返回的替代维护聊天会话的响应后,发送给第三维护子模块;第三維护子模块,用于从发送响应的参与聊天会话的节点中选择一个节点替代维护聊天会话。19、一种实现聊天的节点,其特征在于,该装置支持聊天簇,包括请求模块和聊天模块,其中,所述请求模块,用于请求建立聊天会话或加入聊天会话;所述聊天模块,用于请求建立聊天会话或加入聊天会话成功后,在聊天过程中,和所述同一聊天会话中的其他节点之间传送即时消息。20、如权利要求19所述的节点,其特征在于,所述请求模块还进一步包括第一请求子模块,用于发送离开聊天会话请求;或/和所述节点还包括接收模块,用于接收聊天会话的用户列表的更新通知。21、如权利要求19所述的节点,其特征在于,所述接收模块还包括接收子模块,用于接收替代维护聊天会话的请求,返回替代维护聊天会话的响应。全文摘要本发明公开了一种实现聊天的方法、系统及装置,其中,该方法包括加入ZigBee网络中的节点支持聊天簇;所述节点根据支持的聊天簇获取ZigBee网络中的聊天会话信息,根据获取的聊天会话信息进行聊天会话。本发明实施例提供的方法、系统及装置实现了在ZigBee网络中进行聊天。文档编号H04L12/58GK101425982SQ20071016435公开日2009年5月6日申请日期2007年10月30日优先权日2007年10月30日发明者龙狄,海黄申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1