一种响应消息的执行方法和装置制造方法及图纸

技术编号:2917147 阅读:210 留言:0更新日期:2012-04-11 18:40
一种响应消息的执行方法,其特征在于,所述方法包括: 接收服务器端返回的响应消息; 获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发送顺序依次排序; 以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息,如果是,执行所述响应消息,并返回所述判断的步骤,否则,将当前接收的所述响应消息进行缓存,并返回所述接收响应消息的步骤。

【技术实现步骤摘要】

本专利技术涉及网页开发领域,特别是涉及一种响应消息的执行方法和装置
技术介绍
AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)是指一种创建交互式网页应用的网页开发技术。在交互式网页的操作过程中,当客户端的一个操作分别向服务器端发送了多个AJAX请求时,服务器端作为服务的提供者,随时接收AJAX请求,待处理完AJAX请求后再将响应消息发送到客户端。但是,由于服务器端的处理速度以及网络等因素,有可能会将后接收到的AJAX请求先处理完并将响应消息先发送给客户端,而将先接收到的AJAX请求后处理完并将响应消息后发送给客户端,从而会使客户端不能够按照发送AJAX请求的顺序去执行AJAX请求的响应消息,进而导致业务处理发生逻辑错误。例如:当业务系统中需要提交一张单据时,客户端发送2个AJAX请求给服务器端。其中,第1个AJAX请求要求服务器端将单据结果保存到数据库,第2个AJAX请求要求服务器端选中界面上单据列表组件中新增加的这张单据。如果服务器端对第1个AJAX请求所需要做的处理比较复杂,对第2个AJAX请求所需要做的处理比较简单,那么第2个AJAX请求的响应消息就会在第1个AJAX请求的响应消息之前返回,此时界面上的表格中还没有出现刚刚新增的单据,从而导致第2个AJAX请求的执行发生错误。
技术实现思路
本专利技术实施例提供了一种响应消息的执行方法和装置,以使得客户端能够以正常的业务处理逻辑进行业务处理。本专利技术实施例公开了一种响应消息的执行方法,包括:接收服务器端返回的响应消息;获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发-->送顺序依次排序;以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息,如果是,执行所述响应消息,并返回所述判断的步骤,否则,将当前接收的所述响应消息进行缓存,并返回所述接收响应消息的步骤。优选的,所述方法还包括:当判断所述缓存中包括当前要执行的响应消息并执行所述响应消息后,从所述缓存中删除所述响应消息。优选的,所述获得响应消息的执行序号包括:创建所述响应消息的回调函数的拷贝函数,在所述拷贝函数中设置指示所述响应消息执行顺序的执行序号;读取所述拷贝函数,获得所述响应消息的执行序号。优选的,所述当前要执行的响应消息具体为:在未被执行的响应消息中,最小执行序号所对应的响应消息。优选的,所述根据执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息包括:按照响应消息的执行顺序,将所述响应消息的执行序号和回调函数依次存储在第一队列中;读取所述第一队列的第一个元素,获得当前要执行的响应消息的执行序号;判断所述响应消息的执行序号是否与所述当前要执行的响应消息的执行序号相同。优选的,所述执行响应消息包括:读取所述第一队列的第一元素,获得所述响应消息的回调函数;由所述回调函数执行所述响应消息,在执行完所述响应消息后删除所述第一队列的第一个元素。优选的,所述将当前接收的响应消息进行缓存具体为:将所述当前接收的响应消息和所述响应消息的执行序号存储在第二队列中。本专利技术实施例公开了一种响应消息的执行装置,包括:接收单元,用于接收服务器端返回的响应消息;获取单元,用于获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发送顺序依次排序;判断单元,用于以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息;执-->行单元,用于当所述判断单元的判断结果为是时,执行所述响应消息,并返回所述判断单元;缓存单元,用于当所述判断单元的判断结果为否时,将当前接收的所述响应消息进行缓存,并返回所述接收单元。优选的,所述装置还包括:第一删除单元,用于当判断所述缓存中包括当前要执行的响应消息并执行所述响应消息后,从所述缓存中删除所述响应消息。优选的,所述获取单元包括:创建单元,用于创建所述响应消息的回调函数的拷贝函数,在所述拷贝函数中设置指示所述响应消息执行顺序的执行序号;第一读取单元,用于读取所述拷贝函数,获得所述响应消息的执行序号。优选的,所述判断单元包括:存储单元,用于按照响应消息的执行顺序,将所述响应消息的执行序号和回调函数依次存储在第一队列中;第二读取单元,用于读取所述第一队列的第一个元素,获得当前要执行的响应消息的执行序号;判断子单元,用于判断所述响应消息的执行序号是否与所述当前要执行的响应消息的执行序号相同。优选的,所述执行单元包括:第三读取单元,用于读取所述第一队列的第一元素,获得所述响应消息的回调函数;执行子单元,用于由所述回调函数执行所述响应消息;第二删除单元,用于在执行完所述响应消息后删除所述第一队列的第一个元素。由上述实施例可以看出,当接收到服务器端返回的响应消息后,没有立刻执行响应消息,而是根据该响应消息的执行序号判断该响应消息是否为当前要执行的响应消息,当判定该响应消息不是当前要执行的响应消息时,把该响应消息先缓存在一个队列中。然后从这个队列中查找当前要执行的响应消息,并执行响应消息,从而依次地按照发送的顺序执行服务器端返回的响应消息,使客户端能够按照正常的业务处理逻辑进行业务处理。附图说明图1为本专利技术一种响应消息的执行方法的第一个实施例的流程图;图2为本专利技术中存有两个响应消息和执行序号的第一队列示意图;图3为本专利技术中存有三个响应消息的执行序号和回调函数的第二队列示-->意图;图4为本专利技术一种响应消息的执行装置的第一个实施例的结构图;图5为本专利技术一种响应消息的执行方法的第二个实施例的流程图;图6为本专利技术一种响应消息的执行装置的第二个实施例的结构图。具体实施方式本专利技术实施例提供了响应消息的执行方法和装置。首先,接收服务器端返回的响应消息;然后,获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发送顺序依次排序;最后,以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息,如果是,执行所述响应消息,并返回所述判断的步骤,否则,将当前接收的所述响应消息进行缓存,并返回所述接收响应消息的步骤。为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例进行详细描述。本专利技术可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。本专利技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本专利技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本本文档来自技高网...

【技术保护点】
一种响应消息的执行方法,其特征在于,所述方法包括: 接收服务器端返回的响应消息; 获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发送顺序依次排序; 以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息,如果是,执行所述响应消息,并返回所述判断的步骤,否则,将当前接收的所述响应消息进行缓存,并返回所述接收响应消息的步骤。

【技术特征摘要】
1、一种响应消息的执行方法,其特征在于,所述方法包括:接收服务器端返回的响应消息;获得所述响应消息的执行序号,其中,每一个响应消息与其对应的请求消息采用同一个执行序号,各个执行序号按照各个请求消息的发送顺序依次排序;以各个响应消息所对应的请求消息的发送顺序为依据,根据所述执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息,如果是,执行所述响应消息,并返回所述判断的步骤,否则,将当前接收的所述响应消息进行缓存,并返回所述接收响应消息的步骤。2、根据权利要求1所述的方法,其特征在于,所述方法还包括:当判断所述缓存中包括当前要执行的响应消息并执行所述响应消息后,从所述缓存中删除所述响应消息。3、根据权利要求1所述的方法,其特征在于,所述获得响应消息的执行序号包括:创建所述响应消息的回调函数的拷贝函数,在所述拷贝函数中设置指示所述响应消息执行顺序的执行序号;读取所述拷贝函数,获得所述响应消息的执行序号。4、根据权利要求3所述的方法,其特征在于,所述当前要执行的响应消息具体为:在未被执行的响应消息中,最小执行序号所对应的响应消息。5、根据权利要求1所述的方法,其特征在于,所述根据执行序号,在当前已经接收但未被执行的响应消息中,判断是否包括当前要执行的响应消息包括:按照响应消息的执行顺序,将所述响应消息的执行序号和回调函数依次存储在第一队列中;读取所述第一队列的第一个元素,获得当前要执行的响应消息的执行序号;判断所述响应消息的执行序号是否与所述当前要执行的响应消息的执行序号相同。6、根据权利要求5所述的方法,其特征在于,所述执行响应消息包括:读取所述第一队列的第一元素,获得所述响应消息的回调函数;由所述回调函数执行所述响应消息,在执行完所述响应消息后删除所述第一队列的第一个元素。7、根据权利要求1所述的方法,其特征在于,所述将当前接收的响应消息进行缓存具体为:将所述当前接...

【专利技术属性】
技术研发人员:张旭
申请(专利权)人:深圳市金蝶中间件有限公司
类型:发明
国别省市:94

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

1