业务插件的处理方法及装置转让专利

申请号 : CN201610509531.2

文献号 : CN106126299B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡锐

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明提供一种业务插件的处理方法及装置。所述方法包括:获取待插入的业务插件和业务插件待插入的应用;根据业务插件和应用,生成将业务插件与应用连接在一起的连接插件;利用连接插件将业务插件的插入应用中。本发明的技术方案,通过连接插件将业务插件与App连接在一起,实现业务插件与App的解耦,这样,仅需要维护该业务插件的一套业务逻辑的技术实现;因此,采用本发明的技术方案,当该业务插件有些许变化,只需要修改业务插件即可实现,业务实现的效率非常高;从Android/IOS到H5的转变,一次修改可以多端生效,节省人力成本;而且由于业务插件与App完全解耦,业务插件的迭代周期完全不依赖于App,业务插件的管理效率也较高。

权利要求 :

1.一种业务插件的处理方法,其特征在于,所述方法包括:获取待插入的业务插件和所述业务插件待插入的应用;

根据所述业务插件和所述应用,生成将所述业务插件与所述应用连接在一起的连接插件,具体包括:根据所述业务插件的业务实现代码,生成所述业务插件的连接接口,其中所述业务插件的连接接口为所述业务插件的应用程序编程接口API;根据所述应用,生成与所述连接接口对应的应用接口;

利用所述连接插件将所述业务插件插入所述应用中。

2.根据权利要求1所述的方法,其特征在于,所述业务插件采用第五版超级文本标记语言编写。

3.根据权利要求1所述的方法,其特征在于,利用所述连接插件将所述业务插件插入所述应用中,具体包括:将所述连接接口与所述应用接口连接在一起,实现将所述业务插件插入所述应用中。

4.根据权利要求1-3任一所述的方法,其特征在于,所述应用所适用的操作系统为Andriod或者IOS操作系统。

5.一种业务插件的处理装置,其特征在于,所述装置包括:获取模块,用于获取待插入的业务插件和所述业务插件待插入的应用;

生成模块,用于根据所述业务插件和所述应用,生成将所述业务插件与所述应用连接在一起的连接插件,所述生成模块,具体用于:根据所述业务插件的业务实现代码,生成所述业务插件的连接接口,其中所述业务插件的连接接口为所述业务插件的应用程序编程接口API;根据所述业务插件插入的所述应用的类型,生成与所述连接接口对应的应用接口;

处理模块,用于利用所述连接插件将所述业务插件插入所述应用中。

6.根据权利要求5所述的装置,其特征在于,所述业务插件采用第五版超级文本标记语言编写。

7.根据权利要求5所述的装置,其特征在于,所述处理模块,具体用于将所述连接接口与所述应用接口连接在一起,实现将所述业务插件插入所述应用中。

8.根据权利要求5-7任一所述的装置,其特征在于,所述应用所适用的操作系统为Andriod或者IOS操作系统。

说明书 :

业务插件的处理方法及装置

【技术领域】

[0001] 本发明涉及业务处理技术领域,尤其涉及一种业务插件的处理方法及装置。【背景技术】
[0002] 随着科技的迅猛发展,终端的使用普及,在终端上使用的各种功能的应用如雨后春笋般涌现出来,大大地方便了人们的生活。
[0003] 现有技术中各大互联网公司为了扩展自己的业务,全方位地占领生活服务的方方面面,开发出各种应用(Application;App)平台。且在各种App平台中,还可以以插件的方式插入该公司的其它业务。例如百度公司开发的App平台有百度地图、手机百度以及百度糯米等等,且在这三种超级App中均以插件的方式插入百度酒店业务。这样用户无论在哪个App平台均可以访问酒店业务。现有技术中,插入各App平台的业务与该平台是完全耦合在一起,这样不同的App平台上插入该业务的插件的框架不一致的。
[0004] 因此,现有技术中,由于各App平台与插入该App平台的业务插件是完全耦合,导致不同的App平台上同一业务的插件的框架不一致,导致该业务的插件需要维护一套业务逻辑的多种不同的技术实现,在不同App平台上插入同一业务的实现效率较低。【发明内容】
[0005] 本发明提供了一种业务插件的处理方法及装置,用于提高在不同App平台上插入同一业务的实现效率。
[0006] 本发明提供一种业务插件的处理方法,所述方法包括:
[0007] 获取待插入的业务插件和所述业务插件待插入的应用;
[0008] 根据所述业务插件和所述应用,生成将所述业务插件与所述应用连接在一起的连接插件;
[0009] 利用所述连接插件将所述业务插件的插入所述应用中。
[0010] 进一步可选地,如上所述的方法中,所述业务插件采用第五版超级文本标记语言编写。
[0011] 进一步可选地,如上所述的方法中,根据所述业务插件和所述应用,生成将所述业务插件与所述应用连接在一起的连接插件,具体包括:
[0012] 根据所述业务插件,生成所述业务插件的连接接口;
[0013] 根据所述应用,生成与所述连接接口对应的应用接口。
[0014] 进一步可选地,如上所述的方法中,利用所述连接插件将所述业务插件的插入所述应用中,具体包括:
[0015] 将所述连接接口与所述应用接口连接在一起,实现将所述业务插件的插入所述应用中。
[0016] 进一步可选地,如上所述的方法中,所述应用所适用的操作系统为Andriod或者IOS操作系统。
[0017] 本发明还提供一种业务插件的处理装置,所述装置包括:
[0018] 获取模块,用于获取待插入的业务插件和所述业务插件待插入的应用;
[0019] 生成模块,用于根据所述业务插件和所述应用,生成将所述业务插件与所述应用连接在一起的连接插件;
[0020] 处理模块,用于利用所述连接插件将所述业务插件的插入所述应用中。
[0021] 进一步可选地,如上所述的装置中,所述业务插件采用第五版超级文本标记语言编写。
[0022] 进一步可选地,如上所述的装置中,所述生成模块,具体用于:
[0023] 根据所述业务插件的内容,生成所述业务插件的连接接口;
[0024] 根据所述业务插件插入的所述应用的类型,生成与所述连接接口对应的应用接口。
[0025] 进一步可选地,如上所述的装置中,所述处理模块,具体用于将所述连接接口与所述应用接口连接在一起,实现将所述业务插件的插入所述应用中。
[0026] 进一步可选地,如上所述的装置中,所述应用所适用的操作系统为Andriod或者IOS操作系统。
[0027] 本发明的业务插件的处理方法及装置,通过连接插件将业务插件与App连接在一起,实现业务插件与App的解耦,这样,仅需要维护该业务插件的一套业务逻辑的技术实现,即使有该业务插件的API作为标准的前端API,供不同App平台的落地实现;因此,采用本发明的技术方案,当该业务插件有些许变化,只需要修改业务插件即可实现,业务实现的效率非常高;从Android/IOS到H5的转变,一次修改可以多端生效,节省人力成本;而且由于业务插件与App完全解耦,业务插件的迭代周期完全不依赖于App,可以独立进行更新,业务插件的管理效率也较高。【附图说明】
[0028] 图1为本发明的业务插件的处理方法实施例的流程图。
[0029] 图2为现有技术中的百度酒店业务插件在百度地图、手机百度和百度糯米三大平台的框架结构图。
[0030] 图3为本发明的百度酒店业务在百度地图、手机百度和百度糯米三大平台的框架结构图。
[0031] 图4为本发明的业务插件的处理装置实施例的结构示意图。【具体实施方式】
[0032] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0033] 图1为本发明的业务插件的处理方法实施例的流程图。如图1所示,本实施例的业务插件的处理方法,具体可以包括如下步骤:
[0034] 100、获取待插入的业务插件和业务插件待插入的App;
[0035] 101、根据业务插件和App,生成将业务插件与App连接在一起的连接插件;
[0036] 102、利用连接插件将业务插件的插入App中。
[0037] 例如,本实施例的待插入的业务插件也可以为酒店业务的插件、外卖业务的插件或者也可以为其他线上到线下(Online To Offline;O2O)业务的插件。本实施例的App可以为传统的App,例如,可以为地图App、搜索App,或者其他的O2O平台的App等等。本实施例的App所使用的操作系统不限,可以为Android操作系统,也可以为IOS操作系统。
[0038] 本实施例中,将待插入的业务插件插入一个应用之前,需要先获取该待插入的业务插件以及待插入的App。其中该业务插件具体可以包括该业务插件的所有的业务实现代码,本实施例的业务实现代码具体可以采用第五版超级文本标记语言(HyperText Markup Language 5;HTML5;简称H5)编写。该业务插件能够实现对应的业务的所有能力。然后根据业务插件和App,生成将业务插件与App连接在一起的连接插件;该连接插件是将业务插件和要插入的App连接在一起的接口。最后利用连接插件将业务插件的插入App中,从而可以实现在该App中实现该业务插件的业务,并利用App的本地能力实现该业务插件的业务。
[0039] 例如,步骤101具体可以包括如下步骤:
[0040] (1)根据业务插件,生成业务插件的连接接口;
[0041] (2)根据App,生成与连接接口对应的App接口。
[0042] 根据业务插件的所有业务实现代码,可以生成该业务插件的连接接口,该连接接口即为该业务插件的应用程序编程接口(Application Programming Interface;API),实现该业务插件与外部的App连接。该业务插件的API为一套标准的前端API,供不同App平台的落地实现。然后根据插入的App,生成与连接接口对应的App接口,也可以成为App插件接口。例如当插入地图App中时,需要生成该API接口相连接的地图接口,也可以成为地图插件接口。业务插件的API与App接口均可以采用业务插件和App的业务框架来实现建立,以实现将业务插件插入App中。
[0043] 此时对应地,步骤102具体可以为:将连接接口与App接口连接在一起,实现将业务插件的插入App中。
[0044] 现有技术中,业务插件插入在App中时,该业务插件与App完全耦合在一起,这样,对于不同App平台上的同一业务插件,需要维护同一业务逻辑的多种不同的技术实现,导致该业务插件有些许变化,需要在不同的App中分别进行修改,这样业务实现的效率较低,而且非常浪费人力成本;而且由于业务插件与App完全耦合在一起,业务插件的迭代周期完全依赖于App,无法独立更新。
[0045] 而本实施例的业务插件的处理方法,通过连接插件将业务插件与App连接在一起,实现业务插件与App的解耦,这样,仅需要维护该业务插件的一套业务逻辑的技术实现,即使有该业务插件的API作为标准的前端API,供不同App平台的落地实现;因此,采用本实施例的技术方案,当该业务插件有些许变化,只需要修改业务插件即可实现,业务实现的效率非常高;从Android/IOS到H5的转变,一次修改可以多端生效,节省人力成本;而且由于业务插件与App完全解耦,业务插件的迭代周期完全不依赖于App,可以独立进行更新,业务插件的管理效率也较高。
[0046] 下面以百度公司的百度酒店业务在百度地图、手机百度和百度糯米三大超级App中都是以插件的技术形态存在为例,描述本发明的技术方案。如图2所示为现有技术中的百度酒店业务插件在百度地图、手机百度和百度糯米三大平台的框架结构图。如图2所示,现有技术中百度酒店业务插件在百度地图、手机百度和百度糯米(简称百糯)三大平台的插件框架不一致,导致酒店业务插件需要维护一套业务逻辑的三种技术实现,酒店业务插件分别与三个App完全耦合在一起,对于产品及人力都是巨大的挑战,随着业务的快速增长,拓展到百度钱包,度秘等只是时间问题,需要为酒店业务插件统一前端技术形态,为快速响应产品及运营的变化需求,节省人力成本作出重要的贡献。
[0047] 例如图3为本发明的百度酒店业务在百度地图、手机百度和百度糯米三大平台的框架结构图。如图3所示,本发明中,针对酒店业务插件提供一套标准的酒店前端JS API,供不同平台落地实现。例如具体可以分别通过酒店前端JS API和手百插件将酒店前端H5与手百App的连接,实现将酒店业务插件插入手百App;通过酒店前端JS API和地图插件将酒店前端H5与地图App的连接,实现将酒店业务插件插入地图App;通过酒店前端JS API和百糯插件将酒店前端H5与百糯App的连接,实现将酒店业务插件插入百糯App。然后可以针对酒店业务在三端的不同形态,添加酒店Web渲染引擎,屏蔽三端的差异。
[0048] 例如,针对酒店业务插件可以输出一套Java Script(简称JS)API,至于JS API的实现是H5还是NA,需要看容器(具体指的是App)的具体情况,目的是与所有容器解耦,酒店业务插件的业务上的代码不与运行的容器耦合,百度糯米和手机百度(简称手百)的JS API实现是基于百度糯米(简称百糯)Hybrid解决方案来实现,百度地图的JS API是建立在百度糯米Hybrid解决方案基础之上的扩展来实现,主要原因是因为酒店业务在百度地图上有大量的兴趣点(Point of Interest;POI),需要与地图图区强耦合来完成产品形态,但糯米Hybrid解决方案不支持此项功能,所以要针对糯米Hybrid解决方案进行订制扩展开发,满足地图酒店特色需求。
[0049] 酒店业务为了寻求突破点,在百度地图、手机百度、百度糯米都进行了更加适应应用场景的交互设计,比如地图图区POI查找酒店等,所以需要在渲染用户界面(User Interface;UI)之前进行不同渠道的判别渲染,使用组件化的思想,将UI组件化,在渲染每个组件的同时使用面向切面编程(Aspect Oriented Programming;AOP)的方式来插入不同渠道的业务逻辑,进而生成满足这个渠道需求的UI组件,再将各个组件进行组装,进而生成这个渠道的UI和业务逻辑。组件对于所有渠道都是通用的,对于每个组件的业务逻辑要针对不同的渠道来实现,再通过AOP的方式绑定到组件上,组件与组件之间的数据传输有一套统一的传输规范。
[0050] 图4为本发明的业务插件的处理装置实施例的结构示意图。如图4所示,本实施例的业务插件的处理装置,具体可以包括:获取模块10、生成模块11和处理模块12。
[0051] 其中获取模块10用于获取待插入的业务插件和业务插件待插入的App;生成模块11用于根据获取模块10获取的业务插件和App,生成将业务插件与App连接在一起的连接插件;处理模块12用于利用生成模块11生成的连接插件将业务插件的插入App中。
[0052] 进一步可选地,本实施例的业务插件的处理装置中,业务插件采用H5编写。
[0053] 进一步可选地,本实施例的业务插件的处理装置中,生成模块11具体用于:
[0054] 根据业务插件的内容,生成业务插件的连接接口;
[0055] 根据业务插件插入的App的类型,生成与连接接口对应的App接口。
[0056] 进一步可选地,本实施例的业务插件的处理装置中,处理模块12具体用于将生成模块11生成的连接接口与App接口连接在一起,实现将业务插件的插入App中。
[0057] 进一步可选地,本实施例的业务插件的处理装置中,App所适用的操作系统为Andriod或者IOS操作系统。
[0058] 本实施例的业务插件的处理装置,通过采用上述模块实现业务插件的处理,与上述相关方法实施例的实现原理以及技术效果相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0059] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0060] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0061] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0062] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0063] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。