用于处理业务请求及获取业务处理结果的方法、装置和系统的制作方法

文档序号:9372068阅读:355来源:国知局
用于处理业务请求及获取业务处理结果的方法、装置和系统的制作方法
【技术领域】
[0001] 本申请涉及HTTP请求响应技术,具体涉及一种用于处理业务请求的方法和装置。 本申请同时提供一种用于获取业务处理结果的方法和装置,以及一种用于处理业务请求的 系统。
【背景技术】
[0002] 互联网(简称Internet)是一种公用信息的载体,是大众传媒的一种,由于互联网 具有的快捷性和普及性特点,使其成为现今最流行、最受欢迎的传媒之一,在现实生活中得 到了广泛的应用。不论是使用台式机还是移动设备,用户都可以随时随地获取互联网资讯, 实现了远程办公、电子商务、网络社交、即时通讯、娱乐和游戏等应用和服务。
[0003] B/S(Browser/Server浏览器/服务器)模式又称B/S结构,是随着Internet技术 的兴起,对C/S (Client/Server客户端/服务器)模式应用的扩展。B/S模式是指在TCP/ IP的支持下,以HTTP (Hypertext transfer protocol超文本传输协议)为传输协议,客户 端通过浏览器访问所需的Web服务器以及与之相连的后台服务器的技术及体系结构,其基 本工作原理是这样的:用户在客户端的浏览器中输入所需访问资源的URL,客户端浏览器 通过HTTP协议向Web服务器提出浏览网页或者获取网络资源的请求,Web服务器收到来自 客户端浏览器的请求后,将其自身存储的、或者是从其他服务器获取的数据,以HTML形式 返回客户端浏览器,这个动作称为响应,客户端浏览器将接收到的网页数据或者是网络资 源数据提取出来,并进行相应的显示或播放,用户就得到了所需的信息。
[0004] 从上面介绍的基于传统B/S结构的HTTP请求应答模式可以看出,如果采用传统的 B/S应答方式处理来自客户端的业务请求,那么整个交互过程是串行的,即:针对客户端发 起的业务请求,服务端(通常包括业务网关和业务服务端)处理完毕后才会将最终处理结 果返回给发起业务请求的客户端,因此对于客户端用户来说,其体验效果很大程度上依赖 于服务端对业务请求的处理耗时情况,如果服务端执行一个耗时非常长的业务处理操作, 那么就会导致客户端的界面一直处于等待状态,例如:长时间显示转动的菊花,用户此时没 有其他选择只能等待,这样的体验对于用户来说并不理想。例如:手机淘宝电影票的客户端 应用调用服务端的电影票系统选座下单,因电影票座位信息是接入第三方,再由第三方接 入影院的数据,中间都是发起HTTP的请求,一次下单操作经常耗时达IOs级别,客户端才能 收到结果并展示告知用户。
[0005] 采用传统的B/S应答方式,不仅会因为处理耗时导致用户体验很差,而且因为整 个处理过程是串行完成的,因此服务端需要与客户端长时间的保持连接状态,从而导致大 量的服务端资源被浪费,服务端的吞吐能力很低。
[0006] 此外,虽然现在无线应用大范围普及,但目前仍旧有大量的用户所处的网络质量 差、速度慢、不稳定,甚至在2G网络中使用移动应用,同样会导致或者加剧上述用户需要长 时间等待的问题。同样以手机淘宝电影票的客户端为例,在服务端进行长耗时的业务处理 时,在上述网络条件下客户端和服务端之间的数据连接很可能会中断,导致用户即使耐心 等待也得不到最终的处理结果,最后只能通过超时处理方式(例如:再次下单、或者先查询 上次下单是否成功再决定是否再次执行下单操作)获取最终的处理结果。

【发明内容】

[0007] 本申请提供一种用于处理业务请求的方法和装置,以解决现有HTTP请求应答模 式导致用户等待时间长、服务端吞吐能力低的问题。本申请另外提供一种用于获取业务处 理结果的方法和装置,以及一种用于处理业务请求的系统。
[0008] 本申请提供一种用于处理业务请求的方法,包括:
[0009] 接收来自客户端的业务请求;
[0010] 将接收的业务请求转发到处理所述业务请求的业务服务端;
[0011] 判断是否需要针对所述业务请求进行异步处理;若是,向所述客户端发送包含异 步处理指示的应答;若否,将所述业务服务端返回的针对所述业务请求的应答发送给所述 客户端。
[0012] 可选的,如果所述判断是否需要针对所述业务请求进行异步处理的判断结果为 "是",则所述方法包括:
[0013] 接收所述业务服务端返回的针对所述业务请求的应答;
[0014] 接收来自所述客户端的获取所述业务请求的最终处理结果的请求;
[0015] 将所述业务服务端返回的针对所述业务请求的应答发送给所述客户端。
[0016] 可选的,所述异步处理指示包含所述业务请求的唯一标识和获取所述业务请求的 最终处理结果的建议时间。
[0017] 可选的,所述方法包括:
[0018] 记录所述业务服务端历次处理业务请求所消耗时间的历史信息;
[0019] 根据所述历史信息计算与所述业务请求对应的业务处理耗时参考值。
[0020] 可选的,所述判断是否需要针对所述业务请求进行异步处理,包括:
[0021] 判断所述业务请求中是否携带了请求异步处理的标识;或者,
[0022] 判断所述业务请求涉及的业务操作是否被标识为需要采用异步处理方式;或者,
[0023] 判断与所述业务请求对应的业务处理耗时参考值是否达到了预先设置的启用异 步处理方式的阈值。
[0024] 可选的,所述向所述客户端发送包含异步处理指示的应答,包括:
[0025] 根据与所述业务请求对应的业务处理耗时参考值,估算所述业务服务端处理本次 业务请求的耗时;
[0026] 根据估算的所述业务服务端处理本次业务请求的耗时和所述业务请求中携带的 网络环境数据,计算所述客户端获取最终处理结果的建议时间;
[0027] 为所述业务请求生成唯一标识;
[0028] 向所述客户端发送包含上述唯一标识和获取最终处理结果的建议时间的异步处 理应答。
[0029] 可选的,所述方法包括:
[0030] 开启与所述客户端之间的持久连接功能。
[0031] 可选的,所述方法包括:
[0032] 接收所述业务服务端返回的针对所述业务请求的应答;
[0033] 将所述业务请求的应答推送给所述客户端。
[0034] 相应的,本申请还提供一种用于处理业务请求的装置,包括:
[0035] 业务请求接收单元,用于接收来自客户端的业务请求;
[0036] 业务请求转发单元,用于将接收的业务请求转发到处理所述业务请求的业务服务 端;
[0037] 业务请求处理单元,用于判断是否需要针对所述业务请求进行异步处理;若是,向 所述客户端发送包含异步处理指示的应答;若否,将所述业务服务端返回的针对所述业务 请求的应答发送给所述客户端。
[0038] 此外,本申请还提供一种用于获取业务处理结果的方法,包括:
[0039] 向业务网关发送业务请求;
[0040] 接收来自所述业务网关的对所述业务请求的应答;
[0041] 判断所述应答是否包含异步处理指示;若是,根据所述应答包含的异步处理指示 向所述业务网关获取所述业务请求的最终处理结果;若否,则所述应答即为所述业务请求 的最终处理结果。
[0042] 可选的,所述方法包括:
[0043] 获取网络环境数据;
[0044] 相应的,在向所述业务网关发送的业务请求中包含所述网络环境数据。
[0045] 可选的,所述获取网络环境数据,包括:
[0046] 识别当前所用网络的网络类型、网络制式和/或信号强度;
[0047] 测试当前所用网络的网络传输速度;
[0048] 根据上述步骤获取的信息生成所述网络环境数据。
[0049] 可选的,所述方法包括:
[0050] 根据所述获取的网络环境数据,判断当前所用网络是否为弱网络;
[0051] 若是,向所述业务网关发送业务请求时携带请求异步处理的标识。
[0052] 可选的,所述方法包括:
[0053] 记录向所述业务网关发送所述业务请求的起始时间;
[0054] 记录获取所述业务请求的最终处理结果的终止时间;
[0055] 计算所述终止时间和所述起始之间的差值,作为本次业务请求处理过程的往返时 间;
[0056] 根据所述往返时间修订所述网络环境数据。
[0057] 可选的,所述根据所述应答包含的异步处理指示向所述业务网关获取所述业务请 求的最终处理结果,包括:
[0058] 根据所述异步处理指示包含的获取最终处理结果的建议时间,向所述业务网关发 送获取与所述异步处理指示包含的业务请求标识对应的最终处理结果的请求;
[0059] 接收所述业务网关返回的与所述业务请求标识对应的最终处理结果。
[0060] 可选的,在执行所述向业务网关发送业务请求的步骤之前,向提出所述业务请求 的应用程序返回成功应答。
[0061] 可选的,如果接收到的来自所述业务网关的对所述业务请求的应答中包含异步处 理指示,则执行下述操作:
[0062] 提示发起所述业务请求的用户当前正在处理业务请求;
[0063] 为所述用户提供获取所述业务请求最终处理结果的接口,或者,告知所述用户过 一段时间再返回查看本次业务请求的最终处理结果。
[0064] 可选的,如果执行所述获取最终处理结果步骤的次数,达到或者超过了预先设定 的值,仍然未获取所述业务请求的最终处理结果,则转到向所述业务网关发送业务请求的 步骤执行。
[0065] 可选的,如果所述业务请求的最终处理结果为,本次业务请求失败,则转到所述向 业务网关发送业务请求的步骤执行。
[0066] 可选的,所述方法包括:
[0067] 获取所述业务请求的最终处理结果后,显示所述最终处理结果。
[0068] 可选的,所述根据所述应答包含的异步处理指示向所述业务网关获取所述业务请 求的最终处理结果,包括:
[0069] 向所述业务网关发送一次性获取与多个业务请求标识对应的最终处理结果的请 求;
[0070] 接收所述业务网关返回的与所述多个业务请求标识对应的多个最终处理结果。
[0071] 相应的,本申请还提供一种用于获取业务处理结果的装置,包括:
[0072] 业务请求发送单元,用于向业务网关发送业务请求;
[0073] 业务应答接收单元,用于接收来自所述业务网关的对所述业务请求的应答;
[0074] 业务应答处理单元,用于判断所述应答是否包含异步处理指示;若是,根据所述应 答包含的异步处理指示向所述业务网关获取所述业务请求的最终处理结果;若否,则所述 应答即为所述业务请求的最终处理结果。
[0075] 此外,本申请还提供一种用于处理业务请求的系统,包括:根据上述任一项所述的 用于处理业务请求的装置,和根据上述任一项所述的用于获取业务处理结果的装置,以及 负责处理业务请求的业务服务端。
[0076] 与现有技术相比,本申请具有以下优点:
[0077] 本申请的用于处理业务请求的方法,没有采用传统B/S结构的服务端(包括业务 网关和业务服务端)处理完毕后再响应最终结果给用户的串行模式,而是通过客户端与业 务网关的交互配合,在业务网关将所述业务请求转发给业务服务端的同时,判断客户端的 业务请求是否需要进行异步处理,从而在业务处理耗时长或者弱网络等情况下,能够提前 向所述客户端返回异步应答,不仅减少了客户端用户的无谓等待时间,有效改善用户体验, 同时使服务端资源得到充分利用,提升服务端的性能与吞吐能力。
[0078] 本申请的用于处理业务请求的方法,提供一种优选实施方式,在客户端和业务网 关之间开启持久连接功能,并且将多个需要进行异步处理的业务请求的最终处理结果一次 性获取回来,一方
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1