本发明实施例涉及数据传输领域,具体涉及一种煤矿数据传输方法、装置及系统。
背景技术:
:如图2所示,在传统煤矿通信网络中,掘进设备、检测设备等各类终端设备通过本地客户端软件与远程中心端软件进行通信。例如客户端a、客户端b、客户端c,将其数据上报至局域网001,然后局域网001将数据上报至远程服务器y。但在实际运行中,由于煤矿遮挡物多、信号弱等原因,局域网001无法及时将信号传输至远程服务器y的现象时有发生,造成远程服务器y难以全面、及时地采集到各类客户端的数据,造成远程服务器y的分析结果不准确、可靠性差、用户体验不佳等问题。如何提升煤矿数据传输的稳定性及可靠性是本领域亟需解决的技术问题。技术实现要素:本发明实施例的目的在于提供一种煤矿数据传输方法、装置及系统,用以提升煤矿数据传输的稳定性及可靠性。为实现上述目的,本发明实施例主要提供如下技术方案:第一方面,本发明实施例提供了一种煤矿数据传输方法,应用于煤矿数据传输系统中的中心端,该方法包括:获取一个或多个客户端的心跳数据及通讯地址,根据所述一个或多个客户端的心跳数据确定待传文件客户端;获取历史传输记录,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定所述待传文件客户端是否为当前活跃客户端;响应于所述待传文件客户端为当前活跃客户端时,根据所述通讯地址通知所述待传文件客户端发送待传文件,更新所述历史传输记录。通过上述技术方案,煤矿网络中的中心端通过判断当前哪些客户端处于活跃状态,利用处于活跃状态的客户端获取待传文件,从而可通过多个客户端软件同时进行稳定、可靠的传输,大幅提升了煤矿数据传输的稳定性与可靠性。进一步地,根据所述一个或多个客户端的心跳数据确定待传文件客户端,包括:响应于所述一个或多个客户端的心跳数据中传输状态信息为正常时,确定所述一个或多个客户端不为待传文件客户端,确定所述一个或多个客户端为待传文件客户端;响应于所述一个或多个客户的心跳数据中传输状态信息为异常时,通知所述一个或多个客户端等待。进一步地,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,包括:响应于所述历史传输记录为空时,确定所述待传文件客户端为当前活跃客户端;响应于所述历史传输记录非空且包括所述待传文件客户端的身份信息时,确定所述待传文件客户端为当前活跃客户端。进一步地,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,还包括:响应于所述历史传输记录非空且不包括所述待传文件客户端的身份信息时,获取当前时间及所述历史传输记录中的心跳时间;响应于所述当前时间与所述历史传输记录中的心跳时间的差值未超过预设值时,通知所述待传文件客户端等待;响应于所述当前时间与所述历史传输记录中的心跳时间的差值超过预设值时,确定所述待传文件客户端为当前活跃客户端。进一步地,该方法还包括:响应于所述待传文件客户端非当前活跃客户端时,提示处理所述待传文件客户端的通信问题。通过上述技术方案,在大幅提升了煤矿数据传输的稳定性与可靠性的同时,可确定当前客户端是否处于活跃状态,进而精准定位了存在通信问题的客户端。本发明实施例还提供了另一种煤矿数据传输方法,应用于煤矿数据传输系统中的客户端,该方法包括:根据是否存在待传文件确定传输状态信息,根据所述传输状态信息确定是否向中心端发送通信地址及心跳数据;响应于接收到中心端根据所述通讯地址通知所述客户端发送待传文件时,向所述中心端发送待传文件。进一步地,还包括:响应于所述中心端通知所述客户端等待时,等待预设时间后,根据是否存在待传文件更新所述传输状态信息。通过上述技术方案,煤矿网络中的中心端通过判断当前哪些客户端处于活跃状态,利用处于活跃状态的客户端获取待传文件,从而可通过多个客户端软件同时进行稳定、可靠的传输,大幅提升了煤矿数据传输的稳定性与可靠性。第二方面,本发明实施例还提供了一种煤矿数据传输装置,应用于煤矿数据传输系统中的中心端,该装置包括:获取请求单元、客户端选择单元、获取文件单元,其中,所述获取请求单元用于,获取一个或多个客户端的心跳数据及通讯地址,根据所述一个或多个客户端的心跳数据确定待传文件客户端;所述客户端选择单元用于,获取历史传输记录,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定所述待传文件客户端是否为当前活跃客户端;所述获取文件单元用于,响应于所述待传文件客户端为当前活跃客户端时,根据所述通讯地址通知所述待传文件客户端发送待传文件,更新所述历史传输记录。通过上述技术方案,煤矿网络中的中心端通过判断当前哪些客户端处于活跃状态,利用处于活跃状态的客户端获取待传文件,从而可通过多个客户端软件同时进行稳定、可靠的传输,大幅提升了煤矿数据传输的稳定性与可靠性。进一步地,根据所述一个或多个客户端的心跳数据确定待传文件客户端,包括:响应于所述一个或多个客户端的心跳数据中传输状态信息为正常时,确定所述一个或多个客户端不为待传文件客户端,确定所述一个或多个客户端为待传文件客户端;响应于所述一个或多个客户的心跳数据中传输状态信息为异常时,通知所述一个或多个客户端等待。进一步地,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,包括:响应于所述历史传输记录为空时,确定所述待传文件客户端为当前活跃客户端;响应于所述历史传输记录非空且包括所述待传文件客户端的身份信息时,确定所述待传文件客户端为当前活跃客户端。进一步地,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,还包括:响应于所述历史传输记录非空且不包括所述待传文件客户端的身份信息时,获取当前时间及所述历史传输记录中的心跳时间;响应于所述当前时间与所述历史传输记录中的心跳时间的差值未超过预设值时,通知所述待传文件客户端等待;响应于所述当前时间与所述历史传输记录中的心跳时间的差值超过预设值时,确定所述待传文件客户端为当前活跃客户端。进一步地,该装置还包括提示单元:所述提示单元用于,响应于所述待传文件客户端非当前活跃客户端时,提示处理所述待传文件客户端的通信问题。第三方面,本发明实施例还提供了另一种煤矿数据传输装置,应用于煤矿数据传输系统中的客户端,该装置包括:发送请求单元、获取文件单元,其中,所述发送请求单元用于,根据是否存在待传文件确定传输状态信息,根据所述传输状态信息确定是否向中心端发送通信地址及心跳数据;所述获取文件单元用于,响应于接收到中心端根据所述通讯地址通知所述客户端发送待传文件时,向所述中心端发送待传文件。通过上述技术方案,煤矿网络可通过多个客户端软件同时进行稳定、可靠的传输,大幅提升了煤矿数据传输的稳定性与可靠性。进一步地,所述发送请求单元还用于:响应于所述中心端通知所述客户端等待时,等待预设时间后,根据是否存在待传文件更新所述传输状态信息。第四方面,本发明实施例还提供了一种煤矿数据传输系统,该系统包括:包括:至少一个客户端,至少一个中心端,其中,所述客户端用于,根据是否存在待传文件确定传输状态信息,根据所述传输状态信息确定是否向中心端发送通信地址及心跳数据;响应于接收到中心端根据所述通讯地址通知所述客户端发送待传文件时,向所述中心端发送待传文件。所述中心端用于,获取一个或多个客户端的心跳数据及通讯地址,根据所述一个或多个客户端的心跳数据确定待传文件客户端;获取历史传输记录,根据所述待传文件客户端的心跳数据与所述历史传输记录的比较结果,确定所述待传文件客户端是否为当前活跃客户端;响应于所述待传文件客户端为当前活跃客户端时,根据所述通讯地址通知所述待传文件客户端发送待传文件,更新所述历史传输记录。附图说明图1为本发明实施例1提供的一种煤矿数据传输方法流程图;图2为现有技术提供的一种煤矿数据传输网络结构图;图3为本发明实施例1提供的一种煤矿数据传输网络结构图;图4为本发明实施例1提供的一种客户端与中心端传输方法流程图;图5为本发明实施例2提供的一种煤矿数据中心端传输装置的结构示意图;图6为本发明实施例2提供的一种煤矿数据客户端传输装置的结构示意图;图7为本发明实施例3提供的一种煤矿数据传输系统的结构示意图。具体实施方式以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。下文,将详细说明一种煤矿数据传输方法,该方法使用的应用场景很多,在本实施例中,仅以煤矿数据传输场景为例进行说明。如图1所示,该方法步骤如下:步骤110:获取一个或多个客户端的心跳数据及通讯地址,根据一个或多个客户端的心跳数据确定待传文件客户端。如图3所示,本实施例的一种网络结构可以包括:一个或多个客户端程序,例如客户端程序a、客户端程序b、客户端程序c等;一个或多个中心端程序,例如中心端程序x等;一个或多个煤矿安全监控联网系统软件,例如,煤矿安全监控联网系统软件y等。其中,多个客户端软件可处于同一煤矿局域网络中,例如煤矿局域网络001、煤矿局域网络002等。具体地,对运行客户端软件的载体可以不作具体限定,任何具有信号传输功能的电子设备均可,例如掘进设备、检测设备、传感器、图像识别设备、计算机等等,同一设备上也可同时运行多个客户端软件。具体地,心跳数据包括:煤矿信息、客户端身份信息、传输状态信息。其中,煤矿信息可为客户端软件所处煤矿的身份信息,例如煤矿编号等。客户端身份信息,可根据客户端软件随机产生的uuid确定。传输状态信息是指客户端软件是否有与中心端软件发送文件需求的状态信息。例如,当客户端有发送文件需求时,客户端将传输状态信息标记为1,当客户端没有发送文件需求时,客户端将传输状态信息标记为0。可选地,在该实施例中,根据一个或多个客户端的心跳数据确定待传文件客户端,包括:响应于一个或多个客户端的心跳数据中传输状态信息为正常时,确定一个或多个客户端为待传文件客户端;响应于一个或多个客户的心跳数据中传输状态信息为异常时,确定一个或多个客户端不为待传文件客户端,通知一个或多个客户端等待。例如,如图4所示,客户端软件随机生成一个uuid作为客户端id。从客户端软件的配置文件中读取煤矿编号、中心端地址、数据传输目录。与中心端建立通信连接。连接中心端的5000端口,如果连接失败则等待预设时间后继续连接,例如30秒,直到成功为止。数据传输目录中如果有传输数据,即客户端有待传文件,则客户端软件将传输状态信息标记为1,如果没有待传文件,则将传输状态信息标记为0。客户端将自己的id、所位于的煤矿局域网络的煤矿编号、传输状态信息记录于心跳数据中,将心跳数据及通信地址,向中心端发送。其中,通信地址可以为客户端的ip。客户端发送完心跳数据及通信地址后,等待中心端反馈指示信息,若中心端反馈的指示信息为1,则从数据传输目录中读取数据文件,按照预设的传输规范解析数据文件,将数据文件传输至中心端,然后等待预设时间后,再次判断是否还有待传文件;若中心端反馈的指示信息不为1,则等待预设时间后,再次判断是否还有待传文件。优选地,预设时间设置为30秒。中心端监听5000端口,获取到一个或多个客户端的心跳数据后,判断心跳数据中传输状态信息是否正常。若传输状态信息的值为1,代表传输状态信息正常,客户端有传输文件需求,则确定这一个或多个客户端为待传文件客户端,执行步骤120。若传输状态信息的值为0,代表传输状态信息异常,客户端没有传输文件需求,为节省资源,中心端x向客户端a发送等待标识,用于通知客户端a暂缓通信,例如等待30秒后再重新发送心跳数据。步骤120:获取历史传输记录,根据待传文件客户端的心跳数据与历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端。在中心端中存储有历史传输记录,历史传输记录的具体形式可为传输状态表,用于记录曾与中心端成功传输过文件的客户端的心跳数据、通信地址及心跳时间。其中,心跳时间指客户端与中心端成功传输文件的时间。例如,下表所示:可选地,在该实施例中,根据待传文件客户端的心跳数据与历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,包括:响应于历史传输记录为空时,确定待传文件客户端为当前活跃客户端;响应于历史传输记录非空且包括待传文件客户端的身份信息时,确定待传文件客户端为当前活跃客户端。例如,如图4所示,中心端根据煤矿编号从传输状态表中获取煤矿的历史传输记录。判断历史传输记录是否为空。当中心端之前未与煤矿局域网络中的任一客户端成功传输过文件时,历史传输记录中的内容为空,中心端将当前待传文件客户端确定为当前活跃客户端。当中心端之前与煤矿局域网络中的任一客户端成功传输过文件时,此时,历史传输记录中的内容非空,判断历史传输记录是否包括待传文件客户端的身份信息。例如,获取历史传输记录中该煤矿的历史活跃客户端id与待传文件客户端id是否相同,即传输状态表中该煤矿的客户端id与当前心跳数据的客户端id是否相同。若历史传输记录包括待传文件客户端信息,即上述两id相同,意味着该待传文件客户端曾经与中心端成功传输过文件。中心端将待传文件客户端确定为当前活跃客户端。可选地,在该实施例中,根据待传文件客户端的心跳数据与历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端,还包括:响应于历史传输记录非空且不包括待传文件客户端的身份信息时,获取当前时间及历史传输记录中的心跳时间;响应于当前时间与历史传输记录中的心跳时间的差值未超过预设值时,通知待传文件客户端等待;响应于当前时间与历史传输记录中的心跳时间的差值超过预设值时,确定待传文件客户端为当前活跃客户端。例如,若历史传输记录不包括所述待传文件客户端信息,意味着待传文件客户端未曾与中心端成功传输过文件,则获取当前时间及历史传输记录中的心跳时间,判断当前时间与历史传输记录中的心跳时间的差值是否超过预设值。优选地,将该预设值设置为90秒。若待传文件客户端的心跳时间与历史传输记录中的心跳时间的差值未超过前述预设值时,通知待该客户端等待预设时间。优选地,将该预设时间设置为30秒。例如,假设,当前时间为2020年1月1日16时16分16秒,历史传输记录,即传输状态表的内容如下表所示:煤矿编号客户端id传输状态客户端ip心跳时间************************2020年1月1日16时05分10秒************************2020年1月1日16时10分10秒3456abcd************2020年1月1日16时16分06秒此时,传输状态表中3456号煤矿项下最新一次记录的客户端id为″abcd″,心跳时间为2020年1月1日16时16分06秒,此时当前时间2020年1月1日16时16分16秒与心跳时间2020年1月1日16时16分06秒的差值仅为10秒,未超过预设值90秒,则通知该客户端等待30秒。若当前时间与历史传输记录中的心跳时间的差值超过前述预设值,确定待传文件客户端为第二活跃客户端。例如,待传文件客户端的心跳时间为2020年1月1日16时16分16秒,在第一传输记录中最新一次记录的活跃客户端为客户端b,客户端b的心跳时间为2020年1月1日16时26分16秒,此时两者的差值为10分钟,超过预设值90秒,意味着客户端b在10分钟如此长的时间内,可能已与中心端x失去连接,中心端已不能再利用客户端b成功获取待传文件。因此,中心端x将待传文件客户端确定为当前活跃客户端,执行步骤130。步骤130:响应于待传文件客户端为当前活跃客户端时,根据通讯地址通知待传文件客户端发送待传文件,更新历史传输记录。例如,如图4所示,当中心端确定待传文件客户端为当前活跃客户端时,中心端记录当前时间作为该客户端的心跳时间,并将该客户端的客户端id、煤矿编号、传输状态信息、客户端ip、心跳时间记录于传输状态表中,即更新历史传输记录。于此同时,中心端根据待传客户端的通信地址,向该待传文件客户端发送激活标识,用于通知该客户端发送待传文件。可选地,在该实施例中,还包括提示存在通信问题客户端的步骤:响应于待传文件客户端非当前活跃客户端时,提示处理待传文件客户端的通信问题。例如,煤矿安全监控联网系统可通过实时访问中心端的传输状态表,对各客户端软件的异常情况进行监控。当确定待传文件客户端非当前活跃客户端时,通知工作人员或其他系统前述待传文件客户端可能存在通信问题并提示进行处理,达到了准确定位通信异常客户端的技术效果。与上述实施例1对应的,本发明实施例2还提供了一种煤矿数据传输装置,应用于煤矿数据传输系统中的中心端,具体如图5所示,该装置包括:获取请求单元201、客户端选择单元202、获取文件单元203,其中,获取请求单元201用于,获取一个或多个客户端的心跳数据及通讯地址,根据所述一个或多个客户端的心跳数据确定待传文件客户端;客户端选择单元202用于,获取历史传输记录,根据待传文件客户端的心跳数据与历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端;获取文件单元203用于,响应于待传文件客户端为当前活跃客户端时,根据通讯地址通知待传文件客户端发送待传文件,更新历史传输记录。与上述实施例1对应的,本发明实施例2还提供了另一种煤矿数据传输装置,应用于煤矿数据传输系统中的客户端,具体如图6所示,该装置包括:发送请求单元204、获取文件单元205,其中,发送请求单元204用于,根据传输状态信息确定是否向中心端发送通信地址及心跳数据;发送文件单元205用于,响应于接收到中心端根据通讯地址通知客户端发送待传文件时,向中心端发送待传文件。与上述实施例1对应的,本发明实施例3还提供了一种煤矿数据传输系统,具体如图7所示,该系统包括:至少一个客户端301,至少一个中心端302,其中,客户端301用于,根据是否存在待传文件确定传输状态信息,根据传输状态信息确定是否向中心端发送通信地址及心跳数据;响应于接收到中心端根据通讯地址通知客户端发送待传文件时,向中心端发送待传文件。中心端302用于,获取一个或多个客户端的心跳数据及通讯地址,根据一个或多个客户端的心跳数据确定待传文件客户端;获取历史传输记录,根据待传文件客户端的心跳数据与历史传输记录的比较结果,确定待传文件客户端是否为当前活跃客户端;响应于待传文件客户端为当前活跃客户端时,根据通讯地址通知待传文件客户端发送待传文件,更新历史传输记录。在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecific工ntegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。当前第1页12