一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

心跳包发送方法、装置、电子设备及存储介质与流程

2022-04-13 18:27:39 来源:中国专利 TAG:


1.本技术涉及通信技术,尤其涉及一种心跳包发送方法、装置、电子设备及存储介质。


背景技术:

2.网关(gateway)可以作为通信协议的转换器,连接使用不同通信协议的系统。此外,网关中还可以安装不同业务对应的业务插件,例如,定向加速插件等。网关可以通过与业务插件对应的业务服务器交互,实现该业务插件对应的业务功能。针对任一业务插件,为了保障网关与该业务服务器之间连接的有效性,网关可以按照预设周期向业务服务器发送心跳数据包(或者称为心跳包),使得业务服务器可以根据是否接收到该心跳包,判断网关与该业务服务器是否连接正常。
3.现有的心跳包发送方法主要为:针对任一业务插件,网关开放该业务插件对应的端口。通过该端口,网关可以向该业务插件对应的业务服务器发送心跳包。然而,若网关长时间开放多个端口,则可能导致网关因为端口暴露被入侵的概率增加。因此,现有的心跳包发送方法的安全性较差。


技术实现要素:

4.本技术提供一种心跳包发送方法、装置、电子设备及存储介质,用以解决现有的心跳包发送方法的安全性较差的问题。
5.第一方面,本技术提供一种心跳包发送方法,所述方法包括:
6.在安装第一业务插件的过程中,获取第一业务插件的初始心跳配置信息;心跳配置信息包括:心跳包的初次发送时间,以及,心跳包的发送周期;
7.若存在m个已安装的第二业务插件,则根据所述初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新所述初始心跳配置信息的心跳包的初次发送时间,以得到所述第一业务插件的第一心跳配置信息;所述m为大于或等于1的整数;
8.根据所述第一心跳配置信息,向所述第一业务插件所属的第一业务服务器发送心跳包。
9.可选的,心跳配置信息还包括:向业务插件所属的业务服务器发送心跳包所使用的端口的信息;
10.所述根据所述初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新所述第一心跳配置信息的心跳包的初次发送时间,包括:
11.从所述第一心跳配置信息中获取第一端口的信息,并从m个所述第二心跳配置信息中获取m个第二端口的信息;
12.根据所述第一端口的信息,以及,m个所述第二端口的信息,确定m个所述第二端口中是否存在与所述第一端口相同的n个第三端口;所述n为小于或等于m的正整数;
13.根据m个所述第二端口中是否存在与所述第一端口相同的n个第三端口的结果,以
及,所述n个第三端口对应的第三心跳配置信息,更新所述第一心跳配置信息的心跳包的初次发送时间。
14.可选的,所述根据m个所述第二端口中是否存在与所述第一端口相同的n个第三端口的结果,以及,所述n个第三端口对应的第三心跳配置信息,更新所述第一心跳配置信息的心跳包的初次发送时间,包括:
15.若存在与所述第一端口相同的n个第三端口,则根据n个所述第三端口对应的第三心跳配置信息,确定n个向所述第三业务服务器下次发送心跳包的时间;
16.若所述n个下次发送心跳包的时间中,存在至少一个时间,与,所述第一心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长,则调整初始心跳配置信息的心跳包的初次发送时间,以使所述第一端口的开放时长小于第二预设时长。
17.可选的,所述根据m个所述第二端口中是否存在与所述第一端口相同的n个第三端口的结果,以及,所述n个第三端口对应的第三心跳配置信息,更新所述第一心跳配置信息的心跳包的初次发送时间,包括:
18.若不存在与所述第一端口相同的n个第三端口,则根据m个所述第二端口对应的第二心跳配置信息,确定m个向所述第二业务服务器下次发送心跳包的时间;
19.若所述m个下次发送心跳包的时间中,存在至少一个时间,与,所述第一心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长,则调整初始心跳配置信息的心跳包的初次发送时间,以使所述第一端口的开放时间与各所述第二端口的开放时间的间隔大于第二预设时长。
20.可选的,所述获取第一业务插件的初始心跳配置信息,包括:
21.从所述第一业务插件的安装包中获取所述第一业务插件的初始心跳配置信息。
22.可选的,所述方法还包括;
23.接收来自终端设备的第一业务插件安装请求;
24.根据所述第一业务插件安装请求,从所述第一业务插件所属的第一业务服务器下载所述第一业务插件的安装包;
25.所述安装第一业务插件,包括:
26.使用所述安装包安装所述第一业务插件。
27.可选的,所述获取第一业务插件的初始心跳配置信息之后,所述方法还包括:
28.若不存在已安装的第二业务插件,则将所述初始心跳配置信息作为所述第一心跳配置信息;
29.根据所述第一心跳配置信息,向所述第一业务插件所属的第一业务服务器发送心跳包。
30.可选的,所述方法还包括:
31.调整向各业务插件所属的业务服务器发送心跳包所使用的端口;
32.根据调整后的端口,更新各业务插件的心跳配置信息中的端口信息。
33.可选的,所述方法还包括:
34.调整所述心跳包的发送周期,得到调整后的心跳包的目标发送周期;所述心跳包的目标发送周期大于所述心跳包的发送周期;
35.向所述第一业务插件所属的第一业务服务器,发送指示信息;所述指示信息包括:
所述调整后的心跳包的目标发送周期;
36.根据所述心跳包的目标发送周期,向所述第一业务插件所属的第一业务服务器发送心跳包。
37.第二方面,本技术提供一种心跳包发送装置,所述装置包括:
38.获取模块,用于在安装第一业务插件的过程中,获取第一业务插件的初始心跳配置信息;心跳配置信息包括:心跳包的初次发送时间,以及,心跳包的发送周期;所述m为大于或等于1的整数;
39.处理模块,用于在存在m个已安装的第二业务插件时,根据所述初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新所述初始心跳配置信息的心跳包的初次发送时间,以得到所述第一业务插件的第一心跳配置信息;
40.发送模块,用于根据所述第一心跳配置信息,向所述第一业务插件所属的第一业务服务器发送心跳包。
41.第三方面,本技术提供一种电子设备,包括:至少一个处理器、存储器;
42.所述存储器存储计算机执行指令;
43.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。
44.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
45.第五方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。
46.本技术提供的心跳包发送方法、装置、电子设备及存储介质,通过在安装第一业务插件时,获取包括心跳包的初次发送时间和发送周期的第一业务插件的初始心跳配置信息,使得电子设备可以及时基于该初始心跳配置信息调整该第一业务插件对应的心跳包的初次发送时间,提高了调整该初次发送时间的效率。在存在已安装的第二业务插件时,通过该初始心跳配置信息和m个第二业务插件的第二心跳配置信息,可以更新初始心跳配置信息的心跳包的初次发送时间,然后电子设备可以基于包括该初次发送时间的第一心跳配置信息,向第一业务插件所属的第一业务服务器发送心跳包。通过上述方法,对第一业务插件对应的心跳包的初次发送时间进行调整,可以减少电子设备开放端口的数量或者减少电子设备开放端口的时间,避免了长时间开放多个端口,提高了发送心跳包的安全性。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
48.图1为一种网关的应用场景示意图;
49.图2为本技术提供的一种心跳包发送方法的流程示意图;
50.图3为本技术提供的一种更新初始心跳配置信息的心跳包的初次发送时间的方法的流程示意图;
51.图4为本技术提供的另一种心跳包发送方法的流程示意图;
52.图5为本技术提供的一种心跳包发送装置的结构示意图;
53.图6为本技术提供的一种电子设备结构示意图。
54.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
55.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
56.图1为一种网关的应用场景示意图。如图1所示,网关中可以安装有业务插件。网关可以在与该业务插件对应的业务服务器连接之后,与该业务插件对应的业务服务器进行交互,进而实现该业务插件对应的业务功能。
57.示例性的,以上述业务插件为用于进行网站推荐的业务插件1为例,如图1所示,用户终端可以通过该网关访问网站a对应的服务器a。可选的,用户终端可以将该网站a的域名或者网际互连协议(internet protocol,ip)地址发送给该网关,该网关可以基于该网站a的域名或者ip地址,连接用户终端和网站a对应的服务器a。此外,网关还可以在获取到该网站a的域名(或者ip地址)之后,将该网站a的域名发送给业务插件1对应的业务服务器1。然后,该业务服务器1可以基于该网站a的域名,确定该网站a对应的推荐网站的信息,并将该推荐网站的信息发送给网关。然后,网关可以将该推荐网站的信息推送给用户终端。
58.其中,上述网关例如可以为路由器等可以用于连接两个不同网络系统的电子设备。本技术对上述网关在不同网络系统之间的具体作用并不进行限定。示例性的,该网关例如可以用于进行通信协议的转换、数据格式的转换或者语言的转换等。此外,应理解,图1仅是以用户终端为手机或者平板电脑为例,对心跳包发送场景进行的示例性说明。本技术对与该网关连接的设备的类型并不进行限定。
59.如前述所说,网关可以在与业务服务器连接之后,实现业务插件对应的业务功能,因此,保障网关与业务服务器之间连接的有效性至关重要。针对网关中安装的任一业务插件,为了保障网关与该业务插件对应的业务服务器之间连接的有效性,网关可以按照预设周期向该业务服务器发送心跳包,使得业务服务器可以根据是否接收到该心跳包,判断网关与该业务服务器是否连接正常。
60.现有的心跳包发送方法主要为:针对任一业务插件,网关开放该业务插件对应的端口。通过该端口,网关向该业务插件对应的业务服务器发送心跳包。以网关中安装有业务插件1和业务插件2,业务插件1对应的端口为端口1,业务插件2对应的端口为端口2为例,网关可以保持开放端口1和端口2,以向业务插件1对应的业务服务器和业务插件2对应的业务服务器发送心跳包。
61.然而,若网关长时间开放多个端口,则可能导致网关因为端口暴露被入侵的概率增加。因此,现有的心跳包发送方法的安全性较差。
62.考虑到现有的心跳包发送方法的安全性较差的原因是长时间开放多个端口,因
此,本技术提供了一种避免长时间开放多个端口的方法,以提高发送心跳包的安全性。
63.可选的,上述方法的执行主体例如可以为网关等具有处理能力,且需要向业务服务器发送心跳包的电子设备。也就是说,本技术提供的心跳包发送方法不仅可以应用于网关向业务服务器发送心跳包的场景,还可以应用于其他电子设备向业务服务器发送心跳包的场景。此外,本技术对上述业务服务器能够实现的业务功能也不进行限定。
64.下面结合具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
65.图2为本技术提供的一种心跳包发送方法的流程示意图。如图2所示,该方法可以包括以下步骤:
66.s101、在安装第一业务插件的过程中,获取第一业务插件的初始心跳配置信息。
67.其中,上述心跳配置信息包括:心跳包的初次发送时间,以及,心跳包的发送周期。在一些实施例中,该心跳配置信息中例如还可以包括该第一业务插件的标识(例如第一业务插件的名称)、向业务插件所属的业务服务器发送心跳包所使用的端口的信息、与业务插件所属的业务服务器连接所需的ip地址等。
68.可选的,电子设备例如可以在获取到该第一业务插件的安装包之后,安装该第一业务插件。其中,该第一业务插件的安装包中可以包括该第一业务插件的初始心跳配置信息。也就是说,该电子设备例如可以从该第一业务插件的安装包中获取第一业务插件的初始心跳配置信息。
69.或者,电子设备还可以通过与其他电子设备连接之后,接收该其他电子设备对该电子设备的配置指令,进而根据该配置指令安装第一业务插件。其中,该配置指令中例如可以包括第一业务插件的初始心跳配置信息。因此,电子设备还可以在安装第一业务插件的过程中,从上述配置指令中获取第一业务插件的初始心跳配置信息。
70.s102、确定是否存在已安装的第二业务插件。
71.可选的,电子设备中例如可以创建有用于存储已安装的业务插件的标识的列表。在每安装一个业务插件时,电子设备可以将该业务插件的标识添加至该列表中。在该实现方式下,电子设备例如可以通过判断该列表是否为空,确定是否存在已安装的第二业务插件。若电子设备确定上述列表为空,则可以确定不存在已安装的第二业务插件。若电子设备确定上述列表不为空,则可以确定存在已安装的第二业务插件。
72.或者,若电子设备在安装第一个业务插件时,创建上述用于存储已安装的业务插件的标识的列表,则在该实现方式下,电子设备可以根据是否创建有该列表,确定是否存在已安装的第二业务插件。若电子设备中创建有该列表,则可以确定存在已安装的第二业务插件。若电子设备中无该列表,则可以确定不存在已安装的第二业务插件。
73.若电子设备确定存在已安装的第二业务插件,则可以执行下述步骤s103之后再执行步骤s104。若电子设备确定不存在已安装的第二业务插件,可选的,电子设备可以执行下述步骤s105之后再执行步骤s104。
74.s103、根据初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新初始心跳配置信息的心跳包的初次发送时间,以得到第一业务插件的第一心跳配置信息。
75.其中,上述m为大于或等于1的整数。
76.可选的,在确定存在已安装的第二业务插件之后,电子设备例如可以根据各第二
业务插件的标识,确定各第二业务插件的第二心跳配置信息在电子设备中的存储路径。然后,电子设备可以通过该存储路径,从自身存储的数据中读取m个第二业务插件的第二心跳配置信息。应理解,本技术对m个第二业务插件的第二心跳配置信息在电子设备中的存储位置并不进行限定。
77.示例性的,电子设备可以根据各第二业务插件的第二心跳配置信息中包括的心跳包的初次发送时间,以及,心跳包的发送周期,确定下一次向各第二业务插件所属的业务服务器发送心跳包的时刻。然后,电子设备可以根据下一次向各第二业务插件所属的业务服务器发送心跳包的时刻,以及,上述初始心跳配置信息,确定能够使得“电子设备在预设时间段内开放的端口最少”的第一业务插件对应的心跳包的新的初次发送时间。然后,电子设备可以使用该新的初次发送时间替换初始心跳配置信息的心跳包的初次发送时间,得到第一业务插件的第一心跳配置信息。
78.s104、根据第一心跳配置信息,向第一业务插件所属的第一业务服务器发送心跳包。
79.其中,本技术对电子设备向第一业务插件所属的第一业务服务器发送的心跳包具体包括的内容并不进行限定。示例性的,该心跳包例如可以包括下述至少一项信息:该电子设备的标识、该第一业务插件的标识、预设字段等。
80.可选的,在确定第一心跳配置信息之后,电子设备可以在到达该第一心跳配置信息中包括的心跳包的初次发送时间时,使用预设端口,向第一业务插件所属的第一业务服务器发送心跳包。其中,预设端口可以为该第一心跳配置信息中包括的端口信息所指示的端口。或者,该预设端口还可以为该电子设备为该第一业务插件分配的端口。
81.然后,电子设备可以按照该第一心跳配置信息中包括的心跳包的发送周期,周期性向第一业务插件所属的第一业务服务器发送心跳包。
82.在一些实施例中,电子设备例如还可以接收来自第一业务服务器的更新心跳包发送周期的指令,并按照该指令指示的新的心跳包发送周期更新第一心跳配置信息,以及,按照该指令指示的新的心跳包发送周期向第一业务插件所属的第一业务服务器发送心跳包。
83.s105、将初始心跳配置信息作为第一心跳配置信息。
84.在电子设备确定不存在已安装的第二业务插件时,说明上述第一业务插件为该电子设备安装的第一个业务插件,因此电子设备每次只需在向第一业务服务器发送心跳包时开放一个端口。因此,可选的,电子设备可以将上述初始心跳配置信息作为第一心跳配置信息。然后,电子设备可以执行前述步骤s104。
85.在本实施例中,通过在安装第一业务插件时,获取包括心跳包的初次发送时间和发送周期的第一业务插件的初始心跳配置信息,使得电子设备可以及时基于该初始心跳配置信息调整该第一业务插件对应的心跳包的初次发送时间,提高了调整该初次发送时间的效率。在存在已安装的第二业务插件时,通过该初始心跳配置信息和m个第二业务插件的第二心跳配置信息,可以更新初始心跳配置信息的心跳包的初次发送时间,然后电子设备可以基于包括该初次发送时间的第一心跳配置信息,向第一业务插件所属的第一业务服务器发送心跳包。通过上述方法,对第一业务插件对应的心跳包的初次发送时间进行调整,可以减少电子设备开放端口的数量或者减少电子设备开放端口的时间,避免了长时间开放多个端口,提高了发送心跳包的安全性。
86.下面以心跳配置信息还包括:向业务插件所属的业务服务器发送心跳包所使用的端口的信息为例,对电子设备如何根据初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新初始心跳配置信息的心跳包的初次发送时间,进行详细说明:
87.图3为本技术提供的一种更新初始心跳配置信息的心跳包的初次发送时间的方法的流程示意图。如图3所示,作为一种可能的实现方式,前述步骤s103可以包括以下步骤:
88.s201、从初始心跳配置信息中获取第一端口的信息,并从m个第二心跳配置信息中获取m个第二端口的信息。
89.示例性的,上述端口的信息例如可以为端口号等。针对任一第二业务插件,该第二业务插件对应的第二端口信息与第一端口信息可以相同,也可以不同。
90.s202、根据第一端口的信息,以及,m个第二端口的信息,确定m个第二端口中是否存在与第一端口相同的n个第三端口。
91.其中,上述n为小于或等于m的正整数。
92.示例性的,以上述第一端口信息和第二端口信息均表示端口号为例,电子设备可以在m个第二端口的端口号中存在与第一端口的端口号相同的端口号时,确定存在与第一端口相同的n个第三端口;在m个第二端口的端口号中不存在与第一端口的端口号相同的端口号时,确定不存在与第一端口相同的n个第三端口。
93.s203、根据m个第二端口中是否存在与第一端口相同的n个第三端口的结果,以及,n个第三端口对应的第三心跳配置信息,更新初始心跳配置信息的心跳包的初次发送时间。
94.若m个第二端口中存在与第一端口相同的n个第三端口,说明电子设备需要通过该第一端口,向第一业务插件对应的第一业务服务器,以及,该n个第二业务插件对应的n个业务服务器,发送心跳包。因此,电子设备可以根据该n个第三端口对应的第三心跳配置信息,确定更新后初始心跳配置信息的心跳包的初次发送时间,以减少电子设备开放该第一端口的时长,进而可以降低电子设备因为端口暴露被入侵的概率,从而提高了心跳包发送的安全性。
95.可选的,电子设备可以先根据该n个第三端口对应的第三心跳配置信息,确定n个向第三业务服务器下次发送心跳包的时间。
96.示例性的,针对任一第二业务插件对应的第三心跳配置信息,电子设备可以根据该第三心跳配置信息中的心跳包的初次发送时间,以及,心跳包的发送周期,确定向第三业务服务器下次发送心跳包的时间。示例性的,以心跳包的初次发送时间为xx年xx月xx日14点整,心跳包的发送周期为10秒为例,假设当前时间为同年同月同日的15点整,则电子设备可以确定该第二业务插件对应的向第三业务服务器下次发送心跳包的时间为15点0分10秒。
97.或者,针对任一第二业务插件对应的第三心跳配置信息,电子设备还可以记录每次向该第二业务插件对应的业务服务器发送心跳包的时间,电子设备可以根据最近一次向该第二业务插件对应的业务服务器发送心跳包的时间,以及,该第二业务插件对应的心跳包的发送周期,确定向第三业务服务器下次发送心跳包的时间。
98.在确定n个向第三业务服务器下次发送心跳包的时间之后,电子设备可以判断该n个下次发送心跳包的时间中,是否存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长。
99.若n个下次发送心跳包的时间中,存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长,说明电子设备可能需要开放较长时间的该第一端口用于发送心跳包。则,电子设备可以调整初始心跳配置信息的心跳包的初次发送时间,以使第一端口的开放时长小于第二预设时长。
100.应理解,上述第一预设时长和第二预设时长可以是用户预先存储在该电子设备中的。该第一预设时长和第二预设时长可以相同,也可以不同。第一预设时长可以小于第二预设时长,也可以大于第二预设时长。
101.此外,应理解,本技术对电子设备如何调整上述初始心跳配置信息的心跳包的初次发送时间,使第一端口的开放时长小于第二预设时长,并不进行限定。示例性的,电子设备例如可以将该n个下次发送心跳包的时间中的任意一个时间作为第一心跳配置信息的心跳包的初次发送时间。或者,电子设备中例如还可以预先存储有训练好的神经网络模型。该训练好的神经网络模型可以用于“根据输入的初始心跳配置信息和n个第三心跳配置信息,输出使得第一端口的开放时长小于第二预设时长的第一业务插件对应的心跳包的初次发送时间”。其中,本技术对上述神经网络模型的类型,以及,训练该神经网络模型的方法均不进行限定。
102.若m个第二端口中存在与第一端口相同的n个第三端口,且n个下次发送心跳包的时间中,不存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长,说明电子设备不需要开放较长时间的该第一端口。因此,可选的,电子设备例如可以不对该初始心跳配置信息的心跳包的初次发送时间进行调整,进而可以减少占用电子设备的计算资源。
103.若不存在与第一端口相同的n个第三端口,说明电子设备除了需要开放各第二业务插件对应的端口之后,还需要再增加开放该第一端口,向第一业务插件对应的第一业务服务器发送心跳包。因此,可选的,电子设备可以调整初始心跳配置信息的心跳包的初次发送时间,使得第一端口的开放时间与各第二端口的开放时间的间隔大于第一预设时长,进而使得电子设备不在第一预设时长中开放过多的端口,减少了同一时段内电子设备开放端口的数量,进而提高了心跳包发送的安全性。
104.可选的,电子设备可以先根据m个第二端口对应的第二心跳配置信息,确定m个向第二业务服务器下次发送心跳包的时间。可选的,电子设备确定m个向第二业务服务器下次发送心跳包的时间的具体实现方式,可以参照前述实施例所述的确定n个向第三业务服务器下次发送心跳包的时间的具体实现方式,在此不再赘述。
105.在确定m个向第二业务服务器下次发送心跳包的时间之后,电子设备可以判断该m个下次发送心跳包的时间中,是否存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长。
106.若m个下次发送心跳包的时间中,存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长,说明电子设备可能会在第一预设时长的时间段内开放较多的端口用于发送心跳包。因此,电子设备可以调整初始心跳配置信息的心跳包的初次发送时间,使得第一端口的开放时间与各第二端口的开放时间的间隔大于第二预设时长。
107.应理解,本技术对电子设备如何调整上述初始心跳配置信息的心跳包的初次发送
时间,使得第一端口的开放时间与各第二端口的开放时间的间隔大于第二预设时长,并不进行限定。示例性的,以该电子设备中存在1个已安装的第二业务插件为例,电子设备例如可以将与该第二业务插件对应的下次发送心跳包的时间间隔大于上述第二预设时长的时刻作为调整后的第一心跳配置信息的心跳包的初次发送时间。
108.在一些实施例中,随着电子设备中安装的业务插件的数量增加,电子设备还可以更新用于调整初始心跳配置信息的心跳包的初次发送时间的逻辑算法,以提高电子设备对该初次发送时间进行调整的准确性,进而进一步提高了电子设备进行心跳包发送的安全性。示例性的,电子设备例如可以接收来自用于管理该电子设备的服务器的更新后的用于调整初始心跳配置信息的心跳包的初次发送时间的逻辑算法。
109.若m个第二端口中不存在与第一端口相同的n个第三端口,且m个下次发送心跳包的时间中,不存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长,说明电子设备不需在第一预设时长中开放过多的端口。因此,可选的,电子设备例如可以不对该初始心跳配置信息的心跳包的初次发送时间进行调整,进而可以减少占用电子设备的计算资源。
110.下面对电子设备如何获取第一业务插件的初始心跳配置信息进行详细说明:
111.如前述所说,电子设备例如可以从第一业务插件的安装包中获取第一业务插件的初始心跳配置信息。
112.在该实现方式下,可选的,电子设备例如可以先接收来自终端设备的第一业务插件安装请求。然后电子设备可以根据该第一业务插件安装请求,从第一业务插件所属的第一业务服务器下载上述第一业务插件的安装包。然后,电子设备可以使用该安装包安装第一业务插件。
113.其中,上述第一业务插件的安装请求中,例如可以包括该第一业务插件所属的第一业务服务器的ip地址。通过该ip地址,电子设备可以与该第一业务服务器连接,进而实现从第一业务服务器下载上述第一业务插件的安装包。
114.在该实现方式下,该电子设备例如可以为前述网关,或者智能家居等电子设备。上述终端设备例如可以为手机、平板电脑等终端设备。在一些实施例中,该终端设备中例如可以安装有用于控制上述电子设备的应用程序(application,app),终端设备例如可以通过该app提供的用户界面,向电子设备发送第一业务插件安装请求。
115.或者,电子设备还可以接收用户触发的第一业务插件安装请求,然后,根据该用户触发的第一业务插件安装请求,电子设备可以从第一业务插件所属的第一业务服务器下载上述第一业务插件的安装包,以及,使用该安装包安装第一业务插件。在该实现方式下,该电子设备例如可以为手机、平板电脑等可以接收用户触发信息的电子设备。
116.作为一种可能的实现方式,电子设备还可以调整向各业务插件所属的业务服务器发送心跳包所使用的端口,然后根据调整后的端口,更新各业务插件的心跳配置信息中的端口信息。通过上述方法,电子设备可以改变发送心跳包所使用的端口,进而进一步减少了电子设备因为端口暴露被入侵的概率,从而进一步提高了心跳包发送的安全性。
117.在该实现方式下,可选的,电子设备例如可以根据预设端口调整周期,调整向各业务插件所属的业务服务器发送心跳包所使用的端口。其中,上述预设端口调整周期例如可以为用户预先存储在该电子设备中的。
118.示例性的,仍然以端口的信息为端口号为例,针对任一业务插件对应的端口,电子设备例如可以通过将该端口号对应的数值加上预设数值,得到新的端口号。然后,电子设备使用该新的端口号替换该业务插件的心跳配置信息中的端口信息,可以实现更新业务插件的心跳配置信息中的端口信息。其中,上述预设数值例如可以为用户预先存储在该电子设备中的。
119.或者,电子设备例如还可以周期性对各业务插件对应的端口号进行随机分配等。
120.作为一种可能的实现方式,电子设备还可以调整心跳包的发送周期,得到调整后的心跳包的目标发送周期。其中,该调整后的心跳包的目标发送周期可以大于心跳包的发送周期。示例性的,该调整后的心跳包的目标发送周期例如可以为上述心跳包的发送周期的整数倍(例如2倍)。
121.电子设备在调整心跳包的发送周期之后,可以向该第一业务插件所属的第一业务服务器发送用于指示该心跳包的发送周期调整的指示信息。其中,该指示信息例如可以包括调整后的心跳包的目标发送周期。或者,该指示信息例如还可以包括电子设备的标识。
122.通过向第一业务插件所属的第一业务服务器发送上述指示信息,使得第一业务插件所属的第一业务服务器可以获取调整后的心跳包的目标发送周期,进而该第一业务插件所属的第一业务服务器可以根据该心跳包的目标发送周期确定与该电子设备是否连接正常,进而提高了电子设备与该第一业务服务器通信的准确性。
123.然后,电子设备可以根据心跳包的目标发送周期,向第一业务插件所属的第一业务服务器发送心跳包。通过上述方法,可以增大心跳包的发送周期,减少了电子设备开放端口的次数,因此进一步提高了心跳包发送方法的安全性。
124.以上述电子设备为网关、上述终端设备为手机为例,图4为本技术提供的另一种心跳包发送方法的流程示意图。如图4所示,该方法可以包括以下步骤:
125.步骤1、网关接收来自手机的第一业务插件安装请求。
126.步骤2、网关从第一业务插件所属的第一业务服务器下载上述第一业务插件的安装包。
127.步骤3、网关从第一业务插件的安装包中获取的第一业务插件的初始心跳配置信息。
128.可选的,该第一业务插件的安装包中可以包括权限申请文件,该权限申请文件中可以包括初始心跳配置信息。此外,该权限申请文件中例如还可以包括用于申请第一业务插件在网关中的flash分区、占用随机存取存储器(random access memory,ram)大小,以及,底层应用程序接口(application programming interface,api)接口等申请信息。
129.步骤4、确定网关中是否存在已安装的第二业务插件。
130.若存在,则执行步骤5。
131.若不存在,则执行步骤13-步骤14,以将初始心跳配置信息作为第一心跳配置信息。
132.步骤5、从初始心跳配置信息中获取第一端口的信息,并从m个第二心跳配置信息中获取m个第二端口的信息。
133.步骤6、根据第一端口的信息,以及,m个第二端口的信息,确定m个第二端口中是否存在与第一端口相同的n个第三端口。
134.若存在,则执行步骤7。
135.若不存在,则执行步骤10。
136.步骤7、根据该n个第三端口对应的第三心跳配置信息,确定n个向第三业务服务器下次发送心跳包的时间。
137.步骤8、判断该n个下次发送心跳包的时间中,是否存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长。
138.若存在,则执行步骤9。
139.若不存在,则网关可以不对该初始心跳配置信息的心跳包的初次发送时间进行调整。
140.步骤9、调整初始心跳配置信息的心跳包的初次发送时间,得到第一业务插件的第一心跳配置信息,以使第一端口的开放时长小于第二预设时长。
141.然后,网关可以执行步骤14。
142.示例性的,网关例如可以通过调用初始心跳配置信息的标准接口,调整初始心跳配置信息的心跳包的初次发送时间,得到第一业务插件的第一心跳配置信息。
143.步骤10、根据m个第二端口对应的第二心跳配置信息,确定m个向第二业务服务器下次发送心跳包的时间。
144.步骤11、判断该m个下次发送心跳包的时间中,是否存在至少一个时间,与,初始心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长。
145.若存在,则执行步骤12。
146.若不存在,则网关可以不对该初始心跳配置信息的心跳包的初次发送时间进行调整。
147.步骤12、调整初始心跳配置信息的心跳包的初次发送时间,得到第一业务插件的第一心跳配置信息,使得第一端口的开放时间与各第二端口的开放时间的间隔大于第二预设时长。
148.然后,网关可以执行步骤14。
149.步骤13、将初始心跳配置信息作为第一心跳配置信息。
150.步骤14、根据第一心跳配置信息,向第一业务插件所属的第一业务服务器发送心跳包。
151.可选的,网关还可以按照预设频率,执行上述步骤2-步骤14,以减少占用的计算资源。
152.图5为本技术提供的一种心跳包发送装置的结构示意图。如图5所示,该装置可以包括:获取模块301、处理模块302,以及,发送模块303。其中,
153.获取模块301,用于在安装第一业务插件的过程中,获取第一业务插件的初始心跳配置信息。其中,心跳配置信息包括:心跳包的初次发送时间,以及,心跳包的发送周期。
154.处理模块302,用于在存在已安装的第二业务插件时,根据所述初始心跳配置信息,以及,m个第二业务插件的第二心跳配置信息,更新所述初始心跳配置信息的心跳包的初次发送时间,以得到所述第一业务插件的第一心跳配置信息。其中,所述m为大于或等于1的整数。
155.发送模块303,用于根据所述第一心跳配置信息,向所述第一业务插件所属的第一
业务服务器发送心跳包。
156.可选的,心跳配置信息还可以包括:向业务插件所属的业务服务器发送心跳包所使用的端口的信息。在该实现方式下,处理模块302,具体用于从所述第一心跳配置信息中获取第一端口的信息,并从m个所述第二心跳配置信息中获取m个第二端口的信息;根据所述第一端口的信息,以及,m个所述第二端口的信息,确定m个所述第二端口中是否存在与所述第一端口相同的n个第三端口;根据m个所述第二端口中是否存在与所述第一端口相同的n个第三端口的结果,以及,所述n个第三端口对应的第三心跳配置信息,更新所述第一心跳配置信息的心跳包的初次发送时间。其中,所述n为小于或等于m的正整数。
157.可选的,处理模块302,具体用于在存在与所述第一端口相同的n个第三端口时,根据n个所述第三端口对应的第三心跳配置信息,确定n个向所述第三业务服务器下次发送心跳包的时间;在所述n个下次发送心跳包的时间中,存在至少一个时间,与,所述第一心跳配置信息的心跳包的初次发送时间的间隔大于第一预设时长时,调整初始心跳配置信息的心跳包的初次发送时间,以使所述第一端口的开放时长小于第二预设时长。
158.可选的,处理模块302,具体用于在不存在与所述第一端口相同的n个第三端口时,根据m个所述第二端口对应的第二心跳配置信息,确定m个向所述第二业务服务器下次发送心跳包的时间;在所述m个下次发送心跳包的时间中,存在至少一个时间,与,所述第一心跳配置信息的心跳包的初次发送时间的间隔小于或等于第一预设时长时,调整初始心跳配置信息的心跳包的初次发送时间,以使所述第一端口的开放时间与各所述第二端口的开放时间的间隔大于第二预设时长。
159.可选的,获取模块301,具体用于从所述第一业务插件的安装包中获取所述第一业务插件的初始心跳配置信息。
160.可选的,该装置还可以包括接收模块304,用于接收来自终端设备的第一业务插件安装请求;根据所述第一业务插件安装请求,从所述第一业务插件所属的第一业务服务器下载所述第一业务插件的安装包。在该实现方式下,获取模块301,具体用于使用所述安装包安装所述第一业务插件。
161.可选的,处理模块302,还用于在所述获取第一业务插件的初始心跳配置信息之后,在不存在已安装的第二业务插件时,将所述初始心跳配置信息作为所述第一心跳配置信息。发送模块303,用于根据所述第一心跳配置信息,向所述第一业务插件所属的第一业务服务器发送心跳包。
162.可选的,处理模块302,还用于调整向各业务插件所属的业务服务器发送心跳包所使用的端口;根据调整后的端口,更新各业务插件的心跳配置信息中的端口信息。
163.可选的,处理模块302,还用于调整所述心跳包的发送周期,得到调整后的心跳包的目标发送周期。其中,所述心跳包的目标发送周期大于所述心跳包的发送周期。在该实现方式下,发送模块303,还用于向所述第一业务插件所属的第一业务服务器,发送指示信息;根据所述心跳包的目标发送周期,向所述第一业务插件所属的第一业务服务器发送心跳包。其中,所述指示信息包括:所述调整后的心跳包的目标发送周期。
164.本实施例提供的心跳包发送装置,用于执行前述心跳包发送方法实施例,其实现原理与技术效果类似,对此不再赘述。
165.图6为本技术提供的一种电子设备结构示意图。示例性的,该电子设备例如可以为
网关。如图6所示,该电子设备400可以包括:至少一个处理器401和存储器402。
166.存储器402,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
167.存储器402可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
168.处理器401用于执行存储器402存储的计算机执行指令,以实现前述方法实施例所描述的心跳包发送方法。其中,处理器401可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
169.可选的,该电子设备400还可以包括通信接口403。在具体实现上,如果通信接口403、存储器402和处理器401独立实现,则通信接口403、存储器402和处理器401可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
170.可选的,在具体实现上,如果通信接口403、存储器402和处理器401集成在一块芯片上实现,则通信接口403、存储器402和处理器401可以通过内部接口完成通信。
171.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
172.本技术还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的心跳包发送方法。
173.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献