System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据获取方法、装置、电子设备及存储介质制造方法及图纸_技高网

数据获取方法、装置、电子设备及存储介质制造方法及图纸

技术编号:43541083 阅读:8 留言:0更新日期:2024-12-03 12:22
本申请提供了一种数据获取方法、装置、电子设备及存储介质,涉及自动化测试领域,其中,该方法包括:在目标进程中创建目标线程,以执行指定线程函数,其中,目标进程用于表示上位机操作系统中用于采集测试数据并将测试数据写入本地硬盘文件的进程;基于指定线程函数将目标动态链接库加载至目标进程的内存空间中,目标动态链接库用于指示对测试数据进行拦截和外发;在目标进程调用第一函数时,基于目标动态链接库目标进程跳转至第二函数的地址空间;执行第二函数以获取测试数据,第二函数用于表示捕获测试数据以及将测试数据进行外发的函数。实施本申请提供的技术方案,解决了相关技术中存在的测试数据获取的实时性较差的技术问题。

【技术实现步骤摘要】

本申请涉及自动化测试领域,具体涉及一种数据获取方法、装置、电子设备及存储介质


技术介绍

1、目前在装备制造业中,产品在研制过程中需要做大量的性能测试和试验。所有的性能试验和测试基本上都有配套的测控系统和上位机软件。在试验和测试过程中,上位机软件通过数据采集板卡采集产品的海量高频性能测试数据,并将数据按照独占模式实时写入本地硬盘文件中。由于该文件由上位机软件按照独占模式创建并使用,在上位机软件写入数据的过程中,该文件不能被其他软件打开读。也就是说,只有等到试验和测试完毕,上位机软件释放了该文件的占用,其他软件才能打开该文件读。这种现象带来了一系列的问题:包括数据的实时共享、远程数字化测试、远程智能试验、远程判断、数据实时集成等。凡是需要对测试和试验过程做数据远程实时处理的场景,几乎都不能满足需求。可见,相关技术中的测试数据获取的实时性较差。

2、针对相关技术中存在的测试数据获取的实时性较差的技术问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请提供了一种数据获取方法、装置、电子设备及存储介质,以至少解决相关技术中存在的测试数据获取的实时性较差的技术问题。

2、第一方面,本申请提供了一种数据获取方法,包括:在目标进程中创建目标线程,以执行指定线程函数,其中,目标进程用于表示上位机操作系统中用于采集测试数据并将测试数据写入本地硬盘文件的进程;基于指定线程函数将目标动态链接库加载至目标进程的内存空间中,其中,目标动态链接库用于指示对测试数据进行拦截和外发;在目标进程调用第一函数的情况下,基于目标动态链接库目标进程跳转至第二函数的地址空间,其中,第一函数用于表示将测试数据写入本地硬盘文件的函数,目标动态链接库中包含第二函数;执行第二函数以获取测试数据,其中,第二函数用于表示捕获测试数据以及将测试数据进行外发的函数。

3、通过采用上述技术方案,在目标进程中创建目标线程以执行指定线程函数,该指定线程函数是将目标动态链接库加载到目标进程的内存空间中,即利用远程线程注入技术,在目标进程中创建线程,然后载入目标动态链接库,该目标动态链接库用于指示对目标进程所采集的测试数据进行拦截和外发;当目标进程调用第一函数时,目标进程将跳转至第二函数的地址空间,即当目标进程执行第一函数,以将测试数据写入本地硬盘文件时,目标动态链接库将对其进行拦截,使其跳转至第二函数的地址空间,执行第二函数以获取测试数据,即将原始需要写入到本地硬盘文件的数据提前进行捕获。实现了通过远程线程注入技术实时捕获写入本地硬盘文件的测试数据的目的,避免了相关技术中上位机软件将测试数据按照独占模式实时写入本地硬盘文件中而不能被其他软件打开读,只有等到测试完毕才释放文件的占用,从而导致测试数据获取的实时性较差的问题,达到了提高数据获取的实时性的效果。

4、可选的,执行第二函数以获取测试数据,包括:执行第二函数以获取测试数据,并将测试数据通过数据转发模块发送给远程服务器,其中,目标动态链接库中包含数据转发模块。

5、通过采用上述技术方案,第二函数用于表示捕获测试数据以及将测试数据进行外发的函数,执行第二函数以获取测试数据并将测试数据通过数据转发模块发送给远程服务器,实现了对上位机软件所采集的测试数据进行拦截并外发给远程服务器的目的。

6、可选的,在执行第二函数以获取测试数据之后,上述方法还包括:在确定第二函数已执行完毕的情况下,跳回至第一函数的地址空间。

7、通过采用上述技术方案,在执行第二函数将测试数据进行捕获后,再跳回第一函数的地址空间,即在对测试数据进行提前捕获之后,继续执行第一函数以将测试数据写入本地硬盘文件中,不影响上位机软件对测试数据的采集,即不影响上位机中测控软件的测试过程。

8、可选的,在目标进程中创建目标线程,以执行指定线程函数,包括:通过createremotethread函数在目标进程中创建目标线程,以调用loadlibrary函数,其中,loadlibrary函数用于加载目标动态链接库。

9、通过采用上述技术方案,通过createremotethread函数在目标进程中创建目标线程,即通过createremotethread跨进程在上位机软件中创建一个远程线程,并将loadlibrary函数作为该线程函数来启动线程,实现了利用远程线程注入技术在目标进程中注入线程的目的。

10、可选的,通过createremotethread函数在目标进程中创建目标线程,包括:获取目标进程的目标进程标识;通过virtualallocex函数在目标进程的地址空间中申请目标内存空间;利用writeprocessmemory函数将目标动态链接库的路径名写入目标内存空间;通过createremotethread函数在目标进程中创建目标线程。

11、通过采用上述技术方案,获取目标进程的目标进程标识,利用virtualallocex函数在目标进程的地址空间中申请目标内存空间,以及利用writeprocessmemory函数将目标动态链接库的路径名写入目标内存空间,再利用createremotethread函数在目标进程中创建目标线程。

12、可选的,基于指定线程函数将目标动态链接库加载至目标进程的内存空间中,包括:基于指定线程函数将目标动态链接库加载至目标进程的内存空间中,其中,目标动态链接库的路径名为指定线程函数的传入参数。

13、通过采用上述技术方案,可将目标动态链接库的路径名或文件名作为指定线程函数的参数传入,这样在启动线程时可将目标动态链接库加载至目标进程的内存空间中。

14、可选的,在目标进程调用第一函数的情况下,基于目标动态链接库目标进程跳转至第二函数的地址空间,包括:在与第一函数对应的地址空间中写入跳转指令;在目标进程调用第一函数的情况下,目标进程基于跳转指令跳转至第二函数的地址空间。

15、通过采用上述技术方案,在第一函数对应的地址空间中写入跳转指令,这样当目标进程调用第一函数时,目标进程将基于跳转指令跳转至第二函数的地址空间,从而可以执行第二函数。

16、在本申请的第二方面,还提供了一种数据获取装置,包括:创建单元,用于在目标进程中创建目标线程,以执行指定线程函数,其中,目标进程用于表示上位机操作系统中用于采集测试数据并将测试数据写入本地硬盘文件的进程;加载单元,用于基于指定线程函数将目标动态链接库加载至目标进程的内存空间中,其中,目标动态链接库用于指示对测试数据进行拦截和外发;跳转单元,用于在目标进程调用第一函数的情况下,基于目标动态链接库目标进程跳转至第二函数的地址空间,其中,第一函数用于表示将测试数据写入本地硬盘文件的函数,目标动态链接库中包含第二函数;获取单元,用于执行第二函数以获取测试数据,其中,第二函数用于表示捕获测试数据以及将测试数据进行外发的函数。

17、在本申请的第三方面,还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计本文档来自技高网...

【技术保护点】

1.一种数据获取方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,执行所述第二函数以获取所述测试数据,包括:

3.根据权利要求1所述的方法,其特征在于,在执行所述第二函数以获取所述测试数据之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,在目标进程中创建目标线程,以执行指定线程函数,包括:

5.根据权利要求4所述的方法,其特征在于,通过CreateRemoteThread函数在所述目标进程中创建所述目标线程,包括:

6.根据权利要求1所述的方法,其特征在于,基于所述指定线程函数将目标动态链接库加载至所述目标进程的内存空间中,包括:

7.根据权利要求1所述的方法,其特征在于,在所述目标进程调用第一函数的情况下,基于所述目标动态链接库所述目标进程跳转至第二函数的地址空间,包括:

8.一种数据获取装置,其特征在于,包括:

9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行如权利要求1至7中任一项所述的方法。

...

【技术特征摘要】

1.一种数据获取方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,执行所述第二函数以获取所述测试数据,包括:

3.根据权利要求1所述的方法,其特征在于,在执行所述第二函数以获取所述测试数据之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,在目标进程中创建目标线程,以执行指定线程函数,包括:

5.根据权利要求4所述的方法,其特征在于,通过createremotethread函数在所述目标进程中创建所述目标线程,包括:

6.根据权利要求1所述的方法,其特征在于,基于所述指定线程函数...

【专利技术属性】
技术研发人员:蒋远斌李构段晓涛吴梅王梦森
申请(专利权)人:北京大禹汇智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1