The invention discloses a method for optimizing a server processing request by using a message queue, relating to the field of data communication. Set up the message queue to observe the status of the server in real time. The user's request first arrives at the message queue, not the server. If the server is idle, the request message is put directly into the executable message queue and pushed to the server for processing; if the server is busy, the requested message is placed at the end of the queue waiting for the message queue. In the meantime, if the request message is sent with a user or a different user and queued messages in the queue request message is the same, this request is no longer in the queue at the end of the queue, and waiting for the same request but the merger news already exists in the queue, waiting for execution. The executable message queue will backup the user's request before sending it to the server, and put it into the backup message queue to achieve reliable delivery and avoid duplication of messages. Messages are communicated between the queue end and the server using message passing.
【技术实现步骤摘要】
一种利用消息队列优化服务器处理请求的方法
本专利技术涉及数据通信
,具体是一种利用消息队列优化服务器处理请求的方法。
技术介绍
“消息”是在两台计算机间传送的数据单位。“消息队列”是在消息的传输过程中保存消息的容器。消息队列将消息从源传递到目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。传统的用户和服务器之间的通信不可避免通信过程的复杂性,而用户往往希望关注的只是最后得到的通知,利用消息队列可以很好的实现这一需求。
技术实现思路
本专利技术提供了一种利用消息队列优化服务器处理请求的方法,解决了消息队列中信息丢失和重复不能同时实现的问题,较好的实现了用户和服务器之间的分离,提高了服务器处理请求的效率。本专利技术是通过如下技术方案实现的:一种利用消息队列优化服务器处理请求的方法,包括用户和服务器,在用户与服务器之间有消息队列,所述消息队列处理、合并用户请求消息,将处理结果推送给服务器执行,提高服务器处理用户请求的效率。优选的是,所述消息队列分为三种类型:可执行消息队列:存放的用户请求直 ...
【技术保护点】
一种利用消息队列优化服务器处理请求的方法,包括用户和服务器,其特征在于:在用户与服务器之间有消息队列,所述消息队列处理、合并用户请求消息,将处理结果推送给服务器执行,提高服务器处理用户请求的效率。
【技术特征摘要】
1.一种利用消息队列优化服务器处理请求的方法,包括用户和服务器,其特征在于:在用户与服务器之间有消息队列,所述消息队列处理、合并用户请求消息,将处理结果推送给服务器执行,提高服务器处理用户请求的效率。2.根据权利要求1所述的一种利用消息队列优化服务器处理请求的方法,其特征在于:所述消息队列分为三种类型:可执行消息队列:存放的用户请求直接推送给相应的空闲服务器执行;排队等候消息队列:存放的用户请求按到达的先后顺序在此队列中排队等候;备份消息队列:存放复制过的用户请求消息。3.根据权利要求2所述的一种利用消息队列优化服务器处理请求的方法,其特征在于,用户请求到达消息队列后的处理过程如下步骤:步骤一:用户请求到达消息队列端后,消息队列判断此时服务器是否处于空闲状态;若是,则请求消息被放入可执行消息队列中,依次推送给服务器执行;步骤二:若服务器处于忙碌状态,则用户请求消息被放入排队等候队列,依次加入队列末尾排队等候;步骤三:当有新的用户请求到达后,消息队列将判断排队等候消息队列中是否有与该新到达的请求相同的消息:如果有,则依次遍历排队等候消息队列,找到与新到达请求相同的消息所处的位置,将两个请求消息进行合并,放入该位置;如果排队等候队列中没有与该请求相同的消息,则新到达的请求将被放到排队等候队列的末尾,等待执行;步骤四:当服务器由忙碌状态转换到空闲状态后,可执行消息队列将排队等候队列中存放的请求消息依次调入,并推送给服务器端执行;步骤五:推送请求消息之前,将备份一份此请求放入备份消息队列中。4.根据权利要求1至3任一项所述的一种利用消息队列优化服务器处理请求的方法,其特征在于:所述消息队列与所述服务器之间利用报文传送进行通信。5.根据权利要求4所述的一种利用消息队列优化服务器处理请求的方法,其特征在于:所述报文传送包括以下报文:Request报文:用户向消息队列发送请求消息使用的报文;Reply报文:服务器向用户返回处理结果使用的报文;Push报文:可执行消息队列向服务器推送可执行的请求消息使用的报文;Invalid报文:服务器返回无效的请求给消息队列使用的报文;Ack报文:服务器确认消息队列端发送的请求消息使用的报文。6.根据权利要求1至3任一项所述的一种利用消息队列优化服务器处理请求的方法,其特征在于:所述消息队列将可执行消息推送给服务器之前,将会做一份备份,放入备份消息队列中;如果请求消息...
【专利技术属性】
技术研发人员:张启亮,黄凯,
申请(专利权)人:江苏徐工信息技术股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。