CN103440134A - 基于webkit内核的存储资源服务的本地扩展方法 - Google Patents

基于webkit内核的存储资源服务的本地扩展方法 Download PDF

Info

Publication number
CN103440134A
CN103440134A CN2013103918858A CN201310391885A CN103440134A CN 103440134 A CN103440134 A CN 103440134A CN 2013103918858 A CN2013103918858 A CN 2013103918858A CN 201310391885 A CN201310391885 A CN 201310391885A CN 103440134 A CN103440134 A CN 103440134A
Authority
CN
China
Prior art keywords
cpp
idl
file
webkit
user
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.)
Pending
Application number
CN2013103918858A
Other languages
English (en)
Inventor
段翰聪
詹文翰
秦小寒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2013103918858A priority Critical patent/CN103440134A/zh
Publication of CN103440134A publication Critical patent/CN103440134A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于webkit内核的存储资源服务的本地扩展方法,主要解决了现有技术中存在的webkit动态加载本地库的能力较差,且在webkit中扩展自己应用的能力较差,无法满足用户需求的问题。该基于webkit内核的存储资源服务的本地扩展方法,包括以下步骤:webkit根据用户提供的.idl文件编译生成JSXXX.cpp、JSXX.h、webkitDOMXXX.cpp、webkitDOMXXX.h及webkitDOMXXXPrivate.h文件;用户将与页面展示有关的扩展操作放置到/Source/webCore/page目录下,并将该扩展操作的接口函数编写入对应的.cpp文件中;根据用户的扩展操作编写符合WEBIDL规范的idl文件,并对makefile.am文件的编译过程、DOMWindow.h、DOMWindow.cpp和DOMWindow.idl进行相应修改。通过上述方案,本发明达到了扩展性较高、使用方便的目的,具有很高的实用价值和推广价值。

Description

基于webkit内核的存储资源服务的本地扩展方法
技术领域
 本发明涉及一种扩展方法,具体地说,是涉及一种基于webkit内核的存储资源服务的本地扩展方法。
背景技术
随着无线通信技术的发展,移动终端日益普及,移动互联网用户和业务呈***式增长,预计未来3年内中国的移动互联网用户将超过电脑上网用户,5年内,移动互联网业务的规模将超过传统的互联网。
同时,随着互联网的不断发展,数据在网络上所呈现出的形式越来越多,数据的规模也以超出人们想象的速度增长,单凭一台或几台服务器的处理能力是远远满足不了需求的。而对于很多大型运营商,其业务对数据集进行计算和分析的能力对计算资源提出了非常高的要求,并且在业务服务处理方面对***的可靠性、容错性和一致性等性能方面都提出了挑战,因而,采用分布式计算引擎平台成为了可能,充分利用单个计算资源的能力来对大规模数据集进行处理,这也就是我们的云存储后台***所提供的功能。
浏览器作为互联网时代用户入网的入口,在网络中的地位不言而喻,如何实现快速开发、部署各类业务,满足用户在学***台运行等优点,成为新一代移动互联网终端应用的最佳技术。目前,全球包括***、沃达丰、雅虎、谷歌、诺基亚等诸多知名的电信运营商、互联网公司、手机终端厂商都相继推出自己的Widget产品,Widget应用已成为终端用户的新宠。而webkit作为当前主流的浏览器内核也成为了Widget内核的首选,然而webkit动态加载本地库的能力较差,且在webkit中扩展自己应用的能力较差,无法满足用户需求。
发明内容
本发明的目的在于提供一种基于webkit内核的存储资源服务的本地扩展方法,主要解决现有技术中存在的webkit动态加载本地库的能力较差,且在webkit中扩展自己应用的能力较差,无法满足用户需求的问题。
为了实现上述目的,本发明采用的技术方案如下:
基于webkit内核的存储资源服务的本地扩展方法,包括以下步骤:
(1)webkit根据用户提供的.idl文件编译生成JSXXX.cpp、JSXX.h、webkitDOMXXX.cpp、webkitDOMXXX.h及webkitDOMXXXPrivate.h文件;
(2)用户将与页面展示有关的扩展操作放置到/Source/webCore/page目录下,并将该扩展操作的接口函数编写入对应的.cpp文件中;
(3)根据用户的扩展操作编写符合WEB IDL规范的idl文件,并对makefile.am文件的编译过程、DOMWindow.h、DOMWindow.cpp和DOMWindow.idl进行相应修改。本发明中的修改方式优选在DOMWindow.idl属性栏添加DOMWindow.h中声明的对象名称,属性值设为Replaceable。
所述步骤(3)中,makefile.am文件的编译过程如下:
(3a)在Source/WebCore下的GNUmakefile.list.am中添加对应的h、cpp、idl、JSXXX.h和JSXXX.cpp文件;
(3b)在Source/WebCore/bindings/gobject下的GNUmakefile.am中添加对应的WebKitDOMXXX.h和WebkitDOMXXX.cpp文件。
具体地说,所述idl文件包括idl属性、接口属性和参数。
与现有技术相比,本发明具有以下有益效果:
(1)通过使用本发明,用户可以便捷地通过操作界面的形式进行服务的接入,大大提升了整套***的用户体验,通过与云存储后台服务***的协作能够提供给用户较便捷的存储服务的操作、实现本地的扩展,从而降低了前端用户的操作复杂度、增加了整个***的通用性,可以使用户方便、快捷的通过网页的形式接受云存储***等提供的服务,具有突出的实质性特点和显著进步,适合大规模推广应用。
具体实施方式
下面结合实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
为了解决现有技术中存在的webkit动态加载本地库的能力较差,且在webkit中扩展自己应用的能力较差,无法满足用户需求的问题,本发明公开了一种基于webkit内核的存储资源服务的本地扩展方法,由于现有技术中外部用户主要通过HTTP协议与网关进行交互,由网关进行协议转换之后再与内部存储***交互,内部存储***根据请求进行相应的服务之后再将回复请求发送至网关,再由网关对外提供客户请求的回复,因而,本发明对前端与网关之间交互的部分进行了研发改进,通过将云存储***的API添加至webkit内核中实现对浏览器功能的扩展,其主要包括以下步骤:
采用binding的方式,即webkit根据用户提供的.idl 文件编译生成JSXXX.cpp、JSXXX.h、WebKitDOMXXX.cpp、WebKitDOMXXX.h及WebKitDOMXXXPrivate.h文件,其中,生成的JSXXX.cpp和JSXXX.h与服务器中原有的JavascriptCore相关联; 
将与页面展示有关的扩展操作放到/Source/webCore/page目录下;
编写接口函数,将接口函数编写入用户需要的.cpp文件中;编写包括IDL属性、接口属性和参数等的idl文件,其中,IDL接口规范参考WEB IDL规范;对DOMWindow.h、DOMWindow.cpp和DOMWindow.idl进行相应修改;
修改makefile.am文件的编译过程,即在Source/WebCore下的GNUmakefile.list.am中添加对应的h、cpp和idl文件以及JSXXX.h和JSXXX.cpp;在Source/WebCore/bindings/gobject下的GNUmakefile.am中添加对应的WebKitDOMXXX.h、WebkitDOMXXX.cpp。
以DOMWindow和JSDOMWindow为例,其中,JSDOMWindow只提供接口的语义,DOMWindow提供其具体的实现。通过HTML到JS再到C++的三级映射关系最终实现它的功能,即在HTML中调用javascript接口,而javascript与C++之间为接口与实现的关系,即接口采用javascript方式进行定义而接口的实现采用C++的方式。其中与后台服务***交互的部分通过C++对象进行封装,将封装好的对象放入/WebCore/page目录下;同时,编写IDL文件,***会根据IDL文件解析并转化为JS的调用接口以便与上层接口发生联系。
按照以上步骤,就可以实现相应接口的本地功能扩展。
本发明中,API主要模拟了HTTP协议的报文格式,对HTTP协议进行了封装,通过发送HTTP报文对后台服务器提出请求来实现用户所需的功能。为了得以实现,需通过webkit在应用层加载html页面的方式调用应用层API接口。接口释义如表1:
表1
本发明中,每一个报文请求都必须包含通讯交互的完整报文格式,本次报文的状态与之前报文的状态无关。REST描述了一个架构样式的互联***,REST约束条件作为一个整体应用时,将生成一个简单、可扩展、有效、安全、可靠的架构。
整套云存储***的服务过程如下:用户通过调用注册接口向后台发出请求,注册成功之后用户用账号登陆到***之中,进行自己所需要的操作。文件按片存取,存储过程分为数据存储和元数据存储,在整个文件的所有分片都上传成功之后上传文件元数据,下载为其逆过程;目录操作只是针对其元数据信息的操作。其中文件操作分为:上传、下载、删除和查询;目录操作分为:创建、删除、获取目录和获取目录状态。
应用层用户通过将给定的html文件从浏览器中加载的方式调用应用层javascript API,进而调用底层C++的实现,向我们的后台服务器发送命令,要求后台服务器提供服务。为此,我们会提前按照用户的需求以及我们后台服务器所能提供的功能服务设计接口。我们的接***互部分主要涉及的是与网关之间的交互,因此我们需要模拟对HTTP协议的封装以及解析,基本的原理是我们将HTTP报文协议按照我们自己的需求封装,由网关端的web server先进行协议请求的解析,并将解析好的相应的状态请求字段发送至网关,再由网关根据不同的字段释义进行不同的操作,回复过程为其逆过程,最后回复报文由web server发送至前端用户。
以上传文件片的接口为例:
将设计好的接口写到WebCore/page下对应封装好的文件中,参数为需要上传的文件的绝对路径。
上传过程分为上传数据与元数据信息,将文件按照一定的大小进行分片,按照设计好的HTTP协议格式,将数据上传;在完成整个文件数据上传成功之后,将文件的元数据信息按照设计的格式封装后进行上传,上传成功标志整个文件上传成功。
上传的HTTP报文会先交付至网关端的web server进行协议解析,并将相应的解析字段如用户的验证信息、文件分片信息、文件片的唯一哈希值等发送至网关,由网关根据不同的字段进行对应的协议转换,将信的协议请求发送至后台服务***,由服务***完成相应的操作。
将对应的接口按照WEB IDL格式规范添加到对应的.idl文件中,以便生成对应的JS调用接口,与应用层接口发生联系。
以HTML编写对应的调用接口,以我们所提到的接口三级映射调用方式进行接口的调用工作。
其余接口的操作规范类似,我们所封装的实例都是基于网页的操作实例,故都要将其放置于page目录下,并在DOMWindow对象中创建它们的单例实例,换句话说,它们是以全局对象的方式放置存在的,由于本发明中各参数的编写和调用行为为行业内十分成熟的技术,因而在此不作更多说明。
按照上述实施例,便可很好地实现本发明。

Claims (3)

1.基于webkit内核的存储资源服务的本地扩展方法,其特征在于,包括以下步骤:
(1)webkit根据用户提供的.idl文件编译生成JSXXX.cpp、JSXX.h、webkitDOMXXX.cpp、webkitDOMXXX.h及webkitDOMXXXPrivate.h文件;
(2)用户将与页面展示有关的扩展操作放置到/Source/webCore/page目录下,并将该扩展操作的接口函数编写入对应的.cpp文件中;
(3)根据用户的扩展操作编写符合WEB IDL规范的idl文件,并对makefile.am文件的编译过程、DOMWindow.h、DOMWindow.cpp和DOMWindow.idl进行相应修改。
2. 根据权利要求1所述的基于webkit内核的存储资源服务的本地扩展方法,其特征在于,所述步骤(3)中,makefile.am文件的编译过程如下:
(3a)在Source/WebCore下的GNUmakefile.list.am中添加对应的h、cpp、idl、JSXXX.h和JSXXX.cpp文件;
(3b)在Source/WebCore/bindings/gobject下的GNUmakefile.am中添加对应的WebKitDOMXXX.h和WebkitDOMXXX.cpp文件。
3. 根据权利要求2所述的基于webkit内核的存储资源服务的本地扩展方法,其特征在于,所述idl文件包括idl属性、接口属性和参数。
CN2013103918858A 2013-09-02 2013-09-02 基于webkit内核的存储资源服务的本地扩展方法 Pending CN103440134A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013103918858A CN103440134A (zh) 2013-09-02 2013-09-02 基于webkit内核的存储资源服务的本地扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013103918858A CN103440134A (zh) 2013-09-02 2013-09-02 基于webkit内核的存储资源服务的本地扩展方法

Publications (1)

Publication Number Publication Date
CN103440134A true CN103440134A (zh) 2013-12-11

Family

ID=49693825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013103918858A Pending CN103440134A (zh) 2013-09-02 2013-09-02 基于webkit内核的存储资源服务的本地扩展方法

Country Status (1)

Country Link
CN (1) CN103440134A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714829A (zh) * 2013-12-15 2015-06-17 中国航空工业集团公司第六三一研究所 一种保证目标码和源代码一致性的编译链接方法
CN107547944A (zh) * 2016-06-27 2018-01-05 中兴通讯股份有限公司 接口实现方法及装置、机顶盒
CN108197024A (zh) * 2017-12-28 2018-06-22 深圳Tcl数字技术有限公司 嵌入式浏览器调试方法、调试终端及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100269098A1 (en) * 2005-04-18 2010-10-21 Research In Motion Limited System and Method For Generating A Web Service Definition And Database Schema From Wireless Application Definition
CN102591664A (zh) * 2011-12-31 2012-07-18 四川长虹电器股份有限公司 一种基于嵌入式浏览器的网络账号管理方法
CN103235739A (zh) * 2013-04-25 2013-08-07 深圳市中兴移动通信有限公司 Web程序访问本地数据库的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100269098A1 (en) * 2005-04-18 2010-10-21 Research In Motion Limited System and Method For Generating A Web Service Definition And Database Schema From Wireless Application Definition
CN102591664A (zh) * 2011-12-31 2012-07-18 四川长虹电器股份有限公司 一种基于嵌入式浏览器的网络账号管理方法
CN103235739A (zh) * 2013-04-25 2013-08-07 深圳市中兴移动通信有限公司 Web程序访问本地数据库的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何娅: "嵌入式浏览器扩展机制的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
吴光旭等: "基于WebKit浏览器的本地扩展方法", 《电脑知识与技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714829A (zh) * 2013-12-15 2015-06-17 中国航空工业集团公司第六三一研究所 一种保证目标码和源代码一致性的编译链接方法
CN104714829B (zh) * 2013-12-15 2017-11-28 中国航空工业集团公司第六三一研究所 一种保证目标码和源代码一致性的编译链接方法
CN107547944A (zh) * 2016-06-27 2018-01-05 中兴通讯股份有限公司 接口实现方法及装置、机顶盒
CN108197024A (zh) * 2017-12-28 2018-06-22 深圳Tcl数字技术有限公司 嵌入式浏览器调试方法、调试终端及计算机可读存储介质
CN108197024B (zh) * 2017-12-28 2022-01-04 深圳Tcl数字技术有限公司 嵌入式浏览器调试方法、调试终端及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN102393857B (zh) 一种用网页进行本地调用的方法和***
CN102209111B (zh) 云计算移动网络终端设备开放性跨平台***
CN108055248A (zh) 基于dubbo框架的远程调用方法、服务器及存储介质
TWI670611B (zh) 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統
CN104572843B (zh) 一种页面的加载方法及装置
CN106209925A (zh) 页面加载方法、客户端及***
CN103268319A (zh) 一种基于网页的云浏览器
CN110020329B (zh) 用于生成网页的方法、装置和***
CN104541262A (zh) 用于富因特网应用的透明网络内适配的***和方法
CN105122237A (zh) 共享应用程序状态
TW200521748A (en) Transport and administration model for offline browsing
WO2017114190A1 (zh) 一种文件上传处理方法及装置
CN102043832A (zh) 一种网页上实现跨域请求回调的方法
CN104050212A (zh) 调用网络应用以利用本地设备性能的方法及***
AU2016101498B4 (en) Data Interchange System
CN105701153A (zh) 一种读取网页资源的方法、装置及电子设备
CN103440134A (zh) 基于webkit内核的存储资源服务的本地扩展方法
CN102779045A (zh) 一种界面生成方法、界面编辑器及电子设备
CN105205151A (zh) 在移动端节约浏览器页面流量的方法及***
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN104980464A (zh) 一种网络请求处理方法、网络服务器和网络***
CN105094787B (zh) 企业互联网应用的处理方法及装置
CN109213955A (zh) 数据处理方法及相关设备
CN113760264A (zh) 多应用之间组件复用的方法和装置
US20160037509A1 (en) Techniques to reduce bandwidth usage through multiplexing and compression

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20131211

RJ01 Rejection of invention patent application after publication