CN114238295A - 一种基于分组的数据排序方法及装置 - Google Patents
一种基于分组的数据排序方法及装置 Download PDFInfo
- Publication number
- CN114238295A CN114238295A CN202111458699.2A CN202111458699A CN114238295A CN 114238295 A CN114238295 A CN 114238295A CN 202111458699 A CN202111458699 A CN 202111458699A CN 114238295 A CN114238295 A CN 114238295A
- Authority
- CN
- China
- Prior art keywords
- data
- sorting
- grouping
- packet
- sequencing
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分组的数据排序方法及装置,所述方法包括:基于当前业务场景和目标存储***特性,设置后置条件和分组策略;根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据;数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理;根据当前业务场景定义返回结构体;对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果;对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。采用本发明提供基于分组的数据排序方法和装置实施例,避免重复编写的排序流程,能避免产生过多的重复无用数据。
Description
技术领域
本发明涉及数据自动化处理领域,尤其涉及一种基于分组的数据排序方法及装置。
背景技术
当前在线商城***一般都是针对商品列表和详情部分需要按照优先级逻辑来展示商品标签信息,从而触发用户购买行为。
目前的排序方法一般是:按照需求定义好的规则编写脚本执行,后面增加一种排序就要再次复制现有执行方法(具体是指现有版本针对排序或者展示验证方案是按照需求定义的规则,然后准备对应测试数据执行排序,再比较排序结果,当进行需求优先级调整,或者增加新的优先级展示,或者改动排序规则需要把相关准备数据再复制一遍然后修改校验的返回结果,即每增加或者修改规则就需要复制一次数据和执行结构校验),这种排序方法存在以下缺陷:(1)没有进行分组形式;(2)存在很多无用的重复数据。数据准备过程需要使用重复准备数据,准备数据之间唯一不同就是把里面各自需要的排序标签id替换,在用例执行不同场景中有很多类似的数据都是这种重复数据,此外,重复改校验返回结果也会在排序执行过程设置上存在冗余和重复。
发明内容
本发明实施例提供一种基于分组的数据排序方法及装置,将排序执行流程中涉及过程均进行分组处理(数据初始化,设置规则,预期校验规则,数据清理等),去掉重复编写的排序流程,能避免排序过程在产生过多的重复无用数据。
为实现上述目的,本申请实施例的第一方面提供了一种基于分组的数据排序方法,包括:
基于当前业务场景和目标存储***特性,设置后置条件和分组策略;
根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据;
数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理;
根据当前业务场景定义返回结构体;
对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果;
对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
在第一方面的一种可能的实现方式中,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映所述优先级规则中各个规则的匹配程度。
在第一方面的一种可能的实现方式中,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
在第一方面的一种可能的实现方式中,所述对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性,具体包括:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
本申请实施例的第二方面提供了基于分组的数据排序装置,包括:
初始设置模块,用于基于当前业务场景和目标存储***特性,设置后置条件和分组策略;
分组模块,用于根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据;
清理模块,用于数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理;
定义模块,用于根据当前业务场景定义返回结构体;
排序模块,用于对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果;
匹配模块,用于对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
在第二方面的一种可能的实现方式中,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映所述优先级规则中各个规则的匹配程度。
在第二方面的一种可能的实现方式中,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
在第二方面的一种可能的实现方式中,所述匹配模块具体用于:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
相比于现有技术,本发明实施例提供的一种基于分组的数据排序方法和装置,将不同分组的数据整合成预设的数据格式,由此避免重复编写数据。还将排序执行流程中涉及过程(数据初始化,设置规则,预期排序规则,数据清理等)进行分组处理,得到排序结果。最后还结合返回结构体判断排序结果的正确性。
总的来说,采用本发明实施例提供的基于分组的数据排序方法及装置,只需要制定数据和预定义规则即可,不需要其他额外配置,也不需要对目标***进行修改,有效避免重复数据的生成,以此提高排序的效率。在排序及检测过程中,全程不用人工干预,减少测试人员的资源投入。
附图说明
图1是本发明一实施例提供的一种基于分组的数据排序方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明一实施例提供了一种基于分组的数据排序方法,所述方法包括:
S10、基于当前业务场景和目标存储***特性,设置后置条件和分组策略。
S11、根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据。
S12、数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理。
S13、根据当前业务场景定义返回结构体。
S14、对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果。
S15、对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
S10是本方法实施例种建立分组策略的过程,S13中规定的返回结构体主要用于验证排序结果是否可靠,是一种理想的预期结构体,S14是根据优先级规则处理数据的过程,S15是最后的排序结果判断过程,按照定义优先级进行不同类别解析判断。
S10中,基于当前业务常用的场景,需要建立后置条件(当脚本执行之后需要触发的行为操作:比如清理数据,将执行过程中的数组恢复到初始化状态,达到数据循环使用)。S11-S12采用类似数据执行操作规则进行分组,在不同分组方法编写对于实现方法。对于一般数据***而言,主要是写入不同存储***中。若采用java具体实现S11-S12,需要定义了几个批量写入的方法名X,在执行场景中增加groups=方法名X,就会调用对应方法去执行批量***数据。
示例性地,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映所述优先级规则中各个规则的匹配程度。
示例性地,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
在实际应用中,S11-S12得到的分组数据一般会按照设置“优先级排序/造数值/期望值”的参数格式传递过来,当收到如上分组数据时需要调用不同方法处理。先使用java中Stream流式操作先过滤获取需要的值,优先级排序这里调用基础服务对当前执行场景下发配置信息,命中值需要根据分组策略来制定,根据业务场景对应服务返回具体排序数据。
需要说明的是,这里优先级是指按照每个业务场景的需求功能点,在同一时间出现多条数据过程中,需要处理的数据是先于前面数据还是后面数据进行排序的规则,优先级规则是自己按照业务功能点编写一种格式,类似格式如类似如:a|b,c,d>e.f,具体表示为初始化和清理数据a,b,c,d,e,那么排序优先级展示或者排序结果就为a,d,f。
示例性地,S15具体包括:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
下面以某商品标签***说明,需要实现功能点是存在多个标签A、B、C、D、E,当前配置规则为A|B,C>D,E,功能最终展示到商品排序优先级需要A,C,E才表示正常反之异常。
第一步:基于标签当前存储***进行分组,对业务场景分析后确认当前***需要在缓存和数据库分别存储,那么分组策略会定义操作缓存(这里缓存包括本地缓存和分布式缓存)和数据库,并生成两个标记“分组=缓存”和“分组=数据库”,当有这两个标记时候,执行过程初始化和执行完成后清理数据会按照定义好分组中方法去执行对应逻辑处理,保证数据初始化和重复使用。
第二步:基于需要验证的排序结果制定的验证格式,经确认当前业务功能点需要返回标签全部内容,包括标签ID,标签名称商品,展示位置,对应图片信息等,针对目前结构体增加对应结构体内容信息,保证结构体内容包括本次功能需要信息。
第三步:当前业务功能点配置规则为A|B,C>D,E,基于这个规则会拆分3个步骤实例,首选拿到配置规则信息为A|B,C>D,E然后用这个规则在调用对应更新配置规则方法保证当前规则只针对当前执行用例生效,其次根据造数据生成标签信息,这里获取标签A,B,C,D,E信息会调用造数据方法产生符合要求的标签数据,最后优先级展示获取,通过配置规则信息调用优先级获取逻辑处理可以拿到最终优先级展示顺序为A>C>E。
第四步:基于前面步骤已经清楚A,B,C,D,E标签规则最终展示顺序,这里通过调用统一编写的接口调用方式执行就可以获取本次执行结果信息,然后执行结果和步骤2预期结果返回调用判断一致性方法进行比较,如果数据匹配成功表示当前执行通过反之执行失败。
相比于现有技术,本发明实施例提供的一种基于分组的数据排序方法,将不同分组的数据整合成预设的数据格式,由此避免重复编写数据。还将排序执行流程中涉及过程(数据初始化,设置规则,预期排序规则,数据清理等)进行分组处理,得到排序结果。最后还结合返回结构体判断排序结果的正确性。
总的来说,采用本发明实施例提供的基于分组的数据排序方法,只需要制定数据和预定义规则即可,不需要其他额外配置,也不需要对目标***进行修改,有效避免重复数据的生成,以此提高排序的效率。在排序及检测过程中,全程不用人工干预,减少测试人员的资源投入。
本申请实施例的第二方面提供了基于分组的数据排序装置,包括:初始设置模块、分组模块、清理模块、定义模块、排序模块和匹配模块。
初始设置模块,用于基于当前业务场景和目标存储***特性,设置后置条件和分组策略。
分组模块,用于根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据。
清理模块,用于数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理。
定义模块,用于根据当前业务场景定义返回结构体。
排序模块,用于对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果。
匹配模块,用于对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
示例性地,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映所述优先级规则中各个规则的匹配程度。
示例性地,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
示例性地,所述匹配模块具体用于:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
需要说明的是,上面各模块运行时是基于内部存储的软件应用执行的,而上述各个模块存储的应用可以是基于纯java编写的应用。若采用java编写不依赖其他多余技术组件(仅依赖或是消息sdk),无需修改被测***,使用简单便捷。
若是基于java的testng数据驱动方式,在dataProvider按照规则要求填写优先级信息。这里优先级是指按照每个业务需求功能点在同一时间出现多条数据过程中排序处理规则。
相比于现有技术,本发明实施例提供的一种基于分组的数据排序装置,将不同分组的数据整合成预设的数据格式,由此避免重复编写数据。还将排序执行流程中涉及过程(数据初始化,设置规则,预期排序规则,数据清理等)进行分组处理,得到排序结果。最后还结合返回结构体判断排序结果的正确性。
总的来说,采用本发明实施例提供的基于分组的数据排序装置,只需要制定数据和预定义规则即可,不需要其他额外配置,也不需要对目标***进行修改,有效避免重复数据的生成,以此提高排序的效率。在排序及检测过程中,全程不用人工干预,减少测试人员的资源投入。
总的来说,采用本发明实施例提供的消息自动测试方法及装置,只需要消息发送人员准备需要数据、消息发送内容和业务场景流程,并校验逻辑,不需要关注其他基础服务处理,有效降低测试人员的资源投入成本及提高消息的发送效率和检验效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种基于分组的数据排序方法,其特征在于,包括:
基于当前业务场景和目标存储***特性,设置后置条件和分组策略;
根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据;
数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理;
根据当前业务场景定义返回结构体;
对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果;
对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
2.如权利要求1所述的基于分组的数据排序方法,其特征在于,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映数据与所述优先级规则中各个规则的匹配程度。
3.如权利要求2所述的基于分组的数据排序方法,其特征在于,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
4.如权利要求1所述的基于分组的数据排序方法,其特征在于,所述对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性,具体包括:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
5.一种基于分组的数据排序装置,其特征在于,包括:
初始设置模块,用于基于当前业务场景和目标存储***特性,设置后置条件和分组策略;
分组模块,用于根据所述分组策略创建多个分组,按照分组对应的***逻辑进行数据分组***,得到不同分组的数据;
清理模块,用于数据分组***完成后,根据后置条件对所述不同分组的数据执行分组对应的清理处理;
定义模块,用于根据当前业务场景定义返回结构体;
排序模块,用于对清理处理后的所述不同分组的数据整合成预设的数据格式,按照所述数据格式中配置的优先级规则进行数据排序得到排序结果;
匹配模块,用于对所述排序结果和所述返回结构体进行匹配,验证排序结果的有效性。
6.如权利要求5所述基于分组的数据排序装置,其特征在于,所述预设的数据格式包括优先级规则、造数值和命中值;
所述优先级规则是基于当前业务场景制定的;所述造数值是将所述不同分组的数据进行初始化赋值的参考数值;所述命中值反映所述优先级规则中各个规则的匹配程度。
7.如权利要求6所述基于分组的数据排序装置,其特征在于,所述按照所述数据格式中配置的优先级规则进行数据排序得到排序结果,具体包括:
使用Stream流式操作过滤获取需要的分组数据;
根据所述造数值生成待排序数据,调用与所述命中值相匹配的优先级规则对所述待排序数据进行排序,得到排序结果。
8.如权利要求5所述基于分组的数据排序,其特征在于,所述匹配模块具体用于:
若所述排序结果和所述返回结构体的数据格式一致,排序结果有效;
若所述排序结果和所述返回结构体的数据格式不一致,排序结果无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458699.2A CN114238295A (zh) | 2021-12-01 | 2021-12-01 | 一种基于分组的数据排序方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458699.2A CN114238295A (zh) | 2021-12-01 | 2021-12-01 | 一种基于分组的数据排序方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238295A true CN114238295A (zh) | 2022-03-25 |
Family
ID=80752754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111458699.2A Pending CN114238295A (zh) | 2021-12-01 | 2021-12-01 | 一种基于分组的数据排序方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238295A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292202A (zh) * | 2022-09-29 | 2022-11-04 | 立臻科技(昆山)有限公司 | 一种产品测试分析方法、装置、电子设备及存储介质 |
CN116226296A (zh) * | 2023-01-19 | 2023-06-06 | 广州海量数据库技术有限公司 | 基于OpenGauss的数据分组聚集方法 |
-
2021
- 2021-12-01 CN CN202111458699.2A patent/CN114238295A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292202A (zh) * | 2022-09-29 | 2022-11-04 | 立臻科技(昆山)有限公司 | 一种产品测试分析方法、装置、电子设备及存储介质 |
CN116226296A (zh) * | 2023-01-19 | 2023-06-06 | 广州海量数据库技术有限公司 | 基于OpenGauss的数据分组聚集方法 |
CN116226296B (zh) * | 2023-01-19 | 2023-08-22 | 广州海量数据库技术有限公司 | 基于OpenGauss的数据分组聚集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189669A (zh) | 业务场景的测试方法、电子装置及可读存储介质 | |
CN114185708A (zh) | 基于分布式链路追踪的数据分析方法、装置和电子设备 | |
CN114238295A (zh) | 一种基于分组的数据排序方法及装置 | |
CN108874678B (zh) | 一种智能程序的自动测试方法及装置 | |
CN111367782B (zh) | 回归测试数据自动生成的方法及装置 | |
CN111444101A (zh) | 自动创建产品测试缺陷的方法及装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试*** | |
CN112882957B (zh) | 一种测试任务有效性检查方法和装置 | |
CN115080401A (zh) | 一种自动化测试方法和相关装置 | |
CN113240499B (zh) | 一种基于***切换的订单处理方法和装置 | |
CN110618943B (zh) | 安防服务测试方法、装置、电子设备及可读存储介质 | |
CN112035287B (zh) | 一种数据清洗结果的测试方法、装置、存储介质及设备 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN114371866A (zh) | 业务***的版本重构测试方法、装置和设备 | |
CN110781142A (zh) | 数据导入方法及装置、服务端及存储介质 | |
CN110990278A (zh) | 一种测试方法及装置 | |
CN111241082A (zh) | 数据修正方法及装置 | |
CN117724986B (zh) | 一种在用例执行中自动操作kafka的方法及装置 | |
CN117235058A (zh) | 一种业务数据处理方法、装置、设备及介质 | |
CN115511563A (zh) | 业务订单的核验方法、装置、电子设备及存储介质 | |
CN117437070A (zh) | 金融行业批量账务的管理方法及装置 | |
CN116974801A (zh) | 交易链路异常的分析方法及装置、存储介质、计算机设备 | |
CN117714535A (zh) | 信息交换方法、信息存储方法、装置、***、设备及介质 | |
CN115952099A (zh) | 一种基于智能路由策略的mock测试方法、装置及设备 |
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 |