CN114238320A - 基于关系型数据库的数据存储方法与数据读取方法 - Google Patents
基于关系型数据库的数据存储方法与数据读取方法 Download PDFInfo
- Publication number
- CN114238320A CN114238320A CN202111497579.3A CN202111497579A CN114238320A CN 114238320 A CN114238320 A CN 114238320A CN 202111497579 A CN202111497579 A CN 202111497579A CN 114238320 A CN114238320 A CN 114238320A
- Authority
- CN
- China
- Prior art keywords
- file
- preset table
- relational database
- stored
- 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
- G06F16/2228—Indexing 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/23—Updating
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于关系型数据库的数据存储方法与数据读取方法,存储方法中,服务器根据终端发送的文件存储请求,获取文件存储请求对应的待存储文件的文件信息;接着生成待存储文件对应的序列号,将序列号和文件信息存储至第一预设表中,并将第一预设表的状态设置为不可被索引;再将序列号和待存储文件存储至第二预设表中,即服务器将待存储文件夹写入数据中;最后当数据库生成待存储文件对应的存储成功信息时,将第一预设表的状态设置为可被索引。由此,当实现了文件存储失败时,由于第一预设表不可被索引,第二预设表中不包含待读取文件的文件名,服务器无法返回待读取文件至终端,避免了服务器将存储的错误数据发送给终端的情况。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种基于关系型数据库的数据存储方法与数据读取方法。
背景技术
由于关系型数据库采用了二维表模型来建立数据之间的联系,并利用结构化查询语言作为数据读写的入口,使得使用户可方便地完成数据存储和查询。
但是,针对如文本、图片、各类报表、图像以及音视频等非结构数据,关系型数据库难以有效地完成非结构数据的存储和查询,难以满足复杂业务场景的需求。
发明内容
有鉴于此,本发明提供一种基于关系型数据库的数据存储方法与数据读取方法,用于改善关系型数据库难以有效地完成非结构数据的存储和查询的现状。
第一方面,本发明实施例提供一种基于关系型数据库的数据存储方法,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述方法包括:
响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小;
生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引;
将所述序列号和所述待存储文件存储至所述第二预设表中;
当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
可选的,在本发明实施例提供的一种实施方式中,所述方法还包括:
当所述关系型数据库生成所述待存储文件对应的存储失败信息时,将所述第一预设表和所述第二预设表删除。
可选的,在本发明实施例提供的一种实施方式中,所述文件信息还包括当前时间戳;
所述生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引之后,所述当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引之前,所述方法还包括:
获取当前时间和所述第一预设表对应的不可索引最长时间;
判断所述当前时间和所述当前时间戳的时间差是否超过所述不可索引最长时间;
若是,将所述第一预设表和所述第二预设表删除。
进一步的,在本发明实施例提供的一种实施方式中,所述方法还包括:
若否,执行当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引的步骤。
可选的,在本发明实施例提供的一种实施方式中,所述将所述序列号和所述待存储文件的数据存储至所述第二预设表中,包括:
接收所述待存储文件的每个分块的数据和每个所述分块的序号;
将每个所述分块的数据与序号以及所述序列号存储至所述第二预设表中。
第二方面,本发明实施例提供一种基于关系型数据库的数据读取方法,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过如第一方面中任一项所述的基于关系型数据库的数据存储方法存储,所述方法包括:
响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小;
若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号;
将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
第三方面,本发明实施例提供一种基于关系型数据库的数据存储装置,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述装置包括:
存储响应模块,用于响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小;
第一存储模块,用于生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引;
第二存储模块,用于将所述序列号和所述待存储文件存储至所述第二预设表中;
状态更新模块,用于当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
第四方面,本发明实施例提供一种基于关系型数据库的数据读取装置,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过如第三方面中所述的基于关系型数据库的数据存储装置存储,所述读取装置包括:
读取响应模块,用于响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小;
获取模块,用于若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号;
发送模块,用于将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
第五方面,本发明实施例提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的基于关系型数据库的数据存储方法,或如第二方面所述的基于关系型数据库的数据读取方法。
第六方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的基于关系型数据库的数据存储方法,或如第二方面所述的基于关系型数据库的数据读取方法。
本发明实施例提供的基于关系型数据库的数据存储方法中,服务器根据终端发送的文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息;接着,服务器生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引,以保证在待存储文件成功写入所述关系型数据库之前,外部接口无法获取第一预设表中的数据;再将所述序列号和所述待存储文件存储至所述第二预设表中,即服务器将待存储文件夹写入所述关系型数据中;最后,当所述关系型数据库生成所述待存储文件对应的存储成功信息时,服务器将所述第一预设表的状态设置为可被索引,使得外部接口可访问所述关系型数据库中的第一预设表以得到待读取文件的序列号,进而可获取包含待读取文件的序列号的第二预设表中的文件。
由此,若待存储文件写入第二预设表失败,而终端欲通过包含待读取文件的文件读取进行文件读取时,由于服务器中的第一预设表不可被索引,第二预设表中不包含待读取文件的文件名,进而服务器无法返回待读取文件至终端,避免了服务器将存储的错误数据或不完整数据返回给终端的情况。不仅如此,由于第一预设表的状态仅在待存储文件成功写入第二预设表之后才被设置为可被索引,本发明实施例保证了服务器根据终端的请求而返回的数据的完整性和有效性,并满足了将文件存储至关系型数据库的业务需求。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的基于关系型数据库的数据存储方法的流程示意图;
图2示出了本发明实施例提供的基于关系型数据库的数据读取方法的流程示意图;
图3示出了本发明实施例提供的基于关系型数据库的数据存储装置的结构示意图;
图4示出了本发明实施例提供的基于关系型数据库的数据读取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
参照图1,图1示出了本发明实施例提供的基于关系型数据库的数据存储方法的流程示意图,本发明实施例提供的基于关系型数据库的数据存储方法应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述方法包括:
S110,响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小。
可以理解的是,本发明实施例提供的基于关系型数据库的数据存储方法应用于C/S(Client/Server,客户机/服务器)架构中的服务器,用于根据客户机,即终端发送的请求执行相应的操作,如根据终端发送的文件存储请求和待存储文件,将待存储文件存储至服务器的存储器中。
进一步的,本发明实施例中的服务器中搭载有关系型数据库,关系型数据库用于存储终端发送的待存储文件。关系型数据库中设置有第一预设表和第二预设表,第一预设表用于存储待存储文件的文件信息,如文件名和文件大小;第二预设表用于存储待存储文件。
更进一步的,终端将待存储文件存储至服务器的过程可包括:终端根据待存储文件的文件信息生成文件存储请求,将文件存储请求发送至服务器;服务器接收到文件存储请求,并解析出文件信息后,生成待存储文件的序列号,以将序列号和文件信息存储至第一预设表中,并向终端发送存储请求确认信息;终端接收到存储请求确认信息后,向服务器发送待存储文件,以使服务器接收待存储文件并存储至第二预设表中。
需理解的是,终端将待存储文件存储至服务器的具体过程可根据实际情况设置,本发明实施例对此不进行限定。如在一种可实现的方式中,终端在发送文件存储请求的同时,还将待存储文件一并发送至服务器,以使服务器同时对第一预设表和第二预设表进行写入。
还需理解的是,文件信息用于在待存储文件被成功写入关系型数据库之后,标识数据库中的文件。示范性的,若终端发送包含文件名或文件大小的数据读取请求至服务器,服务器根据数据读取请求中待读取文件的文件名或文件大小,搜索包含待读取文件的文件名或文件大小的第一预设表,进而确定数据库中的待读取文件,从而将待读取文件发送至终端。
还需理解的是,文件信息包含的具体内容亦可根据实际情况设置,如在一种可行方式中,文件信息除包括文件名和文件大小外,还包括待存储文件对应的哈希值。
此外,需明确的是,本发明实施例公开的基于关系型数据库的数据存储方法描述的是一个待存储文件的存储过程,其中,一个待存储文件对应一张第一预设表和一张第二预设表。但本发明实施例可应用于多个待存储文件需存储的情况,即在服务器需存储多个待存储文件时,服务器将为每个待存储文件生成对应的第一预设表和第二预设表,以实现多个待存储文件的存储。
S120,生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引。
也即,本发明实施例中的服务器在得到待存储文件的文件信息后,将生成待存储文件对应的唯一字符串,即序列号;再将序列号和文件信息写入关系型数据库中的第一预设表中,并将第一预设表的状态设置为不可被索引,即第一预设表的任意一个元素均不能被外部接口访问。不难理解的,若第一预设表的状态为不可被索引,则当服务器欲将第一预设表中的数据发送至终端时,服务器无法获取和发送第一预设表中的数据给终端。
S130,将所述序列号和所述待存储文件存储至所述第二预设表中。
也即,将待存储文件的唯一标识字符串和待存储文件存储至第二预设表中。可以理解的是,第一预设表和第二预设表均包含待存储文件的序列号,二者相互关联。
可选的,在本发明实施例提供的一种实施方式中,S130包括:
接收所述待存储文件的每个分块的数据和每个所述分块的序号;
将每个所述分块的数据与序号以及所述序列号存储至所述第二预设表中。
也即,终端将待存储文件拆分为多个分块之后,将待存储文件对应的多个分块和每个分块的序号发送至服务器;服务器根据序号和分块将待存储文件存储至第二预设表,以完成待存储文件的存储。在一种可实现的方式中,分块的序号为分块在待存储文件的偏移量。
由此,在待存储文件的文件较大时,终端可将待存储文件拆分以使服务器将待存储文件以分块的形式的存储,实现了待存储文件的合理存储,并降低了服务器存储较大文件的过程中发生错误的风险。
可以理解的是,本发明实施例并不限定终端发送分块给服务器,服务器接收分块并存储的具体过程,具体可根据实际情况设置。
如在一种可行的方式中,终端将待存储文件拆分成多个分块,并按照顺序生成序号后,终端按照所有分块的序号顺序,逐个发送分块和分块的序号至服务器;服务器在接收到分块和分块的序号后,将分块和分块的序号写入第二预设表后,写入成功后向终端发送分块存储完成信息;终端接收到分块存储完成信息后,发送下一分块和下一分块的序号至服务器。由此保证待存储文件的平稳存储。
而在另一种可实现的方式中,终端在同一时间内发送预设数量的分块和对应的序号发送至服务器,服务器同时接收预设数量的分块和对应的序号,并以并发的方式将每个分块和每个分块的序号存储至第二预设表中,进而高效地完成文件存储。
S140,当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
也即,在本发明实施例中,在待存储文件成功写入关系型数据库的第二预设表,即关系型数据库已验证存储至第二预设表的文件是完整且有效的之后,将生成一个对应于待存储文件的存储成功信息,以使服务器执行后续流程。
而服务器中的关系型数据库生成待存储文件对应的存储成功信息时,服务器将关系型数据库中的第一预设表的状态设置为可被索引,即第一预设表中的任意一个元素均可外部接口访问。
需理解的是,关系型数据库存储如文本、图片、各类报表、图像以及音视频等非结构数据时,由于关系型数据库的架构设置以及存储方式,非结构数据容易在存储的过程中丢失部分数据,导致关系型数据库中存储的非结构数据不完整或错误,使得终端难以从服务器的关系型数据库中获取正确的文件。
基于此,本发明实施例利用第一预设表存储待存储文件的文件信息和标识待存储文件的序列号,利用第二预设表存储待存储文件,并在待存储文件成功写入第二预设表之前,保持第一预设表的状态为不可索引。
由此,若待存储文件写入关系型数据库中的第二预设表失败,而终端欲通过包含待读取文件的文件读取进行文件读取时,由于服务器中的第一预设表不可被索引,第二预设表中不包含待读取文件的文件名,进而服务器无法返回待读取文件至终端,避免了服务器将存储的错误数据或不完整数据返回给终端的情况。
不仅如此,由于第一预设表的状态仅在待存储文件成功写入第二预设表成功之后才被设置为可被索引,保证了服务器根据终端的请求而返回的数据的完整性和有效性,并满足了将文件存储至关系型数据库的业务需求。
可选的,在本发明实施例提供的一种实施方式中,S130之后,所述方法还包括:
当所述关系型数据库生成所述待存储文件对应的存储失败信息时,将所述第一预设表和所述第二预设表删除。
也即,当待存储文件并未成功地写入关系型数据库中,使得关系型数据库生成存储失败信息时,服务器将待存储文件对应的第一预设表和第二预设表均删除,以消除存储失败的待存储文件所造成的存储空间浪费。
进一步的,在一种可选方式中,服务器在删除待存储文件对应的第一预设表和第二预设表后,还将向终端发送对应于待存储文件的存储失败通知信息,以告知终端发送的待存储文件写入数据库失败,进而终端可重新发送文件存储请求和待存储文件至服务器,使服务器再次执行将待存储文件写入至关系型数据库的步骤。
可选的,在本发明实施例提供的一种实施方式中,所述文件信息还包括当前时间戳;
进而,S120之后,S140之前,所述方法还包括:
获取当前时间和所述第一预设表对应的不可索引最长时间;
判断所述当前时间和所述当前时间戳的时间差是否超过所述不可索引最长时间;
若是,将所述第一预设表和所述第二预设表删除。
也即,服务器在将文件信息和序列号写入第一预设表,将第一预设表的状态设置为不可索引之后,将获取第一预设表对应的不可索引最长时间,即第一预设表的状态为不可索引的最长时间。不难理解的是,文件信息中的时间戳用于表示终端生成文件存储请求的时间。需说明的是,在此种实施方式中,数据库中的第一预设表在初始化时,均会被对应设置一个不可索引最长时间。
可以理解的是,文件的存储过程应在预设时长内完成,若文件未在预设时长内完成存储,可认定服务器在将待存储文件写入数据库时发生了预料不到的错误,导致存储过程终止,进而无法在预设时长内存储完成。而在本发明实施例中,待存储文件的存储过程完成时,第一预设表的状态将被设置为可被索引,由此可通过判断待存储文件的状态为可被索引的时间是否超过预设时长,即不可索引最长时间来判断待存储文件的存储过程是否被正常执行。
具体的,服务器将获取当前时间,以将当前时间与第一预设表中的时间戳做差,进而得到时间差,并判断时间差是否超过不可索引最长时间,即判断待存储文件是否在不可索引最长时间内,被成功写入第二预设表。
进一步的,若关系型数据库中同时包括多个状态为不可索引的第一预设表,则服务器在获取当前时间后,将与每个状态为不可索引的第一预设表中的时间戳做差,得到每个状态为不可索引的第一预设表对应的时间差,进而在任意一个第一预设表对应的时间差超过不可索引最长时间时,删除时间差超过不可索引最长时间的第一预设表。
还可理解的是,本发明实施例不限定服务器获取当前时间的时机,具体可根据实际情况设置。如在一种可行方式中,服务器将在第一预设表被设置为不可索引后,不断地获取当前时间以与第一预设表中的时间戳做差,进而得到时间差,从而实时判断时间差是否超过不可索引最长时间。
而在另一种可行方式中,服务器将在第一预设表被设置为不可索引后,每隔预设时长后就获取一次当前时间,以减少服务器计算时间差所需的资源。
而在关系型数据库中同时包括多个状态为不可索引的第一预设表的情况下,服务器可每隔预设时长获取一次当前时间,并获取关系型数据库中所有的状态为不可索引的第一预设表,以进行时间差的计算和相应的判断流程。
若时间差超过不可索引最长时间,则服务器认定待存储文件写入失败,并将第一预设表和第二预设表删除,以避免写入失败的文件浪费服务器的存储空间。
可选的,在服务器确定时间差超过不可索引最长时间,并将所述第一预设表和所述第二预设表删除后,服务器还可向终端发送对应于待存储文件的存储失败通知信息,以使终端可再次发送待存储文件和存储请求至服务器,服务器再次执行存储流程。
若时间差未超过不可索引最长时间,即待存储文件在不可索引最长时间内被成功写入第二预设表,则服务器正常执行相应流程,即S140。
由此,本发明实施例进一步保证了待存储文件的有效存储,避免了当待存储文件写入关系型数据库时发生错误时,导致服务器存储了无用的第一预设表和第二预设表的情况。
与上述基于关系型数据库的数据存储方法相对应的,本发明实施例还提供一种基于关系型数据库的数据读取方法,参照图2,图2示出了本发明实施例提供的基于关系型数据库的数据读取方法的流程示意图,本发明实施例提供的基于关系型数据库的数据读取方法应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过如图1示出的方法实施例中的所述基于关系型数据库的数据存储方法存储,所述方法包括:
S210,响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小。
也即,终端发送包含索引信息的文件读取请求至服务器,以使服务器根据索引信息检索第一预设表,即服务器根据索引信息检索包含索引信息的第一预设表。
S220,若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号。
也即,当服务器搜索包含索引信息的第一预设表后,获取第一预设表中的序列号。可以理解的是,在图1示出的基于关系型数据库的数据存储方法中,第一预设表和第二预设表中均包含待存储文件的唯一序列号,进而服务器可根据序列号搜索到第二预设表。
可选的,若所述关系型数据库中不存在与所述索引信息匹配的第一预设表,服务器向所述文件读取请求对应的终端发送文件不存在通知信息。
S230,将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
也即,服务器根据第一预设表中的序列号搜索第二预设表,并将第二预设表中的文件发送至终端,从而完成数据读取。
可选的,若服务器中的关系型数据的第二预设表中,待存储文件是以是以分块和分块序号的形式存储时,则服务器将以追加的方式,按照每个分块的序号将每个分块依次发送给终端;分块根据服务器发送分块的顺序,将分块进行拼接以得到完整的待读取文件。
基于此,由于服务器中能被读取到的文件均是成功写入数据库的文件,避免了服务器存储失败后,终端将读取到错误文件或不完整文件的情况,保证了待读取文件的有效读取。
与上述基于关系型数据库的数据存储方法相对应的,本发明实施例还提供一种基于关系型数据库的数据存储装置。参照图3,图3示出了本发明实施例提供的基于关系型数据库的数据存储装置的结构示意图,本发明实施例提供的基于关系型数据库的数据存储装置300应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述装置包括:
存储响应模块310,用于响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小;
第一存储模块320,用于生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引;
第二存储模块330,用于将所述序列号和所述待存储文件存储至所述第二预设表中;
状态更新模块340,用于当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
本申请实施例提供的基于关系型数据库的数据存储装置能够实现图1的方法实施例中基于关系型数据库的数据存储方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
与本发明实施例提供的基于关系型数据库的数据读取方法相对应的,本发明实施例还提供一种基于关系型数据库的数据读取装置。参照图4,图4示出了本发明实施例提供的基于关系型数据库的数据读取装置的结构示意图,本发明实施例提供的基于关系型数据库的数据读取装置应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过如图3示出的装置实施例中的基于关系型数据库的数据存储装置存储,所述装置包括:
读取响应模块410,用于响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小;
获取模块420,用于若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号;
发送模块430,用于将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
本申请实施例提供的基于关系型数据库的数据读取装置能够实现图2的方法实施例中基于关系型数据库的数据读取方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如图1示出的发明实施例中公开的基于关系型数据库的数据存储方法,或如图2示出的发明实施例中公开的基于关系型数据库的数据读取方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如图1示出的发明实施例中公开的基于关系型数据库的数据存储方法,或如图2示出的发明实施例中公开的基于关系型数据库的数据读取方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于关系型数据库的数据存储方法,其特征在于,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述方法包括:
响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小;
生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引;
将所述序列号和所述待存储文件存储至所述第二预设表中;
当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
2.根据权利要求1所述的方法,其特征在于,所述将所述序列号和所述待存储文件存储至所述第二预设表中之后,所述方法还包括:
当所述关系型数据库生成所述待存储文件对应的存储失败信息时,将所述第一预设表和所述第二预设表删除。
3.根据权利要求1所述的方法,其特征在于,所述文件信息还包括当前时间戳;
所述生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引之后,所述当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引之前,所述方法还包括:
获取当前时间和所述第一预设表对应的不可索引最长时间;
判断所述当前时间和所述当前时间戳的时间差是否超过所述不可索引最长时间;
若是,将所述第一预设表和所述第二预设表删除。
4.根据权利要求3所述的方法,其特征在于,还包括:
若否,执行当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引的步骤。
5.根据权利要求1所述的方法,其特征在于,所述将所述序列号和所述待存储文件的数据存储至所述第二预设表中,包括:
接收所述待存储文件的每个分块的数据和每个所述分块的序号;
将每个所述分块的数据与序号以及所述序列号存储至所述第二预设表中。
6.一种基于关系型数据库的数据读取方法,其特征在于,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过权利要求1-5中任一项所述的基于关系型数据库的数据存储方法存储,所述方法包括:
响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小;
若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号;
将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
7.一种基于关系型数据库的数据存储装置,其特征在于,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库包括第一预设表和第二预设表,所述装置包括:
存储响应模块,用于响应文件存储请求,获取所述文件存储请求对应的待存储文件的文件信息,其中,所述文件信息包括文件名和文件大小;
第一存储模块,用于生成所述待存储文件对应的序列号,将所述序列号和所述文件信息存储至所述第一预设表中,并将所述第一预设表的状态设置为不可被索引;
第二存储模块,用于将所述序列号和所述待存储文件存储至所述第二预设表中;
状态更新模块,用于当所述关系型数据库生成所述待存储文件对应的存储成功信息时,将所述第一预设表的状态设置为可被索引。
8.一种基于关系型数据库的数据读取装置,其特征在于,应用于服务器,所述服务器中设置有关系型数据库,所述关系型数据库中的数据通过权利要求7所述的基于关系型数据库的数据存储装置存储,所述读取装置包括:
读取响应模块,用于响应文件读取请求,获取所述文件读取请求对应的待读取文件的索引信息,其中,所述索引信息包括文件名和/或文件大小;
获取模块,用于若所述关系型数据库中存在与所述索引信息匹配的第一预设表,获取所述第一预设表中的序列号;
发送模块,用于将包含所述序列号的第二预设表中的文件发送至所述文件读取请求对应的终端。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行如权利要求1-5任一项所述的基于关系型数据库的数据存储方法,或如权利要求6所述的基于关系型数据库的数据读取方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在处理器上运行时执行如权利要求1-5任一项所述的基于关系型数据库的数据存储方法,或如权利要求6所述的基于关系型数据库的数据读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111497579.3A CN114238320A (zh) | 2021-12-09 | 2021-12-09 | 基于关系型数据库的数据存储方法与数据读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111497579.3A CN114238320A (zh) | 2021-12-09 | 2021-12-09 | 基于关系型数据库的数据存储方法与数据读取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238320A true CN114238320A (zh) | 2022-03-25 |
Family
ID=80754237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111497579.3A Pending CN114238320A (zh) | 2021-12-09 | 2021-12-09 | 基于关系型数据库的数据存储方法与数据读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238320A (zh) |
-
2021
- 2021-12-09 CN CN202111497579.3A patent/CN114238320A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8965840B2 (en) | Automatic synchronization conflict resolution | |
US9778998B2 (en) | Data restoration method and system | |
CN105574187B (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
CN111414403B (zh) | 数据访问方法和装置、数据存储方法和装置 | |
CN110912808B (zh) | 消息订阅方法、装置、系统、设备终端和可读存储介质 | |
US20220004334A1 (en) | Data Storage Method, Apparatus and System, and Server, Control Node and Medium | |
EP3438845A1 (en) | Data updating method and device for a distributed database system | |
CN110019873B (zh) | 人脸数据处理方法、装置及设备 | |
CN112433885B (zh) | 区块链共识处理方法及装置、电子设备、存储介质 | |
CN109284331B (zh) | 基于业务数据资源的制证信息获取方法、终端设备及介质 | |
CN112052157B (zh) | 测试报文的构造方法、装置及系统 | |
CN111835808A (zh) | 数据存储方法及装置、数据读取方法及装置、存储介质 | |
CN114238320A (zh) | 基于关系型数据库的数据存储方法与数据读取方法 | |
CN111753141A (zh) | 一种数据管理方法及相关设备 | |
CN111698330B (zh) | 存储集群的数据恢复方法、装置及服务器 | |
CN111190768B (zh) | 数据库执行错误恢复方法、数据库访问方法及装置 | |
US20210294869A1 (en) | Correcting a url within a rest api call | |
CN113849574A (zh) | 一种数据处理方法及前端、计算机可读存储介质 | |
CN111858609A (zh) | 区块链模糊查询方法及装置 | |
CN106897024B (zh) | 数据写入方法及装置 | |
CN115190173B (zh) | 一种网络通信方法、装置、设备及存储介质 | |
CN116166617B (zh) | 开放版式文档ofd合并后的目录生成方法及装置 | |
CN113282551B (zh) | 数据处理方法、系统及设备 | |
CN112347103B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN110109883B (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 |