CN110399188B - 初始化操作支持系统 - Google Patents

初始化操作支持系统 Download PDF

Info

Publication number
CN110399188B
CN110399188B CN201910339228.6A CN201910339228A CN110399188B CN 110399188 B CN110399188 B CN 110399188B CN 201910339228 A CN201910339228 A CN 201910339228A CN 110399188 B CN110399188 B CN 110399188B
Authority
CN
China
Prior art keywords
module
data
support system
data file
modules
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
Application number
CN201910339228.6A
Other languages
English (en)
Other versions
CN110399188A (zh
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN110399188A publication Critical patent/CN110399188A/zh
Application granted granted Critical
Publication of CN110399188B publication Critical patent/CN110399188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了初始化操作支持系统。在一示例中,一种方法包括:在对提供公共接入点到多个数据服务的操作支持系统进行初始化时,访问模块的列表,每个模块与经由公共接入点将被访问多个数据服务中的至少一个相关。也可以访问至少一个处理的模块数据文件的列表,其中,每个处理的模块数据文件包括捆绑的模块。可以请求处理的模块数据文件并且可以识别不是处理的模块数据文件的一部分的模块的列表中的第一模块。可以加载至少一个处理的模块数据文件和第一模块以提供操作支持系统。

Description

初始化操作支持系统
背景技术
在一些示例中,接口(例如,web接口)可以提供用于多个服务的用户接口,该服务可以包括数据服务。例如,可以提供图形用户界面 (GUI)以帮助用户访问由操作支持系统(例如,包括内容管理系统)提供的服务。
附图说明
现在将参考附图描述非限制性示例,其中:
图1是用于提供操作支持系统的方法的示例的流程图;
图2是用于提供操作支持系统的方法的另一个示例的流程图;
图3是操作支持系统数据处理装置的示例;以及
图4是与硬件处理器相关联的机器可读介质的表示。
具体实施方式
以下讨论涉及本公开的各个示例。在本文公开的示例不应当被解释或以另外方式使用为限制包括权利要求的本公开的范围。此外,以下描述具有较宽的应用,并且任意示例的讨论仅旨在描述该示例,并且并不旨在暗示包括权利要求的本公开的范围受限于该示例。贯穿本公开,术语“一”旨在表示特定要素中的至少一个。此外,如在本文所使用的,术语“包括”意指包括但不限于。术语“基于”意指至少部分地基于。
在本文的一些示例中,可能旨在提供公共框架来提供对多个数据服务的访问。在一些示例中,可以采用模块体系结构,能够添加模块或从框架中移除模块,或修改和/或更换模块,以扩展或改变可访问的数据服务。
计算设备和系统可以用于提供对数据服务的访问。可以将数据服务作为管理系统、计帐系统、控制系统、消息收发系统、防火墙和安全系统和其他事件管理系统、认证系统,等等的一部分来提供。诸如探测器或探测器的网络等等的测量或传感器系统也是可能的数据服务的示例。在通过诸如web接口等等的公共接入点提供多个数据服务的情况下,这些可以被称为操作支持系统,这是因为它们支持用户的操作。在该上下文中,操作支持系统可以允许服务提供商提供、监视、控制、分析,和/或管理可以经由网络被提供的数据服务。
图1示出方法的示例,该方法可以是对提供公共接入点到多个数据服务的操作支持系统进行初始化的计算机实施的方法。公共接入点例如可以是经由万维网门户、web页面,等等提供的图形用户界面 (GUI)。公共接入点可以提供用于内容管理系统(CMS)的表示层。在一个示例中,公共接入点提供虚拟”控制台”以提供对多个服务的访问。例如,公共接入点可以提供对由企业提供的多个服务的访问。在一些示例中,可以由客户端处理电路(例如显示或以另外方式提供公共接入点的处理实体的处理电路)来执行图1的方法。
公共接入点可以提供对定制或可定制集合的服务的访问。这例如可以在web环境中提供通用接口。在一些示例中,如在本文阐述的,可以将经由公共接入点提供的至少一些服务作为对核心框架服务的“增值”服务来提供,其经由GUI来表示增值服务。
在一个示例中,公共接入点可以为企业的雇员提供接入点或”入口”。例如,员工可以具有用户文档,并且基于用户文档,可以能够经由公共接入点来访问数据服务,该公共接入点可以提供用户的交互的集中审计、记录,等等,和/或可以提供便利性并且在一些示例中提供用于访问数据服务的一致的用户接口。例如,这可以允许访问关于员工的个人数据的信息(诸如工资单数据),和/或员工可以在他们的工作的过程中使用的信息。特定用户可访问的信息可以基于用户的文档。例如,公共接入点可以提供对财务数据、销售数据、传感器数据、标准文件化,等等的访问。可以将这些数据服务中的每一个作为单独的服务来提供,它们所有都经由公共接入点被提供。此外,在一些示例中,公共接入点可以提供关于如何执行经由其提供公共接入点,和/ 或其被公共接入点的服务监视的网络的信息。在一些示例中,可以针对服务质量标准,等等来测量网络性能。
框102包括访问模块的列表。每个模块可以是数据对象或数据文件,例如,编程以使处理资源以特定方式行动。模块可以包括旨在提供数据服务的处理资源可执行的指令的组件或子组件。换句话说,模块可以是计算机程序的独立部分,并且计算机程序可以由一个或多个独立开发或封装的模块组成。在一些示例中,多个数据服务可以利用相同的基础模块。模块的使用可以简化计算机程序的开发并且允许以这种方式重新使用计算机程序之间的编程。例如,模块可以包括菜单、菜单项、数据的单元(例如,所谓的“小组件”)、可执行代码、关于经由诸如显示屏等等的显示设备的信息的表示的规范、后端服务(例如数据库),等等。
在该示例中,每个模块与经由公共接入点被访问的数据服务相关。
在一些示例中,将模块的列表作为将经由公共接入点被提供的数据服务的集合的相关性的列表来提供。服务的相关性可以例如被阐述为相关性树。相关性的此类列表可以提供关于要求哪些模块提供特定服务的信息。如上面指出的,在一些示例中,一个模块可以被多于一个数据服务利用。
在一些示例中,可以从用于将经由公共接入点被提供的一个或多个增值数据服务的构建文档确定模块的列表。在一个示例中,能够利用服务构建文档来初始化作为数据服务的相关性的第一列表的模块,并且可以进一步检查该列表以识别那些模块的次相关性,等等。因此,在一些示例中,可以递归地建立模块的列表,直到完成。
在一些示例中,在对服务器对列表的特定请求之后提供模块的列表。例如,请求可以是HTTP请求并且可以引起返回数据文件(例如 json数据文件)。
框104包括访问至少一个处理的模块数据文件的列表,其中,处理的模块数据文件包括已经被处理以减少初始化期间对服务器的请求的模块。例如,列表可以是包括“捆绑的”模块的文件的列表。模块的捆可以包括多个模块的串接(concatenated)代码。在一些示例中,作为对将模块串接的补充或替换,可以执行模块“最小化”。这可以减小模块的总大小,这进一步导致减少加载时间。在一些示例中,处理模块可以包括应用数据压缩技术。在一些示例中,这样的处理可以被称为”优化”。
在一些示例中,至少一个处理的模块数据文件可以包括提供公共接入点的”核心”服务的模块。这可以是不对定制化开放的提供公共接入点的代码的一部分。例如,这样的核心服务可以包括入口服务、全局服务,等等。在一些示例中,至少一个处理的模块数据文件可以包括提供公共接入点的增值服务的模块。例如,可以存在对应于特定增值服务的一个处理的模块数据文件。
在一些示例中,可以响应于对服务器做出的单个请求(例如,HTTP 请求)来提供框102和框104中所描述的列表。
框106包括例如从服务器请求处理的模块数据文件。例如,可以通过每个文件单个请求来请求这些。通常,减少对服务器做出的请求能够显著地增加初始化公共接入点的速度。在一些示例中,响应于请求,处理的模块数据文件可以从服务器等等被接收并且被存储在缓存或一些其他存储器资源中。可以从用户设备向服务器做出请求。
框108包括从模块的列表中识别不是处理的模块数据文件的一部分的第一模块。在一些示例中,可以针对处理的模块数据文件的模块来检查在框102中获得的完整列表以确定哪些丢失(如果有的话)。在一些示例中,这可以包括将在框102中获得的列表与位于处理的模块数据文件(在一些示例中,其可以被保持在缓存中)内的模块的列表相比较。在一些示例中,可以在模块被加载以提供操作支持系统时针对列表检查模块。
框110包括加载至少一个处理的模块数据文件和第一模块以提供操作支持系统。在一些示例中,在加载之前,可以从服务器请求模块和/或可以如上所述将数据文件/模块转移到缓存,并且可以从缓存加载数据文件/模块。以这种方式,在一些示例中,可以加载核心处理的模块数据文件(核心捆)(其在初始化处理之前可以被预处理)和至少一个增值服务处理的模块数据文件(增值服务捆)以提供公共接入点的服务。
在一些示例中,处理的模块数据文件(在一些示例中,其可以被称为“优化文件”)由服务器来生成、并且被存储在目录(例如,服务器的多个“增值”目录中的每一个)中。如果这样的文件存在则可以在随后的初始化处理中被重新使用,或者如果丢失则可以被再生成。在一些示例中,因此,文件将在服务器被生成并且响应于请求被供应。在此类示例中,每个增值服务可以存在一个请求。然而,在一些示例中,客户端设备可以生成这样的优化文件。
在图1的方法中,在初始化开始之前,可以对一些模块进行预处理,即,“预先捆绑”。这可以例如允许将由多个公共接入点提供的标准元素(例如核心服务)将被预处理以为初始化做准备。然而,为了提供公共接入点的可定制的和可适配的特定实例,作为初始化处理的一部分,可以捆绑可以是与特定于公共接入点的特定实例和/或在这样的实例之间可变的增值服务相关联的模块的其他模块。在一些示例中,每个增值服务可以形成一个这样的“捆”。在一些示例中,每个捆包括与该捆的服务的提供的那些模块相关,并且与提供另一个服务的那些模块不相关。在一些示例中,甚至在一些模块与该捆的服务相关的情况下,可以从从捆中排除它们,如在以下更详细地描述的。
在描述的一些示例中,不是所有增值服务(和/或不是所有其模块) 可以经受捆绑和/或最小化。尽管一些服务可以由单个捆来提供,但其他服务可以由单个模块、多个离散的模块和/或由“不完整的”捆和至少一个模块的组合来提供。
当考虑用于提供操作支持系统的选项时,一个选项将是准备包括所有模块的单个捆来提供该系统。然而,这样的捆不适宜特制系统或可以随时间而改变的系统。此外,一些模块可能难以包括在捆中。
在其他的示例中,可以例如由客户端处理电路分开地从服务器请求模块,但是这将引起高数量的服务器请求,这进而减慢初始化处理。另一个选项可以是仅仅当需要增值服务时考虑加载增值服务。然而,这限制能够用于初始化公共接入点的框架,这是因为,在至少一些这样的框架(例如,AngularJS)中,可以通常在初始化之前登记完整集合的模块。如果利用少于完整定义的集合的模块的任意模块来尝试进行初始化,则错误可以产生。
图1的方法提供用于提供操作支持系统的另外的方法。
图2示出另一个示例方法,其可以包括初始化公共接入点以提供多个数据服务的方法。框202包括由将提供公共接入点到服务的处理电路(客户端处理电路)从服务器接收(在一些示例中,加载)核心服务组件。这些可以包括处理的(例如,捆绑的和/或优化的)数据文件。在其他的示例中,可以根据对于增值服务在以下阐述的方法来接收这些文件。
框204包括由客户端处理电路并且从服务器请求提供增值服务的模块的列表和增值服务的处理的(即,捆绑的和/或优化的)模块的列表。这可以例如包括单个HTTP请求,如关于框102和104在以上描述的。
框206至框216可以由服务器来执行(并且因此可以被考虑为包括单独的方法,和/或可以与其他框的方法无关地被提供和/或管理的方法)。在框206中,服务器至少尝试捆绑或优化文件以提供增值服务。
在一些示例中,在初始化之前,可以对至少核心服务进行“预处理”。
在一些示例中,也可以对增值服务中的一些或所有进行预处理。然而,在该示例中,作为初始化方法的一部分,也可以将增值服务中的一些或所有捆绑。这促进使用模块的最新版本、保证公共接入点的规范是当前的,等等。
捆绑模块可以包括优化代码以提供增值服务以减少在下载时对服务器做出的请求的数量和/或减少从服务器下载的数据量,和/或与下载相关联的时间和/或资源。这可以包括串接、最小化,等等。例如,可以在一些最小化处理中移除代码注解(即,不是处理装置的指令的一部分而是代替地用来解释代码、提供版权记号、识别代码源和,等等的代码部分)。在一些示例中,可以定制处理。捆绑例如可以包括应用uglify或uglify2技术。
在一些情况下,捆绑可能引起错误,和/或可以从捆绑中排除一些文件。为了首先考虑错误,如果在框208中确定错误已经发生,则在框210中,可以捆绑用于特定增值服务的其余模块以形成数据文件。换句话说,可以通过一捆模块和没有被包括在捆中的至少一个模块来提供增值服务,例如这是因为遇到了错误。例如,当存在用于计算相关性的无效JavaScript源时,这样的错误可以产生。在此类情况中,在框210中,可以生成捆,以便排除该模块。
如果在框212中确定将从捆中排除模块,则在框214中可以捆绑用于特定增值服务的未被排除的模块以形成数据文件。例如,从捆中排除的模块可以包括与“开放源”软件相关联的模块。通常,这样的软件可能被提供与核心服务组件一起提供、并且因此它们可以被排除,以阻止冗余的数据传递并且因此减少被传递的数据总量。在一些示例中,也可以排除已经被包括在另一个捆中的模块,和/或先前已经引起捆绑错误的模块。在一些示例中,可以从捆中排除被更多服务共用的模块,这可以再次阻止在多于一个捆中传递数据并且因此减少冗余的数据传递。在其他的示例中,被排除的模块可以是用户指定的。
在框216中,服务器返回模块的列表和在框204中按照请求的现存的处理的模块捆(module bundles)的列表,其可以包括任意新形成的捆。在其他的示例中,列表可以包括所有增值服务的列表。
在框218中,客户端处理电路请求处理的模块,并且在框220中这些来自服务器、被接收并且被放置在本地web缓存中。框222包括由客户端处理电路识别不是捆绑的模块的一部分的——即,没有被保持在局部缓存中的模块(或以另一种方式被查看,提供服务的“丢失”的模块),并且框224包括从服务器单独地请求那些模块。在一些示例中,可以从缓存加载模块以提供数据服务,并且可以针对完整列表的模块来检查模块的列表以提供那些服务。用于模块的请求可以包括HTTP请求。在一些示例中,可以对于每个模块发送一个请求。在框 226中接收模块并且提供公共接入点的代码可以因此被完成。框228 包括初始化公共接入点以提供服务。在框230中,将认证页作为GUI 呈现给公共接入点的最终用户,并且公共接入点准备好待用。
捆绑处理允许对服务器做出的请求至少可能地被减少为每个捆一个而不是每个模块一个,并且可以因此与其中在初始化时不执行捆绑的系统相比引起初始化的增加的速度。然而,系统仍然是灵活的,这是因为在一些示例中经由作为初始化方法的一部分形成的捆可以提供增值服务,但是在模块从捆中丢失的情况下,可以单独地获得这些。
在一些示例中,模块可以与数据访问路径和/或映射相关联,并且可以参考其来定义模块之间的相关性。在一些示例中,相关性可以是“垫片(shim)”相关性。所谓的垫片相关性可以专门指定的相关性,其相对模块它们自己的分析可能不明显,例如与其他模块相比由不同的源产生的代码的那些(例如,基于其他专有代码的增值服务的开放源模块)相关。在一些示例中,能够从模块的分析得到其他(非垫片) 相关性。
在一些示例中,可以对于增值服务生成捆绑文档。这可以包括文件路径、垫片相关性、得出的相关性、映射等等以及要包括的模块的列表和在一些示例中要排除的模块的列表中的任意或任意组合。这可以引起与增值服务标识符相关联的捆绑文档(例如,文件类型构建.json)。
在一些示例中,可以自动地生成捆绑文档。在一些示例中,捆绑文档可以被人工地生成和/或是定制的。例如,对于具有意料之外的名称(例如,没有遵循命名约定的名称)的模块,将不在捆绑处理内操作的模块(这样的模块可以被包括在“排除”列表中),增值服务之间的外部相关性等等,可以是这种情况。在一些示例中,可以从利用模块来避免数据被冗余地传递的至少一个捆中排除任意共用的模块。例如,如果能够假定共用的模块可从用于第一增值服务的捆中得到,其可以从用于第二增值服务的捆中被排除。因此,通常,也可以在特定捆文档中排除模块,这是因为将利用核心服务或另一个捆下载它们。
在一些示例中,如果已知模块将没有被适当地“捆绑”或优化,和/或将很可能在捆绑/优化时引起错误,则可以从捆文档中排除模块。在一些示例中,如果模块已经引起捆绑错误(在一些示例中,在捆绑的许多尝试期间一贯如此),则可以将该模块标记为用于在随后的捆绑尝试中排除。
生成捆绑文档可以要求新的路径、垫片映射等等的定义。在一些示例中,可以指定捆绑格式。
在一些示例中,可以在初始化公共接入点时对于至少一个增值服务强制执行捆绑处理。在一些示例中,对于特定增值服务可能不需要捆绑处理,例如如果其不包含任意可执行代码(例如,增值服务能够涉及布局或主题,并且在这样的情况中可能不存在可执行代码)并且因此不要求优化/捆绑。在一些示例中,例如如果没有捆绑文档存在,则对于特定增值服务可以不执行捆绑。在其他的示例中,可以不执行捆绑,这是因为特定增值服务的捆绑集合的模块已经是可用的。
图3示出操作支持系统数据处理装置300的示例,在该示例中,其包括客户端装置302和服务器装置304。客户端装置302包括操作支持系统初始化引擎306并且服务器装置304包括模块处理引擎308。将理解的是,可以例如由不同的商业实体互相分开地提供、管理、制造和/或规定客户端装置302和服务器装置304。在其他的示例中,可以由单个实体提供在本文描述的功能。在另一个示例中,操作支持系统数据处理装置300可以包括仅仅客户端装置302,或仅仅服务器装置304。
操作支持系统数据处理装置300是提供操作支持系统,在一些示例中,如上所述,该操作支持系统经由公共接入点提供多个数据服务。数据服务包括核心数据服务和至少一个增值数据服务。经由为了高效的部署而被处理的(例如,在一些示例中,被捆绑的)数据文件来提供核心数据服务并且至少一个增值数据服务与模块的集合相关联。
在该示例中,操作支持系统初始化引擎306作为客户端装置302 的一部分被设于web浏览器中并且将模块处理引擎308作为远程服务器装置304的一部分来提供。在该示例中,客户端装置302包括存储器310,在该示例中,存储器310包括用于(例如暂时地以易失性方式) 存储数据文件的web缓存。在其他的示例中,存储器310可以包括一些其他形式的存储器,包括非易失性存储器。
在一个示例中,客户端装置302可以包括例如膝上计算机、移动电话、平板式计算机、台式计算机,等等的用户设备或诸如电话亭、销售点设备等等的另一个设备。用户可以经由客户端装置302访问操作支持系统。
在使用操作支持系统数据处理装置300时,在该示例中,操作支持系统初始化引擎306确定在操作支持系统的初始化期间是否有要被提供的任意数据服务与不是用于该服务的模块捆数据文件的一部分的模块相关联,并且作为操作支持系统的初始化的一部分,分开地请求捆绑的数据文件以及不处于模块捆数据文件中的任意模块。
在一个示例中,操作支持系统初始化引擎306在操作支持系统的初始化期间请求和获取(i)描述其旨在提供的服务的相关性的数据,以及(ii)描述由服务器装置304保持的任意现存的增值和/或核心服务捆的数据。可以从服务器装置304请求和/或获取该数据。
基于数据,操作支持系统初始化引擎306请求核心服务捆和任意描述的增值服务模块捆数据文件(在一些示例中,每个增值服务向服务器装置304发送一个请求)。
这些模块捆数据文件从服务器装置304被提供并且可以被存储在存储器310中。操作支持系统初始化引擎306可以分析描述其旨在提供的服务的相关性的数据。如果模块作为保持在存储器310中的捆的一部分是可用的,那么可以在适当的时候从存储器310加载这些文件,以便提供服务或操作支持服务。然而,如果模块/文件缺少(例如,因为其被排除,或者因为捆绑失败),那么操作支持系统初始化引擎306 向服务器装置304发送对于丢失的模块/文件的特定请求。
在一些示例中,服务器装置304的模块处理引擎308可以响应于来自操作支持系统初始化引擎306的对于数据的请求而生成捆,该数据描述服务客户端装置302将提供的服务。这可以包括执行关于图1 或图2所描述的优化/捆绑。在一些示例中,这可以包括最小化模块和 /或串接模块。在一些示例中,也可以将诸如“zip”技术的压缩技术作为处理的一部分来应用。这可以减少将在客户端装置302和服务器装置304之间传递的数据。
在一些示例中,模块处理引擎308提供关于模块的处理是否已经成功的指示,并且,当处理已经成功时,操作支持系统初始化引擎306 将接收处理的模块,并且,当处理没有成功时,操作支持系统初始化引擎306将接收未处理的模块。
这允许以两种方式提供增值服务:在捆绑成功的情况下利用处理 (例如捆绑的)模块,以及在捆绑没有(或没有完全成功)的情况下利用至少一个“未捆绑的”模块。在一些示例中,在一个模块捆绑失败的情况下,文件的其余仍然可以被捆绑,以便最小化请求。可能存在每个捆对服务器装置304的一个请求以及每个“丢失”的模块对于服务器装置304的一个请求。
在一些示例中,操作支持系统初始化引擎306将把模块存储在存储器310中并且在对增值服务做出请求之前在存储器310上检查模块,并且因此,在一些示例中,使模块处理引擎308作为操作支持系统的初始化的一部分来处理任意这样的模块。在模块已经被提供给存储器 310(例如web缓存)并且被保持在其中的情况下,可以不再次请求其。这可以因此进一步减少客户端装置302和服务器装置304之间的通信,并且因此可以帮助增加初始化的速度。
引擎306、308可以是实施引擎的功能的硬件和编程的任意组合。在本文描述的示例中,可以以许多不同的方式实施硬件和编程的此类组合。例如,用于引擎306、308的编程可以是存储在至少一个非暂时性机器可读存储介质上的处理资源可执行的指令,并且用于引擎的硬件可以包括执行那些指令的至少一个处理资源。在一些示例中,硬件还可以包括其他电子电路来至少部分地实施引擎306、308中的至少一个。在一些示例中,至少一个机器可读存储介质可以存储当由至少一个处理资源执行时至少部分地实施引擎306、308中的一些或所有的指令。在此类示例中,至少部分地实施操作支持系统数据处理装置300的计算设备可以包括存储指令的至少一个机器可读存储介质以及执行指令的至少一个处理资源。在其他的示例中,可以通过电子电路来实施引擎306、308。
图4示出与处理器400相关联的机器可读介质402(其可以是有形和/或非易失性的)。机器可读介质402存储当由处理器400执行时使处理器400执行处理的指令404。指令404包括:指令406,其使处理器400向操作支持系统访问多个增值服务的安装目录;指令408,其使处理器400 确定提供服务的多个模块(这可以提供在以上关于框 102描述的列表);指令410,其使处理器400确定哪些模块被包括在包括由串接的模块的数据文件(例如,如上所述的处理的模块数据文件)中;和指令412,其使处理器400对于没有被包括在数据文件中的至少一个模块分开地从数据文件获得该模块。
在一些示例中,确定多个模块包括访问服务的构建文档。在一些示例中,机器可读介质402进一步包括使处理器400加载至少一个数据文件的指令。
机器可读介质402和处理器400可以是实施描述的功能的硬件和编程的任意组合。在本文描述的示例中,可以以许多不同的方式实施硬件和编程的此类组合。例如,编程可以是存储在至少一个非暂时性机器可读存储介质上的处理资源可执行指令,并且硬件可以包括至少一个处理资源来执行那些指令。在一些示例中,硬件可以包括至少部分地实施处理器400的电子电路。
在本文描述的示例中,诸如处理器400或处理装置300的处理资源例如可以包括一个处理资源或单个计算设备中所包括的或分布在多个计算设备上的多个处理资源。如在本文所使用的,“处理资源”可以是被配置为调取和执行指令的中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、现场可编程门阵列(FPGA)中的至少一个,适于调取和执行存储在机器可读存储介质上的指令的其他电子电路,或其组合。
在本文描述的示例中,实体可以经由直接连接、经由一个或多个计算机网络,或其组合与彼此进行通信。在本文描述的示例中,计算机网络例如可以包括局域网(LAN)、虚拟LAN(VLAN)、无线局域网网络(WLAN)、虚拟专用网络(VPN)、因特网,等等,或其组合。
在本文描述的示例中,诸如存储器310或机器可读介质400之类的存储器资源例如可以包括随机存取存储器(RAM),包括其任意变体 (例如DRAM、SRAM,等等)。
本公开中的示例能够被提供为方法、系统或者机器可读指令,诸如软件、硬件、固件的任意组合,等等。此类机器可读指令可以被包括在在其中或在其上具有计算机可读的程序代码的机器可读存储介质(包括但是不局限于磁盘存储器、CD-ROM、光存储器,等等)上。
参考根据本公开的示例的方法、设备和系统的流程图和/或框图来描述本公开。尽管在以上描述的流程图示出执行的特定次序,但执行的次序可以不同于所描绘的次序。关于一个流程图所描述的框可以与另一个流程图的那些框组合。应当理解,能够通过机器可读指令来实现流程图和/或框图中的至少一些框,以及流程图和/或框图中的框的组合。
尽管已经参考特定示例描述了方法、装置和有关方面,但能够在不背离本公开的精神的情况下做出各种修改、改变、省略,以及置换。因此,旨在是,方法、装置和有关方面受限于所附权利要求和它们的等同物的范围。应当注意到,以上提及的示例说明而不是限制在本文描述的内容,以及那些本领域技术人员将能够在不背离所附权利要求的范围的情况下设计许多替换实施方式。关于一个示例描述的特征可以与另一个示例的特征组合。
措词“包括”不排除存在除了权利要求中列出的那些之外的要素,“一”不排除复数,并且单个处理器或其他处理资源可以实现在权利要求中叙述的若干单元的功能。
任意从属权利要求的特征可以以任意组合与独立权利要求或其他从属权利要求中的任意的特征组合。

Claims (15)

1.一种用于提供操作支持系统的方法,所述操作支持系统提供到多个数据服务的公共接入点,所述方法包括在对所述操作支持系统进行初始化时:
访问模块的列表,每个模块与经由所述公共接入点被访问的多个数据服务中的至少一个相关;
访问至少一个处理的模块数据文件的列表,其中,每个处理的模块数据文件包括捆绑的模块;
请求所述处理的模块数据文件;
从所述模块的列表中识别不是处理的模块数据文件的一部分的第一模块;并且
加载至少一个处理的模块数据文件和所述第一模块,以提供所述操作支持系统。
2.根据权利要求1所述的方法,其中,所述模块的列表包括彼此相关以提供由所述操作支持系统提供的服务的模块。
3.根据权利要求1所述的方法,其中,从所述模块的列表中识别不是处理的模块数据文件的一部分的第一模块包括:针对所述第一模块对保持所述处理的模块数据文件的缓存进行检查,该方法进一步包括,如果所述第一模块没有被保持在所述缓存中,则从服务器请求所述第一模块。
4.根据权利要求1所述的方法,包括响应于对于至少一个处理的模块数据文件的列表的请求来处理至少一个模块,以生成处理的模块数据文件。
5.根据权利要求4所述的方法,包括从所述处理的模块数据文件中排除与所述多个数据服务中的特定数据服务相关的至少一个模块。
6.根据权利要求5所述的方法,包括:在生成所述处理的模块数据文件时识别处理模块时的错误,并且从所述处理的模块数据文件中排除造成所述错误的该模块。
7.一种包括操作支持系统初始化引擎的操作支持系统数据处理装置,
其中,所述操作支持系统数据处理装置用于提供包括多个数据服务的操作支持系统,所述数据服务包括核心数据服务以及至少一个增值数据服务,其中,所述核心数据服务经由捆绑的数据文件来提供;
其中,至少一个增值数据服务与模块的集合相关联,并且所述操作支持系统初始化引擎用于确定:在所述操作支持系统的初始化期间,是否有要被提供的任意数据服务与如下模块相关联,所述模块不是用于该服务的模块捆数据文件的一部分;并且
作为所述操作支持系统的所述初始化的一部分,分开地请求模块捆数据文件和不处于模块捆数据文件中的、与所述要被提供的任意数据服务相关联的任意模块。
8.根据权利要求7所述的操作支持系统数据处理装置,进一步包括存储器,其中,所述存储器用于存储至少一个模块捆数据文件,并且所述操作支持系统初始化引擎用于分析所述存储器中的所述模块捆数据文件,以确定是否有要被提供的任意数据服务与没有在请求模块之前被存储在所述存储器中的该模块相关联。
9.根据权利要求7所述的操作支持系统数据处理装置,进一步包括模块处理引擎,以响应于来自所述操作支持系统初始化引擎的请求而生成至少一个模块捆数据文件。
10.根据权利要求9所述的操作支持系统数据处理装置,其中,所述操作支持系统初始化引擎用于在使所述模块处理引擎生成模块捆数据文件之前检查所述模块的集合中的模块是否与不处理所述模块的集合中的该模块的指令相关联。
11.根据权利要求9所述的操作支持系统数据处理装置,其中,生成至少一个模块捆数据文件包括最小化模块和串接模块中的至少一个。
12.根据权利要求9所述的操作支持系统数据处理装置,其中,生成至少一个模块捆数据文件包括数据压缩。
13.一种包括指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器:
在初始化包括多个增值服务的操作支持系统时,
向所述操作支持系统访问所述多个增值服务的安装目录;
确定提供所述增值服务的多个模块;
确定所述模块中的哪些模块被包括在数据文件中,所述数据文件包括串接的模块;并且
对于没有被包括在数据文件中的至少一个模块,与所述数据文件分开地获得该模块。
14.根据权利要求13所述的非暂时性机器可读介质,其中,确定所述多个模块包括访问至少一个服务的构建文档。
15.根据权利要求13所述的非暂时性机器可读介质,进一步包括使所述处理器加载至少一个数据文件的指令。
CN201910339228.6A 2018-04-25 2019-04-25 初始化操作支持系统 Active CN110399188B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/961,873 2018-04-25
US15/961,873 US10705857B2 (en) 2018-04-25 2018-04-25 Initialising operations support systems

Publications (2)

Publication Number Publication Date
CN110399188A CN110399188A (zh) 2019-11-01
CN110399188B true CN110399188B (zh) 2021-10-26

Family

ID=68291563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910339228.6A Active CN110399188B (zh) 2018-04-25 2019-04-25 初始化操作支持系统

Country Status (2)

Country Link
US (1) US10705857B2 (zh)
CN (1) CN110399188B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176769A (zh) * 2011-12-20 2013-06-26 阿里巴巴集团控股有限公司 一种可定制软件的部署及安装方法和系统
US8533336B1 (en) * 2011-02-04 2013-09-10 Google Inc. Automated web frontend sharding
US8839234B1 (en) * 2012-12-25 2014-09-16 Kaspersky Lab Zao System and method for automated configuration of software installation package
CN104461618A (zh) * 2014-11-26 2015-03-25 北京国双科技有限公司 加载模块的方法及装置
CN107038045A (zh) * 2017-03-30 2017-08-11 腾讯科技(深圳)有限公司 加载库文件的方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US7590661B2 (en) * 2006-07-31 2009-09-15 Ricoh Company, Ltd. Advanced Web Services on a legacy platform
US9477462B2 (en) * 2008-01-16 2016-10-25 Oracle International Corporation System and method for software product versioning packaging, distribution, and patching
US20110016477A1 (en) 2009-07-14 2011-01-20 Microsoft Corporation Pre-calculation and caching of dependencies
US20130212465A1 (en) 2012-02-09 2013-08-15 Alexander Kovatch Postponed rendering of select web page elements
US8893117B2 (en) 2012-08-10 2014-11-18 Adobe Systems Incorporated Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly
RU2541935C2 (ru) * 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ развертывания предварительно сконфигурированного программного обеспечения
US9229694B2 (en) 2013-03-15 2016-01-05 Gamesys Ltd. Systems and methods for facilitating application development utilizing plugins
US9898344B2 (en) * 2013-09-20 2018-02-20 Oracle International Corporation System and method for providing configuration modularity in an application server, cloud platform, or other environment
US9535726B2 (en) 2014-09-26 2017-01-03 Oracle International Corporation Reverse dependency injection in a system with dynamic code loading
US9858059B2 (en) * 2015-09-14 2018-01-02 International Business Machines Corporation System module deployment optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533336B1 (en) * 2011-02-04 2013-09-10 Google Inc. Automated web frontend sharding
CN103176769A (zh) * 2011-12-20 2013-06-26 阿里巴巴集团控股有限公司 一种可定制软件的部署及安装方法和系统
US8839234B1 (en) * 2012-12-25 2014-09-16 Kaspersky Lab Zao System and method for automated configuration of software installation package
CN104461618A (zh) * 2014-11-26 2015-03-25 北京国双科技有限公司 加载模块的方法及装置
CN107038045A (zh) * 2017-03-30 2017-08-11 腾讯科技(深圳)有限公司 加载库文件的方法及装置

Also Published As

Publication number Publication date
US20190332397A1 (en) 2019-10-31
CN110399188A (zh) 2019-11-01
US10705857B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
US10824404B2 (en) Methods and systems for uploading a program based on a target network platform
US10977167B2 (en) Application monitoring with a decoupled monitoring tool
US11552955B2 (en) Data security across data residency restriction boundaries
US8881136B2 (en) Identifying optimal upgrade scenarios in a networked computing environment
US8694822B2 (en) Disaster recovery in a networked computing environment
US10146671B2 (en) Testing of software upgrade
US10430172B2 (en) Re-configuration in cloud computing environments
CN109309693B (zh) 基于docker的多服务系统、部署方法及装置、设备及存储介质
US10996997B2 (en) API-based service command invocation
US10936476B2 (en) Regression testing of new software version and deployment
US20170123777A1 (en) Deploying applications on application platforms
US10338952B2 (en) Program execution without the use of bytecode modification or injection
US20120159423A1 (en) Tenant independent add-on software packages for an enterprise platform as a service product
US10956232B2 (en) Instructing the use of application programming interface commands in a runtime environment
US20180234329A1 (en) Test building for testing server operation
US20130254758A1 (en) Application Construction for Execution on Diverse Computing Infrastructures
WO2021108123A1 (en) Automated management of machine images
US11288170B1 (en) Log analysis debugging without running on real production environment
US9513948B2 (en) Automated virtual machine provisioning based on defect state
US20190155674A1 (en) Distributed Product Deployment Validation
CN110399188B (zh) 初始化操作支持系统
US11163636B2 (en) Chronologically ordered log-structured key-value store from failures during garbage collection
US10296331B2 (en) Log-based software porting
CN116881161A (zh) 软件测试方法、系统、装置和电子设备
CN117854683A (zh) 医学影像系统、数据处理方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant