CN113311994A - 一种基于高并发的数据缓存方法 - Google Patents

一种基于高并发的数据缓存方法 Download PDF

Info

Publication number
CN113311994A
CN113311994A CN202110384690.5A CN202110384690A CN113311994A CN 113311994 A CN113311994 A CN 113311994A CN 202110384690 A CN202110384690 A CN 202110384690A CN 113311994 A CN113311994 A CN 113311994A
Authority
CN
China
Prior art keywords
data
cache
cache block
state
block
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
Application number
CN202110384690.5A
Other languages
English (en)
Inventor
姜勇
杨雷
李印
王伟平
王玉娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongqi Scc Beijing Finance Information Service Co ltd
Original Assignee
Zhongqi Scc Beijing Finance Information Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongqi Scc Beijing Finance Information Service Co ltd filed Critical Zhongqi Scc Beijing Finance Information Service Co ltd
Priority to CN202110384690.5A priority Critical patent/CN113311994A/zh
Publication of CN113311994A publication Critical patent/CN113311994A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data 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

本发明公开了一种基于高并发的数据缓存方法,包括:将数据缓存分为多组不同路径分区,通过控制单元控制各组数据缓存模块,多个数据缓存同时进行数据写入,通过存储器管理模块进行管理,在相同周期内访问第一缓存块和第N缓存块;针对缓存块的数据带上专属标签,当缓存块的数据进入内核后,在内存中维护一个哈希表,将同一ID的哈希在同一个地方做请求合并,经过设定的时间后统一提交。本发明提出的缓存方法,同时进行数据的写入与读取,将多个数据缓存组合起来,分别配置不同的访问路径,通过访问不同的路径来访问数据缓存,通过遍历策略来调解缓存路径的变更,可以支持多个网络端口接收处理高并发情况下的任务,提高数据访问存取的正确性和速度。

Description

一种基于高并发的数据缓存方法
技术领域
本发明内容涉及计算机技术领域,尤其涉及一种基于高并发的数据缓存方法。
背景技术
在互联网数据访问中,在对访问服务端进行查询输入等请求服务时,会频繁相关内容,将这些内容数据存储,在反复读取数据的过程中,影响数据访问的速度。通过在内存中建立缓存来减少数据访问次数,提高读写速度。现有技术中的数据采集过程中,经常遇到数据采集率高、速度快,而数据处理时间长,速度较慢的矛盾,当缓存容量大时,这种原始数据的速率较高,对网络接收和数据处理提出了较高的要求,每秒需要同时处理大量数据,若无法及时处理,一些短期使用的关键字长期在内存中存在,浪费内存,还会导致数据筛选有效性降低,不能保证得到准确的数据,影响精准性以及访问速度。
随着大规模云计算技术和Web应用的快速发展,数据存储数量和速度成指数倍增长,在空间利用率和并发执行效率上已无法满足日益增长的快速数据读写需求。现有技术中没有解决在数据加载在内存中和访问数据同时进行的问题,因此,对基于高并发情况的数据缓存优化成为目前亟待解决的问题。
发明内容
本发明内容所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种基于高并发的数据缓存方法,解决了访问与加载缓存数据同时进行的高并发情况下,访问速度缓慢,且影响访问存取数据正确性的问题。
本发明内容的目的及解决的技术问题是采用以下技术方案来实现的:
一种基于高并发的数据缓存方法,包括:
1.将数据缓存分为多组不同路径分区,通过控制单元控制各组数据缓存模块,多个数据缓存同时进行数据写入,一组数据写入至相应数据缓存时,确定写入数据是否为存储请求的数据,所述写入数据为存储请求的数据时,上述缓存分区为第一缓存块,另划分出多个缓存块,为第二缓存块、第三缓存块至第N缓存块,其中N为另划分的缓存块数量减1,通过存储器管理模块进行管理,在相同周期内访问第一缓存块和所述第N缓存块;
2.对所述第一缓存块进行访问时,所述第二缓存块至第N缓存块处于空闲等待状态,在对第一缓存块进行访问的同时访问处于空闲等待状态的缓存块;
3.采取遍历的方式访问各缓存块,实时监控是否存在空闲等待状态的缓存分区,若有处于空闲状态的缓存分区,选定一组空闲状态的缓存分区置为写锁定状态;向所述写锁定状态的缓存分区写入该组数据,判断所述数据是否写入成功:若写入成功,则该组数据写入完成,结束本次数据写入;若没有处于空闲状态的缓存分区,则结束该组数据写入;
4.针对缓存块的数据带上专属标签,当缓存块的数据进入内核后,在内存中维护一个哈希表,将同一ID的哈希在同一个地方做请求合并,经过设定的时间后统一提交,防止并发数据缓存处理发生问题。
优选的,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第二缓存块,所述第二缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
优选的,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第N缓存块,所述第N缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
优选的,在并发情况发生时,多个数据块的缓存数据通过队列又再次汇集。
优选的,所述基于高并发的数据缓存方法通过计算机系统来实现,所述计算机系统包括具有处理能力、存储能力和网络吞吐能力的计算机和网络设备,包括但不限于计算机、路由器、交换机。
优选的,所述控制单元包括一个或多个中央处理器,控制所述存储器管理模块对缓存块进行管理。
优选的,存储器管理模块包括主存储器和辅助存储器,所述辅助存储器配置为空闲等待状态缓存块的数据存储设备,在所述第一缓存块进行数据缓存,主存储器不足以存储所有工作数据时进行辅助存储。
本发明提出的基于高并发的数据缓存方法,同时进行数据的写入与读取,将多个数据缓存组合起来,分别配置不同的访问路径,通过访问不同的路径来访问数据缓存,各个访问路径不相交,通过遍历策略来调解缓存路径的变更,可以支持多个网络端口接收处理高并发情况下的任务,提高数据访问存取的正确性和速度。
具体实施方式
下面对本发明内容的技术方案做进一步的详细说明。显然,所描述的实施例仅仅是本发明内容一部分实施例,而不是全部的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明内容保护的范围。
应当理解,尽管这里可以使用术语第一、第二、第三等描述各个元件、组件和/或部分,但这些元件、组件和/或部分不受这些术语限制。
一种基于高并发的数据缓存方法,包括:
1.将数据缓存分为多组不同路径分区,通过控制单元控制各组数据缓存模块,多个数据缓存同时进行数据写入,一组数据写入至相应数据缓存时,确定写入数据是否为存储请求的数据,所述写入数据为存储请求的数据时,上述缓存分区为第一缓存块,另划分出多个缓存块,为第二缓存块、第三缓存块至第N缓存块,其中N为另划分的缓存块数量减1,通过存储器管理模块进行管理,在相同周期内访问第一缓存块和所述第N缓存块;
2.对所述第一缓存块进行访问时,所述第二缓存块至第N缓存块处于空闲等待状态,在对第一缓存块进行访问的同时访问处于空闲等待状态的缓存块;
3.采取遍历的方式访问各缓存块,实时监控是否存在空闲等待状态的缓存分区,若有处于空闲状态的缓存分区,选定一组空闲状态的缓存分区置为写锁定状态;向所述写锁定状态的缓存分区写入该组数据,判断所述数据是否写入成功:若写入成功,则该组数据写入完成,结束本次数据写入;若没有处于空闲状态的缓存分区,则结束该组数据写入;
4.针对缓存块的数据带上专属标签,当缓存块的数据进入内核后,在内存中维护一个哈希表,将同一ID的哈希在同一个地方做请求合并,经过设定的时间后统一提交,防止并发数据缓存处理发生问题。
在一实施例中,可采取遍历的方式访问各缓存块,实时监控是否存在空闲等待状态的缓存分区,也可在进行数据读取时,可采用与数据写入访问相同的顺序的进行数据的读出,从而当缓存分区写满并置为写满状态后,数据读取线程能在第一时间内访问该缓存分区,进而该缓存分区被置为读锁定状态并进行数据的读取,这样设置,可尽量节约时间,提高数据的读出效率。同时,也可采取遍历、缓存分区写满主动上报等方式实时监测是否存在写满状态的缓存分区,从进行数据的读出。
在一实施例中,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第二缓存块,所述第二缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
在一实施例中,所述缓存分区内部采用分级管理的方式进行数据写入操作,所述缓存分区中包括多个大小相同的缓存扇区,且所述缓存扇区一一编码,且包括多个大小相同的缓存页面,所述每组写入数据的大小与所述缓存页面大小相同设置。
在一实施例中,判断所述数据是否写入成功包括以下步骤:
每组数据写入缓存分区的每一缓存扇区后,缓存扇区内部计数,确定当前缓存扇区编码,比较所述缓存扇区编码与所述缓存扇区的最大编码数大小:若该缓存扇区编码小于所述缓存分区的最大编码数,判断下一组数据能够在本缓存分区中写入成功,若缓存扇区编码等于所述缓存分区的最大编码数,则判断所述缓存分区已满,转入下一步骤,将下一组数据写入下一个缓存分区中。
在一实施例中,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第N缓存块,所述第N缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
在一实施例中,在并发情况发生时,多个数据块的缓存数据通过队列又再次汇集。
在一实施例中,所述基于高并发的数据缓存方法通过计算机系统来实现,所述计算机系统包括具有处理能力、存储能力和网络吞吐能力的计算机和网络设备,包括但不限于计算机、路由器、交换机。
在一实施例中,所述控制单元包括一个或多个中央处理器,控制所述存储器管理模块对缓存块进行管理。
在一实施例中,存储器管理模块包括主存储器和辅助存储器,所述辅助存储器配置为空闲等待状态缓存块的数据存储设备,在所述第一缓存块进行数据缓存,主存储器不足以存储所有工作数据时进行辅助存储。
本发明提出的基于高并发的数据缓存方法,同时进行数据的写入与读取,将多个数据缓存组合起来,分别配置不同的访问路径,通过访问不同的路径来访问数据缓存,各个访问路径不相交,通过遍历策略来调解缓存路径的变更,可以支持多个网络端口接收处理高并发情况下的任务,提高数据访问存取的正确性和速度。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (7)

1.一种基于高并发的数据缓存方法,其特征在于,包括:
(1)将数据缓存分为多组不同路径分区,通过控制单元控制各组数据缓存模块,多个数据缓存同时进行数据写入,一组数据写入至相应数据缓存时,确定写入数据是否为存储请求的数据,所述写入数据为存储请求的数据时,上述缓存分区为第一缓存块,另划分出多个缓存块,为第二缓存块、第三缓存块至第N缓存块,其中N为另划分的缓存块数量减1,通过存储器管理模块进行管理,在相同周期内访问第一缓存块和所述第N缓存块;
(2)对所述第一缓存块进行访问时,所述第二缓存块至第N缓存块处于空闲等待状态,在对第一缓存块进行访问的同时访问处于空闲等待状态的缓存块;
(3)采取遍历的方式访问各缓存块,实时监控是否存在空闲等待状态的缓存分区,若有处于空闲状态的缓存分区,选定一组空闲状态的缓存分区置为写锁定状态;向所述写锁定状态的缓存分区写入该组数据,判断所述数据是否写入成功:若写入成功,则该组数据写入完成,结束本次数据写入;若没有处于空闲状态的缓存分区,则结束该组数据写入;
(4)针对缓存块的数据带上专属标签,当缓存块的数据进入内核后,在内存中维护一个哈希表,将同一ID的哈希在同一个地方做请求合并,经过设定的时间后统一提交,防止并发数据缓存处理发生问题。
2.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第二缓存块,所述第二缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
3.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,当第一缓存块数据为写满状态时进行读锁定,仅支持数据读取,此时将需要写入的数据缓存至空闲等待状态的第N缓存块,所述第N缓存块的状态变为访问状态,所述第一缓存块数据读取完成后,处于空闲等待状态,所述第一缓存块数据缓存区无数据。
4.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,在并发情况发生时,多个数据块的缓存数据通过队列又再次汇集。
5.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,所述基于高并发的数据缓存方法通过计算机系统来实现,所述计算机系统包括具有处理能力、存储能力和网络吞吐能力的计算机和网络设备,包括但不限于计算机、路由器、交换机。
6.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,所述控制单元包括一个或多个中央处理器,控制所述存储器管理模块对缓存块进行管理。
7.根据权利要求1所述的一种基于高并发的数据缓存方法,其特征在于,存储器管理模块包括主存储器和辅助存储器,所述辅助存储器配置为空闲等待状态缓存块的数据存储设备,在所述第一缓存块进行数据缓存,主存储器不足以存储所有工作数据时进行辅助存储。
CN202110384690.5A 2021-04-09 2021-04-09 一种基于高并发的数据缓存方法 Pending CN113311994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110384690.5A CN113311994A (zh) 2021-04-09 2021-04-09 一种基于高并发的数据缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110384690.5A CN113311994A (zh) 2021-04-09 2021-04-09 一种基于高并发的数据缓存方法

Publications (1)

Publication Number Publication Date
CN113311994A true CN113311994A (zh) 2021-08-27

Family

ID=77372138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110384690.5A Pending CN113311994A (zh) 2021-04-09 2021-04-09 一种基于高并发的数据缓存方法

Country Status (1)

Country Link
CN (1) CN113311994A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质
CN117555933A (zh) * 2024-01-12 2024-02-13 深圳市智百威科技发展有限公司 一种解决高并发数据访问的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459599A (zh) * 2008-10-30 2009-06-17 北京闪联互动网络科技有限责任公司 一种实现缓存数据访问与加载并发进行的方法及系统
CN105868123A (zh) * 2016-04-07 2016-08-17 武汉数字派特科技有限公司 一种并发数据的缓存结构及方法
CN107391041A (zh) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 一种数据访问方法及装置
CN108170758A (zh) * 2017-12-22 2018-06-15 福建天泉教育科技有限公司 高并发数据存储方法及计算机可读存储介质
CN111177030A (zh) * 2016-08-12 2020-05-19 谷歌有限责任公司 混合存储器管理
US20200387448A1 (en) * 2019-06-05 2020-12-10 Pure Storage, Inc. Tiered caching of data in a storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459599A (zh) * 2008-10-30 2009-06-17 北京闪联互动网络科技有限责任公司 一种实现缓存数据访问与加载并发进行的方法及系统
CN105868123A (zh) * 2016-04-07 2016-08-17 武汉数字派特科技有限公司 一种并发数据的缓存结构及方法
CN111177030A (zh) * 2016-08-12 2020-05-19 谷歌有限责任公司 混合存储器管理
CN107391041A (zh) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 一种数据访问方法及装置
CN108170758A (zh) * 2017-12-22 2018-06-15 福建天泉教育科技有限公司 高并发数据存储方法及计算机可读存储介质
US20200387448A1 (en) * 2019-06-05 2020-12-10 Pure Storage, Inc. Tiered caching of data in a storage system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质
CN117555933A (zh) * 2024-01-12 2024-02-13 深圳市智百威科技发展有限公司 一种解决高并发数据访问的方法及系统
CN117555933B (zh) * 2024-01-12 2024-03-22 深圳市智百威科技发展有限公司 一种解决高并发数据访问的方法及系统

Similar Documents

Publication Publication Date Title
US10126964B2 (en) Hardware based map acceleration using forward and reverse cache tables
US7330938B2 (en) Hybrid-cache having static and dynamic portions
US8966204B2 (en) Data migration between memory locations
US8478931B1 (en) Using non-volatile memory resources to enable a virtual buffer pool for a database application
CN109388590B (zh) 提升多通道dma访问性能的动态缓存块管理方法和装置
EP2645259B1 (en) Method, device and system for caching data in multi-node system
JP2008021314A (ja) データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ
CN113311994A (zh) 一种基于高并发的数据缓存方法
US10198180B2 (en) Method and apparatus for managing storage device
EP3901775A1 (en) Technologies for media management in column-addressable memory media systems
CN111488323B (zh) 一种数据处理方法、装置及电子设备
CN112148736A (zh) 缓存数据的方法、设备及存储介质
CN115421924A (zh) 一种内存分配方法、装置及设备
Song et al. Rethinking graph data placement for graph neural network training on multiple GPUs
CN116382599B (zh) 一种面向分布式集群的任务执行方法、装置、介质及设备
US9699263B1 (en) Automatic read and write acceleration of data accessed by virtual machines
KR20210103393A (ko) 낮은-지역성 데이터에서 높은-지역성 데이터로의 변환을 관리하기 위한 시스템 및 방법
KR20160121819A (ko) 이종 메모리 기반 데이터 관리 장치
CN115203076B (zh) 数据结构优化的专用存储器缓存
US11899970B2 (en) Storage system and method to perform workload associated with a host
CN114785662B (zh) 一种存储管理方法、装置、设备及机器可读存储介质
JPH02287648A (ja) Lruキヤツシユ管理方法
US11474938B2 (en) Data storage system with multiple-size object allocator for disk cache
US10579519B2 (en) Interleaved access of memory
CN113297106A (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