本发明专利技术实施例提供了一种用于在消息队列中消息合并的方法、系统和计算机程序产品。在本发明专利技术的实施例中,可以提供一种用于在消息队列中消息合并的方法。该方法可以包括在由主机计算平台的处理器在存储器中执行的消息队列管理器中接收用于将新消息添加到消息队列的请求。该方法还可以包括用于规定是否应该发生合并的合并指示符。该方法还可以包括识别将新消息与消息队列中现存消息相关联的关联键,并在消息队列中定位对应于所识别的关联键的关联消息。最后,该方法可以包括将新消息与消息队列中所定位的关联消息相合并。
【技术实现步骤摘要】
本专利技术涉及消息队列管理领域,并且更具体地,涉及消息队列中逻辑关联的消息 的程序性(programmatic)关联。
技术介绍
在信息
中,消息队列是用于处理间通信或线程间通信的软件工程组件。 该组件使用消息器可以将消息放入其中的、以及指定的接收器可以从其中提取消息的队 列。在该方面,消息队列可以是使得能够在消息器和指定的接收器之间异步传递消息的通 信组件。在操作时,消息队列可以支持多个消息器和接收器,使得对于一组参与方可以实现 异步通信。消息队列的异步特性提供了用于不同技术的理想的技术耦合器。具体地,只要单 独的技术可以访问消息队列,单独并不同的技术就可以处理传递的消息,使得可以进行通 信。具体地,消息队列可以通过用于打开、写入、读和关闭消息队列的应用编程接口(API) 来暴露(expose)不同的方法调用(call)。每个应用又可以包括调用(invoke)这些方法 调用(call)的序列以将消息放置在消息队列中或者从消息队列中提取消息的逻辑。具体 地,在操作时,当请求时,API可以搜索消息队列来寻找可用消息,并且可以将它返回给正请 求的逻辑。通常,一个或多个应用将消息放置在消息队列上以被其他应用所处理。当消息到 达消息队列时,可以处理消息,或者可以积累消息以在稍后进行处理。在后一种情况下,可 以在恰当时逻辑地关联所积累的消息。例如,可以通过共同主题将属于相同主题的消息、例 如属于与相同帐户有关的金融操作的消息、或者属于相同的人的联系人(contact)管理操 作的消息逻辑地关联。典型地,当由应用处理消息队列中的逻辑关联的消息时,消息队列中的每个消息 独立于消息队列中的其它消息而被处理。在该方面,在消息队列中的每个消息属于将由应 用执行的事务(transaction)的情况下,响应于来自消息队列的相应消息的提取来执行每 个事务,而不管与保持在消息队列中的任何其它消息相应的任何其它事务。或者,应用可以 预处理消息队列中的所有消息来识别逻辑关联的消息,并且可以在处理所合并的消息之前 执行所识别的逻辑关联的消息的合并。然而,本领域技术人将将意识到,即便在逻辑地关联的消息队列中的消息的情况 下应用仍然有责任单独处理消息队列中的消息或者在处理所合并的消息之前执行逻辑关 联的消息的合并以解决逻辑关联。在任一情况下,将需要额外的计算机处理,增大了应用程 序的复杂性和处理时间。
技术实现思路
本专利技术实施例解决了与消息队列管理有关的现有技术的缺点,并提供了一种用于 在消息队列中消息合并的新颖且非显而易见的方法、系统和计算机程序产品。在本专利技术的实施例中,可以提供一种用于在消息队列中消息合并的方法。该方法可以包括在由主机计 算平台的处理器在存储器中执行的消息队列管理器中接收用于将新消息添加到消息队列 的请求。该方法还可以包括识别将新消息与消息队列中现存消息相关联的关联键(key),并 在消息队列中定位对应于所识别的关联键的关联消息。最后,该方法可以包括将新消息与 消息队列中所定位的关联消息相合并。在本专利技术的另一实施例中,可以提供一种消息排队数据处理系统。该系统可以包 括包含存储器和至少一个处理器的主机计算平台。该系统还可以包括与主机计算平台耦连 的消息队列,以及与消息队列耦连并在主机计算平台的存储器中由处理器执行的消息队列 管理器。该系统还可以包括与消息队列管理器耦连的消息合并模块。该模块可以包括在由 计算机的处理器在存储器中执行时使能的程序代码,以在由消息队列管理器接收的用于将 新消息添加到消息队列的请求中,识别将新消息与消息队列中现存消息相关联的关联键, 在消息队列中定位对应于所识别的关联的关联消息,并将新消息与消息队列中所定位的关 联消息相合并。本专利技术的其他方面将部分在如下描述中阐述,部分从描述中将显而易见,或者可 以通过本专利技术的实践来学习。将通过所附权利要求中具体指出的元件和组合来实现和达到 本专利技术的方面。将理解的是,前述大致描述和如下详细描述仅仅是示范性和解释性的,并且 不限制所要求保护的本专利技术。附图说明合并于该说明书中并组成该说明书的一部分的附图例示了本专利技术的实施例,并与 描述一起用来解释本专利技术的原则。在此例示的实施例是优选的,然而要理解的是,本专利技术不 限于所示的精确布置和手段,其中图1是用于逻辑地合并在消息队列中的排队消息的处理的图示说明;图2是被配置来逻辑地合并在消息队列中的排队消息的消息排队数据处理系统 的示意性说明;以及图3是说明用于逻辑地合并在消息队列中的排队消息的处理的流程图。 具体实施例方式本专利技术实施例提供了用于自动合并逻辑关联的消息的方法、系统和计算机程序产 品。在本专利技术的实施例中,可以接收消息放置在消息队列中。例如,通过参考消息的消息头 部中的数据或者嵌入在消息本身中的数据,通过环境变量,参考包括在用于将消息放置在 消息队列上的命令(directive)中的参数、可以确定是否合并所接收的消息的指示。如果 确定合并所接收的消息,则可以使用消息头部中的数据和/或消息数据,来使用用于将所 接收的消息与消息队列中的另一消息相关联的关联键来建立两个消息之间的关联性。以这 种方式,通过合并所关联的消息,可以减少消息队列中消息的数量。在进一步说明中,图1图示性地描绘了用于逻辑地合并消息队列中的排队消息的 处理。如图1所示,一个或多个应用Iio可以利用消息队列120来在消息队列120中交换 多个应用消息140A。队列管理器130可以管理由应用110进行的将消息140A投递到消息 队列120上以及由应用110进行的将消息140A从消息队列120中去除,来用于应用110中的处理。注意的是,当给定的应用110之一请求队列管理器130将消息140B添加到消息队 列120上时,队列管理器130可以确定是否将消息140B与已经位于消息队列120中的消息 140A中另一关联的消息相合并。如果是,则队列管理器130可以在与消息140A相关联的消 息队列120中识别消息140A中特定的一个消息,并且队列管理器130还可以基于合并规则 150中所选择的一个来执行消息140B与消息140A中相关联的一个的合并。一旦应用了合并规则150中所选择的一个,就可以将消息140B的内容与消息队列 中消息140中关联的一个相合并,并且可以丢弃消息140B。或者,可以将消息140中关联的 一个的内容与消息140B相关联,并且可以从消息队列120中去除消息140中关联的一个并 丢弃。作为另一替代实施例,可以将消息140B的内容和消息队列中消息140中关联的一个 的内容组合为新的消息,并将其放置在消息队列120中。在任何情况下,可以由队列管理器 130执行消息140B与消息队列120中消息140中关联的一个的合并,而不会不必要地加重 应用110的负担。可以在消息排队数据处理系统中实现参考图1描述的处理。在另一示例中,图2是 被配置来逻辑地合并在消息队列中的排队消息的消息排队数据处理系统的示意性图示。该 系统可以包括一个或多个服务器210,每个服务器包括一个或多个处理器、存储器和操作系 统,每个服务器210主管一个或多个应用220的执行。可以在计算机通信网络240上通过 终端用户客户端计算设备230访问一个或多个应用220。此外,可本文档来自技高网...
【技术保护点】
一种用于在消息队列中消息合并的方法,所述方法包括:在由主机计算平台的处理器在存储器中执行的消息队列管理器中接收用于将新消息添加到消息队列的请求;识别将所述新消息与所述消息队列中现存消息相关联的关联键;在消息中定位对应于所识别的关联键的关联消息;以及将所述新消息与所述消息队列中所定位的关联消息相合并。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:艾伦·T·钱德勒,布赖特·W·迪克森,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。