数据解析方法、装置及系统的利记博彩app

文档序号:10665879阅读:409来源:国知局
数据解析方法、装置及系统的利记博彩app
【专利摘要】本申请提供一种数据解析方法、装置及系统。一种方法包括:客户端从NFC卡中读取待解析的数据;客户端将待解析的数据发送给服务端,以供服务端将待解析的数据解析成客户端可识别的结构化数据并返回;客户端接收服务端返回的结构化数据。本申请通过服务端来解析NFC卡中的数据,可以做到及时解析NFC数据。
【专利说明】数据解析方法、装置及系统 【技术领域】
[0001] 本申请涉及通信技术领域,尤其涉及一种数据解析方法、装置及系统。 【【背景技术】】
[0002] 近距离无线通信(Near Field Communication,NFC)是一种短距离的高频无线通 信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)。NFC技术主要用 于手机、平板等手持设备中。基于近场通信的安全性和手持终端的普及,NFC技术具有很大 的应用前景。
[0003] 随着NFC技术的应用,出现了各种与NFC有关的应用(简称为NFC应用)。其中, NFC应用的客户端(简称为客户端)需要具备解析NFC数据的功能,即要能够从NFC卡中读 取NFC数据并将NFC数据解析成NFC应用可识别的数据。
[0004] 由于NFC卡的种类越来越多,为了能够对更多NFC卡的数据进行解析,客户端需要 不断的更新升级。由于客户端升级通常比较耗时、繁琐,所以很多用户不会及时升级客户 端,导致无法及时解析NFC数据。 【
【发明内容】

[0005] 本申请的多个方面提供一种数据解析方法、装置及系统,用以及时解析NFC数据。
[0006] 本申请的一方面,提供一种数据解析方法,包括:
[0007] 客户端从NFC卡中读取待解析的数据;
[0008] 所述客户端将所述待解析的数据发送给服务端,以供所述服务端将所述待解析的 数据解析成所述客户端可识别的结构化数据并返回;
[0009] 所述客户端接收所述服务端返回的所述结构化数据。
[0010] 本申请的另一方面,提供一种数据解析方法,包括:
[0011] 服务端接收客户端发送的待解析的数据,所述待解析的数据是所述客户端从NFC 卡中读取的;
[0012] 所述服务端对所述待解析的数据进行解析,并将成功解析出的结果数据封装成所 述客户端可识别的结构化数据;
[0013] 所述服务端将所述结构化数据发送给所述客户端。
[0014] 本申请的又一方面,提供一种客户端,包括:
[0015] 读取模块,用于从NFC卡中读取待解析的数据;
[0016] 发送模块,用于将所述待解析的数据发送给服务端,以供所述服务端将所述待解 析的数据解析成所述客户端可识别的结构化数据并返回;
[0017] 第一接收模块,用于接收所述服务端返回的所述结构化数据。
[0018] 本申请的又一方面,提供一种服务端,包括:
[0019] 接收模块,用于接收客户端发送的待解析的数据,所述待解析的数据是所述客户 端从NFC卡中读取的;
[0020] 解析模块,用于对所述待解析的数据进行解析,并将成功解析出的结果数据封装 成所述客户端可识别的结构化数据;
[0021] 发送模块,用于将所述结构化数据发送给所述客户端。
[0022] 本申请的又一方面,提供一种数据解析系统,包括:客户端和服务端;
[0023] 所述客户端,用于从NFC卡中读取待解析的数据,将所述待解析的数据发送给所 述服务端,并接收所述服务端返回的所述客户端可识别的结构化数据;
[0024] 所述服务端,用于接收所述客户端发送的待解析的数据,对所述待解析的数据进 行解析,并将成功解析出的结果数据封装成所述结构化数据,将所述结构化数据发送给所 述客户端。
[0025] 在本申请中,客户端从NFC中读取待解析的数据,将待解析的数据发送给服务端, 由服务端对待解析的数据进行解析并生成客户端可识别的结构化数据返回给客户端,实现 对NFC数据的解析,同时由于该解析过程是由服务端完成的,无论需要解析数据的NFC卡是 新出现的还是已有的,均无需等待客户端的更新升级,可以更加及时的对各种NFC数据进 行解析。 【【附图说明】】
[0026] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。
[0027] 图1为本申请一实施例提供的数据解析方法的流程示意图;
[0028] 图2为本申请一实施例提供的数据读取指令的数据结构示意图;
[0029] 图3a为本申请另一实施例提供的数据解析方法的流程示意图;
[0030] 图3b为本申请一实施例提供的os生活服务向用户展示的云卡片的结构示意图;
[0031] 图4为本申请一实施例提供的客户端的结构示意图;
[0032] 图5为本申请另一实施例提供的客户端的结构示意图;
[0033] 图6为本申请一实施例提供的服务端的结构示意图;
[0034] 图7为本申请另一实施例提供的服务端的结构示意图。 【【具体实施方式】】
[0035] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例 中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036] 图1为本申请一实施例提供的数据解析方法的流程示意图。如图1所示,该方法 包括:
[0037] 101、客户端从NFC卡中读取待解析的数据。
[0038] 102、客户端将上述待解析的数据发送给服务端,以供服务端将待解析的数据解析 成客户端可识别的结构化数据并返回。
[0039] 103、客户端接收服务端返回的结构化数据。
[0040] 本实施例提供一种数据解析方法,可由NFC应用的客户端(简称为客户端)来执 行。本实施例提供的方法可用于各种基于NFC的应用中;相应的,本实施例的客户端可以是 各种基于NFC的应用的客户端。
[0041] 举例说明:本实施例的方法可应用于基于NFC的支付应用中,则客户端是基于NFC 的支付类应用的客户端。
[0042] 本实施例的方法可应用于基于NFC实现的各种信息卡(例如交通卡、门禁卡、车 票)的读卡应用中;则客户端可以是基于NFC实现的各种信息卡对应的读卡应用的客户端。
[0043] 本实施例的方法可应用于基于NFC的文件传输类应用中;则客户端可以是基于 NFC的文件传输类应用的客户端。
[0044] 本实施例的方法可应用于基于NFC的电子信息交换类应用中;则客户端可以是基 于NFC的电子信息交换类应用的客户端。
[0045] 本实施例的方法可应用于基于NFC的近距离联机游戏类应用中;则客户端可以是 基于NFC的近距离联机游戏类应用的客户端。
[0046] 在上述各种应用场景中,客户端都需要基于NFC卡中的数据执行相应操作。例如, 在支付应用场景中,客户端需要根据NFC卡中的数据完成支付操作。又例如,在文件传输应 用场景中,客户端需要根据NFC卡中的数据完成文件传输操作。
[0047] 通常,NFC卡使用的数据格式与客户端所支持的数据格式没有直接关系,意味着客 户端可能无法直接识别从NFC卡读取的数据。在现有技术中,客户端具有对NFC卡中的数 据进行解析的功能,客户端可以将NFC卡中的数据解析成客户端可识别的数据,进而基于 可识别的数据执行相应操作。但是,NFC卡的种类越来越多,客户端可能随时面对不同种类 的NFC卡,并且NFC卡采用的数据格式可能不同,意味着客户端要能够对各种数据格式的 NFC数据进行解析,这就要求客户端能够随着NFC卡种类的发展而不断更新。但是,由于客 户端升级通常比较耗时、繁琐,所以很多用户不会及时升级客户端,即用户转化率无法达到 100 %,导致无法及时识别NFC数据。
[0048] 为解决上述问题,本实施例提供一种数据解析方法,将数据解析功能转移到服务 端,将客户端从数据解析中解放出来,使得NFC数据能够及时被解析。具体的:
[0049] 客户端从NFC卡中读取待解析的数据,将待解析的数据发送给服务端,由服务端 对待解析的数据进行解析,将成功解析出的结果数据封装成客户端可以识别的结构化数据 并返回给客户端,客户端接收服务端返回的结构化数据,进而可以根据该结构化数据执行 相应操作。
[0050] 可选的,客户端在接收到服务端返回的结构化数据之后,可以通过客户端所在终 端展示给用户,以便于用户通过该结构化数据了解相关信息。
[0051] 在一可选实施方式中,客户端可以向NFC卡发送数据读取指令;NFC卡接收客户端 的数据读取指令,并根据数据读取指令读取相应数据,将所读取的数据返回给客户端;客户 端接收NFC卡返回的数据,对NFC卡返回的数据进行有效性验证,当NFC卡返回的数据是有 效数据时,将NFC卡返回的数据作为待解析的数据。
[0052] -般来说,在数据存储和传输过程中,基于数据完整性或有效性等考虑,会在数据 字节中额外增加一个或几个比特位作为校验位,以用来检验数据是否完整或有效。可选的, 校验位的取值可以是预先设定的,例如0x900];或者,校验位的取值也可以是对数据值做 异或处理等方式计算出来的。对NFC数据来说,可以将最后两字节作为校验位。基于此,客 户端可以通过NFC卡返回的数据的最后两字节来判断该数据是否是有效数据。例如,若预 先设定校验位的取值为0x9000,则客户端可以校验NFC卡返回的数据的最后两字节是不是 0x9000,如果是,确定NFC卡返回的数据是有效数据;如果否,确定NFC卡返回的数据是无效 数据。又例如,若校验位的取值是采用数据值做异或处理获得的,则客户端可以将NFC卡返 回的数据中的数据值做异或处理,获得异或结果,将该异或结果与NFC卡返回的数据的最 后两字节的取值进行比较,若一致,则确定NFC卡返回的数据是有效数据;若不一致,则确 定NFC卡返回的数据是无效数据。
[0053] 进一步,虽然NFC卡的种类很多,所应用的场景也很广泛,但是可以按照不同标准 对NFC卡进行分类,并从总体上分为几大类别。例如,NFC卡可被分为IsoD印、NFCA、…、 NFCV等几大类别。关于IsoD印、NFCA、"'NFCV可参见现有技术的描述。其中,每一大类 别又可以划分为不同的小类别。例如,按照具体的传输协议划分,IsoDep类别还可以分为 Iso7816和Isol4443。对于Iso7816和Isol4443来说,还可以进一步细分。
[0054] 本实施例并不限定具体如何对NFC卡分类,但是对于同一类别的NFC卡来说,所使 用的指令类别以及指令码等都相同。在本实施例中,指令类别用于指示不同类别的NFC卡 所使用的指令码信息;每种类别的NFC所使用的指令码信息包括读取NFC卡各字段值(如 NFC卡的ID、NFC卡中的余额、NFC卡的发卡公司的名称等)的指令码,即不同字段对应不同 指令码。值得说明的,同一指令码可能会对应多个参数,一个参数对应该类别下一个具体的 NFC 卡。
[0055] 在一可选实施方式中,可以通过参数指令映射表来管理每类NFC卡下的指令码和 指令码对应的参数。进一步,客户端可以将该参数映射表存储在本地,有利于提高获取指令 码对应的参数的效率,并且不需要每次都向服务端请求,有利于节约流量资源。
[0056] 进一步可选的,客户端可以对该参数指令映射表进行更新,例如定时向服务端发 送更新请求,接收服务端发送的更新指令,根据更新指令,更新参数指令映射表。或者,服务 端也可以主动向客户端发送更新指令,客户端接收服务端发送的更新指令,根据更新指令, 更新参数指令映射表。
[0057] 值得说明的是,上述更新指令可以包括全部参数与指令码的映射关系,则客户端 可以直接用更新指令中的参数与指令码的映射关系替换参数指令映射表中的参数与指令 码的映射关系,实现全量更新。或者,上述更新指令也可以仅包括发生变化的参数与指令码 的映射关系,则客户端可以直接将更新指令中的参数与指令码的映射关系替换参数指令映 射表中相应的参数与指令码的映射关系,或者直接将更新指令中的参数与指令码的映射关 系添加到参数指令映射表中,实现增量更新。
[0058] 基于上述,客户端在向NFC卡发送数据读取指令之前,可以按照以下方式生成数 据读取指令:
[0059] 确定业务需求对应的指令码,在NFC应用中,业务需求一般是指读取NFC数据的需 求,预先定义了业务需求与读取字段之间的映射关系,也就是说,业务需求一旦确定了,也 就知道需要读取NFC数据的哪个字段。由上述可知,不同字段使用不同指令码,因此可以直 接根据业务需求,确定所使用的指令码;根据NFC卡所属的类别下的参数指令映射表,确定 业务需求对应的指令码对应的参数;根据业务需求对应的指令码和该指令码对应的参数, 生成数据读取指令。
[0060] 上述数据读取指令中的指令码用于指示要读取NFC数据的哪个字段;指令码对应 的参数用于指示要读取哪张 NFC卡中的数据。
[0061] 值得说明的是,一个指令码可能对应多个参数。对于这种情况,客户端可以采用穷 举的方式,生成数据读取指令以从NFC卡中读取数据。简单来说,客户端每次获取指令码对 应的一个参数,并根据该指令码和该指令码对应的参数生成一个数据读取指令,并发送给 NFC卡,当接收到NFC卡返回的数据时,通过对NFC卡返回的数据进行校验来判断NFC卡是 否返回了有效数据,也意味着是否使用了正确的参数;如果NFC卡返回的数据是有效数据, 意味着使用的参数是正确的,则可以停止尝试其他参数;反之,继续获取指令码对应的下一 个参数,并生成数据读取指令发送给NFC卡继续读取NFC卡中的数据。
[0062] 以基于NFC的交通卡为例,按照地理位置进一步划分,则Iso7816和Isol4443中 每个类别下的交通卡包括:北京交通卡、上海交通卡、天津交通卡、深圳交通卡等等。对于每 张交通卡来说,可读取的数据包括交通卡中的余额、公交公司的名称、交通卡的ID、以及最 近交易记录等字段值,不同字段对应不同的指令码。进一步同一指令码可能对应不同地方 的交通卡,则可以通过指令码对应的参数来区分。
[0063] 对不同交通卡来说,客户端所使用的数据读取指令的格式和内容都会有所不同。 例如,客户端发送的数据读取指令可以是应用协议数据单元(Application Protocol Data Unit,APDU)请求。该APDU请求的格式如图2所示,包括:头部和主体部分。头部包括CLA、 INS、P1和P2等几个字段;CLA表示指令类别,INS表示指令码;P1和P2是两个参数。主体 部分包括:数据长度L。字段、数据字段和响应数据的长度字段。
[0064] 一种客户端从交通卡中读取数据的代码如下:
[0065]
[0066] 按照基本的行业间规定,INS是APDU命令协议中的一个字节,定义该指令码的操 作类型,INS的取值与操作类型的对应关系如表1所示。
[0067] 表 1
[0068]
[0069]
[0070] 其中,INS为B0时可以读取到二进制(binary)的比特流,且sfi的取值不同,所 读取到的数据也会不同。比如,若要读取上海交通卡中的数据,则需要传入sfi值为21,若 要读取北京交通卡中的数据,则需要传入的sfi值为4。对客户端来说,由于无法直接识别 出是哪的公交卡,所以可以尝试先向交通卡传入值为21的sfi进行数据读取,如果读取的 数据无法通过有效性验证,则继续向交通卡传入值为4的sfi进行数据读取,直到读取到有 效数据为止。
[0071 ] 在一可选实施方式中,终端设备自身可以提供一 NFC系统框架,可称为NFC卡识别 应用,该NFC卡识别应用可以在NFC卡贴近具有NFC功能的终端设备时,自动感应到该NFC 卡的标签并识别出NFC卡所属的类别,将这些信息提供给上述客户端。
[0072] 对于NFC卡识别应用来说,可以包括感应单元、Activity、Activity Manager等。 感应单元在NFC卡贴近具有NFC功能的终端设备时,自动感应到该NFC卡的标签;Activity Manager用于管理已经注册的Activity ;Activity用于处理该Activity对应的NFC标签, 主要是识别出NFC标签所标识的NFC卡的类别属性信息。当Activity Manager存在已经 注册的Activity,并且可以处理感应单元感应到的NFC卡时,Activity Manager识别出NFC 标签所标识的NFC卡的类别属性信息,将该类别属性信息封装到Intent里面传给相应的 Activity ;Activity 将 Intent 发送给客户端。
[0073] 上述Activity是安卓系统中常用组件,通常作为一个屏幕的载体。Intent是安卓 系统中不同组件之间相互导航的纽带,封装了互相查找的条件信息。
[0074] 基于上述,客户端可以接收NFC卡识别应用发送的NFC卡的类别属性信息,该类别 属性信息用于指示NFC卡所属的类别。在获得NFC卡所属的类别的情况下,客户端可以确 定向NFC卡发送数据读取指令所使用的参数指令映射表。
[0075] 在一可选实施方式中,客户端在将待解析的数据发送给服务端之前,可以对待解 析的数据进行编码处理,例如可以采用Base64编码方式,将待解析的数据编码成字节流, 以便于传输。其中,Base64是一种比特流转化为字节流的一种编码方式。进一步,客户端 通过HTTP方式将编码成的字节流发送到服务端。对服务端来说,在接收到待解析的数据之 后,可以先对待解析的数据进行解码处理,再对解码后的数据进行解析处理。
[0076] 在一可选实施方式中,客户端本身也具有解析NFC数据的功能。基于此,客户端在 将待解析的数据发送给服务端之前,可以先判断本地是否可以解析待解析的数据;若本地 可以解析,则客户端可以直接在本地对待解析的数据进行解析处理,将其解析成客户端可 识别的数据结构;若本地无法解析,则客户端再将待解析的数据发送给服务端,以供服务端 将待解析的数据解析成客户端可识别的结构化数据并返回。该实施方式优先在客户端本地 对待解析的数据进行解析,一方面可以降低服务端的处理负担,另一方面有利于提高解析 效率。
[0077] 图3a为本申请一实施例提供的数据解析方法的流程示意图。如图3a所示,该方 法包括:
[0078] 301、服务端接收客户端发送的待解析的数据,该待解析的数据是客户端从NFC卡 中读取的。
[0079] 302、服务端对上述待解析的数据进行解析,并将成功解析出的结果数据封装成客 户端可识别的结构化数据。
[0080] 303、服务端将上述结构化数据发送给客户端。
[0081] 本实施例提供一种数据解析方法,可由NFC应用的服务端(简称为服务端)来执 行。本实施例提供的方法可用于各种基于NFC的应用中;相应的,本实施例的客户端可以是 各种基于NFC的应用的客户端;服务端可以是各种基于NFC的应用的服务端。在本实施例 中,服务端具有解析各种NFC卡的能力。
[0082] 举例说明:本实施例的方法可应用于基于NFC的支付应用中,则客户端是基于NFC 的支付类应用的客户端;则服务端可以是基于NFC的支付应用中服务端。
[0083] 本实施例的方法可应用于基于NFC实现的各种信息卡(例如交通卡、门禁卡、车 票)的读卡应用中;则客户端可以是基于NFC实现的各种信息卡对应的读卡应用的客户端; 则服务端可以是基于NFC实现的各种信息卡对应的读卡应用的服务端。
[0084] 本实施例的方法可应用于基于NFC的文件传输类应用中;则客户端可以是基于 NFC的文件传输类应用的客户端;则服务端可以是基于NFC的文件传输类应用的服务端。
[0085] 本实施例的方法可应用于基于NFC的电子信息交换类应用中;则客户端可以是基 于NFC的电子信息交换类应用的客户端;则服务端可以是基于NFC的电子信息交换类应用 的服务端。
[0086] 本实施例的方法可应用于基于NFC的近距离联机游戏类应用中;则客户端可以是 基于NFC的近距离联机游戏类应用的客户端;则服务端可以是基于NFC的近距离联机游戏 类应用的服务端。
[0087] 在上述各种应用场景中,客户端都需要基于NFC卡中的数据执行相应操作。例如, 在支付应用场景中,客户端需要根据NFC卡中的数据完成支付操作。又例如,在文件传输应 用场景中,客户端需要根据NFC卡中的数据完成文件传输操作。
[0088] 通常,NFC卡使用的数据格式与客户端所支持的数据格式没有直接关系,意味着客 户端可能无法直接识别从NFC卡读取的数据。在现有技术中,客户端具有对NFC卡中的数据 进行解析的功能,客户端可以将NFC卡中的数据解析成客户端可识别的数据,进而基于可 识别的数据执行相应操作。但是,NFC卡的种类越来越多,客户端可能随时面对不同种类的 NFC卡,并且NFC卡采用的数据格式可能不同,意味着客户端要能够对各种数据格式的NFC 数据进行解析,这就要求客户端能够随着NFC卡种类的发展而不断更新。但是,由于客户端 的升级包一般是由服务端按照一定频率发布的,所以更新不是很及时,导致无法及时识别 NFC数据。
[0089] 为解决上述问题,本实施例提供一种数据解析方法,将数据解析功能转移到服务 端,将客户端从数据解析中解放出来,使得NFC数据能够及时被解析。具体的:
[0090] 客户端从NFC卡中读取待解析的数据,将待解析的数据发送给服务端,服务端接 收客户端发送的待解析的数据;服务端对待解析的数据进行解析,将成功解析出的结果数 据封装成客户端可以识别的结构化数据;之后,将结构化数据发送给客户端,使得客户端可 以根据该结构化数据执行相应操作。
[0091] 在一可选实施方式中,服务端预先存储有客户端及客户端可识别的数据结构之间 的映射关系。基于此,客户端还可以将客户端的标识发送给服务端,服务端根据客户端的标 识,查询所存储的客户端及客户端可识别的数据结构之间的映射关系,获知客户端所支持 的数据结构,进而将待解析的数据解析成客户端可识别的结构化数据。
[0092] 在另一可选实施方式中,客户端可以将客户端可识别的数据结构信息发送给服务 端。服务端接收客户端发送的客户端可识别的数据结构信息,根据客户端可识别的数据结 构信息,将待解析的数据解析成客户端可识别的结构化数据。
[0093] 在一可选实施方式中,服务端包括各种NFC卡对应的解析算法,并且随着NFC卡种 类的增多,服务端会及时增加相应的解析算法。基于此,服务端对待解析的数据进行解析的 一种实施方式包括:服务端确定NFC卡对应的解析算法,采用所确定的解析算法对应待解 析的数据进行解析。
[0094] 其中,客户端除了将待解析的数据发送给服务端之外,通常还会将NFC卡的类别 属性信息发送给服务端;服务端可以根据NFC卡的类别属性信息确定NFC卡所属的类别,进 而选择该类别对应的解析算法,使用该解析算法对待解析的数据进行解析。进一步,客户端 还可以将读取待解析的数据所使用的数据读取指令发送给服务端,则服务端可以同时结合 NFC卡的类别属性信息、读取待解析的数据所使用的数据读取指令、以及待解析的数据等信 息,来确定所使用的解析算法。
[0095] 值得说明的是,由于NFC卡的种类很多,相应NFC卡的厂商也会很多。部分NFC卡 的厂商不是按照标准协议,所以服务端可以通过访问厂商官方网站或者其他公关渠道来了 解具体协议文档,进而获得解析该待解析的数据需要使用的解析算法。
[0096] 在一可选实施方式中,若客户端对待解析的数据进行了编码处理,则服务端在对 待解析的数据进行解析之前,需要先对待解析的数据进行解码处理。其中,客户端和服务端 可以预先约定所使用的编解码算法,例如可以是Base64算法,但不限于此。
[0097] 在一可选实施方式中,若待解析的数据来自于新的NFC卡,则服务端有可能还没 有该NFC卡对应的解析算法,则可能无法成功解析出结果数据。对无法成功解析出结果数 据的情况,服务端可以根据该解析的数据和待解析的数据的相关数据,生成该NFC卡对应 的解析算法。服务端可以存储该解析算法,以便于对后续接收到的该NFC卡的数据进行解 析。待解析的数据的相关数据包括但不限于:客户端获取待解析的数据所使用的数据读取 指令、以及用户输入的关于该NFC卡的信息等。
[0098] 由于生成NFC卡对应的解析算法的过程会因厂商的不同而有所不同,且整体流程 与现有技术相类似或相同,可参见现有技术,本申请不再赘述。
[0099] 以云os生活服务为例,(但本申请不限于云os生活服务),云os生活服务根据业 务需求确定指令码,并基于本地存储的参数指令映射表,确定该指令码对应的参数,根据该 指令码和该指令码对应的参数生成APDU请求,将该APDU请求发送给NFC卡;接收NFC卡根 据该APDU请求返回的数据;根据NFC卡返回的数据的最后两字节的校验码校验该数据是否 是有效数据;如果不是,则继续获取指令码对应的下一个参数,并根据该指令码和该指令码 对应的一下个参数重新生成APDU请求发送给NFC卡,以重新从NFC卡中读取数据;如果判 断结果为是,则采用Base64编码方式将该数据编码成字节流,再通过HTTP方式发送到服务 端;服务端对接收到的数据进行解码处理,并确定解析使用的解析算法,采用所确定的解析 算法对解码后的数据进行解析,若成功解析出结果数据,将该结果数据封装成云os生活服 务可识别的结构化数据,即云卡片(CloudCard)的形式返回给云os生活服务;云os生活服 务以CloudCard形式将数据展现给用户。
[0100] 因为云〇s生活服务一般内嵌于云〇s系统桌面,与桌面其他应用相比,云〇s生活 服务的更新频率还是比较低的,对于这种情况,本申请提供数据解析方法将具有很明显的 优势,用户可以不用升级整个云os生活服务,即可及时解析出各种NFC卡中的数据,进而将 NFC卡中的数据封装成云os生活服务里的CloudCard形式展现给用户。进一步,如图3b 所示,云os生活服务还可以通过连接该生活服务的关联服务系统精准推送相应的智能化 的关联服务,例如基于用户的NFC卡的商户信息、余额信息等,可以向用户推送附近公交车 站、充值中心等关联服务,有利于扩展生活服务的业务和提高用户体验。
[0101] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为 依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请 所必须的。
[0102] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可以参见其他实施例的相关描述。
[0103] 图4为本申请一实施例提供的客户端的结构示意图。如图4所示,该客户端包括: 读取模块41、发送模块42和第一接收模块43。
[0104] 读取模块41,用于从NFC卡中读取待解析的数据。
[0105] 发送模块42,用于将读取模块41读取的待解析的数据发送给服务端,以供服务端 将待解析的数据解析成客户端可识别的结构化数据并返回。
[0106] 第一接收模块43,用于接收服务端返回的结构化数据。
[0107] 在一可选实施方式中,读取模块41具体用于:
[0108] 向NFC卡发送数据读取指令;
[0109] 接收NFC卡根据数据读取指令返回的数据;
[0110] 对NFC卡返回的数据进行有效性验证,当NFC卡返回的数据是有效数据时,将NFC 卡返回的数据作为待解析的数据。
[0111] 在一可选实施方式中,如图5所示,该客户端还包括:确定模块44和生成模块45。
[0112] 确定模块44,用于确定业务需求对应的指令码,并根据NFC卡所属的类别下的参 数指令映射表,确定指令码对应的参数。
[0113] 生成模块45,用于根据确定模块44确定的指令码和指令码对应的参数,生成数据 读取指令。
[0114] 在一可选实施方式中,如图5所示,该客户端还包括:第二接收模块46,用于在确 定模块44根据NFC卡所属的类别下的参数指令映射表,确定指令码对应的参数之前,接收 NFC卡识别应用发送的NFC卡的类别属性信息,类别属性信息用于指示NFC卡所属的类别。
[0115] 在一可选实施方式中,如图5所示,该客户端还包括:第三接收模块47和更新模块 48 〇
[0116] 第三接收模块47,用于接收服务端发送的更新指令;
[0117] 更新模块48,用于根据第三接收模块47接收的更新指令,更新参数指令映射表。 更新模块48用于向确定模块44提供更新后的参数指令映射表。
[0118] 在一可选实施方式中,如图5所示,该客户端还包括:编码模块49,用于在发送模 块42将待解析的数据发送给服务端之前,对待解析的数据进行编码处理。
[0119] 在一可选实施方式中,如图5所示,该客户端还包括:判断模块50。
[0120] 判断模块50,用于判断本地是否可以解析所述待解析的数据,并在判断结果为否 时,触发发送模块42执行将所述待解析的数据发送给服务端,以供所述服务端将所述待解 析的数据解析成所述客户端可识别的结构化数据并返回的操作。
[0121] 在一可选实施方式中,如图5所示,该客户端还包括:展示模块51。
[0122] 展示模块51,用于通过客户端所在终端将第一接收模块43接收的结构化数据展 示给用户。
[0123] 本实施例提供的客户端,从NFC中读取待解析的数据,将待解析的数据发送给服 务端,由服务端对待解析的数据进行解析并生成客户端可识别的结构化数据返回给客户 端,实现对NFC数据的解析,同时由于该解析过程是由服务端完成的,不用等待对客户端的 更新升级,可以更加及时的对各种NFC数据进行解析。
[0124] 图6为本申请一实施例提供的服务端的结构示意图。如图6所示,该服务端包括: 接收模块61、解析模块62和发送模块63。
[0125] 接收模块61,用于接收客户端发送的待解析的数据,待解析的数据是客户端从 NFC卡中读取的。
[0126] 解析模块62,用于对接收模块61接收的待解析的数据进行解析,并将成功解析出 的结果数据封装成客户端可识别的结构化数据。
[0127] 发送模块63,用于将解析模块62解析出的结构化数据发送给客户端。
[0128] 在一可选实施方式中,解析模块62具体用于:
[0129] 确定NFC卡对应的解析算法;
[0130] 采用解析算法对待解析的数据进行解析;
[0131] 将成功解析出的结果数据封装成客户端可识别的结构化数据。
[0132] 在一可选实施方式中,如图7所示,该服务端还包括:生成模块64。
[0133] 生成模块64,用于在解析模块62无法成功解析出结果数据时,根据待解析的数据 和待解析的数据的相关数据,生成NFC卡对应的解析算法。
[0134] 在一可选实施方式中,如图7所示,该服务端还包括:解码模块。
[0135] 解码模块65,用于在解析模块62对待解析的数据进行解析之前,对待解析的数据 进行解码处理。
[0136] 本实施例提供的服务端,与上述实施例提供的客户端相配合,接收客户端发送的 从NFC卡中读取的待解析的数据,对待解析的数据进行解析并生成客户端可识别的结构化 数据返回给客户端,实现对NFC数据的解析,同时由于该解析过程是由本实施例的服务端 完成的,不用等待对客户端的更新升级,可以更加及时的对各种NFC数据进行解析。
[0137] 本申请一实施例还提供一种数据解析系统,包括:客户端和服务端。
[0138] 其中,客户端,用于从NFC卡中读取待解析的数据,将待解析的数据发送给服务 端,并接收服务端返回的客户端可识别的结构化数据;
[0139] 服务端,用于接收客户端发送的待解析的数据,对待解析的数据进行解析,并将成 功解析出的结果数据封装成结构化数据,将结构化数据发送给客户端。
[0140] 关于客户端的其他功能以及客户端的实现结构可参见前述相应实施例,在此不再 赘述。同理,关于服务端的其他功能以及服务端的实现结构可参见前述相应实施例,在此不 再赘述。
[0141] 在本实施例提供的数据解析系统中,服务端与客户端相配合,接收客户端发送的 从NFC卡中读取的待解析的数据,对待解析的数据进行解析并生成客户端可识别的结构化 数据返回给客户端,实现对NFC数据的解析,同时由于该解析过程是由本实施例的服务端 完成的,不用等待对客户端的更新升级,可以更加及时的对各种NFC数据进行解析。
[0142] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统, 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或 讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦 合或通信连接,可以是电性,机械或其它的形式。
[0144] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0145] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0146] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存 储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算 机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申 请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘 等各种可以存储程序代码的介质。
[0147] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽 管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精 神和范围。
【主权项】
1. 一种数据解析方法,其特征在于,包括: 客户端从NFC卡中读取待解析的数据; 所述客户端将所述待解析的数据发送给服务端,以供所述服务端将所述待解析的数据 解析成所述客户端可识别的结构化数据并返回; 所述客户端接收所述服务端返回的所述结构化数据。2. 根据权利要求1所述的方法,其特征在于,所述客户端从NFC卡中读取待解析的数 据,包括: 所述客户端向所述NFC卡发送数据读取指令; 所述客户端接收所述NFC卡根据所述数据读取指令返回的数据; 所述客户端对所述NFC卡返回的数据进行有效性验证,当所述NFC卡返回的数据是有 效数据时,将所述NFC卡返回的数据作为所述待解析的数据。3. 根据权利要求2所述的方法,其特征在于,所述客户端向所述NFC卡发送数据读取指 令之前,还包括: 所述客户端确定业务需求对应的指令码; 所述客户端根据所述NFC卡所属的类别下的参数指令映射表,确定所述指令码对应的 参数; 所述客户端根据所述指令码和所述指令码对应的参数,生成所述数据读取指令。4. 根据权利要求3所述的方法,其特征在于,所述客户端根据所述NFC卡所属的类别下 的参数指令映射表,确定所述指令码对应的参数之前,还包括: 所述客户端接收NFC卡识别应用发送的所述NFC卡的类别属性信息,所述类别属性信 息用于指示所述NFC卡所属的类别。5. 根据权利要求3所述的方法,其特征在于,还包括: 所述客户端接收所述服务端发送的更新指令; 所述客户端根据所述更新指令,更新所述参数指令映射表。6. 根据权利要求1-5任一项所述的方法,其特征在于,所述客户端将所述待解析的数 据发送给服务端之前,还包括: 所述客户端对所述待解析的数据进行编码处理。7. 根据权利要求1-5任一项所述的方法,其特征在于,所述客户端将所述待解析的数 据发送给服务端,以供所述服务端将所述待解析的数据解析成所述客户端可识别的结构化 数据并返回之前,还包括: 所述客户端判断本地是否可以解析所述待解析的数据; 若判断结果为否,则执行将所述待解析的数据发送给服务端,以供所述服务端将所述 待解析的数据解析成所述客户端可识别的结构化数据并返回的操作。8. 根据权利要求1-5任一项所述的方法,其特征在于,所述客户端接收所述服务端返 回的所述结构化数据之后,还包括: 所述客户端通过所述客户端所在终端将所述结构化数据展示给用户。9. 一种数据解析方法,其特征在于,包括: 服务端接收客户端发送的待解析的数据,所述待解析的数据是所述客户端从NFC卡中 读取的; 所述服务端对所述待解析的数据进行解析,并将成功解析出的结果数据封装成所述客 户端可识别的结构化数据; 所述服务端将所述结构化数据发送给所述客户端。10. 根据权利要求9所述的方法,其特征在于,所述服务端对所述待解析的数据进行解 析,包括: 所述服务端确定所述NFC卡对应的解析算法; 所述服务端采用所述解析算法对所述待解析的数据进行解析。11. 根据权利要求10所述的方法,其特征在于,还包括: 若无法成功解析出所述结果数据,所述服务端根据所述待解析的数据和所述待解析的 数据的相关数据,生成所述NFC卡对应的解析算法。12. 根据权利要求9-11任一项所述的方法,其特征在于,所述服务端对所述待解析的 数据进行解析之前,还包括: 对所述待解析的数据进行解码处理。13. -种客户端,其特征在于,包括: 读取模块,用于从NFC卡中读取待解析的数据; 发送模块,用于将所述待解析的数据发送给服务端,以供所述服务端将所述待解析的 数据解析成所述客户端可识别的结构化数据并返回; 第一接收模块,用于接收所述服务端返回的所述结构化数据。14. 根据权利要求13所述的客户端,其特征在于,所述读取模块具体用于: 向所述NFC卡发送数据读取指令; 接收所述NFC卡根据所述数据读取指令返回的数据; 对所述NFC卡返回的数据进行有效性验证,当所述NFC卡返回的数据是有效数据时,将 所述NFC卡返回的数据作为所述待解析的数据。15. 根据权利要求14所述的客户端,其特征在于,还包括: 确定模块,用于确定业务需求对应的指令码,并根据所述NFC卡所属的类别下的参数 指令映射表,确定所述指令码对应的参数; 生成模块,用于根据所述指令码和所述指令码对应的参数,生成所述数据读取指令。16. 根据权利要求15所述的客户端,其特征在于,还包括: 第二接收模块,用于接收NFC卡识别应用发送的所述NFC卡的类别属性信息,所述类别 属性信息用于指示所述NFC卡所属的类别。17. 根据权利要求15所述的客户端,其特征在于,还包括: 第三接收模块,用于接收所述服务端发送的更新指令; 更新模块,用于根据所述更新指令,更新所述参数指令映射表。18. 根据权利要求13-17任一项所述的客户端,其特征在于,还包括: 编码模块,用于对所述待解析的数据进行编码处理。19. 根据权利要求13-17任一项所述的客户端,其特征在于,还包括: 判断模块,用于判断本地是否可以解析所述待解析的数据,并在判断结果为否时,触发 所述发送模块执行将所述待解析的数据发送给服务端,以供所述服务端将所述待解析的数 据解析成所述客户端可识别的结构化数据并返回的操作。20. 根据权利要求13-17任一项所述的客户端,其特征在于,还包括: 展示模块,用于通过所述客户端所在终端将所述结构化数据展示给用户。21. -种服务端,其特征在于,包括: 接收模块,用于接收客户端发送的待解析的数据,所述待解析的数据是所述客户端从 NFC卡中读取的; 解析模块,用于对所述待解析的数据进行解析,并将成功解析出的结果数据封装成所 述客户端可识别的结构化数据; 发送模块,用于将所述结构化数据发送给所述客户端。22. 根据权利要求21所述的服务端,其特征在于,所述解析模块具体用于: 确定所述NFC卡对应的解析算法; 采用所述解析算法对所述待解析的数据进行解析; 将成功解析出的结果数据封装成所述客户端可识别的结构化数据。23. 根据权利要求22所述的服务端,其特征在于,还包括: 生成模块,用于在所述解析模块无法成功解析出所述结果数据时,根据所述待解析的 数据和所述待解析的数据的相关数据,生成所述NFC卡对应的解析算法。24. 根据权利要求21-23任一项所述的服务端,其特征在于,还包括: 解码模块,用于对所述待解析的数据进行解码处理。25. -种数据解析系统,其特征在于,包括:客户端和服务端; 所述客户端,用于从NFC卡中读取待解析的数据,将所述待解析的数据发送给所述服 务端,并接收所述服务端返回的所述客户端可识别的结构化数据; 所述服务端,用于接收所述客户端发送的待解析的数据,对所述待解析的数据进行解 析,并将成功解析出的结果数据封装成所述结构化数据,将所述结构化数据发送给所述客 户端。
【文档编号】G06K17/00GK106033551SQ201510115672
【公开日】2016年10月19日
【申请日】2015年3月17日
【发明人】安光霖
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1