CN114238419B - 基于多租户SaaS应用系统的数据缓存方法及装置 - Google Patents
基于多租户SaaS应用系统的数据缓存方法及装置 Download PDFInfo
- Publication number
- CN114238419B CN114238419B CN202210169422.6A CN202210169422A CN114238419B CN 114238419 B CN114238419 B CN 114238419B CN 202210169422 A CN202210169422 A CN 202210169422A CN 114238419 B CN114238419 B CN 114238419B
- Authority
- CN
- China
- Prior art keywords
- metadata
- access
- cache
- tenant
- cache component
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于多租户SaaS应用系统的数据缓存方法及装置。所述方法包括:基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。本发明基于多租户架构下运行时产生的操作元数据,确定租户元数据的访问频度和缓存组件访问占比,将访问频度和缓存组件访问占比均大于预设阈值的高频访问元数据写入缓存,从而更有效的利用缓存空间,提升缓存的使用效率和元数据访问的性能。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于多租户SaaS应用系统的数据缓存方法及装置。
背景技术
在多租户架构下,软件即服务产品SaaS(Software-as-a-Service)的功能是基于元数据驱动模式实现的。不论是前端UI(User Interface)展示还是业务逻辑,都会大量访问元数据,所以元数据访问的性能对整个SaaS系统的性能至关重要。基于多租户架构下的元数据体系,既要实现元数据分层合并的逻辑,同时要保证元数据的高性能访问。因此,缓存的使用是一种有效提高元数据访问性能的手段。
现有的元数据缓存方法基于访问请求从缓存组件中读取相应的元数据,若缓存组件中存在目标元数据,则将元数据返回,若不存在,则从数据库中读取目标元数据,并将元数据写入缓存组件;其中,对写入缓存组件中的元数据设置失效时间,并通过缓存组件的过期策略自动删除过期的缓存元数据。
然而,上述缓存方法会导致有大量的元数据存储到缓存组件,且有些低频使用的元数据也被存储到缓存组件中,占用了缓存的存储空间,无法有效的利用缓存空间,让高频使用的元数据得以缓存。
发明内容
本发明提供一种基于多租户SaaS应用系统的数据缓存方法及装置,用以解决现有技术无法有效的利用缓存空间的缺陷,实现将高频访问的元数据写入缓存,更加有效的利用缓存空间,提高缓存的使用效率和元数据访问的性能。
本发明提供的一种基于多租户SaaS应用系统的数据缓存方法,包括:
基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;
当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
可选的,所述根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比,包括:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
可选的,所述基于租户的元数据访问请求获取相应的元数据,包括:
基于租户的元数据访问请求,从所述缓存组件或数据库中获取相应的元数据。
可选的,还包括:
在确定所述元数据的访问频度后,将所述访问频度低于预设阈值的元数据从所述缓存组件中删除。
可选的,所述元数据为Tenant级元数据和Common级元数据分层合并后的元数据。
本发明还提供了一种基于多租户SaaS应用系统的数据缓存装置,包括:
第一处理模块,用于基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
第二处理模块,用于根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;
第三处理模块,用于当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
可选的,所述第二处理模块,具体用于:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的基于多租户SaaS应用系统的数据缓存方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的基于多租户SaaS应用系统的数据缓存方法的步骤。
本发明提供的基于多租户SaaS应用系统的数据缓存方法及装置,首先基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;然后根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。由此可见,本发明基于多租户架构下运行时产生的操作元数据,确定租户元数据的访问频度和缓存组件访问占比,将访问频度和缓存组件访问占比均大于预设阈值的高频访问元数据写入缓存,从而更有效的利用缓存空间,提升缓存的使用效率和元数据访问的性能。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于多租户SaaS应用系统的数据缓存方法的流程示意图之一;
图2是本发明提供的现有多租户SaaS应用系统的数据缓存方法的流程示意图;
图3是本发明提供的基于多租户SaaS应用系统的数据缓存方法的流程示意图之二;
图4是本发明提供的基于多租户SaaS应用系统的数据缓存装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供的基于多租户SaaS应用系统的数据缓存方法,包括:
步骤101:基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
在本步骤中,首先基于租户的元数据访问请求在缓存组件中查询相应的元数据,若在缓存组件中能够查询到相应的元数据,则在返回该元数据时,记录该元数据在被访问过程中产生的操作元数据。其中,操作元数据包括了元数据的访问记录,用于描述数据处理和访问的细节。例如,在通话过程中,所产生的和通话内容本身无关的元数据:电话呼叫时间、电话持续时间、呼叫方位置、被叫方位置等,这些信息就属于操作元数据。其中,操作元数据的元数据访问记录包括租户代号、元模型、元数据、元数据的访问时间和元数据的访问来源中的一种或多种,如下表1所示:
表1
步骤102:根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;
步骤103:当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
在步骤102和步骤103中,需要说明的是,由于操作元数据包括了租户在访问元数据时所产生的元数据访问记录,所以基于操作元数据来判断元数据是否被访问以及访问的相关细节内容相比于其他类型元数据更加准确,其他类型元数据包括业务元数据和技术元数据;其中,业务元数据主要关注数据的内容和状况,包括与数据治理有关的细节。技术元数据提供有关数据的技术细节、存储数据的系统以及在系统内和系统间移动数据的过程的信息。可以理解的是,当产生操作元数据时,则其对应的元数据一定会被租户访问。因此,在本步骤中,可以统计一段时间内各个元数据在被访问过程中所产生的元数据访问记录,根据操作元数据的元数据访问记录,确定元数据在预设周期内的访问总次数,以及该元数据为从缓存组件中获取的次数,进而根据元数据在预设周期内的访问总次数,确定元数据的访问频度,以及根据该元数据为从缓存组件中获取的次数和元数据在预设周期内的访问总次数,确定缓存组件访问占比,当元数据的访问频度大于第一预设阈值且缓存组件访问占比大于第二预设阈值时,将元数据写入缓存组件。可以理解的是,元数据访问频度可以体现当前元数据是否为租户高频访问的元数据,缓存组件访问占比可以体现当前元数据的来源信息。由于缓存组件具备元数据的淘汰机制,当元数据被高频访问时,其既可能是从缓存组件中获取的,也可能是从数据库中获取的。因此,为了更加有效的利用缓存组件的缓存空间,本发明既考虑了元数据的访问频度,也考虑了元数据的来源,只有当元数据的访问频度和缓存组件占比均大于预设阈值时,才将其确定为高频访问的元数据,并写入缓存。由此可见,本发明一方面可以通过操作元数据精准计算得到元数据访问频度,另一方面还可以通过操作元数据继续判断访问频度较高的元数据是否适合写入缓存组件,而现有技术仅仅实现了记录元数据的访问次数,将访问次数较高的元数据写入缓存组件,并没有考虑在将访问次数较高的元数据写入缓存组件后,该元数据是否会被缓存组件的淘汰机制删除,缓存组件的利用率仍有待提高。本发明提供的元数据缓存方法,相比于现有的缓存处理机制,可以将适合写入缓存组件的高频访问元数据写入缓存,从而更有效的使用缓存空间。这样一来,在多租户架构下,即使不同租户使用的产品功能范围不同,或同一个产品功能下不同租户使用的频度不同,也能基于租户的真实运行情况,实现有效的元数据缓存,提升缓存的使用效率,提升元数据访问的性能。本发明提供了一种全新的多租户架构下的元数据缓存处理机制,实用性强,具有较高的应用价值。
本发明提供的基于多租户SaaS应用系统的数据缓存方法,首先基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;然后根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。由此可见,本发明基于多租户架构下运行时产生的操作元数据,确定租户元数据的访问频度和缓存组件访问占比,将访问频度和缓存组件访问占比均大于预设阈值的高频访问元数据写入缓存,从而更有效的利用缓存空间,提升缓存的使用效率和元数据访问的性能。
基于上述实施例的内容,在本实施例中,所述根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比,包括:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
基于上述实施例的内容,在本实施例中,基于租户的元数据访问请求获取相应的元数据,包括:
基于租户的元数据访问请求,从所述缓存组件或数据库中获取相应的元数据。
基于上述实施例的内容,在本实施例中,还包括:
在确定所述元数据的访问频度后,将所述访问频度低于预设阈值的元数据从所述缓存组件中删除。
在本实施例中,需要说明的是,当确定各个元数据对应的访问频度后,可以将元数据访问频度较低的元数据从缓存组件中删除,无需依靠缓存组件提供的缓存过期策略定时删除低频使用的元数据,在节约缓存组件的存储空间的同时,提供缓存组件的利用率。
基于上述实施例的内容,在本实施例中,所述元数据为Tenant级元数据和Common级元数据分层合并后的元数据。
在本实施例中,需要说明的是,在多租户架构下,元数据分为两层:所有租户共享的元数据,简称为Common级元数据;各租户独有的元数据,简称为Tenant级元数据。其中,Common级元数据面向全体租户共享,Tenant级元数据为各租户私有;Common级元数据变更影响全体租户,Tenant级元数据变更仅影响变更的租户;运行时的元数据为Tenant级元数据和Common级元数据分层合并后的元数据;由于Tenant级元数据会经常变动,所以运行时的元数据会经常变化。在进行元数据的缓存处理时,需要缓存的是运行时合并后的元数据。这样在元数据访问时,就可直接从缓存中读取元数据,从而不再需要读取数据库以及进行元数据的分层合并等影响查询性能的逻辑。
下面通过具体实施例进行说明:
实施例一:
在本实施例中,需要说明的是,如图2所示,现有多租户SaaS应用系统的数据缓存方法处理机制为:基于元数据读取请求在缓存中获取元数据,如果缓存不存在目标元数据,则从数据库读取,并写入缓存;同时,写入缓存中的数据,会设置失效时间,缓存中间件通过缓存过期策略自动删除过期的缓存内容。然而,在多租户架构下,不同租户使用的产品功能范围不同,且对同一个产品功能,不同租户使用的频度不同;由于这些产品功能是基于元数据驱动模式实现的,不同租户的同一功能的元数据配置不同,所以在使用这些产品功能时,会大量的访问元数据,且不同租户访问读取到的元数据不同。现有的多租户SaaS应用系统的数据缓存方法,会导致有大量的元数据存储到缓存中间件,且有些低频使用的元数据也被存储到缓存中,从而占用了缓存的存储空间,只能依靠缓存中间件提供的缓存过期策略自动删除这些低频使用的元数据。为了更有效的利用缓存空间,需要让最高频使用的元数据得以缓存,但由于租户对产品功能的使用范围以及使用频度不同,无法在设计期确定哪些元数据会被高频使用,只有在运行时才能确定哪些会被某个租户高频使用。为此,本发明提供了一种基于多租户SaaS应用系统的数据缓存方法,可以在SaaS应用系统运行时确定租户高频使用的元数据,并将高频使用的元数据进行缓存。具体的,如图3所示,App发起元数据查询请求,系统返回元数据时,同时将元数据在被访问过程中产生的操作元数据,发送消息队列MQ(Message Queue)异步生成元数据访问记录;将单次的元数据访问记录汇总计算生成元数据访问频度和缓存组件访问占比,并将元数据访问频度和缓存组件访问占比均大于预设阈值的元数据写入缓存组件。其中,若基于元数据查询请求无法在缓存中获取相应的元数据,则访问数据库,从数据库查询后,参照元数据访问频度,如为高频访问,则写入缓存。本发明在进行元数据访问操作时,通过操作元数据的支持,可以让更需要被缓存的元数据被有效缓存,从而节省缓存空间,提升缓存效率。
如图4所示,本发明还提供一种基于多租户SaaS应用系统的数据缓存装置,包括:
第一处理模块1,用于基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
第二处理模块2,用于根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比。
第三处理模块3,用于当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
在本实施例中,首先基于租户的元数据访问请求在缓存组件中查询相应的元数据,若在缓存组件中能够查询到相应的元数据,则在返回该元数据时,记录该元数据在被访问过程中产生的操作元数据。其中,操作元数据包括了元数据的访问记录,用于描述数据处理和访问的细节。例如,在通话过程中,所产生的和通话内容本身无关的元数据:电话呼叫时间、电话持续时间、呼叫方位置、被叫方位置等,这些信息就属于操作元数据。其中,操作元数据的元数据访问记录包括租户代号、元模型、元数据、元数据的访问时间和元数据的访问来源中的一种或多种。
在本实施例中,需要说明的是,由于操作元数据包括了租户在访问元数据时所产生的元数据访问记录,所以基于操作元数据来判断元数据是否被访问以及访问的相关细节内容相比于其他类型元数据更加准确,其他类型元数据包括业务元数据和技术元数据;其中,业务元数据主要关注数据的内容和状况,包括与数据治理有关的细节。技术元数据提供有关数据的技术细节、存储数据的系统以及在系统内和系统间移动数据的过程的信息。可以理解的是,当产生操作元数据时,则其对应的元数据一定会被租户访问。因此,在本步骤中,可以统计一段时间内各个元数据在被访问过程中所产生的元数据访问记录,根据操作元数据的元数据访问记录,确定元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数,进而根据元数据在预设周期内的访问总次数,确定元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定缓存组件访问占比,当元数据的访问频度大于第一预设阈值且缓存组件访问占比大于第二预设阈值时,将元数据写入缓存组件。可以理解的是,元数据访问频度可以体现当前元数据是否为租户高频访问的元数据,缓存组件访问占比可以体现当前元数据的来源信息。由于缓存组件具备元数据的淘汰机制,当元数据被高频访问时,其既可能是从缓存组件中获取的,也可能是从数据库中获取的。因此,为了更加有效的利用缓存组件的缓存空间,本发明既考虑了元数据的访问频度,也考虑了元数据的来源,只有当元数据的访问频度和缓存组件访问占比均大于预设阈值时,才将其确定为高频访问的元数据,并写入缓存。例如,统计2022年02月07日至2022年02月11日的操作元数据的元数据访问记录,租户代号:123,元模型:entity,元数据:account,元数据总访问次数:1200万次,缓存组件访问次数:1100万次,则访问频度为:每天240万次,缓存组件访问占比为:92%,第一预设阈值为:每天150万次,第二预设阈值为:70%,则可以判定该元数据为高频访问元数据,并可以写入缓存组件;又例如,统计2022年02月07日至2022年02月11日的操作元数据的元数据访问记录,租户代号:123,元模型:entity,元数据:account,元数据总访问次数:1200万次,缓存组件访问次数:300万次,则访问频度为:每天240万次,缓存组件访问占比为:25%,第一预设阈值为:每天150万次,第二预设阈值为:70%,则可以判定该元数据为非高频访问元数据,不写入缓存组件。由此可见,本发明一方面可以通过操作元数据精准计算得到元数据访问频度,另一方面还可以通过操作元数据继续判断访问频度较高的元数据是否适合写入缓存组件,而现有技术仅仅实现了记录元数据的访问次数,将访问次数较高的元数据写入缓存组件,并没有考虑在将访问次数较高的元数据写入缓存组件后,该元数据是否会被缓存组件的淘汰机制删除,缓存组件的利用率仍有待提高。本发明提供的元数据缓存方法,相比于现有的缓存处理机制,可以将适合写入缓存组件的高频访问元数据写入缓存,从而更有效的使用缓存空间。这样一来,在多租户架构下,即使不同租户使用的产品功能范围不同,或同一个产品功能下不同租户使用的频度不同,也能基于租户的真实运行情况,实现有效的元数据缓存,提升缓存的使用效率,提升元数据访问的性能。本发明提供了一种全新的多租户架构下的元数据缓存处理机制,实用性强,具有较高的应用价值。
本发明提供的基于多租户SaaS应用系统的数据缓存装置,首先基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;然后根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。由此可见,本发明基于多租户架构下运行时产生的操作元数据,确定租户元数据的访问频度和缓存组件访问占比,将访问频度和缓存组件访问占比均大于预设阈值的高频访问元数据写入缓存,从而更有效的利用缓存空间,提升缓存的使用效率和元数据访问的性能。
基于上述实施例的内容,在本实施例中,所述第二处理模块,具体用于:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
本实施例所述的基于多租户SaaS应用系统的数据缓存装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行基于多租户SaaS应用系统的数据缓存方法,该方法包括:基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于多租户SaaS应用系统的数据缓存方法,该方法包括:基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于多租户SaaS应用系统的数据缓存方法,该方法包括:基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于多租户SaaS应用系统的数据缓存方法,其特征在于,包括:
基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;
当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件;
所述根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比,包括:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
2.根据权利要求1所述的基于多租户SaaS应用系统的数据缓存方法,其特征在于,所述基于租户的元数据访问请求获取相应的元数据,包括:
基于租户的元数据访问请求,从所述缓存组件或数据库中获取相应的元数据。
3.根据权利要求1所述的基于多租户SaaS应用系统的数据缓存方法,其特征在于,还包括:
在确定所述元数据的访问频度后,将所述访问频度低于预设阈值的元数据从所述缓存组件中删除。
4.根据权利要求1所述的基于多租户SaaS应用系统的数据缓存方法,其特征在于,所述元数据为Tenant级元数据和Common级元数据分层合并后的元数据。
5.根据权利要求1所述的基于多租户SaaS应用系统的数据缓存方法,其特征在于,所述操作元数据的元数据访问记录包括租户代号、元模型、元数据、元数据的访问时间和元数据的访问来源中的一种或多种。
6.一种基于多租户SaaS应用系统的数据缓存装置,其特征在于,包括:
第一处理模块,用于基于租户的元数据访问请求获取相应的元数据,并记录所述元数据在被访问过程中产生的操作元数据;
第二处理模块,用于根据所述操作元数据,确定所述元数据的访问频度和缓存组件访问占比;
第三处理模块,用于当所述元数据的访问频度大于第一预设阈值且所述缓存组件访问占比大于第二预设阈值时,将所述元数据写入缓存组件;
所述第二处理模块,具体用于:
根据所述操作元数据的元数据访问记录,确定所述元数据在预设周期内的访问总次数,以及来源为缓存组件的元数据访问次数;
根据所述元数据在预设周期内的访问总次数,确定所述元数据的访问频度,以及根据来源为缓存组件的元数据访问次数,确定所述缓存组件访问占比。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的基于多租户SaaS应用系统的数据缓存方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于多租户SaaS应用系统的数据缓存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210169422.6A CN114238419B (zh) | 2022-02-24 | 2022-02-24 | 基于多租户SaaS应用系统的数据缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210169422.6A CN114238419B (zh) | 2022-02-24 | 2022-02-24 | 基于多租户SaaS应用系统的数据缓存方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114238419A CN114238419A (zh) | 2022-03-25 |
CN114238419B true CN114238419B (zh) | 2022-06-10 |
Family
ID=80747941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210169422.6A Active CN114238419B (zh) | 2022-02-24 | 2022-02-24 | 基于多租户SaaS应用系统的数据缓存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238419B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN104050201A (zh) * | 2013-03-15 | 2014-09-17 | 伊姆西公司 | 用于多租户分布式环境中的数据管理的方法和设备 |
CN104142953A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 元数据动态管理方法及系统 |
-
2022
- 2022-02-24 CN CN202210169422.6A patent/CN114238419B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN104050201A (zh) * | 2013-03-15 | 2014-09-17 | 伊姆西公司 | 用于多租户分布式环境中的数据管理的方法和设备 |
CN104142953A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 元数据动态管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114238419A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN106649145B (zh) | 一种自适应更新缓存策略的方法及系统 | |
GB2518158A (en) | Method and system for data access in a storage infrastructure | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN110837480A (zh) | 缓存数据的处理方法及装置、计算机存储介质、电子设备 | |
CN107943846B (zh) | 数据处理方法、装置及电子设备 | |
CN104657366A (zh) | 海量日志写入数据库的方法、装置和日志容灾系统 | |
CN107688626A (zh) | 慢查询日志处理方法、装置及电子设备 | |
CN109344296B (zh) | 实现Redis的HASH键的域生命周期控制方法、系统、服务器及存储介质 | |
CN112434015A (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN110851434A (zh) | 一种数据存储方法、装置及设备 | |
CN111753141B (zh) | 一种数据管理方法及相关设备 | |
CN105808451B (zh) | 一种数据缓存方法以及相关装置 | |
CN109710454A (zh) | 一种云主机快照方法及装置 | |
CN114238419B (zh) | 基于多租户SaaS应用系统的数据缓存方法及装置 | |
CN111008233B (zh) | 一种kv数据库的访问方法、装置及设备 | |
CN117493319A (zh) | 数据去重方法、装置、电子设备及存储介质 | |
CN112286448B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN116820323A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
CN112463741A (zh) | 一种聚合大文件的清理方法及相关设备 | |
CN116126546B (zh) | 一种性能调优的方法、装置、电子设备及介质 | |
US11593355B2 (en) | Method, device and computer program product for processing metadata |
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 |