[发明专利]一种用于车站应用服务器的数据离线存储方法有效
申请号: | 202011422455.4 | 申请日: | 2020-12-08 |
公开(公告)号: | CN112416656B | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 吴翔;卢颖涛;曹亚辉;陈震解;王亚飞;柯健;陈海欢;张鹏 | 申请(专利权)人: | 卡斯柯信号有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵志远 |
地址: | 200070 上海市静安区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 车站 应用 服务器 数据 离线 存储 方法 | ||
1.一种用于车站应用服务器的数据离线存储方法,其特征在于,该方法采用离线数据存储方式,将终端软件发送过来的运行线、调度命令数据进行处理后,存储到本地文件中并进行双机同步备份;
所述的方法具体包括以下步骤:
步骤S1、通过TCP/IP以及GSoap通信机制,接收终端软件发送的运行线、调度命令的消息数据;
步骤S2、对于TCP/IP方式传输的运行线消息,采用序列化消息方式,将获取的数据进行反序列化,转存到程序内定义的运行线的存储结构中;
步骤S3、对于GSoap方式传输的调度命令数据,采用XML格式对数据进行解析,将解析的数据转存到程序内定义的调度命令的存储结构中;
步骤S4、将结构中存储的数据按照字节格式依次序列化成字节流,增加包含数据类型、数据操作类型、数据内容的结构,存储到程序的内存中;
步骤S5、车站应用服务器对于数据同时维护两份内存,第一份内存保存数据后,利用任务轮询读取内存中的数据去写入文件;第二份内存保存的数据,利用任务轮询读取数据后按照设定格式组包后,发送给备机;
步骤S6、写文件的任务读取到数据时,按照数据收到的操作类型,获取文件指针,并对文件进行相应操作;
步骤S7、发送给备机的数据,备机通过通信机制收到数据后,进行解析,判断是否为合法数据,若为非法数据进行丢弃,若为合法数据则写入内存中,通过任务轮询读取后写入文件;
步骤S8、对于写入文件中的数据,终端软件通过GSaoap方式发送消息进行查询,主机接收到查询消息后,打开对应班别的文件获取数据,以请求条件过滤后组成XML格式数据,返回给终端软件;
步骤S9、主备机连接时,只有主机A可响应终端软件的查询请求,备机B无法响应;
步骤S10、当退出的主机A重新启动后,自动成为备机去连接主机B。
2.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的车站应用服务器以十六进制格式将数据存储到本地文件,数据传输时采用设定的数据格式,车站应用服务器收到终端软件发送的数据后,将不同的数据采用数据结构进行解析存储到内存中。
3.根据权利要求2所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,对于每条数据,所述的车站应用服务器采用关键字进行标识,并在结构中存入数据长度,在内存中维持对应每条数据在文件中的存储位置。
4.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S4中的内存中每个Item中包含了数据类型、数据操作类型、数据关键字、关键字数量、存入数据的长度、数据的内容。
5.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S4具体为:
步骤S41、初始化存储内存数组ItemArray;
步骤S42、将数据结构中的数据按照设定格式序列化,复制到Item中的字节数组中;
步骤S43、获取该条数据主键Key的数量,以及各主键Key的值;
步骤S44、遍历内存中还未写入文件中存储的数据,判断是否有该条数据相同的Key,若存在与该条数据相同的Key,则根据上一次的操作类型来决定本次操作,如上一记录为Insert操作,本记录也为Insert操作,则修改本记录操作为update操作;若不存在与该条数据相同的Key,则将本记录的操作作为本次操作;
步骤S45、根据数据操作类型对文件进行插入、更新、删除操作。
6.根据权利要求1所述的一种用于车站应用服务器的数据离线存储方法,其特征在于,所述的步骤S6中的操作类型包括增加、修改、删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡斯柯信号有限公司,未经卡斯柯信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011422455.4/1.html,转载请声明来源钻瓜专利网。