CN108009438B - 一种数据存储方法和装置 - Google Patents

一种数据存储方法和装置 Download PDF

Info

Publication number
CN108009438B
CN108009438B CN201610971666.0A CN201610971666A CN108009438B CN 108009438 B CN108009438 B CN 108009438B CN 201610971666 A CN201610971666 A CN 201610971666A CN 108009438 B CN108009438 B CN 108009438B
Authority
CN
China
Prior art keywords
storage unit
memory cell
data
storage
selecting
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
CN201610971666.0A
Other languages
English (en)
Other versions
CN108009438A (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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201610971666.0A priority Critical patent/CN108009438B/zh
Publication of CN108009438A publication Critical patent/CN108009438A/zh
Application granted granted Critical
Publication of CN108009438B publication Critical patent/CN108009438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种数据存储方法,包括:在存储空间中填充随机数据;按照预定的循环方向,在存储空间中选择目标存储空间;删除目标存储空间中的随机数据,并依次存储待存储数据。本发明实施例同时还提供一种数据存储装置。

Description

一种数据存储方法和装置
技术领域
本发明涉及数据存储领域,尤其涉及一种数据存储方法和装置。
背景技术
在数据存储中,如果一些关键、敏感的机密数据在存储介质存储时处理不当,容易产生机密数据的泄密危险,比如,当按照连续的存储地址将机密数据存储时,在进行反复读写操作后容易被跟踪者找到存储特征,从而被其进行机密数据的拷贝,导致机密数据泄露。
因此,在实际操作中常常需要对机密数据的存储进行处理,比如,将机密数据存储到隔离的物理空间,如安全芯片中;或运用算法将数据打乱并将打扰后的数据存储到不同地方。
然而,现有的安全芯片存储方案对硬件有诸多要求,因此实际应用受限;而运用算法将数据打乱后进行存储的方案较多,但是所使用的算法都较为复杂,不易操作。
发明内容
有鉴于此,本发明实施例期望提供一种数据存储方法和装置,以能够对机密数据进行安全存储,同时简单可行。
本发明实施例的技术方案是这样实现的:
一种数据存储方法,包括:
在存储空间中填充随机数据,其中,所述存储空间为预先申请的;
按照预定的循环方向,在所述存储空间中选择目标存储空间;
删除所述目标存储空间中的所述随机数据,并依次存储待存储数据。
如上所述的存储方法,所述按照预定的循环方向,在所述存储空间中选择目标存储空间,包括:
将所述存储空间划分为M*N个存储单元;其中M*N≥n,n为所述待存储数据的个数,M、N、n为大于等于1的整数。
选择任一一个所述存储单元作为所述目标存储空间的第一存储单元;
以所述第一存储单元为起点,按照所述预定的循环方向选择n-1个所述存储单元作为所述目标存储空间的第二存储单元至第n存储单元。
如上所述的存储方法,所述以所述第一存储单元为起点,按照所述预定的循环方向选择n-1个所述存储单元作为所述目标存储空间的第二存储单元至第 n存储单元,包括:
按照第一方向,选择与所述第i-1存储单元间隔
Figure BDA0001145945650000021
个存储单元的存储单元作为第i存储单元;
按照所述第二方向,选择与所述第i存储单元间隔
Figure BDA0001145945650000022
个存储单元的存储单元作为第i+1存储单元;
按照所述第三方向,选择与所述第i+1存储单元间隔
Figure BDA0001145945650000023
个存储单元的存储单元作为第i+2存储单元;
按照所述第四方向,选择与所述第i+2存储单元间隔
Figure BDA0001145945650000024
个存储单元的存储单元作为第i+3存储单元;其中,i=2+4k,k为大于等于0的整数,所述第一方向、第二方向、第三方向、第四方向互不相同。
如上所述的存储方法,若在选择第j存储单元的过程中到达所述存储空间的边界仍选择不到所述第j存储单元,则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个所述存储单元作为所述第j存储单元,其中,j为大于等于2的整数。
如上所述的存储方法,若在选择第j存储单元的过程中选择的所述存储单元已经存储有所述待存储数据,则按照原有方向再选择与所述存储单元相邻的存储单元作为所述第j存储单元,其中,j为大于等于2的整数。
如上所述的存储方法,还包括:
将所述待存储数据按行放置在一个二维数组中,并按列读取所述待存储数据。
一种数据存储装置,包括:
填充模块,用于在存储空间中填充随机数据,其中,所述存储空间为预先申请的;
选择模块,用于按照预定的循环方向,在所述存储空间中选择目标存储空间;
处理模块,用于删除所述目标存储空间中的所述随机数据,并依次存储待存储数据。
如上所述的装置,所述选择模块具体用于:
将所述存储空间划分为M*N个存储单元;其中M*N≥n,n为所述待存储数据的个数,M、N、n为大于等于1的整数。
选择任一一个所述存储单元作为所述目标存储空间的第一存储单元;
以所述第一存储单元为起点,按照所述预定的循环方向选择n-1个所述存储单元作为所述目标存储空间的第二存储单元至第n存储单元。
如上所述的装置,所述选择模块具体还用于:
按照第一方向,选择与所述第i-1存储单元间隔
Figure BDA0001145945650000031
个存储单元的存储单元作为第i存储单元;
按照所述第二方向,选择与所述第i存储单元间隔
Figure BDA0001145945650000032
个存储单元的存储单元作为第i+1存储单元;
按照所述第三方向,选择与所述第i+1存储单元间隔
Figure BDA0001145945650000033
个存储单元的存储单元作为第i+2存储单元;
按照所述第四方向,选择与所述第i+2存储单元间隔
Figure BDA0001145945650000034
个存储单元的存储单元作为第i+3存储单元;其中,i=2+4k,k为大于等于0的整数,所述第一方向、第二方向、第三方向、第四方向互不相同。
如上所述的装置,若在选择第j存储单元的过程中到达所述存储空间的边界仍选择不到所述第j存储单元,所述选择模块则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个所述存储单元作为所述第j存储单元,其中,j为大于等于2的整数。
如上所述的装置,若在选择第j存储单元的过程中选择的所述存储单元已经存储有所述待存储数据,所述选择模块则按照原有方向再选择与所述存储单元相邻的存储单元作为所述第j存储单元,其中,j为大于等于2的整数。
如上所述的装置,所述处理模块还用于:
将所述待存储数据按行放置在一个二维数组中,并按列读取所述待存储数据。
本发明实施例所提供的数据存储方法和装置,能够在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间,删除目标存储空间中的随机数据,并依次存储待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
附图说明
图1为本发明实施例提供的一种数据存储方法的流程示意图;
图2为本发明实施例提供的另一种数据存储方法的流程示意图;
图3为本发明实施例提供的一种存储单元选择方法的示意图;
图4为本发明实施例提供的另一种存储单元选择方法的示意图;
图5为本发明实施例提供的又一种存储单元选择方法的示意图;
图6为本发明实施例提供的又一种存储单元选择方法的示意图;
图7为本发明实施例提供的又一种数据存储方法的流程示意图;
图8为本发明实施例提供的一种数据存储装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明实施例提供的一种数据存储方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤101、在存储空间中填充随机数据。其中,存储空间为预先申请的。
需要说明的是,在进行数据存储前,先申请一片空间作为存储空间,然后用随机数据将存储空间填满。
具体的,步骤101在存储空间中填充随机数据可以是由数据存储装置来实现的;该信息处理装置可以是能够安装应用程序的服务器。
步骤102、按照预定的循环方向,在存储空间中选择目标存储空间。
具体的,步骤102按照预定的循环方向,在存储空间中选择目标存储空间可以是由数据存储装置来实现的。所选择每个目标存储空间可以填充有一个随机数据,也可以填充有多个随机数据。
步骤103、删除目标存储空间中的随机数据,并依次存储待存储数据。
具体的,步骤103删除目标存储空间中的随机数据,并依次存储待存储数据可以是由数据存储装置来实现的。
需要说明的是,若所选择的其中一个目标存储空间填充有一个随机数据,则在这个目标存储空间中删除目标存储空间中的随机数据,并存储一个待存储数据;若所选择的其中一个目标存储空间填充有多个随机数据,则在这个目标存储空间中删除目标存储空间中的随机数据,并存储一个或多个待存储数据。
本发明的实施例提供的数据存储方法,能够在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间,删除目标存储空间中的随机数据,并依次存储待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
图2为本发明实施例提供的另一种数据存储方法的流程示意图。如图2所示,该方法包括以下步骤:
步骤201、数据存储装置在存储空间中填充随机数据。其中,存储空间为预先申请的。
步骤202、数据存储装置将存储空间划分为M*N个存储单元。其中M*N≥n, n为待存储数据的个数,M、N、n为大于等于1的整数。
需要说明的是,每个存储单元填充有一个随机数据或存储一个待存储数据,为了保证待存储数据能够与随机数据更好地混合,优选的,存储单元的数量至少是待存储数据数量的十倍,即M*N≥10n。
步骤203、数据存储装置选择任一一个存储单元作为目标存储空间的第一存储单元。
步骤204、数据存储装置以第一存储单元为起点,按照预定的循环方向选择n-1个存储单元作为目标存储空间的第二存储单元至第n存储单元。
步骤205、数据存储装置删除目标存储空间中的随机数据,并依次存储待存储数据。
具体的,步骤205删除目标存储空间中的随机数据并依次存储待存储数据指的是删除第一存储单元至第n存储单元中的随机数据,并依次存储n个待存储数据。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例提供的数据存储方法,能够在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间的第一至第 n存储单元,删除目标存储空间中的随机数据,并依次存储n个待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
在上述实施例的基础上,步骤204包括:
以第一存储单元为起点,按照第一方向选择与第一存储单元相邻的存储单元作为第二存储单元;按照第二方向,选择与第二存储单元相邻的存储单元作为第三存储单元;按照第三方向,选择与第三存储单元间隔1个存储单元的存储单元作为第四存储单元;按照第四方向,选择与第四存储单元间隔1个存储单元的存储单元作为第五存储单元;依次类推,按照第一方向,选择与第i-1 存储单元间隔
Figure BDA0001145945650000071
个存储单元的存储单元作为第i存储单元;按照第二方向,选择与第i存储单元间隔
Figure BDA0001145945650000072
个存储单元的存储单元作为第i+1存储单元;按照第三方向,选择与第i+1存储单元间隔
Figure BDA0001145945650000073
个存储单元的存储单元作为第i+2存储单元;按照第四方向,选择与第i+2存储单元间隔
Figure BDA0001145945650000074
个存储单元的存储单元作为第i+3存储单元;其中,i=2+4k,k为大于等于1的整数,第一方向、第二方向、第三方向、第四方向互不相同。
需要说明的是,预定的循环方向为第一方向->第二方向->第三方向->第四方向->第一方向,其中,第一方向、第二方向、第三方向、第四方向可以为下、左、上、右;下、右、上、左;右、下、左、上;右、上、左、下;左、上、右、下;左、下、右、上;上、右、下、左;上、左、下、右。
图3为本发明实施例提供的一种存储单元选择方法的示意图。当第一方向、第二方向、第三方向、第四方向为下、左、上、右时,如图3所示,每个方格表示一个存储单元,虚线表示寻找轨迹,灰色标记的方格表示所选择的存储单元。以第一存储单元为起点,按照向下方向选择与第一存储单元相邻的存储单元作为第二存储单元;按照向左方向选择与第二存储单元相邻的存储单元作为第三存储单元;按照向上方向选择与第三存储单元间隔1个存储单元的存储单元作为第四存储单元;按照向右方向选择与第四存储单元间隔1个存储单元的存储单元作为第五存储单元;依次类推,按照向下方向选择与第i-1存储单元间隔
Figure BDA0001145945650000081
个存储单元的存储单元作为第i存储单元;按照向左方向,选择与第i 存储单元间隔
Figure BDA0001145945650000082
个存储单元的存储单元作为第i+1存储单元;按照向上方向,选择与第i+1存储单元间隔
Figure BDA0001145945650000083
个存储单元的存储单元作为第i+2存储单元;按照向上方向,选择与第i+2存储单元间隔
Figure BDA0001145945650000084
个存储单元的存储单元作为第i+3存储单元;直至寻找到n个存储单元,其中,i=2+4k,k为大于等于1的整数。
本发明的实施例提供的存储单元选择方法,按照预定的下、左、上、右的循环方向,在存储空间中选择目标存储空间的第一至第n存储单元,这样为每个待存储数据选择到了一个存储单元,从而使得待存储数据能够按照特定的循环方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
图4为本发明实施例提供的另一种存储单元选择方法的示意图。当第一方向、第二方向、第三方向、第四方向为右、下、左、上时,如图4所示,每个方格表示一个存储单元,虚线表示寻找轨迹,灰色标记的方格表示所选择的存储单元。以第一存储单元为起点,按照向右方向选择与第一存储单元相邻的存储单元作为第二存储单元;按照向下方向选择与第二存储单元相邻的存储单元作为第三存储单元;按照向左方向选择与第三存储单元间隔1个存储单元的存储单元作为第四存储单元;按照向上方向选择与第四存储单元间隔1个存储单元的存储单元作为第五存储单元;依次类推,按照向右方向选择与第i-1存储单元间隔
Figure BDA0001145945650000085
个存储单元的存储单元作为第i存储单元;按照向下方向,选择与第i存储单元间隔
Figure BDA0001145945650000086
个存储单元的存储单元作为第i+1存储单元;按照向左方向,选择与第i+1存储单元间隔
Figure BDA0001145945650000087
个存储单元的存储单元作为第i+2存储单元;按照向上方向,选择与第i+2存储单元间隔
Figure BDA0001145945650000088
个存储单元的存储单元作为第i+3 存储单元;直至寻找到n个存储单元,其中,i=2+4k,k为大于等于1的整数。
本发明的实施例提供的存储单元选择方法,按照预定的右、下、左、上的循环方向,在存储空间中选择目标存储空间的第一至第n存储单元,这样为每个待存储数据选择到了一个存储单元,从而使得待存储数据能够按照特定的循环方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
进一步,若在选择第j存储单元的过程中到达存储空间的边界仍选择不到第j存储单元,则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个存储单元作为第j存储单元,其中,j为大于等于2的整数。
具体的,图5为本发明实施例提供的又一种存储单元选择方法的示意图。以预定的循环方向为下、左、上、右的方向为例,如图5所示,假设将存储空间划分成的存储单元为12*10个,在选择第19存储单元时,出现到达存储空间左边界仍选择不到第19存储单元的情况,那么则从存储空间的右边界开始根据原有方向对应的选择方法(也就是向左对应的选择方法),并按照原有方向(也就是向左)继续选择一个存储单元作为第19存储单元(在图5中,选择的是右下脚的存储单元)。
本实施例提供的存储单元选择方法,在选择第j存储单元的过程中出现到达存储空间的边界仍选择不到第j存储单元的情况时,提出了解决方案,从而使得待存储数据能够按照特定的循环方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
进一步,若在选择第j存储单元的过程中选择的存储单元已经存储有待存储数据,则按照原有方向再选择与存储单元相邻的存储单元作为第j存储单元,其中,j为大于等于2的整数。
具体的,图6为本发明实施例提供的又一种存储单元选择方法的示意图。以预定的循环方向为下、左、上、右的方向为例,如图6所示,假设将存储空间划分成的存储单元为12*10个,在选择第20存储单元时,出现所选择的存储单元已经存储有待存储数据的情况,也就是说,本来所选择的第20存储单元是存储空间的右下角存储单元,但是右下脚存储单元已经作为第19存储单元存储了第19个待存储数据,所以按照原有方向(向上)再选择与第19存储单元相邻的存储单元作为第20存储单元(在图6中,选择的是右上角往上一个的存储单元)。
本实施例提供的存储单元选择方法,在选择第j存储单元的过程中出现所选择的存储单元已经存储有待存储数据的情况时,提出了解决方案,从而使得待存储数据能够按照特定的循环方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
图7为本发明实施例提供的又一种数据存储方法的流程示意图。如图7所示,该方法包括以下步骤:
步骤301、数据存储装置将待存储数据按行放置在一个二维数组中,并按列读取待存储数据。
具体的,申请一个二维数组,在待存储数据的放置时,将待存储数据放置在第一行中,若第一行放满了,继续在第二行中放置,直至在最后一行放置完待存储数据,在待存储数据的读取时,按列方式依次读取待存储数据,从而使得待存储数据在存储前先进行打乱。需要说明的是,步骤301还可以替换为将待存储数据按列放置在一个二维数组中,并按行读取待存储数据。
步骤302、数据存储装置在存储空间中填充随机数据。其中,存储空间为预先申请的。
步骤303、数据存储装置将存储空间划分为M*N个存储单元。其中M*N≥n, n为待存储数据的个数,M、N、n为大于等于1的整数。
步骤304、数据存储装置选择任一一个存储单元作为目标存储空间的第一存储单元。
步骤305、数据存储装置以第一存储单元为起点,按照预定的循环方向选择n-1个存储单元作为目标存储空间的第二存储单元至第n存储单元。
步骤306、数据存储装置删除目标存储空间中的随机数据,并依次存储待存储数据。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例提供的数据存储方法,能够对待存储数据先行打乱,然后在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间的第一至第n存储单元,删除目标存储空间中的随机数据,并依次存储n个待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
本发明实施例提供一种数据存储装置,该装置可以应用于图1~7对应的方法实施中,图8为本发明实施例提供的一种数据存储装置的结构示意图,如图 8所示,该装置包括:
填充模块41,用于在存储空间中填充随机数据,其中,存储空间为预先申请的。
选择模块42,用于按照预定的循环方向,在存储空间中选择目标存储空间。
处理模块43,用于删除目标存储空间中的随机数据,并依次存储待存储数据。
本发明的实施例提供的数据存储装置,能够在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间,删除目标存储空间中的随机数据,并依次存储待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
进一步,选择模块42具体用于执行以下步骤:
将存储空间划分为M*N个存储单元;其中M*N≥n,n为待存储数据的个数,M、N、n为大于等于1的整数。
选择任一一个存储单元作为目标存储空间的第一存储单元。
以第一存储单元为起点,按照预定的循环方向选择n-1个存储单元作为目标存储空间的第二存储单元至第n存储单元。
进一步,选择模块42具体还用于:
以第一存储单元为起点,按照第一方向选择与第一存储单元相邻的存储单元作为第二存储单元;
按照第二方向,选择与第二存储单元相邻的存储单元作为第三存储单元;
按照第三方向,选择与第三存储单元间隔1个存储单元的存储单元作为第四存储单元;
按照第四方向,选择与第四存储单元间隔1个存储单元的存储单元作为第五存储单元;
依次类推,按照第一方向,选择与第i-1存储单元间隔
Figure BDA0001145945650000121
个存储单元的存储单元作为第i存储单元。
按照第二方向,选择与第i存储单元间隔
Figure BDA0001145945650000122
个存储单元的存储单元作为第i+1存储单元;
按照第三方向,选择与第i+1存储单元间隔
Figure BDA0001145945650000123
个存储单元的存储单元作为第i+2存储单元;
按照第四方向,选择与第i+2存储单元间隔
Figure BDA0001145945650000124
个存储单元的存储单元作为第i+3存储单元;其中,i=2+4k,k为大于等于1的整数,第一方向、第二方向、第三方向、第四方向互不相同。
进一步,若在选择第j存储单元的过程中到达存储空间的边界仍选择不到第j存储单元,选择模块42则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个存储单元作为第j存储单元,其中,j为大于等于2的整数。若在选择第j存储单元的过程中选择的存储单元已经存储有待存储数据,选择模块42则按照原有方向再选择与存储单元相邻的存储单元作为第j存储单元。
进一步,处理模块43还用于:
将待存储数据按行放置在一个二维数组中,并按列读取待存储数据。
需要说明的是,本实施例中各个模块之间的交互过程,可以参照图1~7对应的方法实施例,此处不再赘述。
本发明的实施例提供的数据存储装置,能够对待存储数据先行打乱,然后在预先申请的存储空间中填充随机数据,按照预定的循环方向,在存储空间中选择目标存储空间的第一至第n存储单元,删除目标存储空间中的随机数据,并依次存储n个待存储数据;这样,待存储数据能够按照特定的方式进行存储,并且能够与随机数据混合,解决了现有数据存储方法的应用复杂问题,以简单可行的方式实现了待存储数据的存储,同时,保证了待存储数据的存储安全。
在实际应用中,所述填充模块41、选择模块42、处理模块43均可由位于数据存储装置中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (8)

1.一种数据存储方法,其特征在于,所述方法包括:
在存储空间中填充随机数据,其中,所述存储空间为预先申请的;
将所述存储空间划分为M*N个存储单元;其中M*N≥n,n为待存储数据的个数,M、N、n为大于等于1的整数;
选择任意一个所述存储单元作为目标存储空间的第一存储单元;以所述第一存储单元为起点,按照预定的循环方向选择n-1个所述存储单元作为所述目标存储空间的第二存储单元至第n存储单元;
删除所述目标存储空间中的所述随机数据,并依次存储待存储数据;
其中,所述以所述第一存储单元为起点,按照预定的循环方向选择n-1个所述存储单元作为所述目标存储空间的第二存储单元至第n存储单元,包括:
按照第一方向,选择与第i-1存储单元间隔
Figure 663449DEST_PATH_IMAGE001
个存储单元的存储单元作为第i存储单元;
按照第二方向,选择与所述第i存储单元间隔
Figure 722541DEST_PATH_IMAGE001
个存储单元的存储单元作为第i+1存储单元;
按照第三方向,选择与所述第i+1存储单元间隔
Figure 810845DEST_PATH_IMAGE002
个存储单元的存储单元作为第i+2存储单元;
按照第四方向,选择与所述第i+2存储单元间隔
Figure 424228DEST_PATH_IMAGE002
个存储单元的存储单元作为第i+3存储单元;其中,i表示存储单元的序号,且i=2+4k,k为大于等于0的整数,所述第一方向、所述第二方向、所述第三方向、所述第四方向互不相同。
2.根据权利要求1所述的方法,其特征在于,若在选择第j存储单元的过程中到达所述存储空间的边界仍选择不到所述第j存储单元,则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个所述存储单元作为所述第j存储单元,其中,j表示存储单元的序号,且j为大于等于2小于等于n的整数。
3.根据权利要求1所述的方法,其特征在于,若在选择第j存储单元的过程中选择的所述存储单元已经存储有所述待存储数据,则按照原有方向再选择与所述存储单元相邻的存储单元作为所述第j存储单元,其中,j表示存储单元的序号,且j为大于等于2小于等于n的整数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待存储数据按行放置在一个二维数组中,并按列读取所述待存储数据。
5.一种数据存储装置,其特征在于,所述装置包括:
填充模块,用于在存储空间中填充随机数据,其中,所述存储空间为预先申请的;
选择模块,用于将所述存储空间划分为M*N个存储单元;其中M*N≥n,n为待存储数据的个数,M、N、n为大于等于1的整数;选择任意一个所述存储单元作为目标存储空间的第一存储单元;以所述第一存储单元为起点,按照第一方向,选择与第i-1存储单元间隔
Figure 239869DEST_PATH_IMAGE001
个存储单元的存储单元作为第i存储单元;按照第二方向,选择与所述第i存储单元间隔
Figure 123774DEST_PATH_IMAGE001
个存储单元的存储单元作为第i+1存储单元;按照第三方向,选择与所述第i+1存储单元间隔
Figure 412672DEST_PATH_IMAGE002
个存储单元的存储单元作为第i+2存储单元;按照第四方向,选择与所述第i+2存储单元间隔
Figure 280397DEST_PATH_IMAGE002
个存储单元的存储单元作为第i+3存储单元;其中,i表示存储单元的序号,i=2+4k,k为大于等于0的整数,所述第一方向、所述第二方向、所述第三方向、所述第四方向互不相同;
处理模块,用于删除所述目标存储空间中的所述随机数据,并依次存储待存储数据。
6.根据权利要求5所述的装置,其特征在于,若在选择第j存储单元的过程中到达所述存储空间的边界仍选择不到所述第j存储单元,所述选择模块则从所对应的边界开始,根据原有方向对应的选择方法并按照原有方向继续选择一个所述存储单元作为所述第j存储单元,其中,j表示存储单元的序号,且j为大于等于2小于等于n的整数。
7.根据权利要求5所述的装置,其特征在于,若在选择第j存储单元的过程中选择的所述存储单元已经存储有所述待存储数据,所述选择模块则按照原有方向再选择与所述存储单元相邻的存储单元作为所述第j存储单元,其中,j表示存储单元的序号,且j为大于等于2小于等于n的整数。
8.根据权利要求5所述的装置,其特征在于,所述处理模块还用于:
将所述待存储数据按行放置在一个二维数组中,并按列读取所述待存储数据。
CN201610971666.0A 2016-10-28 2016-10-28 一种数据存储方法和装置 Active CN108009438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610971666.0A CN108009438B (zh) 2016-10-28 2016-10-28 一种数据存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610971666.0A CN108009438B (zh) 2016-10-28 2016-10-28 一种数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN108009438A CN108009438A (zh) 2018-05-08
CN108009438B true CN108009438B (zh) 2021-08-17

Family

ID=62047668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610971666.0A Active CN108009438B (zh) 2016-10-28 2016-10-28 一种数据存储方法和装置

Country Status (1)

Country Link
CN (1) CN108009438B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631732A (zh) * 2013-11-27 2014-03-12 华为技术有限公司 非易失存储器及电子设备
CN104111901A (zh) * 2014-08-07 2014-10-22 昆腾微电子股份有限公司 用于填充存储器的方法及装置
CN104615954A (zh) * 2014-06-30 2015-05-13 腾讯科技(深圳)有限公司 密码存储方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631732A (zh) * 2013-11-27 2014-03-12 华为技术有限公司 非易失存储器及电子设备
CN104615954A (zh) * 2014-06-30 2015-05-13 腾讯科技(深圳)有限公司 密码存储方法和装置
CN104111901A (zh) * 2014-08-07 2014-10-22 昆腾微电子股份有限公司 用于填充存储器的方法及装置

Also Published As

Publication number Publication date
CN108009438A (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN108053211B (zh) 基于区块链的交易处理方法及装置
KR102065672B1 (ko) 합성곱 연산을 위한 장치 및 방법
US20120173599A1 (en) System and method for generating true random numbers using computing device
US10673823B2 (en) Migration containers
US8861719B2 (en) Method of generating a random permutation, random permutation generating device, and encryption/decryption device having the same
US20240184878A1 (en) Login methodology
CN101939749A (zh) 程序模糊方法和用于执行模糊程序的处理设备
CN108073687B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN107122632A (zh) 软件安装包的加密方法及装置
CN104391727A (zh) 数据烧写方法、***、烧写设备以及目标设备
CN103370113A (zh) 数据存储方法及***
CN111046042A (zh) 基于时空碰撞的快速检索方法及***
CN111832035A (zh) 一种图像的加密存储方法和装置
US20180123789A1 (en) Apparatus and method for generating a key in a programmable hardware module
CN108009438B (zh) 一种数据存储方法和装置
US20150058639A1 (en) Encryption processing device and storage device
Sun et al. An image encryption algorithm utilizing Mandelbrot set
CN103199995A (zh) 一种文件加密的方法和装置
KR101496764B1 (ko) 일정 수 이상의 파일 조각으로 복구 가능한 파일 분산 관리 장치 및 방법
CN104680083A (zh) 一种图片管理方法及装置
KR102145288B1 (ko) 광시야각 및 고해상도 스테레오그램 생성 장치 및 생성 방법
CN111368316A (zh) 文件加解密的方法及装置
KR101893566B1 (ko) 순환 차족을 활용한 데이터 분산 저장 장치 및 방법
CN111159200A (zh) 一种基于深度学习的数据存储方法和装置
CN104598630A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310012 building A01, 1600 yuhangtang Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: CHINA MOBILE (HANGZHOU) INFORMATION TECHNOLOGY Co.,Ltd.

Applicant after: China Mobile Communications Corp.

Address before: 310012, No. 14, building three, Chang Torch Hotel, No. 259, Wensanlu Road, Xihu District, Zhejiang, Hangzhou

Applicant before: CHINA MOBILE (HANGZHOU) INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: China Mobile Communications Corp.

GR01 Patent grant
GR01 Patent grant