一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、系统、设备以及存储介质与流程

2021-11-15 18:43:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及数据处理技术领域。


背景技术:

2.对于通过消息队列来交互的系统,线下测试时除了测试人员往消息队列里面发送测试数据消息来验证系统的功能,还可通过订阅线上消息队列获取线上数据流来进行线上流量回放来对系统进行功能差异化回归、性能、稳定性的测试。


技术实现要素:

3.本公开提供了一种节省计算机运算成本的数据处理的方法、系统、设备以及存储介质。
4.根据本公开的一方面,提供了一种数据处理方法,包括:
5.对获取的数据进行解析;
6.根据解析获取的数据参数对所述获取的数据进行筛选和/或转换,获得第一数据;
7.对所述第一数据进行去重处理。
8.根据本公开的另一方面,提供了一种数据处理系统,包括:
9.解析装置:用于对获取的数据进行解析;
10.提取装置:用于根据解析获取的数据参数对所述获取的数据进行筛选和/或转换,获得第一数据;
11.去重装置:用于对所述第一数据进行去重处理。
12.根据本公开的第三方面,提供一种电子设备,包括:
13.至少一个处理器;以及
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的方法。
16.根据本公开的第四方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面中任一项所述的方法。
17.根据本公开的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面中任一项所述的方法。
18.根据本公开的第六方面,提供一种数据处理产品,包括:测试服务器、边缘计算服务器。
19.本公开的技术方案带来的技术效果包括:
20.1.经过流量预处理装置的处理,对线上流量进行更加丰富处理和裁剪式来满足线下不同的测试场景。
21.2.在保证覆盖面的基础上,最后差异化分析量级比较小,分析难度降低,耗时比较短。
22.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.附图用于更好地理解本方案,不构成对本公开的限定。其中:
24.图1是根据本公开数据处理方法的示意图;
25.图2是根据本公开数据去重的示意图;
26.图3是根据本公开数据编码后去重的示意图;
27.图4是根据本公开数据处理系统的示意图;
28.图5是根据本公开第一去重装置的示意图;
29.图6是根据本公开第二去重装置的示意图;
30.图7是根据本公开第二去重模块的示意图;
31.图8是用来实现本公开实施例的数据处理方法的电子设备的框图;
32.附图标记说明:
[0033]4ꢀꢀꢀ
数据处理系统
[0034]
401 解析装置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
402
ꢀꢀ
提取装置
[0035]
403 去重装置
[0036]
5 第一去重装置
[0037]
501 第一去重模块
ꢀꢀꢀꢀꢀꢀ
502
ꢀꢀ
标记模块
[0038]
6 第二去重装置
[0039]
601 路径获取模块
ꢀꢀꢀꢀꢀꢀ
602
ꢀꢀ
第二去重模块
[0040]
6021 编码模块
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
6022 第三去重模块
[0041]
800 电子设备
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
801
ꢀꢀ
计算单元
[0042]
802 只读存储器
ꢀꢀꢀꢀꢀꢀꢀꢀ
803
ꢀꢀ
随机访问存储器
[0043]
804 总线
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
805
ꢀꢀ
i/o接口
[0044]
806 输入单元
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
807
ꢀꢀ
输出单元
[0045]
808 存储单元
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
809
ꢀꢀ
通信单元
具体实施方式
[0046]
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0047]
如图1所示,本公开第一方面,提供了一种数据处理方法,包括:
[0048]
s101:对获取的数据进行解析;数据的格式是多种多样的,但是,都会按照一定的规律配置数据中的参数和具体数据内容。例如,在网络上传输的服从tcp/ip通信协议的数据包,其中的ip包就由以下部分组成:版本号、首部长度、服务类型、总长度、标识符、标志、偏移量、生存时间、协议、首部校验和、源ip地址、目的ip地址、选项字段、数据内容。那么对ip包数据进行解析,就是获取其中除了数据内容以外的各个参数,目的是不用分析具体数
据内容,就能对该ip包有一定的了解。
[0049]
还有,例如json是一种轻量级的数据交换格式;json是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个字面名。我们可以对json的数据串进行解析,获取其中的关键字符串,例如:servicename:产品名称、chargeitem:计费项等等。
[0050]
那么,解析了ip数据包的参数或者json数据格式中的关键字,就可以对该数据有一定的了解。
[0051]
本公开中,所述数据还包括消息队列。对数据进行解析,也就是对消息队列进行解析。
[0052]
s102:根据解析获取的数据参数对所述获取的数据进行筛选和/或转换,获得第一数据;正如前面所述,获取了参数或者关键字,就可以对数据进行分类了。所述分类即是筛选和/或转换。结果即是获取的第一数据。
[0053]
s103:对所述第一数据进行去重处理。获得了很多的数据后,为了降低计算机处理的任务的复杂度,以及节约计算成本,可以将重复的数据去重,即将重复的多个数据只保留其中一个。例如,多个ip数据包中,如果有n个ip数据包的参数内容一样,则可以只保留n个ip数据包中的一个。还有例如json数据中,如果多个关键字字符串相同,以及该字符串下的内容相同,那么也可以只保留一个所述字符串。带来的效果就是可以减轻计算机处理的任务量,提高计算机的工作效率。
[0054]
本公开中,对消息队列的筛选即为:进行流量筛选,可以筛选特定产品的流量,也可以筛选掉线下回放失败的流量。根据不同的测试需求添加多种流量筛选策略。所述筛选策略在后续有详细介绍。
[0055]
所述对获取的数据进行解析,包括:
[0056]
对获取的数据的数据头部和/或数据尾部进行分析,以获得所述数据参数。如前所述,数据具有定义该数据内容的数据参数,通常数据的头部和/或数据的尾部用于存储数据的参数,因此,对数据进行解析,一般都是提取数据头部和/或数据尾部的内容进行解析。如果将数据的参数放在数据的中间,也可以,但是,会增加数据的处理难度,导致出现数据处理错误。
[0057]
所述根据解析获取的数据参数对所述获取的数据进行筛选和/或转换,包括:
[0058]
所述获取的数据参数包括:数据名称、数据类型、数据用途和/或数据起始时间。基于前面提及的ip数据包和json数据格式,容易理解,数据名称、数据类型、数据类型和/或数据起始时间属于数据参数。对上述数据参数进行预处理,就可以实现对数据的预处理。
[0059]
在本公开中,在测试线上系统的时候,通常会订阅线上消息队列,然后将所述线上消息队列进行解析,并进行预处理,之后将其作为线下消息队列发送给线下系统。根据不同的测试需求添加多种流量筛选策略。所述策略包括:根据产品名进行筛选;根据计费项进行筛选;过滤可能会导致回放失败的流量(比如流量包找不到,优先查询回放的线下环境是否有这个流量包,如果没有直接过滤);提供配置供测试在流量里面新增字段。
[0060]
所述对所述第一数据进行去重处理,包括:
[0061]
依据所述获取的数据参数的数据名称、数据类型、数据用途和/或数据起始时间对所述第一数据进行去重;如果是重复的数据,则会浪费线下测试系统的测试时间,所以,必须去除重复的数据。首先,将线上流量按照系统的处理逻辑进行内存去重,例如,某产品的
计费系统中产品名、计费项目、范围、总量等等几个关键值。
[0062]
将所述去重后的第一数据进行标记,获得第二数据。去除了重复的数据后,剩下的就是各个独立的数据。将这些独立的数据称作第二数据。
[0063]
例如,ip数据包中将版本号、首部长度、服务类型、总长度、标识符、标志、偏移量、生存时间、协议、首部校验和、源ip地址、目的ip地址和选项字段完全一样的多个ip数据包只保留一个,其余的都去除掉。对于json格式的数据,同样,对具有相同关键字的数据,如果多个json数据的该关键字的数据相同,则可以只保留一个,其余的都去除掉。并且将第一数据进行标记,以便于区别其他数据。这样可以节省计算成本,降低测试时间。所述标记在实际中命名为msgid,后续的处理中,只关注标记了msgid的数据。
[0064]
如图2所示,还包括:
[0065]
s201:获取所述第二数据传输的路径;此步骤是进一步的去重步骤。因为,数据传输要经过很多路径、节点;对于经过了相同路径、节点的标记了msgid的第二数据需要专门关注,后续用于去重。例如,对于属于标记过的第二数据的ip数据包,如果经过的网络节点、路由器的路径完全一样,则可以考虑去除重复的,仅保留一个。对于json数据,收集以这个msgid为标记的第二数据走过的代码链路(请求的各个方法、分支等等信息),记录下来,作为msgid

代码链路。
[0066]
s202:依据所述第二数据传输的路径进行去重,获得第三数据。去除了传输路径重复的第二数据,即得到第三数据。
[0067]
如图3所示,所述依据所述第二数据传输的路径进行去重,获得第三数据,包括:
[0068]
s2021:将所述第二数据传输的路径进行编码;由于传输的原因,第二数据传输的路径可能包含的路径信息量过大,不便于测试系统处理,而且,不便于测试系统对不同的传输路径进行比对,所以,需要对传输路径进行编码处理。本公开的实施例采用密码算法进行处理。例如,采用md5算法对所述第二数据传输的路径进行处理。md5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
[0069]
s2022:依据编码后的所述第二数据传输的路径进行去重,获得所述第三数据。去重后第三数据即是具有唯一性的数据。将所述第三数据引入测试系统,用于测试系统的性能。另外为了保证这份第三数据的有效性和可持续性,会将这份第三数据里面和时间相关参数进行刷新。另外测试系统的模块与线上系统保证上线节奏一致,同步更新。
[0070]
根据解析获取的数据参数对所述获取的数据进行转换,包括:
[0071]
对所述获取的数据进行增量或缩量的转换。
[0072]
当进行大数据性能测试,线上流量无法满足需求时,可以将经过筛选的流量进行m倍复制线上流量,来达到性能测试的数据需求。
[0073]
当需要进行数据缩量时,根据配置的裁剪流量的比例,根据计费流量的(产品名/计费项)进行按比例进行取模选择缩小的流量。
[0074]
当线下被测系统升级需要些特殊数据的时候,可以在数据转化模块对线上流量进行改写,来达到线下测试的需求。比如某个产品方升级了推量数据增加了某些字段的时候,我们可以通过修改线上流量直接塞入新的字段,来验证计费系统处理的正确性和性能。
[0075]
如图4所示,另一方面,本公开还提供一种数据处理系统4,包括:
[0076]
解析装置401:用于对获取的数据进行解析;
[0077]
提取装置402:用于根据解析获取的数据参数对所述获取的数据进行筛选和/或转换,获得第一数据;
[0078]
去重装置403:用于对所述第一数据进行去重处理。
[0079]
其中,所述解析装置401包括:
[0080]
对获取的数据的数据头部和/或数据尾部进行分析,以获得所述数据参数。
[0081]
其中,所述提取装置402包括:
[0082]
所述获取的数据参数包括:数据名称、数据类型、数据用途和/或数据起始时间。
[0083]
如图5所示,第一去重装置装置5,其中,所述第一去重装置5包括:
[0084]
第一去重模块501:用于依据所述获取的数据参数的数据名称、数据类型、数据用途和/或数据起始时间对所述第一数据进行去重;
[0085]
标记模块502:将所述去重后的第一数据进行标记,获得第二数据。
[0086]
如图6所示,第二去重装置6,还包括:
[0087]
路径获取模块601:用于获取所述第二数据传输的路径;
[0088]
第二去重模块602:用于依据所述第二数据传输的路径进行去重,获得第三数据。
[0089]
如图7所示,所述第二去重模块602包括:
[0090]
编码模块6021:用于将所述第二数据传输的路径进行编码;
[0091]
第三去重模块6022:用于依据编码后的所述第二数据传输的路径进行去重,获得所述第三数据。
[0092]
其中,所述提取装置402包括:
[0093]
对所述获取的数据进行增量或缩量的转换。
[0094]
第三方面,本公开还提供一种电子设备,包括:
[0095]
至少一个处理器;以及
[0096]
与所述至少一个处理器通信连接的存储器;其中,
[0097]
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的方法。
[0098]
第四方面,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面中任一项所述的方法。
[0099]
第五方面,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面中任一项所述的方法。
[0100]
第六方面,本公开还提供一种数据处理产品,包括:测试服务器、边缘计算服务器。
[0101]
本公开的技术方案对数据进行解析,也即可以对消息队列进行解析,之后对解析的数据、消息队列进行筛选,去重等处理,生成符合预期的流量。极大地方便了消息队列的编辑,改写,有利于线上系统的测试。并且,对于将线上系统的流量引流到线下的测试系统,提高线下系统的测试能力有极大的促进作用,可以过滤掉会导致回放失败的流量,降低了测试系统处理计算的成本,提高测试的精度。
[0102]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0103]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子
设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0104]
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0105]
设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0106]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,本数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本数据处理方法。
[0107]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0108]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0109]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0110]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0111]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0112]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。
[0113]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0114]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献