资产信息管理方法、装置、设备、存储介质和程序产品
技术领域
本公开涉及区块链
技术领域
,具体涉及一种资产信息管理方法、装置、设备、存储介质和程序产品。背景技术
目前,支付宝、微信以及各个银行等机构都基于自己的数据,为客户提供资产、负债、月度账单和年度账单等资产查询服务。但是,客户无法看到自己在上述多个机构中的资产总览。
发明内容
鉴于上述问题,本公开提供了能够实现跨机构资产总揽的资产信息管理方法、装置、设备、存储介质和程序产品。
根据本公开的第一个方面,提供了一种基于区块链的资产信息管理方法,其中,所述区块链具有多个节点,所述资产信息管理方法应用于所述多个节点中的N个中,对于N个节点中的第n个节点,所述资产管理方法包括:
响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息;
当2≤n≤N-1时,执行以下步骤:
响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到第二资产信息;
判断本节点中的第二资产信息中是否具有所述N个节点中的每个的第一资产信息,若是,则向所述N个节点中的每个发布本节点的第二资产信息;若否,则向第n+1个节点发送所述第二指令;
其中,所述n和所述N均为正整数。
根据本公开的实施例,在得到所述第二资产信息之后,所述资产信息管理方法还包括:对本节点中的第二资产信息进行签名以得到第三资产信息;
所述向第n+1个节点发送所述第二指令的步骤包括:
向第n+1个节点发送所述第二指令和所述第三资产信息;
所述响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到本节点的第二资产信息的步骤包括:
将第n-1个节点的第三资产信息与本节点中的所述第一资产信息相结合,以得到本节点的第二资产信息。
根据本公开的实施例,所述判断本节点中的第二资产信息中是否具有所述N个节点中的每个的第一资产信息的步骤包括:
当本节点中的第三资产信息中具有所述N个节点中的每个的签名时,确认本节点中的第二资产信息中具有所述N个节点中的每个的第一资产信息。
根据本公开的实施例,所述第三资产信息包括客户的至少一笔资产收入记录和至少一笔资产支出记录,以及每笔资产收入记录和每笔资产支出记录所对应的资产管理机构;所述将第n-1个节点的第三资产信息与本节点中的所述第一资产信息相结合,以得到本节点的第三资产信息的步骤包括:
对于同一客户的一笔资产收入记录和一笔资产支出记录,当二者分别对应两个资产管理机构,且资产收入记录的金额与资产支出的金额相同时,删除该笔资产收入记录和该笔资产支出记录。
根据本公开的实施例,所述资产管理方法还包括:
当n=1时,执行以下步骤:
向第n+1个节点发送所述第二指令;以及,
响应于第N个节点的所述第二指令,将第2个节点至第N个节点的第一资产信息与本节点中的第一资产信息相结合,以得到本节点的第二资产信息;
判断本节点中的第二资产信息中是否具有所述N个节点中的每个的第一资产信息,若是,则将本节点中的第二资产信息向所述N个节点中的每个进行发布;若否,则向第n+1个节点发送所述第二指令;
当n=N时,执行以下步骤:
响应于第n-1个节点的所述第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的所述第一资产信息相结合,以得到本节点的第二资产信息;
判断本节点中的第二资产信息中是否具有所述N个节点中的每个的第一资产信息,若是,则将本节点中的第二资产信息向所述N个节点中的每个进行发布;若否,则向第1个节点发送所述第二指令。
根据本公开的实施例,当n=1时,
在得到所述第一资产信息之后,所述资产信息管理方法还包括:对所述第一资产信息进行签名,以得到第三资产信息;
所述向第n+1个节点发送所述第二指令的步骤包括:
向第n+1个节点发送所述第二指令和所述第三资产信息。
根据本公开的实施例,在所述响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息的步骤之后,所述资产信息管理方法还包括:
将所述第一资产信息发送至N个节点中的其他节点中进行备份。
根据本公开的实施例,在所述响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到第二资产信息的步骤之后,所述资产信息管理方法还包括:
当所述第二资产信息中缺少第1个节点至第n-1个节点中的任意一个的第一资产信息,且本节点中备份有缺失的节点的第一资产信息时,将本节点中备份的缺失的节点的第一资产信息与本节点当前的第二资产信息相结合,以得到本节点最终的第二资产信息。
根据本公开的实施例,所述区块链还包括主节点,所述向所述N个节点中的每个发布本节点的第二资产信息的步骤包括:
向所述主节点发送第三指令和本节点的所述第二资产信息,所述第三指令配置为,使主节点将接收到的所述第二资产信息向所述N个节点进行发布。
本公开的第二方面还提供了一种基于区块链的资产信息管理装置,其中,所述区块链具有多个节点,所述资产信息管理方法应用于所述多个节点中的N个中,所述N个节点中的第n个节点包括:
第一模块,用于响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息;;
第二模块,用于当2≤n≤N-1时,执行以下步骤:
响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的所述第一资产信息相结合,以得到第二资产信息;
判断所述第二资产信息中是否具有所述N个节点中的每个的第一资产信息,若是,则向所述N个节点中的每个发布本节点的第二资产信息;若否,则向第n+1个节点发送所述第二指令;
其中,所述n和所述N均为正整数。
本公开的第三方面还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的资产信息管理方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的资产信息管理方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述的资产信息管理方法。
上述一个或多个实施例具有如下优点或益效果:N个节点按照顺序生成第二资产信息,且对于第n个节点,其第二资产信息是通过对第一个节点至第n个节点中的第一资产信息进行结合(例如合并)得到的。因此,当任一节点判断出其第二资产信息中具有N个节点中的每个的第一资产信息时,则确定该节点将客户在全部节点中的资产信息进行了汇总,此时,由该节点将其第二资产信息向其他的节点进行发布,以使N个节点进行同步。这样,当客户访问N个节点中的任意一个节点时,均可以获取该客户在所有资产管理机构的资产信息的汇总,从而实现跨机构的资产信息的总揽。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1和图2示意性示出了根据本公开实施例的资产信息管理方法、装置、设备、介质和程序产品的应用场景图;
图3示意性示出了根据本公开实施例的资产信息管理方法的流程图之一;
图4示意性示出了根据本公开实施例的资产信息管理方法的流程图之二;
图5示意性示出了根据本公开实施例的资产信息管理方法的流程图之三;
图6示意性示出了根据本公开实施例的资产信息管理方法的流程图之四;
图7示意性示出了根据本公开实施例的节点的数据结构图;
图8示意性示出了根据本公开实施例的资产信息管理装置的结构框图;
图9示意性示出了根据本公开实施例的适于实现资产信息管理方法的电子设备的方框图。
具体实施方式
为方便理解本申请实施例的方案,首先给出相关概念的简要介绍如下:
第一,区块链技术。
区块链技术,也被称为分布式账本技术,是一种由若干台计算设备共同参与“记账”(即记录交易数据),共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化(即没有中心节点)、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
目前,区块链按照部署方式可以分为:公有链和联盟链。公有链是指全世界任何设备都可读取的区块链,或者是任何设备都能参与交易的共识验证过程的区块链。联盟链,也称共同体区块链(consortium block chains),是指由指定区块链的参与成员组成联盟,成员之间的业务往来信息被记录在区块链中,限定了使用规模和权限。其中,本申请实施例中的区块链可以为联盟链,在此统一说明,以下不再赘述。
第二,区块链节点。
本公开实施例中的区块链也可以称之为区块链系统。本公开实施例中的区块链系统包括多个区块链节点(以下可以简称为节点)。其中,节点为具有通信功能以及存储功能的设备,如存储有区块链数据的设备。每一个节点既可接收信息,也可生成信息。不同的节点之间通过维护一个共同的区块链来保持通信和数据同步。具体的,在区块链系统中,任一节点可以根据客户端发送的与交易相关的数据生成新的区块链数据,并以广播的形式发布至其他节点,其他节点可以对这个区块链数据进行验证。当区块链系统中的所有节点达成共识后,新的区块链数据就可以被添加到该区块链中。
可选的,本公开实施例中的节点可以理解为处理单元。在一种实现方式中,节点可以为物理设备,例如服务器或者计算机。在另一种实现方式中,节点可以为虚拟计算机;虚拟计算机为所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念包括虚拟机和容器。在其他实现方式中,本公开实施例中的节点可以为进程(process)或者线程(thread);线程是操作系统能够进行运算调度的最小单位,线程被包含在进程之中,是进程中的实际运作单位;进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
第三,资产信息管理。
本公开实施例中的资产信息包括用户的资产收入数据和资产支出数据。目前,资产信息主要由资产管理机构(如银行,第三方支付机构)存储并管理。
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开实施例提供一种基于区块链的资产信息管理方法,区块链具有多个节点,资产信息管理方法应用于多个节点中的N个中。对于N个节点中的第n个节点,资产管理方法包括以下步骤:响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息。当2≤n≤N-1时,执行以下步骤:响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到第二资产信息;判断本节点中的第二资产信息中是否具有N个节点中的每个的第一资产信息,若是,则向N个节点中的每个发布本节点的第二资产信息;若否,则向第n+1个节点发送第二指令;其中,n和N均为正整数。
利用本公开实施例的资产信息管理方法,N个节点按照顺序生成第二资产信息,且对于第n个节点,其第二资产信息是通过对第一个节点至第n个节点中的第一资产信息进行结合(例如合并)得到的。因此,当任一节点判断出其第二资产信息中具有N个节点中的每个的第一资产信息时,则确定该节点将客户在全部节点中的资产信息进行了汇总,此时,由该节点将其第二资产信息向其他的节点进行发布,以使N个节点进行同步。这样,当客户访问N个节点中的任意一个节点时,均可以获取该客户在所有资产管理机构的资产信息的汇总,从而实现跨机构的资产信息的总揽。
图1和图2示意性示出了根据本公开实施例的资产信息管理方法、装置、设备、介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104、服务器105和资产管理机构106。资产管理机构106中存储有客户的资产信息。如图2所示,服务器105中存储有区块链数据,区块链具有N个用于存储客户的资产信息的节点,每一个节点所存储的资产信息对应一个资产管理机构106所存储的资产信息,不同的节点对应不同的资产管理机构。网络104用以在资产管理机构106、终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以查询自己的资产信息等。资产管理机构106可以通过网络104与服务器105交互,以更新服务器105中与该资产管理机构106相应的节点中的资产信息。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
在一些具体实施例中,终端设备101、102、103上可以设置与本公开实施例的资产管理方法相应的资产管理APP程序,资产管理APP程序可以嵌入相应的资产管理机构的APP中。客户可以通过资产管理APP程序访问服务器105中区块链的节点以查询自己当日的资产信息。例如,客户可以产看自己在全部资产管理机构中的总资产和总负债,以及客户在某一资产管理机构中的总资产和总负债。其中,用户也可以查看总资产和总负债的详情数据,例如,理财余额、信用卡待还金额、股票市值等。
客户在使用资产管理APP时,可以通过身份证进行实名制注册,注册信息分别存储在资产管理机构和区块链的主节点中。客户的注册信息和客户在各个节点中的资产信息通过客户的身份证号建立映射关系。
客户可以与指定的人建立互信关系,例如家人,此时,客户与家人之间的资产信息可以进行合并,以实现家庭资产总揽。在本公开实施例中,对建立互信关系的方式不作具体限定,例如,可以通过面容识别等身份认证方式。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的资产信息管理方法一般可以由服务器105执行。相应地,本公开实施例所提供的资产信息管理装置一般可以设置于服务器105中。本公开实施例所提供的资产信息管理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的资产信息管理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1和图2中的资产管理机构106、终端设备101、102、103、服务器105和网络104的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1和图2描述的场景,通过图3~图7对公开实施例的资产信息管理方法进行详细描述。
需要说明的是,本公开实施例的资产信息管理方法应用于区块链的多个节点中的N个中,N个节点中的每个对应一个资产管理机构,不同的节点对应不同的资产管理机构。N个节点中的每个均能执行本公开实施例的资产信息管理方法,本公开实施例以N个节点中的第n个节点为例,对本公开实施例的资产管理方法进行说明,其中,n和N均为正整数。图3示意性示出了根据本公开实施例的资产信息管理方法的流程图之一。如图3所示,资产管理方法包括步骤S210至步骤S260。
首先,资产管理机构向与其对应的节点发送第一指令。
在本公开实施例中,资产管理机构可以定期向与其对应的节点发送第一指令,例如,资产管理机构每天向与其对应的节点发送第一指令。
在步骤S210,第n个节点响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息。
在本公开实施例中,第n个节点中可以存储客户一天的资产信息,当接收到资产管理机构的第一指令时,第n个节点可以获取客户当天的资产信息,并覆盖前一天的资产信息已进行更新,从而得到第一资产信息。
在本公开实施例中,区块链可以为联盟链,联盟链中还具有主节点,主节点可以在N个节点全部都完成步骤S210后给N个节点进行排序,N个节点在主节点完成排序后执行步骤S220。
在步骤S220,第n个节点判断本节点在N个节点中的序号,也即判断n的大小,当2≤n≤N-1时,执行步骤S230。
在步骤S230,第n个节点响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到第二资产信息。
在本公开实施例中,可以将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息进行合并,以得到第二资产信息。
例如,以N=3为例,在第1个节点中,客户的第一资产信息为B,在第2个节点中,客户的第一资产信息为C,在第3个节点中,客户的第一资产信息为D。那么,第3个节点所生成的第二资产信息则为B+C+D。需要说明的是,在本公开实施例中,第3个节点在生成第二资产信息时,并不仅仅是将第1个节点至第3个节点中的第一资产信息进行加和,第3个节点还可以将第1个节点至第3个节点中的第一资产信息的一部分信息进行剔除,例如,客户的跨行转账信息,具体下文将做详细介绍,在此先不赘述。
在步骤S240、第n个节点判断本节点中的第二资产信息中是否具有N个节点中的每个的第一资产信息,若是,则执行步骤S250;若否,则执行步骤S260。
在步骤S250,第n个节点向N个节点中的每个发布本节点的第二资产信息;
在步骤S260,第n个节点向第n+1个节点发送第二指令。
在本公开实施例中,当第n个节点判断出其第二资产信息中具有N个节点中的每个的第一资产信息时,则确定该节点将客户在全部节点中的资产信息进行了汇总,此时,由该节点将其第二资产信息向其他的节点进行发布,以使N个节点进行同步。这样,当客户访问N个节点中的任意一个节点时,均可以获取该客户在所有机构的资产信息的汇总信息,从而实现跨机构的资产总揽。当第n个节点判断出其第二资产信息中缺少某个节点中的第一资产信息时,则确定该节点未完成汇总,此时,第n个节点向下一个节点发送第二指令,由下一个节点执行上述的步骤S220~S260。
下面以N个节点对一个客户的资产信息进行一次完整的汇总过程为例,对本公开实施例的资产信息管理方法进行说明。图4示意性示出了根据本公开实施例的资产信息管理方法的流程图之二,图5示意性示出了根据本公开实施例的资产信息管理方法的流程图之三,图6示意性示出了根据本公开实施例的资产信息管理方法的流程图之四,结合图4至图6所示,首先,资产管理机构向与其对应的节点发送第一指令。在本公开实施例中,资产管理机构在向与其对应的节点发送第一指令时,可以讲其存储的客户当天的资产信息发送至节点。
可选地,资产管理机构在发送资产信息对资产信息进行加密,本公开实施例对加密的方式不作具体限制,例如,加密的方式可以采用对称加密算法或非对称加密算法,示例性地,本公开实施例可以采用非对称加密算法。在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。其中,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。私钥用来解密公钥加密的数据。摘要,对需要传输的数据,做哈希计算,例如,一般使用安全散列算法(securehashalgorithm,SHA)进行运算。数据接收端在接收到传输的数据后,需要确认该数据是否就是数据发送端发出的数据,中途是否曾经被篡改。因此拿自身持有的私钥对接收到的数据进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密),得到了数据的摘要,然后使用与数据发送端同样的哈希算法计算接收到的数据的摘要值,再与解密得到的摘要做对比,若发现二者完全一致,则说明文本没有被篡改过。
在步骤S310,第n个节点响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息。
在本步骤中,第n个节点可以使资产管理机构发送的资产信息覆盖其当前存储的资产信息已进行更新,从而得到第一资产信息。
在一些具体实施例中,在步骤S310之后,资产信息管理方法还包括步骤S370。
在步骤S370,将第一资产信息发送至N个节点中的其他节点中进行备份。
在本公开实施例中,用于进行备份节点的数量可以根据实际需要确定,在此不做限制,例如2个。用于备份的节点可以根据实际需要确定,本公开实施例不做限制,例如,用于备份的节点可以是预先设定好的固定几个节点,也可以是随机设置的几个节点。
在本公开实施例中,区块链可以为联盟链,联盟链中还具有主节点,主节点可以在N个节点全部都完成步骤S310后给N个节点进行排序,N个节点在主节点完成排序后执行步骤S320。
在步骤S320,第n个节点判断本节点在N个节点中的序号,也即判断n的大小,当n=1(也即本节点为第1个节点)时,执行步骤S330至步骤334;当2≤n≤N-1(也即本节点为第2个至第N-1个节点)时,执行步骤S341至步骤S343;当n=N(也即本节点为第N个节点)时,执行步骤S351至步骤S353。
首先,第1个节点执行步骤S331。
在步骤S331,第1个节点向第n+1个(也即第2个)节点发送第二指令。
在本公开实施例中,在步骤S331之前,第1个节点可以先执行步骤S330。
在步骤S330,对第一资产信息进行签名,以得到第三资产信息。
在本公开实施例中,步骤S331包括步骤S3311。
在步骤S3311,第1个节点向第2个节点发送第二指令以及本节点的第三资产信息。此时,第一个节点进入等待状态,直至接收到第N个节点的第二指令。
在本公开实施例中,可以采用非对称加密算法进行签名,示例性地,使用私钥对需要传输的数据的摘要进行加密,得到的密文即为第三资产信息。数据接收端在接收到传输的数据后,拿自身持有的公钥对接收到的签名进行解密,得到了数据的摘要,然后使用与数据发送端同样的哈希算法计算接收到的数据的摘要值,再与解密得到的摘要做对比,若发现二者完全一致,则说明文本没有被篡改过。
之后,第2个节点执行步骤S341。
在步骤S341,第2个节点响应于第n-1个(也即第1个)节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到本节点的第二资产信息。
在本公开实施例中,第2个节点可以采用多种方式获取第1个节点的第一资产信息,例如,第2个节点可以是主动向第1个节点获取第一资产信息,也可以是被动接受来自第1个节点的第一资产信息。示例性地,当第2个节点主动向第1个节点获取第一资产信息时,具体可以是,第2个节点向第1个节点发送资产信息请求指令,第1个节点在接收到该资产信息请求指令时,将其存储的第一资产信息发送至第n个节点。
在本公开实施例中,如前文所示,第1个节点可以在向第2个节点发送第二指令的同时发送第三资产信息,而第三资产信息是由第一资产信息签名后得到的,因此,第2个节点无需主动获取第1个节点的第一资产信息。具体地,步骤S341包括步骤S3411。
在步骤S3411:第n个节点将第n-1个节点的第三资产信息与本节点中的第一资产信息相结合,以得到本节点的第二资产信息。
在一些具体实施例中,第三资产信息包括客户的至少一笔资产收入记录和至少一笔资产支出记录,以及每笔资产收入记录和每笔资产支出记录所对应的资产管理机构;步骤S3411包括:
对于同一客户的一笔资产收入记录和一笔资产支出记录,当二者分别对应两个资产管理机构,且资产收入记录的金额与资产支出的金额相同时,那么则说明,该客户在这两个资产管理机构中进行了转账步骤,该过程虽然导致了客户的资产信息发生变化,但对于客户来说,其资产总额并未发生变化,因此,可以删除该笔资产收入记录和该笔资产支出记录,从而节省存储空间。
之后,第2个节点执行步骤S342~S343。
在步骤S342,第2个节点对本节点中的第二资产信息进行签名以得到第三资产信息。
在步骤S343,第2个节点判断本节点中的第二资产信息中是否具有N个节点中的每个的第一资产信息,若是,则执行步骤S360;若否,则执行步骤S344。
在一些具体实施例中,步骤S343包括步骤S3431
在步骤S3431,第2个节点判断本节点中的第三资产信息中是否具有N个节点中的每个的签名,若是,则确认本节点中的第二资产信息中具有N个节点中的每个的第一资产信息。
在本公开实施例中,由于N个节点均可通过签名得到其第三资产信息,因此,每个节点也均可通过判断其生成的第三资产信息中是否具有N个节点中的每个的签名,来确认是否完成汇总的过程。
在一些具体实施例中,在步骤S3431之后,资产信息管理方法还可以包括以下步骤:当本节点的第二资产信息中缺少第1个节点至第n-1个节点中的任意一个的第一资产信息,且本节点中备份有缺失的节点的第一资产信息时,将本节点中备份的缺失的节点的第一资产信息与本节点当前的第二资产信息相结合,以得到本节点最终的第二资产信息。
在本公开实施例中,当判断本节点中的第三资产信息中缺少第1个节点至第n-1个节点中的某个的签名时,则确定本节点缺少该节点的第一资产信息。此时,可以判断本节点中是否备份有该节点的第一资产信息,若是,则利用本节点备份的第一资产信息对本节点当前的第二资产信息进行补充,以得到最终的第二资产信息,并对该最终的第二资产信息进行签名,以得到本节点最终的第三资产信息。
在步骤S344,第2个节点向第n+1个(也即第3个)节点发送第二指令。
在一些具体实施例中,步骤S344可以包括步骤S3441。
在步骤S3441,第2个节点向第n+1个节点发送第二指令和第三资产信息。此时,第2个节点中的第三资产信息包含了第1个节点的第一资产信息和第2个节点的第一资产信息,以及第1个节点和第2个节点的签名。
当第3个节点接收到第2个节点的第二指令时,第3个节点执行步骤S341~S343。此时,第3个节点中的第三资产信息包含了第1个节点的第一资产信息、第2个节点的第一资产信息和第3个节点的第一资产信息,以及第1个节点、第2个节点和第3个节点的签名。
以此类推,N个节点中的每个的第三资产信息均包含有第1个节点至该节点的第一资产信息,以及第1个节点至该节点的签名。
直至n=N。第N个节点执行步骤S351~S353,其中,结合图5和图6所示,步骤S351~S353与步骤S341~S343相同,故在此不再赘述。
需要说明的是,在本公开实施例中,在第n-1个节点向第n个节点发送第二指令和第三资产信息时,第n个节点可能存在异常,导致第n-1个节点和第n个节点的交互失败。此时,可以跳过该异常的节点,向第n+1个节点发送第二指令和第三资产信息。由于存在跳过节点的可能,因此,第N个节点中的第二资产信息中会缺失某些节点中的第一资产信息,此时,第N个节点在执行步骤S353时,若其判断结果为否。此时,第N个节点执行步骤S354。
在步骤S354,第N个节点向第1个节点发送第二指令和第N个节点的第三资产信息。
当第1个节点接收到第N个节点的第二指令时,第1个节点执行步骤S332~S334。在本公开实施例中,步骤S332~S334可以参照步骤S341~S343得到,步骤S335可以参照步骤S344得到,故在此不再赘述。
在本公开实施例中,当N个节点中的某一个节点能够判断出该节点中的第三资产信息中包含有N个节点中的每个的签名,也即,判断出该节点中的第二资产信息中具有N个节点中的每个的第一资产信息时,确认汇总完成,执行步骤S360,向N个节点中的每个发布该节点的第二资产信息。
在一些具体实施例中,区块链还包括主节点,步骤S360包括步骤S3611。
在步骤S3611,向主节点发送第三指令和本节点的第二资产信息,第三指令配置为,使主节点将接收到的第二资产信息向N个节点进行发布。在本公开实施例中,主节点发布第二资产信息的方式可以根据实际需要确定,例如,主节点可以采用Gissip协议发布第二资产信息。
在一些具体实施例中,主节点存储有客户在所有节点中的资产信息,主节点还可以用于支撑资产曲线图、月度、年度汇总等功能。
在一些具体实施例中,主节点还可以向各节点发布数字证书和程序更新包,数字证书用于节点进行签名,程序更新包用于节点的程序升级。
图7示意性示出了根据本公开实施例的节点的数据结构图,如图7所示,在一些具体实施例中,每个节点可以包括:账单文件和资产负债文件,账单文件和资产负债文件均包括报文头和报文体。账单文件和资产负债文件的报文头均可以包括:文件长度、发送时间戳、金融机构ID、节点序号、文件校验信息、数字签名等。每个账单文件的报文体中存储有一个客户的每笔交易信息,具体包括:金融机构ID、客户ID、交易时间戳、交易账户、交易币种、交易金额、借贷方向、交易分类(如转账、消费、批扣等等)。每个资产负债文件的报文体中存储有所有客户的负债信息,具体包括:金融机构ID、客户ID、当前日期、总资产、总负债、资产类别、资产金额、负债类别、负债金额等。
在本公开实施例中,前文所述的资产信息即是指上述账单文件和资产负债文件中的部分或全部的数据信息。
基于上述资产信息管理方法,本公开还提供了一种资产信息管理装置。以下将结合图8对该装置进行详细描述。
图8示意性示出了根据本公开实施例的资产信息管理装置的结构框图。
如图8所示,该实施例的资产信息管理装置800包括第一模块810和第二模块820。
第一模块810用于响应于资产管理机构的第一指令,对客户的资产信息进行更新,以得到第一资产信息。在一实施例中,第一模块810可以用于执行前文描述的步骤S210,在此不再赘述。
第二模块820用于当2≤n≤N-1时,执行以下步骤:
响应于第n-1个节点的第二指令,将第1个节点至第n-1个节点的第一资产信息与本节点中的第一资产信息相结合,以得到第二资产信息;
判断第二资产信息中是否具有N个节点中的每个的第一资产信息,若是,则向N个节点中的每个发布本节点的第二资产信息;若否,则向第n+1个节点发送第二指令;
其中,n和N均为正整数。
在一实施例中,第一模块820可以用于执行前文描述的步骤S220~S240,在此不再赘述。
根据本公开的实施例,当客户访问N个节点中的任意一个节点时,均可以获取该客户在所有资产管理机构的资产信息的汇总,从而实现跨机构的资产信息的总揽。
根据本公开的实施例,第一模块810和第二模块820中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一模块810和第二模块820中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一模块810和第二模块820中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的适于实现资产信息管理方法的电子设备的方框图。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900步骤所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种步骤。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种步骤。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的资产信息管理方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的资产信息管理方法。
在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和步骤。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或步骤的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。