一种基于图路径密态计算的多任务成本评估方法及系统

文档序号:32748113发布日期:2022-12-30 23:15阅读:18来源:国知局
一种基于图路径密态计算的多任务成本评估方法及系统

1.本发明属于网络信息安全技术领域,尤其涉及一种基于图路径密态计算的多任务成本评估方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.在信息系统所描述的现实世界中,数据对象之间彼此联系,如社交网络中的数据对象存在社交联系、地图信息系统中的位置之间通过道路联系。在计算机领域,经常采用图这种数据结构刻画、处理数据以及彼此之间的关联信息。图使用顶点(vertex/v)来表示物理实体或者拓扑节点,用顶点之间的边(edge/e)表示顶点之间的关系。在加权图这种数据结构中,会给每一条边赋予一个数值/权重,用来表示路径的长度,可以在实际生活中表示两个地点之间的距离、两个人之间的关系紧密程度等。
4.在物流/外卖配送、网约车等实际应用中,可以采用图结构对这些应用场景进行数学建模:用顶点表示地点,例如取餐点/送餐点、接人/送人地点等;用边表示配送员/外卖骑手/网约车的行驶路线,用边长(权重)表示这段路线的距离(成本)。为了评估、衡量物流/外卖配送、网约车等每个任务的成本,需要计算每个任务的配送路径长度,可以有效分析每个订单任务的成本,进一步优化路径指引方式,提升配送人员收益。例如,在外卖配送的场景中,以取餐点和送餐点为顶点,以骑手行驶路径为边的图结构,计算一个时间段内(例如一天或一个中午)平均每个订单任务的路径里程。
5.需要注意的是,在物流/外卖配送等应用场景的图结构中,计算一个任务的配送路径长度并不是直接将经过的多个分段路径求和,因为外卖骑手在每一段路径都可能同时承担多个任务,例如某一段路径会带着n份外卖,或者送餐路上可能会去取新的订单。因此,对于上述场景中出现多任务重叠的图,需要制定合理的计算、评估方法,依据此段路径承担的所有任务数对该段路径的成本进行均摊。例如,当一个骑手在从a点到b点行驶的路上,同时有两个任务task1和task2都需要途径这段路径,那么任务task1和task2就需要分摊从a到b的路径里程成本。因此,当一个图出现多个任务路径重叠时,需要新的多任务的路径平均长度和成本评估方法。
6.在支持隐私保护的大数据分析场景下,需要采用同态加密等密码技术,实现物流/外卖配送等场景下多任务配送成本的密态计算和数据分析,达到数据的“可用而不可见”。如果直接把物流/外卖配送等图结构和路径长度等数据,交由云计算提供商、大数据分析方进行计算,则会带来商业数据和个人隐私信息泄露问题。通常,云计算提供商被认为是半诚实的,将图的明文数据交由云计算处理会面临隐私数据泄露的风险;物流/外卖配送等任务成本数据的需求方往往是第三方机构,将任务总数、单个任务的里程数等原始数据发送给需求方,也会带来隐私数据泄露的风险。


技术实现要素:

7.为了解决上述背景技术中存在的技术问题,本发明提供一种基于图路径密态计算的多任务成本评估方法及系统,不向云处理中心泄露任务执行端的原始数据和信息,并且不向评价端提供除任务成本之外的其他信息,实现了对原始数据的隐私保护。
8.为了实现上述目的,本发明采用如下技术方案:
9.本发明的第一个方面提供一种基于图路径密态计算的多任务成本评估方法,应用于云处理中心,包括:
10.获取密钥管理端的加密公钥、任务执行端的任务和路径边长密文;
11.根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文;
12.对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程,并发送给评价端,以使评价端对密文下的平均里程解密后,进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程。
13.进一步地,所述路径边长密文由任务执行端在完成一段路径后,将路径里程使用paillier算法进行加密得到。
14.进一步地,所述密态下每条边上单个任务的平均里程为:
[0015][0016]
其中,i=0,1,

,m-2,m表示顶点数,cipher_avg_e[i]表示第i条边上单个任务的平均里程,cipher_e[i]表示第i条边的路径边长密文,num[i]表示第i条边上承担的任务数量,n为加密公钥中的参数。
[0017]
进一步地,所述单个任务的总长度密文为:
[0018][0019]
其中,cipher_task_len[j]表示第j个任务的总长度密文,task[j][0]表示第j个任务的起始点,task[j][1]表示第j个任务的结束点,cipher_avg_e[i]表示第i条边上单个任务的平均里程,n为加密公钥中的参数。
[0020]
进一步地,所述密文下的平均里程为:
[0021][0022]
其中,cipher_task_len[j]表示第j个任务的总长度密文,n表示统计周期的任务总数,n为加密公钥中的参数。
[0023]
本发明的第二个方面提供一种基于图路径密态计算的多任务成本评估方法,应用于评价端,包括:
[0024]
获取密钥管理端的解密私钥和云处理中心的密文下的平均里程;
[0025]
基于解密私钥,对密文下的平均里程解密;
[0026]
对解密后的平均里程进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程;
[0027]
其中,密文下的平均里程由云处理中心计算得到,具体为:根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文;对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程。
[0028]
本发明的第三个方面提供一种基于图路径密态计算的多任务成本评估方法,包括:
[0029]
密钥管理端发送加密公钥至云处理中心,解密私钥至评价端;
[0030]
任务执行端发送任务和路径边长密文至云处理中心;
[0031]
云处理中心根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文,对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程,并发送给评价端;
[0032]
评价端基于解密私钥,对密文下的平均里程解密,对解密后的平均里程进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程。
[0033]
本发明的第四个方面提供一种基于图路径密态计算的多任务成本评估系统,包括:
[0034]
密钥管理端,用于发送加密公钥至云处理中心,解密私钥至评价端;
[0035]
任务执行端,用于发送任务和路径边长密文至云处理中心;
[0036]
云处理中心,用于根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文,对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程,并发送给评价端;
[0037]
评价端,用于基于解密私钥,对密文下的平均里程解密,对解密后的平均里程进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程。
[0038]
本发明的第五个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面或第二方面所述的一种基于图路径密态计算的多任务成本评估方法中的步骤。
[0039]
本发明的第六个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面或第二方面所述的一种基于图路径密态计算的多任务成本评估方法中的步骤。
[0040]
与现有技术相比,本发明的有益效果是:
[0041]
本发明提供了一种基于图路径密态计算的多任务成本评估方法,其计算过程中不向云处理中心泄露任务执行端的原始数据和信息,并且不向评价端提供除任务成本之外的其他信息,实现了对原始数据的隐私保护。
[0042]
本发明提供了一种基于图路径密态计算的多任务成本评估方法,其对于多任务路径重叠的有向加权图,将paillier同态算法加密的每段路径长度,在密文状态下分摊给此段路经上承担的各个任务,实现了隐私保护的每段路径长度的多任务均摊。
[0043]
本发明提供了一种基于图路径密态计算的多任务成本评估方法,其将paillier加密的分段路径长度进行密文状态下的累加求和,然后在密文状态下对多个任务的路径长度求取均值,实现了隐私保护下基于任务的平均路径长度计算。
[0044]
本发明提供了一种基于图路径密态计算的多任务成本评估方法,其在物流/外卖配送等应用场景下的多任务成本评估方法中,引入同态加密等密态数据隐私计算技术,由云计算提供商、评估中心在密文状态下计算任务成本,同时保护物流/外卖配送等实际应用的隐私数据。
附图说明
[0045]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0046]
图1是本发明实施例一的数据结构图;
[0047]
图2是本发明实施例一的一种基于图路径密态计算的多任务成本评估方法的整体架构图;
[0048]
图3是本发明实施例一的密态数据流向第一部分示意图;
[0049]
图4是本发明实施例一的密态数据流向第二部分示意图。
具体实施方式
[0050]
下面结合附图与实施例对本发明作进一步说明。
[0051]
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0052]
实施例一
[0053]
本实施例提供了一种基于图路径密态计算的多任务成本评估方法,包括如下步骤:
[0054]
步骤1、设计每一段时间周期内任务成本路径长度的统计模型。
[0055]
如图2所示,任务成本路径长度的统计模型包括五个实体:任务分配者(任务分配端):将图上的任务分配给任务执行端;任务执行者(任务执行端):根据分配到的任务,从图上选择路径执行点到点的任务;密钥管理机构(密钥管理端):为密态隐私计算提供加密方案的密钥;云处理中心:半诚实的第三方计算提供商,能按照客户的要求进行密态计算;评价机构(评价端):为独立的统计机构,需要获取任务执行端的单个任务的成本路径长度。
[0056]
以多任务外卖配送路径成本评估为例,实体包括:外卖平台(p)、骑手(d)、云处理中心(cc)、评价端(ev)、密钥管理端(km)。其中云处理中心属于半诚实的第三方计算提供商,即能按照客户的要求进行计算。评价端为独立的统计机构,需要分析每一个骑手的平均每单任务的成本。同时,外卖运行方希望对独立统计机构隐藏总成本、统计周期内任务总数等信息。密钥管理端根据预设的安全参数,生成同态加密算法的加密公钥和解密私钥,并基于预设规则进行密钥的分发。
[0057]
每个任务成本路径长度的统计模型为:一个时间周期内,任务执行端经历的n个任务和m个顶点组成了一个有向图g=(v,e)。数组v[m]表示顶点。数组e[m-1]表示所有边,其中e[i]=x表示起点为v[i]、终点为v[i+1]的边,长度为x。用二维数组t[n][2]存储每个任务的起始点,其中task[j][0]表示任务j的起始点(如:task[j][0]=0表示以v[0]为起始点),task[j][1]表示任务j的结束点。
[0058]
以多任务外卖配送路径成本评估为例,时间周期内任务成本路径长度的统计模型。如图1所示,骑手在一个统计区间内(例如中午11点~下午14点)所配送的n个外卖订单任务,经历了m个地点组成一个有向图g=(v,e)。用数组v[m]表示所有位置序号;用数组e[m-1]表示有向图的边长;用二维数组t[n][2]存储每个任务的起始点和终点,其中task[j][0]表示任务j的取餐点(如:task[j][0]=0表示以v[0]为取餐点),task[j][1]表示任务j的送餐点。举例如下:编号为3的任务,骑手从v[0]=0点出发点,经过边e[0],到达下一个点v[1]取餐。对于路径e[0],其中e[0]=1500表示出发点到取餐点举例为1500米;到v[5]送下货物完成任务,则t[3][0]=0,t[3][1]=5,所经过的边为e[t[3][0]]至e[(t[3][1]-1)]。
[0059]
步骤2、密钥管理端生成、分发密钥,具体如下:
[0060]
密钥管理端km根据一个给定的安全参数,生成paillier同态加密算法的公私钥对。随机生成两个大素数p、q,令n=pq,λ=lcm(p-1,q-1)。选择g的阶为n的倍数。可信的授权中心通过一个安全信道,将加密公钥pk
ahe
=(n,g)发给任务执行端(骑手d)和云处理中心cc,将解密私钥sk
ahe
=(p,q,λ)发给评价端ev。
[0061]
步骤3、任务执行端接到任务,将起止顶点发送给云处理中心。
[0062]
骑手d每接收一项任务,将task[j]发送至云处理中心。
[0063]
步骤4、任务执行端完成一段路径,将加密后的此段路径边长度发送给云处理中心。
[0064]
具体的,任务执行端(骑手d)每完成一段路径e[i],都将本路径里程e[i],使用paillier算法进行加密,得到对应的路径长度的密文cipher_e[i]=g
e[i]rn
mod n2,其中r为随机数,并将加密后的数据传送至然后云处理中心cc。
[0065]
步骤5、对于一个统计周期内的有向图上的每条边,云处理中心根据边长密文数据和此边的累计任务数,执行密态隐私计算,将此边的长度均分给在此边上承担的每个任务。
[0066]
当一个统计周期结束,云处理中心cc遍历任务数组task[n],通过数组num[n]统计每一条边上承担的任务数量,并利用paillier同态加密算法的密文计算同态性质,计算密文下每条边上单个任务的平均里程cipher_avg_e[i]。
[0067]
具体的,密态隐私计算的输入为任务数组task[n],任务数n;输出为每一条边上承担的任务数量num[n],密态下每条边上单个任务的平均里程cipher_avg_e[n],如图3所示,具体步骤为:
[0068]
(1)初始化数组:对于i,令num[i]=0,其中,i=0,1,

,m-2,m表示顶点数;
[0069]
(2)遍历每个任务,遍历任务的每一条边,前往任务点的边也计入该任务;
[0070]
具体的,对于任务j的每一条边i,num[i]++;其中,j=0,1,

,n-1,i=task[j][0]-1,

,task[j][1]-1;
[0071]
(3)密态下每条边上单个任务的平均里程:
[0072][0073]
其中,i=0,1,

,m-2,m表示顶点数,cipher_avg_e[i]表示第i条边上单个任务的平均里程,cipher_e[i]表示第i条边的路径边长密文,num[i]表示第i条边上承担的任务数量,n为加密公钥中的参数。
[0074]
步骤6、基于密态下每条边上单个任务的平均里程,云处理中心遍历每一个任务的
每条边,对每一条边的边长进行密态隐私计算,得到每个任务涉及的边的总长度。
[0075]
具体为:如图4所示,云处理中心cc利用paillier同态加密算法的密文状态计算明文加和的同态性质,计算单个任务j的总长度的密文:
[0076][0077]
其中,cipher_task_len[j]表示第j个任务的总长度密文,task[j][0]表示第j个任务的起始点,task[j][1]表示第j个任务的结束点,cipher_avg_e[i]表示第i条边上单个任务的平均里程,n为加密公钥中的参数。
[0078]
步骤7、云处理中心遍历每个任务,对任务的总边长进行密态下的累加和求均值计算,并将结果发送给评价端。
[0079]
具体为:如图4所示,云处理中心利用paillier同态加密算法的密文状态计算明文均值的同态性质,由任务序号数量统计得到的本统计周期的任务总数n,计算全部任务的密文下的平均里程:
[0080][0081]
其中,cipher_task_len[j]表示第j个任务的总长度密文,n表示统计周期的任务总数,n为加密公钥中的参数。
[0082]
步骤8、评价端接收到密文后,进行解密,执行进行扩展欧几里得约减算法,得到明文的每个任务的路径长度。
[0083]
具体为:评价端收到密文cipher_task_avg_len后执行解密操作,计算task_avg_len=l(cipher_task_avg_len
λ
mod n2)μmod n,这里函数l的定义为μ=(l(g
λ
mod n2))-1
mod n,对解密后的均值进行扩展欧几里得约减,将均值转化为正确的浮点数,即得到一个统计周期内,任务执行端的单个任务的平均成本路径里程,即每个任务的路径里程的平均长度。
[0084]
本发明可以在多任务重叠的有向加权图上,采用密态隐私计算的方法计算出每个任务的成本,即每个任务经过多任务分摊之后的路径长度,以及所有任务的平均成本。
[0085]
本发明对于多任务路径重叠的有向加权图,将paillier同态算法加密的每段路径长度,在密文状态下分摊给此段路经上承担的各个任务,实现了隐私保护的每段路径长度的多任务均摊。
[0086]
本发明将paillier加密的分段路径长度进行密文状态下的累加求和,然后在密文状态下对多个任务的路径长度求取均值,实现了隐私保护下基于任务的平均路径长度计算。
[0087]
本发明计算过程中不向云处理中心泄露任务执行端的原始数据和信息,并且不向评价端提供除任务成本之外的其他信息,实现了对原始数据的隐私保护。
[0088]
实施例二
[0089]
本实施例提供了一种基于图路径密态计算的多任务成本评估方法,应用于云处理中心,包括:
[0090]
获取密钥管理端的加密公钥、任务执行端的任务和路径边长密文;
[0091]
根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文;
[0092]
对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程,并发送给评价端,以使评价端对密文下的平均里程解密后,进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程。
[0093]
路径边长密文由任务执行端在完成一段路径后,将路径里程使用paillier算法进行加密得到。
[0094]
密态下每条边上单个任务的平均里程为:
[0095][0096]
其中,i=0,1,

,m-2,m表示顶点数,cipher_avg_e[i]表示第i条边上单个任务的平均里程,cipher_e[i]表示第i条边的路径边长密文,num[i]表示第i条边上承担的任务数量,n为加密公钥中的参数。
[0097]
单个任务的总长度密文为:
[0098][0099]
其中,cipher_task_len[j]表示第j个任务的总长度密文,task[j][0]表示第j个任务的起始点,task[j][1]表示第j个任务的结束点,cipher_avg_e[i]表示第i条边上单个任务的平均里程,n为加密公钥中的参数。
[0100]
密文下的平均里程为:
[0101][0102]
其中,cipher_task_len[j]表示第j个任务的总长度密文,n表示统计周期的任务总数,n为加密公钥中的参数。
[0103]
详细方法与实施例一提供的方法相同,这里不再赘述。
[0104]
实施例三
[0105]
本实施例提供了一种基于图路径密态计算的多任务成本评估方法,应用于评价端,包括:
[0106]
获取密钥管理端的解密私钥和云处理中心的密文下的平均里程;
[0107]
基于解密私钥,对密文下的平均里程解密;
[0108]
对解密后的平均里程进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程;
[0109]
其中,密文下的平均里程由云处理中心计算得到,具体为:根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文;对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程。
[0110]
详细方法与实施例一提供的方法相同,这里不再赘述。
[0111]
实施例四
[0112]
本实施例提供了一种基于图路径密态计算的多任务成本评估系统,包括:
[0113]
密钥管理端,用于发送加密公钥至云处理中心,解密私钥至评价端;
[0114]
任务执行端,用于发送任务和路径边长密文至云处理中心;
[0115]
云处理中心,用于根据加密公钥、路径边长密文和累计任务数,执行密态隐私计算,得到密态下每条边上单个任务的平均里程后,计算得到单个任务的总长度密文,对所有任务的总长度密文进行密态下的累加和求均值计算,得到密文下的平均里程,并发送给评价端;
[0116]
评价端,用于基于解密私钥,对密文下的平均里程解密,对解密后的平均里程进行扩展欧几里得约减算法,得到单个任务的平均成本路径里程。
[0117]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0118]
实施例五
[0119]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种基于图路径密态计算的多任务成本评估方法中的步骤。
[0120]
实施例六
[0121]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种基于图路径密态计算的多任务成本评估方法中的步骤。
[0122]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0123]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0124]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0125]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0126]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0127]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1