功能模块间的信息交互方法、装置、设备及存储介质与流程

文档序号:16879945发布日期:2019-02-15 22:01阅读:229来源:国知局
功能模块间的信息交互方法、装置、设备及存储介质与流程

本发明实施例涉及计算机技术领域,尤其涉及一种功能模块间的信息交互方法、装置、设备及存储介质。



背景技术:

为了提高应用软件的开发效率,通常是以功能模块化的方式进行软件开发,即将应用软件中的各个功能划分为独立的功能模块进行软件开发。例如,将对弹幕消息进行接收、解析及发送等处理的功能划分为弹幕模块,将对弹幕消息进行过滤及运算等数据处理的功能划分为数据处理模块,将对弹幕消息进行渲染及显示等处理的功能划分为显示模块等。

目前,基于android系统开发的应用软件中各个功能模块之间的信息交互时,采用了底层功能模块作为桥接的作用实现了弹幕模块和显示模块之间的信息交互,减少了各个功能模块之间的直接耦合性,但是底层功能模块每次只能够缓存一个功能模块中的接口对象,当功能模块的数量有多个时,就无法实现多个功能模块之间的信息交互。



技术实现要素:

本发明实施例提供一种功能模块间的信息交互方法、装置、设备及存储介质,以实现基于android系统的应用软件开发中,多个独立功能模块之间的信息交互,减少各个功能模块之间的依赖关系与直接耦合关系,提高功能模块独立性的技术效果。

第一方面,本发明实施例提供了一种功能模块间的信息交互方法,包括:

第一功能模块获取交互信息;其中,所述交互信息包括交互信息标识;

所述第一功能模块调用对象获取函数,根据所述交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据所述交互信息标识从映射关系表中查找与所述交互协议对象相对应的原始数据类型,将所述交互协议对象的数据类型转换为所述原始数据类型,得到与第二功能模块相对应的目标交互协议对象;其中,所述第一功能模块和第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有私有权限修饰符;所述缓存对象变量中存储了至少一个交互协议对象,且所述至少一个交互协议对象继承不同的交互接口协议;

所述第一功能模块以所述交互信息为函数输入参数,调用所述目标交互协议对象中的信息交互函数,将所述交互信息传输至所述第二功能模块;其中,所述信息交互函数根据所述第二功能模块中的信息交互对象继承交互接口协议而获得,所述交互接口协议为所述底层功能模块中预先定义的交互协议,各第二功能模块的交互协议不同。

第二方面,本发明实施例还提供了一种功能模块间的信息交互装置,包括第一功能模块、第二功能模块和底层功能模块,其中,所述第一功能模块包括:

交互信息获取单元,用于获取交互信息;其中,所述交互信息包括交互信息标识;

目标交互协议对象获取单元,用于调用对象获取函数,根据所述交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据所述交互信息标识从映射关系表中查找与所述交互协议对象相对应的原始数据类型,将所述交互协议对象的数据类型转换为所述原始数据类型,得到与第二功能模块相对应的目标交互协议对象;其中,所述第一功能模块和第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有私有权限修饰符;所述缓存对象变量中存储了至少一个交互协议对象,且所述至少一个交互协议对象继承不同的交互接口协议;

交互信息传输单元,用于以所述交互信息为函数输入参数,调用所述目标交互协议对象中的信息交互函数,将所述交互信息传输至所述第二功能模块;其中,所述信息交互函数根据所述第二功能模块中的信息交互对象继承交互接口协议而获得,所述交互接口协议为所述底层功能模块中预先定义的交互协议,各第二功能模块的交互协议不同。

第三方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的功能模块间的信息交互方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的功能模块间的信息交互方法。

本发明实施例的技术方案通过第一功能模块获取交互信息,并调用对象获取函数,根据交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并从映射关系表中查找与交互协议对象相对应的原始数据类型,将交互协议对象的数据类型转换为原始数据类型,得到与第二功能模块相对应的目标交互协议对象;同时以交互信息为函数输入参数,调用目标交互协议对象中的信息交互函数,将交互信息传输至第二功能模块,解决了现有技术中底层功能模块只能缓存一个功能模块中的一个接口对象,无法适用于多个独立模块之间的信息交互的技术问题,实现了底层功能模块可以缓存至少一个独立功能模块中的接口对象,从而使多个独立功能模块之间可以信息交互、提高各个功能模块独立性的技术效果。

附图说明

图1为本发明实施例一提供的一种功能模块间的信息交互方法的流程图;

图2为本发明实施例二提供的一种功能模块间的信息交互装置的结构示意图;

图3为本发明实施例三提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种功能模块间的信息交互方法的流程图,本实施例可适用于至少两个独立的功能模块进行信息交互的情况,尤其是可以用于基于android系统的应用软件开发中各个功能模块进行信息交互的场景,同时也可以用于其他需要利用功能模块进行信息交互的应用场景中。该方法可以由功能模块间的信息交互装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有内部包含多个独立功能模块的应用软件的设备中,例如典型的是用户终端设备,例如手机、平板电脑或台式电脑等。参见图1,本实施例的方法具体包括如下步骤:

s110、第一功能模块获取交互信息;其中,所述交互信息包括交互信息标识。

其中,功能模块是指实现应用软件开发中某些特定功能的模块。第一功能模块可以是但不限于是弹幕模块、数据处理模块和显示模块中的任一模块。交互信息是指第一功能模块与第二功能模块之间进行交互的信息。第二功能模块也可以是但不限于是弹幕模块、数据处理模块和显示模块中的任一模块。

示例性的,若第一功能模块为弹幕模块,第二功能模块为显示模块,则弹幕模块获取的交互信息可以为弹幕消息,以便弹幕模块可以将获取的弹幕消息传输至显示模块中进行显示处理。本实施例中的交互信息可以是弹幕消息或者诸如数据获取请求和数据处理结果反馈等其他需要进行交互的消息。

具体地,第一功能模块可以通过接收服务器下发的信息来获取交互信息,也可以是自身生成的交互信息,其中,交互信息中还可以包括交互信息标识,需要说明的是交互信息标识是唯一,可以根据交互信息标识查找到与其相对应的信息交互协议对象。本实施例对交互信息的获取方式不做限定。

s120、第一功能模块调用对象获取函数,根据交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据交互信息标识从映射关系表中查找与交互协议对象相对应的原始数据类型,将交互协议对象的数据类型转换为原始数据类型,得到与第二功能模块相对应的目标交互协议对象。

其中,所述第一功能模块和所述第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有公有权限修饰符和静态类型修饰符;所述缓存对象变量中存储了至少一个交互协议对象。

具体地,底层功能模块是用于桥接第一功能模块和各个第二功能模块的模块,且其位于软件开发架构的底层,以使第一功能模块和各第二功能模块可以通过底层功能模块进行信息交互。这里所提及的底层功能模块是相对于第一功能模块和各第二功能模块所在的软件开发架构层次而言,即第一功能模块和第二功能模块在软件开发架构的上一层级,底层功能模块在上一层级的下一层级。第二功能模块的数量可以是一个也可以是多个,可选的,第二功能模块的数量为五个,每一个第二功能模块的可以具有相同的或者不同的交互接口协议。若与各个第二功能模块相对应的交互接口协议不同,且交互接口协议中定义的数据类型也不相同,那么与各个第二功能模块相对应的交互协议对象的数据类型也不相同。为了将与各第二功能模块相对应的交互协议对象存储到底层功能模块中,可以将交互协议对象存储到底层功能模块中预先定义的map(enume,object),即可以交互协议对象的数据类型为object型数据。可以理解为第二功能模块的信息交互对象继承交互接口协议,得到的信息交互协议对象的数据类型可以不同,为了将信息交互协议对象存储到底层功能模块中,将信息交互协议对象的数据类型转换为object型数据,得到数据类型为object的交互协议对象。

对象获取函数是一个存放于底层功能模块中的预定义函数。对象获取函数的修饰符为私有权限修饰符private。缓存对象变量位于底层功能模块中,用来存储交互协议对象,可以理解为存储数据类型为object型数据的缓存对象变量。映射关系表可以理解为底层功能模块中预先定义的,用于存储交互信息标识与交互接口协议。可以根据交互信息标识从映射关系表中确与其相对应的交互接口协议,从而可以确定交互协议对象的原始数据类型。

具体地,第一功能模块通过调用底层功能模块中的对象获取函数,并根据交互信息中包括的交互信息标识从底层功能模块中的缓存对象变量中,确定与交互信息标识相对应交互协议对象,需要说明的是此时获取到的交互协议对象的数据类型为object型数据。为了实现第一功能模块与各第二功能模块之间的信息交互,需要将交互协议对象的数据类型转换为原始数据类型。可以根据交互信息标识从映射关系表中查找到与交互信息标识相对应的交互接口协议,从而确定交互协议对象的原始数据类型,将交互协议对象的数据类型转换为原始数据类型,将转换为原始数据类型的交互协议对象作为目标交互协议对象,进而也就可以确定与目标交互协议对象相对应的第二功能模块。

可选的,根据交互信息标识从枚举映射关系表中,查找与交互信息标识相对应的原始数据类型,并将交互协议对象的数据类型转换为原始数据类型;其中,枚举映射关系表为底层功能模块中预先定义的,用于存储交互协议对象的原始数据类型与交互信息标识之间的对应关系。

具体的,在底层功能模块中预先定义枚举映射关系表,即枚举映射变量,存储交互信息标识与交互协议之间的对应关系。示例性的,枚举映射变量可以定义为:privateenumktointerface{

key_a(ifuncmodulea)

key_b(ifuncmoduleb)

key_c(ifuncmodulec)

}

底层功能模块中预先定义的map(enume,object),其中,map中的key可以是枚举ktointerface中的某一个枚举值信息,根据枚举值的key可以确定与其枚举值相对应的数据类型。示例性的,交互信息标识,即key值为key_a,可以从枚举映射变量中确定与key_a相对应的数据类型为ifuncmodulea类型,可以理解为将map中的key_a所对应的object数据类型,转换为ifuncmodulea类型的数据信息。

在本实施例中,可以预先将与交互协议对象相对应的信息交互协议对象存储至底层功能模块中,其中,信息交互协议对象是各第二功能模块中的信息交互对象经过一系列处理得到的对象。第一功能模块可以通过调用对象获取函数,根据交互信息标识从底层功能模块中筛选出与交互信息标识相同的信息交互协议对象,并从枚举映射关系表中确定,与交互信息标识相对应的原始数据类型,将交互协议对象的object数据类型,转换为与交互信息标识相对应的原始数据类型,可以将转换为原始数据类型的交互协议对象作为目标交互协议对象。由于信息交互协议对象是根据第二功能模块中的信息交互对象生成的,从而目标交互协议对象也是根据第二功能模块中的信息交互对象生成的,以便第一功能模块可以通过目标交互协议对象来实现与第二功能模块的信息交互,同时可以确定信息交互协议的对象的个数可以与第二功能模块的个数相同。

可选的,第一功能模块和各第二功能模块对应的配置文件的模块依赖属性中均包含底层功能模块的依赖关系添加语句。

其中,配置文件是软件开发时功能模块的配置说明性文件。

具体地,在第一功能模块对应的配置文件build.gradle的模块依赖属性dependence中,通过添加底层功能模块的依赖关系添加语句compilebasemodule来实现第一功能模块对底层功能模块的引用。同理,在各个第二功能模块对应的配置文件build.gradle的模块依赖属性dependence中,通过添加底层功能模块的依赖关系添加语句compilebasemodule来实现各个第二功能模块对底层功能模块的引用,从而本实施例根据一个底层功能模块构建了第一功能模块和各第二功能模块之间的桥接关系。

可选的,在s120之前,还包括:

各第二功能模块中的信息交互对象分别继承交互接口协议,获得至少一个待处理信息交互协议对象,将至少一个待处理信息交互协议对象中的原始数据类型转换为目标数据类型,得到信息交互协议对象;底层功能模块将待处理信息交互协议对象的交互信息标识以及原始数据类型存储到枚举映射关系表中;各第二功能模块调用对象缓存函数,对至少一个信息交互协议对象进行缓存,获得至少一个缓存对象,至少一个缓存对象存储在缓存对象变量中;其中,对象缓存函数为底层功能模块中的预定义函数,且具有公有权限修饰符和静态类型修饰符;缓存对象用于存储从第二功能模块中获取的信息交互协议对象

其中,每一个第二功能模块中都可能存在信息交互对象,且每一个信息交互对象可以分别继承不同的交互接口协议,可以得到至少一个信息交互协议对象,其中信息交互协议对象的数据类型也有可能不相同,将此时的信息交互协议对象作为待处理的信息交互协议对象。交互接口协议是指预先定义的用于进行信息交互的接口,各个第二功能模块的交互接口协议不同,交互接口协议中定义的数据类型也可以不同。交互接口协议中还可以包含预先定义的交互函数,即信息交互函数。对象缓存函数是预先定义的,用于缓存对象的函数。

为了待处理的信息交互协议对象存储到底层功能模块中,在底层功能模块中定义存储的数据类型为map(enume,object),可以将待处理信息交互协议对象的数据类型转换为object型数据,即处理为目标数据类型,得到交互协议对象。同时,为了确保可以快速的获取信息交互协议对象的数据类型,可以将交互信息标识与交互协议存储到枚举映射关系表中。

本发明实施例中,对象缓存函数用于将各个第二功能模块中的信息交互协议对象分别缓存至底层功能模块的缓存对象中

具体地,底层功能模块中预先定义不同的交互接口协议ifuncmodule,以使第一功能模块与各个第二功能模块根据该交互接口协议进行交互,需要说明的是,各第二功能模块的交互接口协议可以相同也可以不同。各个第二更能模块中的各个信息交互对象可以继承不同的交互接口协议,相应的得到的信息交互协议对象的数据类型也可以不同,将信息交互协议对象的数据类型转换为object型数据,存储到底层功能模块中定义的map(enume,object)中。同时,还可以将交互信息标识与各个第二功能模块对应的交互接口协议存储到枚举映射关系表中,以便根据交互信息标识可以快速确定与其相对应的原始数据类型。

本实施例中的第二功能模块可以将信息交互对象继承底层功能模块的交互接口协议,从而获取接口类型的信息交互协议对象。当第二功能模块获取信息交互协议对象时,可以自动触发底层功能模块中的对象缓存函数的执行,以将信息交互协议对象存储至底层功能模块。

可选的,对象缓存函数通过如下步骤实现对信息交互协议对象进行缓存,获得缓存对象的功能:底层功能模块分别判断对象缓存函数的输入参数是否为对象缓存函数的目标输入参数;若是,则通过当前对象关键字,将信息交互协议对象缓存至缓存对象变量,获得缓存对象,其中,缓存对象变量为底层功能模块预先定义的对象变量,用于存储至少一个缓存对象;缓存对象变量具有私有权限修饰符。

其中,本实施例的底层功能模块中预先定义了缓存对象变量,以缓存各第二功能模块中的信息交互协议对象至缓存对象变量中

具体地,各个第二功能模块可以调用对象缓存函数,底层功能模块具体来执行对象缓存函数。底层功能模块可以从对象缓存函数的函数输入参数fun中获取到需要缓存的对象。之后,通过判定fun==null来确定对象缓存函数的输入参数是否为目标输入参数。若对象缓存函数的输入参数为目标输入参数,则表明可以进行缓存;若对象缓存函数的输入参数不是目标输入参数,则表明无法进行缓存,此时可以直接调用return来终止缓存流程。本实施例中通过判断对象缓存函数的输入参数是否为目标输入参数,可以提高程序的健壮性。

可选的,各第二功能模块中的信息交互对象分别继承交互接口协议,获得至少一个信息交互协议对象,包括:各第二功能模块分别通过信息交互对象,调用协议继承关键字,继承交互接口协议,获得信息交互协议对象,信息交互协议对象中包含信息交互函数。

其中,协议继承关键字是java语言中规定的进行接口协议继承的关键字。

具体地,各第二功能模块可以通过协议继承不同关键字implement,对底层功能模块中不同的交互接口协议ifuncmodule进行继承,从而各第二功能模块可以获得信息交互协议对象。由于交互接口协议中包含信息交互函数,从而第二功能模块通过继承该交互接口协议,获得的信息交互协议对象中也包含该信息交互函数。由于需要将继承不同交互接口协议的信息交互协议对象缓存至底层功能模块中,因此需要将信息交互协议对象的数据类型进行转换,在存储到底层功能模块中。

可选的,对象获取函数通过如下步骤实现从底层功能模块中获得与第二功能模块对应的目标交互协议对象的功能:

底层功能模块判断与交互信息标识相对应的目标缓存对象是否为空对象;若否,则调用函数值返回函数,将目标缓存对象中的信息交互协议对象发送至第一功能模块,作为目标交互协议对象。

具体地,底层功能模块中预先设置至少一个缓存对象,用于存储从各个第二功能模块中获取的信息交互协议对象。在第一功能模块调用底层功能模块中的对象获取函数时,底层功能模块根据交互信息标识,从缓存对象变量中存储的至少一个缓存对象中确定目标缓存对象,底层功能模块可以通过判断目标缓存对象是否为空对象(null对象)来确定缓存对象中是否存储有信息交互协议对象。若缓存对象为非空对象,则表明缓存对象中存储有信息交互协议对象,此时底层功能模块通过直接调用函数值返回函数return,将目标缓存对象中的信息交互协议对象发送至第一功能模块中,即将目标缓存对象中的信息交互协议对象确定为第一功能模块中的目标交互协议对象。若缓存对象为空对象,则表明目标缓存对象中还没有存储信息交互协议对象,此时可以暂停交互流程,直至目标缓存对象中存储有从第二功能模块获取的信息交互协议对象时,继续进行功能模块的交互流程。

s130、第一功能模块以交互信息为函数输入参数,调用目标交互协议对象中的信息交互函数,将交互信息传输至第二功能模块。

其中,信息交互函数根据第二功能模块中的信息交互对象继承交互接口协议而获得,交互接口协议为底层功能模块中预先定义的交互协议,且各第二功能模块的交互协议相同。

具体地,根据上述说明可知,第一功能模块中的目标交互协议对象是通过第二功能模块中的信息交互对象,继承交互接口协议而获得的,而信息交互协议对象中包含信息交互函数,从而目标交互协议对象也包含信息交互函数。示例性的,根据交互接口协议ifuncmodule中信息交互函数onevent的定义可知,需要将交互信息预先解析为一个字符串string类型的eventtype数据和一个对象object类型的eventmsg数据,其中eventtype为交互信息标识,eventmsg为交互信息体,从而将交互信息作为信息交互函数中的函数输入参数,通过调用目标交互协议对象中的信息交互函数onevent(stirngeventtype,objecteventmsg),将交互信息传输至第二功能模块中,从而基于底层功能模块,完成了第一功能模块和第二功能模块之间的信息交互。当然,底层功能模块中存储的信息交互协议对象有至少一个,也可以实现第一功能模块与其他第二功能模块之间的信息交互。

本发明实施例的技术方案通过第一功能模块获取交互信息,并调用对象获取函数,根据交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并从映射关系表中查找与交互协议对象相对应的原始数据类型,将交互协议对象的数据类型转换为原始数据类型,得到与第二功能模块相对应的目标交互协议对象;同时以交互信息为函数输入参数,调用目标交互协议对象中的信息交互函数,将交互信息传输至第二功能模块,解决了现有技术中底层功能模块只能缓存一个功能模块中的一个接口对象,无法适用于多个独立模块之间的信息交互的技术问题,实现了底层功能模块可以缓存至少一个独立功能模块中的接口对象,从而使多个独立功能模块之间可以信息交互、提高各个功能模块独立性的技术效果。

以下是本发明实施例提供的功能模块间的信息交互装置的实施例,该装置与上述各实施例的功能模块间的信息交互方法属于同一个发明构思,在功能模块间的信息交互装置的实施例中未详尽描述的细节内容,可以参考上述功能模块间的信息交互方法的实施例。

实施例二

图2为本发明实施例二提供的一种功能模块间的信息交互装置的结构示意图。参见图2,该功能模块间的信息交互装置包括:第一功能模块210、第二功能模块220和底层功能模块230,其中,第一功能模块210包括:交互信息获取单元211、目标交互协议对象获取单元212和交互信息传输单元213。

其中,交互信息获取单元211,用于获取交互信息;其中,所述交互信息包括交互信息标识;目标交互协议对象获取单元212,用于调用对象获取函数,根据所述交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据所述交互信息标识从映射关系表中查找与所述交互协议对象相对应的原始数据类型,将所述交互协议对象的数据类型转换为所述原始数据类型,得到与第二功能模块相对应的目标交互协议对象;其中,所述第一功能模块和第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有私有权限修饰符;所述缓存对象变量中存储了至少一个交互协议对象,且所述至少一个交互协议对象继承不同的交互接口协议;交互信息传输单元213,用于以所述交互信息为函数输入参数,调用所述目标交互协议对象中的信息交互函数,将所述交互信息传输至所述第二功能模块;其中,所述信息交互函数根据所述第二功能模块中的信息交互对象继承交互接口协议而获得,所述交互接口协议为所述底层功能模块中预先定义的交互协议,各第二功能模块的交互协议不同。

可选的,获取目标交互协议对象单元还用于:根据交互信息标识从枚举映射关系表中,查找与交互信息标识相对应的原始数据类型,并将交互协议对象的数据类型转换为原始数据类型;其中,枚举映射关系表为底层功能模块中预先定义的,用于存储交互协议对象的交互接口协议与交互信息标识之间的对应关系。

可选的,第二功能模块220包括:

信息交互协议对象获取单元:各第二功能模块中的信息交互对象分别继承交互接口协议,获得至少一个待处理信息交互协议对象,将所述至少一个待处理信息交互协议对象中的原始数据类型转换为目标数据类型,得到所述信息交互协议对象;

底层功能模块将待处理信息交互协议对象的交互信息标识以及交互接口协议存储到枚举映射关系表中。

对象缓存函数调用单元,用于调用对象缓存函数,对所述至少一个信息交互协议对象进行缓存,获得至少一个缓存对象,所述至少一个缓存对象存储在缓存对象变量中;其中,所述对象缓存函数为所述底层功能模块中的预定义函数,且具有公有权限修饰符和静态类型修饰符;缓存对象用于存储从第二功能模块中获取的信息交互协议对象。

可选的,底层功能模块230包括对象缓存函数执行单元,用于通过如下步骤实现对信息交互协议对象进行缓存,获得缓存对象的功能:

分别判断所述对象缓存函数的输入参数是否为所述对象缓存函数的目标输入参数;若是,则通过当前对象关键字,将所述信息交互协议对象缓存至缓存对象变量,获得所述缓存对象,其中,所述缓存对象变量为所述底层功能模块预先定义的对象变量,用于存储至少一个缓存对象;所述缓存对象变量具有私有权限修饰符和静态类型修饰符。

可选的,信息交互协议对象获取单元,具体用于:

所述各第二功能模块分别通过所述信息交互对象,调用协议继承关键字,继承所述交互接口协议,获得所述信息交互协议对象,所述信息交互协议对象中包含所述信息交互函数。

可选的,底层功能模块230包括接口定义单元,用于:在所述各第二功能模块中的信息交互对象分别继承交互接口协议,获得至少一个信息交互协议对象之前,所述底层功能模块定义所述交互接口协议及所述交互接口协议中的所述信息交互函数,所述交互接口协议为具有公有权限修饰符的接口类型。

可选的,第一功能模块和各第二功能模块对应的配置文件的模块依赖属性中均包含底层功能模块的依赖关系添加语句。

本发明实施例的技术方案通过第一功能模块获取交互信息,并调用对象获取函数,根据交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据交互信息标识从映射关系表中查找与交互协议对象相对应的原始数据类型,将交互协议对象的数据类型转换为原始数据类型,得到与第二功能模块相对应的目标交互协议对象;同时以交互信息为函数输入参数,调用目标交互协议对象中的信息交互函数,将交互信息传输至第二功能模块,解决了现有技术中底层功能模块只能缓存一个功能模块中的一个接口对象,无法适用于多个独立模块之间的信息交互的技术问题,实现了底层功能模块可以缓存至少一个独立功能模块中的接口对象,从而使多个独立功能模块之间可以信息交互、提高各个功能模块独立性的技术效果。

本发明实施例所提供的功能模块间的信息交互装置可执行本发明任意实施例所提供的功能模块间的信息交互方法,具备执行功能模块间的信息交互方法相应的功能模块和有益效果。

值得注意的是,上述弹幕消息传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

实施例三

参见图3,本实施例提供了一种设备300,其包括:一个或多个处理器320;存储装置310,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器320执行,使得一个或多个处理器320实现本发明实施例所提供的功能模块间的信息交互方法,包括:

第一功能模块获取交互信息;其中,所述交互信息包括交互信息标识;

所述第一功能模块调用对象获取函数,根据所述交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据所述交互信息标识从映射关系表中查找与所述交互协议对象相对应的原始数据类型,将所述交互协议对象的数据类型转换为所述原始数据类型,得到与第二功能模块相对应的目标交互协议对象;其中,所述第一功能模块和第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有私有权限修饰符;所述缓存对象变量中存储了至少一个交互协议对象,且所述至少一个交互协议对象继承不同的交互接口协议;

所述第一功能模块以所述交互信息为函数输入参数,调用所述目标交互协议对象中的信息交互函数,将所述交互信息传输至所述第二功能模块;其中,所述信息交互函数根据所述第二功能模块中的信息交互对象继承交互接口协议而获得,所述交互接口协议为所述底层功能模块中预先定义的交互协议,各第二功能模块的交互接口协议不同。

当然,本领域技术人员可以理解,处理器320还可以实现本发明任意实施例所提供的功能模块间的信息交互方法的技术方案。

图3显示的设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图3所示,该设备300包括处理器320、存储装置310、输入装置330和输出装置340;设备中处理器320的数量可以是一个或多个,图3中以一个处理器320为例;设备中的处理器320、存储装置310、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线350连接为例。

存储装置310作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的功能模块间的信息交互方法对应的程序指令/模块(例如,功能模块间的信息交互装置中的第一功能模块210、第二功能模块220和底层功能模块230,其中,第一功能模块210包括交互信息获取单元211、目标交互协议对象获取单元212和交互单元213)。

存储装置310可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置310可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置310可进一步包括相对于处理器320远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。

实施例四

本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种功能模块间的信息交互方法,该方法包括:

第一功能模块获取交互信息;其中,所述交互信息包括交互信息标识;

所述第一功能模块调用对象获取函数,根据所述交互信息标识从底层功能模块中的缓存对象变量中确定交互协议对象,并根据所述交互信息标识从映射关系表中查找与所述交互协议对象相对应的原始数据类型,将所述交互协议对象的数据类型转换为所述原始数据类型,得到与第二功能模块相对应的目标交互协议对象;其中,所述第一功能模块和第二功能模块为所述底层功能模块的顶层功能模块,所述对象获取函数为所述底层功能模块中的预定义函数,且具有私有权限修饰符;所述缓存对象变量中存储了至少一个交互协议对象,且所述至少一个交互协议对象继承不同的交互接口协议;

所述第一功能模块以所述交互信息为函数输入参数,调用所述目标交互协议对象中的信息交互函数,将所述交互信息传输至所述第二功能模块;其中,所述信息交互函数根据所述第二功能模块中的信息交互对象继承交互接口协议而获得,所述交互接口协议为所述底层功能模块中预先定义的交互协议,且各第二功能模块的交互接口协议不同。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的功能模块间的信息交互方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的功能模块间的信息交互方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1