一种数据更新方法和边缘服务器与流程

文档序号:16685841发布日期:2019-01-22 18:18阅读:382来源:国知局
一种数据更新方法和边缘服务器与流程

本发明实施例涉及数据处理领域,尤其涉及一种数据更新方法和边缘化服务器。



背景技术:

随着互联网技术和媒体文件的不断发展,给人们的生活和工作带来了极大的便利。但是用户对互联网和媒体文件的访问速度要求也越来越高,虽然网络带宽不断增加,但是用户数量也在不断增加,受服务器的负荷和传输距离等因素的影响,服务器响应速度仍存在较慢的问题。解决的方案是在网络传输上利用缓存技术来进行优化,目前常用的缓存技术是内容分发网络(contentdeliverynetwork,cdn)。

现有技术中,在cdn系统中,边缘服务器和调度部署系统中均存储有相关的配置数据,配置数据中通常存储有域名、区域标识和网络协议(internetprotocol,ip)地址之间的映射关系。当配置数据中的内容发生变化后(例如映射关系发生变化、或者更改ip地址),需要调度部署系统首先将旧的配置数文件进行更新,之后将更新后的新的配置文件发送至各边缘服务器,各边缘服务器用新的配置文件覆盖旧的配置文件。

然而,由于在cdn系统中边缘服务器的数量较多,调度部署系统需要同时向大量边缘服务器发送新的配置文件,会造成边缘服务器更新配置数据效率较低。



技术实现要素:

本发明实施例提供一种数据更新方法和边缘服务器,用以解决现有技术中边缘服务器更新配置数据效率低的问题。

本发明实施例提供一种数据更新方法,包括:边缘服务器接收来自调度部署系统的差量文件,所述差量文件包括新的全量配置数据与原始全量配置数据中存在差异的数据;所述边缘服务器根据所述差量文件更新所述边缘服务器中存储的所述原始全量配置数据。

基于该方案,差量文件包括的是新的全量配置数据与原始全量配置数据中存在差异的数据,边缘服务器接收到差量文件时,可根据差量文件更新原始全量配置数据,不需要用新的全量配置数据来覆盖全部的原始全量配置数据。即边缘服务器仅需要更新有变化的数据,没有变化的数据可以不做处理,如此,可提高边缘服务器更新原始全量配置数据的效率。

进一步,差量文件的数据量相较于新的全量配置数据的数据量较少,因此,调度部署系统向边缘服务器发送该差量文件时,占用的网络带宽较小,有助于提高调度部署系统向边缘服务器发送数据的效率。

在一种可能实现方式中,所述差量文件包括主键、所述主键对应的数据操作类型、以及所述主键对应的键值;所述边缘服务器根据所述主键、所述主键对应的数据操作类型、以及所述主键对应的键值,更新所述边缘服务器中存储的所述原始全量配置数据。

进一步,所述边缘服务器若确定所述主键在所述原始全量配置数据中存在,则根据所述主键对应的数据操作类型和所述主键对应的键值,更新所述原始全量配置数据中所述主键对应的第一数据;或者,所述边缘服务器若确定所述主键在所述原始配置文件中不存在,则根据所述主键、所述主键对应的数据操作类型和所述主键对应的键值,在所述原始全量配置数据中增加第二数据。

为了提高数据更新的准确性,防止差量文件在传输过程中被篡改。所述差量文件还包括第一消息摘要算法第五版(messagedigestalgorithm5,md5)值,所述第一md5值是所述调度部署系统根据所述新的全量配置数据生成的;所述边缘服务器确定更新后的全量配置数据的第二md5值;所述边缘服务器若确定所述第二md5值与所述第一md5值相同,则确定数据更新成功。

在一种可能的实现方式中,所述边缘服务器包括共享内存;所述边缘服务器根据所述差量文件更新所述边缘服务器的所述共享内存中的所述原始全量配置数据。如此,共享内存不需要从边缘服务器的本地文件中重新加载新的全量配置数据,从而可提高更新共享内存数据的效率。

为了提高调度部署系统向边缘服务器传输差量文件的稳定性和可靠性,所述边缘服务器接收来自所述调度部署系统通过沙丁鱼网络(sardinet)发送的所述差量文件。

本发明实施例提供一种边缘服务器,包括:收发单元,用于接收来自调度部署系统的差量文件,所述差量文件包括新的全量配置数据与原始全量配置数据中存在差异的数据;处理单元,用于根据所述差量文件更新所述边缘服务器中存储的所述原始全量配置数据。

在一种可能的实现方式中,所述差量文件包括主键、所述主键对应的数据操作类型、以及所述主键对应的键值;所述处理单元,具体用于:根据所述主键、所述主键对应的数据操作类型、以及所述主键对应的键值,更新所述边缘服务器中存储的所述原始全量配置数据。

在一种可能的实现方式中,所述处理单元,具体用于:若确定所述主键在所述原始全量配置数据中存在,则根据所述主键对应的数据操作类型和所述主键对应的键值,更新所述原始全量配置数据中所述主键对应的第一数据;或者,若确定所述主键在所述原始配置文件中不存在,则根据所述主键、所述主键对应的数据操作类型和所述主键对应的键值,在所述原始全量配置数据中增加第二数据。

在一种可能的实现方式中,所述差量文件还包括第一消息摘要算法第五版md5值,所述第一md5值是所述调度部署系统根据所述新的全量配置数据生成的;所述处理单元,还用于:确定更新后的全量配置数据的第二md5值;若确定所述第二md5值与所述第一md5值相同,则确定数据更新成功。

在一种可能的实现方式中,所述边缘服务器包括共享内存;所述处理单元,用于:根据所述差量文件更新所述边缘服务器的所述共享内存中的所述原始全量配置数据。

在一种可能的实现方式中,所述收发单元,具体用于:接收来自所述调度部署系统通过软件定义网络sdn发送的所述差量文件。

本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述方法。

本发明实施例提供一种计算机设备,包括存储器,用于存储程序指令;处理单元,用于调用存储器中存储的程序指令,按照获得的程序执行上述的方法。

附图说明

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

图1为本发明实施例提供的一种通信系统架构示意图;

图2a为本发明实施例提供的一种数据更新方法流程示意图;

图2b为本发明实施例提供的一种差量文件中数据的存储格式示意图;

图3为本发明实施例提供的另一种数据更新方法流程示意图;

图4为本发明实施例提供的一种边缘服务器的结构示意图。

具体实施方式

图1示出了应用本发明实施例的一种通信系统的架构示意图。如图1所示,该系统架构可以包括调度部署系统101、至少一个边缘服务器102。图1以包括两个边缘服务器102为例说明。调度部署系统101和至少一个边缘服务器102中的每个边缘服务器102可通过无线或有线的方式进行连接。

调度部署系统101,用于管理至少一个边缘服务器中的每个边缘服务器102。例如,调度部署系统101中存储有边缘服务器102的全量配置数据,可以为各个边缘服务器102部署新的数据等。调度部署系统101可以是客户端1011和服务器1012组成的系统。

边缘服务器102,用于对客户端发送的域名进行解析,也可以称为域名服务器(domainnameserver,dns)。在各个边缘服务器102上存储有全量的配置数据,全量的配置数据可以是域名、区域标识和ip之间的映射关系数据。

在一种可能的实现方式中,图1所示的系统可以是cdn系统。

基于上述内容,图2a例性示出了本发明实施例提供的一种数据更新方法流程示意图。该实例中的边缘服务器可以是上述图1中的边缘服务器102中的任意一个,调度部署系统可以是上述图1中的调度部署系统101。如图2a所示,该方法包括以下步骤:

步骤201,边缘服务器接收来自调度部署系统的差量文件。

其中,差量文件包括新的全量配置数据与原始全量配置数据中存在差异的数据。

在一种可能的实现方式中,当用户触发或者是监控到需要对原始全量配置数据进行更新时,调度部署系统可确定新的全量配置数据和原始全量配置数据之间的存在差异的数据。例如,原始全量配置数据包括数据a、数据b和数据c,新的全量配置数据包括数据a、数据b、数据c1和数据d,则数据c1和数据d即为存在差异的数据,也可以理解为差量文件中包括数据c1和数据d。

此处,为了提高调度部署系统向边缘服务器传输差量文件的稳定性和可靠性,在一种可能的实现方式中,所述调度部署系统可通过sdn向所述边缘服务器发送的所述差量文件。进一步,差量文件可以是调度系统压缩后的差量文件。

步骤202,边缘服务器根据差量文件更新边缘服务器中存储的原始全量配置数据。

在一种可能的实现方式中,边缘服务器可根据差量文件中数据更新边缘服务器中存储的原始全量配置数据。

从上述步骤201和步骤202可以看出,差量文件包括的是新的全量配置数据与原始全量配置数据中存在差异的数据,边缘服务器接收到差量文件时,可根据差量文件更新原始全量配置数据,不需要用新的全量配置数据来覆盖全部的原始全量配置数据。即边缘服务器仅需要更新有变化的数据,没有变化的数据可以不做处理,如此,可提高边缘服务器更新原始全量配置数据的效率。

进一步,差量文件的数据量相较于新的全量配置数据的数据量较少,因此,调度部署系统向边缘服务器发送该差量文件时,占用的网络带宽较小,有助于提高调度部署系统向边缘服务器发送数据的效率。

在上述步骤202中,所述差量文件可包括主键、所述主键对应的数据操作类型、以及所述主键对应的键值。所述边缘服务器可根据所述主键、及所述主键对应的数据操作类型、以及所述主键对应的键值,更新所述边缘服务器中存储的所述原始全量配置数据。

进一步,在一种可能的实现方式中:若边缘服务器确定所述主键在所述原始全量配置数据中存在,则根据所述主键对应的数据操作类型和所述主键对应的键值,更新所述原始全量配置数据中所述主键对应的第一数据。可选地,数据操作类型可包括更新和删除,具体可通过如下两种方式实现更新原始全量配置数据:实现方式一,若确定该主键对应的数据操作类型为更新,则边缘服务器用差量文件中该主键对应的键值替换原始全量配置数据中该主键对应的第一数据中的键值。实现方式二,若确定该主键对应的数据操作类型为更删除,则边缘服务器删除原始全量配置数据中的该主键对应的第一数据。

在另一种可能的实现方式中,数据操作类型还包括新增,实现更新原始全量配置数据的具体方式可为:所述边缘服务器若确定所述主键在所述原始配置文件中不存在,则根据所述主键、所述主键对应的数据操作类型和对应的键值,在所述原始全量配置数据中增加第二数据。

示例性地,以差量文件是补丁(patch)文件、全量配置数据为域名、区域标识以及ip地址的映射关系为例说明。如图2b所示,为本发明实施例提供的一种差量(patch)文件中数据的存储格式示意图。如图2b所示,数据map中,数据操作类型包括新增(opt_add),更新(opt_update)和删除(opt_delete),域名和区域标识可以组成主键,可唯一的标识该数据,主键对应的键值为ip地址。如图2b所示,主键key1对应的数据操作类型为删除,对应的键值为键值value为ip1;主键key2对应的数据操作类型为更新,对应的键值为键值value为ip2;主键key3对应的数据操作类型为新增,对应的键值为键值value为ip3。可选地,若操作类型为删除,则主键对应的键值可以是空,或者是其它预设的字段。

为了提高数据更新的准确性,在一种可能的实现方式中,所述差量文件还包括第一md5值。调度部署系统对新的全量配置数据进行摘要运算,得到第一md5值,调度部署系统将第一md5值也写到差量文件中。在边缘服务器接收到包括该第一md5的差量文件后,所述边缘服务器根据所述差量文件更新所述边缘服务器中存储的所述原始全量配置数据,之后所述边缘服务器确定更新后的全量配置数据的第二md5值。若所述边缘服务器确定所述第二md5值与所述第一md5值相同,则确定数据更新成功。若确定所述第二md5值与所述第一md5值不相同,则说明数据更新失败,需要对数据进行回滚。

结合上述图2b,在一种可能的实现方式中,为了不影响边缘服务器对外提供服务,边缘服务器通常包括至少两个共享内存、以及本地文件。边缘服务器在接收到差量文件后,首先对差量文件进行解压得到如图2b所示的格式的数据,之后根据图2b所示格式的数据中的主键、所述主键对应的操作以及所述主键对应的键值更新第一共享内存(该第一共享内存为当前不对外提供服务的共享内存)中的原始全量配置数据,更新之后计算共享内存中该更新后的全量配置数据的第二md5值。若所述第二md5值与接收到的所述第一md5值相同,则通知dns服务进程将提供服务的共享内存的切换至第一共享内存,进而可不影响边缘服务器对外提供服务,又可提高更新共享内存数据的效率,即共享内存不需要从边缘服务器的本地文件中重新加载新的全量配置数据。

为了有完整的新的全量配置数据的备份,在第一共享内存更新数据完成后,边缘服务器可根据该差量文件更新本地文件中的原始全量配置数据。

下面结合上述图2b,以具体示例,对本申请提供的上述数据更新方法进行说明。如图3所示,为本发明实施例提供的另一种数据更新方法,该方法包括如下步骤:

步骤301,调度部署系统根据新的全量配置数据和原始全量配置数据,生成差量文件。

该步骤中差量文件的可能的实现方式可与上述步骤201中的相同。可选地,差量文件中数据的存储格式可如图2b所示。

步骤302,调度部署系统计算新的全量配置数据的第一md5值,并将第一md5值写入差量文件。

一种可能的实现方式中,为了进一步减小调度部署系统发送的数据量,可对该差量文件进行压缩。

步骤303,调度部署系统向各边缘服务器发送差量文件。

相应地,边缘服务器接收差量文件。

此处,可通过sdn网络发送,也可以通过普通的网络发送。

步骤304,边缘服务器根据差量文件中主键、主键对应的数据操作类型和主键对应的键值更新第一共享内存中的原始全量配置数据。

其中,边缘服务器包括至少两个共享内存,第一共享内存为当前不对外提供服务的共享内存。

此处,边缘服务器更新第一共享内存中原始全量配置数据的可能实现方式可参考上述步骤202中具体的过程,此处不在赘述。

其中,如图2b所示,主键可以是域名和区域标识组成的,该主键对应的键值可以是ip地址,数据操作类型包括删除、更新和新增。示例性地,主键key1对应的数据操作类型为删除,对应的键值为键值value为ip1,边缘服务器将原始全量配置数据中主键key1对应的第一数据删除。主键key2对应的数据操作类型为更新,对应的键值为键值value为ip2,边缘服务器将原始全量配置数据中主键key2对应的第一数据中的键值用ip1替换。主键key3对应的数据操作类型为新增,对应的键值为键值value为ip3,边缘服务器在原始全量配置数据中增加第二数据,其中第二数据的主键为key2,对应的键值value为ip3。

步骤305,边缘服务器确定更新后的全量配置数据的第二md5值。

步骤306,边缘服务器确定第二md5值与第一md5值是否相同。若相同,则执行步骤307;若不相同,则执行步骤309。

步骤307,边缘服务器通知dns服务进行,将提供服务的共享内存切换至第一共享内存。

步骤308,边缘服务器根据差量文件中主键、主键对应的数据操作类型和主键对应的键值更新本地文件中的原始全量配置数据。

该步骤308中更新本地文件中的原始全量配置数据的过程可参考上述更新第一内存中的全量配置数据的过程,此处不再赘述。

上述步骤307和步骤308之间没有先后顺序,可以先执行步骤307后执行步骤308,也可以先执行步骤308后执行步骤307,也可以步骤307和步骤308同时执行。

步骤309,对配置数据进行回滚。

基于上述内容和相同的技术构思,本发明实施例还提供一种边缘服务器,该边缘服务器可执行上述数据更新的方法实施例。图4为本发明实施例提供了一种边缘服务器的结构示意图,如图4所示,该边缘服务器400包括收发单元401和处理单元402。该示例中的边缘服务器400可以上述图1中的边缘服务器102中任一个,可以执行上述图2a或者图3中边缘服务器对应执行的方案。

收发单元,用于接收来自调度部署系统的差量文件,所述差量文件包括新的全量配置数据与原始全量配置数据中存在差异的数据;处理单元,用于根据所述差量文件更新所述边缘服务器中存储的所述原始全量配置数据。

在一种可能的实现方式中,所述差量文件包括主键、所述主键对应的数据操作类型、以及所述主键对应的键值;所述处理单元,具体用于:根据所述主键、所述主键对应的数据操作类型、以及所述主键对应的键值,更新所述边缘服务器中存储的所述原始全量配置数据。

在一种可能的实现方式中,所述处理单元,具体用于:若确定所述主键在所述原始全量配置数据中存在,则根据所述主键对应的数据操作类型和所述主键对应的键值,更新所述原始全量配置数据中所述主键对应的第一数据;或者,若确定所述主键在所述原始配置文件中不存在,则根据所述主键、所述主键对应的数据操作类型和所述主键对应的键值,在所述原始全量配置数据中增加第二数据。

在一种可能的实现方式中,所述差量文件还包括第一消息摘要算法第五版md5值,所述第一md5值是所述调度部署系统根据所述新的全量配置数据生成的;所述处理单元,还用于:确定更新后的全量配置数据的第二md5值;若确定所述第二md5值与所述第一md5值相同,则确定数据更新成功。

在一种可能的实现方式中,所述边缘服务器包括共享内存;所述处理单元,用于:根据所述差量文件更新所述边缘服务器的所述共享内存中的所述原始全量配置数据。

在一种可能的实现方式中,所述收发单元,具体用于:接收来自所述调度部署系统通过软件定义网络sdn发送的所述差量文件。

从上述内容可以看出:差量文件包括的是新的全量配置数据与原始全量配置数据中存在差异的数据,边缘服务器接收到差量文件时,可根据差量文件更新原始全量配置数据,不需要用新的全量配置数据来覆盖全部的原始全量配置数据。即边缘服务器仅需要更新有变化的数据,没有变化的数据可以不做处理,如此,可提高边缘服务器更新原始全量配置数据的效率。

进一步,差量文件的数据量相较于新的全量配置数据的数据量较少,因此,调度部署系统向边缘服务器发送该差量文件时,占用的网络带宽较小,有助于提高调度部署系统向边缘服务器发送数据的效率。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,所述指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(mo)等)、光介质(例如,cd、dvd、bd、hvd等)、或者半导体介质(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(solidstatedisk,ssd))等。本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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