向区块链系统提供交易数据以进行处理的方法和设备与流程

文档序号:35917738发布日期:2023-11-03 20:48阅读:40来源:国知局
向区块链系统提供交易数据以进行处理的方法和设备与流程

1.本文一般涉及计算机技术,更具体地,涉及用于向区块链系统提供交易数据以进行处理的方法和设备。


背景技术:

2.区块链系统,也称为分布式账本系统(dls)或共识系统,可以使参与的实体安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,区块链系统可以包括任何dls,并且可以用于公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络对所有实体开放使用该系统,并参与共识处理。私有区块链网络针对特定实体提供,该实体集中控制读写权限。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识过程,并且联盟区块链网络包括访问控制层。
3.区块链系统维护一个或多个区块链。区块链是用于存储数据(例如,交易)的数据结构,其可以防止恶意方篡改和操纵数据。
4.在传统的基于区块链系统进行的交易数据记录中,交易数据被实时同步提供给区块链系统以进行记录。例如,交易数据系统一旦获得交易数据就将该数据上传到区块链系统,而不检查区块链系统的状态。因此,有时区块链系统可能会过载甚至停滞。


技术实现要素:

5.在一实施例中,一种计算机实施的用于向区块链系统提供交易数据以进行处理的方法,该方法包括:监控计算机系统中的所述交易数据,其中,所述交易数据包括单个交易数据或多个交易数据中的至少一种;以及基于所述监控,将所述交易数据异步上传到所述区块链系统。
6.在另一个实施例中,提供了一种用于向区块链系统提供交易数据以进行处理的设备,包括:一个或多个处理器;以及一个或多个计算机可读存储器,其耦接到该一个或多个处理器并且其上存储有指令。该指令可由该一个或多个处理器执行以:监控计算机系统中的交易数据,其中,该交易数据包括单个交易数据或多个交易数据中的至少一种;以及基于所述监控,将所述交易数据异步上传到所述区块链系统。
7.在另一个实施例中,提供了一种其上存储有指令的非暂态计算机可读介质,当由设备的处理器执行该指令时,该指令使得该设备执行用于向区块链系统提供交易数据以进行处理的方法。该方法包括:监控计算机系统中的所述交易数据,其中,所述交易数据包括单个交易数据或多个交易数据中的至少一种;以及基于所述监控,将所述交易数据异步上传到所述区块链系统。
附图说明
8.包含在本文中并构成本文一部分的附图示出了实施例。在参考附图的以下描述中,除非另有说明,否则不同附图中的相同附图标记表示相同或相似的元件。
9.图1是根据实施例的区块链系统的示意图。
10.图2是根据实施例示出的用于向区块链系统提供交易数据以进行处理的系统的示意图。
11.图3是根据实施例示出的用于向区块链系统提供交易数据以进行处理的设备的示意图。
12.图4是根据实施例示出的用于将交易数据异步上传到区块链系统以进行处理的方法的示意图。
13.图5是根据实施例示出的用于对提供给区块链系统以进行处理的交易数据执行验证的方法的示意图。
14.图6是根据实施例示出的用于处理提供给区块链系统以进行处理的交易数据的方法的示意图。
15.图7是根据实施例的用于向区块链系统提供交易数据以进行处理的方法的流程图。
16.图8是根据实施例的用于向区块链系统提供交易数据以进行处理的装置的示意图。
具体实施方式
17.本文的实施例提供了用于向区块链系统提供交易数据以进行处理、验证交易数据的准确性并且在区块链系统中记录账单和支付信息的方法和设备。在这些方法中,计算机系统可以监控区块链系统的状态和计算机系统中的交易数据,并且可以基于该监控将交易数据异步上传到区块链系统。另一计算机系统可通过将上传的交易数据与其自己的交易数据进行比较来验证上传的交易数据的准确性。在验证之后,结算系统可以结算账单并通知支付系统。支付系统可以将支付声明上传到区块链系统并继续处理支付。
18.本文中公开的实施例具有一种或多种技术效果。在一些实施例中,所述方法和设备监控计算机系统中的交易数据和区块链系统的状态。这允许在区块链系统处于接收和处理交易数据的良好状态时的时间,确定将交易数据提交给区块链系统。在一些实施例中,所述方法和设备在基于交易数据的特征和区块链系统的状态的指定时间,将单个交易数据或多个交易数据的聚合上传到区块链系统。这可以防止区块链系统过载,从而增强区块链系统的性能。在一些实施例中,所述方法和设备自动验证交易数据、验证交易数据的准确性、结算账单并利用区块链系统处理支付,从而消除对中心中介的需要,增强整个交易处理的安全性和效率,并降低交易成本。
19.以下描述提供了实施例的细节。在实施例中,区块链是以数据(例如,交易)不可篡改并随后被验证的方式存储交易的数据结构。区块链包括一个或多个区块。每个区块通过包括在区块链中紧接其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还可以包括时间戳、其自身的加密哈希值以及一个或多个交易。通常已经被区块链系统的节点验证的交易可以经哈希处理并编入例如梅克尔(merkle)树的数据结构。在merkle树中,树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处级联(concatenated)。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。可通过确定哈希值是否与树的结构一致而
可快速验证该哈希值是否为存储在该树中的交易的哈希值。
20.区块链系统包括管理、更新和维护一个或多个区块链的计算节点的网络。网络可以是公有区块链网络、私有区块链网络或联盟区块链网络。在公有区块链网络中,共识处理由共识网络的节点控制。例如,诸如数百、数千或甚至数百万个实体的许多实体可以在公有区块链网络中操作,并且每个实体操作所述公有区块链网络中的至少一个节点。因此,公有区块链网络可以被认为是关于参与实体的公有网络。有时,大多数实体(节点)必须对每个区块签名才能使该区块被验证并被添加到区块链网络的区块链中。公有区块链网络的示例包括利用分布式账本(称为区块链)的特定点对点(peer-to-peer)支付网络。
21.通常,公有区块链网络可以支持公开交易。公开交易为公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链,并且所有节点都与全局区块链达成共识。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络中实施共识协议。共识协议的示例包括工作量证明(pow)(例如,在一些加密货币网络中实现)、权益证明(pos)和权限证明(poa)。
22.通常,可以为特定实体提供私有区块链网络,该特定实体集中控制读写权限。该实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其限制允许允许谁参与网络以及它们的参与级别(例如,仅在某些交易中)。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体、监管机构可以控制许可)。
23.通常,联盟区块链网络在参与的实体之间是私有的。在联盟区块链网络中,共识处理由授权的节点集控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。因此,对于参与实体而言,联盟区块链网络可以被认为是私有网络。在一些示例中,每个区块必须经每个实体(节点)签名才能被验证并被添加到区块链中。在一些示例。在一些示例中,每个区块必须经至少实体(节点)的子集(例如,至少7个实体)签名才能被验证并被添加到区块链中。
24.图1根据实施例示出了区块链系统100的示意图。参考图1,区块链系统100可以包括被配置为在区块链120上操作的多个节点,例如,节点102-110。节点102-110可以形成例如点对点(p2p)网络的网络112。节点102-110中的每个可以是被配置为存储区块链120的副本的计算设备,例如计算机或计算机系统;或者可以是在所述计算设备上运行的软件,诸如处理或应用。节点102-110中的每个可以具有唯一标识。节点102-110可以通过有线或无线通信彼此通信。这种通信可以采用可靠的协议,例如传输控制协议/网际协议(tcp / ip)。
25.区块链120可以包括为例如图1中的区块b1-b5的数据块形式的记录的增长列表。区块b1-b5中的每个可以包括时间戳、前一区块的加密哈希值以及本区块的数据,该数据可以是诸如货币交易之类的交易。例如,如图1所示,区块b5可以包括时间戳、区块b4的加密哈希值和区块b5的交易数据。而且,例如,可以对前一区块执行哈希操作以生成前一区块的加密哈希值。哈希操作可以通过诸如sha-256的哈希算法将各种长度的输入转换为固定长度的加密输出。其中,说明书所涉及的货币均是法定货币。
26.节点102-110可以被配置为对区块链120执行操作。例如,当节点(例如,节点102)想要将新数据存储到区块链120上时,该节点可以生成要被添加到区块链120的新区块,并将该新区块广播到网络112中的例如节点104-110的其他节点。基于新区块的合法性,例如,
其签名和交易的有效性,其他节点可以确定接受该新区块,使得节点102和其他节点可以将该新区块添加到它们各自的区块链120的副本中。重复该过程,可以将越来越多的数据的区块添加到区块链120。
27.在一实施例中,区块链系统100可以根据一个或多个智能合约操作。每个智能合约可以是以计算机代码形式的计算机协议,其被纳入到区块链120中,以促进、验证或施行合约的协商或执行。例如,区块链系统100的用户可以使用诸如c++、java、solidity、python等编程语言将商定的条款编程为智能合约,并且当满足条款时,可以由区块链系统100自动执行智能合约,例如执行交易。又例如,智能合约可以包括多个子例程或函数,每个子例程或函数可以是执行指定任务的一系列程序指令。智能合约可以是在完全或部分没有人工交互的情况下执行的操作代码。
28.图2是根据实施例示出的用于向例如区块链系统100(图1)的区块链系统提供交易数据以进行处理的系统的示意图。仅出于说明的目的,在图2中分别示出了a方和b方的第一和第二系统。在实施例中,各方的系统可以是包括用户接口系统和交易数据系统的计算机系统。在一些实施例中,各方的系统可以作为区块链系统100的节点操作。在其他实施例中,各方的系统可以不作为区块链系统100的节点操作。
29.在一些实施例中,用户接口系统被实施为一方的商业系统,交易数据系统被实施为一方的会计系统。例如,a方的系统可以包括将交易数据报告给交易数据系统230的用户接口系统220。交易数据系统230可以记录交易数据。类似地,b方的系统可以包括用户接口系统250和交易数据系统260。此外,各方的系统可以包括将自身的交易数据上传到区块链系统100用于验证和进一步处理的收发设备。例如,a方的系统可以包括从交易数据系统230获取交易数据并将该数据上传到区块链系统100的收发设备240。类似地,b方的系统可以包括从交易数据系统260获取交易数据并将该数据上传到区块链系统100的收发设备270。
30.在一实施例中,收发设备240可以作为临时存储交易数据的缓存器,使得交易数据在生成之后可以不立即被区块链系统100处理,而是可以被异步上传到区块链100。在一实施例中,收发设备240还可以作为上传的控制器,以确定是否上传单个交易数据或多个交易数据的聚合。例如,单个交易数据可以是在单个交易期间生成的数据,而多个交易数据可以是在多个交易期间生成的数据。又例如,多个交易数据的聚合可以通过对在多个交易期间生成的数据执行聚合处理来生成。在一实施例中,在a方和b方之间存在多个交易。取代将所述多个交易各自单独地记录在区块链系统100的区块链上,可由交易数据系统230或收发设备240例如对在所述多个交易期间生成的数据执行聚合处理以生成多个交易数据的聚合,该聚合然后可以在区块链系统100处于忙碌状态时临时存储在收发设备240中。收发设备240还可以控制将交易数据上传到区块链系统100的时间。在一实施例中,如果收发设备240确定上传多个交易数据的聚合,则收发设备240可以从交易数据系统230请求多个交易数据并生成聚合。收发设备240可以基于对交易数据系统230和区块链系统100的监控来控制上传。
31.在一实施例中,收发设备240可以监控在交易数据系统230中的账户。例如,收发设备240可以监控多个交易以确定它们是否具有重复的特征。收发设备240还可以监控交易数据的大小并估计处理时间。
32.在一实施例中,收发设备240还可以监控区块链系统100的状态。例如,收发设备
240可以监控区块链系统100的数据块的大小、数据上传至区块链系统100的频率以及区块链系统100在预定时间段内处理的交易的数量。基于所述监控,收发设备240可以确定最佳数量(单个交易或多个交易的聚合)和要上传的交易数据的大小。这可以防止区块链系统100由于过载而降低处理效率。而且,基于所述监控,收发设备240可以确定用于上传的最佳时间。这可以避免在上传至区块链系统100的高峰频率期间上传数据,进一步防止由于高频上传导致的区块链系统的效率降低或甚至停滞。
33.在b方的系统中的收发设备270还可以以类似于收发设备240的控制方式控制从交易数据系统260获取的交易数据的上传。为了简洁起见,这里省略了对收发设备270的操作的描述。在一实施例中,基于智能合约执行交易数据上传和记录。
34.在一实施例中,收发设备240可以是存储在交易数据系统230中的指令的功能块,并且交易数据系统230的处理器可以执行该指令以执行收发设备240的功能。类似地,收发设备270可以是存储在交易数据系统260中的指令的功能块,并且交易数据系统260的处理器可以执行该指令以执行收发设备270的功能。
35.在实施例中,收发设备240和收发设备270中的每个可以是独立硬件,其包括可以与任何交易数据系统和区块链系统兼容的集成电路。例如,收发设备240也可以在b方的系统中实施,这样收发设备240可以与交易数据系统260和区块链系统100接口(interface)而无需修改。
36.图3是根据实施例的用于实施a方的系统或b方的系统(图2)的、用于向区块链系统提供交易数据以进行处理的设备300的示意图。设备300可以采用任何形式,包括但不限于台式计算机、膝上型计算机、服务器计算机、平板电脑、智能手机或智能手表,或任何其他形式。参考图3,设备300可以包括通过总线350彼此通信的处理器310、存储器320、用户接口330和通信接口340。
37.处理器310可以包括一个或多个专用处理单元、专用集成电路(asic)、现场可编程门阵列(fpga)或各种其他类型的处理器或处理单元。处理器310与存储器320耦接,并且可以执行存储在存储器320中的指令。
38.通信接口340可以促进设备300与区块链系统中的例如节点102-110(图1)的节点之间的通信。在实施例中,通信接口340可以将交易数据上传到区块链系统的对应节点。通信接口340还可以接收作为上传确认的上传数据的哈希值,并将该哈希值转发至交易数据系统用于记录。在实施例中,通信接口340可以支持一个或多个通信标准,例如包括tcp/ip和tls/ssl协议的互联网标准或协议、综合业务数字网(isdn)标准等。在实施例中,通信接口340可以包括以下中的一个或多个:局域网(lan)卡、电缆调制解调器、卫星调制解调器、数据总线、电缆、无线通信信道、基于无线电的通信信道、蜂窝通信信道、基于互联网协议(ip)的通信设备,或用于有线和/或无线通信的其他通信设备。在实施例中,通信接口340可以基于公有云基础设施、私有云基础设施和混合公有/私有云基础设施。
39.存储器320可以存储处理器可执行指令和数据。计算机可执行指令和数据可以包括交易数据监控器322、交易数据聚合器324和交易数据上传调度器326。当处理器310执行所述指令时,交易数据监控器322允许设备300监控交易数据系统的交易数据以确定交易数据例如数据的类型、大小和相似性的特征。当处理器310执行所述指令时,交易数据聚合器324允许设备300聚合多个交易数据。可以通过例如分类和移除多个交易数据的重复特征来
执行聚合。当处理器310执行所述指令时,交易数据上传调度器326允许设备300确定上传的时间和类型(例如,单个交易数据或多个交易数据的聚合等)。存储器320中的计算机可执行指令和数据还可以包括接收器,其用于从区块链系统接收上传的交易数据的准确性的验证结果以及经验证的交易数据,以生成账单信息和支付信息,这将在下面详细描述。
40.在实施例中,存储器320还可以用作缓存器以存储从交易数据系统获取的交易数据。可以为存储的数据指定上传时间和移除时间,以便该存储的数据在上传之后可以从设备300自动移除。
41.存储器320可以是任何类型的易失性或非易失性存储器设备或其组合,例如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或光盘。
42.用户接口330可以包括显示器和用于将用户命令发送到处理器310的输入设备等。显示器可以显示交易数据、上传进度和区块链系统的状态等。显示器可以包括但不限于阴极射线管(crt)、液晶显示器(lcd)、发光二极管(led)、气体等离子体、触摸屏或用于向用户显示信息的其他图像投影设备。输入设备可以是用于从用户向处理器310提供数据和控制信号的任何类型的计算机硬件设备。输入设备可以包括但不限于键盘、鼠标、扫描仪、数码相机、操纵杆、轨迹球、光标方向键、触摸屏监控器或音频/视频命令器等。
43.在实施例中,设备300可以包括交易数据系统,使得处理器310和用户接口330成为交易数据系统的一部分。
44.图4是根据实施例示出的用于将交易数据异步上传到例如区块链系统100(图1)的区块链系统的方法400的示意图。在一些实施例中,区块链系统实现为联盟区块链。为简洁起见,图4仅示出了a方系统的操作,而同样的操作也适用于b方的系统。
45.参见图4,a方的用户接口系统220可以执行交易并将交易数据发送到交易数据系统230并请求交易数据系统230记录数据(步骤402)。交易数据系统230可以通过记录交易数据然后将记录的确认返回给用户接口系统220来立即响应该请求(步骤404)。记录在交易数据系统230中的交易数据可以被提供给收发设备240用于上传到区块链系统100。
46.在实施例中,收发设备240可以主动监控交易数据系统的交易数据(步骤406)。例如,收发设备240可以监控交易数据系统230中的账户。此外,例如,收发设备240可以监控多个交易,以确定是否存在相关联的交易并因此具有一些重复的特征。收发设备240还可以监控交易数据的大小并估计处理时间。
47.在实施例中,收发设备240还可以监控区块链系统100的状态(步骤408)。例如,收发设备240可以监控区块链系统100的数据块的大小、数据上传到区块链系统100的频率以及区块链系统100在预定时间段内处理的交易的数量。
48.基于所述监控,收发设备240可以确定最佳数量的交易(单个交易或多个交易)和要上传的数据的大小。例如,如果多个交易具有重复的特征,则收发设备240可以确定在上传之前聚合多个交易数据。另一方面,如果多个交易彼此完全不同,或者区块链系统100的数据块的大小不够大,则收发设备240可以确定本次上传单个交易数据而不是多个交易数据。
49.在实施例中,收发设备240可以确定上传单个交易数据,从而将对单个交易数据的请求发送到交易数据系统230(步骤410)。交易数据系统230可以通过返回所请求的单个交
易数据来立即响应该请求(步骤412)。收发设备240可以将该单个交易数据上传到区块链系统100(步骤414)。在一些实施例中,收发设备240可以通过用私钥加密单个交易数据来对该数据签名。作为上传的确认,区块链系统100可以将该上传的单个交易数据的哈希值返回到收发设备240(步骤416)。收发设备240可以将该上传的单个交易数据的哈希值发送到交易数据系统230,使得交易数据系统230可以标记上传的交易数据(步骤418)以结束记录。
50.在实施例中,收发设备240可以确定上传多个交易数据的聚合,从而将对多个交易数据的请求发送到交易数据系统230(步骤420)。交易数据系统230可以通过将所请求的多个交易数据返回到收发设备240来立即响应该请求(步骤422)。然后,收发设备240可以例如通过移除冗余或重复的特征来生成该多个交易数据的聚合(步骤424)。收发设备240可以将该多个交易数据的聚合上传到区块链系统100(步骤426)。在一些实施例中,收发设备240可以通过用私钥加密数据来对该多个交易数据的聚合签名。作为上传的确认,区块链系统100可以将该上传的多个交易数据的聚合的哈希值返回到收发设备240(步骤428)。收发设备240可以将该上传的多个交易数据的聚合的哈希值转发到交易数据系统230,使得交易数据系统230可以标记上传的交易数据以结束记录(步骤430)。
51.在上述方法400中,收发设备240用作要被上传的交易数据的缓存器,同时还用作上传处理的控制器,从而实现交易数据的受控的异步上传。这可以避免区块链系统由于过载而发生阻塞或甚至停滞,从而提高区块链系统的效率,使得区块链系统可以适应高容量或高频率交易。
52.一旦将交易数据上传到区块链系统中,交易就可以被验证,并且交易数据可以由区块链系统中参与交易的各方来验证。
53.可以基于提供包括私钥和公钥的密钥对的密码学算法来执行各方对交易的验证。私钥可以与特定方相关联,并且可以加密交易数据。交易数据的加密也可以称为对交易签名。可以将公钥提供给区块链系统中的另一方以解密该加密的数据,从而验证交易是否确实被该特定方授权。解密也可以称为签名验证。在实施例中,区块链系统可以支持多种密码学算法,例如rsa(rivest-shamir-adleman)算法、椭圆曲线数字签名算法(ecdsa)、sm2算法等。
54.在各方对交易验证之后,可以验证上传到区块链系统的交易数据的准确性。在实施例中,a方和b方参与交易数据的验证,其中a方是提交交易数据的一方。在实施例中,在a方的系统将交易数据发送到区块链系统中例如区块链系统100中的节点102(图1)的节点之后,该节点可以在区块链系统中广播该交易数据。b方的系统可以通过区块链系统中的另一节点、例如区块链系统100中的节点106(图1)接收该交易数据,并且可以将从a方接收的交易数据与它自己的交易数据进行比较以验证所接收的交易数据的准确性。在实施例中,b方的系统还可以将它自己的交易数据从交易数据系统260(图2)上传到区块链系统,从而可以在区块链系统中比较a方的交易数据和b方的交易数据。在实施例中,取代由a方系统广播其上传的交易数据,可以由b方系统直接从a方系统请求交易数据。如果确定交易数据是准确的,则b方的系统还可以经由区块链系统将验证结果发送给a方的系统,并为a方生成账单。
55.图5是根据实施例示出的用于对提交给例如区块链系统100(图1)的区块链系统的交易数据进行验证的方法500的示意图。在该实施例中,b方的系统可以主动监控由a方的系统上传到区块链系统100的交易数据(步骤502)。一旦a方的系统将单个交易数据或多个交
易数据的聚合上传到区块链系统100(步骤504),区块链系统100就可以将该上传的数据的哈希值返回到a方的系统作为上传的确认(步骤506)。
56.在实施例中,b方的系统可以从区块链系统100请求上传的交易数据(步骤508),并且区块链系统100可以将该上传的交易数据发送到b方的系统(步骤510)。在实施例中,a方的系统可以在区块链系统中广播上传的交易数据,使得b方的系统可以获取该数据而无需请求。在获取a方的系统上传的交易数据之后,b方的系统可以将该上传的交易数据与它自己的交易数据进行比较(步骤512)。如果数据匹配,则b方的系统可以将该数据标记为已验证,生成可以包括a方账单的验证结果,并将该验证结果上传到区块链系统100(步骤514)。上传的验证结果可以在区块链系统100中广播,使得a方的系统可以获取账单并将该交易数据标记为已验证(步骤516)。另一方面,在步骤512的比较期间,如果b方的系统发现数据不匹配,则b方的系统可以忽略或放弃该交易数据(步骤518)。在实施例中,b方的系统还可以从a方的系统请求新的交易数据。
57.通过在区块链系统中上传和验证交易数据,消除了对中心中介的需求,并且增强了交易的安全性,提高了交易效率并降低了交易成本。
58.图6是根据实施例示出的用于在例如区块链系统100(图1)的区块链系统中执行账单结算和处理支付的方法600的示意图。在该实施例中,假设a方是负责支付的一方。方法600可以由支付系统610、结算系统620、区块链系统100和a方的交易数据系统230来执行。在一些实施例中,支付系统610和结算系统620可以被包括在a方的系统中(图2)。在其他实施例中,支付系统610和结算系统620可以与a方的系统分开(图2)。
59.参见图6,a方的交易数据系统230可以主动监控上传到区块链系统100的账单(步骤630)。结算系统620可以向区块链系统100发送验证交易数据的请求(步骤632),并且作为响应,可以接收经验证的交易数据(步骤634)。经验证的交易数据可以是单个交易数据或多个交易数据的聚合。结算系统620可以结算经验证的交易数据(步骤636),然后将结算的账单上传到区块链系统100(步骤638)。作为回复,区块链系统100可以将该账单哈希值作为上传的确认发送到结算系统620(步骤640)。结算系统620可以向支付系统610发送警告(步骤646),使得支付系统610可以将支付声明上传到区块链系统100(步骤650)。区块链系统100可以将该声明的哈希值作为上传的确认发送到支付系统610(步骤652)。然后,支付系统610可以随后做出支付(步骤654)。
60.另一方面,区块链系统100可以将结算的账单发送到a方的交易数据系统230(步骤642),使得交易数据系统230可以验证和更新结算的账单(步骤644)。在实施例中,交易数据系统230可以通过将结算系统620结算的账单与b方生成并由a方验证的账单进行比较来验证该结算的账单(图5中的步骤514和516)。在a方的交易数据系统230发现结算的账单与b方生成的账单不匹配的情况下,a方可以确定结算的账单无效。a方可以进一步手动干预以防止支付系统610做出支付(步骤656)。
61.上述实施例提供了可以基于交易数据的受控的异步上传以在区块链系统中执行交易数据的验证、交易数据的结算和支付处理的方法,从而减少交易处理时间并且消除了对中心中介的需求,这提高了交易的安全性和效率,并降低了交易成本。
62.图7是根据实施例的用于向例如区块链系统100(图1)的区块链系统提供交易数据以进行处理的方法700的流程图。例如,方法700可以由图2中所示的a方的系统或b方的系统
执行。
63.参考图7,例如a方的系统的第一计算机系统监控计算机系统中的交易数据和区块链系统的状态(步骤702)。交易数据包括单个交易数据或多个交易数据中的至少一种。基于所述监控,第一计算机系统将交易数据异步上传到区块链系统(步骤704)。在一些实施例中,第一计算机系统基于区块链系统的状态确定是否上传单个交易数据或多个交易数据。在一些实施例中,第一计算机系统确定将交易数据上传到区块链系统的时间。在一些实施例中,当确定上传多个交易数据时,第一计算机系统例如通过移除多个交易数据的重复特征来生成多个交易数据的聚合。在一些实施例中,第一计算机系统通过监控以下中的至少一个来监控区块链系统的状态:区块链系统中数据块的大小、区块链系统中的数据上传频率或区块链系统在预定时间段内处理的交易的数量。
64.第一计算机系统还从区块链系统接收交易数据为准确的验证结果(步骤706)。在一些实施例中,交易数据由例如b方的系统的第二计算机系统通过从区块链系统获取交易数据并将该交易数据与b方系统自己的交易数据进行比较来验证。在一些实施例中,第一计算机系统将交易数据在计算机系统中标记为已验证。第一计算机系统还从区块链系统接收经验证的交易数据,以生成与该交易数据有关的账单信息和支付信息(步骤708)。所述账单信息和所述支付信息记录在区块链系统中。可以参考图4-6和对方法700的附加细节的相应描述。
65.图8是根据实施例的用于向区块链系统提供交易数据以进行处理的装置800的示意图。例如,装置800可以是软件处理的实施,并且可以对应于方法700(图7)。如图8所示,装置800可以包括监控模块810、上传模块820和接收模块830。
66.监控模块810监控装置800中的交易数据和区块链系统的状态。基于所述监控,上传模块820将交易数据异步上传到区块链系统。接收模块830从区块链系统接收交易数据为准确的验证,并且还从区块链系统接收经验证的交易数据以生成账单信息和支付信息。
67.上述模块中的每一个可以实现为软件或硬件,或软件和硬件的组合。例如,可以使用执行存储在存储器中的指令的处理器来实施上述模块中的每一个。而且,例如,每个上述模块可以使用一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子组件来实施以执行所描述的方法。进一步地,例如,上述模块中的每一个可以通过使用计算机芯片或实体来实施,或者通过使用具有特定功能的产品来实施。在一个实施例中,装置800可以是计算机,并且计算机可以是个人计算机、膝上型计算机、蜂窝电话、照相手机、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板电脑、可穿戴设备或这些设备的任何组合。
68.对于装置800中每个模块的功能和角色的实施过程,可以参考上述方法中的相应步骤。为简单起见,这里省略了细节。
69.在实施例中,还提供了一种计算机程序产品。该计算机程序产品可以包括非暂态计算机可读存储介质,其上具有计算机可读程序指令,用于使处理器执行上述方法。
70.计算机可读存储介质可以是有形设备,其可以存储供指令执行设备使用的指令。计算机可读存储介质可以是但不限于例如电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适组合。计算机可读存储介质的更具体示例的非详
尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用光盘(dvd)、记忆棒、软盘、例如在其上记录有指令的凹槽中的穿孔卡或凸起结构的机械编码设备,以及前述的任何合适的组合。
71.用于执行上述方法的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言和传统的过程编程语言。计算机可读程序指令可以完全在计算设备上作为独立软件包执行,或者部分在第一计算设备上执行、部分在远离第一计算设备的第二计算设备上执行。在后一种情况下,第二远程计算设备可以通过包括局域网(lan)或广域网(wan)的任何类型的网络连接到第一计算设备。
72.计算机可读程序指令可以被提供给通用或专用计算机的处理器或其他可编程数据处理装置以产生机器,使得指令经由计算机的处理器或其他可编程数据处理装置执行,创建用于实施上述方法的机构。
73.附图中的流程图和图示出了根据本文的各种实施例的设备、方法和计算机程序产品的可能实施例的架构、功能和操作。在这方面,流程图或图中的框可以表示软件程序、段或代码的一部分,其包括用于实现指定功能的一个或多个可执行指令。还应注意,在一些可选实施例中,框中提到的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,图和/或流程图的每个框以及图和流程图中的框的组合可以由执行指定功能或动作的专用目的的基于硬件的系统来实施,或由专用目的的硬件和计算机指令的组合来实施。
74.应当理解,为了清楚起见,在单个实施例的上下文中描述的本文的某些特征也可以在单个实施例中组合提供。相反,为了简洁起见,在单个实施例的上下文中描述的本文的各种特征也可以单独提供,或者以任何合适的子组合提供,或者在本文的任何其他描述的实施例中合适地提供。除非另有说明,否则在各种实施例的上下文中描述的某些特征不是那些实施例的必要特征。
75.尽管已经结合本技术的特定实施例描述了本文,但显然许多替换、修改和变体对于本领域技术人员来说是显而易见的。因此,以下权利要求包含落入权利要求的范围内的所有这些替代、修改和变体。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1