企业服务总线的消息处理方法

文档序号:7751142阅读:283来源:国知局
专利名称:企业服务总线的消息处理方法
技术领域
本发明涉及电子商务交易技术领域,尤其涉及一种企业服务总线的消息处理方法。
背景技术
目前,大型企业网之间的应用集成服务日益复杂,传统的点对点式的系统集成显得捉襟见肘。为了解决这一问题,人们提出了请求处理方法(enterprise service bus,简 称ESB)的概念,即组成企业网的各个子系统以类似于接插件的方式接入一个公共的信息 平台,彼此之间相对独立,由调度引擎进行统一的数据调度,以高效整合数据和业务流 程。按照著名的IT研究与顾问咨询机构Gartner公司所给的定义,请求处理方法是一种 体系结构,利用企业的Web服务、请求中间件、智能路由和转换技术,是传统中间技术 与XML、Web服务等技术结合的产物,ESB提供了网络中最基本的连接中枢。请求处 理方法技术的目标是以标准化的方式企业应用集成,完成企业间应用系统的互联、互通 和互操作,其中的标准化工作包括连接器标准化、管理标准化、业务请求标准化合请求 标准化等。ESB的出现改变了传统的软件架构,可以提供比传统中间软件产品更为廉价 的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运 作,了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处 理模式,以及分布式的管理方法,它支持基于内容的路由和过滤,具备了复杂数据的传 输能力,并提供一系列的标准接口。例如,申请号为“200810227316.9”的中国专利申 请公开了一种企业服务总线的实现方法。现有的电子商务交易平台,服务使用者直接调用服务提供者是多对多的,杂乱 无序的,很难对行内的服务进行维护管理;服务调用者与后台服务的间耦合度过高,往 往牵一发而动全身。且由于电子商务交易平台的服务资源有限,在实际应用中常常面 临在同一时段内,使用的用户过多,需要处理的消息拥挤的问题,所以充分利用服务资 源,提高效率成为关键。

发明内容
本发明解决的问题提供一种消息处理方法,应用于企业服务总线中,充分利用 系统资源,提高总线系统的使用效率。为解决上述问题,本发明提供一种企业服务总线的消息处理方法,包括接收消息,按预定规则进行排序存于消息队列中,所述消息中包括有至少一个 服务请求;按照所述消息队列的顺序,将所述消息队列中的消息传输至消息处理线程组存 储;所述消息处理线程组将存储的消息传输至消息处理管道组,所述消息处理管道组具有多个消息处理管道,每个消息处理管道对应接收并处理一种类型的服务请求;其中,所述 消息处理线程组具有多个消息处理线程,每个消息处理线程接收一 个消息,并将接收到的消息中多个服务请求进行处理按照服务请求的类型分配至对应 的消息处理管道。可选的,所述消息处理线程组具有预定数量的上限值。可选的,所述按预定规则进行排序是指按消息发送或接收的时间顺序进行排序。可选的,接收时间在前的优于时间在后的消息传输至消息处理线程。可选的,所述消息处理线程中的消息传输至消息处理管道后,同时释放对应的 信息所占消息处理线程空间。可选的,释放对应的信息所占消息处理线程空间后,按照消息队列顺序,将消 息队列中未传输至消息线程组的消息传输至消息处理线程。可选的,所述消息队列接收的消息中,包括至少一个服务请求的消息被加密, 在所述消息处理管道处理服务请求前,还包括对所述消息进行解密。可选的,所述消息处理管道的处理阶段包括根据与消息对应的预定流程处理 消息,并根据预定流程中的预定规则调用应用模块。与现有技术相比,本发明具有以下优点本发明提供一种企业服务总线的消息 处理方法,通过消息队列和消息处理线程组存储消息,并通过消息处理线程组,将存储 的每个消息中的多个服务请求进行分配至对应的消息处理管道中,所述消息处理线程组 可以并行处理多个消息,充分利用企业服务总线系统的服务资源,提高企业服务总线的 系统效率。


图1是本发明具体实施例的企业服务总线内部架构示意图;图2是本发明具体实施例的企业服务总线的消息处理方法的流程框图。
具体实施例方式现有技术中,电子商务交易平台的服务资源有限,在实际应用中常常面临在同 一时段内,使用的用户过多,需要处理的消息拥挤的问题,所以充分利用服务资源,提 高效率成为关键。为解决上述问题,本发明提供一种企业服务总线的消息处理方法,包括接收 消息,按预定规则进行排序存于消息队列中,所述消息中包括有至少一个服务请求;按 照所述消息队列的顺序,将所述消息队列中的消息传输至消息处理线程组存储;所述消 息处理线程组将存储的消息传输至消息处理管道组,所述消息处理管道组具有多个消息 处理管道,每个消息处理管道对应接收并处理一种类型的服务请求。其中,所述消息处 理线程组具有多个消息处理线程,每个消息处理线程接收一个消息,并将接收到的消息 中多个服务请求进行处理按照服务请求的类型分配至对应的消息处理管道。为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发 明的具体实施方式
做详细的说明。
图1为本发明方法所应用的企业服务总线系统001,包括消息接收模块100,用于接收多个用户(未图示)发送的消息,并将消息按预定 规则排队,存于相应消息队列中。其中,排队后的消息队列分别为消息队列1、消息队列 2、消息队列3、消息队列4、……消息队列η ;消息处理线程组200,用于从所述消息接收模块100接收已排序的消息;消息处 理线程组200包括预定数量的消息处理线程,分别为处理线程1、处理线程2……处理线 程η。处理线程组310中的处理线程的数量为预定的数量,此数量根据电子交易平台的处 理能力设定;消息处理管道组300,用于接收所述消息处理线程组200传输的消息,并对所述 消息进行处理,所述消息处理管道组300具有多个消息处理管道。所述企业服务总线系统001还包括接收通道(未图示)服务使用端的用户通过 接收通道(未图示)向所述消息处理系统001的消息接收模块100发送消息。若服务使 用端的用户一次发送的消息中包括有多个服务请求,则在所述接收通道100接收消息之 前,对所述多个服务请求进行打包成一个消息,并将所述打包后的消息暂存于一个消息 队列中。下面结合图1示出的企业服务总线结构,对本发明企业服务总线的消息处理机 制进行说明,同时参考图2,本发明消息处理方法包括执行步骤S10,接收消息,按预定规则进行排序存于消息队列中。所述预定规 则为用户发出的时间顺序或消息接收的时间顺序,所述接收的消息被加密,一个所述消 息中至少包括一个服务请求;执行步骤S20,从所述消息队列中读取消息。读取之后,所述消息处于等待传 输的状态;执行步骤S30,判断消息处理线程是否超过上限值。其中,所述上限值为预定 数量,即判断所述消息处理线程是否具有空闲的消息处理线程若具有空闲的消息处理 线程,则将处于等待传输状态的消息传输至对应的空闲消息处理线程,并进入后续步骤 S40;若不具有空闲的消息处理线程,则进入等待状态,即等待空闲的消息处理线程;执行步骤S40,启动消息处理线程处理所述读取的消息,其中,所述处理为将所 述消息处理线程组中限定数量的消息传输至消息处理管道组。接收时间在前的优于时间 在后的消息传输至消息处理线程。其中,所述消息处理线程组具有多个消息处理线程, 每一个消息处理线程接收一个消息,并将一个消息中的多个服务请求进行处理分别分 配至对应的消息处理管道;执行步骤S50,释放已处理消息占用的消息处理线程;执行步骤S60,判断消息队列是否还有消息,如果所述消息队列中还具有未传输 处理的消息,则执行步骤S20,按照消息队列顺序,从所述消息队列中读取消息,并将所 述消息传输至空闲的消息处理线程;若所述消息队列中不具有未传输处理的消息,则结
束ο 其中,所述按预定规则进行排序是指按用户发送消息的时间顺序或消息接收模 块接收的时间顺序进行排序,所述时间顺序可以是用户发送消息的先后顺序,也可以是 企业服务总线接收消息的先后顺序;另外,消息队列是一种采用先进先出(First In andFirst Out,即FIFO)存取消息的数据结构,保证了时间在前的消息比时间在后的消息优先 处理,以保证消息处理的时序性。在本实施例中,还通过调用加密单元,将接收的消息 加密后存于消息队列中。 本发明的其他实施例中也可以根据其他预定规则对接收的消息进行排队形成消 息队列,例如根据消息的优先级(重要性)进行排队。其中,在步骤SlO中,当所述消息具有两个以上的服务请求时,则在接收所述 消息之前,还包括对所述消息进行打包成一个消息,暂存于一个消息队列之中。所述消息处理管道组接收消息的过程中,所述消息处理管道与消息中的服务请 求存在对应的关系,每一种服务请求对应相同种类的消息处理管道,在消息处理管道接 收或者获取消息时,由对应种类的消息处理管道按照预定的流程对其进行处理。若所述 消息中包括有多个服务请求,则所述消息传输至消息处理管道之前,还包括将所述消息 进行拆分成服务请求,并将所述服务请求传输至相对应的消息处理管道中。其中,将消 息拆分成服务请求可以在进入所述消息队列暂存前进行,也可以在进入所述消息处理管 道处理前进行。本实施例中,每一种消息处理管道包括解密阶段(stage)和处理阶段,所述解密 阶段对加密的信息进行解密;所述处理阶段根据所述预定的流程处理消息,并根据预定 的流程中的预定的规则调用应用模块,并在处理之后,将所述消息的结果发送给对应的 客户端计算机。在其他实施例中,每一种消息处理管道可以包括不同的阶段,例如也可以包括 解压阶段。下面结合具体的企业服务总线的使用,对本发明消息处理系统和消息处理方法 进行详细说明。本发明中的所述消息可以为各种商品的交易消息,以钢材的电子商务交易为 例,商品为钢材,交易消息包括发布钢材现货的交易消息(对应于钢材的出库、入库), 合约的交易信息(对应于采购、销售的意向),还包括注册消息(对应于注册成为电子交 易平台的会员),更新商品消息,注销消息(对应于注销电子交易平台的会员),更新注 册消息(对应于更新会员信息),积分查询、信用查询等。由于电子交易平台与多个客户端通过标准接口连接,客户端对应于电子商务交 易中的服务使用者和服务提供者,服务使用者一般为需要通过电子交易平台进行电子商 务交易的用户,服务提供者可以为银行、物流提供商等。接收通道包括多个接收通道, 接收各个客户端发布的消息,一个消息中可以包含有若干服务请求。以服务使用端的用户需要查询积分和信用等与用户信息有关的消息为例说明, 服务使用端的用户发送查询用户信息的消息,首先,接收通道接收查询用户信息的信 息,由于用户信息包括积分、信用等信息,查询用户信息的信息包括积分查询请求,信 用查询请求等,接收通道在接收消息前调用消息打包模块,将查询用户信息对应的积分 请求、信用请求等打包,之后发送给消息接收模块;消息接收模块接收到查询用户信 息的信息后,调用加密模块,对该查询用户信息的消息进行加密,之后将该查询用户信 息的消息发送给消息队列,也可以由消息队列直接从接收通道中获取查询用户信息的消 息,在消息队列接收消息时,调用请求拆分模块,将查询用户信息拆分成对应的积分请求、信用请求等,因此进入消息队列中的查询用户请求可以为拆分后的消息;之后消息 队列中的消息进入消息处理线程,并经过消息处理线程的限定数量后,进入请求对应的 消息处理管道,如积分请求进入积分请求对应的消息处理管道,信用请求进入信用请求 对应的消息处理管道,由各自对应的消息处理管道对积分请求、信用请求进行处理,以 积分请求为例,积分请求对应的消息处理管道首先经解密阶段将加密的积分请求解密, 解密后进入积分请求的处理阶段,在该处理阶段,调用数据库,从数据库中查询积分。以上所述的具体实施例的积分请求的处理阶段,没有涉及具体的业务,只是简 单的积分查询,因此并没有涉及业务流程。电子交易平台涉及具体的交易业务,必然会 有业务流程,根据预定的业务流程才可以使业务顺利的进行,而且预定的流程将决定完 成一个交易需要的请求的种类。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领 域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对 本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依 据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发 明技术方案的保护范围。
权利要求
1.一种企业服务总线的消息处理方法,其特征在于,包括接收消息,按预定规则进行排序存于消息队列中,所述消息中包括有至少一个服务 请求;按照所述消息队列的顺序,将所述消息队列中的消息传输至消息处理线程组存储;所述消息处理线程组将存储的消息传输至消息处理管道组,所述消息处理管道组具 有多个消息处理管道,每个消息处理管道对应接收并处理一种类型的服务请求;其中,所述消息处理线程组具有多个消息处理线程,每个消息处理线程接收一个消 息,并将接收到的消息中多个服务请求进行处理按照服务请求的类型分配至对应的消 息处理管道。
2.如权利要求1所述的消息处理方法,其特征在于,所述消息处理线程组具有预定数 量的上限值。
3.如权利要求1所述的消息处理方法,其特征在于,所述按预定规则进行排序是指按 消息发送或接收的时间顺序进行排序。
4.如权利要求1所述的消息处理方法,其特征在于,接收时间在前的优于时间在后的 消息传输至消息处理线程。
5.如权利要求1所述的消息处理方法,其特征在于,所述消息处理线程中的消息传输 至消息处理管道后,同时释放对应的信息所占消息处理线程空间。
6.如权利要求5所述的消息处理方法,其特征在于,释放对应的信息所占消息处理线 程空间后,按照消息队列顺序,将消息队列中未传输至消息线程组的消息传输至消息处 理线程。
7.如权利要求1所述的消息处理方法,其特征在于,所述消息队列接收的消息中,包 括至少一个服务请求的消息被加密,在所述消息处理管道处理服务请求前,还包括对所 述消息进行解密。
8.如权利要求1所述的消息处理方法,其特征在于,所述消息处理管道的处理阶段 包括根据与消息对应的预定流程处理消息,并根据预定流程中的预定规则调用应用模 块。
全文摘要
本发明提供一种企业服务总线的消息处理方法,包括接收消息,按预定规则进行排序存于消息队列中,所述消息中包括有至少一个服务请求;按照消息队列的顺序,将消息队列中的消息传输至消息处理线程组存储;所述消息处理线程组将存储的消息传输至消息处理管道组,所述消息处理管道组具有多个消息处理管道,每个消息处理管道对应接收并处理一种类型的服务请求;其中,所述消息处理线程组具有多个消息处理线程,每个消息处理线程接收一个消息,并将接收到的消息中多个服务请求按照服务请求的类型,分配至对应的消息处理管道。本发明中消息处理线程组可以并行处理多个消息,充分利用企业服务总线系统的服务资源,提高企业服务总线的系统效率。
文档编号H04L29/06GK102025649SQ201010197428
公开日2011年4月20日 申请日期2010年6月4日 优先权日2010年6月4日
发明者虞钢 申请人:西本新干线股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1