一种跨域数据共享方法和装置与流程

文档序号:36639141发布日期:2024-01-06 23:24阅读:19来源:国知局
一种跨域数据共享方法和装置与流程

本技术涉及数据处理领域,特别涉及一种跨域数据共享方法和装置。


背景技术:

1、随着互联网数据爆炸式增长,数据在互联网上发挥的作用越来越大,数据共享成为互联网的发展趋势。不同网页之间的数据共享可以促进不同网页之间的信息交流和协作,促进不同网络系统之间的数据集成,从而实现更复杂更丰富的业务逻辑。但是,由于浏览器跨域策略的限制,跨域网页之间存在访问共同数据区域的限制。

2、如何实现不同浏览器之间的数据共享,提高数据传输效率和稳定性,是亟需解决的技术问题。


技术实现思路

1、本技术提供一种跨域数据共享方法和装置,用于实现不同浏览器之间的数据共享,提高数据传输效率和稳定性。

2、第一方面,本技术提供一种跨域数据共享方法,应用于具有处理能力的电子设备,例如移动终端设备、台式电脑等,该电子设备上运行有至少两个浏览器,该电子设备上还部署有数据共享模块;方法包括:

3、该至少两个浏览器中的第一浏览器将第一共享数据通过第一页面发送到数据共享模块,其中,第一共享数据为第一浏览器的原始页面中的数据,第一页面为内嵌在第一浏览器的原始页面中的页面;该至少两个浏览器中的第二浏览器通过第二页面从数据共享模块获取第一共享数据;其中,第二共享数据为第二浏览器的原始页面中的数据,第二页面为内嵌在第二浏览器的原始页面中的页面;其中,第一页面和第二页面同域;第一浏览器的原始页面和第二浏览器的原始页面不同域。

4、在本方法中,在第一浏览器的原始页面中内嵌第一页面,在第二浏览器的原始页面中内嵌与第一页面同域的第二页面,第一浏览器通过第一页面向数据共享模块提交第一共享数据,第二浏览器可以通过第二页面从数据共享模块获取第一共享数据,该方法案通过在不同浏览器中内嵌同域页面,解决了跨域网页之间的访问共同数据区域的限制问题,实现了跨域数据共享。

5、并且,共享数据存储在电子设备前端(即和浏览器同端),不需要设置后台服务器通过后台服务器转发数据,可以提高数据传输效率。

6、此外,各个浏览器的页面独立,即便出现个别浏览器的页面崩溃或卡死,也不会影响其它浏览器之间的数据共享功能,可以提高数据传输的稳定性。

7、类似的,第二浏览器还可以将第二共享数据通过第二页面发送到数据共享模块,其中,第二共享数据为第二浏览器的原始页面中的数据;第一浏览器还可以通过第一页面从数据共享模块获取第二共享数据。

8、可选的,在第一浏览器将第一共享数据通过第一页面发送至数据共享模块之前,还包括:第一浏览器检测第一浏览器的原始页面中是否存在第一页面;若不存在,则第一浏览器从服务模块中获取用于生成第一页面的资源,第一浏览器基于该资源生成第一页面,第一浏览器将第一页面嵌入第一浏览器的原始页面中。

9、在本方法中,第一浏览器检测是否存在第一页面,若不存在则创建第一页面,便于后续第一浏览器基于第一页面向数据共享模块发送第一共享数据或获取数据共享模块中第二共享数据,实现跨域数据共享,提高了方案的可靠性。

10、类似的,第二浏览器在获取第一共享数据之前,也可以检测是否存在第二页面,若不存在则创建第二页面。

11、可选的,在第一浏览器将第一页面嵌入第一浏览器的原始页面中之后、以及在第一浏览器将第一共享数据通过第一页面发送至数据共享模块之前,还包括:第一浏览器通过第一页面向数据共享模块发送连接请求,该连接请求用于在第一页面和数据共享模块之间建立通信链路;接收来自数据共享模块的连接响应,该连接响应用于指示通信链路建立成功;第一浏览器将第一共享数据通过第一页面发送至数据共享模块,包括:第一浏览器将第一共享数据递交给第一页面,通过第一页面基于通信链路将第一共享数据发送至数据共享模块。

12、在本方法中,第一浏览器建立第一页面与数据共享模块之间的连接,便于后续第一浏览器通过第一页面向数据共享模块发送第一共享数据,或第一浏览器通过第一页面向数据共享模块获取第二共享数据,实现跨域数据共享,提高了方案的可靠性。

13、类似的,第二浏览器可以建立第二页面和数据共享模块的连接。

14、可选的,在第一浏览器将第一共享数据通过第一页面发送至数据共享模块之后,还包括:数据共享模块存储第一共享数据;向与数据共享模块建立通信链路的至少一个页面发送数据变更消息,至少一个页面包括第二页面,数据变更消息用于指示数据共享模块存储的数据发生变更。可选的,数据变更消息还用于指示第一共享数据,即数据共享模块中更新的数据为第一共享数据。

15、如此,其它浏览器可以及时获知数据共享模块中的数据存储情况,进而便于这些浏览器后续获取数据共享模块中的共享数据,可以提高数据传输效率,提高本方案的可靠性。

16、可选的,至少一个页面为与数据共享模块建立了通信链路的所有页面,所有页面同域。

17、如此,可以保证所有浏览器都及时获知数据共享模块中的数据存储情况。

18、可选的,第二浏览器通过第二页面从数据共享模块获取第一共享数据,包括:第二浏览器通过第二页面向数据共享模块发送数据请求,该数据请求用于请求第一共享数据;第二浏览器通过第二页面接收数据共享模块返回的数据响应,该数据响应中包括第一共享数据。

19、在本方法中,第二浏览器通过第二页面向数据共享模块请求第一共享数据,并通过第二页面接收数据共享模块反馈的第一共享数据,实现跨域数据共享,可以提高数据传输效率和稳定性。

20、类似的,第一浏览器也可以通过第一页面向数据共享模块请求获取第二共享数据,并通过第一页面接收数据共享模块反馈的第二共享数据,实现跨域数据共享。

21、可选的,在第一浏览器将第一共享数据通过第一页面发送至数据共享模块之前,包括:第一浏览器从第一浏览器的原始页面中获取第一共享数据,对第一共享数据进行加密;第一浏览器将第一共享数据通过第一页面发送至数据共享模块,包括:将加密的第一共享数据提交给第一页面,以使第一页面将加密的第一共享数据发送给数据共享模块;第二浏览器通过第二页面从数据共享模块获取第一共享数据,包括:第二浏览器通过第二页面从数据共享模块获取加密的第一共享数据;第二浏览器对加密的第一共享数据进行解密,得到解密的第一共享数据。

22、如此,可以保证共享数据在共享传输过程中保密,只有浏览器可以解密共享数据,可以提高数据共享的安全性。

23、可选的,数据共享模块包括至少一个shared worker实例。或者说,数据共享模块基于至少一个shared worker实例实现。

24、在本方式中,由至少一个shared worker实例作为数据共享模块接收、发送、存储共享数据,避免对js线程资源的占用,数据共享模块的工作可以与js主线程同时进行,且互不干扰,可以提高数据传输效率和稳定性。

25、第二方面,本技术提供一种跨域数据共享装置,该装置包括:第一浏览器模块,用于将第一共享数据通过第一页面发送到数据共享模块,其中,第一共享数据为第一浏览器的原始页面中的数据,第一页面为内嵌在第一浏览器的原始页面中的页面;数据共享模块,用于接收并存储第一共享数据;第二浏览器模块,用于通过第二页面从数据共享模块获取第一共享数据;其中,第二共享数据为第二浏览器的原始页面中的数据,第二页面为内嵌在第二浏览器的原始页面中的页面;数据共享模块还用于发送第二共享数据;其中,第一页面和第二页面同域;第一浏览器的原始页面和第二浏览器的原始页面不同域。

26、可选的,第一浏览器模块在将第一共享数据通过第一页面发送至数据共享模块之前,还用于:检测第一浏览器的原始页面中是否存在第一页面;若不存在,则从服务模块中获取用于生成第一页面的资源,基于该资源生成第一页面,将第一页面嵌入第一浏览器的原始页面中;该装置还包括服务模块,用于存储生成第一页面的资源。

27、可选的,第一浏览器模块在将第一页面嵌入第一浏览器的原始页面中之后、以及将第一共享数据通过第一页面发送至数据共享模块之前,还用于:通过第一页面向数据共享模块发送连接请求,该连接请求用于在第一页面和数据共享模块之间建立通信链路;接收来自数据共享模块的连接响应,该连接响应用于指示通信链路建立成功;第一浏览器模块在将第一共享数据通过第一页面发送至数据共享模块时,还用于:将第一共享数据递交给第一页面,通过第一页面基于通信链路将第一共享数据发送至数据共享模块。

28、可选的,数据共享模块在第一浏览器将第一共享数据通过第一页面发送至数据共享模块之后,还用于:存储第一共享数据;向与数据共享模块建立通信链路的至少一个页面发送数据变更消息,至少一个页面包括第二页面,数据变更消息用于指示第一共享数据。

29、可选的,至少一个页面为与数据共享模块建立了通信链路的所有页面,所有页面同域。

30、可选的,第二浏览器模块在通过第二页面从数据共享模块获取第一共享数据时,还用于:通过第二页面向数据共享模块发送数据请求,该数据请求用于请求第一共享数据;通过第二页面接收数据共享模块返回的数据响应,该数据响应中包括第一共享数据。

31、可选的,第一浏览器模块在将第一共享数据通过第一页面发送至数据共享模块之前,还用于从第一浏览器的原始页面中获取第一共享数据,对第一共享数据进行加密;第一浏览器在将第一共享数据通过第一页面发送至数据共享模块时,还用于:将加密的第一共享数据提交给第一页面,以使第一页面将加密的第一共享数据发送给数据共享模块;第二浏览器模块在通过第二页面从数据共享模块获取第一共享数据时,还用于:通过第二页面从数据共享模块获取加密的第一共享数据;对加密的第一共享数据进行解密,得到解密的第一共享数据。可选的,数据共享模块包括至少一个shared worker实例。或者说,数据共享模块基于至少一个shared worker实例实现。

32、第三方面,本技术实施例提供了一种跨域数据共享系统,包括:

33、第一浏览器,用于将第一共享数据通过第一页面发送至数据共享模块,其中,第一共享数据为第一浏览器的原始页面中的数据,第一页面为内嵌在第一浏览器的原始页面中的页面;

34、第二浏览器,用于通过第二页面从数据共享模块获取第一共享数据;其中,第二共享数据为第二浏览器的原始页面中的数据,第二页面为内嵌在第二浏览器的原始页面中的页面;

35、其中,第一页面和第二页面同域;第一浏览器的原始页面和第二浏览器的原始页面不同域;

36、数据共享模块,用于接收并存储第一共享数据;发送第一共享数据。

37、可选的,第一浏览器还用于检测第一浏览器的原始页面中是否存在第一页面;若不存在,则从服务模块中获取用于生成第一页面的资源,基于该资源生成第一页面,将第一页面嵌入第一浏览器的原始页面中;该系统还包括服务模块,用于存储生成第一页面的资源。

38、可选的,第一浏览器还用于通过第一页面向数据共享模块发送连接请求,该连接请求用于在第一页面和数据共享模块之间建立通信链路;接收来自数据共享模块的连接响应,该连接响应用于指示通信链路建立成功;将第一共享数据递交给第一页面,通过第一页面基于通信链路将第一共享数据发送至数据共享模块。

39、可选的,数据共享模块还用于向与数据共享模块建立通信链路的至少一个页面发送数据变更消息,至少一个页面包括第二页面,数据变更消息用于指示第一共享数据。可选的,至少一个页面为与数据共享模块建立了通信链路的所有页面,所有页面同域。

40、可选的,第二浏览器还用于:通过第二页面向数据共享模块发送数据请求,该数据请求用于请求第一共享数据;通过第二页面接收数据共享模块返回的数据响应,该数据响应中包括第一共享数据。

41、可选的,第一浏览器还用于从第一浏览器的原始页面中获取第一共享数据,对第一共享数据进行加密;将加密的第一共享数据提交给第一页面,以使第一页面将加密的第一共享数据发送给数据共享模块;第二浏览器还用于:通过第二页面从数据共享模块获取加密的第一共享数据;对加密的第一共享数据进行解密,得到解密的第一共享数据。

42、可选的,数据共享模块包括至少一个shared worker实例。或者说,数据共享模块基于至少一个shared worker实例实现。

43、第四方面,本技术实施例提供了一种电子设备,包括至少一个处理器,该至少一个处理器用于执行存储器中存储的计算机程序时,使如第一方面或第一方面任一项可选的实施方式中的方法被实现。

44、第五方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令,当该指令被执行时,使如第一方面或第一方面任一项可选的实施方式中的方法被实现。

45、第六方面,本技术实施例提供了一种计算机程序产品,包括计算机程序代码,当该计算机程序代码在计算机运行时,使如第一方面或第一方面任一项可选的实施方式中的方法被实现。

46、本技术实施例中第二、第三、第四、第五以及第六方面中提供的一个或多个技术方案所具有的技术效果或优点,均可以由第一方面中提供的对应的一个或多个技术方案所具有的技术效果或优点对应解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1