CN106790206B - 业务系统的报文解析方法及装置 - Google Patents

业务系统的报文解析方法及装置 Download PDF

Info

Publication number
CN106790206B
CN106790206B CN201710007270.9A CN201710007270A CN106790206B CN 106790206 B CN106790206 B CN 106790206B CN 201710007270 A CN201710007270 A CN 201710007270A CN 106790206 B CN106790206 B CN 106790206B
Authority
CN
China
Prior art keywords
agreement
business module
newly
service
increased
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.)
Active
Application number
CN201710007270.9A
Other languages
English (en)
Other versions
CN106790206A (zh
Inventor
吕榕林
欧骏骁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Entropy Technology Co., Ltd
Original Assignee
Xiamen Central Intelligent Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Central Intelligent Information Technology Co Ltd filed Critical Xiamen Central Intelligent Information Technology Co Ltd
Priority to CN201710007270.9A priority Critical patent/CN106790206B/zh
Publication of CN106790206A publication Critical patent/CN106790206A/zh
Application granted granted Critical
Publication of CN106790206B publication Critical patent/CN106790206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明公开了一种业务系统的协议解析方法,包括:在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象;通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;根据所述通讯报文生成数据对象;根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。另外,本发明还相应地公开了一种业务系统的协议解析装置。采用本发明,可降低业务模块之间的耦合度,提高程序的可扩展性。

Description

业务系统的报文解析方法及装置
技术领域
本发明涉及物联网通讯技术领域,尤其涉及一种业务系统的报文解析方法及装置。
背景技术
随着信息通信技术的不断发展,通信网络作为信息通信技术的重要基础,已经从人到人的通信发展到人与物、物与物之间的通信,并逐渐趋向于从纵向的局部物与物相连过渡到横向的跨应用、跨地域的物联网。物联网在1999年被提出,其定义为将所有物品通过射频识别(RFID)、红外传感、全球定位系统、激光扫描灯信息传感设备与互联网连接起来,进行信息交互和通信,实现智能化识别、定位、跟踪、监控和管理。
目前的物联网通信处于初步的发展阶段,物联网通讯设计中都是根据一种已经设计好的通讯协议,简单的在业务系统的逻辑中,通过硬编码的方式进行协议的解析。
现有技术中所有的逻辑都在一个处理器中,耦合度高,随着业务的扩展,程序的复杂度越来越高。并且,使用条件判断语句解析报文再进行分发处理时,在通讯协议上每新增一种业务,都需要对判断语句进行修改,随着业务的扩展,判断语句会日益复杂,并且每一次更新,都可能对以往所有的逻辑产生影响。所以,现有的物联网通讯技术中存在着扩展性低的问题。
发明内容
本发明实施例提出了一种业务系统的报文解析方法,可以解决物联网通讯技术中存在的扩展性低的技术问题。
一种业务系统的报文解析方法,包括:
在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象;
通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
根据所述通讯报文生成数据对象;
根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
可选的,在所述查找与所述接收到的通讯报文匹配的协议匹配对象之前,还包括:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
可选的,所述查找与所述接收到的通讯报文匹配的协议匹配对象包括:
获取所述接收到的通讯报文中的关键字;
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
可选的,所述方法还包括:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
可选的,所述根据所述业务标识和所述业务类型查找对应的业务模块调用接口包括:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
此外,还提出了一种业务系统的报文解析装置。
一种业务系统的报文解析装置,包括:
协议匹配对象查找单元,用于在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象;
通讯报文解析单元,用于通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
数据对象生成单元,用于根据所述通讯报文生成数据对象;
业务模块调用单元,用于根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
可选的,所述装置还包括协议匹配对象添加单元,用于:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
可选的,所述协议匹配对象查找单元还用于:
获取所述接收到的通讯报文中的关键字;
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
可选的,所述装置还包括业务模块添加单元:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
可选的,所述业务模块调用单元还用于:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
本发明实施例中通过查找与接收到的通讯报文匹配的协议匹配对象,根据协议匹配对象中预定义的函数返回与通讯报文对应的业务标识和业务类型,并根据通讯报文生成数据对象,将数据对象传递至与业务标识和业务类型对应的业务模块调用接口进行处理,采用XML文件格式保存协议匹配对象和业务模块调用接口,使得在对处理程序进行修改时,只需要改动XML文件中对应的模块;同时,在增加或者删除业务模块时,只需要添加或者删除相应的XML文件,而不必对整个业务处理程序进行改动,从而降低业务模块之间的耦合度,提高程序的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种业务系统的报文解析方法的流程图;
图2为另一个实施例中一种业务系统的报文解析方法的流程图;
图3为一个实施例中一种业务系统的报文解析装置的示意图;
图4为一个实施例中一种业务系统的报文解析装置的示意图;
图5为一个实施例中一种业务系统的报文解析装置的结构图;
图6为一个实施例中运行上述业务系统的报文解析方法的计算机系统的硬件架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一个实施例中,提出了一种业务系统的报文解析方法。该方法的实现可依赖于计算机程序,该计算机程序可以是通讯协议解析的管理程序。该计算机程序可运行于基于冯诺依曼体系的计算机系统之上。
参照图1,图1是本发明实施例中一种业务系统的报文解析方法的流程图,该业务系统的报文解析方法的执行包括以下步骤:
步骤S102:在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象。
步骤S104:通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型。
步骤S106:根据所述通讯报文生成数据对象。
通讯报文是网络传输的单位,传输过程中会不断的封装成分组、包、帧来进行传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。比如里面有报文类型、报文版本、报文长度、报文实体等等信息。在本实施例中,与通讯报文匹配的协议匹配对象指对通讯协议进行处理的单元,其中包含3个内容:业务标识、匹配规则和消息转发方式。
其中,业务标识是通讯报文中携带的业务处理信息对应的业务处理对象,以社交软件“删除好友这一操作过程”为例,业务标识为删除好友,可能的值为:ms.person.friend.delete;匹配规则指从通讯报文中识别这一操作类型,以数据基于http传输为例,假设解析的通讯报文的url为“http://ip:port/iport/cdata?cl iendId=3434UYU77&option=5&cmd=3&oporation=delete&id=eUYIIDUUSY”,匹配规则为识别url中的参数,从而确定具体业务,例如规则可能为:option为5,operation为delete且含有id的url,就认为是删除好友的操作。消息转发方式指的是确定了报文的业务特征后的处理方式。如可以将业务标识和其它信息(如人员id,姓名等),发往特定队列的消息队列,给专门处理好友的业务模块接收(也可能有其它方式,如通过websocket、thrift等推送消息)。
在本实施例中,可预先创建XML文件对协议匹配对象的标识进行保存,XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的标记(markup)是关键部分,可以创建内容,然后使用限定标记去标记它,从而使每个单词、短语或块成为可识别、可分类的信息。XML文件存在于业务模块,保存的是协议匹配对象中描述的业务标识,协议版本、调用类、调用函数、优先值。
在一个实施例中,可以通过获取接收到的通讯报文中的关键字,在XML文件中查询与关键字匹配的协议匹配对象的标识,根据查找到的标识获取对应的已加载到内存中的协议匹配对象。系统可在启动时加载预先定义的多个类型的协议匹配对象的类,并生成相应的协议匹配对象,存储在内存中,生成的协议匹配对象即具有相应的标识。系统也可在启动后动态地加载多个类型的协议匹配对象的类。例如,在通讯报文中查询到关键字“device”,根据该关键字在XML文件中查找到对应的协议匹配对象的标识如“device 1-4”,其中包含了关键字“device”,再根据该协议匹配标识获取对应的已加载到内存中的协议匹配对象。
这里的关键字匹配可以包含多种情况,可以是在关键字与协议匹配对象的标识完全相同时判定为匹配;也可以设定一定的百分比阈值,超过设定的阈值时判定为匹配,如关键字与协议匹配对象的标识的字符串的相似度为80%,设定的阈值为70%,此时即认为匹配成功。根据关键字匹配查找对应的协议匹配对象,可以快速地检测到相应的协议匹配对象,提高处理效率。
步骤S108:根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
在本实施例中,对通讯报文的业务处理需要通过调用对应的业务模块接口,并将数据对象传递到业务模块调用接口进行处理。例如,通讯报文中指示需要将设备1中的数据删除,其中的关键字为“device”,对应的协议匹配对象获取其中的业务标识为“device”,业务类型为“delete”,数据对象为“data”。此时,根据业务标识和业务类型查找到对应的业务模块调用接口,假设为调用函数“DELETE”,将数据对象“data”传递至函数“DELETE”进行处理。
参照图2,图2为本发明另一个实施例中一种业务系统的报文解析方法的流程图,包括以下步骤:
步骤S202:加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识,获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
在本实施例中,可预先创建XML文件对协议匹配对象的标识进行保存,XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的标记(markup)是关键部分,可以创建内容,然后使用限定标记去标记它,从而使每个单词、短语或块成为可识别、可分类的信息。XML文件存在于业务模块,保存的是协议匹配对象中描述的业务标识,协议版本、调用类、调用函数、优先值。
在一个实施例中,增加新的协议匹配对象时,获取新增的协议匹配对象的标识,获取输入的与协议匹配对象对应的关键字,将新增的协议匹配对象的标识以及与新增的协议匹配对象对应的关键字存储在XML文件中。之后通过获取接收到的通讯报文中的关键字,在XML文件中查询已加载到内存中的与关键字匹配的协议匹配对象的标识,根据查找到的标识获取对应的协议匹配对象。系统可在启动时加载预先定义的多个类型的协议匹配对象的类,并生成相应的协议匹配对象,存储在内存中,生成的协议匹配对象即具有相应的标识。系统也可在启动后动态地加载多个类型的协议匹配对象的类。
步骤S204:在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象。
步骤S206:通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型。
步骤S208:根据所述通讯报文生成数据对象。
通讯报文是网络传输的单位,传输过程中会不断的封装成分组、包、帧来进行传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。比如里面有报文类型、报文版本、报文长度、报文实体等等信息。在本实施例中,与通讯报文匹配的协议匹配对象指对通讯协议进行处理的单元,其中包含3个内容:业务标识、匹配规则和消息转发方式。其中,以社交软件“删除好友这一操作过程”为例,业务标识为删除好友,可能的值为:ms.person.friend.delete;匹配规则指从通讯报文中识别这一操作类型,以数据基于http传输为例,假设解析的通讯报文的url为“http://ip:port/iport/cdata?cliendId=3434U YU77&option=5&cmd=3&oporation=delete&id=eUYIIDUUSY”,匹配规则为识别url中的参数,从而确定具体业务,例如规则可能为:option为5,operation为delete且含有id的url,就认为是删除好友的操作。消息转发方式指的是确定了报文的业务特征后的处理方式。如可以将业务标识和其它信息(如人员id,姓名等),发往特定队列的消息队列,给专门处理好友的业务模块接收(也可能有其它方式,如通过websocket、thrift等推送消息)。
在一个实施例中,可以通过获取接收到的通讯报文中的关键字,在XML文件中查询与关键字匹配的协议匹配对象的标识,根据查找到的标识获取对应的已加载到内存中的协议匹配对象。系统可在启动时加载预先定义的多个类型的协议匹配对象的类,并生成相应的协议匹配对象,存储在内存中,生成的协议匹配对象即具有相应的标识。系统也可在启动后动态地加载多个类型的协议匹配对象的类。
例如,在通讯报文中查询到关键字“device”,根据该关键字在XML文件中查找到对应的协议匹配对象的标识如“device 1-4”,其中包含了关键字“device”,再根据该协议匹配标识获取对应的已加载到内存中的协议匹配对象。这里的关键字匹配可以包含多种情况,可以是在关键字与协议匹配对象的标识完全相同时判定为匹配;也可以设定一定的百分比阈值,超过设定的阈值时判定为匹配,如关键字与协议匹配对象的标识的字符串的相似度为80%,设定的阈值为70%,此时即认为匹配成功。根据关键字匹配查找对应的协议匹配对象,可以快速地检测到相应的协议匹配对象,提高处理效率。
步骤S210:加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口,获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML中。
在本实施例中,增加新的业务模块时,获取所述新增的业务模块的业务模块调用接口,获取输入的与新增的业务模块对应的业务标识和业务类型,将新增的业务模块调用接口以及与新增的业务模块对应的业务标识和业务类型存储在所述XML中。在调用业务模块接口时,在XML文件中查询到已加载到内存中的与业务标识和业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口,这里的业务模块调用接口可以是函数或者链接等多种类型。
例如,仍以上述业务标识“device”为例,需要添加输出数据的业务模块,假设为“print”函数,只需要在预先XML文件中写入对应的业务标识“device”和业务类型“print”,在接收到通讯报文时,从XML文件中查询到业务标识“device”和业务类型“print”对应的业务模块调用接口,将需要处理的数据对象“data”发送至业务模块“print”函数即可。新增加或者删除协议匹配对象和业务模块时,都只需要在XML文件中进行添加或者删除相应的指令,而不需要对整个处理程序进行大幅度的改动,从而降低业务模块之间的耦合度,提高程序的可扩展性。
步骤S212:根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
在本实施例中,对通讯报文的业务处理需要通过调用对应已加载到内存中的业务模块接口,并将数据对象传递到业务模块调用接口进行处理。例如,通讯报文中指示需要将设备1中的数据删除,其中的关键字为“device”,对应的协议匹配对象获取其中的业务标识为“device”,业务类型为“delete”,数据对象为“data”。此时,根据业务标识和业务类型查找到对应的业务模块调用接口,假设为调用函数“DELETE”,将数据对象“data”传递至函数“DELETE”进行处理。
在本实施例中,仍以上述删除好友为例,例如业务标识为ms.person.friend.delete,协议版本为v1.0.0,调用类为好友类,调用函数为删除,优先值为10,此时接收消息队列发送的消息即为触发好友类的删除操作。如果协议发生了升级(通讯时会上报协议版本),如新版本的app删除好友的同时抹掉与好友有关的痕迹,旧版本功能不变,此时只需要在XML增加另一个配置,如:业务标识为ms.person.friend.delete,协议版本为v1.1.0,调用类为好友类,调用函数为删除增强版,优先值为10,即可完成功能的扩展。
如果有定制需求,如该社交软件需要定制版本给某大型公司内部使用,该公司要求只能删除不属于公司员工的好友,传统的做法是,复制一份代码,修改删除好友功能,弊端是如果定制版发现增加好友的功能有问题,原来标准版本的代码也需要修改。标准版本增加的新功能,定制版本无法自动增加。这样做的项目越多,代码就越混乱,维护成本高。而在本发明实施例中,只需要增加一个功能包,功能包里也有一个XML,加上定制的删除好友内容,如:业务标识为ms.person.friend.delete,协议版本为v1.1.0,调用类为功能包好友类,调用函数为功能包删除,优先值为9,同时在功能包中加上功能包好友类和功能包删除函数。故只需要加入这个功能包,删除好友的操作执行的就是附加功能包中的操作,而不是原来主功能包中的操作,从而实现功能包形式的扩展性。
在一个实施例中,如附图3所示,为一个实施例中一种业务系统的报文解析装置的示意图,其中,服务器启动时初始化协议匹配扫描器,加载所有的协议匹配对象,在接收到通讯报文时,根据通讯报文中说明的协议标识,生成相应的请求调度器。请求调度器将通讯报文传输给协议转换器,协议转换器将通讯报文发送给协议匹配命中器。协议匹配命中器调用协议匹配扫描器,扫描所有的协议匹配器,并返回命中的业务标识和业务类型。协议转换匹配器根据业务标识找到对应的协议转换器,转换通讯报文成为数据对象返回给请求调度器。请求调度器根据业务标识、业务类型及数据对象启动主处理器,完成通讯报文的解析。根据以上步骤,通讯协议的增减只需要增减相应的协议匹配对象,所有的逻辑、流程都无需做任何的改动,实现高可扩展性。
在一个实施例中,如附图4所示,为一个实施例中一种业务系统的报文解析装置的示意图,其中,请求调度器根据业务标识、业务类型及数据对象启动主处理器之后,主处理器在列表中查询业务标识对应的处理类型,调用处理调度器。处理调度器会扫描所有标注的处理类和处理方法,找到标记相应处理类型的方法,将业务标识、数据对象用处理类型定义的方式传递给业务模块调用接口。业务模块调用接口根据业务标识和业务类型自动选择相应的业务处理模块,进行具体业务的处理。
此外,在一个实施例中,还提出了一种业务系统的报文解析装置,如图5所示,上述业务系统的报文解析装置包括协议匹配对象查找单元102,通讯报文解析单元104,数据对象生成单元106,业务模块调用单元108,协议匹配对象添加单元110,业务模块添加单元112,其中:
协议匹配对象查找单元102,用于在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象;
通讯报文解析单元104,用于通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
数据对象生成单元106,用于根据所述通讯报文生成数据对象;
业务模块调用单元108,用于根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
可选的,所述装置还包括协议匹配对象添加单元110,用于:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
可选的,所述协议匹配对象查找单元102还用于:
获取所述接收到的通讯报文中的关键字;
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
可选的,所述装置还包括业务模块添加单元112:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
可选的,所述业务模块调用单元108还用于:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
本发明实施例中通过查找与接收到的通讯报文匹配的协议匹配对象,根据协议匹配对象中预定义的函数返回与通讯报文对应的业务标识和业务类型,并根据通讯报文生成数据对象,将数据对象传递至与业务标识和业务类型对应的业务模块调用接口进行处理,采用XML文件格式保存协议匹配对象和业务模块调用接口,使得在对处理程序进行修改时,只需要改动XML文件中对应的模块;同时,在增加或者删除业务模块时,只需要添加或者删除相应的XML文件,而不必对整个业务处理程序进行改动,从而降低业务模块之间的耦合度,提高程序的可扩展性。
在一个实施例中,如图6所示,图6展示了一种运行上述业务系统的报文解析方法的基于冯诺依曼体系的计算机系统的终端10。该计算机系统可以是智能手机、平板电脑、掌上电脑、笔记本电脑或个人电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。且所述处理器1002还用于执行上述业务系统的报文解析方法,包括:
在接收到通讯报文时,查找与所述接收到的通讯报文匹配的协议匹配对象;
通过所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
根据所述通讯报文生成数据对象;
根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
可选的,在所述查找与所述接收到的通讯报文匹配的协议匹配对象之前,还包括:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
可选的,所述查找与所述接收到的通讯报文匹配的协议匹配对象包括:
获取所述接收到的通讯报文中的关键字;
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
可选的,所述方法还包括:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
可选的,所述根据所述业务标识和所述业务类型查找对应的业务模块调用接口包括:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统10的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统10中形成逻辑上的协议匹配对象查找单元102,通讯报文解析单元104,数据对象生成单元106,业务模块调用单元108,协议匹配对象添加单元110,业务模块添加单元112。且在业务系统的报文解析方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种业务系统的报文解析方法,其特征在于,所述方法包括:
在接收到通讯报文时,获取所述通讯报文中的关键字;
根据所述关键字,从多个协议匹配对象中查找所述通讯报文中的关键字匹配的协议匹配对象,所述多个协议匹配对象为根据在系统启动时加载预先定义的多个类型的协议匹配对象的类,生成的多个相应的协议匹配对象;
通过查找到的所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
根据所述通讯报文生成数据对象;
根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
2.如权利要求1所述的业务系统的报文解析方法,其特征在于,在所述查找与所述接收到的通讯报文匹配的协议匹配对象之前,还包括:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
3.如权利要求2所述的业务系统的报文解析方法,其特征在于,所述根据所述关键字,从多个协议匹配对象中查找所述通讯报文中的关键字对应的协议匹配对象包括:
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
4.如权利要求1所述的业务系统的报文解析方法,其特征在于,所述方法还包括:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
5.如权利要求4所述的业务系统的报文解析方法,其特征在于,所述根据所述业务标识和所述业务类型查找对应的业务模块调用接口包括:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
6.一种业务系统的报文解析装置,其特征在于,所述装置包括:
协议匹配对象查找单元,用于在接收到通讯报文时,获取所述通讯报文中的关键字;
所述协议匹配对象查找单元,还用于根据所述关键字,从多个协议匹配对象中查找所述通讯报文中的关键字匹配的协议匹配对象,所述多个协议匹配对象为根据在系统启动时加载预先定义的多个类型的协议匹配对象的类,生成的多个相应的协议匹配对象;
通讯报文解析单元,用于通过所述协议匹配对象查找单元查找到的所述协议匹配对象中预定义的函数返回与所述通讯报文对应的业务标识和业务类型;
数据对象生成单元,用于根据所述通讯报文生成数据对象;
业务模块调用单元,用于根据所述业务标识和所述业务类型查找对应的业务模块调用接口,将所述数据对象传递至所述业务模块调用接口进行处理。
7.如权利要求6所述的业务系统的报文解析装置,其特征在于,所述装置还包括协议匹配对象添加单元,用于:
加载新增的协议匹配对象,获取所述新增的协议匹配对象的标识;
获取输入的与所述协议匹配对象对应的关键字,将所述新增的协议匹配对象的标识以及与所述新增的协议匹配对象对应的关键字存储在XML文件中。
8.如权利要求7所述的业务系统的报文解析装置,其特征在于,所述协议匹配对象查找单元具体用于:
在所述XML文件中查询与所述关键字匹配的协议匹配对象的标识,根据所述标识获取对应的协议匹配对象。
9.如权利要求6所述的业务系统的报文解析装置,其特征在于,所述装置还包括业务模块添加单元:
加载新增的业务模块,获取所述新增的业务模块的业务模块调用接口;
获取输入的与所述新增的业务模块对应的业务标识和业务类型,将所述新增的业务模块调用接口以及与所述新增的业务模块对应的业务标识和业务类型存储在所述XML文件中。
10.如权利要求9所述的业务系统的报文解析装置,其特征在于,所述业务模块调用单元还用于:
在所述XML文件中查询到与所述业务标识和所述业务类型匹配的业务模块调用接口时,调用查找到的业务模块调用接口。
CN201710007270.9A 2017-01-05 2017-01-05 业务系统的报文解析方法及装置 Active CN106790206B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710007270.9A CN106790206B (zh) 2017-01-05 2017-01-05 业务系统的报文解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710007270.9A CN106790206B (zh) 2017-01-05 2017-01-05 业务系统的报文解析方法及装置

Publications (2)

Publication Number Publication Date
CN106790206A CN106790206A (zh) 2017-05-31
CN106790206B true CN106790206B (zh) 2019-10-29

Family

ID=58950251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710007270.9A Active CN106790206B (zh) 2017-01-05 2017-01-05 业务系统的报文解析方法及装置

Country Status (1)

Country Link
CN (1) CN106790206B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948005B (zh) * 2017-12-29 2021-08-06 深圳市麦斯杰网络有限公司 物联网协议的更新方法及装置
CN109067818B (zh) * 2018-06-04 2019-08-20 杭州数梦工场科技有限公司 一种业务访问方法及装置
CN109635019B (zh) * 2018-10-23 2023-08-22 平安科技(深圳)有限公司 请求处理方法、装置、设备及存储介质
CN111107042B (zh) * 2018-10-26 2021-03-09 广州汽车集团股份有限公司 报文解析方法、装置、计算机设备和存储介质
CN109614433B (zh) * 2018-12-13 2022-02-15 杭州数梦工场科技有限公司 业务系统间数据血缘的识别方法、装置、设备及存储介质
CN110445752B (zh) * 2019-06-28 2022-08-30 福建星云电子股份有限公司 一种支持多种can设备并灵活解析各类can报文的实现方法
CN110580225A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 业务系统的模拟方法及装置
CN112751812A (zh) * 2019-10-31 2021-05-04 北京京东振世信息技术有限公司 应用协议自适配的方法和装置
CN110933059A (zh) * 2019-11-22 2020-03-27 广州视源电子科技股份有限公司 数据通信方法和装置、电子设备、上位机、存储介质
CN111277612B (zh) * 2020-05-08 2020-08-07 常州楠菲微电子有限公司 一种网络报文处理策略生成方法、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN101848134A (zh) * 2009-03-27 2010-09-29 中兴通讯股份有限公司 一种多业务接入节点及其数据报文转发方法
CN103841096A (zh) * 2013-09-05 2014-06-04 北京科能腾达信息技术股份有限公司 自动调整匹配算法的入侵检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN101848134A (zh) * 2009-03-27 2010-09-29 中兴通讯股份有限公司 一种多业务接入节点及其数据报文转发方法
CN103841096A (zh) * 2013-09-05 2014-06-04 北京科能腾达信息技术股份有限公司 自动调整匹配算法的入侵检测方法

Also Published As

Publication number Publication date
CN106790206A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106790206B (zh) 业务系统的报文解析方法及装置
US10691507B2 (en) API learning
US7860884B2 (en) System and method for processing continuous integrated queries on both data stream and stored data using user-defined shared trigger
US7310055B2 (en) Data compression method and compressed data transmitting method
US11436266B2 (en) Method and apparatus for processing information of a terminal
KR102517843B1 (ko) Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
CN111209004A (zh) 代码转换方法及装置
WO2007144853A2 (en) Method and apparatus for performing customized paring on a xml document based on application
CN109617647B (zh) 报文转换方法、装置、计算机设备及计算机可读存储介质
US10754628B2 (en) Extracting web API endpoint data from source code to identify potential security threats
CN113434910A (zh) 一种业务数据上链方法及装置
CN108494762A (zh) 网页访问方法、装置及计算机可读存储介质、终端
CN103942055A (zh) 面向融合网络混合服务流程编制语言的开发系统及方法
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
CN104270257A (zh) 基于pb和xpath的网元级网管业务配置适配系统及方法
CN114553784A (zh) 限流处理方法及装置
CN113946602A (zh) 数据查找方法、装置、设备和介质
CN113268245A (zh) 代码分析方法、装置及存储介质
CN108920246B (zh) 表单草稿组件共享方法及装置、终端设备及可读存储介质
WO2023092981A1 (zh) 流式数据处理方法、规则插件、流式数据处理模块及系统
CN115061785A (zh) 信息下发方法、装置、存储介质及服务器
CN113300915A (zh) 设备识别方法、系统、电子装置和存储介质
KR20210128096A (ko) 사물인터넷 플랫폼 간 연동 방법 및 장치
CN113010482B (zh) 一种日志处理方法、装置、移动终端和存储介质
CN114090112B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170804

Address after: 361000, Fujian Software Park, Xiamen Province, three, three, Cheng Yi North Street, room 2001, room 8

Applicant after: Xiamen Central Intelligent Information Technology Co., Ltd.

Address before: Software Park Siming District of Xiamen city in Fujian province 361000 two sunrise Road No. 32 403 unit 02

Applicant before: XIAMEN ZHONGKONG BIOLOGICAL RECOGNITION INFORMATION TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 1301, No.132, Fengqi Road, phase III, software park, Xiamen City, Fujian Province

Patentee after: Xiamen Entropy Technology Co., Ltd

Address before: 361000 room 8, three Chengyi North Avenue, Xiamen Software Park, Fujian Province, 2001 room 8

Patentee before: XIAMEN ZKTECO BIOMETRIC IDENTIFICATION TECHNOLOGY Co.,Ltd.