首页> 中国专利> 用于分布式系统的数据下装方法、TIAS系统数据下装方法

用于分布式系统的数据下装方法、TIAS系统数据下装方法

摘要

本发明涉及一种用于分布式系统的数据下装方法、TIAS系统数据下装方法,在下装服务和下装代理服务中采用多线程技术,多线程并发进行下装文件的上传和获取过程,数据下装方法具体包括:在配置服务所在工作站上通过离线组态程序的下装操作,将下装指令和下装范围通知给配置服务,配置服务将下装文件上传到每一个域配置的文件服务器,把下装文件从配置服务所在工作站下装到各域配置的文件服务器;各在线节点上运行自身配置的文件下装代理,检测文件服务器上的下装文件版本,当检测到有新的下装文件版本时,从文件服务器获取新的下装文件版本到本地在线节点。本发明的数据下装方法具有高响应性、安全性以及实时性,满足分布式系统海量数据下装要求。

著录项

  • 公开/公告号CN112668027A

    专利类型发明专利

  • 公开/公告日2021-04-16

    原文格式PDF

  • 申请/专利权人 中车青岛四方车辆研究所有限公司;

    申请/专利号CN202110001863.0

  • 申请日2021-01-04

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F21/64(20130101);G06F16/27(20190101);

  • 代理机构37256 青岛清泰联信知识产权代理有限公司;

  • 代理人张媛媛

  • 地址 266031 山东省青岛市市北区瑞昌路231号

  • 入库时间 2023-06-19 10:38:35

说明书

技术领域

本发明属于分布式系统技术领域,尤其涉及一种用于分布式系统的数据下装方法、TIAS系统数据下装方法。

背景技术

分布式系统是跨专业的分布式集成数据信息平台系统,集成多个子系统互联,适合大规模并行及多模式方法耦合,具有网络容错能力强以及系统扩展灵活等优势。现有的分布式系统普遍采用分层分布式结构,在分布式网络中各个节点如何下装数据,从而保证网络中各个节点中获取同一版本的数据是系统调度需要考虑的重要因素。现有的数据下载方式普遍采用FTP的方式,但FTP方式存在如下缺陷:FTP软件没有内置加速技术,传输巨型文件和海量文件时需要很长时间,过程存在无故中断、传输文件内容不一致、传输文件丢失等问题;且FTP传输的过程没有可视化的显示记录,没有便于理解的审计日志根据;FTP对于复杂网络特别是防火墙架构下,适用性较差;同时,普通的FTP没有针对数据传输中或存储时的本地加密,有泄漏数据的潜在风险。而分布式系统中服务器和工作站数据庞大,下装的数据量大,面对大总量数据的下装要求,并且要求高响应性和实时性,因此FTP技术并不适用分布式系统,基于FTP架构的数据传输模式已经无法满足大型分布式系统的应用需求。

以地铁的行车指挥综合自动化系统(TIAS)为例,TIAS系统是一套跨专业的分布式集成数据信息平台系统,它以行车指挥为核心,集成ATS、PSCADA、BAS、FAS、UPS、PSD、PIS、PA、ACS、CLK、CCTV、AFC等业务专业互联,集成和互联了与行车指挥密切相关的专业子系统。地铁TIAS系统中服务器和工作站数据庞大,下装的数据量大,面对大总量数据的下装要求,并且要求高响应性和实时性,显然需要一种新的技术实现方式来满足TIAS系统需求,既能满足数据传输的及时、安全,准确等要求,又能实现数据备份同步分发的愿景。

发明内容

本发明在上述现有基于FTP数据下装方法不足的基础上提供了一种用于分布式系统的数据下装方法、TIAS系统数据下装方法,具有高响应性、实时性以及安全性。

为了实现上述目的,本发明提供了一种用于分布式系统的数据下装方法,在下装服务和下装代理服务中采用多线程技术,多线程并发进行下装文件的上传和获取过程,包括:

在配置服务所在工作站上通过离线组态程序的下装操作,将下装指令和下装范围通知给配置服务,配置服务将下装文件上传到每一个域配置的文件服务器,把下装文件从配置服务所在工作站下装到各域配置的文件服务器;

各在线节点上运行自身配置的文件下装代理,检测文件服务器上的下装文件版本,当检测到有新的下装文件版本时,从文件服务器获取新的下装文件版本到本地在线节点。

优选的,采用PutFile方法上传下装文件,供配置服务获取其他服务程序使用,使其能将下装文件上传到文件服务器;涉及的参数信息包括下装文件路径、文件类型、是否是第一包传输数据、是否是最后一包传输数据、文件数据信息、包括文件数据、数据的MD5码、文件的MD5码。

优选的,采用PutFile方法上传下装文件的方法具体为:

连接本域中所有在线节点的下装代理及冗余机,将本机IP通知给下装代理及冗余机;

在当前下装线程处于运行状态下,获取待上传的下装文件的文件类型与路径信息;

计算本次传输文件数据的MD5码,并判断文件数据信息中的本次传输文件数据的MD5码是否与本地计算的本次传输文件数据的MD5码相同;

若相同,则进一步判断本次传输的文件数据是否为第一包传输数据,若判断为第一包传输数据,则创建临时文件,并将本次传输文件数据写入创建的临时文件;若判断为不是第一包传输数据,则以追加方式打开临时文件,并将本次传输文件数据写入临时文件;

在判断本次传输的文件数据为接收的最后一包传输数据后,进一步计算临时文件的MD5码,并判断其是否与文件数据信息中的文件MD5码相同;

若相同,则将临时文件更名为本地正式文件,并结束下装文件上传过程。

优选的,在PutFile上传下装文件过程中,若判断为文件数据信息中的本次传输文件数据的MD5码与本地计算的本次传输文件数据的MD5码不相同,则返回错误信息;

若计算的临时文件的MD5码与文件数据信息中的文件MD5码不相同,则返回错误信息。

优选的,采用GetFile方法获取下装文件,供本地在线节点从文件服务器获取下装文件,涉及的参数信息包括下装文件路径、文件类型、要获取的文件数据在下装文件的起始位置、文件数据信息。

优选的,采用GetFile方法获取下装文件的方法具体为:

在当前下装线程处于运行状态下,获取下装文件的文件类型及路径信息;

获取下装文件的长度信息,并判断要获取的文件数据在该下装文件的起始位置信息是否大于下装文件的长度信息;

若否,则计算本次需传输的文件数据的长度;

从下装文件中读取本次传输的文件数据,并计算本次传输的文件数据的MD5码,并将本次传输的文件数据与其MD5码存入文件数据信息中;

在判断本次传输文件数据为接收的最后一包传输数据后,进一步计算整个下装文件的MD5码,并将整个下装文件的MD5码存入文件数据信息,并结束下装文件获取过程。

优选的,在GetFile获取下装文件过程中,若判断为要获取的文件数据在该下装文件的起始位置信息大于下装文件的长度信息,则返回错误信息。

本发明还提供了一种TIAS系统数据下装方法,分布式系统采用TIAS行车指挥综合自动化系统,TIAS系统数据下装方法采用所述的用于分布式系统的数据下装方法。

与现有技术相比,本发明的优点和积极效果在于:

本发明提供的数据下装方法,考虑了海量数据文件下装过程,适用于分布式系统,在下装服务和下装代理服务中采用多线程技术,从而保证了同时运行多个线程,多线程并发进行数据文件的上传和获取文件过程,传输效率有各个服务器上的应用服务来保证,不依赖FTP的机制,大大缩短了数据下装的时间,提高了下装数据的实时性;且考虑下装数据的版本,从而保证在分布式系统中的多个站点上数据版本的一致,避免数据版本不一致导致的异常问题。同时,本发明采用PutFile方法上传下装文件,供配置服务获取其他服务程序使用,使其能将下装文件上传到文件服务器,采用GetFile方法获取下装文件,供本地在线节点从文件服务器获取下装文件,在上传文件的文件中考虑的海量文件的分包上传,同时为了避免出现因网络不稳定造成的上传文件失败或者文件损坏情况的发生,采用多次传输,并寄存在临时文件,直至最后一次传输成功后才将文件保存为正式文件;并在获取文件的过程中也考虑了多次传输的机制,解决了下装数据过程存在无故中断、传输文件内容不一致、传输文件丢失等问题,保证了数据下装的可靠性。同时,数据下装过程中,采用MD5在线加密,保证了下装数据的数据安全。本发明提供的数据加装方法,也适用于城市轨道交通领域涉及安全运营的分布式系统,例如地铁的行车指挥综合自动化系统(TIAS),能够满足地铁TIAS系统中服务器和工作站数据庞大,下装的数据量大,面对大总量数据的下装要求,具有高响应性、实时性以及安全性等优势。

附图说明

图1为本发明的用于分布式系统的数据下装方法的文件下装数据流图;

图2为PutFile方法上传下装文件流程图;

图3为GetFile方法获取下装文件流程图。

具体实施方式

以下结合附图对本发明的具体实施方式进行进一步的描述。

如图1所示,本发明提供了一种用于分布式系统的数据下装方法,在下装服务和下装代理服务中采用多线程技术,以保证同时运行多个线程,多线程并发进行数据文件的上传和获取文件过程,其包括:

在配置服务所在工作站上通过离线组态程序的下装操作,将下装指令和下装范围通知给配置服务,配置服务将下装文件上传到每一个域配置的文件服务器,把下装文件从配置服务所在工作站下装到各域配置的文件服务器;

各在线节点上运行自身配置的文件下装代理,定期检测文件服务器上的下装文件版本,当检测到有新的下装文件版本时,从文件服务器获取新的下装文件版本到本地在线节点。

本实施例中具体采用PutFile方法上传下装文件,供配置服务获取其他服务程序使用,使其能将下装文件上传到文件服务器;采用GetFile方法获取下装文件,供本地在线节点从文件服务器获取下装文件。且为保证下装数据过程的安全,本实施例具体采用MD5码在线加密,MD5码能够防止数据在传输过程中被篡改,以检查文件的完整性,数据一旦被篡改,计算出的MD5值一定不同;且MD5码加密速度快,不需要秘钥,能防止看到明文。PutFile文件长传过程中涉及的主要参数信息包括下装文件路径、文件类型、是否是第一包传输数据、是否是最后一包传输数据、文件数据信息、包括文件数据、数据的MD5码、文件的MD5码等。GetFile文件获取过程中涉及的主要参数信息包括下装文件路径、文件类型、要获取的文件数据在下装文件的起始位置、文件数据信息等。

其中,PutFile方法上传下装文件流程如图2所示,具体为:

连接本域中所有在线节点的下装代理及冗余机,将本机IP通知给下装代理及冗余机;

在当前下装线程处于运行状态下,获取待上传的下装文件的文件类型与路径信息;

计算本次传输文件数据的MD5码,并判断文件数据信息中的本次传输文件数据的MD5码是否与本地计算的本次传输文件数据的MD5码相同;

若判断为文件数据信息中的本次传输的文件数据的MD5码与本地计算的本次传输文件数据的MD5码不相同,则返回错误信息;否则,则进一步判断本次传输的文件数据是否为第一包传输数据,若判断为第一包传输数据,则创建临时文件,并将本次传输文件数据写入创建的临时文件;若判断为不是第一包传输数据,则以追加方式打开临时文件,并将本次传输文件数据写入临时文件;

在判断本次传输的文件数据为接收的最后一包传输数据后,进一步计算临时文件的MD5码,并判断其是否与文件数据信息中的文件MD5码相同;

若计算的临时文件的MD5码与文件数据信息中的文件MD5码不相同,则返回错误信息;否则,则将临时文件更名为本地正式文件,并结束下装文件上传过程。

GetFile方法获取下装文件流程如图3所示,具体为:

在当前下装线程处于运行状态下,获取下装文件的文件类型及路径信息;

获取下装文件的长度信息,并判断要获取的文件数据在该下装文件的起始位置信息是否大于下装文件的长度信息;

若获取的文件数据在该下装文件的起始位置信息小于等于下装文件的长度信息,则计算本次需传输的文件数据的长度;否则则返回错误信息。

然后,从下装文件中读取本次传输的文件数据,并计算本次传输的文件数据的MD5码,并将本次传输的文件数据与其MD5码存入文件数据信息中;

在判断本次传输文件数据为接收的最后一包传输数据后,进一步计算整个下装文件的MD5码,并将整个下装文件的MD5码存入文件数据信息,并结束下装文件获取过程。

综上,本发明提供的数据下装方法,考虑了海量数据文件下装过程,适用于分布式系统,在下装服务和下装代理服务中采用多线程技术,从而保证了同时运行多个线程,多线程并发进行数据文件的上传和获取文件过程,传输效率有各个服务器上的应用服务来保证,不依赖FTP的机制,大大缩短了数据下装的时间,提高了下装数据的实时性;且考虑下装数据的版本,从而保证在分布式系统中的多个站点上数据版本的一致,避免数据版本不一致导致的异常问题。同时,本发明采用PutFile方法上传下装文件,供配置服务获取其他服务程序使用,使其能将下装文件上传到文件服务器,采用GetFile方法获取下装文件,供本地在线节点从文件服务器获取下装文件,在上传文件的文件中考虑的海量文件的分包上传,同时为了避免出现因网络不稳定造成的上传文件失败或者文件损坏情况的发生,采用多次传输,并寄存在临时文件,直至最后一次传输成功后才将文件保存为正式文件;并在获取文件的过程中也考虑了多次传输的机制,解决了下装数据过程存在无故中断、传输文件内容不一致、传输文件丢失等问题,保证了数据下装的可靠性。同时,数据下装过程中,采用MD5在线加密,保证了下装数据的数据安全。本发明提供的数据加装方法,也适用于城市轨道交通领域涉及安全运营的分布式系统,例如地铁的行车指挥综合自动化系统(TIAS),能够满足地铁TIAS系统中服务器和工作站数据庞大,下装的数据量大,面对大总量数据的下装要求,具有高响应性、实时性以及安全性等优势。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号