CN111338828B - 终端设备及其应用程序接口调用控制方法 - Google Patents

终端设备及其应用程序接口调用控制方法 Download PDF

Info

Publication number
CN111338828B
CN111338828B CN202010212433.9A CN202010212433A CN111338828B CN 111338828 B CN111338828 B CN 111338828B CN 202010212433 A CN202010212433 A CN 202010212433A CN 111338828 B CN111338828 B CN 111338828B
Authority
CN
China
Prior art keywords
interface
application program
class
service
client process
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
CN202010212433.9A
Other languages
English (en)
Other versions
CN111338828A (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information 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 Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202010212433.9A priority Critical patent/CN111338828B/zh
Publication of CN111338828A publication Critical patent/CN111338828A/zh
Priority to PCT/CN2021/082260 priority patent/WO2021190469A1/zh
Application granted granted Critical
Publication of CN111338828B publication Critical patent/CN111338828B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种终端设备及其应用程序接口调用控制方法,该方法包括如下步骤:本应用程序在其服务组件被启动后,通过该服务组件接受客户进程的绑定通信;本应用程序响应于客户进程基于调用接口类而发起的接口创建请求,创建相应的实现类的实例对象;该实现类相应的接口注册信息被本应用程序预先注册到接口库中;本应用程序响应于所述客户进程发起的关于调用该实例对象的内建方法的接口调用请求,该请求中包含依据所述接口库的接口注册信息确定的用于执行该内建方法的属性信息,调用执行该实例对象的内建方法以产生结果数据反馈给客户进程。本发明简化了应用程序开发过程中涉及通信接口实现的开发步骤,提供了更为简便高效的跨进程通信解决方案。

Description

终端设备及其应用程序接口调用控制方法
技术领域
本发明涉及Android操作系统的应用程序开发技术,尤其涉及一种应用程序接口调用控制方法,还涉及其相应的终端设备。
背景技术
开发Android应用过程中,根据业务规模、场景的不同,我们会开始引入多进程通信技术到现有技术体系中。使用多进程通信技术,能突破应用可分配系统资源的限制(Android系统资源的分配以进程为基本单位),让应用的可使用资源成倍增长,能实现应用保活等业务需求,但是增加了多进程通信的技术体系,我们就需要处理多进程通信中数据传输的问题,由此将大幅度增加开发的技术复杂度。
Android官方本身提供了多种解决多进程通信的技术,我们通常使用AIDL来实现进程间通信。AIDL是Android中IPC(Inter-Process Communication)方式中的一种,是Android Interface definition language(Android接口定义语言)的缩写。AIDL虽然各方面指标都较为符合实际需要,但处理过程复杂,开发成本较高。
一般使用AIDL开发一个支持多进程通信的接口方法,我们需要做如下操作:1、创建aidl文件,在aidl文件中定义接口类;2、如果接口类的方法的参数中含有自定义类型,还需要为该类型再定义一个aidl文件;3、需要创建一个Service类为提供服务的进程提供信息的通信服务;4、定义一个Binder类去实现aidl中定义的接口类,在实现类中实现功能逻辑;5、Service类通过onBind接口返回步骤4中Binder类的对象给Client程序;6、Client程序需要去连接Server程序的Service类,在onServiceConnected方法中获取Binder类的代理对象,通过代理对象调用Binder类的接口方法来获取Binder类提供的功能;7、Client程序需要维护其与Service类的连接状态,因为Service类是其通信交互的载体。
按照上述利AIDL开发多进程通信的接口方法可以创建一个跨进程接口,问题的关键在于,通常情况下每个提供IPC服务的接口类都需要按照上述的步骤重新操作一遍,如此可以看出,现有技术虽然支持ipc通信,但是其开发步骤复杂而繁琐、可扩充性差,导致开发成本较高。这特别不利于一些需要联合运行的项目的开发。
发明内容
本发明的首要目的在于为提升应用程序开发效率而提供一种应用程序接口调用控制方法。
相应的,作为本发明的其他目的,也基于前一目的的方法而提供与之相适应的终端设备。
为满足本发明的首要目的,本发明提供的一种应用程序接口调用控制方法,该方法包括如下步骤:
本应用程序在其预注册到操作系统的服务组件被启动后,通过该服务组件接受与本应用程序属于同一应用程序或不同应用程序的客户进程的绑定通信;
本应用程序响应于所述客户进程基于调用接口类而发起的接口创建请求,创建与该接口类相应的实现类的实例对象;所述实现类相应的接口注册信息被本应用程序预先注册到接口库中,其与所述接口类一一对应设置;
本应用程序响应于所述客户进程发起的关于调用该实例对象的内建方法的接口调用请求,该请求中包含依据所述接口库的接口注册信息确定的用于执行该内建方法的属性信息,依据所述属性信息调用执行该实例对象的内建方法以产生结果数据反馈给客户进程。
部分实施例中,该方法还包括如下步骤:
执行对本应用程序的版本更新,在更新后的本应用程序运行后,重新执行对所述接口库的注册,使所述接口库中所注册的接口个数增加或减少。
较佳的,所述的接口库中的接口注册信息包括:
表征接口的接口标识与实现类、接口类之间对应关系的类表信息,以便依据所述接口标识确定接口类与实现类之间的一一对应关系;
表征实现类及其内建方法之间关系及该些内建方法的调用运行信息的方法表信息,以便执行方法调用;
表征正在为客户进程提供服务的实现类实例对象及其具有唯一性特征的对象标识之间对应关系的实例表信息,以便实施实例对象的调用。
具体的,所述属性信息包括内建方法所属的实现类对应的接口标识或对象标识和该内建方法的所述调用运行信息,所述调用运行信息包括所述内建方法的方法标识、运行参数、返回值类型。
相应的,本应用程序响应接口创建请求时,依据该请求指定的接口标识,查询所述类表信息确定对应的实现类,以为其创建该实现类的实例对象;
本应用程序响应接口调用请求时,依据该请求提供的属性信息,通过查询所述方法表信息确定所述的内建方法以调用之。
一些实施例中,本应用程序的服务组件并行地与多个所述的客户进程进行绑定,本应用程序适于启动其中的一个或多个所述的客户进程。
较佳的,本应用程序与客户进程所属程序之间遵守预约定的协议,采用第一格式封装和解封装所述的属性信息,采用第二格式封装和解封装所述的结果数据。
进一步,本应用程序在内存中的表现与客户进程之间依据彼此的协议建构有功能相对应的功能模块,均包括有解析模块和收发模块,其中,解析模块负责执行所述第一格式和第二格式相关的功能实现,所述收发模块用于执行所述第一格式和第二格式相关的通信传输。
较佳的,本应用程序建构一接口管理模块,用于统一执行客户进程和本应用程序自身对所述接口库的访问。
进一步,客户进程负责维护与服务进程的通信状态,以确保客户进程与服务进程之间跨进程通信的稳定性。
部分实施例中,本方法还包括如下步骤:
在客户进程与本应用程序的服务组件解除绑定后,清除由所述客户进程调用产生的实例表信息。
为满足本发明的其他目的,本发明提供的一种终端设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如前一目的所述的应用程序接口调用控制方法的步骤。
相对于现有技术,本发明具备如下优点:
首先,本发明的方法,利用接口库存储和管理应用程序的实现类,在本应用程序运行时预先向接口库中注册其内建的实现类,后供客户进程调用,这一过程中,通过接口标识关联起客户进程的接口类和本应用程序的实现类以及实现类的实例对象、代理对象等内存资源,对进程与进程之间的调用起到集中调度和管控的作用,使得本应用程序(表现为服务进程)与客户进程之间的接口调用更为灵活高效。对于类的方法层面,接口库也为其配置了存储和管理机制,使得实例对象的内建方法运行所需的相关属性信息均可通过查询接口库实现跨进程互通,由此,客户进程通过其代理对象便可实现对服务进程的实例对象的内建方法进行传参和调用。所以,接口库及其协议解析机制的设置,使跨进程高效通信成为可能。
其次,跨进程通信效率的提高,体现到开发过程中,尤其是在Android操作系统的开发过程中,便可大大提高程序开发效率。在Android中,本发明的实现,使得不同进程之间调用接口时,不必基于AIDL每次针对新的接口又执行完全一致的接口配置流程,也就是说,本发明简化了Android系统中新增跨进程通信接口的开发步骤,在本发明的基础上,开发人员只需针对跨进程通信接口,创建API接口类及其实现类即可,而不必重复其他公知步骤,后续运行本发明的方法实现的程序时,API接口便会被注册到接口库中,其他公知步骤对应的功能均由本发明的方法以程序进程的方式自动去实现。所以,当实现了本发明的应用程序被升级后,若升级版本中增删了相关的跨进程通信接口,便会体现为接口库的接口注册信息的变动。可见,本发明可大大提升程序开发效率,有助于释放开发能力,从而综合降低项目开发成本。
再者,本发明的服务进程由于配备了服务组件,其接口调用机制便可并行地为多个客户进程提供服务,无论这些客户进程是属于本应用程序还是其他应用程序,这就为一些联合开发的项目例如登录模块、授权模块、支付模块、过滤模块等提供了便利的技术实现基础。无论是本应用程序还是不同应用程序的客户进程,只要其遵守本发明的方法所规范的协议,也就具备与本发明的应用程序实现交互的能力,从而便可实现与本应用程序的资源的相互调用,与本应用程序所表现的服务进程共享内存资源。这一基础技术,也有利于确保维持服务进程或客户进程在内存中的存活,相互之间通过服务组件进行绑定的机制,调度实现类接口的活动,使进程间互相唤醒成为可能,确保了各进程在内存中的活跃性,而避免各进程在内存清理过程中被结束,甚至可以通过其中一个进程重新启动另一进程,使这些进程始终在系统中运行。
进而,服务进程实现了接口集中维护和服务的能力,而客户进程可以简化开发,一个或多个客户进程,无论这些进程是属于同一应用程序还是不同程序,均可由服务进程提供接口服务,这对于集中实现一些核心功能的联合开发项目相关的终端程序而言或者对于一些需要扩展插件的场景而言,更能体现其高效的效果。
此外,本发明在服务进程与客户进程之间针对中间过程数据采用了协议解析机制,具体是在调用层面采用第一格式,在结果层面采用第二格式,两种格式并行不悖,便于由本领域技术人员开发些功能集中的解析模块配置到客户进程和服务进程中,便于对不同格式相对应的解析和封装功能进行模块化开发,进一步在提高开发效率的同时,确保不同进程间通信的安全性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明据以实现的原理中的客户进程与服务进程实现架构示意图;
图2为本发明一种典型实施例中的应用程序接口调用控制方法的流程示意图;
图3为本发明一种典型实施例中跨进程通信方法的流程示意图;
图4为本发明的跨进程通信方法中步骤S23的具体步骤流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明所称的“终端设备”、“移动终端”等名称所指向的硬件,本质上是具备个人计算机等效能力的设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
以下结合附图先揭示本发明的主要实现原理:
本发明的应用程序以计算机程序的形式运行于诸如手机、平板等移动终端之类的终端设备中,该终端设备运行有Android或前向兼容Android(例如华为公司新近开发的“鸿蒙”——Harmony OS)的操作系统。应用程序被中央处理器调度入内存中运行,而实现本发明的相关方法。
根据操作系统固有的机制,每个应用程序将具体运行于系统的一个虚拟机中。当然,操作系统也支持多进程架构,因此,同一应用程序可以包括多个进程,例如在主进程基础上通过注册服务组件运行其提供服务功能的进程。
请参阅图1,当本发明实现的相关方法所在应用程序在内存中运行后,在内存中将允许存在与本发明的相关方法相关联的两类进程,一类作为本应用程序的主体的服务进程2,另一类是属于本应用程序或者属于其他应用程序但可以与该服务进程2交互实现接口调用的客户进程1。
服务进程2与客户进程1之间建立了协议机制,两者预先遵守了相关开发协议,因此,在需要用到数据格式的场景中,包括以特定数据格式封装和解封装(解析),由于两者之间存在这种协议,所以可以互相识别对方封装的数据,从而正确还原对方传输过来的内容。也就是说,客户进程1与服务进程2之间,由一方封装的数据格式,可以被另一方依照预先协议而正确解析。服务进程2与客户进程1之间的协议,定义了两种格式,第一种是请求格式,第二种是结果格式。请求格式用于封装和解封装客户进程1发起的各种请求,涉及的数据主要是客户进程解析接口类注解后获得的接口标识、方法标识(及方法的运行参数、返回值类型等属性信息)、代理对象携带的对象标识等,结果格式则用于封装和解封装服务进程2执行调用产生的各种结果数据,主要是实例化实现类,生成实例对象后为其分配的对象标识、实例对象的内建方法被调用执行后的返回值等。请求格式通常由客户进程1封装而由服务进程2解析,结果数据通常由服务进程2封装而由客户进程1解析。为此,在下文将揭示,客户进程1和服务进程2均将构建专门的功能模块即解析模块13、23用于实施这些数据格式相关的的封装和解封装功能。
所述的服务进程2,负责接口的注册并在后续接收客户进程1的接口创建和调用请求,而为客户进程1提供接口创建和调用服务。服务进程2为了维持其服务功能,需要向系统注册一服务组件20,由此实现后台运行。服务进程2主要包括业务模块21、执行模块22、解析模块23、收发模块24以及所述的服务组件20,并通过启动后执行注册来维护一接口库25,其业务模块21负责接口实现类的所述的注册功能;其服务组件20主要提供给客户进程1进行绑定,以便确保服务进程2和客户进程1之间的通信;其收发模块24一方面负责接收客户进程1的各类请求,另一方面则负责向客户进程1反馈各种结果数据,通过其双向服务功能满足服务进程2与客户进程1之间的通信传输;其解析模块23主要用于解析出客户进程1以第一格式(请求格式)封装的各种请求,以及以第二格式(结果格式)封装各种结果数据以通过其收发模块24发送给客户进程1;其执行模块22主要负责客户进程1请求接口调用时相应实现类的创建及实现类的内建方法的执行功能。
所述的客户进程1,主要负责与服务进程2交互,服务于其业务模块11的接口创建和调用需求,维护接口创建和调用的请求过程。客户进程1在其启动后,便寻求与服务进程2的服务组件20的绑定,并且负责维护绑定后的连接状态。如果服务进程2未启动,客户进程1甚至可以负责调用运行服务进程2的服务组件20以方便自身后续调用相关接口。对应服务进程2,客户进程1除了其自身的业务模块11外,同理也构建有与服务进程2相应的收发模块14和解析模块13,其收发模块14一方面负责接收服务进程2的各类结果数据,另一方面则负责向服务进程2发出自身业务模块11发起的各种请求;其解析模块13主要用于从其业务模块11要调用的接口的编程注解中解析出接口标识并以第一格式将之封装成接口创建请求,以及进一步用于从其业务模块11要调用的实现类内建方法的编程注解中解析出属性信息并以第一格式封装成接口调用请求,以便后续由客户进程1的收发模块14将这些请求发送给服务进程2;解析模块13逆向则解析由所述服务进程2传来的各种结果数据,包括接口创建请求、接口调用请求对应的结果数据,以便反馈给客户进程1的业务模块11。
需要说明的是,在Android及其兼容系统中,自身存在着IPC机制,这一机制允许接口跨进程交互。开发时,定义一个Binder类去实现利用AIDL预先定义的接口类,而在实现类中实现功能逻辑。服务进程2的服务组件20运行后,客户进程1与之连接,在onServiceConnected方法中获取该Binder类的代理对象,通过代理对象调用Binder类的接口方法来获取Binder类提供的功能。同时,客户进程1负责维护其自身与服务组件20之间的连接状态。本发明的实现,也是基于底层的这一机制,而通过本发明的相关步骤来实现对这一机制的有效利用,对此本领域技术人员应可理解。
本发明所述的接口库3,可以通过构造一个功能上相对独立的接口管理模块来实现统一执行客户进程1和服务进程2对所述接口库3的访问。当然,这是逻辑上的要求,实际上,所述接口管理模块一般可以由服务进程2建构,也可以由服务进程2和客户进程1各自建构自己所需部分功能,其实现方式是灵活的。接口管理模块所维护的接口库3,在逻辑上主要由服务进程2维护,供客户进程1利用,但表现在交互方式,服务进程2和客户进程1均会访问接口库3以便实现相关协议解析机制。
如前所述,所述的接口库3,主要用于记录接口相关的相关数据,其表现形式可由本领域技术人员灵活实现。接口库3主要用于存储服务进程2注册形成的接口注册信息,以及在服务进程2与客户进程1交互过程中产生的实例对象相关的接口注册信息。例如,接口注册信息可以构造为下列表格:类表、方法表、实例表。
所述的类表,用于存储表达类表信息。类表信息用于表征接口的接口标识与实现类、接口类之间对应关系,通过这种对应关系,客户进程1可以依据其业务模块11要调用的接口类而查询确定相关接口标识,服务进程2可以依据解析出的接口标识查询确定相关的实现类,它们之间相互对应,可以唯一性确定。
所述的方法表,用于存储表达方法表信息。方法表信息用于表征实现类与其内建方法之间关系,及该些内建方法的调用运行信息。实现类与其内建方法之间关系的表征,可以通过为方法表信息中的内建方法的调用运行信息建立到接口标识之间的唯一对应关系来实现。所述的调用运行信息,则是服务进程2在注册实现类时,为各个内建方法确定的相关信息,包括分配给该内建方法的方法标识、该方法运行所需的运行参数以及该方法所定义的返回值类型。本领域技术人员可以理解,当客户进程1将其业务模块11指定的某实现类的内建方法予以明确之后,便可通过查询接口库3中的接口注册信息,具体是查询方法表,获得方法表信息,更明确的是获得该内建方法相关的方法标识。然后,客户进程1合并业务模块11对应该内建方法而提供的运行参数和返回值类型,将这些调用运行信息传输给服务进程2。服务进程2在解析出客户进程1传输过来的调用运行信息之后,获得其中的方法标识,便可依据该方法标识查询接口库25而确定具体的实例对象中的内建方法以便执行之。
所述的实例表,用于存储表达实例表信息。实例表信息用于表征正在为客户进程1提供服务的实现类实例对象相关的信息,具体而言,可以为每个实例对象赋予一个相应的对象标识,同时使代理对象也携带该标识,这样,进一步将实例对象与所述代理对象建立起关联,通过该对象标识也可确定该实例对象从而加以调用。当然,也可赋予其他直接或间接的标识,甚至进一步关联起相关实现类的接口标识,总之,只要足以确保后续通过代理对象对实例对象的唯一性对应的调用即可。诸如此类,本领域技术人员应可灵活实现。
接口注册信息是指用于实现本方法的接口创建和调用相关的信息,既包括由服务进程2在其启动时通过解析实现类的编程注解而获得的各类信息,也包括服务进程2运行过程中维护的实例信息。服务进程2的业务模块21将提供服务的API接口的实现类,调用注册服务类的方法,进行注册,注册服务类的方法内部调用接口管理模块接收到注册请求后,获取注册的实现类相关信息,解析类是否根据协议使用相关注解标注了实现类的接口标识,在其存在接口标识时将其存储为接口注册信息以供调用。继而,解析该类的相关内建方法是否使用了本发明的协议的注解,在其使用了规范的注解后将该内建方法相关的接口标识、方法标识、运行参数、返回值类型等作为接口注册信息的一部分存储到所述的方法表中。服务进程2通过这一过程完成了接口的注册,形成所述的接口注册信息的基础数据,为后续跨进程接口调用提供了关键基础。
在接口注册信息的基础上,客户进程1在实际调用实例对象的内建方法时,是通过该实例对象的代理对象来实现的,因此,客户进程1的代理对象需要调用客户进程1的解析机制,查询接口库3,一般是其中的方法表信息,确定该内建方法对应的接口标识或对象标识及其调用运行信息,构成运行该内建方法所需的属性信息,以便最终提供给服务进程2逆向解析并利用之,确保该实例对象的内建方法能被服务进程2有效调用执行。需要指出的是,属性是否是以接口标识还是对象标识加以指示具体的实例对象,视代理对象的具体实现而定,尽管本发明下述原理揭示了一种利用对象标识来实现的情况,但本领域普通技术人员也应当理解,还可通过该接口标识来起到相同的效果,只要确保其与代理对象、实例对象之间存在一一对应关系并确保各进程彼此协议认可即可。
此处所称的代理对象,是利用Java代理技术实现的,本领域技术人员通过Java代理技术可以将服务进程2响应于接口创建请求而创建的相应实现类的所述实例对象在客户进程处映射出相应的代理对象,代理对象是因接口创建请求的响应而产生的,服务进程2在实例对象产生后分配相应的对象标识,将该对象标识提供给客户进程生成代理对象,代理对象也便携带该对象标识。
对应于接口创建请求的环节,客户进程1的业务模块11发起对某接口类的请求服务,客户进程1以一请求服务的方法响应之。该请求服务的方法利用解析机制查询接口库3确定该接口类相应的接口标识,将之封装成请求格式数据,传输给服务进程2。服务进程2收到该请求格式数据后进行解析,并利用其中的接口标识查询接口库3中的接口注册信息,确定相应的实现类,创建其实例对象,同时可为该对象生成唯一的对象标识,将对象标识与该对象的对应关系存储为实例表信息,由此后续客户进程1产生的代理对象也自然应携带该对象标识,以便后续代理对象只要将其对象标识传递给服务进程2,服务进程2即可据之唯一性确定相应的实例对象。而客户进程1产生代理对象后,便将其返回给客户进程1的业务模块11做进一步的方法调用。
对应于接口调用请求的环节,客户进程1的业务模块11拿到与其接口创建请求相对应的代理对象后,进一步发起调用代理对象所指向的实例对象的相关内建方法的接口调用请求。客户进程1响应于该接口调用请求,调用解析机制获得内建方法相关的方法标识、运行参数、返回值类型以及对象标识,以这些信息构成属性信息,进行格式封装后发送给服务进程2。服务进程2调用解析机制解析出属性信息中的各项具体信息,服务进程于是调用执行该内建方法,根据其中的对象标识可以确定要调用的实例对象,根据其中的方法标识可以确定具体的内建方法,然后将相关的运行参数传递给该内建方法,作为其传递参数进行运行,在该内建方法运行后获取符合所述返回值类型的结果。继而,服务进程2便可将相关的结果数据进行第二格式的封装后,返回给客户进程1。客户进程1中的代理对象获得到数据调用解析机制对应解析后即返回给客户进程1的业务模块11,完成对其接口调用请求的响应。
可以看出,无论何种环节,客户进程1与服务进程2之间运用预协议的解析机制进行解析或者封装时,均需配合所述接口库3中的接口注册信息的运用,以便使得相关格式数据具有明确的用途。
通常,当客户进程1与服务进程2的服务组件20解除绑定后,还可以执行一个清理内存的步骤,通过执行该步骤,由接口管理模块将接口库3的实例表中的相关对象清理掉。另一方面,出于程序保活的目的,客户进程1与服务进程2之间也可依照预设规则,如定时、根据触发条件等,单向或者相互地启动或者唤醒对方,使双方均能够存活于内存中,避免被操作系统或第三方安全软件的内存清理程序清理掉。
由以上对本发明的原理的揭示可知,通过客户进程1与服务进程2之间的协议,将AIDL定义跨进程接口的步骤通过接口库3实现复用,可以大幅降低涉及跨进程接口开发的重复开发率,为跨进程通信的高阶应用提供坚实的技术基础。
体现在简化开发过程提升开发效率方面,在运用了本发明的原理的应用程序的开发过程中,如果需要扩展跨进程通信接口,只需创建接口类及其对应的实现类即可,为接口类及其对应的实现类重复做底层通信开发。这一变化体现到应用程序的不同应用版本中时,可以知晓,更新后的新版本应用程序,其服务进程2的业务模块21向接口库3重新注册所有实现类后,接口库3中的接口总数会对应出现增加或减少。如开发人员扩展增加了接口,对应增加了接口类及其实现类,接口库3中的接口总数便相应增加,如果开发人员删除了接口,对应减少了接口类及其实现类,那么,接口库3中的接口总数也就相应减少。总之,无需再利用AIDL做更多重复开发,也体现为避免产生一些不必要的AIDL定义文件。
在理解上述本发明的实现原理的基础上,以下将从本发明实现原理的不同角度考察本发明的各种表现。
请结合图2,在由本发明的原理所表现的应用程序层面,体现为本发明的一种典型实施例。该实施例中,本发明的应用程序接口调用控制方法,以计算机程序的形式实现,而提供本发明的应用程序,该应用程序在操作系统中安装运行后,执行包括如下的步骤:
步骤S11,本应用程序在其预注册到操作系统的服务组件20被启动后,通过该服务组件20接受与本应用程序属于同一应用程序或不同应用程序的客户进程1的绑定通信。
以Android系统为例,本应用程序可以通过在其安装配置文件Androidmanifest.xml文件中声明一个服务组件20,在该服务组件20被系统启动后,本应用程序在内存中发挥服务进程2的作用,可以通过该服务组件20与其他客户进程1实现通信交互。所述的客户进程1既可以是本应用程序的例如服务组件所在的进程,也可以是其他应用程序,特别是一些约定了协议方案的联合开发项目的应用程序运行时所表现的客户进程1。
根据Android操作系统的原理,一般而言,一个应用程序相关的进程将运行于一个独立的虚拟机中,但也允许存在同一应用程序中实现多进程架构,例如本应用程序就可以通过声明服务组件的方式,实现多进程架构。由此,可以理解,客户进程1与服务进程2可以并行地运行在同一虚拟机或不同虚拟机中,当客户进程1不属于本应用程序时,意味着客户进程1与服务进程2属于不同的内存虚拟机,但由于本发明的实现,使得它们之间的接口调用相关的开发变得更为简便。
服务组件20被启动后,客户进程1便可与之绑定。根据本发明的上述原理,客户进程1后续还要负责维护其与该服务组件之间的连接状态,以确定客户进程1与本应用程序之间的稳定连接。在客户进程1与服务进程2实现绑定的基础上,后续方能进一步完成接口调用相关的功能。
步骤S12,本应用程序响应于所述客户进程1基于调用接口类而发起的接口创建请求,创建与该接口类相应的实现类的实例对象;所述实现类相应的接口注册信息被本应用程序预先注册到接口库3中,其与所述接口类一一对应设置。
如前所述,本发明的客户进程1根据其自身业务模块11使用相关接口的需要,将向本应用程序发起接口创建请求。
在客户进程1内部,其业务模块11运行到定义或者调用相关接口类的指令时,会发生接口调用,在此处业务模块11首先需要系统为之创建相关接口。客户进程1进而根据预协议的解析机制,也即调用其解析模块13,查询接口库3中的类表信息,根据类表信息确定与需创建的接口唯一对应的接口标识,采用第一格式对查询结果进行封装,封装成请求格式数据,发送给本应用程序。
因此,本应用程序的服务进程2的收发模块24会通过服务组件接收到该请求并交给解析模块23进行解析,解析模块23得以解封装该请求格式数据获得接口标识,然后调用其执行模块22,执行模块22依据所述接口标识从接口库3的类表信息中确定对应的实现类后,执行创建该实现类的实例对象。如前所述,本应用程序已经预先向接口库3中注册了与该实现类相关的接口注册信息,依据实现类与接口标识之间的对应关系,可以避免错误调用实现类。
实例对象被创建后,被赋予具有唯一性特征的对象标识,对象标识与实例对象的这种一一对应关系,也会被本应用程序更新到接口库3中,并且该对象标识也会被作为结果数据,经由本应用程序的服务进程2的解析模块23以第二格式封装成结果格式数据,然后经收发模块24反馈给客户进程1。客户进程1的收发模块14收到该结果格式数据后,交给客户进程1的解析模块13解析出对象标识,然后利用Java代理技术创建所述实例对象的代理对象,该代理对象自然携带该对象标识。由此,当客户进程1的业务模块11要通过代理对象发起对实例对象的调用时,代理对象便可凭其自身的对象标识与服务进程2沟通,使得服务进程2能够正确调用相关实例对象。
实例对象被创建后,其相关信息被存储到接口库3的实例表中作为实例表信息而提供服务。如果客户进程1与服务进程2的服务组件20解除绑定,这些实例表信息便会成为残存的冗余信息,因此,可以设置一个并行的步骤,来实施对这些冗余信息的清理,具体是在客户进程1与服务进程2解除绑定后,删除接口库3中的这些冗余信息。这一步骤理论上可实现在服务进程2中以便能够集中管理内存,也可设置在客户进程1中,由客户进程1在其自身确定解除绑定之前实施之。
在成功创造所述实例对象的基础上,本应用程序便可进一步为客户进程1提供对该实例对象的内建方法的调用服务。
步骤S13,本应用程序响应于所述客户进程1发起的关于调用该实例对象的内建方法的接口调用请求,该请求中包含依据所述接口库3的接口注册信息确定的用于执行该内建方法的属性信息,依据所述属性信息调用执行该实例对象的内建方法以产生结果数据反馈给客户进程1。
客户进程1成功建立所述实例对象的代理对象后,返回给其业务模块11做进一步的调用。客户进程1的业务模块11继而将通过该代理对象发起对所述实例对象的某个内建方法的接口调用请求。参照前述关于本发明的原理的揭示,一旦业务模块11发起这样的请求,代理对象便可结合查询接口库3中的方法表信息而获得的调用运行信息,将其自身携带的对象标识、该内建方法的方法标识、业务模块11传递的该内建方法的运行参数(数据),以及该内建方法的返回值类型等属性信息,调用解析模块13封装成请求格式的接口调用请求后,经收发模块14发送给所述的本应用程序。
本应用程序的收发模块24收到代理对象传输的接口调用请求,调用解析模块23解析出其中的属性信息后,调用执行模块22执行对内建方法的调用。执行模块22查询接口库3,依据属性信息中的对象标识可以从实例表中确定对应的实例对象,而依据所述的方法标识则可以从方法表中确定对应的实例对象的内建方法,然后将属性信息中的运行参数数据传参给目标实例对象中的目标内建方法,调用执行之,使目标内建方法返回符合所述返回值类型规范的结果数据。运行该内建方法获得的结果数据被本应用程序的解析模块23封装成结果格式后回传给客户进程1的代理对象,代理对象则逆向将之解析出结果数据后,向业务模块11返回,业务模块11于是获得了调用接口类对应的实现类所生成的实例对象的内建方法的调用运行结果,完成接口调用全过程。
在某些实施例中,所述返回值类型不必作为属性信息加入,一方面可以考虑不必在接口库3的方法表信息中记录该项,另一方面则不必在客户进程1、服务进程2交互过程中使用该项,本领域技术人员应当知晓此一变通。
在某些实施例中,如前所述,本应用程序可以独立构建一接口管理模块来集中管理对所述接口库3的访问,向需要访问接口库3的模块提供调用接口供调用执行即可,如此可提升内存效率。
本典型实施例的实现,有助于在应用程序层面提供具有跨进程服务机能的应用程序,方便其他应用程序接入,从而方便联合程序项目的开发。
进一步将这一典型实施例所体现的应用程序安装于移动终端、平板之类的移动设备后,可体现为本发明的另一实施例,该实施例体现为本发明提供的一种终端设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如前所述的应用程序接口调用控制方法的各个具体步骤。
请结合图3,在由本发明的原理所表现的进程层面,体现为本发明的另一种典型实施例。在该实施例中,本发明的一种跨进程通信方法,包括如下步骤:
步骤S21,客户进程1根据其业务模块11对接口类的调用,查询由服务进程2预先注册了接口注册信息的接口库3获得该接口类的接口标识,按照预协议的请求格式进行封装,向服务进程2发起接口创建请求。
如本发明的原理及其他实施例所述,接口库3已经被服务进程2预先配置,服务进程2已经向接口库3注册了类表信息和方法表信息,并且在与客户进程1交互过程中还会更新维护实例表信息,因此,客户进程1可以在本步骤中直接利用接口库3的接口注册信息。此外,客户进程1和服务进程2也按照本发明的原理实现了其各自内部的各个功能模块。
客户进程1的业务模块11首先发起针对某个特定接口类的调用,客户进程1根据对该接口类的调用,由其解析模块13查询所述的接口库3的接口注册信息,具体是通过接口库3中的类表,查询获得与该接口类相对应的接口标识。然后,解析模块13遵守与服务进程2的协议,将接口标识封装为请求格式,构成接口创建请求,经客户进程1的收发模块14发送给服务进程2。
步骤S22,服务进程2接收该接口创建请求,解析该请求,利用其中的接口标识执行对应的实现类的创建操作,产生该实现类的实例对象,逆向以预协议的结果格式封装后向客户进程1反馈该创建操作产生的结果数据;
服务进程2经其收发模块24接收到该接口创建请求后,由其解析模块23解析出其中的接口标识,然后,由其执行模块22向接口库3查询确定与该接口标识相对应的实现类之后,执行创建该实现类的实例对象的动作。
该实现对象获得创建之后,为该实例对象分配一对象标识,该对象标识可供客户进程1使用。服务进程2构建实例对象之后,便将该实例对象的对象标识按照预协议的第二格式封装成结果数据,通过其收发模块24返回给客户进程1。
步骤S23,客户进程1接收所述结果数据,按照协议解析成所述实例对象的代理对象,将之返回给客户进程1的业务模块11,以供所述业务模块11通过调用所述代理对象而实现调用所述实例对象。
客户进程1经其收发模块14接收到所述的结果数据之后,便交由其解析模块13解析出其中的对象标识,利用Java代理技术构建出该对象标识所指向的实例对象的代理对象,该代理对象携带该对象标识,进而将该代理对象返回给客户进程1的业务模块11做下一步的方法调用,业务模块11通过调用所述的代理对象,便可实现对所述实例对象的调用。
请结合图4,除遵照本领域技术人员可以理解的方式,实现业务模块11利用代理对象实现对其相应的实例对象的调用外,在进一步优化的实施例中,客户进程1可以按照如下具体步骤与服务进程2配合调用代理对象,进一步实现对其所指向的实例对象的内建方法的调用:
步骤S231,客户进程1的业务模块11发起调用所述代理对象的方法的接口调用请求。
客户进程1的业务模块11需要调用其已经获得对应的代理对象的接口类的内建方法时,便发起所述的接口调用请求,通过调用所述的代理对象,来期待返回的结果,该结果的获取,由代理对象来负责中间过程的执行。
步骤S232,所述代理对象向接口库3查询确定该方法的相应的属性信息,将所述属性信息形成预协议的请求格式后,发送给服务进程2。
如前所述,代理对象便可结合查询接口库3中的方法表信息而获得的调用运行信息,将其自身携带的对象标识、该内建方法的方法标识、业务模块11传递的该内建方法的运行参数(数据),以及该内建方法的返回值类型等属性信息,调用解析模块13封装成请求格式的接口调用请求后,经收发模块14发送给服务进程2。
步骤S233,服务进程2接收并查询接口库3解析出该属性信息,调用相应的实现类对象执行其中相应的方法。
服务进程2的收发模块24收到代理对象传输的接口调用请求,调用解析模块23解析出其中的属性信息后,调用执行模块22执行对目标方法的调用。执行模块22查询接口库3,依据属性信息中的对象标识可以从实例表中确定对应的实例对象,而依据所述的方法标识则可以从方法表中确定对应的实例对象的内建方法,然后将属性信息中的运行参数数据传参给目标实例对象中的目标内建方法,调用执行之,使目标方法返回符合所述返回值类型规范的结果数据。
步骤S234,服务进程2以预协议的结果格式向客户进程1反馈该方法执行后的结果数据。
服务进程2调用运行目标方法获得的结果数据被服务进程2的解析模块23封装成结果格式后,经由服务进程2的收发模块24回传给客户进程1的代理对象,以供客户进程1内部传递给其业务模块11使用。
步骤S235,客户进程1接收该结果数据,将其解析还原后返回给其业务模块11。
客户进程1通过其收发模块14接收到服务进程2返回给代理对象的结果数据后,由代理对象调用解析模块13,逆向将之解析出结果数据,把解析出的结果数据直接返回给业务模块11,业务模块11于是获得了调用接口类对应的实现类所生成的实例对象的内建方法的调用运行结果,完成接口调用全过程。
同理,在某些实施例中,所述返回值类型不必作为属性信息加入,一方面可以考虑不必在接口库3的方法表信息中记录该项,另一方面则不必在客户进程1、服务进程2交互过程中使用该项,本领域技术人员应当知晓此一变通。
本典型实施例的实现,提供了跨进程通信的底层实现方案,使得本发明的原理能够其底层应用,解决了跨进程通信存在的技术障碍。
同理,进一步将这一典型实施例所体现的应用程序安装于移动终端、平板之类的移动设备后,可体现为本发明的另一实施例,该实施例体现为本发明提供的一种终端设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如前所述的跨进程通信方法的步骤。
综上所述,本发明简化了应用程序开发过程中涉及通信接口实现的开发步骤,为联合开发的程序项目提供了更为简便高效的跨进程通信解决方案。
本技术领域技术人员可以理解,本发明包括涉及用于执行本发明中所述操作、方法中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其存储器之内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(ErasableProgrammable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种应用程序接口调用控制方法,其特征在于,该方法包括如下步骤:
本应用程序在其预注册到操作系统的服务组件被启动后,通过该服务组件接受与本应用程序属于同一应用程序或不同应用程序的客户进程的绑定通信;
本应用程序响应于所述客户进程基于调用接口类而发起的接口创建请求,创建与该接口类相应的实现类的实例对象;所述实现类相应的接口注册信息被本应用程序预先注册到接口库中,其与所述接口类一一对应设置;
本应用程序响应于所述客户进程发起的关于调用该实例对象的内建方法的接口调用请求,该请求中包含依据所述接口库的接口注册信息确定的用于执行该内建方法的属性信息,依据所述属性信息调用执行该实例对象的内建方法以产生结果数据反馈给客户进程。
2.根据权利要求1所述的方法,其特征在于,该方法还包括如下步骤:
执行对本应用程序的版本更新,在更新后的本应用程序运行后,重新执行对所述接口库的注册,使所述接口库中所注册的接口个数增加或减少。
3.根据权利要求1所述的方法,其特征在于,所述的接口库中的接口注册信息包括:
表征接口的接口标识与实现类、接口类之间对应关系的类表信息,以便依据所述接口标识确定接口类与实现类之间的一一对应关系;
表征实现类及其内建方法之间关系及该些内建方法的调用运行信息的方法表信息,以便执行方法调用;
表征正在为客户进程提供服务的实现类实例对象及其具有唯一性特征的对象标识之间对应关系的实例表信息,以便实施实例对象的调用。
4.根据权利要求3所述的方法,其特征在于,所述属性信息包括内建方法所属的实现类对应的接口标识或对象标识和该内建方法的所述调用运行信息,所述调用运行信息包括所述内建方法的方法标识、运行参数、返回值类型。
5.根据权利要求3或4所述的方法,其特征在于:
本应用程序响应接口创建请求时,依据该请求指定的接口标识,查询所述类表信息确定对应的实现类,以为其创建该实现类的实例对象;
本应用程序响应接口调用请求时,依据该请求提供的属性信息,通过查询所述方法表信息确定所述的内建方法以调用之。
6.根据权利要求1所述的方法,其特征在于,本应用程序的服务组件并行地与多个所述的客户进程进行绑定,本应用程序适于启动其中的一个或多个所述的客户进程。
7.根据权利要求1所述的方法,其特征在于,本应用程序与客户进程所属程序之间遵守预约定的协议,采用第一格式封装和解封装所述的属性信息,采用第二格式封装和解封装所述的结果数据。
8.根据权利要求7所述的方法,其特征在于,本应用程序在内存中的表现与客户进程之间依据彼此的协议建构有功能相对应的功能模块,均包括有解析模块和收发模块,其中,解析模块负责执行所述第一格式和第二格式相关的功能实现,所述收发模块用于执行所述第一格式和第二格式相关的数据的传输。
9.根据权利要求1所述的方法,其特征在于,本应用程序建构一接口管理模块,用于统一执行客户进程和本应用程序自身对所述接口库的访问。
10.根据权利要求1所述的方法,其特征在于,客户进程负责维护与服务进程的通信状态,以确保客户进程与服务进程之间跨进程通信的稳定性。
11.根据权利要求1所述的方法,其特征在于,还包括如下步骤:
在客户进程与本应用程序的服务组件解除绑定后,清除由所述客户进程调用产生的实例表信息。
12.一种终端设备,包括中央处理器和存储器,其特征在于:所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至11中任意一项所述的应用程序接口调用控制方法的步骤。
CN202010212433.9A 2020-03-24 2020-03-24 终端设备及其应用程序接口调用控制方法 Active CN111338828B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010212433.9A CN111338828B (zh) 2020-03-24 2020-03-24 终端设备及其应用程序接口调用控制方法
PCT/CN2021/082260 WO2021190469A1 (zh) 2020-03-24 2021-03-23 终端设备及其应用程序接口调用控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010212433.9A CN111338828B (zh) 2020-03-24 2020-03-24 终端设备及其应用程序接口调用控制方法

Publications (2)

Publication Number Publication Date
CN111338828A CN111338828A (zh) 2020-06-26
CN111338828B true CN111338828B (zh) 2022-04-08

Family

ID=71184553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010212433.9A Active CN111338828B (zh) 2020-03-24 2020-03-24 终端设备及其应用程序接口调用控制方法

Country Status (2)

Country Link
CN (1) CN111338828B (zh)
WO (1) WO2021190469A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338828B (zh) * 2020-03-24 2022-04-08 广州方硅信息技术有限公司 终端设备及其应用程序接口调用控制方法
CN111880866B (zh) * 2020-07-30 2024-03-12 广州方硅信息技术有限公司 跨进程回调执行方法、装置、设备及存储介质
CN112099795B (zh) * 2020-09-28 2024-09-24 广州方硅信息技术有限公司 界面通知消息构造方法、装置、设备及存储介质
CN113761039A (zh) * 2021-01-29 2021-12-07 北京沃东天骏信息技术有限公司 一种处理信息的方法和装置
CN112817779B (zh) * 2021-01-29 2024-08-20 京东方科技集团股份有限公司 组件化应用程序通信方法、装置、设备及介质
CN114020498A (zh) * 2022-01-04 2022-02-08 深圳市明源云科技有限公司 不同部署场景的远程调用方法、装置、设备及存储介质
CN114564954B (zh) * 2022-03-01 2024-04-12 天元大数据信用管理有限公司 一种维护指标唯一性的指标管理方法及系统
CN116048744B (zh) * 2022-08-19 2023-09-12 荣耀终端有限公司 一种图像获取方法及相关电子设备
CN115442372A (zh) * 2022-09-16 2022-12-06 平安付科技服务有限公司 一种接口调用方法及应用其的微服务应用系统
CN116483328B (zh) * 2023-06-19 2023-09-12 广州信位通讯科技有限公司 在ThreadX嵌入式软件平台上运行鸿蒙APP的系统及方法
CN117056317B (zh) * 2023-10-11 2024-01-26 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN117076160B (zh) * 2023-10-16 2024-01-26 腾讯科技(深圳)有限公司 组件调用方法、装置、设备和存储介质
CN118426876B (zh) * 2024-07-05 2024-09-17 广州六环信息科技有限公司 应用程序接口生成装置、方法、存储介质和系统
CN118519860B (zh) * 2024-07-25 2024-10-01 苏州元脑智能科技有限公司 接口调用的控制方法、装置、存储介质和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213611A (zh) * 2018-08-01 2019-01-15 天津字节跳动科技有限公司 跨进程通讯方法、装置、终端及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543300B2 (en) * 2004-11-16 2009-06-02 International Business Machines Corporation Interface for application components
US8522217B2 (en) * 2010-04-20 2013-08-27 Microsoft Corporation Visualization of runtime analysis across dynamic boundaries
CN104618437B (zh) * 2014-12-31 2018-01-12 成都卓影科技有限公司 一种与android终端设备系统设置接口的适配方法
CN105827672A (zh) * 2015-01-05 2016-08-03 阿里巴巴集团控股有限公司 远程调用方法及装置
CN106547567A (zh) * 2016-11-25 2017-03-29 山东大学 一种安卓系统中多业务下进程间通信系统及其实现方法
CN108055248B (zh) * 2017-11-30 2020-12-25 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN109729149A (zh) * 2018-12-03 2019-05-07 国云科技股份有限公司 一种基于注解的微服务框架实现方法
CN109933443B (zh) * 2019-03-07 2021-06-25 腾讯科技(深圳)有限公司 进程间通信方法、装置、计算机设备及可读存储介质
CN110275790A (zh) * 2019-06-26 2019-09-24 北京金山安全软件有限公司 应用程序中的进程间通信同步回调方法、系统及相关设备
CN111338828B (zh) * 2020-03-24 2022-04-08 广州方硅信息技术有限公司 终端设备及其应用程序接口调用控制方法
CN111443961B (zh) * 2020-03-24 2023-04-11 广州方硅信息技术有限公司 终端设备及其跨进程通信方法
CN111400070B (zh) * 2020-03-24 2023-05-19 广州华多网络科技有限公司 终端设备及其跨进程接口调用实现和执行方法
CN111880866B (zh) * 2020-07-30 2024-03-12 广州方硅信息技术有限公司 跨进程回调执行方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213611A (zh) * 2018-08-01 2019-01-15 天津字节跳动科技有限公司 跨进程通讯方法、装置、终端及存储介质

Also Published As

Publication number Publication date
WO2021190469A1 (zh) 2021-09-30
CN111338828A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111338828B (zh) 终端设备及其应用程序接口调用控制方法
CN111400070B (zh) 终端设备及其跨进程接口调用实现和执行方法
CN111443961B (zh) 终端设备及其跨进程通信方法
CN105094922B (zh) 应用程序免安装运行控制方法及其装置
CN111880866B (zh) 跨进程回调执行方法、装置、设备及存储介质
US11004024B2 (en) Service and resource orchestration system and method, and apparatus
US7526777B2 (en) Wireless device operating system (OS) application programmer's interface (API)
CN110336871A (zh) 一种文件处理方法、装置、存储介质及电子设备
WO2014069968A1 (ko) 무선 통신 시스템에서 특정 리소스에 대한 정보 갱신을 위한 방법 및 장치
KR20050009686A (ko) 싱글 프로세서용 운영 체계에 의한 병렬 처리시스템에서의 시큐어리티 관리 시스템
CN113032166B (zh) 核间通信的方法、处理器、核间通信系统及计算机可读存储介质
CN112835524A (zh) 存储资源配置方法、存储资源控制器及调度系统
CN111427557A (zh) 应用微服务化方法、装置、电子设备及可读存储介质
CN111339541B (zh) 基于binder驱动的进程间通信IPC机制的复用方法及装置
CN111371809A (zh) 一种基于反向代理架构的服务器及gis服务访问控制方法
CN110427260B (zh) 主机作业调度方法、装置及系统
CN111582824A (zh) 云资源同步方法、装置、设备及存储介质
CN113296987B (zh) 调用模块的接口调用方法、装置、计算机设备及存储介质
CN109729121A (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN105427149A (zh) 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置
CN117519972A (zh) Gpu资源管理方法及装置
US9058225B2 (en) Secure and reliable mechanism to provide a single object instance in a clustered system
CN112199617B (zh) 业务数据刷新、推送方法及其装置、设备、介质
Guillen-Scholten et al. A channel-based coordination model for components
CN113742714A (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: 20210119

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 29th floor, building B-1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200626

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Call control method of terminal equipment and its application program interface

License type: Common License

Record date: 20210208

GR01 Patent grant
GR01 Patent grant