网关配置更新方法、装置和服务器与流程

文档序号:18639180发布日期:2019-09-11 22:45阅读:574来源:国知局
网关配置更新方法、装置和服务器与流程
本发明涉及信息
技术领域
,尤其是涉及一种网关配置更新方法、装置和服务器。
背景技术
:云计算用户在部署业务时,需要通过云计算管理端更新云网络架构中的网关配置。相关技术中,大多采用全量配置文件更新网关配置。具体为:网关接收到全量配置文件后,对该全量配置文件进行解析、合法性检查,并与网关中的原始配置文件进行比较后,更新网关配置。由于全量配置文件数据量较大,且在大多情况下,该全量配置文件中仅有部分数据与原始配置文件不同,数据冗余量较大,导致网关配置更新消耗时间过长。技术实现要素:本发明的目的在于提供一种网关配置更新方法、装置和服务器,以缩短网关配置更新的耗时,进而提高网关配置的更新效率。本发明提供的一种网关配置更新方法,所述方法包括:获取更新配置文件;其中,所述更新配置文件中包含业务配置数据;比较所述更新配置文件和预先存储的原始配置文件,得到比较结果;根据所述比较结果确定需要更新的业务配置数据;根据所述需要更新的业务配置数据,生成待更新的配置项;根据所述待更新的配置项更新网关的配置参数。进一步的,更新配置文件和原始配置文件中均包含多项业务配置数据,每项业务配置数据包含一个业务标识。进一步的,比较更新配置文件和原始配置文件,得到比较结果,包括:比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识;其中,操作标识用于标记业务配置数据是否为需要更新的业务配置数据。进一步的,比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识,包括:将仅包含在更新配置文件中的业务标识对应的业务配置数据标记为增加;将仅包含在原始配置文件中的业务标识对应的业务配置数据标记为删除;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据不同的业务配置数据标记为修改;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据相同的业务配置数据标记为无变更。进一步的,根据比较结果确定需要更新的业务配置数据,包括:将操作标识为增加的业务配置数据确定为需要新增的业务配置数据;将操作标识为删除的业务配置数据确定为需要删除的业务配置数据;将操作标识为修改的业务配置数据确定为需要修改的业务配置数据;将操作标识为无变更的业务配置数据确定为不需要更新业务配置数据。进一步的,基于预设的文本比较法比较更新配置文件和原始配置文件。进一步的,预设的文本比较法包括:以业务配置数据为拆分单元对更新配置文件进行拆分,得到第一文本块集合;以业务配置数据为拆分单元对原始配置文件进行拆分,得到第二文本块集合;比较第一文本块集合和第二文本块集合中的每个文本块。进一步的,比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识,包括:比较第一文本块集合和第二文本块集合中的每个文本块的业务标识,将仅包含在第一文本块集合中的业务标识对应的业务配置数据标记为增加;将仅包含在第二文本块集合中的业务标识对应的业务配置数据标记为删除;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块不同的业务配置数据标记为修改;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块相同的业务配置数据标记为无变更。进一步的,通过以下方法确定第一文本块集合和第二文本块集合中业务标识相同的两个文本块是否相同:如果业务标识相同的两个文本块中存在不相同的字符串,则确定业务标识相同的两个文本块不相同;如果业务标识相同的两个文本块中的字符串完全相同,则确定业务标识相同的两个文本块相同。进一步的,在确定业务标识相同的两个文本块是否相同之前,还包括:按照预设的排序规则,分别对业务标识相同的两个文本块内的字符串进行排序;确定业务标识相同的两个文本块是否相同,包括:按照字符串的排序结果,逐个字符串比较业务标识相同的两个文本块中是否存在不相同的字符串。进一步的,根据需要更新的业务配置数据,生成待更新的配置项,包括:基于每项业务配置数据的操作标识生成增量配置文件;根据增量配置文件中的业务配置数据生成待更新的配置项。进一步的,增量配置文件包括原始配置差异化文件和更新配置差异化文件;其中,原始配置差异化文件包括操作标识为删除和修改的业务配置数据,更新配置差异化文件包括操作标识为增加和修改的业务配置数据。进一步的,在根据需要更新的业务配置数据,生成待更新的配置项的步骤之前,还包括:将需要更新的业务配置数据进行格式解析;检查格式解析后的需要更新的业务配置数据中的每个业务配置数据是否合法;如果每个业务配置数据均合法,根据格式解析后的需要更新的业务配置数据生成待更新的配置项。进一步的,根据待更新的配置项更新网关的配置参数的步骤,包括:将待更新的配置项推送至网关设备的网关软件;接收网关软件返回的配置更新结果。本发明提供的一种网关配置更新装置,装置包括:获取模块,用于获取更新配置文件;其中,更新配置文件中包含业务配置数据;比较模块,用于比较更新配置文件和预先存储的原始配置文件,得到比较结果;确定模块,用于根据比较结果确定需要更新的业务配置数据;第一生成模块,用于根据需要更新的业务配置数据,生成待更新的配置项;更新模块,用于根据待更新的配置项更新网关的配置参数。进一步的,更新配置文件和原始配置文件中均包含多项业务配置数据,每项业务配置数据包含一个业务标识。进一步的,比较模块还用于:比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识;其中,操作标识用于标记业务配置数据是否为需要更新的业务配置数据。进一步的,比较模块还用于:将仅包含在更新配置文件中的业务标识对应的业务配置数据标记为增加;将仅包含在原始配置文件中的业务标识对应的业务配置数据标记为删除;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据不同的业务配置数据标记为修改;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据相同的业务配置数据标记为无变更。进一步的,确定模块还用于:将操作标识为增加的业务配置数据确定为需要新增的业务配置数据;将操作标识为删除的业务配置数据确定为需要删除的业务配置数据;将操作标识为修改的业务配置数据确定为需要修改的业务配置数据;将操作标识为无变更的业务配置数据确定为不需要更新业务配置数据。进一步的,比较模块还用于:基于预设的文本比较法比较更新配置文件和原始配置文件。进一步的,所述预设的文本比较法包括:以业务配置数据为拆分单元对更新配置文件进行拆分,得到第一文本块集合;以业务配置数据为拆分单元对原始配置文件进行拆分,得到第二文本块集合;比较第一文本块集合和第二文本块集合中的每个文本块。进一步的,比较模块还用于:比较第一文本块集合和第二文本块集合中的每个文本块的业务标识,将仅包含在第一文本块集合中的业务标识对应的业务配置数据标记为增加;将仅包含在第二文本块集合中的业务标识对应的业务配置数据标记为删除;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块不同的业务配置数据标记为修改;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块相同的业务配置数据标记为无变更。进一步的,比较模块还用于:确定第一文本块集合和第二文本块集合中业务标识相同的两个文本块是否相同:如果业务标识相同的两个文本块中存在不相同的字符串,则确定业务标识相同的两个文本块不相同;如果业务标识相同的两个文本块中的字符串完全相同,则确定业务标识相同的两个文本块相同。进一步的,所述装置还包括:排序模块,用于:按照预设的排序规则,分别对业务标识相同的两个文本块内的字符串进行排序;比较模块还用于:按照字符串的排序结果,逐个字符串比较业务标识相同的两个文本块中是否存在不相同的字符串。进一步的,生成模块还用于:基于每项业务配置数据的操作标识生成增量配置文件;根据增量配置文件中的业务配置数据生成待更新的配置项。进一步的,增量配置文件包括原始配置差异化文件和更新配置差异化文件;其中,原始配置差异化文件包括操作标识为删除和修改的业务配置数据,更新配置差异化文件包括操作标识为增加和修改的业务配置数据。进一步的,装置还包括:解析模块,用于将需要更新的业务配置数据进行格式解析;检查模块,用于检查格式解析后的需要更新的业务配置数据中的每个业务配置数据是否合法;第二生成模块,用于如果每个业务配置数据均合法,根据格式解析后的需要更新的业务配置数据生成待更新的配置项。进一步的,更新模块还用于:将待更新的配置项推送至网关设备的网关软件;接收网关软件返回的配置更新结果。本发明提供的一种服务器,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述网关配置更新方法。本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述网关配置更新方法。本发明提供的网关配置更新方法、装置和服务器,获取到更新配置文件后,首先比较该更新配置文件和预先存储的原始配置文件,得到比较结果;根据该比较结果确定需要更新的业务配置数据;基于该需要更新的业务配置数据,生成待更新的配置项;最后根据该待更新的配置项更新网关的配置参数。该方法通过比较更新配置文件和原始配置文件,得到需要更新的业务配置数据,因而从更新配置文件中剔除了无需更新的业务数据,仅基于该需要更新的业务配置数据进行后续的网关配置更新流程,该过程减少了网关配置过程中的数据冗余,从而缩短了网关配置更新的耗时,进而提高了网关配置的更新效率。本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种云网络架构的示意图;图2为本发明实施例提供的一种网关配置更新方法的流程图;图3为本发明实施例提供的另一种网关配置更新方法的流程图;图4为本发明实施例提供的确定需要更新的业务配置数据的具体实现过程示意图;图5为本发明实施例提供的另一种网关配置更新方法的流程图;图6为本发明实施例提供的另一种网关配置更新方法的流程图;图7为本发明实施例提供的增量配置文件的生成过程示意图;图8为本发明实施例提供的一种网关配置更新装置的结构示意图;图9为本发明实施例提供的一种服务器的结构示意图。具体实施方式下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。当前云计算技术发展过程中,大型云计算厂商依靠分布式网关集群方式构建基于数据中心的云网络架构;该云网络架构可以对内或对外提供如弹性计算、虚拟化、流量工程、网络安全、网络监控等服务。云计算厂商采用高性能服务器部署自研网络功能软件,该软件以集群方式部署在数据中心各类网关设备上,例如:负载均衡(loadbalancing,简称lb)网关、网络地址转换(networkaddresstranslation,简称nat)网关、服务网关(servinggateway,简称sgw)、专线网关等网关设备;其中,服务网关可以用于流量限速、流量计费等;这些网关设备的工作行为完全依赖配置。然而,现有的网关配置方式中,云计算管理端采用全量配置文件下发变更配置,整个配置更新过程需要对全量配置文件进行解析、检查、比对等,配置更新消耗时间较长。为了便于理解,首先描述一种应用场景,如图1所示为一种云网络架构;该网络架构包括管理服务器,该管理服务器通常连接有多个网关设备;管理服务器上安装有管理端;网关设备上安装有网关客户端和网关软件。网关客户端用于管理网关软件中的配置;网关软件为执行网关功能的程序。网关配置更新的过程即更新该网关软件中相关参数的过程。管理服务器的管理端与网关设备中的网关客户端通信连接,网关客户端与同一网关设备中的网关软件通信连接,即每台网关设备中的网关客户端与网关软件为一一对应关系。现有网关配置方式中,管理服务器上的管理端将配置文件下发至网关设备后,需要由网关设备中的网关客户端对网关软件进行配置更新。更新过程包括:对配置文件进行格式解析,对解析后的配置文件进行合法性检查,将解析后的配置文件读取到内存中并与内存中保存的原始配置文件进行比对,得到两个配置文件的差异,进而根据差异计算出配置项,该配置项通常包括需要增加的配置项、需要删除的配置项、以及需要修改的配置项等;然后再根据配置项对网关软件中的参数进行更新。通常,上述配置文件包括该网关涉及的所有业务的配置数据,本身数据量较大,且对于一次网关配置更新,可能仅有部分业务的配置数据需要更新;但每次网关配置更新时,需要对配置文件中的所有业务的配置数据进行格式解析(即全量解析),对配置文件中的所有业务的配置数据进行合法性检查(即全量检查),将配置文件中所有业务的配置数据与内存中保存的原始配置文件中所有的业务的配置数据进行比对(即全量比对),才能计算出配置项进而完成网关配置更新。由此可知,现有方式在解析、检查和比对的过程中都是针对配置文件的全量进行,而配置文件本身数据量较大,导致网关配置更新整个过程消耗时间过长。基于上述,本发明实施例首先提供一种网关配置更新方法、装置和服务器,该技术可以应用于各类网络的网关管理过程,尤其是云计算、云网络架构中的网关设备管理、配置更新中。首先,参见图2所示的一种网关配置更新方法的流程图,该方法可以应用于网关设备;该方法包括:步骤s202,获取更新配置文件;其中,该更新配置文件中包含业务配置数据。该更新配置文件可以由管理服务器下发;该更新配置文件中可以包含多项业务配置数据,每项业务配置数据对应一项业务。当网关设备所在的云网络需要更新业务时,云网络的管理服务器根据用户或租户的实际业务需求生成上述更新配置文件,再向相关的网关设备下发该更新配置文件。该更新配置文件中通常包含与该网关设备相关的所有业务的配置数据,这些业务配置数据可以基于业务种类进行划分。该业务种类可以为负载均衡业务、弹性网络地址(elasticinternetprotocol,简称eip)业务、防火墙隔离业务、虚拟网络互通业务等。步骤s204,比较更新配置文件和预先存储的原始配置文件,得到比较结果。步骤s206,根据该比较结果确定需要更新的业务配置数据。上述预先存储的原始配置文件可以理解为上一次网关配置更新完成后的配置文件,也即网关正在执行的配置文件。该原始配置文件可以保存在网关设备中,如保存在网关设备中网关客户端的内存中。在实际实现时,可以通过预设的比较算法或文件比对算法等方式,比较更新配置文件和原始配置文件,从而得到二者不同的内容,该不同的内容即需要更新的业务配置数据。需要说明的是,本实施例中,网关设备接收到的更新配置文件通常也是全量配置文件,即该更新配置文件中包含有与该网关设备相关的所有的配置数据;但与相关技术不同的是,网关设备接收到更新配置文件后,即将更新配置文件和原始配置文件比对,得到需要更新的业务配置数据,再基于该需要更新的业务配置数据进行后续的配置更新过程。该过程中,更新配置文件仅参与与原始配置文件的比对过程,由需要更新的业务配置数据参与后续步骤中的生成配置项、更新网关配置的过程。该过程可以减少大量冗余数据参数较多的过程的耗时。步骤s208,根据需要更新的业务配置数据,生成待更新的配置项。由上述可知,业务配置数据通常基于业务的种类进行划分,业务配置数据中包含有能够实现各项业务的配置数据。而该步骤中的配置项,通常与网关本身的功能相关,该配置项更加接近于网关的底层功能,例如,该配置项通常包含子网掩码、域名、地址、设备名称等。业务配置数据与配置项之间通常设置有固定的转换规则,基于该转换规则,即可根据需要更新的业务配置数据生成待更新的配置项。步骤s210,根据待更新的配置项更新网关的配置参数。在实际实现时,网关设备中的网关客户端可以将上述待更新的配置项推送至网关软件中,该网关软件基于该待更新的配置项更新网关软件中的配置参数,即可完成网关配置的更新过程。网关软件更新完成后,可以向网关客户端发送更新结果,网关客户端也可以将该更新结果反馈至管理服务器中的管理端。本发明实施例提供的一种网关配置更新方法,获取到更新配置文件后,首先比较该更新配置文件和预先存储的原始配置文件,得到比较结果;根据该比较结果确定需要更新的业务配置数据;基于该需要更新的业务配置数据,生成待更新的配置项;最后根据该待更新的配置项更新网关的配置参数。该方法通过比较更新配置文件和原始配置文件,得到需要更新的业务配置数据,因而从更新配置文件中剔除了无需更新的业务数据,仅基于该需要更新的业务配置数据进行后续的网关配置更新流程,该过程减少了网关配置过程中的数据冗余,从而缩短了网关配置更新的耗时,进而提高了网关配置的更新效率。本发明实施例还提供另一种网关配置更新方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述比较更新配置文件和预先存储的原始配置文件,根据比较结果确定需要更新的业务配置数据的具体实现过程,其中,更新配置文件和原始配置文件中均包含多项业务配置数据,每项业务配置数据包含一个业务标识。如图3所示,该方法包括如下步骤:步骤s302,接收管理服务器下发的更新配置文件;其中,该更新配置文件中包含业务配置数据。步骤s304,比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识;其中,该操作标识用于标记业务配置数据是否为需要更新的业务配置数据。由上述实施例可知,更新配置文件中通常包含与该网关设备相关的所有业务的业务配置数据,这些业务配置数据可以基于业务种类进行划分;原始配置文件中的业务配置数据同样可以基于业务种类进行划分。为了区分各类业务种类的业务配置数据,可以对不同业务种类的业务配置数据分配的不同的业务标识号,业务标识与业务种类为一一对应关系。在实际实现时,可以将上述原始配置文件标记为conf_old,上述更新配置文件标记为conf_new,其中的业务标识,在这里为方便说明,可以采用“id+编号”的形式,如“id1”“id2”等,在实际实现时,业务标识可以采用md5等算法生成的全局唯一的复杂的较长字符串,如“eebf27f2-2205-435b-8e4d-0f7f7067b8ac”。下述表1所示为一种更新配置文件或原始配置文件的示例;更新配置文件和原始配置文件均属于全量配置文件,即包含有该更新配置文件中包含有与该网关设备相关的所有的配置数据;根据业务标识,可以将文件中的业务配置数据拆分为若干个文本块,不同文本块之间完全独立且业务标识唯一;表1中以文件中包含三类业务种类为例,分别对应的业务标识为id1、id2和id3,每个业务标识下的文本块中的内容为该业务标识对应的业务种类的业务配置数据。表1id1id1对应的业务种类的业务配置数据id2id2对应的业务种类的业务配置数据id3id3对应的业务种类的业务配置数据上述步骤s304具体还可以通过下述方式(1)-(4)实现:(1)将仅包含在更新配置文件中的业务标识对应的业务配置数据标记为增加;如果某业务标识对应的业务配置数据标记为增加,表示此次网关配置更新中新增了该业务标识对应的业务种类及相应的业务配置数据。(2)将仅包含在原始配置文件中的业务标识对应的业务配置数据标记为删除;如果某业务标识对应的业务配置数据标记为删除,表示此次网关配置更新中删除了该业务标识对应的业务种类及相应的业务配置数据。(3)将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据不同的业务配置数据标记为修改;如果某业务标识同时存在在更新配置文件和原始配置文件中,但在两个文件中,该业务标识所对应的业务配置数据不同,表示在此次网关配置更新中,该业务标识对应的业务种类的业务配置数据发生了变化。(4)将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据相同的业务配置数据标记为无变更。如果某业务标识同时存在在更新配置文件和原始配置文件中,且在两个文件中,该业务标识所对应的业务配置数据也相同,表示在此次网关配置更新中,该业务标识对应的业务种类及相应的业务配置数据未发生变化。步骤s306,将操作标识为增加的业务配置数据确定为需要新增的业务配置数据;将操作标识为删除的业务配置数据确定为需要删除的业务配置数据;将操作标识为修改的业务配置数据确定为需要修改的业务配置数据;将操作标识为无变更的业务配置数据确定为不需要更新业务配置数据。例如,如果某业务标识出现在更新配置文件中,而不在原始配置文件中,则该业务标识对应的业务配置数据的操作标识为增加,该业务标识对应的业务配置数据即可确定为需要增加的业务配置数据。如果某业务标识出现在原始配置文件中,而不在更新配置文件中,则该业务标识对应的业务配置数据的操作标识为删除,该业务标识对应的业务配置数据即可确定为需要删除的业务配置数据。下面进一步描述步骤s306的另一种实现方式:(1)从业务标识的比较结果中确定出第一标识;该第一标识为仅包含在更新配置文件中的业务的业务标识;将第一标识对应的业务配置数据确定为新增的业务配置数据。第一标识是指在更新配置文件中存在但在原始配置文件中不存在的业务标识,表示此次网关配置更新中新增了该业务标识对应的业务种类及相应的业务配置数据;在实际实现时,可以为第一标识添加相应的操作标识,如第一标识对应的业务配置数据的操作标识为“增加”。(2)从业务标识的比较结果中确定出第二标识;该第二标识为仅包含在原始配置文件中的业务的业务标识;将第二标识对应的业务配置数据确定为需要删除的业务配置数据。第二标识是指在更新配置文件中不存在但在原始配置文件中存在的业务标识,表示此次网关配置更新中删除了该业务标识对应的业务种类及相应的业务配置数据;在实际实现时,可以为第二标识添加相应的操作标识,如第二标识对应的业务配置数据的操作标识为“删除”。(3)从业务标识的比较结果中确定出第三标识;该第三标识为同时包含在原始配置文件和更新配置文件中的业务的业务标识;比较原始配置文件和更新配置文件中,同一第三标识对应的业务配置数据;根据配置数据比较结果确定需要修改的业务配置数据。第三标识是指在更新配置文件和原始配置文件中都存在的业务标识,若该业务标识对应的业务配置数据相同,表示在此次网关配置更新中,该业务标识对应的业务种类及相应的业务配置数据未发生变化,则该业务标识对应的业务配置数据的操作标识为“无变更”;若该业务标识对应的业务配置数据不同,表示在此次网关配置更新中,该业务标识对应的业务种类的业务配置数据发生变化,则该业务标识对应的业务配置数据的操作标识为“修改”。步骤s308,根据需要更新的业务配置数据,生成待更新的配置项。步骤s310,根据待更新的配置项更新网关的配置参数。上述方式中,网关设备中的网关客户端接收到管理服务器下发的更新配置文件后,通过比较该更新配置文件和预先存储的原始配置文件中包含的业务配置数据的业务标识,可以得到每项业务配置数据的操作标识,根基该操作标识确定需要更新的业务配置数据;基于该需要更新的业务配置数据,生成待更新的配置项;最后根据该待更新的配置项更新网关配置。该方法以业务标识为标准比较更新配置文件和原始配置文件,通过添加操作标识确定需要更新的业务配置数据,因而从更新配置文件中剔除了无需更新的业务数据,仅基于该需要更新的业务配置数据进行后续的网关配置更新流程,该过程减少了网关配置过程中的数据冗余,从而缩短了网关配置更新的耗时,进而提高了网关配置的更新效率。本发明实施例还提供另一种网关配置更新方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述另一种比较更新配置文件和预先存储的原始配置文件的方式,即基于预设的文本比较法比较所述更新配置文件和原始配置文件。通过该文本比较法,可以将更新配置文件和原始配置文件划分为多个文本块,通过比较划分出的文本块,确定出需要更新的业务配置数据。上述基于预设的文本比较法比较所述更新配置文件和原始配置文件的过程,可以具体描述如下:以业务配置数据为拆分单元对更新配置文件进行拆分,得到第一文本块集合;以业务配置数据为拆分单元对原始配置文件进行拆分,得到第二文本块集合;然后再比较该第一文本块集合和该第二文本块集合中的每个文本块。其中,该第一文本块集合也可以称为更新配置文本块集合,第二文本块集合也可以称为原始配置文本块集合。由前述实施例可知,每项业务配置数据包含一个业务标识,因此,上述第一文本块集合和上述第二文本块集合中的每个文本块均对应一个业务标识,该业务标识可以携带在相应的文本块中。因而在比较第一文本块集合和第二文本块集合中的每个文本块时,也可以比较文本块对应的业务标识,进而得到每项业务配置数据的操作标识。具体而言,可以比较第一文本块集合和第二文本块集合中的每个文本块的业务标识,将仅包含在第一文本块集合中的业务标识对应的业务配置数据标记为增加;将仅包含在第二文本块集合中的业务标识对应的业务配置数据标记为删除;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块不同的业务配置数据标记为修改;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块相同的业务配置数据标记为无变更。在实际实现时,根据业务标识可以对原始配置文件和更新配置文件中的各个业务标识对应的业务配置数据进行提取,每个业务标识对应一个文本块,生成原始配置文本块集合(相当于上述第二文本块集合)和更新配置文本块集合(相当于上述第一文本块集合),将更新配置文本块集合中的各个文本块与原始配置文本块集合中的各个文本块进行比对。在实际实现时,可以将原始配置文本块集合标记为set_old,将更新配置文本块集合标记为set_new。作为示例,图4示出了上述确定需要更新的业务配置数据的具体实现过程;该过程以各个业务标识对应的业务配置数据为粒度,识别出的各类标识的操作标识包括“增加”“删除”“修改”和“无变更”。图4中,原始配置文本块集合包括id1、id3、id4、id5和id6,更新配置文本块集合包括id2、id3、id4、id5和id6;通过上述对业务标识的比较过程,可以确定id1的操作标识为“删除”,id2的操作标识为“增加”,id3的操作标识为“修改”,id4、id5和id6的操作标识为“无变更”。基于上述实施例,下面进一步描述确定第一文本块集合和第二文本块集合中业务标识相同的两个文本块是否相同的具体实现过程,如图5所示,该方法包括如下步骤:步骤s502,按照预设的排序规则,分别对业务标识相同的两个文本块内的字符串进行排序。例如,可以将文本块中的文本行按照字符串内首字母的排列顺序进行排列,如[a,ab,abc,b,ba,bc,c,…],也可以按照字符串的长短进行升序或降序的排列。步骤s504,按照字符串的排序结果,逐个字符串比较业务标识相同的两个文本块中是否存在不相同的字符串。如果业务标识相同的两个文本块中存在不相同的字符串,则确定业务标识相同的两个文本块不相同;如果业务标识相同的两个文本块中的字符串完全相同,则确定业务标识相同的两个文本块相同。例如,如果两个文本块中的第1个字符串相同,则继续比较两个文本块中的第2个字符串,依次类推,如果两个文本块中的第k个字符串相同,则继续比较两个文本块中的第k+1个字符串,而如果两个文本块中的第k个字符串不同,则可以确定两个文本块不相同;如果从第一个字符串至最后一个字符串均相同,则可以确定两个文本块相同,其中,k为大于或等于1的整数。如果两个文本块相同,表示在此次网关配置更新中,这两个文本块对应的业务标识的业务种类及相应的业务配置数据未发生变化,则将这两个文本块对应的业务配置数据的操作标识标记为“无变更”,即不需要修改该业务配置数据。如果两个文本块不同,表示在此次网关配置更新中,这两个文本块对应的业务标识的业务种类及相应的业务配置数据发生变化,则将这两个文本块对应的业务配置数据的操作标识标记为“修改”,确定为需要修改的业务配置数据。通过上述方式,即可从更新配置文件和原始配置文件中相互重复的业务标识中提取出需要修改的业务标识,剔除了无需更新的业务数据,仅基于该需要更新的业务配置数据进行后续的网关配置更新流程,该过程减少了网关配置过程中的数据冗余,从而缩短了网关配置更新的耗时,进而提高了网关配置的更新效率。本发明实施例还提供另一种更加具体的网关配置更新方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述根据需要更新的业务配置数据,生成待更新的配置项的具体实现过程,以及根据待更新的配置项更新网关配置的具体实现过程,如图6所示,该方法包括如下步骤:步骤s602,获取更新配置文件;其中,该更新配置文件中包含业务配置数据。步骤s604,比较更新配置文件和预先存储的原始配置文件中包含的业务配置数据的业务标识。步骤s606,根据业务标识的比较结果,确定需要更新的业务配置数据。步骤s608,将需要更新的业务配置数据进行格式解析。该格式解析可以理解为将需要更新的业务配置数据的当前格式转化为程序可识别格式,以便于后续的存储、传输和处理等,格式解析的过程也可以通过反序列化过程实现,通过对业务配置数据进行反序列化,得到程序可识别格式的业务配置数据。由上述实施例可知,需要更新的业务配置数据可以划分为原始配置差异化文件和更新配置差异化文件,网关客户端可以将该原始配置差异化文件和更新配置差异化文件中的业务配置数据由当前文本格式转化为程序可识别格式,以便后续对数据进行处理。步骤s610,检查格式解析后的需要更新的业务配置数据中的每个业务配置数据是否合法。该步骤也可以理解为对业务配置数据的合法性检查,具体而言,可以为对格式解析后的需要更新的业务配置数据进行逐条目检查,以确认其中是否包含非法的业务配置数据。在整个网关配置更新过程中,可能会由于中间某一环节错误(有可能是控制台、管理端等)生成了非法的业务配置数据,如果网关客户端不做检查就可能将该非法的业务配置数据下发到网关软件,可能会导致网关软件工作故障,所以网关客户端在解析业务配置数据后,需要对其进行逐条目检查。在实际实现时,网关客户端分别对格式解析后的原始配置差异化文件和更新配置差异化文件中的业务配置数据进行逐条目检查,以确认其合法性。步骤s612,如果每个业务配置数据均合法,基于每项业务配置数据的操作标识生成增量配置文件。步骤s614,根据该增量配置文件中的业务配置数据生成待更新的配置项。经上述步骤s610确认原始配置差异化文件和更新配置差异化文件中的业务配置数据均合法后,按照前述实施例中的转换规则,网关客户端将原始配置差异化文件和更新配置差异化文件中的业务配置数据生成以文本块为最小粒度的待更新的配置项。其中,上述增量配置文件包括原始配置差异化文件和更新配置差异化文件;原始配置差异化文件包括操作标识为删除和修改的业务配置数据,更新配置差异化文件包括操作标识为增加和修改的业务配置数据。然后基于上述实施例中所描述的业务配置数据与配置项之间的转换规则,根据上述原始配置差异化文件和更新配置差异化文件中的业务配置数据生成待更新的配置项。如图7所示,在实际实现时,可以在本地生成原始配置差异化文件和更新配置差异化文件,将标记为“增加”的文本块写入更新配置差异化文件中,如上述id2;将标记为“删除”的文本块写入原始配置差异化文件中,如上述id1;将标记为“修改”的文本块分别写入原始配置差异化文件和更新配置差异化文件中,如上述id3;标记为“无变更”的文本块不做处理,即不写入原始配置差异化文件和更新配置差异化文件中。在实际实现时,可以将原始配置差异化文件标记为diff_old,将更新配置差异化文件标记为diff_new。步骤s616,将待更新的配置项推送至网关设备的网关软件,以通过网关软件更新网关配置。在实际实现时,网关设备中的网关客户端可以将上述待更新的配置项推送至网关软件中,该网关软件基于该待更新的配置项修改网关软件中的配置参数,即可完成网关配置的更新过程。步骤s618,接收网关软件返回的配置更新结果。网关软件更新完成后,可以向网关客户端发送更新结果,网关客户端也可以将该更新结果反馈至管理服务器中的管理端。本发明实施例提供的另一种网关配置更新方法,对操作标识为“无变更”的文本块不做处理,使得用于后续配置逻辑输入的文件量级得到极大限度的缩减,另外,对业务配置数据的解析、检查、比对和写入网关内存的过程基本复用现有技术中该过程的实现代码,且原始配置差异化文件和更新配置差异化文件只包含需要更新的业务配置数据,因此文件很小,可以极大地缩短处理时延、提升处理效率、且对于数据安全性也有明显改善。对比而言,下面给出相关技术中的网关配置更新流程,包括如下步骤:步骤1,对管理服务器的管理端下发的全量配置文件读入到网关客户端的内存,根据全量配置文件中的业务标识号(简称id)生成该粒度的内部解析格式;步骤2,对全量配置文件的条目进行合法性检查,以防止写入错误配置项;步骤3,拉取网关软件中现存的全量配置文件至网关客户端的内存;步骤4,网关客户端将管理服务器的管理端下发的全量配置文件与网关软件中现存的全量配置文件中的业务配置数据,根据id进行一一比对,同时计算出以id为最小粒度的增量配置项,包括需要增加的配置项、需要删除的配置项、以及需要修改的配置项;步骤5,网关客户端将增量配置项写入网关软件,并接收网关软件返回的配置更新结果。现有网关配置更新流程主要存在以下问题:首先,由于每次变更为单一用户触发,其需要更新的业务配置数据数量极其有限(涉及的业务标识通常仅有几个),大多数业务配置数据无需更新,因而上述方案在配置更新过程存在较大的数据冗余。具体而言,一方面,在配置更新过程中,对绝大多数未发生变化的业务配置数据进行等同的解析处理、检查处理、比对处理,使得网关配置更新时间较长;另一方面,每次更新都要对网关软件中的全量配置文件进行读取,增加了一定的不确定性和风险性;另外,由于配置刷新过程完全依赖用户在控制台的即时操作,配置刷新间隔不确定且刷新频率高,随意配置刷新存在很大随机性,如果网关配置返回时间过长,会影响下一次配置,且还会影响其他联动机制。再有,上述现有网关配置更新流程中的步骤1-步骤4都针对全量配置文件进行处理,其所带来的时延开销巨大,影响用户体验;随着未来用户数量的增长、配置的增多,现有基于全量配置刷新的方案时延会越来越长。以下给出采用上述本发明实施例中的网关配置更新方法时的测试实例,该网关配置更新时间是基于30000个业务数量(数量越多,配置文件越大)的基础上测得的,如表2所示,表中“lb(loadbalance,负载均衡业务)”即为上述实施例中的“id文本块”,“变配lb数量”即为上述实施例中的“需要更新的id文本块”,基于实践经验,每次网关配置更新时的“变配lb数量”基本不会大于10个,由表2中数据可以看出,上述实施例中所提供的网关配置更新方法可以显著改善网关配置更新时间,将网关配置更新时间由数十秒量级降至2秒内完成。表2随着用户数量增多而带来的业务配置数据增多时,上述实施例中的基于增量的网关配置更新方法将不会受到任何影响,网关集群作为云网络业务通路最关键一环,其通过秒级内的响应速度反馈至云网络的管理服务器的管理端平台,使得管理端逻辑得以顺利完成、整个业务打通的完成速度得以极大提升,其最终体现为,云网络用户在控制台内的业务部署效率得以极大提升。对于底层网关产品,其稳定性对云网络起到决定性作用。本发明中,最大限度地保留、复用原有代码逻辑,尽量降低对原有产品的侵入性,这对于产品的快速上线及稳定性是大有裨益的。参照图8所示的一种网关配置更新装置的结构示意图,该装置包括:获取模块80,用于获取更新配置文件;其中,更新配置文件中包含业务配置数据;比较模块81,用于比较更新配置文件和预先存储的原始配置文件,得到比较结果;确定模块82,用于根据该比较结果确定需要更新的业务配置数据;第一生成模块83,用于根据需要更新的业务配置数据,生成待更新的配置项;更新模块84,用于根据待更新的配置项更新网关的配置参数。上述网关配置更新装置,获取到更新配置文件后,首先比较该更新配置文件和预先存储的原始配置文件,得到比较结果;根据该比较结果确定需要更新的业务配置数据;基于该需要更新的业务配置数据,生成待更新的配置项;最后根据该待更新的配置项更新网关的配置参数。该装置通过比较更新配置文件和原始配置文件,得到需要更新的业务配置数据,因而从更新配置文件中剔除了无需更新的业务数据,仅基于该需要更新的业务配置数据进行后续的网关配置更新流程,该过程减少了网关配置过程中的数据冗余,从而缩短了网关配置更新的耗时,进而提高了网关配置的更新效率。进一步的,更新配置文件和原始配置文件中均包含多项业务配置数据,每项业务配置数据包含一个业务标识。进一步的,比较模块还用于:比较更新配置文件和原始配置文件中包含的业务配置数据的业务标识,得到每项业务配置数据的操作标识;其中,操作标识用于标记业务配置数据是否为需要更新的业务配置数据。进一步的,比较模块还用于:将仅包含在更新配置文件中的业务标识对应的业务配置数据标记为增加;将仅包含在原始配置文件中的业务标识对应的业务配置数据标记为删除;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据不同的业务配置数据标记为修改;将更新配置文件和原始配置文件中业务标识相同且业务标识所对应的业务配置数据相同的业务配置数据标记为无变更。进一步的,确定模块还用于:将操作标识为增加的业务配置数据确定为需要新增的业务配置数据;将操作标识为删除的业务配置数据确定为需要删除的业务配置数据;将操作标识为修改的业务配置数据确定为需要修改的业务配置数据;将操作标识为无变更的业务配置数据确定为不需要更新业务配置数据。进一步的,比较模块还用于:基于预设的文本比较法比较更新配置文件和原始配置文件。进一步的,上述预设的文本比较法包括:以业务配置数据为拆分单元对更新配置文件进行拆分,得到第一文本块集合;以业务配置数据为拆分单元对原始配置文件进行拆分,得到第二文本块集合;比较第一文本块集合和第二文本块集合中的每个文本块。进一步的,比较模块还用于:比较第一文本块集合和第二文本块集合中的每个文本块的业务标识,将仅包含在第一文本块集合中的业务标识对应的业务配置数据标记为增加;将仅包含在第二文本块集合中的业务标识对应的业务配置数据标记为删除;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块不同的业务配置数据标记为修改;将第一文本块集合和第二文本块集合中业务标识相同且业务标识所在的文本块相同的业务配置数据标记为无变更。进一步的,比较模块还用于:通过以下方法确定第一文本块集合和第二文本块集合中业务标识相同的两个文本块是否相同:如果业务标识相同的两个文本块中存在不相同的字符串,则确定业务标识相同的两个文本块不相同;如果业务标识相同的两个文本块中的字符串完全相同,则确定业务标识相同的两个文本块相同。进一步的,上述装置还包括,排序模块,用于:按照预设的排序规则,分别对业务标识相同的两个文本块内的字符串进行排序;上述比较模块还用于:按照字符串的排序结果,逐个字符串比较业务标识相同的两个文本块中是否存在不相同的字符串。进一步的,生成模块还用于:基于每项业务配置数据的操作标识生成增量配置文件;根据增量配置文件中的业务配置数据生成待更新的配置项。进一步的,增量配置文件包括原始配置差异化文件和更新配置差异化文件;其中,原始配置差异化文件包括操作标识为删除和修改的业务配置数据,更新配置差异化文件包括操作标识为增加和修改的业务配置数据。进一步的,装置还包括:解析模块,用于将需要更新的业务配置数据进行格式解析;检查模块,用于检查格式解析后的需要更新的业务配置数据中的每个业务配置数据是否合法;第二生成模块,用于如果每个业务配置数据均合法,根据格式解析后的需要更新的业务配置数据生成待更新的配置项。进一步的,更新模块还用于:将待更新的配置项推送至网关设备的网关软件;接收网关软件返回的配置更新结果。本发明实施例所提供的网关配置更新装置,其实现原理及产生的技术效果和前述网关配置更新方法实施例相同,为简要描述,网关配置更新装置实施例部分未提及之处,可参考前述网关配置更新方法实施例中相应内容。本发明实施例还提供了一种服务器,参见图9所示,该服务器包括处理器90和存储器91,该存储器91存储有能够被处理器90执行的机器可执行指令,该处理器90执行机器可执行指令以实现上述网关配置更新方法。进一步地,图9所示的服务器还包括总线92和通信接口93,处理器90、通信接口93和存储器91通过总线92连接。其中,存储器91可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口93(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线92可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。处理器90可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器90中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器90可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器91,处理器90读取存储器91中的信息,结合其硬件完成前述实施例的方法的步骤。本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述网关配置更新方法,具体实现可参见方法实施例,在此不再赘述。本发明实施例所提供的网关配置更新方法及装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1