CN107682424A - 一种针对海量数据高效缓存及管理的方法 - Google Patents
一种针对海量数据高效缓存及管理的方法 Download PDFInfo
- Publication number
- CN107682424A CN107682424A CN201710869212.7A CN201710869212A CN107682424A CN 107682424 A CN107682424 A CN 107682424A CN 201710869212 A CN201710869212 A CN 201710869212A CN 107682424 A CN107682424 A CN 107682424A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- queue
- message
- memory
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种针对海量数据高效缓存及管理的方法,首先生成空闲内存队列块;启动网络数据接收功能时,采用异步接收技术,从空闲内存队列块中获取空闲消息块,如果空闲消息队列为空,则有系统申请内存块,将内存块赋予异步接收函数;当网络数据已经接收完成时,操作系统将自动调用异步处理函数,这时内存块将是已经存储网络消息的数据块,将包含网络消息的数据块加入网络数据消息队列,并通知数据库存储模块存储消息数据;本发明采用异步数据处理开发技术,使操作系统接收的网络数据直接存储于预分配的内存块,避免了频繁动态申请内存块,极大的提高了系统资源利用率;同时本发明采用队列缓存机制,可以使系统能够应付突发大量数据的存储。
Description
技术领域
本发明涉及数据处理技术领域,具体是一种针对海量数据高效缓存及管理的方法。
背景技术
目前采用双机备份的技术来保证数据采集的高可靠性,双机备份包括采集过程的备份以及后台数据的备份,当前后台数据库备份技术已经成熟,只需利用合理的数据库技术,就可以达到数据库引擎以及数据库存储的备份目的。
双机备份系统具有高可靠性、高实时性和高信息吞吐量,其数据库管理系统为完成其基本功能,可以使用动态内存分配子系统来获取内存空间。而常用的系统调用malloc()和free()存在着效率不够高、可能产生内存碎片的问题,而由于内存空间受限,内存碎片的产生可能会导致内存空间不足,造成数据库操作失败,从而影响系统的可靠性和安全性,这对于安全关键的系统是不可接受的。
另外,由于双机备份系统接收的数据处于高速海量网络数据,系统接收数据需要申请内存空间存储接收的网络数据,在高速环境下,频繁申请系统内存,一方面申请释放内存空间会消耗大量的内存资源,另一方面,也会造成系统存在大量的不可用空闲内存,这时尽管操作系统有内存管理机制合并内存块,但是不可避免也会消耗大量系统资源,极大地降低系统性能。
发明内容
本发明的目的在于提供一种针对海量数据高效缓存及管理的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种针对海量数据高效缓存及管理的方法,具体步骤如下:
(1)首先生成空闲内存队列块;
(2)启动网络数据接收功能时,采用异步接收技术,从空闲内存队列块中获取空闲消息块,如果空闲消息队列为空,则有系统申请内存块,将内存块赋予异步接收函数;
(3)当网络数据已经接收完成时,操作系统将自动调用异步处理函数,这时内存块将是已经存储网络消息的数据块,将包含网络消息的数据块加入网络数据消息队列,并通知数据库存储模块存储消息数据;
(4)数据库存储模块从网络数据消息队列头获取存储数据的消息块,将网络数据存储于数据块,当消息队列中数据量大于5个时,则每次将5个数据块构造一个存储过程,一次将5个数据同时存入数据库,以提高数据存储效率;
(5)数据存储成功后,将插入成功的数据块内存插入空闲内存块队列。
与现有技术相比,本发明的有益效果是:
本发明通过申请内存使之成为空闲数据块,采用异步数据处理开发技术,使操作系统接收的网络数据直接存储于预分配的内存块,避免了频繁动态申请内存块,减少了大量的系统调用,极大的提高了系统资源利用率;同时本发明采用队列缓存机制,可以使系统能够应付突发大量数据的存储。
附图说明
图1为本发明的方法示意图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
请参阅图1,一种针对海量数据高效缓存及管理的方法,具体步骤如下:
(1)首先生成空闲内存队列块;
(2)启动网络数据接收功能时,采用异步接收技术,从空闲内存队列块中获取空闲消息块,如果空闲消息队列为空,则有系统申请内存块,将内存块赋予异步接收函数;
(3)当网络数据已经接收完成时,操作系统将自动调用异步处理函数,这时内存块将是已经存储网络消息的数据块,将包含网络消息的数据块加入网络数据消息队列,并通知数据库存储模块存储消息数据;
(4)数据库存储模块从网络数据消息队列头获取存储数据的消息块,将网络数据存储于数据块,当消息队列中数据量大于5个时,则每次将5个数据块构造一个存储过程,一次将5个数据同时存入数据库,以提高数据存储效率;
(5)数据存储成功后,将插入成功的数据块内存插入空闲内存块队列。
本发明通过申请内存使之成为空闲数据块,采用异步数据处理开发技术,使操作系统接收的网络数据直接存储于预分配的内存块,避免了频繁动态申请内存块,减少了大量的系统调用,极大的提高了系统资源利用率;同时本发明采用队列缓存机制,可以使系统能够应付突发大量数据的存储。
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
Claims (1)
1.一种针对海量数据高效缓存及管理的方法,其特征在于,具体步骤如下:
(1)首先生成空闲内存队列块;
(2)启动网络数据接收功能时,采用异步接收技术,从空闲内存队列块中获取空闲消息块,如果空闲消息队列为空,则有系统申请内存块,将内存块赋予异步接收函数;
(3)当网络数据已经接收完成时,操作系统将自动调用异步处理函数,这时内存块将是已经存储网络消息的数据块,将包含网络消息的数据块加入网络数据消息队列,并通知数据库存储模块存储消息数据;
(4)数据库存储模块从网络数据消息队列头获取存储数据的消息块,将网络数据存储于数据块,当消息队列中数据量大于5个时,则每次将5个数据块构造一个存储过程,一次将5个数据同时存入数据库,以提高数据存储效率;
(5)数据存储成功后,将插入成功的数据块内存插入空闲内存块队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710869212.7A CN107682424A (zh) | 2017-09-23 | 2017-09-23 | 一种针对海量数据高效缓存及管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710869212.7A CN107682424A (zh) | 2017-09-23 | 2017-09-23 | 一种针对海量数据高效缓存及管理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107682424A true CN107682424A (zh) | 2018-02-09 |
Family
ID=61137133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710869212.7A Pending CN107682424A (zh) | 2017-09-23 | 2017-09-23 | 一种针对海量数据高效缓存及管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682424A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144891A (zh) * | 2018-07-20 | 2019-01-04 | 新华三技术有限公司 | 一种数据存储方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203706B2 (en) * | 2002-08-01 | 2007-04-10 | Oracle International Corporation | Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue |
KR20080089986A (ko) * | 2007-04-03 | 2008-10-08 | 삼성전자주식회사 | 휴대 단말기의 메시지 전송 방법 및 장치 |
CN101739296A (zh) * | 2009-12-28 | 2010-06-16 | 广州菲音信息科技有限公司 | 数据处理系统和方法 |
CN101754169A (zh) * | 2008-12-02 | 2010-06-23 | 中兴通讯股份有限公司 | 一种归属位置寄存器受理指令的业务管理方法及其系统 |
CN102279810A (zh) * | 2011-08-11 | 2011-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储服务器及其缓存数据的方法 |
CN102761489A (zh) * | 2012-07-17 | 2012-10-31 | 中国科学技术大学苏州研究院 | 基于流水线模式的数据包零拷贝的核间通信方法 |
CN103024014A (zh) * | 2012-12-03 | 2013-04-03 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
-
2017
- 2017-09-23 CN CN201710869212.7A patent/CN107682424A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203706B2 (en) * | 2002-08-01 | 2007-04-10 | Oracle International Corporation | Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue |
KR20080089986A (ko) * | 2007-04-03 | 2008-10-08 | 삼성전자주식회사 | 휴대 단말기의 메시지 전송 방법 및 장치 |
CN101754169A (zh) * | 2008-12-02 | 2010-06-23 | 中兴通讯股份有限公司 | 一种归属位置寄存器受理指令的业务管理方法及其系统 |
CN101739296A (zh) * | 2009-12-28 | 2010-06-16 | 广州菲音信息科技有限公司 | 数据处理系统和方法 |
CN102279810A (zh) * | 2011-08-11 | 2011-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储服务器及其缓存数据的方法 |
CN102761489A (zh) * | 2012-07-17 | 2012-10-31 | 中国科学技术大学苏州研究院 | 基于流水线模式的数据包零拷贝的核间通信方法 |
CN103024014A (zh) * | 2012-12-03 | 2013-04-03 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144891A (zh) * | 2018-07-20 | 2019-01-04 | 新华三技术有限公司 | 一种数据存储方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170192819A1 (en) | Method and electronic device for resource allocation | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
US20150213134A1 (en) | Data query method and system and storage medium | |
CN104601696A (zh) | 服务处理方法、服务调用框架、装置和架构 | |
WO2015062228A1 (zh) | 一种访问共享内存的方法和装置 | |
CN112486913B (zh) | 一种基于集群环境下的日志异步存储方法和设备 | |
CN110069557B (zh) | 数据传输方法、装置、设备及存储介质 | |
US20230128085A1 (en) | Data aggregation processing apparatus and method, and storage medium | |
CN110764688A (zh) | 对数据进行处理的方法和装置 | |
WO2021012795A1 (zh) | 网络节点的调度方法、装置、电子设备和存储介质 | |
CN105610917A (zh) | 实现系统中同步数据修复的方法及系统 | |
CN110704212A (zh) | 一种消息处理方法及装置 | |
CN107682424A (zh) | 一种针对海量数据高效缓存及管理的方法 | |
CN104391876A (zh) | 一种静态数据存储及查询方法及系统 | |
CN113037851A (zh) | 一种基于存储实现的针对云手机系统超分的方法 | |
CN106357557A (zh) | 一种消息处理方法及装置 | |
CN116126916A (zh) | 一种基于智能网卡的数据查询方法、装置及设备 | |
CN116366634A (zh) | 一种文件下载方法、装置、终端、源服务器及介质 | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN106934044B (zh) | 一种数据处理方法及装置 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN113744013B (zh) | 订单号的生成方法、装置、服务器及存储介质 | |
CN112231409B (zh) | 数据库同步的初始化装载方法、装置、设备和存储介质 | |
CN110851477B (zh) | 流数据处理方法、装置、计算机设备和存储介质 | |
US20130198138A1 (en) | Model for capturing audit trail data with reduced probability of loss of critical data |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180209 |