一种数据同步方法及设备转让专利

申请号 : CN201610614054.6

文献号 : CN106255103A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冯春来

申请人 : 华为技术有限公司

摘要 :

一种数据同步方法及设备,本发明实施例中第一授权服务器ES设备确定待同步数据,所述待同步数据被加密存储在所述第一ES设备数据库中;所述第一ES设备对所述待同步数据进行解密,得到解密数据;所述第一ES设备对所述解密数据重新进行加密,并向第二ES设备传送所述重新加密得到的数据。通过本发明实施例可实现第一ES设备和第二ES设备之间加密数据的同步。

权利要求 :

1.一种数据同步方法,其特征在于,所述方法包括:

第一授权服务器ES设备确定待同步数据,所述待同步数据被加密存储在所述第一ES设备的数据库中;

所述第一ES设备对所述待同步数据进行解密,得到解密数据;

所述第一ES设备依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密,并向所述第二ES设备传送所述重新加密得到的数据。

2.如权利要求1所述的方法,其特征在于,所述第一ES设备确定待同步数据之前,所述方法还包括:所述第一ES设备根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定数据同步优先级顺序;

其中,用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据的数据同步优先级顺序,按照从高到低的顺序依次排序;

所述第一ES设备确定待同步数据,包括:

所述第一ES设备按照确定的所述数据同步优先级顺序,依次确定待同步数据。

3.如权利要求1或2所述的方法,其特征在于,所述第一ES设备确定待同步数据,包括:所述第一ES设备确定发生变化的第一ES设备业务标识ID记录,其中,所述第一ES设备业务ID记录用于标识所述第一ES设备发放的业务记录;

所述第一ES设备将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据;

所述第一ES设备确定待同步数据之后,所述方法还包括:所述第一ES设备向所述第二ES设备传送所述发生变化的第一ES设备业 务ID记录。

4.如权利要求1至3任一项所述的方法,其特征在于,所述第一ES设备确定待同步数据之后,所述方法还包括:所述第一ES设备向所述第二ES设备传送所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳。

5.一种数据同步方法,其特征在于,所述方法包括:

第二授权服务器ES设备接收第一ES设备传送过来的待同步数据,所述待同步数据是所述第一ES设备对加密存储在所述第一ES设备的数据库中的待同步数据进行解密并依据与第二ES设备进行密钥协商得到的共享密钥重新加密得到的;

所述第二ES设备依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述待同步数据进行解密,并依据解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。

6.如权利要求5所述的方法,其特征在于,所述第二ES设备依据解密后的待同步数据在所述第二ES设备的数据库中进行数据同步之前,所述方法还包括:所述第二ES设备获取所述第一ES设备发送的发生变化的第一ES设备业务标识ID记录;

所述第二ES设备依据解密后的待同步数据在所述第二ES设备的数据库中进行数据同步,包括:所述第二ES设备根据所述发生变化的第一ES设备业务ID记录,在所述第二ES设备的数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录;

若存在,则所述第二ES设备将查找得到的业务ID记录对应的数据更新为解密后的待同步数据;

若不存在,则所述第二ES设备将解密后的待同步数据保存在所述第二ES设备的数据库中。

7.如权利要求6所述的方法,其特征在于,所述第二ES设备将查找得到的业务ID记录对应的数据更新为解密后的待同步数据之前,所述方法还包括:所述第二ES设备接收第一ES设备发送的所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳;

所述第二ES设备将查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据,包括:所述第二ES设备比较解密后的待同步数据的时间戳与所述第二ES设备的数据库中存储的数据时间戳是否相同;

若相同,则保持所述第二ES设备的数据库中存储的数据不变;

若不相同,则以解密后的待同步数据更新所述第二ES设备的数据库中存储的查找得到的业务ID记录对应的数据。

8.一种第一授权服务器ES设备,其特征在于,包括:

确定单元,用于确定待同步数据,所述待同步数据被加密存储在所述第一ES设备数据库中;

处理单元,用于对所述确定单元确定出的所述待同步数据进行解密,得到解密数据,再依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密,并向第二ES设备传送所述重新加密得到的数据。

9.如权利要求8所述的第一ES设备,其特征在于,所述确定单元还用于:确定单元确定出待同步数据之前,根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定数据同步优先级顺序;

其中,用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据的数据同步优先级顺序, 按照从高到低的顺序依次排序;

按照所述数据同步优先级顺序,依次确定待同步数据。

10.如权利要求8或9所述的第一ES设备,其特征在于,所述确定单元具体用于:确定发生变化的第一ES设备业务标识ID记录,其中,所述第一ES设备业务ID记录用于标识所述第一ES设备发放的业务记录;

将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据;

所述处理单元,还用于:

所述确定单元确定出所述待同步数据之后,向所述第二ES设备传送所述发生变化的第一ES设备业务ID记录。

11.如权利要求8至10任一项所述的第一ES设备,其特征在于,所述处理单元,还用于:所述确定单元确定出所述待同步数据之后,向所述第二ES设备传送所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳。

12.一种第二授权服务器ES设备,其特征在于,包括:接收单元,用于接收第一ES设备传送过来的待同步数据,所述待同步数据是所述第一ES设备对加密存储在所述第一ES设备数据库中待同步的数据进行解密并依据与第二ES设备进行密钥协商得到的共享密钥加密得到的;

处理单元,用于依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述接收单元接收到的所述待同步数据进行解密,并依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。

13.如权利要求12所述的第二ES设备,其特征在于,所述设备还包括获取单元,用于:获取所述第一ES设备发送的发生变化的第一ES设备业务标识ID记录;

所述处理单元,具体用于:

根据所述获取单元获取到的所述发生变化的第一ES设备业务ID记录,在所述第二ES设备的数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录;

若存在,则所述第二ES设备将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据;

若不存在,则所述第二ES设备将所述解密后的待同步数据保存在所述第二ES设备的数据库中。

14.如权利要求13所述的第二ES设备,其特征在于,所述接收单元,还用于:所述处理单元将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据之前,接收第一ES设备发送的所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳;

所述处理单元,具体用于:

比较解密后的待同步数据的时间戳与所述第二ES设备的数据库中存储的数据时间戳是否相同;

若相同,则保持所述第二ES设备的数据库中存储的数据不变;

若不相同,则以解密后的待同步数据更新所述第二ES设备的数据库中存储的查找得到的业务ID记录对应的数据。

说明书 :

一种数据同步方法及设备

技术领域

[0001] 本发明涉及计算机领域,尤其涉及一种数据同步方法及设备。

背景技术

[0002] 随着通信技术的发展,基于无线保真(Wireless Fidelity,WiFi)的语音业务(Voice over WiFi,VoWiFi)被广泛应用。
[0003] VoWiFi语音业务的系统架构中需要部署授权服务器(Entitlement Server,ES),ES设备中保存有用户状态信息等用户数据,能够为用户设备分配VoWiFi语音业务相关的业务参数。众多的用户设备会通过互联网连接所述ES设备,通过所述ES获取VoWiFi语音业务的业务参数,实现VoWiFi语音业务。
[0004] 为保证VoWiFi语音业务的可靠性,ES设备需要进行1+1地理容灾部署,所述1+1地理容灾部署是指设置主用ES设备和备用ES设备,以在发生ES设备容灾切换时,使VoWiFi语音业务能够从主用ES设备切换至备用ES设备。
[0005] 为保证VoWiFi语音业务从主用ES设备切换至备用ES设备后能够正常进行,主用ES设备和备用ES设备之间需保持存储的用户数据的一致性同步。目前进行数据一致性同步时,通常采用直接同步的方法,例如可采用基于日志方式的数据库同步机制。基于日志方式的数据库同步机制的实现过程如下:当主用数据库有更新的时候,把更新操作的结构化查询语言(Structured Query Language,SQL)写入二进制日志文件,并维护一个二进制日志文件的索引。在备用数据库异步复制的时候,获取主用数据库二进制日志的变化部分,并在备用数据库执行,从而保证主备数据库之间的数据同步。
[0006] 上述主用数据库和备用数据库实现数据同步过程中,要求主用数据库中同步的二进制日志文件必须要能够被备用数据库读取。然而ES设备中为保证用户数据的安全,通常需要对ES设备本地数据库中存储的用户数据进行加密存储,该加密存储的数据不能够简单的复制到异地数据库中进行解密,即主用ES设备中的加密数据是无法在备用ES设备上进行解密的。故,在主用ES设备和备用ES设备之间无法实现加密数据的同步。

发明内容

[0007] 本发明实施例提供一种数据同步方法及装置,在ES设备之间实现加密数据的同步。
[0008] 本发明实施例提供一种数据同步方法及装置,以在ES设备之间实现加密数据的同步。
[0009] 第一方面,提供一种数据同步方法,在该方法中,第一ES设备确定待同步数据,该待同步数据为所述第一ES设备的数据库中加密存储的数据,并对所述待同步数据进行解密,得到解密数据,然后再依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密,并向第二ES设备传送所述重新加密得到的数据,实现将加密存储在所述第一ES设备数据库中的待同步数据,传送到第二ES设备,由于所述第一ES设备和所述第二ES设备之间可共享密钥,故所述第二ES设备接收到第一ES设备重新加密的数据后,可对所述重新加密后的数据进行解密,并依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步,以在ES设备之间实现加密数据的同步。
[0010] 一种可能的设计中,所述第一ES设备根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定数据同步优先级顺序,然后按照确定的所述数据同步优先级顺序,依次确定待同步数据。其中,用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据的数据同步优先级顺序,按照从高到低的顺序依次排序。
[0011] 本发明实施例中,所述数据同步优先级顺序,依次确定待同步数据可实现按照数据优先级顺序对数据进行同步。进一步的,由于用户发起的数据变更请求的同步数据的优先级最高,从而保证了用户侧发起的变更数据可以被优先同步。
[0012] 可选的,本发明实施例中,所述第一ES设备可为所述第一ES设备发送的本地的业务记录分配ID,在进行数据同步时,所述第一ES设备确定发生变化的第一ES设备业务ID记录,将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据,然后向所述第二ES设备传送所述发生变化的第一ES设备业务ID记录,而无需传输发生变化的数据,故能够减少了大数据量下进行数据同步过程中的传输量。
[0013] 所述第二ES设备获取所述第一ES设备发送的发生变化的第一ES设备业务ID记录,并根据所述ID记录对发生变化的业务数据进行数据同步。
[0014] 其中,所述第二ES设备可采用如下方式根据所述ID记录对发生变化的业务数据进行数据同步:根据所述发生变化的第一ES设备业务ID记录,在所述第二ES设备的数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录,若存在,则将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据,若不存在,则将所述解密后的待同步数据保存在所述第二ES设备的数据库中。
[0015] 本发明实施例上述通过ID记录实现数据同步的方法,在本地数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录,只需要查找所述相同的ID记录对应的数据,并与所述解密后的待同步数据进行比较,可见本发明实施例中不需要将所述解密后的待同步数据与第二ES设备数据库中的所有数据一一进行比较和匹配,减少了数据记录的检索时间,提高了数据同步效率,可实现大数据量下的实时性同步。
[0016] 另一种可能的设计中,本发明实施例中,第一ES设备发放业务数据时,可为发放的业务数据分配时间戳,并在确定出待同步数据后向第二ES设备发送所述待同步数据的时间戳。所述第二ES设备接收到第一ES设备发送的所述待同步数据的时间戳以后,可比较所述解密后的待同步数据的时间戳与所述第二ES设备的数据库中存储的数据时间戳是否相同,若相同,则保持所述第二ES设备的数据库中存储的数据不变,若不相同,则以解密后的待同步数据更新所述第二ES设备的数据库中存储的查找得到的业务ID记录对应的数据。
[0017] 本发明实施例上述根据所述时间戳进行数据同步过程,不需要逐步将所述待同步数据的各个字段与第二ES设备数据中存储的相同ID记录对应的数据的各个字段进行比较,只需要对比它们的时间戳是否相同,因此可减少计算量,提高同步效率,实现了实时性同步。
[0018] 第二方面,提供一种第一ES设备,该第一ES设备具有实现上述方法设计中第一ES设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
[0019] 一种可能的设计中,所述第一ES设备可以包括确定单元和处理单元,所述处理单元用于确定待同步数据,所述待同步数据被加密存储在所述第一ES设备数据库中。所述处理单元用于对所述确定单元确定出的所述待同步数据进行解密,得到解密数据,再依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密,并向第二ES设备传送所述重新加密得到的数据。
[0020] 另一种可能的设计中,所述第一ES设备可包括存储器、处理器和发射器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,执行第一方面涉及的同步方法中第一ES设备的相应功能,并通过所述发射器向第二ES设备发送重新加密的数据,与第二ES设备之间进行数据同步。
[0021] 第三方面,提供一种第二ES设备,该第二ES设备具有实现上述方法设计中第二ES设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
[0022] 一种可能的设计中,所述第二ES设备,包括接收单元和处理单元,所述接收单元,用于接收第一ES设备传送过来的待同步数据,所述处理单元,用于依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述接收单元接收到的所述待同步数据进行解密,并依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。
[0023] 另一种可能的设计中,所述第二ES设备可包括存储器、处理器和接收器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,执行第一方面涉及的同步方法中第二ES设备的相应功能,并通过所述接收器接收第一ES设备发送的重新加密的数据,实现与第一ES设备之间加密数据的同步。

附图说明

[0024] 图1为本发明实施例涉及的系统架构图;
[0025] 图2为本发明实施例提供的一种数据同步过程示意图;
[0026] 图3为本发明实施例提供的另一种数据同步过程示意图;
[0027] 图4为本发明实施例提供的一种ES设备确定待同步数据的方法流程图;
[0028] 图5为本发明实施例提供的一种ES设备之间信息交互的示意图;
[0029] 图6为本发明实施例提供的一种ES设备进行数据同步的方法实施流程图;
[0030] 图7为本发明实施例提供的另一种ES设备进行数据同步的方法实施流程图;
[0031] 图8为本发明实施例提供的ES设备更新数据的方法实施流程图;
[0032] 图9所示为本发明实施例提供的一种ES设备的结构示意图;
[0033] 图10所示为本发明实施例提供的一种ES设备的结构示意图;
[0034] 图11所示为本发明实施例提供的另一种ES设备的结构示意图;
[0035] 图12所示为本发明实施例提供的另一种ES设备的结构示意图;
[0036] 图13所示为本发明实施例提供的又一种ES设备的结构示意图。

具体实施方式

[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。
[0038] 本发明实施例提供的数据同步方法可应用于图1所示的网络架构。图1中,第一ES设备和第二ES设备中均存储有数据,并可与用户侧和网络侧进行通信,例如,第一ES设备和第二ES设备可以用于处理用户侧和网络侧发送过来的数据,用户侧和网络侧也会从第一ES设备或者第二ES设备中获取数据并存储。
[0039] 为保证存储数据的安全性,图1所示网络架构中的第一ES设备和第二ES设备,通常需要分别对本地数据库中存储的数据进行加密存储,该加密存储的数据不能够简单的复制到异地数据库中进行解密,例如第一ES设备数据库中加密存储的数据不能够被复制到第二ES设备中进行解密,第二ES设备数据库中加密存储的数据也不能够被复制到第一ES设备中进行解密,故按照目前的数据同步方法,第一ES设备和第二ES设备之间是无法进行加密数据同步的。
[0040] 本发明实施例提供一种数据同步方法,第一ES设备对加密存储在数据库中的待同步数据在本地进行解密并重新加密后发送给第二ES设备,使得第二ES设备能够对接收到的待同步数据进行解密,进而可实现第一ES设备和第二ES设备之间对加密数据的数据同步。
[0041] 需要说明的是,图1所示中涉及的第一ES设备和第二ES设备的结构仅是进行示意性说明,并不引以为限,例如第一ES设备和第二ES设备中均可以包括具有处理功能的处理单元,也可以包括具有发送功能的发送单元,且处理单元和发送单元的组合可以看作是一个独立的网络功能实体,图1中并未进行示意。本发明实施例中也不限定第一ES设备和第二ES设备的具体存在形态,但通常是指需要进行数据同步的两个ES设备,例如可以是VoWiFi语音业务中进行1+1地理容灾部署并互为主备的两个ES设备。
[0042] 进一步需要说明的是,本发明实施例的说明书和权利要求书及附图中涉及的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,例如本发明实施例中上述涉及的第一ES设备和第二ES设备仅是用于方便描述以及区分不同的ES设备,并不构成对ES设备的限定。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
[0043] 本发明实施例以下将结合实际应用对上述实施例涉及的数据同步方法进行说明。
[0044] 图2为本发明实施例提供的一种数据同步过程示意图,可以包括以下步骤:
[0045] S11、第一ES设备确定待同步数据。
[0046] 本发明实施例中,在第一ES设备本地数据库中存储着大量数据,并且为了保证数据的安全性,通常这些数据都会被加密,当第一ES设备向第二ES设备传送同步数据之前,第一ES设备需要从数据库中存储的大量数据中确定出待同步数据。
[0047] S12、所述第一ES设备对所述待同步数据进行解密,得到解密数据。
[0048] 本发明实施例中,通常在第一ES设备本地数据库中存储的数据是经过加密的数据,由于第一ES设备具备本地解密的功能,所以能实现对所述待同步数据的解密。
[0049] S13、所述第一ES设备依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密。
[0050] 本发明实施例中,当第一ES设备对所述待同步数据进行解密之后,为保证所述待同步数据的安全,需要对所述解密数据重新进行加密,具体的加密方式本发明实施例不做限定。例如可在第一ES设备和第二ES设备之间设置加密通道,所述加密通道是第一ES设备和第二ES设备共享的专用通道,在所述待同步数据进行解密之后,经过加密通道向第二ES设备进行传送所述待同步数据时,第一ES设备和第二ES设备可在所述加密通道中进行密钥协商,通过密钥协商,得到共同的密钥,根据所述共同的密钥对所述待同步数据进行重新加密。
[0051] S14、所述第一ES设备向第二ES设备传送所述重新加密得到的数据。
[0052] S15、所述第二ES设备接收第一ES设备传送过来的待同步数据,并依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述待同步数据进行解密。
[0053] 本发明实施例中,当第二ES设备收到第一ES设备传送过来的待同步数据之后,所述待同步数据是被重新加密过的,此时,第二ES设备会利用自身具备的本地解密功能,实现对所述重新加密数据的解密。
[0054] S16、所述第二ES设备依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。
[0055] 本发明实施例中,通过对第一ES设备数据库中加密存储的数据进行解密再重新加密,并向第二ES设备传送所述重新加密的数据。由于第一ES设备和第二ES设备在所述共享的加密通道中进行密钥协商后,得到共同的密钥,进而第二ES设备可以根据所述共同的密钥,对所述重新加密的数据进行解密,因此可实现第一ES设备和第二ES设备之间加密数据的同步。
[0056] 进一步的,为实现不同数据的优先级同步,上述实施例中,所述第一ES设备确定待同步数据之前,上述实施例中还包括步骤S17,如图3所示,步骤S17、所述第一ES设备根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定数据同步优先级顺序。
[0057] 本发明实施例中,当用户侧发生数据变更时,用户侧会发起数据变更请求,同样当网络侧发生数据变更时,网络侧也会发起数据变更请求,此时,所述第一ES设备需要获取这些变更请求,具体获取这些变更请求的方式本发明实施例不做限定,例如可在所述第一ES设备中配置同步数据触发器,所述第一ES设备中的同步数据触发器会获取用户侧和网络侧发起的数据变更请求,同时也会获取第一ES设备中的定时全同步请求,然后依据这三种请求,确定数据同步的优先级顺序。
[0058] 其中,用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据的数据同步优先级顺序,按照从高到低的顺序依次排序。
[0059] 进一步的,所述第一ES设备按照确定的所述数据同步优先级顺序,依次确定待同步数据。
[0060] 本发明实施例中,第一ES设备确定出数据同步优先级顺序之后,可按照优先级顺序依次确定出待同步数据,具体确定待同步数据的方式本发明实施例不做限定。例如可在所述第一ES设备中配置同步数据资源池,将所述用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据,按照优先级顺序放入同步数据资源池中,将优先级最低的系统定时全同步请求的同步数据放置在所述同步数据资源池的最底端,将优先级最高的用户发起的数据变更请求的同步数据放置在所述同步数据资源池的最顶端,按照优先级从高到低的顺序依次确定出待同步数据。
[0061] 本发明实施例中,首先根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定出数据同步优先级顺序,然后按照确定的所述数据同步优先级顺序,依次确定待同步数据。由于用户发起的数据变更请求的同步数据的优先级最高,因此使得用户发起的数据变更请求的同步数据总是排列在同步数据资源池的最顶端,从而保证了用户侧发起的变更数据可以被快速同步,同时也实现了不同数据的优先级同步。
[0062] 可选的,本发明实施例中第一ES设备确定待同步数据的方法流程图如图4所示,包括:
[0063] S31、第一ES设备确定发生变化的第一ES设备业务标识ID记录。
[0064] 本发明实施例中,第一ES设备会采用一段ID来标识本地的业务记录,当第一ES设备的业务ID记录对应的业务数据发生变化时,第一ES设备会确定出发生变化的ID记录。
[0065] S32、所述第一ES设备将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据。
[0066] 此时,上述实施例中,第一ES设备将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据之后,还包括S33、S34,如图5所示,包括:
[0067] S33、所述第一ES设备向第二ES设备传送所述发生变化的第一ES设备业务ID记录。
[0068] S34、所述第二ES设备获取所述第一ES设备发送的发生变化的第一ES设备业务标识ID记录。
[0069] 可见,采用本发明实施例提供的确定待同步数据的方法,通过第一ES设备确定发生变化的业务ID记录,将发生变化的业务ID记录对应的业务数据确定为待同步数据,向所述第二ES设备传送所述发生变化的业务ID记录,减少了大数据量下的同步数据的数量,即只需要将发生变化的业务数据同步到第二ES设备,可减轻第一ES设备的压力,并保证低传输量的要求,提高了同步效率。
[0070] 可选的,第二ES设备获取到第一ES设备发送的发生变化的第一ES设备业务标识ID记录之后,可以采用如图6所示的方法进行数据同步,如图6所示可以包括以下步骤:
[0071] S41、所述第二ES设备在本地数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录。
[0072] 若存在,则执行S42:所述第二ES设备将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据。
[0073] 本发明实施例中,通常第二ES设备也会采用一段ID来标识本地的业务记录,当第二ES设备的收到第一ES设备发送过来的所述发生变化的ID记录之后,第二ES设备会在本地数据库中查找是否存在相同的ID记录,若存在,则将所述查找到的数据替换为所述解密后的待同步数据。
[0074] 若不存在,则执行S43:所述第二ES设备将所述解密后的待同步数据保存在所述第二ES设备的数据库中。
[0075] 本发明实施例中,第二ES设备在本地数据库中查找是否存在相同的ID记录,若不存在,可见第二ES设备本地数据库还没有进行所述解密后的待同步数据的同步,此时,说明所述解密后的待同步数据需要被同步到第二ES设备的本地数据库中,因此将所述第一ES设备发送过来的发生变化的ID记录对应的所述解密后的待同步数据保存在第二ES设备的本地数据库中。
[0076] 本发明实施例中,第二ES设备获取到第一ES设备发送的发生变化的业务标识ID记录之后,在本地数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录,即只需要查找所述相同的ID记录对应的数据,并与所述解密后的待同步数据进行比较,可见本发明实施例中不需要将所述解密后的待同步数据与第二ES设备数据库中的所有数据一一进行比较和匹配,减少了数据记录的检索时间,提高了数据同步效率,可实现大数据量下的实时性同步。
[0077] 可选的,上述实施例中,所述第二ES设备将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据之前,还包括S44,如图7所示,S44、第一ES设备向第二ES设备发送待同步数据的时间戳,所述第二ES设备接收第一ES设备发送的所述待同步数据的时间戳。
[0078] 具体的,本发明实施例中,第一ES设备发放业务数据时,可为发放的业务数据分配时间戳,并在确定出待同步数据后向第二ES设备发送所述待同步数据的时间戳。所述第二ES设备接收到第一ES设备发送的所述待同步数据的时间戳以后,可根据所述时间戳将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据,具体实现过程可参阅图8所示的实施过程,如图8所示,包括:
[0079] S421:所述第二ES设备比较所述解密后的待同步数据的时间戳与所述第二ES设备的数据库中存储的数据时间戳是否相同。
[0080] 本发明实施例中,第二ES设备发放业务数据时,会给所述业务数据分配时间戳,当第二ES设备在本地数据库中找到与所述发生变化的第一ES设备业务ID记录相同的业务ID记录时,在本地数据库中将第一ES设备发送的所述发生变化的ID记录对应的所述解密后的待同步数据的时间戳与第二ES设备的数据库中存储的相同ID记录对应的数据的时间戳进行比较。
[0081] 若相同,则执行S422:保持所述第二ES设备的数据库中存储的数据不变;
[0082] 本发明实施例中,若时间戳相同,说明第二ES设备数据库中相同ID记录对应的数据已经被实时更新,不需要对所述解密后的待同步数据进行重复保存,此时第二ES设备会对所述解密后的待同步数据进行重新加密并回传给第一ES设备。
[0083] 若不相同,则执行S423:以解密后的待同步数据更新所述第二ES设备的数据库中存储的查找得到的业务ID记录对应的数据。
[0084] 本发明实施例中,若时间戳不相同,说明第二ES设备数据库中相同ID记录对应的数据需要被实时更新,此时需要以最新时间戳对应的数据更新第二ES设备的数据库中存储的数据。
[0085] 本发明实施例中,第一ES设备和第二ES设备发放业务数据时会分别给所述业务数据分配时间戳,当第一ES设备的待同步数据发送到第二ES设备中进行同步时,不需要逐步将所述待同步数据的各个字段与第二ES设备数据中存储的相同ID记录对应的数据的各个字段进行比较,只需要对比它们的时间戳是否相同,因此可减少计算量,提高同步效率,实现了实时性同步。
[0086] 需要说明的是,第一ES设备和第二ES设备可以实现完全相同的功能,并不仅限于上述实施例实现的功能。
[0087] 基于上述实施例提供的数据同步方法,本发明实施例提供一种第一ES设备,该设备可以应用于VoWiFi业务中,图9所示为本发明实施例提供的第一ES设备的结构示意图,如图9所示,该设备包括确定单元71和处理单元72,其中:
[0088] 确定单元71,用于确定待同步数据,所述待同步数据被加密存储在所述第一ES设备数据库中。
[0089] 处理单元72,用于对所述确定单元71确定出的所述待同步数据进行解密,得到解密数据,再依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密,并向第二ES设备传送所述重新加密得到的数据。
[0090] 进一步的,所述确定单元71还用于:
[0091] 确定单元71确定出待同步数据之前,根据用户发起的数据变更请求、网络侧发起的数据变更请求以及系统定时全同步请求,确定数据同步优先级顺序。
[0092] 其中,用户发起的数据变更请求的同步数据、网络侧发起的数据变更请求的同步数据以及系统定时全同步请求的同步数据的数据同步优先级顺序,按照从高到低的顺序依次排序。按照所述数据同步优先级顺序,依次确定待同步数据。
[0093] 具体的,所述确定单元71具体用于:
[0094] 确定发生变化的第一ES设备业务标识ID记录,其中,所述第一ES设备业务ID记录用于标识所述第一ES设备发放的业务记录。将发生变化的第一ES设备业务ID记录对应的业务数据,确定为待同步数据。
[0095] 进一步的,所述处理单元72,还用于:
[0096] 所述确定单元71确定出所述待同步数据之后,向所述第二ES设备传送所述发生变化的第一ES设备业务ID记录。
[0097] 进一步的,所述处理单元72,还用于:
[0098] 所述确定单元71确定出所述待同步数据之后,向所述第二ES设备传送所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳。
[0099] 需要说明的是,本发明实施例中的第一ES设备的各个单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述,在此不再赘述。
[0100] 基于上述实施例提供的数据同步方法,本发明实施例提供一种第二ES设备,该设备可以应用于VoWiFi业务中,图10所示为本发明实施例提供的第二ES设备的结构示意图,如图10所示,该设备包括接收单元81和处理单元82,其中:
[0101] 接收单元81,用于接收第一ES设备传送过来的待同步数据,所述待同步数据是所述第一ES设备对加密存储在所述第一ES设备数据库中待同步的数据进行解密又重新加密得到的。
[0102] 处理单元82,用于依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述接收单元81接收到的所述待同步数据进行解密,并依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。
[0103] 进一步的,所述设备还包括获取单元,如图11所示,所述获取单元83,用于:
[0104] 获取所述第一ES设备发送的发生变化的第一ES设备业务标识ID记录。
[0105] 具体的,所述处理单元82,具体用于:
[0106] 根据所述获取单元获取到的所述发生变化的第一ES设备业务ID记录,在所述第二ES设备的数据库中查找是否存在与所述发生变化的第一ES设备业务ID记录相同的业务ID记录。若存在,则所述第二ES设备将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据;若不存在,则所述第二ES设备将所述解密后的待同步数据保存在所述第二ES设备的数据库中。
[0107] 进一步的,所述接收单元81,还用于:
[0108] 所述处理单元82将所述查找得到的业务ID记录对应的数据更新为所述解密后的待同步数据之前,接收第一ES设备发送的所述待同步数据的时间戳,其中,所述时间戳为所述第一ES设备发放业务数据时为所述业务数据分配的时间戳。
[0109] 具体的,所述处理单元82,具体用于:
[0110] 比较解密后的待同步数据的时间戳与所述第二ES设备的数据库中存储的数据时间戳是否相同;若相同,则保持所述第二ES设备的数据库中存储的数据不变;若不相同,则以解密后的待同步数据更新所述第二ES设备的数据库中存储的查找得到的业务ID记录对应的数据。
[0111] 需要说明的是,本发明实施例中的第二ES设备的各个单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述,在此不再赘述。
[0112] 本发明实施例还提供一种第一ES设备,图12所示为本发明实施例提供的第一ES设备的结构示意图,如图12所示,第一ES设备包括存储器101、处理器102和发射器103,执行本发明方案的程序代码保存在存储器101中,并由处理器102来控制执行。
[0113] 存储器101中存储的程序用于指令处理器102执行传送重新加密得到的数据的方法,包括:通过处理器102确定待同步数据,对所述待同步数据进行解密,得到解密数据,再依据与第二ES设备进行密钥协商得到的共享密钥,对所述解密数据重新进行加密。最后通过发射器103向第二ES设备传送所述重新加密得到的数据。
[0114] 可以理解的是,本实施例的第一ES设备可用于实现上述方法实施例中涉及的所有功能,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0115] 本发明实施例还提供一种第二ES设备,图13所示为本发明实施例提供的第二ES设备的结构示意图,如图13所示,第二ES设备包括存储器201、处理器202和接收器203,执行本发明方案的程序代码保存在存储器201中,并由处理器202来控制执行。
[0116] 存储器201中存储的程序用于指令处理器202执行传送重新加密得到的数据的方法,包括:通过接收器203接收第一ES设备传送过来的待同步数据,再通过处理器202依据与所述第一ES设备进行密钥协商得到的共享密钥,对所述接收器203接收到的所述待同步数据进行解密,并依据所述解密后的待同步数据在所述第二ES设备的数据库中进行数据同步。
[0117] 可以理解的是,本实施例的第二ES设备可用于实现上述方法实施例中涉及的所有功能,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0118] 可以理解的是,本发明实施例上述第一ES设备和第二ES设备中涉及的处理器可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路application-specific integrated circuit(ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。计算机系统中包括的一个或多个存储器,可以是只读存储器read-only memory(ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器random access memory(RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。这些存储器通过总线与处理器相连接。
[0119] 发射器和接收器,可以使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
[0120] 存储器,如RAM,保存有操作系统和执行本发明方案的程序。操作系统是用于控制其他程序运行,管理系统资源的程序。
[0121] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。