一种数据核验系统构建方法及装置与流程

文档序号:30521791发布日期:2022-06-25 05:10阅读:349来源:国知局
一种数据核验系统构建方法及装置与流程

1.本说明书实施例涉及计算机应用技术领域,尤其涉及一种数据核验系统构建方法及装置。


背景技术:

2.目前针对不同的业务场景,通常存在业务数据存证的需求,例如,在物流的业务场景中,货运公司为了确保货物的安全运输,可以将货运车辆的物流记录上传到区块链中进行存证,以便于确定货物运输过程中是否出现问题;又如,在股票交易的业务场景中,股票交易平台为了确保交易数据的安全,可以在完成交易后,实时将交易数据上传到区块链中进行存证,以便于针对交易数据进行审计。
3.在对业务数据进行存证之前,首先需要对业务数据进行核验,而现有的针对不同业务场景分别开发定制化核验系统的方法较为繁琐,开发成本较高。


技术实现要素:

4.为了解决上述技术问题,本说明书公开了一种数据核验系统构建方法及装置。技术方案如下所示。
5.一种数据核验系统构建方法,应用于存证服务平台,所述存证服务平台配置用于定义字段的通用模板以及通用核验组件集合,每个核验组件具有对至少一种数据类型的字段值进行真实性核验的能力;所述存证服务平台对接至少一个数据存证需求方,所述数据存证需求方具有核验数据的需求,所述方法用于针对目标存证需求方的待存证数据构建核验系统;
6.所述方法包括:
7.向所述目标存证需求方提供核验需求配置接口,所述配置接口用于:使得所述目标存证需求方基于所述通用模板定义一个或多个字段、以及针对所定义的至少一个字段,从所述通用核验组件集合中选择用于核验该字段的核验组件;
8.根据所述目标存证需求方基于所述配置接口的操作,为所述目标存证需求方的待存证数据创建自定义数据结构,并确定该自定义数据结构中存在核验需求的字段以及对应的核验组件;
9.根据所创建的自定义数据结构、存在核验需求的字段以及对应的核验组件,生成核验智能合约作为数据核验系统,并将所述核验智能合约部署到区块链网络;其中,所述核验智能合约用于针对已存证到所述区块链网络中的待存证数据进行核验。
10.一种数据核验系统构建装置,应用于存证服务平台,所述存证服务平台配置用于定义字段的通用模板以及通用核验组件集合,每个核验组件具有对至少一种数据类型的字段值进行核验的能力;所述存证服务平台对接至少一个数据存证需求方,所述数据存证需求方具有核验数据的需求,所述装置用于针对目标存证需求方的待存证数据构建核验系统;
11.所述装置包括:
12.接口提供单元:用于向所述目标存证需求方提供核验需求配置接口,所述配置接口用于:使得所述目标存证需求方基于所述通用模板定义一个或多个字段、以及针对所定义的至少一个字段,从所述通用核验组件集合中选择用于核验该字段的核验组件;
13.核验需求定义单元:用于根据所述目标存证需求方基于所述配置接口的操作,为所述目标存证需求方的待存证数据创建自定义数据结构,并确定该自定义数据结构中存在核验需求的字段以及对应的核验组件;
14.核验系统构建单元:用于根据所创建的自定义数据结构、存在核验需求的字段以及对应的核验组件,生成核验智能合约作为数据核验系统,并将所述核验智能合约部署到区块链网络;其中,所述核验智能合约用于针对已存证到所述区块链网络中的待存证数据进行核验。
15.上述技术方案中,存证需求方可以借助存证服务平台中预先部署好的通用模板和通用核验组件集合,为待存证数据定制数据结构,并选择用于核验数据结构中至少一个字段的核验组件,以指定构建核验系统所需的业务场景相关配置。然后,存证服务平台可以基于存证需求方指定的业务场景相关配置,为该存证需求方构建专用的数据核验系统。
16.存证服务平台已经预先部署了通用模板与通用核验组件集合作为用于构建核验系统的基础技术设施,存证需求方都仅需要在此基础技术设施的基础上指定业务场景相关配置,即可使得存证服务平台为该存证需求方构建专用的核验系统。如此,避免了不同存证需求方开发各自的核验系统过程中的重复工作,降低了对于存证需求方开发核验系统的工作量,节约了开发成本。
附图说明
17.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
18.图1是本说明书实施例提供的一种数据核验系统构建方法的流程示意图;
19.图2是本说明书实施例提供的一种数据核验系统构建方法的原理示意图;
20.图3是本说明书实施例提供的一种数据核验方法的流程示意图;
21.图4是本说明书实施例提供的一种数据核验系统构建装置的结构示意图;
22.图5是本说明书实施例提供的一种数据核验装置的结构示意图;
23.图6是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
24.为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于公开的范围。
25.目前针对不同的业务场景,通常存在业务数据存证的需求,例如,在物流的业务场
景中,货运公司为了确保货物的安全运输,可以将货运车辆的物流记录上传到区块链中进行存证,以便于确定货物运输过程中是否出现问题;又如,在股票交易的业务场景中,股票交易平台为了确保交易数据的安全,可以在完成交易后,实时将交易数据上传到区块链中进行存证,以便于针对交易数据进行审计。
26.在实际应用中,往往需要对待存证的业务数据进行核验。核验具体可以是指对业务数据中包含的与现实情况有关的一项或多项信息的真实性进行核验,也可以是指对业务数据中包含的部分数据格式等进行核验。
27.为了便于理解,下面给出真实性核验的两个示例。
28.示例一:在物流的业务场景中,业务数据可以是货运车辆在到达货运中转站时上传的物流记录。物流记录可以包含货运车辆编号、司机姓名、货物种类、货物数量、货运车辆到达货运中转站的时间信息。其中,时间信息与货物数量是否真实对于业务来说具有重要意义。因此,对物流记录进行核验,具体可以是对时间信息和货物数量是否真实进行核验。
29.具体而言,可以从货运中转站系统中存储的车辆出入记录中,查找货运车辆a的出入记录,从货运车辆a的出入记录中提取货运车辆a到达货运中转站的时间信息。进而可以将从出入记录提取的时间信息、与货运车辆a上传的物流记录中的时间信息进行对比核验,确定时间信息是否真实。
30.还可以从货运中转站系统中存储的车辆货物核查记录中,查找货运车辆a的货物核查记录,从货运车辆a的货物核查记录中提取货运车辆a上的货物数量。进而可以将从核验记录提取的货物数量、与货运车辆a上传的物流记录中的货物数量进行对比核验,确定货物数量是否真实。
31.示例二:在医疗保险的业务场景中,业务数据可以是保险人上传的医疗保单,用于申请医疗保险赔偿。其中可以包含保险人信息、医疗总开销、申请赔偿额度等信息。其中保险人在医疗上花费的总开销信息,可以用于确定医疗保险的赔偿额度,总开销信息是否真实对于业务来说具有重要意义。例如,保险人通过伪造总开销信息提高赔偿额度。因此,对医疗保单进行核验,具体可以是对总开销信息是否真实进行核验。
32.具体可以是:从保险人b治疗所在医院获取保险人b的医疗账单明细,可以从医疗账单明细中获取保险人b真实的总开销信息。进而可以将从医疗账单明细中获取的总开销信息、与保险人b上传的总开销信息进行对比核验,确定总开销信息是否真实。
33.针对不同业务场景,通常由不同业务场景中的数据存证需求方分别独立进行开发,开发出针对各自业务场景的定制化数据核验系统。所开发的数据核验系统具有核验业务数据所包含信息的能力。
34.例如,通过开发数据核验系统,该系统可以用于获取真实信息,与业务数据中包含的信息进行对比核验;也可以用于对业务数据中包含的部分数据的格式进行核验。
35.但不同的存证需求方独立开发核验系统存在以下技术问题。
36.首先,每个存证需求方都需要独立地进行核验系统的全流程开发,这既具有较高的技术门槛,又费时费力,开发成本较高。
37.其次,但不同的业务场景中,需要核验的数据类型可能存在重合。例如,网约车场景和外卖场景中需要核验的数据类型都包括位置信息。因此,在不同的数据存证需求方分别独立开发数据核验系统时,会分别针对核验位置信息的能力进行一次开发,从整体考虑,
这属于对本应仅开发一次的核验能力进行重复开发,浪费开发资源。
38.为了解决上述技术问题,本说明书提供了一种数据核验系统构建方法。具体而言:针对多个数据存证需求方,可以设置一个存证服务平台为每个数据存证需求方构建定制的核验系统。
39.存证服务平台可以预先部署有通用核验组件集合。其中一个通用核验组件提供至少一种核验能力,存证需求方可以选择一组核验组件,并为选择的每个核验组件指定所要核验的对象,从而得到专用的核验系统。如此,每个存证需求方不需要独立进行核验系统的全流程开发,而是在存证服务平台提供的通用核验组件中选择自己需要使用的一组核验组件,从而省去了大量开发工作,提升了开发效率。并且,存证服务平台提供的通用核验组件可以被不同的存证需求方重复调用,避免了重复开发带来的资源浪费问题。
40.在实际应用中,每个存证需求方专用的核验系统可以部署在存证服务平台,存证需求方将待存证数据提交给存证服务平台进行核验与存证。存证服务平台需要对接不同的存证需求方,并且基于通用核验组件集合对不同存证需求方的待存证数据进行核验。
41.需要说明的是,考虑到存证服务平台需要能够从任何存证需求方的待存证数据提取出需要核验的对象,并调用相应的通用核验组件对提取的对象进行核验,因此,通常需要存证需求方预先将自己的待存证数据的数据结构注册到存证服务平台,以便存证服务平台明确存证需求方的待存证数据的数据结构,并明确该数据结构中哪些字段是需要核验的对象。
42.基于此,在本说明书的一个或多个实施例中,存证服务平台还需要部署用于定义字段的通用模板,在为任一存证需求方构建核验系统之前,存证服务平台将通用模板提供给该存证需求方以定义字段,进而明确该存证需求方的待存证数据的数据结构,以及,存证服务平台还需要根据用户的指令,明确该数据结构中哪些字段是需要核验的对象,应当调用哪个核验组件对每个需要核验的对象进行核验。
43.从数据存证需求方的角度,在本说明书提供的方法实施例中,数据存证需求方可以预先请求存证服务平台为其构建专用的核验系统,后续通过存证服务平台提供给数据存证需求方的存证接口,将待存证数据提交给存证服务平台。存证服务平台一方面调用存证需求方专用的核验系统对待存证数据进行核验,另一方面对待存证数据进行存证。
44.在实际应用中,数据存证需求方不一定是待存证数据的生产方。在有些实施例中,数据存证需求方可以是独立软件开发商isv,其对接至少一个数据生产方,isv实际上是依托于存证服务平台的核验能力与存证能力,为每个数据生产方提供数据存证服务。对于每个数据生产方来说,其对isv背后的存证服务平台是无感知的,每个数据生产方将自己生产的待存证数据提交给isv,由isv进一步将待存证数据提交给存证服务平台。
45.在本说明书的一个或多个实施例中,存证服务平台上部署的通用核验组件集合实际上代表着预先开发好的各种核验能力,其中的每个核验组件可以用于核验至少一种数据类型。
46.具体地,每个核验组件可以具有针对至少一种数据类型的字段值进行核验的能力,其中数据类型可以具体表征数据内容的种类。在数据结构中,一个字段可以对应一种数据内容,字段值就是数据内容本身,例如位置、时间等。
47.核验组件的核验能力,具体可以包括:预先或实时获取真实信息到本地进行核验;
或者针对数据格式、数据取值范围等进行核验。
48.通用核验组件集合通常由存证服务平台开发。例如,在核验是真实性核验的场景下,存证服务平台可以向存储真实信息的第三方申请真实信息获取权限,并基于该权限预先获取到第三方的真实信息存储到本地,开发用于将输入数据与真实信息对比核验的组件。当然,也可以基于真实信息获取权限,开发用于针对输入数据实时从第三方获取真实信息进行对比核验的组件。
49.下面结合附图,对本说明书提供的一种数据核验系统的构建方法进行详细解释。
50.如图1所示,为本说明书提供的一种数据核验系统构建方法的流程示意图。该方法可以应用于存证服务平台。
51.存证服务平台可以配置用于定义字段的通用模板以及通用核验组件集合,每个核验组件可以具有对至少一种数据类型的字段值进行核验的能力。
52.存证服务平台可以对接至少一个数据存证需求方,该方法流程可以用于针对其中的目标存证需求方的待存证数据构建数据核验系统。
53.需要注意的是,本方法流程解释的是针对单个数据存证需求方(即目标存证需求方)构建数据核验系统的过程,可以理解的是,针对其他数据存证需求方,也可以基于相同的步骤构建数据核验系统。
54.该方法可以至少包括以下步骤。
55.s101:存证服务平台向目标存证需求方提供核验需求配置接口。
56.在一种可选的实施例中,目标存证需求方,可以包括独立软件开发商isv。isv可以对接至少一个数据生产方,需要为数据生产方提供数据核验的解决方案。而isv可以借助本方法流程中的存证服务平台进行开发。待存证数据可以是任一数据生产方生产的数据。
57.配置接口可以用于:基于通用模板定义一个或多个字段、以及针对所定义的至少一个字段,从通用核验组件集合中选择用于核验该字段的核验组件。
58.具体地,可以是目标存证需求方通过配置接口接收到存证服务平台发送的通用模板、以及通用核验组件集合,进而由模板存证需求方执行定义字段、选择核验组件等操作,并将所定义的一个或多个字段、所选择的核验组件以及对应核验的字段通过配置接口发送到存证服务平台。
59.可选地,提供配置接口具体可以是提供一个可视化界面,可视化界面中可以包括通用模板和通用核验组件集合,通过为可视化界面所配置的接口,将目标存证需求方针对可视化界面的图形化操作结果,发送到存证服务平台。
60.图形化操作具体可以包括针对所定义的一个或多个字段,将指定字段拖拽到通用核验组件集合中指定的用于核验该字段的核验组件上,从而选择用于核验该字段的核验组件。
61.显然,图形化操作可以降低数据存证需求方的操作门槛,可以降低数据存证需求方的操作难度。
62.可选地,配置接口可以是目标存证需求方与存证服务平台之间的一个数据交互接口,用于交互通用模板、通用核验组件集合、定义的字段以及所选择的核验组件。
63.其中,通用核验组件集合可以通过如下方式进行配置。以核验组件是基于具有核验能力的核验第三方开发得到的情况为例。
64.可选地,存证服务平台可以接收多个核验第三方分别提交的核验服务接入申请;不同核验第三方具有对不同数据类型的字段值进行核验的能力。例如,针对位置数据核验的能力、以及针对交易数据核验的能力。针对每个核验第三方,基于该核验第三方的核验能力,生成并配置至少一个核验组件。
65.可选地,存证服务平台可以向多个核验第三方申请真实信息获取权限(即进行核验的能力),在申请成功的情况下,针对每个权限生成并配置一个或多个核验组件。核验组件可以是利用真实信息获取权限,预先或实时获取到核验第三方的真实信息后进行核验的。
66.s102:存证服务平台根据目标存证需求方基于配置接口的操作,为目标存证需求方的待存证数据创建自定义数据结构,并确定该自定义数据结构中存在核验需求的字段以及对应的核验组件。
67.其中,目标存证需求方基于配置接口的操作包括:基于通用模板定义一个或多个字段、以及针对所定义的至少一个字段,从通用核验组件集合中选择用于核验该字段的核验组件。
68.基于操作中所定义的全部字段,存证服务平台可以创建一个自定义的数据结构。操作中被选择用于核验的字段,可以确定为自定义的数据结构中存在核验需求的字段,并进一步根据操作中所确定的核验组件,得到对应于存在核验需求的字段的核验组件。
69.s103:存证服务平台根据所创建的自定义数据结构、存在核验需求的字段以及对应的核验组件,构建数据核验系统,将用于调用该数据核验系统的调用标识返回给目标存证需求方。
70.所构建的数据核验系统可以用于从自定义数据结构中获取存在核验需求的字段值,调用对应的核验组件的核验能力,针对所获取的字段值进行核验。
71.由于所构建的不同核验系统执行的操作本质相通,可以包括提取数据并调用核验组件进行核验。因此,可选地,为了进一步节约开发成本,存证服务平台可以根据预先配置的同一个基础核验系统模板进行构建。
72.其中,存证服务平台可以开发一个通用的基础核验系统模板,针对不同的存证需求方,可以将不同的定制化信息,例如自定义数据结构、存在核验需求的字段以及对应的核验组件,填充到通用的基础核验系统模板中,从而构建出定制化的核验系统,用于核验存证需求方的待存证数据。
73.显然,针对不同的存证需求方,存证服务平台可以复用基础核验系统模板进行系统构建,一方面只需要开发一次基础核验系统模板,节约了开发成本,另一方面可以基于模板填充定制化信息,快速构建定制化的核验系统,提高了开发效率。
74.为了便于理解,在一种具体的示例中,基础核验系统模板在代码层面可以是待填充的代码模板。代码模板本身无法直接运行,需要填入部分数据后得到可运行的代码,使得该代码在运行时可以实现具体的功能。
75.下面给出一种用于提取数据的代码模板的伪代码示例:确定

数据结构唯一标识’=()的数据结构;在该数据结构中查询

字段名称’=()的字段值。
76.其中的括号部分可以根据实际情况填充数据,从而获取可以运行的代码。例如,确定

数据结构唯一标识’=

001’的数据结构;在该数据结构中查询

字段名称’=

车辆位
置’的字段值。该代码在运行时可以实现从业务数据中提取指定数据。
77.但是,不同存证需求方的业务数据中,字段和数据结构所包含属性信息的具体表示可能并不相同。例如,字段名称在不同业务数据中,可能以

字段名称’表示,也可能以

code’表示;数据结构唯一标识在不同业务数据中,可能以

uniqueid’表示,也可能以

structid’表示。
78.但存证服务平台在开发基础核验系统模板时,通常难以查看到不同存证需求方中字段和数据结构所包含属性信息的具体表示,而是根据自定义的表示开发基础核验系统模板。例如,确定

uniqueid’=()的数据结构;在该数据结构中查询

code’=()的字段值。
79.显然,如果存证需求方的待存证数据中,字段和数据结构所包含属性信息的表示、与基础核验系统模板的表示不相同,则构建的核验系统无法处理待存证数据。例如,针对使用

structid’表示数据结构唯一标识的待存证数据,无法确定其

uniqueid’的值,也就无法处理该待存证数据。
80.因此,在本说明书提供的方法中,可以进一步利用用于定义字段的通用模板,重新定义不同存证需求方的业务数据,统一业务数据的字段的属性信息表示,并进一步统一每个业务数据的数据结构的属性信息表示,使其与基础核验系统模板的属性信息表示相同,从而使得基于基础核验系统模板构建的核验系统可以核验不同存证需求方的业务数据,节约开发成本。
81.为了便于进一步理解,下面给出一种具体的示例。
82.通用模板具体可以是{idx:();code:();type:();required:();maxsize:();minsize:()},其中idx表示字段唯一标识,code表示字段名称,type表示字段值的数据类型,required表示字段是否必需,maxsize表示字段取值的最大值,minsize表示字段取值的最小值。其中的部分属性信息可以缺省。
83.该通用模板可以用于定义一个字段的属性信息表示。数据存证需求方可以在其中的括号部分填充数据,定义一个或多个字段。
84.下面是基于上述通用模板所定义的3个字段的示例。
85.{idx:

001’;code:

companyname’;type:

string’;required:

true’};{idx:

002’;code:

companyid’;type:

string’;required:

true’;maxsize:

100’;minsize:
‘0’
};{idx:

003’;code:

companylocation’;type:

string’;required:

true’}。
86.数据存证需求方定义上述3个字段后,可以发送到存证服务平台。存证服务平台将这3个字段以及部分信息填充到一个数据结构模板中。
87.数据结构模板具体可以是{uniqueid:();version:();author:();createtime:();dataitems:()}。其中uniqueid表示数据结构唯一标识,version表示数据结构的版本号,author表示数据结构的创建者(可以是数据存证需求方),createtime表示数据结构的创建时间,dataitems表示数据结构所包含的数据内容,其中可以包括一个或多个字段内容。
88.经过填充后,数据结构可以是{uniqueid:

001’;version:

1.1’;author:

tom’;createtime:

20210201’;dataitems:“{idx:

001’;code:

companyname’;type:

string’;required:

true’};{idx:

002’;code:

companyid’;type:

string’;required:

true’;maxsize:

100’;minsize:
‘0’
};{idx:

003’;code:

companylocation’;type:

string’;
required:

true’}”}。
89.显然,针对具有统一的字段和数据结构的属性信息表示的不同待存证数据,存证服务平台可以利用基础核验系统模板构建核验系统,并进行核验。
90.通常,数据核验系统可以部署在存证服务平台,从而方便调用存证服务平台本地的核验组件。该实施例中,存证服务平台中可以包括多个数据核验系统,可以利用调用标识进行区分。
91.相对应地,调用标识可以具体是自定义数据结构的唯一标识,以便于根据该标识唯一确定对应的自定义数据结构和对应的数据核验系统。
92.调用标识也可以具体是数据核验系统的唯一标识,以便于根据该标识在存证服务平台本地部署的多个数据核验系统中唯一确定对应的数据核验系统。在后续进行核验时,数据存证需求方可以将调用标识与待存证业务数据一同发送到存证服务平台,便于根据调用标识确定数据核验系统。
93.此外,也可以将核验系统部署到存证服务平台之外。
94.例如,可以将数据核验系统部署在数据存证需求方,可以直接核验待存证的业务数据。如果同一数据存证需求方中部署有多个数据核验系统,可以通过调用标识进行区分。更为具体地,数据存证需求方可以基于调用标识,直接调用本地部署的、对应的数据核验系统核验待存证的业务数据。其中,待利用核验组件进行核验时,由于核验组件可以部署在存证服务平台,因此需要将待存证的业务数据发送到存证服务平台中的核验组件进行核验。可选地,也可以在将数据核验系统部署到数据存证需求方时,将核验组件也一同部署到数据存证需求方,从而无需将业务数据发送到存证服务平台进行核验。
95.又如,在存证服务平台利用区块链网络进行数据存证的实施例中,还可以将数据核验系统部署在区块链网络中。例如,可以根据所构建的自定义数据结构、存在核验需求的字段以及对应的核验组件,生成核验智能合约,并将核验智能合约部署到区块链网络。其中,核验智能合约可以通过调用存证服务平台的核验组件的方式,获得核验能力。
96.基于智能合约得到的核验系统,可以实现由区块链网络对待存证数据进行可信地分布式核验,提高数据核验系统的可信程度。
97.相对应地,调用标识可以包括:区块链网络对应的链标识,与部署于区块链网络的核验智能合约对应的合约标识的关联关系。利用该调用标识,可以先根据链标识确定一条区块链,进而根据合约标识确定该条区块链上对应的核验智能合约。
98.当然,在区块链网络中仅包括一条区块链时,调用标识可以只包括核验智能合约对应的合约标识。
99.上述方法流程中,存证需求方可以借助存证服务平台中预先部署好的通用模板和通用核验组件集合,为待存证数据定制数据结构,并选择用于核验数据结构中至少一个字段的核验组件,以指定构建核验系统所需的业务场景相关配置。然后,存证服务平台可以基于存证需求方指定的业务场景相关配置,为该存证需求方构建专用的数据核验系统。
100.存证服务平台已经预先部署了通用模板与通用核验组件集合作为用于构建核验系统的基础技术设施,存证需求方都仅需要在此基础技术设施的基础上指定业务场景相关配置,即可使得存证服务平台为该存证需求方构建专用的核验系统。如此,避免了不同存证需求方开发各自的核验系统过程中的重复工作,重复工作例如不同存证需求方重复开发核
验相同信息的能力,降低了对于存证需求方开发核验系统的工作量,节约了开发成本。
101.此外,任一数据存证需求方借助存证服务平台,只需要确定字段、以及用于核验字段的核验组件等定制化信息,就可以由存证服务平台构建定制化的数据核验系统,极大地简化了数据存证需求方的操作。
102.进一步地,数据存证需求方可以利用可视化界面的图形化操作,进一步降低操作门槛和难度,无需了解编程知识,方便数据存证需求方的操作。
103.此外,为了提高核验效率,存证服务平台还可以提供一些简单的数据筛选逻辑,经过数据存证需求方指定后添加到数据核验系统中,使得待存证的业务数据可以在通过数据筛选后才能继续后续的核验。
104.简单的数据筛选逻辑例如,限制某个字段值的格式、限制某个字段的取值范围。具体可以是限制位置数据的格式为经纬度,限制交易数据的取值范围为0~50000。
105.数据存证需求方可以指定格式或者取值范围,存证服务平台生成相应的数据筛选逻辑添加到数据核验系统中,以便于针对通过筛选的业务数据进行核验,对于未通过筛选的业务数据可以直接确定该数据不真实,无需进行后续的核验,可以提高核验效率。
106.本说明书还提供了一种应用实施例。如图2所示,为本说明书提供的一种数据核验系统构建方法的原理示意图。其中包括用户、存证服务平台和区块链网络。
107.存证服务平台向用户提供可视化界面。可视化界面中包括通用模板和部署在存证服务平台的全部核验组件。
108.用户可以在可视化界面中的通用模板中输入业务相关的多个字段,并指定部分核验组件用于核验所输入的部分字段。
109.存证服务平台通过可视化界面中的配置接口接收到用户的操作结果,基于所输入的多个字段生成自定义的数据结构,并基于自定义的数据结构、指定的核验组件、以及自定义数据结构中待核验的部分字段,生成核验智能合约,并将核验智能合约部署到区块链网络中,接收并向用户返回合约标识,该合约标识可以用于调用该核验智能合约。
110.基于上述方法流程所构建的数据核验系统,本说明书还提供了一种数据核验方法。
111.如图3所示,为本说明书提供的一种数据核验方法的流程示意图。该方法可以至少包括以下步骤。
112.s201:存证服务平台接收数据存证请求。
113.数据存证请求指定有待存证数据与用于调用数据核验系统的调用标识。
114.其中的调用标识可以是数据存证需求方在存证服务平台构建数据核验系统后接收的。
115.s202:存证服务平台基于数据存证请求中指定的调用标识,调用相应的数据核验系统。
116.基于上述数据核验系统构建方法流程的解释,调用标识可以是数据核验系统的唯一标识。可选地,存证服务平台可以根据调用标识,在多个数据核验系统中唯一确定一个对应的数据核验系统。
117.调用标识还可以包括链标识与合约标识的关联关系。可选地,数据核验系统可以作为智能合约部署在区块链网络中。存证服务平台可以向链标识对应的区块链网络提交:
基于待存证数据封装成的交易。该交易用于调用合约标识对应的核验智能合约,以对待存证数据进行核验。
118.s203:被调用的数据核验系统核验数据存证请求中指定的待存证数据。
119.其中,具体的核验待存证数据可以包括:基于该数据核验系统中配置的自定义数据结构与存在核验需求的字段,从待存证数据中解析出存在核验需求的字段的字段值,并调用对应的核验组件对解析出的字段值进行核验。
120.在上述方法流程中,如果待存证数据核验通过,则可以将待存证数据进行存证。例如,在核验结果表征通过的情况下,将待存证数据封装成交易提交给区块链网络进行存证。
121.当然,在部分实施例中,也可以并不关注待存证数据是否通过核验,直接将待存证数据与核验结果进行存证。例如,存证服务平台可以从数据核验系统获取核验结果;存证服务平台将待存证数据与核验结果封装成交易提交给区块链网络进行存证。后续数据存证需求方可以根据存证的核验结果确定待存证数据是否真实。
122.在具体存证数据时,通常可以将待存证数据存证到区块链网络中。当然也可以针对待存证数据进行中心化存证,本说明书并不限定存证数据的方式。
123.需要注意的是,在利用核验智能合约核验待存证数据的实施例中,为了运行智能合约,需要将待存证数据封装到交易中,并进一步存储到区块链网络中,才能利用核验智能合约对待存证数据进行核验。无论核验智能合约的核验结果表征核验通过或核验未通过,区块链网络都会将待存证数据所在的交易写入区块链,并且,将交易对应的核验结果也锚定到区块链中。
124.此外,在将数据存证到区块链,且利用智能合约来构建核验系统的实施例中,用于存证的区块链与用于部署智能合约的区块链可以不是同一区块链。
125.例如,存证服务平台可以将待存证数据封装到第一交易中存证到第一区块链中,再利用调用标识(具体可以是合约标识)、以及第一交易的摘要封装成第二交易,发送第二交易到维护第二区块链的区块链网络,进而调用第二区块链中部署的核验智能合约,核验智能合约跨链获取第一区块链中的第一交易,进而获取待存证数据进行核验。如此,待存证数据实际上存证于第一区块链中,而核验结果存证于第二区块链中。
126.而针对上述方法流程中的待存证数据,由于待存证数据可以是数据存证需求方的业务数据,因此待存证数据可能存在保密需求,避免因为业务数据泄露导致的其他问题。例如,部分业务数据中可能存在隐私数据,泄露隐私数据可能导致数据存证需求方的损失。
127.在一种可选的实施例中,为了保护待存证数据不被泄露,数据核验系统所在的设备可以设置可信执行区。
128.可信执行区可以具有独立的计算资源和存储区域,其中的计算过程并不会泄露,并且可信执行区中数据的输入输出都具有严格的限制,可以利用可信执行区对数据进行核验,使得待存证数据的明文无法泄露给数据核验系统。
129.此外,可信执行区还可以具有独立的公私钥,数据核验系统都无法获取可信执行区的私钥。具体可以是数据核验系统预先在可信执行区内生成公钥与私钥,并且,将私钥保留在可信执行区内。
130.而待存证数据可以包括:使用可信执行区的公钥对待存证数据明文进行加密得到的待存证数据密文。
131.相对应地,数据核验系统核验待存证数据,可以包括:在可信执行区内,解密待存证数据密文,得到待存证数据明文;在可信执行区内,核验待存证数据明文。具体可以是在可信执行区内调用核验组件核验待存证数据明文。
132.在整个核验过程前后,数据核验系统都无法获取待存证数据明文。
133.此外,如果需要将待存证数据发送到区块链网络中进行存证,由于区块链网络中的数据都是公开的,因此,也需要对存证的数据进行加密。
134.可选地,可以在可信执行区内针对待存证数据明文,利用数据存证需求方的公钥进行加密,并将加密得到的密文存储到区块链网络中,使得只有数据存证需求方可以针对区块链网络中的密文进行解密得到待存证数据明文。
135.也可以在可信执行区内针对待存证数据明文,利用区块链网络的公钥进行加密,并将加密得到的密文存储到区块链网络中。后续数据存证需求方在需要使用已存证的数据时,可以申请区块链网络针对密文进行解密,得到待存证数据明文。
136.除了上述的方法流程,本说明书还提供了两个装置实施例。
137.装置实施例一。
138.如图4所示,为本说明书提供的一种数据核验系统构建装置的结构示意图。该装置可以应用于存证服务平台,存证服务平台可以配置用于定义字段的通用模板以及通用核验组件集合,每个核验组件可以具有对至少一种数据类型的字段值进行核验的能力;存证服务平台可以对接至少一个数据存证需求方,该装置可以用于针对目标存证需求方的待存证数据构建核验系统。
139.该装置具体可以包括以下单元。
140.接口提供单元301:用于向目标存证需求方提供核验需求配置接口,配置接口用于:基于通用模板定义一个或多个字段、以及针对所定义的至少一个字段,从通用核验组件集合中选择用于核验该字段的核验组件。
141.核验需求定义单元302:用于根据目标存证需求方基于配置接口的操作,为目标存证需求方的待存证数据创建自定义数据结构,并确定该自定义数据结构中存在核验需求的字段以及对应的核验组件。
142.核验系统构建单元303:用于根据所创建的自定义数据结构、存在核验需求的字段以及对应的核验组件,构建数据核验系统,将用于调用该数据核验系统的调用标识返回给目标存证需求方。
143.其中,目标存证需求方可以包括:独立软件开发商isv;isv可以对接至少一个数据生产方,待存证数据可以是任一数据生产方生产的数据。
144.通用核验组件集合的配置方法可以包括:接收多个核验第三方分别提交的核验服务接入申请;不同核验第三方具有对不同数据类型的字段值进行核验的能力;针对每个核验第三方,基于该核验第三方的核验能力,配置至少一个核验组件。
145.核验系统构建单元303可以具体用于:根据所构建的自定义数据结构、存在核验需求的字段以及对应的核验组件,生成核验智能合约,并将该核验智能合约部署到区块链网络;其中,该核验智能合约通过调用存证服务平台的核验组件的方式,获得核验能力。相对应地,调用标识可以包括:区块链网络对应的链标识,与部署于区块链网络的核验智能合约对应的合约标识的关联关系。
146.本装置实施例其他解释可以参考上述方法流程。
147.装置实施例二。
148.如图5所示,为本说明书提供的一种数据核验装置的结构示意图。该装置可以应用于存证服务平台,具体可以包括以下单元。
149.接收单元401:用于接收数据存证请求。数据存证请求指定有待存证数据与用于调用数据核验系统的调用标识。
150.调用单元402:用于基于指定的调用标识,调用相应的数据核验系统核验指定的待存证数据。
151.核验指定的待存证数据可以包括:基于该数据核验系统中配置的自定义数据结构与存在核验需求的字段,从待存证数据中解析出存在核验需求的字段值,并调用对应的核验组件对解析出的字段值进行核验。
152.数据核验系统可以具有可信执行区,数据核验系统可以预先在可信执行区内生成公钥与私钥,并且,将私钥保留在所述可信执行区内。待存证数据可以包括:使用该可信执行区的公钥对待存证数据明文进行加密得到的待存证数据密文。
153.核验指定的待存证数据具体可以包括:在可信执行区内,解密待存证数据密文,得到待存证数据明文;在可信执行区内,核验待存证数据明文。
154.在调用标识包括链标识与合约标识的关联关系的情况下,调用单元402具体可以用于:向链标识对应的区块链网络提交:基于待存证数据封装成的交易;该交易用于调用合约标识对应的核验智能合约,以对待存证数据进行核验。
155.调用单元402还可以用于:从数据核验系统获取核验结果;将待存证数据与核验结果封装成交易提交给区块链网络;或者,在核验结果表征通过的情况下,将待存证数据封装成交易提交给区块链网络。
156.本装置实施例的其他解释可以参考上述方法流程。
157.本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现一种数据核验系统构建方法、或者一种数据核验方法中存证服务平台执行的操作。
158.图6示出了本说明书实施例所提供的一种更为具体的计算机设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
159.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
160.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
161.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/
模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
162.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
163.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
164.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
165.本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种数据核验系统构建方法、或者一种数据核验方法中存证服务平台执行的操作。
166.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
167.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
168.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
169.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块
的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
170.以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1