基于云存储的即时消息通信方法与流程

文档序号:17757517发布日期:2019-05-24 21:25阅读:393来源:国知局
基于云存储的即时消息通信方法与流程

本发明属于即时消息通讯技术领域,特别是涉及基于云存储的即时消息通信方法。



背景技术:

即时通信过程中:源客户端与socks5与socks5代理服务器建立连接,连接建立后源客户端向代理服务器发送代理请求消息,代理服务器确定能够进行代理时向源客户端发送代理响应消息,源客户端则可以将信息发送给代理服务器,由代理服务器将字节流格式的文件转发给目的客户端,而socks5代理服务器直接发送待发送信息的字节流,未对待发送信息进行安全处理,因此,不能保证信息传输过程中的安全性。

本发明发明一种基于云存储的即时消息通信方法,通过云服务器根据源客户端id和目标客户端id动态生成加密密钥,提高信息传递的安全性。



技术实现要素:

本发明的目的在于提供基于云存储的即时消息通信方法,通过服务器根据源客户端id和目标客户端id动态生成加密密钥并分别传递加密密钥至源客户端和目标客户端,保证了信息传递过程的安全性,解决了现有即时通信过程中信息传递安全性低的问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为基于云存储的即时消息通信方法,包括如下步骤:

s00:源客户端想云服务器发送连接请求消息;

s01:所述云服务器向目标客户端发送连接知会消息后向源客户端发送请求应答消息;

其中,所述连接知会消息包括加密密钥和源客户端id;所述请求应答消息包括源客户端id和目标客户端id;

s02:所述源客户端对待发送信息编码,并对编码后的待发送信息加密获取加密后的待发送信息;

s03:所述源客户端向云服务器发送即时消息请求信息;

其中,所述即时消息请求信息包括加密后的待发送信息、目标客户端id;

s04:所述云服务器根据目标客户端id将所述即时消息请求信息发送至目的客户端;

s05:所述目标客户端根据加密密钥对加密后的即时消息请求信息解密;

s06:所述目标客户端对解密后的即时消息请求信息解码获取待发送信息。

优选地,所述云服务器采用加密算法根据源客户端id和目标客户端id产生加密密钥。

优选地,s01中所述云服务器向目标客户端发送连接知会消息后还包括如下过程:

所述目标客户端接收到连接知会消息后,向云服务器发送知会应答消息;所述云服务器接收到知会应答消息后想源客户端发送请求应答消息。

优选地,所述云服务器接收所述连接请求消息,并经判断获知线程池中存在空闲线程,则为源客户端分配一个空闲线程,并通过云服务器分配的空闲线程建立与源客户端的连接。

优选地,所述云服务器经判断获知所述线程池中不存在空闲线程,则判断所述线程池中的线程的数目是否达到设定值;所述云服务器若判断获知所述线程池中的线程的数目未达到设定值,则创建新线程,并通过创建的新线程建立与源客户端的连接。

优选地,所述云服务器若判断获知所述线程池中的线程的数目达到设定值,则将所述源客户端进入等待队列中,并通过轮询方式判断是否存在释放的空闲线程;所述云服务器若判断获知存在释放的空闲线程,则通过所述释放的空闲线程建立与所述源客户端的连接。

本发明具有以下有益效果:

本发明通过服务器根据源客户端id和目标客户端id动态生成加密密钥并分别传递加密密钥至源客户端和目标客户端;由于加密密钥通过加密算法根据源客户端id和目标客户端id动态生成,因此当某一条信息的安全性破坏并不影响云服务器对其他信息的安全性,保证了信息传递过程的安全性。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的基于云存储的即时消息通信方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为基于云存储的即时消息通信方法,包括如下步骤:

s00:源客户端想云服务器发送连接请求消息;

s01:云服务器向目标客户端发送连接知会消息后向源客户端发送请求应答消息;

其中,连接知会消息包括加密密钥和源客户端id;请求应答消息包括源客户端id和目标客户端id;

s02:源客户端对待发送信息编码,并对编码后的待发送信息加密获取加密后的待发送信息;

s03:源客户端向云服务器发送即时消息请求信息;

其中,即时消息请求信息包括加密后的待发送信息、目标客户端id;

s04:云服务器根据目标客户端id将即时消息请求信息发送至目的客户端;

s05:目标客户端根据加密密钥对加密后的即时消息请求信息解密;

s06:目标客户端对解密后的即时消息请求信息解码获取待发送信息。

其中,云服务器采用加密算法根据源客户端id和目标客户端id产生加密密钥,由于云服务器根据源客户端id和目标客户端id动态产生加密米密钥用于源客户端与目标客户端的信息加密,既保证了即时通信的安全性;同时当源客户端与目标客户端间的通信被泄露,也不会导致其他即时通信两端的信息泄露;同时这个加密密钥在通讯连接过程完成,不会产生过多的时间开销和存储开销。

其中,s01中云服务器向目标客户端发送连接知会消息后还包括如下过程:

目标客户端接收到连接知会消息后,向云服务器发送知会应答消息;云服务器接收到知会应答消息后想源客户端发送请求应答消息。

其中,云服务器接收连接请求消息,并经判断获知线程池中存在空闲线程,则为源客户端分配一个空闲线程,并通过云服务器分配的空闲线程建立与源客户端的连接。

其中,云服务器经判断获知线程池中不存在空闲线程,则判断线程池中的线程的数目是否达到设定值;云服务器若判断获知线程池中的线程的数目未达到设定值,则创建新线程,并通过创建的新线程建立与源客户端的连接。

其中,云服务器若判断获知线程池中的线程的数目达到设定值,则将源客户端进入等待队列中,并通过轮询方式判断是否存在释放的空闲线程;云服务器若判断获知存在释放的空闲线程,则通过释放的空闲线程建立与源客户端的连接。

本发明在实际使用过程中,源客户端向目标客户端发送的即时消息前;首先源客户端向云服务器发送包含源客户端id和目标客户端id的的请求连接消息;当云服务端接收请求连接消息后,云服务端采用加密算法根据源客户端id和目标客户端id产生加密密钥;云服务器通过向目标客户端发送包含加密密钥的连接知会消息向目标客户端传递加密密钥;目标客户端接收到连接指挥信息后,会向云服务端返回知会应答;云服务器接收到知会应答后,向源客户端发送请求应答消息。

源客户端与目标客户端消息传递连接完成后,源客户端对待发送信息编码,并对编码后的待发送信息加密获取加密后的待发送信息;源客户端向云服务器发送包含加密后的待发送信息、目标客户端id的即时消息请求信息;云服务器根据目标客户端id将即时消息请求信息发送至目的客户端;目标客户端根据加密密钥对加密后的即时消息请求信息解密;目标客户端对解密后的即时消息请求信息解码获取待发送信息。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1