一种发送数据的方法及装置的制作方法

文档序号:7721019阅读:108来源:国知局
专利名称:一种发送数据的方法及装置的制作方法
技术领域
本发明涉及网络应用领域,特别是涉及一种发送数据的方法及装置。
背景技术
在现代企业信息化发展进程中,各单位为了提高本单位综合竞争力,先后构建了 各类信息系统来支撑业务的发展。特别是对于一些规模大、地域分布广的单位,为达到内部 各单位之间的信息共享与利用,又建设了数据交换系统。在数据交换系统中,一般采用同步 或异步两种方式实现单位之间数据的传输。同步方式是一方向另一方发送数据时处于等待 状态,直到另一方收到数据后为止;异步方式是一方向另一方发送数据时无需等待对方是 否收到而直接返回。 在现有技术中,同步方式通常采用Web Services技术实现。WebServices是基 于网络的、分布式的模块化组件,采用WSDL进行描述,WSDL即Web Services Description Language的縮写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言,发送方 和接收方通过简单对象访问(SOAP)协议进行交互,传输文本格式的数据;异步方式通常采 用消息中间件或邮件方式实现。消息中间件提供了可靠、稳定的数据传输,支持数据的存储 转发、断点续传等,应用系统可以通过其提供的标准JMS接口进行调用,实现数据传输;邮 件方式通过SMTP、 P0P3协议,通过邮件服务器传输数据。 基于Web Services的数据传输是由交换的一方提供Web Services,另一方利用 Web Services的客户端通过广域网访问该Web Services。基于消息中间件的数据传输在 两个单位都部署消息中间件,业务系统通过JMS接口访问本单位的消息中间件,由消息中 间件完成数据传输。 从上述过程中可以看出,采用同步方式传输数据,对于数据量小的数据可以使得 等待时间较短,但是对于数据量大的数据则会导致等待时间较长的结果,浪费网络资源;而 采用异步方式传输数据,对于数据量大的数据不会浪费网络资源,但是又无法保证数据量 小的数据能够实时传输。 总之,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够提出一 种发送数据的方法,用以解决现有技术中单独采用同步或异步传输数据都存在缺点的问 题。

发明内容
本发明所要解决的技术问题是提供一种发送数据的方法,用以解决现有技术中单 独采用同步或异步传输数据都存在缺点的问题。 本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种发送数据 的装置,从而保证该方法的实现和应用。 为解决上述技术问题,本发明实施例提供了一种发送数据的方法,包括
判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈值;
4
如果所述数据量不大于所述大小阈值,根据预置的历史库中所述待发送数据的历 史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均速度用于表示所述待 发送数据的源地址和目标地址之间的平均速度; 判断所述发送时间是否超过预先设定的时间阈值,如果发送时间超过所述时间阈 值,则采用异步方式发送所述待发送数据,如果发送时间不超过所述时间阈值,采用同步方 式发送所述待发送数据; 如果所述数据量大于所述阈值,采用异步方式发送所述待发送数据。
本发明实施例还提供了一种发送数据的装置,包括 第一判断模块,用于判断当前需要发送的待发送数据的数据量是否大于预先设定 的大小阈值; 第一计算模块,用于当所述第一判断模块的结果为否时,根据预置的历史库中所
述待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均速
度用于表示所述待发送数据的源地址和目标地址之间的平均速度; 第二判断模块,用于判断所述发送时间是否超过预先设定的时间阈值; 异步发送模块,用于当所述第二判断模块的结果为是时,或者,当所述第一判断模
块的结果为是时,采用异步方式发送所述待发送数据; 同步发送模块,用于当所述第二判断模块的结果为否时,采用同步方式发送所述 待发送数据。 与现有技术相比,本发明具有以下优点 本发明将同步和异步两种方式进行了结合,在对待发送数据进行数据量大小以及 发送时间进行了判断之后,再决定采取何种方式来发送待发送数据,这样就在后续发送待 发送数据时,将同步发送和异步发送有机地结合在一起,最大限度的利用了两种传输方式 各自的优点。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
图1是本发明的一种发送数据的方法实施例1的流程图;
图2是本发明的一种发送数据的方法实施例2的流程图;
图3是本发明的一种发送数据的装置实施例1的结构框图;
图4是本发明的一种发送数据的装置实施例2的结构框图;
图5是本发明的实施例在实际应用中的详细结构图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算装置环境或配置中。例如个人计算机、服务
5器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备 的分布式计算环境等等。 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。 一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。 参考图l,示出了本发明的一种发送数据的方法实施例1的流程图,可以包括以下 步骤 步骤101 :判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈 值,如果是,则进入步骤105,如果否,则进入步骤102 ; 当业务系统发起数据传输请求时,主线程获取到当前需要发送的待发送数据,本 实施例中,执行主体可以是主线程;其中,所述大小阈值即是数据量的门限值,例如,在实 际中大小阈值可以设置为5M,即是判断待发送数据的大小是否超过5M,如果超过,则直接 进入步骤105,采用异步方式传输该待发送数据;如果不超过,则进入步骤102进行后续处 理; 步骤102 :根据预置的历史库中所述待发送数据的历史平均速度计算发送所述待 发送数据需要的发送时间,所述历史平均速度用于表示所述待发送数据的源地址和目标地 址之间的平均速度; 所述预置的历史库中可以保存所述待发送数据的源地址、目标地址,以及两地之 间的历史平均速度,所述历史平均速度可以是以月为单位计算的两地之间的数据发送的平 均速度;当从所述历史库中获取到历史平均速度的时候,可以将所述待发送数据的数据量 大小除以所述历史平均速度,得到的结果即是发送所述待发送数据需要的发送时间;
步骤103 :判断所述发送时间是否超过预先设定的时间阈值,如果是,则进入步骤 105,如果否,进入步骤104 ; 同时,可以对所述发送时间与一个预先设定的时间阈值相比较,所述时间阈值可 以根据网络情况或者通信双方的需求来设定,例如,可以是5分钟;
步骤104 :采用同步方式发送所述待发送数据; 当待发送数据的数据量小于所述大小阈值,并且预算出的发送时间也小于所述时
间阈值时,则认为可以采用同步方式发送所述待发送数据,不会造成超时。
步骤105 :采用异步方式发送所述待发送数据。 当待发送数据的数据量大于所述大小阈值,或者,预算出的发送时间大于所述时 间阈值时,则认为这种情况下进行同步发送有可能造成超时,选择用异步方式发送所述待 发送数据。 在本实施例中,同步方式适合小数据量、即时性要求高的传输需求;异步方式适合 大数据量、即时性要求不高的传输需求;基于Web Services的同步方式传输数据具有传输 数据量小,及时性高的特点,基于消息中间件的异步方式传输数据具有传输数据量大,及时 性低的特点,一般要求各业务系统在实现数据交换时,根据业务特点进行单独处理,因此本 发明将两种方式进行了结合,在对待发送数据进行数据量大小以及发送时间进行了判断之后,再决定采取何种方式来发送待发送数据,这样就在后续发送待发送数据时,将同步发送
和异步发送有机地结合在一起,最大限度的利用了两种传输方式各自的优点,进一步的,也
为在不同场景条件下、不同网络状态下和不同即时性要求条件下的数据发送提供了很好的
一个解决方案,简化了业务系统的开发,提高了数据交换的可靠性和稳定性。 参考图2,示出了本发明的一种发送数据的方法实施例2的流程图,本实施例可以
包括以下步骤 步骤201 :建立历史发送日志,所述历史发送日志用于保存待发送数据的源地址、 目标地址、数据量、发送的起始时间和完成时间。 其中,所述历史发送日志,可以保存待发送数据的源地址、目标地址、数据量、发送 的起始时间和完成时间,以及是同步发送方式或者异步发送方式;具体的,在本实施例中可 以由统计线程和主线程来实施; 步骤202 :根据所述发送数据的源地址、目标地址、数据量、发送的起始时间和完 成时间,计算所述源地址和目标地址之间的平均发送速度Vm, m>= l,所述Vm表示当前月 份的前m个月份当月的平均发送速度; 统计线程根据历史发送日志中的数据,计算每一个月份中的平均发送速度,这样 才能在后续计算历史平均速度,例如,统计A地(源地址)至B地(目标地址)的历史平均 速度时,首先统计出过去各个月平均发送速度K. . . Vm,分别对应过去第一月至第m月的平 均发送速度; 需要说明的是,其中,在统计过程中,将每一天的时间段划分为三个部分,时间从 06:00到12:00为上午时段、时间从12:00到18:00为下午时段、时间从18:00到第二天的 06:00为夜间时段;例如,可以计算两地之间的上午时段的平均发送速度,进而计算历史平 均速度;上午时段中一般业务相对繁忙,系统之间的数据交换频繁,对数据传输的效率要求 较高;下午时段中业务量相对少了一些,系统之间的数据交换频繁度下降;夜间时段中业 务量最少,系统之间的数据交换频繁度最低; 通过将时间段划分为三个部分,可以更为准确的对待发送数据做出准确的判断, 可以使得判断结果更贴合实际情况; 步骤203 :根据公式V = E (RnXVnXNn)/ E (RnXNn), n = 1…m计算历史平均速 度,所述Rm为当前月份的上m个月份的参考因子,所述Rm〈二 1 ;所述Nm为当前月份的上m 个月份当月的发送数据次数; 本实施例中统计线程可以每月对历史发送日志进行一次分析统计,当前月份的数 据发送要参考对过去m月的统计结果,由于距离当前发送时间越近的历史发送日志越是能 更好地反映出当前的发送速度,因此可以预先设置可参考因素R,例如过去第一月的可参 考因素定为Rp过去第二月的可参考因素定为R2,直到过去第m月的可参考因素为&,其中 &至Rm为依次减小,反映过去各月可参考度依次减小;其中Rm的范围一般情况下取0 1, m优选情况下可以取10 ; 由于统计结果还受到A、 B两地之间发送数据次数的影响,统计出过去各月的A、 B 两地之间上午时段内的发送数据次数K. . . Nm,分别对应过去第一月至第m月的发送数据 次数;由公式V二E (RnXVnXNn)/E (RnXNn),n = 1…m来算出过去m月A、B两地之间上 午时段的历史平均速度;根据类似的方法,可以计算出A、B两地之间下午时段、夜间时段的历史平均速度; 步骤204 :将所述历史平均速度保存至所述预置的历史库中; 在预置的历史库中保存的历史平均速度可以供后续主线程继续调用; 步骤205 :判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈
值,如果是,则进入步骤208,如果否,则进入步骤206 ; 步骤206 :根据预置的历史库中所述待发送数据的历史平均速度计算发送所述待 发送数据需要的发送时间,所述历史平均速度用于表示所述待发送数据的源地址和目标地 址之间的平均速度; 步骤207 :判断所述发送时间是否超过预先设定的时间阈值,如果是,则进入步骤 208,如果否,则进入步骤209 ; 步骤208 :采用异步方式发送所述待发送数据; 需要说明的是,在本实施例中,在确定采用何种方式发送所待发送数据之前,可以 将当前的发送数据量、目的地址、发送的起始时间保存至历史发送日志中;
步骤209 :采用同步方式发送所述待发送数据。 并且,在采用异步或者同步方式发送所述待发送数据之后,还可以将当前的发送 完成时间保存至所述历史发送日志中。 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。 参考图3,示出了本发明的一种发送数据的装置实施例1的结构框图,可以包括以 下模块 第一判断模块301,用于判断当前需要发送的待发送数据的数据量是否大于预先 设定的大小阈值; 当业务系统发起数据传输请求时,主线程获取到当前需要发送的待发送数据,本
实施例中,执行主体可以是主线程;其中,所述大小阈值即是数据量的门限值; 第一计算模块302,用于当所述第一判断模块的结果为否时,根据预置的历史库中
所述待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均
速度用于表示所述待发送数据的源地址和目标地址之间的平均速度; 所述预置的历史库中可以保存所述待发送数据的源地址、目标地址,以及两地之 间的历史平均速度,所述历史平均速度可以是以月为单位计算的两地之间的数据发送的平 均速度;当从所述历史库中获取到历史平均速度的时候,可以将所述待发送数据的数据量 大小除以所述历史平均速度,得到的结果即是发送所述待发送数据需要的发送时间;
第二判断模块303,用于判断所述发送时间是否超过预先设定的时间阈值;
异步发送模块304,用于当所述第二判断模块的结果为是时,或者,当所述第一判 断模块的结果为是时,采用异步方式发送所述待发送数据; 同步发送模块305,用于当所述第二判断模块的结果为否时,采用同步方式发送所 述待发送数据。
在本实施例中,同步方式适合小数据量、即时性要求高的传输需求;异步方式适合
大数据量、即时性要求不高的传输需求;基于Web Services的同步方式传输数据具有传输
数据量小,及时性高的特点,基于消息中间件的异步方式传输数据具有传输数据量大,及时
性低的特点,一般要求各业务系统在实现数据交换时,根据业务特点进行单独处理,因此本
发明将两种方式进行了结合,在对待发送数据进行数据量大小以及发送时间进行了判断之
后,再决定采取何种方式来发送待发送数据,这样就在后续发送待发送数据时,将同步发送
和异步发送有机地结合在一起,最大限度的利用了两种传输方式各自的优点,进一步的,也
为在不同场景条件下、不同网络状态下和不同即时性要求条件下的数据发送提供了很好的
一个解决方案,简化了业务系统的开发,提高了数据交换的可靠性和稳定性。 参考图4,示出了本发明的一种发送数据的装置实施例2的结构框图,可以包括以
下模块 建立日志模块401 ,用于建立历史发送日志,所述历史发送日志用于保存待发送数 据的源地址、目标地址、数据量、发送的起始时间和完成时间。 第二计算模块402,用于根据所述发送数据的源地址、目标地址、数据量、发送的起
始时间和完成时间,计算所述源地址和目标地址之间的平均发送速度Vm ;其中,m > = 1 ; 第三计算模块403,用于根据公式V =E (RnXVnXNn)/ E (RnXNn), n = 1…m计
算历史平均速度,所述Rm为当前月份的上m个月份的参考因子,所述Rm〈二 1 ;所述Nm为当
前月份的上m个月份当月的发送数据次数; 第一保存模块404,用于将所述历史平均速度保存至所述预置的历史库中。
第一判断模块405,用于判断当前需要发送的待发送数据的数据量是否大于预先 设定的大小阈值; 第一计算模块406,用于当所述第一判断模块的结果为否时,根据预置的历史库中
所述待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均
速度用于表示所述待发送数据的源地址和目标地址之间的平均速度; 第二判断模块407,用于判断所述发送时间是否超过预先设定的时间阈值; 异步发送模块408,用于当所述第二判断模块的结果为是时,或者,当所述第一判
断模块的结果为是时,采用异步方式发送所述待发送数据; 同步发送模块409,用于当所述第二判断模块的结果为否时,采用同步方式发送所 述待发送数据。 第二保存模块410,用于将当前的发送数据量、目的地址、发送的起始时间保存至 历史发送日志中。 第三保存模块411,用于将当前的发送完成时间保存至所述历史发送日志中。
其中,还可以参考图6所示,为本实施例在实际中应用时的详细结构图,其中,自 适应传输控制模块为本实施例中涉及到的内容。 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参 见方法实施例的部分说明即可。 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
9体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除
在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 以上对本发明所提供的一种发送数据的方法及发送数据的装置进行了详细介绍,
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用
于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的
思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为
对本发明的限制。
权利要求
一种发送数据的方法,其特征在于,包括判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈值;如果所述数据量不大于所述大小阈值,根据预置的历史库中所述待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均速度用于表示所述待发送数据的源地址和目标地址之间的平均速度;判断所述发送时间是否超过预先设定的时间阈值,如果发送时间超过所述时间阈值,则采用异步方式发送所述待发送数据,如果发送时间不超过所述时间阈值,采用同步方式发送所述待发送数据;如果所述数据量大于所述阈值,采用异步方式发送所述待发送数据。
2. 如权利要求1所述的方法,其特征在于,所述判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈值之前,还包括建立历史发送日志,所述历史发送日志用于保存待发送数据的源地址、目标地址、数据量、发送的起始时间和完成时间。
3. 如权利要求2所述的方法,其特征在于,所述建立历史发送日志之后,还包括根据所述发送数据的源地址、目标地址、数据量、发送的起始时间和完成时间,计算所述源地址和目标地址之间的平均发送速度Vm, m > = 1 ;根据公式<formula>formula see original document page 2</formula>n= 1…m计算历史平均速度,所述Rm为当前月份的上m个月份的参考因子,所述Rm〈二 1 ;所述Nm为当前月份的上m个月份当月的发送数据次数;将所述历史平均速度保存至所述预置的历史库中。
4. 如权利要求2所述的方法,其特征在于,所述采用同步方式发送所述待发送数据,或者采用异步方式发送所述待发送数据之前,还包括将当前的发送数据量、目的地址、发送的起始时间保存至历史发送日志中。
5. 如权利要求2所述的方法,其特征在于,所述采用同步方式发送所述待发送数据,或者采用异步方式发送所述待发送数据之后,还包括将当前的发送完成时间保存至所述历史发送日志中。
6. —种发送数据的装置,其特征在于,包括第一判断模块,用于判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈值;第一计算模块,用于当所述第一判断模块的结果为否时,根据预置的历史库中所述待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,所述历史平均速度用于表示所述待发送数据的源地址和目标地址之间的平均速度;第二判断模块,用于判断所述发送时间是否超过预先设定的时间阈值;异步发送模块,用于当所述第二判断模块的结果为是时,或者,当所述第一判断模块的结果为是时,采用异步方式发送所述待发送数据;同步发送模块,用于当所述第二判断模块的结果为否时,采用同步方式发送所述待发送数据。
7. 如权利要求6所述的装置,其特征在于,还包括建立日志模块,用于建立历史发送日志,所述历史发送日志用于保存待发送数据的源地址、目标地址、数据量、发送的起始时间和完成时间。
8. 如权利要求7所述的装置,其特征在于,还包括第二计算模块,用于根据所述发送数据的源地址、目标地址、数据量、发送的起始时间和完成时间,计算所述源地址和目标地址之间的平均发送速度Vm ;其中,m > = 1 ;第三计算模块,用于根据公式V二E (RnXVnXNn)/E (RnXNn),n = 1…m计算历史平均速度,所述Rm为当前月份的上m个月份的参考因子,所述Rm〈二 1 ;所述Nm为当前月份的上m个月份当月的发送数据次数;第一保存模块,用于将所述历史平均速度保存至所述预置的历史库中。
9. 如权利要求7所述的装置,其特征在于,还包括第二保存模块,用于将当前的发送数据量、目的地址、发送的起始时间保存至历史发送日志中。
10. 如权利要求7所述的装置,其特征在于,还包括第三保存模块,用于将当前的发送完成时间保存至所述历史发送日志中。
全文摘要
本发明提供了一种发送数据的方法及装置,所述方法包括判断当前需要发送的待发送数据的数据量是否大于预先设定的大小阈值;如果数据量不大于所述大小阈值,根据预置的历史库中待发送数据的历史平均速度计算发送所述待发送数据需要的发送时间,历史平均速度用于表示待发送数据的源地址和目标地址之间的平均速度;判断所述发送时间是否超过预先设定的时间阈值,如果发送时间超过所述时间阈值,则采用异步方式发送所述待发送数据,如果发送时间不超过所述时间阈值,采用同步方式发送所述待发送数据;如果所述数据量大于所述阈值,采用异步方式发送所述待发送数据。将同步发送和异步发送有机地结合在一起,最大限度的利用了两种传输方式各自的优点。
文档编号H04L29/08GK101764746SQ200910242779
公开日2010年6月30日 申请日期2009年12月17日 优先权日2009年12月17日
发明者刘海涛, 孙丕石, 曹占峰, 王亚玲 申请人:中国电力科学研究院;国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1