一种优化Presence信息负载的方法技术

技术编号:20014123 阅读:36 留言:0更新日期:2019-01-05 22:24
本发明专利技术提供了一种降低微服务Presence信息负载的方法,包括:选取REST协议作为微服务器消息传输的承载协议;设定用户在与微服务器进行消息传输结束前的Presence信息状态不变;计算消息传输时间;当用户客户端Presence信息状态发生变化时主动向微服务器汇报;对消息传输中的Presence信息进行维护。通过该方法可以实现基于对Presence信息传输的负载优化从而实现高效的信息传输。

A Method of Optimizing Presence Information Load

The invention provides a method for reducing the information load of Presence, which includes: selecting REST protocol as the bearer protocol of message transmission of micro-server; setting the Presence information status of users unchanged before the end of message transmission with micro-server; calculating the message transmission time; initiatively reporting to micro-server when the Presence information status of user client changes; and cancelling. Presence information in information transmission is maintained. Through this method, the load optimization based on Presence information transmission can be realized to achieve efficient information transmission.

【技术实现步骤摘要】
一种优化Presence信息负载的方法
本专利技术涉及一种计算机领域,特别是一种优化微服务器Presence信息负载的方法。
技术介绍
微服务是一种软件架构风格,以单一责任与功能的小型功能区块为基础,利用模组化的方式组合出复杂的大型应用程序,同时各个功能区块使用与语言无关的API集相互进行通讯。微服务以业务功能为主实现服务设计,每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API,应用程序则是由一个或多个微服务组成。若需要针对特定业务功能进行扩充时,只要对该业务功能的服务进行扩展就好,不需要对整个应用程序进行扩展,同时,由于微服务是以业务功能导向的实作,因此不会受到应用程序的干扰,微服务的管理员可以视运算资源的需要来配置微服务到不同的运算资源内,或是布建新的运算资源对其进行配置。微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同机器上,彼此通过调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常就需要快速定位出错环节。因此,在这种框架下,对微服务的监控就显得尤为重要。掌控各个微服务节点实例的状态信息,包括:微服务器负载情况、数据库连接信息、服务调用、逻辑流或页面流的调用情况、及执行时长等都是十分必要的。微服务器负载有以下两种分类方式:1:从负载网络特性看,主要包括域内负载和域间负载。域内负载是指,两个客户端连接到同一个微服务器通信时产生的网络流量,而域间负载是指,两个客户端通过连接不同微服务器通信时产生的网络流量,显然域内负载是域间负载的子集;2:从负载内容特性看,主要包括Instant消息负载和Presence信息负载。Instant消息是用户传递的交互信息,而Presence信息则用于表达一个实体当前的网络可用性,包括主状态(如离线、在线等)和亚状态(如忙碌、离开等)。由于Instant消息负载,在微服务器总负载中占据很大的比例,因此目前面向Instant消息的负载优化占有主导地位。然而,如果城域内几十万人同时在线使用微服务器,尽管单个Presence信息所用字节较小,但是Presence信息负载总和仍将是一个不容忽视的数字,会对微服务器造成非常大的负担。因此,如何基于对Presence信息传输的负载优化实现高效的信息传输,具有重要意义,已经引起工业界和学术界的广泛关注,需要面对两个重要挑战:1,微服务通信协议多种多样,不同的协议提供不同的接口和功能。针对某种特定的协议,如何利用或扩展相关接口,获取消息传输的相关信息(如计算传输剩余时间等),是负载优化的前提和基础。2,Presence信息服务的相关机制比较复杂(包含初始化Presence信息和Presence信息广播等功能),对每个客户端C来说,均包括Presence信息主动汇报和被动汇报。主动汇报是指当客户端Presence状态发生变化时,主动向微服务器报告。而被动汇报是指接受到微服务器固定频率的探测后进行报告。因此,如何有效地改进Presence信息服务的相关机制以降低Presence信息负载,是亟待解决的核心问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本专利技术的目的在于提供一种降低Presence信息负载的方法的方法,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。具体的,本专利技术提供一种降低Presence信息负载的方法,该方法包括:(1)、选取REST协议作为微服务器消息传输的承载协议;(2)、设定用户在与微服务器进行消息传输结束前的Presence信息状态不变,该设定是基于用户在与微服务器进行消息传输结束前的Presence信息状态变化的概率非常小;该信息状态包括主状态(离线、在线等)和亚状态(忙碌、离开等);(3)、计算消息传输时间;(4)、当用户客户端Presence信息状态发生变化时主动向微服务器汇报;(5)、对消息传输中的Presence信息进行维护。优选地,计算消息传输时间的方法为:第一步,从IQ流中读取客户端CA和微服务器端S的JID,判断客户端CA和服务器端S是否位于相同的域内;若是,则执行第二步;若否,则执行第三步;第二步,若客户端CA和微服务器端S位于相同域内,则从所述IQ流中读取传输消息大小size,并判断客户端CA是否与微服务器端S协商成功;若是,则执行第四步;若否,则执行第五步;第三步,若客户端CA和微服务器端S不在一个相同域内,则系统恢复正常的PresenceProbe机制;第四步,若判定客户端与微服务器端协商成功,则向客户端CA询问TCP1080端口的消息传输速度,在明确消息传输速度后,系统获取传输速度v,并计算消息传输时间t0:t0=size/v第五步,若判定客户端与微服务器端协商不成功,则系统恢复正常的PresenceProbe机制。优选地对消息传输中的Presence信息进行维护的具体方法为:第一步,在消息开始传输时启动定时器T;第二步,判断消息传输是否失败,或所述定时器是否到时;第三步,若判定消息传输失败或者定时器到时,则直接恢复到正常的PresenceProbe机制;第四步,若判定消息没有传输失败且定时器未到时,则进一步判断系统是否收到客户端CA的PresenceProbe信息;五步,若判定收到客户端CA的PresenceProbe信息,则利用微服务器本地Database中存储的消息传输前客户端CA和微服务器端S的Presence信息进行回复;若判定没有收到客户端CA的PresenceProbe信息,则返回第二步重新判定消息传输是否失败,或定时器是否到时。客户端与微服务器的接口调用具体为:客户端CA和微服务器端S的协商信息包括:传输协议、是否接受、网络地址信息以及端口信息;所述协商信息在流的<iq/>节中传输,所述协商信息中携带有客户端CA和微服务器端S的JID信息;所述JID信息的格式为node@domain/resource,其中domain表示一个网关,或者是提供服务的一个子节点,所述resource代表一个特定的会话或连接。传输消息大小和传输时间估算的具体方法为:所述客户端CA和所述微服务器端S针对传输协议协商完毕以后,还要对消息相关信息进行协商,从而确定微服务器端S是否接受消息;其中,协商信息包含在<iq/>节的<message/>元素中,通过捕获<message/>元素中size属性的值,可以获得传输消息的大小;若经过协商,微服务器端S接受客户端CA的传输消息请求,会回送给客户端CA确认信息,并通知CA建立消息流;为获取客户端CA和微服务器端S间,微服务器会向客户端CA发送询问信息;为此,根据xml语法定义<rate/>元素,其中只包含一个rate属性,询问信息被包含在IQ节中传输;微服务器通过传输消息大小size和消息流传输速度v来估算消息传输时间t0=size/v。更进一步本文档来自技高网
...

【技术保护点】
1.一种优化Presence信息负载的方法,该方法包括:一、选取REST协议作为微服务器消息传输的承载协议;二、设定用户在与微服务器进行消息传输结束前的Presence信息状态不变;三、计算消息传输时间;四、当用户客户端Presence信息状态发生变化时主动向微服务器汇报;五、对消息传输中的Presence信息进行维护。

【技术特征摘要】
1.一种优化Presence信息负载的方法,该方法包括:一、选取REST协议作为微服务器消息传输的承载协议;二、设定用户在与微服务器进行消息传输结束前的Presence信息状态不变;三、计算消息传输时间;四、当用户客户端Presence信息状态发生变化时主动向微服务器汇报;五、对消息传输中的Presence信息进行维护。2.根据权利要求1所述的方法,其特征在于:所述Presence信息状态包括在线、离线、忙碌和离开。3.根据权利要求1或2所述的方法,其特征在于:所述计算消息传输时间的方法为:第一步,从IQ流中读取客户端CA和微服务器端S的JID,判断客户端CA和服务器端S是否位于相同的域内;若是,则执行第二步;若否,则执行第三步;第二步,若客户端CA和微服务器端S位于相同域内,则从所述IQ流中读取传输消息大小size,并判断客户端CA是否与微服务器端S协商成功;若是,则执行第四步;若否,则执行第五步;第三步,若客户端CA和微服务器端S不在一个相同域内,则系统恢复正常的PresenceProbe机制;第四步,若判定客户端与微服务器端协商成功,则向客户端CA询问TCP1080端口的消息传输速度,在明确消息传输速度后,系统获取传输速度v,并计算消息传输时间t0:t0=size/v第五步,若判定客户端与微服务器端协商不成功,则系统恢复正常的PresenceProbe机制。4.根据权利要求3所述的方法,所述对消息传输中的Presence信息进行维护的具体方法为:第一步,在消息开始传输时启动定时器T;第二步,判断消息传输是否失败,或所述定时器是否到时;第三步,若判定消息传输失败或者定时器到时,则直接恢复到正常的PresenceProbe机制;第四步,若判定消息没有传输失败且定时器未到时,则进一步判断系统是否收到客户端CA的PresenceProbe信息;第五步,若判定收到客户端CA的Presenc...

【专利技术属性】
技术研发人员:汪术文程国艮
申请(专利权)人:中译语通科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1