CN102609217B - 一种io设备的高速存储方法及系统 - Google Patents

一种io设备的高速存储方法及系统 Download PDF

Info

Publication number
CN102609217B
CN102609217B CN201210011701.6A CN201210011701A CN102609217B CN 102609217 B CN102609217 B CN 102609217B CN 201210011701 A CN201210011701 A CN 201210011701A CN 102609217 B CN102609217 B CN 102609217B
Authority
CN
China
Prior art keywords
data
shared drive
real time
module
counter
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.)
Expired - Fee Related
Application number
CN201210011701.6A
Other languages
English (en)
Other versions
CN102609217A (zh
Inventor
崔启文
周文广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
SUNRISE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SUNRISE TECHNOLOGY Co Ltd filed Critical SUNRISE TECHNOLOGY Co Ltd
Priority to CN201210011701.6A priority Critical patent/CN102609217B/zh
Publication of CN102609217A publication Critical patent/CN102609217A/zh
Application granted granted Critical
Publication of CN102609217B publication Critical patent/CN102609217B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种IO设备的高速存储方法,包括:利用实时模块获取外部系统发送的数据,并将该数据发送至共享内存中;判断共享内存中是否存在数据;当共享内存中存在数据时,则将共享内存中存储的数据依次发送至IO设备中。在本发明提供的方案中,当实时模块获取到外部系统的数据时,可以马上将该数据发送至共享内存中,然后再将共享内存中的数据依次发送至IO设备中,与现有技术相比,本发明中的实时模块不存在等待的情况,能够满足实时传送数据的要求,而且,本发明的每个实时模块都不需要单独的IO缓存,而是直接将数据发送至共享内存中,所以节省了大量的内存空间。因此,本发明提供的方案不仅能够高速的存储数据,而且节约内存空间。

Description

一种IO设备的高速存储方法及系统
技术领域
本发明涉及IO设备技术领域,更具体的说,涉及IO设备的高速存储方法及系统。
背景技术
实时系统是一种对外部系统请求做出快速响应的系统,当实时系统超出一定时间没有响应,则认为实时系统超时,请求失败。实时系统应用在众多领域中,例如,应用在电信计费系统或银行系统等。
实时系统中可以有非实时模块和实时模块。非实时模块对一些没有纳入响应内容中的数据进行处理,并没有规定响应时间。而实时模块是实时系统中处理请求生成响应的核心。
在实时系统中,对请求响应时间有很严格要求,若系统响应超时,则会严重影响用户体验。在电信计费系统中,超时会使通话中断;在银行系统中,超时会使交易失败。所以提高实时系统的响应时间,对服务提供商提高服务品质有极大帮助。
当大量数据输出到IO设备时,可能会造成一定的延时甚至阻塞。请参见图1所示,例如外部系统2同时向实时系统1的多个实时模块11发送数据,每个实时模块11将获取到的数据放入IO缓存12中排队,等待向IO设备13发送数据。由于IO设备13同一时间只能接收一个实时模块11发送的数据,所以如果同一时间有很多个实时模块11都向IO设备13发送数据,那么很多个实时模块11都需要排队等候,如果实时模块11的排队时间过长,则严重影响了实时模块11的性能。
在现有技术中,采取增大IO缓存12的方法,使得数据在内存里能先多堆积一点,再一次过输出到IO设备。这种方法可减少输出次数,对提高效率有一定作用。
在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在以下问题:
1、当IO缓存12满了时,实时模块11需要将数据从IO缓存12输出到IO设备13上。但是,当实时系统1的IO设备13处于繁忙时,则实时模块11很多时间放在等待IO资源上。
2、当设置较大的IO缓存12时,意味着实时模块11隔一段较长的时间才真正执行输出到IO设备13的动作。若实时系统1是需要数据能实时输出到IO设备13,则此总方法是不能满足的。
3、由于每个进程的IO缓存12是独立的,当每个实时模块11都设置比较大的IO缓存12时,可能会造成大量内存浪费。
因此,如何制作一种解决上述问题的方法,成为目前最需要解决的问题。
发明内容
有鉴于此,本发明的设计目的在于,提供了一种IO设备的高速存储方法及系统,以实现实时系统中的实时模块能够快速存储数据,无需等待,而且能够避免内存的浪费。
本发明实施例是这样实现的:
一种IO设备的高速存储方法,包括:
利用实时模块获取外部系统发送的数据,并将该数据发送至共享内存中;
判断所述共享内存中是否存在数据;
当所述共享内存中存在数据时,则将所述共享内存中存储的数据依次发送至所述IO设备中。
优选地,在上述的IO设备的高速存储方法中,通过计数器的数值来判断所述共享内存中是否存在数据。
优选地,在上述的IO设备的高速存储方法中,所述计数器的初始数值为零。
优选地,在上述的IO设备的高速存储方法中,在所述实时模块向所述共享内存发送一份数据以后,则在所述计数器中加1;
在将所述共享内存中存储的数据发送至所述IO设备中以后,则在所述计数器中减1;
当所述计数器的数值大于零时,则继续获取所述共享内存中存储的数据并将该数据发送至IO设备中。
一种IO设备的高速存储系统,包括:实时模块、共享内存、IO模块、计数器和IO设备;
其中,所述实时模块、所述共享内存、所述IO模块和所述IO设备依次连接,所述计数器分别与所述实时模块和所述IO模块相连接;
所述实时模块,用于获取外部系统发送的数据,并将该数据发送至所述共享内存中;
所述共享内存,用于存储所述数据;
所述IO模块,用于判断所述共享内存中是否存在数据,当所述共享内存中存在数据时,则将所述共享内存中存储的数据发送至所述IO设备中。
与现有技术相比,本实施例提供的技术方案具有以下优点和特点:
在本发明提供的方案中,当实时模块获取到外部系统的数据时,可以马上将该数据发送至共享内存中,然后再将共享内存中的数据依次发送至IO设备中,与现有技术相比,本发明中的实时模块不存在等待的情况,能够满足实时传送数据的要求,而且,本发明的每个实时模块都不需要单独的IO缓存,而是直接将数据发送至共享内存中,所以节省了大量的内存空间。因此,本发明提供的方案不仅能够高速的存储数据,而且节约内存空间。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的现有实时系统的模块图;
图2为本发明所提供的IO设备的高速存储方法的流程图;
图3为本发明所提供的IO设备的高速存储系统的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种IO设备的高速存储方法,以实现高速存储数据,并且节约内存空间。该方法包括:利用实时模块获取外部系统发送的数据,并将该数据发送至共享内存中;判断所述共享内存中是否存在数据;当所述共享内存中存在数据时,则将所述共享内存中存储的数据依次发送至所述IO设备中。
由于上述IO设备的高速存储方法的具体实现存在多种方式,下面通过具体实施例进行详细说明:
请参见图2所示,图2所示的为本发明提供的一种IO设备的高速存储方法,该方法包括:
步骤S11、利用实时模块获取外部系统发送的数据,并将该数据发送至共享内存中;
步骤S12、判断所述共享内存中是否存在数据;
步骤S13、当所述共享内存中存在数据时,则将所述共享内存中存储的数据依次发送至所述IO设备中。
在图2所示的实施例中,当实时模块获取到外部系统的数据时,可以马上将该数据发送至共享内存中,然后再将共享内存中的数据依次发送至IO设备中,与现有技术相比,本发明中的实时模块不存在等待的情况,能够满足实时传送数据的要求,而且,本发明的每个实时模块都不需要单独的IO缓存,而是直接将数据发送至共享内存中,所以节省了大量的内存空间。因此,本发明提供的方案不仅能够高速的存储数据,而且节约内存空间。
下面通过具体事例来详细阐述本发明提供的IO设备的高速存储方法:
首先,利用实时模块获取外部系统发送的数据,实时模块将该数据发送至共享内存中,实时模块每发一份数据都要在计数器中加1,计数器的初始值为0。其中,实时系统大部分都是有多个实时模块组成的,所以有可能出现多个实时模块同一时间向共享内存发送数据的情况,但每个实时模块在向共享内存发送一份数据以后,都要在计数器中执行加1操作。假设,有三个实时模块向共享内存发送数据,且每个实时模块均发送一份数据,那么就在计数器中执行加3操作。
其次,通过计数器的数值来判断所述共享内存中是否存在数据,如果计数器的数值为零时,则不做任何操作,那么说明共享内存中已经没有需要传送的数据。如果所述计数器的数值大于零时,则继续获取所述共享内存中存储的数据并将该数据发送至IO设备中,每向IO设备中发送一个数据以后,均需要在计数器中执行减1操作。
在上述步骤中,如果计数器中的值大于零,则说明共享内存中还有数据需要发送至IO设备中。另外,计数器可以是操作系统提供的信号量、管道、套接字、消息队列等。
在本实施例中,实时模块进程不受IO设备的速度影响,当IO设备资源超负荷时,实时模块都能顺畅的运行,并且,实时模块可以获得更大的内存作为缓存;而且,内存分配的更加合理,多个实时模块进程统一在一块共享内存中申请资源,当某个进程数据突然增大时,将动态的获得多内存空间备用,数据输出减少时,将动态减少占用的内存空间。这样可以按需分配,使得整个系统占用更少的内存资源。因为实时模块没有采用IO缓存,每次读取到数据后都立即输出到IO设备,这一过程可以视为一个实时的,即能提高数据真正输出IO设备的速度。另外,本实施例是通过计数器的方式来判断共享内存中是否存在数据,当然,还可以通过其他方式来实现此过程,在此不再一一赘述。
请参见图3所示,图3所示的为一种IO设备的高速存储系统3,该高速存储系统3包括:实时模块31、共享内存32、IO模块34、计数器33和IO设备35;其中,所述实时模块31、所述共享内存32、所述IO模块34和所述IO设备35依次连接,所述计数器33分别与所述实时模块31和所述IO模块34相连接;所述实时模块31,用于获取外部系统4发送的数据,并将该数据发送至所述共享内存32中;所述共享内存32,用于存储所述数据;所述IO模块34,用于判断所述共享内存32中是否存在数据,当所述共享内存32中存在数据时,则将所述共享内存32中存储的数据发送至所述IO设备35中。
需要说明的是,图2至图3所示的实施例只是本发明所介绍的优选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (2)

1.一种IO设备的高速存储方法,其特征在于,包括:
利用实时模块获取外部系统发送的数据,并将该数据发送至共享内存中;所述实时模块为多个;
使用计数器的数值来判断所述共享内存中是否存在数据;
当所述共享内存中存在数据时,则将所述共享内存中存储的数据依次发送至所述IO设备中;
所述计数器的初始数值为零;
所述实时模块向所述共享内存发送一份数据以后,则在所述计数器中加1;
在将所述共享内存中存储的数据发送至所述IO设备中以后,则在所述计数器中减1;
当所述计数器的数值大于零时,则继续获取所述共享内存中存储的数据并将该数据发送至IO设备中。
2.一种IO设备的高速存储系统,其特征在于,包括:实时模块、共享内存、IO模块、计数器和IO设备;
其中,所述实时模块、所述共享内存、所述IO模块和所述IO设备依次连接,所述计数器分别与所述实时模块和所述IO模块相连接;
所述实时模块,用于获取外部系统发送的数据,并将该数据发送至所述共享内存中;所述实时模块为多个;
所述共享内存,用于存储所述数据;
所述IO模块,用于使用计数器的数值来判断所述共享内存中是否存在数据,当所述共享内存中存在数据时,则将所述共享内存中存储的数据发送至所述IO设备中;
所述计数器的初始数值为零;
所述实时模块向所述共享内存发送一份数据以后,则在所述计数器中加1;在将所述共享内存中存储的数据发送至所述IO设备中以后,则在所述计数器中减1;
所述IO模块,当所述计数器的数值大于零时,则继续获取所述共享内存中存储的数据并将该数据发送至IO设备中。
CN201210011701.6A 2012-01-13 2012-01-13 一种io设备的高速存储方法及系统 Expired - Fee Related CN102609217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210011701.6A CN102609217B (zh) 2012-01-13 2012-01-13 一种io设备的高速存储方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210011701.6A CN102609217B (zh) 2012-01-13 2012-01-13 一种io设备的高速存储方法及系统

Publications (2)

Publication Number Publication Date
CN102609217A CN102609217A (zh) 2012-07-25
CN102609217B true CN102609217B (zh) 2015-04-29

Family

ID=46526624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210011701.6A Expired - Fee Related CN102609217B (zh) 2012-01-13 2012-01-13 一种io设备的高速存储方法及系统

Country Status (1)

Country Link
CN (1) CN102609217B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559196B (zh) * 2019-09-10 2024-03-26 航天科工惯性技术有限公司 一种进程间通讯数据共享的传输方法
CN112788658B (zh) * 2019-11-11 2024-05-24 鹤壁天海电子信息系统有限公司 一种通信设备的共享数据方法、通信设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
CN1794243A (zh) * 2005-12-26 2006-06-28 北京中星微电子有限公司 一种数据缓存单元及其实现方法
CN1828550A (zh) * 2005-02-28 2006-09-06 中国科学院计算技术研究所 一种内存访问信息实时捕获装置及访存信息捕获方法
CN1863132A (zh) * 2005-11-23 2006-11-15 华为技术有限公司 一种缓存管理系统与方法
CN101656682A (zh) * 2009-06-12 2010-02-24 中兴通讯股份有限公司 一种移动多媒体数据广播业务处理的方法及系统
CN101719260A (zh) * 2009-12-01 2010-06-02 中国建设银行股份有限公司 数据监控方法、系统以及监控服务端
CN101902524A (zh) * 2010-07-13 2010-12-01 上海未来宽带技术及应用工程研究中心有限公司 能作为视频直播系统视频源的手机及音视频发送方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI227409B (en) * 2003-06-05 2005-02-01 Carry Computer Eng Co Ltd Storage device capable of enhancing transmission speed

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
CN1828550A (zh) * 2005-02-28 2006-09-06 中国科学院计算技术研究所 一种内存访问信息实时捕获装置及访存信息捕获方法
CN1863132A (zh) * 2005-11-23 2006-11-15 华为技术有限公司 一种缓存管理系统与方法
CN1794243A (zh) * 2005-12-26 2006-06-28 北京中星微电子有限公司 一种数据缓存单元及其实现方法
CN101656682A (zh) * 2009-06-12 2010-02-24 中兴通讯股份有限公司 一种移动多媒体数据广播业务处理的方法及系统
CN101719260A (zh) * 2009-12-01 2010-06-02 中国建设银行股份有限公司 数据监控方法、系统以及监控服务端
CN101902524A (zh) * 2010-07-13 2010-12-01 上海未来宽带技术及应用工程研究中心有限公司 能作为视频直播系统视频源的手机及音视频发送方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢绮闽等.RTLinux下的一种实时应用通信机制.《单片机与嵌入式系统应用》.2003,第2003年卷(第02期),第10-14页. *

Also Published As

Publication number Publication date
CN102609217A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN101867511B (zh) 流控帧发送方法、相关设备及系统
US20110055389A1 (en) Methods and Computer Program Products for Generating a Model of Network Application Health
US9900090B1 (en) Inter-packet interval prediction learning algorithm
US11201836B2 (en) Method and device for managing stateful application on server
CN105487987B (zh) 一种处理并发顺序读io的方法及装置
CN114257559B (zh) 一种数据报文的转发方法及装置
CN109271259B (zh) 企业服务总线系统、数据处理方法、终端及存储介质
CN103986585A (zh) 报文预处理方法及其装置
CN111371848A (zh) 一种请求处理方法、装置、设备及存储介质
CN107968848B (zh) 一种获取ip地址的方法、终端设备及存储介质
CN102609217B (zh) 一种io设备的高速存储方法及系统
CN103888452B (zh) 用于报文压缩的保序方法和装置
CN110909359A (zh) 基于双系统架构的通信方法及终端设备
CN104780118A (zh) 一种基于令牌的流控方法及装置
US20140136683A1 (en) Inter-packet interval prediction operating algorithm
CN102055671A (zh) 一种多应用发包的优先级管理方法
US20140095902A1 (en) Power Saving Traffic Management Policies
CN102098215A (zh) 一种多应用收包的优先级管理方法
CN114780353B (zh) 一种文件日志监控方法、系统及计算设备
CN106713462A (zh) 一种网络数据包处理方法和装置
CN103701865A (zh) 一种数据传输的方法及系统
CN107273082A (zh) 图像的显示方法、装置、终端及存储介质
US20210281629A1 (en) Processing of web-based applications
CN108121587B (zh) 一种数据加速方法及虚拟加速器
CN110580202A (zh) 服务器系统内消息的处理方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 510070 one of the 507 writers in 83 Middle Road, martyrs' road, Guangzhou, Guangdong, four, 508, edited by myself, Yuexiu District

Applicant after: Sunrise Technology Co., Ltd.

Address before: 19, building 368, 510300 South Guangzhou Avenue, Guangdong, Guangzhou

Applicant before: Snrise Corporation

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SNRISE CORPORATION TO: CONGXING TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HONGKONG SHIYE DEVELOPMENT CO., LTD.

Free format text: FORMER OWNER: CONGXING TECHNOLOGY CO., LTD.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Room 32, building 3205, Bank of America, 12 Cecil Harcourt Road, central, Hongkong, China

Patentee after: Hongkong world industry development Co., Ltd.

Address before: 510070 one of the 507 writers in 83 Middle Road, martyrs' road, Guangzhou, Guangdong, four, 508, edited by myself, Yuexiu District

Patentee before: Sunrise Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: TELEFON AB L.M. ERICSSON (SE)

Free format text: FORMER OWNER: HONGKONG SHIYE DEVELOPMENT CO., LTD.

Effective date: 20150908

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150908

Address after: Stockholm

Patentee after: Telefon AB L.M. Ericsson [SE]

Address before: Room 32, building 3205, Bank of America, 12 Cecil Harcourt Road, central, Hongkong, China

Patentee before: Hongkong world industry development Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150429

Termination date: 20210113

CF01 Termination of patent right due to non-payment of annual fee