CN101546272B - 一种编译器及其实现方法 - Google Patents
一种编译器及其实现方法 Download PDFInfo
- Publication number
- CN101546272B CN101546272B CN2009101373874A CN200910137387A CN101546272B CN 101546272 B CN101546272 B CN 101546272B CN 2009101373874 A CN2009101373874 A CN 2009101373874A CN 200910137387 A CN200910137387 A CN 200910137387A CN 101546272 B CN101546272 B CN 101546272B
- Authority
- CN
- China
- Prior art keywords
- web
- code
- application program
- app
- page application
- 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
- Stored Programmes (AREA)
Abstract
本发明公开了一种编译器及其实现方法。所述编译器的实现方法包括:在第一网页应用程序Web APP中查找Web服务的调用代码;将查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;将进行了替换操作的第一Web APP进行保存,作为第二Web APP。通过本发明,提高了Web APP在Web OS中的运行效率。
Description
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种编译器及其实现方法。
背景技术
随着网络带宽的增加、网络传输速度的不断提升,基于网络的操作系统(Web-based Operating System,Web OS)应运而生。
网页应用程序(Web APP)是基于Web OS运行的应用程序,例如:在Web开放平台上运行的网页游戏就是一种Web APP。Web APP可由Web OS官方作为开发者,也可以由任何第三方作为开发者。目前,越来越多的第三方开发的Web APP得到广泛关注和应用。
在现有技术中,第三方开发的Web APP可以部署于Web OS中。Web OS通过超文本传输协议(HTTP)或者安全版的HTTP(HTTPS)启动Web APP。Web APP也只能基于HTTP或HTTPS协议,通过Web服务来调用Web OS的相应功能,该调用过程可以包括:Web APP发出调用Web OS的功能的请求;Web服务响应接收到的请求,解析该请求中包含的参数,进行安全确认,然后使用解析出的参数调用Web OS中的相应功能,当Web OS中的相应功能执行完毕后,Web服务将执行结果提供给Web APP。Web APP用伪代码构造页面展现代码,并返回至Web OS。Web OS将伪代码替换为标准页面展现代码,完成展现。
在对现有技术的研究和实践过程中,发明人发现现有技术中存在以下问题:Web APP需要基于HTTP或HTTPS协议调用Web服务,而HTTP或HTTPS协议效率较低,从而导致Web APP在Web OS中运行效率较低。
发明内容
本申请实施例的目的是提供一种编译器及其实现方法,以提高第三方开发的Web APP在Web OS中的运行效率。
一种编译器的实现方法,所述方法包括:
在第一网页应用程序Web APP中查找Web服务的调用代码;
将查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
将进行了替换操作的第一Web APP进行保存,作为第二Web APP。
优选地,所述将查找到的Web服务的调用代码替换为Web OS的内部接口函数包括:
根据系统函数字典的第一映射关系用Web OS系统内部接口函数代码替换Web服务的调用代码,所述第一映射关系用于提供Web OS内部接口函数代码与Web服务的调用代码之间的映射关系。
可选地,所述方法还包括:
根据系统函数字典的第二映射关系把Web服务参数合理地转换成WebOS系统内部接口函数参数,所述第二映射关系用于提供Web OS内部接口函数参数与Web服务参数之间的映射关系。
可选地,在进行保存之前,所述方法还包括:
根据用户标签,确定内部接口函数的执行逻辑,并根据确定的执行逻辑对当前的Web APP代码重新进行代码组织。
可选地,在进行保存之前,所述方法还包括:
在当前的Web APP中查找不安全代码和/或伪代码;
将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码。
可选地,所述方法还包括:
将所述第二Web APP部署在所述Web OS中,当在所述Web OS中执行所述第二Web APP时,所述第二Web APP直接调用所述Web OS的内部接口函数并构造成标准页面展现代码,将所述标准页面展现代码返回至所述WebOS。
可选地,所述方法还包括:
采用特定编译器对所述第二Web APP进行编译,以生成二进制机器码。
可选地,所述方法还包括:
将所述第二Web APP部署在所述Web OS中,当在所述Web OS中执行所述第二Web APP时,所述第二Web APP直接调用所述Web OS的内部接口函数并构造成页面展现代码,将所述页面展现代码返回至所述Web OS。
一种运行WebAPP的方法,所述方法包括:
在第一Web APP中查找Web服务的调用代码;
将查找到的Web服务的调用代码替换为Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
将进行了替换操作的第一Web APP进行保存,作为第二Web APP;
将所述第二WebAPP部署在所述Web OS中;
当启动所述第二Web APP时,所述第二Web APP调用所述Web OS的内部接口函数,并根据返回结果构造页面展现代码,将所述页面展现代码返回至所述Web OS。
可选地,所述方法还包括:
在进行保存之前,在当前的Web APP中查找不安全代码和/或伪代码;将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
当启动所述第二Web APP时,所述第二Web APP调用所述Web OS的内部接口函数并根据结果构造标准页面展现代码,将所述标准页面展现代码返回至所述Web OS。
一种编译器,所述编译器部署在服务器中,所述编译器包括:
查找单元,用于在第一Web APP中查找Web服务的调用代码;
第一替换单元,用于将所述查找单元查找到的Web服务的调用代码替换为Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
保存单元,用于在所述第一Web APP经过所述第一替换单元的操作后进行保存,作为第二Web APP。
可选地,所述编译器还包括:
组织单元,用于根据用户标签,确定接口函数的执行逻辑,并根据确定的执行逻辑对所述第一Web APP或者经过所述第一替换单元的操作后的第一Web APP重新进行代码组织;
所述保存单元用于在所述第一Web APP经过所述第一替换单元以及所述组织单元的操作后进行保存,作为第二Web APP。
可选地,所述编译器还包括:
第二替换单元,用于在所述第一Web APP中、在经过所述第一替换单元的操作后的第一Web APP中、或者在经过所述第一替换单元以及所述组织单元操作后的第一Web APP中查找不安全代码和/或伪代码;将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
所述保存单元用于在所述第一Web APP经过所述第一替换单元以及所述第二替换单元的操作后进行保存,作为第二Web APP;
或者,所述保存单元用于在所述第一Web APP经过所述第一替换单元、所述组织单元以及所述第二替换单元的操作后进行保存,作为第二Web APP。
可以看出,本申请实施例将第一Web APP中Web服务的调用代码替换为Web OS的内部接口函数,将进行了替换操作的第一Web APP另存为第二WebAPP,从而实现了对第一Web APP的编译。
当第二Web APP在Web OS中运行时,不用再基于HTTP或HTTPS协议调用Web服务,而是直接调用Web OS的内部接口函数,完成调用操作后,第二Web APP根据执行结果,构造成页面展现代码或者标准页面展现代码并返回给Web OS。Web OS完成展现,从而提高了Web APP在Web OS中的运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一编译器执行的步骤的流程图;
图2为本申请实施例一在Web OS中运行第二Web APP的方法流程图;
图3为本申请实施例二编译器执行的步骤的流程图;
图4为本申请实施例三编译器结构框图;
图5为本申请实施例四编译器结构框图;
图6为本申请实施例硬件实现结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
首先,对在本申请具体实施方式中所使用的各种术语作以简要说明。
1.Web服务
Web服务是一种基于HTTP/HTTPS的Web OS的开放接口,可以获取WebOS中的数据或者对Web OS中的数据执行增加、删除或者修改等操作。
2.Web OS
Web OS具有集中的、全面的、友好的Web资源访问能力,它可以支持丰富的网络操作,例如:网页浏览、信息搜索,收发邮件、网页游戏等。同时类似传统操作系统的特征,Web OS也具有管理和运行安装在系统内的网页应用程序(Web APP)的能力。
请参考图1,为本申请实施例一编译器执行的步骤的流程图,可以包括以下步骤:
步骤101:在第一Web APP中查找Web服务的调用代码;
步骤102:将查找到的Web服务的调用代码替换为Web OS的内部接口函数代码,所述接口函数的功能与所述Web服务的调用代码相对应;
步骤103:将进行了替换操作后的第一Web APP进行保存,作为第二WebAPP。
在图1所示步骤中,第一Web APP通常是第三方开发好的Web APP,为实现该Web APP的运行,需要将该第一Web APP上传至Web OS服务器中,第二Web APP是经过步骤101至步骤103后生成的新的Web APP。
可以看出,本申请实施例将第一Web APP中Web服务的调用代码替换为Web OS的接口函数,将进行了替换操作的第一Web APP另存为第二WebAPP,从而实现了对第一Web APP的编译。
请参考图2,为本申请实施例一在Web OS中运行第二Web APP的方法流程图:
步骤201:在第一Web APP中查找Web服务的调用代码;
步骤202:将查找到的Web服务的调用代码替换为Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
步骤203:将进行了替换操作的第一Web APP进行保存,作为第二WebAPP;
步骤204:将所述第二Web APP部署在所述Web OS中;
步骤205:当启动所述第二Web APP时,所述第二Web APP调用所述Web OS的内部接口函数并根据结果构造页面展现代码,将所述页面展现代码返回至所述Web OS。
当第二Web APP在Web OS中运行时,不用再基于HTTP或HTTPS协议调用Web服务,而是直接调用Web OS的内部接口函数,根据内部接口函数执行的结果,用伪代码构造成页面展现代码并返回给Web OS。由Web OS将伪代码替换为标准页面展现代码,完成展现。从而提高了Web APP在Web OS中的运行效率。
此外,在对第一Web APP编译的过程中,还可以将不安全代码替换为安全代码,将伪代码替换为标准展现代码。当第二Web APP在Web OS中运行时,根据内部接口函数执行的结果,构造标准页面展现代码并返回给Web OS,Web OS完成展现,进一步提高了WebAPP在Web OS中的运行效率。
下面以一个更具体的实施例对本申请进行说明。
为了实现图1所示步骤,本申请实施例提供了一种编译器。所述编译器可以包括两种存在方式,第一种存在方式为:所述编译器运行于Web OS中,仅独立于Web APP,第二种存在方式为:所述编译器独立于Web OS以及WebAPP,单独存在。
请参考图3,为本申请实施例一在Web OS中运行第二Web APP的方法流程图,可以包括以下步骤:
步骤301:启动对第一Web APP的编译;
步骤302:编译器读入第一WebAPP的源代码;
步骤303:编译器根据系统函数字典,在读入的源代码中查找Web服务的调用代码;
编译器包括一个系统函数字典,所述系统函数字典包括第一映射关系,还可以包括第二映射关系。所述第一映射关系用于提供Web OS内部接口函数代码与Web服务的调用代码之间的映射关系。所述第二映射关系用于提供Web OS内部接口函数参数与Web服务参数之间的映射关系。
步骤304:编译器查找到Web服务的调用代码后,根据第一映射关系,用Web OS系统内部接口函数代码替换Web服务的调用代码;
可选地,编译器还可以根据第二映射关系把Web服务参数合理地转换成Web OS系统内部接口函数参数,例如:可以包括参数顺序的转换。
编译器用Web OS系统内部接口函数代码替换Web服务的调用代码的实现方式不局限于此。
步骤305:编译器根据用户标签,确定接口函数的执行逻辑,并根据确定的执行逻辑对进行了替换操作的第一Web APP重新进行代码组织;
需要指出的是,步骤305为可选项。具体的执行逻辑包括并行处理以及串行处理。步骤305的执行可以根据执行逻辑完成相应操作。
并行处理可以进一步提高Web APP在Web OS中的运行效率。
步骤306:编译器查找不安全代码以及伪代码,将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
需要指出的是,步骤306为可选项。步骤306的执行使得后来Web OS在执行第二Web APP时,无需对不安全代码进行处理,不存在将伪代码替换为标准页面展现代码的过程,从而进一步提高了Web APP在Web OS中的运行效率,同时,保证了第三方提交的Web APP的安全性。
通过步骤306中对伪代码的替换,实现了伪代码到HTML代码、或者javascript代码,或者css代码等的转换。
在本实施例中,步骤303至步骤306的执行时机并不局限于此,例如:步骤305以及步骤306的执行时机可以互相调换。
步骤307:编译器对完成上述步骤301至步骤306后的代码进行保存,作为第二Web APP。
第二Web APP本身是执行代码,所述执行代码可以是Web APP编写代码的同类代码,也可以是其它中间代码,甚至是二进制可执行机器码。
需要说明的是,编译器还可以基于第二Web APP,采用特定编译器进行再次编译,从而生成更高速的二进制机器码。所述特定编译器具有将代码生成更高速的二进制机器码的功能,例如GCC(the GNU Compiler Collection,GNU编译器集合),GCC可以将C++等代码生成更高速的二进制机器码。
以上对本申请提供的编译器执行的操作进行了详细说明。第一Web APP经过步骤301至步骤307,生成第二Web APP。
第二Web APP在Web OS中完成部署后,用户运行第二Web APP,第二Web APP直接调用Web OS的内部接口函数。经过编译器生成的第二Web APP已经对不安全代码进行了处理,并将伪代码转换成了标准页面展现代码,并且由于编译器是官方提供的,因此,第二Web APP可以根据执行结果直接构造标准页面展现代码,第二Web APP将构造的标准页面展现代码返回至WebOS,Web OS完成展现。为了更好地对本申请的实施例进行说明,下面介绍一个具体实例。
第一Web APP可以参考如下实例:
<?php
$a=web_service_get_user_friends();//获取当前用户的朋友列表
$b=web_service_get_all_mssage();//获得当前用户收到的消息
$d=$a+”不安全代码,如javacript代码等”+“伪代码X”+$b;//排版,形成表格形式的数据展现代码
echo$d;//在浏览器中展现这些代码
?>
编译器的编译功能被运行后,编译器读入上述代码,根据读入的代码的编写语言类型载入相应的系统函数字典,例如:编译器根据代码开始标志“<?php”以及代码结束标志“?>”可以确定读入的代码类型为php,载入的php版本系统函数字典的第一映射关系包括:web_service_get_user_friends对应于internal_get_user_friends;web_service_get_all_mssage对应于internal_get_all_mssage。
从读入的代码中查找Web服务的调用代码,在本具体实例中,Web服务的调用代码包括:web_service_get_user_friends(),以及web_service_get_all_mssage()。编译器查找到这些Web服务的调用代码后,与载入的系统函数字典进行比较,发现与查找到的Web服务的调用代码对应的Web OS系统内部接口函数后,用Web OS的内部接口函数替换掉这些Web服务的调用代码,替换后,第一Web APP变为:
<?php
$a=internal_get_user_friends();//获取当前用户的朋友列表
$b=internal_get_all_mssage();//获得当前用户收到的消息
$d=$a+”不安全代码,如javacript代码等”+“伪代码X”+$b;//排版,形成表格形式的数据展现代码
echo$d;//在浏览器中展现这些代码
?>
编译器继续执行,在上述代码中查找不安全代码和伪代码,将查找到的不安全代码替换为安全代码,并将伪代码替换成标准页面展现代码,具体为:
<?php
$a=internal_get_user_friends();//获取当前用户的朋友列表
$b=internal_get_all_mssage();//获得当前用户收到的消息
$d=$a+”安全代码”+“真实代码Y”+$b;//排版,形成表格形式的数据展现代码
echo$d;//在浏览器中展现这些代码
?>
编译器对上述代码进行保存,将保存的代码作为第二Web APP。
至此,第二Web APP将代替第一Web APP部署在Web OS中,供用户通过Web OS运行使用它。
由于第二Web APP在运行过程中,不再通过HTTP或者HTTPS协议调用Web服务,而是直接调用Web OS的内部接口函数:internal_get_user_friends()和internal_get_all_mssage()。由于这些内部接口函数不再需要基于HTTP或HTTPS协议,甚至不需要网络通信,而是直接调用Web OS的内部接口函数,同时由于这些调用是可以信赖的,不需要进行额外的安全认证检测,所以WebAPP在Web OS中的运行效率获得大幅度的提升。
此外,由于编译器已经处理了不安全代码和伪代码,所以此时第二WebAPP相对Web OS而言是可以信赖的,所以第二Web APP在运行时,Web OS就可以不再对不安全代码进行处理,不再需要将伪代码转换为标准页面展现代码,进一步提高了Web APP在Web OS中的运行效率。
请参考图4,为本申请实施例三编译器结构框图,所述编译器位于服务器中,用于提高Web APP在Web OS中的运行效率,可以包括:
查找单元401,用于在第一Web APP中查找Web服务的调用代码;
第一替换单元402,用于将所述查找单元401查找到的Web服务的调用代码替换为Web OS的内部接口函数,所述接口函数代码的功能与所述Web服务的调用代码相对应;
保存单元403,用于在所述第一Web APP经过所述第一替换单元402的操作后进行保存,作为第二Web APP。
下面以一个更具体的实施例对本申请的编译器进行说明。
请参考图5,为本申请实施例四编译器结构框图,可以包括:
查找单元501,用于在第一Web APP中查找Web服务的调用代码;
第一替换单元502,用于将所述查找单元501查找到的Web服务的调用代码替换为Web OS的内部接口函数,所述接口函数代码的功能与所述Web服务的调用代码相对应;
组织单元503,用于根据用户标签,确定接口函数的执行逻辑,并根据确定的执行逻辑对所述第一Web APP或者经过所述第一替换单元502的操作后的第一Web APP重新进行代码组织;
第二替换单元504,用于在经过所述第一替换单元502以及所述组织单元503操作后的第一Web APP中查找不安全代码和/或伪代码;将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
保存单元505,用于在所述第一Web APP经过所述第一替换单元502、所述组织单元503以及所述第二替换单元504的操作后进行保存,作为第二Web APP。
需要指出的是,组织单元503和/或第二替换单元504为可选项。
在图5中,当第一替换单元502执行完操作后,组织单元503执行操作,结束后,再由第二替换单元504执行操作。需要说明的是,组织单元503与第二替换单元504执行步骤的时机可以互换,组织单元503和/或第二替换单元504执行步骤的时机可以在查找单元501执行之前进行。
当编译器经过上述各单元执行的操作,生成第二Web APP后,第二WebAPP将代替第一Web APP部署在Web OS中。第二Web APP在Web OS中完成部署后,用户运行第二Web APP,第二Web APP直接调用Web OS的内部接口函数并根据执行结果构造成标准页面展现代码,第二Web APP将构造的标准页面展现代码返回至Web OS,Web OS完成展现。
可以看出,由于第二Web APP在运行过程中,不再基于HTTP或者HTTPS协议调用Web服务,而是直接调用Web OS的内部接口函数。由于这些内部接口函数不再需要基于HTTP或HTTPS协议,甚至不需要网络通信,而是直接Web OS的内部接口函数,同时由于这些调用是可以信赖的,不需要进行额外的安全认证检测,所以Web APP在Web OS中的运行效率获得大幅度的提升。
此外,由于编译器已经处理了不安全代码和伪代码,所以第二Web APP在运行时,Web OS就可以不再进行不安全代码的过滤处理,不再需要进行伪代码转换步骤,这进一步提高了Web APP在Web OS中的运行效率。而且,由于根据接口函数的执行逻辑对代码进行的重新组织,对于可以并行处理的操作进行并行处理后,也提高了Web APP在Web OS中的运行效率。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
请参考图6,为本申请实施例硬件实现结构示意图。,其中,Web OS601、本申请实施例提供的编译器602以及Web APP603位于服务器604中。编译器603可以作为Web OS601的一部分,也可以独立存在(图6所示为编译器603独立存在的情况),所执行的操作请参见前文所述。Web APP602经过编译器603执行的操作生成一个新的Web APP。在运行时,新生成的Web APP将直接调用Web OS的内部接口函数并构造页面展现代码或者标准页面展现代码并返回给Web OS。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (10)
1.一种编译器的实现方法,其特征在于,所述方法包括:
在第一网页应用程序Web APP中查找Web服务的调用代码;
将查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
根据用户标签,确定内部接口函数的执行逻辑,并根据确定的执行逻辑对进行了替换操作的第一网页应用程序Web APP代码重新进行代码组织;
将进行了替换操作的第一网页应用程序Web APP进行保存,作为第二网页应用程序Web APP;
将所述第二网页应用程序Web APP部署在所述基于网络操作系统WebOS中,当在所述基于网络操作系统Web OS中执行所述第二网页应用程序Web APP时,所述第二网页应用程序Web APP直接调用所述基于网络操作系统Web OS的内部接口函数并构造成标准页面展现代码,将所述标准页面展现代码返回至所述基于网络操作系统Web OS。
2.根据权利要求1所述的方法,其特征在于,所述将查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数包括:
根据系统函数字典的第一映射关系用基于网络操作系统Web OS系统内部接口函数代码替换Web服务的调用代码,所述第一映射关系用于提供基于网络操作系统Web OS内部接口函数代码与Web服务的调用代码之间的映射关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据系统函数字典的第二映射关系把Web服务参数合理地转换成基于网络操作系统Web OS系统内部接口函数参数,所述第二映射关系用于提供基于网络操作系统Web OS内部接口函数参数与Web服务参数之间的映射关系。
4.根据权利要求1所述的方法,其特征在于,在进行保存之前,所述方法还包括:
在进行了替换操作的第一网页应用程序Web APP中查找不安全代码和/或伪代码;
将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用具有将代码生成更高速的二进制机器码的功能的编译器对所述第二网页应用程序Web APP进行编译,以生成二进制机器码。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第二网页应用程序Web APP部署在所述基于网络操作系统WebOS中,当在所述基于网络操作系统Web OS中执行所述第二网页应用程序Web APP时,所述第二网页应用程序Web APP直接调用所述基于网络操作系统Web OS的内部接口函数并构造成页面展现代码,将所述页面展现代码返回至所述基于网络操作系统Web OS。
7.一种运行Web APP的方法,其特征在于,所述方法包括:
在第一网页应用程序Web APP中查找Web服务的调用代码;
将查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数代码,所述接口函数代码的功能与所述Web服务的调用代码相对应;
根据用户标签,确定内部接口函数的执行逻辑,并根据确定的执行逻辑对进行了替换操作的第一网页应用程序Web APP代码重新进行代码组织;
将进行了替换操作的第一网页应用程序Web APP进行保存,作为第二网页应用程序Web APP;
将所述第二网页应用程序Web APP部署在所述基于网络操作系统WebOS中;
当启动所述第二网页应用程序Web APP时,所述第二网页应用程序WebAPP调用所述基于网络操作系统Web OS的内部接口函数,并根据返回结果构造页面展现代码,将所述页面展现代码返回至所述基于网络操作系统WebOS。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在进行保存之前,在进行了替换操作的第一网页应用程序Web APP中查找不安全代码和/或伪代码;将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
当启动所述第二网页应用程序Web APP时,所述第二网页应用程序WebAPP调用所述基于网络操作系统Web OS的内部接口函数并根据结果构造标准页面展现代码,将所述标准页面展现代码返回至所述基于网络操作系统Web OS。
9.一种编译器,其特征在于,所述编译器部署在服务器中,所述编译器包括:
查找单元,用于在第一网页应用程序Web APP中查找Web服务的调用代码;
第一替换单元,用于将所述查找单元查找到的Web服务的调用代码替换为基于网络操作系统Web OS的内部接口函数代码,所述内部接口函数代码的功能与所述Web服务的调用代码相对应;
组织单元,用于根据用户标签,确定所述内部接口函数的执行逻辑,并根据确定的执行逻辑对进行了替换操作的第一网页应用程序Web APP重新进行代码组织;
保存单元,用于在所述第一网页应用程序Web APP经过所述第一替换单元以及所述组织单元的操作后进行保存,作为第二网页应用程序Web APP;
部署单元,用于将所述第二网页应用程序Web APP部署在所述基于网络操作系统Web OS中,当在所述基于网络操作系统Web OS中执行所述第二网页应用程序Web APP时,所述第二网页应用程序Web APP直接调用所述基于网络操作系统Web OS的内部接口函数并构造成标准页面展现代码,将所述标准页面展现代码返回至所述基于网络操作系统Web OS。
10.根据权利要求9所述的编译器,其特征在于,所述编译器还包括:
第二替换单元,用于在所述第一网页应用程序Web APP中、在经过所述第一替换单元的操作后的第一网页应用程序Web APP中、或者在经过所述第一替换单元以及所述组织单元操作后的第一网页应用程序Web APP中查找不安全代码和/或伪代码;将不安全代码替换为安全代码,将伪代码替换成标准页面展现代码;
所述保存单元用于在所述第一网页应用程序Web APP经过所述第一替换单元以及所述第二替换单元的操作后进行保存,作为第二网页应用程序WebAPP;
或者,所述保存单元用于在所述第一网页应用程序Web APP经过所述第一替换单元、所述组织单元以及所述第二替换单元的操作后进行保存,作为第二网页应用程序Web APP。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101373874A CN101546272B (zh) | 2009-04-29 | 2009-04-29 | 一种编译器及其实现方法 |
HK10103255.2A HK1136659A1 (en) | 2009-04-29 | 2010-03-30 | Compiler and implementation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101373874A CN101546272B (zh) | 2009-04-29 | 2009-04-29 | 一种编译器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101546272A CN101546272A (zh) | 2009-09-30 |
CN101546272B true CN101546272B (zh) | 2012-07-25 |
Family
ID=41193420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101373874A Expired - Fee Related CN101546272B (zh) | 2009-04-29 | 2009-04-29 | 一种编译器及其实现方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101546272B (zh) |
HK (1) | HK1136659A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760123B (zh) * | 2011-04-25 | 2015-12-16 | 腾讯科技(深圳)有限公司 | 网页应用上实现多工作区多桌面的布局方法及系统 |
US9280348B2 (en) | 2012-03-28 | 2016-03-08 | International Business Machines Corporation | Decode time instruction optimization for load reserve and store conditional sequences |
CN103051684B (zh) * | 2012-12-07 | 2017-03-15 | 百度在线网络技术(北京)有限公司 | 将网站转化为Web App进行展示的方法、系统和装置 |
CN106203085B (zh) * | 2016-07-08 | 2019-03-01 | 东软集团股份有限公司 | 一种编译方法及装置 |
CN109739488A (zh) * | 2018-12-29 | 2019-05-10 | 深圳点猫科技有限公司 | 调用第三方库执行python代码的方法以及电子设备 |
CN113448619A (zh) * | 2021-06-29 | 2021-09-28 | 上海达梦数据库有限公司 | 跨平台程序的实现方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1513142A (zh) * | 2001-06-04 | 2004-07-14 | Nct���Ź�˾ | 用于使用元素解析来修改数据流的系统及方法 |
CN1848088A (zh) * | 2005-02-18 | 2006-10-18 | 国际商业机器公司 | 将本机接口函数调用转换为更简单操作的方法和系统 |
-
2009
- 2009-04-29 CN CN2009101373874A patent/CN101546272B/zh not_active Expired - Fee Related
-
2010
- 2010-03-30 HK HK10103255.2A patent/HK1136659A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1513142A (zh) * | 2001-06-04 | 2004-07-14 | Nct���Ź�˾ | 用于使用元素解析来修改数据流的系统及方法 |
CN1848088A (zh) * | 2005-02-18 | 2006-10-18 | 国际商业机器公司 | 将本机接口函数调用转换为更简单操作的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101546272A (zh) | 2009-09-30 |
HK1136659A1 (en) | 2010-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101546272B (zh) | 一种编译器及其实现方法 | |
CN111158818B (zh) | 一种页面渲染方法和装置 | |
US8959477B2 (en) | Scripting language for business applications | |
US8997070B2 (en) | Extension mechanism for scripting language compiler | |
CN102622444B (zh) | 一种xml报文处理方法和装置 | |
CN103902857B (zh) | 一种软件程序的保护方法和装置 | |
CN103678091A (zh) | 应用软件崩溃数据的处理方法和装置 | |
CN102831342A (zh) | 一种提高安卓系统中应用程序保护强度的方法 | |
CN102750152A (zh) | 一种基于描述语言生成多种编程语言的应用的方法及装置 | |
CN108376073A (zh) | 一种测试软件包生成方法及终端 | |
CN107370804B (zh) | 软件应用处理方法和装置 | |
CN103176804A (zh) | 一种用户界面实现方法 | |
CN104134039A (zh) | 病毒查杀方法、客户端、服务器以及病毒查杀系统 | |
CN108874464A (zh) | 中间件自动扫描装配方法、装置及存储介质 | |
CN110059456A (zh) | 代码保护方法、代码保护装置、存储介质与电子设备 | |
WO2016095570A1 (zh) | 一种嵌入式系统的调试方法及装置、存储介质 | |
CN101123616A (zh) | 一种服务器管理的方法及一种服务器管理系统 | |
Kim et al. | Reuse-oriented reverse engineering of functional components from x86 binaries | |
KR20160023832A (ko) | 거대 문자 라이브러리 설정 방법 및 장치와 문자 디스플레이 방법 및 장치 | |
CN112307292A (zh) | 基于高级持续性威胁攻击的信息处理方法及系统 | |
CN102779071A (zh) | 软件接口调用方法、装置和系统 | |
US9886251B2 (en) | Optimized compiling of a template function | |
CN103957234A (zh) | 浏览器中下载文件的发送方法和浏览器装置 | |
CN110362317A (zh) | 一种代码转换方法、装置和存储介质 | |
CN101616501A (zh) | 一种应用存储、编译服务器、访问系统和方法及客户终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1136659 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1136659 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20200429 |
|
CF01 | Termination of patent right due to non-payment of annual fee |