CN104321743B - 用于开发在通信网络上查询内容和服务的应用程序的方法和*** - Google Patents
用于开发在通信网络上查询内容和服务的应用程序的方法和*** Download PDFInfo
- Publication number
- CN104321743B CN104321743B CN201380027188.2A CN201380027188A CN104321743B CN 104321743 B CN104321743 B CN 104321743B CN 201380027188 A CN201380027188 A CN 201380027188A CN 104321743 B CN104321743 B CN 104321743B
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- metadata
- user
- program
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于在一台装配有显示屏的装置上开发一种应用程序的方法,该应用程序用于通过浏览网页从一个由用户操作并且连接到一台应用服务器上的电脑来查询内容和服务,包括对于网络点击流期间网络上信息和/或内容用户的选择的响应,捕捉包括数据描述和位置信息在内并且与所选择的信息和/或内容相对应的元数据,并且记录所述元数据,而且将元数据集合成应用程序的数据结构,一个能够根据元数据从网络上提取信息和/或内容的软件代理,并且展示从网络上提取的信息和/或内容的数据。
Description
本发明涉及用于访问位于一个或多个通信网络上的内容和服务的个人应用程序的领域。尤其涉及用于创建,开发,修改,分配,安装,分享,并利用在一台或多台连接在通信网络例如私有或开放的互联网或内联网上的一个或多个定制程序或应用程序的方法和***,为了根据针对每个用户的选择和展示标准适用或访问信息和/或服务。为了简化讨论,下面仅使用术语“因特网”和“网络”,但是本发明同样适用于并且不限于专用网络和内联网。
当前有各种各样的装置使用户能够利用因特网上的信息和服务:个人电脑(笔记本电脑和台式机),终端机,平板电脑或电子阅读器(带有触摸屏),移动触摸屏(高端电话或手持设备或个人数码助手),通过移动网络运营商的网络或者通过无线接入,某种电话和可视电话,电视机顶盒以及电视和车载计算机连接到因特网上。
此处并未详尽记录,而且也提供了可能也作为新的通讯服务和装置附加到其上的其他装置。这些包括以所谓的“机器对机器”架构连接的对象。
用于访问信息并且出现在大多数这些装置上的最常用工具是浏览器,结合了大量用于翻译提供在被访问的网站上的几乎所有功能和服务,例如HTML,Java,Flash等等。除了通常致力于一种服务的浏览器之外,也能够安装应用程序,能够为装置提供一种更适合的界面,同时允许访问网络上的信息。一些甚至包括一种浏览窗口,用于当用户选择以非应用程序提供的数据为方向时。因此,我们看到以上两种访问模式的逐次聚焦。
在因特网上有大量可用信息。为了促进信息的搜索,通常有常用搜索引擎(例如人们熟知的谷歌,雅虎,百度等等)或者垂直搜索引擎(目录,活动中的比较器例如房产中介,旅游业,雇佣,汽车,爱好,游戏)。
用户需求通常涉及搜索有关产品或服务的信息或内容,产品或服务(特点,价格,消费者评论)的比较以及有关文档或文献,即时新闻,网上购物等的搜索。此处不能尽录。
用户习惯于首先花费时间在需要表达他们的需求的检索会话中,这可以是不精确的而且非常困难,然后花时间在访问会话中,在此用户可能想保存信息供今后使用。如果遇到这种情况,该信息通常通过复制和粘贴被找回而且如果想要日后恢复,通常储存在必须有组织的文件和文件夹中。然而,该信息很快就会过时而且必须进行更新。
上述“一般检索”浏览器具有让用户搜索其感兴趣的信息来源的优点,以便用户决定反复再访问这些来源时对其进行管理(利用书签),而有时候以便用户下载或多或少有效量的信息(整个页面),即使用户仅对一小部分信息有兴趣。例如对于多个供应商,房地产列表等之间产品和服务的比较来说是这种情况。
也有为网站(称为“服务器应用程序”)开发的应用程序,利用bot程序从多个源(即时新闻,工作公告,比较器等)收集和聚合信息,以便将它们作为一正常页呈现在浏览器上。这些应用程序需要专门从事服务器位置工具和应用程序设计接口(API)的开发商的专门技术。这些技能不是任何使用者可以掌握的。
最后,也有专门为装置开发的应用程序,利用硬件和操作***的具体特点。这些程序通常更有效率。然而,它们也需要开发商技能以及强大复杂的开发和分配工具来对其进行创建。一些应用程序与浏览器(搜集库存信息,天气,待售的二手货,待售或出租的房产等)相比可以以更有用的方式处理网络上信息的收集和显示。然而,类似于服务器应用程序,这些是为一项特别服务而开发,需要特殊技能,包括应用程序设计接口(API)的知识,而且常常只是服务网页的加强版,从而将信息从竞争***中排除。它们也不是任何使用者可以掌握的。
这些应用程序经常不符合用户的实际需求。他们的界面是由服务和开发商强加的,并没有考虑用户的个人爱好。用户也想对不同服务的信息进行比较,这很少以令人满意的方式编址。理想上,每个用户将能够在需要时实施他自己的应用程序。但是如上面所看到的那样,这种开发需要大量时间,专业技能和开发商经验。
本发明力图通过以简单实用的方式使网络(或内联网)的所有用户,不管他们是否是专家,都能够以适合他们的方式访问和使用其感兴趣的数据和服务来克服这些劣势。
本发明的一个目的是使每个没有特殊开发商技能的用户都能够根据他的需求和他的信息显示与选择标准,在其任何可用的装置上(电脑,手机,平板电脑,电视等)创建其自己的应用程序以简易地访问网络。
本发明的另一个目的是使每个用户能够根据他的经验和他的变化需求修改,改进他自己的应用程序。
本发明的另一个目的是使用户能够共享其他用户制作的应用程序或部分应用程序,而且特别是重复使用一个现存的应用程序而无需创建,并且能对其进行修改,按照期望对其提升,或者根据预先确定的接入和授权规则整合一个由另一个用户创建的模块。
为此,根据本发明的第一方面,提出了一种方法,用于在一个设有显示屏的装置上开发一种应用程序,用于通过浏览网页从一个由用户操作并且连接到一个应用程序服务器上的电脑中访问可访问的内容和服务。提出的方法包括:对于网络点击流期间网络上信息和/或内容用户的选择的响应,采集包括数据描述和位置信息在内并且与所选择的信息和/或内容相对应的元数据,并且记录所述元数据,并且在应用程序数据结构中组合元数据,一个能够根据元数据从网络上提取信息和/或内容的软件代理,并且展示从网络上提取的信息和/或内容的数据。
元数据在此可以理解为需要在网页或在相似结构的另一个页码中找到数据的一套标准,通常通过代理或bot程序。
在一些实施例中,用于开发应用程序的方法进一步包括记录用户的一个网络点击流,软件代理适于复制记录的点击流。
在一些实施例中,用于开发应用程序的方法进一步包括从大量演示模板文稿中选择一个设计用于显示从网络上提取的信息和/或内容的应用程序框架,在应用程序在其上执行的装置的显示屏上,应用程序的数据结构包括所选择的应用程序框架。
在一些实施例中,用于开发自定义应用程序的方法进一步包括:在电脑上运行一应用执行程序,在电脑上运行的应用执行程序与应用程序服务器之间建立连接,运行储存在应用程序数据结构中的软件代理,以便在其点击流期间根据应用程序元数据提取用户选择的信息和/或内容,根据与软件代理提取的应用程序信息和/或内容相关的展示数据进行调试,并且在电脑显示屏上显示已调适的信息和/或内容。
根据另一方面,本发明提出一种应用程序开发***,包括一台由一个处理器和一个与处理器偶合的存储器构成的电脑,和一个与一应用程序数据库偶合的记录服务器,其中存储器存储一组软件,包括网络浏览器和浏览器的特别开发插件程序,用于开发一个计划在一配备有显示屏的装置上运行的应用程序,其中浏览器的特别开发插件程序包括执行指令:(i)元数据的采集和向记录存储器的传输,以响应用户在网络点击流期间对于网络上信息和/或内容的选择,包括数据描述和位置信息并且与所选择的信息和/或内容相对应,其中配置记录服务器以执行由指令构成的软件,包括在应用程序开发会话中,用于接收和记录与所选择的信息和/或内容相对应的元数据的指令,生成一个能够从网络上根据元数据提取信息和/或内容的软件代理,为从网络上提取的信息和/或内容接收和记录展示数据,并且将元数据、软件代理和展示数据组合并保存在应用程序数据结构中。
在应用程序开发***的一个特别实施例中,为浏览器的特别开发插件程序进一步包括将来自与用户点击流相应的浏览器的导航请求和响应重新导向到记录服务器的指令,并且其中记录服务器的软件进一步包括记录网络上用户点击流的指令。
在应用程序开发***的特别实施例中,记录服务器的软件进一步包括捕获与用户在所访问地址的相同页码上以及该地址的其他页面上所选择的数据相同或相似类型的数据相一致的元数据。
用户因此可以仅仅从一小部分选择中有利地以非常简单的形式构造一个非常完整的应用程序。
在应用程序开发***的一个特殊实施例中,记录服务器的软件进一步包括在用户之间共享元数据和/或一些或所有应用程序数据库的指令,以使用户能够共享应用程序以便创建/修改应用程序。
这样,根据本发明的特殊实施例,共享装置与应用程序数据库相结合以便能够在这种共享被许可时共享一些或所有应用程序。从中得益的用户可以有利地修改一些或者所有应用程序以供自己使用。他们也可以修改提供给他们的标准应用程序模板以便使这些模板适应他们自己的特殊要求。也可以通过结合多个用户的应用程序来构造复杂的应用程序。
利用这些方案,元数据和类似结构的共享能够使应用程序轻松得到改进和提高。
在用应用程序开发***的一个特殊实施例中,浏览器的特别开发插件程序由一个模块构成,该模块用于在管理应用程序元数据的软件代理的不同类型与设置在应用程序目标装置上的用于采集和绘制的各种接口技术之间的界面连接。
在应用程序开发***的一个特殊实施例中,包括浏览器和浏览器的特别开发插件程序的一套软件是一个综合的开发应用程序。
在一个特殊实施例中,应用程序开发***进一步包括一个用户订阅服务器,用户和用户空间的数据库以及根据相关权利用户之间共享应用程序的方法。
在一个特殊实施例中,应用程序开发***进一步包括一种用于搜索元数据语义类比的方法以便在应用程序创建或修改期间增大自动提取。
本发明的其他特点,目标和优势可以从以下说明中得出结论,纯粹用于说明并且不限于此,根据附图,其中
图1描述了本发明的一个第一操作模式,用于用户创建应用程序,
图2描述了本发明的一个第二操作模式,用于现有应用程序的修改,
图3显示了用于实施本发明的装置的总体结构,
图4显示了应用程序记录方法的步骤,
图5显示了应用程序记录的结构,
图6显示了应用程序记录服务器的实施例,
图7显示了浏览器插件程序的实施例,
图8显示了根据本发明用于记录,分配和共享应用程序的***的实施例。
为了更好地理解以下说明,首先界定一下某些技术术语:
-装置:这些是与或可以与网络(因特网或内联网)连接并且能够执行至少一个应用程序的装置,例如:台式机,笔记本,平板电脑,电子阅读器(专门用于阅读电子书的平板电脑),带有屏幕的移动电话(被称为智能手机),java电话(带有基于Java的操作***的电话),电视或数字电视的机顶盒,机载计算机(汽车上,自行车上,行人身上)。此处不能尽录,因为在不远的将来可能还存在其他装置。每个用户可以拥有一台或更多装置。这些装置的一个共同但非限定性特点是他们都包含:一种或多种互动的手段,例如屏幕,键盘,鼠标,语音命令或扬声器,或者触摸表面;一个中央处理机;以及一个操作***。用于显示和互动的手段可能通过一条远程通信链路远程设置在其他装置上。他们能够接受应用程序,或者被下载或预装(在交付给用户之前)。该列表也可能扩展至用于更特殊用途(安全监控,天气,可编程自动化等)的家庭自动化***上以及属于部分分散式“机器对机器”类型结构的机器上。
-应用程序,浏览器:应用程序(用于软件)是用户启动的程序。在网络上用于获取信息的最常见应用程序是浏览器,被广泛用于提供实际上各种类型信息的访问。通常由插件程序实施以执行非原始提供的一个或多个工作或功能。
也有许多应用程序,专门用于专门为此开发的一种信息(股票价格,电影排期,网上商店,机票/火车票/出租车预定等)。
有各种技术来执行这些应用程序:独立运行在装置上的本地应用程序,以及运行在一个网络上的服务器端并且通过浏览器可以访问装置的在线应用程序。
本发明涉及一种新型应用程序,即混合应用程序,包括一个在装置上运行的被称为“执行程序”的常驻内存部分,以及一个在服务器端上在线运行的远程部分;两个部分通过远程通信网络配合,特别是以便第一部分(执行程序)显示第二部分发送的数据以回应用户操作。
-元数据:描述一种资源的具有结构的组信息。一个网页由生动显示在标准化部件中的结构化数据构成。元数据不是数据,而是用于识别和说明网络信息,更一般地说是任何信息资源和包括互动元素(输入框,列表,表格,对话框,按键,链接等)在内的各种类型元素(文本,图像,视频,声音)的数据或标准的说明。他们有助于标记这些资源并且使资源之间有更好的互操作性,这些资源包括(此处并未尽录):
-内容:标题,主题,说明,来源,语言,关系,覆盖范围。
-知识产权:创建者,出版者,贡献者,权利(版权...)。
-实施:日期,类型,格式,标识符。
这些数据是动态的,意味着他们可以随时间而改变,同时元数据保持不变。还需要注意的是在不同地址访问的两个网页可能具有相同结构的数据但是含有不同的值。因此元数据不含值,而是含有利用bot程序和自动化代理来访问这些值的手段,这些元数据是为bot程序和自动化代理创建和记录的。元数据在语义网上完全发挥了其潜力。后者基于普通网络标准(HTTP协议,URI,XML)和针对语义网的标准(资源描述框架(RDF)),μ格式:该参考框架包括图标模板,用于说明网络资源和他们的元数据,以使这种说明能够自动进行)。
-记录:一个文件或数据库的元素。在本说明中,一条记录包括一个或多个代理,bot程序和元数据。
-代理(软件)和bot程序:在电脑方面,代理是同自动控制装置等同的软件。是一个根据其被要求执行的程序执行自动化任务且类似于一个可编程逻辑控制器的程序。传统上,一个代理控制一个或多个bot程序,bot程序执行基本任务。Bot程序使用元数据访问数据。
在网络语境中,智能代理与语义网关联,在语义网上,他们被用于代替人类执行搜索和搜索结果之间的相关性。这根据预定的规则执行。他们有一定程度的自主性,特别是在他们自己内部通信方面。
-代理,代理服务器:这是一个位于两个组件之间的组件,用以促进或监控他们之间的交换。代理服务器的建立为了确保本发明所述的应用程序的操作。术语“服务器”与所有集中式或分布式结构有关,包括“点对点”结构。代理服务器特别应用于以下功能:
-加速浏览:高速缓存,数据压缩,内容过滤;
-登录搜索和记录响应;
-本地网络安全,过滤和匿名。
以上定义仅供参考并,且并非限于此。
图1描述了用于阐明普通用户在创建简单应用程序过程中本发明目的的第一简化操作模式。
为了更容易理解本发明,以用户角度对该使用场景的描述能显现出本发明目所述的基本原则。这使有关图3的***的结构和组件的理解更加容易,详情如下。
用户想创建一个迷你应用程序用在一个或多个装置上(计算机,平板电脑,电话,个人数字助理或电视)以便开发信息的一个特殊区域(在这种情况下市场上可买到的摄像机,例如为购买做准备)。这涉及装置的目录,包括表单,每个表单都显示产品照片,其价格,特点,用户点评以及一个搜索工具。也可以包括对比和各自批发商地址的链接,但是在此未显示。
为了达到这个目的,用户在其个人电脑上开启浏览器,显示一第一标准窗口1,在窗口上用户可以看到他之前搜索的一页3网站,例如通过一个已知搜索引擎。
为了创建该迷你应用程序,浏览器有增强功能的默认自带的插件程序。假定该插件程序已经被预安装,例如在注册的时候,应用程序创建服务器端说明如下,应用程序需要运行该插件程序。在用户注册之后,像任何其他应用程序下载一样,所述网站提供该插件程序的下载和安装。
浏览器和插件程序的结合可以被一个事先结合了这两个特点的应用程序所代替,例如在计算机预装入该应用程序的时候。
还应该注意的是使用一个平板电脑或任何其他相等装置来代替计算机是可以的,只要它具有相等功能,即使是以其他形式(例如,触摸屏可以等同于鼠标)。
该插件程序引入的一个关键改变是通过应用程序服务器端重新定向网络流量。该重新定向是浏览器的一个既有配置功能,在其启动时由插件程序使用。
在该简化了的例子中,插件程序显示了一个带有控制按钮的特殊菜单栏,用于执行除了浏览器那些功能之外的额外功能:
-用于创建新应用程序的按钮1a,
-用于修改既有应用程序的按钮1b,
-用于选择项目的按钮1c,
-用于保存操作结果的按钮1d,
-用于查看模拟窗口中结果的的按钮1e。
按钮和相应功能的数量为清楚起见得到了限制,但是其他按钮可能取决于期望的增强水平。这些按钮的目的是向应用程序服务器发送命令,在该图中未显示但是通过上述通信量的重新导向在图3中详细说明。
通过点击按钮1a,创建并显示“查看”或应用程序窗口或“应用框架”2。这是迷你应用程序的一个空的原型。
更有利地,它是一个准备被填充的预定义模板。在该窗口创建之前,假定服务器已经从一组预先存在的主题中为用户提出一个应用程序主题,类似于现行的许多应用程序。通过选择一个主题,用户也选择需创建的应用程序在其上可以运行的装置的类型。在所示示例中,假定已经选择产品表单的一个目录,每个表单旨在包含产品2c的图像,价格2b,产品2d的一系列特点,用户评论2e以及用于搜索所有表单的一个域2a。
为了填写该应用程序框架,用户首先通过搜索网络寻找期望类型的产品开始。例如,用户来到供应一列特殊品牌产品目录的零售商的地址。例如他找到他用鼠标选择的一个摄影机的图像4,通过界定物体周围的框或者通过长时间点击按钮。这个行为被发送给服务器,服务器然后识别图像。为了告知用户图像已经被服务器识别,图像通过已知方式被突出显示,例如一个半透明的遮罩,一个边框,或者闪烁。用户之后可以将图像4从页码3拖放到原型2的图像区域2c。用户继续以相似方式处理表单的其他部分,通过将特点5的选取文字从页码3拖放到原型2的特点区域2d,然后继续以该方式处理价格2b和用户评论2e部分。
用户每次选择时,服务器检索相应元数据并将它们储存在元数据的数据库中(详情如图3所示)。
本发明不限于例如上述那些静态对象的选择。也能够选择提供各种活动的对象,例如计算按钮,导航按钮,动作按钮,对话框,输入栏,列表,表格,活动的显示结果等。
一旦创建了一个表单,则表单被保存而且可以创建另一个表单。该过程持续以该方式进行直到用户已经储存了所有他感兴趣的对象。
在该过程中,用户可以例如按钮1b修改某个对象(例如利用他的鼠标或触摸板,修改表单上某个对象的尺寸和位置)。
试验按钮1e提供以动态仿真模式启动应用程序的选项以判断结果的质量。它使在框架2中创建的应用程序能够完全使用,就像该程序已经以最终形式被下载。这使用户能够看到应用程序和服务器自动从网络上提取的对象是否满足他的期望。
在这些操作的最后,用户点击“保存”按钮1d并且应用程序被服务器自动最终化。之后应用程序准备就绪,以图3中所阐明的方式使用在用户指定的一个或几个装置上。
该应用程序之后根据创建时选择的表示法执行(窗口2),但是已经成为独立于浏览器的一个应用程序,能够从一列表单中显示产品表单,带有交互式导航并且通过一个简单的搜索工具得到增强。
从服务器上下载到装置上的应用程序包括一个驻存在装置上但是不包括任何动态数据的部分。驻存部分负责装置的特定功能,例如通信,显示,图像渲染,音视频以及用户交互的功能。表单利用储存在服务器上的元数据在创建过程中被填充,并且数据在访问时利用这些相同的元数据从网页上恢复。因此,数据总是最新的并且即使它们的位置已经转变为原始路径时仍能够被成功提取。
当然,该示例中描述的表单可以增加其他功能,例如根据某些标准进行排名,链接到能够激活浏览器窗口的打开或另一个迷你应用程序的启动的网址上。
被保存的应用程序可以完全归个人使用,但是也可以与在该种情况下能够再利用一些或所有应用程序框架和其功能的其他用户共享。实际上,如下面将要讨论到的,由服务器执行的数据提取可以被共享。因此,一个简单的应用程序可以承继其他用户的努力并且变得更加丰富。
我们从而可以看到不费吹灰之力就能创建一个应用程序,也是本发明的目的和主要优势。该优势是由于应用程序服务器和在创建过程中使用的浏览器插件程序之间的独立性和合作性。可能应用程序的价值产生于所推荐的模板的价值(可以由用户添加),以及再利用和修改现存应用程序的可能性。用户的数量越多,由对开发本服务做出贡献的用户的想象力产生的应用程序的价值越大。
此外,浏览器插件程序当然可以根据已知技术为图形结构和应用程序的加强提供大量功能和按钮(图中未显示),例如:
-“多次选择”按钮,警告插件程序和服务器,被访问的页面包含多个相同类型的对象,并且当这些对象只有一个被选择时,服务器将自动对这些对象进行提取。单个对象的选择因此可以引起几个表单的自动创建。
-“样式”按钮,使与元数据关联的所有或部分该组数据的界面方面能够改变,例如颜色,式样和字体大小,意味着适用于所有类似文档。
-“网格”按钮,使视图中的对象能够根据预先确定的校准而很容易定位。
-“刷新”按钮,用于刷新视图从而刷新从元数据中提取的数据和内容,以确保视图中的信息与网络上的相对应。
-“背景”按钮用于显示元数据被添加的区域。
-“层次”按钮,允许与应用程序的多个部分独立合作,或者根据用户点击流在相同区域创建不同的结果(例如股票价格显示为股票的当前价值或者显示为其历史图形,根据执行应用程序时的环境,等等)该点击流可以通过选择“层次”按钮在创建期间进行查看,该按钮提供了一种通过复制/粘贴或托/放来切换可修改区域的含义的简单方式。
-“变更”按钮,允许修改被保存的记录或已选择的模板。
-“共享”按钮,允许共享一些或所有应用程序框架和其相关工具。该按钮为其他用户界定了访问已记录元数据的许可权。这使其他人能够获取,复制,修改,和/或增强应用程序。
-“来源”按钮,使用户能够找到获取元数据的网页。
-“框架”按钮,如果多个框架被同时创建或打开,可以将用户的活动从一个应用程序框架转变到另一个应用程序框架。
-“帮助”按钮,使用户能够在创建应用程序时寻求帮助。例如在出现选择时(当机器无法为用户做出选择时),代理提出问题。
以这种方式,一位知道怎样使用浏览器的人可以完全使用鼠标或通过触摸一个触摸屏来创建其应用程序。下面我们将看到这些简单的操作怎样在应用程序服务器中导致综合代理的自动创建。这些代理将数据相关的操作从装置上卸载。
当之前示例显示了提供一个帧的简单应用程序时,很明显本发明也可能通过装配多个帧或简单应用程序来创建更多复杂的应用程序,每个应用程序占用一个“子帧”或应用程序框架的字段。
图2示例涉及一个这种应用程序。它显示了一种选择性的操作模式,这次涉及现有应用程序的修改。
在浏览器窗口1中,利用上述插件程序,用户已经选择或已经被引导选择从应用程序服务器端选择的一个或两个现有应用程序。他的目的是从两个现有的应用程序的元件中建立一个新的应用程序。这两个应用程序中的至少一个,或者其子帧中的一个可以是图1中所描述的应用程序。在该示例中,两个应用程序包含几个部分并且构成了起点。这些应用程序以独立帧3和4的形式并排显示在浏览窗口1中。每个帧有三个字段,例如以滚动列表的形式,其中一个涉及旅游目的地31(带有照片,说明,价格),航班时刻表32和酒店预订33,而其他涉及音乐节41,戏剧表演42和列车时刻表43。
通过选择一个帧(例如4)和“变更”按钮1b,显示出原型应用程序串口或“应用程序框架”2。作为起始点,它复制了原始应用程序41,42,43的三个帧,成为21,22和23。然后用户决定用帧3的字段31代替字段21(之前为41)。这通过简单地将其拖放到帧2中进行。另外,用户决定通过将其从帧3拖放到帧2来增加字段32,新来者被安放在字段21-22和23之间。这些字段的规模通过自动样式变更在尺寸上减小,并且它们被分开以便为新字段24让出地方。所有这些自动操作通过应用程序服务器和浏览器插件程序之间的互动来实现,通过交换数据和命令,显然对用户来说只需要执行简单的拖放。这样的操作使帧3,目的帧2和子帧21,22和23之间的目的位置中的源子帧32能够完全显示。自动样式变更由于帧的特点引起的尺寸改变为应用程序服务器所熟知。
我们可以很容易推断用户怎样修改应用程序2的一个基本组件应用程序:用户简单地对应用程序进行选择并且图1中描述的方案同上所述继续进行:该基本应用程序指向的网页之后可以连续出现在窗口1中。将变化保存在一组件应用程序中,之后返回到包含该组件的一般应用程序中,以及其他操作,直到修改的一般应用程序得到保存。
过程的简易因此从用户的观点得到最大化。这种简单化根据本发明是由在服务器和浏览器插件程序之间互相作用的功能的分割和分配引起的。
这些操作详情如下。
图3显示了用于本发明而且尤其是用于执行上述使用方案的***的总体结构。该图显示了两个链路,一个用于应用程序创建和修改的链路,和一个用于应用程序执行的链路。这些共享着公用元件。
首先,用于应用程序创建和修改的链路详情如下:
希望创建或修改应用程序的用户有一台其可用的电脑100,包括浏览器101(至少一个现存浏览器)和尤其旨在与应用程序服务器200通过因特网1相互作用的插件程序102。假设该插件程序102已经与浏览器相结合,或者在电脑生产过程中通过制造商,或者通过用户,例如当登录并认购或向应用程序服务器端登记,以便获得必要资源和授权。服务器200包括大量子项,详情如下。
根据一个可能实施例,该插件程序可以有利地用Javascript脚本语言实施,并通过应用程序服务器端下载。该插件程序的实施细节在如下图7中给出。
根据另一个实施例,插件程序和浏览器可以构成一个独立综合应用程序103,专用于此目的。
根据第一操作模式(图1),启动插件程序102使电脑100的因特网连接参数发生改变,这样信息网站300的所有连接(请求和应答)通过借助标记为200为的应用程序服务器重新定向,而且更具体地说是通过一台也执行应用程序记录器功能的记录服务器210。
该重新定向通过浏览器设置的简单修改而实现。电脑100与服务器210之间的连接之后作为局域网内的链接被保护,并且在服务器210的完全控制下。
为简单起见,我们可以说该插件程序将服务器210的插件程序上卸载处理操作,这样只有与用户的互动和显示功能保留在用户的电脑上。
插件程序102也打开一个被称为“应用程序框架”的窗口(像图1和图2的窗口2,但未在图3中显示),在窗口中,用户逐步构建其日后希望使用的应用程序。浏览窗口中和应用程序框架中的用户操作被发送到服务器210上。在这些操作之后执行的处理通过服务器进行,服务器反过来指导在该窗口和框架内所显示的内容。
通过分析来自浏览器101的网站300上网页的自然点击流对应用程序进行创建。被创建的应用程序的组件根据本发明通过以与服务器210互相作用的插件程序102的方式添加到浏览器上的功能被自动获取。
例如,在框架中可见的一个网页的部分的位置,将对文本域或图像的选择,以网页源代码中索引的形式被发送到服务器中。
该插件程序102也为用户提供初始化,选择,修改和结束应用程序的记录的功能,以及其他功能,例如那些之前在图1的描述中列出的功能。一旦记录已经开始,应用程序就作为一个文件自动被创建在服务器200中,文件包含具有应用程序模板特征的记录,目标装置以及在其执行时通过最终应用程序显示的对象。
该应用程序文件有利地保存在数据库220中,因为数据库技术更适于组织记录,以便应用程序可以由大量用户共享。
选择功能提供了选择非简单的数据而是元数据的方式,意思是数据的描述和位置。数据可能是一连串字符,图像,视频,通向另一个网页的链接等等。通过每次选择,***使用相关标准来确定怎样在网络上找到数据。
该服务器存储在数据库220中的不仅是所选择的元数据,还包括将在记录开始和结束期间复制网络上的整个用户点击流的bot程序和代理,即最起码是用户的浏览历史。
因此,用户可以尽可能自然地浏览,而且当用户想选择数据时,***提供元数据捕获功能,根据电脑生产商提供的传统用户界面,该功能有利地可以是在显示页上的选择框或者选择的任何其他形式。浏览窗口内的该选择框的显示是插件程序102的功能。与选择框相对应的元数据的提取是服务器210的功能,该服务器已经缓存了浏览器显示的整个页面并且由于选择,能够确定HTML,XML或其他与该选择相对应的代码部分,以及位置信息(至少页码网址和页码上的位置),以便日后能够对其访问。
将所选择数据定位在应用程序框架中的拖/放的可能性和显示是与服务器210相互作用的插件程序的另一个功能。当所选数据被放到应用程序框架中时,元数据被记录。
浏览窗口中的用户活动因此被发送到服务器210中,并且与所选数据的参数相关联并且提取以便服务器可以明确地识别相应的元数据和它们通过将这些元数据保存在数据库220中而与应用程序的融合。
服务器210因此作为带有“开始记录”功能和一个“停止记录”功能的记录器。在二者之间,“捕获”通过数据库220中的记录显示。
提取***因此界定了可以被复制/粘贴或托/放到应用程序框架中的元结构。一旦被放到应用程序框架(视图,网页等),被搜集的结构显示在一个作为最初选择模板的定义的部分的适合的组件中(表格,列表,图库等)。
因此,最终应用程序包括一个或多个这种组件。
应用程序也可以是组件。
应用程序也可以是其他应用程序的集合。
该应用程序框架可能用于制备用于在可以施加以相同内容(字体大小和类型,每行字符数,滚动与缩放等)显示的变体的多平台上(电脑,手机,平板电脑,电视等)再分配的应用程序。
该框架能够显示元数据的渲染,意味着用户可以在再分配之后查看元数据怎样界定数据。用户因此创建了一个他想怎样使用他所捕获和记录的数据的图像。
为此,提供了应用到每个元数据上并且因此涉及所有与该元数据相关的数据的图形工具。
由插件提供的与记录服务器210结合并相关的选择功能使其能够不仅识别当时查看的数据,也能识别位于该页面或另一个相同结构页面上的相同地点的未来数据。
在单项选择的情况下,如图1所示,用户对于一个项目的选择引起相应元数据的创建。通过一次简单复制/粘贴或托/放,将选择移动到应用程序窗口被服务器210翻译成元数据和将在新应用程序中对其进行显示和使用的组件之间的链接。选择通过突出显示,闪烁,剪影,用框勾画或任何其他相等的可视方式在视觉上指示当前选择而得到促进。
元数据的保存可能也涉及保存与所选元数据相关联的多种其他元数据,即使它们不可见。由一列简单或复杂的数据构成的网页就是这样的情况。一个例子将是表格形式的产品目录,在表格形式中,每一格描述一个产品。用户可能想通过简单地选择一个产品而获取所有产品的所有数据。为此,用户可以使用一个特殊的“多次选择”按钮,该按钮之后启动一种技术手段用于自动选择与所选数据相似的数据,以便与相同元数据相联系。
选择功能因此具有一个“多重”选项,在被选择时该选项向插件程序102和服务器210提到必须利用一结构比较模式和一搜索和分析bot程序来处理被访问网址。这种方式,用户不需要手动选择每个事件。这在它们的号码页页不同时是特别有用的。
相似的元数据可能也源于一种用于在网络上的相同网址或其他网址上搜索语义类比的方式。这些类比检索可以在图像或数据隐藏在所选元数据后面的情况下被遇见,因此不会被用户看到。
一旦记录结束,服务器210已经在数据库220中保存了一系列与期望内容和信息相应的记录,以元数据的形式,以及一个或多个能够复制用户点击流的代理,以及一个能够在不同平台上显示元数据的表达模板,例如静态和动态背景,现存软件模块(电子表格,日历,地图,游戏,...)。
在实践中,代理,bot程序和元数据之间的层级通过用于控制执行元数据所描述的任务的bot程序的代理来表示。
记录服务器将这些数据结构提供给应用程序以便独立于包含这些结构的页面的日后访问。数据库220因此被记录服务器210共享以进行创建/修改操作,并且被下述应用程序执行服务器240共享。
被记录的应用程序可以为个人或集体所用。根据本发明的***的结构使应用程序能够根据相关授权,与在这种情况下能够使用一些或所有应用程序框架以及其功能的其他用户共享。
下面将对应用程序执行链进行说明:
当用户想要使用一装置110上的应用程序时,他必须通过连接到应用程序服务器200的网址上预先下载执行模块105。这种连接可以以多种方式发生:通过在浏览器上输入服务器地址或者通过与网页上的链接,邮件或者些其他应用程序。访问应用程序可能包括在网站上注册,网站服务(例如应用程序创建)以及访问控制(身份验证和密码)这些步骤。
由于装置的不同性质,根据本发明,执行模块105仅针对该装置或者一类装置,特别针对该操作***,屏幕分辨率,尺寸以及其互动方式的特点。小屏幕不能像大屏幕一样显示许多应用程序组件。因此显示可能因装置的不同而不同,并且应用程序服务器负责以其所获取的与装置类型有关的信息为基础,根据模块105与服务器200之间的连接进行必要的调整。这种调整技术被人们熟知并且已经在浏览器和网站上应用。
根据本发明的一个特点,元数据在数据库中的保存和数据的提取不受装置的支配。只有与这些元数据相应的数据的渲染可以为装置定制。为此,当应用程序保存在应用程序数据库中时或者被下载到装置中时,或者二者同时发生时,被记录的应用程序包括一个描述为装置特点定制的应用程序情况介绍的部分。对一给出装置上的情况介绍所必需的元素最好在在应用程序下载时或者在数据被发送给服务器时进行确定。这事实上是创建时选择的模板,在该模板中,元数据的渲染可以根据装置的类型和用户偏好而改变。
它是一个泛型应用程序,独立于数据,元数据以及它们的表示法,在装置上执行(因此依赖于其硬件和操作***)。设备制造商通常提供用于开发这种应用程序的工具。由于应用程序和数据之间的独立性,一个独立的泛型应用程序可以支持许多已保存的应用程序模板,其能显示许多带有各种功能和不同主题的数据类型。与一泛型应用程序相联系的一组模板从而足够支持种种支持各种数据的应用程序。
在用户端,应用程序105向服务器240发送下载应用程序说明的请求。一旦下载,则包括一列应用程序运行的代理。这些代理之后将bot启动命令发送给服务器。这些bot程序根据他们所含的元数据在网络上执行查询。作为回应接收到的数据之后达到应用程序,应用程序根据所述说明逐步并以异步方式将数据展示给用户。更多详细内容在图7中给出。
已下载的应用程序105可能是一个浏览器模块或者可能利用浏览器技术而创建,技术的功能仅限于那些必要的功能,以减小尺寸并优化性能。应用程序105可能也是一个可以解译命令和HTML和/或XML的“配件”。
下面给出其他有关应用程序接收机的实施例。
可选择地,记录服务器210与应用程序服务器240之间的连接应用程序(所有或部分)能够以仿真模式在创建或修改期间执行,以提供应用程序的真实表示。在这种情况下,应用程序105运行在与浏览器101和插件程序102相同的装置上。这就是之后的应用程序模拟器或装置模拟器。下载与各种装置相对应的多个应用程序或模拟器105则是可能的(特别是在用于判断能够影响应用程序组件的布局和可读性的不同屏幕尺寸上的渲染)。
图4显示了一个根据本发明的用于应用程序创建的方法的步骤的示例。
在左边的步骤U1到U6发生在创建应用程序用户的电脑100上。步骤S1到S6发送在应用程序服务器200上。
步骤U1和S1:浏览器和其插件程序被启动。这通过因特网连接到服务器200上。重新导向确保了所有来自电脑的通信量都通过服务器200。
步骤U2:在因特网上开始搜索数据之前,用户必须从服务器200提出一组的预定义模板中选择一个应用程序模板(步骤S2)。这是一个定义一原型和显示原型窗口的步骤。模板的选择可以顾及该目标设备或这些目标设备,其特点可能包括限制因素或需要在展示中做出变化。
步骤S2:在数据库中的创建应用程序文件,除了其他方面还包括元数据记录以及步骤U2中选择的模板的参考。
步骤U3:用户从浏览窗口中搜索网络上的信息。
步骤U4:用户找到与他的应用程序相关的信息。他选择了该信息(例如通过点击“选择”按钮然后在信息附近画上选择框)然后将信息拖/方到原型窗口中。他也可以选择一个多项选择按钮。
步骤U3和U4进行重复直至应用程序创建完成。
步骤S4:在步骤U4中每次将信息添加到原型中时,服务器储存带有相应代理和bot程序的元数据。
步骤U5:在创建最后,用户发出一个保存应用程序的指令。
步骤S5:服务器可能通过搜索和记录相似信息的元数据来充实已记录元数据列表,然后通过传统的电脑方式结束应用程序数据的编辑。
步骤U6:共享部分或整个应用程序的权利管理,可以在一个问卷页中对用户进行询问。
步骤S6:***保存了权利管理数据,关闭应用程序文件并且使其能够分配和执行。
其他创建应用程序的方式是可能和相当的。特别是,可能首先搜索所有潜在相关信息(重复单独步骤U3)然后在应用程序框架中向用户提供相关信息(重复步骤U4)。
图5象征性地显示了数据库220中应用程序文件A的一个示例。这些是储存块,在应用程序创建或修改会话过程中记录的数据保存在其中;这些数据随后在应用程序的执行过程中被其他***资源读取和使用。
该文件包含应用程序部分和bot相关部分。因为bot程序可能被多个应用程序共享,所以他们最好是独立的但是通过链接相关联。
应用程序部分(图中左边)包含:
-包含应用程序标头(名称,日期,创建者,权利,说明等)以及所支持的装置类型的部分A1。
-所选模板M的描述,包含一系列可能与例如文本元素,网格和表格,图形,多媒体等相关的特征M1,M2,M3,M4等。
-引用元数据和他们的bot程序的一系列代理A2,A3,A4等,可以被分成分代理(例如在多重选取中)A21,A22,A23等。这些代理指向其他部分,可以是bot程序R1,R2,R3等以及bot程序群体R11,R12,R13等。每个bot程序都包含构成其将要执行的任务的元数据。
Bot程序通常有多个应用程序共享并且通过链接或参照连接到应用程序上。这已共享结构缩减了所需的记忆量,但是也使上述应用程序能够被简单地丰富和加强。
图6显示了记录服务器210实施的细节。
回忆一下,该服务器是为了用户在应用程序创建阶段执行的浏览能够得到分析,来自浏览器101并且通过从浏览器到服务器210的数据流的重新导向与其插件程序102相互作用。服务器因此在数据流通过时“看到”所有这些数据流。服务器210利用分析这些数据流和创建记录所需的技术功能,即是有关图4中所描述的方法的步骤,以及自动增强功能。
记录服务器210由下列元件或功能构成:
-代理服务器211,确保所有在用户电脑(通过网络1)与***其他部分之间往来通信量(查询与应答)。它可能充当一台高速缓冲存储器,尤其是通过各种网页记录动态点击流,询问和回应,在网络上的位置(URL地址),在每个网页上执行的用户操作,以便定位和提取使元数据能够记录在数据库220中的相关数据结构。代理服务器能够从非导航命令的插件程序102中听取命令。
-分配器212,将来自用于被用户分析的访问网站300的浏览器101的请求与来自用于应用程序创建的插件程序102(模板,元数据与代理)的请求区分开来。它通过插件程序102将并非来源于被访问网页的元素而是间接来源于工具箱216的请求分出。例如创建新的应用程序,从模板数据库217中提出的那些模板中选择一应用程序框架模板,创建一代理,对其进行保存,选择元数据,修改或删除元数据等这些请求通过一个请求中的标签被识别并且被重新路由到代理/元数据记录器214上。
用于应用程序创建的对象之后被发送到:
-一个用于代理,bot程序以及与用户选择的作为目标应用程序一部分的数据相对应的元数据的记录模块214,将数据保存在应用程序数据库220中。因此该模块使这些数据结构对于应用程序可用以便模块日后可以不依赖包含这些结构的网页而对他们进行访问。
从通过网络1被访问的网址返回的响应得到成功地处理,通过:
-过滤和标准化模块215,确保了浏览器101显示的网页与记录模块214执行的处理之间的相容性,这样,当执行时,重建与原来相同。除了其他以外,它使某些杂散的消息和一些动态脚本能够模块化,从而处理了被访问网页的分析和故障以识别他们的数据结构和他们的显示模板。这项可能源于其他用户的操作被延伸到与被访问地址相似的网页中,例如为了能够利用现存bot程序和数据库中的元数据进行多重选择和自动增强。例如,如果上述网页从来没有被访问过(这是第一次)并且不为服务器所知,该网页则在位于浏览器中时被重建。另一方面,如果服务器知道该网页并且该网页已经与一个bot程序(带有元数据)相关联,则模块215对该网页进行分析并且为网页添加一些有关之后通过插件程序显示的(利用下一个模块216的工具)元数据的参考:用户之后将看到例如一个预选的对象出现。如果该选择与用户有关,他仅需要将其拖放以便将它添加到他的应用程序中,这样便节省了时间而且增加了简易性。
-“工具箱”216,以注入器的形式出现,用于为响应文档添加图示和语义功能,尤其是为了确保元数据的选择。它在用户的数据选择和识别机制中添加,例如,由插件程序102和浏览器101使用的图示命令和互动性元素。该工具箱以Javascript功能库的形式被提供。根据不同的使用环境,选择一个或多个功能用于插进返回到浏览器插件程序集成101-102中的数据流中。
-用于格式化被访问网页的模块218,尤其用于将工具箱功能整合到响应网页上并且整合分配器模块使用的标签。它也可以以模板的特点为基础,这些特点从模板数据库217中提取,被发送到插件程序102中并且使被提取数据适当地显示在用户的创建工作站100上。
图7显示了浏览器101插件程序102的一个实施例。
插件程序包含两个主要模块110和111。模块110专门用于浏览窗口1的管理,而模块111用于应用程序框架的窗口(一个或多个)2的管理。
模块110包括两种工具:显示在用于指示选择的页面中的选择工具110a以及如图1和图2中定义和描述的按钮的命令工具110b。
模块111包括两个子项:利用通过电脑的操作***提供的功能来显示应用程序框架而控制这些应用程序框架的模块111a,正如一个标准的应用程序一样;以及处理代理与装置(各种类型装置)之间界面类型的选择的模块111b,通过充当服务器210与应用程序框架管理之间的界面。
通常,可以根据本发明制造的应用程序的应用程序界面并不限于(电脑,平板电脑,电话的)触摸屏/键盘/鼠标界面类型,但是也包含声音,语音界面,并且通常可以利用各种感官设备用于采集和渲染。
图8代表一个根据本发明的完整***,进一步包括一个用于管理用户和订阅的***。
如有关图3所示,创建和修改工作站100通过因特网(未显示)连接到为应用程序数据库220提供数据的记录服务器210上。通过服务器210,在其作为代理的角色上,创建用户也连接到用户服务器250,其管理在用户数据库260中的用户,更确切说是用户空间。这使与订阅相关的不同服务能够分组,例如标识符以及访问权限(名称,用户名,密码,电子邮件地址等)以及使用权限(有权使用数据库220的一些或所有应用程序,属于用户的应用程序以及数据库220中供使用或修改的这些应用程序的指示物的列表,与其他用户共享的管理,版权管理,费用和在线支付工具的管理)。
同样地,为了在设备500上运行应用程序,将装置连接到执行服务器240以及访问应用程序数据库220需要与用户服务器250的已认证的连接,然后选择为装置授权的一应用程序并且下载如上所说的所需模块。
由于能够在根据某些使用条款由用户服务器250管理的某些技术,法律和商业条件下共享应用程序,设计了在应用程序数据库中记录的组织机构以便由应用程序共享的元素不能被复制。
这种“主从式”成对的组件的技术实施给予本领域技术人员所熟知的技术。
特别地,记录服务器220,执行服务器240,用户服务器250以及相关数据库可以以集中或分散的形式构筑,并且可以使用组件之间的任何已知的交流形式。
此外,也可能卸载由上述服务器对每个装置或一些装置,特别是那些总是或几乎总是与网络连接的装置进行的处理的小部分。“端口对端口”技术对此非常适合。
本发明在日益快速的网络技术方面有许多应用程序。它特别适用于与网络连接的装置的所有者,成千上万的所有者正在为他们的装置寻找越来越有用而且相关的服务。利用本发明,每个用户将能够设计用于获取他们想获取的服务的应用程序。这种类型的第一装置以及针对于这些装置的应用程序存储成功已经证明了根据本发明的应用程序创建和分配的更简单的方式将提供商业发展的更加广泛,快速和重大的传播。
本发明不仅适用于上述接收和运行应用程序的装置(电脑,平板电脑,电话,电视等),也适用于带有用于采集和澶染的不同界面的机器,甚至无需一用户界面或人机交互界面,正如在专门用于执行某些由外部数据确定的任务的分散式“机器对机器”体系结构中所见。在这种情况下,这些机器可以被认为同上所述,即用户界面即使远程设置在一个或多个其他机器上也仍然会出现。
此外,对于应用程序的创建,本发明也适用于利用网络计算机而非(或者除此之外还包括)集中式服务器的分散式“点对点”体系结构,这两种体系结构被认为在功能上等同。如上所述,所呈现的技术体系结构可以有区别地被分解,例如以一种分散方式而非集中方式,根据本发明特别是为了确保服务的广泛部署。
本发明根据某些实施例进一步提出了一种方法,用于开发一种定制应用程序用于从一台由一用户操作并且连接到一应用程序服务器上的个人电脑访问不同装置上的网络内容和服务,特点在于它包括以下步骤:在电脑上选择一根据在一个或多个装置上的精选介绍而被设计用于显示信息和内容的原型应用程序框架模板,并且通过以下两种迭代操作启动一次记录会话:通过用户搜索网络以找到所需类型的信息,选择并将该信息放置在所述应用程序框架的预定义域中,采集与所选信息和内容相对应的元数据以响应用户操作,连续以一个或多个能够复制用户点击流的代理的形式在数据库中记录这些元数据,带有适于所述应用程序框架的展示数据,通过将准备好在至少一种装置上分配和执行的代理,展示特点以及应用程序框架模板以一种称为“应用程序”的数据结构的形式集合到应用程序服务器中来结束记录会话。
根据某些实施例本发明进一步提出一种方法,用于执行由上述开发方法创建的定制应用程序,包括以下步骤:在装置上启动可以是预安装或者是下载的应用程序执行程式,将该执行程式连接到应用程序服务器上,以便选择,下载和启动从服务器中请求数据,并且处理这些数据在装置上的显示和与用户的互动以及服务器对于网络上的数据的提取的应用程序,为响应用户操作,通过应用程序服务器控制代理或保存在应用程序中的代理以便从网络上提取相应数据,为适应应用程序的展示模板筛选代理恢复的数据,并且将这些数据转发给将其展示给装置上的用户的执行程式。
本发明的一个优势源自应用程序两个不同但是相互作用的部分的结合:驻存在装置上(在适当情况下下载之后)的一个部分,处理装置的具体特点(功能和局限性),用户交互,并且从服务器请求数据;和一个在应用程序服务器上的部分,处理数据管理并且向装置发送数据。该分部尤其保证了应用程序可以在大量装置类型上运行,因为定制化服务大多发生在整体的一小部分中:执行程式,可能是应用程序模板。数据和内容之后自动地适应于模板。
本发明根据某些实施例进一步提出一个用于开发定制应用程序的***,利用上述开发应用程序的方法,结合包括,为建立应用程序,一个与特定开发插件程序配对且提前安装在一电脑上的浏览器,使用户能够为一个或更多目标装置创建一个应用程序,一方面利用一个已选择应用程序模板或者现存应用程序的子集合,另一方面利用通过浏览器搜索并且位于网络上的信息或内容,该插件程序包括将请求和响应从浏览器重新定向到一记录代理服务器的方法,之后一方面采集并发送给用户的所述服务器操作以在浏览窗口上选择数据或内容,而另一方面显示将该被选并从浏览窗口拖拽到该模板窗口中的信息呈现出来的应用程序模板的至少一个窗口,以及所述服务器与用户操作之间的相互作用,一记录代理服务器,包括在开发会话期间实施向用户所选网站发送请求并且捕获响应的方法,用于在一应用程序数据库中识别,提取和记录与用户所选信息相对应的代理和元数据,这些保存的记录,与目标装置或装置的应用程序模板相结合,构成一个在创建会话末端的应用程序,一应用程序数据库,组件展示模板的的所述记录和结构以便至少一个装置执行。
利用这些方案,用户开发操作(创建或修改)由自动“学习”用户请求并在一个含有代理和与一个或多个数据展示模板相关的元数据的文件夹中记录全部结果的代理服务器执行或自动化。这样,应用程序可以随后在不同类型装置上“重新执行”。
此外,与用户选择相应保存的记录可以当被访问网页或者元数据数据库含有类似结构时通过与上述那些记录相似的补充记录来丰富。应用程序因此可以通过存在于应用程序数据库中的网页,网址和记录的资源而得到丰富,特别是由于允许共享时来自相同用户或其他用户的现存应用程序的出现。
本发明根据某些实施例进一步提出一个用于执行由执行上述应用程序的方法创建的应用程序的***,以及上述应用程序开发***,包括一已经驻存或下载到用户装置上的交互显示应用程序,能够连接到应用程序服务器上,请求一特殊应用程序,并且处理显示应用程序服务器发送的信息以及用户交互,与应用程序中描述的标准一致,一个能够存储和下载至少一个应用程序到一台已连接的装置上的应用程序服务器,包括用于控制在应用程序文件夹中读取的代理或几个代理的方法,并且其设置是为了从网络上提取数据,通过装置上的显示应用程序与用户互动,一组代理和bot程序用于执行所述从网络上数据的提取,以及用于根据记录中描述的展示模板筛选和选配已提取数据并且将它们发送给装置上的显示应用程序的方法。
在上述应用程序开发***的某些实施例中,记录服务器也包括在被访问网址的相同网页以及网址的其他网页上自动捕获与用户所选数据相同或相似类型的数据相对应的附加元数据的方法。
在上述应用程序开发***的某些实施例中,记录服务器包括在用户间分享元数据和/或一些或所有应用程序数据库的方法,以使应用程序在能够共享时进行共享以便创建/修改和执行应用程序。
在上述应用程序开发***的某些实施例中,插件程序包括一个模块(111b),用于在管理应用程序元数据的不同代理种类和设置在应用程序目标装置上用于采集和渲染的不同界面技术之间进行结合。
在上述应用程序开发***的某些实施例中,配对的浏览器和插件程序是综合开发应用程序的形式。
在某些实施例中,上述应用程序开发***进一步包括与上述执行***一致的一个或多个应用程序模拟器。
在某些实施例中,上述应用程序开发和执行***进一步包括一个用户订阅服务器,用户和用户空间的数据库,以及根据相关权利在用户之间共享应用程序的方法。
在某些实施例中,上述应用程序开发和执行***包括寻找元数据语义类比的方法,以便在应用程序创建或修改期间增加元数据的自动提取。
利用这些方案,应用程序数据既不驻存在仅包含一显示模块和用户交互的装置上,也不驻存在仅包含代理,bot程序和元数据的应用程序服务器上,但是它仍然受益于其可用的所有资源,性能,更新和增强功能。所提取的数据可以是任意类型的(文本,图像,视频,声音,交互性元件等,如下以词语“元数据”进行的定义所述)。
有利地,由此获得了最佳性能,因为只有当前互动和显示所需的动态数据被发送。在数量和体积上都很小的动态数据在创建时被植入应用程序中。
利用这些方案,用户仅需要在应用程序创建或修改时在经常性基础上进行一次尝试来找到相关信息。之后根据用户与应用程序之间的互动,信息在执行时被自动存取。
此外,更复杂的部分,即网站上信息的检索,不再通过用户直接进行,而是通过由所有用户共享的并且设计用于支持所有必须的技术和升级的服务器来自动完成,具有正常比存取装置更好的性能。
有利地,用户可以从上述增强信息中受益,因为增强功能在服务器上完成并且比在装置上更新应用程序更加容易修改。
特别地,用户不限于只根据建立在网络上的信息创建应用程序;他们也可以利用一些或所有现存应用程序并且可以进行不同的组合或利用其他类型信息对其进行加强。因此他们得益于这些其他应用程序的目标数据。
此外,功能的加强可以由服务器直接提出和整合,或者在创建或修改期间,或者在执行期间。这些可以从处理查询的bot程序与提取物之间的通信推断出来,或者可能通过在服务器上特别为此开发的应用程序而诱发。
Claims (11)
1.用于开发应用程序的方法,该应用程序用于在一个设有显示屏的装置上通过浏览网络从一台用户操控并且连接到应用程序服务器上的电脑,访问可访问的内容和服务,所述方法包括:
-采集步骤,为响应用户在网络点击流期间进行的在网络上信息和/或内容的选择,所述网络点击流来自于对浏览器的被访问网站上的网页点击流,分析所述被访问网站上的网页点击流,采集元数据,所述元数据包括数据描述和位置信息并且与所选信息和/或内容相对应,并且记录所述元数据,所述采集元数据包括:捕获所述被访问网站上的相同页面上以及在网站的其他页面上与用户所选数据相同或相似类型数据,与相同元数据对应,-组合步骤,在应用程序数据结构中组合元数据,能够从网络上根据元数据为基础提取信息和/或内容的软件代理,以及展示从网络上提取的信息和/或内容的数据。
2.根据权利要求1的所述用于开发应用程序的方法,进一步包括:记录用户的网络点击流,并且其中软件代理适于复制被记录的点击流。
3.根据权利要求1或2所述的用于开发应用程序的方法,进一步包括:从大量展示模板中选择一用于在应用程序上执行的装置的显示屏上显示从网络上提取的信息和/或内容的应用程序框架,并且其中应用程序的数据结构包括所选择的应用程序框架。
4.根据权利要求1所述的用于开发应用程序的方法,进一步包括:
-在电脑上执行应用程序执行程式,
-在于电脑上运行的应用程序执行程式和应用程序服务器之间建立连接,
-运行存储在应用程序数据结构中的软件代理,以便提取用户在其点击流期间根据应用程序元数据选择的信息和/或内容,
-根据与应用程序相关的展示数据,调试由软件代理提取的信息和/或内容,
-在电脑的显示屏上显示已调适的信息和/或内容。
5.应用程序开发***, 包括:
-电脑,其包括处理器和与处理器耦合的存储器,
-记录服务器,其与应用程序数据库耦合,
其中存储器存储一组软件,包括网络浏览器和针对浏览器的特别开发插件程序,用于开发旨在设有显示屏的装置上运行的应用程序,
其中针对浏览器的特别开发插件程序包括指令,用于执行:(i)为响应用户在网络点击流期间网络上的信息和/或内容的选择,所述网络点击流来自于对浏览器的被访问网站上的网页点击流,分析所述被访问网站上的网页点击流,元数据的采集和向记录服务器的传输,元数据包括数据描述和位置信息并且与所选择的信息和/或内容相对应,所述元数据的采集包括:所述被访问网站上的相同页面上以及在网站的其他页面上与用户所选数据相同或相似类型数据的捕获,以及与相同元数据的对应,
其中配置记录服务器用于执行由指令构成的软件,包括在应用程序开发会话过程中,包括接收和记录与所选信息和/或内容相对应的元数据的指令,生成一个能够根据元数据从网络上提取信息和/或内容的软件代理,接收和记录从网络上提取的信息和/或内容的展示数据,并且将元数据、软件代理和展示数据组合并保存在应用程序数据结构中。
6.根据权利要求5所述的应用程序开发***,其特征在于,为浏览器的特别开发插件程序进一步包括将来自与用户点击流相应的浏览器的导航请求和响应重新导向到记录服务器的指令,并且其中记录服务器的软件进一步包括记录网络上用户点击流的指令。
7.根据权利要求5至6的任一要求所述的应用程序开发***,其中记录服务器的软件进一步包括在用户之间共享元数据和/或一些或所有数据库应用程序的指令,以便为了应用程序的创建/修改和执行能够在用户之间的应用程序之间共享。
8.根据权利要求5所述的应用程序开发***,其中浏览器的特别开发插件程序包括一个模块,用于在管理应用程序元数据的不同软件代理类型和设置在应用程序目标装置上用于捕获和渲染的不同界面技术之间进行结合。
9.根据权利要求5所述的应用程序开发***,其中包括浏览器和浏览器的特别开发插件程序的该组软件是一个综合开发应用程序。
10.根据权利要求5所述的应用程序开发***,进一步包括一用户订阅服务器,用户和用户空间的数据库以及根据相关权利在用户之间共享应用程序的方法。
11.根据权利要求5所述的应用程序开发***,进一步包括一用于找到元数据语义类比的方法以便增加应用程序创建或修改过程中元数据的自动提取。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1252441A FR2988192B1 (fr) | 2012-03-19 | 2012-03-19 | Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunication, de distribution et d'execution de telles applications sur de multiples appareils. |
FR1252441 | 2012-03-19 | ||
PCT/FR2013/050572 WO2013140076A2 (fr) | 2012-03-19 | 2013-03-18 | Procede et systeme de developpement d'applications de consultation de contenus et services sur un reseau de telecommunciation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104321743A CN104321743A (zh) | 2015-01-28 |
CN104321743B true CN104321743B (zh) | 2019-01-29 |
Family
ID=46826613
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380027188.2A Active CN104321743B (zh) | 2012-03-19 | 2013-03-18 | 用于开发在通信网络上查询内容和服务的应用程序的方法和*** |
CN201380027189.7A Active CN104321768B (zh) | 2012-03-19 | 2013-03-18 | 用于执行应用程序以通过浏览电信网络查阅可访问的内容和服务的方法和*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380027189.7A Active CN104321768B (zh) | 2012-03-19 | 2013-03-18 | 用于执行应用程序以通过浏览电信网络查阅可访问的内容和服务的方法和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US20150161219A1 (zh) |
CN (2) | CN104321743B (zh) |
FR (1) | FR2988192B1 (zh) |
WO (2) | WO2013140077A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5980037B2 (ja) * | 2012-08-06 | 2016-08-31 | キヤノン株式会社 | 管理システム、サーバー、クライアント、及びその方法 |
US20140195858A1 (en) * | 2013-01-07 | 2014-07-10 | Appvance Inc. | Methods, systems, and non-transitory machine-readable medium for performing a web browser to web browser testing of a computer software application |
US20140214921A1 (en) * | 2013-01-31 | 2014-07-31 | Onavo Mobile Ltd. | System and method for identification of an application executed on a mobile device |
CN103516805A (zh) * | 2013-10-10 | 2014-01-15 | 贝壳网际(北京)安全技术有限公司 | 应用分发平台、方法及*** |
US9420086B2 (en) * | 2014-03-05 | 2016-08-16 | Honda Motor Co., Ltd. | Information terminal |
US20150278852A1 (en) * | 2014-04-01 | 2015-10-01 | DoubleVerify, Inc. | System And Method For Identifying Online Advertisement Laundering And Online Advertisement Injection |
US9614900B1 (en) * | 2014-06-19 | 2017-04-04 | Amazon Technologies, Inc. | Multi-process architecture for a split browser |
US20160313888A1 (en) * | 2015-04-27 | 2016-10-27 | Ebay Inc. | Graphical user interface for distraction free shopping on a mobile device |
WO2018045489A1 (zh) * | 2016-09-06 | 2018-03-15 | 华为技术有限公司 | 一种数据采集方法、装置及*** |
US10955994B2 (en) * | 2017-06-02 | 2021-03-23 | Apple Inc. | User interfaces for downloading applications on an electronic device |
US10915586B2 (en) * | 2017-12-29 | 2021-02-09 | Kensho Technologies, Llc | Search engine for identifying analogies |
US11153285B2 (en) * | 2018-11-07 | 2021-10-19 | Citrix Systems, Inc. | Systems and methods for application pre-launch |
EP3693873B1 (en) * | 2019-02-07 | 2022-02-16 | AO Kaspersky Lab | Systems and methods for configuring a gateway for protection of automated systems |
CN113760292A (zh) * | 2021-01-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 开发应用程序的方法、装置、电子设备和存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996023265A1 (en) * | 1995-01-23 | 1996-08-01 | British Telecommunications Public Limited Company | Methods and/or systems for accessing information |
US6983478B1 (en) * | 2000-02-01 | 2006-01-03 | Bellsouth Intellectual Property Corporation | Method and system for tracking network use |
CA2297597A1 (en) * | 1999-12-23 | 2001-06-23 | Mobileq.Com Inc. | Method and system for testing internet-based applications |
US7861252B2 (en) * | 2001-03-21 | 2010-12-28 | Andrzej Uszok | Intelligent software agent system architecture |
US20030014659A1 (en) * | 2001-07-16 | 2003-01-16 | Koninklijke Philips Electronics N.V. | Personalized filter for Web browsing |
US7283992B2 (en) * | 2001-11-30 | 2007-10-16 | Microsoft Corporation | Media agent to suggest contextually related media content |
US7970240B1 (en) * | 2001-12-17 | 2011-06-28 | Google Inc. | Method and apparatus for archiving and visualizing digital images |
US20110166939A1 (en) * | 2002-08-30 | 2011-07-07 | Rovi Technologies Corporation | Systems and methods for integrating data mining and other marketing techniques with fantasy sports contest applications |
US20050240558A1 (en) * | 2004-04-13 | 2005-10-27 | Reynaldo Gil | Virtual server operating on one or more client devices |
US20070255754A1 (en) * | 2006-04-28 | 2007-11-01 | James Gheel | Recording, generation, storage and visual presentation of user activity metadata for web page documents |
US8041781B2 (en) * | 2007-03-16 | 2011-10-18 | Yahoo! Inc. | System and method for providing web system services for storing data and context of client applications on the web |
US7966526B2 (en) * | 2007-04-10 | 2011-06-21 | Galileo Tools Gmbh | Software event recording and analysis system and method of use thereof |
FR2919404A1 (fr) * | 2007-07-27 | 2009-01-30 | Goojet Soc Par Actions Simplif | Procede et dispositif de creation, d'organisation, de livraison, d'exploitation et/ou d'acces a des services. |
US8800043B2 (en) * | 2008-05-19 | 2014-08-05 | Microsoft Corporation | Pre-emptive pre-indexing of sensitive and vulnerable assets |
US9104738B2 (en) * | 2008-06-19 | 2015-08-11 | Tropare, Inc. | Leveraging collaborative cloud services to build and share apps |
EP2300937B1 (en) * | 2008-07-11 | 2019-08-21 | Thomson Reuters Global Resources Unlimited Company | System and method for web-based control of desktop |
US8275767B2 (en) * | 2009-08-24 | 2012-09-25 | Xerox Corporation | Kiosk-based automatic update of online social networking sites |
US10713666B2 (en) * | 2009-12-24 | 2020-07-14 | Outbrain Inc. | Systems and methods for curating content |
US9152707B2 (en) * | 2010-01-04 | 2015-10-06 | Martin Libich | System and method for creating and providing media objects in a navigable environment |
US9367530B2 (en) * | 2011-01-21 | 2016-06-14 | Jive Software | Distributed document co-authoring and processing |
CA2862711A1 (en) * | 2011-01-27 | 2012-08-02 | Amplifier Marketing Pty Limited | Method and system for providing content |
US20130018955A1 (en) * | 2011-07-14 | 2013-01-17 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for implementing a social network information feed as a platform |
-
2012
- 2012-03-19 FR FR1252441A patent/FR2988192B1/fr active Active
-
2013
- 2013-03-18 WO PCT/FR2013/050573 patent/WO2013140077A1/fr active Application Filing
- 2013-03-18 CN CN201380027188.2A patent/CN104321743B/zh active Active
- 2013-03-18 WO PCT/FR2013/050572 patent/WO2013140076A2/fr active Application Filing
- 2013-03-18 US US14/386,590 patent/US20150161219A1/en not_active Abandoned
- 2013-03-18 US US14/386,474 patent/US20150242538A1/en not_active Abandoned
- 2013-03-18 CN CN201380027189.7A patent/CN104321768B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2013140076A3 (fr) | 2013-12-19 |
US20150161219A1 (en) | 2015-06-11 |
FR2988192B1 (fr) | 2016-01-01 |
CN104321743A (zh) | 2015-01-28 |
WO2013140077A1 (fr) | 2013-09-26 |
FR2988192A1 (fr) | 2013-09-20 |
US20150242538A1 (en) | 2015-08-27 |
CN104321768B (zh) | 2018-08-10 |
WO2013140076A2 (fr) | 2013-09-26 |
CN104321768A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104321743B (zh) | 用于开发在通信网络上查询内容和服务的应用程序的方法和*** | |
US11921798B2 (en) | Generating a contextual search stream | |
US7284208B2 (en) | System and method for enabling at least one independent data navigation and interaction activity within a document | |
JP3798709B2 (ja) | サーバ、情報提供方法およびプログラム | |
US9015651B2 (en) | Gateway data distribution engine | |
WO2007115082A2 (en) | Systems and methods of transforming data for web communities and web applications | |
US20110061002A1 (en) | System and method for sending various application programming interfaces to a customized user interface | |
WO2010042428A2 (en) | Editing web pages | |
JP2007133871A (ja) | ポートレット構成データを交換するための方法、ポータル、およびコンピュータ・プログラム | |
US10331760B2 (en) | Operating a portal enviornment | |
US20090222721A1 (en) | Internet access GUI for mobile devices | |
CN114528473A (zh) | 一种基于WebSocket的信息集成发布方法及*** | |
CN114461209A (zh) | 页面配置与切换方法、装置、设备及存储介质 | |
KR101748245B1 (ko) | 3d 프린팅 데이터 서비스 제공 방법 | |
JP4147236B2 (ja) | サーバ | |
Linaje et al. | Multi-device context-aware RIAs using a model-driven approach | |
JP2008107987A (ja) | 情報提供装置及び情報提供方法 | |
Steininger | Learning Factory–Assembling Content With Patterns, Models, Frameworks and Tools | |
US20190236122A1 (en) | System, Method and Frameword for Building a Website | |
KR101372580B1 (ko) | 브라우저 ui를 제공하기 위한 방법, 단말 장치, 서버 및 컴퓨터 판독 가능한 기록 매체 | |
Shaari et al. | Achieving “One-Web” through customization and prioritization | |
CN115994258A (zh) | 应用程序的推荐对象预览方法、装置及电子设备 | |
Del Sole et al. | Creating ASP. NET Core Web Applications | |
Upadhyaya et al. | A framework for composing personalized web resources | |
Huff | The Definitive Guide to Stellent Content Server Development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150921 Address after: 201203 Shanghai city Pudong New Area Zuchongzhi Road No. 1 Lane 2288 Spreadtrum Center Applicant after: Zhanxun Communication (Shanghai) Co., Ltd. Address before: French Syria Martinez Gonzalez Applicant before: ABLE FRANCE |
|
GR01 | Patent grant | ||
GR01 | Patent grant |