一种通讯系统中获取信息的方法

文档序号:7597901阅读:134来源:国知局
专利名称:一种通讯系统中获取信息的方法
技术领域
本发明涉及通讯系统中的信息获取技术,尤其涉及一种从即时消息和存在业务(IMPS,Instant Messaging and Presence Service)服务器获取列表信息及其列表详细信息的方法。
背景技术
在无线通讯系统执行的业务中,IMPS属于一种消息类移动数据业务,由国际标准组织开放移动联盟(OMA,Open Mobile Alliance)的IMPS工作组研究和提供应用框架和规范。
当前,IMPS中客户端从IMPS服务器获取信息的方法主要采用OMA提出的无线村庄(WV,Wireless Village)标准交互协议,客户端从IMPS服务器获取的信息可以是联系列表信息或者群组信息。图1为WV协议所述客户端从IMPS服务器获取联系列表信息的标准消息流程图,客户端和IMPS服务器(IMPSServer)之间通过标准的WV协议信令接口通讯,其中包括首先,客户端向IMPS服务器发送获取联系列表信息的请求消息(GetListReq);IMPS服务器收到GetListReq后,通过联系列表信息的响应消息(GetListRes)返回联系列表信息。其次,客户端向IMPS服务器请求获取联系列表信息中每一个联系列表成员的详细信息,即针对每一个联系列表成员都向IMPS服务器发送获取联系列表成员详细信息的请求消息(ListManageReq);IMPS服务器收到后通过响应消息(ListManageRes)向客户端返回联系列表成员的详细信息。
上述WV协议中,对于客户端而言,获取到几个联系列表成员,就要向IMPS发送几次ListManageRes以获取每一个联系列表成员的详细信息。
图2为WV协议所述客户端从IMPS服务器获取群组信息的标准消息流程图。参见图2,客户端和IMPS服务器之间通过标准的WV协议信令接口通讯,IMPS服务器和组列表管理系统(GLMS)之间通过私有接口通讯。
首先,客户端向IMPS服务器发送获取群组列表信息的请求消息(GetGroupListReq);IMPS服务器收到GetGroupListReq后,通过获取群组列表请求消息(Imps_GGR)向GLMS获取群组列表信息,GLMS通过获取群组列表响应消息(imps_GGA)向客户端返回群组列表信息,IMPS服务器再通过获取群组列表信息的响应消息(GetGroupListRes)返回群组列表信息。其次,客户端向IMPS服务器请求获取群组列表信息中每一个群组成员的详细信息,即针对每一个群组成员都向IMPS服务器发送获取组成员信息请求消息(GetGroupMembersreq)和获取组属性请求消息(GetGroupPropsReq);IMPS服务器在每收到针对一个群组成员的GetGroupMembersreq和GetGroupPropsReq后,分别通过组成员请求消息(Imps_GIMR)和组属性请求消息(Imps_GIPR)向GLMS获取组成员信息和组属性信息,GLMS再通过组成员请求响应消息(imps_GIMA)和组属性请求响应消息(imps_GIPA)向IMPS服务器返回群组成员的详细信息,即组成员信息和组属性信息;IMPS服务器再通过获取组成员信息响应消息(GetGroupMembersres)和获取组属性响应消息(GetGroupPropsRes)向客户端返回群组成员的详细信息。
上述WV协议中,对于客户端而言,需要多次发送GetGroupMembersReq和GetGroupPropsReq,客户端获取到几个群组,就要送几次。因此,为了提高用户操作的响应速度,减少传输时延,当前针对IMPS的群组信息,目前出现了采用时间戳技术获取群组信息的方法,所述的时间戳是一个用于记录时间的时间标记,一般精确到秒,该方法对IMPS服务器时间戳和客户端时间戳分别进行比较,决定客户端当前是否保存有最新的群组信息,从而决定IMPS服务器是否需要给客户端返回获得最新的群组信息。
图3为现有技术中,客户端通过在IMPS服务器侧比较时间戳从IMPS服务器获取群组信息的方法流程图,该方法在IMPS服务器每当创建新群组列表、或者更新群组列表信息时,采用IMPS服务器时间戳记录当前创建或更新时间。
如图3所示,当客户端从IMPS服务器获取群组信息时,其流程包括步骤31、当客户端要获取群组信息时,首先向IMPS服务器发送获取群组列表信息的请求消息(GetGroupListReq)。
本步骤中,如果客户端是第一次向IMPS服务器获取群组信息,则GetGroupListReq不包括客户端时间戳,或者客户端时间戳没有记录时间,如果客户端不是第一次向IMPS服务器获取群组信息,则GetGroupListReq包括客户端时间戳,且该客户端时间戳的记录时间为客户端上次获取信息的时间。
步骤32、IMPS服务器在收到GetGroupListReq后,判断GetGroupListReq中是否包括客户端时间戳,且该客户端时间戳已记录有时间,如果是,则执行步骤33,否则,IMPS服务器向GLMS获取群组列表信息和IMPS服务器时间戳,并通过群组列表信息的响应消息(GetGroupListRes)向客户端返回当前最新的群组列表信息和服务器时间戳,执行步骤34。
步骤33、IMPS服务器判断所述客户端时间戳的记录时间是否早于IMPS服务器时间戳的记录时间,如果是,则表明客户端上次获取信息后,IMPS服务器中的信息又已更新,IMPS服务器通过GetGroupListRes向客户端返回当前最新的群组列表信息和服务器时间戳;否则,IMPS服务器通过GetGroupListRes向客户端返回一个简短消息,该消息表明群组列表信息未改变,执行步骤35。
步骤34、当客户端收到GetGroupListRes,将客户端时间戳的记录时间更新为服务器时间戳的记录时间,即标识客户端本次获取信息的时间。
此时,由于客户端只知道群组列表信息是否改变,但是并不能确定群组列表中具体每一项群组成员的详细信息是否更新过,因此客户端仍然要针对每一项群组成员发送一次消息,以获取关于该群组列表中群组成员的详细信息,有几个列表成员就要发送几次。因此继续执行下述步骤。
步骤35、客户端向IMPS服务器请求获取群组列表信息中每一个群组成员的详细信息,即针对每一个群组成员都向IMPS服务器发送GetGroupMembersreq和GetGroupPropsReq,该GetGroupMembersreq和GetGroupPropsReq中包括客户端时间戳。
步骤36、IMPS服务器在每收到针对一个群组成员的GetGroupMembersreq和GetGroupPropsReq后,从GLMS获取IMPS服务器的时间戳,并判断客户端时间戳的记录时间是否早于IMPS服务器时间戳的记录时间,如果是,则表明客户端上次获取信息后,IMPS服务器的信息又已更新,IMPS服务器向GLMS获取最新的群组成员详细信息,并向客户端返回对应的最新群组成员的详细信息;否则,向客户端返回一个简短消息,该简短消息表明该群组成员信息未改变。
上述在服务器侧比较时间戳的方法中,服务器只是在无需更新的情况下,通过返回简短消息减少了返回消息的内容大小,可以在一定程度上降低传输时延。
但是,在群组列表信息更新相对于客户端用户的使用频率来说不是很频繁的情形下,客户端往往是已经保存了当前最新的群组信息,此时应无需再向IMPS服务器发送请求消息,且由于不需要建立底层链路,因此消息个数的减少对于降低传输时延具有明显的作用,上述现有技术所述的在服务器比较时间戳的方法对于WV协议所述的所有消息都要发送,发送消息的个数没有减少,因此传输时延较长,造成用户操作响应速度较低,针对用户的服务质量不高。

发明内容
有鉴于此,本发明的主要目的是提供一种通讯系统中获取信息的方法,以降低信息传输时延,提高用户操作的响应速度。
一种通讯系统中获取信息的方法,该方法在服务器侧创建/更新列表信息时,采用服务器时间戳记录当前创建/更新时间,该方法还包括A、客户端向服务器发送获取列表信息的请求;B、服务器收到来自客户端的获取列表信息的请求后,向客户端返回当前最新的列表信息和服务器时间戳;C、客户端收到该最新的列表信息和服务器时间戳后,通过比较自身时间戳与服务器时间戳的记录时间,判断服务器侧是否已创建/更新了列表信息,如果是,则执行步骤D,否则,结束流程;D、客户端将自身时间戳的记录时间更新为服务器时间戳的记录时间;并向服务器发送获取最新列表信息中每一个列表成员详细信息的消息;服务器收到该消息后,向客户端返回对应列表成员的详细信息。
作为本发明的优选方案,步骤C中,所述判断服务器侧是否已创建/更新了列表信息的方法为客户端判断自身时间戳的记录时间是否早于服务器时间戳的记录时间,如果是,则判定服务器侧已创建/更新了列表信息;否则,判定服务器侧没有创建/更新列表信息。
作为本发明的优选方案,步骤C中,所述判断服务器侧是否已创建/更新了列表信息的方法为客户端判断自身时间戳的记录时间是否等于服务器时间戳的记录时间,如果是,则判定服务器侧没有创建/更新列表信息;否则,判定服务器侧已创建/更新了列表信息。
上述步骤C中,客户端在比较自身时间戳与服务器时间戳的记录时间之前,进一步包括判断自身是否存在已记录时间的时间戳,如果是,则继续执行步骤C;否则,执行步骤D。
作为本发明的优选方案,步骤A中所述客户端向服务器发送的获取列表信息的请求中进一步包括客户端类型标识,用于标识客户端需要采用的流程;步骤B中,在服务器收到来自客户端的获取列表信息的请求后,进一步包括服务器对客户端类型标识进行判断,如果标识指示的是标准的WV协议流程,则执行标准的WV协议信令流程,如果标识指示的是比较时间戳方案,则进入步骤B。
作为本发明的优选方案,所述服务器时间戳和列表信息保存在服务器本机上,该时间戳的记录时间采用该服务器的本机时间。
作为本发明的优选方案,所述服务器时间戳和列表信息保存在服务器侧与该服务器相连的管理设备上,例如组列表管理系统。服务器时间戳的记录时间采用该管理设备的本机时间;并且,步骤B中,在服务器收到来自客户端的获取列表信息的请求后,进一步包括所述服务器向与该服务器相连的管理设备发送获取列表信息消息,该管理设备收到获取列表信息消息后,将保存的服务器时间戳和列表信息返回给该服务器;步骤E中,在服务器收到来自客户端的获取最新列表信息中每一个列表成员详细信息的消息后,进一步包括所述服务器向与该服务器相连的管理设备发送获取列表成员详细信息的消息,该管理设备收到该获取列表成员详细信息的消息后,将列表成员的详细信息返回给该服务器。
上述的服务器为即时消息和存在业务服务器。
上述的列表信息为联系列表信息或者为群组信息。
相对于现有技术,由于本发明所述的方法在客户端通过比较时间戳使客户端得知服务器中的信息是否更新,如果更新,则再发消息获取信息;否则,不再发送消息。因此,本发明所述的方法减少了客户端获取信息时发送消息的个数,降低了传输时延,加快用户操作响应速度,提高用户的服务质量。尤其是在列表信息更新相对于客户端用户的使用频率来说不是很频繁的情形下,本发明的上述效果更为突出。另外,本发明还可以使服务器同时兼容标准的WV协议流程和在客户端比较时间戳的方案流程,以在不同的情形下采用不同的方案,最大化地提高响应速度,提高用户的满意度。


图1为WV协议所述客户端从IMPS服务器获取联系列表信息的标准消息流程图;图2为WV协议所述客户端从IMPS服务器获取群组信息的标准消息流程图;图3为现有技术所述客户端通过在IMPS服务器比较时间戳从IMPS服务器获取群组信息的方法流程图;图4为本发明第一实施例所述客户端从IMPS服务器获取群组信息时,在客户端侧比较时间戳的方法流程图;图5为本发明第二实施例所述客户端从IMPS服务器中获取联系列表信息时,在客户端侧比较时间戳的方法流程图。
具体实施例方式
下面结合附图和具体实施例对本发明再作进一步详细的说明。
本发明所述的方法可以适用于客户端从服务器获取的所有采用列表形式存储的信息,包括群组信息和联系列表信息,所述的服务器可以是存储群组信息和联系列表信息的IMPS服务器,也可是其他存储列表信息且与IMPS服务器相连的管理设备,例如GLMS服务器。
下面以客户端从IMPS服务器获取群组信息为例说明本发明所述客户端从IMPS服务器获取信息的方法。
图4为本发明第一实施例所述客户端从IMPS服务器获取群组信息时,在客户端侧比较时间戳的方法流程图,本方法在GLMS每当创建新群组列表、或者更新了群组列表信息时,在GLMS上采用IMPS服务器时间戳记录当前创建或更新时间。
如图4所示,当客户端从服务器中获取信息时,包括以下步骤
步骤41、客户端向IMPS服务器发送获取群组列表信息的请求消息(GetGroupListReq)。
与现有技术不同,本第一实施例所述的GetGroupListReq中不包括客户端时间戳。
步骤42、IMPS服务器接收到GetGroupListReq,从GLMS中获取群组列表信息和IMPS服务器时间戳,并通过群组列表信息的响应消息(GetGroupListRes)向客户端返回当前最新的群组列表信息和IMPS服务器的时间戳。
步骤43、客户端收到GetGroupListRes后,判断自身是否有客户端时间戳,且客户端时间戳已记录有时间,即判断自身是否有非空的客户端时间戳,如果是,则执行步骤44;否则,执行步骤45。
步骤44、客户端判断所述客户端时间戳的记录时间是否早于IMPS服务器时间戳的记录时间,即客户端上次获取信息之后,GLMS是否又更新了信息,如果是,则客户端判定群组信息已更新,执行步骤45;否则,客户端判定群组信息没有变化,客户端和IMPS服务器的群组信息达到同步,因此不需向IMPS服务器端发送GetGroupMembersreq和获取组属性请求消息(GetGroupPropsReq),即不需获取群组成员的详细信息,结束流程。
一般情况下,客户端时间戳的记录时间早于或者等于服务器时间戳的记录时间,不会出现客户端时间戳的记录时间晚于服务器时间戳的记录时间的情况。但是,如果系统发生异常错误,例如GLMS的本机时间被调慢,则当GLMS的列表信息更新后,客户端时间戳的记录时间有可能晚于服务器时间戳的记录时间,此时如果依旧按照上述步骤44的判断方式,则会出现错误。因此,为了避免系统异常造成的错误,本步骤44可以通过以下方式执行客户端判断所述客户端时间戳的记录时间是否不等于IMPS服务器时间戳的记录时间,如果是,则客户端判定群组信息已更新,执行步骤45;否则,客户端判定群组信息没有变化,结束流程。
步骤45、客户端将自身时间戳的记录时间更新为IMPS服务器时间戳的记录时间,即标识客户端本次获取信息的时间。
步骤46、客户端向IMPS服务器请求获取群组列表信息中每一个群组成员的详细信息,即针对每一个群组成员都向IMPS服务器发送GetGroupMembersreq和GetGroupPropsReq。
步骤47、IMPS服务器在每收到针对一个群组成员的GetGroupMembersreq和GetGroupPropsReq后,从GLMS中获取对应的最新群组成员的详细信息,并向客户端返回对应的最新群组成员的详细信息。
上述第一实施例中,所述群组信息和IMPS服务器的时间戳都保存在GLMS上,IMPS服务器通过自身与GLMS间的私有接口获取群组信息和IMPS服务器的时间戳,且所述IMPS服务器的时间戳的记录时间为GLMS的本机时间。本发明也可将群组信息和IMPS服务器的时间戳存储在其他与IMPS服务器相连的设备上,例如,如果是其他的列表信息,可以是该列表信息的管理系统,IMPS服务器通过自身与该设备间的私有接口获取群组信息和IMPS服务器的时间戳。
另外,对于某些列表信息,可能直接存储在IMPS服务器上,不需GLMS的参与,例如联系列表信息。因此本发明还可由IMPS服务器保存其自身时间戳,且所述IMPS服务器时间戳的记录时间为IMPS服务器的本机时间。
下面第二实施例以客户端从IMPS服务器获取联系列表信息为例说明本发明所述客户端从IMPS服务器获取信息的方法。
本第二实施例和第一实施例的方法流程基本相同,只是本第二实施例中,联系列表信息直接保存在IMPS服务器上,且每当创建新的联系列表、或者更新了联系列表信息时,由IMPS服务器更新其自身时间戳的记录时间。
参见图5,当客户端从IMPS服务器中获取信息时,本第二实施例包括步骤51、客户端向IMPS服务器发送获取联系列表信息的请求消息(GetListReq);IMPS服务器接收到GetListReq。
步骤52、IMPS服务器通过联系列表信息的响应GetListRes向客户端返回当前最新的联系列表信息和IMPS服务器时间戳。
步骤53、客户端收到GetListRes后,判断自身是否有非空的客户端时间戳,如果是,则执行步骤54;否则,执行步骤55。
步骤54、客户端判断所述客户端时间戳的记录时间是否早于/不等于IMPS服务器时间戳的记录时间,即客户端上次获取联系列表信息之后,IMPS服务器是否又更新了联系列表信息,如果是,则执行步骤55;否则,客户端判定联系列表信息没有变化,客户端和IMPS服务器的联系列表信息达到同步,因此不需向IMPS服务器端发送获取联系列表成员详细信息的请求消息(ListManageReq),结束流程。
步骤55、客户端记录当前时间,将该当前时间作为客户端当前时间戳的取值,即标识客户端本次获取信息的时间。
步骤56、客户端向IMPS服务器请求获取联系列表信息中每一个联系列表成员的详细信息,即针对每一个联系列表成员都向IMPS服务器发送ListManageReq。
步骤57、IMPS服务器在每收到针对一个联系列表成员的ListManageReq后,向客户端返回对应的最新的联系列表成员的详细信息。
本发明在群组信息或者联系列表信息更新不是很频繁的情况下,优点十分突出,因为此时能够有效地减少消息个数,降低传输时延,提高响应速度,并且通过减少消息个数降低传输时延的效果更加明显。
本发明还可使IMPS服务器同时兼容现有技术的WV协议标准流程和本发明上述的方案,以在不同的情形下采用不同的方案,最大化地提高响应速度,提高用户的满意度。
本发明根据客户端的使用频率为客户端设置类型标识,分别用于标识要求采用标准的WV协议流程的客户端或是要求采用“比较时间戳方案”的客户端,并在客户端向IMPS服务器发送的获取列表信息的请求中包括该类型标识。本发明中,该类型标识可以采用各种方式区分客户端类型,例如可以通过客户端标识(clientID)中的统一资源管理地址(URL)来区分客户端类型,如URL的值固定为“HWIMPSMC”,表示是要求采用“比较时间戳方案”的客户端,否则表示要求采用标准的WV协议客户端。
本发明还在上述步骤41之后、步骤42之前,以及步骤51之后、步骤52之前,进一步包括IMPS服务器区分客户端类型标识,如果是要求采用标准WV协议流程的客户端,则执行标准的WV协议信令流程,如果是要求采用比较时间戳方案的客户端,则执行步骤41或步骤51。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.一种通讯系统中获取信息的方法,该方法在服务器侧创建/更新列表信息时,采用服务器时间戳记录当前创建/更新时间,其特征在于,该方法还包括A、客户端向服务器发送获取列表信息的请求;B、服务器收到来自客户端的获取列表信息的请求后,向客户端返回当前最新的列表信息和服务器时间戳;C、客户端收到该最新的列表信息和服务器时间戳后,通过比较自身时间戳与服务器时间戳的记录时间,判断服务器侧是否已创建/更新了列表信息,如果是,则执行步骤D,否则,结束流程;D、客户端将自身时间戳的记录时间更新为服务器时间戳的记录时间;并向服务器发送获取最新列表信息中每一个列表成员详细信息的消息;服务器收到该消息后,向客户端返回对应列表成员的详细信息。
2.如权利要求1所述的方法,其特征在于,步骤C中,所述判断服务器侧是否已创建/更新了列表信息的方法为客户端判断自身时间戳的记录时间是否早于服务器时间戳的记录时间,如果是,则判定服务器侧已创建/更新了列表信息;否则,判定服务器侧没有创建/更新列表信息。
3.如权利要求1所述的方法,其特征在于,步骤C中,所述判断服务器侧是否已创建/更新了列表信息的方法为客户端判断自身时间戳的记录时间是否等于服务器时间戳的记录时间,如果是,则判定服务器侧没有创建/更新列表信息;否则,判定服务器侧已创建/更新了列表信息。
4.如权利要求1、2或3所述的方法,其特征在于,步骤C中,客户端在比较自身时间戳与服务器时间戳的记录时间之前,进一步包括判断自身是否存在已记录时间的时间戳,如果是,则继续执行步骤C;否则,执行步骤D。
5.如权利要求1所述的方法,其特征在于,步骤A中所述客户端向服务器发送的获取列表信息的请求中进一步包括客户端类型标识,用于标识客户端需要采用的流程;步骤B中,在服务器收到来自客户端的获取列表信息的请求后,进一步包括服务器对客户端类型标识进行判断,如果标识指示的是标准的WV协议流程,则执行标准的WV协议信令流程,如果标识指示的是比较时间戳方案,则进入步骤B。
6.如权利要求1所述的方法,其特征在于,所述服务器时间戳和列表信息保存在服务器本机上,该时间戳的记录时间采用该服务器的本机时间。
7.如权利要求1所述的方法,其特征在于,所述服务器时间戳和列表信息保存在服务器侧与该服务器相连的管理设备上,服务器时间戳的记录时间采用该管理设备的本机时间;并且,步骤B中,在服务器收到来自客户端的获取列表信息的请求后,进一步包括所述服务器向与该服务器相连的管理设备发送获取列表信息消息,该管理设备收到获取列表信息消息后,将保存的服务器时间戳和列表信息返回给该服务器;步骤E中,在服务器收到来自客户端的获取最新列表信息中每一个列表成员详细信息的消息后,进一步包括所述服务器向与该服务器相连的管理设备发送获取列表成员详细信息的消息,该管理设备收到该获取列表成员详细信息的消息后,将列表成员的详细信息返回给该服务器。
8.如权利要求7所述的方法,其特征在于,所述在服务器侧,保存时间戳和列表信息的管理设备为组列表管理系统。
9.如权利要求1、2、3、5、6、7或8所述的方法,其特征在于,所述的服务器为即时消息和存在业务服务器。
10.如权利要求1、2、3、5或6所述的方法,其特征在于,所述的列表信息为联系列表信息。
11.如权利要求1、2、3、5、7或8所述的方法,其特征在于,所述的列表信息为群组信息。
全文摘要
本发明公开了一种通讯系统中获取信息的方法,在服务器侧创建/更新列表信息时,采用服务器时间戳记录当前创建/更新时间,包括A.客户端向服务器发送获取列表信息的请求;B.服务器向客户端返回当前最新的列表信息和服务器时间戳;C..客户端通过比较自身时间戳与服务器时间戳的记录时间,判断服务器侧是否已创建/更新了列表信息,如果是,则执行步骤D,否则,结束流程;D.客户端将自身时间戳的记录时间更新为服务器时间戳的记录时间;并向服务器发送获取最新列表信息中每一个列表成员详细信息的消息;服务器收到该消息后,向客户端返回对应列表成员的详细信息。本方法可以降低信息传输时延,提高用户操作的响应速度。
文档编号H04L29/02GK1767520SQ20041008098
公开日2006年5月3日 申请日期2004年10月26日 优先权日2004年10月26日
发明者牟伦见, 孙志斌, 任旭鸣, 王珏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1