首页> 中国专利> 一种数字货币信息记录系统、方法和存储介质

一种数字货币信息记录系统、方法和存储介质

摘要

本发明公开了一种数字货币信息记录系统、方法和存储介质,所述系统包括交易指令模块、微服务调度模块和记录模块。数字货币信息记录系统具有高度并行化的结构,易于对系统的规模进行扩展,以应对高并发量的性能要求,另一方面,系统的规模也易于收缩,以合理节约资源;系统内部模块与模块之间、单元与单元之间具有独立性,可以便于故障的排查和处理,也便于与系统外部的用户或设备进行数据交换;在面对数字货币信息查询这一常见的任务时,系统中的记录模块可以独立地直接响应外部的查询请求,无需启动整个微服务,达到快速响应的效果。本发明广泛应用于数字货币技术领域。

著录项

  • 公开/公告号CN112785433A

    专利类型发明专利

  • 公开/公告日2021-05-11

    原文格式PDF

  • 申请/专利权人 深圳华数云计算技术有限公司;

    申请/专利号CN202110110568.9

  • 发明设计人 杜猛;苏锐;李胜;曾晓;李木子;

    申请日2021-01-27

  • 分类号G06Q40/04(20120101);G06Q20/40(20120101);G06F9/28(20060101);G06F9/48(20060101);G06F16/2455(20190101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人常柯阳

  • 地址 518000 广东省深圳市南山区后海大道与海德一道交汇处中洲控股金融中心B栋34G02

  • 入库时间 2023-06-19 10:57:17

说明书

技术领域

本发明涉及数字货币技术领域,尤其是一种数字货币信息记录系统、方法和存储介质。

背景技术

数字货币是一种全新形式的货币,被一些国家或地区的中央银行或其他货币发行机构所承认。中央银行以发行货币的方式发行产生加密字符串,这些加密字符串便是代表有面额的真实货币。用户可以在钱包中真实存储和管理这些货币。同时中央银行设立运营数字货币登记中心,记录货币在流转过程中的所有权转换关系。数字货币登记中心采用公私钥标记货币的所有权。用户在使用货币时,需要利用自己的私钥对交易进行签名,数字货币登记中心会根据货币的编号与对应的公钥对交易本身进行验证,在确定货币所有者的身份后,进行货币所有权的转换,将对应的货币所有权标记为新的公钥。本质上,数字货币的交易支付过程即是货币所有权的转移过程。

实际应用中,需要一个数字货币信息记录系统以支持数字货币所有权的转移记录。现有一些通过区块链技术实现的数字货币信息记录系统,受限于区块链本身的性能与串行化的特性,数字货币信息记录系统难以被并行化执行以及难以扩展,在面临大量数字货币所有权转换的处理任务时,容易因高并发量而崩溃。

发明内容

针对上述至少一个技术问题,本发明的目的在于提供一种数字货币信息记录系统、方法和存储介质。

一方面,本发明实施例包括一种数字货币信息记录系统,包括:

交易指令模块,用于获取至少一个子指令;一个所述子指令与一笔数字货币对应;

微服务调度模块,用于接收所述交易指令模块发送过来的各所述子指令,解析出各所述子指令中分别包含的数字货币索引信息,查找出各所述数字货币索引信息分别对应的节点;在部分或全部所述节点存在相应微服务的情况下,将各所述子指令发送到记录模块;

记录模块,用于运行多个相互独立的微服务;各所述微服务用于接收所述微服务调度模块发送过来的各所述子指令,从接收到的所述子指令解析出数字货币拥有者公钥,记录所述数字货币拥有者公钥,返回数字货币字符串。

进一步地,所述交易指令模块包括:

第一校验单元,用于获取并验证针对数字货币的交易指令;在所述交易指令通过验证的情况下,根据所述交易指令所涉及的至少一笔数字货币,将所述交易指令分解为与各笔所述数字货币一一对应的至少一个子指令;

智能合约单元,用于检测所述交易指令中是否存在智能合约,使得所述第一校验单元在检测到所述交易指令中包含有智能合约的情况下,对所述交易指令执行所述智能合约,在所述智能合约执行成功的情况下,所述第一校验单元将各所述子指令发送到相应的微服务,反之,则注销所述交易指令;

子指令分解单元,用于对各所述子指令进行锁定,从所述记录模块获取各所述子指令相应的数字货币拥有者公钥的记录结果,在所有所述子指令相应的数字货币拥有者公钥均被成功记录的情况下,返回记录成功信息,反之则返回回滚指令。

进一步地,所述微服务调度模块包括:

请求转发单元,用于接收所述交易指令模块发送过来的各所述子指令,解析出各所述子指令中分别包含的数字货币索引信息;在微服务发现单元查找出相应节点的情况下,对查找出的节点进行相应微服务的查找;在查找出相应微服务的情况下,将各所述子指令发送到记录模块,反之则请求微服务调度单元在节点启动微服务,在微服务启动后将各所述子指令发送到记录模块;

微服务发现单元,用于维护映射表,根据所述映射表和所述请求转发单元解析出的数字货币索引信息,对相应的节点进行查找;

微服务调度单元,用于响应所述微服务发现单元的请求,在节点启动微服务。

进一步地,所述记录模块包括至少一个组合,各所述组合分别用于运行一个微服务;各所述组合分别包括:

请求单元,用于接收所述微服务调度模块发送过来的各所述子指令;

第二校验单元,用于对各所述子指令分别所指向的一笔数字货币和数字货币签名进行校验;在校验通过的情况下,对各所述子指令进行关联脚本的检测;在检测到所述关联脚本的情况下,将各所述子指令发送到脚本单元,反之将各所述子指令发送到记录单元;

脚本单元,用于从各所述子指令中提取出关联脚本,对各所述子指令所包含的数字货币字符串执行所述关联脚本,在执行通过后将各所述子指令发送到记录单元;

记录单元,用于从接收到的所述子指令解析出数字货币拥有者公钥,记录所述数字货币拥有者公钥,返回数字货币字符串;接收针对数字货币拥有者公钥的查询请求,由所述查询请求所指向的至少一个所述微服务响应所述查询请求。

另一方面,本发明实施例还包括一种数字货币信息记录方法,包括以下步骤:

获取至少一个子指令;一个所述子指令与一笔数字货币对应;

解析出各所述子指令中分别包含的数字货币索引信息;

查找出各所述数字货币索引信息分别对应的节点;

在部分或全部所述节点存在相应微服务的情况下,将各所述子指令发送到相应的微服务;

由所述微服务从接收到的所述子指令解析出数字货币拥有者公钥,记录所述数字货币拥有者公钥,返回数字货币字符串。

进一步地,所述数字货币信息记录方法还包括以下步骤:

接收针对数字货币拥有者公钥的查询请求;

由所述查询请求所指向的至少一个所述微服务响应所述查询请求。

进一步地,所述数字货币信息记录方法还包括以下步骤:

对各所述子指令进行锁定;

获取各所述子指令相应的数字货币拥有者公钥的记录结果;

在所有所述子指令相应的数字货币拥有者公钥均被成功记录的情况下,返回记录成功信息,反之则返回回滚指令。

进一步地,所述获取至少一个子指令这一步骤,具体包括:

获取并验证针对数字货币的交易指令;

在所述交易指令通过验证的情况下,根据所述交易指令所涉及的至少一笔数字货币,将所述交易指令分解为与各笔所述数字货币一一对应的至少一个子指令。

进一步地,在检测到所述交易指令中包含有智能合约的情况下,所述将各所述子指令发送到相应的微服务这一步骤,具体包括:

对所述交易指令执行所述智能合约;

在所述智能合约执行成功的情况下,将各所述子指令发送到相应的微服务,反之,则注销所述交易指令。

另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行实施例所述方法。

本发明的有益效果是:实施例所述的数字货币信息记录系统具有高度并行化的结构,易于对系统的规模进行扩展,以应对高并发量的性能要求,另一方面,系统的规模也易于收缩,以合理节约资源;系统内部模块与模块之间、单元与单元之间具有独立性,可以便于故障的排查和处理,也便于与系统外部的用户或设备进行数据交换;在面对数字货币信息查询这一常见的任务时,系统中的记录模块可以独立地直接响应外部的查询请求,无需启动整个微服务,达到快速响应的效果。

附图说明

图1为实施例中所述数字货币信息记录系统的结构示意图;

图2为实施例中所述交易指令模块的结构示意图;

图3为实施例中所述微服务调度模块的结构示意图;

图4为实施例中所述记录模块的结构示意图。

具体实施方式

实施例1

本实施例中,参照图1,所使用的数字货币信息记录系统包括交易指令模块、微服务调度模块和记录模块,这三个模块可以是指具有相应功能的硬件设备,或者具有相应功能的软件模块,或者具有相应功能的硬件设备和软件模块的组合。交易指令模块、微服务调度模块和记录模块之间建立永久的或临时的连接,使得任一模块可以在需要时向其他模块发送数据,或者从其他模块接收数据。

参照图2,所述交易指令模块包括第一校验单元、智能合约单元和子指令分解单元,这些单元都是交易指令模块的一个组成部分,具体地可以是交易指令模块中的一个硬件零件,或者所调用的一个软件模块。通过第一校验单元、智能合约单元和子指令分解单元之间的独立工作或者相互配合,使得交易指令模块实现这样的功能:获取一个或多个子指令,每个子指令都是由记录系统外部的用户或者设备发出的,用来指示对某一笔数字货币进行交易等操作,因此本实施例中的每个子指令都分别对应着一笔数字货币。

具体地,图2中的第一校验单元实现以下功能:获取针对数字货币的交易指令,并对交易指令的安全性进行验证,在验证过程中还可以解开交易指令上存在的保护。这里所说的交易指令是由至少一个子指令组成的集合,同一交易指令中的各子指令可能来自不同的数字货币拥有者。

第一校验单元在检测到交易指令通过验证后,就将交易指令分解成为多个子指令。

第一校验单元还将交易指令或其副本发送到智能合约单元。智能合约单元检测所述交易指令中是否存在智能合约,然后将检测结果返回到第一校验单元。如果对智能合约的检测结果为“不存在”,也就是所述交易指令中不存在智能合约,那么第一校验单元就注销所述交易指令,相应产生的效果就是抛弃该笔交易;如果对智能合约的检测结果为“存在”,也就是所述交易指令中存在智能合约,那么第一校验单元就对交易指令执行所述智能合约。如果智能合约执行成功,第一校验单元就将各子指令发送到图1所示记录模块所运行的微服务上,具体地,记录模块针对每个子指令都运行一个微服务,因此第一校验单元将每个子指令都发送到相应的一个微服务上;如果智能合约执行不成功,第一校验单元就注销所述交易指令。

具体地,图2中的子指令分解单元实现以下功能:首先锁定各子指令;子指令分解单元从图1所示的记录模块获取各所述子指令相应的数字货币拥有者公钥的记录结果,如果记录结果显示,所有子指令相应的数字货币拥有者公钥均被成功记录,那么子指令分解单元就向交易指令的发出者返回一条消息,以向交易指令的发出者告知记录成功;如果记录结果显示,存在至少一个子指令相应的数字货币拥有者公钥未被成功记录,那么子指令分解单元就向交易指令的发出者返回回滚指令。

参照图3,所述微服务调度模块包括请求转发单元、微服务发现单元和微服务调度单元,这些单元都是微服务调度模块的一个组成部分,具体地可以是微服务调度模块中的一个硬件零件,或者所调用的一个软件模块。通过请求转发单元、微服务发现单元和微服务调度单元之间的独立工作或者相互配合,使得微服务调度模块实现这样的功能:接收所述交易指令模块发送过来的各所述子指令,解析出各所述子指令中分别包含的数字货币索引信息,查找出各所述数字货币索引信息分别对应的节点;在部分或全部所述节点存在相应微服务的情况下,将各所述子指令发送到记录模块。

具体地,图3中的请求转发单元实现以下功能:接收图2所示的交易指令模块发送过来的各子指令,从每条子指令中解析出所包含的数字货币索引信息,然后将解析出的数字货币索引信息发送到图3所示的微服务发现单元。

微服务发现单元中存储有至少一个映射表,这个映射表由微服务发现单元进行更新维护,记录了数字货币索引信息和节点之间的映射关系,因此微服务发现单元可以根据请求转发单元发送过来的数字货币索引信息,从映射表中进行对节点的查找。

如果微服务发现单元根据数字货币索引信息和映射表查找到相应节点,那么微服务发现单元将各子指令发送到记录模块;如果微服务发现单元根未能从映射表查找到相应节点,那么微服务发现单元请求图3所示的微服务调度单元在节点启动微服务,在微服务启动后,微服务发现单元再将各子指令发送到记录模块。

本实施例中,微服务调度单元专门用于响应微服务发现单元的请求,在节点启动微服务;如果微服务本身已经启动,那么微服务发现单元就不必发出启动微服务的请求,此时微服务调度单元则无需动作,甚至不必设置微服务调度单元。

参照图4,记录模块运行多个相互独立的微服务,每个微服务分别用于记录一笔数字货币所有权的转换流程。从每笔数字货币的角度来看,其所有权转换流程形成一个线性的链,并由微服务来进行记录。

参照图4,每个微服务的硬件或软件基础是请求单元、第二校验单元、脚本单元和记录单元,也就是由一组请求单元、第二校验单元、脚本单元和记录单元来支撑一个微服务,这些单元都是记录模块的一个组成部分,具体地可以是记录模块中的一个硬件零件,或者所调用的一个软件模块。

通过请求单元、第二校验单元、脚本单元和记录单元之间的独立工作或者相互配合,使得记录模块实现这样的功能:运行服务,使微服务接收所述微服务调度模块发送过来的各所述子指令,从接收到的所述子指令解析出数字货币拥有者公钥,记录所述数字货币拥有者公钥,返回数字货币字符串。

本实施例中,每个微服务的原理是相同或相似的,因此可以从一个微服务的原理来理解。

在一个微服务中,其请求单元实现以下功能:接收所述微服务调度模块发送过来的多个子指令,然后将这些子指令转发到第二校验单元,由第二校验单元对各子指令分别所指向的一笔数字货币和数字货币签名进行校验,这样,可以保证数字货币的真实性和安全性。如果第二校验单元检测到校验通过,那么就进一步检测各子指令中是否存在关联脚本;如果第二校验单元检测到各子指令中存在关联脚本,那么就将存在关联脚本的子指令发送到脚本单元;如果第二校验单元未检测到各子指令中存在关联脚本,那么就直接将各子指令发送到记录单元。

在一个微服务中,其脚本单元实现以下功能:接收第二校验单元发送过来的子指令,从这些子指令中提取出关联脚本,然后对各所述子指令所包含的数字货币字符串执行关联脚本;如果关联脚本执行通过,那么脚本单元将其从第二校验单元接收到的全部子指令发送到记录单元。

在一个微服务中,其记录单元实现以下功能:从脚本单元接收子指令,从接收到的子指令中解析出数字货币拥有者公钥,将解析出的数字货币拥有者公钥存储下来,向交易指令的发起者返回数字货币字符串。

如果用户或者设备向数字货币信息记录系统发出针对数字货币拥有者公钥的查询请求,那么就由记录单元接收查询请求,然后响应该查询请求。这里所说的响应是指读取出之前存储的数字货币拥有者公钥,并将数字货币拥有者公钥反馈至查询请求的发起者。

综上对数字货币信息记录系统原理的说明,以及结合图1、图2、图3和图4可知,数字货币信息记录系统具有高度并行化的结构,易于对系统的规模进行扩展,以应对高并发量的性能要求,另一方面,系统的规模也易于收缩,以合理节约资源;系统内部模块与模块之间、单元与单元之间具有独立性,可以便于故障的排查和处理,也便于与系统外部的用户或设备进行数据交换;在面对数字货币信息查询这一常见的任务时,系统中的记录模块可以独立地直接响应外部的查询请求,无需启动整个微服务,达到快速响应的效果。

实施例2

本实施例中,使用实施例1所述的数字货币信息记录系统,为数字货币信息记录系统中的每个模块和/或单元设定一定的工作时序,使得数字货币信息记录系统中的模块和/或单元可以按照以下步骤S1-S5执行其本身的功能:

S1.获取至少一个子指令;一个所述子指令与一笔数字货币对应;

S2.解析出各所述子指令中分别包含的数字货币索引信息;

S3.查找出各所述数字货币索引信息分别对应的节点;

S4.在部分或全部所述节点存在相应微服务的情况下,将各所述子指令发送到相应的微服务;由所述微服务从接收到的所述子指令解析出数字货币拥有者公钥,记录所述数字货币拥有者公钥,返回数字货币字符串。

上述步骤S1-S4就是通过实施例1所述的数字货币信息记录系统所执行的数字货币信息记录方法。通过实施例1和本实施例的说明,本领域技术人员还可以采用其他执行主体来执行步骤S1-S4。

本实施例中,还通过使用实施例1中的数字货币信息记录系统中的相应模块和/或单元,来执行以下步骤:

S5.接收针对数字货币拥有者公钥的查询请求;

S6.由所述查询请求所指向的至少一个所述微服务响应所述查询请求。

步骤S5-S6也属于数字货币信息记录方法的一部分。

本实施例中,还通过使用实施例1中的数字货币信息记录系统中的相应模块和/或单元,来执行以下步骤:

S7.对各所述子指令进行锁定;

S8.获取各所述子指令相应的数字货币拥有者公钥的记录结果;

S9.在所有所述子指令相应的数字货币拥有者公钥均被成功记录的情况下,返回记录成功信息,反之则返回回滚指令。

步骤S7-S9也属于数字货币信息记录方法的一部分。

本实施例中,所述步骤S1,也就是获取至少一个子指令这一步骤,是使用实施例1所述数字货币信息记录系统中的交易指令模块来执行的。交易指令模块通过调用其所包括的第一校验单元、智能合约单元和/或子指令分解单元,来执行以下步骤:

S101.获取并验证针对数字货币的交易指令;

S102.在所述交易指令通过验证的情况下,根据所述交易指令所涉及的至少一笔数字货币,将所述交易指令分解为与各笔所述数字货币一一对应的至少一个子指令。

所述步骤S101和S102构成了步骤S1的主要部分,这也是使用交易指令模块执行步骤S1的原理。

本实施例中,在检测到所述交易指令中包含有智能合约的情况下,所述步骤S4,是使用实施例1所述数字货币信息记录系统中的交易指令模块来执行的。交易指令模块通过调用其所包括的第一校验单元、智能合约单元和/或子指令分解单元,来执行以下步骤:

S401.对所述交易指令执行所述智能合约;

S402.在所述智能合约执行成功的情况下,将各所述子指令发送到相应的微服务,反之,则注销所述交易指令。

所述步骤S401和S402构成了步骤S4的主要部分,这也是使用交易指令模块执行步骤S4的原理。

通过编写用于控制计算机设备执行步骤S1-S9的指令,然后将指令存储在存储介质中,那么这个存储介质所存储的指令被计算机设备读取并运行时,可以使得这个计算机设备成为实施例1所述的数字货币信息记录系统。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号