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

用于硬件设备的模拟方法、模拟器、设备和介质与流程

2021-10-12 17:34:00 来源:中国专利 TAG:设备 模拟器 介质 用于 模拟


1.本技术涉及通信技术领域,可用于金融领域,具体涉及一种用于硬件设备的模拟方法、模拟器、设备、介质和程序产品。


背景技术:

2.目前银行内的部分业务流程会涉及多种硬件设备同时使用,例如刷卡器、密码器、高拍仪、打印机等,由于涉及到的硬件设备数量较多,在使用过程中常出现并发冲突。


技术实现要素:

3.本技术旨在至少解决现有技术中存在的技术问题之一。
4.为此,本技术的第一个目的在于提出一种用于硬件设备的模拟方法,可解决硬件设备之间的并发问题;
5.本技术的第二个目的在于提出一种模拟器,可承载上述的模拟方法;
6.本技术的第三个目的在于提出一种电子设备,设备内包括上述的模拟方法;
7.本技术的第四个目的在于提出一种计算机可读存储介质,介质内存储有上述的模拟方法;
8.本技术的第五个目的在于提出一种计算机程序产品,可执行上述的模拟方法。
9.为了达到上述目的,本技术的第一个方面提供了一种用于硬件设备的模拟方法,包括以下步骤:
10.获取硬件设备的信息,并将所述硬件设备的所述信息存储至设备信息表中;
11.采集硬件设备与终端的交互数据,并将采集到的所述交互数据存储至数据信息表中,其中,所述交互数据与所述硬件设备的信息形成映射关系;
12.主动修改所述交互数据,得到虚拟数据;
13.将所述虚拟数据以及所述硬件设备的信息发送至终端实现模拟通讯。
14.根据本技术的模拟方法,通过将交互数据主动修改的方式,用虚拟数据替代硬件设备与终端真实的交互数据,实现了与终端的模拟通讯,避免了在多个硬件设备同时使用过程中,出现并发冲突的情况。
15.进一步地,获取硬件设备的信息包括:唯一标识信息、配置信息和接口信息。
16.进一步地,所述交互数据与所述硬件设备的信息形成映射关系,包括:以所述唯一标识信息为主键,将所述配置信息和所述接口信息存储至设备信息表中、将采集到的所述交互数据存储至数据信息表中。
17.进一步地,所述接口信息包括:接口接收数据地址和接口发送数据地址。
18.本技术第二方面提供了一种模拟器,包括:获取模块,所述获取模块用于获取硬件设备的信息;采集模块,所述采集模块用于采集硬件设备与终端的交互数据;模拟交互模块,所述交互模块用于主动修改所述交互数据,得到虚拟数据,将所述虚拟数据发送至终端实现模拟通讯;存储模块,所述存储模块用于将所述硬件设备的所述信息存储至设备信息
表以及将采集到的所述交互数据存储至数据信息表。
19.本技术的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述模拟方法。
20.本技术的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述模拟方法。
21.本技术的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述模拟方法。
22.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
23.通过以下参照附图对本技术实施例的描述,本技术的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
24.图1示意性示出了根据本技术实施例的硬件设备和终端交互时的应用场景图;
25.图2示意性示出了根据本技术实施例的模拟方法的流程图;
26.图3示意性示出了根据本技术实施例的模拟器的结构框图;
27.图4示意性示出了根据本技术实施例的适于实现模拟方法的电子设备的方框图。
具体实施方式
28.以下,将参照附图来描述本技术的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本技术的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本技术实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本技术的概念。
29.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本技术。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
30.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
31.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
32.目前银行内的部分业务流程会涉及多种硬件设备同时使用,例如刷卡器、密码器、高拍仪、打印机等,由于涉及到的硬件设备数量较多,在使用过程中常出现并发冲突。在功能测试阶段可通过手工操作验证相关功能点,进入回归测试阶段,自动化测试是主要测试手段,然而目前自动化框架对物理外设兼容性不好,部分物理外设需要对实物进行手动操
作,且自动化测试部分涉及外设的场景无法实现。
33.本技术提供一种可模拟银行业务中常用的外部设备的模拟器工具,将硬件设备与银行系统之间的通讯数据信息进行分析,通过修改数据模拟实现硬件设备与银行系统的通讯。
34.需要说明的是,本技术用于硬件设备的模拟方法和模拟器可用于金融领域在硬件设备与银行系统的交互通讯上,也可用于除金融领域之外的任意领域,本技术对具体的应用领域不做限定。
35.图1示意性示出了根据本技术实施例的硬件设备与的应用场景图。
36.如图1所示,根据该实施例的应用场景100可以包括打印机设备与银行系统的数据交互。网络104用以在硬件设备101、102、103和银行系统中的服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
37.用户可以使用硬件设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。硬件设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
38.硬件设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
39.服务器105可以是提供各种服务的服务器,例如对用户利用硬件设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给硬件设备。
40.需要说明的是,本技术实施例中所提供的模拟方法一般可以由服务器105执行。相应地,本技术实施例中所提供的模拟器一般可以设置于服务器105中。本技术实施例中所提供的模拟方法也可以由不同于服务器105且能够与硬件设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本技术实施例中所提供的模拟器也可以设置于不同于服务器105且能够与硬件设备101、102、103和/或服务器105通信的服务器或服务器集群中。
41.应该理解,图1中的硬件设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的硬件设备、网络和服务器。
42.以下将基于图1描述的场景,通过图2对申请实施例的模拟方法进行详细描述。
43.根据本技术的一个实施例,提供了一种用于硬件设备的模拟方法,包括以下步骤:
44.由于硬件设备种类较多,且功能不同,首先需要先对外部的硬件设备进行学习,然后将重要的信息储存起来,具体体现在步骤s10

s20中。
45.在步骤s10,获取硬件设备的信息,并将硬件设备的信息存储至设备信息表中。
46.首先将模拟器与硬件设备连接,基于usb4java包中的usbhostmanager.getusbservices().getrootusb hub()找到对应的硬件设备,从而确认硬件设备具体是什么设备,然后利用usbviewer获取设备的信息,一般为tcp/ip协议、udp、rs232/485等。
47.具体的,硬件设备的信息包括:唯一标识信息、配置信息和接口信息。
48.可以理解为,利用usbviewer获取到与模拟器连接的硬件设备的唯一标识信息:
idvendor(厂商标识)和idproduct(产品标识);利用usbconfiguration获取硬件设备的配置信息;利用usbinterface和usbendpoint获取硬件设备的接口信息,接口信息包括与终端数据交互时所使用的接口信息,其中包括接口接收数据地址和接口发送数据地址。
49.将上述的唯一标示信息、配置信息、接口发送数据地址、接口接收数据地址等重要的硬件设备的信息存储至设备信息表中。
50.在得到并存储硬件设备的信息后,执行步骤s20。
51.在步骤s20,采集硬件设备与终端的交互数据,并将采集到的交互数据存储至数据信息表中,其中,交互数据与硬件设备的信息形成映射关系。
52.交互数据可以理解为硬件设备与终端在交互过程中,硬件设备向终端发送的指令以及硬件设备接收到的终端的指令,利用usbpipelistener获取该硬件设备与终端交互过程中的全部通信数据,以得到外部设备与银行系统数据交互所有的通讯信息。
53.在一个具体实施例中,终端可以理解成银行系统,硬件设备为打印机,银行系统向打印机发送打印指令,打印机接收银行系统发出的打印指令开始打印,在打印机完成打印后向银行系统发送打印完成的信号,以上过程形成打印机与银行系统的数据交互。
54.进一步地,交互数据与硬件设备的信息形成映射关系,其中包括以唯一标识信息为主键,将配置信息和接口信息存储至设备信息表中、将采集到的交互数据存储至数据信息表中。
55.在得到并存储该硬件设备与终端的所有交互数据后,执行步骤s30。
56.通过步骤s10

s20已经完成对连接的硬件设备的全部学习,之后将完成硬件设备功能的模拟,具体体现在步骤s30

s40中。
57.在步骤s30,主动修改交互数据,得到虚拟数据。
58.数据信息表中记录着该硬件设备与终端交互的所有交互数据,在使用模拟器的过程中,复制数据信息表中的数据,并通过手动修改的方式对存储的护具进行修改,模拟出一条新的数据,模拟出的新数据,由于是人为设定的因此称为虚拟数据。
59.在得到虚拟数据后,执行步骤s40。
60.在步骤s40,将虚拟数据以及硬件设备的信息发送至终端实现模拟通讯。
61.通过硬件设备信息表中的接口发送数据地址将虚拟数据发送至终端,模拟实现外部的硬件设备与终端之间的数据交互。
62.根据本技术的模拟方法,通过将交互数据主动修改的方式,用虚拟数据替代硬件设备与终端真实的交互数据,实现了与终端的模拟通讯,避免了在多个硬件设备同时使用过程中,出现并发冲突的情况。
63.基于上述模拟方法,本技术还提供了一种模拟器。以下将结合图3对该装置进行详细描述。
64.图3示意性示出了根据本技术实施例的模拟器的结构框图。
65.如图3所示,该实施例的模拟器200包括:获取模块210、采集模块220、模拟交互模块230以及存储模块240。
66.具体的,获取模块210用于获取硬件设备的信息,在一个实施例中,获取模块210可以用于执行前文描述的步骤s10,在此不再赘述。
67.采集模块220用于采集硬件设备与终端的交互数据,在一个实施例中,采集模块
220可以用于执行前文描述的步骤s20,在此不再赘述。
68.交互模块230用于主动修改交互数据,得到虚拟数据,将虚拟数据发送至终端实现模拟通讯,在一个实施例中,交互模块230可以用于执行前文描述的步骤s30和s40,在此不再赘述。
69.存储模块240用于将硬件设备的信息存储至设备信息表以及将采集到的交互数据存储至数据信息表,在一个实施例中,存储模块240可以用于执行前文描述的步骤s10和s20的存储部分,在此不再赘述。
70.根据本技术的模拟器,可将监控采集到的交互数据进行复制,然后通过手动主动修改的方式对存储的数据进行修改,从而得到虚拟的数据,使用虚拟数据代替硬件设备向终端发送信息,虚拟数据在模拟器中进行数据转换后发送至终端,模拟实现硬件设备与终端的通讯。
71.根据本技术的一个实施例,获取模块210、采集模块220、模拟交互模块230以及存储模块240中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本技术的实施例,获取模块210、采集模块220、模拟交互模块230以及存储模块240中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块210、采集模块220、模拟交互模块230以及存储模块240中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
72.图4示意性示出了根据本技术实施例的适于实现模拟方法的电子设备的方框图。
73.如图4所示,根据本技术实施例的电子设备300包括处理器301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。处理器301例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器301还可以包括用于缓存用途的板载存储器。处理器301可以包括用于执行根据本技术实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
74.在ram 303中,存储有电子设备300操作所需的各种程序和数据。处理器301、rom 302以及ram 303通过总线304彼此相连。处理器301通过执行rom 302和/或ram 303中的程序来执行根据本技术实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 302和ram 303以外的一个或多个存储器中。处理器301也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本技术实施例的方法流程的各种操作。
75.根据本技术的实施例,电子设备300还可以包括输入/输出(i/o)接口305,输入/输出(i/o)接口305也连接至总线304。电子设备300还可以包括连接至i/o接口305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信
处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
76.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本技术实施例的方法。
77.根据本技术的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本技术的实施例,计算机可读存储介质可以包括上文描述的rom 302和/或ram 303和/或rom 302和ram 303以外的一个或多个存储器。
78.本技术的实施例中还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本技术实施例中所提供的物品推荐方法。
79.在该计算机程序被处理器301执行时执行本技术实施例的系统/装置中限定的上述功能。根据本技术的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
80.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分309被下载和安装,和/或从可拆卸介质311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
81.在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被处理器301执行时,执行本技术实施例的系统中限定的上述功能。根据本技术的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
82.根据本技术的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例中提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
83.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
84.本领域技术人员可以理解,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本技术的范围。
85.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“实例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
86.以上对本技术的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本技术的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本技术的范围由所附权利要求及其等同物限定。不脱离本技术的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本技术的范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜