System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通讯,特别涉及一种分布式节点的通讯控制方法及系统。
技术介绍
1、对于分布式的节点管理方案,需要高效管理分布式节点的容器和服务,整套管理方法需要适配多种网络和系统环境。对于分布式节点的客户端,其往往采用的自更新技术,大多使用了外置程序,即单独启动一个脚本或者守护进程,停止当前进程,在新的目录启动新的程序,删除当前目录,这需要依赖外部程序,并且需要创建新的目录,导致客户端程序过于复杂,依赖外部程序也会导致可靠性降低。此外,现有的分布式的节点与服务端的通讯安全性无法得到有效保障,通讯流量容易被分析劫持。特别是对客户端内根证书的替换、使用中间人伪造技术进行流量劫持等非法操作没有比较好的防御手段,主要原因是对于服务端的校验不充分。此外,由于分布式节点数量较多,涉及区域较广,并且需要保证其通讯稳定性,目前的cdn不能满足双向证书校验的需求,且单云分布式节点过于依赖某个云服务商,在单云出现大规模故障时,系统容错性较差。
技术实现思路
1、鉴于现有技术中的上述缺陷或不足,本专利技术提供了一种分布式节点的通讯控制方法及系统,一方面能够不依赖外部程序实现客户端在运行中稳定的更新,提高了客户端程序可靠性,运行过程中不需要创建新的目录,在原有客户端程序基础上即可实现更新,降低了维护成本;二方面通过hook方式对客户端和服务端tls握手中的关键部分进行校验,保障通讯建立过程中的安全性,降低中间人攻击的可能性;三方面使用多云多节点的方式来进行流量转发,并使用云拨测结合分布式节点的存活情况进行健
2、本专利技术的一个方面,提供了一种分布式节点的通讯控制方法,包括:客户端在节点中安装应用容器引擎的运行环境,并将节点的系统信息和令牌上报至服务端;服务端校验所述令牌和节点的系统信息是否合法,是则返回应用容器引擎的镜像配置信息至客户端;客户端根据返回的应用容器引擎的镜像配置信息下载应用容器引擎的镜像,运行该应用容器引擎的镜像并将运行中的应用容器引擎的镜像信息和系统信息上报至服务端;服务端从所述运行中的应用容器引擎的镜像信息和系统信息中获取节点id,通过节点id和节点所在区域的空间id,在消息队列中获取待执行的任务信息,并将待执行的任务信息返回至客户端;客户端根据所述待执行的任务信息执行相关操作。
3、进一步的,所述客户端根据所述待执行的任务信息执行相关操作的步骤,包括:若待执行的任务信息为客户端更新任务,则下载新的客户端程序至操作系统的临时目录下,并对新的客户端程序进行可用性和兼容性检查,若新的客户端程序的版本高于原客户端程序的版本、新的客户端程序能够正常运行、以及新的客户端程序与当前应用容器引擎兼容,则利用操作系统api删除原客户端程序文件,用新的客户端程序覆盖原客户端程序的安装路径,向新的客户端程序授予可执行权限,并向操作系统发送重启客户端程序服务的信号,通过操作系统api关闭原客户端程序的服务,使用新的客户端程序启动服务。
4、进一步的,还包括:服务端对所述令牌和节点的系统信息进行校验,使用节点的系统信息签发根证书,并将根证书返回至客户端;客户端对所述根证书进行哈希校验,以确认所述根证书由服务端签发;用经过哈希校验的根证书与客户端证书进行mtls通讯,通过hook方式在tls握手过程中实现对所述根证书的合法性校验,若校验合法则完成tls握手;服务端获取所述客户端证书,并对所述客户端证书进行合法性校验,若校验合法则继续tls握手;客户端校验tls握手过程中服务端是否获取了所述客户端证书,是则在客户端和服务端之间建立可信连接,对可信连接进行周期性的安全校验,包括:获取所述根证书的哈希值与内置白名单进行比较、判断服务端是否获取了客户端证书、以及服务端根证书签发的ip是否与通讯ip一致;若上述任意一项安全校验未通过验证,则断开所述可信连接。
5、进一步的,所述在客户端和服务端之间建立可信连接的步骤,包括:第一云网络的第一区域的第一节点的客户端接收dns服务器返回的与第一区域最近的服务端ip,并与所述第一区域内的第一转发节点建立连接,通过所述第一转发节点周期性的将所述第一节点的存活信息上报至所述服务端ip对应的服务端;所述服务端经过证书验证后,将所述第一节点的存活信息存储至数据库;当所述第一节点和所述服务端的通讯无法连接时,所述第一节点的客户端将服务端列表的其他服务端地址发送至dns服务器解析,接收dns服务器返回的新的服务端ip,并与第二云网络中的第二转发节点或者第一云网络中第二区域内的第三转发节点建立连接,通过所述第二转发节点或第三转发节点周期性的将所述第一节点的存活信息上报至新的服务端;客户端检查所述第一节点、第一转发节点和原服务端之间的原通讯连接是否恢复,若恢复则将当前通讯连接切换回原通讯连接。
6、进一步的,还包括:服务端获取数据库中存储的节点存活信息,根据节点存活信息和云拨测的测试结果,对不同节点的通讯结果进行判断,若第一云网络中的第一区域的节点通讯失败或第一区域的节点集中掉线,则修改第一区域的转发节点地址的dns解析结果至第一云网络的其他可用区域。
7、进一步的,还包括:若第一云网络发生大面积故障,则将第一云网络的转发节点地址的dns解析结果切换至第二云网络。
8、进一步的,还包括:若云拨测的测试结果为通讯恢复,则将转发节点地址的dns解析结果恢复至原始的第一云网络中的第一区域。
9、本专利技术的另一方面,还提供了一种分布式节点的通讯控制系统,包括:客户端,用于在节点中安装应用容器引擎的运行环境,并将节点的系统信息和令牌上报至服务端;根据服务端返回的应用容器引擎的镜像配置信息下载应用容器引擎的镜像,运行该应用容器引擎的镜像并将运行中的应用容器引擎的镜像信息和系统信息上报至服务端;根据服务端返回的待执行的任务信息执行相关操作;服务端,用于校验所述令牌和节点的系统信息是否合法,是则返回应用容器引擎的镜像配置信息至客户端;从运行中的应用容器引擎的镜像信息和系统信息中获取节点id,通过节点id和节点所在区域的空间id,在消息队列中获取待执行的任务信息,并将待执行的任务信息返回至客户端。
10、本专利技术提供的分布式节点的通讯控制方法及系统,具有如下有益效果:
11、(1) 不依赖外部程序实现客户端在运行中稳定的更新,客户端程序运行过程中不需要创建新的目录,在原有客户端程序基础上即可实现更新,降低了维护成本;
12、(2) 通过hook方式对客户端和服务端tls握手中的关键部分进行校验,保障通讯建立过程中的安全性,降低中间人攻击的可能性;
13、(3) 使用多云多节点的方式来进行流量转发,并使用云拨测结合分布式节点的存活情况进行健康检查,再结合dns区域解析技术,实现云网络中可用区域故障后的快速主备切换。
本文档来自技高网...【技术保护点】
1.一种分布式节点的通讯控制方法,其特征在于,包括:
2.根据权利要求1所述的一种分布式节点的通讯控制方法,其特征在于,所述客户端根据所述待执行的任务信息执行相关操作的步骤,包括:
3.根据权利要求2所述的一种分布式节点的通讯控制方法,其特征在于,还包括:
4.根据权利要求3所述的一种分布式节点的通讯控制方法,其特征在于,所述在客户端和服务端之间建立可信连接的步骤,包括:
5.根据权利要求4所述的一种分布式节点的通讯控制方法,其特征在于,还包括:
6.根据权利要求5所述的一种分布式节点的通讯控制方法,其特征在于,还包括:
7.根据权利要求6所述的一种分布式节点的通讯控制方法,其特征在于,还包括:
8.一种分布式节点的通讯控制系统,其特征在于,包括:
9.根据权利要求8所述的一种分布式节点的通讯控制系统,其特征在于,所述客户端进一步用于:
10.根据权利要求9所述的一种分布式节点的通讯控制系统,其特征在于:
【技术特征摘要】
1.一种分布式节点的通讯控制方法,其特征在于,包括:
2.根据权利要求1所述的一种分布式节点的通讯控制方法,其特征在于,所述客户端根据所述待执行的任务信息执行相关操作的步骤,包括:
3.根据权利要求2所述的一种分布式节点的通讯控制方法,其特征在于,还包括:
4.根据权利要求3所述的一种分布式节点的通讯控制方法,其特征在于,所述在客户端和服务端之间建立可信连接的步骤,包括:
5.根据权利要求4所述的一种分布式节点...
【专利技术属性】
技术研发人员:赵子凯,朱文雷,颜彬林,张子墨,崔勤,
申请(专利权)人:北京长亭科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。