书签 分享 收藏 举报 版权申诉 / 10

实现数据库国际化的方法及装置、数据转换方法及系统.pdf

  • 上传人:Y0****01
  • 文档编号:6179185
  • 上传时间:2019-05-17
  • 格式:PDF
  • 页数:10
  • 大小:2.57MB
  • 摘要
    申请专利号:

    CN201310738035.0

    申请日:

    2013.12.27

    公开号:

    CN103699655A

    公开日:

    2014.04.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20131227|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    福建星网视易信息系统有限公司

    发明人:

    陈伟力; 游磊青; 王跃宗; 王玲

    地址:

    350002 福建省福州市金山大道618号橘园洲星网锐捷科技园20#4层

    优先权:

    专利代理机构:

    福州市鼓楼区博深专利代理事务所(普通合伙) 35214

    代理人:

    林志峥

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开一种实现数据库国际化的方法,包括如下步骤:S101、将需要进行国际化的具体语言写入数据库初始化配置文件;S102、将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本;S103、生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系;S104、根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。本发明还公开一种实现数据库国际化的装置、数据转换方法及系统。

    权利要求书

    权利要求书
    1.  一种实现数据库国际化的方法,其特征在于,包括如下步骤:
    S101、将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句;
    S102、将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本;
    S103、生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系;
    S104、根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。

    2.  一种实现数据库国际化的装置,其特征在于,包括:
    写入模块,用于将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句;
    脚本生成模块,用于将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本;
    语言包生成模块,用于生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系;
    初始化模块,用于根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。

    3.  一种基于国际化数据库的数据转换方法,其特征在于,包括如下步骤:
    S201、服务器端查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系;
    S202、当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端;
    S203、浏览器端解析JSON序列得到数据。

    4.  根据权利要求3所述的一种基于国际化数据库的数据转换方法,其特征在于,所述数据包含数值、布尔型、字符串,所述步骤S2022具体包括:
    S2021、当服务器端接收到浏览器端发送的获取数据请求时,判断数据中的字段类型是否为字符串,若是,进入步骤S2022,
    S2022、判断该字段是否为国际化变量,若是,进入步骤S2023,若否,则直接将原字段返回至所述浏览器端;
    S2023、读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端。

    5.  根据权利要求3-4任意一项所述的一种基于国际化数据库的数据转换方法,其特征在于,还包括更新数据库步骤,具体包括:
    在数据库操作前,开启AOP切面编程方式的程序功能维护;
    进行数据库操作时,判断更新字段是否涉及国际化变量;
    当判定更新字段设计国际化变量时,取消对包含国际化变量的字段的更新。

    6.  一种基于国际化数据库的数据转换系统,包括服务器端以及与服务器端通信连接的浏览器端,其特征在于,所述服务器端包括:
    缓存模块,用于查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系;
    替换模块,用于当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端;
    所述浏览器端用于解析JSON序列得到数据。

    7.  根据权利要求6所述的一种基于国际化数据库的数据转换系统,其特征在于,所述数据包含数值、布尔型、字符串,所述替换模块具体包括:
    第一判断子模块,用于当服务器端接收到浏览器端发送的获取数据请求时,判断数据中的字段类型是否为字符串;
    第二判断子模块,用于当第一判断子模块判定是字符串时,判断该字段是否为国际化变量;
    序列化子模块,用于当第二判断子模块判断字段是国际化变量时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端;
    原字段返回子模块,用于当第二判断子模块判断字段不是国际化变量时,直接将原字段内容返回至所述浏览器端。

    8.  根据权利要求6-7任意一项所述的一种基于国际化数据库的数据转换系统,其特征在于,还包括更新数据库模块,具体包括:
    AOP执行子模块,用于在数据库操作前,开启AOP切面编程方式的程序功能维护;
    第三判断子模块,用于进行数据库操作时,判断更新字段是否涉及国际化变量;
    拦截子模块,用于当第三判断子模块判定更新字段设计国际化变量时,取消对包含国际化变量的字段的更新。

    说明书

    说明书实现数据库国际化的方法及装置、数据转换方法及系统
    技术领域
    本发明涉及一种实现数据库国际化的方法及装置、数据转换方法及系统。
    背景技术
    现有的国际化数据库方案通常是通过将不同的语言进行分表或分字段来实现,这样的方式存在的问题有:
    1、同一系统在不同语言环境下显示所有数据就需要对所有的子表和子字段进行查询才能得到;
    2、数据表或字段增加造成操作和管理的复杂化;
    3、增加新语言需要对与国际化相关的表增加新的子表或子字段来解决。
    发明内容
    为解决上述拘束问题,本发明采用的一个技术方案是:
    提供一种实现数据库国际化的方法,包括如下步骤:S101、将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句;S102、将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本;S103、生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系;S104、根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。
    本发明采用的另一个技术方案是:
    提供一种实现数据库国际化的装置,包括:写入模块,用于将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句;脚本生成模块,用于将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本;语言包生成 模块,用于生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系;初始化模块,用于根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。
    本发明采用的再一个技术方案是:
    提供一种基于国际化数据库的数据转换方法,包括如下步骤:S201、服务器端查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系;S202、当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端;S203、浏览器端解析JSON序列得到数据。
    本发明采用的再一个技术方案是:
    提供一种基于国际化数据库的数据转换系统,包括服务器端以及与服务器端通信连接的浏览器端,所述服务器端包括:缓存模块,用于查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系;替换模块,用于当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端;所述浏览器端用于解析JSON序列得到数据。
    本发明的本发明的有益效果在于:提供一种实现数据库国际化的方法及装置、数据转换方法及系统,在数据库中仅仅保存了国际化变量,国际化操作在返回浏览器端JSON时进行处理,因此国际化与数据库表结构无关,在此转换过程中同时将数据中的国际化变量替换为对应语言的内容,转换的同时也进行了国际化,因此替换过程不会产生大量新字符串对象,以保持高效率且不影响业务实现。无需进行复杂的表结构维护,增加和修改语言时仅仅增加或修改语言包即可,无需像现有技术的方案在数据库中为每个需要国际化的语言增加每种语言的字段或为每种语言建立子表,可扩展性好。
    附图说明
    图1是本发明一实施方式中一种实现数据库国际化的方法的执行流程图;
    图2是本发明一实施方式中一种基于国际化数据库的数据转换方法的执行流程图;
    图3是图2中步骤S2022的执行流程图;
    图4是更新数据库的执行流程图;
    图5是本发明一实施方式中一种实现数据库国际化的装置的功能模块图;
    图6是本发明一实施方式中一种基于国际化数据库的数据转换系统的系统框图。
    具体实施方式
    为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
    请参阅图1,是本发明一实施方式中一种实现数据库国际化的方法的执行流程图,包括如下步骤:
    步骤S101、将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句。
    步骤S102、将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本。
    例如:
    insert into CONF(NAME,COMMENTS)values('license','授权用户信息');
    其中具体语言“授权用户信息”用临时变量名“${licenseinfo}”取代:
    insert into CONF(NAME,COMMENTS)values('license','${licenseinfo}')。
    步骤S103、生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系。
    例如:
    英文:licenseinfo=Licence Infomation
    中文:licenseinfo=授权用户信息
    繁体中文:licenseinfo=授權用戶信息
    步骤S104、根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。
    请参阅图2,是本发明一实施方式中一种基于国际化数据库的数据转换方法的执行流程图。该国际化数据库由上述实现方法开发得到。该基于国际化数据库的数据转换方法具体包括如下步骤:
    步骤S201、服务器端查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系;
    步骤S202、当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端。由于国际化操作采用了缓存且在JSON序列化过程中完成,国际化的效率较高。
    步骤S203、浏览器端解析JSON序列得到数据。
    请参阅图3,是图2中步骤S2022的执行流程图。其中,所述数据包含数值、布尔型、字符串,所述步骤S2022具体包括:
    步骤S2021、当服务器端接收到浏览器端发送的获取数据请求时,判断数据中的字段类型是否为字符串,若是,进入步骤S2022,
    步骤S2022、判断该字段是否为国际化变量,若是,进入步骤S2023,若否,则进入步骤S2024直接将原字段返回至所述浏览器端;
    步骤S2023、读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端。
    请参阅图4,是更新数据库的执行流程图。其中,所述的一种基于国际化数据库的数据转换方法还包括更新数据库步骤,具体包括:
    步骤S301、在数据库操作前,开启AOP切面编程方式的程序功能维护;
    步骤S302、进行数据库操作时,判断更新字段是否涉及国际化变量;
    步骤S303、当判定更新字段设计国际化变量时,取消对包含国际化变量的字段的更新。
    由于采用了AOP方式来保护国际化变量不被修改,此过程与业务分离,统一地拦截到数据库的更新操作,阻止对含有国际化变量的字段的修改操作。
    请参阅图5,是本发明一实施方式中一种实现数据库国际化的装置的功能模块图。所述一种实现数据库国际化的方法应用于该实现数据库国际化的装置中。该实现数据库国际化的装置包括写入模块、脚本生成模块、语言包生成模块、初始化模块。
    写入模块用于将需要进行国际化的具体语言写入数据库初始化配置文件,初始化配置文件中包含具有具体语言的原初始化SQL语句。脚本生成模块用于将初始化配置文件中的原初始化SQL语句中的具体语言用临时变量来代替得到初始化SQL脚本。语言包生成模块用于生成各种语言的对应语言包,语言包中包含临时变量与具体语言的映射关系,然后采用摘要算法从语言包中生成与临时变量对应的国际化变量,并在语言包中建立国际化变量与具体语言的映射关系。初始化模块用于根据初始化配置文件进行初始化,将初始化SQL脚本中的临时变量用国际化变量替换。
    请参阅图6,是本发明一实施方式中一种基于国际化数据库的数据转换系统的系统框图。所述的一种基于国际化数据库的数据转换方法应用于该基于国际化数据库的数据转换系统中。
    该基于国际化数据库的数据转换系统包括服务器端以及与服务器端通信连接的浏览器端,所述服务器端包括数据库、缓存模块、替换模块。缓存模块用于查询数据库读取所有语言包并将语言包在内存中进行缓存,语言包中包含国际化变量与具体语言的映射关系。替换模块用于当服务器端接收到浏览器端发送的获取数据请求时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端。所述浏览器端用于解析JSON序列得到数据。
    其中,所述数据包含数值、布尔型、字符串,所述替换模块具体包括第一判断子模块、第二判断子模块、序列化子模块、原字段返回子模块。第一判断 子模块用于当服务器端接收到浏览器端发送的获取数据请求时,判断数据中的字段类型是否为字符串。第二判断子模块用于当第一判断子模块判定是字符串时,判断该字段是否为国际化变量。序列化子模块用于当第二判断子模块判断字段是国际化变量时,读取缓存的与浏览器端预设语言对应的语言包,将数据中的国际化变量替换为对应预设语言的具体语言,同时将数据JSON序列化后,发送至所述浏览器端。原字段返回子模块用于当第二判断子模块判断字段不是国际化变量时,直接将原字段内容返回至所述浏览器端。
    其中,所述的一种基于国际化数据库的数据转换系统还包括更新数据库模块,该更新数据库模块具体包括AOP执行子模块、第三判断子模块、拦截子模块。AOP执行子模块用于在数据库操作前,开启AOP切面编程方式的程序功能维护。第三判断子模块用于进行数据库操作时,判断更新字段是否涉及国际化变量。拦截子模块用于当第三判断子模块判定更新字段设计国际化变量时,取消对包含国际化变量的字段的更新。
    本发明的实现数据库国际化的方法及装置、数据转换方法及系统,在数据库中仅仅保存了国际化变量,国际化操作在返回浏览器端JSON时进行处理,因此国际化与数据库表结构无关,在此转换过程中同时将数据中的国际化变量替换为对应语言的内容,转换的同时也进行了国际化,因此替换过程不会产生大量新字符串对象,以保持高效率且不影响业务实现。无需进行复杂的表结构维护,增加和修改语言时仅仅增加或修改语言包即可,无需像现有技术的方案在数据库中为每个需要国际化的语言增加每种语言的字段或为每种语言建立子表,可扩展性好。
    以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

    关 键  词:
    实现 数据库 国际化 方法 装置 数据 转换 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:实现数据库国际化的方法及装置、数据转换方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6179185.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1