用于实现基于模型的应用程序控制框架的系统和方法与流程

文档序号:29049650发布日期:2022-02-25 23:31阅读:76来源:国知局
用于实现基于模型的应用程序控制框架的系统和方法与流程

1.本发明总体上涉及用于实现基于模型的应用程序控制框架的系统和方法。


背景技术:

2.技术领域景观广阔——但它可能如此具体,例如取决于地理位置和/或部署类型(例如,本地部署与云中部署等),以至于技术专家不可能了解哪些控制(例如,技术治理风险和合规性、技术战略和投资组合管理、技术资产管理、识别和访问管理、数据保护、安全配置、漏洞管理、安全运营、技术开发、技术运营、事故和事件管理、技术弹性等)适用于他们,并确保他们的应用程序遵守这些控制。


技术实现要素:

3.公开了用于实现基于模型的应用程序控制框架的系统和方法。在一个实施例中,在包括至少一个计算机处理器的信息处理装置中,一种用于实现基于模型的应用程序控制框架的方法可以包括:(1)将应用程序分解成多个模块,其中每个模块包括应用程序的能够独立运行的部件;(2)确定每个模块的多个属性;(3)识别每个模块的部署平台;(4)基于模块、属性和部署平台构建应用程序的属性模型;(5)识别属性模型的控制要求;(6)识别实现控制要求的动作;以及(7)部署动作以实现对应用程序的控制要求。
4.在一个实施例中,属性可以包括os类型、数据分类和外部接口中的至少一种。
5.在一个实施例中,该方法还可以包括应用问题链中的多个问题来细化属性。
6.在一个实施例中,可以使用代码扫描、库存系统和服务器扫描中的至少一种来自动识别属性。
7.在一个实施例中,控制要求可以基于组织的策略。
8.在一个实施例中,实现控制要求的动作可以特定于部署平台。
9.在一个实施例中,该方法还可以包括跟踪控制要求在应用程序中的实现。
10.根据另一实施例,在包括至少一个计算机处理器的信息处理装置中,一种用于实现基于模型的应用程序控制框架的方法可以包括:(1)将应用程序分解为多个模块,其中每个模块包括应用程序的能够独立运行的部件;(2)确定每个模块的多个属性;(3)识别每个模块的部署平台;(4)识别与模块、模块的属性和模块的部署平台中的一个相关联的设计模式;(5)识别设计模式的控制要求;(6)识别实现控制要求的动作;(7)部署动作以实现对应用程序的控制要求。
11.在一个实施例中,属性可以包括os类型、数据分类和外部接口中的至少一种。
12.在一个实施例中,可以使用代码扫描、库存系统和服务器扫描中的至少一种来自动识别属性。
13.在一个实施例中,控制要求可以基于组织的策略。
14.在一个实施例中,实现控制要求的动作可以特定于部署平台。
15.在一个实施例中,该方法还可以包括跟踪控制要求在应用程序中的实现。
16.根据另一个实施例,一种用于实现基于模型的应用程序控制框架的系统可以包括用于托管应用程序的环境,该环境包括监视应用程序的动作的监视代理;包括多个控制要求的数据库;以及包括至少一个计算机处理器的电子设备。响应于监视代理识别的动作,电子设备可以将应用程序分解为多个模块,其中每个模块包括应用程序的能够独立运行的部件;确定每个模块的多个属性;识别每个模块的部署平台;基于模块、属性和部署平台构建应用程序的属性模型;识别数据库中属性模型的控制要求;识别实现控制要求的动作;以及部署动作以实现对应用程序的控制要求。
17.在一个实施例中,属性可以包括os类型、数据分类和外部接口中的至少一种。
18.在一个实施例中,电子设备可以应用问题链中的多个问题来细化属性。
19.在一个实施例中,可以使用代码扫描、库存系统和服务器扫描中的至少一种来自动识别属性。
20.在一个实施例中,控制要求可以基于组织的策略。
21.在一个实施例中,实现控制要求的动作可以特定于部署平台。
22.在一个实施例中,环境可以是开发环境或生产环境。
附图说明
23.为了更完整地理解本发明、其目的和优点,现参考结合附图进行的以下描述,其中:
24.图1描绘了根据一个实施例的用于实现基于模型的应用程序控制框架的系统;
25.图2描绘了根据一个实施例的用于实现基于模型的应用程序控制框架的方法;和
26.图3描绘了根据一个实施例的使用关联的模式来实现基于模型的应用程序控制框架的方法。
具体实施方式
27.本文公开的实施例涉及用于实现基于模型的应用程序控制框架的系统和方法。
28.参考图1,根据一个实施例公开了一种用于实现基于模型的应用程序控制框架的系统。系统100可以包括开发平台110、控制数据库120、执行计算机程序/应用程序135的服务器130以及生产环境140。
29.在一个实施例中,开发环境110可以是在其中可以开发软件应用程序的环境。在一个实施例中,开发环境110可以包括程序/应用程序存储库(未示出)、代码数据库(未示出)、软件开发/管理系统(未示出)等。
30.在一个实施例中,开发环境110可以包括或可以配备有监视代理115,监视代理115可以监视开发环境110中的软件、程序、应用程序等,并且可以在满足某些阈值或触发条件(例如,变化等)时启动控制要求审查过程。
31.控制数据库120可以存储可适用于在开发环境110中开发的应用程序的控制。控制的示例包括风险管理和安全控制,例如技术治理风险和合规控制、技术策略和投资组合管理控制、技术资产管理控制、识别和访问管理控制、数据保护控制、安全配置控制、漏洞管理控制、安全操作控制、技术开发控制、技术操作控制、事故和事件管理控制、技术弹性控制等。这些控制只是示例性的;控制可能取决于应用程序的类型和/或应用程序将在其中执行
的环境。
32.电子设备130可以是任何合适的电子设备,包括服务器、工作站、台式计算机、膝上型计算机、台式计算机、云容器等。电子设备130可以执行可以实现基于模型的应用程序控制框架的计算机程序/应用程序135。
33.在一个实施例中,用户150可以访问计算机程序/应用程序135。在一个实施例中,用户150可以定义或查看控制要求、更新属性和/或模块、采用设计模式等。在一个实施例中,用户150可以是开发人员、技术专家、信息安全管理者或可能需要响应请求的任何人。例如,信息安全管理者可能想要了解哪些控制适用于某些应用程序,以及存在的任何差距。
34.生产环境140可以是在实现一个或多个控制之后在其中部署应用程序的环境。在一个实施例中,生产环境可以是本地部署(例如,服务器)、场外(例如,公有云、私有云)、在虚拟服务器中等。
35.在一个实施例中,生产环境140还可以包括子环境,例如测试环境。
36.在一个实施例中,生产环境140可包括或可设有监视代理145,监视代理145可监视生产环境140中的软件、程序、应用程序等,并可在满足某些阈值或触发条件(例如,变化等)时启动控制要求审查过程。
37.在一个实施例中,可以为开发环境110和生产环境140两者提供单个监视代理115或145。
38.参考图2,根据一个实施例公开了一种用于实现基于模型的应用程序控制框架的方法。
39.在步骤205中,应用程序可以被分解成其组成部分或模块。在一个实施例中,应用程序可能正在开发中,可能已完成但未部署等。在一个实施例中,组成部分或模块可能能够自行运行。模块的示例包括整体部件、数据存储、微服务、用户界面、移动部件、机器人部件等。可以根据需要和/或期望使用任何其他合适的模块或模块类型。
40.在一个实施例中,可以使用人工输入来识别模块。在另一个实施例中,可以使用用于识别模块的自动化方法。例如,可以使用代码分析、基础设施扫描等来识别模块。
41.在步骤210中,可以确定每个模块和/或应用程序的一个或多个属性。示例属性可包括模块的os类型、数据分类、外部接口等。可以根据需要和/或期望使用任何合适的属性。
42.在一个实施例中,如果需要,可以将问题链应用于属性以细化属性。例如,如果属性指示pii数据,则可以呈现问题链,以根据需要和/或期望确定pii数据的类型、pii数据的来源或任何其他的信息。
43.在一个实施例中,问题链可以提供针对属性进行标记的基于树的方法,并且可以进一步细化属性。
44.在一个实施例中,问题链可以与新应用程序一起使用。
45.在另一实施例中,可以使用例如代码扫描、库存系统、服务器扫描等来自动识别属性。在一个实施例中,自动化系统可以与现有程序一起使用。
46.在一个实施例中,可以根据需要和/或期望使用手动系统(例如,基于问题的)和自动化系统的组合。
47.在步骤215中,可以确定每个模块和/或应用程序的部署平台。示例部署平台包括私有云、公有云、物理服务器、虚拟服务器等。
48.在一个实施例中,部署平台可以被标识为上述步骤210中的属性。
49.在步骤220中,可以基于模块、一个或多个属性和一个或多个部署平台来构建属性模型。例如,属性模块可以识别可能需要控制的属性、部署平台等。
50.在步骤225中,可以基于属性模型识别针对应用程序的控制要求,并且可以将控制要求分配给要求系统。例如,备份可能适用于数据库,但对不同数据库进行备份的方法可能因部署位置、其他属性等而异。
51.在一个实施例中,组织的策略可以应用于属性模型以识别控制要求。
52.在步骤230中,实现控制要求的动作可以被识别,并且可以被提供给开发者、构建系统等。在一个实施例中,动作可以指定要实现的控制要求,或者可以提供要在应用程序中实现的控制要求。在一个实施例中,具体动作可基于部署平台。
53.在步骤235中,可以跟踪应用程序的开发以验证已经在应用程序中实现了控制。例如,可以提供测试标准来测试应用程序。在另一个实施例中,开发者可以证明应用程序中控制的实现。根据需要和/或期望,可以使用用于验证控制实现的其他方法。
54.在另一个实施例中,可以提供与许多控制要求一致的自动化机制。例如,如果选择或以其他方式识别设计模式,则可以应用与设计模式相关联的个体控制要求。
55.参考图3,根据另一个实施例公开了一种用于实现基于模型的应用程序控制框架的方法。
56.在步骤305中,应用程序可以被分解成其组成部分或模块。这可以类似于上面的步骤205。
57.在步骤310中,可以识别模块的属性。这可以类似于上面的步骤210。
58.在步骤315中,可以确定每个模块和/或应用程序的部署平台。这可以类似于上面的步骤215。
59.在步骤320中,可以生成基于模块、属性和部署平台的属性模式,并且在步骤325中,可以识别基于模块、属性和部署平台的设计模式。例如,设计模式可以识别一套批准的控制要求。
60.在一个实施例中,设计模式可以使用机器学习来定义并且可以基于应用于模块、属性和部署平台的在先控制要求。
61.在步骤330中,可以应用所识别的模式。
62.在步骤335中,可以识别用于实现控制要求的任何剩余动作(即,在应用设计模式之后剩余的动作),并且可以将任何剩余动作提供给开发者、构建系统等。这可以类似于上面的步骤230。
63.在步骤340中,可以跟踪应用程序的开发,以验证在应用程序中已经实现了控制。这可以类似于上面的步骤235。
64.在一个实施例中,可以使用属性识别和设计模式匹配的组合来识别模块的控制要求。例如,可以识别设计模式,但可能会拒绝该设计模式,以有利于使用属性模型。在另一个实施例中,相同的应用程序可以包括使用属性模型来识别控制要求的模块,以及使用设计模式来识别控制要求的模块。
65.在下文中,将描述本发明的系统和方法的实施的一般方面。
66.本发明的系统或本发明的系统的部分可以是“处理机”的形式,例如通用计算机。
如本文所使用的,术语“处理机”应被理解为包括使用至少一个存储器的至少一个处理器。至少一个存储器存储指令集。指令可以永久地或临时地存储在处理机的一个或多个存储器中。处理器执行存储在一个或多个存储器中的指令以处理数据。指令集可以包括执行一个或多个特定任务,例如上述那些任务的各种指令。用于执行特定任务的这种指令集可以被表征为程序、软件程序或仅仅是软件。
67.在一个实施例中,处理机可以是专用处理器。
68.如上所述,处理机执行存储在一个或多个存储器中的指令以处理数据。数据的这种处理例如可以响应于处理机的一个或多个用户的命令,响应于先前的处理,响应于另一处理机的请求和/或来自自动化调度的任何其他输入。
69.如上所述,用于实现本发明的处理机可以是通用计算机。但是,上述处理机还可以利用各种其他技术中的任何一种,包括专用计算机、包括例如微型计算机、小型计算机或大型机的计算机系统、已编程的微处理器、微控制器、外围集成电路元件、csic(客户专用集成电路)或asic(专用集成电路)或其他集成电路、逻辑电路、数字信号处理器、可编程逻辑设备(例如fpga、pld、pla或pal)或能够实现本发明过程的步骤的任何其他设备或设备布置。
70.用于实施本发明的处理机可以利用合适的操作系统。因此,本发明的实施例可以包括运行ios操作系统、os x操作系统、android(安卓)操作系统、microsoft windows
tm
(微软视窗)操作系统、unix操作系统、linux操作系统、xenix操作系统、ibm aix
tm
操作系统、hewlett-packard(惠普)ux
tm
操作系统、novell netware
tm
操作系统、sun microsystems solaris
tm
操作系统、os/2t
tm
操作系统、beos
tm
操作系统、macintosh操作系统、apache操作系统、openstep
tm
操作系统或其他操作系统或平台的处理机。
71.应当理解,为了实践如上所述的本发明的方法,处理机的处理器和/或存储器不必物理地位于相同的地理位置。即,处理机所使用的处理器和存储器中的每一个可以位于地理上不同的位置并且被连接以便以任何合适的方式进行通信。另外,应当理解,处理器和/或存储器中的每一个可以由不同的物理装备件组成。因此,处理器不必是在一个位置的一个单件装备,并且存储器是在另一位置的另一个单件装备。即,预计处理器可以是位于两个不同物理位置的两件装备。可以以任何合适的方式连接两件不同的装备。另外,存储器可以包括在两个或多个物理位置中的存储器的两个或多个部分。
72.为了进一步解释,如上所述,由各种部件和各种存储器执行处理。然而,应当理解,根据本发明的另一实施例,如上所述,由两个不同的部件执行的处理可以由单个部件执行。此外,如上所述,由一个不同的部件执行的处理可以由两个不同的部件执行。以类似的方式,根据本发明的另一实施例,如上所述,由两个不同的存储器部分执行的存储器存储可以由单个存储器部分执行。此外,如上所述,由一个不同的存储器部分执行的存储器存储可以由两个存储器部分执行。
73.此外,可以使用各种技术来提供各种处理器和/或存储器之间的通信,以及允许本发明的处理器和/或存储器与任何其他实体进行通信;即,例如以便获得进一步的指令或访问和使用远程存储器存储。用于提供此类通信的此类技术可能包括例如网络、因特网、内部网、外联网、局域网、以太网、经由蜂窝塔或卫星的无线通信或提供通信的任何客户机服务器系统。这样的通信技术可以使用任何合适的协议,例如tcp/ip、udp或osi。
74.如上所述,在本发明的处理中可以使用指令集。指令集可以是程序或软件的形式。
软件可以例如是系统软件或应用软件的形式。软件也可以是例如单独程序的集合、较大程序内的程序模块或程序模块的一部分的形式。所使用的软件可能还包括面向对象编程形式的模块化编程。软件告诉处理机如何处理正在被处理的数据。
75.此外,应当理解,在本发明的实施方式和操作中使用的指令或指令集可以是合适的形式,使得处理机可以读取指令。例如,形成程序的指令可以是适当的编程语言的形式,其被转换为机器语言或目标代码以允许一个或多个处理器读取指令。即,使用编译器、汇编器或解释器将特定编程语言中的编程代码或源代码的书面行转换为机器语言。机器语言是二进制编码的机器指令,其特定于特定类型的处理机(即,例如特定类型的计算机)。计算机理解机器语言。
76.根据本发明的各种实施例,可以使用任何合适的编程语言。说明性地,所使用的编程语言可以包括例如汇编语言、ada、apl、basic、c、c++、cobol、dbase、forth、fortran、java、modula-2、pascal、prolog、rexx、visual basic和/或javascript、phyton。此外,没有必要结合本发明的系统和方法的操作来利用单一类型的指令或单一编程语言。而是,可以根据需要和/或期望利用任何数量的不同编程语言。
77.同样,在本发明的实践中使用的指令和/或数据可以根据需要利用任何压缩或加密技术或算法。加密模块可用于加密数据。此外,例如,可以使用适当的解密模块来解密文件或其他数据。
78.如上所述,本发明可以说明性地以包括至少一个存储器的处理机(包括例如计算机或计算机系统)的形式体现。应当理解,根据需要,可使计算机操作系统能够执行上述操作的指令集(即例如软件)可以包含在各种各样的一个或多个介质中的任何一种上。此外,由指令集处理的数据也可以包含在各种各样的一个或多个介质中的任何一种上。也就是说,用于保存本发明中使用的指令集和/或数据的特定介质(即处理机中的存储器),例如可以采取多种物理形式或传输中的任何一种。说明性地,介质可以是纸、纸透明胶片、光盘、dvd、集成电路、硬盘、软盘、光盘、磁带、ram、rom、prom、eprom、导线、电缆、光纤、通信通道、卫星传输、存储卡、sim卡或其他远程传输以及可能由本发明的处理器读取的任何其他介质或数据源的形式。
79.此外,在实现本发明的处理机中使用的一个或多个存储器可以是多种形式中的任一种,以允许该存储器根据需要保存指令、数据或其他信息。因此,存储器可以采用数据库的形式来保存数据。数据库可以使用任何所需的文件排列,例如平面文件排列或关系数据库排列。
80.在本发明的系统和方法中,可以利用各种“用户接口”来允许用户与用于实现本发明的一个或多个处理机进行对接。如本文所使用的,用户接口包括处理机使用的允许用户与处理机交互的任何硬件、软件或硬件和软件的组合。用户接口可以例如是对话屏幕的形式。用户接口还可以包括鼠标、触摸屏、键盘、小键盘、语音读取器、语音识别器、对话屏、菜单框、列表、复选框、拨动开关、按钮或允许用户接收关于处理机在处理指令集和/或向处理机提供信息时处理机的操作的信息的任何其他设备中的任何一个。因此,用户接口是在用户与处理机之间提供通信的任何设备。用户通过用户接口提供给处理机的信息例如可以是命令、数据选择或某其他输入的形式。
81.如上所述,执行指令集的处理机利用用户接口,使得处理机为用户处理数据。用户
接口通常由处理机用于与用户交互以传递信息或从用户接收信息。然而应当理解,根据本发明的系统和方法的一些实施例,人类用户实际上不必与本发明的处理机所使用的用户接口进行交互。相反,还可以预期,本发明的用户接口可以与另一处理机而不是人类用户交互(即,传递和接收信息)。因此,另一处理机可被表征为用户。此外,可以预期,在本发明的系统和方法中利用的用户接口可以与另一台或多台处理机部分地交互,同时也与人类用户部分地交互。
82.本领域技术人员将容易理解,本发明易于广泛使用和应用。在不脱离本发明的实质或范围的情况下,根据本发明及其前面的描述,除本文所述的那些实施例之外的本发明的许多实施例和改编以及许多变型、修改和等效布置将显而易见或由本发明及其前面的描述合理地建议。
83.因此,尽管本文已经详细地描述了与本发明相关的示例性实施例,但是应当理解,本公开仅是本发明的说明性和示例性,并且提供本发明的实现性公开。因此,前述公开无意于解释或限制本发明,或者以其他方式排除任何其他这样的实施例、改编、变型、修改或等同布置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1