CN105072165B - 一种基于混合模式移动应用的数据本地存储控制方法及装置 - Google Patents

一种基于混合模式移动应用的数据本地存储控制方法及装置 Download PDF

Info

Publication number
CN105072165B
CN105072165B CN201510435463.5A CN201510435463A CN105072165B CN 105072165 B CN105072165 B CN 105072165B CN 201510435463 A CN201510435463 A CN 201510435463A CN 105072165 B CN105072165 B CN 105072165B
Authority
CN
China
Prior art keywords
stored
storage
local storage
localstorage
content
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
CN201510435463.5A
Other languages
English (en)
Other versions
CN105072165A (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.)
Shenzhen Graduate School Tsinghua University
Original Assignee
Shenzhen Graduate School Tsinghua University
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 Shenzhen Graduate School Tsinghua University filed Critical Shenzhen Graduate School Tsinghua University
Priority to CN201510435463.5A priority Critical patent/CN105072165B/zh
Publication of CN105072165A publication Critical patent/CN105072165A/zh
Application granted granted Critical
Publication of CN105072165B publication Critical patent/CN105072165B/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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于混合模式移动应用的数据本地存储控制方法及装置,数据本地存储控制方法中,当移动终端的混合模式移动应用接收到远程页面的存储请求后,进行存储判断:对需存储的内容和要存储到的本地存储文件进行评估,判断所述本地存储文件是否能接受所述需存储的内容的存储请求,如果是,则存储到本地存储文件;如果否,则不存储。本发明的基于混合模式移动应用的数据本地存储控制方法及装置,经过评估判断后,对有必要存储的情形才接受请求进行存储,这样可有效提高移动终端存储空间的利用率,提高LocalStorage存储的存储性能。

Description

一种基于混合模式移动应用的数据本地存储控制方法及装置
【技术领域】
本发明涉及本地存储方法,特别是涉及一种基于混合模式移动应用的数据本地存储控制方法及装置。
【背景技术】
从HTML5标准被推出以来,经过几年的探索和发展,在浏览器公司的努力下,HTML5已经成为新一代网页技术的标准。目前已经有众多浏览器支持HTML5的新功能,并且Android和iOS等智能手机平台也支持HTML5。HTML5的一个重要的新特性就是增加了本地存储。在html5之前,cookie是html一个非常重要的元素,服务器可以利用cookie包含信息的任意性来筛选并经常性维护这些信息,cookie典型的应用是判断用户是否已经登录和“购物车的处理”。在html5中增加了web storage的功能,web storage则大有取代cookie之势。web storage包括localstorage和sessionstorage两部分,而localstorage作为浏览器的本地存储,官方建议的大小为5MB,而具体的浏览器也可以在此标准上适当扩容,比起cookie的4KB限制,在容量上有极大的提升。虽然与cookie相比,localstorage在性能上有极大的提升,但是在存储性能和安全性能方面并没有很大的改善,所以localstorage的存储性和安全性问题,从提出到现在一直是一个引人关注的问题。
Hybrid App(混合模式移动应用)是指介于Web App、Native App这两者之间的App,兼具Native App良好用户交互体验的优势和Web App跨平台开发的优势,因此HybridApp将成为未来App发展的主流趋势。LocalStorage作为Hybrid App的本地存储机制,LocalStorage的存储性将影响Hybrid App占用的移动设备的存储空间。一个LocalStorage文件多达5M的存储容量,使Hybrid App的本地存储性能有所提升,但是LocalStorage文件是永久存储,这对于移动端来说这样的空间代价太大。同时,Hybrid App使用LocalStorage进行本地存储时,数据是以明文的方式存储的,如果移动设备中LocalStorage文件被偷取,所有LocalStorage中的信息将被泄露。最后,LocalStorage的安全性也将严重地影响到Hybrid App的安全性,例如LocalStorage的恶意端口攻击以及跨目录存储攻击,都使得Hybrid App的本地存储的不安全性大大增加。
由于Hybrid App和LocalStorage是两个新生产物,两者在存储性能和安全性防护方面,目前并没有成熟的机制,这就使得提出针对Hybrid App本地存储的存储性能改善和防护机制尤为紧迫。
公开号为CN102779181A,申请号为201210223342.0的专利申请文件中公开的方案,提供一种基于HTML5的浏览器离线存储数据处理方法及浏览器,浏览器接收HTML5资源数据进行离线存储;当离线存储的资源数据到达设定的离线存储空间容量阈值之后,将已离线存储的资源数据根据访问时间选择性地进行淘汰或调整所述离线存储空间容量阀值;继续存储接收的资源数据。该旨在有效地释放和调整存储空间,加快浏览器速度,提升用户的体验。然而该方案只是利用LocalStorage(离线存储的方式之一)对资源进行离线存储,提高浏览器的性能,没有考虑LocalStorage自身的存储性能,也完全没有考虑LocalStorage存储中有恶意端口攻击和跨目录存储攻击的问题,也没有提出针对LocalStorage的任何相应的提高安全性能的措施。
公开号为CN103294700A,申请号为201210046681.6的专利申请文件中公开的方案,公开了一种跨浏览器的数据本地存储方法和装置,网页检测当前浏览器支持的数据本地存储方式,在当前浏览器设置存储数据接口;根据检测到的本地存储方式将网页数据通过所述存储数据接口进行本地存储;同时还公开了一种跨浏览器的数据本地存储装置。通过上述方案,能在本地存储数据时自动适配用户端的浏览器,并能使用统一的本地存数据接口存储更大容量的数据,另外,还可以通过所述存数据接口存入Javascript数据对象,提升网页应用的用户体验。然而,这种方案虽然解决了LocalStorage本地存储浏览器兼容问题,提升了用户的体验,但其仅限于性能上的考虑,也没有考虑Hybrid App中使用WebView加载页面的情况,并且没有讨论LocalStorage的相关安全问题及提出任何相应的提高安全性的措施。
美国专利公开号US20130346542A1,申请号为US13529639中所述的方案,提供了一种共享数据的方法及系统,对网络通信中的页面进行存储及处理。在计算机网络中共享的数据是已经进行处理的页面。共享的方法是可以通过一个内容浏览器在内存中进行注册,使其可以接收来自远程服务器的内容,该方法还通过浏览器的LocalStorage对象根据独一无二的私钥缓存相关内容的数据。为了可以激活LocalStorage存储的实例对象,在远程服务器中需存储相关的密钥。然而,该方案主要是通过密钥许可认证利用LocalStorage存储远程服务器上的资源。然而,该方案对信息的存储采取了认证机制,但是并没有对LocalStorage存储机制本身的性能和安全性采取防护措施,同时存储的内容还是以明文的形式存储,也没有针对移动端WebView中的LocalStorage采取防护措施。
【发明内容】
本发明所要解决的技术问题是:弥补上述现有技术的不足,提出一种基于混合模式移动应用的数据本地存储控制方法及装置,能有效利用移动终端的存储空间,改善本地存储的存储性能。
本发明的技术问题通过以下的技术方案予以解决:
一种基于混合模式移动应用的数据本地存储控制方法,当移动终端的混合模式移动应用接收到远程页面的存储请求后,进行存储判断:对需存储的内容和要存储到的本地存储文件进行评估,判断所述本地存储文件是否能接受所述需存储的内容的存储请求,如果是,则存储到本地存储文件;如果否,则不存储。
优选的技术方案中,
包括以下步骤:A1)获取如下参数的值:所述需存储的内容的大小L、要存储到的所述本地存储文件的读取频率H、所述移动终端的可用空间大小S、所述混合模式移动应用中所有本地存储文件的总大小C;A2)确定L、H的权重系数Wl、Wh,确定L与S的比值的权重系数Wls,C与S的比值的权重系数Wcs;A3)根据步骤A1)获取的参数的值和步骤A2)确定的权重系数的值,计算所述需存储的内容对当前要存储到的所述本地存储文件的存储度Q,当存储度Q大于存储度设定阈值时,接受存储请求,否则拒绝存储请求。
上述方案中,通过引入存储度,根据相关参数和权重系数确定存储度,以量化表示本地存储文件是否能接受所述需存储的内容的存储请求,从而较为客观地判断哪些存储请求下应该存储,哪些存储请求下不存储。
进一步优选的技术方案中,
所述步骤A2)中按照如下方式确定各权重系数:其中表示范围x~y之间的中位数,x表示需存储的内容的大小L会取到的最小值,y表示需存储的内容的大小L会达到的最大值;其中表示所述本地存储文件平均每天的存储次数;Wls的范围内,其中,表示所述移动终端的平均可用空间的大小;Wcs 的范围内,表示平均每个混合模式移动应用占用的空间大小。
所述步骤A3)中根据如下公式确定存储度Q:
进一步优选的技术方案中,
在将所述需存储的内容存储到所述本地存储文件之前,还包括在线存储清理步骤:B1)判断SL+L是否小于等于目标容量,其中,SL表示要存储到的所述本地存储文件的当前大小,L表示所述需存储的内容的大小;如果是,则结束,将所述需存储的内容存储到所述本地存储文件中;如果否,则进入步骤B2):B2)按照上一次读取所述本地存储文件中的各记录的时间顺序进行排序,将读取时间早的记录排在前面,删除前n条记录,其中,n为用户设定的数值;删除后,返回步骤B1)。
通过该在线存储步骤的处理,可将不重要的存储记录删除,从而严格控制单个LocalStorage文件遵守目标容量的限制,确保不超过目标容量。
进一步优选的技术方案中,
所述本地存储控制方法还包括周期性清理步骤:对各本地存储文件进行如下处理:C1)获取如下参数的值:本地存储文件的未使用的天数T、读取频率F、大小D以及移动终端的剩余空间S;C2)确定T、F的权重系数Wt、Wf,F与D的比值的权重系数Wfd,D与S的比值的权重系数Wds;C3)根据步骤C1)获取的参数的值和步骤C2)确定的权重系数的值,计算本地存储文件的删除度V,当删除度V大于删除度设定阈值时,删除该本地存储文件。
通过该周期性清理步骤,从而将使用频率小、长期不使用的或者使用价值小的LocalStorage文件进行删除,防止Hybrid App因为LocalStorage的存储而占用大量的空间,进一步优化LocalStorage的存储功能。
进一步优选的技术方案中,
在将所述需存储的内容存储到所述本地存储文件之前,还包括加密步骤:对需存储的内容中的信息进行分类,分类为用户个人信息和非用户个人信息;对用户个人信息进行加密。
通过上述加密步骤,对用户的个人信息进行分类,识别出用户个人信息作为重要信息,从而进行加密,这样既能提高用户的安全性,也不会明显影响性能。
进一步优选的技术方案中,
在将所述需存储的内容存储到所述本地存储文件之前,还包括跨目录攻击防护步骤:判断所述混合模式移动应用的用户是否处于登录状态,如果是,则将需存储的内容附上用户标记后存储到所述本地存储文件中;如果否,则将需存储的内容直接存储到所述本地存储文件中。这样,对用户的私有信息存储时,对不同的用户的信息进行分开存储,防止了攻击的发生,提高了本地存储的安全性。
进一步优选的技术方案中,
所述本地存储控制方法还包括端口检测步骤,如果通过检测,则进行存储判断;否则,直接结束,不存储;所述端口检测步骤包括:D1)判断所述远程页面的来源URL中是否有端口号,如果否,则通过检测;如果是,则进入步骤D2);D2)查询页面数据库,判断同域名或IP,且与步骤D1)中端口号相同的来源URL是否已经在数据库中,如果是,则通过检测;如果否,则将所述来源URL标记为可疑URL后插入所述数据库中,更新数据库,进入步骤D3);D3)查询所述数据库中同域名或IP下,可疑URL在所述数据库中出现的次数,如果出现的次数大于等于设定的阈值次数,则不通过检测;如果出现的次数小于设定的阈值次数,则通过检测。通过该设置,可防止端口存储攻击,帮助用户发现恶意的网页和恶意的Hybrid App。
本发明还提供一种基于混合模式移动应用的数据本地存储控制装置,根据如上所述的数据本地存储控制方法进行数据的本地存储与控制。
本发明与现有技术对比的有益效果是:
本发明的基于混合模式移动应用的数据本地存储控制方法及装置,经过评估判断后,对存储后会经常使用的内容以及移动终端有一定存储余量时才进行存储,对存储后不会经常使用到或者存储空间不足时,则不进行存储,这样可有效提高移动终端存储空间的利用率,表现在存储有必要存储的内容,且可用空间足时进行存储,不足时则不存储。通过上述设置,可防止混合模式移动应用因为LocalStorage的存储而占用大量的空间,同时把LocalStorage的存储功能进行了优化。
【附图说明】
图1是本发明具体实施方式的数据本地存储控制方法的流程图;
图2是本发明具体实施方式的端口存储防护攻击步骤的流程图;
图3是本发明具体实施方式的存储判断步骤的流程图;
图4是本发明具体实施方式的在线清理步骤的流程图
图5是本发明具体实施方式的离线清理步骤的流程图;
图6是本发明具体实施方式的信息加密步骤的流程图;
图7是本发明具体实施方式的跨目录攻击防护步骤的流程图。
【具体实施方式】
下面结合具体实施方式并对照附图对本发明做进一步详细说明。
如图1所示,为本发明具体实施方式的数据本地存储控制方法的流程图,当HybridAPP接收到远端页面的存储请求后,包括以下步骤:端口存储攻击防护步骤101、存储判断步骤102、存储清理步骤103、信息加密步骤104、跨目录攻击防护步骤105,通过上述各步骤后,将需要存储的内容存入目标LocalStorage文件中。上述流程中,首先,引入文件的存储判断评估,以判断文件是否有必要存储。其次,提出了对LocalStorage中存储的重要信息进行加密,这使得LocalStorage存储的安全性大大提高,使用户的重要信息可以得到很好的保护。最后,基于新发现的关于LocalStorage存储的一种新存储攻击——端口存储攻击,提出了相应的防护措施。并且还提出了一种针对LocalStorage跨目录攻击的防护方法,可以使LocalStorage的跨目录攻击在Hybrid App失效,使用户的私密信息得到了很好的保护。上述LocalStorage存储控制方法及相应的系统可以帮助用户很好的管理LocalStorage文件,防止其占用移动端大量的存储空间,且安全以及私密性高的本地存储可以为Hybrid App的普及产生重要的影响。针对Hybrid App中LocalStorage存储的控制,使Hybrid App可以充分利用LocalStorage存储带来的好处,同时很好的避免LocalStorage存储带来的存储性能劣势以及安全隐患。
如下,依次描述各步骤的具体内容。
步骤101:端口存储攻击防护步骤:
LocalStorage端口存储攻击是指,恶意的Hybrid App可以通过LocalStorage存储机制上的对端口的区分对移动端存储无用信息造成攻击。现有的LocalStorage存储机制是为同一个域或IP的不同端口独立建立一个LocalStorage文件。这样只要攻击者为每一个通过Hybrid App访问的远程页面变换一个端口号,本地存储就会不断的建立LocalStorage文件,占用用户的移动终端的宝贵存储资源。
本具体实施方式中,为URL中有端口的远程页面建立一张数据表,当同一个域名或IP出现5次以上的不同端口的URL,则禁止来自该域或IP的任何远程页面的LocalStorage存储请求,并弹框提示用户正在访问一个恶意的页面。同时对页面的来源进行判断,如果页面来源于该App的本地文件,可以弹框提醒用户这是一个恶意的App,建议用户卸载该App软件。
具体地,端口存储攻击防护,也即端口检测的步骤如图2所示:包括以下步骤:
1.判断所述远程页面的来源URL是否有端口号(图2中步骤202)。
以Android平台为例,当Hybrid App通过WebView加载页面时,如果页面有LocalStorage的存储请求时,可以通过调用android.webkit包下的PermissionRequest类中getOrigin方法获取请求LocalStorage存储的远程页面的来源URL,并且通过正则匹配判断页面来源URL中是否含有端口。如果不含端口,则通过该步骤的端口检测,否则,继续执行下一步。
2.为可疑URL建立数据库
a)判断可疑URL是否已经出现在数据库中
查询数据库,判断同域名或IP,且端口号相同的URL是否已经在数据库中(步骤203),如果已经存在于数据中,则通过该步骤的端口检测,否则将该URL标记为可疑URL插入数据库,更新数据库,并执行下一步。
b)通过数据库判断是否为恶意的Hybrid App
查询同域名或IP的可疑URL在数据库中出现次数,判断出现的次数是否小于设定阈值次数,本具体实施方式中设定次数为5次(步骤204)。如果出现的次数大于等于5次,则检测不通过,拒绝存储,并且还可以设置系统弹出窗口,向用户举报该Hybrid App为恶意App(步骤206),建议用户卸载;如果出现的次数少于5次,则认为通过该步骤的端口检测(步骤205)。
步骤102:存储判断步骤:
目前的LocalStorage存储机制是只要有存储空间且单个LocalStorage文件没有达到上限就允许任何远程页面的存储请求。这样的机制明显存在着一些缺陷,存储空间对于移动端来说是非常宝贵的,过多的本地存储显然是不合理的。同时对于有一些LocalStorage完全没有必要存储,比如一些存储后极少使用的LocalStorage文件。因此,本具体实施方式中,当页面请求进行LocalStorage存储时,对存储的内容进行评估,判断其是否有必要进行存储。
如图3所示,为本具体实施方式中存储判断步骤的流程图,包括以下步骤:
301)接收存储请求。
302)获取存储内容的大小。
LocalStorage本地存储通过LocalStorage.setItem(key,value)函数来存储信息,通过字符串长度判断函数(value.length()),来判断value(字符串)的长度得到SL,SL/1024=L(单位为KB),最终存储内容的大小为L(KB)。
303)获取将要存储到的目标LocalStorage文件的读取频率
具体地,首先为系统中所有LocalStorage文件建立一个数据库。在数据库中建立一张表记录所有LocalStorage文件的读取次数,LocalStorage文件的建立时间及上一次的读取时间。当请求进行LocalStorage存储时,从系统在数据库中查询获取目标LocalStorage文件读取的次数K及文件建立的日期D1,同时从系统中获取当前时间D2,则目标LocalStorage文件的读取频率H=K/(D2-D1+1)。
304)获取系统剩余空间的大小
以Android平台为例,通过Android的系统函数getAvailableBlocks(单位为KB)获得移动终端当前可用的空间大小S1(B),S=S1/1024(单位为KB),则系统剩余空间的大小为S(KB)。
305)获取该Hybrid App中所有LocalStorage文件的总大小
在步骤303)中建立的数据库中,记录着每一个Hybrid App所拥有的LocalStorage文件的总容量,当发生LocalStorage存储请求时,直接从数据库中查询,得到LocalStorage文件的总大小C。
获取上述参数后,建立自动判断模型。
为了判断请求的内容是否有必要存储,引入了以下的一些参数:存储内容的长度L(通过步骤302获得);存储的LocalStorage文件的读取频率H(通过步骤303获得),如果以往存储的内容很少被再次使用,将要存储的内容也可能很少被使用。移动终端剩余的存储空间S(通过步骤304获得),S表明目标LocalStorage存储文件接受存储的承受能力,以及Hybrid App所拥有的LocalStorage文件的总大小C(通过步骤305获得)。
为了使判断更加合理,还需为参数引入了权重系数,L、H对应权重系数为Wl、Wh,L与S的比值的权重系数为Wls,C与S的比值的权重系数为Wcs
按照以下原则确定各权重系数的取值:其中表示范围x~y之间的中位数,x表示需存储的内容的大小L会取到的最小值,y表示需存储的内容的大小L会达到的最大值;其中表示所述本地存储文件平均每天的存储次数;Wls 的范围内,其中,表示所述移动终端的平均可用空间的大小;Wcs的范围内,表示平均每个混合模式移动应用占用的空间大小。
本具体实施方式中,L的值一般在2~100B之间,中位数是50B,转换单位就是0.05KB,所以L的平均值为0.05KB,Wl的值取20(使得平均值乘上权重系数正好为1),从而将L的平均值调整为1。
设每个月存储的次数为1~30次,平均为15次/30天,所以平均每天的存储次数为0.5次,则Wh取2,从而将H的平均值调整为1。
设移动终端的平均可用空间的大小为2048M,L的平均值为0.05KB,则为0.05KB/(2048*1024)KB,因此Wls的范围内,以将调整为1。本具体实施方式Wls取值为40000000,取整数,使得计算便捷。
LocalStorage文件的大小的范围为0~5M,则平均每个LocalStorage文件大小为2.5MB,设平均每个Hybrid App含有5个LocalStorage文件,则平均每个Hybrid App占用空间为12.5MB。如移动终端中的平均可用空间的大小为2048M,则为25/4096,因此Wcs的范围内,以将调整到1。本具体实施方式中,Wcs取值160,取整数,使得计算便捷。
表1权重系数的值
名称 Wl Wh Wls Wcs
20 2 40000000 160
定义当前LocalStorage文件的存储度Q如下:
存储度Q是衡量LocalStorage文件是否接受存储请求的指标。步骤306判断存储度Q是否超过存储度设定阈值,当Q超过某一阀值时就接受存储请求,否则拒绝存储请求。
本具体实施方式的存储判断步骤中,创新性的引入文件的存储度公式,利用该公式来判断文件是否存储。需说明的是,上述确定权重系数以及定义的存储度公式只是一种示例,其余稍作变化的形式也是可行的,例如,在确定权重系数时,上述方式是将四个加和项都分配为“1”来确定权重系数的,也可以根据各项在系统的重要程度分配不同的值,例如将其余3个权重系数不变,即是将第二加和项分配为“2”,其余三个加和项仍然分配为“1”,此种情形下存储度判断时更加关注目标本地存储文件的读取频率。再例如,在计算存储度时,上述公式21也可稍作变化,例如将L、H、中的一者或者多者调整为平方,然后再加和。总的来说,上述确定过程和公式只是一种示例,不构成限制。
步骤103:存储清理步骤:
Hybrid App中的LocalStorage存储是永久存储,只要App不删除就会永久存储在移动终端。这样的机制对于移动终端显然是合理的。但是,对于一些过时的、不用的LocalStorage记录或文件应当对其进行清理管理。该存储清理步骤就是对LocalStorage存储文件起清理管理的作用。该步骤包括在线清理步骤和离线清理步骤两种情形。
在线清理步骤的流程图如图4所示,包括以下步骤:
步骤401:判断SL+L是否小于等于目标容量,其中,SL表示要存储到的所述本地存储文件的当前大小,L表示所述需存储的内容的大小。
为了更好的、有效的利用移动端的存储空间,本具体实施方式严格地要求单个LocalStorage文件遵守5M的上限,即本具体实施方式中目标容量定为5M,在其他实施方式可根据实际情况进行调整。当产生LocalStorage存储请求时,通过查询数据库获得要存储到的目标LocalStorage文件的大小为SL(KB),而需存储内容的大小为L(KB),所以当(SL+L)/1024≤5M时,通过清理步骤的处理(步骤404),接受存储请求,否则不通过,继续执行下一步。
删除LocalStorage文件中不重要的存储记录:
当单个LocalStorage文件的存储大于5M时,现有的机制允许其继续进行存储,当超过某一上限时(如10M),就会出现三种情况:停止存储、随机覆盖存储、文件失效。这三种情况都存在一定的缺陷。在本具体实施方式中,提出一种新的机制,当(SL+L)/1024>5M时,进入步骤402:把LocalStorage文件存储的记录中按最近一次读取时间排序(读取时间早的记录排在前面);步骤403:删除前n条记录,本具体实施方式中n=10。删除之后,返回步骤401,判断(SL+L)/1024≤5M是否成立,如不成立则循环进行,直至通过清理步骤的处理,将请求存储的信息存入目标LocalStorage文件中。
离线清理步骤(也为周期性清理步骤)用于周期性删除系统中的不重要的LocalStorage文件。对整个移动终端的LocalStorage文件进行周期性(如每隔10天)清除,对于使用频率小、长期不使用的或者使用价值小的LocalStorage文件进行删除。离线清理步骤中,对各本地存储文件均进行如图5所示的处理,包括以下步骤:
步骤501:获取LocalStorage文件未使用的天数。
具体地,从数据库中获取该LocalStorage文件上一次被使用的日期T1,同时获得当前系统的日期T2,LocalStorage文件未使用的天数为T,T=(T2-T1)。
步骤502:获取LocalStorage文件的读取频率
具体地,从数据库中获取该LocalStorage文件的读取次数P及文件建立日期U1,同时获得当前系统的日期U2,则LocalStorage文件的读取频率为F(单位为次/天),F=P/(U2-U1)。
步骤503:获取LocalStorage文件的大小,具体地,从数据库中获取LocalStorage文件的大小D。
步骤504:获取系统剩余空间的大小
具体地,以Android平台为例,通过Android的系统函数getAvailableBlocks(单位为KB)获得移动端当前可用的空间大小S1(B),S=S1/1024(单位为KB),则系统剩余空间的大小为S(KB)。
步骤505:判断是否删除该LocalStorage文件
为了判断当前正在处理的LocalStorage文件是否应该删除。本具体实施方式中引入了以下的一些参数:未使用的时间T(单位为天,通过步骤501获得),对于长时间不用的LocalStorage文件显然可以删除。使用频率F(单位为次/天,通过步骤502获得),使用频率小说明LocalStorage的使用价值小。文件的大小D(通过步骤503获得),文件越大说明空间代价越大;移动终端的剩余可用空间大小S(通过(4)获得),剩余空间说明移动终端继续进行存储的承受能力。
为使各因素起到作用更加合理,分别引入相应的权重系数Wt、Wf、Wfd(F/D的权重系数)、Wds(D/S的权重系数)。具体地,按照如下方式确定各权重系数:其中表示本地存储文件未使用天数的平均值;其中表示本地存储文件平均每天的存储次数;其中,表示平均每个本地存储文件的大小;Wds 的范围内,表示所述移动终端的平均可用空间的大小。
本具体实施方式中,T的值一般在0~30天之间,平均值为15天,所以Wt的值取1/15(使T的平均值乘上权重系数恰好等于1),以将T的平均值调整为1。
设每个月存储的次数为1~30次,平均为15次/30天,所以本地存储文件平均每天的存储次数为0.5次,所以Wf取2,以将F的平均值调整为1。
为0.5次。LocalStorage文件的大小的范围为0~5M,则平均每个LocalStorage文件大小为2.5MB,则为0.5/2.5=0.2,所以以将调整为1。
设系统的平均剩余可用空间的大小为2048MB,D的平均值的大小为2.5MB,则为5/4096,则Wds的范围内,已将调整为1。本具体实施方式中,Wds取800,取整数,使得计算便捷。
表2:权重系数的值
名称 Wt Wf Wfd Wds
1/15 2 5 800
定义判断LocalStorage文件是否该删除的删除度V如下:
删除度V是判断LocalStorage文件是否该删除的指标,当某一LocalStorage文件的删除度V大于删除度阀值时,就把该LocalStorage文件删除(步骤507)。当某一个LocalStorage文件的删除度V小于等于删除度阀值时,则无需删除,进入步骤506判断是否存在下一个LocalStorage文件,如果是,则返回步骤501,进入下一个LocalStorage文件的上述处理过程,如果否,则表示所有LocalStorage文件均经过上述处理过程,则结束。
本具体实施方式中,创新性的引入文件的删除度公式,利用该公式来判断文件是否删除。需说明的是,上述确定权重系数以及定义的删除度公式也只是一种示例,其余稍作变化的形式也是可行的,例如,在确定权重系数时,上述方式是将四个加和项都分配为“1”来确定权重系数的,也可以根据各项在系统的重要程度分配不同的值,例如将其余3个权重系数不变,即是将第一加和项分配为“2”,其余三个加和项仍然分配为“1”,此种情形下删除度判断时更加关注本地存储文件未使用天数这一项。再例如,在计算删除度时,上述公式22也可稍作变化,例如将T、F、中的一者或者多者调整为平方,然后再加和。总的来说,上述确定过程和公式只是一种示例,不构成限制。
步骤104:信息加密步骤:
Hybrid App中LocalStorage存储信息都是以明文的方式存储在本地,这大大增加了信息存储的风险。如果对LocalStorage中所有的信息都进行加密则可能会较大地影响到存储性能,而如果都不加密则安全风险太大。本具体实施方式中,设计对重要的信息进行加密,既不会明显影响性能,又可以大大提高存储信息的安全性。对LocalStorage文件中的重要信息进行加密,需要对重要的信息进行精准判断,使该操作既不会影响系统对LocalStorage数据存取速度,又可以很好的保护用户的重要信息。如对用户的ID、密码、认证token进行加密,对商品名称、网站信息就不需要加密。本具体实施方式的信息加密步骤的流程图如图6所示:
1.判断重要信息
判断信息是否重要是一个二分类问题,这里选用分类器进行判断。
(1)获取记录存储名称
LocalStorage的存储方式是以键值对的形式存储数据,如LocalStorage.setItem(key,value),获取key的值。
(2)获取存储数据的长度
LocalStorage存储的信息是字符串(value),获取value字符串的长度。
(3)判断提交的信息是来自页面中哪个组件
页面比较常见的、有可能提交存储的组件有li、input、frame、dl、img、label。在Javascript代码中要获取值,往往先要获取组件对象,用getElementById组件对象,而其参数便是组件的ID,在页面中寻找该ID的组件,该组件便是信息的来源组件。
(4)特征项的选取
LocalStorage的存储方式是以键值对的形式存储数据,如LocalStorage.setItem(key,value),一般key的名字可以透露出一定的信息。故key可以作为一个特征项。同时value的值来之于页面中哪一个组件,不同的组件重要性不一样,如从<input>中获取的value值通常比较重要。一般重要的信息长度都不会太长,所以value值的长度也可以作为一个特征项。
为了表述的方便,本具体实施方式中只选择value的来源(origin),key,value的长度(length)为特征项生成特征向量。
(5)特征向量的构造
特征向量构造为(Tval,Tkey,Tlsn),Tval是一个6维的向量(<li,input,dl,frame,img,label>),如果向量中某维对应的值为1,则表示value来自该组件,否则表示不是来自于它;Tkey是一个12维的向量(<user,pass,id,pw,token,age,info,name,address,home,private,authority>),如果向量中某维对应的值为1,则表key中包含该词;Tlsn表示value的长度。
具体地,对于value的来源,重要的value的来源一般来自li,input,dl,frame,img,label 6个组件,构造向量(<li,input,dl,frame,img,label>),对应位置的值为1,则表达存储信息来自于该组件,如:<0,1,0,0,0,0>,则该向量表示存储信息的来源于input组件。
对于key,key的名称一般是有意义的字符串,如username,password等,这里我们选取重要信息中经学出现的12个字符串,构造一个12维的向量(<user,pass,id,pw,token,age,info,name,address,home,private,authority>),如果key包含向量字符串(不区分大小写),则对应列的值为1,如username既包含user,又包含name,故username的向量为:<1,0,0,0,0,0,0,1,0,0,0,0>。
对于value的长度(length)特征,只需要用value.length()来判断就可以得到。
将存储信息的键值对(key,value)的每个特征的特征值组合成该词的一个特征向量U<origin,key,length>,结合该(key,value)是否为重要信息(标记是否为1),作为分类器的输入,经训练判断哪些信息是重要的。
(6)分类器算法的选取
分类器可以选择AROW算法,SOP(Second Of Perceptron)算法,PA(PassiveAggressive Perception)算法,CW(Confidence-Weighted)算法。本具体实施方式中选用AROW算法的,AROW算法分类的准确度较高,能将分类结果作为新的训练数据,可以实现在线的增量学习。相对于SOP算法,PA算法,CW算法,AROW算法抗干扰性较好,在噪声较多的情况下,其效果优越性更强。其算法的具体内容如下所述:
上述算法仅为一种示例,其余可用作分类器的算法均可应用于此。
(7)判断信息是否重要
把(6)中构造的特征向量作为基于AROW算法分类器的输入,分类器会判断请求存储的信息是否重要。
具体地,对于将要存储的(key,value),按照与训练样本同样的方法提取特征,求特征值生成该词对应的特征向量U<origin,key,length>。将特征向量U<origin,key,length>作为训练好的AROW分类器的输入,AROW分类器则会输出一个值,该输出值为0或者1。如果输出为0,说明输入的特征向量对应(key,value)不是重要信息;如果输出值为1,说明输入的特征向量对应(key,value)是重要信息。
2.加密重要信息
判断出信息的重要程度后,采用加解密技术来保护重要信息。
(1)加密算法的选取
本具体实施方式中选用AES(Advanced Encryption Standard)加密算法。AES是一个迭代的、对称密钥分组的密码,它可以使用128、192、256位密钥。AES算法效率高于DES(Data Encryption Algorithm)算法,并且AES算法更为简洁、更容易实现。AES作为新一代的数据加密标准,其安全性也远远高于DES算法。在读取信息时利用对应的解密算法对加密信息进行解密。此处选用AES算法仅为一种示例,DES算法以及其余加密算法均可以应用于此。
(2)对重要信息进行加密
在信息存储前,用AES加密算法对信息进行加密,再存入LocalStorage文件。
步骤105:跨目录攻击防护步骤:
LocalStorage跨目录攻击是指,localStroage存储不像Cookie存储一样可以指定域中的路径,在localStroage存储方式中没有域路径的概念,通过同一个Hybrid App访问同一个域中的页面,该域中的本地存储都会存放在同一个LocalStorage文件中。即用同一个Hybrid App的账号A用户和账号B用户对于WWW.BAIDU.COM域下的信息会放在同一个LocalStorage文件中,因此账号A用户就有可能获取到账号B用户的信息。为了保护每一个账号用户的私有信息,使用户在登录状态下存储LocalStorage信息作为用户的私密信息。这样便可以防止LocalStorage存储中存在的跨目录攻击。该防护步骤的流程图如图7所示:
(1)判断用户是否登录
判断Webview中的页面是否登录可以使用WebView类中onReceivedLoginRequest(WebView view,String realm,String account,String args)方法进行监听,当用户请求登录时,从该方法中获取参数count,并标记用户从此时开始已经登录。在存储系统可以直接根据登录标记来判断用户是否处在登录状态。
(2)在登录状态下存储的信息附上用户标记
用(1)获取的count建议一个映射表,count->hash(count),hash()表是一种映射的方法。把hash(count)标记为userID,对LocalStorage存储的键值对(key,value)中的key进行重新设计,在用户登录之后存储信息时,附上用户的ID(userID),使键值对的结构变为(userID_key,value),在没登录状态下的键值对的结构依旧是(key,value)。这样虽然不同的用户可能把信息存储在同一个LocalStorage文件中,但是将不同用户的信息隔离化,等同于分开存储,防止了攻击的发生。
(3)存储LocalStorage信息
在存储Localstorage信息时,根据用户登录或不登录的状态将(userID_key,value)或(key,value)键值对存入相应的LocalStorage文件中。
(4)读取LocalStorage信息
在读取Localstorage文件的信息时,根据用户是否登录使用LocalStorage.getItem(userID_key)或者LocalStorage.getItem(key)进行读取。
上述防护步骤中,为防止本地存储中存在的跨目录攻击,对LocalStorage存储的键值对(key,value)中的key进行重新设计,在用户登录之后存储信息时,附上用户的ID(userID),使键值对的结构变为(userID_key,value),在没登录状态下的键值对的结构依旧是(key,value),从而对未登录下的公共信息存储在同一位置,而将用户个人的登录信息记录下来,对不同的用户的信息进行分开存储,防止了攻击的发生。
本具体实施方式的本地存储控制方法分为上述5个步骤,各步骤的顺序可根据实际情况调整,有些步骤也可基于存储控制方法的处理效率以及处理目标做相应调整,例如省略某些步骤,仅保留部分步骤,实现部分功能。通过该5个步骤可全方面的提升LocalStorage中的存储性能和安全性能。通过存储判断,对重要的经常用到的信息进行存储,以有效提高存储空间的利用率。同时,清理步骤对LocalStorage进行清理,防止HybridApp因为LocalStorage的存储而占用大量的空间,同时把LocalStorage的存储功能进行了优化。另外,对重要信息进行识别分类。AROW算法分类的准确度比SVM高,且抗干扰性较好。因此基于AROW算法的分类器,可以很好的识别出信息是否重要。而且使用AES算法进行加密,效率高、简洁、容易实现。AES算法作为新一代的数据加密标准,其安全性也远远高于DES算法。再者,端口存储防护攻击步骤中,监听页面来URL是否包含端口号,可以防止端口存储攻击,帮助用户发现恶意的网页和恶意的Hybrid App。最后,对用户的私有信息存储时,把key改为userID_key,以很小的开销解决了信息归属的问题,起到了对跨目录攻击的防护。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

Claims (9)

1.一种基于混合模式移动应用的数据本地存储控制方法,其特征在于:当移动终端的混合模式移动应用接收到远程页面的存储请求后,进行存储判断:对需存储的内容和要存储到的本地存储文件进行评估,判断所述本地存储文件是否能接受所述需存储的内容的存储请求,如果是,则存储到本地存储文件;如果否,则不存储;包括以下步骤:A1)获取如下参数的值:所述需存储的内容的大小L、要存储到的所述本地存储文件的读取频率H、所述移动终端的可用空间大小S、所述混合模式移动应用中所有本地存储文件的总大小C;A2)确定L、H的权重系数Wl、Wh,确定L与S的比值的权重系数Wls,C与S的比值的权重系数Wcs;A3)根据步骤A1)获取的参数的值和步骤A2)确定的权重系数的值,计算所述需存储的内容对当前要存储到的所述本地存储文件的存储度Q,当存储度Q大于存储度设定阈值时,接受存储请求,否则拒绝存储请求。
2.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:所述步骤A2)中按照如下方式确定各权重系数:其中表示范围x~y之间的中位数,x表示需存储的内容的大小L会取到的最小值,y表示需存储的内容的大小L会达到的最大值;其中表示所述本地存储文件平均每天的存储次数;Wls的范围内,其中,表示所述移动终端的平均可用空间的大小;Wcs 的范围内,表示平均每个混合模式移动应用占用的空间大小。
3.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:所述步骤A3)中根据如下公式确定存储度Q:
4.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:在将所述需存储的内容存储到所述本地存储文件之前,还包括在线存储清理步骤:B1)判断SL+L是否小于等于目标容量,其中,SL表示要存储到的所述本地存储文件的当前大小,L表示所述需存储的内容的大小;如果是,则结束,将所述需存储的内容存储到所述本地存储文件中;如果否,则进入步骤B2):B2)按照上一次读取所述本地存储文件中的各记录的时间顺序进行排序,将读取时间早的记录排在前面,删除前n条记录,其中,n为用户设定的数值;删除后,返回步骤B1)。
5.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:所述本地存储控制方法还包括周期性清理步骤:对各本地存储文件进行如下处理:C1)获取如下参数的值:本地存储文件的未使用的天数T、读取频率F、大小D以及移动终端的剩余空间S;C2)确定T、F的权重系数Wt、Wf,F与D的比值的权重系数Wfd,D与S的比值的权重系数Wds;C3)根据步骤C1)获取的参数的值和步骤C2)确定的权重系数的值,计算本地存储文件的删除度V,当删除度V大于删除度设定阈值时,删除该本地存储文件。
6.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:在将所述需存储的内容存储到所述本地存储文件之前,还包括加密步骤:对需存储的内容中的信息进行分类,分类为用户个人信息和非用户个人信息;对用户个人信息进行加密。
7.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:在将所述需存储的内容存储到所述本地存储文件之前,还包括跨目录攻击防护步骤:判断所述混合模式移动应用的用户是否处于登录状态,如果是,则将需存储的内容附上用户标记后存储到所述本地存储文件中;如果否,则将需存储的内容直接存储到所述本地存储文件中。
8.根据权利要求1所述的基于混合模式移动应用的数据本地存储控制方法,其特征在于:所述本地存储控制方法还包括端口检测步骤,如果通过检测,则进行存储判断;否则,直接结束,不存储;所述端口检测步骤包括:D1)判断所述远程页面的来源URL中是否有端口号,如果否,则通过检测;如果是,则进入步骤D2);D2)查询页面数据库,判断同域名或IP,且与步骤D1)中端口号相同的来源URL是否已经在数据库中,如果是,则通过检测;如果否,则将所述来源URL标记为可疑URL后插入所述数据库中,更新数据库,进入步骤D3);D3)查询所述数据库中同域名或IP下,可疑URL在所述数据库中出现的次数,如果出现的次数大于等于设定的阈值次数,则不通过检测;如果出现的次数小于设定的阈值次数,则通过检测。
9.一种基于混合模式移动应用的数据本地存储控制装置,其特征在于:根据如权利要求1~8所述的数据本地存储控制方法进行数据的本地存储与控制。
CN201510435463.5A 2015-07-22 2015-07-22 一种基于混合模式移动应用的数据本地存储控制方法及装置 Active CN105072165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510435463.5A CN105072165B (zh) 2015-07-22 2015-07-22 一种基于混合模式移动应用的数据本地存储控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510435463.5A CN105072165B (zh) 2015-07-22 2015-07-22 一种基于混合模式移动应用的数据本地存储控制方法及装置

Publications (2)

Publication Number Publication Date
CN105072165A CN105072165A (zh) 2015-11-18
CN105072165B true CN105072165B (zh) 2018-06-29

Family

ID=54501444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510435463.5A Active CN105072165B (zh) 2015-07-22 2015-07-22 一种基于混合模式移动应用的数据本地存储控制方法及装置

Country Status (1)

Country Link
CN (1) CN105072165B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956140B (zh) * 2016-05-12 2019-03-22 无锡威泰迅电力科技有限公司 基于混合模式移动应用的本地存储数据的方法
CN107360259A (zh) * 2017-08-24 2017-11-17 四川长虹电器股份有限公司 一种html5移动客户端存储的新型易用性解决方法
CN108509604A (zh) * 2018-03-30 2018-09-07 成都优易数据有限公司 一种多个标签页之间共享数据duke组的方法
CN110287148B (zh) * 2019-07-01 2021-10-29 中原银行股份有限公司 一种数据交互方法及装置
CN112445794B (zh) * 2019-09-05 2023-08-25 南京工程学院 一种大数据系统的缓存方法
CN111356004B (zh) * 2020-04-14 2021-02-19 深圳市小微学苑科技有限公司 通用视频文件的存储方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202044A (zh) * 2011-02-25 2011-09-28 北京兴宇中科科技开发股份有限公司 便携式云存储方法和设备
CN102333079A (zh) * 2011-02-25 2012-01-25 北京兴宇中科科技开发股份有限公司 一种磁盘空间清理方法
CN102843425A (zh) * 2012-08-03 2012-12-26 东莞宇龙通信科技有限公司 基于云存储代替本地存储的方法及通信终端
US8452749B2 (en) * 2011-04-01 2013-05-28 Pomian & Corella, Llc Browsing real-time search results effectively
CN103294700A (zh) * 2012-02-24 2013-09-11 腾讯科技(北京)有限公司 一种跨浏览器的数据本地存储方法和装置
CN104715025A (zh) * 2015-03-03 2015-06-17 百度在线网络技术(北京)有限公司 用于离线Web应用的数据存储方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202044A (zh) * 2011-02-25 2011-09-28 北京兴宇中科科技开发股份有限公司 便携式云存储方法和设备
CN102333079A (zh) * 2011-02-25 2012-01-25 北京兴宇中科科技开发股份有限公司 一种磁盘空间清理方法
US8452749B2 (en) * 2011-04-01 2013-05-28 Pomian & Corella, Llc Browsing real-time search results effectively
CN103294700A (zh) * 2012-02-24 2013-09-11 腾讯科技(北京)有限公司 一种跨浏览器的数据本地存储方法和装置
CN102843425A (zh) * 2012-08-03 2012-12-26 东莞宇龙通信科技有限公司 基于云存储代替本地存储的方法及通信终端
CN104715025A (zh) * 2015-03-03 2015-06-17 百度在线网络技术(北京)有限公司 用于离线Web应用的数据存储方法和装置

Also Published As

Publication number Publication date
CN105072165A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN105072165B (zh) 一种基于混合模式移动应用的数据本地存储控制方法及装置
US11048822B2 (en) System, apparatus and method for anonymizing data prior to threat detection analysis
US11503044B2 (en) Method computing device for detecting malicious domain names in network traffic
JP6871357B2 (ja) オンライン詐欺を検出するためのシステムおよび方法
Gugelmann et al. An automated approach for complementing ad blockers’ blacklists
US8627476B1 (en) Altering application behavior based on content provider reputation
US8850567B1 (en) Unauthorized URL requests detection
US10225249B2 (en) Preventing unauthorized access to an application server
JP2015146188A (ja) リンクの評価を決定することによって未知の悪意ある行為から保護する方法およびシステム
US20220188402A1 (en) Real-Time Detection and Blocking of Counterfeit Websites
CN103607385A (zh) 基于浏览器进行安全检测的方法和装置
US9021085B1 (en) Method and system for web filtering
JP2016146114A (ja) ブラックリストの管理方法
CN113711559B (zh) 检测异常的系统和方法
CN111756724A (zh) 钓鱼网站的检测方法、装置、设备、计算机可读存储介质
CN108156270B (zh) 域名请求处理方法和装置
Zhang et al. A framework for dark web threat intelligence analysis
US20210006592A1 (en) Phishing Detection based on Interaction with End User
CN108259619A (zh) 网络请求防护方法及网络通信系统
TW201902174A (zh) 結合網域情資與網路流量之惡意網域偵測方法
GB2535579A (en) Preventing unauthorized access to an application server
US10462180B1 (en) System and method for mitigating phishing attacks against a secured computing device
WO2021133592A1 (en) Malware and phishing detection and mediation platform
CN107438053A (zh) 域名识别方法、装置及服务器
TWI531924B (zh) E-mail protection method and mail protection server

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518055 Guangdong city of Shenzhen province Nanshan District Xili of Tsinghua

Applicant after: Graduate School at Shenzhen, Tsinghua University

Address before: 518000 Guangdong city in Shenzhen Province, Nanshan District City Xili Shenzhen Tsinghua Campus of Tsinghua University

Applicant before: Graduate School at Shenzhen, Tsinghua University

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant