CN113840271B - 一种nfc数据的传输方法、装置、电子设备及存储介质 - Google Patents

一种nfc数据的传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113840271B
CN113840271B CN202111136334.8A CN202111136334A CN113840271B CN 113840271 B CN113840271 B CN 113840271B CN 202111136334 A CN202111136334 A CN 202111136334A CN 113840271 B CN113840271 B CN 113840271B
Authority
CN
China
Prior art keywords
data
nfc
plug
operating system
transmitting
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.)
Active
Application number
CN202111136334.8A
Other languages
English (en)
Other versions
CN113840271A (zh
Inventor
王锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202111136334.8A priority Critical patent/CN113840271B/zh
Publication of CN113840271A publication Critical patent/CN113840271A/zh
Application granted granted Critical
Publication of CN113840271B publication Critical patent/CN113840271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种NFC数据的传输方法、装置、电子设备、可读存储介质以及计算机程序产品,涉及操作系统领域。该方案应用于电子设备,该电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,具体包括:在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;所述第一数据收发插件以及所述第二数据收发插件用于NFC数据的收发;基于所述第一数据收发插件以及所述第二数据收发插件,在运行于所述第一操作系统上的NFC硬件设备与运行于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输。该方案能够使运行于第二操作系统上的目标应用,能够使用为第一操作系统配置相应的NFC硬件设备,来实现目标应用的NFC功能。

Description

一种NFC数据的传输方法、装置、电子设备及存储介质
技术领域
本公开涉及操作系统领域,具体涉及一种NFC数据的传输方法、装置、电子设备、可读存储介质以及计算机程序产品。
背景技术
操作系统兼容,对丰富操作系统应用生态有着重要的意义。例如:Linux操作系统兼容Android系统环境以运行Android应用(App)对丰富Linux操作系统应用生态有着重要的意义。
发明内容
本公开提供了提供一种NFC数据的传输方法、装置、电子设备、可读存储介质以及计算机程序产品,以使运行于第二操作系统上的具有NFC功能的应用,能够使用为第一操作系统配置相应的NFC硬件设备。
根据本公开的一方面,提供了一种NFC数据的传输方法,应用于电子设备,所述电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,该方法可以包括以下步骤:
在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;所述第一数据收发插件以及所述第二数据收发插件用于NFC数据的收发;
基于所述第一数据收发插件以及所述第二数据收发插件,在运行于所述第一操作系统上的NFC硬件设备与运行于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输。
根据本公开的第二方面,提供了一种NFC数据的传输装置,应用于电子设备,所述电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,该传输装置可以包括:
数据收发插件设置单元,用于在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;所述第一数据收发插件以及所述第二数据收发插件用于NFC数据的收发;
数据传输单元,用于基于所述第一数据收发插件以及所述第二数据收发插件,在运行于所述第一操作系统上的NFC硬件设备与运行于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开任一实施例中的方法。
本公开的技术,能够基于在第一操作系统中设置第一数据收发插件以及在第二操作系统中设置第二数据收发插件,实现运行于第一操作系统上的NFC硬件设备与运行于第二操作系统上的目标应用之间的NFC数据传输。从而能够使运行于第二操作系统上的目标应用,能够使用为第一操作系统配置相应的NFC硬件设备,来实现目标应用的NFC功能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开的实施例提供一种NFC数据的传输方法的流程图;
图2为本公开实施例中提供的一种NFC数据传输方法的流程图;
图3为本公开的实施例中提供的一种NFC数据传输的示意图;
图4为本公开的实施例提供一种NFC数据的传输装置的示意图;
图5为本公开的实施例提供的一种电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开实施例所提供的NFC数据的传输方法,应用于电子设备,该电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统。
在具体的实现上,有多种方式可以将第二操作系统部署在第一操作系统中,例如二者可以共享Linux内核,通过LXC(Linux Container,内核虚拟化)、容器化等技术实现。例如,第二操作系统可以在第一操作系统的用户态空间实现一套完整的内核和硬件抽象层并通过内核实现对第一操作系统内核的系统调用。
例如,第一操作系统可以是各种GNU/Linux发行版,如Ubuntu(乌班图)、Debian、Red Hat(红帽)等。需要说明的是,第一操作系统并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,例如Windows系统中的WSL(Windows Subsystem forLinux,Windows下的Linux子系统)。
例如,第二操作系统可以是Android(安卓)操作系统,涵盖Google发行的AndroidOS(Operating System,操作系统)以及AOSP(Android Open Source Project,Android开放源代码项目)和基于AOSP的各种衍生系统,如MIUI、EMUI、One UI等。还有多种其它类型的操作系统可以通过虚拟化、容器化等方式运行在第一操作系统中,例如Tizen(泰泽)、鸿蒙、Meego(米狗)等均可作为第二操作系统的示例,同样适用于本公开实施例的技术方案。
尽管没有明确描述的,本领域技术人员可以理解,本公开的技术方案,第一和第二操作系统还可以是同样的操作系统,例如在Android中运行Android等。
在下述实施例中,硬件抽象层是对操作系统内核驱动程序的封装,向上对各种应用层需求提供硬件访问接口,向下屏蔽底层硬件的驱动实现细节,例如Android系统中的HAL(Hardware Abstraction Layer,硬件抽象层)、Tizen系统中的OAL等。
在下述实施例中,对应于不同的第二操作系统,具有各自对应的NFC(Near FieldCommunication,近场通信)协议栈和NFC系统模块;例如,Android中的NFC系统模块为Android Framewrok(应用框架层)中的com.android.nfc,NFC协议栈为libnfc-nci;Tizen中的NFC系统模块为nfc-manager,NFC协议栈为NFC Stack等。
在下述实施例中,电子设备,包括但不限于用户设备(UE,User Equipment)、移动设备、平板电脑、笔记本电脑、手机、个人数字处理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。
为了示意的方便,在下述实施例中多处以Linux中运行Android为例说明本公开的实施例的实现,这仅是示意性的。
本公开提供一种NFC数据的传输方法,具体请参照图1,其为本公开的实施例提供一种NFC数据的传输方法的流程图。该方法可以包括以下步骤:
步骤S101:在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;第一数据收发插件以及第二数据收发插件用于NFC数据的收发。
步骤S102:基于第一数据收发插件以及第二数据收发插件,在运行于第一操作系统上的NFC硬件设备与运行于第二操作系统上的目标应用之间,实现NFC数据的传输。
本公开的实施例中提供的NFC数据的传输方法,能够基于在第一操作系统中设置第一数据收发插件以及在第二操作系统中设置第二数据收发插件,实现第一操作系统下的NFC硬件设备与运行于第二操作系统上的目标应用之间的NFC数据传输。从而能够使运行于第二操作系统上的目标应用,能够使用为第一操作系统配置相应的NFC硬件设备,来实现目标应用的NFC功能。
所谓目标应用为具有NFC功能的应用,所谓NFC功能包括基于NFC的刷卡、支付、连接、验证、读取、写入等功能。
所谓NFC数据包括如下数据中的至少一种:目标应用针对NFC硬件设备发送的请求信息发送的NFC参数;目标应用针对NFC硬件设备发送的控制命令;NFC硬件设备向目标应用广播的广播消息NFC硬件设备读取的NFC标签数据。NFC硬件设备包括但不限于NFC芯片和天线。
在至少一个实施例中,在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件,包括:
在第一操作系统中的用于管理NFC服务的守护进程中,添加用于NFC数据收发的插件作为第一数据收发插件;在第二操作系统的NFC控制器接口的硬件抽象层中,添加用于NFC数据收发的插件作为第二数据收发插件。
以Linux系统中运行Android为例,为了适配Android HAL层,保证对Android上层不同应用统一接口,从而减少上层不同应用使用NFC硬件设备不兼容的问题,本公开的实施例中,具体采用如下方式来实现,在Linux操作系统中设置第一数据收发插件,并在Android操作系统中设置第二数据收发插件:在Linux操作系统中的用于管理NFC服务的守护进程中,添加用于NFC数据收发的插件作为第一数据收发插件;在Android操作系统的硬件抽象层中的NCI HAL method中,添加用于NFC数据收发的插件作为第二数据收发插件。
相应的,基于第一数据收发插件以及第二数据收发插件,在运行在于第一操作系统上的NFC硬件设备与运行在于第二操作系统上的目标应用之间,实现NFC数据的传输,包括:
在第一数据收发插件以及第二数据收发插件之间,采用进程间通信(IPC)的方式实现NFC数据的传输。
在Linux系统中,所谓用于管理NFC服务的守护进程可以为neard,其具体可用于管理NFC硬件设备的操作。
所谓NCI(NFC Controller Interface)是NFC Forum于2012年制定的一个规范,其主要关注点为DH(Device Host,主机设备)如何控制并与NFCC(NFC Controller,NFC的控制器)交互。由于NCI能够通过一套标准的方法来实现对NFCC的控制以及数据交互。在第一数据收发插件以及第二数据收发插件之间,采用进程间通信(IPC)的方式实现NFC数据的传输,能够保证对操作系统上层不同应用统一接口,从而减少上层不同应用使用NFC硬件设备不兼容的问题。
以Linux系统中运行Android为例,NCI能够统一Android中NFC HAL层的实现,即通过一套标准的方法来实现对NFCC的控制以及数据交互。因此,在Linux操作系统中的用于管理NFC服务的守护进程中添加第一数据收发插件,在Android操作系统的硬件抽象层(HAL)中的NCI HAL method中添加第二数据收发插件,并在第一数据收发插件以及第二数据收发插件之间,采用进程间通信(IPC)的方式实现NFC数据的传输,能够保证对Android上层不同应用统一接口,从而减少上层不同应用使用NFC硬件设备不兼容的问题。
本公开的实施例中,在第二操作系统中,NFC数据的传输过程包括:在第二数据收发插件接收到第一数据收发插件发送的NFC数据的情况下,将NFC数据传输到目标应用;以及将目标应用中的NFC数据传输到第一数据收发插件。
本公开的实施例中具体以在第二数据收发插件接收到第一数据收发插件发送的NFC数据的情况下,将NFC数据传输到目标应用为例,对在第二操作系统中,NFC数据的传输NFC数据的传输过程进行详细的说明。
请参见图2,以第一操作系统为GNU/Linux,第二操作系统为Android为例,提供了本公开实施例中提供的一种NFC数据传输方法的流程图。
步骤S201:在第二数据收发插件接收到第一数据收发插件发送的NFC数据的情况下,利用第二数据收发插件,将NFC数据发送给NFC控制器接口的硬件抽象层。
以Linux系统中运行Android为例,在第二数据收发插件接收到第一数据收发插件发送的NFC数据的情况下,利用第二数据收发插件,将NFC数据发送给NFC控制器接口的硬件抽象层:NCI HAL method。
步骤S202:通过NFC控制器接口的硬件抽象层,将NFC数据发送至第二操作系统的NFC协议栈。
以Linux系统中运行Android为例,通过NCI HAL method,将NFC数据发送至NFC协议栈:libnfc-nci。
步骤S203:通过NFC协议栈,将NFC数据发送给第二操作系统的NFC系统模块。
以Linux系统中运行Android为例,通过libnfc-nci,将NFC数据发送给NFC系统模块:Android Framewrok的com.android.nfc。
步骤S204:利用NFC系统模块,将NFC数据发送给目标应用。
以Linux系统中运行Android为例,利用com.android.nfc,将NFC数据发送给目标应用。
其中,HAL层能实现libnfc-nci定义的方法,利用设备的文件操作接口同driver通信。
本公开的实施例中,在第一操作系统中,NFC数据的传输方式包括:在第一数据收发插件接收到第二数据收发插件发送的NFC数据的情况下,将NFC数据传输到NFC设备;以及将NFC设备中的NFC数据传输到第二数据收发插件。本公开的实施例中具体以在将NFC设备中的NFC数据传输到第二数据收发插件为例,对在第一操作系统中,NFC数据的传输方式进行详细的说明。
如图3所示,以第一操作系统为GNU/Linux,第二操作系统为Android为例,提供了本公开的实施例中提供的一种NFC数据传输的示意图。
首先,NFC设备通过NFC设备驱动程序(Linux NFC Drivers)将NFC数据传输至Linux操作系统中的kernel NFC core。然后,Linux操作系统中的kernel NFC core将NFC数据发送给守护进程。最后,在守护进程接收到Linux操作系统中的kernel NFC core发送的NFC数据的情况下,通过守护进程将NFC数据发送给第一数据收发插件。
在上述实施例中,NFC Core仅为Linux下NFC子系统实现方式的一种,NFC Core使用generic netlink接收userspace的控制命令或者广播事件到userspace。
在第一数据收发插件接收到NFC数据后,即可采用进程间通信(IPC)的方式将NFC数据发送给第二数据收发插件。
有多种方式可以用于实现IPC,包括但不限于管道(PIPE)、消息队列(MQ)、共享内存(Share Memory)、内存映射文件(Memory Map)、套接字(Socket)等。
如图4所示,本公开的实施例提供一种NFC数据的传输装置,应用于电子设备,电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,该传输装置包括:
数据收发插件设置单元401,用于在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;第一数据收发插件以及第二数据收发插件用于NFC数据的收发;
数据传输单元402,用于基于第一数据收发插件以及第二数据收发插件,在运行于第一操作系统上的NFC硬件设备与运行于第二操作系统上的目标应用之间,实现NFC数据的传输。
在一种实施方式中,数据收发插件设置单元401,包括:
第一数据收发插件设置子单元,用于在第一操作系统中的用于管理NFC服务的守护进程中,添加用于NFC数据收发的插件作为第一数据收发插件;
第二数据收发插件设置子单元,用于在第二操作系统的NFC控制器接口的硬件抽象层中,添加用于NFC数据收发的插件作为第二数据收发插件。
在一种实施方式中,数据传输单元402具体用于在第一数据收发插件以及第二数据收发插件之间,采用进程间通信(IPC)的方式实现NFC数据的传输。
在一种实施方式中,数据传输单元402具体用于在第二数据收发插件接收到第一数据收发插件发送的NFC数据的情况下,利用第二数据收发插件,将NFC数据发送给NFC控制器接口的硬件抽象层;通过NFC控制器接口的硬件抽象层,将NFC数据发送至第二操作系统的NFC协议栈;通过NFC协议栈,将NFC数据发送给第二操作系统的NFC系统模块;利用NFC系统模块,将NFC数据发送给目标应用。
在一种实施方式中,数据传输单元402具体用于在守护进程接收到第一操作系统中的NFC子系统发送的NFC数据的情况下,通过守护进程将NFC数据发送给第一数据收发插件。
在一种实施方式中,NFC数据包括如下数据中的至少一种:
目标应用针对NFC硬件设备发送的请求信息发送的NFC参数;
目标应用针对NFC硬件设备发送的控制命令;
NFC硬件设备向目标应用广播的广播消息;
NFC硬件设备读取的NFC标签数据。
根据本公开实施例,本公开还提供了一种电子设备和一种可读存储介质。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如NFC数据的传输方法。例如,在一些实施例中,NFC数据的传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的NFC数据的传输方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行NFC数据的传输方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (8)

1.一种近场通信(NFC)数据的传输方法,应用于电子设备,所述电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,其特征在于,所述传输方法包括:
在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;所述第一数据收发插件以及所述第二数据收发插件用于NFC数据的收发;
基于所述第一数据收发插件以及所述第二数据收发插件,在运行于所述第一操作系统上的NFC硬件设备与运行于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输;
所述在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件,包括:
在所述第一操作系统中的用于管理NFC服务的守护进程中,添加用于所述NFC数据收发的插件作为第一数据收发插件;
在所述第二操作系统的NFC控制器接口的硬件抽象层中,添加用于所述NFC数据收发的插件作为第二数据收发插件;
所述基于所述第一数据收发插件以及所述第二数据收发插件,在运行在于所述第一操作系统上的NFC硬件设备与运行在于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输,包括:
在所述第一数据收发插件以及所述第二数据收发插件之间,采用进程间通信(IPC)的方式实现所述NFC数据的传输。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一数据收发插件以及所述第二数据收发插件,在运行在于所述第一操作系统上的NFC硬件设备与运行在于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输,包括:
在所述第二数据收发插件接收到所述第一数据收发插件发送的所述NFC数据的情况下,利用所述第二数据收发插件,将所述NFC数据发送给所述NFC控制器接口的硬件抽象层;
通过所述NFC控制器接口的硬件抽象层,将所述NFC数据发送至第二操作系统的NFC协议栈;
通过所述NFC协议栈,将所述NFC数据发送给第二操作系统的NFC系统模块;
利用所述NFC系统模块,将所述NFC数据发送给所述目标应用。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一数据收发插件以及所述第二数据收发插件,在运行在于所述第一操作系统上的NFC硬件设备与运行在于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输,包括:
在所述守护进程接收到所述第一操作系统中的NFC子系统发送的所述NFC数据的情况下,通过所述守护进程将所述NFC数据发送给所述第一数据收发插件。
4.根据权利要求1所述的方法,其特征在于,所述NFC数据包括如下数据中的至少一种:
所述目标应用发送的NFC参数;
所述目标应用针对所述NFC硬件设备发送的控制命令;
所述NFC硬件设备读取的NFC标签数据。
5.一种NFC数据的传输装置,应用于电子设备,所述电子设备包括第一操作系统和部署在第一操作系统中的第二操作系统,该传输装置包括:
数据收发插件设置单元,用于在第一操作系统中设置第一数据收发插件,并在第二操作系统中设置第二数据收发插件;所述第一数据收发插件以及所述第二数据收发插件用于NFC数据的收发;
数据传输单元,用于基于所述第一数据收发插件以及所述第二数据收发插件,在运行于所述第一操作系统上的NFC硬件设备与运行于所述第二操作系统上的目标应用之间,实现所述NFC数据的传输;
数据收发插件设置单元,包括:
第一数据收发插件设置子单元,用于在第一操作系统中的用于管理NFC服务的守护进程中,添加用于NFC数据收发的插件作为第一数据收发插件;
第二数据收发插件设置子单元,用于在第二操作系统的NFC控制器接口的硬件抽象层中,添加用于NFC数据收发的插件作为第二数据收发插件;
数据传输单元402具体用于在第一数据收发插件以及第二数据收发插件之间,采用进程间通信(IPC)的方式实现NFC数据的传输。
6.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至4中任意一项所述的方法。
7.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1至4中任意一项所述的方法。
8.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至4任意一项所述方法的步骤。
CN202111136334.8A 2021-09-27 2021-09-27 一种nfc数据的传输方法、装置、电子设备及存储介质 Active CN113840271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111136334.8A CN113840271B (zh) 2021-09-27 2021-09-27 一种nfc数据的传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111136334.8A CN113840271B (zh) 2021-09-27 2021-09-27 一种nfc数据的传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113840271A CN113840271A (zh) 2021-12-24
CN113840271B true CN113840271B (zh) 2024-04-19

Family

ID=78970916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111136334.8A Active CN113840271B (zh) 2021-09-27 2021-09-27 一种nfc数据的传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113840271B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113990354B (zh) * 2021-12-29 2022-06-17 北京鲸鲮信息系统技术有限公司 基于Linux的音频控制方法、装置、设备和存储介质
CN117978210A (zh) * 2022-12-09 2024-05-03 北京小米移动软件有限公司 近场通信nfc业务的处理方法、装置、电子设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103985042A (zh) * 2014-06-04 2014-08-13 孙国华 一种基于nfc手机及ic卡的数字信息加解密方法
CN105183455A (zh) * 2015-08-13 2015-12-23 深圳市广和通无线股份有限公司 一种在Android平台下集成JT/T808程序的方法和系统
CN105653336A (zh) * 2015-12-30 2016-06-08 惠州市德赛西威汽车电子股份有限公司 双操作系统下整合应用的方法
CN206021018U (zh) * 2016-09-27 2017-03-15 美的智慧家居科技有限公司 系统级封装芯片及包含该芯片的智慧家居物联网装置
CN110312266A (zh) * 2018-03-20 2019-10-08 成都鼎桥通信技术有限公司 终端的多系统实现wifi通信的方法和装置
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN110737420A (zh) * 2018-07-19 2020-01-31 上海博泰悦臻电子设备制造有限公司 语音冲突管理方法、系统、计算机可读存储介质及设备
CN111078299A (zh) * 2018-10-19 2020-04-28 中兴通讯股份有限公司 一种多系统终端设备及其实现方法、存储介质
CN111414249A (zh) * 2019-01-07 2020-07-14 上汽通用汽车有限公司 一种车载主机系统
CN112346804A (zh) * 2020-10-28 2021-02-09 武汉蓝星科技股份有限公司 一种linux-android双系统终端的状态栏显示系统及方法
CN112492564A (zh) * 2020-12-08 2021-03-12 Oppo广东移动通信有限公司 系统切换方法和装置、电子设备、可读存储介质
CN112749017A (zh) * 2019-10-31 2021-05-04 中兴通讯股份有限公司 移动通信方法及装置、存储介质、电子装置
CN113127282A (zh) * 2021-04-23 2021-07-16 北京字节跳动网络技术有限公司 一种帧能力确定方法、装置、电子设备和存储介质
CN113411271A (zh) * 2021-06-16 2021-09-17 阿波罗智联(北京)科技有限公司 数据接入方法、装置、设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378038B2 (en) * 2013-06-07 2016-06-28 American Megatrends, Inc. Methods, devices and computer readable storage devices for emulating a gyroscope in a guest operating system from a host operating system
US9241044B2 (en) * 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US11429796B2 (en) * 2017-10-20 2022-08-30 Galatea Technology, Llc Method and apparatus for virtually writing to a NFC chip
US11086800B2 (en) * 2019-06-01 2021-08-10 Apple Inc. Execution space agnostic device drivers

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103985042A (zh) * 2014-06-04 2014-08-13 孙国华 一种基于nfc手机及ic卡的数字信息加解密方法
CN105183455A (zh) * 2015-08-13 2015-12-23 深圳市广和通无线股份有限公司 一种在Android平台下集成JT/T808程序的方法和系统
CN105653336A (zh) * 2015-12-30 2016-06-08 惠州市德赛西威汽车电子股份有限公司 双操作系统下整合应用的方法
CN206021018U (zh) * 2016-09-27 2017-03-15 美的智慧家居科技有限公司 系统级封装芯片及包含该芯片的智慧家居物联网装置
CN110312266A (zh) * 2018-03-20 2019-10-08 成都鼎桥通信技术有限公司 终端的多系统实现wifi通信的方法和装置
CN110737420A (zh) * 2018-07-19 2020-01-31 上海博泰悦臻电子设备制造有限公司 语音冲突管理方法、系统、计算机可读存储介质及设备
CN111078299A (zh) * 2018-10-19 2020-04-28 中兴通讯股份有限公司 一种多系统终端设备及其实现方法、存储介质
CN111414249A (zh) * 2019-01-07 2020-07-14 上汽通用汽车有限公司 一种车载主机系统
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN112749017A (zh) * 2019-10-31 2021-05-04 中兴通讯股份有限公司 移动通信方法及装置、存储介质、电子装置
CN112346804A (zh) * 2020-10-28 2021-02-09 武汉蓝星科技股份有限公司 一种linux-android双系统终端的状态栏显示系统及方法
CN112492564A (zh) * 2020-12-08 2021-03-12 Oppo广东移动通信有限公司 系统切换方法和装置、电子设备、可读存储介质
CN113127282A (zh) * 2021-04-23 2021-07-16 北京字节跳动网络技术有限公司 一种帧能力确定方法、装置、电子设备和存储介质
CN113411271A (zh) * 2021-06-16 2021-09-17 阿波罗智联(北京)科技有限公司 数据接入方法、装置、设备以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Linux自由及开放源代码的Android操作系统;张华亮;;计算机与网络;20160226(第Z1期);全文 *

Also Published As

Publication number Publication date
CN113840271A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN113626224B (zh) 一种nfc数据的交互方法、装置、电子设备及存储介质
CN106095284B (zh) 电子设备
CN113840271B (zh) 一种nfc数据的传输方法、装置、电子设备及存储介质
KR102139217B1 (ko) 안테나 장치
US11093069B2 (en) Method and apparatus for performing a function based on a touch event and a relationship to edge and non-edge regions
AU2013277002B2 (en) Touch event processing method and portable device implementing the same
US11936747B2 (en) Cloud-based composable data layer
KR102219861B1 (ko) 화면 공유 방법 및 그 전자 장치
CN113590363B (zh) 数据发送方法、装置、电子设备及存储介质
US10372383B2 (en) Providing secure access to data in mobile devices
US9201814B2 (en) Electronic devices and methods for sharing peripheral devices in dual operating systems
US9354919B2 (en) Method and device for loading android virtual machine application
US9606665B2 (en) Object moving method and electronic device implementing the same
US10446912B2 (en) Electronic device and method of improving antenna performance thereof
CN116114253A (zh) 电子装置和由电子装置执行的用于在外部装置显示器上提供应用屏幕的方法
CN112789597A (zh) 用于执行多个操作系统的电子设备及其控制方法
CN114035863A (zh) 在Linux系统中操作安卓应用的方法、装置和设备
CN114691300A (zh) 一种虚拟机实例的热迁移方法
US20150293691A1 (en) Electronic device and method for selecting data on a screen
US10057751B2 (en) Electronic device and method for updating accessory information
US8881176B2 (en) Block device management
US20180262707A1 (en) Method for Processing Ordered Broadcast and Electronic Device
CN113950034B (zh) 蓝牙行为的模拟方法、装置和设备
WO2023045510A1 (zh) 语音通道建立方法、装置、电子设备及存储介质
CN109710322A (zh) 通信设备复位方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220401

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 100080 floor 2, No. 39, West Street, Haidian District, Haidian District, Beijing 2005

Applicant before: Beijing jingling Information System Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant