使用插入消息更改向代码自适应地分派接收消息.pdf

上传人:1*** 文档编号:683453 上传时间:2018-03-04 格式:PDF 页数:15 大小:782.55KB
返回 下载 相关 举报
摘要
申请专利号:

CN200510005797.5

申请日:

2005.01.24

公开号:

CN1645841A

公开日:

2005.07.27

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 12/58申请日:20050124授权公告日:20100616终止日期:20140124|||授权|||实质审查的生效|||公开

IPC分类号:

H04L12/58

主分类号:

H04L12/58

申请人:

微软公司;

发明人:

D·W·罗斯; D·A·沃滕戴克; D·E·列文; D·M·玛哈坚; E·B·克里斯滕森; G·P·库普兰德; L·F·卡布来拉; R·A·B·特纳; S·C·西里

地址:

美国华盛顿州

优先权:

2004.01.23 US 10/763,448

专利代理机构:

上海专利商标事务所有限公司

代理人:

谢喜堂

PDF下载: PDF下载
内容摘要

在接收到消息之后,令消息在传送给分派组件之前通过定于消息的接收路径上的一个或多个接收路径组件的机制。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。分派组件接收已更改消息,并使用来自已更改消息的信息(可能包括更改本身)来执行分派。由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可以更灵活地标识应当与消息一起发生的处理。因此,可启用理想地适于该消息的专门和灵活处理。

权利要求书

1: 在一包括能够从网络环境中的其它计算系统接收消息的一接收计算系统的 网络环境中,所述接收计算系统包括把一已接收消息分派给一种或多种方法的组用 来进一步处理的一分派组件,纵然所述分派机制不能对所述分派相关的某些消息进 行直接访问、纵然该信息在由所述接收计算系统接收的消息中不存在或无法从其中 容易地获取时,一种由所述分派机制用来分派已接收消息的方法,其特征在于,所 述方法包括: 接收一消息的动作; 在传送给所述分派组件之前,令所接收的消息通过位于所述消息的接收路径 上的一个或多个接收路径组件的动作; 所述一个或多个接收路径组件的至少一个用至少一个改动来更改所述消息的 动作; 所述分派机制从所述接收路径接收所更改的消息的动作;以及 所述分派机制使用可从所述至少一个更改中获取的信息把所述消息分派给一 种或多种方法的组用来作进一步处理的动作。
2: 如权利要求1所述的方法,其特征在于,所述消息包括简单对象访问协议 (SOAP)封装,且其中,所述一个或多个接收路径组件的至少一个更改所述消息 的动作包括: 把一具有附加信息的SOAP标题添加到所述消息的动作。
3: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 把至少一个数据字段添加到所述消息的动作。
4: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 更改所述消息中的至少一个数据字段的动作。
5: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 从所述消息中删除至少一个数据字段的动作。
6: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 一接收组件更改所述消息的动作。
7: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 一不同于所述接收组件的接收路径组件更改所述消息的动作。
8: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 一单独接收路径组件更改所述消息的动作。
9: 如权利要求1所述的方法,其特征在于,所述一个或多个接收路径组件的 至少一个更改所述消息的动作包括: 多个接收路径组件更改所述消息的动作。
10: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括标识接收 所述消息的连接的连接标识。
11: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括用于接收 所述消息的协议类型。
12: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括接收所述 消息的时间。
13: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述消 息的处理优先级相关的信息。
14: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述消 息发送者状态相关的信息。
15: 如权利要求1所述的方法,其特征在于,所述至少一个更改包括与所述计 算系统负载相关的信息。
16: 如权利要求1所述的方法,其特征在于,所述分派机制使用所述至少一个 更改把所述信息分派给一种或多种方法的组以作进一步处理的所述动作包括: 访问一涉及对所述消息的所述至少一个更改中存在的信息的分派规则的动 作;以及 根据所述分派规则分派所述消息的动作。
17: 如权利要求16所述的方法,其特征在于,所述分派规则是使用一个或多 个XPATH语句来表达的。
18: 一种在一网络环境中使用的计算机程序产品,所述网络包括能够从所述网 络环境中的其它计算系统接收消息的一接收计算系统,所述接收计算系统包括把已 接收消息分派给一种或多种方法的组以作进一步处理的一分派组件,所述计算机程 序产品用以执行一种所述分派机制用来分派已接收消息的方法,即使所述分派机制 不能对所述分派相关的某些消息进行直接访问,并且即使所述信息在所述接收计算 系统接收的信息中不存在或无法从其中容易地获取,所述方法也能够分派消息,所 述计算机程序产品包括具有计算机可执行指令的一种或多种计算机可读介质,其特 征在于,所述指令在由所述计算系统的一个或多个处理器执行时,促使所述计算系 统执行以下动作: 访问一已接收消息的动作; 用至少一个改动来更改所述消息的动作;以及 至少间接地通过一个或多个其它接收路径组件向所述分派机制提供所述已更 改消息,使得所述分派机制可使用可从所述至少一个更改中获取的信息来把所述消 息分派给一种或多种方法的组以作进一步处理的动作。
19: 如权利要求18所述的计算机程序产品,其特征在于,所述消息包括简单 对象访问协议(SOAP)封装,且其中,用来执行所述一个或多个接收路径组件的 至少一个更改所述消息的动作的计算机可执行指令包括用来执行以下动作的计算 机可执行指令: 把具有附加信息的SOAP标题添加到所述消息的动作。
20: 如权利要求18所述的计算机程序产品,其特征在于,用来执行所述一个 或多个接收路径组件的至少一个更改所述消息的动作的计算机可执行指令包括用 来执行以下动作的计算机可执行指令: 把至少一个数据字段添加到所述消息的动作。
21: 如权利要求18所述的计算机程序产品,其特征在于,用来执行所述一个 或多个接收路径组件的至少一个更改所述消息的动作的计算机可执行指令包括用 来执行以下动作的计算机可执行指令: 在更改所述消息中的至少一个数据字段的动作。
22: 如权利要求18所述的计算机程序产品,其特征在于,用来执行所述一个 或多个接收路径组件的至少一个更改所述消息的动作的计算机可执行指令包括用 来执行以下动作的计算机可执行指令: 从所述消息中删除至少一个数据字段的动作。
23: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括标识接收所述消息的连接的连接标识。
24: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括用于接收所述消息的协议类型。
25: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括接收所述消息的时间。
26: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括与所述信息的处理优先级相关的信息。
27: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括与所述消息发送者状态相关的信息。
28: 如权利要求18所述的计算机程序产品,其特征在于,所述至少一个更改 包括与所述计算系统的负载相关的信息。
29: 如权利要求18所述的计算机程序产品,其特征在于,所述一种或多种计 算机可读介质是物理存储器介质。
30: 如权利要求29所述的计算机程序产品,其特征在于,所述物理存储器介 质包括持久存储器。
31: 如权利要求29所述的计算机程序产品,其特征在于,所述物理存储器介 质包括系统存储器。
32: 在一包括能够从网络环境中的其它计算系统接收消息的一接收计算系统 的网络环境中,所述接收计算系统包括一把已接收消息分派给一种或多种方法的组 以作进一步处理的分派组件,,纵然所述分派机制不能对所述分派相关的某些消息 进行直接访问、纵然所述信息在所述接收计算系统接收的消息中不存在或无法从中 容易地获取时,所述分派机制用来分派已接收消息的一种方法,其特征在于,所述 方法包括: 在被提供给所述分派机制之前,用至少一个改动来更改一已接收消息的步骤; 以及 所述分派机制使用可从所述至少一个更改中获取的信息把所述消息分派给一 种或多种方法的组以作进一步处理的动作。
33: 如权利要求32所述的方法,其特征在于,用来更改已接收消息的所述步 骤包括: 接收所述消息的动作; 在被传送给所述分派组件之前,令所述接收消息通过位于所述消息的接收路 径上的一个或多个接收路径组件的动作; 所述一个或多个接收路径组件的至少一个用至少一个改动来更改所述消息的 动作; 所述分派机制从所述接收路径接收所更改的消息的动作。
34: 一种计算系统,其特征在于,它包括: 一个或多个处理器; 系统存储器; 具有计算机可执行指令的一种或多种计算机可读介质,在由所述一个或多个 处理器执行时,所述指令促使所述计算系统在所述系统存储器中例示如下: 位于消息被传递给一分派组件之前的所述消息的接收路径中的一个或多个接 收路径组件,其中,所述接收路径组件的至少一个被配置为用至少一个改动来更改 所述消息;以及 把所接收的消息分派给一种或多种方法的群组以作进一步处理的所述分派组 件,所述分派组件使用可从所述至少一个改动中获得的信息来分派所述消息。

说明书


使用插入消息更改向代码自适应地分派接收消息

    【技术领域】

    本发明涉及计算技术,尤其涉及在分派之前使用插入的消息更改以动态方式向代码分派接收到的消息的机制。

    背景技术

    计算技术已经改变了我们工作和娱乐的方式。如今计算系统的形式千差万别,包括台式计算机、膝上型计算机、输入板PC、个人数字助理(PDA)、家用装置等等。在其最基本形式中,计算系统包括系统存储器和一个或多个处理器。系统存储器中的软件可由处理器执行,以指示计算系统的其它硬件执行期望功能。

    软件可以是相当复杂的,常常由数千行甚至数百万行的源代码编译或翻译而来。为了将软件开发过程进行一定的组织,整个任务可能会分成执行更为具体的动作的可管理子例程或方法。然后这些方法被相互关连以执行软件更为复杂的完整功能性。在消息处理系统中,接收消息由分派机制分派,用来由依赖于分派机制可访问的周围相关事实的一种或多种这些方法进行处理。

    为了执行最适当的分派,对分派组件而言能访问尽可能多的相关信息将是有利的。然而,并不是系统中的所有组件对信息可进行同等地访问。例如,分派机制可能没有与接收该消息的连接、用于传递消息的协议、消息交换的历史、当前负载平衡状态、消息接收时间、消息发送者的重要性等等有关的直接信息。此外,相关信息可能并未在消息本身中出现,或至少不易从消息中访问。

    因此,有这样的机制将是有利的,即允许分派机制在执行对消息的分派时更容易把先前未知或难以访问的信息考虑在内,以便更为灵活地对消息做适当处理。

    【发明内容】

    在网络环境中实现的本发明的原理克服了本领域现有技术的前述问题,该网络环境包括能够从网络环境中的其它计算系统接收消息的接收计算系统。接收计算系统包括把已接收的消息分派给一种或多种方法以作进一步处理的分派组件。本发明的原理涉及分派组件分派接收消息的机制,这种机制即使分派机制对分派相关的一些消息不能直接访问、由接收计算系统接收时信息未显示或不易从消息中获取。

    在接收到消息之后,消息在传送给分派组件之前通过位于消息接收路径上的一个或多个接收路径组件。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。这种信息可包括,例如,接收消息的连接、用于接收消息的协议类型、接收消息的时间、消息的处理优先级、消息发送者的状态、计算系统的负载、或任何对分派有帮助的其它信息。分派组件接收已更改消息,并使用来自已更改消息的信息(可能包括更改本身)来执行分派。

    由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可更灵活地标识应当与消息一起发生的处理。因此,可启用理想地适于该消息的专门和灵活处理。例如,如果发送者是高容量客户,消息可由与如果发送者是低容量客户时不同的代码进行特别处理。在此情形中,接收路径上可访问客户数据库的组件可把适当客户状态加到消息中,使得消息可由分派组件进行适当的分派。

    本发明的其它特征和优点将在以下描述中陈述,且阅读以下描述可以部分地清楚这些特征和优点,或通过发明的实践来获知。本发明的特征和优点可通过在所附权利要求中特别指出的仪器和组合来实现和获取。阅读以下描述和所附权利要求书,本发明的这些和其它特征将变得更明显,或由此后陈述的发明实践中获知。

    【附图说明】

    为了描述能获取本发明的上述和其它优点及特征的方式,以上简述的本发明的更详细描述将参照附图所示的特定实施例来呈现。要理解,这些附图仅描绘了本发明的典型实施例,且因此不能被视为对其范围的限制,通过使用以下附图,本发明用其它特性和细节加以描述和解释:

    图1示出了可实现本发明特征的合适的计算系统;

    图2示出了根据本发明诸原理可协作交互以执行已接收消息的灵活分派的各种组件;

    图3示出了根据本发明诸原理计算系统用来执行已接收消息的灵活分派的方法的流程图;以及

    图4示出了使用已更改消息来分派的方法的流程图。

    【具体实施方式】

    本发明的原理涉及一种在接收到消息之后,消息在传送给分派组件之前通过位于消息的接收路径上的一个或多个接收路径组件的机制。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。分派组件接收已更改消息,并使用来自已更改消息的信息(可能包括更改本身)来执行分派。由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可以更灵活地标识应当与信息一起出现的处理。因此,可启用理想地适合该消息的专门和灵活处理。

    参看附图,其中,相同的标号指向相同元素,本发明可被示为在适当计算环境中实现。以下说明基于本发明的所示出的实施例,且不应当被视为对于未在此明确描述的可选实施例而限制本发明。

    在以下描述中,除非特别注明,本发明参照由一台或多台计算机执行的动作和操作的符号表示进行描述。由此,可以理解,这种常被称为计算机可执行的动作和操作包括由计算机处理单元对以结构化形式表示数据的电子信号的操纵。该操纵转换了数据或将在计算机存储系统的位置中维护它,从而以本领域技术人员都理解的方式重新配置或者变换了计算机的操作。在其中维护数据的数据结构是带有由数据格式定义的特定属性的存储器的物理位置。然而,尽管本发明在前述上下文中进行描述,这并不意味着受到限制,因为本发明技术人员将理解此后描述的一些动作和操作也能以硬件实现。图1示出了对这些装置有用的示例计算机体系结构的示意图。

    为了进行描述,所描绘的体系结构仅是适当环境的一个示例,且并非旨在暗示对本发明使用范围或功能的任何限制。计算系统也不应当被解释为对图1中所示任何组件或其组合有任何依赖或需求。

    本发明可用许多其它通用或专用计算或通信环境或配置来操作。众所周知的适用于本发明的计算系统、环境和配置包括,但不限于,移动电话、袖珍式计算机、个人计算机、服务器、多处理器系统、基于微处理器的系统、小型机、大型计算机、以及包括任意上述系统或装置的分布式计算环境。

    在其最基本配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是易失的(诸如RAM)、非易失的(诸如ROM、闪存等)、或者是两者的某一组合。该最基本配置在图1中由虚线106示出。

    存储介质装置可有附加特征和功能。例如,它们可包括附加存储器(可移动的和不可移动的),其包括但不限于PCMCIA卡、磁盘和光盘、以及磁带。这种附加存储器在图1中由可移动存储108和不可移动存储110示出。计算机存储介质包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失的和非易失的、可移动的和不可移动的介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存、其它存储技术、CD-ROM、数字多功能盘、其它光学存储、磁盒、磁带、磁盘存储、其它磁性存储装置、以及用来存储所需信息并可由计算系统访问的任何其它介质。

    如此处所使用的,术语“模块”或“组件”指的是在计算系统上执行的软件对象或例程。在此描述的不同组件、模块、引擎和服务可被实现为在计算系统上执行的对象或进程(例如单独的线程)。尽管在此描述的系统和方法优选地以软件实现,然而软件和硬件实现或硬件实现也是可能的和可构想的。

    计算系统100还可包含允许主机经网络120与其它系统和装置通信的信道112。信道112是通信介质的示例。通信介质通常包含诸如载波或其它传输介质等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包括任何信息传递介质。作为示例,而非限制,通信介质包括诸如有线网络和直接有线连接的有线介质,以及诸如声学、无线电、红外和其它无线介质的无线介质。在此使用的术语“计算机可读介质”包括存储介质和通信介质。

    计算系统100还可具有输入组件114,诸如键盘、鼠标、笔、语音输入组件、触摸输入装置等等。输出组件116包括屏幕显示、扬声器、打印机等等,以及用于驱动它们的呈现模块(常称作“适配器”)。计算系统100有电源118。所有这些组件在本领域内是众所周知的,无需在此赘述。

    图2示出了根据本发明原理可协作交互以执行已接收信息的灵活分派的各种组件200。当在图1的计算系统100的环境中实现时,各种组件可在存储器104中例示和/或持久保存在诸如可移动存储108和/或不可移动存储110的持久存储器中。例如,持久存储器可以是磁盘。

    消息201在包括一个或多个接收路径组件的消息接收路径202上接收。例如,消息接收路径202被示为包括接收路径组件202A,以及由水平椭圆202B表示的可能的其它路径组件。接收路径组件可以是,例如,连接层、解密层、访问控制层、环境分析层、连接管理器、应用程序、或在向分派组件205提供消息之前能够访问消息201的任何其它组件。各种接收路径组件可在例如图1计算系统100的存储器中实现。

    配置至少一个接收路径组件,以用至少一个改动来更改消息。已更改消息在图2中被示为已更改消息201’,其带有由添加的信息204表示的更改所表示的附加信息。更改可包括,例如,一个或多个数据字段的添加、一个或多个数据字段的删除和/或一个或多个数据字段的更改。例如,如果消息201是简单对象访问协议(SOAP)封装,则添加的信息204可被添加、删除或更改SOAP标题(header),尽管如此,对消息201正文中数据字段的更改并不被本发明原理排除在外。该信息代表可由更改学习或获知的任何新信息。例如,分派代码可仅对是否作更改感兴趣,而不对更改是什么感兴趣。

    分派组件205接收已更改消息201’,并使用分派规则206和来自已更改消息201’的信息(可能包括添加的信息204)来标识要把信息发送给一种或多种方法的哪一组。添加的信息204可以是对分派组件有帮助的信息的描述。在所示的示例中,已更改消息201’可发送给例如方法207用来作进一步处理。接收路径组件可访问分派组件205不能轻易访问甚至完全不能访问的信息。例如,接收路径组件202A可访问的信息203A可能不能被已更改消息201’访问。因此,通过允许接收路径组件向消息201添加信息,分派组件205可使用它通常不能轻易访问(或根本不能访问)的信息来对向哪里分派消息201’作出更智能的判定。

    图3示出了分派机制用于分派接收到消息的方法300的流程图,即使该分派机制可能不能直接访问某些分派相关信息,并且即使该信息在由接收计算系统接收的消息中不存在或无法从中容易地获取,该方法也能分派接收的消息。首先,接收消息(动作301)。然后,消息在传送给分派组件之前通过位于消息接收路径上的一个或多个接收路径组件(动作302)。当此发生时,至少一个接收路径组件用至少一个改动来更改消息(动作303)。该更改可由一个或一个以上接收路径组件执行,诸如连接层、解密层、访问控制层、环境分析层、连接管理器、应用程序、或在由分派组件接收之前消息路径上的任何其它组件。分派组件接收消息的更改(动作304)连同消息中的其它可能信息,用来评估分派规则列表以确定向哪里分派已更改消息(动作305)。

    图4示出了使用已更改消息来分派的方法400的流程图。首先,分派组件访问涉及消息更改中存在的信息的分派规则(动作401)。然后,分派组件根据分派规则分派消息。在一实施例中,消息可以是分级结构化的文档。在该情形中,尽管不是必需,分派规则可使用XPATH语句来表达。

    例如,添加的信息204可以是标识接收消息的连接的连接标识。这将使分派机制能够把消息分派给对应于该实例的适当的代码实例。

    可选地,添加的信息可以是,例如用于接收消息的协议类型。这将帮助分派适于该协议的代码。例如,某些代码可适用于确认宣称为符合特定协议的消息。

    添加的信息可包括收到消息的时间。如果消息在非工作时间收到,与在工作时间收到相比,可能会在其上执行某些处理。在此情形中,分派机制可在给出接收时间时分派适当代码。

    添加的信息可包括处理优先级。例如,表示大量货物订单的消息和来自新客户的消息可被确定有高优先级。接收路径组件之一可访问允许标识处理优先级的客户数据库。因此,在给出处理优先级时,即使在接收的消息本身中并未指定处理优先级,分派组件也可向适当代码分派消息。

    添加的信息还可包括与发送者状态相关的信息。例如,常见客户可具有某一状态标识符,新客户可有另一状态标识符,而低容量客户则具有又一标识符。该信息可被添加到消息中,以在给出消息发送者状态时允许适当分派。

    添加的信息还可包括计算系统的当前工作负载。把消息发送给负载较少的代码是适当的。

    这些表示了在分派消息时有用的添加的信息类型的示例。它们并非旨在成为穷尽列表。本领域技术人员将认识到(读完本说明书后),本发明原理允许消息在接收路径上时被添加任何各种各样的信息。因此,可使用各种各样的信息来更灵活和更适当地分派消息。

    本发明可以其它特定形式实施而不会背离其精神或本质特征。所描述的实施例在所有方面都被视为仅仅是说明性的,而不是限制性的。因此本发明的范围由所附权利要求书而不是前面的说明书来指示。落入权利要求的等效技术方案的含义和范围之内的所有改变都被包括在其范围里。

使用插入消息更改向代码自适应地分派接收消息.pdf_第1页
第1页 / 共15页
使用插入消息更改向代码自适应地分派接收消息.pdf_第2页
第2页 / 共15页
使用插入消息更改向代码自适应地分派接收消息.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《使用插入消息更改向代码自适应地分派接收消息.pdf》由会员分享,可在线阅读,更多相关《使用插入消息更改向代码自适应地分派接收消息.pdf(15页珍藏版)》请在专利查询网上搜索。

在接收到消息之后,令消息在传送给分派组件之前通过定于消息的接收路径上的一个或多个接收路径组件的机制。一个或多个接收路径组件可更改消息以包括对分派组件有帮助的信息,以便执行分派。分派组件接收已更改消息,并使用来自已更改消息的信息(可能包括更改本身)来执行分派。由于消息被更改为包括对分派组件有帮助的附加信息,分派组件可以更灵活地标识应当与消息一起发生的处理。因此,可启用理想地适于该消息的专门和灵活处理。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1