CN113590363A - 数据发送方法、装置、电子设备及存储介质 - Google Patents

数据发送方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113590363A
CN113590363A CN202111125427.0A CN202111125427A CN113590363A CN 113590363 A CN113590363 A CN 113590363A CN 202111125427 A CN202111125427 A CN 202111125427A CN 113590363 A CN113590363 A CN 113590363A
Authority
CN
China
Prior art keywords
operating system
instruction data
modem
sending
abstraction layer
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.)
Granted
Application number
CN202111125427.0A
Other languages
English (en)
Other versions
CN113590363B (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 Jingling Information System 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 Jingling Information System Technology Co Ltd filed Critical Beijing Jingling Information System Technology Co Ltd
Priority to CN202111125427.0A priority Critical patent/CN113590363B/zh
Publication of CN113590363A publication Critical patent/CN113590363A/zh
Application granted granted Critical
Publication of CN113590363B publication Critical patent/CN113590363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了一种数据发送方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:获取调制解调器指令数据;根据第二操作系统的硬件抽象层接口描述语言规则,对调制解调器指令数据进行编码,得到编码后的指令数据;将编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使所述调制解调硬件抽象层将编码后的指令数据发送至调制解调器。本申请提供了一种第一操作系统适配第二操作系统调制解调硬件抽象层的解决方案,可以在第一操作系统上完整运行电话系统,实现电话系统的应用程序在第一操作系统中高效运行。

Description

数据发送方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据发送方法、装置、电子设备及存储介质。
背景技术
在移动平板设备和便携式笔记本电脑设备在硬件层面融合的趋势下,对操作系统层面提出更高的要求,要求操作系统不但能支持PC端的桌面系统应用,而且要求操作系统能支持移动设备特有的电话系统应用。
目前,能够满足这种需求的操作系统仅有IOS操作系统,而Android操作系统是为移动设备而生的,虽然支持电话系统应用,但不支传统的PC端的桌面系统应用,而Linux操作系统则正相反,支持PC端的桌面系统应用,却不支持电话系统应用。
发明内容
本申请提供了一种数据发送方法、装置、电子设备及存储介质。
一方面,本申请提供了一种数据发送方法,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,该方法包括:
获取调制解调器指令数据;
根据第二操作系统的硬件抽象层接口描述语言规则,对所述调制解调器指令数据进行编码,得到编码后的指令数据;
将所述编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使所述调制解调硬件抽象层将所述编码后的指令数据发送至调制解调器。
另一方面,本申请提供了一种数据发送装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,该装置包括:
获取模块,用于获取调制解调器指令数据;
编码模块,用于根据第二操作系统的硬件抽象层接口描述语言规则,对所述调制解调器指令数据进行编码,得到编码后的指令数据;
发送模块,用于将所述编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使所述调制解调硬件抽象层将所述编码后的指令数据发送至调制解调器。
另一方面,本申请提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本申请任一实施例中的方法。
另一方面,申请的提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本申请任一实施例中的方法。
另一方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任一实施例中的方法。
本申请提供的一种数据发送方法、装置、电子设备及存储介质,通过获取调制解调器指令数据,根据第二操作系统的硬件抽象层接口描述语言(HAL Interface DescriptionLanguage,HIDL)规则,对调制解调器指令数据进行编码,将编码后的指令数据从第一操作系统发送至第二操作系统的硬件抽象层,以使调制解调硬件抽象层将编码后的指令数据发送至调制解调器,从而实现第一操作系统与第二操作系统调制解调硬件抽象层的适配,进而实现电话系统的应用程序在第一操作系统中高效运行。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请一实施例中数据发送方法的示意图;
图2为本申请一实施例中数据发送方法的示意图;
图3为本申请一实施例中Linux操作系统到Android HAL的数据传输的示意图;
图4为本申请一实施例中Android HAL到Linux操作系统的数据传输的示意图;
图5为本申请一实施例中数据发送装置的示意图;
图6是用来实现本申请实施例的数据发送方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
对于安装了Linux操作系统的手机、平板和便携式笔记本电脑等移动终端设备,如果要支持电话系统的应用程序,有一种方案是在Linux操作系统的硬件抽象层(HardwareAbstract Layer,HAL)开发一套对应电话系统中调制解调器Modem驱动的应用程序接口(Application Programming Interface,API),实现对Modem驱动的直接调用,这种方法存在以下两个弊端:
1.硬件耦合性高,对于不同的Modem驱动芯片,需要开发出不同的与之对应HAL层接口程序,Linux系统的电话系统接口无法统一;
2.电话系统本身功能十分庞杂,驱动芯片的接口众多,在Linux HAL层实现Modem适配的工作量非常大。
在下述实施例中,申请人以Linux操作系统调用Android操作系统的Modem驱动为例说明了本发明实施例要解决的技术问题。本领域技术人员能够理解,类似的应用场景,只要是以共享操作系统内核实现的容器化的操作系统实现的跨系统的驱动调用都适用于本发明实施例的方法。
例如,作为宿主的第一操作系统和部署在第一操作系统中的第二操作系统是共享Linux内核,通过LXC、容器化等技术实现。
例如,第一操作系统可以是各种桌面Linux发行版,如Ubuntu、Debian、RedHat等。需要说明的是,第一操作系统并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,例如Windows系统中的WSL。
例如,第二操作系统可以是Android(安卓)操作系统,涵盖Google发行的AndroidOS以及AOSP和基于AOSP的各种衍生系统,如MIUI、EMUI、One UI等。
如本领域技术人员所知,还存在多种其它的基于Linux Kernel的用于手机等设备上原生支持调制解调器Modem的移动操作系统,如Tizen、鸿蒙、Meego等作为第二操作系统的示例,同样适用于本发明实施例的技术方案。
在下述实施例中,硬件抽象层HAL是对操作系统内核驱动程序的封装,向上对各种应用层需求提供硬件访问接口,向下屏蔽底层硬件的驱动实现细节。
在下述实施例中,硬件抽象层接口描述语言,又称硬件抽象层接口定义语言,是用来描述软件组件接口的语言规范,使软件组件(不同语言编写的)间相互通信。在Android系统中,硬件抽象层接口描述语言为HIDL,定义了Android Framework与Android HAL实现之间的接口;在Tizen系统中,硬件抽象层接口描述语言为OAL Interface IDL定义了nativesubsystems与Hardware Adaptation Layer实现之间的接口;其它系统的IDL可对应从相应系统的架构手册中查询。
本申请的执行主体可以是任一电子设备,例如,终端设备,包括但不限于用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,PersonalDigital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本申请技术方案可以应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,本实施例中,第一操作系统为Linux操作系统,第二操作系统为Android操作系统。以下将详细介绍本申请实施例中的数据发送方法。
图1为本申请一实施例中数据发送方法的示意图。如图1所示,该方法可以包括:
步骤S101,获取调制解调器指令数据;
终端设备通过Linux操作系统中的电话应用程序获取调制解调器指令数据,调制解调器指令数据可以包括但不限于电话业务相关的指令数据,例如,拨打电话指令、查询sim卡状态指令、查询网络状态指令等。
步骤S102,根据第二操作系统的HIDL规则,对调制解调器指令数据进行编码,得到编码后的指令数据;
其中,HIDL规则是用于指定HAL与其用户之间接口的接口描述语言,可以将指定的类型与函数调用收集到接口(Interface)和包(Package)中。可选的,HIDL 可以将指定的数据结构与方法签名组织到接口中,这些接口会被收集到包中以供使用。
采用HIDL规则,可以把框架(framework)与 HAL 进行隔离,使得框架部分可以直接被覆盖、更新,而不需要重新对 HAL 进行编译。
步骤S103,将编码后的指令数据从第一操作系统发送至第二操作系统的安卓调制解调硬件抽象层,以使调制解调硬件抽象层将编码后的指令数据发送至调制解调器。
终端设备将将编码后的指令数据从Linux操作系统发送至Android Modem HAL,通过Android Modem HAL将编码后的指令数据发送至调制解调器Modem,Modem将编码后的指令数据通过无线电波发送至基站,以实现终端设备和基站之间的通信。
本申请实施例提供的数据发送方法,通过获取调制解调器指令数据,根据HIDL规则,对调制解调器指令数据进行编码,将编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使调制解调硬件抽象层将编码后的指令数据发送至调制解调器,从而实现第一操作系统与第二操作系统的调制解调硬件抽象层的适配,进而实现电话系统的应用程序在第一操作系统中高效运行。
对于步骤S103的具体实现方式,见如下实施例。
在一种可能的实现方式中,将编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,包括:
调用第一操作系统的传输通道进程的发送应用程序接口API,通过发送API将编码后的指令数据从第一操作系统发送至调制解调硬件抽象层。
本实施例中,第一操作系统为Linux操作系统,第二操作系统为Android操作系统。其中,传输通道进程可以为Linux操作系统的一个应用进程。通过调用传输通道进程的发送API,将编码后的指令数据发送至Android Modem HAL,目的是通过Android Modem HAL将数据发送到调制解调器,避免了Linux 操作系统直接与Modem适配导致的工作量大的问题。
在一种可能的实现方式中,该方法还包括:
将编码后的指令数据的发送事件添加到发送API中的事件队列中,监听发送事件的运行结果。
其中,事件队列(event queue)是指每个事件对应一个队列项,每个队列项包括一项事件句柄指针,指向该事件的事件句柄队列;一项事件种类,是基本事件之一。每当进行一次通信时,由方法驱动事件按照所需执行的事件种类,将事件对应的程序句柄及其优先级加入到事件程序句柄队列。
其中,监听发送事件的运行结果可以包括但不限于监听该发送事件的发送进度,事件是否发送完成。
本申请实施例中,通过事件队列可以实现并行处理任务,提高数据处理效率;而且,可以实现系统负载均衡,提高系统的兼容性。
在一种可能的实现方式中,该方法还包括:
在第一操作系统接收到调制解调器发送的上报事件的情况下,调用第一操作系统的传输通道进程的接收API,获取上报事件中的上报数据。
在实际应用中,以第一操作系统为Linux操作系统为例,如果Linux操作系统接收到调制解调器发送的上报事件,则通过传输通道进程的接收API接收上报事件,并从上报事件中获取到上报数据。其中,上报事件可以包括但不限于需要通过Linux操作系统的应用程序的用户界面进行显示的内容。例如,周期性的信号强度事件。Linux操作系统接收到该上报事件之后,获取到其中的上报数据,即信号强度信息,终端设备通过应用程序的用户界面显示当前的信号强度大小。
在一种可能的实现方式中,获取上报事件中的上报数据,包括:
从接收API的事件队列中读取上报事件,根据硬件抽象层接口描述语言规则规则对上报事件进行解码,得到上报数据。
在实际应用中,通过接收API的事件队列监听上报事件,当监听到上报事件时,从事件队列中读取上报事件,并根据硬件抽象层接口描述语言HIDL规则进行解码,得到上报数据。
其中,接收API的事件队列和发送API的事件队列可以通过同一个事件队列模块来实现,也可以通过不同的事件队列模块来实现。
在一种可能的实现方式中,第一操作系统包括Linux操作系统,第二操作系统包括Android操作系统,通过发送API将编码后的指令数据从第一操作系统发送至调制解调硬件抽象层,包括:
将编码后的指令数据通过Hwbinder服务从Linux操作系统发送至Android 操作系统的调制解调硬件抽象层Android Modem HAL。
其中,Hwbinder服务为系统进程间通信方式,可以理解为Linux操作系统和Android操作系统共享的内存,Linux操作系统和Android操作系统都可以从中读取和写入数据。
本申请实施例中,通过Hwbinder服务进行通信,数据处理速度快,效率高。
在一种可能的实现方式中,在将编码后的指令数据通过Hwbinder服务从Linux操作系统发送至Android Modem HAL之前,方法还包括:
预先将Linux操作系统的传输通道进程注册为Hwbinder服务的客户端;
预先将Android Modem HAL注册为Hwbinder服务的服务端。
在实际应用中,在使用Hwbinder服务之前,需要预先进行注册。预先将传输通道进程注册为Hwbinder服务的客户端(client),预先将Android Modem HAL注册为Hwbinder服务的服务端(server)。注册完成之后,才能通过Hwbinder服务实现传输通道进程和AndroidModem HAL的通信。
其中,传输通道进程注册为Hwbinder服务的客户端的具体实现方式见如下实施例:
在一种可能的实现方式中,预先将Linux操作系统的传输通道进程注册为Hwbinder服务的客户端,包括:
利用第一对象创建函数创建客户端的第一对象;
利用第一对象注册函数将第一对象注册到Hwbinder服务中;
配置第一对象调用函数,第一对象调用函数用于调用第一对象以实现编码后的指令数据的传输。
其中,第一对象创建函数、第一对象注册函数以及第一对象调用函数的具体形式本申请不做限定,各函数能实现相应的功能即可。
可选的,第一对象创建函数可以是gbinder_client_new;第一对象注册函数可以是gbinder_client_ipc;第一对象调用函数可以是gbinder_client_transact。
另外,将Android Modem HAL注册为Hwbinder服务的服务端的具体实现方式见如下实施例:
在一种可能的实现方式中,预先将Android Modem HAL注册为Hwbinder服务的服务端,包括:
利用第二对象创建函数创建服务端的第二对象;
利用第二对象注册函数将第二对象注册到Hwbinder服务中;
配置第二对象调用函数,第二对象调用函数用于调用第二对象以实现编码后的指令数据的传输。
其中,第二对象创建函数、第二对象注册函数以及第二对象调用函数的具体形式本申请不做限定,各函数能实现相应的功能即可。
可选的,第二对象创建函数可以是gbinder_ server_new;第二对象注册函数可以是gbinder_server_ipc;第二对象调用函数可以是gbinder_ server_transact。
下面通过一个具体的实施例来介绍本申请中的数据发送方法的实现过程。图2为本申请一实施例中数据发送方法的示意图。如图2所示,本实施例中的方法包括:
步骤S201,获取调制解调器指令数据;
步骤S202,根据HIDL规则,对调制解调器指令数据进行编码,得到编码后的指令数据;
步骤S203,调用Linux操作系统的传输通道进程的发送应用程序接口API,通过发送API将编码后的指令数据从Linux操作系统发送至Android Modem HAL;
步骤S204,将编码后的指令数据的发送事件添加到发送API中的事件队列中,监听发送事件的运行结果;
步骤S205,在Linux操作系统接收到调制解调器发送的上报事件的情况下,调用Linux操作系统的传输通道进程的接收API,获取上报事件中的上报数据。
本申请技术方案中,通过获取调制解调器指令数据,根据HIDL规则,对调制解调器指令数据进行编码,通过调用发送API,将编码后的指令数据从Linux操作系统发送至Android Modem HAL,从而实现Linux操作系统与Android Modem HAL的适配,进而实现电话系统的应用程序在Linux操作系统中高效运行。另外,通过事件队列可以实现并行处理任务,提高数据处理效率;而且,可以实现系统负载均衡,提高系统的兼容性。
图3为本申请一实施例中Linux操作系统到Android HAL的数据传输的示意图。如图3所示,Linux应用程序获取到调制解调器指令数据,并发送到Linux框架层的电话服务,Linux框架层的电话服务根据HIDL规则,对调制解调器指令数据进行编码,得到编码后的指令数据;调用Linux操作系统的传输通道进程的发送应用程序接口API,通过发送API将编码后的指令数据从Linux操作系统发送至Android HAL,Android HAL将编码后的指令数据发送至调制解调器。其中,Android HAL包括Android Modem HAL。预先将Linux操作系统的传输通道进程注册为Hwbinder客户端,预先将Android Modem HAL注册为Hwbinder服务端,通过Hwbinder实现Linux操作系统到Android HAL的数据传输。其中,终端设备预先在内核驱动中配置Hwbinder驱动程序和调制解调器驱动程序。
与图3中的实施例相对应,图4为本申请一实施例中Android HAL到Linux操作系统的数据传输的示意图。如图4所示,Android HAL从调制解调器接收到上报事件后,将上报事件发送至Linux操作系统,Linux操作系统通过调用接收API,获取上报事件,通过Linux操作系统的电话服务,根据HIDL规则,对调制解调器指令数据进行解码,得到上报事件中的上报数据。
图5为本申请一实施例中数据发送装置的示意图。如图5所示,该装置可以包括:
获取模块501,用于获取调制解调器指令数据;
编码模块502,用于根据第二操作系统的硬件抽象层接口描述语言规则,对调制解调器指令数据进行编码,得到编码后的指令数据;
发送模块503,用于将编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使调制解调硬件抽象层将编码后的指令数据发送至调制解调器。
本申请实施例提供的数据发送装置,通过获取调制解调器指令数据,根据HIDL规则,对调制解调器指令数据进行编码,将编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使调制解调硬件抽象层将编码后的指令数据发送至调制解调器,从而实现第一操作系统与第二操作系统的调制解调硬件抽象层的适配,进而实现电话系统的应用程序在第一操作系统中高效运行。
在一种可能的实现方式中,发送模块503具体用于:
调用第一操作系统的传输通道进程的发送应用程序接口API,通过发送API将编码后的指令数据从第一操作系统发送至调制解调硬件抽象层。
在一种可能的实现方式中,装置还包括添加模块,添加模块用于:
将编码后的指令数据的发送事件添加到发送API中的事件队列中,监听发送事件的运行结果。
在一种可能的实现方式中,装置还包括接收模块,接收模块用于:
在第一操作系统接收到调制解调器发送的上报事件的情况下,调用第一操作系统的传输通道进程的接收API,获取上报事件中的上报数据。
在一种可能的实现方式中,接收模块在获取上报事件中的上报数据时,用于:
从接收API的事件队列中读取上报事件,根据硬件抽象层接口描述语言规则对上报事件进行解码,得到上报数据。
在一种可能的实现方式中,第一操作系统包括Linux操作系统,第二操作系统包括Android操作系统,发送模块503具体用于:
将编码后的指令数据通过Hwbinder服务从Linux操作系统发送至Android操作系统的调制解调硬件抽象层Android Modem HAL。
在一种可能的实现方式中,装置还包括配置模块,配置模块包括第一配置单元和第二配置单元;
第一配置单元,用于预先将Linux操作系统的传输通道进程注册为Hwbinder服务的客户端;
第二配置单元,用于预先将Android Modem HAL注册为Hwbinder服务的服务端。
在一种可能的实现方式中,第一配置单元具体用于:
利用第一对象创建函数创建客户端的第一对象;
利用第一对象注册函数将第一对象注册到Hwbinder服务中;
配置第一对象调用函数,第一对象调用函数用于调用第一对象以实现编码后的指令数据的传输。
在一种可能的实现方式中,第二配置单元具体用于:
利用第二对象创建函数创建服务端的第二对象;
利用第二对象注册函数将第二对象注册到Hwbinder服务中;
配置第二对象调用函数,第二对象调用函数用于调用第二对象以实现编码后的指令数据的传输。
本申请实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本申请的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据发送方法。例如,在一些实施例中,数据发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据发送方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器( EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器( CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (17)

1.一种数据发送方法,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,其特征在于,所述方法包括:
获取调制解调器指令数据;
根据第二操作系统的硬件抽象层接口描述语言规则,对所述调制解调器指令数据进行编码,得到编码后的指令数据;
将所述编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使所述调制解调硬件抽象层将所述编码后的指令数据发送至调制解调器。
2.根据权利要求1所述的方法,其特征在于,所述将所述编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,包括:
调用所述第一操作系统的传输通道进程的发送应用程序接口API,通过所述发送API将所述编码后的指令数据从所述第一操作系统发送至所述调制解调硬件抽象层。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述编码后的指令数据的发送事件添加到所述发送API中的事件队列中,监听所述发送事件的运行结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一操作系统接收到调制解调器发送的上报事件的情况下,调用所述第一操作系统的传输通道进程的接收API,获取所述上报事件中的上报数据。
5.根据权利要求4所述的方法,其特征在于,所述获取所述上报事件中的上报数据,包括:
从所述接收API的事件队列中读取所述上报事件,根据所述硬件抽象层接口描述语言规则对所述上报事件进行解码,得到所述上报数据。
6.根据权利要求2所述的方法,所述第一操作系统包括Linux操作系统,所述第二操作系统包括Android操作系统,其特征在于,所述通过所述发送API将所述编码后的指令数据从所述第一操作系统发送至所述调制解调硬件抽象层,包括:
将所述编码后的指令数据通过Hwbinder服务从Linux操作系统发送至所述Android操作系统的调制解调硬件抽象层Android Modem HAL。
7.根据权利要求6所述的方法,其特征在于,在所述将所述编码后的指令数据通过所述Hwbinder服务从Linux操作系统发送至所述Android Modem HAL之前,所述方法还包括:
预先将所述Linux操作系统的传输通道进程注册为Hwbinder服务的客户端;
预先将所述Android Modem HAL注册为所述Hwbinder服务的服务端。
8.根据权利要求7所述的方法,其特征在于,所述预先将所述Linux操作系统的传输通道进程注册为Hwbinder服务的客户端,包括:
利用第一对象创建函数创建客户端的第一对象;
利用第一对象注册函数将所述第一对象注册到所述Hwbinder服务中;
配置第一对象调用函数,所述第一对象调用函数用于调用所述第一对象以实现所述编码后的指令数据的传输。
9.根据权利要求7所述的方法,其特征在于,所述预先将所述Android Modem HAL注册为所述Hwbinder服务的服务端,包括:
利用第二对象创建函数创建服务端的第二对象;
利用第二对象注册函数将所述第二对象注册到所述Hwbinder服务中;
配置第二对象调用函数,所述第二对象调用函数用于调用所述第二对象以实现所述编码后的指令数据的传输。
10.一种数据发送装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,其特征在于,所述装置包括:
获取模块,用于获取调制解调器指令数据;
编码模块,用于根据第二操作系统的硬件抽象层接口描述语言规则,对所述调制解调器指令数据进行编码,得到编码后的指令数据;
发送模块,用于将所述编码后的指令数据从第一操作系统发送至第二操作系统的调制解调硬件抽象层,以使所述调制解调硬件抽象层将所述编码后的指令数据发送至调制解调器。
11.根据权利要求10所述的装置,其特征在于,所述发送模块具体用于:
调用所述第一操作系统的传输通道进程的发送应用程序接口API,通过所述发送API将所述编码后的指令数据从所述第一操作系统发送至所述调制解调硬件抽象层。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括添加模块,所述添加模块用于:
将所述编码后的指令数据的发送事件添加到所述发送API中的事件队列中,监听所述发送事件的运行结果。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括接收模块,所述接收模块用于:
在所述第一操作系统接收到调制解调器发送的上报事件的情况下,调用所述第一操作系统的传输通道进程的接收API,获取所述上报事件中的上报数据。
14.根据权利要求13所述的装置,其特征在于,所述接收模块在获取所述上报事件中的上报数据时,用于:
从所述接收API的事件队列中读取所述上报事件,根据所述硬件抽象层接口描述语言规则对所述上报事件进行解码,得到所述上报数据。
15.根据权利要求11所述的装置,所述第一操作系统包括Linux操作系统,所述第二操作系统包括Android操作系统,其特征在于,所述发送模块具体用于:
将所述编码后的指令数据通过Hwbinder服务从Linux操作系统发送至所述Android操作系统的调制解调硬件抽象层Android Modem HAL。
16.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-9中任一项所述的方法。
CN202111125427.0A 2021-09-26 2021-09-26 数据发送方法、装置、电子设备及存储介质 Active CN113590363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111125427.0A CN113590363B (zh) 2021-09-26 2021-09-26 数据发送方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111125427.0A CN113590363B (zh) 2021-09-26 2021-09-26 数据发送方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113590363A true CN113590363A (zh) 2021-11-02
CN113590363B CN113590363B (zh) 2022-02-25

Family

ID=78242196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111125427.0A Active CN113590363B (zh) 2021-09-26 2021-09-26 数据发送方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113590363B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741850A (zh) * 2021-11-03 2021-12-03 展讯通信(上海)有限公司 多屏显示控制方法及装置、计算机可读存储介质
CN113824888A (zh) * 2021-11-23 2021-12-21 北京鲸鲮信息系统技术有限公司 Linux兼容Android的相机控制方法、系统、装置及介质
CN114020364A (zh) * 2021-11-16 2022-02-08 北京鲸鲮信息系统技术有限公司 传感器设备适配的方法、装置、电子设备和存储介质
CN114091060A (zh) * 2021-11-11 2022-02-25 北京鲸鲮信息系统技术有限公司 跨系统数据处理方法、装置、电子设备及存储介质
CN114125053A (zh) * 2021-11-19 2022-03-01 北京鲸鲮信息系统技术有限公司 跨系统的网络设备调用方法及装置、电子设备、存储介质
CN116185441A (zh) * 2021-11-29 2023-05-30 比亚迪股份有限公司 功能模块的管理方法、装置、设备和介质
WO2023103407A1 (zh) * 2021-12-07 2023-06-15 北京字节跳动网络技术有限公司 多系统中近场通信单元访问方法及装置、电子设备、存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN110737428A (zh) * 2019-10-21 2020-01-31 Oppo广东移动通信有限公司 基于Hidl的通用接口设计方法、装置、终端及可读存储介质
CN111339541A (zh) * 2020-02-20 2020-06-26 Oppo广东移动通信有限公司 基于binder驱动的进程间通信IPC机制的复用方法及装置
CN111813724A (zh) * 2020-05-20 2020-10-23 北京元心科技有限公司 Hidl接口适配系统、方法及相应设备、存储介质
WO2021069626A1 (fr) * 2019-10-11 2021-04-15 Commissariat A L'energie Atomique Et Aux Energies Procédé de simulation parallèle reproductible de niveau système électronique mis en oeuvre au moyen d'un système informatique multi-coeurs de simulation à événements discrets
CN113110910A (zh) * 2021-04-20 2021-07-13 上海卓易科技股份有限公司 一种安卓容器实现的方法、系统及设备
CN113190294A (zh) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 Linux系统调用Android HIDL接口的方法、装置及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统
WO2021069626A1 (fr) * 2019-10-11 2021-04-15 Commissariat A L'energie Atomique Et Aux Energies Procédé de simulation parallèle reproductible de niveau système électronique mis en oeuvre au moyen d'un système informatique multi-coeurs de simulation à événements discrets
CN110737428A (zh) * 2019-10-21 2020-01-31 Oppo广东移动通信有限公司 基于Hidl的通用接口设计方法、装置、终端及可读存储介质
CN111339541A (zh) * 2020-02-20 2020-06-26 Oppo广东移动通信有限公司 基于binder驱动的进程间通信IPC机制的复用方法及装置
CN111813724A (zh) * 2020-05-20 2020-10-23 北京元心科技有限公司 Hidl接口适配系统、方法及相应设备、存储介质
CN113190294A (zh) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 Linux系统调用Android HIDL接口的方法、装置及存储介质
CN113110910A (zh) * 2021-04-20 2021-07-13 上海卓易科技股份有限公司 一种安卓容器实现的方法、系统及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AOSP文档撰写者: "HIDL", 《HTTPS://WEB.ARCHIVE.ORG/WEB/20210418060321/HTTPS://SOURCE.ANDROID.COM/DEVICES/ARCHITECTURE/HIDL?HL=ZH-CN》 *
AOSP文档撰写者: "使用 Binder IPC", 《HTTPS://WEB.ARCHIVE.ORG/WEB/20200806233923/HTTPS://SOURCE.ANDROID.GOOGLE.CN/DEVICES/ARCHITECTURE/HIDL/BINDER-IPC?HL=ZH-CN》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741850A (zh) * 2021-11-03 2021-12-03 展讯通信(上海)有限公司 多屏显示控制方法及装置、计算机可读存储介质
CN114091060A (zh) * 2021-11-11 2022-02-25 北京鲸鲮信息系统技术有限公司 跨系统数据处理方法、装置、电子设备及存储介质
CN114020364A (zh) * 2021-11-16 2022-02-08 北京鲸鲮信息系统技术有限公司 传感器设备适配的方法、装置、电子设备和存储介质
CN114020364B (zh) * 2021-11-16 2024-04-26 北京字节跳动网络技术有限公司 传感器设备适配的方法、装置、电子设备和存储介质
CN114125053A (zh) * 2021-11-19 2022-03-01 北京鲸鲮信息系统技术有限公司 跨系统的网络设备调用方法及装置、电子设备、存储介质
CN113824888A (zh) * 2021-11-23 2021-12-21 北京鲸鲮信息系统技术有限公司 Linux兼容Android的相机控制方法、系统、装置及介质
CN116185441A (zh) * 2021-11-29 2023-05-30 比亚迪股份有限公司 功能模块的管理方法、装置、设备和介质
WO2023103407A1 (zh) * 2021-12-07 2023-06-15 北京字节跳动网络技术有限公司 多系统中近场通信单元访问方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN113590363B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN113590363B (zh) 数据发送方法、装置、电子设备及存储介质
CN113626224A (zh) 一种nfc数据的交互方法、装置、电子设备及存储介质
WO2018192487A1 (zh) 一种控制智能设备联动的方法及装置
US20210329079A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
CN113515271B (zh) 服务代码生成方法、装置、电子设备及可读存储介质
CN113852718B (zh) 语音通道建立方法、装置、电子设备及存储介质
JP2023027042A (ja) 業務データ処理方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN114035863A (zh) 在Linux系统中操作安卓应用的方法、装置和设备
CN109816347A (zh) 一种应用于助贷的信息处理方法、系统及相关装置
CN113840271B (zh) 一种nfc数据的传输方法、装置、电子设备及存储介质
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN114936173A (zh) 一种eMMC器件的读写方法、装置、设备和存储介质
CN114020364B (zh) 传感器设备适配的方法、装置、电子设备和存储介质
CN113950034B (zh) 蓝牙行为的模拟方法、装置和设备
CN114546683A (zh) 业务处理方法、装置、电子设备和存储介质
CN112925623A (zh) 任务处理方法、装置、电子设备和介质
CN114091909A (zh) 一种协同开发的方法、系统、装置及电子设备
CN113448578A (zh) 页面数据处理方法、处理系统、电子设备和可读存储介质
CN113225399B (zh) 数据通信方法、装置及电子设备
CN114202046B (zh) 基于sap系统生成二维码的方法、装置、设备及介质
US20160314006A1 (en) Method for processing dynamic language and electronic device using the same
CN113157360B (zh) 用于处理api的方法、装置、设备、介质和产品
CN112116342B (zh) 一种支付设备通信方法和装置
CN116846977A (zh) 网络分享方法及装置、系统、电子设备和存储介质
CN115061664A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220330

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

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

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

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

TR01 Transfer of patent right