一种嵌入式设备与远程数据库进行数据交换的方法

文档序号:7752917阅读:296来源:国知局
专利名称:一种嵌入式设备与远程数据库进行数据交换的方法
技术领域
本发明涉及一种远程数据交换方法,尤其是一种嵌入式设备与远程数据库进行数据交换的方法,属于数据通信技术领域。
背景技术
嵌入式系统的体系结构通常可以分成四个部分嵌入式处理器、嵌入式外围设备、 嵌入式操作系统和嵌入式应用软件。当前,在网络、手持通信设备、国防军事、医疗卫生和自动化控制等各个领域,嵌入式设备往往充当数据采集、数据显示等重要终端角色。因此信息的交换技术显得尤为重要。异构数据库系统的广泛应用,要求为这些异构系统提供实时、无缝的数据交换平台,其中为嵌入式终端提供一个完整的数据源模式和一致的访问接口是异构系统数据交换的关键技术。目前应用在嵌入式设备上的数据交换和存储方法不足之处为1)安装在嵌入式设备上的嵌入式数据库(如Berkeley DB)都是轻量级嵌入式数据库,功能远达不到Oracle 等大型数据库功能。这种嵌入式数据库只是一个简单数据库,不能满足许多应用系统远程实时、无缝的访问和复杂的功能。2)应用面向服务体系架构(SOAP)进行嵌入式设备的软件开发时,需要通过web service技术访问数据库。客户端和其他应用程序客户端需要从不同平台、软件和开发环境调用webService接口,从而获得来自不同数据源的数据,实现数据的透明访问,但需要嵌入式设备增加支持web service服务,因此存在局限性。还有一种基于Wi-Fi的Wince访问远程数据库方法,使得SQL ServerCE与SQL Server之间通过 RDA (远程数据访问)和R印Iication (合并复制)两种方式进行数据同步,但该方案仅支持 windows CE操作系统,而无法满足其它嵌入式操作系统对数据库访问的需求。申请号为 200610024440,200710165854. 5,200810123845. 4, ZL03150952. 5 的中国专利申请分别公开了采用中间件进行数据交换的方法。此类技术可以归纳为如下三种 一是基于中间件的手机与PC互操作方法,该方法在PC上通过安装一个互操作系统自动识别手机的具体型号并采用合适的驱动与手机进行连接。与此同时,通过服务器提供与手机型号相匹配的内容,另外通过自动格式转换将PC或互联网上的内容转换成为适合手机的内容之后再传给手机,在不同型号手机之间进行内容适配共享,该方法利用中间件系统解决了手机与PC机间的通信、数据传输和文件访问,但未涉及对远程数据库的操作和访问, 不能解决嵌入式设备对数据库的访问需求。二是基于XML的异源数据交换中间件的数据展示方法,该方法根据不同操作系统和安全操作的需要,构建实时中间件、文件中间件和消息中间件,同步或异步的处理后台数据库,主要解决企业与供应商、银行、税务、分销商等外部系统之间不同操作系统之间存在不一致的问题,同时解决数据库系统不尽相同的问题,然而该方法只是整合、优化各种独立、分离的数据信息,至于嵌入式设备如何与中间件进行连接,如何进行数据库操作等,没有给出解决方案。三是基于HTTP协议的中间件方法,该中间件的转换主要是用于数据库中数据和html网页之间的转换。其实质是建立一个网络服务器,在使用网页浏览器的地方可以对此网络服务器进行访问,利用XML将数据库数据转换为html信息,从而实现访问数据库的目的。该方法依赖网页浏览器未能解决嵌入式设备中的应用程序对远程大型数据库的访问需求。综上所述,目前广泛采用的嵌入式数据库访问技术无法满足嵌入式系统对远程异构数据库的访问及操作,而现有的中间件技术也没有针对嵌入式设备给出很好的访问数据
库方案。

发明内容
本发明的目的在于针对嵌入式设备访问远程数据库存在数据交换困难的问题, 提出一种嵌入式设备与远程数据库进行数据交换的方法,从而为嵌入式终端提供一个完整的数据源模式和一致的访问接口,妥善解决嵌入式设备对远程数据库的访问操作,使对任何数据库的操作就如同在本地执行,而不需要考虑数据库在平台、系统环境、内部数据格式等方面的异构性。为达到上述目的,本发明的技术方案是一种嵌入式设备与远程数据库进行数据交换的方法,在用户端的嵌入式设备与远程服务器的远程数据库之间设立位于远程服务器端的中间件,所述嵌入式设备包含用于访问远程数据库的应用程序和中间件客户端;所述远程服务器包含数据库服务接口模块和远程数据库;所述中间件含有用于与中间件客户端通信连接的中间件接口模块、用于解析来自嵌入式设备命令包的命令包处理模块、用于连接远程数据库的数据库访问接口模块、用于将远程数据库返回结果进行预订格式转换的 xml数据处理转化模块;所述嵌入式设备与远程数据库之间的数据交换基本步骤如下步骤1、嵌入式设备上的应用程序生成访问远程数据库请求,并将该请求交由中间件客户端处理成预定格式的SQLGtructuredQuery Language结构化查询语言)指令包,所述中间件客户端通过无线网络向中间件发出通信连接请求;步骤2、嵌入式设备与中间件之间通过对应接口建立通信连接,中间件指令处理模块解析SQL指令包,根据从SQL指令包中提取的指令,通过相应接口发起连接远程数据库的请求,进而访问远程数据库,对该数据库进行所需操作(例如插入、删除、查询和更改数据库信息等);步骤3、中间件以二维数据表格方式接收远程数据库返回的操作结果,再由数据处理转换模块将返回的操作结果转换成预定的XML文档,并通过已建立通信连接将封装后的 XML文档发送给嵌入式设备(此处的封装结构通常为XML文件名+XML文档内容);步骤4、嵌入式设备接收到封装好的XML数据,将其提取出来保存在嵌入式设备的内部存储单元中,以供应用程序读取和访问。所述步骤1的指令包由表征指令类型的包头和反映指令内容的字符串构成,所述步骤2较为具体的过程可以描述为步骤21、嵌入式设备的中间件客户端借助TCP协议SOCKET建立与中间件对应接口的通信连接,等待嵌入式设备和中间件交互数据;步骤22、中间件接收来自嵌入式设备的SQL指令包,对其进行解析,根据SQL指令包包头表征的指令类型及反映指令内容的字符串信息,提取出数据库操作指令;步骤23、中间件根据从SQL指令包中提取的指令,通过相应接口发起连接远程数据库的请求,进而访问远程数据库,对该数据库进行所需操作。
为了使嵌入式设备可以对异构远程数据库也能够通过访问进行数据交换,在上述步骤2中,所述步骤2中,嵌入式设备与中间件之间建立通信连接,中间件指令处理模块解析SQL指令包后,如发现嵌入式设备需访问的远程数据库为异源数据库时,先对当前网络中可访问的数据库进行扫描,得到可访问的数据库列表;并将可访问数据库列表发送给嵌入式设备;由嵌入式设备将数据库列表展示给访问发起用户,供用户配置需访问数据库的访问驱动调用接口(Oracle Calllnterface, oracle)以及数据库用户登录信息;配置完成后,将配置信息发送给中间件,中间件根据配置信息自动更改自身的数据库连接配置,再根据从SQL指令包中提取的指令,发起连接连接所述异源数据库的请求,进而访问所述异源数据库,对该数据库进行所需访问操作。由上述技术方案可以看出,本发明的关键在于在嵌入式系统与远程数据库之间使用数据交换处理中间件,以XML为载体,通过TCP协议SOCKET套接字,实现嵌入式系统与远程数据库之间的数据交换。因此,本发明所提供的嵌入式系统与远程数据库进行数据交换的方法以XML为媒介,在不影响远程数据库数据信息的情况下完成数交换,使嵌入式数据库用户能够方便地与远程的数据库进行数据的交互,实现跨平台、异构系统间的无缝连接。本发明的方法将数据在异构系统间的数据交换过程集成中间件模块中,数据转换完全封闭在系统内,不仅带来用户使用上的方便,更加增强了系统的功能。归纳起来,本发明具有以下显著优点1、性价比高。无需增加任何附属硬件,只需在数据库服务器端安装配置好的中间件,嵌入式设备安装上相应的中间件客户端,即可实现无缝访问。2、方法简单。采用本发明后,嵌入式设备访问数据库服务器的方法变得简单直接, 因此可以显著提高研发效率,使软件开发人员只关注系统开发,而无需对数据格式转换和与数据库访问问题操心。3、应用广泛。本发明适用于任何具有无线通信模块的嵌入式系统,可以在工业控制,自动化制造,医疗卫生,国防军事等诸多领域广泛应用。4、通用性强。本发明使得嵌入式设备无需依赖数据库服务商提供所对应的嵌入式操作平台下的客户端,即可达到在任意操作系统平台下访问任意数据库的目的,填补了嵌入式设备访问数据库领域的技术空缺。


下面结合附图对本发明作进一步的说明。图1为本发明一个实施例的硬件结构及其相互之间数据通信和交互示意图。图2是图1实施例的总流程图。图3是图1实施例的嵌入式设备请求数据库操作流程图。图4是图1实施例的中间件数据处理流程图。图5是图1实施例的嵌入式接收数据库返回结果流程图。图6是图1实施例嵌入式设备、中间件和远程数据库网络拓扑图。图7是图1实施例的指令包的数据结构示意图。
具体实施例方式实施例一为使本发明的目的、技术方案和优点更加清楚明白,以下举主要应用于电子病历的实施例,并参照附图,对本发明进一步详细说明。如图1所示,本实施例主要包括嵌入式设备110、中间件120及含远程数据库服务器130。嵌入式设备110包含访问远程数据库的应用程序111和中间件客户端112 ;中间件客户端112又包含数据处理模块121-1和嵌入式连接接口模块121-2 ;远程数据库服务器 130包含数据库服务接口模块131和远程数据库132冲间件120包含中间件接口模块121、 xml数据处理转化模块122、数据库访问接口模块123和命令包处理模块124 ;中间件可直接安装在装有数据库的远程服务器上;也可以安装在一台可以访问远程数据库的电脑上。数据库服务接口 131、数据库访问接口模块123和中间件接口模块121、嵌入式连接接口模块112-2依次连通。在中间件接口模块121、数据库访问接口模块123之间,通过 xml数据处理转化模块122、命令包处理模块(124)完成系统的核心功能。嵌入式设备110的中间件客户端112实质是一个向应用程序111和中间件120提供完整数据操作和连接通信的功能函数集合。数据转换模块112-1完成数据本地化存储和指令打包;嵌入式连接接口模块112-2主要处理嵌入式设备和中间件的通信连接发送和数据接收。中间件接口模块121完成与嵌入式连接接口 112-2的通信,负责将从xml数据处理转化模块122发来的xml文件打包发送给中间件客户端112,同时该模块也将接收的指令包发给命令包处理模块124。xml数据处理转化模块122主要将数据库中搜索出来的二维表处理转换成预定格式的ml文件,之后经中间件接口模块121传回嵌入式连接接口模块 112-2。命令包处理模块IM对从嵌入式设备发来的操作数据库的指令包进行分析,提供对数据库基本的操作能力。数据库访问接口模块123是一个和后台数据库130连通的标准数据库接口,这种标准接口可以是DCOM或者是其它类似标准接口。数据库服务接口模块131是一个标准的数据库服务接口,这种标准接口依赖于所采用的数据库服务器,一般由数据库服务器厂家提供。数据库132就是存储用户数据的远程数据库系统。如 ORACLE,SQLSERVER, MYSQL, DB2 等。本实施例的网络拓扑图如图6所示方案一是远程数据库和中间件安装同一台服务器上,此方案省去硬件设备,在速度和效率上可能稍慢;方案二是远程数据库和中间件分别安装在不同的服务器上,速度和效率较高;服务器需要连入局域网中。采用 IEEE802. 1 lb/g通信标准的嵌入式设备通过无线AP连入到相同的局域网中。本实施例的总流程参见图2,其步骤为步骤201嵌入式设备产生访问数据库请求;步骤202中间件解析获得嵌入式设备请求操作数据库的指令,对数据库实行操作获得数据库返回结果,将返回结果进行转换封装;步骤203嵌入式设备获得中间件封装文件并提取出数据内容。上述步骤201嵌入式设备产生访问数据库请求的过程参见图3,其具体操作步骤为步骤301嵌入式设备上的应用程序针对操作者的操作自动生成相应的访问远程数据库的请求指令;步骤302中间件客户端对所生成的数据库请求指令进行分析后,按照预定格式封装成SQL指令包;预定格式可以根据实际需求自定义,目的是为了方便实现,例如采取如图 7所示格式的封装。其中TYPE_ID为SQL指令包的包头,表征指令类型如将SQL语句中的查询操作定义为“S”,插入操作定义为“I”,更新操作定义为“U”,删除操作定义为“D” ;SQL COMMAND 为一条 SQL 字符串,如 “select*from users” ;步骤303嵌入式设备和中间件之间利用TCP中的Socket套接字进行通信连接,嵌入式设备的中间件客户端通过无线网络向中间件发送通信连接请求;步骤304嵌入式设备判断通信链路是否连接成功,若成功则进行步骤305向中间件发送已经生成的数据库操作指令包;步骤306等待中间件返回数据库结果;若失败则进行步骤307显示连接错误退出。上述步骤202中间件访问数据库转换数据的流程参见图4,其具体操作步骤为步骤401嵌入式设备与中间件之间建立通信连接后,中间件接收到从嵌入式设备发来的访问数据库的SQL指令包;步骤402中间件指令处理模块根据预定的指令格式分析发送来的指令包内容,从中解析出操作数据库的指令字符串;步骤403中间件通过数据库访问接口发起连接数据库服务器的请求,申请连接到数据库服务器;步骤404中间件判断连接数据库是否成功;若成功,则步骤405根据解析得到的数据库操作指令字符串对数据库执行相应操作(例如插入、删除、查询和更改数据库信息等);若失败,则 步骤407提示连接数据库失败;步骤406连接成功则数据库根据所执行的指令返回操作结果给中间件,连接失败则是连接失败信息返回给中间件;步骤408中间件根据返回的结果对数据进行封装转换成XML格式;步骤409通过之前建立的中间件与嵌入式设备之间的通信链路将转换生成的XML 文档发送回嵌入式设备。上述步骤203嵌入式设备获得中间件封装后的文件并提取出数据内容流程参见图5,其具体操作步骤为步骤501嵌入式设备接收中间件返回的数据库结果XML文件;步骤502嵌入式设备关闭与中间件的链接;步骤503根据xml文件名按指定类别存储于嵌入式设备的存储空间中;步骤504应用程序读取存储在本地的指定位置的xml文档解析出其中的数据并在 ⑶I界面上显示出来;
步骤505结束。这样就完成了整个嵌入式设备访问远程数据库的流程。此外,嵌入式设备还可能存在需要访问异构数据库的情况,主要步骤和方法与上述过程基本相同。具体方法为嵌入式设备向中间件发送访问异构数据库申请;中间件接到该申请后对当前网络中可以访问的数据库进行扫描,得到可访问的数据库列表;中间件将可访问数据库列表返回给嵌入式设备;嵌入式设备获得当前可以访问的远程大型数据库列表,供使用者选择所要访问的数据库,并对所要访问的数据库进行配置,例如,配置该数据库的用户登录信息,数据库IP地址及访问端口 ;配置完成后,将配置信息发送给中间件, 中间件根据配置信息自动更改自身的数据库连接配置,即可实现对远程大型数据库的异源访问。以上中间件对远程异源数据库的动态子适应调适使得本发明具有广泛的适应性;并且,由于嵌入式系统中的中间件客户端与远程数据库没有直接连接,因此嵌入式设备在不同的网络环境中想要访问不同的数据库系统时,无需改变应用程序,只需要配置客户端连接当前网络环境中数据库访问中间件的IP地址和端口等信息,就可以实现嵌入式设备访问异构数据库,十分灵活方便。本发明无需增加额外附属硬件,即可实现嵌入式电子病历设备对远程医疗数据库的无缝访问,显著提高了研发效率,使软件开发人员只关注系统开发,而无需对医疗病历数据格式转换和与数据库访问问题操心。使得嵌入式电子病历设备无需依赖数据库服务商提供所对应的嵌入式操作平台下的客户端,即可达到在任意嵌入式操作系统平台下访问数据库的目的,大大方便了医疗工作人员的工作及使用。除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
权利要求
1.一种嵌入式设备与远程数据库进行数据交换的方法,其特征在于在用户端的嵌入式设备与远程服务器的远程数据库之间设立位于远程服务器端的中间件,所述嵌入式设备包含用于访问远程数据库的应用程序和中间件客户端;所述远程服务器包含数据库服务接口模块和远程数据库;所述中间件含有用于与中间件客户端通信连接的中间件接口模块、 用于解析来自嵌入式设备命令包的命令包处理模块、用于连接远程数据库的数据库访问接口模块、用于将远程数据库返回结果进行预订格式转换的xml数据处理转化模块;所述嵌入式设备与远程数据库之间的数据交换基本步骤如下步骤1、嵌入式设备上的应用程序生成访问远程数据库请求,并将该请求交由中间件客户端处理成预定格式的SQL指令包,所述中间件客户端通过无线网络向中间件发出通信连接请求;步骤2、嵌入式设备与中间件之间通过对应接口建立通信连接,中间件指令处理模块解析SQL指令包,根据从SQL指令包中提取的指令,通过相应接口发起连接远程数据库的请求,进而访问远程数据库,对该数据库进行所需操作;步骤3、中间件以二维数据表格方式接收远程数据库返回的操作结果,再由数据处理转换模块将返回的操作结果转换成预定的XML文档,并通过已建立通信连接将封装后的XML 文档发送给嵌入式设备;步骤4、嵌入式设备接收到封装好的XML数据,将其提取出来保存在嵌入式设备的内部存储单元中,以供应用程序读取和访问。
2.根据权利要求1所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述步骤1的指令包由表征指令类型的包头和反映指令内容的字符串构成,所述步骤2 的具体过程为步骤21、嵌入式设备的中间件客户端借助TCP协议SOCKET建立与中间件对应接口的通信连接,等待嵌入式设备和中间件交互数据;步骤22、中间件接收来自嵌入式设备的SQL指令包,对其进行解析,根据SQL指令包包头表征的指令类型及反映指令内容的字符串信息,提取出数据库操作指令;步骤23、中间件根据从SQL指令包中提取的指令,通过相应接口发起连接远程数据库的请求,进而访问远程数据库,对该数据库进行所需操作。
3.根据权利要求1所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述步骤2中,嵌入式设备与中间件之间建立通信连接,中间件指令处理模块解析SQL 指令包后,如发现嵌入式设备需访问的远程数据库为异源数据库时,先对当前网络中可访问的数据库进行扫描,得到可访问的数据库列表;并将可访问数据库列表发送给嵌入式设备;由嵌入式设备将数据库列表展示给访问发起用户,供用户配置需访问数据库的访问驱动调用接口以及数据库用户登录信息;配置完成后,将配置信息发送给中间件,中间件根据配置信息自动更改自身的数据库连接配置,再根据从SQL指令包中提取的指令,发起连接连接所述异源数据库的请求,进而访问所述异源数据库,对该数据库进行所需访问操作。
4.根据权利要求2或3所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述中间件客户端包含用于数据本地化存储和指令打包的数据处理模块和用于处理嵌入式设备和中间件的通信连接发送和数据接收的连接接口模块。
5.根据权利要求4所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述XML文档的封装结构为XML文件名+XML文档内容。
6.根据权利要求5所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述中间件直接安装在装有远程数据库的远程服务器上。
7.根据权利要求5所述的嵌入式设备与远程数据库进行数据交换的方法,其特征在于所述中间件安装在可以访问远程数据库的电脑上。
全文摘要
本发明涉及一种嵌入式设备与远程数据库进行数据交换的方法,属于数据通信技术领域。该方法通过嵌入式设备生成访问远程数据库请求,并处理成预定格式的SQL指令包;中间件建立通信连接,根据从SQL指令包中提取的指令,发起连接数据库服务器的请求并进行所需访问操作;中间件接收数据库返回的操作结果,并将封装后的XML文档发送给嵌入式设备;嵌入式设备接收到封装好的XML数据,将其保存。本发明所提供的嵌入式系统与远程数据库进行数据交换的方法以XML为媒介,在不影响远程数据库数据信息的情况下完成数交换,使嵌入式数据库用户能够方便地与远程的数据库进行数据的交互,实现跨平台、异构系统间的无缝连接。
文档编号H04L29/08GK102316129SQ20101021415
公开日2012年1月11日 申请日期2010年7月1日 优先权日2010年7月1日
发明者严振, 宋余庆, 陈健美 申请人:江苏大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1