发明名称 一种通过配置冲突矩阵解决管理软件内部功能操作冲突的方法
摘要 本发明提供一种通过配置冲突矩阵解决管理软件内部功能操作冲突的方法,该方法能过帮助操作员如何通过冲突矩阵有效解决管理软件中的不同功能之间或者同种功能的不同操作之间由于业务原因而产生的冲突,从而避免由于冲突而导致功能或者操作之间的相互干扰而引起的数据不一致,计算结果有差异等情况的发生,使管理软件自身的业务严密,数据准确。
申请公布号 CN101833473A 申请公布日期 2010.09.15
申请号 CN201010138849.7 申请日期 2010.04.06
申请人 浪潮集团山东通用软件有限公司 发明人 杨平波
分类号 G06F9/46(2006.01)I;G06Q10/00(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 代理人
主权项 1.一种通过配置冲突矩阵解决管理软件内部功能操作冲突的方法,其特征在于,包括下列步骤和内容:A、将软件单个功能的各类操作或者不同功能之间以二维矩阵的方式存储其对照约束关系;其中:单个功能是指管理软件中包含的软件功能基本单元,包括入库单,出库单,库存单据记账;操作是指对于单个功能用户进行的操作行为,包括单据新增,删除,修改;二维矩阵的方式存储其对照约束关系包括以下内容:(1)以二维矩阵的方式描述冲突对应关系,其中关系对象包括功能之间,包括库存记账,入库单制单;以及相同功能的不同操作之间,包括入库单的修改功能和参照采购到货单功能;(2)二维矩阵中记录冲突类型,包括独立运行,功能冲突,数据冲突;(3)二维矩阵中记录检查到有冲突功能存在时的提示信息并且提示信息中包换值变量供运行期根据实际值进行替换;(4)二维矩阵中记录冲突发生的条件公式,在运行期解析引擎解析条件公式并判断是否产生实际冲突;B、在软件运行期间根据需要配置步骤A中所描述的约束关系;包括以下内容:(1)软件在运行期根据需要调整冲突矩阵中的任何内容;(2)冲突矩阵中的内容被调整后,能够自动根据当前运行的客户端及其功能和操作进行自动同步,使调整既能立即生效同时又不影响正在运行的程序;C、对于在存在约束关系的操作或者功能,在程序运行时能够根据冲突矩阵自动检查并根据冲突类型有效处理来自其他登录用户的操作或者功能产生的冲突;包括以下内容:(1)系统中存在冲突功能和操作的运行记录表;(2)在冲突矩阵中存在的功能或者功能操作在执行时结合冲突条件检查运行记录表中是否有冲突功能或者冲突数据存在;(3)冲突的提示信息根据冲突矩阵中获取,并对其中的值变量进行替换后提醒操作者;(4)支持同一个操作员ID同时从不同的客户端登录,冲突记录ID中包含登录用户名以及登录电脑的IP信息;D、设置一个冲突矩阵配置表,其结构如下所示:<tables num="0001"><table><tgroup cols="5"><colspec colname="c001" colwidth="13%" /><colspec colname="c002" colwidth="12%" /><colspec colname="c003" colwidth="12%" /><colspec colname="c004" colwidth="7%" /><colspec colname="c005" colwidth="55%" /><thead><row><entry morerows="1">  列说明</entry><entry morerows="1">  列名示  例</entry><entry morerows="1">  类型</entry><entry morerows="1"> 空 值</entry><entry morerows="1">  注释</entry></row></thead><tbody><row><entry morerows="1">  功能1</entry><entry morerows="1">  F_GNBH</entry><entry morerows="1">  Char(6)</entry><entry morerows="1"> No</entry><entry morerows="1"></entry></row><row><entry morerows="1">  相冲突功  能2</entry><entry morerows="1">  F_CTGN</entry><entry morerows="1">  Char(6)</entry><entry morerows="1"> Yes</entry><entry morerows="1"></entry></row></tbody></tgroup></table></tables><tables num="0002"><table><tgroup cols="5"><colspec colname="c001" colwidth="13%" /><colspec colname="c002" colwidth="12%" /><colspec colname="c003" colwidth="12%" /><colspec colname="c004" colwidth="7%" /><colspec colname="c005" colwidth="55%" /><thead><row><entry morerows="1">  列说明</entry><entry morerows="1">  列名示  例</entry><entry morerows="1">  类型</entry><entry morerows="1"> 空 值</entry><entry morerows="1">  注释</entry></row></thead><tbody><row><entry morerows="1">  说明</entry><entry morerows="1">  F_SM</entry><entry morerows="1">  Varchar  (254)</entry><entry morerows="1"> Yes</entry><entry morerows="1">  在冲突发生时显示给用户的信息,用如下变  量:  @JQ--相冲突的机器  @YH--相冲突的用户  @XT--相冲突的系统  @GN-相冲突的功能  @CX--相冲突的程序  @JC--相冲突的进程  还可以用参数的值:@ValX</entry></row><row><entry morerows="1">  冲突方式</entry><entry morerows="1">  F_CTFS</entry><entry morerows="1">  Char(1)</entry><entry morerows="1"> Yes</entry><entry morerows="1">  0--独立运行  1--功能冲突  2--数据冲突  3-系统内独立运行</entry></row><row><entry morerows="1">  参数定义</entry><entry morerows="1">  F_CSDY</entry><entry morerows="1">  Varchar  (12)</entry><entry morerows="1"> Yes</entry><entry morerows="1">  各参数长度定义,如:84,表示两个参数,第  一个为8位,第二个为4位等,对于变长的  可补空格</entry></row><row><entry morerows="1">  冲突条件</entry><entry morerows="1">  F_CTTJ</entry><entry morerows="1">  Varchar  (254)</entry><entry morerows="1"> Yes</entry><entry morerows="1">  当符合条件时,表示冲突  可以采用变量来字义,  变量格式如下:  @valX别人已在操作的@cvalX正要操作  其中X为操作数据中的第X个数据,与上面的  参数定义对应  @cval1=@val1 and @cval2<@val2</entry></row></tbody></tgroup></table></tables>1)在运行期,存在于冲突矩阵中的功能在执行时,需要利用冲突功能运行记录表进行冲突功能记录,其结构如下所示:<tables num="0003"><table><tgroup cols="5"><colspec colname="c001" colwidth="12%" /><colspec colname="c002" colwidth="16%" /><colspec colname="c003" colwidth="16%" /><colspec colname="c004" colwidth="9%" /><colspec colname="c005" colwidth="48%" /><thead><row><entry morerows="1">  列说明</entry><entry morerows="1">  列名示例</entry><entry morerows="1">  类型</entry><entry morerows="1">  空值</entry><entry morerows="1">  注释</entry></row></thead><tbody><row><entry morerows="1">  进程号</entry><entry morerows="1">  F_JC</entry><entry morerows="1">  Char(10)</entry><entry morerows="1">  No</entry><entry morerows="1"></entry></row><row><entry morerows="1">  操作数  据</entry><entry morerows="1">  F_SJ</entry><entry morerows="1">  Varchar(2  30)</entry><entry morerows="1">  No</entry><entry morerows="1">  有多个数据项,每个之间可以有一个  间隔符</entry></row></tbody></tgroup></table></tables>2)矩阵配置功能的实现,通过图形界面的方式提供各个功能及功能操作的配置关系的查看,修改,保存以及生效功能;3)运行期的检查注册功能如下:<img file="FSA00000075788900031.GIF" wi="37" he="42" />冲突注册:用于向冲突功能运行记录表中注册正准备运行的功能或者正准备进行的操作,在正式注册前需要调用冲突检查功能,先检查是否有冲突功能存在;<img file="FSA00000075788900032.GIF" wi="37" he="43" />取消冲突注册:删除指定的冲突项目在冲突功能运行记录表中的记录,一般在一个冲突功能操作完成后进行,包括库存入库单已经保存,这时需要清除这张单据的修改冲突注册;<img file="FSA00000075788900033.GIF" wi="36" he="43" />清除冲突注册:清除某个用户下的某个功能或者全部冲突项目的注册,包括当用户退出系统时,需要清除所有该用户下的冲突记录;<img file="FSA00000075788900034.GIF" wi="36" he="42" />冲突检查:检查指定的冲突项目是否存在,包括打开一个出库单,点击“修改”,在进行冲突注册前,根据冲突功能运行记录表中的记录检查是否存在冲突功能;4)异常冲突注册清除,有时由于其它异常原因,包括突然断电导致冲突功能运行记录表中存在的注册记录未被清除,这些记录继续留着会影响后续的一些功能操作,这时通过这个功能进行定点清除。
地址 250014 山东省济南市历下区山大路224号