CN103514132B - 一种用于大数据量高速率通讯的数据优化方法 - Google Patents
一种用于大数据量高速率通讯的数据优化方法 Download PDFInfo
- Publication number
- CN103514132B CN103514132B CN201310416433.0A CN201310416433A CN103514132B CN 103514132 B CN103514132 B CN 103514132B CN 201310416433 A CN201310416433 A CN 201310416433A CN 103514132 B CN103514132 B CN 103514132B
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- point
- value
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于大数据量高速率通讯的数据优化方法:将通讯数据点按照所需刷新周期的长短进行分组,分别采用不同的定时器;参与通讯的双方均将通讯的数据提取到一个单独的内存区域,供通讯接口程序访问;第一次通讯时将所有输出点打包一起传送,之后判断每一个点与上一次发送的值相比是否发生了变化,仅将发生了变化的点打包一起传送。本发明由于综合了数据存储与访问优化、数据分组、以及数值变化驱动传输多种优化措施,因此可以同时满足大数据量通讯和高刷新速率通讯的要求,非常适合于两个仿真系统之间的大数据量通讯。在同等通讯数据量的情况下,本发明可以降低通讯对硬件性能的要求,从而节约硬件成本。
Description
技术领域
本发明涉及一种数据优化方法,尤其是涉及一种用于大数据量高速通讯的数据优化方法。
背景技术
在对大型复杂系统进行模拟仿真时,常常将系统划分为若干个子系统。对这些子系统需要采用不同的软硬件系统进行仿真,有些子系统还需要直接采用实物与其他子系统进行连接,构成半实物仿真系统。这导致了这些子系统之间需要交换庞大的数据量。同时,在要求实时性的仿真系统中,需要在一个仿真时间步长内完成所有的数据交换,因此对数据刷新速率的要求也非常高。
仅仅依靠提高硬件的传输速度有时无法达到大数据量和高刷新速率的通讯要求,而即使能达到这一要求,也需要付出昂贵的硬件成本。通过通讯软件对通讯的数据做一些优化处理,往往能够提高通讯的效率。一般的通讯软件也会对数据进行优化处理,但往往只是局限于通讯数据的重新组织、变换等相对单一的措施,不能充分地挖掘数据优化的潜力。
发明内容
本发明所要解决的技术问题,就是提供一种能充分地挖掘数据优化潜力的用于大数据量高速通讯的数据优化方法。
一种用于大数据量高速率通讯的数据优化方法,其特征在于包括如下步骤:
1)将所有要参与通讯的数据点按照所需要的刷新周期的长短进行分组,分组数以及每一组对应的刷新周期通过一个配置文件来指定;每一个数据点属于哪一个组由一个点对照表文件来指定,定义通讯点信息,包括I/O类型、点名及所属分组;点对照表文件还指定对应的通讯双方的数据点名;
2)参与通讯的双方均将需要通讯的数据提取到一个单独的内存区域,供通讯接口程序访问;
3)通讯程序初始化时读取配置文件及点对照表文件,获取到每一个通讯数据点的内存访问地址,并按照分组设置分别保存这些通讯数据点的内存地址;然后根据每一组对应的刷新周期启动定时器;对于刷新周期小于10毫秒的组,采用高精度的多媒体定时器,其余的组采用普通的定时器;
4)在每一组定时器所触发的处理函数中,直接从内存地址中批量读取需要发送出去的数据点的数值,将所有需要传送的数据打包一起传送;
5)接收到对方发送来的数据后,批量地用直接内存访问的方式将收到的数据写入相应的数据点;
6)从第二次通讯开始直到通讯结束,先判断每一个点与上一次发送的值相比是否发生了变化,如果发生了变化,则将该点加入到需要传送的点的列表,否则不将该点加入需要传送的点的列表;判断完成后重复步骤4)、步骤5)和本步骤;其中,对于模拟量点的判断,在点对照表文件中定义其精度值,如果本次数值与上次传送的值的差的绝对值小于该精度值,则认为该点的数值没有发生变化;反之,则认为该点的数值发生了变化。
有益效果:本发明具有以下优点:
1)由于该方法综合了数据存储与访问优化、数据分组、以及数值变化驱动传输多种优化措施,因此可以同时满足大数据量通讯和高刷新速率通讯的要求,非常适合于两个仿真系统之间的大数据量通讯。
2)在同等通讯数据量的情况下,可以降低通讯对硬件性能的要求,从而节约硬件成本。
附图说明
附图为本优化处理方法的流程图。
具体实施方式
参见附图,本发明的对通讯数据的优化处理方法实施例,包括如下步骤:
1)将所有要参与通讯的数据点按照所需要的刷新周期的长短进行分组,分组数以及每一组对应的刷新周期通过一个配置文件来指定;每一个数据点属于哪一个组由一个点对照表文件来指定;点对照表文件还指定对应的通讯双方的数据点名;
2)参与通讯的双方均将需要通讯的数据提取到一个单独的内存区域,供通讯接口程序访问,以缩短通讯程序的数据访问时间;
3)通讯程序初始化时读取配置文件及点对照表文件,获取到每一个通讯数据点的内存访问地址,并按照分组设置分别保存这些通讯数据点的内存地址;然后根据每一组对应的刷新周期启动定时器,对于刷新周期小于10毫秒的组,采用高精度的多媒体定时器,其余的组采用普通的定时器;
4)在每一组定时器所触发的处理函数中,直接从内存地址中批量读取需要发送出去的数据点的数值,将所有需要传送的数据打包一起传送;
5)接收到对方发送来的数据后,批量地用直接内存访问的方式将收到的数据写入相应的数据点;
6)从第二次通讯开始直到通讯结束,先判断每一个点与上一次发送的值相比是否发生了变化,如果发生了变化,则将该点加入到需要传送的点的列表,否则不将该点加入需要传送的点的列表。判断完成后重复步骤4)、步骤5)和本步骤。其中,对于模拟量点的判断,在点对照表文件中定义其精度值,如果本次数值与上次传送的值的差的绝对值小于该精度值,则认为该点的数值没有发生变化;反之,则认为该点的数值发生了变化。
实施例:
实施例为一套发电厂仿真系统。将自动控制系统DCS从整个发电厂系统中分离出来,用一套虚拟DCS软件来模拟,其余部分,即被控系统用另一套仿真系统来模拟。两个仿真系统之间有大量的数据需要通讯。
1)通过配置文件,将所有要通讯的数据分为两组,其中一组的刷新周期为10毫秒,另外一组的刷新周期为100毫秒。同时建立对照表文件,将所有要通讯的点写在对照表文件中。
点对照表文件的每一行分为4列,分别为点的输入/输出类型、自动控制系统DCS中的点名、被控系统仿真系统中的点名,以及所属的组号。其中输入/输出类型有为4种:开关量输入DI、开关量输出DO、模拟量输入AI及模拟量输出AO。如下表1所示:
表1.通讯点对照表
IO类型 | DCS点名 | 仿真点名 | 组号 |
AI | VCCS_A | SE_VCCS_A | 1 |
AI | MS363 | SE_MS363 | 0 |
DI | ADSRTLO | SE_ADSRTLO | 1 |
DI | DPU06PWR | SE_DPU06PWR | 0 |
DO | PAX57ID | SE_PAX57ID | 1 |
DO | PAX57DD | SE_PAX57DD | 0 |
AO | HD42RD | SE_HD42RD | 1 |
AO | HD28RD | SE_HD28RD | 0 |
2)利用仿真系统提供的应用程序接口API,获得所有数据点的内存访问地址。
3)通讯程序初始化,读取配置文件及点对照表文件,获取到每一个通讯数据点的内存访问地址,并按照分组设置分别保存这些通讯数据点的内存地址。然后根据每一组对应的刷新周期启动定时器。其中一组的刷新周期为10毫秒,采用高精度的多媒体定时器;另外一组的刷新周期为100毫秒,采用普通的定时器。
4)在每一组定时器所触发的处理函数中,分别直接从内存地址中批量读取需要发送出去的数据点的数值,在第一次通讯时全部发送出去。发送时将所有需要传送的数据打包一起传送。
5)接收到对方发送来的数据后,批量地用直接内存访问的方式将收到的数据写入相应的数据点。
6)从第二次通讯开始,先判断每一个点与上一次发送的值相比是否发生了变化,如果没发生变化,则本次通讯不传送该点。所有模拟量通讯点的精度统一取为0.005,如果本次数值与上次传送的值的差的绝对值小于该精度值,则认为该点的数值没有发生变化。
所有通讯点的总数为10000个,其中有200个点的刷新周期为10毫秒。采用了本专利的方法后,在普通的PC机上,采用100M的网卡,完全能够达到实时通讯的要求。
Claims (1)
1.一种用于大数据量高速率通讯的数据优化方法,其特征在于包括如下步骤:
1)将所有要参与通讯的数据点按照所需要的刷新周期的长短进行分组,分组数以及每一组对应的刷新周期通过一个配置文件来指定;每一个数据点属于哪一个组由一个点对照表文件来指定,定义通讯点信息:包括I/O类型、点名及所属分组;点对照表文件还指定对应的通讯双方的点名;
2)参与通讯的双方均将需要通讯的数据提取到一个单独的内存区域,供通讯接口程序访问,以缩短通讯程序的数据访问时间;
3)通讯程序初始化时读取配置文件及点对照表文件,获取到每一个通讯数据点的内存访问地址,并按照分组设置分别保存这些通讯数据点的内存地址;然后根据每一组对应的刷新周期启动定时器;对于刷新周期小于10毫秒的组,采用高精度的多媒体定时器,其余的组采用普通的定时器;
4)在每一组定时器所触发的处理函数中,直接从内存地址中批量读取需要发送出去的数据点的数值,将所有需要传送的数据打包一起传送;
5)接收到对方发送来的数据后,批量地用直接内存访问的方式将收到的数据写入相应的数据点;
6)从第二次通讯开始直到通讯结束,先判断每一个点与上一次发送的值相比是否发生了变化,如果发生了变化,则将该点加入到需要传送的点的列表,否则不将该点加入需要传送的点的列表;判断完成后重复步骤4)、步骤5)和本步骤;其中,对于模拟量点的判断,在点对照表文件中定义其精度值,如果本次数值与上次传送的值的差的绝对值小于该精度值,则认为该点的数值没有发生变化;反之,则认为该点的数值发生了变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416433.0A CN103514132B (zh) | 2013-09-12 | 2013-09-12 | 一种用于大数据量高速率通讯的数据优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416433.0A CN103514132B (zh) | 2013-09-12 | 2013-09-12 | 一种用于大数据量高速率通讯的数据优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514132A CN103514132A (zh) | 2014-01-15 |
CN103514132B true CN103514132B (zh) | 2016-06-08 |
Family
ID=49896880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310416433.0A Active CN103514132B (zh) | 2013-09-12 | 2013-09-12 | 一种用于大数据量高速率通讯的数据优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514132B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112010B (zh) * | 2014-07-16 | 2017-09-01 | 深圳国泰安教育技术股份有限公司 | 一种数据存储方法及装置 |
CN105183669A (zh) * | 2015-09-22 | 2015-12-23 | 珠海格力电器股份有限公司 | 一种数据存储方法及装置 |
US11153231B2 (en) * | 2019-07-19 | 2021-10-19 | Arm Limited | Apparatus and method for processing flush requests within a packet network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
CN1309348A (zh) * | 2001-02-14 | 2001-08-22 | 广州日立电梯有限公司 | 一种群控电梯的群管理系统 |
CN1815625A (zh) * | 2005-11-18 | 2006-08-09 | 宁波中科集成电路设计中心有限公司 | 一种同步动态存储器控制器的设计方法 |
CN103218323A (zh) * | 2013-03-25 | 2013-07-24 | 广东工业大学 | 一种高速数据采集和传输装置 |
-
2013
- 2013-09-12 CN CN201310416433.0A patent/CN103514132B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
CN1309348A (zh) * | 2001-02-14 | 2001-08-22 | 广州日立电梯有限公司 | 一种群控电梯的群管理系统 |
CN1815625A (zh) * | 2005-11-18 | 2006-08-09 | 宁波中科集成电路设计中心有限公司 | 一种同步动态存储器控制器的设计方法 |
CN103218323A (zh) * | 2013-03-25 | 2013-07-24 | 广东工业大学 | 一种高速数据采集和传输装置 |
Non-Patent Citations (1)
Title |
---|
eDRAM高速读写和紧凑式电荷转移刷新方案;程宽等;《复旦学报(自然科学版)》;20120229;第51卷(第1期);第33-42页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103514132A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514132B (zh) | 一种用于大数据量高速率通讯的数据优化方法 | |
CN101118568A (zh) | 仿真红外探测器输出信号的装置及方法 | |
CN104602037A (zh) | 多设备同步播放控制方法、设备、终端和系统 | |
CN102929620A (zh) | 一种柔性测控平台系统及开发方法 | |
CN202907302U (zh) | 一种led灯串的级联结构 | |
CN103324486A (zh) | 采用松耦合架构设计实现软件版本自适应配置的方法 | |
CN102970105B (zh) | 一种led芯片级联信号的传输方法及传输系统 | |
CN104486185A (zh) | 一种核电厂控制系统通讯方法及系统 | |
CN109214512A (zh) | 一种深度学习的参数交换方法、装置、服务器及存储介质 | |
CN105301983A (zh) | 一种基于fmi的分布式联合仿真系统及其构建方法 | |
CN109800510A (zh) | 一种fpga布局布线的方法、系统及设备 | |
CN113741311A (zh) | 具有子周期高频处理功能的总线控制系统及方法 | |
CN102843380A (zh) | 一种解决基于modbus的串口通信瓶颈的方法 | |
CN109817273B (zh) | 一种nand性能测试方法及其系统 | |
CN101799793B (zh) | 闪存控制方法及装置 | |
CN109032029B (zh) | 工业服务器对外通信方法、系统、装置及工业服务器 | |
CN104731550A (zh) | 一种基于单fifo的双倍时钟双向数字延迟方法 | |
CN101834876B (zh) | 基于蓝牙、数据库与udp协议的分布式半物理仿真系统及其数据汇总和分发的方法 | |
CN105574292A (zh) | 一种基于动态数组实现多通道任意带宽发包的方法 | |
CN103237016B (zh) | 一种1553b多远程终端仿真等效装置 | |
CN204631248U (zh) | 北斗多级指挥控制系统 | |
CN102929677B (zh) | 多数字信号处理器的加载系统及方法 | |
CN103331937A (zh) | 基于压力反馈的数控液压机泄压系统 | |
CN106302046A (zh) | 遥控器控制方法及装置 | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟系统及实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510080 Dongfeng East Road, Dongfeng, Guangdong, Guangzhou, Zhejiang Province, No. 8 Applicant after: ELECTRIC POWER RESEARCH INSTITUTE, GUANGDONG POWER GRID CO., LTD. Applicant after: Beijing gale Tianli Technology Co., Ltd. Address before: 510080 Dongfeng East Road, Dongfeng, Guangdong, Guangzhou, Zhejiang Province, No. 8 Applicant before: Electrical Power Research Institute of Guangdong Power Grid Corporation Applicant before: BEIJING HENGHE DAFENG SOFTWARE TECHNOLOGY CO., LTD. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |