CN1310512C - 基于数据/视频系统的服务器扩容方法 - Google Patents
基于数据/视频系统的服务器扩容方法 Download PDFInfo
- Publication number
- CN1310512C CN1310512C CNB2004101026556A CN200410102655A CN1310512C CN 1310512 C CN1310512 C CN 1310512C CN B2004101026556 A CNB2004101026556 A CN B2004101026556A CN 200410102655 A CN200410102655 A CN 200410102655A CN 1310512 C CN1310512 C CN 1310512C
- Authority
- CN
- China
- Prior art keywords
- server
- data file
- memory location
- data
- export
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于数据/视频系统的服务器扩容方法,根据CSO个数和交织存储次数,重新分配存储空间,确定每一数据文件的存储位置;比较一数据文件原来的存储位置和从重新分配的存储空间选取一未被使用的存储空间的存储位置,如果该数据文件原来存储位置中的CS0不是新存储位置中的CSO,则该数据文件原来存储位置中的CSO将该数据文件从本地删除;如果该数据文件原来存储位置中的CSO没有新存储位置中的CSO,则新存储位置中的CSO将该文件存储到其本地;如果所有的数据文件均完成上述的处理则扩容完成;本发明扩容的粒度很小,在扩容时,运营和扩容可以同时进行,并且扩容后,能均衡输出服务器上存储的数据,确保数据存储和输出的均衡。
Description
技术领域
本发明涉及一种服务器扩容的方法,尤其是一种基于数据/视频系统的服务器扩容方法。
背景技术
随着网络技术的发展,数据服务和视频点播成为热点,这类服务具有数据量大,数据需求及时的特点,随着用户数量的不断增长,数据/视频服务端的压力随之增长,为了解决这个问题,一般采用多机堆叠方式,增加数据输出能力,在当前系统输出能力不足的情况下,通过增加机器数量进行系统扩容。
当输出服务器上的文件采用了交织存储的方式时,由于文件存储有严格的存储结构,按照普通的方式进行扩容会打乱多台输出服务器之间的存储结构,使输出产生错误,这就需要重新调整文件的存储结构和控制机制,已有的服务器组扩容为了维持其系统结构,大多是功能单元进行扩容的,扩容的基本单元是服务器组,增加服务器后,原系统的数据保持不变,新的数据直接存储进新的服务器,控制机需要对数据分配的机制重新调整,同时,如果扩容量比较大,也需要增加控制机的数量,造成系统扩容的投资较高,同时系统的弹性不好;另外,在实际商业运营时,当服务器组需要进行扩容时,因为物理结构和逻辑结构的改变,一般都需要暂停业务进行扩容维护。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基于数据/视频系统的服务器扩容方法,可以在功能单元内部进行扩容而不影响整体结构,扩
容的基本单元是服务器组内部的基本单元,扩容的粒度很小,并且,在服务器扩容时不影响其服务。
为实现上述目的,本发明提供一种基于数据/视频系统的服务器扩容方法,所述的数据/视频系统包括存储控制服务器(CSC)、一个或一个以上的输出服务器(CSO)和一个或一个以上素材机(CSO-ALL),所述CSC与所述一个或一个以上的CSO连接,所述CSO-ALL分别与所述的CSO、CSC连接,所述CSC用于对节目请求进行整合分发和扩容处理,所述CSO响应CSC发送的数据请求消息将其上存储的数据文件发送给用户;所述CSO-ALL用于存储所有的数据文件,基于该系统的方法包括以下步骤:
步骤1、所述CSC根据CSO个数和/或交织存储次数,重新分配存储空间,确定每一数据文件的存储位置,其中,每一数据文件对应一存储空间,所述存储位置为与所述交织存储次数对应数量的所述CSO;
步骤2、所述CSC查询其中一数据文件原来的存储位置,并从重新分配的存储空间选择一未被使用的存储空间,得到一新存储位置;
步骤3、所述CSC比较上述两个存储位置,件新存储位置中没有原来存储位置中的CSO,则该数据文件原来存储位置中的CSO将该数据文件从本地删除;如果该数据文件原来存储位置中没有新存储位置中的CSO,则新存储位置中的CSO将该文件存储到其本地;
步骤4、所述CSC判断所有的数据文件是否按照步骤2、3处理完成,如果没有返回步骤2,如果完成,结束。
根据本发明所述的方法可以在功能单元内部进行扩容而不影响整体结构,扩容的基本单元是服务器组内部的基本单元,扩容的粒度很小,并且本发明向上也兼容以服务器组为单元的扩容方式,服务器在扩容时,并不需要停止其所支撑的业务,运营和扩容可以同时进行,进行服务器扩容后,能均衡新旧服务器上存储的数据,确保数据存储和输出的均衡,控制机在修改了简单的系统配置后还能继续运行,不需要增加控制机的数量。
以下结合附图和实施例对本发明做进一步的详细说明。
附图说明
图1为本发明所述系统的结构示意图;
图2为数据文件的存储分配示意图;
图3为本发明所述方法的流程图。
具体实施方式
参见图1,本发明所涉及到的数据/视频系统包括一个CSC1和一个或一个以上的CSO21、CSO22......CSO2n,其中,n>=1,还有一个素材机CSO-ALL3,CSO-ALL3、CSO21、CSO22......CSO2n分别与CSC1连接,并且,所述CSO-ALL3分别与CSO21、CSO22......CSO2n连接,为上述的CSO21、CSO22......CSO2n提供数据文件。所述的CSC1用于对数据文件请求进行整合分发以及扩容处理,所述一个或一个以上的CSO2n响应CSC1发送来的数据请求消息将请求的数据文件发送给数据申请方。
本发明所述的系统中的数据文件是按照交织存储的策略分配后存储在CSO上,具体的,在本实施例中,CSC对交织存储后的存储空间的管理是以存储空间分配表(Storage Allot Table,简称SAT)的形式进行管理的,对于每个文件的存储信息是以存储位置表(Storage Position Table,简称SPT)的形式来进行管理的。
在该系统运行前,根据CSO个数n和存储次数k分配存储空间,同时生成SAT表,用来记录分配后的存储空间的信息,SAT表生成策略是:根据CSO个数n和存储次数k,进行计算,其中,每个数据文件对应一个存储空间(StorageSpaceID),一个StorageSpaceID对应k个CSO,
当StorageSpaceID=1时,对应该存储空间的CSO编号为1、2...k;
当StorageSpaceID=2时,对应该存储空间的CSO编号为2、3、...k+1;依次类推,
当StorageSpaceID=n-k+1时,对应该存储空间的CSO编号为(n-k+1)、(n-k+2)...n;
当StorageSpaceID=n-k+2时,对应该存储空间的CSO编号为(n-k+2)、(n-k+3)...n、1;
当StorageSpaceID=n-k+3时,对应应该存储空间的CSO编号为(n-k+3)、(n-k+4)...n、1、2;
具体的算法为:
(其中n为CSO个数,k为存储次数)
当存储空间=1时,对应该存储空间的CSO编号为1、2...k;
当存储空间=2时,对应该存储空间的CSO编号为2、3、...k+1;
依次类推,
当存储空间=n-k+1时,对应该存储空间的CSO编号为(n-k+1)、(n-k+2)...n;
当存储空间=n-k+2时,对应该存储空间的CSO编号为(n-k+2)、(n-k+3)...n、1;
当存储空间=n-k+3时,对应应该存储空间的CSO编号为(n-k+3)、(n-k+4)...n、1、2;
如表1所示,表示CSO的个数为4,存储次数为2时的SAT表。该表表示了数据文件的存储空间分配关系,每个存储空间对应一个的存储位置,所述的存储位置即为负责存储任务的CSO编号,每个存储空间都有一个存储标识用来表示空间是否被占用,每个数据文件对应一个特定的存储空间;具体的内容包括存储空间编号(StorageSpaceID)用于记录存储一个数据文件的存储位置(StoragePostion)即CSO编号及空间状态(Status),其中,CSO编号个数表示一个数据文件的存储次数。SAT表在系统第一次初始化开始时生成,根据需求,可以在系统运行时添加表内容。
具体地,对于每个数据文件采用交织存储的方式,以上述的分配关系存储在不同的CSO上,如图2所示(当CSO个数为4,文件的存储次数为2时),可以保证当k-1(k为存储次数)台CSO出现异常,无法正常运行时,整个系统的运行流程不会收到影响;最大程度的平滑CSO的负载,避免出现单台CSO超负荷运行,而其他CSO却是无负荷运行;方便系统的扩容,即新增加CSO的个数或改变节目存储次数时,不需要修改原程序,只需要重新配置系统运行参数,初始化节目即可。
表1
StorageSpaceID | StoragePosition | Status |
1 | CSO1,CSO2 | 已经使用 |
2 | CSO2,CSO3 | 已经使用 |
3 | CSO3,CSO4 | 已经使用 |
4 | CSO4,CSO1 | 正在使用 |
5 | CSO1,CSO2 | 正在使用 |
6 | CSO2,CSO3 | 没有使用 |
…… | …… | …… |
另外,所述的CSC对于所有数据文件的管理是通过SPT表来管理的,所述的SPT表记录了已存储数据文件的信息,主要包括数据文件名称、该数据文件标识、存储空间编号、对应的CSO、交织存储的次数及该数据文件的状态,如正在输出,未输出等状态,SPT为响应每次用户点播提供了信息,并且是动态变化的,SAT/SPT表通过相同的存储空间编号相关联。
基于上述的系统,本发明所述的基于数据/视频系统的服务器扩容方法的实施例如图3所示,包括以下步骤:
步骤1、所述CSC根据新的CSO个数n和交织存储次数k,重新分配存储空间,生成新SAT表,确定每一数据文件的存储位置,所述存储位置为与所述交织存储次数k的数量相同的CSO,所述的每一个CSO具有唯一的编号;
步骤2、查询SPT表得到数据文件名及对应的CSO编号,并在所述新SAT表选取一未被使用的存储空间,得到与该编号相对应的CSO编号;
步骤3、比较所述新SAT表中的CSO编号与所述数据文件对应的CSO编号,如果所述数据文件对应的CSO编号不是新SAT表中的CSO编号,则CSC给该CSO发送删除请求消息,CSO将该数据文件删除;如果所述数据文件对应的CSO编号是新SAT表中的CSO编号,CSC给该CSO发送存储请求消息,CSO存储该文件。
步骤4、步骤3完成后,CSC查询SPT表获得存储数据文件的总个数,比较该个数与SAT表中的已使用的存储空间个数是否相同,如果不同,返回步骤2,如果相同,则所有文件重新调整存储位置的操作完成,扩容操作结束。
从上述流程可知,扩容过程不是立即完成的,而是在不影响文件输出的情况下逐步完成的,通过按照原来的SAT表和新的SAT表的差异通过动态的逐步修改SPT表,最后使SPT表的所有数据文件的存储位置,即CSO的编号与新SAT表的中存储空间对应的CSO的编号相一致,才扩容完成,当下次用户点播节目时,新的CSO就能自动提供服务了。
在上述过程中,涉及到两个主要的过程,一个是在CSO上删除数据文件,一个是在CSO上存储数据文件,在删除数据文件之前,CSC首先查询SPT表中该数据文件的状态,如果其状态为正在输出,此时不能删除,则等待,直到该状态为未输出,再发出删除请求消息,如果为未输出,则向该CSO发送删除请求消息,当CSO接收到该消息后,立刻该将数据文件从本地删除。具体的,所述步骤3中的CSC给该CSO发送删除请求消息,CSO将该文件删除的过程具体为以下步骤:
步骤3a、所述CSC根据该数据文件名和存储的CSO编号生成删除请求消息,并发送到相应的CSO;
步骤3b、所述CSO接收到该删除请求消息后,根据所述删除请求消息中的文件名在本地找到对应的文件,进行删除,所述CSO完成删除操作后,向所述CSC返回完成删除的消息,消息内容包括消息编号、文件名、存储空间编号、完成情况等;
步骤3c、所述CSC根据返回消息中的存储空间编号把SAT表中相应项的存储标识修改成“未使用”,同时,把这个数据文件的所有信息在SPT表中删除。
所述步骤3中CSC给该CSO发送存储请求消息,CSO存储该文件的过程具体包括以下步骤:
步骤3a’、所述CSC根据存储空间编号、对应的CSO编号和需要存储的文件名生成存储请求消息,发送到相应的CSO;
步骤3b’、所述CSO根据所述存储请求消息中的文件名在素材机中找到对应的文件,进行存储,CSO完成存储后,向CSC返回完成存储的消息;
步骤3c’、所述CSC根据所述返回消息中的存储空间编号把SAT表中相应项的存储标识修改成“已使用”,同时,把这个数据文件的相关信息(包括文件名、存储空间编号、存储位置、存储次数等)填写到SPT表中。
当不但增加了CSO,还增加了数据文件时,除了上述的操作外,还需要将新增加的数据文件存储到相应的CSO上,具体过程为:
将新增加的数据文件存储到素材机上,并将该新增加的数据文件名及个数发送给CSC,CSC将原来的数据文件按照上述方法做好调整后,查询新SAT表,获得一个“未使用”的存储空间编号和对应的存储位置(即CSO编号),然后根据这些信息和需要存储的文件名生成一个存储请求消息,发送到相应的CSO,CSO根据消息中的文件名在素材机中找到对应的文件,进行存储,CSO完成存储后,返回CSC完成存储的消息,CSC根据这个消息中的存储空间编号把SAT表中相应项的存储标识修改成“已使用”,并且把这个节目的相关信息填写到SPT表中,CSC同时统计消息的个数,与新增文件的个数相比较,如果相同,则新增节目操作完成,如果不同,则继续存储操作。
通过本发明所述的扩容方法,扩容的基本单元是服务器组内部的基本单元,如CSO,扩容的粒度很小,并且本发明向上也兼容以服务器组为单元的扩容方式,服务器在扩容时,通过对同一存储位置表(维护所有的文件存储结构)的不同版本的动态维护,并不需要停止其所支撑的业务,运营和扩容可以同时进行,进行服务器扩容后,能均衡新旧服务器上存储的数据,确保数据存储和输出的均衡,控制机在修改了简单的系统配置后还能继续运行,不需要增加控制机的数量。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1、一种基于数据/视频系统的服务器扩容方法,所述的数据/视频系统包括存储控制服务器、至少一个输出服务器和至少一个素材机,所述存储控制服务器与所述输出服务器连接,所述素材机分别与所述输出服务器、存储控制服务器连接,其特征在于该方法包括以下步骤:
步骤1、所述存储控制服务器根据输出服务器个数和交织存储次数,重新分配存储空间,确定每一数据文件的存储位置,其中,每一数据文件对应一存储空间,所述存储位置对应与所述交织存储次数对应数量的所述输出服务器;
步骤2、所述存储控制服务器查询其中一数据文件原来的存储位置,并从重新分配的存储空间中选取一未被使用的存储空间,得到一新存储位置;
步骤3、所述存储控制服务器比较上述两个存储位置,如果该数据文件新存储位置中没有原来存储位置中的输出服务器,则该数据文件原来存储位置中的输出服务器将该数据文件从本地删除;如果该数据文件原来存储位置中没有新存储位置中的输出服务器,则新存储位置中的输出服务器将该文件存储到其本地;
步骤4、所述存储控制服务器判断所有的数据文件是否按照步骤2、3处理完成,如果没有返回步骤2,如果完成,结束。
2、根据权利要求1所述的基于数据/视频系统的服务器扩容方法,其特征在于,步骤3中,当该数据文件原来存储位置中的输出服务器将该数据文件从本地删除和/或新存储位置中的输出服务器将该文件存储到其本地后,向所述存储控制服务器返回删除和/或存储的回应消息,所述存储控制服务器根据该返回的删除和/或存储的回应消息将其新的存储空间设为已使用状态,同时修改该数据文件的相应信息。
3、根据权利要求1或2所述的基于数据/视频系统的服务器扩容方法,其特征在于,步骤3中,如果该数据文件原来存储位置中的输出服务器不是新存储位置中的输出服务器,则该数据文件原来存储位置中的输出服务器将该数据文件从本地删除的过程具体包括:所述存储控制服务器向该数据文件原来存储位置中的输出服务器发送删除请求消息,该数据文件原来存储位置中的输出服务器接收到该删除消息后,将该数据文件从本地删除。
4、根据权利要求3所述的基于数据/视频系统的服务器扩容方法,其特征在于,所述存储控制服务器向该数据文件原来存储位置中的输出服务器发送删除请求消息之前,查询该数据文件是否正在使用,如果正在使用,等待;如果未使用,发送删除请求消息。
5、根据权利要求1或2所述的基于数据/视频系统的服务器扩容方法,其特征在于,步骤3中,如果该数据文件原来存储位置中的输出服务器没有新存储位置中的输出服务器,则新存储位置中的输出服务器将该文件存储到其本地的过程具体包括:所述存储控制服务器向新存储位置中的输出服务器发送存储请求消息,所述新存储位置中的输出服务器接收到该存储请求消息,从素材机上查找该该数据文件并存储到本地。
6、根据权利要求2所述的基于数据/视频系统的服务器扩容方法,其特征在于,当所述的回应消息为删除回应消息时,将所述数据文件的所有信息删除;当所述的回应消息为存储回应消息时,将所述数据文件中表示原来存储位置中的输出服务器信息修改为新存储位置中的输出服务器信息。
7、根据权利要求1所述的基于数据/视频系统的服务器扩容方法,其特征在于,所述步骤2中的数据文件对应具有相应的信息,所述信息至少包括文件名称、存储位置、交织存储次数及使用状态,所述的存储位置为与所述交织存储次数的数量相同的输出服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101026556A CN1310512C (zh) | 2004-12-29 | 2004-12-29 | 基于数据/视频系统的服务器扩容方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101026556A CN1310512C (zh) | 2004-12-29 | 2004-12-29 | 基于数据/视频系统的服务器扩容方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1633166A CN1633166A (zh) | 2005-06-29 |
CN1310512C true CN1310512C (zh) | 2007-04-11 |
Family
ID=34848131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101026556A Expired - Fee Related CN1310512C (zh) | 2004-12-29 | 2004-12-29 | 基于数据/视频系统的服务器扩容方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1310512C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248622B (zh) * | 2013-04-09 | 2016-02-24 | 中国科学院计算技术研究所 | 一种自动伸缩的在线视频服务质量保障方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047408A (zh) * | 1989-05-15 | 1990-11-28 | 国际商业机器公司 | 分散数据处理系统中顾客对文件的扩充 |
US5928327A (en) * | 1996-08-08 | 1999-07-27 | Wang; Pong-Sheng | System and process for delivering digital data on demand |
CN1337640A (zh) * | 2000-05-18 | 2002-02-27 | 三星电子株式会社 | 音频/视频系统及其功能扩展模块 |
US6425130B2 (en) * | 1996-06-25 | 2002-07-23 | Matsushita Electric Industrial Co., Ltd. | Video network server for distributing sound and video image information to a plurality of terminals |
JP2002288314A (ja) * | 2001-03-23 | 2002-10-04 | Sanyo Electric Co Ltd | サーバシステムおよびその画像管理方法 |
-
2004
- 2004-12-29 CN CNB2004101026556A patent/CN1310512C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047408A (zh) * | 1989-05-15 | 1990-11-28 | 国际商业机器公司 | 分散数据处理系统中顾客对文件的扩充 |
US6425130B2 (en) * | 1996-06-25 | 2002-07-23 | Matsushita Electric Industrial Co., Ltd. | Video network server for distributing sound and video image information to a plurality of terminals |
US5928327A (en) * | 1996-08-08 | 1999-07-27 | Wang; Pong-Sheng | System and process for delivering digital data on demand |
CN1337640A (zh) * | 2000-05-18 | 2002-02-27 | 三星电子株式会社 | 音频/视频系统及其功能扩展模块 |
JP2002288314A (ja) * | 2001-03-23 | 2002-10-04 | Sanyo Electric Co Ltd | サーバシステムおよびその画像管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1633166A (zh) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1292370C (zh) | 从源系统复制信息到目标系统的方法 | |
CN1794208A (zh) | 大容量存储设备和用于动态管理大容量存储设备的方法 | |
CN101354726B (zh) | 一种机群文件系统的内存元数据管理方法 | |
CN1085863C (zh) | 计算机系统的存储器管理系统 | |
CN102789423B (zh) | 四池闪存磨损均衡方法 | |
CN103412884B (zh) | 一种异构存储介质下嵌入式数据库的管理方法 | |
JP5607059B2 (ja) | パーティション化した拡張可能で可用性の高い構造化ストレージにおけるパーティション管理 | |
CN1722106A (zh) | 一种嵌入式实时操作系统中内存分配的方法 | |
CN1466060A (zh) | 闪速存储器文件系统 | |
CN103608782A (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN1147648A (zh) | 数据存储装置及存储方法 | |
CN101079034A (zh) | 消除文件存储系统中冗余文件的系统及方法 | |
CN1309354A (zh) | 用于持久和稳固的存储设备分配的系统和方法 | |
CN1945539A (zh) | 计算机集群系统中共享资源锁分配方法与计算机及集群系统 | |
CN1955958A (zh) | 一种基于目录树的分类数据存储及分类目录查询方法 | |
CN1869933A (zh) | 实现数据升级的计算机处理系统和数据升级方法 | |
CN1687904A (zh) | 智能卡存储环境的控制方法 | |
CN103455433B (zh) | 内存管理方法及系统 | |
CN1545048A (zh) | 一种用二维表实现的树的存储、访问的方法 | |
CN1679005A (zh) | 动态存储器管理 | |
CN100338607C (zh) | 一种组织和访问分布式文件系统目录的方法 | |
CN101800873B (zh) | 一种视频监控数据的存储方法和设备 | |
CN1908934A (zh) | 一种嵌入式数据库的在线升级控制方法和装置 | |
CN111694765A (zh) | 一种面向移动应用特征的非易失性内存文件系统多粒度空间管理方法 | |
CN1310512C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070411 Termination date: 20171229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |