一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据写入方法、装置、存储介质以及电子设备与流程

2022-05-08 05:54:57 来源:中国专利 TAG:


1.本发明涉及数据库领域,具体而言,涉及一种数据写入方法、装置、存储介质以及电子设备。


背景技术:

2.现有技术中,在客户端提交对数据库的操作请求,在服务器对客户端的数据进行处理得到处理结果之后,会将处理结果写入到分布式存储系统中。
3.然而,在将处理结果中的增量数据写入到分布式存储系统中时,每产生一条增量数据,均会在分布式存储系统中创建一个新的文件夹用于存储增量数据,造成分布式存储系统负担大。


技术实现要素:

4.本发明实施例提供了一种数据写入方法、装置、存储介质以及电子设备,以至少解决分布式存储系统负担大的技术问题。
5.根据本发明实施例的一个方面,提供了一种数据写入方法,包括:接收对数据库中的数据进行处理的处理请求;根据上述处理请求,对上述数据库中的数据进行处理,得到增量数据;将上述增量数据存储在内存中;在内存中的上述增量数据的数据量大小达到目标阈值的情况下,将上述增量数据写入到分布式存储系统中。
6.根据本发明实施例的另一方面,提供了一种数据写入装置,包括:接收模块,用于接收对数据库中的数据进行处理的处理请求;处理模块,用于根据上述处理请求,对上述数据库中的数据进行处理,得到增量数据;存储模块,用于将上述增量数据存储在内存中;写入模块,用于在内存中的上述增量数据的数据量大小达到目标阈值的情况下,将上述增量数据写入到分布式存储系统中。
7.作为一种可选的示例,上述存储模块包括:第一存储单元,用于将上述增量数据存储在本节点的内存中,并将上述增量数据发送到其他节点,由上述其他节点将上述增量数据存储在上述其他节点的内存中。
8.作为一种可选的示例,上述写入模块包括:第一写入单元,用于在本节点的内存中的上述增量数据的数据量大小达到目标阈值的情况下,将上述增量数据写入到上述分布式存储系统;或者在其他节点的内存中上述增量数据的数据量大小达到目标阈值的情况下,将上述增量数据写入到上述分布式存储系统。
9.作为一种可选的示例,上述存储模块包括:第二存储单元,用于按照上述增量数据产生的时间先后顺序,将上述增量数据存储在日志结构合并树中的各个树节点中。
10.作为一种可选的示例,上述写入模块包括:第二写入单元,用于按照上述增量数据在上述日志结构合并树中的顺序,将上述日志结构合并树中的各个树节点中的增量数据写入到上述分布式存储系统中。
11.作为一种可选的示例,上述写入模块包括:第三写入单元,用于将上述数据量大小
达到上述目标阈值的上述增量数据写入到一个文件夹中。
12.作为一种可选的示例,上述装置还包括:读取模块,用于在将上述增量数据写入到上述分布式存储系统中之后,在合并数据时,读取上述内存、上述文件夹中的上述增量数据和上述分布式存储系统的更新数据;合并模块,用于将上述增量数据和上述更新数据合并,得到返回数据。
13.根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述数据写入方法。
14.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的数据写入方法。
15.在本发明实施例中,采用了接收对数据库中的数据进行处理的处理请求;根据上述处理请求,对上述数据库中的数据进行处理,得到增量数据;将上述增量数据存储在内存中;在内存中的上述增量数据的数据量大小达到目标阈值的情况下,将上述增量数据写入到分布式存储系统中的方法,由于在上述方法中,在将增量数据存储到分布式存储系统中时,是先将增量数据存储在内存中,到达一定的大小后,再存储到分布式存储系统中,从而不必每产生增量数据就存储到分布式存储系统中,减轻了分布式存储系统的压力,解决了分布式存储系统负担大的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1是根据本发明实施例的一种可选的数据写入方法的流程图;
18.图2是根据本发明实施例的一种可选的数据写入方法的同步增量数据示意图;
19.图3是根据本发明实施例的一种可选的数据写入方法的监控增量数据示意图;
20.图4是根据本发明实施例的一种可选的数据写入方法的系统示意图;
21.图5是根据本发明实施例的一种可选的数据写入方法的日志结构合并树引擎执行示意图;
22.图6是根据本发明实施例的一种可选的数据写入装置的结构示意图;
23.图7是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
24.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
25.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.根据本发明实施例的第一方面,提供了一种数据写入方法,可选地,如图1所示,上述方法包括:
27.s102,接收对数据库中的数据进行处理的处理请求;
28.s104,根据处理请求,对数据库中的数据进行处理,得到增量数据;
29.s106,将增量数据存储在内存中;
30.s108,在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中。
31.可选地,本实施例中,客户端可以对数据库中的数据进行处理,如增删查改等操作。客户端向服务器发送处理请求,处理请求可以为结构化查询(structured query language,sql)语句,请求处理数据库中的数据。服务器在接收到客户端的处理请求后,响应处理请求对数据库中的数据进行处理。如增加数据,删除数据等。在处理数据之后,会有增量数据和更新数据,增量数据会被写入到分布式存储系统的新增的文件夹中,而更新数据会被更新到原有的文件夹中,替换掉更新前的数据。
32.本实施例中,可以每隔预定时长统计一次增量数据的数据量大小,如果数据量大小达到目标阈值,则将达到目标阈值的数据量的增量数据一次性写入到分布式存储系统中。
33.本实施例中,在将增量数据写入到分布式存储系统时,可以先将增量数据保存在内存中,在保存在内存中之后,先不执行写入到分布式存储系统的动作,而是等待增量数据的数据量大小达到目标阈值的时候,再将目标阈值大小的增量数据一次性写入到分布式存储系统中,从而降低分布式存储系统的负担。
34.可选地,本实施例中,除了增量数据还有更新数据,更新数据是响应处理请求对数据进行处理的过程中发生变化的数据。更新数据可以一次性写入到保存涉及到更新数据的更新文件夹。
35.作为一种可选的示例,将增量数据存储在内存中包括:
36.将增量数据存储在本节点的内存中,并将增量数据发送到其他节点,由其他节点将增量数据存储在其他节点的内存中。
37.可选地,本实施例中,对于每一个节点的增量数据,由于将增量数据存储在了内存中,并未及时的写入到分布式存储系统中,因此,可以将一个节点中的内存中的增量数据发送到其他节点,由其他节点也保存在内存中,由此,当有调用该增量数据的调用请求时,可以在对应的节点的内存中获取该增量数据,从而避免由于增量数据未写入到分布式存储系统中而造成的无法查找到增量数据的问题。如图2所示,节点1存储有增量数据1,将增量数据1同步到节点2,当数据请求方向节点2请求增量数据1时,节点2可以返回增量数据1。
38.作为一种可选的示例,在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中包括:
39.在本节点的内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据
写入到分布式存储系统;或者
40.在其他节点的内存中增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统。
41.可选地,本实施例中,由于一个节点的增量数据在存储到本节点的内存中时,还会被存储到其他节点的内存中,因此,在确定增量数据的数据量大小是否到达目标阈值时,可以确定每一个节点所产生的增量数据在本节点或者在其他节点中的数据量大小。例如,如图3所示。节点1和节点2的增量数据互相保存,记录每一个几点中的自身节点的增量数据和其他节点的增量数据的数据量大小,到达目标阈值的情况下,一次性写入到分布式存储系统中。
42.作为一种可选的示例,将增量数据存储在内存中包括:
43.按照增量数据产生的时间先后顺序,将增量数据存储在日志结构合并树中的各个树节点中。
44.可选地,本实施例中,当确定了所要写入到分布式存储系统中的增量数据时,可以按照增量数据产生的先后顺序或者获取到的先后顺序,将增量数据写入到日志结构合并树的各个树节点中。也就是说,本实施例中,在将增量数据存储在内存中时,对增量数据进行了排序,使增量数据带有顺序,从而写入到分布式存储系统中时更方便快捷。
45.作为一种可选的示例,在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中包括:
46.按照增量数据在日志结构合并树中的顺序,将日志结构合并树中的各个树节点中的增量数据写入到分布式存储系统中。
47.可选地,本实施例中,由于增量数据在内存中存储时,带有顺序,且存储在结构合并树中,因此,在将增量数据写入到分布式存储系统中时,可以按照顺序遍历日志结构树的每一个树节点,从而按照顺序将增量数据写入到分布式存储系统中。
48.作为一种可选的示例,在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中包括:
49.将数据量大小达到目标阈值的增量数据写入到一个文件夹中。
50.可选地,本实施例中,在将数据量大小达到目标阈值的增量数据写入到分布式存储系统时,可以在分布式存储系统中新增一个文件夹,将增量数据写入到该一个文件夹中。每一次写入增量数据可以新增一个文件夹,写入增量数据。文件夹可以根据本次写入的增量数据的属性命名。
51.作为一种可选的示例,方法还包括:
52.在将增量数据写入到分布式存储系统中之后,在合并数据时,读取内存、文件夹中的增量数据和分布式存储系统的更新数据;
53.将增量数据和更新数据合并,得到返回数据。
54.可选地,本实施例中,当增量数据被写入到分布式存储系统中之后,可以对数据进行合并,以便后续读取。合并时,可以将内存中存储的增量数据、新增文件夹中的增量数据以及更新文件夹中的更新数据进行合并,并压缩,得到返回数据。直接读取返回数据即可,读取数据效率更高。
55.结合一个示例进行说明。图4为本实施例的系统示意图。本实施例中,客户端提交
任务至数据仓库工具服务器,数据仓库工具服务器与数据仓库工具的元数据存储模块沟通后获取元数据,通过数据仓库工具的查询服务来提交任务。如果提交任务为写入,则通过分布式引擎采用日志结构合并树的索引结构,将每次写入的数据先缓存至内存中并排序,到达一定阈值后,再写入分布式文件系统的增量文件夹中,同时解决了小文件过多与内存利用不充分的问题。同时,因为数据在内存中以排好序,使得写入操作由随机写变为了顺序写,大大的提升了读写速度。图5为本实施例的写入的示意图。若为覆盖写入,则通过数据挖掘服务,将分布式文件系统中的正常文件夹中原来路径上的数据覆盖,更新数据。
56.本实施例中,数据会在内存中保存一段时间,所以在开始时,可以将数据复制至其他节点的内存中。
57.数据先写入内存,此时的数据结构为一颗平衡树,能保证数据写入时,复杂度为o(logn),也就是数据量增大一定的程度,写入所消耗的时间少量增加,从而提高读写速度。当增量数据达到一定阈值时,将内存的数据写入分布式文件系统hdfs中。此时数据写入为顺序写,且文件大小较大,能够有效提升读写性能。因数据写入均为有序,后台服务进程可以使用外部归并排序来高效的合并数据读取数据的流程则变为:先读取内存中的数据,再读取hdfs增量文件夹下的数据,最后读取基本数据,将三者合并后返回结果。
58.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
59.根据本技术实施例的另一方面,还提供了一种数据写入装置,如图6所示,包括:
60.接收模块602,用于接收对数据库中的数据进行处理的处理请求;
61.处理模块604,用于根据处理请求,对数据库中的数据进行处理,得到增量数据;
62.存储模块606,用于将增量数据存储在内存中;
63.写入模块608,用于在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中。
64.可选地,本实施例中,客户端可以对数据库中的数据进行处理,如增删查改等操作。客户端向服务器发送处理请求,处理请求可以为结构化查询(structured query language,sql)语句,请求处理数据库中的数据。服务器在接收到客户端的处理请求后,响应处理请求对数据库中的数据进行处理。如增加数据,删除数据等。在处理数据之后,会有增量数据和更新数据,增量数据会被写入到分布式存储系统的新增的文件夹中,而更新数据会被更新到原有的文件夹中,替换掉更新前的数据。
65.本实施例中,可以每隔预定时长统计一次增量数据的数据量大小,如果数据量大小达到目标阈值,则将达到目标阈值的数据量的增量数据一次性写入到分布式存储系统中。
66.本实施例中,在将增量数据写入到分布式存储系统时,可以先将增量数据保存在内存中,在保存在内存中之后,先不执行写入到分布式存储系统的动作,而是等待增量数据的数据量大小达到目标阈值的时候,再将目标阈值大小的增量数据一次性写入到分布式存储系统中,从而降低分布式存储系统的负担。
67.可选地,本实施例中,除了增量数据还有更新数据,更新数据是响应处理请求对数据进行处理的过程中发生变化的数据。更新数据可以一次性写入到保存涉及到更新数据的更新文件夹。
68.作为一种可选的示例,上述存储模块包括:
69.第一存储单元,用于将增量数据存储在本节点的内存中,并将增量数据发送到其他节点,由其他节点将增量数据存储在其他节点的内存中。
70.可选地,本实施例中,对于每一个节点的增量数据,由于将增量数据存储在了内存中,并未及时的写入到分布式存储系统中,因此,可以将一个节点中的内存中的增量数据发送到其他节点,由其他节点也保存在内存中,由此,当有调用该增量数据的调用请求时,可以在对应的节点的内存中获取该增量数据,从而避免由于增量数据未写入到分布式存储系统中而造成的无法查找到增量数据的问题。如图2所示,节点1存储有增量数据1,将增量数据1同步到节点2,当数据请求方向节点2请求增量数据1时,节点2可以返回增量数据1。
71.作为一种可选的示例,上述写入模块包括:
72.第一写入单元,用于在本节点的内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统;或者在其他节点的内存中增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统。
73.可选地,本实施例中,由于一个节点的增量数据在存储到本节点的内存中时,还会被存储到其他节点的内存中,因此,在确定增量数据的数据量大小是否到达目标阈值时,可以确定每一个节点所产生的增量数据在本节点或者在其他节点中的数据量大小。例如,如图3所示。节点1和节点2的增量数据互相保存,记录每一个几点中的自身节点的增量数据和其他节点的增量数据的数据量大小,到达目标阈值的情况下,一次性写入到分布式存储系统中。
74.作为一种可选的示例,上述存储模块包括:
75.第二存储单元,用于按照增量数据产生的时间先后顺序,将增量数据存储在日志结构合并树中的各个树节点中。
76.可选地,本实施例中,当确定了所要写入到分布式存储系统中的增量数据时,可以按照增量数据产生的先后顺序或者获取到的先后顺序,将增量数据写入到日志结构合并树的各个树节点中。也就是说,本实施例中,在将增量数据存储在内存中时,对增量数据进行了排序,使增量数据带有顺序,从而写入到分布式存储系统中时更方便快捷。
77.作为一种可选的示例,上述写入模块包括:
78.第二写入单元,用于按照增量数据在日志结构合并树中的顺序,将日志结构合并树中的各个树节点中的增量数据写入到分布式存储系统中。
79.可选地,本实施例中,由于增量数据在内存中存储时,带有顺序,且存储在结构合并树中,因此,在将增量数据写入到分布式存储系统中时,可以按照顺序遍历日志结构树的每一个树节点,从而按照顺序将增量数据写入到分布式存储系统中。
80.作为一种可选的示例,上述写入模块包括:
81.第三写入单元,用于将数据量大小达到目标阈值的增量数据写入到一个文件夹中。
82.可选地,本实施例中,在将数据量大小达到目标阈值的增量数据写入到分布式存
储系统时,可以在分布式存储系统中新增一个文件夹,将增量数据写入到该一个文件夹中。每一次写入增量数据可以新增一个文件夹,写入增量数据。文件夹可以根据本次写入的增量数据的属性命名。
83.作为一种可选的示例,上述装置还包括:
84.读取模块,用于在将增量数据写入到分布式存储系统中之后,在合并数据时,读取内存、文件夹中的增量数据和分布式存储系统的更新数据;
85.合并模块,用于将增量数据和更新数据合并,得到返回数据。
86.可选地,本实施例中,当增量数据被写入到分布式存储系统中之后,可以对数据进行合并,以便后续读取。合并时,可以将内存中存储的增量数据、新增文件夹中的增量数据以及更新文件夹中的更新数据进行合并,并压缩,得到返回数据。直接读取返回数据即可,读取数据效率更高。
87.本实施例的其他示例请参见上述示例,在此不在赘述。
88.图7是根据本技术实施例的一种可选的电子设备的结构框图,如图7所示,包括处理器702、通信接口704、存储器706和通信总线708,其中,处理器702、通信接口704和存储器706通过通信总线708完成相互间的通信,其中,
89.存储器706,用于存储计算机程序;
90.处理器702,用于执行存储器706上所存放的计算机程序时,实现如下步骤:
91.接收对数据库中的数据进行处理的处理请求;
92.根据处理请求,对数据库中的数据进行处理,得到增量数据;
93.将增量数据存储在内存中;
94.在内存中的增量数据的数据量大小达到目标阈值的情况下,将增量数据写入到分布式存储系统中。
95.可选地,在本实施例中,上述的通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
96.存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
97.作为一种示例,上述存储器706中可以但不限于包括上述请求的处理装置中的接收模块602、处理模块604、存储模块606以及写入模块608。此外,还可以包括但不限于上述请求的处理装置中的其他模块单元,本示例中不再赘述。
98.上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
99.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
100.本领域普通技术人员可以理解,图7所示的结构仅为示意,实施上述请求的处理方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图7其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示的不同的配置。
101.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
102.根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述数据写入方法中的步骤。
103.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
104.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
105.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
106.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
107.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
108.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
109.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
110.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献