CN112740622A - 用于生成外部共享通信信道的方法、装置和计算机程序产品 - Google Patents
用于生成外部共享通信信道的方法、装置和计算机程序产品 Download PDFInfo
- Publication number
- CN112740622A CN112740622A CN201980060215.3A CN201980060215A CN112740622A CN 112740622 A CN112740622 A CN 112740622A CN 201980060215 A CN201980060215 A CN 201980060215A CN 112740622 A CN112740622 A CN 112740622A
- Authority
- CN
- China
- Prior art keywords
- group
- communication channel
- shared
- message
- client devices
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了用于在具有多个数据库分片的基于群组的通信平台中创建共享通信信道的计算系统、装置、计算机实现的方法和计算机程序产品。一种示例计算机实现的方法包括生成共享通信信道分片,该分片被分配有共享通信信道标识、与第一群组标识相关联的第一组共享通信信道属性、以及与第二群组标识相关联的第二组共享通信信道属性。该方法还包括分别基于第一和第二组共享通信信道属性生成第一和第二外部共享的基于群组的共享通信信道接口。该方法还包括将第一和第二外部共享的基于群组的共享通信信道接口分别发送到与第一群组标识相关联的第一客户端设备和与第二群组标识相关联的第二客户端设备。
Description
本申请要求2019年6月12日提交的名称为“METHOD,APPARATUS AND COMPUTERPROGRAM PRODUCT FOR GENERATING EXTERNALLY SHARED COMMUNICATION CHANNELS”的美国专利申请序列号16/438,957以及2018年11月30日提交的名称为“METHOD,APPARATUS ANDCOMPUTER PROGRAM PRODUCT FOR GENERATING EXTERNALLY SHARED COMMUNICATIONCHANNELS”的美国专利申请序列号16/206,578的优先权。美国专利申请序列号16/438,957是美国专利申请序列号16/206,578的继续申请,美国专利申请序列号16/206,578是2017年11月17日提交的名称为“METHOD,APPARATUS AND COMPUTER PROGRAM PRODUCT FORGENERATING EXTERNALLY SHARED COMMUNICATION CHANNELS”的美国专利申请序列号15/816,925的部分继续申请,美国专利申请序列号15/816,925是2017年7月20日提交的名称为“METHOD,APPARATUS AND COMPUTER PROGRAM PRODUCT FOR GENERATING EXTERNALLYSHARED COMMUNICATION CHANNELS”的美国专利申请序列号15/655,634的继续申请,这些申请的内容全文以引用方式并入本文中。
背景技术
各种系统被配置成创建外部共享通信信道。申请人已经发现了与现有系统相关联的许多缺陷和问题。通过所施加的努力、独创性和创新,已经通过开发根据本公开的实施例的解决方案解决了这些已发现的缺陷和问题中的许多,本文详细描述了这些实施例的许多示例。
发明内容
通常,本公开的实施例提供了用于生成外部共享通信信道的方法、装置、系统、计算设备和/或类似物。
在一个示例实施例中,提供了一种用于在基于群组的通信平台中创建共享通信信道的计算系统。基于群组的通信平台可以包括多个数据库分片。计算系统可以包括通信电路,该通信电路被配置成从与发起者群组标识相关联的第一客户端设备接收与发起者群组标识和目标群组标识相关联的共享通信信道生成查询。通信电路还可以被配置成向与目标群组标识相关联的第二客户端设备发送共享通信信道接受请求。通信电路还可以被配置成接收共享通信信道接受通知。通信电路还可以被配置成向第一客户端设备发送共享通信信道的第一外部共享的基于群组的共享通信信道接口。通信电路还可以被配置成向第二客户端设备发送共享通信信道的第二外部共享的基于群组的共享通信信道接口。计算系统还可以包括与通信电路连通的数据库电路。数据库电路可以被配置成从通信电路接收共享通信信道生成查询。数据库电路还可以被配置成生成共享通信信道分片。多个数据库分片可以包括共享通信信道分片。共享通信信道分片可以被分配有共享通信信道标识、与发起者群组标识相关联的第一组共享通信信道属性和与目标群组标识相关联的第二组共享通信信道属性。数据库电路还可以被配置成生成共享通信信道接受请求。共享通信信道接受请求可以与共享通信信道标识相关联。数据库电路还可以被配置成向通信电路发送共享通信信道接受请求,以传输到与目标群组标识相关联的第二客户端设备。数据库电路还可以被配置成从通信电路接收共享通信信道接受通知。共享通信信道接受通知可以包括将共享通信信道标识与目标群组标识相关联的电子批准。计算系统还可以包括与通信电路、数据库电路和主数据库连通的参考表生成电路。主数据库可以包括分片参考表。参考表生成电路可以被配置成基于发起者群组标识、目标群组标识、共享通信信道标识、第一组共享通信信道属性和第二组共享通信信道属性来更新分片参考表。计算系统还可以包括与通信电路、数据库电路和参考表生成电路连通的接口生成电路。接口生成电路可以被配置成基于共享通信信道分片和与发起者群组标识相关联的第一组共享通信信道属性来生成共享通信信道的第一外部共享的基于群组的共享通信信道接口。接口生成电路可以被配置成基于共享通信信道分片和与目标群组标识相关联的第二组共享通信信道属性来生成共享通信信道的第二外部共享的基于群组的共享通信信道接口。接口生成电路可以被配置成向通信电路发送共享通信信道的第一外部共享的基于群组的共享通信信道接口,以传输到第一客户端设备。接口生成电路还可以被配置成向通信电路发送共享通信信道的第二外部共享的基于群组的共享通信信道接口,以传输到第二客户端设备。
在另一个示例实施例中,提供了一种用于在基于群组的通信平台中创建共享通信信道的计算机实现的方法。基于群组的通信平台可以包括多个数据库分片。计算机实现的方法可以包括由通信电路从与发起者群组标识相关联的第一客户端设备接收与发起者群组标识和目标群组标识相关联的共享通信信道生成查询。计算机实现的方法还可以包括由与通信电路连通的数据库电路生成共享通信信道分片。多个数据库分片可以包括共享通信信道分片。共享通信信道分片可以被分配有共享通信信道标识、与发起者群组标识相关联的第一组共享通信信道属性和与目标群组标识相关联的第二组共享通信信道属性。计算机实现的方法还可以包括由数据库电路生成共享通信信道接受请求。共享通信信道接受请求可以与共享通信信道标识相关联。计算机实现的方法还可以包括由通信电路向与目标群组标识相关联的第二客户端设备发送共享通信信道接受请求。计算机实现的方法还可以包括由通信电路接收共享通信信道接受通知。共享通信信道接受通知可以包括将共享通信信道标识与目标群组标识相关联的电子批准。计算机实现的方法还可以包括由与通信电路、数据库电路和主数据库连通的参考表生成电路基于发起者群组标识、目标群组标识、共享通信信道标识、第一组共享通信信道属性和第二组共享通信信道属性来更新分片参考表。主数据库可以包括分片参考表。计算机实现的方法还可以包括由与通信电路、数据库电路和参考表生成电路连通的接口生成电路基于共享通信信道分片和与发起者群组标识相关联的第一组共享通信信道属性来生成共享通信信道的第一外部共享的基于群组的共享通信信道接口。计算机实现的方法还可以包括由接口生成电路基于共享通信信道分片和与目标群组标识相关联的第二组共享通信信道属性来生成共享通信信道的第二外部共享的基于群组的共享通信信道接口。计算机实现的方法还可以包括由通信电路向第一客户端设备发送共享通信信道的第一外部共享的基于群组的共享通信信道接口。计算机实现的方法还可以包括由通信电路向第二客户端设备发送共享通信信道的第二外部共享的基于群组的共享通信信道接口。
在另一个示例实施例中,提供了一种用于在基于群组的通信平台中创建共享通信信道的计算机程序产品。基于群组的通信平台可以包括多个数据库分片。计算机程序产品可以包括存储计算机可执行程序代码指令的至少一个非暂时性计算机可读存储介质,当由计算系统执行时,该计算机可执行程序代码指令导致计算系统通过通信电路从与发起者群组标识相关联的第一客户端设备接收与发起者群组标识和目标群组标识相关联的共享通信信道生成查询。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过与通信电路连通的数据库电路生成共享通信信道分片。多个数据库分片可以包括共享通信信道分片。共享通信信道分片可以被分配有共享通信信道标识、与发起者群组标识相关联的第一组共享通信信道属性和与目标群组标识相关联的第二组共享通信信道属性。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过数据库电路生成共享通信信道接受请求。共享通信信道接受请求与共享通信信道标识相关联。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过通信电路向与目标群组标识相关联的第二客户端设备发送共享通信信道接受请求。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过通信电路接收共享通信信道接受通知。共享通信信道接受通知可以包括将共享通信信道标识与目标群组标识相关联的电子批准。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过与通信电路、数据库电路和主数据库连通的参考表生成电路基于发起者群组标识、目标群组标识、共享通信信道标识、第一组共享通信信道属性和第二组共享通信信道属性来更新分片参考表。主数据库可以包括分片参考表。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过与通信电路、数据库电路和参考表生成电路连通的接口生成电路基于共享通信信道分片和与发起者群组标识相关联的第一组共享通信信道属性来生成共享通信信道的第一外部共享的基于群组的共享通信信道接口。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过接口生成电路基于共享通信信道分片和与目标群组标识相关联的第二组共享通信信道属性来生成共享通信信道的第二外部共享的基于群组的共享通信信道接口。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过通信电路向第一客户端设备发送共享通信信道的第一外部共享的基于群组的共享通信信道接口。当由计算系统执行时,计算机可执行程序代码指令还可以导致计算系统通过通信电路向第二客户端设备发送共享通信信道的第二外部共享的基于群组的共享通信信道接口。
提供前述发明内容仅仅是为了概述说明本公开的一些方面的一些示例实施例。因此,应当理解,上述实施例仅仅是示例,并且不应该被解释为以任何方式缩小本公开的范围。应当理解,除了本文总结的那些实施例之外,本公开的范围涵盖许多潜在的实施例,其中一些将在下面进一步详细描述。
附图说明
因此,已经概括地描述了一些示例实施例,现在将参考附图,附图示出了本公开的示例实施例和特征,并且不一定按比例绘制。附图中示出的组件代表可能存在或可能不存在于本文所述公开的各种实施例或特征中的组件。因此,在不脱离本公开的范围的情况下,本公开的一些实施例或特征可以包括比附图中所示的更少或更多的组件。
图1示出了根据本公开的一些示例实施例的基于群组的通信平台的示例系统架构图;
图2示出了根据本公开的一些示例实施例的消息服务器的示例示意图;
图3示出了根据本公开的一些示例实施例的网络应用程序服务器的示例示意图;
图4示出了示例流程图,该示例流程图示出了根据本公开的一些示例实施例的示例方法;
图5示出了示例流程图,该示例流程图示出了根据本公开的一些示例实施例的示例方法;
图6示出了示例流程图,该示例流程图示出了根据本公开的一些示例实施例的示例方法;
图7示出了示例流程图,该示例流程图示出了根据本公开的一些示例实施例的示例方法;以及
图8A、图8B、图8C和图8D示出了根据本公开的一些示例实施例的示例用户接口的各种元素。
具体实施方式
现在将在下文中参考附图更全面地描述本公开的各种实施例,在附图中示出了本公开的一些而不是所有实施例。事实上,本公开可以以许多不同的形式来实施,并且不应该被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将满足适用的法律要求。除非另有说明,术语“或”在本文中在二中择一和连接词的意义上使用。术语“说明性的”和“示例”被用作没有质量水平的指示的示例。相同的数字始终表示相同的元件。
概述
本公开的各种实施例大体上涉及在基于群组的通信平台中外部共享通信信道的创建。基于群组的通信平台被配置成与多个客户端设备通信,并操作多个网络数据库。每个客户端设备可以与群组标识相关联,该群组标识可以指示客户端设备与之相关联的群组或组织。例如,特定组织可以具有连接到基于群组的通信平台的多个客户端设备,并且基于群组的通信平台将每个客户端设备识别为与该特定组织相关联。
基于群组的通信平台还包括多个数据库分片,并且每个数据库分片存储与特定群组标识相关的数据。例如,数据库分片可以存储与特定组织的成员相关联的电子通信数据,该电子通信数据使得该特定组织的成员能够与同一组织的其他成员实时地通信和交换数据。在该示例中,组织本身是数据库分片的所有者,并控制相关数据存储的位置和方式。这简化了许多技术任务,诸如数据保持、展开和集成设置。
然而,现有的系统和方法受到许多技术限制和约束的困扰,因为它们不提供对不同组织之间的数据交换和通信的支持,因为每个数据库分片只能由单个组织拥有。例如,当组织X的用户Tony打算与组织Y的另一个用户Frank共享数据(存储在组织X的数据库分片中)时,Tony将不得不通过其他通信手段交换所述数据,这可能导致通信延迟和效率低下。由于数据在本质上可能是时间敏感和动态的,现有系统的技术限制可能会损害数据完整性并耗尽网络资源。
此外,现有系统未被配置成管理外部共享通信信道中的用户身份。例如,Tony可能是组织X和组织Z两者的成员。Tony可能具有与组织X中的通信信道相关联的身份(“Tony-X”),以及与组织Z中的通信信道相关联的另一身份(“Tony-Z”)。在连接组织X和组织Z的外部共享通信信道中,现有系统无法协调“Tony-X”和“Tony-Z”,并且可能错误地确定“Tony-X”和“Tony-Z”是两个不同的个体。现有系统可能将Tony确定为组织X的成员,但将其确定为组织Z的个体或客人,这可能在数据管理方面产生冲突。
根据本公开的各种实施例结构化的系统克服了现有系统面临的挑战。
继续“Tony到Frank”的以上讨论,根据本公开的各种实施例结构化的基于群组的通信平台(例如,由提供的基于云的群组协作工具)中的Tony能够通过外部共享通信信道与Frank实时地交换数据。换句话说,组织X和组织Y的成员能够在外部共享通信信道中查看内容和共享数据,在某些情况下好像他们属于相同的组织,而在其他情况下好像他们属于不同的组织(例如,如下所述的“单侧查看”)。网络应用程序和其他软件集成继续在外部共享通信信道中工作,并且每个组织都保持其自己的适用于其各自的信道体验的偏好。
继续“Tony-X/Tony-Z”的以上讨论,在根据本公开的各种实施例结构化的基于群组的通信平台中,Tony被分配了统一的身份,该身份将Tony识别为组织X和组织Z两者的成员。换句话说,由提供的基于云的群组协作工具能够创建身份的并集,该并集可以将个体识别为独立团队的成员。
从用户体验的角度来看,根据本公开的各种实施例结构化的系统大大地提高了组织生产率和效率。它们还减少了对其他通信形式(诸如电子邮件)的需求,并在消除团队之间的信道中断的同时,提供了不同组织之间更好的协作。此外,它们被配置成提供不对称和可定制的隐私设置,其中两个团队之间的外部共享通信信道可能具有针对一个团队的一种隐私配置和针对另一个团队的不同配置。此外,外部共享通信信道可能产生跨网络效应,这增加了来自不同组织或不同群组的用户保有率。
从开发者的角度来看,根据本公开的各种实施例结构化的系统为数据的检索和适当的可见性(例如,基于共享通信信道属性、查看权限设置或两者)提供支持,同时提供保留设置的灵活性。它们还能够实现信道的选择性连接,以及基于信道的团队。
在一些实施例中,基于群组的通信平台可以提供具有共享通信信道属性(例如,名称、目的、主题)、共享通信信道控制(例如,访问控制、查看权限设置)和共享通信信道接口的“单侧查看”,该共享通信信道接口能够配置成在外部共享通信信道的每一侧上是不同的。例如,外部共享通信信道的每一侧上的共享通信信道属性、控制和接口可能能够由用户、管理员或系统配置(例如,自动地且无需用户交互)。例如,即使系统保持外部共享通信信道的切分,外部共享通信信道的属性、控制和接口也可能在每一侧上不同,使得需要外部共享通信信道为公用的第一组织(例如,有许多人流入和流出外部共享通信信道的机构)可以与需要外部共享通信信道为私有的第二组织(例如,创建私有文档的公司)共享外部共享通信信道。在一些情况下,这些属性和控制在架构上可能包含在单个表中,但是拆分成每个组织或团队的属性。由基于群组的通信平台提供的这种“单侧查看”允许通过外部共享通信信道传送的消息、附件和内容对于第一组织的成员来说是“公共的”,并且对于第二组织的成员来说是“私有的”。在说明性示例中,系统可以提供对围绕名称的属性的同等控制,使得具有不同工作流的组织可以将不同的名称用于外部共享通信信道。例如,外部共享通信信道可能具有由每个组织的成员主动使用的不同名称。
在一个说明性示例中,外部共享通信信道的组织X侧可以具有与外部共享通信信道的组织Y侧不同的属性和控制以及不同的接口。在另一个说明性示例中,基于群组的通信平台提供用于组织X的成员通过外部共享通信信道向组织X和组织Y两者的成员广播(例如,通过消息服务器实时地广播)公共消息。基于群组的通信平台还提供用于组织Y的成员通过外部共享通信信道向组织Y的成员而不是组织X的成员发送(例如,通过消息服务器实时地发送)私有消息。基于群组的通信平台还提供用于在主数据库中存储(例如,通过网络应用程序服务器)公共消息和私有消息,并允许(例如,通过网络应用程序服务器)组织X或组织Y的成员搜索和访问公共消息,同时仅允许(例如,通过网络应用程序服务器)组织Y的成员搜索和访问私有消息。例如,基于群组的通信平台可以:在组织X的成员和组织Y的成员可访问的共享索引中索引由组织X或组织Y的成员发送的公共消息;在组织X的成员可访问但组织Y的成员不可访问的第一单独索引中索引由组织X的成员发送的私有消息;并且在组织Y的成员可访问但组织X的成员不可访问的第二单独索引中索引由组织Y的成员发送的私有消息。
在一些实施例中,基于群组的通信平台可以将外部共享通信信道的属性和控制在架构上存储在单个表中,但是将存储的属性和控制拆分成每个组织的属性和控制。例如,基于群组的通信平台可以将信道的私密性或公共性作为属性存储在数据库中存储的关联表的信道行中。对于共享通信信道,基于群组的通信平台可以生成每个组织的单独的关联表。基于群组的通信平台可以在信道行中存储共享通信信道的所有静态信息(例如,不能由用户改变或配置的事实),诸如共享通信信道是何时创建的、共享通信信道是何时最后更新的、谁制作了共享通信信道等等。在一些实施例中,基于群组的通信平台可以为共享通信信道生成单独的关联表,该关联表包括每个组织(例如,在共享通信信道中的两个或更多个组织中的每一个)的可配置属性和控制。例如,基于群组的通信平台可以生成具有两行或更多行的关联表(例如,共享通信信道中的两个或更多个组织中的每一个一行),该关联表包括指示向下序列化到客户端的那些属性和控制的数据。基于群组的通信平台可以基于共享通信信道中每个组织的属性和控制来为共享通信信道生成不同的用户接口。在一些情况下,共享通信信道中的一个组织将不知道共享通信信道中的另一个组织是否具有不同的设置、属性或控制。
在一些实施例中,继续“Tony到Frank”的以上讨论,外部共享通信信道的组织X侧可以具有与外部共享通信信道的组织Y侧不同的属性和控制以及不同的接口。在一些实施例中,基于群组的通信平台提供用于组织X的成员(例如,Tony)通过外部共享通信信道向组织X和组织Y两者的成员广播(例如,通过消息服务器实时地广播)公共消息。基于群组的通信平台还提供用于组织Y的成员(例如,Frank)通过外部共享通信信道向组织Y的成员而不是组织X的成员发送(例如,通过消息服务器实时地发送)私有消息。基于群组的通信平台还提供用于在主数据库中存储(例如,通过网络应用程序服务器)公共消息和私有消息,并允许(例如,通过网络应用程序服务器)组织X或组织Y的成员搜索和访问公共消息,同时仅允许(例如,通过网络应用程序服务器)组织Y的成员搜索和访问私有消息。例如,基于群组的通信平台可以允许Tony和Frank搜索和访问公共消息,同时允许Frank而不是Tony搜索和访问私有消息。
在一些实施例中,如果组织Y已经将共享通信信道配置成私有的,并且如果Frank改变了共享通信信道的主题,则本文公开的实时消息传递服务器(例如,消息服务器107、装置200)可以被配置成在共享通信信道中将该改变作为消息(例如,私有通用消息)仅广播给组织Y,而不广播给组织X。此外,本文公开的网络应用程序服务器(例如,网络应用程序服务器109、装置300)可以被配置成在共享通信信道中将该改变作为历史(例如,私有存储消息)存储并仅向组织Y而不是向组织X提供对该改变的搜索访问。结果,仅一侧(组织Y)能够看到该信息。
在一些实施例中,基于群组的通信平台提供非暂时性的“临时”消息(例如,仅可由与正确的群组标识相关联的客户端设备查看和搜索的私有通用消息和私有存储消息)。基于群组的通信平台为消息服务器、网络应用程序服务器和任何其他合适的组件提供了接收、发送、存储和检索数据并认识到以下消息的技术:(i)仅特定成员可以看到的消息(例如,如果成员执行导致错误的动作,则基于群组的通信平台可以将消息直接发送给该成员,并且仅发送给该成员);(ii)配置成仅在共享通信信道的一侧上存在(例如,以便发送、查看、存储、搜索、检索)的临时消息;以及(iii)向共享通信信道的所有成员广播的消息。
在一些实施例中,基于群组的通信平台提供用于通过注释消息来生成前述非暂时的“临时”消息,以便存储装置(例如,网络应用程序服务器)确定是否为共享通信信道的一侧、另一侧或两侧检索消息。基于群组的通信平台提供用于由消息服务器对注释进行电子分析(并且没有用户输入),并且基于注释来确定是否向共享通信信道的一侧、另一侧或两侧广播消息。因此,基于群组的通信平台提供了消息的实时查看(例如,通过实时消息传递服务器)以及消息的历史和基于搜索的查看(例如,通过网络应用程序服务器)。例如,共享通信信道的一侧的成员可以从实时消息传递服务器实时地接收仅在共享通信信道的该侧可查看的临时消息。随后,成员可以刷新该成员的用户接口。成员然后可以从网络应用程序服务器接收临时消息(例如,临时消息现在通过网络应用程序服务器来自主数据库,而不是来自实时消息传递服务器)。
在一些实施例中,基于群组的通信平台提供包括多个数据库分片的切分数据库。在一些实施例中,基于群组的通信平台可以按团队切分。例如,基于群组的通信平台可以:在第一数据库分片中存储一个组织的数据;在第二数据库分片中存储另一个组织的数据;并且在第三数据库分片中存储共享通信信道。在一些实施例中,基于群组的通信平台可以使用许可跳跃技术来提供访问控制。
在一些实施例中,基于群组的通信平台可以按信道切分。例如,访问控制可以围绕哪些组织可以访问分片中的特定信道,该分片包括与多个不同组织相关联的多个不同信道。在一个说明性示例中,包括信道A、B、C、D、E和F的分片可以由组织X、Y和Z共享。分片中的信道A和B可以与组织X相关联,其中信道A仅可由组织X访问,并且其中信道B可由组织X、Y和Z访问。分片中的信道C可以与组织Y相关联,并且可由组织Y和Z访问。分片中的信道D、E和F可以与组织Z相关联,其中信道D仅可由组织Z访问,其中信道E仅可由组织Z和X访问,并且其中信道F仅可由组织Z和Y访问。
这样,根据本公开的各种实施例结构化的系统为现有系统面临的技术问题提供了具体的技术解决方案,其细节将在下文中描述。
定义
如本文所用,术语“数据”、“内容”、“信息”和类似术语可以可互换地使用,以表示能够根据本公开的实施例被发送、接收和/或存储的数据。因此,任何此类术语的使用不应被视为限制本公开的实施例的精神和范围。此外,在计算设备在本文中被描述为从另一个计算设备接收数据的情况下,应当理解,数据可以直接从另一个计算设备接收,或者可以经由一个或多个中间计算设备(诸如例如一个或多个服务器、中继器、路由器、网络接入点、基站、主机和/或类似物)间接地接收。类似地,在计算设备在本文中被描述为向另一个计算设备发送数据的情况下,应当理解,数据可以直接发送到另一个计算设备,或者可以经由一个或多个中间计算设备(诸如例如一个或多个服务器、中继器、路由器、网络接入点、基站、主机和/或类似物)间接地发送。
术语“用户”应该被理解为是指个体、一组个体、企业、组织等。用户可以使用客户端设备访问基于群组的通信或消息传递系统。“基于群组的”在本文中用于指这样的系统、信道、消息或虚拟环境,其具有足够安全性,使得其仅可由限定的用户群组访问。该群组可以由诸如组织或商业企业的访问凭证的常见访问凭证限定。由一个群组成员用户向另一个非成员用户发送的有效的加入请求或加入邀请可以进一步促进访问。群组标识符(定义如下)用于将数据、信息、消息等与特定的群组相关联。
术语“用户简档”、“用户账户”和“用户账户细节”是指与用户相关联的信息,包括例如用户标识符、与用户被授权访问的基于群组的通信信道相关联的一个或多个基于群组的通信信道标识符、与用户相关联的群组的一个或多个群组标识符、关于用户是否是任何基于群组的通信信道的所有者的指示、关于用户是否具有任何基于群组的通信信道限制的指示、多个消息、多个表情符号、多个对话、多个对话主题、化身(avatar)、电子邮件地址、真实姓名(例如,John Doe)、用户名(例如,jdoe)、密码、真实姓名、时区、状态等。用户账户细节可以包括用户凭证的子集指定,诸如例如用户的登录信息,包括用户的用户名和密码。
术语“客户端设备”是指配置成访问由一个或多个服务器提供的一个或多个服务的(多个)计算机硬件和/或(多个)软件。(多个)服务器通常(但不总是)在另一个计算机系统上,在这种情况下,客户端设备通过网络访问服务。客户端设备可以与群组标识相关联,其中群组标识是建议用户所属的群组(例如,用户群组)的电子指示。客户端设备可以包括但不限于智能电话、平板计算机、膝上型计算机、台式计算机、可穿戴设备、个人计算机、企业计算机等。
术语“基于群组的通信平台”是指计算服务的集合,其对于一个或多个客户端设备来说可访问并且可操作来提供对与数据库的操作相关的多个软件应用程序的访问。在一些示例中,基于群组的通信平台可以采取一个或多个中央服务器的形式,所述中央服务器设置成与运行软件应用程序的一个或多个附加服务器连通,并且能够访问存储数字内容项目、应用程序相关数据和/或类似物的一个或多个数据库。基于群组的通信平台还可以支持客户端保留设置(client retention settings)和其他合规性方面。此外,基于群组的通信平台可以提供全面的第三方开发者支持,该第三方开发者支持授予对数据的适当访问(例如,基于共享通信信道属性、查看权限设置或两者),并允许第三方构建应用程序和机器人以与客户的工作流集成。
术语“通信信道”是指用于系统和系统的组件之间的数据交换的信息路由和相关联的电路。例如,可以在各种客户端设备之间建立通信信道,从而允许这些客户端设备在彼此之间通信和共享数据。通信信道标识可以被分配给通信信道,其指示存储该通信信道的相关数据的数据库中的物理地址。通信信道可以是“公共的”,这可以允许任何客户端设备通过该通信信道加入并参与信息共享。通信信道可以是“私有的”,这可以将通信信道中的数据通信限制到某些客户端设备和/或用户。
术语“基于群组的通信信道接口”是指虚拟通信环境或馈送,其被配置成显示由信道成员(例如,使用客户端设备访问该环境的经验证的用户)发布的消息传递通信,该消息传递通信仅组的成员可查看。基于群组的通信信道的格式和属性对于基于群组的通信信道的不同成员可能看起来不同;然而,基于群组的通信信道的内容(即,消息传递通信)可以显示给基于群组的通信信道的每个成员。例如,为了允许如本文讨论的公共查看,将向相应的基于群组的通信信道的每个成员显示一组公共的基于群组的消息传递通信,使得基于群组的通信信道的内容(即,消息传递通信)不会根据基于群组的通信信道的成员而变化。在一些情况下,为了允许如本文讨论的单侧查看,单独的一组基于群组的消息传递通信将被显示给基于群组的通信信道中的一个组织的每个成员,但是不会被显示给基于群组的通信信道中的任何其他组织的任何成员。
如本文所用,术语“消息传递通信”和“消息”是指由用户使用客户端设备提供并且被配置成在基于群组的通信信道内显示的任何电子生成的数字内容对象。消息传递通信可以包括由用户(使用客户端设备)提供的任何文本、图像、视频、音频或其组合。例如,用户可以提供消息传递通信,该消息传递通信包括消息传递通信内的文本以及图像和视频作为消息内容。在这种情况下,文本、图像和视频将包括消息传递通信或数字内容对象。发送或发布到基于群组的通信系统的基于群组的通信信道的每个消息包括元数据,该元数据包括以下内容:发送用户标识符、消息标识符、消息内容、群组标识符和基于群组的通信信道标识符。前述标识符中的每一个可以包括ASCII文本、指针、存储器地址等。
术语“通用消息”是指配置成在共享通信信道上由消息放大电路放大以供单侧查看或公共查看的消息。例如,与第一群组标识的私有查看权限设置相关联的通用消息可以由消息放大器电路放大到共享通信信道中与第一群组标识相关联的所有客户端设备,其中通用消息不被消息放大器电路发送到共享通信信道中与不同于第一群组标识的第二群组标识相关联的任何客户端设备。在另一个示例中,与公共查看权限设置相关联的通用消息可以由消息放大器电路放大到共享通信信道中的所有客户端设备。
术语“存储消息”是指存储在数据库分片中的消息。例如,存储消息可以包括诸如消息标识符、群组标识符、基于群组的通信信道标识符、发送用户标识符、主题、响应、消息内容、附件、消息层次数据、第三方元数据、对话原语数据、权限查看设置、任何其他合适的数据或它们的任意组合的数据。在一些实施例中,存储消息可以与一组查看权限设置相关联地存储在数据库分片中。
术语“单独索引”是指单独地索引并且仅可由与特定群组标识相关联的客户端设备访问的私有消息的索引(例如,在与该群组和/或公司相关联的不与其他群组和/或公司共享的单独索引中)。
术语“共享索引”是指共同索引的公共消息的索引(例如,在与该群组和/或公司相关联的与其他群组和/或公司共享的共享索引中)。
术语“基于群组的通信信道标识符”或“信道标识符”是指可以通过其识别基于群组的通信信道的一个或多个数据项。例如,基于群组的通信信道标识符可以包括ASCII文本、指针、存储器地址等。
术语“群组标识符”或“团队标识符”是指可以通过其识别基于群组的通信系统内的群组的一个或多个数据项。例如,群组标识符可以包括ASCII文本、指针、存储器地址等。
“发送用户标识符”与由特定用户(即,与特定用户相关联的客户端设备)发送的消息集合相关联。可以分析这些消息以确定关于用户的上下文(例如,可以基于在这样的消息中提及主题或与主题相关联的关键词的频率来确定用户对主题的专业知识或兴趣)。
基于群组的通信系统用户被组织成组织群组(例如,每个公司的员工可以是单独的组织群组),并且每个组织群组可以具有一个或多个基于群组的通信信道(下面解释),用户可以被分配到这些信道或者用户可以加入这些信道(例如,基于群组的通信信道可以代表部门、地理位置,诸如办公室、产品线、用户兴趣、主题、问题和/或类似物)。群组标识符可以用于促进对消息的访问控制(例如,对消息的访问(诸如响应于搜索查询而使消息作为搜索结果的一部分返回)可能限于具有与其用户简档相关联的群组标识符的那些用户)。群组标识符可以用于确定消息的上下文(例如,组的描述(诸如组织的名称和/或组织的简要描述)可以与群组标识符相关联)。
基于群组的通信系统用户可以加入基于群组的通信信道。一些基于群组的通信信道对于那些具有与其用户简档相关联的特定组织群组标识符的用户(即,作为组织的成员的用户)来说可能是全局可访问的。对一些基于群组的通信信道的访问可能限于指定群组的成员,由此基于群组的通信信道对于那些具有与其用户简档相关联的特定群组标识符的用户是可访问的。基于群组的通信信道标识符可以用于促进对消息的访问控制(例如,对消息的访问(诸如响应于搜索查询而使消息作为搜索结果的一部分返回)可能限于具有与其用户简档相关联的基于群组的通信信道标识符的那些用户或者具有加入基于群组的通信信道的能力的用户)。基于群组的通信信道标识符可以用于确定消息的上下文(例如,基于群组的通信信道的描述(诸如在基于群组的通信信道中讨论的项目的描述)可以与基于群组的通信信道标识符相关联)。
术语“私有的基于群组的通信信道”是指具有受限访问的基于群组的通信信道,使得它通常不能被基于群组的通信系统的其他成员访问和/或搜索。例如,只有那些具有访问私有的基于群组的通信信道的知识或许可(例如,在用户已经被验证/认证之后,私有的基于群组的通信信道的基于群组的通信信道标识符与他们的用户简档相关联)的用户或管理员可以查看私有的基于群组的通信信道的内容。
术语“查询”是指与数据库相关联的请求。“查询”可以在一个或多个客户端设备上生成,并且可以被发送到基于群组的通信平台。查询可以是“选择查询”,它用于根据查询以可读的格式从数据库中提取数据。查询可以是“动作查询”,它要求对存储在网络数据库中的数据进行操作(诸如插入、删除和/或更新)。例如,“通信信道生成查询”是请求生成通信信道的动作查询。
术语“分片”是指可以单独地访问和管理的相关离散数据项的集合。分片可以存储在单个数据库中,也任选地分布在多个数据库中。当有大量数据时,这是特别有益的。在一个地方创建和维护非常大的数据库的成本可能会呈指数级增长,因为在一些情况下,该数据库可能需要更多的高端计算机或使用更多的高端计算机来实现。相比之下,数据库分片可以分布在许多便宜得多的商品数据库中。“切分”是指对大型数据库进行分割,以使其更易于管理。因为切分数据库涉及到将数据库分割成没有任何共同之处的更小数据库,所以它会为创建涉及两个或更多个数据库分片的通信信道造成技术困难。数据库可以基于各种因素被“切分”,这些因素包括但不限于信道标识、用户标识、团队标识或数据库结构内的数据的任何属性。为了确定使用哪个(哪些)因素,系统可以考虑数据隔离、数据的接近(为了查找的目的)以及在分布式系统中访问的性能/速度。在一些情况下,系统可能需要考虑数据量和系统检索这样的数据所需或设计的速度两者。
术语“参考表”是指在各种数据项之间的一组参考连接。参考表可以呈表格形式,其可以包括“行”和“列”。每行可以代表一个参考连接,并且每列可以代表一个数据项。数据项可以是群组标识、信道标识、网络数据库中的物理地址、查看权限设置等。参考连接可以指示在各种数据项之间的关系和/或约束。例如,分片参考表可以基于该通信信道的标识来识别网络数据库中的通信信道分片的物理地址。分片参考表可以包括参数,诸如数据库分片参数、消息服务器分片参数、Redis分片参数、Solr分片参数、团队元数据(例如,创建日期、存档日期、删除日期)、管理用户数据、域、电子邮件域、偏好、邀请、信用、支付层以及指示团队是否是企业的数据。
术语“事件”是指对系统硬件和/或软件具有技术意义的可识别的、非暂时性的事情。事件可以代表可以由计算机系统识别的一些消息、令牌、计数、模式、值或标记。可以基于该事件触发应用程序来执行某些功能。例如,在基于群组的通信信道中,由用户发送的消息是利用事件应用程序编程接口(API)的应用程序的事件。事件可以是用户生成的,诸如击键或鼠标移动;或者是系统生成的,诸如程序加载和错误。
术语“共享通信信道属性”是指共享通信信道的一个或多个属性。例如,一组共享通信信道属性可以包括一个或多个共享通信信道名称、图标(例如,井号(pound sign)、锁标志(lock sign))、控制(例如,访问控制)、设置(例如,权限查看设置)、任何其他合适的属性以及它们的任意组合。在一些实施例中,共享通信信道分片可以被分配有与第一群组标识(例如,发起者群组标识)相关联的第一组共享通信信道属性,以及与第二群组标识(例如,目标群组标识)相关联的第二组共享通信信道属性,其中第一组共享通信信道属性和第二组共享通信信道属性不同。例如,与第一群组标识相关联的第一组共享通信信道属性可以包括第一共享通信信道名称,并且与第二群组标识相关联的第二组共享通信信道属性可以包括不同于第一共享通信信道名称的第二共享通信信道名称。
术语“查看权限设置”是指一些内容的查看权限设置(例如,哪些客户端设备可以查看该内容)。例如,查看权限设置可以是私有查看权限设置(例如,特定于一个或多个群组标识并且对公共查看隐藏)、公共查看权限设置、任何其他合适的查看权限设置或它们的组合(例如,消息的内容可以与公共查看权限设置相关联,而消息的附件可以与私有查看权限设置相关联)。在一些实施例中,消息可以与一组查看权限设置相关联。例如,该消息可以是与私有查看权限设置相关联的私有消息,其中该私有消息可以在共享通信信道中被放大(例如,实时地发送)到、发送到仅与特定群组标识(例如,与发送该消息的客户端设备相关联的群组标识)相关联的客户端设备,仅可由该客户端设备搜索、筛选、查看或访问。在另一个示例中,该消息可以是与公共查看权限设置相关联的公共消息,其中该公共消息可以被放大到、发送到共享通信信道中的所有客户端设备,可由共享通信信道中的所有客户端设备搜索、筛选、查看或访问。
术语“单侧查看”和类似术语是指与私有查看权限设置相关联的数据、信息、消息、内容和附件,其可以在共享通信信道中被放大(例如,实时地发送)到、发送到与特定群组标识(或者,在一些情况下,两个或更多个群组标识)相关联的客户端设备,仅可被该客户端设备搜索、筛选、查看或访问。
术语“组”是指零个或多个元素的集合。
示例系统架构
本公开的方法、装置和计算机程序产品可以由多种设备中的任何一种来实施。例如,示例实施例的方法、装置和计算机程序产品可以由配置成与一个或多个设备(诸如一个或多个客户端设备)通信的网络设备(诸如服务器或其他网络实体)来实施。在一些实施例中,计算设备可以包括固定计算设备,诸如个人计算机或计算机工作站。此外,示例实施例可以由多种移动设备中的任何一种来实施,诸如便携式数字助理(PDA)、移动电话、智能电话、膝上型计算机、平板计算机、可穿戴设备或上述设备的任何组合。
图1示出了本公开的实施例可以在其中操作的示例计算系统100。用户可以使用客户端设备101A-101N经由通信网络103访问基于群组的通信平台105。
通信网络103可以包括任何有线或无线通信网络,包括例如有线或无线局域网(LAN)、个人区域网(PAN)、城域网(MAN)、广域网(WAN)等,以及任何硬件、软件和/或固件(诸如例如网络路由器等)。例如,通信网络103可以包括蜂窝电话、802.11、802.16、802.20和/或WiMax网络。此外,通信网络103可以包括诸如因特网的公共网络、诸如内联网的私有网络、或它们的组合,并且可以利用现在可用的或以后开发的多种联网协议,包括但不限于基于TCP/IP的联网协议。例如,联网协议可以被定制以适应基于群组的通信系统的需要。在一些实施例中,协议是经由Websocket信道发送的JSON对象的定制协议。在一些实施例中,协议是JSON over RPC、JSON over REST/HTTP等。
基于群组的通信平台105可以包括消息服务器107和网络应用程序服务器109。网络应用程序服务器109可以与主数据库111和一个或多个数据库分片113A-113N通信。
消息服务器107可以被实施为作为如本文所述的一个或多个电路、计算机或计算系统的一个或多个计算机。消息服务器107可以提供用于经由通信网络103从各种源(包括但不限于客户端设备101A-101N)接收电子数据。例如,消息服务器107可以操作用于接收和处理由客户端设备101A-101N提供的电子消息。消息服务器107还可以促进电子消息向客户端设备101A-101N的传输和放大。
类似地,网络应用程序服务器109可以被实施为本文描述的一个或多个电路、计算机或计算系统。网络应用程序服务器109可以提供用于经由通信网络103从各种源(包括但不限于客户端设备101A-101N)接收电子数据。例如,网络应用程序服务器109可以操作用于接收和处理由客户端设备101A-101N提供的电子消息。网络应用程序服务器109还可以操作用于接收和处理由客户端设备101A-101N和/或消息服务器107提供的关于主数据库111和/或一个或多个数据库分片113A-113N的网络数据库查询。网络应用程序服务器109还可以促进用户接口的生成。
客户端设备101A-101N可以是如上定义的任何计算设备。由消息服务器107和网络应用程序服务器109从客户端设备101A-101N接收的电子数据可以以各种形式并通过各种方法来提供。
在一些实施例中,客户端设备101A-101N中的一个或多个是移动设备,诸如智能电话或平板计算机。一个或多个客户端设备可以执行“应用(app)”来与消息服务器107和/或网络应用程序服务器109交互。这类应用典型地被设计为在诸如智能电话或平板计算机的移动设备上执行。例如,可以提供在诸如苹果公司的谷歌公司的或微软公司的Windows 10的移动设备操作系统上执行的应用。这些平台典型地提供框架,其允许应用彼此通信,并与移动设备的特定硬件和软件组件通信。例如,上述移动操作系统各自提供了用于与位置服务电路、有线和无线网络接口、用户联系人和其他应用程序进行交互的框架。与在应用的外部执行的硬件和软件模块的通信典型地经由通过移动设备操作系统提供的应用程序编程接口(API)来提供。
在一些实施例中,客户端设备101A-101N可以经由网络浏览器与消息服务器107和/或网络应用程序服务器109交互。客户端设备101A-101N还可以包括设计成与消息服务器107和/或网络应用程序服务器109交互的各种硬件或固件。
在一些实施例中,数据库分片113A-113N可以被实施为诸如一个或多个网络附加存储(NAS)设备的数据存储设备或者一个或多个单独的数据库服务器。数据库分片113A-113N包括由网络应用程序服务器109访问和存储的信息。例如,数据库分片113A-113N可以包括但不限于用户简档、用户权限信息、电子文件、在多个基于群组的通信信道中组织的消息传递通信和/或类似物。
在一些实施例中,主数据库111可以被实施为诸如一个或多个网络附加存储(NAS)设备的数据存储设备或者一个或多个单独的数据库服务器。主数据库111包括由网络应用程序服务器109访问和存储的信息。例如,主数据库111可以包括但不限于分片参考表。
在示例性基于群组的通信平台105的一些实施例中,消息或消息传递通信可以从客户端设备101A-101N发送到基于群组的通信平台105。在各种实施方式中,消息可以由客户端设备101A-101N中的一个通过通信网络103直接发送到基于群组的通信平台105。消息可以经由诸如消息服务器和/或类似物的中介发送到基于群组的通信平台105。例如,客户端设备101A-101N可以是正在执行客户端应用程序(例如,基于群组的通信应用)的台式机、膝上型计算机、平板计算机、智能电话和/或类似物。在一种实施方式中,消息可以包括诸如消息标识符、发送用户标识符、群组标识符、基于群组的通信信道标识符、共享通信信道属性(例如,与第一群组标识相关联的第一组共享通信信道属性、以及与第二群组标识相关联的第二组共享通信信道属性)、消息内容(例如,文本、表情符号、图像、链接)、附件(例如,文件)、消息层次结构数据(例如,该消息可以是对另一消息的回复)、第三方元数据和/或类似物的数据。在一个实施例中,客户端设备101A-101N可以基本上以包括可扩展标记语言(“XML”)格式数据的(安全)超文本传输协议(“HTTP(S)”)POST消息的形式提供以下示例私有消息,如以下提供的:
基于群组的通信平台105包括至少一个消息服务器107,该消息服务器107可以基于接收到的消息创建存储消息,以促进消息索引和存储在一个或多个数据库分片113A-113N中。在一种实施方式中,存储消息可以包括诸如消息标识符、群组标识符、基于群组的通信信道标识符、发送用户标识符、主题、响应、消息内容、附件、消息层次数据、第三方元数据、对话原语数据和/或类似物的数据。例如,基于群组的通信服务器106可以提供以下示例私有存储消息,其基本上是包括XML格式数据的HTTP(S)POST消息的形式,如以下提供的:
在一些实施例中,如上定义的群组标识符可以与消息相关联。在一些实施例中,如上定义的基于群组的通信信道标识符可以与消息相关联。
在一些实施例中,如上定义的发送用户标识符可以与消息相关联。在一种实施方式中,消息可以被解析(例如,使用PHP命令),以确定发送该消息的用户的发送用户标识符。
在一些实施例中,指示响应的数据可以与消息相关联。例如,其他用户对消息的响应可以包括反应(例如,选择与消息相关联的表情符号、选择与消息相关联的“喜欢”按钮)、点击嵌入在消息中的超链接、回复消息(例如,响应于消息向基于群组的通信信道发布该消息)、下载与消息相关联的文件、将消息从一个基于群组的通信信道共享到另一个基于群组的通信信道、锁定消息、给消息加星号和/或类似物。在一种实施方式中,关于其他用户对消息的响应的数据可以包括在消息中,并且消息可以被解析(例如,使用PHP命令)以确定响应。在另一种实施方式中,关于对消息的响应的数据可以从数据库中检索。例如,关于对消息的响应的数据可以经由类似如下的MySQL数据库命令来检索:
SELECT messageResponses
FROM MSM_Message
WHERE messageID=ID_message_10.
例如,关于对消息的响应的数据可以用于确定的消息的上下文(例如,从某个用户的角度来看,消息的社交得分)。在另一个示例中,关于对消息的响应的数据可以被分析以确定关于用户的上下文(例如,可以基于对用户关于主题的消息的响应来确定用户在主题方面的专业知识)。
在实施例中,附件可以包括在消息中。如果有附件,则文件可以与消息相关联。在一种实施方式中,消息可以被解析(例如,使用PHP命令)以确定附件的文件名。例如,可以分析文件内容以确定消息的上下文(例如,专利政策文档可以指示消息与主题“专利”相关联)。
在实施例中,第三方元数据可以与消息相关联。例如,第三方元数据可以提供关于特定于公司、群组、基于群组的通信信道和/或类似物的消息或用户的附加上下文。在一种实施方式中,消息可以被解析(例如,使用PHP命令)以确定第三方元数据。例如,第三方元数据可以指示发送消息的用户是否是基于群组的通信信道的授权代表(例如,授权代表可以被公司授权来回答基于群组的通信信道中的问题)。
在实施例中,对话原语可以与消息相关联。在一种实施方式中,对话原语是用于分析、索引、存储和/或类似地作用于消息的元素。例如,消息可以自己分析,并且可以形成自己的对话原语。在另一个示例中,消息可以与组成对话的其他消息一起被分析,并且组成对话的消息可以形成对话原语。在一种实施方式中,对话原语可以被确定为消息、指定数量(例如,两个)的在前消息和指定数量(例如,两个)的后续消息。在另一种实施方式中,可以基于对消息和其他消息(例如,在信道中)中讨论的主题的分析和/或这些消息的接近度(例如,消息发送顺序接近度、消息发送时间接近度)来确定对话原语。
在实施例中,如上所述确定的各种元数据和/或消息的内容可以用于索引消息(例如,使用对话原语)以促进搜索的各个方面(即,从消息服务器107返回结果的搜索查询)。在一种实施方式中,可以从基于群组的通信服务器106发送存储消息以促进消息服务器107中的索引。在另一种实施方式中,可以确定与消息相关联的元数据,并且可以在消息服务器107索引消息。在一个实施例中,消息可以被索引,使得公司或群组的消息被单独索引(例如,在与群组和/或公司相关联的不与其他群组和/或公司共享的单独索引中)。在一种实施方式中,消息可以在单独的分布式储存库中被索引(例如,以促进为了安全目的而隔离数据)。
如果存在与消息相关联的附件,则相关联文件的文件内容可以用于在消息服务器107中索引这些文件,以促进搜索。在一个实施例中,文件可以被索引,使得公司或群组的文件在单独的分布式储存库中被索引。
下面描述一个或多个客户端设备101A-101N和基于群组的通信平台105之间的电子信息交换的示例。
一个或多个客户端设备101A-101N被配置成生成与数据库分片113A-113N相关联的一个或多个共享通信信道生成查询。继续“Tony到Frank”的讨论,Tony可以使用客户端设备101A(具有与组织X相关联的群组标识)来生成共享通信信道生成查询,请求创建与Frank的客户端设备101B(具有与组织Y相关联的群组标识)的外部共享通信信道。组织X和组织Y各自与数据库分片113A-113N的单独分片相关联。共享通信信道生成查询可以经由通信网络103发送到基于群组的通信平台105。
在从一个或多个客户端设备101A-101N接收到一个或多个共享通信信道生成查询时,基于群组的通信平台105可以利用网络应用程序服务器109基于一个或多个共享通信信道生成查询来生成一个或多个数据库分片。网络应用程序服务器109还可以将共享通信信道标识分配给一个或多个生成的数据库分片中的每一个。继续前面的示例,网络应用程序服务器109可以基于由Tony经由客户端设备101A提供的共享通信信道生成查询来生成数据库分片113N,并且可以将共享通信信道标识与数据库分片113N相关联。
在基于一个或多个共享通信信道生成查询生成一个或多个数据库分片之后,基于群组的通信平台105可以向一个或多个客户端设备101A-101N发送一个或多个共享通信信道接受请求。继续前面的示例,基于群组的通信平台105可以向客户端设备101B(Frank)发送共享通信信道接受请求,这在由客户端设备101A(Tony)提供的共享通信信道生成查询中指示。
在接收到共享通信信道接受请求时,一个或多个客户端设备101A-101N可以生成一个或多个电子批准,并且可以将这些电子批准发送到基于群组的通信平台105。继续前面的示例,响应于共享通信信道接受请求,Frank可以经由客户端设备101B生成电子批准。电子批准可以指示Frank接受由Tony提供的共享通信信道生成查询。客户端设备101B还可以向基于群组的通信平台105发送电子批准。
在从一个或多个客户端设备101A-101N接收到一个或多个电子批准时,基于群组的通信平台105通过存储在主数据库111中的分片参考表将一个或多个信道标识与一个或多个客户端设备101A-101N相关联。继续前面的示例,在从客户端设备101B接收到电子批准时,基于群组的通信平台105还可以基于组织X标识、组织Y标识和新创建的数据库分片(诸如数据库分片113N)的共享通信信道标识来更新存储在主数据库111中的分片参考表。
通过生成共享通信信道分片和更新分片参考表,本公开提供了优于现有系统的许多技术优势,诸如解决身份的并集问题。继续上述“Tony-X/Tony-Z”示例,基于本公开创建的组织X和组织Z之间的外部共享通信信道能够协调Tony在两个分离的组织中的两个身份:Tony-X和Tony-Z。当更新分片参考表时,根据本公开的实施例结构化的系统能够通过例如搜索和比较与每个组织相关联的数据来识别重复的用户身份。在确定Tony-X和Tony-Y与同一个体相关联时,根据本公开的实施例结构化的系统在共享通信信道分片中向Tony分配统一的身份。另一方面,现有系统无法解决身份的并集问题,因为它们无法创建共享通信信道分片和/或更新分片参考表。
基于群组的通信平台105还可以为一个或多个生成的数据库分片生成一个或多个接口,并且可以将一个或多个接口发送到客户端设备101A-101N。继续前面的示例,基于群组的通信平台105可以为数据库分片113生成用户接口,并且将该用户接口发送给客户端设备101A和101B。在一些实施例中,基于群组的通信平台105可以(例如,基于共享通信信道属性、查看权限设置或两者):仅向客户端设备101A和101B发送适当的数据/接口;在将数据发送到客户端设备101A和101B之前检索并缓存数据;编译可以用作客户端设备101A和101B上的应用的一部分的接口程序;或者执行本文描述的任何其他合适的操作或操作组合。
在一些实施例中,存储在主数据库111中的参考表可以指示群组标识和数据库分片113A-113N中的数据库分片之间的参考连接。继续前面的示例,客户端设备101A和101C都可以与组织X标识相关联,并且分片参考表可以指示与客户端设备101A-101B之间的通信相关的数据存储在数据库分片113A中。
在一些实施例中,当基于群组的通信平台105从一个或多个客户端设备101A-101N接收到一个或多个电子批准时,基于群组的通信平台105可以通过生成新的参考连接来更新存储在主数据库111中的分片参考表。例如,在接收到在组织X和组织Y之间创建共享通信信道的电子批准之后,基于群组的通信平台105可以更新分片参考表,指示组织X标识、组织Y标识和新生成的数据库分片的标识之间的参考连接。
在一些实施例中,基于群组的通信平台105可以使用消息服务器107将在外部共享通信信道中从一个或多个客户端设备101A-101N接收的电子消息放大到同一信道中的其他客户端设备。例如,消息服务器107可以从客户端设备101A接收与外部共享通信信道相关联的电子消息。消息服务器107可以查询网络应用程序服务器109,网络应用程序服务器109又基于存储在主数据库111中的分片参考表来识别与外部共享通信信道相关联的一个或多个客户端设备。消息服务器107还可以将电子消息发送到每个识别的客户端设备。
作为一些实施例的基础,示例计算系统100可以提供用于在基于群组的通信平台105中创建共享通信信道。基于群组的通信平台105可以包括消息服务器107(例如,实时消息服务器)、网络应用程序服务器109、多个数据库分片113A-113N和主数据库111。示例计算系统100可以提供用于由基于群组的通信平台105通过通信网络103从与发起者群组标识相关联的第一客户端设备101A接收与发起者群组标识和目标群组标识相关联的共享通信信道生成查询。示例计算系统100还可以提供用于由网络应用程序服务器109生成共享通信信道分片(例如,数据库分片113N)。多个数据库分片113A-113N可以包括共享通信信道分片。共享通信信道分片可以被分配(例如,由基于群组的通信平台105、网络应用程序服务器109或两者)有共享通信信道标识、与发起者群组标识相关联的第一组共享通信信道属性和与目标群组标识相关联的第二组共享通信信道属性。示例计算系统100还可以提供用于由网络应用程序服务器109生成共享通信信道接受请求。共享通信信道接受请求可以与共享通信信道标识相关联。示例计算系统100还可以提供用于由基于群组的通信平台105通过通信网络103向与目标群组标识相关联的第二客户端设备101B发送共享通信信道接受请求。示例计算系统100还可以提供用于由基于群组的通信平台105通过通信网络103从客户端设备101A-101N中的一个接收共享通信信道接受通知。共享通信信道接受通知可以包括将共享通信信道标识与目标群组标识相关联的电子批准。示例计算系统100还可以提供用于由网络应用程序服务器109基于发起者群组标识、目标群组标识、共享通信信道标识、第一组共享通信信道属性和第二组共享通信信道属性来更新存储在主数据库111中的分片参考表。示例计算系统100还可以提供用于由网络应用程序服务器109基于共享通信信道分片和与发起者群组标识相关联的第一组共享通信信道属性来生成共享通信信道的第一外部共享的基于群组的共享通信信道接口。示例计算系统100还可以提供用于由网络应用程序服务器109基于共享通信信道分片和与目标群组标识相关联的第二组共享通信信道属性来生成共享通信信道的第二外部共享的基于群组的共享通信信道接口。示例计算系统100还可以提供用于由基于群组的通信平台105通过通信网络103向第一客户端设备101A发送共享通信信道的第一外部共享的基于群组的共享通信信道接口。示例计算系统100还可以提供用于由基于群组的通信平台105通过通信网络103向第二客户端设备101B发送共享通信信道的第二外部共享的基于群组的共享通信信道接口。
在一些实施例中,多个数据库分片113A-113N可以包括与发起者群组标识相关联的第一数据库分片113A。多个数据库分片还可以包括与目标群组标识相关联的第二数据库分片113B。存储在主数据库111中的分片参考表可以包括在发起者群组标识和第一数据库分片113A之间的第一参考连接。分片参考表还可以包括在目标群组标识和第二数据库分片113B之间的第二参考连接。示例计算系统100还可以提供用于由网络应用程序服务器109基于发起者群组标识来识别分片参考表中的第一参考连接。示例计算系统100还可以提供用于由网络应用程序服务器109基于目标群组标识来识别分片参考表中的第二参考连接。示例计算系统100还可以提供用于由网络应用程序服务器109生成在共享通信信道标识、共享通信信道分片(例如,数据库分片113N)、第一参考连接和第二参考连接之间的第三参考连接。示例计算系统100还可以提供用于由网络应用程序服务器109更新存储在主数据库111中的分片参考表以包括第三参考连接。
在一些实施例中,示例计算系统100还可以提供用于基于从客户端设备101A-101N接收的消息生成通用消息、存储消息或两者。在一个说明性示例中,客户端设备101A和客户端设备101B可以与第一群组标识和共享通信信道标识相关联,而客户端设备101C(未示出)和客户端设备101D(未示出)可以与第二群组标识和共享通信信道标识相关联。基于群组的通信平台105可以通过共享通信信道从客户端设备101A实时地接收与包括第一私有查看权限设置的第一组查看权限设置相关联的第一消息(例如,私有消息)。基于群组的通信平台105可以由消息服务器107基于接收到的第一消息和包括第一私有查看权限设置的第一组查看权限设置来实时地生成第一通用消息(例如,私有通用消息)。基于群组的通信平台105可以由消息服务器107向与第一群组标识相关联的其他客户端设备实时地发送第一通用消息(例如,第一通用消息被发送到客户端设备101B),其中第一通用消息不被发送到与第二群组标识相关联的任何客户端设备(例如,第一通用消息不被发送到客户端设备101C或客户端设备101D)。在一些情况下,第一通用消息在第一外部共享的基于群组的共享通信信道接口中对于与第一群组标识相关联的任何客户端设备是可查看的(例如,第一通用消息在第一外部共享的基于群组的共享通信信道接口中对于客户端设备101A和客户端设备101B是可查看的),其中第一通用消息在第二外部共享的基于群组的共享通信信道接口中对于与第二群组标识相关联的任何客户端设备是不可查看的(例如,第一通用消息在第二外部共享的基于群组的共享通信信道接口中对于客户端设备101C或客户端设备101D是不可查看的)。
在一些实施例中,基于群组的通信平台105可以由网络应用程序服务器109基于接收到的第一消息和包括第一私有查看权限设置的第一组查看权限设置来生成第一存储消息(例如,私有存储消息)。基于群组的通信平台105可以由网络应用程序服务器109在第一数据库分片113A中存储与第一组查看权限设置相关联的第一存储消息。基于群组的通信平台105可以由网络应用程序服务器109在与第一群组标识相关联的第一单独索引中索引第一存储消息,其中第一单独索引对于与第一群组标识相关联的任何客户端设备是可访问的(例如,第一单独索引对于客户端设备101A和客户端设备101B是可访问的),并且其中第一单独索引对于与第二群组标识相关联的任何客户端设备是不可访问的(例如,第一单独索引对于客户端设备101C或客户端设备101D是不可访问的)。在一些情况下,第一存储消息能够由与第一群组标识相关联的任何客户端设备在第一外部共享的基于群组的共享通信信道接口中搜索(例如,第一存储消息能够由客户端设备101A和客户端设备101B在第一外部共享的基于群组的共享通信信道接口中搜索),其中第一存储消息不能够由与第二群组标识相关联的任何客户端设备在第二外部共享的基于群组的共享通信信道接口中搜索(例如,第一存储消息不能够由客户端设备101C或客户端设备101D在第二外部共享的基于群组的共享通信信道接口中搜索)。
在从先前的说明性示例继续的另一说明性示例中,基于群组的通信平台105可以通过共享通信信道从客户端设备101B实时地接收与包括第一公共查看权限设置的第二组查看权限设置相关联的第二消息(例如,公共消息)。基于群组的通信平台105可以由消息服务器107基于接收到的第二消息和包括第一公共查看权限设置的第二组查看权限设置来实时地生成第二通用消息(例如,公共通用消息)。基于群组的通信平台105可以由消息服务器107向与共享通信信道标识相关联的其他客户端设备实时地发送第二通用消息(例如,第一通用消息被发送到客户端设备101B、客户端设备101C和客户端设备101D)。在一些情况下,第二通用消息对于与共享通信信道标识相关联的任何客户端设备是可见的(例如,第二通用消息对于客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D是可见的)。例如,第二通用消息在第一外部共享的基于群组的共享通信信道接口对于与第一群组标识相关联的任何客户端设备是可查看的(例如,第二通用消息在第一外部共享的基于群组的共享通信信道接口中对于客户端设备101A和客户端设备101B是可查看的),并且第二通用消息在第二外部共享的基于群组的共享通信信道接口中对于与第二群组标识相关联的任何客户端设备是可查看的(例如,第二通用消息在第二外部共享的基于群组的共享通信信道接口中对于客户端设备101C或客户端设备101D是不可查看的)。
基于群组的通信平台105可以由网络应用程序服务器109基于接收到的第二消息和包括第一公共查看权限设置的第二组查看权限设置来生成第二存储消息(例如,公共存储消息)。基于群组的通信平台105可以由网络应用程序服务器109在第一数据库分片113A中存储与第一组查看权限设置相关联的第一存储消息。基于群组的通信平台105可以由网络应用程序服务器109在与第一群组标识和第二群组标识相关联的共享索引中索引第二存储消息,其中共享索引对于与第一群组标识或第二群组标识相关联的任何客户端设备是可访问的(例如,共享索引对于客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D是可访问的)。在一些情况下,第二存储消息能够由与第一群组标识或第二群组标识相关联的任何客户端设备搜索(例如,第二存储消息能够由客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D搜索)。例如,第二存储消息能够由与第一群组标识相关联的任何客户端设备在第一外部共享的基于群组的共享通信信道接口中搜索(例如,第二存储消息能够由客户端设备101A和客户端设备101B在第一外部共享的基于群组的共享通信信道接口中搜索),并且第二存储消息能够由与第二群组标识相关联的任何客户端设备在第二外部共享的基于群组的共享通信信道接口中搜索(例如,第二存储消息不能够由客户端设备101C或客户端设备101D在第二外部共享的基于群组的共享通信信道接口中搜索)。
在从先前的说明性示例继续的又一说明性示例中,基于群组的通信平台105可以通过共享通信信道从客户端设备101C实时地接收与包括第二私有查看权限设置的第三组查看权限设置相关联的第三消息(例如,私有消息)。基于群组的通信平台105可以由消息服务器107基于接收到的第三消息和包括第二私有查看权限设置的第三组查看权限设置来实时地生成第三通用消息(例如,私有通用消息)。基于群组的通信平台105可以由消息服务器107向与第二群组标识相关联的其他客户端设备实时地发送第三通用消息(例如,第三通用消息被发送到客户端设备101D),其中第三通用消息不被发送到与第一群组标识相关联的任何客户端设备(例如,第三通用消息不被发送到客户端设备101A或客户端设备101B)。在一些情况下,第三通用消息在第二外部共享的基于群组的共享通信信道接口中对于与第二群组标识相关联的任何客户端设备是可查看的(例如,第三通用消息在第二外部共享的基于群组的共享通信信道接口中对于客户端设备101C和客户端设备101D是可查看的),其中第三通用消息在第一外部共享的基于群组的共享通信信道接口中对于与第一群组标识相关联的任何客户端设备是不可查看的(例如,第三通用消息在第一外部共享的基于群组的共享通信信道接口中对于客户端设备101A或客户端设备101B是不可查看的)。
基于群组的通信平台105可以由网络应用程序服务器109基于接收到的第三消息和包括第二私有查看权限设置的第三组查看权限设置来生成第三存储消息(例如,私有存储消息)。基于群组的通信平台105可以由网络应用程序服务器109在第二数据库分片113B中存储与第三组查看权限设置相关联的第三存储消息。基于群组的通信平台105可以由网络应用程序服务器109在与第二群组标识相关联的第二单独索引中索引第三存储消息,其中第二单独索引对于与第二群组标识相关联的任何客户端设备是可访问的(例如,第二单独索引对于客户端设备101C和客户端设备101D是可访问的),并且其中第二单独索引对于与第一群组标识相关联的任何客户端设备是不可访问的(例如,第二单独索引对于客户端设备101A或客户端设备101B是不可访问的)。在一些情况下,第三存储消息能够由与第二群组标识相关联的任何客户端设备在第二外部共享的基于群组的共享通信信道接口中搜索(例如,第三存储消息能够由客户端设备101C和客户端设备101D在第二外部共享的基于群组的共享通信信道接口中搜索),其中第三存储消息不能够由与第一群组标识相关联的任何客户端设备在第一外部共享的基于群组的共享通信信道接口中搜索(例如,第三存储消息不能够由客户端设备101A或客户端设备101B在第一外部共享的基于群组的共享通信信道接口中搜索)。
在从先前的说明性示例继续的又一说明性示例中,基于群组的通信平台105可以通过共享通信信道从客户端设备101D实时地接收与包括第二公共查看权限设置的第四组查看权限设置相关联的第四消息(例如,公共消息)。基于群组的通信平台105可以由消息服务器107基于接收到的第四消息和包括第二公共查看权限设置的第四组查看权限设置来实时地生成第四通用消息(例如,公共通用消息)。基于群组的通信平台105可以由消息服务器107向与共享通信信道标识相关联的其他客户端设备实时地发送第四通用消息(例如,第四通用消息被发送到客户端设备101A、客户端设备101B和客户端设备101C)。在一些情况下,第四通用消息对于与共享通信信道标识相关联的任何客户端设备是可见的(例如,第四通用消息对于客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D是可见的)。例如,第四通用消息在第一外部共享的基于群组的共享通信信道接口对于与第一群组标识相关联的任何客户端设备是可查看的(例如,第四通用消息在第一外部共享的基于群组的共享通信信道接口中对于客户端设备101A和客户端设备101B是可查看的),并且第四通用消息在第二外部共享的基于群组的共享通信信道接口中对于与第二群组标识相关联的任何客户端设备是可查看的(例如,第四通用消息在第二外部共享的基于群组的共享通信信道接口中对于客户端设备101C或客户端设备101D是不可查看的)。
基于群组的通信平台105可以由网络应用程序服务器109基于接收到的第四消息和包括第二公共查看权限设置的第四组查看权限设置来生成第四存储消息(例如,公共存储消息)。基于群组的通信平台105可以由网络应用程序服务器109在第二数据库分片113B中存储与第四组查看权限设置相关联的第四存储消息。基于群组的通信平台105可以由网络应用程序服务器109在与第一群组标识和第二群组标识相关联的共享索引中索引第四存储消息,其中共享索引对于与第一群组标识或第二群组标识相关联的任何客户端设备是可访问的(例如,共享索引对于客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D是可访问的)。在一些情况下,第四存储消息能够由与第一群组标识或第二群组标识相关联的任何客户端设备搜索(例如,第四存储消息能够由客户端设备101A、客户端设备101B、客户端设备101C和客户端设备101D搜索)。例如,第四存储消息能够由与第一群组标识相关联的任何客户端设备在第一外部共享的基于群组的共享通信信道接口中搜索(例如,第四存储消息能够由客户端设备101A和客户端设备101B在第一外部共享的基于群组的共享通信信道接口中搜索),并且第四存储消息能够由与第二群组标识相关联的任何客户端设备在第二外部共享的基于群组的共享通信信道接口中搜索(例如,第四存储消息不能够由客户端设备101C或客户端设备101D在第二外部共享的基于群组的共享通信信道接口中搜索)。
以上引用的电子信息交换提供了优于现有系统的各种技术优势。例如,它允许信息检索和数据分派,而没有分派给通信网络103的消息的过重负担。此外,数据的鲁棒性以及基于通信网络103的配置的分派速度为基于群组的通信平台105提供了利用消息服务器107或网络应用程序服务器109的选项。此外,它为外部应用程序(为基于群组的通信平台105开发的)提供了使用Websocket或RPC API(其可以进一步使用消息服务器107或网络应用程序服务器109)来发出消息的选项,如下文进一步讨论的。
用于实现本公开的实施例的示例装置
消息服务器107可以由诸如图2所示的装置200的一个或多个计算系统实施。装置200可以包括处理器202、存储器204、输入/输出电路206、通信电路208和消息放大器电路210。装置200可以被配置成执行上面关于图1描述的操作和下面关于图4至图7描述的操作。尽管这些组件202-210是结合功能限制来描述的,但是应当理解,特定实施方式必须包括特定硬件的使用。还应当理解,这些组件202-210中的某些可以包括类似的或通用的硬件。例如,两组电路都可以充分利用相同的处理器、网络接口、存储介质等来执行它们的相关联的功能,使得每组电路不需要重复的硬件。
在一些实施例中,处理器202(和/或协处理器或者辅助处理器或以其他方式与处理器相关联的任何其他处理电路)可以经由总线与存储器204连通,用于在装置的组件之间传递信息。存储器204是非暂时性的,并且可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器204可以是电子存储设备(例如,计算机可读存储介质)。存储器204可以被配置成存储信息、数据、内容、应用程序、指令等,用于使装置能够根据本公开的示例实施例执行各种功能。
处理器202可以以多种不同的方式实施,并且可以例如包括配置成独立地执行的一个或多个处理设备。在一些实施例中,处理器202可以包括经由总线串联配置的一个或多个处理器,以能够实现指令、流水线和/或多线程的独立执行。术语“处理电路”的使用可以理解为包括单核处理器、多核处理器、装置内部的多个处理器和/或远程或“云”处理器。
在一些实施例中,处理器202可以被配置成执行存储在存储器204中或者处理器202以其他方式可访问的指令。在一些实施例中,处理器202可以被配置成执行硬编码功能。这样,无论是通过硬件或软件方法配置,还是通过它们的组合配置,处理器202都可以表示能够在被相应地配置的同时执行根据本公开的实施例的操作的实体(例如,物理上实施在电路中)。备选地,作为另一个示例,当处理器202被实施为软件指令的执行器时,指令可以具体地配置处理器202,以在指令被执行时执行本文描述的算法和/或操作。
在一些实施例中,装置200可以包括输入/输出电路206,输入/输出电路206又可以与处理器202连通,以向用户提供输出,并且在一些实施例中接收用户输入的指示。输入/输出电路206可以包括用户接口,并且可以包括显示器,并且可以包括共享通信信道的外部共享的基于群组的共享通信信道接口(例如,第一外部共享的基于群组的共享通信信道接口、第二外部共享的基于群组的共享通信信道接口)、网络用户接口、移动应用程序、客户端设备、信息亭等。在一些实施例中,输入/输出电路206还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机构。处理器和/或包括处理器的用户接口电路可以被配置成通过存储在处理器可访问的存储器(例如,存储器204和/或类似物)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一个或多个功能。
通信电路208可以是诸如以硬件或硬件和软件的组合实施的设备或电路的任何装置,其被配置成从网络和/或与装置200连通的任何其他设备、电路或模块接收数据和/或向网络和/或所述任何其他设备、电路或模块发送数据。在这方面,通信电路208可以包括例如网络接口,以能够实现与有线或无线通信网络的通信。例如,通信电路208可以包括一个或多个网络接口卡、天线、总线、交换机、路由器、调制解调器和支持硬件和/或软件,或者适合于经由网络实现通信的任何其他设备。附加地或备选地,通信电路208可以包括用于与一个或多个天线交互的电路,以引起经由一个或多个天线的信号传输或处理经由一个或多个天线接收的信号的接收。
消息放大器电路210包括配置成将从一个或多个客户端设备接收到的电子消息和相关联的元数据基于(多个)数据库分片复制和放大(例如,发送到一个或多个电路或设备;广播;多播;单播)到其他客户端设备的硬件。消息放大器电路210可以利用诸如处理器202的处理电路来执行这些动作。然而,还应当理解,在一些实施例中,消息放大器电路210可以包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专用集成电路(ASIC),用于执行本文描述的功能。消息放大器电路210可以使用由硬件或软件配置的装置的硬件组件来实现,以用于实现这些计划的功能。
还应注意,本文讨论的所有或一些信息可以基于由装置200的一个或多个组件接收、生成和/或维护的数据。在一些实施例中,还可以充分利用一个或多个外部系统(诸如远程云计算和/或数据存储系统)来提供本文讨论的至少一些功能。
网络应用程序服务器109可以由诸如图3所示的装置300的一个或多个计算系统实施。装置300可以包括处理器301、存储器303、输入/输出电路305、通信电路307、数据库电路309、接口生成电路311和参考表生成电路313。装置300可以被配置成执行上面关于图1描述的操作和下面关于图4至图7描述的操作。尽管这些组件301-313是结合功能限制来描述的,但是应当理解,特定实施方式必须包括特定硬件的使用。还应当理解,这些组件301-313中的某些可以包括类似的或通用的硬件。例如,两组电路都可以充分利用相同的处理器、网络接口、存储介质等来执行它们的相关联的功能,使得每组电路不需要重复的硬件。
在一些实施例中,处理器301(和/或协处理器或者辅助处理器或以其他方式与处理器相关联的任何其他处理电路)可以经由总线与存储器303连通,用于在装置的组件之间传递信息。存储器303是非暂时性的,并且可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器303可以是电子存储设备(例如,计算机可读存储介质)。存储器303可以被配置成存储信息、数据、内容、应用程序、指令等,用于使装置300能够根据本公开的示例实施例执行各种功能。
处理器301可以以多种不同的方式实施,并且可以例如包括配置成独立地执行的一个或多个处理设备。在一些实施例中,处理器301可以包括经由总线串联配置的一个或多个处理器,以能够实现指令、流水线和/或多线程的独立执行。
在一些实施例中,处理器301可以被配置成执行存储在存储器303中或者处理器301以其他方式可访问的指令。在一些实施例中,处理器301可以被配置成执行硬编码功能。这样,无论是通过硬件或软件方法配置,还是通过它们的组合配置,处理器301都可以表示能够在被相应地配置的同时执行根据本公开的实施例的操作的实体(例如,物理上实施在电路中)。备选地,作为另一个示例,当处理器301被实施为软件指令的执行器时,指令可以具体地配置处理器301,以在指令被执行时执行本文描述的算法和/或操作。
在一些实施例中,装置300可以包括输入/输出电路305,该输入/输出电路又可以与处理器301连通,以向用户提供输出,并且在一些实施例中接收用户输入的指示。输入/输出电路305可以包括用户接口,并且可以包括显示器,并且可以包括共享通信信道的外部共享的基于群组的共享通信信道接口(例如,第一外部共享的基于群组的共享通信信道接口、第二外部共享的基于群组的共享通信信道接口)、网络用户接口、移动应用程序、客户端设备、信息亭等。在一些实施例中,输入/输出电路305还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其他输入/输出机构。
通信电路307可以是诸如以硬件或硬件和软件的组合实施的设备或电路的任何装置,其被配置成从网络和/或与装置300连通的任何其他设备、电路或模块接收数据和/或向网络和/或所述任何其他设备、电路或模块发送数据。在这方面,通信电路307可以包括例如网络接口,以能够实现与有线或无线通信网络的通信。例如,通信电路307可以包括一个或多个网络接口卡、天线、总线、交换机、路由器、调制解调器和支持硬件和/或软件,或者适合于经由网络实现通信的任何其他设备。附加地或备选地,通信电路307可以包括用于与一个或多个天线交互的电路,以引起经由一个或多个天线的信号传输或处理经由一个或多个天线接收的信号的接收。
在一些实施例中,通信电路307、通信电路208或两者可以被配置成从与发起者群组标识相关联的第一客户端设备接收与发起者群组标识和目标群组标识相关联的共享通信信道生成查询。通信电路307、通信电路208或两者还可以被配置成向与目标群组标识相关联的第二客户端设备发送共享通信信道接受请求。通信电路307、通信电路208或两者还可以被配置成接收共享通信信道接受通知。通信电路307、通信电路208或两者还可以被配置成向第一客户端设备发送共享通信信道的第一外部共享的基于群组的共享通信信道接口。通信电路307、通信电路208或两者还可以被配置成向第二客户端设备发送共享通信信道的第二外部共享的基于群组的共享通信信道接口。通信电路307、通信电路208或两者还可以被配置成通过共享通信信道从与发起者群组标识相关联的第三客户端设备接收与一组查看权限设置相关联的消息。通信电路307、通信电路208或两者还可以被配置成通过共享通信信道从与目标群组标识相关联的第四客户端设备接收与第二组查看权限设置相关联的第二消息。通信电路307、通信电路208或两者还可以被配置成通过共享通信信道从与发起者群组标识相关联的第三客户端设备接收与一组查看权限设置相关联的消息。
数据库电路309包括配置成管理包括数据库分片113A-113N和主数据库111的一个或多个网络数据库的硬件。数据库电路309可以利用诸如处理器301的处理电路来执行这些动作。数据库电路309可以向接口生成电路311和参考表生成电路313发送数据。在一些实施例中,发送的数据可以与一个或多个数据库分片113A-113N相关联。
在一些实施例中,数据库电路309可以包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专用集成电路(ASIC)。在一些实施方式中,以下描述的参考表生成电路313和接口生成电路311可以是属于数据库电路309的子电路。数据库电路309可以使用由硬件或软件配置的装置的硬件组件来实现,以用于实现本文描述的功能。
在一些实施例中,数据库电路309可以被配置成从通信电路307接收共享通信信道生成查询。数据库电路309还可以被配置成生成共享通信信道分片。多个数据库分片可以包括共享通信信道分片。共享通信信道分片可以被分配有共享通信信道标识、与发起者群组标识相关联的第一组共享通信信道属性和与目标群组标识相关联的第二组共享通信信道属性。数据库电路309还可以被配置成生成共享通信信道接受请求。共享通信信道接受请求可以与共享通信信道标识相关联。数据库电路309还可以被配置成向通信电路307发送共享通信信道接受请求,以传输到与目标群组标识相关联的第二客户端设备。数据库电路309还可以被配置成从通信电路307接收共享通信信道接受通知。共享通信信道接受通知可以包括将共享通信信道标识与目标群组标识相关联的电子批准。
在一些实施例中,数据库电路309还可以被配置成从通信电路307接收与该组查看权限设置相关联的消息。数据库电路309还可以被配置成基于接收到的消息和该组查看权限设置来生成存储消息。数据库电路309还可以被配置成在第一数据库分片中存储与该组查看权限设置相关联的存储消息。在该组查看权限设置包括私有查看权限设置的实施例中,数据库电路309还可以被配置成在与发起者群组标识相关联的单独索引中索引存储消息,其中该单独索引对于与发起者群组标识相关联的任何客户端设备是不可访问的,并且其中该单独索引对于与目标群组标识相关联的任何客户端设备是不可访问的。在该组查看权限设置包括公共查看权限设置的实施例中,数据库电路309还可以被配置成在与发起者群组标识和目标群组标识相关联的共享索引中索引存储消息,其中共享索引对于第一客户端设备和第二客户端设备是可访问的。
参考表生成电路313包括配置成生成和更新存储在主数据库111中的分片参考表的硬件。参考表生成电路313可以利用诸如处理器301的处理电路来执行这些动作。然而,还应当理解,在一些实施例中,参考表生成电路313可以包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专用集成电路(ASIC),以用于执行本文描述的功能。参考表生成电路313可以使用由硬件或软件配置的装置的硬件组件来实现,以用于实现这些计划的功能。
在一些实施例中,参考表生成电路313可以被配置成基于发起者群组标识、目标群组标识、共享通信信道标识、第一组共享通信信道属性和第二组共享通信信道属性来更新分片参考表。参考表生成电路313还可以被配置成基于发起者群组标识来识别分片参考表中的第一参考连接。参考表生成电路313还可以被配置成基于目标群组标识来识别分片参考表中的第二参考连接。参考表生成电路313还可以被配置成生成在共享通信信道标识、共享通信信道分片、第一参考连接和第二参考连接之间的第三参考连接。参考表生成电路313还可以被配置成更新分片参考表以包括第三参考连接。
接口生成电路311包括配置成生成客户端设备101A-101N的通信信道接口的硬件。接口生成电路311可以利用诸如处理器301的处理电路来执行这些动作。然而,还应当理解,在一些实施例中,接口生成电路311可以包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专用集成电路(ASIC),以用于执行本文描述的功能。接口生成电路311可以使用由硬件或软件配置的装置的硬件组件来实现,以用于实现这些计划的功能。
在一些实施例中,接口生成电路311可以被配置成基于共享通信信道分片和与发起者群组标识相关联的第一组共享通信信道属性来生成共享通信信道的第一外部共享的基于群组的共享通信信道接口。接口生成电路311还可以被配置成基于共享通信信道分片和与目标群组标识相关联的第二组共享通信信道属性来生成共享通信信道的第二外部共享的基于群组的共享通信信道接口。接口生成电路311还可以被配置成向通信电路307发送共享通信信道的第一外部共享的基于群组的共享通信信道接口,以传输到第一客户端设备。接口生成电路311还可以被配置成向通信电路307发送共享通信信道的第二外部共享的基于群组的共享通信信道接口,以传输到第二客户端设备。在一些实施例中,由接口生成电路311生成和发送的第一和第二外部共享的基于群组的共享通信信道接口可以提供用于本文描述的“单侧查看”。
在一些实施例中,装置300的通信电路307可以被配置成将与第一组查看权限设置相关联的第一消息发送到装置200的通信电路208。消息放大器电路210可以被配置成从通信电路208接收与第一组查看权限设置相关联的第一消息。消息放大器电路210还可以被配置成基于接收到的第一消息和第一组查看权限设置来生成第一通用消息。消息放大器电路210还可以被配置成基于第一组查看权限设置将第一通用消息通过共享通信信道发送到第一多个客户端设备。在第一组查看权限设置包括第一私有查看权限设置的一些实施例中,消息放大器电路210还可以被配置成通过共享通信信道将第一通用消息发送到与发起者群组标识相关联的第一多个客户端设备,其中第一通用消息不被消息放大器电路210发送到与目标群组标识相关联的任何客户端设备。在第一组查看权限设置包括第一公共查看权限设置的一些实施例中,消息放大器电路210还可以被配置成通过共享通信信道将第一通用消息发送到与发起者群组标识相关联的一个或多个客户端设备和与目标群组标识相关联的一个或多个客户端设备。
在一些实施例中,装置300的通信电路307可以被配置成向装置200的通信电路208发送与第二组查看权限设置相关联的第二消息。消息放大器电路210还可以被配置成从通信电路接收与第二组查看权限设置相关联的第二消息。消息放大器电路210还可以被配置成基于接收到的第二消息和第二组查看权限设置来生成第二通用消息。消息放大器电路210还可以被配置成基于第二组查看权限设置将第二通用消息通过共享通信信道发送到第二多个客户端设备。在第二组查看权限设置包括第二私有查看权限设置的一些实施例中,消息放大器电路210还可以被配置成通过共享通信信道将第二通用消息发送到与目标群组标识相关联的第二多个客户端设备,其中第二通用消息不被消息放大器电路210发送到与发起者群组标识相关联的任何客户端设备。在第二组查看权限设置包括第二公共查看权限设置的一些实施例中,消息放大器电路210还可以被配置成通过共享通信信道将第二通用消息发送到与发起者群组标识相关联的一个或多个客户端设备和与目标群组标识相关联的一个或多个客户端设备。
还应注意,本文讨论的所有或一些信息可以基于由装置300的一个或多个组件接收、生成和/或维护的数据。在一些实施例中,还可以充分利用一个或多个外部系统(诸如远程云计算和/或数据存储系统)来提供本文讨论的至少一些功能。
术语“电路”应该广义地理解为包括硬件以及在一些实施例中用于配置硬件的软件。因此,就装置的组件而言,本文使用的术语“电路”应该理解为包括配置成执行与本文描述的特定电路相关联的功能的特定硬件。例如,在一些实施例中,“电路”可以包括处理电路、存储介质、网络接口、输入/输出设备等。在一些实施例中,装置200的其他元件可以提供或补充特定电路的功能。例如,处理器202可以提供处理功能,存储器204可以提供存储功能,通信电路208可以提供网络接口功能,等等。类似地,装置300的其他元件可以提供或补充特定电路的功能。例如,处理器301可以提供处理功能,存储器303可以提供存储功能,通信电路307可以提供网络接口功能,等等。
应当理解,任何这样的计算机程序指令和/或其他类型的代码都可以被加载到计算机、处理器或其他可编程装置的电路上以产生机器,使得在机器上执行代码的计算机、处理器或其他可编程电路形成用于实现各种功能的手段,包括本文描述的那些。
如上所述,并且基于本公开应当理解,本公开的实施例可以被配置为方法、移动设备、后端网络设备等。因此,实施例可以包括各种装置,其包括全部是硬件或软件和硬件的任何组合。此外,实施例可以采取在至少一个非暂时性计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品具有实施在存储介质中的计算机可读程序指令(例如,计算机软件)。可以使用任何合适的计算机可读存储介质,包括非暂时性硬盘、CD-ROM、闪存、光存储设备或磁存储设备。
用于生成外部共享通信信道的示例数据流
图4、图5、图6和图7示出了在基于共享通信信道生成查询的发起者和目标是否是群组的管理员来生成外部共享通信信道时在一个或多个客户端设备101A-101N和基于群组的通信平台105之间的各种交互。
术语“管理员”是指通信信道的订户,其有权管理通信信道并代表其他订户做出关于各种维护任务的决定。例如,群组管理员可能有权将通信信道设置为“公共的”或“私有的”。作为另一个示例,当接收到创建外部共享通信信道的请求时,只有群组管理员有权代表群组接受该请求。在一些实施例中,系统使用与用户相关联的数据上的标志来指示用户是否是群组的成员。
现在参考图4,过程400示出了当群组A的非管理员提交创建指向群组B的非管理员的共享通信信道的请求时生成外部共享通信信道的示例过程。
过程400开始于步骤402,其中群组A的非管理员提交创建外部共享通信信道的请求。在步骤404,系统自动为群组A的非管理员创建邀请,并与群组B的非管理员共享该邀请。这里,邀请是创建外部共享通信信道的请求的电子指示。例如,邀请可以采用统一资源定位符(URL)的形式,该URL链接到包含请求的细节的网页。在一些实施例中,该URL链接可以在自该URL链接已经被发送起经过预定量的时间之后过期。例如,用户可以将URL设置为在发送24小时后过期。
在步骤406,群组B的非管理员接收邀请。在步骤408,群组B的非管理员做出关于是否添加信道的初始决定。如果群组B的非管理员决定不添加信道,则在步骤410,群组A的非管理员接收请求已被拒绝的电子指示。
如果群组B的非管理员决定添加信道,则在步骤412和414,系统自动将创建外部共享通信信道的请求分别转发给群组A的管理员和群组B的管理员。如果在步骤416群组A的管理员不批准该请求,则在步骤420,群组A和群组B的非管理员接收该请求已被拒绝的电子指示。类似地,如果在步骤418群组B的管理员不批准该请求,则在步骤420,群组A和群组B的非管理员接收该请求已被拒绝的电子指示。
当群组A的管理员和群组B的管理员都批准该请求时,系统在步骤422继续创建外部共享通信信道。
现在参考图5,过程500示出了当群组A的非管理员提交创建指向群组B的管理员的共享通信信道的请求时生成外部共享通信信道的示例过程。
过程500开始于步骤501,其中群组A的非管理员提交创建外部共享通信信道的请求。在步骤503,系统自动为群组A的非管理员创建邀请,并与群组B的管理员共享该邀请。
在步骤505,在与群组B的管理员共享邀请时,系统自动生成批准的请求。然后,在步骤507,群组B的管理员决定是否批准创建外部共享通信信道的请求。如果群组B的管理员不批准该请求,则在步骤509群组A的非管理员接收该请求已被拒绝的电子指示。
如果群组B的管理员批准该请求,则在步骤511系统自动将该请求转发给群组A的管理员。如果在步骤513群组A的管理员不批准该请求,则在步骤515群组B的管理员和非管理员都接收该请求已被拒绝的电子指示。
如果群组A的管理员在步骤513批准了该请求,则系统在步骤517继续创建外部共享通信信道。
现在参考图6,过程600示出了当群组A的管理员提交创建指向群组B的非管理员的共享通信信道的请求时生成外部共享通信信道的示例过程。
过程600开始于步骤602,其中群组A的管理员提交创建外部共享通信信道的请求。在步骤604,系统自动为群组A的管理员创建邀请,并与群组B的非管理员共享该邀请。
在步骤606,群组B的非管理员接收邀请。在步骤608,群组B的非管理员做出关于是否添加信道的初始决定。如果群组B的非管理员决定不添加信道,则在步骤610,群组A的管理员接收请求已被拒绝的电子指示。
如果群组B的非管理员决定添加信道,则在步骤612和614,系统自动将创建外部共享通信信道的请求分别转发给群组A的管理员和群组B的管理员。如果在步骤616群组A的管理员不批准该请求,则在步骤620,群组B的非管理员接收该请求已被拒绝的电子指示。类似地,如果在步骤618群组B的管理员不批准该请求,则在步骤620,群组B的非管理员接收该请求已被拒绝的电子指示。
当群组A的管理员和群组B的管理员都批准该请求时,系统在步骤622,继续创建外部共享通信信道。
现在参考图7,过程700示出了当群组A的管理员提交创建指向群组B的管理员的共享通信信道的请求时生成外部共享通信信道的示例过程。
过程700开始于步骤701,其中群组A的管理员提交创建外部共享通信信道的请求。在步骤703,系统自动为群组A的管理员创建邀请,并与群组B的管理员共享该邀请。
在步骤705,在与群组B的管理员共享邀请时,系统自动生成批准的请求。然后,在步骤707,群组B的管理员决定是否批准创建外部共享通信信道的请求。如果群组B的管理员不批准该请求,则在步骤709,群组A的管理员接收该请求已被拒绝的电子指示。
如果群组B的管理员批准该请求,则在步骤711,系统自动将该请求转发给群组A的管理员。如果在步骤713群组A的管理员不批准该请求,则在步骤715群组B的管理员接收该请求已被拒绝的电子指示。如果群组A的管理员批准了该请求,则系统在步骤717继续创建外部共享通信信道。
外部共享通信信道的示例实施方式
图8A、图8B、图8C和图8D示出了根据本公开的一些实施例的示例通信信道接口的各种元件。
现在参考图8A,示出了示例通信信道接口800A。通信信道接口800A包括用户名框802,指示与通信信道接口800A相关联的当前用户账户。
通信信道接口800A还可以包括信道列表窗格,其可以包括外部共享通信信道列表子窗格804。外部共享通信信道列表子窗格804允许用户快速且容易地导航用户已经订阅的所有外部共享通信信道。例如,如图8A所示,用户Tony已经订阅了外部共享通信信道C1、C2、C3和C4,这些信道由每个信道名称右侧的重叠正方形符号来指示。每个群组可以在外部共享通信信道列表子窗格804中设置其关于外部共享通信信道的名称的偏好。
通信信道接口800A的信道列表窗格还可以包括内部共享通信信道列表子窗格806,其列出用户已经订阅的所有内部共享通信信道。与外部共享通信信道列表子窗格804中列出的那些相比,内部共享通信信道列表子窗格806中的所有信道都与同一群组或组织内的其他用户共享。
外部共享通信信道列表子窗格804或内部共享通信信道列表子窗格806中的信道可以是私有信道或公共信道。信道的状态可以通过信道名称左侧的图标来指示。例如,如图8A的内部共享通信信道列表子窗格806所示,信道C5和C6在其名称旁边各自具有井号(#),这表明它们是公共信道;信道C7和C8在其名称旁边各自具有锁标志,这表明它们是私有信道。
通信信道接口800A还包括信道标题框810和直接消息窗格808。直接消息窗格808列出了与用户共享同一信道的所有成员。例如,如图8A的直接消息窗格808所示,用户可以向与该用户共享同一信道C1的Beth或Carl发送直接消息。结合直接消息窗格808,通信信道接口800A还可以包括弹性窗格816,其可以显示诸如群组的成员目录的信息。成员目录可能能够通过弹性窗格816来浏览、搜索和筛选。
在一些实施例中,可以基于保留设置来确定成员目录的显示。保留设置可以进一步确定哪些应用程序安装在该信道上,哪些特征被启用用于该信道,以及关于哪些用户被允许控制该信道的其他偏好。
此外,通信信道接口800A包括信道消息传递窗格812,其显示与通信信道相关联的文本、图像和其他历史数据。在一些实施例中,历史数据可以包括对成员资格的改变,诸如当用户加入或离开信道时、当应用程序被安装或从信道移除时。
在一些实施例中,信道消息传递窗格812中的一些内容的查看权限设置(即,谁可以查看这些内容)可以是特定于用户的,并且对公众隐藏。例如,当用户使用命令与应用程序或机器人进行私下交互时,这样的活动可能会对公众隐藏。用户也可以选择使这样的活动对公众可见。
在一些实施例中,查看权限设置可以特定于团队和/或安装在团队上的应用程序。例如,当来自组织X的Tony想要使用命令时,命令菜单将仅显示来自已经安装在组织X上的应用程序的命令。
用户可以使用信道输入框814来向通信信道贡献内容,这将显示在信道消息传递窗格812中。信道输入框814可以提供自动完成功能,当用户在信道输入框814中键入时,该功能自动识别用户名、信道名和其他信息。在一些实施例中,自动完成机器人还可以识别应用程序和其他机器人的名称,以进一步与信道交互。当用户在外部共享通信信道中时,信道输入框814还可以提供消息输入警告,警告用户他或她贡献的任何信息可能被另一个群组或组织的成员看到。现在参考图8B,示出了示例用户图标800B。用户图标800B可以包括用户化身(avatar)801和群组图标803。用户化身801可以指示用户的身份,并且群组图标803可以指示用户所关联的群组。在一些实施例中,用户化身801可以具有72像素×72像素的大小,具有4像素的圆角。群组图标803可以具有22像素×22像素的尺寸,具有4像素的圆角、1像素的内边界和3像素的外边界。
现在参考图8C,示出了示例通信信道接口800C。通信信道接口800C可以包括群组成员简档卡818,群组成员简档卡818可以进一步包括群组成员的简档图片820、群组识别框822和功能按钮824。群组识别框822可以包括诸如群组成员所关联的群组的名称的信息。功能按钮824可以允许用户执行各种功能,诸如向群组成员发送直接消息。
现在参考图8D,用户接口800D示出了用于与群组成员直接消息传递的示例接口。用户接口800D可以包括成员名称框810’,该成员名称框810’指示与用户直接消息传递的群组成员的名称。通信窗格812’显示用户和群组成员之间的直接消息传递历史。用户接口800D还可以包括直接消息简档窗格826,其可以包括用户信息部分828和相关信息部分830。直接消息简档窗格826使得用户能够快速且容易地识别关于与用户直接消息传递的群组成员的基本信息。
用于实现本公开的实施例的示例应用程序编程接口(API)设计
在一些实施例中,根据本公开的实施例结构化的系统可以提供应用程序编程接口(API),其使得能够在外部共享通信信道中配置应用程序和机器人。
现有系统受到技术限制的困扰。例如,一些现有系统无法在外部共享通信信道中聚集成员团队,而其他系统无法向其基于群组的通信信道未存储在同一分片上的用户发出事件。
本公开的各种实施例提供了对现有系统的技术改进。如上所述,可以生成共享通信信道分片来存储与外部共享通信信道相关的数据。在本公开的一些实施例中,事件订阅表(例如,“event_subscriptions_types”)可以存储在共享通信信道分片中。事件订阅表存储关于是否向外部共享通信信道中的成员发出事件的信息。为了解决上述技术难题,可以更新事件订阅表,以包括“resource_id”列和“resource_type”列。“resource_id”列存储资源(例如,事件)的标识,并且“resource_type”列标识资源的类型(例如,事件是否由其基于群组的通信信道存储在不同分片上的团队订阅)。通过利用这两列,本公开的实施例解决了在哪里以及如何为安装在基于群组的通信信道上的应用程序存储合并的事件注册信息的问题。继续“Tony到Frank”的示例,外部共享通信信道可以利用“resource_type”列和“resource_id”列来存储关于组织X和/或组织Y是否订阅了特定资源(即事件)的信息。
下面的编程代码提供了对“event_subscriptions_types”表的修改,以包括“resource_type”和“resource_id”列:
ALTER TABLE event_subscriptions_types ADD COLUMN resource_typevarchar(25)NOT NULL
AFTER team_id
ALTER TABLE event_subscriptions_types ADD COLUMN resource_id bigint(20)UNSIGNED NOT
NULL AFTER resource_type
ALTER TABLE event_subscriptions_types ADD COLUMN ext_team_id bigint(20)UNSIGNED NOT
NULL AFTER team_id
ALTER TABLE event_subscriptions_types DROP PRIMARY KEY,ADD PRIMARYKEY event_subscription_id,team_id,event_type,resource_type,resource_id)
在本公开的一些实施例中,可以将“channel_id”列和“event_subscription_id”列添加到“event_subscriptions_types”表。“channel_id”列标识基于群组的通信信道,并且“event_subscription_id”标识每个基于群组的通信信道订阅的事件。继续“Tony到Frank”的示例,“channel_id”列和“event_subscription_id”列存储关于组织X和组织Y中的每一个订阅了什么事件的信息。
此外,本公开的一些实施例还可以在共享通信信道分片中创建新的表,诸如“event_subscriptions_ext_shared”,以单独存储每个团队的事件订阅信息。下面的编程代码提供了“event_subscriptions_ext_shared”表的创建。
CREATE TABLE‘event_subscriptions_ext_shared’(
‘subscription_team_id’bigint(20)UNSIGNED NOT NULL,
‘channel_id’bigint(20)UNSIGNED NOT NULL,
‘api_app_id’bigint(20)UNSIGNED NOT NULL,
‘event_type’varchar(255)NOT NULL
PRIMARY KEY(‘subscription_t_team_id’,‘channel_id’,‘event_type’)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
附加实施方式细节
尽管在图2和图3中已经描述了示例处理系统,但是本文描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中实现,或者在包括本说明书中公开的结构及其结构等同物的计算机软件、固件或硬件中实现,或者在它们中的一个或多个的组合中实现。
本文描述的主题和操作的实施例可以在数字电子电路中实现,或者在包括本说明书中公开的结构及其结构等同物的计算机软件、固件或硬件中实现,或者在它们中的一个或多个的组合中实现。本文描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在计算机可读存储介质上的计算机程序指令的一个或多个模块,用于由信息/数据处理装置执行或控制信息/数据处理装置的操作。备选地或此外,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息/数据,用于传输到合适的接收器装置,以由信息/数据处理装置执行。计算机可读存储介质可以是计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合或包括在它们中。此外,虽然计算机可读存储介质不是传播信号,但是计算机可读存储介质可以是编码在人工生成的传播信号中的计算机程序指令的来源或目的地。计算机可读存储介质也可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或包括在其中。
本文描述的操作可以被实现为由信息/数据处理装置对存储在一个或多个计算机可读存储设备上或从其他来源接收的信息/数据执行的操作。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
计算机程序(在本文中也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或信息/数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。计算机程序可以被部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本文描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入信息/数据进行操作并生成输出来执行动作。举例来说,适于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器、随机存取存储器或两者接收指令和信息/数据。在一些情况下,计算机可以包括用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地联接到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收信息/数据或向其传送信息/数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和信息/数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
为了提供与用户的交互,本文描述的主题的实施例可以在计算机上实现,该计算机具有:用于向用户显示信息/数据的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)显示器;以及键盘和指示设备,例如鼠标或轨迹球,用户可以通过该指示设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,将网页发送到用户的客户端设备上的网络浏览器。
本文描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为信息/数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户接口或网络浏览器的客户端设备,用户可以通过该图形用户接口或网络浏览器与本文描述的主题的实施方式进行交互,或者包括一个或多个这样的后端组件、中间件组件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字信息/数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、内部网络(例如因特网)和对等网络(例如自组织对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是借助于运行在相应的计算机上并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器将信息/数据(例如,HTML页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示信息/数据和从其接收用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的信息/数据(例如,用户交互的结果)。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何实施例或可能要求保护的内容的范围的限制,而是对特定实施例特有的特征的描述。本文在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或者在任何合适的子组合中实现。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或相继次序执行此类操作,或者执行所有示出的操作,以获得期望的结果,除非另有描述。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为要求所有实施例中的这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求书的范围内。在一些情况下,权利要求书中列举的动作可以以不同的顺序执行,并且仍然获得期望的结果。此外,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来获得期望的结果,除非另有描述。在某些实施方式中,多任务和并行处理可能是有利的。
结论
虽然上面已经示出和描述了根据本文公开的原理的各种实施例,但是本领域技术人员可以在不脱离本公开的教导的情况下对其进行修改。本文描述的实施例仅仅是代表性的,而不旨在进行限制。许多变型、组合和修改是可能的,并且在本公开的范围内。通过组合、集成和/或省略(多个)实施例的特征而产生的备选实施例也在本公开的范围内。因此,保护范围不受上述描述的限制,而是由所附的权利要求书限定,该范围包括权利要求书的主题的所有等同物。每一项权利要求都作为进一步的公开内容被结合到说明书中,并且权利要求是本公开的(多个)实施例。此外,上面描述的任何优点和特征可以涉及具体实施例,但是不应当将这样发布的权利要求书的应用限制于实现任何或所有上述优点或者具有任何或所有上述特征的过程和结构。
此外,本文使用的章节标题是为了与37C.F.R.§1.77下的建议保持一致而提供,或者以其他方式提供组织线索。这些标题不应限制或表征可以由本公开产生的任何权利要求中阐述的公开内容。例如,在“背景技术”中对技术的描述不应被解释为承认某些技术是本公开中任何公开内容的现有技术。“发明内容”也不应被认为是对已发布的权利要求书中阐述的公开内容的限制特征。此外,本公开中对单数形式的“公开”或“实施例”的任何引用都不应被用来主张本公开中只有一个新颖点。本公开的多个实施例可以根据从本公开产生的多项权利要求的限制来阐述,并且这样的权利要求相应地限定了由此受保护的本公开及其等同物。在所有情况下,权利要求的范围应该依据本公开根据它们自身的情况来考虑,但不应受本文中阐述的标题约束。
另外,在各种实施例中描述和示出为分立或分开的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成而不脱离本公开的范围。示出或讨论为彼此联接或连通的其他设备或组件可以通过一些中间设备或组件间接联接,无论是以电学方式、机械方式或其他方式。本领域技术人员可确定,并且可以做出改变、替换和变更的其他示例而不脱离本文公开的范围。
受益于前述描述和相关附图中给出的教导,这些实施例所涉及的领域的技术人员将会想到本文阐述的本公开的许多修改和其他实施例。尽管附图仅示出了本文描述的装置和系统的某些组件,但是应当理解,各种其他组件可以与本文公开的基于群组的通信平台结合使用。因此,应当理解,本公开不限于所公开的具体实施例,并且修改和其他实施例旨在包括在所附权利要求的范围内。例如,各种元件或组件可以被组合、重新排列或集成在另一个系统中,或者某些特征可以被省略或不被实现。此外,上述任何方法中的步骤可能不一定按照附图中描绘的顺序发生,并且在一些情况下,所描绘的一个或多个步骤可以基本上同时发生,或者可以涉及附加步骤。尽管本文使用了特定的术语,但是它们仅在一般和描述性的意义上使用,而不是为了限制的目的。
Claims (36)
1.一种用于导致呈现至少一个共享的基于群组的通信信道接口的计算系统,所述至少一个共享的基于群组的通信信道接口用于基于群组的通信平台,其中,所述计算系统包括电路,所述电路被配置成:
接收与基于群组的通信信道标识符相关联的消息通信,其中,所述基于群组的通信信道标识符与第一群组标识和第二群组标识相关联,其中,第一组客户端设备与所述第一群组标识相关联,并且第二组客户端设备与所述第二群组标识相关联;和
导致呈现共享的基于群组的通信信道接口,所述共享的基于群组的通信信道接口包括与所述基于群组的通信信道标识符相关联的所述消息通信,其中,至少部分地基于第一共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第一组客户端设备,并且其中,至少部分地基于第二共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第二组客户端设备。
2.根据权利要求1所述的计算系统,其中,所述消息通信与查看权限设置集相关联。
3.根据权利要求2所述的计算系统,其中,所述消息通信至少部分地基于所述第一共享通信信道属性集和所述查看权限设置集被呈现给所述第一组客户端设备,其中,所述消息通信至少部分地基于所述第二共享通信信道属性集和所述查看权限设置集被呈现给所述第二组客户端设备。
4.根据权利要求2所述的计算系统,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述查看权限设置集包括私人查看权限设置。
5.根据权利要求4所述的计算系统,其中,所述计算系统包括所述电路,所述电路还被配置成:
至少部分地基于所述私人查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述私人查看权限设置,排除向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
6.根据权利要求2所述的计算系统,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,并且其中,所述查看权限设置集包括公共查看权限设置。
7.根据权利要求6所述的计算系统,其中,所述计算系统包括电路,所述电路还被配置成:
至少部分地基于所述公共查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述公共查看权限设置,导致向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
8.根据权利要求1所述的计算系统,其中,所述计算系统包括电路,所述电路还被配置成:
至少部分地基于所述第一共享通信信道属性集,导致向所述第一组客户端设备呈现第一共享的基于群组的通信信道接口;和
至少部分地基于所述第二共享通信信道属性集,导致向所述第二组客户端设备呈现第二共享的基于群组的通信信道接口。
9.根据权利要求1所述的计算系统,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述基于群组的通信平台包括一组数据库分片,其中,所述一组数据库分片包括与所述第一群组标识相关联的第一数据库分片,并且其中,所述计算系统包括电路,所述电路还被配置成:
基于所述消息通信和与所述消息通信相关联的查看权限设置集生成存储消息;和
将所述存储消息存储在所述第一数据库分片中。
10.根据权利要求9所述的计算系统,其中,所述查看权限设置集包括私人查看权限设置,其中,所述电路还被配置成在与所述第一群组标识相关联的单独索引中索引所述存储消息。
11.根据权利要求9所述的计算系统,其中,所述查看权限设置集包括公共查看权限设置,其中,所述电路还被配置成在与所述第一群组标识和所述第二群组标识相关联的共享索引中索引所述存储消息。
12.一种用于导致呈现至少一个共享的基于群组的通信信道接口的计算机实现的方法,所述至少一个共享的基于群组的通信信道接口用于基于群组的通信平台,所述计算机实现的方法包括:
接收与基于群组的通信信道标识符相关联的消息通信,其中,所述基于群组的通信信道标识符与第一群组标识和第二群组标识相关联,其中,第一组客户端设备与所述第一群组标识相关联,并且第二组客户端设备与所述第二群组标识相关联;和
导致呈现共享的基于群组的通信信道接口,所述共享的基于群组的通信信道接口包括与所述基于群组的通信信道标识符相关联的所述消息通信,其中,至少部分地基于第一共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第一组客户端设备,并且其中,至少部分地基于第二共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第二组客户端设备。
13.根据权利要求12所述的计算机实现的方法,其中,所述消息通信与查看权限设置集相关联。
14.根据权利要求13所述的计算机实现的方法,其中,所述消息通信至少部分地基于所述第一共享通信信道属性集和所述查看权限设置集被呈现给所述第一组客户端设备,其中,所述消息通信至少部分地基于所述第二共享通信信道属性集和所述查看权限设置集被呈现给所述第二组客户端设备。
15.根据权利要求13所述的计算机实现的方法,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述查看权限设置集包括私人查看权限设置。
16.根据权利要求15所述的计算机实现的方法,还包括:
至少部分地基于所述私人查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述私人查看权限设置,排除向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
17.根据权利要求13所述的计算机实现的方法,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述查看权限设置集包括公共查看权限设置。
18.根据权利要求17所述的计算机实现的方法,还包括:
至少部分地基于所述公共查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述公共查看权限设置,导致向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
19.根据权利要求12所述的计算机实现的方法,还包括:
至少部分地基于所述第一共享通信信道属性集,导致向所述第一组客户端设备呈现第一共享的基于群组的通信信道接口;和
至少部分地基于所述第二共享通信信道属性集,导致向所述第二组客户端设备呈现第二共享的基于群组的通信信道接口。
20.根据权利要求12所述的计算机实现的方法,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述基于群组的通信平台包括一组数据库分片,其中,所述一组数据库分片包括与所述第一群组标识相关联的第一数据库分片,并且其中,所述计算机实现的方法还包括:
基于所述消息通信和与所述消息通信相关联的查看权限设置集生成存储消息;和
将所述存储消息存储在所述第一数据库分片中。
21.根据权利要求20所述的计算机实现的方法,其中,所述查看权限设置集包括私人查看权限设置,其中,所述计算机实现的方法还包括在与所述第一群组标识相关联的单独索引中索引所述存储消息。
22.根据权利要求20所述的计算机实现的方法,其中,所述查看权限设置集包括公共查看权限设置,其中,所述计算机实现的方法还包括在与所述第一群组标识和所述第二群组标识相关联的共享索引中索引所述存储消息。
23.一种用于导致呈现至少一个共享的基于群组的通信信道接口的计算机程序产品,所述至少一个共享的基于群组的通信信道接口用于基于群组的通信平台,其中,所述计算机程序产品包括存储计算机可执行程序代码指令的至少一个非暂时性计算机可读存储介质,当由计算系统的处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统:
接收与基于群组的通信信道标识符相关联的消息通信,其中,所述基于群组的通信信道标识符与第一群组标识和第二群组标识相关联,其中,第一组客户端设备与所述第一群组标识相关联,并且第二组客户端设备与所述第二群组标识相关联;和
导致呈现共享的基于群组的通信信道接口,所述共享的基于群组的通信信道接口包括与所述基于群组的通信信道标识符相关联的所述消息通信,其中,至少部分地基于第一共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第一组客户端设备,并且其中,至少部分地基于第二共享通信信道属性集将所述共享的基于群组的通信信道接口呈现给所述第二组客户端设备。
24.根据权利要求23所述的计算机程序产品,其中,所述消息通信与查看权限设置集相关联。
25.根据权利要求24所述的计算机程序产品,其中,所述消息通信至少部分地基于所述第一共享通信信道属性集和所述查看权限设置集被呈现给所述第一组客户端设备,其中,所述消息通信至少部分地基于所述第二共享通信信道属性集和所述查看权限设置集被呈现给所述第二组客户端设备。
26.根据权利要求24所述的计算机程序产品,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述查看权限设置集包括私人查看权限设置。
27.根据权利要求26所述的计算机程序产品,其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统:
至少部分地基于所述私人查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述私人查看权限设置,排除向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
28.根据权利要求24所述的计算机程序产品,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述查看权限设置集包括公共查看权限设置。
29.根据权利要求28所述的计算机程序产品,其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统:
至少部分地基于所述公共查看权限设置,导致向所述第一组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信,和
至少部分地基于所述公共查看权限设置,导致向所述第二组客户端设备呈现所述共享的基于群组的通信信道接口中的所述消息通信。
30.根据权利要求23所述的计算机程序产品,其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统:
至少部分地基于所述第一共享通信信道属性集,导致向所述第一组客户端设备呈现第一共享的基于群组的通信信道接口;和
至少部分地基于所述第二共享通信信道属性集,导致向所述第二组客户端设备呈现第二共享的基于群组的通信信道接口。
31.根据权利要求23所述的计算机程序产品,其中,所述消息通信从所述第一组客户端设备中的第一客户端设备被接收,其中,所述基于群组的通信平台包括一组数据库分片,其中,所述一组数据库分片包括与所述第一群组标识相关联的第一数据库分片,并且其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统:
基于所述消息通信和与所述消息通信相关联的查看权限设置集生成存储消息;和
将所述存储消息存储在所述第一数据库分片中。
32.根据权利要求31所述的计算机程序产品,其中,所述查看权限设置集包括私人查看权限设置,其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统在与所述第一群组标识相关联的单独索引中索引所述存储消息。
33.根据权利要求31所述的计算机程序产品,其中,所述查看权限设置集包括公共查看权限设置,其中,当由所述计算系统的所述处理电路执行时,所述计算机可执行程序代码指令导致所述计算系统在与所述第一群组标识和所述第二群组标识相关联的共享索引中索引所述存储消息。
34.根据权利要求1所述的计算系统,其中,所述第二群组标识不同于所述第一群组标识,并且其中,所述第二共享通信信道属性集不同于所述第一共享通信信道属性集。
35.根据权利要求12所述的计算机实现的方法,其中,所述第二群组标识不同于所述第一群组标识,并且其中,所述第二共享通信信道属性集不同于所述第一共享通信信道属性集。
36.根据权利要求23所述的计算机程序产品,其中,所述第二群组标识不同于所述第一群组标识,并且其中,所述第二共享通信信道属性集不同于所述第一共享通信信道属性集。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/206,578 | 2018-11-30 | ||
US16/206,578 US10402371B2 (en) | 2017-07-20 | 2018-11-30 | Method, apparatus and computer program product for generating externally shared communication channels |
US16/438,957 | 2019-06-12 | ||
US16/438,957 US11586584B2 (en) | 2017-07-20 | 2019-06-12 | Method, apparatus and computer program product for generating externally shared communication channels |
PCT/US2019/063852 WO2020113162A1 (en) | 2018-11-30 | 2019-11-29 | Method, apparatus and computer program product for generating externally shared communication channels |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112740622A true CN112740622A (zh) | 2021-04-30 |
CN112740622B CN112740622B (zh) | 2023-01-31 |
Family
ID=75589262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980060215.3A Active CN112740622B (zh) | 2018-11-30 | 2019-11-29 | 用于生成外部共享通信信道的方法和装置 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102561557B1 (zh) |
CN (1) | CN112740622B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189488A (zh) * | 2021-12-09 | 2022-03-15 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
CN114244793A (zh) * | 2021-11-30 | 2022-03-25 | 泰康保险集团股份有限公司 | 信息处理方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6630944B1 (en) * | 1999-03-19 | 2003-10-07 | Fujitsu Limited | Display control method and device |
CN1849000A (zh) * | 2005-04-14 | 2006-10-18 | 华为技术有限公司 | 一种cdma系统中集群通信方法 |
US20120246228A1 (en) * | 2011-03-21 | 2012-09-27 | Microsoft Corporation | Sharing channels |
US20140120864A1 (en) * | 2012-03-29 | 2014-05-01 | Velti Mobile Platforms Limited | Cross-Channel User Tracking Systems, Methods and Devices |
CN103856903A (zh) * | 2012-12-03 | 2014-06-11 | 中兴通讯股份有限公司 | 一种集群接入网、终端设备和加入集群组的方法 |
US20160275803A1 (en) * | 2015-03-16 | 2016-09-22 | Scriyb LLC | System and method for providing group learning via computerized student group assignments conducted based on student attributes and student-variable-related criteria |
US20170099296A1 (en) * | 2015-10-02 | 2017-04-06 | Pekama Ltd. | Access control system and method |
US20170272390A1 (en) * | 2015-11-10 | 2017-09-21 | Wrinkl, Inc. | Messaging apparatus and method thereof |
US20170315680A1 (en) * | 2016-04-29 | 2017-11-02 | Salesforce.Com, Inc. | Publisher and share action integration in a user interface for automated messaging |
US20180027029A1 (en) * | 2016-07-25 | 2018-01-25 | Salesforce.Com, Inc. | Multi-channel customer engagement platform |
US20180197144A1 (en) * | 2016-10-14 | 2018-07-12 | Slack Technologies, Inc. | Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform |
US20180337795A1 (en) * | 2017-05-19 | 2018-11-22 | Slack Technologies, Inc. | Method, apparatus, and computer program product for a scalable group-based communication system with a reduced client memory footprint requirement |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112016024595B1 (pt) * | 2014-04-23 | 2024-03-05 | Vertigo Media, Inc | Sistema de difusão de fim social |
US10305912B2 (en) * | 2015-02-26 | 2019-05-28 | Smart Social Media, Inc. | Methods of enabling inter-organizational and public social collaboration |
-
2019
- 2019-11-29 KR KR1020217011092A patent/KR102561557B1/ko active IP Right Grant
- 2019-11-29 CN CN201980060215.3A patent/CN112740622B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6630944B1 (en) * | 1999-03-19 | 2003-10-07 | Fujitsu Limited | Display control method and device |
CN1849000A (zh) * | 2005-04-14 | 2006-10-18 | 华为技术有限公司 | 一种cdma系统中集群通信方法 |
US20120246228A1 (en) * | 2011-03-21 | 2012-09-27 | Microsoft Corporation | Sharing channels |
US20140120864A1 (en) * | 2012-03-29 | 2014-05-01 | Velti Mobile Platforms Limited | Cross-Channel User Tracking Systems, Methods and Devices |
CN103856903A (zh) * | 2012-12-03 | 2014-06-11 | 中兴通讯股份有限公司 | 一种集群接入网、终端设备和加入集群组的方法 |
US20160275803A1 (en) * | 2015-03-16 | 2016-09-22 | Scriyb LLC | System and method for providing group learning via computerized student group assignments conducted based on student attributes and student-variable-related criteria |
US20170099296A1 (en) * | 2015-10-02 | 2017-04-06 | Pekama Ltd. | Access control system and method |
US20170272390A1 (en) * | 2015-11-10 | 2017-09-21 | Wrinkl, Inc. | Messaging apparatus and method thereof |
US20170315680A1 (en) * | 2016-04-29 | 2017-11-02 | Salesforce.Com, Inc. | Publisher and share action integration in a user interface for automated messaging |
US20180027029A1 (en) * | 2016-07-25 | 2018-01-25 | Salesforce.Com, Inc. | Multi-channel customer engagement platform |
US20180197144A1 (en) * | 2016-10-14 | 2018-07-12 | Slack Technologies, Inc. | Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform |
US20180337795A1 (en) * | 2017-05-19 | 2018-11-22 | Slack Technologies, Inc. | Method, apparatus, and computer program product for a scalable group-based communication system with a reduced client memory footprint requirement |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244793A (zh) * | 2021-11-30 | 2022-03-25 | 泰康保险集团股份有限公司 | 信息处理方法、装置、设备及存储介质 |
CN114244793B (zh) * | 2021-11-30 | 2023-11-24 | 泰康保险集团股份有限公司 | 信息处理方法、装置、设备及存储介质 |
CN114189488A (zh) * | 2021-12-09 | 2022-03-15 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
CN114189488B (zh) * | 2021-12-09 | 2023-10-03 | 青岛聚看云科技有限公司 | 一种消息共享方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
KR102561557B1 (ko) | 2023-08-01 |
KR20210046082A (ko) | 2021-04-27 |
CN112740622B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11881959B2 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
US11586584B2 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
EP3695563B1 (en) | Apparatus, method, and computing device for selectively granting permissions to group-based objects in a group-based communication system | |
US11341093B2 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
CN115668185B (zh) | 用于在基于组的通信系统中管理外部批准供应和外部消息传递通信请求的方法和设备 | |
CN118104218A (zh) | 通信平台上的集成工作空间 | |
US20140013000A1 (en) | Social graph based permissions, publishing, and subscription | |
US10853061B2 (en) | Developer tools for a communication platform | |
US12124689B2 (en) | Organization of channel labels associated with a plurality of group-based communication channels in a communication platform | |
CN112740622B (zh) | 用于生成外部共享通信信道的方法和装置 | |
US11048486B2 (en) | Developer tools for a communication platform | |
AU2021101081B4 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
JP7376553B2 (ja) | グループベース通信システムにおいてプッシュベース通信コネクションが存在しない場合の最小のインタフェース機能の維持 | |
WO2020113162A1 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
US10983766B2 (en) | Developer tools for a communication platform | |
WO2020123752A2 (en) | Improved developer tools for a communication platform background |
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 |