发明内容
为了克服上述缺陷,本申请提供了一种云计算系统的数据处理方法,解决了如何将云计算系统的数据(批量)导入的技术问题。
本发明公开了一种云计算系统的数据处理方法,其特征在于,包括:将导入数据传送至所述云计算系统;将所述导入数据转换为业务对象属性;以及将所述业务对象属性导入所述云计算系统的数据库。
优选地,所述导入数据存储在同一文件中,所述业务对象属性为多个业务对象的属性。
优选地,所述多个业务对象的类型相同或者不同。
优选地,所述云计算系统包括:界面模块、接收模块、转换模块和执行模块。
优选地,将导入数据传送至所述云计算系统包括:通过所述界面模块选择所述导入数据;将所述导入数据传送至所述接收模块;以及所述接收模块将所述导入数据传送至所述转换模块。
优选地,将所述导入数据转换为业务对象属性包括:所述转换模块根据所述导入数据获取对应的业务对象类型;以及根据所述业务对象类型将所述导入数据转换为对应的业务对象属性。
优选地,将所述业务对象属性导入所述云计算系统的数据库包括:所述接收模块获取与所述业务对象类型对应的导入服务;以及所述接收模块利用所述导入服务将经过转换的业务对象属性导入所述云计算系统的数据库。
优选地,所述界面模块包括:显示按键子模块和执行操作子模块,其中,所述显示按键子模块用于显示出以供触发,从而指示所述执行操作子模块执行相应操作,并且其中,所述显示按键子模块和所述执行操作子模块相分离。
优选地,所述方法还包括:将导入结果通过所述界面模块显示出来。
本发明还公开了一种云计算系统的数据处理方法,其特征在于,包括:将导出文件信息发送至所述云计算系统;以及所述云计算系统根据所述导出文件信息将导出文件导出。
优选地,所述云计算系统包括:界面模块、导出控制模块和导出文件生成模块。
优选地,所述导出文件信息包括:导出文件内容信息和导出文件类型信息。
优选地,导出文件内容信息包括:指示导出当前页数据的信息或者指示导出所有页数据的信息。
优选地,所述导出文件类型信息包括:指示导出文件为XML格式的信息或者指示导出文件为导出XLS格式的信息。
优选地,将导出文件信息发送至所述云计算系统包括:将导出文件信息通过所述界面模块发送至所述导出控制模块;所述导出控制模块根据所述导出文件内容信息获取到导出数据并将所述导出数据发送至导出文件生成模块;以及导出文件生成模块根据所述导出文件类型信息生成导出文件。
优选地,所述方法还包括:将所述导出文件的存储路径发送至所述界面模块。
优选地,所述方法还包括:通过所述界面模块下载所述导出文件。
上述导出和导入方法既可以单独实施,也可以合并实施,也就是说,可以先进行上述导出操作再进行上述导入操作,或者先进行上述导入操作再进行上述导出操作。
本发明实现一种云计算业务数据的通用导入的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据本发明的云计算系统的数据导入方法的实施例的总体流程图。在图1中:
步骤S100:将导出文件信息发送至云计算系统。
步骤S102:云计算系统根据导出文件信息将导出文件导出。
其中,云计算系统包括但不限于界面模块、导出控制模块和导出文件生成模块。导出文件信息包括但不限于导出文件内容信息和导出文件类型信息。导出文件内容信息包括但不限于指示导出当前页数据的信息或者指示导出所有页数据的信息。导出文件类型信息包括但不限于指示导出文件为XML格式的信息或者指示导出文件为导出XLS格式的信息。
本发明实现一种云计算业务数据的通用导出的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
图2是根据本发明的云计算系统的数据导入方法的实施例的具体流程图。在图2中,云计算系统包括但不限于界面模块、导出控制模块和导出文件生成模块,其中:
步骤S200:将导出文件信息通过界面模块发送至导出控制模块。其中,该界面模块优选为浏览器模块。
步骤S202:导出控制模块根据导出文件内容信息获取到导出数据并将导出数据发送至导出文件生成模块。导出文件信息包括但不限于导出文件内容信息和导出文件类型信息。其中,导出文件内容信息包括但不限于指示导出当前页数据的信息或者指示导出所有页数据的信息。导出文件类型信息包括但不限于指示导出文件为XML格式的信息或者指示导出文件为导出XLS格式的信息。例如,如果导出文件内容信息为指示导出当前页数据的信息,则只导出当前页的数据,而如果导出文件内容信息为指示导出所有页数据的信息,则只导出所有页的数据。如果导出文件类型信息为指示导出文件为XML格式的信息,则导出的文件为XML格式。而如果导出文件类型为指示导出文件为导出XLS格式的信息,则导出的文件未XLS格式。
步骤S204:导出文件生成模块根据导出文件类型信息生成导出文件
步骤S206:云计算系统根据导出文件信息将导出文件导出。
步骤S208:将导出文件的存储路径发送至界面模块。
步骤S210:通过界面模块下载导出文件。
本发明实现一种云计算业务数据的通用导出的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
图3是根据本发明的云计算系统的数据导入方法的实例的具体流程图。其中包括以下步骤:
1)用户选择需要导出的文件类型,然后点击对话框内“导出”按键
2)系统收集当前显示数据的显示条件,连带之前选择的文件类型信息一同传送至后台响应的导出Action
3)导出Action接收界面参数,并进行整理
此过程中,为了提供系统封装性,提供了导出Action代理实现类DefaultExportActionSupport,在业务Action创建代理类的实例,并通过委托形式将导出相关的动作委托给代理类实现
DefaultExportActionSupport包括接口:
readExportType:读取导出类型,curpage(当前页)或者allpage(所有页)
readFileType:读取导出类型,XML、XLS等
readPKs:获取所有数据的主键数组,在导出类型为curpage时使用
setExportType:设置导出类型,接收界面传递过来的参数
setFileType:设置文件类型,接收界面传递过来的参数
setPKs:设置导出数据主键数组,接收界面传递过来的参数
4)导出Action首先依据数据显示条件查询出即将导出的数据信息,之后连同文件类型以及数据导出描述器传递给导出控制器
每个业务需要实现具体的导出数据逻辑,即导出描述器,其接口为IExportDescriptor,具体需要实现:
getColumnIdToName:获取列信息,返回结果是二维数组,其中第一列为列标识,第二列为列名称,例如,[[″pk_xxx″,″主键″],[″name″,″名称″]]
getColumnValue:获取给定数据列的值。这是数据生成的核心逻辑
getDefaultFileName:获取默认的文件名,导出执行时没有指定文件名则使用此文件名作为实际的文件名
getExportData:获取导出的数据,为一个数组
5)导出控制器调用特定类型文件的导出服务生成导出文件
导出控制器名为BaseExport,是为了便于使用提供的快速封装,其内部通过OSGi方式查找对应的导出服务IExportService,然后调用并生成实体文件。
6)导出Action将导出文件的路径信息传递至浏览器,并在页面中显示下载链接
7)用户点击下载链接,提交导出文件路径值下载Action,下载文件到本地
本发明实现一种云计算业务数据的通用导出的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
图4是根据本发明的云计算系统的数据导出方法的实施例的总体流程图。在图4中:
步骤S400:将导入数据传送至所述云计算系统。
步骤S402:将导入数据转换为业务对象属性。
步骤S404:将所述业务对象属性导入所述云计算系统的数据库。
其中,导入数据存储在同一文件中,业务对象属性为多个业务对象的属性。换言之,可以进行批量导入,多个批量导入的业务对象的类型相同或者不同
本发明实现一种云计算业务数据的通用导入的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
图5是根据本发明的云计算系统的数据导出方法的实施例的具体流程图。在图5中:
步骤S500:通过界面模块选择导入数据。该界面模块可以是浏览器模块。其中,导入数据可以是所存储的文件或者路径。
步骤S502:将导入数据传送至接收模块。
步骤S504:接收模块将导入数据传送至转换模块。
步骤S506:转换模块根据导入数据获取对应的业务对象类型。
步骤S508:根据业务对象的类型将导入数据转换为对应的业务对象属性。由于不同的业务对象对应不同的属性,因此,需要根据业务对象的类型将导入数据转换为业务对象的属性。
步骤S510:接收模块获取与业务对象类型对应的导入服务。
步骤S512:接收模块利用导入服务将经过转换的业务对象属性导入云计算系统的数据库。
其中,导入数据存储在同一文件中,业务对象属性为多个业务对象的属性。换言之,可以进行批量导入,多个批量导入的业务对象的类型相同或者不同
此外,在完成上述步骤之后,还可以将导入结果通过界面模块显示出来。
本发明实现一种云计算业务数据的通用导入的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
在一个优选实施例中,界面模块可以包括显示按键子模块和执行操作子模块,其中,显示按键子模块用于显示出以供触发,从而指示执行操作子模块执行相应操作,并且其中,显示按键子模块和执行操作子模块相分离。
这样可以将导入的动作呈现与实现逻辑分离,既能够保证后期导入的个性化实现,同时也能够统一导入的界面呈现。
图6是根据本发明的云计算系统的数据导出方法的实例的具体流程图。在图6中:
1)用户点击工具栏上的“导入”按键,弹出“上传文件”对话框;在本地系统中选择目标文件后,点击上传文件
系统提供导入按键的封装,名为ImportButton,并采用分离的形式提供导入动作的实现句柄ImportHandler,这样将导入的动作呈现与实现逻辑分离,既能够保证后期导入的个性化实现,同时也能够统一导入的界面呈现。
2)稍等一会儿,等待文件上传成功后将提示“文件已经上传成功,请点击【确认】继续导入,【取消】则放弃导入”
3)点击确认后,系统将导入的各种参数传递给后台导入Action
此过程中,为了提供系统封装性,提供了导入Action代理实现类DefaultImportActionSupport,在业务Action创建代理类的实例,并通过委托形式将导入相关的动作委托给代理类实现
DefaultImportActionSupport包括接口:
readImportFile:读取导入文件的路径
readImportFileType:读取导入的文件类型
setImportFile:设置导入文件路径,接收界面传递过来的参数
setImportFileType:设置导入文件类型,接收界面传递过来的参数
4)通过导入控制器寻找适当的导入服务进行数据导入过程,并获得导入数据数组
每个业务需要实现具体的导入数据逻辑,即导入描述器,其接口为IImportDescriptor,具体需要实现:
getColumnNameToId:获取列信息,返回结果是二维数组,其中第一列为列名称,第二列为列标识,例如,[[″主键″,″pk_xxx″],[″名称″,″name″]]
getClazz:获取导入数据对应的数据对象类型
putColumnValue:实现向一个数据对象中赋值的业务逻辑
导入控制器名为BaseImport,是为了便于使用提供的快速封装,其内部通过OSGi方式查找对应的导入服务IImportService,然后调用并生成数据对象数组。
5)业务Action调用具体的数据存储接口将解析后的数据存储到数据库。
6)导入完成后将导入结果返回浏览器并显示给用户。
本发明实现一种云计算业务数据的通用导入的实现方法,通过提供通用的导出与导入框架,使得云计算系统中各种业务数据提供一致的数据导出与导入实现,能够快速地进行数据管理开发;在进行业务数据导出时,能够通过导出配置进行导出呈现的文件内容进行定制;在进行业务数据导入时,能够通过相应的导入配置进行导入设置;同时此实现方式中也提供文件格式支持的扩展方法。
此外,以下是导出、导入文件类型扩展的框架的实现
对于导出:
1)系统将每种IExportService的实现发布成OSGi服务,并在发布时提供名为fileType的服务属性,其值为实现类支持的文件类型标识
导出服务需要实现以下函数:
StringexportToFile(IExportDescriptorexportDescriptor,StringfileName)throwsBusinessException;
进行导出服务
paramexportDescriptor
导出过程的描述器,从中获取导出的各种配置与导出的数据
paramfileName
导出生成的文件名,如果不指定则会自动产生一个文件名,文件名不需要包括文件后缀,服务会自动加上
return导出成功后返回导出文件的路径
2)BaseExport依据传入的文件类型寻找合适的导出服务,然后调用并且生成导出文件
每个导出服务需要发布成OSGi服务,并在服务属性中标识其用于导出的文件类型,例如fileType=txt,表示此服务用于txt格式文件导出
BaseExport通过服务查找,依据需要导出的文件类型查找响应的服务,未找到则报错。
bundleContext.getServiceReferences(IExportService.class.getName(),″(fileType=″+fileType+″)″);
对于导入:
1)每种数据导入服务的实现都需要发布成OSGi服务,并需要通过fileType属性描述其支持的文件类型
导入服务需要实现以下函数:
BatchOperateObjectimportFromFile(IImportDescriptor
importDescriptor,StringfilePath)throwsBusinessException;
进行导入服务
paramimportDescriptor
导入描述器句柄
paramfilePath
导入的文件的路径
return导出成功时返回解析到数据的数据对象
2)BaseImport类负责在使用时依据需要的文件类型动态查找相应的数据导入OSGi服务
每个导入服务需要发布成OSGi服务,并在服务属性中标识其用于导入的文件类型,例如fileType=xml,表示此服务用于xml格式文件导入
BaseImport通过服务查找,依据需要导入的文件类型查找响应的服务,未找到则报错。
bundleContext.getServiceReferences(IImportService.class.getName(),″(fileType=″+fileType+″)″)。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。