防止数据处理混乱的方法

文档序号:6509469阅读:278来源:国知局
专利名称:防止数据处理混乱的方法
技术领域
本发明是关于一种防止数据处理混乱的方法,特别是关于应用在具有多个处理程序的软件的防止数据处理混乱的方法,上述多个处理程序是频繁处理一系统的储存单元内相同的数据区块,该数据区块一次只能由一个处理程序作处理。
背景技术
一般计算机系统如桌上型计算机、笔记本型计算机、服务器或工作站等,其系统内具有多个复杂的软件,且软件更具有多个处理程序,借由处理程序处理该系统储存单元(如内存)的各个数据区块,进行存取数据区块内的动作。
然而,多个处理程序在进行处理时,常需处理储存单元的同一个数据区块,其处理方式一次仅能有一个处理程序处理该数据区块。因此,目前的作法是在软件的处理程序设有大量的锁定机制,防止多个处理程序同时处理同一个数据区块。现就当今业界的作法,举例如下如图1所示是单一处理程序的流程图,首先执行步骤S10,判断数据区块是否正被其它处理程序处理,若是则重返步骤10,继续进行判断,若没有,则进到步骤S11,先将该数据区块锁定(借由上述锁定机制),再进到步骤S12,处理该数据区块内的资料,并在处理完成后,进到步骤S13,将该数据区块的锁定解除,供其它处理程序处理。
如图2(A)及图2(B)所示是多个处理程序流程图,图中是以二个处理程序为例作说明,其中,图2(A)是一处理程序A,图2(B)是一处理程序B,且此二个程序之间存有相互关系,必须先执行处理程序A,再执行处理程序B。
如图2(A)所示,处理程序A首先执行步骤S20,判断数据区块是否正被其它处理程序处理,若是则返回该步骤S20,继续进行判断,若否,则进到步骤S21,先将该数据区块锁定(借由上述锁定机制),再进到步骤S22,处理该数据区块,并在处理完成后,进到步骤S23,将旗标(flag)设为A,再进到步骤S24,将该数据区块的锁定解除,供程序B进行处理。
如图2(B)所示,同时间,处理程序B也一直重复着执行步骤S30,判断数据区块是否正被其它处理程序处理,直至上述处理程序A处理完毕,且解除锁定后,再进到步骤S31,将该数据区块锁定(借由上述锁定机制),进到步骤S32,先判断旗标是否为A(也就是处理程序B必须在处理程序A处理完后,才可进行处理),若旗标为A(处理程序A处理完毕),则进到步骤S33,处理数据区块内的资料,并在处理完成后,进到步骤S34,将旗标设为B,再进到步骤S35,将该数据区块的锁定解除,供其它处理程序处理;相反之,在步骤S32,若旗标不是A,则进到步骤S36,将数据区块的锁定解除,再重返步骤S30,重新判断数据区块是否正被其它处理程序处理。
由上述二个例子可清楚看出,必需在处理程序设有锁定机制,才可防止其它处理程序同时处理同一数据区块,再者,若有多个存有相互关系的处理程序,不仅需设置大量的锁定机制,更需要在处理程序中多设置一顺序判断机制(如上述的旗标判断),以避免顺序发生混乱,造成数据处理错误。然而上述作法会造成处理程序繁琐,导致顺序可能混乱,造成数据处理混乱,其软件设计更为困难,若是大量的处理程序更无法实行。
因此,如何不需以繁琐的处理程序,即可防止处理程序同时处理同一数据区块,且自动判断多个处理程序的处理顺序,是亟需解决的课题。

发明内容
为解决上述现有技术的问题,本发明的主要目的在于提供一种防止数据处理混乱的方法,防止其它处理程序同时处理同一数据区块。
本发明的另一目的是在提供一种防止数据处理混乱的方法,以自动判断多个处理程序的处理顺序。
为达成上揭及其它目的,本发明一种防止数据处理混乱的方法,是应用在一具有多个处理程序的软件,其中,多个处理程序是频繁处理一系统的储存单元内相同的数据区块,且数据区块一次只能由一处理程序作处理,该方法包括令该储存单元的各数据区块都设有一状态值,且该状态值会依据多个该处理程序的处理进度作改变;以及依据各数据区块的状态值,令多个该处理程序依序处理各数据区块。
本发明的另一种防止数据处理混乱的方法包括(1)令该储存单元的数据区块设有第一处理程序的未处理状态值,进到步骤(2);(2)依据该数据区块的第一处理程序的未处理状态值,令该第一处理程序处理该数据区块,进到步骤(3);(3)依据该第一处理程序处理该数据区块的进度,改变该数据区块的第一处理程序的未处理状态值,直至该第一处理程序的未处理状态值改变为第一处理程序的处理完成状态值,则进到步骤(4);(4)依据该数据区块的第一处理程序的处理完成状态值,令该第二处理程序处理该数据区块,进到步骤(5);以及(5)依据该第二处理程序处理该数据区块的进度,改变该数据区块的第一处理程序的处理完成状态值。
与现有繁琐的处理程序设计相比,本发明是在数据区块设置状态值,并依据该状态值,让多个处理程序按照顺序处理该数据区块,因此,不需以繁琐的处理程序,即可防止其它处理程序同时处理同一数据区块,且能够自动判断多个处理程序的处理顺序。


图1是表示现有单一处理程序的流程图;图2(A)及图2(B)是表示现有多个处理程序的流程图;图3表示本发明的防止数据处理混乱的方法的主要步骤流程;图4表示本发明的防止数据处理混乱的方法的实施范例步骤流程;图5(A)、图5(B)、图5(C)、图5(D)及图5(E)说明应用本发明的防止数据处理混乱的方法的实施范例处理数据区块的方块示意图;以及图6(A)及图6(B)表示本发明的防止数据处理混乱的方法的较佳实施步骤流程。
具体实施例方式
实施例图3是本发明的主要步骤流程,将以此流程示意图配合详细说明,叙述本发明防止数据处理混乱的方法的主要步骤流程。在此须提出说明的是,以下附图均为简化的示意图,且仅显示与本发明相关的部分。
图3是为本发明的防止数据处理混乱的方法的运作流程示意图。本发明的防止数据处理混乱的方法可应用在具有多个处理程序的软件中。其中,多个处理程序是经常性处理一系统的储存单元内相同的数据区块,且一个数据区块一次只能由一个处理程序进行处理。
该方法是先执行步骤S40,令各数据区块设有一状态值。该步骤是先在系统的储存单元内各数据区块都设有一状态值,且该状态值会依据多个处理程序的处理进度作改变,接着进到步骤S41。
该步骤S41,依据状态值令多个处理程序依序处理各数据区块。该步骤是对应上述各数据区块所设置的状态值,依照顺序让多个会处理这些数据区块的处理程序处理各数据区块,使各数据区块一次只能由一处理程序作处理,并在该处理程序完成后,依序由下一个处理程序进行处理。
图4是应用本发明的防止数据处理混乱的方法,具有多个处理程序的软件的运作流程示意图。上述多个处理程序在图中是以第一处理程序与第二处理程序为例,第一处理程序及第二处理程序是经常性处理一系统的储存单元内的一数据区块,且该数据区块一次只能由第一处理程序或第二处理程序进行处理;另程序执行的顺序是先执行第一处理程序,再执行第二处理程序,此范例步骤流程如下先执行步骤S400,令数据区块设有一第一处理程序未处理状态值。请一同配合参阅图5(A),该步骤是先将储存单元的数据区块10预设一第一处理程序未处理状态值100A,供后续步骤作判断,接着进到步骤S410。
该步骤S410,令第一处理程序处理数据区块。请一同配合参阅图5(B),该步骤是依据上述数据区块10的第一处理程序未处理状态值100A,令第一处理程序20处理该数据区块10,同时将数据区块10的第一处理程序未处理状态值100A改变为第一处理程序处理中状态值100B,接着进到步骤S411。
该步骤S411,在处理结束后,将第一处理程序状态值改为处理完成状态值。请一同配合参阅图5(C),该步骤是在上述第一处理程序20结束处理数据区块10时,同时将该数据区块10的第一处理程序处理中状态值100B改变为第一处理程序处理完成状态值100C,并进到步骤S412。
该步骤S412,令第二处理程序处理数据区块。请一同配合参阅图5(D),该步骤是依据上述数据区块10的第一处理程序处理完成状态值100C,令第二处理程序30处理该数据区块10,并将数据区块10的第一处理程序处理完成状态值100C改变为第二处理程序处理中状态值100D,接着进到步骤S413。
该步骤S413,在处理结束后将第二处理程序状态值改为处理完成状态值。请一同配合参阅图5(E),该步骤是在上述第二处理程序30结束处理数据区块10时,同时将数据区块10的第二处理程序处理中状态值100D改变为第二处理程序处理完成状态值100E。另外,此处是以第一处理程序及第二处理程序为例作说明,在实际实施时,若有其它的处理程序,皆依照此处所述的步骤流程进行。由上述得知,本发明的方法不会同时间有多个处理程序同时处理同一数据区块,能够依照顺序进行处理。
另外,为更清楚表示本发明的实施步骤流程,特以图6(A)及图6(B)为例说明,该实施的步骤流程仅以示意作说明,其实施的数量是以实际实施所需的数量为主。图6(A)是本发明的实施步骤流程先执行步骤S50,令数据区块设有一状态值,在此不多加赘述,接着进到步骤S51。
该步骤S51,状态值是否等于第一处理程序未处理状态值。该步骤先判断上述数据区块状态值是否是第一处理程序未处理状态值,若是,则进到步骤S52,若否,则进到步骤S53。
该步骤S52,第一处理程序处理数据区块。该步骤是如同上述,依序先由第一处理程序处理数据区块,请同时配合参阅图6(B),是第一处理程序的软件流程,此时,第一处理程序会在进行处理数据区块的同时,令第一处理程序的未处理状态值改变为第一处理程序的处理中状态值(如图所示的步骤S60)。
该步骤S53,状态值是否等于第一处理程序的处理中状态值。该步骤判断上述数据区块状态值是否是第一处理程序的处理中状态值,若是,则返回步骤S51,再重新判断,若否,请同时配合参阅图6(B),第一处理程序会在已完成处理数据区块的同时,令第一处理程序的处理中状态值改变为第一处理程序的处理完成状态值(如图所示的步骤S61),此时数据区块状态值已不是第一处理程序的处理中状态值,进到图6(A)所示步骤S54。
该步骤S54,状态值是否等于第一处理程序处理完成状态值。该步骤是判断上述数据区块状态值是否是第一处理程序的处理完成状态值,若是,则进到步骤S55,若否,则如同上述步骤S53,继续作后续处理程序所改变数据区块的状态值的判断,实施的步骤流程如同上述。
该步骤S55,第二处理程序处理数据区块。该步骤是经第一处理程序结束处理数据区块后,依序由第二处理程序处理数据区块,该第二处理程序的软件流程的实施方式,也如同上述第一处理程序的程序流程,会依据处理数据区块的进度,改变数据区块的状态值(其不同之处仅是实际实施的处理程序处理数据区块的动作方式(如存取数据区块内的资料等)),提供图6(A)所示的步骤流程,继续执行后续的步骤流程。因此,本发明是利用统一管理的概念,令需要处理同一数据区块的各处理程序,能按顺序进行处理,简化现有繁琐的处理程序。
由上述及附图可清楚的了解本发明的技术特征及其实施的方式,本发明是利用设置在数据区块的状态值,并依据此状态值,让多个处理程序依序处理该数据区块,因此,不需繁琐的处理程序,即可防止处理程序同时处理同一数据区块,且自动判断多个处理程序的处理顺序,达到防止数据处理混乱的目的。
权利要求
1.一种防止数据处理混乱的方法,应用在具多个处理程序的软件,多个该处理程序是经常性处理系统的储存单元内相同的数据区块,且该数据区块是一次只能由一个处理程序进行处理,其特征在于,该方法包括令该储存单元的各数据区块都设有一状态值,且该状态值会依据多个该处理程序的处理进度作改变;以及依据各数据区块的状态值,令多个该处理程序依序处理各数据区块。
2.如权利要求1所述的防止数据处理混乱的方法,其特征在于,该状态值的初次设定是依据第一个需要处理各数据区块的多个该处理程序作设定。
3.一种防止数据处理混乱的方法,应用在具第一及第二处理程序的软件,该第一及第二处理程序是经常性处理系统的储存单元内的数据区块,且该数据区块是一次只能由该第一处理程序及第二处理程序其中的一处理程序进行处理;且该软件执行的顺序是先执行第一处理程序,再执行第二处理程序,其特征在于,该方法包括(1)令该储存单元的数据区块设有第一处理程序的未处理状态值,进到步骤(2);(2)依据该数据区块的第一处理程序的未处理状态值,令该第一处理程序处理该数据区块,进到步骤(3);(3)依据该第一处理程序处理该数据区块的进度,改变该数据区块的第一处理程序的未处理状态值,直至该第一处理程序的未处理状态值改变为第一处理程序的处理完成状态值,则进到步骤(4);(4)依据该数据区块的第一处理程序的处理完成状态值,令该第二处理程序处理该数据区块,进到步骤(5);以及(5)依据该第二处理程序处理该数据区块的进度,改变该数据区块的第一处理程序的处理完成状态值。
4.如权利要求3所述的防止数据处理混乱的方法,其特征在于,该第一处理程序处理该数据区块时,是将该数据区块的第一处理程序的未处理状态值改变为第一处理程序的处理中状态值。
5.如权利要求3所述的防止数据处理混乱的方法,其特征在于,该第一处理程序结束处理该数据区块时,是将该数据区块的第一处理程序的处理中状态值改变为第一处理程序的处理完成状态值。
6.如权利要求3所述的防止数据处理混乱的方法,其特征在于,该第二处理程序处理该数据区块时,是将该数据区块的第一处理程序的处理完成状态值改变为第二处理程序的处理中状态值。
7.如权利要求3所述的防止数据处理混乱的方法,其特征在于,该第二处理程序结束处理该数据区块时,是将该数据区块的第二处理程序的处理中状态值改变为第二处理程序的处理完成状态值。
全文摘要
一种防止数据处理混乱的方法,应用在一具有多个处理程序的程序,其中,多个处理程序是频繁处理一系统的储存单元内相同的数据区块,且该数据区块一次只能由一处理程序作处理;该方法先在储存单元的各数据区块设有一状态值,接着再依据各数据区块的状态值,令多个处理程序依序处理各数据区块;因此本发明是利用在数据区块设置状态值,并依据此状态值,让多个处理程序依序处理该数据区块,因此,不需繁琐的处理程序,即可防止其它处理程序同时处理同一数据区块,且能够自动判断多个处理程序的处理顺序,达到防止数据处理混乱的目的。
文档编号G06F9/46GK1801095SQ20051000020
公开日2006年7月12日 申请日期2005年1月5日 优先权日2005年1月5日
发明者陈志伟 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1