CN111367583A - 业务加载的方法和装置、电子设备和介质 - Google Patents

业务加载的方法和装置、电子设备和介质 Download PDF

Info

Publication number
CN111367583A
CN111367583A CN202010164019.5A CN202010164019A CN111367583A CN 111367583 A CN111367583 A CN 111367583A CN 202010164019 A CN202010164019 A CN 202010164019A CN 111367583 A CN111367583 A CN 111367583A
Authority
CN
China
Prior art keywords
program file
binary program
module
service
database
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.)
Granted
Application number
CN202010164019.5A
Other languages
English (en)
Other versions
CN111367583B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010164019.5A priority Critical patent/CN111367583B/zh
Publication of CN111367583A publication Critical patent/CN111367583A/zh
Application granted granted Critical
Publication of CN111367583B publication Critical patent/CN111367583B/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/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种由电子设备执行的业务加载的方法。该方法包括:获取目标业务的业务规则,其中,业务规则包括执行目标业务时所需的至少一个要素数据和执行目标业务时的至少一个执行逻辑关系;根据业务规则,生成以字节为单位的二进制程序文件;将二进制程序文件以字符流的形式存储于数据库中;以及响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。本公开还提供了一种业务加载的装置、一种电子设备、以及一种计算机可读存储介质。

Description

业务加载的方法和装置、电子设备和介质
技术领域
本公开涉及一种业务加载的方法、装置、电子设备和介质。
背景技术
相关技术在系统启动时通过加载编译后的程序文件来实现某些系统功能,以满足业务需求。在需求发生变化并相应地需要改变系统功能时,需要通过更新整个程序文件来实现系统功能的更新。对于具有多个系统功能的程序文件,即使只是其中一个系统功能需要改变,也需要变更整个程序文件。该变更过程涉及程序版本的发布与安装等一系列流程,耗时较长,很难做到对业务需求的快速响应。
发明内容
本公开的一个方面提供了一种由电子设备执行的业务加载的方法,包括:获取目标业务的业务规则,其中,业务规则包括执行目标业务时所需的至少一个要素数据和执行目标业务时的至少一个执行逻辑关系;根据业务规则,生成以字节为单位的二进制程序文件;将二进制程序文件以字符流的形式存储于数据库中;以及响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。
可选地,上述根据业务规则,生成以字节为单位的二进制程序文件,包括:根据业务规则中的要素数据和执行逻辑关系,确定源程序代码;以及通过编译源程序代码,得到以字节为单位的二进制程序文件。
可选地,上述将二进制程序文件以字符流的形式存储于数据库中,包括:将二进制程序文件转换为以字符为单位的字符数据;以及将字符数据存储于所述数据库中。
可选地,上述以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件,包括:从数据库中读取字符数据,并将字符数据写入电子设备的存储器中;以及将写入后的字符数据转换为二进制程序文件。
可选地,上述方法还包括:响应于接收到针对目标业务的执行指令,在电子设备的存储器中查找与目标业务对应的二进制程序文件;以及运行二进制程序文件,以执行目标业务。
可选地,上述方法还包括:响应于目标业务的业务规则发生改变,根据改变后的业务规则,生成新的二进制程序文件;以及根据新的二进制程序文件,更新数据库中与目标业务对应的字符数据和电子设备的存储器中与目标业务对应的二进制程序文件。
本公开的另一个方面提供了一种业务加载的装置,包括:获取模块,用于获取目标业务的业务规则,其中,业务规则包括执行目标业务时所需的至少一个要素数据和执行目标业务时的至少一个执行逻辑关系;第一生成模块,用于根据业务规则,生成以字节为单位的二进制程序文件;存储模块,用于将二进制程序文件以字符流的形式存储于数据库中;以及加载模块,用于响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。
可选地,上述第一生成模块包括:源程序确定子模块,用于根据业务规则中的要素数据和执行逻辑关系,确定源程序代码;以及编译子模块,用于通过编译源程序代码,得到以字节为单位的二进制程序文件。
可选地,上述存储模块包括:转换子模块,用于将二进制程序文件转换为以字符为单位的字符数据;以及存储子模块,用于将字符数据存储于数据库中。
可选地,上述加载模块包括:写入子模块,用于从数据库中读取字符数据,并将字符数据写入电子设备的存储器中;以及转换子模块,用于将写入后的字符数据转换为二进制程序文件。
可选地,上述装置还包括:查找模块,用于响应于接收到针对目标业务的执行指令,在电子设备的存储器中查找与目标业务对应的二进制程序文件;以及运行模块,用于运行二进制程序文件,以执行目标业务。
可选地,所述装置还包括:第二生成模块,用于响应于目标业务的业务规则发生改变,根据改变后的业务规则,生成新的二进制程序文件;以及更新模块,用于根据新的二进制程序文件,更新数据库中与目标业务对应的字符数据和电子设备的存储器中与目标业务对应的二进制程序文件。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现实现如上所述的方法
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,根据业务规则生成二进制程序文件,将二进制程序文件以字符流的形式存储于数据库中,响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。当业务需求发生改变从而使得某业务规则发生改变时,仅需更新该业务规则所对应的二进制程序文件,而不必改变其他业务规则所对应的二进制程序文件,从而可以实现对新的业务需求的快速响应,灵活性更强。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的由电子设备执行的业务加载的方法和业务加载的装置的应用场景;
图2示意性示出了根据本公开的实施例的由电子设备执行的业务加载的方法的流程图;
图3示意性示出了根据本公开另一实施例的由电子设备执行的业务加载的方法的流程图;
图4示意性示出了根据本公开另一实施例的业务加载的方法的流程图;
图5示意性示出了根据本公开的实施例的业务加载的装置的框图;
图6示意性示出了根据本公开的实施例的第一生成模块的框图;
图7示意性示出了根据本公开的实施例的存储模块的框图;
图8示意性示出了根据本公开的实施例的加载模块的框图;
图9示意性示出了根据本公开另一实施例的业务加载的装置的框图;
图10示意性示出了根据本公开另一实施例的业务加载的装置的框图;以及
图11示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种由电子设备执行的业务加载的方法以及能够应用该方法的业务加载的装置。该方法包括获取目标业务的业务要素和业务规则,其中,业务要素包括至少一个执行目标业务时所需的要素数据,业务规则包括至少一个执行目标业务时的执行逻辑;根据业务要素和业务规则,生成以字节为单位的二进制程序文件;将二进制程序文件以字符流的形式存储于数据库中;响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件;以及运行二进制程序文件,以执行目标业务。
图1示意性示出了根据本公开的实施例的业务加载的方法和业务加载的装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,应用场景可以包括电子设备10,电子设备10可以包括功能模块101和数据库102。例如,电子设备10可以是银行的业务系统,用于实现卡系统管理、客户信息管理、支付结算等功能。功能模块101可以是具体用于实现某种系统功能的程序模块,例如卡系统管理模块、客户信息管理模块、支付结算模块等。
在电子设备10外部,通过根据不同业务的业务规则(例如业务规则1、业务规则2和业务规则3),分别生成与每个业务相对应的二进制程序文件,即业务规则模块(例如业务规则模块1、业务规则模块2和业务规则模块3)。电子设备10从系统外部以字节流的形式读入业务规则模块,再将业务规则模块转化为字符流的形式,并作为数据库中的记录存储于数据库中,从而完成业务规则模块的转储。当业务的执行流程开始后,功能模块101首先对输入数据进行检测,然后通过动态加载模块以字符流的形式从数据库中获取业务规则模块所对应的记录,再将该记录转换为字节流的形式的业务规则模块加载入电子设备10的存储器中,从而反向转储和加载所需的业务规则模块,接着根据业务规则模块进行通用逻辑处理。
根据本公开的另一些实施例,数据库102也可以设置于不同于电子设备10且能够与电子设备10通信的其他系统中。
图2示意性示出了根据本公开的实施例的由电子设备执行的业务加载的方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,获取目标业务的业务规则。
其中,业务规则包括执行目标业务时所需的至少一个要素数据和执行目标业务时的至少一个执行逻辑关系。
根据本公开的实施例,可以预先根据业务的业务场景确定业务要素和业务逻辑,按照业务逻辑处理业务要素而形成的规则,即为业务规则。其中,业务要素包括完成业务功能所需要的业务相关要素数据,业务逻辑包括例如为对业务要素进行拆分、组合、转换、计算等处理之间的逻辑关系。
例如,在银行账号校验业务的业务场景中,需要对银行账号中的地区号、网点号、顺序号、校验位等数据进行校验,因此可以确定地区号、网点号、顺序号、校验位作为业务要素。另外,在校验过程中,需要对业务要素进行截取、填充、拼接、计算校验位等处理,因此可以确定截取、填充、拼接、计算校验位等处理之间的逻辑关系作为业务逻辑。在操作S220,根据业务规则,生成以字节为单位的二进制程序文件。
根据本公开的实施例,可以根据所述业务规则中的要素数据和执行逻辑关系,确定源程序代码。然后通过编译所述源程序代码,得到以字节为单位的二进制程序文件。该二进制程序文件包括二进制的机器指令码,可以由电子设备的CPU(Central ProcessingUnit,中央处理器)识别并执行,从而执行目标业务。
在操作S230,将二进制程序文件以字符流的形式存储于数据库中。
根据本公开的实施例,操作S230例如可以包括,将二进制程序文件转换为以字符为单位的字符数据,然后将字符数据存储于数据库中。
现有的数据库无法直接存储二进制程序文件。根据本公开的实施例,通过将二进制程序文件转换为数据库可以支持的字符数据,从而不需要改动原有的数据库结构,就能使数据库实现对二进制程序文件的存储。需要说明的是,转换过程中二进制程序文件的内容并没有改变,只是变成了字符格式,从而使得数据库可以按照与字符格式对应的存储方式存储该二进制程序文件。
在操作S240,响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。
根据本公开的实施例,操作S240例如可以包括,从数据库中读取字符数据,并将字符数据写入电子设备的存储器中,然后将写入后的字符数据转换为二进制程序文件。电子设备的存储器例如可以为内存。
根据本公开的实施例,在执行目标业务时,通过将存储在数据库中的字符数据转换回二进制程序文件,从而电子设备能够在存储器中运行该二进制程序文件,以执行目标业务。
根据本公开的实施例,根据业务规则生成二进制程序文件,将二进制程序文件以字符流的形式存储于数据库中。响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。当业务需求发生改变从而使得某业务规则发生改变时,仅需更新该业务规则所对应的二进制程序文件,而不必改变其他业务规则所对应的二进制程序文件,从而可以实现对新的业务需求的快速响应,灵活性更强。
图3示意性示出了根据本公开另一实施例的由电子设备执行的业务加载的方法的流程图。
如图3所示,除了操作S210~S240,该方法还包括操作S350~S370。操作S350~S360可以在操作S240之后执行。
在操作S350,响应于接收到针对目标业务的执行指令,在电子设备的存储器中查找与目标业务对应的二进制程序文件。
在操作S360,运行二进制程序文件,以执行目标业务。
根据本公开的实施例,由于电子设备的存储器中已加载了与目标业务对应的二进制程序文件,因此在执行目标业务时,只需查找并运行该二进制程序文件,而不必再次执行加载过程,因此运行效率较高。
图4示意性示出了根据本公开另一实施例的由电子设备执行的业务加载的方法的流程图。
如图4所示,除了操作S210~S240,该方法还包括操作S450~S460。
在操作S450,响应于目标业务的业务规则发生改变,根据改变后的业务规则,生成新的二进制程序文件。
在操作S460,根据新的二进制程序文件,更新数据库中与目标业务对应的字符数据和电子设备的存储器中与目标业务对应的二进制程序文件。
根据本公开的实施例,当执行目标业务时所需的要素数据和/或执行目标业务时的执行逻辑关系发生变化时,即目标业务的业务规则发生变化时,根据新的业务规则,确定源程序代码。然后通过编译所述源程序代码,得到新的二进制程序文件。接着将新的二进制程序文件转换为新的字符数据,存储在数据库中,并将数据库中原有的字符数据删除。另外,若电子设备的存储器中已加载有目标业务所对应的二进制程序文件,则还需要更新存储器中的二进制程序文件。该更新操作包括以字符流的形式从数据库中读取新的二进制程序文件,然后以字节流的形式加载新的二进制程序文件,并删除存储器中原有的二进制程序文件。
根据本公开的实施例,只有在第一次调用目标业务时,才需要动态加载二进制程序文件。后续只有业务规则发生变化时,才会再次加载更新后的二进制程序文件,从而避免重复加载,提高了运行效率。
下面结合具体实施例对图2所示的方法做进一步说明。
以银行的账号生成业务为例。本实施例中,要素数据包括地区号、网点号、顺序号、校验位等数据。执行逻辑关系包括执行截取、填充、拼接、计算校验位等处理时的逻辑关系。
当银行在海外新地区扩展业务时,由于各地区的校验位计算规则都不同,因此银行账号的校验位计算规则要随着不同地区的业务需求而变化。相关技术将各个业务要素作为参数存在数据库中,业务规则以程序的形式固化在系统中。当执行业务时,由程序读取数据库中的参数,从而执行相关操作。因此,当业务需求因为地区的变化而发生改变时,相关技术必须修改已固化在程序中的校验位生成规则的逻辑,才能满足业务需求。该修改过程涉及到版本的发布与安装等一系列流程,耗时较长,很难做到对业务需求的快速响应。
根据本公开的实施例,根据校验位计算规则生成二进制程序文件,即校验位计算模块,然后将校验位计算模块以字符流的形式转储于数据库中。当需要加载该业务时,以字符流的形式从数据库中相应的校验位计算模块,并以字节流的形式加载到内存中。当校验位计算规则因为地区的变化而发生改变时,仅需更新校验位生成规则所对应的二进制程序文件,而不必改变其他业务规则所对应的二进制程序文件,从而可以实现对新的业务需求的快速响应。
另外,还可以分别针对不同地区的校验位计算规则,生成相应的校验位计算模块,并将这些校验位计算模块转储于数据库中。系统可以根据不同的地区,有选择的加载与该地区相适应的校验计算模块。例如,在A地区加载适应A地区校验位计算规则的校验位计算模块,而在B地区加载适应B地区校验位计算规则的校验位计算模块。各地区的校验计算模块之间互不干扰。如A地区的验位计算规则变化,仅需更新A地区的校验计算模块,不会影响其他地区。因此可以实现灰度发布。
图5示意性示出了根据本公开的实施例的业务加载的装置的框图。
如图5所示,业务加载的装置500包括获取模块510、第一生成模块520、存储模块530和加载模块540。该业务加载的装置500可以执行上面参考图2描述的方法。
具体地,获取模块510,用于获取目标业务的业务规则,其中,业务规则包括执行目标业务时所需的至少一个要素数据和执行目标业务时的至少一个执行逻辑关系。
第一生成模块520,用于根据业务规则,生成以字节为单位的二进制程序文件。
存储模块530,用于将二进制程序文件以字符流的形式存储于数据库中。
加载模块540,用于响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。
根据本公开的实施例,根据业务规则生成二进制程序文件,将二进制程序文件以字符流的形式存储于数据库中,响应于接收到针对目标业务的加载指令,以字符流的形式从数据库中读取二进制程序文件,并以字节流的形式加载二进制程序文件。当业务需求发生改变从而使得某业务规则发生改变时,仅需更新该业务规则所对应的二进制程序文件,而不必改变其他业务规则所对应的二进制程序文件,从而可以实现对新的业务需求的快速响应,灵活性更强。
图6示意性示出了根据本公开的实施例的第一生成模块的框图。
如图6所示,第一生成模块520包括:
源程序确定子模块621,用于根据业务规则中的要素数据和执行逻辑关系,确定源程序代码。
编译子模块622,用于通过编译源程序代码,得到以字节为单位的二进制程序文件。
图7示意性示出了根据本公开的实施例的存储模块的框图。
如图7所示,存储模块530包括:
转换子模块731,用于将二进制程序文件转换为以字符为单位的字符数据。
存储子模块732,用于将字符数据存储于数据库中。
图8示意性示出了根据本公开的实施例的加载模块的框图。
如图8所示,加载模块540包括:
写入子模块841,用于从数据库中读取字符数据,并将字符数据写入电子设备的存储器中。
转换子模块842,用于将写入后的字符数据转换为二进制程序文件。
图9示意性示出了根据本公开另一实施例的业务加载的装置的框图。
如图9所示,除了获取模块510、第一生成模块520、存储模块530和加载模块540,业务加载的装置900还包括查找模块950和运行模块960。
具体地,查找模块950,用于响应于接收到针对目标业务的执行指令,在电子设备的存储器中查找与目标业务对应的二进制程序文件。
运行模块960,用于运行二进制程序文件,以执行目标业务。
图10示意性示出了根据本公开另一实施例的业务加载的装置的框图。
如图10所示,除了获取模块510、第一生成模块520、存储模块530和加载模块540,业务加载的装置1000还包括第二生成模块1010和更新模块1020。
具体地,第二生成模块1010,用于响应于目标业务的业务规则发生改变,根据改变后的业务规则,生成新的二进制程序文件。
更新模块1020,用于根据新的二进制程序文件,更新数据库中与目标业务对应的字符数据和电子设备的存储器中与目标业务对应的二进制程序文件。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块510、第一生成模块520、存储模块530、加载模块540、查找模块950、运行模块960、第二生成模块1010和更新模块1020中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块510、第一生成模块520、存储模块530、加载模块540、查找模块950、运行模块960、第二生成模块1010和更新模块1020中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块510、第一生成模块520、存储模块530、加载模块540、查找模块950、运行模块960、第二生成模块1010和更新模块1020中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图11示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括处理器1110以及计算机可读存储介质1120。该计算机系统1100可以执行根据本公开实施例的方法。
具体地,处理器1110例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1110还可以包括用于缓存用途的板载存储器。处理器1110可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1120,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质1120可以包括计算机程序1121,该计算机程序1121可以包括代码/计算机可执行指令,其在由处理器1110执行时使得处理器1110执行根据本公开实施例的方法或其任何变形。
计算机程序1121可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1121中的代码可以包括一个或多个程序模块,例如包括1121A、模块1121B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1110执行时,使得处理器1110可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获取模块510、第一生成模块520、存储模块530、加载模块540、查找模块950、运行模块960、第二生成模块1010和更新模块1020中的至少一个可以实现为参考图11描述的计算机程序模块,其在被处理器1110执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (14)

1.一种由电子设备执行的业务加载的方法,包括:
获取目标业务的业务规则,其中,所述业务规则包括执行所述目标业务时所需的至少一个要素数据和执行所述目标业务时的至少一个执行逻辑关系;
根据所述业务规则,生成以字节为单位的二进制程序文件;
将所述二进制程序文件以字符流的形式存储于数据库中;以及
响应于接收到针对所述目标业务的加载指令,以字符流的形式从所述数据库中读取所述二进制程序文件,并以字节流的形式加载所述二进制程序文件。
2.根据权利要求1所述的方法,其中,所述根据所述业务规则,生成以字节为单位的二进制程序文件,包括:
根据所述业务规则中的要素数据和执行逻辑关系,确定源程序代码;以及
通过编译所述源程序代码,得到所述以字节为单位的二进制程序文件。
3.根据权利要求1或2所述的方法,其中,所述将所述二进制程序文件以字符流的形式存储于数据库中,包括:
将所述二进制程序文件转换为以字符为单位的字符数据;以及
将所述字符数据存储于所述数据库中。
4.根据权利要求3所述的方法,其中,所述以字符流的形式从所述数据库中读取所述二进制程序文件,并以字节流的形式加载所述二进制程序文件,包括:
从所述数据库中读取所述字符数据,并将所述字符数据写入所述电子设备的存储器中;以及
将写入后的所述字符数据转换为所述二进制程序文件。
5.根据权利要求4所述的方法,还包括:
响应于接收到针对所述目标业务的执行指令,在所述电子设备的存储器中查找与所述目标业务对应的二进制程序文件;以及
运行所述二进制程序文件,以执行所述目标业务。
6.根据权利要求4所述的方法,还包括:
响应于所述目标业务的业务规则发生改变,根据改变后的所述业务规则,生成新的二进制程序文件;以及
根据所述新的二进制程序文件,更新所述数据库中与所述目标业务对应的字符数据和所述电子设备的存储器中与所述目标业务对应的二进制程序文件。
7.一种业务加载的装置,包括:
获取模块,用于获取目标业务的业务规则,其中,所述业务规则包括执行所述目标业务时所需的至少一个要素数据和执行所述目标业务时的至少一个执行逻辑关系;
第一生成模块,用于根据所述业务规则,生成以字节为单位的二进制程序文件;
存储模块,用于将所述二进制程序文件以字符流的形式存储于数据库中;以及
加载模块,用于响应于接收到针对所述目标业务的加载指令,以字符流的形式从所述数据库中读取所述二进制程序文件,并以字节流的形式加载所述二进制程序文件。
8.根据权利要求7所述的装置,其中,所述第一生成模块包括:
源程序确定子模块,用于根据所述业务规则中的要素数据和执行逻辑关系,确定源程序代码;以及
编译子模块,用于通过编译所述源程序代码,得到所述以字节为单位的二进制程序文件。
9.根据权利要求7或8所述的装置,其中,所述存储模块包括:
转换子模块,用于将所述二进制程序文件转换为以字符为单位的字符数据;以及
存储子模块,用于将所述字符数据存储于所述数据库中。
10.根据权利要求9所述的装置,其中,所述加载模块包括:
写入子模块,用于从所述数据库中读取所述字符数据,并将所述字符数据写入电子设备的存储器中;以及
转换子模块,用于将写入后的所述字符数据转换为所述二进制程序文件。
11.根据权利要求10所述的装置,还包括:
查找模块,用于响应于接收到针对所述目标业务的执行指令,在所述电子设备的存储器中查找与所述目标业务对应的二进制程序文件;以及
运行模块,用于运行所述二进制程序文件,以执行所述目标业务。
12.根据权利要求10所述的装置,还包括:
第二生成模块,用于响应于所述目标业务的业务规则发生改变,根据改变后的所述业务规则,生成新的二进制程序文件;以及
更新模块,用于根据所述新的二进制程序文件,更新所述数据库中与所述目标业务对应的字符数据和所述电子设备的存储器中与所述目标业务对应的二进制程序文件。
13.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,
其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现权利要求1至6中任一项的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项的方法。
CN202010164019.5A 2020-03-10 2020-03-10 业务加载的方法和装置、电子设备和介质 Active CN111367583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010164019.5A CN111367583B (zh) 2020-03-10 2020-03-10 业务加载的方法和装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010164019.5A CN111367583B (zh) 2020-03-10 2020-03-10 业务加载的方法和装置、电子设备和介质

Publications (2)

Publication Number Publication Date
CN111367583A true CN111367583A (zh) 2020-07-03
CN111367583B CN111367583B (zh) 2023-04-28

Family

ID=71210410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010164019.5A Active CN111367583B (zh) 2020-03-10 2020-03-10 业务加载的方法和装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN111367583B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112492000A (zh) * 2020-11-18 2021-03-12 中盈优创资讯科技有限公司 一种物联网访问网络规则的加载方法及装置
CN113064905A (zh) * 2021-03-25 2021-07-02 北京京东乾石科技有限公司 业务流程处理方法、装置、电子设备和计算机可读介质
CN113902567A (zh) * 2021-10-12 2022-01-07 工银科技有限公司 执行任务的方法、装置和电子设备
CN114721893A (zh) * 2022-06-09 2022-07-08 深圳精智达技术股份有限公司 一种全自动设备的数据处理方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010147454A1 (en) * 2009-06-16 2010-12-23 Emanual System Sdn Bhd System and method of binary data storage and management in database management systems
CN103019845A (zh) * 2012-12-10 2013-04-03 中国人民解放军理工大学 一种异构数据库平台下应用程序零修改迁移的方法
CN107256206A (zh) * 2017-05-24 2017-10-17 北京京东尚科信息技术有限公司 字符流格式转换的方法和装置
US20180081947A1 (en) * 2016-09-20 2018-03-22 International Business Machines Corporation Relational operations between database tables and application tables

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010147454A1 (en) * 2009-06-16 2010-12-23 Emanual System Sdn Bhd System and method of binary data storage and management in database management systems
CN103019845A (zh) * 2012-12-10 2013-04-03 中国人民解放军理工大学 一种异构数据库平台下应用程序零修改迁移的方法
US20180081947A1 (en) * 2016-09-20 2018-03-22 International Business Machines Corporation Relational operations between database tables and application tables
CN107256206A (zh) * 2017-05-24 2017-10-17 北京京东尚科信息技术有限公司 字符流格式转换的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112492000A (zh) * 2020-11-18 2021-03-12 中盈优创资讯科技有限公司 一种物联网访问网络规则的加载方法及装置
CN113064905A (zh) * 2021-03-25 2021-07-02 北京京东乾石科技有限公司 业务流程处理方法、装置、电子设备和计算机可读介质
CN113064905B (zh) * 2021-03-25 2024-04-16 北京京东乾石科技有限公司 业务流程处理方法、装置、电子设备和计算机可读介质
CN113902567A (zh) * 2021-10-12 2022-01-07 工银科技有限公司 执行任务的方法、装置和电子设备
CN114721893A (zh) * 2022-06-09 2022-07-08 深圳精智达技术股份有限公司 一种全自动设备的数据处理方法及相关装置
CN114721893B (zh) * 2022-06-09 2022-09-27 深圳精智达技术股份有限公司 一种全自动设备的数据处理方法及相关装置

Also Published As

Publication number Publication date
CN111367583B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN111367583B (zh) 业务加载的方法和装置、电子设备和介质
EP3333704B1 (en) Method and apparatus for repairing kernel vulnerability
CN107025559B (zh) 一种业务处理方法及装置
US10200502B2 (en) Method and apparatus for software update management
CN110704037B (zh) 一种规则引擎实现方法及装置
CN109062617B (zh) 一种支持多类型设备的平台的应用方法、移动终端
US11556348B2 (en) Bootstrapping profile-guided compilation and verification
US10606574B2 (en) Executing optimized local entry points and function call sites
US10360007B2 (en) Linking optimized entry points for local-use-only function pointers
US10268465B2 (en) Executing local function call site optimization
US20180113691A1 (en) Compiling Optimized Entry Points for Local-Use-Only Function Pointers
JP7394211B2 (ja) スマートコントラクトの並行実行の方法、装置、機器、及び媒体
CN104471557A (zh) 动态语言的优化执行
US20180113695A1 (en) Loading Optimized Local Entry Points for Local-Use-Only Function Pointers
CN113961919B (zh) 恶意软件检测方法和装置
CN111427579A (zh) 插件、应用程序实现方法及系统和计算机系统及存储介质
CN110599183A (zh) 智能合约调用方法、装置及存储介质
CN110716845A (zh) 一种Android系统的日志信息读取的方法
CN109614230B (zh) 资源虚拟化方法、装置和电子设备
CN111190658B (zh) 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的系统
CN114091111B (zh) 一种区块链智能合约的存储方法及装置
US11971805B2 (en) Intelligent automated feature toggle system using annotations
CN115794260B (zh) 一种简单的dsp软件库动态加载方法
CN111209056B (zh) 功能函数的加载方法、装置、可读存储介质及电子设备
CN117472755A (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