掌桥专利:专业的专利平台
掌桥专利
首页

一种设备模拟调试方法和设备

文献发布时间:2023-06-19 19:30:30


一种设备模拟调试方法和设备

技术领域

本申请涉及通信技术,尤其涉及一种设备模拟调试方法和设备。

背景技术

在软件产品的研发测试阶段,编码完成后,需要进行大量的调试和测试工作。而调试和测试工作,需要在各种各样的硬件设备上进行。如果对这些设备进行共享和复用是各大公司面临的问题。要做到共享和复用,就需要将设备云化形成设备域,用户域通过远程使用的方式,实现远程设备在不同用户之间,不同时间段之间共享。

当前,用户域对设备域中的远程设备进行调试和/或测试,需要向设置在设备域中的中转服务器发送指令信息以进行跨域通信,再通过中转服务器向远程设备转发指令信息,实现通过指令信息调试和/或测试远程设备的效果;其中,用户域是用于调试和/或测试远程设备的客户端所在的逻辑组织单元。

然而,远程连接远程设备并对其发送指令对其进行调试和/或测试,很容易因中转服务器自身的转发能力,和/或中转服务器与远程设备之间的通信连接的网络性能限制等情况,导致中转服务器对指令信息的转发量和网速低下,以及向远程设备发送指令信息具有较高的延迟,造成用户域对远程设备调试和/或测试卡顿、数据传输效率慢的问题发生。

发明内容

本申请提供一种设备模拟调试方法和设备,以解决当前通过中转服务器对对远程设备调试和/或测试所出现的卡顿、数据传输效率慢的问题。

第一方面,本申请提供一种设备模拟调试方法,所述方法应用于设备域中的设备模拟网元,包括:

接收用户域发送的指令信息;其中,所述指令信息是用于对远程设备进行调试的命令提示符;

将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息;其中,所述设备反馈信息记载了设备接收状态和设备处理结果;所述设备接收状态表征所述远程设备已接收到所述指令信息;所述设备处理结果是所述远程设备运行所述指令信息生成的结果信息;所述设备模拟网元包括根据设备域中的远程设备在设备域中建立的模拟服务器。

在一种可能的设计中,所述接收用户域发送的指令信息之后,所述方法还包括:

向所述用户域发送域接收状态;其中,所述域接收状态表征所述设备模拟网元已接收到所述指令信息;

所述接收所述远程设备根据所述指令信息发送的设备反馈信息之后,还包括:

向所述用户域发送所述设备处理结果。

在一种可能的设计中,所述设备模拟网元包括设备域服务端;所述接收用户域发送的指令信息,包括:

接收所述用户域发送的指令信息;

将所述指令信息发送至设备域服务端;

接收所述设备域服务端根据所述指令信息发送的服务端反馈信息;其中,所述服务端反馈信息中记载了服务端接收状态;所述服务端接收状态表征所述设备域服务端已接收到所述指令信息;所述设备域服务端是根据设备域中的远程设备在设备域中建立的模拟服务器。

在一种可能的设计中,所述设备模拟网元包括设备域客户端;所述将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息,包括:

接收所述设备域客户端发送的指令信息;

将所述指令信息发送至所述远程设备;

接收所述远程设备根据所述指令信息发送的所述设备反馈信息;

根据所述设备反馈信息向所述设备域客户端发送所述设备处理结果;其中,所述设备域客户端是根据客户端在设备域中建立的模拟终端。

第二方面,本申请提供一种设备模拟调试方法,所述方法应用于用户域中,包括:

将指令信息发送至设备域中的设备模拟网元;其中,所述指令信息用于指示所述设备模拟网元将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息;其中,所述指令信息是用于对远程设备进行调试的命令提示符;所述设备反馈信息记载了设备接收状态和设备处理结果;所述设备接收状态表征所述远程设备已接收到所述指令信息;所述设备处理结果是所述远程设备运行所述指令信息生成的结果信息;所述设备模拟网元包括根据设备域中的远程设备在设备域中建立的模拟服务器。

在一种可能的设计中,所述用户域中还包括用户模拟网元,所述将指令信息发送至设备域中的设备模拟网元之前,所述方法还包括:

所述用户模拟网元接收位于所述用户域的客户端发送的指令信息;

所述用户模拟网元根据所述指令信息向所述客户端发送用户反馈信息;其中,所述用户反馈信息记载了用户接收状态和用户处理结果;所述用户接收状态表征用户模拟网元已接收到所述指令信息;所述用户处理结果是所述用户模拟网元根据所述指令信息生成的结果信息;所述用户模拟网元是根据远程设备在所述用户域中建立的模拟服务器。

第三方面,本申请提供一种设备模拟网元,包括:设备域客户端和设备域服务端;

所述设备域客户端,用于接收用户域发送的指令信息;其中,所述指令信息是用于对远程设备进行调试的命令提示符;

所述设备域服务端,用于将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息;其中,所述设备反馈信息记载了设备接收状态和设备处理结果;所述设备接收状态表征所述远程设备已接收到所述指令信息;所述设备处理结果是所述远程设备运行所述指令信息生成的结果信息。

在一种可能的设计中,所述设备域服务端还用于向所述用户域发送域接收状态;其中,所述域接收状态表征所述设备模拟网元已接收到所述指令信息;

所述设备域服务端还用于向所述用户域发送所述设备处理结果。

在一种可能的设计中,所述设备域客户端包括:第一接收单元和第一发送单元;

所述第一接收单元,用于接收所述用户域发送的指令信息;

所述第一发送单元,用于将所述指令信息发送至设备域服务端;

所述第一接收单元,还用于接收所述设备域服务端根据所述指令信息发送的服务端反馈信息;其中,所述服务端反馈信息中记载了服务端接收状态;所述服务端接收状态表征所述设备域服务端已接收到所述指令信息。

在一种可能的设计中,所述设备域服务端包括:第二接收单元和第二发送单元;

所述第二接收单元,用于接收所述设备域客户端发送的指令信息;

所述第二发送单元,用于将所述指令信息发送至所述远程设备;

所述第二接收单元,还用于接收所述远程设备根据所述指令信息发送所述设备反馈信息;

所述第二发送单元,还用于根据所述设备反馈信息向所述设备域客户端发送所述设备处理结果。

第四方面,本申请提供一种用户域,包括:用户模拟网元;

所述用户模拟网元,用于将指令信息发送至设备域中的设备模拟网元;其中,所述指令信息用于指示所述设备模拟网元将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息;其中,所述指令信息是用于对远程设备进行调试的命令提示符;所述设备反馈信息记载了设备接收状态和设备处理结果;所述设备接收状态表征所述远程设备已接收到所述指令信息;所述设备处理结果是所述远程设备运行所述指令信息生成的结果信息;所述设备模拟网元包括根据设备域中的远程设备在设备域中建立的模拟服务器。

在一种可能的设计中,所述用户模拟网元,还用于接收位于所述用户域的客户端发送的指令信息;

所述用户模拟网元,还用于根据所述指令信息向所述客户端发送用户反馈信息;其中,所述用户反馈信息记载了用户接收状态和用户处理结果;所述用户接收状态表征用户模拟网元已接收到所述指令信息;所述用户处理结果是所述用户模拟网元根据所述指令信息生成的结果信息。

第五方面,本申请提供一种设备模拟网元,包括用于执行以上第一方面实现方式的至少一个处理元件或芯片。

第六方面,本申请提供一种计算机程序产品,包括程序代码,当所述计算机运行所述程序代码时,用于执行以上第一方面的实现方式。

第七方面,本申请提供一种计算机可读存储介质,包括第六面的程序。

第八方面,本申请提供一种用户域,包括用于执行以上第二方面实现方式的至少一个处理元件或芯片。

第九方面,本申请提供一种计算机程序产品,包括程序代码,当所述计算机运行所述程序代码时,用于执行以上第二方面的实现方式。

第十方面,本申请提供一种计算机可读存储介质,包括第九面的程序。

第十一方面,提供了一种通信系统,该系统包括:上述第一方面或其任意可能的实现方式中的设备模拟网元;该系统还包括:上述第二方面或其任意可能的实现方式中的用户域。

本申请提供的一种设备模拟调试方法和设备,通过接收用户域发送的指令信息,并将所述指令信息发送至位于所述设备域的远程设备,及接收所述远程设备根据所述指令信息发送的设备反馈信息的方式,将用户域将指令信息发送至设备模拟网元,及设备模拟网元将指令信息发送至远程设备两个信令交互过程,分割成相互独立的两个独立的交互过程;消除了向中转服务器发送指令信息,及通过中转服务器转发指令信息的步骤,使得用户域无需连接远程设备,而仅需向设备模拟网元发送指令信息,即可实现对远程设备的单向模拟调试和测试作业,提高了针对远程设备的调试和测试的作业效率,避免调试和/或测试远程设备出现卡顿的情况发生。

同时,设备模拟网元仅需向远程设备同步指令信息,即可实现将对远程设备进行同步调试的技术效果。

附图说明

图1为本申请实施例提供的一种应用场景示意图;

图2为本申请实施例提供的另一种应用场景示意图;

图3是现有技术中提供的客户端、中转服务器和远程设备之间的网络架构框图;

图4为本申请实施例提供的一种设备模拟调试方法的信令图;

图5为本申请实施例提供的另一种设备模拟调试方法的信令图;

图6为本申请实施例提供的一种设备模拟网元的结构示意图;

图7为本申请实施例提供的设备域客户端的结构示意图;

图8为本申请实施例提供的设备域服务端的结构示意图;

图9为本申请实施例提供的一种用户域的结构示意图;

图10为本申请实施例提供的一种设备模拟网元的结构示意图;

图11为本申请实施例提供的一种用户域的结构示意图。

具体实施方式

以下对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。需要说明的是,当本申请实施例的方案应用于5G系统、或者现有的系统、或未来可能出现的其他系统时,用户域、用户模拟网元、设备域、设备模拟网元和远程设备的名称可能发生变化,但这并不影响本申请实施例方案的实施。

1)“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

2)“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。

需要指出的是,本申请实施例中涉及的名词或术语可以相互参考,不再赘述。

图1为本申请实施例提供的一种应用场景示意图。

如图1所示,用户域01与一个或多个设备域02中的设备模拟网元021连接,设备模拟网元021与其所在的设备域02中的远程设备022连接,进而完成本申请的设备模拟调试方法。

图2为本申请实施例提供的另一种应用场景示意图。

如图2所示,用户域01包括用户模拟网元011和客户端012,客户端012与用户模拟网元011连接;设备模拟网元021包括设备域客户端0211和设备域服务端0212,用户模拟网元011与一个或多个设备域02中的设备模拟网元021的设备域客户端0211连接,设备域客户端0211与其所在设备域02中的设备域服务端0212连接,设备域服务端0212与其所在的设备域02中的远程设备022连接,进而完成本申请的设备模拟调试方法。

在软件产品的研发测试阶段,编码完成后,需要进行大量的调试和测试工作。而调试和测试工作,需要在各种各样的硬件设备上进行。如果对这些设备进行共享和复用是各大公司面临的问题。要做到共享和复用,就需要将设备云化,通过远程使用的方式,方便设备在不同用户之间,不同时间段之间共享。本发明主要解决的就是远程使用远程设备方式进行调试时,传输文件速度慢的问题。

在当前业界的解决方案中,主要有如下几种解决问题的办法:

在用户端安装代理软件,通过代理软件的方式模拟远程设备进行通信。

修改用户侧和设备侧远程设备的源代码,增大远程设备单次传输的数据量。

以上方法,都需要改变用户的环境或者使用习惯,在通用性和兼容性上存在较大的问题。

在当前业界的解决方案中,需要改变用户的环境或者使用习惯,在通用性和兼容性上存在较大的问题。

本发明无需改变用户的任何使用习惯,只需要在用户域和设备域分别/单独部署用户模拟网元和设备模拟网元,达到提高文件传输速度的效果。

本方案主要是在完全不改变用户使用习惯的前提下,通过代理转发的方式优化远程设备协议的交互时序,从而优化远程连接情况下网络TTL延迟大导致的传输瓶颈。

首先,请参阅图3,图3提供了现有技术中提供的客户端、中转服务器和远程设备之间的网络架构;

当设备无法连接网络,或者设备所在的网络与用户所在网络不通时,一般会采用中转服务器+远程设备连接的方案,该方案中,主要存在2个性能损耗点:

中转服务器功能本身带来的性能损耗(相比较通过本地USB线连接的场景)

用户所在网络到设备所在网络之间的TTL延迟。

在一个项目中的测试数据如下:

经过测试发现,adb connect和adb forward功能,都会降低传输速率。测试结果如下:

/>

备注:测试文件大小:23669476bytes

我们分析了ADB原生方案导致性能下降的主要原因:

对于单个连接而言,远程设备协议是严格的串行交互协议,所有的命令(包括数据传输指令),都需要等待远端进行回复确认后,再进行下一步的动作。因此客户端与中转服务器,中转服务器与远程设备之间的指令,都需要若干个回复周期,因此当TTL较大时,就会对传输速率产生非常大的影响。这也是远程设备CONNECT传输速率慢最根本的原因。

先通过中转服务器将远程设备TCPPORT重定向到远程设备线连接的PC,再通过远程设备Connect链接,是在设备没有网络的情况下,利用远程设备连接线进行的一个PORT桥接,数据通过远程设备线传输到远程设备的TCP模块,中间存在若干层转发,性能相对通过远程设备线直接访问也存在一定的损耗。

针对上面两个问题的根因,我们的解决方案如下:

1.减少用户侧的客户端与设备侧的server的信令交互次数,避免TTL延迟带来的数据传输问题。

2.规避使用中转服务器的方式连接设备。

具体实施方案如下:

1.在用户所在的网络段安装用户模拟网元,让用户的客户端与本地网络内的用户模拟网元通信,规避用户与真实设备之间信令交互的TTL延时。

2.在远程设备的设备域内安装设备模拟网元,使用设备模拟网元与真实设备进行通信,避免使用adb forward转发。

3.优化信令时序,利用Socket转发的缓存加速。

本申请通过使得用户域无需连接远程设备,而仅需向设备模拟网元发送指令信息,即可实现对远程设备的单向模拟调试和测试作业,提高了针对远程设备的调试和测试的作业效率,避免调试和/或测试远程设备出现卡顿的情况发生。

图4为本申请实施例提供的一种设备模拟调试方法的信令图,如图1和图4所示,该方法包括:

S101:用户域将指令信息发送至设备域中的设备模拟网元;其中,指令信息用于指示设备模拟网元将指令信息发送至位于设备域的远程设备,及接收远程设备根据指令信息发送的设备反馈信息;其中,指令信息是用于对远程设备进行调试的命令提示符;设备反馈信息记载了设备接收状态和设备处理结果;设备接收状态表征远程设备已接收到指令信息;设备处理结果是远程设备运行指令信息生成的结果信息。

S102:设备模拟网元接收用户域发送的指令信息;其中,指令信息是用于对远程设备进行调试和/或测试的命令提示符。

本实例中,通过设备模拟网元接收指令信息,并将指令信息发送至远程设备的方式,将用户域将指令信息发送至设备模拟网元,及设备模拟网元将指令信息发送至远程设备两个信令交互过程,分割成相互独立的两个独立的交互过程;因此,用户域无需连接远程设备,而仅需向设备模拟网元发送指令信息,即可实现对远程设备的单向模拟调试和测试作业,提高了针对远程设备的调试和测试的作业效率。

于本实施例中,指令信息是用于对远程设备进行调试和/或测试的命令行数据;其中,采用CMD命令作为指令信息,CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD),位于C:WindowsSystem32的目录下,是在OS/2,Win为基础的操作系统(包括Windows2000和XP中,Vista中,和Server2003)下的“MS-DOS方式”。

用户域是客户端所在的逻辑组织单元;设备域是远程设备所在的逻辑组织单元;域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即TrustRelation)。信任关系是连接在域与域之间的桥梁。

S103:设备模拟网元向用户域发送域接收状态;其中,域接收状态表征设备模拟网元已接收到指令信息。

本实例中,通过向用户域发送域接收状态的方式,向用户域发送虚拟远程设备接收到指令信息的域接收状态,以便于用户域根据域接收状态执行其他状态操作;其中,其他状态操作是指用户域基于远程设备接收到指令信息触发和/或驱动的线程或进程。

可选的,设备模拟网元向用户域发送域接收状态之后,方法还包括:

设备模拟网元向用户域发送域处理结果。

本实例中,为避免用户域需要长时间等待设备处理结果,降低用户域调试和/或测试远程设备的情况发生,通过在向用户域发送域接收状态之后,向用户域发送域处理结果的方式,向用户域发送模拟远程设备根据指令信息生成的域处理结果,以便于用户域根据该域处理结果执行其他结果操作;其中,其他结果操作是指用户域基于远程设备生成设备处理结果触发和/或驱动的线程或进程。

S104:设备模拟网元将指令信息发送至位于设备域的远程设备。

S105:接收远程设备根据指令信息发送的设备反馈信息;其中,设备反馈信息记载了设备接收状态和设备处理结果;设备接收状态表征远程设备已接收到指令信息;设备处理结果是远程设备运行指令信息生成的结果信息;设备模拟网元包括根据设备域中的远程设备在设备域中建立的模拟服务器。

本实例中,由于设备模拟网元包括根据远程设备在设备域中建立的模拟服务器,因此,设备模拟网元仅需向远程设备同步指令信息,即可实现将模拟服务器与远程设备之间进行同步调试的技术效果。设备模拟网元通过接收远程设备根据指令信息发送的设备反馈信息,即可获知远程设备接收到指令信息,及获得远程设备根据该指令信息生成的结果信息,因此,设备模拟网元与远程设备之间的通信没有信令交互量的限制,极大的提高了指令信息的转发量和转发速率,保证了对远程设备进行同步调试和测试的效率。

远程设备用于进行调试和测试的对象;设备模拟网元是根据远程设备建立的模拟服务器,其内部的代码与远程设备一致,因此,用户域可通过向设备模拟网元发送指令信息,即可实现对远程设备进行同样的调试的效果,提高了设备调试及测试效率。

示例性地,采用mock测试工具根据远程设备在设备域中虚拟出一个设备模拟网元;其中,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

远程设备为ADB设备,其中,ADB的全称为AndroidDebugBridge,就是起到调试桥的作用。adb的全名是Android调试桥,它充当调试桥。Adb是AndroidSDK中的工具,使用此工具,可以直接操作和管理Android模拟器或真实的Android设备。ADB设备则是通过ADB操作和/或管理的计算机设备。

S106:设备模拟网元向用户域发送设备处理结果。

本实例中,通过向用户域发送设备处理结果的方式,向用户域发送远程设备根据用户域发送的指令信息生成的处理结果,以便于用户域根据该设备处理结果执行其他结果操作;其中,其他结果操作是指用户域基于远程设备生成设备处理结果触发和/或驱动的线程或进程。

于本实施例中,基于DMA或零拷贝技术创建设备模拟网元,实现设备模拟网元转发指令信息和设备反馈信息。

DMA(DirectMemoryAccess,直接存储器访问)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。

零复制(英语:Zero-copy;也译零拷贝)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。

示例性地,设备模拟网元是运行在支持DMA(DirectMemoryAccess)和SG-DMA(TheScatter-GatherDirectMemoryAccess)的硬件上,通过软件编码技术(mmap+write,sendFile,sendFile+gather,splice等)生成的计算机模块。

另外,本申请还提供一种设备模拟调试方法,其中,设备模拟网元包括设备域服务端和设备域客户端;用户域中具有用户模拟网元;客户端位于用户域内,远程设备位于设备域内。

图5为本申请实施例提供的一种设备模拟调试方法的信令图,如图2和图5所示,该方法包括:

S201:用户模拟网元接收位于用户域的客户端发送的指令信息;

S202:用户模拟网元根据指令信息向客户端发送用户反馈信息;其中,用户反馈信息记载了用户接收状态和用户处理结果;用户接收状态表征用户模拟网元已接收到指令信息;用户处理结果是用户模拟网元根据指令信息生成的结果信息。

本实例中,用户模拟网元是根据远程设备在用户域中建立的模拟服务器,其内部的代码与远程设备一致,因此,使客户端在用户域即可对模拟远程设备的用户模拟网元进行调试,即可实现对远程设备进行同样的调试的效果,避免了因跨域设备之间信道网速和转发数据量不高等通信瓶颈,导致客户端对跨域的远程设备通过指令信息进行调试和/或测试时,因上述通信瓶颈而造成对跨域的通信设备的调试和/或测试的数据传输效率慢的问题发生。

同时,用户模拟网元根据指令信息向客户端发送用户反馈信息,以便于客户端根据反馈信息执行其他状态操作和/或其他结果操作,使得客户端不用等到将指令信息传递到远程设备,并接收由远程设备根据指令信息生成的设备反馈信息,方可执行其他状态操作和/或其他结果操作,因此,提高了客户端的调试及测试效率,其他状态操作是指客户端基于远程设备接收到指令信息触发和/或驱动的线程或进程,其他结果操作是指用户域基于远程设备生成设备处理结果触发和/或驱动的线程或进程。

示例性地,采用mock测试工具根据远程设备在用户域中虚拟出一个设备模拟网元;其中,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

S203:用户模拟网元将指令信息发送至设备域中的设备模拟网元中的设备域客户端;其中,指令信息用于指示设备模拟网元将指令信息发送至位于设备域的远程设备,及接收远程设备根据指令信息发送的设备反馈信息;其中,指令信息是用于对远程设备进行调试的命令提示符;设备反馈信息记载了设备接收状态和设备处理结果;设备接收状态表征远程设备已接收到指令信息;设备处理结果是远程设备运行指令信息生成的结果信息。

本实例中,通过将指令信息发送至设备域客户端,实现用户域中针对客户端的远程设备模拟调试和测试,以及设备域中针对远程设备的客户端模拟调试和测试能够相应甚至同步执行,以确保客户端的调试和测试的指令信息最终能够影响到远程设备。

S204:设备域客户端接收用户域发送的指令信息;其中,指令信息是用于对远程设备进行调试和/或测试的命令提示符。

本实例中,设备域客户端是根据客户端在设备域中建立的模拟终端,其内部的代码与客户端一致,因此,通过客户端经用户模拟网元发送的指令信息,驱动设备域客户端执行与用户域的客户端一致的操作,以作为调试远程设备的终端,用户域可通过向用户模拟网元发送指令信息,即可实现对远程设备进行同样的调试的效果,提高了设备调试及测试效率。

示例性地,采用mock测试工具根据远程设备在用户域中虚拟出一个设备模拟网元;其中,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

S205:设备域客户端将指令信息发送至设备域服务端。

本实例中,设备域服务端是根据远程设备在设备域中搭建的模拟服务器,因此,设备域客户端仅需向设备域服务端发送指令信息,即可实现用户域的客户端向远程设备一样的调试和测试效果,又由于设备域服务端和设备域客户端都是虚拟在设备域的服务器和终端,因此,能够实现设备域服务端和设备域客户端之间大量的信令的快速交互。

示例性地,采用mock测试工具根据远程设备在设备域中虚拟出一个设备域服务端;其中,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

S206:设备域服务端接收设备域客户端发送的指令信息。

本实例中,通过设备域服务端接收设备域客户端发送的指令信息的方式,实现模拟远程设备的模拟服务器接收设备域客户端的指令信息的技术效果,进而实现设备域客户端模拟用户域的客户端作业的技术效果。

S207:设备域客户端接收设备域服务端根据指令信息发送的服务端反馈信息;其中,服务端反馈信息中记载了服务端接收状态;服务端接收状态表征设备域服务端已接收到指令信息。

本实例中,通过设备域客户端接收设备域服务端根据指令信息发送的服务端反馈信息,表征已将指令信息模拟发送至远程设备,此时,以便于设备域客户端能够执行其他状态操作;其中,其他状态操作是指设备域客户端基于远程设备接收到指令信息触发和/或驱动的线程或进程。

S208:设备域服务端将指令信息发送至远程设备。

本实例中,设备域服务端仅需向远程设备同步指令信息,即可实现将模拟服务器与远程设备之间进行同步调试的技术效果。

远程设备用于进行调试和测试的对象;设备域服务端是根据远程设备建立的模拟服务器,其内部的代码与远程设备一致,因此,用户域可通过向设备域服务端发送指令信息,即可实现对远程设备进行同样的调试的效果,提高了设备调试及测试效率。

远程设备为ADB设备,其中,ADB的全称为AndroidDebugBridge,就是起到调试桥的作用。adb的全名是Android调试桥,它充当调试桥。Adb是AndroidSDK中的工具,使用此工具,可以直接操作和管理Android模拟器或真实的Android设备。ADB设备则是通过ADB操作和/或管理的计算机设备。

S209:设备域服务端接收远程设备根据指令信息发送的设备反馈信息。

本实例中,设备域服务端通过接收远程设备根据指令信息发送的设备反馈信息,即可获知远程设备接收到指令信息,及获得远程设备根据该指令信息生成的结果信息,因此,设备域服务端与远程设备之间的通信没有信令交互量的限制,极大的提高了指令信息的转发量和转发速率,保证了对远程设备进行同步调试和测试的效率。

S210:设备域服务端根据设备反馈信息向设备域客户端发送设备处理结果。

本实例中,通过设备域服务端根据设备反馈信息向设备域客户端发送的设备处理结果的方式,使设备域客户端作为模拟用户域的客户端的模拟终端,实现对远程设备的调试和测试的闭环,以便于设备域客户端能够在后续将设备处理结果同步至用户域的客户端。

于本实施例中,基于DMA或零拷贝技术创建设备模拟网元,实现设备模拟网元转发指令信息和设备反馈信息,设备域服务端和设备域客户端部署在设备模拟网元中。基于DMA或零拷贝技术创建用户模拟网元,实现用户模拟网元转发指令信息和设备反馈信息。

DMA(DirectMemoryAccess,直接存储器访问)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。

零复制(英语:Zero-copy;也译零拷贝)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。

示例性地,设备模拟网元和用户模拟网元是运行在支持DMA(DirectMemoryAccess)和SG-DMA(TheScatter-GatherDirectMemoryAccess)的硬件上,通过软件编码技术(mmap+write,sendFile,sendFile+gather,splice等)生成的计算机模块。

图6为本申请实施例提供的一种设备模拟网元的结构示意图。如图6所示,设备模拟网元,包括:设备域客户端61和设备域服务端62;

设备域客户端61,用于接收用户域发送的指令信息;其中,指令信息是用于对远程设备进行调试的命令提示符;

设备域服务端62,用于将指令信息发送至位于设备域的远程设备,及接收远程设备根据指令信息发送的设备反馈信息;其中,设备反馈信息记载了设备接收状态和设备处理结果;设备接收状态表征远程设备已接收到指令信息;设备处理结果是远程设备运行指令信息生成的结果信息。

优选的,设备域服务端52还用于向用户域发送域接收状态;其中,域接收状态表征设备模拟网元已接收到指令信息;

设备域服务端62还用于向用户域发送设备处理结果。

优选的,图7为本申请实施例提供的设备域客户端的结构示意图。

如图7所示,设备域客户端61包括:第一接收单元71和第一发送单元72

第一接收单元71,用于接收用户域发送的指令信息;

第一发送单元72,用于将指令信息发送至设备域服务端;

第一接收单元71,还用于接收设备域服务端根据指令信息发送的服务端反馈信息;其中,服务端反馈信息中记载了服务端接收状态;服务端接收状态表征设备域服务端已接收到指令信息。

优选的,图8为本申请实施例提供的设备域服务端的结构示意图。

如图7所示,设备域服务端62包括:第二接收单元81和第二发送单元82;

第二接收单元81,用于接收设备域客户端发送的指令信息;

第二发送单元82,用于将指令信息发送至远程设备;

第二接收单元81,还用于接收远程设备根据指令信息发送设备反馈信息;

第二发送单元82,还用于根据设备反馈信息向设备域客户端发送设备处理结果。

图9为本申请实施例提供的一种用户域的结构示意图。如图9所示,该用户域包括:用户模拟网元91;

用户模拟网元91,用于将指令信息发送至设备域中的设备模拟网元;其中,指令信息用于指示设备模拟网元将指令信息发送至位于设备域的远程设备,及接收远程设备根据指令信息发送的设备反馈信息;其中,指令信息是用于对远程设备进行调试的命令提示符;设备反馈信息记载了设备接收状态和设备处理结果;设备接收状态表征远程设备已接收到指令信息;设备处理结果是远程设备运行指令信息生成的结果信息;设备模拟网元包括根据设备域中的远程设备在设备域中建立的模拟服务器。

优选的,用户模拟网元91,还用于接收位于用户域的客户端92发送的指令信息;

用户模拟网元91,还用于根据指令信息向客户端92发送用户反馈信息;其中,用户反馈信息记载了用户接收状态和用户处理结果;用户接收状态表征用户模拟网元91已接收到指令信息;用户处理结果是用户模拟网元91根据指令信息生成的结果信息。

图10为本申请实施例提供的一种设备模拟网元的结构示意图。如图10所示,该网设备模拟网元可以用于执行图4、图6、图7和图8所示实施例中终端设备的动作或步骤,该设备模拟网元包括:设备域客户端101、设备域服务端102、通信接口103、存储器104和处理器105。

处理器105调用该程序,执行以上方法实施例的操作,以实现图10所示的各个单元和模块。其中,处理器105也可以为控制器,图10中表示为“控制器/处理器105”。设备域服务端102和设备域客户端101用于支持设备模拟网元与上述实施例中的用户域、用户域中的用户模拟网元以及远程设备之间收发信息,以及支持设备模拟网元与上述实施例中的用户域、用户域中的用户模拟网元以及远程设备之间进行无线电通信。处理器105执行各种用于与设备域客户端101、设备域服务端102、通信接口103、存储器104通信的功能。

进一步的,设备模拟网元还可以包括存储器104,存储器104用于存储设备模拟网元的程序代码和数据。此外,设备模拟网元还可以包括通信接口103。通信接口103用于支持设备模拟网元与其他网络实体、终端设备进行通信。

处理器105例如中央处理器(centralprocessingunit,CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路,或,一个或多个微处理器,或,一个或者多个现场可编程门阵列等。存储器104可以是一个存储器,也可以是多个存储元件的统称。

图11为本申请实施例提供的一种用户域的结构示意图。如图11所示,该网用户域可以用于执行图5和图9所示实施例中终端设备的动作或步骤,该用户域包括:用户模拟网元111、通信接口112、存储器113和处理器114。

处理器114调用该程序,执行以上方法实施例的操作,以实现图11所示的各个单元和模块。其中,处理器114也可以为控制器,图11中表示为“控制器/处理器114”。用户模拟网元111用于支持用户域与上述实施例中的设备模拟网元和远程设备之间收发信息,以及支持用户域与上述实施例中的设备模拟网元和远程设备之间进行无线电通信。处理器114执行各种用于与用户模拟网元111、通信接口112、存储器113通信的功能。

进一步的,用户域还可以包括存储器113,存储器113用于存储用户域的程序代码和数据。此外,用户域还可以包括通信接口112。通信接口112用于支持用户域与其他网络实体、终端设备进行通信。

处理器114例如中央处理器(centralprocessingunit,CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路,或,一个或多个微处理器,或,一个或者多个现场可编程门阵列等。存储器113可以是一个存储器,也可以是多个存储元件的统称。

本申请实施例提供了一种通信系统,该通信系统包括图10所提供的设备模拟网元,图11所提供的用户域。

本申请实施例提供了一种计算机可读存储介质,包括指令或程序,当其在计算机上运行时,使得计算机执行上述图4中用户域和设备模拟网元的各步骤。

本申请实施例提供了一种计算机可读存储介质,包括指令或程序,当其在计算机上运行时,使得计算机执行上述图5中用户模拟网元、设备域客户端和设备域服务端的各步骤。

本申请实施例提供了一种计算机程序产品,包括程序代码,当计算机运行程序代码时,用于执行上述图4所示实施例中设备模拟网元的各步骤。

本申请实施例提供了一种计算机程序产品,包括程序代码,当计算机运行程序代码时,用于执行上述图5所示实施例中设备模拟网元中的设备域客户端和设备域服务端的各步骤。

本申请实施例提供了一种计算机程序产品,包括程序代码,当计算机运行程序代码时,用于执行上述图5所示实施例中用户模拟网元的各步骤。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(digitalsubscriberline,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solidstatedisk,SSD))等。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种电线电缆同心调试辅助设备及其调试方法
  • 一种3D打印设备工艺参数调试方法
  • 一种程序调试方法、装置、设备及可读存储介质
  • 一种用于风力发电机组主机调试的模拟变桨调试设备
  • 燃气设备的调试方法、燃气设备的调试装置及调试设备
技术分类

06120115930920