当前位置: 首页 > 专利查询>微软公司专利>正文

共享可定制多租户数据的存储器中高速缓存制造技术

技术编号:4541872 阅读:237 留言:0更新日期:2012-04-11 18:40
在具有共享可定制数据的多租户数据共享环境中,属性被分配给所请求的数据并且连同该所请求的数据一起存储在高速缓存存储中。对于被指定为系统数据的非定制数据,一个副本被存储在高速缓存存储中以供多个租户使用,从而允许为每一个数据请求/取出操作优化存储器和性能。可将“删除标记”属性分配给高速缓存存储中的不存在的数据以便允许通知作出请求的租户,而无需在每一次接收到对该不存在的数据的请求时访问租户数据存储。

【技术实现步骤摘要】
【国外来华专利技术】共享可定制多租户数据的存储器中髙速缓存北旦冃豕顾客关系管理解决(CRM)解决方案提供了从通过购买和售后的首次接触中创建并维护顾客的清晰景像所需的工具和能力。对于复杂的组织,CRM系统可以提供用于帮助改进销售和巿场营销组织定标新顾客、管理市场营销活动以及激励销售活动的方式的特征和能力。CRM系统可以包括由组织内部或外部的用户单独地或以共享的方式使用的许多组件、硬件和软件。由此,典型的CRM系统主存多个组织("租户")。可以允许每一个租户通过添加/删除/修改实体、属性、关系、表单、视图、代码级可扩展性插件等来定制其CRM系统。为了分隔由不同租户实现的定制,定制可以被分成存在于一个数据库或多个数据库中的单独的表格。不管数据划分,可能期望在运行时共享尽可能多的非定制、但可定制的信息以最小化存储器需求并提高性能。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。各实施例涉及高速缓存共享可定制数据以便优化多租户数据共享环境中的存储器和性能。将指示租户数据的定制状态的属性存储在高速缓存中以使得系统能够在高速缓存所请求的数据的同时将数据从单独的租户数据存储提供给租户,并且在所请求的数据已经被高速缓存的情况下不必访问单独的数据存储。可以为多个租户存储"系统级"或非定制数据的单个副本以便节省每一次取出操作中的存储器和系统资源。通过阅读以下详细描述并査阅相关联的附图,这些和其他特征和优点将是显而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的各方面。附图简述附图说明图1示出了示例CRM系统体系结构;图2示出了用于共享可定制多租户数据高速缓存模型的示例属性表;图3示出了在实现共享可定制多租户数据高速缓存的系统中的租户请求处理的各示例情形;图4是其中可以实现各实施例的示例联网环境; 图5是其中可以实现各实施例的示例计算操作环境的框图; 图6示出了用于共享可定制多租户数据高速缓存的过程的逻辑流程图;以及 图7示出了图6的共享可定制多租户数据高速缓存的过程的一部分的逻辑流程图。详细描述如以上所简要描述的,允许存储器中的被存储在多个表且甚至是多个数据库 中的共享非定制但可定制数据具有跟踪单个表格中的什么数据已经被定制的能力。 在以下详细描述中,参考了构成其一部分并作为说明示出了各具体实施例或示例的 附图。可组合这些方面,可利用其他方面并且可以做出结构上的改变而不背离本发 明的范围。由此,以下详细描述并不旨在限制,本专利技术的范围由所附权利要求及其 等效方案所定义。虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的 一般上下文环境中描述了各实施例,但是本领域的技术人员会认识到各方面也可以 结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、 程序、组件、数据结构和其它类型的结构。而且,如本领域的技术人员理解的,各 实施例可以用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于 微处理器或可编程消费者电子设备、小型机、大型机等等。各实施例还能在分布式 计算环境中实现,其中任务由通过通信网络链接的远程处理设备完成。在分布式计 算环境中,程序模块可以位于本地和远程存储器存储设备中。各实施例可实现为计算机过程(方法)、计算系统、或者制造品,如计算机 程序产品或计算机可读介质。计算机程序产品可以是计算机系统可读并编码用于执 行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品也可以是计 算系统可读并编码用于执行计算机进程的指令的计算机程序的载波上的传播信号。参考图l,使出了 CRM系统100的示例体系结构。CRM系统100可以用CRM体系结构"栈"内的四个物理层来实现。这些层包括用于向用户呈现数据和用户界面的表示层(例如,基于web的表示)以及用于与诸如电子邮件应用程序、时间 安排应用程序、日历制定应用程序等应用程序交互的应用层104。这些层还包括操 作业务或域逻辑的CRM平台116以及用于管理与数据库服务器114的交互的数据 访问层108。可组合这些层中的一个和多个或者每一层都可包括诸如数据管理层和数据存 储层等存在于用于数据访问的单独的进程空间中的单独的子层。目录服务器112 可以提供用于标识产品内的安全主体、角色和组的目录服务。应用服务器116可以 提供诸如上述辅助服务。图2示出了用于共享可定制多租户数据高速缓存模型的示例性属性表200。 CRM系统中的每一种类型的可定制数据(例如,实体、属性或关系)都具有其自 已的特性,并且因此被存储在其自已的表(例如,实体表、属性表或关系表)中。 在多租户CRM系统中,每一个租户可具有其自已的对应于每一种类型的可定制数 据的表格。例如,每一个租户都可具有实体表、属性表和关系表。根据各实施例,CRM系统还可以提供可定制数据("系统"或"非定制"数 据)的初始集合,该初始集合是CRM系统中每一个租户在安装和配置后可从其开 始的集合。因为频繁访问定制数据,所以可以按高效的方式来为每一个组织将该定 制数据高速缓存在存储器中。这些数据中的大多数都可跨许多租户而保持不变。因 此,各实施例提供了用于共享数据同时维护由特定租户定制的数据的专用副本的方 法。在CRM系统中,存储器中高速缓存可应用于 *元数据定制(实体、属性、关系等); *用户界面定制(表单、视图等);*软件开发工具包(SDK)定制(SDK请求/响应等);以及 *代码级定制(可扩展性插件等)根据某些实施例,共享且可定制的多租户数据可以通过跟踪数据行的"定制 级别"来处理。该信息确定行是共享行、来自于顾客的新的行、已经被定制的共享 行、还是已经被删除的共享行。然后然后使用该信息来确定哪些信息可以共享哪些 信息不可共享。图2中的表200示出了该"定制级别"概念。表200包括第一列中的属性标识符221、第二列中的属性名称222、第三列中 的数据长度223。实体标识符224和两个属性,即可为空字段225和自定义字段226在后面各列中。最后一列包括定制级别属性227的列表。"定制级别"O意味着"系 统"(系统级数据),l意味着"自定义"(数据对于特定租户是新的或者是对系 统数据的修改),而2意味着"已删除"。在示例表200中,名称为"收入"的属性已经被删除(原始版本由行231指 示,已更新版本由行232列出),名称为"名称"的属性己经被定制(原始版本由 行233指示,已更新版本由行234列出),而名称为"新字段"的属性已经由租户 创建(如行235中所列出的)。"定制级别"为0的数据是还未被定制的数据并且 由此可跨租户"共享"。当CRM系统需要从高存缓存中取出可定制数据的一部分时,该高速缓存首先 确定该数据部分是否已经从对应于特定租户的数据库中取出。如果该数据先前没有 被取出过,则高速缓存取出该数据部分。高速缓存然后査看所取出的数据部分的"定 制级别"。如果"定制级别"为0,则高速缓存检查以确定该系统数据是否已经在 该高速缓存中并且如果否,则将该系统数据添加到高速缓存。该高速缓存然后插入 "系统标记",其向高速缓存指示如果该租户再本文档来自技高网...

【技术保护点】
一种至少部分地在计算设备中执行的用于处理多租户环境中的可定制数据的方法,所述方法包括: 从租户接收对数据的请求(602); 确定与所请求的数据相关联的条目是否被存储在高速缓存存储中(604); 如果所述条目已被存储并且是删 除标记,则将不存在的数据的通知提供给作出请求的租户(616); 如果所述条目已被存储并且是系统标记,则从所述高速缓存存储中取出所请求的数据并且将所述数据提供给所述作出请求的租户(610,612);以及 如果所述条目已被存储并且是 为所述租户定制的所请求的数据,则将定制的所请求的数据提供给所述作出请求的租户(618)。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:E刘易斯J格雷瓦尔A萨姆廷M维加雅拉加万MJ奥特
申请(专利权)人:微软公司
类型:发明
国别省市:US[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1