CN108647101A - 区块链上用户通信方法、装置、终端设备及存储介质 - Google Patents
区块链上用户通信方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108647101A CN108647101A CN201810437767.9A CN201810437767A CN108647101A CN 108647101 A CN108647101 A CN 108647101A CN 201810437767 A CN201810437767 A CN 201810437767A CN 108647101 A CN108647101 A CN 108647101A
- Authority
- CN
- China
- Prior art keywords
- user
- block chain
- key
- value
- mailing address
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 85
- 238000004891 communication Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 14
- 241001269238 Data Species 0.000 claims description 6
- 230000006870 function Effects 0.000 description 20
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种区块链上用户通信方法、装置、终端设备及存储介质。该区块链上用户通信方法,包括:以键值对方式创建区块链上每一用户的通信地址;用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,所述用户A和所述用户B为区块链上任意选取的两个用户;用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1。采用该区块链上用户通信方法可以实现区块链系统上任意两个用户进行点对点通信,用户只需要维护与区块链网络的通信,即可实现数据共享存储和所有用户间的数据通信,可以有效简化应用系统的构建难度,降低系统复杂性,在不增加区块链系统复杂度的前提下,解决了区块链上用户进行通信的问题。
Description
技术领域
本发明涉及区块链应用领域,尤其涉及一种区块链上用户通信方法、装置、终端设备及存储介质。
背景技术
传统的区块链系统仅用于实现数据共享存储,无法实现参与者之间的信息交互。如果需要在区块链上进行信息交互,需要通信参与者之间建立一个专用于信息交互的数据通信通道,使得通信参与者在维护与区块链网络通信之外,还需要维护与所有其他通信参与者的数据通信通道。这种区块链的信息交互方式,增加了区块链系统的复杂性,加大了区块链系统的构建难度,并且在某些网络条件下是不可能实现的。
发明内容
本发明实施例提供一种区块链上用户通信方法、装置、终端设备及存储介质,以解决当前区块链上用户通信的区块链系统过于复杂,构建难度过高的问题。
第一方面,本发明实施例提供一种区块链上用户通信方法,包括:
以键值对方式创建区块链上每一用户的通信地址;
用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,所述用户A和所述用户B为区块链上任意选取的两个用户;
用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1。
第二方面,本发明实施例提供一种区块链上用户通信装置,包括:
通信地址创建模块,用于以键值对方式创建区块链上每一用户的通信地址;
键添加模块,用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,所述用户A和所述用户B为区块链上任意选取的两个用户;
值获取模块,用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1。
第三方面,本发明实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述区块链上用户通信方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述区块链上用户通信方法的步骤。
本发明实施例所提供的区块链上用户通信方法、装置、终端设备及存储介质中,首先以键值对方式创建区块链上每一用户的通信地址,创建基于区块链的用于区块链上用户进行信息交互的通信地址,为后续区块链上用户信息交互的实现提供基础。然后用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户,通过结合区块链系统以及键值对的特点和性质,用户通过以键值对方式创建的通信地址及其对应的值实现了将数据从A用户发送到B用户的功能。最后用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1,用户B通过自身的通信地址以及根据键值对的特点,读取通信地址中包含有用户A发送过来的数据对应的键,实现了基于区块链系统本身的区块链上用户通信功能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中区块链上用户通信方法的一流程图。
图2是图1中步骤S10的一具体流程图。
图3是图1中步骤S20的一具体流程图。
图4是图1中步骤S30的一具体流程图。
图5是图1中步骤S30之后的一具体流程图。
图6是本发明实施例2中区块链上用户通信装置的一原理框图。
图7是本发明实施例4中终端设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1示出本实施例中区块链上用户通信方法的一流程图。该区块链上用户通信方法可应用在以区块链为技术基础的应用系统上,用于进行区块链上任意两个用户之间的点对点通信。如图1所示,该区块链上用户通信方法包括如下步骤:
S10:以键值对方式创建区块链上每一用户的通信地址。
其中,键值(key-value)是一种数据存储方式,值指具体存储的数据,键即其存储的数据的索引,值可以通过查找其对应的键直接获取。键值反映的是一种数据存储的对应关系,由一个键及其对应的值所组成的数据关系对称为键值对。区块链是分布式数据存储、共识机制和加密算法等计算机技术的新型应用模式。本实施例是基于区块链系统实现的,即区块链应以区块链系统来理解。其中,区块链系统本质是一个去中心化的分布式数据库系统。需要说明的是,本实施例中区块链上的用户应理解为在区块链系统上的各个用户节点,即区块链系统上各个相关的终端,该终端可以是通过区块链网络相连的手机、电脑、平板和服务器等终端。
本实施例中,以键值对方式创建区块链上每一用户的通信地址,将区块链上每一用户的通信地址作为存储的数据对应的索引,也即键值对中的键。通过为区块链上每一用户建立通信地址,能够实现根据区块链上用户的通信地址进行与该通信地址所对应的数据的修改和读取等操作,为后续实现区块链上任意两个用户之间的点对点通信提供了基础。
在一具体实施方式中,如图2所示,步骤S10中,以键值对方式创建区块链上每一用户的通信地址,具体包括如下步骤:
S11:以键值对方式创建区块链上每一用户的用户地址。
其中,用户地址是用于区分不同用户在区块链上的地址字段,任意两个用户的用户地址不相同。本实施例中,以键值对方式创建区块链上每一用户的用户地址,确定区块链上每一用户的地址字段。通过创建的区块链上每一用户的用户地址,可以以该用户地址为基础,设置多种不同功能的地址类型,如数据共享地址和通信地址等。
S12:根据用户地址,以键值对方式创建区块链上每一用户的通信地址,其中,区块链上每一用户的通信地址以键的形式存在,表示为地址前缀+用户地址。
本实施例中,区块链上每一用户的通信地址以键的形式存在,该通信地址对应的值即为通信地址中存储的数据。例如,可以把通信地址看成是用户的邮箱,该邮箱中存有与该邮箱唯一对应的数据即为键值对中的值。若通过键值对的方式实现数据存储时,用户的通信地址即为键,该键对应的值即为该通信地址存储的数据。
区块链上每一用户的通信地址以键的形式存在,具体可以表示为地址前缀+用户地址,其中,地址前缀用于区分该地址实现的功能的标识。例如,区块链上任意一个用户A的用户地址为userAAA,而该用户A的通信地址为MailuserAAA,则通信地址中的地址前缀为Mail,用于表示该地址是作为通信使用的邮箱地址。特别地,也可以不使用地址前缀+用户地址的方式表示通信地址,只要保证系统命名唯一即可,如用户A的通信地址也可以直接用用户地址userAAA进行表示。考虑到命名的规范性和合理性有利于区块链系统的合理设计和功能扩充,本实施例将区块链上每一用户的通信地址均表示为地址前缀+用户地址。
S20:用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户。
其中,用户A和用户B是区块链上任意选取的两个用户,这里的用户同样应理解为区块链系统上的终端,具体为通过区块链网络相连的终端。用户B的通信地址对应的值为Mb,键Kab和值Data1是一个键值对,这一键值对用于存储用户A在区块链上传送给用户B的数据。
本实施例中,区块链系统是一个去中心化的分布式数据库系统,拥有数据共享性以及数据不可篡改性的特点,区块链上有任意两个用户:用户A和用户B。基于区块链系统,用户A在用户B的通信地址对应的值Mb中写入键Kab。该键Kab对应的值是Data1,即用户A想要用户B接收到的数据为Data1。其中,这里的写入操作具体为修改操作,通过修改操作将键Kab添加(写入)到值Mb中。通过在用户B的通信地址对应的值Mb写入键Kab,实现了将数据对应的键Kab写入到值Mb中,以使用户B可通过值Mb获取到A用户传送过来的数据(即键Kab对应的值为Data1)的目的,从而使得用户A与用户B在区块链上实现点对点通信。
在一具体实施方式中,如图3所示,步骤S20中,用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户,具体包括如下步骤:
S21:用户A以键值对方式向区块链上写入键Kab和与键Kab对应的值Data1,其中,键Kab=数据前缀+用户B的用户地址+用户A的用户地址。
其中,数据前缀与地址前缀类似,数据前缀是用来区分数据的标识,数据前缀可以用时间戳加上用途标识来表示。例如,可以采用时间戳和Commu(即Communication的缩写)这一用途标识作为键Kab的数据前缀,表示该键Kab建立的时间以及该键的用途(这里指该键用于通信)。在确定数据前缀后,可将该数据前缀结合用户B的用户地址和用户A的用户地址,以唯一确定键Kab。可以理解地,数据前缀也可以采用其他方式表示(如直接使用Commu而无需携带时间戳,用于表示该数据用于通信),只要能唯一区分该数据前缀代表的键即可。
本实施例中,在区块链系统上,用户A以键值对方式向区块链上写入键Kab和与键Kab对应的值Data1。其中,若键Kab是首次写入区块链系统,则该写入操作具体为创建操作;若键Kab已存在且用户A仍想继续使用该键Kab,则该写入操作具体为修改操作,不对键Kab作更改,修改键Kab对应的值Data1。其中,键Kab具体可以表示为键Kab=数据前缀+用户B的用户地址+用户A的用户地址,也可以表示为键Kab=数据前缀+用户A的用户地址+用户B的用户地址,键Kab还可以表示为其他方式,只要满足用户A能够将键Kab写入到值Mb中且用户B可以根据自身的通信地址获取到键Kab即可。
S22:用户A在区块链上读取用户B的通信地址,根据用户B的通信地址获取对应的值Mb。
本实施例中,用户A在区块链上读取用户B的通信地址,当用户B的通信地址表示为键MailUserBBB时,用户A在区块链上读取用户B的通信地址即为键MailUserBBB。由于用户B的通信地址和对应的值Mb是以键值对方式进行存储的,则用户A根据用户B的通信地址即可获取该键(用户B的通信地址)对应的值Mb。
S23:用户A将键Kab添加到值Mb中,更改后的值Mb将写回到区块链上。
本实施例中,用户A在读取用户B的通信地址对应的值Mb时,执行修改指令,将键Kab添加到值Mb中,可以表示为Mb+Kab。将键Kab添加到值Mb后,Mb发生了更改,更改后的Mb将写回到区块链上。需要说明的是,区块链系统有两个概念:区块和当前数据状态(fabric中的world state,比特币中的UTXO)。区块中是历史交易信息,当前数据状态是由所有的历史交易所得到的系统数据状态。本实施例中所有的创建或修改等操作,都是通过发送一个交易,经过区块链系统本身的验证,得到一个区块。最终区块链上所有用户根据区块将交易执行,实现对当前数据状态的修改。另外,交易动作会包含在一个区块中,一个区块中可能有多个交易;读取操作不会产生区块,不算交易;区块链系统会按照一定的时间间隔产生区块,每个区块中包含这个时间间隔中所有的交易。本实施例中将键Kab添加到值Mb中是区块链上的一个交易,经过区块链系统本身的验证,在该交易所在的时间间隔结束后,该交易将被打包到该时间间隔的区块中,最后区块链上所有用户根据该区块将键Kab添加到值Mb这个交易执行,实现对当前数据状态的修改,即成功将更改后的Mb写回到区块链上。
S30:用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1。
本实施例中,由于用户B的通信地址对应的值Mb已被更改,用户B基于自身的通信地址对应的值Mb能够获取由用户A写入到值Mb中的键Kab,能够根据键Kab获取该键Kab对应的值Data1。可以理解地,值Data1即用户A发送给用户B的数据,用户B根据用户A在用户B的通信地址中添加的键Kab,通过区块链系统读取自身的通信地址对应的值Mb获取键Kab,再根据键Kab和值Data1是一个键值对的关系获取值Data1。通过键值对以及结合区块链系统的方式,实现了区块链上任意两个用户点对点进行通信的功能。该区块链上任意两个用户点对点进行通信可以理解为在区块链系统上虚拟出了一条通信通道,并实现所有用户之间的数据通信。用户只需要维护与区块链系统的网络通信,即可实现数据共享存储和所有用户间的数据通信,可以有效地简化应用系统的构建难度,降低系统复杂性,在不增加区块链系统复杂度的前提下,解决了区块链上用户进行通信的问题。
在一具体实施方式中,如图4所示,步骤S30中,用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1,具体包括如下步骤:
S31:用户B读取用户B的通信地址,获取值Mb。
本实施例中,用户B是区块链上除用户A外的任意一用户,用户B读取自身的通信地址,由于用户B的通信地址是值Mb对应的键,用户B基于区块链系统通过自身的通信地址读取到该键相对应的值Mb。
S32:用户B从值Mb中获取键Kab。
本实施例中,在步骤S23中用户A已将键Kab添加到值Mb中,值Mb在键Kab添加后发生了更改,用户B从更改后的值Mb中获取键Kab。可以理解地,若从用户B的通信地址对应的值Mb中读取到键Kab,由于键Kab是用户A给用户B发送的数据存储在区块链上的索引,说明区块链中存在用户A给用户B发送的数据。
S33:用户B根据键Kab获取键Kab对应的值Data1。
本实施例中,根据键Kab和值Data1是一个键值对的关系,直接根据键Kab获取键Kab对应的值Data1,以读取用户A发送给用户B的数据Data1,从而实现用户A与用户B之间点对点数据交互。
可以理解地,步骤S20是用户A通过区块链给用户B写入数据的过程,而步骤S30是用户B通过区块链获取用户A发送的数据的过程,基于步骤S20和S30可在区块链上实现用户A向用户B发送数据,且用户B接收用户A的数据的点对点通信过程,无需另行创建专用于信息交互的数据通信通道,无需增加区块链系统的复杂性和构建难度。
在一具体实施方式中,步骤S20之后,即在用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1之后,该区块链上用户通信方法还包括如下步骤:基于用户B的通信地址检测到对应的值Mb发生更改,用户B获取与值Mb发生更改相关的提醒信息。
本实施例中,在值Mb发生更改后,用户B将会根据自身的通信地址检测到对应的值Mb发生更改,此时,用户B将获取与值Mb发生更改相关的提醒信息。具体地,可以是通过执行预先设定的定时检测程序,每隔一时间间隔便自动检测通信地址对应的值Mb,并比较两次检测到的值Mb是否发生更改,若发生变更,则向用户B发送与值Mb发生更改相关的提醒信息。如将上一时间间隔结束时刻的值Mb和当前时刻时间间隔结束时刻的值Mb进行比较,若两个时间点的值Mb不同,则认为值Mb发生了更改。在值Mb发生变化之后,执行发送与值Mb发生更改相关的提醒信息的指令,能够使用户B及时获取数据更新的消息,及时收取数据Data1。
在一具体实施方式中,如图5所示,步骤S30之后,即在用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1之后,该区块链上用户通信方法还包括如下步骤:
S40:用户B在用户A的通信地址对应的值Ma中写入键Kba,键Kba对应的值为与值Data1相对应的值Data2。
其中,用户A的通信地址对应的值为Ma,键Kba和值Data2是一个键值对,用于存储用户B在区块链上传给用户A的数据。值Data2与值Data1相关联。例如键Kba的数据前缀在这里可以使用时间戳,以突出进行反馈的时间。本实施例中,基于区块链系统,用户B在用户A的通信地址对应的值Ma中写入键Kba。该键Kba对应的值是Data2,即用户B想要给用户A发送的根据Data1反馈的数据为Data2。其中,写入操作为修改操作,通过修改操作将键Kba添加(写入)到值Ma中。可以理解地,本步骤与步骤S20相似,本步骤为用户B在接收到用户A发送的值Data1后,反馈发送数据(值Data2)的过程。通过在用户A的通信地址对应的值Ma写入键Kba,实现了将数据对应的键Kba写入到值Ma中的目的。
S50:用户A基于用户A的通信地址对应的值Ma中写入的键Kba获取值Data2。
本步骤与步骤S30相似,本步骤为用户B在接收到用户A发送的值Data1,后,反馈发送数据(值Data2)后,用户A基于区块链系统读取用户B根据值Data1反馈过来的数据(值Data2)的过程。本实施例中,由于用户A的通信地址对应的值Ma已被更改,用户A基于自身的通信地址对应的值Ma中的由用户B写入的键Kba,能够根据键Kba获取该键对应的值Data2。可以理解地,值Data2即用户B反馈给用户A的数据,用户A根据用户B在用户A的通信地址中添加的键Kba,通过自身的通信地址获取键Kba,再根据键Kba和值Data2是一个键值对的关系获取值Data2,完成用户B根据用户A发送的值Data1反馈给用户A的值Data2。通过键值对的方式以及结合区块链的特点,实现了区块链上任意两个用户点对点进行通信的功能。可以理解地,即在区块链系统上虚拟出一条通信通道,实现所有用户之间的数据通信。用户只需要维护与区块链网络的通信,即可实现数据共享存储和所有用户间的数据通信,可以有效地简化应用系统的构建难度,降低系统复杂性,在不增加区块链系统复杂度的前提下,解决了区块链上用户进行通信的问题。
需要说明的是,区块链具有数据共享和数据不可篡改等特点,基于区块链上的用户通信应该对区块链上用户通信的数据进行加密保存和设置有限授权访问,以保证区块链上用户通信的信息安全,在区块链上只有授权的用户才能够解密被加密的用于通信的数据,实现在区块链上的用户通信。
本实施例所提供的区块链上用户通信方法中,首先以键值对方式创建区块链上每一用户的通信地址,创建基于区块链的用于区块链上用户进行信息交互的通信地址,结合区块链系统以及键值对的性质和特点,为后续区块链上用户信息交互的实现提供基础。然后用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户,通过利用键值对的特点将用户A要发送给用户B的值Data1对应的键Kab写入到用户B的通信地址对应的值Mb中,使得Mb中包含有值Data1对应的键Kab,通过以键值对方式创建的通信地址及其对应的值实现了将数据从A用户发送到B用户的功能。最后用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1,用户B通过自身的通信地址以及根据键值对的特点,读取通信地址中包含有用户A发送过来的值Data1对应的键Kab,实现了基于区块链系统本身的区块链上用户通信功能。本实施例所提供的区块链上用户通信方法即在区块链系统上虚拟出一条通信通道,实现区块链上任意两个用户之间的数据通信。用户只需要维护与区块链网络的通信,即可实现数据共享存储和所有用户间的数据通信,可以有效地简化应用系统的构建难度,降低系统复杂性,在不增加区块链系统复杂度的前提下,解决了区块链上用户进行通信的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例2
图6示出与实施例1中区块链上用户通信方法一一对应的区块链上用户通信装置的原理框图。如图6所示,该区块链上用户通信装置包括通信地址创建模块10、键添加模块20和值获取模块30。其中,通信地址创建模块10、键添加模块20和值获取模块30的实现功能与实施例1中区块链上用户通信方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
通信地址创建模块10,用于以键值对方式创建区块链上每一用户的通信地址。
键添加模块20,用于用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户。
值获取模块30,用于用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1。
优选地,通信地址创建模块10包括用户地址创建单元11和通信地址创建单元12。
用户地址创建单元11,用于以键值对方式创建区块链上每一用户的用户地址。
通信地址创建单元12,用于根据用户地址,以键值对方式创建区块链上每一用户的通信地址,其中,区块链上每一用户的通信地址以键的形式存在,表示为地址前缀+用户地址。
优选地,键添加模块20包括键值对写入单元21、第一值Mb获取单元22和值Mb更改单元23。
键值对写入单元21,用于用户A以键值对方式向区块链上写入键Kab和与键Kab对应的值Data1,其中,键Kab=数据前缀+用户B的用户地址+用户A的用户地址。
第一值Mb获取单元22,用于用户A在区块链上读取用户B的通信地址,根据用户B的通信地址获取对应的值Mb。
值Mb更改单元23,用于用户A将键Kab添加到值Mb中,更改后的值Mb将写回到区块链上。
优选地,值获取模块30包括第二值Mb获取单元31、键Kab获取单元32和值Data1获取单元33。
第二值Mb获取单元31,用于用户B读取用户B的通信地址,获取值Mb。
键Kab获取单元32,用于用户B从值Mb中获取键Kab。
值Data1获取单元33,用于用户B根据键Kab,获取与键Kab对应的值Data1。
优选地,该区块链上用户通信装置还包括检测提醒模块40,用于基于用户B的通信地址检测到对应的值Mb发生更改,用户B获取与值Mb发生更改相关的提醒信息。
优选地,该区块链上用户通信装置还包括反馈模块50。
反馈键添加模块50,用于用户B在用户A的通信地址对应的值Ma中写入键Kba,键Kba对应的值为与值Data1相对应的值Data2;用户A基于用户A的通信地址对应的值Ma中写入的键Kba获取值Data2。
本实施例所提供的区块链上用户通信装置中,通信地址创建模块10,用于以键值对方式创建区块链上每一用户的通信地址,结合区块链系统以及键值对的性质和特点,为后续区块链上用户信息交互的实现提供基础。键添加模块20,用于用户A在用户B的通信地址对应的值Mb中写入键Kab,键Kab对应的值为Data1,用户A和用户B为区块链上任意选取的两个用户,通过利用键值对的特点将用户A要发送给用户B的值Data1对应的键Kab写入到用户B的通信地址对应的值Mb中,使得Mb中包含有值Data1对应的键Kab,通过以键值对方式创建的通信地址及其对应的值实现了将数据从A用户发送到B用户的功能。值获取模块30,用于用户B基于用户B的通信地址对应的值Mb中写入的键Kab,获取值Data1,用户B通过自身的通信地址以及根据键值对的特点,读取通信地址中包含有用户A发送过来的值Data1对应的键Kab,实现了基于区块链系统本身的区块链上用户通信功能。本实施例所提供的区块链上用户通信装置用于在区块链系统上虚拟出一条通信通道,实现区块链上任意两个用户之间的数据通信。用户只需要维护与区块链网络的通信,即可实现数据共享存储和所有用户间的数据通信,可以有效地简化应用系统的构建难度,降低系统复杂性,在不增加区块链系统复杂度的前提下,解决了区块链上用户进行通信的问题。
实施例3
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中区块链上用户通信方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例2中区块链上用户通信装置中各模块/单元的功能,为避免重复,这里不再赘述。
实施例4
图7是本实施例中终端设备的示意图。如图7所示,终端设备70包括处理器71、存储器72以及存储在存储器72中并可在处理器71上运行的计算机程序73。处理器71执行计算机程序73时实现实施例1中区块链上用户通信方法的各个步骤,例如图1所示的步骤S10、S20和S30。或者,处理器71执行计算机程序73时实现实施例2中区块链上用户通信装置各模块/单元的功能,如图6所示通信地址创建模块10、键添加模块20和值获取模块30的功能。
示例性的,计算机程序73可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器72中,并由处理器71执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序73在终端设备70中的执行过程。例如,计算机程序73可被分割成实施例2中的通信地址创建模块10、键添加模块20和值获取模块30,各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。
终端设备70可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器71、存储器72。本领域技术人员可以理解,图7仅仅是终端设备70的示例,并不构成对终端设备70的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器71可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器72可以是终端设备70的内部存储单元,例如终端设备70的硬盘或内存。存储器72也可以是终端设备70的外部存储设备,例如终端设备70上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器72还可以既包括终端设备70的内部存储单元也包括外部存储设备。存储器72用于存储计算机程序以及终端设备所需的其他程序和数据。存储器72还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种区块链上用户通信方法,其特征在于,包括:
以键值对方式创建区块链上每一用户的通信地址;
用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,所述用户A和所述用户B为区块链上任意选取的两个用户;
用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1。
2.根据权利要求1所述的区块链上用户通信方法,其特征在于,所述以键值对方式创建区块链上每一用户的通信地址,包括:
以所述键值对方式创建所述区块链上每一用户的用户地址;
根据所述用户地址,以所述键值对方式创建所述区块链上每一用户的所述通信地址,其中,所述区块链上每一所述用户的通信地址以键的形式存在,表示为地址前缀+用户地址。
3.根据权利要求1所述的区块链上用户通信方法,其特征在于,所述用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,包括:
用户A以所述键值对方式向区块链上写入所述键Kab和与所述键Kab对应的值Data1,其中,所述键Kab=数据前缀+用户B的用户地址+用户A的用户地址;
用户A在区块链上读取所述用户B的通信地址,根据所述用户B的通信地址获取对应的所述值Mb;
所述用户A将所述键Kab添加到所述值Mb中,更改后的所述值Mb将写回到区块链上。
4.根据权利要求1所述的区块链上用户通信方法,其特征在于,所述用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1,包括:
所述用户B读取所述用户B的通信地址,获取所述值Mb;
所述用户B从所述值Mb中获取所述键Kab;
所述用户B根据所述键Kab,获取与所述键Kab对应的所述值Data1。
5.根据权利要求1所述的区块链上用户通信方法,其特征在于,在所述用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1的步骤之后,所述区块链上用户通信方法还包括:
基于所述用户B的通信地址检测到对应的所述值Mb发生更改,用户B获取与所述值Mb发生更改相关的提醒信息。
6.根据权利要求1所述的区块链上用户通信方法,其特征在于,在所述用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1的步骤之后,所述区块链上用户通信方法还包括:
用户B在所述用户A的通信地址对应的值Ma中写入键Kba,所述键Kba对应的值为与所述值Data1相对应的值Data2;
用户A基于所述用户A的通信地址对应的值Ma中写入的所述键Kba获取所述值Data2。
7.一种区块链上用户通信装置,其特征在于,包括:
通信地址创建模块,用于以键值对方式创建区块链上每一用户的通信地址;
键添加模块,用户A在用户B的通信地址对应的值Mb中写入键Kab,所述键Kab对应的值为Data1,所述用户A和所述用户B为区块链上任意选取的两个用户;
值获取模块,用户B基于所述用户B的通信地址对应的值Mb中写入的所述键Kab,获取所述值Data1。
8.根据权利要求7所述的区块链上用户通信装置,其特征在于,所述通信地址创建模块,包括:
用户地址创建单元,用于以所述键值对方式创建所述区块链上每一用户的用户地址;
通信地址创建单元,用于根据所述用户地址,以所述键值对方式创建所述区块链上每一用户的所述通信地址,其中,所述区块链上每一所述用户的通信地址以键的形式存在,表示为地址前缀+用户地址。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述区块链上用户通信方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述区块链上用户通信方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437767.9A CN108647101A (zh) | 2018-05-09 | 2018-05-09 | 区块链上用户通信方法、装置、终端设备及存储介质 |
PCT/CN2018/095902 WO2019214067A1 (zh) | 2018-05-09 | 2018-07-17 | 区块链上用户通信方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437767.9A CN108647101A (zh) | 2018-05-09 | 2018-05-09 | 区块链上用户通信方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108647101A true CN108647101A (zh) | 2018-10-12 |
Family
ID=63754104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810437767.9A Pending CN108647101A (zh) | 2018-05-09 | 2018-05-09 | 区块链上用户通信方法、装置、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108647101A (zh) |
WO (1) | WO2019214067A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163754A (zh) * | 2019-04-26 | 2019-08-23 | 华中科技大学 | Fabric区块链中实现铸币交易的方法、客户端、区块链及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929793A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社东芝 | 包括键-值存储的存储器系统 |
CN107273455A (zh) * | 2017-05-31 | 2017-10-20 | 深圳前海微众银行股份有限公司 | 区块链数据访问方法和装置 |
CN107562775A (zh) * | 2017-07-14 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据处理方法及设备 |
CN107666484A (zh) * | 2017-09-19 | 2018-02-06 | 上海交通大学 | 一种基于区块链的cdn共享方法及系统 |
CN107748649A (zh) * | 2017-09-18 | 2018-03-02 | 北京京东尚科信息技术有限公司 | 一种缓存数据的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170255950A1 (en) * | 2016-03-04 | 2017-09-07 | Forecast Foundation Ou | Systems and methods for providing block chain state proofs for prediction market resolution |
-
2018
- 2018-05-09 CN CN201810437767.9A patent/CN108647101A/zh active Pending
- 2018-07-17 WO PCT/CN2018/095902 patent/WO2019214067A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929793A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社东芝 | 包括键-值存储的存储器系统 |
CN107273455A (zh) * | 2017-05-31 | 2017-10-20 | 深圳前海微众银行股份有限公司 | 区块链数据访问方法和装置 |
CN107562775A (zh) * | 2017-07-14 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据处理方法及设备 |
CN107748649A (zh) * | 2017-09-18 | 2018-03-02 | 北京京东尚科信息技术有限公司 | 一种缓存数据的方法和装置 |
CN107666484A (zh) * | 2017-09-19 | 2018-02-06 | 上海交通大学 | 一种基于区块链的cdn共享方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163754A (zh) * | 2019-04-26 | 2019-08-23 | 华中科技大学 | Fabric区块链中实现铸币交易的方法、客户端、区块链及系统 |
CN110163754B (zh) * | 2019-04-26 | 2021-07-27 | 华中科技大学 | Fabric区块链中实现铸币交易的方法、客户端、区块链及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019214067A1 (zh) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566117B (zh) | 一种区块链密钥管理系统及方法 | |
CN102855710B (zh) | 一种客户身份信息远程认证方法及系统 | |
CN108764993A (zh) | 一种基于区块链的商场促销系统 | |
CN109165957A (zh) | 基于区块链的发票数据报销方法、系统及相关设备 | |
CN107306183A (zh) | 客户端、服务端、方法和身份验证系统 | |
CN108898475A (zh) | 基于属性加密的联盟区块链实现信贷方法及系统 | |
CA3191453A1 (en) | Transferring cryptocurrency from a remote limited access wallet | |
CN109117671A (zh) | 一种加密数据共享方法、服务器及计算机可读存储介质 | |
CN107230051A (zh) | 数字货币的支付方法和支付系统 | |
CN108696518A (zh) | 区块链上用户通信加密方法、装置、终端设备及存储介质 | |
CN103812835A (zh) | 一种基于公钥算法的离线模式身份与交易认证方法 | |
CN206601735U (zh) | 基于多种身份认证的便民服务终端 | |
CN105427106A (zh) | 电子现金数据的授权处理方法、支付处理方法及虚拟卡 | |
CN109660352A (zh) | 一种基于区块链的分销关系记录方法、装置及终端设备 | |
CN108921553A (zh) | 一种门限私钥生成方法、交易方法及相关装置 | |
CN105225102A (zh) | 线下移动支付方法及用于该方法的可穿戴式移动支付装置 | |
CN108985747A (zh) | 分割交易执行 | |
CN110019103A (zh) | 一种基于区块链的跨链系统和跨链实现方法 | |
CN109003186A (zh) | 一种基于区块链的防止抵赖的交易方法、装置及系统 | |
CN110458612A (zh) | 一种信息处理方法及相关产品 | |
CN109272311A (zh) | 一种基于数字钱包的跨链逻辑系统 | |
CN108600184A (zh) | 一种嵌入式芯片证书的设备认证方法 | |
CN108833133A (zh) | 基于云计算网络的网络配置管理方法、装置和存储介质 | |
CN109120399A (zh) | 一种基于非对称加密的数据加密方法、解密方法及系统 | |
CN102982449A (zh) | 移动终端、交易系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1254797 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231229 |
|
AD01 | Patent right deemed abandoned |