Unix环境中远程终端接入的方法

文档序号:6444697阅读:264来源:国知局
专利名称:Unix环境中远程终端接入的方法
技术领域
本发明涉及计算机技术领域,特别是指一种UNIX环境中远程终端接入的方法。
背景技术
在银行、金融行业或邮政系统等领域大量使用着各种终端进行业务办理。随着这些行业的发展,业务处理要逐渐向上级机构集中。因此,需要大量终端登陆到运行业务应用程序的服务器,即业务前置机上进行业务办理操作。目前一般采用以下几种终端接入方式。
图1所示为物理终端直接接入业务前置机方式。物理终端101通过物理线路多串口卡102直接连接到业务前置机103上,再由业务前置机经网络与业务主机104相连。由于是采用物理方式直接连接,因此业务前置机可以在系统中给这些登陆其上的物理终端分配固定的终端设备名,即每一物理终端每次都是通过一固定终端设备名登陆并运行业务前置机上的应用程序,完成业务办理。应用这种连接方式,每一物理终端必须直接连接到业务前置机上,因此,业务前置机一般都放在办理业务的网点上,当业务网点数量众多且分散时,对业务前置机系统的维护存在较大困难。随着金融行业、邮政领域等业务的发展,业务处理逐渐向上级机构集中,需要将业务前置机与物理终端远距离分开,这种连接方式显然无法满足发展要求。
图2所示为物理终端经多路复用器接入业务前置机方式。物理终端201与多路复用器202相连,业务网点的多路复用器202经网络与多路复用器203相连,多路复用器203再通过多串口卡204接入到业务前置机205上,业务前置机再经网络与业务主机206相连。这种连接方式是非IP的,不能满足银行、邮政等领域的网络向IP化方向发展和改造的要求。同时,受多串口卡上端口数量的限制,虽然经多路复用器连接可使物理终端与业务前置机之间实现远距离相连,但无法在一台前置机上同时接入更多的物理终端。
对于上述两种连接方式,均使用了多串口卡,系统为多串口卡上的每个端口分配一个固定的终端设备名。这样经多串口卡连接到业务前置机上的物理终端每次登陆时都肯定使用同一个终端设备名,保证了系统的安全性。但要在同一台业务前置机上同时接入大量的从网络登陆的终端,多串口卡则不能满足这种需求。
图3所示为物理终端通过远程登陆(TELNET)方式接入前置机的方式。具备TELNET客户端功能的物理终端301与路由器302相连,经IP网及路由器303与业务前置机304相连,业务前置机再经网络与业务主机305相连,或者,业务前置机与业务主机为同一台设备。这样,每个物理终端根据TELNET协议通过路由器等IP网络设备连接到业务前置机上,运行前置机上的业务应用程序。应用这种连接方式,可实现在一台前置机上同时接入大量物理终端这一功能,但同一物理终端每次登陆业务前置机时,其所使用的终端设备名是不固定的。也就是说,每个物理终端的前后两次登陆,可能使用不同的终端设备名。这对银行、金融或邮政系统等领域来说是极不安全的。一旦出现业务问题,无法定位是由哪个物理终端导致的,不便于定位问题责任人。

发明内容
有鉴于此,本发明的目的在于提供一种UNIX环境中远程终端接入的方法。对于每一个登陆到业务前置机上的物理终端,只要是从该终端上进行登陆,则每次登陆所使用的伪终端设备名都是固定不变的,即实现终端绑定功能。同时,这种技术使得在一台业务前置机上允许有大量的远程物理终端登陆并运行其上的业务应用程序。
为达到上述目的,本发明的技术方案是这样实现的
一种UNIX环境中远程终端接入的方法,将物理终端与终端接入服务器相连,终端接入服务器通过网络与业务前置机相连,该方法包括以下步骤A、在UNIX系统的业务前置机中建立经终端接入服务器接入业务前置机的物理终端与业务前置机上的伪终端设备名的固定对应关系;B、添加使系统打开伪终端从设备的表项,以接受物理终端登陆;C、启动业务前置机上预先设置的接口驱动功能模块,打开伪终端主设备;D、监听网络中的传输控制连接请求,验证该连接是否是由上述已配置的物理终端发起的,如果是则将该物理终端与对应的伪终端主设备对应起来,否则拒绝该连接。
较佳地,所述终端接入服务器是具有路由转发数据功能的IP网络设备。
较佳地,所述步骤A中是通过编写配置文件使经终端接入服务器接入业务前置机的物理终端与业务前置机上的伪终端设备名建立起固定的对应关系。
较佳地,步骤A所述的配置文件可由任意文本编辑工具进行编辑,且该配置文件中的每一条表项中至少包括物理终端要使用的伪终端设备名、终端接入服务器的IP地址和物理终端在终端接入服务器上的编号,所述伪终端设备名、终端接入服务器的IP地址和编号形成固定的一一对应关系。
较佳地,所述伪终端设备名可以是伪终端从设备名,也可以是伪终端主设备名。
较佳地,步骤B所述的表项添加在UNLX系统业务前置机的/etc/inittab文件中。
较佳地,步骤C所述的接口驱动功能模块至少包括处理网络数据的网络数据接口层次和使伪终端从设备和伪终端主设备之间进行业务交互的业务数据接口层次。
较佳地,通过网络数据接口层次接收物理终端经网络发来的待处理数据,并对其解封装,或将经业务应用程序处理后的数据进行格式封装后发送到网络上,完成物理终端和业务应用程序之间业务数据的交互;通过业务数据接口层次接收网络数据接口层次发来的数据,并删除其中的控制字段数据部分以得到纯业务数据,或将业务应用程序处理后的纯业务数据添加上控制字段数据部分后发送给业务数据接口层次。
较佳地,步骤D所述的验证方法进一步包括以下步骤D1、接口驱动功能模块读取步骤A所述配置文件的信息,根据步骤B所述的表项,打开伪终端设备名所对应的伪终端主设备,并创建监听套接字,监听网络上的连接请求;D2、判断网络上是否有连接请求,如果是执行步骤D3,否则重复执行步骤D2;D3、接受连接请求,保存该连接请求的描述符,并获取终端接入服务器的IP地址,接收该连接发送的待处理数据,根据该数据中物理终端的编号查找配置文件中的表项,找到对应的伪终端设备名;D4、创建子进程,在子进程中通过伪终端主从设备实现网络数据与业务应用程序中数据的读写交换,父进程返回D2。
较佳地,步骤D4所述的子进程进行数据的读写交换进一步包括D41、子进程保留该连接的描述符和对应的伪终端主设备描述符;D42、检测该连接描述符和伪终端主设备描述符的状态;D43、判断网络上是否有数据到来,如果是执行步骤D44,否则执行步骤D45;D44、读取网络数据,并将读取到的数据解封装后写入伪终端主设备中;D45、判断业务应用程序是否有数据写入到伪终端从设备中,如果有执行步骤D46,否则执行步骤D42;D46、从与步骤D45的伪终端从设备相对应的伪终端主设备中读出被写入到伪终端从设备中的数据,再将该数据封装后写入到连接描述符对应的网络连接中,发向远程物理终端,返回D42。
应用本发明,只要业务前置机中的配置文件内容不发生变化,则每个远程物理终端每次登陆系统的业务前置机时,都肯定使用同一个伪终端设备名,并且在一台业务前置机上允许接入大量的远程物理终端,所接入终端的数量只受到UNIX系统能够提供的伪终端设备数目和系统性能的限制。因此与现有技术相比,本发明具有安全性高,稳定性好,发生故障容易定位,成本低,应用简单、方便等诸多优点。


图1为现有技术应用方案一的物理终端直接接入业务前置机方式;图2为现有技术应用方案二的物理终端经多路复用器接入业务前置机方式;图3为现有技术应用方案三的物理终端经telnet方式接入业务前置机方式;图4为应用本发明的接口驱动功能模块处理流程图;图5为应用本发明的接口驱动功能模块的子进程处理流程图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
本发明的组网方式与现有技术应用方案三的组网方式相同,只是将其中的路由器替换为终端接入服务器,该终端接入服务器是具有路由转发数据功能的IP网络设备。这样可最大限度的利用现有资源。
在UNIX操作系统的内核中,将专门用于终端访问的设备称为伪终端设备,其又可分为伪终端主设备(ptypxx)和伪终端从设备(ttypxx),登陆的物理终端使用主设备,运行业务应用程序的物理终端使用从设备。在本实施例中,伪终端主设备由接口驱动功能模块打开,被远程登陆的物理终端所使用,伪终端从设备由UNIX操作系统打开,被业务应用程序所使用。
为了保证每个物理终端在登陆业务前置机时,每次都必须使用同一个伪终端设备名,需将网络上接入终端接入服务器的远程物理终端与业务前置机上的伪终端设备名之间建立起固定的一一对应的关系。使通过验证并登陆的物理终端,在接口驱动功能模块的控制下,完成与业务应用程序的业务交互过程。
下面详细描述具体步骤1)在业务前置机上写入已编辑好的配置文件,以建立起网络上接入终端接入服务器上的物理终端与业务前置机上的伪终端设备名之间的固定对应关系。该配置文件可由任意文本编辑工具编辑而成,如UNIX系统的文件编辑器等,且该配置文件中的每一条表项中至少包括物理终端要使用的伪终端设备名、终端接入服务器的IP地址和物理终端在终端接入服务器上的编号。其中,配置文件中的伪终端设备名可以是伪终端从设备名,也可以是伪终端主设备名。例如,配置文件的格式如下ttyp201.1.254.76 0ttyp211.1.254.76 1ttyp221.1.254.76 2第一列ttypxx是业务前置机上所定义物理终端的伪终端设备名,第二列(1.1.254.76)是终端接入服务器的IP地址,最后一列的数字是物理终端在终端接入服务器上的编号。这样就使接入终端接入服务器的物理终端与业务前置机上的伪终端设备名之间建立起固定的一一对应关系。
2)由于伪终端从设备必须由UNIX系统打开,因此,在前置机UNIX系统中的/etc/inittab文件中添加类似下面的表项,使系统运行后自动打开已配置的伪终端从设备,为接受远程物理终端用户的登陆做好准备。例如,添加打开伪终端从设备的表项如下p20234respawn/etc/getty ttyp20mp21234respawn/etc/getty ttyp21mp22234respawn/etc/getty ttyp22m其中第一列(p20)是该行的行标识,在/etc/inittab文件中各行的行标识必须不相同。
3)启动接口驱动功能模块,使之打开与已配置的伪终端设备名相对应的伪终端主设备,当网络上有连接请求时,验证该连接是否是由配置文件中已配置的物理终端发起的,若验证成功,则将该物理终端与对应的伪终端主设备联系起来,否则拒绝连接。这样就保证了每个从网络上登陆的物理终端每次都使用相同的伪终端设备名登陆到业务前置机上。
例如,接口驱动功能模块打开与已配置的伪终端设备名相对应的伪终端主设备ptyp20,ptyp21和ptyp22,如果是IP地址为1.1.254.76的终端接入服务器请求连接,则经验证成功后,将该物理终端与对应的伪终端主设备联系起来。这样就保证了每个从网络上登陆的物理终端每次都使用相同的伪终端设备名登陆到业务前置机上。
由于接口驱动功能模块具有两个接口层次,即处理网络数据的网络数据接口层次和使伪终端从设备和伪终端主设备之间进行业务交互的业务数据接口层次。当远程物理终端成功登陆后,接口驱动功能模块的网络数据接口层次接收到物理终端通过网络发来的待处理数据信息,将其解封装后的数据递交给业务数据接口层次,业务数据接口层次将收到的数据做进一步处理,即删除该数据中的控制字段部分,得到纯业务数据,并将该纯业务数据写入伪终端主设备中,进而传送给伪终端从设备,由业务应用程序对其进行处理;对于需要返回处理结果给物理终端的结果数据,由业务数据接口层次将该结果数据从伪终端从设备发送给伪终端主设备后,将该结果数据添加上控制字段部分后,发送给网络数据接口层次,由网络数据接口层次对该数据按实际需要进行格式封装后发送到网络上,从而完成远程物理终端与业务主机的业务交互过程。
图4所示为应用本发明的接口驱动功能模块处理流程图。
步骤401,接口驱动功能模块读取配置文件中配置的信息,例如保存配置项“ttyp20 1.1.254.76 0”;
步骤402,根据伪终端设备名称打开对应的伪终端从设备,并保存打开的文件描述符;例如系统根据ttyp20的伪终端从设备名,调用打开函数open()打开名为ptyp20的伪终端主设备,由于打开伪终端主设备的缺省路径为/dev目录,则该打开函数为open(“/dev/ptyp20”,O_RDWR);步骤403,创建监听套接字listen_dock,并调用监听函数listen()监听网络上的连接请求;步骤404,判断网络上是否收到TCP连接请求,如果是执行步骤405,否则重复执行步骤404,反复进行判断;步骤405,调用接受函数accept()接受TCP连接请求,保存该TCP连接的描述符为client_fd,并获取请求连接的终端接入服务器的IP地址;步骤406,接收该TCP连接请求方发送来的待处理的数据,该数据结构中至少包含HEAD和TERM_NO两部分,其中,HEAD为报文封装格式的头标识,TERM_NO是已设置的物理终端在终端接入服务器上的编号,该数据的封装格式可采用类似“HEAD+OTHER1+TERM_NO+OTHER2”的结构,其中OTHER1、OTHER2表示根据实际需要所必需的其它数据,在本实施例中HEAD的取值为0x7E;步骤407,根据已获取的请求连接的终端接入服务器的IP地址和物理终端的编号TERM_NO,查找业务前置机上配置文件中的表项,如果在业务前置机的配置文件中找到与物理终端相对应的伪终端设备名,则表明验证成功,该远程物理终端可登陆,并继续执行步骤408,否则验证失败,直接结束本次处理;例如从IP地址为1.1.254.76的终端接入服务器发送来数据为“0×7E+0x00”,经验证,与该数据对应的伪终端设备名为ttyp20,则登陆成功,可继续执行后续步骤;步骤408,调用fork()函数,创建子进程,在子进程中通过伪终端主从设备实现网络数据与业务主机中数据的读写交换,父进程返回步骤404。这样就保证了从网络上登陆到业务前置机上的每个物理终端,每次都使用相同的伪终端设备名。
图5所示为应用本发明的接口驱动功能模块的子进程处理流程图。
步骤501,子进程只保留TCP连接描述符client_fd和与已登陆的物理终端相对应的伪终端主设备描述符ptyp_fd,并关闭其余文件的描述符;步骤502,调用选择函数select()检测TCP连接描述符client_fd和伪终端主设备描述符ptyp_fd的状态,以准备处理网络上的数据;步骤503,判断网络上是否有数据,如果有执行步骤504,否则直接执行步骤505;步骤504,读取网络上的数据,并将读取到的数据解封装后写入伪终端主设备中;步骤505,判断业务应用程序是否有数据写入到伪终端从设备中,如果有执行步骤506,否则执行步骤502;步骤506,从与步骤505的伪终端从设备相对应的伪终端主设备中读出被写到伪终端从设备中的数据,再将该数据封装后写入到TCP连接描述符对应的网络连接中,发向远程物理终端,再次执行步骤502。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种UNIX环境中远程终端接入的方法,将物理终端与终端接入服务器相连,终端接入服务器通过网络与业务前置机相连,其特征在于该方法包括以下步骤A、在UNIX系统的业务前置机中建立经终端接入服务器接入业务前置机的物理终端与业务前置机上的伪终端设备名的固定对应关系;B、添加使系统打开伪终端从设备的表项,以接受物理终端登陆;C、启动业务前置机上预先设置的接口驱动功能模块,打开伪终端主设备;D、监听网络中的传输控制连接请求,验证该连接是否是由上述已配置的物理终端发起的,如果是则将该物理终端与对应的伪终端主设备对应起来,否则拒绝该连接。
2.根据权利要求1所述的方法,其特征在于,所述终端接入服务器是具有路由转发数据功能的IP网络设备。
3.根据权利要求1所述的方法,其特征在于,所述步骤A中是通过编写配置文件使经终端接入服务器接入业务前置机的物理终端与业务前置机上的伪终端设备名建立起固定的对应关系。
4.根据权利要求1或3所述的方法,其特征在于,步骤A所述的配置文件可由任意文本编辑工具进行编辑,且该配置文件中的每一条表项中至少包括物理终端要使用的伪终端设备名、终端接入服务器的IP地址和物理终端在终端接入服务器上的编号,所述伪终端设备名、终端接入服务器的IP地址和编号形成固定的一一对应关系。
5.根据权利要求4所述的方法,其特征在于,所述伪终端设备名可以是伪终端从设备名,也可以是伪终端主设备名。
6.根据权利要求1所述的方法,其特征在于,步骤B所述的表项添加在UNIX系统业务前置机的/etc/inittab文件中。
7.根据权利要求1所述的方法,其特征在于,步骤C所述的接口驱动功能模块至少包括处理网络数据的网络数据接口层次和使伪终端从设备和伪终端主设备之间进行业务交互的业务数据接口层次。
8.根据权利要求7所述的方法,其特征在于,通过网络数据接口层次接收物理终端经网络发来的待处理数据,并对其解封装,或将经业务应用程序处理后的数据进行格式封装后发送到网络上,完成物理终端和业务应用程序之间业务数据的交互;通过业务数据接口层次接收网络数据接口层次发来的数据,并删除其中的控制字段数据部分,以得到纯业务数据,或将业务应用程序处理后的纯业务数据添加上控制字段数据部分后发送给业务数据接口层次。
9.根据权利要求1所述的方法,其特征在于,步骤D所述的验证方法进一步包括以下步骤D1、接口驱动功能模块读取步骤A所述配置文件的信息,根据步骤B所述的表项,打开伪终端设备名所对应的伪终端主设备,并创建监听套接字,监听网络上的连接请求;D2、判断网络上是否有连接请求,如果是执行步骤D3,否则重复执行步骤D2;D3、接受连接请求,保存该连接请求的描述符,并获取终端接入服务器的IP地址,接收该连接发送的待处理数据,根据该数据中物理终端的编号查找配置文件中的表项,找到对应的伪终端设备名;D4、创建子进程,在子进程中通过伪终端主从设备实现网络数据与业务应用程序中数据的读写交换,父进程返回D2。
10.根据权利要求9所述的方法,其特征在于,步骤D4所述的子进程进行数据的读写交换进一步包括D41、子进程保留该连接的描述符和对应的伪终端主设备描述符;D42、检测该连接描述符和伪终端主设备描述符的状态;D43、判断网络上是否有数据到来,如果是执行步骤D44,否则执行步骤D45;D44、读取网络数据,并将读取到的数据解封装后写入伪终端主设备中;D45、判断业务应用程序是否有数据写入到伪终端从设备中,如果有执行步骤D46,否则执行步骤D42;D46、从与步骤D45的伪终端从设备相对应的伪终端主设备中读出被写入到伪终端从设备中的数据,再将该数据封装后写入到连接描述符对应的网络连接中,发向远程物理终端,返回D42。
全文摘要
本发明公开了一种UNIX环境中远程终端接入的方法,将物理终端与终端接入服务器相连,终端接入服务器通过网络与业务前置机相连,该方法包括以下步骤a.在UNIX系统的业务前置机中编写配置文件,建立经终端接入服务器接入业务前置机的物理终端与业务前置机上的伪终端设备名的固定对应关系;b.添加使系统打开伪终端从设备的表项,以接受物理终端登陆;c.启动业务前置机上预先设置的接口驱动功能模块,打开伪终端主设备;d.监听网络中的传输控制连接请求,验证该连接是否是由上述已配置的物理终端发起的,如果是则将该物理终端与对应的伪终端主设备对应起来,否则拒绝该连接。
文档编号G06F9/06GK1536499SQ0310924
公开日2004年10月13日 申请日期2003年4月7日 优先权日2003年4月7日
发明者高龙, 高 龙 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1