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

针对消息收发服务的高密度托管制造技术

技术编号:8981920 阅读:164 留言:0更新日期:2013-07-31 23:52
针对消息收发服务的高密度托管。此处所描述的主题的各方面涉及针对消息收发服务的消息迁移。在各方面,基于阈值被越过来作出消息需要被迁移的判定。作为响应,指示代理把与所述消息相关联的数据迁移到另一位置。所述代理使用各种因素来确定要迁移的一个或多个队列。当队列被迁移时,在该迁移的第一部分期间,在发送者发送新消息和接收者消费消息时消息可以被添加到该队列和从该队列移除。在该迁移的第二部分期间,冻结该队列以不允许该队列被用于接收新消息和递送所排队的消息。该迁移可以被组织以尝试实现某些目标。

【技术实现步骤摘要】
针对消息收发服务的高密度托管
本专利技术涉及消息收发服务,尤其涉及针对消息收发服务的消息迁移。
技术介绍
过去几十年已经见证了计算机能力的显著增长。如今的典型计算机常常具有十年前的典型计算机的许多倍处理能力和存储能力。即使在处理和存储能力方面得到显著增长,低效算法混合着许多并行请求仍然会导致性能问题。尽管获得更快的计算机或更多的计算机可能解决性能问题,但是这样的解决方案可能在购买、功耗和维护方面是昂贵的。在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性

技术实现思路
简言之,此处所描述的主题的各方面涉及针对消息收发服务的消息迁移。在各方面,基于阈值被越过来作出消息需要被迁移的判定。作为响应,指示代理把与所述消息相关联的数据迁移到另一位置。所述代理使用各种因素来确定要迁移的一个或多个队列。当队列被迁移时,在该迁移的第一部分期间,在发送者发送新消息和接收者消费消息时消息可以被添加到该队列和从该队列移除。在该迁移的第二部分期间,冻结该队列以不允许该队列被用于接收新消息和递送所排队的消息。该迁移可以被组织以尝试实现某些目标。提供本
技术实现思路
是为了简要地标识在以下详细描述中进一步描述的主题的一些方面。本
技术实现思路
并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。除非上下文清楚地指出,否则短语“此处所描述的主题”指的是具体实施方式中描述的主题。术语“方面”应被当作“至少一个方面”。标识具体实施方式中所描述的主题的各方面不旨在标识所要求保护的主题的关键特征或必要特征。上述各方面和此处所描述的主题的其它方面是借助于示例说明的,并且不受附图限制,附图中相同的标号指示相似的元素。附图说明图1是表示其中可结合此处描述主题的各方面的示例性通用计算环境的框图;图2是表示此处所描述主题的各方面可以在其中操作的示例性环境的框图;图3是表示根据在此所述的主题各方面的示例性消息收发服务和相关联的数据存储的框图;图4是概括地表示根据此处所描述的主题的各方面的、可在消息收发服务处进行的示例性动作的流程图;以及图5是概括地表示根据此处所描述的主题的各方面的、可从发送者角度进行的示例性动作的流程图。具体实施方式定义如本文所使用的,术语“包括”及其变体被当作开放式术语,表示“包括但不限于”。除非上下文另外清楚地指示出,否则术语“或”被当作“和/或”。术语“基于”被当作“至少部分地基于”。术语“一个实施例”和“一实施例”被当作“至少一个实施例”。术语“另一实施例”被当作“至少一个其他实施例”。如本文所使用的,诸如“一”和“该”等术语包括了所指示的项或动作中的一个或多个。具体而言,在权利要求书中,对某一项的引用一般表示存在至少一个这样的项,并且对一动作的引用表示执行该动作的至少一个示例。本文中有时可使用术语“第一”、“第二”、“第三”等等。没有其他上下文,权利要求中对这些术语的使用不意在暗示排序,而是用于标识的目的。例如,短语“第一版本”和“第二版本”不一定意味着第一版本是真正的第一个版本或是在第二版本之前创建的,或甚至是第一版本是在第二版本之前被请求或操作的。相反,这些短语用于标识不同的版本。标题是仅出于方便起见的;关于给定话题的信息可在其标题指示该话题的节之外找到。其他显式或隐式定义可包括在下文中。示例性操作环境图1示出可在其上实现本文所描述的主题的各方面的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并非旨在对本文所描述的主题的各方面的使用范围或功能提出任何限制。也不应该将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。本文所描述的主题的各方面可与众多其他通用或专用计算系统环境或配置一起操作。可适用于这里所述的主题的各方面的已知计算系统、环境或配置的例子包括个人计算机,服务器计算机,手持或膝上型设备,多处理器系统,基于微控制器的系统,机顶盒,可编程消费电子设备,网络PC,微型计算机,大型计算机,个人数字助理(PDA),游戏设备,打印机,包括机顶盒、媒体中心或其他家电的家电设备,嵌入汽车或附加到汽车的计算设备,其他移动设备,包括任何上述系统或设备的分布式计算环境等等。本文所描述的主题的各方面可在由计算机执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本文所描述的主题的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参考图1,用于实现本文所描述的主题的各方面的示例性系统包括计算机110形式的通用计算设备。计算机可包括能够执行指令的任何电子设备。计算机110的组件可包括处理单元120、系统存储器130以及将包括系统存储器的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例,而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线、扩展外围部件互连(PCI-X)总线、高级图形端口(AGP)、以及PCIExpress(PCIe)。处理单元120可以连接到硬件安全设备122。安全设备122可以存储并能够生成密钥,所述密钥可用于保护计算机110的各个方面。在一个实施例中,安全设备122可以包括可信平台模块(TPM)芯片、TPM安全设备等等。计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述的任意组合也应包含在计算机可读介质的范围内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机本文档来自技高网...
针对消息收发服务的高密度托管

【技术保护点】
一种至少部分地由计算机实现的方法,所述方法包括:接收(420)把与消息相关联的数据迁移到至少一个消息收发容器的指令;基于一个或多个因素确定(425)要迁移的队列,所述因素包括:所述队列上次被使用是在何时、所述队列的大小、以及所述队列的热度;在允许所述队列被所述消息收发容器用于接收新消息和递送所排队的消息的同时迁移(430)所述队列的第一数据;冻结(435)所述队列以不允许所述队列被用于接收新消息和递送所排队的消息;在所述队列被冻结时迁移(440)所述队列的剩余数据,如果有的话;以及在迁移了所述剩余数据以后解冻(445)所述队列,所述解冻允许所述队列被用于接收新消息和递送所排队的消息。

【技术特征摘要】
2012.03.14 US 13/419,4351.一种至少部分地由计算机实现的用于针对消息收发服务的消息迁移的方法,所述方法包括:接收(420)把与消息相关联的数据迁移到至少一个消息收发容器的指令;基于一个或多个因素确定(425)要迁移的队列,所述因素包括:所述队列上次被使用是在何时、所述队列的大小、以及所述队列的热度;在允许所述队列被所述消息收发容器用于接收新消息和递送所排队的消息的同时迁移(430)所述队列的第一数据;在所述迁移期间,检测所述队列的剩余数据是否少于阈值;当所述队列的剩余数据不少于所述阈值时,重复执行迁移所述队列的第一数据,直到所述队列的剩余数据小于所述阈值,所述阈值被选择为致使所述队列被冻结短于可配置的时间段;响应于检测到所述队列的剩余数据少于所述阈值,冻结(435)所述队列以不允许所述队列被用于接收新消息和递送所排队的消息;在所述队列被冻结时迁移(440)所述队列的剩余数据,如果有的话;以及在迁移了所述剩余数据以后解冻(445)所述队列,所述解冻允许所述队列被用于接收新消息和递送所排队的消息。2.如权利要求1所述的方法,其特征在于,还包括:确定所述队列是否比迁移所述队列更快地增长;以及如果所述队列比迁移该队列更快地增长,则通过降低消息被允许添加到所述队列的速率来对所述队列进行节流。3.如权利要求1所述的方法,其特征在于,还包括:确定与消息收发容器相关联的事务速率已经越过阈值;以及指示所述消息收发容器把由所述消息收发服务使用的数据迁移到一个或多个其他消息收发容器。4.如权利要求1所述的方法,其特征在于,还包括:确定针对消息收发容器所消费的存储已经超过阈值;以及指示所述消息收发容器把由所述消息收发服务使用的数据迁移到一个或多个其他消息收发容器。5.如权利要求1所述的方法,其特征在于,基于一个或多个因素确定要迁移的队列包括:通过基于首先每个队列上次被使用是在何时、第二每个队列的大小、以及第三每个队列的热度对所述队列进行排序来将所述队列的标识符放置到经排序的列表中;以及选择与所述列表的第一元素相关联的队列。6.如权利要求1所述的方法,其特征在于,基于一个或多个因素确定要迁移的队列包括:通过基于下列公式对所述队列进行排序来将所述队列的标识符放置到经排序的列表中:f(x)=w1*队列上...

【专利技术属性】
技术研发人员:K·帕拉玛斯万姆S·H·金M·斯里瓦斯塔瓦M·克里希纳普拉塞德R·R·科克V·R·G·拉维帕蒂李斌
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1