CN102387092B - 管理消息的方法和装置 - Google Patents
管理消息的方法和装置 Download PDFInfo
- Publication number
- CN102387092B CN102387092B CN201010276192.0A CN201010276192A CN102387092B CN 102387092 B CN102387092 B CN 102387092B CN 201010276192 A CN201010276192 A CN 201010276192A CN 102387092 B CN102387092 B CN 102387092B
- Authority
- CN
- China
- Prior art keywords
- message
- index
- user
- request
- described user
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Abstract
本发明公开了一种管理消息的方法和装置,属于即时通讯领域。所述方法包括:接收删除用户A发表的消息M1的请求,所述请求中携带所述消息M1的索引ID1;将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取、转播或对话。所述装置包括:接收模块和更新模块。本发明通过设置消息状态,对于客户端达到消息被删除的效果,使其他用户无法对删除状态的消息进行拉取、转播或对话,而消息仍然存在,后续特定应用中可以显示已经删除的消息,可扩展性好。
Description
技术领域
本发明涉及即时通讯领域,特别涉及一种管理消息的方法和装置。
背景技术
网络即时通讯工具发展迅速,目前已经被大多数的网民所接受,成为人们工作生活中必不可少的软件工具。人们将工作生活中的各种消息通过即时通讯工具发布到网上,即时通讯的服务器保存用户发布的各种消息。因此,如何有效地对用户发布的各种消息进行管理成为用户非常关心的一个问题。
现有的消息管理方法,当服务器接收到删除某一个用户发表的某一条消息的请求时,根据请求中携带的该消息的索引,服务器会删除相应的消息。由于该消息在服务器被彻底清除,因此,该用户的听众无法对该消息进行拉取、转播或对话等操作。然而,在某些应用下,可能需要显示已经删除的消息。但是,由于该消息被服务器彻底清除,因此,已经删除的消息无法显示。
综上所述,发明人发现现有技术无法适应用户对已经删除消息的显示需要,可扩展性较差。
发明内容
为了提高可扩展性,本发明实施例提供了一种管理消息的方法和装置。所述技术方案如下:
一种管理消息的方法,所述方法包括:
接收删除用户A发表的消息M1的请求,所述请求中携带所述消息M1的索引ID1;
将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取、转播或对话;
所述接收删除用户A发表的消息M1的请求之前,还包括:
接收所述用户B转播所述用户A发表的消息M1的请求,所述请求包括所述用户B转播所述消息M1时发表的评论信息,将转播的消息M1和所述评论信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述评论信息;
根据所述索引ID2查找到对应的索引ID1和所述评论信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述评论信息;
或者,接收删除用户A发表的消息M1的请求之前,还包括:
接收所述用户B与所述用户A发表的消息M1进行对话的请求,所述请求包括所述用户B与所述消息M1对话时发表的对话信息,将消息M1和所述对话信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述对话信息;
根据所述索引ID2查找到对应的索引ID1和所述对话信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述对话信息。
其中,将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取,具体包括:
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B拉取所述用户A发表消息的请求;
将所述用户A发表消息中删除状态的索引ID1不返回给所述用户B、正常状态的索引返回给所述用户B
接收所述用户B发送的获取所述正常状态的索引对应消息的请求,并根据所述正常状态的索引查找到所述用户A发表消息中正常状态的消息,并返回给所述用户B。
其中,接收删除用户A发表的消息M1的请求之前,还包括:
所述用户B拉取所述用户A发表的消息M1;
相应的,将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行转播或对话,具体包括:
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B发送的与所述消息M1进行转播或对话的请求;
判断所述索引ID1对应的消息状态,当所述索引ID1对应的消息状态为删除状态时,向所述用户B返回转播失败或对话失败。
其中,将所述索引ID1对应的消息状态由正常状态更新为删除状态之后,还包括:
接收用户C获取所述用户B的消息M2的索引的请求,并向所述用户C返回所述消息M2的索引ID2;
接收所述用户C拉取所述索引ID2对应数据的请求,如果所述索引ID2对应的消息类型为转播类型,则根据所述索引ID2查找到对应的索引ID1、所述评论信息和所述索引ID1的签名,并返回给所述用户C;如果所述索引ID2对应的消息类型为对话类型,则根据所述索引ID2查找到对应的索引ID1和所述对话信息,并返回给所述用户C;
接收所述用户C拉取所述索引ID1对应数据的请求,如果返回给所述用户C的信息中包括所述索引ID1的签名,所述请求中还携带所述索引ID1的签名;
根据所述索引ID1对应的消息状态和所述请求中是否携带所述索引ID1的签名,判断是否向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中携带所述索引ID1的签名,向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中没有携带所述索引ID1的签名,向所述用户C返回拉取失败;如果消息状态为管理员删除状态,向所述用户C返回拉取失败。
一种管理消息的装置,所述装置包括:
接收模块,用于接收删除用户A发表的消息M1的请求,所述请求中携带所述消息M1的索引ID1;
更新模块,用于将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取、转播或对话;
所述装置还包括转播模块或对话模块,
所述转播模块,用于接收删除用户A发表的消息M1的请求之前,接收所述用户B转播所述用户A发表的消息M1的请求,所述请求包括所述用户B转播所述消息M1时发表的评论信息,将转播的消息M1和所述评论信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述评论信息;
根据所述索引ID2查找到对应的索引ID1和所述评论信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述评论信息;
所述对话模块,用于接收删除用户A发表的消息M1的请求之前,接收所述用户B与所述用户A发表的消息M1进行对话的请求,所述请求包括所述用户B与所述消息M1对话时发表的对话信息,将消息M1和所述对话信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述对话信息;
根据所述索引ID2查找到对应的索引ID1和所述对话信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述对话信息。
其中,所述更新模块包括第一更新单元,用于
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B拉取所述用户A发表消息的请求;
将所述用户A发表消息中删除状态的索引ID1不返回给所述用户B、正常状态的索引返回给所述用户B;
接收所述用户B发送的获取所述正常状态的索引对应消息的请求,并根据所述正常状态的索引查找到所述用户A发表消息中正常状态的消息,并返回给所述用户B。
其中,所述装置还包括拉取模块,用于接收用户A删除其发表的消息M1的请求之前,所述用户B拉取所述用户A发表的消息M1;
所述更新模块包括第二更新单元,用于
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B发送的与所述消息M1进行转播或对话的请求;
判断所述索引ID1对应的消息状态,当所述索引ID1对应的消息状态为删除状态时,向所述用户B返回转播失败或对话失败。
其中,所述装置还包括处理模块,用于将所述索引ID1对应的消息状态由正常状态更新为删除状态之后,
接收用户C获取所述用户B的消息M2的索引的请求,并向所述用户C返回所述消息M2的索引ID2;
接收所述用户C拉取所述索引ID2对应数据的请求,如果所述索引ID2对应的消息类型为转播类型,则根据所述索引ID2查找到对应的索引ID1、所述评论信息和所述索引ID1的签名,并返回给所述用户C;如果所述索引ID2对应的消息类型为对话类型,则根据所述索引ID2查找到对应的索引ID1和所述对话信息,并返回给所述用户C;
接收所述用户C拉取所述索引ID1对应数据的请求,如果返回给所述用户C的信息中包括所述索引ID1的签名,所述请求中还携带所述索引ID1的签名;
根据所述索引ID1对应的消息状态和所述请求中是否携带所述索引ID1的签名,判断是否向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中携带所述索引ID1的签名,向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中没有携带所述索引ID1的签名,向所述用户C返回拉取失败;如果消息状态为管理员删除状态,向所述用户C返回拉取失败。
本发明实施例提供的技术方案带来的有益效果是:
通过设置消息状态,对于客户端达到消息被删除的效果,使其他用户无法对删除状态的消息进行拉取、转播或对话,而消息仍然存在,后续特定应用中可以显示已经删除的消息,可扩展性好。
附图说明
图1是本发明实施例1提供的管理消息的方法流程图;
图2是本发明实施例1提供的网络架构示意图;
图3是本发明实施例1提供的用户A发表消息的信息交互图;
图4是本发明实施例1提供的用户A删除消息的信息交互图;
图5是本发明实施例1提供的用户A的听众用户B拉取消息的信息交互图;
图6是本发明实施例1提供的用户A的听众用户B对话或转播消息的信息交互图;
图7是本发明实施例1提供的用户B的听众用户C拉取原文已删除的转播消息的信息交互图;
图8是本发明实施例2提供的管理消息的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种管理消息的方法,该方法具体可由服务器执行以下步骤,包括:
101:接收删除用户A发表的消息M1的请求,该请求中携带消息M1的索引ID1;
102:将索引ID1对应的消息状态由正常状态更新为删除状态,该删除状态用于使用户B无法对消息M1进行拉取、转播或对话。
其中,用户B可以用户A的听众,由于听众可以自动的、频繁的拉取用户A的消息,对消息的传播速度最快,因此,阻止这些听众对删除状态的消息进行拉取、转播或对话,可以有效阻止消息的传播。用户B还可以是其他普通用户,这些普通用户可以在广播大厅中看到包括用户A在内的所有用户发表的消息,因此,本实施例也可以通过设置删除状态,阻止普通用户对消息的传播。
本实施例提供的方法,通过设置消息状态,对于客户端达到消息被删除的效果,使其他用户无法对删除状态的消息进行拉取、转播或对话,而消息仍然存在,后续特定应用中可以显示已经删除的消息,可扩展性好。
本实施例提供的方法,适用于即时通讯领域,下面以微博为例,详细介绍上述管理消息的方法。
微博中,消息类型至少包括:广播、转播、对话。广播:发送者原创的,发送者的所有的听众都会收到。转播:转发其他用户发表的消息,还可以对其他用户发表的消息进行评论等,发送者的所有的听众都会收到。对话:对话双方之间彼此互相收发消息。消息状态至少包括:正常、删除。其中,根据删除消息的执行主体,删除可以细分为用户删除和管理员删除。消息状态根据实际的业务需要,有可以有其他自定义状态,而且部分状态是可逆的,也即某一消息的一个状态与其另一状态在某种条件下相互转化。例如,消息状态还可以包括更新状态,当用户对该消息进行更新时,该消息的状态为更新状态,此时其他用户不能拉取更新状态的消息,当用户更新完毕后,该消息的状态转化为正常状态,则其他用户可以拉取正常状态的消息。
下面简单介绍微博中消息的传递过程。参见图2所示的网络架构示意图,客户端发送的消息,经过解析服务器,解析服务器解析消息的内容,包括正文,关系链等,并为每个消息分配一个唯一的索引ID;消息的正文及其相应的ID存储到数据服务器;用户的帐号及其发表消息的ID存储到索引服务器;消息中含有的关系链存储到关系服务器;客户端可以从索引服务器获取消息的ID,从数据服务器获取ID对应的消息正文。
其中,本实施例中所涉及的各种服务器可以是一个管理消息的装置的逻辑划分,此时,管理消息的装置相当于一个服务器;为了减轻管理消息的装置的负担,管理消息的装置也可以由实际的不同服务器组成,此时,管理消息的装置相当于由各个服务器组成的服务端。
下面分别从五个应用场景介绍管理消息的方法。
参加图3,步骤101之前,用户A发表消息,包括:
S10:用户A发表一条消息M1,解析服务器生成该消息M1的索引ID1(图中未标出);
S11:将索引ID1及其对应的消息M1保存到数据服务器,设置索引ID1对应的消息状态为:正常;
S12:将索引ID1及其对应的用户A的账号保存到索引服务器的发表消息索引列表,设置索引ID1对应的消息状态为:正常;
S13:返回“发送成功”的结果提示信息。
参加图4,步骤101和步骤102中的用户A删除消息,包括:
S21:用户A请求删除已经发表的消息M1,根据请求删除消息的索引ID1,在索引服务器更新相应的消息状态为:删除;
其中,“删除”消息状态还可以进一步划分为用户删除,管理员删除等,从而可以进行更细致的业务区分,具有很好的扩展性。例如,用户删除自己发表的一条消息,则消息状态为用户删除,系统管理员删除用户发表的不健康的消息,则消息状态为系统删除。
S22:根据请求删除消息的索引ID1,在数据服务器更新相应的消息状态为删除;
S23:返回“删除成功”的结果提示信息。
本应用场景中删除状态的消息,服务器并未真正的删除该消息,只需要更新了消息状态,这样在必要的时候可以显示原文,具有很好的业务支持能力。
参加图5,步骤102中用户B拉取消息,包括:
S31:用户B请求用户A发表的消息;
S32:索引服务器查找用户A对应的发表消息索引列表,返回发表消息索引列表中消息状态为正常的索引给用户B;
相应的,发表消息索引列表中消息状态为删除的索引不返回给用户B,从而用户A删除状态的消息不会被用户B看到,满足了用户实际的需要。
S33:用户B根据接收的消息状态为正常的索引,向数据服务器请求相应的消息;
S34:数据服务器根据消息状态为正常的索引查找到消息状态为正常的消息,并返回给用户B。
本应用场景中,用户A删除消息M1后,用户B拉取不到消息M1,从而使删除的消息不能再传播。
参加图6,用户B对消息进行对话或转播,包括:
S41:步骤101之前,用户B拉取用户A发表的消息M1后,对消息M1进行转播/对话;
其中,用户A发表的消息M1对应的索引为ID1。另外,转播前用户B还可以对消息M1进行评论。
S42:数据服务器判断索引ID1对应的消息状态;
S42a:步骤102中,如果是删除状态,则返回“转播/对话失败”给用户B,流程结束;
通过删除状态,对于用户A已经删除不想让更多人看见的信息,能够尽可能得减小传播。
S42b:如果是正常状态,也即步骤101之前,通知解析服务器生成转播消息/对话消息的索引ID2,索引服务器保存索引ID2及其对应的用户B的账号,数据服务器保存索引ID2及其对应的索引ID1和评论信息/对话信息,再通过索引ID1可以查询得到用户A发表的消息M1,并向用户B返回用户A发表的消息M1、以及评论信息/对话信息,流程结束。
其中,其他用户通过ID2可以拉取到索引ID1对应的原文,以及评论信息/对话信息。
本应用场景中,用户B拉取到了消息M1,然后用户A删除消息M1,用户B无法再对消息M1进行转播、对话操作,从而使删除的消息不能再传播。
参加图7,步骤102中“将索引ID1对应的消息状态由正常状态更新为删除状态”之后,用户C拉取原文已删除的转播消息,包括:
S51:用户C请求用户B的消息M2的索引;
其中,消息M2是用户B与用户A发表的消息M1进行转播或对话生成的,并且在用户B与消息M1进行转播或对话后,消息M1被删除,可以被用户A或系统管理员删除,则消息状态分别为“用户删除”或“管理员删除”。消息M1的索引设为ID1,消息M2的索引设为ID2,也即原文和转播/对话消息分别有自己的索引,在数据服务器作为两条消息进行存储。
S52:索引服务器返回消息M2的索引ID2给用户C;
S53:用户C向数据服务器请求拉取索引ID2对应的数据;
S54a:如果索引ID2对应的消息类型是转播类型,则数据服务器获取、并向用户C返回索引ID2对应的信息,包括索引ID1、评论信息和索引ID1的签名;
S54b:如果索引ID2对应的消息类型是对话类型,则数据服务器获取、并向用户C返回索引ID2对应的信息,包括:索引ID1和对话信息;
S55:用户C接收数据服务器返回的信息,并向数据服务器请求拉取索引ID1对应的数据;
进一步的,如果数据服务器返回的信息中包括索引ID1的签名,则请求中还携带索引ID1的签名。
S56:数据服务器根据索引ID1对应的消息状态和请求中是否携带签名,判断是否向用户C返回索引ID1对应的消息M1;
S56a:如果是用户删除状态,判断请求中是否携带签名,S56a1:如果携带签名则获取并向用户C返回索引ID1对应的消息M1,流程结束;S56a2:如果没有携带签名则向用户C返回“拉取失败”,流程结束;
也即,原文已被用户删除的转播类型的消息仍然可以拉取到原文,原文已被用户删除的对话类型的消息则不能拉取到原文。
S56b:如果是管理员删除状态,则向用户C返回“拉取失败”,流程结束,也即对于管理员删除的信息,无论是否有签名,都不返回原文;
S56c:如果是正常状态,则向则获取并向用户C返回索引ID1对应的消息M1,流程结束。
本应用场景中,用户B转播用户A的消息M1,记为消息M2,当消息M1被用户A删除时,用户C可以拉取到消息M2,其中消息M2中包含原文消息M1的内容,从而使删除的消息还能再传播;当消息M1被管理员删除时,不允许用户拉取,从而避免了不健康消息的传播。其中,用户C可以用户B的听众,由于听众可以自动的、频繁的拉取用户B的消息,对消息的传播速度最快,因此,阻止这些听众对管理员删除状态的消息进行拉取、转播或对话,可以有效阻止消息的传播,而对于用户删除状态的消息还可以进行传播。用户C还可以是其他普通用户,这些普通用户可以在广播大厅中看到包括用户B在内的所有用户发表的消息,因此,可以阻止普通用户对管理员删除状态的消息的传播,而对于用户删除状态的消息还可以进行传播。
实施例2
参见图8,本实施例提供了一种管理消息的装置,包括:
接收模块201,用于接收删除用户A发表的消息M1的请求,请求中携带消息M1的索引ID1;
更新模块202,用于将索引ID1对应的消息状态由正常状态更新为删除状态,删除状态用于使用户B无法对消息M1进行拉取、转播或对话。
其中,更新模块202包括第一更新单元,用于
将索引ID1对应的消息状态由正常状态更新为删除状态;
接收用户B拉取用户A发表消息的请求;
将用户A发表消息中删除状态的索引ID1不返回给用户B、正常状态的索引返回给用户B,使用户B发送获取正常状态的索引对应消息的请求;
根据正常状态的索引查找到用户A发表消息中正常状态的消息,并返回给用户B。
其中,该装置还包括拉取模块,用于接收用户A删除其发表的消息M1的请求之前,用户B拉取用户A发表的消息M1;
更新模块202包括第二更新单元,用于
将索引ID1对应的消息状态由正常状态更新为删除状态;
接收用户B发送的与消息M1进行转播或对话的请求;
判断索引ID1对应的消息状态,当索引ID1对应的消息状态为删除状态时,向用户B返回转播失败或对话失败。
其中,该装置还包括转播模块或对话模块,
转播模块,用于接收删除用户A发表的消息M1的请求之前,接收用户B转播用户A发表的消息M1的请求,请求包括用户B转播消息M1时发表的评论信息,将转播的消息M1和评论信息作为消息M2;
生成消息M2的索引ID2,保存索引ID2及其对应的用户B的账号,并保存索引ID2及其对应的索引ID1和评论信息;
根据索引ID2查找到对应的索引ID1和评论信息,根据索引ID1查找到对应的消息M1,并向用户B返回查找到的消息M1和评论信息;
对话模块,用于接收删除用户A发表的消息M1的请求之前,接收用户B与用户A发表的消息M1进行对话的请求,请求包括用户B与消息M1对话时发表的对话信息,将消息M1和对话信息作为消息M2;
生成消息M2的索引ID2,保存索引ID2及其对应的用户B的账号,并保存索引ID2及其对应的索引ID1和对话信息;
根据索引ID2查找到对应的索引ID1和对话信息,根据索引ID1查找到对应的消息M1,并向用户B返回查找到的消息M1和对话信息。
其中,该装置还包括处理模块,用于将索引ID1对应的消息状态由正常状态更新为删除状态之后,
接收用户C获取消息M2的索引的请求,并向用户C返回消息M2的索引ID2;
接收用户C拉取索引ID2对应数据的请求,如果索引ID2对应的消息类型为转播类型,则根据索引ID2查找到对应的索引ID1、评论信息和索引ID1的签名,并返回给用户C;如果索引ID2对应的消息类型为对话类型,则根据索引ID2查找到对应的索引ID1和对话信息,并返回给用户C;
接收用户C拉取索引ID1对应数据的请求,如果返回给用户C的信息中包括索引ID1的签名,请求中还携带索引ID1的签名;
根据索引ID1对应的消息状态和请求中是否携带索引ID1的签名,判断是否向用户C返回索引ID1对应的消息M1;如果消息状态为用户删除状态、且请求中携带索引ID1的签名,向用户C返回索引ID1对应的消息M1;如果消息状态为用户删除状态、且请求中没有携带索引ID1的签名,向用户C返回拉取失败;如果消息状态为管理员删除状态,向用户C返回拉取失败。
其中,用户B可以用户A的听众,由于听众可以自动的、频繁的拉取用户A的消息,对消息的传播速度最快,因此,阻止这些听众对删除状态的消息进行拉取、转播或对话,可以有效阻止消息的传播。用户B还可以是其他普通用户,这些普通用户可以在广播大厅中看到包括用户A在内的所有用户发表的消息,因此,本实施例也可以通过设置删除状态,阻止普通用户对消息的传播。
其中,用户C可以用户B的听众,由于听众可以自动的、频繁的拉取用户B的消息,对消息的传播速度最快,因此,阻止这些听众对管理员删除状态的消息进行拉取、转播或对话,可以有效阻止消息的传播,而对于用户删除状态的消息还可以进行传播。用户C还可以是其他普通用户,这些普通用户可以在广播大厅中看到包括用户B在内的所有用户发表的消息,因此,可以阻止普通用户对管理员删除状态的消息的传播,而对于用户删除状态的消息还可以进行传播。
本实施例提供的装置,具体可以是服务器,还可以是由各个服务器组成的服务端,与方法实施例属于同一构思,具体实现过程详见方法实施例,这里不再赘述。
本实施例提供的装置,通过设置消息状态,对于客户端达到消息被删除的效果,使其他用户无法对删除状态的消息进行拉取、转播或对话,而消息仍然存在,后续特定应用中可以显示已经删除的消息,例如,可以显示原文已删除的转播消息,可扩展性好。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种管理消息的方法,其特征在于,所述方法包括:
接收删除用户A发表的消息M1的请求,所述请求中携带所述消息M1的索引ID1;
将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取、转播或对话;
所述接收删除用户A发表的消息M1的请求之前,还包括:
接收所述用户B转播所述用户A发表的消息M1的请求,所述请求包括所述用户B转播所述消息M1时发表的评论信息,将转播的消息M1和所述评论信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述评论信息;
根据所述索引ID2查找到对应的索引ID1和所述评论信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述评论信息;
或者,接收删除用户A发表的消息M1的请求之前,还包括:
接收所述用户B与所述用户A发表的消息M1进行对话的请求,所述请求包括所述用户B与所述消息M1对话时发表的对话信息,将消息M1和所述对话信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述对话信息;
根据所述索引ID2查找到对应的索引ID1和所述对话信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述对话信息。
2.如权利要求1所述的方法,其特征在于,将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行拉取,具体包括:
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B拉取所述用户A发表消息的请求;
将所述用户A发表消息中删除状态的索引ID1不返回给所述用户B、正常状态的索引返回给所述用户B;
接收所述用户B发送的获取所述正常状态的索引对应消息的请求,并根据所述正常状态的索引查找到所述用户A发表消息中正常状态的消息,并返回给所述用户B。
3.如权利要求1所述的方法,其特征在于,接收删除用户A发表的消息M1的请求之前,还包括:
所述用户B拉取所述用户A发表的消息M1;
相应的,将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于使用户B无法对所述消息M1进行转播或对话,具体包括:
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B发送的与所述消息M1进行转播或对话的请求;
判断所述索引ID1对应的消息状态,当所述索引ID1对应的消息状态为删除状态时,向所述用户B返回转播失败或对话失败。
4.如权利要求1所述的方法,其特征在于,将所述索引ID1对应的消息状态由正常状态更新为删除状态之后,还包括:
接收用户C获取所述用户B的消息M2的索引的请求,并向所述用户C返回所述消息M2的索引ID2;
接收所述用户C拉取所述索引ID2对应数据的请求,如果所述索引ID2对应的消息类型为转播类型,则根据所述索引ID2查找到对应的索引ID1、所述评论信息和所述索引ID1的签名,并返回给所述用户C;如果所述索引ID2对应的消息类型为对话类型,则根据所述索引ID2查找到对应的索引ID1和所述对话信息,并返回给所述用户C;
接收所述用户C拉取所述索引ID1对应数据的请求,如果返回给所述用户C的信息中包括所述索引ID1的签名,所述请求中还携带所述索引ID1的签名;
根据所述索引ID1对应的消息状态和所述请求中是否携带所述索引ID1的签名,判断是否向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中携带所述索引ID1的签名,向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中没有携带所述索引ID1的签名,向所述用户C返回拉取失败;如果消息状态为管理员删除状态,向所述用户C返回拉取失败。
5.一种管理消息的装置,其特征在于,所述装置包括:
接收模块,用于接收删除用户A发表的消息M1的请求,所述请求中携带所述消息M1的索引ID1;
更新模块,用于将所述索引ID1对应的消息状态由正常状态更新为删除状态,所述删除状态用于用户B无法对所述消息M1进行拉取、转播或对话;
所述装置还包括转播模块或对话模块,
所述转播模块,用于接收删除用户A发表的消息M1的请求之前,接收所述用户B转播所述用户A发表的消息M1的请求,所述请求包括所述用户B转播所述消息M1时发表的评论信息,将转播的消息M1和所述评论信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述评论信息;
根据所述索引ID2查找到对应的索引ID1和所述评论信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述评论信息;
所述对话模块,用于接收删除用户A发表的消息M1的请求之前,接收所述用户B与所述用户A发表的消息M1进行对话的请求,所述请求包括所述用户B与所述消息M1对话时发表的对话信息,将消息M1和所述对话信息作为所述用户B的消息M2;
生成所述消息M2的索引ID2,保存所述索引ID2及其对应的用户B的账号,并保存所述索引ID2及其对应的索引ID1和所述对话信息;
根据所述索引ID2查找到对应的索引ID1和所述对话信息,根据所述索引ID1查找到对应的消息M1,并向所述用户B返回查找到的所述消息M1和所述对话信息。
6.如权利要求5所述的装置,其特征在于,所述更新模块包括第一更新单元,用于
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B拉取所述用户A发表消息的请求;
将所述用户A发表消息中删除状态的索引ID1不返回给所述用户B、正常状态的索引返回给所述用户B;
接收所述用户B发送的获取所述正常状态的索引对应消息的请求,并根据所述正常状态的索引查找到所述用户A发表消息中正常状态的消息,并返回给所述用户B。
7.如权利要求5所述的装置,其特征在于,所述装置还包括拉取模块,用于接收用户A删除其发表的消息M1的请求之前,所述用户B拉取所述用户A发表的消息M1;
所述更新模块包括第二更新单元,用于
将所述索引ID1对应的消息状态由正常状态更新为删除状态;
接收所述用户B发送的与所述消息M1进行转播或对话的请求;
判断所述索引ID1对应的消息状态,当所述索引ID1对应的消息状态为删除状态时,向所述用户B返回转播失败或对话失败。
8.如权利要求5所述的装置,其特征在于,所述装置还包括处理模块,用于将所述索引ID1对应的消息状态由正常状态更新为删除状态之后,
接收用户C获取所述用户B的消息M2的索引的请求,并向所述用户C返回所述消息M2的索引ID2;
接收所述用户C拉取所述索引ID2对应数据的请求,如果所述索引ID2对应的消息类型为转播类型,则根据所述索引ID2查找到对应的索引ID1、所述评论信息和所述索引ID1的签名,并返回给所述用户C;如果所述索引ID2对应的消息类型为对话类型,则根据所述索引ID2查找到对应的索引ID1和所述对话信息,并返回给所述用户C;
接收所述用户C拉取所述索引ID1对应数据的请求,如果返回给所述用户C的信息中包括所述索引ID1的签名,所述请求中还携带所述索引ID1的签名;
根据所述索引ID1对应的消息状态和所述请求中是否携带所述索引ID1的签名,判断是否向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中携带所述索引ID1的签名,向所述用户C返回所述索引ID1对应的消息M1;如果消息状态为用户删除状态、且所述请求中没有携带所述索引ID1的签名,向所述用户C返回拉取失败;如果消息状态为管理员删除状态,向所述用户C返回拉取失败。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010276192.0A CN102387092B (zh) | 2010-09-06 | 2010-09-06 | 管理消息的方法和装置 |
PCT/CN2011/077633 WO2012031511A1 (zh) | 2010-09-06 | 2011-07-26 | 管理消息的方法和装置 |
US13/613,590 US8719357B2 (en) | 2010-09-06 | 2012-09-13 | Method and apparatus for managing message |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010276192.0A CN102387092B (zh) | 2010-09-06 | 2010-09-06 | 管理消息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102387092A CN102387092A (zh) | 2012-03-21 |
CN102387092B true CN102387092B (zh) | 2014-09-03 |
Family
ID=45810109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010276192.0A Active CN102387092B (zh) | 2010-09-06 | 2010-09-06 | 管理消息的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8719357B2 (zh) |
CN (1) | CN102387092B (zh) |
WO (1) | WO2012031511A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685020B (zh) * | 2011-03-09 | 2015-07-29 | 腾讯科技(北京)有限公司 | 微博墙显示方法及系统 |
CN103516765B (zh) * | 2012-06-30 | 2017-05-17 | 北京新媒传信科技有限公司 | 社会性网络服务后台数据的存储方法和系统 |
CN104158720A (zh) * | 2013-05-14 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种聊天记录清除方法及系统、移动终端 |
CN105376137B (zh) * | 2014-08-27 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种即时通信方法和装置 |
CN105430072B (zh) * | 2015-11-11 | 2019-04-16 | 中国联合网络通信集团有限公司 | 推送消息转发对象的选择方法和系统及装置 |
CN109698784A (zh) * | 2017-10-20 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 一种消息撤回方法及装置 |
CN109905316B (zh) * | 2019-02-28 | 2022-06-03 | 努比亚技术有限公司 | 一种信息恢复的方法、终端及计算机可读存储介质 |
CN111581331B (zh) * | 2020-04-27 | 2023-08-25 | 抖音视界有限公司 | 文案处理的方法、装置、电子设备及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1890644A (zh) * | 2003-10-02 | 2007-01-03 | 索尼株式会社 | 文件管理装置、文件管理方法、文件管理方法程序以及记录该文件管理方法程序的记录介质 |
CN101129057A (zh) * | 2004-10-27 | 2008-02-20 | 韦里斯恩有限公司 | 用于手持设备上的数据管理的方法和设备 |
JP2008198053A (ja) * | 2007-02-15 | 2008-08-28 | Mitsubishi Electric Corp | 仮想フォルダ構築装置及び仮想フォルダ構築方法及びプログラム |
US7620765B1 (en) * | 2006-12-15 | 2009-11-17 | Symantec Operating Corporation | Method to delete partial virtual tape volumes |
CN101771677A (zh) * | 2008-12-31 | 2010-07-07 | 华为技术有限公司 | 一种向访问用户提供资源的方法、服务器和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7933957B2 (en) * | 2002-09-17 | 2011-04-26 | At&T Intellectual Property Ii, L.P. | Tracking email and instant messaging (IM) thread history |
WO2003045041A1 (en) * | 2002-10-18 | 2003-05-30 | Nokia Corporation | Selectively recalling sent messages |
US20040148356A1 (en) * | 2002-11-04 | 2004-07-29 | Bishop James William | System and method for private messaging |
US9819624B2 (en) * | 2004-03-31 | 2017-11-14 | Google Inc. | Displaying conversations in a conversation-based email system |
CN102045267B (zh) * | 2009-10-16 | 2013-01-09 | 华为技术有限公司 | 消息召回的方法及装置 |
US8682988B2 (en) * | 2010-02-03 | 2014-03-25 | Qiang Du | Enhanced e-mail and messaging system with visual profile and selective update |
-
2010
- 2010-09-06 CN CN201010276192.0A patent/CN102387092B/zh active Active
-
2011
- 2011-07-26 WO PCT/CN2011/077633 patent/WO2012031511A1/zh active Application Filing
-
2012
- 2012-09-13 US US13/613,590 patent/US8719357B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1890644A (zh) * | 2003-10-02 | 2007-01-03 | 索尼株式会社 | 文件管理装置、文件管理方法、文件管理方法程序以及记录该文件管理方法程序的记录介质 |
CN101129057A (zh) * | 2004-10-27 | 2008-02-20 | 韦里斯恩有限公司 | 用于手持设备上的数据管理的方法和设备 |
US7620765B1 (en) * | 2006-12-15 | 2009-11-17 | Symantec Operating Corporation | Method to delete partial virtual tape volumes |
JP2008198053A (ja) * | 2007-02-15 | 2008-08-28 | Mitsubishi Electric Corp | 仮想フォルダ構築装置及び仮想フォルダ構築方法及びプログラム |
CN101771677A (zh) * | 2008-12-31 | 2010-07-07 | 华为技术有限公司 | 一种向访问用户提供资源的方法、服务器和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102387092A (zh) | 2012-03-21 |
WO2012031511A1 (zh) | 2012-03-15 |
US20130031178A1 (en) | 2013-01-31 |
US8719357B2 (en) | 2014-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102387092B (zh) | 管理消息的方法和装置 | |
CN100469006C (zh) | 一种网络信息推送方法及系统 | |
CN100456683C (zh) | 向讨论组中指定成员推送历史记录的方法及系统 | |
CN105812235B (zh) | 消息处理方法、装置及系统 | |
CN101369989A (zh) | 跟踪已送达的电子邮件的方法和系统 | |
CN102609409B (zh) | 一种在线翻译方法、装置、系统及服务器 | |
CN102362270A (zh) | 在托管的会话系统中提供对会话的访问 | |
CN104144154A (zh) | 发起预约会议的方法、装置及系统 | |
CN104899956A (zh) | 实现投票的方法和装置 | |
CN102404251A (zh) | 具有备注功能的即时通信的实现方法、客户端及系统 | |
US20170041265A1 (en) | Methods and apparatus to manage message delivery in enterprise network environments | |
CN104462237A (zh) | 显示公众消息的方法及装置 | |
CN103269310A (zh) | 群组交流信息的发布方法及系统 | |
CN103259715A (zh) | 一种管理多人会话的方法、装置及系统 | |
CN104113572A (zh) | 用户生成内容的发布方法、系统和前端装置 | |
CN1996846A (zh) | 一种根据用户群组属性提供差异服务的方法及系统 | |
CN106682872A (zh) | 一种任务派发方法及装置 | |
Thakur et al. | Chat Room Using HTML, PHP, CSS, JS, AJAX | |
KR20070067613A (ko) | 메시지 통신 방법, 메시지 수신 및 디스플레이 방법,컴퓨터 프로그램 제품 및 메시지 통신 시스템 | |
CN113595856B (zh) | 信息交互方法、装置、设备及介质 | |
US20110125852A1 (en) | Keyword filtered alerts for group chats | |
KR101416790B1 (ko) | 독립 메시지 페이지를 생성하는 방법 및 장치 | |
CN111193661A (zh) | 一种基于企业通信渠道融合系统的管理方法及装置 | |
KR20200020656A (ko) | 대화방 기반의 업무관리 장치, 방법 및 이를 저장하는 기록매체 | |
CN113114557B (zh) | 消息发送方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |