一种基于混合云的数据通信方法及装置与流程

文档序号:18297982发布日期:2019-07-31 09:39阅读:243来源:国知局
一种基于混合云的数据通信方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种基于混合云的数据通信方法及装置。



背景技术:

随着云计算的发展及日渐成熟化,越来越多的企业开始把自己的业务迁移到云端,形成了形形色色的“行业云”。例如在线教育领域,各公司纷纷将自己的教育服务迁移到云端,形成各种各样架构的“教育云”。

教育云与其他行业云一样,按照部署方式,可以分为公有云和私有云。公有云:统一部署在云端,所有学校和用户通过internet访问同一套服务,提供基础设施(如机器、网络、数据库存储等)的,可以是像阿里云、microsoftazure等第三方,也可以是公司自有机房。私有云:为一所或几所位于同一区域的学校,单独部署一套完整的云服务。各个私有云之间完全隔离,学校可以通过局域网访问。

公有云成本低,扩展性好,能够整合上游的服务提供者和下游最终用户,打造新的价值链和生态系统,但缺点是安全性差,不能满足各种区域性或者组织性的法规,并且在线流量峰值期间,费用会迅速增加。相对来说,私有云提供了更高的安全性与可定制性,但是实施与维护成本会更高,远程访问也更加困难。



技术实现要素:

由于现有方法存在上述问题,本发明实施例提出一种基于混合云的数据通信方法及装置。

第一方面,本发明实施例提出一种基于混合云的数据通信方法,包括:

应用程序在登录的过程中,判断私有云的服务器节点中是否记录上次的登录节点;

若已记录上次的已登录节点,则检测所述已登录节点的可用性;

若所述已登录节点可用,则登录所述已登录节点进行数据通信;

若所述已登录节点不可用,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第一可用节点,并登录所述第一可用节点进行数据通信。

第二方面,本发明实施例还提出一种基于混合云的数据通信装置,包括:

节点判断模块,用于应用程序在登录的过程中,判断私有云的服务器节点中是否记录上次的登录节点;

可用性检测模块,用于若已记录上次的已登录节点,则检测所述已登录节点的可用性;

第一节点登录模块,用于若所述已登录节点可用,则登录所述已登录节点进行数据通信;

第二节点登录模块,用于若所述已登录节点不可用,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第一可用节点,并登录所述第一可用节点进行数据通信。

第三方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明实施例通过判断私有云的服务器节点中已记录上次的已登录节点且可用时,登录已登录节点进行数据通信,能在断网情况下独立提供通信服务,且保证数据的安全性;当已登录节点不可用时,根据公有云的主服务节点的节点列表选择距离当前终端位置最近的节点进行登录,方便统一部署和管理,且便于私有云中服务器节点的扩展。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明一实施例提供的一种基于混合云的数据通信方法的流程示意图;

图2为本发明一实施例提供的一种基于混合云的数据通信系统的连接示意图;

图3为本发明另一实施例提供的一种基于混合云的数据通信方法的流程示意图;

图4为本发明一实施例提供的一种基于混合云的数据通信装置的结构示意图;

图5为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种基于混合云的数据通信方法的流程示意图,包括:

s101、应用程序在登录的过程中,判断私有云的服务器节点中是否记录上次的登录节点。

其中,所述应用程序为当前正在登录的应用程序。

所述私有云的服务器节点为部署在特定范围内的若干个云服务器的节点。例如,部署在某一学校的多台云服务器,每台云服务器为一个私有云的服务器节点。

具体地,应用程序在每一次登录过程中,首先会在私有云的服务器节点中选择可用的服务器进行登录,在选择可用的服务器时,优先查看上次的登录节点,因此需要判断私有云的服务器节点中是否记录上次的登录节点。

s102、若已记录上次的已登录节点,则检测所述已登录节点的可用性。

其中,所述已登录节点为应用程序上一次登录时所使用的服务器节点。

所述可用性表示服务器节点是否可用,例如当服务器出现故障时,该服务器节点不可用。

s103、若所述已登录节点可用,则登录所述已登录节点进行数据通信。

具体地,应用程序登录所述已登录节点进行数据通信。

s104、若所述已登录节点不可用,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第一可用节点,并登录所述第一可用节点进行数据通信。

其中,所述公有云的主服务节点为统一部署在云端,提供基础设施的云服务器的节点。

所述第一可用节点为已登录节点不可用时,节点列表中距离当前终端位置最近,即通信速度最快的可用节点。

所述公有云的主服务节点和各私有云的服务器节点均采用docker(开源应用容器引擎)容器标准化部署。公有云的主服务节点的每个服务模块均部署在一个定制化的标准docker容器里,这些模块相互协作,提供完整的数据分析等服务。

本实施例提供一种既能方便统一部署、又能在断网情况下独立提供教学服务的混合云方案,即公有云+私有云,数据和应用可以在公有云和私有云之间移动,从而提供更大的灵活性。混合云在一定程度上融合了公有云和私有云两者的优点,具有成本效益,且允许数据在多云环境中灵活流动。

本实施例通过判断私有云的服务器节点中已记录上次的已登录节点且可用时,登录已登录节点进行数据通信,能在断网情况下独立提供通信服务,且保证数据的安全性;当已登录节点不可用时,根据公有云的主服务节点的节点列表选择距离当前终端位置最近的节点进行登录,方便统一部署和管理,且便于私有云中服务器节点的扩展。进一步地,在上述方法实施例的基础上,所述基于混合云的数据通信方法还包括:

进一步地,在上述方法实施例的基础上,所述基于混合云的数据通信方法还包括:

s105、若未记录上次的登录节点,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第二可用节点,并登录所述第二可用节点进行数据通信。

其中,所述节点列表为存储在公有云的主服务节点中的各公有云的服务节点的列表。

所述第二可用节点为未记录上次的登录节点时,节点列表中距离当前终端位置最近的可用节点。

s106、将所述第一可用节点/所述第二可用节点存储在私有云中。

具体地,将选择的节点列表中距离当前终端位置最近的第一可用节点/第二可用节点存储在私有云的各服务器节点中。

s107、根据业务需求,对私有云/公有云的服务器节点进行动态扩展或移除。

具体地,当业务量较大时,当前的公有云服务器节点无法满足需求,则对公有云的服务器节点进行扩展;相应地,当业务量较小时,当前大部分的公有云服务器节点都处于空闲状态,则对部分公有云的服务器节点进行移除;同理,当前的私有云服务器节点无法满足需求,则对私有云的服务器节点进行扩展;相应地,当业务量较小时,当前大部分的私有云服务器节点都处于空闲状态,则对部分私有云的服务器节点进行移除。

具体地,以学校为例,如图2所示为基于混合云的数据通信系统的连接示意图,主要包括以下几个部分:

1)公有云主服务节点(图2中的云服务器)

公有云主服务节点采取docker容器标准化部署,整套服务包括如下几个模块:nginx前端服务、后端rest服务、mysql数据存储、redis数据缓存、rabbitmq消息服务、elasticsearch索引服务、大数据统计服务等等。每个服务模块均部署在一个定制化的标准docker容器里。这些模块相互协作,提供完整的教学、作业、数据分析等服务。

2)私有云服务节点(图2中的私有云服务器)

一般部署在学校机房,为一所学校的班级提供服务。私有云服务器与主服务器一致,仍然采取docker容器标准化部署,且docker容器也是与主服务器一致的标准容器。其中,私有云服务器进行上课数据缓存,教师在云端备课,备完课后每5分钟私有云服务器与云端服务器进行一次数据互通,将教师课上用到的资源数据缓存到私有云服务器上,保障课上的网络稳定,下课后,私有云服务器会将产生的数据回传至云端。路由器负责nat(网络地址转换)和dhcp(动态地址分配)。交换机负责内网中的信息交换与vlan虚拟局域网的划分。无线控制器ac作为无线的接入点,只负责无线客户端的接入。上述结构能够保证私有云服务器的实施标准化。私有云服务器能提供完整的课堂教学服务,课前与课后场景所需的数据会每隔五分钟与主服务器之间进行一次同步,基本保证了教学场景的无缝切换。另外,私有云服务器是部署在学校内网的,可以保证学校在断掉外网连接的情况下,仍然能通过内网进行课堂教学。

3)pad端app(图2中各教室内的8个矩形框)

pad端app是安装在安卓平板上,是供教师和学生登录混合云进行课堂教学的客户端产品。pad端app内置了灵活的服务器适配机制,会优先登录所在学校的私有云节点,并且在私有云节点无法提供服务时,自动登录公有云节点。

具体来讲,如图3所示,系统会针对每个学校,维护一份私有云节点的地址列表,即公有云的主服务节点中的节点列表。pad端app在登录过程中,会根据当前学校的配置及该设备上之前的登录情况,是否记录了上次登录的节点,同事测试私有云节点的可用性,选取距离当前终端位置最近的可用节点。当所有的私有云节点都不可用时,将自动登录到公有云节点。

在具体实施过程中,公有云主服务节点是高可靠节点,需要直接维护,架构相对固定,提供7x24小时高可用性服务。私有云服务节点,根据业务需求,动态实施扩展。一般来讲,部署一个新的私有云服务节点的步骤如下:准备好一台或几台组成私有网络的物理机器,安装好与公有云节点相同的centos系统;从维护的dockerregistry里,同步标准的nginx/mysql/后端rest服务/redis/reabbitmq等docker镜像到本地;运行标准部署脚本,对这些docker镜像进行配置,并启动;将新的私有节点添加到主服务节点统一维护的节点列表中,并同步到所有其他私有节点;从公有云节点同步必要的学校班级、帐号等信息到本地服务器。

本实施例提供的方法中私有云节点采用docker容器标准化部署,从而使得私有云节点的横向扩展性得到了极大的增强,可以很方便快捷地根据需要添加新的私有云节点;同事客户端应用程序内置的灵活的云服务节点选择机制,使得老师和学生即使在学校断外网的情况下,仍然可以通过学校内网登录到就近的私有云节点,从事正常的课堂教学活动。从实际使用效果看,由于采取了docker容器标准化部署,在服务器基础设施已经准备就绪的情况下,仅需半个小时左右就能快速搭建出一个新的私有云服务节点;另外,部分学校由于各种原因出现过偶发的断网现象,在此情况下,校内的私有云节点仍然能过学校内网提供正常的教学服务。

图4示出了本实施例提供的一种基于混合云的数据通信装置的结构示意图,所述装置包括:节点判断模块401、可用性检测模块402、第一节点登录模块403和第二节点登录模块404,其中:

所述节点判断模块401用于应用程序在登录的过程中,判断私有云的服务器节点中是否记录上次的登录节点;

所述可用性检测模块402用于若已记录上次的已登录节点,则检测所述已登录节点的可用性;

所述第一节点登录模块403用于若所述已登录节点可用,则登录所述已登录节点进行数据通信;

所述第二节点登录模块404用于若所述已登录节点不可用,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第一可用节点,并登录所述第一可用节点进行数据通信。

具体地,应用程序在登录的过程中,所述节点判断模块401判断私有云的服务器节点中是否记录上次的登录节点;所述可用性检测模块402若已记录上次的已登录节点,则检测所述已登录节点的可用性;所述第一节点登录模块403若所述已登录节点可用,则登录所述已登录节点进行数据通信;所述第二节点登录模块404若所述已登录节点不可用,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第一可用节点,并登录所述第一可用节点进行数据通信。

本实施例通过判断私有云的服务器节点中已记录上次的已登录节点且可用时,登录已登录节点进行数据通信,能在断网情况下独立提供通信服务,且保证数据的安全性;当已登录节点不可用时,根据公有云的主服务节点的节点列表选择距离当前终端位置最近的节点进行登录,方便统一部署和管理,且便于私有云中服务器节点的扩展。进一步地,在上述方法实施例的基础上,所述基于混合云的数据通信方法还包括:

进一步地,在上述装置实施例的基础上,所述基于混合云的数据通信装置还包括:

第三节点登录模块,用于若未记录上次的登录节点,则从公有云的主服务节点中获取节点列表,选择所述节点列表中距离当前终端位置最近的第二可用节点,并登录所述第二可用节点进行数据通信。

进一步地,在上述装置实施例的基础上,所述基于混合云的数据通信装置还包括:

节点存储模块,用于将所述第一可用节点/所述第二可用节点存储在私有云中。

进一步地,在上述装置实施例的基础上,所述公有云的主服务节点和各私有云的服务器节点均采用开源应用容器引擎docker容器标准化部署。

进一步地,在上述装置实施例的基础上,所述基于混合云的数据通信装置还包括:

节点增删模块,用于根据业务需求,对私有云/公有云的服务器节点进行动态扩展或移除。

本实施例所述的基于混合云的数据通信装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

参照图5,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;

其中,

所述处理器501和存储器502通过所述总线503完成相互间的通信;

所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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