对象存储的数据保护方法、装置、设备及存储介质
技术领域
本公开涉及对象存储
技术领域
,具体涉及一种对象存储的数据保护方法、装置、设备及存储介质。背景技术
为了保证对象存储数据的安全性,目前采用的安全性控制策略是访问控制机制和审计机制集合,具体为:(1)对文件的修改和删除权限进行严谨的授权,仅对拥有权限的负责人赋予文件的修改和删除权限;为避免因为密钥泄露导致数据被恶意删除,拥有权限负责人保有的密钥会定期更换;(2)建立完善的数据库审计,对存储对象进行的修改和删除操作均严格地记录。
但是,前述访问控制机制和审计机制集合的方法,仅是能够从权限控制的角度尽可能较少文件被修改或者删除的概率,以及在文件被修改或删除后进行操作溯源,其并不能防止已存储对象被删除。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供一种对象存储的数据保护方法、装置、设备及存储介质。
一方面,本公开提供一种对象存储的数据保护方法,包括:
判断接收到的操作请求是否为对已存储对象的删改请求;
若所述操作请求为对所述已存储对象的删改请求,则查询所述已存储对象的存储保护策略;
判断所述删改请求是否符合所述存储保护策略;
若所述删改请求不符合所述存储保护策略,则拒绝执行所述删改请求。
可选地,所述存储保护策略包括所述已存储对象的保护时间;
判断所述删改请求是否符合所述存储保护策略,包括:
判断接收到所述删改请求的时间是否在所述保护时间内;
若所述删改请求在所述保护时间内,则确定所述删改请求不符合所述存储保护策略。
可选地,所述存储保护策略包括多条子策略,各条所述子策略均包括所述已存储对象的保护时间;
判断接收到所述删改请求的时间是否在所述保护时间内,包括:
确定所有所述子策略的保护时间中的最常保护时间;
判断接收到所述删改请求的时间是否在所述最常保护时间内。
可选地,各个所述子策略均包括有效期;
判断所述删改请求是否符合所述存储保护策略前,还包括:
根据各个所述子策略的有效期,确定并删除已失效的所述子策略。
可选地,所述已存储对象配置有第一存储时长;所述方法还包括:
若所述已存储对象的存储时长达到所述第一存储时长,获取到期时间点;
判断所述到期时间点是否在所述保护时间内;
若所述到期时间点在所述保护时间内,则禁止删除所述已存储对象;
若所述到期时间点超出所述保护时间,则删除所述已存储对象。
可选地,所述已存储对象设置有第二存储时长,所述第二存储时长小于所述第一存储时长;所述方法还包括:
若所述已存储对象的存储时长达到所述第二存储时长且未到达所述第一存储时长,则对所述已存储对象进行低频存储或者归档存储。
另一方面,本公开提供一种对象存储的数据保护装置,包括:
操作确定单元,用于判断接收到的操作请求是否为对已存储对象的删改请求;
策略查询单元,用于在所述操作请求为对所述已存储对象的删改请求的情况下,查询所述已存储对象的存储保护策略;
合规判断单元,用于判断所述删改请求是否符合所述存储保护策略;
执行单元,用于在所述删改请求不符合所述存储保护策略的情况下,拒绝执行所述删改请求。
可选地,所述存储保护策略包括所述已存储对象的保护时间;
所述合规判断单元,在判断接收到所述删改请求的时间点在所述保护时间内的情况下,确定所述删改请求不符合所述存储保护策略。
可选地,所述存储保护策略包括多条子策略,各条所述子策略均包括所述已存储对象的保护时间;所述合规判断单元包括:
最长时间确定子单元,用于确定所有所述子策略的保护时间中的最常保护时间;
合规判断子单元,用于在判定接收到所述删改请求的时间在所述最常保护时间内的情况下,确定所述删改请求不符合所述存储保护策略。
可选地,所述装置还包括:子策略删除单元,用于根据各个所述子策略的有效期,确定并删除已失效的所述子策略。
可选地,所述已存储对象设置有第一存储时长;
到期时间计算单元,用于在所述已存储对象的存储时长达到所述第一存储时长的情况下,获取到期时间点;
所述合规判断单元还用于判断所述到期时间点是否在所述保护时间内;
所述执行单元还用于:在所述到期时间点在所述保护时间内的情况下,禁止删除所述已存储对象;以及,在所述到期时间点超出所述保护时间的情况下,删除所述已存储对象。
可选地,所述已存储对象设置有第二存储时长,所述第二存储时长小于所述第一存储时长;所述装置还包括:
转存单元,用于在所述已存储对象的存储时长达到所述第二存储时长且未到达所述第一存储时长的情况下,对所述已存储对象进行低频存储或者归档存储。
本公开提供的对象存储的数据保护方法、装置、设备和可读存储介质,预先设置存储桶中已存储对象的存储保护策略,在接收到对已存储对象的删改请求后,根据删改请求查询已存储对象的存储保护策略,在删改请求不符合存储保护策略的情况下拒绝执行删改请求。本方案通过事前预防的方式,避免用户执行非法的对象删改操作,保证了数据存储的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1是本公开实施例提供的对象存储的数据保护方法的流程图;
图2是本公开实施例提供的一种判断删改请求是否符合存储保护策略的流程图;
图3是本公开实施例提供的对象存储的数据保护方法部分流程图;
图4是本公开实施例提供的对象存储的数据保护方法部分流程图;
图5是本公开实施例提供的对象存储的数据保护装置结构示意图;
图6是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
本公开实施例提供一种对象存储的数据保护方法,通过为已存储的对象配置存储保护策略,根据存储保护策略确定是否可以对存储对象进行删改操作。
图1是本公开实施例提供的对象存储的数据保护方法的流程图,如图1所示,本公开实施例提供的对象存储的数据保护方法包括步骤 S101-S105。
应当注意的是,本公开实施例提供的方法应用于存储系统的服务器,以处理来自客户端发送的操作请求;实际应用中的服务器可以是本地服务器,也可以是云端服务器。
S101:判断接收到的操作请求是否为对已存储对象的删改请求;若是,执行步骤S102。
本公开实施例具体应用中,服务器接收到的操作请求可能为如下几类中的一种。
(1)对存储桶的操作请求,包括存储桶的建立、存储桶的删除。
(2)对对象的操作请求,包括对象的建立、对象的删除、对象的改写或者对象的覆盖;其中对对象的改写包括对对象值、对象元数据的改写;对象值为客户端上传的对象本身,其可以被理解为用户上传的文件内容;对象元数据为上传文件的属性,包括上传文件的存储类型、文件的头部信息、文件标签、文件的访问控制列表和文件的加密类型。
前述各种可能的操作请求中,针对已存储的对象的操作请求包括对象的删除、对象的改写和对象的覆盖,其中对象的覆盖可能造成对象内容的改变,因此其也可以被理解为对象的改写。本公开实施例中,为了方便表述起见,将对象的删除、对象的改写和对象的覆盖的请求上位为对已存储对象的删改请求。
步骤S102:若操作请求为对已存储对象的删改请求,则查询已存储对象的存储保护策略。
本公开实施例中,根据存储桶存储数据的合规性保存要求或者安全性要求,预先配置了存储桶的存储保护策略。存储保护策略可以为如下的一种。
(1)基于时间的存储保护策略;基于时间的存储保护策略直接设置对象的保护时间。在某一对象在存储桶内创建后或者在某一对象被认定为需要保护的对象后,为其设置保护时间;在保护时间内,不允许修改此对象。
(2)基于政策的存储保护策略,通过设定禁止删改对象列表,以通过对象列表将可以执行改删操作的对象和不可以执行改删操作的对象区分开。对象列表设置有时间属性,通过时间属性可以确定对象列表中各个已存储对象的保护时间。在对象创建后,操作人员根据政策要求确定是否将创建的对象添加至对象列表中,继而为新创建对象赋予存储保护策略。实际应用中,可以通过动态地整体调整对象列表的时间属性的属性值,改变存储保护时间。
应当注意的是,前述的保护时间是一个时间区间;时间区间的起点可以是对象的创建时间,也可以是用户指定的一个时间;时间的终点可以是用户指定的时间,在用户不指定的情况下,时间终点被设置为不限期限。
本公开一些实施例中,根据应用需求,已存储对象可以同时配置前述各种存储保护策略;当然,已存储对象还可以配置其他的存储保护策略。
在本公开实施例中,存储保护策略可以被赋予存储桶,当在存储桶内创建对象时,将存储桶的存储策略直接配置给新创建的对象。对应的,查询已存储对象的存储保护策略,是根据已存储对象的对象键,查找设置在服务器端的针对存储桶的存储保护策略,将针对存储桶的存储保护策略直接作为对已存储对象的存储保护策略。
S103:判断删改请求是否符合存储保护策略;若是,执行S104;若否,执行S105。
在本公开实施例中,判断删改请求是否符合存储保护策略,是基于前述的存储保护策略,确定删改请求是否满足存储保护策略的规则要求。
图2是本公开实施例提供的一种判断删改请求是否符合存储保护策略的流程图,如图2所示本公开实施例中判断删改请求是否符合存储保护策略包括步骤S1031-S1033。
S1031:判断接收到删改请求的时间是否在保护时间内;若是,执行S1032;若否,执行S1033。
S1022:确定删改请求不符合存储保护策略。
S1023:确定删改请求符合存储保护策略。
如前,本公开实施例中,保护时间为一时间区间。具体应用中,判断接收到删改请求的时间是否在保护时间内,根据禁止删改请求的表示方式不同而不同。
例如,如果保护时间采用起始时间和终止时间点表示,则可以将接收到删改请求的时间分别与起始时间和终止时间比较;如果接收到删改请求的时间晚于起始时间并且早于终止时间,则确定接收到删改请求的时间在保护时间内。
再如,如果保护时间采用时间起点和时间长度的方式表示,可以根据接收到删改请求的时间与时间起点相减,确定已存储对象的实际存储时长;随后采用实际存储时长和时间长度比较确定删改请求是否在保护时间内;如果实际存储时长小于时间长度,则确定接收到删改请求在保护时间内。
随后,基于删改请求是否符合存储保护策略,执行下述的步骤S104 或者S105。
S104:执行删改请求。
执行删改请求为根据删改请求对已存储对象进行相应的操作。具体应用中,可能包括如下几种情况。
(1)如果删改请求为文件覆盖写操作,则将与删改请求关联的数据包中的对象数据(也就是对象值)覆盖已存储对象的数据值,并适应性地修改已存储对象的对象元数据。
(2)如果删改请求为文件删除操作,则对已存储对象进行删除。
(3)如果删改请求为元数据修改操作,则对已存储对象的对象元数据进行修改。
在完成前述的删改请求后,服务器生成返回信息并发送给客户端,以告知客户端完成执行删改操作。
S105:拒绝执行删改请求。
在拒绝执行删改请求后,服务器可以根据拒绝执行删改请求的原因作为返回信息,将返回信息返回给客户端。
本公开实施例提供的对象存储的数据保护方法,预先设置存储桶中已存储对象的存储保护策略,在接收到对已存储对象的删改请求后,根据删改请求查询已存储对象的存储保护策略,在删改请求不符合存储保护策略的情况下拒绝执行删改请求。本方案通过事前预防的方式,避免用户执行非法的对象删改操作,保证了数据存储的安全性。
如前文,在本公开实施例的一些应用中,针对某一已存储对象,可能设置多个存储保护策略,每个存储保护策略均具有对应的保护时间;具体应用中,前述的多个存储保护策略可能是兼容的,也可能是矛盾的,为解决此问题,本公开实施例在执行步骤S103时可以采用如下步骤S103A-S103B。
S103A:确定所有子策略的保护时间中的最常保护时间。
应当注意的是,本公开实施例中的最长保护时间指的是终止时间最靠后的时间。
例如,针对某一存储桶的数据存储策略包括:基于时间的保护子策略,保护时间为从对象创建起(也就是保护时间周期)3年;基于政策的子策略,此子策略建立禁止删改对象列表,禁止删改对象列表创建时间为2020年1月1日零时零分。
在获取到针对某一已存储对象的删改请求后,确定已存储对象的创建时间为2016年1月1日零时零分,并且其位于禁止删改对象列表中。当前时间为2021年4月23日,如果按照前述基于时间的保护子策略,对已存储对象的删改请求符合存储保护策略;如果按照基于政策的子策略,对已存储对象的删改请求并不符合存储保护策略。本公开实施例中,为了保证数据存储的安全性,选择具有最长保护时间的子策略,也就是将基于政策的子策略作为实际应用的子策略,其对应的保护时间为最长保护时间。
S103B:判断接收到删改请求的时间是否在最常保护时间内。
采用前述步骤S103A和S103B中确定删改请求是否合规的方法,在多个子策略中的保护时间冲突的情况下,将数据安全作为第一考虑因素,确定具有最常保护时间的子策略判定删改请求是否合规,避免造成已存储对象的非正常删除,提高了数据安全性。
在本公开实施例其他应用中,在存储保护策略具有多条子策略的情况下,还可以设置多条子策略的优先级,并选择优先级最高的子策略确定删除请求是否合规。
在本公开实施例具体实施例中,各个子策略均设置有有效期,在执行前述的步骤S103前,还可以执行如下步骤S106。
S106:根据各个子策略的有效期,确定并删除已失效的子策略。
通过删除已经失效的子策略,可以减小再次执行数据保护时候的判断步骤,提高后续判断执行效率。
在本公开的一些实施例中,已存储对象除了配置有前述的存储保护策略外,还可以配置生命周期管理策略,生命周期管理策略用于对存储桶中的已存储对象进行存储管理。
在一些实施例中,生命周期管路策略包括删除策略,删除策略为在已存储对象的存储时长达到第一存储时长后,删除已存储对象;前述的删除策略可能与存储保护策略兼容,也可能与存储保护策略不兼容,如果直接执行前述的删除策略可能造成已存储对象的不合理删除。
图3是本公开实施例提供的对象存储的数据保护方法部分流程图。如图3所示,为了避免已存储对象的不合理删除。本公开实施例提供的对象存储的数据保护方法还可以包括步骤S106-S110。
S106:判断已存储对象的存储时长是否达到第一存储时长;若是,执行S107。
本公开实施例中,服务器周期性地扫描存储桶中对象的对象元数据,根据对象元数据中的建立时间当前时间确定对象的存储时长是否达到第一存储时长。
S107:获取到期时间点。
本公开实施例中,到期时间点是已存储对象存储时长达到第一存储时长的时间点。
S108:判断到期时间点是否在保护时间内;若是,执行S109;若否,执行S110。
S109:禁止删除已存储对象。
S110:删除已存储对象。
如果到期时间点在保护时间内,则表明删除策略和安全保护策略冲突;为了数据安全,不执行删除策略,即禁止删除已存储对象。
本公开实施例具体应用中,如果删除策略与存储保护策略不冲突,则服务器执行删除策略后,生成返回提示信息;如果删除策略与存储保护策略冲突,则服务器拒绝执行删除策略并将拒绝原因返回给客户端。
在本公开实施例中一些应用中,生命周期管理策略还包括低频存储的策略或者归档存储的策略;其中低频存储的策略是将采用标准存储的对象转换为采用低频存储的对象;归档存储的策略是将低频存储或者标准存储的对象转换为离线冷数据存储。
为执行低频存储策略或者归档存储策略,已存储对象还设置有第二存储时长,第二存储时长小于第一存储时长。
图4是本公开实施例提供的对象存储的数据保护方法的部分流程图;如图4所示,本公开提供的对象存储的数据保护方法还可以包括步骤S111-S112。
S111:判断已存储对象的存储时长是否达到第二存储时长且未达到第一存储时长;若是,执行S112。
S111:对已存储对象进行低频存储或者归档存储。
实际应用中,低频存储和归档存储仅是将对象的存储方式改变,并没有改变对象的数据内容,因此并不会与存储保护策略冲突,因此可以对已存储对象直接进行低频存储或者归档存储。
以下结合一个具体应用,综合地说明说明本公开实施例提供的对象存储的保护方法再做说明。在本公开的一个应用中,用户为存储桶配置了多条数据保护策略,数据保护策略包括基于时间的保护策略和基于数据合规的保护策略。基于时间的保护策略的状态为生效,规则创建时间为2019年1月1日零时零分;基于数据合规的保护策略状态也为生效,其创建时间为2020年1月1日零时零分。因为多条存储保护策略,则较长数据保护时间规则的优先级优于较短时间的优先级。此时,采用采用基于数据合规的保护策略保护存储桶中的数据。
同时,存储桶配置了生命周期管理策略,其创建时间为2018年1 月1日零点零分,规则内容为:对存储桶中的所有对象,指定1年为低频存储时长,2年为归档存储时长,3年为删除时长;即在对象存储在存储桶后,1年转换为低频存储,2年转换为归档存储,3年删除此对象。
在接收到用户端发送的操作请求后,服务器首先判断操作请求的类型,如果为对存储桶的操作请求,则根据相应的规则判断是否可以执行相应的操作;如果是对对象的改写操作,如果为对对象的改写操作,则查询对象的数据保护策略,根据前述数据保护策略的配置规则,确定对象的数据保护策略为基于合规的保护策略,禁止对对象进行改写操作,因此拒绝执行改写操作。
例如在2018年1月2日上传一对象后,并未对此对象进行改写操作,则可以确定在2019年1月2日,此对象转为低频存储,在2020 年1月2日,此对象转为归档存储,而2021年1月2日此对象应当由归档存储转为删除;但是因为对象的数据保护策略为基于数据合规的保护策略,禁止对数据删除,因此在2021年1月2日并没有执行对数据的删除操作,而是保留此对象。
除了提供前述的对象存储的数据保护方法外,本公开实施例还提供一种对象存储的数据保护装置。
图5是本公开实施例提供的对象存储的数据保护装置结构示意图;如图5所示,对象存储的数据保护装置包括操作确定单元11、策略查询单元12和合规判断单元13和执行单元14。
操作确定单元11用于判断接收到的操作请求是否为对已存储对象的删改请求;策略查询单元12用于在操作请求为对已存储对象的删改请求的情况下,查询已存储对象的存储保护策略;合规判断单元13用于判断删改请求是否符合存储保护策略;执行单元14用于在删改请求不符合存储保护策略的情况下,拒绝执行删改请求。
在本公开一些实施例中,存储保护策略包括已存储对象的保护时间;合规判断单元13在判断接收到删改请求的时间点在保护时间内的情况下,确定删改请求不符合存储保护策略。
在本公开的一些实施例中,存储保护策略包括多条子策略,各条子策略均包括已存储对象的保护时间;合规判断单元13包括最长时间确定子单元和合规判断子单元。最长时间确定子单元用于确定所有子策略的保护时间中的最常保护时间;合规判断子单元用于在判定接收到删改请求的时间在最常保护时间内的情况下,确定删改请求不符合存储保护策略。
在本公开一些实施例中,对象存储的数据保护装置还包括子策略删除单元;子策略删除单元,用于根据各个子策略的有效期,确定并删除已失效的子策略。
在本公开一些实施例中,已存储对象设置有第一存储时长;装置还包括:到期时间计算单元,用于在已存储对象的存储时长达到第一存储时长的情况下,获取到期时间点;合规判断单元13还用于判断到期时间点是否在保护时间内;执行单元14还用于在到期时间点在保护时间内的情况下,禁止删除已存储对象;以及,在到期时间点超出保护时间的情况下,删除已存储对象。
在本公开一些实施例中,已存储对象设置有第二存储时长,第二存储时长小于第一存储时长;装置还包括转存单元,转存单元用于在已存储对象的存储时长达到第二存储时长且未到达第一存储时长的情况下,对已存储对象进行低频存储或者归档存储。
本公开实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时可以实现上述任一实施例的数据同步方法。
示例的,图6是本公开实施例提供的一种计算机设备的结构示意图。下面具体参考图6,其示出了适于用来实现本公开实施例中的计算机设备600的结构示意图。图6示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器ROM602中的程序或者从存储装置608加载到随机访问存储器RAM603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有计算机设备600 操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603 通过总线604彼此相连。输入/输出I/O接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置 606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许计算机设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的计算机设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP (HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:判断接收到的操作请求是否为对已存储对象的删改请求;若所述操作请求为对所述已存储对象的删改请求,则查询所述已存储对象的存储保护策略;判断所述删改请求是否符合所述存储保护策略;若所述删改请求不符合所述存储保护策略,则拒绝执行所述删改请求。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网 (WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的根据硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD) 等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括根据一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时可以实现上述任一方法实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。