ajax回调基于,一种基于异步回调机制的动作编排请求响应处理方法技术

【技术实现步骤摘要】

本专利技术涉及计算机软件

,具体地说是一种基于异步回调机制的动作编排请求响应处理方法。

技术介绍

传统的CS/BS模式应用系统,客户端与服务端交互模式一般使用以下几种方式:一次性取出所有数据到客户端,逻辑处理完成后一次性提交到服务端。这样虽然客户端与服务器交互次数最少,但是业务逻辑集中在客户端,不利于未来扩展到其他展现方式。每个实体的操作发布成独立的服务,每个客户端表单请求响应的服务实现数据的增删查改以及业务逻辑。这样不利于服务端逻辑的统一规划和管理。同时使用同步执行方式,客户端向服务端发请求,会阻塞UI线程,必须等服务执行结束才能有响应,客户端体验不流畅。基于此,现提供一种基于异步回调机制的动作编排请求响应处理方法,本专利技术基于异步回调事件触发机制开发的软件的用户图形界面交互技术,其基本工作原理为统一管理所有请求和响应的处理过程,通过编排动作方式减少客户端与服务端的请求次数,通过增量数据传输方式减少带宽占用。

技术实现思路

本专利技术的技术任务是针对以上不足之处,提供一种基于异步回调机制的动作编排请求响应处理方法。一种基于异步回调机制的动作编排请求响应处理方法,其实现步骤为:一、首先在客户端组织和编排请求动作;二、客户端将请求动作消息传输到应用服务器;三、应用服务器解析请求并执行动作;四、应用服务器组织响应消息并传输到客户端;五、客户端解析并处理响应消息。在客户端组织和编排请求动作的具体过程为:客户端根据用户操作引起的事件,将需要执行的后台动作组织成请求消息对象,消息对象包含会话Id、当前实体编号以及动作列表。所述动作包括两类,分别是业务实体数据相关动作和会话管理相关的动作,其中对业务实体数据相关动作包括查询、检索、新增、修改、删除、执行自定义Action、保存;会话管理相关动作包括建立连接、取消、关闭。一个请求动作消息中包含若干个实体数据相关动作,执行一个会话管理动作智能单独执行一个请求,每个动作均包含动作对应的参数和返回值,如果需要接受返回值,则注册动作回调。在步骤二中,首先将请求动作消息根据使用场景选择特定的序列化方式,包括Protobuf、Json、Xml、二进制方式,客户端将请求动作消息的序列化方式写入消息头部,作为服务器端反序列化消息的依据,使用指定的序列化器将请求消息序列化为文本;最后客户端通过Restful服务调用应用服务器,执行方式选择同步或者异步方式。所述步骤三的具体过程为:应用服务器接收到来自客户端的请求,根据请求头部的序列化方式选择反序列化器,并将消息体反序列化为完整的请求消息对象,依次执行消息对象中的动作;每个动作执行的结果保存在动作结果对象中,动作执行结果对象包含动作编号、执行顺序号、动作返回值、后台发生的数据变更以及执行过程中发生的警告和异常的消息对象。所述消息对象包含严重级别、症状、发生消息的位置、原因、内容以及相关消息对象列表。在步骤四中,应用服务器将执行结果集合按执行顺序编排为响应对象,并按照请求头部的序列化方式序列化为字符串格式通过Restful响应返回客户端。所述响应对象除了包含动作结果列表,还包含会话Id、执行状态汇总的变更集、异常消息集合。所述步骤五的具体过程为:客户端反序列化响应消息为响应对象,并统一处理消息和变更集,并根据编排请求时注册的回调函数,调度执行动作回调。本专利技术的一种基于异步回调机制的动作编排请求响应处理方法和现有技术相比,具有以下有益效果:本专利技术的一种基于异步回调机制的动作编排请求响应处理方法,能够统一管理所有请求和响应的处理过程,通过编排动作方式减少客户端与服务端的请求次数,减少带宽占用,提升了响应速度,减少客户端等待,同时对整个系统中的所有实体数据访问进行统一管理,减少的部署复杂度,提高一致性和扩展性,实用性强,适用范围广泛,具有很好的推广应用价值。附图说明附图1是本专利技术的实现示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。本专利技术基于异步回调事件触发机制开发的软件的用户图形界面交互技术,其基本工作原理为统一管理所有请求和响应的处理过程,通过编排动作方式减少客户端与服务端的请求次数。如附图1所示,本专利技术公开了一种基于异步回调机制的动作编排请求响应处理方法,通过将多次请求通过编排组织在一次请求中,减少了客户端与服务端之间的通讯次数,通过增量数据传输减少系统传输对带宽的压力,降低了客户端响应时间,有利于用户体验的提升。其实现步骤为:一、首先在客户端组织和编排请求动作;二、客户端将请求动作消息传输到应用服务器;三、应用服务器解析请求并执行动作;四、应用服务器组织响应消息并传输到客户端;五、客户端解析并处理响应消息。在步骤一中,客户端根据用户操作引起的事件,将需要执行的后台的动作组织成请求消息对象,消息对象包含会话Id,当前实体编号,以及动作列表。动作包含两大类,分别是业务实体数据相关动作和会话管理相关的动作。其中对业务实体数据相关动作包括但不限于查询,检索,新增,修改,删除,执行自定义Action,保存等;会话管理相关动作包括建立连接,取消,关闭等。动作对象包含动作编号,参数列表,执行序号。基于步骤一,属性编辑方式分为两种:简单文本编辑、富文本编辑。富文本编辑指的是可支持字体、颜色、缩进等。一次请求中可以包含多个实体数据相关动作。执行一个会话管理动作只能单独执行一个请求。每个动作可以包含动作对应的参数和返回值,如果需要接受返回值,需要注册动作回调。源于表单的实体数据变更通过变更集的方式组织,只包含变化的记录和字段,减少了客户端与服务端传输的数据量。基于步骤二,请求消息对象可以根据使用场景选择特定的序列化方式,包括但不限于Protobuf,Json,Xml,二进制等方式,客户端将请求消息的序列化方式写入消息头部,作为服务器端反序列化消息的依据,使用指定的序列化器将请求消息序列化为文本。客户端通过Restful服务调用应用服务器,执行方式可以选择同步或者异步方式。基于步骤三,应用服务器接收到来自客户端的请求,根据请求头部的序列化方式选择反序列化器,并将消息体反序列化为完整的请求消息对象。依次执行消息对象中的动作。每个动作执行的结果保存在动作结果对象中。动作执行结果对象包含动作编号,执行顺序号,动作返回值,后台发生的数据变更,以及执行过程中发生的警告和异常消息对象。消息对象包含严重级别,症状,发生消息的位置,原因,内容,以及相关消息对象列表等。基于步骤四,应用服务器将执行结果集合按执行顺序编排为响应对象,并按照请求头部的序列化方式序列化为字符串格式通过Restful响应返回客户端。响应对象除了包含动作结果列表,还包含会话Id,执行状态汇总的变更集,异常消息集合等。基于步骤五,客户端反序列化响应消息为响应对象,并统一处理消息和变更集,并根据编排请求时注册的回调函数,调度执行动作回调。现在以某系统的采购订单基本信息界面为例,编辑订单明细的商品数量,执行计算合计金额并保存的交互过程如下所述。基于步骤一,订单实体数据操作相关的动作列表如下:基于步骤二,客户端发送的请求经过Json序列化之后的消息结构如下:基于步骤三,服务端执行动作的结果列表如下:基于步骤四,应用服务器序列化后的响应对象如下:基于步骤五,客户端执行回调处理,将后台计本文档来自技高网...

201610915812.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值