端注册信息,即向终端注册信息集合发出查询请求,终端注册信息集合接收到查询请求后输出下一个终端注册信息,服务器读取该终端注册信息后,获取终端注册信息中的终端地址信息,并根据目标数据查询条件生成一个查询指令。
[0077]所述的周期T1根据实际应用情景、机器的相关参数、技术人员的经验或技术方案的要求来灵活设定。
[0078]在本发明实施例中,服务器和终端注册信息集合运行正常的情况下,如果服务器读取终端注册信息超时,说明服务器已经查询到终端注册信息集合的最后一条终端注册信息,则本轮查询结束。
[0079]在查询指令发送单元103中,将所述查询指令经过协调器发送至对应终端。
[0080]在本发明的一个实施例中,ZigBee协调器存储着关联的终端和网络节点的相关信息,主要负责网络的发起、参数的设定、信息的管理及维护功能。
[0081 ] 在本发明的一个实施例中,服务器将带有终端地址信息的查询指令通过相关通信协议发送至协调器,协调器分析接收到的查询指令,通过存储的网络节点信息以及查询指令上的终端地址信息,以点播、组播、广播或其他方式将查询指令发送至对应的终端上。若协调器与终端之间距离较远或者终端数量较多时,协调器与终端之间的通信也可以通过路由器进行中转。
[0082]在终端数据接收单元104中,接收所述终端经过协调器上传的、与所述查询指令对应的终端数据。
[0083]在本发明实施例中,将终端设置为默认不自动上传数据,而是接收到从服务器发出并经过协调器发送过来的查询指令后,才开始上传终端数据至协调器,并经过协调器上传至服务器。
[0084]如图3所示的本发明实施例提供的一种数据获取方法的时序图,详述如下:
[0085]1、服务器将在线并已经注册过的终端的终端注册信息整合成一个终端注册信息集合;
[0086]2、服务器逐个获取终端注册信息集合里的终端注册信息;
[0087]3、将获取的终端注册信息结合目标数据查询条件生成本次的查询指令;
[0088]4、服务器将查询指令发送至协调器;
[0089]5、协调器接收并分析服务器发来的查询指令,协调器预存有本网络的所有网络节点或路由节点的相关信息,查找目标终端的网络节点;
[0090]6、协调器将查询指令发送至目标终端;
[0091]7、目标终端接收并分析通过协调器发过来的查询指令;
[0092]8、终端根据查询指令里的目标数据查询条件,将符合要求的终端数据上传至协调器;
[0093]9、协调器接收终端数据,并将该终端数据发送至服务器;
[0094]10、服务器对终端数据进行检查并与本次获取的终端注册信息进行匹配。
[0095]上述实施例将在线并且已注册的终端的注册信息整合成一个终端注册信息集合,然后逐个获取终端注册信息集合里的终端注册信息,并根据目标数据查询条件生成查询指令,再将查询指令经过协调器发送至对应终端,最后接收所述终端经过协调器上传的、与所述查询指令对应的终端数据,本方法对数据收发进行限制,由服务器定时逐个地询问和命令数据上传,使协调器不再承载超负荷数据,也就避免了当数据高密集传输时因无法存储大量汇集的数据而导致协调器崩溃的问题。
[0096]在本发明的一个实施例中,与终端相连的数据源设备可以是传感器、控制柜、机电设备、电子仪器、二维码标签、RFID标签、读写器、摄像头、红外线、GPS等,终端可以采集与其相连的源数据设备上的源数据,并形成终端数据,在收到查询指令后,将终端数据上传到协调器,协调器通过相关通信协议将终端数据发送至服务器。若协调器与终端之间距离较远或者终端数量较多时,协调器与终端之间的通信也可以通过路由中转。
[0097]作为本发明的一个优选实施例,在终端数据接收单元104之后,所述装置还包括:
[0098]数据匹配单元,用于判断所述终端数据中的终端地址信息与所述终端注册信息中的终端地址信息是否相同,当判断结果为是,则进行后续处理;当判断结果为否,则将所述终端数据丢弃。
[0099]作为本发明一个实施例,可以采用地址对比的方法来判定本次终端上传的终端数据和服务器从终端注册信息集合里读取的终端注册信息是不是对应同一个终端,如果两者是相同的,则说明本次从终端上传的终端数据和从终端注册信息集合里读取的终端注册信息对应的是同一个终端,即本次匹配成功,就可以将该终端数据进行下一步处理;如果两个地址对比不同,说明匹配失败,则将该终端数据丢弃,这样便确保了所获取的数据的准确性。
[0100]作为本发明另一个优选的实施例,在终端数据接收单元104之前,所述装置还包括:
[0101]接收终端数据超时判断单元,用于在接收所述终端经过协调器上传的、与所述查询指令对应的终端数据前,先进行接收终端数据的超时判断。设定一超时时间T2,T2的时长根据实际应用情景、机器的相关参数、技术人员的经验或技术方案的要求来灵活设定。
[0102]在一次数据获取流程中,从服务器向协调器发出查询指令开始计时,当T2时间内接收到本次查询指令指定的终端数据时,不提示超时,当T2时间内未接收到与本次查询指令对应的终端数据,超时判断为是,则放弃对该终端数据的获取;这样,当查询指令对应的终端因发生故障或其他缘故,而无法及时上传终端数据时,会提示接收终端数据超时,使服务器不会一直等待接收该终端数据,而是丢弃本次的终端注册信息或将该注册信息缓存,跳出本次数据获取流程,然后进行下一个数据的获取,使服务器的资源利用更加高效,也避免了因为长时间等待而造成协调器上积累过多的待上传数据。
[0103]图5是本发明实施例提供的一种数据获取系统的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
[0104]本发明实施例提供的数据获取系统包括服务器、协调器200及终端300,所述服务器包括数据获取装置100,为便于说明,图5中服务器仅示出服务器中的数据获取装置100。
[0105]作为本发明的一个实施例,所述数据获取装置100,用于逐个获取终端注册信息集合中的终端注册信息;根据目标数据查询条件及所述终端注册信息生成查询指令;将所述查询指令经过协调器发送至对应终端;接收所述终端经过协调器上传的、与所述查询指令对应的终端数据;所述终端注册信息至少包括终端地址信息,所述目标数据查询条件用于限定查询的数据范围,所述查询指令至少包括终端地址信息和目标数据查询条件。
[0106]作为本发明的一个实施例,数据获取装置100的结构如图4所示实施例,在此不再赘述。
[0107]作为本发明的一个实施例,协调器200,用于建立、维持和管理网络,分配网络地址以及存储网络节点信息和路由信息等。协调器200包括查询指令接收单元201、目标终端节点查询单元202、查询指令送达单元203、终端数据接收及上传单元204。
[0108]其中查询指令接收单元201,用于接收从数据获取装置100的查询指令发送单元103发送过来查询指令。
[0109]目标终端节点查询单元202,用于从协调器200上查找查询指令所指定的终端的网络节点。
[0110]查询指令送达单元203,用于将查询指令发送至目标终端。
[0111]终端数据接收及上传单元204,用于接收目标终端上传的终端数据,并将该终端数据上传至服务器。
[0112]作为本发明的一个实施例,终端300包含源数据获取单元301、终端数据生成单元302、终端数据上传单元303、查询指令接收单元304。
[0113]源数据获取单元301,用于采集源数据。
[0114]作为本发明的一个实施例,源数据获取单元301可以与传感器、控制柜、机电设备、电子仪器、二维码标签、RFID标签、读写器、摄像头、红外线、GPS等可以产生源数据的装置,所述源数据可以是上述可以产生源数据的装置与环境交互后产生的数据,工作状态数据,运算数据,用户输入