【技术实现步骤摘要】
一种通过缓存事务提高写入效率的方法及系统
[0001]本专利技术涉及数据存储
,具体涉及一种通过缓存事务提高写入效率的方法及系统。
技术介绍
[0002]数据库中的数据都是通过内存写入磁盘的。传统的写入方式是,把数据库数据按照数据库事务方式直接存入磁盘,以维护数据的完整性、一致性。其可靠性、可用性已被广泛验证,并在传统的商务、金融等应用领域获得了极大成功。然而它们在一些大规模数据写入应用面前却显得软弱无力,其主要原因是其数据写入速度慢、I/O性能难以适应海量数据业务的需要。
[0003]具体来说,传统写入方式始终面临两个障碍:第一,内存写入受限。面对大规模数据库数据的写入,在内存中会形成多个事务,而在同一个时间节点,只能有一个事务提交,其他事务只能排队等待,这会造成系统耗时等不必要的时间开销,更重要的是,在事务提交期间由于内存无法访问,更加重了内存写入效率的低下。第二,磁盘写入受限。由于内存中有多个事务竞相直接对磁盘写入,磁头要不断的调整磁道的位置,会造成寻址时间过多,碎片化过大,磁盘IO性能大为降低,还容易发 ...
【技术保护点】
【技术特征摘要】
1.一种通过缓存事务提高写入效率的方法,其特征在于,所述方法包括以下步骤:S1初始化,数据库数据写入内存,并在内存中根据数据完整性自动形成多个事务;S2将内存中的多个事务数据分别写入缓存块A和缓存块B,且缓存写入数据与缓存事务提交在A和B中交叉进行;S3将缓存块A和缓存块B的事务数据顺序写入磁盘;S4判断缓存块数据写入磁盘失败时,事务线程则通过回滚数据,重新写入磁盘。2.根据权利要求1所述的一种通过缓存事务提高写入效率的方法,其特征在于,所述方法中,将内存中的多个事务数据分别写入缓存块A和缓存块B,具体写入过程如下:a.先写入当前缓存块;b.当缓存块A达到设定容量后,经线程调度,事务写入由缓存块A切换至缓存块B;c.当缓存块B达到设定容量后,经线程调度,事务写入又由缓存块B切换至缓存块A。3.根据权利要求2所述的一种通过缓存事务提高写入效率的方法,其特征在于,所述方法中,线程把缓存块A中的m个事务当作一个整体事务A提交至磁盘,并在提交结束后自我清空,等待新的事务数据写入,其中,m为正整数。4.根据权利要求2所述的一种通过缓存事务提高写入效率的方法,其特征在于,所述方法中,线程把缓存块B中的n个事务当作一个整体事务B提交至磁盘,并在提交结束后自我清空,等待新的事务...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。