CN114490402A - 一种报文字段合法性检查方法及装置 - Google Patents
一种报文字段合法性检查方法及装置 Download PDFInfo
- Publication number
- CN114490402A CN114490402A CN202210122137.9A CN202210122137A CN114490402A CN 114490402 A CN114490402 A CN 114490402A CN 202210122137 A CN202210122137 A CN 202210122137A CN 114490402 A CN114490402 A CN 114490402A
- Authority
- CN
- China
- Prior art keywords
- checking
- field
- message
- rule
- validity
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种报文字段合法性检查方法及装置,涉及软件测试领域,也可用于金融领域,包括:根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。本申请能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败。
Description
技术领域
本申请涉及软件测试领域,可以用于金融领域,具体是一种报文字段合法性检查方法及装置。
背景技术
为拓宽业务渠道,吸引更多客户,部分具有一定开发能力的商户(以下简称第三方)会自主研发应用程序等来对接银行等金融机构的应用程序编程接口(ApplicationProgramming Interface,简称API),从而接入银行等金融机构的收单系统。在对上述应用程序进行投产前联测时,第三方可能不具备相应的联测环境,因此,对于API收发报文的合法性检查往往需要人工进行。由于报文所涉及的字段多,格式复杂,检查效率低且不容易发现问题,影响测试效果。
发明内容
针对现有技术中的问题,本申请提供一种报文字段合法性检查方法及装置,能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种报文字段合法性检查方法,包括:
根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
进一步地,所述检索规则包括预设检索模式;所述根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志,包括:
根据检索时间范围及所述日志模型中的URL地址确定所述被测报文的位置;
根据所述预设检索模式在所述位置上进行模式匹配,确定所述目标日志。
进一步地,所述基本要素包括:父节点名、子节点名及节点层次;所述根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据,包括:
根据所述父节点名、子节点名及节点层次确定所述目标日志的层次结构;
根据所述层次结构获取所述被测报文的父节点值和/或子节点值,得到所述格式化字段数据。
进一步地,所述检查规则包括:预设的字段类型、预设的字段长度及偏差;所述根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果,包括:
检查所述格式化字段数据的字段类型是否与所述预设的字段类型一致;
若是,检查所述格式化字段数据的字段长度是否与所述预设的字段长度一致;
若是,检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差,得到所述检查结果。
进一步地,在检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差之后,还包括:
若检查所述格式化字段数据与所述格式化字段数据的历史值之间存在所述偏差,则检查所述偏差的程度是否小于业务认可阈值;
若是,根据所述偏差的程度变更所述检索规则。
进一步地,所述检查规则包括:预设的规则类型及对应的规则值;所述根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果,包括:
根据所述格式化字段数据确定对应的规则类型及规则值;
根据该对应的规则类型及规则值检查所述格式化字段数据,得到所述报文字段合法性的检查结果。
第二方面,一种报文字段合法性检查装置,包括:
目标日志检索单元,用于根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
字段数据解析单元,用于根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
检查结果生成单元,用于根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
进一步地,所述检索规则包括预设检索模式;所述目标日志检索单元,包括:
报文位置确定模块,用于根据检索时间范围及所述日志模型中的URL地址确定所述被测报文的位置;
目标日志检索模块,用于根据所述预设检索模式在所述位置上进行模式匹配,确定所述目标日志。
进一步地,所述基本要素包括:父节点名、子节点名及节点层次;所述字段数据解析单元,包括:
层次结构确定模块,用于根据所述父节点名、子节点名及节点层次确定所述目标日志的层次结构;
字段数据解析模块,用于根据所述层次结构获取所述被测报文的父节点值和/或子节点值,得到所述格式化字段数据。
进一步地,所述检查规则包括:预设的字段类型、预设的字段长度及偏差;所述检查结果生成单元,包括:
字段类型检查模块,用于检查所述格式化字段数据的字段类型是否与所述预设的字段类型一致;
字段长度检查模块,用于检查所述格式化字段数据的字段长度是否与所述预设的字段长度一致;
历史偏差检查模块,用于检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差,得到所述检查结果。
进一步地,所述检查结果生成单元,还包括:
业务阈值检查模块,用于若检查所述格式化字段数据与所述格式化字段数据的历史值之间存在所述偏差,则检查所述偏差的程度是否小于业务认可阈值;
检索规则变更模块,用于根据所述偏差的程度变更所述检索规则。
第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述报文字段合法性检查方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述报文字段合法性检查方法的步骤。
针对现有技术中的问题,本申请提供的报文字段合法性检查方法及装置,能够采用异步方式检查API接口的报文日志,对工作状态下的API接口调用过程无任何影响;能够灵活配置API接口的合法性检查规则,且规则具有可扩展性;能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败;解决了在第三方不具备联测环境的条件下,难以暴露API接口调用失败隐患,无法达到测试场景全面覆盖的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中报文字段合法性检查方法的流程图;
图2为本申请实施例中检索目标日志的流程图;
图3为本申请实施例中解析字段数据的流程图;
图4为本申请实施例中生成检查结果的流程图之一;
图5为本申请实施例中生成检查结果的流程图之二;
图6为本申请实施例中报文字段合法性检查装置的结构图;
图7为本申请实施例中目标日志检索单元的结构图;
图8为本申请实施例中字段数据解析单元的结构图;
图9为本申请实施例中检查结果生成单元的结构图之一;
图10为本申请实施例中检查结果生成单元的结构图之二;
图11为本申请实施例中得到报文字段合法性检查结果的流程图;
图12为本申请实施例中检查结果生成单元的结构图之三;
图13为本申请实施例中的电子设备的结构示意图;
图14为本申请实施例中的格式化后的日志示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请提供的报文字段合法性检查方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的报文字段合法性检查方法及装置的应用领域不做限定。
一实施例中,参见图1,为了能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败,本申请提供一种报文字段合法性检查方法,包括:
S101:根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
S102:根据日志模型中的基本要素将目标日志解析为格式化字段数据;
S103:根据预设的检查规则检查格式化字段数据,得到报文字段合法性的检查结果。
可以理解的是,本申请提供的报文字段合法性检查方法可以检查第三方调用API接口的发送/返回报文中各字段的合法性,从而解决第三方因不具备联测环境,导致API接口调用失败的问题难以暴露,测试场景难以全面覆盖的问题。
具体地,考虑到通过检测报文及其日志即可以获知收发报文的API接口功能是否正常,因此,首先利用日志抓取工具抓取API服务器中待测API接口所对应的发送/返回报文及其日志,然后按照预设格式存储到日志数据库中。接下来根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志,其中,被测报文与被测的API接口相对应。根据日志模型中的基本要素将目标日志解析为格式化字段数据。根据预设的检查规则检查格式化字段数据,得到报文字段合法性的检查结果,后续可以将存在异常的报文的字段格式、长度及值的变化输出到异常结果清单中,用于保存及进行格式化展现与存储。
一实施例中,日志抓取工具中可以把日志文件中包含“[uuid]=”关键字的行抓取出来写入文件中,其中uuid是API接口报文的唯一标志,且该标志在发送和接收的API接口报文中是一致的,所以也是用这个字段来关联发送和接收报文的。同时用模式匹配的方式把该uuid也抓取出来写入另一个文件,用于后续API报文数量的核对和发送/接收报文的匹配处理。实际日志中每行可以包括以下关键字:[uuid]=“32位uuid”[params]。
从上述描述可知,本申请提供的报文字段合法性检查方法及装置,能够采用异步方式检查API接口的报文日志,对工作状态下的API接口调用过程无任何影响;能够灵活配置API接口的合法性检查规则,且规则具有可扩展性;能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败;解决了在第三方不具备联测环境的条件下,难以暴露API接口调用失败隐患,无法达到测试场景全面覆盖的问题。
一实施例中,参见图2,检索规则包括预设检索模式;根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志,包括:
S201:根据检索时间范围及日志模型中的URL地址确定被测报文的位置;
S202:根据预设检索模式在位置上进行模式匹配,确定目标日志。
可以理解的是,预设检索模式可以指:第一步,日志文件中包含“[uuid]=”的行。第二步,每行用正则表达式^[0-9a-zA-Z]{32}进行模糊匹配,抓取出uuid。
扫描指定时间段内(也就是检索时间范围内)的API日志,从而获取指定API接口的报文。具体地,测试环境中的API服务器承载了大量的API接口,并且部分重要接口会频繁进行压力测试,因此需要借助高效的检索规则才能从海量日志中筛选出目标日志。本申请实施例基于对存量日志报文的分析,建立API接口日志模型,并设置了对应的检索规则。
从上述描述可知,本申请提供的报文字段合法性检查方法,能够根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志。
一实施例中,参见图3,基本要素包括:父节点名、子节点名及节点层次;根据日志模型中的基本要素将目标日志解析为格式化字段数据,包括:
S301:根据父节点名、子节点名及节点层次确定目标日志的层次结构;
S302:根据层次结构获取被测报文的父节点值和/或子节点值,得到格式化字段数据。
可以理解的是,本申请实施例可以按照预设规则对目标日志进行解析。其中,解析及格式化存储均是围绕日志模型中的基本要素所开展的。对于模型匹配到的报文,将直接按照预定规则解析成格式化数据。最后,将识别出的报文关键信息格式化存储到数据库中,数据库中的表结构可以与日志模型中的基本要素相对应,便于后续查询。
一实施例中,在日志文件中抓取到目标日志后会先写入一个临时文件(该操作的目的是为了提高处理效率),其中,抓取日志与解析日志可以是异步进行的。然后将该临时文件进行解析后得到的格式化数据存储到数据库。格式化后的日志参见图14所示。日志可以分层进行存储,每层均包含父节点和子节点,每个节点包含节点名和节点值。父节点的节点值就是子节点。参见图14,应用的第一层父节点名为uuid,子节点为appid,该字段用于第三方调用该API时的校验。第二层父节点名为biz_content,子节点为接口上送或返回参数。
从上述描述可知,本申请提供的报文字段合法性检查方法,能够根据日志模型中的基本要素将目标日志解析为格式化字段数据。
一实施例中,参见图4,检查规则包括:预设的字段类型、预设的字段长度及偏差;根据预设的检查规则检查格式化字段数据,得到报文字段合法性的检查结果,包括:
S401:检查格式化字段数据的字段类型是否与预设的字段类型一致;
S402:若是,检查格式化字段数据的字段长度是否与预设的字段长度一致;
S403:若是,检查格式化字段数据与格式化字段数据的历史值之间是否存在偏差,得到检查结果。
可以理解的是,步骤S401的检查目的是看报文中的各字段类型是否存在问题,若格式化字段数据的字段类型与预设的字段类型不一致,则说明该收发该报文的API接口可能存在问题。步骤S402的检查目的是看报文中的各字段的长度是否存在问题,若检查格式化字段数据的字段长度与预设的字段长度不一致,则说明可能在报文收发的过程中出现信息丢漏,从而说明该收发该报文的API接口可能存在问题。步骤S403的检查目的是看该报文与其所对应的历史报文相比,两者的数值或信息有无明显偏差;关于是否“明显”可以根据阈值进行判断;阈值可以根据实际业务场景或需要进行设定。
举例而言,规则类型示例如下:
规则类型1(RULE_TYPE 1):字段长度(可为1个或多个数字)。
规则类型2(RULE_TYPE 2):是否包含字母(0-无字母,1-有字母)。
异常报文及原因分析参见表1所示。
表1异常报文及原因分析
规则ID | API名称 | 字段名称 | 规则类型 | 规则值 |
1 | /api/qrcode/V2/generate | app_id | 1 | 20 |
2 | /api/qrcode/V2/generate | app_id | 2 | 0 |
3 | /api/qrcode/V2/generate | mer_id | 1 | 12 |
4 | /api/qrcode/V2/generate | mer_id | 2 | 0 |
5 | /api/qrcode/V2/generate | out_trade_no | 1 | 11,9 |
一实施例中,参见图5,在检查格式化字段数据与格式化字段数据的历史值之间是否存在偏差之后,还包括:若检查出格式化字段数据与格式化字段数据的历史值之间确实存在偏差(S501),则检查偏差的程度是否小于业务认可阈值(S502);若是,根据偏差的程度变更检索规则(S503)。也就是说,认为该偏差在业务上可被接收。
具体地,结合可灵活设置的检查规则对解析后的报文信息(也就是格式化字段数据)进行检查,找出异常报文。为了提升效率,可以采用“规则类型+规则值”的模式进行检查。对于不同种类的业务及技术检查规则都可简化为一条或多条“规则类型+规则值”的规则参数。这样,检查模块的逻辑得到简化,后期还可以对规则参数进行查询与维护,包括增加、修改及删除等。
一实施例中,参见图11,检查规则包括:预设的规则类型及对应的规则值;根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果,包括:
S1101:根据格式化字段数据确定对应的规则类型及规则值;
可以理解的是,不同的格式化字段数据可以对应有不同的规则类型及规则值,且该规则类型及规则值不限于一组;例如,字符型的格式化字段数据应该对应于字符相关的规则类型及规则值;数字型的格式化字段数据应该对应于数字相关的规则类型及规则值。
S1102:根据该对应的规则类型及规则值检查格式化字段数据,得到报文字段合法性的检查结果;
可以理解的是,找到了对应的规则类型及规则值后,可以按照该规则类型及规则值检查格式化字段数据,得到报文字段合法性的检查结果。
从上述描述可知,本申请提供的报文字段合法性检查方法,能够根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
例如,可以根据API接口的名称及规则类型来查询规则参数;可以统计报文的异常结果,生成最终结果清单,用于监控整体检查情况,发现可能存在异常的API接口。
从上述描述可知,本申请提供的报文字段合法性检查方法,能够根据预设的检查规则检查格式化字段数据,得到报文字段合法性的检查结果。
为了更好地说明本申请提供的方法,下面举一示例。
扫描API服务器中的日志文件,提取被测API接口所发送/返回的报文。API接口由业务测试人员提供后,在本地数据库中的进行配置。然后,按照预设规则对该发送/返回报文进行解析,并对解析结果格式化后存储至本地数据库。
业务、技术测试人员可在前端页面维护业务及技术检查规则,如字段类型、长度、取值范围、结构等。规则参数可以存储到本地数据库。最后,结合输出的规则参数,对格式化存储的解析后的目标日志进行检查。如最基本的字段类型、字段长度是否发生了变化,字段当前值同历史值相比是否出现偏差等。当出现偏差的字段值是业务认可的偏差时,可能需要动态对规则参数进行调整,以认为该偏差在业务上可被接收。
基于同一发明构思,本申请实施例还提供了一种报文字段合法性检查装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于报文字段合法性检查装置解决问题的原理与报文字段合法性检查方法相似,因此报文字段合法性检查装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
一实施例中,参见图6,为了能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败,本申请一种报文字段合法性检查装置,包括:目标日志检索单元601、字段数据解析单元602及检查结果生成单元603。
目标日志检索单元601,用于根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
字段数据解析单元602,用于根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
检查结果生成单元603,用于根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
一实施例中,参见图7,所述检索规则包括预设检索模式;所述目标日志检索单元601,包括:报文位置确定模块701及目标日志检索模块702。
报文位置确定模块701,用于根据检索时间范围及所述日志模型中的URL地址确定所述被测报文的位置;
目标日志检索模块702,用于根据所述预设检索模式在所述位置上进行模式匹配,确定所述目标日志。
一实施例中,参见图8,所述基本要素包括:父节点名、子节点名及节点层次;所述字段数据解析单元602,包括:层次结构确定模块801及字段数据解析模块802。
层次结构确定模块801,用于根据所述父节点名、子节点名及节点层次确定所述目标日志的层次结构;
字段数据解析模块802,用于根据所述层次结构获取所述被测报文的父节点值和/或子节点值,得到所述格式化字段数据。
一实施例中,参见图9,所述检查规则包括:预设的字段类型、预设的字段长度及偏差;所述检查结果生成单元603,包括:字段类型检查模块901、字段长度检查模块902及历史偏差检查模块903。
字段类型检查模块901,用于检查所述格式化字段数据的字段类型是否与所述预设的字段类型一致;
字段长度检查模块902,用于检查所述格式化字段数据的字段长度是否与所述预设的字段长度一致;
历史偏差检查模块903,用于检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差,得到所述检查结果。
一实施例中,参见图10,所述检查结果生成单元603,还包括:业务阈值检查模块1001及检索规则变更模块1002。
业务阈值检查模块1001,用于若检查所述格式化字段数据与所述格式化字段数据的历史值之间存在所述偏差,则检查所述偏差的程度是否小于业务认可阈值;
检索规则变更模块1002,用于根据所述偏差的程度变更所述检索规则。
一实施例中,参见图12,检查规则包括:预设的规则类型及对应的规则值;检查结果生成单元603,包括:
类型及值确定模块1201,用于根据格式化字段数据确定对应的规则类型及规则值;
检查结果生成模块1202,根据该对应的规则类型及规则值检查所述格式化字段数据,得到报文字段合法性的检查结果。
从硬件层面来说,为了能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败,本申请提供一种用于实现所述报文字段合法性检查方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(Processor)、存储器(Memory)、通讯接口(Communications Interface)和总线;其中,所述处理器、存储器、通讯接口通过所述总线完成相互间的通讯;所述通讯接口用于实现所述报文字段合法性检查装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的报文字段合法性检查方法的实施例,以及报文字段合法性检查装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,报文字段合法性检查方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通讯模块(即通讯单元),可以与远程的服务器进行通讯连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通讯链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图13为本申请实施例的电子设备9600的系统构成的示意框图。如图13所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图13是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,报文字段合法性检查方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
S101:根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
S102:根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
S103:根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
从上述描述可知,本申请提供的报文字段合法性检查方法及装置,能够采用异步方式检查API接口的报文日志,对工作状态下的API接口调用过程无任何影响;能够灵活配置API接口的合法性检查规则,且规则具有可扩展性;能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败;解决了在第三方不具备联测环境的条件下,难以暴露API接口调用失败隐患,无法达到测试场景全面覆盖的问题。
在另一个实施方式中,报文字段合法性检查装置可以与中央处理器9100分开配置,例如可以将数据复合传输装置报文字段合法性检查装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现报文字段合法性检查方法的功能。
如图13所示,该电子设备9600还可以包括:通讯模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图13中所示的所有部件;此外,电子设备9600还可以包括图13中没有示出的部件,可以参考现有技术。
如图13所示,中央处理器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:根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
从上述描述可知,本申请提供的报文字段合法性检查方法及装置,能够采用异步方式检查API接口的报文日志,对工作状态下的API接口调用过程无任何影响;能够灵活配置API接口的合法性检查规则,且规则具有可扩展性;能够检查第三方调用API接口发送/返回报文中的字段合法性,从而预防因报文字段不合法所导致的接口调用失败;解决了在第三方不具备联测环境的条件下,难以暴露API接口调用失败隐患,无法达到测试场景全面覆盖的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种报文字段合法性检查方法,其特征在于,包括:
根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
2.根据权利要求1所述的报文字段合法性检查方法,其特征在于,所述检索规则包括预设检索模式;所述根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志,包括:
根据检索时间范围及所述日志模型中的URL地址确定所述被测报文的位置;
根据所述预设检索模式在所述位置上进行模式匹配,确定所述目标日志。
3.根据权利要求1所述的报文字段合法性检查方法,其特征在于,所述基本要素包括:父节点名、子节点名及节点层次;所述根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据,包括:
根据所述父节点名、子节点名及节点层次确定所述目标日志的层次结构;
根据所述层次结构获取所述被测报文的父节点值和/或子节点值,得到所述格式化字段数据。
4.根据权利要求1所述的报文字段合法性检查方法,其特征在于,所述检查规则包括:预设的字段类型、预设的字段长度及偏差;所述根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果,包括:
检查所述格式化字段数据的字段类型是否与所述预设的字段类型一致;
若是,检查所述格式化字段数据的字段长度是否与所述预设的字段长度一致;
若是,检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差,得到所述检查结果。
5.根据权利要求4所述的报文字段合法性检查方法,其特征在于,在检查所述格式化字段数据与所述格式化字段数据的历史值之间是否存在所述偏差之后,还包括:
若检查所述格式化字段数据与所述格式化字段数据的历史值之间存在所述偏差,则检查所述偏差的程度是否小于业务认可阈值;
若是,根据所述偏差的程度变更所述检索规则。
6.根据权利要求1所述的报文字段合法性检查方法,其特征在于,所述检查规则包括:预设的规则类型及对应的规则值;所述根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果,包括:
根据所述格式化字段数据确定对应的规则类型及规则值;
根据该对应的规则类型及规则值检查所述格式化字段数据,得到所述报文字段合法性的检查结果。
7.一种报文字段合法性检查装置,其特征在于,包括:
目标日志检索单元,用于根据预先建立的日志模型及预设的检索规则在日志数据库中检索被测报文对应的目标日志;
字段数据解析单元,用于根据所述日志模型中的基本要素将所述目标日志解析为格式化字段数据;
检查结果生成单元,用于根据预设的检查规则检查所述格式化字段数据,得到报文字段合法性的检查结果。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的报文字段合法性检查方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的报文字段合法性检查方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的报文字段合法性检查方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210122137.9A CN114490402A (zh) | 2022-02-09 | 2022-02-09 | 一种报文字段合法性检查方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210122137.9A CN114490402A (zh) | 2022-02-09 | 2022-02-09 | 一种报文字段合法性检查方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490402A true CN114490402A (zh) | 2022-05-13 |
Family
ID=81478355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210122137.9A Pending CN114490402A (zh) | 2022-02-09 | 2022-02-09 | 一种报文字段合法性检查方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490402A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412619A (zh) * | 2022-07-21 | 2022-11-29 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
-
2022
- 2022-02-09 CN CN202210122137.9A patent/CN114490402A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412619A (zh) * | 2022-07-21 | 2022-11-29 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836346B2 (en) | Error troubleshooting using a correlated knowledge base | |
CN111782470B (zh) | 分布式容器日志数据处理方法及装置 | |
CN112784112B (zh) | 报文校验方法及装置 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN116204438A (zh) | 测试用例生成方法、自动化测试方法和相关装置 | |
CN114490402A (zh) | 一种报文字段合法性检查方法及装置 | |
CN114153856A (zh) | 主机数据双写方法及装置 | |
CN106790380A (zh) | 数据上报方法及装置 | |
CN111324480A (zh) | 大型主机交易故障定位系统及方法 | |
CN113791984B (zh) | 接口自动化测试方法及装置 | |
CN112241362A (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN115495519A (zh) | 报表数据加工方法及装置 | |
CN114661811A (zh) | 数据展示方法、装置、电子设备及存储介质 | |
CN114840421A (zh) | 日志数据处理方法及装置 | |
CN114285657A (zh) | 防火墙安全策略变更验证方法及装置 | |
CN111143644B (zh) | 物联网设备的识别方法及装置 | |
CN113505076A (zh) | 文件覆盖检测方法及装置 | |
CN111538651A (zh) | 接口测试方法、装置、服务器及存储介质 | |
CN112988603B (zh) | 大数据测试用例生成方法及装置 | |
CN114070902B (zh) | 基于delphi的报文处理方法及装置 | |
CN111158744B (zh) | 跨平台异构数据的整合方法及装置 | |
CN103873580A (zh) | 一种用于解析视频网页的方法及装置 | |
CN112965952B (zh) | 一种数据资产处理方法及装置 | |
CN113051176B (zh) | 自动化测试数据的处理方法、装置、电子设备及存储介质 | |
CN113515447B (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 |