一种用于促使B/S和C/S混合架构的用户终端行为统一的系统和方法与流程

文档序号:12132311阅读:391来源:国知局
一种用于促使B/S和C/S混合架构的用户终端行为统一的系统和方法与流程

本发明涉及计算机应用领域,并且更具体地,涉及一种用于促使B/S和C/S混合架构的用户终端行为统一的系统和方法。



背景技术:

现在软件开发的整体架构主要分为B/S架构与C/S架构,B/S架构与C/S架构各有优缺点。

C/S架构又称Client/Server或客户机/服务器架构。因为客户机需要实现绝大多数的业务逻辑和界面展示。在这种架构中,作为用户终端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互来达到持久化数据,以此满足实际项目的需要。C/S架构的优点:1.C/S架构的界面和操作可以很丰富。2.安全性可以很容易保证,实现多层认证也不难。3.由于只有一层交互,因此响应速度较快。缺点:1.适用面窄,通常用于局域网中。2.用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。3.维护成本高,发生一次升级,则所有用户终端的程序都需要改变。

B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,在这种结构中,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser用户终端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上。B/S架构的优点:1)用户终端无需安装,有Web浏览器即可。2)B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。3)B/S架构无需升级多个用户终端,升级服务器即可。缺点:1)在跨浏览器上,B/S架构不尽如人意。2)表现要达到C/S程序的程度需要花费不少精力。3)在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题。4)用户终端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。

在实际应用中,某些应用系统既要求具有较高的效率和安全性,也要求便于部署和访问,这样就难以用单独的C/S或B/S架构满足,因此往往采用两者相结合的混合模式进行开发。当采用相同的服务器,用户终端设计为C/S和B/S混合模式时,C/S和B/S混合模式用户终端的行为统一性的保证就成了至关重要的问题。



技术实现要素:

为了解决背景技术存在的上述问题,本发明提供一种用于促使B/S和C/S混合架构的用户终端行为统一的系统,所述系统包括:

浏览器,用于显示网页,当所述系统使用浏览器连接服务器进行登录、登录成功后通信和退出行为时,根据浏览器登录成功后服务器返回的身份码tokenID,并通过浏览器中的CustomActiveX控件和通信模块进行交互,通信模块和客户机直接交互使客户机与浏览器的行为一致;

客户机,用于完成数据表示、数据处理和用户接口的功能,当所述系统使用客户机连接服务器进行登录、登录成功后通信和退出行为时,根据客户机登录成功后服务器返回的身份码tokenID,并通过客户机和通信模块直接交互,以及通信模块和浏览器中的的CustomActiveX控件进行交互使浏览器与客户机的行为一致;

CustomActiveX控件,其安装在浏览器中,用于使浏览器和通信模块进行交互;

通信模块,其用于和客户机直接交互,并通过CustomActiveX控件和浏览器进行交互,当所述系统使用浏览器连接服务器而使客户机与浏览器行为统一时,浏览器通过CustomActiveX传递信息至通信模块,再由通信模块将信息传递至客户机,由客户机进行信息处理以完成行为的统一,而当所述系统使用客户机连接服务器而使浏览器与客户机行为统一时,客户机直接将信息传递给通信模块,并由通知模块传递给CustomActiveX控件,由CustomActiveX控件与浏览器进行交互以完成行为的统一。

优选地,所述系统还包括服务器,其用于接收浏览器和客户机的请求并返回响应数据。

优选地,所述通信模块是PIPE、服务或者共享内存中的任意一种。

根据本发明的另一方面,本发明还涉及一种使B/S和C/S混合架构的用户终端行为统一的方法,所述方法包括使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法,以及使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法。

在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器登录,从而使客户机登录的方法包括:

浏览器访问首页,输入用户名和密码登录服务器,登录成功后服务端返回给用户一个统一身份码tokenId;

javascript调用CustomActiveX控件,将tokenId传送给CustomActiveX;

CustomActiveX启动C/S架构的客户机,并将tokenId作为参数传送给客户机,客户机启动成功,并启动通信模块;

在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器登录成功后和客户机通信的方法包括:

浏览器通过CustomActiveX控件将其信息和tokenId传递给通信模块;

通信模块将信息和tokenId传递给客户机;

客户机接收到信息和tokenId后,将接收到的tokenId和登录时的tokenId做比较,比较结果一致,则认为是同一用户;

客户机确认用户身份完成后,处理接收到的信息,以此达到浏览器和客户机的统一行为。

在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器退出,从而使客户机退出的方法包括:

浏览器向服务器发出退出请求;

服务器返回响应之后,javascript调用CustomActiveX控件,将tokenId传送给CustomActiveX;

CustomActiveX将退出命令传递给通信模块;

通信模块通知C/S架构的客户机;

客户机接收到退出命令后,由其自身发起退出请求,关闭客户机程序和通信模块。

在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机连接服务器,从而使浏览器登录的方法包括:

启动客户机,输入用户名和密码,点击登录,客户机登录成功后服务器返回响应数据,客户机从响应数据中得到所需数据、url和tokenId;

客户机启动通信模块,然后启动浏览器,并将url和tokenId作为参数传递给浏览器,浏览器启动后CustomActiveX随之启动;

浏览器与客户机同步登录完成,共享用户信息。

在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机连接服务器登录成功后和浏览器通信的方法包括:

客户机将数据和tokenId传递给通信模块;

通信模块将数据和tokenId传递给CustomActiveX;

CustomActiveX和浏览器进行沟通以显示网页,浏览器与客户机的通信完成。

在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机退出,从而使浏览器退出的方法包括:

客户机退出登录状态;

客户机调用浏览器内核相关API,查看浏览器中打开的相关网页;

当客户机没有查找到打开的网页,客户机直接向服务器发出退出请求,客户机响应服务器应答;

当客户机查找到打开的网页至少为一个时,客户机检测到第一个网页时,调用浏览器内核相关API,由浏览器向服务器发出退出请求;

浏览器接收到服务器应答后,浏览器通过CustomActiveX将退出成功状态传递给通信模块;

通信模块通知客户机,客户机接收浏览器退出成功状态;

客户机关闭通信模块;

客户机退出自身程序。

优选地,在使用客户机连接服务器使浏览器和客户机退出登录时,如果浏览器打开的网页大于一个,客户机调用浏览器内核相关API,关掉除了检测到的第一个网页以外的其他网页。

综上所述,本发明提供的用于促使B/S和C/S混合架构的用户终端行为统一的系统和方法解决了B/S和C/S混合架构中浏览器和客户机的通信问题,浏览器和客户机之间通过通信达到行为的统一,使用户登录一次即可在浏览器和用户机上共享此次登录,使开发者既可以利用浏览器端广域网的特点,也可以利用客户机端安全性高,计算快,处理复杂逻辑能力强的特点来解决复杂问题。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1示出了本发明具体实施方式的用于促使B/S和C/S混合架构的用户终端行为统一的系统的结构图;

图2示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机登录的方法的流程图;

图3示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机进行通信的方法的流程图;

图4示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机退出登录的方法的流程图;

图5示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器登录的方法的流程图;

图6示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器进行通信的方法的流程图;以及

图7示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器退出登录的方法的流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1是本发明具体实施方式的用于促使B/S和C/S混合架构的用户终端行为统一的系统的结构图。如图1所示,所述系统100包括浏览器101、客户机102、CustomActiveX控件和通信模块104和服务器105。

浏览器101,用于显示网页,当所述系统使用浏览器101连接服务器105进行登录、登录成功后通信和退出行为时,根据浏览器101登录成功后服务器105返回的身份码tokenID,并通过浏览器101中的CustomActiveX控件103和通信模块104进行交互,通信模块104和客户机102直接交互使客户机102与浏览器101的行为一致;

客户机102,用于完成数据表示、数据处理和用户接口的功能,当所述系统使用客户机102连接服务器105进行登录、登录成功后通信和退出行为时,根据客户机102登录成功后服务器105返回的身份码tokenID,并通过客户机102和通信模块104直接交互,以及通信模块104和浏览器101中的CustomActiveX控件103进行交互使浏览器101与客户机102的行为一致;

CustomActiveX控件103,其安装在浏览器101中,用于使浏览器101和通信模块104进行交互;

通信模块104,其用于和客户机102直接交互,并通过CustomActiveX控件103和浏览器101进行交互,当所述系统使用浏览器101连接服务器105而使客户机102与浏览器101行为统一时,浏览器101通过CustomActiveX控件103传递信息至通信模块104,再由通信模块104将信息传递至客户机102,由客户机102进行信息处理以完成行为的统一,而当所述系统使用客户机102连接服务器105而使浏览器与客户机行为统一时,客户机102直接将信息传递给通信模块104,并由通知模块104传递给CustomActiveX控件103,由CustomActiveX控件103与浏览器101进行交互以完成行为的统一。

优选地,所述系统还包括服务器105,其用于接收浏览器101和客户机102的请求并返回响应数据。

优选地,所述通信模块104是PIPE、服务或者共享内存中的任意一种。

图2示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机登录的方法的流程图。如图2所示,在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器登录,从而使客户机登录的方法从步骤S201开始。

在步骤S201,浏览器访问首页,输入用户名和密码登录服务器,登录成功后服务端返回给用户一个统一身份码tokenId;

在步骤S202,javascript调用CustomActiveX控件,将tokenId传送给CustomActiveX;

在步骤S203,CustomActiveX控件启动C/S架构的客户机,并将tokenId作为参数传送给客户机,客户机启动成功,并启动通信模块。

图3示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机进行通信的方法的流程图。如图3所示,在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器登录成功后和客户机通信的方法从步骤S301开始。

在步骤S301,浏览器通过CustomActiveX控件将其信息和tokenId传递给通信模块;

在步骤S302,通信模块将信息和tokenId传递给客户机;

在步骤S303,客户机接收到信息和tokenId后,将接收到的tokenId和登录时的tokenId做比较,比较结果一致,则认为是同一用户;

在步骤S304,客户机确认用户身份完成后,处理接收到的信息,以此达到浏览器和客户机的统一行为。

图4示出了本发明具体实施方式的使用浏览器连接服务器,使浏览器和客户机退出登录的方法的流程图。如图4所示,在使用B/S架构的浏览器连接服务器,使C/S架构中客户机与浏览器登录、登录成功后通信和退出的行为统一的方法中,使用B/S架构的浏览器退出,从而使客户机退出的方法从步骤S401开始。

在步骤S401,浏览器向服务器发出退出请求;

在步骤S402,服务器返回响应之后,javascript调用CustomActiveX控件,将tokenId传送给CustomActiveX;

在步骤S403,CustomActiveX将退出命令传递给通信模块;

在步骤S404,通信模块通知C/S架构的客户机;

在步骤S405,客户机接收到退出命令后,由其自身发起退出请求,关闭客户机程序和通信模块。

图5示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器登录的方法的流程图。如图5所示,在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机连接服务器,从而使浏览器登录的方法从步骤S501开始。

在步骤S501,启动客户机,输入用户名和密码,点击登录,客户机登录成功后服务器返回响应数据,客户机从响应数据中得到所需数据、url和tokenId;

在步骤S502,客户机启动通信模块,然后启动浏览器,并将url和tokenId作为参数传递给浏览器,浏览器启动后CustomActiveX随之启动;

在步骤S503,浏览器与客户机同步登录完成,共享用户信息;

图6示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器进行通信的方法的流程图。如图6所示,在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机连接服务器登录成功后和浏览器通信的方法从步骤S601开始。

在步骤S601,客户机将数据和tokenId传递给通信模块;

在步骤S602,通信模块将数据和tokenId传递给CustomActiveX;

在步骤S604,CustomActiveX和浏览器进行沟通以显示网页;

浏览器与客户机的通信完成。

图7示出了本发明具体实施方式的使用客户机连接服务器,使客户机和浏览器退出登录的方法的流程图。如图7所示,在使用C/S架构的客户机连接服务器,使B/S架构中浏览器与客户机登录、登录成功后通知和退出的行为统一的方法中,使用C/S架构的客户机退出,从而使浏览器退出的方法从步骤S701开始。

在步骤S701,客户机退出登录状态;

在步骤S702,客户机调用浏览器内核相关API,查看浏览器中打开的相关网页;

在步骤S703,当客户机没有查找到打开的网页,客户机直接向服务器发出退出请求,客户机响应服务器应答;

在步骤S704,当客户机查找到打开的网页至少为一个时,客户机检测到第一个网页时,调用浏览器内核相关API,由浏览器向服务器发出退出请求;

在步骤S705,浏览器接收到服务器应答后,浏览器通过CustomActiveX将退出成功状态传递给通信模块;

在步骤S706,通信模块通知客户机,客户机接收浏览器退出成功状态;

在步骤S707,客户机关闭通信模块;

在步骤S708,客户机退出自身程序。

优选地,在步骤S709,当浏览器打开的网页大于一个时,客户机调用浏览器内核相关API,关掉除了检测到的第一个网页以外的其他网页。

已经通过上述实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该【装置、组件等】”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1