一种存储数据的方法及装置制造方法及图纸

技术编号:23445625 阅读:18 留言:0更新日期:2020-02-28 19:51
本申请是关于一种存储数据的方法及装置,属于监控领域。所述方法包括:从Kafka中获取待存储数据,所述待存储数据包括用户标识;根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag,所述Dag是根据多个数据库的写入顺序建立的,所述多个数据库的写入顺序是所述用户标识对应的用户配置的,所述Dag中的节点用于存储数据库的标识,所述节点的至少一个子节点用于存储写入顺序位于所述数据库之后的数据库的标识;根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中。本申请能够实现按照用户需要的数据库存储顺序将数据存储到数据库中。

A method and device for storing data

【技术实现步骤摘要】
一种存储数据的方法及装置
本申请涉及计算机
,特别涉及一种存储数据的方法及装置。
技术介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模网站中的所有动作流数据。Kafka会接收到大量的数据,所以需要将Kafka中的数据存储到数据库中。目前需要将Kafka中的数据存储到多个数据库中,例如将Kafka中的数据存储到Hbase、ES(ElasticSearch)系统和结构化查询语言(StructuredQueryLanguage,SQL)数据库中。目前按照预设的每个数据库存储顺序,将Kafka中的数据分别存储在每个数据库中。例如,预设的每个数据库存储顺序为Hbase、ES系统和SQL数据库,在存储数据时先将数据存储在Hbase,存储完之后再将该数据存储在ES系统中,以及在存储完之后再次将该数据存储到SQL数据库中。预设的每个数据库存储顺序可能不是用户所需要的存储顺序,所以目前的存储方法无法实现按照用户需要的数据库存储顺序将数据存储到数据库中。
技术实现思路
为了实现按照用户需要的数据库存储顺序将数据存储到数据库中,本申请实施例提供了一种存储数据的方法及装置。所述技术方案如下:第一方面,本申请实施例提供了一种存储数据方法,所述方法包括:从Kafka中获取待存储数据,所述待存储数据包括用户标识;根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag,所述Dag是根据多个数据库的写入顺序建立的,所述多个数据库的写入顺序是所述用户标识对应的用户配置的,所述Dag中的节点用于存储数据库的标识,所述节点的至少一个子节点用于存储写入顺序位于所述数据库之后的数据库的标识;根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中。可选的,所述从Kafka中获取待存储数据,包括:将所述Kafka中的数据的格式转换成预设格式的数据,并将转换后的各数据缓存在缓存队列中;从所述缓存队列的队尾出队一个数据作为所述待存储数据。可选的,所述根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中,包括:从所述Dag的根节点中读取数据库的标识;将所述待存储数据存储在所述数据库的标识对应的数据库中;从所述根节点的n个子节点中读取n个数据库的标识,n为大于或等于1的整数;将所述待存储数据存储在所述n个数据库的标识对应的n个数据库中。可选的,所述将所述待存储数据存储在所述n个数据库的标识对应的n个数据库中之后,还包括:当目标节点存在m个子节点时,所述目标节点为所述n个子节点中的任一个子节点,m为大于或等于1的整数,从所述m个子节点中读取m个数据库的标识;将所述待存储数据存储在所述m个数据库的标识对应的m个数据库中。可选的,所述根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag之前,还包括:根据所述用户配置的多个数据库的写入顺序建立Dag,将所述用户的用户标识和所述Dag对应保存在用户标识与Dag的对应关系中。第二方面,本申请实施例提供了一种存储数据装置,所述装置包括:第一获取模块,用于从Kafka中获取待存储数据,所述待存储数据包括用户标识;第二获取模块,用于根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag,所述Dag是根据多个数据库的写入顺序建立的,所述多个数据库的写入顺序是所述用户标识对应的用户配置的,所述Dag中的节点用于存储数据库的标识,所述节点的至少一个子节点用于存储写入顺序位于所述数据库之后的数据库的标识;存储模块,用于根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中。可选的,所述第一获取模块,用于:将所述Kafka中的数据的格式转换成预设格式的数据,并将转换后的各数据缓存在缓存队列中;从所述缓存队列的队尾出队一个数据作为所述待存储数据。可选的,所述存储模块,用于:从所述Dag的根节点中读取数据库的标识;将所述待存储数据存储在所述数据库的标识对应的数据库中;从所述根节点的n个子节点中读取n个数据库的标识,n为大于或等于1的整数;将所述待存储数据存储在所述n个数据库的标识对应的n个数据库中。可选的,所述存储模块,还用于:当目标节点存在m个子节点时,所述目标节点为所述n个子节点中的任一个子节点,m为大于或等于1的整数,从所述m个子节点中读取m个数据库的标识;将所述待存储数据存储在所述m个数据库的标识对应的m个数据库中。可选的,所述装置还包括:建立模块,用于根据所述用户配置的多个数据库的写入顺序建立Dag,将所述用户的用户标识和所述Dag对应保存在用户标识与Dag的对应关系中。第三方面,本申请实施例提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行第一方面或第一方面的任意可选的实现方式。本申请实施例提供的技术方案可以包括以下有益效果:通过待存储数据包括的用户标识,从用户标识与Dag的对应关系中获取对应的Dag,根据该Dag中包括的各数据库的写入顺序,将待存储数据存储到各数据库中。由于Dag是根据该用户标识对应的用户配置的数据库的写入顺序建立的,从而实现按照用户需要的数据库存储顺序将数据存储到数据库中。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1是本申请实施例提供的一种系统的结构示意图;图2是本申请实施例提供的一种存储数据的方法流程图;图3是本申请实施例提供的另一种存储数据的方法流程图;图4是本申请实施例提供的一种显示界面的示意图;图5是本申请实施例提供的一种Dag的示意图;图6是本申请实施例提供的一种存储数据的装置结构示意图;图7是本申请实施例提供的终端结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。参见图1,本申请实施例提供了一种存储系统,包括:Kafka、控制设备和多个存储设备,每个存储设备中包括至本文档来自技高网...

【技术保护点】
1.一种存储数据方法,其特征在于,所述方法包括:/n从Kafka中获取待存储数据,所述待存储数据包括用户标识;/n根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag,所述Dag是根据多个数据库的写入顺序建立的,所述多个数据库的写入顺序是所述用户标识对应的用户配置的,所述Dag中的节点用于存储数据库的标识,所述节点的至少一个子节点用于存储写入顺序位于所述数据库之后的数据库的标识;/n根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中。/n

【技术特征摘要】
1.一种存储数据方法,其特征在于,所述方法包括:
从Kafka中获取待存储数据,所述待存储数据包括用户标识;
根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag,所述Dag是根据多个数据库的写入顺序建立的,所述多个数据库的写入顺序是所述用户标识对应的用户配置的,所述Dag中的节点用于存储数据库的标识,所述节点的至少一个子节点用于存储写入顺序位于所述数据库之后的数据库的标识;
根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中。


2.如权利要求1所述的方法,其特征在于,所述从Kafka中获取待存储数据,包括:
将所述Kafka中的数据的格式转换成预设格式的数据,并将转换后的各数据缓存在缓存队列中;
从所述缓存队列的队尾出队一个数据作为所述待存储数据。


3.如权利权利要求1所述的方法,其特征在于,所述根据所述Dag中包括的各数据库的写入顺序,将所述待存储数据存储到所述各数据库中,包括:
从所述Dag的根节点中读取数据库的标识;
将所述待存储数据存储在所述数据库的标识对应的数据库中;
从所述根节点的n个子节点中读取n个数据库的标识,n为大于或等于1的整数;
将所述待存储数据存储在所述n个数据库的标识对应的n个数据库中。


4.如权利要求3所述的方法,其特征在于,所述将所述待存储数据存储在所述n个数据库的标识对应的n个数据库中之后,还包括:
当目标节点存在m个子节点时,所述目标节点为所述n个子节点中的任一个子节点,m为大于或等于1的整数,从所述m个子节点中读取m个数据库的标识;
将所述待存储数据存储在所述m个数据库的标识对应的m个数据库中。


5.如权利要求1所述的方法,其特征在于,所述根据所述用户标识,从用户标识与有向无环图Dag的对应关系中获取对应的Dag之前,还包括:
根据所述用户配置的多个数据库的写入顺序建立Dag,将所述用...

【专利技术属性】
技术研发人员:阮彬彬郭峰李森
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1