首页 / 数据库写数据方法及读数据方法、数据库

数据库写数据方法及读数据方法、数据库无效专利 发明

技术领域

[0001] 本发明涉及数据库技术领域,特别是涉及一种数据库写数据方法以及一种数据库读数据方法。本发明还涉及一种数据库。

相关背景技术

[0002] 数据库的本质是将数据以一种结构化的形式存储在硬盘中。随着软件业务需求的提升,为满足业务数据的存储需要,解决不同业务数据的存储问题,各类数据库产品层出不穷,其中包括关系型数据库和非关系型数据库。
[0003] 现有的数据库产品,需要安装独立的数据库程序,在应用内部通过数据库驱动与数据库程序连接通讯,然而额外的数据库部署占用了更多的硬件资源,并且数据读写过程需要经历一系列的控制流程。

具体实施方式

[0033] 为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0034] 本实施例的数据库写数据方法中,建立文件夹,在文件夹中建立文件,在文件中存储数据块,实现将数据存储到数据库。请参考图1,图1为本实施例提供的一种数据库写数据方法的流程图,如图所示,所述数据库写数据方法包括以下步骤:
[0035] S10:当获取到待写入数据时,根据所述待写入数据预置缓存块。
[0036] 当获取到待写入数据时,根据待写入数据预置缓存块,缓存块用于暂时地存储数据。所设置的缓存块要与待写入数据匹配。
[0037] S11:将所述待写入数据写入所述缓存块。
[0038] S12:通过预先建立的文件通道,将所述缓存块中数据写入预先建立的文件,其中在预先建立的文件夹中建立文件。
[0039] 通过预先建立的文件通道,从缓存块中读取待写入数据,将数据写入到预先建立的文件中,从而将数据存储到数据库。
[0040] 本实施例的数据库写数据方法,建立文件夹以及在文件夹中建立文件,将数据存储写入文件,实现将数据存储,通过文件方式将数据存储,能够实现快速地写数据,并且与现有数据库存储数据的方式相比,不需要复杂的数据库部署和控制程序,实现了一种轻量化的数据库方案。
[0041] 可选的,步骤S10中根据待写入数据预置缓存块包括:根据所述待写入数据,建立长度与所述待写入数据的长度一致的缓存块。设置缓存块的长度与待写入数据的长度一致,这样在保证能够将待写入数据完整写入到缓存块的前提下,避免占用较多存储空间,节省系统资源。
[0042] 具体的,若待写入数据包括一条数据记录,则待写入数据的长度为该条数据记录的长度。若待写入数据包括多条数据记录,则待写入数据的长度为包括的各条数据记录的长度之和。
[0043] 可选的,可根据待写入数据的类型确定待写入数据的长度。示例性的,数据的类型包括双精度浮点类型、单精度浮点类型、长整数类型、整数类型、短整数类型和字节类型,各基本类型对应的字节长度分别为:双精度浮点类型‑64字节,单精度浮点类型‑32字节,长整数类型‑64字节,整数类型‑32字节,短整数类型‑16字节,字节类型‑8字节。
[0044] 可以将应用产生的数据记录抽象为对象,即将数据记录定义为对象。比如将产生的一条数据记录定义为对象A,对象A内部数据定义:第一个字段为整数类型,长度为32字节,第二个字段为双精度浮点类型,长度为64字节,第三个字段为字节类型,长度为8字节。则本数据记录的长度为32+64+8=104字节。
[0045] 若应用产生的每条数据记录的长度一定,那么待写入数据的长度=数据记录的长度*数据记录的数量。缓存块的长度与待写入数据的长度一致。
[0046] 可选的,步骤S11中将待写入数据写入缓存块包括:通过所述缓存块的写指针,将所述待写入数据写入所述缓存块。缓存块存在写指针和读指针,默认写指针和读指针指向缓存块的头部位置,通过写指针将数据写入缓存块后,此时写指针指向缓存块的尾部位置。
[0047] 通过文件通道能够读取缓存块内数据,将数据写入文件。在步骤S12中通过预先建立的文件通道,将缓存块中数据写入预先建立的文件包括:所述文件通道通过所述缓存块的读指针,读取所述缓存块中数据,将数据写入预先建立的文件。文件通道通过缓存块的读指针,读取缓存块中数据,将数据写入预先建立的文件尾部。文件通道能够获取到文件的尾指针位置,从而根据文件的尾指针位置,通过文件通道将数据写入文件尾部。
[0048] 将缓存块中的待写入数据写入文件后,完成数据的写操作,此时缓存块的读指针和写指针在缓存块尾部重合。此时缓存块中数据全部清空,可以将读指针和写指针归位即指向缓存块的头部位置,供下一次读写。可选的,将缓存块中数据写入预先建立的文件后,可以保留缓存块或者将缓存块删除。
[0049] 本实施例的数据库写数据方法可以用于对应用产生的业务数据进行存储,对应用业务产生的流式数据进行存储。流式数据是应用业务流程中产生的一种数据块,每一种类型的数据块大小相同,且相同偏移量存储的数据属性一致。本方法应用于流式数据,实现了数据库的快速写数据。
[0050] 本实施例还提供一种数据库读数据方法,其中建立文件夹,在文件夹中建立文件,在文件中存储数据块,实现将数据存储到数据库。请参考图2,图2为本实施例提供的一种数据库读数据方法的流程图,如图所示,所述数据库读数据方法包括以下步骤:
[0051] S20:从文件中查找要读取数据,根据所述要读取数据预置缓存块,其中在预先建立的文件夹中建立文件。
[0052] 当获取到读请求时,查找要读取数据所在的文件,从文件中查找要读取数据。并根据要读取数据预置缓存块,缓存块用于暂时存储要读取数据。所设置的缓存块要与要读取数据匹配。
[0053] S21:通过预先建立的文件通道,从文件中读取所述要读取数据,将数据写入所述缓存块。
[0054] 通过预先建立的文件通道,从文件中读取要读取数据,将该数据写入缓存块。
[0055] S22:从所述缓存块获取所述要读取数据。从缓存块获取要读取数据,从而实现从数据库读取数据。
[0056] 本实施例的数据库读数据方法,建立文件夹以及在文件夹中建立文件,将数据存储到文件,实现将数据存储,通过文件方式将数据读取,能够实现快速地读数据,并且与现有数据库存储数据的方式相比,不需要复杂的数据库部署以及控制程序,实现了一种轻量化的数据库方案。
[0057] 可选的,在步骤S20中根据要读取数据预置缓存块包括:设置所述缓存块的长度与所述要读取数据的长度一致。这样在保证能够将要读取数据完整写入到缓存块的前提下,避免占用较多存储空间,节省系统资源。
[0058] 具体的,若要读取数据包括一条数据记录,则要读取数据的长度为该条数据记录的长度。若要读取数据包括多条数据记录,则要读取数据的长度为包括的各条数据记录的长度之和。确定数据长度或者数据记录长度的具体实施方式可参考上述数据库写数据方法中相应描述,这里不再赘述。
[0059] 可选的,在步骤S21中通过预先建立的文件通道,从文件中读取要读取数据包括:根据所述要读取数据的长度、所述文件尾指针的位置计算偏移量;根据所述偏移量控制所述文件尾指针的位置移动,通过所述文件通道,从所述文件中读取所述要读取数据。
[0060] 根据要读取数据的长度、文件尾指针的位置计算出从文件中读取该要读取数据,文件尾指针的位置进行移动所需要的偏移量。进而根据得到的偏移量,控制文件尾指针移动,通过文件通道从文件中其尾指针位置读取要读取数据,将数据写入缓存块。
[0061] 优选的,在步骤S22中从缓存块获取要读取数据包括:所述要读取数据包括多条数据记录,从所述缓存块依次地分别获取各条数据记录。若要读取数据包括多条数据记录,可以将缓存块分段分别读取,具体可以按照数据记录的长度将缓存块内数据分段,分段长度与数据记录的长度一致。
[0062] 可选的,读操作完成后可以根据需要将缓存块删除或者保留。
[0063] 本实施例的数据库读数据方法可以用于对应用产生的业务数据进行读取,对应用业务产生的流式数据进行读取。流式数据是应用业务流程中产生的一种数据块,每一种类型的数据块大小相同,且相同偏移量存储的数据属性一致。本方法应用于流式数据,实现了数据库的快速读数据。
[0064] 相应的,本实施例还提供一种数据库,采用以上所述的数据库写数据方法或者数据库读数据方法。
[0065] 本实施例的数据库,建立文件夹以及在文件夹中建立文件,将数据存储写入文件,实现将数据存储,通过文件方式将数据存储或者读取,能够实现快速地写数据或者读数据,并且与现有数据库存储数据的方式相比,不需要复杂的数据库部署和控制程序,实现了一种轻量化的数据库方案。
[0066] 可参考图3,图3为本实施例提供的一种数据库的示意图,如图所示,建立文件夹30,在文件夹30中建立文件31,在文件31中存储数据块。本实施例的数据库采用文件方式将数据存储或者读取,它的层次结构与传统数据库层次结构对应为:文件夹‑数据库、文件‑表、数据块‑行、数据库头属性‑行ID。
[0067] 以上对本发明所提供的数据库写数据方法及读数据方法、数据库进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页 第1页 第2页 第3页
相关技术
数据方法相关技术
数据库写相关技术
陈懿鹏发明人的其他相关专利技术