CN112416656A - 一种用于车站应用服务器的数据离线存储方法 - Google Patents
一种用于车站应用服务器的数据离线存储方法 Download PDFInfo
- Publication number
- CN112416656A CN112416656A CN202011422455.4A CN202011422455A CN112416656A CN 112416656 A CN112416656 A CN 112416656A CN 202011422455 A CN202011422455 A CN 202011422455A CN 112416656 A CN112416656 A CN 112416656A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- application server
- station application
- host
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于车站应用服务器的数据离线存储方法,该方法采用离线数据存储方式,将终端软件发送过来的运行线、调度命令数据进行处理后,存储到本地文件中并进行双机同步备份。与现有技术相比,本发明具有使车站不安装数据库实现数据的本地存储等优点。
Description
技术领域
本发明涉及数据存储方法,尤其是涉及一种用于车站应用服务器的数据离线存储方法。
背景技术
铁路信号调度集中(Centralized Train Control,CTC)系统是我国铁路保证行车安全、提高运输效率的基础装备,负责对列车运行的监督和控制,辅助行车调度人员对全线列车进行管理,是整个铁路系统有序、高效运行的核心。
目前,在CTC环境下,应用服务器设置在中心,各个车站的数据需通过应用服务器保存至中心数据库中,运行线以及调度命令等数据也需采用数据库等方式进行存储。而对于部分车站,利用数据库技术进行数据的存储及维护成本较高,且对于每个车站均需安装对应的数据库,无法满足车站需求。
经过检索,中国专利公开号CN108306989A公开了一种用于铁路调度集中系统的主备机数据同步方法,所述方法将主备机中的程序模块分为需要进行数据同步的程序模块和不需要进行数据同步的程序模块;对需要进行数据同步的每个程序模块分别建立通信连接通道,由主机程序模块对其读取到的数据进行逻辑运算,并将运算结果通过该通道同步到与其对应的备机程序模块;对不需要进行数据同步的程序模块,由主机程序模块和备机程序模块分别对其各自读取到的数据进行运算,减少了同步数据量。该现有技术存储列车调度集中业务的关键性数据,如列车运行图计划、运行实绩、调度命令、表示信息及其它调度集中业务数据的数据库服务系统,实现冗余和备份,但数据仍采用数据库进行存储,无法满足车站应用服务器需求。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于车站应用服务器的数据离线存储方法,使车站不安装数据库实现数据的本地存储。
本发明的目的可以通过以下技术方案来实现:
根据本发明的一个方面,提供了一种用于车站应用服务器的数据离线存储方法,该方法采用离线数据存储方式,将终端软件发送过来的运行线、调度命令数据进行处理后,存储到本地文件中并进行双机同步备份。
作为优选的技术方案,所述的车站应用服务器以十六进制格式将数据存储到本地文件,数据传输时采用设定的数据格式,车站应用服务器收到终端软件发送的数据后,将不同的数据采用数据结构进行解析存储到内存中。
作为优选的技术方案,对于每条数据,所述的车站应用服务器采用关键字进行标识,并在结构中存入数据长度,在内存中维持对应每条数据在文件中的存储位置。
作为优选的技术方案,所述的方法具体包括以下步骤:
步骤S1、通过TCP/IP以及GSoap通信机制,接收终端软件发送的运行线、调度命令的消息数据;
步骤S2、对于TCP/IP方式传输的运行线消息,采用序列化消息方式,将获取的数据进行反序列化,转存到程序内定义的运行线的存储结构中;
步骤S3、对于GSoap方式传输的调度命令数据,采用XML格式对数据进行解析,将解析的数据转存到程序内定义的调度命令的存储结构中;
步骤S4、将结构中存储的数据按照字节格式依次序列化成字节流,增加包含数据类型、数据操作类型、数据内容的结构,存储到程序的内存中;
步骤S5、车站应用服务器对于数据同时维护两份内存,第一份内存保存数据后,利用任务轮询读取内存中的数据去写入文件;第二份内存保存的数据,利用任务轮询读取数据后按照设定格式组包后,发送给备机;
步骤S6、写文件的任务读取到数据时,按照数据收到的操作类型,获取文件指针,并对文件进行相应操作;
步骤S7、发送给备机的数据,备机通过通信机制收到数据后,进行解析,判断是否为合法数据,若为非法数据进行丢弃,若为合法数据则写入内存中,通过任务轮询读取后写入文件;
步骤S8、对于写入文件中的数据,终端软件通过GSaoap方式发送消息进行查询,主机接收到查询消息后,打开对应班别的文件获取数据,以请求条件过滤后组成XML格式数据,返回给终端软件;
步骤S9、主备机连接时,只有主机A可响应终端软件的查询请求,备机B无法响应;
步骤S10、当退出的主机A重新启动后,自动成为备机去连接主机B。
作为优选的技术方案,所述的步骤S4中的内存中每个Item中包含了数据类型、数据操作类型、数据关键字、关键字数量、存入数据的长度、数据的内容。
作为优选的技术方案,所述的步骤S4具体为:
步骤S41、初始化存储内存数组ItemArray;
步骤S42、将数据结构中的数据按照设定格式序列化,复制到Item中的字节数组中;
步骤S43、获取该条数据主键Key的数量,以及各主键Key的值;
步骤S44、遍历内存中还未写入文件中存储的数据,判断是否有该条数据相同的Key,若存在与该条数据相同的Key,则根据上一次的操作类型来决定本次操作,如上一记录为Insert操作,本记录也为Insert操作,则修改本记录操作为update操作;若不存在与该条数据相同的Key,则将本记录的操作作为本次操作;
步骤S45、根据数据操作类型对文件进行插入、更新、删除操作。
作为优选的技术方案,所述的步骤S6中的操作类型包括增加、修改、删除。
作为优选的技术方案,所述的步骤S8具体为:
步骤S81、接收Gsoap发送来的XML查询消息;
步骤S82、解析出查询的时间以及请求条件;
步骤S83、根据查询的结束时间,获取当前班别;
步骤S84、打开班别对应的文件,遍历文件中的数据,找到符合条件的数据组包后发送给查询终端。
作为优选的技术方案,所述的步骤S9中,当主机A因为故障原因退出后,如果备机B一段时间内无法与主机A建立连接,则备机B自动切换成主机,继续响应终端软件的数据存储和查询请求。
作为优选的技术方案,所述的步骤S10中,主机B将当前文件中的数据发送至A进行同步,从而保证双机文件内容一致。
与现有技术相比,本发明具有以下优点:
1)本发明设计了一种数据存储方式,在内存中对数据的存储位置、数据类型进行存储,以便定位到数据在文件中的存储位置。
2)本发明省去数据库安装以及维护等工作,可通过对文件操作实现数据的增删改查。
3)本发明可取代数据库,将车站中的运行线、调度命令等数据进行存储,按照班别对数据进行存储,以文件形式实现了数据查询与跟踪。
4)本发明设计了一种车站服务器的数据存储方法,对运行线、调度命令进行存储,在此基础上,车站所需的其他相关数据可通过同样方式进行扩展。
附图说明
图1为本发明数据存储的流程图;
图2为本发明车站服务器软件界面示意图;
图3为本发明运行线终端显示软件的示意图;
图4为本发明调度命令终端显示软件的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明主要研究CTC车站部署的车站应用服务器对于离线数据的存储技术,主要创新点:对于终端软件发送的运行线、调度命令等数据,采用TCP/IP、GSoap等通信机制相结合,对于接收的数据可按运行线、调度命令分别进行解析,并进行数据的合法性校验,防止数据错误;对于同一份数据,应用服务器中维持了用于存储本地的内存以及用于双机同步的内存,本地内存中数据始终维持最新的数据,可用来写入本地文件和当前文件中数据的恢复重写,双机同步内存中数据可用于双机同步;采用包括数据长度、主键、数据类型、数据类型、数据内容的自定义结构,将完整的结构作为数据写入文件,以实现对数据的定位和跟踪;主机和备机在程序启动时会进行文件数据的同步,保持双机文件的一致性;终端软件界面上可按照班次对应查询应用服务器存入本地文件的数据,应用服务器按照条件过滤后,返回给终端软件进行显示。
参考图1-4,说明本发明的技术方案,首先,参考图1,本领域技术人员很容易理解数据的本地存储过程。在图1基础上,图2介绍本发明的应用服务器界面,收到不同数据后界面有相应的日志打印。图3及图4介绍数据在终端软件上的显示方式。
首先参考图1,介绍本发明的数据存储过程,包括以下步骤:
步骤100:启动主备机的车站服务器程序,备机通过TCP/IP方式连接上主机,主机通过commsvr(应用通信服务器)与终端软件建立通信。
步骤101:备机连接上主机时,主机将当前文件中数据取出发送至备机,备机收取数据后对本地文件中的数据进行更新,完成数据初始化的双机同步。
步骤102:终端软件将所述的运行线、调度命令数据发送给服务器。以运行线数据为例,服务器收到终端软件发送的运行线数据,转为运行线结构数据,检验数据合法后,存入DBItem以及stbyItem。Item类代码实现如下:
步骤103:存入DBItem中的数据,通过任务轮询,将数据依次取出,实现如下:
步骤104:从DBItem中依次读取出item数据后,将m_pLang中数据放入FileContentTag的m_Content中,并最终将数据转成FCTagInFile格式,文件中的数据内容按照FCTagInFile格式写入。存储至文件中的FCTagInFile结构代码如下:
步骤105:根据数据操作类型m_OperType,对当前班文件执行对应操作,以Insert操作为例,实现代码如下:
步骤106:存入stbyItem中的数据,以轮询函数读取,利用组包方式,发送给备机。实现代码如下:
步骤107:备机收到主机发送的数据,通过解析出数据的类型,定位对应的DBItem,将数据存储到Item中,后执行步骤102,写入备机本地文件中。
步骤108:文件在本地保存方式则按照车站工作模式,一天可分为两个班次,一个班次对应生成一个文件用于存储数据,应用服务器在换班时间点自动生成新的文件写入,在查询数据时只需打开对应的班别文件去读取数据即可。
参考图2,服务器程序收到从终端软件获取的数据,以运行线为例,对数据按照Item格式存入内存中,而后对文件执行对应的insert、update、delete操作。
参考图3,终端软件接收到运行线数据后,会先向服务器程序发送数据进行存储,再向服务端程序发送请求,获取运行线数据并显示。
参考图4,终端软件可收取调度命令数据或建立调度命令发送给服务器程序进行存储,也可通过对应班别查询服务器程序在文件中写入的数据并显示。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种用于车站应用服务器的数据离线存储方法,其特征在于,该方法采用离线数据存储方式,将终端软件发送过来的运行线、调度命令数据进行处理后,存储到本地文件中并进行双机同步备份。
2.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的车站应用服务器以十六进制格式将数据存储到本地文件,数据传输时采用设定的数据格式,车站应用服务器收到终端软件发送的数据后,将不同的数据采用数据结构进行解析存储到内存中。
3.根据权利要求2所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,对于每条数据,所述的车站应用服务器采用关键字进行标识,并在结构中存入数据长度,在内存中维持对应每条数据在文件中的存储位置。
4.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的方法具体包括以下步骤:
步骤S1、通过TCP/IP以及GSoap通信机制,接收终端软件发送的运行线、调度命令的消息数据;
步骤S2、对于TCP/IP方式传输的运行线消息,采用序列化消息方式,将获取的数据进行反序列化,转存到程序内定义的运行线的存储结构中;
步骤S3、对于GSoap方式传输的调度命令数据,采用XML格式对数据进行解析,将解析的数据转存到程序内定义的调度命令的存储结构中;
步骤S4、将结构中存储的数据按照字节格式依次序列化成字节流,增加包含数据类型、数据操作类型、数据内容的结构,存储到程序的内存中;
步骤S5、车站应用服务器对于数据同时维护两份内存,第一份内存保存数据后,利用任务轮询读取内存中的数据去写入文件;第二份内存保存的数据,利用任务轮询读取数据后按照设定格式组包后,发送给备机;
步骤S6、写文件的任务读取到数据时,按照数据收到的操作类型,获取文件指针,并对文件进行相应操作;
步骤S7、发送给备机的数据,备机通过通信机制收到数据后,进行解析,判断是否为合法数据,若为非法数据进行丢弃,若为合法数据则写入内存中,通过任务轮询读取后写入文件;
步骤S8、对于写入文件中的数据,终端软件通过GSaoap方式发送消息进行查询,主机接收到查询消息后,打开对应班别的文件获取数据,以请求条件过滤后组成XML格式数据,返回给终端软件;
步骤S9、主备机连接时,只有主机A可响应终端软件的查询请求,备机B无法响应;
步骤S10、当退出的主机A重新启动后,自动成为备机去连接主机B。
5.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S4中的内存中每个Item中包含了数据类型、数据操作类型、数据关键字、关键字数量、存入数据的长度、数据的内容。
6.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S4具体为:
步骤S41、初始化存储内存数组ItemArray;
步骤S42、将数据结构中的数据按照设定格式序列化,复制到Item中的字节数组中;
步骤S43、获取该条数据主键Key的数量,以及各主键Key的值;
步骤S44、遍历内存中还未写入文件中存储的数据,判断是否有该条数据相同的Key,若存在与该条数据相同的Key,则根据上一次的操作类型来决定本次操作,如上一记录为Insert操作,本记录也为Insert操作,则修改本记录操作为update操作;若不存在与该条数据相同的Key,则将本记录的操作作为本次操作;
步骤S45、根据数据操作类型对文件进行插入、更新、删除操作。
7.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S6中的操作类型包括增加、修改、删除。
8.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S8具体为:
步骤S81、接收Gsoap发送来的XML查询消息;
步骤S82、解析出查询的时间以及请求条件;
步骤S83、根据查询的结束时间,获取当前班别;
步骤S84、打开班别对应的文件,遍历文件中的数据,找到符合条件的数据组包后发送给查询终端。
9.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S9中,当主机A因为故障原因退出后,如果备机B一段时间内无法与主机A建立连接,则备机B自动切换成主机,继续响应终端软件的数据存储和查询请求。
10.根据权利要求4所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S10中,主机B将当前文件中的数据发送至A进行同步,从而保证双机文件内容一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011422455.4A CN112416656B (zh) | 2020-12-08 | 2020-12-08 | 一种用于车站应用服务器的数据离线存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011422455.4A CN112416656B (zh) | 2020-12-08 | 2020-12-08 | 一种用于车站应用服务器的数据离线存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416656A true CN112416656A (zh) | 2021-02-26 |
CN112416656B CN112416656B (zh) | 2022-08-26 |
Family
ID=74776139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011422455.4A Active CN112416656B (zh) | 2020-12-08 | 2020-12-08 | 一种用于车站应用服务器的数据离线存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416656B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190385A (zh) * | 2021-05-21 | 2021-07-30 | 卡斯柯信号有限公司 | 车站应用服务器主备机的数据同步方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808394A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 基于内存数据库的软双机方法 |
CN103023879A (zh) * | 2012-11-26 | 2013-04-03 | 国电南瑞科技股份有限公司 | 一种基于高速缓存的数据中心间广域数据同步方法 |
US20160274974A1 (en) * | 2015-03-16 | 2016-09-22 | International Business Machines Corporation | Data synchronization of block-level backup |
CN108306989A (zh) * | 2018-04-20 | 2018-07-20 | 北京全路通信信号研究设计院集团有限公司 | 一种用于铁路调度集中系统的主备机数据同步方法 |
CN109194720A (zh) * | 2018-08-15 | 2019-01-11 | 京信通信系统(中国)有限公司 | 主备机数据同步方法、装置和计算机设备 |
-
2020
- 2020-12-08 CN CN202011422455.4A patent/CN112416656B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808394A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 基于内存数据库的软双机方法 |
CN103023879A (zh) * | 2012-11-26 | 2013-04-03 | 国电南瑞科技股份有限公司 | 一种基于高速缓存的数据中心间广域数据同步方法 |
US20160274974A1 (en) * | 2015-03-16 | 2016-09-22 | International Business Machines Corporation | Data synchronization of block-level backup |
US20160274975A1 (en) * | 2015-03-16 | 2016-09-22 | International Business Machines Corporation | Data synchronization of block-level backup |
CN108306989A (zh) * | 2018-04-20 | 2018-07-20 | 北京全路通信信号研究设计院集团有限公司 | 一种用于铁路调度集中系统的主备机数据同步方法 |
CN109194720A (zh) * | 2018-08-15 | 2019-01-11 | 京信通信系统(中国)有限公司 | 主备机数据同步方法、装置和计算机设备 |
Non-Patent Citations (2)
Title |
---|
DONGMING CHEN 等: ""Research on file synchronization backup system based on security policy"", 《2011 IEEE 3RD INTERNATIONAL CONFERENCE ON COMMUNICATION SOFTWARE AND NETWORKS》 * |
胡跃华 等: ""铁路调度集中系统实时备份与应急切换技术"", 《计算机系统应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190385A (zh) * | 2021-05-21 | 2021-07-30 | 卡斯柯信号有限公司 | 车站应用服务器主备机的数据同步方法 |
WO2022241992A1 (zh) * | 2021-05-21 | 2022-11-24 | 卡斯柯信号有限公司 | 车站应用服务器主备机的数据同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112416656B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100562858C (zh) | 内存数据库远程容灾的方法、装置和系统 | |
CN110113420B (zh) | 基于nvm的分布式消息队列管理系统 | |
CN1794207B (zh) | 实现缓存一致性的方法和系统 | |
US6950915B2 (en) | Data storage subsystem | |
US6941327B2 (en) | Apparatus and method for database synchronization in a duplex system | |
CN104820701A (zh) | 数据记录和同步方法及系统 | |
CN103051681B (zh) | 一种面向分布式文件系统的协作式日志系统 | |
CN104202375A (zh) | 同步数据的方法及系统 | |
CN102081611A (zh) | 一种主、备网管系统数据库同步的实现方法及装置 | |
CN101809558A (zh) | 远程异步数据复制系统和方法 | |
US20100146232A1 (en) | Storage system, remote copy and management method therefor | |
EP4213038A1 (en) | Data processing method and apparatus based on distributed storage, device, and medium | |
CN101414946A (zh) | 一种远程数据备份方法及介质服务器 | |
CN105491106A (zh) | 一种石油测井主从数据库系统实时同步系统和方法 | |
CN112416656B (zh) | 一种用于车站应用服务器的数据离线存储方法 | |
CN114374701B (zh) | 一种多级联动人工智能平台样本模型透明共享装置 | |
CN1217270C (zh) | 一种同网异构数据备份系统及其实现方法 | |
US7010650B2 (en) | Multiple data management method, computer and storage device therefor | |
CN101459544A (zh) | 一种采集性能数据的方法及系统 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN111506668B (zh) | 机器人集群智能化数据同步方法及系统 | |
CN110719326B (zh) | 适应低质量通信链路的高可用软件系统内数据同步方法 | |
CN113641760A (zh) | 数据同步方法及装置 | |
CN113127435A (zh) | 一种主备系统文件智能同步方法及系统 | |
CN110362428A (zh) | 在线自动恢复数据库块的方法和系统 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038781 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |