交替处理的方法、系统和计算机程序产品技术方案

技术编号:2823163 阅读:172 留言:0更新日期:2012-04-11 18:40
提供一种交替处理的方法、系统和计算机程序产品。处理呼入消息流除了其他还包括将应用程序的环境数据存储在全局数据库中。来自呼入消息流的多个消息被置于存储器内消息队列中。在第一进程执行至少第一和第二阶段的一个,并且还在第二进程执行所述至少第一和第二阶段的另一个,从而通过第一进程和第二进程交替执行第一阶段和第二阶段。第一阶段包括处理来自多个消息的至少一个消息并将至少一个对应的结果保存在局部存储区域中。第一阶段还包括把对环境数据的至少一个修改保存在局部存储区域中。第二阶段包括执行至少一个结果和对环境数据的至少一个修改到全局数据库的事务并提交该事务。

【技术实现步骤摘要】

本专利技术一般涉及消息处理应用和/或服务,特别涉及用于时间关键 和安全事务的算法,以及更具体地涉及计算机实现的方法、计算机程 序产品和用于处理呼入消息流的系统。
技术介绍
诸如数据库驱动的贸易引擎的消息处理应用和/或业务(例如以对 照定单簿中的定单来匹配呼入定单)或基于网络的预订应用(例如大航空公司的在线座位预订)通常可涉及具有大量的消息吞吐量的应用 和/或业务,也就是需要(自动地)处理大量的呼入消息。另外,基础 的存储系统,诸如数据库(例如存储定单簿或由航空公司开通的多个 航班的座位有空情况),需要考虑处理后的呼入消息和/或请求来做调 整,适应修改和/或改变(例如依据接收的定单的定单簿,或依据当前 座位有空情况的预订应用)。特别是,计算机实现的消息处理应用和/或业务具有大量呼入消息 和/或请求需要被(自动)处理,也就是这种应用和/或业务具有较大(消 息)吞吐量。根据这样的应用,呼入消息的处理结果对于如何处理后 续消息有影响。此外,处理(呼入)消息的方式以及处理后的消息对于应用和/或业务的环境数据(context data)的影响(例如定单簿的当 前状态,其中,定货薄的环境数据可能根据呼入定单而改变),需要 在某个稍后状态进行检索和/或分析。另外,应用和/或业务的环境数据 要求是持久的,也就是,在故障的情况下,应用和/或业务应该能够将 其环境数据重构为最后一次成功处理的消息之后的状态。不幸的是,在消息处理应用和/或业务的优化高吞吐量(每单位时间处理的消息)和持久性之间可能有瓶颈。 一方面,利用纯粹的存储 器操作能够最佳获得高吞吐量。另一方面,持久性却需要昂贵的数据 库事务从而确保数据完整性。
技术实现思路
公开了用于处理呼入消息的技术。一方面,通过在全局数据库(在服务器上)中存储应用的环境数 据(和/或应用环境)来处理呼入消息流。此外,来自呼入消息流的各 消息被置于存储器内的消息队列中(位于服务器上)(其中从一个或 多个客户端接收消息)。在第一进程执行至少第一和第二阶段的一个, 以及(特别地基本同时地),还在第二进程执行至少第一和第二阶段 的另一个,从而,交替地执行利用第一进程和第二进程的至少第一阶 段和第二阶段。第一阶段包括处理来自多个消息中的至少一个消息并 将至少一个相应结果存储在局部存储区域中。第一阶段还包括在局部 存储区域中存储对于环境数据的至少一个修改。第二阶段包括执行至 少一个结果和对全局数据库的环境数据的至少一个修改的事务以及提 交该事务。本专利技术的各实现可以任选地包括以下特征的一个或多个。交替地 执行第一阶段和第二阶段可以包括利用第一信标和第二信标来协调 和同步第一和第二阶段。作为替换,交替地执行第一阶段和第二阶段 可以包括在第一进程接收第一信标;在第一进程已经接收到第二信 号之后释放第一信标;以及在已经完成第二阶段之后,在第一进程释 放第二信标。交替地执行第一阶段和第二阶段还可以包括在具有第 一信标的第一进程执行第一阶段,而在具有第二信标的第二进程执行 第二阶段。交替地执行第一阶段和第二阶段还可以包括在具有第二 信标的第一进程执行第二阶段,而在具有第一信标的第二进程执行第 一阶段。此外,将来自呼入消息流的呼入数据放置在存储器内消息队 列中,可以由路由服务器或调度服务器执行。并且,环境数据可以包括审计和应用环境数据。此外,存储器内消息队列可以被存储在全局 存储区域中。全局存储区域和全局数据库可以由第一和第二进程共享。本说明书中所述的主题可以被实现为方法或系统或使用计算机程序产品实际包括在诸如CD-ROM、 DVD-ROM、半导体存储器和硬盘的 信息载体中。该计算机程序产品可以导致数据处理设备来执行在本说 明书中描述的一个或多个操作。此外,在本说明书中描述的主题还可以被实现为包括处理器和耦 合到该处理器的存储器的系统。该存储器可以编码一个或多个程序, 其导致处理器来执行在本说明书中描述的一个或多个方法动作。此外, 在本说明书中描述的主题可以使用多种MRI机器来实现。附图说明图1示出例示消息处理系统的框图。图2示出得到和释放第一信标和第二信标的例示序列的框图,连 同通过第一和第二进程来处理呼入消息流的算法的第一阶段和第二阶 段。图3示出例示交替消息处理方法的流程图。图4示出使用处理呼入消息流的传统方法的消息处理流的例示表格。图5示出使用交替处理方法的消息处理流的例示表格。图6示出比较传统方法和交替处理方法的处理消息速率的例示图。图7示出例示计算机(网络)系统。 在多个图中相同的参考字符和标识表示相同的元件。具体实施例方式在下文中,参考附图给出例子的详细描述。应该知道,可以对例 子进行多种修改。具体地, 一个例子的要素可以在其他例子中组合并使用以形成新的例子。参考图l,示出例示消息处理系统。应用IO通过诸如因特网的网 络1从呼入消息流30接收多个消息。接收的多个消息被从一个或多个客户端ll、 12、 13、 14发送到应用10。来自呼入消息流30的呼入消 息被存储在存储器内消息队列40中,这些呼入消息可以由处理来自呼 入消息流30中消息的至少第一进程100和第二进程200共享。应用10 的环境数据被存储在全局数据库20中。全局数据库20可以被第一进 程100和第二进程200访问。第一和第二进程至少按两个阶段来处理 呼入消息,两个阶段为第一阶段MP和第二阶段DP,按如下方式执行 两个进程100和200中的一个100在执行第一阶段MP的同时,两个进 程中的另一个200正在执行第二阶段DP;或者反过来。换句话说,第 一进程100和第二进程200交替地执行第一阶段MP和第二阶段DP。 在一些实现中,第一和第二阶段MP和DP不能由两个进程100和200 (大致)同时地执行。此外,两个进程100和200的每一个具有局部 存储器120和220,可用于存储由执行第一阶段MP获得的处理数据, 该处理数据在(后续的)第二阶段DP期间被持久地存储在全局数据库 20中。图2示出利用例示(自动化)交替消息处理方法的第一进程100 和第二进程200来得到和释放第一信标和第二信标的例示序列。第一 和第二进程100和200是应用IO或业务的两个实例,用于通过交替地 负责自动处理应用10的呼入消息流30来处理呼入消息流30。第一和 第二进程100和200 (基本上)并行地执行消息处理方法的两个独立阶 段MP和DP (也就是,第一进程100和第二进程200交替地执行第一 阶段MP和第二阶段DP)。换句话说,第一和第二进程100和200中 的一个IOO排他地执行第一阶段MP,而两个进程中的另一个200排他 地执行第二阶段DP,反之亦然。因此,由第一和第二进程IOO和200 执行的第一和第二阶段MP和DP的处理不重叠。例如,用来处理(可能)大量的呼入消息(请求和/或数据)的应 用IO包括这样的应用,这些应用用来管理呼入定单和数据库管理系统 中相应的定货薄,或大航空公司多个航班的座位预订(例如在线的) 的基于网络的管理。在一个例示方面,该应用10具有环境数据(也就 是应用环境),包括例如在给定时间点的定货薄状态或关于各航班预 订的座位数的状态。不论何时,当呼入消息被处理时(例如做出定单,或预订航班XYZ座位),处理结果对于应用本文档来自技高网
...

【技术保护点】
用于处理呼入消息流(30)的计算机实现方法,所述方法包括:    把应用(10)的环境数据存储在全局数据库(20);    把来自所述呼入消息流(30)的多个消息置于存储器内消息队列(40);以及    在第一进程(100)执行至少第一阶段和第二阶段(MP,DP)中的一个(MP),以及在第二进程(200)执行所述至少第一阶段和第二阶段(MP,DP)的另一个(DP),从而利用所述第一进程(100)和所述第二进程(200)交替执行所述至少第一阶段(MP)和所述第二阶段(DP),    其中,所述第一阶段(MP)包括:    处理(S306到S316)来自所述多个消息的至少一个消息并且把至少一个对应结果存储在局部存储区域(120,220)中;以及    把对所述环境数据的至少一个修改存储(S318)在所述局部存储区域(120,220)中;    以及其中,所述第二阶段(DP)包括:    执行(S328和S330)所述至少一个结果和对所述环境数据的所述至少一个修改到所述全局数据库(20)的事务;以及    提交(S332)所述事务。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:亚历山德罗斯丰图科斯
申请(专利权)人:埃森哲全球服务有限公司
类型:发明
国别省市:CH[瑞士]

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

1