用于更新库的方法及用于其的终端和系统与流程

文档序号:11160842阅读:865来源:国知局
用于更新库的方法及用于其的终端和系统与制造工艺

本发明总体上涉及用于更新终端环境中的库的方法,所述终端环境包括可以由多个应用访问的共享存储区域以及分配至应用中的每个应用的非共享存储区域,更具体地,涉及用于更新库的方法以及用于该方法的终端和系统,该方法被配置成:使得共享存储区域包括所有应用可以使用的子库,使得非共享存储区域包括每个应用执行的父库,以及使得父库可以从服务装置接收与子库有关的文件,并且控制所接收的文件,以便当作为子库的版本与服务装置中的库的版本的比较的结果,确定必须更新子库时,使用所接收的文件来代替子库,服务装置中的库的版本是结合服务装置执行的。



背景技术:

在该部分中进行的描述仅仅提供关于本实施例的背景信息,而不包括常规技术。

最近,随着诸如智能电话等终端的性能改进,以及通信技术的快速发展,能够在终端上运行的不同种类的应用已经得到了快速传播,并且已经引入了用于开发应用的不同方法。

目前,由多个应用共同使用的代码和资源被配置并且开发为单独的子程序。这样的子程序被称为“库”。应用开发者以库的形式来提供软件开发工具包(SDK)以增大开发过程的效率。

此处,书面的SDK库通过被包括在开发者的应用中而被构建并且然后被发布,并且可以在运行过程中连同应用代码被执行。

因为SDK库通过被包括在使用库的每个应用中而被发布,所以这是有问题的:在单个终端中可能存在多个相同的SDK库。

此外,因为整个SDK库通过被包括在应用中而被发布,所以这是有问题的:当传送应用时,会消耗大量的网络资源。

此外,因为SDK库在构建应用时被包括在应用中,所以如果更新SDK库,则需要额外的费用来重建和发布应用。



技术实现要素:

技术问题

已经提出了本发明来解决上面提到的现有问题,并且本发明的目的是提供用于更新库的方法以及用于该方法的终端和系统,该方法被配置成使得:在包括可以由多个应用访问的共享存储区域以及分配至应用中的每个应用的非共享存储区域的终端环境中,共享存储区域包括可以由所有应用使用的子库,非共享存储区域包括应用中的每个应用执行的父库,并且父库将子库的版本与服务装置内的库的版本进行比较,当确定需要更新子库时接收与子库有关的文件,并且执行控制使得使用所接收的文件来代替子库。

然而,本发明的目的不限于上面提到的目的,并且将从下面的描述中清楚地理解尚未提到的其他目的。

技术方案

为了实现以上目的,根据本发明的实施例的终端可以被配置成包括:存储单元,存储单元包括分配至每个应用的非共享存储区域和能够由多个应用共享的共享存储区域,非共享存储区域包括分配至每个应用并且能够访问和使用子库的父库,并且共享存储区域包括由多个应用共享的子库以用于向父库提供资源;以及控制单元,其用于当运行应用时通过控制分配至应用的父库来检查服务装置内的库的版本,用于将所检查的版本与共享存储区域内的子库的版本进行比较,用于当发现所检查的版本与子库的版本不同时通过控制父库来从服务装置接收与库有关的文件,用于控制所接收的文件以将其存储在共享存储区域中,以及用于执行控制以用所接收的库来代替先前存储在共享存储区域中的子库。

此处,在控制所接收的库以将其存储在共享存储区域中之后,控制单元可以控制以下过程:在创建父库的类的同时创建子库的类;通过所创建的父库的类来创建对象;以及通过所创建的对象来检索和调用方法以执行由所接收的库提供的功能。

为了实现以上目的,根据本发明的实施例的终端可以被配置成包括:位于能够由多个应用共享的共享存储区域中的子库,其用于响应于来自一个或多个父库的请求而提供资源;以及位于分配至每个应用的非共享存储区域中的一个或多个父库,其用于当运行应用时通过结合服务装置进行操作来检查服务装置内的库的版本,用于作为在它们之间比较的结果,当发现所检查的版本与子库的版本不同时从服务装置接收与库有关的文件,用于控制所接收的文件以将其存储在共享存储区域中,以及用于执行控制以用所接收的库来代替先前存储在共享存储区域中的子库。

此处,父库可以被配置成包括:子库管理单元,其用于确定是否更新了子库;子库加载单元,其用于将从服务装置接收的库存储在共享存储区域中;以及子库调用单元,其用于通过检索类来创建对象以及用于通过所创建的对象来检索和调用方法,以使存储在共享存储区域中的库作为子库来操作。

此处,子库管理单元可以被配置成包括:服务器连接单元,其用于连接至服务装置;版本检查单元,其用于当通过服务器连接单元连接服务装置时,通过查询版本来检查服务装置内的库的版本;以及存储区域连接单元,其用于作为在由版本检查单元检查的库的版本与子库的版本之间进行比较的结果,当发现由版本检查单元检查的库的版本与子库的版本不同时,在检查服务装置的库是否在多个应用间被共享之后连接至存储区域。

此处,当检查使用先前存储的子库的应用时,如果一个或多个应用使用子库,则存储区域连接单元可以确定子库在多个应用间被共享。

为了实现以上目的,根据本发明的实施例的用于更新库的系统可以被配置成包括:服务装置,其用于存储和管理能够由一个或多个应用使用的库;以及终端,其包括非共享存储区域和共享存储区域,非共享存储区域包括分配至应用中的每个应用并且能够访问和使用子库的父库,共享存储区域包括在多个应用间共享的子库以用于向父库提供资源,所述终端被配置成:当运行应用时通过控制分配至应用的父库来检查服务装置内的库的版本;将所检查的版本与共享存储区域内的子库的版本进行比较;当发现所检查的版本与子库的版本不同时通过控制父库来从服务装置接收与库有关的文件;控制所接收的文件以将其存储在共享存储区域中;以及执行控制以用所接收的库来代替先前存储在共享存储区域中的子库。

根据为了实现以上目的的本发明的实施例,提供了一种用于更新终端的环境中的库的方法,所述终端包括非共享存储区域和共享存储区域,非共享存储区域包括分配至每个应用并且能够访问和使用子库的父库,共享存储区域包括在多个应用间共享的子库以用于向父库提供资源,所述方法包括:当运行应用时由终端通过控制分配至应用的父库来检查服务装置内的库的版本;由终端将所检查的版本与共享存储区域内的子库的版本进行比较;当发现所检查的版本与子库的版本不同时,由终端通过控制父库来从服务装置接收与库有关的文件;以及由终端控制所接收的与库有关的文件以将其存储在共享存储区域中;以及由终端控制所接收的库以代替先前存储在共享存储区域中的子库。

根据为了实现以上目的的本发明的实施例,提供了一种用于更新终端的环境中的库的方法,所述终端包括非共享存储区域和共享存储区域,非共享存储区域包括分配至每个应用并且能够访问和使用子库的父库,共享存储区域包括在多个应用间共享的子库以用于向父库提供资源,所述方法包括:当运行向其分配父库的应用时,由父库通过结合服务装置进行操作来检查服务装置内的库的版本;由父库将所检查的版本与子库的版本进行比较;以及作为比较的结果,当发现所检查的版本与子库不同时,由父库执行控制以从服务装置接收与库有关的文件,并且将所接收的文件存储在共享存储区域中;以及由父库执行控制以用所接收的库来代替先前存储在共享存储区域中的子库。

此处,执行控制可以包括:由父库将所接收的库存储在共享存储区域中;由父库在创建父库的类的同时创建子库的类以执行由所接收的库提供的功能;以及由父库控制通过所创建的子库的类来创建对象以及通过所创建的对象来检索和调用方法的过程。

此外,在将所检查的版本与子库的版本进行比较之后,该方法还可以包括:作为比较的结果,当发现所检查的版本与子库不同时,在检查服务装置的库是否在多个应用间被共享之后,通过父库连接至存储区域。

另外,本发明可以提供一种计算机可读记录介质,其记录有用于执行用于更新库的上述方法的程序。

有益效果

根据本发明的用于更新库的方法以及用于该方法的终端和系统,终端环境被实施成包括可以由多个应用访问的共享存储区域和分配至应用中的每个应用的非共享存储区域,共享存储区域包括所有应用可以使用的子库,并且非共享存储区域包括应用中的每个应用执行的父库,从而可以防止复制终端中的库,并且可以更有效地使用终端的资源。

此外,因为仅父库通过被包括在应用中而被发布,所述父库被配置有用于访问包括用于实施实际功能的类、方法和对象的子库的API,所以可以减小应用的大小,从而可以更有效地使用网络资源。

此外,当需要更新在其中实施实际功能的子库时,仅更新可以由多个应用访问和共享的子库,而不需要更新相应的应用,从而有利地可以减小用于维护应用而引起的费用。

此外,可以在根据本发明的实施例的以下详细描述中直接地或隐含地公开除了上面提到的效果以外的不同效果。

附图说明

图1是应用根据本发明的实施例的用于更新库的方法的应用提供系统的示意性框图;

图2是示出根据本发明的实施例的图1中所示的终端的主要部件的框图;

图3是示出根据本发明的实施例的存储单元的构造的框图;

图4是示出根据本发明的实施例的父库的主要部件的框图;

图5是示出根据本发明的实施例的子库的主要部件的框图;

图6是示出根据本发明的实施例的图1中所示的服务装置的主要部件的框图;

图7是用于描述根据本发明的实施例的从服务装置接收库文件以更新库的过程的流程图;

图8是用于描述根据本发明的实施例的用于将库文件导入至子库中的方法的流程图;

图9是用于描述根据本发明的实施例的父库使用更新的子库的方法的流程图;

图10是用于说明通过所创建的子库中的类来调用子库中的方法的过程的流程图。

具体实施方式

在下文中,参考附图来详细描述本发明的优选实施例,以便本领域普通技术人员可以容易地实施本发明。然而,在本发明的优选实施例的以下描述中,如果认为已知功能和构造的详细描述使本发明的要点模糊不清,则将省略详细描述。这旨在通过省略不必要的描述来更清楚地传达本发明的要点。此外,因为本发明可以有不同的变化,并且可以具有不同的实施例,所以将参照附图来详细描述特定实施例。然而,应当理解,那些实施例不旨在将本发明限制为特定公开内容的形式,并且其包括被包括在本发明的精神和范围中的所有改变、等同物或修改。

此外,可以使用包括诸如“第一”、“第二”等序数的术语来描述不同的元件并且区分一个元件与另一元件,但是所述元件不应该被这些术语限制。例如,在不偏离本发明的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。

此外,当第一元件被描述为“连接”或“耦接”至第二元件时,其可以表示第一元件在逻辑上或者在物理上连接或耦接至第二元件。换言之,第一元件可以直接连接或耦接至第二元件,但是应当理解,可以在它们之间插入一些其他元件,或者第一元件可以间接连接或耦接至第二元件。

此外,在本说明书中使用的术语仅仅用于描述特定实施例,而不旨在限制本发明。单数表达方式包括复数表达方式,除非在上下文中具体地指出了相反的描述。在本说明书中,应当理解,诸如“包括”或“具有”等术语仅仅旨在表示存在特征、数量、步骤、操作、部件、部分或其组合,而不旨在排除将存在或添加一个或多个其他的特征、数量、步骤、操作、部件、部分或其组合的可能性。

在下文中,将参照附图来详细描述根据本发明的实施例的用于更新库的方法以及用于该方法的终端和系统。在下面的描述中,在整个附图中,使用相同的附图标记来表示用于执行相同或类似功能和操作的部分,并且将省略与其有关的重复描述。

图1是应用根据本发明的实施例的用于更新库的方法的应用提供系统的示意性框图。

参照图1,根据本发明的实施例的库更新系统100可以被配置成包括终端10、服务装置20和用于在终端10与服务装置20之间发送和接收信息的通信网络30。

示意性地描述部件中的每个部件,首先,终端10意指能够取决于用户的操作,经由通信网络30来发送和接收各种数据的用户的装置。终端10可以通过通信网络30来执行语音或数据通信,并且可以将不同种类的信息发送至服务装置20以及从服务装置20接收不同种类的信息。为此,本发明的终端10可以包括用于发送和接收信息的浏览器、用于在其中存储程序和协议的存储器、用于通过运行不同种类的程序来执行操作和控制的微处理器等。

特别地,根据本发明的实施例的终端10包括存储单元,并且存储单元包括分配至每个应用的非共享存储区域和能够由多个应用共享的共享存储区域。此处,非共享存储区域可以包括分配至每个应用的父库,并且可以通过父库来访问和使用子库,并且共享存储区域可以包括由多个应用共享的子库以用于向父库提供资源。

当实施这样的存储环境时,如果运行任何一个应用,则本发明的终端10通过控制分配至应用的父库来检查服务装置20内的库的版本,并且如果作为在所检查的版本与包括在共享存储区域中的子库的版本之间进行比较的结果而发现所检查的版本与包括在共享存储区域中的子库的版本不同,则可以从服务装置20接收与库有关的文件。此外,终端10可以控制分配至运行的应用的父库以将从服务装置20接收到的库存储在共享存储区域中,并且从而可以用所接收的库来代替先前存储在共享存储区域中的子库。

稍后将对终端10中的存储环境和库更新方法进行更具体的描述。

服务装置20管理库,并且响应于来自终端10的请求而提供库,所述库是一组资源,例如能够执行根据本发明的实施例的特定功能的类、方法和对象。特别地,服务装置20可以控制将库包括在应用中并且发布应用的过程,并且可以响应于来自终端10内的应用的请求而提供能够执行特定功能的库,例如用于广告服务的库。

此外,可以频繁地更新库,所述库是能够执行由服务装置20提供的特定功能的一组资源,并且可以将所更新的库提供至终端10以支持执行终端10中的子库的整个过程。

稍后将对服务装置20的主要部件和操作方法进行更具体的描述,并且安装在根据本发明的实施例的终端10和服务装置20中的处理器可以处理程序指令以用于执行根据本发明的方法。该处理器在一个实施例中可以是单线程处理器,或者在另一实施例中可以是多线程处理器。此外,该处理器可以处理存储在存储器或存储装置中的指令。

此外,根据本发明的实施例的终端10和服务装置20经由通信网络30来发送和接收不同种类的信息,并且在这种情况下,可以使用不同形式的通信网络作为通信网络30。

例如,可以使用无线通信方法或有线通信方法,所述无线通信方法使用无线LAN(WLAN)、Wi-Fi、Wibro、Wimax、高速下行分组接入技术(HSDPA)等,所述有线通信方法使用以太网、xDSL(ADSL或VDSL)、光纤同轴电缆混合(HFC)、光纤到路边(FTTC)、光纤到户(FTTH)等。此外,除了上面提到的通信方法以外,还可以包括众所周知的或者还有待开发的所有种类的通信方法。

在下文中,将描述根据本发明的实施例的终端10的主要部件和操作方法。

图2是示出根据本发明的实施例的图1中所示的终端的主要部件的框图。

参照图1和图2,根据本发明的实施例的终端10可以被配置成包括通信单元11、输入单元12、控制单元13、存储单元14和显示单元15。

更具体地描述部件中的每个部件,首先,通信单元11用于经由通信网络30将不同种类的信息发送至服务装置20以及从服务装置20接收不同种类的信息。具体地,根据本发明的实施例的通信单元11可以接收与由服务装置20提供的库有关的文件,并且可以支持向服务装置20查询库的版本的过程。

输入单元12将由用户输入的不同种类的信息例如数字、汉字等,以及被输入以设置和控制终端10的不同功能的信号传送至控制单元13。特别地,本发明的输入单元12可以提供用户输入装置,可以通过所述用户输入装置来运行用于执行特定功能的应用。

上述输入单元12可以包括诸如键盘或小键盘等键输入单元、诸如触控传感器或触控板等触控输入单元、语音输入单元和手势输入单元,所述手势输入单元包括陀螺仪传感器、地磁传感器、加速传感器、接近度传感器和摄像机中的至少一个。

除了这些示例以外,还可以包括目前正在开发的或者还有待开发的所有形式的输入单元。

控制单元13执行终端10的整体控制,并且可以被配置成在硬件方面包括:包括中央处理器(CPU)/微处理器(MPU)的至少一个处理器;在其中加载和处理一个或多个数据的存储器(例如,寄存器和/或随机存取存储器(RAM));以及总线,其用于从处理器和存储器输入一个或多个数据以及将一个或多个数据输出至处理器和存储器,并且在软件方面包括预定的程序例程或程序数据,可以将其从预定的记录介质加载至存储器中,并且由处理器进行处理以执行在终端10中定义的功能。换言之,在终端10的用于执行根据本发明的实施例的用于更新库的方法的功能中,可以将能够经由软件实现的部件定义为控制单元13的功能。

本发明的控制单元13在功能上与被设置成提供根据本发明的实施例的用于更新库的方法的至少一个部件连接。也就是说,控制单元13在功能上与通信单元11、输入单元12、存储单元14和显示单元15连接,并且控制信号流以用于向部件中每个部件供应电力以及执行功能。控制单元13被配置成包括应用处理模块13a,并且支持将一个或多个应用存储和安装在存储单元14中的过程。此外,当运行所安装的应用时,控制单元13可以发送、接收和处理与相应应用有关的不同种类的信息。

特别地,当运行任何一个应用时,根据本发明的实施例的控制单元13可以:通过控制分配至应用的父库,经由通信单元11来检查服务装置20内的库的版本;作为在所检查的版本与存储在存储单元14的共享存储区域14b中的子库的版本之间进行比较的结果,当发现所检查的版本与存储在存储单元14的共享存储区域14b中的子库的版本不同时,通过控制父库从服务装置20接收与库有关的文件;将所接收的文件存储在存储单元14的共享存储区域14b中;以及用所接收的库来代替先前存储在共享存储区域14b中的库。

在将从服务装置20接收的库存储在存储单元14的共享存储区域14b中以代替先前存储的子库后,控制单元13可以控制以下过程:在创建父库的类的同时创建子库的类;通过经由所创建的父库的类调用方法来访问子库的类;以及调用相应方法以执行由所接收的库提供的功能。

将结合存储在存储单元14中的子库和父库的操作方法来描述控制单元13中的操作。

存储单元14可以存储执行根据本发明的实施例的功能所需的程序,并且可以暂时存储在执行程序期间产生的各种数据。此外,存储单元14可以包括程序区域和数据区域。程序区域存储与终端10的操作有关的信息,例如与终端10的启动过程有关的操作系统(OS)。数据区域可以存储在使用终端装置10时产生的数据,并且可以被分成上面提到的非共享存储区域14a和共享存储区域14b。存储单元14可以被配置成包括存储介质例如闪存、硬盘、多媒体卡微式存储器(例如,SD或XD存储器)、RAM、ROM等。

特别地,可以将根据本发明的实施例的存储单元14分成分配至每个应用的非共享存储区域14a和用于存储可以由多个应用访问的资源的共享存储区域14b。

关于这一点,将参照图3进行更具体的描述。

图3是示出根据本发明的实施例的存储单元的构造的框图。

参照图3,如上所述,可以将根据本发明的实施例的存储单元14分成分配至每个应用的非共享存储区域14a和用于存储在多个应用间共享的数据的共享存储区域14b。

首先,非共享存储区域14a被分配至每个应用,并且是用于存储每个应用的数据的区域。可以取决于安装在终端10中的应用的数量来增大或减小非共享存储区域14a的大小。

此外,存在于非共享存储区域14a中的一个或多个应用包括用于存储它们自身的数据的各自的代码和父库300。此处,父库300是在由应用发开者开发应用时包括在应用中的库,并且提供用于调用库的应用程序接口(API)。然而,可以通过调用API来执行的实际功能不存在于父库300中,而是存在于子库400的资源中。也就是说,父库300仅用于支持对子库的访问。

可以由多个应用访问并且存储可以由多个应用使用的资源的共享存储区域14b包括子库400。提供用于向应用提供实际功能的资源的子库可以通过链接至包括在每个应用中的父库而被使用,并且可以连同诸如库版本、文件信息等信息在共享存储区域14b中存储和管理。

将参照图4和图5来详细描述父库和子库的主要部件和功能。

图4是示出根据本发明的实施例的父库的主要部件的框图。

参照图4,父库300可以被配置成包括应用程序接口310、子库管理单元320、子库接收单元330、子库加载单元340、子库存储单元350和子库调用单元360。此处,这些是逻辑范畴,并且可以结合控制单元13和通信单元11来执行其实际操作。

具体地描述部件中的每个部件,应用程序接口310支持访问子库的过程。

子库管理单元320可以被配置成包括服务器连接单元321、版本检查单元322、存储区域连接单元323、安装检查单元324和指令处理单元325。子库管理单元320的服务器连接单元321用于建立与服务装置20的连接。当通过服务器连接单元321建立与服务装置20的连接时,版本检查单元322用于检查服务装置20内的库的版本。

存储区域连接单元323将库的版本与安装在终端10中的子库的版本也就是存储在存储单元14的共享存储区域14b中的子库的版本进行比较。作为比较的结果,当发现两个版本彼此不同时,存储区域连接单元323确定服务装置20内的库是否在多个应用间被共享,并且建立连接以取决于确定的结果而将库存储在共享存储区域14a中或者非共享存储区域14b中。

安装检查单元324用于响应于来自存储区域连接单元323的请求而结合存储区域连接单元323来检查终端10内的库的版本。指令处理单元325可以被配置有如上所述用于执行诸如接收、存储、调用等操作所需的指令。

为了响应于来自子库管理单元320的请求而从服务装置20接收要被更新的库,子库接收单元330可以被配置成包括用于连接至服务装置20的服务器连接单元331和用于接收库的接收单元332。

子库加载单元340用于根据来自子库管理单元320的加载指令来读取和加载库以及加载包括在库文件中的资源。子库加载单元340可以被配置成包括二进制加载单元341和资源加载单元342。此处,二进制加载单元241用于以二进制代码的形式来加载库文件,并且资源加载单元342用于加载包括在库文件中的资源。

子库存储单元350可以被配置成包括共享存储区域连接单元351、非共享存储区域连接单元352、二进制存储单元353和版本信息存储单元354。共享存储区域连接单元351和非共享存储区域连接单元352提供共享存储区域14b与非共享存储区域14a之间的接口,二进制存储单元353存储库文件,并且版本信息存储单元354存储和管理库的版本和文件信息。

子库调用单元360用于通过从所加载的库中检索类来创建对象,通过所创建的对象来检索方法,并且调用方法。子库调用单元360可以被配置成包括用于检索类的类检索单元361、用于使用所检索的类来创建对象的对象创建单元362、用于通过所创建的对象来检索方法的方法检索单元363、以及用于调用所检索的方法的方法调用单元364。

在下文中,将描述子库的主要部件和功能。

图5是示出根据本发明的实施例的子库的主要部件的框图。

参照图5,子库400可以被配置成包括父库连接单元410、子库调用单元420、类提供单元430、方法提供单元440和资源提供单元450。

父库连接单元410提供用于与父库300连接的功能,并且父库300可以通过类说明单元411、方法说明单元412和资源说明单元413在子库400中搜索可访问的对象。

子库调用单元420提供部件,可以基于使用父库连接单元410获得的说明,通过所述部件来检索、创建和调用类和方法。子库调用单元420被配置成包括类检索单元421、方法检索单元422、对象创建单元423和方法调用单元424。

类提供单元430、方法提供单元440和资源提供单元340用于为父库300提供类、方法和资源,通过所述类、方法和资源,在子库400中实施实际功能。

参照下面的流程图来更具体地描述用于通过父库300与子库400之间的互连来更新库的方法。再次参照图2,以下将描述终端10的部件。

在执行终端10的功能时,显示单元15显示与操作的状态和结果有关的信息。特别地,本发明的显示单元15可以输出在执行应用期间产生的不同种类的信息,例如,与由子库提供的特定功能有关的信息。

可以通过与如上所述的输入单元12集成,以单个触控面板(或触控屏)的形式来实施显示单元15,并且当通过与输入单元12集成来实施显示单元15时,显示单元15可以显示由用户执行的触控操作所产生的不同种类的信息。

此外,本发明的上述显示单元15可以被配置有液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)、LED、有源矩阵有机LED(AMOLED)、柔性显示器、三维显示器等。此外,这些显示器中的一些显示器可以被实施为透明类型或半透明类型,其可以以包括透明OLED(TOLED)的透明显示器的形式来实施。

到目前为止,已经参照图2描述了终端10的主要部件。然而,图2所示的所有部件不都是必要部件,并且终端10可以被实施成具有多于所示部件数量的部件,或者具有少于所示部件数量的部件。例如,终端10可以被配置成还包括用于将电信号的声源转换成模拟信号并且输出所转换的信号的声源输出单元(未示出)。

此外,为了方便或一些其他理由,可以改变图2中所示的终端10的主要部件的位置。此外,仅应用处理模块13a被示出为控制单元13的模块,但是不限于此,控制单元13可以被配置有用于执行不同功能的不同模块。

到目前为止,已经描述了根据本发明的实施例的终端10的主要部件和操作方法。可以以不同的形式来实施本发明的终端10。例如,本说明书中所描述的终端10可以是诸如智能电话、平板PC、个人数字助手(PDA)、便携式多媒体播放器(PMP)、MP3播放器等移动终端、或者诸如智能TV、台式计算机等固定终端。

虽然因为移动装置随着数字装置趋于一致而有各种变化,所以并不是可以列举所有的移动装置来作为本发明的终端10的示例,但是与上面提到的单元具有相同级别的单元可以用作为本发明的终端10。此外,具有存储单元14并且能够经由通信网络30将信息发送至服务装置20和从服务装置20接收信息的任何终端可以用作为本发明的终端10。

在下文中,将描述根据本发明的实施例的服务装置20的主要部件和操作方法。

图6是示出图1中所示的根据本发明的实施例的服务装置的主要部件的框图。

参照图1和图6,根据本发明的实施例的服务装置20可以被配置成包括服务通信单元21、服务控制单元22和服务存储单元23。

具体地描述部件中的每个部件,首先,服务通信单元21用于经由通信网络30将不同种类的信息发送至一个或多个终端10以及从一个或多个终端10接收不同种类的信息。特别地,本发明的服务通信单元21可以从任何一个终端10接收与库的版本有关的查询,并且可以将库的版本提供至相应的终端10。

服务控制单元22执行根据本发明的实施例的服务装置20的整体控制,并且具体地,根据本发明的实施例的服务控制单元22可以用于存储和管理要提供至一个或多个终端10的库。此处,库与父库不同,当发布应用时,所述父库通过被包括在应用中而被发布,并且所述库可以是用于通过应用来提供指定功能的类、方法和对象的集合。当该库安装在终端10中时,其作为可以与父库链接的子库进行操作。服务控制单元22存储和管理库以执行上面提到的过程,并且帮助将库分配至终端10的过程。服务控制单元22可以从任何一个终端10接收与库的版本有关的查询,并且可以响应于所述查询而将与库的版本有关的信息提供至相应的终端10。此外,服务控制单元22可以响应于来自终端10的请求而将存储在其中的库提供至终端10。

服务存储单元22存储用于执行服务装置20的功能的所有程序。特别地,根据本发明的服务存储单元22可以存储和管理库,所述库是用于执行指定功能(例如,广告服务)的资源的集合。

根据本发明的服务存储单元23可以是位于服务装置20中的存储单元,或者可以是位于服务装置20外部的用于向服务装置20发送数据和从服务装置20接收数据的数据存储服务器。

到目前为止,已经描述了根据本发明的实施例的服务装置20的主要部件和操作方法。

从硬件方面,根据本发明的实施例的服务装置20具有与常见的网页服务器或网络服务器相同的构造。然而,从软件方面,根据本发明的实施例的服务装置20包括使用诸如C、C++、Java、Visual Basic、Visual C等语言来实施的程序模块。可以以网页服务器或网络服务器的形式来实施服务装置20。一般,网页服务器意指通过开放计算机网络例如因特网与多个未指定的客户端和/或其他服务器连接的计算机系统,以用于从客户或其他服务器接收用于执行工作的请求并且响应于此而产生和提供工作结果,以及用于相同目的的安装在其中的计算机软件(网页服务器程序)。然而,除了上面提到的网页服务器程序以外,可以根据广义的概念而将其理解为包括在网页服务器上运行的应用和根据环境而构建在其中的不同种类的数据库。可以使用常见的服务器硬件上的网页服务器程序来实施该服务装置20,并且可以取决于诸如DOS、Windows、Linux、UNIX、Mac OS等OS(操作系统)来提供不同的网页服务器程序。作为代表性的网页服务器,可以使用在Windows环境中使用的网站(Website)或因特网信息服务器(IIS)或者在UNIX环境中使用的CERN、NCSA或APACHE。此外,服务装置20对服务订阅信息进行分类以将其存储在会员数据库中,并且管理所存储的信息,在这种情况下,可以将数据库实施在服务装置20中或其外部。此处,实施在服务装置20内的数据库可以对应于服务存储单元23。

此外,本发明的服务装置20可以被实施为使用基于服务器的计算方法或使用云计算方法进行操作的一个或多个服务器。特别地,可以使用云计算功能来提供使用库更新系统100发送和接收的信息,可以通过云计算功能将信息永久地存储在因特网上的云计算装置中。此处,“云计算”意指用于提供信息技术(IT)资源的技术,基于点播方法,使用因特网技术例如硬件(服务器、存储器、网络等)、软件(数据库、安全特性、网页服务器等)、服务、数据等将信息技术(IT)资源虚拟化至数字终端例如台式计算机、平板PC、膝上型计算机、上网本、智能电话等。在本发明中,将在服务装置20与一个或多个终端10之间发送和接收的所有信息存储在因特网上的云计算装置中,并且因此可以将其在任何时间传送至任何地方。

同时,安装在终端10或服务装置20中的存储器将信息存储在其中。在一个实施例中,存储器是计算机可读记录介质。在一个实施例中,存储器可以是易失性存储单元,或者在另一实施例中,存储器可以是非易失性存储单元。在一个实施例中,存储装置是计算机可读记录介质。在不同的实施例中,存储装置可以包括例如硬盘装置、光盘装置或任何其他大容量存储装置。

此外,本发明的实施例中使用的术语“模块”意指软件部件,并且这样的模块执行某些功能。例如,模块包括诸如软件部件、面向对象的软件部件、类部件和任务部件等部件、过程、功能、属性、进程、子程序、程序代码片段、驱动器、数据、数据库、数据结构、表格、数组和变量。此外,设置在模块中的部件和功能可以被组合成更少数量的部件和模块,或者可以被分成模块以及另外的部件。

虽然在本说明书和附图中描述了示例性的装置构造,但是本说明书中所描述的功能操作和主题的实施例可以实施在不同类型的数字电子电路中、实施在计算机软件、固件或硬件(其包括本文所公开的结构及其结构的等同物)中,或者可以实施在这些中的一个或多个的组合中。本说明书中所描述的主题的实施例可以被实施为一个或多个计算机程序产品,也就是与编码在暂态程序存储介质中的计算机程序指令有关的一个或多个模块,以控制根据本发明的装置的操作或要由装置运行的操作。计算机可读存储介质可以是机器可读存储装置、机器可读存储板、存储装置、对机器可读无线电波信号有影响的材料的合成物、或者这些中的一个或多个的组合。

在下文中,将描述根据本发明的实施例的用于更新库的方法。

图7是用于描述根据本发明的实施例的从服务装置接收库文件以更新库的过程的流程图。

参照图1至图7,首先,终端10的控制单元13在步骤S101处通过存储在存储单元14的非共享存储区域14a中的父库来查询存储在服务装置20上的库的版本,并且在步骤S103处接收存储在服务装置20上的库的版本。更具体地,响应于来自控制单元13的请求,父库300的子库管理单元320通过服务器连接单元321连接至服务装置20并且通过版本检查单元322来向服务装置20查询库的版本,并且版本检查单元322可以通过服务器连接单元321从服务装置20接收库的版本。

然后,响应于来自终端10的控制单元13的请求,父库更具体地是父库300的存储区域连接单元323通过安装检查单元324来检查所安装的库的版本,并且当发现所安装的库的版本与服务装置20内的库不同时,在步骤S105至S109处检查服务装置20内的库的用途。

换言之,如果服务装置20内的库是要在多个应用间共享的库,则存储区域连接单元323在步骤S111处连接至共享存储区域,但是如果服务装置20内的库不是要在多个应用间共享的库,则存储区域连接单元323在步骤S113处连接至存储父库300的相应非共享存储区域。

随后,响应于来自控制单元13的请求,在步骤S115处通过父库300的子库接收单元330来接收库文件,并且在步骤S117处通过子库存储单元350将所接收的库文件存储在共享存储区域14b中。

将在下文中描述将存储在共享存储区域14b中的库文件导入至子库的过程。

图8是用于描述根据本发明的实施例的用于将库文件导入至子库的方法的流程图。

参照图1至图8,当运行任何一个应用时,响应于来自终端10的控制单元13的请求,包括在相应应用中的父库300在步骤S201处检查与最新安装在共享存储区域14b中的库有关的信息,例如库的版本、库的文件名称等。然后,因为库位于共享存储区域14b中,所以父库300在步骤S203处检查可访问的存储区域以检查相应的应用是否可以访问共享存储区域14b,在步骤S207处检查其中是否存在与版本对应的文件,当在步骤S209处确定出相应的库文件中不存在错误时,在步骤S213处加载库文件,并且在步骤S215至S217处加载类说明和资源说明。然而,当在步骤S209处确定出在从服务装置20接收的库中存在错误时,父库300可以删除存储在共享存储区域14b中的库,并且在步骤S211处再次对其进行下载。

通过这些过程,所运行的应用的父库300可以使用新的子库,例如可以通过子库来访问类,并且通过相应的类来调用方法。

关于这一点,参照图9和图10,首先,通过父库的API来加载子库,并且如图9中所示,可以在步骤S301处创建父库中的类。在创建父库的类的同时,在步骤S303处在所创建的类中检查子库中的类的说明,在步骤S305处检索类,并且在步骤S307处创建子库中的类。

图10描述了通过所创建的子库中的类来调用子库中的方法的过程。具体地,在步骤S404处通过父库的API来访问在父库中所创建的类,并且在步骤S403处可以调用在相应类中提供的方法。然后,所调用的父库中的方法在步骤S405处访问子库中的类,在步骤S407处检查子库中的方法的说明,并且在步骤S409处可以在检索方法之后调用子库中的方法。

通过这些过程,相应的应用可以使用子库,并且从而在运行时执行由子库提供的功能。例如,如果子库提供从服务装置20接收广告数据并且通过应用输出数据的功能,则相应的应用可以在运行时输出由服务装置20提供的广告数据。

根据上面提到的本发明的用于更新库的方法,终端环境被实施成包括可以由多个应用访问的共享存储区域和分配至应用中的每个应用的非共享存储区域,共享存储区域包括可以由所有应用使用的子库,并且非共享存储区域包括应用中的每个应用执行的父库,从而防止在终端中复制相同的库,并且可以更有效地使用资源。

此外,当发布应用时,应用仅包括被配置有API的父库,可以通过API来访问包括用于实施实际功能的类、方法和对象的子库,从而可以更有效地使用网络资源。

此外,当需要更新在其中实施实际功能的子库时,因为不需要对每个应用执行更新,而是仅更新可以由多个应用访问和共享的子库,所以有利地可以减小用于维护应用的费用。

到目前为止,已经描述了根据本发明的实施例的用于更新库的方法。

可以以适于存储计算机程序指令和数据的计算机可读存储介质的形式来提供根据本发明的用于更新库的上述方法。在这种情况下,适于存储计算机程序指令和数据的计算机可读存储介质例如记录介质可以包括诸如硬盘、软盘和磁带等磁性介质、诸如压缩盘只读存储器(CD-ROM)和数字视频盘(DVD)等光学介质、诸如光磁软盘等磁光介质、以及诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存、可擦除可编程ROM(EPROM)和电可擦除可编程ROM(EEPROM)等半导体存储器。处理器和存储器可以由专用逻辑电路来补充,或者可以集成至专用逻辑电路。程序指令的示例包括机器代码例如由编译器创建的代码,以及能够由计算机使用解释器等来执行的高级语言代码。硬件装置可以被配置成作为一个或多个软件模块来操作以执行本发明的操作,反之亦然。

虽然本说明书包含许多具体实施例的细节,但是这些不应该被解释为对本发明的范围或者可以请求保护的范围的限制,而应该被解释为对本发明的特定实施例特有的特征的描述。本说明书中,还可以通过将在单独的实施例的上下文中所描述的某些特征组合在单个实施例中来实施。相反,在单个实施例的上下文中所描述的各种特征还可以分别实施在多个实施例中,或者以任何合适的子组合来实施在多个实施例中。此外,虽然特征可以被描述为某些组合中的动作和初始请求保护的,但是在一些情况下,来自请求保护的组合的一个或多个特征可以被从其中排除,并且可以将请求保护的组合改变为子组合或子组合的变型。

类似地,虽然以特定的顺序描绘了附图中的操作,但是这不应该被理解为意味着需要以附图中所示的特定顺序或者以顺次的顺序来执行这样的操作,或者意味着必须执行所有所示的操作以实现期望的结果。在某些环境中,多任务处理和并行处理可以是有利的。此外,上述实施例中的不同系统部件的分离不应该被理解为需要在所有实施例中分离,而是应该被理解为所描述的程序部件和系统通常可以一起集成在单个软件产品中或者封装在多个软件产品中。

工业实用性

本发明涉及用于更新终端环境中的库的方法,所述终端环境包括可以由多个应用访问的共享存储区域和分配至应用中的每个应用的非共享存储区域。更具体地,本发明涉及用于更新库的方法,以及用于该方法的终端和系统,该方法被配置成使得共享存储区域包括所有应用可以使用的子库,使得非共享存储区域包括应用中的每个应用执行的父库,并且使得父库可以从服务装置接收与子库有关的文件并且控制所接收的文件,以便当作为子库的版本与服务装置中的库的版本的比较的结果,确定需要更新子库时,使用所接收的文件来代替子库,服务装置中的库的版本是结合服务装置执行的。

根据本发明,因为防止了在终端中复制相同的库,所以可以通过减小应用的大小来更有效地使用终端的资源,并且更有效地使用网络资源,这可以对软件工业的发展有所贡献。

此外,因为本发明足以被销售或发售,并且可以在实践中实施,因此本发明具有工业实用性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1