CN1741532B - 智能网框架装置 - Google Patents
智能网框架装置 Download PDFInfo
- Publication number
- CN1741532B CN1741532B CN 200510102562 CN200510102562A CN1741532B CN 1741532 B CN1741532 B CN 1741532B CN 200510102562 CN200510102562 CN 200510102562 CN 200510102562 A CN200510102562 A CN 200510102562A CN 1741532 B CN1741532 B CN 1741532B
- Authority
- CN
- China
- Prior art keywords
- subelement
- client
- unit
- intelligent network
- webserver
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种智能网框架装置,包括远程服务器和客户端,客户端还包括交互层单元和核心处理单元;交互层单元接收显示操作单元的操作请求,并将操作请求发送给核心处理单元,并接收核心处理单元的数据操作请求,根据数据操作请求将核心处理单元数据操作结果发送到显示操作单元;核心处理单元根据交互层单元发送的操作请求进行相应的数据操作,并保证本地数据与远程服务器同步更新。本发明是一种集客户端、服务器、Web应用于一身的体系结构应用程序;融合了基于Web界面的易用性、WindoWs客户端的友好性、Web Server端的稳定性以及对XML Web Services标准的兼容性;是可扩展的能集成不同网络应用的客户端应用程序框架。
Description
技术领域
本发明涉及互联网技术,特别涉及一种智能网框架装置。
背景技术
互联网技术的发展已经使越来越多的用户依赖于上网进行信息搜索、阅读新闻、收发邮件、娱乐聊天和书写日志等活动。然而,传统意义上的导航网站,如265上网导航或Yahoo分类目录,收录的网址包罗万象,是为成千上万的用户而设计的,针对个人而言,大量的过剩信息将使很多人将时间浪费在内容的搜索和筛选之上。
针对上述问题,现有技术中的解决方案有多种,其中市场上流行的客户端应用程序大致可以分为:C/S(客户端/服务器模型)、B/S(浏览器/服务器模型)两类。客户端程序通过传输网络与远程服务器连接,如图1所示。
其中,客户端/服务器模型的应用程序又称为胖客户端软件,例如:QQ、Outlook、FoxMail、FlashGet、ACDsee、ICQ等。客户端通过胖客户端软件与远程服务器通信。胖客户端软件的一个明显特点是:大部分程序都驻留在客户端,随着客户端软件功能的不断增加和完善,这类软件就会被做得越来越大,易用性也降的越来越低;胖客户端软件的另一个明显特点是由于胖客户端软件将大部分程序都驻留在客户端,大量的运算由客户端完成,对客户机的性能要求很高,配置和维护起来也异常复杂,大都需要专业人士的协助。另外,当客户端的应用程序需要升级时,新版本的应用程序通常通过重新部署整个应用程序来实现,使得一个新的应用程序完全覆盖原有的应用程序,因此,如果客户端部署了不兼容的共享组件或软件库,则一个应用程序可以很容易地破坏另一个应用程序。
浏览器/服务器模型类的应用程序又称为瘦客户端软件,通常使用浏览器作为核心部件和远程服务器通信,相对于胖客户端软件,瘦客户端软件在客户端的配置基本为零,对客户端计算机的性能要求较低,不需要客户机承担多少运算负载,大量的运算任务都由远程服务器来承担。然而,瘦客户端软件一般都要求客户在线操作,当用户在断开连接时将无法方位应用程序。而且,在离线时,常用的应用程序功能(如拖放、撤消-重复以及上下文相关帮助)可能不可用,降低了应用程序的可用性。另外,由于应用程序的大部分逻辑和状态位于服务器上,所以瘦客户端会频繁地向服务器发回数据和处理请求,浏览器必须等待响应到达,然后用户才能继续使用该应用程序,因此,该应用程序的响应速度将会降低,使得对远程服务器的带宽压力及运算压力的要求都是非常之高的。
发明内容
本发明要解决的问题是提供一种智能网框架装置,以克服现有技术部署复杂、不能长期离线操作的缺陷。
本发明提供了一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括用于发送操作请求和显示操作结果的显示操作单元,所述客户端还包括交互层单元和核心处理单元;
所述交互层单元,用于接收所述显示操作单元的操作请求,并将所述操作请求发送给所述核心处理单元,以及,接收所述核心处理单元的数据操作请求,根据所述数据操作请求将所述核心处理单元数据操作结果发送到所述显示操作单元;
所述核心处理单元,根据所述交互层单元发送的操作请求进行相应的数据操作,以及,保证本地数据与远程服务器同步更新。
所述交互层单元包括网络服务器子单元和脚本引擎子单元;
所述网络服务器子单元,用于根据所述显示操作单元的静态请求信息,从所述核心处理单元读出数据,并发送到显示操作单元;以及,将从显示操 作单元得到的动态请求信息发送给脚本引擎子单元;
所述脚本引擎子单元,用于对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并调用所述核心处理单元的相应模块完成相应操作。
所述核心处理单元包括客户端文件子单元和信息更新子单元;
客户端文件子单元,用于在客户端存储静态数据和动态数据;
信息更新子单元,用于实现客户端文件子单元的数据与远程服务器数据的同步更新。
所述核心处理单元包括数据存储子单元,
所述网络服务器子单元根据所述显示操作单元的静态请求信息,从客户端数据存储子单元读出数据,并发送到显示操作单元;
所述网络服务器子单元将从显示操作单元得到的动态请求信息发送给所述脚本引擎子单元,所述脚本引擎子单元对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并从客户端数据存储子单元中读取对应的信息。
客户端利用XML Web Services技术实现客户端与远程服务器的同步。
核心处理单元还包括事务处理子单元,根据任务请求定时或不定时触发对应工作流程。
核心处理单元还包括插件管理子单元,所述插件管理子单元进一步包括:插件配置信息库和扩展接口库,所述插件配置信息库保存插件注册信息、系统信息和更新信息;所述扩展接口库为对外程序接口,实现插件的接入。
核心处理单元还包括网络传输子单元,使客户端和远程服务器连接,实现客户端与远程服务器数据通信,支持HTTP、HTTPS、FTP、SOAP、POP3、SMTP及IMAP协议。
核心处理单元还包括信息配置子单元,保存客户端配置信息。
智能网框架装置启动后,所述网络服务器子单元在后台工作,通过任意入口启动所述显示操作单元,并访问智能网框架装置的客户端主机及端口,网络服务器子单元接收到请求后,调用相关插件实现该插件相应的功能。
关闭浏览器后,网络服务器子单元继续工作,使预先设定的插件仍在后 台运行。
所述网络服务器子单元支持HTTP、HTTPS标准协议,通过指定IP地址及端口进行监听服务,接受客户端主机直接访问及远程IP认证机制。
所述网络服务器子单元通过显示操作单元、对话框窗口或气泡窗口形式报告连接情况及服务器自身运行状态。
对HTML页面的访问,所述网络服务器子单元支持GET、HEAD及POST方法,分析并提取由这些方法传递的数据及页面连接信息。
所述客户端文件子单元为二级文件系统。
所述脚本引擎子单元包括:ASP解释器、PERL解释器、PHP解释器、RUBY解释器、PYTHON解释器或LUA解释器。
本发明还提供了一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括显示操作单元,所述客户端还包括交互层单元和核心处理单元,
所述交互层单元包括:网络服务器子单元;
所述核心处理单元包括:客户端文件子单元或数据存储子单元;
所述网络服务器子单元根据所述显示操作单元的静态请求信息,从客户端文件子单元或数据存储子单元读出数据,并发送到显示操作单元。
本发明还提供了一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括显示操作单元,所述客户端还包括交互层单元和核心处理单元,
所述交互层单元包括:网络服务器子单元和脚本引擎子单元;
所述核心处理单元包括:客户端文件子单元或数据存储子单元;
所述网络服务器子单元将从显示操作单元得到的动态请求信息发送给脚本引擎子单元,所述脚本引擎子单元对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并从客户端文件子单元或数据存储子单元中读取对应的信息。
本发明还提供了一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括显示操作单元,所述客户端还包括交互层单元和核心处理单元,
所述交互层单元包括:网络服务器子单元、脚本引擎子单元和分析子单元;
所述核心处理单元包括:数据存储子单元或客户端文件子单元;
所述分析子单元用于判断显示操作单元发送的请求信息是静态请求信息还是动态请求信息;
所述网络服务器子单元根据所述分析子单元发来的静态请求信息,从客户端文件子单元读出数据,并发送到显示操作单元;
所述网络服务器子单元将从分析子单元得到的动态请求信息发送给脚本引擎子单元,所述脚本引擎子单元对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并从客户端文件子单元或数据存储子单元中读取对应的信息。
与现有技术相比,本发明具有以下优点:
本发明提供的智能网框架装置是一种集客户端、服务器、Web应用于一身的体系结构应用程序;融合了基于Web界面的易用性、Windows客户端的友好性、Web Server端的稳定性以及对XML Web Services标准的兼容性;是一个可扩展的能集成不同Internet应用的客户端应用程序框架。
进一步,本发明的智能网框架装置可以跨平台使用,且易于安装,对客户机没有附加的要求:智能网框架装置框架应用程序和客户机的操作平台无关,并且由于多数计算机已经默认安装有浏览器软件以及所需要的相关基础软件,实际上对客户机的附加要求为零。
进一步,客户端软件支持自动更新,只需将新版本的应用程序发布在远程服务器上,客户端就会自动发现最新版本的程序和应用组件,完成自动下载和更新。
进一步,客户端进行应用程序更新时,会根据实际情况设定需要更新的部分,使得新版本的应用程序不必要完全覆盖旧的应用程序,减小了应用程序被破坏的可能性,也减小了数据传输量。
进一步,在与Web结合的各种应用上,无论从扩展性(动态加载插件)、易于交互以及表现形式上说,智能网框架装置都表现了其健壮性,尤其在静态 界面的表现能力上,例如在电子商务、经常需要和Internet交互的应用。
进一步,智能网框架装置支持用户离线操作,数据信息可安全的存储在客户端文件系统:当你的个人计算机完整的安装了智能网框架装置,信息被安全的保存在智能网框架装置自身设计的安全的二级文件系统中。而且由于智能网框架装置将Web Server集成到个人计算机,并对其功能进行了扩展。因此,智能网框架装置的Web Server既能起到远程Web Server的作用,又具备很多远程Web Server不具备的功能。无论是在线还是离线,几乎感觉不到任何区别,用户信息依然可以用人们习惯使用的Web界面形式展现。
进一步,DWS的数据同步能力保证了客户端与服务器端数据一致,两端各保存一份相同的数据。用户一旦上网,用户离线操作保存在客户端文件系统中的那些希望共享的邮件、日志等信息将自动的同步到远程服务器。
进一步,定期的与远程服务器保持同步更新。DWS这样的设计方式既减轻了对远程服务器的带宽和运算压力,又保证了客户端高速反馈信息的能力,因为大量的信息是保存在客户端文件系统中的。
总体上,DWS克服了传统胖客户端软件、瘦客户端软件存在的缺点,是首个具备Web服务器特性,并综合了客户端对客户端资源访问和处理能力的应用程序。不仅能减轻远程服务器的带宽及运算压力,还能提高客户端的服务效率。
附图说明
图1是现有技术客户端和远端服务器的网络结构图;
图2是本发明智能网框架装置中的客户端的结构图;
图3是本发明中插件管理子单元的结构图;
图4是本发明插件管理子单元实现加载及卸载的流程图;
图5是本发明事务处理子单元完成插件调度的流程图;
图6是本发明信息更新子单元进行更新的流程图;
图7是本发明智能网框架装置中的客户端的又一实施例结构图;
图8是本发明智能网框架装置中的客户端的又一实施例结构图;
图9是本发明智能网框架装置中的客户端的又一实施例结构图;
图10是本发明智能网框架装置中的客户端的又一实施例结构图;
图11是本发明智能网框架装置中的客户端的又一实施例结构图;
图12是本发明智能网框架装置中的客户端的又一实施例结构图。
具体实施方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
本发明智能网框架装置中的客户端(DWS,Desktop Web System)的一个具体实例的结构如图2所示,包括:显示操作单元100,交互层单元200,核心处理单元300;其中,交互层单元200包括网络服务器(Web Server)子单元210和脚本引擎子单元220;核心处理单元300包括:事务处理子单元310、插件管理子单元320、客户端文件子单元330、网络传输子单元340、信息更新子单元350和信息配置子单元360。
显示操作单元100通常为Web浏览器,包括:IE(Microsoft InternetExplorer)、FF(FireFox)、NN(Netscape Navigator)、Opera等浏览器,包括文本、图像、声音、html文件、脚本等大量数据集中于此,并采用Web界面的形式展现给用户。另外,DWS除了通过Web浏览器显示外,部分信息也可以通过其它方式,例如对话框,气泡窗口等形式展现给用户。
交互层单元200以多线程的方式接受用户请求,协调各插件单元完成输入、输出工作,DWS90%以上的界面交互都要有交互层的参与才能完成。交 互层单元200接收的请求信息可以来自浏览器100或核心处理单元300。例如,当用户在浏览器100中点击某一新闻链接或者点击收、发邮件的按钮时,这种请求是来自于浏览器100;当DWS保存在本地的数据和远程数据同步更新时,如需要刷新某一链接,或者某一页面时,这种请求来自于核心处理单元300。
客户端文件子单元330采用DFS(DWS File System,DWS自带的二级文件系统)进行数据存储,当DWS启动后,网络服务器子单元210在后台工作,可通过任意入口启动浏览器100并访问DWS的本地主机及端口,网络服务器子单元210接收到请求后,调用相关插件实现各种功能。关闭浏览器100后,网络服务器子单元210将继续工作,设定好的插件仍在后台运行。例如当用户关闭浏览器100后,安装在本地的邮件服务器仍然工作,自动接收邮件,并智能给出“你有一封信新邮件”的提示;关闭浏览器100后,保存在本地的数据依然定时与远程数据同步更新。
网络服务器子单元210支持HTTP、HTTPS等标准协议,可指定IP地址及端口进行监听服务,默认接受本地主机直接访问及远程IP认证机制。换句话说,保存在本地的资料,既可以通过本机IP及Port访问到,亦可通过远程服务器访问。例如:如果从本机通过8080端口访问,可以在URL中输入: http://localhost:8080/或http://127.0.0.1:8080/来对本地信息进行访问。如果这台机器的IP是219.148.157.222,那么也可以通过在URL中输入: http://219.148.157.222:8080/远程访问本地资料,比如访问保存在本机的邮件、网络日志等。
网络服务器子单元210对HTML页面的访问,支持GET,HEAD及POST等方法,分析并提取由这些方法传递的数据及页面连接信息;网络服务器子单元210实时显示与远程服务器的连接情况及本地主机的运行情况,并将运行时间、出错记录、与远程WEB服务器的交互和版本状态等等内容写入日志文件;另外,网络服务器子单元210可以配置WEB根目录,使不同的连接对应不同的目录,并设置默认的起始页面,以及对主页面的自动刷新等功能;网络服务器子单元210还可以实际情况处理接收到的错误信息和正常反馈信息,比如: 200OK、400Bad Request、404Not Found、405Method Not Allowed、500SERVER ERROR、501 Not Implemented等。当运行在装有IIS的系统上时自动改用其他端口,默认时则用80端口。
脚本引擎子单元220是一个接口模型,可以调用ASP、PERL、PHP、RUBY、PYTHON、LUA等经过优化和修改的解释器。针对由网络服务器子单元210传递过来的不同的脚本程序请求,脚本引擎子单元220分别调用不同的脚本解释器对其进行编译和处理,把结果返回到网络服务器子单元210。例如,由ASP脚本写成的代码(.ASP文件)需要有ASP脚本引擎来编译和执行;由PHP脚本写成的代码(.PHP文件)由PHP脚本引擎来编译和执行。
核心处理单元300是本发明的核心部分,本发明的基本功能和扩展功能都需要通过该部分提供。
其中,插件管理子单元320主要功能还包括:保存插件配置信息;装载或卸载插件;定时或不定时触发插件工作事件,实现各插件的正常运转和数据更新;提供统一的插件调用配置接口,动态加载第三方插件。并且,不同插件的数据存储相对独立,便于主程序和插件之间高效率的数据交互。
插件管理子单元320的结构如图3所示,进一步包括:有插件配置信息库和DWS平台扩展接口类库两部分组成。配置信息库的主要功能是保存插件各种注册信息,例如插件名称、插件ID以及插件的存储位置、插件版本、插件类型(例如是自启动后台运行,还是用户点击触发工作)、插件的认证信息等。除此之外,还保存一些有关插件更新的日志和系统信息。DWS平台扩展接口类库是插件管理器的重要部分,它是DWS主程序提供的一套统一的对外程序接口。有了此接口类库,DWS就可以完成插件的加载、卸载配置;并且第三方也可以根据此套统一接口开发各种各样的插件进行动态加载。
插件管理子单元320在实现加载及卸载具体插件的流程如图4所示,DWS启动阶段,DWS完成相应基础组件的安装后,对插件的配置信息进行检查,例如插件注册的名字、ID、版本信息等是否符合相应规则,插件文件存放位置以及插件应该在哪个文件里添加怎样的信息等。这一点保证了主程序在加 载插件的过程中能够成功地找到插件程序,如果某个插件没有按照规定去做,主程序将不会发现它的存在,更不可能去加载它。
找到插件后,如果插件提供的主接口符合DWS主程序预留的设计规则,则初始化该插件,否则认为此插件没有遵循协议,不是一个正确的插件,放弃对它的加载。插件加载成功后,主程序和插件之间按照某种规定进行数据交互,完成特定的功能。当用户在配置页面选择加载或卸载某插件,或用户确认了加载第三方插件的提示,配置信息库中和此插件相对应的配置信息被更改。当下次DWS启动时,按照配置信息加载或卸载某插件。
事务处理子单元310是DWS用来处理定时或不定时的有关各插件模块的任务请求,触发相应工作事件来完成插件调度的重要模块,其工作流程如图5所示:
当请求来自人机交互界面(浏览器)时,用户操作人机界面向主程序发送任务请求,主程序接收到该请求后进行处理;主程序启动一个工作线程来处理该任务;当任务处理完成,线程正常结束;如果中途异常退出,线程异常结束;如果线程工作超时,主程序强行结束该线程;最终返回给主程序一个处理结果;主程序根据处理结果反馈给用户,人机界面上显示相应的消息。
当请求由定时器触发时,用户通过主程序的设置界面设置定时条件;当定时条件满足,触发相应任务工作事件;主程序启动一个工作线程来处理该任务;当任务处理完成,线程正常结束;如果中途异常退出,线程异常结束;如果线程工作超时,主程序强行结束该线程;最终返回给主程序一个处理结果;主程序根据处理结果反馈给用户,人机界面上显示相应的消息。
在主程序的启动、运行及结束的整个生命周期中,以及工作线程从开始到结束的整个运行过程中,为了让用户知道运行的情况和结果,DWS都会以消息对话框或消息浮动提示框的形式反馈给用户一些适当的提示。消息的类型可以分为普通消息、错误日志消息和互动消息三大类。
事务处理子单元310的主要功能是保证本地数据和远程服务器同步:一种情况是本地信息(包括各种插件数据和用户离线操作的数据)同步到远程服 务器(DWS自己的服务器);另一种情况是远程服务器(泛指网络中的服务器)中的信息同步到本地,此项操作保证了各插件中的数据定期和远程服务器中的数据同步更新。
DWS采用SyncML协议,使用XML Web Services的技术实现本地和远程数据的同步。SyncML的同步过程是由同步双方相互发送一系列消息来完成,SyncML的消息都是以XML格式的文档定义的,消息的格式在SyncML表示协议中做了具体定义。有了SyncML,用户的个人信息(如电子邮件、通讯录等)能够在用户的不同设备上同时得到更新,并保持一致。比如,用户在掌上电脑上阅读了一封新收到的邮件,那么在他的台式机中,也会自动地将这封邮件显示为已读邮件。
XML Web Services为一种应用Web Services技术,实现上传、下传、同步等交换数据的行为。应用XML Web Services除了可以与远程服务器进行数据交换及同步之外,更主要的是可以方便的扩展各种应用,包括第三方的插件支持等。从表面上看,Web Services就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API(Application Programming Interface,应用程序接口),也就是说,能够用编程的方法通过Web调用来实现某个功能的应用程序;从深层次上看,Web Services是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及调用。
下面以一个双向同步操作的同步操作为例进行说明:同步操作由客户端发起;客户端发送自己的更新信息;服务器接收到客户端的信息进行分析,并返回处理的状态和更新信息;客户端接收到服务器返回的更新信息并根据此信息更新自己的信息;客户端返回自己的更新信息,在更新信息中包括记录的ID映射信息;服务器应答客户端的映射信息,客户端收到服务器的应答后,把同步结果通知用户。
网络传输子单元340使用Socket实现本地和远程服务器的连接,完成本地和远程之间的数据通信,其中,连接支持HTTP、HTTPS、FTP、SOAP、POP3、 SMTP和IMAP等协议。
信息更新子单元350的主要功能是支持DWS本身自动更新。DWS自身的自动更新涉及到DWS核心和DWS插件的更新两部分;自动更新可以发生在首次DWS启动完成后或者是在DWS的运行阶段两个时期。具体更新流程如图6所示,客户端发出版本更新请求,远程更新服务器接收到请求;通过WebServices技术从远程更新服务器下载得到服务器端主程序和插件最新版本号;通过本地API获取当前正使用的主程序和插件的版本号;将从服务器下载得到的版本号与本地得到的版本号相比较;如果服务器上的版本号较新,并且用户接收了更新版本的提示,则通过网络从更新服务器下载新版本的主程序或插件,更新本地的主程序或插件;相反如果服务器上的版本号不是较新的版本,或者客户拒绝了更新版本的提示,则不作下载处理。
信息配置子单元360是客户端信息的保存地。主要用于:记录DWS客户端运行时所必需的公共参数、环境变量等;记录DWS运行过程中所出现的错误细节,包括Web Server的错误、文件系统存储错误和受控插件错误;记录客户端有关代理服务器的各种信息。
DWS支持用户离线操作,数据被安全的保存在客户端文件子单元370。该实施例中采用DFS(DWS File System,DWS自带的二级文件系统)进行数据存储,由于DWS涉及到要对大量类似邮件、通讯录、图片等占用硬盘空间比较小的文件进行存储和管理,因此,DWS的文件系统对小文件的访问和保存一定要是高效率的,所以DWS文件系统要能做到对小文件的支持;并且由于用户初始的数据文件可能占用的空间相当小,但随着用户数据的增多,数据存储文件会越来越大,占用的空间也会越来越大,为了合理、高效的为用户分配存储空间,DWS的文件系统应该是可伸缩的。所以DFS采用应用数据库进行存储,又兼具文件访问特性相结合的设计模式。另外,本发明同时支持使用ODBC、ADO、DAO、DBI等接口规范访问各种各样的数据库。
DWS文件系统支持常规的I/O操作,如打开、关闭、新建、读、写等操作,对外提供一套统一的接口;DWS的权限控制:DWS在驱动层(虚拟设备)加 入判断访问程序的认证,也就是说,当外部程序访问本地文件系统时,DWS首先判断访问程序是否是来自DWS核心,或者判断访问程序是否经过特殊授权,或者判断目录文件是否完全开放。对于来自于DWS核心程序或经过特殊授权的访问,DWS文件系统是完全开放的。对于其他程序而言,他是半透明的,有只读、读写、执行、禁止等各种权限控制。使用文件系统日志,对文件系统的输入输出等操作进行纪录,即使意外断电或者出现内容泄露也可以根据日志信息进行修正或对各个插件进行跟踪。
另外,在Windows操作系统下,我们使用VxD(Virtual Something Driver,是一个管理硬件设备或者已安装软件等系统资源的32位可执行程序,使得几个应用程序可以同时使用这些资源,Windows通过使用VxD允许基于Windows的应用程序实现多任务,VxD在与Windows的连接工作中处理中断,并在不影响其它应用程序的执行的情况下为特定的应用程序执行I/O操作。)把DWS的本地文件系统挂接上来。在Linux系统下,使用VFS(Virtual FileSystem虚拟文件系统,可以使Linux同时支持十多个档案系统)把本地文件系统挂接上来。挂接上来的DFS的存储使用DWS设计的FAT(File AllocationTable文件分配表,是文件管理系统用来给每个文件分配磁盘物理空间的表格,它告诉操作系统,文件存放在磁盘的什么地方)格式将文件存储在本地硬盘。为了使用户使用搜索功能,很快的查找所保存的文件,DFS使用BDB(Berkerly Database,一种占用存储空间相当小的数据库)数据库保存文件索引。挂接上来的DFS的接口参考EXT2的模式,也就是说DFS使用标准的EXT2接口规范访问DFS和BDB数据库。DFS对外提供标准的输入输出接口。DFS这样设计的最大好处是第三方软件开发人员的学习成本低,易于软件的开发和维护。
上述实施例只是智能网框架装置中的客户端一种结构,然而,对于不同的应用环境,本发明的智能网框架装置中的客户端可以灵活改变。
下面通过具体实施方式对本发明进行详细描述,该实施例结构如图7所示,包括显示操作单元为浏览器100,交互层单元200包括网络服务器子单元 210和脚本引擎子单元220,核心处理单元300包括:客户端文件子单元370,用于在客户端本地存储静态数据和动态数据。
网络服务器子单元210的HTTP监听端口监听到请求后,网络服务器子单元210首先分析出该请求是HTML页面请求、本地文件请求或插件的脚本程序。
如果请求为HTML页面或本地文件(静态数据),网络服务器子单元210则分析出请求的具体的文件名和路径,调用相关接口函数从DWS客户端文件子单元370读出数据;智能网框架装置中的客户端获得反应后,如果是HTML页面请求,由HTTP连接返回数据到浏览器100;如果是本地文件请求,则弹出提示用户接收数据的对话框,用户确认后,数据开始接收。例如,用户访问RSS中的一个新闻页面(*.html),网络服务器子单元210的HTTP监听端口监听到此请求后,因为请求是一个HTML页面,则分析出此HTML页面的文件名和保存路径,然后从本地文件系统读出此页面,把响应传递到浏览器100。
如果HTTP监听端口监听到的请求为脚本程序(动态数据),请求首先由网络服务器子单元210传递给脚本引擎子单元220,脚本引擎子单元220根据请求脚本的不同,调用相应的脚本解释器对脚本进行解释,如果需要从核心处理单元300中的客户端文件子单元370提取信息,则调用相应的接口函数把信息提取出来,把解释后的结果返回到网络服务器子单元210,网络服务器子单元210再把结果传递给浏览器100,或以其它形式如对话框的形式和用户发生交互。
例如:用户在页面中输入姓名和密码,请求进入自己的邮箱察看邮件,当网络服务器子单元210的HTTP监听端口监听到这个请求后,分析到此请求是一个ASP脚本,就把此请求传递给ASP脚本解释器,由ASP脚本解释器对其进行编译和处理。ASP脚本解释器对脚本进行解释后,从ASP脚本中提取传递过来的姓名和密码,然后到数据库中去找是否有一用户的姓名和密码正好和传递过来的姓名和密码相符,如果相符,传递注册成功的信息到浏览器,如果不相符,输出错误信息到浏览器。
对于请求中包含了复杂逻辑,例如,用户除了简单的浏览图片外,对图 片的旋转、放大等操作,用户对邮件进行的收发操作等都是有关复杂逻辑的请求,如果利用常规的网络服务器子单元210和脚本引擎完成这些复杂的逻辑,响应速度将会大大降低。为了克服上述缺点,可以在核心处理单元300中增加事务处理子单元310和插件管理子单元320,具体结构如图8所示,脚本引擎子单元220会把请求传递给事务处理子单元310,由事务处理子单元310启动相应事务处理线程,调用相应插件管理子单元320的相应的函数或系统提供的接口来完成这些复杂的运算,把处理后的结果返回到浏览器100或以其他形式展现给用户。该实施例中的客户端文件子单元370可以用现有技术中的存储设备(如计算机硬盘C、D或E)或数据库代替。
上述操作都是在离线方式下进行的操作,但是在实际应用中,多数客户端需要与远端服务器进行同步更新,因此,在核心处理单元300中增加信息更新子单元350和网络传输子单元340,另外,可以利用现有技术中的存储设备实现客户端文件子单元的存储功能(如计算机硬盘C、D或E),如图9所示。当客户端文件子单元370或数据存储子单元330中保存本地数据和远程服务器同步更新时,信息更新子单元350在定时条件满足时,触发相应的事务处理线程,调用相应插件的接口或函数,通过网络传输子单元340与远程服务器同步,把同步后的结果传递到浏览器100或以其他形式展示给用户进行交互操作,这种请求来自于DWS核心。
例如,用户邮件的同步,当定时条件满足时,事务处理模块触发相应线程,调用邮件插件的相应接口或函数,完成本地邮件和远程服务器中的邮件的同步,如果有新邮件存在,新邮件首先保存在本地文件系统,然后把反应传递到浏览器。并弹出气泡窗口,智能给出相应提示。
下面通过另一实施例对本发明进行详细描述,该实施例结构如图10所示,包括远程服务器和客户端,所述客户端包括浏览器100,所述客户端还包括交互层单元200和核心处理单元300;所述交互层单元包括:网络服务器子单元210,所述核心处理单元300包括客户端文件子单元370(或者用现有技术中的存储设备,如计算机硬盘C、D或E)。所述网络服务器子单元210根据所 述浏览器100的静态请求信息,从客户端文件子单元(或数据存储子单元)370读出数据,并发送到浏览器100。
下面通过另一实施例对本发明进行详细描述,该实施例结构如图11所示,包括远程服务器和客户端,所述客户端包括浏览器100,所述客户端还包括交互层单元200和核心处理单元300,所述交互层单元200包括:网络服务器子单元210和脚本引擎子单元220;所述核心处理单元300包括:数据存储子单元330(现有技术中的存储设备,如计算机硬盘C、D或E,与本发明中的本地文件存储子单元的作用相同);所述网络服务器子单元210将从浏览器100得到的动态请求信息发送给脚本引擎子单元220,所述脚本引擎子单元220对网络服务器子单元210传送的不同脚本程序请求进行编译和处理,并从数据存储子单元(或客户端文件子单元)330中读取对应的信息。
下面通过另一实施例对本发明进行详细描述,该实施例结构如图12所示,包括远程服务器和客户端,所述客户端包括浏览器100,所述客户端还包括交互层单元200和核心处理单元300,所述交互层单元200包括:网络服务器子单元210、脚本引擎子单元220和分析子单元230;所述核心处理单元300包括:数据存储子单元330和客户端文件子单元370;所述分析子单元230用于判断浏览器100发送的请求信息是静态请求信息还是动态请求信息;所述网络服务器子单元210根据所述分析子单元230发来的静态请求信息,从客户端文件子单元370或者数据存储子单元330读出数据,并发送到浏览器100;所述网络服务器子单元210将从分析子单元230得到的动态请求信息发送给脚本引擎子单元220,所述脚本引擎子单元220对网络服务器子单元210传送的不同脚本程序请求进行编译和处理,并从客户端文件子单元370或者数据存储子单元330中读取对应的信息。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (16)
1.一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括用于发送操作请求和显示操作结果的显示操作单元,其特征在于,所述客户端还包括交互层单元和核心处理单元;
所述交互层单元,用于接收所述显示操作单元的操作请求,并将所述操作请求发送给所述核心处理单元,以及,接收所述核心处理单元的数据操作请求,根据所述数据操作请求将所述核心处理单元数据操作结果发送到所述显示操作单元;
所述核心处理单元,根据所述交互层单元发送的操作请求进行相应的数据操作,以及,保证本地数据与远程服务器同步更新;
所述交互层单元包括网络服务器子单元和脚本引擎子单元;
所述网络服务器子单元,用于根据所述显示操作单元的静态请求信息,从所述核心处理单元读出数据,并发送到显示操作单元;以及,将从显示操作单元得到的动态请求信息发送给脚本引擎子单元;
所述脚本引擎子单元,用于对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并调用所述核心处理单元的相应模块完成相应操作。
2.如权利要求1所述智能网框架装置,其特征在于,所述核心处理单元包括客户端文件子单元和信息更新子单元;
客户端文件子单元,用于在客户端存储静态数据和动态数据;
信息更新子单元,用于实现客户端文件子单元的数据与远程服务器数据的同步更新。
3.如权利要求1所述智能网框架装置,其特征在于,所述核心处理单元包括数据存储子单元,
所述网络服务器子单元根据所述显示操作单元的静态请求信息,从客户端数据存储子单元读出数据,并发送到显示操作单元;
所述网络服务器子单元将从显示操作单元得到的动态请求信息发送给所述脚本引擎子单元,所述脚本引擎子单元对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并从客户端数据存储子单元中读取对应的信息。
4.如权利要求1所述智能网框架装置,其特征在于,客户端利用XML WebServices技术实现客户端与远程服务器的同步。
5.如权利要求1所述智能网框架装置,其特征在于,核心处理单元还包括事务处理子单元,根据任务请求定时或不定时触发对应工作流程。
6.如权利要求1所述智能网框架装置,其特征在于,核心处理单元还包括插件管理子单元,所述插件管理子单元进一步包括:插件配置信息库和扩展接口库,所述插件配置信息库保存插件注册信息、系统信息和更新信息;所述扩展接口库为对外程序接口,实现插件的接入。
7.如权利要求1所述智能网框架装置,其特征在于,核心处理单元还包括网络传输子单元,使客户端和远程服务器连接,实现客户端与远程服务器数据通信,支持HTTP、HTTPS、FTP、SOAP、POP3、SMTP及IMAP协议。
8.如权利要求1所述智能网框架装置,其特征在于,核心处理单元还包括信息配置子单元,保存客户端配置信息。
9.如权利要求1所述智能网框架装置,其特征在于,智能网框架装置启动后,所述网络服务器子单元在后台工作,通过任意入口启动所述显示操作单元,并访问智能网框架装置的客户端主机及端口,网络服务器子单元接收到请求后,调用相关插件实现该插件相应的功能。
10.如权利要求9所述智能网框架装置,其特征在于,关闭浏览器后,网络服务器子单元继续工作,使预先设定的插件仍在后台运行。
11.如权利要求1所述智能网框架装置,其特征在于,所述网络服务器子单元支持HTTP、HTTPS标准协议,通过指定IP地址及端口进行监听服务,接受客户端主机直接访问及远程IP认证机制。
12.如权利要求1所述智能网框架装置,其特征在于,所述网络服务器子单元通过显示操作单元、对话框窗口或气泡窗口形式报告连接情况及服务器自身运行状态。
13.如权利要求1所述智能网框架装置,其特征在于,对HTML页面的访问,所述网络服务器子单元支持GET、HEAD及POST方法,分析并提取由这些方法传递的数据及页面链接信息。
14.如权利要求2所述智能网框架装置,其特征在于,所述客户端文件子单元为二级文件系统。
15.如权利要求1所述智能网框架装置,其特征在于,所述脚本引擎子单元包括:ASP解释器、PERL解释器、PHP解释器、RUBY解释器、PYTHON解释器或LUA解释器。
16.一种智能网框架装置,包括可以和远程服务器连接的客户端,所述客户端包括显示操作单元,其特征在于,所述客户端还包括交互层单元和核心处理单元,
所述交互层单元包括:网络服务器子单元、脚本引擎子单元和分析子单元;
所述核心处理单元包括:数据存储子单元或客户端文件子单元;
所述分析子单元用于判断显示操作单元发送的请求信息是静态请求信息还是动态请求信息;
所述网络服务器子单元根据所述分析子单元发来的静态请求信息,从数据存储子单元或客户端文件子单元读出数据,并发送到显示操作单元;
所述网络服务器子单元将从分析子单元得到的动态请求信息发送给脚本引擎子单元,所述脚本引擎子单元对网络服务器子单元传送的不同脚本程序请求进行编译和处理,并从客户端文件子单元或数据存储子单元中读取对应的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510102562 CN1741532B (zh) | 2005-09-12 | 2005-09-12 | 智能网框架装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510102562 CN1741532B (zh) | 2005-09-12 | 2005-09-12 | 智能网框架装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741532A CN1741532A (zh) | 2006-03-01 |
CN1741532B true CN1741532B (zh) | 2011-04-20 |
Family
ID=36093743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510102562 Expired - Fee Related CN1741532B (zh) | 2005-09-12 | 2005-09-12 | 智能网框架装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1741532B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008055378A1 (en) * | 2006-11-06 | 2008-05-15 | Intel Corporation | Method and apparatus for command synchronization |
CN102117201A (zh) * | 2009-12-31 | 2011-07-06 | Tcl集团股份有限公司 | 一种网络终端 |
CN101840415A (zh) * | 2010-03-15 | 2010-09-22 | 福建鑫诺通讯技术有限公司 | 一种在b/s架构下通过lua脚本控制本地资源的方法 |
WO2012087285A1 (en) * | 2010-12-20 | 2012-06-28 | Intel Corporation | Techniques for management and presentation of content |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理系统和方法 |
CN104065613B (zh) * | 2013-03-18 | 2017-11-21 | 中国移动通信集团内蒙古有限公司 | 一种应用的离线操作数据的同步方法、系统及装置 |
CN103259870B (zh) * | 2013-05-31 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 一种Web应用服务方法和系统 |
CN103268244B (zh) * | 2013-06-06 | 2017-12-26 | 北京奇虎科技有限公司 | 加载文件的方法及装置 |
CN105099555A (zh) * | 2015-09-15 | 2015-11-25 | 中国人民解放军信息工程大学 | 一种便携式光通信终端 |
CN111309574B (zh) * | 2020-02-17 | 2023-09-05 | 北京百度网讯科技有限公司 | 信息处理方法、装置及设备 |
-
2005
- 2005-09-12 CN CN 200510102562 patent/CN1741532B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
王介之,陈志刚.利用WEB服务实现智能客户端的应用.计算机技术与自动化.2005,第24卷(第1期),85-87. * |
Also Published As
Publication number | Publication date |
---|---|
CN1741532A (zh) | 2006-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1741532B (zh) | 智能网框架装置 | |
US7032011B2 (en) | Server based extraction, transfer, storage and processing of remote settings, files and data | |
CN101356522B (zh) | 终端用户对工作流进行动态重新定位的计算机实现的系统 | |
US7162543B2 (en) | Process for synchronizing data between remotely located devices and a central computer system | |
US7987459B2 (en) | Application programming interface for identifying, downloading and installing applicable software updates | |
US7379977B2 (en) | System and method for display of multiple electronic pages | |
US8055595B1 (en) | System and method for supporting the utilization of machine learning | |
CN100419684C (zh) | 为软件中的程序模块创建快捷方式及启动方法 | |
CN100547545C (zh) | 用于网络边缘计算的应用拆分的方法和系统 | |
CN104428734A (zh) | 输入法编辑器应用平台 | |
US20060218061A1 (en) | Integrated financial services platform | |
MXPA04008851A (es) | Interfase de programacion para una plataforma de computo. | |
JP2004005688A (ja) | コンピュータ・ネットワークに接続されたキオスク装置のためのサーバおよびサーバ動作方法 | |
US20060218228A1 (en) | Client platform architecture | |
US12021802B2 (en) | Chat bot control device, chat bot control method, and chat bot control device system | |
CN102135895A (zh) | 系统升级方法及系统 | |
CN102446094A (zh) | 用于有效地实现系统和桌面配置增强的装置和方法 | |
WO2003079144A2 (en) | System for standardizing updates of data on a plurality of electronic devices | |
Sheehan | Thin clients and network-centric computing | |
Redmond | Working with TeamLinks: Client-server Office Computing for Microsoft Windows | |
Tan | E-Community/Tan Samuel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20120912 |