CN112527809B - 一种数据库数据写入方法、装置、设备及存储介质 - Google Patents
一种数据库数据写入方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112527809B CN112527809B CN202011438650.6A CN202011438650A CN112527809B CN 112527809 B CN112527809 B CN 112527809B CN 202011438650 A CN202011438650 A CN 202011438650A CN 112527809 B CN112527809 B CN 112527809B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- writing
- command packet
- upper limit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/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/25—Integrating or interfacing systems involving database management systems
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据库数据写入方法,该方法中设置了两种数据写入模式,在高吞吐量写入模式下按照不超过第一上限的数据长度对待写入数据进行命令包填充,该模式下可以满足大量请求数据的有效响应,在高响应速度写入模式按照不超过第二上限的数据长度对待写入数据进行命令包填充,第二上限低于第一上限,该模式下可以满足数据库最高响应速度写入,将预设时间范围内请求数据量作为模式切换评判标准,根据实时的数据请求量进行自适应模式切换,可以兼顾网络吞吐量的前提下,维持数据库处于最快响应速度,保障持续批量将数据高效写入至数据库。本发明还公开了一种数据库数据写入装置、设备及存储介质,具有相应的技术效果。
Description
技术领域
本发明涉及数据库管理技术领域,特别是涉及一种数据库数据写入方法、装置、设备及存储介质。
背景技术
随着互联网的不断发展,人们认知和创造的信息越来越多,其中想要记录和存储下来,以便查找翻阅的数据量也越来越大。现有的数据库访问方案,基本是用软件程序通过TCP(Transmission Control Protocol,传输控制协议)连接,进行登录、写入、查询命令,访问数据库内容。
而随着技术的不断发展,在各个应用场景下(比如金融信息领域)对于数据请求响应的时延要求越来越高,目前数据库访问响应速度日渐无法满足需求。
综上所述,如何有效地提升数据库访问请求响应速度,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种数据库数据写入方法、装置、设备及存储介质,可以提升数据库访问请求响应速度。
为解决上述技术问题,本发明提供如下技术方案:
接收数据库数据写入请求;
根据所述数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值;
若超过,按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
若未超过,按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;其中,所述第二上限低于所述第一上限;
将所述写入命令包依次发送至数据库。
可选地,所述判断预设时间范围内请求数据量是否超过预设切换值,包括:
判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在所述预设时间范围内处理的最大数据量。
可选地,在根据所述数据库数据写入请求判断预设时间范围内请求数据量是否超过预设切换值之前,还包括:
根据所述数据库数据写入请求的响应速度判断所述数据库的数据写入响应速度是否达到阈值;
若达到,按照不超过所述第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
若未达到,按照不超过所述第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
将所述写入命令包依次发送至数据库,执行所述根据所述数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值的步骤;
相应的,若超过,按照不超过第一上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
若未超过,按照不超过第二上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包。
可选地,将所述写入命令包依次发送至数据库,包括:
获取所述数据库数据写入请求的发起端至少两个源端口号;
根据各所述源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
分别调用各所述TCP连接并行将所述写入命令包依次发送至数据库。
本发明还提供了一种数据库数据写入装置,包括:
请求接收单元,用于接收数据库数据写入请求;
数据量判断单元,用于根据所述数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值;若超过,触发高吞吐量写入单元;若未超过,触发高响应速度写入单元;
所述高吞吐量写入单元,用于按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
所述高响应速度写入单元,用于按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;其中,所述第二上限低于所述第一上限;
命令包发送单元,用于将所述写入命令包依次发送至数据库。
可选地,所述数据量判断单元具体为:第一判断单元,用于:判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在所述预设时间范围内处理的最大数据量。
可选地,所述数据库数据写入装置还包括:速度判断切换单元,所述速度判断切换单元的输入端与所述请求接收单元的输出端连接,输出端与所述数据量判断单元连接;
所述速度判断切换单元,用于根据所述数据库数据写入请求的响应速度判断所述数据库的数据写入响应速度是否达到阈值;若达到,按照不超过所述第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;若未达到,按照不超过所述第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;将所述写入命令包依次发送至数据库,触发所述数据量判断单元;
则相应地,所述高吞吐量写入单元用于:按照不超过第一上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
所述高响应速度写入单元用于:按照不超过第二上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包。
可选地,所述命令包发送单元包括:
获取子单元,用于获取所述数据库数据写入请求的发起端至少两个源端口号;
连接建立子单元,用于根据各所述源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
并行发送子单元,用于分别调用各所述TCP连接并行将所述写入命令包依次发送至数据库。
本发明还提供了一种数据库数据写入设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述数据库数据写入方法的步骤。
本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库数据写入方法的步骤。
本发明实施例所提供的方法,设置了两种数据写入模式,高吞吐量写入模式以及高响应速度写入模式,在高吞吐量写入模式下按照不超过第一上限的数据长度对待写入数据进行命令包填充,该模式下可以满足大量请求数据的有效响应,在高响应速度写入模式按照不超过第二上限的数据长度对待写入数据进行命令包填充,第二上限低于第一上限,该模式下可以满足数据库最高响应速度写入,同时将预设时间范围内请求数据量作为模式切换评判标准,根据实时的数据请求量动态进行自适应模式切换,可以兼顾网络吞吐量的前提下,维持数据库处于最快响应速度,保障持续的批量将数据高效写入至数据库。
相应地,本发明实施例还提供了与上述数据库数据写入方法相对应的数据库数据写入装置、设备和存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据库数据写入方法的实施流程图;
图2为本发明实施例中一种数据库数据写入装置的结构示意图;
图3为本发明实施例中一种数据库数据写入设备的结构示意图。
具体实施方式
本发明的核心是提供一种数据库数据写入方法,可以提升数据库访问请求响应速度。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种数据库数据写入方法的流程图,该方法包括以下步骤:
S101、接收数据库数据写入请求;
数据库数据写入请求指针对数据库的数据写入请求。本实施例中对于待写入数据的数据库的类型不做限定,主要针对于应用TDS协议的数据库,比如使用较普遍的数据库:MySQL(My Structured Query Language,结构化查询语言)、Microsoft SQL Server、PostgreSQL等。
S102、根据数据库数据写入请求判断预设时间范围内请求数据量是否超过预设切换值;
传统方法中不管待写入的数据量的多少,会持续以TDS(Tabular Data Stream,表格数据流)协议允许的最大长度进行请求写入,比如当有大批量的数据需要写入数据库时,会持续以TDS(Tabular Data Stream,表格数据流)协议允许的最大长度4096B请求写入,这种请求写入的方式只会单纯的缓解网络吞吐压力,但却无形的增加了数据库的写入压力,反而导致写入成功的响应时间变长,从整体来看,速度是减慢了的。
为避免上述情况,本实施例提出了高吞吐量写入模式、高响应速度写入模式以及一种在高吞吐量写入模式与高响应速度写入模式间自适应调整的数据写入方法,以某段时间的总的请求数据量作为切换评判对象,可以动态的根据请求的数据量自适应的在两种模式之间切换,即可以保障满足一定网络吞吐量的前提下,尽可能的提高数据库返回写入成功的响应速度,又可以在请求的数据量比较大的情况下,尽可能的提升数据写入数据库的吞吐量,两种模式根据请求数据量的切换可以在请求数据量不断动态波动的整一个时段内,自适应的选择合适的模式,从而在整体上达到数据写入数据库的速度和数据写入数据库的吞吐量之间的最佳平衡。
且对于预设切换值的具体数值设定本实施例中不做限定,可以设置一较大的经验值,也可以根据数据请求写入平均量或数据库数据写入能力值进行相应的设定,其中,可以以依照数据库的最高响应速度在预设时间范围内处理的最大数据量作为预设切换值,则相应地,判断预设时间范围内请求数据量是否超过预设切换值具体为:判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在预设时间范围内处理的最大数据量。
S103、按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
S104、按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;其中,第二上限低于第一上限;
在此对步骤S103与步骤S104合并介绍。
具体地,如果在某段时间数据写入总量判断预设时间范围内请求数据量超过了预设切换值,则执行步骤S103切换至高吞吐量写入方式进行数据写入;如果在某段时间数据写入总量判断预设时间范围内请求数据量没有超过预设切换值,则执行步骤S104切换至高响应速度写入方式进行数据写入。
其中,本实施例中设置的高吞吐量写入方式为:按照不超过第一上限的数据长度对待写入数据进行命令包填充;每个线程的TCP连接,在请求写入数据库的数据量特别大的情况下,多个线程都已经请求了写入数据库,但全都还没返回写入成功,此时仍有大量数据需要写入数据库,那么在接下来的写数据库的命令包的数据长度按不超过第一上限(较大的数据长度)进行组包发送,这样会一定程度上减缓了数据库返回写入成功的响应速度,但是整体上却提升了数据写入数据库的吞吐量。本实施例中对于第一上限值的具体数值设定不做限定,为避免数据堵塞,第一上限值与第二上限值均不应超过最大写入数据量,第一上限高于第二上限值,同时为了保障数据的大量写入,第一上限可以设置为4096B及其相邻值,也可以设置为4096之外其他较小的数据长度,比如4000B及其相邻值、4015B及其相邻值等。
本实施例中设置的高响应速度写入方式为:按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;每个线程的TCP连接,在请求写入数据库的数据量,不是特别大的情况下,单个写数据库的命令包含的数据长度按不超过第二上限(低于第一上限、数据长度较小的数值)进行组包发送,这是满足一定网络吞吐量的前提下,尽可能的提高了数据库返回写入成功的响应速度,单个线程的响应速度提升,自然会带来多线程的总体写入速度的提升。本实施例中对于第二上限值的具体数值设定不做限定,为提升每个命令包的高速写入,与第二上限值不应超过第一上限值,同时为了减少数据包的大量建立,第一上限可以设置为1460B及其相邻值,也可以设置为1460之外其他较小的数据长度(不应过小),比如1000B及其相邻值、1400B及其相邻值等。
S105、将写入命令包依次发送至数据库。
由于目前在单个TCP连接发起的数据查询命令,得到数据库返回的查询响应之前,再发起多次查询命令的话,会被数据库主动断开TCP连接,因此为保障命令包的稳定性写入,需要将写入命令包依次发送至数据库。
本发明实施例所提供的技术方案,设置了两种数据写入模式,高吞吐量写入模式以及高响应速度写入模式,在高吞吐量写入模式下按照不超过第一上限的数据长度对待写入数据进行命令包填充,该模式下可以满足大量请求数据的有效响应,在高响应速度写入模式按照不超过第二上限的数据长度对待写入数据进行命令包填充,第二上限低于第一上限,该模式下可以满足数据库最高响应速度写入,同时将预设时间范围内请求数据量作为模式切换评判标准,根据实时的数据请求量动态进行自适应模式切换,可以兼顾网络吞吐量的前提下,维持数据库处于最快响应速度,保障持续的批量将数据高效写入至数据库。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
在根据数据库数据写入请求判断预设时间范围内请求数据量是否超过预设切换值之前,可以进一步执行以下步骤:
(1)根据数据库数据写入请求的响应速度判断数据库的数据写入响应速度是否达到阈值;
(2)若达到,按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
(3)若未达到,按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
(4)将写入命令包依次发送至数据库。
在上述步骤(4)之后执行步骤S102执行根据数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值的步骤;
相应的,步骤S103为:按照不超过第一上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
步骤S104为:按照不超过第二上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包.
在统计得到待写入数据库的数据写入总量需要一定的统计时间,而在统计并以写入总量作为切换标准进行写入模式切换之前,还可以进一步依据对接的数据库服务器性能进行模式的设置运行,在对接服务器性能比较好的数据库机器时,得到数据库写入成功的响应速度就比较快,这时就会按照维持高响应速度写入模式的状态,持续写入数据库,确保了每一次写入命令的最高响应速度。在对接服务器性能比较差的数据库机器时,得到数据库写入成功的响应速度就比较慢,这时就会按照写入模式高吞吐量的状态,持续写入数据库,确保了请求的数据,不会被堵塞在系统内。
本实施例提供的上述切换方式可以保障数据的持续高效写入。
目前,对于数据库的连接为单线程的TCP连接,相当于在将写入命令包依次发送至数据库时是通过单线程将写入命令包依次串行发送至数据库的,而该种数据写入方式下单位时间下数据写入量有限,为了进一步提升数据写入速度,将写入命令包依次发送至数据库具体可以按照下述过程来执行:
(1)获取数据库数据写入请求的发起端至少两个源端口号;
(2)根据各源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
(3)分别调用各TCP连接并行将写入命令包依次发送至数据库。
要完成一个TCP连接的建立,需要四个要素,源IP(Internet Protocol,网络互连协议)地址、目标IP地址、源端口、目标端口。
而实际上一个发起数据写入请求的源端口很多,一般可以达到几万个,而传统方法下只是利用单线程(单TCP连接)进行串行命令包的发送。
针对于此,并为了提升命令发送速度,本实施例中提出在同一个源IP下获取至少两个源端口号,在只更换源端口的方式下,完成对数据库的多线程TCP连接的建立。在单个线程的TCP连接,按照串行特性写入数据库,而不同线程之间,则是按照并行方式将数据写入数据库,可以成倍提升命令的传输写入速度,以提升整体响应速度。
本实施例提供的方法中提出多线程连接数据库,并行的将数据写入,可以有效提升命令包的写入速度。
相应于上面的方法实施例,本发明实施例还提供了一种数据库数据写入装置,下文描述的数据库数据写入装置与上文描述的数据库数据写入方法可相互对应参照。
参见图2所示,该装置包括以下模块:
请求接收单元110主要用于接收数据库数据写入请求;
数据量判断单元120主要用于根据数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值;若超过,触发高吞吐量写入单元130;若未超过,触发高响应速度写入单元140;
高吞吐量写入单元130主要用于按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
高响应速度写入单元140主要用于按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;其中,第二上限低于第一上限;
命令包发送单元150主要用于将写入命令包依次发送至数据库。
在本发明的一种具体实施方式中,数据量判断单元具体可以为:第一判断单元,用于:判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在预设时间范围内处理的最大数据量。
在本发明的一种具体实施方式中,数据库数据写入装置可以还包括:速度判断切换单元,速度判断切换单元的输入端与请求接收单元的输出端连接,输出端与数据量判断单元连接;
速度判断切换单元,用于根据数据库数据写入请求的响应速度判断数据库的数据写入响应速度是否达到阈值;
若达到,按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;若未达到,按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;将写入命令包依次发送至数据库,触发数据量判断单元;
则相应地,高吞吐量写入单元用于:按照不超过第一上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
高响应速度写入单元用于:按照不超过第二上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包
在本发明的一种具体实施方式中,命令包发送单元具体可以包括:
获取子单元,用于获取数据库数据写入请求的发起端至少两个源端口号;
连接建立子单元,用于根据各源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
并行发送子单元,用于分别调用各TCP连接并行将写入命令包依次发送至数据库。
相应于上面的方法实施例,本发明实施例还提供了一种数据库数据写入设备,下文描述的一种数据库数据写入设备与上文描述的一种数据库数据写入方法可相互对应参照。
该数据库数据写入设备包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述方法实施例的数据库数据写入方法的步骤。
本实施例提供的数据库数据写入设备可以为任意可以实现上述逻辑功能编辑的芯片或者设备,比如FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),以FPGA作为数据库数据写入设备可以降低实现成本。其他设备类型均可参照本实施例的介绍,在此不再赘述。
具体的,请参考图3,为本实施例提供的一种数据库数据写入设备的具体结构示意图,该数据库数据写入设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在数据库数据写入设备301上执行存储器332中的一系列指令操作。
数据库数据写入设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的数据库数据写入方法中的步骤可以由数据库数据写入设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种存储介质,下文描述的一种存储介质与上文描述的一种数据库数据写入方法可相互对应参照。
一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的数据库数据写入方法的步骤。
该存储介质具体可以为U盘、移动硬盘、随机存取存储器(Random Access Memory,RAM)、磁碟等各种可存储程序代码的存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (4)
1.一种数据库数据写入方法,其特征在于,包括:
接收数据库数据写入请求;
根据所述数据库数据写入请求的响应速度判断所述数据库的数据写入响应速度是否达到阈值;
若达到,按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
若未达到,按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
将所述写入命令包依次发送至数据库,根据所述数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值;
若超过,按照不超过所述第一上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
若未超过,按照不超过所述第二上限的数据长度对当前时刻之后的待写入数据进行命令包填充,得到写入命令包;
其中,所述第二上限低于所述第一上限;
将所述写入命令包依次发送至数据库;
所述判断预设时间范围内请求数据量是否超过预设切换值,包括:
判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在所述预设时间范围内处理的最大数据量;
所述将所述写入命令包依次发送至数据库,包括:
获取所述数据库数据写入请求的发起端至少两个源端口号;
根据各所述源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
分别调用各所述TCP连接并行将所述写入命令包依次发送至数据库。
2.一种数据库数据写入装置,其特征在于,包括:
请求接收单元,用于接收数据库数据写入请求;
速度判断切换单元,所述速度判断切换单元的输入端与所述请求接收单元的输出端连接,输出端与所述数据量判断单元连接;
所述速度判断切换单元,用于根据所述数据库数据写入请求的响应速度判断所述数据库的数据写入响应速度是否达到阈值;若达到,按照不超过第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;若未达到,按照不超过第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;将所述写入命令包依次发送至数据库,触发所述数据量判断单元;
数据量判断单元,用于根据所述数据库数据写入请求中的数据写入总量判断预设时间范围内请求数据量是否超过预设切换值;若超过,触发高吞吐量写入单元;若未超过,触发高响应速度写入单元;
所述高吞吐量写入单元,用于按照不超过所述第一上限的数据长度对待写入数据进行命令包填充,得到写入命令包;
所述高响应速度写入单元,用于按照不超过所述第二上限的数据长度对待写入数据进行命令包填充,得到写入命令包;其中,所述第二上限低于所述第一上限;
命令包发送单元,用于将所述写入命令包依次发送至数据库;
所述数据量判断单元具体为:第一判断单元,用于:判断预设时间范围内请求数据量是否超过依照数据库的最高响应速度在所述预设时间范围内处理的最大数据量;
所述命令包发送单元包括:
获取子单元,用于获取所述数据库数据写入请求的发起端至少两个源端口号;
连接建立子单元,用于根据各所述源端口号对数据库分别建立对应的TCP连接,得到至少两条TCP连接;
并行发送子单元,用于分别调用各所述TCP连接并行将所述写入命令包依次发送至数据库。
3.一种数据库数据写入设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述数据库数据写入方法的步骤。
4.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述数据库数据写入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438650.6A CN112527809B (zh) | 2020-12-10 | 2020-12-10 | 一种数据库数据写入方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011438650.6A CN112527809B (zh) | 2020-12-10 | 2020-12-10 | 一种数据库数据写入方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527809A CN112527809A (zh) | 2021-03-19 |
CN112527809B true CN112527809B (zh) | 2023-10-27 |
Family
ID=74999303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011438650.6A Active CN112527809B (zh) | 2020-12-10 | 2020-12-10 | 一种数据库数据写入方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527809B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014222451A (ja) * | 2013-05-14 | 2014-11-27 | 株式会社東芝 | データベース管理システムおよびその書き込み方式管理方法 |
CN105095393A (zh) * | 2015-06-30 | 2015-11-25 | 努比亚技术有限公司 | 一种数据存储方法及装置 |
WO2016091069A1 (zh) * | 2014-12-12 | 2016-06-16 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
CN109359118A (zh) * | 2018-08-31 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种数据写入方法及装置 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
CN109491925A (zh) * | 2018-09-20 | 2019-03-19 | 中山市江波龙电子有限公司 | 存储设备及其数据写入方法、存储装置 |
CN110046161A (zh) * | 2019-03-18 | 2019-07-23 | 平安普惠企业管理有限公司 | 数据写入方法及装置、存储介质、电子设备 |
CN110222034A (zh) * | 2019-06-04 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种数据库维护方法及装置 |
CN111291119A (zh) * | 2020-01-21 | 2020-06-16 | 郑州阿帕斯数云信息科技有限公司 | 数据同步方法和装置 |
CN111625546A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种数据写入方法、装置、设备、介质 |
CN111858735A (zh) * | 2020-07-22 | 2020-10-30 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817512B2 (en) * | 2016-04-01 | 2020-10-27 | Arista Networks, Inc. | Standing queries in memory |
US20200125548A1 (en) * | 2018-10-19 | 2020-04-23 | Oracle International Corporation | Efficient write operations for database management systems |
CN111124267B (zh) * | 2018-10-31 | 2023-10-31 | 伊姆西Ip控股有限责任公司 | 数据写入的方法、设备和计算机程序产品 |
-
2020
- 2020-12-10 CN CN202011438650.6A patent/CN112527809B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014222451A (ja) * | 2013-05-14 | 2014-11-27 | 株式会社東芝 | データベース管理システムおよびその書き込み方式管理方法 |
WO2016091069A1 (zh) * | 2014-12-12 | 2016-06-16 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
CN105095393A (zh) * | 2015-06-30 | 2015-11-25 | 努比亚技术有限公司 | 一种数据存储方法及装置 |
CN109359118A (zh) * | 2018-08-31 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种数据写入方法及装置 |
CN109491925A (zh) * | 2018-09-20 | 2019-03-19 | 中山市江波龙电子有限公司 | 存储设备及其数据写入方法、存储装置 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
CN110046161A (zh) * | 2019-03-18 | 2019-07-23 | 平安普惠企业管理有限公司 | 数据写入方法及装置、存储介质、电子设备 |
CN110222034A (zh) * | 2019-06-04 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种数据库维护方法及装置 |
CN111291119A (zh) * | 2020-01-21 | 2020-06-16 | 郑州阿帕斯数云信息科技有限公司 | 数据同步方法和装置 |
CN111625546A (zh) * | 2020-05-07 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种数据写入方法、装置、设备、介质 |
CN111858735A (zh) * | 2020-07-22 | 2020-10-30 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
数据库中小文件的实时存储与优化;张璐;杨东芳;;河南科技(第05期);第8-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112527809A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7054925B2 (en) | Efficient method for determining record based I/O on top of streaming protocols | |
US9053252B2 (en) | Storage expansion apparatus and server | |
JP4886685B2 (ja) | ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法 | |
JP4577853B2 (ja) | ネットワーク・プロトコル処理のオフロードにおいて接続確立をサポートする装置および方法 | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
WO2021197128A1 (zh) | 流量限速方法及装置 | |
CN101604299B (zh) | 一种访问pcie ram的方法、存储控制器和存储系统 | |
CN103944979A (zh) | 一种消息推送方法、装置及系统 | |
US20230152978A1 (en) | Data Access Method and Related Device | |
CN115858184B (zh) | 一种rdma内存管理方法、装置、设备及介质 | |
CN112100146B (zh) | 一种高效的纠删分布式存储写入方法、系统、介质及终端 | |
CN113641604A (zh) | 一种数据传输方法及系统 | |
US11546261B2 (en) | Congestion control method and related device | |
CN103338156B (zh) | 一种基于线程池的命名管道服务器并发通信方法 | |
CN112527809B (zh) | 一种数据库数据写入方法、装置、设备及存储介质 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
US11115474B2 (en) | Data transmission and network interface controller | |
WO2023186115A1 (zh) | 表项读取方法、装置、网络设备及存储介质 | |
CN112765090A (zh) | 一种目标地址的预取方法、系统、设备及介质 | |
CN110798366B (zh) | 任务逻辑的处理方法、装置及设备 | |
US20230409506A1 (en) | Data transmission method, device, network system, and storage medium | |
CN107659511B (zh) | 一种过载控制方法、主机和存储介质以及程序产品 | |
US20230393782A1 (en) | Io request pipeline processing device, method and system, and storage medium | |
LU101773B1 (en) | Method for improving sequential read performance of solid-state drive | |
CN111782399A (zh) | 一种基于udp的配置服务器高效实现的方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310000 Room 403, floor 4, No. 3766, South Ring Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Shengli Anyuan Technology (Hangzhou) Co.,Ltd. Address before: Room 403, 4th floor, 3766 Nanhuan Road, Binjiang District, Hangzhou City, Zhejiang Province 310051 Applicant before: SHENGLI FINACIAL SOFTWARE DEVELOPMENT (HANGZHOU) CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |