发明内容
本发明要解决的技术问题是提供一种获取移动用户状态信息的方法,使得移动用户的当前状态信息可以为关注者所获取。
为了解决上述技术问题,本发明提供了一种获取移动用户当前状态信息的方法,包括以下步骤:
(a)移动用户利用终端完成包含有效时间段和状态提示信息的状态信息设置,用户识别模块将状态信息按约定格式组织成状态信息提交消息发送到状态管理服务器;
(b)状态管理服务器解析收到的状态信息提交消息,将提交的状态信息添加或更新到该移动用户的状态记录中;
(c)状态管理服务器定时检查状态提供者的当前状态是否发生变化,对当前状态变化的状态提供者,更新其当前状态记录;
(d)状态管理服务器根据关注者设定的获取当前状态信息的方式,提取出其所关注的状态提供者的当前状态提示信息发送给所述关注者。
进一步地,为了使移动用户能够在关注对象当前状态发生变化时及时得到通知,所述步骤(d)进一步包括以下步骤:
(d1)移动用户利用终端输入或选择希望订阅的状态提供者的身份标识,向状态管理服务器发送约定格式的状态订阅请求消息,状态管理服务器收到该消息后,将该订阅者的身份标识加入到被订阅者的订阅者列表中;
(d2)状态管理服务器在检查到状态提供者的当前状态发生变化时,找到该状态提供者的状态订阅者并向其状态订阅者发送状态变更消息,携带该状态提供者的当前状态提示信息和身份标识;
(d3)所述订阅者的用户识别模块解析收到的状态变更消息后,根据被订阅者的身份标识,将消息中的当前状态提示信息更新并保存到与该被订阅者关联的状态存储区。
进一步地,为了方便普通用户随时查询状态提供者的当前状态,所述步骤(d)进一步包括以下步骤:
(D1)状态查询者利用终端输入或选择希望查询的状态提供者的身份标识,向状态管理服务器发送约定格式的状态信息查询消息;
(D2)状态管理服务器收到该消息后,根据欲查询对象的身份标识从该对象当前状态记录中提取出其当前状态提示信息返回该状态查询者的终端。
进一步地,为了方便状态提供者了解状态管理服务器上自己的状态信息,上述方法还可具有以下特点:还包括以下状态提供者对自己的状态信息进行查询的步骤:
(o)状态提供者利用终端输入或选择状态自查指令,向状态管理服务器发送约定格式的状态自查请求消息;
(p)状态管理服务器解析收到的该状态自查请求消息,根据消息发送者的身份标识找到该状态提供者所要查询的状态记录,将记录包含的状态信息加入应答消息发送给发起查询请求的状态提供者;
(q)返回的状态信息通过该状态提供者的终端显示给用户。
进一步地,为了方便状态提供者对状态管理服务器上的状态信息进行修改,上述方法还可具有以下特点:还包括以下状态提供者对自己的状态信息进行修改的步骤:
(u)状态提供者利用终端对保存或查询返回的已提交的状态信息进行修改或者决定删除,用户识别模块向状态管理服务器发送约定格式的状态信息更新消息,携带修改后的状态信息或删除标志;
(v)状态管理服务器解析收到的状态信息更新消息,找到该状态提供者的原有状态信息的记录并更新或删除该记录。
进一步地,上述方法还可具有以下特点:所述用户的身份标识为用户识别模块号码。
进一步地,上述方法还可具有以下特点:所述用户识别模块与状态管理服务器之间的通讯都采用短消息的形式,利用数据短消息或者普通短消息来传递消息。
进一步地,为了满足状态提供者对不同人群提供不同状态提示信息或不提供状态信息的需要,上述方法还可具有以下特点:所述步骤(a)中设置的状态信息还包括用一组用户识别模块号码组织的,在同一时间段可设置对应不同状态提示信息的作用人群,所述状态管理服务器在发送状态变更消息时,先根据用户识别模块号码判断所发送对象归属的作用人群,再将该作用人群对应的状态提示信息加入状态变更消息,或者该作用人群属于需对其保密人群,则不发送状态变更消息。
进一步地,为了方便查询,上述方法还可具有以下特点:所述状态查询者的终端与状态管理服务器之间的通讯采用普通短消息的形式,所述约定格式的状态信息查询消息包括设定的功能代码和所要查询的用户识别模块号码。
进一步地,为了及时更新用户当前状态并通知关注者,上述方法还可具有以下特点:所述步骤(c)中状态管理服务器还在收到状态信息提交消息和状态信息更新消息后,对发送消息的状态提供者的当前状态是否变化进行判断。
进一步地,为了提醒关注者用户修改了自己的当前状态,上述方法还可具有以下特点:所述状态管理服务器还判断当前状态变化的原因,对于因有效时间结束而引起的当前状态变化,还向状态提供者发送状态信息变化通知,指明失效的状态记录;该状态提供者的用户识别模块解析收到的该通知后,清除保存的该状态记录和相关标记。
进一步地,为了可以有针对性地选择欲查询的记录,上述方法还可具有以下特点:所述步骤(o)中状态提供者是先选择欲查询的状态记录,用户识别模块将欲查询状态记录的标记加入到所述状态自查请求消息中发送到状态管理服务器;所述步骤(p)中状态管理服务器只向该状态提供者返回该标记所标识的状态记录的状态信息。
进一步地,为了将状态提供者的当前状态变化及时通知关注者,上述方法还可具有以下特点:所述步骤(v)之后还包括步骤:状态管理服务器判断该状态提供者的当前状态是否变化,如果发生变化,给该状态提供者的订阅者发送状态变更消息;及/或状态管理服务器查找当前状态记录所属时间段中进行过查询的查询者,向查询者发送当前状态修改的提示信息。
进一步地,为了提高数据的安全性,上述方法还可具有以下特点:所述状态管理服务器和用户识别模块收到与状态信息相关的消息后都进行数据的消息验证码校验,通过后再对消息进行解析。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述订阅者还可以进行订阅状态的设置,在所述步骤(d)只向订阅状态为“启用”的订阅者发送状态变更消息。
本发明要解决的另一技术问题是提供一种获取移动用户状态信息的系统,使得移动用户的当前状态信息可以为关注者所获取。
为了解决上述技术问题,本发明又提供了一种获取移动用户当前状态信息的系统,其特征在于,包括用户识别模块、移动终端、状态管理服务器以及该状态管理服务器与移动终端间的通讯网络;所述状态管理服务器包括数据收发模块、状态信息处理模块、数据库管理模块和数据库,其中:
所述数据收发模块,用于将待发送的信息组织成协议规定的格式发往接收方,对接收的消息按约定的格式进行解析后交给状态信息处理模块;
所述状态信息处理模块进一步包括记录更新处理单元,用于将状态信息保存或更新到数据库中与状态提供者关联的记录中;状态变更处理单元,用于定时比较当前时间和状态记录中的有效时间段,在状态提供者当前状态变化时更新其当前状态记录;状态信息通知单元,用于提取出关注者所关注的状态提供者的当前状态提示信息,发送给所述关注者。
所述数据库,用于保存作为状态提供者的用户的属性信息,以及保存包括有效时间段、状态提示信息的状态记录;
所述数据库管理模块进一步包括用户属性管理单元,用于管理状态提供者的属性信息;数据库接口单元,完成数据库中数据的读出或写入;
所述移动终端用于传递用户识别模块和所述状态管理服务之间的消息;
所述用户识别模块包括数据发送和接收模块、状态设置及提交模块和状态信息存储模块,其中:
所述数据发送和接收模块,用于将待发送的信息按照协议规定的格式组织成消息发往状态管理服务器,以及接收状态管理服务器下传的数据,依约定协议对其进行解析;
所述状态设置及提交模块,用于提供用户进行状态设置所需的界面,接收用户输入或选择的状态信息,将设置或调用的状态信息提交到所述数据发送和接收模块发送,并可将设置的状态信息保存到所述状态信息存储模块;
所述状态信息存储模块,用于保存用户设置的状态信息,以及保存状态管理服务器下传的所关注对象的当前状态提示信息;
进一步地,上述系统可具有以下特点:所述数据库管理单元还包括订阅者管理单元,用于根据订阅申请将该订阅者的身份标识加入到所述数据库中被订阅者的关联信息中;所述状态信息通知单元是对状态订阅进行处理的单元,用于在状态提供者当前状态发生变化时,提取出其当前状态记录中的状态提示信息和其订阅者的身份标识交给数据发送单元组织成状态变更消息发送;相应地,所述用户识别模块还包括一个状态订阅及显示模块,用于提供状态订阅所需的界面,将用户输入或选择的信息组织成订阅信息提交到所述数据发送和接收模块,收到被订阅者的当前状态提示信息后保存到所述状态信息存储模块并通过所述移动终端显示。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述状态信息通知单元是对状态查询进行处理,在收到状态信息查询请求消息后,提取出要查询的状态提供者的当前状态提示信息,和解析出的查询者的身份标识一起交给数据发送单元组织成查询应答消息发送。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述移动终端和状态管理服务器之间的通讯网络由无线或有线通讯系统和短消息转发设备组成。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述状态管理服务器的数据收发模块和用户识别模块的数据接收和发送模块都还包括数据安全处理单元,用于对要发送的数据加上报文头和校验字,对接收的数据进行消息验证码校验,判断接收数据的合法性。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述状态管理服务器的状态信息处理模块还包括状态自查处理单元,用于在收到状态信息自查请求后,提取出状态提供者要查的状态记录的状态信息,交给数据收发模块发送;相应地,所述用户识别模块还包括状态自查及显示模块,用于提供状态提供者查询自己状态信息的界面,将自查请求提交到所述数据接收和发送模块发送,并将收到的所查询的状态信息显示给用户。
进一步地,为了满足订阅者的多种需要,上述方法还可具有以下特点:所述用户识别模块还包括状态信息修改模块,用于提供状态提供者对调出或查询得到的状态信息进行修改编辑的界面,并将修改后的状态信息或操作指示提交到消息发送单元组织发送。
本发明要解决的又一技术问题是提供一种具有移动用户状态信息处理功能的用户识别模块,可以完成状态信息的设置、提交等功能。
为了解决上述技术问题,本发明还提供了一种具有移动用户状态信息处理功能的用户识别模块,其特征在于,包括数据发送和接收模块、状态设置及提交模块和状态信息存储模块,其中:
所述数据发送和接收模块进一步包括:消息发送单元,用于将待发送的信息按照协议规定的格式组织成一条或多条消息发往状态管理服务器;消息接收单元,用于接收状态管理服务器下传的数据,依约定协议对其进行解析;
所述状态设置及提交模块用于提供用户进行状态设置所需的界面,接收用户输入或选择的状态信息,将设置或调用的状态信息提交到消息发送单元发送,需要时将设置的状态信息保存到状态信息存储模块。
所述状态信息存储模块进一步包括:状态记录存储单元,用于保存用户设置的状态信息;当前状态存储单元,用于保存状态管理服务器下传的所关注对象的当前状态提示信息。
进一步地,上述用户识别模块还可具有以下特点:还包括状态自查及显示模块,用于提供状态提供者查询自己状态信息的界面,将自查请求提交到消息发送单元,将消息接收单元收到的所查询的状态信息通过手机屏幕显示给用户。
进一步地,上述用户识别模块还可具有以下特点:还包括状态信息修改模块,用于提供状态提供者对调出或查询得到的状态信息进行修改编辑的界面,并将修改后的状态信息或操作指示提交到消息发送单元。
进一步地,上述用户识别模块还可具有以下特点:还包括状态订阅及显示模块,用于提供状态订阅所需的界面,接收用户输入或选择的信息,将关注对象的用户识别模块号码等订阅信息提交到消息发送单元,并将下传的当前状态提示信息保存到状态信息存储模块和通过终端显示所需的当前状态提示信息。
进一步地,上述用户识别模块还可具有以下特点:还包括群组管理模块,用于将关注的对象进行分组,并能够在组内添加、删除、修改关注的人和相对应的用户识别模块号码。
进一步地,上述用户识别模块还可具有以下特点:所述数据发送和接收模块还包括数据安全处理单元,用于对要发送的数据加上报文头和校验字,对接收的数据进行消息验证码校验,并判断下发数据的合法性。
由上可知,本发明利用状态管理服务器作为移动用户状态信息的管理中心,移动用户可以将自己的状态设置信息提交到状态管理服务器保存,进一步还可以进行修改和查询。而对于想了解其它移动用户状态的用户,可以作为其关注对象的订阅者,在被订阅者当前状态变化时由状态管理服务器自动发送新的当前状态信息,或者也可以随机地向状态管理服务器查询关注对象的状态。因此,利用本发明,移动用户可以方便、及时地获取所关注的移动用户的当前状态信息。
具体实施方式
第一实施例
本发明采用了状态管理服务器来保存和管理移动用户的状态信息,相关的移动用户包括状态信息的提供者(也称被订阅者)和关注者(可以是状态订阅者、状态查询者)。提供者负责设置自己的状态信息并发送到状态管理服务器,需要时进行更新和修改;而状态管理服务器除保存和更新用户的状态信息外,还在某用户当前状态发生变化时,将其新的状态信息通知订阅者。在移动用户方面,本发明利用STK(SIM Tool Kit,SIM卡应用开发工具包)技术对SIM卡的功能进行拓展,使其可以通过STK指令,借助手机完成状态信息的设置、收发、订阅、保存等有关功能。
图1示出了本实施例的系统,状态提供者可以利用自己的SIM卡1完成状态信息的设置和修改,并通过手机2发送出去,经通讯网络和短消息中心3(图中略去了短消息网关)转发到状态管理服务器4。状态管理服务器4判断该状态提供者的当前状态发生变化后,将新的状态信息通过短消息发送到其订阅者的手机5,再传递到订阅者的SIM卡6上保存。
在使用该增值业务前,状态提供者需开通该项业务。状态管理服务器会在数据库中加入该提供者的用户属性信息。本实施例还由系统自动为该状态提供者设置一个默认的状态记录,默认状态记录是指没有专门设置有效时间段的状态记录,相应的状态提示信息可以设置为“正常”,该记录也可以由用户设置和修改,如修改为“停机”等等。
对于不同人,状态提供者可能希望提示不同的状态信息,例如对普通对象提示:“出差中,28日返回”,而对某几个好朋友(以下称私密对象)可能提示:“出差中,请打:82332530”,即作用人群不同时,设置不同的状态提示信息,本实施例考虑了这种需要。
订阅者是指在状态提供者的当前状态变化时要求状态管理服务器主动通知自己的用户。移动用户利用终端输入或选择希望订阅的状态提供者的用户识别模块号码(以下也称为手机号码),向状态管理服务器发送约定格式的状态订阅请求消息(可以是用户识别模块组织的数据短消息或采用手机输入的普通短消息);状态管理服务器解析该消息后,将该订阅者的身份标识加入到被订阅者的订阅者列表中。另外,为了避免频繁的数据操作,本实施例允许订阅者进行订阅状态的设定,即设为启用(要求订阅)和停用(暂停订阅)两种。
图2示出了本实施例状态信息设置、提交和通知方法的流程,包括以下步骤:
步骤110,用户通过STK菜单进行状态设置,设置的信息包括有效时间段、状态提示信息和作用人群等;
本实施例中,作用人群是用一组手机号码来组织的,在同一时间段可以对不同的作用人群设置不同的状态提示信息。
譬如,在一应用实例中,用户做了下面这样的一条状态设置:
有效时间段:8月20日至8月29日;
状态提示1:“出差中”,对应于第一作用人群:普通对象;
状态提示2:“出差中,请打82332530”,对应于第二作用人群:私密对象,手机号码为:13911596801;
普通对象对应于除已设置手机号码外的所有手机号码。
步骤120,用户设置完成后,如确定发送,SIM卡将该设置的状态信息按照约定的协议组织成短消息形式的状态信息提交消息,通过短消息通道发送到状态管理服务器,同时在SIM卡上保存该设置;
文中将在SIM卡上或状态管理服务器上保存的这样一组关联的状态信息称为一条状态记录,该记录可以用类别标志或有效时间段信息来加以标识;另外,状态信息的提交也可以通过调用在SIM卡上保存的状态信息,然后再发送至状态管理服务器。
步骤130,状态管理服务器收到该状态信息提交消息后,进行数据MAC校验,通过检验后根据预先约定好的格式对该短消息进行解析。对开通该业务的移动用户,将提交的状态信息添加或更新到数据库该用户的状态记录中(如有时间段相冲突的记录,以后提交的为准);
步骤140,状态管理服务器判断该用户的当前状态是否发生变化,如果发生变化,执行步骤170,否则暂不发送,执行下一步;
需要说明的是,用户也可能提前提交状态信息,如上午得知下午要开会后,先将该下午要开会的状态信息提交给状态管理服务器,这时该用户的当前状态并不是在提交时就发生变化。
步骤150,状态管理服务器定期对数据库进行检索,根据系统当前时间和状态记录中的有效时间段,判断状态提供者的当前状态是否发生变化和变化原因,如果变化,执行下一步,否则继续定期检索;
步骤160,状态管理服务器将该用户的当前状态记录更新为当前有效的状态记录(即当前时间在该状态记录的有效时间段内),进一步判断该状态提供者当前状态发生变化原因是否是因有效时间结束而引起的,如果是,执行下一步,否则执行步骤180;
状态提供者的当前状态随时间而发生变化的情况至少有以下两种:一种是有效时间段结束时,系统把该用户当前状态记录自动更换为默认状态记录或者下一有效的状态记录;一种是有效时间段开始时,系统自动用原先存储的该有效时间段的状态记录更新为当前状态记录。
步骤170,状态管理服务器以短消息的方式向当前状态发生变化的状态提供者发送一个状态变化通知消息,指明有效时间结束的状态记录;状态提供者的SIM卡对该通知消息完成校验和解析后,清除保存的原状态记录和卡内相关的标记;
通过该步骤可以自动清除状态提供者SIM卡中失效的设置,方便用户,节约资源。
步骤180,状态管理服务器找到该用户状态的订阅者,对于订阅状态启用的订阅者,再根据手机号码判断各个订阅者所属的作用人群,选择相应的状态提示信息,和被订阅者的手机号码一起按协议约定的格式组织成状态变更消息,采用短消息方式最终发送到各个订阅者的SIM卡;
步骤190,订阅者的SIM卡收到状态变更消息后,对该短消息进行MAC校验,通过后按照预先约定好的格式对该短消息进行解析,根据消息中的被订阅者手机号码,将其中的状态提示信息保存到SIM卡中与该被订阅者关联的状态存储区,结束。
通过以上步骤,实现了移动用户状态信息的设置、提交、管理和通知等功能。状态提供者的当前状态变化时,其当前状态信息都可以自动通知给所有的订阅者,从而使订阅者可以了解到被订阅者的当前状态,合理地决定何时拨打电话。
为了扩大移动用户状态信息的应用范围,方便更多的移动用户,本实施例对未注册成为订阅者的用户,也允许其查询所关注对象的状态信息,称为状态查询者。查询的方法包括以下步骤:
步骤I,状态查询者利用普通短消息输入界面,输入预先约定好的功能代码和希望查询的手机号码,例如希望查询手机号为13801379640用户的当前状态,用户只需输入CX 13801379640,然后将该条信息(即预定格式的状态信息查询消息)通过普通短消息通道发送到状态管理服务器上。
步骤II,状态管理服务器收到该信息后,记录查询者的手机号码,并根据其欲查询对象的手机号码查找该对象的当前状态记录,如果找到再判断该查询者所属的作用人群,提取出对应的状态提示信息;
步骤III,状态管理服务器将提取出的当前状态提示信息通过普通短消息发送给状态查询者。
这里采用了普通短消息的方式,使得采用普通的SIM卡的用户也可以进行状态查询,从而大大扩展了获取用户当前状态信息的渠道。
考虑到管理服务器中的用户状态信息可能会因为通讯等原因而发生错误,或者状态提供者保存的状态设置可能丢失,此时移动用户会需要对管理服务器中自己的状态信息记录进行查询,状态提供者查询自己状态信息的方法包括以下步骤:
步骤一,状态提供者利用STK菜单选择欲查询的状态记录,可以是当前记录、默认记录、预设记录(指有效时间未到)或者所有记录,SIM卡将欲查询状态记录的标记加入到状态自查请求消息中,采用数据短消息发送到状态管理服务器;
步骤二,状态管理服务器收到该状态自查请求消息后,进行MAC校验和解析,根据手机号码和消息中要查的记录标识找到该状态提供者所要查询的状态记录,将该记录的所有状态信息和标识加入到应答消息中,采用数据短消息发送到状态提供者的SIM卡;
步骤三,状态提供者的SIM卡保存返回的状态信息,供用户查看,结束。
考虑到移动用户的状态设置可能因计划改变、输入错误等原因而需要修改或删除,因而用户需要对管理服务器中自己的状态信息记录进行修改或者删除,状态提供者可以按上述步骤查询到状态服务器返回的自己的状态信息后直接进行修改,但也可以调用SIM卡中保存的状态信息进行修改,修改状态管理服务器上自己的状态信息的方法包括以下步骤:
步骤A,状态提供者通过STK菜单对已有的状态信息进行修改或者决定删除,操作完成后向状态管理服务器发送状态信息更新消息,带有该条状态记录的标识以及修改后的状态信息或删除标志;
步骤B,状态管理服务器收到状态信息更新消息后,进行MAC校验和解析,更新对应的原有状态记录或删除该记录,并判断是否引起该状态提供者的当前状态变化,如果是,执行下一步,否则结束;
步骤C,给该状态提供者的订阅者发送状态变更消息,并查找当前状态记录所属时间段中进行过查询的查询者,用普通短消息方式向查询者发送当前状态修改的提示信息,以及时将修改通知到查询者。
本实施例方法在上述方案的基础上还可以有一些变换,例如,有时状态提供者出于保密的需要,想限定获取其状态信息的作用人群的范围,这可以通过只在私密对象中设状态提示信息来实现。但是,还可能状态提供者只是不希望一些人获取自己的信息,因而可设置了一个特殊的作用人群,该作用人群仍通过手机号码来组织,但是如果订阅者或查询者的手机号码与该特殊作用人群下的手机号码相同,就不给其发送状态信息的通知消息。
又如,对于状态管理服务器中状态信息的修改并不一定要利用专门的更新消息的方式,也可以采用提交新的状态信息消息的方式,由状态管理服务器覆盖掉有效时间段相同的原记录,删除状态记录通过提交相同时间段的默认的状态信息的方法来实现。
又如,可以取消作用人群的设置,这主要由用户的实际需求而定。
又如,如果状态管理服务定时检查当前状态是否变化的周期比较短,如一分钟或几分钟,可以满足实时性的需要,也可以只采用定时检索的方式来判断,而不在收到状态信息提交和更新消息时进行判断。
为了实现上述方法,如图3所示,本实施例的状态管理服务器中设置了数据收发模块、状态信息处理模块、数据库管理模块和数据库,其中:
所述数据收发模块进一步包括数据发送单元和数据接收单元,其中:数据发送单元用于将待发送的信息组织成协议规定的格式,以数据短消息或普通短消息的方式发往接收方;数据接收单元用于将接收的短消息并按约定的格式完成消息的识别和解析,交给状态信息处理模块;数据安全处理单元用于对要发送的数据加上报文头和校验字,对接收的数据进行MAC校验,判断接收数据的合法性。
所述状态信息处理模块进一步包括记录更新处理单元、状态变更处理单元、状态订阅处理单元以及状态查询处理单元,其中:
记录更新处理单元有两个子单元,第一子单元用于将状态信息提交消息中的有效时间段、状态提示信息和对应作用人群等保存到与状态提供者关联的记录中;第二子单元用于根据状态信息更新消息的记录标识,替换存储的原记录的信息。
状态变更处理单元用于定时和在收到状态信息提交、更新消息时比较当前时间和状态信息中的有效时间段,在状态提供者的当前状态发生变化时更新其当前状态记录(如果当前时间不在任何有效时间段中,则以默认记录为当前状态记录),并通知状态订阅处理单元。对有效时间段结束引起的状态变化,还和状态提供者的手机号码一起交给数据发送单元组织成状态变化通知消息发送给状态提供者。
状态订阅处理单元用于在状态提供者当前状态发生变化时,提取出当前状态记录中对应的状态提示信息,和订阅者的手机号码一起交给数据发送单元组织成若干状态变更消息发送。
状态查询处理单元有状态查询子单元和状态自查子单元,状态查询子单元用于在收到状态信息查询请求消息后,结合该查询者所属的作用人群提取出要查询的状态提供者的当前状态提示信息,和解析出的查询者的手机号码一起交给数据发送单元组织成查询应答消息发送;状态自查子单元用于在收到状态信息自查请求消息后,提取出状态提供者要查的状态记录的状态信息,交给数据发送单元组织成应答消息发送。
数据库进一步包括用户属性存储单元和状态信息存储单元,其中:用户属性存储单元用于保存作为状态提供者的用户的手机号码、名称等个人信息;状态信息存储单元用于保存状态记录以及关注该用户状态的订阅者的手机号码和订阅状态,状态记录中包括有效时间段、状态提示信息和对应的作用人群等信息,可以是当前状态记录、默认记录或者还未生效的记录(失效记录本实施例自动删除,但也可保留一段时间)。
数据库管理模块进一步包括用户属性管理单元、数据库接口单元和订阅者管理单元,用户属性管理单元用于添加、修改或删除状态提供者的属性信息;数据库接口单元用于充当状态信息处理模块和数据库的接口,完成数据的读出或写入;订阅者管理单元用于在收到订阅者的申请后,根据其指定要订阅用户的手机号码,将该订阅者的手机号码加入到该被订阅者的关联信息中。
相应的,如图3所示,本实施例对状态提供者和订阅者的SIM卡用STK技术进行功能拓展,使其可用于设置、更新和获取移动用户状态信息,该SIM卡包括数据发送和接收模块、状态设置及提交模块、状态自查及显示模块、状态信息修改模块、状态订阅及显示模块、状态信息存储模块和群组管理模块。
数据发送和接收模块进一步包括消息发送单元、消息接收单元和数据安全处理单元,消息发送单元用于将待发送的信息按照协议规定的格式组织成一条或多条短消息,以短消息的方式发往状态管理服务器;消息接收单元首先将接收的数据保存在临时缓冲区中,在所有当前批次的下行数据全部接收完后,将一条或多条串接后形成一条完整数据,并依约定协议对其进行解析;数据安全处理单元用于对要发送的数据加上报文头和校验字,对接收的数据进行MAC校验,判断下发到SIM卡数据的合法性。
状态设置及提交模块用于提供用户进行状态设置所需的界面,接收用户输入或选择的状态信息,将设置或调用的状态信息提交到消息发送单元,需要时保存在状态信息存储模块。
状态自查及显示模块用于提供状态提供者查询自己状态信息的界面,将自查请求提交到消息发送单元,将消息接收单元收到的所查询的状态信息通过手机屏幕显示给用户,需要时保存在状态信息存储模块。
状态信息修改模块用于提供状态提供者对调出或查询得到的状态信息进行修改编辑的界面,并将修改后的状态信息或操作指示提交到消息发送单元组织发送,需要时保存在状态信息存储模块。
状态订阅及显示模块用于提供状态订阅所需的界面,接收用户输入或选择的信息,将关注对象的手机号码等订阅信息提交到消息发送单元,并可将下传的当前状态提示信息保存到状态信息存储模块和将存储的用户当前状态数据组织成列表数据提供给用户察看、操作。
状态信息存储模块进一步包括状态记录存储单元和当前状态存储单元,状态记录存储单元用于保存用户设置的状态信息;当前状态存储单元用于保存状态管理服务器下传的所关注对象的当前状态提示信息。
群组管理模块用于将关注的对象进行分组,并能够在组内添加、删除、修改关注的人和相对应的手机号码。进行群组管理可以在想查询用户当前状态时只需要选取该组而无需每次将每一个人都选择或输入一遍,另一个好处是分组后用户在察看相应信息时将会比较方便,例如将张三放入亲友组,李四放入同学组,察看时就可以直接到亲友组内找张三,而不必在一张很大的列表中去寻找。
由于状态查询是通过普通短消息与状态管理服务器通讯的,所以现有SIM卡或手机上的功能模块即可实现,不必另外增加。
手机用于透明转发SIM卡和状态管理服务器之间的消息。
第二实施例
本实施例是第一实施例的简化方案,主要是本实施例不采用订阅的方式来获取移动用户的当前状态信息,因而状态管理服务器不需要进行向订阅者发送状态变更消息的相关操作,本实施例状态信息设置、提交和管理的方法包括以下步骤(如图4所示):
步骤210,用户通过STK菜单进行状态设置,设置的信息包括有效时间段、状态提示信息和作用人群等;
步骤220,用户设置完成后,如确定发送,SIM卡将该设置的状态信息按照约定的协议组织成短消息形式的状态信息提交消息,通过短消息通道发送到状态管理服务器,同时在SIM卡上保存该设置;
步骤230,状态管理服务器收到该状态信息提交消息后,进行数据MAC校验,通过后根据预先约定好的格式对该短消息进行解析,对开通该业务的移动用户,将提交的状态信息添加或更新到数据库该用户的状态记录中;
步骤240,状态管理服务器定时对数据库进行检查,根据系统当前时间和状态记录中的有效时间段,判断状态提供者的当前状态是否发生变化,如果变化,将该用户的当前状态记录更新为当前有效的状态记录。
状态查询者查询所关注对象的状态信息的流程,以及状态提供者修改状态管理服务器中自己的状态信息的流程都与第一实施例相同,在此不再赘述。在本实施例中,状态提供者查询状态管理服务器中自己的状态信息的流程与第一实施例基本相同,但是不再进行记录的选择,只是发送一个不包含记录标识的状态自查请求消息,状态管理服务器收到后一次下传所有记录的状态信息供状态提供者查看。为了避免记录过多,状态管理服务器要自动删除无效的记录。该状态自查请求采用普通短消息来传递。
利用本实施例上述的设置、提交和查询的流程,同样可实现获取移动用户的当前状态信息。
从系统上来说,本实施例的状态管理服务器和SIM卡都可以去掉状态订阅所需要的功能模块。具体来说,对于状态管理服务器,只有以下区别:
1)状态信息处理模块中没有状态订阅处理单元。
2)数据库的状态信息存储单元中不再保存订阅者的手机号码和订阅状态等与订阅有关的信息;
3)数据库管理模块中没有订阅者管理单元。
其它模块组成和功能都是一样的。
对于SIM卡来说,取消了状态订阅及显示模块和群组管理模块,且状态信息存储模块中取消了当前状态存储单元。其它模块组成和功能都是一样的,在此不再赘述。
本发明通过发现移动用户的一种新的需求,创造性地提出一种能够获取移动用户当前状态信息的方案,具体实现时,在上述实施例的基础上还可以有很多的变换:
又如,实施例虽然以包含SIM卡的手机为例,但本发明也可应用于包含CDMA网的UIM卡、3G范畴的USIM等用户识别模块的手机或者其它的移动通信终端设备。当然用户也可能通过其它的辅助方式进行相关的操作,如用户也可能通过在联网的计算机上登录网页而访问状态管理服务器并对状态信息进行编辑,本发明获取用户当前状态虽然与移动终端的呼叫有关,但具体的操作并不限于使用移动终端来进行,可以利用任何与状态管理服务器通讯的终端,此时用户也可以使用不同的身份标识。
又如,实施例状态管理服务器与SIM卡之间的消息传递是通过普通或数据短消息进行的,但是也可以采用所有无线和有线的通信手段,如利用GPRS及CDMA1X等其它类型的空中接口并选择相应的消息格式,或者是POS机的形式以有线方式下载。本发明对此并不加以限定。
又如,利用该状态管理服务器还可以对用户是否开机的状态进行查询,其它用户可以到该状态管理服务器上查询,采用的方法与状态信息查询一致。开机状态的判断方法是:用户每次开机上发开机信息给服务器更新状态,状态管理服务器还定期对所登记的用户发送开机查询消息,SIM卡在收到此消息后立即应答,如果状态管理服务器在一段时间内未收到应答将再次发起查询消息,在多次查询消息均未收到应答后认为此用户已关机,同时不再下发查询消息,直至下一次定期查询时间为止。
综上所述,本发明利用状态管理服务作为移动用户状态信息的管理中心,移动用户可以将自己的状态设置信息提交到状态管理服务器保存,进一步还可以进行修改和查询,而对于想了解其它移动用户状态的用户,可以作为其关注对象的订阅者,在被订阅者当前状态变化时由状态管理服务器自动发送新的当前状态信息,或者也可以随机地向状态管理服务器查询关注对象的状态。因此,利用本发明,移动用户可以方便、及时地获取所关注的移动户的当前状态信息。