报文的可视化处理装置、方法、电子设备及介质与流程
- 国知局
- 2024-08-19 14:28:53
本发明涉及数据通信,尤其涉及一种报文的可视化处理装置、方法、电子设备及介质。
背景技术:
1、通信系统间的数据通信通常是采用各种各样的报文来传输数据。报文(message)是一种用于在网络中传递数据的结构化数据格式,是网络中交换与传输的数据单元(即站点一次性要发送的数据块)。报文包含了将要发送的完整的数据信息,其长度不限且可变。报文通常由报文头和报文体两部分组成,报文头通常用于指明报文的控制信息,报文体则包含具体的数据内容(即传输的数据)。报文头的长度通常是固定的,报文体的长度可以根据需要而变化。根据需要还可以设置报文尾以用于校验和终止一条报文。
2、不同的电子通信协议会定义不同的报文格式和规范,报文基于文件传输定义的协议组织。以金融行业为例,imix协议(即,银行间金融信息交换协议,全称inter-bankmarket information exchange协议)和fix协议(即,金融信息交换协议,全称financialinformation exchange协议)广泛用于国际、国内银行间交易平台用于传输行情、达成交易等。由于fix协议是一个开放协议,各国际金融机构都可以在标准的基础上,按照自己的业务需求变更或扩展协议。各家机构都会根据自己的业务需求配置一套协议字典,在接收到报文后,用户(主要是金融从业人员)需要对照该机构的协议字典才能准确理解报文的含义。imix协议是fix协议在国内银行间市场的扩展,由外汇交易中心维护。
3、作为举例,imix报文样例和fix报文样例分别如下:
4、imix报文样例
5、
6、fix报文样例
7、
8、
9、上面的报文信息显示不够直观,不符合人类语言规范,用户阅读较为困难;而且,虽然有些报文内容用户可以基于记忆的报文格式和规范看懂其含义(比如eur/usd表示货币对代码),但有些信息用户需要对照相关的接口文档或者数据字典才能理解其含义,降低了报文阅读和理解效率;如果通过记忆报文格式和规范来提高理解效率,则对用户提出了较高要求,增加了用户的记忆负担。
10、据此,现有技术也提供了一些针对这些协议的接口开发包,以提供格式化输出的代码功能,从而便于用户阅读和理解报文。作为举例,比如,现有的imix/fix报文通常支持按照如下xml格式输出:
11、
12、
13、上述xml格式的文本增加了可读性(更符合人类阅读习惯)和直观性,然而,格式多样性不够,文本显示也仍然不够友好,比如用户难以直观看出每个域(field)的名称,枚举值只能看到数字,仍然难以理解枚举值代表的含义信息。而且,协议提供的原始接口开发包提供的报文内容往往不够丰富,难以满足用户对报文的查阅和理解需求。
14、对于xml、json等常用格式的文本,现有技术也提供了一些可视化工具来辅助格式化以提高文本查阅的友好性。但现有的可视化工具往往只能基于xml、json的原始文本进行简单的缩放、换行等格式化输出,作为举例,比如报文的原始xml文本如下:
15、
16、格式化输出文本如下(进行了换行处理):
17、
18、可以看出,现有的报文可视化仅能进行较为简单的报文解析和格式化处理,难以适用于复杂的通信协议(比如金融信息协议,协议业务复杂多样、报文类型和报文字段繁多)中的报文处理,如何实现多种业务报文解析和多格式化输出,是当前亟需解决的技术问题。
19、另一方面,由于金融业务报文的报文要素通常较多,系统开发人员在构造报文、解析报文时容易出现报文要素遗漏的情况。是否可以在格式化输出基础上提供更多支持功能以满足报文处理需求,也是当前亟需解决的技术问题。
技术实现思路
1、本发明的目的在于:克服现有技术的不足,提供一种报文的可视化处理装置、方法、电子设备及介质。本发明提供的报文可视化方案,对应不同类型的报文配置了不同的数据字典库和转换器库,通过配置数据字典库和转换器库来实现将多种类型的报文以多种数据格式进行可视化呈现,格式化展示的信息更丰富。进一步,给出了将金融业务报文imix/fix报文对象,格式化成xml格式、json格式的数据组织方法,实现了多种类型的金融业务报文解析和格式转换,便于金融科技从业人员熟悉、应用、查阅相关报文协议。进一步,在格式化呈现的基础上,还提供了根据imix/fix报文对象自动生成报文构造代码、报文解析代码的方法,可以协助开发人员进行报文处理,有效解决了报文要素遗漏的问题,扩大了报文可视化技术的应用场景。
2、为实现上述目标,本发明提供了如下技术方案:
3、一种报文的可视化处理装置,包括可视化用户交互界面,还包括:
4、采集模块,用于获取原始报文;
5、识别模块,用于根据获取的原始报文,识别原始报文所属的报文类型,提取报文内容;
6、格式化模块,用于对报文内容进行解析和转换,得到符合预设格式规范的结构化数据后生成对应的格式化文本;其中,对应不同类型的报文,配置有不同的数据字典库和转换器库,所述数据字典库中包括多个数据字典文件以适配同一报文类型下不同版本的协议,不同版本的协议对应不同的数据字典文件;所述转换器库中包括多个转换器以适配多种格式的格式转换,一个转换器对应一个预设格式的结构化数据转换映射规则,转换器基于解析结果将报文内容按对应的结构化数据转换映射规则进行转换以得到符合该预设格式规范的结构化数据;所述格式化模块能够根据原始报文所属的报文类型获取对应的数据字典库和转换器库后,对报文内容进行解析和转换;
7、可视化模块,用于获取针对前述原始报文生成的一个或多个格式化文本,在格式化文本显示栏按预设方式展示格式化文本。
8、进一步,所述采集模块包括显示在可视化用户交互界面的报文信息采集栏,通过所述报文信息采集栏获取用户输入或导入的原始报文;
9、当原始报文对应有多个格式化文本时,所述可视化模块预设有默认格式,在格式化文本显示栏先展示所述默认格式的格式化文本;以及,对应所述格式化文本显示栏设置有格式切换触发项,根据用户对所述格式切换触发项的操作,切换展示不同的格式化文本。
10、进一步,所述识别模块被配置为:对采集模块中的原始报文进行识别,得到原始报文的报文头和报文体信息,根据所述报文头确定报文类型;
11、所述识别模块支持多种类型的报文识别。
12、进一步,所述格式化模块被配置为:对于不同类型的报文,使用不同的java协议包进行解析,得到报文对应的java对象;所述java协议包中配置有xml格式的数据字典文件,在报文解析时,从所述数据字典文件中获取报文中每个域的tag与域名的对应关系、枚举值与枚举名称的对应关系,以及域的类型信息后,通过域tag确定对应的域名,通过枚举值确定对应的枚举名称;
13、对于java对象,递归遍历对象中的所有要素,以及要素的类型,得到报文的消息结构和交易数据;根据所述消息结构和交易数据,转换器按各格式对应的结构化数据转换映射规则进行数据转换,得到多个格式的格式化文本。
14、进一步,报文类型包括imix报文和fix报文;对于imix报文,使用外汇交易中心提供的imix协议包imixprotocol.jar进行报文解析;对于fix报文,基于开源quickfixj项目和各交易平台提供的用于报文解析的接口指引来配置fix协议包后,通过该fix协议包进行报文解析;
15、对于java对象,递归遍历imix或者fix对象中的所有要素,以及要素的类型,得到报文的消息结构和交易数据;根据所述消息结构和交易数据,转换器按各格式对应的结构化数据转换映射规则进行格式转换,得到多个格式的格式化文本。
16、进一步,转换器库中配置的预设格式至少包括xml格式和json格式;
17、在xml格式中,每个要素节点为域的英文名称,要素的值为imix报文或fix报文中的域值,域id配置到属性attribute节点tag里面;对于枚举值,取对应值在数据字典中的枚举名称填要素的值,原枚举值在属性attribute中通过增加value字段表示;
18、在json格式中,以域的英文名称和域的值来组织报文结构,域的值显示在域的英文名称之后,英文名称和域的值之间通过预设分隔符分隔。
19、进一步,转换器库中配置的预设格式还包括java get代码格式文本和javaset代码格式文本,所述java get代码用于构造报文,所述java set代码用于解析报文;
20、在生成的java get代码格式文本中,每个重复组生成一个build函数,在上层结构的函数中调用;构造消息对象时,以报文中的内容作为范例值填入;并且,根据域的类型来填值,当域的类型是字符串时以双引号填值;当域的类型是枚举值时,取对应值在数据字典的定义进行填值;
21、在生成的java set代码格式文本中,每个重复组生成一个parse函数,在上层结构的函数中调用;解析消息对象时,将报文中的内容以注释方式显示在代码的右边;并且,根据域的类型来配置代码,当域的类型是字符串时,生成getstring语句代码,当域的类型是枚举值或整数时,则生成getint语句代码;当域的类型是重复组,循环遍历每个重复组中的域进行解析。
22、本发明还提供了一种报文的可视化处理方法,包括如下步骤:
23、获取原始报文;
24、根据获取的原始报文,识别原始报文所属的报文类型,提取报文内容;
25、对报文内容进行解析和转换,得到符合预设格式规范的结构化数据后生成对应的格式化文本;其中,对应不同类型的报文,配置有不同的数据字典库和转换器库,所述数据字典库中包括多个数据字典文件以适配同一报文类型下不同版本的报文协议,不同版本的报文协议对应不同的数据字典文件;所述转换器库中包括多个转换器以适配多种格式的格式转换,一个转换器对应一个预设格式的结构化数据转换映射规则,转换器基于解析结果将报文内容按对应的结构化数据转换映射规则进行转换以得到符合该预设格式规范的结构化数据;所述格式化模块能够根据原始报文所属的报文类型获取对应的数据字典库和转换器库后,对报文内容进行解析和转换;
26、获取针对前述原始报文生成的一个或多个格式化文本,在格式化文本显示栏按预设方式进行可视化展示。
27、本发明还提供了一种电子设备,所述电子设备包括:
28、存储器,存储至少一个指令;
29、处理器,执行所述存储器中存储的指令以执行如前所述的方法。
30、本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的方法。
31、本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:本发明提供的报文可视化方案,对应不同类型的报文配置了不同的数据字典库和转换器库,通过配置数据字典库和转换器库来实现将多种类型的报文以多种数据格式进行可视化呈现,格式化展示的信息更丰富。
32、进一步,给出了将金融业务报文imix/fix报文对象,格式化成xml格式、json格式的数据组织方法,实现了多种类型的金融业务报文解析和格式转换,便于金融科技从业人员熟悉、应用、查阅相关报文协议。
33、进一步,在格式化呈现的基础上,还提供了根据imix/fix报文对象自动生成报文构造java get代码、报文解析java set代码的功能,可以协助开发人员进行报文处理,有效解决了报文要素遗漏的问题,扩大了报文可视化技术的应用场景。
本文地址:https://www.jishuxx.com/zhuanli/20240819/275347.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表