一种数据流传输模式智能化匹配方法与装置转让专利

申请号 : CN202310336207.5

文献号 : CN116074392B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹寿长王伟韩威宏

申请人 : 成都四方伟业软件股份有限公司

摘要 :

本发明属于计算机技术领域,涉及一种数据流传输模式智能化匹配方法与装置,该方法包括计算机集群初始化;对实时数据流信息进行配置;数据采集端发送数据流至计算机集群系统;确定数据传输模式类型;计算机集群系统根据任务请求信息在目标工作节点上创建任务进程,处理任务数据;接收数据流,创建存储器,对数据流进行存储;更新存储器和目标工作节点的资源使用状态信息。本发明能够在数据流通讯过程中,根据数据传输模式进行智能化匹配,并智能化分配处理节点,实现数据流的高效接收和存储,提高资源利用率,保证数据流传输过程高效、智能、稳定的运行。

权利要求 :

1.一种数据流传输模式智能化匹配方法,其特征在于,包括:

计算机集群系统初始化;

任务调度器初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至所述任务调度器,并在数据库中设置所述工作节点调度时效,清理故障工作节点;

用户数据源进行管理,对实时数据流信息进行配置;

用户发送数据接收请求至计算机集群系统,进行数据采集,所述计算机集群系统接收并通过所述数据接收请求后,数据采集端发送数据流至所述计算机集群系统;

所述计算机集群系统对用户发送所述数据流的数据传输模式进行判别,确定所述数据传输模式类型;若所述数据传输模式为单播模式,则所述任务调度器调度任务数据并发送至预设的所述工作节点,并更新所述工作节点的任务数;若所述数据传输模式为组播模式,则所述任务调度器调度工作节点列表,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优的所述工作节点作为目标工作节点,并更新所述目标工作节点的任务数;

所述计算机集群系统发送任务请求信息至所述目标工作节点,并根据所述任务请求信息在所述目标工作节点上创建任务进程,处理所述任务数据;

根据所述任务数据对所述数据流进行接收操作,并创建存储器,对所述数据流进行存储;

所述计算机集群系统更新所述存储器和所述目标工作节点的所述资源使用状态信息,完成所述数据流的接收和存储。

2.根据权利要求1所述一种数据流传输模式智能化匹配方法,其特征在于,计算机集群系统初始化包括:读取所述计算机集群系统配置文件,处理所述数据库记录,初始化计算机集群系统日志,启动所述数据库与代理服务器。

3.根据权利要求2所述一种数据流传输模式智能化匹配方法,其特征在于,所述数据库为redis数据库,所述代理服务器为nginx代理服务器。

4.根据权利要求1所述一种数据流传输模式智能化匹配方法,其特征在于,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优的所述工作节点作为目标工作节点的方法为选择所述工作节点的任务数最少以及未使用资源最多的所述工作节点作为所述目标工作节点。

5.根据权利要求4所述一种数据流传输模式智能化匹配方法,其特征在于,若存在多个资源状态最优的所述工作节点,则随机选择一个资源状态最优的所述工作节点作为所述目标工作节点。

6.根据权利要求1所述一种数据流传输模式智能化匹配方法,其特征在于,所述数据流的数据传输模式为基于UDP协议的数据传输模式。

7.一种数据流传输模式智能化匹配装置,其特征在于,包括初始化模块、数据源管理模块、传输模式判别模块、调度服务模块与数据流接收和存储模块;

所述初始化模块,用于计算机集群初始化以及调度服务模块初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至所述调度服务模块,并在数据库中设置所述工作节点的调度时效,清理故障工作节点;

所述数据源管理模块,用于用户数据源进行管理,对实时数据流信息进行配置;用户发送数据接收请求至所述数据源管理模块,进行数据采集,所述数据源管理模块接收并通过所述数据接收请求后,数据采集端发送数据流至所述数据源管理模块;

所述传输模式判别模块,用于对用户发送所述数据流的数据传输模式进行判别,确定所述数据传输模式类型,所述数据传输模式类型为单播模式或组播模式;

所述调度服务模块,用于获取工作节点列表,根据所述数据传输模式类型将所述计算机集群上的任务数据分配到若干个所述工作节点;若所述数据传输模式为单播模式,则所述调度服务模块调度所述任务数据并发送至预设的工作节点,并更新所述工作节点的任务数;若所述数据传输模式为组播模式,则所述调度服务模块调度工作节点列表,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优的所述工作节点作为目标工作节点,并更新所述目标工作节点的任务数;所述调度服务模块发送任务请求信息至所述目标工作节点,并根据所述任务请求信息在所述目标工作节点上创建任务进程,处理所述任务数据;

所述数据流接收和存储模块,用于根据所述任务数据对所述数据流进行接收操作,并创建存储器,对所述数据流进行存储,同时更新所述存储器和所述目标工作节点的所述资源使用状态信息,完成所述数据流的接收和存储。

8.根据权利要求7所述一种数据流传输模式智能化匹配装置,其特征在于,所述调度服务模块还设置有定时器,用于设定各个节点周期性发送节点心跳与资源使用状态信息至所述调度服务模块的周期,所述调度服务模块利用所述定时器在所述数据库中设置所述工作节点的调度时效,清理所述故障工作节点。

9.根据权利要求7所述一种数据流传输模式智能化匹配装置,其特征在于,所述初始化模块包括:读取模块,用于读取计算机集群系统配置文件;

处理模块,用于处理数据库记录;

初始化子模块,用于初始化计算机集群系统日志,启动数据库与代理服务器。

说明书 :

一种数据流传输模式智能化匹配方法与装置

技术领域

[0001] 本发明属于计算机技术领域,具体而言,涉及一种数据流传输模式智能化匹配方法与装置。

背景技术

[0002] 随着互联网技术的不断发展,物联网技术也应运而生,物联网技术是指是在互联网和通信网络的基础上,将日常用品、设施、设备、车辆和其他物品互相连通的网络。因此随着技术的发展,越来越多的设备都会产生大量的数据流,现有技术将这些数据从设备发送到服务器存在可用性低、智能化低、数据流传输效率低以及资源利用率低的问题。

发明内容

[0003] 为了解决上述技术问题,本发明提供一种数据流传输模式智能化匹配方法与装置。
[0004] 第一方面,本发明提供了一种数据流传输模式智能化匹配方法,包括:
[0005] 计算机集群系统初始化;
[0006] 任务调度器初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至所述任务调度器,并在数据库中设置所述工作节点调度时效,清理故障工作节点;
[0007] 用户数据源进行管理,对实时数据流信息进行配置;
[0008] 用户发送数据接收请求至计算机集群系统,进行数据采集,所述计算机集群系统接收并通过所述数据接收请求后,数据采集端发送数据流至所述计算机集群系统;
[0009] 所述计算机集群系统对用户发送所述数据流的数据传输模式进行判别,确定所述数据传输模式类型;若所述数据传输模式为单播模式,则所述任务调度器调度任务数据并发送至预设的所述工作节点,并更新所述工作节点的任务数;若所述数据传输模式为组播模式,则所述任务调度器调度工作节点列表,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优的所述工作节点作为目标工作节点,并更新所述目标工作节点的任务数;
[0010] 所述计算机集群系统发送任务请求信息至所述目标工作节点,并根据所述任务请求信息在所述目标工作节点上创建任务进程,处理所述任务数据;
[0011] 根据所述任务数据对所述数据流进行接收操作,并创建存储器,对所述数据流进行存储;
[0012] 所述计算机集群系统更新所述存储器和所述目标工作节点的所述资源使用状态信息,完成所述数据流的接收和存储。
[0013] 第二方面,本发明提供了一种数据流传输模式智能化匹配装置,包括初始化模块、数据源管理模块、传输模式判别模块、调度服务模块与数据流接收和存储模块;
[0014] 所述初始化模块,用于计算机集群初始化以及调度服务模块初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至所述调度服务模块,并在数据库中设置所述工作节点的调度时效,清理故障工作节点;
[0015] 所述数据源管理模块,用于用户数据源进行管理,对实时数据流信息进行配置;用户发送数据接收请求至所述数据源管理模块,进行数据采集,所述数据源管理模块接收并通过所述数据接收请求后,数据采集端发送数据流至所述数据源管理模块;
[0016] 所述传输模式判别模块,用于对用户发送所述数据流的数据传输模式进行判别,确定所述数据传输模式类型,所述数据传输模式类型为单播模式或组播模式;
[0017] 所述调度服务模块,用于获取工作节点列表,根据所述数据传输模式类型将所述计算机集群上的任务数据分配到若干个所述工作节点;若所述数据传输模式为单播模式,则所述调度服务模块调度所述任务数据并发送至预设的工作节点,并更新所述工作节点的任务数;若所述数据传输模式为组播模式,则所述调度服务模块调度工作节点列表,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优且资源状态正常的所述工作节点作为目标工作节点,并更新所述目标工作节点的任务数;所述调度服务模块发送任务请求信息至所述目标工作节点,并根据所述任务请求信息在所述目标工作节点上创建任务进程,处理所述任务数据;
[0018] 所述数据流接收和存储模块,用于根据所述任务数据对所述数据流进行接收操作,并创建存储器,对所述数据流进行存储,同时更新所述存储器和所述目标工作节点的所述资源使用状态信息,完成所述数据流的接收和存储。
[0019] 本发明的有益效果是:本发明从单播和组播的工作机制出发,提出一种智能化数据流的传输模式识别方法与装置,利用集群资源提高数据的处理能力,用户通过数据源管理模块配置实时流发送的配置信息,并打开数据采集的开关,向计算机集群系统发起接收数据流的请求,计算机集群系统传输模式判别模块判别数据传输模式,如果为单播模式,调度服务模块直接将任务数据发给目标工作节点,目标工作节点建立数据流处理任务,并进行数据流的存储;如果为组播模式,调度服务器获取工作节点列表,智能化的将任务分配给任务较少的工作节点,进行数据流的接收和存储。本发明能够在数据流通讯过程中,根据数据传输模式进行智能化匹配,并智能化分配处理节点,实现数据流的高效接收和存储,提高资源利用率,保证数据流传输过程高效、智能、稳定的运行。
[0020] 在上述技术方案的基础上,本发明还可以做如下改进。
[0021] 进一步,计算机集群系统初始化包括:读取所述计算机集群系统配置文件,处理所述数据库记录,初始化计算机集群系统日志,启动所述数据库与代理服务器。
[0022] 进一步,所述数据库为redis数据库,所述代理服务器为nginx代理服务器。
[0023] 进一步,根据所述工作节点的任务数与各个所述工作节点的所述资源使用状态信息,选择资源状态最优的所述工作节点作为目标工作节点的方法为选择所述工作节点的任务数最少以及未使用资源最多的所述工作节点作为所述目标工作节点。
[0024] 进一步,若存在多个资源状态最优的所述工作节点,则随机选择一个资源状态最优的所述工作节点作为所述目标工作节点。
[0025] 进一步,所述数据流的数据传输模式为基于UDP协议的数据传输模式。
[0026] 进一步,所述调度服务模块还设置有定时器,用于设定各个节点周期性发送节点心跳与资源使用状态信息至所述调度服务模块的周期,所述调度服务模块利用所述定时器在所述数据库中设置所述工作节点的调度时效,清理所述故障工作节点。
[0027] 进一步,所述初始化模块包括:
[0028] 读取模块,用于读取计算机集群系统配置文件;
[0029] 处理模块,用于处理数据库记录;
[0030] 初始化子模块,用于初始化计算机集群系统日志,启动数据库与代理服务器。

附图说明

[0031] 图1为本发明实施例1提供的一种数据流传输模式智能化匹配方法的流程图;
[0032] 图2为本发明实施例2提供的一种数据流传输模式智能化匹配装置的原理图。

具体实施方式

[0033] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0034] 实施例1
[0035] 作为一个实施例,如附图1所示,为解决上述技术问题,本实施例提供一种数据流传输模式智能化匹配方法,包括:
[0036] 计算机集群系统初始化;
[0037] 任务调度器初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至任务调度器,并在数据库中设置工作节点调度时效,清理故障工作节点;
[0038] 用户数据源进行管理,对实时数据流信息进行配置;
[0039] 用户发送数据接收请求至计算机集群系统,进行数据采集,计算机集群系统接收并通过数据接收请求后,数据采集端发送数据流至计算机集群系统;
[0040] 计算机集群系统对用户发送数据流的数据传输模式进行判别,确定数据传输模式类型;若数据传输模式为单播模式,则任务调度器调度任务数据并发送至预设的工作节点,并更新工作节点的任务数;若数据传输模式为组播模式,则任务调度器调度工作节点列表,根据工作节点的任务数与各个工作节点的资源使用状态信息,选择资源状态最优的工作节点作为目标工作节点,并更新所述目标工作节点的任务数;
[0041] 计算机集群系统发送任务请求信息至目标工作节点,并根据任务请求信息在目标工作节点上创建任务进程,处理任务数据;
[0042] 根据任务数据对数据流进行接收操作,并创建存储器,对数据流进行存储;
[0043] 计算机集群系统更新存储器和目标工作节点的资源使用状态信息,完成数据流的接收和存储。
[0044] 数据流是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。
[0045] 单播是指数据包在计算机网络的传输中,目的地址为单一目标的一种传输方式。
[0046] 组播是指数据包在计算机网络的传输中,目的地址为多个目标的一种传输方式。它允许把所发消息传送给所有可能目的地中的一个经过选择的子集,即向明确指出的多种地址输送信息,是一种在一个发送者和多个接收者之间进行通信的方法。
[0047] 集群即计算机集群,是一种计算机系统,将分散在不同地理位置的计算机(又称为节点或工作节点)连接起来,组成空间上分散、逻辑上统一的计算集群,作为一个整体向用户提供服务。相比一台计算机,集群的优势在于将负载均衡到每台计算机上,可以承载更高的访问量。负载均衡是指将负载(任务数据)进行平衡、分摊到多个执行单元上运行,如将应用服务部署到多台服务器或计算机上,然后通过负载均衡将用户的任务请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。
[0048] 任务调度是指将集群上的作业任务分配到一个或多个节点上的过程,以实现负载均衡,合理使用集群节点资源。
[0049] 数据库(database,DB)是指长期存储在计算机内的、有组织的、可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
[0050] 可选的,计算机集群系统初始化包括:读取计算机集群系统配置文件,处理数据库记录,初始化计算机集群系统日志,启动数据库与代理服务器。
[0051] 可选的,数据库为redis数据库,代理服务器为nginx代理服务器。
[0052] 在实际应用过程中,Redis数据库是一个支持网络交互的、可基于内存也可持久化的key‑value(关键字值)数据库,常用做缓存,放置读多写少的数据,实现数据的高效读取,有效减少数据库频繁访问读取的压力。
[0053] 可选的,根据工作节点的任务数与各个工作节点的资源使用状态信息,选择资源状态最优的工作节点作为目标工作节点的方法为选择工作节点的任务数最少以及未使用资源最多的工作节点作为目标工作节点。
[0054] 将任务分配给任务最少的工作节点,进行数据流的接收和存储,能够在数据流通讯过程中,实现数据传输模式智能化匹配,从而实现数据流的高效接收和存储,提高资源利用率,保证数据流传输过程高效、智能、稳定的运行。
[0055] 可选的,若存在多个资源状态最优的工作节点,则随机选择一个资源状态最优的工作节点作为目标工作节点。
[0056] 可选的,所述数据流的数据传输模式为基于用户数据包协议(User Datagram Protocol,简称UDP协议)的数据传输模式。
[0057] UDP协议,是一个简单的面向数据包的通信协议,位于OSI模型的传输层。在TCP/IP模型中,UDP协议为网络层以上和应用层以下提供了一个简单的接口。UDP协议只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份,UDP协议在IP数据包的头部仅仅加入了复用和数据校验字段。在实际应用过程中,UDP协议目前已经成为目前网络通信的主流协议,它具有快速、简单、灵活的特点,适用于大部分的实时数据传输的场景。当用户将设备上的数据流发送到服务器时,一般会基于UDP的单播或组播的两种传输模式,其中单播是指主机间一对一的通讯模式,组播是主机间一对多的通讯模式。
[0058] 本发明所产生的有益效果有:
[0059] (1)高可用性
[0060] 本发明使用根据数据流传播模式智能匹配的方法,判别单播和组播两种数据传输模式,满足不同的业务需求,能够有效提高数据流传输效率;
[0061] (2)智能化
[0062] 本方法采用了智能化数据传输模式识别和匹配最优工作节点作为目标工作节点,无需用户进行复杂操作,能够有效简化流程,提高传输数据流接收和存储的效率;
[0063] (3)资源利用率高
[0064] 当不同任务的资源占用(内存/cpu/网络等资源的使用量,以及资源占用时间)比较平均时,能够解决任务阻塞问题,实现资源合理分配,提高资源利用率。
[0065] 实施例2
[0066] 作为一个实施例,基于实施例1相同的方法原理,如附图2所示,本实施例提供一种数据流传输模式智能化匹配装置,包括初始化模块、数据源管理模块、传输模式判别模块、调度服务模块与数据流接收和存储模块;
[0067] 初始化模块,用于计算机集群系统初始化以及调度服务模块初始化,创建心跳服务线程,各个工作节点周期性发送节点心跳与资源使用状态信息至调度服务模块,并在数据库中设置工作节点的调度时效,清理故障工作节点;
[0068] 数据源管理模块,用于用户数据源进行管理,对实时数据流信息进行配置;用户发送数据接收请求至数据源管理模块,进行数据采集,数据源管理模块接收并通过数据接收请求后,数据采集端发送数据流至数据源管理模块;
[0069] 传输模式判别模块,用于对用户发送数据流的数据传输模式进行判别,确定数据传输模式类型,数据传输模式类型为单播模式或组播模式;
[0070] 调度服务模块,用于获取工作节点列表,根据数据传输模式类型将计算机集群上的任务数据分配到若干个工作节点;若数据传输模式为单播模式,则调度服务模块调度任务数据并发送至预设的工作节点,并更新工作节点的任务数;若数据传输模式为组播模式,则调度服务模块调度工作节点列表,根据工作节点的任务数与各个工作节点的资源使用状态信息,选择资源状态最优的工作节点作为目标工作节点,并更新所述目标工作节点的任务数;调度服务模块发送任务请求信息至目标工作节点,并根据任务请求信息在目标工作节点上创建任务进程,处理任务数据;
[0071] 数据流接收和存储模块,用于根据任务数据对数据流进行接收操作,并创建存储器,对数据流进行存储,同时更新存储器和目标工作节点的资源使用状态信息,完成数据流的接收和存储。
[0072] 可选的,计算机集群系统初始化包括:读取计算机集群系统配置文件,处理数据库记录,初始化计算机集群系统日志,启动数据库与代理服务器。
[0073] 可选的,数据库为redis数据库,代理服务器为nginx代理服务器。
[0074] 可选的,根据工作节点的任务数与各个工作节点的资源使用状态信息,选择资源状态最优的工作节点作为目标工作节点的方法为选择工作节点的任务数最少以及未使用资源最多的工作节点作为目标工作节点。
[0075] 可选的,若存在多个资源状态最优的工作节点,则随机选择一个资源状态最优的工作节点作为目标工作节点。
[0076] 可选的,调度服务模块还设置有定时器,用于设定各个节点周期性发送节点心跳与资源使用状态信息至调度服务模块的周期,调度服务模块利用定时器在数据库中设置工作节点的调度时效,清理故障工作节点。
[0077] 可选的,初始化模块包括:
[0078] 读取模块,用于读取计算机集群系统配置文件;
[0079] 处理模块,用于处理数据库记录;
[0080] 初始化子模块,用于初始化计算机集群系统日志,启动数据库与代理服务器。
[0081] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。