一种消息处理方法、系统与存储介质技术方案

技术编号:36882768 阅读:15 留言:0更新日期:2023-03-15 21:17
本发明专利技术公开一种消息处理方法、系统与存储介质,所述消息处理方法包括:前端发送请求报文至后台服务器;后台服务器返回响应报文至前端,所述响应报文采用HashtableMsg方式封装;前端接收响应报文,通过ArrayListMsg类型的解析方法解析报文内所有字段;通过筛选方法保留予以显示的字段内容并将所述字段内容显示给前端用户。本发明专利技术通过采用ArrayListMsg和HashtableMsg的数据结构对多层分隔符模式报文进行封装和解析,使得解析工作不用层层分解进行,减少了编码人员的解析工作量;使得报文传输的步骤更加简化,且便于日后增减字段。且便于日后增减字段。且便于日后增减字段。

【技术实现步骤摘要】
一种消息处理方法、系统与存储介质


[0001]本专利技术涉及计算机通信领域,具体涉及一种消息处理方法、系统与存储介质。

技术介绍

[0002]目前,在应用之间进行交互时,通过交互双方的约定的具体格式进行报文的组装和解析,而应用的服务接口负责报文具体拼装规则的制定。在报文的制定过程中往往是以逗号、等号、井号等符号作为分隔符,来区分不同段的字符串流。而根据分隔符获取到需要的字符串流之后,需要根据具体类型来判断真正的对象类型,如string、封装对象、数组、链表或者key

value集合等,此时就给解析带来困难,特别是链表和key

value组合。
[0003]通常情况下,采用普通的list结构(如ArrayList)来解析链表数据,key

value集合数据则需要先根据嵌套解析list,再采用普通的map结构(如HashMap、Hashtable)来解析key

value数据。对于多层嵌套链表的解析还需要根据具体的嵌套规则,一层一层的去分情况递归解析,需要知晓整个报文的拼装过程,编码复杂度极高。对于key

value集合的解析,除了知道字段的名称之外,需要关心字段的顺序,当日后扩展时增加或减少字段时,还会受到其它字段干扰,使得编码牵一发而动全身,代码极其难以维护。
[0004]因此,现有技术存在如下问题:
[0005]1、报文的解析需要对嵌套进行层层分解,解析过程过于复杂;
[0006]2、若报文采用key

value形式,报文日后的字段增减变得困难。
[0007]为了解决上述问题,需要提供一种消息处理方法、系统与存储介质。

技术实现思路

[0008]本专利技术公开一种消息处理方法,包括:
[0009]前端发送请求报文至后台服务器;
[0010]后台服务器返回响应报文至前端,所述响应报文采用HashtableMsg方式封装;
[0011]前端接收响应报文,通过ArrayListMsg类型的解析方法解析报文内所有字段;
[0012]通过筛选方法保留予以显示的字段内容并将所述字段内容显示给前端用户。
[0013]进一步地,所述响应报文采用HashtableMsg方式封装包括:
[0014]将响应报文分成两层进行封装,第一层为字段名称说明层,第二层为单条记录层;所述第一层与所述第二层采用一级分隔符分隔,所述第一层内字段名称之间采用二级分隔符分隔,所述第二层内单条记录之间采用二级分隔符分隔。
[0015]进一步地,所述通过ArrayListMsg类型的解析方法解析报文内所有字段包括:
[0016]确定响应报文的第一个分隔符和最后一个分隔符;
[0017]确定第一个分隔符和最后一个分隔符之间的字段内容中一级分隔符的位置;
[0018]确定第一个分隔符和最后一个分隔符之间的字段内容中二级分隔符的位置;
[0019]提取所述响应报文前两个一级分隔符中若干个二级分隔符之间的字段内容作为字段名称;
[0020]提取所述响应报文后两个一级分隔符中若干个二级分隔符之间的字段内容作为单条记录数值。
[0021]优选地,所述筛选方法包括:接收用户输入的查询字段值,将所述查询字段值与响应报文的字段名称进行逐一匹配,若匹配,则将所述字段名称作为列名,将字段名称下级的单条记录分行显示;若不匹配,则返回错误提示。
[0022]优选地,所述筛选方法包括:接收用户输入的数值,将所述数值与响应报文的单条记录数值进行逐一匹配,若匹配,则将所述单条记录数值对应的字段名称作为列名,将单条记录单独显示;若不匹配,则返回错误提示。
[0023]另一方面,本专利技术提供一种消息处理系统,包括:前端、后台服务器、HashtableMsg模块、ArrayListMsg模块和筛选模块;
[0024]所述前端发送请求报文至后台服务器和接收封装后的响应报文;
[0025]所述HashtableMsg模块将后台服务器的响应报文进行封装;
[0026]所述ArrayListMsg模块解析报文内所有字段;
[0027]所述筛选模块保留予以显示的字段内容并将所述字段内容显示给前端用户。
[0028]进一步地,所述消息处理系统还包括时间戳模块,所述后台服务器在接收前端发送的请求报文后调用时间戳模块通过时效验证方法对请求报文的有效性进行判断,若请求报文有效,则将该报文发送至HashtableMsg模块,若无效,则丢弃该报文。
[0029]更进一步地,所述时效验证方法包括:
[0030]提取请求报文的消息标识号及时间字段;
[0031]判断消息标识号的生成时间是否早于预设阈值,若早于该预设值,则该请求报文的验证结果为无效;
[0032]判断时间字段内第一时间戳和第二时间戳的大小关系,若第一时间戳大于第二时间戳,则该请求报文有效,反之则无效。
[0033]本系统还包括一种客户端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0034]本专利技术还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序且应用于客户端,所述计算机程序被处理器执行时实现上述方法的步骤。
[0035]由上述技术方案可知,本专利技术至少具备以下优点和积极效果:
[0036]1、通过采用ArrayListMsg的数据结构对多层分隔符模式报文进行封装,封装采用一级分隔符和二级分隔符,解析时只需定位一级和二级分隔符,从而使得解析工作不用层层分解进行,减少了编码人员的解析工作量。
[0037]2、通过采用自定义类型HasgtableMsg,通过一级分隔符和二级分隔符的重复组合使得字段的组装省去了多余的转义字符,从而使得报文传输的步骤更加简化,省去了编码人员需要知道字段顺序的步骤,且便于日后增减字段。
附图说明
[0038]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
[0039]图1是本专利技术一实施例提供的一种消息处理方法的流程示意图;
[0040]图2是本专利技术提供的HashtableMsg报文解析方法的流程示意图;
[0041]图3是本专利技术提供的ArrayListMsg的结构示意图;
[0042]图4是本专利技术另一实施例提供的时效验证方法的流程示意图;
[0043]图5是本专利技术另一实施例提供的一种消息处理系统的结构示意图;
[0044]图6是本专利技术提供的多层分隔符模式报文示意图;
[0045]图7是本专利技术提供的Has本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息处理方法,其特征在于,所述方法包括:前端发送请求报文至后台服务器;后台服务器返回响应报文至前端,所述响应报文采用HashtableMsg方式封装;前端接收响应报文,通过ArrayListMsg类型的解析方法解析报文内所有字段;通过筛选方法保留予以显示的字段内容并将所述字段内容显示给前端用户。2.根据权利要求1所述的方法,其特征在于,所述响应报文采用HashtableMsg方式封装包括将响应报文分成两层进行封装,第一层为字段名称说明层,第二层为单条记录层;所述第一层与所述第二层采用一级分隔符分隔,所述第一层内字段名称之间采用二级分隔符分隔,所述第二层内单条记录之间采用二级分隔符分隔。3.根据权利要求1所述的方法,其特征在于,所述解析方法包括:确定响应报文的第一个分隔符和最后一个分隔符;确定第一个分隔符和最后一个分隔符之间的字段内容中一级分隔符的位置;确定第一个分隔符和最后一个分隔符之间的字段内容中二级分隔符的位置;提取所述响应报文前两个一级分隔符中若干个二级分隔符之间的字段内容作为字段名称;提取所述响应报文后两个一级分隔符中若干个二级分隔符之间的字段内容作为单条记录数值。4.根据权利要求1所述的方法,其特征在于,所述筛选方法包括接收用户输入的查询字段值,将所述查询字段值与响应报文的字段名称进行逐一匹配,若匹配,则将所述字段名称作为列名,将字段名称下级的单条记录分行显示;若不匹配,则返回错误提示。5.根据权利要求4所述的方法,其特征在于,所述筛选方法还包括接收用户输入的数值,将所述数值与响应报文的单条记录数值进行逐一匹配,若匹配,则将所述单条记录数值...

【专利技术属性】
技术研发人员:毕锦程张令鹏潘知才
申请(专利权)人:深圳市雁联计算系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1