海量资料索引建立系统及方法
【专利摘要】一种海量资料索引建立系统及方法,该系统安装并运行于计算装置中,该计算装置包括存储设备。该系统包括:资料分配模块,用于从资料列表池中获取资料列表,在存储设备中建立多个资料队列,并将资料列表分配到资料队列中。索引建立模块,用于针对每一个资料队列中的资料列表建立一个资料子索引,并将该资料列表从相应的资料队列中移除。优先处理模块,用于当资料列表需要优先处理时将优先权级别最高的该资料列表移入资料队列中优先处理。索引合并模块,用于将资料子索引进行合并成资料列表池的资料根索引。本发明能够同时监控多个建立索引进程,排配建立索引的优先级,并依照当前系统的可用运算资源的多少来动态调整建立索引的速度。
【专利说明】海量资料索引建立系统及方法
【技术领域】
[0001]本发明涉及一种资料索引管理系统及方法,特别是关于一种海量资料索引建立系统及方法。
【背景技术】
[0002]在资料处理过程中,建立资料索引是一种常见的管理资料需求。当资料具有相当规模的海量资料时,如何为海量资料建立索引是一件较为困难的课题。然而,利用传统索引建立方法,无法启动多个建索引程序为多笔资料同时建立索引,无法弹性地排配建立索引的优先级,也无法依照当前计算机系统的可用运算资源多少来动态调整建立索引的速度。
【发明内容】
[0003]鉴于以上内容,有必要提供一种海量资料索引建立系统及方法,能够同时监控多个建立索引进程,排配建立索引的优先级,并依照当前系统的可用运算资源的多少来动态调整建立索引的速度。
[0004]所述的海量资料索引建立系统安装并运行于计算装置中,该计算装置包括存储设备。该海量资料索引建立系统包括:资料分配模块,用于从存储设备的资料列表池中获取需要建立索引的资料列表,为每一个资料列表设定一个优先权级别,在存储设备中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中;索引建立模块,用于针对每一个资料队列中的资料列表建立一个资料子索引,将已建立的资料子索引保存在存储设备中,并将该资料列表从相应的资料队列中移除;优先处理模块,用于检查资料列表池中是否有资料列表需要优先处理,当资料列表需要优先处理时,从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理;索引合并模块,用于将所有建立的资料子索引合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备中。
[0005]所述的海量资料索引建立方法应用于计算装置中,该计算装置包括存储设备。该方法包括步骤:从存储设备的资料列表池中获取需要建立索引的资料列表,并为每一个资料列表设定一个优先权级别;在存储设备中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中;针对每一个资料队列中的资料列表建立一个资料子索弓I ;将已建立的资料子索弓I保存在存储设备中,并将该资料列表从相应的资料队列中移除;检查资料列表池中是否有资料列表需要优先处理;当资料列表需要优先处理时,从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理;将所有建立的资料子索引合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备中。
[0006]相较于现有技术,本发明所述的海量资料索引建立系统及方法,能够弹性地同时监控多个建立索引进程,弹性地排配建立索引的优先级,也能依照当前系统的可用运算资源的多少来动态调整建立索引的速度。【专利附图】
【附图说明】
[0007]图1是本发明海量资料索引建立系统较佳实施例的架构图。
[0008]图2是本发明海量资料索引建立方法较佳实施例的流程图。
[0009]图3是一种建立海量资料索引的不意图。
[0010]图4是一种优先处理资料索引的示意图。
[0011]主要元件符号说明
[0012]计算装置100
[0013]资料索引建立系统10
[0014]资料分配模块101
[0015]索引建立模块102
[0016]优先处理模块103
[0017]索引合并模块104
[0018]存储设备11
[0019]处理器12
[0020]如下【具体实施方式】将`结合上述附图进一步说明本发明。
【具体实施方式】
[0021]如图1所示,是本发明海量资料索引建立系统10较佳实施例的架构图。在本实施例中,所述的资料索引建立系统10安装并运行于计算装置100中,能够同时监控多个建立索引进程,弹性地排配建立索引的优先级,也能够依照当前系统的可用运算资源的多少来动态调整建立资料索引的速度。在本实施例中,所述的计算装置100还包括,但不仅限于,存储设备11以及处理器12。该计算装置100可以为个人计算机、或者服务器之一种。
[0022]所述的存储设备11可以为一种磁盘或网络存储装置,用于存储资料列表池、资料队列以及海量资料。所述的资料列表池包括多个资料列表,参考图3所示的资料列表ListO, ListU List2、…、ListN0所述的资料队列用于存储资料列表,每一资料列表存储有用于识别不同类别资料的资料序号,例如序号SOOalOl、S00al02等。每一资料序号分别对应有存储在存储设备11中的资料。
[0023]在本实施例中,将生产物料视为海量资料,生产机台视为资料序号,生产成品视为索引,从而为大量的生产物料建立资料索引。利用一些简单的手段就能进行大批量的工单排程,若有更多的机台资源,也能以类似于扩产能的方式增加产量。
[0024]在本实施例中,所述的资料索引建立系统10包括资料分配模块101、索引建立模块102、优先处理模块103以及索引合并模块104。本发明所称的模块系指一种能够被处理器12所执行并且能够完成固定功能的一系列程序指令段,其存储于所述的存储设备11中。
[0025]所述的资料分配模块101用于从存储设备11的资料列表池中获取需要建立索引的资料列表,并为每一个资料列表设定一个优先权级别。例如,资料列表ListO中的资料需要优先处理,则资料分配模块101将资料列表ListO的优先权级别设为最高级,并按照资料列表的文件名称依次设置资料列表池中资料列表的优先权级别。
[0026]所述的资料分配模块101还用于在存储设备11中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中。参考图4所示,资料分配模块101建立了两个资料队列,其中,资料队列I用于存放资料列表Listl和资料列表List3,以及资料队列2用于存放资料列表List2和资料列表List4。
[0027]所述的索引建立模块102用于针对每一个资料队列中的资料列表建立一个资料子索引。参考图3所示,索引建立模块102为资料队列I建立资料子索引1,为资料队列2建立资料子索引2,以及为资料队列3建立资料子索引3。
[0028]所述的索引建立模块102还用于将已建立的资料子索引保存在存储设备11中,并将该资料列表从相应的资料队列中移除。参考图4所示,当资料队列I中的资料列表Listl已建立了资料子索引I时,索引建立模块102将资料列表Listl从资料队列I中移除,以便释放系统运算资源。
[0029]所述的优先处理模块103用于检查资料列表池中是否有资料列表需要优先处理。当资料列表需要优先处理,优先处理模块103从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理。参考图4所示,资料列表ListO的需要优先处理,其优先权级别为最高,优先处理模块103将资料列表ListO移入资料队列I中,并插入资料列表List3的前优先处理。
[0030]所述的索引合并模块104用于将所有建立的资料子索引进行合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备11中。参考图3所示,索引合并模块104将资料队列I的资料子索引1、资料队列2的资料子索引2、以及为资料队列3的资料子索引3进行合并,从而为资料列表池建立一个资料根索引。
[0031]参考图2所示,是本发明海量资料索引建立方法较佳实施例的流程图。在本实施例中,该方法能够同时监控多个建立索引进程,弹性地排配建立索引的优先级,也能够依照当前系统的可用运算资源的多少来动态调整建立索引的速度。
[0032]步骤S21,资料分配模块101从存储设备11的资料列表池中获取需要建立索引的资料列表,并为每一个资料列表设定一个优先权级别。例如,资料列表ListO中的资料需要优先处理,则资料分配模块101将资料列表ListO的优先权级别设为最高级,并按照资料列表的文件名称依次设置资料列表池中资料列表的优先权级别。
[0033]步骤S22,资料分配模块101在存储设备11中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中。参考图4所示,资料分配模块101建立了两个资料队列,其中,资料队列I用于存放资料列表Listl和资料列表List3,以及资料队列2用于存放资料列表List2和资料列表List4。
[0034]步骤S23,索引建立模块102针对每一个资料队列中的资料列表建立一个资料子索引。参考图3所示,索引建立模块102为资料队列I建立资料子索引1,为资料队列2建立资料子索引2,以及为资料队列3建立资料子索引3。
[0035]步骤S24,索引建立模块102将已建立的资料子索引保存在存储设备11中,并将该资料列表从相应的资料队列中移除。参考图4所示,当资料队列I中的资料列表Listl已建立了资料子索引I时,索引建立模块102将资料列表Listl从资料队列I中移除,以便释放系统运算资源。
[0036]步骤S25,优先处理模块103检查资料列表池中是否有资料列表需要优先处理。若资料列表池中有需要优先处理的资料列表,则流程执行步骤S26 ;若资料列表池中没有优先处理的资料列表,则流程执行步骤S28。
[0037]步骤S26,优先处理模块103从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理。参考图4所示,资料列表ListO的需要优先处理,其优先权级别为最高,优先处理模块103将资料列表ListO移入资料队列I中,并插入资料列表List3的前优先处理。
[0038]步骤S27,优先处理模块103检查资料队列中是否还有资料列表。若资料队列中还有资料列表,则流程返回步骤S23 ;若资料队列中没有资料列表,则流程执行步骤S28。
[0039]步骤S28,索引合并模块104将所有建立的资料子索引进行合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备11中。参考图3所示,索引合并模块104将资料队列I的资料子索引1、资料队列2的资料子索引2、以及为资料队列3的资料子索引3进行合并,从而为资料列表池建立一个资料根索引。
[0040]以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。
【权利要求】
1.一种海量资料索引建立系统,安装并运行于计算装置中,该计算装置包括存储设备,其特征在于,所述的海量资料索引建立系统包括: 资料分配模块,用于从存储设备的资料列表池中获取需要建立索引的资料列表,为每一个资料列表设定一个优先权级别,在存储设备中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中; 索引建立模块,用于针对每一个资料队列中的资料列表建立一个资料子索引,将已建立的资料子索引保存在存储设备中,并将该资料列表从相应的资料队列中移除; 优先处理模块,用于检查资料列表池中是否有资料列表需要优先处理,当有资料列表需要优先处理时,从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理;以及 索引合并模块,用于将所有建立的资料子索引合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备中。
2.如权利要求1所述的海量资料索引建立系统,其特征在于,所述的优先处理模块还用于判断资料队列中是否还有资料列表需要建立索引。
3.如权利要求1所述的海量资料索引建立系统,其特征在于,所述的资料分配模块将资料列表池中需要优先处理的资料列表的优先权级别设为最高级,并按照资料列表的文件名称依次设置资料列表池中资料列表的优先权级别。
4.如权利要求1所 述的海量资料索引建立系统,其特征在于,所述的资料列表池包括多个资料列表,每一资料列表存储有用于识别不同类别资料的资料序号,并分别对应于存储在存储设备中的资料。
5.如权利要求1所述的海量资料索引建立系统,其特征在于,所述的存储设备为一种磁盘或网络存储装置,用于存储资料列表池、资料队列以及海量资料。
6.一种海量资料索引建立方法,应用于计算装置中,该计算装置包括存储设备,其特征在于,该方法包括步骤: 从存储设备的资料列表池中获取需要建立索引的资料列表,并为每一个资料列表设定一个优先权级别; 在存储设备中建立多个资料队列,并按照优先权级别将获取的资料列表分配到资料队列中; 针对每一个资料队列中的资料列表建立一个资料子索引; 将已建立的资料子索引保存在存储设备中,并将该资料列表从相应的资料队列中移除; 检查资料列表池中是否有资料列表需要优先处理; 当有资料列表需要优先处理时,从资料列表池中获取优先权级别最高的资料列表,并将该资料列表移入空闲的资料队列中优先处理;以及 将所有建立的资料子索引合并成一个资料列表池的资料根索引,并将该资料根索引保存在存储设备中。
7.如权利要求6所述的海量资料索引建立方法,其特征在于,该方法还包括步骤: 判断资料队列中是否还有资料列表需要建立索引; 当资料队列中还有资料列表需要建立索引时,针对该资料队列中的资料列表建立一个资料子索引。
8.如权利要求6所述的海量资料索引建立方法,其特征在于,所述的需要优先处理的资料列表的优先权级别设为最高级,资料列表池中剩余资料列表的优先权级别按照资料列表的文件名称来设置。
9.如权利要求6所述的海量资料索引建立方法,其特征在于,所述的资料列表池包括多个资料列表,每一资料列表存储有用于识别不同类别资料的资料序号,并分别对应于存储在存储设备中的资料。
10.如权利要求6所述的海量资料索引建立方法,其特征在于,所述的存储设备为一种磁盘或网络存储装置,用于存储资料列表池、资料队列以及海量资料。
【文档编号】G06F17/30GK103631792SQ201210300880
【公开日】2014年3月12日 申请日期:2012年8月22日 优先权日:2012年8月22日
【发明者】李忠一, 叶建发, 蔡程丰, 卢俊锜 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司