当前位置: 首页 > 专利查询>清华大学专利>正文

一种实时数据发送方法及系统技术方案

技术编号:21115462 阅读:24 留言:0更新日期:2019-05-16 08:54
本发明专利技术公开一种实时数据发送方法及系统,该方法包括:用户态将待发送的各条实时数据流的周期及偏移发送至内核态;内核态根据该各条实时数据流的周期及偏移确定宏周期以及各条实时数据流在一个宏周期内的发送时刻;内核态读取系统当前时刻,并根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻;将待发送的实时数据流及相应的发送时刻发送至用户态;用户态在相应的发送时刻发送该实时数据流。采用本发明专利技术提供的方案,使得实时数据流流的发送能够与全网时间同步。

【技术实现步骤摘要】
一种实时数据发送方法及系统
本专利技术涉及通信领域,具体而言,涉及一种实时数据发送方法及系统。
技术介绍
嵌入式系统近年来一直在工业自动化工业、列车工业、航空航天工业等关键领域的网络通信中扮演着重要的角色,普通以太网虽然具有很高的传输效率却不能实现控制设备间的即时通信。标准以太网IEEE802.3的通信机制使数据传输时间可被任意推迟,也就谈不上实时性,而在工控领域中,特别是高动态过程的控制中,实时却是必不可少的。所以实时以太网结合了以太网的天然优势,成为最具代表性的实时网络之一。网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。IEEE1588协议,又称精确时间协议(precisiontimeprotocol,PTP),可以达到亚微秒级别时间同步精度,实时以太网交换机之间使用IEEE1588时钟同步协议已经能够基本满足网络实时调度传输的需求,但由于端设备仍使用通用网卡,无法参与全网时间同步,因此现有的交换机设备一般都是整合了等候室(WaitingRoom)的解决方案,即,将端设备发出的帧暂时缓存到边缘交换机上,交换机再依据调度表去发送数据,但是该方案也导致数据流传输不可避免地存在抖动。
技术实现思路
本专利技术提供一种实时数据发送方法及系统,用以克服现有技术中存在的至少一个问题。为达到上述目的,本专利技术提供了一种实时数据发送方法,包括:用户态将待发送的各条实时数据流的周期及偏移发送至内核态;内核态根据该各条实时数据流的周期及偏移确定宏周期以及各条实时数据流在一个宏周期内的发送时刻;内核态读取系统当前时刻,并根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻;将待发送的实时数据流及相应的发送时刻发送至用户态;用户态在相应的发送时刻发送该实时数据流。可选地,在内核态读取系统当前时刻之前,包括:以寄存器时钟为主时钟,同步该内核态时钟;将同步后的该内核态的系统当前时刻写入该寄存器;内核态读取系统当前时刻,包括:将从该寄存器读取的值作为系统当前时刻。可选地,根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻,包括:根据寄存器的值对该宏周期进行取模操作;将取模操作后的结果与各条实时数据流在宏周期内的发送时刻比较,得到当前时刻对应的实时数据流;并将该当前时刻对应的实时数据流的下一实时数据流及其相应发送时刻确定为待发送的实时数据流及相应的发送时刻。可选地,在内核态根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻之后,包括:该内核态启动定时器;该定时器用于在定时到期后,触发该内核态重新执行内核态读取系统当前时刻,并根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻的步骤。可选地,该定时器的到期时刻为该内核态确定待发送的实时数据流及相应的发送时刻、加上当前时刻对应的实时数据流的发送时刻与下一实时数据流的发送时刻之间的间隔。可选地,用户态在相应的发送时刻发送该实时数据流,包括:用户态将从内核态接收到的、待发送的实时数据流相应的发送时刻与当前时刻进行比较;当该待发送的实时数据流相应的发送时刻与当前时刻之间的差小于预定时长后,发送该实时数据流。为达到上述目的,本专利技术还提供了一种实时数据发送系统,包括:内核态,用于根据用户态发送的各条实时数据流的周期及偏移确定宏周期以及各条实时数据流在一个宏周期内的发送时刻;读取系统当前时刻,并根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻;将待发送的实时数据流及相应的发送时刻发送至该用户态;用户态,用于将待发送的各条实时数据流的周期及偏移发送至内核态;并在相应的发送时刻发送内核态确定的实时数据流。可选地,该内核态还用于:以寄存器时钟为主时钟,同步该内核态时钟;将同步后的该内核态的系统当前时刻写入该寄存器;将从该寄存器读取的值作为系统当前时刻。可选地,该内核态用于:根据寄存器的值对该宏周期进行取模操作;将取模操作后的结果与各条实时数据流在宏周期内的发送时刻比较,得到当前时刻对应的实时数据流;并将该当前时刻对应的实时数据流的下一实时数据流及其相应发送时刻确定为待发送的实时数据流及相应的发送时刻。可选地,该内核态还用于启动定时器;该定时器用于在定时到期后,触发该内核态重新执行内核态读取系统当前时刻,并根据该系统当前时刻、该宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻的步骤;该定时器的到期时刻为该内核态确定待发送的实时数据流及相应的发送时刻、加上当前时刻对应的实时数据流的发送时刻与下一实时数据流的发送时刻之间的间隔。本专利技术的有益效果如下:通过用户态与内核态共同配合实现实数据流的发送,使得实时数据流流的发送能够与全网时间同步。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本专利技术实施例的实时数据发送方法的流程图;图2示出了两条实时数据流在不同的宏周期上的发送时刻的位置;图3示出了根据本专利技术实施例的实时数据发送方法的流程图;图4示出了根据本专利技术实施例的定时器调度方式示意图;图5示出了根据本专利技术实施例的实时数据发送系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。交换机通常采用Linux操作系统,Linux操作系统的体系架构分为用户态(即,用户空间)和内核态(即内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核必须为上层应用提供访问的接口:即系统调用。系统调用是操作系统的最小功能单位。本专利技术的核心思想在于,由于每条实时数据流的发送周期都是2ns的幂次方,所以以流的最小公倍数作为一个宏周期,然后根据偏移点,在宏周期内打点,确定每个流在宏周期内的时间点,同时因为常用寄存器均采用二进制,所以计时长度保证一定是2的幂次方的整倍数,例如,32位寄存器维护的范围为0~232-1,因此可以保证每个宏周期内打点的位置都是一样的,这样便可以只维护一个宏周期内的打点位置,便可以根据给定的时间点算出该位置正常应该发送的流。具体实施时,用户态可以通过调用ioctl陷入到内核态,并调用wait_e本文档来自技高网...

【技术保护点】
1.一种实时数据发送方法,其特征在于,包括:用户态将待发送的各条实时数据流的周期及偏移发送至内核态;内核态根据所述各条实时数据流的周期及偏移确定宏周期以及各条实时数据流在一个宏周期内的发送时刻;内核态读取系统当前时刻,并根据所述系统当前时刻、所述宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻;将待发送的实时数据流及相应的发送时刻发送至用户态;用户态在相应的发送时刻发送所述实时数据流。

【技术特征摘要】
1.一种实时数据发送方法,其特征在于,包括:用户态将待发送的各条实时数据流的周期及偏移发送至内核态;内核态根据所述各条实时数据流的周期及偏移确定宏周期以及各条实时数据流在一个宏周期内的发送时刻;内核态读取系统当前时刻,并根据所述系统当前时刻、所述宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻;将待发送的实时数据流及相应的发送时刻发送至用户态;用户态在相应的发送时刻发送所述实时数据流。2.根据权利要求1所述的实时数据发送方法,其特征在于,在内核态读取系统当前时刻之前,包括:以寄存器时钟为主时钟,同步所述内核态时钟;将同步后的所述内核态的系统当前时刻写入所述寄存器;内核态读取系统当前时刻,包括:将从所述寄存器读取的值作为系统当前时刻。3.根据权利要求2所述的实时数据发送方法,其特征在于,根据所述系统当前时刻、所述宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻,包括:根据寄存器的值对所述宏周期进行取模操作;将取模操作后的结果与各条实时数据流在宏周期内的发送时刻比较,得到当前时刻对应的实时数据流;并将所述当前时刻对应的实时数据流的下一实时数据流及其相应发送时刻确定为待发送的实时数据流及相应的发送时刻。4.根据权利要求3所述的实时数据发送方法,其特征在于,在内核态根据所述系统当前时刻、所述宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻之后,包括:所述内核态启动定时器;所述定时器用于在定时到期后,触发所述内核态重新执行内核态读取系统当前时刻,并根据所述系统当前时刻、所述宏周期和各条实时数据流在一个宏周期内的发送时刻,确定待发送的实时数据流及相应的发送时刻的步骤。5.根据权利要求4所述的实时数据发送方法,其特征在于,所述定时器的到期时刻为所述内核态确定待发送的实时数据流及相应的发送时刻、加上当前时刻对应的实时数据流的发送时刻与下一实时数据流的发...

【专利技术属性】
技术研发人员:赵曦滨高跃李宗辉
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1