CN1652078A - 利用基于数据库的应用程序接口系统实现远程调用的方法 - Google Patents
利用基于数据库的应用程序接口系统实现远程调用的方法 Download PDFInfo
- Publication number
- CN1652078A CN1652078A CN 200410039210 CN200410039210A CN1652078A CN 1652078 A CN1652078 A CN 1652078A CN 200410039210 CN200410039210 CN 200410039210 CN 200410039210 A CN200410039210 A CN 200410039210A CN 1652078 A CN1652078 A CN 1652078A
- Authority
- CN
- China
- Prior art keywords
- database
- command
- configuration file
- client
- data base
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种利用基于数据库的应用程序接口系统实现远程调用的方法,所述基于数据库的应用程序接口系统包括:a.配置文件;b.数据库对象;所述数据库对象由数据库类生成,该类封装了数据库的操作,所述数据库类提供了多个子类,各个子类都提供相同的接口;c.命令配置文件;d.配置接口;所述方法包括以下的步骤:1)建立与数据库的连接;利用数据库对象以及从所述配置文件中读取的信息来实现与数据库的连接;2)对可用命令进行解析;3)接收调用命令;4)执行调用命令函数。本发明可减少已存在系统的代码修改,实现各个业务系统的互联互通。
Description
技术领域
本发明涉及一种利用基于数据库的应用程序接口系统实现远程调用的方法。
背景技术
在信息化建设的大潮中,软件产业正在发生巨大的变革,随着信息化的不断推进和信息技术的迅速发展,企业在架设不同网络上的不同业务时,需要不同的设备、不同的应用系统,业务的开展需要不同系统的交互,如计费系统、结算系统、安全认证系统等。虽然新的应用系统不断产生,旧的应用系统仍然发挥着不可替代的作用,否则每样业务都重新开始,业务开发将非常麻烦和复杂,成本也很高。目前,几乎所有的信息都以各种各样的方式存储着,包括电子表格、电子邮件、各种文件、数据等。而各种应用系统的运行,也是基于各种各样的信息,其中,基于数据库的应用系统,以其快捷的开发方式、高效的运行效率、严谨的组织方式,得到了广泛的应用。因此,提供一种基于数据库的新旧系统的信息交互和操作是非常重要的。
发明内容
本发明的目的是提供一种利用基于数据库的应用程序接口系统实现远程调用方法,实现不同平台间远程调用,并可方便地扩展。
本发明还有一个目的是提供一种利用基于数据库的应用程序接口系统实现远程调用方法,可以安全地在客户端和服务器之间使用上述远程调用。
为实现上述目的,本发明提供了利用基于数据库的应用程序接口系统实现远程调用的方法,所述基于数据库的应用程序接口系统包括:a.配置文件;b.数据库对象;所述数据库对象由数据库类生成,该类封装了数据库的操作,所述数据库类提供了多个子类,各个子类都提供相同的接口;c.命令配置文件;d.配置接口;
所述方法包括以下的步骤:
1)建立与数据库的连接;利用数据库对象以及从所述配置文件中读取的信息来实现与数据库的连接;
2)对可用命令进行解析;
3)接收调用命令;
4)执行调用命令函数;
5)返回执行结果。
所述对可用命令进行解析是指读取命令配置文件,进行命令、参数信息、函数体的识别,从可用命令中解析出函数。
优选地,所述从可用命令中解析出的函数被保存到内存中。
优选地,在对调用命令函数的执行中,对于数据库的操作,通过数据库对象进行处理。
优选地,在对调用命令函数的执行中,对于数据库的操作,通过被封装在数据库对象中的数据库操作进行,所述数据库操作包括数据库连接、SQL语句的执行、返回结果的解析。
所述接收调用命令的步骤以及返回执行结果的步骤中,通过以下步骤实现客户端与服务器的交互:客户端发送登录请求;服务端进行密码验证和信息解密;服务端回应登录请求;其特征在于,所述在所述服务器对登录请求的回应中,包含有会话密钥,后续的通信使用所述会话密钥。
优选地,所述进行密码验证的步骤包括以下的步骤:利用用户名称和密码生成加密密钥;利用所述加密密钥和消息体生成媒体访问控制;将所生成的媒体访问控制与报文中的媒体访问控制相比较。
进一步,所述利用用户名称和密码生成加密密钥的步骤以及所述利用加密密钥和消息体生成媒体访问控制的步骤采用MD5的方法。
优选地,所述客户端发送登录请求是在客户端与服务器建立连接之后10秒内发送的。
优选地,所述会话密钥是128比特的随机数。
本发明的方法可实现应用信息的可靠传输,减少已存在系统的代码修改,减少用户以及维护人员的工作量,同时保证用户最大程度的得到服务,提高用户的服务满意度。实现各个业务系统的互联互通。
附图说明
图1是本发明的实现远程调用的方法的示意流程图;
图2是本发明的实现客户端与服务器交互的步骤的示意流程图。
具体实施方式
本发明提供了一种利用基于数据库的应用程序接口(API)系统实现远程调用的方法,总体思路是通过命令的配置实现系统间的操作,减少已存在系统的代码修改。
如图1所示,在本发明的实施例中,所述的基于数据库的应用程序接口系统包括:
a.配置文件;在该文件中包含可以使用数据库的用户名称、密码等,以及ACL的配置信息。
b.数据库对象;由数据库类生成,该类封装了数据库的操作,包括数据库的连接、SQL语句的执行、返回结果的解析等。另外,该数据库类提供了多个子类,各个子类都提供相同的接口,因此对不同的数据库都可以进行处理,并对外提供统一的接口。
c.命令配置文件;该文件中包含系统可以使用的所有函数的配置,包括参数的定义,参数范围的设定,函数逻辑表达式的描述等。通常,配置文件是以二进制方式保存的,转换前的格式举例如下:
【parameter】
//参数信息定义;可以有多个参数的定义
【function】//函数名称
【information】//函数的说明信息
【body】
{
函数体的定义
}
d.配置接口;用来接收外部命令,在本实施例中,其利用函数名称以及该函数对应的参数来接收外部命令,如图1所示,该配置接口即外部插件(socket)接口。
本发明的方法包括以下的步骤:
1.建立数据库的连接;读取系统的配置文件,并依据系统配置文件中的信息,使用该数据库对象建立与数据库的连接。
2.对可用命令进行解析;读取命令配置文件,进行命令、参数信息、函数体的识别,从可用命令中解析出函数(也称作命令函数),在本实施例中,为提高处理速度,将其读取到内存中。
3.接收调用命令;通过配置接口(在本实施例中,即外部插件接口),实现对调用命令的接收,所接收的调用命令应提供函数名和参数。配置接口接收到信息后,首先进行函数名称的匹配,也就是将读取到内存中的命令函数同接收到的调用命令中包含的函数名称进行匹配,如果没有匹配上,返回错误信息。如果函数名称匹配成功,则进行该函数参数信息的匹配,如果没有匹配上,返回错误信息。
4.执行命令函数。调用内存中的命令函数的函数体部分并顺序执行,对于不同的表达式进行分析和处理,对于数据库的操作,通过数据库类的对象进行处理,并返回相应的结果信息。
本发明的系统和方法是基于数据库的操作设计的,可通过文件的配置来进行命令函数的配置,可以在配置文件中灵活地增加、修改、删除,例如当用户需要提供查询帐户余额时,那么就可以通过配置文件的修改,增加对应的函数进行解决,这样可以在不修改服务端代码的情况下提供函数的扩展性,满足各项新的需求。
另外,本发明可支持各种数据库,因为对数据库的访问、操作进行了封装,如数据的读取、数据的更新以及SQL语句的执行等都进行了相应的封装处理,因此,包括客户/服务器数据库(如Oracle、Sybase、Informix和DB2)以及传统数据库如IMS都可以进行处理。因而本发明的可扩展性非常良好。
进一步,本发明能提高系统的安全性。提供ACL(访问控制表)控制,用户名、密码确认,MD5信息摘要。例如,系统的配置文件中可以包含合法的可以访问本机的所有IP地址信息,因此,当系统接收到报文是从不在列表的机器发送来时,直接将该报文丢弃。从而提高了系统的安全性。
进一步,为提高在C/S结构中接收远程调用命令和返回执行结果的安全性,需要对客户端和服务器之间的信息传输进行加密处理。在这种情况下,如图2所示,本发明通过以下的步骤实现客户端与服务器之间的交互:
客户端登录请求:客户端(Client)同服务器(Server)建立连接后,在一定的时间内,发送登录命令,进行系统登录。考虑到网络传输、服务器性能等方面的原因,时间太长,服务器需要维护的连接越多,性能损耗越大,时间太短,可能网络延时会导致命令传输时间相对长一些,因此优选地将所述一定的时间确定在10秒内,这个数据可以在系统的配置文件中进行配置,默认为10秒。登录目的是发送客户端的用户名以及口令给服务器进行认证,在报文中填写Client ID作为客户端的标识,并使用用户名、密码(即登录时发送的口令)的128bit的MD5摘要作为报文数据部分的校验码,保证报文传输过程中的数据不被修改。
服务端回应登录请求:
(1)Server收到该登录消息后,取出Client ID,并利用该Client ID从报文中取出用户名称和口令。
(2)使用MD5(用户名称+密码)得到加密密钥,然后执行MD5(加密密钥+消息体)生成媒体访问控制MAC′,察看MAC′是否等于接收到报文中的MAC,如果不是表示校验或者密码错误。Server将立即断开与客户端的连接,不返回任何错误。此处的消息体是指命令、对应命令的参数、参数信息。
(3)Server使用MD5(用户名称+密码)产生128bit摘要,作为解密密钥,对报文数据部分进行解密。
(4)如果解密的报文数据部分不是合法的登录语句(LGI,也就是系统里默认的第一次登录时的报文数据的信息)″UserName″;或者LGI语句中的用户名与使用的UserName不一致,则Server将立即断开与该Client的连接,不返回任何错误。
(5)Server生成128bit(即16个bytes)的随机数,作为此次连接的会话密码(SessionKey),返回给客户端。返回消息仍然使用MD5(用户名称+密码)做为密钥。
(6)后续的其他消息将使用SessionKey作为新的密钥。
本发明技术方案有如下的有益效果:1、本发明的API接口提供了应用信息的可靠传递,实现各个业务系统的互联互通,不需要进行代码的修改,只要根据相应的需求进行函数文件的配置即可实现不同的功能,减少了开发和维护费用;2、会话密钥Session Key生成的方式,即首先使用Client ID获得用户名称、口令进行数据的验证,验证通过后生成SessionKey,Client同Server的信息都使用该SessionKey进行加密处理,可以保证安全通信。
以上为说明的目的对本发明的优选实施例进行了详细的描述,但本领域的普通技术人员应该意识到,在本发明的范围和精神的情况下,各种改进、添加和替换都是可能的,并且都在本发明的权利要求所限定的保护范围内。
Claims (10)
1.一种利用基于数据库的应用程序接口系统实现远程调用的方法,所述基于数据库的应用程序接口系统包括:
a.配置文件;
b.数据库对象;所述数据库对象由数据库类生成,该类封装了数据库的操作,所述数据库类提供了多个子类,各个子类都提供相同的接口;
c.命令配置文件;
d.配置接口;
所述方法包括以下的步骤:
1)利用数据库对象以及从所述配置文件中读取的信息来实现与数据库的连接;
2)对所述命令配置文件中的可用命令进行解析;
3)接收调用命令,并与解析出的命令函数进行匹配;
4)执行匹配的被调用的命令函数,返回执行结果。
2.根据权利要求1所述的方法,其特征在于,所述对可用命令进行解析是指读取命令配置文件,进行命令、参数信息、函数体的识别,从可用命令中解析出函数。
3.根据权利要求2所述的方法,其特征在于,所述从可用命令中解析出的函数被保存到内存中。
4.根据权利要求1所述的方法,其特征在于,在对被调用的命令函数的执行中,对于数据库的操作,通过数据库对象进行处理。
5.根据权利要求4所述的方法,其特征在于,在对被调用的命令函数的执行中,对于数据库的操作,通过被封装在数据库对象中的数据库操作进行,所述数据库操作包括数据库连接、SQL语句的执行、返回结果的解析。
6.根据权利要求1到5任一项所述的方法,其特征在于,所述接收调用命令的步骤以及返回执行结果的步骤中,通过以下步骤实现客户端与服务器的交互:客户端发送登录请求;服务端进行密码验证和信息解密;服务端回应登录请求;在所述服务器对登录请求的回应中,包含有会话密钥,后续的通信使用所述会话密钥。
7.根据权利要求6所述的方法,其特征在于,所述进行密码验证的步骤包括以下的步骤:
利用用户名称和密码生成加密密钥;
利用所述加密密钥和消息体生成媒体访问控制;
将所生成的媒体访问控制与报文中的媒体访问控制相比较。
8.根据权利要求7所述的方法,其特征在于,所述利用用户名称和密码生成加密密钥的步骤以及所述利用加密密钥和消息体生成媒体访问控制的步骤采用MD5的方法。
9.根据权利要求6所述的方法,其特征在于,所述客户端发送登录请求是在客户端与服务器建立连接之后10秒内发送的。
10.根据权利要求9所述的方法,其特征在于,所述会话密钥是128比特的随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410039210 CN1652078A (zh) | 2004-02-05 | 2004-02-05 | 利用基于数据库的应用程序接口系统实现远程调用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410039210 CN1652078A (zh) | 2004-02-05 | 2004-02-05 | 利用基于数据库的应用程序接口系统实现远程调用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1652078A true CN1652078A (zh) | 2005-08-10 |
Family
ID=34868572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410039210 Pending CN1652078A (zh) | 2004-02-05 | 2004-02-05 | 利用基于数据库的应用程序接口系统实现远程调用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1652078A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183363B (zh) * | 2006-11-13 | 2010-05-12 | 中兴通讯股份有限公司 | 一种利用系统表结构统一配置管理内存数据库的方法 |
CN102346774A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市信游天下网络科技有限公司 | 一种数据库操作方法及装置 |
CN103198018A (zh) * | 2013-04-09 | 2013-07-10 | 厦门亿联网络技术股份有限公司 | 一种利用telnetd线程快速调试程序代码的方法 |
CN106997521A (zh) * | 2016-01-22 | 2017-08-01 | 平安科技(深圳)有限公司 | 基于api的投保信息处理方法和装置 |
CN107180110A (zh) * | 2017-06-13 | 2017-09-19 | 北京京润恒远科技有限公司 | 一种基于DataTable的高效数据库接口的实现方法 |
CN107665216A (zh) * | 2016-07-29 | 2018-02-06 | 银联数据服务有限公司 | 一种数据库访问方法及中间件 |
CN107894945A (zh) * | 2017-11-17 | 2018-04-10 | 深圳市泉眼网络科技有限公司 | 埋点添加方法、移动终端及计算机可读存储介质 |
CN111190950A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种资产检索方法和装置 |
CN112953711A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 数据库安全连接系统及方法 |
CN113010225A (zh) * | 2021-03-05 | 2021-06-22 | 国网河南省电力公司电力科学研究院 | 一种智能变电站配置文件自动装载方法及系统 |
-
2004
- 2004-02-05 CN CN 200410039210 patent/CN1652078A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183363B (zh) * | 2006-11-13 | 2010-05-12 | 中兴通讯股份有限公司 | 一种利用系统表结构统一配置管理内存数据库的方法 |
CN102346774A (zh) * | 2011-09-26 | 2012-02-08 | 深圳市信游天下网络科技有限公司 | 一种数据库操作方法及装置 |
CN102346774B (zh) * | 2011-09-26 | 2013-09-18 | 深圳市信游天下网络科技有限公司 | 一种数据库操作方法 |
CN103198018A (zh) * | 2013-04-09 | 2013-07-10 | 厦门亿联网络技术股份有限公司 | 一种利用telnetd线程快速调试程序代码的方法 |
CN106997521A (zh) * | 2016-01-22 | 2017-08-01 | 平安科技(深圳)有限公司 | 基于api的投保信息处理方法和装置 |
CN107665216A (zh) * | 2016-07-29 | 2018-02-06 | 银联数据服务有限公司 | 一种数据库访问方法及中间件 |
CN107665216B (zh) * | 2016-07-29 | 2021-04-27 | 银联数据服务有限公司 | 一种数据库访问方法及中间件 |
CN107180110A (zh) * | 2017-06-13 | 2017-09-19 | 北京京润恒远科技有限公司 | 一种基于DataTable的高效数据库接口的实现方法 |
CN107894945A (zh) * | 2017-11-17 | 2018-04-10 | 深圳市泉眼网络科技有限公司 | 埋点添加方法、移动终端及计算机可读存储介质 |
CN111190950A (zh) * | 2019-10-31 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种资产检索方法和装置 |
CN112953711A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 数据库安全连接系统及方法 |
CN112953711B (zh) * | 2021-01-28 | 2022-12-02 | 杉德银卡通信息服务有限公司 | 数据库安全连接系统及方法 |
CN113010225A (zh) * | 2021-03-05 | 2021-06-22 | 国网河南省电力公司电力科学研究院 | 一种智能变电站配置文件自动装载方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kohl et al. | The evolution of the Kerberos authentication service | |
US8813243B2 (en) | Reducing a size of a security-related data object stored on a token | |
CN102904865B (zh) | 一种基于移动终端的多个数字证书的管理方法、系统和设备 | |
US7886341B2 (en) | External authentication against a third-party directory | |
CN102624728B (zh) | 一种利用已注册网站用户信息进行全网登录认证的方法及系统 | |
CN101227379B (zh) | 一种实现数据同步的系统和方法 | |
CN1878073A (zh) | 群组通信系统中实现虚拟讨论组的方法 | |
CN1949765A (zh) | 获得被管设备的ssh主机公开密钥的方法和系统 | |
CN101034983A (zh) | 一种对网络接入用户实现上网实名的系统及其方法 | |
CN1758596A (zh) | 中继装置,认证服务器以及认证方法 | |
CN1968117A (zh) | 一种即时通信中局域网用户加入群组通信的方法 | |
CN1921682A (zh) | 增强通用鉴权框架中的密钥协商方法 | |
CN1652078A (zh) | 利用基于数据库的应用程序接口系统实现远程调用的方法 | |
CN1753020A (zh) | 应用于互联网电子交易整合的系统及其方法 | |
CN112104715A (zh) | 一种基于微服务日志链路跟踪方法及系统 | |
CN112100639A (zh) | 一种基于元数据业务信息的数据加密传输的方法、系统 | |
CN1812382A (zh) | 管理组件应用程序的通信的系统和方法 | |
CN1825838A (zh) | 实现企业间业务集成的系统及方法 | |
CN101060398A (zh) | 新安全群组的安全凭证产生方法通信方法,及网络系统 | |
Feng et al. | Transparent ciphertext retrieval system supporting integration of encrypted heterogeneous database in cloud-assisted IoT | |
CN117061175A (zh) | 内网资产的漏洞扫描方法、系统、装置和存储介质 | |
CN112068929A (zh) | 一种多架构云平台接入第三方web服务的统一管理方法 | |
CN1905457A (zh) | 一种快速获取在线企业信息的方法及装置 | |
CN1881875A (zh) | 实现用户设备和网络业务应用实体安全通讯的方法 | |
CN1300977C (zh) | 一种开放式的超远距离工业监控信息集成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20050810 |