一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、电子设备和存储介质与流程

2022-02-22 09:10:31 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、电子设备和存储介质。


背景技术:

2.安全多方计算(secure multi-party computation,mpc)是解决一组互不信任的参与方之间保护隐私的协同计算问题,mpc要确保输入的独立性、计算的正确性、去中心化等特征,同时不泄露各输入值给参与计算的其他成员。主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题,同时要求每个参与主体除了计算结果外不能得到其他实体任何的输入信息。安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
3.安全多方计算最早是由华裔计算机科学家、图灵奖获得者姚启智教授通过百万富翁问题提出的。该问题表述为:两个百万富翁alice和bob想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息。在双方都不提供真实财富信息的情况下,如果比较两个人的财富多少,并给出可信证明。
4.安全多方计算通常基于针对特定问题的配置特定算法,比如在不知道其他方数据的前提下与本方数据进行比较,求其他两方数据之和等等。
5.然而,相关技术中的安全多方计算通常按照同步的思路编写的算法。算法在执行过程中,算法的各参方对各自的数据进行同步计算,算法执行效率较低。


技术实现要素:

6.本技术提供了一种数据处理方法、装置、电子设备和存储介质,用以解决现有技术中,安全多方计算通常按照同步的思路编写的算法,算法在执行过程中,算法的各参方对各自的数据进行同步计算,算法执行效率较低的问题。
7.第一方面,本技术实施例提供了一种数据处理方法,包括:
8.在获取到触发指令后,调用元函数集合中的开始元函数,通过所述开始元函数对所述触发指令中携带的初始计算数据进行处理,得到第一数据;所述元函数集合是对目标算法拆分后得到的元函数的集合;
9.缓存所述第一数据;
10.每监测到发生数据缓存操作后,根据缓存的待处理数据,调用所述元函数集合中可调用的目标元函数,通过所述目标元函数对所述待处理数据进行数据处理,并返回处理得到的第二数据;
11.若所述目标元函数调用结束函数,确定所述第二数据为计算结果;
12.若所述目标元函数未调用所述结束函数,缓存所述第二数据。
13.可选的,所述通过所述目标元函数对所述待处理数据进行数据处理,并返回处理得到的第二数据,包括:
14.提取所述待处理数据中,所述目标元函数对应的目标待处理数据;
15.发送所述目标待处理数据至所述目标元函数,以通过所述目标元函数对所述目标待处理数据进行数据处理,得到所述第二数据,并将所述第二数据返回。
16.可选的,所述根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,包括:
17.确定满足调用条件的所述元函数为所述目标元函数,所述调用条件为所述待处理数据中包括所述元函数的输入参数对应的所有数据。
18.可选的,对目标算法进行拆分得到所述元函数集合的过程包括:
19.确定所述目标算法中的数据输入节点和数据输出节点;
20.将所述数据输入节点到相邻的所述数据输出节点间的数据,从所述目标算法中拆分出来,得到所述元函数;
21.确定所述元函数的集合为所述元函数集合。
22.可选的,所述目标算法通过以下方式得到:
23.获取原始算法;
24.确定所述原始算法中的数据调用节点和数据处理结果节点;
25.在所述数据调用节点配置所述数据输入节点,所述数据输入节点配置与调用数据对应的输入参数;
26.以及在所述数据处理结果节点配置数据输出节点。
27.可选的,所述待处理数据包括外部获取的第三数据时,所述根据缓存的待处理数据,调用元函数集合中可调用的目标元函数之前,还包括:
28.获取外部发送第一数据类型和第一序列化数据;
29.根据所述第一数据类型,将所述字节序列反序列化,得到反序列化数据;
30.确定所述反序列化数据和所述第一数据类型为所述第三数据。
31.可选的,所述第二数据包括加密数据;所述缓存所述第二数据之后,还包括:
32.序列化所述加密数据,得到第二序列化数据;
33.发送所述加密数据的第二数据类型和所述第二序列化数据至数据接受方。
34.第二方面,本技术实施例提供了一种数据处理装置,包括:
35.获取模块,用于在获取到触发指令后,调用开始元函数,通过所述开始元函数对所述触发指令中携带的初始计算数据进行处理,得到第一数据;
36.第一缓存模块,用于缓存所述第一数据;
37.调用模块,用于每监测到发生数据缓存操作,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,通过所述目标元函数对所述待处理数据进行数据处理,并返回处理得到的第二数据;所述元函数集合是对目标算法拆分后得到的元函数的集合;
38.确定模块,用于若所述目标元函数调用结束函数,确定所述第二数据为计算结果。
39.第二缓存模块,用于若所述目标元函数未调用所述结束函数,缓存所述第二数据。
40.第三方面,本技术实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
41.所述存储器,用于存储计算机程序;
42.所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的数据处
理方法。
43.第四方面,本技术实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据处理方法。
44.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的该方法,通过在获取到触发指令后,调用元函数集合中的开始元函数,通过开始元函数对触发指令中携带的初始计算数据进行处理,得到第一数据;缓存第一数据;每监测到发生数据缓存操作,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,通过目标元函数对待处理数据进行数据处理,并返回处理得到的第二数据;元函数集合是对目标算法拆分后得到的元函数的集合;若目标元函数调用结束函数,确定第二数据为计算结果。如此,在将目标算法拆分后,利用拆分得到的元函数集合对算法执行,在获取到触发指令后,直接调用元函数集合中的开始元函数,并且,将开始元函数处理得到的第一数据进行缓存,通过监测到发生数据缓存操作,自动调用目标元函数,实现了由数据触发算法中元函数执行的目的;并且,对于不同的参与方,监测到发生数据缓存操作,即可调用可调用的目标元函数,实现了算法计算过程中的异步执行,提高了算法的执行效率。
附图说明
45.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
47.图1为本技术一实施例提供的数据处理方法的应用场景图;
48.图2为本技术一实施例提供的数据处理方法中的交互示意图;
49.图3为本技术一实施例提供的数据处理方法的流程图;
50.图4为本技术另一实施例提供的数据处理方法的流程图;
51.图5为本技术一实施例提供的数据处理装置的结构图;
52.图6为本技术一实施例提供的电子设备的结构图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.根据本技术一实施例提供了一种数据处理方法。可选地,在本技术实施例中,上述数据处理方法可以应用于如图1所示的由终端101和服务器102所构成的硬件环境中。如图1所示,服务器102通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器102提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于pc、手机、平板电脑等。
55.本技术实施例的数据处理方法可以由服务器102来执行,也可以由终端101来执行,还可以是由服务器102和终端101共同执行。其中,终端101执行本技术实施例的数据处理方法,也可以是由安装在其上的客户端来执行。
56.以终端执行本技术实施例的数据处理方法为例,在本技术的数据处理方法执行前,先对目标算法进行拆分,得到元函数集合。参见图2,在终端上设置算法流程控制器和算法实例。
57.其中,算法实例是目标算法的实现,本质是由算法逻辑的一系列元函数组成,需要声明元函数列表,并将元函数列表发送至算法流程控制器。
58.算法流程控制器是用于控制算法流程执行的组件,用于数据发送数据接收,元函数管理以及中间数据缓存。
59.算法流程控制器能够通过提供算法上下文参数的方式供算法编写者获取一些算法上下文的信息,以及发送数据给指定方,同时也提供注册函数将元函数注册到控制器中。
60.算法流程控制器管理由算法实例注册的元函数列表,在算法执行时,首先调用开始元函数,并将元函数返回的数据进行缓存。算法流程控制器管理存储元函数返回的数据和通过网络接收到的数据,每次进行缓存时,则会触发扫描操作,从元函数列表中扫描出所有输入参数都已在缓存中存在的数据,并从缓存中取出输入参数对应的数据,进行异步调用。当元函数通过算法上下文参数调用数据发送时,算法流程控制器会对数据进行序列化,将序列化后的字节序列和数据类型通过网络i/o(输入/输出)一起发送给接收者。接收方通过网络i/o接收到后,根据数据类型将字节序列反序列化成对应的数据,并缓存。
61.其中,元函数是指用于描述一段算法逻辑的特殊函数,元函数的输入来自于上一步执行的元函数产生的或者来自于算法其他参与方发送来的,元函数的输出会成为下一步待执行元函数的输入。元函数是由需要的输入数据驱动执行的,无需由算法编写者主动调用,元函数会由算法流程控制组件在满足输入要求后自动调用。
62.元函数内部可以通过算法上下文参数发送数据给其他方。发送的数据通过元函数的输入参数接收,无需以同步方式主动接受。元函数分为普通元函数和开始元函数,开始元函数是指除上下文参数外没有其他输入的特殊元函数,是整个算法的开始。
63.图3是根据本技术实施例的一种可选的数据处理方法的流程示意图,如图3所示,该方法的流程可以包括以下步骤:
64.步骤301、在获取到触发指令后,调用元函数集合中的开始元函数,通过开始元函数对触发指令中携带的初始计算数据进行处理,得到第一数据;元函数集合是对目标算法拆分后得到的元函数的集合。
65.一些实施例中,触发指令可以是用户在输入初始计算数据后,通过点击相关按钮(如开始计算按钮)后触发得到的。触发指令中携带有初始计算数据,在获取到该触发指令后,便可以调用开始元函数,由开始元函数对初始计算数据进行处理,得到第一数据。
66.在一个可选实施例中,对目标算法进行拆分得到元函数集合的过程包括:
67.确定目标算法中的数据输入节点和数据输出节点;将数据输入节点到相邻的数据输出节点间的数据,从目标算法中拆分出来,得到元函数;确定元函数的集合为元函数集合。
68.一些实施例中,目标算法中存在数据输入节点和数据输出节点,通过将数据输入
节点到与其相连的数据输出节点间的数据作为元函数中的数据,并从目标算法中拆分出来,从而得到多个元函数。
69.在一个可选实施例中,目标算法通过以下方式得到:
70.获取原始算法;确定原始算法中的数据调用节点和数据处理结果节点;在数据调用节点配置数据输入节点,数据输入节点配置与调用数据对应的输入参数;以及在数据处理结果节点配置数据输出节点。
71.其中,原始算法的种类有多种,对于任一算法均可以按照上述的数据调用节点和数据处理结果节点,作为元函数的起始进行拆分。示例性的,原始算法为多方交互式计算算法,如安全多方计算算法。
72.数据调用节点,是指原始算法中的某一算法片段调用其他算法片段的计算结果或者其他参与方发送的数据时,采用的节点。
73.数据处理结果节点,是指原始算法中的某一算法片段运算完成后得到的数据结果的节点。
74.通过在数据调用节点配置数据输入节点,并为该数据输入节点配置与调用数据对应的输入参数,使得该数据输入节点能够识别输入其对应的元函数的数据。以及,通过在数据处理结果节点配置数据输出节点,实现了将原始算法由一个整体,按照数据输入节点和数据输出节点拆分成多个元函数的目的。
75.需要说明的是,在目标算法拆分完成后,可以根据算法参与方的不同,将每个参与方需要的元函数发送至对应的参与方。
76.步骤302、缓存第一数据。
77.一些实施例中,在开始元函数处理得到第一数据后,会将第一数据返回至算法流程控制器中,由算法流程控制器将第一数据缓存。
78.步骤303、每监测到发生数据缓存操作后,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,通过目标元函数对待处理数据进行数据处理,并返回处理得到的第二数据。若目标元函数调用结束函数,执行步骤304,若目标元函数未调用结束函数,执行步骤305。
79.一些实施例中,在算法流程控制器监测到数据缓存操作后,便会扫描元函数列表,确定其中可调用的目标元函数,进而由目标元函数对待处理数据进行数据处理,在处理完成后目标元函数将得到的第二数据返回到算法流程控制器中。如此,通过缓存的待处理数据触发目标元函数的调用,实现了自动调用,无需人为参与。
80.在一个可选实施例中,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,包括:
81.确定满足调用条件的元函数为目标元函数,调用条件为待处理数据中包括元函数的输入参数对应的所有数据。
82.一些实施例中,在调用元函数集合中包括多个元函数,在每次算法流程控制器中每次缓存数据后,算法流程控制器根据元函数的调用条件,筛选出能够调用的目标元函数。其中,元函数的调用条件为该元函数的输入参数对应的数据均在缓存的待处理数据中,进而,算法流程控制器通过调用目标元函数,由目标元函数扫描到算法流程控制器中对应的数据,从而完成数据的处理。
83.在一个可选实施例中,待处理数据包括外部获取的第三数据时,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数之前,还包括:
84.获取外部发送第一数据类型和第一序列化数据;根据第一数据类型,将字节序列反序列化,得到反序列化数据;确定反序列化数据和第一数据类型为第三数据。
85.一些实施例中,在目标算法为多方参与计算的算法时,由于涉及到多方数据的交互,在一方的数据通过网络发送至另一方时,数据的传输形式往往为序列化数据。因此,在待处理数据中包括外部获取的第三数据时,由于外部发送的数据为序列化后的数据,即第一序列化数据和对应的第一数据类型,算法流程控制器在获取到外部发送的第一序列化数据和第一数据类型后,会将第一序列化数据进行反序列化,从而将反序列化数据和第一数据类型作为第三数据。通过将算法拆分为多个元函数,并由算法流程控制器对外部发送的数据进行序列化或反序列化,使得算法无需在关注网络层面的数据,无需元数据对外部发送的数据进行序列化或反序列化,提高了算法执行效率。
86.其中,外部可以是其他算法参与方。
87.步骤304、确定第二数据为计算结果。
88.一些实施例中,在确定的目标元函数调用结束函数后,表示在该目标元函数计算完成后,得到的结果变为最终的输出结果,即上述的第二数据为计算结果。
89.步骤305、缓存第二数据。
90.一些实施例中,若目标元函数未调用结束函数,则表示该目标元函数计算完成后,算法还需要继续运行,将其计算得到的第二数据缓存到算法流程控制器中,从而触发该方法再次执行步骤203,直至目标元函数调用结束函数。
91.在一个可选实施例中,第二数据包括加密数据;缓存第二数据之后,还包括:
92.序列化加密数据,得到第二序列化数据;发送加密数据的第二数据类型和第二序列化数据至数据接受方。
93.基于上述相关实施例,在目标算法为多方参与计算的算法时,由于涉及到多方数据的交互,在一方的数据通过网络发送至另一方时,数据的传输形式往往为序列化数据。因此,在第二数据中包括加密数据时,该加密数据需要通过网络i/o发送至外部,因此,需要对加密数据进行序列化,将得到的第二序列化数据和加密数据的第二数据类型,发送至数据接受方。
94.本技术的数据处理方法中,算法的调用可分为初始化阶段和算法执行阶段,对于一个算法的多次调用,只需执行一次初始化阶段。
95.其中,初始化阶段:算法实例组件通过注册函数将所有元函数的信息注册到算法流程控制器中,算法流程控制器会存储元函数的输入参数类型列表,以及开始元函数和普通元函数本身。
96.算法执行阶段:控制器首先调用开始元函数,普通元函数列表通过控制器自动调用,最后在元函数中通过算法上下文参数调用结束函数时,传出算法执行结果。
97.在一个具体实施例中,参见图4以目标算法为安全多方计算算法,包括发起方和参与方为例。
98.对于算法发起方:发起方的算法流程控制器首先调用开始元函数,执行完成后返回data1数据,存储在缓存中并扫描可调用的普通元函数,扫描到普通元函数1需要data1满
足调用要求,进行异步调用;
99.普通元函数1调用时,异步发送数据msg1(即上述的加密数据)给参与方,执行结束后返回data2,存储在缓存中并扫描可调用的普通元函数,未扫描到可调用的普通元函数,进行等待;
100.接收参与方发来的msg2数据,存储在缓存中并扫描可调用的普通元函数,扫描到普通元函数4需要data2和msg2满足调用要求,进行异步调用;
101.普通元函数4调用时通过算法上下文参数调用finish函数(即上述的结束)传入执行结果,结束算法的调用流程。
102.对于算法参与方:参与方的算法流程控制器首先调用开始元函数,执行完成后返回data3数据,存储在缓存中并扫描可调用的普通元函数,未扫描到可调用的普通元函数,进行等待;
103.接收发起方发来的msg1数据,存储在缓存中并扫描可调用的普通元函数,扫描到普通元函数2需要data3和msg1满足调用要求,进行异步调用;
104.普通元函数2执行结束后返回data4,存储在缓存中并扫描可调用的普通元函数,扫描到普通元函数3需要data4满足调用要求,进行异步调用;
105.普通元函数3调用时异步发送数据msg2给发起方,执行结束后未返回数据,未触发扫描。
106.可以理解的是,上述元函数的数量仅用于示例,并不表示只能将算法拆分成了上述数量的元函数。
107.本技术的数据处理方法,能够解耦网络和算法本身的流程逻辑,算法编写者无需关注网络层面,可聚焦于算法本身更容易的编写复杂的逻辑。并且,算法之间进行嵌套调用方便,算法的部分逻辑很容易复用(通过复用普通元函数)。另外,算法是基于数据驱动进行异步执行,通过将网络传输操作和本地计算操作并行,可以提高算法效率。
108.基于同一构思,本技术实施例中提供了一种数据处理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该装置主要包括:
109.获取模块501,用于在获取到触发指令后,调用开始元函数,通过开始元函数对触发指令中携带的初始计算数据进行处理,得到第一数据;
110.第一缓存模块502,用于缓存第一数据;
111.调用模块503,用于每监测到发生数据缓存操作,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,通过目标元函数对待处理数据进行数据处理,并返回处理得到的第二数据;元函数集合是对目标算法拆分后得到的元函数的集合;
112.确定模块504,用于若目标元函数调用结束函数,确定第二数据为计算结果。
113.第二缓存模块505,用于若目标元函数未调用结束函数,缓存第二数据。
114.基于同一构思,本技术实施例中还提供了一种电子设备,如图6所示,该电子设备主要包括:处理器601、存储器602和通信总线603,其中,处理器601和存储器602通过通信总线603完成相互间的通信。其中,存储器602中存储有可被处理器601执行的程序,处理器601执行存储器602中存储的程序,实现如下步骤:
115.在获取到触发指令后,调用元函数集合中的开始元函数,通过开始元函数对触发指令中携带的初始计算数据进行处理,得到第一数据;元函数集合是对目标算法拆分后得
到的元函数的集合;
116.缓存第一数据;
117.每监测到发生数据缓存操作后,根据缓存的待处理数据,调用元函数集合中可调用的目标元函数,通过目标元函数对待处理数据进行数据处理,并返回处理得到的第二数据;
118.若目标元函数调用结束函数,确定第二数据为计算结果;
119.若目标元函数未调用结束函数,缓存第二数据。
120.上述电子设备中提到的通信总线603可以时外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
121.存储器602可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器601的存储装置。
122.上述的处理器601可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
123.在本技术的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的数据处理方法。
124.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
125.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设
备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
126.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献