CN116991608A - 一种基于网状架构的应用内跨区域通信方法及相关装置 - Google Patents

一种基于网状架构的应用内跨区域通信方法及相关装置 Download PDF

Info

Publication number
CN116991608A
CN116991608A CN202311247133.4A CN202311247133A CN116991608A CN 116991608 A CN116991608 A CN 116991608A CN 202311247133 A CN202311247133 A CN 202311247133A CN 116991608 A CN116991608 A CN 116991608A
Authority
CN
China
Prior art keywords
communication
mesh
area
architecture
terminal application
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.)
Granted
Application number
CN202311247133.4A
Other languages
English (en)
Other versions
CN116991608B (zh
Inventor
黄海亮
谢韵佳
丁一
白剑
梁瑛玮
张海林
鲁和平
李长杰
陈焕然
李乐
王浩
洪行健
冷冬
李尚然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yifang Information Technology Co ltd
Original Assignee
Yifang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yifang Information Technology Co ltd filed Critical Yifang Information Technology Co ltd
Priority to CN202311247133.4A priority Critical patent/CN116991608B/zh
Publication of CN116991608A publication Critical patent/CN116991608A/zh
Application granted granted Critical
Publication of CN116991608B publication Critical patent/CN116991608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于网状架构的应用内跨区域通信方法及相关装置,其中,所述方法包括:终端应用在智能终端运行时,基于运行需求数据生成终端应用的内部通信指令,内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;获得内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;基于网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行内部通信指令。在本发明实施例中,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。

Description

一种基于网状架构的应用内跨区域通信方法及相关装置
技术领域
本发明涉及通信技术领域,尤其涉及一种基于网状架构的应用内跨区域通信方法及相关装置。
背景技术
终端应用内部的通信事件是非常多的,尤其是该终端应用内存在多个模块及多个分层,在此,每个模块是以功能为度进行划分的;随着终端应用的模块数量的增多,通信事件的数量也呈指数级增长;这样就会导致终端应用中各个模块的耦合度过高,并由此大大增加了终端应用的扩展难度、提高了终端应用的维护难度,以及降低了终端应用运行时的稳定程度。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于网状架构的应用内跨区域通信方法及相关装置,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。
为了解决上述技术问题,本发明实施例还提供了一种基于网状架构的应用内跨区域通信方法,所述方法包括:
终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
可选的,所述终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,包括:
终端应用在智能终端上运行时,获得所述终端应用内部的所述运行需求数据,所述运行需求数据为终端应用在运行时内部各个区域之间的数据交互需求信息;
基于所述运行需求数据生成所述终端应用的内部通信指令。
可选的,所述网状通信架构的预先构建过程,包括:
依据代码职能对所述终端应用进行纵向分层处理,形成终端应用在纵向上的若干个纵向分层,所述若干个纵向分层中包括交互层、业务层及数据层;
依据代码的业务功能对所述终端应用进行横向模块划分处理,形成所述终端应用在横向上的若干个横向模块;
基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构。
可选的,所述基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构,包括:
将所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块相互交织,形成所述终端应用内部通信的网状通信架构;
其中,所述网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;所述网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块。
可选的,所述预设通信设置为在所述网状通信架构中同属于一个纵向分层内的多个横向网格区域之间允许存在跨横向网格区域的通信;以及在所述网状通信架构中同属于一个横向模块内的多个纵向网格区域之间允许存在跨纵向网格区域的通信;并且,不允许同时跨横向网格区域及跨纵向网格区域的斜向的通信。
可选的,所述基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令,包括:
判断所述网状通信架构的通信发起网格区域及通信目标网格区域是否处于相同的纵向分层或横向模块上;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
可选的,所述不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,还包括:
控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,
控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
另外,本发明实施例还提供了一种基于网状架构的应用内跨区域通信装置,所述装置包括:
指令生成模块:用于终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
区域获取模块:用于获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
通信控制模块:用于基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
另外,本发明实施例还提供了一种终端设备,包括处理器和存储器,所述处理器运行存储于所述存储器中的计算机程序或代码,实现如上述任一项所述的应用内跨区域通信方法。
另外,本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序或代码,当所述计算机程序或代码被处理器执行时,实现如上述中任一项所述的应用内跨区域通信方法。
在本发明实施例中,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的基于网状架构的应用内跨区域通信方法的流程示意图;
图2是本发明实施例中的基于网状架构的应用内跨区域通信装置的结构组成示意图;
图3是本发明实施例中的终端设备的结构组成示意图;
图4是本发明实施例中的网状通信架构的通信方式流程示意图;
图5是本发明实施例中的网状通信架构的另一通信方式流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一,请参阅图1,图1是本发明实施例中的基于网状架构的应用内跨区域通信方法的流程示意图。
如图1所示,一种基于网状架构的应用内跨区域通信方法,所述方法包括:
S11:终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
在本发明具体实施过程中,所述终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,包括:终端应用在智能终端上运行时,获得所述终端应用内部的所述运行需求数据,所述运行需求数据为终端应用在运行时内部各个区域之间的数据交互需求信息;基于所述运行需求数据生成所述终端应用的内部通信指令。
具体的,该终端应用在智能终端上运行时,其终端应用的内部会产生各个区域之间的数据交互需求信息,通过这些数据交互需求信息记录生成得到终端应用内部的运行需求数据,即可根据运行需求数据来生成终端应用的内部通信指令;其中,内部通信指令包含有终端应用内的通信发起区域位置及通信目标区域位置。
S12:获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
在本发明具体实施过程中,所述网状通信架构的预先构建过程,包括:依据代码职能对所述终端应用进行纵向分层处理,形成终端应用在纵向上的若干个纵向分层,所述若干个纵向分层中包括交互层、业务层及数据层;依据代码的业务功能对所述终端应用进行横向模块划分处理,形成所述终端应用在横向上的若干个横向模块;基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构。
进一步的,所述基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构,包括:将所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块相互交织,形成所述终端应用内部通信的网状通信架构;其中,所述网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;所述网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块。
具体的,在选定的终端应用上进行纵向分层,将终端应用在纵向上划分为若干个纵向分层,其中纵向分层的依据为终端应用的代码职能,以手机的APP软件工程为例,根据代码职能,通常可以划分为交互层(也称UI层)、业务逻辑层、数据层、基础工具层等。
对终端应用依据代码的业务功能进行横向模块划分,横向分层主要是依据代码所属的业务功能,以手机开播APP软件工程为例,根据业务功能,可划分为登录模块、聊天室模块、推流模块、互动模块等,后面简称为模块A、模块B、模块C……。
将终端应用在纵向上的若干个纵向分层和在横向上的若干个横向模块相互交织,形成终端应用内部通信的网状通信架构,其中网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;所述网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块;即,每个纵向网格区域中,都存在着横向的分层(譬如,聊天室模块也需纵向划分为交互层、业务逻辑层、数据层等);横向网格区域跟纵向网格区域相互交织,形成一个网状的架构,即为网状通信架构;模块内部存在着纵向分层,某个分层内部也存在横向的模块划分;譬如,登录模块的UI层是登录界面,业务逻辑层是登录账号的有效性判断、密码的有效性本地校验,数据层是与服务器进行的登录鉴权部分,以及鉴权通过后管理服务器返回的用户昵称等数据,基础工具层是进行鉴权所需的网络请求工具等。
再通过内部通信指令中的通信发起区域位置及通信目标区域位置对应到预先构建的网状通信架构中,即可得到内部通信指令中的通信发起区域位置及通信目标区域位置在网状通信架构中对应的通信发起网格区域及通信目标网格区域。
S13:基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
在本发明具体实施过程中,所述预设通信设置为在所述网状通信架构中同属于一个纵向分层内的多个横向网格区域之间允许存在跨横向网格区域的通信;以及在所述网状通信架构中同属于一个横向模块内的多个纵向网格区域之间允许存在跨纵向网格区域的通信;并且,不允许同时跨横向网格区域及跨纵向网格区域的斜向的通信。
进一步的,所述基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令,包括:判断所述网状通信架构的通信发起网格区域及通信目标网格区域是否处于相同的纵向分层或横向模块上;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
进一步的,所述不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,还包括:控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
具体的,构建的网状通信架构如图4所示,在网络通信架构中配置预设通信设置,即网状通信架构中所形成的若干个纵向网格区域中每一个纵向分层均内允许存在横向的若干个横向网格区域之间的跨模块的通信;以及若干个横向网格区域中每一个横向模块内允许纵向的若干个纵向网格区域之间跨分层的通信;并且不允许同时跨层跨模块的斜向的通信。
即每个分层中,允许存在横向的跨模块的通信,模块之间无排序先后限制,模块A、B、C均属泛指,如下图4所示,模块A允许与模块B进行通信,也可以与模块C进行通信;每个模块中,允许存在纵向的跨层通信,纵向网格区域存在排序限制,交互层必须位于最顶部,然后是业务层、数据层,也可根据实际情况进行增减,但纵向通信无相邻才可通信的限制,如下图4所示,交互层可与业务层通信,也可直接与数据层通信;不允许出现同时跨层跟跨模块的斜向通信。
即,判断网状通信架构内发生通信的两个网格区域是否处于相同的纵向分层或横向模块上;在网状通信架构内发生通信的两个网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;在网状通信架构内发生通信的两个网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;在网状通信架构内发生通信的两个网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
同时不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,需要解决两个网格区域不同的纵向分层及不同的横向模块的通信问题,这是可以控制网状通信架构内发生通信的两个网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,控制网状通信架构内发生通信的两个网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
如图5所示,以手机开播APP软件工程为例:第一步,登录成功时,交互层发生横向通信,登录界面通知聊天室界面允许展示聊天列表。第二步,聊天室模块发生纵向通信,聊天室界面要求聊天室业务层登录socket。第三步,聊天室业务层与登录模块业务层通信,要求获取socket登录所需信息。第四步,登录模块业务层发生纵向通信,从数据层获取所需信息,第五步,登录模块业务层把从数据层获取到的信息横向通信返回给聊天室模块的业务层。第六步,聊天室模块的业务层发生纵向通信,根据登录模块提供的数据,向聊天室模块的数据层获取socket登录的token并登录socket。第七步,聊天室模块的业务层通知聊天室界面,socket登录成功,展示欢迎登录的横幅。
通过本发明以上的网格通信架构的设计,极大的降低了终端APP内部通信事件的复杂度;比如,假定模块数量为m,层级数目为n,上图每个小格子为一个通信对象,两个通信对象组成一个通信实体,那么原先的通信数量即为:;由于对通信进行了限制,本发明的通信数量为:/>;通过以上两个复杂度的对比,可以轻松的得到,本发明能够极大的降低终端APP内部通信的复杂度。
在本发明实施例中,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。
实施例二,请参阅图2,图2是本发明实施例中的基于网状架构的应用内跨区域通信装置的结构组成示意图。
如图2所示,一种基于网状架构的应用内跨区域通信装置,所述装置包括:
指令生成模块21:用于终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
在本发明具体实施过程中,所述终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,包括:终端应用在智能终端上运行时,获得所述终端应用内部的所述运行需求数据,所述运行需求数据为终端应用在运行时内部各个区域之间的数据交互需求信息;基于所述运行需求数据生成所述终端应用的内部通信指令。
具体的,该终端应用在智能终端上运行时,其终端应用的内部会产生各个区域之间的数据交互需求信息,通过这些数据交互需求信息记录生成得到终端应用内部的运行需求数据,即可根据运行需求数据来生成终端应用的内部通信指令;其中,内部通信指令包含有终端应用内的通信发起区域位置及通信目标区域位置。
区域获取模块22:用于获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
在本发明具体实施过程中,所述网状通信架构的预先构建过程,包括:依据代码职能对所述终端应用进行纵向分层处理,形成终端应用在纵向上的若干个纵向分层,所述若干个纵向分层中包括交互层、业务层及数据层;依据代码的业务功能对所述终端应用进行横向模块划分处理,形成所述终端应用在横向上的若干个横向模块;基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构。
进一步的,所述基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构,包括:将所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块相互交织,形成所述终端应用内部通信的网状通信架构;其中,所述网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;所述网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块。
具体的,在选定的终端应用上进行纵向分层,将终端应用在纵向上划分为若干个纵向分层,其中纵向分层的依据为终端应用的代码职能,以手机的APP软件工程为例,根据代码职能,通常可以划分为交互层(也称UI层)、业务逻辑层、数据层、基础工具层等。
对终端应用依据代码的业务功能进行横向模块划分,横向分层主要是依据代码所属的业务功能,以手机开播APP软件工程为例,根据业务功能,可划分为登录模块、聊天室模块、推流模块、互动模块等,后面简称为模块A、模块B、模块C……。
将终端应用在纵向上的若干个纵向分层和在横向上的若干个横向模块相互交织,形成终端应用内部通信的网状通信架构,其中网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块;即,每个纵向网格区域中,都存在着横向的分层(譬如,聊天室模块也需纵向划分为交互层、业务逻辑层、数据层等);横向网格区域跟纵向网格区域相互交织,形成一个网状的架构,即为网状通信架构;模块内部存在着纵向分层,某个分层内部也存在横向的模块划分;譬如,登录模块的UI层是登录界面,业务逻辑层是登录账号的有效性判断、密码的有效性本地校验,数据层是与服务器进行的登录鉴权部分,以及鉴权通过后管理服务器返回的用户昵称等数据,基础工具层是进行鉴权所需的网络请求工具等。
再通过内部通信指令中的通信发起区域位置及通信目标区域位置对应到预先构建的网状通信架构中,即可得到内部通信指令中的通信发起区域位置及通信目标区域位置在网状通信架构中对应的通信发起网格区域及通信目标网格区域。
通信控制模块23:用于基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
在本发明具体实施过程中,所述预设通信设置为在所述网状通信架构中同属于一个纵向分层内的多个横向网格区域之间允许存在跨横向网格区域的通信;以及在所述网状通信架构中同属于一个横向模块内的多个纵向网格区域之间允许存在跨纵向网格区域的通信;并且,不允许同时跨横向网格区域及跨纵向网格区域的斜向的通信。
进一步的,所述基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令,包括:判断所述网状通信架构的通信发起网格区域及通信目标网格区域是否处于相同的纵向分层或横向模块上;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;在所述网状通信架构的通信发起网格区域及通信目标网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
进一步的,所述不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,还包括:控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
具体的,构建的网状通信架构如图4所示,在网络通信架构中配置预设通信设置,即网状通信架构中所形成的若干个纵向网格区域中每一个纵向分层均内允许存在横向的若干个横向网格区域之间的跨模块的通信;以及若干个横向网格区域中每一个横向模块内允许纵向的若干个纵向网格区域之间跨分层的通信;并且不允许同时跨层跨模块的斜向的通信。
即每个分层中,允许存在横向的跨模块的通信,模块之间无排序先后限制,模块A、B、C均属泛指,如下图4所示,模块A允许与模块B进行通信,也可以与模块C进行通信;每个模块中,允许存在纵向的跨层通信,纵向网格区域存在排序限制,交互层必须位于最顶部,然后是业务层、数据层,也可根据实际情况进行增减,但纵向通信无相邻才可通信的限制,如下图4所示,交互层可与业务层通信,也可直接与数据层通信;不允许出现同时跨层跟跨模块的斜向通信。
即,判断网状通信架构内发生通信的两个网格区域是否处于相同的纵向分层或横向模块上;在网状通信架构内发生通信的两个网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;在网状通信架构内发生通信的两个网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;在网状通信架构内发生通信的两个网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
同时不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,需要解决两个网格区域不同的纵向分层及不同的横向模块的通信问题,这是可以控制网状通信架构内发生通信的两个网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,控制网状通信架构内发生通信的两个网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
如图5所示,以手机开播APP软件工程为例:第一步,登录成功时,交互层发生横向通信,登录界面通知聊天室界面允许展示聊天列表。第二步,聊天室模块发生纵向通信,聊天室界面要求聊天室业务层登录socket。第三步,聊天室业务层与登录模块业务层通信,要求获取socket登录所需信息。第四步,登录模块业务层发生纵向通信,从数据层获取所需信息,第五步,登录模块业务层把从数据层获取到的信息横向通信返回给聊天室模块的业务层。第六步,聊天室模块的业务层发生纵向通信,根据登录模块提供的数据,向聊天室模块的数据层获取socket登录的token并登录socket。第七步,聊天室模块的业务层通知聊天室界面,socket登录成功,展示欢迎登录的横幅。
通过本发明以上的网格通信架构的设计,极大的降低了终端APP内部通信事件的复杂度;比如,假定模块数量为m,层级数目为n,上图每个小格子为一个通信对象,两个通信对象组成一个通信实体,那么原先的通信数量即为:;由于对通信进行了限制,本发明的通信数量为:/>;通过以上两个复杂度的对比,可以轻松的得到,本发明能够极大的降低终端APP内部通信的复杂度。
在本发明实施例中,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中任意一个实施例的应用内跨区域通信方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSSMemory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例还提供了一种计算机应用程序,其运行在计算机上,该计算机应用程序用于执行上述中任意一个实施例的应用内跨区域通信方法。
此外,图3是本发明实施例中的终端设备的结构组成示意图。
本发明实施例还提供了一种终端设备,如图3所示。所述终端设备包括处理器302、存储器303、输入单元304以及显示单元305等器件。本领域技术人员可以理解,图3示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器303可用于存储应用程序301以及各功能模块,处理器302运行存储在存储器303的应用程序301,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程 ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元304用于接收信号的输入,以及接收用户输入的关键字。输入单元304可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元305可用于显示用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元305可采用液晶显示器、有机发光二极管等形式。处理器302是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器303内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
作为一个实施例,所述终端设备包括:一个或多个处理器302,存储器303,一个或多个应用程序301,其中所述一个或多个应用程序301被存储在存储器303中并被配置为由所述一个或多个处理器302执行,所述一个或多个应用程序301配置用于执行上述实施例中的任意一实施例中对的应用内跨区域通信方法。
在本发明实施例中,通过网状通信架构进行通信约束,极大的降低了终端应用内的通信事件的复杂度,避免了终端应用内的代码臃肿,提高代码的可读性及可维护性。
另外,以上对本发明实施例所提供的一种基于网状架构的应用内跨区域通信方法及相关装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于网状架构的应用内跨区域通信方法,其特征在于,所述方法包括:
终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
2.根据权利要求1所述的应用内跨区域通信方法,其特征在于,所述终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,包括:
终端应用在智能终端上运行时,获得所述终端应用内部的所述运行需求数据,所述运行需求数据为终端应用在运行时内部各个区域之间的数据交互需求信息;
基于所述运行需求数据生成所述终端应用的内部通信指令。
3.根据权利要求1所述的应用内跨区域通信方法,其特征在于,所述网状通信架构的预先构建过程,包括:
依据代码职能对所述终端应用进行纵向分层处理,形成终端应用在纵向上的若干个纵向分层,所述若干个纵向分层中包括交互层、业务层及数据层;
依据代码的业务功能对所述终端应用进行横向模块划分处理,形成所述终端应用在横向上的若干个横向模块;
基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构。
4.根据权利要求3所述的应用内跨区域通信方法,其特征在于,所述基于所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块形成所述终端应用内部通信的网状通信架构,包括:
将所述终端应用在纵向上的所述若干个纵向分层和在横向上的所述若干个横向模块相互交织,形成所述终端应用内部通信的网状通信架构;
其中,所述网状通信架构中所形成的若干个横向网格区域中的每一个横向网格区域内部存在着若干个纵向分层;所述网状通信架构中所形成的若干个纵向网格区域中的每一个纵向网格区域内部存在着若干个横向模块。
5.根据权利要求1所述的应用内跨区域通信方法,其特征在于,所述预设通信设置为在所述网状通信架构中同属于一个纵向分层内的多个横向网格区域之间允许存在跨横向网格区域的通信;以及在所述网状通信架构中同属于一个横向模块内的多个纵向网格区域之间允许存在跨纵向网格区域的通信;并且,不允许同时跨横向网格区域及跨纵向网格区域的斜向的通信。
6.根据权利要求5所述的应用内跨区域通信方法,其特征在于,所述基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令,包括:
判断所述网状通信架构的通信发起网格区域及通信目标网格区域是否处于相同的纵向分层或横向模块上;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的纵向分层上时,则允许通信发起网格区域及通信目标网格区域进行跨横向网格区域的通信;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于相同的横向模块上时,则允许通信发起网格区域及通信目标网格区域进行跨纵向网格区域的通信;
在所述网状通信架构的通信发起网格区域及通信目标网格区域处于不同的纵向分层及不同的横向模块上时,则不允许通信发起网格区域及通信目标网格区域进行斜向的通信。
7.根据权利要求6所述的应用内跨区域通信方法,其特征在于,所述不允许通信发起网格区域及通信目标网格区域进行斜向的通信之后,还包括:
控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的纵向分层的跨横向模块的通信,然后再进行相同的横向模块的跨纵向分层的通信;或,
控制所述网状通信架构的通信发起网格区域及通信目标网格区域之间先进行相同的横向模块的跨纵向分层的通信,然后再进行相同的纵向分层的跨横向模块的通信。
8.一种基于网状架构的应用内跨区域通信装置,其特征在于,所述装置包括:
指令生成模块:用于终端应用在智能终端运行时,基于运行需求数据生成所述终端应用的内部通信指令,所述内部通信指令包含所述终端应用内的通信发起区域位置及通信目标区域位置;
区域获取模块:用于获得所述内部通信指令中的通信发起区域位置及通信目标区域位置在预先构建的网状通信架构中对应的通信发起网格区域及通信目标网格区域;
通信控制模块:用于基于所述网状通信架构中的通信发起网格区域及通信目标网格区域按照预设通信设置执行所述内部通信指令。
9.一种终端设备,包括处理器和存储器,其特征在于,所述处理器运行存储于所述存储器中的计算机程序或代码,实现如权利要求1至7中任一项所述的应用内跨区域通信方法。
10.一种计算机可读存储介质,用于存储计算机程序或代码,其特征在于,当所述计算机程序或代码被处理器执行时,实现如权利要求1至7中任一项所述的应用内跨区域通信方法。
CN202311247133.4A 2023-09-26 2023-09-26 一种基于网状架构的应用内跨区域通信方法及相关装置 Active CN116991608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311247133.4A CN116991608B (zh) 2023-09-26 2023-09-26 一种基于网状架构的应用内跨区域通信方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311247133.4A CN116991608B (zh) 2023-09-26 2023-09-26 一种基于网状架构的应用内跨区域通信方法及相关装置

Publications (2)

Publication Number Publication Date
CN116991608A true CN116991608A (zh) 2023-11-03
CN116991608B CN116991608B (zh) 2024-02-06

Family

ID=88530511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311247133.4A Active CN116991608B (zh) 2023-09-26 2023-09-26 一种基于网状架构的应用内跨区域通信方法及相关装置

Country Status (1)

Country Link
CN (1) CN116991608B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107479885A (zh) * 2017-08-08 2017-12-15 北京思序软件有限公司 使用浏览器通过分层配置方式来实现应用开发的方法
CN111181968A (zh) * 2019-12-30 2020-05-19 北京金山云网络技术有限公司 跨区块链通信方法、装置、跨链服务系统及跨链交易系统
CN113260985A (zh) * 2018-12-28 2021-08-13 贝宝公司 点对点应用层分布式网格路由

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107479885A (zh) * 2017-08-08 2017-12-15 北京思序软件有限公司 使用浏览器通过分层配置方式来实现应用开发的方法
CN113260985A (zh) * 2018-12-28 2021-08-13 贝宝公司 点对点应用层分布式网格路由
CN111181968A (zh) * 2019-12-30 2020-05-19 北京金山云网络技术有限公司 跨区块链通信方法、装置、跨链服务系统及跨链交易系统
WO2021136251A1 (zh) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 跨区块链通信方法、装置、跨链服务系统及跨链交易系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
葛君伟 等: "面向方面的开放网格服务架构研究", 《计算机应用》, vol. 29, no. 12, pages 3204 - 3210 *

Also Published As

Publication number Publication date
CN116991608B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
CN105487867B (zh) 一种轻量级可视化卫星测试程序设计系统及方法
CN110310088B (zh) 工作流配置方法及相关产品
CN110457891A (zh) 一种权限配置界面显示方法、装置、终端以及存储介质
CN105117835A (zh) 一种基于b/s架构的电网信息机房三维可视化管理平台
CN102739771A (zh) 一种支持服务融合的云应用集成管理平台和方法
US10979432B1 (en) Hosted communication channels on communication platform
CN112073289B (zh) 一种即时通信控制方法及装置
CN112068923B (zh) 界面更新方法和装置
CN113010254A (zh) 基于群组频道的交互方法、装置、计算机设备和存储介质
CN105376296A (zh) 具有强制性回复的移动问卷系统与方法
CN104504106A (zh) 一种地图覆盖物区域渲染方法及相关设备
CN106960381A (zh) 租赁方法
CN115862212A (zh) 一种智慧园区访客管理方法、装置、电子设备及存储介质
CN110274607A (zh) 智能化路径规划方法、装置及计算机可读存储介质
CN110930561A (zh) 智能锁的控制方法及装置
CN101459542A (zh) 一种对管理员进行权限控制的方法、装置及管理系统
CN116991608B (zh) 一种基于网状架构的应用内跨区域通信方法及相关装置
CN112181745B (zh) 一种fpga原型验证的云服务平台系统及方法
CN101072226A (zh) 一种网格计算方法及系统
CN109241727B (zh) 权限设置方法及装置
CN102194169A (zh) 统一通信管理方法及系统
CN103971224A (zh) 一种签核方法及系统
CN106157216A (zh) 一种空间信息数据管理方法及系统
CN108399183A (zh) 基于Excel系统界面的数据库联动方法、电子装置及存储介质
CN112906356B (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
GR01 Patent grant
GR01 Patent grant