掌桥专利:专业的专利平台
掌桥专利
首页

一种安全查询方法、系统、电子设备、存储介质

文献发布时间:2024-04-18 19:53:33


一种安全查询方法、系统、电子设备、存储介质

技术领域

本发明属于信息安全技术领域,尤其涉及一种安全查询方法、系统、电子设备、存储介质。

背景技术

目前,随着互联网数据量的快速增长和信息技术的不断发展,机器学习受到了人们的广泛关注。XGBoost(回归预测模型)作为一种典型的机器学习算法,能够通过学习建模提供精确高效的数据分类服务,在金融、医疗、交通等诸多领域得到了广泛应用。在传统的XGBoost训练服务中,模型通过标签产生梯度,并对数据进行分桶划分,基于分桶信息和梯度寻找最佳分裂点,得到树模型,进而为用户的数据提供预测服务。上述过程中,各数据中心的敏感数据(例如标签信息、数据中心训练数据、用户预测数据等)并未得到保护,存在敏感信息泄露的风险。

发明内容

针对现有技术存在的问题,本发明提供了一种安全查询方法、系统、电子设备以及存储介质,其可以提高数据的安全性。

第一方面,本发明提供一种安全查询方法,所述方法包括:主动方利用加密密钥生成第一加密参数,并将所述第一加密参数发送给客户端和服务器,以及生成查询密钥,并将所述查询密钥发送至所述客户端;所述客户端基于所述查询密钥加密查询信息,得到加密信息,并将所述加密信息发送至所述服务器;所述服务器基于安全查询模型对所述加密信息进行处理,得到响应密文值,并将所述响应密文值发送至所述客户端;所述客户端基于所述查询密钥对所述响应密文值进行解密,以得到所述查新信息对应的查询结果。

其中,所述方法还包括:主动方生成分桶信息加密密钥和权重加密密钥,并将所述分桶信息加密密钥和所述权重加密密钥分别发送给被动方、所述服务器和所述客户端;所述被动方对本地数据进行分桶,得到布尔矩阵,将所述布尔矩阵分为第一布尔矩阵和第二布尔矩阵,并将所述第一布尔矩阵发送至所述主动方,以及将所述第二布尔矩阵发送至所述服务器;所述主动方利用第一加密函数对所述第一布尔矩阵进行加密,得到密钥,并将所述密钥发送至所述服务器;所述主动方利用所述第一加密函数加密梯度信息,得到第一密文,将所述第一密文发送给所述服务器;所述服务器基于所述第一加密函数对所述第一密文进行解密,得到所述梯度信息,基于所述梯度信息确定最大增益,并将最大增益对应的点上信息和分桶bit发送给主动方;所述主动方利用所述点上信息更新树模型,并通过分桶bit更新下一轮训练的分桶信息;所述被动方利用第二加密函数对最优分裂点进行加密,得到第二密文,并将所述第二密文发送至所述服务器。

其中,所述主动方生成分桶信息加密密钥和权重加密密钥,并将所述分桶信息加密密钥和所述权重加密密钥分别发送给被动方、所述服务器和所述客户端的步骤,包括:主动方执行第一加密函数生成主密钥对,执行第二加密函数生成对称密钥;利用所述对称密钥对预设值进行两次加密,并为每一被动方计算加密参数;以及将所述主密钥对中的主密钥和所述加密参数发送给每一所述被动方、所述服务器、所述客户端;其中,所述主密钥为所述分桶信息加密密钥,所述加密参数为所述权重加密密钥。

其中,所述主动方利用所述第一加密函数加密梯度信息,得到第一密文,将所述第一密文发送给所述服务器的步骤,包括:所述主动方确定第一梯度,和第二梯度;计算所述第一梯度的第一梯度和,以及所述第二梯度的第二梯度和;利用所述第一加密函数对所述第一梯度和以及所述第二梯度和进行加密,将第一密文发送给所述服务器,所述第一密文包括:所述第一梯度和、所述第二梯度和、所述第一梯度和的加密信息、所述第二梯度和的加密信息。

其中,所述服务器基于所述第一加密函数对所述第一密文进行解密,得到所述梯度信息,以及所述梯度值对应的最大增益的步骤,包括:所述主动方基于所述第一布尔矩阵对任意一个所述被动方的第d个数据特征计算第一共享参数,并将所述第一共享参数发送至所述服务器;所述服务器基于所述第二布尔矩阵计算第二共享参数;所述服务器基于所述第一加密函数对所述第一密文进行解密,得到第一梯度和以及第二梯度和;所述服务器基于所述第一共享参数、第二共享参数、第一梯度和以及第二梯度和确定最大增益。

其中,所述服务器基于安全查询模型对所述加密信息进行处理,得到响应密文值,并将所述响应密文值发送至所述客户端的步骤,包括:所述服务器将所述加密信息和最优分裂阈值进行比较以确定查询符号,并对每一查询符号生成第一随机数和第二随机数,基于所述第一随机数、所述第二随机数对所述查询符号进行处理,得到混淆信息,将所述混淆信息发送至所述主动方;所述主动方利用所述加密密钥解密所述混淆信息,得到第一解密信息,并对所述第一解密信息进行编码,得到编码信息,将所述编码信息发送至服务器;所述服务器利用所述第一随机数对所述编码信息进行处理,得到所述编码信息对应的原始信息;所述原始信息表示分裂的走向;所述服务器基于分裂的走向确定所述响应密文值。

其中,所述服务器基于分裂的走向确定所述响应密文值的步骤,包括:对每一结点计算密文,并将每一枝干上的结点的密文相乘,得到第一计算结果;将所述第一计算结果与权重相乘,得到第二计算结果;将所有的第二计算结果相加,得到所述响应密文值。

第二方面,本申请提供一种安全查询系统,包括:主动方,用于利用加密密钥生成第一加密参数,并将所述第一加密参数发送给客户端和服务器,以及生成查询密钥,并将所述查询密钥发送至所述客户端;客户端,所述客户端基于所述查询密钥加密查询信息,得到加密信息,并将所述加密信息发送至所述服务器;以及基于所述查询密钥对所述响应密文值进行解密,以得到所述查新信息对应的查询结果;服务器,所述服务器基于安全查询模型对所述加密信息进行处理,得到响应密文值,并将所述响应密文值发送至所述客户端。

第三方面,本申请提供一种电子设备,所述电子设备包括处理器及存储器,其中,所述存储器用于存储实现上述任意一项所述的安全查询方法的构建方法的程序指令;所述处理器用于执行所述存储器存储的所述程序指令。

第四方面,本申请提供一种存储介质,存储有程序文件,所述程序文件能够被执行以实现上述任意一项所述的安全查询方法。

本申请的安全查询方法,能够对查询信息进行加密,大大提高安全性,避免用户查询数据与查询结果遭到泄露。

附图说明

图1是本发明安全查询方法的第一实施例的流程示意图;

图2是本发明安全查询模型的训练方法的一实施例的流程示意图;。

图3是图1中步骤S13的一实施例的流程示意图;

图4是本发明安全查询系统的一实施例的结构示意图;

图5是本发明电子设备的一实施例的结构示意图;

图6是本发明存储介质的一实施例的结构示意图;

图7是本发明主动方、客户端、服务器和被动方各个模块的协作关系。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在传统的联邦学习提升树方案中,主动方(数据标签的拥有者)采用同态加密的手段保护梯度,发送给各个参与方计算分裂最大增益。这个过程中参与方的原始数据并没有从本地流出,但交换的参数仍然泄露了数据信息(包含数据的数值和分布情况),这严重威胁了参与方的数据隐私安全。并且传统联邦学习提升树模型要求用户在训练过程中一直保持在线,且需要消耗大量计算资源进行模型训练,增加了实用的困难性。

具体来说,如神州融安科技(北京)有限公司申请的专利“一种纵向xgboost决策树的联邦学习方法和系统”公开了一种基于门限同态加密方案的纵向xgboost决策树联合训练和联合推理模型方法,能够保证各方所持有样本的特征数据的隐私性,增强对各方特征数据的安全性。该发明的不足之处在于:基于门限同态加密方案需要部分用户保持在线,导致模型的通信开销与计算开销大大增大,不适合用于低开销的实际场景中,并且模型训练是在已有模型的基础上进行提升的,这也增加了梯度泄露标签信息的风险。

综上所述,现有的方法存在的问题是:现有的联邦XGBoost隐私保护方案,存在安全性不足,不能支持训练过程中分桶信息的保护,用户查询数据与查询结果均遭到泄露等等。同时模型训练需要所有数据拥有者持续在线参与,通信与计算开销大,又或是训练的模型精度达不到预期的效果。

解决上述技术问题的意义:针对联邦学习场景中的XGBoost隐私保护问题,设计高效无损的XGBoost训练与查询算法,能够确保敏感数据的安全有效使用,促进数据挖掘技术与机器学习算法的快速发展。因此,本发明提供了一种高安全查询方法,下面结合附图对本发明作详细的描述。

有鉴于此,本发明提供一种安全查询方法,其属于信息安全技术领域,其主要是基于联邦XGBoost进行,包括训练和查询服务两个阶段。在训练过程中,基于分桶共享和最优分裂查找算法以实现高精度的提升树模型,其中使用秘密共享和函数加密(FE)对该模型的分桶信息和标签进行保护,并能计算最优的分裂阙值选择最佳分裂点分裂;在模型查询过程中,基于一种新的对称同态加密(SHE)算法提出了一种不经意查询算法以实现安全的模型查询服务。本发明可用于联邦学习场景中XGBoost模型的训练与查询服务,能够保证数据不出本地并保护中间梯度的前提下,确保模型生成方高效的得到高精度XGBoost模型,最后在查询服务中保证查询结果仅由查询用户一人所知,从而保证用户的隐私。

具体请参见图1,图1是本发明安全查询方法的第一实施例的流程示意图,本申请的安全查询方法涉及到主动方、被动方、云服务提供商例如服务器CSP、客户端例如查询用户端U。

其中,主动方是数据和数据标签的拥有者,处理模型参数和密钥参数的生成,主导模型训练的整个过程,并能够在本地获得训练模型,同时为查询用户提供安全的查询服务。

被动方是数据的拥有者(不含标签),协助主动方完成模型的训练,只将本地的分桶信息加密发送,不会获得模型,并且不参与查询服务过程。

云服务提供商(CSP)也即服务器用于负责协助模型的训练并提供模型的查询服务。

查询用户U(Query User)也即客户端,U是一个希望从训练完成的模型中安全地获得查询结果的用户,并且查询的结果只有U一个知晓,主动方和CSP均不知晓查询的结果。

图1具体包括:

步骤S11:主动方利用加密密钥生成第一加密参数,并将所述第一加密参数发送给客户端和服务器,以及生成查询密钥,并将所述查询密钥发送至所述客户端。

在这一步,对于注册过后的用户U,主动方P

步骤S12:所述客户端基于所述查询密钥加密查询信息,得到加密信息,并将所述加密信息发送至所述服务器。

当U收到第一加密参数σ′后,U按照公式(4)加密查询信息Q=(q

步骤S13:所述服务器基于安全查询模型对所述加密信息进行处理,得到响应密文值,并将所述响应密文值发送至所述客户端。

具体的,在步骤S13中,需要使用到安全查询模型,因此需要对安全查询模型进行训练。具体请参见图2,图2为安全查询模型的训练流程示意图,具体包括:

步骤S21:主动方生成分桶信息加密密钥和权重加密密钥,并将所述分桶信息加密密钥和所述权重加密密钥分别发送给被动方、所述服务器和所述客户端。

首先,需要将所有的参数进行初始化,使得所有参数一致。具体的,所有K个参与者(即被动方)首先同意执行规定的协议,并愿意在他们的本地训练数据上协作训练一个全局增强树模型。然后,使用实体对齐协议,参与者删除不相关的数据样本,并对公共数据样本进行相应的排列,其中剩余的数据样本数设置为N。在那之后,主动方PK随机初始化模型权重

在这一步,主动方PK将会执行第一加密函数如FE.Gen(κ,N)来生成主密钥对(mpk,msk),并且执行第二加密函数SHE.Gen(k0,k1,k2)来生成SHE对称密钥ssk。然后,通过利用堆成密钥ssk对预设值例如0进行两次加密,并且PK为每个被动方计算SHE加密参数σ

需要说明的是,FE表示第一加密函数,Gen为第一加密函数的相关参数。SHE表示第二加密函数,Gen表示第二加密函数的相关参数。

进一步的,在数据对齐之后,P

D

步骤S22:所述被动方对本地数据进行分桶,得到布尔矩阵,将所述布尔矩阵分为第一布尔矩阵和第二布尔矩阵,并将所述第一布尔矩阵发送至所述主动方,以及将所述第二布尔矩阵发送至所述服务器;所述主动方利用第一加密函数对所述第一布尔矩阵进行加密,得到密钥,并将所述密钥发送至所述服务器。

在这一步,所述被动方对本地数据进行分桶,得到布尔矩阵,就对,每个被动方首先会决定分桶的数目Sk和独立的分桶策略。然后Pk可以获得第d个特征的分裂阙值

每个

这里d=1,…,D

对于每个布尔矩阵M

然后,P

步骤S23:所述主动方利用所述第一加密函数加密梯度信息,得到第一密文,将所述第一密文发送给所述服务器。

当训练第r颗树时,P

计算所述第一梯度的第一梯度和ag

步骤S24:所述服务器基于所述第一加密函数对所述第一密文进行解密,得到所述梯度信息,基于所述梯度信息确定最大增益,并将最大增益对应的点上信息和分桶bit发送给主动方。

具体的,所述主动方基于所述第一布尔矩阵对任意一个所述被动方的第d个数据特征计算第一共享参数,并将所述第一共享参数发送至所述服务器。例如,对于任意一个参与方的第d个数据特征,主动方都会都会计算这个参与方第一共享参数

同时,所述服务器基于所述第二布尔矩阵计算第二共享参数,例如CSP计算共享参数

这里k=1,…,K-1,d=1,…,D

进一步的,所述服务器基于所述第一加密函数对所述第一密文进行解密,得到第一梯度和以及第二梯度和。所述服务器基于所述第一共享参数、第二共享参数、第一梯度和以及第二梯度和确定最大增益。

具体的,CSP计算按照如下公式计算每个结点的增益,并找到最大增益,记作

步骤S25:所述主动方利用所述点上信息更新树模型,并通过分桶bit更新下一轮训练的分桶信息。

在获得最大增益后,CSP计算共享向量

最后,如果达到最大深度时,P

然后P

步骤S26:所述被动方利用第二加密函数对最优分裂点进行加密,得到第二密文,并将所述第二密文发送至所述服务器。

当树完成R颗树的建立,迭代训练停止。在这一步,所有的参与方将最优的分裂密文值发送给CSP用于查询服务。主动方会发送每个最佳的分裂信息(r,t,k

这里r

具体的,通过上述图2所示的方式训练得到安全查询模型后,利用安全查询模型对加密信息进行处理,得到响应密文值,并将所述响应密文值发送至所述客户端。具体请结合图3,包括:

步骤S31:所述服务器将所述加密信息和最优分裂阈值进行比较以确定查询符号,并对每一查询符号生成第一随机数和第二随机数,基于所述第一随机数、所述第二随机数对所述查询符号进行处理,得到混淆信息,将所述混淆信息发送至所述主动方。

具体的,服务器一旦收到加密信息[Q],CSP将在密文下对查询权值和最优分裂阙值比较,CSP将获得查询的符号

对于每个查询符号[as

随后CSP将其发送给主动方。

步骤S32:所述主动方利用所述加密密钥解密所述混淆信息,得到第一解密信息,并对所述第一解密信息进行编码,得到编码信息,将所述编码信息发送至服务器。

主动方用ssk解密混淆信息,并且获得第一解密信息ps

这里的[0]和[1]都是通过ssk′加密过后的密文。最后,主动方将其发送给CSP。

步骤S33:所述服务器利用所述第一随机数对所述编码信息进行处理,得到所述编码信息对应的原始信息;所述原始信息表示分裂的走向。

CSP将恢复每个[pi

Reverse表示1和0的位置对调。

步骤S34:所述服务器基于分裂的走向确定所述响应密文值。

具体的,对每一结点计算密文,并将每一枝干上的结点的密文相乘,得到第一计算结果;将所述第一计算结果与权重相乘,得到第二计算结果;将所有的第二计算结果相加,得到所述响应密文值。

具体的,CSP将计算响应密文值[π]:

步骤S14:所述客户端基于所述查询密钥对所述响应密文值进行解密,以得到所述查新信息对应的查询结果。

CSP将会返回查询结果[π]给用户U,U将利用ssk′解密并获得查询结果π。

综上所述,本申请的安全查询方法实际上包括以下步骤:

步骤1:查询请求,主动方利用SHE密钥ssk加密相关信息发送给用户(U)和CSP,同时将另一对SHE密钥ssk′作为查询密钥发送给U,U利用查询密钥加密数据,并发送给CSP。

步骤2:不经意查询,CSP对U的密文特征和最优分裂密文特征进行计算,并加以混淆发送给主动方,主动方利用ssk′对查询方向进行加密编码并发送给CSP,CSP恢复真实的加密方向,CSP将每个密文方向相乘,最后乘上每个结点权重,得到响应密文值。

步骤3:查询响应,CSP将密文值发送给用户,用户利用ssk′解密获得查询结果。

进一步的,本申请的安全查询方法基于安全查询模型进行,因此需要训练得到安全查询模型,具体的过程包括:

步骤S1:系统初始化,参与方对模型的参数达成一致,同时主动方(含有标签的参与方)选择安全的参数,生成分桶信息加密密钥和权重加密密钥,并将相关的密钥发送给其它参与方(被动方)、云服务器(CSP)和查询用户。

步骤S2:数据分桶与共享,被动方对本地数据进行分桶得到布尔矩阵,同时利用秘密共享的思想将矩阵分成两份,一份发送给主动方,一份采用函数加密(FE)的方法得到密钥并将密钥和分桶信息发送给CSP。

步骤S3:寻找最优分裂点,主动方利用FE加密梯度信息,并将相关信息发送给CSP,CSP通过FE解密得到求和的梯度值,并计算最大增益。

步骤S4:模型更新,CSP将最大增益的点上信息和分桶bit发送给主动方,主动方利用点上信息更新树模型,并通过分桶bit更新下一轮训练的分桶信息。

步骤S5:训练完成,判断模型训练是否完成,如果未完成则继续重复第三步与第四步,如果完成则迭代训练停止,参与方将所有最优分裂点用SHE加密,并将密文值发送给CSP用于查询服务。

本发明的优点及积极效果为:本发明在纵向划分的数据上实现了高精度的提升树。考虑到树模型的训练过程仅与固定的数据顺序有关,首先设计了一个分桶共享的算法对包含参与者部分特征的数据桶进行共享。该算法使得每一个参与者不再需要在整个模型训练期间始终保持活跃状态。然后基于共享的桶信息,提出了最优分裂查找算法以实现高精度的全局模型训练过程。

本发明在模型的训练和查询过程中都是隐私保护的。通过将函数加密应用到最优分裂查找算法上,本发明很好地保护了训练数据、桶信息和分裂信息的隐私。此外,本发明还设计了一种不经意查询算法,在SHE密文上进行模型查询,实现了对模型查询数据和查询结果的隐私保护。

本发明是高效的。在本发明中,参与者之间不需要进行多轮互动,且大多数耗时的计算操作都由高性能云服务提供商(CSP)负责完成,这大大提高了训练效率。

本发明适用于广域分布的多数据来源协同训练处理场景,利用函数加密、部分同态方案和秘密共享的思想,提出了适用于纵向联邦场景下XGBoost模型训练与服务过程,并在模型的训练和查询过程中都能够实现较低的计算和通信开销,能够解决纵向联邦场景中的数据安全问题。

进一步的,本申请还提供一种安全查询系统,请参见图4,安全查询系统包括:主动方、客户端、服务器。其中,主动方是数据和数据标签的拥有者,处理模型参数和密钥参数的生成,主导模型训练的整个过程,并能够在本地获得训练模型,同时为查询用户提供安全的查询服务。服务器CSP用于负责协助模型的训练并提供模型的查询服务。客户端U(QueryUser)是一个希望从训练完成的模型中安全地获得查询结果的用户,并且查询的结果只有U一个知晓,主动方和CSP均不知晓查询的结果。

进一步的,安全查询系统还包括被动方。被动方是数据的拥有者(不含标签),协助主动方完成模型的训练,只将本地的分桶信息加密发送,不会获得模型,并且不参与查询服务过程。

在一实施例中,主动方包括:

模型参数初始化模块,用于选取模型参数(包括树的最大深度、棵树、学习率、正则化参数等等),不同的模型参数,会使模型的精度有所不同,同时也会影响模型的计算开销。

安全参数选取模块,用于选择安全的密钥参数(包括函数加密参数、部分同态加密参数),根据不同需求选取安全系数,安全系数越大,则系统的安全性能越好,同时系统的计算开销也越大。

密钥生成模块,用于完成系统密钥初始化,生成用于加密被动方分桶信息的FE密钥和用于加密特征信息的SHE密钥。

密钥分发模块,公开系统安全参数,并将生成的密钥发送给所有的被动方和查询用户。

模型训练模块,联合CSP完成模型的训练过程,在本地生成一个高精度的XGBoost模型。

不经意查询模块,通过本地的XGBoost模型为查询用户提供一个安全的预测功能。

被动方包括:

数据分桶模块,用于对本地数据排序分桶,得到布尔分桶矩阵。

分桶共享模块,将布尔分桶矩阵安全的分成两份,保证每一份都不能直接推出真正的分桶信息,同时利用函数加密将一份分桶矩阵生成密钥并发送给CSP,另一份直接发送给主动方。

CSP包括:

模型训练模块,接受所有被动方的FE密钥和分桶信息,同时协助主动方完成XGBoost模型的安全训练。

不经意查询模块,协助主动方为查询用户提供一个安全的预测功能。

查询用户包括:

加密模块,用于加密被预测的数据,保护用户数据隐私。

不经意查询模块,向主动方请求服务,得到加密密钥,同时进行安全的数据预测,得到加密的预测结果,保护查询结果的隐私。

解密模块,对查询结果进行解密,得到准确的预测结果。

主动方、客户端、服务器和被动方各个模块的协作关系请参见图7。

请参见图5,本申请还提供一种电子设备的结构示意图。包括相互连接的存储器52和处理器51。

存储器52用于存储实现上述任意一项的方法的程序指令。

处理器51用于执行存储器52存储的程序指令。

其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器52可以为内存条、TF卡等,可以存储智能终端中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,智能终端才有记忆功能,才能保证正常工作。智能终端中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。

请参阅图6,为本发明存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120116338543