CN108846288A - 一种驱动层进程读取缓存的管理方法 - Google Patents

一种驱动层进程读取缓存的管理方法 Download PDF

Info

Publication number
CN108846288A
CN108846288A CN201810574694.8A CN201810574694A CN108846288A CN 108846288 A CN108846288 A CN 108846288A CN 201810574694 A CN201810574694 A CN 201810574694A CN 108846288 A CN108846288 A CN 108846288A
Authority
CN
China
Prior art keywords
lock
reference count
idle
controlled
reading
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
Application number
CN201810574694.8A
Other languages
English (en)
Other versions
CN108846288B (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.)
Zhejiang Hua Tao Information Security Technology Ltd By Share Ltd
Original Assignee
Zhejiang Hua Tao Information Security Technology Ltd By Share 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 Zhejiang Hua Tao Information Security Technology Ltd By Share Ltd filed Critical Zhejiang Hua Tao Information Security Technology Ltd By Share Ltd
Priority to CN201810574694.8A priority Critical patent/CN108846288B/zh
Publication of CN108846288A publication Critical patent/CN108846288A/zh
Application granted granted Critical
Publication of CN108846288B publication Critical patent/CN108846288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种驱动层进程读取缓存的管理方法,在单缓存的情况下,能够在驱动层实现透明加解密,避免具有解密能力的受控进程和不具解密能力的非受控进程同时访问加密文件时,读取的内容出现解密后的明文与未能解密的乱码互相穿插的情况,确保程序运行顺畅。

Description

一种驱动层进程读取缓存的管理方法
技术领域
本发明涉及数据读取领域,特别是一种驱动层进程读取缓存的管理方法。
背景技术
在数据透明加解密实现中通常通过应用层实现或驱动层实现,在驱动层实现里,通常使用单缓存、双缓存的方式,单缓存较双缓存在实现方式上更为简单。
在单缓存的情况下,由于数据被加密了,只有受控进程才能获取明文数据,非受控进程获取的是对应的密文数据,如不对单缓存方式进行管理,会出现具有解密能力的受控进程和不具有解密能力的非受控进程,在读取缓存数据时,明文和密文交叉混乱的问题。比如,一个加密文档,受控进程能够读取到的缓存内容是解密后的内容“123”,非受控进程读取到的缓存内容是密文,内容可能是“!@#”之类的乱码,当受控进程和非受控进程同时去获取这个加密文档的缓存时,可能获取到的内容为“!2#”。
市场需要一种驱动层进程读取缓存的管理方法,能够在驱动层实现透明加解密,在单缓存的情况下,不会出现解密后的明文与为解密的乱码相互穿插混乱;本发明解决这样的问题。
发明内容
为解决现有技术的不足,本发明的目的在于提供一种驱动层进程读取缓存的管理方法,能够在驱动层实现透明加解密,避免具有解密能力的受控进程和不具解密能力的非受控进程同时访问加密文件时,读取的内容出现解密后的明文与未能解密的乱码互相穿插的情况,确保程序运行顺畅。
为了实现上述目标,本发明采用如下的技术方案:
一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,若进程判断为受控进程,再判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若引用计数为0时,解锁,随即读写文件缓存结束;
步骤c,若引用计数不为0时,直接结束本进程读写文件缓存;
步骤d,若判断锁非空闲时,再判断锁是否被受控进程占用;
步骤e,若被受控进程占用,将锁的引用计数加1;
步骤f,若未被受控进程占用,则返回判断锁是否空闲,进入等待状态;直到解锁后,锁处于空闲状态了,再进入步骤a;
步骤三,若进程判断为非受控进程,则判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若判断锁非空闲,则判断是否被非受控进程占用;
步骤c,若被非受控进程占用,将锁的引用计数加1;
步骤d,若未被非受控进程占用,即被受控进程占用,则返回判断锁是否空闲,进入等待状态,直到解锁后,锁处于空闲状态了,再进入步骤a。
前述的一种驱动层进程读取缓存的管理方法,进程至少为一个。
前述的一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为第一个受控进程,再判断锁是否空闲;
步骤三,第一个受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为第二个受控进程,再判断锁是否空闲;
步骤五,第二个受控进程的锁非空闲,则引用计数+1,引用计数为2;此时,第一进程的引用计数为1,第一个受控进程直接结束流程;
步骤五,第二个受控进程判断锁空闲,获取锁;并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1,判断引用计数=0,解锁。
前述的一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为受控进程,再判断锁是否空闲;
步骤三,受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为非受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
前述的一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为非受控进程,再判断锁是否空闲;
步骤三,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
本发明的有益之处在于:本发明能够在驱动层实现透明加解密,避免具有解密能力的受控进程和不具解密能力的非受控进程同时访问加密文件时,读取的内容出现解密后的明文与未能解密的乱码互相穿插的情况,确保程序运行顺畅。
附图说明
图1是本发明的一种实施例的流程图。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,若进程判断为受控进程,再判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若引用计数为0时,解锁,随即读写文件缓存结束;
步骤c,若引用计数不为0时,直接结束本进程读写文件缓存;
步骤d,若判断锁非空闲时,再判断锁是否被受控进程占用;
步骤e,若被受控进程占用,将锁的引用计数加1;
步骤f,若未被受控进程占用,则返回判断锁是否空闲,进入等待状态;直到解锁后,锁处于空闲状态了,再进入步骤a;
步骤三,若进程判断为非受控进程,则判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若判断锁非空闲,则判断是否被非受控进程占用;
步骤c,若被非受控进程占用,将锁的引用计数加1;
步骤d,若未被非受控进程占用,即被受控进程占用,则返回判断锁是否空闲,进入等待状态,直到解锁后,锁处于空闲状态了,再进入步骤a。
需要说明的是,进程可以为一个或是多个,用以下几个实施例说明本发明的具体应用。
△作为一种实施例,进程为多个,第一个进程为第一个受控进程,第二个进程为第二个受控进程;
一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为第一个受控进程,再判断锁是否空闲;
步骤三,第一个受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为第二个受控进程,再判断锁是否空闲;
步骤五,第二个受控进程的锁非空闲,则引用计数+1,引用计数为2;此时,第一进程的引用计数为1,第一个受控进程直接结束流程;
步骤五,第二个受控进程判断锁空闲,获取锁;并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1,判断引用计数=0,解锁。
△作为一种实施例,进程为多个,第一个进程为受控进程,第二个进程为第二个进程为非受控进程;
一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为受控进程,再判断锁是否空闲;
步骤三,受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为非受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
△作为一种实施例,进程为多个,第一个进程为非受控进程,第二个进程为第二个进程为受控进程;
一种驱动层进程读取缓存的管理方法,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为非受控进程,再判断锁是否空闲;
步骤三,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
由实施例可知,无论哪种情况,本发明都能够在驱动层实现透明加解密,避免具有解密能力的受控进程和不具解密能力的非受控进程同时访问加密文件时,读取的内容出现解密后的明文与未能解密的乱码互相穿插的情况,确保程序运行顺畅。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (5)

1.一种驱动层进程读取缓存的管理方法,其特征在于,包括如下步骤:
步骤一,进程读写文件缓存开始,判断进程是否是受控进程;
所述受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,若进程判断为受控进程,再判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若引用计数为0时,解锁,随即读写文件缓存结束;
步骤c,若引用计数不为0时,直接结束本进程读写文件缓存;
步骤d,若判断锁非空闲时,再判断锁是否被受控进程占用;
步骤e,若被受控进程占用,将锁的引用计数加1;
步骤f,若未被受控进程占用,则返回判断锁是否空闲,进入等待状态;直到解锁后,锁处于空闲状态了,再进入步骤a;
步骤三,若进程判断为非受控进程,则判断锁是否空闲;
步骤a,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1,判断锁的引用计数是否为0;
步骤b,若判断锁非空闲,则判断是否被非受控进程占用;
步骤c,若被非受控进程占用,将锁的引用计数加1;
步骤d,若未被非受控进程占用,即被受控进程占用,则返回判断锁是否空闲,进入等待状态,直到解锁后,锁处于空闲状态了,再进入步骤a。
2.根据权利要求1所述的一种驱动层进程读取缓存的管理方法,其特征在于,所述进程至少为一个。
3.根据权利要求2所述的一种驱动层进程读取缓存的管理方法,其特征在于,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
所述受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为第一个受控进程,再判断锁是否空闲;
步骤三,第一个受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为第二个受控进程,再判断锁是否空闲;
步骤五,第二个受控进程的锁非空闲,则引用计数+1,引用计数为2;此时,第一进程的引用计数为1,第一个受控进程直接结束流程;
步骤五,第二个受控进程判断锁空闲,获取锁;并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1,判断引用计数=0,解锁。
4.根据权利要求2所述的一种驱动层进程读取缓存的管理方法,其特征在于,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
所述受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为受控进程,再判断锁是否空闲;
步骤三,受控进程判断锁空闲,获取锁,并对锁的引用计数加1,读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为非受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
5.根据权利要求2所述的一种驱动层进程读取缓存的管理方法,其特征在于,包括如下步骤:
步骤一,多个连续的进程读写文件缓存开始,判断进程是否是受控进程;
所述受控进程是指允许读取到解密后的缓存内容的进程;
步骤二,判断第一个进程为非受控进程,再判断锁是否空闲;
步骤三,若判断锁空闲,获取锁,并对锁的引用计数加1;获取锁后,进程可以读写文件缓存;读写文件缓存完毕后,对锁的引用计数减1;
步骤四,在还未判断解锁前,判断第二个进程为受控进程,锁未被非受控进程占用,返回上一层判断锁是否空闲,即等待状态;
步骤五,之后进入流程的所有的非受控进程都进入等待状态,进入的受控进程均在累加计数,减计数,直到受控进程计数减为0,完成解锁后,锁处于空闲状态,再重新进入流程。
CN201810574694.8A 2018-06-06 2018-06-06 一种驱动层进程读取缓存的管理方法 Active CN108846288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810574694.8A CN108846288B (zh) 2018-06-06 2018-06-06 一种驱动层进程读取缓存的管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810574694.8A CN108846288B (zh) 2018-06-06 2018-06-06 一种驱动层进程读取缓存的管理方法

Publications (2)

Publication Number Publication Date
CN108846288A true CN108846288A (zh) 2018-11-20
CN108846288B CN108846288B (zh) 2020-08-18

Family

ID=64210413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810574694.8A Active CN108846288B (zh) 2018-06-06 2018-06-06 一种驱动层进程读取缓存的管理方法

Country Status (1)

Country Link
CN (1) CN108846288B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094754A (zh) * 2021-05-08 2021-07-09 重庆银行股份有限公司 大数据平台数据修改系统及修改、响应、缓存、校验方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887399A (zh) * 2010-06-28 2010-11-17 北京用友政务软件有限公司 服务器端无障碍存取高速缓存数据的方法
CN102064962A (zh) * 2010-12-06 2011-05-18 南京恩瑞特实业有限公司 基于命名管道通信的列车自动监控系统输入输出组件的实现方法
CN102770853A (zh) * 2009-12-23 2012-11-07 思杰系统有限公司 用于在多核系统中管理大型高速缓存服务的系统和方法
US8769127B2 (en) * 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
CN105868123A (zh) * 2016-04-07 2016-08-17 武汉数字派特科技有限公司 一种并发数据的缓存结构及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769127B2 (en) * 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
CN102770853A (zh) * 2009-12-23 2012-11-07 思杰系统有限公司 用于在多核系统中管理大型高速缓存服务的系统和方法
CN101887399A (zh) * 2010-06-28 2010-11-17 北京用友政务软件有限公司 服务器端无障碍存取高速缓存数据的方法
CN102064962A (zh) * 2010-12-06 2011-05-18 南京恩瑞特实业有限公司 基于命名管道通信的列车自动监控系统输入输出组件的实现方法
CN105868123A (zh) * 2016-04-07 2016-08-17 武汉数字派特科技有限公司 一种并发数据的缓存结构及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
夏厦等: "基于缓存竞争优化的Linux进程调度策略", 《计算机工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094754A (zh) * 2021-05-08 2021-07-09 重庆银行股份有限公司 大数据平台数据修改系统及修改、响应、缓存、校验方法

Also Published As

Publication number Publication date
CN108846288B (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
US10705735B2 (en) Method and device for managing hash table, and computer program product
CN103218176B (zh) 数据处理方法及装置
DE102012110692A1 (de) Datenspeichervorrichtung, die eine unterteilte Datei in verschiedenen Speichermedien speichert, sowie Datenverwaltungsverfahren
CN107735774A (zh) 一种smr感知只追加文件系统
US10002074B2 (en) Non-intrusive storage of garbage collector-specific management data
CN102419807A (zh) 固态非挥发性内存装置的安全抹除系统
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
CN101075241A (zh) 缓存处理方法以及缓存处理系统
DE112011106060T5 (de) Verfahren und Vorrichtung zum Verteilen von Code- und Datenspeicherungen zwischen flüchtigem und nichtflüchtigem Speicher
CN110413199A (zh) 管理存储系统的方法、设备和计算机程序产品
CN107577678A (zh) 处理数据库事务的方法、客户端和服务器
DE102020208234A1 (de) Sichere Adressübersetzungsdienste unter Verwendung von Nachrichtenauthentifizierungscodes und Invalidierungsverfolgung
CN104731635B (zh) 一种虚拟机访问控制方法,及虚拟机访问控制系统
US20150012711A1 (en) System and method for atomically updating shared memory in multiprocessor system
WO2001090899A3 (en) System and method for memory management using fixed-size blocks
CN107633045A (zh) 一种云存储服务中租户数据容量的统计方法及其系统
CN108846288A (zh) 一种驱动层进程读取缓存的管理方法
JP4014165B2 (ja) アクセス管理システム、アクセス執行装置、アクセス執行プログラム、アクセス執行方法、及び記録媒体
Hirasawa et al. Deep neck cellulitis: limitations of conservative treatment with antibiotics
CN103905201B (zh) 主应用与多个从属应用的交互方法及装置
CN107409086A (zh) 通过多个邮箱在通信应用中进行海量数据管理
CN106201918A (zh) 一种基于大数据量和大规模缓存快速释放的方法和系统
CN104123371A (zh) 基于分层文件系统的Windows内核文件透明过滤的方法
CN107436920A (zh) Node.js权限控制方法、存储介质、电子设备及系统
US20100262800A1 (en) Information processing device

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