CN110716814B - 一种进程间大数据量通讯的性能优化方法和装置 - Google Patents

一种进程间大数据量通讯的性能优化方法和装置 Download PDF

Info

Publication number
CN110716814B
CN110716814B CN201910877758.6A CN201910877758A CN110716814B CN 110716814 B CN110716814 B CN 110716814B CN 201910877758 A CN201910877758 A CN 201910877758A CN 110716814 B CN110716814 B CN 110716814B
Authority
CN
China
Prior art keywords
data
memory
data cache
layer
key information
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
Application number
CN201910877758.6A
Other languages
English (en)
Other versions
CN110716814A (zh
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.)
Heading Data Intelligence Co Ltd
Original Assignee
Heading Data Intelligence 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 Heading Data Intelligence Co Ltd filed Critical Heading Data Intelligence Co Ltd
Priority to CN201910877758.6A priority Critical patent/CN110716814B/zh
Publication of CN110716814A publication Critical patent/CN110716814A/zh
Application granted granted Critical
Publication of CN110716814B publication Critical patent/CN110716814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种进程间大数据量通讯的性能优化方法和装置,通过对缓存进行分层,少数访问量高的数据可以在内存直接访问到,有利于提升总体性能,大量的访问量低的数据存储在文件/文件映射内存中,这样可以避免数据量太大而占用过多内存,不会影响系统中其他程序的运行;同时可以根据系统的硬件配置,调整内存的占用阈值,有利于达到空间和性能的平衡。

Description

一种进程间大数据量通讯的性能优化方法和装置
技术领域
本发明涉及计算机领域,更具体地,涉及一种进程间大数据量通讯的性能优化方法和装置。
背景技术
数据信息的安全主要包括数据信息的静态存储安全和数据信息的动态访问安全两个方面,数据信息的安全的核心是保护重要数据的安全。
随着智能网业务控制点SCP(Service ControlPoint,业务控制点)功能越来越复杂,业务控制点需要根据功能的不同划分为不同的模块,如业务状态控制模块、业务流程控制模块、业务管理模块、计费模块和话单处理模块等。为了便于管理和维护,将这些模块分解为独立的进程,各进程内部再进一步细分成不同的线程来完成模块的相关功能。
在进行进程间数据交互时,特别是异步场景中,会涉及到共享数据的暂存,现在通常会用以下的技术方式实现:
1)共享内存;
2)消息队列;
3)缓存文件;
为了完成智能网业务呼叫流程,各模块内部和各模块之间需要进行大量的消息交互,既有进程内的消息,也有进程间的消息。进程内各线程之间的消息发送相对比较简单,由于发送线程和接收线程在一个进程的地址空间中,发送线程只需要通过消息队列将消息体的指针发送给接收线程,接收线程就可以直接处理消息体指针。但对于进程间的通讯,如果将整个消息体的内容(数据)直接放入消息队列来进行发送,对操作系统的消息队列会形成很大的冲击,大量的消息可能导致操作系统消息队列阻塞,导致整个业务处理机的异常。因此,对于进程间的通讯,必需采用其它更加有效的方法来解决。
除了智能网络系统外,存在多个进程、且多个进程间有通讯需求的其它系统也有类似的情况。
解决以上问题的传统方法是进程间通讯模式结合使用消息队列和共享内存来进行进程间的通讯:发送进程将需要发送的消息体的内容(即数据)拷贝到接收进程对应的共享内存区域中,同时将消息体的内容在共享内存中的偏移地址(数据起始地址)和数据长度通过消息队列发送到接收进程。
进程间通讯模式解决了由于消息数过多,消息体内容所包含数据量过大而导致的消息队列阻塞的问题;但引发了一个新问题,即:当多个发送进程/线程同时向一个接收进程发送消息时,发送进程/线程同时向接收进程的共享内存区域写入消息体的内容,容易导致写冲突,即该共享内存区域中的同一个地址被多个发送进程同时写入数据,造成数据冲突;在多个发送进程存在大量并发消息的情况下,写冲突出现的概率很大。因此,在发送进程/线程将消息内容拷贝到接收进程的共享内存区域前,必需先获取进程间的互斥锁,才能保证数据的完整性。但是在写操作前增加互斥操作无疑降低了系统的并发度,导致系统整体性能的下降;并且互斥锁过多也会消耗大量的系统资源。
现有的几种方式存在以下的一些问题:
1)采用共享内存或者消息队列方式,内存占用可能会阶段性的随时间线性增长,占用大量内存,极大的影响系统内其他程序的运行
2)采用文件缓存的方式,虽然没有上述内存占用大的问题,但是牺牲了性能。
发明内容
为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种进程间大数据量通讯的性能优化方法和装置。
根据本发明实施例的第一方面,提供一种进程间大数据量通讯的性能优化方法,包括:
将进程间交互的数据缓存抽象为第一层数据缓存、第二层数据缓存和第三层数据缓层;
所述第一层数据缓存用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
所述第二层数据缓存用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
所述第三层数据缓存用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
作为优选的,所述第一层数据缓存用于基于内存数据的被访问次数排序建立内存热度表,所述内存热度表中基于被访问次数高低对所述内存数据进行排序,被访问次数高的内存数据热度高,访问次数低的数据热度低。
作为优选的,若所述第一层数据缓存存储的内存数据超过预设第一阈值,则将内存热度表中热度最低的内存数据移出至所述第二层数据缓存。
作为优选的,所述第二层数据缓存基于mmap文件映射内存存储内存数据,若内存数据大于预设第二阈值,则移出至第三层数据缓存。
作为优选的,若未查询到则将所述关键信息key值下发到第三层数据缓存后,还包括:
在所述第三层数据缓存中查询到内存数据并返回至第二层数据缓存,插入查询到的内存数据并在映射内存表中新建关键信息key值,将内存数据返回至第一层数据缓存。
作为优选的,所述第三层数据缓存还用于建立内存数据关键信息为key的文件路径表,存储时新生成文件,并将文件路径和关键信息key值对应存储到文件路径表中。
作为优选的,将内存数据返回至第二层数据缓存后,还包括:
将所述文件路径表中的数据删除,并删除文件。
根据本发明实施例的第二方面,提供了一种进程间大数据量通讯的性能优化装置,包括第一数据缓存模块、第二数据缓存模块和第三数据缓存模块;
第一层数据缓存模块,用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
第二层数据缓存模块,用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
第三层数据缓存模块,用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
根据本发明实施例的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的进程间大数据量通讯的性能优化方法。
根据本发明实施例的第四方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的进程间大数据量通讯的性能优化方法。
本发明实施例提供的一种进程间大数据量通讯的性能优化方法和装置,通过对缓存进行分层,少数访问量高的数据可以在内存直接访问到,有利于提升总体性能,大量的访问量低的数据存储在文件/文件映射内存中,这样可以避免数据量太大而占用过多内存,不会影响系统中其他程序的运行;同时可以根据系统的硬件配置,调整内存的占用阈值,有利于达到空间和性能的平衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明实施例提供的进程间大数据量通讯的性能优化方法的流程示意图;
图2为本发明另一实施例提供的实施进程间大数据量通讯的性能优化方法的系统框架示意图;
图3为本发明实施例提供的增加数据流程示意图;
图4为本发明实施例提供的删除数据流程示意图;
图5为本发明实施例提供的变更数据流程示意图;
图6为本发明实施例提供的检测数据占用线程处理流程示意图;
图7为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在进行进程间数据交互时,特别是异步场景中,会涉及到共享数据的暂存,现在通常会用以下的技术方式实现:1)共享内存;2)消息队列;3)缓存文件;在实现过程中,发现现有的几种方式存在以下的一些问题:
1)采用共享内存或者消息队列方式,内存占用可能会阶段性的随时间线性增长,占用大量内存,极大的影响系统内其他程序的运行
2)采用文件缓存的方式,虽然没有上述内存占用大的问题,但是牺牲了性能。
因此,本发明实施例提供的一种进程间大数据量通讯的性能优化方法和装置,通过对缓存进行分层,少数访问量高的数据可以在内存直接访问到,有利于提升总体性能,大量的访问量低的数据存储在文件/文件映射内存中,这样可以避免数据量太大而占用过多内存,不会影响系统中其他程序的运行;同时可以根据系统的硬件配置,调整内存的占用阈值,有利于达到空间和性能的平衡。以下将通过多个实施例进行展开说明和介绍。
如图1中所示,本发明实施例提供了一种进程间大数据量通讯的性能优化方法,包括:
将进程间交互的数据缓存抽象为第一层数据缓存、第二层数据缓存和第三层数据缓层;
所述第一层数据缓存用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
所述第二层数据缓存用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
所述第三层数据缓存用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
在本实施例中,如图2中所示事,从下往上依次为文件数据层(第三层数据缓存),磁盘映射数据层(第二层数据缓存),内存数据层(第一层数据缓存),应用接口层,通过内存缓存和文件存储的方式,可以减少内存占用率;另外针对小颗粒数据,增加mmap映射内存的方式,将数据归集后存储文件,尽可能减少磁盘IO,达到较为平衡的性能提升。本实施例的方法可以应用部署在linux,类Linux,windows操作系统中。针对第二层的部署实现,若系统支持大页内存设置,可根据系统资源和应用的需要,设置大页内存,这样可以提高第二层的数据处理效率
根据数据颗粒的大小,可分为如下的两个流程处理:
大颗粒数据,数据流走第一层数据缓存和第三层数据缓存,不需要经过第二层数据缓存。
小颗粒数据,数据流走第一层数据缓存,第二层数据缓存,第三层数据缓存,避免大量碎片化数据文件产生。
同时,在第一层数据缓存和第二层数据缓存会分别有守护线程,会异步检测本层的数据量是否超过阈值,并将超过的部分数据往下一层转移。
作为优选的,所述第一层数据缓存用于基于内存数据的被访问次数排序建立内存热度表,所述内存热度表中基于被访问次数高低对所述内存数据进行排序,被访问次数高的内存数据热度高,访问次数低的数据热度低。
通过对缓存进行分层,少数访问量高的数据可以在内存直接访问到,有利于提升总体性能,大量的访问量低的数据存储在文件/文件映射内存中,这样可以避免数据量太大而占用过多内存,不会影响系统中其他程序的运行;同时可以根据系统的硬件配置,调整内存的占用阈值,有利于达到空间和性能的平衡。
图3至图6分别为为本发明实施例提供方法的的增加数据流程示意图、删除数据流程示意图、变更数据流程示意图和检测数据占用线程处理流程示意图;
在上述实施例的基础上,若所述第一层数据缓存存储的内存数据超过预设第一阈值,则将内存热度表中热度最低的内存数据移出至所述第二层数据缓存。
第一层数据缓存将会维护一个内存热度表,此表会根据内存数据被访问的次数排序,若存储的数据大小超过阈值,则将热度低的数据从本层取出,存放到下一层;若访问的数据在本层找不到,则通过数据的关键信息key值传给下一层进行查找,找到则将数据加载到本层。
在上述实施例的基础上,所述第二层数据缓存基于mmap文件映射内存存储内存数据,若内存数据大于预设第二阈值,则移出至第三层数据缓存。第二层数据缓存将会维护维护数据关键信息为key的映射内存表,此层的存储的数据大小根据阈值固定。
在上述实施例的基础上,若未查询到则将所述关键信息key值下发到第三层数据缓存后,还包括:
在所述第三层数据缓存中查询到内存数据并返回至第二层数据缓存,插入查询到的内存数据并在映射内存表中新建关键信息key值,将内存数据返回至第一层数据缓存。
第二层数据缓存将会维护维护数据关键信息为key的映射内存表,此层的存储的数据大小根据阈值固定。通过数据的关键信息key值在映射内存表中进行查找,找到则将数据加载到上层,否则将key发送到下层进行查找,在下层找到返回本层,插入数据并在映射内存表中构建一条新的key信息,并将数据返回上层。
在上述实施例的基础上,所述第三层数据缓存还用于建立内存数据关键信息为key的文件路径表,存储时新生成文件,并将文件路径和关键信息key值对应存储到文件路径表中。
在上述实施例的基础上,将内存数据返回至第二层数据缓存后,还包括:
将所述文件路径表中的数据删除,并删除文件。
第三层数据缓存则维护数据关键信息为key的文件路径表,存储时新生成文件,并将文件路径和数据关键信息key对应存储到表中;访问时通过key获取文件路径并加载数据,返回给上层,并将表中对应数据删除和文件删除。
根据本发明实施例的第二方面,提供了一种进程间大数据量通讯的性能优化装置,包括第一数据缓存模块、第二数据缓存模块和第三数据缓存模块;
第一层数据缓存模块,用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
第二层数据缓存模块,用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
第三层数据缓存模块,用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
根据本发明实施例的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的进程间大数据量通讯的性能优化方法。
根据本发明实施例的第四方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的进程间大数据量通讯的性能优化方法。
本发明实施例提供了本发明实施例提供了一种电子设备,如图7所示,该设备包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的进程间大数据量通讯的性能优化方法,例如包括:
将进程间交互的数据缓存抽象为第一层数据缓存、第二层数据缓存和第三层数据缓层;
所述第一层数据缓存用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
所述第二层数据缓存用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
所述第三层数据缓存用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的进程间大数据量通讯的性能优化方法,例如包括:
将进程间交互的数据缓存抽象为第一层数据缓存、第二层数据缓存和第三层数据缓层;
所述第一层数据缓存用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
所述第二层数据缓存用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
所述第三层数据缓存用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存。
综上所述,本发明实施例提供的一种进程间大数据量通讯的性能优化方法和装置,通过对缓存进行分层,少数访问量高的数据可以在内存直接访问到,有利于提升总体性能,大量的访问量低的数据存储在文件/文件映射内存中,这样可以避免数据量太大而占用过多内存,不会影响系统中其他程序的运行;同时可以根据系统的硬件配置,调整内存的占用阈值,有利于达到空间和性能的平衡。
以上所描述的电子设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种进程间大数据量通讯的性能优化方法,其特征在于,包括:
将进程间交互的数据缓存抽象为第一层数据缓存、第二层数据缓存和第三层数据缓层;
所述第一层数据缓存用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
所述第二层数据缓存用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
所述第三层数据缓存用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存;
所述第三层数据缓存还用于建立内存数据关键信息为key的文件路径表,存储时新生成文件,并将文件路径和关键信息key值对应存储到文件路径表中。
2.根据权利要求1所述的进程间大数据量通讯的性能优化方法,其特征在于:
所述第一层数据缓存用于基于内存数据的被访问次数排序建立内存热度表,所述内存热度表中基于被访问次数高低对所述内存数据进行排序,被访问次数高的内存数据热度高,访问次数低的数据热度低。
3.根据权利要求2所述的进程间大数据量通讯的性能优化方法,其特征在于:
若所述第一层数据缓存存储的内存数据超过预设第一阈值,则将内存热度表中热度最低的内存数据移出至所述第二层数据缓存。
4.根据权利要求1所述的进程间大数据量通讯的性能优化方法,其特征在于:
所述第二层数据缓存基于mmap文件映射内存存储内存数据,若内存数据大于预设第二阈值,则移出至第三层数据缓存。
5.根据权利要求1所述的进程间大数据量通讯的性能优化方法,其特征在于,若未查询到则将所述关键信息key值下发到第三层数据缓存后,还包括:
在所述第三层数据缓存中查询到内存数据并返回至第二层数据缓存,插入查询到的内存数据并在映射内存表中新建关键信息key值,将内存数据返回至第一层数据缓存。
6.根据权利要求1所述的进程间大数据量通讯的性能优化方法,其特征在于,将内存数据返回至第二层数据缓存后,还包括:
将所述文件路径表中的数据删除,并删除文件。
7.一种进程间大数据量通讯的性能优化装置,其特征在于,包括第一层数据缓存模块、第二层数据缓存模块和第三层数据缓存模块;
第一层数据缓存模块,用于存储热度内存数据,若访问的内存数据在所述第一层数据缓存中查询不到,则将访问的内存数据的关键信息key值传递值所述第二层数据缓存进行查找;
第二层数据缓存模块,用于基于内存数据的关键信息key值建立映射内存表,若通过所述关键信息key值在所述映射内存表中查询到内存数据,则将查询到的内存数据加载到所述第一层数据缓存;若未查询到则将所述关键信息key值下发到第三层数据缓存;
第三层数据缓存模块,用于存储内存数据时新生成文件,在通过关键信息key值访问时获取文件路径并加载内存数据,将内存数据返回至第二层数据缓存;
所述第三层数据缓模块还用于建立内存数据关键信息为key的文件路径表,存储时新生成文件,并将文件路径和关键信息key值对应存储到文件路径表中。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN201910877758.6A 2019-09-17 2019-09-17 一种进程间大数据量通讯的性能优化方法和装置 Active CN110716814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910877758.6A CN110716814B (zh) 2019-09-17 2019-09-17 一种进程间大数据量通讯的性能优化方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910877758.6A CN110716814B (zh) 2019-09-17 2019-09-17 一种进程间大数据量通讯的性能优化方法和装置

Publications (2)

Publication Number Publication Date
CN110716814A CN110716814A (zh) 2020-01-21
CN110716814B true CN110716814B (zh) 2022-05-13

Family

ID=69209922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910877758.6A Active CN110716814B (zh) 2019-09-17 2019-09-17 一种进程间大数据量通讯的性能优化方法和装置

Country Status (1)

Country Link
CN (1) CN110716814B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069529B (zh) * 2023-03-16 2023-06-23 天翼云科技有限公司 一种动态缓存方法、装置、电子设备及计算机可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100505762C (zh) * 2006-04-19 2009-06-24 华中科技大学 适用于对象网络存储的分布式多级缓存系统
CN103488565A (zh) * 2013-09-13 2014-01-01 北京航空航天大学 一种分布式实时测试系统测试数据收集方法
CN108804234A (zh) * 2017-04-28 2018-11-13 腾讯科技(深圳)有限公司 数据存储系统及其操作方法
CN110134514A (zh) * 2019-04-18 2019-08-16 华中科技大学 基于异构内存的可扩展内存对象存储系统
CN110188080A (zh) * 2019-05-17 2019-08-30 北京航空航天大学 基于客户端高效缓存的远程文件数据访问性能优化方法
CN110232049A (zh) * 2019-06-12 2019-09-13 腾讯科技(深圳)有限公司 一种元数据缓存管理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615750B (zh) * 2015-02-12 2017-11-03 中国农业银行股份有限公司 一种主机系统下的内存数据库的实现方法
CN104657500A (zh) * 2015-03-12 2015-05-27 浪潮集团有限公司 一种基于key-value键值对的分布式存储方法
US9600417B2 (en) * 2015-04-29 2017-03-21 Google Inc. Data caching

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100505762C (zh) * 2006-04-19 2009-06-24 华中科技大学 适用于对象网络存储的分布式多级缓存系统
CN103488565A (zh) * 2013-09-13 2014-01-01 北京航空航天大学 一种分布式实时测试系统测试数据收集方法
CN108804234A (zh) * 2017-04-28 2018-11-13 腾讯科技(深圳)有限公司 数据存储系统及其操作方法
CN110134514A (zh) * 2019-04-18 2019-08-16 华中科技大学 基于异构内存的可扩展内存对象存储系统
CN110188080A (zh) * 2019-05-17 2019-08-30 北京航空航天大学 基于客户端高效缓存的远程文件数据访问性能优化方法
CN110232049A (zh) * 2019-06-12 2019-09-13 腾讯科技(深圳)有限公司 一种元数据缓存管理方法和装置

Also Published As

Publication number Publication date
CN110716814A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN108829344A (zh) 数据存储方法、装置及存储介质
CN110188110B (zh) 一种构建分布式锁的方法及装置
US11245774B2 (en) Cache storage for streaming data
CN102945278A (zh) 一种数据库记录重做日志的方法和装置
CN103324713B (zh) 多级服务器中的数据处理方法、装置和数据处理系统
CN107408132B (zh) 跨越多个类型的存储器移动分层数据对象的方法和系统
CN112148665B (zh) 缓存的分配方法及装置
CN104573112A (zh) Oltp集群数据库中页面查询方法及数据处理节点
CN111061431A (zh) 一种分布式存储方法、服务器及客户端
CN115129621B (zh) 一种内存管理方法、设备、介质及内存管理模块
CN106503008A (zh) 文件存储方法和装置及文件查询方法和装置
CN111930923B (zh) 布隆过滤器系统及过滤方法
CN114327917A (zh) 内存管理方法、计算设备及可读存储介质
CN113485946A (zh) 持久性内存键值系统及其操作方法
CN110716814B (zh) 一种进程间大数据量通讯的性能优化方法和装置
CN107870922B (zh) 一种用于数据去重的方法、设备和系统
CN114896215A (zh) 元数据的存储方法及装置
CN108287760A (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN116450328A (zh) 内存分配方法、装置、计算机设备和存储介质
CN106201918A (zh) 一种基于大数据量和大规模缓存快速释放的方法和系统
CN117591327A (zh) core文件生成方法、装置、电子设备及存储介质
CN115599532A (zh) 一种访问索引的方法以及计算机集群
CN102970349A (zh) 一种dht网络的存储负载均衡方法
CN115951844B (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
GR01 Patent grant
GR01 Patent grant