CN105007302A - 一种移动终端数据存储方法 - Google Patents

一种移动终端数据存储方法 Download PDF

Info

Publication number
CN105007302A
CN105007302A CN201510304277.8A CN201510304277A CN105007302A CN 105007302 A CN105007302 A CN 105007302A CN 201510304277 A CN201510304277 A CN 201510304277A CN 105007302 A CN105007302 A CN 105007302A
Authority
CN
China
Prior art keywords
cloud storage
storage server
data
user
account
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
CN201510304277.8A
Other languages
English (en)
Other versions
CN105007302B (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.)
Guangdong International Engineering Consulting Co., Ltd.
Original Assignee
CHENGDU GUODOU DIGITAL ENTERTAINMENT 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 CHENGDU GUODOU DIGITAL ENTERTAINMENT Co Ltd filed Critical CHENGDU GUODOU DIGITAL ENTERTAINMENT Co Ltd
Priority to CN201510304277.8A priority Critical patent/CN105007302B/zh
Publication of CN105007302A publication Critical patent/CN105007302A/zh
Application granted granted Critical
Publication of CN105007302B publication Critical patent/CN105007302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种移动终端数据存储方法,该方法包括:在云存储服务器的数据同步过程中,存储控制中心通过验证用户移动终端的信息,为用户终端分配身份许可;用户终端利用该身份许可登录云存储服务器注册安全帐户,通过安全帐户来使用云存储服务器进行存储和共享。本发明提出了一种移动终端存储方法,可以减轻服务器的压力,降低智能手机与云存储集群的耦合程度,增强数据同步应用的灵活性。

Description

一种移动终端数据存储方法
技术领域
本发明涉及手机互联网信息存储,特别涉及一种移动终端数据存储方法。
背景技术
手机互联网和云计算的普及应用,为人们提供了极大的便利。智能手机上的数据及在云存储服务器的存储,涉及到数据同步问题。有的数据需要严格同步,才能为用户带来使用的便利,如通讯录信息;而有的数据需要一般同步,比如智能手机里的照片、视频等,需要在云存储服务器保留历史数据,以实现增量同步。现有的数据同步方法不适合大数据量的应用,通过检测和传输差异数据来降低网络传输的数据量,需要手机端和服务器端共同参与才能实现。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种移动终端数据存储方法,包括:
在云存储服务器的数据同步过程中,存储控制中心通过验证用户移动终端的信息,为用户终端分配身份许可;用户终端利用该身份许可登录云存储服务器注册安全帐户,通过安全帐户来使用云存储服务器进行存储和共享。
优选地,所述用户从存储控制中心获得身份许可后,按需创建多个令牌来表示不同账号,并限制一个用户创建帐户的最大数量;
安全帐户令牌T的由如下方法生成:
ρ=H(a‖j)(n-1)/α
T=ρsk·e mod n
其中H()是散列函数,a是云存储服务器地址,j为同一个用户注册帐户次数,sk为用户私钥,n为用户总数,e为随机数;
将上述的ρ作为公开的参数,用户登录云存储服务器时只输入私钥sk,而不转发私钥。
优选地,所述用户终端利用身份许可登录云存储服务器注册安全帐户,进一步包括:
1)用户向云存储服务器发送注册帐户请求;
2)云存储服务器返回注册次数上限k和地址参数a;
3)移动终端执行验证,并将验证结果和注册次数j发送给云存储服务器;
4)云存储服务器验证该验证结果和j的值(1≤j≤k),如果验证不成立,则终止协议返回用户失败;
5)移动终端创建令牌帐户T,创建成功之后向云存储服务器端发送T和别名;
6)云存储服务器检测数据库里是否存在同样的令牌T,若存在则返回失败;否则将T和随机数e加入数据库并绑定该别名,返回用户注册帐户成功。
优选地,在所述用户终端利用身份许可登录云存储服务器注册安全帐户的步骤之后,该方法还包括:
移动终端验证安全帐户,验证成功之后登录云存储服务器;根据内容类别对用户上传的数据进行分区处理,将数据分成N个分区D1,D2,…,DN,然后根据内容是否需要对云存储服务器端保密而选择以下加密方式之一:
将数据加密之后上传到云存储服务器端;解码密钥只在移动终端中;或
用户直接上传数据,数据加密由云存储服务器端进行,此时数据信息对云存储服务器端是可见的;
在用户存储共享数据时,将数据分成N个分区,分别设置共享权限:
1)共享者向数据宿主发送共享请求和自己的地址;
2)数据宿主接受请求之后,将共享者需求数据的分区数β发送给云存储服务器端;
3)生成共享密钥km β
km β=u·H(β‖m‖t)2+v
其中(u,v)是随机参数对,t为当前时间;
4)云存储服务器端将该分区数的共享次数m和共享密钥km β返回给数据宿主;
5)数据宿主转发给共享者共享密钥km β以及该共享分区的解码密钥;
6)共享者根据共享密钥km β和安全帐户的公钥T,形成共享密钥验证:G=H(km β‖T)(n-1)/α
云存储服务器端存储公钥G和参数对(n,α),并返回共享者β区可共享确认;
当共享者需要访问β区的数据时,登录云存储服务器,输入km β,云存储服务器端提取共享者的令牌帐户公钥T,若共享密钥验证公式成立,则允许共享者访问共享数据区β。
本发明相比现有技术,具有以下优点:
本发明提出了一种移动终端存储方法,可以减轻服务器的压力,降低智能手机与云存储集群的耦合程度,增强数据同步应用的灵活性。
附图说明
图1是根据本发明实施例的移动终端数据存储方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种移动终端数据存储方法。图1是根据本发明实施例的移动终端数据存储方法流程图。本发明根据数据的特征值信息,将多种数据同步机制融合在一起,并且可以灵活选择同步策略。同步机制的选择可以由用户指定,也可以由应用程序来选择,将数据的同步信息,单独放置在特征值信息文件中,使方法的适用面较广。
数据同步之前,需要检测数据的冗余情况和缺失情况,进而根据这些情况来进行数据同步操作。用户智能手机与云存储服务器通过网络相连。本发明方法采用散列值作为数据的特征值信息,根据同步的数据情况,采用个快速散列方法生成不同的特征值信息,以防止碰撞;采用散列方法的数量及类型,与方法本身独立,增强了方法的适应性。
特征值信息由“文件名特征值信息”和“文件内容特征值信息”组成,两者结合,可以唯一标识一个文件的路径信息和内容信息。
(1)文件名特征值信息的计算。方法考虑了常用的两种情况:①扁平化存储的文件,如一个目录下的所有文件(不包括子目录),则仅需要计算文件名特征值信息。②树状存储结构的目录和文件,如多层次目录结构中的文件,则需要计算全路径文件名特征值信息。
(2)文件内容的特征值信息计算。用户智能手机的数据类型多样,有文本文件等尺寸较小的文件,也有照片、视频片段等比较大的文件数据。针对文件尺寸这两类不同的数据情况,可以采用以下两种计算策略:①以联系人信息为代表的小数据量信息,计算全部数据的特征值信息。②以照片、视频等为代表的大数据量信息,可以采用全部计算方式。但为了节省智能手机电力的使用,在防止散列碰撞的前提下,可以采用选取几个文件片段的计算方式。由于本发明方法的文件同步主要依赖于文件名信息,同一个文件在内容修改后的特征值信息碰撞几率非常低。
根据基于云存储服务器的应用特点,将特征值信息单独打包存储为文件,保存在云存储服务器。该方法的优点是:终端进行数据重复检查时,仅下载特征值信息文件,节省网络带宽,不用再重复计算云存储服务器保存数据的特征值信息,提高了数据检查效率。
本发明方法设计的特征值信息逻辑组织结构如下:特征值信息文件由3类数据块组成:文件头信息块、文件名特征值信息块和文件内容特征值信息块。
文件头信息块定义如下字段名,分别为:
ARYSIZE:指示文件名散列码映射数组的尺寸
FNHTYPE:指示计算文件名散列值采用的散列方法类型
HDCOUNT:文件内容采用散列方法的个数
HDTYPE:散列方法类型
文件名特征值信息块定义如下字段名,分别为:
FNNOFFSET:0表示无下一个特征值信息;非0表示下一个文件名散列信息的偏移量
FLAG:0表示本地无此文件;1表示本地文件与云存储服务器完全一致;2表示本地文件内容与云存储服务器文件内容不一致;3表示本地有此文件,而云存储服务器没有;
HDOFFSET表示文件内容散列信息偏移量;
OFFSETFLAG:表示HDOFFSET是否有效。
文件名特征值信息块采用散列数组链表的方式组织:文件名特征值信息块构成散列数组链表,数组尺寸由ARYSIZE字段决定;文件名散列数组链表通过FNNOFFSET文件偏移量字段来实现;文件名信息块中通过HDOFFSET偏移量字段来查找所对应的文件内容信息块。通过此种方式,实现了散列信息逻辑组织到文件存储的物理映射。
在上述特征值信息文件的读写工作机制中,以写为例,对特征值信息文件中信息块的写操作,如果实现基于事务的原子操作开销比较大,并且特征值信息文件不会发生并发读写操作。据此,本发明方法对新增信息块的写采用回写方法,即先写信息块内容,再对标志信息块的关键字段进行更新,在保证方法正确性的前提下,对写错误采取舍弃相应存储空间的策略。回写方法对信息块的修改操作同样适用,仅需在修改前,先将相应的标志位置无效即可。新增信息块的写包括分配写和对HDOFFSET字段的更新写。写流程如下:
(1)新信息块的分配写。只有在两种情况下才会对特征值信息文件尾部写信息:分配文件名信息块和分配文件内容信息块。采用回写方法处理文件尾部的数据追加过程中,因意外造成的信息不一致问题,具体策略为先写信息块,再更新前面的偏移量字段。
假定偏移量为OFFSET,写信息块为WDATA,写偏移量为WOFFSET,回写方法写过程如下:
①程序中记录OFFSET。
②在文件尾执行WDATA操作,如果该步骤出现意外,则下次写信息时重新从①开始。
③执行WOFFSET操作,如果该步骤出现意外,则下次写信息时重新从①开始。
回写方法WOFFSET最后执行,保证了信息块的正确性。
(2)对HDOFFSET字段的写,也采用回写方法:先确保OFFSETFLAG字段为0,表示HDOFFSET字段无效,然后执行新信息块的分配和写操作,新信息块写成功后,再更新HDOFFSET字段,最后将OFFSETFLAG字段置1,表示HDOFFSET字段有效。至此,保证了特征值信息文件逻辑的正确性。
用户在实际使用智能手机设备中,可能会出现以下情况:(1)丢失设备、更换设备。(2)对设备进行完全重置,如恢复出厂设置、格式化存储等。(3)误删文件。本发明方法在实现文件数据严格同步的前提下,考虑实际情况,对文件同步流程进行优化,对这些意外情况进行容错处理。
文件同步机制,以特征值信息文件为依托,通过文件名信息块的FNHASHCODE字段和文件内容信息块的HD散列CODE字段来进行比对,以确定文件是否存在、文件内容是否有变化,并以OFLAG字段为辅助,加上用户必要的决定参与,实现了文件数据同步功能。文件同步机制的设计包括以下几个方面。
在正常情况下:
(1)无论终端设备是否需要重新初始化,都要先从云存储服务器下载特征值信息文件,以特征值信息文件为同步依据。
(2)如果云存储服务器没有特征值信息文件,则清空云存储服务器存储,在本地初始化特征值信息文件,并将本地文件和特征值信息文件传送到云存储服务器。实现云存储服务器与本地文件数据的一致性。
(3)云存储服务器有特征值信息文件时,通过将本地文件与特征值信息文件进行比对,将OFLAG字段为2(表示文件内容改变)和3(表示本地产生的新文件)的文件存储到云存储服务器;将OFLAG字段为0(表示本地已经将该文件删除)的文件从云存储服务器删除;OFLAG字段为1表示对应的文件无需更新。本步骤也实现了云存储服务器与本地文件数据的一致性。
在分批传送文件过程中,可能会发生失败,从而使特征值信息文件未能传送到云存储服务器,使云存储服务器存储的文件和云存储服务器存储的特征值信息文件不一致。对文件数据同步的解决方案有2种。
方案1:在本地文件没有改变的情况下,重新启动一次同步过程,并选择不从云存储服务器恢复文件,即可达到文件严格一致的同步目标。假设云存储服务器存储的用户文件集合为U,云存储服务器存储的特征值信息文件中记录的用户文件信息集合为UH,U-UH=Un,集合Un即是云存储服务器散列信息文件丢失的n个文件的信息,丢失的原因是这n个文件传送到云存储服务器后,与之对应的特征值信息文件未能传送到云存储服务器。在本地数据没有发生改变的情况下,本地拥有这n个文件的完整信息,只要一次成功同步,云存储服务器和本地、云存储服务器特征值信息文件和用户文件,就可以达到严格一致。
方案2本地文件有增、删的情况下,重新启动一次同步过程,选择不从云存储服务器恢复文件、从云存储服务器删除与本地文件不一致文件、通过文件名核对方式从云存储服务器删除与本地文件不一致文件的3个选项,即可达到文件严格一致的同步目标。假设云存储服务器存储的用户文件集合为U,云存储服务器存储的特征值信息文件中记录的用户文件信息集合为UH,U-UH=Un,Un即是云存储服务器特征值信息文件丢失的n个文件的信息,本地文件集合为UL,那么UL∩Un≤Un,无论Un集合大小,只要一次成功同步,就可以使U=UL,使云存储服务器和本地、云存储服务器特征值信息文件和用户文件达到严格一致。
通过引入防止因这些意外造成用户数据丢失的机制,让用户参与必要的决定,保证了本发明方法的实用性。在文件同步之前,先从云存储服务器下载特征值信息文件,再让用户决定是否从云存储服务器恢复文件。在这些步骤完成后,才进行智能手机和云存储服务器的文件同步。该方法可有效解决实际使用中发生的文件丢失问题,具体实现中可以再细化同名文件的覆盖策略。
可以对核心方法进行辅助扩充,例如添加文件修改时间戳、源文件终端身份等信息,以提高方法的智能程度和效能,并通过对数据同步情况分类,减少用户不必要的参与,提高方法的用户体验。
根据本发明进一步的实施例,在云存储服务的数据同步过程中,针对安全性需求,引入第三方的存储控制中心,负责通过验证用户的手机信息来给用户一个合法匿名身份。用户在注册使用云存储服务器之前,首先需要在存储控制中心获得身份许可,之后用身份许可去云存储服务器注册安全帐户。注册安全帐户时除了用户自己注册,也可以选择接入控制服务器注册的方式。
本发明用户不可以直接凭身份许可登录云存储服务器,而是利用一个身份许可对应多个安全帐户的方式来使用云存储服务器,用户注册安全帐户既保护了用户隐私也能让攻击者失去攻击的目标。用户从存储控制中心获得身份许可后可以按需创建多个令牌来表示不同账号。每个用户的令牌参数都不相同,即使是同一用户的不同账号的参数也是不一样的,这样确保云存储服务器端不能够将同一个用户的不同账号联系起来,只能够限制一个用户创建帐户的最大数量。下面是安全帐户令牌T的生成方法(H()是散列函数,a是云存储服务器地址,j为同一个用户注册帐户次数,sk为用户私钥,n为用户总数,e为随机数):
ρ=H(a‖j)(n-1)/α
T=ρsk·e mod n
上面这种生成安全帐户的方法和通常的身份匿名验证方法十分地类似,本发明将上述的ρ作为公开的参数,用户登录云存储服务器时只需要输入私钥sk,而不需要转发私钥。
本发明的实施例方法分为注册、登录以及数据存储和共享。注册主要是存储控制中心的身份许可注册和云存储服务器端的安全帐户注册。用户从存储控制中心注册获得身份许可,接下来凭身份许可注册云存储服务器安全帐户,之后用户就可以使用云存储服务器的存储和共享功能。
在这个过程中用户和存储控制中心完成身份许可认证协议,存储控制中心返回用户证书参数值(云存储服务器端不参与其中)。首先,存储控制中心需要确定用户是合法用户而不是一段恶意攻击程序,本本发明用户将手机信息和用户的其他私人基本信息一起上传给存储控制中心。这里手机信息作为确认用户真实存在的依据,存储控制中心通过返回短信来判断本次申请是否来自合法用户。身份许可注册框架中,将存储控制中心作为半可信状态,用户需要在手机端将自己的其他私人信息加密之后存储在存储控制中心。下面是身份许可注册的具体步骤:
1)用户将注册请求、手机信息和加密后的其他基本信息发送给存储控制中心。
2)存储控制中心比对此手机信息,如果注册次数超过次数上限r,返回用户失败。
3)存储控制中心返回用户核实信息,验证此手机信息是否有效,如果验证失败,则返回用户失败。
4)存储控制中心确认了用户的合法身份。用户与存储控制中心执行数字签名协议:
定义公钥组(Ai,b,c,n),计算Q值:
其中sk为用户私钥,λ为用户私钥个数,Ai,b,c为用户私钥的顺序截取值,n为用户总数。
之后用户注册云存储服务器安全帐户时,手机端利用Q值证明用户拥有合法的身份许可。
5)手机端保存随机参数e和计算结果Q的值。
用户从存储控制中心获得了合法的身份许可后可以凭借此身份许可在云存储服务器端注册多个安全帐户。根据用户和云存储服务器对安全程度需求的高低,可以选择两种不同的注册云存储服务器方式:
1)用户发送给云存储服务器器所需信息和身份许可来完成注册。这种方式下,在用户获得了身份许可之后,存储控制中心就处于断开状态,完全不参与接下来的任何流程。用户注册的方式适合安全级别较高的用户和云存储服务器,与通常保护用户隐私的三方协议相比,这个流程中存储控制中心不能获得用户与云存储服务器的任何隐私。
2)云注册由存储控制中心去实现。用户发给存储控制中心云存储服务器地址和云存储服务器对个人身份信息的需求,由存储控制中心去完成云存储服务器的注册。这里由于本发明将存储控制中心作为半可信状态,为了使用户存储的私人信息对存储控制中心不可见,本发明采用同态加密方法加密用户其他私人信息,存储控制中心可以从加密的信息里检索出云存储服务器所需求的私人信息,而不能够知道信息的具体内容。
两种注册方式的流程是类似的,下面是由用户注册的步骤:
1)用户向云存储服务器发送注册帐户请求。
2)云存储服务器返回注册次数上限k和地址参数a。
3)手机端执行验证,并将验证结果和注册次数j发送给云存储服务器。
4)云存储服务器验证该验证结果和j的值(1≤j≤k),如果验证不成立,则终止协议返回用户失败。
5)手机端创建令牌帐户T,创建成功之后向云存储服务器端发送T和别名。
6)云存储服务器检测数据库里是否存在同样的T,若存在则返回失败;否则将T和随机数e加入数据库并绑定此别名,返回用户注册帐户成功。
用户在获得了云存储服务器注册账号之后,就可以在云存储服务器端存储自己的数据。存储控制中心也不再参与其中。本发明在考虑安全隐私的基础上,也按用户需求做了一些安全分级处理,可以节省手机端的开销又不影响用户的基本安全。
手机端首先验证安全帐户,验证成功之后登录云存储服务器。用户上传的数据可以根据内容类别等进行分区处理,将数据分成(D1,D2,…,DN)N个分区,然后根据用户不同情况(内容是否需要对云存储服务器端保密)选择加密方式:
1)将数据加密之后上传到云存储服务器端。这种方法解码密钥只在手机端中,适合安全要求较高的存储文件和可信度不高的云存储服务器端。
2)用户直接上传数据,数据加密由云存储服务器端进行。在这种方式下,用户的此数据信息对云存储服务器端是可见的。此方法适合用户存储非重要信息时使用,主要为了减少移动手机端的计算开销。
由于用户间合作完成项目或者处理数据的需求,用户存储在云存储服务器端的数据需要共享出去,而且通常上传的文件会有多个共享者存在。用户存储自己数据时可以对数据进行分区处理。用户根据自己需要和共享考虑将数据分成N个分区,共享者访问用户的共享数据时,只能访问特定分区而不能下载访问其他部分数据。
下面是共享者获取共享权限的详细流程:
1)共享者向数据宿主发送共享请求和自己的地址;
2)数据宿主同意之后,将共享者需求数据的分区数β发送给云存储服务器端;
3)下面是共享密钥km β的生成,其中(u,v)是随机参数对,t为当前时间;
km β=u·H(β‖m‖t)2+v
4)云存储服务器端将此分区数的共享次数m和共享密钥km β返回给数据宿主(若β区是由云存储服务器加密的共享数据,则带上解码密钥);
5)数据宿主转发给共享者共享密钥km β以及此共享分区的解码密钥;
6)共享者根据共享密钥km β和安全帐户的公钥T,形成完整的共享密钥验证:G=H(km β‖T)(n-1)/α
之后,云存储服务器端存储公钥G和参数对(n,α),并返回共享者β区可共享确认;
上面的流程之后,共享者需要访问β区的数据时,只需要登录云存储服务器,输入km β,云存储服务器端提取共享者的令牌帐户公钥T,若共享密钥验证公式成立,则共享者可以访问共享数据区β。
进一步地,在数据同步过程中,本发明优选地改进现有的增量传输方法,以在云存储系统中进行的优化。以上传新版本文件过程为例。起初,云存储服务器和手机端上都有一份文件OLD的相同副本。随后用户修改了手机端OLD副本,形成NEW。于是,需要将手机端上的NEW上传到云存储服务器上形成新版本。则本发明定义手机端为发送方,云服务器为接收方。增量传输可以分为四步:
①手机端向云服务器发起NEW上传请求。
②云服务器将OLD按固定大小分成块,计算每个块的滚动校验码和AES校验码,并将各个块的滚动校验码集合CHECHSET传输到手机端。
③云服务器收到CHECHSET后,对NEW文件开启同样大小的滚动窗口进行滚动校验。滑动窗口的滚动校验以字节为单次滚动距离向前滚动,每滚动1字节进行一次滚动校验和AES校验。校验方法校验遍历整个文件之后,便可以定位出NEW和OLD所有相同数据块的位置,剩余的就是需要增量传输到云服务器的NEW的数据块信息。所以,最后手机端需要传输的数据是:NEW中与OLD不相同的数据块,以及新版本NEW的分块元数据信息。
④云服务器收到手机端增量传输的内容后,将文件数据块与NEW的分块元数据进行关联,形成新版本文件。需要关联的文件块由两部分组成,NEW独有的文件块以及NEW与OLD公共的文件块。因此需要做两步操作:①将手机端传来的NEW增量文件块和NEW的分块元数据进行关联;②将服务器端已有的OLD文件中定位出公共文件块,并将其与NEW文件元数据进行关联。至此,在云服务器形成完整的NEW文件。一次增量上传文件过程结束。
其中,③中提到的滚动校验方法是传输过程中主要的时间开销,方法具体如下:滚动校验码采用的是多项式滚动校验码,通过将第一个字节移出校验码,加入最后一个字节的校验码的方式,更新计算检验码值。本发明判断两个数据段是否相同,通过计算滚动校验码来猜测二者可能相同,用AES校验码确定二者肯定相同。
再看具体的滑动窗口滚动校验方法,分两步:
①先计算滑动窗口内数据的滚动散列值,并在CHECHSET里查找其值是否存在。
②如果没有找到,则滑动窗口向前滚动1字节。如果找到了,则进一步计算滑动窗口内数据的ASE值。如果ASE值在CHECHSET里存在,则认为目前滑动窗口内数据为重复数据,不存在则滑动窗口向前滚动1字节。
与端对端的应用场景不同,云存储环境下具有高并发的特性,面对云存储环境下的增量传输,服务器端作为星形传输拓扑结构中的中心点,需要应对高并发的场景,系统的并发度受内存大小、网络带宽、磁盘I/O读写速度的限制。因此,本发明对滚动校验码的性能进行了优化。
本发明提到Rsync的滚动校验码,运用增量的思想,每次只需要计算两次窗口之间不同的字节值。因此磁盘I/O只需要关注滑动窗口一头一尾这两个字节的数据即可。因此,计算滚动校验码时每次从磁盘读取滑动窗口之后的下一个字节进内存,与滑动窗口第一个字节数据替换,实现增量更新滑动窗口的滚动校验码信息。针对磁盘I/O操作做性能提升。采用缓冲区的思想来预读入若干个字节的方式来优化方法。具体的缓冲区数据更新方法如下:
开辟两个缓冲区,head和tail,大小都为bSize,其中bsize远小于滚动窗口大小。滑动窗口移出Head[i]和包含tail[i]是一次窗口滑动。滑动窗口读取(Size-1)次之后,将第Size个缓冲区数据移至缓冲区第1个位置,随后读入(Size-1)个字节,完成缓冲区的向前滑动操作。
该优化方法能够有效的优化磁盘访问。是滑动窗口内容全部存放内存和全部内容存磁盘每次读取的方式的折中,兼顾了内存大小和磁盘读写速度的限制,使方法更加适合并发的实际运行环境。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (4)

1.一种移动终端数据存储方法,其特征在于,包括:
在云存储服务器的数据同步过程中,存储控制中心通过验证用户移动终端的信息,为用户终端分配身份许可;用户终端利用该身份许可登录云存储服务器注册安全帐户,通过安全帐户来使用云存储服务器进行存储和共享。
2.根据权利要求1所述的方法,其特征在于,所述用户从存储控制中心获得身份许可后,按需创建多个令牌来表示不同账号,并限制一个用户创建帐户的最大数量;
安全帐户令牌T的由如下方法生成:
ρ=H(a‖j)(n-1)/α
T=ρsk·e mod n
其中H()是散列函数,a是云存储服务器地址,j为同一个用户注册帐户次数,sk为用户私钥,n为用户总数,e为随机数;
将上述的ρ作为公开的参数,用户登录云存储服务器时只输入私钥sk,而不转发私钥。
3.根据权利要求2所述的方法,其特征在于,所述用户终端利用身份许可登录云存储服务器注册安全帐户,进一步包括:
1)用户向云存储服务器发送注册帐户请求;
2)云存储服务器返回注册次数上限k和地址参数a;
3)移动终端执行验证,并将验证结果和注册次数j发送给云存储服务器;
4)云存储服务器验证该验证结果和j的值(1≤j≤k),如果验证不成立,则终止协议返回用户失败;
5)移动终端创建令牌帐户T,创建成功之后向云存储服务器端发送T和别名;
6)云存储服务器检测数据库里是否存在同样的令牌T,若存在则返回失败;否则将T和随机数e加入数据库并绑定该别名,返回用户注册帐户成功。
4.根据权利要求3所述的方法,其特征在于,在所述用户终端利用身份许可登录云存储服务器注册安全帐户的步骤之后,该方法还包括:
移动终端验证安全帐户,验证成功之后登录云存储服务器;根据内容类别对用户上传的数据进行分区处理,将数据分成N个分区D1,D2,…,DN,然后根据内容是否需要对云存储服务器端保密而选择以下加密方式之一:
将数据加密之后上传到云存储服务器端;解码密钥只在移动终端中;或
用户直接上传数据,数据加密由云存储服务器端进行,此时数据信息对云存储服务器端是可见的;
在用户存储共享数据时,将数据分成N个分区,分别设置共享权限:
1)共享者向数据宿主发送共享请求和自己的地址;
2)数据宿主接受请求之后,将共享者需求数据的分区数β发送给云存储服务器端;
3)生成共享密钥km β
km β=u·H(β‖m‖t)2+v
其中(u,v)是随机参数对,t为当前时间;
4)云存储服务器端将该分区数的共享次数m和共享密钥km β返回给数据宿主;
5)数据宿主转发给共享者共享密钥km β以及该共享分区的解码密钥;
6)共享者根据共享密钥km β和安全帐户的公钥T,形成共享密钥验证:G=H(km β‖T)(n-1)/α
云存储服务器端存储公钥G和参数对(n,α),并返回共享者β区可共享确认;
当共享者需要访问β区的数据时,登录云存储服务器,输入km β,云存储服务器端提取共享者的令牌帐户公钥T,若共享密钥验证公式成立,则允许共享者访问共享数据区β。
CN201510304277.8A 2015-06-04 2015-06-04 一种移动终端数据存储方法 Active CN105007302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510304277.8A CN105007302B (zh) 2015-06-04 2015-06-04 一种移动终端数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510304277.8A CN105007302B (zh) 2015-06-04 2015-06-04 一种移动终端数据存储方法

Publications (2)

Publication Number Publication Date
CN105007302A true CN105007302A (zh) 2015-10-28
CN105007302B CN105007302B (zh) 2018-05-15

Family

ID=54379820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510304277.8A Active CN105007302B (zh) 2015-06-04 2015-06-04 一种移动终端数据存储方法

Country Status (1)

Country Link
CN (1) CN105007302B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553962A (zh) * 2015-12-10 2016-05-04 黄信开 一种智能手机的信息存储和下载方法
CN106371772A (zh) * 2016-09-14 2017-02-01 郑州云海信息技术有限公司 一种多存储设备管理方法及系统
CN106878453A (zh) * 2017-03-14 2017-06-20 崔传荣 共享云存储方法及系统
CN107465644A (zh) * 2016-06-03 2017-12-12 中兴通讯股份有限公司 数据传输方法、数据传送客户端及数据传送执行器
CN107749878A (zh) * 2017-10-16 2018-03-02 新华三信息安全技术有限公司 一种同步文件的方法及装置
CN108965299A (zh) * 2018-07-19 2018-12-07 清华大学 一种数据访问方法、访问验证设备及数据存储系统
CN110224713A (zh) * 2019-06-12 2019-09-10 读书郎教育科技有限公司 一种高安全性智能儿童手表及其安全防护方法
CN110537905A (zh) * 2019-05-24 2019-12-06 哈尔滨理工大学 一种便携式人体健康监测系统
CN111241189A (zh) * 2018-11-29 2020-06-05 北京京东尚科信息技术有限公司 一种同步数据的方法和装置
CN112995939A (zh) * 2021-02-05 2021-06-18 浙江工贸职业技术学院 一种无线传感网传输与云服务接入控制系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685148A (zh) * 2012-05-31 2012-09-19 清华大学 一种云存储环境下的安全网盘系统的实现方法
CN102752407A (zh) * 2012-07-30 2012-10-24 张清 数字文化社区系统
CN103051664A (zh) * 2012-08-14 2013-04-17 深圳市朗科科技股份有限公司 一种云存储系统的文件管理方法、装置及该云存储系统
CN103582885A (zh) * 2011-06-03 2014-02-12 苹果公司 基于网络的数字数据仓库的管理
US20140304326A1 (en) * 2013-04-09 2014-10-09 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
CN104270465A (zh) * 2014-10-23 2015-01-07 成都双奥阳科技有限公司 一种云存储的保护系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103582885A (zh) * 2011-06-03 2014-02-12 苹果公司 基于网络的数字数据仓库的管理
CN102685148A (zh) * 2012-05-31 2012-09-19 清华大学 一种云存储环境下的安全网盘系统的实现方法
CN102752407A (zh) * 2012-07-30 2012-10-24 张清 数字文化社区系统
CN103051664A (zh) * 2012-08-14 2013-04-17 深圳市朗科科技股份有限公司 一种云存储系统的文件管理方法、装置及该云存储系统
US20140304326A1 (en) * 2013-04-09 2014-10-09 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
CN104270465A (zh) * 2014-10-23 2015-01-07 成都双奥阳科技有限公司 一种云存储的保护系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553962B (zh) * 2015-12-10 2018-08-28 黄信开 一种智能手机的信息存储和下载方法
CN105553962A (zh) * 2015-12-10 2016-05-04 黄信开 一种智能手机的信息存储和下载方法
CN107465644B (zh) * 2016-06-03 2021-02-23 中兴通讯股份有限公司 数据传输方法、数据传送客户端及数据传送执行器
CN107465644A (zh) * 2016-06-03 2017-12-12 中兴通讯股份有限公司 数据传输方法、数据传送客户端及数据传送执行器
CN106371772A (zh) * 2016-09-14 2017-02-01 郑州云海信息技术有限公司 一种多存储设备管理方法及系统
CN106371772B (zh) * 2016-09-14 2019-06-28 郑州云海信息技术有限公司 一种多存储设备管理方法及系统
CN106878453A (zh) * 2017-03-14 2017-06-20 崔传荣 共享云存储方法及系统
CN106878453B (zh) * 2017-03-14 2023-10-31 上海直真视通科技有限公司 共享云存储方法及系统
CN107749878A (zh) * 2017-10-16 2018-03-02 新华三信息安全技术有限公司 一种同步文件的方法及装置
CN108965299A (zh) * 2018-07-19 2018-12-07 清华大学 一种数据访问方法、访问验证设备及数据存储系统
CN111241189A (zh) * 2018-11-29 2020-06-05 北京京东尚科信息技术有限公司 一种同步数据的方法和装置
CN110537905A (zh) * 2019-05-24 2019-12-06 哈尔滨理工大学 一种便携式人体健康监测系统
CN110224713B (zh) * 2019-06-12 2020-09-15 读书郎教育科技有限公司 一种基于高安全性智能儿童手表的安全防护方法及系统
CN110224713A (zh) * 2019-06-12 2019-09-10 读书郎教育科技有限公司 一种高安全性智能儿童手表及其安全防护方法
CN112995939A (zh) * 2021-02-05 2021-06-18 浙江工贸职业技术学院 一种无线传感网传输与云服务接入控制系统

Also Published As

Publication number Publication date
CN105007302B (zh) 2018-05-15

Similar Documents

Publication Publication Date Title
CN104836862A (zh) 一种智能终端数据存储方法
CN111448781B (zh) 一种计算机实现的用于通信共享的区块链数据的方法
CN111108478B (zh) 一种用于通信和共享区块链数据的方法、系统、和装置
CN105007302A (zh) 一种移动终端数据存储方法
CN110999255B (zh) 检索区块链网络的访问数据的方法及装置
CN110875821B (zh) 密码学区块链互操作
EP3669281B1 (en) Shared blockchain data storage
CN109074434B (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统
CN109327481B (zh) 一种基于区块链的全网统一在线认证方法及系统
CN109508552B (zh) 分布式云存储系统的隐私保护方法
US20180219687A1 (en) Secure sharing
CN111144881A (zh) 对资产转移数据的选择性访问
Huang et al. SeShare: Secure cloud data sharing based on blockchain and public auditing
WO2018187410A1 (en) Systems and methods for data backup and authentication using blockchain
KR102152360B1 (ko) IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법
WO2018187408A1 (en) System for recording ownership of digital works and providing backup copies
JP6543743B1 (ja) 管理プログラム
US20090106549A1 (en) Method and system for extending encrypting file system
Ali et al. Blockstack: A new decentralized internet
CN102546664A (zh) 用于分布式文件系统的用户与权限管理方法及系统
CN106131048A (zh) 一种用于区块链的非信任远程交易文件安全存储系统
US11729175B2 (en) Blockchain folding
CN104603740A (zh) 归档数据识别
CN109845183B (zh) 用于从客户端设备向云存储系统存储数据块的方法
CN109241754B (zh) 一种基于区块链的云文件重复数据删除方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180205

Address after: 400000 2-2-1-61, No. 319, Haier Road, Jiangbei District, Chongqing.

Applicant after: Chongqing steady Technology Co., Ltd.

Address before: West high tech Zone Fucheng Road in Chengdu city of Sichuan province 610041 399 No. 9 Building 2 unit 15 Floor No. 5

Applicant before: CHENGDU GUODOU DIGITAL ENTERTAINMENT CO., LTD.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Yongfeng

Inventor after: Zeng Weijun

Inventor after: Yu Dufeng

Inventor after: Liu Yuanyuan

Inventor after: Wang Jing

Inventor before: Yao Yuan

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180417

Address after: 510000 13 tower, Golden Eagle tower, 316 Central Road, Yuexiu District, Guangzhou, Guangdong.

Applicant after: Guangdong International Engineering Consulting Co., Ltd.

Address before: 400000 2-2-1-61, No. 319, Haier Road, Jiangbei District, Chongqing.

Applicant before: Chongqing steady Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant