一种数据分发方法和装置与流程

文档序号:11138849阅读:317来源:国知局
一种数据分发方法和装置与制造工艺

本发明属于轨道交通领域,尤其涉及一种数据分发方法和装置。



背景技术:

随着轨道交通行业的迅猛发展和广泛应用,由于没有对轨道交通设备的运行数据实行监测,经常会出现设备检测与维修的延时、漏修、误修等缺点,因此,轨道交通设备监测系统应运而生。轨道交通设备的监测系统中,最重要的环节是将采集的运行数据完整、及时的分发到对应的监控方,这样才能及时发现问题,保证轨道交通设备的顺利运行。

现有的运行数据分发方法采用传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)通过数据采集系统直接将采集的数据发送到对应的监控方。采用这种分发方法,需要发送方和接收数据的监控方同时处于在线状态,当其中任何一方断开,都会造成数据丢失,进而导致轨道交通设备监测系统的可靠性低。



技术实现要素:

本发明提供一种数据分发方法和装置,旨在解决轨道交通设备监测系统可靠性低的问题。

本发明提供的一种数据分发方法,包括:获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端,若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。

本发明提供的一种数据分发装置,该装置包括:获取模块和存储模块;

获取模块用于获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端,存储模块用于若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。

本发明提供的一种数据分发方法和装置,获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端,若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。本发明与现有技术相比,有益效果在于:若未接收到该终端发送的读取反馈指令时,即运行数据没有被读取时,将该运行数据进行存储,经预置时间后再次发送,这样,当接收方不在线或没有读取该运行数据时,通过多次发送未读取的运行数据,保证运行数据能完整的发送到该终端被读取,从而提高了轨道交通设备监测系统的可靠性,另外,若在实际监测中,需要增加终端,只需要在服务器中增加终端的地址即可,提高了轨道交通设备监测系统的扩展性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

图1是本发明第一实施例提供的一种数据分发方法的实现流程示意图;

图2是本发明第二实施例提供的一种数据分发方法的实现流程示意图;

图3是本发明第三实施例提供的一种数据分发装置的结构示意图;

图4是本发明第四实施例提供的一种数据分发装置的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明第一实施例提供的数据分发方法的实现流程示意图,可应用于所有具有数据处理的服务器中,图1所示的数据分发方法主要包括以下步骤:

S101、获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端;

该运行数据为反映该轨道交通设备运行状况的数据。该预存地址为该服务器预先存储的终端的地址。该终端可以为个人计算机、笔记本电脑、智能手机或平板电脑。

S102、若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。

该读取反馈指令用于确认该运行数据已被读取。预置时间为预先设置的时间段。

本发明实施例,获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端,若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。因此,若未接收到该终端发送的读取反馈指令时,即运行数据没有被读取时,服务器将该运行数据进行存储,经预置时间后再次发送,这样,当接收方不在线或没有读取该运行数据时,通过多次发送未读取的运行数据,保证运行数据能完整的发送到该终端被读取,从而提高了轨道交通设备监测系统的可靠性,另外,若在实际监测中,需要增加终端,只需要在服务器中增加终端的地址即可,提高了轨道交通设备监测系统的扩展性。

请参阅图2,图2为本发明第二实施例提供的数据分发方法的实现流程示意图,可应用于所有具有数据处理的服务器中,图1所示的数据分发方法主要包括以下步骤:

S201、接收数据采集系统发送的该轨道交通设备的运行数据,并对该运行数据进行封装;

该数据采集系统用于采集该轨道交通设备的运行数据。该运行数据为反映该轨道交通设备运行状况的数据,其中,该运行数据包括该轨道交通设备的识别码。本发明实施例采用Java消息服务器(Java Message Service,JMS)通用协议将该运行数据封装为轻量级数据交换(Java Script Object Notation,JSON)格式。

S202、在预置的信息表中查找与该识别码对应的该预存地址,并将封装后的运行数据插入到该预存地址对应的队列中;

该预置的信息表为预存于该服务器中的信息表,包括该轨道交通设备的识别码与该预存地址的对应关系,其中,该预存地址为终端的地址,该预存地址可以为一个,也可以为多个,每一个预存地址对应一个队列。服务器通过ActiveMQ消息总线将封装后的运行数据插入到该预存地址对应的队列中。

需要说明的是,该服务器按照接收该运行数据的顺序依次插入到该队列的末位,排于队列首位的运行数据为最先接收的运行数据。例如,设第一次插入的数据到第三次插入的运行数据依次为A、B和C,第一次将运行数据A插入到该队列时,该队列中只有运行数据A,第二次将运行数据B插入到该队列时,运行数据A处于该队列首位,运行数据B处于该队列的末位,第三次将运行数据C插入到该队列时,运行数据A处于该队列首位,运行数据C处于该队列末位。

S203、提取该队列首位的运行数据,并按照该预存地址将提取的运行数据发送至该终端;

需要说明的是,该服务器提取该队列首位的运行数据,即在接收的运行数据中提取最先接收的运行数据发送至终端。例如,提取上述位于队列首位的运行数据A,并将A按照预存地址发送至该终端。

S204、若发送该提取的运行数据后的等待时间超过预置等待时间,则确定未接收到该读取反馈指令;

该预置等待时间为预先设置的等待时间,可以按照实际情况进行设置。例如,当发送该提取的运行数据的时间为工作时间时,该预置等待时间可以设置为较短的时间,如1秒;当发送该提取的运行数据的时间为休息时间时,该预置等待时间可以设置为较长的时间,如1分钟。服务器将提取的运行数据发送至该终端后,若等待时间超过该预置等待时间,则确定未接收到该读取反馈指令,即该运行数据没有被读取。

S205、将该队列中首位的运行数据进行存储,并停止发送运行数据,直至停止发送运行数据后的等待时间超过预置时间;

该预置时间为预先设定的时间段。需要说明的是,该预置等待时间可以和该预置时间相同,也可以不同。若该运行数据未被读取,则将该队列中首位的运行数据进行存储,并停止发送运行数据,这样不仅可以防止发送过的运行数据丢失,还可以通过存储过程保留终端未读取的数据,从而保证发送到该终端的数据完整。例如,该服务器将运行数据A发送到该终端后,等待时间超过该预置等待时间后,确定没有接收到读取反馈指令,将运行数据A进行存储,停止发送运行数据B和C,直至等待的时间超过该预置时间。

S206、若停止发送运行数据后的等待时间超过该预置时间,则按照该预存地址将存储的运行数据发送至该终端;

可选地,若将存储的运行数据发送至该终端后,仍没有接收到该终端发送的读取反馈指令,该服务器可以按照预置发送次数向该终端发送该运行数据。其中,该预置时间可以按照该运行数据的当前发送次数进行设置。如,服务器第1次将该运行数据发送至终端后没有接收到读取反馈指令,设置10秒后再次发送该运行数据;服务器第2次将该运行数据发送至终端后没有接收到读取反馈指令,设置20秒后再次发送该运行数据;又如,该服务器第一次可以将该等待时间设置为5秒,第二次可以将该等待时间设置为7秒。

S207、若该识别码对应的预存地址为一个,则在接收到该终端发送的读取反馈指令后,删除该存储的运行数据;

若该识别码对应的预存地址为一个时,则表示该运行数据为机密性较高的运行数据,在接收到该终端发送的读取反馈指令后,即该运行数据已被读取后,删除该存储的运行数据,这样可以保证该运行数据不被其他终端获取,保证该运行数据的机密性。例如,若将运行数据A发送到该终端后接收到该终端发送的读取反馈指令,则将存储的运行数据A删除。

可选地,若该识别码对应的预存地址为多个时,将该运行数据发送至多个终端,即将同一运行数据以订阅/发布(Subscribe/Publish)模式发送至多个终端,从而使多个终端同时对该运行数据进行监测,提高监测效率。

S208、若接收到该终端发送的读取反馈指令时,提取当前处于该队列首位的运行数据;

S209、按照该预存地址将提取的运行数据发送至该终端。

若在该预置时间内接收到该终端发送的读取反馈指令,则提取当前处于该队列首位的运行数据。需要说明的是,接收该读取反馈指令为提取当前处于该队列首位的运行数据的前提条件,只要接收到该读取反馈指令,就可以提取该运行数据并按照预存地址进行发送。

举例说明,将运行数据A发送至该终端后,若接收到该终端发送的读取反馈指令,则提取当前处于该队列首位的运行数据B,并按照该预存地址将运行数据B发送至该终端。

在实际应用中,若将运行数据B发送至该终端后,接收到该终端发送的读取反馈指令,则将当前位于队列首位的运行数据C发送至该终端,按照以上数据分发方法,依次将插入到队列的运行数据发送至该终端。

本发明实施例接收数据采集系统发送的该轨道交通设备的运行数据,并对该运行数据进行封装,在预置的信息表中查找该识别码对应的该预存地址,并将封装后的运行数据插入到该预存地址对应的队列中,提取该队列首位的运行数据,并按照该预存地址将提取的运行数据发送至该终端,若发送该提取的运行数据后的等待时间超过预置等待时间,则确定未接收到该读取反馈指令,将该队列中首位的运行数据进行存储,并停止发送运行数据,直至停止发送运行数据后的等待时间超过预置时间,若停止发送该运行数据后的等待时间超过该预置时间,则按照该预存地址将存储的运行数据发送至该终端,若该识别码对应的预存地址为一个,在接收到该终端发送的该读取反馈指令后,删除该存储的运行数据,若接收到该终端发送的读取反馈指令时,提取当前处于该队列首位的运行数据,按照该预存地址将提取的运行数据发送至该终端,这样,当接收方不在线或没有读取该运行数据时,通过多次发送未读取的运行数据,保证运行数据能完整的发送到该终端被读取,从而提高了轨道交通设备监测系统的可靠性,另外,若在实际监测中,需要增加终端,只需要在服务器中增加终端的地址即可,提高了轨道交通设备监测系统的扩展性。

请参阅图3,图3是本发明第三实施例提供的数据分发装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的数据分发装置可以是前述图1和图2所示实施例提供的数据分发方法的执行主体,可以是服务器或服务器中的一个控制模块。图3示例的数据分发装置,主要包括:获取模块301和存储模块302。以上各功能模块详细说明如下:

获取模块301,用于获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端;

该运行数据为反映该轨道交通设备运行状况的数据。该预存地址为该服务器预先存储的终端的地址。该终端可以为个人计算机、笔记本电脑、智能手机或平板电脑。

存储模块302,用于若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。

该读取反馈指令用于确认该运行数据已被读取。预置时间预先设置的时间段。

本发明实施例的未尽细节请参照图1和图2所示的第一和第二实施例,在此不再赘述。

本发明实施例,获取模块301用于获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端,存储模块302用于若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端。因此,若未接收到该终端发送的读取反馈指令时,即运行数据没有被读取时,服务器将该运行数据进行存储,经预置时间后再次发送,这样,当接收方不在线或没有读取该运行数据时,通过多次发送未读取的运行数据,保证运行数据能完整的发送到该终端被读取,从而提高了轨道交通设备监测系统的可靠性,另外,若在实际监测中,需要增加终端,只需要在服务器中增加终端的地址即可,提高了轨道交通设备监测系统的扩展性。

请参阅图4,图4是本发明第四实施例提供的数据分发装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的数据分发装置可以是前述图1和图2所示实施例提供的数据分发方法的执行主体,可以是服务器或服务器中的一个控制模块。图4示例的数据分发装置,主要包括:获取模块401和存储模块402;其中,获取模块401包括:接收模块411、插入模块421和第一发送模块431;存储模块402包括:确定模块412、数据存储模块422和第二发送模块432,该装置还包括:删除模块403、提取模块404和第三发送模块405;以上各功能模块详细说明如下:

获取模块401,用于获取轨道交通设备的运行数据,并将该运行数据按照预存地址发送至终端;

存储模块402,用于若未接收到该终端发送的读取反馈指令,则将该运行数据进行储存,经预置时间后,将该运行数据按照该预存地址发送至该终端;

进一步地,获取模块401包括:

接收模块411,用于接收数据采集系统发送的该轨道交通设备的运行数据,并对该运行数据进行封装;

该数据采集系统用于采集该轨道交通设备的运行数据。该运行数据为反映该轨道交通设备运行状况的数据,其中,该运行数据包括该轨道交通设备的识别码。

插入模块421,用于在预置的信息表中查找与该识别码对应的该预存地址,并将封装后的运行数据插入到该预存地址对应的队列中;

该预置的信息表包括该轨道交通设备的识别码与该预存地址的对应关系,其中,该预存地址为终端的地址,该预存地址可以为一个,也可以为多个,每一个预存地址对应一个队列。

第一发送模块431,用于提取该队列首位的运行数据,并按照该预存地址将提取的运行数据发送至该终端;

该预存地址为终端的地址。

进一步地,存储模块402包括:

确定模块412,用于若发送该提取的运行数据后的等待时间超过预置等待时间,则确定未接收到该读取反馈指令;

该预置等待时间为预先设置的等待时间,可以按照实际情况进行设置。例如,当发送该提取的运行数据的时间为工作时间时,该预置等待时间可以设置为较短的时间,如1秒;当发送该提取的运行数据的时间为休息时间时,该预置等待时间可以设置为较长的时间,如1分钟。

数据存储模块422,用于将该队列中首位的运行数据进行存储,并停止发送运行数据,直至停止发送运行数据后的等待时间超过该预置时间;

该预置时间为预先设定的时间段。需要说明的是,该预置等待时间可以和该预置时间相同,也可以不同。

第二发送模块432,用于若停止发送该运行数据后的等待时间超过该预置时间,则按照该预存地址将存储的运行数据发送至该终端。

进一步地,该装置还包括:

删除模块403,用于若该识别码对应的预存地址为一个时,在接收到该终端发送的读取反馈指令后,删除该存储的运行数据。

进一步地,该装置还包括:

提取模块404,用于若接收到该终端发送的读取反馈指令时,提取当前处于该队列首位的运行数据;

第三发送模块405,按照该预存地址将提取的运行数据发送至该终端。

本发明实施例的未尽细节请参照图1和图2所示的第一和第二实施例,在此不再赘述。

本发明实施例中接收模块411用于接收数据采集系统发送的该轨道交通设备的运行数据,并对该运行数据进行封装,插入模块421用于在预置的信息表中查找该识别码对应的该预存地址,并将封装后的运行数据插入到该预存地址对应的队列中,第一发送模块431用于提取该队列首位的运行数据,并按照该预存地址,将提取的运行数据发送至该终端,确定模块412用于若发送该提取的运行数据后的等待时间超过预置等待时间,则确定未接收到该读取反馈指令,插入模块421将该队列中首位的运行数据进行存储,并停止发送运行数据,直至停止发送运行数据后的等待时间超过预置时间,第一发送模块431若停止发送运行数据后的等待时间超过该预置时间,则按照该预存地址将存储的运行数据发送至该终端,删除模块403用于若该识别码对应的预存地址为一个,在接收到该终端发送的该读取反馈指令后,删除该存储的运行数据,提取模块404用于若接收到该终端发送的读取反馈指令时,提取当前处于该队列首位的运行数据,第三发送模块405用于按照该预存地址将提取的运行数据发送至该终端,这样,当接收方不在线或没有读取该运行数据时,通过多次发送未读取的运行数据,保证运行数据能完整的发送到该终端被读取,从而提高了轨道交通设备监测系统的可靠性,另外,若在实际监测中,需要增加终端,只需要在服务器中增加终端的地址即可,提高了轨道交通设备监测系统的扩展性。

在本申请所提供的多个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,装置或模块的间接耦合或通信链接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的数据分发方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1