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

一种扫码方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 09:29:07


一种扫码方法、装置、计算机设备及存储介质

技术领域

本发明实施例涉及计算机应用技术领域,尤其涉及一种扫码方法、装置、计算机设备及存储介质。

背景技术

目前,二维码以及二维码的图像识别技术得到了迅速的发展和广泛应用,智能移动终端,如手机、平板电脑、智能销售终端(Point Of Sale,POS)机等,可以利用二维码扫描设备(如摄像头等)进行人脸识别、名片识别和二维码识别等功能。

现有技术中,智能移动终端针对二维码的扫码方法主要包括两种方式:第一、利用扫码枪扫描并识别二维码;第二、利用摄像头设备扫描并识别二维码。

发明人在实现本发明的过程中,发现现有技术存在如下缺陷:通过扫码枪扫描识别二维码,需要额外的扫码硬件设备,对于大规模应用二维码的网点来说,硬件设备成本太高。摄像头扫描识别二维码技术功能较为单一,不利于扫描设备的监控和运维管理;同时应用后端也无法采集扫描设备的相关数据,可扩展性低。

发明内容

本发明实施例提供一种扫码方法、装置、计算机设备及存储介质,以在不增加硬件设备成本的前提下,丰富二维码的扫码功能,并提高扫码应用的可扩展性。

第一方面,本发明实施例提供了一种扫码方法,应用于客户端扫码中间件,包括:

获取应用客户端发送的二维码扫码请求;

根据所述二维码扫码请求获取待识别二维码信息;

对所述待识别二维码信息进行解析以获取二维码的解析结果;

将所述二维码的解析结果发送至物联网平台。

第二方面,本发明实施例还提供了一种扫码装置,配置于客户端扫码中间件,包括:

二维码扫码请求发送模块,用于获取应用客户端发送的二维码扫码请求;

待识别二维码信息获取模块,用于根据所述二维码扫码请求获取待识别二维码信息;

二维码的解析结果获取模块,用于对所述待识别二维码信息进行解析以获取二维码的解析结果;

二维码的解析结果发送模块,用于将所述二维码的解析结果发送至物联网平台。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的扫码方法。

第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的扫码方法。

本发明实施例通过利用客户端扫描中间件获取应用客户端发送的二维码扫码请求,并根据获取的二维码扫码请求获取待识别二维码信息,以对待识别二维码信息进行解析获取二维码的解析结果,并将二维码的解析结果发送至物联网平台,解决现有二维码扫描方法存在的硬件设备成本高、扫码功能单一及可扩展性较低等问题,以在不增加硬件设备成本的前提下,丰富二维码的扫码功能,并提高扫码应用的可扩展性。

附图说明

图1是本发明实施例一提供的一种扫码方法的流程图;

图2是本发明实施例一提供的一种应用客户端的界面效果示意图;

图3是本发明实施例二提供的一种扫码方法的流程图;

图4是本发明实施例二提供对应中提示用户出具二维码的界面效果示意图;

图5为本发明实施例二提供的一种二维码扫码方法的流程示意图;

图6是本发明实施例三提供的一种扫码装置的示意图;

图7为本发明实施例四提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种扫码方法的流程图,本实施例可适用于利用客户端扫码中间件对二维码进行扫码的情况,该方法可以由扫码装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中,如图1所示,该方法包括如下操作:

S110、获取应用客户端发送的二维码扫码请求。

其中,应用客户端可以用于对二维码进行扫码以根据扫码结果处理具体的业务。可选的,应用客户端可以为全球广域网(World Wide Web,web)应用客户端,也还可以是APP(Application,应用程序)类型的客户端,本发明实施例并不对应用客户端的具体类型进行限定。客户端扫描中间件可以是为针对应用客户端设置的,用于承担应用客户端扫码功能的中间件。可选的,客户端扫描中间件可以是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。客户端扫码中间件能够快速地将各类新设备接入业务系统中,并对业务系统上层简化调用外设的复杂度,业务系统在开发时仅需调用客户端扫描中间件提供的应用程序接口(Application Programming Interface,API)即可完成相应的业务功能。客户端扫码中间件可以与应用客户端保持通信连接,以为应用客户端提供相应的中间服务。二维码扫描请求可以是应用客户端向客户端扫描中间件发送的,用于请求客户端扫描中间件进行二维码扫码的请求。

在本发明实施例中,针对二维码的扫描功能不再由应用客户端执行,而是转移至客户端扫码中间件执行。具体的,当应用客户端需要对二维码进行扫码时,可以向客户端扫描中间件发送二维码扫描请求。

图2是本发明实施例一提供的一种应用客户端的界面效果示意图。在一个具体的例子中,如图2所示,应用客户端的其中一个显示界面中,可以提供“扫码”的功能选项。当“扫码”功能被触发后,应用客户端可以向客户端扫码中间件发送二维码扫码请求,以指示客户端扫码中间件开始进行二维码扫码。

可选的,本发明实施例的技术方案可以适用于以下应用场景:金融行业或电信行业中利用应用客户端进行扫码以进行金融交易等。

S120、根据二维码扫码请求获取待识别二维码信息。

其中,待识别二维码信息可以包括用户身份信息或账户信息等,例如,当用户进行取款操作时,通过对用户客户端提供的二维码进行扫码可以对用户身份进行确定,从而对相应的用户账户进行操作。本发明实施例并不对待识别二维码信息的具体信息内容进行限定。

在本发明实施例中,当客户端扫码中间件接收到二维码扫描请求后,客户端扫码中间件可以根据二维码扫码请求获取待识别二维码信息。例如,客户端扫码中间件可以启动二维码扫码功能对二维码进行扫描,以获取二维码的待识别二维码信息。

需要说明的是,客户端扫码中间件可以通过应用客户端所安装设备上的固有扫描设备获取待识别二维码信息,该固有扫描设备可以是摄像头或其他扫描模块(如红外扫描模块)等。也即,客户端扫码中间件并不利用额外的扫码硬件设备对二维码扫描,从而降低二维码扫描的硬件成本。

S130、对待识别二维码信息进行解析以获取二维码的解析结果。

其中,二维码的解析结果可以是扫码成功或者扫码失败的结果,除此之外,二维码的解析结果还可以包括对二维码扫码结果的分析数据,如二维码扫码失败时,还可以包括错误码和错误描述数据等。本发明实施例并不对二维码的解析结果的具体数据内容进行限定。

相应的,当客户端扫码中间件获取到待识别二维码信息后,即可对待识别二维码信息进行解析,从而获取二维码的解析结果。

S140、将二维码的解析结果发送至物联网平台。

其中,物联网平台可以是物联网管理平台,可以管理众多的物联网设备和各种智能终端。

在本发明实施例中,当客户端扫码中间件获取二维码的解析结果后,可以将获取二维码的解析结果发送至物联网平台,以通过物联网平台对二维码的解析结果进行分析,并将分析获取到的数据应用于具体的现实场景中。例如,物联网平台可以将分析获取到的数据具体应用于转账及银行账户识别等业务场景中,以判断业务办理过程的扫码成功率等。

由此可见,通过客户端扫描中间件负责对二维码进行解析,以将获取的二维码的解析结果发送至物联网平台,可以使得物联网平台及时获取二维码扫描业务场景中的二维码扫描相关数据并进行分析和应用,扩展了扫码功能。

本发明实施例通过利用客户端扫描中间件获取应用客户端发送的二维码扫码请求,并根据获取的二维码扫码请求获取待识别二维码信息,以对待识别二维码信息进行解析获取二维码的解析结果,并将二维码的解析结果发送至物联网平台,解决现有二维码扫描方法存在的硬件设备成本高、扫码功能单一及可扩展性较低等问题,以在不增加硬件设备成本的前提下,丰富二维码的扫码功能,并提高扫码应用的可扩展性。

实施例二

图3是本发明实施例二提供的一种扫码方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了客户端扫码中间件获取二维码扫描请求、获取待识别二维码信息及二维码的解析结果的具体可选的实施方式。相应的,如图3所示,该方法包括如下操作:

S210、通过扫码接口接收应用客户端发送的二维码扫码请求。

其中,扫码接口可以是应用客户端为客户端扫描中间件提供的接口,可选的,扫描接口可以为web框架的JavaScript接口等。

具体的,当应用客户端需要进行二维码扫描时,例如,应用客户端中“扫码”功能被触发,则应用客户端可以通过JavaScript接口向客户端扫码中间件发送二维码扫码请求。也即,客户端扫码中间件可以通过扫码接口接收应用客户端发送的二维码扫码请求。

S220、根据二维码扫码请求启动二维码扫描设备。

其中,二维码扫描设备可以是安装应用客户端的设备中的摄像头或其他扫描模块等。客户端扫码中间件利用安装应用客户端的设备中的二维码扫描设备进行二维码扫描,不仅可以快速调用扫描设备,而且可以降低扫描设备的硬件设备成本。

示例性的,假设安装应用客户端的设备为银行业务系统设备,则该设备中的摄像头可以满足银行的外部设备规范接入系统,且提供数据接口,以便于上层应用调取数据。

相应的,客户端扫码中间件获取待识别二维码信息时,可以调用安装应用客户端的设备中的二维码扫描设备,如摄像头等。

在本发明的一个可选实施例中,根据二维码扫码请求启动二维码扫描设备,可以包括:反射调用扫码驱动,并使用应用客户端的内容安全应用程序接口对通信数据进行加密处理;根据扫码驱动的驱动接口启动MFC(Microsoft Foundation Classes,微软基础类库)应用程序;通过MFC应用程序启动二维码扫描设备。

其中,内容安全应用程序接口(Secrete API,SecAPI)可以用于对通信数据进行加密。例如,在二维码扫码的应用系统中,使用SecAPI对通信数据经过加密处理后,后台可自动识别扫码后的内容是否被改动。可选的,后台可以使用通用唯一识别码(UniversallyUnique Identifier,UUID)格式来标记扫码得到的内容信息。由此可见,对通信数据加密可以提高二维码扫码应用中的数据操作安全性。

在本发明实可选施例中,客户端扫码中间件启动二维码扫描设备时,可以反射调用扫码驱动,并使用客户端的SecAPI对本次通信数据做加密处理。被加密的通信数据可以是扫描二维码得到的数据信息。通过对通信数据进行加密处理,可以有效防止通信数据被篡改,从而提高了通信过程中通信数据的安全性。然后,客户端扫码中间件可以根据反射调用的扫码驱动的驱动接口启动MFC应用程序。MFC应用程序启动之后,通过MFC应用程序启动二维码扫描设备。

在上述方案中,可选的,驱动接口可以包括JNI接口和C++接口等,本发明实施例并不对驱动接口的具体接口类型进行限定。

在本发明的一个可选实施例中,通过MFC应用程序启动二维码扫描设备,可以包括:通过MFC应用程序获取二维码扫描设备的默认扫描参数;其中,默认扫描参数包括默认摄像头标识和默认图像分辨率;根据默认扫描参数启动二维码扫描设备,并通过二维码扫描设备对待识别二维码进行扫描。

其中,默认扫描参数也即二维码扫描设备默认设置的扫描参数。可选的,默认扫描参数可以包括但不限于默认摄像头标识和默认图像分辨率等。其中,默认摄像头标识可以用于标识默认启动的摄像头。默认图像分辨率可以是二维码扫描设备设置的默认分辨率。

在本发明可选实施例中,MFC应用程序启动之后,MFC应用程序获取二维码扫描设备的默认摄像头标识和默认图像分辨率,并根据默认摄像头标识和默认图像分辨率启动相应的二维码扫描设备,以通过二维码扫描设备完成对待识别二维码的扫描。例如,客户端扫码中间件可以通过MFC应用程序获取的默认摄像头标识向应用客户端所安装的设备发送开启摄像头的指令。应用客户端所安装的设备接收到开启摄像头的指令后,根据默认摄像头标识确定需要开启的摄像头,如设备的前置摄像头等,并采用该摄像头匹配的默认图像分辨率开启该摄像头。

S230、通过二维码扫描设备对待识别二维码进行扫描。

相应的,客户端扫码中间件启动二维码扫描设备后,即可通过二维码扫描设备对待识别二维码进行扫描。

具体的,客户端扫码中间件启动二维码扫描设备后,可以向应用客户端发送提示用户出具二维码的信息。

图4是本发明实施例二提供对应中提示用户出具二维码的界面效果示意图,如图4所示,当客户端扫码中间件成功启动二维码扫描设备后,可以通知应用客户端提示用户出具二维码。此时,应用客户端可以在显示界面中显示如图4所示的扫码界面信息,以提示用户正确的扫码操作。

S240、根据待识别二维码的扫描结果获取待识别二维码信息。

其中,待识别二维码也即需要扫描识别的二维码。

相应的,客户端扫码中间件具体可以将待识别二维码的扫描结果作为待识别二维码信息。

S250、对待识别二维码信息进行解析以获取二维码的解析结果。

在本发明的一个可选实施例中,对待识别二维码信息进行解析以获取二维码的解析结果,可以包括:对待识别二维码信息进行图像预处理;图像预处理包括图像纠偏处理和二维码定位处理;如果确定图像预处理成功,则对图像预处理后得到的待识别二维码信息进行解码处理;将解码处理结果作为二维码的解析结果。

其中,图像预处理可以是对待识别二维码信息对应的图像内容进行的预处理操作。可选的,图像预处理可以包括图像纠偏处理和二维码定位处理。其中,图像纠偏处理可以是对扫描获取的待识别二维码信息对应图像的图像角度或者图像位置进行调整。二维码定位处理可以用来对待识别二维码信息的标识位置进行定位,例如,二维码中的QR(QuickResponse,快速反应)码进行定位时需要进行几何校正,几何校正的基本方法是寻找QR码的3个寻像图形,根据寻像图形确定四个控制点,然后利用四个控制点进行图像的校正。

在本发明实施例中,在对待识别二维码信息进行解析时,需要首先对待识别二维码信息(也即对二维码扫描获取的图像)进行图像纠偏处理和二维码定位处理。如果待识别二维码信息的图像纠偏处理和二维码定位处理成功,则利用处理后的待识别二维码信息对待识别二维码继续进行解码处理。解码处理得到的结果即为二维码的解析结果。上述图像预处理中的图像纠偏处理和二维码定位处理可以使得二维码在识别区域内放置位置没有过高要求,提高二维码识别灵活性,降低二维码无法识别的机率。

在本发明的一个可选实施例中,在对待识别二维码信息进行图像预处理之后,还可以包括:如果确定图像预处理失败,则累计图像预处理时间,并在确定图像预处理时间未超过设定时间阈值时,返回执行对待识别二维码信息进行图像预处理的操作,直至确定图像预处理成功或确定图像预处理时间超过设定时间阈值。

其中,设定时间阈值可以是设置的图像预处理的总时长,示例性的,设定时间阈值可以是1秒或5秒等,具体可以根据实际需求设置,本发明实施例并不对设定时间阈值的具体时间数值进行限定。

在本发明实施例中,还可以针对图像预处理设置超时机制。也即,在对待识别二维码信息进行图像预处理时,如果确定图像预处理失败,则可以累计图像预处理时间。同时对累计的图像预处理时间进行判定。如果当前累计的图像预处理时间没有超过设定时间阈值,则可以返回重新执行图像预处理操作;否则确定当前累计的图像预处理时间达到设定时间阈值。上述针对图像预处理设置超时机制可以避免因图像预处理失败导致进入对待识别二维码信息反复进行图像预处理的死循环中,从而导致扫码故障。相应的,如果图像预处理成功,则无需重复执行图像预处理操作。

S260、向应用客户端反馈二维码的解码结果,以使应用客户端在应用界面中显示二维码的解码结果。

其中,二维码的解码结果即为对二维码扫描后识别到的结果。

本发明实施例中,当二维码扫描设备成功扫描二维码后,通过客户端扫码中间件将二维码扫描后得到的结果返回应用客户端,并将二维码的解码结果显示在应用客户端的应用界面中。

S270、将二维码的解析结果发送至物联网平台。

本发明的一个可选实施例中,将二维码的解析结果发送至物联网平台可以包括:将二维码的解析结果发送至物联网平台的软件开发工具包(Software Development Kit,SDK);其中,物联网平台的SDK内置于客户端扫码中间件中,用于接收二维码的解析结果,并通过消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)将二维码的解析结果发送至物联网平台。

其中,MQTT是国际标准化组织(International Organization forStandardization,ISO)标准下基于发布/订阅范式的消息协议,它是为硬件性能低下的远程设备以及网络糟糕情况下设计的发布/订阅模型。

具体的,客户端扫码中间件可以将二维码的解析结果发送至内置在客户端扫码中间件中的物联网平台的SDK中。物联网平台的SDK接收到二维码的解析结果后,可以通过MQTT将接收的二维码的解析结果发送至物联网平台。

本发明的一个可选实施例中,将二维码的解析结果发送至物联网平台的同时,还可以包括:获取二维码扫描设备的设备关联信息;将设备关联信息发送至物联网平台。

其中,设备关联信息可以是二维码扫描设备的相关信息,示例性的,设备关联信息例如可以是二维码扫描设备的标识、运营信息和故障信息等,本发明实施例并不对设备关联信息的具体类型进行限定。在本发明可选实施例中,客户端扫码中间件还可以主动获取二维码扫描设备的设备关联信息,并将获取的二维码扫描设备的设备关联信息发送至物联网平台,以使物联网平台根据接收的设备关联信息对二维码扫描设备进行分析,实现对二维码扫描设备的监控预警,方便对二维码扫描设备进行检修运维。

本发明的一个可选实施例中,将二维码的解析结果发送至物联网平台之后,还可以包括:接收物联网平台发送的设备监控请求;根据设备监控请求获取二维码扫描设备的设备关联信息;将设备关联信息反馈至物联网平台。

其中,设备监控请求可以是物联网平台发送给客户端扫码中间件的一种操作指令,可以用于请求获取二维码扫描设备的设备关联信息。

本发明实施例中,除了通过客户端扫码中间件主动获取二维码扫描设备的设备关联信息发送至物联网平台,以使物联网平台对二维码扫描设备的监控预警。可选的,还可以由物联网平台主动向客户端扫码中间件发送设备监控请求,以请求客户端扫码中间件获取二维码扫描设备的设备关联信息,并将获取的设备关联信息反馈至物联网平台。

本发明的一个可选实施例中,物联网平台用于通过MQTT将二维码的解析结果和/或设备关联信息发送至数据分析应用;数据分析应用用于根据二维码的解析结果和/或设备关联信息进行数据分析。数据分析应用可应用于在根据设备关联信息的数据分析结果确定二维码扫描设备存在故障信息时,向物联网平台发送设备预警信息。

其中,数据分析应用可以是物联网应用层设置的对二维码扫码情况和二维码扫描设备进行数据分析的相关应用。设备预警信息可以是数据分析应用向物联网平台发送的,用于提示二维码扫描设备出现故障的信息。

可选的,物联网平台在接收到客户端扫码中间件发送的二维码的解析结果和/或设备关联信息后,可以将二维码的解析结果和/或设备关联信息通过MQTT的方式发送至应用层的数据分析应用,以通过数据分析应用对二维码的解析结果和/或设备关联信息进行数据分析。例如,数据分析应用基于二维码的解析结果分析二维码扫描过程中的扫码成功率和失败率,以及引起二维码扫描失败的具体原因等。又例如,数据分析应用还可以基于设备关联信息的数据分析结果确定二维码扫描设备是否存在故障信息,实现对二维码扫描设备的监控预警。相应的,如果数据分析应用根据数据分析结果确定二维码扫描设备存在故障信息,则可以向物联网平台发送设备预警信息,以提示物联网平台二维码扫描设备出现故障。

图5为本发明实施例二提供的一种二维码扫码方法的流程示意图。在一个具体的例子中,如图5所示,二维码扫码方法具体可以为:用户打开web应用客户端的业务界面以进行业务办理。具体的,用户可以通过应用客户端点击“扫码”按钮,应用客户端即可通过web应用框架的JavaScript扫码接口向客户端扫码中间件发送AJAX请求,以指示客户端扫码中间件开始进行二维码扫码。

客户端扫码中间件接收到AJAX请求后,开始反射调用扫码驱动,且使用SecAPI对本次通信数据进行加密或者解密处理。具体的,客户端扫码中间件可以调用扫码驱动的JNI接口和扫码驱动的C++接口,进而通过扫码驱动接口启动扫码预览的MFC应用程序,以通过MFC应用程序以默认摄像头和默认分辨率启动摄像头。此时,用于应用客户端所安装设备开启用于二维码扫码的摄像头,应用客户端检测到摄像头开启后,可以在显示界面显示请求客户展示二维码的相关信息。当客户出示二维码后,摄像头可以对客户展示的二维码进行扫描以获取待识别二维码信息,也即获取二维码的扫描图像。获取到二维码的扫描图像后,客户端扫码中间件可以基于OpenCV对二维码的扫描图像做图像纠偏处理和二维码定位处理,以使处理后的二维码的扫描图像能够满足二维码识别解码的需求。然后,客户端扫码中间件可以使用ZXing(条码图像处理库)对二维码的扫描图像进行解码。如果解码失败则在设定时间阈值内重复执行图像纠偏和二维码定义及图片解码的操作,直到解码成功或解码失败(达到设定时间阈值)。当二维码扫码过程结束后,客户端扫描中间件可以将二维码的解码结果发送至web应用客户端的JavaScript扫码接口,以使web应用客户端在显示界面中显示二维码的解码结果。同时,客户端扫码中间件还可以将二维码的解析结果发送至物联平台设备SDK。该二维码解析结果可以是扫码成功或扫码失败的结果,当二维码扫码失败时,还可以包括错误码和错误描述数据等。

物联平台设备SDK进一步可以将二维码解析结果通过MQTT入栈的方式发送给物联网平台。同时,客户端扫码中间件还可以实时获取摄像头的设备关联信息,并将摄像头的设备关联信息发送至物联网平台以对摄像头进行监控预警。或者,还可以由物联网平台主动向客户端扫码中间件发送设备监控请求,以请求获取摄像头的设备关联信息。相应的,物联网平台可以将获取的二维码的解析结果和/或设备关联信息发送至通过MQTT出栈的方式发送给web后端应用层的物联网应用SDK,以通过物联网应用SDK对接收的数据进行分析,并根据数据分析结果处理订阅事件。例如,物联网应用SDK根据数据分析结果确定摄像头存在设备故障,则向物联平台发送摄像头的故障预警信息。

上述技术方案,应用客户端通过接口调用客户端扫码中间件以对二维码进行扫码,并对扫码过程的通信数据进行加密处理,可以有效提高二维码扫码过程的安全性。同时,客户端扫码中间件针对二维码的扫描结果可以实时发送至物联网平台,以通过物联网应用层对二维码扫码流程和摄像头等二维码扫描设备进行监控管理,可供上层应用监管和进一步的数据开发,丰富了二维码的扫码功能,并提高了扫码应用的可扩展性。

实施例三

图6是本发明实施例三提供的一种扫码装置的示意图,如图6所示,所述装置包括:二维码扫码请求发送模块310、待识别二维码信息获取模块320、二维码的解析结果获取模块330以及二维码的解析结果发送模块340,其中:

二维码扫码请求发送模块310,用于获取应用客户端发送的二维码扫码请求;

待识别二维码信息获取模块320,用于根据所述二维码扫码请求获取待识别二维码信息;

二维码的解析结果获取模块330,用于对所述待识别二维码信息进行解析以获取二维码的解析结果;

二维码的解析结果发送模块340,用于将所述二维码的解析结果发送至物联网平台。

可选的,二维码扫码请求发送模块310,具体用于:通过扫码接口接收所述应用客户端发送的二维码扫码请求。

可选的,待识别二维码信息获取模块320,具体用于:根据所述二维码扫码请求启动二维码扫描设备;通过所述二维码扫描设备对待识别二维码进行扫描;根据所述待识别二维码的扫描结果获取所述待识别二维码信息。

可选的,待识别二维码信息获取模块320具体用于:反射调用扫码驱动,并使用所述应用客户端的内容安全应用程序接口对通信数据进行加密处理;根据所述扫码驱动的驱动接口启动微软基础类库MFC应用程序;通过所述MFC应用程序启动所述二维码扫描设备。

可选的,驱动接口可以包括JNI接口和C++接口。

可选的,待识别二维码信息获取模块320具体用于:通过所述MFC应用程序获取所述二维码扫描设备的默认扫描参数;其中,所述默认扫描参数包括默认摄像头标识和默认图像分辨率;根据所述默认扫描参数启动所述二维码扫描设备,并通过所述二维码扫描设备对待识别二维码进行扫描。

可选的,二维码的解析结果获取模块330,具体用于:对所述待识别二维码信息进行图像预处理;所述图像预处理包括图像纠偏处理和二维码定位处理;如果确定图像预处理成功,则对图像预处理后得到的待识别二维码信息进行解码处理;将解码处理结果作为所述二维码的解析结果。

可选的,扫码装置还包括:时间阈值判断模块,用于:如果确定图像预处理失败,则累计图像预处理时间,并在确定所述图像预处理时间未超过设定时间阈值时,返回执行对所述待识别二维码信息进行图像预处理的操作,直至确定图像预处理成功或确定所述图像预处理时间超过设定时间阈值。

可选的,二维码的解析结果发送模块340,具体用于:将所述二维码的解析结果发送至所述物联网平台的软件开发工具包SDK;其中,所述物联网平台的SDK内置于所述客户端扫码中间件中,用于接收所述二维码的解析结果,并通过消息队列遥测传输协议MQTT将所述二维码的解析结果发送至所述物联网平台。

可选的,二维码的解析结果发送模块340,还用于:获取二维码扫描设备的设备关联信息;将所述设备关联信息发送至所述物联网平台。

可选的,扫码装置还包括:二维码的解码结果显示模块,具体用于:向所述应用客户端反馈所述二维码的解码结果,以使所述应用客户端在应用界面中显示所述二维码的解码结果。

可选的,扫码装置还包括:设备关联信息反馈模块,用于:接收所述物联网平台发送的设备监控请求;根据所述设备监控请求获取二维码扫描设备的设备关联信息;将所述设备关联信息反馈至所述物联网平台。

可选的,所述物联网平台用于通过MQTT将所述二维码的解析结果和/或所述设备关联信息发送至数据分析应用;所述数据分析应用用于根据所述二维码的解析结果和/或所述设备关联信息进行数据分析。

可选的,所述数据分析应用在根据所述设备关联信息的数据分析结果确定所述二维码扫描设备存在故障信息时,向所述物联网平台发送设备预警信息。

上述扫码装置可执行本发明任意实施例所提供的扫码方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的扫码方法。

由于上述所介绍的扫码装置为可以执行本发明实施例中的扫码方法的装置,故而基于本发明实施例中所介绍的扫码方法,本领域所属技术人员能够了解本实施例的扫码装置的具体实施方式以及其各种变化形式,所以在此对于该扫码装置如何实现本发明实施例中的扫码方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中扫码方法所采用的装置,都属于本申请所欲保护的范围。

实施例四

图7为本发明实施例四提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的计算机设备412的框图。图7显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。

总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。

计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块426的程序436,可以存储在例如存储装置428中,这样的程序模块426包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块426通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、摄像头、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDisks,RAID)系统、磁带驱动器以及数据备份存储系统等。

处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的扫码方法:获取应用客户端发送的二维码扫码请求;根据所述二维码扫码请求获取待识别二维码信息;对所述待识别二维码信息进行解析以获取二维码的解析结果;将所述二维码的解析结果发送至物联网平台。

本发明实施例通过利用客户端扫描中间件获取应用客户端发送的二维码扫码请求,并根据获取的二维码扫码请求获取待识别二维码信息,以对待识别二维码信息进行解析获取二维码的解析结果,并将二维码的解析结果发送至物联网平台,解决现有二维码扫描方法存在的硬件设备成本高、扫码功能单一及可扩展性较低等问题,以在不增加硬件设备成本的前提下,丰富二维码的扫码功能,并提高扫码应用的可扩展性。

实施例五

本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的扫码方法:获取应用客户端发送的二维码扫码请求;根据所述二维码扫码请求获取待识别二维码信息;对所述待识别二维码信息进行解析以获取二维码的解析结果;将所述二维码的解析结果发送至物联网平台。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable Read OnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 扫码方法、装置、扫码设备及计算机可读存储介质
  • 一种扫码登陆预警方法、装置、计算机设备和存储介质
技术分类

06120112185347