CN106331153B - 一种业务请求的过滤方法、装置及系统 - Google Patents
一种业务请求的过滤方法、装置及系统 Download PDFInfo
- Publication number
- CN106331153B CN106331153B CN201610835542.XA CN201610835542A CN106331153B CN 106331153 B CN106331153 B CN 106331153B CN 201610835542 A CN201610835542 A CN 201610835542A CN 106331153 B CN106331153 B CN 106331153B
- Authority
- CN
- China
- Prior art keywords
- service request
- pending
- node
- mark
- pending service
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例提供一种业务请求的过滤方法、装置及系统,涉及通信技术领域,可在发生IP漂移的场景下,为NFS内的各节点过滤重复的业务请求。该包括:目标节点获取客户端发送的待执行业务请求;该目标节点在分布式缓存中查找是否存在该待执行业务请求的标识,该分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识,该N个节点中包括该目标节点,N>1;若存在该待执行业务请求的标识,则该目标节点丢弃该待执行业务请求。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种业务请求的过滤方法、装置及系统。
背景技术
在NFS(Network File System,网络文件系统)内,节点之间可以共享文件资源,客户端可以通过IP网络在位于远端的NFS节点上读写文件,就像访问本地文件一样。如图1所示,任意一个客户端,例如客户端1,可以使用IP地址1向NFS内相应的节点,例如,节点A,发送业务请求,此时,节点A作为NFS的入口节点为客户端1执行该业务请求,例如,读文件、写文件或创建新文件等,最终节点A将执行完成的业务响应发送给客户端1。
在实际操作中,可能因为网络异常等原因导致业务响应发送失败,此时,客户端1可能会重复向节点A发送上述业务请求,为了避免节点A重复执行相同的业务请求,可以在NFS内的各节点中设置DRC(Duplicate Request Cache,重复请求缓存),在业务响应成功发送给客户端1之前,DRC内缓存有该业务请求的标识,那么,当节点A接收到标识相同的业务请求时,便可以直接将该业务请求丢弃。
然而,NFS内的各节点可能会发生IP漂移现象,例如,当节点A的负载过大时,可将原本归属于节点A的IP地址1漂移至节点B,此时,节点B同时具有IP地址1和IP地址2,当客户端1使用IP地址1发送业务请求时,可由节点B代理节点A执行该业务请求。但是,由于节点B无法获知节点A内的DRC,因此,节点B不能确定客户端1是否发送过相同的业务请求,只能将接收到的业务请求作为新的业务请求处理,导致重复执行相同的业务请求。
发明内容
本发明的实施例提供一种业务请求的过滤方法、装置及系统,可在发生IP漂移的场景下,为NFS内的各节点过滤重复的业务请求。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种业务请求的过滤方法,包括:目标节点获取客户端发送的待执行业务请求;进而,目标节点在分布式缓存中查找是否存在该待执行业务请求的标识,该分布式缓存中记录有N(N>1)个节点中每个节点已接收的业务请求的标识,而该目标节点为该N个节点中的任一个,这样可以确定该待执行业务请求是否被其他节点接收过;若存在该待执行业务请求的标识,即说明N个节点中某个节点已接收到与该待执行业务请求相同的业务请求,因此,为了避免重复执行相同的业务请求,该目标节点可直接丢弃该待执行业务请求。
在一种可能的实现方式中,由于任意节点在执行一个业务请求时,可能包括正在执行和执行完成两种执行状态,那么,当目标节点获取到的待执行业务请求为正在执行的业务请求时,则无需重复执行,因此,该分布式缓存中具体可记录有:业务请求的标识与业务请求的执行状态之间的对应关系,该执行状态包括正在执行和执行完成;此时,上述若存在该待执行业务请求的标识,则该目标节点丢弃该待执行业务请求,包括:若存在该待执行业务请求的标识,则该目标节点根据该待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,确定该待执行业务请求的执行状态;若该待执行业务请求的执行状态为正在执行,则该目标节点丢弃该待执行业务请求,以避免重复执行相同的业务请求。
在一种可能的实现方式中,在该目标节点根据该待执行业务请求的标识确定该待执行业务请求的执行状态之后,还包括:若该待执行业务请求的执行状态为执行完成,则该目标节点丢弃该待执行业务请求,并向该客户端发送执行完成该待执行业务请求的业务响应;该目标节点在该分布式缓存中删除该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系,这样,后续任意节点再次接收到该待执行业务请求时,由于分布式缓存中已经没有该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系,因此,节点可以继续执行该待执行业务请求。
在一种可能的实现方式中,在该目标节点在分布式缓存中查找是否存在该待执行业务请求的标识之后,还包括:若不存在该待执行业务请求的标识,则该目标节点在该分布式缓存中建立该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系,该待执行业务请求的执行状态为正在执行,这样,后续任意节点接收到与该待执行业务请求相同的业务请求时,可根据该业务请求的执行状态丢弃该业务请求。
由于任意节点在执行一个业务请求时,可能包括正在执行和执行完成两种执行状态,那么,当目标节点获取到的待执行业务请求为正在执行的业务请求时,则无需重复执行,因此,
在一种可能的实现方式中,在该目标节点在该分布式缓存中建立该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系之后,还包括:该目标节点执行该待执行业务请求;该目标节点向该客户端发送执行完成该待执行业务请求的业务响应;该目标节点在该分布式缓存中删除该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系。
在一种可能的实现方式中,在该目标节点向该客户端发送执行完成该待执行业务请求的业务响应之后,还包括:若该业务响应发送失败,则该目标节点在该分布式缓存中将该待执行业务请求的执行状态修改为执行完成,这样,后续任意节点查询到该待执行业务请求的执行状态修改为执行完成时,便无需再次重复执行该业务请求,并重新向客户端发送执行完成该待执行业务请求的业务响应。
在一种可能的实现方式中,该目标节点在分布式缓存中查找是否存在该待执行业务请求的标识,包括:该目标节点确定本地DRC中是否存在该待执行业务请求的标识;该本地DRC内仅缓存有目标节点已接收的业务请求的标识,若本地DRC中不存在该待执行业务请求的标识,则该目标节点在该分布式缓存中查找是否存在该待执行业务请求的标识。
在一种可能的实现方式中,在该目标节点确定本地重复请求缓存DRC中是否存在该待执行业务请求的标识之后,还包括:若本地DRC中存在该待执行业务请求的标识,则该目标节点丢弃该待执行业务请求,由于本地DRC内的数据量较小,因此,目标节点在本地DRC内查找是否存在待执行业务请求的标识的效率较高,当本地DRC内存在待执行业务请求的标识时,目标节点可以直接丢弃该待执行业务请求,从而提高丢弃重复业务请求的响应速度。
第二方面,本发明的实施例提供一种节点,包括:获取单元,用于获取客户端发送的待执行业务请求;查找单元,用于在分布式缓存中查找是否存在该待执行业务请求的标识,该分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识,N>1;过滤单元,用于若存在该待执行业务请求的标识,则丢弃该待执行业务请求。
在一种可能的实现方式中,该分布式缓存中包括业务请求的标识与业务请求的执行状态之间的对应关系,该执行状态包括正在执行和执行完成;该过滤单元,具体用于若存在该待执行业务请求的标识,则根据该待执行业务请求的标识确定该待执行业务请求的执行状态;若该待执行业务请求的执行状态为正在执行,则丢弃该待执行业务请求。
在一种可能的实现方式中,该节点还包括:发送单元,用于若该待执行业务请求的执行状态为执行完成,则向该客户端发送执行完成该待执行业务请求的业务响应;删除单元,用于在该分布式缓存中删除该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系。
在一种可能的实现方式中,该节点还包括:建立单元,用于若不存在该待执行业务请求的标识,则在该分布式缓存中建立该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系,该待执行业务请求的执行状态为正在执行。
在一种可能的实现方式中,该节点还包括执行单元,该执行单元,用于执行该待执行业务请求;该发送单元,还用于向该客户端发送执行完成该待执行业务请求的业务响应;该删除单元,还用于在该分布式缓存中删除该待执行业务请求的标识与该待执行业务请求的执行状态之间的对应关系。
在一种可能的实现方式中,该执行单元,还用于若该业务响应发送失败,则在该分布式缓存中将该待执行业务请求的执行状态修改为执行完成。
在一种可能的实现方式中,该查找单元,具体用于确定本地DRC中是否存在该待执行业务请求的标识;若本地DRC中不存在该待执行业务请求的标识,则在该分布式缓存中查找是否存在该待执行业务请求的标识。
在一种可能的实现方式中,该过滤单元,还用于若本地DRC中存在该待执行业务请求的标识,则丢弃该待执行业务请求。
第三方面,本发明的实施例提供一种节点,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该节点运行时,该处理器执行该存储器存储的该计算机执行指令,以使该节点执行上述任意一项业务请求的过滤方法。
第四方面,本发明的实施例提供一种业务请求的过滤系统,包括N(N>1)个第二方面中任一项所述的节点,该N个节点内建立有分布式缓存,该分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识。
第五方面,本发明实施例提供了一种计算机存储介质,用于储存为上述节点所用的计算机软件指令,其包含用于执行上述方面为该节点所设计的程序。
本发明中,上述节点以及过滤系统的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本发明类似,即属于本发明权利要求及其等同技术的范围之内。
另外,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中NFS的应用场景示意图;
图2为本发明实施例提供的一种业务请求的过滤系统的架构示意图一;
图3为本发明实施例提供的一种业务请求的过滤系统的架构示意图二;
图4为本发明实施例提供的一种业务请求的过滤方法的交互示意图一;
图5为本发明实施例提供的一种业务请求的过滤系统的架构示意图三;
图6为本发明实施例提供的一种业务请求的过滤方法的交互示意图二;
图7为本发明实施例提供的一种节点的结构示意图一;
图8为本发明实施例提供的一种节点的结构示意图二;
图9为本发明实施例提供的一种节点的结构示意图三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
另外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明的实施例提供一种业务请求的过滤方法,可应用在如图2所示的业务请求的过滤系统(后续简称为过滤系统)100中,其中,过滤系统100中包括N(N>1)个节点21,这N个节点21内建立有分布式缓存22,该分布式缓存22中记录有N个节点21中每个节点21已接收的业务请求的标识。
其中,分布式缓存22是指利用分布式存储技术,将缓存数据存储在N个节点21内,使这些分散的存储资源构成一个虚拟的缓存存储空间,各个节点21之间可以共享分布式缓存22内的缓存数据。
在本发明实施例中,如图3所示,当任意节点21,例如,节点A,接收到客户端1发送的一个新的业务请求时,可将该新的业务请求的标识存储至分布式缓存22中,直至执行完成该新的业务请求,并成功发送对该新的业务请求的业务响应至客户端1之后,在分布式缓存22中删除该新的业务请求的标识,也就是说,分布式缓存22中包含有每个节点21已接收的业务请求的标识,这些业务请求均为尚未成功向客户端发送给业务响应的业务请求,那么,当节点A发生IP漂移现象,例如,节点A的IP地址1漂移到节点B时,客户端1通过IP地址1可以向节点B发送业务请求,例如,待执行业务请求,此时,节点B可以通过查询分布式缓存22内是否存有待执行业务请求的标识,来确定该待执行业务请求是否被其他节点接收过,当分布式缓存22内存有待执行业务请求的标识时,即说明某个节点已接收到与待执行业务请求相同的业务请求,如果节点B继续执行该待执行业务请求,则会引起N个节点21内的数据发生不一致的现象,甚至引起IO(Input/Output,输入/输出)操作失败等错误,例如,节点A占用了相应的IO资源删除了一个文件,而节点B如果重复执行该创建操作,即删除一个节点A已经删除的不存在的文件,则会引起IO操作失败,因此,为了避免重复执行相同的业务请求,当分布式缓存22内存在待执行业务请求的标识时,节点B可以直接丢弃该待执行业务请求。
可以看出,本发明实施例中通过N个节点21内的分布式缓存22来存储每个节点21已接收的业务请求的标识,当任意节点21发生IP漂移时,仍然能够支持漂移后的节点21执行类似于DRC机制的业务请求过滤过程,避免过滤系统100内的各节点21由于重复执行相同的业务请求,引起各节点21内数据不一致甚至IO操作失败等问题。
示例性的,上述过滤系统100具体可以为NFS(Network File System,网络文件系统),过滤系统100内的各节点21具体可以为NAS(Network Attached Storage,网络附属存储)服务器等,本发明实施例对此不作任何限制。
以下,将以图3中的节点B和节点A为例详细阐述在IP漂移场景下,本发明的实施例提供的一种业务请求的过滤方法,如图4所示,在发生IP漂移之前,该方法包括:
101、节点A获取客户端发送的待执行业务请求。
102、节点A在分布式缓存中查找是否存在待执行业务请求的标识,该分布式缓存中包括业务请求的标识与业务请求的执行状态之间的对应关系,该执行状态包括正在执行和执行完成。
103、若不存在待执行业务请求的标识,则节点A在分布式缓存中建立待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,此时,待执行业务请求的执行状态为正在执行。
104、节点A执行待执行业务请求。
105、节点A向客户端发送执行完成待执行业务请求的业务响应。
106、若业务响应发送失败,则节点A在分布式缓存中将待执行业务请求的执行状态修改为执行完成。
具体的,在发生IP漂移之前,客户端向过滤系统100发送业务请求时,会默认与IP地址为IP地址1的节点A交互,因此,步骤101中,客户端可以通过IP网络,发送待执行业务请求至节点A,例如,该待执行业务请求具体可以为写数据、删除一个文件,或创建一个新文件等。
那么,在步骤102中,节点A收到待执行业务请求之后,可以在分布式缓存中查找是否存在待执行业务请求的标识,从而确定该待执行业务请求是否为重复的业务请求。
具体的,该分布式缓存中可以包括业务请求的标识与业务请求的执行状态之间的对应关系,其中,该执行状态包括正在执行和执行完成,例如,可以使用一个标志位来表示该执行状态,当标志位为1时,指示与该业务请求的标识对应的业务请求的执行状态为正在执行,当标志位为0时,指示与该业务请求的标识对应的业务请求的执行状态为执行完成。
当执行状态为正在执行时,则说明过滤系统100中的某个节点已经接收过相应的业务请求,并且正在执行该业务请求;当执行状态为执行完成时,则说明过滤系统100中的某个节点已经接收过相应的业务请求,并且已经执行完成该业务请求,例如,节点X已经根据该业务请求创建了一个新文件,但是,执行完成该业务请求的业务响应还没有成功发送至客户端,此时,可在分布式缓存中将该业务请求的执行状态修改为执行完成。
进一步地,示例性的,如图5所示,还可以在过滤系统100中的各个节点21内保留原有的DRC,即本地DRC,以节点A为例,该本地DRC内缓存有节点A已接收的业务请求的标识,那么,在步骤102中,节点A可以先在本地DRC内查找是否存在待执行业务请求的标识,如果本地DRC内存在待执行业务请求的标识,则说明节点A已经接收过与待执行业务请求相同的业务请求,此时,节点A可以直接丢弃该待执行业务请求;如果本地DRC内不存在待执行业务请求的标识,则可继续在分布式缓存22中查找是否存在待执行业务请求的标识,从而确定是否有其他节点已接收过该待执行业务请求。
其中,由于本地DRC内的数据量较小,因此,节点A在本地DRC内查找是否存在待执行业务请求的标识的效率较高,当本地DRC内存在待执行业务请求的标识时,节点A可以直接丢弃该待执行业务请求,从而提高丢弃重复业务请求的响应速度。
若分布式缓存中不存在待执行业务请求的标识,则说明该待执行业务请求为一个新的业务请求,那么,在步骤103中,节点A可以在分布式缓存中建立待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,此时,该待执行业务请求的执行状态为正在执行。
进而,在步骤104中,节点A可以执行该待执行业务请求。
需要说明的是,节点A可以同时执行步骤103和104,也可以先执行步骤103再执行步骤104,或先执行步骤104再执行步骤103,本发明实施例对此不作任何限制。
执行完成该待执行业务请求之后,节点A可以向客户端发送执行完成待执行业务请求的业务响应。
此时,若该业务响应成功发送至客户端,则节点A可以在分布式缓存中删除步骤103中建立的待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系。
若该业务响应发送失败,即客户端没有接收到该业务响应,那么客户端可能会继续发送相同的待执行业务请求,此时,在步骤106中,节点A可以在分布式缓存中将待执行业务请求的执行状态修改为执行完成,这样,一旦接收到相同的待执行业务请求,节点A可以根据待执行业务请求的执行状态确定待执行业务请求已经执行完成,只需向客户端再次发送该业务响应即可。
进一步地,仍以图3中的节点B和节点A为例,在上述步骤101-106的任意过程中,当节点A的IP地址漂移到节点B之后,如图6所示,该方法包括:
201、节点B获取客户端发送的待执行业务请求。
202、节点B在分布式缓存中查找是否存在待执行业务请求的标识,该分布式缓存中包括业务请求的标识与业务请求的执行状态之间的对应关系,该执行状态包括正在执行和执行完成。
203、若存在待执行业务请求的标识,则节点B根据待执行业务请求的标识确定待执行业务请求的执行状态。
204a、若待执行业务请求的执行状态为正在执行,则节点B丢弃待执行业务请求。
204b、若待执行业务请求的执行状态为执行完成,则节点B向客户端发送执行完成待执行业务请求的业务响应。
205b、节点B在分布式缓存中删除待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系。
具体的,当节点A的IP地址漂移到节点B之后,节点B同时具有原来节点A的IP地址1和自身原本的IP地址2,那么,原来与节点A交互的客户端此时通过IP地址1与节点B交互,即步骤201,节点B获取客户端发送的待执行业务请求。
由于节点B无法确定接收到的待执行业务请求是否由节点A或自身接收过,因此,在步骤202中,节点B在分布式缓存中查找是否存在待执行业务请求的标识,与步骤102中的分布式缓存类似的,该分布式缓存中包括业务请求的标识与业务请求的执行状态之间的对应关系,该执行状态包括正在执行和执行完成。
那么,在步骤203中,如果分布式缓存中存在待执行业务请求的标识,则说明过滤系统100中已经有节点接收过该待执行业务请求,此时,节点B可以根据待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,确定待执行业务请求的执行状态。
若待执行业务请求的执行状态为正在执行,则执行上述步骤204a;若待执行业务请求的执行状态为执行完成,则执行上述步骤204b-205b。
具体的。在步骤204a中,如果待执行业务请求的执行状态为正在执行,则节点B可以直接丢弃该待执行业务请求,从而避免重复执行相同的业务请求。
例如,在节点A执行上述步骤104时发生了IP漂移,那么,客户端后续发送的待执行业务请求由节点B接收,而此时,节点A仍然在执行上述步骤104,即执行该待执行业务请求,那么,当节点B在分布式缓存中确定待执行业务请求的执行状态为正在执行时,可以直接丢弃该待执行业务请求,而当节点A执行完成该待执行业务请求后,会在分布式缓存中修改待执行业务请求的执行状态,将待执行业务请求的执行状态修改为执行完成,此时,若节点B仍接收到客户端发送的相同的业务请求(即待执行业务请求),则节点B可以在分布式缓存中确定待执行业务请求的执行状态为执行完成,进而执行上述步骤204b。
具体的,在步骤204b中,如果待执行业务请求的执行状态为执行完成,那么,节点B也无需执行该待执行业务请求,而是可以直接丢弃该待执行业务请求,并向客户端发送执行完成待执行业务请求的业务响应即可。
并且,当上述业务响应成功发送至客户端后,在步骤205b中,节点B还需要在分布式缓存中删除待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,否则,当过滤系统100中的任意节点再次接收到该待执行业务请求时,会将该待执行业务请求当作重复的业务请求丢弃。
至此,本发明的实施例提供一种业务请求的过滤方法,其中,若目标节点(目标节点为过滤系统中N个节点中的任一个,N>1)获取到客户端发送的待执行业务请求,则在分布式缓存中查找是否存在待执行业务请求的标识,由于该分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识,因此,无论是否发生IP漂移,若存在待执行业务请求的标识,则说明已经有节点接收了该待执行业务请求,因此,目标节点可直接丢弃待执行业务请求,从而为过滤系统内的各节点过滤重复的业务请求。
上述实施例主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如节点21,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对节点21等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中所涉及的节点21的一种可能的结构示意图,节点21包括:获取单元31、查找单元32、过滤单元33、发送单元34、删除单元35、建立单元36、以及执行单元37。获取单元31用于支持节点21执行图4中的过程101和图6中的过程201,查找单元32用于支持节点21执行图4中的过程102和图6中的过程202;过滤单元33用于支持节点21执行图6中的过程203和204a;发送单元34用于支持节点21执行图4中的过程105;删除单元35用于支持节点21执行图6中的过程205b;建立单元36用于支持节点21执行图4中的过程103;执行单元37用于支持节点21执行图4中的过程104和106。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图8示出了上述实施例中所涉及的节点21的一种可能的结构示意图。节点21包括:处理模块1302和通信模块1303。处理模块1302用于对节点21的动作进行控制管理,例如,处理模块1302用于支持节点21执行图4中的过程101-106,图6中的过程201-205b,和/或用于本文所描述的技术的其它过程。通信模块1303用于支持节点21与其他网络实体的通信,例如与图1-图3中示出的功能模块或网络实体之间的通信。节点21还可以包括存储模块1301,用于存储节点21的程序代码和数据。
其中,处理模块1302可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1303可以是收发器、收发电路或通信接口等。存储模块1301可以是存储器。
当处理模块1302为处理器,通信模块1303为通信接口,存储模块1301为存储器时,本发明实施例所涉及的节点可以为图9所示的节点21。
参阅图9所示,该节点21包括:处理器1312、通信接口1313、存储器1311以及总线1314。其中,通信接口1313、处理器1312以及存储器1311通过总线1314相互连接;总线1314可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (16)
1.一种业务请求的过滤方法,其特征在于,包括:
目标节点获取客户端发送的待执行业务请求;
所述目标节点确定本地重复请求缓存DRC中是否存在所述待执行业务请求的标识;
若本地DRC中不存在所述待执行业务请求的标识,则所述目标节点在分布式缓存中查找是否存在所述待执行业务请求的标识,所述分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识,所述N个节点中包括所述目标节点,N>1;
若存在所述待执行业务请求的标识,则所述目标节点丢弃所述待执行业务请求。
2.根据权利要求1所述的方法,其特征在于,所述分布式缓存中具体记录有:业务请求的标识与业务请求的执行状态之间的对应关系,所述执行状态包括正在执行和执行完成;
其中,若存在所述待执行业务请求的标识,则所述目标节点丢弃所述待执行业务请求,包括:
若存在所述待执行业务请求的标识,则所述目标节点根据所述待执行业务请求的标识与待执行业务请求的执行状态之间的对应关系,确定所述待执行业务请求的执行状态;
若所述待执行业务请求的执行状态为正在执行,则所述目标节点丢弃所述待执行业务请求。
3.根据权利要求2所述的方法,其特征在于,在所述目标节点根据所述待执行业务请求的标识确定所述待执行业务请求的执行状态之后,还包括:
若所述待执行业务请求的执行状态为执行完成,则所述目标节点丢弃所述待执行业务请求,并向所述客户端发送执行完成所述待执行业务请求的业务响应;
所述目标节点在所述分布式缓存中删除所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系。
4.根据权利要求2或3所述的方法,其特征在于,在所述目标节点在分布式缓存中查找是否存在所述待执行业务请求的标识之后,还包括:
若不存在所述待执行业务请求的标识,则所述目标节点在所述分布式缓存中建立所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系,所述待执行业务请求的执行状态为正在执行。
5.根据权利要求4所述的方法,其特征在于,在所述目标节点在所述分布式缓存中建立所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系之后,还包括:
所述目标节点执行所述待执行业务请求;
所述目标节点向所述客户端发送执行完成所述待执行业务请求的业务响应。
6.根据权利要求5所述的方法,其特征在于,在所述目标节点向所述客户端发送执行完成所述待执行业务请求的业务响应之后,还包括:
若所述业务响应发送失败,则所述目标节点在所述分布式缓存中将所述待执行业务请求的执行状态修改为执行完成;
若所述业务响应发送成功,则所述目标节点在所述分布式缓存中删除所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系。
7.根据权利要求1所述的方法,其特征在于,在所述目标节点确定本地DRC中是否存在所述待执行业务请求的标识之后,还包括:
若本地DRC中存在所述待执行业务请求的标识,则所述目标节点丢弃所述待执行业务请求。
8.一种节点,其特征在于,包括:
获取单元,用于获取客户端发送的待执行业务请求;
查找单元,用于确定本地重复请求缓存DRC中是否存在所述待执行业务请求的标识;若本地DRC中不存在所述待执行业务请求的标识,则在分布式缓存中查找是否存在所述待执行业务请求的标识,所述分布式缓存中记录有N个节点中每个节点已接收的业务请求的标识,N>1;
过滤单元,用于若存在所述待执行业务请求的标识,则丢弃所述待执行业务请求。
9.根据权利要求8所述的节点,其特征在于,所述分布式缓存中具体记录有:业务请求的标识与业务请求的执行状态之间的对应关系,所述执行状态包括正在执行和执行完成;
所述过滤单元,具体用于若存在所述待执行业务请求的标识,则根据所述待执行业务请求的标识确定所述待执行业务请求的执行状态;若所述待执行业务请求的执行状态为正在执行,则丢弃所述待执行业务请求。
10.根据权利要求9所述的节点,其特征在于,所述节点还包括发送单元和删除单元,
所述过滤单元,具体用于若所述待执行业务请求的执行状态为执行完成,则丢弃所述待执行业务请求;
所述发送单元,用于若所述待执行业务请求的执行状态为执行完成,则向所述客户端发送执行完成所述待执行业务请求的业务响应;
所述删除单元,用于在所述分布式缓存中删除所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系。
11.根据权利要求10所述的节点,其特征在于,所述节点还包括:
建立单元,用于若不存在所述待执行业务请求的标识,则在所述分布式缓存中建立所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系,所述待执行业务请求的执行状态为正在执行。
12.根据权利要求11所述的节点,其特征在于,所述节点还包括执行单元,
所述执行单元,用于执行所述待执行业务请求;
所述发送单元,还用于向所述客户端发送执行完成所述待执行业务请求的业务响应。
13.根据权利要求12所述的节点,其特征在于,
所述执行单元,还用于若所述业务响应发送失败,则在所述分布式缓存中将所述待执行业务请求的执行状态修改为执行完成;
所述删除单元,还用于若所述业务响应发送成功,则在所述分布式缓存中删除所述待执行业务请求的标识与所述待执行业务请求的执行状态之间的对应关系。
14.根据权利要求8所述的节点,其特征在于,
所述过滤单元,还用于若本地DRC中存在所述待执行业务请求的标识,则丢弃所述待执行业务请求。
15.一种节点,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述节点运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述节点执行如权利要求1-7中任意一项所述的业务请求的过滤方法。
16.一种业务请求的过滤系统,其特征在于,包括N个如权利要求8-14中任一项所述的节点,所述N个节点内建立有分布式缓存,所述分布式缓存中记录有所述N个节点中每个节点已接收的业务请求的标识,N>1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610835542.XA CN106331153B (zh) | 2016-09-20 | 2016-09-20 | 一种业务请求的过滤方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610835542.XA CN106331153B (zh) | 2016-09-20 | 2016-09-20 | 一种业务请求的过滤方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106331153A CN106331153A (zh) | 2017-01-11 |
CN106331153B true CN106331153B (zh) | 2019-10-25 |
Family
ID=57787549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610835542.XA Active CN106331153B (zh) | 2016-09-20 | 2016-09-20 | 一种业务请求的过滤方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106331153B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685708B (zh) * | 2016-12-16 | 2020-02-21 | 华为技术有限公司 | 一种服务关系的确定方法、装置及系统 |
CN108304455B (zh) * | 2017-12-20 | 2022-04-29 | 创新先进技术有限公司 | 一种处理业务请求的方法、装置及设备 |
CN110209888A (zh) * | 2019-05-08 | 2019-09-06 | 无线生活(杭州)信息科技有限公司 | 接口请求的存储方法及装置 |
CN113626176A (zh) * | 2020-05-08 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种业务请求处理方法及装置 |
CN113794672B (zh) * | 2020-06-12 | 2024-02-06 | 北京沃东天骏信息技术有限公司 | 数据处理方法及装置、电子设备和计算机可读存储介质 |
CN112003947A (zh) * | 2020-08-26 | 2020-11-27 | 山东恒远智能科技有限公司 | 一种防止客户端向服务器重复请求的系统和验证方法 |
CN112291201B (zh) * | 2020-09-30 | 2023-06-20 | 北京五八信息技术有限公司 | 业务请求的传输方法及装置、电子设备 |
CN113448788A (zh) * | 2021-06-29 | 2021-09-28 | 平安证券股份有限公司 | 基于测试的业务处理方法、装置、电子设备及存储介质 |
CN116824724A (zh) * | 2023-08-30 | 2023-09-29 | 深圳市永兴元科技股份有限公司 | 网络打卡计时管理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471810A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 一种在集群环境下实现任务的方法、装置及系统 |
CN101782891A (zh) * | 2010-03-26 | 2010-07-21 | 中兴通讯股份有限公司 | 一种分布式系统通信的方法及系统 |
CN103235754A (zh) * | 2013-04-24 | 2013-08-07 | 曙光信息产业(北京)有限公司 | 分布式文件系统中请求的处理方法和装置 |
CN103324533A (zh) * | 2012-03-22 | 2013-09-25 | 华为技术有限公司 | 分布式数据处理方法、装置及系统 |
CN104145260A (zh) * | 2012-03-26 | 2014-11-12 | 华为技术有限公司 | 一种分布式作业系统的业务处理方法、执行单元和系统 |
CN105159657A (zh) * | 2015-06-12 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 处理消息的方法和系统 |
CN105915627A (zh) * | 2016-05-30 | 2016-08-31 | 北京小米移动软件有限公司 | 业务请求处理方法及装置 |
-
2016
- 2016-09-20 CN CN201610835542.XA patent/CN106331153B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471810A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 一种在集群环境下实现任务的方法、装置及系统 |
CN101782891A (zh) * | 2010-03-26 | 2010-07-21 | 中兴通讯股份有限公司 | 一种分布式系统通信的方法及系统 |
CN103324533A (zh) * | 2012-03-22 | 2013-09-25 | 华为技术有限公司 | 分布式数据处理方法、装置及系统 |
CN104145260A (zh) * | 2012-03-26 | 2014-11-12 | 华为技术有限公司 | 一种分布式作业系统的业务处理方法、执行单元和系统 |
CN103235754A (zh) * | 2013-04-24 | 2013-08-07 | 曙光信息产业(北京)有限公司 | 分布式文件系统中请求的处理方法和装置 |
CN105159657A (zh) * | 2015-06-12 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 处理消息的方法和系统 |
CN105915627A (zh) * | 2016-05-30 | 2016-08-31 | 北京小米移动软件有限公司 | 业务请求处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106331153A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331153B (zh) | 一种业务请求的过滤方法、装置及系统 | |
CN105408880B (zh) | 对共享存储装置的持久存储器的直接访问 | |
CN108810041B (zh) | 一种分布式缓存系统的数据写入及扩容方法、装置 | |
US10997137B1 (en) | Two-dimensional partition splitting in a time-series database | |
TWI549060B (zh) | Access methods and devices for virtual machine data | |
CN106503058B (zh) | 一种数据加载方法、终端和计算集群 | |
EP2830284A1 (en) | Caching method for distributed storage system, node and computer readable medium | |
WO2022007470A1 (zh) | 一种数据传输的方法、芯片和设备 | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
JPS63201743A (ja) | データ処理システム・ネットワークのためのキャッシング方法 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN107391033B (zh) | 数据迁移方法及装置、计算设备、计算机存储介质 | |
CN109302448A (zh) | 一种数据处理方法及装置 | |
CN114625762A (zh) | 一种元数据获取方法、网络设备及系统 | |
US20180300076A1 (en) | Method, device, and computer readable storage medium for managing storage | |
WO2022111380A1 (zh) | 信息处理方法、装置和存储介质 | |
CN109753229A (zh) | 数据迁移方法、装置、网络附属存储设备和存储介质 | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN111930315A (zh) | 数据访问方法、数据访问装置及存储介质 | |
WO2024001025A1 (zh) | 一种预执行缓存数据清理方法和区块链节点 | |
WO2019228009A1 (zh) | 一种lsm树的优化方法、装置及计算机设备 | |
EP4213006A1 (en) | Storage node, storage device and network chip | |
CN105765542A (zh) | 访问文件的方法、分布式存储系统和存储节点 | |
CN111209304B (zh) | 数据处理方法、装置及系统 | |
US7657717B1 (en) | Coherently sharing any form of instant snapshots separately from base volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |