当前位置: 首页 > 专利查询>郁晓东专利>正文

一种处理非同期电子票务的消息队列制造技术

技术编号:8801398 阅读:225 留言:0更新日期:2013-06-13 06:00
在现有订票系统和最终用户之间,导入一个购票请求队列中间件,利用中间件中的队列组件,将购票要求存储于购票请求队列。利用中间件中的消息消费者程序,处理队列中的消息。消息消费者程序根据订票系统的处理能力,按照一定时间间隔分批取出一定数量的请求。利用中间件中的非同期购票窗口程序,和用户进行非同期交互。处理按照非同期方式进行,订票系统在处理能力许可下,均速处理被分配的请求。通过上述方法解决,使用高峰时系统无法提供有效的服务的问题。

【技术实现步骤摘要】

本专利技术涉及电子商务领域,尤其涉及电子商务的电子票务领域。
技术介绍
1.背景在涉及铁路电子票务中,季节性和瞬间性的高峰处理量让系统无法承担。对于巨大处理量,通常采用多台服务器进行分散处理,然而由于我国体制和人口的问题,采用通常的处理方法仍旧难以解决问题,为了承受季节性和瞬间性的高峰处理,导入大量的服务器在运行成本上也不是一个效率的方法。订票系统无法在高峰有效处理服务的另一个原因是,一个交易(Transaction)需要处理的时间太长,在交易结束(commit)之前,要长时间保持一个会话(Session),长时间保持Session和Transaction的信息而不释放,导致大量资源被无效占用,以至于系统无法有效提供稳定的服务。而另一方面,订票系统除高峰期以外,系统通常处于闲暇状态,如果能有效利用其闲暇状态的处理能力,就能解决高峰处理量问题。2.课题采用新的方式处理电子票务的订购,解决1.季节性和瞬间性的高峰处理问题,2.长时间Session和Transaction大量消耗资源的问题。3.专利技术目标基于以上课题,本专利技术提出新处理方法,通过独立的购票请求队列中间件(theMiddleware of Request Messages Queue)来处理订票业务,购票请求队列中间件成为处理要求的缓冲,通过队列来处理等待,缩短原系统的Session和Transaction的时间,从而保证系统更加有效地利用资源。
技术实现思路
导入购票请求队列中间件,用以控制1.订票要求,2.分配服务资源,3.通过非同期的应答方式,将服务结果返回用户。本专利技术的进步性在于: 1.通过消息队列提高系统服务质量,具体为: (1)队列管理 所述方法能够避免大量用户为了订票反复对系统提出请求 (2)队列优先级管理 所述方法能够根据商务要求,加入优先处理 2.非同期的回复管理,不必在线等待服务处理结果附图说明图1系统概要2本专利技术购票请求队列中间件结构3本专利技术的处理时序4消息消费者程序处理流程具体实施例方式在原有订票系统之前,导入处理购票要求的购票队列管理中间件。在中间件中部署1.请求要求队列、2.队列处理处理方法,并和原系统连接。中间件作为单独的产品部署,不改变原系统的结构。 基于上述背景,本专利技术采用如下图所述结构:图1系统概要图 如图所示,本专利技术提供的中间件,以及和本专利技术中间件相关单元构成的系统结构如下: 1.用户1、和用户所使用的用户终端10 2.网络4 通过网络,传送 HTTP,SMTP, SMS, PushNotification 3.本专利技术购票请求队列中间件2 在购票请求队列中间件中,管理购票请求20,如果原订票系统是多重服务器构成,则通过配分管理算法,将请求平衡分配到(Load Balancer)订票系统3。 4.订票系统。 本专利技术和订票系统连接,但不涉及订票系统内部处理。订票系统为现有服务,属于公众知识。 5.原订票系统的数据库31。 为了控制队列人数,本专利技术中间件采用直接查询空座数据的方式。图2本专利技术购票请求队列中间件结构图 如图所示,本专利技术的购票请求队列中间件结构2为: 1.队列组件21 采用队列数据结构,也可以使用标准EnterpriseJava定义的JMS (Java MessageService), IBM WebSphere MQ等现有组件。所述JMS和MQ具有优先级处理功能,利用上述产品,只需要设定priority项目。如不使用上述产品,自行构筑队列结构,也可以在数据结构中,加入优先级项,通过对优先级排序,来调整队列中的顺序。排序方法和队列结构为一般公众知识。 2.购票请求队列22 在队列组件21中定义,购票请求队列,根据实际业务,定义队列的最大长度,每条信息的最大长度,定义队列的保存方法,在实际中可以采用文件保存或者数据库保存方法。 3.购票窗口程序23 代替原系统提供的售票界面,使用HTTP post方式,将用户输入的购票请求传给系统,和原系统的售票界面不同,HTTP返回的不是交易结果,而是购票请求受理通知。所述购票窗口程序使用WEB程序代码实现,通常使用JSP和java servlet也可以使用其他同等技术代替。 4.消息消费者程序24 用于监视消息队列的事件,当消息队列22中有请求消息时,对请求进行处理,代理结果返回用户。消息消费者程序24由上位MessageDrivenBean (MDB)启动,为保证threadSafe,采用singleton等设计惯例实装,消息事件通过MessageListener来监视。消息消费者程序从消息队列22中取出消息,并进行处理。消息消费者程序处理方法,在后续章节中详细叙述。图3本专利技术的处理时序图 如图所示,本专利技术处理时序为 51.用户I使用用户端末10,访问购票窗口程序23,在购票窗口程序23所提供的购票画面中,填写所需的购票信息, 52.购票窗口程序23,通过http的Post方式收到购票信息,和用户信息,并将购票信息提交购票请求队列23 53.购票窗口程序23,不等待原系统的处理结果而直接返回用户,并提交用户受理结果。用户选择在线ajax模式等待,或者是短信、邮件、頂等方式,非同期接收处理结果; 54.购票请求队列23,写入购票请求信息,并按照优先级排序。 55.消息消费者程序24,通过Listener,收到消息事件 56.消息消费者程序24,取出一定数量(η)条的消息,并进行处理 57.消息消费者程序24将购票要求,通过原来的httppost方式传输给原系统(对于新建系统,只传送Data Object) 58.原系统按照原来的处理,完成订票交易,并返回处理结果 59.消息消费者程序24,通过Ajax返回处理结果,如果用户选择了离线等待,则发送短信等非同期方式 S10.如果消息队列23为空,消息消费者程序24进入休息状态,否则消息消费者程序24继续接收一定数量条的消息消息消费者程序结构 本专利技术的消息消费者程序,以Java的Message Driven Bean为例说明。消息消费者程序实装 MDB 和 MessageListener public class T i cketRequestQCMDB implements MessageDrivenBeanjMessageListener 并在onMessage方法下,加入启动消息消费者的方法,如:本文档来自技高网...

【技术保护点】
一种处理非同期电子票务的购票请求队列中间件,所述购票请求队列中间件,其特征在于(1)通过网络和用户终端相连接(2)非同期回复用户订票结果(3)按照优先级,按照一定间隔一定数量地,将队列中购票请求提交订票系统处理。

【技术特征摘要】
1.一种处理非同期电子票务的购票请求队列中间件,所述购票请求队列中间件,其特征在于 (1)通过网络和用户终端相连接 (2)非同期回复用户订票结果 (3)按照优先级,按照一定间隔一定数量地,将队列中购票请求提交订票系统处理。2.如权利要求1所述购票请求队列中间件,其特征在于包含 (O队列组件,用于物理保存数据 (2)购票请求队列,用于处理购票请求 (3)购票窗口程序,用于处理和用户交互 (4)消息消费者程序,用于处理请求。3.如权利要求2...

【专利技术属性】
技术研发人员:郁晓东
申请(专利权)人:郁晓东
类型:发明
国别省市:

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

1