一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据通信传输优化方法及系统与流程

2022-02-20 07:20:56 来源:中国专利 TAG:


1.本发明涉及数据通信技术领域,尤其涉及一种数据通信传输优化方法及系统。


背景技术:

2.在现有的控制系统中,一般都包含多种功能控制软件,例如,在列车ats(automatic train supervision,列车自动监控系统)系统由多种设备软件组成,包括:车站分机、网关、应用服务器、前台设备(调度、监视终端和大屏)、通信前置机等。其中网关接收vobc(vehicle on-board controller,车载控制器)、zc(zonecontroller,区域控制中心)、dsu(datebase storage unit,数据存储单元)等信号系统的数据,车站分机接收联锁系统的数据,网关和车站分机将接收的数据发送至应用服务器统一处理,应用服务器处理后将数据发送至前台设备;调度前台下发的命令经应用服务器处理后转发至网关、车站分机,进而将命令下发到指定的设备和系统。
3.其中,ats系统中各设备间使用支持无连接的udp(user datagram protocol,用户数据报协议)进行数据通信,网络数据流向如图1所示,中间的应用服务器将处理完成的数据发送至前台时,同一个数据包按照前台数量生成多个副本,然后将副本发送至指定前台。
4.上述ats系统中的数据传输存在如下缺陷:
5.1)内部数据统一存储在逻辑层,分为静态数据、动态数据和变化帧数据,其中静态数据是配置数据,运行过程中不会发生变化;动态数据则是状态数据,反应了实际的运行情况;变化帧数据则是为减少网络通信量,对一定周期内变化的数据进行缓存,变化帧更新发送一次后就会清空。此外,逻辑层中的动态数据和变化帧数据采用泛型集合类型,此种类型在多线程模式下更新时需要加锁,将导致效率低下;
6.2)应用服务器作为数据处理、分发的核心,在分发的过程中需要为每个数据包创建多个副本,这无疑是比较耗费资源的,随着前台数据的增加,创建副本的成本会呈线性增长的趋势;随着副本的增多,网络带宽的占用也呈线性增长的趋势,特别地,当ats系统规模越来越大时,应用服务器的数据通信转发就容易出现性能瓶颈;
7.3)网络发送模块虽然采用udp协议,但采用的是同步收发机制,当出现大数据包时容易出现网络发送或接收卡滞现象,增加网络传输的不稳定性。
8.针对上述问题,需要提出一种新的优化数据传输的方法。


技术实现要素:

9.本发明提供一种数据通信传输优化方法及系统,用以解决现有技术中存在的缺陷。
10.第一方面,本发明提供一种数据通信传输优化方法,包括:
11.接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;
12.提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;
13.基于同步发送异步接收模式,传输网络数据包。
14.在一个实施例中,所述接收并存储控制数据,合并所述控制数据中的变化数据,并添加区分标识属性,得到优化后的变化帧数据,还包括:
15.确定所述变化数据的对象类型为预设多线程并发访问类型。
16.在一个实施例中,所述接收并存储控制数据,合并所述控制数据中的变化数据,并添加区分标识属性,得到优化后的变化帧数据,具体包括:
17.合并所述控制数据中的动态数据和变化帧数据,给所述动态数据添加预设变化标识,获得标识动态数据;
18.将所述变化帧数据进行打包,待传输时获取具有预设状态的所述标识动态数据,更新所述具有预设状态的所述标识动态数据,得到所述优化后的变化帧数据。
19.在一个实施例中,所述提取所述控制数据中的状态数据,将所述状态数据传输至预设前端,具体包括:
20.构建预设组播组,将所有预设前端添加入所述预设组播组中;
21.基于所述组播模式将所述状态数据发送至所述预设组播组中的所有预设前端。
22.在一个实施例中,所述基于同步发送异步接收模式,传输网络数据包,具体包括:
23.基于预设分包阈值,在底层发送端将所述网络数据包进行分包,得到分包数据,将所述分包数据同步进行发送;
24.基于所述udp传输协议,在应用层接收端异步接收所述分包数据,对所述分包数据进行合包,得到所述网络数据包。
25.第二方面,本发明还提供一种数据通信传输优化系统,包括:
26.第一处理模块,用于接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;
27.第二处理模块,用于提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;
28.第三处理模块,用于基于同步发送异步接收模式,传输网络数据包。
29.在一个实施例中,还包括:
30.确定模块,用于确定所述变化数据的对象类型为预设多线程并发访问类型。
31.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据通信传输优化方法的步骤。
32.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据通信传输优化方法的步骤。
33.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据通信传输优化方法的步骤。
34.本发明提供的数据通信传输优化方法及系统,通过对逻辑层业务数据进行梳理,采用改进的数据结构提高了逻辑层处理能力,并根据数据类别采用合适的通信方式,降低服务器的资源占用率和网络带宽,并在底层网络通信模块中增加分包组包功能,提高网络传输稳定性。
附图说明
35.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是现有技术提供的ats系统网络数据传输示意图;
37.图2是本发明提供的数据通信传输优化方法的流程示意图;
38.图3是本发明提供的应用服务器状态数据发送的流程示意图;
39.图4是本发明提供的网络数据传输分包组包流程示意图;
40.图5是本发明提供的数据通信传输优化系统的结构示意图;
41.图6是本发明提供的电子设备的结构示意图。
具体实施方式
42.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.针对现有技术中,网络控制系统中普遍存在内部数据传输效率低下的问题,本发明提出一种新的数据通信传输优化方法,以轨道交通系统中的ats系统为例,但本发明方案不局限于该ats系统通信问题,对于其它类似的存在复杂数据处理场景的数据传输均可通过本发明所提出的方案进行优化。
44.图2是本发明提供的数据通信传输优化方法的流程示意图,如图2所示,包括:
45.s1,接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;
46.s2,提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;
47.s3,基于同步发送异步接收模式,传输网络数据包。
48.具体地,以ats系统为例,将ats系统中逻辑层统一存储的控制数据,包括静态数据、动态数据和变化帧数据,将其中会发生变化的数据,即动态数据和变化帧数据,进行统一合并,为合并后的动态数据对象添加和静态数据进行区分的标识属性,使用该优化后的变化帧数据,节省了变化帧缓存空间,后续进行数据转发时,仅需读取变化的数据部分,大幅提升了传输数据处理速度。
49.针对应用服务器发送到前台的数据,可分为命令数据和状态数据,其中的状态数据对前台具有相同的呈现形式,本发明将状态数据按照组播的模式进行广播发送,无需为发送到每个前台的状态数据单独建立一个数据副本,有效节省了应用服务器的传输资源。
50.此外,针对网络发送模块采用udp传输协议,目前采用的同步收发机制,容易出现网络转发瓶颈,本发明提出将同步收发机制转换为同步发异步收来传输数据包,进一步提高网络传输稳定性。
51.本发明通过对逻辑层业务数据进行梳理,采用改进的数据结构提高了逻辑层处理能力,并根据数据类别采用合适的通信方式,降低服务器的资源占用率和网络带宽,并在底
层网络通信模块中增加分包组包功能,提高网络传输稳定性。
52.基于上述实施例,所述接收并存储控制数据,合并所述控制数据中的变化数据,并添加区分标识属性,得到优化后的变化帧数据,还包括:
53.确定所述变化数据的对象类型为预设多线程并发访问类型。
54.可以理解的是,对于逻辑层中存储的动态数据和变化帧数据采用泛型集合类型,此种类型在多线程模式下更新时需要加锁,将导致效率低下,因此本发明将该动态数据的对象类型采用concurrentdictionary类型,此类型由.net framework提供。具体来说,该对象类型是在.net4.0之前,如果需要在多线程环境下使用dictionary类,除了自己实现线程同步来保证线程安全外,若要实现类似的线程安全方案,需通过创建全新的线程安全字典,或者仅是简单的用一个类封装一个dictionary对象,并在所有方法中加上锁机制,称这种方案为dictionary lock。
55.相对于dictionary lock方式,concurrentdictionary属于线程安全的字典,支持多线程并发访问,无需单独加锁。
56.本发明通过引入并发多线程对象类型处理动态数据,相对于现有技术中每个线程需单独加锁,简化了数据传输的处理流程,提升了数据处理速度。
57.基于上述任一实施例,该方法步骤s1具体包括:
58.合并所述控制数据中的动态数据和变化帧数据,给所述动态数据添加预设变化标识,获得标识动态数据;
59.将所述变化帧数据进行打包,待传输时获取具有预设状态的所述标识动态数据,更新所述具有预设状态的所述标识动态数据,得到所述优化后的变化帧数据。
60.具体地,在ats系统中,本发明将逻辑层中的动态数据和变化帧数据进行合并,并为动态数据对象增加changed属性,静态数据是配置数据,运行过程中不会发生变化,此处无需进行操作,通过上述优化操作后,和现有技术中数据包分发时均需创建单独的副本向下进行分发相比较,在更新动态数据时,则无需再创建一个动态数据对象副本添加到变化帧数据缓存中,而由于不存在变化帧缓存,无需使用lock。
61.在进行数据传输时,对数据包进行组包,针对合并后的变化帧数据包,仅需遍历动态数据对象中增加的changed属性状态为true的对象即可,此处即表示该动态数据发生了变化,该数据的标识为true,无需遍历全部数据,使得效率大幅提升。
62.本发明通过优化数据传输中逻辑层的缓存结构,提高了网络数据处理速度,提升网络吞吐量。
63.基于上述任一实施例,该方法步骤s2具体包括:
64.构建预设组播组,将所有预设前端添加入所述预设组播组中;
65.基于所述组播模式将所述状态数据发送至所述预设组播组中的所有预设前端。
66.具体地,针对ats系统中的核心处理部分—应用服务器,将接收的信号系统数据和联锁系统数据统一处理后,向多个预设前端,即向多个前台下发处理后的数据,原先是将每次下发的数据分别建立多个副本,再向每个前台进行下发,容易出现转发瓶颈,本发明将其中具有相同呈现形式的状态数据进行简化处理,通过组播形式进行广播式传输,从而避免为每个前台单独创建一个数据副本。
67.此处,如图3所示,在进行组播发送消息之前,由ats系统将对应的所有前台添加到
同一个组播组中,然后应用服务器将状态数据发送到网络设备,如交换机或路由器完成数据拷贝,再发送到组播组,这样各前台就会收到状态数据。
68.本发明通过降低应用服务器资源占用情况,避免创建过多的数据副本,减轻了应用服务器内存负担和应用服务器到交换机设备的网络负担。
69.基于上述任一实施例,该方法中步骤s3具体包括:
70.基于预设分包阈值,在底层发送端将所述网络数据包进行分包,得到分包数据,将所述分包数据同步进行发送;
71.基于所述udp传输协议,在应用层接收端异步接收所述分包数据,对所述分包数据进行合包,得到所述网络数据包。
72.具体地,如图4所示,通过底层发送模块在发送端,即ats应用程序a一侧,对数据包按照指定大小进行分包处理和配置,此处的分包阈值支持在接收端,即ats应用程序b一侧,按照协议规定进行组包后将业务数据发送至应用层,此分包和组包过程对应用层而言是透明的,同时可根据现场实际情况对分包阈值记性动态调整,使其达到最优效果。
73.针对现有技术中采用udp传输协议的同步收发模式,本发明将同步收发模式改外同步发异步收的方式进行数据传输,通过异步接收能有效提高系统资源利用率,提高系统处理能力。
74.本发明通过优化网络传输模块的数据包传输方式,有效提高网络传输的稳定性。
75.下面对本发明提供的数据通信传输优化系统进行描述,下文描述的数据通信传输优化系统与上文描述的数据通信传输优化方法可相互对应参照。
76.图5是本发明提供的数据通信传输优化系统的结构示意图,如图5所示,包括:第一处理模块51、第二处理模块52和第三处理模块53,其中:
77.第一处理模块51用于接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;第二处理模块52用于提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;第三处理模块53用于基于同步发送异步接收模式,传输网络数据包。
78.本发明通过对逻辑层业务数据进行梳理,采用改进的数据结构提高了逻辑层处理能力,并根据数据类别采用合适的通信方式,降低服务器的资源占用率和网络带宽,并在底层网络通信模块中增加分包组包功能,提高网络传输稳定性。
79.基于上述实施例,该系统还包括确定模块54,所述确定模块54用于确定所述变化数据的对象类型为预设多线程并发访问类型。
80.本发明通过引入并发多线程对象类型处理动态数据,相对于现有技术中每个线程需单独加锁,简化了数据传输的处理流程,提升了数据处理速度。
81.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)6 30和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行数据通信传输优化方法,该方法包括:接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;基于同步发送异步接收模式,传输网络数据包。
82.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
83.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据通信传输优化方法,该方法包括:接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;基于同步发送异步接收模式,传输网络数据包。
84.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据通信传输优化方法,该方法包括:接收并存储控制数据,合并所述控制数据中的变化数据,添加区分标识属性,得到优化后的变化帧数据;提取所述控制数据中的状态数据,将所述状态数据传输至预设前端;基于同步发送异步接收模式,传输网络数据包。
85.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
86.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
87.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献