一种协议配置方法、装置、设备及可读存储介质与流程

文档序号:19281717发布日期:2019-11-29 23:00阅读:189来源:国知局
一种协议配置方法、装置、设备及可读存储介质与流程

本申请涉及计算机技术领域,特别涉及一种协议配置方法、装置、设备及可读存储介质。



背景技术:

在现有技术中,一个web服务端可以为多个客户端提供服务,不同客户端所需的服务需求可能有所不同。例如:使用客户端1的用户对于数据安全性的要求较高,要求web服务端可以对数据进行加密传输,以提高数据安全性;使用客户端2的用户对于数据及时性的要求较高,要求web服务端可以降低数据传输和处理的延时。

但是,一个web服务端往往仅配置一种传输协议,无法为不同要求的用户提供服务,也无法满足不同用户的需求,从而降低了用户体验和web服务端的灵活性、可配置性以及可扩展性。

因此,如何提高web服务端的灵活性、可配置性以及可扩展性,是本领域技术人员需要解决的问题。



技术实现要素:

有鉴于此,本申请的目的在于提供一种协议配置方法、装置、设备及可读存储介质,以提高web服务端的灵活性、可配置性以及可扩展性。其具体方案如下:

第一方面,本申请提供了一种协议配置方法,包括:

接收用户基于客户端发送的https协议的目标证书;

若服务端当前已配置http协议,则存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;

将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。

优选地,接收用户基于客户端发送的https协议的目标证书之后,还包括:

若服务端当前已配置https协议,则判断服务端存储的https协议的历史证书与目标证书是否一致;

若否,则将历史证书更新为目标证书,利用目标证书激活https协议,并更新内存中存储的协议数据。

优选地,接收用户基于客户端发送的https协议的目标证书之前,还包括:

若检测到客户端登录,则判断服务端当前配置的协议类型;

若协议类型为https协议,则将https协议对应的协议数据存储至内存。

优选地,还包括:

若协议类型为http协议,则将http协议对应的协议数据存储至内存。

优选地,还包括:

接收用户基于客户端发送的删除目标证书的请求;

根据请求删除目标证书;

激活http协议,开放http协议端口,并禁用https协议端口;

将内存中存储的协议数据更新为http协议对应的协议数据,以在服务端配置http协议。

优选地,接收用户基于客户端发送的删除目标证书的请求之前,还包括:

客户端根据用户输入的指令生成请求,利用servlet过滤器拦截请求,并利用反向代理对请求的url进行转换;将转换后的请求发送至服务端。

优选地,还包括:

按照预设周期查询服务端配置的协议类型;

判断查询到的协议类型和内存中存储的协议数据是否一致;

若否,则根据查询到的协议类型更新内存中存储的协议数据。

第二方面,本申请提供了一种协议配置装置,包括:

接收模块,用于接收用户基于客户端发送的https协议的目标证书;

配置模块,用于若服务端当前已配置http协议,则存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;

存储模块,用于将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。

第三方面,本申请提供了一种协议配置设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现前述公开的协议配置方法。

第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的协议配置方法。

通过以上方案可知,本申请提供了一种协议配置方法,包括:接收用户基于客户端发送的https协议的目标证书;若服务端当前已配置http协议,则存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。

可见,所述方法可以根据用户基于客户端发送的https协议的目标证书将服务端已配置的http协议更改为https协议,从而实现灵活调整服务端所配置的传输协议的目的。具体的,若服务端当前已配置http协议,则当服务端收到https协议的目标证书,则意味着用户想要使用https协议,那么服务端存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议,如此则可根据客户端的操作完成https协议的配置。同时,https协议证书的安全性高低不一,用户可基于客户端灵活发送想要使用的证书,如此可确保数据传输要求符合用户的实际需求。本申请能够实现服务端传输协议的灵活配置和https协议证书的灵活使用,从而提高了服务端的灵活性、可配置性以及可扩展性。

相应地,本申请提供的一种协议配置装置、设备及可读存储介质,也同样具有上述技术效果。

附图说明

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

图1为本申请公开的第一种协议配置方法流程图;

图2为本申请公开的第二种协议配置方法流程图;

图3为本申请公开的第三种协议配置方法流程图;

图4为本申请公开的一种协议配置装置示意图;

图5为本申请公开的一种协议配置设备示意图;

图6为本申请公开的一种协议配置系统示意图。

具体实施方式

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

目前,一个web服务端往往仅配置一种传输协议,无法为不同要求的用户提供服务,无法满足不同用户的需求,从而降低了用户体验和web服务端的灵活性、可配置性以及可扩展性。为此,本申请提供了一种协议配置方案,能够提高服务端的灵活性、可配置性以及可扩展性。

参见图1所示,本申请实施例公开了第一种协议配置方法,包括:

s101、接收用户基于客户端发送的https协议的目标证书;

其中,目标证书可以是用户自签名的证书,还可以是ca(certificateauthority,证书颁发机构)颁发的证书。需要说明的是,自签名的证书安全性不及ca颁发的证书安全性高,使用ca颁发的证书需要缴纳相应的费用。若用户对数据安全性要求较高,那么用户可向ca申请https协议的证书;若用户对数据安全性要求一般,那么用户可利用现有签名算法自行制作证书。https协议的证书中包括密钥等信息。

s102、若服务端当前已配置http协议,则存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;

s103、将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。

其中,http协议(即hypertexttransferprotocol,超文本传输协议)是一种网络传输协议,所有的www文件都遵守此传输协议。https协议(即securehypertexttransferprotocol,安全超文本传输协议)是以安全为目标的http通道,也就是http的安全版。即http下加入ssl(securesocketlayer,安全套接字)层,https的安全基础是ssl,因此加密的详细内容就需要ssl。

在一种具体实施方式中,可利用session或cookie在内存中存储协议数据,协议数据可以为https协议或http协议的标识信息;当服务端配置https协议时,协议数据中还可以包括与https协议证书相关的信息。需要说明的是,由于https协议对应有证书,因此在本申请中,https协议的证书对应的协议数据也就是https协议对应的协议数据。

由于一个服务端会同时为多个客户端提供服务,而多个客户端基于不同需求更改服务端的传输协议,容易造成服务端当前配置的协议与内存中的协议数据不一致。因此为了使服务端当前配置的协议类型与内存中存储的协议数据一致,可以采用轮询机制进行查询。具体的,还包括:按照预设周期查询服务端配置的协议类型;判断查询到的协议类型和内存中存储的协议数据是否一致;若否,则根据查询到的协议类型更新内存中存储的协议数据。当查询到的协议类型为https协议,而内存中存储的协议数据却与http协议对应,也就是查询到的协议类型和内存中存储的协议数据不一致,为了保持一致,则将内存中存储的协议数据更新为https协议对应的协议数据。当查询到的协议类型为http协议,而内存中存储的协议数据却与https协议对应,也就是查询到的协议类型和内存中存储的协议数据不一致,为了保持一致,则将内存中存储的协议数据更新为http协议对应的协议数据。

其中,当不同客户端都使用https协议,但使用的https协议证书不同时,轮询机制也可以保证内存中协议数据和当前使用协议的一致性。

可见,本实施例可以根据用户基于客户端发送的https协议的目标证书将服务端已配置的http协议更改为https协议,从而实现灵活调整服务端所配置的传输协议的目的。具体的,若服务端当前已配置http协议,则当服务端收到https协议的目标证书,则意味着用户想要使用https协议,那么服务端存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议,如此则可根据客户端的操作完成https协议的配置。同时,https协议证书的安全性高低不一,用户可基于客户端灵活发送想要使用的证书,如此可确保数据传输要求符合用户的实际需求。本申请能够实现服务端传输协议的灵活配置和https协议证书的灵活使用,从而提高了服务端的灵活性、可配置性以及可扩展性。

参见图2所示,本申请实施例公开了第二种协议配置方法,包括:

s201、接收用户基于客户端发送的https协议的目标证书;

s202、判断服务端当前配置的协议类型;若服务端当前已配置http协议,则执行s203;若服务端当前已配置https协议,则执行s205;

s203、存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口,并执行s204;

s204、将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议;

s205、判断服务端存储的https协议的历史证书与目标证书是否一致;若是,则无操作;若否,则执行s206;

s206、将历史证书更新为目标证书,利用目标证书激活https协议,并更新内存中存储的协议数据。

若服务端存储的https协议的历史证书与目标证书一致,可以向客户端返回目标证书已存在的提示信息并展示,以便用户修正在客户端的操作,如:重新选择证书发送至服务端。

在本实施例中,服务端可以监听证书的接收事件,当监听到证书接收事件,则根据服务端当前配置的协议类型确定相应的执行步骤,从而完成相应的协议配置。当然,本实施例中的https协议和http协议还可以是其他传输协议(如tcp协议、udp协议等),同时相应的协议端口也就是与其他传输协议对应的协议端口。

其中,服务端可以默认配置http协议,当监听到证书接收事件,则按照相应的执行步骤将http协议更改为https协议。当用户删除https协议证书时,按照相应的执行步骤将https协议更改为http协议。

需要说明的是,本实施例中的其他实现步骤与上述实施例相同或类似,故本实施例在此不再赘述。

由上可见,本实施例可以根据用户基于客户端发送的https协议的目标证书将服务端已配置的http协议更改为https协议,从而实现灵活调整服务端所配置的传输协议的目的。具体的,若服务端当前已配置http协议,则当服务端收到https协议的目标证书,则意味着用户想要使用https协议,那么服务端存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议,如此则可根据客户端的操作完成https协议的配置。同时,https协议证书的安全性高低不一,用户可基于客户端灵活发送想要使用的证书,如此可确保数据传输要求符合用户的实际需求。本申请能够实现服务端传输协议的灵活配置和https协议证书的灵活使用,从而提高了服务端的灵活性、可配置性以及可扩展性。

参见图3所示,本申请实施例公开了第三种协议配置方法,包括:

s301、检测客户端是否登录;若是,则执行s302;若否,则无操作;

s302、判断服务端当前配置的协议类型;若协议类型为https协议,则执行s303;若协议类型为http协议,则执行s304;

s303、将https协议对应的协议数据存储至内存,并执行s305;

s304、将http协议对应的协议数据存储至内存,并执行s305;

具体的,协议类型至少包括:http协议和https协议。

判断服务端当前配置的协议类型,包括:判断当前服务端是否存在激活状态的http协议证书;若存在,则表明服务端当前配置的协议为https协议,那么将https协议对应的协议数据存储至内存,以供调用。若不存在,则表明服务端当前配置的协议为http协议,那么将http协议对应的协议数据存储至内存,以供调用。其中,可以利用session或cookie在内存中存储协议数据,以避免每次进行状态查询时影响web响应速度。本实施例中的服务端为web服务端。

当然,服务端还可以监听协议端口的状态,以确定当前服务端当前配置的协议类型,以及协议类型的更改。协议端口的状态至少包括:开放和禁用。

s305、接收用户基于客户端发送的https协议的目标证书;

s306、判断服务端当前配置的协议类型;若服务端当前已配置http协议,则执行s307;若服务端当前已配置https协议,则执行s309;

s307、存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口,并执行s308;

s308、将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议;

s309、判断服务端存储的历史证书与目标证书是否一致;若是,则无操作;若否,则执行s310;

s310、将历史证书更新为目标证书,利用目标证书激活https协议,并更新内存中存储的协议数据。

当用户想要将服务端配置的https协议更改为http协议时,可以基于客户端发送删除https协议证书的请求,那么服务端可基于该请求完成协议更改。服务端将https协议更改为http协议的具体过程包括:接收用户基于客户端发送的删除目标证书的请求;根据请求删除目标证书;激活http协议,开放http协议端口,并禁用https协议端口;将内存中存储的协议数据更新为http协议对应的协议数据,以在服务端配置http协议。

需要说明的是,由于https协议在传输数据时需要进行安全认证,而http协议无需进行安全认证,因此无法设置固定的安全认证程序,若设置固定的安全认证程序,http协议就无法正常传输数据。为了实现这二者的自由切换,当客户端想利用https协议传输数据时,客户端可设置反向代理,那么在客户端生成请求,并利用servlet过滤器拦截请求时,可以利用反向代理对请求的url进行转换;从而将转换后的请求发送至服务端,如此实现跨域访问。具体的,在进行url转换时,可从内存中获取当前配置的https协议的协议数据,以进行url拼接,此时的url拼接主要包括协议、ip地址及方法和参数的拼接。

例如:接收用户基于客户端发送的删除目标证书的请求之前,还包括:客户端根据用户输入的指令生成请求,利用servlet过滤器拦截请求,并利用反向代理对请求的url进行转换;将转换后的请求发送至服务端。具体请参见图6,图6为本申请公开的一种协议配置系统示意图。在图6中,该系统包括:服务端和客户端。

其中,servlet过滤器可实现请求与请求处理逻辑的分离,从而提高可扩展性和灵活性。具体的servlet过滤器可参见现有技术,本实施例在此不再赘述。

需要说明的是,本实施例中的其他实现步骤与上述实施例相同或类似,故本实施例在此不再赘述。

由上可见,本实施例可以根据用户基于客户端发送的https协议的目标证书将服务端已配置的http协议更改为https协议,从而实现灵活调整服务端所配置的传输协议的目的。具体的,若服务端当前已配置http协议,则当服务端收到https协议的目标证书,则意味着用户想要使用https协议,那么服务端存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议,如此则可根据客户端的操作完成https协议的配置。同时,https协议证书的安全性高低不一,用户可基于客户端灵活发送想要使用的证书,如此可确保数据传输要求符合用户的实际需求。本申请能够实现服务端传输协议的灵活配置和https协议证书的灵活使用,从而提高了服务端的灵活性、可配置性以及可扩展性。

下面对本申请实施例提供的一种协议配置装置进行介绍,下文描述的一种协议配置装置与上文描述的一种协议配置方法可以相互参照。

参见图4所示,本申请实施例公开了一种协议配置装置,包括:

接收模块401,用于接收用户基于客户端发送的https协议的目标证书;

配置模块402,用于若服务端当前已配置http协议,则存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;

存储模块403,用于将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。

在一种具体实施方式中,还包括:

第一判断模块,用于若服务端当前已配置https协议,则判断服务端存储的https协议的历史证书与目标证书是否一致;

第一更新模块,用于若服务端存储的https协议的历史证书与目标证书不一致,则将历史证书更新为目标证书,利用目标证书激活https协议,并更新内存中存储的协议数据。

在一种具体实施方式中,还包括:

第二判断模块,用于若检测到客户端登录,则判断服务端当前配置的协议类型;

第一执行模块,用于若协议类型为https协议,则将https协议对应的协议数据存储至内存。

在一种具体实施方式中,还包括:

第二执行模块,用于若协议类型为http协议,则将http协议对应的协议数据存储至内存。

在一种具体实施方式中,还包括:

删除请求接收模块,用于接收用户基于客户端发送的删除目标证书的请求;

删除模块,用于根据请求删除目标证书;

第三执行模块,用于激活http协议,开放http协议端口,并禁用https协议端口;

第二更新模块,用于将内存中存储的协议数据更新为http协议对应的协议数据,以在服务端配置http协议。

在一种具体实施方式中,还包括:客户端请求处理模块,客户端请求处理模块具体用于:

根据用户输入的指令生成请求,利用servlet过滤器拦截请求,并利用反向代理对请求的url进行转换;将转换后的请求发送至服务端。

在一种具体实施方式中,还包括:

查询模块,用于按照预设周期查询服务端配置的协议类型;

第三判断模块,用于判断查询到的协议类型和内存中存储的协议数据是否一致;

第三更新模块,用于若查询到的协议类型和内存中存储的协议数据不一致,则根据查询到的协议类型更新内存中存储的协议数据。

其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

可见,本实施例提供了一种协议配置装置,包括:接收模块、配置模块以及存储模块。首先由接收模块接收用户基于客户端发送的https协议的目标证书;若服务端当前已配置http协议,则配置模块存储目标证书,并利用目标证书激活https协议;开放https协议端口,并禁用http协议端口;然后存储模块将https协议对应的协议数据存储至服务端的内存,以在服务端配置https协议。如此各个模块之间分工合作,各司其职,从而提高了服务端的灵活性、可配置性以及可扩展性。

下面对本申请实施例提供的一种协议配置设备进行介绍,下文描述的一种协议配置设备与上文描述的一种协议配置方法及装置可以相互参照。

参见图5所示,本申请实施例公开了一种协议配置设备,包括:

存储器501,用于保存计算机程序;

处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。

下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种协议配置方法、装置及设备可以相互参照。

一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的协议配置方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。

需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的可读存储介质中。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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