CN110035002B - 即时通信的实现方法,终端设备及存储介质 - Google Patents

即时通信的实现方法,终端设备及存储介质 Download PDF

Info

Publication number
CN110035002B
CN110035002B CN201910258788.9A CN201910258788A CN110035002B CN 110035002 B CN110035002 B CN 110035002B CN 201910258788 A CN201910258788 A CN 201910258788A CN 110035002 B CN110035002 B CN 110035002B
Authority
CN
China
Prior art keywords
target user
message
information
terminal device
intelligent contract
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
CN201910258788.9A
Other languages
English (en)
Other versions
CN110035002A (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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Robotics 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 Cloudminds Robotics Co Ltd filed Critical Cloudminds Robotics Co Ltd
Priority to CN201910258788.9A priority Critical patent/CN110035002B/zh
Publication of CN110035002A publication Critical patent/CN110035002A/zh
Application granted granted Critical
Publication of CN110035002B publication Critical patent/CN110035002B/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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

本公开涉及一种即时通信的实现方法,终端设备及存储介质,用以解决现有的即时通信方式存在用户个人信息被篡改和泄露的问题。该方法应用于终端设备,该方法包括:将目标用户的身份信息发送给区块链网络中的管理员节点,身份信息用于管理员节点在确认目标用户合法后向智能合约写入登记请求,登记请求用于触发智能合约向终端设备发送携带有注册码的验证成功消息;在接收到验证成功消息后,将目标用户的个人信息加密后分发至分布式存储节点并接收返回的存储索引信息;向智能合约写入包括注册码和存储索引信息的注册请求,注册请求用于触发智能合约执行以下操作:在根据注册码确定目标用户通过验证后,将存储索引信息写入区块链中并返回注册成功消息。

Description

即时通信的实现方法,终端设备及存储介质
技术领域
本公开涉及通信技术领域,具体地,涉及一种即时通信的实现方法,终端设备及存储介质。
背景技术
即时通信工具与人们的日常生活几乎形影不离,人们可通过即时通信工具建立社交关系以及完成诸如网上购物、支付账单等生活服务。
现有的即时通信方式需要中心化服务器参与,通信各方的个人信息等存储在该中心化服务器中,由该中心化服务器的提供商管理。然而,这种即时通信方式可能导致用户的个人信息被篡改或泄露,存在极大的安全隐患。
发明内容
本公开的主要目的是提供一种即时通信的实现方法,终端设备及存储介质,用以解决现有的即时通信方式存在用户个人信息被篡改和泄露的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种即时通信的实现方法,应用于终端设备,所述终端设备为区块链网络中的节点,所述方法包括:
将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;
在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;
向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:
根据所述注册码对所述目标用户进行验证;
在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息。
可选地,所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;
所述方法还包括:
向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息;
基于DHT协议或PubSub协议与所述好友终端设备建立通信连接,所述通信连接用于所述目标用户与所述好友进行即时通信。
可选地,所述方法还包括:
若所述终端设备本地存储的历史会话消息队列中存在未发送消息且所述终端设备与所述未发送消息的接收端之间未建立所述通信连接,则向所述智能合约写入携带有所述未发送消息的消息上传请求,所述消息上传请求用于触发所述智能合约将所述未发送消息路由到所述接收端的历史会话消息队列。
可选地,所述方法还包括:
向所述智能合约写入携带有所述目标用户的身份信息的离线消息获取请求,所述离线消息获取请求用于触发所述智能合约执行以下操作:根据所述身份信息查询所述区块链,获取所述目标用户待接收的离线消息并将所述离线消息发送给所述终端设备;
将所述离线消息添加到所述目标用户对应的历史会话消息队列。
可选地,所述方法还包括:
将待上传的目标文件分发至所述分布式存储节点进行存储并接收所述分布式存储节点返回的所述目标文件的存储索引信息;
通过所述通信连接向所述好友终端设备发送携带有所述目标文件的存储索引信息的文件消息,所述文件消息用于所述好友终端设备根据所述目标文件的存储索引信息从所述分布式存储节点获取所述目标文件。
可选地,若所述目标用户为目标群组的管理员,则所述方法还包括:
响应于所述目标用户对所述目标群组的修改操作,根据所述修改操作生成的修改消息;
对于所述目标群组中的每一群成员,若该群成员的终端设备已与所述目标用户的终端设备建立所述通信连接,则通过所述通信连接将所述修改消息发送给该群成员的终端设备;
若该成员的终端设备未与所述目标用户的终端设备建立所述通信连接,则向所述智能合约写入携带有所述修改消息的群消息上传请求,所述群消息上传请求用于触发所述智能合约将所述修改消息路由到该成员终端设备的历史会话消息队列。
根据本公开实施例的第二方面,提供一种终端设备,所述终端设备为区块链网络中的节点,所述终端设备包括:
第一发送模块,用于将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;
第二发送模块,用于在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;
第一写入模块,用于向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:
根据所述注册码对所述目标用户进行验证;
在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息。
可选地,所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;
所述终端设备还包括:
第二写入模块,用于向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息;
获取模块,用于根据所述存储索引哈希值从所述DHT节点获取所述好友的账户描述信息,所述账户描述信息包括所述好友的连接地址信息;
连接建立模块,用于基于DHT协议或PubSub协议与所述好友终端设备建立通信连接,所述通信连接用于所述目标用户与所述好友进行即时通信。
可选地,所述终端设备还包括:
第三发送模块,用于若所述终端设备本地存储的历史会话消息队列中存在未发送消息且所述终端设备与所述未发送消息的接收端之间未建立所述通信连接,则向所述智能合约写入携带有所述未发送消息的消息上传请求,所述消息上传请求用于触发所述智能合约将所述未发送消息路由到所述接收端的历史会话消息队列。
可选地,所述终端设备还包括:
第四写入模块,用于向所述智能合约写入携带有所述目标用户的身份信息的离线消息获取请求,所述离线消息获取请求用于触发所述智能合约执行以下操作:根据所述身份信息查询所述区块链,获取所述目标用户待接收的离线消息并将所述离线消息发送给所述终端设备;
添加模块,用于将所述离线消息添加到所述目标用户对应的历史会话消息队列。
可选地,所述终端设备还包括:
第五发送模块,用于将待上传的目标文件分发至所述分布式存储节点进行存储并接收所述分布式存储节点返回的所述目标文件的存储索引信息;
第六发送模块,用于通过所述通信连接向所述好友终端设备发送携带有所述目标文件的存储索引信息的文件消息,所述文件消息用于所述好友终端设备根据所述目标文件的存储索引信息从所述分布式存储节点获取所述目标文件。
可选地,若所述目标用户为目标群组的管理员,则所述终端设备还包括:
生成模块,用于响应于所述目标用户对所述目标群组的修改操作,根据所述修改操作生成的修改消息;
第七发送模块,用于对于所述目标群组中的每一群成员,若该群成员的终端设备已与所述目标用户的终端设备建立所述通信连接,则通过所述通信连接将所述修改消息发送给该群成员的终端设备,以及若该成员的终端设备未与所述目标用户的终端设备建立所述通信连接,则向所述智能合约写入携带有所述修改消息的群消息上传请求,所述群消息上传请求用于触发所述智能合约将所述修改消息路由到该成员终端设备的历史会话消息队列。
根据本公开实施的第三方面,提供一种终端设备,所述终端设备为区块链中的区块链节点,所述终端设备包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面所述方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:基于区块链智能合约技术实现用户注册功能,将用户的个人信息加密后分发至分布式存储节点进行存储,并将得到的存储索引信息写入区块链中,其利用了区块链的去中心化和不可篡改性,可以避免用户的个人信息被篡改。此外,用户的个人信息分散在各个分布式存储节点上,信息的传输直接在节点之间进行,无需中心化服务器介入,可以保证用户的个人信息不会被服务器提供商跟踪和泄露,进而保证了用户个人信息的安全性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种适用于即时通信的实现方法的通信***的示意图;
图2是根据一示例性实施例示出的一种即时通信的实现方法的流程示意图;
图3是根据一示例性实施例示出的一种新用户注册的流程示意图;
图4是根据一示例性实施例示出的一种即时通信双方建立通信连接的流程示意图;
图5是根据一示例性实施例示出的一种即时通信双方进行消息传输的流程示意图;
图6是根据另一示例性实施例示出的一种即时通信双方进行消息传输的流程示意图;
图7是根据一示例性实施例示出的一种即时通信双方进行文件传输的流程示意图;
图8是根据一示例性实施例示出的一种即时通信一方进行群组管理的流程示意图;
图9是根据一示例性实施例示出的一种终端设备的框图;
图10是根据另一示例性实施例示出的一种终端设备的框图;
图11是根据一示例性实施例示出的一种终端设备的结构示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开的说明书和权利要求书以及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。
为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面首先对本公开提供的即时通信的实现方法所适用的通信***进行说明。如图1所示,图1是根据一示例性实施例示出的一种适用于即时通信的实现方法的通信***示意图,该通信***包括:多个终端设备110以及多个分布式存储节点120。
其中,终端设备110可以是:手机、平板电脑、计算机、多媒体播放设备、智能可穿戴设备等。终端设备110中配置有即时通信客户端,终端设备110之间可通过即时通信客户端进行即时通信,例如传输文件、收发消息等等。这些终端设备110为区块链网络200中的节点,部分终端设备110还可以为区块链网络200中的管理员节点,其为区块链网络200中的其他节点提供相应功能,例如查看和验证其他节点发送的待注册用户的身份是否合法。区块链网络200中的节点共同参与维护区块链。其中,为了保证即时通信各方的通信安全,区块链可以为私有链或联盟链,相应地,管理员节点还可以对区块链网络中的其他非管理员节点设置相应权限,例如读取区块链数据的权限、向区块链写入数据的权限等等。
分布式存储节点120可以是具有通信和存储功能的终端设备,其可用于存储即时通信各方的用户个人信息以及文件、消息等社交信息。这些分布式存储节点120构成星际文件***(Inter Planetary File System,IPFS)300。可选地,分布式存储节点120可以采用分布式哈希表(Distributed Hash Table,DHT)的方式存储信息。
进一步地,终端设备120可以与IPFS***300中的各节点建立P2P通信连接,通过该P2P通信连接可以向IPFS***300中的相关节点发送待存储的信息以及从相关节点获取信息。此外,分布式存储节点120也可以是区块链网络200中的节点。
基于图1所示的通信***,本公开实施例提供一种即时通信的实现方法。如图2所示,图2是根据一示例性实施例示出的一种即时通信的实现方法的流程示意图,该方法应用于终端设备,该方法包括以下步骤:
S201、将待注册的目标用户的身份信息发送给区块链网络中的管理员节点。
其中,身份信息可作为该目标用户的身份标识,示例地,身份信息可以包括身份证号、用户名等。
如图3所示,在注册新用户时,待注册的目标用户可通过终端设备中配置的即时通信客户端输入其身份信息,终端设备响应于目标用户的注册操作,将目标用户的身份信息发送给区块链网络中的管理员节点,由管理员节点根据该身份信息对目标用户进行合法性验证。示例地,管理员节点存储有合法用户的身份信息,若查询到与目标用户的身份信息相匹配的身份信息,则可以确定该目标用户合法;否则,则认为该目标用户非法。
若确定该目标用户非法,管理员节点则向终端设备发送目标用户验证失败消息;若确定该目标用户合法,管理员节点则向区块链中部署的智能合约写入登记请求,该登记请求用于触发智能合约生成相应的注册码并将携带有该注册码的验证成功消息发送给该终端设备,其中,登记请求可以包括目标用户的用户名等可公开的身份信息。
此外,智能合约响应于该登记请求,还可以为目标分配相关资源(如该目标用户的相关信息在区块链上的存储空间等)。
S202、在接收到验证成功消息后,将目标用户的个人信息加密后分发至分布式存储节点进行存储。
其中,个人信息可以包括但不限于:目标用户的账户名、账户密码、头像、连接地址信息、联系方式等等。
S203、接收分布式存储节点返回的存储索引信息。
其中,存储索引信息可以包括参与存储该目标用户个人信息的分布式存储节点信息、下载路径信息等。
值得说明的是,终端设备对目标用户的个人信息进行加密的具体方式以及分布式存储节点对目标用户的个人信息进行存储的具体方式,属于本领域技术人员公知的,在本公开实施例中不再详细阐述。
S204、向区块链中部署的智能合约写入包括目标用户的存储索引信息和该注册码的注册请求,该注册请求用于触发智能合约执行以下操作:根据该注册码对目标用户进行验证;在确定目标用户通过验证后,将目标用户的存储索引信息写入区块链中并向终端设备返回注册成功消息。
进一步地,注册请求还包括目标用户的终端设备的连接地址信息。相应地,智能合约响应于该注册请求所执行的操作还包括:将该连接地址信息写入区块链中,以使区块链网络中的其他节点可以从区块链中获取到该连接地址信息,以使区块链网络中的其他节点可根据该连接地址信息与目标用户的终端设备建立即时通信连接。
进一步地,智能合约在确定目标用户未通过验证时,向终端设备返回账户注册失败消息。
采用上述方法,基于区块链智能合约技术实现用户注册功能,将用户的个人信息加密后分发至分布式存储节点进行存储,并将得到的存储索引信息写入区块链中,其利用了区块链的去中心化和不可篡改性,可以避免用户的个人信息被篡改。此外,用户的个人信息分散在各个分布式存储节点上,信息的传输直接在节点之间进行,无需中心化服务器介入,可以保证用户的个人信息不会被服务器提供商跟踪和泄露,进而保证了用户个人信息的安全性。
进一步地,在目标用户注册成功后,目标用户可通过即时通信客户端进行登陆操作,终端设备响应于目标用户输入的登陆操作,向智能合约写入携带有目标用户登陆信息(如登陆时间戳、用户名)的登陆请求,该登陆请求用于触发智能合约更新该目标用户的当前状态,例如,将该目标用户的状态标记为已登陆。
进一步地,在目标用户登陆成功后,可进行添加好友操作。具体地,目标用户可以通过即时通信客户端输入待添加好友的身份信息(如好友的用户名),终端设备响应于目标用户的添加好友操作,向待添加好友的终端设备发送添加请求消息,并在接收到好友终端设备返回的添加成功响应消息时,将该待添加好友添加至本地存储的好友列表中。其中,添加请求消息可以包括目标用户的身份信息(如目标用户的用户名)、待添加好友的身份信息(如待添加好友的用户名)、目标用户的会话码以及待添加好友的会话码等,添加成功响应消息可以包括目标用户的身份信息(如目标用户的用户名)、待添加好友的身份信息(如待添加好友的用户名)、响应码、目标用户的会话码等。
进一步地,目标用户还可进行删除好友操作。具体地,目标用户可以通过即时通信客户端输入待删除好友的身份信息(如待删除好友的用户名),终端设备响应于目标用户的删除好友操作,向待删除好友的终端设备发送删除请求消息,以指示待删除好友的终端设备将目标用户从所述待删除好友的好友列表中删除。其中,删除请求消息可以包括目标用户的身份信息(如目标用户的用户名)、待删除好友的身份信息(如待删除好友的用户名)、目标用户的会话码以及待添加好友的会话码等。
进一步地,目标用户的终端设备还可以与其好友列表中的好友的终端设备建立通信连接。在一种可能的实现方式中,如图4所示,目标用户的终端设备向智能合约写入携带有目标用户好友的身份信息的信息获取请求,该信息获取请求用于触发智能合约根据该身份信息从区块链中读取该好友的连接地址信息;基于DHT协议或PubSub协议与该好友的终端设备建立通信连接,该通信连接可以使目标用户与好友进行即时通信,例如消息收发、文件传输等等。
通过DHT协议或PubSub协议在即时通信双方之间建立通信连接,可以使即时通信双方隐藏自己的真实身份和位置等信息,可以保护用户个人隐私,同时也不会被第三方服务供应商控制,保障即时通信的安全性。
接下来,通过不同的实施场景对目标用户与好友之间的即时通信进行说明。
实施场景一:收发消息
在一种可能的实现方式中,如图5所示,在目标用户的终端设备与其好友的终端设备建立起上述通信连接后,目标用户的终端设备可以通过该通信连接向好友的终端设备发送在线消息,也可以通过该通信连接接收好友的终端设备发送的在线消息。此外,针对每一参与即时通信的终端设备,该终端设备本地存储有用户的历史会话消息队列,该历史会话消息队列中记录有该用户与其他联系人之间的消息往来记录,且该终端设备在接收和发送消息后会对该历史会话消息队列进行更新。
进一步地,若目标用户的终端设备与其好友的终端设备未建立起上述通信连接,目标用户的终端设备则向智能合约写入携带有待发送消息的消息上传请求,该消息上传请求用于触发智能合约将该待发送消息路由到该好友的终端设备的历史会话消息队列中,实现消息的离线发送。
进一步地,如图6所示,终端设备可以从本地加载目标用户的历史会话消息队列,并判断其中是否存在未发送消息,若该历史会话消息队列中存在未发送消息且终端设备已与该未发送消息的接收端之间建立通信连接,则通过该通信连接将该未发送消息发送给该接收端,实现消息的在线发送。
进一步地,若该历史会话消息队列中存在未发送消息且该终端设备未与该未发送消息的接收端之间建立通信连接,终端设备则向智能合约写入携带有该未发送消息的消息上传请求,该消息上传请求用于触发智能合约将该未发送消息路由到该接收端的历史会话消息队列中,实现消息的离线发送。
进一步地,终端设备还可以从区块链读取其他终端设备发送的离线消息。具体地,终端设备可以向智能合约写入携带有目标用户的身份信息的离线消息获取请求,该离线消息获取请求用于触发智能合约执行以下操作:根据该身份信息查询区块链,获取该目标用户待接收的离线消息,并将离线消息发送给终端设备。接着,终端设备将离线消息添加到目标用户对应的历史会话消息队列中。
实施场景二:文件传输
在一种可能的实现方式中,如图7所示,在目标用户的终端设备与其好友的终端设备建立起通信连接后,终端设备可以响应于目标用户输入的文件上传操作,将待上传的目标文件分发至分布式存储节点进行存储,并接收这些分布式存储节点返回的目标文件的存储索引信息。接着,终端设备通过该通信连接向好友的终端设备发送携带有该存储索引信息的文件消息,由好友终端设备根据该存储索引信息从这些分布式存储节点获取该目标文件。其中,目标文件的存储索引信息可以包括参与存储目标文件的分布式存储节点信息、下载路径信息等。
进一步地,终端设备也可以响应于接收到的文件消息,根据文件消息中的存储索引信息,从相关的分布式存储节点获取相应的文件。
值得说明的是,终端设备可通过IPFS***相应的DHT接口从相关的分布式存储节点获取相应的文件。其中,DHT接口可以例如包括用于获取分布式存储节点ID的接口FuncSelf()Peer.ID,用于连接该分布式存储节点到peer节点的接口Func Connect(peerPeerInfo)error,用于获取存储在分布式节点中的由key索引的值的接口Func GetKeyValue(key string)(val[]byte,error)等等。
进一步地,文件消息还包括文件的类型,终端设备在接收到文件消息后,先根据文件类型确定是否开启文件自动下载,若文件类型为多媒体文件或图片格式文件,则开启文件自动下载,即根据该文件的存储索引信息从相应的分布式存储节点获取该文件;若文件类型为除多媒体文件和图片格式文件以外的其他类型文件,则不开启文件自动下载,而是先输出下载提示信息以提示用户,并在接收到用户输入的确认下载指令时,根据该文件的存储索引信息从相应的分布式存储节点获取该文件。
其中,分布式存储节点对目标文件进行存储的具体方式以及终端设备从分布式存储节点根据存储索引信息获取目标文件的具体方式,属于本领域技术人员公知的,在本公开实施例中不再详细阐述。
实施场景三:群组管理
若目标用户为目标群组的管理员,则目标用户还可以通过即时通信客户端进行群组修改操作,例如包括但不限于:增加群成员、删除群成员、设置群管理员、屏蔽群成员消息、移除屏蔽群成员等。
在一种可能的实现方式中,如图8所示,终端设备响应于目标用户对目标群组的修改操作,根据修改操作信息生成相应的修改消息,并将修改消息发送给目标群组中的各个群成员。针对每一群成员,若终端设备已与该群成员的终端设备建立通信连接,终端设备则通过该通信连接将修改消息发送给该群成员的终端设备;若终端设备未与该群成员的终端设备建立通信连接,终端设备则向智能合约写入携带有修改消息的群消息上传请求,该群消息上传请求用于触发智能合约将该修改消息路由到该群成员的终端设备的历史会话消息队列。其中,修改消息可以包括目标用户的身份信息(如目标用户的用户名)、群成员的身份信息(如群成员的用户名)、目标用户的会话码以及修改操作信息等。
本公开实施例还提供一种终端设备,如图9所示,图9是根据一示例性实施例示出的一种终端设备的框图,该终端设备为区块链网络中的节点,该终端设备900包括:
第一发送模块901,用于将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;
第二发送模块902,用于在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;
第一写入模块903,用于向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:
根据所述注册码对所述目标用户进行验证;
在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息。
可选地,如图10所示,所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;
所述终端设备900还包括:
第二写入模块904,用于向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息;
获取模块905,用于根据所述存储索引哈希值从所述DHT节点获取所述好友的账户描述信息,所述账户描述信息包括所述好友的连接地址信息;
连接建立模块906,用于基于DHT协议或PubSub协议与所述好友终端设备建立通信连接,所述通信连接用于所述目标用户与所述好友进行即时通信。
可选地,如图10所示,所述终端设备900还包括:
第三发送模块907,用于若所述终端设备本地存储的历史会话消息队列中存在未发送消息且所述终端设备与所述未发送消息的接收端之间未建立所述通信连接,则向所述智能合约写入携带有所述未发送消息的消息上传请求,所述消息上传请求用于触发所述智能合约将所述未发送消息路由到所述接收端的历史会话消息队列。
可选地,如图10所示,所述终端设备900还包括:
第四写入模块908,用于向所述智能合约写入携带有所述目标用户的身份信息的离线消息获取请求,所述离线消息获取请求用于触发所述智能合约执行以下操作:根据所述身份信息查询所述区块链,获取所述目标用户待接收的离线消息并将所述离线消息发送给所述终端设备;
添加模块909,用于将所述离线消息添加到所述目标用户对应的历史会话消息队列。
可选地,如图10所示,所述终端设备900还包括:
第五发送模块910,用于将待上传的目标文件分发至所述分布式存储节点进行存储并接收所述分布式存储节点返回的所述目标文件的存储索引信息;
第六发送模块911,用于通过所述通信连接向所述好友终端设备发送携带有所述目标文件的存储索引信息的文件消息,所述文件消息用于所述好友终端设备根据所述目标文件的存储索引信息从所述分布式存储节点获取所述目标文件。
可选地,如图10所示,若所述目标用户为目标群组的管理员,则所述终端设备900还包括:
生成模块912,用于响应于所述目标用户对所述目标群组的修改操作,根据所述修改操作生成的修改消息;
第七发送模块913,用于对于所述目标群组中的每一群成员,若该群成员的终端设备已与所述目标用户的终端设备建立所述通信连接,则通过所述通信连接将所述修改消息发送给该群成员的终端设备,以及若该成员的终端设备未与所述目标用户的终端设备建立所述通信连接,则向所述智能合约写入携带有所述修改消息的群消息上传请求,所述群消息上传请求用于触发所述智能合约将所述修改消息路由到该成员终端设备的历史会话消息队列。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
采用上述终端设备,基于区块链智能合约技术实现用户注册功能,将用户的个人信息加密后分发至分布式存储节点进行存储,并将得到的存储索引信息写入区块链中,其利用了区块链的去中心化和不可篡改性,可以避免用户的个人信息被篡改。此外,用户的个人信息分散在各个分布式存储节点上,信息的传输直接在节点之间进行,无需中心化服务器介入,可以保证用户的个人信息不会被服务器提供商跟踪和泄露,进而保证了用户个人信息的安全性。
另外,通过DHT协议或PubSub协议在即时通信双方之间建立通信连接,基于该通信连接进行即时通信,可以使即时通信双方隐藏自己的真实身份和位置等信息,可以保护用户个人隐私,同时也不会被第三方服务供应商控制,保障即时通信的安全性。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法实施例提供的一种即时通信的实现方法的步骤。
本公开实施例还提供一种终端设备,该终端设备为区块链网络中的节点,该终端设备包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述方法实施例提供的一种即时通信的实现方法的步骤。
图11是该终端设备的一种结构示意图,如图11所示该终端设备1100可以包括:处理器1101,存储器1102。该终端设备1100还可以包括多媒体组件1103,输入/输出(I/O)接口1104,以及通信组件1105中的一者或多者。
其中,处理器1101用于控制该终端设备1100的整体操作,以完成上述的即时通信的实现方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在该终端设备1100的操作,这些数据例如可以包括用于在该终端设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该终端设备1100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,终端设备1100可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的即时通信的实现方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的即时通信的实现方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由终端设备1100的处理器1101执行以完成上述的即时通信的实现方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种即时通信的实现方法,其特征在于,应用于终端设备,所述终端设备为区块链网络中的节点,所述方法包括:
将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;
在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;
向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:
根据所述注册码对所述目标用户进行验证;
在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息;
所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;
所述方法还包括:
向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息,所述连接地址信息用于所述目标用户的终端设备与所述好友终端设备建立通信连接,所述通信连接用于所述目标用户与所述好友进行即时通信。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于分布式哈希表DHT协议或发布/订阅PubSub协议与所述好友终端设备建立通信连接。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述终端设备本地存储的历史会话消息队列中存在未发送消息且所述终端设备与所述未发送消息的接收端之间未建立所述通信连接,则向所述智能合约写入携带有所述未发送消息的消息上传请求,所述消息上传请求用于触发所述智能合约将所述未发送消息路由到所述接收端的历史会话消息队列。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述智能合约写入携带有所述目标用户的身份信息的离线消息获取请求,所述离线消息获取请求用于触发所述智能合约执行以下操作:根据所述身份信息查询所述区块链,获取所述目标用户待接收的离线消息并将所述离线消息发送给所述终端设备;
将所述离线消息添加到所述目标用户对应的历史会话消息队列。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将待上传的目标文件分发至所述分布式存储节点进行存储并接收所述分布式存储节点返回的所述目标文件的存储索引信息;
通过所述通信连接向所述好友终端设备发送携带有所述目标文件的存储索引信息的文件消息,所述文件消息用于所述好友终端设备根据所述目标文件的存储索引信息从所述分布式存储节点获取所述目标文件。
6.根据权利要求2所述的方法,其特征在于,若所述目标用户为目标群组的管理员,则所述方法还包括:
响应于所述目标用户对所述目标群组的修改操作,根据所述修改操作生成的修改消息;
对于所述目标群组中的每一群成员,若该群成员的终端设备已与所述目标用户的终端设备建立所述通信连接,则通过所述通信连接将所述修改消息发送给该群成员的终端设备;
若该成员的终端设备未与所述目标用户的终端设备建立所述通信连接,则向所述智能合约写入携带有所述修改消息的群消息上传请求,所述群消息上传请求用于触发所述智能合约将所述修改消息路由到该成员终端设备的历史会话消息队列。
7.一种终端设备,其特征在于,所述终端设备为区块链网络中的节点,所述终端设备包括:
第一发送模块,用于将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;
第二发送模块,用于在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;
第一写入模块,用于向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:
根据所述注册码对所述目标用户进行验证;
在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息;
所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;
所述终端设备还包括:
第二写入模块,用于向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息;
获取模块,用于根据存储索引哈希值从DHT节点获取所述好友的账户描述信息,所述账户描述信息包括所述好友的连接地址信息,所述连接地址信息用于所述目标用户的终端设备与所述好友终端设备建立通信连接,所述通信连接用于所述目标用户与所述好友进行即时通信。
8.根据权利要求7所述的终端设备,其特征在于,
连接建立模块,用于基于分布式哈希表DHT协议或发布/订阅PubSub协议与所述好友终端设备建立通信连接。
9.一种终端设备,其特征在于,所述终端设备为区块链中的区块链节点,所述终端设备包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
CN201910258788.9A 2019-04-01 2019-04-01 即时通信的实现方法,终端设备及存储介质 Active CN110035002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910258788.9A CN110035002B (zh) 2019-04-01 2019-04-01 即时通信的实现方法,终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910258788.9A CN110035002B (zh) 2019-04-01 2019-04-01 即时通信的实现方法,终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN110035002A CN110035002A (zh) 2019-07-19
CN110035002B true CN110035002B (zh) 2021-09-10

Family

ID=67237029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910258788.9A Active CN110035002B (zh) 2019-04-01 2019-04-01 即时通信的实现方法,终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN110035002B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611702B (zh) * 2019-08-29 2022-04-01 魏松杰 区块链的文件快速传输方法、设备、***及存储介质
CN111092805A (zh) * 2019-12-17 2020-05-01 北京众享比特科技有限公司 基于dht网络的即时通信方法、装置、设备和介质
CN111447236B (zh) * 2020-04-03 2023-02-10 安康鸿天科技股份有限公司 基于区块链的通信鉴权方法、装置、终端设备和存储介质
CN113691437B (zh) * 2020-05-18 2023-04-18 山东浪潮质量链科技有限公司 一种基于区块链的即时通讯方法、设备及介质
CN111865972B (zh) * 2020-07-17 2022-08-16 西安工业大学 一种匿名通信方法与***
CN112055025B (zh) * 2020-09-10 2021-06-22 广西师范大学 一种基于区块链的隐私数据保护方法
CN112232759A (zh) * 2020-09-27 2021-01-15 广西绿能电力勘察设计有限公司 一种基建信息互联***及方法
CN112417502B (zh) * 2020-11-18 2022-03-18 中国电子科技集团公司第三十研究所 基于区块链、去中心化部署的分布式即时通讯***及方法
CN113364666B (zh) * 2021-05-25 2022-06-28 杭州复杂美科技有限公司 即时通讯方法、计算机设备和存储介质
CN113556362B (zh) * 2021-09-13 2023-02-14 广州市悦智计算机有限公司 基于区块链智能合约的加密会话建立及维持方法
CN114726545B (zh) * 2022-03-02 2024-06-25 广州市悦智计算机有限公司 一种基于区块链去中心化群组加密会话维持方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967416A (zh) * 2016-10-19 2018-04-27 华为技术有限公司 版权维权检测的方法、装置和***
CN108235805A (zh) * 2017-12-29 2018-06-29 深圳前海达闼云端智能科技有限公司 账户统一方法、装置及存储介质
CN108881354A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 一种推送信息存储方法、装置、服务器和计算机存储介质
CN109245993A (zh) * 2018-09-07 2019-01-18 中链科技有限公司 基于区块链的即时通讯方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376220B (zh) * 2011-11-30 2019-09-17 阿里巴巴集团控股有限公司 一种业务实现方法、***以及服务器
US9985964B2 (en) * 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967416A (zh) * 2016-10-19 2018-04-27 华为技术有限公司 版权维权检测的方法、装置和***
CN108881354A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 一种推送信息存储方法、装置、服务器和计算机存储介质
CN108235805A (zh) * 2017-12-29 2018-06-29 深圳前海达闼云端智能科技有限公司 账户统一方法、装置及存储介质
CN109245993A (zh) * 2018-09-07 2019-01-18 中链科技有限公司 基于区块链的即时通讯方法及装置

Also Published As

Publication number Publication date
CN110035002A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110035002B (zh) 即时通信的实现方法,终端设备及存储介质
US10505737B1 (en) System and method for blockchain-based consent and campaign management
US9807067B1 (en) Decentralized authoritative messaging
US10063547B2 (en) Authorization authentication method and apparatus
JP6093102B1 (ja) 認証システム、ならびに、プログラム
CN109168156B (zh) 一种虚拟sim卡的实现方法、***、介质、计算机程序产品及服务器
Choi et al. Digital forensic analysis of encrypted database files in instant messaging applications on Windows operating systems: Case study with KakaoTalk, NateOn and QQ messenger
KR102079892B1 (ko) 비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리
CN111742531B (zh) 简档信息共享
US11412026B2 (en) Method for communication among a plurality of users provided with communication terminals, via a virtual communication space
CN108337210A (zh) 设备配置方法及装置、***
US20150244664A1 (en) Enterprise messaging platform
US20130244622A1 (en) Method and System for Transferring Mobile Device Contact Information
WO2017083853A1 (en) System and method for providing secure and anonymous device-to-device communication
US20110196953A1 (en) Contact manager method and system
JP2006155108A (ja) 利用者仮識別子を用いるネットワークサービスシステム
JP2005267433A (ja) 利用者仮識別子を用いるネットワークサービスシステム
CN110971506B (zh) 一种去中心化实时集群通讯方法、装置、设备及***
US10798047B2 (en) Systems, devices and methods for text message communication
CN115086352A (zh) 区块链事件处理方法及相关装置、平台和存储介质
CN108809807B (zh) 在异类***中创建通信会话
US11743356B2 (en) Email notification system
CN112241544B (zh) 业务***、访问方法、装置、计算机设备和存储介质
EP2294780B1 (en) A method for masking data
CN114828000B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210315

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.