CN113545015B - 合并消息存储数据结构 - Google Patents

合并消息存储数据结构 Download PDF

Info

Publication number
CN113545015B
CN113545015B CN202080019940.9A CN202080019940A CN113545015B CN 113545015 B CN113545015 B CN 113545015B CN 202080019940 A CN202080019940 A CN 202080019940A CN 113545015 B CN113545015 B CN 113545015B
Authority
CN
China
Prior art keywords
message
data structure
messages
user
storage data
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
CN202080019940.9A
Other languages
English (en)
Other versions
CN113545015A (zh
Inventor
S·辛格
哈什
X·潘
J·兰
N·戈文达拉扬
J·M·拉吉瓦洛查纳姆
P·文卡塔拉曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113545015A publication Critical patent/CN113545015A/zh
Application granted granted Critical
Publication of CN113545015B publication Critical patent/CN113545015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1831Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Abstract

一种数据处理系统,其包括存储在多个用户之间的群组讨论中所包含的多个消息的非易失性存储器。所述非易失性存储器还可以存储包括所述消息的排序的元数据。所述数据处理系统还可以包括处理器,所述处理器被配置为:针对均与所述多个用户中的第一用户相关联的第一消息存储数据结构和第二消息存储数据结构,确定所述第一消息存储数据结构的一个或多个消息与所述第二消息存储数据结构的一个或多个消息在所述排序中是连续的。所述处理器可以生成包括在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息的合并消息存储数据结构。所述处理器可以基于所述合并消息存储数据结构来生成收条并且将所述收条传输给第二用户。

Description

合并消息存储数据结构
背景技术
消息传送应用程序为用户提供了一种在两个或更多个用户的群组之间以电子方式来回发送消息的便捷方式。这样的消息传送应用程序通常经由即时消息传送协议通过诸如公共交换电话网(PSTN)的通信网络和/或诸如互联网的计算机网络来发送消息,所述即时消息传送协议诸如是短消息服务(SMS)、多媒体消息服务(MMS)、Windows消息传送协议(WMP)等。消息通常经由在计算机服务器上运行的平台消息传送服务从发送方设备发送至一个或多个接收方设备。存在的挑战在于通过有效率的方式识别出对于发送方和各个接收方而言,各方中有哪一方已经阅读了已经交换的各种消息,如下文所详细讨论的。
发明内容
根据本公开的一个方面,提供了一种数据处理系统,其包括存储在多个用户之间的群组讨论中所包含的多个消息的非易失性存储器。所述非易失性存储器还可以存储与所述多个消息相关联的元数据。所述元数据可以包括所述多个消息的排序。所述数据处理系统还可以包括处理器,所述处理器被配置为:针对均与所述多个用户中的一个用户相关联并且均包括一个或多个消息的第一消息存储数据结构和第二消息存储数据结构,确定所述第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的所述排序中是连续的。所述处理器还可以被配置为生成包括在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息的合并消息存储数据结构。所述处理器还可以被配置为基于所述合并消息存储数据结构生成收条(receipt)并且将所述收条传输给所述多个用户中的另一用户。
提供该发明内容部分是为了以简化形式介绍概念的集合,在下文的具体实施方式中进一步描述了这些概念。该发明内容部分并非意在标识所要求保护的主题的关键特征或必要特征,也并不意在用于限定所要求保护的主题的范围。此外,所要求保护的主题并不限于克服在本公开的任何部分中指出的任何或全部缺陷的实施方式。
附图说明
图1示出了根据本公开的一个实施例的具有被配置为生成阅读收条的服务器计算设备的形式的数据处理系统。
图2示出了根据图1的实施例的示例性群组讨论。
图3示出了当在群组讨论中所包含的多个消息被包含在合并消息存储数据结构中时的图2的示例性群组讨论。
图4示出了其中处理器被配置为生成所有人访问(accessed-by-all)指示的实施例中的图1的服务器计算设备。
图5示出了当在群组讨论中所包含的多个消息被包含在全组数据结构中时的图2的群组讨论。
图6示出了根据本公开的另一实施例的具有被配置为生成传送收条的服务器计算设备的形式的数据处理系统。
图7示出了其中处理器被配置为生成传送到所有人(delivered-to-all)指示的实施例中的图6的服务器计算设备。
图8A示出了可以在服务器计算设备处执行的方法。
图8B-E示出了在一些实施例中可以执行的图8A的方法的额外步骤。
图9示出了其中可以实施图1的服务器计算设备的示例性计算环境的示意图。
具体实施方式
当使用消息传送应用程序时,常常有用的是使用户知道他们的消息是否已经被传送给其他用户并且那些其他用户是否已经查看所述消息。因此,许多现有的消息传送应用包括传送收条和阅读收条。传送收条和阅读收条是输出给消息传送系统的用户的、一个或多个其他用户已经接收并且查看消息的指示。本发明人已经认识到:将传送收条和阅读收条存储在服务器上可能需要使用大量的存储器,尤其是当存储针对每个消息的传送收条和/或阅读收条时。
相反,可以将传送收条和阅读收条存储在客户端设备上。然而,本发明人已经认识到了这种方案的缺陷,即:在不止一个设备上查看对话的用户通常不能够查看针对用户已经从其他设备发送的消息的阅读收条和传送收条。
另外,可以提供“最后阅读”标记而非针对个体消息的阅读收条。然而,本发明人已经认识到,尽管“最后阅读”标记比针对个体消息提供的阅读收条占据更少的存储空间,但是其也省略了阅读收条将传达的信息中的一些信息。例如,如果用户已经阅读了最近的消息,但是并未阅读非最近消息的另一消息,那么“最后阅读”标记将不指示用户尚未阅读所述较早消息。
为了解决这些问题,本发明人构思了以下系统和方法。图1示出了根据本公开的一个实施例的具有示例性服务器计算设备10的形式的数据处理系统。服务器计算设备10可以包括非易失性存储器12、处理器14、一个或多个通信设备16、易失性存储器18和/或其他硬件组件。尽管服务器计算设备10在图1的示例中被示为单个硬件设备,但是服务器计算设备10以及其组件的功能可以跨多个单独的计算设备来分布,所述多个单独的计算设备经由其各自的通信设备16通信。服务器计算设备10还可以被配置为使用所述一个或多个通信设备16与一个或多个客户端设备80通信。与所述一个或多个客户端设备80的通信可以通过网络70发生。
非易失性存储器12可以存储在多个用户72之间的群组讨论20中所包含的多个消息22。消息22可以均包括以下中的一项或多项:文本、图像、音频、视频和/或其他输出模态。在一些实施例中,所述多个用户72可以均经由单独的客户端设备80参与群组讨论20。替代地,两个或更多个用户72可以共享客户端设备80,并且/或者至少一个用户72可以经由多个客户端设备80参与群组讨论20。在一些实施例中,每个用户72可以具有用户账户。在这样的实施例中,用户72可以通过在客户端设备80上登录用户账户而访问群组讨论20。因此,通过在两个或更多个客户端设备80上登录用户账户,用户72可以在不止一个客户端设备80上访问群组讨论20,但是仍然被服务器计算设备10识别为同一用户72。
非易失性存储器12还可以存储与所述多个消息22相关联的元数据24。元数据24可以包括所述多个消息22的排序28。排序28可以是指示服务器计算设备10接收所述多个消息22或者所述一个或多个客户端设备80发送所述多个消息22的时间顺序的时间排序。在一些实施例中,排序28可以是基于多个服务器侧时间戳来确定的,所述多个服务器侧时间戳指示在服务器计算设备10处接收到所述多个消息22的相应时间。
非易失性存储器12还可以存储第一消息存储数据结构32和第二消息存储数据结构36,这两者均与所述多个用户72中的第一用户72A相关联。第一消息存储数据结构32和第二消息存储数据结构36可以均相应地包括在群组讨论20中所包含的多个消息22中的一个或多个消息22。
第一消息存储数据结构32和第二消息存储数据结构36可以均指示第一用户72A已经访问分别在所述数据结构中所包含的所述一个或多个消息22。当第一用户72A访问一个或多个消息22时,用户72A借以访问所述一个或多个消息22的客户端设备80可以向服务器计算设备10传输访问指示30。响应于接收到访问指示30,处理器14可以将所述一个或多个消息22和/或与所述一个或多个消息22相关联的元数据24添加至第一消息存储数据结构32或第二消息存储数据结构36。在一些实施例中,只要接收到访问指示30,处理器14就可以生成新的消息存储数据结构。在这样的实施例中,随后可以使所述新的消息存储数据结构与另一消息存储数据结构相组合,如下文所讨论的。
在一个示例中,在第一消息存储数据结构32中所包含的一个或多个消息22可以是在第一时间处被显示在客户端设备80的屏幕上的一个或多个消息22,并且在第二消息存储数据结构36中所包含的一个或多个消息22可以是在第二时间处被显示在客户端设备80的屏幕上的一个或多个消息22。因此,在这样的实施例中,第一消息存储数据结构32和第二消息存储数据结构36可以均指示群组讨论20中已经被第一用户72A查看的多个消息22的相应子集。在另一示例中,第一消息存储数据结构32和第二消息存储数据结构36可以均包括客户端设备80的一个或多个扬声器分别在第一时间间隔和第二时间间隔期间输出的一个或多个音频消息。一般而言,第一消息存储数据结构32和第二消息存储数据结构36可以均指示用户72A已经经由客户端设备80的任何输出模态访问了这些数据结构所包含的所述一个或多个消息22。
在一些实施例中,第一消息存储数据结构32和第二消息存储数据结构36可以包括一个或多个消息22已经被第一用户72A在多个客户端设备80上访问的指示。例如,当第一用户72A具有账户,第一用户72A经由所述账户在两个或更多个客户端设备80上登录到群组讨论20中时,第一用户72A可以在第一客户端设备80上访问在第一消息存储数据结构32中所指示的所述一个或多个消息,并且可以在第二客户端设备80上访问在第二消息存储数据结构36中所指示的所述一个或多个消息。在一些实施例中,第一消息存储数据结构32和第二消息存储数据结构36可以均包括借以访问所述数据结构中所包含的所述一个或多个消息22的客户端设备80的指示。
处理器14还可以被配置为确定第一消息存储数据结构32的所述一个或多个消息22以及第二消息存储数据结构36的所述一个或多个消息22在所述多个消息22的排序28中是连续的。当两组消息22在排序28中相邻而没有在其之间的居间消息22时,这两组消息22是连续的。例如,当排序28是时间排序时,处理器14可以通过比较所述消息22的相应服务器侧时间戳来确定第一消息存储数据结构32的所述一个或多个消息22以及第二消息存储数据结构36的所述一个或多个消息22在排序28中是连续的。在该示例中,当第二消息存储数据结构36的按时间顺序的第一消息22紧随在第一消息存储数据结构32的按时间顺序的最后消息22的服务器侧时间戳时,处理器14可以确定第一消息存储数据结构32的所述一个或多个消息22以及第二消息存储数据结构36的所述一个或多个消息22是连续的。
响应于确定第一消息存储数据结构32的所述一个或多个消息22以及第二消息存储数据结构36的所述一个或多个消息22在排序28中是连续的,处理器14还可以被配置为生成合并消息存储数据结构40。合并消息存储数据结构40可以包括在第一消息存储数据结构32和第二消息存储数据结构36中所包含的每个消息22。因此,可以将第一消息存储数据结构32和第二消息存储数据结构36相组合。
在一些实施例中,将第一消息存储数据结构32与第二消息存储数据结构36组合成合并消息存储数据结构40的过程可以是迭代的,以便组合两个以上的消息存储数据结构。在这样的实施例中,由一次迭代得到的合并消息存储数据结构40可以在使其与另一消息存储数据结构相组合的随后迭代中被用作第一消息存储数据结构32或者第二消息存储数据结构36。
在生成合并消息存储数据结构40之后,处理器14还可以被配置为基于合并消息存储数据结构40来生成收条。例如,所述收条可以包括在所述合并消息存储数据结构中所包含的数据,诸如合并数据结构时间戳42和/或在所述合并消息存储数据结构40中所包含的一个或多个消息22。在图1所示的实施例中,所述收条是阅读收条44,其指示第一用户72A已经访问了在合并消息存储数据结构40中所包含的每个消息22。处理器14还可以被配置为使用所述一个或多个通信设备16将所述收条传输给所述多个用户72中的第二用户72B。第二用户72B可以是最初将包含在所述合并消息存储数据结构中的消息22发送给服务器计算设备10以作为群组讨论20的部分的用户。
在所述收条是阅读收条44的实施例中,被存储在非易失性存储器12中的元数据24还可以包括针对每个消息22的相应消息访问时间戳26。与消息22相关联的消息访问时间戳26可以指示第一用户72A访问所述消息22的时间。另外地或替代地,消息访问时间戳26可以指示服务器计算设备10接收到所述访问指示30的时间。
在一些实施例中,第一消息存储数据结构32和/或第二消息存储数据结构36可以包括所述多个消息22中的被第一用户72A同时访问的子集。例如,第一用户72A可以查看一页通知,在所述一页通知上同时地显示多个消息22。在这样的实施例中,第一数据结构时间戳34可以与第一消息存储数据结构32相关联,并且第二数据结构时间戳38可以与第二消息存储数据结构36相关联。第一数据结构时间戳34和第二数据结构时间戳38可以是包含在相应数据结构中的消息22的排序28中的最早或最晚消息22。替代地,第一数据结构时间戳34和/或第二数据结构时间戳38可以是排序28中的平均值或中值时间戳。第一数据结构时间戳34和第二数据结构时间戳38可以均具有低于每个消息访问时间戳26的消息数据粒度的压缩数据粒度。例如,第一数据结构时间戳34和第二数据结构时间戳38可以省略在其生成所依据的一个或多个消息访问时间戳26中所包含的“秒”字段。
在其他实施例中,第一消息存储数据结构32和/或第二消息存储数据结构36可以包括针对每个消息22的相应消息访问时间戳26,而不将消息访问时间戳26压缩成第一数据结构时间戳34和/或第二数据结构时间戳38。在其他实施例中,第一消息存储数据结构32和/或第二消息存储数据结构36可以包括多个消息访问时间戳26,但是可以使所述消息访问时间戳26中的一个或多个消息访问时间戳与两个或更多个消息22相关联。
在元数据24包括消息访问时间戳26的实施例中,所述收条还可以包括合并数据结构时间戳42,其指示第一用户72A访问在所述合并消息存储数据结构40中所包含的一个或多个消息22的时间。例如,合并数据结构时间戳42可以是与在合并消息存储数据结构40中所包含的消息22的排序28中的最早或最晚消息22相关联的最早或最晚消息访问时间戳26。在所述收条包括合并数据结构时间戳42的实施例中,处理器14可以被配置为至少部分地通过确定第一消息存储数据结构32和第二消息存储数据结构36分别具有处在彼此的预定阈值时间46之内的第一数据结构时间戳34和第二数据结构时间戳38而生成合并数据结构时间戳42。例如,处理器14可以被配置为响应于确定第一数据结构时间戳34和第二数据结构时间戳38处在彼此的一分钟之内而使第一消息存储数据结构32和第二消息存储数据结构36合并。在这样的实施例中,当第一消息存储数据结构32和/或第二消息存储数据结构36包括多个消息22时,第一数据结构时间戳34和/或第二数据结构时间戳38可以与作为整体的数据结构相关联,而不是与所述多个消息22中的个体消息22相关联。
在处理器14被配置为生成合并数据结构时间戳42的实施例中,处理器14可以被配置为至少部分地通过降低在合并消息存储数据结构40中所包含的每个消息22的相应消息访问时间戳26的数据粒度而生成合并数据结构时间戳42。例如,处理器14可以删除指示合并消息存储数据结构40中所包含的消息22被第一用户72A访问时所处的分和秒的数据,同时保留指示所述消息22被访问时所处的日期和小时的其余数据。在生成合并数据结构时间戳42之后,处理器14还可以被配置为从非易失性存储器12中删除在合并消息存储数据结构40中所包含的每个消息22的消息访问时间戳26。因此,处理器14可以减少用于存储阅读收条44中所使用的时间戳的非易失性存储器12的量。然而,合并数据结构时间戳42通过将消息访问时间戳26合并成较低粒度的形式而保存了消息访问时间戳26的可能保持与用户72的相关性的部分。
另外地或替代地,在一些实施例中,处理器14还可以被配置为降低比预定存龄(age)阈值48老的每个消息22的消息访问时间戳26的相应数据粒度。由于随着消息访问时间戳26的存龄的增长,用户72通常不太可能需要针对那些消息访问时间戳26的高数据粒度水平,因而处理器14可以通过在仅擦除不太可能使用的数据的同时降低比预定存龄阈值48老的每个消息的数据粒度来节约非易失性存储器12中的存储空间。
在图2和图3中提供了使第一消息存储数据结构32和第二消息存储数据结构36相组合以形成合并消息存储数据结构40的示例。图2示出了参与群组讨论20的第一用户72A、第二用户72B和第三用户72C。群组讨论20包括第一消息22A、第二消息22B、第三消息22C、第四消息22D、第五消息22E和第六消息22F。第一用户72A、第二用户72B和第三用户72C已经根据不同时间安排访问了消息22。第一用户72A已经在第一会话50A期间访问了第一消息22A和第二消息22B,并且已经在第二会话50B期间访问了其他消息22。第二用户72B已经在第三会话50C期间访问了所有的六个消息22。第三用户72C已经在第四会话50D期间访问了第一消息22A,在第五会话50E期间访问了第二消息22B,在第六会话50F期间访问了第三消息22C,在第七会话50G期间访问了第四消息22D,并且在第八会话50H期间访问了第六消息22F。第三用户72C尚未访问第五消息22E。
现在转到图3,示出了在处理器14已经针对每个用户72生成了相应合并消息存储数据结构40之后的群组讨论20。针对第一用户72A生成的第一合并消息存储数据结构40A和针对第二用户72B生成的第二合并消息存储数据结构40B均包括群组讨论20的所有消息22,因为第一用户72A和第二用户72B都已经查看了所有消息22。另一方面,针对第三用户72C,处理器14已经生成了包括第一消息22A、第二消息22B、第三消息22C和第四消息22D的第三合并消息存储数据结构40C。处理器14已经进一步生成了消息存储数据结构52,其包括第六消息22F,并且不是两个或更多个其他消息存储数据结构的合并物。由于第三用户72C尚未访问第五消息22E,因而消息存储数据结构52在排序28中不与第三合并消息存储数据结构40C连续,并且因此保持独立。
可能希望为参与群组讨论20的用户72提供指示群组讨论20中的所有用户72均已经访问消息22的通知。在图4中示出了能够实现这样的特征的实施例中的服务器计算设备10。如在图4中所示的,处理器14可以从群组讨论20的每个用户72接收多个访问指示30。处理器14还可以被配置为基于从每个用户72接收到的多个访问指示30生成针对所述用户72的合并消息存储数据结构40,如上文所讨论的。
针对所述多个消息22中的至少一个消息22,处理器14还可以被配置为确定所述消息22已经被所述多个用户72中的每个用户72访问。处理器14可以例如被配置为计算所述多个消息22中分别包含在各个合并消息存储数据结构40中的相应子集的交集。处理器14可以生成包括被所有用户72访问的每个消息22的全组数据结构60。全组数据结构60还可以包括指示所述多个用户72中的最后用户74访问全组数据结构60中所包含的所述至少一个消息22的时间的所有人访问(accessed-by-all)时间戳62。
在确定所述至少一个消息22已经被每个用户72访问之后,处理器14还可以被配置为生成所述消息22已经被每个用户72访问的所有人访问指示64。处理器14还可以被配置为将所有人访问指示64传输给所述多个用户72中的至少一个用户72。在一些实施例中,处理器14可以将所有人访问指示64传输给群组讨论20中所包含的每个用户72。因此,服务器计算设备100可以允许群组讨论20中所包含的用户72具有每个用户72都已经访问一个或多个消息22的共同认知。
图5在示例中示出了图2和图3的群组讨论20,在所述示例中,处理器14已经生成了包括第一消息22A、第二消息22B、第三消息22C和第四消息22D的第一全组数据结构60A。另外,处理器14已经进一步生成了包括第六消息22F的第二全组数据结构60B。由于第五消息22E尚未被第三用户72C访问,因而第五消息22F未被包含在第一全组数据结构60A或第二全组数据结构60B中。
尽管在图1-5中,所述收条是阅读收条44,但是在其他实施例中,如在图6中所示的,所述收条可以是传送收条144。图6示出了数据处理系统是被配置为输出传送收条144的服务器计算设备100的实施例。在这样的实施例中,传送收条144可以指示第一用户72A已经接收到在合并消息存储数据结构140中所包含的每个消息22。当所述多个消息22中的消息22被发送到第一用户72A时,在图6中所示的服务器计算设备100的处理器104可以生成传送收条144。在图6的实施例中,服务器计算设备100可以包括非易失性存储器102,其存储包括多个消息传送时间戳126的元数据124。每个消息传送时间戳126可以与在群组讨论20中所包含的相应消息22相关联,并且可以指示所述消息22被传送给第一用户72A的时间。
传送收条144可以包括指示在合并消息存储数据结构140中所包含的所述一个或多个消息22被传送给第一用户72A的时间的合并数据结构时间戳142。在这样的实施例中,与所述收条是阅读收条44时相似,生成合并数据结构时间戳142可以包括确定第一消息存储数据结构132和第二消息存储数据结构136分别具有处于彼此的预定阈值时间46之内的第一数据结构时间戳134和第二数据结构时间戳138。因此,当在第一消息存储数据结构132和第二消息存储数据结构136的每个中所包含的所述一个或多个相应消息22以紧密的时间接近度传送给第一用户72A时,处理器104可以使第一消息存储数据结构132和第二消息存储数据结构136相组合。
另外,如在图7中所示的,处理器104还可以被配置为针对所述多个消息22中的至少一个消息22来确定所述消息22已经被传送给所述多个用户72中的每个用户72。在这样的实施例中,处理器104还可以被配置为生成所述消息22已经被传送给每个用户72的传送到所有人(delivered-to-all)指示164。处理器104可以生成包括被传送给所有用户72的每个消息22的全组数据结构160。处理器104可以基于与所述多个用户72相关联的各个合并消息存储数据结构140来生成全组数据结构160。生成所述全组数据结构160可以包括识别在每个合并消息存储数据结构中所包含的一个或多个消息22。全组数据结构160还可以包括指示所述至少一个消息22被传送给所述多个用户72的最后用户74的时间的传送到所有人时间戳162。处理器104还可以被配置为将传送到所有人指示164传输给所述多个用户72中的每个用户72。在一些实施例中,处理器104可以将传送到所有人指示164传输给群组讨论20中所包含的每个用户72。
图8A示出了用于与服务器计算设备一起使用的示例性方法200的流程图。所述服务器计算设备可以是图1的服务器计算设备10、图6的服务器计算设备100或者某一其他服务器计算设备。方法200可以包括在步骤202处将在多个用户之间的群组讨论中所包含的多个消息存储在非易失性存储器中。与所述多个消息相关联的元数据也可以被存储在所述非易失性存储器中。所述元数据可以包括所述多个消息的排序,所述排序可以是时间排序。
在其上执行方法200的所述计算设备可以将第一消息存储数据结构和第二消息存储数据结构存储在非易失性存储器中。所述第一消息存储数据结构和所述第二消息存储数据结构可以均与在所述群组讨论中所包含的第一用户相关联,并且均包括一个或多个消息。在步骤204处,方法200还可以包括针对相关联的所述第一消息存储数据结构和所述第二消息存储数据结构来确定所述第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的排序中是连续的。例如,所述第一消息存储数据结构和所述第二消息存储数据结构可以分别与所述第一用户在时间上相继查看的第一页消息和第二页消息相关联。所述第一消息存储数据结构和所述第二消息存储数据结构可以分别包括第一数据结构时间戳和第二数据结构时间戳,其可以均指示第一用户访问或接收到所述数据结构中所包含的一个或多个消息的时间。
在步骤206处,方法200还可以包括生成合并消息存储数据结构。所述合并消息存储数据结构可以包括在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息。所述合并消息存储数据结构还可以包括合并数据结构时间戳,如下文更详细描述的。在步骤208处,方法200还可以包括将所述合并消息存储数据结构存储在非易失性存储器中。
在步骤210处,方法200还可以包括基于所述合并消息存储数据结构来生成收条。例如,所述收条可以包括在所述合并消息存储数据结构中所包含的数据,诸如一个或多个消息和/或所述合并数据结构时间戳。在一些实施例中,所述收条可以是阅读收条,其指示第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息。在其他实施例中,所述收条可以是传送收条,其指示所述用户已经接收到所述合并消息存储数据结构中所包含的每个消息。在步骤212处,方法200还可以包括将所述收条传输给所述多个用户中的第二用户。因此,所述第二用户可以被通知:所述第一用户已经访问了在所述合并消息存储数据结构中所包含的消息,或者在所述合并消息存储数据结构中所包含的消息已经被传送给第一用户。在一些实施例中,所述第二用户可以是发送所述合并消息存储数据结构中所包含的至少一个消息的用户。
图8B示出了当执行图8A的方法200时可以在一些实施例中执行的额外步骤。在图8B的实施例中,所述收条是阅读收条,并且所述收条还包括合并数据结构时间戳。所述合并数据结构时间戳可以指示所述第一用户访问在所述合并消息存储数据结构中所包含的一个或多个消息的时间。在步骤214中,方法200还可以包括生成所述合并数据结构时间戳。步骤214可以包括在步骤216处确定所述第一消息存储数据结构和所述第二消息存储数据结构分别具有处于彼此的预定阈值时间之内的第一数据结构时间戳和第二数据结构时间戳。该确定可以是基于群组讨论中的消息的排序和/或与在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的消息相关联的相应消息时间戳而做出的。
在其中生成合并数据结构时间戳的实施例中,方法200还可以包括在步骤218处降低比预定存龄阈值老的每个消息的消息访问时间戳的相应数据粒度。例如,可以通过删除指示所述消息被访问时的小时和分钟的数据,而仅留下指示日期的数据,来降低针对比一周老的消息访问时间戳的数据粒度。
图8C示出了可以在其中所述收条是传送收条的实施例中执行的方法200的额外步骤。在步骤220处,方法200可以包括生成合并数据结构时间戳。所述合并数据结构时间戳可以指示在所述合并消息存储数据结构中所包含的所述一个或多个消息被传送给所述第一用户的时间。在一个示例中,由所述合并数据结构时间戳指示的时间可以是所述合并消息存储数据结构中的最后消息(根据所述排序确定的)被传送给所述第一用户的时间。在一些实施例中,步骤220可以包括在步骤222处确定所述第一消息存储数据结构和所述第二消息存储数据结构分别具有处于彼此的预定阈值时间之内的第一数据结构时间戳和第二数据结构时间戳。
在其中生成合并数据结构时间戳的实施例中,方法200还可以包括在步骤224处降低比预定存龄阈值老的每个消息的消息传送时间戳的相应数据粒度。根据一个示例,可以通过删除在所述消息传送时间戳中所包含的指示最小时间增量的数据来降低消息传送时间戳的数据粒度。
图8D示出了在一些实施例中当所述收条是阅读收条时可以执行的方法200的额外步骤。在步骤226处,方法200还可以包括针对所述多个消息中的至少一个消息来确定所述消息已经被所述多个用户中的每个用户访问。例如,该确定可以是通过确定分别与所述群组讨论中所包含的所述多个用户相关联的多个合并消息存储数据结构的交集来做出的。在步骤228处,方法200还可以包括生成所述消息已经被每个用户访问的所有人访问指示。所有人访问指示可以包括指示所述多个用户中的最后用户访问所述至少一个消息的时间的所有人访问时间戳。在步骤230处,方法200还可以包括将所述所有人访问指示传输给所述多个用户中的至少一个用户。在一些实施例中,所述所有人访问指示可以被传输给所述群组讨论中所包含的每个用户。
图8E示出了在一些实施例中当所述收条是传送收条时可以执行的方法200的额外步骤。在步骤232处,方法200还可以包括针对所述多个消息中的至少一个消息来确定所述消息已经被传送给所述多个用户中的每个用户。例如,该确定可以是通过确定分别与所述群组讨论中所包含的所述多个用户相关联的多个合并消息存储数据结构的交集而做出的。在步骤234处,方法200还可以包括生成所述消息已经传送给每个用户的传送到所有人指示。方法200还可以包括在步骤236处将所述传送到所有人指示传输给所述多个用户中的至少一个用户。在一些实施例中,所述传送到所有人指示可以被传输给所述群组讨论中所包含的每个用户。
在一些实施例中,在本文中所描述的方法和过程可以涉及一个或多个计算设备的计算系统。具体地,这样的方法和过程可以是作为计算机应用程序或服务、应用编程接口(API)、库和/或其他计算机程序产品实施的。
图9示意性示出了能够实施上文所描述的方法和过程中的一个或多个的计算系统300的非限制性实施例。计算系统300是以简化的形式示出的。计算系统300可以体现一种数据处理系统,诸如上文所描述的并且在图1中所图示的服务器计算设备10或者上文所描述的并且在图6中所图示的服务器计算设备100。计算系统300可以采取一个或多个个人计算机、服务器计算机、平板电脑、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备和/或诸如智能腕表和头戴式增强现实设备的可穿戴计算设备的形式。
计算系统300包括逻辑处理器302、易失性存储器304和非易失性存储设备306。计算系统300可以可选地包括显示子系统308、输入子系统310、通信子系统312和/或在图9未示出的其他组件。
逻辑处理器302包括被配置为执行指令的一个或多个物理设备。例如,所述逻辑处理器可以被配置为执行作为一个或多个应用、程序、例程、库、对象、组件、数据结构或其他逻辑构造的部分的指令。这样的指令可以被实施为执行任务,实施数据类型,转换一个或多个组件的状态,实现技术效果或者以其他方式达到预期结果。
所述逻辑处理器可以包括被配置为执行软件指令的一个或多个物理处理器(硬件)。另外地或替代地,所述逻辑处理器可以包括被配置为执行硬件实施逻辑或者固件指令的一个或多个硬件逻辑电路或固件设备。所述逻辑处理器302的处理器可以是单核的或多核的,并且在其上执行的指令可以被配置应用进行顺次、并行和/或分布式处理。所述逻辑处理器的个体组件可以是在两个或更多个单独设备中分布的,所述单独设备可以远程地定位上并且/或者被配置用于实现协同处理。所述逻辑处理器的各方面可以是虚拟化的,并且可以由按照云计算配置来配置的可远程访问网络化计算设备来执行。在这样的情况下,这些虚拟化方面可以在各种不同机器的不同物理逻辑处理器上运行,这将是能够被理解的。
非易失性存储设备306包括被配置为保存能由所述逻辑处理器执行以实施在本文中所描述的方法和过程的指令的一个或多个物理设备。当实施这样的方法和过程时,非易失性存储设备306的状态可以转变——例如,以保存不同数据。
非易失性存储设备306可以包括可移动和/或内置的物理设备。非易失性存储设备306可以包括光存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,ROM、EPROM、EEPROM、闪存等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)或者其他大容量存储设备技术。非易失性存储设备306可以包括非易失性、动态、静态、读/写、只读、顺序访问、可位置寻址、可文件寻址和/或可内容寻址的设备。将认识到,非易失性存储设备306被配置为即使在针对非易失性存储设备306的电力被切断时仍然保存指令。
易失性存储器304可以包括具有随机存取存储器的物理设备。易失性存储器304通常可以被逻辑处理器302用于暂时存储软件指令的处理期间的信息。将意识到,当易失性存储器304的电力被切断时,易失性存储器304通常不继续存储指令。
逻辑处理器302、易失性存储器304和非易失性存储设备306的各方面可以被一起集成到一个或多个硬件逻辑组件中。例如,这样的硬件逻辑组件可以包括现场可编程门阵列(FPGA)、专门程序和专门应用集成电路(PASIC/ASIC)、专门程序和专门应用标准产品(PSSP/ASSP)、片上系统(SOC)和复杂可编程逻辑器件(CPLD)。
词语“模块”、“程序”和“引擎”可以被用于描述计算系统300的一方面,所述一方面通常由处理器使用易失性存储器的各部分以软件来实施,以执行特定功能,所述功能涉及具体地将所述处理器配置为执行所述功能的变换性处理。因此,可以通过使用易失性存储器304的部分来执行由非易失性存储设备306保存的指令的逻辑处理器302对模块、程序或引擎实例化。应当理解,不同模块、程序和/或引擎可以由同一应用、服务、代码块、对象、库、例程、API、功能等实例化。类似地,同一模块、程序和/或引擎可以由不同应用、服务、代码块、对象、例程、API、功能等实例化。词语“模块”、“程序”和“引擎”可以涵盖个体的或者成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
当包含时,显示子系统308可以被用于呈现由非易失性存储设备306保存的数据的可视表示。所述可视表示可以采取图形用户界面(GUI)的形式。由于在本文中所描述的方法和过程改变有所述非易失性存储设备保存的数据,并且因此转换所述非易失性存储设备的状态,所以显示子系统308的状态可以被类似地变换以可视地表示下层数据的变化。显示子系统308可以包括利用几乎任何类型的技术的一个或多个显示设备。这样的显示设备可以在共享外壳中与逻辑处理器302、易失性存储器304、和/或非易失性存储设备306相组合,或者这样的显示设备可以是外围显示设备。
当包含时,输入子系统310可以包括或者对接一个或多个用户输入设备,诸如键盘、鼠标、触摸屏或者游戏控制器。在一些实施例中,所述输入子系统可以包括或者对接所选择的自然用户输入(NUI)组件系统。这样的组件系统可以是集成的或者外围的,并且输入动作的换能和/或处理可以是在板或离板处理的。示例性NUI组件系统可以包括:用于话语和/或语音识别的传声器;用于机器视觉和/或姿势识别的红外、彩色、立体视觉和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼部跟踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测组件系统;和/或任何其他适当传感器。
当包含时,通信子系统312可以被配置为使在本文中所描述的各种计算设备相互地以及与其他设备通信地耦合。通信子系统312可以包括与一种或多种不同通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,所述通信子系统可以被配置用于经由无线电话网络或者有线或无线局域或广域网络(诸如通过Wi-Fi连接实施的HDMI)进行通信。在一些实施例中,所述通信子系统可以允许计算系统300经由如互联网的网络向和/或从其他设备发送和/或接收消息。
根据本公开的一个方面,提供了一种数据处理系统,其包括存储有在多个用户之间的群组讨论中所包含的多个消息以及与所述多个消息相关联的元数据的非易失性存储器。所述元数据可以包括所述多个消息的排序。所述数据处理系统还可以包括处理器,所述处理器被配置为:针对均与所述多个用户中的第一用户相关联并且均包括来自所述群组讨论的一个或多个消息的第一消息存储数据结构和第二消息存储数据结构,确定所述第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的所述排序中是连续的。所述处理器还可以被配置为生成合并消息存储数据结构,所述合并消息存储数据结构包括来自所述群组讨论的在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息。所述处理器还可以被配置为基于所述合并消息存储数据结构来生成收条。所述处理器还可以被配置为将所述收条传输给所述多个用户中的第二用户。
根据该方面,所述收条可以是阅读收条,其指示第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息。
根据该方面,所述元数据还可以包括针对每个消息的相应消息访问时间戳,其指示第一用户访问所述消息的时间。
根据该方面,所述收条还可以包括合并数据结构时间戳,其指示第一用户访问在所述合并消息存储数据结构中所包含的一个或多个消息的时间。所述处理器可以被配置为至少部分地通过确定第一消息存储数据结构和第二消息存储数据结构分别具有处于彼此的预定阈值时间之内的第一数据结构时间戳和第二数据结构时间戳而生成合并数据结构时间戳。
根据该方面,所述处理器还可以被配置为至少部分地通过降低在所述合并消息存储数据结构中所包含的每个消息的相应消息访问时间戳的数据粒度而生成所述合并数据结构时间戳。在生成所述合并数据结构时间戳之后,所述处理器还可以被配置为从非易失性存储器中删除在所述合并消息存储数据结构中所包含的每个消息的消息访问时间戳。
根据该方面,所述处理器还可以被配置为降低比预定存龄阈值老的每个消息的消息访问时间戳的相应数据粒度。
根据该方面,第一数据结构时间戳可以与第一消息存储数据结构相关联,并且第二数据结构时间戳可以与第二消息存储数据结构相关联。所述第一数据结构时间戳和所述第二数据结构时间戳可以均具有低于每个消息访问时间戳的消息数据粒度的压缩数据粒度。
根据该方面,所述处理器还可以被配置为针对所述多个消息中的至少一个消息来确定所述消息已经被所述多个用户中的每个用户访问。所述处理器还可以被配置为生成所述消息已经被每个用户访问的所有人访问指示。所述处理器还可以被配置为将所述所有人访问指示传输给所述多个用户中的至少一个用户。
根据该方面,所有人访问指示可以包括指示所述多个用户中的最后用户访问所述至少一个消息的时间的所有人访问时间戳。
根据该方面,所述收条可以是传送收条,其指示第一用户已经接收到在所述合并消息存储数据结构中所包含的每个消息。
根据该方面,所述处理器还被配置为将所述合并消息存储数据结构存储在所述非易失性存储器中。
根据本公开的另一方面,提供了一种与数据处理系统一起使用的方法。所述方法可以包括:在非易失性存储器中存储在多个用户之间的群组讨论中所包含的多个消息以及与所述多个消息相关联的元数据。所述元数据可以包括所述多个消息的排序。所述方法还可以包括:针对均与所述多个用户中的第一用户相关联并且均包括一个或多个消息的第一消息存储数据结构和第二消息存储数据结构,确定第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的排序中是连续的。所述方法还可以包括生成包括在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息的合并消息存储数据结构。所述方法还可以包括基于所述合并消息存储数据结构来生成收条。所述方法还可以包括将所述收条传输给所述多个用户中的第二用户。
根据该方面,所述收条可以是阅读收条,其指示第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息。
根据该方面,所述元数据还可以包括针对每个消息的相应消息访问时间戳,其指示所述第一用户访问所述消息的时间。
根据该方面,所述收条还可以包括合并数据结构时间戳,其指示第一用户访问在所述合并消息存储数据结构中所包含的一个或多个消息的时间。生成所述合并数据结构时间戳可以包括确定所述第一消息存储数据结构和所述第二消息存储数据结构分别具有处于彼此的预定阈值时间之内的第一数据结构时间戳和第二数据结构时间戳。
根据该方面,所述方法还可以包括降低比预定存龄阈值老的每个消息的消息访问时间戳的相应数据粒度。
根据该方面,所述方法还可以包括针对所述多个消息中的至少一个消息确定所述消息已经被所述多个用户中的每个用户访问。所述方法还可以包括生成所述消息已经被每个用户访问的所有人访问指示。所述方法还可以包括将所述所有人访问指示传输给所述多个用户中的至少一个用户。
根据该方面,所有人访问指示可以包括指示所述多个用户中的最后用户访问所述至少一个消息的时间的所有人访问时间戳。
根据该方面,所述收条可以是传送收条,其指示所述用户已经接收到在所述合并消息存储数据结构中所包含的每个消息。
根据本公开的另一方面,提供了一种数据处理系统,其包括存储合并消息存储数据结构的非易失性存储器。所述合并消息存储数据结构可以包括在多个用户之间的群组讨论中所包含的多个消息。所述合并消息存储数据结构还可以包括与所述多个消息相关联的元数据。所述元数据可以包括所述多个消息的排序。可以由所述计算设备的处理器至少部分地通过使第一消息存储数据结构与第二消息存储数据结构相组合而生成所述合并消息存储数据结构,所述第一消息存储数据结构包括与所述多个用户中的一个用户相关联的第一多个消息,第二消息存储数据结构包括与所述用户相关联并且在所述排序中与所述第一多个消息连续的第二多个消息。
应当理解,在本文中所描述的配置和方案实质上是示例性的,而且不应当从限定意义上考虑这些特定的实施例或示例,因为许多变化都是可能的。在本文中所描述的特定例程或方法可以表示任意数量的处理策略中的一者或多者。照此,所例示和/或描述的各种动作可以是按照所例示和/或描述的顺序,按照其他顺序或者并行地执行的,或者可以被省略。同样地,可以改变上文描述的过程的顺序。
本公开的主题包括所述的各种过程、系统和配置与本文公开的其他特征、功能、动作和/或特性的所有新颖的非显然组合和亚组合以及其任何及所有等价方案。

Claims (15)

1.一种数据处理系统,包括:
非易失性存储器,其存储:
在多个用户之间的群组讨论中所包含的多个消息;以及
与所述多个消息相关联的元数据,其中,所述元数据包括所述多个消息的排序;以及
处理器,其被配置为:
针对均与所述多个用户中的第一用户相关联并且均包括来自所述群组讨论的一个或多个消息的第一消息存储数据结构和第二消息存储数据结构,确定所述第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的所述排序中是连续的;
生成合并消息存储数据结构,所述合并消息存储数据结构包括来自所述群组讨论的、在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息;
基于所述合并消息存储数据结构来生成收条,其中,所述收条是阅读收条或传送收条,所述阅读收条指示所述第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息,所述传送收条指示所述第一用户已经接收到在所述合并消息存储数据结构中所包含的每个消息;并且
将所述收条传输给所述多个用户中的第二用户。
2.根据权利要求1所述的数据处理系统,其中,所述收条是所述阅读收条,所述阅读收条指示所述第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息。
3.根据权利要求2所述的数据处理系统,其中,所述元数据还包括针对每个消息的相应消息访问时间戳,所述相应消息访问时间戳指示所述第一用户访问所述消息的时间。
4.根据权利要求3所述的数据处理系统,其中:
所述收条还包括合并数据结构时间戳,所述合并数据结构时间戳指示所述第一用户访问在所述合并消息存储数据结构中所包含的一个或多个消息的时间;并且
所述处理器被配置为至少部分地通过确定所述第一消息存储数据结构和所述第二消息存储数据结构分别具有处于彼此的预定阈值时间之内的第一数据结构时间戳和第二数据结构时间戳而生成所述合并数据结构时间戳。
5.根据权利要求4所述的数据处理系统,其中,所述处理器还被配置为:
至少部分地通过降低在所述合并消息存储数据结构中所包含的每个消息的所述相应消息访问时间戳的数据粒度而生成所述合并数据结构时间戳;并且
在所述合并数据结构时间戳被生成之后,从所述非易失性存储器中删除在所述合并消息存储数据结构中所包含的每个消息的所述消息访问时间戳。
6.根据权利要求3所述的数据处理系统,其中,所述处理器还被配置为降低比预定存龄阈值老的每个消息的所述消息访问时间戳的相应数据粒度。
7.根据权利要求3所述的数据处理系统,其中:
第一数据结构时间戳与所述第一消息存储数据结构相关联;
第二数据结构时间戳与所述第二消息存储数据结构相关联;并且
所述第一数据结构时间戳和所述第二数据结构时间戳均具有低于每个消息访问时间戳的消息数据粒度的压缩数据粒度。
8.根据权利要求2所述的数据处理系统,其中,所述处理器还被配置为:
针对所述多个消息中的至少一个消息来确定所述消息已经被所述多个用户中的每个用户访问;
生成所述消息已经被每个用户访问的所有人访问指示;并且
将所述所有人访问指示传输给所述多个用户中的至少一个用户。
9.根据权利要求8所述的数据处理系统,其中,所述所有人访问指示包括指示所述多个用户中的最后用户访问所述至少一个消息的时间的所有人访问时间戳。
10.根据权利要求1所述的数据处理系统,其中,所述收条是所述传送收条,所述传送收条指示所述第一用户已经接收到在所述合并消息存储数据结构中所包含的每个消息。
11.根据权利要求1所述的数据处理系统,其中,所述处理器还被配置为将所述合并消息存储数据结构存储在所述非易失性存储器中。
12.一种用于与数据处理系统一起使用的方法,所述方法包括:
在非易失性存储器中存储:
在多个用户之间的群组讨论中所包含的多个消息;以及
与所述多个消息相关联的元数据,其中,所述元数据包括所述多个消息的排序;
针对均与所述多个用户中的第一用户相关联并且均包括一个或多个消息的第一消息存储数据结构和第二消息存储数据结构,确定所述第一消息存储数据结构的所述一个或多个消息与所述第二消息存储数据结构的所述一个或多个消息在所述多个消息的所述排序中是连续的;
生成包括在所述第一消息存储数据结构和所述第二消息存储数据结构中所包含的每个消息的合并消息存储数据结构;
基于所述合并消息存储数据结构来生成收条,其中,所述收条是阅读收条或传送收条,所述阅读收条指示所述第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息,所述传送收条指示所述用户已经接收到在所述合并消息存储数据结构中所包含的每个消息;以及
将所述收条传输给所述多个用户中的第二用户。
13.根据权利要求12所述的方法,其中,所述收条是所述阅读收条,所述阅读收条指示所述第一用户已经访问了在所述合并消息存储数据结构中所包含的每个消息。
14.根据权利要求13所述的方法,还包括:
针对所述多个消息中的至少一个消息来确定所述消息已经被所述多个用户中的每个用户访问;
生成所述消息已经被每个用户访问的所有人访问指示;以及
将所述所有人访问指示传输给所述多个用户中的至少一个用户。
15.根据权利要求12所述的方法,其中,所述收条是所述传送收条,所述传送收条指示所述用户已经接收到在所述合并消息存储数据结构中所包含的每个消息。
CN202080019940.9A 2019-03-12 2020-03-05 合并消息存储数据结构 Active CN113545015B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/351,395 US10862844B2 (en) 2019-03-12 2019-03-12 Merged message storage data structure
US16/351,395 2019-03-12
PCT/US2020/021052 WO2020185474A1 (en) 2019-03-12 2020-03-05 Merged message storage data structure

Publications (2)

Publication Number Publication Date
CN113545015A CN113545015A (zh) 2021-10-22
CN113545015B true CN113545015B (zh) 2023-03-24

Family

ID=70005829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080019940.9A Active CN113545015B (zh) 2019-03-12 2020-03-05 合并消息存储数据结构

Country Status (4)

Country Link
US (1) US10862844B2 (zh)
EP (1) EP3925170A1 (zh)
CN (1) CN113545015B (zh)
WO (1) WO2020185474A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142581A (zh) * 2005-01-14 2008-03-12 桑迪士克股份有限公司 向便携式数据存储装置的用户传递消息作为其使用条件
CN106330687A (zh) * 2016-10-17 2017-01-11 腾讯科技(深圳)有限公司 消息处理方法、装置及系统
CN106471775A (zh) * 2014-06-30 2017-03-01 微软技术许可有限责任公司 消息存储

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779019B1 (en) * 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
EP1502464B1 (en) 2002-05-06 2005-07-27 Telefonaktiebolaget LM Ericsson (publ) Multi-user multimedia messaging services
US7685237B1 (en) * 2002-05-31 2010-03-23 Aol Inc. Multiple personalities in chat communications
US8572182B2 (en) 2006-07-21 2013-10-29 Blackberry Limited Handling notifications in instant messaging systems
US8250181B2 (en) * 2007-10-19 2012-08-21 Voxer Ip Llc Method and apparatus for near real-time synchronization of voice communications
CN102130845B (zh) * 2010-01-19 2016-09-28 中兴通讯股份有限公司 回执报告的发送方法及处理系统
US8798684B2 (en) * 2010-04-19 2014-08-05 Lg Electronics Inc. Mobile terminal and controlling method thereof
US8375400B2 (en) 2011-02-11 2013-02-12 Research In Motion Limited Communication device and method for coherent updating of collated message listings
US9215201B2 (en) * 2013-03-13 2015-12-15 Microsoft Technology Licensing, Llc Providing an unseen message count across devices
CN104301204A (zh) * 2014-09-25 2015-01-21 小米科技有限责任公司 未读通信消息聚合方法及装置
CN106533897A (zh) * 2015-09-15 2017-03-22 北大方正集团有限公司 一种判断即时通讯消息已读的方法及装置
JP6184470B2 (ja) * 2015-12-29 2017-08-23 Line株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
CN105848291A (zh) * 2016-05-25 2016-08-10 努比亚技术有限公司 一种系统消息的处理方法和服务器
TWI647609B (zh) * 2017-04-14 2019-01-11 緯創資通股份有限公司 即時通訊方法、系統及電子裝置與伺服器
US10402371B2 (en) * 2017-07-20 2019-09-03 Slack Technologies, Inc. Method, apparatus and computer program product for generating externally shared communication channels
CN108388407B (zh) * 2018-02-10 2020-12-25 深圳壹账通智能科技有限公司 消息的处理方法、装置、计算机设备及存储介质
CN108449261B (zh) * 2018-03-19 2020-10-02 腾讯科技(深圳)有限公司 消息提示方法、消息版本号处理方法、装置和存储介质
CN109379200B (zh) * 2018-09-06 2019-08-20 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142581A (zh) * 2005-01-14 2008-03-12 桑迪士克股份有限公司 向便携式数据存储装置的用户传递消息作为其使用条件
CN106471775A (zh) * 2014-06-30 2017-03-01 微软技术许可有限责任公司 消息存储
CN106330687A (zh) * 2016-10-17 2017-01-11 腾讯科技(深圳)有限公司 消息处理方法、装置及系统

Also Published As

Publication number Publication date
US10862844B2 (en) 2020-12-08
EP3925170A1 (en) 2021-12-22
WO2020185474A1 (en) 2020-09-17
US20200296065A1 (en) 2020-09-17
CN113545015A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US10249301B2 (en) Method and system for speech recognition processing
AU2019202184B2 (en) Metadata-based photo and/or video animation
US10581770B2 (en) Method and system for communication in instant messaging application
US20180260783A1 (en) Auto-calendaring
US11800327B2 (en) Systems and methods for sharing information between augmented reality devices
US20150207764A1 (en) Method and device for sharing data
US11579744B2 (en) Systems and methods for seat selection in virtual reality
CN110633033A (zh) 任务显示的方法、设备和计算机存储介质
US10938767B2 (en) Outputting reengagement alerts by a computing device
US11829809B2 (en) Method, system, and non-transitory computer-readable record medium for managing event messages and system for presenting conversation thread
KR102043475B1 (ko) 모바일 광고를 위한 브리지 페이지
CN107911749B (zh) 一种合演图谱的展示、提供方法、客户端及服务器
US10956015B1 (en) User notification based on visual trigger event
US9910737B2 (en) Implementing change data capture by interpreting published events as a database recovery log
CN113545015B (zh) 合并消息存储数据结构
US20170053338A1 (en) Enabling transactional ability for objects referred to in digital content
CN110019270B (zh) 信息更新方法及其装置、终端、服务器、可读存储介质
US10664536B2 (en) Consumption of user-filtered data on a client device
US20230252733A1 (en) Displaying blockchain data associated with a three-dimensional digital object
CN115955450B (zh) 即时消息显示、推送方法、装置、电子设备及存储介质
CN115985351A (zh) 显示方法、装置、介质和计算设备
CN110688038A (zh) 任务显示的方法、设备和计算机存储介质

Legal Events

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