CN107404540B - 数据的同步方法及装置 - Google Patents
数据的同步方法及装置 Download PDFInfo
- Publication number
- CN107404540B CN107404540B CN201710780752.8A CN201710780752A CN107404540B CN 107404540 B CN107404540 B CN 107404540B CN 201710780752 A CN201710780752 A CN 201710780752A CN 107404540 B CN107404540 B CN 107404540B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- short message
- security level
- databases
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据的同步方法及装置,涉及一种数据处理技术领域,主要目的在于解决现有跨机房之间数据的不同步的问题。主要技术方案包括:监控分布于不同机房中数据库的数据更新情况;若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。主要用于数据的同步。
Description
技术领域
本发明涉及一种数据处理技术领域,特别是涉及一种数据的同步方法及装置。
背景技术
数据同步是指为了保证在进行相同业务处理时,数据的一致性与完整性,在不同的终端设备或者存储介质中进行数据共享并使数据更新一致的过程。其中,在处理千亿级别的数据量时,需要多个可以容纳大存储量设备的机房,每个机房都需要配置服务器,以便保证数据处理的同步性。
目前,在客户端发送数据查询请求后,可以从任意一个机房中的服务器进行接收,并从对应的存储器中查询数据,但是由于网络延迟、数据传输失败等原因,每个机房中可能出现存储的数据不一致的情况,这就使得服务器在进行数据查询时,出现数据差异,例如,客户端发送查询短信的安全等级请求后,经过负载均衡后,请求会发送至某个机房的服务器中,经过服务器会对当前机房中的数据库中短信的安全等级进行查询,若数据库因为网络问题或数据丢失等原因,查询不到最新的安全等级,而跨机房之间数据的不同步会导致业务处理结果存在差异,降低业务处理的准确性。
发明内容
有鉴于此,本发明提供一种数据的同步方法及装置,主要目的在于解决现有跨机房之间数据的不同步的问题。
依据本发明一个方面,提供了一种数据的同步方法,包括:
监控分布于不同机房中数据库的数据更新情况;
若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
进一步地,所述监控分布于不同机房中数据库的数据更新情况包括:
检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
进一步地,所述按照预设时间间隔检测检测所述数据库的运行状态之前,所述方法还包括:
按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
进一步地,所述若通过第二数据库库进行数据同步,则向所述第二数据库发送数据同步请求包括:
若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
进一步地,所述根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步之后,所述方法还包括:
若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
进一步地,所述数据下载请求中携带有需要下载的明文信息,所述向客户端发送数据下载请求之后,所述方法还包括:
接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
进一步地,所述方法还包括:
记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
进一步地,所述数据库中存储的数据为短信的安全等级信息,所述接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
进一步地,所述若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
依据本发明一个方面,提供了一种数据的同步装置,包括:
监控单元,用于监控分布于不同机房中数据库的数据更新情况;
判断单元,用于当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
第一发送单元,用于若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
进一步地,所述监控单元包括:
第一检测模块,用于检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
第一确定模块,用于将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
进一步地,所述监控单元还包括:
第二检测模块,用于按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
第二确定模块,用于若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
进一步地,所述第一发送单元,具体用于若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
进一步地,所述装置还包括:
第二发送单元,用于若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
进一步地,所述装置还包括:
存储单元,用于接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
进一步地,所述装置还包括:
记录单元,用于记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
进一步地,所述数据库中存储的数据为短信的安全等级信息,
所述存储单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
进一步地,所述第二发送单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据的同步方法对应的操作。
根据本发明的再一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据的同步方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种数据的同步方法及装置,首先监控分布于不同机房中数据库的数据更新情况,若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库,若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。与现有跨机房之间数据的不同步相比,本发明实施例通过监控各个机房中数据库的数据更新情况,是根据数据库的更新情况划分为第一数据库及第二数据库之后,根据预设的业务类型来确定是否需要向第二数据库发送同步请求来同步第一数据库中的数据,实现不同机房之间的数据库的数据同步。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据的同步方法流程图;
图2示出了本发明实施例提供的另一种数据的同步方法流程图;
图3示出了本发明实施例提供的一种数据存储过程示意图;
图4示出了本发明实施例提供的一种数据同步流程示意图;
图5示出了本发明实施例提供的一种数据的同步装置结构示意图;
图6示出了本发明实施例提供的另一种数据的同步装置结构示意图;
图7示出了本发明实施例提供的一种服务器结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如背景技术所述,目前,在客户端发送数据查询请求后,可以从任意一个机房中的服务器进行接收,并从对应的存储器中查询数据,但是由于网络延迟、数据传输失败等原因,每个机房中可能出现存储的数据不一致的情况,这就使得服务器在进行数据查询时,出现数据差异,导致业务处理的准确性较低。
为了解决上述问题,实现不同机房之间的数据库的数据同步,保证不同机房的数据保存一致性,提升业务处理的准确性,本发明实施例提供了一种数据的同步方法,如图1所示,所述方法包括:
101、监控分布于不同机房中数据库的数据更新情况。
其中,所述数据更新情况为存储在不同数据库中的数据是否一致,所述监控为对实时更新于不同数据库中的数据进行判断是否存在更新于不同数据库中的数据不一致的情况,所述分布于不同机房中的数据库,一般的,一个机房对应配置有一个数据库,并由一个服务器进行数据存储及查询等操作。例如,客户端的查询请求经过负载均衡下发至某个机房中的服务器中,这个服务器在接收到查询请求后,通过服务器所在的机房中对应数据库中。
需要说明的是,对于千亿级别的数据,为了快速及大容量的数据存储及查询,配置在各个机房中的数据库可以为stored形式的数据库中,而为了避免各个机房出现网络延迟等网络环境问题,每个机房对应一个stored集群,共包括7个单独的集群,每个stored集群中又包括bjcc、bicm、bjdt、gzst、shct、shm、zzzc,每个集群会维护一份相同的数据,而对于数据库中的数据,在数据查询过程中会存在可以查到对应的数据,但是查到的数据不是最新的数据,以及由于数据库网络环境等原因查不到对应的数据,因此,不同机房中的数据库会出现数据更新不同步的情况,这时就需要监控的数据库中的更新情况,并及时进行数据不同。
102、若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步。
其中,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库,即在第二数据库进行数据更新时,第一数据库中的数据没有与第二数据库进行同步的数据更新,由于存在多个机房分别对应一个数据库,而存在数据更新不同步的数据库可能为一个或为多个,因此,所述第一数据库为所有需要数据同步的数据库,可以为一个,也可以为多个,所述第二数据库为数据更新及时的数据库,可以为一个,也可以为多个,本发明实施例不做具体限定。所述预设的业务类型可以包括短信数据、bug数据等,由于通过第二数据库进行数据同步可以快速得到同步数据,因此,需要对不同业务类型数据采取不同的数据同步方法,而通过第二数据库对第一数据库进行数据同步则属于需要快速数据更新的业务类型对应的同步方法,本发明实施例不做具体限定。
需要说明的是,一般的,对不同业务类型的数据需要进行一个划分,使得可以根据不同的业务类型来判断出数据同步的方法,例如,数据为bug数据,划分为需要快速进行数据同步的类型,则直接可以判断出是否需要利用第二数据库进行数据更新。
103、若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求。
对于本发明实施例,以便从所述第二数据库中获取待同步的数据,所述发送的数据同步请求可以为一个,也可以为多个,本发明实施例不做具体限定。
需要说明的是,接收数据同步请求的第二数据库可以为一个,也可以为多个,一般的,若接收数据同步请求的数据库为一个时,则可能第二数据库中的数据库个数为1个,或者选择第二数据库中网络延时最短的数据库作为发送数据同步请求的数据库。若向第二数据库发送了多个数据同步请求时,则说明服务器需要从回复响应最快的数据库中得到同步的数据。从而提高数据同步的速度。
本发明实施例提供了一种数据的同步方法,与现有跨机房之间数据的不同步相比,本发明实施例通过监控各个机房中数据库的数据更新情况,是根据数据库的更新情况划分为第一数据库及第二数据库之后,根据预设的业务类型来确定是否需要向第二数据库发送同步请求来同步第一数据库中的数据,实现不同机房之间的数据库的数据同步,保证不同机房的数据保存一致性,提升业务处理的准确性。
本发明实施例提供了另一种数据的同步方法,如图2所示,所述方法包括:
201、按照预设时间间隔检测不同数据库对应的消息队列的消费状态。
其中,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况,为了实现实时对数据进行监控,所述预设时间间隔可以为1分钟、5分钟等,本发明实施例不做具体限定。所述消息队列为配置于数据库之前数据存储的处理机制,可以为qbus消息队列,本发明实施例不做具体限定。所述消费的网络环境为在qbus进行消费时,网络是否联通,所述消费参数设定情况为qbus消息队列的参数设置情况,如qbus初始化参数是否失败等,本发明实施例不做具体限定。例如,使用一个线程worker从qbus中进行消费,若当前的网络中断,在worker无法进行消费,消费状态则为非正常消费,导致stored中的数据更新落后于其他数据库。通过监控消息队列的消费状态,提高监控数据更新的效率。
需要说明的是,当前数据存储的过程如图3所示,具体可以为:数据从日志文件中获取后打入一个消息队列kafka中,为了避免网络延迟,每个机房中的服务器对应的数据库都包括7个集群,当开启7个消费程序时,数据从kafka中进行消费,需要一个数据merge的过程,为了避免每个机房的数据在merge之后出现数据不一致的情况,需要kafka消费后进行merge的过程需要在一个单点的机器上进行,再把merge之后的数据放到qbus,在这个过程中,由于消费kafka的能力为每分钟2万多的数据,每秒可达300以上至600以上,因此,当前的数据存储过程使用千亿级别的数据存储,同时,在这个过程中若不同的机房中的数据库的数据不同步,还会导致数据查询的效率较低。
202a、若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库。
其中,所述非正常消费的消息队列包括根据消费的网络环境及消费参数设定情况确定出的无法消费的消息队列,同样的,所述正常消费的消息队列即为可以正常消费的消息队列,例如,当qbus初始化失败,则确定当前qbus为非正常消费的队列,从而将qbus对应的数据库确定为第一数据库,若qbus在消费过程中即没有网络不通也没有参数初始化失败,则为正常消费的消息队列,将qbus对应的数据库确定为第二数据库。所示第一数据库与第二数据库仅仅为数据库的划分类型,对应的数据库个数本发明实施例不做具体限定。
需要说明的是,由于需要对多个机房的数据库进行监控,而出现数据不同步的数据库可能是一个或者是多个,因此需要对需要进行数据同步的数据库及不需要进行数据同步的数据库进行划分,从而选取适用于需要进行数据同步的数据库的数据同步方法。
对于本发明实施例,与步骤202a并列的步骤202b、若不存在非正常消费,则检测分布于不同机房中数据库的运行状态。
其中,由于消息队列是数据进行入库之间的数据消费形式,在消息队列正常消费的前提下,还需要对数据库的运行状态进行监控,从而准确掌握分布于不同机房中的数据库的数据更新情况,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况,所述数据库的网络情况为数据库的网络是否连通,所述数据库的挂起情况可以通过数据库的运行响应进行获取,本发明实施例不做具体限定。
需要说明的是,对于数据库的运行状态的判断即是从数据库是否可以正常存储数据方向出发,即是指当数据库挂起,则无法进行数据存储,或当数据库网络连接失败,数据库无法与服务器进行连接,从而不能进行数据存储。
对于本发明实施例,步骤202b之后的步骤203、将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
其中,所述非正常存储数据的数据库包括无法进行数据存储的数据库,例如数据库挂起、网络连接失败而引起无法进行数据存储的数据库,所述正常存储数据的数据库即为可以进行数据存储的数据库,本发明实施例不做具体限定。由于监控不同机房中存在需要数据同步的数据库的个数可以为多个,因此可以通过对需要进行数据同步的数据库进行分为类别,来确定需要进行数据同步的数据库的数据同步方法。
对于本发明实施例,步骤202a与步骤203之后的步骤204、若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步。
本步骤与图1所示的步骤102方法相同,在此不再赘述。
205a、若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
其中,所述预设网络环境为预先设定的网络延时最短的网络环境,例如,网络延时最短可对应的zzzc/bjcm/bjdt的延时为10ms,吞吐量为700线程时,最高为209/sec,gzst的延时为23ms,吞吐量为700线程时,最高为223.9/sec,shct的延时为50ms,吞吐量为800线程时,最高为188.5/sec。
需要说明的是,选取预先设定的网络延时最短的网络环境可以通过后台中进行线程运行情况进行判断,从而确定出一个网络延时最短的数据库,来发送数据同步请求的,数据同步请求中携带有需要同步的数据,符合预设网络环境的第二数据库在接收到数据同步请求后,提取对应的数据发送给第一数据库,实现数据的同步,从而完成跨机房之间的数据同步。
对于本发明实施例,与步骤205a并列的步骤205b、若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求。
对于本发明实施例,以使得所述第一数据库重新进行数据更新,所述数据下载请求中携带有待同步的数据,以便客户端从新进行上传数据,从而实现数据同步。
需要说明的是,当数据库中存储的数据为需要进行数据处理的数据,则发送的数据下载请求中携带有待处理数据之前的原始数据,以便接收到原始数据重新进行处理,提高数据存储在数据库中的准确性。
对于本发明实施例,步骤205b具体可以包括:当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
其中,所述数据库中存储的数据为短信的安全等级信息,由于第一数据库为更新滞后的stored,第二数据库为正常更新的stored,一般的,在接收到短信的安全等级查询请求后,通过负载均衡某个机房中的服务器接收到短信的安全等级查询请求后,会查询这个机房中的stored,按照图4中的查询流程,若查询到的是旧的短信的安全等级,说明这个机房对应的stored被划分为第一数据库,可以通过短信的业务类型来选择短信的安全等级同步方法,短信业务类型与方法的对应关系可以由技术人员进行设定,如短信业务类型为需要快速得到结果的短信类型,可以通过向网络延时最短的机房中的stored发送短信的安全等级同步请求,本发明实施例不做具体限定。为了加快短信的安全等级的更新速度,快速减少安全隐患,可以通过向数据最新的机房中的stored发送短信的安全等级同步请求。
需要说明的是,为了随时监控不同机房中stored的更新情况,当前执行主体为服务端,可以为与各个机房的服务器连通的总服务端。另外,在本发明实施例中,通过监控各个机房中stored的短信的安全等级的更新状态,划分正常更新的stored为第二数据库,滞后更新的stored为第一数据库,这样在接收到查询请求后,根据qbus消费情况确定查的stored是那种数据库,若查询到的短信的安全等级为滞后数据库中的,可以根据业务类型来选择同步的方法,从而提高短信安全等级的同步效率。
对于本发明实施例,步骤205b之后的步骤可以包括206、接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
对于本发明实施例,为了确保数据更新后一致性,并确保从客户端获取的数据与存储的数据是一样的,因此需要对接收到的数据进行处理,所述明文信息即为待处理数据之前的原始数据,例如,需要存储的数据为短信的安全等级,则明文信息为短信的明文,本发明实施例不做具体限定。所述预设的计算模型为处理数据的模型,根据不同的数据类型,计算模型也不同,本发明实施例不做具体限定。例如,存储在数据库中的数据为短信的安全等级信息,在向客户端发送数据下载请求后,接收到短信的明文信息,根据短信模型计算出安全等级,将安全等级存储至对应数据库中,从而实现数据的同步。
对于本发明实施例,步骤206具体可以为:当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
其中,所述数据库中存储的数据为短信的安全等级信息,由于第一数据库为更新滞后的stored,第二数据库为正常更新的stored,一般的,在接收到短信的安全等级查询请求后,通过负载均衡某个机房中的服务器接收到短信的安全等级查询请求后,会查询这个机房中的stored,按照图4中的查询流程,若查询到的是旧的短信的安全等级,说明这个机房对应的stored被划分为第一数据库,可以通过短信的业务类型来选择短信的安全等级同步方法,短信业务类型与方法的对应关系可以由技术人员进行设定,如短信业务类型为需要准确得到结果的短信类型,更新滞后的stored可以通过服务端向客户端发送短信明文下载请求,在客户端返回短信明文之后,服务端通过短信模型计算短信的安全等级,并存储在更新之后的stored中,保证准确性,避免在stored中的短信的安全等级没有得到及时更新而查出来旧的安全等级,降低安全隐患。
对于本发明实施例,为了确定下发的短信明文为安全的短信明文,移动终端在接收短信后需要对短信的内容进行分析判断,避免得到的短信为垃圾短信,具体方法包括:
移动终端接收到短信时,先根据移动终端的本地规则判断该短信是否为白短信;如果不是,则计算出该短信的内容对应哈希值,以及将该短信的内容对应的哈希值上传到云端服务器的后续处理;如果是,则确定该短信不是垃圾短信,不再进行后续的处理。
具体地,根据移动终端的本地规则判断短信是否为白短信的方法包括:
方案1,根据移动终端本地的电话号码白名单判断发送该短信的源号码是否在电话号码白名单中,是则该短信为白短信。其中,该电话号码白名单是由移动终端设本地设置的,或者,是由云端服务器下发到移动终端本地的。进一步地,云端服务器可以每隔一定时间对移动终端本地的电话号码白名单进行更新。
方案2,在移动终端本地对短信的内容进行分词处理,利用贝叶斯算法计算分词后的各个词属于白短信的概率,汇总计算得到该短信是白短信的概率,判断该概率是否大于一个预设值,是则该短信为白短信。
对于本发明实施例,还可以包括:记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息。
对于本发明实施例,由于被划分为第一数据库的数据库是经常出现数据更新失败的数据库,若超过预设的次数,则说明数据库的网络连接或挂起情况需要技术人员进行查看,因此需要记录被划分为第一数据库的次数,所述预设阈值可以为5次、8次,本发明实施例不做具体限定,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息,即通过告警信息,技术人员可以轻易获知被划分为第一数据库次数超过预设阈值数据库对应的机房,便于技术人员进行处理。另外,所述告警信息是由数据库对应的服务器进行发送的,因此,发送的告警信息的形式可以为声音告警,也可以为对话框告警,本发明实施例不做具体限定。
本发明实施例提供了另一种数据的同步方法,与现有跨机房之间数据的不同步相比,本发明实施例通过监控各个机房中数据库对应的消息队列的消费状态及数据库的运行状态,确定出是否需要进行数据同步,然后将需要进行数据同步的数据划分为第一数据库,根据预设的业务类型来选择第一数据库的同步方法,通过第二数据库进行数据同步,实现各个机房中的数据库直接同步,保证数据的时效性,使得数据同步的速度最快,通过向客户端发送数据下载请求,实现数据的二次获取,避免数据的丢失,提高数据的准确性,无论是通过第二数据库进行数据同步还是重新发送下载请求,均实现了不同机房中数据库的数据同步。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种数据的同步装置,如图5所示,该装置包括:监控单元31、判断单元32、第一发送单元33。
监控单元31,用于监控分布于不同机房中数据库的数据更新情况;所述监控单元31为数据的同步装置执行监控分布于不同机房中数据库的数据更新情况的功能模块。
判断单元32,用于当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;所述判断单元32为数据的同步装置执行当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步的功能模块。
第一发送单元33,用于若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。所述第一发送单元33为数据的同步装置执行若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求的功能模块。
本发明实施例提供了一种数据的同步装置,与现有跨机房之间数据的不同步相比,本发明实施例通过监控各个机房中数据库的数据更新情况,是根据数据库的更新情况划分为第一数据库及第二数据库之后,根据预设的业务类型来确定是否需要向第二数据库发送同步请求来同步第一数据库中的数据,实现不同机房之间的数据库的数据同步,保证不同机房的数据保存一致性,提升业务处理的准确性。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种数据的同步装置,如图6所示,该装置包括:监控单元41、判断单元42、第一发送单元43、第二发送单元44、存储单元45、记录单元46。
监控单元41,用于监控分布于不同机房中数据库的数据更新情况;
其中,所述数据更新情况为存储在不同数据库中的数据是否一致,所述监控为对实时更新于不同数据库中的数据进行判断是否存在更新于不同数据库中的数据不一致的情况,所述分布于不同机房中的数据库,一般的,一个机房对应配置有一个数据库,并由一个服务器进行数据存储及查询等操作。
判断单元42,用于当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
其中,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库,即在第二数据库进行数据更新时,第一数据库中的数据没有与第二数据库进行同步的数据更新,由于存在多个机房分别对应一个数据库,而存在数据更新不同步的数据库可能为一个或为多个,因此,所述第一数据库为所有需要数据同步的数据库,可以为一个,也可以为多个,所述第二数据库为数据更新及时的数据库,可以为一个,也可以为多个,本发明实施例不做具体限定。所述预设的业务类型可以包括短信数据、bug数据等,由于通过第二数据库进行数据同步可以快速得到同步数据,因此,需要对不同业务类型数据采取不同的数据同步方法,而通过第二数据库对第一数据库进行数据同步则属于需要快速数据更新的业务类型对应的同步方法,本发明实施例不做具体限定。
第一发送单元43,用于若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
对于本发明实施例,以便从所述第二数据库中获取待同步的数据,所述发送的数据同步请求可以为一个,也可以为多个,本发明实施例不做具体限定。
进一步地,为了提高监控数据更新的效率,所述监控单元41包括:
第一检测模块4101,用于检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
第一确定模块4102,用于将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
进一步地,为了准确监控数据的更新情况,以及对更新数据不及时的数据库进行确定,所述监控单元41还包括:
第二检测模块4103,用于按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
第二确定模块4104,用于若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
所述第一发送单元43,具体用于若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
进一步地,为了客户端从新进行上传数据,从而实现数据同步,所述装置还包括:
第二发送单元44,用于若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
进一步地,为了确保数据更新后一致性,并确保从客户端获取的数据与存储的数据是一样的,所述装置还包括:
存储单元45,用于接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
进一步地,保证每个数据库在进行数据存储时都是高效而正常运作的,所述装置还包括:
记录单元46,用于记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
具体的,所述数据库中存储的数据为短信的安全等级信息,
所述存储单元45,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
具体的,所述第二发送单元44,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
本发明实施例提供了另一种数据的同步装置,与现有跨机房之间数据的不同步相比,本发明实施例通过监控各个机房中数据库对应的消息队列的消费状态及数据库的运行状态,确定出是否需要进行数据同步,然后将需要进行数据同步的数据划分为第一数据库,根据预设的业务类型来选择第一数据库的同步方法,通过第二数据库进行数据同步,实现各个机房中的数据库直接同步,保证数据的时效性,使得数据同步的速度最快,通过向客户端发送数据下载请求,实现数据的二次获取,避免数据的丢失,提高数据的准确性,无论是通过第二数据库进行数据同步还是重新发送下载请求,均实现了不同机房中数据库的数据同步。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:监控分布于不同机房中数据库的数据更新情况;若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
基于上述如图1所示方法和如图5所示装置的实施例,本发明一个实施例提供的一种服务器的结构示意图,如图7所示,本发明具体实施例并不对终端的具体实现做限定。
如图5所示,该服务器可以包括:处理器(processor)51、通信接口(Communications Interface)52、存储器(memory)53、以及通信总线54。其中:处理器51、通信接口52、以及存储器53通过通信总线54完成相互间的通信。通信接口54,用于与其它设备比如客户端或其它服务器等的网元通信。处理器51,用于执行程序,具体可以执行上述数据的转换方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器51可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器53,用于存放程序。存储器53可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序具体可以用于使得处理器51执行以下操作:监控分布于不同机房中数据库的数据更新情况;若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据的同步方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了:
A1、一种数据的同步方法,包括:
监控分布于不同机房中数据库的数据更新情况;
若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
A2、根据A1所述的方法,所述监控分布于不同机房中数据库的数据更新情况包括:
检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
A3、根据A2所述的方法,所述检测分布于不同机房中数据库的运行状态之前,所述方法还包括:
按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
A4、根据A1或A3所述的方法,所述若通过第二数据库库进行数据同步,则向所述第二数据库发送数据同步请求包括:
若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
A5、根据A1-A4任一项所述的方法,所述根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步之后,所述方法还包括:
若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
A6、根据A5所述的方法,所述数据下载请求中携带有需要下载的明文信息,所述向客户端发送数据下载请求之后,所述方法还包括:
接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
A7、根据A1所述的方法,其所述方法还包括:
记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
A8、根据A6所述的方法,所述数据库中存储的数据为短信的安全等级信息,所述接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
A9、根据A8所述的方法,所述若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
B10、一种数据的同步装置,包括:
监控单元,用于监控分布于不同机房中数据库的数据更新情况;
判断单元,用于当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
第一发送单元,用于若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据。
B11、根据B10所述的装置,所述监控单元包括:
第一检测模块,用于检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
第一确定模块,用于将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库。
B12、根据B11所述的装置,所述监控单元还包括:
第二检测模块,用于按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
第二确定模块,用于若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
B13、根据B10或B12所述的装置,
所述第一发送单元,具体用于若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
B14、根据B10-B13任一项所述的装置,所述装置还包括:
第二发送单元,用于若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
B15、根据B14所述的装置,所述装置还包括:
存储单元,用于接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
B16、根据B15所述的装置,所述装置还包括:
记录单元,用于记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
B17、根据B15所述的装置,所述数据库中存储的数据为短信的安全等级信息,
所述存储单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
B18、根据B17所述的装置,
所述第二发送单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
C19、一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A9中任一项所述的数据的同步方法对应的操作。
D20、一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A9中任一项所述的数据的同步方法对应的操作。
Claims (16)
1.一种数据的同步方法,其特征在于,包括:
监控分布于不同机房中数据库的数据更新情况;
若根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据;
所述监控分布于不同机房中数据库的数据更新情况包括:
检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库;
所述检测分布于不同机房中数据库的运行状态之前,所述方法还包括:
按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
2.根据权利要求1所述的方法,其特征在于,所述若通过第二数据库库进行数据同步,则向所述第二数据库发送数据同步请求包括:
若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步之后,所述方法还包括:
若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
4.根据权利要求3所述的方法,其特征在于,所述数据下载请求中携带有需要下载的明文信息,所述向客户端发送数据下载请求之后,所述方法还包括:
接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
6.根据权利要求4所述的方法,其特征在于,所述数据库中存储的数据为短信的安全等级信息,所述接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
7.根据权利要求6所述的方法,其特征在于,所述若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新包括:
当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
8.一种数据的同步装置,其特征在于,包括:
监控单元,用于监控分布于不同机房中数据库的数据更新情况;
判断单元,用于当根据所述数据更新情况将所述数据库划分为第一数据库与第二数据库时,则根据预设的业务类型判断是否通过所述第二数据库对所述第一数据库进行数据同步,所述第一数据库为相对于所述第二数据库数据更新滞后的数据库;
第一发送单元,用于若通过所述第二数据库对所述第一数据库进行数据同步,则向所述第二数据库发送数据同步请求,以便从所述第二数据库中获取待同步的数据;
所述监控单元包括:
第一检测模块,用于检测分布于不同机房中数据库的运行状态,所述数据库的运行状态包括数据库的网络环境及数据库的挂起情况;
第一确定模块,用于将根据检测的运行状态将非正常存储数据的数据库确定为第一数据库,将正常存储数据的数据库确定为第二数据库;
所述监控单元还包括:
第二检测模块,用于按照预设时间间隔检测不同数据库对应的消息队列的消费状态,所述消息队列的消费状态包括消费的网络环境及消费参数设定情况;
第二确定模块,用于若存在非正常消费,将非正常消费的消息队列对应的数据库确认为第一数据库,正常消费的消息队列对应的数据库确认为第二数据库,若不存在非正常消费,则执行检测分布于不同机房中数据库的运行状态的步骤。
9.根据权利要求8所述的装置,其特征在于,
所述第一发送单元,具体用于若通过第二数据库库进行数据同步,则选取所述第二数据库中处于预设网络环境下进行数据更新的数据库,并向所述数据库发送数据同步请求。
10.根据权利要求8-9任一项所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于若不是通过第二数据库对所述第一数据库进行数据同步,则向客户端发送数据下载请求,以使得所述第一数据库重新进行数据更新。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
存储单元,用于接收明文信息对应的数据,按照预设的计算模型对所述数据进行计算,并将计算结果存储至所述第一数据库中。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
记录单元,用于记录所述数据库被划分为第一数据库的次数,若所述次数大于预设阈值,则发送告警信息,所述告警信息中携带有所述次数大于预设阈值的数据库的机房信息。
13.根据权利要求11所述的装置,其特征在于,所述数据库中存储的数据为短信的安全等级信息,
所述存储单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出不是通过第二数据库对所述第一数据库进行数据同步,接收向客户端发送短信明文下载请求所返回的短信明文,并根据所述短信明文及预设短信模型计算短信的安全等级,将计算后短信的安全等级更新至第一数据库中。
14.根据权利要求13所述的装置,其特征在于,
所述第二发送单元,具体用于当接收到短信的安全等级信息查询请求,并通过接收到所述短信的安全等级查询请求的服务端查询对应的第一数据库时,若根据短信业务类型判断出通过第二数据库对所述第一数据库进行数据同步,则向符合预设网络环境的第二数据库发送短信的安全等级同步请求,以使得第二数据库将更新的短信的安全等级响应于第一数据库,所述短信的安全等级同步请求中携带有待同步的短信的安全等级信息。
15.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的数据的同步方法对应的操作。
16.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的数据的同步方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710780752.8A CN107404540B (zh) | 2017-09-01 | 2017-09-01 | 数据的同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710780752.8A CN107404540B (zh) | 2017-09-01 | 2017-09-01 | 数据的同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107404540A CN107404540A (zh) | 2017-11-28 |
CN107404540B true CN107404540B (zh) | 2021-06-18 |
Family
ID=60397846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710780752.8A Active CN107404540B (zh) | 2017-09-01 | 2017-09-01 | 数据的同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107404540B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920504A (zh) * | 2018-05-28 | 2018-11-30 | 北京达佳互联信息技术有限公司 | 一种缓存数据的同步方法及装置 |
CN109101609A (zh) * | 2018-08-03 | 2018-12-28 | 成都福立盟科技有限公司 | 一种不同数据库的数据同步方法 |
CN110362625A (zh) * | 2019-05-30 | 2019-10-22 | 杭州数梦工场科技有限公司 | 数据库读写分离方法、装置、电子设备及存储介质 |
CN110691124B (zh) * | 2019-09-24 | 2020-11-24 | 华润网络(深圳)有限公司 | 一种异地多活架构下数据处理方法及系统 |
CN110674156B (zh) * | 2019-09-27 | 2020-06-26 | 掌阅科技股份有限公司 | 多机房数据的同步方法、计算设备及计算机存储介质 |
CN111274315B (zh) * | 2020-01-15 | 2022-09-30 | 深圳平安医疗健康科技服务有限公司 | 同步数据通道构建方法、装置、计算机设备和存储介质 |
CN111414416B (zh) * | 2020-02-28 | 2023-05-23 | 平安科技(深圳)有限公司 | 数据处理方法、装置、设备和存储介质 |
CN113472715B (zh) * | 2020-03-30 | 2024-09-10 | 中国联合网络通信集团有限公司 | 数据传输方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN102722579A (zh) * | 2012-06-07 | 2012-10-10 | 浪潮电子信息产业股份有限公司 | 一种在集群存储系统内部数据库的双向同步方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114880B2 (en) * | 2014-03-31 | 2018-10-30 | Walmart Apollo, Llc | Synchronizing database data to a database cache |
CN103886091B (zh) * | 2014-04-01 | 2017-08-01 | 无锡科技职业学院 | 一种基于记录标记的数据库同步方法 |
CN105447054A (zh) * | 2014-09-25 | 2016-03-30 | 中兴通讯股份有限公司 | 一种数据库的数据同步方法、装置及系统 |
CN105989123A (zh) * | 2015-02-13 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
CN105095364B (zh) * | 2015-06-26 | 2018-11-23 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
US10911536B2 (en) * | 2015-10-27 | 2021-02-02 | Talkcycle Llc | Real-time synchronization of data between disparate cloud data sources |
CN106657314B (zh) * | 2016-12-14 | 2020-10-27 | 北京奇艺世纪科技有限公司 | 跨数据中心数据同步系统及方法 |
-
2017
- 2017-09-01 CN CN201710780752.8A patent/CN107404540B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN102722579A (zh) * | 2012-06-07 | 2012-10-10 | 浪潮电子信息产业股份有限公司 | 一种在集群存储系统内部数据库的双向同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107404540A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107404540B (zh) | 数据的同步方法及装置 | |
JP6602435B2 (ja) | 連続イベント処理(cep)クエリの並列の実行 | |
CN109412870B (zh) | 告警监控方法及平台、服务器、存储介质 | |
CN108566290A (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
CN112751726B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN109274730A (zh) | 物联网系统、mqtt消息传输的优化方法及装置 | |
CN105515900A (zh) | 一种获取终端在线状态的方法及装置 | |
CN104219288A (zh) | 基于多线程的分布式数据同步方法及其系统 | |
US9104486B2 (en) | Apparatuses, systems, and methods for distributed workload serialization | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN110995851B (zh) | 消息处理方法、装置、存储介质及设备 | |
CN104301140A (zh) | 业务请求响应方法、装置和系统 | |
CN112764956B (zh) | 数据库的异常处理系统、数据库的异常处理方法及装置 | |
CN111988240B (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN110275815A (zh) | 一种系统异常告警处理方法及装置 | |
CN114401207B (zh) | 一种通讯异常终端设备定位方法、装置及电子设备 | |
CN109714214B (zh) | 一种服务器异常的处理方法及管理设备 | |
CN109684130B (zh) | 一种机房间数据备份的方法及装置 | |
CN106412123A (zh) | 云接入控制器分布式处理终端设备信息的方法和系统 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN115378841B (zh) | 设备接入云平台状态的检测方法及装置、存储介质、终端 | |
US9477736B2 (en) | Apparatus and method for active and passive data gathering using stochastic model in control network | |
CN103501251B (zh) | 断网情况下的数据包处理方法及装置 | |
CN114331092A (zh) | 设备影子、工程机械设备远程调度管理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |