CN108132757A - 数据的存储方法、装置及电子设备 - Google Patents
数据的存储方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108132757A CN108132757A CN201611088328.9A CN201611088328A CN108132757A CN 108132757 A CN108132757 A CN 108132757A CN 201611088328 A CN201611088328 A CN 201611088328A CN 108132757 A CN108132757 A CN 108132757A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- page
- written
- caching
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种数据的存储方法、装置及电子设备,包括:将待存储的数据写入预设的内存单元;通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。在本申请实施例中,通过先将待存储的数据写入预设的内存单元,然后异步再提交到页缓存中,最后再异步刷盘到磁盘中,相对于现有技术而言,增加了一级数据的缓冲存储,通过两次异步存储处理,有效地避免了高并发数据场景下,数据存储的高延时情况。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据的存储方法、装置及电子设备。
背景技术
随着互联网技术的发展,对于数据存储的要求越来越高。现有的大多数存储引擎,采用异步刷盘的模式,先将数据写入页缓存(Page Cache,页高速缓冲存储器,简称页高缓),然后再将数据异步刷盘到永久性存储的磁盘,对于常用数据或者近期的数据,可以直接从页缓存中进行读取。这种模式大多数情况读写速度都比较迅速,但当遇到操作***进行脏页回写,内存回收,内存换入换出等情形时,会产生较大的读写延时,造成存储引擎偶发的高延时。特别是在例如双十一等数据高并发的场景下,当洪峰数据来临时,高延时会导致交易***响应慢、雪崩以及用户体验差等不足。
发明内容
本申请提供一种数据的存储方法、装置及电子设备,以适应数据高并发的情况下的数据存储的要求。
第一方面,提供一种数据的存储方法,包括:
将待存储的数据写入预设的内存单元;
通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
第二方面,提供一种数据的存储装置,包括:
第一写入模块,用于将待存储的数据写入预设的内存单元;
第二写入模块,用于通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
第三写入模块,用于通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
第三方面,提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
将待存储的数据写入预设的内存单元;
通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
在本申请实施例中,通过先将待存储的数据写入预设的内存单元,然后异步再提交到页缓存中,最后再异步刷盘到磁盘中,相对于现有技术而言,增加了一级数据的缓冲存储,通过两次异步存储处理,有效地避免了高并发数据场景下,数据存储的高延时情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本申请一实施例提供的业务***的结构示意图;
图2为本申请一实施例提供的数据的存储方法的流程示意图;
图3为本申请另一实施例提供的数据的存储方法的流程示意图;
图4为本申请实施例提供的数据存储过程示意图;
图5为本申请又一实施例提供的数据的存储装置的结构示意图;
图6为本申请又一实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有技术在高并发数据场景下,数据存储的高延时情况等问题,本申请提供一种解决方案,其主要原理是:将待存储的数据写入预先设置的内存单元,并通过与将待存储的数据写入到内存单元的操作异步的方式,将内存单元中的数据写入到页缓存中,以及通过异步刷盘方式将页缓存中的数据写入到磁盘中。与现有的将数据写入页缓存,同时异步刷盘线程将数据写入磁盘中的技术方案相比较,本申请的技术方案规避了内存管理机制的弊端,即避免了高并发数据场景下,数据存储的高延时。示例性地,本申请的技术方案将内存管理机制中页错误、脏页回写、内存回收、内存加锁等高延时情形转移到了提交线程(即将输入从内存单元写入页缓存的线程)中,从而不会影响数据写入内存单元,实现低延时地写入数据。
本申请提供的方法可以应用在会出现高并发数据场景的业务***,例如支付宝终端、天猫终端等。以天猫终端为例,其在双十一网络购物节之际,其单位时间内访问量、交易量巨大,则对存储引擎的吞吐量要求较高,当洪峰数据来临时,若存储引擎出现了高延时,则必然会导致天猫***响应慢、雪崩,进而影响交易量,导致用户体验差。而应用本申请提供的方法,避免了高并发数据场景下,数据存储的高延时。
本申请实施例提供的数据的存储方法可以由业务***来执行,这里所说的业务***,可以是如天猫终端这样的常出现高并发数据场景的购物或者支付平台。如图1所示,为本申请一实施例提供的业务***的结构示意图,图1所示的结构仅仅是本发明的技术方案可以应用的业务***的示例之一。业务***中包括存储引擎(内设有数据的存储装置)、内存和永久化存储数据的磁盘,业务***通过外部调用服务来获取数据,外部调用服务可以是任何能够提供或者产生数据的服务,其主要来自于业务***对其他***或者客户端的业务访问或者服务调用,外部调用服务是新数据产生的主要来源,内存包括预设的内存单元和页缓存。
数据的存储装置主要用于执行图2和图3所示的处理流程,该数据的存储装置可以设置于现有技术的存储引擎中,作为存储引擎的一部分,来实现本申请技术方案的各种功能。其主要用于在存储引擎中,将待存储的数据写入预设的内存单元,通过与将数据写入到内存单元的操作异步的方式,将预设的内存单元中的数据写入到页缓存中,以及通过异步刷盘方式将页缓存中的数据写入到用于持久化存储的磁盘中。从而避免数据写入时出现高延时。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面详细介绍一下本申请实施例的具体技术方案。
基于上述实施例,本申请相对于现有技术,其增加了一级数据的缓冲存储,通过两次异步存储处理,有效地避免了高并发数据场景下,数据存储的高延时情况。下面将对本申请实施例进行详细描述。
实施例一
图2为本申请一实施例提供的数据的存储方法的流程示意图。
如图2所示,数据的存储方法包括如下步骤:
101、将待存储的数据写入预设的内存单元。该步骤可以由图1中的数据的存储装置来执行。
102、通过与将数据写入到内存单元的操作异步的方式,将预设的内存单元中的数据写入到页缓存中。该步骤可以由图1中的数据的存储装置来执行。
103、通过异步刷盘方式将页缓存中的数据写入到用于持久化存储的磁盘中。该步骤可以由图1中的数据的存储装置来执行。
在本申请一实施例中,待存储的数据可以包括前述外部调用服务产生的数据。示例性地,当外部调用服务产生新数据时,在本步骤中,将该数据写入预设的内存单元。其中,内存单元可以包括多个内存页。内存单元可以例如为Linux***中的DirectMemory(直接内存)。在一实施例中,可以将在内存单元中、当前写入数据的位置定义第一数据写入点,以及可以将在内存单元中、最新写入当页缓存的数据所在的位置定义为数据提交点。进一步地,在执行步骤102的过程中,为了避免读写冲突,数据提交点可以滞后第一数据写入点,较为优选地,数据提交点滞后第一数据写入点至少一个内存页。需要说明的是,这里所说的滞后一个内存页并不是指数据提交点和第一数据写入点之间的实际距离,而是指数据提交点所在内存页和第一数据写入点所在的内存页之间相差一个至少内存页,例如,如图4中所示,第一数据写入点位于第6.5个内存页的位置,而数据提交点可以位于第6个内存页的尾部边界,也就是说可以将第6个内存页的整页提交至页缓存。其所体现的技术原理在于,数据提交点是位于第一数据写入点所在的内存页的前一个内存页即可,这样数据提交点和第一数据写入点不会处于同一个内存页中,从而避免了由于对同一内存页同时进行读写操作而导致的操作***对该部分内存加锁的情况,从而避免了没有必要的延时。
本领域技术人员可以理解,数据提交点可以滞后第一数据写入点一个内存页,也可以滞后第一数据写入点两个或者两个以上内存页,具体可以根据实际情况设置。在本申请实施例中,以数据提交点滞后第一数据写入点一个内存页为优选方案,以能够快速地将写入内存单元的数据及时地写入页缓存中,降低数据写入延时。
在本申请一实施例中,页缓存可以包括多个缓存页,在页缓存中,当前写入数据的位置为第二数据写入点,最新写入到磁盘的数据所在的位置为数据刷盘点。进一步地,在执行步骤103的过程中,为了避免读写冲突,数据刷盘点可以滞后第二数据写入点,较为优选地,数据刷盘点滞后第二数据写入点至少一个缓存页。如图4所示,数据刷盘点和第二数据写入点的情形与前面提到的数据提交点与第一数据写点之间的关系是一样的,数据刷盘点所在缓存页和第二数据写入点所在的缓存页之间相差至少一个缓存页。数据刷盘点可以位于第5个缓存页的尾部边界,也就是说可以将第5个缓存页的整页内容刷盘到磁盘中。
在本申请另一实施例中,页缓存包括多个缓存页,在页缓存中,最新写入到磁盘的数据所在的位置为数据刷盘点,允许从页缓存中读取的最新的数据所在的位置为数据可见点,基于此,本申请实施例的数据的存储方法还可以包括如下步骤:根据数据刷盘点动态调整数据可见点,使数据可见点滞后数据刷盘点,较为优选地,数据可见点滞后数据刷盘点至少一个缓存页。如图4所示,数据可见点和数据刷盘点的情形与前面提到的数据提交点与第一数据写点之间的关系是一样的,即数据可见点所在缓存页和数据刷盘点所在的缓存页之间相差至少一个缓存页。在实际应用中,数据可见点不一定位于缓存页的边界,数据可见点除了避免与数据刷盘点不要处于同一缓存页之外,还可能会考虑读取数据的有效性,即要保证读取的数据是完整的,完整文件的边界并不一定处于缓存页的边界,因此,优选地,数据可见点应当设置在完整文件的边界处并且还不与数据刷盘点在同一个缓存页中。
应用该实施例,将数据写入过程和数据读取过程分离,进一步避免内存管理***的弊端,有效地避免了高并发数据场景下,数据存储的高延时情况。
在一实施例中,本申请实施例的数据的存储方法除步骤101、步骤102和步骤103外,还可以包括步骤100和步骤104,其中,步骤101、步骤102和步骤103与前述实施例中的原理和机制一致,为了简洁,在此不再赘述。
示例性地,可以在步骤101之前执行步骤100,以及可以在步骤102或者步骤103之后执行步骤104。
100、初始化内存单元池,并通过内存管理***将内存单元池对应的内存空间锁定,其中,内存单元池包括多个通过堆栈方式组织内存单元。该步骤可以由图1中的数据的存储装置来执行。
示例性地,如图4所示,在***的存储引擎启动时,可以初始化内存单元池,例如DirectMemory池(直接内存池),以及初始化定量的内存单元放入其中,具体地,DirectMemory池中可以包括多个预设大小的内存单元。进一步地,DirectMemory池中的多个预设大小的内存单元通过堆栈的方式进行组织,以在数据写入时能够顺序地写入内存单元中进行存储。在将数据写入磁盘后,可以将存储该数据的内存单元释放回直接内存池中。可选地,内存单元池中所有内存单元通过内存管理***(例如mlock***)调用锁住,以锁定内存单元池的内存空间,避免其他非法的待存储的数据(例如非法外部调用服务产生的数据)占用该内存空间,进而避免被换出造成延时。
104、从页缓存中读取数据。该步骤可以由图1中的数据的存储装置来执行。
示例性地,从页缓存中读取数据时,数据可见点是数据的有效数据部分,需要读取,然而,数据提交点一般不是数据的有效数据部分,因此无需读取。其中,数据可见点为允许从页缓存中读取的最新的数据所在的位置,最新写入到页缓存的数据所在的位置为数据提交点。应用该实施例,将数据写入和数据读取分离,在数据高并发场景也能够有效降低端到端延迟,避免高延时。
实施例二
前述详细介绍了本申请提供的数据的存储方法的实施例,下面将对用于实施前述方法的数据的存储装置进行详细说明。
图5为本申请又一实施例提供的数据的存储装置的结构示意图。
如图5所示,一种数据的存储装置可以包括第一写入模块51、第二写入模块52和第三写入模块53。第一写入模块51用于将待存储的数据写入预设的内存单元,第二写入模块52用于通过与将数据写入到内存单元的操作异步的方式,将预设的内存单元中的数据写入到页缓存中,第三写入模块53用于通过异步刷盘方式将页缓存中的数据写入到用于持久化存储的磁盘中。
在本申请一实施例中,内存单元包括多个内存页,在内存单元中,当前写入待存储的数据的位置为第一数据写入点,最新写入到页缓存的数据所在的位置为数据提交点。第二写入模块52可以具体用于采用数据提交点滞后第一数据写入点的写入方式将预设的内存单元中的数据写入到页缓存的过程中,较为优选地,数据提交点滞后第一数据写入点至少一个内存页。
在本申请一实施例中,页缓存包括多个缓存页,在页缓存中,当前写入数据的位置为第二数据写入点,最新写入到磁盘的数据所在的位置为数据刷盘点。第三写入模块53可以具体用于采用数据刷盘点滞后第二数据写入点的写入方式将页缓存中的数据写入到用于持久化存储的磁盘的过程中,较为优选地,数据刷盘点滞后第二数据写入点至少一个缓存页。
在本申请一实施例中,数据的存储装置还可以包括读取模块(图中未视出),该读取模块用于从页缓存中读取数据。
在本申请一实施例中,页缓存包括多个缓存页,在页缓存中,最新写入到磁盘的数据所在的位置为数据刷盘点,允许从页缓存中读取的最新的数据所在的位置为数据可见点。数据的存储装置还可以包括:动态调整模块,用于根据数据刷盘点动态调整数据可见点,使数据可见点滞后数据刷盘点,较为优选地,数据可见点滞后数据刷盘点至少一个缓存页。
实施例三
以上描述了数据的存储装置的内部功能和结构,实际中,该数据的存储装置可实现为电子设备。图6为本申请又一实施例提供的电子设备的结构示意图。如图6所示,该电子设备包括存储器61和处理器62。
存储器61,用于存储程序。除上述程序之外,存储器61还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,执行存储器61所存储的程序,以用于:将待存储的数据写入预设的内存单元;通过与将数据写入到内存单元的操作异步的方式,将预设的内存单元中的数据写入到页缓存中;通过异步刷盘方式将页缓存中的数据写入到用于持久化存储的磁盘中。
在一可选实施方式中,处理器62在将预设的内存单元中的数据写入到页缓存的过程中,使数据提交点点滞后第一数据写入点至少一个内存页。其中,内存单元包括多个内存页,在内存单元中,当前写入待存储的数据的位置为第一数据写入点,最新写入到页缓存的数据所在的位置为数据提交点。
在一可选实施方式中,处理器62在将页缓存中的数据写入到用于持久化存储的磁盘的过程中,数据刷盘点滞后第二数据写入点至少一个缓存页。其中,页缓存包括多个缓存页,在页缓存中,当前写入数据的位置为第二数据写入点,最新写入到磁盘的数据所在的位置为数据刷盘点。
在一可选实施方式中,处理器62从页缓存中读取数据。
在一可选实施方式中,处理器62根据数据刷盘点动态调整数据可见点,且使数据可见点滞后数据刷盘点至少一个缓存页。其中,页缓存包括多个缓存页,在页缓存中,最新写入到磁盘的数据所在的位置为数据刷盘点,允许从页缓存中读取的最新的数据所在的位置为数据可见点。
在一可选实施方式中,处理器62在将待存储的数据写入预设的内存单元之前,初始化内存单元池,并通过内存管理***将内存单元池对应的内存空间锁定,内存单元池包括多个通过堆栈方式组织内存单元。
进一步,如图6所示,电子设备还包括:通信组件63、电源组件64、音频组件65、显示器66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
通信组件63被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件63经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件63还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
基于通信组件63,处理器62可以通过通信组件63外部调用服务产生的数据传输到存储引擎中,以及通过通信组件63将存储引擎中的数据传输到外部调用服务。
电源组件64,为电子设备的各种组件提供电力。电源组件64可以包括电源管理***,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件65被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器61或经由通信组件63发送。在一些实施例中,音频组件65还包括一个扬声器,用于输出音频信号。
显示器66包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
在本申请实施例中,通过先将待存储的数据写入预设的内存单元,然后异步再提交到页缓存中,最后再异步刷盘到磁盘中,相对于现有技术而言,增加了一级数据的缓冲存储,通过两次异步存储处理,有效地避免了高并发数据场景下,数据存储的高延时情况。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种数据的存储方法,其特征在于,包括:
将待存储的数据写入预设的内存单元;
通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
2.根据权利要求1所述的方法,其特征在于,所述内存单元包括多个内存页,在所述内存单元中,当前写入所述待存储的数据的位置为第一数据写入点,最新写入到页缓存的数据所在的位置为数据提交点;
在将所述预设的内存单元中的数据写入到页缓存的过程中,所述数据提交点滞后所述第一数据写入点。
3.根据权利要求2所述的方法,其特征在于,所述数据提交点滞后所述第一数据写入点具体为:所述数据提交点滞后所述第一数据写入点至少一个内存页。
4.根据权利要求1所述的方法,其特征在于,所述页缓存包括多个缓存页,在所述页缓存中,当前写入所述数据的位置为第二数据写入点,最新写入到所述磁盘的数据所在的位置为数据刷盘点,
在将所述页缓存中的数据写入到用于持久化存储的磁盘的过程中,所述数据刷盘点滞后所述第二数据写入点。
5.根据权利要求4所述的方法,其特征在于,所述数据刷盘点滞后所述第二数据写入点具体为:所述数据刷盘点滞后所述第二数据写入点至少一个缓存页。
6.根据权利要求1所述的方法,其特征在于,所述页缓存包括多个缓存页,在所述页缓存中,最新写入到所述磁盘的数据所在的位置为数据刷盘点,允许从所述页缓存中读取的最新的数据所在的位置为数据可见点,所述方法还包括:
根据所述数据刷盘点动态调整所述数据可见点,使所述数据可见点滞后所述数据刷盘点。
7.根据权利要求6所述的方法,其特征在于,所述数据可见点滞后所述数据刷盘点具体为:所述数据可见点滞后所述数据刷盘点至少一个缓存页。
8.根据权利要求1至7任一所述的方法,其特征在于,还包括:从所述页缓存中读取所述数据。
9.根据权利要求1所述的存储方法,其特征在于,在将待存储的数据写入预设的内存单元之前,还包括:
初始化内存单元池,并通过内存管理***将所述内存单元池对应的内存空间锁定,所述内存单元池包括多个通过堆栈方式组织所述内存单元。
10.一种数据的存储装置,其特征在于,包括:
第一写入模块,用于将待存储的数据写入预设的内存单元;
第二写入模块,用于通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
第三写入模块,用于通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
11.根据权利要求10所述的装置,其特征在于,所述内存单元包括多个内存页,在所述内存单元中,当前写入所述待存储的数据的位置为第一数据写入点,最新写入到页缓存的数据所在的位置为数据提交点;
所述第二写入模块具体用于采用所述数据提交点滞后所述第一数据写入点至少一个内存页的写入方式,将所述预设的内存单元中的数据写入到页缓存的过程中。
12.根据权利要求10所述的装置,其特征在于,所述页缓存包括多个缓存页,在所述页缓存中,当前写入所述数据的位置为第二数据写入点,最新写入到所述磁盘的数据所在的位置为数据刷盘点,
所述第三写入模块具体用于采用所述数据刷盘点滞后所述第二数据写入点至少一个缓存页的写入方式,将所述页缓存中的数据写入到用于持久化存储的磁盘的过程中。
13.根据权利要求10所述的装置,其特征在于,所述页缓存包括多个缓存页,在所述页缓存中,最新写入到所述磁盘的数据所在的位置为数据刷盘点,允许从所述页缓存中读取的最新的数据所在的位置为数据可见点,所述装置还包括:
动态调整模块,用于根据所述数据刷盘点动态调整所述数据可见点,使所述数据可见点滞后所述数据刷盘点至少一个缓存页。
14.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
将待存储的数据写入预设的内存单元;
通过与将所述数据写入到所述内存单元的操作异步的方式,将所述预设的内存单元中的数据写入到页缓存中;
通过异步刷盘方式将所述页缓存中的数据写入到用于持久化存储的磁盘中。
15.根据权利要求14所述的电子设备,其特征在于,所述内存单元包括多个内存页,在所述内存单元中,当前写入所述待存储的数据的位置为第一数据写入点,最新写入到页缓存的数据所在的位置为数据提交点;
所述处理器在将所述预设的内存单元中的数据写入到页缓存的过程中,所述数据提交点滞后所述第一数据写入点至少一个内存页。
16.根据权利要求14所述的电子设备,其特征在于,所述页缓存包括多个缓存页,在所述页缓存中,当前写入所述数据的位置为第二数据写入点,最新写入到所述磁盘的数据所在的位置为数据刷盘点,
所述处理器在将所述页缓存中的数据写入到用于持久化存储的磁盘的过程中,所述数据刷盘点滞后所述第二数据写入点至少一个缓存页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611088328.9A CN108132757B (zh) | 2016-12-01 | 2016-12-01 | 数据的存储方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611088328.9A CN108132757B (zh) | 2016-12-01 | 2016-12-01 | 数据的存储方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108132757A true CN108132757A (zh) | 2018-06-08 |
CN108132757B CN108132757B (zh) | 2021-10-19 |
Family
ID=62387984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611088328.9A Active CN108132757B (zh) | 2016-12-01 | 2016-12-01 | 数据的存储方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108132757B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961138A (zh) * | 2020-07-21 | 2022-01-21 | 北京金山云网络技术有限公司 | 数据处理方法、装置、***和电子设备 |
CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505267A (zh) * | 2009-02-24 | 2009-08-12 | 南京联创科技股份有限公司 | 二级缓冲在大并发量实时信用控制中的应用方法 |
CN102331981A (zh) * | 2011-09-16 | 2012-01-25 | 国电南瑞科技股份有限公司 | 一种用于fpga中实现数据无冲突实时存取的方法 |
CN102355596A (zh) * | 2011-10-11 | 2012-02-15 | 浪潮电子信息产业股份有限公司 | 一种适用于视频服务的缓存服务器部署方法 |
CN102937955A (zh) * | 2011-11-29 | 2013-02-20 | Ut斯达康通讯有限公司 | 一种基于MySQL双存储引擎的内存数据库实现方法 |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
CN104202423A (zh) * | 2014-09-19 | 2014-12-10 | 中国人民财产保险股份有限公司 | 一种通过软件架构扩展缓存的*** |
CN104239231A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | 一种加速二级缓存预热的方法及装置 |
CN104267912A (zh) * | 2014-09-19 | 2015-01-07 | 北京联创信安科技有限公司 | 一种nas加速方法及*** |
CN104699626A (zh) * | 2013-12-10 | 2015-06-10 | 中兴通讯股份有限公司 | 终端内存处理方法、装置及终端 |
WO2015119840A1 (en) * | 2014-02-04 | 2015-08-13 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
US20160077744A1 (en) * | 2014-09-11 | 2016-03-17 | Netapp, Inc. | Deferred reference count update technique for low overhead volume metadata |
CN105630700A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种具有二级缓存结构的存储***及读写方法 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件***中异步批量创建文件的***及方法 |
CN105740166A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 缓存的读取、读取处理方法及装置 |
CN105938458A (zh) * | 2016-04-13 | 2016-09-14 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
CN106055281A (zh) * | 2016-06-29 | 2016-10-26 | 广州华多网络科技有限公司 | 数据写入方法和装置 |
CN106170016A (zh) * | 2016-07-28 | 2016-11-30 | 深圳市创梦天地科技有限公司 | 一种处理高并发数据请求的方法和*** |
-
2016
- 2016-12-01 CN CN201611088328.9A patent/CN108132757B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505267A (zh) * | 2009-02-24 | 2009-08-12 | 南京联创科技股份有限公司 | 二级缓冲在大并发量实时信用控制中的应用方法 |
CN102331981A (zh) * | 2011-09-16 | 2012-01-25 | 国电南瑞科技股份有限公司 | 一种用于fpga中实现数据无冲突实时存取的方法 |
CN102355596A (zh) * | 2011-10-11 | 2012-02-15 | 浪潮电子信息产业股份有限公司 | 一种适用于视频服务的缓存服务器部署方法 |
CN102937955A (zh) * | 2011-11-29 | 2013-02-20 | Ut斯达康通讯有限公司 | 一种基于MySQL双存储引擎的内存数据库实现方法 |
CN103309767A (zh) * | 2012-03-08 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种客户端日志处理方法和装置 |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN104699626A (zh) * | 2013-12-10 | 2015-06-10 | 中兴通讯股份有限公司 | 终端内存处理方法、装置及终端 |
WO2015119840A1 (en) * | 2014-02-04 | 2015-08-13 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
CN104239231A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | 一种加速二级缓存预热的方法及装置 |
US20160077744A1 (en) * | 2014-09-11 | 2016-03-17 | Netapp, Inc. | Deferred reference count update technique for low overhead volume metadata |
CN104267912A (zh) * | 2014-09-19 | 2015-01-07 | 北京联创信安科技有限公司 | 一种nas加速方法及*** |
CN104202423A (zh) * | 2014-09-19 | 2014-12-10 | 中国人民财产保险股份有限公司 | 一种通过软件架构扩展缓存的*** |
CN105740166A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 缓存的读取、读取处理方法及装置 |
CN105630700A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种具有二级缓存结构的存储***及读写方法 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件***中异步批量创建文件的***及方法 |
CN105938458A (zh) * | 2016-04-13 | 2016-09-14 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
CN106055281A (zh) * | 2016-06-29 | 2016-10-26 | 广州华多网络科技有限公司 | 数据写入方法和装置 |
CN106170016A (zh) * | 2016-07-28 | 2016-11-30 | 深圳市创梦天地科技有限公司 | 一种处理高并发数据请求的方法和*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961138A (zh) * | 2020-07-21 | 2022-01-21 | 北京金山云网络技术有限公司 | 数据处理方法、装置、***和电子设备 |
CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
CN114089912B (zh) * | 2021-10-19 | 2024-05-24 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108132757B (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2014237800B2 (en) | System and method for using multiple payment accounts using a single payment device | |
CN108132845A (zh) | 消息存储、投递方法和装置以及电子设备 | |
CN107451184A (zh) | 页面显示方法及装置、用户设备、存储介质 | |
US20170168727A1 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
US20100153618A1 (en) | Shared memory access techniques | |
CN104205078A (zh) | 具有降低的延迟的远程直接存储器访问 | |
CN108132757A (zh) | 数据的存储方法、装置及电子设备 | |
US20160014594A1 (en) | Terminal read with smart card update list | |
WO2023108989A1 (zh) | 数据访问方法、装置及非临时性计算机可读存储介质 | |
CN107133907A (zh) | 图形绘制方法和装置 | |
CN108132816A (zh) | 应用中实现本地框架层调用的方法和装置 | |
US7483313B2 (en) | Dual ported memory with selective read and write protection | |
CN112181275A (zh) | 一种数据处理器及数据处理方法 | |
US20100077112A1 (en) | Data storage management system and method thereof | |
CN115729684B (zh) | 输入输出请求处理方法和电子设备 | |
CN115375444A (zh) | 一种客户流失报警方法、***、电子设备及存储介质 | |
CN107730230A (zh) | 一种支付方法和商户客户端 | |
CN102750487A (zh) | 键盘输入真实性验证方法及终端设备 | |
US20160062925A1 (en) | Method and system for managing storage device operations by a host device | |
KR101765042B1 (ko) | 저장부에 대한 접근 관리 방법 및 이를 실행하는 서비스 장치 | |
CN111695895B (zh) | 一种虚拟账户的管理方法及装置 | |
US20240259185A1 (en) | Compression of matrices for digital security | |
CN111951100B (zh) | 基于集团客户的账户维护方法及装置 | |
CN109889559B (zh) | 涉税业务的中间件***与涉税业务处理方法 | |
US11570099B2 (en) | System and method for autopartitioning and processing electronic resources |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230619 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province, 310030 Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |