程序数据运行方法、装置及电子设备与流程

    专利2022-07-08  105


    本发明涉及计算机技术领域,具体而言,涉及一种程序数据运行方法、装置及电子设备。



    背景技术:

    随着互联网技术的不断发展,软件代码已在越来越多的领域中应用。用户需要利用编码平台进行代码编辑和调试。

    然而,用户的行为很难约束,故,用户所编辑的软件代码对编码平台而言,存在较大的安全隐患,致使编码平台安全控制成本很高。



    技术实现要素:

    有鉴于此,本发明的目的在于提供一种程序数据运行方法、装置及电子设备。

    为了实现上述目的,本发明实施例采用的技术方案如下:

    第一方面,本发明提供一种程序数据运行方法,所述程序数据运行方法包括:

    解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段;

    将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源;

    将解析后的所述代码数据提交至对应的执行引擎;

    在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;

    若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。

    在可选的实施方式中,所述程序数据运行方法还包括:

    若所述第一代码段未通过权限鉴定,则输出所述第一代码段运行失败。

    在可选的实施方式中,所述程序数据运行方法还包括:

    根据所述执行引擎输出的执行结果,生成执行日志;

    将所述执行日志反馈给所述客户端,以便进行展示。

    在可选的实施方式中,所述程序数据运行方法还包括:

    从解析出的代码数据中识别出第二代码段,其中,所述第二代码段为需操作非涉密数据源的代码段;

    将所述第二代码段与对应的原生程序接口绑定,以使所述第二代码段被执行时调用所述原生程序接口,访问对应的所述非涉密数据源。

    在可选的实施方式中,所述将解析后的所述代码数据提交至对应的执行引擎的步骤包括:

    根据所述代码数据中携带的运行资源信息,从已有的执行引擎中确定出对应的目标引擎;

    将所述代码数据提交至所述目标引擎。

    第二方面,本发明提供一种程序数据运行装置,所述程序数据运行装置包括:

    解析模块,用于解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段;

    绑定模块,用于将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源;

    提交模块,用于将解析后的所述代码数据提交至对应的执行引擎;

    调用模块,用于在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;

    获取模块,用于若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。

    在可选的实施方式中,所述程序数据运行装置还包括:

    输出模块,用于若所述第一代码段未通过权限鉴定,则输出所述第一代码段运行失败。

    在可选的实施方式中,所述程序数据运行装置还包括:

    识别模块,用于从解析出的代码数据中识别出第二代码段,其中,所述第二代码段为需操作非涉密数据源的代码段;

    所述绑定模块,还用于将所述第二代码段与对应的原生程序接口绑定,以使所述第二代码段被执行时调用所述原生程序接口,访问对应的所述非涉密数据源。

    第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式任一所述的方法。

    第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。

    与相关技术相比,本发明实施例提供的程序数据运行方法通过解析用户通过客户端提交的完整的代码数据,并识别出需操作涉密数据源的第一代码段。再将第一代码段与代理程序接口绑定,利用代理程序接口用于二次封装涉密数据源的特性,确保针对数据源操作的安全性。然后,将解析后的所述代码数据提交至对应的执行引擎。在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。如此,降低运行用户所编写的代码程序对编码平台的信息安全的影响,有效降低安全控制成本。

    为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

    附图说明

    为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

    图1示出了本发明实施例提供的应用场景示意图。

    图2示出了本发明实施例提供的电子设备的示意图。

    图3示出了本发明实施例提供的程序数据运行方法的步骤流程图。

    图4示出了本发明实施例提供的客户端的显示界面示意图。

    图5示出了本发明实施例提供的程序数据运行方法的步骤流程图的另一部分。

    图6示出了本发明实施例提供的程序数据运行装置的示意图。

    图标:100-电子设备;200-客户终端;110-存储器;120-处理器;130-通信模块;300-程序数据运行装置;301-解析模块;302-绑定模块;303-提交模块;304-调用模块;305-获取模块。

    具体实施方式

    下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

    因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

    需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    目前,如果用户编写代码程序需要提交到所使用的服务器进行运行,现有的技术主要有以下两种实现方案:

    第一种方案:用户首先需要登陆到服务器,然后启动执行引擎客户端脚本,就可以在客户端脚本中编辑代码并提交运行,用户输入代码实时返回结果。因为不同的编程语言所使用的客户端脚本种类不同,所以不同种类的客户端脚本需要登录不同的服务器、启动脚本、自主设置运行参数等操作,这一过程中花费的时间很多,造成代码的开发、调试、运行等用户使用成本较高的技术问题。该方案另外的缺点还包括以下几点:首先是从平台安全的角度来看,用户的行为很难得到全面的监控或者全面监控的成本比较大;其次,如果从平台的角度出发,用户数据管理、元数据管理、资源配置也没有得到统一的管理。

    另外,该方案还可以在前端页面提供代码编辑框,用户可以在其中输入代码,编辑框对应的后台直接对接大数据引擎的客户端脚本,其效果与用户登录客户端脚本方式相同,这样用户代码和元数据可以得到统一管理。但是由于其实现原理相同,后端直接结果会实时返回给前端,如果其中有收集操作,势必会有大量数据和前端交互,如果执行大数据量必然会导致带宽增大,时延增加,不仅在时效性上大打折扣,同时也会给前端服务器带来压力。这就限制了用户只能做轻量级的任务提交,应用场景很有限。

    第二种方案:用户在本地开发完代码并打包,然后上传代码包到平台,通过平台提交到后台执行引擎运行。该方案是将代码提交到后台离线执行,后台服务器不会和前端进行实时交互,也可以做到对资源的控制、数据统一管理,但是使用灵活程度上较差。首先用户需要在本地将自己开发完成的代码打成可执行的代码包,然后从本地上传到平台再提交后台执行,过程相对费时,在项目初期,用户如果想要对接集群资源进行测试,不能立即修改代码提交执行,同样要走本地打包在上传的过程,调试成本增加。其次,由于用户开发的可执行程序包属于黑盒,其中的逻辑并不可预见,如果将代码提交到公共的执行引擎中执行,安全控制的成本比较高。再次,不能随意切换集群数据源,不能显示提供集群当前可用资源作为任务输入,需要用户在代码中实现,用户体验较差。

    为了改善上述问题,本发明实施例提供了一种程序数据运行方法、装置及电子设备。

    图1示出了本发明实施例提供的应用场景示意图。如图1所示,客户终端200与电子设备100通信连接。上述电子设备100可接入多个数据源,比如mysql数据库、oracle数据库、mpp数据库、hive数据仓库等等。上述数据源可以按照敏感程度分为涉密数据源和非涉密数据源。

    上述电子设备100可以是,但不限于个人电脑(personalcomputer,pc)、服务器、分布式部署的计算机等等。可以理解的是,电子设备100也不限于物理服务器,还可以是物理服务器上的虚拟机、基于云平台上构建的虚拟机等能提供与所述服务器或者虚拟机有相同功能的计算机。

    请参照图2,图2是电子设备100的方框示意图。上述电子设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

    其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器110(randomaccessmemory,ram),只读存储器110(readonlymemory,rom),可编程只读存储器110(programmableread-onlymemory,prom),可擦除只读存储器110(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器110(electricerasableprogrammableread-onlymemory,eeprom)等。

    处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。

    通信模块130用于通过所述网络建立电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。

    此外,电子设备100对接有多个执行引擎,以供客户端进行选择。比如,上述执行引擎可以是yarn、k8s等分布式计算系统。

    应当理解的是,图2所示的结构仅为电子设备100的结构示意图,电子设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

    上述客户终端200可以是个人计算机、移动终端等。上述客户终端200上可以安装有与电子设备100对接的客户端。用户在客户终端200上运行客户端时,可实现与电子设备100的通信。上述客户端用于向用户呈现电子设备100所提供的前端页面。用户可以在前端页面中编辑程序代码,并提交电子设备100进行运行。

    请参考图3,图3示出了本发明实施例提供的一种程序数据运行方法。上述程序数据运行方法可以应用于电子设备100。如图3所示,上述程序数据运行方法可以包括以下步骤:

    步骤s101,解析用户通过客户端提交的完整的代码数据,并识别出第一代码段。

    上述客户端在接收到客户编辑的代码文本后,基于用户在客户端的界面上选择的运行资源信息及确定编辑完整的代码文本,生成代码数据。

    在一些实施例中,如图4所示,客户端的界面上还可以显示电子设备100中可用的执行引擎的运行资源信息。上述运行资源是可以量化的资源单位,比如cpu资源、内存资源、数据库连接等。客户端所显示的运行资源信息都是可以被选择。用户可通过选择的运行资源信息,实现选择到需要执行所编写代码程序的执行引擎。如此,一定程度可以环节任务分配不均给执行引擎所带来的压力。需要说明的是,图4所示的客户端类型仅仅是一种示例,并不造成对客户端设备类型的限制,本发明实施所示的客户端可以是如图4所示的智能移动终端、可以是个人计算机或者是具备显示功能的其他电子设备,本发明不对此进行限制。

    此外,客户端上还可以设置有数据源选择的界面,用于用户选择代码文本运行时所需访问的数据源。客户端上还可以设置有动态参数自定义界面,用于配置代码文本中所涉及的动态参数。上述动态参数可以包括根据业务、时间及某种出发条件动态变化的参数,一般用于程序逻辑处理。显然,给用户提供了更多的代码编辑便利性。

    在一些实施例中,客户端将代码数据转化为json形式,并发送给电子设备100。由于上述代码数据是根据编辑完整的代码文本生成,故,一方面,相较于现有技术需要编辑一条代码便实时地反馈一条代码给电子设备100运行而言,采用离线触发方式,不与前端实时交互,解决了实时交互方式每次只能提交轻量级任务的问题。另一方面,相较于现有技术在本地开发完代码并打包,然后上传代码包到电子设备100而言,还能省去了用户本地打可执行包上传过程,方便用户进行代码开发、调试、提交运行,有效降低用户使用成本。

    在一些实施例中,电子设备100所得到的代码数据除了包含运行资源信息之外,还包括用户编写的代码段(代码文本)。上述步骤s101可以是利用代码解释器和代码编译器针对代码数据中的代码段进行解析。通过解析,将代码段转换为机器可识别的文本,同时,获得代码段之间的逻辑关系信息,进而便于从中识别出需操作涉密数据源的代码段,也即第一代码段。

    步骤s102,将第一代码段与代理程序接口绑定。

    上述代理程序接口用于二次封装涉密数据源内的数据,提高涉密数据源的安全性。在一些实施例中,上述步骤s102可以是建立第一代码段与代理程序接口之间调用映射关系,如此,在第一代码段被执行时,代理程序接口便会被调用。

    步骤s103,将解析后的代码数据提交至对应的执行引擎。

    在一些实施例中,根据代码数据中携带的运行资源信息,从已有的执行引擎中确定出对应的目标引擎。将代码数据提交至目标引擎。可以理解地,在客户端所显示的每一个运行资源信息都指向一个执行引擎,故,代码数据中所携带的运行资源信息也对应的指向一个执行引擎(也即,目标引擎)。

    步骤s104,在执行引擎处理第一代码段时,调用代理程序接口对所述第一代码段进行权限鉴定。

    在一些实施例中,解析后的代码数据提交目标引擎后,由目标引擎启动处理。在执行到第一代码段时,调用代理程序接口判断上述第一代码段是否具有从涉密数据源获取数据的权限。如果判定具备权限则表明第一代码段通过了权限鉴定,反之,则为未通过权限鉴定。比如,预先设置具有权限操作涉密数据源的客户级别。如果发送第一代码段的客户端的实际级别达到预先设置的客户级别,那么判断第一代码段通过权限鉴定。如果发送第一代码段的客户端的实际级别未达到预先设置的客户级别,那么判断第一代码段没有通过权限鉴定。

    步骤s105,若第一代码段通过权限鉴定,则从第一代码段所指向的涉密数据源获取对应的第一代码段所需运行参数,以便得到执行结果。

    在一些实施例中,根据解析后的代码数据,确定第一代码段需从涉密数据源中获取的运行参数,如果第一代码段通过权限鉴定,则由涉密数据源返回其所需的运行参数。该方式不仅避免无权限用户的访问,还能避免有权限用户对涉密数据源的恶意操作。

    在一些实施例中,上述程序数据运行方法还包括:若第一代码段未通过权限鉴定,则输出第一代码段运行失败。

    在一些实施例中,如果第一代码段的运行失败影响到整个代码数据的运行,那么在确定第一代码段的运行失败后,判定代码数据中还未执行的代码段均为不可执行,故停止对不可执行的代码段进行处理,执行引擎输出执行结果为代码数据运行失败。如果第一代码段的运行失败不会影响到整个代码数据的运行,那么在确定第一代码段的运行失败后,执行引擎输出执行结果为第一代码段运行失败。

    在一些实施例中,如图5所示,上述所述程序数据运行方法还包括:

    步骤s201,从解析出的代码数据中识别出第二代码段。

    上述第二代码段为需操作非涉密数据源的代码段。同样的,依据代码段之间的逻辑关系信息,从代码数据中识别出需操作非涉密数据源的代码段,也即第二代码段。

    步骤s202,将第二代码段与对应的原生程序接口绑定。

    在一些实施例中,可以是建立第二代码段与原生程序接口之间调用映射关系,如此,在第二代码段被执行时,原生程序接口便会被调用,进而访问对应的非涉密数据源。在一些实施例中,上述原生程序接口可以是预先封装的用于触发访问非涉密数据源的调用接口。

    当然,在一些实施例中,上述原生程序接口还可以是预先封装的具有特定功能的调用接口,方便用户编辑代码文本时直接调用,以使编辑出的代码文本运行时能够实现特定功能。

    也就是,用户在编辑代码文本时,也可以提前编辑需要调用特定原生程序接口的代码段,该类代码段也属于第二代码段,然,电子设备100在解析之后无需重复将其与原生程序接口绑定。

    在一些实施例中,上述程序数据运行方法还可以包括:

    (1)根据执行引擎输出的执行结果,生成执行日志。

    在一些实施例中,如果执行引擎成功处理完一条代码段,那么针对该条代码段输出的执行结果为执行成功。在代码数据中可被执行的代码段均被执行后,根据得到的执行结果,生成执行日志。

    (2)将执行日志反馈给客户端,以便进行展示。

    总而言之,本发明实施例提出的程序数据运行方法可以实现统一在前端页面(客户端)编辑程序代码,并一键式选择执行引擎。不仅统一管理用户数据,而且有效降低用户开发成本。此外,通过提供代理接口可以让用户自由选择使用数据源数据,降低实现数据共享带来的安全成本。另外,不使用上传代码执行包方式,用户直接在文本编辑器中编写代码,提交后台执行,研发、调试成本更低。代码直接提交到后台执行引擎执行,不与前端实时交互,减轻了前端服务器带宽压力。

    为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种程序数据运行装置300的实现方式,可选地,该程序数据运行装置300可以采用上述图2所示的电子设备100的器件结构。进一步地,请参阅图6,图6为本发明实施例提供的一种程序数据运行装置300的功能模块图。需要说明的是,本实施例所提供的程序数据运行装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该程序数据运行装置300包括:解析模块301、绑定模块302、提交模块303、调用模块304和获取模块305。

    解析模块301,用于解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段。

    绑定模块302,用于将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源。

    提交模块303,用于将解析后的所述代码数据提交至对应的执行引擎。

    调用模块304,用于在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定。

    获取模块305,用于若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。

    在一些实施例中,上述程序数据运行装置300还包括:

    输出模块,用于若所述第一代码段未通过权限鉴定,则输出所述第一代码段运行失败。

    在一些实施例中,上述程序数据运行装置300还包括:

    识别模块,用于从解析出的代码数据中识别出第二代码段,其中,所述第二代码段为需操作非涉密数据源的代码段;

    所述绑定模块302,还用于将所述第二代码段与对应的原生程序接口绑定,以使所述第二代码段被执行时调用所述原生程序接口,访问对应的所述非涉密数据源。

    可选地,上述模块可以软件或固件(firmware)的形式存储于图2所示的存储器110中或固化于该电子设备100的操作系统(operatingsystem,os)中,并可由图2中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。

    综上所述,本发明实施例提供了一种程序数据运行方法、装置及电子设备。其中,所述程序数据运行方法包括:解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段;将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源;将解析后的所述代码数据提交至对应的执行引擎;在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。如此,降低运行用户所编写的代码程序对编码平台的信息安全的影响,有效降低安全控制成本。

    在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

    另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

    所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

    以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


    技术特征:

    1.一种程序数据运行方法,其特征在于,所述程序数据运行方法包括:

    解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段;

    将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源;

    将解析后的所述代码数据提交至对应的执行引擎;

    在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;

    若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。

    2.根据权利要求1所述的程序数据运行方法,其特征在于,所述程序数据运行方法还包括:

    若所述第一代码段未通过权限鉴定,则输出所述第一代码段运行失败。

    3.根据权利要求1或2所述的程序数据运行方法,其特征在于,所述程序数据运行方法还包括:

    根据所述执行引擎输出的执行结果,生成执行日志;

    将所述执行日志反馈给所述客户端,以便进行展示。

    4.根据权利要求1所述的程序数据运行方法,其特征在于,所述程序数据运行方法还包括:

    从解析出的代码数据中识别出第二代码段,其中,所述第二代码段为需操作非涉密数据源的代码段;

    将所述第二代码段与对应的原生程序接口绑定,以使所述第二代码段被执行时调用所述原生程序接口,访问对应的所述非涉密数据源。

    5.根据权利要求1所述的程序数据运行方法,其特征在于,所述将解析后的所述代码数据提交至对应的执行引擎的步骤包括:

    根据所述代码数据中携带的运行资源信息,从已有的执行引擎中确定出对应的目标引擎;

    将所述代码数据提交至所述目标引擎。

    6.一种程序数据运行装置,其特征在于,所述程序数据运行装置包括:

    解析模块,用于解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,所述第一代码段为需操作涉密数据源的代码段;

    绑定模块,用于将所述第一代码段与代理程序接口绑定;其中,所述代理程序接口用于二次封装涉密数据源;

    提交模块,用于将解析后的所述代码数据提交至对应的执行引擎;

    调用模块,用于在所述执行引擎处理所述第一代码段时,调用所述代理程序接口对所述第一代码段进行权限鉴定;

    获取模块,用于若所述第一代码段通过权限鉴定,则从所述第一代码段所指向的所述涉密数据源获取对应的所述第一代码段所需运行参数,以便得到执行结果。

    7.根据权利要求6所述的程序数据运行装置,其特征在于,所述程序数据运行装置还包括:

    输出模块,用于若所述第一代码段未通过权限鉴定,则输出所述第一代码段运行失败。

    8.根据权利要求6所述的程序数据运行装置,其特征在于,所述程序数据运行装置还包括:

    识别模块,用于从解析出的代码数据中识别出第二代码段,其中,所述第二代码段为需操作非涉密数据源的代码段;

    所述绑定模块,还用于将所述第二代码段与对应的原生程序接口绑定,以使所述第二代码段被执行时调用所述原生程序接口,访问对应的所述非涉密数据源。

    9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-5任一所述的方法。

    10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。

    技术总结
    本发明实施例提出一种程序数据运行方法、装置及电子设备,涉及计算机技术领域。其中,所述方法包括:解析用户通过客户端提交的完整的代码数据,并识别出第一代码段;其中,第一代码段为需操作涉密数据源的代码段;将第一代码段与代理程序接口绑定;其中,代理程序接口用于二次封装涉密数据源;将解析后的代码数据提交至对应的执行引擎;在执行引擎处理第一代码段时,调用代理程序接口对第一代码段进行权限鉴定;若第一代码段通过权限鉴定,则从第一代码段所指向的涉密数据源获取对应的第一代码段所需运行参数,以便得到执行结果。如此,降低运行用户所编写的代码程序对编码平台的信息安全的影响,有效降低安全控制成本。

    技术研发人员:高松
    受保护的技术使用者:北京金山云网络技术有限公司
    技术研发日:2020.11.27
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23390.html

    最新回复(0)