CN110888838A - 基于对象存储的请求处理方法、装置、设备及存储介质 - Google Patents

基于对象存储的请求处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110888838A
CN110888838A CN201910985628.4A CN201910985628A CN110888838A CN 110888838 A CN110888838 A CN 110888838A CN 201910985628 A CN201910985628 A CN 201910985628A CN 110888838 A CN110888838 A CN 110888838A
Authority
CN
China
Prior art keywords
request
access request
access
parameter
target
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
CN201910985628.4A
Other languages
English (en)
Other versions
CN110888838B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910985628.4A priority Critical patent/CN110888838B/zh
Priority to PCT/CN2019/118550 priority patent/WO2021072881A1/zh
Publication of CN110888838A publication Critical patent/CN110888838A/zh
Application granted granted Critical
Publication of CN110888838B publication Critical patent/CN110888838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种基于对象存储的请求处理方法、装置、设备及存储介质,该方法包括:对访问请求进行解析读取预设维度的请求参数;基于请求参数调用对象存储网关函数对访问请求进行用户认证;在认证通过时查找请求头中的本地缓存字段并读取对应的参数值;在参数值为预设数值时从本地获取访问请求所请求的目标数据并回传至访问请求发起端,由于是先对访问请求进行用户认证,在认证通过时根据请求头中本地缓存字段的参数值来判断所访问的目标数据是否存储在本地,若是则将目标数据回传至访问请求的发起端,使得系统不必在接收到任何访问请求时均从远端获取并回传数据,简化了数据在网络中的传输和在服务端的查询检索流程,降低了数据获取时的网络成本。

Description

基于对象存储的请求处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于对象存储的请求处理方法、装置、设备及存储介质。
背景技术
数据是计算乃至业务的基础,数据的可靠保存是云存储提供的服务。随着云计算技术的快速发展,推动了计算、存储的网络化,当前的各大互联网科技企业都推出了云服务。当前的云存储提供商在可靠性投入大量资源并得到了很好的效果。
主流的云服务提供厂商都提供了影像归档存储,并且归档存储根据存储访问频率及容量收费。在应用中发现,影像数据的访问具有一定的时间特征。在接入的大部分系统中,上传至后端存储的数据在2天内访问的可能性在90%以上,超过2天后的访问低于5%,而云厂商将普通存储转换为归档存储的周期按月做统计,且在数据取回时需要按照数据的大小进行收费,因此,如何最大限度的简化文件数据在网络中的传输和在服务端的查询检索,并降低企业在进行数据获取时的网络成本,就成了一个亟待解决的问题。
发明内容
本申请的主要目的在于提供了一种基于对象存储的请求处理方法、装置、设备及存储介质,旨在解决现有技术无法简化文件数据在网络中的传输和在服务端的查询检索流程,降低数据获取时的网络成本的技术问题。
为实现上述目的,本申请提供了一种基于对象存储的请求处理方法,所述方法包括以下步骤:
对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
检测所述参数值是否为预设数值;
若是,则从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
优选地,所述基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证的步骤,包括:
读取所述请求参数中包含的认证类型字段、消息头声明字段以及签名值字段;
根据所述认证类型字段确定所述访问请求对应的用户认证方式,所述用户认证方式包括目标签名算法;
通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值;
基于所述签名值字段以及所述目标签名值对所述访问请求进行用户认证。
优选地,所述通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值的步骤,包括:
调用预设对象存储网关函数根据所述消息头声明字段从所述请求参数中提取有效签名数据;
根据所述目标签名算法以及所述有效签名数据计算所述访问请求对应的目标签名值。
优选地,所述检测所述参数值是否为预设数值的步骤之后,所述方法还包括:
若所述参数值不为所述预设数值,则对所述请求参数进行数据预处理,以获得目标请求参数;
基于所述目标请求参数对所述访问请求进行权限认证;
在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求;
将所述数据获取请求发送至接口适配层,以使所述接口适配层根据所述数据获取请求返回对应的目标数据;
将所述目标数据回传至所述访问请求的发起端。
优选地,所述对所述请求参数进行数据预处理,以获得目标请求参数的步骤,包括:
从所述请求参数中提取所述访问请求的发起端所对应的标识信息;
根据所述标识信息在预设访问规则表中查找对应的目标访问规则,所述预设访问规则表中存放有标识信息和访问规则之间的对应关系;
根据所述目标访问规则对所述请求参数进行赋值,以获得目标请求参数。
优选地,所述在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求的步骤,包括:
在所述权限认证通过时,获取所述访问请求对应的访问权限;
将所述访问权限作为待添加参数添加至所述请求参数中,以获得新的请求参数;
根据所述新的请求参数对所述访问请求进行封装,获得数据获取请求。
优选地,所述从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端的步骤,包括:
从本地存储空间中获取所述访问请求所请求的目标数据;
采用循环冗余校验算法计算所述目标数据的当前循环冗余校验值,并从所述本地存储空间中读取所述目标数据对应的历史循环冗余校验值;
根据所述当前循环冗余校验值和所述历史循环冗余校验值对所述目标数据进行数据完整性校验;
在校验通过时,将所述目标数据回传至所述访问请求的发起端。
此外,为实现上述目的,本申请还提出一种基于对象存储的请求处理装置,所述装置包括:
请求解析模块,用于对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
请求认证模块,用于基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
参数获取模块,用于在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
数值检测模块,用于检测所述参数值是否为预设数值;
数据获取模块,用于在所述参数值为所述预设数值时,从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
此外,为实现上述目的,本申请还提出一种基于对象存储的请求处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于对象存储的请求处理程序,所述基于对象存储的请求处理程序配置为实现如上文所述的基于对象存储的请求处理方法的步骤。
此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质上存储有基于对象存储的请求处理程序,所述基于对象存储的请求处理程序被处理器执行时实现如上文所述的基于对象存储的请求处理方法的步骤。
本申请通过对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;然后基于请求参数调用预设对象存储网关函数对访问请求进行用户认证;在用户认证通过时查找访问请求的请求头中携带的本地缓存字段,并读取本地缓存字段对应的参数值;检测参数值是否为预设数值,若是则从本地存储空间中获取访问请求所请求的目标数据,并将目标数据回传至访问请求的发起端,由于本申请是在接收到访问请求时,先对请求进行用户认证,在用户认证通过时根据请求头中本地缓存字段的参数值来直接判断请求所访问的目标数据是否存储在本地,若是则直接将目标数据回传至访问请求的发起端,使得系统不必在接收到每一个访问请求时都从远端获取并回传数据,从而简化了数据在网络中的传输和在服务端的查询检索流程,降低了数据获取时的网络成本。
附图说明
图1是本申请实施例方案涉及的硬件运行环境的基于对象存储的请求处理设备的结构示意图;
图2为本申请基于对象存储的请求处理方法第一实施例的流程示意图;
图3为本申请基于对象存储的请求处理方法第二实施例的流程示意图;
图4为本申请基于对象存储的请求处理方法第三实施例的流程示意图;
图5为本申请基于对象存储的请求处理装置第一实施例的结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的基于对象存储的请求处理设备结构示意图。
如图1所示,该基于对象存储的请求处理设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于对象存储的请求处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及基于对象存储的请求处理程序。
在图1所示的基于对象存储的请求处理设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请基于对象存储的请求处理设备中的处理器1001、存储器1005可以设置在基于对象存储的请求处理设备中,所述基于对象存储的请求处理设备通过处理器1001调用存储器1005中存储的基于对象存储的请求处理程序,并执行本申请实施例提供的基于对象存储的请求处理方法。
本申请实施例提供了一种基于对象存储的请求处理方法,参照图2,图2为本申请基于对象存储的请求处理方法第一实施例的流程示意图。
本实施例中,所述基于对象存储的请求处理方法包括以下步骤:
步骤S10:对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
需要说明的是,本实施例方法的执行主体可以是能够提供对象存储、块存储和文件存储的分布式文件系统或集群(Ceph)。近年来,Ceph因其能够提供对象存储、块存储和文件存储三种存储并具备开源特性,从而得到了广泛的应用,使用Ceph搭建的云存储集群也越来越多,单个集群的存储容量也越来越大。例如,在医疗影像存储系统中,就通常使用Ceph的对象存储进行海量医疗图片的存储。本实施例提出的基于对象存储的请求处理方法主要用于对医疗影像存储系统所涉及的用户访问情况进行优化,提高用户访问效率以及医疗影像存储系统的安全性。
本步骤中,所述预设维度的请求参数可包括:访问请求携带的统一资源定位符(Uniform Resource Locator,URL)中的对象名称、操作动作、存储桶(Bucket)名称、认证类型字段、消息头声明(SignedHeaders)字段以及签名值(Signature)字段等参数。
另外,本实施例中分布式文件系统Ceph(以下简称Ceph系统)可大致包括:超文本传输协议(HTTP)前端模块、表现层状态转移应用程序接口(REST API)通用处理层、应用程序接口操作执行层、接口适配层以及接口层等五个模块。对于每一个接收到的访问请求,Ceph系统中的上述模块都可协同工作对访问请求进行响应处理。
在具体实现中,Ceph系统中的HTTP前端模块在接收到应用程序客户端发送的访问请求时先对访问请求进行解析,然后从解析结果中读取上述预设维度的请求参数,再将这些请求参数发送至REST API通用处理层。
当然,在实际应用中,从解析结果中读取预设维度的请求参数的操作也可由RESTAPI通用处理层来执行,本实施例对此不加以限制。
步骤S20:基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
需要说明的是,本实施例中所述用户认证,也称Auth认证,即验证访问请求对应的访问用户是否合法、(数据的读/写/改等)操作动作是否被允许、请求URL中的访问对象名称是否存在、访问用户是否具有对访问对象的访问权限等。所述预设对象存储网关函数可以是预先编写的process_request方法中的rgw_process_authenticated函数。
进一步地,本实施例REST API通用处理层在执行用户认证操作时,可基于认证类型字段、消息头声明(SignedHeaders)字段以及签名值(Signature)字段所包含的信息来实现。通常情况下,认证类型字段定义了用户认证的方式或类型,例如Basic-基本验证方式或AWS4(AWS Signature Version4)服务器身份验证方式等,且认证类型字段还规定了进行请求签名值计算所使用的目标签名算法。消息头声明字段则规定了使用哪些消息头来计算访问请求的签名值。签名值字段则给出了进行请求签名值计算后应该得到的准确签名值。
在具体实现中,Ceph系统中的REST API通用处理层可基于读取到的上述请求参数调用process_request方法中的rgw_process_authenticated函数来对访问请求进行用户认证。
步骤S30:在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
需要说明的是,本实施例对Ceph系统的应用程序接口进行了扩展,即在访问请求的请求头(HTTP header,超文本传输协议的一个重要部分,用于参数传递)中增加了本地缓存“Local-cached”字段,从而能够根据每一个访问请求的请求头中的Local-cached字段对应的参数值来判断本地是否存在访问请求所需要的数据,并根据判断结果执行后续操作。
在具体实现中,Ceph系统中的应用程序接口操作执行层可在用户认证通过时,查询访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值。
步骤S40:检测所述参数值是否为预设数值;
应理解的是,本实施例中所述参数值为True或False,所述预设数值为True。若本地缓存字段对应的参数值为False,则表明Ceph系统所对应的数据库中不存在访问请求所需要的数据或访问对象,此时Ceph系统就需要先进行数据获取,然后再回传给客户端;若本地缓存字段对应的参数值为True,则表明Ceph系统所对应的数据库中存在访问请求所需要的数据或访问对象,此时只需要验证访问请求所需要的数据或访问对象的完整性,然后将访问结果回传至客户端即可。
在具体实现中,Ceph系统中的应用程序接口操作执行层在读取到本地缓存字段对应的参数值时可检测该参数值是否为预设数值,然后根据检测结果执行相应的请求响应的操作。
步骤S50:若是,则从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
应理解的是,所述目标数据可以是访问请求需要访问的资源,或访问资源后Ceph系统返回给客户端的访问结果。进一步地,考虑到在数据传输或存储过程中可能会出现差错,而这种差错将会导致数据的原有结构被破坏,从而使得数据接收方或数据保存方接收或保存错误的数据。因此,本实施例Ceph系统在从本地存储空间中读取到目标数据之后,还将对读取到的目标数据进行循环冗余校验,以确保目标数据的完整性。
具体的,Ceph系统中的应用程序接口操作执行层可从本地存储空间中获取所述访问请求所请求的目标数据;然后采用循环冗余校验算法计算所述目标数据的当前循环冗余校验值,并从所述本地存储空间中读取所述目标数据对应的历史循环冗余校验值;根据所述当前循环冗余校验值和所述历史循环冗余校验值对所述目标数据进行数据完整性校验;在校验通过时,将所述目标数据回传至所述访问请求的发起端。
应理解的是,所述循环冗余校验(Cyclic Redundancy Check,CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。相应的本实施例中,所述历史循环冗余校验值,即目标数据在被存放到所述本地存储空间前,通过循环冗余校验算法计算的循环冗余校验值。实际应用中可将该校验值与目标数据关联后进行保存,以便于后续读取并校验。
本实施例循环冗余校验算法大致可包括以下几个步骤:
(1)在Ceph系统中设置一个CRC寄存器,并对其赋值为“余数初始值”;
(2)将上述目标数据的第一个8-bit字符与CRC寄存器进行异或,并将异或值结果存入CRC寄存器;
(3)将CRC寄存器向右移一位,对CRC寄存器的最高有效位(MostSignificant Bit,MSB)补零,移出并检查最低有效位(Least Significant Bit,LSB);
(4)如果LSB为0,则重复步骤(3);若LSB为1,表明CRC寄存器与0x31相异或;
(5)重复步骤(3)与步骤(4)直至8次移位全部完成,此时一个8-bit数据处理完毕;
(6)重复步骤(2)至步骤(5)直到所有目标数据全部处理完成;
(7)最终对CRC寄存器的数据与“异或值结果”进行或非操作后即为CRC值。
在具体实现中,Ceph系统中的应用程序接口操作执行层在检测到本地缓存字段对应的参数值为Ture时,从本地存储空间中获取所述访问请求所请求的目标数据,然后通过CRC算法对目标数据进行完整性校验且校验通过后,将目标数据回传至访问请求的发起端,实现对访问请求的快速响应。
本实施例通过对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;然后基于请求参数调用预设对象存储网关函数对访问请求进行用户认证;在用户认证通过时查找访问请求的请求头中携带的本地缓存字段,并读取本地缓存字段对应的参数值;检测参数值是否为预设数值,若是则从本地存储空间中获取访问请求所请求的目标数据,并将目标数据回传至访问请求的发起端,由于本实施例是在接收到访问请求时,先对请求进行用户认证,在用户认证通过时根据请求头中本地缓存字段的参数值来直接判断请求所访问的目标数据是否存储在本地,若是则直接将目标数据回传至访问请求的发起端,使得系统不必在接收到每一个访问请求时都从远端获取并回传数据,从而简化了数据在网络中的传输和在服务端的查询检索流程,降低了数据获取时的网络成本。
参考图3,图3为本申请基于对象存储的请求处理方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20包括:
步骤S201:读取所述请求参数中包含的认证类型字段、消息头声明字段以及签名值字段;
应理解的是,如第一实施例所述,认证类型字段定义了用户认证的方式或类型,例如Basic-基本验证方式或AWS4(AWS Signature Version4)服务器身份验证方式等,且认证类型字段还规定了进行请求签名值计算所使用的目标签名算法。消息头声明字段则规定了使用哪些消息头来计算访问请求的签名值。签名值字段则给出了进行请求签名值计算后应该得到的准确签名值,若计算获得的签名值与签名值字段中给出的准确签名值一致,则表明访问请求是可信的,反之,则不可信。
在具体实现中,Ceph系统中的REST API通用处理层可基于读取到的上述请求参数来对访问请求进行用户认证。
步骤S202:根据所述认证类型字段确定所述访问请求对应的用户认证方式,所述用户认证方式包括目标签名算法;
在具体实现中,REST API通用处理层在读取到请求参数中的认证类型字段后,即可根据所述认证类型字段确定所述访问请求对应的用户认证方式以及请求签名值计算所使用的目标签名算法。
例如,REST API通用处理层读取到的认证字段为Authorization:AWS4-HMAC-SHA256,则表明访问请求对应的认证方式为基于AWS4算法的服务器身份验证方式,本次认证所使用的目标签名算法为AWS4算法;哈希消息认证码(Hash-based MessageAuthentication Code,HMAC),则规定了需对请求消息头声明字段中的数据执行HMAC操作;SHA256即签名算法使用的哈希值长度是256位。
步骤S203:通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值;
可理解的是,消息头声明字段规定了使用哪些消息头来计算访问请求的签名值,同时它还规定了这些消息头的顺序,使得后续签名计算时CanonicalRequest函数拼接的消息头的顺序与消息头声明字段中规定的顺序保持一致。且对于访问请求而言,为防止篡改请求地址、请求内容的SHA256值、请求时间戳等信息,消息头声明字段中的host;x-amz-content-sha256;x-amz-date等参数是必须携带的。
在具体实现中,REST API通用处理层在获取到消息头声明字段后,先调用预设对象存储网关函数(rgw_process_authenticated函数)根据所述消息头声明字段从所述请求参数中提取有效签名数据(即参与签名值计算的消息头),然后基于这些有效签名数据通过所述目标签名算法计算所述访问请求对应的目标签名值。具体的,REST API通用处理层可调用预设对象存储网关函数根据所述消息头声明字段从所述请求参数中提取有效签名数据;然后根据所述目标签名算法以及所述有效签名数据计算所述访问请求对应的目标签名值。
例如,调用rgw_process_authenticated函数根据消息头声明字段从请求参数中提取有效签名数据为“host:10.47.193.31”、“x-amz-content-sha256:e3b0c44298fc1c149”和“X-Amz-Date:20190426T061340Z”,目标签名算法为哈希(SHA256)算法,此时即可根据上述有效签名数据通过SHA256算法计算出目标签名值“Hash(10.47.193.31e3b0c44298fc1c14920190426T061340Z)=6ab57bc9beb4e6558dc4c9824aa156bdc9a357260150dbabd0a589c74910b624”。
步骤S204:基于所述签名值字段以及所述目标签名值对所述访问请求进行用户认证。
应理解的是,所述签字值字段给出了进行请求签名值计算后应该得到的准确签名值,例如签字值字段Signature=6ab57bc9beb4e6558dc4c9824aa156bdc9a357260150dbabd0a589c74910b624,其中,签名值“6ab57bc9beb4e6558dc4c9824aa156bdc9a357260150dbabd0a589c74910b624”即准确签名值。
在具体实现中,REST API通用处理层在计算出目标签名值后,即可将所述目标签名值与签名值字段中包含的准确签名值进行比对,若两者完全一致,则表明访问请求可信,用户认证通过。
本实施例通过读取请求参数中包含的认证类型字段、消息头声明字段以及签名值字段;然后根据认证类型字段确定访问请求对应的用户认证方式,所述用户认证方式包括目标签名算法;通过预设对象存储网关函数根据消息头声明字段以及目标签名算法计算访问请求对应的目标签名值;再基于签名值字段以及目标签名值对访问请求进行用户认证,从而实现了对访问请求的有效认证,避免恶意访问情况的发生,保障了Ceph系统的信息安全。
参考图4,图4为本申请基于对象存储的请求处理方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S401:若所述参数值不为所述预设数值,则对所述请求参数进行数据预处理,以获得目标请求参数;
需要说明的是,本步骤中所述数据预处理可以是对请求参数进行permission处理。本实施例中客户端(访问请求的发起端)在对Ceph系统中的资源/数据进行访问时需要遵循相应的访问规则,例如存储桶访问规则或对象访问规则。其中,存储桶访问规则指定了拥有对存储桶中对象的访问权限的用户以及这些用户拥有的访问权限的类型。而对象访问规则指定了拥有对象访问权限的用户以及这些用户拥有的访问权限的类型。例如,一个用户可能只有读取权限,而另一个用户可能有读写权限。
因此,本实施例中,若Ceph系统中的应用程序接口操作执行层在检测到本地缓存字段对应的参数值为False时,将会对访问请求中携带的请求参数进行数据预处理,获得目标请求参数。具体的,可先从所述请求参数中提取所述访问请求的发起端所对应的标识信息;然后根据所述标识信息在预设访问规则表中查找对应的目标访问规则,所述预设访问规则表中存放有标识信息和访问规则之间的对应关系;再根据所述目标访问规则对所述请求参数进行赋值,以获得目标请求参数。
其中,所述标识信息可以是能够将不同访问请求的发起端进行区分的信息,例如互联网协议地址、设备序列号等。所述目标访问规则可以是预先创建的存储桶访问规则或对象访问规则,这些访问规则可与发起端的标识信息关联后存放于预先设置的访问规则表中。
在具体实现中,若应用程序接口操作执行层检测到所述参数值不为所述预设数值时,表明Ceph系统所对应的数据库中不存在访问请求所需要的数据或访问对象,此时为能够顺利地为客户端提供访问服务,Ceph系统需要先对请求参数进行上述数据预处理获得目标请求参数后,再基于目标请求参数执行后续的拉取数据操作。
步骤S402:基于所述目标请求参数对所述访问请求进行权限认证;
应理解的是,所述权限认证,即验证客户端拥有的对访问对象进行访问的权限类型(如读、写、改、查等)是否与访问请求所请求的权限相同或部分相同。若是,则判定权限认证通过。
在具体实现中,应用程序接口操作执行层在根据目标访问规则对请求参数进行赋值获得目标请求参数后,即可根据该目标请求参数对访问请求进行权限认证。具体的,可通过读取目标请求参数中的host字段对应的属性值(通常为互联网协议地址,IP地址),然后根据该属性值在用户权限列表中查询对应的权限类型,再将查询到的权限类型与访问请求所请求的权限类型进行匹配,若匹配成功则表明权限认证通过,反之则表明权限认证未通过。
步骤S403:在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求;
应理解的是,在权限认证通过时,表明访问请求能够访问Ceph系统所拥有的目标数据,但由于此时Ceph系统所对应的数据库中不存在访问请求所需要的数据或访问对象,因此需要对访问请求进行重新封装后发送至rados接口适配层,通过rados接口适配层来读取rados底层存储的数据,获取访问对象的原数据,如read_version,write_version,status,size等目标数据。
具体的,应用程序接口操作执行层可在所述权限认证通过时,获取所述访问请求对应的访问权限;然后将所述访问权限作为待添加参数添加至所述请求参数中,以获得新的请求参数;再通过新的请求参数对访问请求原来的请求参数进行替换,获得数据获取请求。
步骤S404:将所述数据获取请求发送至接口适配层,以使所述接口适配层根据所述数据获取请求返回对应的目标数据;
在具体实现中,应用程序接口操作执行层可将重新封装的数据获取请求发送至rados接口适配层,由rados接口适配层根据数据获取请求来读取rados底层存储的目标数据。
步骤S405:将所述目标数据回传至所述访问请求的发起端。
在具体实现中,应用程序接口操作执行层在获取到rados底层存储的目标数据后,即可将目标数据回传至所述访问请求的发起端,以完成对访问请求的响应。
本实施例在检测到参数值不为预设数值时,对请求参数进行数据预处理,以获得目标请求参数;基于目标请求参数对访问请求进行权限认证;在权限认证通过时,对访问请求进行封装,获得数据获取请求;将数据获取请求发送至接口适配层,以使接口适配层根据数据获取请求返回对应的目标数据;将目标数据回传至访问请求的发起端,从而能够在本地存储空间中不存在访问请求所请求的目标数据时,安全、便捷的获取目标数据,保证了对访问请求的顺利响应。
此外,本申请实施例还提出一种存储介质,所述存储介质上存储有基于对象存储的请求处理程序,所述基于对象存储的请求处理程序被处理器执行时实现如上文所述的基于对象存储的请求处理方法的步骤。
参照图5,图5为本申请基于对象存储的请求处理装置第一实施例的结构框图。
如图5所示,本申请实施例提出的基于对象存储的请求处理装置包括:
请求解析模块501,用于对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
请求认证模块502,用于基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
参数获取模块503,用于在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
数值检测模块504,用于检测所述参数值是否为预设数值;
数据获取模块505,用于在所述参数值为所述预设数值时,从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
本实施例通过对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;然后基于请求参数调用预设对象存储网关函数对访问请求进行用户认证;在用户认证通过时查找访问请求的请求头中携带的本地缓存字段,并读取本地缓存字段对应的参数值;检测参数值是否为预设数值,若是则从本地存储空间中获取访问请求所请求的目标数据,并将目标数据回传至访问请求的发起端,由于本实施例是在接收到访问请求时,先对请求进行用户认证,在用户认证通过时根据请求头中本地缓存字段的参数值来直接判断请求所访问的目标数据是否存储在本地,若是则直接将目标数据回传至访问请求的发起端,使得系统不必在接收到每一个访问请求时都从远端获取并回传数据,从而简化了数据在网络中的传输和在服务端的查询检索流程,降低了数据获取时的网络成本。
基于本申请上述基于对象存储的请求处理装置第一实施例,提出本申请基于对象存储的请求处理装置的第二实施例。
在本实施例中,所述请求认证模块502,还用于读取所述请求参数中包含的认证类型字段、消息头声明字段以及签名值字段;根据所述认证类型字段确定所述访问请求对应的用户认证方式,所述用户认证方式包括目标签名算法;通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值;基于所述签名值字段以及所述目标签名值对所述访问请求进行用户认证。
进一步地,所述请求认证模块502,还用于调用预设对象存储网关函数根据所述消息头声明字段从所述请求参数中提取有效签名数据;根据所述目标签名算法以及所述有效签名数据计算所述访问请求对应的目标签名值。
进一步地,所述数据获取模块505,还用于在所述参数值不为所述预设数值时,对所述请求参数进行数据预处理,以获得目标请求参数;基于所述目标请求参数对所述访问请求进行权限认证;在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求;将所述数据获取请求发送至接口适配层,以使所述接口适配层根据所述数据获取请求返回对应的目标数据;将所述目标数据回传至所述访问请求的发起端。
进一步地,所述数据获取模块505,还用于从所述请求参数中提取所述访问请求的发起端所对应的标识信息;
根据所述标识信息在预设访问规则表中查找对应的目标访问规则,所述预设访问规则表中存放有标识信息和访问规则之间的对应关系;根据所述目标访问规则对所述请求参数进行赋值,以获得目标请求参数。
进一步地,所述数据获取模块505,还用于在所述权限认证通过时,获取所述访问请求对应的访问权限;将所述访问权限作为待添加参数添加至所述请求参数中,以获得新的请求参数;根据所述新的请求参数对所述访问请求进行封装,获得数据获取请求。
进一步地,所述数据获取模块505,还用于从本地存储空间中获取所述访问请求所请求的目标数据;采用循环冗余校验算法计算所述目标数据的当前循环冗余校验值,并从所述本地存储空间中读取所述目标数据对应的历史循环冗余校验值;根据所述当前循环冗余校验值和所述历史循环冗余校验值对所述目标数据进行数据完整性校验;在校验通过时,将所述目标数据回传至所述访问请求的发起端。
本申请基于对象存储的请求处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于对象存储的请求处理方法,其特征在于,所述方法包括:
对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
检测所述参数值是否为预设数值;
若是,则从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
2.如权利要求1所述的方法,其特征在于,所述基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证的步骤,包括:
读取所述请求参数中包含的认证类型字段、消息头声明字段以及签名值字段;
根据所述认证类型字段确定所述访问请求对应的用户认证方式,所述用户认证方式包括目标签名算法;
通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值;
基于所述签名值字段以及所述目标签名值对所述访问请求进行用户认证。
3.如权利要求2所述的方法,其特征在于,所述通过预设对象存储网关函数根据所述消息头声明字段以及所述目标签名算法计算所述访问请求对应的目标签名值的步骤,包括:
调用预设对象存储网关函数根据所述消息头声明字段从所述请求参数中提取有效签名数据;
根据所述目标签名算法以及所述有效签名数据计算所述访问请求对应的目标签名值。
4.如权利要求1至3任一项所述的方法,其特征在于,所述检测所述参数值是否为预设数值的步骤之后,所述方法还包括:
若所述参数值不为所述预设数值,则对所述请求参数进行数据预处理,以获得目标请求参数;
基于所述目标请求参数对所述访问请求进行权限认证;
在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求;
将所述数据获取请求发送至接口适配层,以使所述接口适配层根据所述数据获取请求返回对应的目标数据;
将所述目标数据回传至所述访问请求的发起端。
5.如权利要求4所述的方法,其特征在于,所述对所述请求参数进行数据预处理,以获得目标请求参数的步骤,包括:
从所述请求参数中提取所述访问请求的发起端所对应的标识信息;
根据所述标识信息在预设访问规则表中查找对应的目标访问规则,所述预设访问规则表中存放有标识信息和访问规则之间的对应关系;
根据所述目标访问规则对所述请求参数进行赋值,以获得目标请求参数。
6.如权利要求4所述的方法,其特征在于,所述在所述权限认证通过时,对所述访问请求进行封装,获得数据获取请求的步骤,包括:
在所述权限认证通过时,获取所述访问请求对应的访问权限;
将所述访问权限作为待添加参数添加至所述请求参数中,以获得新的请求参数;
根据所述新的请求参数对所述访问请求进行封装,获得数据获取请求。
7.如权利要求1所述的方法,其特征在于,所述从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端的步骤,包括:
从本地存储空间中获取所述访问请求所请求的目标数据;
采用循环冗余校验算法计算所述目标数据的当前循环冗余校验值,并从所述本地存储空间中读取所述目标数据对应的历史循环冗余校验值;
根据所述当前循环冗余校验值和所述历史循环冗余校验值对所述目标数据进行数据完整性校验;
在校验通过时,将所述目标数据回传至所述访问请求的发起端。
8.一种基于对象存储的请求处理装置,其特征在于,所述装置包括:
请求解析模块,用于对接收到的访问请求进行解析,从解析结果中读取预设维度的请求参数;
请求认证模块,用于基于所述请求参数调用预设对象存储网关函数对所述访问请求进行用户认证;
参数获取模块,用于在所述用户认证通过时,查找所述访问请求的请求头中携带的本地缓存字段,并读取所述本地缓存字段对应的参数值;
数值检测模块,用于检测所述参数值是否为预设数值;
数据获取模块,用于在所述参数值为所述预设数值时,从本地存储空间中获取所述访问请求所请求的目标数据,并将所述目标数据回传至所述访问请求的发起端。
9.一种基于对象存储的请求处理设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于对象存储的请求处理程序,所述基于对象存储的请求处理程序配置为实现如权利要求1至7中任一项所述的基于对象存储的请求处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于对象存储的请求处理程序,所述基于对象存储的请求处理程序被处理器执行时实现如权利要求1至7任一项所述的基于对象存储的请求处理方法的步骤。
CN201910985628.4A 2019-10-16 2019-10-16 基于对象存储的请求处理方法、装置、设备及存储介质 Active CN110888838B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910985628.4A CN110888838B (zh) 2019-10-16 2019-10-16 基于对象存储的请求处理方法、装置、设备及存储介质
PCT/CN2019/118550 WO2021072881A1 (zh) 2019-10-16 2019-11-14 基于对象存储的请求处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910985628.4A CN110888838B (zh) 2019-10-16 2019-10-16 基于对象存储的请求处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110888838A true CN110888838A (zh) 2020-03-17
CN110888838B CN110888838B (zh) 2024-03-08

Family

ID=69746247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910985628.4A Active CN110888838B (zh) 2019-10-16 2019-10-16 基于对象存储的请求处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110888838B (zh)
WO (1) WO2021072881A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835523A (zh) * 2020-05-25 2020-10-27 北京齐尔布莱特科技有限公司 一种数据请求方法、系统及计算设备
CN114428591A (zh) * 2022-01-27 2022-05-03 北京海纳川汽车部件股份有限公司 车载网关的数据存储方法、读取方法及装置
CN114489486A (zh) * 2021-12-28 2022-05-13 无锡宇宁智能科技有限公司 行业数据长存储方法、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928228B2 (en) * 2020-09-25 2024-03-12 EMC IP Holding Company LLC Facilitating an object protocol based access of data within a multiprotocol environment
CN113660096A (zh) * 2021-08-11 2021-11-16 挂号网(杭州)科技有限公司 一种请求签名方法、装置、电子设备及存储介质
CN113973139A (zh) * 2021-10-20 2022-01-25 北京沃东天骏信息技术有限公司 一种消息处理的方法和装置
CN116032652B (zh) * 2023-01-31 2023-08-25 湖南创亿达实业发展有限公司 基于智能交互触控平板的网关认证方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108710639A (zh) * 2018-04-17 2018-10-26 桂林电子科技大学 一种基于Ceph的海量小文件存取优化方法
CN108833369A (zh) * 2018-05-28 2018-11-16 郑州云海信息技术有限公司 一种访问文件系统的方法、装置及设备
CN110232292A (zh) * 2019-05-06 2019-09-13 平安科技(深圳)有限公司 数据访问权限认证方法、服务器及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201315435D0 (en) * 2013-08-30 2013-10-16 Ibm Cache management in a computerized system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108710639A (zh) * 2018-04-17 2018-10-26 桂林电子科技大学 一种基于Ceph的海量小文件存取优化方法
CN108833369A (zh) * 2018-05-28 2018-11-16 郑州云海信息技术有限公司 一种访问文件系统的方法、装置及设备
CN110232292A (zh) * 2019-05-06 2019-09-13 平安科技(深圳)有限公司 数据访问权限认证方法、服务器及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835523A (zh) * 2020-05-25 2020-10-27 北京齐尔布莱特科技有限公司 一种数据请求方法、系统及计算设备
CN111835523B (zh) * 2020-05-25 2023-05-30 北京齐尔布莱特科技有限公司 一种数据请求方法、系统及计算设备
CN114489486A (zh) * 2021-12-28 2022-05-13 无锡宇宁智能科技有限公司 行业数据长存储方法、设备及存储介质
CN114489486B (zh) * 2021-12-28 2023-07-14 无锡宇宁智能科技有限公司 行业数据长存储方法、设备及存储介质
CN114428591A (zh) * 2022-01-27 2022-05-03 北京海纳川汽车部件股份有限公司 车载网关的数据存储方法、读取方法及装置

Also Published As

Publication number Publication date
WO2021072881A1 (zh) 2021-04-22
CN110888838B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN110888838B (zh) 基于对象存储的请求处理方法、装置、设备及存储介质
CN108810006B (zh) 资源访问方法、装置、设备及存储介质
US10073916B2 (en) Method and system for facilitating terminal identifiers
US7673135B2 (en) Request authentication token
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
US11770385B2 (en) Systems and methods for malicious client detection through property analysis
JP2015508549A (ja) モバイル環境用のトロイの木馬化されたアプリケーションの特定
CN109710695B (zh) 事务请求有效性识别和发起方法、装置、设备和介质
CN109547426B (zh) 业务响应方法及服务器
WO2022267343A1 (zh) 漏洞检测方法、设备及可读存储介质
CN111327588A (zh) 一种网络访问安全检测方法、系统、终端和可读存储介质
CN112600864A (zh) 一种验证码校验方法、装置、服务器及介质
CN110177096B (zh) 客户端认证方法、装置、介质和计算设备
WO2020224108A1 (zh) Url拦截转换方法、装置以及计算机设备
CN115297104B (zh) 文件上传方法、装置、电子设备和存储介质
CN111314326A (zh) Http漏洞扫描主机的确认方法、装置、设备及介质
CN113709136B (zh) 一种访问请求验证方法和装置
CN116028917A (zh) 权限检测方法及装置、存储介质及电子设备
CN112202785B (zh) 一种上传文件处理方法、装置、设备及计算机存储介质
CN109145645B (zh) 一种保护安卓手机中短信验证码的方法
CN114338060A (zh) 一种权限校验方法、装置、系统、设备及存储介质
CN111291044A (zh) 敏感数据识别方法、装置、电子设备及存储介质
CN113225348B (zh) 请求防重放校验方法和装置
CN116166736B (zh) 基于应用程序接口的区块链数据上链方法、装置和介质
CN113342275B (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