一种保持OpenStack服务端与设备端数据一致的方法及装置与流程

文档序号:13577364阅读:203来源:国知局
一种保持OpenStack服务端与设备端数据一致的方法及装置与流程

本申请涉及通信技术领域,特别涉及一种保持openstack服务端与设备端数据一致的方法及装置。



背景技术:

随着物联网和移动应用的兴起,信息系统需要处理的数据量相比过去几何级地提升,因此云计算平台受到越来越多的关注。openstack是当前主流的开源云计算管理平台项目,其目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack覆盖了网络、虚拟化、操作系统、服务器等各个方面,通过所包含的多个组件,提供计算、网络、存储等核心服务,及fwaas(firewallasaservice,防火墙即服务)、lbaas(loadbalanceasaservice,负载均衡即服务)等扩展服务。

在用户使用openstack的fwaas等服务时,由于软件所能实现的功能可能无法达到硬件设备的程度,同时为了充分利用现有环境中的硬件设备资源,可以使用硬件设备替换openstack中的软件。用户在通过软件使用openstack的服务时,可以对服务端的数据进行修改、删除等配置,而使用硬件设备替换软件后,用户可以操作openstack将服务端的数据下发到设备端,并在通过设备端使用openstack的服务时,直接对设备端存储的数据进行配置。但这样将导致服务端与设备端的数据不一致,进而产生问题,使用户无法正常地使用openstack的服务。



技术实现要素:

有鉴于此,本申请提供一种保持openstack服务端与设备端数据一致的方法及装置,技术方案如下:

一种保持openstack服务端与设备端数据一致的方法,该方法包括:

监测是否连接到openstack服务端;

在连接到openstack服务端的情况下,检测是否存在未上报的设备端数据配置记录;

在存在未上报的设备端数据配置记录的情况下,根据所述设备端数据配置记录,向所述openstack服务端发送服务端数据配置请求,以使所述openstack服务端对服务端数据进行与设备端一致的配置。

一种保持openstack服务端与设备端数据一致的装置,该装置包括:

服务端连接监测模块,用于监测是否连接到openstack服务端;

配置记录检测模块,用于在连接到openstack服务端的情况下,检测是否存在未上报的设备端数据配置记录;

配置记录上报模块,用于在存在未上报的设备端数据配置记录的情况下,根据所述设备端数据配置记录,向所述openstack服务端发送服务端数据配置请求,以使所述openstack服务端对服务端数据进行与设备端一致的配置。

本申请所提供的技术方案,在设备端与服务端连接成功之后,首先检测在连接成功前,用户是否对设备端存储的数据进行了修改、删除等配置,若用户对数据进行了配置,则通知服务端对数据进行相同的配置。同时,为了避免对数据的配置和同步发生冲突,只允许用户在未连接到服务端时对数据进行配置,并在连接后通知服务端,从而使服务端与设备端的保持数据一致。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。此外,本申请中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请实施例的应用场景示意图;

图2是本申请实施例保持openstack服务端与设备端数据一致的方法的一种交互流程示意图;

图3是本申请实施例保持openstack服务端与设备端数据一致的方法的另一种交互流程示意图;

图4是本申请实施例保持openstack服务端与设备端数据一致的装置的第一种结构示意图;

图5是本申请实施例保持openstack服务端与设备端数据一致的装置的第二种结构示意图;

图6是本申请实施例保持openstack服务端与设备端数据一致的装置的第三种结构示意图;

图7是本申请实施例保持openstack服务端与设备端数据一致的装置的第四种结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请实施例的一种应用场景如图1所示,一般情况下,用户可以通过openstack中的软件,使用openstack提供的服务,对服务端的openstack数据库中的数据进行配置。但在某些情况下,用户可能会选择使用硬件设备替换软件,进而通过硬件使用openstack的服务。此时,用户首先可以将服务端的openstack数据库中的数据,下发并存储到设备端的openstack数据库中,之后在通过硬件设备使用openstack的服务时,如果需要对数据进行配置,可以直接对设备端的openstack数据库中的数据进行配置。同时,用户可能还会通过软件使用openstack的服务,如果服务端的openstack数据库中的数据与设备端中的不同,将导致用户无法正常地使用openstack服务。为了使用户可以通过软件和硬件灵活地使用服务,本申请实施例提供了一种保持openstack服务端与设备端数据一致的方法。

参见图2所示,本申请实施例的保持openstack服务端与设备端数据一致的方法,可以包括以下步骤:

s201,设备端监测是否连接到openstack服务端;

为了保持openstack服务端与设备端的数据一致,首先需要将设备端连接到服务端。首先,设备端向服务端发起连接请求,但由于与服务端之间的网络连接质量等原因,连接不一定能够成功,因此,需要对设备端是否连接到了服务端进行监测。

如果监测到设备端未连接到服务端,则仍需要向服务端发起连接请求。此外,还可以设置循环定时重连,直至监测到设备端与服务端连接成功。

下面结合一个具体的实例,对本步骤进行示意性说明。

假设在设备启动时创建了一个进程,负责处理设备端与服务端的连接及连接后向服务端发送配置请求等任务。在进程的主函数中,可以创建一个tcpsocket,用于连接openstack服务端的控制节点,端口号使用9696。可以通过调用非阻塞式的connect函数的方式,向服务端发起连接请求,并根据connect函数的返回值,判断连接是否成功,返回值为0表示连接成功,返回值为-1表示连接失败,此时可以设置循环定时重连,如每5秒向服务端发起一次连接请求,直至连接成功。

此外,在连接成功后,可以使用select函数监测openstack服务端是否可读、可写,从而监测设备端与服务端之间的数据传输是否正常。根据read、write函数返回值的不同反映函数的执行情况,若监测到服务端不可读、不可写,则表明服务端关闭socket,此时设备端可以将与服务端的连接断开,重新向服务端发起连接请求。

s202,设备端在连接到openstack服务端的情况下,检测是否存在未上报的设备端数据配置记录;

设备端与服务端连接成功后,用户首先可以根据需要,将服务端的openstack数据库中的数据下发到设备端,并将数据保存到预先创建的设备端openstack数据库中,以便在需要配置数据时,直接通过设备端进行配置,而为了保证用户能够正常使用openstack提供的服务,需要保持openstack服务端与设备端的数据一致,即需要对服务端的数据,进行与设备端相同的配置。

因此,设备端连接到服务端后,需要检测用户是否对设备端的数据进行了未上报服务端的数据配置。例如,可以在设备端的openstack数据库中,创建用于记录设备端数据配置的数据配置记录表,在连接到openstack服务端的情况下,读取所述数据配置记录表中的记录,确定是否存在未上报的设备端数据配置记录。如果表中无内容,则可能是用户还未配置设备端数据,或者用户的设备端数据配置,已经上报到服务端,进而删除了相关的设备端数据配置记录,即不存在未上报的设备端数据配置记录;如果能够从表中读取到记录,则确定存在未上报的设备端数据配置记录,需要上报服务端。

s203,设备端在存在未上报的设备端数据配置记录的情况下,根据所述设备端数据配置记录,向所述openstack服务端发送服务端数据配置请求;

s204,openstack服务端根据所述服务端数据配置请求,对服务端数据进行与设备端一致的配置。

为了便于描述,将s203与s204结合进行说明。

如果在s202中检测到未上报的设备端数据配置记录,为了保持服务端与设备端的数据一致,需要向服务端发送服务端数据配置请求,将对设备端数据进行的配置,上报服务端。

在本申请的一种具体实施方式中,设备端在接收到服务端下发的数据后,将其保存为设备端数据的同时,还可以保存一份原始数据,则在根据设备端数据配置记录,向服务端发送服务端数据配置请求时,就可以参考保存的原始数据。

例如,假设如前文所述,创建了数据配置记录表,表中记录了用户对设备端数据进行的修改、删除等配置,则可以读取数据配置记录表中的配置记录,及原始数据表中对应的原始数据,根据二者得到需要向服务端发送的服务端数据配置请求,如可以采用xml、json等格式,组装配置记录与原始记录。

在发送服务端数据配置请求时,如果如前文所述,创建了tcpsocket连接,则可以通过此socket连接发送数据包。如果数据包发送成功,则服务端将根据数据包中的配置记录及原始数据,对服务端openstack数据库中的数据进行配置,同时设备端openstack数据库中保存的原始数据也需要进行更新,并且清空数据配置记录表中的数据配置记录,至此,即对设备端openstack数据库中的设备端数据、原始数据及服务端openstack数据库中的数据进行了一致的配置,保持了openstack服务端与设备端的数据一致。

此外,在本申请的一种具体实施方式中,为了保证用户对设备端数据的配置,能够准确地上报服务端,避免重复地配置服务端数据,甚至遗漏对服务端数据的配置,需要根据当前设备端与服务端的连接是否成功,将对数据的配置与同步两种处理分开。即当设备连接到服务器时,可以进行数据同步,同时禁止用户对数据进行配置;而当设备为连接到服务器时,允许用户对数据进行配置,同时不可进行数据同步。

参见图3所示,当设备端接收到用户的设备端数据配置请求时,首先需要判断设备端是否连接到了openstack服务端,如果当前设备端未连接到服务端,则允许用户进行数据配置,根据接收到的设备端数据配置请求,对设备端openstack数据库中的数据进行配置,还可以如前面所述,在数据配置记录表中进行记录,同时因未连接到服务端,无法进行数据同步;如果当前设备端连接到了服务端,则不允许用户进行数据配置,需要向用户返回设备端数据不可配置的提示,同时如前面所述,可以对之前的配置进行同步。

可见,应用本申请方案,在设备端连接到服务端时,将用户对设备端openstack数据库中数据的配置,同步到openstack服务端,从而保持服务端的openstack数据库中的数据,与设备端的一致,避免用户在通过openstack中的软件及硬件设备使用openstack提供的服务时,因服务端与设备端的数据不一致而产生问题。

相应于上述方法实施例,本申请还提供一种保持openstack服务端与设备端数据一致的装置,参见图4所示,该装置可以包括:

服务端连接监测模块110,用于监测是否连接到openstack服务端;

配置记录检测模块120,用于在连接到openstack服务端的情况下,检测是否存在未上报的设备端数据配置记录;

配置记录上报模块130,用于在存在未上报的设备端数据配置记录的情况下,根据所述设备端数据配置记录,向所述openstack服务端发送服务端数据配置请求,以使所述openstack服务端对服务端数据进行与设备端一致的配置。

在本申请的一种具体实施方式中,参见图5所示,该装置还可以包括:

连接请求发送模块140,用于在未连接到openstack服务端的情况下,向openstack服务端发起连接请求。

在本申请的一种具体实施方式中,所述服务端连接监测模块110,还可以用于在接收到设备端数据配置请求的情况下,检测是否连接到openstack服务端;

参见图6所示,该装置还可以包括:

不可配置提示模块150,用于在连接到openstack服务端的情况下,返回设备端数据不可配置提示;

数据配置模块160,用于在未连接到openstack服务端的情况下,根据所接收的设备端数据配置请求,对设备端数据进行配置。

在本申请的一种具体实施方式中,参见图7所示,该装置还可以包括:

原始数据保存模块170,用于将接收到的openstack服务端下发的数据,保存为原始数据;

原始数据更新模块180,用于在所述服务端数据配置请求发送成功的情况下,更新所述原始数据。

在本申请的一种具体实施方式中,所述配置记录上报模块130具体可以用于:

在存在未上报的设备端数据配置记录的情况下,根据所述设备端数据配置记录及所述原始数据,向所述openstack服务端发送服务端数据配置请求,以使所述openstack服务端对服务端数据进行与设备端一致的配置。

上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

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

本发明可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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