CN107015999A - 一种基于分布式环境的信息发送方法及装置 - Google Patents

一种基于分布式环境的信息发送方法及装置 Download PDF

Info

Publication number
CN107015999A
CN107015999A CN201610060098.9A CN201610060098A CN107015999A CN 107015999 A CN107015999 A CN 107015999A CN 201610060098 A CN201610060098 A CN 201610060098A CN 107015999 A CN107015999 A CN 107015999A
Authority
CN
China
Prior art keywords
information
sent
server
mark
buffer area
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.)
Granted
Application number
CN201610060098.9A
Other languages
English (en)
Other versions
CN107015999B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610060098.9A priority Critical patent/CN107015999B/zh
Publication of CN107015999A publication Critical patent/CN107015999A/zh
Application granted granted Critical
Publication of CN107015999B publication Critical patent/CN107015999B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供一种基于分布式环境的信息发送方法及装置,该方法中,第一服务器确定各待发送信息的标识,将各标识发送至缓存区中存储,再根据缓存区中的标识逐一发送各待发送信息,且每发送一条待发送信息便删除缓存区中相应的标识,当切换至第二服务器发送信息时,第二服务器重新确定各待发送信息的标识,再将重新确定的各待发送的信息的标识发送至缓存区,并对该缓存区中的标识进行去重处理,最后再根据缓存区中去重后的标识逐一发送各待发送信息。通过上述方法,当切换服务器发送信息时,可以通过对缓存区中存储的标识进行去重处理,避免重复发送信息、减少待发送信息等待发送的时间,提高信息发送的效率。

Description

一种基于分布式环境的信息发送方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种基于分布式环境的信息发送方法及装置。
背景技术
随着信息化社会的发展,人们越来越习惯于使用网络来进行业务,使得通过网络进行的业务的数量在不断增加。而传统技术中,采用单一的设备或者程序进行业务处理的方式,在现今业务量的不断增加和设备硬件的性能限制的环境下,越发无法胜任当前网络业务处理的要求。于是,在现有技术中,人们开始利用分布式环境来处理网络业务,即,由多台服务器组成分布式系统,动态分配业务至运行压力较小的服务器上,使得该分布式系统可以执行大量的业务,而不会受到服务器的设备硬件性能的限制。
在现有技术中,当使用分布式系统进行信息发送时,首先要确定一个负载较小的服务器,该服务器从保存待发送信息的数据库中确定各未发送信息以及各发送失败的信息,作为待发送信息,将各待发送信息按照预先设定的规则排队,作为待发送信息队列,之后该分布式系统即可按顺序逐一发送各待发送信息。
由于考虑到存在待发送信息发送失败或者发送后没有接收到响应的情况(即,出现异常信息),所以为了使各异常信息可以快速的被重新发送,现有技术中,当各待发送信息的发送时间达到阈值或者发送数量达到阈值时,分布式系统会再次重新确定一个负载较小的服务器,再次执行待发送信息的发送流程。
但是,当该分布式系统确定服务器再次执行待发送信息的发送流程时,由于待发送信息队列中的各待发送信息可能还未全部发送完毕,所以在保存待发送信息的数据库中这种已经排队等待发送、但是尚未发送的信息也会显示未发送的状态,导致再次确定各待发送信息时,这类信息会被再次加入该待发送信息队列中,这就使的该待发送信息队列中存在重复的待发送信息。
例如,分布式系统确定由第一服务器执行信息发送流程,假设该第一服务器通过数据库中各信息的状态,确定各待发送信息,并建立待发送信息队列中包含100条待发送信息。进一步假设,当该分布式系统切换至第二服务器继续执行信息发送流程时,该待发送信息队列中尚有50条未发送的待发送信息,并且已发送的50条待发送信息中,有25条待发送信息发送失败,需要重新发送。
但是,由于在该待发送信息队列中尚未发送的50条待发送信息,在数据库中的状态仍然是未发送,所以,该第二服务器在确定待发送信息时,仍然会将这50条尚未发送的待发送信息确定为需要添加到待发送信息队列中的信息,于是,当该第二服务器确定当前待发送信息队列后,该待发送信息队列中会存在50个重复的待发送信息(即此时该待发送信息队列中包含:50个尚未发送的待发送信息、确定需要重新发送的25个待发送信息以及被重复加入该待发送信息队列的50条待发送信息,一共125条待发送信息),这就使得信息发送的效率大大降低。
进一步,若在该第二服务器确定待发送信息时,数据库中出现了新的待发送信息,则由于待发送信息队列中存在待发送信息的重复,该新的待发送信息只有等待前面125条待发送信息均被发送完毕后,才会被发送。这就使得,信息发送存在被积压,不能在短时内发送的问题,同样也使得信息发送的效率降低。
可见,在现有技术中采用分布式系统发送信息时,若待发送信息数量较多,待发送信息队列中存在的重复待发送信息就会越积越多,导致分布式环境下,发送信息的效率降低,且消耗网络资源增加。
发明内容
本申请实施例提供一种基于分布式环境的信息发送方法及装置,用以解决现有技术中信息发送容易存在积压,发送效率低的问题。
本申请实施例提供的一种基于分布式环境的信息发送方法,包括:
分布式系统中的第一服务器确定各待发送信息的标识;
所述第一服务器将所述标识发送到缓存区存储;
所述第一服务器根据缓存区中存储的标识,发送各待发送信息,其中,每发送一个待发送信息,则删除所述缓存区中发送的待发送信息对应的标识;
当切换到所述分布式系统中的第二服务器发送信息时,所述第二服务器确定各待发送信息的标识;
所述第二服务器将所述第二服务器自身确定的标识添加到缓存区中,并将所述缓存区中保存的标识进行去重处理;
所述第二服务器根据缓存区中去重处理后的标识,发送各待发送信息。
本申请实施例提供的一种基于分布式环境的信息发送装置,包括:
标识模块,用于确定各待发送信息的标识;
缓存去重模块,用于将所述标识发送到缓存区存储,并将所述缓存区中保存的标识进行去重处理;
发送模块,用于根据缓存区中存储的标识,发送各待发送信息,其中,每发送一个待发送信息,则删除所述缓存区中发送的待发送信息对应的标识。
本申请实施例提供一种基于分布式环境的信息发送方法及装置,该方法中,第一服务器确定各待发送信息的标识,将各标识发送至缓存区中存储,再根据缓存区中的标识逐一发送各待发送信息,且每发送一条待发送信息便删除缓存区中相应的标识,当切换至第二服务器发送信息时,第二服务器重新确定各待发送信息的标识,再将重新确定的各待发送的信息的标识发送至缓存区,并对该缓存区中的标识进行去重处理,最后再根据缓存区中去重后的标识逐一发送各待发送信息。通过上述方法,当切换服务器发送信息时,可以通过对缓存区中存储的标识进行去重处理,避免重复发送信息、减少待发送信息等待发送的时间,提高信息发送的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的基于分布式环境的信息发送过程;
图2为本申请实施例提供的一种基于分布式环境的信息发送装置的结构示意图。
具体实施方式
在本申请实施例中,分布式系统中用于发送信息的服务器,先确定各待发送信息的标识,并将该标识发送至缓存区中,之后在根据标识发送各待发送信息时,每发送一条待发送信息便删除该缓存区中相应的标识,使得缓存区中存储的标识都是尚未发送过的待发送信息。当分布式系统切换服务器继续发送信息时,重新确定的服务器会再次确定需要发送的各待发送信息,并且同样确定当前各待发送信息的标识,在将该再次确定的标识发送至该缓存区后,对该缓存区中的各标识进行去重处理,使得该缓存区中不存在重复的标识,最后根据去重后的标识发送各待发送信息。可见本申请所述的方法,可以有效地避免待发送信息重复发送的情况,使得信息发送被延后的可能减少,提高了信息发送效率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的基于分布式环境的信息发送过程,具体包括以下步骤:
S101:分布式系统中的第一服务器确定各待发送信息的标识。
在本申请实施例中,由于是基于分布式系统的信息发送过程,所以该分布式系统首先要确定一个用于信息发送过程的服务器。通常情况下,该分布式系统为了保证任务执行的效率,在启动一个任务(如,本申请中所述的信息发送过程便可视为一个任务)时,会选择当前运行压力较小的服务器执行该任务。于是,在本身请中所述的第一服务器便是指该分布式系统选择的当前运行压力较小的、用于发送各待发送信息的服务器。
另外,在本申请中所述的待发送信息可以是查询信息,具体可以是向银行发送的对提现请求的结果进行查询的信息,本申请下面仅以待发送信息为向银行发送的对提现请求的结果进行查询的信息为例进行说明。
当该第一服务器被选择用于执行信息发送后,该第一服务器在确定各待发送信息时,可通过访问数据库确定各待发送信息。具体的,由于待发送信息为对提现请求的结果进行查询的信息,所以此时该第一服务器需要确定的是提现结果为未知的信息,并根据该提现结果未知的信息向对应的银行发送提现结果查询信息,所以该第一服务器可以在访问数据库时,可先确定一段时间内提现请求的提现结果为未知的提现请求,再根据各提现结果为未知的提现请求确定相应的查询提现请求的提现结果的信息,简称查询信息(即,待发送信息)。
进一步的,在本申请中所述的提现请求,一般由该分布式系统的服务器发送至银行,并根据该银行返回的提现结果确定该提现请求的结果。但是由于可能存在在发送提现请求后,没有接收到相应的提现结果的情况,所以此时该分布式系统可发送查询信息,以向该银行重复询问该提现请求的提现结果,直到确定该提现请求的提现结果为止。通过以上描述可知,即使发送过查询信息,该银行也可能不会返回相应的提现结果,需要该分布式系统反复发送查询信息,以尝试获得该提现请求的提现结果,所以本申请所述的查询信息存在两种情况:对该提现请求尚未发送过相应的查询信息的情况,以及对该提现请求已经发送过查询信息但是仍未得到提现结果的情况(即,待发送信息包括:尚未发送过的信息,以及已发送但是尚未接收到响应的信息)。
进一步的,由于每条待发送信息所包括的数据量较大,所以为了方便后续的操作,以减少该分布式系统中的数据交互、减轻该分布式系统的运行压力,该第一服务器还需要确定各待发送信息的标识。具体的,该第一服务器,针对每一个待发送信息,根据预设的命名规则,建立相应的标识,使得该分布式系统中的每一个服务器均可以根据该建立的标识确定对应的待发送信息。
例如,分布式系统确定当前由服务器A发送提现请求结果的查询信息,假设当前时间为北京时间17:00,则服务器A遍历数据库中的数据,并根据预设的条件:从当前时间开始往前30分钟之内(即,北京时间16:30~17:00这30分钟内)银行提现请求的结果为未知的信息,确定出100条待发送信息。根据预设的命名规则,确定各待发送信息的标识,进一步假设根据该命名规则确定的标识格式为:withdrawrsultquery_bankID_serialNo。其中,withdrawrsultquery表示该标识为对提现结果查询的信息、bankID表示查询发往的银行的标识、serialNo表示该提现请求的序列号,并且银行标识如表1所示。
银行名称 银行a 银行b 银行c 银行d 银行e
bankID I II III IV V
表1
再次假设,该服务器A确定的待发送信息中的提现请求的序列号为0~99,且均是发往银行b的。则该服务器A最终确定的各待发送信息的标识为:withdrawrsultquery_II_0~withdrawrsultquery_II_99。
需要说明的是,由于分布式系统是为了应对单一设备和软件的性能不能满足任务量的大量增长情形下的数据处理的需求而产生的技术,所以可见该分布式系统中可能会出现大量的待发送信息,而现有技术通常选用数据库来存储大量数据,所以该第一服务器可以通过访问数据库来确定各待发送信息。当然,第一服务器也可以通过其他方式确定各待发送信息,本申请并不做具体限定。
S102:所述第一服务器将所述标识发送到缓存区存储。
在本申请实施例中,该第一服务器在确定了各待发送信息的标识后,由于存在该第一服务器未能将全部待发送信息发送的情况,所以为了后续分布式系统在切换至第二服务器继续发送待发送信息时,该第二服务器可以确定该第一服务器发送了哪些待发送信息、还有哪些待发送信息未发送,该第一服务器还可将各待发送信息的标识发送至缓存区存储,以便该第二服务器可以通过访问该缓存区确定该第一服务器发送各待发送信息的情况。
另外,该缓存区可以是该第一服务器本地的缓存区、也可是该分布式系统的独立缓存区,只要后续步骤中该第二服务器可以访问该缓存区即可。
需要说明的是,一般为了提高发送效率,该分布式系统会有一套排队规则,使各待发送信息在按照该排队规则进行排序后的待发送信息队列的发送效率最高,但是,排队规则是什么、如何进行排队,本申请并不做具体限定。在本申请中,可以视为在该第一服务器将各标识发送至缓存区存储时,各标识是已经通过排队规则进行排列后,具有先后顺序的标识队列。
继续沿用上例,该服务器A将确定的100条待发送信息的标识发送至该分布式系统的缓存区中存储,并且各标识按照自身的提现请求的序列号由大到小的顺序排列,组成由100标识组成的标识队列。
S103:所述第一服务器根据缓存区中存储的标识,发送各待发送信息。
在本申请实施例中,由于接收各待发送信息的接收端也存在繁忙和空闲的状态,所以若是该第一服务器在该接收端繁忙时(即,接收端运行压力大时)向该接收端发送待发送信息的话,就有可能出现由于接收端繁忙而导致待发送信息被积压在接收端而没有被处理的情况。并且,若是该第一服务器发送信息的频率,超出了该接收端的处理信息的频率上限,则同样也会造成待发送信息在接收端的积压。于是,该第一服务器还可在发送各待发送信息之前,根据各待发送信息,确定接收各待发送信息的接收端(即,银行的服务器),并向该接收端发送询问信息,以便该第一服务器可以根据该接收端返回的应答信息,确定向该接收端发送各待发送信息的时间段,以及该待发送信息的发送频率,并根据该时间段和发送频率,发送各待发送信息。
另外,由于本申请中所述的提现请求可能是对不同银行发出的提现请求,所以各待发送信息的接收端就有可能不止一个,并且是不同银行的服务器。显然不同银行的服务器的空闲时间段很难完全一致,即,该第一服务器很难通过多个接收端返回的应答信息确定统一的发送各待发送信息的时间段,所以在本申请中,该第一服务器确定的各待发送信息的接收端可相同,即,各待发送信息均发送向同一个接收端,而该第一服务器也仅向该接收端发送询问信息。当然,该分布式系统也可以选择多个服务器分别执行对不同接收端的信息发送任务,则,即使每一个服务器均只负责向一个接收端发送信息,也可满足该分布式系统向多个接收端发送信息的需求。
进一步的,由于分布式系统存在切换服务器执行同一任务的模式,所以为了使切换后的服务器不会重复发送待发送信息,该第一服务器需要根据缓存区中存储的各标识发送相应待发送信息,并且,每发送一条待发送信息,则删除该缓存区中该已发送的待发送信息对应的标识。
继续沿用上例,由于服务器A确定各查询信息均是发送向银行b的,所以该服务器A需要向该银行b的服务器发送询问信息,假设该服务器A根据接收到该银行b服务器返回的应答信息,确定向该银行b的服务器发送各待发送信息信息的时间段为北京时间17:30~17:45、发送该待发送信息的频率为18秒一次,则该服务器A在北京时间17:30开始,以每18秒一次的频率向该银行b的服务器发送提现请求结果查询信息,并且删除该缓存区中相应的标识。如,北京时间17:30:00该服务器A发送标识为withdrawrsultquery_II_0的提现请求结果查询信息、北京时间17:30:18该服务器A发送标识为withdrawrsultquery_II_1的提现请求结果查询信息等等,直到北京时间17:45为止。则此时,该服务器一共发送了标识为送标识为withdrawrsultquery_II_0~withdrawrsultquery_II_49的50条提现请求结果查询信息,该缓存区中仍然剩余50个标识(即,标识为withdrawrsultquery_II_50~withdrawrsultquery_II_99的50个标识)。
S104:当切换到所述分布式系统中的第二服务器发送信息时,所述第二服务器确定各待发送信息的标识。
在本申请实施例中,该分布式系统为了保证信息的发送效率,所以当该第一服务器发送各待发送信息的时间超出在步骤S104中所述时间段时,切换到所述分布式系统中的第二服务器发送信息,或者当该第一服务器自身的状态满足预设条件时,切换到所述分布式系统中的第二服务器发送信息。
其中,在本申请中所述的发送各待发送信息的时间超出时间段,即接收端达到处理能力的上限,则继续发送待发送信息可能会造成待发送信息在接收端的积压,所以此时该分布式系统需要切换服务器继续如该第一服务器在步骤S101~步骤S103中的发送信息过程。
在本申请中所述的该第一服务器自身的状态满足预设条件,即该第一服务器达到了处理能力的上限(如,该第一服务器的运行压力达到预设的阈值),则可以确定该第一服务器不再适合发送各待发送信息,所以此时该分布式系统需要切换到运行压力较小的服务器继续如该第一服务器在步骤S101~步骤S103中的发送信息过程。
另外,由于在该第一服务器发送各待发送信息的同时,可能又新出现了其他需要发送的信息(即,新出现的待发送信息),则为了使该新出现的待发送信息可以较快的被发送,该分布式系统也可以周期性的切换服务器,以使得新出现的待发送信息无需长时间等待,便会被该分布式系统中的服务器确定标识,并且该缓存区中也会被及时的添入该标识。
进一步的,该第二服务器作为该分布式系统当前确定的用于发送信息的服务器,仍然需要如该第一服务器在步骤S101一样,通过访问该数据库,确定一段时间内提现请求的结果为未知的提现请求,再根据各提现请求结果为未知的提现请求确定相应的查询信息,并且该第二服务器根据与该第一服务器采用的命名规则相同的命名规则确定各待发送信息的标识。并且由于该标识是为了使得该分布式系统中的服务器均可根据同一个标识确定相同的信息,所以在本申请中,该分布式系统中不同服务器根据同一提现请求确定的标识是一样的。
需要说明的是,如在步骤S101中所述的原因,该第二服务器确定各待发送信息中,存在该第一服务器已发送但尚未接收到响应的信息,以及该第一服务器尚未发送过的信息。
继续沿用上例,服务器A根据缓存区中的各标识发送各查询信息直到北京时间17:45,此时由于发送时间已经超出银行b服务器接收信息的时间段,所以该分布式系统在北京时间17:45切换至运行压力较小的第二服务器(即,服务器B)继续发送信息。假设,由该服务器A发送的50条待查询信息中,前25条在发送后得到了该银行b的服务器返回的提现结果,后25条未得到银行b的服务器返回的提现结果(即,未接收到响应),且在北京时间17:30~17:45之间没有新增加的提现请求。则,该服务器B确定的查询信息标识(即,待发送信息的标识)为:withdrawrsultquery_II_25~withdrawrsultquery_II_49和withdrawrsultquery_II_49~withdrawrsultquery_II_99,一共75个标识,其中,withdrawrsultquery_II_25~withdrawrsultquery_II_49所对应的查询信息是需要重新发送的,withdrawrsultquery_II_49~withdrawrsultquery_II_99所对应的查询信息是尚未发送过的。
S105:所述第二服务器将所述第二服务器自身确定的标识添加到缓存区中,并将所述缓存区中保存的标识进行去重处理。
在本申请实施例中,该第二服务器若要继续发送信息,则首先需要将在步骤S104中确定的标识发送至该缓存区中,其中该缓存区与在步骤S102中所述的缓存区为同一个。于是当该第二服务器将自身确定的标识添加到缓存区后,为了避免重复发送各待发送信息,所以该第二服务器还需要对该缓存区中的标识进行去重处理。
具体的,当该第二服务器将标识发送至该缓存区存储后,该第二服务器需要遍历该缓存区中的标识,并将重复出现过的标识进行去重处理,使得该缓存区中的标识均为唯一的。
需要说明的是,在步骤S102中该第一服务器在将各标识发送至缓存区存储时,实际上也同样需要对该缓存区中的标识进行去重处理。
继续沿用上例,由于该服务器B在步骤S104中确定了75个标识,于是当该服务器器B发送自身确定的标识只缓存区后,该缓存区内一共存储有125个标识,其中包括:该服务器A发送的50条标识(即,withdrawrsultquery_II_49~withdrawrsultquery_II_99)、以及该服务器B发送的75条标识(即,withdrawrsultquery_II_25~withdrawrsultquery_II_49和withdrawrsultquery_II_49~withdrawrsultquery_II_99)。可见此时,该缓存区中出现了50条重复的标识,于是当该服务器B遍历该缓存区进行去重处理后,该缓存区中的标识为:withdrawrsultquery_II_49~withdrawrsultquery_II_99和withdrawrsultquery_II_25~withdrawrsultquery_II_49,所有标识在该缓存区中都是唯一的。
S106:所述第二服务器根据缓存区中去重处理后的标识,发送各待发送信息。
在本申请实施例中,当该第二服务器对该缓存区中的标识进行去重处理后,由于在步骤S103所述的原因,该第二服务器还需要根据各待发送信息,确定接收各待发送信息的接收端,再向该接收端发送询问信息,之后根据该接收端返回的应答信息,确定向该接收端发送各待发送信息的时间段,以及待发送信息的发送频率,最后根据该缓存区中去重处理后的标识、该时间段和发送频率,发送各待发送信息。
另外,若该第二服务器在该分布式系统切换服务器时,仍然未发送完各待发送信息,则该分布式系统会如步骤S104~步骤S106中所述的方法,先切换至其他服务器确定各待发送信息的标识,该服务器再将自身确定的标识添加到缓存区中,之后将该缓存区中保存的标识进行去重处理,最后该服务器根据缓存区中去重处理后的标识,继续发送各待发送信息,直到将全部待发送信息发送为止。
通过图1所示的基于分布式环境的信息发送方法,该分布式系统中用于发送信息的服务器均根据同一命名规则确定各待发送信息的标识,在将各标识发送至缓存区中存储后,还需对该缓存区中的标识进行去重处理,并且该用于发送信息的服务器在根据该缓存区中的标识发送各待发送信息时,每发送一条待发送信息便删除该缓存区中相应的标识,使得该分布式系统不论切换至哪个服务器发送信息,该切换后用于发送信息的服务器均可以通过该缓存区,确定之前用于发送信息的服务器发送了哪些信息、仍有哪些信息未发送。相对于现有方法,在本申请提供的方法中,由于当前用于发送信息的服务器还会对缓存区中的标识进行去重处理,所以可以有效避免信息重复发送的情况。进一步的,当出现信息已发送但是没有响应的情况是,该分布式系统在切换服务器后,该切换至的服务器可再次确定需要重复发送的信息,实现了信息的重复发送的目的。通过本方法可以有效地提高分布式系统的信息发送效率。
另外,通过本申请实施例提供的方法,该分布式系统不仅可以发送提现请求的提现结果的查询信息,还可以发送其他信息,如,话费查询信息、办理业务结果的查询信息等。
进一步的,为了提高信息发送效率以及接受端处理信息的效率,在本请中当该分布式系统中的服务器向接收端发送询问信息时,该询问信息中还可以携带待发送信息的数量信息,以使得该接收端可以通过待发送信息的数量,确定更加合理的时间段,则最终使得该服务器确定向该接收端发送各待发送信息的时间段更加合理。
继续沿用上例,假设在北京时间17:30,该服务器A向银行b的服务器发送了询问信息,其中携带有预计发送的待发送信息的数量信息(即,100条)。继续假设此时该银行b的服务器可以分别确定在北京时间17:31~17:34和北京时间17:45~18:00,分别有3分钟和15分钟的时间段可以用于接收信息。可见,若该服务器A在北京时间17:31~17:34执行发送信息任务的话,该银行b的服务器在只接收10条待发送信息时,该分布式系统就需要切换至服务器B继续发送信息,使得服务器的切换更加繁琐,分布式系统的运行效率降低,使得信息发送的效率也同步降低。而若该服务器A在北京时间17:45~18:00执行发送信息任务的话,该银行b的服务器便可一次接收处理50条待发送信息,该分布式系统的服务器切换不至于太过频繁,使得该发送信息任务的效率更高。
更进一步的,若该分布式系统中的服务器确定的待发送信息的数量太少时,该服务器继续执行待发送信息的发送任务就会使得服务器的运行效率很低,即,不值得为了少量的待发送信息执行一次信息发送任务。所以,在本申请中,为了使信息发送的效率更高,在该分布式系统中的服务器确定各待发送信息后,该服务器还可以判断各待发送信息的数量是否达到预设的阈值,若是,则继续执行发送信息的任务,若否,则不再执行发送信息的任务。
继续沿用上例,假设在步骤S104中,当切换至服务器B发送信息时,该服务器B确定的各待发送信息的数量为2,即,只有两个待发送信息,而预设的阈值为15,则该服务器B判断各待发送信息的数量未达到预设的阈值,不再执行信息发送任务,而等待该分布式系统分配其他任务。而这2个未发送的待发送信息,则可等待至下一次该分布式系统的服务器执行信息发送任务时,再被发送至银行b的服务器(即,接收端)。
基于图1所示的基于分布式环境的信息发送过程,本申请实施例还提供了一种基于分布式环境的信息发送装置,如图2所示。
图2是本申请实施例提供一种基于分布式环境的信息发送装置的结构示意图,具体包括:
标识模块201,用于确定各待发送信息的标识;
缓存去重模块202,用于将所述标识发送到缓存区存储,并将所述缓存区中保存的标识进行去重处理;
发送模块203,用于根据缓存区中存储的标识,发送各待发送信息,其中,每发送一个待发送信息,则删除所述缓存区中发送的待发送信息对应的标识。
所述待发送信息包括:尚未发送过的信息,以及已发送但尚未接收到响应的信息。
在本装置中,接收所述各待发送信息的接收端相同;
所述发送模块203还用于,在发送各待发送信息之前,根据各待发送信息,确定接收各待发送信息的接收端,向所述接收端发送询问信息,根据所述接收端返回的应答信息,确定向所述接收端发送各待发送信息的时间段,以及所述待发送信息的发送频率;在发送各待发送信息时,根据所述时间段和发送频率,发送各待发送信息。
所述装置还包括:
监测模块204,用于当监测到所述装置发送各待发送信息的时间超出所述时间段时,或者,当监测到所述装置自身的状态满足预设条件时,向所述装置所在的分布式系统中的第二服务器发送切换消息,以使所述分布式系统中的第二服务器发送信息。
所述待发送信息为对提现请求进行查询的信息。
具体的,上述如图2所示的基于分布式环境的信息发送装置可以位于分布式系统的服务器中。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于分布式环境的信息发送方法,其特征在于,包括:
分布式系统中的第一服务器确定各待发送信息的标识;
所述第一服务器将所述标识发送到缓存区存储;
所述第一服务器根据缓存区中存储的标识,发送各待发送信息,其中,每发送一个待发送信息,则删除所述缓存区中发送的待发送信息对应的标识;
当切换到所述分布式系统中的第二服务器发送信息时,所述第二服务器确定各待发送信息的标识;
所述第二服务器将所述第二服务器自身确定的标识添加到缓存区中,并将所述缓存区中保存的标识进行去重处理;
所述第二服务器根据缓存区中去重处理后的标识,发送各待发送信息。
2.如权利要求1所述的方法,其特征在于,所述待发送信息包括:尚未发送过的信息,以及已发送但尚未接收到响应的信息。
3.如权利要求1所述的方法,其特征在于,接收所述各待发送信息的接收端相同;
发送各待发送信息之前,所述方法还包括:
根据各待发送信息,确定接收各待发送信息的接收端;
向所述接收端发送询问信息;
根据所述接收端返回的应答信息,确定向所述接收端发送各待发送信息的时间段,以及所述待发送信息的发送频率;
发送各待发送信息,具体包括:
根据所述时间段和发送频率,发送各待发送信息。
4.如权利要求3所述的方法,其特征在于,切换到所述分布式系统中的第二服务器发送信息,具体包括:
当所述第一服务器发送各待发送信息的时间超出所述时间段时,切换到所述分布式系统中的第二服务器发送信息;或者
当所述第一服务器自身的状态满足预设条件时,切换到所述分布式系统中的第二服务器发送信息。
5.如权利要求1所述的方法,其特征在于,所述待发送信息为对提现请求进行查询的信息。
6.一种基于分布式环境的信息发送装置,其特征在于,包括:
标识模块,用于确定各待发送信息的标识;
缓存去重模块,用于将所述标识发送到缓存区存储,并将所述缓存区中保存的标识进行去重处理;
发送模块,用于根据缓存区中存储的标识,发送各待发送信息,其中,每发送一个待发送信息,则删除所述缓存区中发送的待发送信息对应的标识。
7.如权利要求6所述的装置,其特征在于,所述待发送信息包括:尚未发送过的信息,以及已发送但尚未接收到响应的信息。
8.如权利要求6所述的装置,其特征在于,接收所述各待发送信息的接收端相同;
所述发送模块还用于,在发送各待发送信息之前,根据各待发送信息,确定接收各待发送信息的接收端,向所述接收端发送询问信息,根据所述接收端返回的应答信息,确定向所述接收端发送各待发送信息的时间段,以及所述待发送信息的发送频率;在发送各待发送信息时,根据所述时间段和发送频率,发送各待发送信息。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
监测模块,用于当监测到所述装置发送各待发送信息的时间超出所述时间段时,或者,当监测到所述装置自身的状态满足预设条件时,向所述装置所在的分布式系统中的第二服务器发送切换消息,以使所述分布式系统中的第二服务器发送信息。
10.如权利要求6所述的装置,其特征在于,所述待发送信息为对提现请求进行查询的信息。
CN201610060098.9A 2016-01-28 2016-01-28 一种基于分布式环境的信息发送方法及装置 Active CN107015999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610060098.9A CN107015999B (zh) 2016-01-28 2016-01-28 一种基于分布式环境的信息发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610060098.9A CN107015999B (zh) 2016-01-28 2016-01-28 一种基于分布式环境的信息发送方法及装置

Publications (2)

Publication Number Publication Date
CN107015999A true CN107015999A (zh) 2017-08-04
CN107015999B CN107015999B (zh) 2020-11-03

Family

ID=59438745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610060098.9A Active CN107015999B (zh) 2016-01-28 2016-01-28 一种基于分布式环境的信息发送方法及装置

Country Status (1)

Country Link
CN (1) CN107015999B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111681330A (zh) * 2020-04-16 2020-09-18 福建星网物联信息系统有限公司 一种无感考勤方法及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267758A1 (en) * 2003-06-26 2004-12-30 Nec Corporation Information processing apparatus for performing file migration on-line between file servers
KR20090001549A (ko) * 2007-04-25 2009-01-09 황재엽 에이전트 메일
CN102868560A (zh) * 2012-09-28 2013-01-09 南京恩瑞特实业有限公司 一种服务器热备实现系统及方法
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备
CN103235748A (zh) * 2013-04-24 2013-08-07 曙光信息产业(北京)有限公司 元数据的管理方法和系统
CN103718533A (zh) * 2013-06-29 2014-04-09 华为技术有限公司 一种分区平衡子任务下发方法、装置与系统
CN104468569A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 分布式数据的完整性检测方法和装置
CN104954468A (zh) * 2015-06-18 2015-09-30 小米科技有限责任公司 资源的分配方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267758A1 (en) * 2003-06-26 2004-12-30 Nec Corporation Information processing apparatus for performing file migration on-line between file servers
KR20090001549A (ko) * 2007-04-25 2009-01-09 황재엽 에이전트 메일
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备
CN102868560A (zh) * 2012-09-28 2013-01-09 南京恩瑞特实业有限公司 一种服务器热备实现系统及方法
CN103235748A (zh) * 2013-04-24 2013-08-07 曙光信息产业(北京)有限公司 元数据的管理方法和系统
CN103718533A (zh) * 2013-06-29 2014-04-09 华为技术有限公司 一种分区平衡子任务下发方法、装置与系统
CN104468569A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 分布式数据的完整性检测方法和装置
CN104954468A (zh) * 2015-06-18 2015-09-30 小米科技有限责任公司 资源的分配方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111681330A (zh) * 2020-04-16 2020-09-18 福建星网物联信息系统有限公司 一种无感考勤方法及设备
CN111681330B (zh) * 2020-04-16 2021-10-22 福建星网物联信息系统有限公司 一种无感考勤方法及设备

Also Published As

Publication number Publication date
CN107015999B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
EP2321908B1 (en) Method and system for message processing
CN110290217B (zh) 数据请求的处理方法及装置、存储介质及电子装置
US7580971B1 (en) Method and apparatus for efficient SQL processing in an n-tier architecture
CN111522636B (zh) 应用容器的调整方法、调整系统、计算机可读介质及终端设备
CN103780679B (zh) 基于http协议的长延时远程调用方法
CN101158954B (zh) 一种在计算机存储中识别重复数据的方法
CN107426258A (zh) 一种镜像文件的上传和下载方法及装置
CN105740063A (zh) 一种数据处理方法及装置
CN105373746B (zh) 一种分布式数据处理方法和装置
CN108632078B (zh) 一种配置的获取方法
CN105530269B (zh) 数据交互方法和系统以及服务器
CN110888735A (zh) 基于一致性哈希的分布式消息分发方法、装置和调度节点
EP4181475A1 (en) Method, apparatus and system for processing fault
CN103164262B (zh) 一种任务管理方法及装置
CN107589990A (zh) 一种基于线程池的数据通讯的方法及系统
WO2021017907A1 (zh) 一种优化的微服务间通信的方法及装置
CN111049750B (zh) 一种报文转发方法、系统及设备
CN101778131A (zh) 数据同步系统
CN110868323A (zh) 一种带宽控制方法、装置、设备及介质
CN107015999A (zh) 一种基于分布式环境的信息发送方法及装置
CN110134541A (zh) 存储集群的配置信息的切换方法、系统、设备及存储介质
CN107329832A (zh) 一种数据接收方法及装置
CN109347991B (zh) 文件分发方法、装置、设备及介质
CN114866395B (zh) 多组分布式一致性协议集群心跳通讯方法及装置
CN111125161A (zh) 数据的实时处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant