组件化通信控制方法及装置、系统、电子设备、存储介质与流程
未命名
09-08
阅读:86
评论:0

1.本发明涉及通信技术领域,尤其涉及一种组件化通信控制方法及装置、系统、电子设备、存储介质。
背景技术:
2.组件化是指解耦复杂系统时将多个功能模块拆分、重组的过程,由多种属性、状态反映其内部特性。
3.当前,现有的组件化通讯方案通常能够将字符串硬编码成相关的通信参数,从而实现组件之间的通信。然而,这种现有的组件化通讯方案往往依赖于字符串硬编码,导致组件之间的传参方式有限,例如url的“注册”、“实现”、“使用”等必须用使用相同的字符规则,一旦任何一方做出修改都会导致其他方的代码失效,这会降低组件之间的通信灵活性,进而降低组件化通信效率。
4.因此,提供一种能够提高组件之间的通信灵活性,进而提高组件化通信效率的方法显得尤为重要。
技术实现要素:
5.本发明所要解决的技术问题在于,提供一种组件化通信控制方法及装置、系统、电子设备、存储介质,能够有利于提高组件之间的通信灵活性,进而提高组件化通信效率。
6.为了解决上述技术问题,本发明第一方面公开了一种组件化通信控制方法,所述方法包括:
7.获取至少一个当前组件的页面使用请求;
8.对于任一所述当前组件:
9.根据所述当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数,所述调用参数用于指示所述当前组件对应的参数调用信息;
10.根据所述调用参数,确定所述当前组件与目标组件之间的通信路径,并根据所述通信路径,在路由模块中调用所述目标组件的组件参数,所述目标组件的组件参数用于所述当前组件打开与所述页面使用请求相匹配的目标页面。
11.作为一种可选的实施方式,在本发明第一方面中,所述调用参数用于指示与所述页面使用请求相匹配的页面名称和/或页面标题;
12.以及,所述根据所述调用参数,确定所述当前组件与目标组件之间的通信路径,包括:
13.根据所述调用参数,在路由模块预先创建的多个参数接口中查询是否存在与所述调用参数相匹配的目标参数接口,其中,每个所述参数接口对应一个字典,所述字典用于存储相应参数接口的匹配组件的组件标识以及组件变量;
14.当查询到存在所述目标参数接口时,通过该目标参数接口对应的目标字典,确定所述调用参数对应的目标组件,并根据所述目标字典以及预设反射机制,获取所述目标组
件的类参数;
15.根据所述目标组件的类参数,在所述路由模块中创建与该类参数相匹配的目标实例,并根据所述目标实例,确定所述当前组件与所述目标组件之间的通信路径。
16.作为一种可选的实施方式,在本发明第一方面中,每个所述参数接口对应的字典是由以下方式确定的:
17.获取所述参数接口对应的页面业务类型;
18.根据所述页面业务类型,确定所述参数接口的匹配组件,并建立所述参数接口与所述匹配组件之间的关联关系;
19.根据所述参数接口与所述匹配组件之间的关联关系,获取所述匹配组件的组件标识以及组件变量,并根据所述匹配组件的组件标识以及组件变量,确定所述参数接口对应的字典。
20.作为一种可选的实施方式,在本发明第一方面中,所述目标实例包括多个实例方法;
21.以及,所述根据所述通信路径,在路由模块中调用所述目标组件的组件参数,包括:
22.根据所述通信路径以及所述页面使用请求,确定所述目标实例中与所述页面使用请求相匹配的至少一个目标实例方法;
23.通过预设注入机制,调用所有所述目标实例方法作为所述目标组件的组件参数。
24.作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
25.确定所有所述当前组件的组件数量,并判断所述组件数量是否大于预设数量阈值;
26.当判断出所述组件数量大于所述预设数量阈值时,根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表,所述参数调用顺序表用于指示每个所述当前组件的参数调用顺序;
27.以及,所述根据所述通信路径,在路由模块中调用所述目标组件的组件参数,包括:
28.根据所述参数调用顺序表以及所述通信路径,在路由模块中调用所述目标组件的组件参数。
29.作为一种可选的实施方式,在本发明第一方面中,所述根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表,包括:
30.根据每个所述当前组件的页面使用请求,预测每个所述当前组件对应的页面数据量;
31.根据所有所述页面数据量以及所有所述页面使用请求,确定每个所述当前组件的页面使用优先度;
32.根据所有所述当前组件的页面使用优先度,确定所有所述当前组件对应的调用顺序表。
33.本发明第二方面公开了一种组件化通信控制装置,所述装置包括:
34.获取模块,用于获取至少一个当前组件的页面使用请求;
35.调用模块,用于根据任一所述当前组件的页面使用请求,确定与该页面使用请求
相匹配的调用参数,所述调用参数用于指示所述当前组件对应的参数调用信息;根据所述调用参数,确定所述当前组件与目标组件之间的通信路径;根据所述通信路径,在路由模块中调用所述目标组件的组件参数,所述目标组件的组件参数用于所述当前组件打开与所述页面使用请求相匹配的目标页面。
36.作为一种可选的实施方式,在本发明第二方面中,所述调用参数用于指示与所述页面使用请求相匹配的页面名称和/或页面标题;
37.以及,所述调用模块根据所述调用参数,确定所述当前组件与目标组件之间的通信路径的方式具体包括:
38.根据所述调用参数,在路由模块预先创建的多个参数接口中查询是否存在与所述调用参数相匹配的目标参数接口,其中,每个所述参数接口对应一个字典,所述字典用于存储相应参数接口的匹配组件的组件标识以及组件变量;
39.当查询到存在所述目标参数接口时,通过该目标参数接口对应的目标字典,确定所述调用参数对应的目标组件,并根据所述目标字典以及预设反射机制,获取所述目标组件的类参数;
40.根据所述目标组件的类参数,在所述路由模块中创建与该类参数相匹配的目标实例,并根据所述目标实例,确定所述当前组件与所述目标组件之间的通信路径。
41.作为一种可选的实施方式,在本发明第二方面中,每个所述参数接口对应的字典是由以下方式确定的:
42.获取所述参数接口对应的页面业务类型;
43.根据所述页面业务类型,确定所述参数接口的匹配组件,并建立所述参数接口与所述匹配组件之间的关联关系;
44.根据所述参数接口与所述匹配组件之间的关联关系,获取所述匹配组件的组件标识以及组件变量,并根据所述匹配组件的组件标识以及组件变量,确定所述参数接口对应的字典。
45.作为一种可选的实施方式,在本发明第二方面中,所述目标实例包括多个实例方法;
46.以及,所述调用模块根据所述通信路径,在路由模块中调用所述目标组件的组件参数的方式具体包括:
47.根据所述通信路径以及所述页面使用请求,确定所述目标实例中与所述页面使用请求相匹配的至少一个目标实例方法;
48.通过预设注入机制,调用所有所述目标实例方法作为所述目标组件的组件参数。
49.作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
50.确定模块,用于确定所有所述当前组件的组件数量;
51.判断模块,用于判断所述组件数量是否大于预设数量阈值;
52.所述确定模块,还用于当所述判断模块判断出所述组件数量大于所述预设数量阈值时,根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表,所述参数调用顺序表用于指示每个所述当前组件的参数调用顺序;
53.以及,所述调用模块根据所述通信路径,在路由模块中调用所述目标组件的组件参数的方式具体包括:
54.根据所述参数调用顺序表以及所述通信路径,在路由模块中调用所述目标组件的组件参数。
55.作为一种可选的实施方式,在本发明第二方面中,所述确定模块根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表的方式具体包括:
56.根据每个所述当前组件的页面使用请求,预测每个所述当前组件对应的页面数据量;
57.根据所有所述页面数据量以及所有所述页面使用请求,确定每个所述当前组件的页面使用优先度;
58.根据所有所述当前组件的页面使用优先度,确定所有所述当前组件对应的调用顺序表。
59.本发明第三方面公开了另一种组件化通信控制装置,所述装置包括:
60.存储有可执行程序代码的存储器;
61.与所述存储器耦合的处理器;
62.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的组件化通信控制方法。
63.本发明第四方面公开了一种电子设备,所述电子设备用于执行本发明第一方面公开的的互联网页面的自动切换方法。
64.本发明第五方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的组件化通信控制方法。
65.本发明第六方面公开了一种组件化通信控制系统,所述系统包括路由模块及多个组件,所述系统用于执行本发明第一方面公开的组件化通信控制方法。
66.与现有技术相比,本发明实施例具有以下有益效果:
67.本发明实施例中,能够根据获取到的每个当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使该当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率。
附图说明
68.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
69.图1是本发明实施例公开的一种组件化通信控制方法的流程示意图;
70.图2是本发明实施例公开的一种路由模块的结构示意图;
71.图3是本发明实施例公开的另一种组件化通信控制方法的流程示意图;
72.图4是本发明实施例公开的另一种路由模块的结构示意图;
73.图5是本发明实施例公开的一种组件化通信控制装置的结构示意图;
74.图6是本发明实施例公开的另一种组件化通信控制装置的结构示意图;
75.图7是本发明实施例公开的又一种组件化通信控制装置的结构示意图;
76.图8是本发明实施例公开的一种组件化通信控制系统的结构示意图。
具体实施方式
77.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
78.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
79.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
80.当前,现有的ios传统组件化通信方案,例如url scheme组件通信方式、protocol(协议)-class(类)等往往存在一定的编写缺陷。具体的,url scheme组件通信方式往往传参方式有限且无法利用编译器对参数类型进行检查,通过该方式实现的组件化通信中,大部分参数都是由字符串转换而来,导致其对应的组件化通信只适用于界面模块,而不适用于通用模块,此外,url scheme组件通信方式往往依赖于字符串硬编码,无法保证所使用的组件和/或模块之间存在一定的解耦能力,例如url的“注册”、“实现”、“使用”等都需要使用相同的字符规则,一旦任何一方做出修改都会导致其他方的代码失效;protocol(协议)-class(类)是用框架来创建所有对象,若不同对象之间的创建方式不同,则不同对象之间无法进行参数传输,即protocol(协议)-class(类)不支持复杂的创建方式且较为依赖注入机制。
81.而本发明公开了一种组件化通信控制方法及装置,能够根据获取到的每个当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使该当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率。这可以很好地解决上述现有技术存在的痛点,以下分别进行详细说明。
82.实施例一
83.请参阅图1,图1是本发明实施例公开的一种组件化通信控制方法的流程示意图。其中,图1所描述的组件化通信控制方法可以应用于日常需要进行组件化通信的场景中,本发明实施例不做限定。可选的,该方法可以由组件化通信系统实现,也可以是由对组件化通信流程进行处理的本地服务器或云端服务器等实现,其中,该组件化通信系统可以集成在组件化通信装置中,也可以独立于该组件化通信装置而存在,本发明实施例不做限定。如图1所示,该组件化通信控制方法可以应用于任一当前组件,该方法包括以下操作:
84.101、获取当前组件的页面使用请求。
85.在本发明实施例中,可选的,该当前组件用于指示当前正在发起页面使用请求的组件,例如ios组件等。可选的,该页面使用请求用于指示当前组件需要打开的页面(model view controller),例如打开浏览器的搜索页面等。需要说明的是,当前组件的页面使用请求可以是由用户自主确定的,也可以是组件化通信系统自动确定的,此处不作限定。
86.102、根据当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数。
87.在本发明实施例中,可选的,调用参数用于指示当前组件对应的参数调用信息,该参数调用信息可以是当前组件所需打开页面的页面名称和/或页面标题,该页面名称用于指示该所需打开页面的页面名,例如百度网、淘宝网等;该页面标题用于指示该所需打开页面的页面内容,例如淘宝网的页面标题可以为购物、商品、价格等。
88.103、根据调用参数,确定当前组件与目标组件之间的通信路径;根据通信路径,在路由模块中调用目标组件的组件参数。
89.在本发明实施例中,可选的,通过该调用参数对应的内容,可以确定与当前组件的页面使用请求相匹配的目标组件,进而在路由模块中确定当前组件与目标组件之间的通信路径,通过该通信路径,当前组件能够按需调用目标组件的组件参数,该目标组件的组件参数用于当前组件打开与页面使用请求相匹配的目标页面。
90.在本发明实施例中,可选的,请参照图2,图2展示了一种路由模块的结构示意图,如图2所示,路由模块相当于与当前组件以及目标组件都建立有关联关系的中间件,可以通过在路由模块中添加参数接口,当上述当前组件需要调用目标组件的组件参数时,可以通过对应的参数接口,获取目标组件的组件参数并返回一个目标实例。需要说明的是,图2中的当前组件以及目标组件只是示意性展示,实际使用中可以存在多个当前组件以及多个目标组件,共同与该路由模块建立有关联关系,因此,通过该路由模块可以实现组件间的解耦,使得只需要根据当前组件的调用参数包括的页面名称和/或页面标题即可对目标组件的组件参数进行调用,有利于提高组件化通信效率。
91.可见,实施本发明实施例能够根据获取到的当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率。
92.在一个可选的实施例中,该方法还包括:
93.确定所有当前组件的组件数量,并判断组件数量是否大于预设数量阈值;
94.当判断出组件数量大于预设数量阈值时,根据每个当前组件的页面使用请求,确定所有当前组件的参数调用顺序表;
95.以及,上述步骤103根据通信路径,在路由模块中调用目标组件的组件参数,包括:
96.根据参数调用顺序表以及通信路径,在路由模块中调用目标组件的组件参数。
97.在该可选的实施例中,可选的,该参数调用顺序表用于指示每个当前组件的参数调用顺序,举个例子,该参数调用顺序表可以指示当前组件a的调用顺序优先于当前组件b,当前组件b的调用顺序优先于当前组件c等。通过该参数调用顺序表对所有当前组件的调用顺序进行排列,能够分清不同调用操作的轻重缓急程度,使较为重要的调用操作能够优先执行,进而提高组件之间的通信灵活性。
98.在该可选的实施例中,作为一个可选的实施方式,上述步骤判断组件数量是否大
于预设数量阈值,包括:
99.获取每个当前组件的组件数据量,并根据所有当前组件的组件数据量以及组件数量,计算出所有当前组件的平均组件数据量;
100.判断该平均组件数据量是否大于预设平均数据量阈值;
101.当判断出该平均组件数据量大于该预设平均数据量阈值时,确定该组件数量大于预设数量阈值;
102.当判断出该平均组件数据量小于该预设平均数据量阈值时,确定该组件数量小于预设数量阈值。
103.在该可选的实施方式中,可选的,该预设平均数据量阈值可以由技术人员根据组件业务进行设定,也可以是组件化通信系统自动设定的,此处不作限定。可选的,不同当前组件对应的组件数据量大小不同,而每个当前组件的数据传输效率相同,当存在多个当前组件且每个当前组件的组件数据量都较大时,如果所有当前组件同时进行参数调用操作可能会导致路由模块调用繁忙;当存在多个当前组件且每个当前组件之间的组件数据量大小不一时,当所有当前组件同时进行参数调用操作时,组件数据量较小的当前组件会比组件数据量较大的当前组件提前完成参数调用操作,进而腾出多余调用空间避免路由模块调用繁忙。因此,可以将所有当前组件的平均组件数据量与预设平均数据量阈值作比较,进而确定所有当前组件的组件数量是否大于预设数量阈值。需要说明的是,该预设数量阈值可以按需进行动态浮动,即当所有当前组件的组件数据量普遍较大时,这些当前组件对应的预设数量阈值较低,反之同理。
104.可见,该可选的实施方式能够计算出所有当前组件的平均组件数据量,并将其与预设平均数据量阈值作比较,进而根据比较结果确定出所有当前组件的组件数量是否大于预设数量阈值,能够提高判断组件数量是否大于预设数量阈值的判断准确性,为后续步骤提供准确的数据基础,进而提高组件化通信效率。
105.可见,该可选的实施例能够在判断出组件数量大于预设数量阈值时,确定所有当前组件的参数调用顺序表,进而根据该调用顺序表指示每个当前组件根据设定的调用顺序执行参数调用操作,能够进一步的提高组件间通信的灵活性,避免路由模块出现调用繁忙的现象,进而提高组件化通信效率。
106.在另一个可选的实施例中,上述步骤根据每个当前组件的页面使用请求,确定所有当前组件的参数调用顺序表,包括:
107.根据每个当前组件的页面使用请求,预测每个当前组件对应的页面数据量;
108.根据所有页面数据量以及所有页面使用请求,确定每个当前组件的页面使用优先度;
109.根据所有当前组件的页面使用优先度,确定所有当前组件对应的调用顺序表。
110.在该可选的实施例中,可选的,由于页面使用请求用于指示当前组件需要打开的页面,打开不同的页面其对应的页面数据量不同,例如打开图片较多页面时所需的页面数据量往往比打开纯文字页面所需的页面数据量大。可选的,当需要打开页面的页面数据量较大时,其对应的页面使用优先度也会较高;反之当需要打开页面的页面数据量较小时,其对应的页面使用优先度也会较低,这有利于均衡所有当前组件执行完毕调用操作所需的时间,缩小所有当前组件对应的所有需要打开页面之间的打开间隔,进而提高组件化通信体
验。
111.在该可选的实施例中,可选的,根据每个当前组件的页面使用优先度,按照页面使用优先度从大到小对每个当前组件进行排列,当存在多个当前组件的页面组件优先度之间的差值小于预设差值时,将这些当前组件进行并列排序,这有利于提高调用顺序表的容错率。
112.可见,该可选的实施例能够预测每个当前组件对应的页面数据量,从而确定出每个当前组件的页面使用优先度,进而确定出所有当前组件的调用顺序表,能够按需对每个当前组件的调用顺序进行排列,避免了路由模块出现调用繁忙的现象,从而提高组件之间的通信灵活性,进而进一步的提高组件化通信效率。
113.实施例二
114.请参阅图3,图3是本发明实施例公开的一种组件化通信控制方法的流程示意图。其中,图3所描述的组件化通信控制方法可以应用于日常需要进行组件化通信的场景中,本发明实施例不做限定。可选的,该方法可以由组件化通信系统实现,也可以是由对组件化通信流程进行处理的本地服务器或云端服务器等实现,其中,该组件化通信系统可以集成在组件化通信装置中,也可以独立于该组件化通信装置而存在,本发明实施例不做限定。如图3所示,该组件化通信控制方法可以应用于任一当前组件,该方法包括以下操作:
115.201、获取当前组件的页面使用请求。
116.202、根据当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数。
117.203、根据调用参数,在路由模块预先创建的多个参数接口中查询是否存在与调用参数相匹配的目标参数接口。
118.在本发明实施例中,可选的,路由模块预先创建的不同参数接口用于获取不同组件的组件标识以及组件变量,并将其封装成字典返回,即每个参数接口对应一个字典,字典用于存储相应参数接口的匹配组件的组件标识以及组件变量。可选的,该组件标识用于指示相应参数接口的匹配组件名,例如插画组件、视频播放组件等;该组件变量用于指示相应参数接口的匹配组件包括的所有参数,例如插画组件中的图片格式参数、图片色彩参数等。
119.204、当查询到存在目标参数接口时,通过该目标参数接口对应的目标字典,确定调用参数对应的目标组件,并根据目标字典以及预设反射机制,获取目标组件的类参数。
120.在本发明实施例中,可选的,由于每个参数接口都对应有一个匹配组件以及一个字典,因此可以通过目标字典包括的组件标识,确定出目标参数接口对应的目标组件。可选的,该预设反射机制用于指示通过组件标识获取目标组件的类参数,举个例子,假设组件标识以字符串的形式呈现,基于上述假设,可以使用nsclassfromstring(预设反射机制)获取目标组件的类参数。
121.205、根据目标组件的类参数,在路由模块中创建与该类参数相匹配的目标实例,并根据目标实例,确定当前组件与目标组件之间的通信路径。
122.在本发明实施例中,可选的,对获取到的目标组件的类参数进行类型强转之后,调用预设初始化方法,生成该类参数对应的目标实例,并将该目标实例作为当前组件与目标组件之间的通信路径,其中,目标实例包括多个实例方法,当前组件可以通过调用该目标实例的实例方法实现与目标组件之间的参数交互。
123.206、根据通信路径,在路由模块中调用目标组件的组件参数。
124.在本发明实施例中,针对步骤201、步骤202以及步骤206的其它描述,请参照实施例一中针对步骤101-步骤103的详细描述,本发明实施例不再赘述。
125.可见,实施本发明实施例能够根据获取到的当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率;能够通过调用参数在查询到路由模块中存在目标参数接口时,根据该目标接口对应的目标字典以及预设反射机制,创建对应的目标实例以确定当前组件与目标组件之间的通信路径,能够提高当前组件与目标组件之间的通信准确性,进而提高组件化通信效率。
126.在一个可选的实施例中,每个参数接口对应的字典是由以下方式确定的:
127.获取参数接口对应的页面业务类型;
128.根据页面业务类型,确定参数接口的匹配组件,并建立参数接口与匹配组件之间的关联关系;
129.根据参数接口与匹配组件之间的关联关系,获取匹配组件的组件标识以及组件变量,并根据匹配组件的组件标识以及组件变量,确定参数接口对应的字典。
130.在该可选的实施例中,可选的,该页面业务类型可以包括:聚合类、列表类、内容类、功能类等,其中,聚合类页面用于指示功能入口的聚合展示页面;列表类页面用于指示展示同类别的信息供用户筛选的页面;内容类页面用于指示展示具体信息的页面;功能类页面用于指示为了完成某个功能而存在的页面。可选的,由于打开不同页面业务类型的页面需要的参数类型不同,因此调用的匹配组件也各不相同,所以可以通过参数接口对应的页面业务类型建立该参数接口与其匹配组件之间的关联关系,通过该关联关系可以提高参数接口调用匹配组件的组件参数的准确性。
131.在该可选的实施例中,可选的,将匹配组件的组件标识以及组件变量进行封装,得到该匹配组件对应的字典,也即参数接口对应的字典。
132.在该可选的实施例中,作为一个可选的实施方式,在上述步骤建立参数接口与匹配组件之间的关联关系,包括:
133.获取匹配组件的唯一组件标识;
134.根据预设加密算法以及唯一组件标识,生成该匹配组件相应参数接口的加密字符串;
135.根据预设关联协议以及上述加密字符串,建立参数接口与匹配组件之间的关联关系。
136.在该可选的实施方式中,可选的,匹配组件的唯一组件标识可以以字符串、哈希值、组件编号等形式呈现。可选的,当参数接口与匹配组件之间建立了关联关系之后,该参数接口只用于对接相应匹配组件,而无法对接其他不匹配组件。
137.可见,该可选的实施方式能够生成参数接口对应的加密字符串,进而根据预设关联协议以及加密字符串,建立参数接口与匹配组件之间的关联关系,能够确保参数接口的唯一性,避免出现参数调用混乱的情况,有利于进一步的提高组件化通信效率。
138.可见,该可选的实施例能够根据每个参数接口对应的页面业务类型,确定每个参数接口的匹配组件,从而建立每个参数接口与相应匹配组件之间的关联关系,进而确定出每个参数接口对应的字典,通过该字典实现调用导航作用,减少了多余的程序判断逻辑,有
利于提高组件化通信效率。
139.在另一个可选的实施例中,上述目标实例包括多个实例方法;
140.以及,上述步骤206根据通信路径,在路由模块中调用目标组件的组件参数,包括:
141.根据通信路径以及页面使用请求,确定目标实例中与页面使用请求相匹配的至少一个目标实例方法;
142.通过预设注入机制,调用所有目标实例方法作为目标组件的组件参数。
143.在该可选的实施例中,可选的,请参照图4,图4展示了另一种路由模块的结构示意图,如图4所示,当前组件的相应实例包括如图4所示的实例方法1、实例方法2以及实例方法3;目标组件对应的目标实例包括如图4所示的实例方法4、实例方法5以及实例方法6,需要说明的是,实例方法对应序号只用于区别不同的实例方法,并不是对实例包括的实例方法数量进行限定,在实际使用中,任一当前组件、任一目标组件的对应实例都包括至少一个实例方法。可选的,当前组件根据页面使用请求,在预先确定的通信路径中确定所需打开页面对应的至少一个目标实例方法,并通过预设注入机制对所有目标实例方法进行调用。举个例子,如图4所示,假设当前组件需要打开的页面是通过目标组件对应的实例方法4和实例方法5实现的,基于上述假设,当前组件可以通过其对应的信息转发功能,在路由模块中通过nsinvocation(预设注入机制)动态调用目标组件中的实例方法4和实例方法5。
144.可见,该可选的实施例能够根据通信路径以及页面使用请求,确定至少一个目标实例方法,进而根据预设注入机制,动态调用所有目标实例方法以打开目标页面,能够提高实例方法的选择准确性,有利于进一步的提高组件化通信效率。
145.实施例三
146.请参阅图5,图5是本发明实施例公开的一种组件化通信控制装置的结构示意图。其中,图5所描述的组件化通信控制装置可以应用于日常需要进行组件化通信的场景中,本发明实施例不做限定。可选的,该装置可以由组件化通信系统实现,也可以是由对组件化通信流程进行处理的本地服务器或云端服务器等实现,其中,该组件化通信系统可以集成在组件化通信装置中,也可以独立于该组件化通信装置而存在,本发明实施例不做限定。如图5所示,该组件化通信控制装置可以包括:
147.获取模块301,用于获取至少一个当前组件的页面使用请求;
148.调用模块302,用于根据任一当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数,调用参数用于指示当前组件对应的参数调用信息;根据调用参数,确定当前组件与目标组件之间的通信路径;根据通信路径,在路由模块中调用目标组件的组件参数,目标组件的组件参数用于当前组件打开与页面使用请求相匹配的目标页面。
149.可见,实施图5所描述的组件化通信控制装置能够根据获取到的当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率。
150.在一个可选的实施例中,调用参数用于指示与页面使用请求相匹配的页面名称和/或页面标题;
151.以及,上述调用模块302根据调用参数,确定当前组件与目标组件之间的通信路径的方式具体包括:
152.根据调用参数,在路由模块预先创建的多个参数接口中查询是否存在与调用参数相匹配的目标参数接口,其中,每个参数接口对应一个字典,字典用于存储相应参数接口的匹配组件的组件标识以及组件变量;
153.当查询到存在目标参数接口时,通过该目标参数接口对应的目标字典,确定调用参数对应的目标组件,并根据目标字典以及预设反射机制,获取目标组件的类参数;
154.根据目标组件的类参数,在路由模块中创建与该类参数相匹配的目标实例,并根据目标实例,确定当前组件与目标组件之间的通信路径。
155.可见,实施图5所描述的组件化通信控制装置能够通过调用参数在查询到路由模块中存在目标参数接口时,根据该目标接口对应的目标字典以及预设反射机制,创建对应的目标实例以确定当前组件与目标组件之间的通信路径,能够提高当前组件与目标组件之间的通信准确性,进而提高组件化通信效率。
156.在另一个可选的实施例中,每个参数接口对应的字典是由以下方式确定的:
157.获取参数接口对应的页面业务类型;
158.根据页面业务类型,确定参数接口的匹配组件,并建立参数接口与匹配组件之间的关联关系;
159.根据参数接口与匹配组件之间的关联关系,获取匹配组件的组件标识以及组件变量,并根据匹配组件的组件标识以及组件变量,确定参数接口对应的字典。
160.可见,实施图5所描述的组件化通信控制装置能够根据每个参数接口对应的页面业务类型,确定每个参数接口的匹配组件,从而建立每个参数接口与相应匹配组件之间的关联关系,进而确定出每个参数接口对应的字典,通过该字典实现调用导航作用,减少了多余的程序判断逻辑,有利于提高组件化通信效率。
161.在又一个可选的实施例中,目标实例包括多个实例方法;
162.以及,上述调用模块302根据通信路径,在路由模块中调用目标组件的组件参数的方式具体包括:
163.根据通信路径以及页面使用请求,确定目标实例中与页面使用请求相匹配的至少一个目标实例方法;
164.通过预设注入机制,调用所有目标实例方法作为目标组件的组件参数。
165.可见,实施图5所描述的组件化通信控制装置能够根据通信路径以及页面使用请求,确定至少一个目标实例方法,进而根据预设注入机制,动态调用所有目标实例方法以打开目标页面,能够提高实例方法的选择准确性,有利于进一步的提高组件化通信效率。
166.在又一个可选的实施例中,如图6所示,该装置还包括:
167.确定模块303,用于确定所有当前组件的组件数量;
168.判断模块304,用于判断组件数量是否大于预设数量阈值;
169.上述确定模块303,还用于当上述判断模块304判断出组件数量大于预设数量阈值时,根据每个当前组件的页面使用请求,确定所有当前组件的参数调用顺序表,参数调用顺序表用于指示每个当前组件的参数调用顺序;
170.以及,上述调用模块302根据通信路径,在路由模块中调用目标组件的组件参数的方式具体包括:
171.根据参数调用顺序表以及通信路径,在路由模块中调用目标组件的组件参数。
172.可见,实施图6所描述的组件化通信控制装置能够在判断出组件数量大于预设数量阈值时,确定所有当前组件的参数调用顺序表,进而根据该调用顺序表指示每个当前组件根据设定的调用顺序执行参数调用操作,能够进一步的提高组件间通信的灵活性,避免路由模块出现调用繁忙的现象,进而提高组件化通信效率。
173.在又一个可选的实施例中,上述确定模块303根据每个当前组件的页面使用请求,确定所有当前组件的参数调用顺序表的方式具体包括:
174.根据每个当前组件的页面使用请求,预测每个当前组件对应的页面数据量;
175.根据所有页面数据量以及所有页面使用请求,确定每个当前组件的页面使用优先度;
176.根据所有当前组件的页面使用优先度,确定所有当前组件对应的调用顺序表。
177.可见,实施图6所描述的组件化通信控制装置能够预测每个当前组件对应的页面数据量,从而确定出每个当前组件的页面使用优先度,进而确定出所有当前组件的调用顺序表,能够按需对每个当前组件的调用顺序进行排列,避免了路由模块出现调用繁忙的现象,从而提高组件之间的通信灵活性,进而进一步的提高组件化通信效率。
178.实施例四
179.请参阅图7,图7是本发明实施例公开的又一种组件化通信控制装置的结构示意图。如图7所示,该组件化通信控制装置可以包括:
180.存储有可执行程序代码的存储器401;
181.与存储器401耦合的处理器402;
182.处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的组件化通信控制方法中的步骤。
183.实施例五
184.本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的组件化通信控制方法中的步骤。
185.实施例六
186.本发明实施例公开了一种电子设备,该电子设备用于执行本发明实施例一或本发明实施例二所描述的组件化通信控制方法中的步骤。其中,可选的,该电子设备指互联网设备,例如电脑(台式电脑、掌上电脑、平板电脑、便携式电脑等)、智能手机(android手机、ios手机等)、智能手表以及移动互联网设备(mobile internet devices,mid)等能够实现组件化通信的设备,此处不做限定。
187.实施例七
188.请查阅图8,图8是本发明实施例公开的一种组件化通信控制系统的结构示意图。如图8所示,该系统包括路由模块501及多个组件502,该系统用于执行本发明实施例一或本发明实施例二所描述的组件化通信控制方法。
189.实施例八
190.本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的组件化通信控制方法中的步骤。
191.以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
192.通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(read-only memory,rom)、随机存储器(random access memory,ram)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
193.最后应说明的是:本发明实施例公开的一种组件化通信控制方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
技术特征:
1.一种组件化通信控制方法,其特征在于,所述方法包括:获取至少一个当前组件的页面使用请求;对于任一所述当前组件:根据所述当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数,所述调用参数用于指示所述当前组件对应的参数调用信息;根据所述调用参数,确定所述当前组件与目标组件之间的通信路径,并根据所述通信路径,在路由模块中调用所述目标组件的组件参数,所述目标组件的组件参数用于所述当前组件打开与所述页面使用请求相匹配的目标页面。2.根据权利要求1所述的组件化通信控制方法,其特征在于,所述调用参数用于指示与所述页面使用请求相匹配的页面名称和/或页面标题;以及,所述根据所述调用参数,确定所述当前组件与目标组件之间的通信路径,包括:根据所述调用参数,在路由模块预先创建的多个参数接口中查询是否存在与所述调用参数相匹配的目标参数接口,其中,每个所述参数接口对应一个字典,所述字典用于存储相应参数接口的匹配组件的组件标识以及组件变量;当查询到存在所述目标参数接口时,通过该目标参数接口对应的目标字典,确定所述调用参数对应的目标组件,并根据所述目标字典以及预设反射机制,获取所述目标组件的类参数;根据所述目标组件的类参数,在所述路由模块中创建与该类参数相匹配的目标实例,并根据所述目标实例,确定所述当前组件与所述目标组件之间的通信路径。3.根据权利要求2所述的组件化通信控制方法,其特征在于,每个所述参数接口对应的字典是由以下方式确定的:获取所述参数接口对应的页面业务类型;根据所述页面业务类型,确定所述参数接口的匹配组件,并建立所述参数接口与所述匹配组件之间的关联关系;根据所述参数接口与所述匹配组件之间的关联关系,获取所述匹配组件的组件标识以及组件变量,并根据所述匹配组件的组件标识以及组件变量,确定所述参数接口对应的字典。4.根据权利要求2或3所述的组件化通信控制方法,其特征在于,所述目标实例包括多个实例方法;以及,所述根据所述通信路径,在路由模块中调用所述目标组件的组件参数,包括:根据所述通信路径以及所述页面使用请求,确定所述目标实例中与所述页面使用请求相匹配的至少一个目标实例方法;通过预设注入机制,调用所有所述目标实例方法作为所述目标组件的组件参数。5.根据权利要求1-3中任一所述的组件化通信控制方法,其特征在于,所述方法还包括:确定所有所述当前组件的组件数量,并判断所述组件数量是否大于预设数量阈值;当判断出所述组件数量大于所述预设数量阈值时,根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表,所述参数调用顺序表用于指示每个所述当前组件的参数调用顺序;
以及,所述根据所述通信路径,在路由模块中调用所述目标组件的组件参数,包括:根据所述参数调用顺序表以及所述通信路径,在路由模块中调用所述目标组件的组件参数。6.根据权利要求5所述的组件化通信控制方法,其特征在于,所述根据每个所述当前组件的页面使用请求,确定所有所述当前组件的参数调用顺序表,包括:根据每个所述当前组件的页面使用请求,预测每个所述当前组件对应的页面数据量;根据所有所述页面数据量以及所有所述页面使用请求,确定每个所述当前组件的页面使用优先度;根据所有所述当前组件的页面使用优先度,确定所有所述当前组件对应的调用顺序表。7.一种组件化通信控制装置,其特征在于,所述装置包括:获取模块,用于获取至少一个当前组件的页面使用请求;调用模块,用于根据任一所述当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数,所述调用参数用于指示所述当前组件对应的参数调用信息;根据所述调用参数,确定所述当前组件与目标组件之间的通信路径;根据所述通信路径,在路由模块中调用所述目标组件的组件参数,所述目标组件的组件参数用于所述当前组件打开与所述页面使用请求相匹配的目标页面。8.一种组件化通信控制装置,其特征在于,所述装置包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-6任一项所述的组件化通信控制方法。9.一种电子设备,其特征在于,所述电子设备用于执行如权利要求1-6任一项所述的组件化通信控制方法。10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-6任一项所述的组件化通信控制方法。11.一种组件化通信控制系统,其特征在于,所述系统包括路由模块及多个组件,所述系统用于执行如权利要求1-6任一项所述的组件化通信控制方法。
技术总结
本发明公开了一种组件化通信控制方法及装置、系统、电子设备、存储介质,该方法包括:获取至少一个当前组件的页面使用请求;对于任一当前组件:根据当前组件的页面使用请求,确定与该页面使用请求相匹配的调用参数,调用参数用于指示当前组件对应的参数调用信息;根据调用参数,确定当前组件与目标组件之间的通信路径,并根据通信路径,在路由模块中调用目标组件的组件参数。可见,实施本发明能够根据获取到的每个当前组件的页面使用请求,确定该当前组件的调用参数,进而根据该调用参数调用目标组件的组件参数以使当前组件打开与该页面使用请求相匹配的目标页面,能够提高组件之间的通信灵活性,进而提高组件化通信效率。进而提高组件化通信效率。进而提高组件化通信效率。
技术研发人员:张清森 陈俊灵 吕旭明
受保护的技术使用者:深圳市绿联科技股份有限公司
技术研发日:2023.05.22
技术公布日:2023/9/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/