用于页面间异步通信的方法和装置制造方法及图纸

技术编号:20362742 阅读:24 留言:0更新日期:2019-02-16 16:28
本申请实施例公开了用于页面间异步通信的方法和装置。该方法的一具体实施方式包括:接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;根据操作类型信息对待处理数据进行封装,得到封装消息;根据地址向目标页面发送封装消息,以供目标页面对封装消息进行解析得到解析出的操作类型信息和解析出的待处理数据。该实施方式实现了页面间数据存储共享、读取计算及操作同步等不同类型的页面通信。

【技术实现步骤摘要】
用于页面间异步通信的方法和装置
本申请实施例涉及计算机
,具体涉及用于页面间异步通信的方法和装置。
技术介绍
页面通信是指浏览器的页面与页面之间进行数据交互的行为。浏览器的每个页面相对独立,拥有自己的执行环境,一般不涉及到与其他页面的交互,但是在现代web(网页)化应用中,应用不再局限于单一的web页面,多个web页面共同构成整体进行用户交互,因此必然会涉及到多个web页面之间进行数据通信与信息共享,需要建立起web页面间的通信。页面间的通信方式也存在多种形式,可能为简单的数据存储,也可能为复杂的数据计算结果回调。web页面由于浏览器本身的同源限制策略,通信还涉及到跨域的数据访问问题。常见的多页面间跨域通信的方案只能传递序列化结构,无法主动读取数据。
技术实现思路
本申请实施例提出了用于页面间异步通信的方法和装置。第一方面,本申请实施例提供了一种用于页面间异步通信的方法,包括:接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;根据操作类型信息对待处理数据进行封装,得到封装消息;根据地址向目标页面发送封装消息,以供目标页面对封装消息进行解析得到解析出的操作类型信息和解析出的待处理数据。在一些实施例中,操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及根据操作类型信息对待处理数据进行封装,得到封装消息,包括:响应于确定出操作类型信息为数据请求或数据计算,根据通信请求生成包括消息序号的容器,以及将容器存储在缓存表中,其中,容器用于存储下一步操作的关联信息;根据操作类型信息和消息序号对待处理数据进行封装得到封装消息。在一些实施例中,该方法还包括:响应于接收目标页面返回的包括数据结果和消息序号的回调消息,根据回调消息中的消息序号从缓存表中查找对应的容器,其中,数据结果为目标页面根据待处理数据进行数据计算操作或数据获取操作得到的;根据数据结果激活查找到的容器。在一些实施例中,操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及根据操作类型信息对待处理数据进行封装得到封装消息,包括:响应于确定出操作类型信息为操作同步,将待处理数据封装成包括消息序号和操作类型信息的封装消息。第二方面,本申请实施例提供了一种用于页面间异步通信的方法,包括:响应于接收到源页面发送的封装消息,对封装消息进行解析得到操作类型信息和待处理数据,其中,封装消息是源页面根据接收到的通信请求中的操作类型信息对通信请求中的待处理数据进行封装得到的;根据解析出的操作类型信息对解析出的待处理数据进行处理。在一些实施例中,根据解析出的操作类型信息对解析出的待处理数据进行处理,包括:响应于确定出解析出的操作类型信息为操作同步,从封装消息中解析出消息序号和时序一致性标识,其中,时序一致性标识用于指示一起执行的至少一条消息的消息序号;确定预定的消息缓存表中是否包括时序一致性标识所指示的全部消息的消息序号,其中,消息缓存表用于存储消息序号和待处理数据的对应关系;若不包括,则将本次解析出的待处理数据和消息序号存入消息缓存表中。在一些实施例中,该方法还包括:若包括,则对消息缓存表中的待处理数据和本次解析出的待处理数据进行处理。在一些实施例中,根据解析出的操作类型信息对解析出的待处理数据进行处理,包括:响应于确定出解析出的操作类型信息为数据请求或数据计算,基于解析出的待处理数据进行数据获取操作或数据计算操作得到数据结果,以及从封装消息解析出消息序号;根据数据结果和消息序号生成回调消息;将回调消息发送给源页面。第三方面,本申请实施例提供了一种用于页面间异步通信的装置,包括:接收单元,被配置成接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;封装单元,被配置成根据操作类型信息对待处理数据进行封装,得到封装消息;发送单元,被配置成根据地址向目标页面发送封装消息,以供目标页面对封装消息进行解析得到解析出的操作类型信息和解析出的待处理数据。在一些实施例中,操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及封装单元进一步被配置成:响应于确定出操作类型信息为数据请求或数据计算,根据通信请求生成包括消息序号的容器,以及将容器存储在缓存表中,其中,容器用于存储下一步操作的关联信息;根据操作类型信息和消息序号对待处理数据进行封装得到封装消息。在一些实施例中,该装置还包括激活单元,被配置成:响应于接收目标页面返回的包括数据结果和消息序号的回调消息,根据回调消息中的消息序号从缓存表中查找对应的容器,其中,数据结果为目标页面根据待处理数据进行数据计算操作或数据获取操作得到的;根据数据结果激活查找到的容器。在一些实施例中,操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及封装单元进一步被配置成:响应于确定出操作类型信息为操作同步,将待处理数据封装成包括消息序号和操作类型信息的封装消息。第四方面,本申请实施例提供了一种用于页面间异步通信的装置,包括:解析单元,被配置成响应于接收到源页面发送的封装消息,对封装消息进行解析得到操作类型信息和待处理数据,其中,封装消息是源页面根据接收到的通信请求中的操作类型信息对通信请求中的待处理数据进行封装得到的;处理单元,被配置成根据解析出的操作类型信息对解析出的待处理数据进行处理。在一些实施例中,处理单元进一步被配置成:响应于确定出解析出的操作类型信息为操作同步,从封装消息中解析出消息序号和时序一致性标识,其中,时序一致性标识用于指示一起执行的至少一条消息的消息序号;确定预定的消息缓存表中是否包括时序一致性标识所指示的全部消息的消息序号,其中,消息缓存表用于存储消息序号和待处理数据的对应关系;若不包括,则将本次解析出的待处理数据和消息序号存入消息缓存表中。在一些实施例中,处理单元进一步被配置成:若包括,则对消息缓存表中的待处理数据和本次解析出的待处理数据进行处理。在一些实施例中,处理单元进一步被配置成:响应于确定出解析出的操作类型信息为数据请求或数据计算,基于解析出的待处理数据进行数据获取操作或数据计算操作得到数据结果,以及从封装消息解析出消息序号;根据数据结果和消息序号生成回调消息;将回调消息发送给源页面。第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。第六方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。本申请实施例提供的用于页面间异步通信的方法和装置,源页面通过将待处理数据根据操作类型进行封装后发送给目标页面。目标页面从封装消息解析出操作类型信息和待处理数据,根据操作类型信息对解析出的待处理数据进行处理。实现了页面间数据存储共享、读取计算及操作同步等不同类型的页面通信。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的一个实施例可以应用于其中的示例性系统架构图;图2是根据本申请的用于页面间异步通信的方法的一个实施例的流程图;图3是根据本申请的用于页面间异本文档来自技高网...

【技术保护点】
1.一种用于页面间异步通信的方法,包括:接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;根据所述操作类型信息对所述待处理数据进行封装,得到封装消息;根据所述地址向所述目标页面发送所述封装消息,以供所述目标页面对所述封装消息进行解析得到解析出的操作类型信息和解析出的待处理数据。

【技术特征摘要】
1.一种用于页面间异步通信的方法,包括:接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;根据所述操作类型信息对所述待处理数据进行封装,得到封装消息;根据所述地址向所述目标页面发送所述封装消息,以供所述目标页面对所述封装消息进行解析得到解析出的操作类型信息和解析出的待处理数据。2.根据权利要求1所述的方法,其中,所述操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及所述根据所述操作类型信息对所述待处理数据进行封装,得到封装消息,包括:响应于确定出所述操作类型信息为数据请求或数据计算,根据所述通信请求生成包括消息序号的容器,以及将所述容器存储在缓存表中,其中,所述容器用于存储下一步操作的关联信息;根据所述操作类型信息和所述消息序号对所述待处理数据进行封装得到封装消息。3.根据权利要求2所述的方法,其中,所述方法还包括:响应于接收所述目标页面返回的包括数据结果和消息序号的回调消息,根据所述回调消息中的消息序号从所述缓存表中查找对应的容器,其中,所述数据结果为所述目标页面根据所述待处理数据进行数据计算操作或数据获取操作得到的;根据所述数据结果激活查找到的容器。4.根据权利要求1所述的方法,其中,所述操作类型信息包括以下至少一项:数据存储、数据请求、数据计算、操作同步;以及所述根据所述操作类型信息对所述待处理数据进行封装得到封装消息,包括:响应于确定出所述操作类型信息为操作同步,将所述待处理数据封装成包括消息序号和所述操作类型信息的封装消息。5.一种用于页面间异步通信的方法,包括:响应于接收到源页面发送的封装消息,对所述封装消息进行解析得到操作类型信息和待处理数据,其中,所述封装消息是所述源页面根据接收到的通信请求中的操作类型信息对所述通信请求中的待处理数据进行封装得到的;根据解析出的操作类型信息对解析出的待处理数据进行处理。6.根据权利要求5所述的方法,其中,所述根据解析出的操作类型信息对解析出的待处理数据进行处理,包括:响应于确定出解析出的操作类型信息为操作同步,从所述封装消息中解析出消息序号和时序一致性标识,其中,所述时序一致性标识用于指示一起执行的至少一条消息的消息序号;确定预定的消息缓存表中是否包括所述时序一致性标识所指示的全部消息的消息序号,其中,所述消息缓存表用于存储消息序号和待处理数据的对应关系;若不包括,则将本次解析出的待处理数据和消息序号存入所述消息缓存表中。7.根据权利要求6所述的方法,其中,所述方法还包括:若包括,则对所述消息缓存表中的待处理数据和本次解析出的待处理数据进行处理。8.根据权利要求5所述的方法,其中,所述根据解析出的操作类型信息对解析出的待处理数据进行处理,包括:响应于确定出解析出的操作类型信息为数据请求或数据计算,基于解析出的待处理数据进行数据获取操作或数据计算操作得到数据结果,以及从所述封装消息解析出消息序号;根据所述数据结果和所述消息序号生成回调消息;将所述回调消息发送给所述源页面。9.一种用于页面间异步通信的装置,包括:接收单元,被配置成接收包括操作类型信息、目标页面的地址、待处理数据的通信请求;封装单元,被配置成根据所述操...

【专利技术属性】
技术研发人员:蒋廉
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1