CN117951341A - 基于区块链的业务处理方法、装置、设备、介质及产品 - Google Patents

基于区块链的业务处理方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN117951341A
CN117951341A CN202311459827.4A CN202311459827A CN117951341A CN 117951341 A CN117951341 A CN 117951341A CN 202311459827 A CN202311459827 A CN 202311459827A CN 117951341 A CN117951341 A CN 117951341A
Authority
CN
China
Prior art keywords
target account
account
data
service
business
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.)
Pending
Application number
CN202311459827.4A
Other languages
English (en)
Inventor
黄杨峻
梁军
蔡庆普
吴方
王宗友
朱耿良
时一防
廖志勇
聂凯轩
刘区城
刘汉卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311459827.4A priority Critical patent/CN117951341A/zh
Publication of CN117951341A publication Critical patent/CN117951341A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提出一种基于区块链的业务处理方法、装置、设备、介质及产品。该方法包括:接收图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于目标账户的标识,获取区块链中关于目标账户的业务数据集;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;按照所述目标账户和数据分析结果,生成针对目标账户的业务有向图谱,该业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。本申请能够按照图谱的方式对区块链上各个账户所产生的业务数据进行可视化展示,能够基于业务有向图谱直观反映出不同账户之间的业务关系,可提高业务处理的灵活性。

Description

基于区块链的业务处理方法、装置、设备、介质及产品
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的业务处理方法、一种基于区块链的业务处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
随着区块链技术的飞速发展,区块链上衍生出丰富多样的业务,诸如:资产交易业务、游戏业务、电子发票业务等等。伴随着这些业务在区块链中的执行,随之所产生的业务数据也日益增加。目前,对链上数据的展示方式通常是直接统计业务数据的数量、区块高度等信息,数据展示不够直观。
发明内容
本申请实施例提出了一种基于区块链的业务处理方法、装置、设备、介质及产品,能够按照图谱的方式对区块链上各个账户所产生的业务数据进行可视化展示,能够基于业务有向图谱直观反映出不同账户之间的业务关系,可提高业务处理的灵活性。
一方面,本申请实施例提供了一种基于区块链的业务处理方法,该方法包括:
接收图谱查询请求,图谱查询请求用于请求查询关于目标账户的业务有向图谱,图谱查询请求中包括需查询的目标账户的标识;
基于目标账户的标识,获取区块链中关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据;
对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;
按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;
输出目标账户的业务有向图谱。
一方面,本申请实施例提供了一种基于区块链的业务处理装置,该装置包括:
接收单元,用于接收图谱查询请求,图谱查询请求用于请求查询关于目标账户的业务有向图谱,图谱查询请求中包括需查询的目标账户的标识;
处理单元,用于基于目标账户的标识,获取区块链中关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据;
处理单元,还用于对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;
处理单元,还用于按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;
输出单元,还用于输出目标账户的业务有向图谱。
在一种可能的实现方式中,业务处理方法应用于业务可视化平台,业务可视化平台中部署有事件检测服务,该事件检测服务用于对业务可视化平台所关联的区块链进行事件检测。处理单元基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用事件检测服务,对区块链中产生的合约事件进行检测处理,得到合约事件信息;合约事件是指调用智能合约执行交易所产生的事件,检测处理的方式包括:同步检测、异步检测、定期检测中的任一种或多种;
对合约事件信息进行筛选处理,得到与目标账户的标识相匹配的第一交易数据;
将第一交易数据作为与目标账户相关联的业务数据,并将第一交易数据添加至业务数据集中。
在一种可能的实现方式中,业务可视化平台中还部署有区块解析服务;处理单元基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用区块解析服务,对区块链包括的各个区块进行数据解析,得到数据解析结果,数据解析结果中包括与多个账户的标识相匹配的交易数据;
基于目标账户的标识,从数据解析结果中获取与目标账户的标识相匹配的第二交易数据;
将第二交易数据作为与目标账户相关联的业务数据,并将第二交易数据添加至业务数据集中。
在一种可能的实现方式中,处理单元基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
确定区块链中至少一个关键账户,关键账户包括:持有数字资产的资产量大于或者等于数量阈值的账户、部署智能合约的账户、具备管理权限的账户中的任一种或多种;
若关键账户的标识包括目标账户的标识,则在区块链包括的所有区块中获取与关键账户相关联的第三交易数据;
将获取到的第三交易数据添加至业务数据集中。
在一种可能的实现方式中,处理单元基于目标账户的标识,获取区块链中关于目标账户的业务数据集之后,还用于执行以下操作:
对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集;
采用预处理后的业务数据集进行数据分析,得到关于目标账户的数据分析结果;
其中,数据预处理的方式包括:数据去重处理、格式转换处理、数据填充处理、归一化处理等任一种或多种方式。
在一种可能的实现方式中,数据预处理方式包括数据去重处理方式;处理单元对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,用于执行以下操作:
采用聚类算法,对业务数据集中的各个业务数据进行聚类处理,得到K个业务数据簇,任一个业务数据簇中包括:一个簇中心和至少一个业务数据,K为正整数;
对每个业务数据簇中的各个业务数据与簇中心之间进行相似度计算,并将相似度大于或者等于相似度阈值的业务数据进行去重处理,得到去重处理后的业务数据簇;
基于去重处理后的K个业务数据簇,确定预处理后的业务数据集。
在一种可能的实现方式中,业务数据集中的任一业务数据涉及数字资产,业务数据包括:接收账户的地址、转移账户的地址、以及待交易的数字资产的资产量;处理单元对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,还用于执行以下操作:
分析业务数据集中各个业务数据,筛选得到无效数据;其中,无效数据包括:接收账户的地址与转移账户的地址相同的业务数据、接收账户的地址为空的业务数据、资产量小于数字资产的价值的业务数据中的任一种或多种;
将无效数据从业务数据集中进行删除处理,得到预处理后的业务数据集。
在一种可能的实现方式中,业务有向图谱包括:多个节点及至少一条连接边,多个节点包括:一个中心点及N个关联点,任一条连接边用于连接中心点与任一个关联点;处理单元按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱,用于执行以下操作:
将目标账户作为中心点,并将每个关联账户作为一个关联点;
按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的一条连接边;
基于确定出来的中心点、N个关联点及连接边,生成针对目标账户的业务有向图谱。
在一种可能的实现方式中,关联关系用于指示:关联账户与目标账户之间进行交易所涉及的数字资产的流转额度;中心点表示为中心点i,N个关联点中的任一个关联点表示为关联点j,中心点i与关联点j之间具备连接边ij;处理单元按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的连接边,用于执行以下操作:
按照任一个关联账户与目标账户之间的关联关系所指示的流转额度,确定中心点i与关联点j之间的连接边ij的边属性;
基于连接边ij的边属性,绘制中心点i与关联点j之间的连接边ij;
其中,边属性包括:颜色、尺寸、类别中的任一种或多种。
在一种可能的实现方式中,处理单元还用于执行以下操作:
获取任一个关联账户的类型;
若关联账户的类型为关键账户类型,则为关联账户对应的关联点i设置点属性,点属性包括:颜色、尺寸、类型中的任一种或多种;
按照关联点i的点属性,绘制关联点。
在一种可能的实现方式中,处理单元按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱之后,还用于执行以下操作:
对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点;
在区块链中定位与异常节点相关联的异常交易,并对异常交易进行安全处理;
其中,安全处理包括:对异常交易中涉及的数字资产进行冻结处理、对异常交易中的交易对象进行权限管理、对异常交易的交易过程进行拦截处理中的任一种或多种。
在一种可能的实现方式中,业务有向图谱中的任一条连接边具备指示方向,指示方向用于指示数字资产在目标账户与关联账户之间的流转关系,流转关系包括流入关系与流出关系;连接边携带有数字资产在目标账户与关联账户之间的流转额度;处理单元对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点,用于执行以下操作:
分析目标账户的业务有向图谱中的各条连接边,计算流入目标账户的数字资产的第一流转额度;以及,
计算流出目标账户的数字资产的第二流转额度;
获取目标账户所持有的数字资产的余额量;
若第一流转额度不等于第一流转额度及余额量的总和,则将目标账户对应的中心点作为异常节点。
一方面,本申请实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的基于区块链的业务处理方法。
一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的基于区块链的业务处理方法。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的基于区块链的业务处理方法。
本申请实施例中,在需要查询目标账户的业务有向图谱时,可以响应于图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于该目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术对象来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务有向图谱的结构示意图;
图2a是本申请实施例提供的一种区块链系统的结构示意图;
图2b是本申请实施例提供的一种区块链的结构示意图;
图3是本申请实施例提供的一种基于区块链的业务处理系统的结构示意图;
图4是本申请实施例提供的一种基于区块链的业务处理方法的流程示意图;
图5是本申请实施例提供的一种输出业务有向图谱的场景示意图;
图6是本申请实施例提供的另一种业务有向图谱的结构示意图;
图7是本申请实施例提供的一种基于区块链的业务处理方法的交互流程图;
图8是本申请实施例提供的一种基于区块链的业务处理装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供了一种基于区块链的业务处理方案,能够按照图谱结构对目标账户在区块链上所产生的业务数据进行可视化展示,以便于用户能够从业务有向图谱中直观了解各个账户之间的交易关系,从而基于业务有向图谱能够更加灵活且便捷地对业务处理过程进行分析处理,提高交易分析的准确性。详细来说,本申请提供的基于区块链的业务处理方案的原理大致包括如下步骤1)-5):
1)当目标对象需请求查询目标账户相关的业务有向图谱时,可在客户端向业务可视化平台发起一笔图谱查询请求。其中,该图谱查询请求用于请求查询关于目标账户的业务有向图谱,该图谱查询请求中包括需查询的目标账户的标识。
2)业务可视化平台可以基于目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据。其中,该业务数据可以包括:资产处理(俗称转账)所产生的数据、调用合约所产生的数据等等。
3)接下来可以对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数。
4)按照目标账户、N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况。
5)输出目标账户的业务有向图谱。
由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
下面对本申请涉及到的关键技术术语进行详细介绍。
一、业务数据、数字资产
业务数据是指执行业务所产生的数据,此处的业务可以包括:交易业务、合约业务、游戏业务等任意类型的业务。其中,交易业务是指基于交易所执行的业务,所谓交易是指在两个或多个交易方之间让渡所有权或使用权形成新的资产或负债而产生的金融流量;合约业务是指基于智能合约所执行的业务;游戏业务是指基于游戏所执行的业务。本申请中,交易是指在区块链系统中产生的、能够使数字资产之间产生流转的过程,其中,区块链系统中涉及多种不同类型的交易。例如,区块链系统中任一账户向另一账户进行资产转移的过程可以认为是一笔资产类型的交易,在该资产类型的交易过程中所产生的资产数据可以作为一个业务数据;又如,区块链系统中任一账户调用智能合约进行业务处理的过程也可以认为是一笔合约类型的交易,在该合约类型的交易过程中所产生的合约数据也可以作为一个业务数据;还如,区块链系统中任一游戏角色进行游戏资产的充值过程也可认为是一笔游戏类型的交易,在该游戏类型的交易过程中所产生的游戏数据也可以作为一个业务数据。因此,本申请涉及的业务数据的类型可包括但不限于:资产类型、合约类型、及游戏类型等等,本申请并不对业务数据的类型进行具体限定。
数字资产作为价值的数字化表示,其可以作为支付手段,也可以通过电子形式进行转移、存储或价值交换,如前述,数字资产依托于交易,即在交易过程中涉及数字资产,具体涉及对数字资产的处理。其中,所谓数字资产是一种任意类型的虚拟资产,该虚拟资产可以为区块链上的资产,也可以为区块链下的资产。例如,数字资产可以包括:数字藏品、电子发票、游戏资产、Token、ETH等任意类型的资产,本申请不对数字资产的类型进行具体限定。
二、目标账户及关联账户
目标账户是指区块链中多个账户中的任一个,所谓账户是一种用于管理数字资产的载体,一个账户对应一个对象,即一个对象在区块链中拥有一个唯一的账户。例如目标对象在区块链上对应目标账户,该目标对象所持有的数字资产存储于该目标对象的目标账户中,目标账户中所存储的数字资产基于交易过程而产生流转,例如目标对象需转出指定数额的数字资产,则目标账户中的数字资产的资产量则会按照指定数额被扣除;又如目标对象被转入指定数额的数字资产,则目标账户中的数字资产的资产量则会按照指定数额被增加。
关联账户是指在交易过程中与目标账户具备关联关系的账户。在一笔交易中,一个目标账户可对应一个或多个关联账户,例如对象A需向对象B转移数字资产,则该对象A所在的账户可作为目标账户,对象B所在的账户可作为关联账户;又如,对象A需向对象B、C同时转移数字资产,则该对象A所在的账户可作为目标账户,对象B所在的账户、及对象C所在的账户均可作为关联账户。
目标账户与关联账户之间具备关联关系,此处的关联关系可用于反映目标账户与关联账户在交易过程中关于数字资产的流转情况,例如流转情况包括:流转资产额、流转方向、流转时间、以及流转次数等等。例如,目标账户A向关联账户B转移指定数额x的数字资产,则在该交易过程中涉及到的流转资产额为x,流转方向为:目标账户A指向关联账户B。
三、业务有向图谱
业务有向图谱是一种用于反映目标账户在交易过程中涉及到的数字资产的流转情况的图结构,所谓图结构是一种包括节点和连接边的数据结构。图结构中的任一条连接边用于连接两个节点,连接边的类型可以分为无向边和有向边,所谓无向边是指不具备指示方向的连接边;所谓有向边是指具备指示方向的连接边,其中,本申请的业务有向图谱中的连接边为有向边。请参见图1,图1是本申请实施例提供的一种业务有向图谱的结构示意图,如图1所示,本申请中的业务有向图谱涉及一个中心点及多个关联点,例如:中心点a和关联点b、c、d、e、f、g、h、k。其中,中心点是指目标账户对应的节点,关联点是指关联账户对应的节点,任一个关联点与中心点之间具备一条连接边,例如中心点a与关联点b之间具备连接边ab,该连接边ab为有向边,有向边的指示方向用于指示目标账户中数字资产的流转方向,流转方向包括流入和流出。例如,连接边ab的指示方向为:由关联点b指向中心点a,则用于指示数字资产从关联点b对应的关联账户流入至中心点a对应的目标账户中;又如,连接边ac的指示方向为:由中心点a指向关联点c,则用于指示数字资产从中心点a对应的目标账户流出至关联点c对应的关联账户中。以此类推,该交易有向图可用于直观反映出目标账户在交易过程中涉及到的数字资产的流转情况。
四、区块链技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
1)区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,①用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);②基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;③智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;④运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。基于此,区块链底层平台基于上述各个模块可提供完整的业务服务,从而为用户侧提供相应业务对应的业务数据。
2)平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。例如,此处的业务可以包括:数字资产相关的业务、游戏业务、合约调用、合约部署等任意类型的业务,采用平台产品服务层能够完成上述业务逻辑的区块链实现。
3)应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
下面对区块链系统、区块链节点、以及区块结构等相关概念进行说明。
(1)区块链系统:
请参见图2a,图2a是本申请实施例提供的一种区块链系统的结构示意图。如图2a所示,区块链系统可以为数据共享系统,所谓数据共享系统是指用于进行节点设备与节点设备之间数据共享的系统,该数据共享系统200中可以包括多个节点设备201,多个节点设备201可以是指数据共享系统中各个计算机设备,计算机设备例如可以为终端设备或服务器。其中,不同的节点设备201的设备类型可以相同,也可以不相同,例如某一节点设备201可以为终端设备,另一节点设备201可以为服务器。
在图2a所示的区块链系统中,每个节点设备201在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。例如,当区块链系统中的任一节点设备201接收到一笔交易上链请求时,该节点设备201可以解析该交易上链请求,得到待上链的交易,然后可将该待上链的交易发送至区块链中的其它各个区块链节点,使得各个区块链节点对当前交易进行区块链共识,若共识通过,则可以将交易写入至区块链中,从而完成交易的上链处理,以使区块链上的各个区块链节点在区块链中共同维护该交易的业务数据(即共享数据)。
(2)区块链节点:
①节点功能:
i.应用功能:用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现业务功能相关的数据形成记录数据(例如业务数据),该业务数据在区块链上所实现的业务功能例如可以包括:资源转移功能、游戏业务功能等。在一种实现方式中,可在业务数据的上链请求中携带数字签名(例如采用上链对象的私钥对业务数据进行签名处理生成的数字签名)以表示该业务数据的来源,并可将业务数据发送到区块链系统中的其他节点,供其他节点在验证业务数据的来源以及完整性成功时,将业务数据添加到临时区块中,即可完成对业务数据的上链处理。
ii.合约功能:区块链系统中任一区块链节点具备调用并执行相应的智能合约的功能,所谓智能合约(可简称合约):智能合约具备承诺、协议、数字形式三大要素,因此能够将区块链的应用范围扩展至金融行业交易、支付、结算和清算的各个环节。智能合约是指当一个预先编译好的条件被触发时,智能合约会立即执行相应的合同条款,其工作原理类似于计算机程序的if-then语句。其中,区块链节点中运行有智能合约虚拟机(是一种能够执行智能合约的虚拟机),智能合约虚拟机可以理解并执行这些代码,以实现智能合约的功能。本申请中,基于区块链节点具备的合约功能,能够为区块链节点部署至少一个去中心化交易所合约,那么当区块链节点接收到一笔资产交易(例如转移目标数字资产的交易、或者兑换目标数字资产的交易)时,可以调用部署好的去中心化交易所合约执行相应的合约交易。
②节点标识:
对于区块链系统中的每个节点,均具有与其对应的节点标识,而且区块链系统中的每个节点均可以存储有区块链系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。
其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1.节点标识列表
节点名称 节点标识
节点1 000.000.000.000
节点2 111.111.111.111
节点N xxx.xxx.xxx.xxx
本申请实施例中,涉及到不同类型的资产交易场景,例如数字藏品类型的资产交易场景、电子发票类型的资产交易场景等等,在上述提及的不同类型的资产交易场景中,往往涉及到各个区块链节点(例如共识节点)对资产交易的共识处理。其中,资产交易的共识处理通常涉及共识节点之间的数据交互,在数据交互过程中,任一共识节点可以携带有自身的节点标识,使得其他共识节点在进行共识处理之前可以基于对应的节点标识进行节点的身份验证处理,从而提高在区块链共识处理过程中的数据安全性、可靠性。
(3)区块结构:
参见图2b,图2b是本申请实施例提供的一种区块链的结构示意图。如图2b所示,区块链由多个区块组成,且每个区块链均包含一个创始块,顾名思义,所谓创始块即第一个区块、初始区块。创始块中包括区块头和区块体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的业务数据均与父区块中存储的业务数据存在关联,保证了区块中业务数据的安全性。
本申请实施例中,主要涉及不同类型的数字资产交易,这些数字资产交易中包括业务数据,具体地,在对业务数据完成上链处理后,可以将业务数据添加至区块链中当前区块的区块体中,按照区块的结构,可以保证业务数据在链上存储的安全性和可靠性,可避免业务数据被篡改的风险。
五、云技术
本申请提出的基于区块链的业务处理方案中,区块链中涉及较多的数据计算服务以及数据存储服务,因此需要花费大量的计算机运营成本。那么,本申请提供的业务处理方案涉及云技术,采用云技术具体可以提供数据计算服务和数据存储服务,具体地,可以基于数据计算服务在目标数字资产合约中,对目标对象的初始公钥执行密钥变更处理;以及,可以基于数据存储服务将密钥变更后的更新公钥写入至目标对象的目标数字资产合约中。其中,所谓云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。其中,云技术可以包括云存储技术,所谓云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
六、人工智能
本申请中,在区块链中涉及多种不同类型的业务数据,诸如:资产类型、游戏类型、合约类型等等。其中,游戏类型的业务数据可以是在云游戏场景中产生的,例如在云游戏场景下,任一游戏角色进行游戏资产的充值过程可产生一笔游戏类型的业务数据。此处的云游戏可以为人工智能场景下的任一种游戏,所谓人工智能(Artificial Intelligence,AI)服务,所谓人工智能是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、云游戏、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
需要特别说明的是,在本申请中涉及到的基于区块链的业务处理过程中的相关数据,例如:目标账户的业务数据集、数据分析结果、以及交易邮箱图谱等等。在本申请以上实施例运用到具体产品或技术中时,需获得用户许可或同意,且相关数据收集、使用和处理过程需遵守国家和地区的相关法律法规和标准,符合合法、正当、必要的原则,不涉及获取法律法规禁止或限制的数据类型。在一些可选的实施例中,本申请实施例中所涉及的相关数据是经过对象单独授权后获取的,另外,在获取对象单独授权时,需向对象表明所涉及的相关数据的用途。
下面对本申请提供的基于区块链的业务处理系统的架构图进行具体介绍。
请参见图3,图3是本申请实施例提供的一种基于区块链的业务处理系统的架构示意图。如图3所示,该业务处理系统的架构图中至少可以包括:客户端301、业务可视化平台302、以及至少一个区块链节点303。其中,本申请并不对区块链节点303的数量进行具体限定,节点数量可以根据不同类型的交易场景灵活变更;另外,业务可视化平台302可以通过有线或无线通信方式与客户端301、以及任一个区块链节点303之间进行直接或间接地连接。需要说明的是,业务可视化平台302可以作为一台单独的计算机设备存在,也可以是集成在客户端301中的一个软件/系统,例如浏览器,本申请对此不做限定。
本申请提供的业务处理系统中的任一计算机设备(客户端301、业务可视化平台302、或者区块链节点303)可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、车辆、车载设备、路边设备、飞行器、可穿戴设备,诸如智能手表、智能手环、计步器等的智能设备,虚拟现实设备....等等。
本申请提供的业务处理系统中的任一计算机设备(客户端301、业务可视化平台302、或者区块链节点303)也可以是服务器。具体地,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解的是,本申请的业务处理系统中的各个计算机设备的类型可以相同或不同,例如,客户端301可以是手机,业务可视化平台302可以是笔记本电脑,区块链节点303可以是服务器;再如,客户端301可以是车载设备,业务可视化平台302和区块链节点303均可以是服务器。本申请并不对基于区块链的业务处理系统中的各个计算机设备的数量及类型进行限定。
(1)下面对业务处理系统中的各个计算机设备的主要功能进行简要概述。
①客户端301:用于向区块链发起交易,此处的交易可以包括:资产类型、合约类型、游戏类型等任意类型的交易,不同类型的交易可以涉及不同类型的业务数据。可选的,在向区块链发起交易之前,可以采用交易发起对象的私钥进行交易签名,从而表示交易的来源。
②业务可视化平台302:负责与区块链进行数据交互,可以从区块链中获取各个账户(例如目标账户)的业务数据集,并可对业务数据集进行分析,从而构建得到目标账户的业务有向图谱。其中,该业务可视化平台中部署有渲染引擎,可调用渲染引擎对交易分析得到的数据分析结果进行图谱渲染,从而输出目标账户的业务有向图谱。
③区块链节点303:负责接收区块链下客户端发起的交易请求,并可在区块链中调用智能合约执行相应的交易。例如资产转移的交易、合约调用的交易等任意类型的交易,并基于交易产生相应的业务数据,从而为业务可视化平台生成目标账户的业务有向图谱提供可靠的数据源。
(2)下面对上述业务处理系统中的各个计算机设备:客户端301、业务可视化平台302、以及区块链节点303之间的数据交互过程进行说明。
①若目标对象需查询目标账户在区块链上的数字资产的交易情况,则可在客户端301中发起图谱查询请求,该图谱查询请求用于请求查询目标账户的业务有向图谱,该图谱查询请求中可以包括需查询的目标账户的标识,例如:名称、ID等。
②客户端301将图谱查询请求发送至业务可视化平台302。可选的,客户端301可以采用目标对象的私钥对图谱查询请求进行签名处理后,将签名后的图谱查询请求发送至业务可视化平台302,以表示该图谱查询请求的来源。
③业务可视化平台302接收到图谱查询请求后,可以基于目标账户的标识,从区块链节点303中获取关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据。
④业务可视化平台302对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数。
⑤业务可视化平台302按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;该业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况。
⑥业务可视化平台302可输出目标账户的业务有向图谱,以便于目标对象能够在业务可视化平台302中直观地查看并了解目标账户的数字资产在区块链上的流转情况。
本申请提供的基于区块链的业务处理系统,在需要查询目标账户的业务有向图谱时,可以响应于图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于该目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
可以理解的是,本申请实施例描述的基于区块链的业务处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术对象可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面结合附图对基于区块链的业务处理方案涉及的具体实施例进行描述。
请参见图4,图4是本申请实施例所提供的一种基于区块链的业务处理方法的流程示意图。该业务处理方法可以由图3所示的基于区块链的业务处理系统中的业务可视化平台执行。如图4所示,该基于区块链的业务处理方法主要包括但不限于如下步骤S401-S405:
S401:接收图谱查询请求,图谱查询请求用于请求查询关于目标账户的业务有向图谱,图谱查询请求中包括需查询的目标账户的标识。
在一种可能的实现方式中,图谱查询请求是基于目标对象的私钥进行签名处理后生成的,且目标账户的标识可以包括但不限于:目标账户的地址、名称、ID等任一种。那么,业务可视化平台在接收到图谱查询请求后,还可以执行以下步骤:首先,解析图谱查询请求的请求数据,得到发起目标对象的签名数据;然后,基于目标对象的签名数据,对目标对象进行鉴权处理,此处的鉴权处理包括:签名验证、权限验证中的任一种或多种;若对目标对象的鉴权处理通过,则触发执行后续步骤S402;若对目标对象的鉴权处理不通过,则忽略或删除该业务请求。具体地,①由于签名数据是采用目标对象的私钥进行签名处理后生成的,那么业务可视化平台可以获取目标对象的公钥,并基于目标对象的公钥对目标对象的签名数据进行验签处理,若验签成功,则对目标对象的签名验证通过,若验签失败,则对目标对象的签名验证不通过。②假设业务可视化平台中配置有对象权限列表,该对象权限列表中可以记录有:具备查询权限的各个对象的标识(例如名称、ID等),若对象权限列表中包含目标对象的标识,那么,业务可视化平台可以确定对目标对象的权限验证通过;若对象权限列表中不包含目标对象的标识,那么业务可视化平台可以确定对目标对象的权限验证不通过。在该实现方式下,业务可视化平台能够对发起图谱查询请求的目标对象进行鉴权处理,能够避免数据泄露或篡改的风险,从而保证数据安全性。
在一种可能的实现方式中,业务可视化平台在对目标对象进行鉴权处理过程中,还可以请求获取目标对象的身份信息,并基于目标对象的身份信息对目标对象进行身份验证处理。其中,业务可视化平台在获取目标对象的身份信息之前,需要向该目标对象发送授权请求,该授权请求用于请求目标对象的授权,当目标对象同意授权后,方可获取到目标对象的身份信息。举例来说,目标对象所使用的终端设备在获取到区块链节点发送的授权请求后,可以在终端设备中显示界面,该界面中显示有提示信息,该提示信息用于提示目标对象是否进行身份信息的授权,并且设有确认控件和拒绝控件,若目标对象点击确认控件,则代表目标对象同意授权,若目标对象点击拒绝控件,则代表目标对象拒绝授权。通过这种方式,可以在获取目标对象的身份信息时,请求目标对象的授权,从而提高目标对象的身份信息的安全性,避免数据泄露。
S402:基于目标账户的标识,获取区块链中关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据。
具体实现时,区块链包括区块链底层平台,该区块链底层平台中记录有各个账户在区块链中执行交易所产生的业务数据;那么,业务可视化平台可以从区块链的底层链底层平台中获取关于目标账户的多个业务数据,并基于多个业务数据构成关于目标账户的业务数据集。
下面对获取目标账户的业务数据的几种方式进行详细说明。
i.检测区块链上的合约事件获取业务数据。
在一种可能的实现方式中,业务可视化平台中部署有事件检测服务,该事件检测服务用于对业务可视化平台所关联的区块链进行事件检测,具体可以检测区块链底层平台。具体实现时,业务可视化平台基于目标账户的标识,获取区块链中关于目标账户的业务数据集,主要包括如下步骤:首先,调用事件检测服务,对区块链中产生的合约事件进行检测处理,得到合约事件信息;合约事件是指调用智能合约执行交易所产生的事件,检测处理的方式包括:同步检测、异步检测、定期检测中的任一种或多种;然后,对合约事件信息进行筛选处理,得到与目标账户的标识相匹配的第一交易数据;最后,将第一交易数据作为与目标账户相关联的业务数据,并将第一交易数据添加至业务数据集中。
具体来说,事件检测服务可用于对区块链中的智能合约进行业务检测,被检测的智能合约可以是已通过配置处理的智能合约,例如被检测的智能合约可以为区块链上的去中心化交易所合约。1)所谓同步检测方式是指在去中心化交易所合约中检测到合约事件触发的同时,即可对该合约事件所产生的合约事件信息进行数据获取,即同步检测方式是一种边检测边获取数据的方式,是一种需要伴随该合约事件的执行而同步检测的方式。2)所谓异步检测方式是指在去中心化交易所合约中检测已发生的合约事件或者正在执行的合约事件,从而获取该合约事件所产生的合约事件信息,即异步检测方式是一种在合约事件结束或正在执行的过程中进行数据获取的方式,不需要伴随该合约事件的执行而同步检测的方式。3)所谓定期检测方式是指按照固定的时间间隔,对去中心化交易所合约中已触发的合约事件进行检测,例如一分钟检测一次、或者十分钟检测一次,即定期检测方式是一种按照时间周期按期检测的方式。需要说明的是,针对不同的去中心化交易所合约,可以采用相同或不同的检测方式进行合约事件的检测处理,假设需检测的去中心化交易所合约包括:合约1、合约2、合约3,则可以采用同步检测方式对合约1进行合约事件的检测处理,采用异步检测方式对合约2进行合约事件的检测处理,以及采用定期检测方式对合约3进行合约事件的检测处理。最后,将从各个去中心化交易所合约中检测到的合约事件信息进行筛选,例如可以按照目标账户的标识进行数据筛选,得到与目标账户的标识相匹配的第一交易数据,将第一交易数据作为目标账户相关联的业务数据,并将第一交易数据添加至业务数据集中。
ii.解析区块数据获取业务数据。
在一种可能的实现方式中,业务可视化平台中还部署有区块解析服务。那么,业务可视化平台基于目标账户的标识,获取区块链中关于目标账户的业务数据集,主要包括如下步骤:首先,调用区块解析服务,对区块链包括的各个区块进行数据解析,得到数据解析结果,数据解析结果中包括与多个账户的标识相匹配的交易数据;基于目标账户的标识,从数据解析结果中获取与目标账户的标识相匹配的第二交易数据;将第二交易数据作为与目标账户相关联的业务数据,并将第二交易数据添加至业务数据集中。
具体来说,假设当前区块链中包括1000个区块,则可以调用区块解析服务对这1000个区块的区块体分别进行数据解析,例如可以对知名的智能合约交互数据进行区块解析,所谓知名的智能合约可以包括:指定类型的智能合约(例如资产类型的去中心化交易所合约)、调用频次较高的智能合约(例如被调用的频率大于或等于频率阈值的智能合约)等等,对上述知名的智能合约交互数据所属的区块进行数据解析,可以得到诸如:数字资产的发送对象、接收对象、处理的资产量、以及调用的参数等等区块数据。然后从这些区块数据中获取与目标账户的标识相匹配的第二交易数据,将第二交易数据作为目标账户的业务数据,并将第二交易数据添加至业务数据集中。
iii.按照关键账户的方式获取业务数据。
在一种可能的实现方式中,业务可视化平台基于目标账户的标识,获取区块链中关于目标账户的业务数据集,主要包括如下步骤:首先,可以确定区块链中至少一个关键账户,关键账户包括:持有数字资产的资产量大于或者等于数量阈值的账户、部署智能合约的账户、具备管理权限的账户中的任一种或多种;若关键账户的标识包括目标账户的标识,则在区块链包括的所有区块中获取与关键账户相关联的第三交易数据;将获取到的第三交易数据添加至业务数据集中。
具体来说,在区块链中,可以将持有数字资产的资产量较大(即大于或等于数量阈值)的账户标记为关键账户;或者,将部署智能合约的对象账户标记为关键账户;又或者,将具备对区块链的管理权限的账户标记为关键账户。那么针对这些关键账户而言,可以从区块链的所有区块中,获取发送对象或接收对象的账户为关键账户的交易数据,作为业务数据的来源。
iv.从外部数据源中获取相关的业务数据。
具体地,外部数据源可以是指与区块链相关联的一些信息平台,例如:新闻网站、资讯平台、中心化交易平台等等,然后可以从这些外部数据源中获取发送对象或接收对象的账户为目标账户的相关数据作为目标账户的业务数据。
由此可见,采用以上方式i-iv这几种方式,可以按照不同来源获取与目标账户相关的业务数据,从而使得目标账户相关的业务数据集更加丰富、全面,可以提高对目标账户的业务数据进行数据分析处理的准确性。
进一步地,针对获取到的各个业务数据,可以按照表格的存储格式构成业务数据集进行数据存储。例如,业务数据集中的各个业务数据的存储格式如下表2所示:
表2.业务数据集的存储格式
数据来源 业务数据 获取时间
合约事件 data1、data2、data3 t1
区块数据 data2、data4 t2
外部数据源 data5 t3
其它 ... ...
如上表2所示,可以按照不同数据来源对获取到的业务数据进行分类存储,并且业务数据集中还可以包括每个业务数据的获取时间。
S403:对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数。
在一种可能的实现方式中,业务可视化平台对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果,可以包括:直接采用上述步骤S402获取到的业务数据集进行数据分析处理,得到关于目标账户的数据分析结果。或者,对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集;采用预处理后的业务数据集进行数据分析,得到关于目标账户的数据分析结果。其中,数据预处理的方式包括:数据去重处理、格式转换处理、数据填充处理、归一化处理等任一种或多种方式。具体地,1)所谓数据去重处理是指对业务数据集中重复的业务数据进行删除处理,以达到数据去重的目的,可选的,可以采用布隆过滤器对重复的业务数据进行数据去重处理;2)所谓格式转换处理是指对业务数据集中的各个业务数据采用相同的数据格式,例如:字段、表格、或者字符串等格式,以实现各个业务数据的格式统一,便于后续的数据分析处理;3)所谓数据填充处理是指对业务数据集中某些业务数据的缺失值进行填充,例如业务数据的格式包括:字段1、字段2、字段3,若某个业务数据只包括字段1和字段2,则需对该业务数据补充字段3,例如添加空字段或者补“0”等操作实现数据填充;4)所谓归一化处理是指对业务数据集中的各个业务数据的数据值按照归一化为0-1之间的数据,假设业务数据集中各个业务数据的数据值分别为:2、5、13,则对这几个数据值进行归一化处理后可以得到的数据值可以为:0.1、0.25、0.65,采用归一化处理的方式可以简化对某些复杂的数据值的处理,提高数据处理的效率。综上所述,采用上述数据预处理方式对业务数据集中的各个业务数据进行预处理后,有利于对各个业务数据的数据处理,从而提高数据处理效率和准确性。
下面按照不同方式分别对不同类型的业务数据进行预处理。
(1)重复数据。
在一种可能的实现方式中,数据预处理方式包括数据去重处理方式。业务可视化平台对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,具体包括如下步骤:首先,采用聚类算法,对业务数据集中的各个业务数据进行聚类处理,得到K个业务数据簇,任一个业务数据簇中包括:一个簇中心和至少一个业务数据,K为正整数;对每个业务数据簇中的各个业务数据与簇中心之间进行相似度计算,并将相似度大于或者等于相似度阈值的业务数据进行去重处理,得到去重处理后的业务数据簇;基于去重处理后的K个业务数据簇,确定预处理后的业务数据集。具体来说,聚类算法可以包括但不限于:K-Means算法、相似度算法,如欧氏距离、曼哈顿距离、余弦相似度等算法,例如可以采用K-Means算法对业务数据集中的各个业务数据进行聚类处理,从而得到K个业务数据簇,一个业务数据簇中包括的各个业务数据是指相似数据,并且一个业务数据簇具备一个簇中心,在对任一个业务数据簇进行数据去重时,可以采用相似度算法来计算各个业务数据与相应簇中心之间的相似度,并将相似度大于阈值的业务数据作为与簇中心相重复的数据,然后将该业务数据进行去重处理(即从业务数据簇中进行过滤处理)。
(2)无效数据。
在一种可能的实现方式中,业务数据集中的任一业务数据涉及数字资产,业务数据包括:接收账户的地址、转移账户的地址、以及待交易的数字资产的资产量。业务可视化平台对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,还可以包括如下步骤:分析业务数据集中各个业务数据,筛选得到无效数据;其中,无效数据包括:接收账户的地址与转移账户的地址相同的业务数据、接收账户的地址为空的业务数据、资产量小于数字资产的价值的业务数据中的任一种或多种;将无效数据从业务数据集中进行删除处理,得到预处理后的业务数据集。
(3)低价值数据。
具体地,任一数字资产具备价值,若在执行某一项交易时(如资产处理的交易),该交易涉及的数字资产的资产量小于或等于该数字资产本身的价值,则可以将该数字资产所涉及的业务数据作为一笔低价值数据。后续,可将该低价值数据进行删除或过滤处理。
综上(1)-(3)几种类型的数据,本申请实施例可以针对不同类型的业务数据,采用不同的方式进行数据预处理,从而能够更加灵活且准确地对业务数据集中的业务数据进行数据处理,提高数据预处理的准确性。
在一种可能的实现方式中,业务数据集中的各个业务数据包括多个业务字段,业务字段至少包括:标识字段、地址字段、数据字段。那么,业务可视化平台对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果,可以包括如下步骤:对业务数据包括的地址字段进行解析,得到与目标账户相关联的关联账户;对业务数据包括的数据字段进行解析,得到每个关联账户与目标账户之间的关联关系,此处的关联关系可用于反映目标账户与关联账户在交易过程中关于数字资产的流转情况,例如流转情况包括:流转资产额、流转方向、流转时间、以及流转次数等等。例如,目标账户A向关联账户B转移指定数额x的数字资产,则在该交易过程中涉及到的流转资产额为x,流转方向为:目标账户A指向关联账户B。
S404:按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况。
在一种可能的实现方式中,业务有向图谱包括:多个节点及至少一条连接边,多个节点包括:一个中心点及N个关联点,任一条连接边用于连接中心点与任一个关联点。业务可视化平台按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱,具体可以包括如下步骤:首先,将目标账户作为中心点,并将每个关联账户作为一个关联点;然后,按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的一条连接边;基于确定出来的中心点、N个关联点及连接边,生成针对目标账户的业务有向图谱。举例来说,如图1所示,本申请涉及的业务有向图谱是将节点和连接边作为基本图元素,即由这些节点和连接边构成业务有向图谱,此处的连接边为有向边,所谓有向边是指具备指示方向的连接边;此处的节点包括:一个中心点及N个关联点,其中,中心点是指目标账户对应的节点,关联点是指关联账户对应的节点,如图1所示,中心点为节点a,关联点为节点b、c、d、e、f、g、h、k。
下面对如何绘制业务有向图谱的具体过程进行说明。
(1)确定连接边的边属性。
在一种可能的实现方式中,关联关系用于指示:关联账户与目标账户之间进行交易所涉及的数字资产的流转额度;中心点表示为中心点i,N个关联点中的任一个关联点表示为关联点j,中心点i与关联点j之间具备连接边ij。业务可视化平台按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的连接边,具体包括如下步骤:首先,按照任一个关联账户与目标账户之间的关联关系所指示的流转额度,确定中心点i与关联点j之间的连接边ij的边属性;基于连接边ij的边属性,绘制中心点i与关联点j之间的连接边ij;其中,边属性包括:颜色、尺寸、类别中的任一种或多种。其中,连接边ij的类别可以包括但不限于:实线、虚线、曲线、直线等等;连接边ij的颜色可以包括:红色、黄色、黑色、绿色等等;连接边ij的尺寸可以包括:长度、粗细程度等等。举例来说,请参见图6,图6是本申请实施例提供的一种业务有向图谱的结构示意图,如图6所示,中心点i与任一关联点j之间具备连接边ij,该连接边ij的边属性可以基于中心点i对应的目标账户A与关联点j对应的关联账户B之间的流转额度X来确定,例如流转额度X越大,则连接边ij的长度越长;又如流转额度X越大,则连接边ij的尺寸越粗;还如流转额度X越大,则连接边ij的颜色越深(例如红色为比黄色更深的颜色,黄色为比绿色更深的颜色),等等。在此实现方式下,能够按照目标账户与关联账户之间的关联关系所指示的流转额度,设置相应连接边的边属性,并按照边属性对不同连接边进行区别显示。
(2)确定节点的点属性。
在一种可能的实现方式中,业务可视化平台可以获取任一个关联账户的类型;若关联账户的类型为关键账户类型,则为关联账户对应的关联点i设置点属性,点属性包括:颜色、尺寸、类型中的任一种或多种;按照关联点i的点属性,绘制关联点。其中,关联点i的颜色可以包括:红色、黄色、黑色、绿色等等;关联点i的尺寸可以包括:半径、长度、宽度等等;关联点i的类型可以包括:圆形、三角形、长方形、正方形等任意多边形。
在另一种可能的实现方式中,业务可视化平台还可以获取每个关联账户中所持有的数字资产的余额量,并基于余额量为相应关联账户对应的关联点设置点属性,同样的,点属性可以包括:颜色、尺寸、类型中的任一种或多种。例如余额量越大,则节点的尺寸越大;又如余额量越大,则节点的颜色越深(例如红色为比黄色更深的颜色,黄色为比绿色更深的颜色)。
基于上述方式,可以按照各个关联账户的类型、所持有数字资产的余额量的多少,来设置关联节点的点属性;以及,按照关联账户与目标账户之间进行交易所涉及的数字资产的流转额度,来设置连接边的边属性,从而可以生成具备点属性和边属性的业务有向图谱。
S405:输出目标账户的业务有向图谱。
在一种可能的实现方式中,业务可视化平台中可以部署有渲染引擎,并调用渲染引擎,按照业务有向图谱各个节点的点属性及各条连接边的边属性,对业务有向图谱进行渲染处理,从而输出目标账户的业务有向图谱。可选的,在渲染得到的业务有向图谱中,各条连接边中可以携带有流转额度、以及各条连接边中还可以携带有业务时间、业务数量等等;当然,流转额度、业务时间、业务数量等数据也可以被隐藏。其中,渲染引擎可以包括但不限于:Graphviz、D3.js、Vis.js、Sigma.js等工具,本申请并不对渲染引擎的类型和结构进行具体限定,其中:
1)Graphviz:是一个开源的图形可视化工具,可以通过DOT语言描述业务有向图谱的结构,然后自动计算节点和连接边的位置,最终生成高质量的图谱。
2)D3.js:是一个基于JavaScript的数据可视化库,可以用来创建各种类型的交互式图表和可视化效果,通过创建SVG(Scalable Vector Graphics,可缩放的矢量图形)元素来绘制业务有向图谱。
3)Vis.js:是一个基于JavaScript的可视化库,提供了一个专门用于可视化网络图的模块,可以通过指定节点和连接边的属性来绘制业务有向图谱。
4)Sigma.js:是一个基于JavaScript的可视化库,专门用于可视化大规模网络图。该库使用WebGL(Web Graphics Library,一种3D绘图协议)技术来绘制图谱,可以通过指定节点和连接边的属性来绘制业务有向图谱,并提供了各种交互式功能,如缩放、平移和高亮显示等。
请参见图5,图5是本申请实施例提供的一种输出业务有向图谱的场景示意图,如图5所示,在输出该业务有向图谱的场景中主要涉及:业务可视化平台、区块链网络。在区块链网络中,可以执行客户端发起的业务,例如资产交易的业务,然后将执行业务后产生的业务数据存储在区块链网络中;当业务可视化平台接收到针对目标账户的图谱查询请求后,可以从区块链网络中获取与目标账户相关的业务数据集,并对业务数据集进行分析后,按照图谱的形式对区块链上的业务数据进行可视化展示,并在业务可视化平台中输出目标账户的业务有向图谱。采用这种方式,能够直观地反映出各个账户之间的关联关系。
在一种可能的实现方式中,业务可视化平台按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对所述目标账户的业务有向图谱之后,还可以执行以下操作:首先,对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点;在区块链中定位与异常节点相关联的异常交易,并对异常交易进行安全处理;其中,安全处理包括:对异常交易中涉及的数字资产进行冻结处理、对异常交易中的交易对象进行权限管理、对异常交易的交易过程进行拦截处理中的任一种或多种。
下面对分析异常节点的几种方式进行详细说明。
1)数字资产在交易过程中的流出额应当等于流入额。
在一种可能的实现方式中,业务有向图谱中的任一条连接边具备指示方向,指示方向用于指示数字资产在目标账户与关联账户之间的流转关系,该流转关系包括流入关系与流出关系;连接边携带有数字资产在目标账户与关联账户之间的流转额度。具体地,业务可视化平台对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点,包括如下步骤:首先,分析目标账户的业务有向图谱中的各条连接边,计算流入目标账户的数字资产的第一流转额度;以及,计算流出目标账户的数字资产的第二流转额度;获取目标账户所持有的数字资产的余额量;若第一流转额度不等于第一流转额度及余额量的总和,则将目标账户对应的中心点作为异常节点。举例来说,请参见图6,图6是本申请实施例提供的另一种业务有向图谱的结构示意图,如图6所示的业务有向图谱,每条连接边均携带有目标账户与关联账户之间的流转额度,并按照每个连接边的指示方向可以计算得到流入目标账户的数字资产的第一流转额度:500+500+5000+10000=16000,以及计算得到流出目标账户的数字资产的第二流转额度:1000+1000+1000+1000=4000,然后获取目标账户所持有的数字资产的余额量为12000,因此计算得到的第一流转额度16000=第二流转额度4000+余额量12000,则可以认为目标账户所对应的中心点不是异常节点。
2)分析目标账户是否为风险账户。
在一种可能的实现方式中,若资产管理规则用于规定某个账户存在小笔定额转出,以及大笔定额转入的情况,则可以认为该账户为风险账户。如图6所示,该业务有向图谱中,若目标账户在同一时间或同一笔交易中,按照小笔定额(如1000)转出,例如节点i转给节点1、3、4、j;并且,该目标账户在相同时间存在大笔定额(如10000)转入的情况,则可以认为该目标账户为风险账户。
综上所述,基于构建好的业务有向图谱,不仅能够更加直观地反映出各个账户之间的关联关系、以及每个账户在区块链中的重要程度;进一步地,还可以对业务有向图进行分析处理,筛查得到异常账户,并对异常交易执行安全处理,从而提高业务处理过程中的安全性和可靠性。
本申请实施例中,在需要查询目标账户的业务有向图谱时,可以响应于图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于该目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
请参见图7,图7是本申请实施例提供的一种基于区块链的业务处理方法的交互流程图。如图7所示,该业务处理方法的交互流程主要涉及:客户端、业务可视化平台、以及区块链节点。其中,该业务处理方法的交互流程主要包括如下步骤S701-S708:
S701:客户端发起图谱查询请求。
具体实现时,若目标对象需对目标账户在区块链中执行的业务进行图谱查询,则可以生成针对目标账户的图谱查询请求,该图谱查询请求中携带有目标账户的标识(例如地址、名称、或ID等等),图谱查询请求用于请求查询目标账户的业务有向图谱。
S702:客户端将图谱查询请求发送至业务可视化平台。
可选的,客户端可以采用目标对象的私钥对图谱查询请求进行签名处理,并将签名后的图谱查询请求发送至业务可视化平台。
S703:业务可视化平台鉴权通过后,响应该图谱查询请求。
在一种可能的实现方式中,业务可视化平台在接收到图谱查询请求后,还可以执行以下步骤:首先,解析图谱查询请求的请求数据,得到发起目标对象的签名数据;然后,基于目标对象的签名数据,对目标对象进行鉴权处理,此处的鉴权处理包括:签名验证、权限验证中的任一种或多种;若对目标对象的鉴权处理通过,则触发执行后续步骤S704;若对目标对象的鉴权处理不通过,则忽略或删除该图谱查询请求。
S704:业务可视化平台从区块链中获取业务数据集。
在一种可能的实现方式中,业务可视化平台可以按照目标账户的标识,从区块链中请求获取目标账户相关的业务数据集。其中,业务数据集中包括与目标账户相关联的多个业务数据。
需要说明的是,业务可视化平台获取目标账户的业务数据集的具体过程详细可参考图4实施例中步骤S402中的相关步骤,本申请实施例在此不再赘述。
S705:区块链节点向业务可视化平台返回业务数据集。
S706:业务可视化平台分析业务数据集,得到数据分析结果。
其中,数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数。
在一种可能的实现方式中,业务数据集中的各个业务数据包括多个业务字段,业务字段至少包括:标识字段、地址字段、数据字段。那么,业务可视化平台对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果,可以包括如下步骤:对业务数据包括的地址字段进行解析,得到与目标账户相关联的关联账户;对业务数据包括的数据字段进行解析,得到每个关联账户与目标账户之间的关联关系,此处的关联关系可用于反映目标账户与关联账户在交易过程中关于数字资产的流转情况,例如流转情况包括:流转资产额、流转方向、流转时间、以及流转次数等等。例如,目标账户A向关联账户B转移指定数额x的数字资产,则在该交易过程中涉及到的流转资产额为x,流转方向为:目标账户A指向关联账户B。
S707:业务可视化平台按照数据分析结果,生成业务有向图谱。
具体实现时,业务可视化平台将目标账户作为中心点,并将每个关联账户作为一个关联点;按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的一条连接边;基于确定出来的中心点、N个关联点及连接边,生成针对目标账户的业务有向图谱。
需要说明的是,本申请生成业务有向图谱的具体过程详细可参考图4实施例中步骤S404中所涉及的相关过程,在此不再赘述。
S708:业务可视化平台向客户端输出业务有向图谱。
本申请实施例中,可对区块链上的业务数据进行采集,并按照采集后的业务数据进行图谱构建,从而为前端用户可视化展示业务有向图谱。一方面,本申请能够帮助用户发现区块链上的关键账户,揭示区块链上重要的区块链应用的所有权,区块链账户关系以及区块链资产分布;另一方面,本申请能帮助用户发现链上资产的流转情况,增强数据透明性,增加使用者对区块链的信任程度;再一方面,图谱结构能够帮助用户更加直观地观察链上数据。
下面提供了本申请实施例的装置,接下来结合上述本申请实施例提供的基于区块链的业务处理方案,对本申请实施例的相关装置进行相应介绍。
请参见图8,图8是本申请实施例提供的一种基于区块链的业务处理装置的结构示意图。如图8所示,该基于区块链的业务处理装置800可应用于前述实施例中所提及的业务可视化平台。具体来说,基于区块链的业务处理装置800可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该业务处理装置800为一个应用软件;该业务处理装置800可以用于执行本申请实施例提供的基于区块链的业务处理方法中的相应步骤。具体实现时,该基于区块链的业务处理装置800具体可以包括:
接收单元801,用于接收图谱查询请求,图谱查询请求用于请求查询关于目标账户的业务有向图谱,图谱查询请求中包括需查询的目标账户的标识;
处理单元802,用于基于目标账户的标识,获取区块链中关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据;
处理单元802,还用于对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;
处理单元802,还用于按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;
输出单元803,还用于输出目标账户的业务有向图谱。
在一种可能的实现方式中,业务处理方法应用于业务可视化平台,业务可视化平台中部署有事件检测服务,该事件检测服务用于对业务可视化平台所关联的区块链进行事件检测。处理单元802基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用事件检测服务,对区块链中产生的合约事件进行检测处理,得到合约事件信息;合约事件是指调用智能合约执行交易所产生的事件,检测处理的方式包括:同步检测、异步检测、定期检测中的任一种或多种;
对合约事件信息进行筛选处理,得到与目标账户的标识相匹配的第一交易数据;
将第一交易数据作为与目标账户相关联的业务数据,并将第一交易数据添加至业务数据集中。
在一种可能的实现方式中,业务可视化平台中还部署有区块解析服务;处理单元802基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用区块解析服务,对区块链包括的各个区块进行数据解析,得到数据解析结果,数据解析结果中包括与多个账户的标识相匹配的交易数据;
基于目标账户的标识,从数据解析结果中获取与目标账户的标识相匹配的第二交易数据;
将第二交易数据作为与目标账户相关联的业务数据,并将第二交易数据添加至业务数据集中。
在一种可能的实现方式中,处理单元802基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
确定区块链中至少一个关键账户,关键账户包括:持有数字资产的资产量大于或者等于数量阈值的账户、部署智能合约的账户、具备管理权限的账户中的任一种或多种;
若关键账户的标识包括目标账户的标识,则在区块链包括的所有区块中获取与关键账户相关联的第三交易数据;
将获取到的第三交易数据添加至业务数据集中。
在一种可能的实现方式中,处理单元802基于目标账户的标识,获取区块链中关于目标账户的业务数据集之后,还用于执行以下操作:
对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集;
采用预处理后的业务数据集进行数据分析,得到关于目标账户的数据分析结果;
其中,数据预处理的方式包括:数据去重处理、格式转换处理、数据填充处理、归一化处理等任一种或多种方式。
在一种可能的实现方式中,数据预处理方式包括数据去重处理方式;处理单元802对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,用于执行以下操作:
采用聚类算法,对业务数据集中的各个业务数据进行聚类处理,得到K个业务数据簇,任一个业务数据簇中包括:一个簇中心和至少一个业务数据,K为正整数;
对每个业务数据簇中的各个业务数据与簇中心之间进行相似度计算,并将相似度大于或者等于相似度阈值的业务数据进行去重处理,得到去重处理后的业务数据簇;
基于去重处理后的K个业务数据簇,确定预处理后的业务数据集。
在一种可能的实现方式中,业务数据集中的任一业务数据涉及数字资产,业务数据包括:接收账户的地址、转移账户的地址、以及待交易的数字资产的资产量;处理单元802对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,还用于执行以下操作:
分析业务数据集中各个业务数据,筛选得到无效数据;其中,无效数据包括:接收账户的地址与转移账户的地址相同的业务数据、接收账户的地址为空的业务数据、资产量小于数字资产的价值的业务数据中的任一种或多种;
将无效数据从业务数据集中进行删除处理,得到预处理后的业务数据集。
在一种可能的实现方式中,业务有向图谱包括:多个节点及至少一条连接边,多个节点包括:一个中心点及N个关联点,任一条连接边用于连接中心点与任一个关联点;处理单元802按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱,用于执行以下操作:
将目标账户作为中心点,并将每个关联账户作为一个关联点;
按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的一条连接边;
基于确定出来的中心点、N个关联点及连接边,生成针对目标账户的业务有向图谱。
在一种可能的实现方式中,关联关系用于指示:关联账户与目标账户之间进行交易所涉及的数字资产的流转额度;中心点表示为中心点i,N个关联点中的任一个关联点表示为关联点j,中心点i与关联点j之间具备连接边ij;处理单元802按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的连接边,用于执行以下操作:
按照任一个关联账户与目标账户之间的关联关系所指示的流转额度,确定中心点i与关联点j之间的连接边ij的边属性;
基于连接边ij的边属性,绘制中心点i与关联点j之间的连接边ij;
其中,边属性包括:颜色、尺寸、类别中的任一种或多种。
在一种可能的实现方式中,处理单元802还用于执行以下操作:
获取任一个关联账户的类型;
若关联账户的类型为关键账户类型,则为关联账户对应的关联点i设置点属性,点属性包括:颜色、尺寸、类型中的任一种或多种;
按照关联点i的点属性,绘制关联点。
在一种可能的实现方式中,处理单元802按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱之后,还用于执行以下操作:
对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点;
在区块链中定位与异常节点相关联的异常交易,并对异常交易进行安全处理;
其中,安全处理包括:对异常交易中涉及的数字资产进行冻结处理、对异常交易中的交易对象进行权限管理、对异常交易的交易过程进行拦截处理中的任一种或多种。
在一种可能的实现方式中,业务有向图谱中的任一条连接边具备指示方向,指示方向用于指示数字资产在目标账户与关联账户之间的流转关系,流转关系包括流入关系与流出关系;连接边携带有数字资产在目标账户与关联账户之间的流转额度;处理单元802对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点,用于执行以下操作:
分析目标账户的业务有向图谱中的各条连接边,计算流入目标账户的数字资产的第一流转额度;以及,
计算流出目标账户的数字资产的第二流转额度;
获取目标账户所持有的数字资产的余额量;
若第一流转额度不等于第一流转额度及余额量的总和,则将目标账户对应的中心点作为异常节点。
本申请实施例中,在需要查询目标账户的业务有向图谱时,可以响应于图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于该目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备900用于执行前述方法实施例中业务可视化平台所执行的步骤,该计算机设备900包括:一个或多个处理器901;一个或多个输入设备902,一个或多个输出设备903和存储器904。上述处理器901、输入设备902、输出设备903和存储器904通过总线905连接。其中,存储器904用于存储计算机程序,所述计算机程序包括程序指令。具体地,处理器901用于调用存储器904存储的程序指令,用于执行以下操作:
接收图谱查询请求,图谱查询请求用于请求查询关于目标账户的业务有向图谱,图谱查询请求中包括需查询的目标账户的标识;
基于目标账户的标识,获取区块链中关于目标账户的业务数据集,业务数据集中包括与目标账户相关联的多个业务数据;
对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;
按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;
输出目标账户的业务有向图谱。
在一种可能的实现方式中,业务处理方法应用于业务可视化平台,业务可视化平台中部署有事件检测服务,该事件检测服务用于对业务可视化平台所关联的区块链进行事件检测。处理器901基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用事件检测服务,对区块链中产生的合约事件进行检测处理,得到合约事件信息;合约事件是指调用智能合约执行交易所产生的事件,检测处理的方式包括:同步检测、异步检测、定期检测中的任一种或多种;
对合约事件信息进行筛选处理,得到与目标账户的标识相匹配的第一交易数据;
将第一交易数据作为与目标账户相关联的业务数据,并将第一交易数据添加至业务数据集中。
在一种可能的实现方式中,业务可视化平台中还部署有区块解析服务;处理器901基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
调用区块解析服务,对区块链包括的各个区块进行数据解析,得到数据解析结果,数据解析结果中包括与多个账户的标识相匹配的交易数据;
基于目标账户的标识,从数据解析结果中获取与目标账户的标识相匹配的第二交易数据;
将第二交易数据作为与目标账户相关联的业务数据,并将第二交易数据添加至业务数据集中。
在一种可能的实现方式中,处理器901基于目标账户的标识,获取区块链中关于目标账户的业务数据集,用于执行以下操作:
确定区块链中至少一个关键账户,关键账户包括:持有数字资产的资产量大于或者等于数量阈值的账户、部署智能合约的账户、具备管理权限的账户中的任一种或多种;
若关键账户的标识包括目标账户的标识,则在区块链包括的所有区块中获取与关键账户相关联的第三交易数据;
将获取到的第三交易数据添加至业务数据集中。
在一种可能的实现方式中,处理器901基于目标账户的标识,获取区块链中关于目标账户的业务数据集之后,还用于执行以下操作:
对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集;
采用预处理后的业务数据集进行数据分析,得到关于目标账户的数据分析结果;
其中,数据预处理的方式包括:数据去重处理、格式转换处理、数据填充处理、归一化处理等任一种或多种方式。
在一种可能的实现方式中,数据预处理方式包括数据去重处理方式;处理器901对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,用于执行以下操作:
采用聚类算法,对业务数据集中的各个业务数据进行聚类处理,得到K个业务数据簇,任一个业务数据簇中包括:一个簇中心和至少一个业务数据,K为正整数;
对每个业务数据簇中的各个业务数据与簇中心之间进行相似度计算,并将相似度大于或者等于相似度阈值的业务数据进行去重处理,得到去重处理后的业务数据簇;
基于去重处理后的K个业务数据簇,确定预处理后的业务数据集。
在一种可能的实现方式中,业务数据集中的任一业务数据涉及数字资产,业务数据包括:接收账户的地址、转移账户的地址、以及待交易的数字资产的资产量;处理器901对业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,还用于执行以下操作:
分析业务数据集中各个业务数据,筛选得到无效数据;其中,无效数据包括:接收账户的地址与转移账户的地址相同的业务数据、接收账户的地址为空的业务数据、资产量小于数字资产的价值的业务数据中的任一种或多种;
将无效数据从业务数据集中进行删除处理,得到预处理后的业务数据集。
在一种可能的实现方式中,业务有向图谱包括:多个节点及至少一条连接边,多个节点包括:一个中心点及N个关联点,任一条连接边用于连接中心点与任一个关联点;处理器901按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱,用于执行以下操作:
将目标账户作为中心点,并将每个关联账户作为一个关联点;
按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的一条连接边;
基于确定出来的中心点、N个关联点及连接边,生成针对目标账户的业务有向图谱。
在一种可能的实现方式中,关联关系用于指示:关联账户与目标账户之间进行交易所涉及的数字资产的流转额度;中心点表示为中心点i,N个关联点中的任一个关联点表示为关联点j,中心点i与关联点j之间具备连接边ij;处理器901按照每个关联账户与目标账户之间的关联关系,绘制中心点与相应关联点之间的连接边,用于执行以下操作:
按照任一个关联账户与目标账户之间的关联关系所指示的流转额度,确定中心点i与关联点j之间的连接边ij的边属性;
基于连接边ij的边属性,绘制中心点i与关联点j之间的连接边ij;
其中,边属性包括:颜色、尺寸、类别中的任一种或多种。
在一种可能的实现方式中,处理器901还用于执行以下操作:
获取任一个关联账户的类型;
若关联账户的类型为关键账户类型,则为关联账户对应的关联点i设置点属性,点属性包括:颜色、尺寸、类型中的任一种或多种;
按照关联点i的点属性,绘制关联点。
在一种可能的实现方式中,处理器901按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱之后,还用于执行以下操作:
对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点;
在区块链中定位与异常节点相关联的异常交易,并对异常交易进行安全处理;
其中,安全处理包括:对异常交易中涉及的数字资产进行冻结处理、对异常交易中的交易对象进行权限管理、对异常交易的交易过程进行拦截处理中的任一种或多种。
在一种可能的实现方式中,业务有向图谱中的任一条连接边具备指示方向,指示方向用于指示数字资产在目标账户与关联账户之间的流转关系,流转关系包括流入关系与流出关系;连接边携带有数字资产在目标账户与关联账户之间的流转额度;处理器901对目标账户的业务有向图谱进行分析处理,从业务有向图谱中确定出异常节点,用于执行以下操作:
分析目标账户的业务有向图谱中的各条连接边,计算流入目标账户的数字资产的第一流转额度;以及,
计算流出目标账户的数字资产的第二流转额度;
获取目标账户所持有的数字资产的余额量;
若第一流转额度不等于第一流转额度及余额量的总和,则将目标账户对应的中心点作为异常节点。
本申请实施例中,在需要查询目标账户的业务有向图谱时,可以响应于图谱查询请求,该图谱查询请求中包括需查询的目标账户的标识;基于该目标账户的标识,获取区块链中关于目标账户的业务数据集,该业务数据集中包括与目标账户相关联的多个业务数据;对业务数据集中的各个业务数据进行数据分析,得到关于目标账户的数据分析结果;数据分析结果包括:与目标账户相关联的N个关联账户、以及每个关联账户与目标账户之间的关联关系,N为正整数;按照目标账户、N个关联账户、以及每个关联账户与目标账户之间的关联关系,生成针对目标账户的业务有向图谱;业务有向图谱用于反映目标账户在交易过程中涉及到的数字资产的流转情况;输出目标账户的业务有向图谱。由此可见,本申请能够按照图谱的方式对目标账户在区块链中产生的业务数据进行可视化展示,基于业务有向图谱能够直观反映出区链上目标账户涉及的数字资产的流转情况,使得业务处理过程更加灵活、便捷;进一步地,基于业务有向图谱还能够更加直观地反映出账户与账户之间的交易关系,使得业务处理过程更加灵活。
此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文所对应实施例中的方法,因此,这里将不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
根据本申请的一个方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术对象可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术对象可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据处理设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

1.一种基于区块链的业务处理方法,其特征在于,包括:
接收图谱查询请求,所述图谱查询请求用于请求查询关于目标账户的业务有向图谱,所述图谱查询请求中包括需查询的目标账户的标识;
基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集,所述业务数据集中包括与所述目标账户相关联的多个业务数据;
对所述业务数据集中的各个业务数据进行数据分析,得到关于所述目标账户的数据分析结果;所述数据分析结果包括:与所述目标账户相关联的N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,N为正整数;
按照所述目标账户、N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,生成针对所述目标账户的业务有向图谱;所述业务有向图谱用于反映所述目标账户在交易过程中涉及到的数字资产的流转情况;
输出所述目标账户的业务有向图谱。
2.如权利要求1所述的方法,其特征在于,所述业务处理方法应用于业务可视化平台,所述业务可视化平台中部署有事件检测服务,所述事件检测服务用于对所述业务可视化平台所关联的区块链进行事件检测;所述基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集,包括:
调用事件检测服务,对区块链中产生的合约事件进行检测处理,得到合约事件信息;所述合约事件是指调用智能合约执行交易所产生的事件,所述检测处理的方式包括:同步检测、异步检测、定期检测中的任一种或多种;
对所述合约事件信息进行筛选处理,得到与所述目标账户的标识相匹配的第一交易数据;
将所述第一交易数据作为与所述目标账户相关联的业务数据,并将所述第一交易数据添加至所述业务数据集中。
3.如权利要求2所述的方法,其特征在于,所述业务可视化平台中还部署有区块解析服务;所述基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集,包括:
调用区块解析服务,对区块链包括的各个区块进行数据解析,得到数据解析结果,所述数据解析结果中包括与多个账户的标识相匹配的交易数据;
基于所述目标账户的标识,从所述数据解析结果中获取与所述目标账户的标识相匹配的第二交易数据;
将所述第二交易数据作为与所述目标账户相关联的业务数据,并将所述第二交易数据添加至所述业务数据集中。
4.如权利要求1所述的方法,其特征在于,所述基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集包括:
确定区块链中至少一个关键账户,所述关键账户包括:持有数字资产的资产量大于或者等于数量阈值的账户、部署智能合约的账户、具备管理权限的账户中的任一种或多种;
若所述关键账户的标识包括所述目标账户的标识,则在区块链包括的所有区块中获取与所述关键账户相关联的第三交易数据;
将获取到的第三交易数据添加至业务数据集中。
5.如权利要求1-4任一项所述的方法,其特征在于,所述基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集之后,还包括:
对所述业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集;
采用所述预处理后的业务数据集进行数据分析,得到关于所述目标账户的数据分析结果;
其中,所述数据预处理的方式包括:数据去重处理、格式转换处理、数据填充处理、归一化处理等任一种或多种方式。
6.如权利要求5所述的方法,其特征在于,所述数据预处理方式包括数据去重处理方式;所述对所述业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,包括:
采用聚类算法,对所述业务数据集中的各个业务数据进行聚类处理,得到K个业务数据簇,任一个业务数据簇中包括:一个簇中心和至少一个业务数据,K为正整数;
对每个业务数据簇中的各个业务数据与簇中心之间进行相似度计算,并将相似度大于或者等于相似度阈值的业务数据进行去重处理,得到去重处理后的业务数据簇;
基于去重处理后的K个业务数据簇,确定预处理后的业务数据集。
7.如权利要求6所述的方法,其特征在于,所述业务数据集中的任一业务数据涉及数字资产,所述业务数据包括:接收账户的地址、转移账户的地址、以及待交易的数字资产的资产量;所述对所述业务数据集中的各个业务数据进行数据预处理,得到预处理后的业务数据集,还包括:
分析所述业务数据集中各个业务数据,筛选得到无效数据;其中,所述无效数据包括:所述接收账户的地址与所述转移账户的地址相同的业务数据、所述接收账户的地址为空的业务数据、所述资产量小于所述数字资产的价值的业务数据中的任一种或多种;
将所述无效数据从所述业务数据集中进行删除处理,得到预处理后的业务数据集。
8.如权利要求1所述的方法,其特征在于,所述业务有向图谱包括:多个节点及至少一条连接边,所述多个节点包括:一个中心点及N个关联点,任一条连接边用于连接所述中心点与任一个关联点;所述按照所述目标账户、N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,生成针对所述目标账户的业务有向图谱,包括:
将所述目标账户作为中心点,并将每个关联账户作为一个关联点;
按照每个关联账户与所述目标账户之间的关联关系,绘制所述中心点与相应关联点之间的一条连接边;
基于确定出来的所述中心点、N个关联点及连接边,生成针对所述目标账户的业务有向图谱。
9.如权利要求8所述的方法,其特征在于,所述关联关系用于指示:关联账户与目标账户之间进行交易所涉及的数字资产的流转额度;所述中心点表示为中心点i,所述N个关联点中的任一个关联点表示为关联点j,所述中心点i与所述关联点j之间具备连接边ij;所述按照每个关联账户与所述目标账户之间的关联关系,绘制所述中心点与相应关联点之间的连接边,包括:
按照任一个关联账户与所述目标账户之间的关联关系所指示的流转额度,确定所述中心点i与所述关联点j之间的连接边ij的边属性;
基于所述连接边ij的边属性,绘制所述中心点i与关联点j之间的连接边ij;
其中,所述边属性包括:颜色、尺寸、类别中的任一种或多种。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
获取任一个所述关联账户的类型;
若所述关联账户的类型为关键账户类型,则为所述关联账户对应的关联点i设置点属性,所述点属性包括:颜色、尺寸、类型中的任一种或多种;
按照所述关联点i的点属性,绘制所述关联点。
11.如权利要求1所述的方法,其特征在于,所述按照所述目标账户、N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,生成针对所述目标账户的业务有向图谱之后,还包括:
对所述目标账户的业务有向图谱进行分析处理,从所述业务有向图谱中确定出异常节点;
在所述区块链中定位与所述异常节点相关联的异常交易,并对所述异常交易进行安全处理;
其中,所述安全处理包括:对所述异常交易中涉及的数字资产进行冻结处理、对所述异常交易中的交易对象进行权限管理、对所述异常交易的交易过程进行拦截处理中的任一种或多种。
12.如权利要求11所述的方法,其特征在于,所述业务有向图谱中的任一条连接边具备指示方向,所述指示方向用于指示数字资产在目标账户与关联账户之间的流转关系,所述流转关系包括流入关系与流出关系;所述连接边携带有数字资产在目标账户与关联账户之间的流转额度;所述对所述目标账户的业务有向图谱进行分析处理,从所述业务有向图谱中确定出异常节点,包括:
分析所述目标账户的业务有向图谱中的各条连接边,计算流入所述目标账户的数字资产的第一流转额度;以及,
计算流出所述目标账户的数字资产的第二流转额度;
获取所述目标账户所持有的数字资产的余额量;
若所述第一流转额度不等于所述第一流转额度及所述余额量的总和,则将所述目标账户对应的中心点作为异常节点。
13.一种基于区块链的业务处理装置,其特征在于,包括:
接收单元,用于接收图谱查询请求,所述图谱查询请求用于请求查询关于目标账户的业务有向图谱,所述图谱查询请求中包括需查询的目标账户的标识;
处理单元,用于基于所述目标账户的标识,获取区块链中关于所述目标账户的业务数据集,所述业务数据集中包括与所述目标账户相关联的多个业务数据;
所述处理单元,还用于对所述业务数据集中的各个业务数据进行数据分析,得到关于所述目标账户的数据分析结果;所述数据分析结果包括:与所述目标账户相关联的N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,N为正整数;
所述处理单元,还用于按照所述目标账户、N个关联账户、以及每个关联账户与所述目标账户之间的关联关系,生成针对所述目标账户的业务有向图谱;所述业务有向图谱用于反映所述目标账户在交易过程中涉及到的数字资产的流转情况;
输出单元,用于输出所述目标账户的业务有向图谱。
14.一种计算机设备,其特征在于,包括:存储装置和处理器;
存储器,所述存储器中存储一条或多条计算机程序;
处理器,用于加载所述一条或多条计算机程序实现如权利要求1-12中任一项所述的基于区块链的业务处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-12中任一项所述的基于区块链的业务处理方法。
16.一种计算机程序产品,其特征在于,所述计算程序产品包括计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-12中任一项所述的基于区块链的业务处理方法。
CN202311459827.4A 2023-11-03 2023-11-03 基于区块链的业务处理方法、装置、设备、介质及产品 Pending CN117951341A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311459827.4A CN117951341A (zh) 2023-11-03 2023-11-03 基于区块链的业务处理方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311459827.4A CN117951341A (zh) 2023-11-03 2023-11-03 基于区块链的业务处理方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN117951341A true CN117951341A (zh) 2024-04-30

Family

ID=90802539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311459827.4A Pending CN117951341A (zh) 2023-11-03 2023-11-03 基于区块链的业务处理方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN117951341A (zh)

Similar Documents

Publication Publication Date Title
Lone et al. Forensic-chain: Blockchain based digital forensics chain of custody with PoC in Hyperledger Composer
CN111416704B (zh) 基于区块链的数据处理方法、装置及系统
Zhang et al. Construction site information decentralized management using blockchain and smart contracts
EP4010814A1 (en) Graph-manipulation based domain-specific execution environment
CN110597943A (zh) 基于人工智能的兴趣点处理方法、装置及电子设备
US20210357707A1 (en) Verification of electronic identity components
CN112632629B (zh) 基于区块链的投票管理方法、装置、介质及电子设备
CN102710770A (zh) 一种上网设备识别方法及其实现系统
CN109063138A (zh) 用于在区块链即服务平台搜索数据的方法、设备及存储介质
CN109672582A (zh) 全路径监测方法、设备、存储介质及装置
CN112070608B (zh) 信息处理方法、装置、介质及电子设备
CN112506747A (zh) 一种业务进程监控方法、装置、电子设备及存储介质
CN111709756A (zh) 一种可疑社团的识别方法、装置、存储介质和计算机设备
CN113722301A (zh) 基于教育信息的大数据处理方法、装置及系统、存储介质
CN112256682B (zh) 一种多维异构数据的数据质量检测方法及装置
CN112003940B (zh) 基于区块链和在线业务的支付网络状态处理方法及服务器
CN112508733A (zh) 一种基于北斗的电网时空大数据智能服务系统
CN113704567A (zh) 物联网数据管理方法、装置、物联网数据资源池及设备
CN114022151A (zh) 区块链数据可视化方法、系统、电子设备和存储介质
CN111402400A (zh) 管道工程的展示方法、装置、设备及存储介质
CN112925899B (zh) 排序模型建立方法、案件线索推荐方法、装置及介质
CN112069529B (zh) 基于区块链的卷宗管理方法、装置、计算机以及存储介质
CN108765579A (zh) 一种基于vr技术展示展览连接方法及装置
CN116910144A (zh) 算力网络资源中心、算力服务系统以及数据处理方法
CN117951341A (zh) 基于区块链的业务处理方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication