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

对图数据的注入式攻击方法、装置、介质及电子设备

文献发布时间:2023-06-19 09:32:16


对图数据的注入式攻击方法、装置、介质及电子设备

技术领域

本公开涉及人工智能领域,特别涉及一种对图数据的注入式攻击方法、装置、介质及电子设备。

背景技术

在现实生活场景中存在着大量的图数据,如社交网络中用户自身画像组成的特征以及用户之间通过评论、关注形成的关联,银行客户的账户信息以及客户之间因转账而形成的关联,电子商务平台店铺、客户之间因购买、评论而形成的关联。近年来,图神经网络技术被应用于图数据进行图节点的分类,如对银行客户进行信用及资本级别的分类、对店家按照信誉、交易量等进行分类等等。

通过研究如何对原始图数据注入一些虚拟的伪节点,以及与现有节点的少量的关联关系,以达到防止第三方通过分析原始图数据而识别重要类型节点、进而获取关键图数据信息的目的。同时,注入节点的方式使得数据提供方仍然可以轻易分割出注入节点,对原始图数据进行准确的分析。然而,目前对图数据攻击的研究仍然只局限于小规模数据,对大规模图数据的攻击面临内存不足的问题。

发明内容

在人工智能技术领域,为了解决上述技术问题,本公开的目的在于提供一种对图数据的注入式攻击方法、装置、介质及电子设备。

根据本公开的一方面,提供了一种对图数据的注入式攻击方法,所述方法包括:

获取待攻击的目标节点集合,所述目标节点集合包括多个目标节点;

建立包括多个伪节点的伪节点集合;

将所述目标节点集合中的目标节点分为多个目标节点子集合;

针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,并建立所述第一节点集合中各节点的边连接所对应的邻接矩阵,作为第一邻接矩阵;

建立所述伪节点集合中伪节点与所述目标节点子集合中目标节点之间的边连接所对应的邻接矩阵,作为第二邻接矩阵;

基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图;

利用预设攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合。

根据本公开的另一方面,提供了一种对图数据的注入式攻击装置,所述装置包括:

获取模块,被配置为获取待攻击的目标节点集合,所述目标节点集合包括多个目标节点;

建立模块,被配置为建立包括多个伪节点的伪节点集合;

划分模块,被配置为将所述目标节点集合中的目标节点分为多个目标节点子集合;

采样和建立模块,被配置为针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,并建立所述第一节点集合中各节点的边连接所对应的邻接矩阵,作为第一邻接矩阵;

矩阵建立模块,被配置为建立所述伪节点集合中伪节点与所述目标节点子集合中目标节点之间的边连接所对应的邻接矩阵,作为第二邻接矩阵;

构建模块,被配置为基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图;

更新模块,被配置为利用预设攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合。

根据本公开的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行如前所述的方法。

根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开所提供的对图数据的注入式攻击方法,包括如下步骤:获取待攻击的目标节点集合,所述目标节点集合包括多个目标节点;建立包括多个伪节点的伪节点集合;将所述目标节点集合中的目标节点分为多个目标节点子集合;针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,并建立所述第一节点集合中各节点的边连接所对应的邻接矩阵,作为第一邻接矩阵;建立所述伪节点集合中伪节点与所述目标节点子集合中目标节点之间的边连接所对应的邻接矩阵,作为第二邻接矩阵;基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图;利用预设攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合。

此方法下,通过将目标节点集合中的目标节点分为多个目标节点子集合,然后利用每一目标节点子集合建立对应的邻接矩阵,接着基于邻接矩阵、目标节点子集合及伪节点集合构建子图,最后,利用预设的攻击模型和节点分类器模型对子图进行更新,达到了对目标节点子集合进行攻击的目的,这样可以节约对图数据的攻击所使用的内存资源,从而在内存资源有限的情况下也能对大规模图数据进行注入式攻击,进而防止第三方获取大规模图数据中的关键图数据信息。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种对图数据的注入式攻击方法的系统架构示意图;

图2是根据一示例性实施例示出的一种对图数据的注入式攻击方法的流程图;

图3是根据图2对应实施例示出的一实施例的步骤220的细节流程图;

图4是根据一示例性实施例示出的一种对图数据的注入式攻击装置的框图;

图5是根据一示例性实施例示出的一种实现上述对图数据的注入式攻击方法的电子设备示例框图;

图6是根据一示例性实施例示出的一种实现上述对图数据的注入式攻击方法的计算机可读存储介质。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

本公开首先提供了一种对图数据的注入式攻击方法。图数据是不同物理或虚拟实体相互关联而映射而成的数据,比如,社交网络中用户自身画像组成的特征以及用户之间通过评论、关注形成的关联等。图数据通常用节点和边连接来表示,其内蕴含着大量信息。然而图数据一旦被第三方获取,容易被第三方获取其中的关键信息。对图数据进行攻击是防止图数据被非法获取的手段之一,然而对图数据进行攻击往往需要将图数据加载到内存之中,同时,目前的图数据往往都是大规模的,这就导致了对大规模的图数据进行攻击面临着内存不足的技术问题。而本公开提供的一种对图数据的注入式攻击方法可以在内存有限的情况下也能实现对大规模图数据的攻击。

本公开的实施终端可以是任何具有运算、处理以及通信功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。

可选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。

图1是根据一示例性实施例示出的一种对图数据的注入式攻击方法的系统架构示意图。如图1所示,该系统架构包括服务器110、用户终端120以及数据库130。用户终端120与服务器110之间,以及用户终端120与数据库130之间均通过有线或者无线通信链路相连,因此,服务器110和数据库130可以向用户终端120发送数据,也可以接收来自用户终端120的数据,服务器110上有待攻击的目标节点集合,而用户终端120上部署有攻击模型和节点分类器模型,用户终端120为本实施例中的实施终端。当本公开提供的对图数据的注入式攻击方法应用于图1所示的系统架构中时,一个具体过程可以是这样的:用户终端120首先通过通信链路从用服务器110获取待攻击的目标节点集合,并将该分为目标节点子集合;然后,用户终端120建立伪节点集合并将伪节点集合存储至数据库130中;接着,用户终端120利用伪节点集合和目标节点子集合建立两个用表达这些节点之间关系的邻接矩阵,并利用邻接矩阵、伪节点集合和目标节点子集构建子图;最后,用户终端120利用已部署的攻击模型和节点分类器模型对该子图进行更新,达到攻击该目标节点子集合的目的。

值得一提的是,图1仅为本公开的一个实施例,虽然在本实施例中用户终端120为本实施例中的实施终端,但在其他实施例或者实际应用中,本公开实施例的执行终端可以为如前所述的各种设备,比如可以是服务器;虽然在本实施例中,目标节点集合和伪节点集合均位于本公开的实施终端之外的终端,但在实际情况下,目标节点集合或伪节点集合可位于任意终端上,既可以位于同一终端也可以位于不同的终端。本公开对此不作限定,本公开的保护范围也不应因此而受到任何限制。

图2是根据一示例性实施例示出的一种对图数据的注入式攻击方法的流程图。本实施例提供的对图数据的注入式攻击方法可以由服务器执行,如图2所示,包括以下步骤:

步骤210,获取待攻击的目标节点集合。

所述目标节点集合包括多个目标节点。

每一目标节点至少包括一个特征或属性,各目标节点的特征或属性可以相同。

目标节点集合可以形成一张图。节点的特征或属性是与节点向对应的某一维度的信息,一个节点的特征或属性可以有多个。比如,图数据可以反映一群人之间任意两个人是否相互认识,那么图数据中的每个节点就可以是一个人,节点的特征或属性可以是人的性别、年龄、职业、爱好等各方面的信息。

步骤220,建立包括多个伪节点的伪节点集合。

在一个实施例中,每一所述目标节点包括多个特征和各特征对应的特征值,步骤220的具体步骤可以如图3所示。图3是根据图2对应实施例示出的一实施例的步骤220的细节流程图。如图3所示,包括以下步骤:

针对每一伪节点,生成与该伪节点对应的所述多个特征;

针对所述伪节点的每一所述特征,在所述目标节点集合中各所述目标节点的相应特征对应的特征值中任选一个作为该特征对应的特征值。

在本实施例中,通过在各目标节点的特征值中随机选取一个特征值,因此可以提高伪节点的伪装性,从而提高攻击效果。

当然,伪节点也可以特征值也可以利用其它方式生成,比如可以随机生成,也可以根据一定的规则生成。

无论是目标节点还是伪节点,其都包括至少一个特征或属性。本步骤中建立的伪节点集合可以由符号U表示。

步骤230,将所述目标节点集合中的目标节点分为多个目标节点子集合。

目标节点集合中的目标节点有多个,对这些目标节点进行分组,每一组的目标节点即为一个目标节点子集合,每一个目标节点子集合可以包括多个目标节点。各目标节点子集合包括的目标节点的数目可以相同也可以不同。

具体来说,目标节点集合可以由符号T来表示,分成的目标节点子集合则可以由符号T

步骤240,针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,并建立所述第一节点集合中各节点的边连接所对应的邻接矩阵,作为第一邻接矩阵。

第一节点集合可以由符号B

第一邻接矩阵的行和列可以均为第一节点集合中每一节点,而第一邻接矩阵中元素可以为0或1,0代表所在行和列对应的两节点之间不存在边连接,1代表所在行和列对应的两节点之间存在边连接。

各节点的边连接可以存储在节点集合中,也可以存储在节点集合之外的其他数据结构中,即各节点的边连接可以相对于节点集合进行单独存储。

在一个实施例中,所述针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,包括:

针对每一目标节点子集合中的每一目标节点,在所述目标节点集合中随机采样得到该目标节点的第一预定数目个邻接节点,将采样深度置为1,迭代执行采样步骤,直至采样深度达到预定采样深度,所述采样步骤包括:针对最近一次采样得到的每一邻接节点,在所述目标节点集合中随机采样得到该邻接节点的第二预定数目个邻接节点,并将采样深度加1;将采样得到的所有邻接节点组成的集合,作为第一节点集合。

一个目标节点的邻接节点是与该目标节点之间存在边连接的其他节点。

预定采样深度、第一预定数目、第二预定数目可以根据目标节点集合或目标节点子集合中目标节点的规模而设置,也可以根据经验设置。第一预定数目和第二预定数目可以相同,也可以不同。比如,第一预定数目可以是25,而第二预定数目可以10。具体来说,对一个目标节点子集合中的每一目标节点,先随机采样得到该目标节点所对应的25个邻接节点,然后针对25个邻接节点中的每一邻接节点,再继续随机采样得到该目标节点所对应的10个邻接节点,接着再对这10个邻接节点中每一邻接节点采样所对应的10个邻接节点,以此类推,直至达到预定采样深度。

在本实施例中,通过对目标节点进行深层次的邻接节点的采样,使得可以采样得到目标节点集合中丰富的节点及节点间边连接的关系,从而便于对目标节点集合进行攻击。

步骤250,建立所述伪节点集合中伪节点与所述目标节点子集合中目标节点之间的边连接所对应的邻接矩阵,作为第二邻接矩阵。

第二邻接矩阵可以以伪节点集合中伪节点为行,以目标节点子集合中目标节点为列,第二邻接矩阵可以表示为A

步骤260,基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图。

子图是相对于目标节点集合的整体而言的,目标节点集合通常比较大,因此基于目标节点集合可以构造一个大的图,该图的规模通常大于子图。

步骤270,利用预设攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合。

在一个实施例中,所述基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图,包括:

建立由节点集合和边连接矩阵构成的子图,所述节点集合包括所述目标节点子集合和所述伪节点集合,所述边连接矩阵由所述第一邻接矩阵和所述第二邻接矩阵拼接而成;

所述利用攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合,包括:

迭代执行攻击步骤,直至满足预定条件,所述攻击步骤包括:

将所述子图输入至所述预设攻击模型的预设损失函数,并对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵,所述预设损失函数的输出值与预测概率正相关,所述预测概率为预先训练好的节点分类器模型将图内节点分为真实类别的概率;

确定所述梯度矩阵中元素的绝对值的最大值,并基于元素的绝对值的最大值对所述第二邻接矩阵进行调整;

利用调整后的所述第二邻接矩阵对所述子图进行更新。

子图G

预先训练好的节点分类器模型比如可以是GraphSage模型,GraphSage模型可以对训练图数据进行分批次训练,从而可适用于大规模的图数据。在训练GraphSage模型之前,可以先利用Cluster-GCN方法将大的图数据根据连接紧密度分割为多个子图,然后利用分割出的子图进行GraphSage模型,也可以降低内存资源的消耗。

更新后的子图会重新被输入至预设损失函数,重新执行攻击步骤,直到满足预定条件。

子图的更新意味着为目标节点集合添加了新的边连接,并且使节点分类器模型的分类准确率足够低,这样便达到了攻击的效果。

在一个实施例中,所述预先训练好的节点分类器模型利用所述待攻击的目标节点集合训练得到。

由于目标节点集合是要攻击的目标,若节点分类器模型也是利用目标节点集合训练而成的,那么,可以提高攻击的针对性,能够有效保证攻击的效果。

梯度矩阵的大小可以和第二邻接矩阵的大小相同,均为|U|×|T

在一个实施例中,所述将所述子图输入至所述预设攻击模型的预设损失函数,并对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵,包括:

将所述子图输入至所述预设攻击模型的如下预设损失函数:

其中,预先训练好的节点分类器模型为F,G

利用如下表达式对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵:

其中,g为梯度矩阵,A

可以看到,在预设损失函数中,J(G

由于预设损失函数的输出值与预测概率是负相关,而梯度矩阵中元素大小反映了预设损失函数的输出值增大的速度快慢,因此,通过基于梯度矩阵中元素的绝对值的最大值对第二邻接矩阵进行调整可以使预设损失函数的输出值增大得最快,进而使预先训练好的节点分类器模型将图内节点分为真实类别的概率,即预测概率降低得最快,从而快速达到攻击的目的。

预定条件是结束执行攻击步骤的条件,它可以是各种各样的,比如,可以是执行攻击步骤的时间长度达到预定时长,还可以是使预先训练好的节点分类器模型将图内节点分为真实类别的平均概率低于预定平均概率阈值。

在一个实施例中,在迭代执行攻击步骤,直至满足预定条件之前,所述方法还包括:

初始化攻击次数为1;

所述迭代执行攻击步骤,直至满足预定条件,包括:

迭代执行攻击步骤,直至所述攻击次数达到预定攻击次数阈值;

所述利用调整后的所述第二邻接矩阵对所述子图进行更新,包括:

利用调整后的所述第二邻接矩阵对所述子图进行更新,并将所述攻击次数加1。

在本实施例中,通过根据攻击次数达到预定攻击次数阈值来确定是否停止执行攻击步骤,从而可以达到预定攻击目的。

在一个实施例中,所述基于元素的绝对值的最大值对所述第二邻接矩阵进行调整,包括:

确定所述梯度矩阵中元素的绝对值的最大值在所述梯度矩阵中的位置;

确定所述第二邻接矩阵中位于所述位置的元素,作为目标元素;

若所述目标元素的正负号与所述梯度矩阵中元素的绝对值的最大值所对应的元素的正负号不同,则改变所述第二邻接矩阵中所述目标元素的正负号,并加1。

梯度矩阵g与第二邻接矩阵A

梯度矩阵g中元素可以为连续值,并且可以有正负之分。第二邻接矩阵A

具体来说,假如(u

A

在一个实施例中,所述攻击步骤中的在将所述子图输入至所述预设攻击模型的预设损失函数,并对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵的步骤之前,所述方法还包括:

确定所述第二邻接矩阵中每一伪节点所对应的边连接的总数;

将所述第二邻接矩阵中所述边连接的总数大于预定总数阈值的伪节点所在的行删除。

在本实施例中,对本发明的注入式的攻击进行了约束,不再利用超过约束条件的伪节点再次进行攻击,使伪节点不再生成多条边,从而保证了注入式攻击的安全性和可靠性。

综上所述,根据图2实施例提供的对图数据的注入式攻击方法,通过将目标节点集合中的目标节点分为多个目标节点子集合,然后利用每一目标节点子集合建立对应的邻接矩阵,接着基于邻接矩阵、目标节点子集合及伪节点集合构建子图,最后,利用预设的攻击模型和节点分类器模型对子图进行更新,达到了对目标节点子集合进行攻击的目的,这样可以节约对图数据的攻击所使用的内存资源,从而在内存资源有限的情况下也能对大规模图数据进行注入式攻击,进而防止第三方获取大规模图数据中的关键图数据信息。

本公开还提供了一种对图数据的注入式攻击装置,以下是本公开的装置实施例。

图4是根据一示例性实施例示出的一种对图数据的注入式攻击装置的框图。如图4所示,该装置400包括:

获取模块410,被配置为获取待攻击的目标节点集合,所述目标节点集合包括多个目标节点;

建立模块420,被配置为建立包括多个伪节点的伪节点集合;

划分模块430,被配置为将所述目标节点集合中的目标节点分为多个目标节点子集合;

采样和建立模块440,被配置为针对所述目标节点子集合中的每一目标节点,采样得到与该目标节点对应的邻接节点集合,作为第一节点集合,并建立所述第一节点集合中各节点的边连接所对应的邻接矩阵,作为第一邻接矩阵;

矩阵建立模块450,被配置为建立所述伪节点集合中伪节点与所述目标节点子集合中目标节点之间的边连接所对应的邻接矩阵,作为第二邻接矩阵;

构建模块460,被配置为基于所述目标节点子集合、所述伪节点集合、所述第一邻接矩阵和所述第二邻接矩阵构建子图;

更新模块470,被配置为利用预设攻击模型和预先训练好的节点分类器模型对所述子图进行更新,以攻击所述目标节点子集合。

在一个实施例中,所述构建模块460被进一步配置为:

建立由节点集合和边连接矩阵构成的子图,所述节点集合包括所述目标节点子集合和所述伪节点集合,所述边连接矩阵由所述第一邻接矩阵和所述第二邻接矩阵拼接而成;

所述更新模块470被进一步配置为:

迭代执行攻击步骤,直至满足预定条件,所述攻击步骤包括:

将所述子图输入至所述预设攻击模型的预设损失函数,并对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵,所述预设损失函数的输出值与预测概率正相关,所述预测概率为预先训练好的节点分类器模型将图内节点分为真实类别的概率;

确定所述梯度矩阵中元素的绝对值的最大值,并基于元素的绝对值的最大值对所述第二邻接矩阵进行调整;

利用调整后的所述第二邻接矩阵对所述子图进行更新。

在一个实施例中,每一所述目标节点包括多个特征和各特征对应的特征值,所述建立模块420被进一步配置为:

针对每一伪节点,生成与该伪节点对应的所述多个特征;

针对所述伪节点的每一所述特征,在所述目标节点集合中各所述目标节点的相应特征对应的特征值中任选一个作为该特征对应的特征值。

在一个实施例中,所述采样和建立模块440被进一步配置为:

针对每一目标节点子集合中的每一目标节点,在所述目标节点集合中随机采样得到该目标节点的第一预定数目个邻接节点,将采样深度置为1,迭代执行采样步骤,直至采样深度达到预定采样深度,所述采样步骤包括:针对最近一次采样得到的每一邻接节点,在所述目标节点集合中随机采样得到该邻接节点的第二预定数目个邻接节点,并将采样深度加1;

将采样得到的所有邻接节点组成的集合,作为第一节点集合。

在一个实施例中,所述更新模块470所执行的将所述子图输入至所述预设攻击模型的预设损失函数,并对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵的步骤,包括:

将所述子图输入至所述预设攻击模型的如下预设损失函数:

其中,预先训练好的节点分类器模型为F,G

利用如下表达式对输入了所述子图后的预设损失函数求所述第二邻接矩阵的梯度矩阵:

其中,g为梯度矩阵,A

在一个实施例中,所述更新模块470还被配置为在迭代执行攻击步骤,直至满足预定条件之前:

初始化攻击次数为1;

所述更新模块470所执行的迭代执行攻击步骤,直至满足预定条件的步骤,包括:

迭代执行攻击步骤,直至所述攻击次数达到预定攻击次数阈值;

所述更新模块470所执行的利用调整后的所述第二邻接矩阵对所述子图进行更新的步骤,包括:

利用调整后的所述第二邻接矩阵对所述子图进行更新,并将所述攻击次数加1。

在一个实施例中,所述更新模块470所执行的基于元素的绝对值的最大值对所述第二邻接矩阵进行调整的步骤,包括:

确定所述梯度矩阵中元素的绝对值的最大值在所述梯度矩阵中的位置;

确定所述第二邻接矩阵中位于所述位置的元素,作为目标元素;

若所述目标元素的正负号与所述梯度矩阵中元素的绝对值的最大值所对应的元素的正负号不同,则改变所述第二邻接矩阵中所述目标元素的正负号,并加1。

根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行,比如与显示单元540通信。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机执行时,使计算机执行本说明书上述的方法。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质可以是非易失性的,也可以是易失性的。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

相关技术
  • 对图数据的注入式攻击方法、装置、介质及电子设备
  • 地形图数据中建筑图斑提取方法、装置、介质及电子设备
技术分类

06120112204300