CN105493036A - 用于拦截外围设备与软件应用之间的信号的数据处理方法和系统 - Google Patents
用于拦截外围设备与软件应用之间的信号的数据处理方法和系统 Download PDFInfo
- Publication number
- CN105493036A CN105493036A CN201480046963.3A CN201480046963A CN105493036A CN 105493036 A CN105493036 A CN 105493036A CN 201480046963 A CN201480046963 A CN 201480046963A CN 105493036 A CN105493036 A CN 105493036A
- Authority
- CN
- China
- Prior art keywords
- data processing
- signal
- peripherals
- computing system
- processing method
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种数据处理方法,该方法包括以下步骤:拦截在通信通道中的信号,该通信通道在计算系统的预定义外围设备与在该计算系统上执行的应用之间,并且处理该信号并且响应于该处理而执行一个或多个动作。至少一个动作影响该通信通道内的一个或多个信号的向前传输。还描述了一种数据处理系统。
Description
技术领域
本发明是数据处理领域。具体地,但不排他地,本发明涉及在计算系统中拦截和处理来自硬件设备的数据。
背景技术
将功能添加到部署的技术架构中经常是令人希望的。然而,引进新功能经常需要对已经部署的技术进行实质性修改。修改通常不是令人希望的,因为会在互操作技术中引进意想不到的效果并且在复杂技术中增加出错的可能性。
改善功能的一个具有挑战的领域是零售行业,尤其是关于其常常由垄断技术提供者安装和运行的销售点终端。
相反的,零售业是将会从新的流程中派生出巨大优势的领域。例如,新形式的优惠券已经吸引了消费者的兴趣和参与度。零售商想要在他们的商店中实现新的并且智能的流程来管理优惠券。
因此,尤其是在零售中,期望将附加功能,从而部署有待添加至遗留计算系统的新流程。
随着优惠券发放,若干改善将有效地改进现有零售系统的功能。例如,可能期望将折扣应用于篮子中的具体物品或将其他复杂的规则应用于折扣,或者对于优惠券来说,触发对终端操作者的特定提示可能是有用的。
为了实现这些改善,则需要容易部署到遗留环境中的一种改进的数据处理方法和系统。
本发明的目的是提供一种克服现有技术的缺点或至少提供有用的替代方案的数据处理系统。
发明内容
根据本发明的第一方面,提供了一种数据处理方法,包括:拦截在一个通信通道中的信号,该通信通道在一个计算系统的预定义外围设备与在该计算系统上执行的一个应用之间;并且处理该信号并且响应于该处理而执行一个或多个动作;
其中,至少一个动作影响该通信通道内的一个或多个信号的向前传输。
根据本发明的另一方面,提供了一种数据处理系统,包括:一个拦截器模块,该拦截器模块被配置成用于拦截在一个通信通道中的多个信号,该通信通道在一个计算系统的预定义外围设备与在该计算系统上执行的一个应用之间;以及一个处理器,该处理器被配置成用于处理这些信号并且响应于该处理而执行一个或多个动作;其中,这些动作中的至少一个动作影响该通信通道内的一个或多个信号的向前传输。
在权利要求书中描述了本发明的其他方面。
附图说明
现在将仅通过举例并且参考附图描述本发明的实施例,在附图中:
图1:示出了根据本发明的实施例的数据处理系统;
图2:示出了根据本发明的实施例的另一个数据处理系统;
图3:示出了根据本发明的实施例的通信架构;
图4:示出了根据本发明的实施例的另一个通信架构;
图5:示出了展示根据本发明的实施例的方法的流程图;
图6:示出了展示在本发明实施例中使用的信号的消息格式的框图;
图7:示出了展示根据本发明实施例的操作系统内的软件拦截器模块的框图;
图8:示出了展示根据本发明实施例的方法中消息流的顺序图;并且
图9:示出了根据本发明的实施例的数据处理系统。
具体实施方式
本发明提供了一种数据处理方法。
发明人已经发现能够通过拦截在POS系统与其外围设备之间的通信通道中的信号来将附加功能添加到遗留POS系统中,而不需要对那些遗留系统做出实质性改变。
例如,当条形码扫描仪读取优惠券时,该条形码扫描仪将编码该优惠券条码的消息传输给在POS终端上执行的POS应用。本发明的实现方式能够拦截那条消息,并且通过将该数据发送给中心服务器或通过生成不同消息以发送给POS应用从而将该消息用于提供附加优惠券发放功能。
发明人已经发现本发明产生将新数据流容纳在现有计算系统中的能力,不需要改变利用数据流的应用软件、在一些情况下提供数据流和甚至任何现有数据流的外围设备。由于本发明,这些改进的计算系统能够接收发送给/来自外围设备的信号内的意外数据并且利用这项数据,而该意外数据不会引起系统或外围设备出错或故障。
在图1中,示出了根据本发明的实施例的数据处理系统100。
示出了计算系统101。计算系统101被配置成用于执行软件应用。计算系统101可以是销售点(POS)终端,该销售点终端被配置成执行电子销售点(EPOS)软件应用。
计算系统101包括处理器和存储器。计算系统101还可以包括显示器和用于与用户互动的用户输入端。
示出了在拦截器装置102中包含的拦截器模块。拦截器装置102(例如)通过计算系统101上的端口连接到计算系统101上。该连接允许信号在拦截器装置102与计算系统101之间被传输和接收。
拦截器装置102包括处理器和存储器。拦截器装置102可以包括显示器和用于与用户互动的用户输入端。
示出了外围设备103。外围设备103可以是输入硬件设备,如条形码扫描仪、键盘、或用于加油站前区的燃油指示器、或任何其他类型的输入设备。
在一个实施例中,外围设备103可以是输出外围设备,如打印机、收银柜、或用于销售点终端的顾客显示器极。在这种实施例中,拦截器装置102可以被配置成拦截从应用软件传输到外围设备103的信号。
外围设备103连接到拦截器装置102上,这样使得能够在拦截器装置102与外围设备103之间传输和接收信号。例如,外围设备103可以经由USB连接与拦截器装置102连接。将认识到,可以使用任何其他类型的连接,包括串联或并联连接、从一种通信类型到另一种通信类型的适配器(如USB连接器串口)、无线连接(如wifi或蓝牙)、或专属连接(如Apple的闪电连接器)。
拦截器装置102可以被配置成启动外围设备103与在计算系统101上执行的应用之间的通信通道。拦截器装置102可以进一步被配置成用于拦截经由外围设备103与在计算系统101上执行的应用之间的通信通道传输的信号。
拦截器装置102可以进一步被配置成用于从另外的外围设备接收和/或向其传输信号。另外的外围设备可以被配置成不直接与应用软件接口连接。例如,该应用软件可以是遗留应用软件并且这些外围设备可以是新的外围设备。这些另外的外围设备可以包括光扫描仪、网络摄像头、RFID阅读器、NFC阅读器和交互式显示器。
拦截器装置102可以进一步被配置成经由跨网络(如经由以太网或wifi)的通信通道从外部服务器接收和/或向其传输信号。
拦截器装置102可以被配置成处理那些信号并且基于那项处理执行动作。
将关于图5描述处理的更多细节。
在一个实施例中,拦截器装置102可被配置执行的动作包括阻挡从外围设备103到计算系统101的信号,用一个或多个不同信号替代该信号,和/或将该信号或与该信号相关的数据传达给外部服务器。
在图2中,示出了根据本发明的另一个实施例的数据处理系统200。
示出了计算系统201。计算系统201被配置成执行软件应用201a。计算系统201可以是销售点(POS)终端,该销售点终端被配置成执行电子销售点(EPOS)软件应用。
计算系统201包括处理器和存储器。计算系统201还可以包括显示器和用于与用户互动的用户输入端。
计算系统201可以被进一步配置成用于执行拦截器模块202。
示出了外围设备203。外围设备203可以是输入硬件设备,如条形码扫描仪、键盘、或用于加油站前区的燃油指示器、或任何其他类型的输入设备。
外围设备203可连接到计算系统201上,这样使得能够在拦截器装置203与计算系统201之间传输和接收信号。计算系统201进一步被配置成经由操作系统和设备驱动器处理、拦截那些信号并且将其中继到在计算系统201上执行的应用软件201a。
拦截器装置202可以被配置成拦截从外围设备203传输到应用软件201a的信号。
在一个实施例中,外围设备203可以是输出外围设备,如打印机、收银柜、或用于销售点终端的顾客显示器极。在这种实施例中,拦截器模块202可以被配置成拦截从该应用软件传输到外围设备203的信号。
拦截器模块202可以被配置成从应用软件201a的角度来替代该设备驱动器,这样使得到达和来自该应用软件的信号路经拦截器模块202到达和来自该设备驱动器。
拦截器模块202可以进一步被配置成用于从另外的外围设备接收和/或向其传输信号。另外的外围设备可以被配置成不直接与应用软件接口连接。例如,应用软件201a可以是遗留应用软件并且这些外围设备可以是新的外围设备。这些另外的外围设备可以包括光扫描仪、网络摄像头、RFID阅读器、NFC阅读器和交互式显示器。
拦截器模块202可以进一步被配置成经由跨网络(如经由以太网或wifi)的通信通道从外部服务器接收和/或向其传输信号。
拦截器模块202可以被配置成用于处理这些信号并且基于该处理执行动作。
下文将特别参考图5描述处理的更多细节。
在一个实施例中,拦截器模块202可被配置执行的动作包括阻挡从外围设备203到应用软件201a的信号,用一个或多个不同信号替代或增大该信号,以及/或将该信号或与该信号相关的数据传达给外部服务器。
在图3中,示出了根据本发明的实施例的数据处理系统在网络架构内的示例性部署。
示出了关于图1或2所描述的数据处理系统300。
数据处理系统300可进一步被配置成经由网络302与服务器301通信。
在图4中,示出了根据本发明的实施例的数据处理系统在网络架构内的替代性示例部署。
示出了关于图1或2所描述的多个数据处理系统400、401、和402。
数据处理系统400、401、和402可连接到网络403上。网络403可以经由网关405连接到第二网络404上。
数据处理系统400、401、和402可进一步被配置成经由第一网络403、网关405和第二网络404与服务器406进行通信。
将认识到,可以设想数据处理系统的替代性部署。例如,通过云计算架构,可将功能分布在多个设备或服务器之中,这些设备或服务器可以通过各种网络和通信配置互连。
在图5中,示出了根据本发明的实施例的方法500。
在步骤501,通过拦截器模块从外围设备接收信号。这些信号可以与由外围设备捕获的数据相关。例如,外围设备可以捕获并且编码打印的条形码的条形码数据。
在一个实施例中,替代地,通过该拦截器模块接收从该应用到外围设备的信号。这些信号可以与旨在该外围设备上输出的数据相关。例如,外围设备可以是静止打印机。
在步骤502,该拦截器模块处理这些信号。
在一个实施例中,该拦截器模块可捕获与这些信号相关的所有数据,而不是将该这些数据继续转发给该应用软件。例如,其可捕获在具体会话(如特定顾客会话)内扫描的所有条形码。该拦截器模块然后能够建立顾客购买的一“篮子”产品。一个或多个条形码可以不与这类产品相关,而是与用于(例如)折扣的优惠券相关。该拦截器模块能够根据规则处理捕获的产品信息以在应用折扣之前确定是否满足针对优惠券限定的条件。为了应用折扣,拦截器模块可以允许与优惠券相关的信号向前传输到应用软件,或者拦截器模块可以生成合并伪条形码的特定信号,该应用软件将把该伪条形码解释为向前传输到应用软件的打折金额。在一个实施例中,可以不需要应用特定优惠券来激活折扣,而是,如果符合规则,篮子本身中的内容可以具有激活折扣的资格。在这个实施例中,“优惠券”可以识别顾客并且那位特定顾客可以有资格打折。通过查找远程服务器可以验证顾客的身份和/或验证合格性。
在一个实施例中,拦截器模块可以作为处理的一部分,从外部服务器请求另外的信息。数据处理系统可以与外部服务器进行通信以检索此信息。例如,拦截器模块可以请求外部服务器在应用优惠券之前先验证优惠券(从信号中提取出来)。
在一个实施例中,拦截器模块可以作为处理的一部分,生成对计算系统操作者的提示的显示。可以在计算系统的显示器上显示该提示,或者可以在连接到(例如)拦截器装置上的外部显示器上显示该提示。操作者对于该提示的响应可以由拦截器模块接收,并且确定是否应该应用优惠券或折扣。
在步骤503,该拦截器模块执行由该处理引起的一个或多个动作。
这些动作可以包括将信号转发至应用软件,捕获该信号,或将信息传输至外部服务器。
优选地,这些动作包括至少一个动作,该至少一个动作影响至少一个信号在通信通道中的向前传输,如在转发之前先修改该信号,阻挡该信号,生成一个或多个新信号用于向前传输,和/或在等待对提示的响应时延迟该信号的传输。
在一个实施例中,该拦截器模块修改从该应用软件拦截的信号以替换数据或在信号中插入数据。例如,当信号是用来被静止打印机接收时,原始信号可以包含模板文本;并且拦截器模块可以用新文本代替该模块文本。
图6示出了本发明的一个实施例中在应用软件与外围设备之间传达的信号的格式。
在那个图中:
PID=识别被发送的包的类型的包ID;
ADDR=包旨在用于的设备的地址字段;
ENDP=端点;
CRC=循环冗余校验;
并且EOP=包结束。
对于输入外围设备,令牌包600从应用软件传输到拦截器模块并且接着从拦截器模块传输到输入外围设备。
响应于令牌包600的接收,构建数据包601并且将其从输入外围设备发送到拦截器模块并且接着从拦截器模块发送到应用软件。
响应于数据包601的接收,构建状态包602并且将其从应用软件发送到拦截器模块并且接着从拦截器模块发送到输入外围设备。
当外围设备是输出外围设备时,逆转该过程。
现在将参考图7来描述根据本发明实施例的软件拦截器模块700。
将关于在该计算系统上执行的软件拦截器模块700的使用并且关于改善计算系统的使用来描述该方法,该计算系统执行销售点(POS)软件应用701。
软件拦截器模块700在操作系统级被安装在同一设备上(计算系统),该设备托管外围设备703的驱动器软件702。
创建和安装软件拦截器模块700:
1.创建软件对象‘楔’704,其向POS应用701呈现与原始外围设备类705相同的接口。
2.POS软件701被配置成加载楔对象704,而不是加载原始类705。
3.对象‘楔’704进而加载原始外围驱动器类705。
以下描述是针对网络用POS,但是随着合适的修改,用一个对象的注册代替另一个的发明将同其他外围设备驱动器标准(如OPOS和JPOS)一样良好地工作。
首先,创建软件对象704,这向POS呈现与原始条扫描仪类705相同的接口。在网络用POS中,这些对象被称作服务对象或SO。然后,POS软件701必须被配置成加载所创建的SO704,替代原始类705。这如何发生将取决于客户端软件701。例如,如果客户端软件701具有包含待加载SO的名称的配置文件,那么这可以替代地变成为加载楔704。如果这样的配置文件不可用并且直接通过名称加载SO705,那么可以给出与原始705名称相同的替换对象704并且在该文件编排系统中将其拷贝到其位置上,原始705被移动到由楔704手动待加载的已知位置旁。
网络用POS服务对象浏览器对象可以用于检索可用SO的列表,可根据它们表示的设备类型来查询该列表。注册表项包含表示服务对象二进制驻存在的目录的值。这被浏览器用来找出SO。该楔对象的目录被添加到这个表项上。存在于网络用POS中的机制重新定义与SO相关联的硬件设备,并且这可以用于在安装时动态地将楔SO与具体硬件设备ID相链接。编写配置文件,该配置文件将硬件ID映射到具体SO的名称,并且该配置文件被放置在件夹中,该文件夹被添加到另一个注册表项中供网络用POS使用以定位这种配置文件。在设备安装时,网络用POS将加载任何其发现的配置文件并且随着引用硬件ID被打开,动态地使用其中包含的映射来加载用于该设备的适当的SO。待替换的硬件ID能够从设备的硬件管理器公开的元数据中提取出来。
可以创建楔SO704,这样使得其完全实现被拦截的类层次。例如,网络用POS标准定义了扫描仪的类别,该类别在其最顶级具有被称为扫描仪基准的类别。这进而从多个其他类别继承,为了维持继承层次和类别的多态性质,所有类别都能够被实现。
在实例化时,应该创建原始类705的实例并且在楔对象704的使用期内适用。对于该层次中每个公共可用方法,首先调用捕获的对象705上的匹配方法代替该实现方式以给出简单的传递实现方式。
典型地,当新数据到达时,事件发生。起源于原始类705的任何事件能够以类似类地超载匹配楔事件处理器。
一旦这个过程完成,当POS701调用接口方法时,因此其调用了楔704上相关联的方法,并且当新数据触发了事件时,其以类似方式被楔704处理。只要楔对象704简单地传递这些方法和事件,POS软件701和外围设备驱动器706将会好像楔对象704不存在一样操作。
楔704可以进一步包括处理逻辑以将该方法和事件数据重定向到其他软件模块707至710从而处理所接收到的数据,并且基于来自那些模块的指令,替换、抛弃传播到/来自外围设备703的原始数据或将新数据注入到其中。
现在将参考图8来描述示出了根据本发明实施例的数据传输系统内的消息流的顺序图。
由条形码扫描仪来扫描条形码,并且在步骤800,将数据发送到电子销售点(EPOS)终端的应用软件。
在扫描顾客的一系列商品时,条形码可以被呈现用于扫描。该系列商品、任何优惠券、标识符和付款令牌将被称为篮子。
拦截器模块拦截数据,并且在步骤801,将数据发送到篮子建立器和评估器模块。
在一个实施例中,如在步骤802,如果篮子建立器和评估器模块没有及时将指令返回给拦截器模块,则拦截器模块将数据直接转发给EPOS。
在步骤803,篮子建立器和评估器模块将在该数据中识别出的任何商品添加到其追踪顾客的篮子中。
在步骤804,接着,该篮子建立器和评估器模块可以使用来自远程服务器的数据提出查找请求。例如,如果该数据与已呈现的优惠券相关,而不是与具体商品相关,则该篮子建立器和评估器可能需要验证该优惠券是否有效。
在步骤805,该篮子建立器和评估器模块为顾客评估当前的篮子以确定该篮子中的商品是否有参加具体活动(例如,折扣)的资格。
在步骤805,在应用活动之前,该篮子建立器和评估器模块可以提示EPOS使用者/操作者的输入。例如,可能存在需要使用者验证的本地条件(例如,顾客年龄超过65岁或是女性等)。例如,关于已呈现的优惠券或目前生效的特定打折,需要这些本地条件。可替代地,该提示可以通知EPOS操作者优惠券好像无效并且给予他们接受或拒绝该优惠券的选择;或者该提示可以请求一次性CAN(优惠券认证号)保护优惠券的代码,顾客或操作者输入该代码(接着检查该代码之前是否使用过)。
在这个过程中,篮子建立器和评估器模块可以提示在不同时间的输入。
然后,在步骤807,该篮子建立器和评估器模块可以基于该篮子的构成、任何已呈现优惠券的有效性和所需元素的验证中的一项或多项,生成针对拦截器模块的指令。
这些指令可引起拦截器模块执行以下一项或多项:将数据无变化地转发给EPOS(如在步骤808),修改数据并且将其转发给EPOS,或者生成并且发送数据到EPOS以触发EPOS已知的动作(例如,应用指定金额或百分比的折扣),如在步骤809。
例如,当在“第二件50%折扣”中扫描两个物品时,表示第二个物品的扫描条形码的数据可以被传输给EPOS并且表示应用50%折扣指令的数据可以被传输给EPOS。
尽管图8示出了条形码扫描仪作为条形码扫描的来源,但拦截器模块同样能够拦截来自其他外围设备的数据供应,其他外围设备包括标准EPOS外围设备(如收银柜、收据打印机)和专属外围设备(在专属外围设备情况下,数据不能在没有修改和替换时被直接转发给EPOS,因为EPOS未知该外围设备)。
由篮子建立器和评估器模块返回到拦截器的指令可以是多个指令。因此,一次实际条码扫描能够产生多个注入条形码(例如,触发正确的折扣金额)。
拦截器模块可以是基于消息传送相同的硬件或软件。
现在将参考图9来描述一种数据处理系统,该数据处理系统展示了根据本发明实施例的在拦截器装置中的拦截器模块。
该拦截器装置可以包括在通信枢纽900内的或在附接的交互式显示器(显示器和输入端)901内的处理器和存储器。该拦截器装置可以执行该拦截器模块。该交互式显示器可以被配置成显示拦截器装置生成的对EPOS终端用户的提示并且接收来自用户的响应。这些响应可以用于确定拦截器装置执行的动作。
路由通过枢纽900的通信可以被拦截器模块拦截。
通信枢纽900可以具有USB连接或其他通信输入。适配器可以用于将非USB输入/输出连接到USB连接上。
输入和输入外围设备902至907可以连接到通信枢纽900上。
通信枢纽900可以通过一个或多个通信连接连接到电子销售点(POS)终端908上。例如,POS终端908可以利用行业标准输入/输出连接,如“扫描仪入”、“打印机出”、和“收银柜出”。
通信枢纽900可以包括wifi加密狗909和/或以太网连接910用于和外部服务器911进行通信。
在标准USB输入设备(如条形码扫描仪)情况下,拦截器模块可以(在大多数情况下)仅仅在POS(充当USB主机)与外围设备(USB设备)之间传递这些USB包。
然而,当拦截器模块被配置成(例如)提示对由条形码扫描仪扫描的优惠券的验证时,行为将发生变化。当该拦截器模块接收来自该POS的令牌包请求任何数据时,该拦截器模块将返回指示无可用数据的NAK状态包。这将一直重复发生,直到在此期间该用户做出了该提示的动作,将没有令牌包被传送给该POS输入外围设备。如果对该提示响应的结果是允许该优惠券,则来自该POS的下一个令牌包将引起对应于返回的该优惠券条形码的数据包(否则,抛弃该优惠券数据包)。假设没有其他配置能阻止这种情况,可以接着恢复在外围设备与POS之间的正常通信。
本发明一些实施例的潜在优势在于能够将附加功能添加到在具有外部外围设备的计算系统上的应用上,而不需要修改该应用。因此,根据本发明的数据处理系统产生改善的计算系统,该计算系统能够执行遗留软件同时保持可靠。
虽然已经通过其实施例的描述说明了本发明,并且虽然已经相当详细地描述了实施例,但是申请人并不意在将所附权利要求书的范围限定或者以任何方式限制于这些细节。本领域技术人员将易于想到附加优势和修改。因此,本发明在其较宽的方面并不限于示出和描述的特定细节、代表性装置和方法以及说明性示例。因此,可以在不偏离申请人的总体发明概念的精神或范围的情况下偏离这些细节。
Claims (23)
1.一种数据处理方法,包括:
a)拦截在一个通信通道中的信号,该通信通道在一个计算系统的预定义外围设备与在该计算系统上执行的一个应用之间;并且
b)处理该信号并且响应于该处理而执行一个或多个动作;
其中,至少一个动作影响该通信通道内的一个或多个信号的向前传输。
2.如权利要求1所述的数据处理方法,进一步包括首先在该预定义外围设备与该应用之间构建一个通信通道的步骤。
3.如权利要求2所述的数据处理方法,其中,该通信通道是经过创建用于该预定义外围设备的一个替换驱动器而构建的。
4.如任一前述权利要求所述的数据处理方法,其中,该外围设备是一个输入设备。
5.如任一前述权利要求所述的数据处理方法,该信号包括以一个定义的消息格式构建的单条消息。
6.如任一前述权利要求所述的数据处理方法,其中,该一个或多个动作包括修改该信号并且将该修改后的信号注入到该通信通道中以供该应用接收。
7.如任一前述权利要求所述的数据处理方法,其中,该一个或多个动作包括将该信号从该通信通道中移除,这样使得该信号不被该应用接收。
8.如任一前述权利要求所述的数据处理方法,其中,该一个或多个动作包括将一个或多个另外的信号注入到该通信通道中以供该应用接收。
9.如任一前述权利要求所述的数据处理方法,进一步包括请求该计算系统的一个用户的输入的步骤,并且其中,根据从该用户接收到的输入来处理该信号。
10.如任一前述权利要求所述的数据处理方法,进一步包括从另外一个外围设备接收一个不同信号的步骤,并且其中,根据该不同信号处理该信号,并且其中,该另外的外围设备不被该应用直接识别出。
11.如任一前述权利要求所述的数据处理方法,其中,这些信号是在操作系统级被拦截的。
12.如任一前述权利要求所述的数据处理方法,其中,这些信号是被一个中间硬件设备拦截的,该预定义外围设备连接到该中间硬件设备中并且该中间硬件设备进而连接到该计算系统上。
13.如任一前述权利要求所述的数据处理方法,其中,该处理至少部分是根据一个存储的指令集而进行的。
14.如任一前述权利要求所述的数据处理方法,其中,该处理至少部分是在一个外部服务器的协助下进行的。
15.如任一前述权利要求所述的数据处理方法,其中,该预定义外围设备是一个条形码阅读器。
16.如任一前述权利要求所述的数据处理方法,其中,该应用软件是在一个销售点终端内执行的一个电子销售点软件。
17.一种数据处理系统,包括:
一个拦截器模块,该拦截器模块被配置成用于拦截在一个通信通道中的多个信号,该通信通道在一个计算系统的预定义外围设备与在该计算系统上执行的一个应用之间;以及
一个处理器,该处理器被配置成用于处理这些被拦截的信号并且响应于该处理而执行一个或多个动作;其中,这些动作中的至少一个动作影响该通信通道内的一个或多个信号的向前传输。
18.如权利要求17所述的数据处理系统,进一步包括:
该计算系统;其中,该计算系统被配置成用于执行该拦截器模块。
19.如权利要求17所述的数据处理系统,进一步包括:
一个拦截器装置,该拦截器装置被配置成用于执行该拦截器模块。
20.如权利要求17至19中任一项所述的数据处理系统,进一步包括:
一个显示器,该显示器被配置成用于显示对该计算系统的一个用户的提示;以及
一个输入端,该输入端被配置成用于从该用户接收对这些提示的响应;其中,该处理器进一步被配置成用于生成这些提示的显示并且接收这些响应,并且其中,该一个或多个动作的执行至少部分取决于这些响应。
21.一种计算机程序,该计算机程序被配置成用于执行如权利要求1至16中任一项所述的方法。
19.一种计算机介质,该计算机介质被配置成用于存储如权利要求18所述的计算机程序。
22.如本文中参照附图所述的一种数据处理方法或系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1314733.5 | 2013-08-16 | ||
GBGB1314733.5A GB201314733D0 (en) | 2013-08-16 | 2013-08-16 | A data processing method and system |
PCT/GB2014/052501 WO2015022542A1 (en) | 2013-08-16 | 2014-08-14 | A data processing method and system for intercepting signals between a peripheral device and a software application |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105493036A true CN105493036A (zh) | 2016-04-13 |
Family
ID=49301842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480046963.3A Pending CN105493036A (zh) | 2013-08-16 | 2014-08-14 | 用于拦截外围设备与软件应用之间的信号的数据处理方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10203965B2 (zh) |
EP (1) | EP3033671A1 (zh) |
CN (1) | CN105493036A (zh) |
BR (1) | BR112016002907A2 (zh) |
CA (1) | CA2921482C (zh) |
GB (1) | GB201314733D0 (zh) |
WO (1) | WO2015022542A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584594A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种接收物联网设备数据的方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12001915B2 (en) * | 2021-06-09 | 2024-06-04 | Samsung Electronics Co., Ltd. | System and method for integrating barcode scanners with a wedge application |
CN114528027A (zh) * | 2022-01-25 | 2022-05-24 | 深圳市优易控软件有限公司 | 一种基于pc平台的智能装备响应时间提升方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845185A (zh) * | 2006-02-05 | 2006-10-11 | 杨杰 | 一种用于联机验证防伪的方法和系统 |
US20070229519A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Mirror driver notification of device independent bitmap drawing calls |
CN100426238C (zh) * | 2004-04-30 | 2008-10-15 | 微软公司 | Vex-虚拟扩展框架 |
CN101599068A (zh) * | 2009-07-09 | 2009-12-09 | 耿泉生 | 一种药品销售终端防伪查询绑定广告发布的方法和系统 |
CN102129637A (zh) * | 2011-01-18 | 2011-07-20 | 南京信息工程大学 | 基于安全机制的商品防伪方法 |
US20110184822A1 (en) * | 2010-01-22 | 2011-07-28 | Naviit, Inc. | Point of sale network router |
CN102446074A (zh) * | 2010-09-06 | 2012-05-09 | 精工爱普生株式会社 | 使用印刷数据的功能扩展方法、功能扩展装置以及记录介质 |
CN102567890A (zh) * | 2012-01-18 | 2012-07-11 | 张云 | 一种基于rfid技术的自动化智能鞋店 |
CN102842081A (zh) * | 2011-06-23 | 2012-12-26 | 上海易悠通信息科技有限公司 | 一种移动电话生成二维码并实现移动支付的方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8006243B2 (en) | 1999-12-07 | 2011-08-23 | International Business Machines Corporation | Method and apparatus for remote installation of network drivers and software |
US6360138B1 (en) | 2000-04-06 | 2002-03-19 | Dresser, Inc. | Pump and customer access terminal interface computer converter to convert traditional pump and customer access terminal protocols to high speed ethernet protocols |
FR2810426B1 (fr) * | 2000-06-16 | 2006-01-27 | Canon Kk | Dispositif et procede de controle d'acces de peripherique informatique |
US7621810B2 (en) * | 2001-02-27 | 2009-11-24 | Scientific Games International, Inc. | System and method for selling lottery game tickets through a point of sale system |
US7082598B1 (en) * | 2002-07-17 | 2006-07-25 | Vmware, Inc. | Dynamic driver substitution |
US7421710B2 (en) * | 2003-10-08 | 2008-09-02 | Lsi Corporation | System and method of creating virtual data paths using a multiple-path driver |
TW200529623A (en) * | 2004-01-14 | 2005-09-01 | Nec Corp | Communication encryption method, communication encryption system, terminal device, DNS server and program |
US20050257226A1 (en) | 2004-05-14 | 2005-11-17 | Microsoft Corporation | PnP functionality for unsupported devices |
JP4967266B2 (ja) | 2005-07-14 | 2012-07-04 | セイコーエプソン株式会社 | デバイス制御システム、及びデバイス制御処理方法 |
US20070050751A1 (en) | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Automatic interoperation with legacy POS service and control objects |
AU2007303531B2 (en) | 2006-09-29 | 2011-03-03 | Nomadix, Inc. | Systems and methods for injecting content |
US7891563B2 (en) * | 2007-05-17 | 2011-02-22 | Shift4 Corporation | Secure payment card transactions |
US8140637B2 (en) * | 2007-10-25 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Communicating chunks between devices |
US20090187847A1 (en) | 2008-01-18 | 2009-07-23 | Palm, Inc. | Operating System Providing Consistent Operations Across Multiple Input Devices |
WO2010006069A2 (en) * | 2008-07-08 | 2010-01-14 | Andre Arzumanyan | Transaction data capture device and system |
US8195987B2 (en) * | 2009-06-12 | 2012-06-05 | Microsoft Corporation | Hang recovery in software applications |
US9003429B2 (en) | 2009-09-23 | 2015-04-07 | Aliphcom | System and method of enabling additional functions or services of device by use of transparent gateway or proxy |
EP2510442B1 (en) * | 2009-12-08 | 2014-11-12 | Safend Ltd | System and method for secured backup of data |
US20110246284A1 (en) * | 2010-04-01 | 2011-10-06 | Gary Chaikin | Systems and Methods for Adding Functionality to Merchant Sales and Facilitating Data Collection. |
EP2558989A1 (en) * | 2010-04-13 | 2013-02-20 | Pranamesh Das | Secure and shareable payment system using trusted personal device |
US20120016856A1 (en) * | 2010-07-15 | 2012-01-19 | Google Inc | Content extractor |
US9519600B2 (en) * | 2011-03-04 | 2016-12-13 | Microsoft Technology Licensing, Llc | Driver shimming |
US9571952B2 (en) | 2011-04-22 | 2017-02-14 | Qualcomm Incorporatd | Offloading of data to wireless local area network |
GB2492751A (en) * | 2011-07-05 | 2013-01-16 | Edesix Ltd | Point of sale system with enhanced display capabilities |
US9911109B2 (en) * | 2011-07-14 | 2018-03-06 | Ecrebo Limited | Method of enhancing point-of-sale systems |
US20130304553A1 (en) * | 2012-05-09 | 2013-11-14 | Google Inc. | Point of sale offer redemptions |
US9405556B2 (en) * | 2012-06-28 | 2016-08-02 | Microsoft Technology Licensing, Llc | Dynamic addition and removal of operating system components |
-
2013
- 2013-08-16 GB GBGB1314733.5A patent/GB201314733D0/en not_active Ceased
-
2014
- 2014-08-14 CN CN201480046963.3A patent/CN105493036A/zh active Pending
- 2014-08-14 CA CA2921482A patent/CA2921482C/en active Active
- 2014-08-14 WO PCT/GB2014/052501 patent/WO2015022542A1/en active Application Filing
- 2014-08-14 US US14/912,276 patent/US10203965B2/en active Active
- 2014-08-14 EP EP14756107.0A patent/EP3033671A1/en not_active Ceased
- 2014-08-14 BR BR112016002907A patent/BR112016002907A2/pt not_active IP Right Cessation
-
2019
- 2019-01-02 US US16/237,928 patent/US10908921B2/en active Active
-
2020
- 2020-12-31 US US17/139,693 patent/US11487554B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100426238C (zh) * | 2004-04-30 | 2008-10-15 | 微软公司 | Vex-虚拟扩展框架 |
CN1845185A (zh) * | 2006-02-05 | 2006-10-11 | 杨杰 | 一种用于联机验证防伪的方法和系统 |
US20070229519A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Mirror driver notification of device independent bitmap drawing calls |
CN101599068A (zh) * | 2009-07-09 | 2009-12-09 | 耿泉生 | 一种药品销售终端防伪查询绑定广告发布的方法和系统 |
US20110184822A1 (en) * | 2010-01-22 | 2011-07-28 | Naviit, Inc. | Point of sale network router |
CN102446074A (zh) * | 2010-09-06 | 2012-05-09 | 精工爱普生株式会社 | 使用印刷数据的功能扩展方法、功能扩展装置以及记录介质 |
CN102129637A (zh) * | 2011-01-18 | 2011-07-20 | 南京信息工程大学 | 基于安全机制的商品防伪方法 |
CN102842081A (zh) * | 2011-06-23 | 2012-12-26 | 上海易悠通信息科技有限公司 | 一种移动电话生成二维码并实现移动支付的方法 |
CN102567890A (zh) * | 2012-01-18 | 2012-07-11 | 张云 | 一种基于rfid技术的自动化智能鞋店 |
Non-Patent Citations (4)
Title |
---|
于振荣,王洪学主编: "《实用条码技术手册》", 30 June 1994, 黑龙江科学技术出版社 * |
何守才主编: "《计算机机房工作实用大全》", 28 February 1998, 清华大学出版社 * |
张嗣瀛、王福利主编: "《2007中国控制与决策学术年会论文集》", 31 May 2007, 东北大学出版社 * |
陈晓平编著: "《条码印制技术》", 31 March 1995, 清华大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584594A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种接收物联网设备数据的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CA2921482C (en) | 2022-06-21 |
US10203965B2 (en) | 2019-02-12 |
US11487554B2 (en) | 2022-11-01 |
BR112016002907A2 (pt) | 2017-08-01 |
US20190272177A1 (en) | 2019-09-05 |
GB201314733D0 (en) | 2013-10-02 |
EP3033671A1 (en) | 2016-06-22 |
US10908921B2 (en) | 2021-02-02 |
WO2015022542A1 (en) | 2015-02-19 |
CA2921482A1 (en) | 2015-02-19 |
US20160202996A1 (en) | 2016-07-14 |
US20210124591A1 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104008474B (zh) | 一种数据处理方法和系统 | |
US20060261159A1 (en) | Devices and methods for monitoring transaction data from point-of-sale devices | |
US11487554B2 (en) | Data processing method and system for intercepting signals between a peripheral device and a software application | |
CN104574050A (zh) | 在线结算的方法、装置及系统 | |
CN105812394A (zh) | 一种新型云计算在跨境电商上的应用 | |
CN101599159A (zh) | 一种网络购物车的异步交互方法 | |
US10755255B2 (en) | Standardizing point of sale services and leveraging instances of the PLU data | |
CN106101179A (zh) | 资源处理方法、装置和系统 | |
CN111476638A (zh) | 处理订单的系统 | |
CN108023922A (zh) | 一种下发及设置配置数据的方法、装置及系统 | |
JP5126299B2 (ja) | 購入管理サーバ装置、そのプログラム、購入管理システム、購入管理方法 | |
CN106796552A (zh) | 处理装置以及数据处理方法 | |
CN107944862A (zh) | 基于交易前置平台的订单业务处理方法、装置及服务器 | |
CN104899715B (zh) | 一种信息处理方法、客户端及信息处理平台 | |
CN105474606A (zh) | 数据传输方法和系统 | |
CN206097179U (zh) | 一种便捷归类物流的网络销售系统 | |
CN106326266A (zh) | 数据交互处理方法及装置 | |
CN113643014B (zh) | 基于区块链的交易管理方法、装置、设备、介质和程序 | |
CN104852996B (zh) | 网络信息处理方法及装置 | |
CN102402745A (zh) | 一种基于sd卡的支付方法及装置 | |
CN105930751A (zh) | Ic卡读卡器及其指令处理方法、服务器、支付系统 | |
KR20170132969A (ko) | 이기종 데이터 통합을 위한 미디에이터 시스템 | |
CN109919554A (zh) | 罚没物品的管理方法、装置及电子设备 | |
CN101706908A (zh) | 一种零售业务的服务方法、装置及系统 | |
CN106911478A (zh) | 一种低耦合的收据信息采集控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160413 |
|
RJ01 | Rejection of invention patent application after publication |