主动防御网关拓扑编辑器本地存储方法与系统与流程

文档序号:32056918发布日期:2022-11-04 21:54阅读:32来源:国知局
主动防御网关拓扑编辑器本地存储方法与系统与流程

1.本发明涉及一种主动防御网关拓扑编辑器本地存储方法与系统,属于网络安全技术领域。


背景技术:

2.目前在线类的文档编辑器大部分是基于浏览器web端的,编辑器很大部分数据存储在服务端进行实时交互存储,存在不安全、隐私资料泄露的风险。并且大部分文档编辑器目前都只能在线使用,如果中途断网可能就无法使用。图1示意了目前市面上普遍的编辑器储存方案,数据存储于服务端,中间层就是网络,如果没有网络层的话编辑器基本不可以使用。
3.主动防御网关是部署在用户与站点之间,用于保护站点的安全网关。主动防御网关有时候需要绘制部署的网络拓扑图,网关根据拓扑图进行站点防御以及一些设置,但是很多客户的主动防御网关部署在内网,具有工作时间或访问实现限制。在脱离内网的环境下,就无法绘制网络拓扑图。所以有必要提供一个离线版本的web编辑器,考虑在断网的情况下如何能让继续使用编辑器相关功能,能继续存储数据不至于丢失。


技术实现要素:

4.发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种主动防御网关拓扑编辑器本地存储方法与系统,实现拓扑编辑器离线操作,提升用户体验。
5.技术方案:为实现上述发明目的,本发明采用如下技术方案:一种主动防御网关拓扑编辑器本地存储方法,包括如下步骤:在进入编辑器时,判断是编辑数据还是新增数据;对于编辑数据,若编辑器离线且本地有草稿的话,获取本地最新草稿进行编辑;若编辑器离线且本地没有草稿的话,则新增空白数据;对于新增数据,若本地有草稿则提示用户是否加载草稿,并根据用户选择确定加载草稿编辑还是新增空白数据;在用户编辑过程中,定时以时间为键将用户编辑的网关拓扑数据存储在本地数据库indexeddb;在用户手动保存时,在本地数据库indexeddb中保存一个历史版本并清除草稿状态;在编辑器在线且用户选择同步保存到服务端时,将保存在本地数据库indexeddb的数据同步到服务端。
6.作为优选,在用户进入编辑器时,若编辑器在线,则将本地数据库indexeddb的数据与服务端数据进行同步。
7.作为优选,在编辑器客户端换了设备时,将服务端的数据同步到新的客户端。
8.作为优选,在用户编辑过程中,支持用户回退到一个历史版本数据。
9.作为优选,在用户编辑数据时,支持用户选择一个历史版本数据进行编辑。
10.作为优选,设置一个草稿清除周期,若超过所设定的清除周期,没有编辑操作,则清除相应的草稿数据。
11.一种主动防御网关拓扑编辑器本地存储系统,包括:数据加载模块,用于在进入编辑器时,判断是编辑数据还是新增数据;对于编辑数据,若编辑器离线且本地有草稿的话,获取本地最新草稿进行编辑;若编辑器离线且本地没有草稿的话,则新增空白数据;对于新增数据,若本地有草稿则提示用户是否加载草稿,并根据用户选择确定加载草稿编辑还是新增空白数据;数据保存模块,用于在用户编辑过程中,定时以时间为键将用户编辑的网关拓扑数据存储在本地数据库indexeddb;以及在用户手动保存时,在本地数据库indexeddb中保存一个历史版本并清除草稿状态;数据同步模块,用于在编辑器在线且用户选择同步保存到服务端时,将保存在本地数据库indexeddb的数据同步到服务端。
12.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关拓扑编辑器本地存储方法的步骤。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的主动防御网关拓扑编辑器本地存储方法的步骤。
14.有益效果:与现有技术相比,本发明具有如下优点:本发明实现了web编辑器离线web操作,解决了web无网络无法存储操作的问题,让web版的主动防御网关拓扑编辑器在无网络的情况下也可以正常使用。本发明的主动防御网关拓扑编辑器数据存储在本地数据库indexeddb中,不直接(可选择性)存储在服务端,数据的私密性和安全性更好。
附图说明
15.图1为现有在线编辑器存储方案示意图。
16.图2为本发明实施例中使用indexeddb存储数据示例图。
17.图3为本发明实施例中的编辑器使用与存储流程示意图。
具体实施方式
18.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
19.本发明实施例公开的一种主动防御网关拓扑编辑器本地存储方法,用于解决在线编辑器(开发成web端或者客户端的web)断网数据存储问题。在介绍本实施例详细方案之前,首先介绍两个知识点,一个是pwa,另一个是indexdb。
20.pwa(progressive web app)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送。在移动端利用标准化框架,让网页应用呈现和原生应用相似的体验。pwa不能包含原生os相关代码。pwa仍然是网站,只是在缓存、通知、后台功能等方面表现更好。electron程序相当于包裹os原生启动器(launcher)的网站,未来,许多electron程序可能转化为pwa。简单的来说就是网站可以脱机缓存在本地,无需网络一样可以打开网站查看相关内容,例如编辑器,没网络依旧可以在电脑上打开编辑器进行编辑修改操作。
21.indexeddb 是浏览器提供的本地数据库,它可以被网页脚本创建和操作。indexeddb 允许储存大量数据,提供查找接口,还能建立索引。这些都是 localstorage 所
不具备的(localstorage 在 2.5mb 到 10mb 之间,而且不提供搜索功能,不能建立自定义的索引)。就数据库类型而言,indexeddb 不属于关系型数据库(不支持 sql 查询语句),更接近 nosql 数据库。indexeddb 具有以下特点:(1)键值对储存。 indexeddb 内部采用对象仓库(object store)存放数据。所有类型的数据都可以直接存入,包括 javascript 对象。对象仓库中,数据以"键值对"的形式保存,每一个数据记录都有对应的主键,主键是独一无二的,不能有重复,否则会抛出一个错误。
22.(2)异步。 indexeddb 操作时不会锁死浏览器,用户依然可以进行其他操作,这与 localstorage 形成对比,后者的操作是同步的。异步设计是为了防止大量数据的读写,拖慢网页的表现。
23.(3)支持事务。 indexeddb 支持事务(transaction),这意味着一系列操作步骤之中,只要有一步失败,整个事务就都取消,数据库回滚到事务发生之前的状态,不存在只改写一部分数据的情况。
24.(4)同源限制 indexeddb 受到同源限制,每一个数据库对应创建它的域名。网页只能访问自身域名下的数据库,而不能访问跨域的数据库。
25.(5)储存空间大 indexeddb 的储存空间比 localstorage 大得多,一般来说不少于 250mb,甚至没有上限。
26.(6)支持二进制储存。 indexeddb 不仅可以储存字符串,还可以储存二进制数据(arraybuffer 对象和 blob 对象)。
27.indexeddb是本发明方案设计的核心,本发明中脱机历史版本的储存就完全依赖indexeddb储存,这个存储可以说是浏览器端数据库,能储存的大小取决于使用电脑的内存大小。
28.具体来说,本发明实施例中依赖indexeddb进行本地存储的方法是:考虑到indexeddb允许存储和检索用键索引的对象,将主动防御网关编辑的网络拓扑图以索引为键,网络拓扑图信息为值存储在indexeddb中。在编辑网络拓扑图的时候获取最新时间的草稿进行编辑,如果想获取历史版本可以将历史版本形成列表进行回退。
29.如图3所示,本发明实施例公开的一种主动防御网关拓扑编辑器本地存储方法,对于编辑数据,若编辑器离线且本地有草稿的话,获取本地最新草稿进行编辑;若编辑器离线且本地没有草稿的话,则新增空白数据;对于新增数据,若本地有草稿则提示用户是否加载草稿,并根据用户选择确定加载草稿编辑还是新增空白数据。在用户编辑过程中,定时以时间为键将用户编辑的网关拓扑数据存储在本地数据库indexeddb;在用户手动保存时,在本地数据库indexeddb中保存一个历史版本并清除草稿状态。在编辑器在线且用户选择同步保存到服务端时,将保存在本地数据库indexeddb的数据同步到服务端。
30.具体地,在获取主动网关数据进入编辑器时,首先我们需要判断是编辑数据还是新增数据,编辑和新增获取历史逻辑是不同的,例如这个数据可能是从服务端数据库获取到的,但是也可能是离线,我们得从本地获取,所以我们在进入编辑器之前需要判断这部分逻辑。对于编辑数据,如果是离线,本地有草稿的话,我们就加载本地的数据,如果本地没有数据而且还是离线,那我们默认就是新增数据;如果是在线,我们会默认优先拉取线上数据加载。对于新增数据,本地有草稿数据,我们会提示用户是否加载本地的草稿数据,选择是
的话我们就加载本地草稿的数据,选择否的话那就是新增空白。如果数据是在线获取的并且本地没有此类数据,那么我们就会加载远程数据,这是取数据的过程。
31.我们在存储的时候都是以时间为键存储(形式参考图2),这样每份数据可以存储拓扑数据的很多版本形成历史数据,如果想要获取这份数据的历史版本我们直接在本地获取相关数据即可,这样我们不仅实现了历史版本,而且减轻了服务端的压力,将压力缓解到客户端,并且实现了离线功能。在市面上很多设计将历史版本存储在服务端,定期清除,不能完成离线功能,所以我们此设计改善了离线体验。但是本设计可能会导致换设备丢失了历史版本,针对这个缺陷我们可以在有网络的情况下设置定时任务把本地数据库数据同步到服务端备份,当检测到换了设备我们再将服务端的数据同步到客户端,这样就可以完美解决这个缺陷。
32.当然用户也可以设置保存的时候选是否存储在服务端,这样服务端对于我们来说仅仅只是数据运输过程,而且我们可以选择空闲的时候同步数据,服务端基本不会有大压力,用户基本是无感的。接下来就是网关拓扑编辑器编辑内容以及保存了,在保存的时候我们需要清除本地这条数据的草稿状态,在用户手动保存的情况下我们存储一个历史版本数据,除此以外我们会定时保存数据到本地,防止数据丢失。我们本地存储的数据设置为三天一个周期进行清空,也就是三天没有任何操作的数据会定时清空。
33.基于相同的发明构思,本发明实施例公开一种主动防御网关拓扑编辑器本地存储系统,包括:数据加载模块,用于在进入编辑器时,判断是编辑数据还是新增数据;对于编辑数据,若编辑器离线且本地有草稿的话,获取本地最新草稿进行编辑;若编辑器离线且本地没有草稿的话,则新增空白数据;对于新增数据,若本地有草稿则提示用户是否加载草稿,并根据用户选择确定加载草稿编辑还是新增空白数据;数据保存模块,用于在用户编辑过程中,定时以时间为键将用户编辑的网关拓扑数据存储在本地数据库indexeddb;以及在用户手动保存时,在本地数据库indexeddb中保存一个历史版本并清除草稿状态;数据同步模块,用于在编辑器在线且用户选择同步保存到服务端时,将保存在本地数据库indexeddb的数据同步到服务端。
34.基于相同的发明构思,本发明实施例公开一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关拓扑编辑器本地存储方法的步骤。
35.基于相同的发明构思,本发明实施例公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的主动防御网关拓扑编辑器本地存储方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1