一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、电子设备及存储介质与流程

2022-04-30 11:14:05 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。


背景技术:

2.当前,互联网厂商都会开发多个不同的应用程序,然后通过各个应用程序对外提供服务,例如,一个互联网厂商开发有游戏应用程序、短视频应用程序、点对点通讯应用程序以及招聘应用程序等,并通过游戏应用程序、短视频应用程序、点对点通讯应用程序以及招聘应用程序分别对外提供服务。
3.然而,随着技术的发展,互联网厂商可能会开发出新业务,然后将新业务分别集成在互联网厂商的各个应用程序中,以供互联网厂商的各个应用程序都具有通过新业务对外提供服务的能力,例如,广大用户在自己的手机上安装的互联网厂商的各个应用程序上都可以使用新业务。
4.例如,可以将新业务通过小程序的方式集成在互联网厂商的各个应用程序中。这样,广大用户在自己的手机上安装的互联网厂商的各个应用程序上可以启动新业务的小程序,并在新业务的小程序上使用新业务。


技术实现要素:

5.本技术示出了一种数据处理方法、装置、电子设备及存储介质。
6.第一方面,本技术示出了一种数据处理方法,应用于终端,所述终端中安装有应用程序,所述应用程序是基于所述终端的操作系统对应的原生计算机程序语言开发的,所述应用程序中至少具有多个基础服务组件、中间件以及集成在应用程序上的业务程序,所述中间件开放有第一应用程序编程接口api;所述业务程序是基于非所述终端的操作系统对应的计算机程序语言开发的;
7.所述方法包括:
8.在需要基于所述业务程序调取所述应用程序中的所述多个基础服务组件中的目标基础服务组件的情况下,基于所述业务程序获取所述目标基础服务组件的组件参数;
9.基于所述业务程序通过所述第一api将所述组件参数传递给所述中间件;
10.在所述中间件得到所述组件参数的情况下,基于所述中间件,在所述应用程序对不同的非所述终端的操作系统对应的计算机程序语言分别开放的第二api中,确定所述业务程序适配的第二api。
11.基于所述中间件通过所述业务程序适配的第二api以及所述组件参数调取所述目标基础服务组件。
12.在一个可选的实现方式中,所述方法还包括:
13.接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序
中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
14.使用所述新的中间件替换所述应用程序中的当前的中间件。
15.在一个可选的实现方式中,所述方法还包括:
16.在所述应用程序中启动新的业务程序的情况下,检测所述应用程序中的当前的中间件是否兼容所述新的业务程序所基于的计算机程序语言;
17.在所述应用程序中的当前的中间件不兼容所述新的业务程序所基于的计算机程序语言的情况下,在所述应用程序对应的服务端中下载新的中间件,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;所述新的中间件兼容所述新的业务程序所基于的计算机程序语言;
18.使用所述新的中间件替换所述应用程序中的当前的中间件。
19.在一个可选的实现方式中,所述方法还包括:
20.接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
21.使用所述新的中间件替换所述应用程序中的当前的中间件。
22.第二方面,本技术示出了一种数据处理装置,应用于终端,所述终端中安装有应用程序,所述应用程序是基于所述终端的操作系统对应的原生计算机程序语言开发的,所述应用程序中至少具有多个基础服务组件、中间件以及集成在应用程序上的业务程序,所述中间件开放有第一应用程序编程接口api;所述业务程序是基于非所述终端的操作系统对应的计算机程序语言开发的;
23.所述装置包括:
24.获取模块,用于在需要基于所述业务程序调取所述应用程序中的所述多个基础服务组件中的目标基础服务组件的情况下,基于所述业务程序获取所述目标基础服务组件的组件参数;
25.传递模块,用于基于所述业务程序通过所述第一api将所述组件参数传递给所述中间件;
26.确定模块,用于在所述中间件得到所述组件参数的情况下,基于所述中间件,在所述应用程序对不同的非所述终端的操作系统对应的计算机程序语言分别开放的第二api中,确定所述业务程序适配的第二api。
27.调取模块,用于基于所述中间件通过所述业务程序适配的第二api以及所述组件参数调取所述目标基础服务组件。
28.在一个可选的实现方式中,所述装置还包括:
29.第一接收模块,用于接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
30.第一替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
31.在一个可选的实现方式中,所述装置还包括:
32.检测模块,用于在所述应用程序中启动新的业务程序的情况下,检测所述应用程序中的当前的中间件是否兼容所述新的业务程序所基于的计算机程序语言;
33.下载模块,用于在所述应用程序中的当前的中间件不兼容所述新的业务程序所基于的计算机程序语言的情况下,在所述应用程序对应的服务端中下载新的中间件,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;所述新的中间件兼容所述新的业务程序所基于的计算机程序语言;
34.第二替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
35.在一个可选的实现方式中,所述装置还包括:
36.第二接收模块,用于接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
37.第三替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
38.第三方面,本技术示出了一种电子设备,所述电子设备包括:
39.处理器;
40.用于存储处理器可执行指令的存储器;
41.其中,所述处理器被配置为执行如第一方面所述的数据处理方法。
42.第四方面,本技术示出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的数据处理方法。
43.第五方面,本技术示出了一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的数据处理方法。
44.本技术提供的技术方案可以包括以下有益效果:
45.在本技术中,在需要基于业务程序调取应用程序中的多个基础服务组件中的目标基础服务组件的情况下,基于业务程序获取目标基础服务组件的组件参数。基于业务程序通过第一api将组件参数传递给中间件。在中间件得到组件参数的情况下,基于中间件,在应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api中,确定业务程序适配的第二api。基于中间件通过业务程序适配的第二api以及组件参数调取目标
基础服务组件。
46.通过本技术,“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及“通过第二api以及组件参数调取目标基础服务组件”的操作可以交由中间件执行,中间件可以是互联网厂商的开发人员事先在互联网厂商的各个应用程序中分别配置的,中间件在一方面上开放第一api以供业务程序调用,中间件在另一方面上兼容了应用程序对不同的非终端的操作系统对应的计算机程序语言,也即,中间件在另一方面上适配了应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api。
47.互联网厂商的开发人员开发一次中间件就可以在互联网厂商的各个应用程序中复用中间件,以使互联网厂商的各个应用程序基于中间件均具有了执行“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及执行“通过第二api以及组件参数调取目标基础服务组件”的操作的能力。
48.由于中间件开放有统一的第一api,如此,互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的过程中,可以只关注一个统一的第一api(统一的api的名称以及需要向统一的api提供的统一输入参数等)即可,例如,在新业务的业务程序的计算机程序代码的过程中可以只引入中间件开放的统一的第一api即可。
49.如此,在新业务的计算机程序代码中仅需要适配统一的第一api即可,不需要兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api(兼容的事情可以由中间件实施),如此只需要编写适配统一的第一api的计算机程序代码即可,不需要编写分别兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api的计算机程序代码,从而可以实现在互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的场景中降低开发工作量,降低人工成本。
附图说明
50.图1是本技术的一种数据处理方法的步骤流程图。
51.图2是本技术的一种数据处理装置的结构框图。
52.图3是本技术的一种电子设备的框图。
53.图4是本技术的一种电子设备的框图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.用户在应用程序上使用新业务的过程中,有时候由于一些需求新业务可能会需要调取应用程序的基础服务组件,例如,调取登录组件、调取拍摄组件、调取支付组件以及调取存储组件等。以基于应用程序的基础服务组件来处理数据,以实现对用户提供服务。
56.在一种可能的情况中,应用程序是安装在终端中的,终端具有操作系统,例如ios
操作系统或者安卓操作系统等,各个操作系统对应有原生计算机程序语言。
57.一个终端的操作系统是确定的,因此,能够安装在终端上的应用程序也是与终端的操作系统对应的,例如,能够安装在终端上的应用程序是基于终端的操作系统对应的原生计算机程序语言开发的。
58.但是,在很多情况下,新业务往往是基于非终端的操作系统对应的计算机程序语言开发的,导致新业务与应用程序的技术栈是不同的。
59.例如,应用程序可以是基于java、kotlin、objective-c、swift或c 等计算机程序语言开发的,而新业务可以是基于h5或react native等计算机程序语言开发的。
60.由于新业务与应用程序的技术栈是不同的,因此,如果新业务需要调取应用程序的基础服务组件,则需要对新业务的技术栈与应用程序的技术栈进行适配。
61.其中,互联网厂商的开发人员事先在基于终端的操作系统对应的原生计算机程序语言开发应用程序的过程中,会在应用程序中部署用于调取应用程序的基础服务组件的api(application programming interface,应用程序接口,在应用程序上集成了基于非终端的操作系统对应的计算机程序语言开发的新业务之后,新业务可以基于该api来调取应用程序的基础服务组件。
62.但是,在很多情况下,互联网厂商的各个应用程序往往是不同的开发团队开发的,且由于各个开发团队有各自的开发习惯以及各个应用程序的实际业务不同,因此,往往会导致在互联网厂商的不同的应用程序中部署的用于调取应用程序的基础服务组件的api往往是不同的,例如,在互联网厂商的不同的应用程序中部署的用于调取应用程序的基础服务组件的api的名字不同且需要向api提供的输入参数不同等。
63.这就导致互联网厂商的开发人员后续在开发新业务的情况下,在基于非终端的操作系统对应的计算机程序语言开发新业务的计算机程序代码时,往往需要在新业务的计算机程序代码中兼容在互联网厂商的各个的应用程序中部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数等。
64.但是,互联网厂商有多个应用程序,开发人员在开发新业务的计算机程序代码的过程中,就需要在兼容几个应用程序中部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数,兼容一个应用程序中部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数就需要编写对应的一部分计算机程序代码,兼容互联网厂商的多个应用程序中部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数就需要编写多份计算机程序代码,导致开发人员的开发工作量大,人工成本高。
65.因此,提出了在互联网厂商的开发人员在开发能够集成在互联网厂商的多个应用程序的新业务的场景中,降低开发人员的开发工作量,进而降低人工成本的需求。
66.为了实现在互联网厂商的开发人员在开发能够集成在互联网厂商的多个应用程序的新业务的场景中,降低开发人员的开发工作量,进而降低人工成本的目的,发明人对当前的开发情况进行了分析,并发现:
67.由于是在互联网厂商的不同的应用程序中部署的用于调取应用程序的基础服务组件的api往往是不同的,例如,在互联网厂商的不同的应用程序中部署的用于调取应用程序的基础服务组件的api的名字不同且需要向api提供的输入参数不同等,才导致开发人员
在开发新业务的计算机程序代码的过程中,需要在兼容在互联网厂商的多个应用程序中分别部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数,进而导致开发人员的开发工作量大,人工成本高。
68.因此,为了降低开人员的开发工作量以降低人工成本,在一种方式中,可以尽可能地使得开发人员在开发新业务的计算机程序代码的过程中,开发人员可以不手动兼容在互联网厂商的多个应用程序中分别部署的用于调取应用程序的基础服务组件的api的名字且需要向api提供的输入参数。
69.例如,开发人员在开发新业务的计算机程序代码的过程中,如果可以只关注一个统一的api(统一的api的名称以及需要向统一的api提供的统一输入参数等),则在新业务的计算机程序代码中仅需要适配统一的api即可,不需要兼容各种不同的api,这样只需要编写适配统一的api的计算机程序代码即可,不需要编写分别兼容不同的api的计算机程序代码,从而可以降低开发工作量,降低人工成本。
70.其中,为了开发人员在开发新业务的计算机程序代码的过程中可以只关注一个统一的api,在一个方式中,发明人想到了在新业务与互联网厂商的应用程序之间设置中间件,中间件可以部署在应用程序中,中间件可以作为新业务与应用程序中之间的桥梁。
71.中间件开放一个统一的api(例如,中间件对上层业务开放一个api,因此,api的名字就一个以及需要给这一个api提供的参数就统一了)。
72.新业务可以基于中间件对开放一个统一的api调用中间件,以通过中间件调用应用程序的基础服务组件。
73.具体地,参照图1,示出了本技术的一种数据处理方法的步骤流程图,应用于终端,终端中安装有应用程序,应用程序是基于终端的操作系统对应的原生计算机程序语言开发的,应用程序中至少具有多个基础服务组件、中间件以及集成在应用程序上的业务程序,中间件开放有第一api;业务程序是基于非终端的操作系统对应的计算机程序语言开发的;该方法具体可以包括如下步骤:
74.在步骤s101中,在需要基于业务程序调取应用程序中的多个基础服务组件中的目标基础服务组件的情况下,基于业务程序获取目标基础服务组件的组件参数。
75.在本技术中,应用程序中包括有多个基础服务组件,例如,登录组件、拍摄组件、支付组件以及存储组件等。
76.不同的基础服务组件的组件参数不同,组件参数可以包括组件的标识等,通过组件参数可以唯一索引出基础服务组件。
77.业务程序可以包括小程序等,业务程序可以集成在应用程序中运行。
78.用户在使用应用程序的过程中,可以会在应用程序中启动业务程序(例如启动小程序等),然后使用业务程序,例如,使用业务程序处理数据等,以实现用户的使用目的。
79.在业务程序处理数据的过程中,有时候可能需要调取应用程序中的多个基础服务组件中的一些基础服务组件,例如,调取多个基础服务组件中的目标服务组件等,在这种情况下,就可以借助应用程序中的中间件来调取应用程序中的目标基础服务组件。
80.在步骤s102中,基于业务程序通过第一api将组件参数传递给中间件。
81.在步骤s103中,在中间件得到组件参数的情况下,基于中间件,在应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api中,确定业务程序适配的
第二api。
82.由于业务程序是基于非终端的操作系统对应的计算机程序语言开发的,非终端的操作系统对应的计算机程序语言有很多,不同的非终端的操作系统对应的计算机程序语言的技术栈不同,因此,为了使得应用程序能够兼容基于各种非终端的操作系统对应的计算机程序语言开发的业务程序,互联网厂商开发的每一个应用程序均开放有多个第二api,不同的第二api对应不同的非终端的操作系统对应的计算机程序语言。
83.也即,应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放有第二api。
84.而业务程序是基于一个非终端的操作系统对应的计算机程序语言开发的,因此,业务程序与其中一个第二api适配。
85.如此,在中间件得到组件参数的情况下,可以先基于中间件获取应用程序的标识信息(用来确定应用程序是互联网厂商的多个应用程序中的哪一个应用程序)。例如,在事先开发应用程序的过程中,在将中间件配置在应用程序中之后,可以在中间件中设置应用程序的标识信息,不同的应用程序的标识信息不同,如此,可以在中间件中直接获取事先设置的应用程序的标识信息。基于中间件,根据应用程序的标识信息,在确定出的应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api中,确定业务程序适配的第二api。
86.在步骤s104中,基于中间件通过业务程序适配的第二api以及组件参数调取目标基础服务组件。
87.例如,基于中间件通过业务程序适配的第二api将组件参数传递(传递过程可以经由应用程序的通信层等,通信层中包括:javascriptcore、wbrctbridgemanager以及router等)给应用程序的服务层,以使服务层根据组件参数获取目标基础服务组件,并通过中间件将目标基础服务组件返回给业务程序,以使业务程序实现调取目标基础服务组件。
88.在本技术中,在需要基于业务程序调取应用程序中的多个基础服务组件中的目标基础服务组件的情况下,基于业务程序获取目标基础服务组件的组件参数。基于业务程序通过第一api将组件参数传递给中间件。在中间件得到组件参数的情况下,基于中间件,在应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api中,确定业务程序适配的第二api。基于中间件通过业务程序适配的第二api以及组件参数调取目标基础服务组件。
89.通过本技术,“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及“通过第二api以及组件参数调取目标基础服务组件”的操作可以交由中间件执行,中间件可以是互联网厂商的开发人员事先在互联网厂商的各个应用程序中分别配置的,中间件在一方面上开放第一api以供业务程序调用,中间件在另一方面上兼容了应用程序对不同的非终端的操作系统对应的计算机程序语言,也即,中间件在另一方面上适配了应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api。
90.互联网厂商的开发人员开发一次中间件就可以在互联网厂商的各个应用程序中复用中间件,以使互联网厂商的各个应用程序基于中间件均具有了执行“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及执行“通过第二api以及组件参数调取目标基础服务组件”的操作的能力。
91.由于中间件开放有统一的第一api,如此,互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的过程中,可以只关注一个统一的第一api(统一的api的名称以及需要向统一的api提供的统一输入参数等)即可,例如,在新业务的业务程序的计算机程序代码的过程中可以只引入中间件开放的统一的第一api即可。
92.如此,在新业务的计算机程序代码中仅需要适配统一的第一api即可,不需要兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api(兼容的事情可以由中间件实施),如此只需要编写适配统一的第一api的计算机程序代码即可,不需要编写分别兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api的计算机程序代码,从而可以实现在互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的场景中降低开发工作量,降低人工成本。
93.在本技术另一实施例中,有时候互联网厂商后续还可能会基于新的非终端的操作系统对应的计算机程序语言开发新的业务程序,但是新的业务程序是应用程序中的当前的中间件不支持且不适配的,例如,虽然互联网厂商的应用程序开放了新的非终端的操作系统对应的计算机程序语言对应的api,但是应用程序中的当前的中间件中还未适配新的非终端的操作系统对应的计算机程序语言对应的api,导致应用程序中的当前的中间件不兼容新的非终端的操作系统对应的计算机程序语言,进而导致应用程序中的当前的中间件无法作为新的业务程序与应用程序之间的桥梁。
94.因此,需要对当前的中间件更新,以使中间件可以作为新的业务程序与应用程序之间的桥梁。
95.为了使得中间件可以作为新的业务程序与应用程序之间的桥梁,则需要使得中间件兼容新的非终端的操作系统对应的计算机程序语言。
96.为了使得中间件可以兼容新的非终端的操作系统对应的计算机程序语言,则需要使得中间件能够适配新的非终端的操作系统对应的计算机程序语言对应的api。
97.例如,在一个实施例中,开发人员可以在服务端中对当前的中间件更新,得到新的中间件,然后发布新的中间件,例如,通过服务端向各个安装有互联网厂商的应用程序的终端发送在应用程序中更新中间件的更新指令,更新指令携带新的中间件。新的中间件兼容的非终端的操作系统对应的计算机程序语言包括应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言,且,新的中间件兼容的非终端的操作系统对应的计算机程序语言多于应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言;其中,新的中间件兼容了新的业务程序所基于的计算机程序语言,例如,新的中间件适配了新的业务程序所基于的计算机程序语言对应的api。
98.对于终端而言,接收在应用程序中更新中间件的更新指令,更新指令携带新的中间件,然后可以使用新的中间件替换应用程序中的当前的中间件。
99.或者,在另一个实施例中,在应用程序中启动新的业务程序的情况下,可以检测应用程序中的当前的中间件是否兼容新的业务程序所基于的计算机程序语言。
100.例如,可以检测应用程序中的当前的中间件是否匹配了新的业务程序所基于的计算机程序语言对应的api(检测应用程序中的当前的中间件中是否存在新的业务程序所基
于的计算机程序语言对应的api的名称等),如果应用程序中的当前的中间件匹配了新的业务程序所基于的计算机程序语言对应的api,则可以确定应用程序中的当前的中间件兼容新的业务程序所基于的计算机程序语言,如果应用程序中的当前的中间件未匹配新的业务程序所基于的计算机程序语言对应的api,则可以确定应用程序中的当前的中间件不兼容新的业务程序所基于的计算机程序语言。
101.在应用程序中的当前的中间件不兼容新的业务程序所基于的计算机程序语言的情况下,终端在应用程序对应的服务端中下载新的中间件,新的中间件兼容的非终端的操作系统对应的计算机程序语言包括应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言,且,新的中间件兼容的非终端的操作系统对应的计算机程序语言多于应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言;其中,新的中间件兼容了新的业务程序所基于的计算机程序语言,例如,新的中间件匹配了新的业务程序所基于的计算机程序语言对应的api。然后可以使用新的中间件替换应用程序中的当前的中间件。
102.在另一个实施例中,之前互联网厂商的开发人员基于一个非终端的操作系统对应的计算机程序语言开发过业务程序,但是后续由于一些需求可能不再需要基于这一个非终端的操作系统对应的计算机程序语言继续开发业务程序,也不再需要在互联网厂商的应用程序上集成并运行基于这一个非终端的操作系统对应的计算机程序语言开发的业务程序,则应用程序中的中间件中就可以不再兼容这一个非终端的操作系统对应的计算机程序语言,例如,可以不再匹配这一个非终端的操作系统对应的计算机程序语言对应的api。
103.如此,为了简化中间件,可以对中间件更新,以降低中间件的复杂度,进而降低中间件所占空间,以节省终端的系统资源。
104.例如,在一个实施例中,开发人员可以在服务端中对当前的中间件更新,得到新的中间件,然后发布新的中间件,例如,通过服务端向各个安装有互联网厂商的应用程序的终端发送在应用程序中更新中间件的更新指令,更新指令携带新的中间件。应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言包括新的中间件兼容的非终端的操作系统对应的计算机程序语言,且,应用程序中的当前的中间件兼容的非终端的操作系统对应的计算机程序语言多于新的中间件兼容的非终端的操作系统对应的计算机程序语言;其中,新的中间件不兼容当前的中间件兼容的业务程序所基于的计算机程序语言中的至少一个计算机程序语言,例如,新的中间件未适配当前的中间件匹配的业务程序所基于的计算机程序语言中的至少一个计算机程序语言对应的api。
105.对于终端而言,接收在应用程序中更新中间件的更新指令,更新指令携带新的中间件,然后可以使用新的中间件替换应用程序中的当前的中间件。
106.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本技术所必须的。
107.参照图2,示出了本技术的一种数据处理装置的结构框图,应用于终端,所述终端中安装有应用程序,所述应用程序是基于所述终端的操作系统对应的原生计算机程序语言开发的,所述应用程序中至少具有多个基础服务组件、中间件以及集成在应用程序上的业
务程序,所述中间件开放有第一应用程序编程接口api;所述业务程序是基于非所述终端的操作系统对应的计算机程序语言开发的;
108.所述装置包括:
109.获取模块11,用于在需要基于所述业务程序调取所述应用程序中的所述多个基础服务组件中的目标基础服务组件的情况下,基于所述业务程序获取所述目标基础服务组件的组件参数;
110.传递模块12,用于基于所述业务程序通过所述第一api将所述组件参数传递给所述中间件;
111.确定模块13,用于在所述中间件得到所述组件参数的情况下,基于所述中间件,在所述应用程序对不同的非所述终端的操作系统对应的计算机程序语言分别开放的第二api中,确定所述业务程序适配的第二api。
112.调取模块14,用于基于所述中间件通过所述业务程序适配的第二api以及所述组件参数调取所述目标基础服务组件。
113.在一个可选的实现方式中,所述装置还包括:
114.第一接收模块,用于接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
115.第一替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
116.在一个可选的实现方式中,所述装置还包括:
117.检测模块,用于在所述应用程序中启动新的业务程序的情况下,检测所述应用程序中的当前的中间件是否兼容所述新的业务程序所基于的计算机程序语言;
118.下载模块,用于在所述应用程序中的当前的中间件不兼容所述新的业务程序所基于的计算机程序语言的情况下,在所述应用程序对应的服务端中下载新的中间件,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言;所述新的中间件兼容所述新的业务程序所基于的计算机程序语言;
119.第二替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
120.在一个可选的实现方式中,所述装置还包括:
121.第二接收模块,用于接收在所述应用程序中更新中间件的更新指令,所述更新指令携带新的中间件;所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言包括所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言,且,所述应用程序中的当前的中间件兼容的非所述终端的操作系统对应的计算机程序语言多于所述新的中间件兼容的非所述终端的操作系统对应的计算机程序语言;
122.第三替换模块,用于使用所述新的中间件替换所述应用程序中的当前的中间件。
123.在本技术中,在需要基于业务程序调取应用程序中的多个基础服务组件中的目标
基础服务组件的情况下,基于业务程序获取目标基础服务组件的组件参数。基于业务程序通过第一api将组件参数传递给中间件。在中间件得到组件参数的情况下,基于中间件,在应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api中,确定业务程序适配的第二api。基于中间件通过业务程序适配的第二api以及组件参数调取目标基础服务组件。
124.通过本技术,“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及“通过第二api以及组件参数调取目标基础服务组件”的操作可以交由中间件执行,中间件可以是互联网厂商的开发人员事先在互联网厂商的各个应用程序中分别配置的,中间件在一方面上开放第一api以供业务程序调用,中间件在另一方面上兼容了应用程序对不同的非终端的操作系统对应的计算机程序语言,也即,中间件在另一方面上适配了应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api。
125.互联网厂商的开发人员开发一次中间件就可以在互联网厂商的各个应用程序中复用中间件,以使互联网厂商的各个应用程序基于中间件均具有了执行“在应用程序开放的多个第二api中确定业务程序适配的第二api”的操作以及执行“通过第二api以及组件参数调取目标基础服务组件”的操作的能力。
126.由于中间件开放有统一的第一api,如此,互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的过程中,可以只关注一个统一的第一api(统一的api的名称以及需要向统一的api提供的统一输入参数等)即可,例如,在新业务的业务程序的计算机程序代码的过程中可以只引入中间件开放的统一的第一api即可。
127.如此,在新业务的计算机程序代码中仅需要适配统一的第一api即可,不需要兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api(兼容的事情可以由中间件实施),如此只需要编写适配统一的第一api的计算机程序代码即可,不需要编写分别兼容应用程序对不同的非终端的操作系统对应的计算机程序语言分别开放的第二api的计算机程序代码,从而可以实现在互联网厂商的开发人员之后在开发能够集成在互联网厂商的多个应用程序上的新业务的业务程序的计算机程序代码的场景中降低开发工作量,降低人工成本。
128.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
129.可选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
130.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
131.图3是本技术示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个
人数字助理等。
132.参照图3,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
133.处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
134.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图像,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
135.电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
136.多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
137.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收到的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
138.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
139.传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以
包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
140.通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播操作信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
141.在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
142.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
143.图4是本技术示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。
144.参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
145.电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
146.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
147.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
148.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
149.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
150.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
151.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
152.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
153.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
154.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
155.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献