基于浏览器本地存储实现多窗口点对点通信的方法及系统与流程

文档序号:30959334发布日期:2022-07-30 11:59阅读:116来源:国知局
基于浏览器本地存储实现多窗口点对点通信的方法及系统与流程

1.本发明涉及通信技术领域,具体涉及一种基于浏览器本地存储实现多窗口点对点通信的方法及系统。


背景技术:

2.现有技术中,浏览器提供了一种长期保留的数据存储方式,该存储技术提供了数据存储、读取、监听变化等能力。
3.该本地存储方式遵循浏览器的同源策略,即在同源(相同的协议、域、端口)多窗口的情况下,该本地存储是共享的。并且,关键的是,在同源多窗口情况下,窗口a写入的数据,该数据变化只会在其他非窗口a中被监听到。
4.再有在一个多窗口运行的闭环系统中,多个窗口之间需要进行点对点信息交换。
5.场景1:当窗口m进行了登录操作之后,就需要通知其他窗口登录同一个账号;同样的,当窗口n注销了进行了注销操作之后,就需要通知其他窗口也进行注销操作。
6.场景2:主窗口a打开了两个子窗口b、c,主窗口a将子窗口b最小化之后,需要通知子窗口b降低应用内部的通信频率;而当主窗口a将子窗口b恢复之后,又需要通知子窗口b进行恢复应用内部通信频率。
7.因此本文提供了一种基于浏览器本地存储实现多窗口点对点通信的方法及系统予以解决。


技术实现要素:

8.本发明公开了一种基于浏览器本地存储实现多窗口点对点通信的方法及系统。
9.本发明通过以下技术方案予以实现:
10.第一方面,本发明提供了一种基于浏览器本地存储实现多窗口点对点通信的方法,包括以下步骤:
11.初始化完成,回信目标群体及发信方通过挥手示意信号和握手信号建立信道关系,并发送牵手信号;
12.发信方发送实体数据确定信道存活后,将定期发起起跳信号并记录最后存活时间;
13.定期维护信道关系,使信道的状态始终是最新的,并追踪存活信道,移除失活信道,完成通信。
14.更进一步的,所述方法中,发信方和回信方在未建立点对点通信通道之前,向回信目标群体发起挥手示意信号,目标群体在接收到挥手信号后,将发送握手信号返回给发信方,发信方在接收到目标群体多个握手信号后,发信方将依次选择握手信号并与其建立信道关系,并同时向已建立信道关系的回信方发送牵手信号,回信方再接收到该牵手信号后与发信方建立信道关系,至此点对点的通信信道建立完毕,并进行后续的数据传输与信道维护。
15.更进一步的,所述方法中,发信方将根据建立的点对点信道,发送实体数据,回信方在接收到数据之后,标记该信道存活,记录最后存活时间,并发送回执信号。
16.更进一步的,所述方法中,发信方定期发起起跳信号,回信方在接收到起跳信号后,返回回跳信号,同时回信方标记该信道存活,记录最后存活时间。
17.更进一步的,所述方法中,发信方在接收到回跳信号后,将标记该信道存活,记录最后存活时间,如果超过超时时长仍未接收到回跳信号,则标记该信道失活。
18.更进一步的,所述方法中,失活的信道将不再用于点对点通信,如果需要重新进行点对点通信,则重新开始通信过程。
19.更进一步的,所述方法中,进行定义由c、n两部分组成的通信点;其中c代表应用编码,由通信系统统一分配,由不重复的数字、字母、短横线组成,长度小于等于64位;
20.n代表应用序列号,由应用自身生成,由数字、字母、短横线组成,其在同一个应用体系内唯一,长度小于等于64位。
21.更进一步的,所述方法中,进行定义由n、v、ca、na、cb、nb组成的通信地址;其中,n代表命名空间,长度小于等于32位;v代表通信协议版本号;ca为发信方的appcode;na为发信方的appno;cb为回信方的appcode;nb为回信方的appno,在回信方appno未知时,使用英文“*”代替。
22.更进一步的,所述方法中,通信地址用于存储键使用,通信过程中的信号和数据用于入存储值使用
23.通信地址作为存储键,使用英文冒号“:”进行分隔开,通信过程的信号和数据作为存储值,使用json格式或者其他可解析的文本数据格式。
24.第二方面,本发明一种基于浏览器本地存储实现多窗口点对点通信的系统,其特征在于,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行第一方面的基于浏览器本地存储实现多窗口点对点通信的方法步骤。
25.本发明的有益效果为:
26.本发明在一个通信系统里,每个通信点都需要有一个一定规则、唯一的通信地址,实现在通信系统里进行点对点信息交换。本发明不仅能够在通信系统里建立点对点的信道,也能够识别失活的信道,将其清理避免通信阻塞。本发明通信方法巧妙的利用了本地存储变化的广播事件,该事件具有数据变化方无法接收到该事件的特征,刚好可以作为通信的基础,具有很强的实用性。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是基于浏览器本地存储实现多窗口点对点通信的方法步骤原理图;
29.图2是本发明实施例提供的点对点通信的方法原理图;
30.图3是本发明实施例的广播阶段图;
31.图4是本发明实施例的交换阶段图;
32.图5是本发明实施例的心跳阶段图。
具体实施方式
33.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.实施例1
35.参照图1所示,本实施例提供了一种基于浏览器本地存储实现多窗口点对点通信的方法,包括以下步骤:
36.初始化完成,回信目标群体及发信方通过挥手示意信号和握手信号建立信道关系,并发送牵手信号;
37.发信方发送实体数据确定信道存活后,将定期发起起跳信号并记录最后存活时间;
38.定期维护信道关系,使信道的状态始终是最新的,并追踪存活信道,移除失活信道,完成通信。
39.本实施例进行定义由c、n两部分组成的通信点;其中c代表应用编码,由通信系统统一分配,由不重复的数字、字母、短横线组成,长度小于等于64位;
40.n代表应用序列号,由应用自身生成,由数字、字母、短横线组成,其在同一个应用体系内唯一,长度小于等于64位。
41.本实施例进行定义由n、v、ca、na、cb、nb组成的通信地址;其中,n代表命名空间,长度小于等于32位;v代表通信协议版本号;ca为发信方的appcode;na为发信方的appno;cb为回信方的appcode;nb为回信方的appno,在回信方appno未知时,使用英文“*”代替。
42.本实施例通信地址用于存储键使用,通信过程中的信号和数据用于入存储值使用
43.本实施例通信地址作为存储键,使用英文冒号“:”进行分隔开,通信过程的信号和数据作为存储值,使用json格式或者其他可解析的文本数据格式。
44.实施例2
45.在具体实施层面,参照图2所示,本实施例提供了一种点对点通信的方法,本实施例通信过程由p1、p2、p3三个阶段依次组成。p1为广播阶段,p2为交换阶段,p3为心跳阶段。
46.参照图3所示,广播阶段(p1)是点对点信道的建立阶段定义为广播阶段,该阶段由b1、b2、b 3三个步骤依次组成。b1为挥手步骤,b2为握手步骤,b3为牵手步骤。
47.本实施例挥手步骤(b1)中,发信方和回信方在未建立点对点通信通道之前,需要向回信目标群体发起挥手示意信号。发信方的存储数据是:存储键:nvcanacbn*;存储值:b=1。
48.本实施例握手步骤(b2)中,目标群体在接收到挥手信号后,将发送握手信号返回给发信方。回信方的存储数据是:存储键:nvcbnbcana;存储值:b=2。
49.本实施例牵手步骤(b3)中,发信方在接收到目标群体多个握手信号后,发信方将依次选择握手信号并与其建立信道关系,并发送牵手信号。发信方的存储数据是:存储键:
nvcanacbnb;存储值:b=3。
50.本实施例回信方在收到牵手信号后,将与发信方建立信道关系。此时经过3个步骤之后,发信方与回信方已经建立了唯一的点对点信道关系,之后就可以使用该信道互相进行数据交换。
51.参照图4所示,交换阶段(p2)是实体数据交换的阶段定义为交换阶段,该阶段由e1、e2两个步骤依次组成。e1为发送步骤,e2为回执步骤。
52.本实施例发送步骤(e1)中,发信方将根据p1阶段建立的点对点信道,发送实体数据d。发信方的存储数据是:存储键:nvcanacbnb;存储值:e=1,d。
53.本实施例回执步骤(e2)中,回信方在接收到数据之后,标记该信道存活,记录最后存活时间,需要发送回执信号。回信方的存储数据是:存储键:nvcbnbcana;存储值:e=2。
54.本实施例发信方在接收到回执信号后,标记该信道存活,记录最后存活时间。如果超过超时时长(在一个通信系统里可以预设一个超时时长)仍未接收到回执信号,则标记该信道失活。失活的信道将不再可用于点对点通信,如果需要重新进行点对点通信,则需要从通信过程第一个阶段开始。
55.参照图5所示,心跳阶段(p3)是定期维护信道关系,使信道的状态始终是最新的,并追踪存活信道,移除失活信道。此阶段定义为心跳阶段,该阶段由h1、h2两个依次步骤组成。h1是起跳步骤,h2是回跳步骤。
56.本实施例起跳步骤(h1)中,发信方将会定期发起起跳信号。发信方的存储数据是:存储键:nvcanacbnb;存储值:h=1。
57.本实施例回跳步骤(h2)中,回信方在接收到起跳信号后,需要返回回跳信号,同时回信方需要标记该信道存活,记录最后存活时间。回信的存储数据是:存储键:nvcbnbcana;存储值:h=2。
58.本实施例发信方在接收到回跳信号后,将标记该信道存活,记录最后存活时间。如果超过超时时长(在一个通信系统里可以预设一个超时时长)仍未接收到回跳信号,则标记该信道失活。失活的信道将不再可用于点对点通信,如果需要重新进行点对点通信,则需要从通信过程第一个阶段开始。
59.本实施例通信地址:在一个通信系统里,每个通信点都需要有一个一定规则、唯一的通信地址,这样才能在通信系统里进行点对点信息交换。
60.本实施例通信过程:详细定义了通信过程的3个阶段共7个步骤,该过程不仅能够在通信系统里建立点对点的信道,也能够识别失活的信道,将其清理避免通信阻塞。
61.本实施例技术基础:本通信方法巧妙的利用了本地存储变化的广播事件,该事件具有数据变化方无法接收到该事件的特征,刚好可以作为通信的基础。
62.实施例3
63.本实施例提供了一种基于浏览器本地存储实现多窗口点对点通信的系统,其特征在于,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行基于浏览器本地存储实现多窗口点对点通信的方法步骤。
64.综上,本发明在一个通信系统里,每个通信点都需要有一个一定规则、唯一的通信地址,实现在通信系统里进行点对点信息交换。本发明不仅能够在通信系统里建立点对点的信道,也能够识别失活的信道,将其清理避免通信阻塞。本发明通信方法巧妙的利用了本
地存储变化的广播事件,该事件具有数据变化方无法接收到该事件的特征,刚好可以作为通信的基础,具有很强的实用性。
65.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1