本发明涉及协议文本解析领域,具体地,涉及一种协议文本解析方法及系统。
背景技术:
目前,当系统发生协议变更时,需要各前端下发相应的版本进行协同解决,时效性差,效率低。同时,由于各前端需要根据相应的版本人工修改文本,也造成了高成本和高出错率。
技术实现要素:
本发明实施例的主要目的在于提供一种协议文本解析方法及系统,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
为了实现上述目的,本发明实施例提供一种协议文本解析方法,包括:
实时读取协议文本;
解析协议文本,生成报文对象;
根据报文对象生成json报文;
解析json报文,生成解析结果;
将解析结果填入预设的模板页面进行展示。
在其中一种实施例中,实时读取协议文本之后,包括:
判断协议文本是否为html文件;
当协议文本为html文件时,解析协议文本,生成报文对象。
在其中一种实施例中,json报文为json字符串;
根据报文对象生成json报文,具体包括:
根据报文对象生成json对象;
根据json对象生成json字符串。
在其中一种实施例中,报文对象和解析结果均包括协议编号,协议版本号和协议内容。
本发明实施例还提供一种协议文本解析系统,包括:
读取单元,用于实时读取协议文本;
第一解析单元,用于解析协议文本,生成报文对象;
报文生成单元,用于根据报文对象生成json报文;
第二解析单元,用于解析json报文,生成解析结果;
展示单元,用于将解析结果填入预设的模板页面进行展示。
在其中一种实施例中,判断单元,用于判断协议文本是否为html文件。
在其中一种实施例中,json报文为json字符串;
报文生成单元具体用于:
根据报文对象生成json对象;
根据json对象生成json字符串。
在其中一种实施例中,报文对象和解析结果均包括协议编号,协议版本号和协议内容。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
实时读取协议文本;
解析协议文本,生成报文对象;
根据报文对象生成json报文;
解析json报文,生成解析结果;
将解析结果填入预设的模板页面进行展示。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
实时读取协议文本;
解析协议文本,生成报文对象;
根据报文对象生成json报文;
解析json报文,生成解析结果;
将解析结果填入预设的模板页面进行展示。
本发明实施例的协议文本解析方法及系统先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中协议文本解析方法的流程图;
图2是本发明实施例中协议文本解析系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
鉴于现有技术需要各前端下发相应的版本进行协同解决,时效性差,效率低,成本和出错率高,本发明实施例提供一种协议文本解析方法,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。以下结合附图对本发明进行详细说明。
图1是本发明实施例中协议文本解析方法的流程图。如图1所示,协议文本解析方法包括:
s101:实时读取协议文本。
其中,协议文本存放于ftp(filetransferprotocol,文件传输协议)服务器上,可以每隔10分钟左右读取一次协议文本。
s102:解析协议文本,生成报文对象。
s103:根据报文对象生成json报文。
s104:解析json报文,生成解析结果。
s105:将解析结果填入预设的模板页面进行展示。
其中,模板页面可以为前端的web端页面。
图1所示的协议文本解析方法可以应用于银行系统。由图1所示的流程可知,本发明实施例的协议文本解析方法先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
协议文本中包括多种格式的文件。因此执行s101之后,需要基于输入流与正则表达式,判断协议文本是否为html文件;当协议文本为html文件时再执行s102。
一实施例中,json(javascriptobjectnotation,js对象简谱)报文为json字符串。
s103具体包括:
根据报文对象生成json对象;
根据json对象生成json字符串。
一实施例中,报文对象和解析结果均包括协议编号dealno,协议版本号dealverson和协议内容dealcontent。
本发明的具体步骤如下:
1、编写独立java程序,结合apache开源包:
org.apache.commons.net.ftp.ftpclient
org.apache.commons.net.ftp.ftpfile。
2、实时读取协议文本,包括初始化ftpclient对象和获取协议文本。
初始化ftpclient对象的代码如下:
获取协议文本的代码如下:
ftpfile[]ftpfiles=localftpclient.listfiles().
3、基于输入流与正则表达式,判断协议文本是否为html文件;当协议文本为html文件时解析协议文本,生成协议编号,协议版本号和协议内容,代码如下:
4、根据报文对象生成json对象,根据json对象生成json字符串,代码如下:
jsonobjectjson=jsonobject.fromobject();
stringstr=json.tostring().
5、解析json字符串,生成协议编号,协议版本号和协议内容。
6、将解析结果填入预设的模板页面进行展示。
综上,本发明实施例的协议文本解析方法先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
基于同一发明构思,本发明实施例还提供了一种协议文本解析系统,由于该系统解决问题的原理与协议文本解析方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。
图2是本发明实施例中协议文本解析系统的结构框图。如图2所示,协议文本解析系统包括:
读取单元,用于实时读取协议文本;
第一解析单元,用于解析协议文本,生成报文对象;
报文生成单元,用于根据报文对象生成json报文;
第二解析单元,用于解析json报文,生成解析结果;
展示单元,用于将解析结果填入预设的模板页面进行展示。
在其中一种实施例中,判断单元,用于判断协议文本是否为html文件。
在其中一种实施例中,json报文为json字符串;
报文生成单元具体用于:
根据报文对象生成json对象;
根据json对象生成json字符串。
在其中一种实施例中,报文对象和解析结果均包括协议编号,协议版本号和协议内容。
综上,本发明实施例的协议文本解析系统先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
实时读取协议文本;
解析协议文本,生成报文对象;
根据报文对象生成json报文;
解析json报文,生成解析结果;
将解析结果填入预设的模板页面进行展示。
综上,本发明实施例的计算机设备先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
实时读取协议文本;
解析协议文本,生成报文对象;
根据报文对象生成json报文;
解析json报文,生成解析结果;
将解析结果填入预设的模板页面进行展示。
综上,本发明实施例的计算机可读存储介质先实时读取协议文本,再解析协议文本,生成报文对象,然后根据报文对象生成json报文,接着解析json报文,生成解析结果,最后将解析结果填入预设的模板页面进行展示,在协议变更时无需各前端再下发相应版本,提高了效率,降低了成本和出错率。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。