【技术实现步骤摘要】
通信方法、装置以及网关、计算设备和介质
本公开涉及互联网
,更具体地,涉及一种通信方法、装置以及网关、计算设备和介质。
技术介绍
中国互联网络信息中心(CNNIC)在2017年统计宣布,中国网民规模已达到7亿多。这意味着互联网已融入大众生活的方方面面,越来越多的传统企业需要给他们的客户提供线上(即互联网)服务。但是大多传统企业不具备互联网服务建设能力,因此,需要第三方机构提供建设服务。随着传统企业纷纷寻求线上的服务能力,也催生出巨大的市场。各大互联网公司开始提供软件即服务(Software-as-a-service,简称Saas)来帮助传统企业提供线上的服务能力。Saas服务提供商直接将客户的需求建设完成并提供给客户(传统企业)的客户以便使用,同时Saas服务商继续提供维护和升级服务。在Saas技术实现上,成熟的架构是包含一个或多个后端服务进行组合提供服务的应用及在这些应用之前作为代理的统一网关。同时,将这些提供服务的应用和网关进行打包,组成某一个行业的解决方案。如电商行业的Saas解决方案、新闻行业的 ...
【技术保护点】
1.一种通信方法,应用于网关,所述方法包括:/n接收来自客户端的连接请求;/n响应于所述连接请求,建立所述客户端与服务端的长连接;以及对所述长连接进行过期清理。/n
【技术特征摘要】
1.一种通信方法,应用于网关,所述方法包括:
接收来自客户端的连接请求;
响应于所述连接请求,建立所述客户端与服务端的长连接;以及对所述长连接进行过期清理。
2.根据权利要求1所述的方法,其中,所述长连接为多路复用的长连接。
3.根据权利要求1所述的方法,其中,所述响应于所述连接请求,建立所述客户端与服务端的长连接包括:
获取连接请求中的域名和请求路径;
如果所述域名未在异步线程池中加载,则根据所述域名和所述请求路径获取远程过程调用标识;
利用所述远程过程调用标识将连接请求传送给所述远程过程调用标识对应的后端服务以建立长连接;
使用异步线程池执行该域名的预加载。
4.根据权利要求3所述的方法,所述使用异步线程池执行该域名的预加载,包括:
如果所述域名未在异步线程池中加载,则获取所述域名对应的所有后端服务列表;以及
如果所述域名对应的所有后端服务列表中的至少一个后端服务未建立长连接,则对所述至少一个后端服务建立长连接。
5.根据权利要求3所述的方法,还包括:
在获取连接请求中的域名和请求路径的同时或之后,获取连接请求中的请求资源;以及
如果所述域名已在异步线程池中加载,则根据域名和请求路径获取远程过程调用调用器,并利用所述远程过程调用调用器和远程过程调用标识将请求资源请求传送给所述远程过程调用标识对应的后端服务。
6.根据权利要求1所述的方法,其中,所述过期清理包括以下任意一种或多种:
根据长连接数量进行清理、根据长连接使用次数进行清理或者根据长连接最后一次访问时间进行清理。
7.根据权利要求6所述的方法,其中,所述根据长连接数量进行清理包括:
获取保持的所有长连接;
根据长连接保持数量阈值和长连接清理比例得到清理容量;
对保持的所有长连接根据创建时间进行排序;以及
对排序后的长连接进行遍历移除直至移除的长连接个数达到所述长连接保持数量阈值与所述清理容量的差值。
8.根据权利要求6所述的方法,其中,所述根据长连接使用次数进行清理包括,对于保持的每个长连接:
如果按照时间间隔的清理策略进行过期清理,则当前时间点和最后一次进行过期清理的时间点之间的第一差值大于第一时长阈值、且长连接使用次数小于设定销毁阈值时,销毁长连接;
如果不按照时间间隔的清理策略进行过期清理,则当长连接使用次数小于设定销毁阈值时,销毁长连接;以及
如果长连接使用次数大于等于设定销毁阈值时,将当前时间点作为该长连接的最后一次进行过期清理的时间点。
9.根据权利要求6所述的方法,其中,所述根据长连接最后一次访问时间进行清理包括,对于保持的每个长连接:
获取当前时间点和最后一次访问的时间点之间的第二差值;以及如果所述第二差值大于第二时长阈值,则销毁长连接。
10.一种通信方法,所述方法包括:
对于已建立并保持的长连接,进行长连接持久化,得到长连接持久化文件,所述长连接在过期时将被清理;以及
在应用重启之后,利用所述长连接持久化文件进行长连接恢复。
11.根据权利要求10所述的方法,其中,所述进行长连接持久化,得到长连接持久化文件包括:
获取当前时间点和最后一次持久化的时间点之间的第三差值;
如果所述第三差值大于第三时长阈值,则对所有的长连接进行备份形成第一持久化文件;
如果存在原有持久化文件,则对所述原有持久化文件进行备份,得到备份持久化文件;以及
利用所述第一持久化文件代替所述原有持久化文件进行存储,如果存储失败则将所述备份持久化文件作为所述持久化文件,否则将所述第一持久化文件作为所述持久化文件。
12.根据权利要求10所述的方法,其中,所述利用所述长连接持久化文件进行长连接恢复包括:
如果指定的持久化文件路径存在持久化文件,则根据长连接使用次数和长连接最后一次访问时间对所述持久化文件中的长连接进行清理,得到第二持久化文件;以及
如果所述第二持久化文件中包含的长连接数量小于等于长连接数量阈值,则根据所述持久化文件创建长连接。
13.一种通信装置,包括:
请求接收模块,用于接收来自客户端的连接请求;
长连接建立模块,用于响应于所述连接请求,建立所述客户端与服务端的长连接;以及;以及
过期清理模块,用于对所述长连接进行过期清理。
14.根据权利要求13所述的装置,其中,所述长连接建立模块包括:
第一获取单元,用于获取连接请求中的域名、请求路径和请求资源;
第二获取单元,用于如果所述域名未在异步线程池中加载,则根据所述域名和所述请求路径获取远程过程调用标识;
第一创建单...
【专利技术属性】
技术研发人员:潘新宇,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。