本技术涉及区块链,特别涉及一种基于区块链的数据通信方法、装置、电子设备及存储介质。
背景技术:
1、区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。
2、现有技术中,基于区块链技术进行通信消息的发送时,往往通过串行发送技术实现。
3、可以看出,现有基于区块链技术发送通信消息时对发送方式有一定的要求,因此,对于非串行发送方式则存在多条通信消息显示顺序混乱的问题。
技术实现思路
1、本技术的目的在于,针对上述现有技术中的不足,提供一种基于区块链的数据通信方法、装置、电子设备及存储介质,可以避免非串行发送方式引起的多条通信消息显示顺序混乱的问题。
2、为实现上述目的,本技术实施例采用的技术方案如下:
3、第一方面,本发明提供一种基于区块链的数据通信方法,应用于第一终端,所述方法包括:
4、响应于对目标通信信道的查询操作,向区块链发送查询请求,其中,所述目标通信信道为所述第一终端和第二终端之间的通信信道;
5、接收所述区块链根据所述查询请求返回的查询结果,所述查询结果包括至少一条目标通信消息,其中,每条目标通信消息包括预设消息属性,所述预设消息属性包括:目标通信消息对应的发送终端标识、发送终端本地时间戳以及上链时间戳;
6、根据每条所述目标通信消息的预设消息属性确定各条所述目标通信消息的显示顺序,并根据各条所述目标通信消息的显示顺序在预设通信界面显示各条所述目标通信消息。
7、在可选的实施方式中,所述目标通信消息包括多条,所述根据每条所述目标通信消息的预设消息属性确定各条所述目标通信消息的显示顺序,包括:
8、获取多条所述目标通信消息中任意两条目标通信消息的预设消息属性;
9、若根据所述预设消息属性确定所述任意两条目标通信消息对应的终端标识相同,则根据任意两条目标通信消息中各条目标通信消息的发送终端本地时间戳确定所述任意两条目标通信消息的显示顺序;
10、若根据所述预设消息属性确定所述任意两条目标通信消息对应的终端标识不同,则根据任意两条目标通信消息中各条目标通信消息的上链时间戳确定所述任意两条目标通信消息的显示顺序。
11、在可选的实施方式中,所述在预设通信界面显示各条所述目标通信消息,包括:
12、若任一所述目标通信消息的预设消息属性指示任一所述目标通信消息的发送终端标识为第二终端标识,则在所述预设通信界面显示任一所述目标通信消息时显示目标状态提示信息,所述目标状态提示信息用于指示任一所述目标通信消息已接收。
13、在可选的实施方式中,所述响应于对目标通信信道的查询操作,向所述区块链发送查询请求之前,所述方法还包括:
14、响应于第一通信消息的发送操作,向所述区块链发送所述第一通信消息,并获取所述第一通信消息的发送状态,其中,所述发送状态包括:未提交上链、已提交但未成功上链、已上链;
15、根据所述第一通信消息的发送状态,显示所述第一通信消息的提示信息。
16、在可选的实施方式中,所述根据所述第一通信消息的发送状态,显示所述第一通信消息的提示信息,包括:
17、若确定所述第一通信消息的发送状态为未提交上链或已提交但未成功上链,则通过所述提示信息指示所述第一通信消息正在发送、但可继续输入下一通信消息;
18、若确定所述第一通信消息的发送状态为已上链,则通过所述提示信息指示所述第一通信消息已发送。
19、在可选的实施方式中,所述响应于第一通信消息的发送操作,向所述区块链发送所述第一通信消息,包括:
20、响应于所述第一通信消息的发送操作,根据预设消息协议生成所述第一通信消息的消息头,所述消息头包括:消息协议版本标识、第一终端标识、第一终端的当前本地时间戳、第一通信消息标识;
21、根据所述第一通信消息的消息头,向所述区块链发送所述第一通信消息,以使所述区块链在接收到所述第一通信消息执行上链操作,根据所述第一通信消息的上链时间为所述第一通信消息追加上链属性,并将所述第一通信消息写入所述目标通信信道,所述上链属性包括上链时间戳。
22、在可选的实施方式中,所述方法还包括:
23、接收区块链在确定所述第一通信消息上链成功后发送的上链通知;
24、通过所述上链通知生成针对所述目标通信信道的查询操作,并通过所述上链通知中的回调函数向所述区块链发送查询请求。
25、第二方面,本发明提供一种基于区块链的数据通信装置,应用于第一终端,所述装置包括:
26、响应模块,用于响应于对目标通信信道的查询操作,向区块链发送查询请求,其中,所述目标通信信道为所述第一终端和第二终端之间的通信信道;
27、接收模块,用于接收所述区块链根据所述查询请求返回的查询结果,所述查询结果包括至少一条目标通信消息,其中,每条目标通信消息包括预设消息属性,所述预设消息属性包括:目标通信消息对应的发送终端标识、发送终端本地时间戳以及上链时间戳;
28、确定模块,用于根据每条所述目标通信消息的预设消息属性确定各条所述目标通信消息的显示顺序,并根据各条所述目标通信消息的显示顺序在预设通信界面显示各条所述目标通信消息。
29、在可选的实施方式中,所述目标通信消息包括多条,所述确定模块具体用于获取多条所述目标通信消息中任意两条目标通信消息的预设消息属性;
30、若根据所述预设消息属性确定所述任意两条目标通信消息对应的终端标识相同,则根据任意两条目标通信消息中各条目标通信消息的发送终端本地时间戳确定所述任意两条目标通信消息的显示顺序;
31、若根据所述预设消息属性确定所述任意两条目标通信消息对应的终端标识不同,则根据任意两条目标通信消息中各条目标通信消息的上链时间戳确定所述任意两条目标通信消息的显示顺序。
32、在可选的实施方式中,所述确定模块,具体用于若任一所述目标通信消息的预设消息属性指示任一所述目标通信消息的发送终端标识为第二终端标识,则在所述预设通信界面显示任一所述目标通信消息时显示目标状态提示信息,所述目标状态提示信息用于指示任一所述目标通信消息已接收。
33、在可选的实施方式中,所述响应模块,还用于响应于第一通信消息的发送操作,向所述区块链发送所述第一通信消息,并获取所述第一通信消息的发送状态,其中,所述发送状态包括:未提交上链、已提交但未成功上链、已上链;
34、根据所述第一通信消息的发送状态,显示所述第一通信消息的提示信息。
35、在可选的实施方式中,所述响应模块,还用于若确定所述第一通信消息的发送状态为未提交上链或已提交但未成功上链,则通过所述提示信息指示所述第一通信消息正在发送、但可继续输入下一通信消息;
36、若确定所述第一通信消息的发送状态为已上链,则通过所述提示信息指示所述第一通信消息已发送。
37、在可选的实施方式中,所述响应模块,还用于响应于所述第一通信消息的发送操作,根据预设消息协议生成所述第一通信消息的消息头,所述消息头包括:消息协议版本标识、第一终端标识、第一终端的当前本地时间戳、第一通信消息标识;
38、根据所述第一通信消息的消息头,向所述区块链发送所述第一通信消息,以使所述区块链在接收到所述第一通信消息执行上链操作,根据所述第一通信消息的上链时间为所述第一通信消息追加上链属性,并将所述第一通信消息写入所述目标通信信道,所述上链属性包括上链时间戳。
39、在可选的实施方式中,所述响应模块,还用于接收区块链在确定所述第一通信消息上链成功后发送的上链通知;
40、通过所述上链通知生成针对所述目标通信信道的查询操作,并通过所述上链通知中的回调函数向所述区块链发送查询请求。
41、第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述基于区块链的数据通信方法的步骤。
42、第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述基于区块链的数据通信方法的步骤。
43、本技术的有益效果是:
44、本技术实施例提供的基于区块链的数据通信方法、装置、电子设备及存储介质中,包括:响应于对目标通信信道的查询操作,向区块链发送查询请求,其中,目标通信信道为第一终端和第二终端之间的通信信道;接收区块链根据查询请求返回的查询结果,查询结果包括至少一条目标通信消息,其中,每条目标通信消息包括预设消息属性,预设消息属性包括:目标通信消息对应的发送终端标识、发送终端本地时间戳以及上链时间戳;根据每条目标通信消息的预设消息属性确定各条目标通信消息的显示顺序,并根据各条目标通信消息的显示顺序在预设通信界面显示各条目标通信消息,应用本技术实施例,实现了可以根据每条目标通信消息对应的发送终端标识、发送终端本地时间戳以及上链时间戳,综合确定各条目标通信消息的显示顺序,可以适用于并行发送方式,进而基于此在预设通信界面显示各条目标通信消息时可以按序显示,避免非串行发送方式引起的顺序混乱的问题。