CN115442182B - 一种轮询方法、装置、设备和存储介质 - Google Patents
一种轮询方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115442182B CN115442182B CN202211054864.2A CN202211054864A CN115442182B CN 115442182 B CN115442182 B CN 115442182B CN 202211054864 A CN202211054864 A CN 202211054864A CN 115442182 B CN115442182 B CN 115442182B
- Authority
- CN
- China
- Prior art keywords
- slave
- polling
- offline
- target
- machine
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开一种轮询方法、装置、设备和存储介质,通过对各个目标从机进行多次轮询,在每次轮询过程中,向目标从机中的各个第一从机依次发送轮询指令,以触发每个第一从机对轮询指令进行回复并对未回复的第一从机进行标记;在进入当前轮询过程时,将各个目标从机中已连续预设次数被标记的目标从机确定为离线从机;针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;若满足,则向该离线从机发送轮询指令;若不满足,则不向该离线从机发送轮询指令。该方案通过确定离线从机,并在后续的轮询过程中依据离线从机是否满足轮询要求来决定当轮询到离线从机时是轮询还是跳过,以提高轮询效率。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种轮询方法、装置、设备和存储介质。
背景技术
在各种智能设备的总线通信系统中,一般采用RS485仪表通信接口来进行通信。RS485通常采用两线制,这种接线方式为总线拓扑式结构,因此其通信模式为主从通信模式,即一台主机带多个从机,主机会按照一定顺序依次对每个从机进行轮询。针对一个从机,当轮询该从机后,主机会等待该从机回复应答指令,若主机在一定时间内收到该从机回复的应答指令,则依照上述顺序轮询下一个从机;若主机在一定时间内没有收到该从机回复的应答指令,则不再等待该从机回复应答指令,然后依照上述顺序轮询下一个从机。
但是上述轮询方式是主机要等待每一个从机回复应答指令,若多个从机都无法在一定时间内回复应答指令,则会影响主机轮询其他可以及时回复应答指令的从机,从而降低轮询效率。
发明内容
有鉴于此,本申请提供了一种轮询方法、装置、设备和存储介质,用于解决主机要等待每一个从机回复应答指令,若多个从机都无法在一定时间内回复应答指令,则会影响主机轮询其他可以及时回复应答指令的从机,从而降低轮询效率的问题。
为实现以上目的,现提出的方案如下:
第一方面,一种轮询方法,包括:
对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;
若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。
优选地,所述在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求,包括:
在当前轮询过程中,在对该离线从机发送轮询指令之前,从预设的初始区间中确定与该离线从机对应的目标时间差;
获取该离线从机的前一个第一从机对所述轮询指令进行回复的时间,将该离线从机的前一个第一从机对所述轮询指令进行回复的时间作为第一时间;
基于所述第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求。
优选地,所述基于所述第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求,包括:
若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔不小于所述目标时间差,则该离线从机满足该离线从机对应的轮询要求;
若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔小于所述目标时间差,则该离线从机不满足该离线从机对应的轮询要求。
优选地,在所述若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复之后,还包括:
若该离线从机未对所述轮询指令进行回复,则增大所述初始区间,将增大后的初始区间作为下一次轮询过程中的初始区间;
若该离线从机对所述轮询指令进行回复,则将该离线从机的所有标记删除。
优选地,还包括:
若增大后的初始区间达到预设的最大区间,则针对该离线从机,将所述最大区间作为此后每一次轮询过程中的初始区间,直到该离线从机对所述轮询指令进行回复后,将该离线从机的所有标记删除;
若该离线从机再次连续被标记所述预设次数,则在下一次轮询过程中,将所述预设的初始区间作为该次轮询过程中的初始区间。
优选地,所述目标从机集合的预设过程,包括:
设置轮询范围;
获取预设的各个初始从机的地址;
基于各个所述初始从机的地址,将属于所述轮询范围内的各个初始从机作为各个目标从机;
将各个所述目标从机进行组合,得到所述目标从机集合。
优选地,所述从预设的初始区间中确定与该离线从机对应的目标时间差,包括:
从预设的初始区间中随机选取一个正整数作为与该离线从机对应的目标时间差。
第二方面,一种轮询装置,包括:
轮询模块,用于对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
离线从机确定模块,用于在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
判断模块,用于针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;
满足模块,用于当满足时,在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
不满足模块,用于当不满足时,在当前轮询过程中不向该离线从机发送轮询指令。
第三方面,一种轮询设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如第一方面所述的轮询方法的各个步骤。
第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的轮询方法的各个步骤。
从上述技术方案可以看出,本申请通过对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。该方案对不回复轮询指令的目标从机进行标记,从而确定离线从机,在后续的轮询过程中设置轮询要求,依据离线从机是否满足轮询要求来决定当轮询到离线从机时是照例轮询还是跳过,以此节省每一次轮询的时间,提高轮询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种轮询方法的可选流程图;
图2为本申请实施例提供的另一种轮询方法的可选流程图;
图3为本申请实施例提供的一种轮询装置的结构示意图;
图4为本申请实施例提供的一种轮询设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输入输出”(Programmed I/O)。轮询法的概念是:由CPU定时发出询问,依序询问每一个周边是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。
在各种智能设备的总线通信系统中,一般采用RS485仪表通信接口来进行通信。RS485通常采用两线制,这种接线方式为总线拓扑式结构,因此其通信模式为主从通信模式,即一台主机带多个从机,主机会按照一定顺序依次对每个从机进行轮询。针对一个从机,当轮询该从机后,主机会等待该从机回复应答指令,若主机在预设时间内收到该从机回复的应答指令,则依照上述顺序轮询下一个从机;若主机在预设时间内没有收到该从机回复的应答指令,则不再等待该从机回复应答指令,然后依照上述顺序轮询下一个从机。
但是上述轮询方式是主机要等待每一个从机回复应答指令,若多个从机都无法在预设时间内回复应答指令,则会影响主机轮询其他可以及时回复应答指令的从机,从而降低轮询效率。
基于上述缺陷,本发明实施例提供一种轮询方法,该方法可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器,所述方法的方法流程图如图1所示,具体包括:
S1:对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个目标从机中的各个第一从机依次发送轮询指令,以触发每个第一从机对轮询指令进行回复,并对未回复的第一从机进行标记。
在本申请提供的实施例中,第一从机为每次轮询过程中需要进行轮询指令发送的目标从机。本方法的执行主体可以为与预设的目标从机集合中的各个目标从机进行主从通信模式连接的一个主机。
可以理解的是,在轮询过程中,主机向各个目标从机中的各个第一从机依次发送一个轮询指令,比如0×60,轮询指令可根据具体通信场景而定,本实施例对此不做限制。各个第一从机在接收到主机发送的轮询指令后,对于每一个第一从机而言,若第一从机在线,则会对该轮询指令进行回复,比如回复0×10,以表明自己当前在线,其中,回复的0×10中,可以携带一些该第一从机的基本信息,比如该第一从机的地址、IP、MAC等等;若该第一从机不在线,则不会对轮询指令进行回复。但是,本申请中并不会因为第一从机一次未回复就认定该第一从机处于离线状态。
具体地,在每次轮询过程中,可以按照预设的轮询顺序依次向各个所述目标从机中的各个第一从机依次发送轮询指令。在一个示例中,一共有5个目标从机,在一次轮询过程中,这5个目标从机都作为第一从机,这5个第一从机的地址分别为01,02,03,04,05,那么预设的轮询顺序为01~05或者为05~01,设置轮询顺序的目的一是方便主机依次进行轮询,二是保证每一个第一从机被轮询的概率是一样的。
S2:在进入当前轮询过程时,将各个目标从机中已连续预设次数被标记的目标从机确定为离线从机。
该预设次数可以设置为两次或者三次等次数较少的数值,因为若只有一次没有回复就将该第一从机确定为离线从机是不准确的,因为要考虑到该第一从机未收到轮询指令才没有回复,或者只是突然不在线因此并没有回复。
可以理解的是,对于一个目标从机而言,若该目标从机连续两次都没有对轮询指令进行回复,则可以将该目标从机确定为离线从机。
S3:针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求。
S4:若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对轮询指令进行回复。
S5:若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。
下面将步骤S3、S4和S5进行联合说明。具体地,在每一次轮询过程中,针对已确定的每一个离线从机,可以设置当前轮询过程中该离线从机对应的轮询要求,若该离线从机满足与其对应的轮询要求,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对轮询指令进行回复;若该离线从机不满足与其对应的轮询要求,则在当前轮询过程中不向该离线从机发送轮询指令,即收到该离线从机之前的第一从机的回复后,跳过该离线从机,继续轮询该离线从机的下一个第一从机。
可以理解的是,对于在线的目标从机,向它们发送轮询指令后,会等待一定的时间以供在线的目标从机进行回复。一般情况下,在线的目标从机会很快的进行回复,而对于离线从机而言,如果可以直接根据轮询要求判断对离线从机是否进行轮询,则可以节省等待离线从机对轮询指令进行回复的时间,以此提高轮询效率。
从上述技术方案可以看出,本申请通过对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。该方案对不回复轮询指令的目标从机进行标记,从而确定离线从机,在后续的轮询过程中设置轮询要求,依据离线从机是否满足轮询要求来决定当轮询到离线从机时是照例轮询还是跳过,以此节省每一次轮询的时间,提高轮询效率。
本发明实施例提供的方法中,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求的流程如图2所示,具体说明如下所述:
S31:在当前轮询过程中,在对该离线从机发送轮询指令之前,从预设的初始区间中确定与该离线从机对应的目标时间差。
可选的,预设的初始区间可以设置为“[1000,3000]”,单位为毫秒,初始区间的范围可以依据对应离线从机的特征参数或者应用场景而定,本实施例对此不做限制。其中,可以从预设的初始区间中随机选取一个正整数作为与离线从机对应的目标时间差,比如选取2000ms作为目标时间差。
S32:获取该离线从机的前一个第一从机对轮询指令进行回复的时间,将该离线从机的前一个第一从机对轮询指令进行回复的时间作为第一时间。
在对该离线从机发送轮询指令之前,获取该离线从机的前一个第一从机对轮询指令进行回复的时间,并将该时间作为第一时间。
可以理解的是,若接收到该离线从机的前一个第一从机对轮询指令的回复,那么主机可以对该回复进行业务处理,处理完后再进行该离线从机是否满足轮询要求的判断。因此,第一时间也可以表示为将要对该离线从机发送轮询指令的时间,或者判断该离线从机是否满足轮询要求的时间。
S33:基于第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求。
优选地,判断该离线从机是否满足与该离线从机对应的轮询要求可以包括以下两种情况:
S331:若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔不小于所述目标时间差,则该离线从机满足该离线从机对应的轮询要求。
S332:若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔小于所述目标时间差,则该离线从机不满足该离线从机对应的轮询要求。
可以理解的是,判断对该离线从机的连续两次轮询之间的时间间隔,若该时间间隔不小于目标时间差,即该离线从机满足与其对应的轮询要求,则可以去确定该离线从机是否在线;若该时间间隔小于目标时间差,则该离线从机不满足该离线从机对应的轮询要求,那么可以认为该离线从机恢复在线状态的概率较小,因此本次轮询跳过该离线从机,从而节省整体轮询时间。
上述方案中对本申请中如何在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求的过程进行了说明,下面对若离线从机满足当前轮询过程中与该离线从机对应的轮询要求,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复之后的过程进行补充。
1)在该离线从机接收到轮询指令后,若该离线从机未对所述轮询指令进行回复,则增大所述初始区间,将增大后的初始区间作为下一次轮询过程中的初始区间。
2)若该离线从机对所述轮询指令进行回复,则将该离线从机的所有标记删除。
在本申请提供的一个实施例中,该方法还可以包括:
若增大后的初始区间达到预设的最大区间,则针对该离线从机,将所述最大区间作为此后每一次轮询过程中的初始区间,直到该离线从机对所述轮询指令进行回复后,将该离线从机的所有标记删除。
若该离线从机再次连续被标记所述预设次数,则在下一次轮询过程中,将所述预设的初始区间作为该次轮询过程中的初始区间。
下面列举一个示例来对本申请中提供的轮询方法进行说明:
预设的目标从机中共有4个目标从机,编号分别为1、2、3、4,轮询顺序设置为1~4。
下面开始轮询,在第一次轮询过程中,4个目标从机都作为第一从机,主机向这4个第一从机按照1~4的顺序依次发送轮询指令,以触发每个第一从机对该轮询指令进行回复。其中,第一从机2未对轮询指令进行回复,第一从机1、第一从机3和第一从机4均对轮询指令进行了回复,那么将第一从机2进行标记。
接下来开始进行第二次轮询,在第二次轮询过程中,这4个目标从机依然都作为第一从机,主机向这4个第一从机按照1~4的顺序依次发送轮询指令,以触发每个第一从机对该轮询指令进行回复。其中,第一从机2依旧没有对轮询指令进行回复,而第一从机1、第一从机3和第一从机4依然都对轮询指令进行了回复,那么再次对第一从机2进行标记。
那么在进行第三次轮询之前,可以将被标记了两次的第一从机2确定为离线从机2。
下面开始进行第三次轮询,在第三次轮询过程中,可以首先确定目标从机1、目标从机3和目标从机4均为第一从机,离线从机2是否为该次轮询的第一从机还需进行进一步判断,判断过程包括:设置该离线从机2的初始区间为[1000,3000]。主机向第一从机1发送轮询指令后,第一从机1对轮询指令进行了回复,第一从机1为目标从机2的前一个第一从机,因此获取第一从机1对轮询指令进行回复的时间,将该时间作为第一时间,同时获取在第二次轮询过程中对该离线从机2发送轮询指令的时间,可以将该时间作为第二时间。基于初始区间[1000,3000],从中随机选取一个正整数2000作为目标时间差,若第一时间与第二时间之间的时间间隔不小于2000ms,则依旧向该离线从机2发送轮询指令;若第一时间与第二时间之间的时间间隔小于2000ms,则本次轮询不向该离线从机2发送轮询指令。若该离线从机2对轮询指令进行了回复,则将该离线从机2的两个标记全部删除,在第四次轮询过程中,它依然作为可以直接发送轮询指令的第一从机。
若该离线从机2还是没有对轮询指令进行回复,在第四次轮询过程中,将初始区间[1000,3000]增大,增大为[2000,4000],那么,在向该离线从机2发送轮询指令之前,从增大后的初始区间[2000,4000]中随机选取一个正整数,比如选取3000ms作为目标时间差,则获取第三次轮询过程中向该离线从机发送轮询指令的时间,和本次轮询过程中第一从机1对轮询指令进行回复的时间,若二者之间的时间差不小于3000ms,则本次轮询依然向离线从机2发送轮询指令;若二者之间的时间差小于3000ms,则本次轮询不向离线从机2发送轮询指令。
若第四次轮询依然向离线从机2发送轮询指令,离线从机2还是没有对轮询指令进行回复,则在第五次轮询过程中,对第四次轮询过程中增大后的初始区间再次增大,即增大[2000,4000],例如增大为[3000,5000],而预设的最大区间为[3000,5000],那么在此后的轮询过程中不再增大初始区间,若该离线从机2一直未对轮询指令进行回复,那么最大区间为当次轮询过程中的初始区间,直到该离线从机2对轮询指令进行了回复,那么将第三次轮询时的初始区间作为下一次轮询时的初始区间。
在本申请提供的另一个实施例中,目标从机集合的预设过程可以包括:
首先设置轮询范围,然后获取预设的各个初始从机的地址,基于各个所述初始从机的地址,将属于所述轮询范围内的各个初始从机作为各个目标从机,最后将各个所述目标从机进行组合,得到所述目标从机集合。其中,初始从机的地址可以配置成参数从而方便主机进行控制,同时支持后期自定义修改,本实施例对此不做限制。
与图1所述的方法相对应,本发明实施例还提供了一种轮询装置,用于对图1中方法的具体实现,本发明实施例提供的轮询装置可以在计算机终端或各种移动设备中,结合图3,对轮询装置进行介绍,如图3所示,该装置可以包括:
轮询模块10,用于对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机。
离线从机确定模块20,用于在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机。
判断模块30,用于针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求。
满足模块40,用于当满足时,在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复。
不满足模块50,用于当不满足时,在当前轮询过程中不向该离线从机发送轮询指令。
从上述技术方案可以看出,本申请通过对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。该方案对不回复轮询指令的目标从机进行标记,从而确定离线从机,在后续的轮询过程中设置轮询要求,依据离线从机是否满足轮询要求来决定当轮询到离线从机时是照例轮询还是跳过,以此节省每一次轮询的时间,提高轮询效率。
在一个示例中,所述判断模块30可以包括:
目标时间差确定模块,用于在当前轮询过程中,在对该离线从机发送轮询指令之前,从预设的初始区间中确定与该离线从机对应的目标时间差。
时间获取模块,用于获取该离线从机的前一个第一从机对所述轮询指令进行回复的时间,将该离线从机的前一个第一从机对所述轮询指令进行回复的时间作为第一时间。
最终判断模块,基于所述第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求。
在一个示例中,所述最终判断模块可以包括:
第一最终判断子模块,用于若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔不小于所述目标时间差,则该离线从机满足该离线从机对应的轮询要求。
第二最终判断子模块,若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔小于所述目标时间差,则该离线从机不满足该离线从机对应的轮询要求。
在一个示例中,该装置可以包括:
初始区间增大模块,用于若该离线从机未对所述轮询指令进行回复,则增大所述初始区间,将增大后的初始区间作为下一次轮询过程中的初始区间。
标记删除模块,用于若该离线从机对所述轮询指令进行回复,则将该离线从机的所有标记删除。
在一个示例中,该装置还可以包括:
最大初始区间设置模块,用于若增大后的初始区间达到预设的最大区间,则针对该离线从机,将所述最大区间作为此后每一次轮询过程中的初始区间,直到该离线从机对所述轮询指令进行回复后,将该离线从机的所有标记删除。
初始区间重置模块,用于若该离线从机再次连续被标记所述预设次数,则在下一次轮询过程中,将所述预设的初始区间作为该次轮询过程中的初始区间。
在一个示例中,该装置还可以包括:
轮询范围设置模块,用于设置轮询范围。
地址获取模块,用于获取预设的各个初始从机的地址。
目标从机确定模块,用于基于各个所述初始从机的地址,将属于所述轮询范围内的各个初始从机作为各个目标从机。
组合模块,用于将各个所述目标从机进行组合,得到所述目标从机集合。
在一个示例中,所述目标时间差确定模块可以包括:
目标时间差确定子模块,用于从预设的初始区间中随机选取一个正整数作为与该离线从机对应的目标时间差。
更进一步地,本申请实施例提供了一种轮询设备。可选的,图4示出了轮询设备的硬件结构框图,参照图4,轮询设备的硬件结构可以包括:至少一个处理器01,至少一个通信接口02,至少一个存储器03和至少一个通信总线04。
在本申请实施例中,处理器01、通信接口02、存储器03、通信总线04的数量为至少一个,且处理器01、通信接口02、存储器03通过通信总线04完成相互间的通信。
处理器01可以是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。
存储器03可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于执行下述轮询方法,包括:
对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;
若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。可选的,程序的细化功能和扩展功能可参照方法实施例中的轮询方法的描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,在所述程序运行时控制所述存储介质所在的设备执行下述轮询方法,包括:
对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;
若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
若不满足,则在当前轮询过程中不向该离线从机发送轮询指令。
具体地,该存储介质可以是一种计算机可读存储介质,计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。
可选的,程序的细化功能和扩展功能可参照方法实施例中的轮询方法的描述。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种轮询方法,其特征在于,包括:
对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;
若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
若不满足,则在当前轮询过程中不向该离线从机发送轮询指令;
所述在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求的过程,包括:
在当前轮询过程中,在对该离线从机发送轮询指令之前,从预设的初始区间中确定与该离线从机对应的目标时间差;
获取该离线从机的前一个第一从机对所述轮询指令进行回复的时间,将该离线从机的前一个第一从机对所述轮询指令进行回复的时间作为第一时间;
基于所述第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求;其中,若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔不小于所述目标时间差,则该离线从机满足该离线从机对应的轮询要求;若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔小于所述目标时间差,则该离线从机不满足该离线从机对应的轮询要求。
2.根据权利要求1所述的方法,其特征在于,在所述若满足,则在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复之后,还包括:
若该离线从机未对所述轮询指令进行回复,则增大所述初始区间,将增大后的初始区间作为下一次轮询过程中的初始区间;
若该离线从机对所述轮询指令进行回复,则将该离线从机的所有标记删除。
3.根据权利要求2所述的方法,其特征在于,还包括:
若增大后的初始区间达到预设的最大区间,则针对该离线从机,将所述最大区间作为此后每一次轮询过程中的初始区间,直到该离线从机对所述轮询指令进行回复后,将该离线从机的所有标记删除;
若该离线从机再次连续被标记所述预设次数,则在下一次轮询过程中,将所述预设的初始区间作为该次轮询过程中的初始区间。
4.根据权利要求1所述的方法,其特征在于,所述目标从机集合的预设过程,包括:
设置轮询范围;
获取预设的各个初始从机的地址;
基于各个所述初始从机的地址,将属于所述轮询范围内的各个初始从机作为各个目标从机;
将各个所述目标从机进行组合,得到所述目标从机集合。
5.根据权利要求1所述的方法,其特征在于,所述从预设的初始区间中确定与该离线从机对应的目标时间差,包括:
从预设的初始区间中随机选取一个正整数作为与该离线从机对应的目标时间差。
6.一种轮询装置,其特征在于,包括:
轮询模块,用于对预设的目标从机集合中的各个目标从机进行多次轮询,在每次轮询过程中,向各个所述目标从机中的各个第一从机依次发送轮询指令,以触发每个所述第一从机对所述轮询指令进行回复,并对未回复的第一从机进行标记;所述第一从机为每次轮询过程中需要进行轮询指令发送的目标从机;
离线从机确定模块,用于在进入当前轮询过程时,将各个所述目标从机中已连续预设次数被标记的目标从机确定为离线从机;
判断模块,用于针对每一个离线从机,在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求;其中,所述在当前轮询过程中,判断该离线从机是否满足当前轮询过程中与该离线从机对应的轮询要求的过程,包括:在当前轮询过程中,在对该离线从机发送轮询指令之前,从预设的初始区间中确定与该离线从机对应的目标时间差;获取该离线从机的前一个第一从机对所述轮询指令进行回复的时间,将该离线从机的前一个第一从机对所述轮询指令进行回复的时间作为第一时间;基于所述第一时间和与该离线从机对应的目标时间差,判断该离线从机是否满足与该离线从机对应的轮询要求;其中,若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔不小于所述目标时间差,则该离线从机满足该离线从机对应的轮询要求;若所述第一时间与上一次轮询过程中向该离线从机发送轮询指令的时间之间的时间间隔小于所述目标时间差,则该离线从机不满足该离线从机对应的轮询要求;
满足模块,用于当满足时,在当前轮询过程中向该离线从机发送轮询指令,以触发该离线从机对所述轮询指令进行回复;
不满足模块,用于当不满足时,在当前轮询过程中不向该离线从机发送轮询指令。
7.一种轮询设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-5任一项所述的轮询方法的各个步骤。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-5任一项所述的轮询方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211054864.2A CN115442182B (zh) | 2022-08-31 | 2022-08-31 | 一种轮询方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211054864.2A CN115442182B (zh) | 2022-08-31 | 2022-08-31 | 一种轮询方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442182A CN115442182A (zh) | 2022-12-06 |
CN115442182B true CN115442182B (zh) | 2023-07-07 |
Family
ID=84244663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211054864.2A Active CN115442182B (zh) | 2022-08-31 | 2022-08-31 | 一种轮询方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442182B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859183A (zh) * | 2005-12-30 | 2006-11-08 | 华为技术有限公司 | 一种实现设备状态轮询的方法及装置 |
CN102684923A (zh) * | 2012-05-24 | 2012-09-19 | 江苏华德电力科技有限公司 | 一种半双工异步通信自愈组网方法 |
CN103428040A (zh) * | 2012-05-18 | 2013-12-04 | 中兴通讯股份有限公司 | 一种从机在位信息自动检测方法、系统和主机 |
CN108833602A (zh) * | 2018-05-24 | 2018-11-16 | 湖北文理学院 | 一种基于元器件制造差异的总线地址自动分配方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11122506B2 (en) * | 2019-12-27 | 2021-09-14 | Intel Corporation | Idle connection optimization for wireless devices |
-
2022
- 2022-08-31 CN CN202211054864.2A patent/CN115442182B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859183A (zh) * | 2005-12-30 | 2006-11-08 | 华为技术有限公司 | 一种实现设备状态轮询的方法及装置 |
CN103428040A (zh) * | 2012-05-18 | 2013-12-04 | 中兴通讯股份有限公司 | 一种从机在位信息自动检测方法、系统和主机 |
CN102684923A (zh) * | 2012-05-24 | 2012-09-19 | 江苏华德电力科技有限公司 | 一种半双工异步通信自愈组网方法 |
CN108833602A (zh) * | 2018-05-24 | 2018-11-16 | 湖北文理学院 | 一种基于元器件制造差异的总线地址自动分配方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于边缘计算和优先级分类的智能楼宇网关设计;李凌冬;《现代电子技术》;67-71 * |
Also Published As
Publication number | Publication date |
---|---|
CN115442182A (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11246168B2 (en) | Method for random access and terminal device | |
CN109492019A (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
CN115442182B (zh) | 一种轮询方法、装置、设备和存储介质 | |
CN104901724B (zh) | 一种数据传输方法 | |
CN115442333A (zh) | 基于rs485通信的自组网方法、装置、计算机设备及介质 | |
CN111355765B (zh) | 一种网络请求的处理、发送方法及装置 | |
CN108601094B (zh) | 一种关联方法及装置 | |
CN111818127B (zh) | 数据同步方法及装置 | |
CN110474825B (zh) | 设备接入系统、设备接入服务器方法、应用及设备服务器 | |
CN112566104A (zh) | 基于Mesh网络的漫游协同方法、无线访问接入点及存储介质 | |
CN108881435B (zh) | 实时时钟提供方法、服务器、家电设备、系统和介质 | |
CN111654426A (zh) | 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备 | |
CN114087727B (zh) | 无线配对方法、装置、系统、上下位机节点及空调机组 | |
CN114398161A (zh) | 机器人调度平台、机器人、介质、任务部署方法与系统 | |
CN110362151B (zh) | 一种可自适应调整的图像帧间变频方法及存储设备 | |
CN110913416B (zh) | 终端及其联网方法和计算机可读存储介质 | |
CN105978853B (zh) | 一种会话调度方法、调度服务器及终端 | |
CN111049918B (zh) | 一种物联网的通信建立方法及装置 | |
CN110753318B (zh) | 一种智能调整pc5接口转发终端的方法和装置 | |
CN111294374B (zh) | 一种异构设备启动系统、方法、装置及电子设备 | |
CN112601265A (zh) | 基于位置的中继控制方法、装置、电子设备和存储介质 | |
CN116723176B (zh) | 连续编址通信方法、系统、计算机设备和存储介质 | |
CN113504879A (zh) | 数据存储的方法及智能家电 | |
CN112597474A (zh) | 身份确定方法、控制方法与系统、存储介质、终端设备 | |
CN112218278A (zh) | zigbee信道选择方法及切换系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |