一种机器学习模型的数据处理方法、装置及系统与流程

文档序号:27611483发布日期:2021-11-27 01:37阅读:165来源:国知局
一种机器学习模型的数据处理方法、装置及系统与流程

1.本说明书属于计算机技术领域,尤其涉及一种机器学习模型的数据处理方法、装置及系统。


背景技术:

2.随着计算机技术的发展,机器学习模型的使用越来越多,可以利用机器学习模型进行风险预测、评估等。在使用机器学习模型时,需要进行数据的收集,利用收集到的数据,进行模型训练或模型使用。通常情况下,数据持有方和模型的持有方可能是不同的用户,数据持有方拥有的数据集中可能包含不能公开的敏感信息,不能给模型持有方使用。模型持有方对于模型的参数也不能直接给数据持有方使用。如何保证机器模型训练以及模型使用时数据交互的安全性和隐私性,是本领域亟需解决的技术问题。


技术实现要素:

3.本说明书目的在于提供一种机器学习模型的数据处理方法、装置及系统,实现机器学习模型数据交互的安全性和隐私性。
4.一方面本说明书实施例提供了一种机器学习模型的数据处理方法,包括:
5.利用不经意传输协议或同态加密算法,获取第二终端的数据信息;
6.将所述数据信息输入到树模型中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
7.根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,并将所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,生成第二终端对应的第二预测值份额。
8.另一方面,本说明书提供了一种机器学习模型的数据处理方法,包括:
9.利用不经意传输协议或同态加密算法,将数据信息发送至第一终端,以使得所述第一终端中的树模型调用实现比较功能的函数,根据所述数据信息获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
10.接收所述第一终端根据所述树模型的叶子节点对应的哈希值生成的节点属性值加密信息;
11.对所述的节点属性值加密信息进行解密,获得第二预测值份额。
12.又一方面,本说明书提供了一种机器学习模型的数据处理装置,包括:
13.第一数据传输模块,用于利用不经意传输协议或同态加密算法,获取第二终端的数据信息;
14.第一模型计算模块,用于将所述数据信息输入到树模型中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得所述树模型每一个节点对应的哈希
值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
15.第一预测模块,用于根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,并将所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,生成第二终端对应的第二预测值份额。
16.又一方面,本说明书提供了一种机器学习模型的数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中第一终端对应的方法。
17.又一方面,本说明书提供了一种机器学习模型的数据处理装置,包括:
18.第二数据传输模块,用于利用不经意传输协议或同态加密算法,将数据信息发送至第一终端,以使得所述第一终端中的树模型调用实现比较功能的函数,根据所述数据信息获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
19.数据接收模块,用于接收所述第一终端根据所述树模型的叶子节点对应的哈希值生成的节点属性值加密信息;
20.第二预测模块,用于对所述的节点属性值加密信息进行解密,获得第二预测值份额。
21.还一方面,本说明书提供了应用的导航处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中第二终端对应的方法。
22.再一方面,本说明书提供了一种机器学习模型的数据处理系统,包括:模型客户端、数据客户端、数据传输模块、比较功能模块,所述模型客户端中包含有一个或多个树模型,所述数据客户端中包含有数据信息,所述数据传输模块中包括不经意传输协议或同态加密算法;
23.所述模型客户端和所述数据客户端通过调用所述数据传输模块进行数据的传输,所述模型客户端和所述数据客户端调用所述比较功能模块,对所述模型客户端中的树模型的每一层进行数据处理,所述模型客户端用于执行本说明书实施例中第一终端对应的方法,所述数据客户端用于执行本说明书实施例中第二终端对应的方法。
24.本说明书提供的机器学习模型的数据处理方法、装置、处理设备、系统,可以利用不经意传输协议或同态加密算法,将数据持有者的数据发送给模型持有者,并且在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择。将不经意传输协议或同态加密算法与实现比较功能的函数相结合,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
附图说明
25.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
26.图1是本说明书一个实施例中机器学习模型的数据处理方法的流程示意图;
27.图2是本说明书又一个实施例中机器学习模型的数据处理方法的流程示意图;
28.图3是本说明书提供的机器学习模型的数据处理装置一个实施例的模块结构示意图;
29.图4是本说明书提供的机器学习模型的数据处理装置又一个实施例的模块结构示意图;
30.图5是本说明书又一实施例中机器学习模型的数据处理装置的结构示意图;
31.图6是本说明书一个实施例中机器学习模型的数据处理系统的结构示意图;
32.图7是本说明书实施例中机器学习模型的数据处理服务器的硬件结构框图。
具体实施方式
33.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
34.随着计算机和互联网技术不断的发展,利用机器学习模型进行数据的训练、处理的应用场景越来越多,机器学习模型通常可以分为有监督的机器学习模型和无监督的机器学习模型。利用机器学习模型可以进行风险预测如:疾病预测、欺诈预测等,本说明书实施例中的机器学习模型主要可以包括树模型如:决策树模型、随机森林树模型、梯度增强决策树模型等,树模型可以理解为基于树的学习算法,其结构与树类似,具有很多节点。树模型的每一个节点可以包括以下5个属性:leaf(叶子)、threshold(阈值)、attribute(属性)、value(值)、rotate(旋转),其中,leaf可以表示当前节点是否为叶子节点,threshold可以表示当前节点的阈值,attribute可以表示当前节点的属性,value可以表示当前节点的属性的属性值,rotate可以表示是否当前节点的两个子节点是否进行调换。
35.在模型的训练和使用过程中,通常需要进行数据的收集,而数据的持有者和模型的持有者往往是不同的用户,双方不希望对方获取自己的敏感数据或模型参数。本说明书实施例中提供了一种机器学习模型的数据处理方法,可以利用不经意传输协议或同态加密算法,将数据持有者的数据发送给模型持有者,保证数据传输的隐私性。并且在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
36.本说明书中机器学习模型的数据处理方法可以应用在客户端或服务器中,客户端可以是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、智能车载设备等电子设备。
37.本说明书实施例中的第一终端可以表示拥有模型的客户端或服务器,第二终端可以表示拥有数据的客户端或服务器。
38.具体的,图1是本说明书一个实施例中机器学习模型的数据处理方法的流程示意图,如图1所示,本说明书一个实施例中提供的机器学习模型的数据处理方法可以表示模型
持有者的数据处理过程,具体可以包括:
39.步骤102、利用不经意传输协议或同态加密算法,获取第二终端的数据信息。
40.不经意传输协议可以表示一种可保护隐私的双方通信协议,能使通信双方以一种选择模糊化的方式传送消息,他使得服务的接收方以不经意的方式得到服务发送方输入的某些消息,这样就可以保护接受者的隐私不被发送者所知道。本说明书一些实施例中,可以定义一个不经意传输协议模块,不经意传输协议模块可以通过密码学的技术实现以下功能:
41.接收并保存终端1发送的数据信息x=(x[1],

x[n]);
[0042]
接收终端2发送的信息(传输,i),则将c=x[i]返回给终端2,并且终端1和终端2无法获得其他任何信息。
[0043]
可以看出,终端1是拥有数据的一方,利用不经意传输协议,可以实现终端2获得终端1的指定的数据信息,并且终端2不知道终端1中的其他的数据信息。
[0044]
同态加密是基于数学难题的计算复杂性理论的密码学技术,对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密算法可以保护隐私不受数据处理者身的影响,无法查看正在处理的个人详细信息,只能看到处理的最终结果。
[0045]
本说明书实施例中,数据持有方和模型持有方可以通过不经意传输协议或同态加密算法进行数据的传输,使得模型持有方能够获得数据持有方的数据信息,并能够保证其他数据信息不被获取,保证了数据传输的隐私性。
[0046]
步骤104、将所述数据信息输入到树模型中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算。
[0047]
在具体的实施过程中,本说明书一些实施例中可以预先定义一个能够实现比较功能的函数,实现比较功能的函数可以理解为能够实现一定功能的组件,可以基于密码学算法进行设计。本说明书实施例中的实现比较功能的函数可以实现:基于模型持有方和数据持有方输入的数据,生成两个哈希向量,分别返回给模型持有方和数据持有方。模型持有方和数据持有方可以利用接收到的数据进行哈希计算,完成数据在树模型中的处理。
[0048]
本说明书一些实施例中,模型持有方获得数据持有方的数据后,可以将获得的数据信息输入到树模型中。树模型在对输入的数据信息进行处理时,可以在每一层树模型的数据处理过程中调用实现比较功能的函数,根据实现比较功能的函数返回的哈希向量计算出树模型的每一个节点对应的哈希值。上一层的计算数据可以用于下一层节点的哈希值的计算,直至计算到树模型的最后一层。
[0049]
可以看出,本说明书实施例中树模型在对输入的数据进行处理时,可以通过在树模型的每一层调用预先定义的能够实现比较功能的函数,对树模型的每一个节点进行数据处理,不需要将输入的数据与各个节点进行比较,忽略了数据在树模型中的路径的选择,保证树模型的参数以及数据传输的隐私性。
[0050]
步骤106、根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,并将所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,生成第二终端对应的第二预测值份额。
[0051]
在具体实施过程中,当树模型的每一层均计算完成后,可以获得树模型的各个节点的哈希值,可以根据树模型的最后一层即叶子节点对应的哈希值,生成节点属性值加密信息。将节点属性值加密信息发送给数据持有方即第二终端,第二终端可以通过解密获得第二预测值份额。
[0052]
在上述实施例的基础上,本说明书一些实施例中,所述根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,可以包括:
[0053]
随机生成第一预测值份额,并获取所述树模型的叶子节点的属性值;
[0054]
计算所述叶子节点的属性值与所述第一预测值份额的异或信息;
[0055]
利用叶子节点对应的哈希值对对应的叶子节点的异或信息进行加密,获得所述节点属性值加密信息。
[0056]
在具体的实施过程中,当树模型的每一层均计算完成后,可以随机生成第一预测值份额,并获取树模型的叶子节点的属性值,将叶子节点的属性值与第一预测值份额进行异或计算,获得叶子节点对应的异或信息。利用叶子节点对应的哈希值,对计算出对应叶子节点的异或信息进行加密,获得叶子节点对应的节点属性值加密信息。
[0057]
其中,叶子节点可以表示树模型中没有子节点的节点。
[0058]
本说明书实施例中提供了一种机器学习模型的数据处理方法,可以利用不经意传输协议或同态加密算法,将数据持有者的数据发送给模型持有者,并且在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择。将不经意传输协议或同态加密算法与实现比较功能的函数相结合,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0059]
在上述实施例的基础上,本说明书一个实施例中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得树模型每一个节点对应的哈希值,包括:
[0060]
根据所述数据信息,生成第一比较数据,并根据所述第二终端生成的第二比较数据,调用所述实现比较功能的函数,获得第一哈希向量;
[0061]
根据所述第一哈希向量生成所述树模型的节点的哈希值,并利用所述节点的哈希值对对应的节点的属性信息进行加密,获得每一个节点的节点加密信息;
[0062]
将所述节点加密信息发送给所述第二终端,以使得所述第二终端根据所述实现比较功能的函数返回的第二哈希向量对所述节点加密信息进行解密,获得媒介数据;
[0063]
根据所述媒介数据重新生成所述第一比较数据,以及所述第二终端更新的第二比较数据,进行下一层树模型的计算,直至所述树模型的最后一层。
[0064]
在具体的实施过程中,本说明书实施例可以预先定义出能够实现比较功能的函数,实现比较功能的函数可以理解为能够实现一定功能的组件,可以基于密码学算法进行设计。本说明书一些实施例中,可以提供两种能够实现比较功能的函数f
cmp
、f
cmp
、可以采用以下的方式进行定义,实现对应的功能:
[0065]
f
cmp
定义方式:
[0066]
接收终端1发送的比较数据1:(t
a
,x
a
,r
a
),以及终端2发送的比较数据2:(t
b
,x
b
,r
b
);
[0067]
计算并随机生成向量(l0,l1)发送给
终端1,再将向量(l
b
,b)发送给终端2。
[0068]
其中,表示布尔运算,具体可以表示异或运算,b的取值为0或1,当b等于0时,l
b
为l0,当b等于1时,l
b
为l1。
[0069]
本说明书另一些实施例中还提供了一种比较功能定义方式,以实现对应的功能:
[0070]
接收终端1发送的比较数据1:(t
a
,x
a
,r
a
),以及终端2发送的比较数据2:(t
b
,x
b
,r
b
);
[0071]
计算并随机生成向量(l0,l1)发送给终端1,再将向量(l
b
,b)发送给终端2。
[0072]
其中,可以表示布尔运算,具体可以表示异或运算,b的取值为0或1,当b等于0时,l
b
为l0,当b等于1时,l
b
为l1。
[0073]
实现比较功能的函数定义完成后,模型持有方和数据持有方可以分别生成第一比较数据即(t
a
,x
a
,r
a
),和第二比较数据即(t
b
,x
b
,r
b
),调用实现比较功能的函数,可以分别生成第一哈希向量即(x0,x1),和第二哈希向量即(x
b
,b)。其中,模型持有方的第一比较数据可以根据模型中各个节点的属性以及获取到的数据持有方的数据信息生成,t
a
可以表示节点的阈值threshold,x
a
可以表示经过不经意传输协议获得的数据持有方的数据信息或者可以表示节点的属性值value,r
a
可以表示节点的两个子节点是否调换即节点属性rotate。在树模型第一层的计算过程中,数据持有方即第二终端的第二比较数据可以随机生成,利用第一层树模型的计算结果可以生成第二层树模型计算时的第二比较数据,以此类推。
[0074]
调用f
cmp
、后,模型持有方即第一终端可以获得第一哈希向量,第二终端可以获得第二哈希向量。模型持有方可以利用第一哈希向量计算出各个节点对应的哈希值,并根据计算出的哈希值对对应的节点的属性信息进行加密,获得各个节点的节点加密信息,将节点加密信息发送给第二终端。在对节点的属性信息进行加密时,可以根据上一层树模型计算时可以将节点的属性信息与随机生成的数值进行布尔运算或算术运算后,再进行加密。本说明书实施例中,可以对节点的、阈值threshold、属性attribute、旋转rotate三个属性信息进行处理后加密,当然根据实际需要也可以对节点的其他属性信息进行加密。第二终端可以利用第二哈希向量对接收到的节点加密信息进行解密,获得媒介数据。基于媒介数据可以生成下一层模型计算的第一比较数据和第二比较数据,进行下一层树模型的节点计算,直至达到树模型的最后一层。
[0075]
本说明书一些实施例中,若模型持有方和数据持有方采用的是不经意传输协议,则每一层树模型的计算过程中对数据持有方的数据信息的加密和解密可以均采用对称加密算法、对称解密算法。采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法可以称为对称加密,也称为单密钥加密。若模型持有方和数据持有方采用的是同态加密算法,则每一层树模型的计算过程中的对数据持有方的数据信息的加密和解密均采用同态加密、同态解密。
[0076]
本说明书实施例中提供了一种机器学习模型的数据处理方法,在树模型的每一层调用预先定义的实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的
安全性和隐私性。
[0077]
在上述实施例的基础上,下面具体介绍本说明书实施例中模型持有方和数据持有方的数据传输协议,即决策树模型的数据处理过程:
[0078]
1、对于每个i∈[1,2
l
),第一终端即模型持有方随机配置t[i].rotate的取值,如果t[i].rotate=1,则将节点的两个子节点进行调换。其中,i表示节点编号,l表示树模型的层编号,t[i].rotate表示树模型中第i个节点的rotate属性,即第i个节点的子节点是否需要调换。
[0079]
2、第一终端进行参数初始化,具体可以设置以下参数:[t]
a
=t[1].threshold,[a]
a
=t[1].attribute,[r]
a
=t[1].rotate,[x]
a
=0,k1=0。其中,t[1].threshold可以表示第1个节点的阈值,t[1].attribute可以表示第1个节点的属性,t[1].rotate表示第1个节点的子节点是否调换。[t]
a
、[r]
a
、[x]
a
可以表示调用定义的实现比较功能的函数时使用的数据,k1可以表示初始哈希参数值。
[0080]
3、第二终端即数据持有方进行参数初始化,具体可以设置以下参数:[t]
b
=0,[a]
b
=0,[r]
b
=0,k1=0,p=1。其中,[t]
b
、[r]
b
可以表示调用定义的实现比较功能的函数时使用的数据,k1可以表示初始哈希参数值,p可以表示指针参数。
[0081]
4、对于树模型的每一层,执行以下操作,其中,l∈[0,h],h表示树模型的总层数:
[0082]
(a)、第二终端随机生成参数[x]
b
,将[x]
b
添加到第二终端持有的数据信息x中,并对添加[x]
b
后的数据信息进行向左循环移位[a]
b
操作,即将添加[x]
b
后的数据信息进行向左循环移动[a]
b
个位置,获得加密数据信息x

。调用不经意传输协议函数,其中第一终端提供参数[a]
a
,第二终端提供参数x

,不经意传输协议函数可以向第一终端返回计算结果,返回值记为[x]
a

[0083]
(b)、调用实现比较功能的函数f
cmp
,其中,第一终端提供第一比较数据([t]
a
,[x]
a
,[r]
a
),第二终端提供第二比较数据([t]
b
,[x]
b
,[r]
b
)。f
cmp
的定义方式参考上述实施例的记载,此处不再赘述。参见上述实施例的定义,可以看出第一终端相当于终端1,第二终端相当于终端2,调用f
cmp
,可以向第一终端返回第一哈希向量(l0,l1),向第二终端返回第二哈希向量(l
b
,b)。
[0084]
(c)、第一终端随机产生[t]
a
、[a]
a
、[r]
a
,对于每一个i∈[2
l
,2
l+1
)的节点,根据接收到的第一哈希向量(l0,l1),计算各个节点的哈希值k
2i+c
=h(k
i
,l
c
),其中,h表示哈希计算,c∈{0,1};
[0085]
利用各节点的哈希值计算各节点的节点加密信息:
[0086][0087]
上式中,enc可以表示加密运算,其中,k
2i+c
可以表示密钥,利用k
2i+c
对t[2i+c].attribute

[a]
a
,进行加密,获得节点加密信息。
[0088]
并将{e
i
}发送给第二终端,其中,i∈[2
l+1
,2
l+2
)。
[0089]
(d)、第二终端更新指针参数p=2p+b,并根据第二哈希向量计算:
[0090]
k
p
=h(k
p/2
,l
b
)
[0091]
([t]
b
,[a]
b
,[r]
b
)=dec(k
p
;e
p
)
[0092]
其中,可以表示哈希计算,dec可以表示解密计算,利用密钥k
p
对e
p
进行解密,其中,
[t]
a
、[t]
b
、[a]
a
、[a]
b
、[r]
a
、[r]
b
满足以下条件:
[0093][0094]
5、第一终端随机生成第一预测值份额[r]
a
,对于每一个i∈[2
h
,2
h+1
),寻找节点j,节点j满足以下条件:t[j].leaf=ture并且,节点j是节点i的父节点,即获取树模型的叶子节点。根据第一预测值份额[r]
a
和节点j的属性值,计算节点属性值加密信息v
i

[0095][0096]
其中,enc可以表示加密运算,利用密钥k
i
对进行加密。
[0097]
将计算出的v
i
发送给第二终端。
[0098]
需要说明的是,本说明书实施例中,在数据的处理过程中,可能会将树模型补充为完全二叉树,即有些节点可能是虚拟节点。本说明书实施例中的树模型的叶子节点表示树模型的实际的叶子节点,不包含补充的虚拟节点。
[0099]
6、第二终端对接收到的v
i
进行解密运算,获得第二预测值份额[r]
b
=dec(k
p
;v
p
),其中dec表示解密运算,利用密钥k
p
对v
p
进行解密运算,p表示步骤4中的指针参数。
[0100]
本说明书另一些实施例中还提供可一种利用同态加密算法进行数据处理的方式,具体过程可以包括:
[0101]
1、对于每个i∈[1,2
l
),第一终端即模型持有方随机配置t[i].rotate的取值,如果t[i].rotate=1,则将节点的两个子节点进行调换。其中,i可以表示节点编号,l表示树模型的层编号,t[i].rotate表示树模型中第i个节点的rotate属性,即第i个节点的子节点是否需要调换。
[0102]
2、第二终端利用同态加密算法对持有的数据信息进行加密,即计算x[i]=enc(x[i]),其中x[i]可以表示第二终端持有的数据信息中的第i个数据,enc可以表示同态加密,即x[i]可以表示x[i]的密文信息。将加密后的数据信息x[i]发送给第一终端。
[0103]
3、对于任意i∈t,t可以表示树模型的节点,i∈t可以表示树模型的每一个节点,第一终端随机定义参数t[i].value的取值,并计算以下信息:
[0104]
add(x[t[i].attribute],t[i].value)
[0105]
其中,x[i]=enc(x[i])可以表示同态加密,其中,x[t[i].attribute]可以表示x[t[i].attribute]的密文,add(x[t[i].attribute],t[i].value)可以表示x[t[i].attribute]+t[i].value的密文信息。t[i].attribute可以表示第i个节点的属性,t[i].value可以表示第i个节点的属性值。
[0106]
第一终端将计算出的add(x[t[i].attribute],t[i].value)发送给第二终端,第二终端对接收到的数据进行解密,获得t',其中,t'[i].value+t[i].value=x[t[i].attribute]。
[0107]
4、第一终端进行参数初始化,具体可以设置以下参数:[t]
a
=t[1].threshold,<x>
a
=t[1].value,[r]
a
=t[1].rotate,k1=0。其中,t[1].threshold可以表示第1个节点的阈值,t[1].value可以表示第1个节点的属性值,t[1].rotate表示第1个节点的子节点是否调换。[t]
a
、[r]
a
、<x>
a
可以表示调用定义的实现比较功能的函数时使用的数据,k1可以表示初始哈希参数值。
[0108]
5、第二终端即数据持有方进行参数初始化,具体可以设置以下参数:[t]
b
=0,<x>
b
=t'[1].value,[r]
b
=0,k1=0,p=1。其中,[t]
b
、<x>
b
、[r]
b
可以表示调用定义的实现比较功能的函数时使用的数据,k1可以表示初始哈希参数值,p可以表示指针参数。
[0109]
6、对于树模型的每一层,执行以下操作,其中,l∈[0,h],h表示树模型的总层数:
[0110]
(a)、调用实现比较功能的函数其中,第一终端提供第一比较数据([t]
a
,<x>
a
,[r]
a
),第二终端提供第二比较数据([t]
b
,<x>
b
,[r]
b
)。的定义方式参考上述实施例的记载,此处不再赘述。参见上述实施例的定义,可以看出第一终端相当于终端1,第二终端相当于终端2,调用可以向第一终端返回第一哈希向量(l0,l1),向第二终端返回第二哈希向量(l
b
,b)。
[0111]
(b)、第一终端随机产生[t]
a
、<x>
a
、[r]
a
,对于每一个i∈[2
l
,2
l+1
)的节点,根据接收到的第一哈希向量(l0,l1),计算各个节点的哈希值k
2i+c
=h(k
i
,l
c
),其中,h表示哈希计算,c∈{0,1};
[0112]
利用各节点的哈希值计算各节点的节点加密信息:
[0113][0114]
上式中,enc可以表示加密运算,其中,k
2i+c
可以表示密钥,利用k
2i+c
对t[t[2i+c].attribute]

<x>
a
,)进行加密,获得节点加密信息。
[0115]
并将{e
i
}发送给第二终端,其中,i∈[2
l+1
,2
l+2
)。
[0116]
(c)、第二终端更新指针参数p=2p+b,并根据第二哈希向量计算:
[0117]
k
p
=h(k
p/2
,l
b
)
[0118]
([t]
b
,<x>
b
,[r]
b
)=dec(k
p
;e
p
)
[0119]
其中,可以表示哈希计算,dec可以表示解密计算,利用密钥k
p
对e
p
进行解密,其中,[t]
a
、[t]
b
、<x>
a
、<x>
b
满足以下条件:
[0120][0121]
(d)、第二终端更新<x>
b
,<x>
b
=<x>
b
+t'[t[p].attribute].value,其中,<x>
a
+<x>
b
=x[t[p].attribute]
[0122]
7、第一终端随机生成第一预测值份额[r]
a
,对于每一个i∈[2
h
,2
h+1
),寻找节点j,节点j满足以下条件:t[j].leaf=ture并且,节点j是节点i的父节点,即获取树模型的叶子节点。
[0123]
根据第一预测值份额[r]
a
和节点j的属性值,计算节点属性值加密信息v
i

[0124]
其中enc可以表示加密运算,利用密钥k
i
对进行加密。
[0125]
将计算出的v
i
发送给第二终端。
[0126]
8、第二终端对接收到的v
i
进行解密运算,获得第二预测值份额[r]
b
=dec(k
p
;v
p
),其中dec表示解密运算,利用密钥k
p
对v
p
进行解密运算,p表示步骤5中的指针参数。
[0127]
需要说明的是,上述实施例中,[.]可以表示布尔运算,<

>可以表示算术运算。例如:给定一个布尔运算的字符串x∈{0,1}
n
长度为n,[x]运算表示选择均匀随机串t∈{0,1}
n

然后计算[x]
a
=x,[x]
a
和[x]
b
分别为第一终端、第二终端的数值份额。同样的,若给定一个x∈f,f可以表示集合,<x>表示选择均匀随机串t∈f,然后计算x

t∈f。<x>
a
=t,<x>
b
=x

t,<x>
a
、<x>
b
分别为第一终端、第二终端的数值份额。
[0128]
本说明书实施例中利用树模型进行预测的预测值可以分为两个部分,一部分为第一预测值份额[r]
a
,一部分为第二预测值份额[r]
b
,分别保存在第一终端和第二终端。上述实施例可以表示模型持有方的一个树模型进行数据处理的过程,可以获得一个第一预测值份额[r]
a
、一个节点属性值加密信息v
i
,第二终端根据第一终端生成的[r]
a
和v
i
可以获得一个第二预测值份额[r]
b
。若第一终端有多个树模型,则可以获得多个[r]
a
、多个v
i
,进一步获得多个第二预测值份额[r]
b
,第二终端可以将将多个第二预测值份额[r]
b
进行线性组合,获得最终的模型预测值。
[0129]
本说明书实施例中提供了一种机器学习模型的数据处理方法,将不经意传输协议或同态加密算法与实现比较功能的函数进行结合,利用不经意传输协议或同态加密算法将数据持有方的数据传输给模型持有方,使得模型持有方只能获得数据持有方指定的数据。在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0130]
在上述实施例的基础上,本说明书一个实施例中,还提供了一种基于数据持有方进行的机器学习模型的数据处理方法,图2是本说明书又一个实施例中机器学习模型的数据处理方法的流程示意图,如图2所示,本说明书实施例提供的机器学习模型的数据处理方法可以包括:
[0131]
步骤202、利用不经意传输协议或同态加密算法,将数据信息发送至第一终端,以使得所述第一终端中的树模型调用实现比较功能的函数,根据所述数据信息获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算。
[0132]
不经意传输协议和同态加密算法的具体含义可以参考上述实施例的介绍,此处不再赘述。数据持有方和模型持有方利用不经意传输协议或同态加密算法,将数据持有方的数据信息发送给模型持有方。模型持有方根据接收到的数据,对树模型的每一层的节点进行数据处理,在每一层数据处理过程中,均调用实现比较功能的函数,计算获得各个节点对应的哈希值。其中,实现比较功能的函数的定义方式可以参考上述实施例的记载,此处不再赘述。
[0133]
步骤204、接收所述第一终端根据所述树模型的叶子节点对应的哈希值生成的节点属性值加密信息。
[0134]
在具体的实施过程中,第一终端即模型持有方根据接收到的数据信息对树模型的每一层进行数据处理,直至计算到树模型的最后一层,模型持有方随机生成第一预测值份额。获取树模型最后一层的叶子节点对应的哈希值,根据叶子节点对应的哈希值、叶子节点的属性值以及第一预测值份额,计算获得节点属性值加密信息。节点属性加密信息的具体计算方式可以参考上述实施例的记载,此处不再赘述。
[0135]
步骤206、对所述的节点属性值加密信息进行解密,获得第二预测值份额。
[0136]
在具体的实施过程中,第一终端可以将计算出的节点属性值加密信息发送值第二
终端,第二终端可以利用对应的节点的哈希值对接收到的节点属性值加密信息进行解密,获得第二预测值份额。
[0137]
在上述实施例的基础上,当模型持有方有多个树模型时,根据每一个树模型可以对应生成一个第一预测值份额和节点属性值加密信息。第二终端即数据持有方可以根据各个树模型生成的第一预测值份额和节点属性值加密信息,生成多个第二预测值份额,第二终端可以将第二预测值份额进行线性叠加,获得模型预测信息。
[0138]
本说明书实施例中提供了一种机器学习模型的数据处理方法,将不经意传输协议或同态加密算法与实现比较功能的函数进行结合,利用不经意传输协议或同态加密算法将数据持有方的数据传输给模型持有方,使得模型持有方只能获得数据持有方指定的数据。在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0139]
在上述实施例的基础上,本说明书一个实施例中,所述将数据信息发送至第一终端后,所述方法还可以包括:
[0140]
初始化生成第二比较数据,并根据所述第一终端生成的第一比较数据,调用所述实现比较功能的函数,获得第二哈希向量;
[0141]
接收所述第一终端根据第一哈希向量生成的节点加密信息,并根据所述第二哈希向量对所述节点加密信息进行解密,获得媒介数据;
[0142]
根据所述媒介数据重新生成所述第二比较数据,以及所述第一终端更新的第一比较数据,进行下一层树模型的计算,直至所述树模型的最后一层。
[0143]
在具体的实施过程中,在第一层树模型的数据处理之前,第二终端可以初始化生成第二比较数据,第一终端可以根据获取到的第二终端的数据信息,生成第一比较数据。第一比较数据和第二比较数据的具体生成方式可以参考上述实施例的记载,此处不再赘述。利用第一比较数据和第二比较数据,调用实现比较功能的函数,可以分别获得第一哈希向量和第二哈希向量。第一终端可以根据第一哈希向量对树模型的节点属性进行数据处理,获得各个节点的节点加密信息,并获得各个节点对应的哈希值。其中,各个节点属性的数据处理方式可以参考上述实施例的记载,此处不再赘述。第二终端可以根据获得的第二哈希向量对节点加密信息进行解密,获得媒介数据。基于媒介数据第二终端可以更新第二比较数据,第一终端可以跟新第一比较数据,利用更新后的第一比较数据和第二比较数据,进行下一层树模型的计算,直至计算到树模型的最后一层。
[0144]
本说明书实施例,在树模型对数据进行处理时,每一层的树模型均调用预先定义的实现比较功能的函数,对每一个节点进行数据处理,可以忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0145]
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参加方法实施例的部分说明即可。
[0146]
基于上述所述的应用的导航方法,本说明书一个或多个实施例还提供一种机器学习模型的数据处理装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包
括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参加前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0147]
具体地,图3是本说明书提供的机器学习模型的数据处理装置一个实施例的模块结构示意图,如图3所示,本说明书中提供的机器学习模型的数据处理装置主要应用于模型持有方,可以包括:第一数据传输模块31、第一模型计算模块32、第一预测模块33,其中:
[0148]
第一数据传输模块31,可以用于利用不经意传输协议或同态加密算法,获取第二终端的数据信息;
[0149]
第一模型计算模块32,可以用于将所述数据信息输入到树模型中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
[0150]
第一预测模块33,可以用于根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,并将所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,生成第二终端对应的第二预测值份额。
[0151]
本说明书实施例提供的机器学习模型的数据处理装置,可以利用不经意传输协议或同态加密算法,将数据持有者的数据发送给模型持有者,并且在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择。将不经意传输协议或同态加密算法与实现比较功能的函数相结合,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0152]
在上述实施例的基础上,所述第一模型计算模块具体用于:
[0153]
根据所述数据信息,生成第一比较数据,并根据所述第二终端生成的第二比较数据,调用所述实现比较功能的函数,获得第一哈希向量;
[0154]
根据所述第一哈希向量生成所述树模型的节点的哈希值,并利用所述节点的哈希值对对应的节点的属性信息进行加密,获得每一个节点的节点加密信息;
[0155]
将所述节点加密信息发送给所述第二终端,以使得所述第二终端根据所述实现比较功能的函数返回的第二哈希向量对所述节点加密信息进行解密,获得媒介数据;
[0156]
根据所述媒介数据重新生成所述第一比较数据,以及所述第二终端更新的第二比较数据,进行下一层树模型的计算,直至所述树模型的最后一层。
[0157]
本说明书实施例在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0158]
在上述实施例的基础上,所述第一模型计算模块使用对称加密算法对所述属性信息进行加密。
[0159]
在上述实施例的基础上,所述第一预测模块具体用于:
[0160]
随机生成第一预测值份额,并获取所述树模型的叶子节点的属性值;
[0161]
计算所述叶子节点的属性值与所述第一预测值份额的异或信息;
[0162]
利用叶子节点对应的哈希值对对应的叶子节点的异或信息进行加密,获得所述节点属性值加密信息。
[0163]
本说明书实施例,基于不经意传输协议或同态加密和实现比较功能的函数的结合,对树模型的每一层进行数据处理,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0164]
在上述实施例的基础上,所述第一预测模块还用于:
[0165]
若所述树模型有多个,则生成多个所述节点属性值加密信息,并将多个所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,获得多个所述第二预测值份额。
[0166]
本说明书实施例,若树模型有多个,则基于多个树模型的预测结果,进行线性叠加,生成最终的预测信息,提高模型输出的准确性。
[0167]
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0168]
本说明书实施例还提供一种机器学习模型的数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的应用的导航方法,如:
[0169]
利用不经意传输协议或同态加密算法,获取第二终端的数据信息;
[0170]
将所述数据信息输入到树模型中,所述树模型的每一层调用实现比较功能的函数,并根据所述数据信息,获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
[0171]
根据所述树模型的叶子节点对应的哈希值,生成节点属性值加密信息,并将所述节点属性值加密信息发送给所述第二终端,以使得所述第二终端根据所述节点属性值加密信息,生成第二终端对应的第二预测值份额。
[0172]
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
[0173]
需要说明的,上述所述的处理设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0174]
本说明一些实施例中还提供了一种机器学习模型的数据处理装置应用于数据持有方,图4是本说明书提供的机器学习模型的数据处理装置又一个实施例的模块结构示意图,如图4所示,本说明书中提供的机器学习模型的数据处理装置可以包括:第二数据传输模块41、数据接收模块42、第二预测模块43,其中:
[0175]
第二数据传输模块41,可以用于利用不经意传输协议或同态加密算法,将数据信息发送至第一终端,以使得所述第一终端中的树模型调用实现比较功能的函数,根据所述数据信息获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于
基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
[0176]
数据接收模块42,可以用于接收所述第一终端根据所述树模型的叶子节点对应的哈希值生成的节点属性值加密信息;
[0177]
第二预测模块43,可以用于对所述的节点属性值加密信息进行解密,获得第二预测值份额。
[0178]
本说明书实施例,将不经意传输协议或同态加密算法与实现比较功能的函数进行结合,利用不经意传输协议或同态加密算法将数据持有方的数据传输给模型持有方,使得模型持有方只能获得数据持有方指定的数据。在树模型的每一层调用实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0179]
图5是本说明书又一实施例中机器学习模型的数据处理装置的结构示意图,如图5所示,在上述实施例的基础上,所述装置还包括第二模型计算模块51,用于:
[0180]
将数据信息发送至第一终端后,初始化生成第二比较数据,并根据所述第一终端生成的第一比较数据,调用所述实现比较功能的函数,获得第二哈希向量;
[0181]
接收所述第一终端根据第一哈希向量生成的节点加密信息,并根据所述第二哈希向量对所述节点加密信息进行解密,获得媒介数据;
[0182]
根据所述媒介数据重新生成所述第二比较数据,以及所述第一终端更新的第一比较数据,进行下一层树模型的计算,直至所述树模型的最后一层。
[0183]
本说明书实施例,在树模型的每一层调用预先定义的能够实现比较功能的函数,忽略数据在树模型中的路径选择,保证在模型持有者和数据持有者除了模型输出结果之外,彼此间不透露任何其他信息,确保了数据交互的安全性和隐私性。
[0184]
在上述实施例的基础上,所述第二预测模块还用于:
[0185]
若所述第一终端包括多个树模型,则接收多个树模型生成的节点属性值加密信息;
[0186]
根据所述多个节点属性值加密信息,生成多个第二预测值份额;
[0187]
将所述多个第二预测值份额进行线性叠加,获得模型预测信息。
[0188]
本说明书实施例,若树模型有多个,则基于多个树模型的预测结果,进行线性叠加,生成最终的预测信息,提高模型输出的准确性。
[0189]
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0190]
本说明书实施例还提供一种机器学习模型的数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的应用的导航方法,如:
[0191]
利用不经意传输协议或同态加密算法,将数据信息发送至第一终端,以使得所述第一终端中的树模型调用实现比较功能的函数,根据所述数据信息获得所述树模型每一个节点对应的哈希值,其中,所述实现比较功能的函数用于基于输入的数据生成两个哈希向量,所述哈希向量用于哈希计算;
[0192]
接收所述第一终端根据所述树模型的叶子节点对应的哈希值生成的节点属性值加密信息;
[0193]
对所述的节点属性值加密信息进行解密,获得第二预测值份额。
[0194]
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
[0195]
需要说明的,上述所述的处理设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0196]
图6是本说明书一个实施例中机器学习模型的数据处理系统的结构示意图,如图6所示,本说明书实施例中的机器学习模型的数据处理系统可以包括模型客户端61、数据客户端62、数据传输模块63、比较功能模块64,其中,所述模型客户端61中包含有一个或多个树模型,所述数据客户端62中包含有数据信息,所述数据传输模块63中包括不经意传输协议或同态加密算法;
[0197]
所述模型客户端61和所述数据客户端62通过调用所述数据传输模块63进行数据的传输,所述模型客户端61和所述数据客户端62调用所述比较功能模块64,对所述模型客户端61中的树模型的每一层进行数据处理,比较功能模块64可以实现上述实施例中f
cmp
、的功能。所述模型客户端61用于执行上述实施例中模型持有方对应的方法步骤,所述数据客户端62用于执行上述实施例中数据持有方对应的方法步骤。
[0198]
本说明书提供的机器学习模型的数据处理系统可以为单独的机器学习模型的数据处理系统,也可以应用在多种数据分析处理系统中。所述系统可以包括上述实施例中任意一个应用的导航装置。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
[0199]
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本说明书实施例中机器学习模型的数据处理服务器的硬件结构框图,该服务器可以执行数据持有方对应的方法,也可以指定模型持有方对应的方法。如图7所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本邻域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图7中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、gpu,或者具有与图7所示不同的配置。
[0200]
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的应用的导航方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储
器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0201]
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0202]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0203]
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。
[0204]
本说明书实施例提供的上述应用的导航方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在pc端实现、linux系统实现,或其他例如使用android、ios系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
[0205]
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
[0206]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参加方法实施例的部分说明即可。
[0207]
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机数据处理和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
[0208]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员
自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very

high

speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0209]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0210]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0211]
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0212]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本
说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0213]
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0214]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0215]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0216]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0217]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0218]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0219]
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0220]
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0221]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参加方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0222]
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1