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

代码审核的方法、装置及系统

文献发布时间:2023-06-19 11:52:33


代码审核的方法、装置及系统

技术领域

本申请涉及数据应用领域,特别是涉及代码审核的方法、装置及系统。

背景技术

现有的数据交易过程中,都是将交易的数据直接提供给数据的需求方。出于安全的考虑,为防止信息在传输过程中泄露,会将一些敏感数据进行加密传输,但最终需求方会得到明文的数据。这意味着,无论数据的供应方与需求方之间的约定是怎样的,最终需求方能够得到完整的明文的数据,即得到了数据的所有权。

由于现有数据交易方式实质上会造成数据的所有权的扩散,明文数据被泄露给需求方,损害了数据供应方的权利,对数据供应方的交易意向造成了不利影响。因此,可以在数据供应方和需求方之间完成数据集的使用权交易,而非数据集的所有权交易。需求方可以基于交易平台使用数据集进行多方安全计算,并获得计算结果,但计算过程中数据集均处于加密状态,数据供应方之外的其他主体并没有得到明文的目标数据集。

由于数据供应方和需求方之间完成的是数据集的使用权交易,因此进一步需要对数据集的使用权进行管控。

发明内容

本申请提供代码审核的方法、装置及系统,能够实现数据使用权的有效控制和合理授权。

为解决上述技术问题,本申请提出一种代码审核方法,应用于数据交易过程中,对数据使用方目标数据集的计算逻辑的源代码进行审核,所述方法包括:接收所述数据使用方的所述源代码;向数据提供方发送所述源代码或者所述源代码的审核结果,所述源代码的审核结果是按照代码审核规则对所述源代码进行审核而得到的;接收来自于所述数据提供方的验证结果,所述验证结果是对所述源代码的审核结果进行验证而得到的;基于所述验证结果确定是否执行所述源代码的计算逻辑。

可选的,所述接收来自于所述数据提供方的验证结果之前进一步包括:接收所述数据使用方的包含所述源代码的计算请求;响应所述计算请求,向所述数据提供方发送授权请求;所述基于所述验证结果确定是否执行所述源代码的计算逻辑的步骤,包括:当所述验证结果包括授权令牌时,执行所述源代码的所述计算逻辑。

可选的,所述接收来自于所述数据提供方的验证结果之后的步骤,包括:向所述数据使用方发送所述验证结果。

可选的,所述接收来自于所述数据提供方的验证结果之前进一步包括:接收所述数据使用方的授权请求;响应所述授权请求,向所述数据提供方发送所述授权请求;所述接收来自于所述数据提供方的验证结果之后进一步包括:向所述数据使用方发送所述验证结果。

可选的,所述验证结果包括授权令牌,所述基于所述验证结果确定是否执行所述源代码的计算逻辑的步骤,包括:接收所述数据使用方的所述授权令牌和包含所述源代码的计算请求;验证所述授权令牌合法的情况下,执行所述源代码的计算逻辑。

可选的,所述计算请求包括所述源代码的第一描述信息,所述授权请求包括所述第一描述信息,所述授权令牌为验证所述审核结果的不可否认信息一致性,及验证所述第一描述信息和所述审核结果的第二描述信息一致而得到的;其中,所述第一描述信息包括:目标数据集信息及计算逻辑;所述第二描述信息包括:审核所述源代码获得的目标数据集信息以及计算逻辑描述信息。

可选的,所述向数据提供方发送所述源代码的审核结果的步骤之前,包括:向代码审核方发送所述源代码;接收来自所述代码审核方的审核结果。

可选的,所述向数据提供方发送所述源代码的审核结果的步骤之前,包括:对所述源代码进行审核并获得审核结果。

可选的,所述接收数据使用方的所述源代码的步骤之前,所述方法包括:接收所述数据提供方的数据发布请求;向所述数据提供方发送代码策略请求,所述代码策略请求用于指示所述数据提供方返回代码审核策略以及代码审核规则。

可选的,所述接收数据使用方的所述源代码之后的步骤,包括:向代码管理方发送所述源代码;所述基于所述验证结果确定是否执行所述源代码的计算逻辑之前进一步包括:从所述代码管理方中获取所述源代码。

可选的,所述方法进一步包括:对所述代码审核方法的至少部分操作进行日志存证。

为解决上述技术问题,本申请提出一种代码审核方法,应用于数据交易过程中,对数据使用方目标数据集的计算逻辑的源代码进行审核,所述方法包括:接收数据交易平台发送的源代码或所述源代码的审核结果,其中,所述源代码的审核结果是按照代码审核规则对所述源代码进行审核而得到的;利用所述源代码得到所述源代码的审核结果,对所述源代码的审核结果进行验证而得到验证结果,或者,直接对所述源代码的审核结果进行验证而得到验证结果;向所述数据交易平台发送所述验证结果,以作为所述数据交易平台是否执行所述源代码的计算逻辑的依据。

可选的,所述向所述数据交易平台发送所述验证结果之前进一步包括:接收所述数据交易平台发送的授权请求,所述授权请求包括所述源代码的第一描述信息,所述第一描述信息来自于数据使用方;所述对所述源代码的审核结果进行验证而得到验证结果包括:验证所述第一描述信息和所述审核结果中的第二描述信息是否一致,若一致则生成授权令牌作为所述验证结果;其中,所述第一描述信息包括:目标数据集信息及计算逻辑;所述第二描述信息包括:审核所述源代码获得的目标数据集信息以及计算逻辑描述信息。

可选的,所述利用所述源代码得到所述源代码的审核结果包括:向代码审核方发送所述源代码;接收来自于所述代码审核方的所述审核结果。

可选的,所述利用所述源代码得到所述源代码的审核结果包括:对所述源代码进行审核而得到所述审核结果。

可选的,所述方法进一步包括:对所述代码审核方法的至少部分操作进行日志存证。

为解决上述技术问题,本申请提出一种代码审核方法,应用于数据交易过程中,对数据使用方目标数据集的计算逻辑的源代码进行审核,所述方法包括:数据使用方向数据交易平台发送所述源代码;按照代码审核规则对所述源代码进行审核而得到所述源代码的审核结果;所述数据提供方对所述源代码的审核结果进行验证而得到验证结果;所述数据提供方向所述数据交易平台发送所述验证结果;所述数据交易平台基于所述验证结果确定是否执行所述源代码的计算逻辑。

可选的,所述数据提供方对所述源代码的审核结果进行验证而得到验证结果之前进一步包括:所述数据使用方向所述数据交易平台发送包含所述源代码的计算请求;响应所述计算请求,所述数据交易平台向所述数据提供方发送授权请求;所述数据交易平台基于所述验证结果确定是否执行所述源代码的计算逻辑的步骤,包括:当所述验证结果包括授权令牌时,所述数据交易平台执行所述源代码的所述计算逻辑。

可选的,所述数据提供方向所述数据交易平台发送所述验证结果之后的步骤,包括:所述数据交易平台向所述数据使用方发送所述验证结果。

可选的,所述数据提供方对所述源代码的审核结果进行验证而得到验证结果之前进一步包括:所述数据使用方向所述数据交易平台发送授权请求;响应所述授权请求,所述数据交易平台向所述数据提供方发送所述授权请求;所述数据提供方向所述数据交易平台发送所述验证结果之后进一步包括:所述数据交易平台向所述数据提供方发送所述验证结果。

可选的,所述验证结果包括授权令牌,所述基于所述验证结果确定是否执行所述源代码的计算逻辑进一步包括:所述数据使用方向所述数据交易平台发送所述授权令牌和包含所述源代码的计算请求;所述数据交易平台验证所述授权令牌合法时,执行所述源代码的计算逻辑。

可选的,所述计算请求包括所述源代码的第一描述信息,所述授权请求包括所述第一描述信息,所述授权令牌为验证所述审核结果的不可否认信息一致性,及验证所述第一描述信息和所述审核结果的第二描述信息一致而得到的,其中,所述第一描述信息包括:目标数据集信息及计算逻辑;所述第二描述信息包括:审核所述源代码获得的目标数据集信息以及计算逻辑描述信息。

可选的,所述按照代码审核规则对所述源代码进行审核而得到所述源代码的审核结果的步骤,还包括:所述数据交易平台对所述源代码进行审核以得到所述源代码的审核结果。

可选的,所述按照代码审核规则对所述源代码进行审核而得到所述源代码的审核结果的步骤,还包括:所述数据交易平台向代码审核方发送所述源代码;所述代码审核方对所述源代码进行审核以得到所述源代码的审核结果;所述代码审核方向所述数据交易平台发送所述源代码的审核结果。

可选的,所述按照代码审核规则对所述源代码进行审核而得到所述源代码的审核结果的步骤,还包括:所述数据提供方对所述源代码进行审核以得到所述源代码的审核结果。

可选的,所述按照代码审核规则对所述源代码进行审核而得到所述源代码的审核结果的步骤,还包括:所述数据提供方向代码审核方发送所述源代码;所述代码审核方对所述源代码进行审核以得到所述源代码的审核结果;所述代码审核方向所述数据提供方发送所述源代码的审核结果。

可选的,所述数据使用方向数据交易平台发送源代码的步骤之后,包括:所述数据交易平台向代码管理方发送所述源代码;所述数据提供方对所述源代码或所述源代码的审核结果进行验证,得到验证结果之前进一步包括:所述数据交易平台从所述代码管理方获取所述源代码。

可选的,所述方法进一步包括:对所述代码审核方法的至少部分操作进行日志存证。

为解决上述技术问题,本申请提出一种代码审核系统,所述系统包括数据使用方、代码审核方、数据提供方和数据交易平台;所述数据使用方用于存储和管理所述数据提供方的授权令牌;所述代码审核方用于审核源代码、返回描述信息以及存储和管理代码审核规则;所述数据提供方用于验证授权请求、验证所述描述信息一致性、为所述数据使用方发布所述授权令牌以及验证所述授权令牌;所述数据交易平台用于审核所述源代码以及验证所述授权令牌。

可选的,所述代码审核方独立于所述数据交易平台和所述数据提供方,所述代码审核方包括代码审核模块、审核规则管理模块和日志安全审计模块;所述数据提供方包括认证授权模块和日志安全审计模块;所述数据交易平台包括代码审核策略模块、认证授权模块和日志安全审计模块;其中,所述代码审核模块用于审核所述源代码和返回所述描述信息,所述审核规则管理模块用于存储和管理所述代码审核规则。

可选的,所述数据提供方包括认证授权模块和日志安全审计模块;所述代码审核方作为代码审核模块集成于所述数据交易平台内部,所述数据交易平台进一步包括审核规则管理模块、代码审核策略模块、认证授权模块和日志安全审计模块;其中,所述代码审核模块用于审核所述源代码和返回所述描述信息,所述审核规则管理模块用于存储和管理所述代码审核规则。

可选的,所述数据交易平台包括代码审核策略模块、认证授权模块和日志安全审计模块;所述代码审核方作为代码审核模块集成于所述数据提供方内部,所述数据提供方进一步包括审核规则管理模块、认证授权模块和日志安全审计模块;其中,所述代码审核模块用于审核所述源代码和返回所述描述信息,所述审核规则管理模块用于存储和管理所述代码审核规则。

可选的,所述数据使用方包括授权信息存储模块和日志安全审计模块,所述授权信息存储模块用于存储和管理所述数据提供方的授权令牌,所述日志安全审计模块用于记录和存证,以支持监管审查。

可选的,所述系统还包括代码管理方,所述代码管理方用于存储和管理所述数据使用方的所述源代码;所述代码管理方包括源代码存储模块和日志安全审计模块,所述源代码存储模块用于存储和管理所述数据使用方的所述源代码。

为解决上述技术问题,本申请提出一种代码审核装置,所述代码审核装置包括存储器和处理器,所述存储器连接所述处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现上述所述的方法。

为解决上述技术问题,本申请提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述所述的方法。

本申请公开代码审核的方法、装置和系统,其中代码审核方法包括接收数据使用方的源代码;向数据提供方发送源代码或源代码的审核结果,源代码的审核结果是按照代码审核规则对源代码进行审核而得到的;接收来自于数据提供方的验证结果,验证结果是对源代码的审核结果进行验证而得到的;基于验证结果确定是否执行源代码的计算逻辑。本申请代码审核的方法可以保证数据使用权的有效控制和合理授权。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请代码审核方法第一实施例的流程示意图;

图2是本申请代码审核方法第二实施例的示意图;

图3是本申请图2中策略配置步骤的流程示意图;

图4是本申请代码审核方法第二实施例的第一流程示意图;

图5是本申请代码审核方法第二实施例的第二流程示意图;

图6是本申请代码审核方法第三实施例的示意图;

图7是本申请代码审核方法第三实施例的的第一流程示意图;

图8是本申请代码审核方法第三实施例的的第二流程示意图;

图9是本申请代码审核方法第三实施例的的第三流程示意图;

图10是本申请代码审核方法第四实施例的流程示意图;

图11是本申请代码审核方法第五实施例的流程示意图;

图12是本申请代码审核方法第六实施例的流程示意图;

图13是本申请代码审核方法第七实施例的流程示意图;

图14是本申请代码审核方法第八实施例的流程示意图;

图15是本申请代码审核系统一实施例的结构示意图;

图16是本申请代码审核系统另一实施例的结构示意图;

图17是本申请代码审核系统另一实施例的结构示意图;

图18是本申请代码审核装置一实施例的结构示意图;

图19是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对发明所提供的代码审核的方法和系统进一步详细描述。

本申请中的代码审核方法的各个参与主体,例如数据交易平台、数据使用方、数据提供方、代码审核方、代码管理方、计算节点等,可以为独立的设备(例如手机、电脑、服务器等)、设备上运行的独立程序、设备上运行的某个程序的进程或线程等,在此不做限制。不同的参与主体可以运行在同一设备上,也可以独立运行。所述代码审核方与所述代码管理方可以为同一参与主体。

本申请代码审核方法可应用于数据交易的过程:数据交易平台负责与数据使用方和数据提供方进行交互,为双方提供数据交易的机会和途径。数据提供方,即数据交易中的卖方,也可以被称为数据供应方。数据使用方,即数据交易中的买方,也可以被称为数据需求方。

数据提供方可以向数据交易平台上传待售的数据集的信息。数据交易平台为数据提供方提供数据集信息获取界面,数据提供方可以利用该界面上传数据集信息。

数据使用方可以在数据交易平台上浏览并选择欲购买使用权的数据集。选中目标数据集后数据使用方向交易平台发送交易请求,在交易平台的协助下与数据提供方进行使用权交易。完成交易后数据使用方可以使用目标数据集进行计算。

数据使用方对目标数据集进行怎样的计算,或者说怎样使用目标数据集体现在数据使用方提交的源代码中,也就是数据使用方对目标数据集的计算逻辑会体现在源代码中。为了保证数据交易的合理性和有效性,数据提供方可以对数据使用方提供的源代码进行审核,以保证数据集的使用不超过交易限制的范围。本申请代码审核方法可应用于数据提供方和数据使用方完成交易之后,数据使用方提交计算任务时执行;和/或应用于数据提供方和数据交易方进行交易之前,数据提供方验证代码后再决定是否同意进行数据交易。

请参阅图1,图1是本申请代码审核方法第一实施例的流程示意图。本实施例应用于数据交易过程中,对数据使用方目标数据集的计算逻辑的源代码进行审核。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。

本实施例包括:

S11:数据使用方向数据交易平台发送源代码。

数据使用方向数据交易平台发送包含源代码的任务请求,任务请求可以包括授权请求和计算请求。任务请求可以包括第一描述信息,其中第一描述信息可以是目标数据集信息、计算逻辑或者计算逻辑的获取方式。计算逻辑是指怎么使用目标数据集进行计算,例如查询、统计、训练模型等。

第一描述信息来自于数据使用方,数据使用方为源代码的提供方。

S12:按照代码审核规则对源代码进行审核而得到源代码的审核结果。

数据交易平台接收源代码并响应源代码的任务请求,数据交易平台可以将源代码发送至代码管理方进行存储备份;数据交易平台可以向数据提供方发送源代码和任务请求。

按照代码审核规则对源代码进行审核可以得到源代码的审核结果,在本申请中,数据交易平台、数据提供方、或者代码审核方都可以对源代码进行审核。代码审核规则可以是由数据提供方确定的,其包括数据使用用途、相关数据、数据用量和承诺信息等相关使用规则,其中承诺信息是指该数据不会在使用过程中留存在非授权环境中等相关信息。

在本实施例中,数据提供方获得源代码,并利用源代码得到源代码的审核结果。具体地,可以是数据提供方完成对源代码的审核工作得到源代码的审核结果,也可以是由数据提供方将源代码发送至代码审核方,由代码审核方完成源代码的审核工作后返回源代码的审核结果给数据提供方。

在其他的实施例中,也可以是数据交易平台完成对源代码的审核工作得到源代码的审核结果,并直接将源代码的审核结果发送至数据提供方,或者,是数据交易平台将源代码发送至代码审核方,由代码审核方完成源代码的审核工作后返回源代码的审核结果给数据交易平台,数据交易平台再将源代码的审核结果发送至数据提供方。

源代码的审核结果可以包括对源代码审核结果的第二描述信息和不可否认信息;第二描述信息可以包括审核源代码获得的目标数据集信息和计算逻辑描述信息等;不可否认信息可以包括哈希值、数据签名或承诺信息。

S13:数据提供方对源代码的审核结果进行验证而得到验证结果。

数据提供方获得源代码的审核结果。进一步的,数据提供方对源代码的审核结果进行验证从而得到验证结果。

需要说明的是,对源代码进行审核的工作至少包括审核代码执行逻辑是否与审核规则的数据使用用途一致、审核代码读取的数据与审核规则的数据是否一致、审核代码读取数据用量是否在审核规则的范围内、以及审核数据是否安全使用、代码是否安全审计等内容。

而对源代码的审核结果进行验证的工作可以包括验证源代码的审核结果的不可否认信息的一致性,以及验证授权请求的第一描述信息和审核结果的第二描述信息的一致性。当数据提供方验证源代码的审核结果的不可否认信息的一致、及验证授权请求的第一描述信息和审核结果的第二描述信息的一致时,生成授权令牌,即此时验证结果包括授权令牌。其中,授权令牌包括计算任务范围、使用目的、所有者、有效期和签名等信息。

S14:数据提供方向数据交易平台发送验证结果。

数据提供方向数据交易平台发送验证结果,当验证结果包括授权令牌时,即数据提供方向数据交易平台发送授权令牌。

S15:数据交易平台基于验证结果确定是否执行源代码的计算逻辑。

数据交易平台基于验证结果确定是否执行源代码的计算逻辑。具体地,当数据交易平台接收到授权令牌并验证授权令牌合法时,执行源代码的计算逻辑。此时,数据交易平台将相关数据下发至MPC(Multi-Party Computation,多方计算)计算网络,相关数据可以包括源代码和授权令牌;数据提供方将计算数据发送至MPC计算网络,计算数据可以包括目标数据集的信息、计算逻辑或者计算逻辑的获取方式;MPC计算网络根据源代码、授权令牌和计算数据完成计算,并将计算结果返回至数据使用方。

本实施例公开了一种代码审核的方法,可以应用于数据交易的过程,数据使用方向数据交易平台发送源代码,数据交易平台向数据提供方发送源代码,按照代码审核规则对源代码进行审核得到源代码的审核结果,数据提供方对源代码的审核结果进行验证得到验证结果。数据交易平台基于验证结果确定是否实行源代码的计算逻辑。在本实施例中,需要对数据使用方发送的源代码进行两次确认:审核源代码以及验证源代码的审核结果,当验证通过时才执行计算,此时数据使用方得到数据的使用权可以完成计算,数据提供方保护了数据的隐私性,有效的提高了数据交易过程中数据提供方的数据安全,促进数据交易的推广和实施;也保证了数据使用权的有效控制和合理授权。

具体地,本实施例中的代码审核方法可以分成两种:代码审核异步模式和代码审核同步模式,请参阅图2,图2是本申请代码审核方法第二实施例的示意图。本实施例的代码审核方法包括代码审核同步模式,代码审核同步模式包括数据接入阶段、计算执行阶段和计算完成阶段,认证授权阶段并不完成代码审核相关工作。其中数据接入阶段完成策略配置工作,任务计算阶段完成代码审核和授权令牌校验的工作,计算完成阶段完成日志存证工作,具体如图3所示,图3是本申请图2中策略配置步骤的流程示意图。

数据接入阶段:当数据提供方13进行数据发布请求时,跟数据交易平台11完成代码审计策略的确定工作,跟代码审核方14完成代码审计规则的分配工作,具体分成以下步骤:

S01:数据提供方13向数据交易平台11发送数据发布请求。

S02:数据交易平台11向数据提供方13发送代码审核策略请求。

S03:数据提供方13确定代码审核策略并发送至数据交易平台11;数据提供方13向代码审核方14提供代码审核规则。

在本实施例中,代码审核策略请求中至少包含代码审核主体、代码审核频率、策略有效期等信息。其中,代码审核主体是指代码委托数据交易平台11/代码审核方14完成审核工作,或者,由数据提供方13自行完成代码审核工作;代码审核频率是指代码一次一审核频率、或者多次一审核频率;策略有效期是指针对该数据的代码审核策略有效周期,例如,一周有效、一个月有效还是一年有效。

请参阅图4-5,图4是本申请代码审核方法第二实施例的第一流程示意图,图5是本申请代码审核方法第二实施例的第二流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图4所示的流程顺序为限。本实施例与上述实施例相同的部分,在此不再赘述。本实施例包括:

S21:数据使用方向数据交易平台发送包含源代码的计算请求。

数据使用方12向数据交易平台11发送包含源代码的计算请求,即目标数据集的计算请求。

S211:数据交易平台向代码管理方提供源代码,数据交易平台向数据提供方发送计算描述。

在本实施例中,如图5所示,数据交易平台11响应计算请求,向数据提供方13发送计算描述,其中计算描述包括源代码和授权请求,授权请求中包括第一描述信息。

S22:按照代码审核规则对源代码进行审核而得到源代码的审核结果。

对源代码的审核可以由代码审核方14完成,即数据提供方13接收到源代码,并将源代码发送至代码审核方14,代码审核方14依据代码审核规则完成源代码的审核工作,并返回源代码的审核结果至数据提供方。

S23:数据提供方对源代码的审核结果进行验证而得到验证结果。

S24:数据提供方向数据交易平台发送验证结果。

数据提供方13向数据交易平台11发送验证结果,数据交易平台11向数据使用方12返回验证结果。

S25:当验证结果包括授权令牌时,数据交易平台执行源代码的计算逻辑。

当验证结果包括授权令牌,当数据交易平台11和数据提供方13验证授权令牌为合法时,可以提供计算逻辑中所需的数据参与完成计算任务。

S26:数据交易平台向数据使用方返回验证结果。

在本实施例代码审核同步方案中,在任务计算阶段同步完成代码审核、授权、验证等工作。具体地,数据使用方13负责提交数据的计算请求和源代码,并接收计算任务的结果。代码管理方15负责存储管理数据使用方提供的源代码,在计算过程中提供源代码参与完成计算任务。数据提供方13负责验证授权请求和代码审核方提供的代码描述信息的一致性、生成授权令牌、验证授权令牌的合法性,并提供计算任务中所需的数据参与完成计算任务。数据交易平台11负责验证授权令牌的合法性,同时也负责所有数据、请求的流转工作。

需要注意的是,当数据使用方12接收到授权令牌后,之后的计算请求数据变更为计算请求和授权令牌,由数据交易平台11验证授权令牌的合法性和合规性后,可以直接将计算数据和源代码提交至MPC等计算网络完成计算过程。

请参阅图6-9,图6是本申请代码审核方法第三实施例的示意图,图7是本申请代码审核方法第三实施例的的第一流程示意图,图8是本申请代码审核方法第三实施例的的第二流程示意图,图9是本申请代码审核方法第三实施例的的第三流程示意图。

本实施例的代码审核方法为代码审核异步模式,代码审核异步模式包括数据接入阶段、认证授权阶段、任务计算阶段和计算完成阶段,其中数据接入阶段完成策略配置工作,认证授权阶段完成代码审核工作,计算执行阶段完成授权令牌校验工作,计算完成阶段完成日志存证工作,具体如图6所示。需注意的是,若有实质上相同的结果,本实施例并不以图7所示的流程顺序为限。本实施例包括:

S31:数据使用方向数据交易平台发送源代码和授权请求。

如图7和图8所示,步骤S31~S35是代码审核的步骤,代码审核流程结合在认证授权阶段。数据使用方12向数据交易平台11发送源代码和授权请求。授权请求包括第一描述信息。

S32:按照代码审核规则对源代码进行审核而得到源代码的审核结果。

在本实施例中,如图8所示,数据交易平台11响应授权请求,将源代码发送至代码审核方14完成审核工作,获得源代码的审核结果。

S321:数据交易平台向代码管理方提供源代码,数据交易平台向数据提供方发送计算描述。

数据交易平台11向数据提供方13发送计算描述,其中计算描述包括授权请求和源代码的审核结果。

S33:数据提供方对源代码的审核结果进行验证而得到验证结果。

S34:数据提供方向数据交易平台发送验证结果。

S35:数据交易平台向数据使用方发送验证结果。

S36:数据使用方向数据交易平台发送授权令牌和包含源代码的计算请求。

完成代码审核的流程后,数据使用方12获得授权令牌。数据使用方12继续向数据交易平台11发送授权令牌和任务请求,数据交易平台11从代码管理方15中获得源代码,并验证授权令牌的合法性,当验证授权令牌合法时,数据交易平台11确定任务并返回至数据使用方12,数据使用方12提交计算请求至数据交易平台11。

以完成令牌校验的步骤。授权令牌校验流程结合在任务计算阶段,如图9所示,步骤S36~S37是令牌校验的步骤。

S37:数据交易平台验证授权令牌合法时,执行源代码的计算逻辑。

数据交易平台11接收授权令牌并验证授权令牌的合法性,当数据交易平台11验证授权令牌合法时,执行源代码的计算逻辑。

在本实施例代码审核异步方案中,分成代码审核和令牌校验两个流程,其中代码审核流程结合在认证授权阶段,令牌校验结合在任务计算阶段。与代码审核同步方案不同的是,数据使用方并非一次性发送计算请求和授权请求,而是先发送授权请求获得授权令牌后再发送计算请求和授权令牌。

具体地,在代码审核的过程中,数据使用方12负责提交数据的使用授权请求和源代码,接收数据提供方13提供的授权令牌;代码审核方14依据代码审核规则完成源代码的审核工作,并提供对源代码的第二描述信息和不可否认信息,其中源代码审核工作至少包含代码执行逻辑与审核规则的数据使用用途一致、代码读取的数据与审核规则的数据一致、代码读取数据用量在审核规则范围内、数据安全使用、代码安全审计等内容;代码管理方15负责存储管理数据使用方12提供的源代码;数据提供方13负责验证授权请求的第一描述信息和源代码审核结果的第二描述信息的一致性,并生成授权令牌;数据交易平台11主要负责完成所有数据、请求的流转工作。

在令牌校验的过程中,数据使用方12负责提交数据的计算请求和任务请求,并接收计算任务的结果;代码管理方15负责存储数据使用方12提供的源代码,在计算过程中提供源代码参与完成计算任务;数据提供方13负责验证授权令牌的合法性,并提供计算任务中所需的数据参与完成计算任务;数据交易平台11负责验证授权令牌的合法性,同时也负责所有数据、请求的流转工作。

此外,在上述过程的至少部分步骤中,还可以包括日志安全审计,以完成代码审核过程中日志的记录和存证,同时支持事后监管审查等功能。

请参阅图10,图10是本申请代码审核方法第四实施例的流程示意图。本实施例中的执行主体为数据交易平台。本实施例中与上述实施例相同的部分,在此不再赘述。

S41:接收数据使用方提供的源代码。

S42:向数据提供方发送源代码或者源代码的审核结果,源代码的审核结果是按照代码审核规则对源代码进行审核而得到的。

数据交易平台11可以向数据提供方13发送源代码,或者,数据交易平台11可以向数据提供方13发送源代码的审核结果。具体地,数据交易平台11可以对源代码进行审核获得源代码的审核结果,或者,数据交易平台11可以将源代码发送至代码审核方14,再接收代码审核方14返回的源代码的审核结果,即由代码审核方完成代码审核工作。

此外,数据交易平台11还可以向代码管理方15发送源代码以保存,当需要执行计算逻辑时可以从代码管理方15获得源代码。

S43:接收来自于数据提供方的验证结果,验证结果是对源代码的审核结果进行验证而得到的。

计算请求包括源代码的第一描述信息,授权请求包括第一描述信息,授权令牌为验证审核结果的不可否认信息一致性,及验证第一描述信息和审核结果的第二描述信息一致而得到的;其中,其中,第一描述信息可以包括:目标数据集信息及计算逻辑;第二描述信息可以包括:审核源代码获得的目标数据集信息以及计算逻辑描述信息。

S44:基于验证结果确定是否执行源代码的计算逻辑。

当验证结果包括授权令牌时,执行源代码的计算逻辑。

请参阅图11,图11是本申请代码审核方法第五实施例的流程示意图。本实施例中的执行主体为数据交易平台,本实施例的代码审核方法为代码审核同步模式,本实施例中与上述实施例相同的部分,在此不再赘述。

S51:接收数据使用方提供的包含源代码的计算请求。

S52:响应计算请求,向数据提供方发送授权请求以及源代码或者源代码的审核结果,源代码的审核结果是按照代码审核规则对源代码进行审核而得到的。

S53:接收来自于数据提供方的验证结果,验证结果是对源代码的审核结果进行验证而得到的。

数据交易平台11还可以向数据使用方发送验证结果。

S54:当验证结果包括授权令牌时,执行源代码的计算逻辑。

本实施例中,数据交易平台11采取代码审核同步模式,在任务计算阶段完成代码审核和令牌校验两个步骤。

请参阅图12,图12是本申请代码审核方法第六实施例的流程示意图。本实施例中的执行主体为数据交易平台,本实施例的代码审核方法为代码审核异步模式,本实施例中与上述实施例相同的部分,在此不再赘述。

S61:接收数据使用方提供的源代码和授权请求。

S62:响应授权请求,向数据提供方发送授权请求以及源代码或者源代码的审核结果。

S63:接收来自于数据提供方的验证结果,验证结果是对源代码的审核结果进行验证而得到的。

S64:向数据使用方发送验证结果。

S65:接收数据使用方提供的授权令牌和包含源代码的计算请求。

S66:验证授权令牌合法的情况下,执行源代码的计算逻辑。

在本实施例中,数据交易平台11采取代码审核异步模式,数据交易平台11接收两次数据使用方12提供的请求。数据交易平台11在认证授权阶段完成代码审核,在任务计算阶段完成令牌校验。

此外,数据交易平台11还可以对上述代码审核方法的至少部分操作进行日志存证。

请参阅图13,图13是本申请代码审核方法第七实施例的流程示意图。本实施例中的执行主体为数据提供方,本实施例中与上述实施例相同的部分,在此不再赘述。

S71:接收数据交易平台发送的源代码。

S72:利用源代码得到源代码的审核结果后对源代码的审核结果进行验证而得到验证结果,其中,源代码的审核结果是按照代码审核规则对源代码进行审核而得到的。

数据提供方13还可以接收数据交易平台11发送的授权请求,授权请求中包括源代码的第一描述信息,第一描述信息来自于数据使用方12,第一描述信息可以包括目标数据集信息及计算逻辑,数据使用方12为源代码的提供方。

数据提供方13验证第一描述信息和审核结果中的第二描述信息是否一致,若一致则生成授权令牌作为验证结果;其中,第二描述信息包括审核源代码获得的目标数据集信息以及计算逻辑描述信息。

S73:向数据交易平台发送验证结果,以作为数据交易平台是否执行源代码的计算逻辑的依据。

在本实施例中,数据提供方13获得数据交易平台11发送的源代码,数据提供方13可以对源代码进行审核获得源代码的审核结果;或者,数据提供方可以将源代码发送至代码审核方14,当并获得代码审核方14返回的源代码的审核结果。数据提供方13对源代码的审核结果进行验证。

请参阅图14,图14是本申请代码审核方法第八实施例的流程示意图。本实施例中的执行主体为数据提供方,本实施例中与上述实施例相同的部分,在此不再赘述。

S81:接收数据交易平台发送的源代码的审核结果,其中,源代码的审核结果是按照代码审核规则对源代码进行审核而得到的。

S82:对源代码的审核结果进行验证而得到验证结果。

S83:向数据交易平台发送验证结果,以作为数据交易平台是否执行源代码的计算逻辑的依据。

在本实施例中,数据提供方13执行代码审核的方法,数据提供方13接收数据交易平台11发送的源代码的审核结果,并直接对源代码的审核结果进行验证。

此外,数据提供方13还可以对上述代码审核方法的至少部分操作进行日志存证。

基于上述代码审核方法,本申请还提出一种代码审核系统。请参阅图15,图15是本申请代码审核系统一实施例的结构示意图。该系统可以包括数据使用方12、代码审核方14、数据提供方13和数据交易平台11。在本实施例中,代码审核方14独立于数据交易平台11和数据提供方13,数据交易平台11分别与数据使用方12、代码审核方14、数据提供方13连接。

数据使用方12用于存储和管理数据提供方13的授权令牌;代码审核方14用于审核源代码、返回描述信息以及存储和管理代码审核规则;数据提供方13用于验证授权请求、验证描述信息一致性、为数据使用方12发布授权令牌以及验证授权令牌;数据交易平台11用于审核源代码以及验证授权令牌。

具体地,代码审核方14包括代码审核模块、审核规则管理模块;代码审核方14的代码审核模块用于审核源代码和返回描述信息,审核规则管理模块用于存储和管理所述代码审核规则。

数据提供方13包括认证授权模块;数据提供方13的认证授权模块主要负责验证授权请求和代码审核方14提供的描述信息一致性。

数据交易平台11包括代码审核策略模块、认证授权模块;数据交易平台11的代码审核策略模块负责完成跟数据提供方13协商代码审核策略等功能,认证授权模块负责验证授权令牌等功能。

数据使用方12包括授权信息存储模块;数据使用方12的授权信息存储模块用于存储和管理数据提供方13的授权令牌。

代码审核系统还包括代码管理方15,代码管理方15用于存储和管理数据使用方12提供的源代码;代码管理方15包括源代码存储模块,源代码存储模块用于存储和管理数据使用方12提供述源代码。

此外,在系统的所有参与方中都有日志安全审核模块。日志安全审计模块用于记录和存证,以支持监管审查,即,日志安全审计模块可以负责完成代码审核过程中日志的记录和存证,同时支持事后监管审查等功能。

请参阅图16,图16是本申请代码审核系统另一实施例的结构示意图。在本实施例中,代码审核方14作为代码审核模块集成于数据交易平台11内部,即代码审核方14跟数据交易平台11合并。数据交易平台11分别与数据使用方12、数据提供方13连接。本实施例跟上述实施例相同的部分,在此不再赘述。

数据提供方13包括认证授权模块和日志安全审计模块;数据交易平台11进一步包括代码审核模块、审核规则管理模块、代码审核策略模块、认证授权模块和日志安全审计模块;数据使用方12包括授权信息存储模块和日志安全审计模块。

请参阅图17,图17是本申请代码审核系统另一实施例的结构示意图。在本实施例中,代码审核方14作为代码审核模块集成于数据提供方13内部,即代码审核方14跟数据提供方13合并。数据交易平台11分别与数据使用方12、数据提供方13连接。本实施例跟上述实施例相同的部分,在此不再赘述。

数据交易平台11包括代码审核策略模块、认证授权模块和日志安全审计模块;数据提供方13进一步包括代码审核模块、审核规则管理模块、认证授权模块和日志安全审计模块;数据使用方12包括授权信息存储模块和日志安全审计模块。

基于上述代码审核方法,本申请还提出一种代码审核系统。请参阅图18,图18是本申请代码审核装置一实施例的结构示意图。代码审核装置200包括存储器21和处理器22,存储器21连接处理器22,存储器21中存储有计算机程序,计算机程序被处理器22执行时实现上述方法。

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

基于上述代码审核方法,本申请还提出一种计算机可读存储介质。请参阅图19,图19是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质300中存储有计算机程序31,计算机程序31被执行时实现上述方法。

进一步的,计算机可读存储介质300还可以是U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存储器(random access memory,RAM)、磁带或者光盘等各种可以存储程序代码的介质。

可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

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

相关技术
  • 代码审核的方法、装置及系统
  • 代码审核方法及装置
技术分类

06120113084505