企业信息管理系统人机交互事件处理方法及系统转让专利

申请号 : CN201310063884.0

文献号 : CN103136353B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱龙佰张舟姚晓燕

申请人 : 武汉刻度信息科技股份有限公司

摘要 :

本发明公开了一种基于脚本的企业信息管理系统人机交互事件处理方法及系统。其方法包括:构造交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机;将需要人机交互的业务功能设定为业务功能逻辑对象,每个业务功能逻辑对象对应人机交互事件并关联多个交互事件处理脚本,每个交互事件处理脚本由指令集中的多个指令按顺序排列而成;启动企业信息系统初始化,并通过接口模块将脚本执行虚拟机与企业信息系统的核心控制模块关联;企业信息系统接收用户操作,触发人机交互事件,通过接口模块通知脚本执行虚拟机;脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,执行交互事件处理脚本。

权利要求 :

1.一种基于脚本的企业信息管理系统人机交互事件处理方法,其特征在于,包括:构造一套交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机;

将企业信息管理系统中需要人机交互的业务功能设定为业务功能逻辑对象,每个业务功能逻辑对象对应一个或多个人机交互事件,每个人机交互事件关联多个交互事件处理脚本,每个交互事件处理脚本由指令集中的多个指令按顺序排列而成;

启动企业信息系统初始化,并通过接口模块将脚本执行虚拟机与企业信息系统的核心控制模块关联;

企业信息系统接收用户操作,触发人机交互事件,通过接口模块通知脚本执行虚拟机;

脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,按顺序执行当前交互事件关联的交互事件处理脚本。

2.根据权利要求1所述的基于脚本的企业信息管理系统人机交互事件处理方法,其特征在于,所述业务功能逻辑对象由业务字段和数据查询对象组成,其中业务字段为业务功能中的每个不可再细化的数据单元;数据查询对象用来访问数据库,包含数据字段和数据查询条件两个部分。

3.根据权利要求2所述的基于脚本的企业信息管理系统人机交互事件处理方法,其特征在于,所述业务字段包括标量业务字段和向量业务字段,其中所述标量业务字段只含单个数据,所述向量业务字段包含一组相同属性的数据。

4.根据权利要求1所述的基于脚本的企业信息管理系统人机交互事件处理方法,其特征在于,所述人机交互事件包括有12种类型。

5.根据权利要求4所述的基于脚本的企业信息管理系统人机交互事件处理方法,其特征在于,所述人机交互事件包括以下12种类型:

6.一种基于脚本的企业信息管理系统人机交互事件处理系统,其特征在于,包括:第一装置,用于构造一套交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机;

第二装置,用于将企业信息管理系统中需要人机交互的业务功能设定为业务功能逻辑对象,每个业务功能逻辑对象对应一个或多个人机交互事件,每个人机交互事件关联多个交互事件处理脚本,每个交互事件处理脚本由指令集中的多个指令按顺序排列而成;

第三装置,用于启动企业信息系统初始化,并通过接口模块将脚本执行虚拟机与企业信息系统的核心控制模块关联;

第四装置,用于企业信息系统接收用户操作,触发人机交互事件,通过接口模块通知脚本执行虚拟机;

第五装置,用于脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,按顺序执行当前交互事件关联的交互事件处理脚本。

7.根据权利要求6所述的基于脚本的企业信息管理系统人机交互事件处理系统,其特征在于,所述业务功能逻辑对象由业务字段和数据查询对象组成,其中业务字段为业务功能中的每个不可再细化的数据单元;数据查询对象用来访问数据库,包含数据字段和数据查询条件两个部分。

8.根据权利要求7所述的基于脚本的企业信息管理系统人机交互事件处理系统,其特征在于,所述业务字段包括标量业务字段和向量业务字段,其中所述标量业务字段只含单个数据,所述向量业务字段包含一组相同属性的数据。

9.根据权利要求6所述的基于脚本的企业信息管理系统人机交互事件处理系统,其特征在于,所述人机交互事件包括有12种类型。

10.根据权利要求9所述的基于脚本的企业信息管理系统人机交互事件处理系统,其特征在于,所述人机交互事件包括以下12种类型:

说明书 :

企业信息管理系统人机交互事件处理方法及系统

技术领域

[0001] 本发明涉及企业信息管理系统,具体地说,是一种基于脚本的企业信息管理系统人机交互事件处理方法及系统。

背景技术

[0002] 企业信息管理系统(包括ERP系统、RM系统、OA系统、电子政务系统等)包含大部分需要人机交互的业务功能界面,例如查询企业的各种财务报表,填写采购入库单等。每次人机交互事件(例如输入一个数值,填写电话号码,提交表单等)都需要系统处理并做出响应,例如输入一个数值需要系统验证数值的有效性并可能根据该数值计算另外若干数值。一个业务功能复杂的企业信息管理系统中涉及几万甚至上十万这样的人机交互事件,几乎每个事件都需要处理并做出响应,占企业信息管理系统实现50%以上的工作量。
[0003] 如何处理人机交互事件,当前商业或开源企业信息管理系统基本上使用两类技术:一类是使用程序语言编写程序处理,一类是使用XML等脚本语言配置。前一类技术处理交互事件时灵活,但工作量大,需要有较强编程能力的程序员实现;最大的缺点是不易随需应变,任何一次交互事件处理逻辑的变化都需要修改程序并重新编译整个系统或部分系统模块。后一类技术可避免重新编译系统,但灵活性差,一些特殊人机交互事件不能处理,同时也需要较强编写XML等脚本的技术人员。

发明内容

[0004] 本发明要解决的技术问题是提供一种使用灵活方便、工作量小的基于脚本的企业信息管理系统人机交互事件处理方法及系统。
[0005] 为了解决上述技术问题,本发明提供了一种基于脚本的企业信息管理系统人机交互事件处理方法,包括:
[0006] 构造一套交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机;
[0007] 将企业信息管理系统中需要人机交互的业务功能设定为业务功能逻辑对象,每个业务功能逻辑对象对应一个或多个人机交互事件,每个人机交互事件关联多个交互事件处理脚本,每个交互事件处理脚本由指令集中的多个指令按顺序排列而成;
[0008] 启动企业信息系统初始化,并通过接口模块将脚本执行虚拟机与企业信息系统的核心控制模块关联;
[0009] 企业信息系统接收用户操作,触发人机交互事件,通过接口模块通知脚本执行虚拟机;
[0010] 脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,按顺序执行当前交互事件关联的交互事件处理脚本。
[0011] 进一步地,所述业务功能逻辑对象由业务字段和数据查询对象组成,其中业务字段为业务功能中的每个不可再细化的数据单元;数据查询对象用来访问数据库,包含数据字段和数据查询条件两个部分。
[0012] 进一步地,所述业务字段包括标量业务字段和向量业务字段,其中所述标量业务字段只含单个数据,所述向量业务字段包含一组相同属性的数据。
[0013] 进一步地,所述人机交互事件包括有12种类型。
[0014] 进一步地,所述人机交互事件包括以下12种类型:
[0015]
[0016]
[0017] 本发明还提供了一种基于脚本的企业信息管理系统人机交互事件处理系统,包括:
[0018] 第一装置,用于构造一套交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机;
[0019] 第二装置,用于将企业信息管理系统中需要人机交互的业务功能设定为业务功能逻辑对象,每个业务功能逻辑对象对应一个或多个人机交互事件,每个人机交互事件关联多个交互事件处理脚本,每个交互事件处理脚本由指令集中的多个指令按顺序排列而成;
[0020] 第三装置,用于启动企业信息系统初始化,并通过接口模块将脚本执行虚拟机与企业信息系统的核心控制模块关联;
[0021] 第四装置,用于企业信息系统接收用户操作,触发人机交互事件,通过接口模块通知脚本执行虚拟机;
[0022] 第五装置,用于脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,按顺序执行当前交互事件关联的交互事件处理脚本。
[0023] 进一步地,所述业务功能逻辑对象由业务字段和数据查询对象组成,其中业务字段为业务功能中的每个不可再细化的数据单元;数据查询对象用来访问数据库,包含数据字段和数据查询条件两个部分。
[0024] 进一步地,所述业务字段包括标量业务字段和向量业务字段,其中所述标量业务字段只含单个数据,所述向量业务字段包含一组相同属性的数据。
[0025] 进一步地,所述人机交互事件包括有12种类型。
[0026] 进一步地,所述人机交互事件包括以下12种类型:
[0027]
[0028]
[0029] 本发明在企业信息管理系统的人机交互事件处理技术上有较之现有技术的优点,一是改变人机交互事件处理逻辑时不需要重新编译整个企业信息系统,可适应随需应变的环境;二是适合处理各类人机交互事件,易于实现人机交互事件的处理,降低了技术人员的学习门槛,提高技术人员的工作效率;三是使用该技术的人机交互事件处理过程易读易理解,便于维护。

附图说明

[0030] 图1是本发明的基于脚本的企业信息管理系统人机交互事件处理方法的流程图。
[0031] 图2是本发明中脚本执行虚拟机装置各构造部件关系图。
[0032] 图3是图2所示脚本执行虚拟机装置中脚本管理器部件的工作流程图。
[0033] 图4是本发明中脚本执行虚拟机脚本执行流程图。

具体实施方式

[0034] 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0035] 如图1所示,本发明把企业信息管理系统中的每个需要人机交互的业务功能(例如报表,采购入库单,记账凭证等)设定为一个由业务字段和数据查询对象组成的逻辑对象。把整个企业信息管理系统的人机交互事件归纳为12种类型。构造一套交互事件处理脚本指令集并实现基于该指令集的脚本执行虚拟机,在企业信息系统启动时初始化并通过接口模块与企业信息系统的核心控制模块关联。每个业务功能逻辑对象注册12种事件中的若干人机交互事件,每个人机交互事件关联若干交互事件处理脚本,每个脚本由指令集中的若干指令按顺序排列而成。用户操作业务功能触发人机交互事件,企业信息系统通过接口模块通知脚本执行虚拟机处理。脚本执行虚拟机以当前处理的业务功能逻辑对象为数据源,按顺序执行当前交互事件关联的脚本。
[0036] 本发明所设计的业务功能逻辑对象主要由两部分构成:业务字段和数据查询对象。业务字段为业务功能中的每个不可再细化的数据单元,例如对采购入库单的逻辑对象,供应商、供货时间、供应物品、供应物品的价格和数量等每项信息都是一个业务字段。业务字段又分为标量业务字段和向量业务字段,标量业务字段只含单个数据,向量业务字段包含一组相同属性的数据。例如,上述的供应商只包含供应商编码单个数据,是标量业务字段;而供应物品包含一组物品编码,是向量业务字段。业务逻辑对象中的业务字段根据数据来源可划分为若干组,每组称为一个业务逻辑对象分区,优选的,数据来自同一个数据访问对象的业务字段划分到同一个分区。特别地,划分到同一分区的向量业务字段具有完全相同的分量个数,初始化时就在同一行的分量具有相关性并始终在同一行;每个分区的向量业务字段有一个游标,游标值为当前行的行号,游标所指示的行上的分量值为向量业务字段的当前值。数据查询对象用来访问数据库,包含数据字段和数据查询条件两个部分:数据字段表明了要访问数据库中哪个库表的哪个字段,数据查询条件表明如何查询指定的数据字段。优选的,数据查询条件也设置为业务功能逻辑对象中的一个标量型业务字段。
[0037] 如图2所示,本发明中脚本执行虚拟机装置包括系统人机交互控制模块、外部模块接口控制器、脚本管理器、虚拟机运行环境、算术逻辑执行单元和非算术逻辑执行单元。
[0038] 如图3所示,上述脚本执行虚拟机装置中脚本管理器部件的工作流程为:
[0039] 1)接收当前工作的业务逻辑对象、交互事件及参数;
[0040] 2)查找事件关联的脚本;
[0041] 3)判断脚本是否已装载,若否,执行步骤4),若是,执行步骤6);
[0042] 4)装载脚本;
[0043] 5)编译脚本;
[0044] 6)初始化虚拟环境,申请临时变量;
[0045] 7)执行脚本。
[0046] 事件关联的脚本查找机制为:
[0047]
[0048]
[0049] 如图4所示,本发明中脚本执行的流程包括:
[0050] 1)取虚拟机程序计数器指定的指令;
[0051] 2)判断是否超出指令范围,若是,终止执行;若否,执行下一步骤;
[0052] 3)判断指令是否需要执行,若是,执行下一步骤;若否,将程序计数器值加1,返回步骤1);
[0053] 4)判断指令是否可执行,若是,执行下步骤;若否,终止执行;
[0054] 5)判断是否为跳转指令,若是,设置程序计数器,返回步骤1);若否,执行指令并将程序计数器值加1,返回步骤1)。
[0055] 下面以具体实施方式对本发明进行具体说明。
[0056] 本发明把整个企业信息系统的人机交互事件归纳为以下12种类型:
[0057]
[0058]
[0059] 本发明设计的脚本指令集专门用于处理企业信息管理系统的人机交互事件,包含指令结构及编码规范、遵守该规范的一组指令和指令执行规范。
[0060] 本发明所设计的指令从结构上分为以下6类:
[0061]指令结构分类 目的操作数 操作码 源操作数1 源操作数2
无源无目的指令 无 有 无 无
无源有目的指令 有 有 无 无
一源无目的指令 无 有 有 无
二源无目的指令 无 有 有 有
一源有目的指令 有 有 有 无
二源有目的指令 有 有 有 有
[0062] 操作数的数据类型限定为整数、浮点小数、位数精确的小数、字符串、日期时间、动态类型对象等。指令的控制属性包括:可选性、标量条件、向量条件和向量运算标注。
[0063] 指令编码规范如下表:
[0064]
[0065] 本发明指令集中所有的指令遵守以下执行规范,个别特殊指令单独规范。
[0066] (1)指令调度规范:
[0067]
[0068]
[0069] 操作数有效性判断规范:标量操作数值为空时无效,否则有效;向量操作数分量个数为0时无效,大于0时有效。两个操作数中只要其中一个无效即为操作数无效。
[0070] (2)运算模式控制规范:
[0071] 本发明的指令运算分为标量运算和向量运算两种模式,标量运算为单个值与单个值运算,向量运算为一组值和另一组值或单个值运算,运算模式控制规范如下:
[0072]向量运算标注 运算模式 操作数模式 操作数取值
0 标量运算 标量 标量的值
0 标量运算 向量 向量的当前分量值
1 向量运算 标量 标量的值
1 向量运算 向量 向量的每个分量值
[0073] (3)向量运算控制规范:
[0074]
[0075]
[0076] 注:上表中的*运算符代表任意操作码,而不是特指某种操作码;n的范围为[0,32位整数最大值]。
[0077] 上表中的·运算符表示与向量条件状态运算,其运算规范如下:
[0078]运算表达式 向量条件状态值(c) 运算结果
a*·c 0 目的操作数不变
a*b·c 0 目的操作数不变
a*·c 1 目的操作数更新为a*
a*b·c 1 目的操作数更新为a*b
[0079] (4)目的操作数数据类型推导规范:
[0080] 本发明的指令操作数的类型不需要执行前设定,完全由脚本执行虚拟机在运行时推导。下表所述的目的操作数数据类型推导规范为基本规范,个别指令的目的操作数强制为固定的数据类型,不属该规范约束。
[0081]
[0082]
[0083] 本发明设计的指令:
[0084] 在列举指令规范前,先约定以下操作数类型子集:
[0085] S0={全部数据类型},
[0086] S1={整数,浮点小数,位数精确的小数}
[0087] S2={整数,浮点小数,位数精确的小数,字符串},
[0088] S3={整数,浮点小数,位数精确的小数,字符串,日期时间}
[0089] S4={整数,浮点小数,位数精确的小数,日期时间}
[0090] S5={浮点小数,位数精确的小数}
[0091]
[0092]
[0093]
[0094]
[0095]
[0096] 上表各指令运算规范如下:
[0097] (1)加法
[0098]
[0099] (2)减法
[0100]
[0101]
[0102] (3)乘法,除法,求绝对值,幂,对数
[0103] 遵守数学运算规则
[0104] (4)整数除法
[0105] 等效于:A IDIV B=(A–(A%B))/B,其中%为求模运算。举例,7IDIV 3=2,4IDV5=0
[0106] (5)四舍五入
[0107] 遵守数学运算规则。操作数1为要做四舍五入的数值,操作数2表示四舍五入保留的小数位数,该值为0时所得目的操作数的数据类型自动转换为整数。
[0108] 举例:ROUND(2.45556,2)=2.46,ROUND(3.123,0)=3.
[0109] (6)近似到最大数
[0110] 遵守数学运算规则。操作数1为要做近似的数值,操作数2表示近似保留的小数位数,该值为0时所得目的操作数的数据类型自动转换为整数。
[0111] 举例:CEIL(2.45356,2)=2.46,CEIL(2.445,0)=3
[0112] (7)近似到最小数
[0113] 遵守数学运算规则。操作数1为要做近似的数值,操作数2表示近似保留的小数位数,该值为0时所得目的操作数的数据类型自动转换为整数。
[0114] 举例:FLOOR(2.4586,2)=2.45,FLOOR(2.999,0)=2
[0115] (8)求最大值,求最小值
[0116]
[0117]
[0118] (9)赋值
[0119] 直接把目的操作数的值设置为操作数1的值
[0120] (10)逻辑运算类指令
[0121] 遵守计算机逻辑运算规则。
[0122] (11)小于,小于等于,等于,不等于
[0123]
[0124] (12)判空
[0125] 操作数1有效,则目的操作数为0;操作数1无效,则目的操作数为1[0126] (13)验证操作数
[0127] 操作数1有效,则目的操作数为1;操作数1无效,则目的操作数为0[0128] (14)求和,求平均值
[0129] 遵守数学运算规则。举例:
[0130] SUM(1.5,2.1,4.5)=8.1,AVG(2,3,4)=3
[0131] (15)计数
[0132] 如果操作数1为标量,则目的操作数的值为1;如果操作数1为向量,则目的操作数的值为操作数1的分量个数。
[0133] (16)递进累加
[0134] 运算规则表达式:设操作数1为向量A=(a0,a1,a2,…,an),操作数为B,[0135] 则ACC(A,B)=(B+a0,B+a0+a1,B+a0+a1+a2,…,B+a0+a1+a2+…+an).[0136] (17)向量偏移
[0137] 设置操作数1为向量A=(a0,a1,a2,…,an),
[0138] 如果操作数2为0,则目的操作数为向量(a1,a2,…,an,NULL);
[0139] 如果操作数2为1,则目的操作数为向量(NULL,a0,a1,a2,…,an-1);
[0140] (18)添加分量
[0141] 为操作数1向量添加一个分量,分量的值为NULL
[0142] (19)删除分量
[0143] 从操作数1向量中删除操作数2所指定的行上的分量,操作数2为要删除的分量的行号。如果操作数2指定的行号超出范围,则本次操作无效。
[0144] (20)清空向量
[0145] 把操作数1向量中的所有分量删除。
[0146] (21)设置行号
[0147] 设目的操作数为N个分量的向量,操作数1为起始行号S,则目的操作数的值为[0148] (S,S+1,S+2,…,S+N-1)
[0149] (22)排序业务字段
[0150] 目的操作数为要排序的业务字段;
[0151] 操作数1指定排序方式:为0则是降序,为1则是升序;
[0152] 操作数2指定了按那个数据项排序,为NULL时按目的操作数的值排序,否则设置为数据查询对象中的某个字段,按数据查询对象中的字段排序。
[0153] (23)断言
[0154] 操作数1为0时,中断脚本执行并弹出操作数2中设置的提示,把脚本执行虚拟机的执行结果状态设置为“断言状态”。
[0155] 操作数1为1时,跳转到下一条指令。
[0156] (24)请求指示
[0157] 弹出对话框,对话框显示的内容为操作数1中设置的字符串,并提供“是”和“否”的选项,用户选择“是”则目的操作数为1,否则为0.
[0158] (25)显示提示
[0159] 把操作数1中设置的字符串传递给脚本执行虚拟机的外部接口模块。
[0160] (26)中断执行
[0161] 无条件中断脚本的执行,把脚本执行虚拟机的执行结果状态设置为“断言状态”。
[0162] (27)函数
[0163] 用于获取系统信息,操作数1指定了要获取哪个系统信息。目前本发明定义了以下函数指令可获取的系统信息。
[0164] 当前日期,当前时间,当前年份,当前月份,当前季度,当期星期,本机IP地址,本机Mac地址,本机名称,全球唯一标识等。
[0165] (28)环境变量
[0166] 用于获取系统运行时的环境信息,操作数1指定了要获取哪个环境信息。目前本发明定义了以下环境信息:
[0167] 当前部署点,当前用户,当前进销存工作日,当前会计期间等。
[0168] (29)构造二元变量
[0169] 把操作数1和操作数2合并为一个有两个元素的数组,用于实现二源以上的指令。举例
[0170] SRC1=“abc”,SRC2=2.1345,则目的操作数为(“abc”,2.1345)[0171] (30)数据类型转换
[0172] 把操作数1转换为操作数2指定的数据类型的值。举例
[0173] CONVERT(2.123, 整 数 ) = 2,CONVERT(3.456, 字 符 串 ) =“3.456”,CONVERT(“2.11”,小数)=2.11
[0174] (31)计算助记码
[0175] 取操作数1指定的汉字字符串中每个汉字的拼音首字母拼接成字符串。举例[0176] SRC1=“中国专利局”,则目的操作数为“zgzlj”.
[0177] (32)公历农历转换
[0178] 操作数1为要转换的日期,操作数为0时表示操作数1为公历日期,转换为农历日期;操作数为1时表示操作数1为农历日期,转换为公历日期。
[0179] (33)申请ID
[0180] 向外部模块申请操作数1指定的标识。因为企业信息系统有很多库表信息需要关键码,创建这些信息时需要申请关键码,本指令就用于实现此功能。
[0181] (34)近似时间
[0182] 操作数1为要近似的时间,操作数2为近似到的时间分量,其值为(年,月,日,小时,分,秒)中的一个值。举例:
[0183] ROUNDTIME(“2012-5-20 12:20:13”,分)=“2012-5-20 12:20:00”,[0184] ROUNDTIME(“2012-5-20 12:20:13”,小时)=“2012-5-20 12:00:00”,[0185] ROUNDTIME(“2012-5-20 12:20:13”,日)=“2012-5-20 00:00:00”,[0186] ROUNDTIME(“2012-5-20 12:20:13”,年)=“2012-1-1 00:00:00”,[0187] ROUNDTIME(“2012-5-20 12:20:13”,月)=“2012-5-1 00:00:00”。
[0188] (35)分解时间
[0189] 操作数1为要分解的时间,操作数2为分解所需的时间分量,其值为(年,月,日,小时,分,秒,季度,星期)中的一个值。举例:
[0190] DECOMPTIME(“2012-5-20 12:20:13”,分)=20
[0191] DECOMPTIME(“2012-5-20 12:20:13”,小时)=12
[0192] DECOMPTIME(“2012-5-20 12:20:13”,日)=20
[0193] DECOMPTIME(“2012-5-20 12:20:13”,月)=5
[0194] DECOMPTIME(“2012-5-20 12:20:13”,年)=2012
[0195] DECOMPTIME(“2012-5-20 12:20:13”,季度)=2
[0196] DECOMPTIME(“2012-5-20 12:20:13”,星期)=0(0代表星期日)[0197] (36)计算时间
[0198] 操作数1为计算的参考时间,操作数2为二元常量,指定了要在参考时间的哪个分量变化多少。举例:
[0199] CALCTIME(“2012-5-20 12:20:13”,(日,1))=“2012-5-21 12:20:13”[0200] CALCTIME(“2012-5-20 12:20:13”,(年,-1))=“2011-5-21 12:20:13”[0201] (37)日期间隔天数
[0202] 计算操作数1指定的日期到操作数2指定的日期之间间隔的天数。举例[0203] SRC1=“2012-5-20 12:20:13”,SRC2=“2012-5-25 12:20:13”,则目的操作数为5.
[0204] (38)格式化日期时间
[0205] 操作数1为要格式化的日期时间,操作数2为格式字符串,执行结果是按照现代高级编程语言格式化时间方式产生的日期时间字符串。举例:
[0206] FORMATTIME(“2012-5-20 12:20:13”,“yyyy年M月d日”)=“2012年5月20日”
[0207] (39)跳转
[0208] 操作数1指定了要跳转到目的指令的序号,其执行结果是把脚本执行虚拟机的程序计数寄存器的值设置为操作数1的值。如果操作数1的值超出脚本指令序号范围,则表示结算脚本执行。
[0209] (40)自定义事件
[0210] 操作数1指定了自定义事件的名称;该指令为脚本关联一个自定义的交互事件,在该事件触发时会执行本脚本。
[0211] (41)触发自定义事件
[0212] 操作数1指定了要触发的自定义事件的名称;该指令会触发关联了指定自定义事件的所有脚本执行。
[0213] (42)分区定位
[0214] 操作数1指定了业务逻辑对象的分区;该指令为业务逻辑对象分区数据装载事件指明需要触发的脚本。
[0215] (43)调用外部服务
[0216] 操作数1指定了外部服务的名称;该指令会把服务名称传递给外部接口模块,由外部接口模块调用外部模块实现的服务。本指令的主要作用是实现指令功能扩展,实现一些不能完全靠脚本指令处理的功能,这些功能可以通过外部模块编程实现,然后由该指令调用执行。
[0217] (44)权限控制类指令
[0218] 用于获取或设置业务逻辑对象和业务字段的权限属性。
[0219] (45)数据查询类指令
[0220] 用于构造数据查询条件和获取查询到的数据。
[0221] a.基本查询条件构造指令
[0222]
[0223]
[0224] b.基本查询条件组合指令
[0225]
[0226] c.构造参考字段指令
[0227] 操作数1指定了数据查询对象的字段,目的操作数即设置为操作数1的值。用于构造数据查询对象字段之间的比较条件。
[0228] d.装载数据行
[0229] 操作数1为行的关键码值,操作数2为数据查询对象,指令执行结果是根据关键码从数据查询对象中获取一行数据。
[0230] e.装载数据字段
[0231] 操作数1为行的关键码值,操作数2为数据查询对象及字段索引组合,指令执行结果是根据关键码从数据查询对象中获取指定字段的数据。
[0232] 其中,本发明的脚本执行虚拟机装置机构造部件如下:若干算术逻辑执行单元(ALU)、非算术逻辑指令执行单元、虚拟机运行环境管理器、脚本管理器和外部模块接口控制器。
[0233] 所述算术逻辑执行单位包括整数算术逻辑执行单元(INT ALU)、浮点小数算术逻辑执行单元(FLOAT ALU)、位数精确的小数算术逻辑执行单元(DECIMAL ALU),字符串算术逻辑执行单元(STRING ALU)和日期时间算术逻辑执行单元(DATETIME ALU)。所述算术逻辑执行单元按本发明设计的指令集规范执行指令运算。
[0234] 所述非算术逻辑指令执行单元用于执行上述算术逻辑执行单元不能执行的指令。
[0235] 所述的虚拟机运行环境包括业务逻辑对象寄存器、指令程序计数器、标量条件状态寄存器、向量条件状态寄存器、指令执行结果寄存器和个数不限的临时变量寄存器。业务逻辑对象寄存器保存当前需要交互事件作用的业务逻辑对象,指令程序计数器保存下一条待执行的指令的序号。标量条件状态寄存器和向量条件状态寄存器均可作为指令的目的操作数,由指令设置其值。
[0236] 所述的脚本管理器负责编译脚本,缓存已装载的脚本,根据交互事件选取要执行的脚本执行并初始化虚拟机运行环境。初始化虚拟机运行环境的过程包括:设置虚拟机运行环境的业务逻辑对象,设置指令程序计数器的值为0,重置标量条件状态和向量条件状态,重置指令执行结果状态,清空临时变量寄存器等。
[0237] 所述的外部模块接口控制器负责接收外部模块发来的人机交互事件及事件参数,传递给脚本管理器,从而触发脚本管理器执行脚本。“调用外部服务”指令执行时需要通过外部模块接口控制器调用外部模块的服务。
[0238] 以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。