CN113343285B - 一种执行密文计算指令的方法、装置和密文计算系统 - Google Patents
一种执行密文计算指令的方法、装置和密文计算系统 Download PDFInfo
- Publication number
- CN113343285B CN113343285B CN202110888543.1A CN202110888543A CN113343285B CN 113343285 B CN113343285 B CN 113343285B CN 202110888543 A CN202110888543 A CN 202110888543A CN 113343285 B CN113343285 B CN 113343285B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- instruction
- task
- computing
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明实施例提供一种执行密文计算指令的方法、装置和密文计算系统。其中的方法包括:从请求消息队列中读取客户端发送的计算请求,计算请求中携带有密文计算指令、密文计算指令的输入数据在共享内存中的地址信息、以及密文计算指令所属密文计算任务的任务标识;其中,密文计算指令符合密文计算芯片提供的应用编程接口规范;调度密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。本发明实施例可以提高隐私计算的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种执行密文计算指令的方法、装置和密文计算系统。
背景技术
在基于密码协议的隐私计算中,通常需要进行大整数模幂、模乘等基本运算。在大量的隐私计算中,计算过程是基于密文进行的(以保护用户隐私),明文中的加法、乘法操作,在密文中对应的是半同态、同态操作。
同态操作包括大整数模加、模乘、模幂、随机数生成及这些操作的衍生操作。这些操作的计算代价较高,直接通过软件进行计算,计算效率难以满足隐私计算在大数据量运算场景中的需求。
发明内容
本发明实施例提供一种执行密文计算指令的方法、装置和密文计算系统,可以提高隐私计算的效率。
为了解决上述问题,本发明实施例公开了一种执行密文计算指令的方法,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:
从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
另一方面,本发明实施例公开了一种执行密文计算指令的装置,应用于服务端,所述服务端配置有密文计算芯片,所述装置包括:
消息读取模块,用于从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
调度执行模块,用于调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
通知发送模块,用于向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
再一方面,本发明实施例公开了一种密文计算系统,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;
所述客户端,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
所述服务端,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;
所述客户端,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的执行密文计算指令的方法。
本发明实施例包括以下优点:
在本发明实施例中,在客户端的密文计算应用产生密文计算指令时,可以向服务端发送计算请求,以请求服务端利用其密文计算芯片的计算资源执行该密文计算指令。相较于完全使用软件执行密文计算指令,本发明实施例将计算量较大的密文计算指令由硬件芯片来执行,利用芯片的高效计算能力,提高密文计算指令的执行效率。此外,客户端发送的密文计算指令需符合密文计算芯片提供的应用编程接口规范,客户端与服务端之间通过进程间通信的消息队列传输指令,以及通过共享内存传输数据,为客户端的密文计算应用使用服务端的密文计算芯片的计算资源提供了可行性,并且使得密文计算芯片可以对接不同的客户端。由此,通过本发明实施例可以极大提高密文计算任务的执行效率,以满足大数据量运算场景的需求,并且不受客户端应用的限制,适用范围广泛。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种执行密文计算指令的方法实施例的步骤流程图;
图2是一种在密文计算任务A和密文计算任务B的任务上下文之间切换的示意图;
图3是本发明的一种密文计算系统实施例的结构框图;
图4是本发明的一种执行密文计算指令的装置实施例的结构框图;
图5是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明的一种执行密文计算指令的方法实施例的步骤流程图,所述方法可应用于服务端,所述服务端配置有密文计算芯片,所述方法具体可以包括如下步骤:
步骤101、从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
步骤102、调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
步骤103、向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
本发明实施例提供的执行密文计算指令的方法可应用于服务端,所述服务端可以为密文计算系统中的计算节点,所述服务端配置有密文计算芯片,所述密文计算芯片可用于提供密文计算服务。
所述密文计算系统是一种保护数据隐私安全的计算系统。本发明实施例对所述密文计算系统采用的安全计算协议不做限制,例如,所述密文计算系统可以基于MPC(SecureMuti-Party Computation,多方安全计算)协议,在基于MPC协议的密文计算系统中,多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协同计算得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。当然,所述密文计算系统还可以基于秘密分享、半同态、不经意传输等技术实现的安全计算协议。
所述密文计算芯片包括但不限于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)芯片或ASIC(Application Specific Integrated Circuit,专用集成电路)芯片。
所述密文计算芯片可以包括至少一个运算核,每个运算核可以独立执行密文计算操作,每个芯片中所包含的运算核的数量根据芯片大小不同而不同。如Xilinx U250 FPGA,可以容纳上百个运算核;而定制的ASIC芯片,可以达到上千个运算核。
在本发明的一种可选实施例中,所述计算指令可以包括但不限于模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。
在以密码学为基础的密文计算应用中,需要在服务端进行大量的模运算,如模乘运算、模幂运算等,这些模运算是密文计算中的基础运算。模运算的计算量较大,通常需要耗费大量时间。本发明实施例在服务端配置有密文计算芯片,可以通过服务端的密文计算芯片执行这些模运算的密文计算指令,将密文计算任务中时间消耗较大的模运算由高效的芯片执行,以提高密文计算指令的执行效率,进而提高整个密文计算任务的执行效率。
所述密文计算系统可以包括客户端和服务端,所述客户端可以运行密文计算应用,所述密文计算应用可以生成密文计算任务,一个密文计算任务可以包括至少一条密文计算指令。客户端可以向服务端发送密文计算任务下的密文计算指令,服务端可以对接收到的密文计算指令进行调度管理,并通过调用自身密文计算芯片的计算资源执行相应的密文计算指令。
在本发明实施例中,客户端和服务端可以通过IPC(InterProcessCommuincation,进程间通信)的消息队列传输指令,以及通过共享内存传输数据。其中,通过消息队列传输的指令可以包括密文计算任务下的密文计算指令。通过共享内存传输的数据可以包括密文计算指令的输入数据,以及执行密文计算指令得到的计算结果。所述输入数据可以是密文计算指令的参数,如操作数等。所述计算结果是密文计算指令的输出数据。
共享内存是IPC通信的一种方式,是由计算机操作系统创建的一种用于多个进程间可以共同使用的内存空间。在本发明实施例中,客户端可以通过共享内存向服务端传递密文计算指令的输入数据。服务端可以通过共享内存向客户端传递密文计算指令的计算结果。进一步地,密文计算指令可以包括指令头和输入数据,指令头可以通过消息队列传递,输入数据可以通过共享内存传递。
一个示例中,客户端请求使用服务端的密文计算芯片的计算资源执行密文计算指令的过程可以如下:
客户端将待执行的密文计算指令的输入数据存入共享内存,并在线程池中启动等待结果线程,同时向服务端发送计算请求。该计算请求中携带有该密文计算指令、该密文计算指令的输入数据在共享内存中的地址信息、以及该密文计算指令所属密文计算任务的任务标识。所述等待结果线程用于监测服务端发送的计算结果通知,在接收到计算结果通知后,等待结果线程从共享内存中读取该密文计算指令的计算结果。
服务端从请求消息队列中读取客户端发送的计算请求,并根据该计算请求中携带的密文计算指令调度密文计算芯片中的可用计算资源。具体地,服务端可以启动硬件交互线程,硬件交互线程根据计算请求中携带的输入数据在共享内存中的地址信息,从共享内存中获取输入数据,并将所述输入数据发送至密文计算芯片中的可用计算资源,通过调用所述可用计算资源利用所述输入数据执行密文计算指令。在密文计算指令执行完成之后,硬件交互线程将计算结果存入共享内存,并向客户端发送计算结果通知。
客户端的等待结果线程监测到服务端发送的计算结果通知后,从共享内存中读取该密文计算指令的计算结果,并将计算结果返回给上层应用。
需要说明的是,本发明实施例对所述计算请求中包含的内容不做限制。例如,所述计算请求中可以包含密文计算任务的任务标识、密文计算指令的指令标识、密文计算指令的输入数据,还可以包括输入数据的长度以及输出数据的长度等。一个密文计算任务可以包括多条密文计算指令,也即,一个任务标识可以与多个指令标识相关联。
在本发明实施例中,服务端可以通过启动不同功能的线程来协作处理客户端发送的计算请求。一个示例中,所述服务端可以包括消息队列处理线程、调度线程、以及若干个硬件交互线程。其中,消息队列处理线程用于从请求消息队列中读取客户端发送的计算请求,并将计算请求发送给调度线程。调度线程根据计算请求中的密文计算指令调度密文计算芯片的计算资源执行密文计算指令。服务端可以启动若干个硬件交互线程,每个硬件交互线程用于与密文计算芯片的一组计算资源进行交互,如将密文计算指令的输入数据写入一组计算资源,以及从该组计算资源读取密文计算指令的计算结果等。
在具体实施中,可以在服务端设置所述密文计算芯片的驱动程序,以使所述密文计算芯片可以对接不同的客户端。所述驱动程序作为服务端对外的接口,可以为密文计算芯片提供API(Application Programming Interface,应用编程接口)以及密文计算应用的并行运行的调度功能,使客户端能够有效的利用密文计算芯片的计算能力。客户端可以使用驱动程序的API请求服务端管理密文计算任务以及执行密文计算指令,并通过API同步或者异步方式获取计算结果。
所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范,例如,所述密文计算指令可以由指令头和输入数据两部分组成,且所述密文计算指令的格式符合所述应用编程接口规范规定的格式。服务端通过驱动程序将密文计算指令提交给密文计算芯片,由密文计算芯片进行计算并返回计算结果。
在本发明的一种可选实施例中,所述从请求消息队列中读取客户端发送的计算请求之后,所述方法还可以包括:
步骤S11、从所述共享内存中获取所述任务标识对应的上下文初始化指令;
步骤S12、若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;
步骤S13、若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
在本发明实施例中,客户端在创建某个密文计算任务时,首先初始化该密文计算任务的任务上下文。由于密文计算指令是由客户端依次或者异步产生并执行的,因此需要使用任务上下文标明哪些密文计算指令属于同一个密文计算任务。任务上下文可以包含密文计算任务的任务标识以及上下文初始化指令。上下文初始化指令用于设置密文计算芯片的硬件操作环境。每个密文计算任务对应一个上下文初始化指令。
一个示例中,假设某个密文计算任务(任务标识记为任务1)包含5条密文计算指令。客户端初始化任务1的任务上下文如下:(任务1-上下文初始化指令),(任务1-指令1)、(任务1-指令2)、(任务1-指令3)、(任务1-指令4)、(任务1-指令5)。
客户端首先向服务端发送执行上下文初始化指令的请求,并将所述上下文初始化指令存入共享内存中。服务端通过执行该上下文初始化指令,设置密文计算芯片的硬件操作环境。
服务端在接收到指令1的计算请求之后,从共享内存中获取指令1所属的密文计算任务的任务标识(任务1)对应的上下文初始化指令,通过执行该上下文初始化指令,设置密文计算芯片的硬件操作环境为任务1的执行环境。如果该任务标识(任务1)对应的密文计算任务还未创建,则根据该上下文初始化指令创建该任务标识对应的密文计算任务,并驱动该密文计算任务进入初始状态。如果该任务标识对应的密文计算任务已创建,则将该计算指令与该任务标识对应的密文计算任务进行关联,并驱动该密文计算任务的状态转换。接下来,假设服务端接收到任务1的指令2,则从共享内存中获取指令2所属的密文计算任务的任务标识(任务1)对应的上下文初始化指令,通过执行该上下文初始化指令,设置密文计算芯片的硬件操作环境为任务1的执行环境。后面的执行过程同指令1,此处不再进行赘述。
服务端对创建的每个密文计算任务的任务状态进行管理,并驱动密文计算任务的状态转换。
在本发明的一种可选实施例中,所述驱动所述密文计算任务的状态转换,可以包括:
步骤S21、在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;
步骤S22、在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;
步骤S23、在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。
初始状态(INIT),指通过上下文初始化指令设置了任务上下文后,当前密文计算任务进入初始状态,表示可以接收后续的密文计算指令。
活动状态(ACTIVE),表示当前密文计算任务下存在至少一个密文计算指令正在执行中。
等待状态(IDLE),表示当前密文计算任务占用了密文计算芯片的至少一个通道,并等待后续密文计算指令到达。
僵死状态(ZOMMBIE),表示当前密文计算任务等待有效的密文计算指令的时间超时。
在密文计算任务结束时,密文计算任务进入终止状态(Final state)。
其中,有效的密文计算指令,指格式正确、可以被密文计算芯片执行的指令,服务端在确定客户端发送的密文计算指令有效后才调度密文计算芯片执行该密文计算指令。
参照表1,示出了一种密文计算任务的状态转换表。
表1
开始状态 | 结束状态 | 触发条件 |
INIT | ACTIVE | 有效的密文计算指令运行 |
INIT | IDLE | 等待有效的密文计算指令超时 |
ACTIVE | IDLE | 结束密文计算指令运行 |
IDLE | ACTIVE | 有效的密文计算指令运行 |
IDLE | ZOMMBIE | 等待有效的密文计算指令超时 |
INIT | Final state | 用户杀死密文计算任务 |
ACTIVE | Final state | 用户杀死密文计算任务 |
IDLE | Final state | 用户杀死密文计算任务 |
ZOMMBIE | Final state | 驱动程序调度线程杀死密文计算任务 |
进一步地,密文计算任务的任务上下文中还可以包括密文计算任务的任务状态信息,和/或,任务异常信息。
客户端请求服务端的密文计算芯片执行密文计算任务下的密文计算指令时,可以配置初始的任务上下文;客户端在调度密文计算芯片执行密文计算任务的过程中,可以根据任务状态、任务出现的异常,更新密文计算任务的任务上下文。客户端通过获取密文计算任务的任务上下文可以得知当前密文计算任务的状态信息以及异常信息等。
可以理解,本发明实施例对所述密文计算任务的任务上下文包含的内容不做限制。例如,所述任务上下文可以包括密文计算任务的任务标识、上下文初始化指令、所述密文计算任务包含的各密文计算指令的指令标识、各密文计算指令的参数数据、各密文计算指令的操作符、密文计算任务的任务状态信息、任务异常信息等。
需要说明的是,所述服务端可以接收某个客户端发送的多条密文计算指令,且所述多条密文计算指令可以属于同一个密文计算任务或者属于不同的密文计算任务。当然,所述服务端也可以接收多个客户端的多条密文计算指令。
在本发明的一种可选实施例中,所述密文计算芯片可以包括至少一个通道,所述调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,可以包括:
步骤S31、对所述密文计算指令分配目标通道;
步骤S32、根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;
步骤S33、通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。
一个通道指的是密文计算芯片硬件的一个逻辑分区,一个逻辑分区可以包括若干个运算核。一个密文计算任务可以使用密文计算芯片的至少一个通道,密文计算任务使用的通道个数根据密文计算任务的任务尺寸和调度策略所确定。服务端可以通过读线程和写线程与密文计算芯片的通道进行交互。
服务端接收到客户端的计算请求之后,对所述计算请求中的密文计算指令分配目标通道,并将该密文计算指令以及该密文计算指令的输入数据发送给写线程,写线程将该密文计算指令和该输入数据写入目标通道。由目标通道中的可用计算资源利用该输入数据执行该密文计算指令,得到计算结果。服务端通过读线程从目标通道中读取计算结果,存入共享内存中,并向客户端发送计算结果通知。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S41、如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;
步骤S42、在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;
步骤S43、通过所述目标通道执行所述下一条密文计算指令。
在本发明实施例中,服务端可以并行执行多个密文计算任务下的密文计算指令。如果密文计算任务所需的通道数量大于所述密文计算芯片的通道数量,可能存在同一个目标通道执行多个不同密文计算任务下的密文计算指令的情况,则该目标通道需要在多个密文计算任务的任务上下文之间进行切换。
一个示例中,假设服务端需要执行密文计算任务A和密文计算任务B,且服务端将密文计算任务A和密文计算任务B分配给同一个目标通道。假设该目标通道当前正在执行密文计算任务A下的密文计算指令A1,且该目标通道待执行的下一条密文计算指令为密文计算任务B下的密文计算指令B1。下一条密文计算指令(密文计算指令B1)与当前密文计算指令(密文计算指令A1)属于不同的密文计算任务,则在该目标通道的请求消息队列中所述密文计算指令B1之前插入任务上下文切换指令,该任务上下文切换指令用于将该目标通道的任务上下文从密文计算任务A的任务上下文切换至密文计算任务B的任务上下文,以使目标通道可以在密文计算任务B的任务上下文的计算环境下执行下一条密文计算指令(密文计算指令B1)。假设密文计算任务A和密文计算任务B分别包含两个密文计算指令,参照图2,示出了一种在密文计算任务A和密文计算任务B的任务上下文之间切换的示意图。
在本发明的一种可选实施例中,所述对所述密文计算指令分配目标通道,可以包括:若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。
服务端在并行执行多个密文计算任务下的密文计算指令时,本发明实施例可以优先将属于同一个密文计算任务的密文计算指令分配到同一个目标通道,以尽量减少目标通道切换任务上下文的次数,提高密文计算指令的执行效率。
综上,在本发明实施例中,在客户端的密文计算应用产生密文计算指令时,可以向服务端发送计算请求,以请求服务端利用其密文计算芯片的计算资源执行该密文计算指令。相较于完全使用软件执行密文计算指令,本发明实施例将计算量较大的密文计算指令由硬件芯片来执行,利用芯片的高效计算能力,提高密文计算指令的执行效率。此外,客户端发送的密文计算指令需符合密文计算芯片提供的应用编程接口规范,客户端与服务端之间通过进程间通信的消息队列传输指令,以及通过共享内存传输数据,为客户端的密文计算应用使用服务端的密文计算芯片的计算资源提供了可行性,并且使得密文计算芯片可以对接不同的客户端。由此,通过本发明实施例可以极大提高密文计算任务的执行效率,以满足大数据量运算场景的需求,并且不受客户端应用的限制,适用范围广泛。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种密文计算系统实施例的结构框图,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;
所述客户端301,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
所述服务端302,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;
所述客户端301,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果。
在本发明实施例中,客户端和服务端可以通过IPC的消息队列传输指令,以及通过共享内存传输数据。其中,通过消息队列传输的指令可以包括密文计算任务下的密文计算指令。通过共享内存传输的数据可以包括密文计算指令的输入数据,以及执行密文计算指令得到的计算结果。
可选地,所述客户端,还用于初始化所述密文计算任务的任务上下文,所述任务上下文包括所述密文计算任务的任务标识、上下文初始化指令、以及所述密文计算任务包含的各密文计算指令的指令标识,并将所述上下文初始化指令存入所述共享内存;
所述服务端,还用于从所述共享内存中获取所述任务标识对应的上下文初始化指令;若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
可选地,所述服务端,还用于根据所述密文计算任务的任务状态信息和/或任务异常信息,更新所述密文计算任务的任务上下文;
所述客户端,还用于获取服务端更新后的所述密文计算任务的任务上下文。
可选地,所述驱动所述密文计算任务的状态转换,包括:
在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;
在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;
在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。
可选地,所述密文计算芯片包括至少一个通道,所述服务端具体用于对所述密文计算指令分配目标通道;根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。
可选地,所述服务端还用于若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。
可选地,所述服务端还用于如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;通过所述目标通道执行所述下一条密文计算指令。
可选地,所述计算指令可以包括但不限于模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。
在本发明实施例中,在客户端的密文计算应用产生密文计算指令时,可以向服务端发送计算请求,以请求服务端利用其密文计算芯片的计算资源执行该密文计算指令。相较于完全使用软件执行密文计算指令,本发明实施例将计算量较大的密文计算指令由硬件芯片来执行,利用芯片的高效计算能力,提高密文计算指令的执行效率。此外,客户端发送的密文计算指令需符合密文计算芯片提供的应用编程接口规范,客户端与服务端之间通过进程间通信的消息队列传输指令,以及通过共享内存传输数据,为客户端的密文计算应用使用服务端的密文计算芯片的计算资源提供了可行性,并且使得密文计算芯片可以对接不同的客户端。由此,通过本发明实施例可以极大提高密文计算任务的执行效率,以满足大数据量运算场景的需求,并且不受客户端应用的限制,适用范围广泛。
参照图4,示出了本发明的一种执行密文计算指令的装置实施例的结构框图,所述装置可应用于服务端,所述服务端配置有密文计算芯片,所述装置具体可以包括:
消息读取模块401,用于从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
调度执行模块402,用于调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
通知发送模块403,用于向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
可选地,所述装置还包括:
初始化指令获取模块,用于从所述共享内存中获取所述任务标识对应的上下文初始化指令;
创建转换模块,用于若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;
关联转换模块,用于若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
可选地,所述关联转换模块,包括:
第一转换子模块,用于在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;
第二转换子模块,用于在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;
第三转换子模块,用于在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。
可选地,所述密文计算芯片包括至少一个通道,所述调度执行模块,包括:
通道分配子模块,用于对所述密文计算指令分配目标通道;
数据写入子模块,用于根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;
调度执行子模块,用于通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。
可选地,所述通道分配子模块,具体用于若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。
可选地,所述装置还包括:
指令插入模块,用于如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;
上下文切换模块,用于在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;
指令执行模块,用于通过所述目标通道执行所述下一条密文计算指令。
可选地,所述计算指令包括模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。
在本发明实施例中,在客户端的密文计算应用产生密文计算指令时,可以向服务端发送计算请求,以请求服务端利用其密文计算芯片的计算资源执行该密文计算指令。相较于完全使用软件执行密文计算指令,本发明实施例将计算量较大的密文计算指令由硬件芯片来执行,利用芯片的高效计算能力,提高密文计算指令的执行效率。此外,客户端发送的密文计算指令需符合密文计算芯片提供的应用编程接口规范,客户端与服务端之间通过进程间通信的消息队列传输指令,以及通过共享内存传输数据,为客户端的密文计算应用使用服务端的密文计算芯片的计算资源提供了可行性,并且使得密文计算芯片可以对接不同的客户端。由此,通过本发明实施例可以极大提高密文计算任务的执行效率,以满足大数据量运算场景的需求,并且不受客户端应用的限制,适用范围广泛。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的执行密文计算指令的方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种执行密文计算指令的方法,所述方法包括:从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种执行密文计算指令的方法、一种执行密文计算指令的装置和一种密文计算系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种执行密文计算指令的方法,其特征在于,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:
从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果;
所述从请求消息队列中读取客户端发送的计算请求之后,所述方法还包括:
从所述共享内存中获取所述任务标识对应的上下文初始化指令;
若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;
若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
2.根据权利要求1所述的方法,其特征在于,所述驱动所述密文计算任务的状态转换,包括:
在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;
在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;
在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。
3.根据权利要求1所述的方法,其特征在于,所述密文计算芯片包括至少一个通道,所述调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,包括:
对所述密文计算指令分配目标通道;
根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;
通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。
4.根据权利要求3所述的方法,其特征在于,所述对所述密文计算指令分配目标通道,包括:
若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;
在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;
通过所述目标通道执行所述下一条密文计算指令。
6.根据权利要求1至5任一所述的方法,其特征在于,所述计算指令包括模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。
7.一种密文计算系统,其特征在于,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;
所述客户端,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
所述服务端,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;
所述客户端,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果;
所述客户端,还用于初始化所述密文计算任务的任务上下文,所述任务上下文包括所述密文计算任务的任务标识、上下文初始化指令、以及所述密文计算任务包含的各密文计算指令的指令标识,并将所述上下文初始化指令存入所述共享内存;
所述服务端,还用于从所述共享内存中获取所述任务标识对应的上下文初始化指令;若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
8.根据权利要求7所述的系统,其特征在于,
所述服务端,还用于根据所述密文计算任务的任务状态信息和/或任务异常信息,更新所述密文计算任务的任务上下文;
所述客户端,还用于获取服务端更新后的所述密文计算任务的任务上下文。
9.一种执行密文计算指令的装置,其特征在于,应用于服务端,所述服务端配置有密文计算芯片,所述装置包括:
消息读取模块,用于从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;
调度执行模块,用于调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;
通知发送模块,用于向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果;
所述装置还包括:
初始化指令获取模块,用于从所述共享内存中获取所述任务标识对应的上下文初始化指令;
创建转换模块,用于若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;
关联转换模块,用于若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。
10.根据权利要求9所述的装置,其特征在于,所述关联转换模块,包括:
第一转换子模块,用于在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;
第二转换子模块,用于在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;
第三转换子模块,用于在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。
11.根据权利要求9所述的装置,其特征在于,所述密文计算芯片包括至少一个通道,所述调度执行模块,包括:
通道分配子模块,用于对所述密文计算指令分配目标通道;
数据写入子模块,用于根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;
调度执行子模块,用于通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。
12.根据权利要求11所述的装置,其特征在于,所述通道分配子模块,具体用于若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
指令插入模块,用于如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;
上下文切换模块,用于在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;
指令执行模块,用于通过所述目标通道执行所述下一条密文计算指令。
14.根据权利要求9至13任一所述的装置,其特征在于,所述计算指令包括模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。
15.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至6任一所述的执行密文计算指令的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110888543.1A CN113343285B (zh) | 2021-08-04 | 2021-08-04 | 一种执行密文计算指令的方法、装置和密文计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110888543.1A CN113343285B (zh) | 2021-08-04 | 2021-08-04 | 一种执行密文计算指令的方法、装置和密文计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113343285A CN113343285A (zh) | 2021-09-03 |
CN113343285B true CN113343285B (zh) | 2021-10-29 |
Family
ID=77480600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110888543.1A Active CN113343285B (zh) | 2021-08-04 | 2021-08-04 | 一种执行密文计算指令的方法、装置和密文计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343285B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489752B (zh) * | 2021-09-07 | 2021-11-19 | 华控清交信息科技(北京)有限公司 | 明密文混合计算方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
CN101484927A (zh) * | 2007-07-05 | 2009-07-15 | 日立软件工程株式会社 | 共享加密文件的加密、解密处理方法 |
CN102170434A (zh) * | 2011-04-02 | 2011-08-31 | 京信通信系统(中国)有限公司 | 一种基于多核处理器实现ipsec的方法及其装置 |
CN105825087A (zh) * | 2016-03-16 | 2016-08-03 | 福建联迪商用设备有限公司 | Elf共享库保护方法及其系统 |
CN113032283A (zh) * | 2021-05-20 | 2021-06-25 | 华控清交信息科技(北京)有限公司 | 一种密文运算调试方法、计算引擎和密文运算系统 |
-
2021
- 2021-08-04 CN CN202110888543.1A patent/CN113343285B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
CN101484927A (zh) * | 2007-07-05 | 2009-07-15 | 日立软件工程株式会社 | 共享加密文件的加密、解密处理方法 |
CN102170434A (zh) * | 2011-04-02 | 2011-08-31 | 京信通信系统(中国)有限公司 | 一种基于多核处理器实现ipsec的方法及其装置 |
CN105825087A (zh) * | 2016-03-16 | 2016-08-03 | 福建联迪商用设备有限公司 | Elf共享库保护方法及其系统 |
CN113032283A (zh) * | 2021-05-20 | 2021-06-25 | 华控清交信息科技(北京)有限公司 | 一种密文运算调试方法、计算引擎和密文运算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113343285A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297395B (zh) | 一种互联网业务的实现方法、系统以及装置 | |
CN105979007B (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN107015942B (zh) | 一种多核cpu发包的方法及装置 | |
US8606908B2 (en) | Wake-up server | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN113220432B (zh) | 多云互联方法、装置、设备、存储介质及产品 | |
CN105516086A (zh) | 业务处理方法及装置 | |
CN112888005B (zh) | 一种面向mec的分布式业务调度方法 | |
CN103475899A (zh) | 数据分发方法和装置 | |
CN113515320A (zh) | 一种硬件加速处理方法、装置以及服务器 | |
CN113343285B (zh) | 一种执行密文计算指令的方法、装置和密文计算系统 | |
CN118101343B (zh) | 一种用于医院内网环境的联邦学习系统 | |
CN114296922A (zh) | 多方数据处理方法、系统、电子装置和存储介质 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN112799851B (zh) | 多方安全计算中的数据处理方法和相关装置 | |
US20220383304A1 (en) | Distributed network with consensus mechanism | |
CN109767106A (zh) | 跨组织流程处理方法及装置 | |
CN107342929B (zh) | 一种新消息通知的发送方法、装置及系统 | |
CN112003930A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN115915289A (zh) | 计算任务的策略确定或资源分配方法、装置、网元及介质 | |
CN112925739A (zh) | 应用于众核芯片的通信方法、众核芯片及存储介质 | |
CN112328598A (zh) | Id生成方法、装置、电子设备及存储介质 | |
CN116755905B (zh) | 基于消息队列的数据交互方法、装置、设备及存储介质 | |
Chen et al. | Scheduling of job combination and dispatching strategy for grid and cloud system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |