【技术实现步骤摘要】
一种数据存储方法及装置
本申请涉及数据库
,尤其涉及一种数据存储方法及装置。
技术介绍
随着数据存储技术的发展,数据库的种类越来越多,应用也越来越广泛。很多公司及企业都会使用数据库作为底层存储设备。目前,各公司及企业通常是选择一种数据库来存储业务中产生的数据。然而,每种数据库都各由优缺点。例如,Hbase在某些方面拥有无法替代的特性,比如可以支持几乎可无限增长的行和列、支持稀疏存储、且存储和读取都很高效。但是,Hbase数据库只支持单一条件的查询,不支持自定义查询,导致技术人员在Hbase数据库中查询数据时非常不便。因此,亟需一种新的数据存储方法,来解决将数据存储到单一数据库存在的问题。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据存储方法及装置。第一方面,本申请提供了一种数据存储方法,所述方法包括:检测第一数据库中是否写入业务数据;如果所述第一数据库中写入业务数据,则生成所述业务数据对应的同步消息,所述同步消息至少包含所述业 ...
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n检测第一数据库中是否写入业务数据;/n如果所述第一数据库中写入业务数据,则生成所述业务数据对应的同步消息,所述同步消息至少包含所述业务数据;/n将所述同步消息存储到预设的消息队列中;/n通过预设的消息读取策略,从所述消息队列中读取同步消息,将读取的同步消息中包含的目标业务数据写入第二数据库。/n
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
检测第一数据库中是否写入业务数据;
如果所述第一数据库中写入业务数据,则生成所述业务数据对应的同步消息,所述同步消息至少包含所述业务数据;
将所述同步消息存储到预设的消息队列中;
通过预设的消息读取策略,从所述消息队列中读取同步消息,将读取的同步消息中包含的目标业务数据写入第二数据库。
2.根据权利要求1所述的方法,其特征在于,所述同步消息还包含业务数据对应的业务标识、以及业务数据的版本号。
3.根据权利要求2所述的方法,其特征在于,所述通过预设的消息读取策略,从所述消息队列中读取同步消息,将读取的同步消息中包含的目标业务数据写入第二数据库,包括:
在所述消息队列中,确定预设时长内接收到的多个同步消息;
在所述多个同步消息中,确定业务标识相同的同步消息;
在业务标识相同的同步消息中,确定包含的版本号最大的目标同步消息;
将所述目标同步消息包含的目标业务数据写入第二数据库。
4.根据权利要求2所述的方法,其特征在于,所述将读取的同步消息中包含的目标业务数据写入第二数据库之后,还包括:
将读取的同步消息中包含的目标业务标识和目标版本号写入所述第二数据库;
当读取到包含所述目标业务标识的新同步消息时,判断所述新同步消息中的版本号是否大于所述目标版本号;
如果新同步消息中的版本号大于所述目标版本号,则将所述第二数据库中的目标业务数据,修改为所述新同步消息包含的业务数据;
如果新同步消息中的版本号不大于所述目标版本号,则丢弃所述新同步消息。
5.根据权利要求2所述的方法,其特征在于,所述生成所述业务数据对应的同步消息,包括:
获取所述业务数据对应的业务标识,并根据预设的版本号分配规则,为所述业务数据分配版本号;
根据所述业务数据、所述业务标识和所述版本号生成同步消息。
6.根据权利要求1所述的方法,其特征在于,所述生成所述业务数据对应的同步消息之前,还包括:
获取所述业务数据对应的业务标识;
如果所述业务标识为预设业务类型的业务标识,则执行所述生成所述业务数据对应的同步消息的步骤。
7.根据权利要求1所述的方法,其特征在于,所述第一数据库为Hbase数据库,所述第二数据库为支持结构化查询语言SQL查询命令的数据库;
所述方法还包括:
当接收到SQL查询命令时,基于所述第二数据库执行所述SQL查询命令。
8.一种数据存储装置,其特征在于,所述装置包括:
检测模块,用于检测第一数据库中是否写入业务数据;
生成模块,用于如果所述第一数据库中写入业务数据,则生成所述业务数据对应的同步消息...
【专利技术属性】
技术研发人员:付元宝,段效晨,王玉东,康林,秦占明,赵艳杰,罗廷方,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。