《用于控件间通信的方法和设备.pdf》由会员分享,可在线阅读,更多相关《用于控件间通信的方法和设备.pdf(21页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103842960 A (43)申请公布日 2014.06.04 CN 103842960 A (21)申请号 201180073851.3 (22)申请日 2011.09.30 G06F 9/44(2006.01) (71)申请人 诺基亚公司 地址 芬兰埃斯波 (72)发明人 张锦锋 陈灿峰 郗闽军 邓杨 吴菲菲 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 酆迅 张臻贤 (54) 发明名称 用于控件间通信的方法和设备 (57) 摘要 提供了用于促成控件间通信的各种方法。一 种示例方法可以包括从多个控件中的第一控件接 收消息以便在数据文件中进行存储。
2、。该方法还可 以包括同时使得该数据文件中的另一个消息能够 被多个控件中的至少第二控件所访问。该方法可 以进一步包括使得信息文件记录该数据文件的状 态以使得能够同时接收并访问该数据文件中的消 息。 (85)PCT国际申请进入国家阶段日 2014.03.28 (86)PCT国际申请的申请数据 PCT/CN2011/080485 2011.09.30 (87)PCT国际申请的公布数据 WO2013/044515 EN 2013.04.04 (51)Int.Cl. 权利要求书 3 页 说明书 9 页 附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书9页 。
3、附图8页 (10)申请公布号 CN 103842960 A CN 103842960 A 1/3 页 2 1. 一种方法, 包括 : 从多个控件中的第一控件接收消息以便在数据文件中进行存储 ; 同时使得所述数据文件中的另一个消息能够被所述多个控件中的至少第二控件所访 问 ; 以及 使得信息文件记录所述数据文件的状态以使得能够同时接收并访问所述数据文件中 的消息。 2. 根据权利要求 1 的方法, 其中同时使得所述数据文件中的所述消息能够被所述多个 控件中的所述第二控件所访问进一步包括确定所述数据文件中的用于所述第二控件的位 置指示符, 其中所述位置指示符标识要由所述第二控件所访问的下一条消息,。
4、 以及使得所 述数据文件中的所述下一条消息被访问。 3. 根据权利要求 2 的方法, 其中使得所述数据文件中的所述消息基于所确定的位置指 示符被访问进一步包括确定用于所述消息的目标控件 ; 并且在所述第二控件是所述目标的 情况下, 使得所述第二控件能够访问所述消息。 4. 根据权利要求 2 或 3 中任一项的方法, 其中使得所述数据文件中的下一条消息被访 问进一步包括使得所述位置指示符增加至所述数据文件中的下一条消息并且使得所述第 二控件能够访问所述下一条消息。 5. 根据权利要求 1-4 中任一项的方法, 进一步包括在控件在所述数据文件中并不具有 位置指示符的情况下, 使得在所述数据文件中创。
5、建位置指示符并且将所述位置指示符分配 给所述数据文件中最旧的消息。 6. 根据权利要求 1-5 中任一项的方法, 其中所述数据文件被配置为包含多条消息。 7. 根据权利要求 1-5 中任一项的方法, 其中从多个控件中的第一控件接收所述消息以 便在数据文件中进行存储进一步包括使得所述数据文件被锁定 ; 并且在从所述第一控件接 收到所述消息的情况下, 使得所述数据文件被解锁。 8. 一种设备, 包括至少一个处理器以及至少一个存储计算机程序代码的存储器, 其中 所述至少一个存储器和所存储的计算机程序代码被配置为利用所述至少一个处理器使得 所述设备至少 : 从多个控件中的第一控件接收消息以便在数据文件。
6、中进行存储 ; 同时使得所述数据文件中的另一个消息能够被所述多个控件中的至少第二控件所访 问 ; 以及 使得信息文件记录所述数据文件的状态以使得能够同时接收并访问所述数据文件中 的消息。 9. 根据权利要求 8 的设备, 其中所述至少一个存储器和所存储的计算机程序代码进一 步被配置为利用所述至少一个处理器使得所述设备确定所述数据文件中的用于所述第二 控件的位置指示符, 其中所述位置指示符标识要由所述第二控件所访问的下一条消息, 以 及使得所述数据文件中的所述下一条消息被访问。 10. 根据权利要求 9 的设备, 其中所述至少一个存储器和所存储的计算机程序代码进 一步被配置为利用所述至少一个处理。
7、器使得所述设备确定用于所述消息的目标控件 ; 并且 在所述第二控件是所述目标的情况下, 使得所述第二控件能够访问所述消息。 11. 根据权利要求 9 或 10 中任一项的设备, 其中所述至少一个存储器和所存储的计算 权 利 要 求 书 CN 103842960 A 2 2/3 页 3 机程序代码进一步被配置为利用所述至少一个处理器使得所述设备使得所述位置指示符 增加至所述数据文件中的下一条消息并且使得所述第二控件能够访问所述下一条消息。 12. 根据权利要求 8-11 中任一项的设备, 所述至少一个存储器和所存储的计算机程序 代码进一步被配置为利用所述至少一个处理器使得所述设备在控件在所述数据。
8、文件中并 不具有位置指示符的情况下, 使得在所述数据文件中创建位置指示符并且将所述位置指示 符分配给所述数据文件中最旧的消息。 13. 根据权利要求 8-12 中任一项的设备, 其中所述数据文件被配置为包含多条消息。 14. 根据权利要求 8-13 中任一项的设备, 所述至少一个存储器和所存储的计算机程序 代码进一步被配置为利用所述至少一个处理器使得所述设备使得所述数据文件被锁定 ; 并 且在从所述第一控件接收到所述消息的情况下, 使得所述数据文件被解锁。 15. 一种计算机程序产品, 包括至少一个具有存储于其中的计算机可读程序指令的非 瞬时计算机可读存储介质, 所述计算机可读程序指令包括 :。
9、 被配置为从多个控件中的第一控件接收消息以便在数据文件中进行存储的程序指 令 ; 被配置为同时使得所述数据文件中的另一个消息能够被所述多个控件中的至少第二 控件所访问的程序指令 ; 以及 被配置为使得信息文件记录所述数据文件的状态以使得能够同时接收并访问所述数 据文件中的消息的程序指令。 16. 根据权利要求 15 的计算机程序产品, 其中所述计算机可读程序指令进一步包括被 配置为确定所述数据文件中的用于所述第二控件的位置指示符的程序指令, 其中所述位置 指示符标识要由所述第二控件所访问的下一条消息, 以及被配置为使得所述数据文件中的 所述下一条消息被访问的程序指令。 17. 根据权利要求 1。
10、6 的计算机程序产品, 其中所述计算机可读程序指令进一步包括被 配置为确定用于所述消息的目标控件的程序指令 ; 以及在所述第二控件是所述目标的情况 下, 被配置为使得所述第二控件能够访问所述消息的程序指令。 18.根据权利要求16或17中任一项的计算机程序产品, 其中所述计算机可读程序指令 进一步包括被配置为使得所述设备使得所述位置指示符增加至所述数据文件中的下一条 消息的程序指令以及被配置为使得所述第二控件能够访问所述下一条消息的程序指令。 19. 根据权利要求 15-18 中任一项的计算机程序产品, 所述计算机可读程序指令进一 步包括被配置为在控件在所述数据文件中并不具有位置指示符的情况下。
11、, 使得在所述数据 文件中创建位置指示符的程序指令, 以及被配置为将所述位置指示符分配给所述数据文件 中最旧的消息的程序指令。 20. 根据权利要求 15-19 中任一项的计算机程序产品, 其中所述数据文件被配置为包 含多条消息。 21. 根据权利要求 15-20 中任一项的计算机程序产品, 所述计算机可读程序指令进一 步包括被配置为使得所述数据文件被锁定的程序指令 ; 以及在从所述第一控件接收到所述 消息的情况下, 被配置为使得所述数据文件被解锁的程序指令。 22. 一种设备, 包括 : 用于从多个控件中的第一控件接收消息以便在数据文件中进行存储的装置 ; 权 利 要 求 书 CN 1038。
12、42960 A 3 3/3 页 4 用于同时使得所述数据文件中的另一个消息能够被所述多个控件中的至少第二控件 所访问的装置 ; 以及 用于使得信息文件记录所述数据文件的状态以使得能够同时接收并访问所述数据文 件中的消息的装置。 23. 根据权利要求 22 的设备, 其中用于同时使得所述数据文件中的所述消息能够被所 述多个控件中的所述第二控件所访问的装置进一步包括用于确定所述数据文件中的用于 所述第二控件的位置指示符并且使得所述数据文件中的要由所述第二控件所访问的下一 条消息被访问的装置, 其中所述位置指示符标识所述下一条消息。 24. 根据权利要求 23 的设备, 其中用于使得所述数据文件中的。
13、所述消息基于所确定的 位置指示符被访问的装置进一步包括用于确定用于消息的目标控件的装置 ; 以及用于在所 述第二控件是所述目标的情况下, 使得所述第二控件能够访问所述消息的装置。 25.根据权利要求23或24中任一项的设备, 其中用于使得所述数据文件中的所述下一 条消息被访问的装置进一步包括用于使得所述位置指示符增加至所述数据文件中的下一 条消息的装置以及用于使得所述第二控件能够访问所述下一条消息的装置。 26. 根据权利要求 22-25 中任一项的设备, 进一步包括在控件在所述数据文件中并不 具有位置指示符的情况下, 用于使得在所述数据文件中创建位置指示符的装置以及用于将 所述位置指示符分配。
14、给所述数据文件中最旧的消息的装置。 27. 根据权利要求 22-26 中任一项的设备, 其中所述数据文件被配置为包含多条消息。 28. 根据权利要求 22-27 中任一项的设备, 其中用于从多个控件中的所述第一控件接 收消息以便在数据文件中进行存储的装置进一步包括用于使得所述数据文件被锁定的装 置 ; 以及用于在从所述第一控件接收到所述消息的情况下使得所述数据文件被解锁的装 置。 权 利 要 求 书 CN 103842960 A 4 1/9 页 5 用于控件间通信的方法和设备 技术领域 0001 本发明的实施例总体上涉及控件 (widget) , 尤其涉及一种用于使用文件输入和 / 或输出操作。
15、进行控件间通信的方法、 设备和计算机程序产品。 背景技术 0002 随着 web 技术的快速发展, 涌现出越来越多的完全通过互联网进行操作的应 用。一种这样的应用是控件。控件是可以在第三方控件引擎中执行和 / 或可以在另一应 用内执行的独立应用。目前存在有若干控件引擎, 这些引擎包括Dashboard、 小装置、 Portlets、浏览器的呈现引擎、QT web 运行环境 等。控件正在日益流行并且随着控件数量的增加, 它们可能被组合在一起 (例如, 控件协同) 以提供丰富的互联网应用。 发明内容 0003 因此, 根据示例实施例而提供了一种方法、 设备和计算机程序产品以使得能够进 行控件间通信。
16、。在这里所描述的一些实施例中, 使用文件输入和输出操作来实现控件间通 信。诸如数据文件的第一文件可以被用来从多个控件接收消息并且向它们传输消息。数据 文件因此允许由多个控件中的一个或多个对该数据文件进行同时读取。另外, 基于以下所 描述的示例实施例, 多个控件可以对数据文件进行写入。诸如信息文件的第二文件可以被 用来记录第一文件的状态以确保由多个控件对该数据文件所进行的同时读取和写入将不 会导致任何不一致。 0004 一种示例方法可以包括从多个控件中的第一控件接收消息以便在数据文件中进 行存储。 该方法还可以包括同时使得该数据文件中的另一个消息能够被多个控件中的至少 第二控件所访问。 该方法可。
17、以进一步包括使得信息文件记录该数据文件的状态以使得能够 同时接收并访问该数据文件中的消息。 0005 一种示例设备可以包括至少一个处理器以及至少一个存储计算机程序代码的存 储器, 其中该至少一个存储器和所存储的计算机程序代码被配置为利用该至少一个处理器 而使得该设备至少从多个控件中的第一控件接收消息以便在数据文件中进行存储。 该至少 一个存储器和所存储的计算机程序代码进一步被配置为利用该至少一个处理器而使得该 设备同时使得该数据文件中的另一个消息能够被多个控件中的至少第二控件所访问。 该至 少一个存储器和所存储的计算机程序代码进一步被配置为利用该至少一个处理器而使得 该设备使得信息文件记录该数。
18、据文件的状态以使得能够同时接收并访问该数据文件中的 消息。 0006 在另外的实施例中, 提供了一种计算机程序产品, 其包括至少一个具有存储于其 中的计算机可读程序指令的非瞬时计算机可读存储介质, 该计算机可读程序指令包括被配 置为从多个控件中的第一控件接收消息以便在数据文件中进行存储的程序指令。 该计算机 说 明 书 CN 103842960 A 5 2/9 页 6 可读程序指令还包括被配置为同时使得该数据文件中的另一个消息能够被多个控件中的 至少第二控件所访问的程序指令。 该计算机可读程序指令还包括被配置为使得信息文件记 录该数据文件的状态以使得能够同时接收并访问该数据文件中的消息的程序指。
19、令。 0007 一种示例设备可以包括用于从多个控件中的第一控件接收消息以便在数据文件 进行存储中的装置。 该设备还可以包括用于同时使得该数据文件中的另一个消息能够被多 个控件中的至少第二控件所访问的装置。 该设备可以进一步包括用于使得信息文件记录该 数据文件的状态以使得能够同时接收并访问该数据文件中的消息的装置。 附图说明 0008 由此已经总体上对本发明的实施例进行了描述, 现在将参考附图, 其并不必依比 例进行绘制并且其中 : 0009 图 1 是依据本发明一个实施例的具有数据文件的示例控件间通信系统的示意性 表示 ; 0010 图 2 是依据本发明一个实施例的可以由移动终端具体化的示例设。
20、备的框图 ; 0011 图 3 是在依据本发明一个实施例所执行的控件间通信期间的控件事件的示例框 图 ; 0012 图 4 是依据本发明一个实施例的用于数据文件、 信息文件和消息的示例格式的示 例框图 ; 0013 图 5 是示出依据本发明实施例的示例控件间通信确认的框图 ; 0014 图 6-10 示出了示例框图, 其示出在依据本发明实施例的控件间通信期间的示例 数据文件和信息文件 ; 和 0015 图 11 图示了示例流程图, 其图示了依据本发明实施例的控件间通信。 具体实施方式 0016 现在将参考附图在下文中对一些实施例进行更为全面地描述, 附图中示出了本发 明的一些而非全部实施例。 。
21、实际上, 示例实施例可以采用许多不同的形式, 并且并不应当被 理解为局限于这里所给出的实施例 ; 相反, 提供这些实施例使得本公开将满足适用的法律 需求。相同的附图标记通篇指代相同要素。根据一些示例实施例术语 “数据” 、“内容” 、“信 息” 以及类似术语可, 以互换使用以指代能够被传送、 接收、 操作、 和 / 或存储的数据。此外, 如这里所使用的, 术语 “示例性” 并非被提供用于传递任何定性声明, 而是仅被用来传递示 例的说明。因此, 使用任何这样的术语并不应当被理解为对本发明实施例的精神和范围进 行限制。 0017 如这里所使用的, 术语 “电路装置” 是指以下的全部 :(a) 仅硬。
22、件的电路实施方式 (例如仅以模拟和 / 或数字电路装置的实施方式) ;(b) 电路和软件 (和 / 或固件) 的组合, 诸 如 (如可应用的) :(i) (多个) 处理器的组合或者 (ii) 共同工作而使得诸如移动电话或服务 器的装置执行各种功能的 (多个) 处理器 / 软件 (包括 (多个) 数字信号处理器) 、 软件和 (多 个) 存储器的部分 ; 和 (c) 电路, 诸如 (多个) 微处理器或者 (多个) 微处理器的一部分, 其需 要软件或固件进行操作, 即使该软件或固件并非物理存在。 0018 “电路装置” 的这个定义应用于本申请中该术语的所有使用情况, 包括任意权利要 说 明 书 C。
23、N 103842960 A 6 3/9 页 7 求。作为另一个示例, 如本申请所使用的, 术语 “电路装置” 还将涵盖仅一个处理器 (或多个 处理器) 或者处理器的部分和其 (或它们的) 伴随软件和 / 或固件的实施方式。例如并且如 果适用于特定权利要求要素, 术语 “电路装置” 还将涵盖用于移动电话的基带集成电路或专 用集成电路, 或者服务器、 蜂窝网络设备、 其它网络设备中的类似集成电路。 0019 图 1 是依据本发明实施例的示例控件间通信的示意性表示。在一个实施例中, 控 件间通信例如通过使用文件输入和输出操作来实现。特别地, 一个或多个文件可以被用来 允许控件 10 从文件进行读取和。
24、 / 或写入以允许数据在控件 10 之间进行共享。如这里所描 述的, 读取和 / 或写入操作可以使用存储在数据文件 12 中的消息来实现。这样的消息可以 通过一个或多个控件 10 传输至数据文件 12 以使得其它控件 10 可以同时访问一个或多个 消息而导致几乎瞬时的控件间通信。 0020 在一个实施例中, 信息文件 14 随后可以用作备份, 因为其被配置为在读取和 / 或 写入操作期间记录数据文件的状态。因此, 多个控件 10 可以同时与数据文件 12 进行交互 并且在数据文件 12 变为受损的情况下, 信息文件 14 可以被用来修复数据文件 12 中的任何 不一致。 0021 在一些示例实。
25、施例中, 图 1 的控件间通信系统可以在移动终端上执行, 该移动终 端可以是移动通信设备, 如例如移动电话、 便携式数字助理 (PDA) 、 传呼机、 膝上计算机或者 任意多种其它手持或便携式通信设备、 计算设备、 内容生成设备、 内容消费设备或者它们的 组合。 这样, 移动终端可以包括一个或多个处理器, 其可以单独或者结合一个或多个存储器 定义处理电路装置。在存储器中所存储的指令由一个或多个处理器执行时, 处理电路装置 可以利用该指令而使得移动终端以特定方式进行操作或执行具体功能。 移动终端还可以包 括通信电路装置和相对应的硬件 / 软件以使得能够与其它设备和 / 或网络进行通信。 0022。
26、 例如, 在一个实施例中, 移动终端可以被具体化为或者以其它方式包括如图 2 的 框图所总体表示的设备 15。虽然设备 15 可以被移动终端所采用, 但是应当注意的是, 以下 所描述的组件、 设备或元件可以并非是强制的并且因此在某些实施例中可以省略其中的一 些。 此外, 一些实施例可以包括这里所示出或描述的那些以外的另外或不同的组件、 设备或 元件。 0023 就此而言, 图 2 图示了设备 15 的示例框图。虽然出于示例的目的图示了移动终端 (例如, 设备 15) 的若干实施例并且将在随后进行描述, 但是其他类型的用户终端, 诸如移动 电话、 移动计算机、 便携式数字助理 (PDA) 、 传。
27、呼机、 膝上计算机、 台式计算机、 游戏设备、 电 势和其它类型的电子系统, 可以采用本发明的一些实施例。 0024 如所示出的, 设备 15 可以包括与传送器 18 和接收器 19 进行通信的天线 17 (或多 个天线 17) 。设备 15 还可以包括处理器 20, 其被配置为分别向传送器提供信号以及从接收 器接收信号。处理器 20 例如可以被实现为各种装置, 包括电路装置、 具有附带的 (多个) 数 字信号处理器的一个或多个微处理器、 没有附带的数字信号处理器的一个或多个处理器、 一个或多个协同处理器、 一个或多个多核处理器、 一个或多个控制器、 处理电路装置、 一个 或多个计算机、 包括。
28、诸如 ASIC(专用集成电路) 或 FPGA(现场可编程门阵列) 的集成电路的 各种其它处理元件、 或者其一些组合。因此, 虽然在图 2 中被示为单个处理器, 但是在一些 实施例中, 处理器20包括多个处理器。 处理器20所发送并接收的这些信号可以包括依据可 应用蜂窝系统和 / 或任意多种不同的有线或无线联网技术的空中接口标准的信令信息, 所 说 明 书 CN 103842960 A 7 4/9 页 8 述的有线或无线联网技术包括但并不局限于无线保真 (Wi-Fi) 、 诸如电气与电子工程师协 会 (IEEE) 802.11、 802.16 的无线局域网 (WLAN) 技术和 / 或之类的。此。
29、外, 这些信号可以包 括话音数据、 用户生成数据、 用户请求数据和 / 或之类的。就此而言, 移动终端能够利用一 种或多种空中接口标准、 通信协议、 调制类型、 访问类型和 / 或之类的进行操作。更具体地, 设备 15 能够依据各种第一代 (1G) 、 第二代 (2G) 、 2.5G、 第三代 (3G) 通信协议、 第四代 (4G) 通信协议、 互联网协议多媒体子系统 (IMS) 通信协议 (例如, 会话发起协议 (SIP) ) 和 / 或之 类的进行操作。例如, 移动终端能够依据 2G 无线通信协议 IS-136 (时分多址 (TDMA) ) 、 全球 移动通信系统 (GSM) 、 IS-9。
30、5(码分多址 (CDMA) ) 和 / 或之类的进行操作。而且, 例如, 移动 终端能够依据 2.5G 无线通信协议通用分组无线服务 (GPRS) 、 增强数据 GSM 环境 (EDGE) 和 / 或之类的进行操作。另外, 例如, 移动终端能够依据 3G 无线通信协议进行操作, 诸如通用 移动电信系统 (UMTS) 、 码分多址 2000 (CDMA2000) 、 宽带码分多址 (WCDMA) 、 时分同步码分多 址 (TD-SCDMA) 和 / 或之类的。此外, 移动终端还能够依据 3.9G 无线通信协议进行操作, 诸 如长期演进 (LTE) 或演进通用陆地无线接入网 (E-UTRAN) 和。
31、 / 或之类的。此外, 例如, 移动 终端能够依据第四代 (4G) 无线通信协议和 / 或之类的以及未来可能研发的类似无线通信 协议进行操作。 0025 一些窄带先进移动电话系统 (NAMPS) 以及全接入通信系统 (TACS) 移动终端也可 以从本发明的一些实施例获益, 如双模或更高模式的电话 (例如, 数字 / 模拟或 TDMA/CDMA/ 模拟电话) 。此外, 设备 15 能够根据无线保真 (Wi-Fi) 或全球微波接入互操作性 (WiMAX) 协 议进行操作。 0026 应当理解的是, 处理器 20 可以包括用于实施设备 15 的音频 / 视频和逻辑功能的 电路装置。例如, 处理器 2。
32、0 可以包括数字信号处理器设备、 微处理器设备、 模数转换器、 数 模转换器和 / 或之类的。设备 15 的控制和信号处理功能可以根据其相应能力在这些设备 之间进行分配。另外, 处理器可以包括对可以存储在存储器中的一个或多个软件程序进行 操作的功能。例如, 处理器 20 可以能够操作诸如 web 浏览器的连接程序。该连接程序可以 允许设备15根据协议传送和接收诸如基于位置的内容的web内容, 上述协议诸如无线应用 协议 (WAP) 、 超文本传输协议 (HTTP) 和 / 或之类的。设备 15 能够使用传输控制协议 / 互联 网协议 (TCP/IP) 跨互联网或其它网络传送和接收 web 内容。
33、。 0027 设备15还可以包括用户接口, 例如包括耳机或扬声器24、 响铃22、 麦克风26、 显示 器 28、 用户输入接口和 / 或之类的, 它们可操作耦合至处理器 20。就此而言, 处理器 20 可 以包括被配置为对一用户接口的一个或多个元件的至少一些功能进行控制的用户接口电 路装置, 上述元件如例如扬声器 24、 响铃 22、 麦克风 26、 显示器 28 和 / 或之类的。处理器 20和/或包括处理器20的用户接口电路装置可以被配置为通过存储在可用处理器20所访 问的存储器 (例如, 易失性存储器 40、 非易失性存储器 42 和 / 或之类的) 上的计算机程序指 令 (例如, 软。
34、件和 / 或固件) 对用户接口的一个或多个元件的一个或多个功能进行控制。虽 然并未示出, 但是移动终端可以包括用于对与移动终端相关的各个电路 (例如用于提供机 械振动作为可检测输出的电路) 进行供电的电池。用户输入接口可以包括允许移动终端接 收数据的设备, 诸如键盘 30、 触摸屏 (未示出) 、 操纵杆 (未示出) 和 / 或其它输入设备。在包 括键盘的一些实施例中, 键盘可以包括数字 (0-9) 和相关按键 (#、 *) 和 / 或用于操作移动 终端的其它按键。 说 明 书 CN 103842960 A 8 5/9 页 9 0028 设备 15 可以包括存储器, 诸如智能卡、 订户身份模块。
35、或订户标识模块 (SIM) 、 可移 除用户身份模块 (R-UIM) 和 / 或之类的, 它们可以存储与移动订户相关的信息要素。除了 SIM 之外, 移动终端可以包括其它可移除和 / 或固定存储器。设备 15 可以包括其它非瞬时 存储器, 诸如至少一个易失性存储器 40 和 / 或至少一个非易失性存储器 42。例如, 易失性 存储器 40 可以包括随机访问存储器 (RAM) (包括动态和 / 或静态 RAM) 、 片上或片下高速缓 存存储器和/或之类的。 可以是嵌入式和/或可移除的非易失性存储器42例如可以包括只 读存储器、 闪存、 磁性存储设备 (例如, 硬盘、 软盘驱动器、 磁带等) 、 。
36、光盘驱动器和 / 或媒体、 非易失性随机访问存储器 (NVRAM) 和 / 或之类的。与易失性存储器 40 一样, 非易失性存储 器 42 可以包括用于数据的临时存储的高速缓存区域。存储器可以存储一个或多个软件程 序、 指令、 信息条目、 数据和 / 或之类的, 它们可以被移动终端用于执行其功能。例如, 存储 器可以包括能够唯一识别设备 15 的诸如国际移动设备标识 (IMEI) 码的标识符。 0029 控件间通信模块 44 可以被实现为各种装置, 诸如电路装置、 硬件、 包括存储在计 算机可读介质 (例如, 存储器 40) 并且由处理设备 (例如, 处理器 20) 所执行的计算机可读程 序指。
37、令的计算机程序产品, 或者它们的一些组合, 并且在一个实施例中, 其被实现为处理器 20 或者以其它方式由处理器 20 所控制。在其中控件间通信模块 44 独立于处理器 20 实现 的一个实施例中, 控件间通信模块 44 可以与处理器 20 进行通信。控件间通信模块 44 可以 进一步诸如经由总线而与存储器40和/或42、 传送器18和接收器19中的一个或多个进行 通信。 0030 控件间通信模块 44 可以被配置为使得能够通过在诸如图 1 的控件 10 的控件与诸 如数据文件 12 的至少一个数据文件之间提供连接而进行控件间通信。控件间通信模块 44 还可以在诸如存储器 40 和 / 或 4。
38、2 的存储器中所存储的数据文件之间提供连接和 / 或提供 到通过互联网可达的远程数据文件的链接, 诸如通过使用诸如与远程数据文件进行交互的 传送器 18 和 / 或接收器 19 的装置。 0031 在一个实施例中, 控件间通信模块 44 可以被配置为使得至少一个控件能够发送 消息 (例如, 写入操作) 和 / 或对消息进行访问 (例如, 读取操作) 。控件间通信模块 44 可以 接收控件的访问数据文件的请求。 0032 为了访问数据文件, 控件可以被分配以位置指示符。位置指示符随后可以识别数 据文件中所要读取的下一条消息和 / 或可以识别控件所读取的最后一条消息。在控件还不 具有位置指示符的情。
39、况下, 控件间通信模块 44 可以被配置为对控件提供位置指示符。例 如, 位置指示符最初可以识别数据文件中最旧的消息, 并且随后可以按时间排序从一条消 息移动至下一条消息。可替换地或附加地, 来自信息文件的头部字段可以被用来将位置指 示符定位在数据文件中最旧的消息。 0033 在一个实施例中, 一旦已经向控件分配了位置指示符, 控件间通信模块随后就可 以被配置为通过循环通过数据文件中的所有消息来确定数据文件中是否存在针对控件的 消息。例如, 可能存在针对多个控件中的任意一个的消息并且一些消息可能并非应用于所 有控件。控件间通信模块 44 进一步被配置为查看数据文件中的每条消息以确定控件目标。 。
40、在消息将控件识别为目标或者至少一个目标的情况下, 则该消息的有效载荷可以在控件操 作期间被控件获取和使用。 0034 控件间通信模块 44 还可以被配置为使得数据文件从控件接收消息。在一些实施 说 明 书 CN 103842960 A 9 6/9 页 10 例中, 控件间通信模块 44 可以使得数据文件被锁定而无法从其它控件接收消息直至其结 束其当前的接收操作。在其它实施例中, 消息可以被存储在队列中以便随后传输至数据文 件、 信息文件和 / 或之类的。还可以使用二进制指数退避算法以避免冲突。可替换地或附 加地, 控件间通信模块 44 还可以通过标志位而指示数据文件被锁定, 该标志位可以位于信。
41、 息文件的起始处。这样的标志位可以与互斥排除信标 (semaphore) 和 / 或之类的相类似。 0035 在一个实施例中, 并且一旦控件在数据文件上具有锁定, 则控件间通信模块 44 然 后可以使得该控件所生成的消息被写入到数据文件中的可用区域。特别地, 消息可以被格 式化以便存储在数据文件中。例如, 控件间通信模块 44 可以确定消息的可用区域边界并且 然后可以尝试从当前可用区域分配消息的长度字段的大小。可以使用诸如首次适应、 最佳 适应、 最差适应或之类的分配算法, 其可以与设备 20 的存储器分配系统相类似。 0036 在分配成功的情况下, 控件间通信模块 44 可以被配置为将消息写。
42、入数据文件并 且还将任意的更新提供至数据文件的字段。控件间通信模块 44 然后可以释放锁定并且允 许其它控件对数据文件进行写入。在一个实施例中并且在消息无法被分配的情况下, 则控 件间通信模块44可以通过删除旧消息来清空数据文件, 而使得需要的空间可用和/或可以 对消息进行重新分配。 0037 图 3 是在依据本发明一个实施例执行的控件间通信期间的控件事件的示例框图。 在一个实施例中, 控件通常以诸如 JavaScript 的脚本语言进行编写。因此, 为了执行控件, 通常由配备有事件队列 302 的主线程来实施脚本解析器。事件队列 302 中的事件可以包括 用户交互 (例如, 鼠标点击) 、 。
43、计时器、 系统通知等。可替换地或附加地, 发送或接收数据, 诸 如利用数据字段进行的文件输入和输出操作, 也可以被认为是要由事件队列 302 中的控件 所追踪的事件。 每个控件可以追踪其自己的事件并且因此可以在其事件队列中具有单独事 件。如关于数据文件 12 所示出的, 事件队列中的事件可以导致对数据文件 12 的同时访问。 0038 图 4 是依据本发明一个实施例的用于数据文件、 信息文件和消息的示例格式的示 例框图。在一个实施例中, 数据文件 12 可以被划分为多个部分, 诸如消息区域和可用区域。 消息区域可以包含控件所发送的消息链。 这些消息利用指示它们何时被接收的时间戳进行 格式化。时。
44、间戳例如可以被控件间通信模块 44 用来在数据文件中的时间超过预定时间的 情况下清空数据文件。 消息还可以包括表示消息查总长度的长度字段以及指示数据文件中 的下一个消息的起始位置的下一个字段。 目标计数字段也可以被用来描述可能正在接收消 息的控件的数量。可以使用后续目标计数文件来识别要接收具体消息的控件的列表。还可 以包括有效载荷字段, 其包含消息的有效载荷。 0039 数据文件 12 还包括与消息空间分隔开来的可用区域。该可用区域由多个离散分 块所组成并且分块表被用来限定可用空间。 0040 图 5 是示出依据本发明实施例的示例控件间通信确认的框图。如区域 502 中所 示, 消息可能还没有。
45、被任何控件所确认并且因此目标列表按照名称而包括目标控件。在区 域 504, 控件 2 可以确认消息并且因此消息可以从列表中去除控件 2。在区域 506, 控件 1 确 认并且类似地控件1从列表中被去除。 在区域508, 控件3可以确认消息并且因此已经所有 控件都已经确认接收到消息。一旦消息已经被所有目标所确认, 则其可以从数据文件中清 除。 0041 图 6-10 示出了示例框图, 其示出在依据本发明实施例的控件间通信期间的示例 说 明 书 CN 103842960 A 10 7/9 页 11 数据文件和信息文件。图 6 图示了数据文件, 其是空的并且因此还没有从任何控件接收到 消息或者已经清。
46、除了数据。因此, 信息文件的头部和尾部字段被设置为零而自由分块则被 设置为从零到最大, 指示数据文件为空。 0042 图 7 图示了包含消息的数据文件和信息文件。消息区域包括从 Msg1 到 MsgN 的消 息, 并且如参考消息链 702 所示出的, 消息通常可以与下一个字段相连接。例如, MsgN 可以 从位置B开始并且可以具有长度b, 信息文件的尾部字段然后可以被修改为B并且自由分块 的开始位置然后可以被设置为 B+b。 0043 在一个实施例中并且作为示例, 控件可以在如参考图2的控件间通信模块44所描 述的那样获得锁定之后发送诸如 MsgN+1 的消息。然而, 在该示例中, 可能没有足。
47、够大小的 区域并且因此要进行清空数据文件。在该示例中, 通过对 Msg1 至 MsgN 进行检查可能发现 Msg2 和 MsgN 并未被所有目标所确认, 因此它们不能从消息区域中被删除。因此, 消息区域 有所收缩并且创建了如图 8 所示的仅包含 Msg2 和 MsgN 的新链。在对所删除的消息进行融 合之后, 由于 Msg2 和 MsgN 的中断, 所以可用区域可以由三个自由分块所组成。这三个分块 的边界可以为 (0,a)、 (A,B)、 (B+b,Max)。因此, 因为 Msg2 从位置 a 开始, 所以信息文件的 头部和尾部字段可以被更新为 a 和 B。 0044 图 8 图示了在如图 7。
48、 所示的清理数据文件之后的数据文件和信息文件的内容。因 此, MsgN+1 的大小现在可以适应可用区域。在一个实施例中并且通过使用首次适应分配算 法, MsgN+1 可以在始于 0 的空间中进行分配并且其长度为 d。在这样的情况下, 如图 9 所 示, 信息文件中的尾部字段和第一自由分块的开始位置可以分别被设置为 0 和 d。图 10 图 示了在另一个控件发送了诸如消息 MsgN+2 的消息之后的数据文件和信息文件的内容。类 似于参考图 7 和 8 所描述的过程, 信息文件中的尾部字段和最后的自由分块的开始位置可 以分别被设置为 A 和 D。 0045 图 11 图示了由依据本发明一个实施例的。
49、方法、 设备和计算机程序所执行的示例 操作的示例流程图。将要理解的是, 该流程图中的每个框以及流程图中框的组合可以由各 种手段来实施, 诸如硬件、 固件、 处理器、 电路装置和 / 或与包括一个或多个计算机程序指 令的软件的执行相关联的其它设备。例如, 以上所描述的一个或多个过程可以由计算机程 序指令来实现。就此而言, 实现了以上所描述过程的计算机程序指令可以由采用本发明实 施例的存储器 40、 42 所存储并且由设备中的处理器 20 来执行。如将要意识到的, 任何这样 的计算机程序指令都可以被加载到计算机或其它可编程设备 (例如, 硬件) 上以生产机器, 以使得所产生的计算机或其它可编程设备实现提供在流程图的 (多个) 框中所指定的功能 的实现。这些计算机程序指令也可以存储在非瞬时性计算机可读存储存储器中, 其可以指 示计算机或其它可编程设备以特定方式工作, 以使得存储在计算机可读存储存储器中的指 令产生这样的制品, 该制品的执行在流程图中所指定的功能。计算机程序指令还可以被加 载到计算机或其它可编程设备上以产生要在计算机或其他可编程设备上实施的一系列操 作, 以使得在计算机或其它可编程设备上执行的指令。