CN114281534A - 长连接智能控制方法、系统、装置、电子设备及存储介质 - Google Patents
长连接智能控制方法、系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114281534A CN114281534A CN202111551593.7A CN202111551593A CN114281534A CN 114281534 A CN114281534 A CN 114281534A CN 202111551593 A CN202111551593 A CN 202111551593A CN 114281534 A CN114281534 A CN 114281534A
- Authority
- CN
- China
- Prior art keywords
- target
- access layer
- connection
- factor
- long
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种长连接智能控制方法、系统、装置、电子设备及存储介质,长连接智能控制方法应用于服务器,服务器包括多个接入层,长连接智能控制方法包括:接收智能家居设备发送的长连接请求,获取每一接入层的目标负载值;确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层;获取目标接入层对应的互联网协议地址;发送携带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系。本方法实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免负载不均衡,可降低网络故障率。
Description
技术领域
本申请涉及智能家居物联网技术领域,更具体地,涉及一种长连接智能控制方法、系统、装置、电子设备及存储介质。
背景技术
智能家居物联网一般由用户端应用程序、服务器端应用程序编程接口(Application Programming Interface,API,又称接入层)、物联网协议网关、智能家居设备组成,其中,智能家居设备和接入层的数量均为多个,每个智能家居设备通过物联网协议网关长连接于多个接入层中的任一接入层。
目前,智能家居设备在与接入层的长连接过程中,由于多个接入层的交替更新,最先重启的接入层长连接的智能家居设备最多,导致负载不均衡,从而导致网络故障率高。
发明内容
鉴于上述问题,本申请提出了一种长连接智能控制方法、系统及其装置、电子设备及存储介质,能够实现根据获取到的接入层的目标负载值确定目标接入层,并建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
第一方面,本申请实施例提供了一种长连接智能控制方法,应用于服务器,服务器包括多个接入层,长连接智能控制方法包括:接收智能家居发送的长连接请求,响应于长连接请求,获取每一接入层的目标负载值;确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层;获取目标接入层对应的互联网协议地址;发送携带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系。
第二方面,本申请实施例提供了一种长连接智能控制方法,应用于智能家居设备,长连接智能控制方法包括:发送长连接请求至服务器,长连接请求用于指示服务器获取服务器中每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并发送携带有与目标接入层对应的互联网协议地址的连接指令至智能家居设备;接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系。
第三方面,本申请实施例提供了一种长连接智能控制系统,包括服务器以及智能家居设备,服务器包括多个接入层,接入层用于与智能家居设备建立长连接关系,其中,服务器,用于执行如上述第一方面提供的长连接的智能控制方法;智能家居设备,用于执行如上述第二方面提供的长连接的智能控制方法。
第四方面,本申请实施例提供了一种长连接智能控制装置,应用于服务器,服务器包括多个接入层,长连接智能控制装置包括:第一接收模块、第一获取模块、确定模块、第二获取模块以及第一发送模块。第一接收模块,用于接收智能家居设备的长连接请求;第一获取模块,用于响应于长连接请求,获取每一接入层的目标负载值;确定模块,用于确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层;第二获取模块,用于获取目标接入层对应的互联网协议地址;第一发送模块,用于发送携带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系。
第四方面,本申请实施例提供了一种长连接智能控制装置,应用于智能家居设备,长连接智能控制装置包括:第二发送模块以及第二接收模块。第二发送模块,用于发送长连接请求至服务器,长连接请求用于指示服务器获取服务器中每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并发送携带有与目标接入层对应的互联网协议地址的连接指令至智能家居设备;第二接收模块,用于接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系。
第五方面,本申请实施例提供了一种电子设备,包括存储器;一个或多个处理器,与存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如上述第一方面或第二方面提供的长连接智能控制方法。
第六方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行如上述第一方面或第二方面提供的长连接智能控制方法。
本申请提供的方案,服务器通过接收智能家居设备发送的长连接请求,并响应于长连接请求,获取每一接入层的目标负载值,并确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的互联网协议地址,以及发送带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的长连接智能控制系统的一种场景示意图。
图2示出了本申请实施例提供的长连接智能控制方法的时序示意图。
图3示出了本申请实施例提供的长连接智能控制方法的一种流程示意图。
图4示出了本申请实施例提供的长连接智能控制方法的另一种流程示意图。
图5示出了本申请实施例提供的长连接智能控制方法的再一种流程示意图。
图6示出了本申请实施例提供的长连接智能控制装置的一种结构框图。
图7示出了本申请实施例提供的长连接智能控制装置的另一种结构框图。
图8示出了本申请实施例提供的电子设备的一种结构框图。
图9示出了本申请实施例提供的用于保存或者携带现实根据本申请实施例提供的长连接智能控制方法的程序代码的计算机可读存储介质。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了清楚阐释本申请的方案,下面先对一些术语进行解释。
长连接:指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。长连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况。
服务器:是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如,个人计算机(Personal Computer,PC机)、智能手机、自动柜员机(Automated Teller Machine,ATM机)等终端)提供计算或者应用服务,服务器具有高速的中央处理器(Central Processing Unit,CPU)运算能力、长时间的可靠运行、强大的输入/输出(Input/Output,I/O)外部数据吞吐能力以及更好的扩展性。
接入层:接入层通常指网络中直接面向用户连接或访问的部分。接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户终端(例如,智能家居设备)连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。
远程字典服务(Remote Dictionary Server,Redis):是一个高性能的关键字取值(Key-Value)数据库,Redis的存储分为内存存储、磁盘存储和日志(Log)文件三部分,配置文件中有三个参数对其进行配置。
网站服务器:又称Web服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
互联网协议地址:又称为网际互连协议(Internet Protocol,IP)地址,是IP提供的一种统一的地址格式,其为互联网上的每一个网络和每一台主机分配一个唯一的逻辑地址,以此来屏蔽物理地址的差异。
超文本传输安全协议(Hyper Text Transfer Protocol Secure,Https):是以安全为目标的Http通道,在Http的基础上通过传输加密和身份认证保证了传输过程的安全性。
安全套接字协议(Secure Sockets Layer,SSL):是为网络通信提供安全及数据完整性的一种安全协议,其在传输层与应用层之间对网络连接进行加密。
传输控制协议/网际协议(Transmission Control Protocol/InternetProtocol,TCP/IP):也叫作网络通讯协议,其是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
安全套接字协议(Secure Sockets Layer,SSL):由网景通信公司(NetscapeCommunications Corporation,Netscape)所研发,用以保障在因特网(Internet)上数据传输的安全,利用数据加密(Encryption)技术,可确保数据在网络上的传输过程中不会被截取及窃听。一般通用的规格为40比特(Binary digit,Bit)的安全标准,美国则已推出128Bit的更高安全标准。
智能家居物联网一般由用户端应用程序、服务器端应用程序编程接口(Application Programming Interface,API,又称接入层)、物联网协议网关、智能家居设备组成,其中,智能家居设备和接入层的数量均为多个,每个智能家居设备通过物联网协议网关长连接于多个接入层中的任一接入层。
目前,智能家居设备在与接入层的长连接过程中,由于多个接入层的交替更新,最先重启的接入层长连接的智能家居设备最多,导致负载不均衡,从而导致网络故障率高。
针对上述问题,发明人经过长时间的研究并提出了本申请实施例提供的长连接智能控制方法、系统、装置、电子设备及存储介质,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
请参阅图1,其示出了本申请实施例提供的长连接智能控制系统的一种应用场景示意图,包括服务器100以及智能家居设备200,智能家居设备200可以长连接于服务器100,智能家居设备200可以与服务器100进行数据交互。服务器100可以为独立的物理服务器,也可以为多个物理服务器构成的服务器集群或者分布式系统,还可以为提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、大数据以及人工智能平台等基础云计算服务的云服务器等;智能家居设备200的数量可以为多个,智能家居设备200可以包括智能门锁、智能灯具、智能电视、智能音箱、智能魔镜、智能扫地机器人、智能衣架、智能窗帘、智能摄像头、智能温湿度探测器、智能一氧化碳报警器、门窗传感器、人体传感器、智能水浸探测器、智能报警设备等;此处不限定服务器100以及智能家居设备200的类型,具体可以根据实际需求进行设置。
在一些实施方式中,服务器100可以包括多个接入层110、Redis集群120以及Web服务器130,接入层110与Redis集群120通信连接,接入层110可以用于与智能家居设备200建立长连接,并可以用于将其接入的智能家居设备200的负载因子上报至Redis集群120。Redis集群120与Web服务器130通信连接,Redis集群120可以用于存储接入层110上报的负载因子。Web服务器130可以通过get请求(getHost)接口与智能家居设备200进行通信连接。其中,getHost接口为基于Https的传输接口,可以用于向Web服务器130发送长连接请求,以启动长连接的控制过程。
在一种应用场景中,请参阅图2,图2为本申请实施例提供的长连接智能控制方法的时序示意图。该方法流程可以包括:
S1:接入层110周期性地上报其接入的负载因子至Redis集群120,Redis集群120接收并存储该负载因子。
其中,周期可以用于表征接入层上报其接入的负载因子至Redis集群的时间间隔。例如,周期可以为2秒(s),接入层可以每间隔2s将其接入的负载因子上报至Redis集群;周期可以为5s,接入层可以每间隔5s将其接入的负载因子上报至Redis集群等;此处不限定周期的数值,具体可以根据实际需求进行设置。
S2:智能家居设备200通过getHost接口发送长连接请求至Web服务器130。
S3:Web服务器130发送负载因子获取请求至Redis集群120。
S4:Redis集群120接收并响应于负载因子请求,将接入层110周期性上报的负载因子返回至Web服务器130。
S5:Web服务器130接收并响应于负载因子,获取每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层。
S6:Web服务器130将携带有目标接入层对应的IP地址的连接指令至智能家居设备200。
S7:智能家居设备200接收并响应于连接指令,建立与IP地址对应的目标接入层的长连接关系。
下面将结合具体的实施例进行阐述。
请参阅图3,其示出了本申请一个实施例提供的长连接智能控制方法的流程图。在具体的实施例中,长连接智能控制方法可以应用于如图1所示的服务器100,下面将以服务器100为例,对图3所示的流程进行详细阐述,长连接智能控制方法可以包括以下步骤S110至步骤S150。
步骤S110:接收智能家居设备发送的长连接请求。
在本申请实施例中,智能家居设备在与服务器建立长连接之前,可以通过getHost接口与服务器建立通信协议,并可以基于该通信协议发送长连接请求至服务器,服务器可以基于该通信协议接收智能家居设备发送的长连接请求。具体地,智能家居设备在与接入层建立长连接之前,可以通过getHost接口与Web服务器建立Https,并可以基于Https的getHost接口发送长连接请求至Web服务器,Web服务器可以基于Https的getHost接口接收智能家居设备发送的长连接请求。
步骤S120:响应于长连接请求,获取每一接入层的目标负载值。
在本申请实施例中,Web服务器在基于Https的getHost接口接收到智能家居设备发送的长连接请求之后,可以响应于长连接请求,于Redis集群中获取每一接入层的负载因子,并可以根据获取到的每一接入层的负载因子,确定每一接入层的目标负载值。
可以理解的,负载因子可以用于表征接入接入层的资源消耗因子,目标负载值可以用于表征接入接入层的资源消耗因子的资源消耗占比,目标负载值越大表示接入接入层的资源消耗因子的资源消耗占比越大。
每一负载因子可以由至少一种负载子因子组成,负载子因子可以包括当前连接数(ct)、连接数增长率(ctr)、中央处理器(cpu)使用率(cr)、中央处理器负载(cpu load(cl))以及堆内存使用率(hr)等。例如,服务器中的接入层的负载因子可以由ct、ctr、cr、cl以及hr组成;服务器中的接入层的负载因子也可以由ct、cr、cl以及hr组成等,此处不限定负载因子的组成,具体可以根据实际需求进行设置。
步骤S130:确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层。
在本申请实施例中,Web服务器在获取到每一接入层的目标负载值之后,可以从所有的目标负载值中,选取最低的目标负载值,并可以将最低的目标负载值对应的接入层确定为目标接入层。
在一些实施方式中,Web服务器在获取到每一接入层的目标负载值之后,可以将每一接入层的目标负载值按照由低到高的顺序排序,并将排在第一位的目标负载值确定为最低的目标负载值,并可以将该最低目标负载值对应的接入层确定为目标接入层。
在一些实施方式中,Web服务器在获取到服务器中每一接入层的目标负载值之后,可以从所有的目标负载值中,按照每次取出任意两个目标负载值,保留该两个目标负载值中较小的目标负载值并放回剩余的目标负载值中的规则,直至放回剩余的目标负载值中后只有一个当前目标负载值时,可以将该当前目标负载值作为最低的目标负载值,并可以将该最低目标负载值对应的接入层确定为目标接入层。此处不限定最低目标负载值的获取方式,具体可以根据实际需求进行设置。
步骤S140:获取目标接入层对应的互联网协议地址。
在本申请实施例中,Web服务器在将最低的目标负载值对应的接入层确定为目标接入层之后,可以获取目标接入层对应的互联网协议(Internet Protocol,IP)地址,以便控制智能家居设备根据IP地址,建立与IP地址对应的目标接入层的长连接关系。
在一些实施方式中,Web服务器在将最低的目标负载值对应的接入层确定为目标接入层之后,可以与Redis集群中获取目标入层上报的目标负载因子,并对目标负载因子进行解析,获得目标负载因子携带的IP地址,并可以将该IP地址作为目标接入层对应的IP地址。
步骤S150:发送携带有互联网协议地址的连接指令至智能家居设备。
在本申请实施例中,Web服务器在获取到目标接入层对应的IP地址之后,可以生成有携带有该IP地址的连接指令,并可以基于Https的getHost接口将连接指令发送至智能家居设备,智能家居设备接收并响应于连接指令,可以建立与该IP地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
在一些实施方式中,Web放弃在获取到目标接入层对应的IP地址之后,可以生成携带有该IP地址的连接指令,并可以基于Https的getHost接口将连接指令发送至智能家居设备,智能家居设备接收并响应于连接指令,可以发送第一连接请求报文(syn)至该IP对应的目标接入层,该目标接入层接收并响应于第一连接请求报文,可以与智能家居设备建立TCP/IP连接,并发送第一连接响应报文(ack+syn)至智能家居设备,智能家居设备接收并响应于第一连接响应报文,可以发送第一连接确认报文(ack)至该目标接入层。
在一些实施方式中,Web放弃在获取到目标接入层对应的IP地址之后,可以生成携带有该IP地址的连接指令,并可以基于Https的getHost接口将连接指令发送至智能家居设备,智能家居设备接收并响应于连接指令,可以发送第二连接请求报文至该IP对应的目标接入层,该目标接入层接收并响应于第二连接请求报文,可以与智能家居设备建立SSL连接,并发送第二连接响应报文至智能家居设备,智能家居设备接收并响应于第二连接响应报文,可以发送第二连接确认报文至该目标接入层。
本申请提供的方案,服务器通过接收智能家居设备发送的长连接请求,并响应于长连接请求,获取每一接入层的目标负载值,并确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的互联网协议地址,以及发送带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
请参阅图4,其示出了本申请另一个实施例提供的长连接智能控制方法的流程图。在具体的实施例中,长连接智能控制方法可以应用于如图1所示的服务器100,下面将以服务器100为例,对图4所示的流程进行详细阐述,长连接智能控制方法可以包括以下步骤S210至步骤S280。
步骤S210:接收智能家居设备发送的长连接请求。
步骤S220:响应于长连接请求,获取每一接入层的负载因子。
在本实施例中,步骤S210以及步骤S220可以参阅前述实施例中相应步骤的内容,此处不再赘述。
步骤S230:获取每一接入层的每一负载子因子的目标因子占比。
在本实施例中,由于每一接入层的负载因子可以由至少一种负载子因子组成,Web服务器在获取到每一接入层的负载因子之后,可以获取每一接入层的目标负载子因子,并可以获取总目标负载子因子,总目标负载子因子用于表征所有接入层的目标负载子因子的总和,并可以计算每一接入层的目标负载子因子与总目标负载子因子的比值,并可以将该比值作为目标因子占比。
例如,接入层的数量为N个,N为大于或等于1的正整数,负载子因子可以包括ct、ctr、cr、cl以及hr,负载因子可以ct、ctr、cr、cl以及hr组成。N个接入层的当前连接数的总和(sum(ct))可以按照公式一计算得到:
则第i接入层的ct的目标因子占比可以为cti/sum(ct)。
N个接入层的连接数增长率的总和(sum(ctr))可以按照公式二计算得到:
则第i接入层的ctr的目标因子占比可以为ctri/sum(ctr)。
N个接入层的中央处理器使用率的总和(sum(cr))可以按照公式三计算得到:
则第i接入层的cr的目标因子占比可以为cri/sum(cr)。
N个接入层的中央处理器负载的总和(sum(cl))可以按照公式四计算得到:
则第i接入层的cl的目标因子占比可以为cli/sum(cl)。
N个接入层的堆内存使用率的总和(sum(hr))可以按照公式五计算得到:
则第i接入层的hr的目标因子占比可以为hri/sum(hr)。
步骤S240:获取每一负载子因子的权重。
在本实施例中,负载子因子的权重可以为用户预先设置并存储于Redis集群中,负载子因子的权重可以用于表征该负载子因子的资源消耗占比,负载子因子的权重越大,表示该负载子因子的资源消耗占比越大。由于不同负载子因子的资源消耗占比可以不同,因此,Web服务器可以于Redis集群中获取每一负载子因子的权重。例如,负载子因子可以包括ct、ctr、cr、cl以及hr,则ct的权重为ctw,ctr的权重为ctrw,cr的权重为crw,cl的权重为clw,以及hr的权重为hrw。
步骤S250:根据每一接入层的目标因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值。
在本实施例中,Web服务器在获取到每一负载子因子的权重之后,可以根据每一接入层的目标子因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值,可提高获取到的目标负载值准确度,可提高控制智能家居设备与目标接入层建立长连接关系的控制准确度,可进一步地降低网络故障率。
在一些实施方式中,负载子因子可以包括ct、ctr、cr、cl以及hr等,负载因子可以由ct、ctr、cr、cl以及hr组成,第i接入层的目标因子占比可以包括cti/sum(ct)、ctri/sum(ctr)、cri/sum(cr)、cli/sum(cl)以及hri/sum(hr)等,其中,i为大于或等于1的正整数。Web服务器可以根据cti/sum(ct)、ctri/sum(ctr)、cri/sum(cr)、cli/sum(cl)、hri/sum(hr)、ctw、ctrw、crw、clw以及hrw,确定对应的接入层的目标负载值。具体地,Web服务器可以根据cti/sum(ct)、ctri/sum(ctr)、cri/sum(cr)、cli/sum(cl)、hri/sum(hr)、ctw、ctrw、crw、clw以及hrw,按照公式六计算得到对应的接入层的目标负载值(load(i)):
公式六:
load(i)=(cti/sum(ct)*ctw)+(ctri/sum(ctr)*ctrw)+(cri/sum(cr)*crw)+(cli/sum(cl)*clw)+(hri/sum(hr)*hrw),load(i)为第i接入层的目标负载值。
步骤S260:确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层。
步骤S270:获取目标接入层对应的互联网协议地址。
步骤S280:发送携带有互联网协议地址的连接指令至智能家居设备。
在本实施例中,步骤S260、步骤S270以及步骤S280可以参阅前述实施例中相应步骤的内容,此处不再赘述。
本申请提供的方案,服务器通过接收智能家居设备发送的长连接请求,并响应于长连接请求,获取每一接入层的负载因子,并获取每一接入层的每一负载因子的目标因子占比,并获取每一负载子因子的权重,并根据每一接入层的目标子因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值,并确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的互联网协议地址,以及发送带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。进一步地,根据每一接入层的目标因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值,可提高获取到的目标负载值准确度,可提高控制智能家居设备与目标接入层建立长连接关系的控制准确度,可进一步地降低网络故障率。
请参阅图5,其示出了本申请再一个实施例提供的长连接智能控制方法的流程图。在具体的实施例中,长连接智能控制方法可以应用于如图1所示的智能家居设备200,下面将以智能家居设备200为例,对图5所示的流程进行详细阐述,长连接智能控制方法可以包括以下步骤S310至步骤S320。
步骤S310:发送长连接请求至服务器。
在本实施例中,智能家居设备在于服务器建立长连接之前,可以通过getHost接口与服务器建立通信协议,并可以基于该通信协议发送长连接请求至服务器,服务器可以接收并响应于长连接请求,获取服务器中每一接入层的目标负载值,并可以根据每一接入层的目标负载值,确定最低的目标负载值,并可以将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的IP地址,并发送携带有该IP地址的连接指令至智能家居设备。其中,服务器获取每一接入层的目标负载值,以及根据每一接入层的目标负载值,确定最低目标负载值的过程,可以参阅前述实施例中相应步骤的内容,此处不再赘述。
步骤S320:接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系。
在本实施例中,智能家居设备在发送长连接请求至服务器之后,可以接收服务器返回的连接指令,并响应于连接指令,可以建立与上述IP地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
本申请提供的方案,智能家居设备通过发送长连接请求至服务器,长连接请求用于指示服务器获取服务器中每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并发送携带有与目标接入层对应的互联网协议地址的连接指令至智能家居设备,智能家居设备接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
请参阅图6,其示出了本申请一个实施例提供的长连接智能控制装置400,长连接智能控制装置400可以应用于如图1所示的服务器100,下面将以服务器100为例,对图6所示的长连接智能控制装置400进行详细阐述,长连接智能控制装置400可以包括第一接收模块410、第一获取模块420、确定模块430、第二获取模块440以及第一发送模块450。
第一接收模块410可以用于接收智能家居设备的长连接请求;第一获取模块420可以用于响应于长连接请求,获取每一接入层的目标负载值;确定模块430可以用于确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层;第二获取模块440可以用于获取目标接入层对应的互联网协议地址;第一发送模块450可以用于发送携带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系。
在一些实施方式中,第一获取模块420可以包括第一获取子模块以及确定子模块。
第一获取子模块可以用于获取每一接入层的负载因子,每一负载因子由至少一种负载子因子组成;确定子模块可以用于根据负载因子,确定每一接入层的目标负载值。
在一些实施方式中,确定子模块可以包括第一获取子单元、第二获取子单元以及确定子单元。
第一获取子单元可以用于获取每一接入层的每一负载子因子的目标因子占比;第二获取子单元可以用于获取每一负载子因子的权重;确定子单元可以用于根据每一接入层的目标因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值。
在一些实施方式中,第一获取子单元可以包括第一获取次子单元、第二获取次子单元以及计算次子单元。
第一获取次子单元可以用于获取每一接入层的目标负载子因子;第二获取次子单元可以用于获取总目标负载子因子,总目标负载子因子用于表征所有接入层的目标负载子因子的总和;计算次子单元可以用于计算目标负载子因子与总目标负载子因子的比值,并将比值作为目标因子占比。
在一些实施方式中,负载子因子可以包括当前连接数、连接数增长率、中央处理器使用率、中央处理器负载以及堆内存使用率;目标因子占比可以包括当前连接数占比、连接数增长率占比、中央处理器使用率占比、中央处理器负载占比以及堆内存使用率占比;负载因子可以由当前连接数、连接数增长率、中央处理器使用率、中央处理器负载以及堆内存使用率组成;确定子单元可以包括确定次子单元。
确定次子单元可以用于根据每一接入层的当前连接数占比、连接数增长率占比、中央处理器使用率占比、中央处理器负载占比、堆内存使用率占比、当前连接数的权重、连接数增长率的权重、中央处理器使用率的权重、中央处理器负载的权重以及堆内存使用率的权重,确定对应的接入层的目标负载值。
在一些实施方式中,第一获取模块420还可以包括第二获取子模块。
第二获取子模块可以用于基于超文本传输安全协议的get请求接口获取服务器中每一接入层的目标负载值。
本申请提供的方案,服务器通过接收智能家居设备发送的长连接请求,并响应于长连接请求,获取每一接入层的目标负载值,并确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的互联网协议地址,以及发送带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
请参阅图7,其示出了本申请一个实施例提供的长连接智能控制装置500,长连接智能控制装置500可以应用于如图1所示的智能家居设备200,下面将以智能家居设备200为例,对图7所示的长连接智能控制装置500进行详细阐述,长连接智能控制装置500可以包括第二发送模块510以及第二接收模块520。
第二发送模块510可以用于发送长连接请求至服务器,长连接请求用于指示服务器获取服务器中每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并发送携带有与目标接入层对应的互联网协议地址的连接指令至智能家居设备;第二接收模块520可以用于接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系。
本申请提供的方案,智能家居设备通过发送长连接请求至服务器,长连接请求用于指示服务器获取服务器中每一接入层的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并发送携带有与目标接入层对应的互联网协议地址的连接指令至智能家居设备,智能家居设备接收并响应于连接指令,建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。对于方法实施例中的所描述的任意的处理方式,在装置实施例中均可以通过相应的处理模块实现,装置实施例中不再一一赘述。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图8,其示出了本申请另一个实施例提供的电子设备600的功能框图,该电子设备600可以包括一个或多个如下部件:存储器610、处理器620、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器610中并被配置为由一个或多个处理器6520执行,一个或多个应用程序配置用于执行如前述方法实施例所描述的方法。
存储器610可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器610可用于存储指令、程序、代码、代码集或指令集。存储器610可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如接收长连接请求、获取目标负载值、确定最低目标负载值、确定目标接入层、获取互联网协议地址、发送连接指令、建立长连接关系、获取负载因子、获取目标因子占比、获取权重、获取目标负载子因子、获取总目标负载子因子、计算比值、发送长连接请求以及接收连接指令等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备600在使用中所创建的数据(比如长连接请求、目标负载值、最低目标负载值、目标接入层、互联网协议地址、连接指令、长连接关系、负载因子、负载子因子、目标因子占比、权重、目标负载子因子、总目标负载子因子、比值、目标因子占比、当前连接数、连接数增长率、中央处理器使用率、中央处理器负载、堆内存使用率、当前连接数占比、连接数增长率占比、中央处理器使用率占比、中央处理器负载占比以及堆内存使用率占比)等。
处理器620可以包括一个或者多个处理核。处理器620利用各种接口和线路连接整个电子设备600内的各个部分,通过运行或执行存储在存储器610内的指令、程序、代码集或指令集,以及调用存储在存储器610内的数据,执行电子设备600的各种功能和处理数据。可选地,处理器620可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器620可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器620中,单独通过一块通信芯片进行实现。
请参考图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质700中存储有程序代码710,程序代码710可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质700可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质700包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质700具有执行上述方法中的任何方法步骤的程序代码710的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码710可以例如以适当形式进行压缩。
本申请提供的方案,服务器通过接收智能家居设备发送的长连接请求,并响应于长连接请求,获取每一接入层的目标负载值,并确定最低的目标负载值,并将最低的目标负载值对应的接入层确定为目标接入层,并获取目标接入层对应的互联网协议地址,以及发送带有互联网协议地址的连接指令至智能家居设备,连接指令用于指示智能家居设备建立与互联网协议地址对应的目标接入层的长连接关系,实现了根据获取到的接入层的目标负载值确定目标接入层,并控制智能家居设备建立与目标接入层的长连接关系,可避免最先重启的接入层长连接的智能家居设备最多导致负载不均衡,可降低网络故障率。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种长连接智能控制方法,其特征在于,应用于服务器,所述服务器包括多个接入层,所述长连接智能控制方法包括:
接收智能家居设备发送的长连接请求;
响应于所述长连接请求,获取每一接入层的目标负载值;
确定最低的所述目标负载值,并将最低的所述目标负载值对应的接入层确定为目标接入层;
获取所述目标接入层对应的互联网协议地址;
发送携带有所述互联网协议地址的连接指令至所述智能家居设备,所述连接指令用于指示所述智能家居设备建立与所述互联网协议地址对应的目标接入层的长连接关系。
2.根据权利要求1所述的长连接智能控制方法,其特征在于,所述获取每一接入层的目标负载值,包括:
获取每一接入层的负载因子,每一负载因子由至少一种负载子因子组成;
根据所述负载因子,确定每一接入层的目标负载值。
3.根据权利要求2所述的长连接智能控制方法,其特征在于,所述根据所述负载因子,确定每一接入层的目标负载值,包括:
获取每一接入层的每一负载子因子的目标因子占比;
获取每一负载子因子的权重;
根据每一接入层的所述目标因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值。
4.根据权利要求3所述的长连接智能控制方法,其特征在于,所述获取每一接入层的每一负载子因子的目标因子占比,包括:
获取每一接入层的目标负载子因子;
获取总目标负载子因子,所述总目标负载子因子用于表征所有接入层的目标负载子因子的总和;
计算所述目标负载子因子与所述总目标负载子因子的比值,并将所述比值作为所述目标因子占比。
5.根据权利要求3所述的长连接智能控制方法,其特征在于,所述负载子因子包括当前连接数、连接数增长率、中央处理器使用率、中央处理器负载以及堆内存使用率;所述目标因子占比包括当前连接数占比、连接数增长率占比、中央处理器使用率占比、中央处理器负载占比以及堆内存使用率占比;所述负载因子由所述当前连接数、所述连接数增长率、所述中央处理器使用率、所述中央处理器负载以及所述堆内存使用率组成;
所述根据每一接入层的所述目标因子占比以及每一负载子因子的权重,确定对应的接入层的目标负载值,包括:
根据每一接入层的所述当前连接数占比、所述连接数增长率占比、所述中央处理器使用率占比、所述中央处理器负载占比、所述堆内存使用率占比、所述当前连接数的权重、所述连接数增长率的权重、所述中央处理器使用率的权重、所述中央处理器负载的权重以及所述堆内存使用率的权重,确定对应的接入层的目标负载值。
6.根据权利要求1所述的长连接智能控制方法,其特征在于,获取每一接入层的目标负载值,包括:
基于超文本传输安全协议的get请求接口获取每一接入层的目标负载值。
7.一种长连接智能控制方法,其特征在于,应用于智能家居设备,所述长连接智能控制方法包括:
发送长连接请求至服务器,所述长连接请求用于指示所述服务器获取所述服务器中每一接入层的目标负载值,并将最低的所述目标负载值对应的接入层确定为目标接入层,并发送携带有与所述目标接入层对应的互联网协议地址的连接指令至所述智能家居设备;
接收并响应于所述连接指令,建立与所述互联网协议地址对应的目标接入层的长连接关系。
8.一种长连接智能控制系统,其特征在于,包括服务器以及智能家居设备,所述服务器包括多个接入层,所述接入层用于与所述智能家居设备建立长连接关系,其中,
所述服务器,用于执行如权利要求1至6任一项所述的控制方法;
所述智能家居设备,用于执行如权利要求7所述的控制方法。
9.一种长连接智能控制装置,其特征在于,应用于服务器,所述服务器包括多个接入层,所述长连接智能控制装置包括:
第一接收模块,用于接收智能家居设备的长连接请求;
第一获取模块,用于响应于所述长连接请求,获取每一接入层的目标负载值;
确定模块,用于确定最低的所述目标负载值,并将最低的所述目标负载值对应的接入层确定为目标接入层;
第二获取模块,用于获取所述目标接入层对应的互联网协议地址;
第一发送模块,用于发送携带有所述互联网协议地址的连接指令至所述智能家居设备,所述连接指令用于指示所述智能家居设备建立与所述互联网协议地址对应的目标接入层的长连接关系。
10.一种长连接智能控制装置,其特征在于,应用于智能家居设备,所述长连接智能控制装置包括:
第二发送模块,用于发送长连接请求至服务器,所述长连接请求用于指示所述服务器获取所述服务器中每一接入层的目标负载值,并将最低的所述目标负载值对应的接入层确定为目标接入层,并发送携带有与所述目标接入层对应的互联网协议地址的连接指令至所述智能家居设备;
第二接收模块,用于接收并响应于所述连接指令,建立与所述互联网协议地址对应的目标接入层的长连接关系。
11.一种电子设备,其特征在于,包括:
存储器;
一个或多个处理器,与所述存储器耦接;
一个或多个应用程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1至6任一项或权利要求7所述长连接智能控制方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至6任一项或权利要求7所述长连接智能控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551593.7A CN114281534A (zh) | 2021-12-17 | 2021-12-17 | 长连接智能控制方法、系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551593.7A CN114281534A (zh) | 2021-12-17 | 2021-12-17 | 长连接智能控制方法、系统、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281534A true CN114281534A (zh) | 2022-04-05 |
Family
ID=80872888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111551593.7A Pending CN114281534A (zh) | 2021-12-17 | 2021-12-17 | 长连接智能控制方法、系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281534A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527399A (zh) * | 2023-11-28 | 2024-02-06 | 广州视声智能股份有限公司 | 用于智能家居的信息安全加密方法及系统 |
-
2021
- 2021-12-17 CN CN202111551593.7A patent/CN114281534A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527399A (zh) * | 2023-11-28 | 2024-02-06 | 广州视声智能股份有限公司 | 用于智能家居的信息安全加密方法及系统 |
CN117527399B (zh) * | 2023-11-28 | 2024-05-17 | 广州视声智能股份有限公司 | 用于智能家居的信息安全加密方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948324B (zh) | 请求传输系统、方法、装置及存储介质 | |
CN110730105B (zh) | 图片数据传输方法、装置、设备及存储介质 | |
CN108200165B (zh) | 请求传输系统、方法、装置及存储介质 | |
EP3734913A1 (en) | Communication method and communication apparatus | |
CN110602156A (zh) | 一种负载均衡调度方法及装置 | |
CN102469124B (zh) | 基于aog的移动互联网业务的实现方法、网关、代理及系统 | |
CN110071977B (zh) | 一种数据传输方法及装置 | |
WO2021237433A1 (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN113259479B (zh) | 一种数据处理方法以及设备 | |
US10523532B1 (en) | Multiple queueing for distributed environments | |
CN111277511A (zh) | 传输速率控制方法、装置、计算机系统及可读存储介质 | |
CN112954406B (zh) | 数据下载方法、装置、计算机设备和存储介质 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN111541662B (zh) | 一种基于二进制通信协议的通信方法、电子设备及存储介质 | |
CN114281534A (zh) | 长连接智能控制方法、系统、装置、电子设备及存储介质 | |
CN110519388B (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN111131439A (zh) | 基于iSCSI的报文传输方法、装置、设备及存储介质 | |
US10154116B1 (en) | Efficient synchronization of locally-available content | |
CN112398845B (zh) | 数据传输方法、数据传输装置、系统及电子设备 | |
CN117407159A (zh) | 内存空间的管理方法及装置、设备、存储介质 | |
CN116743836A (zh) | 长连接通信链路建立方法及其装置、电子设备及存储介质 | |
CN111262779A (zh) | 即时通讯中数据的获取方法、装置、服务器及系统 | |
CN114640705B (zh) | 一种大规模物联终端心跳监控方法 | |
US10728291B1 (en) | Persistent duplex connections and communication protocol for content distribution | |
CN108055305B (zh) | 一种存储扩展方法及存储扩展装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |