即时通信的实现方法,终端设备及存储介质与流程

文档序号:18226641发布日期:2019-07-19 23:30阅读:174来源:国知局
本公开涉及通信
技术领域
:,具体地,涉及一种即时通信的实现方法,终端设备及存储介质。
背景技术
::即时通信工具与人们的日常生活几乎形影不离,人们可通过即时通信工具建立社交关系以及完成诸如网上购物、支付账单等生活服务。现有的即时通信方式需要中心化服务器参与,通信各方的个人信息等存储在该中心化服务器中,由该中心化服务器的提供商管理。然而,这种即时通信方式可能导致用户的个人信息被篡改或泄露,存在极大的安全隐患。技术实现要素:本公开的主要目的是提供一种即时通信的实现方法,终端设备及存储介质,用以解决现有的即时通信方式存在用户个人信息被篡改和泄露的问题。为了实现上述目的,根据本公开实施例的第一方面,提供一种即时通信的实现方法,应用于终端设备,所述终端设备为区块链网络中的节点,所述方法包括:将待注册的目标用户的身份信息发送给所述区块链网络中的管理员节点,所述身份信息用于所述管理员节点对所述目标用户进行合法性验证并在确认所述目标用户合法后向区块链中部署的智能合约写入登记请求,所述登记请求用于触发所述智能合约向所述终端设备发送携带有注册码的验证成功消息;在接收到所述验证成功消息后,将所述目标用户的个人信息加密后分发至分布式存储节点进行存储,并接收所述分布式存储节点返回的存储索引信息;向所述智能合约写入包括所述注册码和所述存储索引信息的注册请求,所述注册请求用于触发所述智能合约执行以下操作:根据所述注册码对所述目标用户进行验证;在确定所述目标用户通过验证后,将所述存储索引信息写入所述区块链中并向所述终端设备返回注册成功消息。可选地,所述注册请求还包括所述终端设备的连接地址信息,所述操作还包括将所述终端设备的连接地址信息写入所述区块链中;所述方法还包括:向所述智能合约写入携带有所述目标用户好友的身份信息的信息获取请求,所述信息获取请求用于触发所述智能合约根据所述好友的身份信息从所述区块链中读取所述好友的连接地址信息;基于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构成星际文件系统(interplanetaryfilesystem,ipfs)300。可选地,分布式存储节点120可以采用分布式哈希表(distributedhashtable,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节点的接口funcconnect(peerpeerinfo)error,用于获取存储在分布式节点中的由key索引的值的接口funcgetkeyvalue(keystring)(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可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该终端设备1100与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件1105可以包括:wi-fi模块,蓝牙模块,nfc模块。在一示例性实施例中,终端设备1100可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的即时通信的实现方法。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的即时通信的实现方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由终端设备1100的处理器1101执行以完成上述的即时通信的实现方法。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1