全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211257536.2 (22)申请日 2022.10.14 (71)申请人 华东理工大 学 地址 200237 上海市徐汇区梅陇路13 0号 (72)发明人 汪楠 王子毅 张泽宇 祝洪图  兰程  (51)Int.Cl. H04L 41/14(2022.01) H04L 12/46(2006.01) G06F 9/50(2006.01) (54)发明名称 一种基于OpenVPN的高吞吐高可用系统 (57)摘要 本发明基于OpenVPN的高吞吐高可用系统, 首先针对OpenVPN多线 程数据通信中线 程冲突开 销大的问题, 设计基于一线程一循环的多线程数 据通信流程, 通过分离数据加密和数据转存流 程, 尽可能降低OpenVPN多线 程同步开销; 其次针 对多线程系统受限于单线程发包速率的问题, 提 出基于epoll的多线程分组发包策略, 通过取消 不同组间的线程竞争, 实现多线程系统并行发 包, 提高整体系统发包性能; 最后针对OpenVPN脑 裂情况中客户端无法正确参与选举的问题, 提出 一个基于多参数综合评估的仲裁选举机制, 其使 用层次分析法计算出服务器节 点的权重系数, 并 通过仲裁选举出最适合存活的集群, 避免 OpenVPN服务器集群脑裂的发生。 权利要求书1页 说明书4页 附图2页 CN 115550198 A 2022.12.30 CN 115550198 A 1.一种基于OpenVPN的高吞吐高可用系统, 其特征在于, 包括高吞吐子系统, 所述高吞 吐子系统包括有: 初始化/关闭模块, 所述初始化/关闭模块用于程序运行时多线程的创建、 资源分配和 资源的初始化; 数据通信模块, 所述数据通信模块用于多 线程下的跨线程 通信; 分组发包机制, 所述分组发包机制用于实现多 线程的并行发包; 资源管理模块, 所述资源管理模块用于多线程同步资源的管理, 并提供线程间同步调 用的接口。 2.根据权利 要求1所述的基于OpenVPN的高吞吐高可用系统, 其特征在于: 所述初始化/ 关闭模块, 采用信号量的线程同步方法来控制线程的依 次执行初始化, 并且首先初始化主 线程, 并在 初始化完成后释放信号 量等待其他线程初始化私有资源。 3.根据权利要求1所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述数据通 信模块, 采用了基于一线程一循环的多线程数据通信流程, 通过分离数据加密和数据转存 流程, 将数据加解密的加锁缩 减为对密钥及相关数据拷贝过程的加锁, 移除数据转存流 程。 4.根据权利要求1所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述分组发 包机制, 采用了基于epoll的多线程分组发包策 略, 通过取消不同组间的线程竞争, 用于实 现多线程系统的并行发包, 提高整体系统的发包性能。 5.根据权利要求1所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述资源管 理模块, 将关键数据参数以全局变量的形式存储, 各个线程调用接口函数访问全局变量获 取相应信息, 用于降低代码间的耦合 性。 6.根据权利要求1所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于, 包括高可用 子系统, 所述高可用子系统包括有: 高可用集群模块, 所述高可用集群模块用于确保服务器集群对外只提供一个master服 务器和一个虚拟IP; 防脑裂模块, 所述防脑裂模块用于高可用子系统中的仲裁 选举和状态检测; 数据备份模块, 所述数据备份模块用于在主服务器的配置文件发生修改时将修改同步 更新到备用服 务器的配置文件中; OpenVPN文件监听模块, 所述OpenVPN文件监听模块用于监听并应用配置文件的修改。 7.根据权利要求6所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述高可用 集群模块, 采用Keepalived方案实现高可用, 利用VRRP协议确保服务器集群对外只提供一 个master服 务器和一个虚拟IP。 8.根据权利要求6所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述防脑裂 模块, 采用基于多参数综合评估的仲裁选举机制, 使用层次分析法计算出服务器节点的权 重系数, 并通过仲裁 选举出最 适合存活的集群。 9.根据权利要求6所述的基于OpenVPN的高吞吐高可用系 统, 其特征在于: 所述数据备 份模块, 当配置文件发生修改时, 所述数据备份模块将修改 的内容传输给backup节 点, 之后 backup节点将修改后的配置参数应用到对应 配置文件用于实现数据备份。 10.根据权利要求6所述的基于OpenVPN的高吞吐高可用系统, 其特征在于: 所述 OpenVPN文件监听模块, 采用i notify机制监视文件系统事 件。权 利 要 求 书 1/1 页 2 CN 115550198 A 2一种基于 OpenVPN的高吞吐高 可用系统 技术领域 [0001]本发明涉及虚拟专用网络技术领域, 特别是涉及基于OpenVPN 的高吞吐高可用系 统的设计与实现。 背景技术 [0002]随着电子信息技术的发展, 私有网络中接入节点的数量也在增加, 其中机密设备 的数据通信需要虚拟专用网络(Virtual  Private Network,VPN)的加密保护。 OpenVPN是一 种易用性极高的VPN应用, 但是由于其为单线程VPN程序, 其在大流量通信场景中的性能不 足以及在服务器集群中健壮性较弱的问题日益 突出。 发明内容 [0003]鉴于以上所述现有OpenVPN 的缺点, 本发明的目的在于设计一款高吞吐高可用系 统, 用于解决现有OpenVPN在大流量通信场景中性能不足以及在服务器集群中健壮性较弱 的问题。 [0004]为实现上述目的及其他相关目的, 本 发明基于OpenVP N的高吞吐高可用系统, 包括 有: [0005]高吞吐子系统, 所述高吞吐子系统, 包括有: [0006]初始化/关闭模块, 所述初始化/关闭模块用于程序运行时多线程的创建、 资源分 配和资源的初始化; [0007]数据通信模块, 所述数据通信模块用于多线程下的跨线程通信, 减少线程同步的 开销, 提高通信速率; [0008]分组发包机制, 所述分组发包用于实现多线程的并行发包, 提高多线程系统的发 包效率; [0009]资源管理模块, 所述资源管理模块用于多线程同步资源的管理, 并提供线程间同 步调用的接口。 [0010]优选的, 所述初始化/关闭模块, 采用信号量的线程同步方法来控制线程的依次执 行初始化, 并且首先初始化主线程, 并在初始化完成后释放信号量等待其他线程初始化私 有资源。 [0011]优选的, 所述数据通信模块, 采用了基于一线程一循环的多线程数据通信流程, 通 过分离数据加密和数据转存流程, 将数据加解密的加锁缩减为对密钥 及相关数据拷贝过程 的加锁, 移除数据转存流 程。 [0012]优选的, 所述分组发包机制, 采用了基于epoll 的多线程分组发包策略, 通过取消 不同组间的线程 竞争, 用于多 线程系统的并行发包, 提高整体系统的发包性能。 [0013]优选的, 所述资源管理模块, 将关键数据参数以全局变量的形式存储, 各个线程调 用接口函数访问全局变量获取相应信息, 用于降低代码间的耦合 性。 [0014]优选的, 包括, 高可用子系统所述的高可用子系统包括有:说 明 书 1/4 页 3 CN 115550198 A 3

PDF文档 专利 一种基于OpenVPN的高吞吐高可用系统

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于OpenVPN的高吞吐高可用系统 第 1 页 专利 一种基于OpenVPN的高吞吐高可用系统 第 2 页 专利 一种基于OpenVPN的高吞吐高可用系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:00:34上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。