访问服务器磁盘的方法、装置及系统的制作方法_3

文档序号:9750498阅读:来源:国知局

[0104]请求单元52,用于当服务器内存没有保存数据内容时,向服务器请求加锁;
[0105]读写单元51,用于当服务器未对其他终端加锁时,在加锁后访问服务器磁盘,读取数据内容;
[0106]请求单元52,用于当服务器已对其他终端加锁时,等待其他终端解锁后再次向服务器请求加锁;
[0107]其中,服务器的加锁程序在同一时刻上仅允许一个终端访问服务器磁盘。
[0?08] 进一步的,读写单元51,用于:
[0109 ]在其他终端解锁后,再次访问服务器内存;
[0110]若服务器内存中新增有数据内容,则读取数据内容;
[0111]请求单元52,用于取消再次向服务器请求加锁。
[0112]进一步的,请求单元52用于当服务器内存中仍没有保存数据内容时,再次向服务器请求加锁。
[0113]进一步的,请求单元52,用于在访问服务器磁盘,读取数据内容之后,通知服务器解锁,以便服务器对其他终端进行加锁。
[0114]进一步的,请求单元52请求执行的加锁程序为自旋锁程序。
[0115]本发明实施例提供的访问服务器磁盘的装置,能够在终端需要请求服务器侧的数据内容时,首先使终端访问服务器内存,如果服务器内存中保存有该数据内容,则服务器将数据内容返回给终端;如果服务器内存中没有存储该数据内容,则终端访问服务器磁盘。在访问服务器磁盘前,终端首先要向服务器请求加锁,终端只有在加锁后才能访问服务器磁盘,否则等待服务器对其他终端解锁后再请求加锁。本发明实施例能够通过加锁程度限制访问服务器磁盘的终端数量,在同一时刻上仅允许一个终端访问服务器磁盘。与现有技术相比,无论访问服务器磁盘的终端数量有多少,在同一时刻上请求调用服务器磁盘I/O口的终端数量都不会超过一个,因此本发明实施例能够有效消除大量终端同时访问对服务器磁盘造成的冲击。
[0116]进一步的,作为对图2、图3及图4所示方法的实现,本发明实施例还提供了一种访问服务器磁盘的装置,该装置位于服务器侧,或者独立于服务器但是与服务器建立有数据交互关系。如图6所示,该装置包括:接收单元61、发送单元62、加解锁单元63。其中,
[0117]接收单元61,用于接收终端发送的数据请求,数据请求用于请求服务器侧的数据内容;
[0118]发送单元62,用于当服务器内存中保存有数据内容时,将服务器内存中的数据内容返回给终端;
[0119]加解锁单元63,用于当服务器内存中没有保存数据内容时,启动加锁程序对终端进行加锁,以使得处于加锁状态下的终端访问服务器磁盘,获取数据内容,并使未加锁的其他终端等待加锁;
[0120]其中,加锁程序在同一时刻上仅允许一个终端访问服务器磁盘。
[0121 ]进一步的,如图7所示,该装置进一步包括读写单元64,用于在终端完成对服务器磁盘的访问后,将从服务器磁盘中读取的数据内容写入到服务器内存中,以使得等待加锁的其他终端从服务器内存中读取数据内容。
[0122]进一步的,加解锁单元63用于:
[0123]在终端完成对服务器磁盘的访问后,对终端进行解锁;
[0124]对等待加锁的其他终端进行加锁。
[0125]进一步的,加解锁单元63执行的加锁程序为自旋锁程序。
[0126]本发明实施例提供的访问服务器磁盘的装置,能够在终端需要请求服务器侧的数据内容时,首先使终端访问服务器内存,如果服务器内存中保存有该数据内容,则服务器将数据内容返回给终端;如果服务器内存中没有存储该数据内容,则终端访问服务器磁盘。在访问服务器磁盘前,终端首先要向服务器请求加锁,终端只有在加锁后才能访问服务器磁盘,否则等待服务器对其他终端解锁后再请求加锁。本发明实施例能够通过加锁程度限制访问服务器磁盘的终端数量,在同一时刻上仅允许一个终端访问服务器磁盘。与现有技术相比,无论访问服务器磁盘的终端数量有多少,在同一时刻上请求调用服务器磁盘I/O口的终端数量都不会超过一个,因此本发明实施例能够有效消除大量终端同时访问对服务器磁盘造成的冲击。
[0127]进一步的,作为对上述图1至图4所示方法的实现,本发明实施例还提供了一种访问服务器磁盘的系统,如图8所示,该系统包括终端81及服务器82,其中:
[0128]终端81包括上述图5所示的装置,或者独立于该装置但是与该装置建立有数据交互关系;
[0129]服务器82包括上述图6或图7所示的装置,或者独立于该装置但是与该装置建立有数据交互关系。
[0130]本发明实施例提供的访问服务器磁盘的系统,能够在终端需要请求服务器侧的数据内容时,首先使终端访问服务器内存,如果服务器内存中保存有该数据内容,则服务器将数据内容返回给终端;如果服务器内存中没有存储该数据内容,则终端访问服务器磁盘。在访问服务器磁盘前,终端首先要向服务器请求加锁,终端只有在加锁后才能访问服务器磁盘,否则等待服务器对其他终端解锁后再请求加锁。本发明实施例能够通过加锁程度限制访问服务器磁盘的终端数量,在同一时刻上仅允许一个终端访问服务器磁盘。与现有技术相比,无论访问服务器磁盘的终端数量有多少,在同一时刻上请求调用服务器磁盘I/O口的终端数量都不会超过一个,因此本发明实施例能够有效消除大量终端同时访问对服务器磁盘造成的冲击。
[0131]本发明的实施例公开了:
[0132]Al、一种访问服务器磁盘的方法,所述方法应用于终端侧,其特征在于,所述方法包括:
[0133]访问服务器内存,读取数据内容;
[0134]若服务器内存没有保存所述数据内容,则向所述服务器请求加锁;
[0135]若服务器未对其他终端加锁,则在加锁后访问服务器磁盘,读取所述数据内容;
[0136]若服务器已对其他终端加锁,则等待其他终端解锁后再次向服务器请求加锁;
[0137]其中,服务器的加锁程序在同一时刻上仅允许一个终端访问服务器磁盘。
[0138]A2、根据Al所述的方法,其特征在于,在其他终端解锁后,所述方法进一步包括:
[0139]再次访问服务器内存;
[0140]若服务器内存中新增有所述数据内容,则读取所述数据内容;
[0141]取消再次向服务器请求加锁。
[0142]A3、根据A2所述的方法,其特征在于,所述再次向服务器请求加锁,包括:
[0143]若服务器内存中仍没有保存所述数据内容,则再次向服务器请求加锁。
[0144]A4、根据Al所述的方法,其特征在于,在访问服务器磁盘,读取所述数据内容之后,所述方法进一步包括:
[0145]通知服务器解锁,以便服务器对其他终端进行加锁。
[0146]A5、根据Al至4中任一项所述的方法,其特征在于,所述加锁程序为自旋锁程序。
[0147]B6、一种访问服务器磁盘的方法,所述方法应用于服务器侧,其特征在于,所述方法包括:
[0148]接收终端发送的数据请求,所述数据请求用于请求服务器侧的数据内容;
[0149]若服务器内存中保存有所述数据内容,则将服务器内存中的所述数据内容返回给所述终端;
[0150]若服务器内存中没有保存所述数据内容,则启动加锁程序对所述终端进行加锁,以使得处于加锁状态下的所述终端访问服务器磁盘,获取所述数据内容,并使未加锁的其他终端等待加锁;
[0151]其中,所述加锁程序在同一时刻上仅允许一个终端访问服务器磁盘。
[0152]B7、根据B6所述的方法,其特征在于,所述方法进一步包括:
[0153]在所述终端完成对服务器磁盘的访问后,将从服务器磁盘中读取的所述数据内容写入到服务器内存中,以使得等待加锁的其他终端从服务器内存中读取所述数据内容。
[0154]B8、根据B6所述的方法,其特征在于,所述方法进一步包括:
[0155]在所述终端完成对服务器磁盘的访问后,对所述终端进行解锁;
[0156]对等待加锁的其他终端进行加锁。
[0157]B9、根据B6至8中任一项所述的方法,其特征在于,所述加锁程序为自旋锁程序。
[0158]ClO、一种访问服务器磁盘的装置,所述装置位于终端侧,其特征在于,所述装置包括:
[0159 ]读写单元,用于访问服务器内存,读取数据内容;
[0160]请求单元,用于当服务器内存没有保存所述数据内容时,向所述服务器请求加锁;
[0161]所述读写单元,用于当服务器未对其他终端加锁时,在加锁后访问服务器磁盘,读取所述数据内容;
[0162]所述请求单元,用于当服务器已对其他终端加锁时,等待其他终端解锁后再次向服务器请求加锁;
[0163]其中,服务器的加锁程序在同一时刻上仅允许一个终端访问服务器磁盘。
[0164]Cl 1、根据ClO所述的装置,其特征在于,所述读写单元,用于:
[0165]在其他终端解锁后,再次访问服务器内存;
[0166]若服务器内存中新增有所述数据内容,则读取所述数据内容;
[0167]所述请求单元,用于取消再次向服务器请求加锁。
[0168]C12、根据Cll所述的装置,其特征在于,所述请求单元用于当服务器内存中仍没有保存所述数据内容时,再次向服务器请求加锁。
[0169]C13、根据ClO所述的装置,其特征在于,所述请求单元,用于在访问服务器磁盘,读取所述数据内容之后,通知服务器解锁,以便服务器对其他终端进行加锁。
[0170]C14、根据ClO至13中任一项所述的装置,其特征在于,所述请求单元请求执行的加锁程序为自旋锁程序。
[0171]D15、一种访问服务器磁盘的装置,所述装置位于服务器侧,其特征在于,所述装置包括:
[0172]接收单元,用于接
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1