数据调用方法、系统、双芯片销售终端及可读存储介质与流程

文档序号:26050933发布日期:2021-07-27 15:26阅读:66来源:国知局
数据调用方法、系统、双芯片销售终端及可读存储介质与流程

本申请属于销售终端技术领域,尤其涉及一种数据调用方法、系统、双芯片销售终端及可读存储介质。



背景技术:

现有的双芯片销售终端中,由于安全芯片是一个独立运行的系统,安全芯片内的数据仅在安全芯片内部进行处理和传输,应用芯片无法获取安全芯片的数据,难以在双芯片之间的进行数据传输,导致两端的数据不对等。



技术实现要素:

本申请实施例提供了一种数据调用方法、装置、终端设备及可读存储介质,可以解决现有的基于双芯片销售终端的数据通信方法难以在双芯片之间的进行数据传输,导致两端的数据不对等的问题。

第一方面,本申请实施例提供了一种数据调用方法,应用于安全芯片,包括:

接收应用芯片发送的调用命令;其中,所述调用命令包括目标调用函数的函数名和参数;

解析所述调用命令,获得所述调用命令中包括的所述函数名;

通过所述目标调用函数进行系统调用,获得调用结果,并将所述调用结果反馈至所述应用芯片;其中,调用结果包括函数调用结果和错误码。

第二方面,本申请实施例提供了一种数据调用方法,应用于应用芯片,包括:

发送调用命令至安全芯片,以使所述安全芯片根据协议数据进行系统调用;其中,调用命令包括目标调用函数的函数名和参数;

接收所述安全芯片返回的调用结果并进行解析,获得解析后的函数调用结果;其中,调用结果包括函数调用结果和错误码。

第三方面,本申请实施例提供了一种数据调用系统,应用于安全芯片,包括:

接收模块,用于接收应用芯片发送的调用命令;其中,所述调用命令包括目标调用函数的函数名和参数;

第一解析模块,用于解析所述调用命令,获得所述调用命令中包括的所述函数名;

调用模块,用于通过所述目标调用函数进行系统调用,获得调用结果,并将所述调用结果反馈至所述应用芯片;其中,调用结果包括函数调用结果和错误码。

第四方面,本申请实施例提供了一种数据调用系统,应用于应用芯片,包括:

第一发送模块,用于发送调用命令至安全芯片,以使所述安全芯片根据协议数据进行系统调用;其中,调用命令包括目标调用函数的函数名和参数;

第二解析模块,用于接收所述安全芯片返回的调用结果并进行解析,获得解析后的函数调用结果;其中,调用结果包括函数调用结果和错误码。

第五方面,本申请实施例提供了一种双芯片销售终端,包括安全芯片、应用芯片、以及在所述安全芯片和应用芯片上存储并可运行的计算机程序,所述安全芯片执行所述计算机程序时实现如上述第一方面所述的数据调用方法,所述应用芯片执行所述计算机程序时实现如上述第二方面所述的数据调用方法。

第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述的数据调用方法。

第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面所述的数据调用方法。

根据携带目标函数的函数名称的调用指令,在目标函数内进行系统调用,使得应用芯片可直接获得安全芯片的数据调用结果,实现跨芯片间的系统调用,提高了系统的数据处理效率。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的数据调用方法的流程示意图;

图2是本申请另一实施例提供的数据调用方法的流程示意图;

图3是本申请实施例提供的应用芯片与安全芯片间的数据传输软件框架的示意图;

图4是本申请实施例提供的数据调用系统的结构示意图;

图5是本申请另一实施例提供的数据调用系统的结构示意图;

图6是本申请实施例提供的双芯片销售终端的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的数据调用方法可以应用于双芯片销售终端等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。

实施例一

图1示出了本申请提供的数据调用方法的示意性流程图,作为示例而非限定,该方法可以应用于安全芯片中。

s101、接收应用芯片发送的调用命令;其中,所述调用命令包括目标调用函数的函数名和参数;

在具体应用中,接收应用芯片(applicationprocessor,ap)发送的调用命令。其中,调用命令是指应用芯片发送的,用于控制安全芯片(securityprocessor,sp)根据目标调用函数进行系统调用的命令。调用命令应包括但不限于目标调用函数的函数名和参数。其中,函数名可以是字符串,例如,目标调用函数的函数名可以是rpc_open、rpc_ioctl、rpc_close或read。

例如,若需要进行数据读取函数的调用,则对应接收到应用芯片发送的调用命令应包含数据读取函数的名称read和数据读取函数的参数。

s102、解析所述调用命令,获得所述调用命令中包括的所述函数名;

在具体应用中,解析接收到的调用命令,获得调用命令中包含的目标调用函数的函数名称,以确定目标调用函数。

s103、通过所述目标调用函数进行系统调用,获得调用结果,并将所述调用结果反馈至所述应用芯片;其中,调用结果包括函数调用结果和错误码。

在具体应用中,进一步解析,获得调用命令中的目标调用函数的参数,将上述参数传入目标调用函数中,以实现通过目标调用函数进行系统调用,获得与目标调用函数对应的函数调用结果,并将函数调用结果和错误码打包,生成调用结果并发送至应用芯片。可以理解的是,调用结果包括但不限于函数调用结果和错误码。

例如,若目标调用函数为数据读取函数(read),则通过数据读取函数进行数据读取操作,并将读取到的数据和错误码打包,生成调用结果并发送至应用芯片。

其中,错误码是在通过目标调用函数进行系统调用出错时生成的代码。可以理解的是,若通过目标调用函数进行系统调用成功,则对应的错误码为0或为空。若通过目标调用函数进行系统调用失败,则对应的函数调用结果为空。

在一个实施例中,所述步骤s101之前,包括:

预先设定与所述应用芯片之间的通信协议,所述通信协议用于设定所述调用命令的格式。

在具体应用中,在进行系统调用之前,可预先设定安全芯片与应用芯片之间的通信协议;通信协议用于设定应用芯片发送调用命令的格式。

在本实施例中,通信协议规定应用芯片发送的调用命令中,必须包含协议头部、目标调用函数的函数名(字符串形式)以及该目标调用函数的参数。例如,调用命令的格式为:协议头部,函数名,参数。

在一个实施例中,通信协议还用于设定安全芯片发送的调用结果的格式。例如,通信协议对丁安全芯片发送的调用结果必须包含协议头部、函数调用结果和错误码,例如,调用结果的格式为:协议头部,函数调用结果,错误码。则在通过目标调用函数进行系统调用后,安全芯片需将协议头部、函数调用结果和错误码打包,生成调用结果。

在一个实施例中,所述步骤s101之前,还包括:

在接收到所述应用芯片发送的注册通知指令时,根据所述注册通知指令完成注册通知;

在检测到触发数据时,根据所述触发数据生成通知,将所述通知发送至所述应用芯片;其中,所述通知用于通知所述应用芯片在所述安全芯片端检测到触发数据。

在具体应用中,在接收到应用芯片发送的注册通知指令时,根据注册通过指令进行注册通知;在检测到触发数据时,根据触发数据生成对应的通知,并将通知发送至应用芯片。其中,注册通知是指在接收到触发数据时,根据触发数据生成对应的通知的模式,通知用于通知应用芯片在安全芯片端检测到触发数据。触发数据可以是在安全芯片检测到的按键信息、ic卡插入或ic卡拔出等触发不同功能操作的数据。

例如,若安全芯片检测到ic卡插入,则根据ic卡插入的数据生成ic卡插入通知,并将ic卡插入通知发送至应用芯片,以通知应用芯片在安全芯片端检测到ic卡的插入。其中,ic卡插入数据可以包括ic卡插入的时间、ic卡的id等信息。

根据携带目标函数的函数名称的调用指令,在目标函数内进行系统调用,使得应用芯片可直接获得安全芯片的数据调用结果,实现跨芯片间的系统调用,提高了系统的数据处理效率。

实施例二

图2示出了本申请提供的数据调用方法的另一示意性流程图,作为示例而非限定,该方法可以应用于应用芯片中。

s201、发送调用命令至安全芯片,以使所述安全芯片根据所述协议数据进行系统调用;其中,调用命令包括目标调用函数的函数名和参数;

在具体应用中,应用芯片在生成调用命令时,首先通过销售终端软件开发工具包possdk库调用库中预先设定的统一封装的接口,通过该接口封装协议头部、目标调用函数的函数名称和参数,以生成对应的调用命令,并将调用命令发送至安全芯片,以使所述安全芯片根据协议数据进行目标调用函数的系统调用。预先设定的统一封装的接口可以根据实际需求进行具体设定,例如,预先设定统一封装的接口为任一个开放接口(例如,xxx_open()接口)。

s202、接收所述安全芯片返回的调用结果并进行解析,获得解析后的函数调用结果;其中,调用结果包括函数调用结果和错误码。

在具体应用中,接收到安全芯片返回的调用结果,对调用结果进行解析,获得解析后的函数调用结果;其中,调用结果包括但不限于函数调用结果和错误码。错误码是在通过目标调用函数进行系统调用出错时生成的代码。可以理解的是,若通过目标调用函数进行系统调用成功,则对应的错误码为0或为空。若通过目标调用函数进行系统调用失败,则函数调用结果为空。

例如,若目标调用函数为数据读取函数read,则调用结果包括读取到的数据和错误码。

在一个实施例中,所述步骤201之前,包括:

发送注册通知指令至所述安全芯片,以使所述安全芯片根据所述注册通知指令进行注册通知;

启动监听模式,在监听到所述安全芯片发送的通知时,根据所述通知生成对应的调用命令。

在具体应用中,发送注册通知指令至安全芯片,以使安全芯片在接收到注册通知指令时根据该注册通知指令进行注册通知,实现在安全芯片检测到触发数据时,生成对应的通知并反馈回来;启动select监听模式,在监听到安全芯片发送的通知时,根据通知生成对应的调用命令。

例如,若通知显示安全芯片内有检测到ic卡插入,则生成数据读取调用命令(改数据读取调用命令包括数据读取函数的名称read和该数据读取函数的参数),并将数据读取调用命令发送至安全芯片,以控制安全芯片根据数据读取调用命令中包含的数据读取函数(read)执行数据读取操作。

在一个实施例中,所述步骤201之前,还包括:

创建套接字接口,所述套接字接口用于接收所述调用结果和所述通知。

在具体应用中,预先创建套接字接口,套接字接口用于接收安全芯片发送的调用结果和通知。

如图3所示,提供了一种应用芯片与安全芯片间的数据传输软件框架的示意图。

如图3所示,在应用芯片端,在销售终端软件开发工具包possdk和通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)之间添加了基于套接字(socket)的进程间通信层,以实现多客户端的连接和数据传输。

应用芯片在发送注册通知前,可向安全芯片发送开放函数(open)调用命令:通过应用程序层调用possdk中预设的开放接口(例如,xxx_open接口),预设开放接口发送开放函数(open)调用命令到安全芯片,安全芯片在开放函数rpc_open中执行系统调用,安全芯片执行开放函数系统调用成功后返回sp_fd给上述预设的开放接口,表示开放函数系统调用成功,实现了开放接入功能。

应用芯片在开放函数系统调用成功后,可创建一对相互连接的套接字(套接字可以是无名称的套接字,便于传输数据),套接字包括读句柄sv[0]和写句柄sv[1]。应用芯片在将注册通知命令发送到安全芯片时,创建监听线程并将写句柄sv[1]作为参数传入上述线程,同时调用select监听socket客户端的读写句柄,并将读句柄sv[0]发送至应用程序层,以使应用程序层将读句柄sv[0]添加进select监听;

应用芯片端在通过select监听到套接字接收到安全芯片发送的通知时,读取通知中的数据,并在写句柄sv[1]写入1字节数据以唤醒应用程序层的select监听。应用程序在通过select监听到套接字读句柄sv[0]接收到的通知时,调用possdk的任一数据读取接口(例如,xxx_read)读取写句柄sv[1]中的数据,根据通知中包含的数据生成对应的数据读取调用命令,并发送至安全芯片以进行系统调用。同时连接socket服务,通用异步收发传输器uart在接收到安全芯片sp反馈的调用结果时,将调用结果发送到相应的套接字socket客户端中并发送至possdk,possdk对调用结果进行解析,将解析后获得的函数调用结果和错误码返回给应用程序层,以实现双处理器兼容单处理器的select的功能,提高双芯片间数据传输的效率。

根据携带目标函数的函数名称的调用指令,在目标函数内进行系统调用,使得应用芯片可直接获得安全芯片的数据调用结果,实现跨芯片间的系统调用,提高了系统的数据处理效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例三

对应于上文实施例一所述的数据调用方法,图4示出了本申请实施例提供的数据调用系统100的结构框图,应用于安全芯片,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图4,该数据调用系统100包括:

接收模块,用于接收应用芯片发送的调用命令;其中,所述调用命令包括目标调用函数的函数名和参数;

第一解析模块,用于解析所述调用命令,获得所述调用命令中包括的所述函数名;

调用模块,用于通过所述目标调用函数进行系统调用,获得调用结果,并将所述调用结果反馈至所述应用芯片;其中,调用结果包括函数调用结果和错误码。

在一个实施例中,所述数据调用系统100,还包括:

设定模块,用于预先设定与所述应用芯片之间的通信协议,所述通信协议用于设定所述调用命令的格式。

在一个实施例中,所述数据调用系统100,还包括:

注册模块,用于在接收到所述应用芯片发送的注册通知指令时,根据所述注册通知指令完成注册通知;

生成模块,用于在检测到触发数据时,根据所述触发数据生成通知,将所述通知发送至所述应用芯片;其中,所述通知用于通知所述应用芯片在所述安全芯片端检测到触发数据。

根据携带目标函数的函数名称的调用指令,在目标函数内进行系统调用,使得应用芯片可直接获得安全芯片的数据调用结果,实现跨芯片间的系统调用,提高了系统的数据处理效率。

实施例四

对应于上文实施例二所述的数据调用方法,图5示出了本申请实施例提供的数据调用系统200的结构框图,应用于应用芯片,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图5,该数据调用系统200包括:

第一发送模块201,用于发送调用命令至安全芯片,以使所述安全芯片根据所述协议数据进行系统调用;其中,调用命令包括目标调用函数的函数名和参数;

第二解析模块202,用于接收所述安全芯片返回的调用结果并进行解析,获得解析后的函数调用结果;其中,调用结果包括函数调用结果和错误码。

在一个实施例中,所述数据调用系统200,还包括:

第二发送模块,用于发送注册通知指令至所述安全芯片,以使所述安全芯片根据所述注册通知指令进行注册通知;

监听模块,用于启动监听模式,在监听到所述安全芯片发送的通知时,根据所述通知生成对应的调用命令。

所述数据调用系统200,还包括:

创建模块,用于创建套接字接口,所述套接字接口用于接收所述调用结果和所述通知。

根据携带目标函数的函数名称的调用指令,在目标函数内进行系统调用,使得应用芯片可直接获得安全芯片的数据调用结果,实现跨芯片间的系统调用,提高了系统的数据处理效率。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图6为本申请一实施例提供的双芯片销售终端(pointofsale,pos)的结构示意图。如图6所示,该实施例的双芯片销售终端6包括:安全芯片60、应用芯片61、在所述安全芯片60存储并可运行的计算机程序62和在所述应用芯片61存储并可运行的计算机程序63,所述安全芯片60执行所述计算机程序62时实现上述实施例一中数据调用方法的步骤,所述应用芯片61执行所述计算机程序63时实现上述实施例二中数据调用方法的步骤。

所述双芯片销售终端6可以是销售终端等设备。该双芯片销售终端可包括,但不仅限于,安全芯片60和应用芯片61。本领域技术人员可以理解,图6仅仅是双芯片销售终端6的举例,并不构成对双芯片销售终端6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称安全芯片60可以是安全芯片(securityprocessor,sp);所称应用芯片61可以是应用芯片(applicationprocessor,ap)。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/双芯片销售终端的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1