接口模块的制作方法

文档序号:6476426阅读:160来源:国知局
专利名称:接口模块的制作方法
技术领域
本发明涉及接口模块。更具体地但不排他地,本发明涉及软件模块之 间的接口模块。甚至更具体地,但不排他地,本发明涉及通信软件模块和
业务逻辑(business logic )软件模块之间的接口模块。
背景技术
一般地,业务软件引擎包括一个前端通信模块和多个后端业务逻辑模 块的实例。在响应于用户查询而询问业务引擎期间,前端模块接收相应于 用户查询的查询数据。接着前端模块确定哪个后端模块最适合于处理用户 查询。 一般地,基于下述标准,例如哪个后端模块正在运行恰当的业务逻 辑以及特定后端在接收到用户查询时所承受的负载,来做出该确定。
后端模块处理查询数据,并制定用于询问合适的外部服务器的询问数 据。该询问数据从其被发送到的合适的外部服务器传递到前端模块。 一般 地,通过后端模块进行的数据处理被暂停,直到从外部服务器接收到对询 问数据的答复为止。
来自外部服务器的答复经由前端模块发送到被暂停的后端模块。数据 处理在被暂停的后端模块重新开始,并且来自答复的数据合并成一个响 应。所述响应经由前端模块输出给用户。
这种安排不能导致资源的有效利用,因为每个后端模块实例只能处理 单个请求。这是因为在每个后端模块的处理都被暂停,直到从外部服务器 接收到对询问数据的答复为止。
试图异步地处理答复可导致后端模块内数据的损坏,因为数据被从后 端^f莫块同时地写入和读取。
4发明概述
根据本发明的第 一个方面,提供了 一种包括第 一功能元件和第二功能 元件的接口模块,第一功能元件设置为接收来自通信模块的输入数据,并 基于数据结构中保存的规则集来选择多个逻辑模块实例中的哪一个转发 输入数据,且进一步设置为经由第二功能元件向所选择的逻辑模块实例传 递输入数据,所述接口模块特征在于,第二功能元件设置为确定所选择的
逻辑模块实例的工作模式,并引起(mediate)数据在所选择的逻辑模块实 例和第一功能元件之间的传递,且第一功能元件设置为根据所选择的逻辑 模块的工作模式,将输入数据顺序地传递到第二功能元件,或将对应于汇 总数据记录的数据传递到第二功能元件,所述汇总数据记录对应接收到的 输入数据的汇总。
这种模块防止逻辑模块内数据的损坏,因为数据不同时写入逻辑模块 也不同时从逻辑模块读取。
第 一功能元件可以与通信模块关联。第二功能元件可以与逻辑模块关 联。可以有多个第二功能元件,每一个都与逻辑模块实例相关联。
接口的功能元件的这种划分允许特定的功能与它们所相互作用的模 块关联,独立地产生每个逻辑模块。这增加了系统内的冗余度,因为第二 功能元件可能失效而不损害剩余逻辑模块实例的操作。
数据结构可以包括对应于规则的数据项目。数据结构可以存储在第一 功能元件中。
第一功能元件可以设置为接收来自远程终端的输入查询数据,并可进 一步设置为根据规则分配多个逻辑模块中的哪一个传递查询数据。所述规 则可包括以下项中的任何一个或者组合给定逻辑模块的适合性、给定逻 辑模块的使用、给定逻辑模块的工作状态。
第 一功能元件调节流入和流出逻辑模块实例的数据流,以便实现逻辑 模块的有效使用。这因此增加了运行逻辑模块的处理器的工作效率。
第一功能元件可设置为响应于请求数据而询问外部服务器,所述请求数据通过第二功能元件从多个逻辑模块中的 一个被接收。第 一功能元件可 设置为存储来自外部服务器的响应数据,并可进一步设置为从其产生汇总 数据记录。可选地,第一功能元件可设置为将响应数据顺序地传递到逻辑 模块。
这允许管理来自外部数据库的响应数据的多个实例,以便降低数据损 坏的可能性。
所述接口可包括上下文数据结构。所述上下文数据结构可包括对应于
下列项中的任何一个或者结合的数据项目查询数据向逻辑模块的分配、 与查询数据实例关联的全局超时参数、与每个查询数据实例关联的会话标 识符(SID)、与外部服务器的询问的实例关联的特定响应超时。所述上下 文数据结构可存储在第一功能元件内。
所述上下文数据结构允许以下述方式执行对查询数据的管理,即逻辑 模块实例可自由处理不同的查询数据,同时远程服务器被询问。
第 一功能元件可设置成当询问外部服务器和从所述外部服务器接收 响应数据之间经过的时间超过预定超时阈值时,将超时数据返回到所述第
二功能元件。
根据本发明的第二个方面,提供了一种软件,当所述软件在处理器上 执行时使所述处理器如本发明的第一个方面所述的接口起作用。
根据本发明的第三个方面,提供了在通信模块和逻辑模块实例之间进 行接口连接的方法,其包括以下步骤
基于数据结构中保存的规则集,选择多个逻辑模块实例中的哪一个转 发输入数据;
将输入数据传递到所选择的所述逻辑^^莫块实例;
其特征在于
确定所选择的所述逻辑模块实例的工作模式;以及
根据所选择的所述逻辑模块实例的所述工作模式,将在所述通信模块 接收到的输入数据顺序地或者作为汇总数据记录传递到所选择的所述逻辑模块实例,所述汇总数据记录对应于在所述通信模块接收到的输入数据 的汇总。
附图简述
现在参考随附的附图,仅作为例子在这里描述本发明的实施方式,其



图1是根据本发明的 一 个方面的包括接口的实施方式的业务软件引擎
的业务引擎的示意图;以及
图2是流程图,其详细描述了根据本发明的另外的方面的在通信模块
和逻辑模块实例之间进行接口连接的方法的实施方式。 本发明的实施方式的详述
现在参考图1,示例性业务引擎100包括前端模块102、多个后端模 块实例104a-c及呼叫协调器接口 106。 一般,所述呼叫协调器接口 (CCI) 106包括与前端才莫块102相关联的第一元件106a及与相应的后端模块 104a-c相关联的多个第二元件106b。通常,CCI 106a是中间设备。
CCI 106的第一元件106a包括数据结构108,所述数据结构108包含 用来管理输入数据分配到后端模块104a-c中的哪一个的规则110。第一元 件106a还包括上下文服务器112。
前端模块102包括通信软件,所述通信软件通过网络117提供业务软 件引擎110、外部终端114和服务器116a-c之间的连通性。 一般,网络117 包括互联网或者专用网。
一般,后端^t块104a-c包括业务逻辑软件,所述业务逻辑软件控制对 用户产生的查询的回复的生成,用户产生的查询被从远程终端114接收到。
在使用中,前端模块102以本领域技术人员已知的方式通过负载平衡 设备115接收与用户查询相关联的数据,并且将查询传递到CCI 106的第 一元件106a。当接收到查询时,第一元件106a建立用于查询的上下文,并将与查询 关联的数据项目存储到上下文服务器112中。例如,该上下文服务器数据 项目将包括与查询关联的会话ID,其可被用于识别与查询关联的输入的和 传出的通信或全局响应超时参数。全局超时参数限定了一段时间,超过这 段时间将认为整个查询没有完成。因此,如果在全局响应超时参数限定的 时间内未向用户4是供对查询的响应,则通过终端114向用户发送超时响应。
第一元件106a根据存储在数据结构108中的规则IIO将查询分配给一 个后端模块104a,以用于处理。用于将查询分配给特定的后端模块的一般 规则包括后端模块实例是否适于处理请求,后端模块实例是否自由地处理 请求,后端模块实例是否是可操作的,对查询是否已经建立SID。
接着第一元件106a将查询数据传递到CCI 106的第二元件106b。第 二元件106b确定它所关联的后端模块104a是以单发(single-shot)模式还 是以多发(multiple shot)模式运行。查询数据经由第二元件106b传递给 后端模块104a。
后端模块104a确定哪个外部服务器116a-c需要询问,以便满足用户 查询。请求询问服务器116a-c的数据传递到第二元件106b。此时第二元件 106b可将服务器特定的响应超时参数置入询问数据中。该询问数据从第二 元件106b传递到第一元件106a,其中例如不管服务器特定的响应超时数 据是否存在并且逻辑模块106以何种模式进行操作,额外的上下文数据都 被存储在上下文服务器112中。 一旦询问数据传递到前端模块102,产生 询问数据的后端模块实例104a就自由地连续处理数据。在第一元件106a 中保存的数据被更新以反映此情况。
询问数据传递到前端模块102,然后根据询问数据的内容询问服务器 106a-c。
服务器116a-c处理数据并通过前端模块102将响应数据返回到业务引 擎100。
当在前端模块102接收到响应数据时,第一元件106a在上下文服务器 112中存储响应数据,所关联的标记详述服务器116a-c的每次询问的成功。
8例如,所述标记可指示服务器的询问在一个通信层已经超时、已经成功或 者已经失败。
第一元件106a识别产生询问数据的后端模块实例104a是以单发模式 还是多发模式操作。然后第一元件106a识别适于并自由地处理响应数据的 后端模块实例104a-c。这可以是产生询问数据的同一后端模块实例104a, 或者它可以是另外的后端模块实例104b、 104c。 一般,某些后端模块实例 是完全相同的,因此是可互换的。
第一元件106a通过第二元件106b向后端才莫块104a传递响应数据以及 保存在上下文服务器112中的上下文数据。
如果后端模块104a以单发模式操作,则包含与所有响应数据对应的数 据的汇聚数据记录将传递到后端模块104a。
然而,如杲后端模块104a以多发模式搡作,则对应于每个服务器 116a-c的询问的结果的响应数据将被返回到后端模块104a。
后端模块104a处理响应数据,并通过第一元件106a和第二元件106b、 前端模块102和网络118,将包含对用户查询的应答的数据输出到远程终 端114。
例如,如果业务引擎IOO是旅行预订引擎,且用户请求从柏林到尼斯 的航班的详细资料,则前端通信模块从用户终端113接收请求。
-清求;波传递到CCI 106的第一元件106a,第一元件106a^^该请求分 配会话ID并将其存储在上下文服务器112内。第一元件106a将请求分配 给后端模块实例104a-c。
例如,两个后端才莫块实例104a、 104b可以处理航班预订,且另一个后 端才莫块实例104c可以处理旅馆预订。在这种情况下,第一元件106a识别 出不适合发送请求到旅馆预订后端模块实例104c。 一个航班预订后端模块 实例104b可以参与处理另一请求。因此,第一元件106a将请求分配给处 理^t班预订的可用的后端^t块实例104a。
请求被传递到CCI 106的第二元件106b,并接着传递到可用的航班预 订后端模块实例104a。这以已知的方式处理请求,并输出请求三个航线服务器116a-c的询问的询问数据。询问数据通过CCI 106经由第二元件106b 传递到第一元件106a。在第二元件106b处,标记被添加到询问数据,以 便指示后端模块实例104a是以单发模式还是多发模式操作,以及服务器特 定的响应超时参数是否已经被设定。
第一元件106从询问数据中提取标记,并将其与用于会话的上下文数 据一起存储,所述会话如上下文服务器112中的会话ID所识别的。
询问数据传递到通信前端模块102,询问数据从该通信前端模块102 经由网络117被传送到航线服务器116a-c。服务器116a-c以本领域技术人 员已知的方式被询问。响应数据经由网络117被传送到业务引擎100,所 述响应数据包含关于柏林到尼斯航线中的座位的可得到性和价格的数据。
响应数据通过前端模块102传递到CCI 106的第一元件106a,此处响 应数据被分配到适当的自由的后端模块实例104a,如前所述。
假如在CCI 106的第一元件106a处定义全局响应超时参数,如果在超 时时间段终止之前在前端模块102没有接收到所有的响应数据,则请求可 能超时。如果出现这种情况,则前端模块102产生传递到后端模块实例104a 的通知数据。然后这触发产生超时消息的超时答复序列,所述超时消息由 前端模块102经由网络117发送到用户终端114。
响应数据传递到前端模块确定为适当和自由使用的后端模块实例 104a,如果后端模块实例104a以多发模式操作,则响应数据被顺序地传递, 或者如果后端模块实例104a以单发模式操作,则响应数据作为汇聚数据记 录被传递。后端^^莫块实例104a根据所述实例104a中运行的业务逻辑来处 理响应lt据。
如果后端模块实例104a以多发模式操作,并且服务器特定的超时被设 置,则航线服务器116a-c中的任何一个或者特定的一个不能在服务器特定 的响应超时中指定的时间限制内进行响应会导致输出答复数据,其中该超 时故障被记录到第一元件106a。 一般,可以定义服务器特定的响应超时参 数,其中已知特定的服务器有差的可靠性记录、正在经历升级或由于任何 其它原因的任何情况。如果没有违反任何响应超时参数,则后端模块实例104a向第一元件 106a输出答复数据。
第一元件106a向前端模块102传递任何答复数据,前端模块102经由 网络117给用户终端114发送答复数据。
现在参考图2,在通信模块和逻辑模块实例之间的接口连接方法包括 基于数据结构中保存的规则集来选择多个逻辑模块实例中的哪一个转发 输入数据(步骤200 )。输入数据传递到所选择的逻辑模块实例(步骤202 )。 确定所选择的逻辑模块实例的工作模式(步骤204 )。将在通信模块接收到 的输入数据顺序地或者作为汇总数据记录传递到所选择的逻辑模块,所述 汇总数据记录对应于在通信模块接收到的输入数据的汇总。这取决于所选 择的逻辑模块实例的工作模式(步骤206 )。
应认识到,虽然参考旅行数据描述本发明,但本发明适合于用在任何 引擎中,在所述引擎中多个业务逻辑实例或其他任何逻辑与调节流入和流 出逻辑实例的数据流的通信模块相互作用。
应进一步认识到,虽然CCI的第一元件和第二元件被描述为分离的且 分别与前端模块和后端模块实例关联,但是CCI可以是具有在其内运行的 多个第二元件实例的分立的系统元件。
尽管描述了本发明的各种实施方式, 一旦给出本公开,对本领域技术 人员来说明显的是,可以进行各种修改、改变、改进和变化,而不背离本 发明的范围。
ii
权利要求
1.一种接口模块,其包括第一功能元件和第二功能元件,所述第一功能元件设置为接收来自于通信模块的输入数据并基于数据结构中保存的规则集来选择多个逻辑模块实例中的哪一个转发所述输入数据,且所述第一功能元件进一步设置为通过所述第二功能元件向所选择的所述逻辑模块实例传递所述输入数据,其中所述第二功能元件被设置为确定所选择的逻辑模块实例的工作模式,并引起数据在所选择的所述逻辑模块实例和所述第一功能元件之间的传递,且所述第一功能元件被设置为根据所选择的所述逻辑模块实例的所述工作模式,将所述输入数据顺序地传递到所述第二功能元件和/或将对应于汇总数据记录的数据传递到所述第二功能元件,所述汇总数据记录对应于接收到的输入数据的汇总。
2. 根据权利要求1所述的接口模块,其中,所述第一功能元件与所述通信模块关联。
3. 根据权利要求1或2所述的接口模块,其中,所述第二功能元件 与所述逻辑模块实例关联。
4. 才艮据权利要求3所述的接口模块,包括多个第二功能元件,每个 第二功能元件与逻辑模块实例关联。
5. 根据任一项前述权利要求所述的接口模块,其中,所述数据结构 存储在所述第 一功能元件中。
6. 根据任一项前述权利要求所述的接口模块,其中,所述第一功能 元件设置为接收来自远程终端的输入查询数据,并进一步被设置为基于规 则来分配所述多个逻辑^t块中的哪一个传递所述查询数据。
7. 根据任一项前述权利要求所述的接口模块,其中,所述第一功能 元件设置为存储从外部服务器接收的响应数据。
8. 根据任一项前述权利要求所述的接口模块,其中,所述第一功能 元件设置为根据从外部服务器接收的响应数据产生汇总数据记录,并将所述汇总数据记录传递到所述逻辑模块实例。
9. 根据任一项前述权利要求所述的接口模块,其中,所述第一功能 元件设置为将从外部服务器接收的响应数据顺序地传递到所述逻辑模块 实例。
10. 根据任一项前述权利要求所述的接口模块,包括上下文数据结构。
11. 根据任一项前述权利要求所述的接口模块,其中,所述上下文数据结构包括对应于以下任何一项的数据项目查询数据向逻辑模块的分 配、与查询数据实例关联的全局超时参数、与每个查询数据实例关联的会 话标识符(SID)、与外部服务器的询问的实例关联的特定响应超时。
12. 根据任一项前述权利要求所述的接口模块,其中,所述上下文数 据结构被存储在所述第一功能元件内。
13. 根据任一项前述权利要求所述的接口模块,其中,所述第一功能 元件设置为当询问外部服务器和从所述外部服务器接收响应数据之间经 过的时间超过预定超时阈值时,将超时数据返回到所述第二功能元件。
14. 一种在通信模块和逻辑模块实例之间进行接口连接的方法,其包 括以下步骤基于数据结构中保存的规则集,选择多个逻辑模块实例中的哪一个转 发输入数据;将输入数据传递到所选择的所述逻辑模块实例;确定所选择的所述逻辑模块实例的工作模式;以及根据所选择的所述逻辑模块实例的所述工作模式,将在所述通信模块 接收到的输入数据顺序地或者作为汇总数据记录传递到所选择的所述逻 辑模块实例,所述汇总数据记录对应于在所述通信模块接收到的输入数据 的汇总。
15. —种软件,当其在处理器上执行时使所述处理器如权利要求1到 13中任一项所述的接口模块起作用。
全文摘要
在软件引擎的通信模块和多个业务逻辑模块实例之间的接口模块包括第一功能元件和第二功能元件。第一功能元件接收来自通信模块的输入数据,并选择业务逻辑模块实例中的哪一个转发输入数据。业务逻辑模块实例的选择基于在第一功能元件的数据结构中保存的规则集。输入数据通过第二功能元件传递到所选择的逻辑模块实例。第二功能元件确定所选择的逻辑模块实例的工作模式。工作模式对应于单发或多发工作模式。如果选择了多发工作模式,则输入数据顺序地传递到所选择的逻辑模块实例。可选地,如果选择了单发工作模式,则汇总数据记录被传递到所选择的逻辑模块实例,所述汇总数据记录对应于在第一功能元件接收的输入数据的汇总。
文档编号G06F9/46GK101663645SQ200880004807
公开日2010年3月3日 申请日期2008年2月11日 优先权日2007年2月13日
发明者保罗·蒂埃里, 热罗姆·丹尼尔 申请人:阿玛得斯两合公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1