CN111431925B - 报文数据处理方法及装置 - Google Patents
报文数据处理方法及装置 Download PDFInfo
- Publication number
- CN111431925B CN111431925B CN202010253920.XA CN202010253920A CN111431925B CN 111431925 B CN111431925 B CN 111431925B CN 202010253920 A CN202010253920 A CN 202010253920A CN 111431925 B CN111431925 B CN 111431925B
- Authority
- CN
- China
- Prior art keywords
- message
- client
- parameter model
- return
- interface parameter
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种报文数据处理方法及装置,方法包括:接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象;根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象;对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。本申请能够有效提高模拟器的高并发和自动伸缩能力。
Description
技术领域
本申请涉及软件测试领域,具体涉及一种报文数据处理方法及装置。
背景技术
随着软件行业版本迭代频率加快,需要保证研发和测试时依赖的接口、功能、服务随时可用是一个困难又现实的问题,为此在研发测试的各个阶段,出现了各式各样的模拟器用于解决接口/交易功能依赖的问题。其中,针对主机交易程序,基于其socket长连接通讯的特性,现有技术中的模拟器采用的是为每个客户端创建一条独立线程的方式进行通讯,当交易并发量提升时,线程数会同步增多,服务器资源使用率也会越来越高。这种模式会存在单机性能瓶颈,几百并发已经是极限,无法胜任当下动辄几万的并发交易场景。在性能测试领域,由于需要真实模拟器接口功能,若模拟器并发能力不足,会很大程度上干扰性能测试的结果。有鉴于此,亟需一款支持高并发且能随时扩容的模拟器以应对性能测试场景。
发明内容
针对现有技术中的问题,本申请提供一种报文数据处理方法及装置,能够有效提高模拟器的高并发和自动伸缩能力。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种报文数据处理方法,包括:
接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象;
根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象;
对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
进一步地,在所述接收客户端发送的二进制报文数据之前,包括:
按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道。
进一步地,所述对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端,包括:
对所述报文服务化接口参数模型对象进行报文解析,得到报文信息;
根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
进一步地,还包括:
定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种;
根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
第二方面,本申请提供一种报文数据处理装置,包括:
数据封装模块,用于接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象;
格式转换模块,用于根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象;
解析匹配模块,用于对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
进一步地,还包括:
同步非阻塞通讯单元,用于按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道。
进一步地,所述解析匹配模块包括:
报文解析单元,用于对所述报文服务化接口参数模型对象进行报文解析,得到报文信息;
报文匹配单元,用于根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
进一步地,还包括:
容器检测单元,用于定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种;
容量增减单元,用于根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的报文数据处理方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的报文数据处理方法的步骤。
由上述技术方案可知,本申请提供一种报文数据处理方法及装置,通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的报文数据处理方法的流程示意图之一;
图2为本申请实施例中的报文数据处理方法的流程示意图之二;
图3为本申请实施例中的报文数据处理方法的流程示意图之三;
图4为本申请实施例中的报文数据处理装置的结构图之一;
图5为本申请实施例中的报文数据处理装置的结构图之二;
图6为本申请实施例中的一种支持高并发且自动伸缩的主机交易模拟器***及方法的结构图;
图7为本申请实施例中的通讯通道选择器的结构图;
图8为本申请实施例中的通讯通道处理器的结构图;
图9为本申请实施例中的监控装置的结构图;
图10为本申请实施例中的一种支持高并发且自动伸缩的主机交易模拟器***及方法的工作流程图;
图11为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中的模拟器采用的是为每个客户端创建一条独立线程的方式进行通讯,当交易并发量提升时,线程数会同步增多,服务器资源使用率也会越来越高。这种模式会存在单机性能瓶颈,几百并发已经是极限,无法胜任当下动辄几万的并发交易场景。在性能测试领域,由于需要真实模拟器接口功能,若模拟器并发能力不足,会很大程度上干扰性能测试的结果的问题,本申请提供一种报文数据处理方法及装置,通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
为了能够有效提高模拟器的高并发和自动伸缩能力,本申请提供一种报文数据处理方法的实施例,参见图1,所述报文数据处理方法具体包含有如下内容:
步骤S1001:接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象。
可选的,本申请***可以设置一报文分发装置:负责与调用方建立连接,接收请求的交易报文,将报文封装为服务化接口参数模型并调用挡板服务,最后将挡板服务返回的模拟报文发送给调用方。报文分发装置包含通讯通道选择器、通讯通道处理器和服务化调用模块。
可选的,所述通讯通道选择器:采用同步非阻塞机制,轮询监测客户端(调用方)连接通道的可用性(是否有数据待传输),将激活的通道交给通讯通道处理器处理。
可选的,所述通讯通道处理器:接收通讯通道选择器的二进制数据,封装为交易报文模型对象,交给服务化调用模块处理;随后,接收服务化调用模块处理完毕返回的报文数据,通过当前激活的连接通道,将报文数据转换为二进制数码格式传输给调用方。
步骤S1002:根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象。
可选的,所述服务化调用模块:负责接收交易报文对象,根据服务化接口参数模型,将接收到的报文进行格式转换,并发起服务化程序调用。随后,将服务化调用返回信息交付给通讯通道处理器处理。
可以理解的是,通过上述提供的报文分发装置,保证了模拟器对每个交易调用处理的低服务器资源占用和高并发性能,同时将交易请求转换为服务化请求,由此可以借助服务化的各种能力扩从模拟器的功能。
步骤S1003:对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
可选的,本申请***可以设置一报文挡板服务装置:负责接收服务化请求,根据请求中的交易报文信息查找匹配返回报文,将返回报文封装并发送给报文分发装置。包含交易对象解析模块,返回报文匹配模块,返回报文封装模块,返回报文封装模块。
可选的,所述交易对象解析模块:负责从服务化请求参数中解析获取交易报文信息。
可选的,所述返回报文匹配模块:负责根据报文信息查找对应的返回报文。
可选的,所述返回报文缓存模块:负责将可用的返回报文信息缓存到内存中,以提高《返回报文匹配模块》的检索速度。
可选的,所述返回报文封装模块:负责将返回报文封装为服务化结果,用于返回给报文分发装置。
可以理解的是,通过上述提供的报文挡板服务装置,实现返回报文的快速匹配和返回,并且挡板服务以容器形式部署在PaaS上,可自动根据服务使用的状况进行自动伸缩处理。
从上述描述可知,本申请实施例提供的报文数据处理方法,能够通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
为了能够保证了模拟器对每个交易调用处理的低服务器资源占用和高并发性能,在本申请的报文数据处理方法的一实施例中,还可以具体包含如下内容:
按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道。
具体的,采用同步非阻塞的机制处理来自客户端的请求连接,在同一时间只有一个客户端请求能与服务端通道进行传输,其他请求排队处理;同时每个请求处理不能有阻塞操作,这两个处理原则保证了***资源的低占用和处理的高并发性。
为了能够自动根据服务使用的状况进行自动伸缩处理,在本申请的报文数据处理方法的一实施例中,参见图2,还可以具体包含如下内容:
步骤S2001:对所述报文服务化接口参数模型对象进行报文解析,得到报文信息。
步骤S2002:根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
可选的,本申请***可以设置一报文挡板服务装置:负责接收服务化请求,根据请求中的交易报文信息查找匹配返回报文,将返回报文封装并发送给报文分发装置。包含交易对象解析模块,返回报文匹配模块,返回报文封装模块,返回报文封装模块。
可选的,所述交易对象解析模块:负责从服务化请求参数中解析获取交易报文信息。
可选的,所述返回报文匹配模块:负责根据报文信息查找对应的返回报文。
可选的,所述返回报文缓存模块:负责将可用的返回报文信息缓存到内存中,以提高《返回报文匹配模块》的检索速度。
可选的,所述返回报文封装模块:负责将返回报文封装为服务化结果,用于返回给报文分发装置。
可以理解的是,通过上述提供的报文挡板服务装置,实现返回报文的快速匹配和返回,并且挡板服务以容器形式部署在PaaS上,可自动根据服务使用的状况进行自动伸缩处理。
为了能够实现容器的自动弹性伸缩,在本申请的报文数据处理方法的一实施例中,参见图3,还可以具体包含如下内容:
步骤S3001:定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种。
步骤S3002:根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
可选的,本申请***可以设置一监控装置,负责实时监控每个挡板服务程序的运行状况,根据挡板服务的整体压力状况自动增加或减少容器,使模拟器挡板具备自动弹性伸缩的能力。该装置包含服务运行信息采集模块,服务可用性计算模块和容器启动模块。
可选的,所述服务运行信息采集模块:负责定时采集报文挡板服务装置内每个容器的运行信息,包括CPU占用率、容器内存占用率、挡板服务内存使用量、挡板服务使用端口的实时连接数等信息。
可选的,所述服务可用性计算模块:根据采集数据计算当前挡板服务的承压系数(最近一段时间内承压系数=CPU占用率*权重值+容器内存占用率*权重值+挡板服务内存使用量*权重值+挡板端口实时连接数*权重值),超过一定阈 值时调用容器启动服务增加容器;少于一定阈 值时调用容器停止服务减少容器。
可选的,所述容器启停模块:提供容器启动和停止服务。
为了能够有效提高模拟器的高并发和自动伸缩能力,本申请提供一种用于实现所述报文数据处理方法的全部或部分内容的报文数据处理装置的实施例,参见图4,所述报文数据处理装置具体包含有如下内容:
数据封装模块40,用于接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象。
格式转换模块50,用于根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象。
解析匹配模块60,用于对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
从上述描述可知,本申请实施例提供的报文数据处理装置,能够通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
为了能够保证了模拟器对每个交易调用处理的低服务器资源占用和高并发性能,在本申请的报文数据处理装置的一实施例中,还具体包含有如下内容:
同步非阻塞通讯单元,用于按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道。
为了能够自动根据服务使用的状况进行自动伸缩处理,在本申请的报文数据处理装置的一实施例中,参见图5,所述解析匹配模块60包括:
报文解析单元61,用于对所述报文服务化接口参数模型对象进行报文解析,得到报文信息。
报文匹配单元62,用于根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
为了能够实现容器的自动弹性伸缩,在本申请的报文数据处理装置的一实施例中,还具体包含有如下内容:
容器检测单元,用于定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种;
容量增减单元,用于根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
为了更进一步说明本方案,本申请还提供一种应用上述报文数据处理装置实现报文数据处理方法的具体应用实例,具体包含有如下内容:
如图6所示,是一种支持高并发且自动伸缩模拟器***及方法的结构图。包含报文分发装置1,报文模拟装置2,监控装置31。
报文分发装置1:负责与调用方建立连接,接收请求的交易报文,将报文封装为服务化接口参数模型并调用挡板服务,最后将挡板服务返回的模拟报文发送给调用方。报文分发装置1包含通讯通道选择器10、通讯通道处理器11和服务化调用模块11。
通讯通道选择器10:采用同步非阻塞机制,询监测客户端(调用方)连接通道的可用性(是否有数据待传输),将激活的通道交给通讯通道处理器101处理。
通讯通道处理器11:接收通讯通道选择器的二进制数据,封装为交易报文模型对象,交给服务化调用模块12处理;随后,接收服务化调用模块12处理完毕返回的报文数据,通过当前激活的连接通道,将报文数据转换为二进制数码格式传输给调用方。
服务化调用模块12:包括报文转换处理器120、服务化注册处理器121和服务化请求处理器122,负责接收交易报文对象,根据服务化接口参数模型,将接收到的报文进行格式转换,并发起服务化程序调用。随后,将服务化调用返回信息交付给通讯通道处理器11处理。
通过报文分发装置,保证了模拟器对每个交易调用处理的低服务器资源占用和高并发性能(借助通讯通道选择器11,后面会对这个模块描述),同时将交易请求转换为服务化请求,由此可以借助服务化的各种能力扩从模拟器的功能。
报文挡板服务装置2:负责接收服务化请求,根据请求中的交易报文信息查找匹配返回报文,将返回报文封装并发送给报文分发装置1。包含交易对象解析模块 20,返回报文匹配模块21,返回报文封装模块22,返回报文封装模块23。
交易对象解析模块20:负责从服务化请求参数中解析获取交易报文信息。
返回报文匹配模块21:负责根据报文信息查找对应的返回报文。
返回报文缓存模块22:负责将可用的返回报文信息缓存到内存中,以提高《返回报文匹配模块21》的检索速度。
返回报文封装模块23:负责将返回报文封装为服务化结果,用于返回给报文分发装置1。
通过报文挡板服务装置,实现返回报文的快速匹配和返回,并且挡板服务以容器形式部署在PaaS上,可自动根据服务使用的状况进行自动伸缩处理(具体原理在监控装置31描述)。
监控装置31:负责实时监控每个挡板服务程序的运行状况,根据挡板服务的整体压力状况自动增加或减少容器,实现了模拟器挡板功能的自动弹性伸缩。
如图7所示,是通讯通道选择器10的结构图:
通讯通道选择器10采用同步非阻塞的机制处理来自客户端的请求连接,在同一时间只有一个客户端请求能与服务端通道进行传输,其他请求排队处理;同时每个请求处理不能有阻塞操作,这两个处理原则保证了***资源的低占用和处理的高并发性。选择器包含客户端连接通道101,通道轮询处理器102和服务器通讯通道103三个组件。
客户端连接通道101:负责与调用方建立通讯连接通道,与调用方(客户端)的传输数据。
通道轮询处理器102负责监听客户端连接通道101,当监听到有可用数据传输发生时,激活该连接通道与服务器通讯通道103的连接。同一时间会有多个客户端连接请求连接服务器,但只有一个通道会被激活与服务器通讯通道连接,进行传输数据。
服务器通讯通道103负责接收客户端通道传输过来的数据,发往通讯通道处理11,以及接收通讯通道处理器11的处理数据,返回给客户端连接通道101。
如图8所示,是通讯通道处理器11的结构图:
通讯通道处理器包含报文接收模块110和报文发送模块111两个模块。
报文接收模块110负责接收来自客户端连接通道传输过来的二进制数据进行解析和封装,输出交易报文模型对象。该模块包含通道字节缓存模块1101、报文头解析模块1102,报文体解析模块1103和报文组装模块1104等四个子模块。
通道字节缓存模块1101:用于缓存接收到的二进制数据用于后续报文解析。由于二进制数据的接收和程序解析并不一定是同步的,接收到的二进制数据可能不足够用于解析成一个完整的交易对象,因此需要缓存接收到的二进制数据。
报文头解析模块1102:负责二进制数据解析的第一步工作,查找缓存的二进制数据内是否包含完整的报文头结构,报文头结构中包含应用号,包状态,包校验码,数据包长度等信息,若接收到的二进制数据包含完整的报文头信息,解析并保持为报文头对象;若不完整,则继续等待后续二进制数据到来再解析。
报文体解析模块1103:根据报文头对象内的数据包长度,解析出报文体。
报文组装模块1104:将报文头,报文体组装为完整的报文信息。
报文发送模块111负责接收服务化调用模块12处理完毕返回的报文数据,通过当前激活的连接通道,将报文数据转换为二进制数码格式传输给调用方。该模块包含报文头发送模块1111和报文体发送模块1112。
报文头发送模块1111:根据报文头各信息长度写出二进制数据。
报文体发送模块1112:根据报文体长度写出二进制数据。
如图9所示,是监控装置31的结构图:
监控装置31:负责实时监控每个挡板服务程序的运行状况,根据挡板服务的整体压力状况自动增加或减少容器,使模拟器挡板具备自动弹性伸缩的能力。该装置包含服务运行信息采集模块310,服务可用性计算模块311和容器启动模块 312.
服务运行信息采集模块310:负责定时采集报文挡板服务装置内每个容器的运行信息,包括CPU占用率、容器内存占用率、挡板服务内存使用量、挡板服务使用端口的实时连接数等信息。
服务可用性计算模块311:根据采集数据计算当前挡板服务的承压系数(最近一段时间内承压系数=CPU占用率*权重值+容器内存占用率*权重值+挡板服务内存使用量*权重值+挡板端口实时连接数*权重值),超过一定阈 值时调用容器启动服务增加容器;少于一定阈 值时调用容器停止服务减少容器。
容器启停模块312:提供容器启动和停止服务。
如图10所示,一种支持高并发且自动伸缩模拟器***及方法的工作流程如下:
步骤S01:交易方发起调用请求,发送请求交易报文数据。
步骤S02:交易方作为客户端与报文分发装置建立连接通道。
步骤S201:分发装置注册为服务化消费端,使之具备调用服务化程序的能力 (后续步骤需要调用挡板服务),该步骤只在初始化阶段执行一次。
步骤S03:分发装置内的通讯通道选择器轮询每一个连接的客户端,当检测到客户端有待传输数据到达时,激活客户端通道,进入数据传输和处理状态。
步骤S03:分发装置内的通讯通道选择器开始处理。
步骤S0301:通讯用到选择器以阻塞方式等待就绪/可用的客户端通道。
步骤S0302:通讯用到选择器检测到客户端有待传输数据到达时,获取可用的客户端通道(可能存在多个就绪客户端通道)。
步骤S0303:处理客户端通道数据(若存在多个就绪客户端通道,则以同步方式轮流处理)。
步骤S0304:将客户端通道与服务端联通,发送客户端请求数据
步骤S04:分发装置接收来自客户端请求的二进制报文数据,根据请求报文的头结构信息进行解析和转换,得到交易报文对象数据。
步骤S05:分发装置将交易报文对象封装为服务化接口参数模型对象,用于后续的服务化程序调用。
步骤S06:分发装置调用挡板服务,将封装好的服务化接口参数模型对象传输给挡板服务处理。
步骤S07:报文挡板装置接收到服务化接口参数模型对象,开始处理。
步骤S08:挡板装置对服务化接口参数模型对象进行解析,获取其中的交易报文信息,如报文名,版本号等信息。
步骤S09:挡板装置根据报文信息查找匹配的返回报文,并将报文封装为服务化接口参数模型对象,返回给报文分发装置。
步骤S10:分发装置接收服务化接口参数模型对象,解析得到返回报文数据,以二进制形式通过连接通道发送给客户端。
步骤S101:监控装置定时采集挡板服务运行信息,参考服务运行信息采集模块310。
步骤S102-步骤S103:监控装置定时计算挡板服务的运行压力状况,根据压力状况判断是否触发增减挡板服务,参考服务可用性计算模块311。
由上述内容可知,本申请至少还可以实现如下技术效果:
1、通过同步非阻塞的通讯连接方式,使单个报文分发装置支持四万并发连接,是传统模式的100倍。
2、通过挡板装置的服务化处理模式,使报文匹配处理支持动态伸缩。
3、通过两个装置的共同作用,使该模式下的主机模拟器的并发处理性能是可动态扩展的,不再受单机性能约束。
从硬件层面来说,为了能够有效提高模拟器的高并发和自动伸缩能力,本申请提供一种用于实现所述报文数据处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现报文数据处理装置与核心业务***、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的报文数据处理方法的实施例,以及报文数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,报文数据处理方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图11为本申请实施例的电子设备9600的***构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,报文数据处理方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象。
步骤S102:根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象。
步骤S103:对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
从上述描述可知,本申请实施例提供的电子设备,通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
在另一个实施方式中,报文数据处理装置可以与中央处理器9100分开配置,例如可以将报文数据处理装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现报文数据处理方法功能。
如图11所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11 中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备 9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机) 9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131 提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的报文数据处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的报文数据处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象。
步骤S102:根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象。
步骤S103:对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过将传统模拟器处理过程拆分为报文分发和报文匹配两个组件,报文分发采用同步非阻塞的通讯机制,报文匹配采用服务化处理方式,实现了模拟器的高并发和自动伸缩能力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种报文数据处理方法,其特征在于,应用于模拟器,所述方法包括:
采用同步非阻塞机制按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道;
接收所述客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象;
根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象;
对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端;
定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种;
根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
2.根据权利要求1所述的报文数据处理方法,其特征在于,所述对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端,包括:
对所述报文服务化接口参数模型对象进行报文解析,得到报文信息;
根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
3.一种报文数据处理装置,其特征在于,包括:
同步非阻塞通讯单元,用于采用同步非阻塞机制按照设定频率轮询所有客户端的连接通道可用性,激活轮询到的首个连接通道可用性为可用的客户端的连接通道;
数据封装模块,用于接收所述客户端发送的二进制报文数据,并将所述二进制报文数据封装为报文对象;
格式转换模块,用于根据预设服务化接口参数模型对所述报文对象进行格式转换,得到对应的报文服务化接口参数模型对象;
解析匹配模块,用于对所述报文服务化接口参数模型对象进行报文解析,根据所述报文解析的结果得到对应的返回报文并将所述返回报文返回至所述客户端;
容器检测单元,用于定时采集当前用于进行所述报文解析的各个容器的运行状态信息,其中,所述运行状态信息包括:CPU占用率、容器内存占用率、内存使用量以及使用端口的实时连接数中的至少一种;
容量增减单元,用于根据所述运行状态信息分别确定各个容器的当前承压系数,并根据所述当前承压系数与预设承压阈值的数值比较结果,对所述各个容器执行对应的容量增减操作。
4.根据权利要求3所述的报文数据处理装置,其特征在于,所述解析匹配模块包括:
报文解析单元,用于对所述报文服务化接口参数模型对象进行报文解析,得到报文信息;
报文匹配单元,用于根据所述报文信息确定与该报文信息匹配的返回报文,并将所述返回报文返回至所述客户端。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至2任一项所述的报文数据处理方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至2任一项所述的报文数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253920.XA CN111431925B (zh) | 2020-04-02 | 2020-04-02 | 报文数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253920.XA CN111431925B (zh) | 2020-04-02 | 2020-04-02 | 报文数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431925A CN111431925A (zh) | 2020-07-17 |
CN111431925B true CN111431925B (zh) | 2022-08-26 |
Family
ID=71552004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010253920.XA Active CN111431925B (zh) | 2020-04-02 | 2020-04-02 | 报文数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431925B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给***及方法 |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端***报文测试方法及模拟挡板*** |
CN106230984A (zh) * | 2016-09-12 | 2016-12-14 | 深圳市彬讯科技有限公司 | 一种采用Netty框架实现网页服务通道的方法 |
CN107483222A (zh) * | 2016-06-08 | 2017-12-15 | 中兴通讯股份有限公司 | 一种基于微服务化的虚拟网络功能的管理方法及网管*** |
CN110430079A (zh) * | 2019-08-05 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 车路协同*** |
CN110881020A (zh) * | 2018-09-06 | 2020-03-13 | 大唐移动通信设备有限公司 | 一种用户签约数据的鉴权方法及数据管理网元 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10951497B2 (en) * | 2018-09-10 | 2021-03-16 | Verizon Patent And Licensing Inc. | System and method for a service-based interface architecture |
-
2020
- 2020-04-02 CN CN202010253920.XA patent/CN111431925B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给***及方法 |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端***报文测试方法及模拟挡板*** |
CN107483222A (zh) * | 2016-06-08 | 2017-12-15 | 中兴通讯股份有限公司 | 一种基于微服务化的虚拟网络功能的管理方法及网管*** |
CN106230984A (zh) * | 2016-09-12 | 2016-12-14 | 深圳市彬讯科技有限公司 | 一种采用Netty框架实现网页服务通道的方法 |
CN110881020A (zh) * | 2018-09-06 | 2020-03-13 | 大唐移动通信设备有限公司 | 一种用户签约数据的鉴权方法及数据管理网元 |
CN110430079A (zh) * | 2019-08-05 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 车路协同*** |
Also Published As
Publication number | Publication date |
---|---|
CN111431925A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109152095B (zh) | 用于终端的无线网络连接方法 | |
CN110958281B (zh) | 基于物联网的数据传输方法及通信装置 | |
CN109152094B (zh) | 用于终端的无线网络连接方法 | |
CN110297944B (zh) | 分布式xml数据处理方法及*** | |
CN105468513B (zh) | 一种基于移动终端的测试方法、装置及*** | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN111488220A (zh) | 一种启动请求处理方法、装置和电子设备 | |
CN106293794A (zh) | 加载页面的方法、装置和*** | |
CN111200606A (zh) | 深度学习模型任务处理方法、***、服务器及存储介质 | |
CN113300854A (zh) | 一种边缘节点能力扩展方法、***及扩展盒子 | |
CN110597920B (zh) | 一种信息处理的方法及装置 | |
CN109729061B (zh) | 消息处理方法、装置、设备及可读存储介质 | |
CN112689012A (zh) | 跨网络的代理通讯方法及装置 | |
CN111510493B (zh) | 分布式数据传输方法及装置 | |
CN105704106B (zh) | 一种可视化ivr实现方法及移动终端 | |
CN114265713B (zh) | Rdma事件管理方法、装置、计算机设备及存储介质 | |
CN106686635B (zh) | 基于无线接入点的控制和配置协议的数据传输方法和装置 | |
CN111427693B (zh) | 数据处理方法、***、介质、服务***及旁路卸载*** | |
CN111431925B (zh) | 报文数据处理方法及装置 | |
CN104113564A (zh) | 超文本传输协议连接复用方法、设备、***及终端 | |
CN110719233B (zh) | 用于发送信息的方法及装置 | |
CN109218371B (zh) | 一种调用数据的方法和设备 | |
CN109766347B (zh) | 一种数据更新方法、装置、***、计算机设备及存储介质 | |
CN111477229B (zh) | 语音识别请求处理方法和装置 | |
CN113053374B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |