业务数据的批量操作方法、装置及电子设备与流程

文档序号:18400420发布日期:2019-08-09 23:49阅读:304来源:国知局
业务数据的批量操作方法、装置及电子设备与流程

本发明涉及智能合约技术领域,尤其是涉及一种业务数据的批量操作方法、装置及电子设备。



背景技术:

键值存储,即key-value,kv存储,为非关系型数据库,其数据按照键值对的形式进行组织,索引和存储。基于kv数据结构存储的分布式账本系统在存储数据时,上层业务应用通常以key值作为数据索引,通过调用智能合约进行对应数据的增删查改操作。但基于kv数据存储的特性,上层业务应用每次只能根据每个key值操作对应的一条数据记录,对于需要批量操作的数据,也只能通过上层业务应用逐笔调用智能合约进行操作,效率较低,批量数据获取或操作难度较大。



技术实现要素:

本发明的目的在于提供一种业务数据的批量操作方法、装置及电子设备,以缓解了批量数据处理效率低、操作难度大的技术问题。

本发明提供的一种业务数据的批量操作方法,包括:

接收用户对业务数据的批量操作请求;批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式;入参为复合键属性值;其中,每条业务数据预先被构建有对应的复合键key值;

根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作;

接收智能合约返回的业务数据批量操作结果。

进一步的,在接收用户对业务数据的批量操作请求的步骤之前,还包括:

构建每条业务数据对应的复合键key值;

对每条业务数据对应的复合键key值进行存储。

进一步的,构建每条业务数据对应的复合键key值的步骤,包括:

根据业务的业务场景,确定业务对应的复合键属性字段;

基于预先设定的复合键属性字段的优先级,对复合键属性字段进行排序;

根据排序后的复合键属性字段对应的预设字符,及预设字段分隔符,生成每条业务数据对应的复合键key值。

进一步的,根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作的步骤,包括:

将批量操作请求中携带的智能合约的入参及批量操作方式发送至智能合约,以使智能合约执行以下操作:

以复合键属性值为数据索引,从预先存储的每条业务数据对应的复合键key值中进行查找,得到与复合键属性值匹配的目标复合键key值;

根据批量操作方式,对目标复合键key值对应的数据进行相应操作。

进一步的,复合键属性字段的数量为2-4个。

进一步的,复合键属性字段的优先级包括:复合键属性字段对应的数据类型的范围从大到小。

进一步的,批量操作方式包括以下之一:增加、删减、查看和修改。

本发明还提供一种业务数据的批量操作装置,包括:

请求接收模块,用于接收用户对业务数据的批量操作请求;批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式;入参为复合键属性值;

合约调取模块,用于根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作;其中,每条业务数据预先被构建有对应的复合键key值;

批量结果接收模块,用于接收智能合约返回的业务数据批量操作结果。

本发明还提供一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如上述业务数据的批量操作方法的步骤。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述业务数据的批量操作方法的步骤。

本发明提供的业务数据的批量操作方法中,首先接收用户对业务数据的批量操作请求;该批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式,其中,入参为复合键属性值;其中,每条业务数据预先被构建有对应的复合键key值;然后根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作;最后接收智能合约返回的业务数据批量操作结果。本发明在根据批量操作请求调用智能合约时,会传入批量操作请求中携带的智能合约入参,即复合键属性值,而每条业务数据预先被构建有对应的复合键key值,从而可以使智能合约根据所有业务数据对应的复合键key值,查询出所有与复合键属性值匹配的数据,并进行批量处理,进而提高业务数据批量操作的效率。

附图说明

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

图1为本发明实施例提供的一种业务数据的批量操作方法的流程图;

图2为本发明实施例提供的一种业务数据的批量操作方法中构建复合键key值的流程图;

图3为本发明实施例提供的一种复合键key值的构建过程示意图;

图4为本发明实施例提供的一种智能合约批量操作数据的示意图;

图5为本发明实施例提供的一种业务数据的批量操作装置的结构图;

图6为本发明实施例提供的另一种业务数据的批量操作装置的结构图;

图7为本发明实施例提供的一种电子设备的结构图。

具体实施方式

下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种业务数据的批量操作方法,该方法可以应用于多种不同的业务领域,比如,公益平台捐款业务、非单纯记录存证类型的交易业务等,本实施例中,上层业务应用(应用系统服务器)可以调用智能合约,以进行数据的操作。该方法的流程图参见图1所示,具体包括以下步骤:

步骤s102,接收用户对业务数据的批量操作请求;批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式;入参为复合键属性值;其中,每条业务数据预先被构建有对应的复合键key值。

具体实施时,业务应用系统中的每条业务数据预先被构建有对应的复合键key值,该复合键key值有多种生成方式,具体可以见下文所述的一种构建方式。比如,某个业务数据的复合键key值为“项目id-捐款人id-订单id”,那么通过用户可以通过其项目id、捐款人id和订单id中的至少两项作为复合键属性值,即数据索引,进行查找,获取到一个数据范围内对应的多条业务数据。

在具体数据批量操作时,用户可以根据自己的需求发起业务数据批量操作请求,比如,用户想要批量修改某捐款人在某项目中的捐款到账情况,那么就可以选择订单id和捐款人id作为上述复合键属性值,也就是该业务对应的智能合约的入参。由于预先定义了智能合约的功能,智能合约的入参为复合键属性值,因此通过入参可以传入相应的参数供智能合约进行查询。在用户发起业务数据的批量操作请求时,除了选择复合键属性值外,还会选择批量操作的方式,比如:上述批量操作方式包括以下之一:增加、删减、查看和修改。

步骤s104,根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作。

在业务应用服务器接收到上述批量操作请求后,进行智能合约的调取,也就是将请求中携带的复合键属性值及操作方式发送给智能合约,智能合约即可根据复合键属性值查寻需要批量处理的数据范围,并根据操作方式对数据范围内的数据进行批量操作。

步骤s106,接收智能合约返回的业务数据批量操作结果。

最后,智能合约再向业务应用服务器返回数据批量操作的结果,比如,业务应用系统中的某捐款人的捐款数据的状态统一被修改为已捐款状态等。

本发明实施例提供的业务数据的批量操作方法中,首先接收用户对业务数据的批量操作请求;该批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式,其中,入参为复合键属性值;然后根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作;其中,每条业务数据预先被构建有对应的复合键key值;最后接收智能合约返回的业务数据批量操作结果。本发明实施例在根据批量操作请求调用智能合约时,会传入批量操作请求中携带的智能合约入参,即复合键属性值,而每条业务数据预先被构建有对应的复合键key值,从而可以使智能合约根据所有业务数据对应的复合键key值,查询出所有与复合键属性值匹配的数据,并进行批量处理,进而提高业务数据批量操作的效率。

下面列举一个具体实施方式,以某公益平台捐款存证信息的批量操作为例,说明一种构建每条业务数据对应的复合键key值的流程,参见图2所示,该方法包括以下步骤:

步骤s202,根据业务的业务场景,确定业务对应的复合键属性字段。

首先分析业务场景,根据业务特点,确定出该业务对应的复合键属性字段,也就是复合键key值的组成元素。具体的,分析并找到关键数据类型作为复合键属性字段,判断是否为关键数据类型的标准为是否通过该字段可以将多条数据记录区分为不同数据类型,并进行归纳分组。

如公益平台上每笔公益捐款记录中包含公益项目信息,捐款人信息,捐款订单信息,捐款金额等。平台可发起多个公益项目,每个公益项目中可能有若干捐款人参与,每个捐款人均可以进行多笔捐款,每笔捐款均有唯一的订单号。那么就可以选定项目id、捐款人id、订单id为上述复合键属性字段。复合键key值的组成元素,即复合键属性字段不宜过多,本实施例中,以为2-4个复合键属性字段为最佳。

步骤s204,基于预先设定的复合键属性字段的优先级,对复合键属性字段进行排序。

上述复合键属性字段的优先级可以包括:复合键属性字段对应的数据类型的范围从大到小。也就是说,可以根据复合键属性字段对应的数据类型的范围,从大到小进行排序,比如上述选定的复合键属性字段为项目id、捐款人id、订单id,由于在同一个项目下可以有多个捐款人,每个捐款人又可以进行多次捐款,也就会产生多个捐款订单,因此,相对来说,项目id的范围最大,订单id的范围最小,上述多个复合键属性字段的排序结果为:项目id、捐款人id、订单id。

步骤s206,根据排序后的复合键属性字段对应的预设字符,及预设字段分隔符,生成每条业务数据对应的复合键key值。

比如,上述复合键属性字段为项目id、捐款人id、订单id,那么其对应的预设字符可以为gy01、02003、000001,预设字段分隔符可以为“-”或“~”等。以上述规则生成的该条业务数据对应的复合键key值为“gy01~02003~000001”。

步骤s208,对每条业务数据对应的复合键key值进行存储。

对上述每条业务数据对应的复合键key值进行存储,以便智能合约能够根据入参传入的复合键属性值,匹配到对应的批量操作数据。

图3示出了一种复合键key值的构建过程示意图,图中datatype为数据类型,也就是本实施例中所述的复合键属性字段,由从大到小的顺序排列后,为:grade、class、gender、studentid,其对应的预设字符分别为,3、1、1、1601020,最后生成的复合键key值为“3~1~1~1601020”。

进一步的,上述根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作的步骤,具体包括:

将批量操作请求中携带的智能合约的入参及批量操作方式发送至智能合约,以使智能合约执行以下操作:

以复合键属性值为数据索引,从预先存储的每条业务数据对应的复合键key值中进行查找,得到与复合键属性值匹配的目标复合键key值;根据批量操作方式,对目标复合键key值对应的数据进行相应操作。

图4示出了本发明实施例提供的一种智能合约批量操作数据的示意图。左图为现有技术中进行数据批量操作的过程,每次智能合约通过单key值找到一条业务数据,通过上层业务系统与智能合约之间n次的交互,实现对多条业务数据的操作。右图为本发明实施例中的业务数据批量处理过程,基于预设的每条业务数据对应的复合键key值,智能合约通过入参传入的批量操作请求中的复合键属性值,一次性匹配到满足条件的n笔记录,即多条业务数据,并对其进行统一操作,以实现业务数据的批量操作。

本发明实施例提供的业务数据的批量操作方法,通过复合键key值的设计,可以查询出所有满足复合键定义,即复合键属性值的数据,并进行批量处理。并通过单次获取多条记录,减少上层业务应用与智能合约多次交互导致的资源消耗。此外,由于上层业务系统与智能合约服务间交互次数的减少,减轻了网络压力。

基于上述方法实施例,本发明实施例还提供一种业务数据的批量操作装置,参见图5所示,该装置包括:请求接收模块502、合约调取模块504和批量结果接收模块506。

其中,请求接收模块502,用于接收用户对业务数据的批量操作请求;批量操作请求中携带有与该业务对应的智能合约的入参及批量操作方式;入参为复合键属性值;合约调取模块504,用于根据批量操作请求调取智能合约,以使智能合约基于复合键属性值及操作方式,完成批量操作请求对应的业务数据批量操作;其中,每条业务数据预先被构建有对应的复合键key值;批量结果接收模块506,用于接收智能合约返回的业务数据批量操作结果。

本发明实施例所提供的业务数据的批量操作装置,在根据批量操作请求调用智能合约时,会传入批量操作请求中携带的智能合约入参,即复合键属性值,而每条业务数据预先被构建有对应的复合键key值,从而可以使智能合约根据所有业务数据对应的复合键key值,查询出所有与复合键属性值匹配的数据,并进行批量处理,进而提高业务数据批量操作的效率。

参见图6所示,在另一种实施方式中,业务数据的批量操作装置中除了包括与上一实施例类似的请求接收模块602、合约调取模块604和批量结果接收模块606外,还包括:复合键key值构建模块608和复合键key值存储模块610。

其中,复合键key值构建模块608用于构建每条业务数据对应的复合键key值;复合键key值存储模块610用于对每条业务数据对应的复合键key值进行存储。

进一步的,上述复合键key值构建模块608还用于:根据业务的业务场景,确定业务对应的复合键属性字段;基于预先设定的复合键属性字段的优先级,对复合键属性字段进行排序;根据排序后的复合键属性字段对应的预设字符,及预设字段分隔符,生成每条业务数据对应的复合键key值。

进一步的,上述合约调取模块604还用于:将批量操作请求中携带的智能合约的入参及批量操作方式发送至智能合约,以使智能合约执行以下操作:

以复合键属性值为数据索引,从预先存储的每条业务数据对应的复合键key值中进行查找,得到与复合键属性值匹配的目标复合键key值;根据批量操作方式,对目标复合键key值对应的数据进行相应操作。

进一步的,上述复合键属性字段的数量为2-4个。

进一步的,上述复合键属性字段的优先级包括:复合键属性字段对应的数据类型的范围从大到小。

进一步的,上述批量操作方式包括以下之一:增加、删减、查看和修改。

上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。

为便于理解,图7示出根据本发明的一些实施例的可以实现本发明思想的电子设备700的示例性硬件和软件组件的示意图。例如,处理器720可以用于电子设备700上,并且用于执行本发明实施例中的功能。

电子设备700可以是通用计算机或特殊用途的计算机,两者都可以用于实现本发明实施例的业务数据的批量操作方法。本发明实施例尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本发明实施例描述的功能,以均衡处理负载。

例如,电子设备700可以包括连接到网络的网络端口710、用于执行程序指令的一个或多个处理器720、通信总线730和不同形式的存储介质740,例如,磁盘、rom或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram或其他类型的非暂时性存储介质或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备700还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口750。

为了便于说明,在电子设备700中仅描述了一个处理器。然而,应当注意,本发明实施例中的电子设备700还可以包括多个处理器,因此本发明实施例中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备700的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述业务数据的批量操作方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考方法实施例中的对应过程,本发明实施例中不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1