首页> 中国专利> 用于WEB API通信的系统和方法

用于WEB API通信的系统和方法

摘要

提供了一种在设备之间进行通信的方法。所述方法包括:接收连接请求;响应于所述连接请求而建立连接;以及在所述连接上接收第一web API请求。所述方法进一步包括:响应于所述第一web API请求而执行第一程序;在所述连接上接收第二web API请求;以及响应于所述第二web API请求而执行所述第一程序或第二程序中的至少一项。

著录项

  • 公开/公告号CN112737895A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 法斯埃托股份有限公司;

    申请/专利号CN202110072530.7

  • 发明设计人 L·马尔帕斯;

    申请日2016-03-09

  • 分类号H04L12/26(20060101);H04L29/08(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人高见;侯颖媖

  • 地址 美国威斯康星州

  • 入库时间 2023-06-19 10:48:02

说明书

本申请是PCT国际申请号为PCT/US2016/021627、国际申请日为2016年3月9日、中国国家申请号为201680026247.8、题为“用于WEB API通信的系统和方法”的申请的分案申请。

相关申请的交叉引用

本申请要求题为“SYSTEMS AND METHODS FOR WEB API COMMUNICATION(用于WEBAPI通信的系统和方法)”并且于2015年3月11日提交的美国临时专利申请序列号62/131,619的优先权,所述美国临时专利申请通过引用以其全部内容结合在此。

技术领域

本公开总体上涉及使用web API来进行的通信,并且更具体地,涉及用于通过持续连接进行web API通信的系统和方法。如本文中使用的,短语“web API”是指可用于调用远程设备上的预定义程序集合的一系列URL(即,web地址)。

背景技术

设备之间的通信通常通过如互联网或局域网等网络执行。在设备上运行的应用还可以彼此通信。不同应用可以交互的一种方式是通过API。例如,web API可以使第三方应用能够与托管现有应用的数据的服务器通信。

web API可能需要应用打开或关闭针对发送至服务器的每个请求的连接。在这一方面,每个请求都是单一、分离且孤立的调用。与打开和关闭与每个请求的连接相关联的开销可能导致很差的应用性能。例如,对于运行第三方应用的客户端来说,在第三方应用与服务器之间的通信可能显得很慢。缓慢通信和/或长加载时间的出现可能疏远将以其他方式使用应用的消费者。

发明内容

一种在设备之间进行通信的方法包括以下步骤:接收连接请求;响应于所述连接请求而建立连接;以及在所述连接上接收第一web API请求。所述方法进一步包括以下步骤:响应于所述第一web API请求而执行第一程序;在所述连接上接收第二web API请求;以及响应于所述第二web API请求而执行所述第一程序或第二程序中的至少一项。

附图说明

当结合附图考虑时,可通过参考具体实施方式和权利要求书得到更完整的理解,其中,贯穿附图,相似参考编号指代类似元件,并且:

图1展示了根据本公开的各个实施例的用于实施具有持续连接的web API的系统的示意图;

图2展示了根据各个实施例的服务器与客户端建立连接并且使用持续连接在服务器与客户端之间传输web API请求和响应的过程;

图3展示了根据各个实施例的客户端与服务器建立连接并且使用持续连接在服务器与客户端之间传输web API请求和响应的过程;

图4展示了根据各个实施例的用于选择与服务器的持续连接的类型以便通过所述连接支持API的逻辑;并且

图5展示了根据各个实施例的在两个通信设备之间随着时间推移的API通信系统。

具体实施方式

本文中的示例性实施例的具体实施方式参考附图及图片,所述附图及图片通过图示的方式来显示各个实施例。尽管足够详细地描述了这些各个实施例以使本领域技术人员能够实践本公开,但应了解的是,可实现其他实施例,并且可在不脱离本公开的精神及范畴的情况下进行逻辑和机械改变。因此,本文中的具体实施方式仅为了说明性而非限制性目的进行呈现。例如,在方法或过程说明中的任一者中所阐述的步骤可以按照任何顺序执行并且不限于所示的顺序。此外,功能或步骤中的任一者可外包给一个或多个第三方或由一个或多个第三方执行。此外,对单数的任何提及都包括复数实施例,并且对多于一个部件的任何提及都可包括单数实施例。

提供了系统、方法和计算机程序产品。在本文中的具体实施方式中,提及“各个实施例”、“一个实施例”、“实施例”、“示例性实施例”等表明所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可无须包括所述特定特征、结构或特性。此外,这种短语无须指代相同实施例。进一步地,当关于实施例而描述了特定特征、结构或特性时,应当认为的是,无论是否进行了明确描述,结合其他实施例来实现这种特征、结构或特性都在本领域的技术人员的知识内。在阅读本说明书之后,(多个)相关领域中的技术人员将清楚如何在替代性实施例中实施本公开。

本文中公开了用于在电子通信设备之间进行通信的系统和方法。如本文中所使用,“通信设备”可以指能够与另一设备通信的任何设备。例如且不限于,通信设备可指智能手机、PDA、笔记本计算机、台式计算机、便携式电话、GPS设备、车用导航系统、无线印刷机或任何其他设备。

参照图1,展示了根据各个实施例的用于通过持续连接进行web应用编程接口(API)通信的系统100。系统100包括第一通信设备102。应用104在第一通信设备102上运行。系统100还包括第二通信设备108。第二通信设备108可以运行第二应用106。第一通信设备102和第二通信设备108可以经由网络110通信。应用104可以向第二应用106提供数据和/或使用由第二应用提供的数据。类似地,第二应用106可以向应用104提供数据和/或使用由所述应用提供的数据。在那一方面,应用104和第二应用106可以利用web API来彼此通信。

web API的程序可由通过网络110与第二通信设备108通信的第一通信设备102调用。例如,用于从第二通信设备108请求文件夹的程序可能看起来像http://fakeurl.com/api/getfolder。当第二通信设备108(例如,服务器)从第一通信设备102(例如,客户端)接收到请求时,所述通信设备可以通过向第一通信设备102提供预定格式(例如,JSON或XML)的请求数据(在这种情况下为文件夹信息)来进行响应。

在各个实施例中,应用104可以使用web API来与第二应用106对接。在第一通信设备102上运行的应用104可以通过网络110向在第二应用106上运行的第二通信设备108发送API请求。第二应用106可以接收并处理API请求。响应于接收到API请求,第二应用106可以执行与所接收到的特定API请求相对应的程序。

为了发送和接收API请求,如以下进一步详细地描述的,在第一通信设备102与第二通信设备108之间建立了连接。通过维持第一通信设备102与第二通信设备108之间的持续连接,系统100可以比针对每个API请求打开和关闭连接的系统更快速地完成API请求。

参照图2,展示了根据各个实施例的用于处理由第一通信设备102发送的并且由第二通信设备108接收的web API请求的过程200。在第一通信设备102上运行的应用104可以被编程用于向在第二通信设备108上运行的第二应用106提供数据或从其中获取数据。第二通信设备108可以从第一通信设备102接收连接(步骤202)。应用104可以是例如向充当服务器的第二通信设备108提交连接请求的web客户端。响应于接收到请求,第二通信设备108可以与第一通信设备102建立连接(步骤204)。一旦建立了连接,就可以无限期地维持所述连接。

在各个实施例中,第二通信设备108可以通过在发送数据的活动连接与已经空闲一段时间的活动连接之间进行上下文切换来维持超过在这种设备上通常固有的限制的多个活动连接。第二通信设备108可以将已经空闲的活动连接切换到数据存储系统中,比如,SQL数据库、数据库场、散列表或存储连接信息的任何其他装置。当接收到已经空闲的活动连接的信息并且所述信息处于存储状态时,活动连接可以切换出存储状态并切换到活动存储器中。

本文中讨论的任何数据库可以包括关系结构、层次结构、图形结构或面向对象的结构和/或任何其他数据库配置。可以用于实施数据库的常见数据库产品包括IBM(纽约州阿蒙克市)的DB2、可从甲骨文公司(Oracle Corporation)(加利福尼亚州红木岸)获得的各种数据库产品、微软公司(Microsoft Corporation)(华盛顿州雷德蒙德)的MicrosoftAccess或Microsoft SQL Server、MySQL公司(瑞典乌普萨拉)的MySQL或者任何其他适当的数据库产品。此外,可以以任何适当方式将数据库组织为例如数据表或查找表。每个记录可以是单个文件、一系列文件、一系列关联的数据字段或任何其他数据结构。对某些数据的关联可以通过任何期望的数据关联技术(比如,本领域中已知或实践的技术)来实现。例如,关联可以或者手动地或者自动地实现。自动关联技术可以包括例如数据库搜索、数据库合并、GREP、AGREP、SQL、使用表格中的关键字段来加速检索、整个表格及文件的顺序检索、根据已知顺序排序文件中的记录以简化查找等。关联步骤可通过数据库合并功能,例如在预选择数据库或数据分区中使用“关键字段”来完成。设想了各种数据库调整步骤以优化数据库性能。例如,频繁使用的文件(如索引)可以放在分开的文件系统上以降低输入/输出(“I/0”)瓶颈。

本领域技术人员还将认识到,出于安全原因,任何数据库、系统、设备、服务器或系统的其他部件可以由在其单一位置或多个位置的任何组合组成,其中,每个数据库或系统包括如防火墙、存取码、加密、解密、压缩、解压缩等的各种适当安全特征的任一种。

加密可以通过本领域的现有可用或可能变得可用的任何技术来进行,例如,Twofish、RSA、El Gamal、Schorr签字、DSA、PGP、PKI、GPG(GnuPG)以及对称及不对称密码系统。

在各个实施例中,第二通信设备108然后可以经由所建立的连接接收第一API请求(步骤206)。响应于接收到API请求,第二通信设备108经由所建立的连接向第一通信设备102返回数据(步骤208)。在返回数据之后,第二通信设备108可以维持所建立的与第一通信设备102的连接(步骤210)。可以使用以下参照图4进一步详细地讨论的各种方法来维持连接。

在各个实施例中,第二通信设备108可以经由所建立的连接接收第二web API请求(步骤212)。可以在第二通信设备108与第一通信设备102之间未建立附加连接的情况下接收第二web API请求。响应于接收到第二web API请求,第二通信设备108经由所建立的连接向第一通信设备102返回数据(步骤214)。

参照图3,展示了根据各个实施例的用于将API请求从第一通信设备102发送到第二通信设备108的过程300。在第一通信设备102上运行的应用104可以被编程用于通过向第二通信设备108发送API请求来向在第二通信设备108上运行的第二应用106提供数据或从其中获取数据。第一通信设备102可以向第二通信设备108发送连接请求(步骤302)。应用104可以是例如向充当服务器的第二通信设备108提交连接请求的web客户端。响应于接收到请求,第二通信设备108可以与第一通信设备102建立连接(步骤304)。然后,第二通信设备108可以经由所建立的连接发送第一API请求(步骤306)。响应于接收到API请求,第一通信设备102经由所建立的连接接收数据(步骤308)。在接收到数据之后,第一通信设备102可以维持所建立的与第二通信设备108的连接(步骤310)。可以使用以下参照图4和图5进一步详细地讨论的各种方法来维持连接。

在各个实施例中,第一通信设备102可以经由所建立的连接发送第二web API请求(步骤312)。可以在第一通信设备102与第二通信设备108之间未建立附加连接的情况下发送第二web API请求。响应于发送第二web API请求,第一通信设备102经由所建立的连接从第二通信设备108接收数据(步骤314)。

接收web API请求的方法(图2)和发送web API请求的方法(图3)可以例如用于为网站提供几乎瞬时的响应时间。在建立了第一通信设备102与第二通信设备108之间的连接之后,随后的web API调用不再强加建立连接的开销。因此,web API调用的结果以减少的等待时间执行。在那一方面,在许多实例中,对于用户来说,使用持续连接来进行的web API调用可能看起来是几乎瞬时的。

参照图4,示出了用于在图1的第一通信设备102与第二通信设备108之间建立持续连接的过程400。在与可以充当web客户端的第一通信设备102交互时,第二通信设备108可以充当服务器。第二通信设备108可以从第一通信设备102接收连接请求(步骤402)。响应于所述请求,第二通信设备108可以识别在正作出连接请求的第一通信设备102上运行的应用104(例如,浏览器)(步骤404)。第二通信设备108可以使用例如设备标识符、操作系统标识符和/或应用标识符来识别浏览器。浏览器标识符和设备标识符可以与连接请求一起提供。例如,第二通信设备108可以连同连接请求接收浏览器名称、浏览器版本、操作系统名称和操作版本。第二通信设备108还可以响应于接收到连接请求而根据第二通信设备108的配置请求浏览器名称、浏览器版本、操作系统名称和操作版本。

一旦第二通信设备108具有标识信息,第二通信设备108就可以检查标识信息以便确定要建立什么类型的连接。第二通信设备108可以从检查所识别的浏览器是否支持WebSocket连接开始(步骤406)。WebSocket是用于在第一通信设备102与第二通信设备108之间提供双向通信的协议。WebSocket连接可能仅与被编码用于处理WebSocket连接的现代浏览器兼容。尽管WebSocket提供针对持续连接的清晰的专用解决方案,但是许多正在使用的设备与WebSocket连接不兼容。因此,如果在第一通信设备102上运行的应用104与WebSocket连接兼容,则第二通信设备108将与第一通信设备102建立基于WebSocket的持续连接(步骤414)。如果在第一通信设备102上运行的应用104与WebSocket连接不兼容,则第二通信设备108可以检查其他兼容连接类型。

第二通信设备108还可以检查所识别的浏览器是否支持EventSource(即,服务器发送事件)连接(步骤408)。EventSource连接还使服务器能够向客户端推送通信,由此实现双向通信。EventSource连接可以与不同于WebSocket连接的一系列浏览器和设备兼容。因此,如果在第一通信设备102上运行的应用104与EventSource兼容,则第二通信设备108将与第一通信设备102建立基于EventSource的持续连接(步骤416)。如果在第一通信设备102上运行的应用104与EventSource连接不兼容,则第二通信设备108可以检查其他兼容连接类型。

然后,第二通信设备108可以检查所识别的浏览器是否支持永久框架(foreverframe)连接(步骤410)。永久框架连接是用于使服务器能够向客户端推送通信由此实现双向通信的另一种技术。永久框架连接可以通过在浏览器中建立隐藏的iframe元件以及在隐藏框架之内建立连接来建立。永久框架连接可以与不同于WebSocket和EventSource连接的一系列浏览器和设备兼容。因此,如果在第一通信设备102上运行的应用104与永久框架兼容,则第二通信设备108将与第一通信设备102建立基于永久框架的持续连接(步骤418)。如果在第一通信设备102上运行的应用104与永久框架连接不兼容,则第二通信设备108可以检查其他兼容连接类型。

在各个实施例中,可以将附加优选技术结合到检查中以便查看第二通信设备108将使用哪种连接技术来建立持续连接。为此,第二通信设备可以检查所识别的浏览器是否支持另一种优选连接技术(步骤412)。如果在第一通信设备102上运行的应用104与优选连接技术兼容,则第二通信设备108将使用优选技术与第一通信设备102建立持续连接(步骤420)。如果在第一通信设备102上运行的应用104与优选连接技术不兼容,则第二通信设备108可以使用默认连接。如图4中展示的默认连接包括建立基于长轮询的持续连接(步骤422)。

简要地参照图1,一旦在第一通信设备102与第二通信设备108之间建立了持续连接,应用104就可以通过网络110以减少的开销与第二应用106通信。参照图5,示出了使用分别在第一通信设备102和第二通信设备108上运行的应用104和第二应用106之间的持续连接的随着时间推移的API通信系统500。如所展示的,随着时间线T上的位置从左到右移动,时间线性地经过。应用104可以向第二应用106发送连接请求502。应用104和第二应用106可以在时间段P

在建立了连接之后,在第一通信设备102和第二通信设备108上运行的应用可以通过所建立的持续连接使用web API进行通信。应用104向第二应用106发送API请求506。第二应用106可以在本地执行与API请求506相对应的功能并且然后返回相应数据508。从发送API请求506到返回相应数据508的时间段P

然后,随着信息510变得可用,运行应用106的第二通信设备108可以通过所建立的持续连接向应用104推送信息510。例如,应用104可以是通过第二应用106发送和接收聊天消息的基于文本的聊天应用。信息510可以指示用户正键入针对应用104的聊天消息。第二应用106可以向应用104提供信息510,从而使得应用104可以显示用户正键入消息的指示符。在应用104不直接请求信息510的情况下,信息510传递到应用104。在那一方面,因为应用104可以仅在所建立的持续连接上进行侦听,而不是重复建立用于请求信息510的新连接(每次都引起连接开销时间段P

然后,应用104可以使用具有所建立的持续连接的API通信系统500向第二应用106发送第二API请求512。应用104可以在不建立新连接的情况下(并且在不引起用于建立连接的开销时间段P

在各个实施例中,本文中所描述的方法是使用本文中所描述的各种特定机器来实施的。如本领域技术人员将立即认识到的,本文中所描述的方法可以使用以下特定机器以及以任何适当组合的往后发展的机器来实施。此外,如从本公开所明确的,本文中所描述的方法可以导致某些项目的各种转变。

为简洁起见,本文可能不详细描述传统数据网络、应用开发和系统的其他功能方面(及系统的单独操作部件中的部件)。此外,本文中所包含的各种附图中所示的连接线旨在表示各种元件之间的示例性功能关系和/或物理耦合。应当指出的是,可以在实用系统中存在许多替代性或附加功能关系或物理连接。

本文中所讨论的各种系统部件可以包括以下各项中的一项或多项:主机服务器或其他计算系统,包括用于处理数字数据的处理器;耦合至处理器以用于存储数字数据的存储器;耦合至处理器以用于输入数字数据的输入数字转换器;存储在存储器中且可被处理器访问以用于指示通过处理器处理数字数据的应用程序;耦合至处理器和存储器以用于显示自处理器所处理的数字数据得到的信息的显示设备;以及多个数据库。本文中使用的各种数据库可包括:连接数据和/或在系统的操作中有用的类似数据。如本领域技术人员将认识到的,用户计算机可以包括操作系统(例如,Windows NT、Windows 95/98/2000、WindowsXP、Windows Vista、Windows7、windows 8、0S2、UNIX、Linux、Solaris、MacOS等)以及通常关联于计算机的各种传统支持软件和驱动程序。

本系统或其任何(多个)部件或(多个)功能可以使用硬件、软件或其组合来实施并且可以在一个或多个计算机系统或其他处理系统中实施。然而,实施例执行的操纵常常在如匹配或选择等术语中提及,所述术语通常关联于由人类操作员执行的智力操作。在本文中所描述的任何操作中,在多数情况下人类操作员的这种能力是非必要的或期望的。相反,操作可以是机器操作。用于执行各个实施例的有用机器包括通用数字计算机或类似设备。

事实上,在各个实施例中,实施例是针对能够实现本文中所描述的功能的一个或多个计算机系统。计算机系统包括一个或多个处理器。处理器连接至通信基础设施(例如,通信总线、交叉条或网络)。就此示例性计算机系统来描述各个软件实施例。在阅读此说明书之后,(多个)相关领域的技术人员将明显了解如何使用其他计算机系统和/或架构来实施各个实施例。计算机系统可以包括显示接口,其从通信基础设施(或从未示出的帧缓冲器)转发图形、文字及其他数据以用于在显示单元上显示。

计算机系统还包括主存储器,如例如随机存取存储器(RAM),并且还可以包括辅助存储器。辅助存储器可以包括例如硬盘驱动器和/或可移除存储驱动器,表示软盘驱动器、磁带驱动器、光盘驱动器等。可移除存储驱动器以众所周知的方式从可移除存储单元读取和/或写入可移动存储单元。可移除存储单元表示软盘、磁带、光盘等,其被可移除存储驱动器读取并且被可移动存储驱动器所写入。如将认识到的,可移除存储单元包括其中已存储计算机软件和/或数据的计算机可用存储介质。

在各个实施例中,辅助存储器可以包括允许计算机程序或其他指令被载入计算机系统中的其他类似设备。这种设备可以包括例如可移除存储单元及接口。这种示例可以包括程序卡盒及卡盒式接口(如在音频游戏设备中发现的那些)、可移除存储器芯片(如可擦除可编程只读存储器(EPROM)、或可编程只读存储器(PROM))及相关联套接口以及其他可移除存储单元及接口,其允许将软件和数据从可移除存储器单元传送至计算机系统。

计算机系统还可以包括通信接口。通信接口允许软件和数据在计算机系统与外部设备之间传送。通信接口的示例可包括调制解调器、网络接口(如以太网卡)、通信端口、个人计算机存储卡国际协会(PCMCTA)槽及卡等。通过通信接口传输的软件和数据可以为电子、电磁、光学或能够被通信接口接收的其他信号的信号形式。这些信号通过通信路径(例如,信道)被提供至通信接口。此信道传送信号且可使用电线、电缆、光纤、电话线、蜂窝链路、视频(RF)链路、无线及其他通信信道来实施。

术语“计算机程序介质”和“计算机可用介质”通常用来指如可移除存储驱动器及安装在硬盘驱动器中的硬盘等介质。这些计算机程序产品为计算机系统提供软件。

计算机程序(还称为计算机控制逻辑)被存储在主存储器和/或辅助存储器中。还可以经由通信接口接收计算机程序。这种计算机程序当被执行时使计算机系统能够执行如本文中所讨论的特征。具体地,计算机程序当被执行时使处理器能够执行各个实施例的特征。因此,这种计算机程序表示计算机系统的控制器。

在各个实施例中,软件可以被存储在计算机程序产品中并且使用可移除存储驱动器、硬盘驱动器或通信接口被载入计算机系统中。控制逻辑(软件)当被处理器执行时使处理器执行如本文中所描述的各个实施例的功能。在各个实施例中,如专用集成电路(ASIC)等硬件部件。(多个)相关领域的技术人员将明显了解对硬件状态机器的实施以便执行本文中所描述的功能。

在各个实施例中,服务器可以包括应用服务器(例如,WEB SPHERE、WEB LOGIC、JBOSS)。在各个实施例中,服务器可以包括网络服务器(例如,APACHE、IIS、GWS、SUN JAVASYSTEM WEB SERVER)。

如本领域技术人员将认识到的,设备可以包括但不限于操作系统以及通常关联于计算机的各种传统支持软件和驱动程序。设备可以包括但不限于任何适当的个人计算机、网络计算机、工作站、个人数字助理、蜂窝电话、智能电话、微型计算机、主机等。设备可以在家中或可接入网络的商业环境中。在各个实施例中,通过网络或通过商业上可获得网络浏览器软件包的互联网进行访问。设备可以实施如安全套接层(SSL)和传输层安全(TLS)等安全协议。设备可以实施包括http、https、ftp和sftp的多个应用层协议。

在各个实施例中,系统100的部件、模块和/或引擎可以实施成微应用或微应用(micro-app)。微应用通常布置在移动操作系统(包括例如Palm移动操作系统、windows移动操作系统、Android移动操作系统、Apple iOS、Rlackberry操作系统等)的情境中。微应用可以被配置成经由管理各种操作系统和硬件资源的操作的一组预定规则来控制较大操作系统和相关硬件的资源。例如,在微应用想要与设备或除了移动设备或移动操作系统之外的网络通信时,微应用可以在移动操作系统的预定规则下控制操作系统的通信协议及关联设备硬件。此外,在微应用需要来自用户的输入时,微应用可以被配置用于从操作系统请求响应,所述操作系统监控各种硬件部件,并且然后将来自硬件的检测输入传达至微应用。

“云”或“云计算”包括使得方便、按需网络能访问可配置计算资源(例如,网络、服务器、存储设备、应用和服务)的共享池成为可能的模型,可配置计算资源能以最小管理程度或服务提供商交互被快速供应及释放。云计算可以包括位置不相关计算,由此,共享服务器需求时即提供资源、软件及数据至计算机和其他设备。针对关于云计算的更多信息,参见在http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc(上一次访问于2011年2月4日)的云计算的NIST(国家标准与技术研究院)的定义,其通过引用以其全部内容结合在此。

如本文中所使用的,“传输”可以包括将电子数据从一个系统部件发送至另一个系统部件。此外,如本文中所使用的,“数据”可以包括如以数字或任何其他形式的命令、询问、文件、用于存储器的数据等的涵盖信息。

系统考虑了与网络服务、公用计算、普遍及个人计算、安全及身份解决方案、自治计算、云计算、商品计算、移动及无线解决方案、开放原始码、生物辨识系统、网格计算和/或网目计算相关联的使用。

本文中所讨论的计算机可以提供适当网站或可被用户访问的其他基于互联网的图形用户接口。在各个实施例中,微软互联网信息服务器(IIS)、微软交易服务器(MTS),以及微软SQL服务器连同微软操作系统、微软NT网络服务器软件、微软SQL服务器数据库系统以及微软商业服务器一起使用。此外,如Access或微软SQL服务器、Oracle、Sybase、Informix MySQL、Interbase等的部件可用于提供激活数据对象(ADO)服从的数据库管理系统。在各个实施例中,结合Linux操作系统、MySQL数据库和Perl、PHP和/或Python编程语言使用Apache网络服务器。

可以通过具有网页的网站来促进本文中所描述的通信、输入、存储设备、数据库或显示器中的任一种。如在本文中所使用的术语“网页”并不意味着限定可能用来与用户交互的文件和应用的类型。例如,除了标准HTML文件外,典型网站可以包括各种形式、JAVA小程序、JavaScript、动态服务器网页(ASP)、共同网关接口描述语言(CGI)、可扩展标记语言(XML)、动态HTML、级联样式表(CSS)、AJAX(非同步Javascript和XML)、帮助应用、插件等。服务器可以包括从网络服务器处接收请求的网络服务,所述请求包括URL(http://yahoo.com/stockquotes/ge)和IP地址(123.56.789.234)。网络服务器检索适当网络网页并且将用于网页的数据或应用发送至IP地址。网络服务是能够通过通信手段(如互联网)与其他应用交互的应用。网络服务通常基于如XML、SOAP、AJAX、WSDL及UDDI等标准或协议。网络服务方法在本领域中是众所周知的,并且被涵盖在许多标准文字中。参见例如ALEXNGHIEMIT的IT WEB SERVICES:A ROADMAP FOR THE ENTERPRISE(2003),其通过引用结合在此。

从业者还将认识到,存在许多用于显示在基于浏览器的文件内的数据的方法。数据可以表示为标准文字或在固定列表、可卷动列表、下拉式列表、可编辑文字字段、固定文字字段、弹出窗口等内。同样地,存在许多可用于修改在网页中的数据的方法,例如使用键盘的自由文字键入、选择菜单项、检查框、选项框等。

本文可在功能框部件、屏幕截图、可选及各种处理步骤方面描述系统和方法。应认识到,这种功能框可以由被配置用于进行特定功能的任何数量的硬件和/或软件部件来实现。例如,系统可以采用各种集成电路部件(例如,存储器元件、处理元件、逻辑元件和查找表等),所述各种集成电路部件可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。同样地,系统的软件元件可以采用任何编程语言或脚本语言来实施,如C、C++、C#、Java、JavaScript、VBScript、Macromedia Cold Fusion、COBOL、微软动态服务器网页、组装、PERL、PHP、awk、Python、Visual Basic、SQL存储过程、PL/SQL、任何UNIX shell脚本语言及具有以数据结构、对象、进程、常规或其他编程元件的任何组合实现的各种演算法的可扩展标记语言(XML)。此外,应指出的是,系统可以采用任何数量的常规技术用于数据传输、发信号、数据处理、网络控制等。仍进一步地,可以利用客户端脚本语言(如JavaScript、VBScript等)来使用系统检测或防止安全问题。对于密码学和网络安全的基本介绍,参见下列参考文件中的任何一项:(1)由John Wiley&Sons(约翰威立国际出版公司)出版的BruceSchneier(布鲁斯·施奈尔)的“Applied Cryptography:Protocols,Algorithms,AndSource Code In C(应用密码学:协议、算法与C源程序)”(第二版,1995);(2)由O’Reilly&Associates(奥赖利联合公司)出版的Jonathan Knudson(乔纳森·纳德森)的“JavaCryptography(Java密码学)”(1998);(3)由Prentice Hall(普林蒂斯霍尔出版公司)出版的William Stallings(威廉斯托林斯)的“Cryptography&Network Security:Principles&Practice(密码编码学与网络安全:原理与实践)”;所有所述文献都通过引用结合在此。

本领域的普通技术人员将认识到,系统可以具体化为现有系统的订制、附加产品、执行已升级的软件的处理装置、独立系统、分布式系统、方法、数据处理系统、用于数据处理的设备和/或计算机程序产品。因此,系统或模块的任何部分都可以采用执行代码的处理装置、基于互联网的实施例、全部硬件实施例,或结合互联网、软件及硬件的方面的实施例的形式。此外,系统可以采用在计算机可读存储介质上的计算机程序产品的形式,所述计算机程序产品具有在存储介质中具体化的计算机可读程序代码装置。可以利用任何适当计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁性存储设备、固态存储设备等。

参照根据各个实施例的方法、装置(例如系统)和计算机程序产品的屏幕截图、框图及流程图说明,来描述本文的系统和方法。将理解的是,框图和流程图说明的每个功能框以及框图中的功能框和流程图说明的组合可以分别通过计算机程序指令来实施。

这些计算机程序指令可以加载到通用计算机、专用计算机或其他可编程数据处理装置上,以制造机器,从而使得在计算机或其他可编程数据处理设备上执行的指令创建用于实现一个或多个流程框内指定的功能的装置。还可以将这些计算机程序指令存储在计算机可读存储器之中,其可以指引计算机或其他可编程数据处理装置来以特定方式运行,从而使得存储在计算机可读存储器之中的指令产生包括实施在流程框之中指定的功能的指令装置的制品。还可以将计算机程序指令加载到计算机或其他可编程数据处理装置上,使得一系列操作步骤在计算机或其他可编程装置上执行,以产生计算机实施的过程,从而使得在计算机或其他可编程装置上执行的指令提供用于实施在流程框中指定的功能的步骤。

因此,框图和流程图图示中的功能块支持:用于执行指定功能的装置的组合、用于执行指定功能的步骤以及用于执行指定功能的程序指令装置的组合。还应当理解,框图和流程图图示中的每个功能块,和框图和流程图图示中的功能块的组合可以通过或者执行指定功能或步骤的基于专用硬件的计算机系统、或者专用硬件和计算机指令的合适组合来实施。此外,流程的图示及其说明可以涉及用户窗口、网页、网站、网络窗体、提示等。从业者将认识到,本文所描述的图示步骤可以包括任何数量的配置,包括使用窗口、网页、网络窗体、弹出窗口、提示等。应进一步认识到的是,如所图示及所描述的多个步骤可以结合在单一网页和/或窗口中,但为了简明易懂而已被展开。在其他情况下,所图示及所描述为单一过程步骤的步骤可以分成多个网页和/或窗口,但为了简明易懂而被结合。

术语“非瞬态”就其权利要求范围而言被理解为只移除传播瞬态信号且不放弃对所有不仅只传播瞬态信号的标准计算机可读介质的权利。另一方式而言,术语“非瞬态计算机可读介质”和“非瞬态计算机可读存储介质”的意思应被理解为只排除在In Re Nuijten中发现的瞬态计算机可读介质的那些类型以免落在35U.S.C.§101下的可专利主题的范围之外。

本文中已描述关于特定实施例的益处、其他优点及对问题解决方案。然而,益处、优点、问题解决方案以及可能导致任何益处、优点或解决方案发生或变得更显著的任何元件不被理解为本公开的重要、必须或必要特征或元件。以单数形式引用元件并不意在指“有且仅有一个”,而是指“一个或多个”,除非特别如此声明。此外,在对于权利要求书或说明书中使用类似于“A、B和C中的至少一者”或“A、B或C中的至少一者”的短语,旨在解释此短语表示实施例中可以只出现A、实施例中可以只出现B、实施例中可以只出现C或单一实施例中可以出现元件A、B和C的任何组合;例如,A和B、A和C、B和C、或A和B和C。

虽然本公开包括一种方法,但考虑可能被具体化为在有形计算机可读载体(如磁性或光学存储器或磁性或光盘)上的计算机程序指令。对以上描述的示例性实施例的元件的所有结构上,化学上,以及功能上的对本领域普通技术人员而言已知的等效物明确地通过参考结合于本文中,且亦应当被本权利要求书所包含。而且,设备或方法没有必要针对本公开寻求解决的每一个问题,因为它应当被本权利要求书所包含。此外,本公开中的元件、部件或方法步骤并非意图专属于公众,不管所述元件、部件或方法步骤是否在权利要求书中明确引述。除非使用短语“用于...的装置”明确阐述元件,否则根据35U.S.C.1 112(f)的规定并不构造本文中要求保护的元件。如本文中所使用的,术语“包括(comprises)”、“包括(comprising)”或任何其他变体旨在覆盖非排他性包括,从而使得包括一系列元件的方法、物品、或装置不仅仅包括那些元件并且可以包括其他未清楚地列出或这种过程、方法、物品、或装置固有的元件。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号