CN113868249A - 一种数据存储方法、装置、计算机设备以及存储介质 - Google Patents
一种数据存储方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN113868249A CN113868249A CN202111115151.8A CN202111115151A CN113868249A CN 113868249 A CN113868249 A CN 113868249A CN 202111115151 A CN202111115151 A CN 202111115151A CN 113868249 A CN113868249 A CN 113868249A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- index
- format conversion
- storage
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/06—Electricity, gas or water supply
Abstract
本发明公开了一种数据存储方法、装置、计算机设备以及存储介质。该方法包括:通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。使用本发明的技术方案,可以实现对不同来源的异构数据进行存储,从而实现对离散数据的整合。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种数据存储方法、装置、计算机设备以及存储介质。
背景技术
随着电网管理信息化的发展和时间的推移,供电企业积累了大量的专题数据,为了便于对后续的风险预测、能源管理的建设提供决策参考支撑,需要对这些分散数据进行统筹和整合。
现有技术中的数据存储,是建立源系统与数据存储单元之间的映射关系,将源系统中的源数据导入到数据存储单元中进行存储。现有技术中的数据存储方式,不能对不同来源的异构数据进行存储,不利于电网管理中离散数据的整合。
发明内容
本发明实施例提供一种数据存储方法、装置、计算机设备以及存储介质,以实现对不同来源的异构数据进行存储。
第一方面,本发明实施例提供了一种数据存储方法,该方法包括:
通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
第二方面,本发明实施例还提供了一种数据存储装置,该装置包括:
源数据格式转换模块,用于通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
源数据存储模块,用于若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
索引文件存储模块,用于通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的数据存储方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任一所述的数据存储方法。
本发明实施例通过数据源连接器与不同的数据源建立连接,当需要抽取数据时,通过数据源连接器获取数据源的源数据,通过数据转换器对源数据进行格式转换,通过数据存储器,将符合数据存储条件的源数据保存到数据库中,通过索引生成单元生成源数据的索引文件,通过索引缓存单元将索引文件存储到索引存储单元中。解决了现有技术中的数据存储方式,不能对不同来源的异构数据进行存储的问题,实现了对不同来源的异构数据进行存储,从而实现对离散数据的整合。
附图说明
图1是本发明实施例一中的一种数据存储方法的流程图;
图2a是本发明实施例二中的一种数据存储方法的流程图;
图2b是本发明具体适用场景一中的一种数据存储系统的结构示意图;
图3是本发明实施例三中的一种数据存储装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种数据存储方法的流程图,本实施例可适用于对不同来源的数据进行抽取和存储的情况,该方法可以由数据存储装置来执行,该装置可以由软件和/或硬件来实现,并一般集成在计算机设备中。
如图1所示,本发明实施例的技术方案,具体包括如下步骤:
S110、通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换。
其中,数据源连接器连接不同的数据源,可选的,所述数据源连接器通过与数据源匹配的数据源连接器插件,与数据源进行连接;所述数据源包括结构化数据源和/或非结构化数据源。源数据为需要从数据源中进行抽取的数据,数据转换器用于对从数据源处获取的源数据根据一定的格式转换规则进行格式转换。
在本发明实施例中,数据源连接器通过不同的插件,与不同的数据源建立连接,可以获取不同数据源的数据,从而可以实现对离散数据的整合。
S120、若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中。
在本发明实施例中,数据转换器对源数据进行格式转换之后,如果源数据符合数据存储条件,则将源数据以json格式返回给数据调用方。如果源数据不符合数据存储条件,则记录错误信息,并将错误信息提示给用户,直至接收到用户修改后的符合数据存储条件的源数据。
其中,数据存储条件是预先设置的,与需要从数据源中抽取出的数据相匹配的条件,示例性的,数据存储条件可以是数据满足预设格式要求,或者数据为目标业务相关数据,本实施例对此不进行限制。
数据存储器用于将源数据保存至数据库中,可选的,该数据库可以是Hadoop数据库,本实施例对数据库的类型不进行限制。
S130、通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
在本发明实施例中,数据存储器将源数据保存至Hadoop数据库中之后,还需要Hadoop数据库中的索引生成单元对保存的文件生成索引文件,并通过索引缓存单元将索引文件存储到索引存储单元中。索引文件中存储有源数据的索引信息,用于建立源数据在逻辑记录和物理记录之间的对应关系。
本实施例的技术方案,通过数据源连接器与不同的数据源建立连接,当需要抽取数据时,通过数据源连接器获取数据源的源数据,通过数据转换器对源数据进行格式转换,通过数据存储器,将符合数据存储条件的源数据保存到数据库中,通过索引生成单元生成源数据的索引文件,通过索引缓存单元将索引文件存储到索引存储单元中。解决了现有技术中的数据存储方式,不能对不同来源的异构数据进行存储的问题,实现了对不同来源的异构数据进行存储,从而实现对离散数据的整合。
实施例二
图2a是本发明实施例二提供的一种数据存储方法的流程图,本发明实施例在上述实施例的基础上,对源数据进行格式转换的过程、生成源数据的索引文件的过程,以及存储索引文件的过程进行了进一步的具体化,并加入了对数据库中的数据进行MapReduce处理的过程,以及读取数据的过程。
相应的,如图2a所示,本发明实施例的技术方案,具体包括如下步骤:
S210、通过数据源连接器获取源数据。
在本发明实施例中,在一个docker容器中部署数据源连接器和数据转换器。docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上,也可以实现虚拟化。
数据源连接器通过不同的插件与不同的数据源建立连接,获取源数据。
S220、通过数据转换器将源数据根据格式转换规则进行格式转换。
所述格式转换规则包括:遍历源数据,生成字符列表和数字列表,并生成字符词典。
数据转换器将从数据源中获取的源数据根据格式转换规则进行格式转换。具体的,可以定义标点符号列表,调用正则表达式对源数据进行判断,遍历源数据。首先判断源数据中的字符是否为除了字、数字、标点之外的符号,如果是就跳过,如果不是,再判断是不是字或数字,如果是字或数字,则分别计数。最后返回字的列表和数字的列表,构建字符词典。对于输入的词,如果不在字符词典中,就添加至字符词典,其中包括添加数字、结尾以及未知字符。返回的数据由两组对齐的MAX_SEQUENCE_LEN(最大序列长度)令牌子序列组成,将字添加到列表中,数字替换为NUM,对于标点,如果字之间没有标点就用SPACE表示,如果有标点就用标点和英文大写表示。
S230、判断格式转换后的源数据是否符合数据存储条件,若是,则执行S240,否则执行S2140。
格式转换后,符合数据存储条件的源数据以json格式返回给数据调用方,不符合数据存储条件的或错误的源数据,记录错误信息提供给用户,待用户修正后重新转换并返回给数据调用方。
S240、通过数据存储器将格式转换后的源数据保存到数据库中。
在本发明实施例中,在另一docker容器中部署数据存储器。通过数据存储器,将取得的源数据存入Hadoop数据库中。
S250、通过索引生成单元确定reduce数量。
Hadoop数据库包括索引层、数据库和数据查询器,其中,索引层又包括索引生成单元、索引缓存单元和索引存储单元。
其中,索引生成单元中预设有索引生成规则,采用MapReduce原理生成索引文件。
S260、通过索引生成单元的map进程对源数据进行分区,并将各分区分发到各reduce进程中。
其中,reduce数量与源数据的分区的数量相匹配。
具体的,指定reduce数量为32,map进程对源数据检测输入格式之后,对源数据的key值进行计算并输出。map进程指定分区函数,对源数据进行分区,并将这些分区分发到32个reduce进程。
S270、通过索引生成单元的reduce进程对源数据的分区生成索引片段,并将各分区的索引片段进行合并,生成索引文件。
每个reduce接收分区数据后,基于本地磁盘创建lucene索引,每个reduce进程创建一个lucene索引写对象。lucene索引写对象会不断生成文档添加至索引,过程中lucene索引写对象会触发提交操作,对应生成多个索引片段。将索引片段合成为索引文件,然后将索引文件上传到Hadoop数据库,结束reduce进程。
S280、通过索引缓存单元根据缓存淘汰算法,将所述索引文件存储到索引存储单元中。
索引缓存单元内预设有LRU(Least recently used,最近最少使用)算法规则,也即缓存淘汰算法。索引文件生成之后,索引缓存单元将索引文件插入索引存储单元中的链表的头部,当链表存储满时,将链表尾部存储的索引文件丢弃。每当索引文件匹配的源数据被访问时,将索引文件的位置移至链表头部。
S290、通过数据库中的MapReduce模型,对数据库中的数据进行并行处理。
数据库中预设有MapReduce模型,采用MapReduce模型对数据库中的数据进行并行处理,可以保证系统的容错性。
具体的,首先要对Hadoop数据库中的数据进行输入分片,Hadoop数据库为每个输入分片构建一个map任务,在该map任务中调用map函数对分片中的每条数据记录进行处理,处理每个输入分片的时间小于处理整个数据所花的时间。
每个map任务在内存中都有一个对应的环形缓冲区,map任务开始产生输出后,先将数据存入环形缓冲区,当缓冲区存储内容达到阈值时,例如达到80%时,启动一个后台线程将内容溢出到本地磁盘。在溢出写的同时,map任务继续将输出存入到缓冲区,如果缓冲区填满,则需要阻塞等待写磁盘的过程完成,而这个后台线程将内容溢出到磁盘:首先根据这个数据最终要传的reducer,把数据分成相应的分区1、分区2、分区3……分区n,在每个分区中按照key在内存中对数据进行排序。在排序后得到的输出上运行合并,使得map的输出更加紧凑,从而减少写到磁盘的数据和传递给reducer的数据。最后,由于每次缓冲区内容达到阈值,都会产生一个溢出文件,最终在map任务结束时,可能会有多个溢出文件,在结束之前将这些溢出文件进行合并或者归并,形成一个输出文件。
由于map的输出位于运行该任务的节点的本地磁盘上,而reduce任务需要集群上若干个map任务的输出作为其分区文件。每个map任务完成时间可能不同,所以一旦有某个map任务完成时,reduce任务就开始复制其输出,reduce任务有5个复制线程,因此能并行地复制map的输出,当所有map的输出复制完毕后,将所有的map输出进行合并。
在本发明实施例中,MapReduce模型将输入数据集映射到key-value对集合,然后对所有包含相同key的key-value对完成归约,提高了Hadoop数据库的容错性。
S2100、判断是否接收到数据读取指令,若是,则执行S2110,否则执行S2140。
当接收到数据读取指令时,需要对Hadoop数据库中的数据进行读取。
S2110、向主节点转发所述数据读取指令。
主节点,也即NameNode节点,是指整个Hadoop数据库的管理节点,用于维护整个Hadoop数据库的文件目录树,维护文件/目录的元信息和每个文件对应的数据块列表,以及接收用户的操作请求。
主节点接收数据读取指令之后,对数据读取指令进行解析,并返回与数据读取指令匹配的全部数据标识,也即BlockId,以及BlockId所在的DataNode节点,也即从节点。
S2120、接收主节点反馈的与所述数据读取指令匹配的数据标识,以及与所述数据标识匹配的从节点。
Block(文件块)是最基本的存储单位,对于一个文件数据,从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。DataNode提供真实文件数据的存储服务,根据BlockId以及BlockId所在的DataNode,即可读取数据。
S2130、根据所述数据标识以及所述从节点,进行数据的读取。
在本发明实施例中,优先从本地的DataNode中读取Block,当从本地DataNode中读取Block异常时,通过网络从备份节点中进行数据读取。
S2140、结束。
具体适用场景一
图2b是本发明具体适用场景一提供的一种数据存储系统的结构示意图,如图2b所示,数据存储系统包括DevOps技术栈、docker容器A、docker容器B以及Hadoop。其中,DevOps技术栈中又包括Git仓库以及Jenkins工具,docker容器A中包括数据存储器,docker容器B中包括数据转换器和数据源。接器,Hadoop中又包括索引层、数据库和数据查询器。
Jenkins工具包括构建发布模块、测试模块、判断模块和创建镜像模块。数据存储系统的开发人员自测完成后,提交源代码至Git仓库,在DevOps技术栈的Jenkins中,点击构建发布,测试模块自动进行测试,并通过判断模块对测试结果进行判断,Jenkins将自动化测试的结果发送给已配置的开发人员,若测试没有问题,Jenkins会自动创建镜像,部署相应的数据存储系统至docker容器B中,若测试有问题,反馈至开发人员,对源代码进行修改,然后重新提交至Git仓库。
数据源连结器连接不同的数据源,数据转换器将从数据源获取的源数据根据格式转换规则进行处理加工。
将处理后的源数据中符合数据存储条件的源数据以json格式返回给数据调用方,不符合条件的或错误的源数据,记录错误信息,待用户修正后重新转换并返回给数据调用方。
通过数据存储器把取得的数据存入Hadoop数据库中,并由索引层中的索引生成单元根据预设的索引生成规则创建索引文件,由索引层中的索引缓存单元根据预设的LRU算法规则,将索引文件存储至索引层中的索引存储单元中。
采用Hadoop的MapReduce编程模型对数据进行并行处理,保证容错性。
客户端向NameNode节点申请读取文件时,NameNode节点返回文件所有对应的BlockId以及这些BlockId所在的DataNode节点列表,客户端优先从本地的DataNode中进行读取Block,否则通过网络从备份节点中进行读取。
实施例三
图3是本发明实施例三中的一种数据存储装置的结构示意图,该装置包括源数据格式转换模块310、源数据存储模块320以及索引文件存储模块330,其中:
源数据格式转换模块310,用于通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
源数据存储模块320,用于若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
索引文件存储模块330,用于通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
本实施例的技术方案,通过数据源连接器与不同的数据源建立连接,当需要抽取数据时,通过数据源连接器获取数据源的源数据,通过数据转换器对源数据进行格式转换,通过数据存储器,将符合数据存储条件的源数据保存到数据库中,通过索引生成单元生成源数据的索引文件,通过索引缓存单元将索引文件存储到索引存储单元中。解决了现有技术中的数据存储方式,不能对不同来源的异构数据进行存储的问题,实现了对不同来源的异构数据进行存储,从而实现对离散数据的整合。
在上述实施例的基础上,所述数据源连接器通过与数据源匹配的数据源连接器插件,与数据源进行连接;
所述数据源包括结构化数据源和/或非结构化数据源。
在上述实施例的基础上,源数据格式转换模块310,包括:
源数据格式转换单元,用于通过数据转换器将源数据根据格式转换规则进行格式转换;
所述格式转换规则包括:遍历源数据,生成字符列表和数字列表,并生成字符词典。
在上述实施例的基础上,索引文件存储模块330,包括:
reduce数量确定单元,用于通过索引生成单元确定reduce数量;
map分区单元,用于通过索引生成单元的map进程对源数据进行分区,并将各分区分发到各reduce进程中;其中,reduce数量与源数据的分区的数量相匹配;
索引文件生成单元,用于通过索引生成单元的reduce进程对源数据的分区生成索引片段,并将各分区的索引片段进行合并,生成索引文件。
在上述实施例的基础上,索引文件存储模块330,包括:
索引文件存储单元,用于通过索引缓存单元根据缓存淘汰算法,将所述索引文件存储到索引存储单元中。
在上述实施例的基础上,所述装置,还包括:
数据处理模块,用于通过数据库中的MapReduce模型,对数据库中的数据进行并行处理。
在上述实施例的基础上,所述装置,还包括:
数据读取指令转发模块,用于当接收到数据读取指令时,向主节点转发所述数据读取指令;
数据接收模块,用于接收主节点反馈的与所述数据读取指令匹配的数据标识,以及与所述数据标识匹配的从节点;
数据读取模块,用于根据所述数据标识以及所述从节点,进行数据的读取。
本发明实施例所提供的数据存储装置可执行本发明任意实施例所提供的数据存储方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器70、存储器71、输入装置72和输出装置73;计算机设备中处理器70的数量可以是一个或多个,图4中以一个处理器70为例;计算机设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据存储方法对应的模块(例如,数据存储装置中的源数据格式转换模块310、源数据存储模块320以及索引文件存储模块330)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的数据存储方法。该方法包括:
通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据存储方法,该方法包括:
通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据存储方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据存储装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
2.根据权利要求1所述的方法,其特征在于,所述数据源连接器通过与数据源匹配的数据源连接器插件,与数据源进行连接;
所述数据源包括结构化数据源和/或非结构化数据源。
3.根据权利要求1所述的方法,其特征在于,通过数据转换器对源数据进行格式转换,包括:
通过数据转换器将源数据根据格式转换规则进行格式转换;
所述格式转换规则包括:遍历源数据,生成字符列表和数字列表,并生成字符词典。
4.根据权利要求1所述的方法,其特征在于,通过索引生成单元生成源数据的索引文件,包括:
通过索引生成单元确定reduce数量;
通过索引生成单元的map进程对源数据进行分区,并将各分区分发到各reduce进程中;其中,reduce数量与源数据的分区的数量相匹配;
通过索引生成单元的reduce进程对源数据的分区生成索引片段,并将各分区的索引片段进行合并,生成索引文件。
5.根据权利要求1所述的方法,其特征在于,通过索引缓存单元将所述索引文件存储到索引存储单元中,包括:
通过索引缓存单元根据缓存淘汰算法,将所述索引文件存储到索引存储单元中。
6.根据权利要求1-5任一项所述的方法,其特征在于,通过数据存储器将格式转换后的源数据保存到数据库中之后,还包括:
通过数据库中的MapReduce模型,对数据库中的数据进行并行处理。
7.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当接收到数据读取指令时,向主节点转发所述数据读取指令;
接收主节点反馈的与所述数据读取指令匹配的数据标识,以及与所述数据标识匹配的从节点;
根据所述数据标识以及所述从节点,进行数据的读取。
8.一种数据存储装置,其特征在于,包括:
源数据格式转换模块,用于通过数据源连接器获取源数据,并通过数据转换器对源数据进行格式转换;其中,所述数据源连接器预先与至少两个数据源建立连接;
源数据存储模块,用于若确定格式转换后的源数据符合数据存储条件,则通过数据存储器将格式转换后的源数据保存到数据库中;
索引文件存储模块,用于通过索引生成单元生成源数据的索引文件,并通过索引缓存单元将所述索引文件存储到索引存储单元中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的数据存储方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115151.8A CN113868249A (zh) | 2021-09-23 | 2021-09-23 | 一种数据存储方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115151.8A CN113868249A (zh) | 2021-09-23 | 2021-09-23 | 一种数据存储方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113868249A true CN113868249A (zh) | 2021-12-31 |
Family
ID=78993379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111115151.8A Pending CN113868249A (zh) | 2021-09-23 | 2021-09-23 | 一种数据存储方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868249A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490623A (zh) * | 2022-04-01 | 2022-05-13 | 深圳新闻网传媒股份有限公司 | 基于信息流的大数据存储系统 |
-
2021
- 2021-09-23 CN CN202111115151.8A patent/CN113868249A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490623A (zh) * | 2022-04-01 | 2022-05-13 | 深圳新闻网传媒股份有限公司 | 基于信息流的大数据存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544623B2 (en) | Consistent filtering of machine learning data | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US10366053B1 (en) | Consistent randomized record-level splitting of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
WO2017101475A1 (zh) | 一种基于Spark大数据处理平台的查询方法 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN109669925B (zh) | 非结构化数据的管理方法及装置 | |
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
CN111984436A (zh) | 一种数据采集系统 | |
CN112307122A (zh) | 一种基于数据湖的数据管理系统及方法 | |
CN111949856A (zh) | 基于web的对象存储查询方法及装置 | |
CN114598597B (zh) | 多源日志解析方法、装置、计算机设备及介质 | |
CN113868249A (zh) | 一种数据存储方法、装置、计算机设备以及存储介质 | |
CN113568877A (zh) | 一种文件合并方法、装置、电子设备及存储介质 | |
CN111897828A (zh) | 数据批处理实现方法、装置、设备及存储介质 | |
CN114020446A (zh) | 一种跨多引擎的路由处理方法、装置、设备及存储介质 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN116414801A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN113626510A (zh) | 交易核对方法、装置、电子设备及存储介质 | |
CN113268483A (zh) | 请求处理方法和装置、电子设备和存储介质 | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN111767287A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN111222833A (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 |