DNet分布式网络软件用户软件说明

介绍:软件架构、软件设计原理、软件授权说明

所属类型:网络通信软件

发布时间:2025-04-10

DNet框架由两个核心模块组成:ZZDNetZZDNetApp。这两个模块分别负责底层通信框架的实现和上层应用的开发支持,共同构成了一个高效、灵活的分布式通信中间件。以下是对这两个模块的详细说明。

ZZDNetDNet框架的底层通信实现模块,提供了客户端和服务器端的两套开发接口,用户可以根据需求选择使用。

客户端与服务器端分离ZZDNet模块分别提供了客户端和服务器端的API,开发者可以根据需要选择使用。客户端API用于连接到服务器并参与数据交互。服务器端API用于管理客户端连接、处理数据更新和分发。

底层通信框架:实现了基于UDP组播和TCP/IP的通信机制,支持自动组网和直接连接两种模式。提供了高效的数据传输和更新机制,如增量更新、消息广播等。

线程安全:通信模型设计为线程安全,支持多线程环境下的高效数据交互。

灵活性与可扩展性:支持复杂数据结构的定义和动态扩展,适应多样化的应用场景。

软件适用场景包括需要自定义底层通信逻辑的开发场景、对通信性能有较高要求的分布式系统、需要同时开发客户端和服务器端的项目。

ZZDNetApp是基于ZZDNet模块的上层应用开发模块,主要面向服务器端应用的快速开发。它基于Qt框架,并提供了代码生成工具,帮助开发者快速构建应用程序。

基于Qt的应用程序:ZZDNetApp模块基于Qt框架开发,提供了丰富的GUI支持和跨平台能力。开发者可以快速构建具有图形界面的服务器端应用程序。

代码生成工具:提供了代码生成工具,能够根据网络文件(JSON格式)自动生成底层数据结构和通信代码。极大地减少了开发者的工作量,提升了开发效率。

服务器端API封装:对ZZDNet模块的服务器端API进行了封装,提供了更易用的接口。开发者可以专注于业务逻辑的实现,而无需过多关注底层通信细节。

快速集成:生成的代码可以直接集成到现有应用程序中,快速实现分布式通信功能。

DNet框架可以作为软件通信中间件,广泛应用于各种分布式系统中。其核心优势包括:

高效通信:通过增量更新、消息广播等机制,减少了网络带宽的占用,提升了通信效率。

灵活扩展:支持复杂数据结构的定义和动态扩展,适应多样化的应用需求。

跨平台支持:基于Qt框架开发,支持WindowsLinuxmacOS等主流操作系统。

快速开发:提供了代码生成工具和易用的API,显著降低了开发难度和时间成本。

在军事仿真、工业仿真等领域,DNet可以高效地处理大量实体的状态更新和事件交互。适用于物联网、智能交通等需要实时更新和数据分发的场景。在分布式计算、协同办公等场景中,DNet可以实现高效的节点间通信和数据共享。

DNet框架作为通信中间件,具有高效、灵活、易用的特点,适用于各种分布式系统的开发和应用。无论是需要自定义底层通信逻辑,还是快速构建上层应用,DNet都能提供强大的支持。

软件目前包含的结构如图所示:

 

DNet框架通过模型定义的方式构建网络架构,提供了灵活且高效的开发模式,相较于HLADDS等分布式仿真协议,DNet在交互模式和开发便利性上具有显著优势。以下是对DNet框架的核心设计和工作原理的详细说明:

DNet使用JSON文件格式来定义网络数据结构,称为网络文件JSON格式具有以下优势:

l  结构化:支持基本数据类型、数组、对象等复杂数据结构,便于扩展和维护。

l  易读性JSON文件易于阅读和编辑,降低了开发者的学习成本。

l  灵活性:可以动态调整数据结构,适应不同的仿真需求。

网络文件通常存放在安装目录下的network文件夹中,分为以下三类:

l  网络对象定义(network-def:定义分布式网络中常驻的对象。

l  数据交互请求定义(request-def:定义事件、数据传输、消息交互等一次性通信。

l  数据类型定义:支持复杂数据结构的定义,增强数据交互的表达能力。

网络对象是分布式网络中的核心数据交互单元,具有以下特点:

所有权机制:一个节点(通常是服务器或某个客户端)负责定义并拥有某个网络对象的所有权。该节点负责更新网络对象的数据,其他节点只能订阅该对象的数据,无法修改

数据更新机制:当网络对象的数据段发生变化时,只有变化的数据段会被发送到订阅节点,而不是整个对象。这种增量更新机制显著减少了网络带宽的占用,提升了通信效率。

复杂数据类型支持:网络对象可以包含复杂的数据结构(如嵌套对象、数组等),能够满足多样化的仿真需求。

网络消息请求用于处理分布式网络中的一次性事件,具有以下特点:

一对多通信:一个节点发出消息请求,所有订阅该消息类型的节点都会收到该消息。这种模式适用于事件通知、数据传输、消息广播等场景。

灵活性:消息请求可以自由定义,甚至可以用于文件传输等复杂任务。

轻量级:消息请求通常只包含必要的数据,减少了网络负载。

DNet框架的通信模型是线程安全的,具有以下优势:

l  多线程支持:网络对象和消息请求的创建、调用可以在任意线程中进行,无需担心线程冲突。

l  高效性:通过优化底层通信机制,DNet能够在多线程环境中高效处理大量数据交互。

DNet框架在以下方面优于HLADDS等分布式仿真协议:

开发便利性:使用JSON文件定义网络数据结构,简化了开发流程。提供了更直观的API和通信模型,降低了开发者的学习成本。

通信效率:通过增量更新机制和轻量级消息请求,减少了网络带宽的占用。

灵活性:支持复杂数据结构和动态调整,适应多样化的仿真需求。

在以下的典型应用场景中可以使用。分布式仿真:在军事仿真、工业仿真等领域,DNet可以高效地处理大量实体的状态更新和事件交互。实时数据分发:适用于需要实时更新和分发的场景,如物联网、智能交通等。文件传输与消息广播:通过消息请求机制,DNet可以完成文件传输、事件通知等任务。

DNet框架通过模型定义的方式构建网络架构,提供了高效、灵活且易用的开发模式。其核心特点包括:使用JSON文件定义网络数据结构,便于扩展和维护。通过网络对象和消息请求实现高效的数据交互。支持复杂数据类型和增量更新机制,减少网络负载。线程安全的通信模型,适用于多线程环境。相较于HLADDS等协议,DNet在开发便利性、通信效率和灵活性上具有显著优势,是分布式仿真和实时数据交互的理想选择。


软件授权

请到竹林空间(www.zhulinspace.com)中申请和购买license,每月提供7天免费license使用。具体步骤如下所示:

1. 到网站申请license,在以下界面中获取license

2. 填写需要申请机器的网卡MAC地址,具体查看Window或者Linux机器网卡MAC地址的方法,在申请页面中可以看到,按照示例方法,查看申请机器的网卡MAC地址。

3. 申请好后,可以会自动下载,如因浏览器原因未自动下载,可以自行在订单中心中再次下载。

4. 授权License文件下载后,放到DNet软件的安装目录中,推荐直接放到bin文件夹中,WindowLinux是一样的。

 

5. 运行ZZDNetApp.exe,如未修改名称license.lic的文件名,无需修改,如修改了文件夹名称或在其他路径,请将点击菜单“网络”->“系统和授权配置”项,弹出对话框。

6. 点击“浏览License文件”,选择license文件后,点击确定即可。这时license就配置好了。直接运行即可。

请到北京执竹科技有限公司网站查看申请内容,如遇系统问题需要技术支持请联系我们。

邮箱:zhizhutech@126.com

或到网站留言:

网站:http://www.zhulinspace.com