一种快速实现离线应用的方法

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

专利名称::一种快速实现离线应用的方法
技术领域
:本发明涉及一种快速实现离线应用的方法,尤其涉及一种适用于关系型数据库领域的快速实现离线应用的方法。
背景技术
:现代企业的各类信息系统应用已非常普及,一般的信息系统基本上基于关系型数据库开发,其部署方式有单机应用(应用和数据在同一台机器上)、客户端/数据库服务端、基于TOB架构的三层或N层应用,对于后两种方式其受网络条件限制比较大,往往由于网络不通或者网速缓慢影响到客户端的正常使用,这就迫切需要一种方法可以使信息系统快速实现离线部署,实现离线应用,从而消除网络影响,在网络正常时,可以进行数据同步;在网络条件不存在或者比较差的情况下,实现单机应用,在网路不通的情况甚至可以通过第三方介质来实现数据同步。传统的信息管理软件通常使用的2种方法来部署应用,一种是全集中模式,所有信息管理的数据都集中于一个平台统一管理;另一种是分布式管理,每个下级应用部门单独管理自己的数据。但是,无论哪一种方法都会存在有的下级应用部门由于网络不通或网速慢影响软件的使用,进而导致下级应用部门与总部数据流通不畅,由此造成信息孤岛现象或信息滞后现象。离线移动应用的开发框架技术可有效解决上述两种问题。其核心思想是让下级应用部门先完成单据的录入,然后采用定时方式根据时间戳由系统或移动设备将压缩的数据包自动写入总部系统实现数据同步。这种方式是既可应用于下级应用部门网络环境恶劣情况下,也可以避开网络使用高峰期,而不影响正常工作,大大的降低了远程下级应用部门对网络带宽的要求。同时必须考虑到下级应用部门可能选择离线移动和在线应用同时使用情况,因此下级应用部门的离线应用数据结构必须和集中统一平台的数据结构保持一致,并在数据同步的过程中支持增量同步和断点续传技术。技术指标主要为支持下级应用部门和总部集中管理平台的双向数据同步,包括基础数据、业务点数据,可以支持在64K以上的网络带宽下工作。
发明内容本发明所要解决的技术问题在于提供一种能快速实现离线应用的方法,适用于基于关系型数据库的信息管理系统。一种快速实现离线应用的方法,通过以下步骤实现1)设置使用离线数据的离线部门信息所述离线部门信息用来识别数据来源,在导入基础数据时,选择需要导入的部门数据库,然后在生成业务单据到总部数据库时,在单据编号中自动加入离线部门标志,以标识导入数据的部门;2)设置基础数据和业务数据的同步规则;3)注册基础数据对象和业务数据对象;4)导入基础数据和业务数据选择导入的数据类型,点击导入数据按钮,弹出选择导入文件对话框后,选择要导入的压缩包文件后,系统自动解压文件,并从解压出主配置中读取可以导入的标识,并自动选择的勾相应的树结点;5)基础数据导入处理和业务数据导入处理;6)导出基础数据和业务数据;7)部署离线应用;8)同步基础数据与业务数据。优选地,步骤4中的导入基础数据和业务数据设置有导入限制。优选地,导入限制为导入数据时检测账套及其类型,如没有账套标识或是总部类型账套,允许导入;否则拒绝导入操作。优选地,步骤5中的基础数据导入处理,具体分为以下几个步骤第一步,在导入时是只针对一个账套的,在进行过一次导入操作后,系统会记下标识,以后导入时会自动默认选择上对应项目,并不能更改;第二步,导入基础数据后,账套自动设置类型,以后此账套就作为这个类型的账套使用,不能进行基础数据导出操作。优选地,步骤2中的同步规则为设置使用离线数据的离线部门信息。优选地,步骤5中的导出基础数据具体分为以下几个步骤第一步,选择需要使用导出包的离线部门和需要导出的基础数据点,并确定数据包文件生成的目录位置,然后选择目录生成一个数据文件压缩包;第二步,生成导文件完成后,系统同时把进行导出操作的数据库设置成总部数据库类型标识,以后操作以这个标志进行识别;第三步,导出完成后,被导出的基础数据点更新和删除操作将被限制不能使用;第四步,生成的导出主配置文件,记录了在导出时选择的离线部门信息,在离线部门导入基础数据时,必须选择一个唯一的所属离线部门,被选择的离线部门以后就作为这个部门的标识,不能再更改。优选地,步骤6中的导出基础数据和业务数据设置有导出限制。优选地,导出限制为只能由总部数据库导出,系统检测到不是总部数据库时给出提示并拒绝操作。本发明的有益效果在于提供一种实现快速离线部署及应用的方法,由于网络不通或网速慢影响软件的正常使用,而通过离线方式可以排除网络因素,但容易造成应用点与数据库服务器之间数据不一致,同步困难,而且对于已经成熟的应用软件其离线部署也非常困难。本方法不仅可以实现离线应用的快速部署,也同时解决了由于离线应用带来的数据同步问题。图1为本发明的流程示意图。具体实施例方式下面结合实施例和附图对本发明的结构作进一步说明。如图1所示,一种快速实现离线应用的方法,通过以下步骤实现9)设置使用离线数据的离线部门信息所述离线部门信息用来识别数据来源,在导入基础数据时,选择需要导入的部门数据库,然后在生成业务单据到总部数据库时,在单据编号中自动加入离线部门标志,以标识导入数据的部门;10)设置基础数据和业务数据的同步规则;11)注册基础数据对象和业务数据对象;12)导入基础数据和业务数据选择导入的数据类型,点击导入数据按钮,弹出选择导入文件对话框后,选择要导入的压缩包文件后,系统自动解压文件,并从解压出主配置中读取可以导入的标识,并自动选择的勾相应的树结点;13)基础数据导入处理和业务数据导入处理;14)导出基础数据和业务数据;15)部署离线应用;16)同步基础数据与业务数据。步骤4中的导入基础数据和业务数据设置有导入限制。导入限制为导入数据时检测账套及其类型,如没有账套标识或是总部类型账套,允许导入;否则拒绝导入操作。步骤5中的基础数据导入处理,具体分为以下几个步骤第一步,在导入时是只针对一个账套的,在进行过一次导入操作后,系统会记下标识,以后导入时会自动默认选择上对应项目,并不能更改;第二步,导入基础数据后,账套自动设置类型,以后此账套就作为这个类型的账套使用,不能进行基础数据导出操作。步骤2中的同步规则为设置使用离线数据的离线部门信息。步骤5中的导出基础数据具体分为以下几个步骤第一步,选择需要使用导出包的离线部门和需要导出的基础数据点,并确定数据包文件生成的目录位置,然后选择目录生成一个数据文件压缩包;第二步,生成导文件完成后,系统同时把进行导出操作的数据库设置成总部数据库类型标识,以后操作以这个标志进行识别;第三步,导出完成后,被导出的基础数据点更新和删除操作将被限制不能使用;第四步,生成的导出主配置文件,记录了在导出时选择的离线部门信息,在离线部门导入基础数据时,必须选择一个唯一的所属离线部门,被选择的离线部门以后就作为这个部门的标识,不能再更改。步骤6中的导出基础数据和业务数据设置有导出限制。导出限制为只能由总部数据库导出,系统检测到不是总部数据库时给出提示并拒绝操作。实施例2一、基础数据1.注册基础数据syS_0ffline_data_eXp0rt由人工注册此表数据,以在软件中生成树结点供用户选择导出;2.设置使用离线数据的离线部门信息此信息用来识别数据来源,在导入基础数据时要选择导入到哪一个部门数据库,然后在生成业务单据到总部数据库时,在单据编号中自动加入离线部门标志,以标识数据是从哪个部门导入的。3.基础数据导出处理a)选择要使用此导出包的离线部门及要导出的基础数据点,并确定数据包文件生成的目录位置,然后会在选择目录生成一个数据文件压缩包;b)生成导文件完成后,系统同时会把进行导出操作的这个数据库设置成总部数据库类型标识,以后操作以此标志进行识别;c)导出完成后,被导出的基础数据点更新和删除操作将被限制不能使用;d)生成的导出主配置文件,记录了在导出时选择的离线部门信息,在离线部门导入基础数据时,必须选择一个且只有一个所属离线部门,被选择的离线部门以后就作为此部门的标识,不能再更改。导出限制基础数据只能由总部数据库导出,系统检测到不是总部数据库时会给出提示并拒绝操作.由于第一次操作时是没有数据类型标识,所以无法判断,只有进行了一次操作后才能有总部或离线部门标识。4.基础数据导入处理a)选择导入数据,数据类型选择基础数据,然后点击导入数据按钮,会弹出选择导入文件对话框,选择好要导入的压缩包文件后,系统会自动解压文件,并从解压出主配置中读取可以导入的业务点标识,并自动选择的勾相应的树结点.最后再一给出确定导入的提示,点确定后进行,当然导入前还要选择好操作数据所属的项目部,因为导入时是针对一个账套的,所以只能选择一个.在进行过一次导入操作后系统会记下第一次选择的项目部作为系统项目部标识,以后导入时会自动默认选择上对应项目,并不能更改.导入基础数据后,账套自动设置账套类型为项目部类型,以后此账套就作为项目部账套使用,不能进行基础数据导出操作(此操作只有总部账套类型有权),只能导出单据业务类数据,同时在系统中会记录下本次操作选择的项目部,在导出业务单据数据时会把此账套的项目部标识写到导出文件中,在导入到总部账套中时,会写把单据来源标上此项目部标志,以便追踪b)导入的基础数据,也会被锁定不能增加删除和修改。导入限制导入基础数据时会检测系统是总部账套还是项目部账套,如果是没有账套标识或是项目部类型账套允许导入,否则拒绝导入操作。基础数据导入导出后锁定修改和删除功能处理在导出后,在相应业务点修改,删除按钮被变灰不能使用。,Icb[],Ida[],as_dw,as_row)函数作用在as_dw对像中选择了as_r0W行后,根据业务点模块ID、树结点nodejo、当前账套类型进行设置对像可用状态,如是项目部账套类型,全部给定的按钮和dw对像都不能用,如是总账套除增加按钮可能.新增加的记录可以编辑,其它非新增记录不能编辑.算法实现(1)必需在业务点最上层实现,底层无法通过继承实现,因为基础数据窗口没有一个统一的祖先窗口的,增加,修改,删除按钮并不一致.(2)此函数放在dw_l的click事件或rowfocuschanged事件,手工调用此函数时,代码位置要根据业务来确定,不一定放在最后或最前(3)还有一种情况就是需要得某一个按钮(增,删,修,三类按钮)的可用状态与其它条件组合来设置是否可能,可以用函数U_f0.of_get_offline_bsobject_enabled来获取,可用返回true,否则返回false.二、单据业务点数据注册单据业务点SyS_0ffline_data_eXp0rt由人工注册此表数据,以在软件中生成树结点供用户选择导出;sys_off1ine_oper_mapped业务点相关表及关系映射;业务数据导出处理导出说明①树结点选择要使用此导出包的项目部(如果已经存在项目部标识,会自动选择上并不能更改),右边为要导出的业务数据点,点击生成数据按钮,首先要选择文件生成的目录位置,然后会在选择目录生成一个数据文件压缩包(图二)②生成导文件完成后,系统会把进行导出操作的这个账套设置成项目部类型,前提是以前没进行过导入基础数据操作,标识为空的情况下,以后操作以此账套类型标志进行识别。③导出完成后,被导出的单据业务数据点更新和删除操作将被限制不能使用④单据权限也要跟着一起自动导出(目录权限,目录明细权限)两边树目录不一致怎么办,结点所属组织⑤生成的导出主配置文件,记录了在导出时选择的项目部信息,在总部导入业务数据时,此项目部的标识写到单据来源字段中,以便以后进行追踪.导出限制①业务数据只能由项目部子账套导出,系统检测到不是项目部数据账套时会给出提示并拒绝操作.如果第一次操作时没有有总部还是分部标识的(总部数据库恢复过来,还没有进行过基础数据导入操作),在进行了一次导出操作后应该导出操作的账套自动被设置为项目部子账套类型。业务数据导入处理导入说明1)在操作界面中操作类型选择导入数据,数据类型选择业务数据,点击导入数据按钮,会弹出选择导入文件对话框,选择好要导入的压缩包文件后,系统会自动解压文件,并从解压出主配置中读取可以导入的业务点标识,自动选勾相应的树结点.最后再给出确定导入的提示,点确定后进行处理;2)导入业务数据数据后,账套自动设置为总部账套,以后此账套就作为总部账套使用,不能进行基础数据导入操作(总部账套只有导出基础数据权),在导入到总部账套中时,会写把单据来源标上导出项目部标志;3)单据权限也要跟着一起自动导入(目录权限,目录明细权限);4)导入的业务数据,被锁定不能增加删除和修改。导入限制导入基础数据时会检测系统是总部账套还是账套类型,如果是没有账套标识或是总部类型账套允许导入,否则拒绝导入操作。业务数据导入导出后锁定修改删除功能处理在导入数据,生成项目部账套标识后,业务数据不能进行任何修改,包括增,删,改。调用函数:u_f0.of_set_offline_oper_enable(as_dw,row,lcb_descript[],Icb[])。函数说明先确定当前账套类型,项目部账套时判断dw的exportecLflg值,为1时表示导出过的记录不能操作选择后按钮为变灰状态,其它值时不处理,如是总部账套判断ofTline_SyS_pk值,如果不为空表示是导入的数据则不能操作,为空值或空串不处理。算法实现(1)凡是业务点列表窗口不是继承w_cnt_sheet,w_cnt_sheet_top的,或是继承这两个窗口但增加,删除,编辑按钮不跟祖先窗口一致的(cb_add->增回,cb_2_>编辑,cb_l_>删除),需在业务点最上层实现调用u_f0.of_get_offline_operobject_enabled(‘add',cb_new,dw_l,row)函数据取某一按钮(增,删,改三种类型)可用状态然后跟其它条件组合来设置按钮可用状态;(2)如果是用祖先窗口代码在底层处理,需要设置窗口变量ib_0fTdata_r0W_aut0_process为TRUE,如下图,默认是可用状态;(3)在列表窗口增加字段各单据增加字段offline_sys_pkvarchar(40)null离线系统主键值;exported_flgvarchar(5)null子系统导出t示志;import_orgvarchar(100)null导入系统名称或标识;altertable^名addoffline_sys_pkvarchar(40)null,exported_flgvarchar(5)null,import_orgvarchar(100)riullo特殊业务点改造自定义单据时由于之前表是不存在的,所在创建表单时需要动态注册业务表信息。自定义表单列表窗口行改变事件增加按钮设置代码u_f0.of_get_offline_operobject_enabled('add',cb—new,dw—1,row)。权利要求1.一种快速实现离线应用的方法,其特征在于所述快速实现离线应用的方法通过以下步骤实现设置使用离线数据的离线部门信息所述离线部门信息用来识别数据来源,在导入基础数据时,选择需要导入的部门数据库,然后在生成业务单据到总部数据库时,在单据编号中自动加入离线部门标志,以标识导入数据的部门;设置基础数据和业务数据的同步规则;注册基础数据对象和业务数据对象;导入基础数据和业务数据选择导入的数据类型,点击导入数据按钮,弹出选择导入文件对话框后,选择要导入的压缩包文件后,系统自动解压文件,并从解压出主配置中读取可以导入的标识,并自动选择的勾相应的树结点;基础数据导入处理和业务数据导入处理;导出基础数据和业务数据;部署离线应用;同步基础数据与业务数据。2.根据权利要求1所述快速实现离线应用的方法,其特征在于所述步骤4中的导入基础数据和业务数据设置有导入限制。3.根据权利要求2所述快速实现离线应用的方法,其特征在于所述的导入限制为导入数据时检测账套及其类型,如没有账套标识或是总部类型账套,允许导入;否则拒绝导入操作。4.根据权利要求1所述快速实现离线应用的方法,其特征在于所述步骤5中的基础数据导入处理,具体分为以下几个步骤第一步,在导入时是只针对一个账套的,在进行过一次导入操作后,系统会记下标识,以后导入时会自动默认选择上对应项目,并不能更改;第二步,导入基础数据后,账套自动设置类型,以后此账套就作为这个类型的账套使用,不能进行基础数据导出操作。5.根据权利要求1所述快速实现离线应用的方法,其特征在于所述步骤2中的同步规则为设置使用离线数据的离线部门信息。6.根据权利要求1所述快速实现离线应用的方法,其特征在于所述步骤5中的导出基础数据具体分为以下几个步骤第一步,选择需要使用导出包的离线部门和需要导出的基础数据点,并确定数据包文件生成的目录位置,然后选择目录生成一个数据文件压缩包;第二步,生成导文件完成后,系统同时把进行导出操作的数据库设置成总部数据库类型标识,以后操作以这个标志进行识别;第三步,导出完成后,被导出的基础数据点更新和删除操作将被限制不能使用;第四步,生成的导出主配置文件,记录了在导出时选择的离线部门信息,在离线部门导入基础数据时,必须选择一个唯一的所属离线部门,被选择的离线部门以后就作为这个部门的标识,不能再更改。7.根据权利要求1所述快速实现离线应用的方法,其特征在于所述步骤6中的导出基础数据和业务数据设置有导出限制。8.根据权利要求7所述快速实现离线应用的方法,其特征在于所述的导出限制为只能由总部数据库导出,系统检测到不是总部数据库时给出提示并拒绝操作。全文摘要一种快速实现离线应用的方法,所述快速实现离线应用的方法通过以下步骤实现1)设置使用离线数据的离线部门信息;2)设置基础数据和业务数据的同步规则;3)注册基础数据对象和业务数据对象;4)导入基础数据和业务数据;5)基础数据导入处理和业务数据导入处理;6)导出基础数据和业务数据;7)部署离线应用;8)同步基础数据与业务数据。本发明的有益效果在于提供一种实现快速离线部署及应用的方法,不仅可以实现离线应用的快速部署,也同时解决了由于离线应用带来的数据同步问题。文档编号G06F17/30GK102591953SQ201110448858公开日2012年7月18日申请日期2011年12月29日优先权日2011年12月29日发明者叶树明,潘琦刚申请人:杭州新中大软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1