一种信息交互的方法及系统转让专利

申请号 : CN200710305844.7

文献号 : CN101227427B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李斌

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明适用于通讯领域,提供了一种信息交互方法及系统,所述方法包括下述步骤:接收用户发送的消息发送请求;判断是否接收到用户发送的会话对象判断请求,如果否,直接响应所述消息发送请求,将消息发送至所述会话对象,不再执行以下步骤,如果是,继续执行以下步骤;判断所述消息发送请求对应的会话对象是否为正确的会话对象,如果是,响应所述消息发送请求,将消息发送至所述会话对象,如果否,取消消息发送操作。在本发明实施例中,在用户与会话对象进行信息交互之前,通过判断与用户进行信息交互的会话对象是否为正确的会话对象,从而有效的降低了信息交互的误差率,极大的提高了信息交互的可用性和便利性。

权利要求 :

1.一种信息交互方法,其特征在于,所述方法包括下述步骤:

接收用户发送的消息发送请求;

判断是否接收到用户发送的会话对象判断请求,如果否,直接响应所述消息发送请求,将消息发送至所述会话对象,不再执行以下步骤,如果是,继续执行以下步骤;

判断所述消息发送请求对应的会话对象是否为正确的会话对象,如果是,响应所述消息发送请求,将消息发送至所述会话对象,如果否,取消消息发送操作。

2.如权利要求1所述的方法,其特征在于,所述判断是否接收到用户发送的会话对象判断请求的步骤具体为:判断当前创建的会话窗口的数量是否达到预设会话窗口数量,如果是,则判定接收到用户发送的会话对象判断请求;如果否,则判定未接收到用户发送的会话对象判断请求。

3.如权利要求1所述的方法,其特征在于,所述判断是否接收到用户发送的会话对象判断请求的步骤具体为:判断用户是否预先设置了在与会话对象进行信息交互时,需要对所述会话对象进行判断,如果是,则判定接收到用户发送的会话对象判断请求;如果否,则判定未接收到用户发送的会话对象判断请求。

4.如权利要求1所述的方法,其特征在于,所述判断所述消息发送请求对应的会话对象是否为正确的会话对象的步骤具体为:向用户返回消息发送确认请求,当接收到用户发送的消息发送确认命令时,则判定所述消息发送请求对应的会话对象为正确的会话对象;当接收到用户发送的消息取消命令时,则判定所述消息发送请求对应的会话对象不是正确的会话对象。

5.如权利要求1所述的方法,其特征在于,所述判断所述消息发送请求对应的会话对象是否为正确的会话对象的步骤具体为:判断在预设的时间内是否接收到用户发送的消息撤回请求,如果是,则判定所述消息发送请求对应的会话对象不是正确的会话对象;如果否,则判定所述消息发送请求对应的会话对象为正确的会话对象。

6.如权利要求5所述的方法,其特征在于,如果在预设的时间内接收到用户发送的消息撤回请求,则删除缓存在消息队列中待发送至所述会话对象的消息数据包。

7.如权利要求1所述的方法,其特征在于,所述判断所述消息发送请求对应的会话对象是否为正确的会话对象的步骤具体为:判断所述消息发送请求对应的会话对象是否为最后一个与用户进行信息交互的会话对象,如果是,则判定所述消息发送请求对应的会话对象不是正确的会话对象;如果否,则判定所述消息发送请求对应的会话对象为正确的会话对象。

8.一种信息交互系统,其特征在于,所述系统包括:

消息发送请求接收模块,用于接收用户发送的消息发送请求;

会话对象判断请求模块,用于判断是否接收到用户发送的会话对象判断请求;

会话对象判断模块,用于在所述会话对象判断请求模块的结果为是时,判断所述消息发送请求对应的会话对象是否为正确的会话对象;

消息发送模块,用于当所述会话对象判断模块的结果为是,或者在所述会话对象判断请求模块的结果为否时,响应所述消息发送请求,将消息发送至所述会话对象;

消息取消模块,用于当所述会话对象判断模块的结果为否时,取消消息发送操作。

9.如权利要求8所述的系统,其特征在于,所述会话对象判断模块包括:消息发送确认模块,用于向用户返回消息发送确认请求,并接收用户发送的针对所述消息发送确认请求的指示命令;和/或消息撤回模块,用于当在预定的时间内接收到用户发送的消息撤回请求时,删除缓存在消息队列中的待发送至所述会话对象的消息数据包。

10.如权利要求9所述的系统,其特征在于,所述指示命令为消息发送确认命令或者消息取消命令,当所述指示命令为消息发送确认命令时,所述消息发送模块,响应所述消息发送请求,将消息发送至所述会话对象;当所述指示命令为消息取消命令时,所述消息取消模块,取消消息发送操作。

说明书 :

一种信息交互的方法及系统

技术领域

[0001] 本发明属于通讯领域,尤其涉及一种信息交互方法及系统。

背景技术

[0002] 随着网络通讯技术的发展,即时通讯系统已逐渐成为人们工作、生活中不可缺少的沟通交流工具。即时通讯客户端在即时通讯服务器注册后,通过注册时的帐号和密码即可登录到即时通讯服务器。各即时通讯客户端之间通过即时通讯服务器可以进行即时通讯和信息交互。用户可以主动向添加至即时通讯客户端的联系人发起会话请求,也可以接收其他用户发起的会话请求。当用户与即时通讯客户端中添加的联系人进行会话时,为用户与每个会话对象之间的会话分别创建一会话窗口。随着用户使用即时通讯系统的时间的增长,用户不但拥有了数量庞大的联系人,而且还拥有了多个群组。当用户同时与多个联系人或者参与到多个群组中进行会话时,需要创建多个会话窗口,便于用户与不同的会话对象进行会话。在多个会话对象之间进行切换时,容易将消息发送给错误的会话对象,从而造成信息交互的误差率高,引起与各会话对象之间信息交互的混乱。

发明内容

[0003] 本发明实施例的目的在于提供一种信息交互方法,旨在解决现有即时通讯系统中由于同时与多个会话对象进行信息交互时,信息交互的误差率高、信息交互混乱的问题。
[0004] 本发明实施例是这样实现的,一种信息交互方法,所述方法包括下述步骤:
[0005] 接收用户发送的消息发送请求;
[0006] 判断是否接收到用户发送的会话对象判断请求,如果否,直接响应所述消息发送请求,将消息发送至所述会话对象,不再执行以下步骤,如果是,继续执行以下步骤;
[0007] 判断所述消息发送请求对应的会话对象是否为正确的会话对象,如果是,响应所述消息发送请求,将消息发送至所述会话对象,如果否,取消消息发送操作。
[0008] 本发明实施例的另一目的在于提供一种信息交互系统,所述系统包括:
[0009] 消息发送请求接收模块,用于接收用户发送的消息发送请求;
[0010] 会话对象判断请求模块,用于判断是否接收到用户发送的会话对象判断请求;
[0011] 会话对象判断模块,用于在所述会话对象判断请求模块的结果为是时,判断所述消息发送请求对应的会话对象是否为正确的会话对象;
[0012] 消息发送模块,用于当所述会话对象判断模块的结果为是,或者在所述会话对象判断请求模块的结果为否时,响应所述消息发送请求,将消息发送至所述会话对象;
[0013] 消息取消模块,用于当所述会话对象判断模块的结果为否时,取消消息发送操作。
[0014] 在本发明实施例中,在用户进行信息交互之前,通过判断与用户进行信息交互的会话对象是否为正确的会话对象,从而有效的降低了信息交互的误差率,极大的提高了信息交互的可用性和便利性。

附图说明

[0015] 图1是本发明实施例提供的信息交互方法的实现流程图;
[0016] 图2是本发明实施例提供的信息交互系统的结构示意图。

具体实施方式

[0017] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0018] 在本发明实施例中,在接收到用户发送的消息发送请求后,通过判断该消息发送请求的会话对象是否为正确的会话对象,如果是,则响应该消息发送请求,将消息发送至用户请求发送的会话对象。
[0019] 图1示出了本发明实施例提供的信息交互方法的实现流程,详述如下:
[0020] 在步骤S101中,接收用户发送的消息发送请求,以向用户选择的会话对象发送消息。该消息发送请求携带消息发送信息。其中消息发送信息包括用户输入的消息文本等。
[0021] 在即时通讯系统中,各联系人之间需要进行信息交互时,为便于用户与不同的联系人进行会话,为与用户进行信息交互的每个会话对象创建一会话窗口,以供用户输入消息文本,并发送消息发送请求。在向用户选择的会话对象发送消息时,消息发送信息是以消息数据包的形式进行发送的。
[0022] 在步骤S102中,判断该消息发送请求对应的会话对象是否为正确的会话对象,如果是,则执行步骤S103,如果不是,执行步骤S104。在判断该消息发送请求对应的会话对象是否为正确的会话对象时,可以采用如下几种判断方式:
[0023] 方式1:向用户返回消息发送确认请求,当接收到用户发送的消息发送确认命令时,则该消息发送请求对应的会话对象为正确的会话对象,当接收到用户发送的消息取消命令时,则该消息发送请求对应的会话对象不是正确的会话对象。其中向用户返回消息发送确认请求的形式可以是创建并向用户输出一确认窗口,并在该确认窗口中显示用户输入的消息文本以及消息发送请求的会话对象。用户在接收到该消息发送确认请求后,判断该消息发送请求对应的会话对象是否为其期望的会话对象,如果是,则通过确认窗口发送消息发送确认命令,如果不是,则通过确认窗口发送消息取消命令。
[0024] 方式2:将接收到的消息数据包缓存至消息队列中,并启动对应的定时器。如果该定时器的计数值在预设的时间内,如假设预设的时间为2分钟,同时该定时器的计数值在2分钟内,接收到用户发送的消息撤回请求,则该消息发送请求对应的会话对象不是正确的会话对象;如果该定时器的计数值超过预设的时间,还未接收到用户发送的消息撤回请求,则该消息发送请求对应的会话对象为正确的会话对象。
[0025] 方式3:判断该消息发送请求对应的会话对象是否为最后一个与用户进行信息交互的会话对象,如果是,则该消息发送请求对应的会话对象为正确的会话对象;如果不是,则该消息发送请求对应的会话对象不是正确的会话对象。
[0026] 在本发明实施例中,也可以采用上述三种判断方式的一种或者多种组合来判断该消息发送请求对应的会话对象是否为正确的会话对象。
[0027] 当同时与用户进行信息交互的会话对象不多时,则创建的会话窗口也不多,从而如果在向会话对象发送消息发送请求后,对每个会话对象进行判断,则可能影响用户进行信息交互的速度,同时给用户之间的信息交互带来诸多麻烦。因此,在本发明一实施例中,在判断该消息发送请求对应的会话对象是否为正确的会话对象之前,还包括下述步骤:
[0028] 判断是否接收到用户发送的会话对象判断请求,如果是,则执行步骤S102,否则,直接将消息发送请求中的消息发送信息进行组合,并按照消息协议格式组包,形成消息数据包后,将该消息数据包发送至用户选择的会话对象。用户可以采用如下几种方式发送会话对象判断请求:
[0029] 方式1:预先设置不需要对消息请求对应的会话对象进行判断时的最多会话窗口的数量(称为预设会话窗口数量)。比较当前创建的会话窗口的数量是否达到预设会话窗口数量,如果达到,则发送会话对象判断请求,否则,不发送会话对象判断请求。
[0030] 方式2:接收用户输入的会话对象判断设置,根据用户的设置判断是否发送会话对象判断请求,如果用户在与会话对象进行信息交互时,通过即时通讯系统提供的人机交互界面,预先设置了需要对消息发送请求对应的会话对象进行判断,则在用户向会话对象发送消息时,同时发送会话对象判断请求,否则,不发送会话对象判断请求。
[0031] 在步骤S103中,响应该消息发送请求,根据该消息发送请求中携带的消息发送信息,按照消息协议格式组包后,将消息发送至用户选择的会话对象。不再执行步骤S104。
[0032] 当接收到用户发送的消息发送确认命令时,将消息发送请求中的消息发送信息进行组合,并按照消息协议格式组包,形成消息数据包后,将该消息数据包发送至用户选择的会话对象;
[0033] 当在预设的时间内未接收到用户发送的消息撤回请求时,将缓存在消息队列中的消息数据包发送至用户选择的会话对象;
[0034] 当该消息发送请求对应的会话对象为最后一个与用户进行信息交互的会话对象时,将消息发送请求中的消息发送信息进行组合,并按照消息协议格式组包,形成消息数据包后,将该消息数据包发送至用户选择的会话对象。
[0035] 在步骤S104中,不响应该消息发送请求,取消用户的此次消息发送操作。
[0036] 当接收到用户发送的消息取消命令时,则不再对消息发送请求中携带的消息发送信息进行组合和组包,直接终止消息发送操作;
[0037] 当在预设的时间内接收到用户发送的消息撤回请求时,删除缓存在消息队列中的发送至该会话对象的消息数据包,从而终止消息发送操作;
[0038] 当该消息发送请求对应的会话对象不是最后一个与用户进行信息交互的会话对象时,则不再对消息发送请求中携带的消息发送信息进行组合和组包,直接终止消息发送操作。
[0039] 图2示出了本发明实施例提供的信息交互系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
[0040] 消息发送请求接收模块21接收用户发送的消息发送请求,以向用户选择的会话对象发送消息。该消息发送请求携带消息发送信息。其中消息发送信息包括用户输入的消息文本等。在本发明实施例中,消息发送信息是以消息数据包的形式发送至会话对象的。
[0041] 会话对象判断请求模块22判断是否接收到用户发送的会话对象判断请求,如果未收到,则消息发送模块24直接响应消息发送请求接收模块21接收的消息发送请求,根据该消息发送请求中携带的消息发送信息,按照消息协议格式组包后,将消息数据包发送至用户选择的会话对象。如果会话对象判断请求模块22收到了用户发送的会话对象判断请求,则会话对象判断模块23判断消息发送请求接收模块21接收的消息发送请求对应的会话对象是否为正确的会话对象,如果是,则消息发送模块24响应消息发送请求接收模块21接收的消息发送请求,根据该消息发送请求中携带的消息发送信息,按照消息协议格式组包后,将消息数据包发送至用户选择的会话对象。如果不是,则消息取消模块25不响应消息发送请求接收模块21接收的消息发送请求,取消用户的此次消息发送操作。
[0042] 在本发明一实施例中当消息发送请求接收模块21接收用户发送的消息发送请求后,会话对象判断模块23可以直接判断消息发送请求接收模块21接收的消息发送请求对应的会话对象是否为正确的会话对象,而不需要在会话对象判断请求模块22判定已接收到用户发送的会话对象判断请求之后,才判断消息发送请求接收模块21接收的消息发送请求对应的会话对象是否为正确的会话对象。
[0043] 其中会话对象判断模块23包括消息发送确认模块231和/或消息撤回模块232。
[0044] 消息发送确认模块231向用户返回消息发送确认请求,并接收用户发送的针对该消息发送确认请求的指示命令。该指示命令是消息发送确认命令或者消息取消命令。用户在接收到消息发送确认请求后,如果该消息发送请求对应的会话对象为其期望的会话对象,则发送消息发送确认命令,否则,发送消息取消命令。当消息发送确认模块231接收到的指示命令为消息发送确认命令时,会话对象判断模块23判定消息发送请求接收模块21接收的消息发送请求对应的会话对象为正确的会话对象;当消息发送确认模块221接收到指示命令为消息取消命令时,会话对象判断模块23判定消息发送请求接收模块21接收的消息发送请求对应的会话对象不是正确的会话对象。
[0045] 消息撤回模块232在预定的时间内接收到用户发送的消息撤回请求时,删除缓存在消息队列中的消息数据包。此时会话对象判断模块23判定消息发送请求接收模块21接收的消息发送请求对应的会话对象不是正确的会话对象。如果消息撤回模块232在预定的时间内未接收到用户发送的消息撤回请求,则会话对象判断模块23判定消息发送请求接收模块21接收的消息发送请求对应的会话对象为正确的会话对象。
[0046] 在本发明实施例中,在用户与会话对象进行信息交互之前,通过判断对与用户进行信息交互的会话对象是否为正确的会话对象,从而有效的降低了信息交互的误差率。同时,当用户与错误的会话对象进行信息交互时,可以通过发送消息撤回请求,避免将信息发送至错误的会话对象,极大的提高了信息交互的可用性和便利性。
[0047] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。