CN111552606B - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111552606B CN111552606B CN201910111575.3A CN201910111575A CN111552606B CN 111552606 B CN111552606 B CN 111552606B CN 201910111575 A CN201910111575 A CN 201910111575A CN 111552606 B CN111552606 B CN 111552606B
- Authority
- CN
- China
- Prior art keywords
- type
- mobile client
- service
- environment
- interface
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置及电子设备,其中,方法包括:检测移动客户端的运行环境;根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型;根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至所述业务处理接口。本发明实施例的方案,能够屏蔽在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法、装置及电子设备。
背景技术
目前,移动客户端的开发主要包括三种类型:
Native App(原生App):完全使用移动设备系统语言写的客户端。例如,iOS系统使用Objective-C或者SWIFT语言来编写本地应用;Android平台使用Java语言来开发。原生App从界面到交互都是使用官方标准语言来编写,效率和稳定性很好,但欠缺灵活性。
Web App:在移动浏览器里打开的,使用Web前端开发语言如HTML+CSS+JavaScript来开发的,基本上类似网页。
Hybrid App:主要使用HTML5实现。一般使用Native语言实现一个容器,然后使用HTML+CSS+JS来实现用户界面和交互。
当某个业务需要调用业务接口实现相应业务处理时,需要业务调用接口按预定数据传输方式向业务处理接口传输数据。这个传输通路可称为“通道”。所谓通道可以理解为桥接业务调用接口和业务处理接口的桥梁。不同前端App类型对应不同的通道,比如,RN(React Native)通道,Hybrid通道和纯web通道的业务调用接口都是前端JS,但RN通道和Hybrid通道的业务处理接口都是在移动端native,纯web通道的业务处理接口为前端JS。
当前在前端开发技术上因不同通道的差异基本采用单通道设计。每种通道方式设置单独的链路,采用不同的实现逻辑,并且针对通道差异化的处理均在业务调用接口实现。这就需要业务调用接口需要关注太多平台场景差异化的内容。
发明内容
本发明提供了一种数据处理方法、装置及电子设备,能够屏蔽在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据处理方法,包括:
检测移动客户端的运行环境;
根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型;
根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至所述业务处理接口。
第二方面,提供了一种数据处理装置,包括:
环境检测模块,用于检测移动客户端的运行环境;
通道选取模块,用于根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型;
数据处理模块,用于根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至所述业务处理接口。
第三方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行本发明提供的数据处理方法。
本发明提供了一种数据处理方法、装置及电子设备,通过检测移动客户端的运行环境;根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型;根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口。本方案通过将原始对业务调用接口需要关注太多平台场景差异内容的开发处理环节转移到实际业务处理过程中,通过对移动客户端的运行环境进行检测来确定需要桥接业务调用接口和业务处理接口的通道类型,然后根据确定的通道类型对业务请求数据进行相应处理,屏蔽了在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容的环节,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的数据处理逻辑架构图;
图2为本发明实施例的数据处理方法流程图一;
图3为本发明实施例的数据处理方法流程图二;
图4为本发明实施例的数据处理方法流程图三;
图5为本发明实施例的数据处理方法流程图四;
图6为本发明实施例的数据处理装置结构图一;
图7为本发明实施例的数据处理装置结构图二;
图8为本发明实施例的数据处理装置结构图三;
图9为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例改善了现有技术中,在移动客户端的开发过程中,因不同开发环境类型对应的连接业务调用接口和业务处理接口之间通道的差异而针对每种通道方式设置单独的链路,并且针对通道差异化的处理均在业务调用接口,从而需要业务调用接口关注太多平台场景差异化的内容,无法实现前端App的统一开发的缺陷,其核心思想是,在业务调用接口和业务处理接口以外设置独立的通道管理模块,该通道管理模块在移动客户端运行过程中,通过检测移动客户端的运行环境;根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型;根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口,从而完成业务请求数据的转发。本方案通过将原始对业务调用接口需要关注太多平台场景差异内容的开发处理环节转移到实际业务处理过程中,通过对移动客户端的运行环境进行检测来确定需要桥接业务调用接口和业务处理接口的通道类型,然后根据确定的通道类型对业务请求数据进行相应处理,屏蔽了在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容的环节,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
例如,在物联网应用场景中,运用本发明中的技术方案,可以使任一环境/平台下开发的前端和后端进行互联。例如在如下场景中:
1.智能生活,可以通过本方案实现开发者开发的智能生活app/移动端H5下的通道,向生活类设备进行指令发送(如开启电灯,开启空调等),也可以查看设备的运行信息和状态(电灯是否开启,空调运行情况等)。
2.智能制造,可以通过本方案实现开发者开发的智行业app/移动端H5下的通道,对制造类设备(如对变压器,电表,机床等)进行消息订阅,并通过通道进行消息的展示。
3.智能农业,可以通过本方案实现开发者开发的智行业app/移动端H5下的通道,进行养殖设备(耳环,脚环,体况检测设备)的信息查看。
在不局限于上述的各类行业中,开发者能够通过本方案,实现一套业务逻辑,并在不同的移动端运行环境下与云端平台和设备端进行通信,实现不同的设备之间的互联。基于上述数据处理的方案思想,图1为本发明实施例的数据处理逻辑架构图,该处理逻辑如下:
1、前端App(JS)发起业务调用请求,将业务请求数据发送给服务调用接口;
2、服务调用接口将业务请求数据发给通道管理模块,由其代为向服务处理接口发送业务请求数据。
3、通道管理模块接收到业务请求数据后做两项处理:
1)对业务请求数据进行组装
数据组装形式比较自由,数组/字符串都可以;数据组装无平台和场景的差异,都是一致的。
2)选择通道协议
通道管理模块检测当前业务(或者说App)的运行环境(RN、Hybrid、web)和运行平台(Android、iOS),然后基于检测结果确定移动客户端的开发环境,进而根据开发环境选择业务请求数据对应使用的通道类型,选择相应通道类型对应的通道协议(数据传输协议)。
通道类型描述:
RN通道:前端JS通过RN内置的BatchedBridge将服务调用方(服务调用接口)的请求数据传递给移动端Native服务处理方(服务处理接口),并接收服务处理方的处理结果的过程的链路。
Hybrid通道:前端JS通过与Native约定的方式(Native监听浏览器行为)将服务调用的数据经浏览器传递给Native服务处理方,并接收处理结果的过程的链路。根据开发平台的不同,Hybrid通道又可细分为Android系统、iOS系统下的Hybrid通道。
Web通道:前端JS在没有Native参与的前提下,独立完成服务调用到服务处理之间数据传递的过程的链路。
数据传递的协议:RN通道对应可使用RN内置的BatchedBridge;Hybrid通道:Android系统使用window.prompt,iOS系统使用window.postMessage;接口回调为JS的回调方法。
4.通道管理模块选择相应通道类型的处理单元采用相应的通道协议对业务请求数据进行处理。
5.通道管理模块将处理后的业务请求数据传输到服务处理接口。
这里根据通道的不同,对应的服务处理接口也不同,每个服务处理接口中包含多个处理不同业务的业务模块。
6.接收Native返回的请求数据处理结果。
通道管理模块接收Native返回的请求数据处理结果,并将其返回至服务调用接口。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述数据处理的方案思想,如图2所示,其为本发明实施例示出的数据处理方法流程图一,该方法可通过图1中所示的通道管理模块执行完成。如图2所示,该数据处理方法包括如下步骤:
S210,检测移动客户端的运行环境。
根据移动客户端开发环境的不同,移动客户端的运行环境相应可分为如RN(ReactNative)、Hybrid、web类型。每种类型的运行环境可通检测相应运行环境下是否包含指定的特征对象等手段进行区分。本方案中对检测移动客户端的运行环境的具体方式不做限定。
S220,根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型。
基于检测出的移动客户端的运行环境可以了解到在实现业务调用过程中,业务调用接口和业务处理接口之间的数据传输方式,进而选择出与能够完成该数据传输方式所专用的通道类型。该通道类型可包括如RN(React Native)通道类型、Hybrid通道类型、web通道类型等。
S230,根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口。
在确定移动客户端中用于桥接业务调用接口和业务处理接口的通道类型后,即可根据该通道类型对应的数据传输方式,对待传输的业务请求数据进行相应处理,并将处理后的业务请求数据发送至业务处理接口以进一步通过业务处理接口实现对业务请求的后续处理。
本发明提供的数据处理方法,通过检测移动客户端的运行环境;根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型;根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口。本方案通过将原始对业务调用接口需要关注太多平台场景差异内容的开发处理环节转移到实际业务处理过程中,通过对移动客户端的运行环境进行检测来确定需要桥接业务调用接口和业务处理接口的通道类型,然后根据确定的通道类型对业务请求数据进行相应处理,屏蔽了在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容的环节,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
实施例二
如图3所示,为本发明实施例的数据处理方法流程图二。本实施例示出了检测移动客户端的运行环境的具体实施方案。如图3所示,该方法包括如下步骤:
S310,检测移动客户端的运行环境是否为浏览器环境;如果检测结果为是,则进入步骤S320,如果检测结果为否,则进入步骤S350。
在判断移动客户端的当前运行环境是否是浏览器环境时,可以通过检测运行环境中是否存在浏览器的窗口属性信息window。如果存在,则可以初步判断运行环境可能是hybrid类型或者是web类型,因为hybrid、web都是在浏览器环境下运行的。
S320,检测浏览器的UserAgent信息中是否包含Native注入的约定信息;如果检测结果为是,则进入步骤S330,如果检测结果为否,则进入步骤S340。
如果判断移动客户端的当前运行环境是浏览器环境,则可以通过进一步识别浏览器的UserAgent信息的内容判断是hybrid类型还是web类型。
Hybrid环境类型属于浏览器环境,Native使用的浏览器可以是移动设备的操作系统内置的或应用(App)自行定制的。这些浏览器都遵循浏览器的UA(UserAgent)标准,UA信息包含操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件,以及native添加的识别信息。但前端JS不能修改UA。
比如约定一个验证模板信息,Native向浏览器里加一个特定的UA信息,前端JS通过验证UA信息中是否包含该特定的信息就可以检测出前端是hybrid类型的运行环境,而运行平台信息直接通过默认的UA信息就能识别(Android,iOS)。
S330,确定移动客户端的运行环境类型为hybrid类型。
S340,确定移动客户端的运行环境类型为web类型。
在浏览器环境下,如果不是Hybrid类型的运行环境,则默认为是web类型的运行环境,从而保证用户场景的闭合。
S350,检测移动客户端中是否包含React Native运行环境类型下的约定的对象库信息。
RN运行环境下,业务运行需要前端JS有一个与Native action保持一致性的对象库(library)。Native具有处理相应对象业务的处理能力。
具体检测过程分两步,首先检测前端JS里是否存在有这个对象库,如果存在则进一步执行步骤S360的处理;如果不存在则判断当前移动客户端的运行环境不是RN类型。
S360,如果移动客户端中包含React Native运行环境类型下的约定的对象库信息,且对象库中的对象调用正常,则确定移动客户端的运行环境类型为React Native类型。
在确定运行环境中存在React Native运行环境类型下的约定的对象库信息后,检测Native里的Native action的库(library)是否跟JS的对象库中的对象信息匹配,这需要JS应用library库去调用一个对象库方法以和native进行通信,如果native能够正确处理完成该操作过程,则确定当前运行环境类型为React Native类型。
在图3所示方法执行完成后,可继续执行如图2中步骤S220~230的内容。
该实施例在图2所示实施例基础上,进一步地,通过检测移动客户端的运行环境是否为浏览器环境,如果是,则进一步检测浏览器的UserAgent信息中是否包含Native注入的约定信息;如果浏览器的UserAgent信息中包含Native注入的约定信息,则确定移动客户端的运行环境类型为hybrid类型。
进一步地,如果浏览器的UserAgent信息中不包含Native注入的约定信息,则确定移动客户端的运行环境类型为web类型。
进一步地,在检测移动客户端的运行环境是否为浏览器环境后,如果检测结果为否,则进一步检测移动客户端中是否包含React Native运行环境类型下的约定的对象库信息;如果移动客户端中包含React Native运行环境类型下的约定的对象库信息,且对象库中的对象调用正常,则确定移动客户端的运行环境类型为React Native类型。
本实施例示出了常用几种运行环境类型及其判定方法。
实施例三
如图4所示,为本发明实施例的数据处理方法流程图三。该方法是在实施例一、实施例二所示方法的基础上进行了方案拓展,如图4所示,该数据处理方法包括如下步骤:
S410,响应于从业务调用接口获取到业务请求数据的操作,或者在移动客户端启动完成初始化后,触发执行检测移动客户端的运行环境的处理。
本步骤示出了执行步骤S210,检测移动客户端的运行环境的处理的两个时机,可以是在业务调用接口获取到业务请求数据后执行,也可以是在移动客户端启动后执行。另外,为了减少不必要的处理过程,可以在首次得到当前移动客户端的通道类型后,对通道类型的信息进行存储,以方便后续业务调用接口再接收到业务请求数据时,直接根据存储的通道类型信息对该业务请求数据进行相应处理。
S420,如果移动客户端的运行环境类型为Hybrid类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为Hybrid通道类型;
S430,如果移动客户端的运行环境类型为web类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为web通道类型;
S440,如果移动客户端的运行环境类型为React Native类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为React Native通道类型。
关于通道类型的确认和选取可参见前述实施例的相应内容,在此不做赘述。
S450对业务请求数据的内容进行组装处理,并选取与通道类型相对应的通道协议对组装后的业务请求数据进行处理。
其中,数据组装形式比较自由,数组/字符串都可以;数据组装无平台和场景的差异,都是一致的。
通道协议(数据传递的协议):RN通道对应可使用RN内置的BatchedBridge;Hybrid通道:Android系统使用window.prompt,iOS系统使用window.postMessage;接口回调为JS的回调方法。
本步骤可视为步骤S230的细化内容。
该实施例在图2、图3所示实施例基础上,进一步地,以运行环境类型为Hybrid类型、web类型、React Native类型为例,对根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型进行具体举例说明。
进一步地,通过对业务请求数据的内容进行组装处理,并选取与通道类型相对应的通道协议对组装后的业务请求数据进行处理以完成将业务请求数据传输到业务处理接口之前的针对业务请求数据的处理过程。
实施例四
本实施例方法步骤从实际操作流程的角度出发,基于图1中所示的数据处理逻辑,对上述实施例中的数据处理方法的执行过程进行描述。如图5所示,其为本发明实施例提供的数据处理方法流程图四,包括如下处理步骤:
1、前端App(JS)发起业务调用请求,接口调用开始,业务请求数据被发送至服务调用接口,该服务调用接口无平台差异。
2.通道管理模块对移动客户端当前的运行环境/平台进行检测,以确定运行环境类型。
3.确定运行环境类型及根据环境类型进行后续处理如下:
首先,检测当前运行环境是否为浏览器环境;如果是,则进一步检测是否为Hybrid环境类型;如果是,则采用通道管理模块中的Hybrid模块对业务请求数据进行处理(对业务请求数据进行组装,并采用Hybrid通道对应的通道协议对组装后的数据进行处理),将处理后的数据发送至服务调用接口,之后接收Hybrid通道返回的业务结果数据,业务调用过程结束;
其次,在检测是否为Hybrid环境类型时,如果检测结果不是Hybrid环境类型,则默认为web环境类型;采用通道管理模块中的web模块对业务请求数据进行处理(对业务请求数据进行组装,并采用web通道对应的通道协议对组装后的数据进行处理),将处理后的数据发送至服务调用接口,之后接收web通道返回的业务结果数据,业务调用过程结束;
最后,在检测当前运行环境是否为浏览器环境时,如果检测结果不是浏览器环境,则进一步检测是否为RN环境类型;如果是,则采用通道管理模块中的RN模块对业务请求数据进行处理(对业务请求数据进行组装,并采用RN通道对应的通道协议对组装后的数据进行处理),将处理后的数据发送至服务调用接口,之后接收RN通道返回的业务结果数据,业务调用过程结束。在检测是否为RN环境类型时,如果检测结果不是RN环境类型,则认为是异常情况,业务调用过程结束。
实施例五
如图6所示,为本发明实施例的数据处理装置结构图一,该数据处理装置可设置在图1所示的通道管理模块中,用于执行如图2所示的方法步骤,其包括:
环境检测模块610,用于检测移动客户端的运行环境;
通道选取模块620,用于根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型;
数据处理模块630,用于根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口。
进一步地,如图7所示,上述数据处理装置中,环境检测模块610可包括:
浏览器环境检测单元710,用于检测移动客户端的运行环境是否为浏览器环境,如果是,则进一步触发hybrid环境检测单元720检测浏览器的UserAgent信息中是否包含Native注入的约定信息;
如果浏览器的UserAgent信息中包含Native注入的约定信息,则hybrid环境检测单元720确定移动客户端的运行环境类型为hybrid类型。
进一步地,图7所示的数据处理装置中,hybrid环境检测单元720还可用于,如果浏览器的UserAgent信息中不包含Native注入的约定信息,则确定移动客户端的运行环境类型为web类型。
进一步地,如图8所示,在图6所示的数据处理装置中,环境检测模块610可包括:
浏览器环境检测单元710,用于检测移动客户端的运行环境是否为浏览器环境,如果否,则进一步触发RN环境检测单元810检测移动客户端中是否包含React Native运行环境类型下的约定的对象库信息;
如果移动客户端中包含React Native运行环境类型下的约定的对象库信息,且对象库中的对象调用正常,则RN环境检测单元810确定移动客户端的运行环境类型为ReactNative类型。
图7、图8所示的数据处理装置中的功能模块可设置在同一个装置结构中,可用于执行图3所示的方法步骤。
进一步地,上述环境检测模块610,可用于响应于数据处理模块从业务调用接口获取到业务请求数据的操作,或者在移动客户端启动完成初始化后,执行检测移动客户端的运行环境的处理。
进一步地,通道选取模块620可用于,
如果移动客户端的运行环境类型为Hybrid类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为Hybrid通道类型;
如果移动客户端的运行环境类型为web类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为web通道类型;
如果移动客户端的运行环境类型为React Native类型,则选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型为React Native通道类型。
进一步地,上述数据处理模块630,可用于对业务请求数据的内容进行组装处理,并选取与通道类型相对应的通道协议对组装后的业务请求数据进行处理。
本发明提供的数据处理装置,通过检测移动客户端的运行环境;根据移动客户端的运行环境类型选取用于桥接移动客户端中业务调用接口和业务处理接口的通道类型;根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至业务处理接口。本方案通过将原始对业务调用接口需要关注太多平台场景差异内容的开发处理环节转移到实际业务处理过程中,通过对移动客户端的运行环境进行检测来确定需要桥接业务调用接口和业务处理接口的通道类型,然后根据确定的通道类型对业务请求数据进行相应处理,屏蔽了在移动客户端的开发过程中,因不同开发环境类型对应的通道的差异而需要业务调用接口关注太多平台场景差异内容的环节,从而使得业务调用接口在所有类型通道上都是一致的,无通道上的差异,从而方便前端App的统一开发。
实施例六
前面实施例描述了数据处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图9所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器910和处理器920。
存储器910,用于存储程序。
除上述程序之外,存储器910还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器910可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器920,耦合至存储器910,用于执行存储器910中的程序,所述程序运行时执行如图2至图5中任意一种数据处理方法。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图9所示,电子设备还可以包括:通信组件930、电源组件940、音频组件950、显示器960等其它组件。图9中仅示意性给出部分组件,并不意味着电子设备只包括图9所示组件。
通信组件930被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件930经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件930还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件940,为电子设备的各种组件提供电力。电源组件940可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件950被配置为输出和/或输入音频信号。例如,音频组件950包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器910或经由通信组件930发送。在一些实施例中,音频组件950还包括一个扬声器,用于输出音频信号。
显示器960包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种数据处理方法,包括:
检测移动客户端的运行环境;
根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型,其中,所述运行环境类型为hybrid类型、web类型或ReactNative类型;
根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至所述业务处理接口。
2.根据权利要求1所述方法,其中,所述检测移动客户端的运行环境包括:
检测移动客户端的运行环境是否为浏览器环境,如果是,则进一步检测浏览器的UserAgent信息中是否包含Native注入的约定信息;
如果所述浏览器的UserAgent信息中包含Native注入的约定信息,则确定所述移动客户端的运行环境类型为hybrid类型。
3.根据权利要求2所述的方法,其中,所述检测浏览器的UserAgent信息中是否包含Native注入的约定信息之后还包括:
如果所述浏览器的UserAgent信息中不包含Native注入的约定信息,则确定所述移动客户端的运行环境类型为web类型。
4.根据权利要求1所述的方法,其中,所述检测移动客户端的运行环境包括:
检测移动客户端的运行环境是否为浏览器环境,如果否,则进一步检测所述移动客户端中是否包含React Native运行环境类型下的约定的对象库信息;
如果所述移动客户端中包含React Native运行环境类型下的约定的对象库信息,且对象库中的对象调用正常,则确定所述移动客户端的运行环境类型为React Native类型。
5.根据权利要求1所述的方法,其中,所述方法还包括:
响应于从所述业务调用接口获取到业务请求数据的操作,或者在所述移动客户端启动完成初始化后,触发执行检测移动客户端的运行环境的处理。
6.根据权利要求1-5中任一项所述的方法,其中,所述根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型包括:
如果所述移动客户端的运行环境类型为Hybrid类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为Hybrid通道类型;
如果所述移动客户端的运行环境类型为web类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为web通道类型;
如果所述移动客户端的运行环境类型为React Native类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为React Native通道类型。
7.根据权利要求6所述的方法,其中,所述根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理包括:
对所述业务请求数据的内容进行组装处理,并选取与所述通道类型相对应的通道协议对组装后的业务请求数据进行处理。
8.一种数据处理装置,包括:
环境检测模块,用于检测移动客户端的运行环境;
通道选取模块,用于根据所述移动客户端的运行环境类型选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型,其中,所述运行环境类型为hybrid类型、web类型或React Native类型;
数据处理模块,用于根据选取出的通道类型对从业务调用接口获取的业务请求数据进行处理,并将处理后的业务请求数据发送至所述业务处理接口。
9.根据权利要求8所述的装置,其中,所述环境检测模块包括:
浏览器环境检测单元,用于检测移动客户端的运行环境是否为浏览器环境,如果是,则进一步触发hybrid环境检测单元检测浏览器的UserAgent信息中是否包含Native注入的约定信息;
如果所述浏览器的UserAgent信息中包含Native注入的约定信息,则所述hybrid环境检测单元确定所述移动客户端的运行环境类型为hybrid类型。
10.根据权利要求9所述的装置,其中,所述hybrid环境检测单元还用于,
如果所述浏览器的UserAgent信息中不包含Native注入的约定信息,则确定所述移动客户端的运行环境类型为web类型。
11.根据权利要求8所述的装置,其中,所述环境检测模块包括:
浏览器环境检测单元,用于检测移动客户端的运行环境是否为浏览器环境,如果否,则进一步触发RN环境检测单元检测所述移动客户端中是否包含React Native运行环境类型下的约定的对象库信息;
如果所述移动客户端中包含React Native运行环境类型下的约定的对象库信息,且对象库中的对象调用正常,则所述RN环境检测单元确定所述移动客户端的运行环境类型为React Native类型。
12.根据权利要求8所述的装置,其中,
所述环境检测模块,用于响应于所述数据处理模块从所述业务调用接口获取到业务请求数据的操作,或者在所述移动客户端启动完成初始化后,执行检测移动客户端的运行环境的处理。
13.根据权利要求8-12中任一项所述的装置,其中,所述通道选取模块用于,
如果所述移动客户端的运行环境类型为Hybrid类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为Hybrid通道类型;
如果所述移动客户端的运行环境类型为web类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为web通道类型;
如果所述移动客户端的运行环境类型为React Native类型,则选取用于桥接所述移动客户端中业务调用接口和业务处理接口的通道类型为React Native通道类型。
14.根据权利要求13所述的装置,其中,
所述数据处理模块,用于对所述业务请求数据的内容进行组装处理,并选取与所述通道类型相对应的通道协议对组装后的业务请求数据进行处理。
15.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行权利要求1-7中任意一项权利要求所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910111575.3A CN111552606B (zh) | 2019-02-12 | 2019-02-12 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910111575.3A CN111552606B (zh) | 2019-02-12 | 2019-02-12 | 数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552606A CN111552606A (zh) | 2020-08-18 |
CN111552606B true CN111552606B (zh) | 2023-05-05 |
Family
ID=72007217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910111575.3A Active CN111552606B (zh) | 2019-02-12 | 2019-02-12 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552606B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148450A (zh) * | 2020-09-25 | 2020-12-29 | 北京聪明核桃教育科技有限公司 | 数据处理方法、装置、设备和存储介质 |
CN113448746B (zh) * | 2020-12-30 | 2023-09-15 | 北京新氧科技有限公司 | 配置处理方法、配置平台及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056262A (zh) * | 2007-03-26 | 2007-10-17 | 宝丽雅智能系统(深圳)有限公司 | 应用系统业务数据和网络数据的连接与交换方法 |
CN104468675A (zh) * | 2013-09-25 | 2015-03-25 | 中兴通讯股份有限公司 | 数据处理方法和设备 |
CN106469168A (zh) * | 2015-08-19 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据集成系统中多类型数据处理的方法及装置 |
CN106549989A (zh) * | 2015-09-17 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及其系统、用户终端、应用服务器 |
CN107135154A (zh) * | 2017-05-26 | 2017-09-05 | 烽火通信科技股份有限公司 | Potn业务转发系统及业务转发、配置下发、保护方法 |
CN108076007A (zh) * | 2016-11-10 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种接口的实现方法、装置和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3015822A1 (fr) * | 2013-12-23 | 2015-06-26 | Orange | Procede et systeme de communication entre navigateurs web, utilisant un environnement de communication unifiee |
US10614432B2 (en) * | 2016-01-29 | 2020-04-07 | Ncr Corporation | Channel integration processing |
-
2019
- 2019-02-12 CN CN201910111575.3A patent/CN111552606B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056262A (zh) * | 2007-03-26 | 2007-10-17 | 宝丽雅智能系统(深圳)有限公司 | 应用系统业务数据和网络数据的连接与交换方法 |
CN104468675A (zh) * | 2013-09-25 | 2015-03-25 | 中兴通讯股份有限公司 | 数据处理方法和设备 |
CN106469168A (zh) * | 2015-08-19 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据集成系统中多类型数据处理的方法及装置 |
CN106549989A (zh) * | 2015-09-17 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及其系统、用户终端、应用服务器 |
CN108076007A (zh) * | 2016-11-10 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种接口的实现方法、装置和设备 |
CN107135154A (zh) * | 2017-05-26 | 2017-09-05 | 烽火通信科技股份有限公司 | Potn业务转发系统及业务转发、配置下发、保护方法 |
Non-Patent Citations (2)
Title |
---|
王鹏飞 ; .移动瘦客户端架构在企业中的应用研究.计算机时代.2016,(第03期),全文. * |
蒋超 ; .综合网管系统MSTP网业务通道的设计和应用.广播与电视技术.2017,(第07期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111552606A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101727249B1 (ko) | 단말기 테스트 방법, 장치, 프로그램 및 저장매체 | |
US11200899B2 (en) | Voice processing method, apparatus and device | |
CN104615655A (zh) | 信息推荐方法和装置 | |
US10817355B2 (en) | Method and apparatus for communication between webpage and operating system | |
CN111512286A (zh) | 编排程序的方法及电子设备 | |
CN107659717B (zh) | 状态检测方法、装置和存储介质 | |
CN111552606B (zh) | 数据处理方法、装置及电子设备 | |
CN113391559A (zh) | 智慧家居设备控制方法和终端设备 | |
CN108984417B (zh) | 软件测试方法、装置、终端及存储介质 | |
CN109684112B (zh) | 程序文件运行方法、装置、终端及存储介质 | |
CN110704030A (zh) | 接口配置信息生成方法、装置、电子设备及存储介质 | |
CN104702701A (zh) | 一种数据分享方法及装置 | |
CN111093248B (zh) | 配网方法、配网装置及电子设备 | |
CN104991857A (zh) | 跟踪调试方法及装置 | |
CN116669064B (zh) | 无线协议测试方法及电子设备 | |
CN112256372A (zh) | 信息处理方法、装置和电子设备 | |
CN109976872A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113626321B (zh) | 桥接测试方法、装置、系统及存储介质 | |
CN109511139A (zh) | Wifi控制方法、装置、移动设备、计算机可读存储介质 | |
CN114428737A (zh) | 基于微服务体系的通信方法、装置、设备及存储介质 | |
CN109491655A (zh) | 一种输入事件处理方法及装置 | |
CN111240927B (zh) | 检测程序中方法耗时的方法、装置及存储介质 | |
CN114896165A (zh) | 会话机器人系统的测试方法、装置、电子设备和存储介质 | |
CN109947640B (zh) | 基于回归测试的核心功能覆盖度统计方法及装置 | |
WO2020168570A1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035211 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |