一种程序内部的数据通讯方法以及程序间的数据通讯方法技术

技术编号:39817546 阅读:19 留言:0更新日期:2023-12-22 19:36
本发明专利技术涉及一种程序内部的数据通讯方法以及程序间的数据通讯方法,方法构建树形链路将程序的功能模块组织在一起,链路树的叶子节点为挂载程序内部功能模块的端节点,由路由节点将各节点组合形成树形链路;数据的传递是由叶子节点传输至叶子节点;在所述链路树的数据传输过程中,数据

【技术实现步骤摘要】
一种程序内部的数据通讯方法以及程序间的数据通讯方法


[0001]本专利技术涉及,尤其是涉及一种用于统一程序内部以及程序间的数据通讯方法


技术介绍

[0002]随着互联网技术的发展以及人们对于应用程序功能的需求增加,单一程序提供的服务越来越难以满足人们对程序的功能以及并发性的需求

而随着单一程序内部各功能模块的增加,各模块之间的组织以及数据交互也变得更加难以管理


技术实现思路

[0003]本专利技术的目的是克服上述现有技术存在的缺陷而提供一种程序内部的数据通讯方法以及程序间的数据通讯方法

[0004]本专利技术的目的可以通过以下技术方案来实现:
[0005]作为本专利技术的第一方面,提供一种程序内部的数据通讯方法,所述方法通过构建树形链路将程序的功能模块组织在一起,所述链路树的节点类型包括:
[0006]端节点:用于挂载程序内部功能模块的节点,即链路树的叶子节点;
[0007]路由节点:用于路由传输通讯数据的节点,接入多个子节点以及一个父节点;
[0008]其中,链路树的叶子节点为功能模块,通过路由节点将各节点组合形成树形链路;数据的传递是由叶子节点传输至叶子节点;
[0009]在所述链路树的数据传输过程中,数据由端节点发出至父节点,端节点发送信息还包括数据的发送路径与接收路径;
[0010]若数据当前处于路由节点,则路由节点匹配数据的接收者一级路径,根据接收者一级路径匹配结果调整发送路径与接收路径,并将数据传输给下一节点;
[0011]重复上述过程直至数据传输完成

[0012]进一步的,所述链路树的数据传输采用链路树的相对路径描述数据接收者,相对路径为发送端节点与接收端节点相同的祖父节点到接收节点的路径

[0013]进一步的,所述路由节点匹配数据的接收者一级路径的具体过程如下:
[0014]若数据当前处于路由节点,则路由节点匹配数据的接收者一级路径;
[0015]若接收者一级路径为路由节点本身,则忽略此接收者一级路径,并将原接收者二级路径当作新的接收者一级路径;
[0016]若接收者一级路径为路由节点的子节点,则删除接收者一级路径,并将数据传输给该子节点;
[0017]若接收者一级路径不在路由节点的子节点列表中则将此数据路由至此路由节点的父节点,并将路由节点名称添加至发送者路径中作为发送者一级路径

[0018]进一步的,所述链路树通过与路径上设置通配符来对数据进行广播

[0019]进一步的,所述数据传输过程中通过与路径上设置通配符来对数据进行广播包括:在路径中添加第一通配符,匹配某一层级的链路树上的节点

[0020]进一步的,所述数据传输过程中通过与路径上设置通配符来对数据进行广播包括:
[0021]在路径中添加第二通配符,匹配链路树某一子树的全部节点;
[0022]在数据传输过程中,当节点读取的接收者路径为第二通配符,则该节点向自身的所有子节点发送这条数据

[0023]进一步的,当所述数据处于端节点则数据传输完成

[0024]作为本专利技术的第二方面,提供一种程序间的数据通讯方法,所述方法通过构建树形链路将程序的功能模块组织在一起,所述链路树的节点类型包括:端节点:用于挂载程序内部功能模块的节点,即链路树的叶子节点;路由节点:用于路由传输通讯数据的节点,接入多个子节点以及一个父节点;于程序内部执行如上所述的程序内数据通讯方法;
[0025]所述链路树的节点类型还包括桥节点:在不通程序间进行数据通讯,所述桥节点成对使用,用于连接两个不同程序中的链路树,将两个链路树组合成一个链路树

[0026]进一步的,在所述链路树数据传输过程中:
[0027]若数据当前处于桥节点,则将发送路径

接收路径与数据序列化为二进制数据,封包传输至对端桥节点;由对端桥节点反序列化还原出发送路径

接收路径与数据,并发送至对端桥节点绑定的节点

[0028]进一步的,一对所述桥节点之间通过物理链路进行连接,包括共享内存

管道

网络

串口或蓝牙

[0029]与现有技术相比,本专利技术具有以下有益效果:
[0030]1)
本专利技术提供的一种通讯方式将程序内部各功能模块的数据交互与程序间的数据交互统一起来

提供统一的抽象接口以及资源访问方式

程序各功能模块挂载于链路树上完全解耦,使开发人员可以专注于自己的功能实现,
[0031]2)
统一程序内部以及程序间的通讯接口以及通讯方式,开发人员不必再考虑调用的功能模块是在程序内部,还是程序外部,在程序外部的功能模块调用也不必考虑如何与外部的功能模块通讯,程序开发人员不再关注具体的功能调用方式,也不必再管理程序间数据交互的链路状态;
[0032]3)
本专利技术通过通配符路径进行数据广播,实现批量的功能调用

[0033]4)
各程序的链路树可以使用桥节点,通过共享内存

管道

网络

串口

蓝牙

等任意物理链路进行连接

增强程序组合的灵活性

[0034]5)
数据在路由过程中,会自动根据路由情况改变发送路径与接收路径,数据接收者可以快速知道数据发送者相对于自己的消息路径

附图说明
[0035]图1为链路树组织形式示意图;
[0036]图2为程序内部数据路由示意图;
[0037]图3为数据广播示意图;
[0038]图4为数据跨程序路由示意图

具体实施方式
[0039]下面结合附图和具体实施例对本专利技术进行详细说明

本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例

[0040]实施例1[0041]一种用于统一程序内部以及程序间的数据通讯方法,使用树形链路将所有程序的功能模块组织在一起,树的叶子节点为具体的功能模块,数据的传递是由叶子节点传输至叶子节点的

[0042]包括三种类型的通讯节点:端节点:用于挂载程序内部功能模块的节点,即链路树的叶子节点

路由节点:用于路由传输通讯数据的节点,可以接入多个子节点一级一个父节点,通过路由节点可以将上述三种节点组合形成树形链路

桥节点:可以在不通程序间通过多种物理链路进行数据通讯的节点,桥节点成对使用,用于连接两个不同程序中的链路树,将两个链路树组合成一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种程序内部的数据通讯方法,其特征在于,所述方法通过构建树形链路将程序的功能模块组织在一起,所述链路树的节点类型包括:端节点:用于挂载程序内部功能模块的节点,即链路树的叶子节点;路由节点:用于路由传输通讯数据的节点,接入多个子节点以及一个父节点;其中,链路树的叶子节点为功能模块,通过路由节点将各节点组合形成树形链路;数据的传递是由叶子节点传输至叶子节点;在所述链路树的数据传输过程中,数据由端节点发出至父节点,端节点发送信息还包括数据的发送路径与接收路径;若数据当前处于路由节点,则路由节点匹配数据的接收者一级路径,根据接收者一级路径匹配结果调整发送路径与接收路径,并将数据传输给下一节点;重复上述过程直至数据传输完成
。2.
根据权利要求1所述的一种程序内部的数据通讯方法,其特征在于,所述链路树的数据传输采用链路树的相对路径描述数据接收者,相对路径为发送端节点与接收端节点相同的祖父节点到接收节点的路径
。3.
根据权利要求2所述的一种程序内部的数据通讯方法,其特征在于,所述路由节点匹配数据的接收者一级路径的具体过程如下:若数据当前处于路由节点,则路由节点匹配数据的接收者一级路径;若接收者一级路径为路由节点本身,则忽略此接收者一级路径,并将原接收者二级路径当作新的接收者一级路径;若接收者一级路径为路由节点的子节点,则删除接收者一级路径,并将数据传输给该子节点;若接收者一级路径不在路由节点的子节点列表中则将此数据路由至此路由节点的父节点,并将路由节点名称添加至发送者路径中作为发送者一级路径
。4.
根据权利要求1或3所述的一种程序内部的数据通讯方法,其特征在于,所述链路树通过与路径上设置通配符来对数据进行广播
。5.
根据权利要求4所述的一种程序内部的数据通讯方法,其特征在于,所述数据传输过程中通过与路径上...

【专利技术属性】
技术研发人员:陶毅邵华谢科鹏徐航吴小龙杨晗
申请(专利权)人:江苏安科瑞电器制造有限公司江苏安科瑞微电网研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1