CN110110164A - 字符串的解析方法、装置、计算机设备和存储介质 - Google Patents
字符串的解析方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110110164A CN110110164A CN201910219299.2A CN201910219299A CN110110164A CN 110110164 A CN110110164 A CN 110110164A CN 201910219299 A CN201910219299 A CN 201910219299A CN 110110164 A CN110110164 A CN 110110164A
- Authority
- CN
- China
- Prior art keywords
- character string
- parameter
- mentioned
- location information
- input
- 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
Classifications
-
- 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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Machine Translation (AREA)
Abstract
本申请揭示了一种字符串的解析方法、装置、计算机设备和存储介质,其中方法包括:接收输入的参数数据;将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;接收从所述所有条件中选择的指定条件;利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。通过本申请,根据接收到的用户从上述参数的所有条件中选择的指定条件,然后利用预设的解析代码对在该指定条件下的指定字符串接进行解析,便能够快速得出上述参数在指定条件下的指定期望结果,从而有效地减少了获得参数在指定条件下的指定期望结果的处理时间。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种字符串的解析方法、装置、计算机设备和存储介质。
背景技术
一个参数在多种不同的条件下会对应有不同的期望结果,例如参数A在条件B1的场景下的期望结果是C1,在条件B2的场景下的期望结果是C2,在条件B3的场景下的期望结果是C3,等等。在现有技术,如果需要求出参数A在所有条件场景下的所有期望结果,就必须要覆盖参数A的所有条件,首先需要生成对应于参数A在所有条件下对应的多条数据,之后再对该多条数据进行处理,进而得到参数A在所有条件下的所有期望结果。而如果只需要得到参数A在所有条件中的某个指定条件下的指定期望结果,则需要在成功构建了在所有条件下对应的多条数据后,再从上述的多条数据中选出与该指定条件对应的指定数据来进行处理后得到该指定期望结果,由于需要构建参数A在所有条件下的多条数据,导致处理过程较复杂,即得到参数A在指定条件下的指定期望结果所需要的处理时间也较长。
发明内容
本申请的主要目的为提供一种字符串的解析方法、装置、计算机设备和存储介质,旨在解决现有的求取参数在所有条件中的某个指定条件下的指定期望结果的处理过程较复杂,处理时间较长的技术问题。
本申请提出一种字符串的解析方法,所述方法包括步骤:
接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
接收从所述所有条件中选择的指定条件;
利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
可选地,所述接收输入的参数数据的步骤之前,包括:
接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;
根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件关键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
可选地,所述接收输入的逻辑规则表的步骤之后,包括:
接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;
配置所述解析代码,以实现对所述解析代码的调用功能。
可选地,所述将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串的步骤,包括:
将所述所有条件分别输入至所述字符串模板的所述详情关键字的第一相关位置,以及将所述所有期望结果分别输入到所述字符串模板的所述实际规则关键字的第二相关位置;
根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;
根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;
将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
可选地,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤,包括:
根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;
从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;
根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;
将所述第一期望结果确定为所述指定期望结果。
可选地,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤之后,包括:
分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;
分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
可选地,所述分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果的步骤之后,包括:
对所述比对结果进行统计分析,生成对应的测试报告;
通过指定方式向所述用户发送所述测试报告。
本申请还提供一种字符串的解析装置,包括:
第一接收模块,用于接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
输入模块,用于将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
第二接收模块,用于接收从所述所有条件中选择的指定条件;
解析模块,用于利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的字符串的解析方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的字符串的解析方法、装置、计算机设备和存储介质,根据接收到的用户从上述参数的所有条件中选择的指定条件,然后利用预设的解析代码对在该指定条件下的指定字符串接进行解析,便能够快速得出上述参数在指定条件下的指定期望结果,从而有效地减少了获得参数在指定条件下的指定期望结果的处理时间。
附图说明
图1是本申请一实施例的字符串的解析方法的流程示意图;
图2是本申请一实施例的字符串的解析装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的字符串的解析方法,包括:
S1:接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
S2:将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
S3:接收从所述所有条件中选择的指定条件;
S4:利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
如上述步骤S1和S2所述,上述的指定字符串根据预设的逻辑规则表,其中该逻辑规则表可由开发人员创建得到。在接收到开发人员输入的逻辑规则表后,便可根据逻辑规则表的逻辑规则,来创建出与预定义参数相匹配的字符串模板,其中,上述预定义参数可为用户输入的与业务相关的多种参数,即为用户从多种业务流程中选择的多种产品的参数,例如可以为保险产品的年利率或者保险产品的年度费率,上述根据逻辑规则表创建生成的字符串模板内包括多个指定关键字,该指定关键字分别为前置条件关键字与实际规则关键字,且上述前置条件关键字内还包括逻辑关键字和详情关键字。在接收到用户输入的参数的参数数据后,其中上述参数数据中携带有该参数的所有条件、该参数的所有期望结果、各上述条件的位置信息以及各上述期望结果的位置信息,之后通过将上述参数的参数数据一一对应地输入到上述字符串模板内的各指定关键字的相关位置处,便能生成基于上述参数的指定字符串,由于该指定字符串内包含上述参数在所有的不同条件下的多种对应的数据,即根据该一条指定字符串便能够清楚描述该参数在不同条件下的多种情况,通过对该指定字符串进行解析,便能得到该参数在从所有条件中任意选择的一个指定条件下所对应的指定期望结果。举例地,如果参数为年度费率,年度费率包含的参数数据包括的内容如下:年度费率对应的所有条件包括O贷和I贷,年度费率的所有的期望结果包括0%-36%和2.62%-15.33%,所有条件的位置信息包括0和1,所有期望结果的位置信息包括0和1,字符串模板包含的关键字为premise{logical[],details[]};rule:{[]}。将年度费率包含的参数数据输入到字符串模板后,能得到如下对应于参数为年度费率的指定字符串:premise{logical[0>>0,1>>1],details[产品:O贷,产品:%I贷%]};rule:{[0%,36%],[2.62%,15.33%]}。
如上述步骤S3和S4所述,开发人员在创建了上述逻辑规则表后,会根据该逻辑规则表的逻辑规则进一步创建出与该逻辑规则对应的的解析代码,其中上述解析代码用于解析上述字符串模板,且该解析代码包含有与该逻辑规则对应的解析规则,之后开发人员会将该解析代码输入到字符串的解析装置内,以使得字符串的解析装置拥有调用该解析代码的功能,并可通过该解析代码来完成对上述指定字符串的解析。在接收到用户输入的从上述参数的所有条件中选择的指定条件后,便会调用出预设的上述解析代码解析所述指定条件下的所述指定字符串,即解析代码会根据接收到的指定条件来对上述指定字符串进行解析,并得到对应指定条件的上述参数的指定期望结果,即上述参数在指定条件下的指定期望结果。在本实施例,根据接收到的用户输入的从上述参数的所有条件中选择的指定条件,然后利用预设的解析代码对包含有上述参数的参数数据的指定字符串接进行解析,便能够快速得出上述参数在指定条件下的指定期望结果,有效地减少了获得参数在指定条件下的指定期望结果的处理时间。另外,由于该指定条件可为当前参数的所有条件中的任意一个条件,如果接收到用户依次输入的上述参数的每一个条件,便能通过解析代码依次解析出该参数对应每一个条件的每一个期望结果,来快捷地得到分别对应每一个条件的上述参数的每一个期望结果,即该参数在所有条件下分别对应的所有期望结果。
进一步地,本申请一实施例中,上述步骤S1之前,包括:
S100:接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;
S101:根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
如上述步骤S100和S101所述,上述指定字符串是根据逻辑规则表进行创建的,而上述逻辑规则表是由开发人员创建得到的。在接收用户输入的参数的参数数据的步骤之前,会先接收到开发人员输入的逻辑规则表,该逻辑规则表中的逻辑规则设置有对应于多种参数的字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则等,具体地,上述逻辑规则为逻辑规则表所规定的条件,该逻辑规则表规定了各种指定关键字对应的含义,各种预定义参数对应的参数数据需要放置的位置,放置的各种位置代表的含义,以及参数数据在不同的条件下输出不同的结果的逻辑关系之后,根据接收得到的上述逻辑规则表的逻辑规则,便可以创建出与预定义参数相匹配的上述字符串模板,其中,上述预定义参数可为用户自定义输入的多种参数,例如为用户从多种业务流程中选择的多种产品的参数,对预定义参数的数量不作限定,举例地,预定义参数可为保险产品的年利率或者年度费率。其中,上述字符串模板里包含多种指定关键字,具体包括前置条件关键字与实际规则关键字,且该前置条件关键字内包含逻辑关键字和详情关键字,并且前置条件关键字可表示为premise,实际规则关键字可表示为rule,逻辑关键词可表示为logical,详情关键词可表示为details,上述详情关键字用于输入上述参数的所有期望结果,上述详情关键字用于输入上述参数的所有条件,上述逻辑关键字用于输入上述各上述条件的位置信息以及各上述期望结果的位置信息。另外,创建的字符串模板为包含有多个指定关键字的模板,需要在该字符串模板内的多个指定关键词的相关位置处一一对应地填入上述参数的实际数据,即上述参数数据后,才能得到基于上述参数的指定字符串,其中上述字符串模板的数量为一个,但在字符串模板中输入不同参数的参数数据后,便能得到对应于不同参数的数量为多个的指定字符串。在本实施例,逻辑规则表可如下表1所示,字符串模板可表示为:premise{logical[],details[]};rule:{[]}。
表1:逻辑规则表
进一步地,本申请一实施例中,上述步骤S100之后,包括:
S1000:接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;
S1001:配置所述解析代码,以实现对所述解析代码的调用功能。
如上述步骤S1000和S1001所述,开发人员在创建了上述逻辑规则表后,会根据该逻辑规则表的逻辑规则进一步创建出与该逻辑规则对应的的解析代码,其中上述解析代码包含有与该逻辑规则对应的解析规则,且该解析代码用于解析上述字符串模板。其中,上述逻辑规则库的逻辑规则会包括有创建生成的上述字符串模板内所有指定关键字的使用规则,以及各个指定关键字之间的相互使用关系。而上述解析规则的内容根据所述逻辑规则设定,具体地,上述解析规则的内容包括关键词拆分、关键词使用规则以及关键词解析顺序。通过调用包含上述解析规则的解析代码便能实现对于基于上述参数的指定字符串的解析,即根据用户输入的从上述参数的所有条件中选择的指定条件,然后对该解析代码进行调用,使得该解析代码利用该解析规则来对在该指定条件下的该指定字符串进行解析,进而解析得到上述参数在该指定条件下所对应的指定期望结果,其中解析代码利用该解析规则的解析流程为:将指定字符串内的所有指定关键词一一进行拆分,再根据各指定关键词的解析顺序,按照该解析顺序依次对放置在各指定关键词的相关位置处的参数数据进行解析,并参考逻辑规则内包含的所有指定关键词的使用规则,来完成对该指定字符串在指定条件下的解析,并最终得到指定字符串在指定条件下的指定期望结果。
进一步地,本申请一实施例中,上述步骤S2,包括:
S200:将所述所有条件分别输入至所述字符串模板的所述详情关键字的第一相关位置,以及将所述所有期望结果分别输入到所述字符串模板的所述实际规则关键字的第二相关位置;
S201:根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;
S202:根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;
S203:将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
如上述步骤S200至步骤S203所述,在接收到用户输入的关于上述参数的参数数据后,需要准确地将该参数数据内包含的各种数据一一对应地输入到预设的字符串模板中的各指定关键词的相关位置处,以形成正确的基于上述参数的指定字符串,这样有利于后续调用解析代码对指定字符串进行解析处理的正确运行,避免出现对指定字符串的解析出错或解析失败的情形。其中,字符串模板内设置的关键字包括:前置条件关键字与实际规则关键字,上述前置条件关键字包含逻辑关键字和详情关键字,而用户输入的上述参数的参数数据包括上述参数的所有条件、上述前参数的所有期望结果、上述参数的所有条件的位置信息以及上述参数的所有期望结果的位置信息。在本实施例,将上述参数数据一一对应地输入到预设的字符串模板的各指定关键字内,形成基于所述参数的指定字符串的步骤,具体为:首先将上述所有条件分别输入至上述字符串模板的上述详情关键字的第一相关位置,以及将上述所有期望结果分别输入到上述字符串模板的上述实际规则关键字的第二相关位置;然后在接收到用户输入的上述参数的业务逻辑后,根据上述业务逻辑以及各上述条件在上述详情关键字的各上述第一相关位置,可以分别确定上述各上述条件的位置信息在上述字符串模板内的上述逻辑关键字的第一放置位置,以及根据上述业务逻辑以及各上述期望结果在上述实际规则关键字的各上述第二相关位置,分别确定各上述期望结果的位置信息在上述字符串模板内的上述逻辑关键字的第二放置位置;最后再将各上述条件的位置信息输入到对应的各上述第一放置位置,将各上述期望结果的位置信息输入到对应的各上述第二放置位置。其中,由用户输入的上述业务逻辑包括参数在特定条件下对应的特定条件的位置信息的具体内容,且该特定条件的位置信息的放置位置要与特定条件的放置位置对应,例如当特定条件放在详情关键字内的首位置时,则对应的特定条件的位置信息要放在逻辑关键字内的首位置;业务逻辑还包括参数的各期望结果对应的各期望结果的位置信息的具体内容,且各期望结果的位置信息的位置位置要与各期望结果的位置位置对应,例如特定期望结果与特定期望结果的位置信息相对应,当特定期望结果放在实际规则关键字的首位置时,则对应的特定期望结果的位置信息要放在逻辑关键字的首位置。另外,上述逻辑关键字还包括指定符号,该指定符号表示上述放置于首位置的特定条件的位置信息与放置与同样放置于该首位置的特定期望结果的位置信息之间包含有上述指定符号,该指定符号表明该特定条件的位置信息与该特定期望结果的位置信息的对应关系。
进一步地,本申请一实施例中,上述步骤S4,包括:
S400:根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;
S401:从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;
S402:根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;
S403:将所述第一期望结果确定为所述指定期望结果。
如上述步骤S400和S403所述,在得到了基于上述参数的指定字符串以及用户输入的从上述参数的所有条件中选择的指定条件后,根据上述解析代码内的解析规则,调用该解析代码来对在该指定条件的该指定字符串进行解析,便能求解出上述参数在该指定条件下对应的指定期望结果。具体地,解析代码首先会获取上述参数的参数数据在指定字符串内的具体位置,例如上述参数的所有条件的位置是处于指定字符串的前置条件关键字中的详情关键字内,然后对所有指定关键字内相应的格式标识符进行判定来获得每一个指定关键字的数据格式信息。之后根据上述解析规则和由用户选择的上述指定条件,解析代码首先会从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息,然后从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息,并根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果,得到的该第一期望结果变为上述的指定期望结果。在本实施例,根据接收到用户输入的从上述参数的所有条件中选择的指定条件,便能利用预设的解析代码对基于上述参数的指定字符串接进行解析,来快速得出该参数在指定条件下对应的指定期望结果,有效地调高了获得参数在指定条件下的指定期望结果的速度。当接收到用户依次输入的上述参数的每一个条件,便能通过解析代码依次解析出上述参数对应每一个条件的每一个期望结果,来快捷地得到分别对应每一个条件的上述参数的每一个期望结果,即该参数在所有条件下分别对应的所有期望结果。
进一步地,本实施例中,对于上述指定字符串可能会出现缺少某些关键字或某些关键字缺少对应的数值的情况,则在上述情况下使用解析代码对上述指定字符串进行解析的通用处理过程为:首先通过解析代码对指定字符串内的关键字进行提取,判断是否存在rule关键字,如果不存在rule关键字,则返回数据异常,不存在指定期望结果的解析结果,如果存在rule关键字,则判断是否存在rule关键字对应的数值,如果不存在rule关键字对应的数值,则返回数据异常,不存在指定期望结果的解析结果,如果存在rule关键字对应的数值,进一步判断是否存在premise关键字,如果不存在premise关键字,则返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果存在premise关键字,进一步判断是否存在logical关键字,在不存在logical关键字的情况下,判断是否存在details关键字,如果不存在details关键字,则返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果存在details关键字,对details关键字对应的所有数值进行匹配,如果匹配成功,返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果匹配不成功,返回数据异常,不存在指定期望结果的解析结果;在存在logical关键字的情况下,判断是否存在details关键字,如果不存在details关键字,返回数据异常,不存在指定期望结果的解析结果,如果存在details关键字,对details关键字对应的内容进行解析后得到logical关键字的index,并根据logical关键字的index获取rule关键字的index,再根据rule关键字的index,将rule关键字的index对应的rule关键字内的数值确定为指定期望结果并返回。
进一步地,本申请一实施例中,上述步骤S4之后,包括:
S5:分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;
S6:分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
如上述步骤S5和S6所述,当需要对上述参数进行校验或自动化测试时,可将通过对在所有条件下的指定字符串进行解析后得到的所有期望结果作为自动化测试流程的一部分,并加入自动化测试流程,另外自动化测试流程还需要包含当前参数在所有条件下,经过业务流程中的功能测试后输出的所有条件下对应的所有实际结果。具体地,根据上述参数的所有条件,调用解析代码分别对处于每一个条件下的该指定字符串进行解析,可获取得到该参数在所有条件下对应的所有期望结果;另外根据上述参数的所有条件,并在通过业务流程中的功能测试后,可以获取得到该参数在所有条件下对应的所有实际结果。之后分别对上述参数在每一个条件对应的各期望结果和各实际结果进行一一比对,来得到比对结果,比对结果也可称为自动化测试结果。上述分别对上述参数在每一个条件对应的各期望结果和各实际结果进行一一比对,得到比对结果的步骤具体为:对上述参数在第一个条件对应的第一期望结果和第一实际结果进行比对,得到并记录下第一比对结果,其后进行上述参数在下一个条件的第二期望结果和第二实际结果进行比对,得到并记录下第二比对结果,直至完成执行将上述参数在所有条件下对应的所有期望结果和所有实际结果都进行了比对的操作之后,来得到经过比对后的所有的自动化测试结果。现有的自动化测试,当需要对参数A进行自动化测试时,如果参数A具有多种条件,且参数A在多种条件会对应不同的期望结果,则需要为参数A进行校验或自动化测试时,必须覆盖参数A的所有条件,即需要为参数A设置多个与其的所有条件的数量对应的自动化测试代码,如果参数A具有庞大数量的条件,则需要为参数A设置极大数量的测试代码,自动化测试流程费时费力。而在本实施例,由于创建的基于上述参数的指定字符串内包含了上述参数的参数数据,且该参数数据内包含有该参数的所有条件以及对应的其它数据,用户只需要输入的上述参数的参数数据,便能通过解析代码解析出上述参数在该所有条件下对应的所有期望结果,从而只需要设置一条自动化测试代码,来进行与获取得到的上述参数在所有条件下在经过功能测试后输出的所有实际结果进行相比较,进而完成自动化测试,大大精简了测试代码量。
进一步地,本申请一实施例中,上述步骤S6之后,包括:
S7:对所述比对结果进行统计分析,生成对应的测试报告;
S8:通过指定方式向所述用户发送所述测试报告。
如上述步骤S7至S8所述,上述比对结果包括测试通过和比测试失败,预先设置好测试通过和测试失败的定义,测试通过是指实际结果的具体数值处于期望结果的数值范围内,测试失败是指实际结果的具体数值不处于期望结果的数值范围内。通过对上述参数在第一个条件对应的第一期望结果和第一实际结果进行比对,得到并记录下第一比对结果,其后进行上述参数在下一个条件的第二期望结果和第二实际结果进行比对,得到并记录下第二比对结果,直至完成执行将上述参数在所有条件下对应的所有期望结果和所有实际结果都进行了一一比对的操作之后,来得到经过比对后的所有的比对结果。之后对得到的所有的比对结果进行统计分析,并生成与该比对结果对应的测试报告,其中,测试报告的内容可包括测试通过的参数的条件数据、测试失败的参数的条件数据、测试通过率以及测试失败率。另外,在生成上述测试报告后,可通过指定的方式输出该测试报告,例如可通过邮件或短信的形式将包含有该测试报告内容的邮件或信息发送给用户,以便用户根据测试报告进行后续的对应处理。
参照图2,本申请一实施例中还提供了一种字符串的解析装置,包括:
第一接收模块1,用于接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
输入模块2,用于将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
第二接收模块3,用于接收从所述所有条件中选择的指定条件;
解析模块4,用于利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
在上述第一接收模块和输入模块中,上述的指定字符串根据预设的逻辑规则表,其中该逻辑规则表可由开发人员创建得到。在接收到开发人员输入的逻辑规则表后,便可根据逻辑规则表的逻辑规则,来创建出与预定义参数相匹配的字符串模板,其中,上述预定义参数可为用户输入的与业务相关的多种参数,即为用户从多种业务流程中选择的多种产品的参数,例如可以为保险产品的年利率或者保险产品的年度费率,上述根据逻辑规则表创建生成的字符串模板内包括多个指定关键字,该指定关键字分别为前置条件关键字与实际规则关键字,且上述前置条件关键字内还包括逻辑关键字和详情关键字。在接收到用户输入的参数的参数数据后,其中上述参数数据中携带有该参数的所有条件、该参数的所有期望结果、各上述条件的位置信息以及各上述期望结果的位置信息,之后通过将上述参数的参数数据一一对应地输入到上述字符串模板内的各指定关键字的相关位置处,便能生成基于上述参数的指定字符串,由于该指定字符串内包含上述参数在所有的不同条件下的多种对应的数据,即根据该一条指定字符串便能够清楚描述该参数在不同条件下的多种情况,通过对该指定字符串进行解析,便能得到该参数在从所有条件中任意选择的一个指定条件下所对应的指定期望结果。举例地,如果参数为年度费率,年度费率包含的参数数据包括的内容如下:年度费率对应的所有条件包括O贷和I贷,年度费率的所有的期望结果包括0%-36%和2.62%-15.33%,所有条件的位置信息包括0和1,所有期望结果的位置信息包括0和1,字符串模板包含的关键字为premise{logical[],details[]};rule:{[]}。将年度费率包含的参数数据输入到字符串模板后,能得到如下对应于参数为年度费率的指定字符串:premise{logical[0>>0,1>>1],details[产品:O贷,产品:%I贷%]};rule:{[0%,36%],[2.62%,15.33%]}。
在上述第二接收模块和解析模块中,开发人员在创建了上述逻辑规则表后,会根据该逻辑规则表的逻辑规则进一步创建出与该逻辑规则对应的的解析代码,其中上述解析代码用于解析上述字符串模板,且该解析代码包含有与该逻辑规则对应的解析规则,之后开发人员会将该解析代码输入到字符串的解析装置内,以使得字符串的解析装置拥有调用该解析代码的功能,并可通过该解析代码来完成对上述指定字符串的解析。在接收到用户输入的从上述参数的所有条件中选择的指定条件后,便会调用出预设的上述解析代码解析所述指定条件下的所述指定字符串,即解析代码会根据接收到的指定条件来对上述指定字符串进行解析,并得到对应指定条件的上述参数的指定期望结果,即上述参数在指定条件下的指定期望结果。在本实施例,根据接收到的用户输入的从上述参数的所有条件中选择的指定条件,然后利用预设的解析代码对包含有上述参数的参数数据的指定字符串接进行解析,便能够快速得出上述参数在指定条件下的指定期望结果,有效地减少了获得参数在指定条件下的指定期望结果的处理时间。另外,由于该指定条件可为当前参数的所有条件中的任意一个条件,如果接收到用户依次输入的上述参数的每一个条件,便能通过解析代码依次解析出该参数对应每一个条件的每一个期望结果,来快捷地得到分别对应每一个条件的上述参数的每一个期望结果,即该参数在所有条件下分别对应的所有期望结果。
进一步地,本申请一实施例中,上述字符串的解析装置,包括:
第三接收单元,用于接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;
创建单元,用于根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件关键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
本实施例中,上述指定字符串是根据逻辑规则表进行创建的,而上述逻辑规则表是由开发人员创建得到的。在接收用户输入的参数的参数数据的步骤之前,会先接收到开发人员输入的逻辑规则表,该逻辑规则表中的逻辑规则设置有对应于多种参数的字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则等,具体地,上述逻辑规则为逻辑规则表所规定的条件,该逻辑规则表规定了各种指定关键字对应的含义,各种预定义参数对应的参数数据需要放置的位置,放置的各种位置代表的含义,以及参数数据在不同的条件下输出不同的结果的逻辑关系之后,根据接收得到的上述逻辑规则表的逻辑规则,便可以创建出与预定义参数相匹配的上述字符串模板,其中,上述预定义参数可为用户自定义输入的多种参数,例如为用户从多种业务流程中选择的多种产品的参数,对预定义参数的数量不作限定,举例地,预定义参数可为保险产品的年利率或者年度费率。其中,上述字符串模板里包含多种指定关键字,具体包括前置条件关键字与实际规则关键字,且该前置条件关键字内包含逻辑关键字和详情关键字,并且前置条件关键字可表示为premise,实际规则关键字可表示为rule,逻辑关键词可表示为logical,详情关键词可表示为details,上述详情关键字用于输入上述参数的所有期望结果,上述详情关键字用于输入上述参数的所有条件,上述逻辑关键字用于输入上述各上述条件的位置信息以及各上述期望结果的位置信息。另外,创建的字符串模板为包含有多个指定关键字的模板,需要在该字符串模板内的多个指定关键词的相关位置处一一对应地填入上述参数的实际数据,即上述参数数据后,才能得到基于上述参数的指定字符串,其中上述字符串模板的数量为一个,但在字符串模板中输入不同参数的参数数据后,便能得到对应于不同参数的数量为多个的指定字符串。
进一步地,本申请一实施例中,上述字符串的解析装置,包括:
第四接收单元,用于接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;
配置单元,用于配置所述解析代码,以实现对所述解析代码的调用功能。
本实施例中,开发人员在创建了上述逻辑规则表后,会根据该逻辑规则表的逻辑规则进一步创建出与该逻辑规则对应的的解析代码,其中上述解析代码包含有与该逻辑规则对应的解析规则,且该解析代码用于解析上述字符串模板。其中,上述逻辑规则库的逻辑规则会包括有创建生成的上述字符串模板内所有指定关键字的使用规则,以及各个指定关键字之间的相互使用关系。而上述解析规则的内容根据所述逻辑规则设定,具体地,上述解析规则的内容包括关键词拆分、关键词使用规则以及关键词解析顺序。通过调用包含上述解析规则的解析代码便能实现对于基于上述参数的指定字符串的解析,即根据用户输入的从上述参数的所有条件中选择的指定条件,然后对该解析代码进行调用,使得该解析代码利用该解析规则来对在该指定条件下的该指定字符串进行解析,进而解析得到上述参数在该指定条件下所对应的指定期望结果,其中解析代码利用该解析规则的解析流程为:将指定字符串内的所有指定关键词一一进行拆分,再根据各指定关键词的解析顺序,按照该解析顺序依次对放置在各指定关键词的相关位置处的参数数据进行解析,并参考逻辑规则内包含的所有指定关键词的使用规则,来完成对该指定字符串在指定条件下的解析,并最终得到指定字符串在指定条件下的指定期望结果。
进一步地,本申请一实施例中,上述输入模块,包括:
第一输入单元,用于将所述所有条件分别输入至所述字符串模板的所述详情关键字的第一相关位置,以及将所述所有期望结果分别输入到所述字符串模板的所述实际规则关键字的第二相关位置;
第一确定单元,用于根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;
第二确定单元,用于根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;
第二输入单元,用于将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
本实施例中,在接收到用户输入的关于上述参数的参数数据后,需要准确地将该参数数据内包含的各种数据一一对应地输入到预设的字符串模板中的各指定关键词的相关位置处,以形成正确的基于上述参数的指定字符串,这样有利于后续调用解析代码对指定字符串进行解析处理的正确运行,避免出现对指定字符串的解析出错或解析失败的情形。其中,字符串模板内设置的关键字包括:前置条件关键字与实际规则关键字,上述前置条件关键字包含逻辑关键字和详情关键字,而用户输入的上述参数的参数数据包括上述参数的所有条件、上述前参数的所有期望结果、上述参数的所有条件的位置信息以及上述参数的所有期望结果的位置信息。在本实施例,将上述参数数据一一对应地输入到预设的字符串模板的各指定关键字内,形成基于所述参数的指定字符串的步骤,具体为:首先将上述所有条件分别输入至上述字符串模板的上述详情关键字的第一相关位置,以及将上述所有期望结果分别输入到上述字符串模板的上述实际规则关键字的第二相关位置;然后在接收到用户输入的上述参数的业务逻辑后,根据上述业务逻辑以及各上述条件在上述详情关键字的各上述第一相关位置,可以分别确定上述各上述条件的位置信息在上述字符串模板内的上述逻辑关键字的第一放置位置,以及根据上述业务逻辑以及各上述期望结果在上述实际规则关键字的各上述第二相关位置,分别确定各上述期望结果的位置信息在上述字符串模板内的上述逻辑关键字的第二放置位置;最后再将各上述条件的位置信息输入到对应的各上述第一放置位置,将各上述期望结果的位置信息输入到对应的各上述第二放置位置。其中,由用户输入的上述业务逻辑包括参数在特定条件下对应的特定条件的位置信息的具体内容,且该特定条件的位置信息的放置位置要与特定条件的放置位置对应,例如当特定条件放在详情关键字内的首位置时,则对应的特定条件的位置信息要放在逻辑关键字内的首位置;业务逻辑还包括参数的各期望结果对应的各期望结果的位置信息的具体内容,且各期望结果的位置信息的位置位置要与各期望结果的位置位置对应,例如特定期望结果与特定期望结果的位置信息相对应,当特定期望结果放在实际规则关键字的首位置时,则对应的特定期望结果的位置信息要放在逻辑关键字的首位置。另外,上述逻辑关键字还包括指定符号,该指定符号表示上述放置于首位置的特定条件的位置信息与放置与同样放置于该首位置的特定期望结果的位置信息之间包含有上述指定符号,该指定符号表明该特定条件的位置信息与该特定期望结果的位置信息的对应关系。
进一步地,本申请一实施例中,上述解析模块,包括:
调用单元,用于根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;
第一查找单元,用于从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;
第二查找单元,用于根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;
第三确定单元,用于将所述第一期望结果确定为所述指定期望结果。
本实施例中,在得到了基于上述参数的指定字符串以及用户输入的从上述参数的所有条件中选择的指定条件后,根据上述解析代码内的解析规则,调用该解析代码来对在该指定条件的该指定字符串进行解析,便能求解出上述参数在该指定条件下对应的指定期望结果。具体地,解析代码首先会获取上述参数的参数数据在指定字符串内的具体位置,例如上述参数的所有条件的位置是处于指定字符串的前置条件关键字中的详情关键字内,然后对所有指定关键字内相应的格式标识符进行判定来获得每一个指定关键字的数据格式信息。之后根据上述解析规则和由用户选择的上述指定条件,解析代码首先会从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息,然后从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息,并根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果,得到的该第一期望结果变为上述的指定期望结果。在本实施例,根据接收到用户输入的从上述参数的所有条件中选择的指定条件,便能利用预设的解析代码对基于上述参数的指定字符串接进行解析,来快速得出该参数在指定条件下对应的指定期望结果,有效地调高了获得参数在指定条件下的指定期望结果的速度。当接收到用户依次输入的上述参数的每一个条件,便能通过解析代码依次解析出上述参数对应每一个条件的每一个期望结果,来快捷地得到分别对应每一个条件的上述参数的每一个期望结果,即该参数在所有条件下分别对应的所有期望结果。
进一步地,在本实施例,对于上述指定字符串可能会出现缺少某些关键字或某些关键字缺少对应的数值的情况,则在上述情况下使用解析代码对上述指定字符串进行解析的通用处理过程为:首先通过解析代码对指定字符串内的关键字进行提取,判断是否存在rule关键字,如果不存在rule关键字,则返回数据异常,不存在指定期望结果的解析结果,如果存在rule关键字,则判断是否存在rule关键字对应的数值,如果不存在rule关键字对应的数值,则返回数据异常,不存在指定期望结果的解析结果,如果存在rule关键字对应的数值,进一步判断是否存在premise关键字,如果不存在premise关键字,则返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果存在premise关键字,进一步判断是否存在logical关键字,在不存在logical关键字的情况下,判断是否存在details关键字,如果不存在details关键字,则返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果存在details关键字,对details关键字对应的所有数值进行匹配,如果匹配成功,返回将rule关键字对应的第一个数值作为指定期望结果的解析结果,如果匹配不成功,返回数据异常,不存在指定期望结果的解析结果;在存在logical关键字的情况下,判断是否存在details关键字,如果不存在details关键字,返回数据异常,不存在指定期望结果的解析结果,如果存在details关键字,对details关键字对应的内容进行解析后得到logical关键字的index,并根据logical关键字的index获取rule关键字的index,再根据rule关键字的index,将rule关键字的index对应的rule关键字内的数值确定为指定期望结果并返回。
进一步地,本申请一实施例中,上述字符串的解析装置,包括:
获取模块,用于分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;
比对模块,用于分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
本实施例中,当需要对上述参数进行校验或自动化测试时,可将通过对在所有条件下的指定字符串进行解析后得到的所有期望结果作为自动化测试流程的一部分,并加入自动化测试流程,另外自动化测试流程还需要包含当前参数在所有条件下,经过业务流程中的功能测试后输出的所有条件下对应的所有实际结果。具体地,根据上述参数的所有条件,调用解析代码分别对处于每一个条件下的该指定字符串进行解析,可获取得到该参数在所有条件下对应的所有期望结果;另外根据上述参数的所有条件,并在通过业务流程中的功能测试后,可以获取得到该参数在所有条件下对应的所有实际结果。之后分别对上述参数在每一个条件对应的各期望结果和各实际结果进行一一比对,来得到比对结果,比对结果也可称为自动化测试结果。上述分别对上述参数在每一个条件对应的各期望结果和各实际结果进行一一比对,得到比对结果的步骤具体为:对上述参数在第一个条件对应的第一期望结果和第一实际结果进行比对,得到并记录下第一比对结果,其后进行上述参数在下一个条件的第二期望结果和第二实际结果进行比对,得到并记录下第二比对结果,直至完成执行将上述参数在所有条件下对应的所有期望结果和所有实际结果都进行了比对的操作之后,来得到经过比对后的所有的自动化测试结果。现有的自动化测试,当需要对参数A进行自动化测试时,如果参数A具有多种条件,且参数A在多种条件会对应不同的期望结果,则需要为参数A进行校验或自动化测试时,必须覆盖参数A的所有条件,即需要为参数A设置多个与其的所有条件的数量对应的自动化测试代码,如果参数A具有庞大数量的条件,则需要为参数A设置极大数量的测试代码,自动化测试流程费时费力。而在本实施例,由于创建的基于上述参数的指定字符串内包含了上述参数的参数数据,且该参数数据内包含有该参数的所有条件以及对应的其它数据,用户只需要输入的上述参数的参数数据,便能通过解析代码解析出上述参数在该所有条件下对应的所有期望结果,从而只需要设置一条自动化测试代码,来进行与获取得到的上述参数在所有条件下在经过功能测试后输出的所有实际结果进行相比较,进而完成自动化测试,大大精简了测试代码量。
进一步地,本申请一实施例中,上述字符串的解析装置,包括:
分析模块,用于对所述比对结果进行统计分析,生成对应的测试报告;
发送单元,用于通过指定方式向所述用户发送所述测试报告。
本实施例中,上述比对结果包括测试通过和比测试失败,预先设置好测试通过和测试失败的定义,测试通过是指实际结果的具体数值处于期望结果的数值范围内,测试失败是指实际结果的具体数值不处于期望结果的数值范围内。通过对上述参数在第一个条件对应的第一期望结果和第一实际结果进行比对,得到并记录下第一比对结果,其后进行上述参数在下一个条件的第二期望结果和第二实际结果进行比对,得到并记录下第二比对结果,直至完成执行将上述参数在所有条件下对应的所有期望结果和所有实际结果都进行了一一比对的操作之后,来得到经过比对后的所有的比对结果。之后对得到的所有的比对结果进行统计分析,并生成与该比对结果对应的测试报告,其中,测试报告的内容可包括测试通过的参数的条件数据、测试失败的参数的条件数据、测试通过率以及测试失败率。另外,在生成上述测试报告后,可通过指定的方式输出该测试报告,例如可通过邮件或短信的形式将包含有该测试报告内容的邮件或信息发送给用户,以便用户根据测试报告进行后续的对应处理。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储参数的参数数据、参数的指定期望结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种字符串的解析方法。
上述处理器执行上述字符串的解析方法的步骤:接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;接收从所述所有条件中选择的指定条件;利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
在一实施例,所述接收输入的参数数据的步骤之前,包括:接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件关键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
在一实施例,所述接收输入的逻辑规则表的步骤之后,包括:接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;配置所述解析代码,以实现对所述解析代码的调用功能。
在一实施例,所述将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串的步骤,包括:将所述所有条件分别输入至所述字符串模板的所述详情关键字的第一相关位置,以及将所述所有期望结果分别输入到所述字符串模板的所述实际规则关键字的第二相关位置;根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
在一实施例,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤,包括:根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;将所述第一期望结果确定为所述指定期望结果。
在一实施例,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤之后,包括:分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
在一实施例,所述分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果的步骤之后,包括:对所述比对结果进行统计分析,生成对应的测试报告;通过指定方式向所述用户发送所述测试报告。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种字符串的解析方法,具体为:接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;接收从所述所有条件中选择的指定条件;利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
在一实施例,所述接收输入的参数数据的步骤之前,包括:接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件关键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
在一实施例,所述接收输入的逻辑规则表的步骤之后,包括:接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;配置所述解析代码,以实现对所述解析代码的调用功能。
在一实施例,所述将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串的步骤,包括:将所述所有条件分别输入至所述字符串模板的所述详情关键字的第一相关位置,以及将所述所有期望结果分别输入到所述字符串模板的所述实际规则关键字的第二相关位置;根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
在一实施例,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤,包括:根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;将所述第一期望结果确定为所述指定期望结果。
在一实施例,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤之后,包括:分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
在一实施例,所述分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果的步骤之后,包括:对所述比对结果进行统计分析,生成对应的测试报告;通过指定方式向所述用户发送所述测试报告。
综上所述,本申请实施例中提供的字符串的解析方法、装置、计算机设备和存储介质,根据接收到的用户从上述参数的所有条件中选择的指定条件,然后利用预设的解析代码对在该指定条件下的指定字符串接进行解析,便能够快速得出上述参数在指定条件下的指定期望结果,从而有效地减少了获得参数在指定条件下的指定期望结果的处理时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种字符串的解析方法,其特征在于,包括:
接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
接收从所述所有条件中选择的指定条件;
利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
2.根据权利要求1所述的字符串的解析方法,其特征在于,所述接收输入的参数数据的步骤之前,包括:
接收输入的逻辑规则表,其中所述逻辑规则表中的逻辑规则包括字符操作规则、数值计算规则、时间操作规则、关系操作规则和转义操作规则;
根据所述逻辑规则表的逻辑规则,创建与预定义参数相匹配的字符串模板,其中所述字符串模板包括前置条件关键字与实际规则关键字,所述前置条件关键字包括逻辑关键字和详情关键字,所述详情关键字用于输入所述参数的所有期望结果及所述参数的所有条件,所述逻辑关键字用于输入所述各所述条件的位置信息及各所述期望结果的位置信息。
3.根据权利要求2所述的字符串的解析方法,其特征在于,所述接收输入的逻辑规则表的步骤之后,包括:
接收输入的所述解析代码,所述解析代码根据所述逻辑规则表的逻辑规则创建,所述解析代码包括与所述逻辑规则对应的解析规则;
配置所述解析代码,以实现对所述解析代码的调用功能。
4.根据权利要求2所述的字符串的解析方法,其特征在于,所述将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串的步骤,包括:
根据输入的所述参数的业务逻辑,以及各所述条件在所述详情关键字的各所述第一相关位置,分别确定所述各所述条件的位置信息在所述字符串模板内的所述逻辑关键字的第一放置位置;
根据所述业务逻辑以及各所述期望结果在所述实际规则关键字的各所述第二相关位置,分别确定各所述期望结果的位置信息在所述字符串模板内的所述逻辑关键字的第二放置位置;
将各所述条件的位置信息输入到对应的各所述第一放置位置,将各所述期望结果的位置信息输入到对应的各所述第二放置位置。
5.根据权利要求4所述的字符串的解析方法,其特征在于,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤,包括:
根据所述指定条件,调用所述解析代码从所述指定字符串内的所有条件的位置信息中查找出与所述指定条件相对应的第一位置信息;
从所述指定字符串内的所有期望结果的位置信息中查找出与所述第一位置信息相对应的第二位置信息;
根据所述第二位置信息,从所述指定字符串内的所有期望结果中查找出与所述第二位置信息相对应的第一期望结果;
将所述第一期望结果确定为所述指定期望结果。
6.根据权利要求1所述的字符串的解析方法,其特征在于,所述利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果的步骤之后,包括:
分别获取所述参数在各所述条件下对应的实际结果以及所述参数在各所述条件下对应的期望结果;
分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果。
7.根据权利要求6所述的字符串的解析方法,其特征在于,所述分别对与各所述条件对应的各所述实际结果和各所述期望结果进行一一比对,得到比对结果的步骤之后,包括:
对所述比对结果进行统计分析,生成对应的测试报告;
通过指定方式向所述用户发送所述测试报告。
8.一种字符串的解析装置,其特征在于,包括:
第一接收模块,用于接收输入的参数数据,其中所述参数数据包括所述参数的所有条件、所述参数的所有期望结果、各所述条件的位置信息以及各所述期望结果的位置信息;
输入模块,用于将所述参数数据一一对应地输入到预设的字符串模板的各指定关键字的相关位置处,形成基于所述参数的指定字符串;
第二接收模块,用于接收从所述所有条件中选择的指定条件;
解析模块,用于利用预设的解析代码解析所述指定条件下的所述指定字符串,得到所述参数在所述指定条件下对应的指定期望结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219299.2A CN110110164A (zh) | 2019-03-21 | 2019-03-21 | 字符串的解析方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219299.2A CN110110164A (zh) | 2019-03-21 | 2019-03-21 | 字符串的解析方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110110164A true CN110110164A (zh) | 2019-08-09 |
Family
ID=67484431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910219299.2A Pending CN110110164A (zh) | 2019-03-21 | 2019-03-21 | 字符串的解析方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110164A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110930165A (zh) * | 2019-11-08 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 互联网金融网站的异常检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1021249A (ja) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | キーワード抽出ルール生成方法 |
CN102446167A (zh) * | 2011-08-31 | 2012-05-09 | 中博信息技术研究院有限公司 | 一种基于逻辑模板对复杂字符串逻辑处理的方法和装置 |
CN107562835A (zh) * | 2017-08-23 | 2018-01-09 | 广东欧珀移动通信有限公司 | 文件查找方法、装置、移动终端及计算机可读存储介质 |
-
2019
- 2019-03-21 CN CN201910219299.2A patent/CN110110164A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1021249A (ja) * | 1996-06-28 | 1998-01-23 | Hitachi Ltd | キーワード抽出ルール生成方法 |
CN102446167A (zh) * | 2011-08-31 | 2012-05-09 | 中博信息技术研究院有限公司 | 一种基于逻辑模板对复杂字符串逻辑处理的方法和装置 |
CN107562835A (zh) * | 2017-08-23 | 2018-01-09 | 广东欧珀移动通信有限公司 | 文件查找方法、装置、移动终端及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110930165A (zh) * | 2019-11-08 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 互联网金融网站的异常检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6671874B1 (en) | Universal verification and validation system and method of computer-aided software quality assurance and testing | |
US20090197645A1 (en) | Test case automatic generation method for testing proactive gsm application on sim cards | |
CN109213854A (zh) | 知识图谱信息管理方法、装置、计算机设备及存储介质 | |
US20040073890A1 (en) | Method and system for test management | |
CN109657215A (zh) | 基于模板的文档生成方法、设备、存储介质及装置 | |
TWI448914B (zh) | 用以產生組成驗證用自動假定值之方法、系統與電腦程式產品 | |
CN109710237A (zh) | 一种基于自定义二维报表的在线修改校验方法及设备 | |
CN110166278A (zh) | Kubernetes集群搭建方法、装置、计算机设备及存储介质 | |
CN108563782A (zh) | 商品信息格式处理方法、装置、计算机设备和存储介质 | |
CN106326363B (zh) | 一种基于正则表达式的匹配方法及装置 | |
CN107622054A (zh) | 文本数据的纠错方法及装置 | |
CN107665171A (zh) | 自动回归测试方法及装置 | |
CN110471694A (zh) | 注释信息处理方法、装置、计算机设备及存储介质 | |
CN109886554A (zh) | 违规行为判别方法、装置、计算机设备和存储介质 | |
CN110134795A (zh) | 生成验证问题组的方法、装置、计算机设备和存储介质 | |
CN110135129A (zh) | 代码段保护方法、装置、计算机设备和存储介质 | |
CN110471838A (zh) | 测试用例的校验方法、装置、计算机设备和存储介质 | |
CN110427188A (zh) | 单测断言程序的配置方法、装置、设备及存储介质 | |
CN110069404A (zh) | 代码调试方法、装置、设备及介质 | |
CN109543073A (zh) | 企业供销关系图谱生成方法、装置和计算机设备 | |
CN111615688A (zh) | 一种断言验证代码绑定方法及装置 | |
CN111581076A (zh) | 系统代码的测试方法、装置、计算机设备和存储介质 | |
CN110110164A (zh) | 字符串的解析方法、装置、计算机设备和存储介质 | |
CN106649210A (zh) | 一种数据转换方法及装置 | |
CN109359176A (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 |