CN115866062B - 用于多租户架构中大数据实时汇集存储方法及装置 - Google Patents
用于多租户架构中大数据实时汇集存储方法及装置 Download PDFInfo
- Publication number
- CN115866062B CN115866062B CN202310074310.7A CN202310074310A CN115866062B CN 115866062 B CN115866062 B CN 115866062B CN 202310074310 A CN202310074310 A CN 202310074310A CN 115866062 B CN115866062 B CN 115866062B
- Authority
- CN
- China
- Prior art keywords
- tenant
- entity
- data
- service data
- bearer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种用于多租户架构中大数据实时汇集存储的方法及装置,用以实现在多个用户共享数据库的情况下,提高运维效率,降低运维成本。该方法中,通过将相关租户的数据封装在同一数据结构实体,如第一数据结构实体中,将非相关租户的数据封装在不同的数据结构实体,如第一数据结构实体和第二数据结构实体,使得数据库可以以数据结构实体为粒度对不同租户的数据进行运维,从而可以提高运维效率,降低运维成本。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种用于多租户架构中大数据实时汇集存储方法及装置。
背景技术
多租户技术或称为多重租赁技术,简称多租户架构。多租户架构主要用于实现多用户环境,多用户共用相同的系统或程序组件。例如,多个用户可以共享数据库,也即,多个用户的数据可以存储在同一个数据库中,或者说同一组表项中,从而可以提高资源利用率。
然而,多个用户共享数据库的运维比较麻烦,例如,一个表项不能简单地删除或更新,因为它包含多个用户的数据,从而导致运维成本增加。
发明内容
本申请实施例提供一种用于多租户架构中大数据实时汇集存储方法及装置,用以实现在多个用户共享数据库的情况下,提高运维效率,降低运维成本。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供了一种用于多租户架构中大数据实时汇集存储的方法,该方法包括:SaaS服务器接收来自第一租户的第一业务数据;SaaS服务器接收来自第二租户的第二业务数据;SaaS服务器接收来自第三租户的第三业务数据;在第一租户与第二租户存在关联的情况下,SaaS服务器将第一业务数据和第二业务数据构建到第一数据结构实体中,以及,在第三租户与第一租户或第二租户不存在关联的情况下,SaaS服务器将第三业务数据构建到第二数据结构实体中,其中,相同的数据结构实体中的数据彼此透明,不同的数据结构实体中的数据彼此隔离;SaaS服务器将第一数据结构实体和第二数据结构实体存储到第一数据库中。
基于第一方面所述的方法可知,通过将相关租户的数据封装在同一数据结构实体,如第一数据结构实体中,将非相关租户的数据封装在不同的数据结构实体,如第一数据结构实体和第二数据结构实体,使得数据库可以以数据结构实体为粒度对不同租户的数据进行运维,从而可以提高运维效率,降低运维成本。
一种可能的设计方案中,在第一租户与第二租户是共享同一业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中的不同层级的信元。也就是说,在业务相同的情况下,需要通过不同的信元层级来区分各租户的数据,使其更方便运维。
可选地,第一租户优先级低于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
也就是说,在第一租户优先级高于第二租户的优先级的情况下,第一实体头部和第一实体承载的信元层级与第二实体头部和第二实体承载的信元层级不同的是指:第二实体头部和第二实体承载可以作为第一实体承载的部分内容而被包含在第一实体承载中。此时,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,获取到第二租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,遍历第一实体承载中剩下的部分,以获取到第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据与第二业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
一种可能的设计方案中,在第一租户与第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中同一层级的信元。也就是说,由于业务已经不同,因此不需要再通过信元层级来区分各租户的数据,从而可以简化信元结构,使其更方便运维。
可选地,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。此时,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第一实体承载,获取到第一租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,获取到第二租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据承载在第一QoS流中,以及第二业务数据承载在第二QoS流表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
一种可能的设计方案中,第一方面所述的方法还可以包括:SaaS服务器接收来自第四租户的第四业务数据;在第四租户与第一租户和第二租户存在关联的情况下,SaaS服务器将第四业务数据构建到第一数据结构实体中,也即,无需创建新的数据结构实体,以节约开销。
可选地,在第四租户、第一租户和第一租户是共享同一业务的租户的情况下,第一业务数据、第二业务数据和第四业务数据是第一数据结构实体中的不同层级的信元。也就是说,在业务相同的情况下,需要通过不同的信元层级来区分各租户的数据,使其更方便运维。
进一步的,第一租户优先级低于第二租户的优先级,第二租户优先级低于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载按从前往后的遍历顺序依次包括第四实体头部、第四实体承载,以及第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
也就是说,在第一租户优先级低于第二租户的优先级,在第二租户优先级低于第四租户的优先级的情况下的情况下,第一实体头部和第一实体承载的信元层级与第二实体头部和第二实体承载的信元层级不同的是指:第二实体头部和第二实体承载可以作为第一实体承载的部分内容而被包含在第一实体承载中,第二实体头部和第二实体承载的信元层级与第三实体头部和第三实体承载的信元层级不同的是指:第三实体头部和第三实体承载可以作为第二实体承载的部分内容而被包含在第二实体承载中。例如,第一数据结构实体结构可以如下表3所示:
表3
如表3所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表3中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,以获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,依次获取到第四租户的业务数据、第二租户的业务数据,以及第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。
进一步的,第四租户、第一租户和第一租户是共享同一业务的租户为:通过第一业务数据、第二业务数据以及第四业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户、第二租户以及第四租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
可选地,在第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据位于第一数据结构实体中的不同层级的信元,第四业务数据与第一业务数据或第二业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第一租户优先级高于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。例如,第一数据结构实体结构可以如下表4所示:
表4
如表4所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表4中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第一实体承载,获取到第一租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,获取到第二租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第三实体承载,获取到第四租户的业务数据。
可以理解,表4的封装方式是按照第一租户的优先级高于第二租户的优先级,第二租户的优先级高于第四租户的优先级,反之,如果第四租户的优先级高于第二租户的优先级,第二租户的优先级高于第一租户的优先级,则表4中第一租户与第四租户的顺序应当调换。
进一步的,第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户为:通过第一业务数据和第二业务数据共同承载在第一QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
可选地,在第一租户、第二租户以及第四租户是不同业务的租户的情况下,第一业务数据、第二业务数据以及第四业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第二租户优先级高于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。例如,第一数据结构实体结构可以如下表5所示:
表5
如表5所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表5中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,依次获取到第二租户的业务数据和第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第三实体承载,获取到第四租户的业务数据。
进一步的,第一租户、第二租户以及第四租户是不同业务的租户为:通过第一业务数据承载在第一QoS流中、第二业务数据承载在第二QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
第二方面,本申请实施例提供了一种用于多租户架构中大数据实时汇集存储的装置,该装置包括:收发模块,用于SaaS服务器接收来自第一租户的第一业务数据;收发模块,还用于SaaS服务器接收来自第二租户的第二业务数据;收发模块,还用于SaaS服务器接收来自第三租户的第三业务数据;处理模块,用于在第一租户与第二租户存在关联的情况下,SaaS服务器将第一业务数据和第二业务数据构建到第一数据结构实体中,以及,在第三租户与第一租户或第二租户不存在关联的情况下,SaaS服务器将第三业务数据构建到第二数据结构实体中,其中,相同的数据结构实体中的数据彼此透明,不同的数据结构实体中的数据彼此隔离;处理模块,还用于SaaS服务器将第一数据结构实体和第二数据结构实体存储到第一数据库中。
一种可能的设计方案中,在第一租户与第二租户是共享同一业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中的不同层级的信元。
可选地,第一租户优先级低于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据与第二业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流。
一种可能的设计方案中,在第一租户与第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中同一层级的信元。
可选地,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据承载在第一QoS流中,以及第二业务数据承载在第二QoS流表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流。
一种可能的设计方案中,收发模块,还用于SaaS服务器接收来自第四租户的第四业务数据;处理模块,还用于在第四租户与第一租户和第二租户存在关联的情况下,SaaS服务器将第四业务数据构建到第一数据结构实体中。
可选地,在第四租户、第一租户和第一租户是共享同一业务的租户的情况下,第一业务数据、第二业务数据和第四业务数据是第一数据结构实体中的不同层级的信元。
进一步的,第一租户优先级低于第二租户的优先级,第二租户优先级低于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载按从前往后的遍历顺序依次包括第四实体头部、第四实体承载,以及第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第四租户、第一租户和第一租户是共享同一业务的租户为:通过第一业务数据、第二业务数据以及第四业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户、第二租户以及第四租户之间通过网络建立的QoS流。
可选地,在第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据位于第一数据结构实体中的不同层级的信元,第四业务数据与第一业务数据或第二业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第一租户优先级高于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户为:通过第一业务数据和第二业务数据共同承载在第一QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。
可选地,在第一租户、第二租户以及第四租户是不同业务的租户的情况下,第一业务数据、第二业务数据以及第四业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第二租户优先级高于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第一租户、第二租户以及第四租户是不同业务的租户为:通过第一业务数据承载在第一QoS流中、第二业务数据承载在第二QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。
其中,上述第二方面的技术效果可参考上述第一方面的相关介绍,在此不再赘述。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有程序代码,当所述程序代码被所述计算机运行时,执行如第一方面所述的方法。
附图说明
图1为本申请实施例提供的一种SaaS系统的架构示意图;
图2为本申请实施例提供的一种用于多租户架构中大数据实时汇集存储方法的流程图;
图3为本申请实施例提供的一种用于多租户架构中大数据实时汇集存储装置的结构示意图一;
图4为本申请实施例提供的一种用于多租户架构中大数据实时汇集存储装置的结构示意图二。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
请参阅图1,本申请实施例提供了一种SaaS系统,该SaaS系统可以包括:多个租户以及SaaS服务器。
其中,多个租户中任意租户可以理解为用户终端,也即终端设备。该终端设备也可以称为用户装置(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、车载终端、具有终端功能的RSU等。本申请的终端设备还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元,车辆通过内置的所述车载模块、车载模组、车载部件、车载芯片或者车载单元可以实施本申请提供的方法。
SaaS服务器可以部署在第三方。SaaS服务器与多个租户之间可以通过网络,如运营商网络,进行通信。SaaS服务器可以是单个服务器,或者也可以是服务器集群,对此不做限定。
下面将结合方法,对上述多个租户与SaaS服务器之间的交互进行详细说明。
请参阅图2,本申请实施例提供了一种用于多租户架构中大数据实时汇集存储方法及装置。该方法可以适用于SaaS服务器与多个租户之间的交互。该方法的流程包括:
S201,SaaS服务器接收来自第一租户的第一业务数据。
第一业务数据可以包括:第一租户的标识,以及第一租户的业务数据。其中,第一租户的标识可以用于唯一的标识第一租户,可以是SaaS服务器事先为第一租户分配的身份标识,如账号密码信息。第一租户的业务数据可以用于表征第一租户的业务的服务情况,如业务的进程、状态等数据。
SaaS服务器可以通过QoS流,如第一QoS流,接收第一租户的第一业务数据。也即,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流。
S202,SaaS服务器接收来自第二租户的第二业务数据。
第二业务数据可以包括:第二租户的标识,以及第二租户的业务数据。其中,第二租户的标识可以用于唯一的标识第二租户,可以是SaaS服务器事先为第二租户分配的身份标识,如账号密码信息。第二租户的业务数据可以用于表征第二租户的业务的服务情况,如业务的进程、状态等数据。
SaaS服务器可以通过QoS流,如第一QoS流或第二QoS流,接收第二租户的第二业务数据。也即,第一QoS流或第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流。
S203,SaaS服务器接收来自第三租户的第三业务数据。
第三业务数据可以包括:第三租户的标识,以及第三租户的业务数据。其中,第三租户的标识可以用于唯一的标识第三租户,可以是SaaS服务器事先为第三租户分配的身份标识,如账号密码信息。第三租户的业务数据可以用于表征第三租户的业务的服务情况,如业务的进程、状态等数据。
SaaS服务器可以通过QoS流,如第四QoS流,接收第三租户的第三业务数据。也即,第四QoS流是SaaS服务器与第三租户之间通过网络建立的QoS流。
S204,在第一租户与第二租户存在关联的情况下,SaaS服务器将第一业务数据和第二业务数据构建到第一数据结构实体中,以及,在第三租户与第一租户或第二租户不存在关联的情况下,SaaS服务器将第三业务数据构建到第二数据结构实体中。
其中,第一租户与第二租户存在关联是指第一租户与第二租户是相关的用户,例如,同一个群组内的用户。这种情况下,第一租户与第二租户可以共享同一业务,或者也可以各自独享业务,不做限定。
在第一租户与第二租户是共享同一业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中的不同层级的信元。也就是说,在业务相同的情况下,需要通过不同的信元层级来区分各租户的数据,使其更方便运维。其中,第一租户与第二租户是共享同一业务的租户可以为:通过第一业务数据与第二业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
例如,第一租户优先级低于第二租户的优先级。第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
也就是说,在第一租户优先级高于第二租户的优先级的情况下,第一实体头部和第一实体承载的信元层级与第二实体头部和第二实体承载的信元层级不同的是指:第二实体头部和第二实体承载可以作为第一实体承载的部分内容而被包含在第一实体承载中。例如,第一数据结构实体结构可以如下表1所示:
表1
如表1所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表1中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,获取到第二租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,遍历第一实体承载中剩下的部分,以获取到第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。
或者,在第一租户与第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中同一层级的信元。也就是说,由于业务已经不同,因此不需要再通过信元层级来区分各租户的数据,从而可以简化信元结构,使其更方便运维。其中,第一租户与第二租户是共享同一业务的租户可以为:通过第一业务数据承载在第一QoS流中,以及第二业务数据承载在第二QoS流表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
例如,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。例如,第一数据结构实体结构可以如下表2所示:
表2
例如,第一租户优先级低于第二租户的优先级,第二租户优先级低于第四租户的优先级。第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载按从前往后的遍历顺序依次包括第四实体头部、第四实体承载,以及第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
也就是说,在第一租户优先级低于第二租户的优先级,在第二租户优先级低于第四租户的优先级的情况下的情况下,第一实体头部和第一实体承载的信元层级与第二实体头部和第二实体承载的信元层级不同的是指:第二实体头部和第二实体承载可以作为第一实体承载的部分内容而被包含在第一实体承载中,第二实体头部和第二实体承载的信元层级与第三实体头部和第三实体承载的信元层级不同的是指:第三实体头部和第三实体承载可以作为第二实体承载的部分内容而被包含在第二实体承载中。例如,第一数据结构实体结构可以如下表3所示:
表3
如表3所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表3中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,以获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,依次获取到第四租户的业务数据、第二租户的业务数据,以及第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。
或者,在第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据位于第一数据结构实体中的不同层级的信元,第四业务数据与第一业务数据或第二业务数据位于第一数据结构实体中的同一层级的信元。其中,第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户为:通过第一业务数据和第二业务数据共同承载在第一QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
例如,第一租户优先级高于第二租户的优先级。第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。例如,第一数据结构实体结构可以如下表4所示:
表4
如表4所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表4中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第一实体承载,获取到第一租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第二实体承载,获取到第二租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第三实体承载,获取到第四租户的业务数据。
可以理解,表4的封装方式是按照第一租户的优先级高于第二租户的优先级,第二租户的优先级高于第四租户的优先级,反之,如果第四租户的优先级高于第二租户的优先级,第二租户的优先级高于第一租户的优先级,则表4中第一租户与第四租户的顺序应当调换。
或者,在第一租户、第二租户以及第四租户是不同业务的租户的情况下,第一业务数据、第二业务数据以及第四业务数据位于第一数据结构实体中的同一层级的信元。其中,第一租户、第二租户以及第二租户是不同业务的租户为:通过第一业务数据承载在第一QoS流中、第二业务数据承载在第二QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。也即,SaaS服务器通过已建立的各个QoS流,便可以区分哪些是共享同一业务的租户,哪些是不同业务的租户,无需引入额外的信元来进行区分,从而可以降低开销。
例如,第二租户优先级高于第四租户的优先级。第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。例如,第一数据结构实体结构可以如下表5所示:
表5
如表5所示,在获取数据时,SaaS服务器可以按照从前往后的遍历顺序,也即表5中从左往右的顺序,先获取到第一实体头部中第一租户的标识,从而确定第一实体承载中包含的是第一租户的业务数据。SaaS服务器按照从前往后的遍历顺序,遍历第一实体承载,以获取到第二实体头部中第二租户的标识,从而确定第二实体承载中包含的是第二租户的业务数据。之后,SaaS服务器继续按照从前往后的遍历顺序,依次获取到第二租户的业务数据和第一租户的业务数据。也就是说,由于SaaS服务器通常是先遍历低层级的信元,因此将高优先级的租户的业务数据承载到低层级的信元中,使得SaaS服务器可以先获取到优先级高的租户的业务数据。最后,SaaS服务器继续按照从前往后的遍历顺序,获取到第三实体头部中第四租户的标识,从而确定第三实体承载中包含的是第四租户的业务数据。SaaS服务器继续按照从前往后的遍历顺序,遍历第三实体承载,获取到第四租户的业务数据。
请参阅图3,本实施例中还提供了一种用于多租户架构中大数据实时汇集存储的装置300,该用于多租户架构中大数据实时汇集存储的装置包括:收发模块301和处理模块302。
收发模块301,用于SaaS服务器接收来自第一租户的第一业务数据;收发模块301,还用于SaaS服务器接收来自第二租户的第二业务数据;收发模块301,还用于SaaS服务器接收来自第三租户的第三业务数据;处理模块302,用于在第一租户与第二租户存在关联的情况下,SaaS服务器将第一业务数据和第二业务数据构建到第一数据结构实体中,以及,在第三租户与第一租户或第二租户不存在关联的情况下,SaaS服务器将第三业务数据构建到第二数据结构实体中,其中,相同的数据结构实体中的数据彼此透明,不同的数据结构实体中的数据彼此隔离;处理模块302还用于SaaS服务器将第一数据结构实体和第二数据结构实体存储到第一数据库中。
一种可能的设计方案中,在第一租户与第二租户是共享同一业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中的不同层级的信元。
可选地,第一租户优先级低于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据与第二业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流。
一种可能的设计方案中,在第一租户与第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据是第一数据结构实体中同一层级的信元。
可选地,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据。
进一步的,第一租户与第二租户是共享同一业务的租户为:通过第一业务数据承载在第一QoS流中,以及第二业务数据承载在第二QoS流表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流。
一种可能的设计方案中,收发模块301,还用于SaaS服务器接收来自第四租户的第四业务数据;处理模块302,还用于在第四租户与第一租户和第二租户存在关联的情况下,SaaS服务器将第四业务数据构建到第一数据结构实体中。
可选地,在第四租户、第一租户和第一租户是共享同一业务的租户的情况下,第一业务数据、第二业务数据和第四业务数据是第一数据结构实体中的不同层级的信元。
进一步的,第一租户优先级低于第二租户的优先级,第二租户优先级低于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载按从前往后的遍历顺序依次包括第四实体头部、第四实体承载,以及第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第四租户、第一租户和第二租户是共享同一业务的租户为:通过第一业务数据、第二业务数据以及第四业务数据共同承载在第一QoS流中表征,第一QoS流是SaaS服务器与第一租户、第二租户以及第四租户之间通过网络建立的QoS流。
可选地,在第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户的情况下,第一业务数据与第二业务数据位于第一数据结构实体中的不同层级的信元,第四业务数据与第一业务数据或第二业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第一租户优先级高于第二租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载按从前往后的遍历顺序依次包括第二实体头部、第二实体承载以及第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第一租户和第二租户是共享同一业务的租户,第四租户与第一租户或第二租户是不同业务的租户为:通过第一业务数据和第二业务数据共同承载在第一QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户和第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。
可选地,在第一租户、第二租户以及第四租户是不同业务的租户的情况下,第一业务数据、第二业务数据以及第四业务数据位于第一数据结构实体中的同一层级的信元。
进一步的,第二租户优先级高于第四租户的优先级,第一业务数据包括第一租户的标识以及第一租户的业务数据,第二业务数据包括第二租户的标识以及第二租户的业务数据,第四业务数据包括第四租户的标识以及第四租户的业务数据,第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部、第二实体承载、第四实体头部,以及第四实体承载,第一实体头部包括第一租户的标识,第一实体承载包括第一租户的业务数据,第二实体头部包括第二租户的标识,第二实体承载包括第二租户的业务数据,第四实体头部包括第四租户的标识,第四实体承载包括第四租户的业务数据。
进一步的,第一租户、第二租户以及第四租户是不同业务的租户为:通过第一业务数据承载在第一QoS流中、第二业务数据承载在第二QoS流中,以及第四业务数据承载在第四QoS流中表征,第一QoS流是SaaS服务器与第一租户之间通过网络建立的QoS流,第二QoS流是SaaS服务器与第二租户之间通过网络建立的QoS流,第四QoS流是SaaS服务器与第四租户之间通过网络建立的QoS流。
下面结合图4对用于多租户架构中大数据实时汇集存储装置400的各个构成部件进行具体的介绍:
其中,处理器1401是用于多租户架构中大数据实时汇集存储装置400的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1401是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specificintegrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
可选地,处理器1401可以通过运行或执行存储在存储器402内的软件程序,以及调用存储在存储器402内的数据,执行用于多租户架构中大数据实时汇集存储装置400的各种功能,如上述图2所示的方法中的功能。
在具体的实现中,作为一种实施例,处理器1401可以包括一个或多个CPU,例如图4中所示出的CPU0和CPU1。
在具体实现中,作为一种实施例,用于多租户架构中大数据实时汇集存储装置400也可以包括多个处理器,例如图4中所示的处理器1401和处理器2404。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,存储器402用于存储执行本申请方案的软件程序,并由处理器1401来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或
可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器402可以和处理器1401集成在一起,也可以独立存在,并用于多租户架构中大数据实时汇集存储装置400
的接口电路(图4中未示出)与处理器1401耦合,本申请实施例对此不作具体限定。
收发器403,用于与其他装置之间的通信。例如,基于多波束的定位装置为终端,收发器403可以用于与网络设备通信,或者与另一个终端通信。
可选地,收发器403可以包括接收器和发送器(图4中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
可选地,收发器403可以和处理器1401集成在一起,也可以独立存在,并通过用于多租户架构中大数据实时汇集存储装置400的接口电路(图4中未示出)与处理器1401耦合,本申请实施例对此不作具体限定。
需要说明的是,图4中示出的用于多租户架构中大数据实时汇集存储装置400的结构并不构成对该装置的限定,实际的用于多租户架构中大数据实时汇集存储装置400可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,基于用于多租户架构中大数据实时汇集存储装置400的技术效果可以参考上述方法实施例的方法的技术效果,此处不再赘述。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行计算机指令或计算机程序时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a, b, c, a-b, a-c, b-c, 或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征字段可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种用于多租户架构中大数据实时汇集存储的方法,其特征在于,所述方法包括:
SaaS服务器接收来自第一租户的第一业务数据;
所述SaaS服务器接收来自第二租户的第二业务数据;
所述SaaS服务器接收来自第三租户的第三业务数据;
在所述第一租户与所述第二租户存在关联的情况下,所述SaaS服务器将所述第一业务数据和所述第二业务数据构建到第一数据结构实体中,以及,在所述第三租户与所述第一租户或所述第二租户不存在关联的情况下,所述SaaS服务器将所述第三业务数据构建到第二数据结构实体中,其中,相同的数据结构实体中的数据彼此透明,不同的数据结构实体中的数据彼此隔离;
所述SaaS服务器将所述第一数据结构实体和所述第二数据结构实体存储到第一数据库中。
2.根据权利要求1所述的方法,其特征在于,在所述第一租户与所述第二租户是共享同一业务的租户的情况下,所述第一业务数据与所述第二业务数据是所述第一数据结构实体中的不同层级的信元。
3.根据权利要求2所述的方法,其特征在于,所述第一租户优先级低于所述第二租户的优先级,所述第一业务数据包括所述第一租户的标识以及所述第一租户的业务数据,所述第二业务数据包括所述第二租户的标识以及所述第二租户的业务数据,所述第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,所述第一实体头部包括第一租户的标识,所述第一实体承载按从前往后的遍历顺序依次包括所述第二实体头部、所述第二实体承载以及所述第一租户的业务数据,所述第二实体头部包括所述第二租户的标识,所述第二实体承载包括所述第二租户的业务数据。
4.根据权利要求3所述的方法,其特征在于,所述第一租户与所述第二租户是共享同一业务的租户为:通过所述第一业务数据与所述第二业务数据共同承载在第一QoS流中表征,所述第一QoS流是所述SaaS服务器与所述第一租户和所述第二租户之间通过网络建立的QoS流。
5.根据权利要求1所述的方法,其特征在于,在所述第一租户与所述第二租户是不同业务的租户的情况下,所述第一业务数据与所述第二业务数据是所述第一数据结构实体中同一层级的信元。
6.根据权利要求5所述的方法,其特征在于,所述第一业务数据包括所述第一租户的标识以及所述第一租户的业务数据,所述第二业务数据包括所述第二租户的标识以及所述第二租户的业务数据,所述第一数据结构实体包括第一实体头部、第一实体承载、第二实体头部以及第二实体承载,所述第一实体头部包括第一租户的标识,所述第一实体承载包括所述第一租户的业务数据,所述第二实体头部包括第二租户的标识,所述第二实体承载包括所述第二租户的业务数据。
7.根据权利要求5所述的方法,其特征在于,所述第一租户与所述第二租户是共享同一业务的租户为:通过所述第一业务数据承载在第一QoS流中,以及所述第二业务数据承载在第二QoS流表征,所述第一QoS流是所述SaaS服务器与所述第一租户之间通过网络建立的QoS流,所述第二QoS流是所述SaaS服务器与所述第二租户之间通过网络建立的QoS流。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述SaaS服务器接收来自第四租户的第四业务数据;
在所述第四租户与所述第一租户和所述第二租户存在关联的情况下,所述SaaS服务器将所述第四业务数据构建到所述第一数据结构实体中。
9.根据权利要求8所述的方法,其特征在于,在所述第四租户、所述第二租户和所述第一租户是共享同一业务的租户的情况下,所述第一业务数据、所述第二业务数据和所述第四业务数据是所述第一数据结构实体中的不同层级的信元。
10.一种用于多租户架构中大数据实时汇集存储的装置,其特征在于,所述装置包括:
收发模块,用于SaaS服务器接收来自第一租户的第一业务数据;
所述收发模块,还用于所述SaaS服务器接收来自第二租户的第二业务数据;
所述收发模块,还用于所述SaaS服务器接收来自第三租户的第三业务数据;
处理模块,用于在所述第一租户与所述第二租户存在关联的情况下,所述SaaS服务器将所述第一业务数据和所述第二业务数据构建到第一数据结构实体中,以及,在所述第三租户与所述第一租户或所述第二租户不存在关联的情况下,所述SaaS服务器将所述第三业务数据构建到第二数据结构实体中,其中,相同的数据结构实体中的数据彼此透明,不同的数据结构实体中的数据彼此隔离;
所述处理模块,还用于所述SaaS服务器将所述第一数据结构实体和所述第二数据结构实体存储到第一数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310074310.7A CN115866062B (zh) | 2023-02-07 | 2023-02-07 | 用于多租户架构中大数据实时汇集存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310074310.7A CN115866062B (zh) | 2023-02-07 | 2023-02-07 | 用于多租户架构中大数据实时汇集存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115866062A CN115866062A (zh) | 2023-03-28 |
CN115866062B true CN115866062B (zh) | 2023-06-02 |
Family
ID=85657668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310074310.7A Active CN115866062B (zh) | 2023-02-07 | 2023-02-07 | 用于多租户架构中大数据实时汇集存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866062B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728342B1 (en) * | 2016-06-30 | 2020-07-28 | EMP IP Holding Company LLC | Plug and play multi tenancy support for cloud applications |
CN112860451A (zh) * | 2021-01-21 | 2021-05-28 | 中国建设银行股份有限公司 | 一种基于SaaS的多租户数据处理方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460176B2 (en) * | 2010-12-29 | 2016-10-04 | Sap Se | In-memory database for multi-tenancy |
CN104424245B (zh) * | 2013-08-27 | 2017-11-24 | 国际商业机器公司 | 一种管理数据表的共享关系的方法和装置 |
US10628388B2 (en) * | 2015-04-01 | 2020-04-21 | International Business Machines Corporation | Supporting multi-tenant applications on a shared database using pre-defined attributes |
US10719555B2 (en) * | 2017-02-07 | 2020-07-21 | Salesforce.Com, Inc. | System and method in a database system for sharing a data item with an entity in another tenant domain |
US10740112B2 (en) * | 2017-09-30 | 2020-08-11 | Oracle International Corporation | Leveraging microservice containers to provide tenant isolation in a multi-tenant API gateway |
CN112596897A (zh) * | 2020-12-15 | 2021-04-02 | 中国建设银行股份有限公司 | 一种用于多租户隔离的方法及系统 |
CN114153858A (zh) * | 2021-11-26 | 2022-03-08 | 泰康保险集团股份有限公司 | 一种MySQL表空间下租户自动更新的方法及装置 |
CN115510496A (zh) * | 2022-10-14 | 2022-12-23 | 深圳市凯迪仕智能科技股份有限公司 | 数据库访问控制方法及相关装置 |
-
2023
- 2023-02-07 CN CN202310074310.7A patent/CN115866062B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728342B1 (en) * | 2016-06-30 | 2020-07-28 | EMP IP Holding Company LLC | Plug and play multi tenancy support for cloud applications |
CN112860451A (zh) * | 2021-01-21 | 2021-05-28 | 中国建设银行股份有限公司 | 一种基于SaaS的多租户数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115866062A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3719668A1 (en) | Block chain-based data processing method and device | |
WO2015081808A1 (en) | Method and apparatus for data transmission | |
US20140366079A1 (en) | System and method for providing a single global borderless virtual perimeter through distributed points of presence | |
US20240064194A1 (en) | Enhanced m2m content management based on interest | |
WO2018233680A1 (en) | SYSTEMS AND METHODS FOR INTERROGATION OF DATABASES | |
CN111614761B (zh) | 区块链消息传输方法、装置、计算机以及可读存储介质 | |
CN105897663A (zh) | 一种确定访问权限的方法、装置及设备 | |
CN102984085A (zh) | 映射方法及装置 | |
CN112566154A (zh) | 用于网络服务的标识符分配和/或标识符映射的网络实体和方法 | |
CN105991596A (zh) | 一种访问控制方法和系统 | |
CN111405637A (zh) | 通信方法及装置 | |
CN113556340B (zh) | 一种便携式vpn终端、数据处理方法及存储介质 | |
Hu et al. | Towards a service centric contextualized vehicular cloud | |
CN114727403A (zh) | 一种上行资源块分配方法、接入网设备和用户终端 | |
CN103685411A (zh) | 异构网络中的数据共享方法及装置 | |
CN115866062B (zh) | 用于多租户架构中大数据实时汇集存储方法及装置 | |
CN115915405B (zh) | 针对键合丝设备集群的控制方法及装置 | |
CN111241504A (zh) | 身份验证方法、装置、电子设备及存储介质 | |
CN104239222B (zh) | 一种内存访问方法、设备和系统 | |
CN115857836B (zh) | 基于大数据的信息储存方法及装置 | |
CN116308066B (zh) | 基于物联网的仓储管理方法及装置 | |
CN116501448B (zh) | 一种应用于多虚拟机的容器封装方法及装置 | |
CN116051565B (zh) | 基于结构光3d点云的接触网缺陷目标检测方法及装置 | |
CN114980146B (zh) | 一种基于智能通信箱的波束增强方法、装置及智能通信箱 | |
CN110691320A (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 |