JPH1115684A - ドライバ処理方法 - Google Patents

ドライバ処理方法

Info

Publication number
JPH1115684A
JPH1115684A JP9169942A JP16994297A JPH1115684A JP H1115684 A JPH1115684 A JP H1115684A JP 9169942 A JP9169942 A JP 9169942A JP 16994297 A JP16994297 A JP 16994297A JP H1115684 A JPH1115684 A JP H1115684A
Authority
JP
Japan
Prior art keywords
server
processing
message
client
thread
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
Application number
JP9169942A
Other languages
English (en)
Inventor
Miyoko Namioka
美予子 浪岡
Kazuyoshi Negishi
和義 根岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9169942A priority Critical patent/JPH1115684A/ja
Publication of JPH1115684A publication Critical patent/JPH1115684A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】インタプリタ上で動作するマルチスレッド環境
とネイティブなライブラリを利用したマルチスレッド対
応ドライバの処理方法を提供する。 【解決手段】本発明によるドライバの処理方法は、以下
の構成を有するドライバ3により実行される。クライア
ントからサーバへの処理要求は、対応するサーバメッセ
ージ処理ライブラリ8において、サーバ用送信メッセー
ジに変換され、サーバメッセージ送受信部62を介して
サーバに送られる。サーバメッセージ送受信部を介して
得られたサーバ処理結果は、サーバメッセージ処理ライ
ブラリ8において解析されて、クライアント返却用サー
バ処理結果メッセージに変換され、クライアントに結果
として返却される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のクライアン
トからの要求を受け付け、データベース等のバックエン
ドサーバとのメッセージの送受信を仲介するドライバの
処理方法に関する。特に、インタプリタ上で動作するマ
ルチスレッド型のドライバの処理方法に関する。
【0002】
【従来の技術】インターネットならびにイントラネット
の普及を背景として、インタプリタ上で動作するマルチ
スレッド環境が注目されている。このような環境で動作
するプログラムは、ハードウェアに依存しないため、サ
ーバマシンからクライアントマシンへダウンロードされ
たプログラムが、サーバマシン上のプログラムと連動し
てサービスを提供するということができる。
【0003】このようなサービスのバックエンドサーバ
としてはデータベース管理システム(以下DBMSと略
す)がある。このようなシステムでは、複数のクライア
ントからの要求を処理するために、複数のスレッドにわ
けて処理を行うという方式が広く行われている。
【0004】一方、DBMSでは、それを提供するベン
ダーによってアプリケーションインタフェース(以下A
PIと略す)が異なっているのが普通である。しかし、
現在では、標準化されたAPIが提案され、そのインタ
フェースを使用してDBMSへの処理要求を記述すれ
ば、同じプログラムで複数の異なったDBMSへアクセ
スができるようになっている。但し、アクセスできるD
BMSは、上記標準のインタフェースを処理して、その
DBMSにメッセージを送り、結果をアプリケーション
に返すプログラムが用意されているDBMSである。こ
のようにある標準のインタフェースを処理して、特定の
バックエンドサーバが処理できる形式のメッセージを生
成して、これを該バックエンドサーバに送り、該バック
エンドサーバからの結果をアプリケーションに返すプロ
グラムをドライバと呼ぶ。換言すると、標準のAPI用
のドライバが用意されているDBMSにはアクセスでき
るということである。
【0005】マルチスレッド対応DBMSがその性能を
発揮するためには、ドライバ自身がマルチスレッド対応
でなければならない。従来のマルチスレッド対応ドライ
バは、ネイティブな言語(オブジェクトコードがハード
ウェアに依存する)で記述され、ネイティブなスレッド
(ハードウェアに依存するOSによって提供される)を
利用したものが主であった。
【0006】
【発明が解決しようとする課題】インタプリタ上で動作
するマルチスレッド環境で動作するアプリケーションと
の連動を前提とした場合、ドライバがネイティブな言語
で記述されていると、アプリケーションとの親和性が悪
い。ドライバ自身もインタプリタ上で動作するマルチス
レッドを利用した方が、アプリケーションとの親和性が
よく、アプリケーションプログラムの生産性や保守性に
おいて優位となる。
【0007】しかし、一般にインタプリタ上で動作する
言語で記述したプログラムは、逆コンパイルが容易であ
るという問題点を有している。したがって、バックエン
ドサーバへの送信メッセージの組み立てや、バックエン
ドサーバからの受信メッセージの解釈をインタプリタ上
で動作する言語で記述した場合、第3者にその構造が容
易に解析されてしまうという問題が生じる。
【0008】また、バックエンドサーバとの送受信に関
わる処理をネイティブなスレッドで記述した場合、イン
タプリタ上で提供されるスレッドがネイティブなスレッ
ドと同じコンテクストで実現されているとは限らないと
いう問題があり、その場合、各クライアントの処理を受
け持つスレッドのスケジューリングがうまく動作しない
という問題が生じることになる。
【0009】本発明は、上記問題点を解決するためにな
されたものであり、その目的はインタプリタ上で動作す
るマルチスレッド環境を利用しつつ、バックエンドサー
バと送受信するメッセージフォーマットを第3者に解読
され難いサーバ接続用のドライバを実現することであ
る。
【0010】
【課題を解決するための手段】本発明は、上記課題を解
決するために、インタプリタが提供するマルチスレッド
環境において動作するドライバにおいて、以下の構成を
有することを特徴とする。
【0011】該ドライバを、上記インタプリタが提供す
るドライバ制御スレッドとクライアント要求処理スレッ
ド、ならびにドライバが動作するマシンネイティブなサ
ーバメッセージ処理ライブラリから構成し、該ドライバ
制御スレッドには、クライアント要求処理スレッド生成
部を設け、該クライアント要求処理スレッド生成部に
は、クライアントプログラム毎に、該クライアントに対
する上記クライアント要求処理スレッドを生成するステ
ップを設け、該クライアント要求処理スレッドには、ク
ライアントメッセージ送受信部とサーバメッセージ送受
信部を設け、該クライアントメッセージ送受信部には、
上記サーバメッセージ処理ライブラリをロードして当該
クライアント要求処理スレッドに割り当てるステップ
と、クライアント処理要求を該サーバメッセージ処理ラ
イブラリに送るステップと、該サーバメッセージ処理ラ
イブラリからクライアント返却用サーバ処理結果メッセ
ージを取得するステップと、該クライアント返却用サー
バ処理結果メッセージをクライアントに返すステップを
設け、上記サーバメッセージ処理ライブラリには、上記
クライアントメッセージ送受信部から受け取ったクライ
アント処理要求を解析してサーバ用送信メッセージを生
成するステップと、該サーバ用送信メッセージを上記サ
ーバメッセージ送受信部に送るステップと、該サーバメ
ッセージ送受信部からサーバ処理結果を受け取るステッ
プと、該サーバ処理結果を解析してクライアント返却用
サーバ処理結果メッセージを生成するステップと、該ク
ライアント返却用サーバ処理結果メッセージを上記クラ
イアントメッセージ送受信部に返すステップを設け、上
記サーバメッセージ送受信部には、上記サーバメッセー
ジ処理ライブラリから受け取ったサーバ用送信メッセー
ジをサーバに送るステップと、該サーバから返却された
処理結果を該サーバメッセージ処理ライブラリに返すス
テップを設ける。
【0012】本発明における処理方法を用いたドライバ
は、インタプリタの提供するマルチスレッドを利用し
て、クライアント毎にクライアント要求処理スレッドを
生成することにより、マルチスレッド対応サーバの機能
を有効に活用することができ、クライアント要求処理ス
レッド毎に割り当てたネイティブコードによるサーバメ
ッセージ処理ライブラリにおいて、サーバ用送信メッセ
ージの生成ならびにサーバからの結果の解析を行うた
め、逆コンパイルによってサーバのメッセージフォーマ
ットを第3者に容易に知られるという危険性を少なくす
ることができ、ネイティブコードによるサーバメッセー
ジ処理ライブラリにおいて作成したサーバ送信用メッセ
ージを、クライアント要求処理スレッドで動作するサー
バメッセージ送受信部を介して、サーバに送信し、結果
を受け取るため、クライアント要求処理スレッドのスケ
ジューリングに問題を生じることもない。
【0013】
【発明の実施の形態】以下、本発明の実施例を図面に基
づいて説明する。図1は、本発明の処理方法を実装した
ドライバを説明するための図である。本発明の特徴は、
インタプリタが提供するマルチスレッド環境の同じスレ
ッドで動作するクライアントメッセージ送受信部とサー
バメッセージ送受信部、ドライバが動作するマシンにネ
イティブなライブラリであるサーバメッセージ処理ライ
ブラリから構成される処理単位、すなわち図1では、ク
ライアント要求処理スレッド5、クライアントメッセー
ジ送受信部51、サーバメッセージ送受信部52、サー
バメッセージ処理ライブラリ7からなるセットと、クラ
イアント要求処理スレッド6、クライアントメッセージ
送受信部61、サーバメッセージ送受信部62、サーバ
メッセージ処理ライブラリ8からなるセットが、それぞ
れ異なるクライアントの処理単位に割り当てられるとい
う点である。
【0014】図2は、クライアント要求処理スレッド生
成部の動作を示す図である。図3は、クライアントメッ
セージ送受信部の動作を示す図である。図4は、サーバ
メッセージ処理ライブラリの動作を示す図である。図5
は、サーバメッセージ送受信部の動作を示す図である。
以下では、クライアントプログラム1、クライアント要
求処理スレッド5、サーバメッセージ処理ライブラリ7
を用いて説明する。
【0015】図2を用いて、クライアント要求処理スレ
ッド生成部の動作を説明する。クライアントプログラム
1からサーバに対する接続要求があった場合、ドライバ
制御スレッド4のクライアント要求処理スレッド生成部
41は、図2のステップ202でクライアントプログラ
ム1対応に、クライアント要求処理スレッド5を生成す
る。
【0016】図3を用いて、クライアントメッセージ送
受信部の動作を説明する。クライアントメッセージ送受
信部51は、サーバメッセージ処理ライブラリがロード
されていない場合、ステップ305でサーバメッセージ
処理ライブラリ7をロードする。ステップ302で、ク
ライアントプログラム1からの処理要求の詳細情報を引
数として、サーバメッセージ処理ライブラリ7をコール
し、ステップ303でクライアント返却用サーバ処理結
果メッセージの取得待ちをする。クライアント返却用サ
ーバ処理結果メッセージを取得すると、ステップ304
でこれをクライアントプログラム1に返却する。
【0017】図4を用いて、サーバメッセージ処理ライ
ブラリ7の動作を説明する。サーバメッセージ処理ライ
ブラリ7は、ステップ401でクライアントプログラム
の処理要求の詳細情報からサーバ送信用メッセージを生
成し、これを引数としてステップ402でサーバメッセ
ージ送受信部52をコールし、ステップ403でサーバ
処理結果の取得待ちをする。サーバ処理結果を取得する
と、ステップ404で取得したサーバ処理結果を解析
し、クライアント返却用サーバ処理結果メッセージを生
成し、ステップ405でこれをクライアントメッセージ
送受信部51に返却する。
【0018】図5を用いて、サーバメッセージ送受信部
52の動作を説明する。サーバメッセージ送受信部52
は、ステップ501でサーバメッセージ処理ライブラリ
7から受け取ったサーバ送信用メッセージを引数として
サーバ9をコールし、ステップ502でサーバ処理結果
の取得待ちをする。サーバ9からサーバ処理結果を取得
すると、ステップ503でこれをサーバメッセージ処理
ライブラリ7に返却する。クライアントプログラム2か
らの処理要求があった場合、ドライバ制御スレッド4の
クライアント要求処理スレッド生成部41は、図2のス
テップ201でクライアントプログラム2対応に、クラ
イアント要求処理スレッド6を生成し、上記でクライア
ント要求処理スレッド5、クライアントメッセージ送受
信部51、サーバメッセージ送受信部52、サーバメッ
セージ処理ライブラリ7からなるセットを用いて説明し
たと同じ処理が、クライアント要求処理スレッド6、ク
ライアントメッセージ送受信部61、サーバメッセージ
送受信部62、サーバメッセージ処理ライブラリ8から
なるセットについて行われる。さらに他のクライアント
プログラムからの処理要求があった場合も同様である。
【0019】サーバメッセージ送受信部52、62にお
いて、サーバ処理結果の返却待ちになったような場合、
インタプリタが提供するマルチスレッド実行環境のスケ
ジューリング機能によって、これらの複数のクライアン
ト要求処理スレッドの他のスレッドへ実行が移され、複
数のクライアント要求処理スレッドが効率よく処理され
る。
【0020】
【発明の効果】インターネットで注目されているインタ
プリタ上で動作するマルチスレッド環境を利用して複数
クライアントの要求を効率よく処理し、また第3者に解
読され易いというインタプリタ言語によるプログラムの
問題をバックエンドサーバと送受信するメッセージにつ
いて回避した、ドライバの実現が可能とある。
【0021】本発明の他の効果は、本発明によるドライ
バの構成によれば、ネイティブなライブラリとして、既
存のシングルスレッド対応データベースクライアントラ
イブラリを流用して構成することが容易であるというこ
とである。
【図面の簡単な説明】
【図1】本発明の好適なサーバ接続方法によるドライバ
を示す図である。
【図2】クライアント要求処理スレッド生成部の動作を
示す図である。
【図3】クライアントメッセージ送受信部の動作を示す
図である。
【図4】サーバメッセージ処理ライブラリの動作を示す
図である。
【図5】サーバメッセージ送受信部の動作を示す図であ
る。
【符号の説明】
1,2…クライアント、 3…ドライバ、4…ド
ライバ制御スレッド、 41…クライアント要求処理ス
レッド生成部、5,6…クライアント要求処理スレッ
ド、51,61…クライアントメッセージ送受信部、
7,8…サーバメッセージ処理ライブラリ、52,62
…サーバメッセージ送受信部、 9…サーバ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】クライントプログラムからの処理要求をサ
    ーバに伝え、該処理要求に対するサーバからの処理結果
    を該クライアントプログラムに返すドライバの処理方法
    であって、該ドライバは、インタプリタが提供するマル
    チスレッド環境において動作し、該インタプリタが提供
    するドライバ制御スレッドとクライアント要求処理スレ
    ッド、ならびにドライバが動作するマシンにネイティブ
    なサーバメッセージ処理ライブラリから構成され、 該ドライバ制御スレッドは、クライアント要求処理スレ
    ッド生成部を有し、 該クライアント要求処理スレッド生成部は、クライアン
    トプログラム毎に、該クライアントに対する上記クライ
    アント要求処理スレッドを生成するステップを有し、 該クライアント要求処理スレッドは、クライアントメッ
    セージ送受信部とサーバメッセージ送受信部を有し、 該クライアントメッセージ送受信部は、上記サーバメッ
    セージ処理ライブラリをロードして当該クライアント要
    求処理スレッドに割り当てるステップと、クライアント
    処理要求を該サーバメッセージ処理ライブラリに送るス
    テップと、該サーバメッセージ処理ライブラリからクラ
    イアント返却用サーバ処理結果メッセージを取得するス
    テップと、該クライアント返却用サーバ処理結果メッセ
    ージをクライアントプログラムに返すステップを有し、 上記サーバメッセージ処理ライブラリは、上記クライア
    ントメッセージ送受信部から受け取ったクライアント処
    理要求を解析してサーバ用送信メッセージを生成するス
    テップと、該サーバ用送信メッセージを上記サーバメッ
    セージ送受信部に送るステップと、該サーバメッセージ
    送受信部からサーバ処理結果を受け取るステップと、該
    サーバ処理結果を解析してクライアント返却用サーバ処
    理結果メッセージを生成するステップと、該クライアン
    ト返却用サーバ処理結果メッセージを上記クライアント
    メッセージ送受信部に返すステップを有し、 上記サーバメッセージ送受信部は、上記サーバメッセー
    ジ処理ライブラリから受け取ったサーバ用送信メッセー
    ジを上記サーバに送るステップと、該サーバから返却さ
    れたサーバ処理結果を該サーバメッセージ処理ライブラ
    リに返すステップを有することを特徴とするドライバの
    処理方法。
JP9169942A 1997-06-26 1997-06-26 ドライバ処理方法 Pending JPH1115684A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9169942A JPH1115684A (ja) 1997-06-26 1997-06-26 ドライバ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9169942A JPH1115684A (ja) 1997-06-26 1997-06-26 ドライバ処理方法

Publications (1)

Publication Number Publication Date
JPH1115684A true JPH1115684A (ja) 1999-01-22

Family

ID=15895762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9169942A Pending JPH1115684A (ja) 1997-06-26 1997-06-26 ドライバ処理方法

Country Status (1)

Country Link
JP (1) JPH1115684A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100450419B1 (ko) * 2002-02-18 2004-09-30 한국전자통신연구원 데이터베이스 시스템에서 다중 쓰레드로 동작하는클라이언트 라이브러리 동작방법
KR100899527B1 (ko) * 2002-06-25 2009-05-27 주식회사 케이티 웹 서비스의 멀티쓰레드 운용 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100450419B1 (ko) * 2002-02-18 2004-09-30 한국전자통신연구원 데이터베이스 시스템에서 다중 쓰레드로 동작하는클라이언트 라이브러리 동작방법
KR100899527B1 (ko) * 2002-06-25 2009-05-27 주식회사 케이티 웹 서비스의 멀티쓰레드 운용 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11171897B2 (en) Method and apparatus for composite user interface generation
US6321274B1 (en) Multiple procedure calls in a single request
US7921430B2 (en) System and method for intercepting, instrumenting and characterizing usage of an application programming interface
EP0876648B1 (en) Method and apparatus for dynamically brokering object messages among object models
US7580975B2 (en) Asynchronous web service invocation model
JP3853593B2 (ja) ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置
US6553428B1 (en) Distributed object instantiation of native objects in java
US20060053415A1 (en) Method and system for efficiently interpreting a computer program
US8949309B2 (en) Message handling method, for mobile agent in a distributed computer environment
US10673969B2 (en) Scalable data feed system
US20020004850A1 (en) System and method of providing a messaging engine for an enterprise javabeans enabled server to achieve container managed asynchronous functionality
CN107493266B (zh) 嵌入式自助终端的通信系统、方法及装置
US20030014510A1 (en) Distributed processing framework system
US20070118842A1 (en) DDS-assisted CORBA discovery
US20020091695A1 (en) Remote computation framework
GB2327515A (en) Message handling
CN114629904B (zh) 一种分布式事件的处理方法、系统、设备及介质
JPH1115684A (ja) ドライバ処理方法
CN112737760B (zh) 一种基于管道通信技术进行双工数据通信的方法及系统
CN113176957B (zh) 一种基于rpc的远程应用自动化系统
CN112995333B (zh) 一种远程文件激活方法、系统及相关装置
US8392546B2 (en) Distributed managed system, system components, and methods of communicating commands
Coulson et al. A distributed object platform for multimedia applications
JPH11296390A (ja) 遠隔プログラムでの複数通信手段の切替方式
CN115438372A (zh) 一种接口调用方法及系统