用于按需服务环境中的消息队列的基于竞价的资源共享的制作方法

文档序号:8417527阅读:249来源:国知局
用于按需服务环境中的消息队列的基于竞价的资源共享的制作方法
【技术领域】 一个或多个实现总体上涉及数据管理,并且,更具体地,涉及用于促进用于按需服务环 境中的消息队列的基于竞价的资源共享的机构。
【背景技术】 大规模云平台销售商和服务提供商每天接收数百万异步和资源-密集的客户请求,这 些请求导致对服务提供商而言极其棘手的资源分配要求和可扩展性要求。大多数客户失意 于等待他们的请求被履行,因为没有提供任何确保响应这样的请求的实时性的常用技术。 此外,多个租赁意味着多个用户竞争有限的资源池,使得确保以与客户期望一致的方式来 适当地调度资源更加复杂。 在不同类型的消息中公正地分发诸如为应用服务器线程时间的资源交割的分配点已 经成为挑战,特别是在多租户按需系统中。消息指在应用服务器上执行的工作单元。能够 将消息分组成任意数量的类型,诸如粗略地,300个类型,从诸如为刷新仪表盘上的报告的 面向用户的工作到诸如为删除不使用的文件的内部工作的范围。同样地,消息显示了它们 消耗的包括线程时间的资源数量上的宽可变性。这能够导致长运行消息带来的饥饿,其中 长运行消息剥夺了短的消息接收它们的线程时间的公平的份额。当这影响诸如为仪表盘面 向客户工作时,当面对性能降级时客户可能厌烦并且抱怨。 在【背景技术】小节讨论的主题不应该仅仅由于其在【背景技术】小节中的提及而被假定成 现有技术。类似地,在【背景技术】小节中提及或与【背景技术】小节的主题相关联的问题不应该 被假定成已经在现有技术中先前认识到。【背景技术】小节中的主题仅仅代表不同的方法。 在传统数据库系统中,用户在一个逻辑数据库中访问他们的数据资源。这样的传统系 统的用户典型地使用用户自身的系统来从系统中检索数据以及存储数据于系统上。用户系 统可以远程地访问可以依次访问数据库系统的多个服务器系统中的一个服务器系统。从系 统中检索数据可以包括将查询从用户系统发布到数据库系统。数据库系统可以处理对在查 询中接收到的信息的请求并且向用户系统发送与请求相关的信息。准确信息的安全和有效 的检索以及随后将这一信息传递到用户系统已经并且继续是数据库系统的管理员的目标。 不幸的是,传统数据库方法与各种限制相关联。

【发明内容】
按照实施例,提供了用于促进在按需服务环境中根据一个实施例的用于用户消息的线 程资源的基于竞价的公平分配和使用的机构和方法。在一个实施例中并且通过示例的方 式,提供一种方法,包括:在网络上从多个组织接收作业请求和出价,其中每个作业请求和 对应的出价由与多租户数据库系统内具有资源货币价值的组织相关联的用户在网络上经 由计算设备处的用户接口做出;确定与涉及该多个组织的未决作业相关联的资源货币价 值,其中资源货币价值对应于专用于未决作业的资源;以及对所接收的用于非专用并且仍 然可用于购买的资源的出价执行竞价,其中出价包括购买请求以购买所述可用资源。该方 法可以进一步包括基于专用资源和可用资源的竞价来对作业请求排序,以及基于经排序的 作业请求来处理作业请求。 虽然参照实施例描述了本发明,在实施例中,用于促进按需服务环境中的数据管理的 技术实现在具有提供能够支持多个租户的按需数据库服务的前端的应用服务器的系统中, 本发明不限于多租户数据库,也不限于应用服务器上的部署。实施例可以使用其它数据库 架构来实施,如ORACLE? (曱骨文? )、IBM(国际商业机器公司)的DB2?等等,而 不脱离要求的实施例的范围。 以上实施例中的任意实施例可以单独使用或者以任意组合与另一实施例一起使用。本 说明书内包括的发明还可以包括在本简要
【发明内容】
中或摘要中仅仅部分地提及或暗示或 根本没有提及或暗示的实施例。尽管本发明的各种实施例可能已经由现有技术的各种缺陷 所启示,这可能在说明书中的一个或多个地方讨论或暗示,但是,本发明的实施例不一定致 力于这些缺陷中的任何缺陷。换而言之,本发明的不同的实施例可能致力于可能在说明书 中讨论的不同的缺陷。某些实施例可能仅仅部分致力于可能在说明书中讨论的某些缺陷或 仅一个缺陷,并且某些实施例可能不致力于这些缺陷中的任何缺陷。
【附图说明】 在以下附图中,相同的附图标记用于指代相同的要素。尽管以下的图描述了各种示例, 但是,一个或多个实现不限于图中描述的示例。 图1图示了根据一个实施例的采用线程资源管理机构的计算设备; 图2图示了根据一个实施例的线程资源管理机构; 图3图示了根据一个实施例的用于促进用于如由图1的线程资源管理机构提供的消息 队列的线程资源的基于竞价的公平分配的架构; 图4A图示了根据一个实施例的用于促进用于用户消息的线程资源的基于竞价的公平 分配和使用的方法; 图4B-4C图示了根据一个实施例的用于促进用于用户消息的线程资源的基于竞价的 公平分配和使用的事务序列; 图5图示了根据一个实施例的计算机系统; 图6图示了根据一个实施例的其中可以使用按需数据库服务的环境;以及 图7图示了根据一个实施例的图6的环境的要素和这些要素之间的各种可能的互连。
【具体实施方式】 提供了方法和系统以用于促进按需服务环境中根据一个实施例的用于用户消息的线 程资源的基于竞价的公平分配和使用。在一个实施例中并且通过示例的方式,一种方法, 包括:在网络上从多个组织接收作业请求和出价,其中每个作业请求和对应的出价由与多 租户数据库系统内具有资源货币价值的组织相关联的用户在网络上经由计算设备处的用 户接口来做出,确定与涉及该多个组织的未决作业相关联的资源货币价值,其中资源货币 价值对应于专用于未决作业的资源,以及执行针对不是专用的并且仍然可购买的资源的所 接收的出价的竞价,其中出价包括购买请求以购买可用资源。该方法可以进一步包括基于 专用资源和可用资源的竞价来对作业请求排序,以及基于经排序的作业请求来处理作业请 求。 大规模云平台销售商和服务供应商和服务提供商每天接收数百万的异步并且资源密 集的客户请求,这些请求导致对服务提供商而言极其棘手的资源分配要求和可扩展性要 求。此外,多租赁意味着多个用户竞争有限的资源池,使得确保以与客户期望一致的方式 来适当地调度资源更加复杂。实施例提供了具有新颖的调度框架的新颖的机构,该调度框 架用于:1)基于任务的延迟来差异化客户请求,使得低延迟任务在长运行背景任务之后执 行;以及2)基于任务的资源要求和/或客户归属来分离任务,使得一个客户请求的任务不 可以占用整个系统和使其他客户请求的其它任务饥饿。实施例进一步提供了机构以有效利 用资源以即使当竞争高时也确保高的吞吐量,该竞争高诸如为如果任务正等待被调度,任 何可用资源可能不保持空闲。 实施例允许基于竞价的方法以达到多租户环境中的资源的公平和有效的分配。当前, 多租户环境中的大多数资源使用与为每个组织静态定义的限制相结合的测量框架来提供。 作为例子,在短时间帧内超过它们的固定数量的应用程序接口(API)请求的组织能够被 抑制。但是,手动指定这些限制能够是乏味和易于出错的处理。这样的刚性的限制还能够 导致其中资源未充分利用的无效率。替代地,这里公开的技术能够构建围绕Salesforce. com(赛富时公司)的Point of Deployment(部署点)(POD)的分配的基于竞价的经济。POD 可以指为提供商的客户(例如,Salesforce. com的客户)存储和处理数据的主机的集合。 例如,属于提供商的每个物理数据中心可以具有多个POD,其中每个POD能够独立操作并且 组成数据库、一组工作者主机、一组队列主机等,以及服务分派给此POD的客户的请求。接 着,取决于来自组织的竞争请求的数量,这里公开的技术调整反过来确定每个组织接收的 资源量的资源价格。 实施例采用和提供了基于竞价的方法以达到多租户环境中的公平和有效的资源分配。 实施例提供了更丰富的队列语义并且使能有效的资源利用。实施例进一步提供了超过客户 的资源的公平份额的客户的性能分离,并且通过基于客户负荷中的变化而动态地调整资源 分配来确保可用资源不保持空闲,同时通过以分布式方式做出判定来促进到几十万客户的 可扩展性。 如这里所使用的,术语多租户数据库指其中数据库系统的硬件和软件的各种要素可以 由一个或多个客户共享的那些系统。例如,给定应用服务器可以同时处理大量客户的请求, 并且给定数据库表格可以为潜在的更大量的客户存储多行。如这里所使用的,术语查询计 划指用于访问数据库系统中的信息的步骤集。 参照其中将用于促进按需服务环境中的数据的管理的技术实现在具有提供能够支持 多个租户的按需数据库服务的前端的应用服务器的系统中的实施例来描述实施例,实施例 不限于多租户数据库,也不限于应用服务器上的部署。可以使用其它数据库架构来实践实 施例一即ORACLE咒、IBM的DB2?等等,而不脱离要求的实施例的范围。这里公开 的技术包括能够提供竞争组织中的POD资源的基于竞价的公平分配的消息队列中的资源 供应的新颖的框架。方法能够应用于任意资源单元,诸如数据库、计算机、磁盘、网络带宽 等。其还能够扩展到如为调度映射-化简(map-reduce)任务的其它领域。 接下来,将参照示例实施例来描述用于促进采用和提供基于竞价的方法以达到按需服 务环境中的多租户环境中的公平和有效的资源分配的机构的机构和方法。 图1图示了根据一个实施例的采用线程资源管理机构110的计算设备1〇〇。在一个实 施例中,计算设备100充当采用用于消息队列的线程资源管理机构("资源机构")110以 促进促进线程资源和它们对应的消息的公平和有效的管理的应用服务器线程资源的动态 管理的主机,包括它们的跟踪、分配、路由等,以提供系统资源的更好的管理并且促进用户 (例如,公司、企业、组织、商业、机构、公共机构等)典型地期望或需要的各种服务的用户控 制和定制。用户指在诸如为计算设备100的主机处提供和管理资源机构110的服务提供商 (例如,Salesforce. com)的客户。 计算设备100可以包括服务器计算机(例如,云服务器计算机等)、台式计算机、集群计 算机、机顶盒(例如,基于因特网的电缆电视机顶盒等)等等。计算设备100还可以包括更 小的计算机,诸如移动计算设备,该移动计算设备诸如为包括智能电话(例如,Apple?的 iPhone?、捷讯移动科技? (Research in Motion? )的黑莓? ( BlackBerry? )等)的蜂窝电话、手持计算设备、个人数字助理(PDA)等,平板电脑(例如,Apple?的 iPad?、三星? ( Samsung? )的Galaxy?."),膝上型计算机(例如,笔记本、网 本、超级本TM等),电子书(例如,亚马逊? ( Arnazon.com? )的Kindle?、巴诺 (Barnes)的Nook?、以及.Nobles? _等),基于全球定位系统(GPS)的导航系统等。 计算设备100包括充当计算设备100的任意硬件或物理资源与用户之间的接口的操作 系统(OS) 106。计算设备100进一步包括一个或多个处理器102、存储器设备104、网络设 备、驱动等等,以及输入/输出(I/O)源108,诸如触摸屏、触感控制板、触控板、虚拟或常规 键盘、虚拟或常规鼠标等。将注意到如"节点"、"计算节点"、"客户端"、"客户端设备"、"服务 器"、"服务器设备"、"云计算机"、"云服务器"、"云服务器计算机"、"机器"、"主机"、"设备"、 "计算设备"、"计算机"、"计算系统"、"多租户按需数据系统"等等的术语在通篇本文献中可 以互换地使用。将进一步注意到如"应用"、"软件应用"、"程序"、"软件程序"、"包"、以及"软 件包"的术语在通篇本文献中可以互换地使用。此外,如"作业"、"请求"以及"消息"的术 语在通篇本文献中可以互换地使用。 图2图示了根据一个实施例的线程资源管理机构110。在一个实施例中,资源机构110 提供了用于消息队列的基于竞价的资源共享以促进传递点处的竞争消息类型之间的线程 资源的基于竞价的公平分配。 在所图示的实施例中,资源机构110可以包括各种组件,诸如管理框架200,该管理框 架200包括请求接收和鉴权逻辑202、分析器204、通信/访问逻辑206、以及兼容性逻辑 208。资源机构110进一步包括额外组件,诸如具有资源分配逻辑212、基于竞价的资源共享 逻辑232、基于法定人数的经纪人健康状况逻辑252、工作负荷调度路由逻辑262、以及滑动 窗口维持逻辑272的处理框架210。在一个实施例中,基于竞价的资源共享逻辑232可以包 括消息和出价接收模块234、货币发布器235、货币储备244、实施模块246、基于竞价的作业 调度器247、作业执行引擎248、以及包括平衡检查模块238、计算模块240、评估和能力模块 242、以及计数器250的判决逻辑236。 预期到任意数量和类型的组件可以添加到资源机构110和/或从资源机构110中去除 以促进包括添加、去除、和/或增强一定特征的各种实施例。为了简要、清楚、以及易于理解 资源机构110,这里没有示出或讨论标准的和/或已知的组件中的众多者,诸如计算设备的 那些。预期到实施例不限于任何特定的技术、拓扑、系统、架构、和/或标准,并且是足够动 态的以采纳和适应任意未来的变化。 在某些实施例中,资源机构110可以与数据库280通信以存储涉及消息队列等的数据、 元数据、表格、报告等。资源机构110可以进一步在网络上285与任意数量和类型的客户端 计算设备通信,诸如客户端计算设备290。通篇本文献中,术语"逻辑"可以互换地称作"框 架"或"组件"或"模块"并且通过示例的方式,可以包括软件、硬件、和/或软件和硬件的任 意组合,诸如固件。通过资源机构110提供的组件的这一组合促进了将如用户期望或需要 地以任意数量和类型的格式操纵、共享、通信、以及显示并且通过客户端计算设备292处的 用户接口 294和在网络290上通信的特定数据产品/软件应用(例如,社交网站、商业网站、 字处理、电子制表软件、数据库产品等)的基于用户的控制和操纵。 预期到用户可以包括管理用户或终端用户。管理用户可以包括授权的和/或经训练的 用户,诸如系统管理员、软件开发者、计算机程序员等。相反,终端用户可以为能够诸如经由 软件应用或因特网浏览器来访问客户端计算设备的任意用户。在一个实施例中,用户经由 客户端计算设备290处的用户接口 294可以操纵或请求数据以及如用户期望或需要地查看 特定格式(例如,表格、电子制表软件等)的数据和任意相关元数据。用户的示例可以包括 但不限于涉及组织的客户(例如,终端用户)或雇员(例如,管理用户),诸如服务提供商 (例如,Salesforece. com)的组织客户(例如,小的和大的商业、公司、企业、学术机构、政府 机构、非盈利组织等)。将注意到如"用户"、"客户"、"组织"、"租户"、"商业"、"公司"等的术 语可以在通篇本文献中互换地使用。 在一个实施例中,资源机构110可以在诸如为图1的计算设备100的服务器计算系统 处采用,并且可以在诸如为网络285(例如,基于云的网络、因特网等)的网络上与诸如为客 户端计算设备290的一个或多个客户端计算设备通信。如前述的,用户可以包括组织和组 织客户,诸如为提供对资源机构110的访问(诸如经由客户端计算机290)的提供商(例如, Salesforce. com)的客户的公司、商业等。类似地,用户可以进一步包括为组织的客户/组 织客户并且经由另一客户端计算设备来访问资源机构110的个人或小的商业等。客户端计 算设备290可以与图1的计算设备100相同或相似并且包括移动计算设备(例如,智能电 话、平板电脑等)或更大的计算机(例如,台式计算机、服务器计算机等)。 在一个实施例中,资源机构110促进了用于诸如为应用服务器等的系统资源的有效 管理的消息路由和队列的公平和有效的管理,并且提供了更好的客户服务,其中用户可 以经由通过采用社交和商业网络产品的任意数量和类型的软件应用(例如,网站等)提 供的用户接口 294来访问这些服务,该社交和商业网络产品诸如为Salesforce. com的 Chatter?、脸谱? ( Facebook? )、领英_? ( Linkedln? )等。 在一个实施例中,请求接收和鉴权逻辑202可以用于接收由用户在网络285上经由客 户端计算设备290做出的请求(例如,打印文件、移动文件、合并文件、运行报告、显示数据 等)。进一步,请求接收和鉴权逻辑202可以用于鉴权所接收的请求以及用于在允许用户做 出请求之前鉴权用户(和/或对应的客户)和/或计算设备290。预期到在某些实施例中, 鉴权处理可以为当第一次允许计算设备290访问资源机构110时进行的一次性处理,或者, 在某些实施例中,鉴权可以为每次经由网络285由基于云的服务器计算设备处的资源机构 110处的请求接收和鉴权逻辑202接收到请求时执行的重复处理。 一旦鉴权处理结束,将请求发送到分析器204以分析和基于分析的结果,将请求前转 到处理框架210以用于一个或多个组件212、
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1