CN108694040B - 调用处理方法及装置、通信系统 - Google Patents
调用处理方法及装置、通信系统 Download PDFInfo
- Publication number
- CN108694040B CN108694040B CN201710080833.7A CN201710080833A CN108694040B CN 108694040 B CN108694040 B CN 108694040B CN 201710080833 A CN201710080833 A CN 201710080833A CN 108694040 B CN108694040 B CN 108694040B
- Authority
- CN
- China
- Prior art keywords
- module
- identifier
- calling
- subclass
- parameter
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/457—Communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种调用处理方法及装置、通信系统。其中所述方法包括:获取待处理的携带参数标识的调用请求;根据调用请求中的参数标识从预先建立的调用信息库中,获取参数标识对应的调用信息;根据参数标识对应的调用信息调用原生端的应用;从而可以实现开发端的应用客户端对原生端的应用客户端进行调用,通过采用本发明的技术方案,在每次调用时可以直接从调用信息库中获取对应的调用信息即可,而不同每次去生成调用信息,操作非常简便,从而可以大大地提高研发人员的开发效率。
Description
【技术领域】
本发明涉及通信技术领域,尤其涉及一种调用处理方法及装置、通信系统。
【背景技术】
React Native是由Facebook开源的框架,可以在开发端采用JavaScript(简称JS)语言直接开发原生端的应用(Application;App),从而实现JS跨平台开发原生App,从而可以节约开发成本,提高开发效率。
现有技术中,由于在开发端侧采用JS语言,所以开发端通常也可以称为JS端。在原生端的App和JS端的App分别设置有一个桥(bridge),两个bridge都保存有对应的模块配置表,当JS端的App调用原生端的App中的某模块中的某子类对应的方法时,根据JS端中的bridge里的模块配置表中JS端该模块的ID和子类ID,生成对原生端的App对应的模块ID和子类ID进行调用的调用信息,其中该调用信息可以包括调用函数和回调函数;然后JS端将生成的调用信息传给原生端的App,原生端的App根据bridge的模块配置表找到对应的模块中的对应的子类的方法执行之。
现有技术中,JS端的App对原生端的App中每个模块中的每个子类进行调用时,都需要根据通信的规则,按照上述方法生成调用信息进行调用。由于在JS端的App和原生端的App中包括有多个模块,每个模块中可以包括多个子类对应的方法。因此,研发人员在开发时,需要经常从JS端调用原生端的App,JS端的App在每次调用时都需要去生成对应的调用信息,使得研发人员在使用时需要频繁地生成调用信息,操作非常复杂,造成开发效率较低。
【发明内容】
本发明提供了一种调用处理方法及装置、通信系统,用于提高开发效率。
本发明提供一种调用处理方法,应用于基于React Native的通信架构中,所述方法包括:
获取待处理的携带参数标识的调用请求;所述调用请求为开发端的应用客户端发送的;
根据所述调用请求中的所述参数标识从预先建立的调用信息库中,获取所述参数标识对应的调用信息;
根据所述参数标识对应的所述调用信息调用原生端的应用。
进一步可选地,如上所述的方法中,获取待处理的调用请求之前,所述方法还包括:
接收所述开发端的应用客户端发送的携带所述参数标识的所述调用请求;
将所述调用请求存储在调用请求队列的队尾;
进一步地,获取待处理的调用请求,具体包括:
按照从前往后的顺序,从所述调用请求队列的队头获取待处理的所述调用请求。
进一步可选地,如上所述的方法中,获取待处理的调用请求之前,所述方法还包括:
设置所述调用请求队列,以用于存放所述开发端的应用客户端发送的各个所述调用请求。
进一步可选地,如上所述的方法中,根据所述参数标识对应的所述调用信息调用原生端的应用客户端,具体包括:
根据所述参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;所述第一子类标识对应的第一子类为所述第一模块标识对应的第一模块中的子类;
根据所述第一模块标识和所述第一子类标识对应的所述调用信息,调用所述原生端的应用客户端中所述第一模块标识对应的第一模块和所述第一子类标识对应的方法。
进一步可选地,如上所述的方法中,获取待处理的调用请求之前,所述方法还包括:
为所述原生端的应用客户端中的各所述第一模块中的各第一子类分配对应的所述参数标识;
获取所述开发端应用中与各所述第一模块对应的第二模块的标识、以及与对应的所述第一模块中的第一子类对应的所述第二模块中的第二子类的标识;
将各所述参数标识、对应的所述第一模块的标识、对应的所述第一模块中所述第一子类的标识、对应的所述第二模块的标识以及对应的所述第二模块中所述第二子类的标识,均注册在所述注册信息库中。
进一步可选地,如上所述的方法中,获取待处理的调用请求之前,所述方法还包括:
为各所述参数标识对应的第一模块中的第一子类配置对应的所述调用信息,所述调用信息包括调用函数信息和回调函数信息;
根据为各所述参数标识配置的所述调用信息,建立所述调用信息库。
本发明还提供一种调用处理装置,应用于基于React Native的通信架构中,所述装置包括:
调用请求获取模块,用于获取待处理的携带参数标识的调用请求;所述调用请求为开发端的应用客户端发送的;
调用信息获取模块,用于根据所述调用请求中的所述参数标识从预先建立的调用信息库中,获取所述参数标识对应的调用信息;
调用模块,用于根据所述参数标识对应的所述调用信息调用原生端的应用;
所述调用信息库,用于存储各所述参数标识对应的所述调用信息。
进一步可选地,如上所述的装置中,还包括:
接收模块,用于接收所述开发端的应用客户端发送的携带所述参数标识的所述调用请求;
存储模块,用于将所述调用请求存储在调用请求队列的队尾;
调用请求队列,用于以队列的形式存储各所述调用请求;
进一步地,所述调用请求获取模块,具体用于按照从前往后的顺序,从所述调用请求队列的队头获取待处理的所述调用请求。
进一步可选地,如上所述的装置中,还包括:
设置模块,用于设置所述调用请求队列,以用于存放所述开发端的应用客户端发送的各个所述调用请求。
进一步可选地,如上所述的装置中,所述调用模块,具体用于:
根据所述参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;所述第一子类标识对应的第一子类为所述第一模块标识对应的第一模块中的子类;
根据所述第一模块标识和所述第一子类标识对应的所述调用信息,调用所述原生端的应用客户端中所述第一模块标识对应的第一模块和所述第一子类标识对应的方法。
进一步可选地,如上所述的装置中,还包括:
分配模块,用于为所述原生端的应用客户端中的各所述第一模块中的各第一子类分配对应的所述参数标识;
标识获取模块,用于获取所述开发端应用中与各所述第一模块对应的第二模块的标识、以及与对应的所述第一模块中的第一子类对应的所述第二模块中的第二子类的标识;
注册模块,用于将各所述参数标识、对应的所述第一模块的标识、对应的所述第一模块中所述第一子类的标识、对应的所述第二模块的标识以及对应的所述第二模块中所述第二子类的标识,均注册在所述注册信息库中;
所述注册信息库,用于存储各所述参数标识、各所述参数标识对应的所述第一模块的标识、各所述参数标识对应的所述第一模块中所述第一子类的标识、各所述参数标识对应的所述第二模块的标识以及各所述参数标识对应的所述第二模块中所述第二子类的标识。
进一步可选地,如上所述的装置中,还包括:
配置模块,用于为各所述参数标识对应的第一模块中的第一子类配置对应的所述调用信息,所述调用信息包括调用函数信息和回调函数信息;
建立模块,用于根据为各所述参数标识配置的所述调用信息,建立所述调用信息库。
本发明还提供一种通信系统,所述通信系统包括原生端的应用客户端、开发端的应用客户端和调用处理装置;所述原生端的应用客户端和所述开发端的应用客户端基于React Native的通信架构进行通信;所述调用处理装置,分别与所述原生端的应用客户端和所述开发端的应用客户端进行通信,用于在所述开发端的应用客户端对所述原生端的应用客户端进行调用时,根据所述开发端的应用客户端的调用请求,对所述原生端的应用客户端中的应用进行调用;所述调用处理装置采用如上任一所述的调用处理装置。
本发明的调用处理方法及装置、通信系统,通过获取待处理的携带参数标识的调用请求;根据调用请求中的参数标识从预先建立的调用信息库中,获取参数标识对应的调用信息;根据参数标识对应的调用信息调用原生端的应用;从而可以实现开发端的应用客户端对原生端的应用客户端进行调用,通过采用本发明的技术方案,在每次调用时可以直接从调用信息库中获取对应的调用信息即可,而不同每次去生成调用信息,操作非常简便,从而可以大大地提高研发人员的开发效率。
【附图说明】
图1为本发明的调用处理方法实施例的流程图。
图2为本发明的调用处理装置实施例一的结构图。
图3为本发明的调用处理装置实施例二的结构图。
图4为本发明的通信系统实施例的结构图。
图5为本发明提供的一种电子设备实施例的结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明的调用处理方法实施例的流程图。本实施例的调用处理方法应用于基于React Native的通信架构中。如图1所示,本实施例的调用处理方法,具体可以包括如下步骤:
100、获取待处理的携带参数标识的调用请求;
101、根据调用请求中的参数标识从预先建立的调用信息库中,获取参数标识对应的调用信息;
102、根据参数标识对应的调用信息调用原生端的应用。
本实施例的调用处理方法,应用在开发端如JS端的App对原生端即Native端的App进行调用的过程中。因此,本实施例的调用请求为开发端的应用客户端发送的。本实施例的调用处理方法的执行主体为调用处理装置,该调用处理装置可以设置在React Native的通信架构中的原生端的一侧,但独立于原生端的App的一个实体。本实施例的开发端是对原生端的App进行开发,且该开发端可以基于JS语言进行开发,从而实现跨平台开发原生App。例如原生的App采用IOS操作系统进行开发的,而开发端可以采用Andriod或者Windows操作系统进行开发。
本实施例中,开发端发送的调用请求都先由调用处理装置进行处理,然后再由调用处理装置发送给原生端的App客户端,从而实现对原生端的应用进行调用。具体地,调用处理装置可以先获取待处理的携带参数标识的待处理的调用请求;本实施例的参数标识为可以预先根据App中的模块和子类配置的,例如该参数标识可以采用Key来表示,Key可以采用数字和/字母来来表示,或者还可以包括其他字符。具体地在原生端中可以包括多个模块,每个模块中可以包括多个子类对应的方法,而且不同的模块中也可能包括相同的子类对应的方法,因为为了唯一标识每一个模块中的每一个子类,本实施例中,可以预先为原生端中的每个模块对应的每一个子类配置一个Key。由于原生端的模块及子类,在开发端都对应存在一个对应的模块及子类。因此,在本实施例中,定义原生端的App中的模块为第一模块,模块中的子类为第一子类。开发端的App中的模块为第二模块,模块中的子类为第二子类。例如,对于每一个参数标识Key,对应原生端的App中的一个第一模块中的一个第一子类,也对应于开发端的App中的一个第二模块和一个第二子类。而对于同一个参数标识Key,对应的第一模块和对应的第二模块是对应的,为App中具有相同功能的模块,仅采用不同语言表示而已;同理,对于同一个参数标识Key,第一模块中的第一子类和对应的第二模块中的第二子类也用于执行相同的方法,也仅采用不同的语言表示而已。
对于本实施例中的待处理的携带参数标识的调用请求,即表示来自开发端的对该参数标识对应的第一模块中的第一子类进行调用的调用请求;然后根据调用请求中的参数标识从预先建立的调用信息库中,获取参数标识对应的调用信息。即在本实施例中也可以预先建立有调用信息库,该调用信息库中根据每个参数标识存储有该参数标识对应的调用信息。当获取到调用请求时,根据调用请求中的参数标识,可以从调用信息库中获取到对应的调用信息;最后根据参数标识对应的调用信息调用原生端的应用。例如具体地,可以将获取的该参数标识对应的调用信息发送给原生端的应用客户端,由原生端的应用客户端根据调用信息调用原生端的应用。例如当该参数标识Key标识原生端的第一模块对应的第一子类时,即该调用信息为第一模块对应的第一子类对应的调用信息。此时,原生端的应用客户端可以根据该调用信息,调用原生端的应用中的第一模块中的第一子类对应的方法。
本实施例的调用处理方法,通过获取待处理的携带参数标识的调用请求;根据调用请求中的参数标识从预先建立的调用信息库中,获取参数标识对应的调用信息;根据参数标识对应的调用信息调用原生端的应用;可以实现开发端的应用客户端对原生端的应用客户端进行调用,而且在每次调用时直接从调用信息库中获取对应的调用信息即可,而不同每次去生成调用信息,操作非常简便,从而可以大大地提高研发人员的开发效率。
进一步可选地,在上述实施例的技术方案的基础上,步骤102“根据参数标识对应的调用信息调用原生端的应用客户端”,具体实现时可以包括如下步骤:
(a1)根据参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;
本实施例的第一子类标识对应的第一子类为第一模块标识对应的第一模块中的子类;
(a2)根据第一模块标识和第一子类标识对应的调用信息,调用原生端的应用客户端中第一模块标识对应的第一模块和第一子类标识对应的方法。
本实施例中预先建立的注册信息库中可以按照参数标识、参数标识对应的第一模块标识、参数标识对应的第一模块中的第一子类标识、参数标识对应的第二模块标识以及参数标识对应的第二模块中的第二子类标识这些信息一条一条保存;这样,根据参数标识,可以从注册信息库中获取该参数标识对应地在原生端的App中第一模块的标识以及第一模块中第一子类的标识。这样,步骤101获取的该参数标识对应的调用信息,即为该第一模块中的第一子类对应的调用信息。这样,根据第一模块标识和第一子类标识以及该调用信息,可以向原生端的App的客户端发送该第一模块标识和第一子类标识以及该调用信息,从而由原生端的App根据接收到的信息,调用原生端的应用客户端中第一模块标识对应的第一模块和第一子类标识对应的方法。
进一步可选地,在上述实施例的技术方案的基础上,步骤100“获取待处理的调用请求”之前,还可以包括如下步骤:
(b1)为原生端的应用客户端中的各第一模块中的各第一子类分配对应的参数标识;
(b2)获取开发端应用中与各第一模块对应的第二模块的标识、以及与对应的第一模块中的第一子类对应的第二模块中的第二子类的标识;
(b3)将各参数标识、对应的第一模块的标识、对应的第一模块中第一子类的标识、对应的第二模块的标识以及对应的第二模块中第二子类的标识,均注册在注册信息库中。
具体地,本实施例在获取待处理的调用请求之前,需要先做准备工作,生成注册信息库。首先为原生端的应用客户端中的各第一模块中的各第一子类进行遍历,为每一个第一模块中的每一个第一子类分配对应的参数标识Key。然后获取开发端应用中与各第一模块对应的第二模块的标识、以及与第一模块中的第一子类对应的第二模块中的第二子类的标识。参考上述实施例的描述,与第一模块对应的第二模块为与第一模块采用不同的语言描述功能相同的模块。与第一模块中的第一子类对应的第二模块中的第二子类为与第一模块中的第一子类采用不同的语言描述的所执行的方法相同的子类。最后将获取的各参数标识、对应的第一模块的标识、对应的第一模块中第一子类的标识、对应的第二模块的标识以及对应的第二模块中第二子类的标识,一条一条注册在注册信息库中。
本实施例中,通过将上述信息注册在注册信息库中,克服了现有技术对要通信的类没有在统一地方注册,项目中要通信的类很分散,结构不清晰的技术问题。而且通过对上述信息进行注册,在需要调用时,可以根据注册信息库中的信息实现调用,实现非常方便。
进一步可选地,在上述实施例的技术方案的基础上,步骤100“获取待处理的调用请求”之前,还可以包括如下步骤:
(c1)为各参数标识对应的第一模块中的第一子类配置对应的调用信息,调用信息包括调用函数信息和回调函数信息;
(c2)根据为各参数标识配置的调用信息,建立调用信息库。
本实施例中,还需要预先建立调用信息库,具体地,可以遍历原生端的App中第一模块中的第一子类,为每个第一模块对应的第一子类配置对应的调用信息。由于每个每一模块对应的第一子类对应一个参数标识,对应地,也可以遍历注册信息库中的每个参数标识,为每个参数标识配置对应的调用信息。该调用信息可以包括该参数标识对应的第一模块中对应的资第一子类的调用函数信息,为了便于将调用结果及时反馈至开发端,调用信息还需要埋入回调函数信息,以将调用结果及时反馈。最后将为每个参数标识配置的调用信息存储在一个信息库中,得到调用信息库。
本实施例的技术方案,通过上述方案预先建立调用信息库,可以在每次调用时,直接获取调用信息,而不用每次生成符合React Native通信规范的调用信息,可以大大提高调用处理的效率;而且本实施例的调用信息库中的每一个调用信息如调用函数信息和回调函数信息,都符合React Native通信架构的通信的规则,而且可以避免研发人员在大范围使用React Native的开发时的很多重复工作,提高开发效率。从而提高研发人员的开发效率。
进一步可选地,在上述实施例的技术方案的基础上,步骤100“获取待处理的调用请求”之前,还可以包括如下步骤:
(d1)接收开发端的应用客户端发送的携带参数标识的调用请求;
(d2)将调用请求存储在调用请求队列的队尾;
也就是说,本实施例中为了便于管理调用请求,可以在调用处理装置中设置调用请求队列,从而将待处理的调用请求按照队列的形式存放。当调用处理装置接收到开发端的应用客户端发送的携带参数标识的调用请求,然后将调用请求存储在调用请求队列的队尾。
这样,步骤100“获取待处理的调用请求”,具体可以包括:按照从前往后的顺序,从调用请求队列的队头获取待处理的调用请求。
也就是说按照队列的先进先出规则,将各待处理的调用请求按照接收的时间先后顺序,依次存储在队列时,在调用时,可以先调用队列头部,即先接收到的调用请求。这样可以避免调用请求较多时,同时处理容易造成通信阻塞的问题,从而对调用请求进行了有效地管理。
进一步可选地,在上述实施例的技术方案的基础上,在步骤100“获取待处理的调用请求”之前,还可以包括:设置调用请求队列,以用于存放开发端的应用客户端发送的各个调用请求。本实施例的调用请求队列的设置方式可以参考相关的队列的设置方式,以对调用请求进行有效地管理。
上述实施例的调用处理方法,通过采用上述方案通过在原生端一侧增加调用处理装置,该调用处理装置通过执行上述实施例的方法,可以实现开发端的应用客户端对原生端的应用客户端进行调用。而开发端对原生端的开发仍采用相关现有技术来实现,本实施例不做限制。本实施例的开发端具体可以采用JS语言,从此实现JS跨平台开发原生APP。上述实施例的调用处理方法,通过设置有注册信息库和调用信息库,可以对要通信的子类进行统一注册,项目中要通信的子类的结构非常清晰,便于使用;而且在调用信息库中对每一个参数表纸对应的调用信息都按照React Native通信规范进行设置,同时还可以在任何想回调的地方设置遵守回调协议的回调,这样,在调用时,直接获取调用信息进行调用即可,实现非常方便。因此,采用本实施例的技术方案,可以在大范围使用React Native通信架构的开发环境下,减少现有技术中开发端的应用客户端对原生端的应用进行调用的重复工作,提高开发效率;而且本实施例的调用处理中采用调用请求队列管理调用请求,可以避免多个子类的方法同时由于调用进行通信时会出现阻塞的情况。
图2为本发明的调用处理装置实施例一的结构图。本实施例的调用处理装置,应用于基于React Native的通信架构中,如图2所示,本实施例的调用处理装置具体可以包括:调用请求获取模块10、调用信息获取模块11、调用模块12和调用信息库13。
其中调用请求获取模块10用于获取待处理的携带参数标识的调用请求;调用请求为开发端的应用客户端发送的;
调用信息获取模块11用于根据调用请求获取模块10获取的调用请求中的参数标识从预先建立的调用信息库13中,获取参数标识对应的调用信息;
调用模块12用于根据调用信息获取模块11获取的参数标识对应的调用信息调用原生端的应用;
调用信息库13用于存储各参数标识对应的调用信息。
本实施例的调用处理装置,通过采用上述模块实现调用处理的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图3为本发明的调用处理装置实施例二的结构图。本实施例的调用处理装置,在上述图2所示实施例的技术方案的基础上,进一步更加详细地描述本发明的技术方案。
如图3所示,本实施例的调用处理装置中,还可以包括:接收模块14、存储模块15和调用请求队列16。
接收模块14用于接收开发端的应用客户端发送的携带参数标识的调用请求;存储模块15用于将接收模块14接收的调用请求存储在调用请求队列16的队尾;调用请求队列16用于以队列的形式存储各调用请求。
进一步地,调用请求获取模块11具体用于按照从前往后的顺序,从调用请求队列16的队头获取待处理的调用请求。
进一步可选地,如图3所示,本实施例的调用处理装置中,还可以包括:
设置模块17用于设置调用请求队列16以用于存放开发端的应用客户端发送的各个调用请求。
进一步可选地,本实施例的调用处理装置中,调用模块12具体用于:
根据参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;第一子类标识对应的第一子类为第一模块标识对应的第一模块中的子类;
根据第一模块标识和第一子类标识对应的调用信息,调用原生端的应用客户端中第一模块标识对应的第一模块和第一子类标识对应的方法。
进一步可选地,如图3所示,本实施例的调用处理装置中,还可以包括:分配模块18、标识获取模块19、注册模块20和注册信息库21。
分配模块18用于为原生端的应用客户端中的各第一模块中的各第一子类分配对应的参数标识;
标识获取模块19用于根据分配模块18中分配的各参数标识,获取开发端应用中与各第一模块对应的第二模块的标识、以及与对应的第一模块中的第一子类对应的第二模块中的第二子类的标识;
注册模块20用于将各参数标识、对应的第一模块的标识、对应的第一模块中第一子类的标识、对应的第二模块的标识以及对应的第二模块中第二子类的标识,均注册在注册信息库21中;
注册信息库21用于存储各参数标识、各参数标识对应的第一模块的标识、各参数标识对应的第一模块中第一子类的标识、各参数标识对应的第二模块的标识以及各参数标识对应的第二模块中第二子类的标识。
对应地,调用模块12具体用于根据参数标识从预先建立的注册信息库21中获取对应的第一模块标识和第一子类标识;根据第一模块标识和第一子类标识对应的调用信息,调用原生端的应用客户端中第一模块标识对应的第一模块和第一子类标识对应的方法。
进一步可选地,如图3所示,本实施例的调用处理装置中,还可以包括配置模块22和建立模块23。
配置模块22用于为分配模块18分配的各参数标识对应的第一模块中的第一子类配置对应的调用信息,调用信息包括调用函数信息和回调函数信息;建立模块23用于根据为各参数标识配置的调用信息,建立调用信息库13。
本实施例的调用处理装置,通过采用上述模块实现调用处理的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图4为本发明的通信系统实施例的结构图。如图4所示,本实施例的通信系统,具体可以包括原生端的应用客户端30、开发端的应用客户端40和调用处理装置50;原生端的应用客户端30和开发端的应用客户端40基于React Native的通信架构进行通信,例如实现由开发端的应用客户端40对原生端的应用客户端30的应用进行开发。调用处理装置50分别与原生端的应用客户端30和开发端的应用客户端40进行通信,用于在开发端的应用客户端40对原生端的应用客户端30进行调用时,根据开发端的应用客户端40的调用请求,对原生端的应用客户端30中的应用进行调用;调用处理装置50采用如上图2或者图3所示的调用处理装置,并可以采用如上图1所示实施例及相关实施例的方法实现调用。详细可以参考上述相关实施例的记载,在此不再赘述。
本发明实施例提供的上述方法还可以以设置并运行于电子设备中的计算机程序体现。如图5中所示,该电子设备可以包括一个或多个处理器800,还包括存储器801和一个或多个程序,图5所示实施例以包括一个处理器800为例来描述本发明的技术方案。其中该一个或多个程序存储于存储器801中,被上述一个或多个处理器800执行以实现本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器800执行的方法流程,可以包括:
获取待处理的携带参数标识的调用请求;所述调用请求为开发端的应用客户端发送的;
根据所述调用请求中的所述参数标识从预先建立的调用信息库中,获取所述参数标识对应的调用信息;
根据所述参数标识对应的所述调用信息调用原生端的应用。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种调用处理方法,应用于基于React Native的通信架构中,其特征在于,所述方法包括:
获取待处理的携带参数标识的调用请求;所述调用请求为开发端的应用客户端发送的,所述参数标识对应原生端应用中的第一模块标识和第一模块中的第一子类标识以及开发端应用中的第二模块标识和第二模块中的第二子类标识;
根据所述调用请求中的所述参数标识从预先建立的调用信息库中,获取所述参数标识对应的调用信息;
根据所述参数标识对应的所述调用信息调用原生端的应用。
2.根据权利要求1所述的方法,其特征在于,获取待处理的调用请求之前,所述方法还包括:
接收所述开发端的应用客户端发送的携带所述参数标识的所述调用请求;
将所述调用请求存储在调用请求队列的队尾;
进一步地,获取待处理的调用请求,具体包括:
按照从前往后的顺序,从所述调用请求队列的队头获取待处理的所述调用请求。
3.根据权利要求2所述的方法,其特征在于,获取待处理的调用请求之前,所述方法还包括:
设置所述调用请求队列,以用于存放所述开发端的应用客户端发送的各个所述调用请求。
4.根据权利要求1-3任一所述的方法,其特征在于,根据所述参数标识对应的所述调用信息调用原生端的应用,具体包括:
根据所述参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;所述第一子类标识对应的第一子类为所述第一模块标识对应的第一模块中的子类;
根据所述第一模块标识和所述第一子类标识对应的所述调用信息,调用所述原生端的应用客户端中所述第一模块标识对应的第一模块和所述第一子类标识对应的方法。
5.根据权利要求4所述的方法,其特征在于,获取待处理的调用请求之前,所述方法还包括:
为所述原生端的应用客户端中的各所述第一模块中的各第一子类分配对应的所述参数标识;
获取所述开发端应用中与各所述第一模块对应的第二模块标识、以及与对应的所述第一模块中的第一子类对应的所述第二模块中的第二子类标识;
将各所述参数标识、对应的所述第一模块标识、对应的所述第一模块中所述第一子类标识、对应的所述第二模块标识以及对应的所述第二模块中所述第二子类标识,均注册在所述注册信息库中。
6.根据权利要求5所述的方法,其特征在于,获取待处理的调用请求之前,所述方法还包括:
为各所述参数标识对应的第一模块中的第一子类配置对应的所述调用信息,所述调用信息包括调用函数信息和回调函数信息;
根据为各所述参数标识配置的所述调用信息,建立所述调用信息库。
7.一种调用处理装置,应用于基于React Native的通信架构中,其特征在于,所述装置包括:
调用请求获取模块,用于获取待处理的携带参数标识的调用请求;所述调用请求为开发端的应用客户端发送的,所述参数标识对应原生端应用中的第一模块标识和第一模块中的第一子类标识以及开发端应用中的第二模块标识和第二模块中的第二子类标识;
调用信息获取模块,用于根据所述调用请求中的所述参数标识从预先建立的调用信息库中,获取所述参数标识对应的调用信息;
调用模块,用于根据所述参数标识对应的所述调用信息调用原生端的应用;
所述调用信息库,用于存储各所述参数标识对应的所述调用信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述开发端的应用客户端发送的携带所述参数标识的所述调用请求;
存储模块,用于将所述调用请求存储在调用请求队列的队尾;
调用请求队列,用于以队列的形式存储各所述调用请求;
进一步地,所述调用请求获取模块,具体用于按照从前往后的顺序,从所述调用请求队列的队头获取待处理的所述调用请求。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
设置模块,用于设置所述调用请求队列,以用于存放所述开发端的应用客户端发送的各个所述调用请求。
10.根据权利要求7-9任一所述的装置,其特征在于,所述调用模块,具体用于:
根据所述参数标识从预先建立的注册信息库中获取对应的第一模块标识和第一子类标识;所述第一子类标识对应的第一子类为所述第一模块标识对应的第一模块中的子类;
根据所述第一模块标识和所述第一子类标识对应的所述调用信息,调用所述原生端的应用客户端中所述第一模块标识对应的第一模块和所述第一子类标识对应的方法。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
分配模块,用于为所述原生端的应用客户端中的各所述第一模块中的各第一子类分配对应的所述参数标识;
标识获取模块,用于获取所述开发端应用中与各所述第一模块对应的第二模块标识、以及与对应的所述第一模块中的第一子类对应的所述第二模块中的第二子类标识;
注册模块,用于将各所述参数标识、对应的所述第一模块标识、对应的所述第一模块中所述第一子类标识、对应的所述第二模块标识以及对应的所述第二模块中所述第二子类标识,均注册在所述注册信息库中;
所述注册信息库,用于存储各所述参数标识、各所述参数标识对应的所述第一模块标识、各所述参数标识对应的所述第一模块中所述第一子类标识、各所述参数标识对应的所述第二模块标识以及各所述参数标识对应的所述第二模块中所述第二子类标识。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
配置模块,用于为各所述参数标识对应的第一模块中的第一子类配置对应的所述调用信息,所述调用信息包括调用函数信息和回调函数信息;
建立模块,用于根据为各所述参数标识配置的所述调用信息,建立所述调用信息库。
13.一种通信系统,其特征在于,所述通信系统包括原生端的应用客户端、开发端的应用客户端和调用处理装置;所述原生端的应用客户端和所述开发端的应用客户端基于React Native的通信架构进行通信;所述调用处理装置,分别与所述原生端的应用客户端和所述开发端的应用客户端进行通信,用于在所述开发端的应用客户端对所述原生端的应用客户端进行调用时,根据所述开发端的应用客户端的调用请求,对所述原生端的应用客户端中的应用进行调用;所述调用处理装置采用如上权利要求7-12任一所述的调用处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710080833.7A CN108694040B (zh) | 2017-02-15 | 2017-02-15 | 调用处理方法及装置、通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710080833.7A CN108694040B (zh) | 2017-02-15 | 2017-02-15 | 调用处理方法及装置、通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694040A CN108694040A (zh) | 2018-10-23 |
CN108694040B true CN108694040B (zh) | 2022-01-28 |
Family
ID=63841755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710080833.7A Active CN108694040B (zh) | 2017-02-15 | 2017-02-15 | 调用处理方法及装置、通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694040B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908704A (zh) * | 2019-11-14 | 2020-03-24 | 亚信科技(中国)有限公司 | 一种移动端跨平台原生功能的调用方法及装置 |
CN111581578B (zh) * | 2020-05-09 | 2022-11-29 | 郑州悉知信息科技股份有限公司 | 接口请求处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750157A (zh) * | 2011-04-20 | 2012-10-24 | 中兴通讯股份有限公司 | 一种应用程序加载的方法及装置 |
CN103617285A (zh) * | 2013-12-11 | 2014-03-05 | 百度在线网络技术(北京)有限公司 | 在移动终端中展现搜索结果的方法及装置 |
CN104102537A (zh) * | 2013-04-07 | 2014-10-15 | 华为技术有限公司 | 一种应用调用方法及用户终端 |
CN104717179A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团河南有限公司 | 一种通信业务的处理方法及装置 |
CN105718313A (zh) * | 2016-01-22 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 应用操作方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9632804B2 (en) * | 2013-01-24 | 2017-04-25 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and communication system for implementing internet application |
US20160011732A1 (en) * | 2014-07-11 | 2016-01-14 | Shape Security, Inc. | Disrupting automated attacks on client-server interactions using polymorphic application programming interfaces |
US10169219B2 (en) * | 2015-04-21 | 2019-01-01 | Nintendo Co., Ltd. | System and method to infer call stacks from minimal sampled profile data |
-
2017
- 2017-02-15 CN CN201710080833.7A patent/CN108694040B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750157A (zh) * | 2011-04-20 | 2012-10-24 | 中兴通讯股份有限公司 | 一种应用程序加载的方法及装置 |
CN104102537A (zh) * | 2013-04-07 | 2014-10-15 | 华为技术有限公司 | 一种应用调用方法及用户终端 |
CN103617285A (zh) * | 2013-12-11 | 2014-03-05 | 百度在线网络技术(北京)有限公司 | 在移动终端中展现搜索结果的方法及装置 |
CN104717179A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团河南有限公司 | 一种通信业务的处理方法及装置 |
CN105718313A (zh) * | 2016-01-22 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 应用操作方法和装置 |
Non-Patent Citations (2)
Title |
---|
8) React Native 与原生之间的通信(iOS);朱_源浩;《https://www.jianshu.com/p/9d7dbf17daa5》;20160826;第1-15页 * |
Join PremiumA ccess Platform APIs with React Native Modules;Sajjad Ashraf;《https://www.sitepoint.com/access-platform-apis-with-react-native-modules/》;20160715;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108694040A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US11687354B2 (en) | Virtual machine management using onboarding operations and openstack control | |
CN109922158A (zh) | 基于微服务的数据处理方法、装置、介质及电子设备 | |
CN108255707B (zh) | 测试用例的开发角色创建方法、装置、设备及存储介质 | |
CN104468638B (zh) | 一种分布式数据处理方法及系统 | |
CN104301443A (zh) | 一种在web页面上调用端能力接口的方法和系统 | |
EP3660665A1 (en) | Business processing method, apparatus, device and system using the same, and readable storage medium of the same | |
CN103064960A (zh) | 数据库查询方法及设备 | |
CN109842637A (zh) | 一种分布式服务注册方法及装置 | |
CN109104491A (zh) | 一种微服务调用方法、装置、服务器及存储介质 | |
CN108694040B (zh) | 调用处理方法及装置、通信系统 | |
CN109039803A (zh) | 一种处理回调通知消息的方法、系统及计算机设备 | |
CN104601448B (zh) | 一种对虚拟卡片进行处理的方法和装置 | |
CN108399095B (zh) | 支持动态管理定时任务的方法、系统、设备和存储介质 | |
CN108028806A (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN106936660B (zh) | 数据采集方法和装置 | |
CN116436968A (zh) | 一种服务网格通信方法、系统、装置以及存储介质 | |
CN111858079B (zh) | 分布式锁迁移方法、装置及电子设备、存储介质 | |
CN109032582A (zh) | 一种生成服务器运维脚本的方法及装置 | |
CN106559454B (zh) | 资源访问方法、装置及系统 | |
CN109165200B (zh) | 数据同步方法、装置、计算设备及计算机存储介质 | |
CN110417912B (zh) | 一种文件下载完成后回调的方法 | |
CN113839783A (zh) | 一种任务处理方法、装置及设备 | |
CN113691972A (zh) | 安卓系统的业务配置方法和装置 | |
CN112217852A (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 |