CN113783847B - 消息交互方法、装置、计算机设备和存储介质 - Google Patents

消息交互方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113783847B
CN113783847B CN202110974754.7A CN202110974754A CN113783847B CN 113783847 B CN113783847 B CN 113783847B CN 202110974754 A CN202110974754 A CN 202110974754A CN 113783847 B CN113783847 B CN 113783847B
Authority
CN
China
Prior art keywords
message
processing module
sent
target
blockchain
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.)
Active
Application number
CN202110974754.7A
Other languages
English (en)
Other versions
CN113783847A (zh
Inventor
张松松
马蒙
郭林海
张琛
万化
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Shanghai Pudong Development Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Pudong Development Bank Co Ltd filed Critical Shanghai Pudong Development Bank Co Ltd
Priority to CN202110974754.7A priority Critical patent/CN113783847B/zh
Publication of CN113783847A publication Critical patent/CN113783847A/zh
Application granted granted Critical
Publication of CN113783847B publication Critical patent/CN113783847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种消息交互方法、装置、计算机设备和存储介质,包括消息发送方通过第一消息处理模块获取待发送消息的消息内容,对消息内容进行校验并在消息内容满足预设的字段校验规范的情况下基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息,将待发送消息存储至区块链上以使消息接收方通过第二消息处理模块从区块链上获取消息。本申请提供的消息交互方法,通过为不同业务系统参与区块链技术的消息发送方以及消息接收方设置对应的消息处理模块能够避免消息处理的各项逻辑与业务系统的业务处理等逻辑耦合在一起,简化了对消息处理的过程,提高了对消息处理的效率。

Description

消息交互方法、装置、计算机设备和存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种消息交互方法、装置、计算机设备和存储介质。
背景技术
区块链技术,又称为“分布式账本技术”,是一种去中心、集体维护分布式账本的技术方案,其本质是由多个节点以多实体参与的分布式数据库系统。区块链不是一种单一的技术,而是多种技术,如P2P网络、加密、共识算法等的整合结果。利用区块链技术维护一个可靠的、难以篡改的账本记录,可以降低信任风险,并能有效地降低众多参与方协作的维护成本。因此基于区块链技术构建的区块链系统具有匿名性、不篡改性、可追溯等特点。消息的接收方以及消息的发送方均为实现区块链技术的参与方,区块链上的参与方又属于不同的业务系统,例如参与方A属于某企业的业务系统,参与方B属于某银行的业务系统,参与方C属于某政府机构的业务系统等。
目前常见的消息交互方法为:区块链上的消息发送方将经过所属业务系统处理后的消息通过智能合约将消息存证上链;区块链上的其他消息接收方通过所述业务系统上部署的事件监听功能获取目标区块并基于业务系统的解析逻辑解析消息发送方在区块上存储的消息,并基于解析后的消息进行相应的业务处理。
上述消息处理技术需要消息的收发方所属的业务系统具备消息处理逻辑、时间监听逻辑、消息解析逻辑以及业务处理逻辑等,多种逻辑耦合在业务系统中,使得消息的处理过程变得复杂,进而降低了消息的处理效率。
发明内容
本申请提供了一种消息交互方法、装置、计算机设备和存储介质,为对应的业务系统设置了消息处理模块,该消息处理模块能够避免将消息的处理逻辑与消息接收方以及消息发送方所属的业务系统的其他逻辑耦合在一起,提高了消息处理效率。
本申请的第一方面提供了一种消息交互方法,该方法包括:
第一消息处理模块获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;
若消息内容满足预设的字段校验规范,则第一消息处理模块基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息;
第一消息处理模块将待发送消息按照预设的区块链协议存储至区块链上。
本申请的第二方面提供了一种消息交互方法,该方法包括:
第二消息处理模块从区块链获取目标消息;
第二消息处理模块基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容;
第二消息处理模块根据目标消息接收方的标识处理目标消息。
本申请的第三方面提供了一种消息交互装置,该装置包括:
第一消息处理模块,用于获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;
第一消息处理模块,用于在消息内容满足预设的字段校验规范时,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息;
第一消息处理模块,用于将待发送消息按照预设的区块链协议存储至区块链上。
本申请的第四方面提供了一种消息交互装置,该装置包括:
第二消息处理模块,用于从区块链获取目标消息;
第二消息处理模块,还用于基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容;
第二消息处理模块,还用于根据目标消息接收方的标识处理目标消息。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法的步骤。
本申请提供的消息交互方法、装置、计算机设备和存储介质,该消息交互方法为消息发送方以及消息接收方设置了第一消息处理模块和第二消息处理模块,消息发送方通过第一消息处理模块获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;并在消息内容满足预设的字段校验规范的情况下,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息,最后将待发送消息按照预设的区块链协议存储至区块链上以使消息接收方通过第二消息处理模块从区块上获取目标消息并按照相同的消息格式接收解析消息并发送给所属的业务系统进行后续对应的操作。本申请提供的消息交互方法,通过为不同业务系统参与区块链技术的消息发送方以及消息接收方设置对应的消息处理模块,将原配置在业务系统中对消息的处理的各项逻辑迁移到消息处理模块上,使得消息处理的各项逻辑与业务系统的业务处理等逻辑隔离,避免了消息处理的各项逻辑与业务系统的业务处理等逻辑耦合在一起,简化了对消息处理的过程,提高了对消息处理的效率。
附图说明
图1为一个实施例中消息交互方法的应用环境图;
图2为一个实施例中消息交互方法的流程示意图;
图3为另一个实施例中消息交互方法的流程示意图;
图4为另一个实施例中消息交互方法的流程示意图;
图5为另一个实施例中消息交互方法的流程示意图;
图6为另一个实施例中消息交互方法的流程示意图;
图7为另一个实施例中消息交互方法的流程示意图;
图8为另一个实施例中消息交互方法的流程示意图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的消息交互方法,可以应用于如图1所示的应用环境中。其中,第一终端102以及第二终端104通过网络与服务器106进行通信。第一终端102设置有第一消息处理模块,第一终端102所属的业务系统生成的消息通过第一消息处理模块的处理后存入服务器106中的区块链中,第二终端104通过设置的第二消息处理模块从服务器的区块链上取消息。其中,第一终端102以及第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种消息交互方法,以该方法应用于图1中的第一终端为例进行说明,第一终端包括第一消息处理模块,该方法包括以下步骤:
步骤S202,第一消息处理模块获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范。
其中,第一消息处理模块设置在消息发送方,第一消息处理模块用于对消息发送方所属的业务系统生成的消息进行处理,并能够与区块链进行交互,将消息发送方的消息进行存证上链。消息内容可以是消息发送方所属的业务系统生成的用于进行业务往来的消息,例如为:供应商融资申请消息。对消息内容进行校验的目的是为了判断消息内容是否满足预设的字段校验规范,若消息内容中包含用户名,可以是通过“用户名由6-20个数字,字母、下划线组成,用户名不得小于3个字符,禁止输入特殊字符,如:!@#$%^&*等,禁止输入空格”的字段校验规范对消息内容中的用户名进行校验,若消息内容中的用户名满足上述校验规范,则消息内容中的用户名校验成功;若消息内容中包含手机号码,可以是通过“手机号只能输入11位的数字”的字段校验规范对消息内容中的手机号码进行校验,若消息内容中的手机号码满足上述校验规范,则消息内容中的手机号码校验成功;若消息内容中包含企业名称,可以是通过“只能由4-50个汉字组成,不能输入特殊字符,如:!@#%^&*等,禁止输入空格”的字段校验规范对消息内容中的企业名称进行校验,若消息内容中的企业名称满足上述校验规范,则消息内容中的企业名称校验成功;若消息内容中仅包含事件描述,可以是通过“文本数据大于0小于500”的字段校验规范对消息内容中的文本进行校验,若消息内容中的文本满足上述校验规范,则消息内容中的文本校验成功等;在此不进行一一列举。
示例性的,第一消息处理模块从消息发送方所属的业务系统中获取了待发送消息的消息内容为—企业A向银行B申请供应商融资,该消息内容中包含企业名称一胜企业和浦发银行,那么通过“只能由4-50个汉字组成,不能输入特殊字符,如:!@#%^&*等,禁止输入空格”的字段校验规范对消息内容中的企业名称进行校验,检验结果为该消息内容中的企业名称满足上述校验规范,则消息内容中的企业名称校验成功;同时,根据“文本数据大于0小于500”的字段校验规范对消息内容中的“申请供应商融资”文本进行校验,校验结果为消息内容中的文本满足上述校验规范,则消息内容中的文本校验成功。
步骤S204,若消息内容满足预设的字段校验规范,则第一消息处理模块基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息。
其中,预设的消息格式是预先设置好的消息格式,将消息处理成预设的消息格式,便于消息的传输。例如消息的格式为从左到右依次设置的指示域为:消息的位移标识、消息的哈希值、消息的发送方标识、消息的加密信息、消息的有效载荷、消息的创建时间以及扩展字段等,消息的格式还可以有其他的排列方式,本申请对此不加以限定。那么在获取了消息内容以及目标消息接收方列表后,根据预设的消息格式,将消息内容和待发送消息的目标消息接收方列表添加至对应的指示域中,以对消息进行封装处理,得到满足预设的消息格式的消息,再进行上链,使得在区块链上存储的消息都具有统一的消息格式,便于对消息进行统一的管理。
步骤S206,第一消息处理模块将待发送消息按照预设的区块链协议存储至区块链上。
其中,预设的区块链协议,表征第一消息处理模块与区块链在进行相互通信时约定的协议,通过设置在第一消息处理模块所属的业务系统中设置的接口来实现,即当第一消息处理模块将消息处理好后,可以通过调用对应的业务系统上设置的接口将消息进行上链,区块链对消息进行上链操作时是按照接收第一消息处理模块消息的顺序对消息进行顺序上链存储至对应的区块链区块中。
本申请提供的消息交互方法,该消息交互方法为消息发送方以及消息接收方设置了第一消息处理模块和第二消息处理模块,消息发送方通过第一消息处理模块获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;并在消息内容满足预设的字段校验规范的情况下,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息,最后将待发送消息按照预设的区块链协议存储至区块链上以使消息接收方通过第二消息处理模块从区块上获取目标消息并按照相同的消息格式接收解析消息并发送给所属的业务系统进行后续对应的操作。本申请提供的消息交互方法,通过为不同业务系统参与区块链技术的消息发送方以及消息接收方设置对应的消息处理模块,将原配置在业务系统中对消息的处理的各项逻辑迁移到消息处理模块上,使得消息处理的各项逻辑与业务系统的业务处理等逻辑隔离,避免了消息处理的各项逻辑与业务系统的业务处理等逻辑耦合在一起,简化了对消息处理的过程,提高了对消息处理的效率。
在一个实施例中,本实施例提供了另一种待发送消息的消息格式,具体地,待发送消息通过第一消息处理模块根据消息内容、待发送消息的目标消息接收方列表和加密对称密钥生成。
其中,若消息发送方所属的业务系统需要加密发送消息,那么待发送消息的加密对称密钥指示域中与该添加对应的加密对称密钥,该加密对称密钥可以对该待发送消息进行加密,还可以既对待发送消息进行加密,又对待发送消息中的消息内容进行加密。本申请对此不加以限定。加密对称密钥可以是第一消息处理模块通过例如SM1、SM2、SM3、SM4、AES等加密算法对对称密钥进行加密计算得到。对称密钥可以是第一消息处理模块通过例如DES、3DES、IDEA、RC5、RC6等算法随机生成的随机数、随机字符串等。
本申请提供的消息交互方法,通过对待发送消息进行加密处理能够对消息接收方进行限制,只有消息发送方选择的消息接收方,才能够通过对应的私钥解密后获取消息内容。提高了消息交互的安全性,避免了消息发送方在对消息存证上链时带来的隐私泄露的风险。
在一个实施例中,本申请实施例是消息内容包括加密信息时,第一消息处理模块生成加密对称密钥的一种可选的方法实施例,该方法步骤为:
步骤S302,在加密信息为开启加密功能的情况下,第一消息处理模块生成对称密钥。
其中,消息接收方向第一消息处理模块发送消息内容时,通过是否携带加密信息使得第一消息处理模块判断是否对待发送消息进行加密处理,当第一消息处理模块确定消息发送方勾选的是开启加密功能选项时,第一消息处理模块可以是通过例如DES、3DES、IDEA、RC5、RC6等算法随机生成随机数、随机字符串等对称密钥。
步骤S304,第一消息处理模块从目标消息接收方列表中获取消息接收方的公钥,根据公钥对对称密钥进行加密得到加密对称密钥。
其中,第一消息处理模块通过上述方法得到了对称密钥后,可以是通过消息接收方的公钥对对称密钥进行加密得到加密对称密钥。需要说明的是,在基于区块链进行消息交互的过程中,在消息接收以及发送之前,消息接收方需要将自身的公钥传输给消息发送方,以使消息发送方在发送消息时,根据对应的公钥对消息进行加密处理。消息发送方所属的业务系统中存储有消息发送方列表,列表中包括所有消息发送方的标识以及消息接收方公布的公钥,所以当消息发送方需要发送新的消息时,可以从消息发送方列表中选取对应的消息发送方标识以及与消息发送方对应的公钥。
本申请提供的消息交互方法,通过消息接收方的公钥对对称密钥进行加密得到加密对称密钥,与消息发送方形成关联,便于消息接收方接收到目标消息后,能够成功的对目标消息进行解密,获得消息内容。
在一个实施例中,本申请实施例是第一消息处理模块通过对称密钥进行的另一种可选的方法实施例,该方法步骤为:
第一消息处理模块通过对称密钥对初始消息内容进行加密,获得消息内容。
其中,初始消息内容表征消息发送方发送给第一消息处理模块的消息内容的最初格式,也即初始消息内容是未经过第一消息处理模块处理的消息,第一消息处理模块需要根据消息发送方的指示判断是否对初始消息进行处理后发送给目标消息接收方。消息发送方同样可以是通过在消息内容中添加加密信息的方式指示第一消息处理模块对初始消息内容进行加密处理,第一消息处理模块对初始消息内容进行加密的方法可以是通过上述生成的对称密钥对初始消息内容进行加密,得到添加至待发送消息中的消息内容。
本申请提供的消息交互方法,通过第一消息处理模块通过对称密钥对初始消息内容进行加密,获得消息内容,能够进一步提升消息的安全性,同时通过对称密钥既能够对待发送消息进行加密,还可以对待发送消息中的消息内容进行加密,使得资源得到了充分的利用。
在一个实施例中,本实施例提供了另一种待发送消息的消息格式,具体地,第一消息处理模块根据消息内容、待发送消息的目标消息接收方列表和待发送消息的哈希值生成待发送消息。
其中,待发送消息的哈希值是交易在区块链上的唯一标识,通过在待发送消息的消息结构中包含唯一标识,能够将消息发送方所属的业务系统和区块链结构关联起来。区块链本身可以通过哈希值查询交易所在的区块链上的位置。因此,当消息写入到区块链上之后,可以通过其关联的交易哈希查询到交易的位置,也即消息的位置。消息发送方所属的业务系统可以根据业务需要基于哈希值去审计、查询消息产生的交易。
本申请提供的消息交互方法,通过在待发送消息中添加待发送消息的哈希值的方法,将消息发送方所属的业务系统和区块链结构关联起来,便于消息发送方所属的业务系统基于哈希值对区块链上的消息产生的交易进行审计、查询等操作。
在一个实施例中,本申请实施例是生成待发送消息的哈希值的一种可选的方法实施例,具体地:第一消息处理模块通过哈希算法对消息内容进行哈希计算得到待发送消息的哈希值。
其中,第一消息处理模块可以是通过例如MD5、SHA1、HMAC等哈希算法对消息内容进行哈希计算得到待发送消息的哈希值。
本申请提供的消息交互方法,通过哈希算法对消息内容进行哈希计算得到待发送消息的哈希值,计算的过程简单,计算是需求的数据少,便于快速的得到待发送消息的哈希值,提高第一消息处理模块对待发送消息的处理效率。
在一个实施例中,本实施例提供了另一种待发送消息的消息格式,具体地,第一消息处理模块根据消息内容、待发送消息的目标消息接收方列表和待发送消息的对应的唯一标识生成待发送消息。
其中,待发送消息的对应的唯一标识用于对待发送消息进行标记,区分区块链上不同的消息,消息接收方能够通过唯一标识从区块链中查询消息。唯一标识可以是一个字符、一个数字、一张图片等,只要能进行消息区分即可,本申请对此不加以限定。
本申请提供的消息交互方法,通过在待发送消息中添加待发送消息的对应的唯一标识的方法,便于消息发送方所属的业务系统基于唯一标识从区块链上查找消息。
在一个实施例中,本申请实施例是生成待发送消息的对应的唯一标识的一种可选的方法实施例,具体地:
第一消息处理模块根据消息内容生成与待发送消息对应的唯一标识。
其中,第一消息处理模块可以是设置有编码器,在第一消息处理模块接收到消息发送方发送的消息内容时,可以是通过编码器生成一识别码,并将该识别码作为待发送消息的唯一标识,第一消息处理模块还可以是预设有标识库,当第一消息处理模块接收到消息发送方发送的消息内容时,从标识库中按顺序提取一标识,将该标识作为待发送消息的唯一标识,第一消息处理模块还可以通过算法对消息内容进行计算,将计算得到的结果作为待发送消息的唯一标识。本申请对此不加以限定。
本申请提供的消息交互方法,由第一消息处理模块根据消息内容生成待发送消息的唯一标识,使得第一消息处理模块能够对消息进行一站式的处理,不需要再依靠消息发送方所属的业务系统对消息进行处理,能够将消息处理的逻辑与业务系统的其他业务逻辑分离,便于消息处理逻辑的维护。
在一个实施例中,如图4所示,图4为本实施例提供的另一种第一消息处理模块处理待发送消息的一种可选的方法实施例,该方法步骤如下:
步骤S402,第一消息处理模块获取消息发送方的标识,以及,从目标消息接收方列表中获取目标消息接收方的标识。
其中,据上,消息发送方所属的业务系统中存储有消息接收方列表,消息接收方通过各自对应的标识展示在列表中,所以通过消息接收方列表就可以获得消息接收方的标识。消息发送方的标识用于标记消息的来源,可以是不同业务系统的标记。对消息进行来源的标记可以是因为不同的消息发送方,在区块链上设置有对应存储的区块,在消息发送方将消息上链时,区块链可以根据消息发送方的标识将消息存储至对应的区块链区块中,对消息进行分区块的存储,便于消息接收方从区块链上获取消息。
步骤S404,第一消息处理模块通过将消息内容添加至待发送消息的有效载荷中、将消息发送方的标识添加至待发送消息的发送方标识指示域中以及将目标消息接收方的标识添加至待发送消息的接收方标识指示域中的方式生成待发送消息。
其中,可以是通过将消息内容、消息发送方标识以及消息接收方的标识按照预设的消息格式将消息内容添加至待发送消息的有效载荷中、将消息发送方的标识添加至待发送消息的发送方标识指示域中以及将目标消息接收方的标识添加至待发送消息的接收方标识指示域中的方式生成待发送消息。
在一个实施例中,本实施例提供的另一种第一消息处理模块处理待发送消息的一种可选的方法实施例,具体地:
第一消息处理模块将加密对称密钥添加至待发送消息的加密对称密钥指示域中,以更新待发送消息。
在一个实施例中,本实施例提供的另一种第一消息处理模块处理待发送消息的一种可选的方法实施例,具体地:
第一消息处理模块将待发送消息的哈希值添加至待发送消息的哈希值指示域中,以更新待发送消息。
在一个实施例中,本实施例提供的另一种第一消息处理模块处理待发送消息的一种可选的方法实施例,具体地:
第一消息处理模块将消息内容对应的唯一标识加至待发送消息的唯一标识指示域中,以更新待发送消息。
其中,第一消息处理模块处理后得到的待发送消息的结构可以是包括消息内容、消息发送方的标识以及目标消息接收方的标识;或者,包括消息内容、消息发送方的标识、目标消息接收方的标识以及加密对称密钥;或者,包括消息内容、消息发送方的标识、目标消息接收方的标识以及待发送消息的哈希值;或者,包括消息内容、消息发送方的标识、将目标消息接收方的标识以及待发送消息对应的唯一标识;或者,包括消息内容、消息发送方的标识、目标消息接收方的标识、加密对称密钥以及待发送消息的哈希值;或者,包括消息内容、消息发送方的标识、目标消息接收方的标识、待发送消息的哈希值以及待发送消息对应的唯一标识;或者,包括消息内容、消息发送方的标识、目标消息接收方的标识、加密对称密钥、待发送消息的哈希值以及待发送消息对应的唯一标识。待发送消息的结构由多种形式,消息发送方可以根据自己的需求设置待发送消息的结构,从而使得本申请基于区块链进行消息交互的技术能够适用于更多的场景。
在一个实施例中,本实施例提供的一种第一消息处理模块处理待发送消息的一种可选的方法实施例,该方法步骤如下:根据事件标识更新待发送消息,更新后的待发送消息包括事件标识;事件标识用于指示待发送消息的发送事件。
其中,消息发送方通过更新事件标识的方法在区块链上广播其上链的消息,所以,当消息发送方通过第一消息处理模块将新的消息进行存证上链时,需要在区块链上进行广播,便于区块链的其他参与方能够及时的接收消息。对于事件标识的更新不再需要消息的收发方的业务系统中额外的设置事件通知功能,基于区块链已有的事件通知进行业务系统之间的消息广播,使得对区块链的使用更加的全面。
在一个实施例中,如图5所示,提供了一种消息交互方法,以该方法应用于图1中的第二终端为例进行说明,第二终端包括第二消息处理模块,该方法包括以下步骤:
步骤S502,第二消息处理模块从区块链获取目标消息。
其中,第二消息处理模块设置在消息接收方,第二消息处理模块用于从区块链上获取消息,并对消息进行处理,处理后的消息用于使消息接收方进行对应的业务处理。所以可以是在第二消息处理模块通过事件标识更新获得了消息发送方有新消息存证上链的信息,还可以是在消息接收方所属的业务系统开机启动后,直接去遍历访问区块链上的目标区块,获得目标消息,本申请对此不加以限定。需要说明的是,第二消息处理模块从区块链上取消息也是按照区块链存储消息的顺序来读取消息。
步骤S504,第二消息处理模块基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容。
其中,因为消息发送方是基于预设的消息格式对消息进行封装上链的,所以消息接收方要想获取到消息的内容,就必须通过第二消息处理模块以相同的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容。便于第二消息处理模块根据解析的结果判断该消息是否为消息发送方发送给消息接收方的。如果不是,那么第二消息处理模块就不需要进行后续的操作,提高了对消息的处理效率。
步骤S506,第二消息处理模块根据目标消息接收方的标识处理目标消息。
其中,目标消息接收方的标识表征该目标消息发送的对象,所以就会出现两种情况:
1、消息接收方的标识与目标消息接收方的标识匹配成功,则第二消息处理模块根据目标消息的消息内容执行对应的操作。对应的操作例如可以是第二消息处理模块将目标消息传递消息接收方所属的业务系统,业务系统按照消息内容进行例如是继续上报、审核、审批、下发等操作。
2、消息接收方的标识与目标消息接收方的标识匹配失败,第二消息处理模块丢弃目标消息。匹配失败则说明消息发送方上链的消息不是与消息接收方进行交互的消息,所以消息接收方也不需要进行后续的操作,可以将该消息直接丢弃以节约资源。
在一个实施例中,如图6所示,图6为本实施例提供的一种在消息接收方的标识与目标消息接收方的标识匹配成功之后第二消息处理模块进行对应操作的一种可选的方法实施例,该方法步骤如下:
步骤S602,第二消息处理模块获取目标消息唯一标识。
其中,若第二消息处理模块根据解析的目标接收方的标识判断消息接收方为目标接收方,第二消息处理模块从对应的消息结构中获取目标消息唯一标识,通过唯一标识从区块链上查找目标消息。另一方面,消息接收方所属的业务系统在每一次接收到有效的消息后,需要对消息进行记录,便于后续从区块链上取消息时,可以过滤以往已遍历过的区块,避免进行重复的工作,浪费时间,所以唯一标识还可以用于更新记录表,以对有效消息进行记录。
步骤S604,第二消息处理模块根据目标消息的唯一标识从区块链上查询目标消息在区块链上的地址,以使消息接收方根据目标消息在区块链上的地址以及唯一标识更新记录表,记录表包括多个消息以及与多个消息在区块链上的多个地址。
其中,第二消息处理模块根据目标消息唯一标识可以从区块链的对应区块中确定目标消息的地址,消息接收方就可以根据地址以及唯一标识记录本次接收到的消息,即对记录表进行更新。进而,业务系统根据消息内容进行例如可以是继续上报、审核、审批、下发等操作。
在一个实施例中,如图7所示,图7为本实施例提供的第二消息处理模块获取目标消息的一种可选的方法实施例,该方法步骤如下:
步骤S702,若第二消息处理模块监听到事件标识更新,则从消息接收方的记录表中获取历史消息在区块链上的地址。
其中,消息在区块链上的地址能够确保区块链接收消息的顺序可以和第一消息模块将消息写入区块链的顺序保证一致,从而保证了消息发送方和接收方的业务的一致性。当业务系统一直处理开启状态,那么第二消息处理模块可以通过监听事件标识是否更新去从区块链上获取消息,即消息发送方在进行新消息上链操作时,向所有区块链上的消息接收方进行广播,那么区块链上的消息接收方均要去区块链的区块中获取消息,那么消息在区块链的哪一区块中存储,第二消息处理模块事先是未知的,所以第二消息处理模块需要遍历区块链上的区块进行目标消息的查找,为了避免重复的工作降低消息的处理效率,可以是从消息接收方所属的业务系统中获取历史消息在区块链上的地址。据上所述,消息接收方所属的业务系统存储有记录表,记录表中存储有每一个接收有效消息的地址,所以根据记录表可以确定第二消息处理模块最后一次接收的消息在区块链上的地址。
步骤S704,第二消息处理模块根据历史消息的在区块链上的地址确定遍历区块链的起始地址。
其中,基于上述第二消息处理模块获得的消息接收方所属的业务系统最后一次接收的消息在区块链上的地址,因为区块链上消息的存储是按顺序存储的,所以可以是将该地址的下一个地址作为遍历区块链的启示地址对区块链上的区块进行遍历。
步骤S706,第二消息处理模块根据区块链的起始地址对区块链上的区块进行遍历查找,以获取目标消息。
其中,第二消息处理模块根据上述确定的起始地址对区块链进行遍历查找,查找区块链上是否有第二消息处理模块未接收的消息,能够避免第二消息处理模块对消息进行遗漏的事情发生,同时,也能够提高消息的处理效率。
在一个实施例中,如图8所示,图8为本实施例提供的一种在消息内容还包括加密信息且消息接收方的标识与目标消息接收方的标识匹配成功之后第二消息处理模块进行对应操作的一种可选的方法实施例,该方法步骤如下:
步骤S802,第二消息处理模块获取与消息接收方的公钥对应的私钥,并根据私钥对加密信息进行解密得到目标消息的对称密钥。
其中,若目标消息为加密消息,第二消息处理模块需要对该目标消息进行解密之后传递给消息接收方所属的业务系统,目标消息的消息结构中包括加密信息指示域,在第二消息处理模块确定消息接收方属于目标消息接收方后,可以获取目标消息的加密信息。
消息发送方是根据消息接收方的公钥对第一消息处理模块生成的对称密钥进行加密,得到的目标消息的加密信息,所以第二消息处理模块在获取了目标消息后,可以是从消息接收方所属的业务系统中获取与消息接收方的公钥对应的私钥,通过私钥就可以对目标消息的加密信息进行解密,得到对称密钥。
步骤S804,第二消息处理模块通过对称密钥对消息内容进行解密。
其中,据上所述,消息发送方通过第一消息处理模块生成的对称密钥对消息内容进行加密得到目标消息的有效载荷,所以第二消息处理模块要想获取消息的具体内容,就需要根据上述解密过程解密得到的对称密钥对消息内容进行解密,并将解密得到的消息内容传递给消息接收方所属的业务系统。因为正确的对称密钥才能对消息内容解密成功,所以更能够保证传递消息的准确性。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种消息交互装置,包括:第一消息处理模块,其中:
第一消息处理模块,用于获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;
第一消息处理模块,还用于在消息内容满足预设的字段校验规范时,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息;
第一消息处理模块,还用于将待发送消息按照预设的区块链协议存储至区块链上。
在一个实施例中,第一消息处理模块,还用于根据消息内容、待发送消息的目标消息接收方列表和加密对称密钥生成待发送消息。
在一个实施例中,消息内容还包括加密信息,第一消息处理模块,还用于在加密信息为开启加密功能的情况下,生成对称密钥,从目标消息接收方列表中获取消息接收方的公钥,根据公钥对对称密钥进行加密得到加密对称密钥。
在一个实施例中,第一消息处理模块,还用于通过对称密钥对初始消息内容进行加密,获得消息内容。
在一个实施例中,第一消息处理模块,还用于根据消息内容、待发送消息的目标消息接收方列表和待发送消息的哈希值生成待发送消息。
在一个实施例中,第一消息处理模块,还用于通过哈希算法对消息内容进行哈希计算得到待发送消息的哈希值。
在一个实施例中,第一消息处理模块,还用于根据消息内容、待发送消息的目标消息接收方列表和待发送消息对应的唯一标识生成待发送消息。
在一个实施例中,第一消息处理模块,还用于根据消息内容生成待发送消息对应的唯一标识。
在一个实施例中,第一消息处理模块,还用于获取消息发送方的标识,以及,从目标消息接收方列表中获取目标消息接收方的标识;并通过将消息内容添加至待发送消息的有效载荷中、将消息发送方的标识添加至待发送消息的发送方标识指示域中以及将目标消息接收方的标识添加至待发送消息的接收方标识指示域中的方式生成待发送消息。
在一个实施例中,第一消息处理模块,还用于将加密对称密钥添加至待发送消息的加密对称密钥指示域中,以更新待发送消息。
在一个实施例中,第一消息处理模块,还用于将待发送消息的哈希值添加至待发送消息的哈希值指示域中,以更新待发送消息。
在一个实施例中,第一消息处理模块,还用于将待发送消息对应的唯一标识加至待发送消息的唯一标识指示域中,以更新待发送消息。
在一个实施例中,第一消息处理模块,还用于根据事件标识更新待发送消息,更新后的待发送消息包括事件标识;事件标识用于指示待发送消息的发送事件。
在一个实施例中,提供了另一种消息交互装置,包括:第二消息处理模块,其中:
第二消息处理模块,用于从区块链获取目标消息;
第二消息处理模块,还用于基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容;
第二消息处理模块,还用于根据目标消息接收方的标识处理目标消息。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配成功,第二消息处理模块,还用于根据目标消息的消息内容执行对应的操作。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配失败,第二消息处理模块,还用于丢弃目标消息。
在一个实施例中,第二消息处理模块,还用于获取唯一标识;并根据目标消息的唯一标识从区块链上查询目标消息在区块链上的地址,以使消息接收方根据目标消息在区块链上的地址以及唯一标识更新记录表,记录表包括多个消息以及与多个消息在区块链上的多个地址。
在一个实施例中,第二消息处理模块,还用于在监听到事件标识更新时,从消息接收方的记录表中获取历史消息在区块链上的地址;根据历史消息的在区块链上的地址确定遍历区块链的起始地址;根据区块链的起始地址对区块链上的区块进行遍历查找,以获取目标消息。
在一个实施例中,消息内容还包括加密信息,第二消息处理模块,还用于获取消息接收方的公钥对应的私钥,并根据私钥对加密信息进行解密得到目标消息的对称密钥;并通过对称密钥对消息内容进行解密。
关于消息交互装置的具体限定可以参见上文中对于消息交互方法的限定,在此不再赘述。上述消息交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种消息交互方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;
在消息内容满足预设的字段校验规范时,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息;
将待发送消息按照预设的区块链协议存储至区块链上。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据消息内容、待发送消息的目标消息接收方列表和加密对称密钥生成待发送消息。
在一个实施例中,消息内容还包括加密信息,处理器执行计算机程序时还实现以下步骤:在加密信息为开启加密功能的情况下,生成对称密钥,从目标消息接收方列表中获取消息接收方的公钥,根据公钥对对称密钥进行加密得到加密对称密钥。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过对称密钥对初始消息内容进行加密,获得消息内容。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:还用于根据消息内容、待发送消息的目标消息接收方列表和待发送消息的哈希值生成待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过哈希算法对消息内容进行哈希计算得到待发送消息的哈希值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据消息内容、待发送消息的目标消息接收方列表和待发送消息对应的唯一标识生成待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据消息内容生成待发送消息对应的唯一标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:还用于获取消息发送方的标识,以及,从目标消息接收方列表中获取目标消息接收方的标识;并通过将消息内容添加至待发送消息的有效载荷中、将消息发送方的标识添加至待发送消息的发送方标识指示域中以及将目标消息接收方的标识添加至待发送消息的接收方标识指示域中的方式生成待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将加密对称密钥添加至待发送消息的加密对称密钥指示域中,以更新待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将待发送消息的哈希值添加至待发送消息的哈希值指示域中,以更新待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将待发送消息对应的唯一标识加至待发送消息的唯一标识指示域中,以更新待发送消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据事件标识更新待发送消息,更新后的待发送消息包括事件标识;事件标识用于指示待发送消息的发送事件。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
从区块链获取目标消息;
基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容;
根据目标消息接收方的标识处理目标消息。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配成功,处理器执行计算机程序时还实现以下步骤:根据目标消息的消息内容执行对应的操作。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配失败,处理器执行计算机程序时还实现以下步骤:丢弃目标消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标消息的哈希值和唯一标识;并根据目标消息的唯一标识从区块链上查询目标消息在区块链上的地址,以使消息接收方根据目标消息在区块链上的地址以及唯一标识更新记录表,记录表包括多个消息以及与多个消息在区块链上的多个地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在监听到事件标识更新时,从消息接收方的记录表中获取历史消息在区块链上的地址;根据历史消息的在区块链上的地址确定遍历区块链的起始地址;根据区块链的起始地址对区块链上的区块进行遍历查找,以获取目标消息。
在一个实施例中,消息内容还包括加密信息,处理器执行计算机程序时还实现以下步骤:获取消息接收方的公钥对应的私钥,并根据私钥对加密信息进行解密得到目标消息的对称密钥;并通过对称密钥对消息内容进行解密。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待发送消息的消息内容,对消息内容进行校验判断消息内容是否满足预设的字段校验规范;
在消息内容满足预设的字段校验规范时,基于预设的消息格式,根据消息内容和待发送消息的目标消息接收方列表生成待发送消息;
将待发送消息按照预设的区块链协议存储至区块链上。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据消息内容、待发送消息的目标消息接收方列表和加密对称密钥生成待发送消息。
在一个实施例中,消息内容还包括加密信息,计算机程序被处理器执行时还实现以下步骤:在加密信息为开启加密功能的情况下,生成对称密钥,从目标消息接收方列表中获取消息接收方的公钥,根据公钥对对称密钥进行加密得到加密对称密钥。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过对称密钥对初始消息内容进行加密,获得消息内容。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:还用于根据消息内容、待发送消息的目标消息接收方列表和待发送消息的哈希值生成待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过哈希算法对消息内容进行哈希计算得到待发送消息的哈希值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据消息内容、待发送消息的目标消息接收方列表和待发送消息对应的唯一标识生成待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据消息内容生成待发送消息对应的唯一标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:还用于获取消息发送方的标识,以及,从目标消息接收方列表中获取目标消息接收方的标识;并通过将消息内容添加至待发送消息的有效载荷中、将消息发送方的标识添加至待发送消息的发送方标识指示域中以及将目标消息接收方的标识添加至待发送消息的接收方标识指示域中的方式生成待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将加密对称密钥添加至待发送消息的加密对称密钥指示域中,以更新待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将待发送消息的哈希值添加至待发送消息的哈希值指示域中,以更新待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将待发送消息对应的唯一标识加至待发送消息的唯一标识指示域中,以更新待发送消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据事件标识更新待发送消息,更新后的待发送消息包括事件标识;事件标识用于指示待发送消息的发送事件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从区块链获取目标消息;
基于预设的消息格式解析目标消息,获得目标消息接收方的标识以及目标消息的消息内容;
根据目标消息接收方的标识处理目标消息。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配成功,计算机程序被处理器执行时还实现以下步骤:根据目标消息的消息内容执行对应的操作。
在一个实施例中,当消息接收方的标识与目标消息接收方的标识匹配失败,计算机程序被处理器执行时还实现以下步骤:丢弃目标消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取目标消息的唯一标识;并根据目标消息的唯一标识从区块链上查询目标消息在区块链上的地址,以使消息接收方根据目标消息在区块链上的地址以及唯一标识更新记录表,记录表包括多个消息以及与多个消息在区块链上的多个地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在监听到事件标识更新时,从消息接收方的记录表中获取历史消息在区块链上的地址;根据历史消息的在区块链上的地址确定遍历区块链的起始地址;根据区块链的起始地址对区块链上的区块进行遍历查找,以获取目标消息。
在一个实施例中,消息内容还包括加密信息,计算机程序被处理器执行时还实现以下步骤:获取消息接收方的公钥对应的私钥,并根据私钥对加密信息进行解密得到目标消息的对称密钥;并通过对称密钥对消息内容进行解密。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (21)

1.一种消息交互方法,其特征在于,所述方法应用于消息发送方,所述消息发送方包括第一消息处理模块,所述方法包括:
所述第一消息处理模块获取待发送消息的消息内容,对所述消息内容进行校验判断所述消息内容是否满足预设的字段校验规范;
若所述消息内容满足所述预设的字段校验规范,则所述第一消息处理模块基于预设的消息格式,根据所述消息内容、待发送消息的目标消息接收方列表和所述待发送消息对应的唯一标识,生成待发送消息;所述唯一标识是所述第一消息处理模块根据所述消息内容生成的;所述唯一标识用于将所述消息发送方所属的业务系统和区块链关联起来;所述唯一标识还用于指示在消息接收方所属的业务系统接收到有效的消息后,更新记录表;
所述第一消息处理模块通过调用对应的业务系统上设置的接口将消息进行上链,以使得所述区块链按照接收所述第一消息处理模块消息的顺序对消息进行顺序上链存储至对应的区块链区块中。
2.根据权利要求1所述的方法,其特征在于,所述第一消息处理模块进一步根据加密对称密钥生成所述待发送消息。
3.根据权利要求2所述的方法,其特征在于,所述消息内容还包括加密信息,所述方法还包括:
在所述加密信息为开启加密功能的情况下,所述第一消息处理模块生成对称密钥,
所述第一消息处理模块从所述目标消息接收方列表中获取消息接收方的公钥,根据所述公钥对所述对称密钥进行加密得到所述加密对称密钥。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块通过所述对称密钥对初始消息内容进行加密,获得所述消息内容。
5.根据权利要求1或2所述的方法,其特征在于,所述第一消息处理模块进一步根据所述待发送消息的哈希值生成所述待发送消息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块通过哈希算法对所述消息内容进行哈希计算得到所述待发送消息的哈希值。
7.根据权利要求1所述的方法,其特征在于,所述基于预设的消息格式、所述消息内容、待发送消息的目标消息接收方列表和所述待发送消息对应的唯一标识,生成待发送消息,包括:
所述第一消息处理模块获取所述消息发送方的标识,以及,从所述目标消息接收方列表中获取目标消息接收方的标识;
所述第一消息处理模块通过将所述消息内容添加至所述待发送消息的有效载荷中、将所述消息发送方的标识添加至所述待发送消息的发送方标识指示域中以及将所述目标消息接收方的标识添加至所述待发送消息的接收方标识指示域中的方式生成所述待发送消息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块将加密对称密钥添加至所述待发送消息的加密对称密钥指示域中,以更新所述待发送消息。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块将所述待发送消息的哈希值添加至所述待发送消息的哈希值指示域中,以更新所述待发送消息。
10.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块将所述待发送消息对应的唯一标识加至所述待发送消息的唯一标识指示域中,以更新所述待发送消息。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一消息处理模块根据事件标识更新所述待发送消息,更新后的待发送消息包括所述事件标识;所述事件标识用于指示所述待发送消息的发送事件。
12.一种消息交互方法,其特征在于,所述方法应用于消息接收方,所述消息接收方包括第二消息处理模块,所述方法包括:
所述第二消息处理模块从区块链获取目标消息,所述目标消息是消息发送方基于预设的消息格式、对应的消息内容、消息接收方列表和唯一标识所生成的,并通过调用对应的业务系统上设置的接口将消息进行上链,以使得所述区块链按照接收消息的顺序对消息进行顺序上链存储至对应的区块链区块中;所述唯一标识是所述消息发送方根据对应的消息内容生成的;所述唯一标识用于将所述消息发送方所属的业务系统和区块链关联起来;所述唯一标识还用于指示在所述消息接收方所属的业务系统接收到有效的消息后,更新记录表;
所述第二消息处理模块基于预设的消息格式解析所述目标消息,获得目标消息接收方的标识以及所述目标消息的消息内容;
所述第二消息处理模块根据所述目标消息接收方的标识处理所述目标消息。
13.根据权利要求12所述的方法,其特征在于,当所述消息接收方的标识与所述目标消息接收方的标识匹配成功,所述根据所述目标消息接收方的标识处理所述目标消息,包括:
所述第二消息处理模块根据所述目标消息的消息内容执行对应的操作。
14.根据权利要求12所述的方法,其特征在于,当所述消息接收方的标识与所述目标消息接收方的标识匹配失败,所述根据所述目标消息接收方的标识处理所述目标消息,包括:
所述第二消息处理模块丢弃所述目标消息。
15.根据权利要求13所述的方法,其特征在于,所述第二消息处理模块根据所述目标消息的消息内容执行对应的操作,包括:
所述第二消息处理模块获取所述目标消息的唯一标识;
所述第二消息处理模块根据所述目标消息的唯一标识从所述区块链上查询所述目标消息在所述区块链上的地址,以使所述消息接收方根据所述目标消息在所述区块链上的地址以及所述唯一标识更新记录表,所述记录表包括多个消息以及与所述多个消息在所述区块链上的多个地址。
16.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在所述第二消息处理模块监听到事件标识更新的情况下,所述第二消息处理模块从所述消息接收方的所述记录表中获取历史消息在所述区块链上的地址;
所述第二消息处理模块根据所述历史消息在所述区块链上的地址确定遍历所述区块链的起始地址;
所述第二消息处理模块根据所述区块链的起始地址对所述区块链上的区块进行遍历查找,以获取所述目标消息。
17.根据权利要求12所述的方法,其特征在于,所述消息内容还包括加密信息,所述第二消息处理模块根据所述目标消息的消息内容执行对应的操作,包括:
所述第二消息处理模块获取与所述消息接收方的公钥对应的私钥,并根据所述私钥对所述加密信息进行解密得到所述目标消息的对称密钥;
所述第二消息处理模块通过所述对称密钥对所述消息内容进行解密。
18.一种消息交互装置,其特征在于,包括:
第一消息处理模块,用于获取待发送消息的消息内容,对所述消息内容进行校验判断所述消息内容是否满足预设的字段校验规范;
所述第一消息处理模块,用于在所述消息内容满足所述预设的字段校验规范时,基于预设的消息格式,根据所述消息内容、待发送消息的目标消息接收方列表和所述待发送消息对应的唯一标识,生成待发送消息;所述唯一标识是所述第一消息处理模块根据所述消息内容生成的;所述唯一标识用于将消息发送方所属的业务系统和区块链关联起来;所述唯一标识还用于指示在消息接收方所属的业务系统接收到有效的消息后,更新记录表;
所述第一消息处理模块,用于通过调用对应的业务系统上设置的接口将消息进行上链,以使得所述区块链按照接收所述第一消息处理模块消息的顺序对消息进行顺序上链存储至对应的区块链区块中。
19.一种消息交互装置,其特征在于,包括:
第二消息处理模块,用于从区块链获取目标消息,所述目标消息是消息发送方基于预设的消息格式、对应的消息内容、消息接收方列表和唯一标识所生成的,并通过调用对应的业务系统上设置的接口将消息进行上链,以使得所述区块链按照接收消息的顺序对消息进行顺序上链存储至对应的区块链区块中;所述唯一标识是所述消息发送方根据对应的消息内容生成的;所述唯一标识用于将所述消息发送方所属的业务系统和区块链关联起来;所述唯一标识还用于指示在消息接收方所属的业务系统接收到有效的消息后,更新记录表;
第二消息处理模块,还用于基于预设的消息格式解析所述目标消息,获得目标消息接收方的标识以及所述目标消息的消息内容;
第二消息处理模块,还用于根据所述目标消息接收方的标识处理所述目标消息。
20.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述的方法的步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述的方法的步骤。
CN202110974754.7A 2021-08-24 2021-08-24 消息交互方法、装置、计算机设备和存储介质 Active CN113783847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110974754.7A CN113783847B (zh) 2021-08-24 2021-08-24 消息交互方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110974754.7A CN113783847B (zh) 2021-08-24 2021-08-24 消息交互方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113783847A CN113783847A (zh) 2021-12-10
CN113783847B true CN113783847B (zh) 2023-06-30

Family

ID=78838786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110974754.7A Active CN113783847B (zh) 2021-08-24 2021-08-24 消息交互方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113783847B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021114B1 (en) * 2017-03-01 2018-07-10 Thumbtack, Inc. Determining the legitimacy of messages using a message verification process
CN108566375A (zh) * 2018-03-12 2018-09-21 深圳壹账通智能科技有限公司 基于区块链的多端间消息通信的方法、终端及存储介质
CN109872149A (zh) * 2017-12-04 2019-06-11 万事达卡国际公司 使用数字证书的可信度的方法和系统
CN110022369A (zh) * 2019-04-11 2019-07-16 上海拉扎斯信息科技有限公司 消息处理方法、装置、电子设备及计算机可读存储介质
CN111047321A (zh) * 2019-12-27 2020-04-21 支付宝实验室(新加坡)有限公司 业务处理方法及装置、电子设备、存储介质
CN112560078A (zh) * 2020-08-05 2021-03-26 北京京东振世信息技术有限公司 区块链数据处理方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135921B2 (en) * 2016-09-20 2018-11-20 Keir Finlow-Bates System and method for announcing cryptographic keys on a blockchain
CN107579952A (zh) * 2017-07-17 2018-01-12 招商银行股份有限公司 报文发送方法、报文处理方法和系统及存储介质
CN110557359A (zh) * 2018-06-01 2019-12-10 厦门本能管家科技有限公司 一种基于区块链的消息通信方法及其装置
CN109474597A (zh) * 2018-11-19 2019-03-15 中链科技有限公司 一种基于区块链的分布式消息发送与接收方法以及装置
US11212347B2 (en) * 2019-02-05 2021-12-28 S&P Global Inc. Private content storage with public blockchain metadata
CN110070444A (zh) * 2019-04-25 2019-07-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链交易流程管理方法及相关装置
CN112787976B (zh) * 2019-11-06 2023-04-07 阿里巴巴集团控股有限公司 数据加密、解密和共享方法、设备、系统及存储介质
CN111083145A (zh) * 2019-12-18 2020-04-28 北京华宇信息技术有限公司 消息发送方法、装置及电子设备
CN111914291A (zh) * 2020-07-28 2020-11-10 广州市百果园信息技术有限公司 消息处理方法、装置、设备及存储介质
CN112184230A (zh) * 2020-10-14 2021-01-05 深圳壹账通智能科技有限公司 基于区块链的交易数据处理方法、系统、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021114B1 (en) * 2017-03-01 2018-07-10 Thumbtack, Inc. Determining the legitimacy of messages using a message verification process
CN109872149A (zh) * 2017-12-04 2019-06-11 万事达卡国际公司 使用数字证书的可信度的方法和系统
CN108566375A (zh) * 2018-03-12 2018-09-21 深圳壹账通智能科技有限公司 基于区块链的多端间消息通信的方法、终端及存储介质
WO2019174187A1 (zh) * 2018-03-12 2019-09-19 深圳壹账通智能科技有限公司 基于区块链的多端间消息通信的方法、终端及存储介质
CN110022369A (zh) * 2019-04-11 2019-07-16 上海拉扎斯信息科技有限公司 消息处理方法、装置、电子设备及计算机可读存储介质
CN111047321A (zh) * 2019-12-27 2020-04-21 支付宝实验室(新加坡)有限公司 业务处理方法及装置、电子设备、存储介质
CN112560078A (zh) * 2020-08-05 2021-03-26 北京京东振世信息技术有限公司 区块链数据处理方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于双层协同的联盟区块链隐私数据保护方法;蔡亮;端豪;鄢萌;夏鑫;;软件学报(08);全文 *

Also Published As

Publication number Publication date
CN113783847A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
CN108123800B (zh) 密钥管理方法、装置、计算机设备及存储介质
US10880732B2 (en) Authentication of phone caller identity
CN109471844B (zh) 文件共享方法、装置、计算机设备和存储介质
CN107801165B (zh) 业务短信推送方法、装置、计算机设备和存储介质
CN104144049B (zh) 一种加密通信方法、系统和装置
CN108989848B (zh) 一种视频资源文件的获取方法和管理系统
CN111464500A (zh) 协议数据共享的方法、装置、设备及存储介质
CN112600820B (zh) 一种网络连接方法、装置、计算机设备以及存储介质
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
US10063655B2 (en) Information processing method, trusted server, and cloud server
CN112966287B (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN108418679B (zh) 一种多数据中心下处理密钥的方法、装置及电子设备
CN113824553A (zh) 密钥管理方法、装置及系统
CN106789963B (zh) 非对称白盒密码加密方法和装置及设备
US20150350897A1 (en) Method and User Equipment for Discovering Device User
CN114239072B (zh) 区块链节点管理方法及区块链网络
CN113472722A (zh) 数据传输方法、存储介质、电子设备及自动售检票系统
CN116633701B (zh) 信息传输方法、装置、计算机设备和存储介质
CN113783847B (zh) 消息交互方法、装置、计算机设备和存储介质
CN116305013A (zh) 溯源信息的电子文件添加方法、装置、电子设备及介质
US9178855B1 (en) Systems and methods for multi-function and multi-purpose cryptography
CN104737571A (zh) 保护在通信网络中发送的有效载荷
CN113452654B (zh) 一种数据解密的方法
US9189638B1 (en) Systems and methods for multi-function and multi-purpose cryptography
CN115277206B (zh) 数据处理方法和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant