CN104468333B - 基于xmpp协议的消息服务器及其信令跟踪方法 - Google Patents

基于xmpp协议的消息服务器及其信令跟踪方法 Download PDF

Info

Publication number
CN104468333B
CN104468333B CN201410756471.5A CN201410756471A CN104468333B CN 104468333 B CN104468333 B CN 104468333B CN 201410756471 A CN201410756471 A CN 201410756471A CN 104468333 B CN104468333 B CN 104468333B
Authority
CN
China
Prior art keywords
xmpp
specified
message
clients
signaling tracing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410756471.5A
Other languages
English (en)
Other versions
CN104468333A (zh
Inventor
漆利华
黄维丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE ICT Technologies Co Ltd
Original Assignee
ZTE ICT Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE ICT Technologies Co Ltd filed Critical ZTE ICT Technologies Co Ltd
Priority to CN201410756471.5A priority Critical patent/CN104468333B/zh
Publication of CN104468333A publication Critical patent/CN104468333A/zh
Application granted granted Critical
Publication of CN104468333B publication Critical patent/CN104468333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于XMPP协议的消息服务器的信令跟踪方法和消息服务器,其中,方法包括:当消息服务器接收到对指定XMPP客户端的启动信令跟踪请求时,从启动跟踪请求中获取指定XMPP客户端的标识信息;将标识信息添加到配置文件中,并根据标识信息开启指定XMPP客户端对应的服务线程的信令跟踪开关;在信令跟踪开关开启时,获取指定XMPP客户端对应的服务线程中接收和发送的所有消息,并将所有消息存储到消息服务器的本地日志文件中。通过本发明的技术方案,可以实现信令跟踪,并且对XMPP信息服务器的性能几乎影响,同时由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程。

Description

基于XMPP协议的消息服务器及其信令跟踪方法
技术领域
本发明涉及信令跟踪技术领域,具体而言,涉及一种基于XMPP协议的消息服务器的信令跟踪方法和一种基于XMPP协议的消息服务器。
背景技术
XMPP(Extensible Messaging and Presence Protocol:可扩展消息与存在协议)是目前主流的IM(IM:instant messaging,即时消息)协议之一,灵活性强,应用广泛。XMPP基于XML协议,提供一种异步的端到端的结构化数据交换技术,让任何两个或多个网络实体之间进行结构化和可扩展的准实时信息交流。XMPP采用C/S的架构设计,除非是2个实体间进行点对点的文件传输,其他情况下,当两个客户端进行通讯时,他们的消息都是通过服务器传递的。
随着移动互联技术的普及,基于移动终端的应用接入消息服务器的应用越来越多;传统的信令跟踪方法、装置要求同时从客户端、服务器采集信令;但受限于移动终端的联网稳定性和流量控制,采用传统方法无法达到信令跟踪的目的。
因此需要一种新的技术方案,可以实现信令跟踪,并且对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信息服务器的性能几乎影响,由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程,只需要在消息服务器上实施一些操作,即可达到信令跟踪的目标。
在上述技术方案中,优选地,还包括:第一判断单元,在开启所述指定XMPP客户端对应的服务线程的信令跟踪开关之前,判断在预设的内存表中是否存在所述指定XMPP客户端的所述标识信息;状态修改单元,在所述预设的内存表中存在所述指定XMPP客户端的所述标识信息时,将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为开启状态。
在该技术方案中,将指定XMPP客户端的标识信息储存在预设的内存表中,由于服务线程与指定XMPP客户端一一对应的,这样可以更好的针对信令来对目标进行跟踪。将指定XMPP客户端的信令跟踪状态修改为开启状态,这样的设计可以有效的避免对非指定的用户信令的跟踪。
在上述技术方案中,优选地,所述存储单元具体用于:在将所述所有消息存储到所述消息服务器的本地日志文件中之前,将所述所有消息存储到日志缓存区中,以及在所述日志缓存区已满,或者所述日志缓冲区的消息超过预设时间未同步到本地日志文件时,将所述所有消息存储到所述消息服务器的本地日志文件中。
在该技术方案中,如果日志缓存区已满,将所有的消息储存到消息服务器的本地日志中,减少对信息服务器性能的影响,并且可以更好的保存目标信息。
在技术方案中,优选地,还包括:第二获取单元,当接收到对所述指定XMPP客户端的关闭信令跟踪请求时,从所述关闭跟踪请求中获取所述指定XMPP客户端的所述标识信息;关闭单元,将所述标识信息从所述配置文件中删除,并将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为关闭状态,关闭所述指定XMPP客户端对应的服务线程的信令跟踪开关;以及第二判断单元,判断所述日志缓冲区是否为空,在判断结果为否时,将所述日志缓冲区的消息同步到所述本地日志文件中。
在该技术方案中,根据关闭信令跟踪请求,可以直接删除配置文件中的标识信息,相应地,内存表中的状态将修改为关闭,指定XMPP客户端对应的服务线程的信令跟踪开关也将被关闭,同时将跟踪得到的消息同步到本地日志文件中,完成本次信令跟踪。
在上述技术方案中,优选地,还包括:查询单元,根据接收到的对指定XMPP客户端的信令跟踪状态查询命令,获取所述预设的内存表,以从所述预设的内存表中获取所述指定XMPP客户端的信令跟踪状态。
在该技术方案中,用户还可以对指定XMPP客户端的信令跟踪状态进行查询,从而便于用户获知每个XMPP客户端的信令状态。
通过本发明的技术方案实现的信令跟踪,对XMPP信息服务器的性能几乎影响,同时由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程。
附图说明
图1示出了根据本发明的实施例的基于XMPP协议的消息服务器的信令跟踪方法流程图;
图2示出了根据本发明的实施例的基于XMPP协议的消息服务器的框图;
图3示出了根据本发明的实施例的XMPP的C/S架构的示意图;
图4示出了根据本发明的实施例的XMPP客户端和XMPP信息服务器的交互过程的示意图;
图5示出了根据本发明的实施例的信令跟踪的示意图;
图6示出了根据本发明的实施例的内存表的数据结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的基于XMPP协议的消息服务器的信令跟踪方法流程图。
如图1所示,根据本发明的实施例的基于XMPP协议的消息服务器的信令跟踪方法,包括:
步骤102,当消息服务器接收到对指定XMPP客户端的启动信令跟踪请求时,从所述启动跟踪请求中获取所述指定XMPP客户端的标识信息;步骤104,将所述标识信息添加到配置文件中,并根据所述标识信息开启所述指定XMPP客户端对应的服务线程的信令跟踪开关,其中所述服务线程与所述指定XMPP客户端一一对应,所述指定XMPP客户端的所有消息均通过所述服务线程接收和发送;步骤106,在所述信令跟踪开关开启时,获取所述指定XMPP客户端对应的所述服务线程中接收和发送的所有消息,并将所述所有消息存储到所述消息服务器的本地日志文件中。
在该技术方案中,在消息服务器接收到指定XMPP客户端的跟踪请求时,将获取的指定XMPP客户端的标识信息添加到配置文件中,并开启指定XMPP客户端的服务线程的信令跟踪开关,这样,即开始信令跟踪,获取其服务线程中的所有消息,并存储到本地日志文件中,以实现信令跟踪的目的。这种高性能设计,对XMPP信息服务器的性能几乎影响,由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程,只需要在消息服务器上实施一些操作,即可达到信令跟踪的目标。
在上述技术方案中,优选地,还包括:在开启所述指定XMPP客户端对应的服务线程的信令跟踪开关之前,判断在预设的内存表中是否存在所述指定XMPP客户端的所述标识信息;在所述预设的内存表中存在所述指定XMPP客户端的所述标识信息时,将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为开启状态。
在该技术方案中,将指定XMPP客户端的标识信息储存在预设的内存表中,由于服务线程与指定XMPP客户端一一对应的,这样可以更好的针对信令来对目标进行跟踪。将指定XMPP客户端的信令跟踪状态修改为开启状态,这样的设计可以有效的避免对非指定的用户信令的跟踪。
在上述技术方案中,优选地,还包括:在将所述所有消息存储到所述消息服务器的本地日志文件中之前,将所述所有消息存储到日志缓存区中,以及在所述日志缓存区已满,或者所述日志缓冲区的消息超过预设时间未同步到本地日志文件时,将所述所有消息存储到所述消息服务器的本地日志文件中。
在该技术方案中,如果日志缓存区已满,将所有的消息储存到消息服务器的本地日志中,减少对信息服务器性能的影响,并且可以更好的保存目标信息。
在上述技术方案中,优选地,还包括:当消息服务器接收到对所述指定XMPP客户端的关闭信令跟踪请求时,从所述关闭跟踪请求中获取所述指定XMPP客户端的所述标识信息;将所述标识信息从所述配置文件中删除,并将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为关闭状态,关闭所述指定XMPP客户端对应的服务线程的信令跟踪开关;以及判断所述日志缓冲区是否为空,在判断结果为否时,将所述日志缓冲区的消息同步到所述本地日志文件中。
在该技术方案中,根据关闭信令跟踪请求,可以直接删除配置文件中的标识信息,相应地,内存表中的状态将修改为关闭,指定XMPP客户端对应的服务线程的信令跟踪开关也将被关闭,同时将跟踪得到的消息同步到本地日志文件中,完成本次信令跟踪。
在上述技术方案中,优选地,还包括:根据接收到的对指定XMPP客户端的信令跟踪状态查询命令,获取所述预设的内存表,以从所述预设的内存表中获取所述指定XMPP客户端的信令跟踪状态。
在该技术方案中,用户还可以对指定XMPP客户端的信令跟踪状态进行查询,从而便于用户获知每个XMPP客户端的信令状态。
图2示出了根据本发明的实施例的基于XMPP协议的消息服务器的框图。
如图2所示,根据本发明的实施例的基于XMPP协议的消息服务器,包括:第一获取单元202,当接收到对指定XMPP客户端的启动信令跟踪请求时,从所述启动跟踪请求中获取所述指定XMPP客户端的标识信息;开启单元204,将所述标识信息添加到配置文件中,并根据所述标识信息开启所述指定XMPP客户端对应的服务线程的信令跟踪开关,其中,所述服务线程与所述指定XMPP客户端一一对应,所述指定XMPP客户端的所有消息均通过所述服务线程接收和发送;存储单元206,在所述信令跟踪开关开启时,获取所述指定XMPP客户端对应的所述服务线程中接收和发送的所有消息,并将所述所有消息存储到所述消息服务器的本地日志文件中。
在该技术方案中,在消息服务器接收到指定XMPP客户端的跟踪请求时,将获取的指定XMPP客户端的标识信息添加到配置文件中,并开启指定XMPP客户端的服务线程的信令跟踪开关,这样,即开始信令跟踪,获取其服务线程中的所有消息,并存储到本地日志文件中,以实现信令跟踪的目的。这种高性能设计,对XMPP信息服务器的性能几乎影响,由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程,只需要在消息服务器上实施一些操作,即可达到信令跟踪的目标。
在上述技术方案中,优选地,还包括:第一判断单元208,在开启所述指定XMPP客户端对应的服务线程的信令跟踪开关之前,判断在预设的内存表中是否存在所述指定XMPP客户端的所述标识信息;状态修改单元210,在所述预设的内存表中存在所述指定XMPP客户端的所述标识信息时,将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为开启状态。
在该技术方案中,将指定XMPP客户端的标识信息储存在预设的内存表中,由于服务线程与指定XMPP客户端一一对应的,这样可以更好的针对信令来对目标进行跟踪。将指定XMPP客户端的信令跟踪状态修改为开启状态,这样的设计可以有效的避免对非指定的用户信令的跟踪。
在上述技术方案中,优选地,所述存储单元具体用于:在将所述所有消息存储到所述消息服务器的本地日志文件中之前,将所述所有消息存储到日志缓存区中,以及在所述日志缓存区已满,或者所述日志缓冲区的消息超过预设时间未同步到本地日志文件时,将所述所有消息存储到所述消息服务器的本地日志文件中。
在该技术方案中,如果日志缓存区已满,将所有的消息储存到消息服务器的本地日志中,减少对信息服务器性能的影响,并且可以更好的保存目标信息。
在技术方案中,优选地,还包括:第二获取单元212,当接收到对所述指定XMPP客户端的关闭信令跟踪请求时,从所述关闭跟踪请求中获取所述指定XMPP客户端的所述标识信息;关闭单元214,将所述标识信息从所述配置文件中删除,并将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为关闭状态,关闭所述指定XMPP客户端对应的服务线程的信令跟踪开关;以及第二判断单元216,判断所述日志缓冲区是否为空,在判断结果为否时,将所述日志缓冲区的消息同步到所述本地日志文件中。
在该技术方案中,根据关闭信令跟踪请求,可以直接删除配置文件中的标识信息,相应地,内存表中的状态将修改为关闭,指定XMPP客户端对应的服务线程的信令跟踪开关也将被关闭,同时将跟踪得到的消息同步到本地日志文件中,完成本次信令跟踪。
在上述技术方案中,优选地,还包括:查询单元218,根据接收到的对指定XMPP客户端的信令跟踪状态查询命令,获取所述预设的内存表,以从所述预设的内存表中获取所述指定XMPP客户端的信令跟踪状态。
在该技术方案中,用户还可以对指定XMPP客户端的信令跟踪状态进行查询,从而便于用户获知每个XMPP客户端的信令状态。
图3示出了根据本发明的实施例的XMPP的C/S架构的示意图。
如图3所示,XMPP消息服务器302采用的是C/S的架构设计,除非是2个实体间进行点对点的文件传送,其他情况下,当XMPP客户端A304和XMPP客户端B306进行通讯时,客户端304和客户端306的消息都是通过XMPP消息服务器302进行传递。
图4示出了根据本发明的实施例的XMPP客户端和XMPP信息服务器的交互过程的示意图。
如图4所示,XMPP客户端402发送信令跟踪指令,当消息服务器接收到对指定XMPP服务器404的启动信令跟踪请求时,进入步骤406内存表打开流。
步骤408,XMPP服务器进行流确认。
步骤410,XMPP客户端402发送指令至XMPP服务器404。
步骤412,XMPP服务器404对XMPP客户端402进行应答,XMPP服务器404从所述启动跟踪请求中获取所述指定XMPP客户端402的标识信息,将所述标识信息添加到配置文件中,并根据所述标识信息开启所述XMPP客户端402对应的服务线程的信令跟踪开关。
步骤414,XMPP客户端发送状态通知至XMPP服务器404。
步骤416,XMPP服务器404获取XMPP客户端402的好友状态更新。
步骤418;XMPP客户端402发送消息。
步骤420,XMPP服务器404接收XMPP客户端402发送信息。
步骤422,XMPP客户端402发送关闭请求。
步骤424,XMPP服务器404关闭流,根据关闭信令跟踪请求,XMPP服务器404直接删除文件中的目标信息。
下面结合图5和图6详细说明本发明如何实现信令跟踪。
1、XMPP消息服务器设计
如图5所示,首先,设计一个全局的内存表(506),用于记录所有在线的用户信息:用户ID,是否启用信令跟踪,对应的服务线程标识;请参阅图6了解其数据结构;
其次,针对每个XMPP客户端,均在服务器端创建一个私有的服务线程;所有与该客户端(用户)有关的消息,均通过该线程接收和发送。该线程中设有局域变量,记录对应的用户是否开启了信令跟踪;
最后,设计一个可执行程序(504),用于启动跟踪、停止跟踪、查阅跟踪状态。
实施例一
启动信令跟踪
1)执行跟踪程序(504),参数1:start,参数2:待跟踪的用户ID;
2)将用户ID添加到配置文件(502);
3)维护内存表(506);如果用户ID(客户端A)在内存表(506)中存在,则将内存表(506)中该用户的信令跟踪状态改为开启;
4)维护各服务线程(508)的局域变量,将信令跟踪开关置为开启;
5)信令跟踪:服务线程(508)在转发客户端A的消息(包括发往客户端A的消息和由客户端A发出的消息)之前,如果信令跟踪开关为开,则将消息写到日志缓存区中;
6)日志输出:日志缓冲区满,或超过5秒钟未同步到磁盘,则将日志缓冲区中的信息写到本地日志文件(510);
7)如果用户不在线,只需要将用户ID添加到配置文件(502)中即可;用户登陆的时候,首先根据直接的用户ID检查配置文件(502),如果要求开启信令跟踪,则在内存表中设置该用户的信令跟踪状态为开启,并将服务线程(508)的信令跟踪开关置为开启;支持后续的信令跟踪功能。
实施例二
关闭信令跟踪
1)执行跟踪程序(504),参数1:stop,参数2:待跟踪的用户ID;
2)从配置文件(502)中删除指定的用户ID;
3)维护内存表(506);如果用户ID(客户端A)在内存表(506)中存在,则将内存表(506)中该用户的信令跟踪状态改为关闭;
4)维护各服务线程(508)的局域变量,将信令跟踪开关置为关闭;
5)日志输出:如果日志缓冲区非空,则同步到本地日志文件中。
实施例三
查阅信令跟踪状态
1)执行跟踪程序(504),参数1:status
2)输出配置文件(502)中的信息。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以实现信令跟踪,并且对XMPP信息服务器的性能几乎影响,同时由于XMPP协议的消息服务器是独立实现,不需要客户端配合,简化了实现流程。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于XMPP协议的消息服务器的信令跟踪方法,其特征在于,包括:
当消息服务器接收到对指定XMPP客户端的启动信令跟踪请求时,从所述启动跟踪请求中获取所述指定XMPP客户端的标识信息;
将所述标识信息添加到配置文件中,并根据所述标识信息开启所述指定XMPP客户端对应的服务线程的信令跟踪开关,其中所述服务线程与所述指定XMPP客户端一一对应,所述指定XMPP客户端的所有消息均通过所述服务线程接收和发送;
在所述信令跟踪开关开启时,获取所述指定XMPP客户端对应的所述服务线程中接收和发送的所有消息,并将所述所有消息存储到所述消息服务器的本地日志文件中。
2.根据权利要求1所述的基于XMPP协议的消息服务器的信令跟踪方法,其特征在于,还包括:
在开启所述指定XMPP客户端对应的服务线程的信令跟踪开关之前,判断在预设的内存表中是否存在所述指定XMPP客户端的所述标识信息;
在所述预设的内存表中存在所述指定XMPP客户端的所述标识信息时,将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为开启状态。
3.根据权利要求2所述的基于XMPP协议的消息服务器的信令跟踪方法,其特征在于,还包括:
在将所述所有消息存储到所述消息服务器的本地日志文件中之前,将所述所有消息存储到日志缓存区中,以及
在所述日志缓存区已满,或者所述日志缓冲区的消息超过预设时间未同步到本地日志文件时,将所述所有消息存储到所述消息服务器的本地日志文件中。
4.根据权利要求3所述的基于XMPP协议的消息服务器的信令跟踪方法,其特征在于,还包括:
当消息服务器接收到对所述指定XMPP客户端的关闭信令跟踪请求时,从所述关闭跟踪请求中获取所述指定XMPP客户端的所述标识信息;
将所述标识信息从所述配置文件中删除,并将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为关闭状态,关闭所述指定XMPP客户端对应的服务线程的信令跟踪开关;以及
判断所述日志缓冲区是否为空,在判断结果为否时,将所述日志缓冲区的消息同步到所述本地日志文件中。
5.根据权利要求2至4中任一项所述的基于XMPP协议的消息服务器的信令跟踪方法,其特征在于,还包括:
根据接收到的对指定XMPP客户端的信令跟踪状态查询命令,获取所述预设的内存表,以从所述预设的内存表中获取所述指定XMPP客户端的信令跟踪状态。
6.一种基于XMPP协议的消息服务器,其特征在于,包括:
第一获取单元,当接收到对指定XMPP客户端的启动信令跟踪请求时,从所述启动跟踪请求中获取所述指定XMPP客户端的标识信息;
开启单元,将所述标识信息添加到配置文件中,并根据所述标识信息开启所述指定XMPP客户端对应的服务线程的信令跟踪开关,其中,所述服务线程与所述指定XMPP客户端一一对应,所述指定XMPP客户端的所有消息均通过所述服务线程接收和发送;
存储单元,在所述信令跟踪开关开启时,获取所述指定XMPP客户端对应的所述服务线程中接收和发送的所有消息,并将所述所有消息存储到所述消息服务器的本地日志文件中。
7.根据权利要求6所述的基于XMPP协议的消息服务器,其特征在于,还包括:
第一判断单元,在开启所述指定XMPP客户端对应的服务线程的信令跟踪开关之前,判断在预设的内存表中是否存在所述指定XMPP客户端的所述标识信息;
状态修改单元,在所述预设的内存表中存在所述指定XMPP客户端的所述标识信息时,将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为开启状态。
8.根据权利要求7所述的基于XMPP协议的消息服务器,其特征在于,所述存储单元具体用于:
在将所述所有消息存储到所述消息服务器的本地日志文件中之前,将所述所有消息存储到日志缓存区中,以及
在所述日志缓存区已满,或者所述日志缓冲区的消息超过预设时间未同步到本地日志文件时,将所述所有消息存储到所述消息服务器的本地日志文件中。
9.根据权利要求8所述的基于XMPP协议的消息服务器,其特征在于,还包括:
第二获取单元,当接收到对所述指定XMPP客户端的关闭信令跟踪请求时,从所述关闭跟踪请求中获取所述指定XMPP客户端的所述标识信息;
关闭单元,将所述标识信息从所述配置文件中删除,并将所述预设的内存表中所述指定XMPP客户端的信令跟踪状态修改为关闭状态,关闭所述指定XMPP客户端对应的服务线程的信令跟踪开关;以及
第二判断单元,判断所述日志缓冲区是否为空,在判断结果为否时,将所述日志缓冲区的消息同步到所述本地日志文件中。
10.根据权利要求7至9中任一项所述的基于XMPP协议的消息服务器,其特征在于,还包括:
查询单元,根据接收到的对指定XMPP客户端的信令跟踪状态查询命令,获取所述预设的内存表,以从所述预设的内存表中获取所述指定XMPP客户端的信令跟踪状态。
CN201410756471.5A 2014-12-10 2014-12-10 基于xmpp协议的消息服务器及其信令跟踪方法 Active CN104468333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410756471.5A CN104468333B (zh) 2014-12-10 2014-12-10 基于xmpp协议的消息服务器及其信令跟踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410756471.5A CN104468333B (zh) 2014-12-10 2014-12-10 基于xmpp协议的消息服务器及其信令跟踪方法

Publications (2)

Publication Number Publication Date
CN104468333A CN104468333A (zh) 2015-03-25
CN104468333B true CN104468333B (zh) 2018-01-02

Family

ID=52913735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410756471.5A Active CN104468333B (zh) 2014-12-10 2014-12-10 基于xmpp协议的消息服务器及其信令跟踪方法

Country Status (1)

Country Link
CN (1) CN104468333B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155872B (zh) * 2015-03-26 2024-02-20 中兴通讯股份有限公司 一种信令跟踪结果处理方法及装置
CN115550305B (zh) * 2022-09-28 2024-03-01 深圳市凯迪仕智能科技股份有限公司 设备控制方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238505A (zh) * 2010-05-04 2011-11-09 中兴通讯股份有限公司 一种客户端多用户并发信令跟踪处理方法及系统
CN102891875A (zh) * 2011-07-21 2013-01-23 中兴通讯股份有限公司 信令跟踪方法、web客户端、服务端及信令跟踪系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238505A (zh) * 2010-05-04 2011-11-09 中兴通讯股份有限公司 一种客户端多用户并发信令跟踪处理方法及系统
CN102891875A (zh) * 2011-07-21 2013-01-23 中兴通讯股份有限公司 信令跟踪方法、web客户端、服务端及信令跟踪系统

Also Published As

Publication number Publication date
CN104468333A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
US20180248832A1 (en) Automatic provisioning of instant messaging and social networking services
US9621650B2 (en) Mobile application state identifier framework
CN100428126C (zh) 在客户端内容发送窗口中编辑图片的方法及客户端
CN105721389B (zh) 多终端设备互通数据处理和服务响应方法、装置
WO2017086772A1 (en) A smart home management device and humanized interaction method based on instant messaging (im)
CN104412542A (zh) 用于会议的电子工具和方法
CN103970081A (zh) 智能家居控制方法、装置和系统
CN103984579A (zh) 多设备间分享当前应用程序实时运行状态的方法
CN109450745A (zh) 信息处理方法、装置、智能控制系统以及智能网关
US9912519B2 (en) Transmission management apparatus, transmission system, and computer-readable recording medium
CN103916311A (zh) 一种信息传输控制方法,装置、及系统
CN105162702A (zh) 一种ac引流方法及装置
US9332406B2 (en) Method, apparatus, and system for updating contact information
CN108139936A (zh) 提供对自部署的虚拟应用中的虚拟机的串行端口的访问的方法、装置和系统
CN102984015A (zh) 一种网关设备自动识别接入设备类型以及优化服务的方法
CN104468333B (zh) 基于xmpp协议的消息服务器及其信令跟踪方法
CN108390795A (zh) 家电设备及其监控方法、智慧家居系统及可读存储介质
CN109688050A (zh) 即时通信的控制方法及系统
CN104394216B (zh) 一种对移动客户端的远程管理方法及装置
CN103873303B (zh) 一种设备配置方法及系统
CN110347451B (zh) 一种基于ai和iot的通用人机交互系统和方法
US9258526B2 (en) Method and system for audio/video communication, and client thereof
CN106357454A (zh) 日志系统控制装置及其控制方法
CN107370782A (zh) 对设备进行操作的方法、控制装置和代理装置
CN106488269A (zh) 基于第三方应用平台实现对电视设备控制的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant